vcomply-workflow-engine 2.5.6 → 2.5.7
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 +31 -8
- package/bundles/vcomply-workflow-engine.umd.js.map +1 -1
- package/esm2015/lib/sharedComponents/framework-list/framework-list-table/framework-list-table.component.js +2 -2
- package/esm2015/lib/sharedComponents/framework-list/framework-list-table/framework-list-table.component.ngfactory.js +12 -10
- package/esm2015/lib/sharedComponents/framework-list/framework-list.component.js +22 -4
- package/esm2015/lib/sharedComponents/framework-list/framework-responsibility-table/framework-responsibility-table.component.js +2 -2
- package/esm2015/lib/sharedComponents/framework-list/framework-responsibility-table/framework-responsibility-table.component.ngfactory.js +17 -16
- package/esm2015/lib/workflow-compliance/workflow-compliance.component.js +8 -3
- package/esm2015/lib/workflow-engine.module.ngfactory.js +1 -1
- package/esm2015/lib/workflow-risk/workflow-risk.component.js +2 -2
- package/esm2015/lib/workflow-risk/workflow-risk.component.ngfactory.js +2 -2
- package/fesm2015/vcomply-workflow-engine.js +31 -8
- package/fesm2015/vcomply-workflow-engine.js.map +1 -1
- package/package.json +1 -1
- package/vcomply-workflow-engine.metadata.json +1 -1
|
@@ -17,7 +17,7 @@ export class FrameworkListTableComponent {
|
|
|
17
17
|
FrameworkListTableComponent.decorators = [
|
|
18
18
|
{ type: Component, args: [{
|
|
19
19
|
selector: 'app-framework-list-table',
|
|
20
|
-
template: "<div class=\"framework-table-list\">\r\n <div class=\"table-header\">\r\n <div class=\"table-row\">\r\n <div class=\"table-column vx-fs-11 vx-fw-500 vx-lh-5 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-d-flex vx-align-center serial\">#</div>\r\n <div class=\"table-column vx-fs-11 vx-fw-500 vx-lh-5 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-d-flex vx-align-center name\">NAME</div>\r\n <div class=\"table-column vx-fs-11 vx-fw-500 vx-lh-5 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-d-flex vx-align-center total\">TOTAL</div>\r\n <div class=\"table-column vx-fs-11 vx-fw-500 vx-lh-5 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-d-flex vx-align-center assigned\">\r\n <!-- ASSIGNED -->\r\n </div>\r\n <div class=\"table-column vx-fs-11 vx-fw-500 vx-lh-5 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-d-flex vx-align-center unassigned\">\r\n <!-- UNASSIGNED -->\r\n </div>\r\n <div class=\"table-column vx-fs-11 vx-fw-500 vx-lh-5 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-d-flex vx-align-center action\"></div>\r\n </div>\r\n </div>\r\n <div class=\"table-body\">\r\n <lib-framework-table-loader *ngIf=\"loader\"></lib-framework-table-loader>\r\n <!-- when click on row then active class was true & radio was checked -->\r\n <ng-container *ngIf=\"!loader\">\r\n <div class=\"table-row\" (click)=\"selectFramework(framework)\" [class.row-clickable]=\"true\" [class.active]=\"currentFramework?.id==framework.id\" *ngFor=\"let framework of frameworksList?.data; let i = index;\">\r\n <div class=\"table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center serial\">\r\n <div class=\"sr-no\" [appTooltip]=\"i+frameworksList?.from\" placement=\"bottom\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"true\">{{i+frameworksList?.from}}</div>\r\n <app-cs-radio [checked]=\"currentFramework?.id==framework.id\"></app-cs-radio>\r\n </div>\r\n <div class=\"table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center name\">\r\n <div class=\"vx-d-block vx-w-100\">\r\n <div class=\"name-inner vx-fs-12 vx-label-txt vx-pr-5\" [appTooltip]=\"framework?.name\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"false\">{{framework?.name}}</div>\r\n <div class=\"within-part\" *ngIf=\"framework?.within?.length\">\r\n <span class=\"within-box\">Within</span>\r\n <span class=\"value\">\r\n <span [appTooltip]=\"child\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"false\" *ngFor=\"let child of framework?.within; let i = index\"> {{child}} <i class=\"icons\" *ngIf=\"i!=0\"></i></span>\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center total\">\r\n <div class=\"total-value vx-fs-10 vx-fw-500 vx-label-txt vx-pl-1 vx-pr-1 vx-lh-4\">{{framework?.totalControls}}</div>\r\n </div>\r\n <div class=\"table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center assigned\">\r\n <!-- <div class=\"assigned-value vx-fs-10 vx-fw-500 vx-label-txt vx-pl-1 vx-pr-1 vx-lh-4\">\r\n <span class=\"vx-pr-1 vx-mr-1 vx-d-inline-block\">{{framework?.assigned?.count}}</span> {{framework?.assigned?.percentage}}%\r\n </div> -->\r\n </div>\r\n <div class=\"table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center unassigned\">\r\n <!-- <div class=\"unassigned-value vx-fs-10 vx-fw-500 vx-label-txt vx-pl-1 vx-pr-1 vx-lh-4\">\r\n <span class=\"vx-pr-1 vx-mr-1 vx-d-inline-block\">{{framework?.unassigned?.count}}</span> {{framework?.unassigned?.percentage}}%\r\n </div> -->\r\n </div>\r\n <div class=\"table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center vx-justify-end action\">\r\n <button class=\"arrow vx-fs-12 vx-paragraph-txt vx-p-0 vx-m-0 vx-d-flex vx-align-center vx-justify-center\"><i class=\"icons\"></i></button>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n </div>\r\n</div>",
|
|
20
|
+
template: "<div class=\"framework-table-list\">\r\n <div class=\"table-header\" *ngIf=\"loader || frameworksList?.data?.length\">\r\n <div class=\"table-row\">\r\n <div class=\"table-column vx-fs-11 vx-fw-500 vx-lh-5 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-d-flex vx-align-center serial\">#</div>\r\n <div class=\"table-column vx-fs-11 vx-fw-500 vx-lh-5 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-d-flex vx-align-center name\">NAME</div>\r\n <div class=\"table-column vx-fs-11 vx-fw-500 vx-lh-5 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-d-flex vx-align-center total\">TOTAL</div>\r\n <div class=\"table-column vx-fs-11 vx-fw-500 vx-lh-5 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-d-flex vx-align-center assigned\">\r\n <!-- ASSIGNED -->\r\n </div>\r\n <div class=\"table-column vx-fs-11 vx-fw-500 vx-lh-5 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-d-flex vx-align-center unassigned\">\r\n <!-- UNASSIGNED -->\r\n </div>\r\n <div class=\"table-column vx-fs-11 vx-fw-500 vx-lh-5 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-d-flex vx-align-center action\"></div>\r\n </div>\r\n </div>\r\n <div class=\"table-body\">\r\n <lib-framework-table-loader *ngIf=\"loader\"></lib-framework-table-loader>\r\n <!-- when click on row then active class was true & radio was checked -->\r\n <ng-container *ngIf=\"!loader\">\r\n <div class=\"table-row\" (click)=\"selectFramework(framework)\" [class.row-clickable]=\"true\" [class.active]=\"currentFramework?.id==framework.id\" *ngFor=\"let framework of frameworksList?.data; let i = index;\">\r\n <div class=\"table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center serial\">\r\n <div class=\"sr-no\" [appTooltip]=\"i+frameworksList?.from\" placement=\"bottom\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"true\">{{i+frameworksList?.from}}</div>\r\n <app-cs-radio [checked]=\"currentFramework?.id==framework.id\"></app-cs-radio>\r\n </div>\r\n <div class=\"table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center name\">\r\n <div class=\"vx-d-block vx-w-100\">\r\n <div class=\"name-inner vx-fs-12 vx-label-txt vx-pr-5\" [appTooltip]=\"framework?.name\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"false\">{{framework?.name}}</div>\r\n <div class=\"within-part\" *ngIf=\"framework?.within?.length\">\r\n <span class=\"within-box\">Within</span>\r\n <span class=\"value\">\r\n <span [appTooltip]=\"child\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"false\" *ngFor=\"let child of framework?.within; let i = index\"> {{child}} <i class=\"icons\" *ngIf=\"i!=0\"></i></span>\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center total\">\r\n <div class=\"total-value vx-fs-10 vx-fw-500 vx-label-txt vx-pl-1 vx-pr-1 vx-lh-4\">{{framework?.totalControls}}</div>\r\n </div>\r\n <div class=\"table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center assigned\">\r\n <!-- <div class=\"assigned-value vx-fs-10 vx-fw-500 vx-label-txt vx-pl-1 vx-pr-1 vx-lh-4\">\r\n <span class=\"vx-pr-1 vx-mr-1 vx-d-inline-block\">{{framework?.assigned?.count}}</span> {{framework?.assigned?.percentage}}%\r\n </div> -->\r\n </div>\r\n <div class=\"table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center unassigned\">\r\n <!-- <div class=\"unassigned-value vx-fs-10 vx-fw-500 vx-label-txt vx-pl-1 vx-pr-1 vx-lh-4\">\r\n <span class=\"vx-pr-1 vx-mr-1 vx-d-inline-block\">{{framework?.unassigned?.count}}</span> {{framework?.unassigned?.percentage}}%\r\n </div> -->\r\n </div>\r\n <div class=\"table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center vx-justify-end action\">\r\n <button *ngIf=\"framework?.totalControls>0\" class=\"arrow vx-fs-12 vx-paragraph-txt vx-p-0 vx-m-0 vx-d-flex vx-align-center vx-justify-center\"><i class=\"icons\"></i></button>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n </div>\r\n</div>",
|
|
21
21
|
styles: ["@import url(\"https://cdn.v-comply.com/design-system/css/icons/icons.css\");@import url(\"https://cdn.v-comply.com/design-system/css/mixin/mixin.css\");@import url(\"https://cdn.v-comply.com/design-system/css/display/display.css\");@import url(\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\");@import url(\"https://cdn.v-comply.com/design-system/css/color/color.css\");@import url(\"https://cdn.v-comply.com/design-system/css/text/text.css\");@import url(\"https://cdn.v-comply.com/design-system/css/width/width.css\");@import url(\"https://cdn.v-comply.com/design-system/css/margin/margin.css\");@import url(\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\");@import url(\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\");@import url(\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\");@import url(\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\");@import url(\"https://cdn.v-comply.com/design-system/css/padding/padding.css\");@import url(\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\");@import url(\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\");@import url(\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\");@import url(\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\");::ng-deep .framework-table-list .table-header{background:#fff;border-radius:.125rem;position:sticky;top:0;z-index:1}::ng-deep .framework-table-list .table-header .table-column{line-height:1rem!important;min-height:1.875rem!important}::ng-deep .framework-table-list .table-body{position:relative}::ng-deep .framework-table-list .table-body .table-row{background:#fff;border-radius:.125rem;border:1px solid #f1f1f1;transition:all .2s ease-in-out;margin-bottom:.25rem}::ng-deep .framework-table-list .table-body .table-row:hover{transition:all .2s ease-in-out;box-shadow:0 3px 6px #00000029}::ng-deep .framework-table-list .table-body .table-row:hover .table-column.serial .sr-no{background:#fff;font-size:0}::ng-deep .framework-table-list .table-body .table-row:hover .table-column.serial app-cs-radio{opacity:1}::ng-deep .framework-table-list .table-body .table-row:hover .table-column.action button.arrow{color:#1e5dd3!important}::ng-deep .framework-table-list .table-body .table-row.active{border-color:#1e5dd3}::ng-deep .framework-table-list .table-body .table-row.active .table-column.serial .sr-no{background:#fff;font-size:0}::ng-deep .framework-table-list .table-body .table-row.active .table-column.serial app-cs-radio{opacity:1}::ng-deep .framework-table-list .table-row{display:flex;justify-content:space-between;position:relative}::ng-deep .framework-table-list .table-row.row-clickable{cursor:pointer}::ng-deep .framework-table-list .table-column{color:#747576;min-height:2.5rem;position:relative;width:100%}::ng-deep .framework-table-list .table-column i.info{color:#1e5dd3;cursor:pointer}::ng-deep .framework-table-list .table-column .sorting{cursor:pointer;position:relative;top:1px;left:-1px}::ng-deep .framework-table-list .table-column.serial{width:2.5rem;max-width:2.5rem;justify-content:center}::ng-deep .framework-table-list .table-column.serial .sr-no{width:1.25rem;background:#f8f8f8;-ms-writing-mode:tb-lr;writing-mode:vertical-lr;color:#747576;font-size:.625rem;font-weight:500;display:flex;height:2.5rem;align-items:center;justify-content:center;position:relative;transition:all .2s ease-in-out}::ng-deep .framework-table-list .table-column.serial app-cs-radio{position:absolute;top:.75rem;left:.75rem;width:1rem;height:1rem;opacity:0;transition:all .2s ease-in-out}::ng-deep .framework-table-list .table-column.serial app-cs-radio .radio-item{position:absolute}::ng-deep .framework-table-list .table-column.name{width:calc(100% - 23.5rem);min-width:calc(100% - 23.5rem)}::ng-deep .framework-table-list .table-column.name .name-inner{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::ng-deep .framework-table-list .table-column.total{width:4.5rem;min-width:4.5rem}::ng-deep .framework-table-list .table-column.total .total-value{border:1px solid #f1f1f1;border-radius:.125rem}::ng-deep .framework-table-list .table-column.assigned{width:7rem;min-width:7rem}::ng-deep .framework-table-list .table-column.assigned .assigned-value{border:1px solid #f1f1f1;border-radius:.125rem}::ng-deep .framework-table-list .table-column.assigned .assigned-value span{color:#34aa44;position:relative}::ng-deep .framework-table-list .table-column.assigned .assigned-value span:before{background:#f1f1f1;content:\"\";position:absolute;top:0;right:0;width:1px;height:100%}::ng-deep .framework-table-list .table-column.unassigned{width:7rem;min-width:7rem}::ng-deep .framework-table-list .table-column.unassigned .unassigned-value{border:1px solid #f1f1f1;border-radius:.125rem}::ng-deep .framework-table-list .table-column.unassigned .unassigned-value span{color:#f2bf19;position:relative}::ng-deep .framework-table-list .table-column.unassigned .unassigned-value span:before{background:#f1f1f1;content:\"\";position:absolute;top:0;right:0;width:1px;height:100%}::ng-deep .framework-table-list .table-column.action{width:2.5rem;min-width:2.5rem}::ng-deep .framework-table-list .table-column.action button.arrow,::ng-deep .framework-table-list .table-column.action button.more{background:transparent;border:none;border-radius:0}.within-part{display:flex;align-items:center;padding-right:12px}.within-part .value{text-overflow:ellipsis!important;white-space:nowrap!important;overflow:hidden!important;font-size:11px!important;color:#747576!important}.within-box{background:#f1f1f1;border-radius:2px;color:#042e7d;font-size:9px;font-weight:600;text-transform:uppercase;padding:0 4px;margin-right:8px;line-height:12px}"]
|
|
22
22
|
},] }
|
|
23
23
|
];
|
|
@@ -29,4 +29,4 @@ FrameworkListTableComponent.propDecorators = {
|
|
|
29
29
|
listLoader: [{ type: Input }],
|
|
30
30
|
selectedFramework: [{ type: Output }]
|
|
31
31
|
};
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJhbWV3b3JrLWxpc3QtdGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvc2hhcmVkQ29tcG9uZW50cy9mcmFtZXdvcmstbGlzdC9mcmFtZXdvcmstbGlzdC10YWJsZS9mcmFtZXdvcmstbGlzdC10YWJsZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBT3pHLE1BQU0sT0FBTywyQkFBMkI7SUFRdEM7UUFOUyxrQkFBYSxHQUFvQyxXQUFXLENBQUM7UUFJNUQsc0JBQWlCLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNqRCxXQUFNLEdBQVcsSUFBSSxDQUFDO0lBQ04sQ0FBQztJQUNqQixXQUFXLENBQUMsT0FBc0I7UUFDakMsSUFBSSxDQUFDLE1BQU0sR0FBSSxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ2hDLENBQUM7SUFDRCxRQUFRO0lBQ1IsQ0FBQztJQUVELGVBQWUsQ0FBQyxJQUFTO1FBQ3ZCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDcEMsQ0FBQzs7O1lBdEJGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsMEJBQTBCO2dCQUNwQyxpK0lBQW9EOzthQUVyRDs7Ozs2QkFFRSxLQUFLOzRCQUNMLEtBQUs7K0JBQ0wsS0FBSzt5QkFDTCxLQUFLO2dDQUVMLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uQ2hhbmdlcywgT25Jbml0LCBPdXRwdXQsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWZyYW1ld29yay1saXN0LXRhYmxlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZnJhbWV3b3JrLWxpc3QtdGFibGUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2ZyYW1ld29yay1saXN0LXRhYmxlLmNvbXBvbmVudC5sZXNzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIEZyYW1ld29ya0xpc3RUYWJsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcclxuICBASW5wdXQoKSBmcmFtZXdvcmtzTGlzdCE6IGFueTtcclxuICBASW5wdXQoKSBmcmFtZXdvcmtUeXBlOiAnZnJhbWV3b3JrJyB8ICdjaGlsZEZyYW1ld29ya3MnID0gJ2ZyYW1ld29yayc7XHJcbiAgQElucHV0KCkgY3VycmVudEZyYW1ld29yayE6IGFueTtcclxuICBASW5wdXQoKSBsaXN0TG9hZGVyITogYm9vbGVhbjtcclxuXHJcbiAgQE91dHB1dCgpIHNlbGVjdGVkRnJhbWV3b3JrID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIGxvYWRlcjpib29sZWFuID0gdHJ1ZTtcclxuICBjb25zdHJ1Y3RvcigpIHsgfVxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgdGhpcy5sb2FkZXIgPSAgdGhpcy5saXN0TG9hZGVyO1xyXG4gIH1cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICB9XHJcblxyXG4gIHNlbGVjdEZyYW1ld29yayhkYXRhOiBhbnkpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRGcmFtZXdvcmsuZW1pdChkYXRhKTtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==
|
|
@@ -16,9 +16,10 @@ import * as i8 from "./framework-list-table.component";
|
|
|
16
16
|
var styles_FrameworkListTableComponent = [i0.styles];
|
|
17
17
|
var RenderType_FrameworkListTableComponent = i1.ɵcrt({ encapsulation: 0, styles: styles_FrameworkListTableComponent, data: {} });
|
|
18
18
|
export { RenderType_FrameworkListTableComponent as RenderType_FrameworkListTableComponent };
|
|
19
|
-
function View_FrameworkListTableComponent_1(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, "
|
|
20
|
-
function
|
|
21
|
-
function
|
|
19
|
+
function View_FrameworkListTableComponent_1(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 10, "div", [["class", "table-header"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 9, "div", [["class", "table-row"]], null, null, null, null, null)), (_l()(), i1.ɵeld(2, 0, null, null, 1, "div", [["class", "table-column vx-fs-11 vx-fw-500 vx-lh-5 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-d-flex vx-align-center serial"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, ["#"])), (_l()(), i1.ɵeld(4, 0, null, null, 1, "div", [["class", "table-column vx-fs-11 vx-fw-500 vx-lh-5 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-d-flex vx-align-center name"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, ["NAME"])), (_l()(), i1.ɵeld(6, 0, null, null, 1, "div", [["class", "table-column vx-fs-11 vx-fw-500 vx-lh-5 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-d-flex vx-align-center total"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, ["TOTAL"])), (_l()(), i1.ɵeld(8, 0, null, null, 0, "div", [["class", "table-column vx-fs-11 vx-fw-500 vx-lh-5 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-d-flex vx-align-center assigned"]], null, null, null, null, null)), (_l()(), i1.ɵeld(9, 0, null, null, 0, "div", [["class", "table-column vx-fs-11 vx-fw-500 vx-lh-5 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-d-flex vx-align-center unassigned"]], null, null, null, null, null)), (_l()(), i1.ɵeld(10, 0, null, null, 0, "div", [["class", "table-column vx-fs-11 vx-fw-500 vx-lh-5 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-d-flex vx-align-center action"]], null, null, null, null, null))], null, null); }
|
|
20
|
+
function View_FrameworkListTableComponent_2(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, "lib-framework-table-loader", [], null, null, null, i2.View_FrameworkTableLoaderComponent_0, i2.RenderType_FrameworkTableLoaderComponent)), i1.ɵdid(1, 114688, null, 0, i3.FrameworkTableLoaderComponent, [], null, null)], function (_ck, _v) { _ck(_v, 1, 0); }, null); }
|
|
21
|
+
function View_FrameworkListTableComponent_7(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, "i", [["class", "icons"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, ["\uE96B"]))], null, null); }
|
|
22
|
+
function View_FrameworkListTableComponent_6(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 4, "span", [["delay", "0"], ["placement", "bottom-left"], ["type", "black"]], null, [[null, "mouseenter"], [null, "mouseover"], [null, "mouseleave"], [null, "mouseout"], [null, "click"]], function (_v, en, $event) { var ad = true; if (("mouseenter" === en)) {
|
|
22
23
|
var pd_0 = (i1.ɵnov(_v, 1).onMouseEnter() !== false);
|
|
23
24
|
ad = (pd_0 && ad);
|
|
24
25
|
} if (("mouseover" === en)) {
|
|
@@ -33,9 +34,10 @@ function View_FrameworkListTableComponent_5(_l) { return i1.ɵvid(0, [(_l()(), i
|
|
|
33
34
|
} if (("click" === en)) {
|
|
34
35
|
var pd_4 = (i1.ɵnov(_v, 1).onClick() !== false);
|
|
35
36
|
ad = (pd_4 && ad);
|
|
36
|
-
} return ad; }, null, null)), i1.ɵdid(1, 81920, null, 0, i4.ToolTipDirective, [i1.ElementRef, i1.Renderer2], { tooltipTitle: [0, "tooltipTitle"], placement: [1, "placement"], type: [2, "type"], tooltipMandatory: [3, "tooltipMandatory"] }, null), (_l()(), i1.ɵted(2, null, [" ", " "])), (_l()(), i1.ɵand(16777216, null, null, 1, null,
|
|
37
|
-
function
|
|
38
|
-
function
|
|
37
|
+
} return ad; }, null, null)), i1.ɵdid(1, 81920, null, 0, i4.ToolTipDirective, [i1.ElementRef, i1.Renderer2], { tooltipTitle: [0, "tooltipTitle"], placement: [1, "placement"], type: [2, "type"], tooltipMandatory: [3, "tooltipMandatory"] }, null), (_l()(), i1.ɵted(2, null, [" ", " "])), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_FrameworkListTableComponent_7)), i1.ɵdid(4, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, "ngIf"] }, null)], function (_ck, _v) { var currVal_0 = _v.context.$implicit; var currVal_1 = "bottom-left"; var currVal_2 = "black"; var currVal_3 = false; _ck(_v, 1, 0, currVal_0, currVal_1, currVal_2, currVal_3); var currVal_5 = (_v.context.index != 0); _ck(_v, 4, 0, currVal_5); }, function (_ck, _v) { var currVal_4 = _v.context.$implicit; _ck(_v, 2, 0, currVal_4); }); }
|
|
38
|
+
function View_FrameworkListTableComponent_5(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 5, "div", [["class", "within-part"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, "span", [["class", "within-box"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, ["Within"])), (_l()(), i1.ɵeld(3, 0, null, null, 2, "span", [["class", "value"]], null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_FrameworkListTableComponent_6)), i1.ɵdid(5, 278528, null, 0, i5.NgForOf, [i1.ViewContainerRef, i1.TemplateRef, i1.IterableDiffers], { ngForOf: [0, "ngForOf"] }, null)], function (_ck, _v) { var currVal_0 = ((_v.parent.context.$implicit == null) ? null : _v.parent.context.$implicit.within); _ck(_v, 5, 0, currVal_0); }, null); }
|
|
39
|
+
function View_FrameworkListTableComponent_8(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 2, "button", [["class", "arrow vx-fs-12 vx-paragraph-txt vx-p-0 vx-m-0 vx-d-flex vx-align-center vx-justify-center"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, "i", [["class", "icons"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, ["\uE970"]))], null, null); }
|
|
40
|
+
function View_FrameworkListTableComponent_4(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 21, "div", [["class", "table-row"]], [[2, "row-clickable", null], [2, "active", null]], [[null, "click"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if (("click" === en)) {
|
|
39
41
|
var pd_0 = (_co.selectFramework(_v.context.$implicit) !== false);
|
|
40
42
|
ad = (pd_0 && ad);
|
|
41
43
|
} return ad; }, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 5, "div", [["class", "table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center serial"]], null, null, null, null, null)), (_l()(), i1.ɵeld(2, 0, null, null, 2, "div", [["class", "sr-no"], ["delay", "0"], ["placement", "bottom"], ["type", "black"]], null, [[null, "mouseenter"], [null, "mouseover"], [null, "mouseleave"], [null, "mouseout"], [null, "click"]], function (_v, en, $event) { var ad = true; if (("mouseenter" === en)) {
|
|
@@ -68,10 +70,10 @@ function View_FrameworkListTableComponent_3(_l) { return i1.ɵvid(0, [(_l()(), i
|
|
|
68
70
|
} if (("click" === en)) {
|
|
69
71
|
var pd_4 = (i1.ɵnov(_v, 10).onClick() !== false);
|
|
70
72
|
ad = (pd_4 && ad);
|
|
71
|
-
} return ad; }, null, null)), i1.ɵdid(10, 81920, null, 0, i4.ToolTipDirective, [i1.ElementRef, i1.Renderer2], { tooltipTitle: [0, "tooltipTitle"], placement: [1, "placement"], type: [2, "type"], tooltipMandatory: [3, "tooltipMandatory"] }, null), (_l()(), i1.ɵted(11, null, ["", ""])), (_l()(), i1.ɵand(16777216, null, null, 1, null,
|
|
72
|
-
function
|
|
73
|
-
export function View_FrameworkListTableComponent_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null,
|
|
73
|
+
} return ad; }, null, null)), i1.ɵdid(10, 81920, null, 0, i4.ToolTipDirective, [i1.ElementRef, i1.Renderer2], { tooltipTitle: [0, "tooltipTitle"], placement: [1, "placement"], type: [2, "type"], tooltipMandatory: [3, "tooltipMandatory"] }, null), (_l()(), i1.ɵted(11, null, ["", ""])), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_FrameworkListTableComponent_5)), i1.ɵdid(13, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, "ngIf"] }, null), (_l()(), i1.ɵeld(14, 0, null, null, 2, "div", [["class", "table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center total"]], null, null, null, null, null)), (_l()(), i1.ɵeld(15, 0, null, null, 1, "div", [["class", "total-value vx-fs-10 vx-fw-500 vx-label-txt vx-pl-1 vx-pr-1 vx-lh-4"]], null, null, null, null, null)), (_l()(), i1.ɵted(16, null, ["", ""])), (_l()(), i1.ɵeld(17, 0, null, null, 0, "div", [["class", "table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center assigned"]], null, null, null, null, null)), (_l()(), i1.ɵeld(18, 0, null, null, 0, "div", [["class", "table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center unassigned"]], null, null, null, null, null)), (_l()(), i1.ɵeld(19, 0, null, null, 2, "div", [["class", "table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center vx-justify-end action"]], null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_FrameworkListTableComponent_8)), i1.ɵdid(21, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, "ngIf"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_2 = (_v.context.index + ((_co.frameworksList == null) ? null : _co.frameworksList.from)); var currVal_3 = "bottom"; var currVal_4 = "black"; var currVal_5 = true; _ck(_v, 3, 0, currVal_2, currVal_3, currVal_4, currVal_5); var currVal_7 = (((_co.currentFramework == null) ? null : _co.currentFramework.id) == _v.context.$implicit.id); _ck(_v, 6, 0, currVal_7); var currVal_8 = ((_v.context.$implicit == null) ? null : _v.context.$implicit.name); var currVal_9 = "bottom-left"; var currVal_10 = "black"; var currVal_11 = false; _ck(_v, 10, 0, currVal_8, currVal_9, currVal_10, currVal_11); var currVal_13 = ((_v.context.$implicit == null) ? null : ((_v.context.$implicit.within == null) ? null : _v.context.$implicit.within.length)); _ck(_v, 13, 0, currVal_13); var currVal_15 = (((_v.context.$implicit == null) ? null : _v.context.$implicit.totalControls) > 0); _ck(_v, 21, 0, currVal_15); }, function (_ck, _v) { var _co = _v.component; var currVal_0 = true; var currVal_1 = (((_co.currentFramework == null) ? null : _co.currentFramework.id) == _v.context.$implicit.id); _ck(_v, 0, 0, currVal_0, currVal_1); var currVal_6 = (_v.context.index + ((_co.frameworksList == null) ? null : _co.frameworksList.from)); _ck(_v, 4, 0, currVal_6); var currVal_12 = ((_v.context.$implicit == null) ? null : _v.context.$implicit.name); _ck(_v, 11, 0, currVal_12); var currVal_14 = ((_v.context.$implicit == null) ? null : _v.context.$implicit.totalControls); _ck(_v, 16, 0, currVal_14); }); }
|
|
74
|
+
function View_FrameworkListTableComponent_3(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 2, null, null, null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_FrameworkListTableComponent_4)), i1.ɵdid(2, 278528, null, 0, i5.NgForOf, [i1.ViewContainerRef, i1.TemplateRef, i1.IterableDiffers], { ngForOf: [0, "ngForOf"] }, null), (_l()(), i1.ɵand(0, null, null, 0))], function (_ck, _v) { var _co = _v.component; var currVal_0 = ((_co.frameworksList == null) ? null : _co.frameworksList.data); _ck(_v, 2, 0, currVal_0); }, null); }
|
|
75
|
+
export function View_FrameworkListTableComponent_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 7, "div", [["class", "framework-table-list"]], null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_FrameworkListTableComponent_1)), i1.ɵdid(2, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, "ngIf"] }, null), (_l()(), i1.ɵeld(3, 0, null, null, 4, "div", [["class", "table-body"]], null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_FrameworkListTableComponent_2)), i1.ɵdid(5, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, "ngIf"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_FrameworkListTableComponent_3)), i1.ɵdid(7, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, "ngIf"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_0 = (_co.loader || ((_co.frameworksList == null) ? null : ((_co.frameworksList.data == null) ? null : _co.frameworksList.data.length))); _ck(_v, 2, 0, currVal_0); var currVal_1 = _co.loader; _ck(_v, 5, 0, currVal_1); var currVal_2 = !_co.loader; _ck(_v, 7, 0, currVal_2); }, null); }
|
|
74
76
|
export function View_FrameworkListTableComponent_Host_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, "app-framework-list-table", [], null, null, null, View_FrameworkListTableComponent_0, RenderType_FrameworkListTableComponent)), i1.ɵdid(1, 638976, null, 0, i8.FrameworkListTableComponent, [], null, null)], function (_ck, _v) { _ck(_v, 1, 0); }, null); }
|
|
75
77
|
var FrameworkListTableComponentNgFactory = i1.ɵccf("app-framework-list-table", i8.FrameworkListTableComponent, View_FrameworkListTableComponent_Host_0, { frameworksList: "frameworksList", frameworkType: "frameworkType", currentFramework: "currentFramework", listLoader: "listLoader" }, { selectedFramework: "selectedFramework" }, []);
|
|
76
78
|
export { FrameworkListTableComponentNgFactory as FrameworkListTableComponentNgFactory };
|
|
77
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
79
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJhbWV3b3JrLWxpc3QtdGFibGUuY29tcG9uZW50Lm5nZmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3NoYXJlZENvbXBvbmVudHMvZnJhbWV3b3JrLWxpc3QvZnJhbWV3b3JrLWxpc3QtdGFibGUvZnJhbWV3b3JrLWxpc3QtdGFibGUuY29tcG9uZW50Lm5nZmFjdG9yeS50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3NoYXJlZENvbXBvbmVudHMvZnJhbWV3b3JrLWxpc3QvZnJhbWV3b3JrLWxpc3QtdGFibGUvZnJhbWV3b3JrLWxpc3QtdGFibGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7O3NFQ0NJLHNHQWFNLEtBWkYsa0dBV00sS0FWRixpTUFBNkgsS0FBUCw4QkFBQyxNQUN2SCwrTEFBOEgsS0FBVixpQ0FBSSxNQUN4SCxnTUFBZ0ksS0FBWCxrQ0FBSyxNQUMxSCxtTUFFTSxLQUNOLHFNQUVNLEtBQ04sa01BQTRIO3NFQUloSSxrU0FBd0U7c0VBY2lILDRGQUEwQyxLQUFaLG1DQUFRO3NFQUE3TTs7Ozs7Ozs7Ozs7Ozs7O3VQQUF3TixJQUE1RCxrQ0FBVyxNQUFBLDJMQUEwQyx5QkFBM00sa0JBQW9CLG9CQUFDLDZCQUF1QixFQUFXLHVCQUFZLEVBQUMscUJBQTBCLEVBQXBHLFlBQXdOLEVBQWxOLFNBQW9CLEVBQUMsU0FBdUIsRUFBVyxTQUFZLEVBQUMsU0FBMEIsR0FBb0Ysc0NBQVksR0FBN0IsWUFBMEMsRUFBekIsU0FBWSwyQkFBeEMsNkRBQVc7c0VBSDdLLG9HQUtNLEtBSkYsb0dBQXNDLEtBQWIsbUNBQU0sTUFDL0IsK0ZBRU8sS0FETCx5TkFBd04seUJBQW5ILGtFQUFzRCxtQ0FBM0osWUFBd04sRUFBbkgsU0FBc0Q7c0VBbUJqSyxxTEFBbUwsS0FBdEMsNEZBQTZCLEtBQVosbUNBQVE7c0VBOUI5SyxvTUFnQ00sWUFoQ2lCOzt3QkFBb0M7TUFBM0Qsd0JBZ0NNLEtBL0JGLHNKQUdNLEtBRkY7Ozs7Ozs7Ozs7Ozs7Ozt1UEFBNkosSUFBaEMsZ0NBQTBCLE1BQ3ZKLCtOQUE0RSxJQUVoRixvSkFVTSxLQVRGLDRHQVFFLEtBUEY7Ozs7Ozs7Ozs7Ozs7Ozt3UEFBd0wsSUFBekIsaUNBQW1CLE1BQ2xMLDRMQUtNLElBR1Ysc0pBRU0sS0FERiw2SkFBbUgsS0FBbEMsaUNBQTRCLE1BRWpILHlKQUlNLEtBQ04sMkpBSU0sS0FDTixzS0FFTSxLQURGLDRMQUFtTCxpREE1QmhLLDhFQUFxQyx3QkFBQyx3QkFBa0IsRUFBVyx1QkFBWSxFQUFDLG9CQUF5QixFQUE1SCxZQUE2SixFQUExSSxTQUFxQyxFQUFDLFNBQWtCLEVBQVcsU0FBWSxFQUFDLFNBQXlCLEdBQzlHLHdGQUE4Qyx3QkFBNUQsWUFBNEUsRUFBOUQsU0FBOEMsR0FJTiwyREFBOEIsMEJBQUMsNkJBQXVCLEVBQVcsd0JBQVksRUFBQyxzQkFBMEIsRUFBOUosYUFBd0wsRUFBbEksU0FBOEIsRUFBQyxTQUF1QixFQUFXLFVBQVksRUFBQyxVQUEwQixHQUNySSw0R0FBaUMsb0NBQTFELGFBS00sRUFMbUIsVUFBaUMsR0FzQmxELGtHQUFrQyxHQUExQyxhQUFtTCxFQUEzSyxVQUFrQyxtREE5QlUsb0JBQTRCLEVBQUMsd0ZBQW1ELHdCQUE1SSxZQWdDTSxFQWhDc0QsU0FBNEIsRUFBQyxTQUFtRCxHQUVQLDZIQUEwQixHQUtRLCtHQUFtQixHQVVqRyx3SEFBNEI7c0VBbEJ6SCw2RUFrQ2UsS0FqQ1gseU5BZ0NNLHNGQWhDdUksMERBQThELHVCQUEzTSxZQWdDTSxFQWhDdUksU0FBOEQ7NkVBbkJ2Tiw2R0F1RE0sS0F0REYsMkxBYU0sSUFDTixtR0F1Q00sS0F0Q0YsMkxBQXdFLElBRXhFLDJMQWtDZSxpREFuRE8scUhBQThDLGdDQUF4RSxZQWFNLEVBYm9CLFNBQThDLEdBZXhDLG1CQUFjLFNBQTFDLFlBQXdFLEVBQTVDLFNBQWMsR0FFNUIsb0JBQWUsU0FBN0IsWUFrQ2UsRUFsQ0QsU0FBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGkwIGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaTAuQ29tcG9uZW50RmFjdG9yeTtcbiIsIjxkaXYgY2xhc3M9XCJmcmFtZXdvcmstdGFibGUtbGlzdFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cInRhYmxlLWhlYWRlclwiICpuZ0lmPVwibG9hZGVyIHx8IGZyYW1ld29ya3NMaXN0Py5kYXRhPy5sZW5ndGhcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtcm93XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1jb2x1bW4gdngtZnMtMTEgdngtZnctNTAwIHZ4LWxoLTUgdngtdHQtdXBwZXJjYXNlIHZ4LXBsLTEgdngtcHItMSB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHNlcmlhbFwiPiM8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLWNvbHVtbiB2eC1mcy0xMSB2eC1mdy01MDAgdngtbGgtNSB2eC10dC11cHBlcmNhc2UgdngtcGwtMSB2eC1wci0xIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgbmFtZVwiPk5BTUU8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLWNvbHVtbiB2eC1mcy0xMSB2eC1mdy01MDAgdngtbGgtNSB2eC10dC11cHBlcmNhc2UgdngtcGwtMSB2eC1wci0xIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdG90YWxcIj5UT1RBTDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtY29sdW1uIHZ4LWZzLTExIHZ4LWZ3LTUwMCB2eC1saC01IHZ4LXR0LXVwcGVyY2FzZSB2eC1wbC0xIHZ4LXByLTEgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciBhc3NpZ25lZFwiPlxyXG4gICAgICAgICAgICAgICAgPCEtLSBBU1NJR05FRCAtLT5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1jb2x1bW4gdngtZnMtMTEgdngtZnctNTAwIHZ4LWxoLTUgdngtdHQtdXBwZXJjYXNlIHZ4LXBsLTEgdngtcHItMSB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHVuYXNzaWduZWRcIj5cclxuICAgICAgICAgICAgICAgIDwhLS0gVU5BU1NJR05FRCAtLT5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1jb2x1bW4gdngtZnMtMTEgdngtZnctNTAwIHZ4LWxoLTUgdngtdHQtdXBwZXJjYXNlIHZ4LXBsLTEgdngtcHItMSB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIGFjdGlvblwiPjwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwidGFibGUtYm9keVwiPlxyXG4gICAgICAgIDxsaWItZnJhbWV3b3JrLXRhYmxlLWxvYWRlciAqbmdJZj1cImxvYWRlclwiPjwvbGliLWZyYW1ld29yay10YWJsZS1sb2FkZXI+XHJcbiAgICAgICAgPCEtLSB3aGVuIGNsaWNrIG9uIHJvdyB0aGVuIGFjdGl2ZSBjbGFzcyB3YXMgdHJ1ZSAmIHJhZGlvIHdhcyBjaGVja2VkIC0tPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhbG9hZGVyXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1yb3dcIiAoY2xpY2spPVwic2VsZWN0RnJhbWV3b3JrKGZyYW1ld29yaylcIiBbY2xhc3Mucm93LWNsaWNrYWJsZV09XCJ0cnVlXCIgW2NsYXNzLmFjdGl2ZV09XCJjdXJyZW50RnJhbWV3b3JrPy5pZD09ZnJhbWV3b3JrLmlkXCIgKm5nRm9yPVwibGV0IGZyYW1ld29yayBvZiBmcmFtZXdvcmtzTGlzdD8uZGF0YTsgbGV0IGkgPSBpbmRleDtcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1jb2x1bW4gdngtcGwtMSB2eC1wci0xIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgc2VyaWFsXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNyLW5vXCIgW2FwcFRvb2x0aXBdPVwiaStmcmFtZXdvcmtzTGlzdD8uZnJvbVwiIHBsYWNlbWVudD1cImJvdHRvbVwiIGRlbGF5PVwiMFwiIHR5cGU9XCJibGFja1wiIFt0b29sdGlwTWFuZGF0b3J5XT1cInRydWVcIj57e2krZnJhbWV3b3Jrc0xpc3Q/LmZyb219fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxhcHAtY3MtcmFkaW8gW2NoZWNrZWRdPVwiY3VycmVudEZyYW1ld29yaz8uaWQ9PWZyYW1ld29yay5pZFwiPjwvYXBwLWNzLXJhZGlvPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtY29sdW1uIHZ4LXBsLTEgdngtcHItMSB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIG5hbWVcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidngtZC1ibG9jayB2eC13LTEwMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJuYW1lLWlubmVyIHZ4LWZzLTEyIHZ4LWxhYmVsLXR4dCB2eC1wci01XCIgW2FwcFRvb2x0aXBdPVwiZnJhbWV3b3JrPy5uYW1lXCIgcGxhY2VtZW50PVwiYm90dG9tLWxlZnRcIiBkZWxheT1cIjBcIiB0eXBlPVwiYmxhY2tcIiBbdG9vbHRpcE1hbmRhdG9yeV09XCJmYWxzZVwiPnt7ZnJhbWV3b3JrPy5uYW1lfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid2l0aGluLXBhcnRcIiAqbmdJZj1cImZyYW1ld29yaz8ud2l0aGluPy5sZW5ndGhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ3aXRoaW4tYm94XCI+V2l0aGluPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInZhbHVlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gW2FwcFRvb2x0aXBdPVwiY2hpbGRcIiBwbGFjZW1lbnQ9XCJib3R0b20tbGVmdFwiIGRlbGF5PVwiMFwiIHR5cGU9XCJibGFja1wiIFt0b29sdGlwTWFuZGF0b3J5XT1cImZhbHNlXCIgKm5nRm9yPVwibGV0IGNoaWxkIG9mIGZyYW1ld29yaz8ud2l0aGluOyBsZXQgaSA9IGluZGV4XCI+IHt7Y2hpbGR9fSA8aSBjbGFzcz1cImljb25zXCIgKm5nSWY9XCJpIT0wXCI+JiN4ZTk2Yjs8L2k+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLWNvbHVtbiB2eC1wbC0xIHZ4LXByLTEgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB0b3RhbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0b3RhbC12YWx1ZSB2eC1mcy0xMCB2eC1mdy01MDAgdngtbGFiZWwtdHh0IHZ4LXBsLTEgdngtcHItMSB2eC1saC00XCI+e3tmcmFtZXdvcms/LnRvdGFsQ29udHJvbHN9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtY29sdW1uIHZ4LXBsLTEgdngtcHItMSB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIGFzc2lnbmVkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwiYXNzaWduZWQtdmFsdWUgdngtZnMtMTAgdngtZnctNTAwIHZ4LWxhYmVsLXR4dCB2eC1wbC0xIHZ4LXByLTEgdngtbGgtNFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInZ4LXByLTEgdngtbXItMSB2eC1kLWlubGluZS1ibG9ja1wiPnt7ZnJhbWV3b3JrPy5hc3NpZ25lZD8uY291bnR9fTwvc3Bhbj4ge3tmcmFtZXdvcms/LmFzc2lnbmVkPy5wZXJjZW50YWdlfX0lXHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+IC0tPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtY29sdW1uIHZ4LXBsLTEgdngtcHItMSB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHVuYXNzaWduZWRcIj5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIDxkaXYgY2xhc3M9XCJ1bmFzc2lnbmVkLXZhbHVlIHZ4LWZzLTEwIHZ4LWZ3LTUwMCB2eC1sYWJlbC10eHQgdngtcGwtMSB2eC1wci0xIHZ4LWxoLTRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2eC1wci0xIHZ4LW1yLTEgdngtZC1pbmxpbmUtYmxvY2tcIj57e2ZyYW1ld29yaz8udW5hc3NpZ25lZD8uY291bnR9fTwvc3Bhbj4ge3tmcmFtZXdvcms/LnVuYXNzaWduZWQ/LnBlcmNlbnRhZ2V9fSVcclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gLS0+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1jb2x1bW4gdngtcGwtMSB2eC1wci0xIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtanVzdGlmeS1lbmQgYWN0aW9uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiAqbmdJZj1cImZyYW1ld29yaz8udG90YWxDb250cm9scz4wXCIgY2xhc3M9XCJhcnJvdyB2eC1mcy0xMiB2eC1wYXJhZ3JhcGgtdHh0IHZ4LXAtMCB2eC1tLTAgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWNlbnRlclwiPjxpIGNsYXNzPVwiaWNvbnNcIj4mI3hlOTcwOzwvaT48L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+Il19
|
|
@@ -238,6 +238,7 @@ export class FrameworkListComponent {
|
|
|
238
238
|
});
|
|
239
239
|
}
|
|
240
240
|
changePage(event, type) {
|
|
241
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
241
242
|
switch (type) {
|
|
242
243
|
case 'frameworks':
|
|
243
244
|
this.frameworkData.currentPage = event;
|
|
@@ -249,11 +250,17 @@ export class FrameworkListComponent {
|
|
|
249
250
|
break;
|
|
250
251
|
case 'responsibilities':
|
|
251
252
|
this.responsibilitiesList.currentPage = event;
|
|
252
|
-
this.
|
|
253
|
+
if (((_c = (_b = (_a = this.selectedValues) === null || _a === void 0 ? void 0 : _a.framework) === null || _b === void 0 ? void 0 : _b.parent_list_details) === null || _c === void 0 ? void 0 : _c.length) == 0 && ((_e = (_d = this.selectedValues) === null || _d === void 0 ? void 0 : _d.framework) === null || _e === void 0 ? void 0 : _e.child_list_details.length) == 0 && ((_g = (_f = this.selectedValues) === null || _f === void 0 ? void 0 : _f.framework) === null || _g === void 0 ? void 0 : _g.totalControls) > 0) {
|
|
254
|
+
this.getResponsibilities(this.selectedValues.framework._id);
|
|
255
|
+
}
|
|
256
|
+
else {
|
|
257
|
+
this.getSubCategories(this.selectedValues.categories._id);
|
|
258
|
+
}
|
|
253
259
|
break;
|
|
254
260
|
}
|
|
255
261
|
}
|
|
256
262
|
searchBy(event, type) {
|
|
263
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
257
264
|
switch (type) {
|
|
258
265
|
case 'framework':
|
|
259
266
|
if (this.searchText.frameWork != event) {
|
|
@@ -271,7 +278,12 @@ export class FrameworkListComponent {
|
|
|
271
278
|
case 'responsibilities':
|
|
272
279
|
if (this.searchText.responsibility != event) {
|
|
273
280
|
this.searchText.responsibility = event;
|
|
274
|
-
this.
|
|
281
|
+
if (((_c = (_b = (_a = this.selectedValues) === null || _a === void 0 ? void 0 : _a.framework) === null || _b === void 0 ? void 0 : _b.parent_list_details) === null || _c === void 0 ? void 0 : _c.length) == 0 && ((_e = (_d = this.selectedValues) === null || _d === void 0 ? void 0 : _d.framework) === null || _e === void 0 ? void 0 : _e.child_list_details.length) == 0 && ((_g = (_f = this.selectedValues) === null || _f === void 0 ? void 0 : _f.framework) === null || _g === void 0 ? void 0 : _g.totalControls) > 0) {
|
|
282
|
+
this.getResponsibilities(this.selectedValues.framework._id);
|
|
283
|
+
}
|
|
284
|
+
else {
|
|
285
|
+
this.getSubCategories(this.selectedValues.categories._id);
|
|
286
|
+
}
|
|
275
287
|
}
|
|
276
288
|
break;
|
|
277
289
|
}
|
|
@@ -319,6 +331,7 @@ export class FrameworkListComponent {
|
|
|
319
331
|
}
|
|
320
332
|
}
|
|
321
333
|
goBack() {
|
|
334
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
322
335
|
switch (this.currentList) {
|
|
323
336
|
case 'framework':
|
|
324
337
|
this.closeFramework.emit();
|
|
@@ -327,7 +340,12 @@ export class FrameworkListComponent {
|
|
|
327
340
|
this.currentList = 'framework';
|
|
328
341
|
break;
|
|
329
342
|
case 'responsibilities':
|
|
330
|
-
this.
|
|
343
|
+
if (((_c = (_b = (_a = this.selectedValues) === null || _a === void 0 ? void 0 : _a.framework) === null || _b === void 0 ? void 0 : _b.parent_list_details) === null || _c === void 0 ? void 0 : _c.length) == 0 && ((_e = (_d = this.selectedValues) === null || _d === void 0 ? void 0 : _d.framework) === null || _e === void 0 ? void 0 : _e.child_list_details.length) == 0 && ((_g = (_f = this.selectedValues) === null || _f === void 0 ? void 0 : _f.framework) === null || _g === void 0 ? void 0 : _g.totalControls) > 0) {
|
|
344
|
+
this.currentList = 'framework';
|
|
345
|
+
}
|
|
346
|
+
else {
|
|
347
|
+
this.currentList = 'categories';
|
|
348
|
+
}
|
|
331
349
|
break;
|
|
332
350
|
default:
|
|
333
351
|
break;
|
|
@@ -395,4 +413,4 @@ FrameworkListComponent.propDecorators = {
|
|
|
395
413
|
searchfield: [{ type: ViewChild, args: ['searchField',] }],
|
|
396
414
|
searchCategory: [{ type: ViewChild, args: ['searchCategory',] }]
|
|
397
415
|
};
|
|
398
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJhbWV3b3JrLWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvc2hhcmVkQ29tcG9uZW50cy9mcmFtZXdvcmstbGlzdC9mcmFtZXdvcmstbGlzdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFpQixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEgsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFTdkYsTUFBTSxPQUFPLHNCQUFzQjtJQW1HakMsWUFBb0IscUJBQTRDO1FBQTVDLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7UUFsR2hFLGVBQVUsR0FBVSxFQUFFLENBQUM7UUFDdkIsV0FBTSxHQUFHLEVBQUUsQ0FBQztRQUNaLGVBQVUsR0FBRyxJQUFJLENBQUM7UUFDbEIsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUNsQixlQUFVLEdBQVcsRUFBRSxDQUFBO1FBRWIscUJBQWdCLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUN0QyxtQkFBYyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDcEMsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBRTdDLHNCQUFpQixHQUFHO1lBQ2xCLElBQUksRUFBRSxDQUFDO1lBQ1AsRUFBRSxFQUFFLENBQUM7WUFDTCxXQUFXLEVBQUUsQ0FBQztZQUNkLFVBQVUsRUFBRSxDQUFDO1lBQ2IsWUFBWSxFQUFFLENBQUM7WUFDZixJQUFJLEVBQUUsRUFBRTtTQUNULENB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b21tb24vaHR0cCc7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPbkluaXQsIE91dHB1dCwgU2ltcGxlQ2hhbmdlcywgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBSZXNwb25zaWJpbGl0eVNlcnZpY2UgfSBmcm9tICcuLi8uLi93b3JrZmxvdy1zZXJ2aWNlcy9yZXNwb25zaWJpbGl0eS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU2VsZWN0ZWRJZHMsIFNlbGVjdGVkVmFsdWVzIH0gZnJvbSAnLi9mcmFtZXdvcmstaW50ZWdyYXRpb24taW50ZXJmYWNlcyc7XHJcbmltcG9ydCB7IFBhcmVudFRhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi9wYXJlbnQtdGFibGUvcGFyZW50LXRhYmxlLmNvbXBvbmVudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1mcmFtZXdvcmstbGlzdCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2ZyYW1ld29yay1saXN0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9mcmFtZXdvcmstbGlzdC5jb21wb25lbnQubGVzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGcmFtZXdvcmtMaXN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xyXG4gIGJyZWFkQ3J1bWI6IGFueVtdID0gW107XHJcbiAgc2VhcmNoID0gJyc7XHJcbiAgc2hvd1BhcmVudCA9IHRydWU7XHJcbiAgc2hvd0NoaWxkID0gZmFsc2U7XHJcbiAgcGFyZW50RGF0YTogb2JqZWN0ID0ge31cclxuICBAVmlld0NoaWxkKCdwYXJlbnRUYWJsZScpIHRhYmxlQ29tcG9uZW50ITogUGFyZW50VGFibGVDb21wb25lbnQ7XHJcbiAgQE91dHB1dCgpIGVudHJ1c3RGcmFtZXdvcmsgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIGNsb3NlRnJhbWV3b3JrID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBhc3NpZ25Db250cm9sID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBJbnB1dCgpIHByZXZpb3VzU2VsZWN0ZWRWYWx1ZXMhOiBhbnk7XHJcbiAgc3ViQ2F0ZWdvcmllc0xpc3QgPSB7XHJcbiAgICBmcm9tOiAxLFxyXG4gICAgdG86IDAsXHJcbiAgICBjdXJyZW50UGFnZTogMSxcclxuICAgIHRvdGFsUGFnZXM6IDAsXHJcbiAgICB0b3RhbFJlY29yZHM6IDAsXHJcbiAgICBkYXRhOiBbXSxcclxuICB9O1xyXG4gIHJlc3BvbnNpYmlsaXRpZXNMaXN0ID0ge1xyXG4gICAgZnJvbTogMSxcclxuICAgIHRvOiAwLFxyXG4gICAgY3VycmVudFBhZ2U6IDEsXHJcbiAgICB0b3RhbFBhZ2VzOiAwLFxyXG4gICAgdG90YWxSZWNvcmRzOiAwLFxyXG4gICAgZGF0YTogW10sXHJcbiAgfTtcclxuXHJcbiAgc2VhcmNoVGV4dCA9IHtcclxuICAgIGZyYW1lV29yazogJycsXHJcbiAgICBjYXRlZ29yeTogJycsXHJcbiAgICByZXNwb25zaWJpbGl0eTogJycsXHJcbiAgfVxyXG5cclxuICBzZWxlY3RlZFZhbHVlczogU2VsZWN0ZWRWYWx1ZXMgPSB7XHJcbiAgICBmcmFtZXdvcms6IHt9LFxyXG4gICAgY2F0ZWdvcmllczoge30sXHJcbiAgICByZXNwb25zaWJpbGl0aWVzOiB7fVxyXG4gIH1cclxuXHJcblxyXG4gIHN1Ym1pc3Npb25Mb2FkZXIgPSBmYWxzZTtcclxuICBjdXJyZW50Q2F0ZWdvcnk6IGFueSA9IHt9O1xyXG5cclxuICBASW5wdXQoKSBwb2xpY3k6IGFueSA9IHt9XHJcbiAgLy8gQE91dHB1dCgpIGNoYW5nZVRhYiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgY3VycmVudEJ1c2luZXNzQ3ljbGUhOiBhbnk7XHJcbiAgbG9hZGVyID0gZmFsc2U7XHJcbiAgdW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdCgpO1xyXG5cclxuICAvL3Byb2dyYW1cclxuICBzdWJMaXN0ID0gZmFsc2U7XHJcbiAgQElucHV0KCkgZnJhbWVXb3JrTGlzdDogYW55O1xyXG4gIC8vIEBJbnB1dCgpIGFsbFByb2dyYW1zOiBhbnlbXSA9IFtdO1xyXG4gIEBJbnB1dCgpIHNlbGVjdGVkRnJhbWVXb3JrITogYW55O1xyXG4gIEBJbnB1dCgpIHNlbGVjdGVkQ2F0ZWdvcmllczogYW55W10gPSBbXTtcclxuICBAVmlld0NoaWxkKCdzZWFyY2hGaWVsZCcpIHNlYXJjaGZpZWxkITogYW55O1xyXG4gIEBWaWV3Q2hpbGQoJ3NlYXJjaENhdGVnb3J5Jykgc2VhcmNoQ2F0ZWdvcnkhOiBhbnk7XHJcblxyXG4gIGZyYW1ld29ya0RhdGEgPSB7XHJcbiAgICBkYXRhOiBbXSxcclxuICAgIGZyb206IDAsXHJcbiAgICB0bzogMCxcclxuICAgIHRvdGFsUGFnZXM6IDAsXHJcbiAgICB0b3RhbFJlY29yZHM6IDAsXHJcbiAgICBjdXJyZW50UGFnZTogMSxcclxuXHJcbiAgfVxyXG4gIGZyYW1ld29ya0NvdW50ID0ge1xyXG4gICAgcmVndWxhdGlvbnM6IDAsXHJcbiAgICBzdGFuZGFyZHM6IDAsXHJcbiAgICBpbnRlcm5hbENvbnRyb2xzOiAwLFxyXG4gICAgb3RoZXJzOiAwXHJcbiAgfVxyXG4gIGZyYW1lVHlwZU9iamVjdCA9IHtcclxuICAgIHJlZ3VsYXRpb25zOiAxLFxyXG4gICAgc3RhbmRhcmRzOiAyLFxyXG4gICAgaW50ZXJuYWxDb250cm9sczogMyxcclxuICAgIG90aGVyczogMCxcclxuICB9XHJcbiAgcGxhY2Vob2xkZXJUZXh0ID0ge1xyXG4gICAgZnJhbWV3b3JrOiAnU2VhcmNoIEZyYW1ld29ya3MnLFxyXG4gICAgY2F0ZWdvcmllczogJ1NlYXJjaCBDYXRlZ29yaWVzJyxcclxuICAgIHJlc3BvbnNpYmlsaXRpZXM6ICdTZWFyY2ggUmVzcG9uc2liaWxpdGllcydcclxuICB9XHJcbiAgY29udHJvbHNMaXN0OiBhbnlbXSA9IFtdXHJcbiAgZGlzcGxheUNvbmZpcm1hdGlvbk1lc3NhZ2UgPSBmYWxzZTtcclxuXHJcbiAgYWN0aXZlVGFiOiAncmVndWxhdGlvbnMnIHwgJ3N0YW5kYXJkcycgfCAnaW50ZXJuYWxDb250cm9scycgfCAnb3RoZXJzJyA9ICdyZWd1bGF0aW9ucydcclxuXHJcbiAgY3VycmVudExpc3Q6ICdmcmFtZXdvcmsnIHwgJ2NhdGVnb3JpZXMnIHwgJ3Jlc3BvbnNpYmlsaXRpZXMnID0gJ2ZyYW1ld29yayc7XHJcbiAgZmxvYXRpbmdCYXJEaXNwbGF5S2V5cyA9IHtcclxuICAgIGZyYW1ld29yazogJ25hbWUnLFxyXG4gICAgY2F0ZWdvcmllczogJ25hbWUnLFxyXG4gICAgcmVzcG9uc2liaWxpdGllczogJ25hbWUnLFxyXG4gIH1cclxuXHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVzcG9uc2liaWxpdHlTZXJ2aWNlOiBSZXNwb25zaWJpbGl0eVNlcnZpY2UpIHsgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5wcmV2aW91c1NlbGVjdGVkVmFsdWVzKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZXMgPSB7XHJcbiAgICAgICAgZnJhbWV3b3JrOiB0aGlzLnByZXZpb3VzU2VsZWN0ZWRWYWx1ZXMuZnJhbWV3b3JrID8/IHt9LFxyXG4gICAgICAgIGNhdGVnb3JpZXM6IHRoaXMucHJldmlvdXNTZWxlY3RlZFZhbHVlcy5jYXRlZ29yaWVzID8/IHt9LFxyXG4gICAgICAgIHJlc3BvbnNpYmlsaXRpZXM6IHRoaXMucHJldmlvdXNTZWxlY3RlZFZhbHVlcy5yZXNwb25zaWJpbGl0aWVzID8/IHt9LFxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5nZXRGcmFtZXdvcmtzQ291bnQoKTtcclxuICAgIHRoaXMuZ2V0RnJhbWV3b3Jrc0xpc3QoKTtcclxuICB9XHJcblxyXG5cclxuICBleHBhbmRDYXRlZ29yeShjYXRlZ29yeTogYW55KSB7XHJcbiAgICBpZiAoY2F0ZWdvcnkuY2F0ZWdvcnlfbmFtZSkge1xyXG4gICAgICB0aGlzLmJyZWFkQ3J1bWIgPSBbXTtcclxuICAgICAgY2F0ZWdvcnkuY2F0ZWdvcnlfbmFtZS5mb3JFYWNoKChjYXRlZ29yeUl0ZW06IGFueSwgaW5kZXg6IGFueSkgPT4ge1xyXG4gICAgICAgIGxldCBvYmo7XHJcbiAgICAgICAgaWYgKGluZGV4ID09IGNhdGVnb3J5LmNhdGVnb3J5X25hbWUubGVuZ3RoIC0gMSkge1xyXG4gICAgICAgICAgb2JqID0ge1xyXG4gICAgICAgICAgICBpdGVtTmFtZTogY2F0ZWdvcnlJdGVtLFxyXG4gICAgICAgICAgICBpdGVtSWQ6IGNhdGVnb3J5Ll9pZFxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBvYmogPSB7XHJcbiAgICAgICAgICAgIGl0ZW1OYW1lOiBjYXRlZ29yeUl0ZW0sXHJcbiAgICAgICAgICAgIGl0ZW1JZDogY2F0ZWdvcnkucGFyZW50X2NhdF9vYmpfaWRzW2luZGV4XVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmJyZWFkQ3J1bWIucHVzaChvYmopO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgfVxyXG4gIC8vIGdldENhdGVnb3J5RGV0YWlsc0J5SWQoaWQ/OiBhbnkpIHtcclxuXHJcbiAgLy8gICBpZiAoIWlkIHx8IGlkID09IG51bGwpIHtcclxuICAvLyAgICAgdGhpcy5icmVhZENydW1iID0gW107XHJcbiAgLy8gICAgIHRoaXMuc2hvd1BhcmVudCA9IHRydWU7XHJcbiAgLy8gICAgIHRoaXMuc2hvd0NoaWxkID0gZmFsc2U7XHJcbiAgLy8gICAgIGNvbnNvbGUubG9nKClcclxuICAvLyAgICAgdGhpcy5jYXRlZ29yeUxpc3QgPSBPYmplY3QuYXNzaWduKHRoaXMucGFyZW50RGF0YSlcclxuICAvLyAgICAgdGhpcy5zaG93UGFyZW50ID0gZmFsc2U7XHJcbiAgLy8gICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gIC8vICAgICAgIHRoaXMuc2hvd1BhcmVudCA9IHRydWU7XHJcbiAgLy8gICAgIH0sIDEwMCk7XHJcbiAgLy8gICAgIHJldHVyblxyXG4gIC8vICAgfVxyXG4gIC8vICAgdGhpcy50YWJsZUNvbXBvbmVudC5nZXRDYXRlZ29yeURldGFpbHNCeUlkKGlkKTtcclxuICAvLyB9XHJcbiAgZW50cnVzdEZyYW1ld29ya0RldGFpbHMocmVwb3J0OiBhbnkpIHtcclxuICAgIHRoaXMuZW50cnVzdEZyYW1ld29yay5lbWl0KHJlcG9ydCk7XHJcbiAgfVxyXG4gIGNsb3NlKCkge1xyXG4gICAgdGhpcy5jbG9zZUZyYW1ld29yay5lbWl0KCk7XHJcblxyXG4gIH1cclxuXHJcbiAgZ2V0RnJhbWV3b3Jrc0NvdW50KGRhdGE/OiBhbnkpIHtcclxuICAgIGxldCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpO1xyXG4gICAgaWYgKGRhdGE/LnNlYXJjaCB8fCB0aGlzLnNlYXJjaFRleHQuZnJhbWVXb3JrKSB7XHJcbiAgICAgIHBhcmFtcyA9IHBhcmFtcy5hcHBlbmQoJ3NlYXJjaCcsIHRoaXMuc2VhcmNoVGV4dC5mcmFtZVdvcmspO1xyXG4gICAgfVxyXG4gICAgdGhpcy5yZXNwb25zaWJpbGl0eVNlcnZpY2UuZ2V0RnJhbWVXb3JrQ291bnQocGFyYW1zKS5waXBlKHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlKSkuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcblxyXG4gICAgICAgIHRoaXMuZnJhbWV3b3JrQ291bnQgPSB7XHJcbiAgICAgICAgICByZWd1bGF0aW9uczogcmVzLnJlZ3VsYXRpb25zID8/IDAsXHJcbiAgICAgICAgICBzdGFuZGFyZHM6IHJlcy5zdGFuZGFyZHMgPz8gMCxcclxuICAgICAgICAgIGludGVybmFsQ29udHJvbHM6IHJlcy5pbnRlcm5hbENvbnRyb2xzID8/IDAsXHJcbiAgICAgICAgICBvdGhlcnM6IHJlcy5vdGhlcnMgPz8gMFxyXG4gICAgICAgIH1cclxuICAgICAgfSxcclxuICAgICAgZXJyb3I6IChlcnI6IGFueSkgPT4ge1xyXG4gICAgICB9LFxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIGdldEZyYW1ld29ya3NMaXN0KGRhdGE/OiBhbnkpIHtcclxuICAgIHRoaXMubG9hZGVyID0gdHJ1ZTtcclxuICAgIGxldCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpO1xyXG4gICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZCgndHlwZScsIHRoaXMuZnJhbWVUeXBlT2JqZWN0W3RoaXMuYWN0aXZlVGFiXSk7XHJcbiAgICBpZiAoZGF0YT8uc2VhcmNoIHx8IHRoaXMuc2VhcmNoVGV4dC5mcmFtZVdvcmspIHtcclxuICAgICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZCgnc2VhcmNoJywgdGhpcy5zZWFyY2hUZXh0LmZyYW1lV29yayk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBwYXJhbXMgPSBwYXJhbXMuYXBwZW5kKCdwYWdlJywgdGhpcy5mcmFtZXdvcmtEYXRhLmN1cnJlbnRQYWdlKTtcclxuICAgIH1cclxuICAgIHRoaXMucmVzcG9uc2liaWxpdHlTZXJ2aWNlLmdldEZyYW1lV29ya0xpc3QocGFyYW1zKS5waXBlKHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlKSkuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgdGhpcy5mcmFtZXdvcmtEYXRhLmRhdGEgPSByZXMuZGF0YTtcclxuICAgICAgICB0aGlzLmZyYW1ld29ya0RhdGEuZnJvbSA9IHJlcy5pdGVtc19mcm9tO1xyXG4gICAgICAgIHRoaXMuZnJhbWV3b3JrRGF0YS50byA9IHJlcy5pdGVtc190bztcclxuICAgICAgICB0aGlzLmZyYW1ld29ya0RhdGEudG90YWxQYWdlcyA9IHJlcy50b3RhbF9wYWdlcztcclxuICAgICAgICB0aGlzLmZyYW1ld29ya0RhdGEudG90YWxSZWNvcmRzID0gcmVzLnRvdGFsX2l0ZW1zO1xyXG4gICAgICAgIHRoaXMubG9hZGVyID0gZmFsc2U7XHJcbiAgICAgIH0sXHJcbiAgICAgIGVycm9yOiAoZXJyOiBhbnkpID0+IHtcclxuICAgICAgICB0aGlzLmxvYWRlciA9IGZhbHNlO1xyXG4gICAgICB9LFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBnZXRTdWJDYXRlZ29yaWVzKGlkPzogYW55LCBkYXRhPzogYW55KSB7XHJcbiAgICB0aGlzLmxvYWRlciA9IHRydWU7XHJcbiAgICBsZXQgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKTtcclxuICAgIGlmIChkYXRhPy5zZWFyY2ggfHwgdGhpcy5zZWFyY2hUZXh0LmNhdGVnb3J5KSB7XHJcbiAgICAgIHBhcmFtcyA9IHBhcmFtcy5hcHBlbmQoJ3NlYXJjaCcsIHRoaXMuc2VhcmNoVGV4dC5jYXRlZ29yeSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBwYXJhbXMgPSBwYXJhbXMuYXBwZW5kKCdwYWdlJywgdGhpcy5zdWJDYXRlZ29yaWVzTGlzdC5jdXJyZW50UGFnZSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLnJlc3BvbnNpYmlsaXR5U2VydmljZS5nZXRGcmFtZXdvcmtTdWJDYXRlZ29yaWVzKGlkLCBwYXJhbXMpLnBpcGUodGFrZVVudGlsKHRoaXMudW5zdWJzY3JpYmUpKS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICB0aGlzLnN1YkNhdGVnb3JpZXNMaXN0LmZyb20gPSByZXMuaXRlbXNfZnJvbSA/PyAxO1xyXG4gICAgICAgIHRoaXMuc3ViQ2F0ZWdvcmllc0xpc3QudG8gPSByZXMuaXRlbXNfdG8gPz8gMDtcclxuICAgICAgICB0aGlzLnN1YkNhdGVnb3JpZXNMaXN0LnRvdGFsUGFnZXMgPSByZXMudG90YWxfcGFnZXMgPz8gMDtcclxuICAgICAgICB0aGlzLnN1YkNhdGVnb3JpZXNMaXN0LnRvdGFsUmVjb3JkcyA9IHJlcy50b3RhbF9pdGVtcyA/PyAwO1xyXG4gICAgICAgIHRoaXMuc3ViQ2F0ZWdvcmllc0xpc3QuZGF0YSA9IHJlcy5kYXRhID8/IFtdO1xyXG4gICAgICAgIHRoaXMubG9hZGVyID0gZmFsc2U7XHJcbiAgICAgIH0sXHJcbiAgICAgIGVycm9yOiAoZXJyOiBhbnkpID0+IHtcclxuICAgICAgICB0aGlzLmxvYWRlciA9IGZhbHNlO1xyXG4gICAgICB9LFxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIGNoYW5nZVRhYih0eXBlOiAncmVndWxhdGlvbnMnIHwgJ3N0YW5kYXJkcycgfCAnaW50ZXJuYWxDb250cm9scycgfCAnb3RoZXJzJykge1xyXG4gICAgdGhpcy5hY3RpdmVUYWIgPSB0eXBlO1xyXG4gICAgdGhpcy5mcmFtZXdvcmtEYXRhLmN1cnJlbnRQYWdlID0gMTtcclxuICAgIHRoaXMuc2VhcmNoVGV4dC5mcmFtZVdvcmsgPSAnJztcclxuICAgIHRoaXMuc2VhcmNoZmllbGQubmF0aXZlRWxlbWVudC52YWx1ZSA9ICcnO1xyXG4gICAgdGhpcy5nZXRGcmFtZXdvcmtzTGlzdCgpO1xyXG4gIH1cclxuXHJcbiAgZ2V0UmVzcG9uc2liaWxpdGllcyhpZD86IGFueSwgZGF0YT86IGFueSkge1xyXG4gICAgdGhpcy5sb2FkZXIgPSB0cnVlO1xyXG4gICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCk7XHJcbiAgICBpZiAoZGF0YT8uc2VhcmNoIHx8IHRoaXMuc2VhcmNoVGV4dC5yZXNwb25zaWJpbGl0eSkge1xyXG4gICAgICBwYXJhbXMgPSBwYXJhbXMuYXBwZW5kKCdzZWFyY2gnLCB0aGlzLnNlYXJjaFRleHQucmVzcG9uc2liaWxpdHkpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZCgncGFnZScsIHRoaXMucmVzcG9uc2liaWxpdGllc0xpc3QuY3VycmVudFBhZ2UpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5yZXNwb25zaWJpbGl0eVNlcnZpY2UuZ2V0RnJhbWV3b3JrQ29udHJvbHMoaWQsIHBhcmFtcykucGlwZSh0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZSkpLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMuY29udHJvbHNMaXN0ID0gcmVzO1xyXG4gICAgICAgIHRoaXMucmVzcG9uc2liaWxpdGllc0xpc3QuZnJvbSA9IHJlcy5pdGVtc19mcm9tID8/IDE7XHJcbiAgICAgICAgdGhpcy5yZXNwb25zaWJpbGl0aWVzTGlzdC50byA9IHJlcy5pdGVtc190byA/PyAwO1xyXG4gICAgICAgIHRoaXMucmVzcG9uc2liaWxpdGllc0xpc3QudG90YWxQYWdlcyA9IHJlcy50b3RhbF9wYWdlcyA/PyAwO1xyXG4gICAgICAgIHRoaXMucmVzcG9uc2liaWxpdGllc0xpc3QudG90YWxSZWNvcmRzID0gcmVzLnRvdGFsX2l0ZW1zID8/IDA7XHJcbiAgICAgICAgdGhpcy5yZXNwb25zaWJpbGl0aWVzTGlzdC5kYXRhID0gcmVzLmRhdGEgPz8gcmVzO1xyXG4gICAgICAgIHRoaXMubG9hZGVyID0gZmFsc2U7XHJcbiAgICAgIH0sXHJcbiAgICAgIGVycm9yOiAoZXJyOiBhbnkpID0+IHtcclxuICAgICAgICB0aGlzLmxvYWRlciA9IGZhbHNlO1xyXG4gICAgICB9LFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBjaGFuZ2VQYWdlKGV2ZW50OiBhbnksIHR5cGU6ICdmcmFtZXdvcmtzJyB8ICdjYXRlZ29yaWVzJyB8ICdyZXNwb25zaWJpbGl0aWVzJykge1xyXG4gICAgc3dpdGNoICh0eXBlKSB7XHJcbiAgICAgIGNhc2UgJ2ZyYW1ld29ya3MnOlxyXG4gICAgICAgIHRoaXMuZnJhbWV3b3JrRGF0YS5jdXJyZW50UGFnZSA9IGV2ZW50O1xyXG4gICAgICAgIHRoaXMuZ2V0RnJhbWV3b3Jrc0xpc3QoKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnY2F0ZWdvcmllcyc6XHJcbiAgICAgICAgdGhpcy5zdWJDYXRlZ29yaWVzTGlzdC5jdXJyZW50UGFnZSA9IGV2ZW50O1xyXG4gICAgICAgIHRoaXMuZ2V0U3ViQ2F0ZWdvcmllcyh0aGlzLnNlbGVjdGVkVmFsdWVzLmZyYW1ld29yay5faWQsIHsgc2VhcmNoOiB0cnVlIH0pXHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ3Jlc3BvbnNpYmlsaXRpZXMnOlxyXG4gICAgICAgIHRoaXMucmVzcG9uc2liaWxpdGllc0xpc3QuY3VycmVudFBhZ2UgPSBldmVudDtcclxuICAgICAgICB0aGlzLmdldFJlc3BvbnNpYmlsaXRpZXModGhpcy5zZWxlY3RlZFZhbHVlcy5jYXRlZ29yaWVzLl9pZCwgeyBzZWFyY2g6IHRydWUgfSlcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuXHJcbiAgfVxyXG4gIHNlYXJjaEJ5KGV2ZW50OiBhbnksIHR5cGU6ICdmcmFtZXdvcmsnIHwgJ2NhdGVnb3JpZXMnIHwgJ3Jlc3BvbnNpYmlsaXRpZXMnKSB7XHJcbiAgICBzd2l0Y2ggKHR5cGUpIHtcclxuICAgICAgY2FzZSAnZnJhbWV3b3JrJzpcclxuICAgICAgICBpZiAodGhpcy5zZWFyY2hUZXh0LmZyYW1lV29yayAhPSBldmVudCkge1xyXG4gICAgICAgICAgdGhpcy5zZWFyY2hUZXh0LmZyYW1lV29yayA9IGV2ZW50O1xyXG4gICAgICAgICAgdGhpcy5nZXRGcmFtZXdvcmtzTGlzdCh7IHNlYXJjaDogdHJ1ZSB9KVxyXG4gICAgICAgICAgdGhpcy5nZXRGcmFtZXdvcmtzQ291bnQoeyBzZWFyY2g6IHRydWUgfSlcclxuXHJcbiAgICAgICAgfVxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdjYXRlZ29yaWVzJzpcclxuICAgICAgICBpZiAodGhpcy5zZWFyY2hUZXh0LmNhdGVnb3J5ICE9IGV2ZW50KSB7XHJcbiAgICAgICAgICB0aGlzLnNlYXJjaFRleHQuY2F0ZWdvcnkgPSBldmVudDtcclxuICAgICAgICAgIHRoaXMuZ2V0U3ViQ2F0ZWdvcmllcyh0aGlzLnNlbGVjdGVkVmFsdWVzLmZyYW1ld29yay5faWQsIHsgc2VhcmNoOiB0cnVlIH0pXHJcbiAgICAgICAgfVxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdyZXNwb25zaWJpbGl0aWVzJzpcclxuICAgICAgICBpZiAodGhpcy5zZWFyY2hUZXh0LnJlc3BvbnNpYmlsaXR5ICE9IGV2ZW50KSB7XHJcbiAgICAgICAgICB0aGlzLnNlYXJjaFRleHQucmVzcG9uc2liaWxpdHkgPSBldmVudDtcclxuICAgICAgICAgIHRoaXMuZ2V0UmVzcG9uc2liaWxpdGllcyh0aGlzLnNlbGVjdGVkVmFsdWVzLmNhdGVnb3JpZXMuX2lkLCB7IHNlYXJjaDogdHJ1ZSB9KVxyXG4gICAgICAgIH1cclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZWxlY3RGcmFtZXdvcmsoZGF0YTogYW55KSB7XHJcbiAgICBzd2l0Y2ggKHRoaXMuY3VycmVudExpc3QpIHtcclxuICAgICAgY2FzZSAnZnJhbWV3b3JrJzpcclxuICAgICAgICB0aGlzLnNlbGVjdGVkVmFsdWVzLmZyYW1ld29yayA9IGRhdGE7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlcy5jYXRlZ29yaWVzID0ge307XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlcy5yZXNwb25zaWJpbGl0aWVzID0ge307XHJcblxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdjYXRlZ29yaWVzJzpcclxuICAgICAgICB0aGlzLnNlbGVjdGVkVmFsdWVzLmNhdGVnb3JpZXMgPSBkYXRhO1xyXG5cclxuICAgICAgICB0aGlzLnNlbGVjdGVkVmFsdWVzLnJlc3BvbnNpYmlsaXRpZXMgPSB7fTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAncmVzcG9uc2liaWxpdGllcyc6XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlcy5yZXNwb25zaWJpbGl0aWVzID0gZGF0YTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuXHJcbiAgfVxyXG4gIHNhdmUoKSB7XHJcbiAgICBzd2l0Y2ggKHRoaXMuY3VycmVudExpc3QpIHtcclxuICAgICAgY2FzZSAnZnJhbWV3b3JrJzpcclxuICAgICAgICBpZiAodGhpcy5zZWxlY3RlZFZhbHVlcz8uZnJhbWV3b3JrPy5wYXJlbnRfbGlzdF9kZXRhaWxzPy5sZW5ndGggPT0gMCAmJiB0aGlzLnNlbGVjdGVkVmFsdWVzPy5mcmFtZXdvcms/LmNoaWxkX2xpc3RfZGV0YWlscy5sZW5ndGggPT0gMCAmJiB0aGlzLnNlbGVjdGVkVmFsdWVzPy5mcmFtZXdvcms/LnRvdGFsQ29udHJvbHMgPiAwKSB7XHJcbiAgICAgICAgICB0aGlzLmN1cnJlbnRMaXN0ID0gJ3Jlc3BvbnNpYmlsaXRpZXMnO1xyXG4gICAgICAgICAgdGhpcy5nZXRSZXNwb25zaWJpbGl0aWVzKHRoaXMuc2VsZWN0ZWRWYWx1ZXMuZnJhbWV3b3JrLl9pZCk7XHJcblxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLmN1cnJlbnRMaXN0ID0gJ2NhdGVnb3JpZXMnO1xyXG4gICAgICAgICAgdGhpcy5nZXRTdWJDYXRlZ29yaWVzKHRoaXMuc2VsZWN0ZWRWYWx1ZXMuZnJhbWV3b3JrLl9pZCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdjYXRlZ29yaWVzJzpcclxuICAgICAgICB0aGlzLmN1cnJlbnRMaXN0ID0gJ3Jlc3BvbnNpYmlsaXRpZXMnO1xyXG4gICAgICAgIHRoaXMuZ2V0UmVzcG9uc2liaWxpdGllcyh0aGlzLnNlbGVjdGVkVmFsdWVzLmNhdGVnb3JpZXMuX2lkKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAncmVzcG9uc2liaWxpdGllcyc6XHJcbiAgICAgICAgdGhpcy5hc3NpZ25TZWxlY3RlZENvbnRyb2wodGhpcy5zZWxlY3RlZFZhbHVlcy5yZXNwb25zaWJpbGl0aWVzKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuICB9XHJcblxyXG5cclxuICBnb0JhY2soKSB7XHJcbiAgICBzd2l0Y2ggKHRoaXMuY3VycmVudExpc3QpIHtcclxuICAgICAgY2FzZSAnZnJhbWV3b3JrJzpcclxuICAgICAgICB0aGlzLmNsb3NlRnJhbWV3b3JrLmVtaXQoKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnY2F0ZWdvcmllcyc6XHJcbiAgICAgICAgdGhpcy5jdXJyZW50TGlzdCA9ICdmcmFtZXdvcmsnXHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ3Jlc3BvbnNpYmlsaXRpZXMnOlxyXG4gICAgICAgIHRoaXMuY3VycmVudExpc3QgPSAnY2F0ZWdvcmllcydcclxuICAgICAgICBicmVhaztcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHJlbW92ZSgpIHtcclxuICAgIHN3aXRjaCAodGhpcy5jdXJyZW50TGlzdCkge1xyXG4gICAgICBjYXNlICdmcmFtZXdvcmsnOlxyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZXMuZnJhbWV3b3JrID0ge307XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlcy5jYXRlZ29yaWVzID0ge307XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlcy5yZXNwb25zaWJpbGl0aWVzID0ge307XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ2NhdGVnb3JpZXMnOlxyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZXMuY2F0ZWdvcmllcyA9IHt9O1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZXMucmVzcG9uc2liaWxpdGllcyA9IHt9O1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdyZXNwb25zaWJpbGl0aWVzJzpcclxuICAgICAgICB0aGlzLnNlbGVjdGVkVmFsdWVzLnJlc3BvbnNpYmlsaXRpZXMgPSB7fTtcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuXHJcbiAgfVxyXG5cclxuICBzYXZlQ2hhbmdlcyh0eXBlOiAncHJvZ3JhbXMnIHwgJ2NhdGVnb3JpZXMnIHwgJ3Jlc3BvbnNpYmlsaXRpZXMnIHwgJ3Byb2dyYW1zT25seScpIHtcclxuICAgIHN3aXRjaCAodHlwZSkge1xyXG4gICAgICBjYXNlICdwcm9ncmFtcyc6XHJcbiAgICAgICAgdGhpcy5jdXJyZW50TGlzdCA9ICdjYXRlZ29yaWVzJztcclxuICAgICAgICB0aGlzLnNlbGVjdGVkVmFsdWVzLmNhdGVnb3JpZXMgPSBbXTtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkVmFsdWVzLnJlc3BvbnNpYmlsaXRpZXMgPSBbXTtcclxuICAgICAgICB0aGlzLmdldFN1YkNhdGVnb3JpZXMoKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnY2F0ZWdvcmllcyc6XHJcbiAgICAgICAgdGhpcy5jdXJyZW50TGlzdCA9ICdyZXNwb25zaWJpbGl0aWVzJztcclxuICAgICAgICB0aGlzLnNlbGVjdGVkVmFsdWVzLnJlc3BvbnNpYmlsaXRpZXMgPSBbXTtcclxuICAgICAgICB0aGlzLmdldFJlc3BvbnNpYmlsaXRpZXMoKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAncmVzcG9uc2liaWxpdGllcyc6XHJcbiAgICAgICAgLy8gdGhpcy5zdWJtaXRwcm9ncmFtSW50ZWdyYXRpb24oKTtcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGFzc2lnblNlbGVjdGVkQ29udHJvbChkYXRhOiBhbnkpIHtcclxuICAgIGxldCBzZWxlY3RlZEZyYW1ld29ya0RhdGEgPSB0aGlzLnNlbGVjdGVkVmFsdWVzO1xyXG4gICAgdGhpcy5hc3NpZ25Db250cm9sLmVtaXQoeyBkYXRhLCBzZWxlY3RlZEZyYW1ld29ya0RhdGEgfSk7XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
|
|
416
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJhbWV3b3JrLWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvc2hhcmVkQ29tcG9uZW50cy9mcmFtZXdvcmstbGlzdC9mcmFtZXdvcmstbGlzdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFpQixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEgsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFTdkYsTUFBTSxPQUFPLHNCQUFzQjtJQW1HakMsWUFBb0IscUJBQTRDO1FBQTVDLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7UUFsR2hFLGVBQVUsR0FBVSxFQUFFLENBQUM7UUFDdkIsV0FBTSxHQUFHLEVBQUUsQ0FBQztRQUNaLGVBQVUsR0FBRyxJQUFJLENBQUM7UUFDbEIsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUNsQixlQUFVLEdBQVcsRUFBRSxDQUFBO1FBRWIscUJBQWdCLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUN0QyxtQkFBYyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDcEMsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBRTdDLHNCQUFpQixHQUFHO1lBQ2xCLElBQUksRUFBRSxDQUFDO1lBQ1AsRUFBRSxFQUFFLENBQUM7WUFDTCxXQUFXLEVBQUUsQ0FBQztZQUNkLFVBQVUsRUFBRSxDQUFDO1lBQ2IsWUFBWSxFQUFFLENBQUM7WUFDZixJQUFJLEVBQUUsRUFBRTtTQUNULENB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J0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkNoYW5nZXMsIE9uSW5pdCwgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFJlc3BvbnNpYmlsaXR5U2VydmljZSB9IGZyb20gJy4uLy4uL3dvcmtmbG93LXNlcnZpY2VzL3Jlc3BvbnNpYmlsaXR5LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTZWxlY3RlZElkcywgU2VsZWN0ZWRWYWx1ZXMgfSBmcm9tICcuL2ZyYW1ld29yay1pbnRlZ3JhdGlvbi1pbnRlcmZhY2VzJztcclxuaW1wb3J0IHsgUGFyZW50VGFibGVDb21wb25lbnQgfSBmcm9tICcuL3BhcmVudC10YWJsZS9wYXJlbnQtdGFibGUuY29tcG9uZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWZyYW1ld29yay1saXN0JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZnJhbWV3b3JrLWxpc3QuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2ZyYW1ld29yay1saXN0LmNvbXBvbmVudC5sZXNzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIEZyYW1ld29ya0xpc3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XHJcbiAgYnJlYWRDcnVtYjogYW55W10gPSBbXTtcclxuICBzZWFyY2ggPSAnJztcclxuICBzaG93UGFyZW50ID0gdHJ1ZTtcclxuICBzaG93Q2hpbGQgPSBmYWxzZTtcclxuICBwYXJlbnREYXRhOiBvYmplY3QgPSB7fVxyXG4gIEBWaWV3Q2hpbGQoJ3BhcmVudFRhYmxlJykgdGFibGVDb21wb25lbnQhOiBQYXJlbnRUYWJsZUNvbXBvbmVudDtcclxuICBAT3V0cHV0KCkgZW50cnVzdEZyYW1ld29yayA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgY2xvc2VGcmFtZXdvcmsgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIGFzc2lnbkNvbnRyb2wgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQElucHV0KCkgcHJldmlvdXNTZWxlY3RlZFZhbHVlcyE6IGFueTtcclxuICBzdWJDYXRlZ29yaWVzTGlzdCA9IHtcclxuICAgIGZyb206IDEsXHJcbiAgICB0bzogMCxcclxuICAgIGN1cnJlbnRQYWdlOiAxLFxyXG4gICAgdG90YWxQYWdlczogMCxcclxuICAgIHRvdGFsUmVjb3JkczogMCxcclxuICAgIGRhdGE6IFtdLFxyXG4gIH07XHJcbiAgcmVzcG9uc2liaWxpdGllc0xpc3QgPSB7XHJcbiAgICBmcm9tOiAxLFxyXG4gICAgdG86IDAsXHJcbiAgICBjdXJyZW50UGFnZTogMSxcclxuICAgIHRvdGFsUGFnZXM6IDAsXHJcbiAgICB0b3RhbFJlY29yZHM6IDAsXHJcbiAgICBkYXRhOiBbXSxcclxuICB9O1xyXG5cclxuICBzZWFyY2hUZXh0ID0ge1xyXG4gICAgZnJhbWVXb3JrOiAnJyxcclxuICAgIGNhdGVnb3J5OiAnJyxcclxuICAgIHJlc3BvbnNpYmlsaXR5OiAnJyxcclxuICB9XHJcblxyXG4gIHNlbGVjdGVkVmFsdWVzOiBTZWxlY3RlZFZhbHVlcyA9IHtcclxuICAgIGZyYW1ld29yazoge30sXHJcbiAgICBjYXRlZ29yaWVzOiB7fSxcclxuICAgIHJlc3BvbnNpYmlsaXRpZXM6IHt9XHJcbiAgfVxyXG5cclxuXHJcbiAgc3VibWlzc2lvbkxvYWRlciA9IGZhbHNlO1xyXG4gIGN1cnJlbnRDYXRlZ29yeTogYW55ID0ge307XHJcblxyXG4gIEBJbnB1dCgpIHBvbGljeTogYW55ID0ge31cclxuICAvLyBAT3V0cHV0KCkgY2hhbmdlVGFiID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBjdXJyZW50QnVzaW5lc3NDeWNsZSE6IGFueTtcclxuICBsb2FkZXIgPSBmYWxzZTtcclxuICB1bnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0KCk7XHJcblxyXG4gIC8vcHJvZ3JhbVxyXG4gIHN1Ykxpc3QgPSBmYWxzZTtcclxuICBASW5wdXQoKSBmcmFtZVdvcmtMaXN0OiBhbnk7XHJcbiAgLy8gQElucHV0KCkgYWxsUHJvZ3JhbXM6IGFueVtdID0gW107XHJcbiAgQElucHV0KCkgc2VsZWN0ZWRGcmFtZVdvcmshOiBhbnk7XHJcbiAgQElucHV0KCkgc2VsZWN0ZWRDYXRlZ29yaWVzOiBhbnlbXSA9IFtdO1xyXG4gIEBWaWV3Q2hpbGQoJ3NlYXJjaEZpZWxkJykgc2VhcmNoZmllbGQhOiBhbnk7XHJcbiAgQFZpZXdDaGlsZCgnc2VhcmNoQ2F0ZWdvcnknKSBzZWFyY2hDYXRlZ29yeSE6IGFueTtcclxuXHJcbiAgZnJhbWV3b3JrRGF0YSA9IHtcclxuICAgIGRhdGE6IFtdLFxyXG4gICAgZnJvbTogMCxcclxuICAgIHRvOiAwLFxyXG4gICAgdG90YWxQYWdlczogMCxcclxuICAgIHRvdGFsUmVjb3JkczogMCxcclxuICAgIGN1cnJlbnRQYWdlOiAxLFxyXG5cclxuICB9XHJcbiAgZnJhbWV3b3JrQ291bnQgPSB7XHJcbiAgICByZWd1bGF0aW9uczogMCxcclxuICAgIHN0YW5kYXJkczogMCxcclxuICAgIGludGVybmFsQ29udHJvbHM6IDAsXHJcbiAgICBvdGhlcnM6IDBcclxuICB9XHJcbiAgZnJhbWVUeXBlT2JqZWN0ID0ge1xyXG4gICAgcmVndWxhdGlvbnM6IDEsXHJcbiAgICBzdGFuZGFyZHM6IDIsXHJcbiAgICBpbnRlcm5hbENvbnRyb2xzOiAzLFxyXG4gICAgb3RoZXJzOiAwLFxyXG4gIH1cclxuICBwbGFjZWhvbGRlclRleHQgPSB7XHJcbiAgICBmcmFtZXdvcms6ICdTZWFyY2ggRnJhbWV3b3JrcycsXHJcbiAgICBjYXRlZ29yaWVzOiAnU2VhcmNoIENhdGVnb3JpZXMnLFxyXG4gICAgcmVzcG9uc2liaWxpdGllczogJ1NlYXJjaCBSZXNwb25zaWJpbGl0aWVzJ1xyXG4gIH1cclxuICBjb250cm9sc0xpc3Q6IGFueVtdID0gW11cclxuICBkaXNwbGF5Q29uZmlybWF0aW9uTWVzc2FnZSA9IGZhbHNlO1xyXG5cclxuICBhY3RpdmVUYWI6ICdyZWd1bGF0aW9ucycgfCAnc3RhbmRhcmRzJyB8ICdpbnRlcm5hbENvbnRyb2xzJyB8ICdvdGhlcnMnID0gJ3JlZ3VsYXRpb25zJ1xyXG5cclxuICBjdXJyZW50TGlzdDogJ2ZyYW1ld29yaycgfCAnY2F0ZWdvcmllcycgfCAncmVzcG9uc2liaWxpdGllcycgPSAnZnJhbWV3b3JrJztcclxuICBmbG9hdGluZ0JhckRpc3BsYXlLZXlzID0ge1xyXG4gICAgZnJhbWV3b3JrOiAnbmFtZScsXHJcbiAgICBjYXRlZ29yaWVzOiAnbmFtZScsXHJcbiAgICByZXNwb25zaWJpbGl0aWVzOiAnbmFtZScsXHJcbiAgfVxyXG5cclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZXNwb25zaWJpbGl0eVNlcnZpY2U6IFJlc3BvbnNpYmlsaXR5U2VydmljZSkgeyB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnByZXZpb3VzU2VsZWN0ZWRWYWx1ZXMpIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlcyA9IHtcclxuICAgICAgICBmcmFtZXdvcms6IHRoaXMucHJldmlvdXNTZWxlY3RlZFZhbHVlcy5mcmFtZXdvcmsgPz8ge30sXHJcbiAgICAgICAgY2F0ZWdvcmllczogdGhpcy5wcmV2aW91c1NlbGVjdGVkVmFsdWVzLmNhdGVnb3JpZXMgPz8ge30sXHJcbiAgICAgICAgcmVzcG9uc2liaWxpdGllczogdGhpcy5wcmV2aW91c1NlbGVjdGVkVmFsdWVzLnJlc3BvbnNpYmlsaXRpZXMgPz8ge30sXHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmdldEZyYW1ld29ya3NDb3VudCgpO1xyXG4gICAgdGhpcy5nZXRGcmFtZXdvcmtzTGlzdCgpO1xyXG4gIH1cclxuXHJcblxyXG4gIGV4cGFuZENhdGVnb3J5KGNhdGVnb3J5OiBhbnkpIHtcclxuICAgIGlmIChjYXRlZ29yeS5jYXRlZ29yeV9uYW1lKSB7XHJcbiAgICAgIHRoaXMuYnJlYWRDcnVtYiA9IFtdO1xyXG4gICAgICBjYXRlZ29yeS5jYXRlZ29yeV9uYW1lLmZvckVhY2goKGNhdGVnb3J5SXRlbTogYW55LCBpbmRleDogYW55KSA9PiB7XHJcbiAgICAgICAgbGV0IG9iajtcclxuICAgICAgICBpZiAoaW5kZXggPT0gY2F0ZWdvcnkuY2F0ZWdvcnlfbmFtZS5sZW5ndGggLSAxKSB7XHJcbiAgICAgICAgICBvYmogPSB7XHJcbiAgICAgICAgICAgIGl0ZW1OYW1lOiBjYXRlZ29yeUl0ZW0sXHJcbiAgICAgICAgICAgIGl0ZW1JZDogY2F0ZWdvcnkuX2lkXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIG9iaiA9IHtcclxuICAgICAgICAgICAgaXRlbU5hbWU6IGNhdGVnb3J5SXRlbSxcclxuICAgICAgICAgICAgaXRlbUlkOiBjYXRlZ29yeS5wYXJlbnRfY2F0X29ial9pZHNbaW5kZXhdXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuYnJlYWRDcnVtYi5wdXNoKG9iaik7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICB9XHJcbiAgLy8gZ2V0Q2F0ZWdvcnlEZXRhaWxzQnlJZChpZD86IGFueSkge1xyXG5cclxuICAvLyAgIGlmICghaWQgfHwgaWQgPT0gbnVsbCkge1xyXG4gIC8vICAgICB0aGlzLmJyZWFkQ3J1bWIgPSBbXTtcclxuICAvLyAgICAgdGhpcy5zaG93UGFyZW50ID0gdHJ1ZTtcclxuICAvLyAgICAgdGhpcy5zaG93Q2hpbGQgPSBmYWxzZTtcclxuICAvLyAgICAgY29uc29sZS5sb2coKVxyXG4gIC8vICAgICB0aGlzLmNhdGVnb3J5TGlzdCA9IE9iamVjdC5hc3NpZ24odGhpcy5wYXJlbnREYXRhKVxyXG4gIC8vICAgICB0aGlzLnNob3dQYXJlbnQgPSBmYWxzZTtcclxuICAvLyAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgLy8gICAgICAgdGhpcy5zaG93UGFyZW50ID0gdHJ1ZTtcclxuICAvLyAgICAgfSwgMTAwKTtcclxuICAvLyAgICAgcmV0dXJuXHJcbiAgLy8gICB9XHJcbiAgLy8gICB0aGlzLnRhYmxlQ29tcG9uZW50LmdldENhdGVnb3J5RGV0YWlsc0J5SWQoaWQpO1xyXG4gIC8vIH1cclxuICBlbnRydXN0RnJhbWV3b3JrRGV0YWlscyhyZXBvcnQ6IGFueSkge1xyXG4gICAgdGhpcy5lbnRydXN0RnJhbWV3b3JrLmVtaXQocmVwb3J0KTtcclxuICB9XHJcbiAgY2xvc2UoKSB7XHJcbiAgICB0aGlzLmNsb3NlRnJhbWV3b3JrLmVtaXQoKTtcclxuXHJcbiAgfVxyXG5cclxuICBnZXRGcmFtZXdvcmtzQ291bnQoZGF0YT86IGFueSkge1xyXG4gICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCk7XHJcbiAgICBpZiAoZGF0YT8uc2VhcmNoIHx8IHRoaXMuc2VhcmNoVGV4dC5mcmFtZVdvcmspIHtcclxuICAgICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZCgnc2VhcmNoJywgdGhpcy5zZWFyY2hUZXh0LmZyYW1lV29yayk7XHJcbiAgICB9XHJcbiAgICB0aGlzLnJlc3BvbnNpYmlsaXR5U2VydmljZS5nZXRGcmFtZVdvcmtDb3VudChwYXJhbXMpLnBpcGUodGFrZVVudGlsKHRoaXMudW5zdWJzY3JpYmUpKS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuXHJcbiAgICAgICAgdGhpcy5mcmFtZXdvcmtDb3VudCA9IHtcclxuICAgICAgICAgIHJlZ3VsYXRpb25zOiByZXMucmVndWxhdGlvbnMgPz8gMCxcclxuICAgICAgICAgIHN0YW5kYXJkczogcmVzLnN0YW5kYXJkcyA/PyAwLFxyXG4gICAgICAgICAgaW50ZXJuYWxDb250cm9sczogcmVzLmludGVybmFsQ29udHJvbHMgPz8gMCxcclxuICAgICAgICAgIG90aGVyczogcmVzLm90aGVycyA/PyAwXHJcbiAgICAgICAgfVxyXG4gICAgICB9LFxyXG4gICAgICBlcnJvcjogKGVycjogYW55KSA9PiB7XHJcbiAgICAgIH0sXHJcbiAgICB9KTtcclxuICB9XHJcbiAgZ2V0RnJhbWV3b3Jrc0xpc3QoZGF0YT86IGFueSkge1xyXG4gICAgdGhpcy5sb2FkZXIgPSB0cnVlO1xyXG4gICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCk7XHJcbiAgICBwYXJhbXMgPSBwYXJhbXMuYXBwZW5kKCd0eXBlJywgdGhpcy5mcmFtZVR5cGVPYmplY3RbdGhpcy5hY3RpdmVUYWJdKTtcclxuICAgIGlmIChkYXRhPy5zZWFyY2ggfHwgdGhpcy5zZWFyY2hUZXh0LmZyYW1lV29yaykge1xyXG4gICAgICBwYXJhbXMgPSBwYXJhbXMuYXBwZW5kKCdzZWFyY2gnLCB0aGlzLnNlYXJjaFRleHQuZnJhbWVXb3JrKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHBhcmFtcyA9IHBhcmFtcy5hcHBlbmQoJ3BhZ2UnLCB0aGlzLmZyYW1ld29ya0RhdGEuY3VycmVudFBhZ2UpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5yZXNwb25zaWJpbGl0eVNlcnZpY2UuZ2V0RnJhbWVXb3JrTGlzdChwYXJhbXMpLnBpcGUodGFrZVVudGlsKHRoaXMudW5zdWJzY3JpYmUpKS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICB0aGlzLmZyYW1ld29ya0RhdGEuZGF0YSA9IHJlcy5kYXRhO1xyXG4gICAgICAgIHRoaXMuZnJhbWV3b3JrRGF0YS5mcm9tID0gcmVzLml0ZW1zX2Zyb207XHJcbiAgICAgICAgdGhpcy5mcmFtZXdvcmtEYXRhLnRvID0gcmVzLml0ZW1zX3RvO1xyXG4gICAgICAgIHRoaXMuZnJhbWV3b3JrRGF0YS50b3RhbFBhZ2VzID0gcmVzLnRvdGFsX3BhZ2VzO1xyXG4gICAgICAgIHRoaXMuZnJhbWV3b3JrRGF0YS50b3RhbFJlY29yZHMgPSByZXMudG90YWxfaXRlbXM7XHJcbiAgICAgICAgdGhpcy5sb2FkZXIgPSBmYWxzZTtcclxuICAgICAgfSxcclxuICAgICAgZXJyb3I6IChlcnI6IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMubG9hZGVyID0gZmFsc2U7XHJcbiAgICAgIH0sXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGdldFN1YkNhdGVnb3JpZXMoaWQ/OiBhbnksIGRhdGE/OiBhbnkpIHtcclxuICAgIHRoaXMubG9hZGVyID0gdHJ1ZTtcclxuICAgIGxldCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpO1xyXG4gICAgaWYgKGRhdGE/LnNlYXJjaCB8fCB0aGlzLnNlYXJjaFRleHQuY2F0ZWdvcnkpIHtcclxuICAgICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZCgnc2VhcmNoJywgdGhpcy5zZWFyY2hUZXh0LmNhdGVnb3J5KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHBhcmFtcyA9IHBhcmFtcy5hcHBlbmQoJ3BhZ2UnLCB0aGlzLnN1YkNhdGVnb3JpZXNMaXN0LmN1cnJlbnRQYWdlKTtcclxuICAgIH1cclxuICAgIHRoaXMucmVzcG9uc2liaWxpdHlTZXJ2aWNlLmdldEZyYW1ld29ya1N1YkNhdGVnb3JpZXMoaWQsIHBhcmFtcykucGlwZSh0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZSkpLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMuc3ViQ2F0ZWdvcmllc0xpc3QuZnJvbSA9IHJlcy5pdGVtc19mcm9tID8/IDE7XHJcbiAgICAgICAgdGhpcy5zdWJDYXRlZ29yaWVzTGlzdC50byA9IHJlcy5pdGVtc190byA/PyAwO1xyXG4gICAgICAgIHRoaXMuc3ViQ2F0ZWdvcmllc0xpc3QudG90YWxQYWdlcyA9IHJlcy50b3RhbF9wYWdlcyA/PyAwO1xyXG4gICAgICAgIHRoaXMuc3ViQ2F0ZWdvcmllc0xpc3QudG90YWxSZWNvcmRzID0gcmVzLnRvdGFsX2l0ZW1zID8/IDA7XHJcbiAgICAgICAgdGhpcy5zdWJDYXRlZ29yaWVzTGlzdC5kYXRhID0gcmVzLmRhdGEgPz8gW107XHJcbiAgICAgICAgdGhpcy5sb2FkZXIgPSBmYWxzZTtcclxuICAgICAgfSxcclxuICAgICAgZXJyb3I6IChlcnI6IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMubG9hZGVyID0gZmFsc2U7XHJcbiAgICAgIH0sXHJcbiAgICB9KTtcclxuICB9XHJcbiAgY2hhbmdlVGFiKHR5cGU6ICdyZWd1bGF0aW9ucycgfCAnc3RhbmRhcmRzJyB8ICdpbnRlcm5hbENvbnRyb2xzJyB8ICdvdGhlcnMnKSB7XHJcbiAgICB0aGlzLmFjdGl2ZVRhYiA9IHR5cGU7XHJcbiAgICB0aGlzLmZyYW1ld29ya0RhdGEuY3VycmVudFBhZ2UgPSAxO1xyXG4gICAgdGhpcy5zZWFyY2hUZXh0LmZyYW1lV29yayA9ICcnO1xyXG4gICAgdGhpcy5zZWFyY2hmaWVsZC5uYXRpdmVFbGVtZW50LnZhbHVlID0gJyc7XHJcbiAgICB0aGlzLmdldEZyYW1ld29ya3NMaXN0KCk7XHJcbiAgfVxyXG5cclxuICBnZXRSZXNwb25zaWJpbGl0aWVzKGlkPzogYW55LCBkYXRhPzogYW55KSB7XHJcbiAgICB0aGlzLmxvYWRlciA9IHRydWU7XHJcbiAgICBsZXQgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKTtcclxuICAgIGlmIChkYXRhPy5zZWFyY2ggfHwgdGhpcy5zZWFyY2hUZXh0LnJlc3BvbnNpYmlsaXR5KSB7XHJcbiAgICAgIHBhcmFtcyA9IHBhcmFtcy5hcHBlbmQoJ3NlYXJjaCcsIHRoaXMuc2VhcmNoVGV4dC5yZXNwb25zaWJpbGl0eSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBwYXJhbXMgPSBwYXJhbXMuYXBwZW5kKCdwYWdlJywgdGhpcy5yZXNwb25zaWJpbGl0aWVzTGlzdC5jdXJyZW50UGFnZSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLnJlc3BvbnNpYmlsaXR5U2VydmljZS5nZXRGcmFtZXdvcmtDb250cm9scyhpZCwgcGFyYW1zKS5waXBlKHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlKSkuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgdGhpcy5jb250cm9sc0xpc3QgPSByZXM7XHJcbiAgICAgICAgdGhpcy5yZXNwb25zaWJpbGl0aWVzTGlzdC5mcm9tID0gcmVzLml0ZW1zX2Zyb20gPz8gMTtcclxuICAgICAgICB0aGlzLnJlc3BvbnNpYmlsaXRpZXNMaXN0LnRvID0gcmVzLml0ZW1zX3RvID8/IDA7XHJcbiAgICAgICAgdGhpcy5yZXNwb25zaWJpbGl0aWVzTGlzdC50b3RhbFBhZ2VzID0gcmVzLnRvdGFsX3BhZ2VzID8/IDA7XHJcbiAgICAgICAgdGhpcy5yZXNwb25zaWJpbGl0aWVzTGlzdC50b3RhbFJlY29yZHMgPSByZXMudG90YWxfaXRlbXMgPz8gMDtcclxuICAgICAgICB0aGlzLnJlc3BvbnNpYmlsaXRpZXNMaXN0LmRhdGEgPSByZXMuZGF0YSA/PyByZXM7XHJcbiAgICAgICAgdGhpcy5sb2FkZXIgPSBmYWxzZTtcclxuICAgICAgfSxcclxuICAgICAgZXJyb3I6IChlcnI6IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMubG9hZGVyID0gZmFsc2U7XHJcbiAgICAgIH0sXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGNoYW5nZVBhZ2UoZXZlbnQ6IGFueSwgdHlwZTogJ2ZyYW1ld29ya3MnIHwgJ2NhdGVnb3JpZXMnIHwgJ3Jlc3BvbnNpYmlsaXRpZXMnKSB7XHJcbiAgICBzd2l0Y2ggKHR5cGUpIHtcclxuICAgICAgY2FzZSAnZnJhbWV3b3Jrcyc6XHJcbiAgICAgICAgdGhpcy5mcmFtZXdvcmtEYXRhLmN1cnJlbnRQYWdlID0gZXZlbnQ7XHJcbiAgICAgICAgdGhpcy5nZXRGcmFtZXdvcmtzTGlzdCgpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdjYXRlZ29yaWVzJzpcclxuICAgICAgICB0aGlzLnN1YkNhdGVnb3JpZXNMaXN0LmN1cnJlbnRQYWdlID0gZXZlbnQ7XHJcbiAgICAgICAgdGhpcy5nZXRTdWJDYXRlZ29yaWVzKHRoaXMuc2VsZWN0ZWRWYWx1ZXMuZnJhbWV3b3JrLl9pZCwgeyBzZWFyY2g6IHRydWUgfSlcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAncmVzcG9uc2liaWxpdGllcyc6XHJcbiAgICAgICAgdGhpcy5yZXNwb25zaWJpbGl0aWVzTGlzdC5jdXJyZW50UGFnZSA9IGV2ZW50O1xyXG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGVkVmFsdWVzPy5mcmFtZXdvcms/LnBhcmVudF9saXN0X2RldGFpbHM/Lmxlbmd0aCA9PSAwICYmIHRoaXMuc2VsZWN0ZWRWYWx1ZXM/LmZyYW1ld29yaz8uY2hpbGRfbGlzdF9kZXRhaWxzLmxlbmd0aCA9PSAwICYmIHRoaXMuc2VsZWN0ZWRWYWx1ZXM/LmZyYW1ld29yaz8udG90YWxDb250cm9scyA+IDApIHtcclxuICAgICAgICAgIHRoaXMuZ2V0UmVzcG9uc2liaWxpdGllcyh0aGlzLnNlbGVjdGVkVmFsdWVzLmZyYW1ld29yay5faWQpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLmdldFN1YkNhdGVnb3JpZXModGhpcy5zZWxlY3RlZFZhbHVlcy5jYXRlZ29yaWVzLl9pZCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG5cclxuICB9XHJcbiAgc2VhcmNoQnkoZXZlbnQ6IGFueSwgdHlwZTogJ2ZyYW1ld29yaycgfCAnY2F0ZWdvcmllcycgfCAncmVzcG9uc2liaWxpdGllcycpIHtcclxuICAgIHN3aXRjaCAodHlwZSkge1xyXG4gICAgICBjYXNlICdmcmFtZXdvcmsnOlxyXG4gICAgICAgIGlmICh0aGlzLnNlYXJjaFRleHQuZnJhbWVXb3JrICE9IGV2ZW50KSB7XHJcbiAgICAgICAgICB0aGlzLnNlYXJjaFRleHQuZnJhbWVXb3JrID0gZXZlbnQ7XHJcbiAgICAgICAgICB0aGlzLmdldEZyYW1ld29ya3NMaXN0KHsgc2VhcmNoOiB0cnVlIH0pXHJcbiAgICAgICAgICB0aGlzLmdldEZyYW1ld29ya3NDb3VudCh7IHNlYXJjaDogdHJ1ZSB9KVxyXG5cclxuICAgICAgICB9XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ2NhdGVnb3JpZXMnOlxyXG4gICAgICAgIGlmICh0aGlzLnNlYXJjaFRleHQuY2F0ZWdvcnkgIT0gZXZlbnQpIHtcclxuICAgICAgICAgIHRoaXMuc2VhcmNoVGV4dC5jYXRlZ29yeSA9IGV2ZW50O1xyXG4gICAgICAgICAgdGhpcy5nZXRTdWJDYXRlZ29yaWVzKHRoaXMuc2VsZWN0ZWRWYWx1ZXMuZnJhbWV3b3JrLl9pZCwgeyBzZWFyY2g6IHRydWUgfSlcclxuICAgICAgICB9XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ3Jlc3BvbnNpYmlsaXRpZXMnOlxyXG4gICAgICAgIGlmICh0aGlzLnNlYXJjaFRleHQucmVzcG9uc2liaWxpdHkgIT0gZXZlbnQpIHtcclxuICAgICAgICAgIHRoaXMuc2VhcmNoVGV4dC5yZXNwb25zaWJpbGl0eSA9IGV2ZW50O1xyXG4gICAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRWYWx1ZXM/LmZyYW1ld29yaz8ucGFyZW50X2xpc3RfZGV0YWlscz8ubGVuZ3RoID09IDAgJiYgdGhpcy5zZWxlY3RlZFZhbHVlcz8uZnJhbWV3b3JrPy5jaGlsZF9saXN0X2RldGFpbHMubGVuZ3RoID09IDAgJiYgdGhpcy5zZWxlY3RlZFZhbHVlcz8uZnJhbWV3b3JrPy50b3RhbENvbnRyb2xzID4gMCkge1xyXG4gICAgICAgICAgICB0aGlzLmdldFJlc3BvbnNpYmlsaXRpZXModGhpcy5zZWxlY3RlZFZhbHVlcy5mcmFtZXdvcmsuX2lkKTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuZ2V0U3ViQ2F0ZWdvcmllcyh0aGlzLnNlbGVjdGVkVmFsdWVzLmNhdGVnb3JpZXMuX2lkKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2VsZWN0RnJhbWV3b3JrKGRhdGE6IGFueSkge1xyXG4gICAgc3dpdGNoICh0aGlzLmN1cnJlbnRMaXN0KSB7XHJcbiAgICAgIGNhc2UgJ2ZyYW1ld29yayc6XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlcy5mcmFtZXdvcmsgPSBkYXRhO1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZXMuY2F0ZWdvcmllcyA9IHt9O1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZXMucmVzcG9uc2liaWxpdGllcyA9IHt9O1xyXG5cclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnY2F0ZWdvcmllcyc6XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlcy5jYXRlZ29yaWVzID0gZGF0YTtcclxuXHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlcy5yZXNwb25zaWJpbGl0aWVzID0ge307XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ3Jlc3BvbnNpYmlsaXRpZXMnOlxyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZXMucmVzcG9uc2liaWxpdGllcyA9IGRhdGE7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcblxyXG4gIH1cclxuICBzYXZlKCkge1xyXG4gICAgc3dpdGNoICh0aGlzLmN1cnJlbnRMaXN0KSB7XHJcbiAgICAgIGNhc2UgJ2ZyYW1ld29yayc6XHJcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRWYWx1ZXM/LmZyYW1ld29yaz8ucGFyZW50X2xpc3RfZGV0YWlscz8ubGVuZ3RoID09IDAgJiYgdGhpcy5zZWxlY3RlZFZhbHVlcz8uZnJhbWV3b3JrPy5jaGlsZF9saXN0X2RldGFpbHMubGVuZ3RoID09IDAgJiYgdGhpcy5zZWxlY3RlZFZhbHVlcz8uZnJhbWV3b3JrPy50b3RhbENvbnRyb2xzID4gMCkge1xyXG4gICAgICAgICAgdGhpcy5jdXJyZW50TGlzdCA9ICdyZXNwb25zaWJpbGl0aWVzJztcclxuICAgICAgICAgIHRoaXMuZ2V0UmVzcG9uc2liaWxpdGllcyh0aGlzLnNlbGVjdGVkVmFsdWVzLmZyYW1ld29yay5faWQpO1xyXG5cclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5jdXJyZW50TGlzdCA9ICdjYXRlZ29yaWVzJztcclxuICAgICAgICAgIHRoaXMuZ2V0U3ViQ2F0ZWdvcmllcyh0aGlzLnNlbGVjdGVkVmFsdWVzLmZyYW1ld29yay5faWQpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnY2F0ZWdvcmllcyc6XHJcbiAgICAgICAgdGhpcy5jdXJyZW50TGlzdCA9ICdyZXNwb25zaWJpbGl0aWVzJztcclxuICAgICAgICB0aGlzLmdldFJlc3BvbnNpYmlsaXRpZXModGhpcy5zZWxlY3RlZFZhbHVlcy5jYXRlZ29yaWVzLl9pZCk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ3Jlc3BvbnNpYmlsaXRpZXMnOlxyXG4gICAgICAgIHRoaXMuYXNzaWduU2VsZWN0ZWRDb250cm9sKHRoaXMuc2VsZWN0ZWRWYWx1ZXMucmVzcG9uc2liaWxpdGllcyk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcbiAgZ29CYWNrKCkge1xyXG4gICAgc3dpdGNoICh0aGlzLmN1cnJlbnRMaXN0KSB7XHJcbiAgICAgIGNhc2UgJ2ZyYW1ld29yayc6XHJcbiAgICAgICAgdGhpcy5jbG9zZUZyYW1ld29yay5lbWl0KCk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ2NhdGVnb3JpZXMnOlxyXG4gICAgICAgIHRoaXMuY3VycmVudExpc3QgPSAnZnJhbWV3b3JrJ1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdyZXNwb25zaWJpbGl0aWVzJzpcclxuICAgICAgICBpZiAodGhpcy5zZWxlY3RlZFZhbHVlcz8uZnJhbWV3b3JrPy5wYXJlbnRfbGlzdF9kZXRhaWxzPy5sZW5ndGggPT0gMCAmJiB0aGlzLnNlbGVjdGVkVmFsdWVzPy5mcmFtZXdvcms/LmNoaWxkX2xpc3RfZGV0YWlscy5sZW5ndGggPT0gMCAmJiB0aGlzLnNlbGVjdGVkVmFsdWVzPy5mcmFtZXdvcms/LnRvdGFsQ29udHJvbHMgPiAwKSB7XHJcbiAgICAgICAgICB0aGlzLmN1cnJlbnRMaXN0ID0gJ2ZyYW1ld29yaydcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5jdXJyZW50TGlzdCA9ICdjYXRlZ29yaWVzJztcclxuICAgICAgICB9XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByZW1vdmUoKSB7XHJcbiAgICBzd2l0Y2ggKHRoaXMuY3VycmVudExpc3QpIHtcclxuICAgICAgY2FzZSAnZnJhbWV3b3JrJzpcclxuICAgICAgICB0aGlzLnNlbGVjdGVkVmFsdWVzLmZyYW1ld29yayA9IHt9O1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZXMuY2F0ZWdvcmllcyA9IHt9O1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZXMucmVzcG9uc2liaWxpdGllcyA9IHt9O1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdjYXRlZ29yaWVzJzpcclxuICAgICAgICB0aGlzLnNlbGVjdGVkVmFsdWVzLmNhdGVnb3JpZXMgPSB7fTtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkVmFsdWVzLnJlc3BvbnNpYmlsaXRpZXMgPSB7fTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAncmVzcG9uc2liaWxpdGllcyc6XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlcy5yZXNwb25zaWJpbGl0aWVzID0ge307XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgc2F2ZUNoYW5nZXModHlwZTogJ3Byb2dyYW1zJyB8ICdjYXRlZ29yaWVzJyB8ICdyZXNwb25zaWJpbGl0aWVzJyB8ICdwcm9ncmFtc09ubHknKSB7XHJcbiAgICBzd2l0Y2ggKHR5cGUpIHtcclxuICAgICAgY2FzZSAncHJvZ3JhbXMnOlxyXG4gICAgICAgIHRoaXMuY3VycmVudExpc3QgPSAnY2F0ZWdvcmllcyc7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlcy5jYXRlZ29yaWVzID0gW107XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlcy5yZXNwb25zaWJpbGl0aWVzID0gW107XHJcbiAgICAgICAgdGhpcy5nZXRTdWJDYXRlZ29yaWVzKCk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ2NhdGVnb3JpZXMnOlxyXG4gICAgICAgIHRoaXMuY3VycmVudExpc3QgPSAncmVzcG9uc2liaWxpdGllcyc7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlcy5yZXNwb25zaWJpbGl0aWVzID0gW107XHJcbiAgICAgICAgdGhpcy5nZXRSZXNwb25zaWJpbGl0aWVzKCk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ3Jlc3BvbnNpYmlsaXRpZXMnOlxyXG4gICAgICAgIC8vIHRoaXMuc3VibWl0cHJvZ3JhbUludGVncmF0aW9uKCk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBhc3NpZ25TZWxlY3RlZENvbnRyb2woZGF0YTogYW55KSB7XHJcbiAgICBsZXQgc2VsZWN0ZWRGcmFtZXdvcmtEYXRhID0gdGhpcy5zZWxlY3RlZFZhbHVlcztcclxuICAgIHRoaXMuYXNzaWduQ29udHJvbC5lbWl0KHsgZGF0YSwgc2VsZWN0ZWRGcmFtZXdvcmtEYXRhIH0pO1xyXG4gIH1cclxuXHJcbn1cclxuIl19
|
|
@@ -20,7 +20,7 @@ export class FrameworkResponsibilityTableComponent {
|
|
|
20
20
|
FrameworkResponsibilityTableComponent.decorators = [
|
|
21
21
|
{ type: Component, args: [{
|
|
22
22
|
selector: 'app-framework-responsibility-table',
|
|
23
|
-
template: "<div class=\"framework-responsibility-table\">\r\n <div class=\"table-header\">\r\n <div class=\"table-row\">\r\n <div\r\n class=\"table-column vx-fs-11 vx-fw-500 vx-lh-5 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-d-flex vx-align-center serial\">\r\n #</div>\r\n <div\r\n class=\"table-column vx-fs-11 vx-fw-500 vx-lh-5 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-d-flex vx-align-center name\">\r\n NAME</div>\r\n <div\r\n class=\"table-column vx-fs-11 vx-fw-500 vx-lh-5 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-d-flex vx-align-center action-button\">\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"table-body\">\r\n <lib-framework-table-loader *ngIf=\"loader\"></lib-framework-table-loader>\r\n <!-- when radio button was checked then active class was true -->\r\n <ng-container *ngIf=\"!loader\">\r\n <div class=\"table-row\" (click)=\"selectControl(control)\" [class.active]=\"currentSelectedControl?.id == control?.id\"\r\n *ngFor=\"let control of controlsList; let i =index;\">\r\n <div class=\"table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center serial\">\r\n <div class=\"sr-no\" [appTooltip]=\"'1'\" placement=\"bottom\" delay=\"0\" type=\"black\"\r\n [tooltipMandatory]=\"true\">\r\n {{i+1}}\r\n <app-cs-radio [checked]=\"currentSelectedControl?.id == control?.id\">\r\n </app-cs-radio>\r\n </div>\r\n </div>\r\n <div class=\"table-column vx-pr-1 vx-d-flex vx-align-center name\">\r\n <!-- <div class=\"vx-avatar-group vx-mr-2\">\r\n <div class=\"vx-avatar md\" [appTooltip]=\"'Harshvardhan Kariwala'\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"true\">\r\n <span class=\"blue\">hk</span>\r\n <img *ngIf=\"false\" src=\"https://s3-eu-west-1.amazonaws.com/eu.v-comply.com/profile_pic/thumb/1591875227667_vcomply.png\" alt=\"\">\r\n </div>\r\n <div class=\"vx-avatar md\" [appTooltip]=\"'Harshvardhan Kariwala'\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"true\">\r\n <span class=\"green\">hk</span>\r\n <img *ngIf=\"false\" src=\"https://s3-eu-west-1.amazonaws.com/eu.v-comply.com/profile_pic/thumb/1591875227667_vcomply.png\" alt=\"\">\r\n </div>\r\n </div> -->\r\n <div class=\"vx-d-block vx-w-100\">\r\n <div class=\"vx-d-flex vx-w-100\">\r\n <div class=\"responsibility-name vx-fs-12 vx-label-txt vx-pr-2\" [appTooltip]=\"control?.name\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"false\">\r\n <!-- <span class=\"id vx-fs-10 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mr-1\">[CID-18087001]</span> -->\r\n {{control?.name}}\r\n </div>\r\n <button class=\"info-btn vx-fs-14 vx-txt-blue vx-m-0 vx-p-0 vx-d-flex vx-align-center\" appPopover (click)=\"responsibilityInfoBtn.popover()\" placement=\"
|
|
23
|
+
template: "<div class=\"framework-responsibility-table\">\r\n <div class=\"table-header\" *ngIf=\"loader || controlsList?.length\">\r\n <div class=\"table-row\">\r\n <div\r\n class=\"table-column vx-fs-11 vx-fw-500 vx-lh-5 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-d-flex vx-align-center serial\">\r\n #</div>\r\n <div\r\n class=\"table-column vx-fs-11 vx-fw-500 vx-lh-5 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-d-flex vx-align-center name\">\r\n NAME</div>\r\n <div\r\n class=\"table-column vx-fs-11 vx-fw-500 vx-lh-5 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-d-flex vx-align-center action-button\">\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"table-body\">\r\n <lib-framework-table-loader *ngIf=\"loader\"></lib-framework-table-loader>\r\n <!-- when radio button was checked then active class was true -->\r\n <ng-container *ngIf=\"!loader\">\r\n <div class=\"table-row\" (click)=\"selectControl(control)\" [class.active]=\"currentSelectedControl?.id == control?.id\"\r\n *ngFor=\"let control of controlsList; let i =index;\">\r\n <div class=\"table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center serial\">\r\n <div class=\"sr-no\" [appTooltip]=\"'1'\" placement=\"bottom\" delay=\"0\" type=\"black\"\r\n [tooltipMandatory]=\"true\">\r\n {{i+1}}\r\n <app-cs-radio [checked]=\"currentSelectedControl?.id == control?.id\">\r\n </app-cs-radio>\r\n </div>\r\n </div>\r\n <div class=\"table-column vx-pr-1 vx-d-flex vx-align-center name\">\r\n <!-- <div class=\"vx-avatar-group vx-mr-2\">\r\n <div class=\"vx-avatar md\" [appTooltip]=\"'Harshvardhan Kariwala'\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"true\">\r\n <span class=\"blue\">hk</span>\r\n <img *ngIf=\"false\" src=\"https://s3-eu-west-1.amazonaws.com/eu.v-comply.com/profile_pic/thumb/1591875227667_vcomply.png\" alt=\"\">\r\n </div>\r\n <div class=\"vx-avatar md\" [appTooltip]=\"'Harshvardhan Kariwala'\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"true\">\r\n <span class=\"green\">hk</span>\r\n <img *ngIf=\"false\" src=\"https://s3-eu-west-1.amazonaws.com/eu.v-comply.com/profile_pic/thumb/1591875227667_vcomply.png\" alt=\"\">\r\n </div>\r\n </div> -->\r\n <div class=\"vx-d-block vx-w-100\">\r\n <div class=\"vx-d-flex vx-w-100\">\r\n <div class=\"responsibility-name vx-fs-12 vx-label-txt vx-pr-2\" [appTooltip]=\"control?.name\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"false\">\r\n <!-- <span class=\"id vx-fs-10 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mr-1\">[CID-18087001]</span> -->\r\n {{control?.name}}\r\n </div>\r\n <button class=\"info-btn vx-fs-14 vx-txt-blue vx-m-0 vx-p-0 vx-d-flex vx-align-center\" appPopover (click)=\"responsibilityInfoBtn.popover()\" placement=\"left\"><i class=\"icons\"></i></button>\r\n <app-popover #responsibilityInfoBtn [dontCloseonClick]=\"true\">\r\n <div class=\"action-list\">\r\n <div class=\"responsibility-info vx-p-3\">\r\n <!-- <div class=\"vx-fs-11 vx-fw-500 vx-label-txt vx-mb-1\">FREQUENCY:</div>\r\n <div class=\"vx-fs-13 vx-paragraph-txt\">{{(control?.frequency) ?control?.frequency: 'N/A'}}</div>\r\n <div class=\"separator vx-mt-2 vx-mb-2\"></div> -->\r\n <div class=\"vx-fs-11 vx-fw-500 vx-label-txt vx-mb-1\">OBJECTIVE:</div>\r\n <div class=\"vx-fs-12 vx-paragraph-txt\" [innerHtml]=\"(control?.objectives) ? control?.objectives: 'N/A'\">\r\n <!-- It\u2019s an important part of the information security management system (ISMS) especially if you\u2019d like to achieve ISO 27001 certification. Lets understand those requirements and what they mean in a bit more depth now.\r\n <br><br>\r\n Any assets associated with information and information processing facilities need to be identified and managed over the lifecycle, always up to date.\r\n <br><br>\r\n A register or inventory of those assets has to be put together that shows how they are managed and controlled, based around their importance (which also dovetails neatly into information classification below). This lifecycle of the information generally includes creation, processing, storage, transmission, deletion and destruction stages.\r\n <br><br>\r\n Read how to develop an asset inventory for ISO 27001<br>\r\n Read looking after your information assets the ISO 27001 way<br>\r\n Discover an integrated approach to asset inventory for ISO 27001 in ISMS.online -->\r\n </div>\r\n </div>\r\n </div>\r\n </app-popover>\r\n </div>\r\n <div class=\"within-part\">\r\n <span class=\"vx-fs-11 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mr-1\">Frequency:</span>\r\n <span class=\"value\" [appTooltip]=\"(control?.frequency) ?control?.frequency: 'N/A'\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"false\">{{(control?.frequency) ?control?.frequency: 'N/A'}}</span>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center vx-justify-end action-button\">\r\n <button\r\n class=\"assign-btn vx-fs-11 vx-fw-500 vx-txt-blue vx-p-0 vx-pl-2 vx-pr-2 vx-m-0 vx-tt-uppercase vx-d-flex vx-align-center vx-justify-center vx-lh-4\"\r\n (click)=\"assign(control)\">ASSIGN</button>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n </div>\r\n</div>",
|
|
24
24
|
styles: ["@import url(\"https://cdn.v-comply.com/design-system/css/icons/icons.css\");@import url(\"https://cdn.v-comply.com/design-system/css/mixin/mixin.css\");@import url(\"https://cdn.v-comply.com/design-system/css/display/display.css\");@import url(\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\");@import url(\"https://cdn.v-comply.com/design-system/css/color/color.css\");@import url(\"https://cdn.v-comply.com/design-system/css/text/text.css\");@import url(\"https://cdn.v-comply.com/design-system/css/width/width.css\");@import url(\"https://cdn.v-comply.com/design-system/css/margin/margin.css\");@import url(\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\");@import url(\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\");@import url(\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\");@import url(\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\");@import url(\"https://cdn.v-comply.com/design-system/css/padding/padding.css\");@import url(\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\");@import url(\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\");@import url(\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\");@import url(\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\");@import url(\"https://cdn.v-comply.com/design-system/css/avatars/avatars.css\");::ng-deep .framework-responsibility-table .table-header{background:#fff;border-radius:.125rem;position:sticky;top:0;z-index:1}::ng-deep .framework-responsibility-table .table-header .table-column{line-height:1rem!important;min-height:1.875rem!important}::ng-deep .framework-responsibility-table .table-body{position:relative}::ng-deep .framework-responsibility-table .table-body .table-row{background:#fff;border-radius:.125rem;border:1px solid #f1f1f1;transition:all .2s ease-in-out;margin-bottom:.25rem}::ng-deep .framework-responsibility-table .table-body .table-row:hover{transition:all .2s ease-in-out;box-shadow:0 3px 6px #00000029}::ng-deep .framework-responsibility-table .table-body .table-row:hover .table-column.serial .sr-no{background:#fff;font-size:0}::ng-deep .framework-responsibility-table .table-body .table-row:hover .table-column.serial .sr-no app-cs-radio{opacity:1}::ng-deep .framework-responsibility-table .table-body .table-row.active{border-color:#1e5dd3}::ng-deep .framework-responsibility-table .table-body .table-row.active .table-column.serial .sr-no{background:#fff;font-size:0}::ng-deep .framework-responsibility-table .table-body .table-row.active .table-column.serial .sr-no app-cs-radio{opacity:1}::ng-deep .framework-responsibility-table .table-row{display:flex;justify-content:space-between;position:relative}::ng-deep .framework-responsibility-table .table-row.row-clickable{cursor:pointer}::ng-deep .framework-responsibility-table .table-column{color:#747576;min-height:2.5rem;position:relative;width:100%}::ng-deep .framework-responsibility-table .table-column i.info{color:#1e5dd3;cursor:pointer}::ng-deep .framework-responsibility-table .table-column .sorting{cursor:pointer;position:relative;top:1px;left:-1px}::ng-deep .framework-responsibility-table .table-column.serial{width:2.5rem;max-width:2.5rem;justify-content:center}::ng-deep .framework-responsibility-table .table-column.serial .sr-no{width:1.25rem;background:#f8f8f8;-ms-writing-mode:tb-lr;writing-mode:vertical-lr;color:#747576;font-size:.625rem;font-weight:500;display:flex;height:2.5rem;align-items:center;justify-content:center;position:relative;transition:all .2s ease-in-out}::ng-deep .framework-responsibility-table .table-column.serial .sr-no app-cs-radio{position:absolute;top:.75rem;left:.125rem;width:1rem;height:1rem;opacity:0;transition:all .2s ease-in-out}::ng-deep .framework-responsibility-table .table-column.serial .sr-no app-cs-radio .radio-item{position:absolute;top:0;left:0}::ng-deep .framework-responsibility-table .table-column.name{width:calc(100% - 7rem);min-width:calc(100% - 7rem)}::ng-deep .framework-responsibility-table .table-column.name .responsibility-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;max-width:calc(100% - 6.5rem)}::ng-deep .framework-responsibility-table .table-column.name button.info-btn{background:transparent;border-radius:0;border:none}::ng-deep .framework-responsibility-table .table-column.action-button{width:4.5rem;min-width:4.5rem}::ng-deep .framework-responsibility-table .table-column.action-button button.assign-btn{background:transparent;border-radius:.125rem;border:1px solid #f1f1f1}::ng-deep .responsibility-info{-webkit-animation:scale-up-center .2s cubic-bezier(.39,.575,.565,1) both;animation:scale-up-center .2s cubic-bezier(.39,.575,.565,1) both;background:#fff;box-shadow:0 3px 12px #1c5bd126;border-radius:.25rem;width:320px;max-height:220px;overflow:auto}::ng-deep .responsibility-info::-webkit-scrollbar-track{background-color:transparent}::ng-deep .responsibility-info::-webkit-scrollbar{width:3px;height:3px;background-color:transparent;position:absolute}::ng-deep .responsibility-info::-webkit-scrollbar-thumb{border-radius:3px;background-color:#dbdbdb;position:absolute}::ng-deep .responsibility-info .separator{background:#f1f1f1;width:100%;height:1px}@-webkit-keyframes scale-up-center{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}@keyframes scale-up-center{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}.within-part{display:flex;align-items:center;padding-right:12px}.within-part .value{text-overflow:ellipsis!important;white-space:nowrap!important;overflow:hidden!important;font-size:11px!important;color:#747576!important}.within-box{background:#f1f1f1;border-radius:2px;color:#042e7d;font-size:9px;font-weight:600;text-transform:uppercase;padding:0 4px;margin-right:8px;line-height:12px}"]
|
|
25
25
|
},] }
|
|
26
26
|
];
|
|
@@ -32,4 +32,4 @@ FrameworkResponsibilityTableComponent.propDecorators = {
|
|
|
32
32
|
currentSelectedControl: [{ type: Input }],
|
|
33
33
|
listLoader: [{ type: Input }]
|
|
34
34
|
};
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJhbWV3b3JrLXJlc3BvbnNpYmlsaXR5LXRhYmxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3NoYXJlZENvbXBvbmVudHMvZnJhbWV3b3JrLWxpc3QvZnJhbWV3b3JrLXJlc3BvbnNpYmlsaXR5LXRhYmxlL2ZyYW1ld29yay1yZXNwb25zaWJpbGl0eS10YWJsZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFPOUYsTUFBTSxPQUFPLHFDQUFxQztJQVFoRDtRQU5VLG9CQUFlLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNyQyxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFJN0MsV0FBTSxHQUFXLElBQUksQ0FBQztJQUNOLENBQUM7SUFDakIsV0FBVyxDQUFDLE9BQXNCO1FBQ2pDLElBQUksQ0FBQyxNQUFNLEdBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUNoQyxDQUFDO0lBQ0MsUUFBUTtJQUNSLENBQUM7SUFFRCxhQUFhLENBQUMsSUFBUTtRQUNyQixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBQ0QsTUFBTSxDQUFDLE9BQVc7UUFDaEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFFbkMsQ0FBQzs7O1lBMUJKLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsb0NBQW9DO2dCQUM5Qyw0cE5BQThEOzthQUUvRDs7OzsyQkFFRSxLQUFLOzhCQUNMLE1BQU07NEJBQ04sTUFBTTtxQ0FDTixLQUFLO3lCQUNMLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1mcmFtZXdvcmstcmVzcG9uc2liaWxpdHktdGFibGUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9mcmFtZXdvcmstcmVzcG9uc2liaWxpdHktdGFibGUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2ZyYW1ld29yay1yZXNwb25zaWJpbGl0eS10YWJsZS5jb21wb25lbnQubGVzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGcmFtZXdvcmtSZXNwb25zaWJpbGl0eVRhYmxlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBASW5wdXQoKSBjb250cm9sc0xpc3QhOmFueTtcclxuICBAT3V0cHV0KCkgc2VsZWN0ZWRDb250cm9sID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBhc3NpZ25Db250cm9sID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBJbnB1dCgpIGN1cnJlbnRTZWxlY3RlZENvbnRyb2wgITphbnk7XHJcbiAgQElucHV0KCkgbGlzdExvYWRlciE6IGJvb2xlYW47XHJcblxyXG4gIGxvYWRlcjpib29sZWFuID0gdHJ1ZTtcclxuICBjb25zdHJ1Y3RvcigpIHsgfVxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgdGhpcy5sb2FkZXIgPSAgdGhpcy5saXN0TG9hZGVyO1xyXG4gIH1cclxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgfVxyXG4gIFxyXG4gICAgc2VsZWN0Q29udHJvbChkYXRhOmFueSl7XHJcbiAgICAgdGhpcy5zZWxlY3RlZENvbnRyb2wuZW1pdChkYXRhKTtcclxuICAgIH1cclxuICAgIGFzc2lnbihjb250cm9sOmFueSl7XHJcbiAgICAgIHRoaXMuYXNzaWduQ29udHJvbC5lbWl0KGNvbnRyb2wpO1xyXG5cclxuICAgIH1cclxuXHJcbn1cclxuIl19
|