@annalib/anna-core 20.3.2 → 20.3.4
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/README.md +28 -28
- package/esm2022/lib/anna-core-shared-lib/components/anna-buyer-approval-icon-template/anna-buyer-approval-icon-template.component.mjs +3 -3
- package/esm2022/lib/anna-core-shared-lib/components/anna-deleted-order-icon-template/anna-deleted-order-icon-template.component.mjs +3 -3
- package/esm2022/lib/anna-core-shared-lib/components/anna-est-icon-template/anna-est-icon-template.component.mjs +3 -3
- package/esm2022/lib/anna-core-shared-lib/components/anna-icon-column/anna-icon-column.component.mjs +3 -3
- package/esm2022/lib/anna-core-shared-lib/components/anna-live-icon-template/anna-live-icon-template.component.mjs +3 -3
- package/esm2022/lib/anna-core-shared-lib/components/anna-no-data/anna-no-data.component.mjs +3 -3
- package/esm2022/lib/anna-core-shared-lib/components/anna-notify-icon-template/anna-notify-icon-template.component.mjs +3 -3
- package/esm2022/lib/anna-core-shared-lib/components/anna-pay-for-performance-icon-template/anna-pay-for-performance-icon-template.component.mjs +3 -3
- package/esm2022/lib/anna-core-shared-lib/components/anna-rejected-icon-template/anna-rejected-icon-template.component.mjs +3 -3
- package/esm2022/lib/anna-core-shared-lib/models/anna-generic-data-type.model.mjs +1 -1
- package/esm2022/lib/anna-core-shared-lib/services/anna-filter.service.mjs +6 -5
- package/esm2022/lib/anna-core.module.mjs +1 -16
- package/esm2022/lib/anna-dropdown-lib/components/anna-calendar-filter/anna-calendar-filter.component.mjs +3 -3
- package/esm2022/lib/anna-dropdown-lib/components/anna-week-calendar-filter/anna-week-calendar-filter.component.mjs +3 -3
- package/esm2022/lib/anna-generic-table-lib/components/anna-column-filters/anna-column-checkbox-filter/anna-column-checkbox-filter.component.mjs +3 -3
- package/esm2022/lib/anna-generic-table-lib/components/anna-column-filters/anna-column-date-range-filter/anna-column-date-range-filter.component.mjs +3 -3
- package/esm2022/lib/anna-generic-table-lib/components/anna-column-filters/anna-column-slider-filter/anna-column-slider-filter.component.mjs +3 -3
- package/esm2022/lib/anna-generic-table-lib/components/anna-column-filters/anna-column-time-filter/anna-column-time-filter.component.mjs +3 -3
- package/esm2022/lib/anna-generic-table-lib/components/anna-non-editable-generic-table/anna-non-editable-generic-table.component.mjs +3 -3
- package/esm2022/lib/anna-generic-table-lib/components/anna-sort/anna-sort.component.mjs +3 -3
- package/esm2022/public-api.mjs +1 -5
- package/fesm2022/annalib-anna-core.mjs +183 -915
- package/fesm2022/annalib-anna-core.mjs.map +1 -1
- package/lib/anna-core.module.d.ts +12 -15
- package/package.json +1 -1
- package/public-api.d.ts +0 -3
- package/src/lib/anna-common-scss/_animate.scss +27 -27
- package/src/lib/anna-common-scss/_application-spacing.scss +7 -7
- package/src/lib/anna-common-scss/_bootstrap-tooltip.scss +27 -27
- package/src/lib/anna-common-scss/_button.scss +18 -18
- package/src/lib/anna-common-scss/_colors.scss +107 -107
- package/src/lib/anna-common-scss/_common-order-listing-table.scss +176 -176
- package/src/lib/anna-common-scss/_custom-anna-datepicker.scss +14 -14
- package/src/lib/anna-common-scss/_customDropdown.scss +123 -123
- package/src/lib/anna-common-scss/_dashboard-partials.scss +106 -106
- package/src/lib/anna-common-scss/_date-picker-form.scss +87 -87
- package/src/lib/anna-common-scss/_easy-filter.scss +138 -138
- package/src/lib/anna-common-scss/_edit-filter-popup.scss +70 -70
- package/src/lib/anna-common-scss/_filters.scss +724 -724
- package/src/lib/anna-common-scss/_font.scss +9 -9
- package/src/lib/anna-common-scss/_fonts.scss +86 -86
- package/src/lib/anna-common-scss/_generic-modal.scss +63 -63
- package/src/lib/anna-common-scss/_generic-table-common.scss +198 -198
- package/src/lib/anna-common-scss/_gt-table.scss +425 -425
- package/src/lib/anna-common-scss/_icons.scss +3 -3
- package/src/lib/anna-common-scss/_legend.scss +11 -11
- package/src/lib/anna-common-scss/_mat-button-toggle.scss +38 -38
- package/src/lib/anna-common-scss/_mat-menu.scss +17 -17
- package/src/lib/anna-common-scss/_mixins.scss +187 -187
- package/src/lib/anna-common-scss/_modal.scss +37 -37
- package/src/lib/anna-common-scss/_popup-filter-toggle-button.scss +36 -36
- package/src/lib/anna-common-scss/_scrollbar.scss +14 -14
- package/src/lib/anna-common-scss/_sort.scss +30 -30
- package/src/lib/anna-common-scss/_toggle.scss +86 -86
- package/src/lib/anna-common-scss/style.scss +1 -1
- package/src/lib/anna-common-scss/third-party-lib/_angular-material-mat-radio.scss +25 -25
- package/src/lib/anna-common-scss/third-party-lib/_anna-mat-button-toggle-group-size-lg.scss +34 -34
- package/src/lib/anna-common-scss/third-party-lib/_mat-autocomplete.scss +31 -31
- package/esm2022/lib/anna-generic-table-lib/components/anna-table-virtual-scroll-viewport/anna-table-virtual-scroll-viewport.component.mjs +0 -353
- package/esm2022/lib/anna-generic-table-lib/directives/anna-fixed-row-size-table-virtual-scroll-strategy/anna-fixed-row-size-table-virtual-scroll-strategy.directive.mjs +0 -204
- package/esm2022/lib/anna-generic-table-lib/directives/anna-fixed-row-size-table-virtual-scroll-strategy/index.mjs +0 -2
- package/esm2022/lib/anna-generic-table-lib/directives/anna-virtual-table/anna-virtual-table.directive.mjs +0 -186
- package/esm2022/lib/anna-generic-table-lib/directives/anna-virtual-table/index.mjs +0 -2
- package/lib/anna-generic-table-lib/components/anna-table-virtual-scroll-viewport/anna-table-virtual-scroll-viewport.component.d.ts +0 -141
- package/lib/anna-generic-table-lib/directives/anna-fixed-row-size-table-virtual-scroll-strategy/anna-fixed-row-size-table-virtual-scroll-strategy.directive.d.ts +0 -89
- package/lib/anna-generic-table-lib/directives/anna-fixed-row-size-table-virtual-scroll-strategy/index.d.ts +0 -1
- package/lib/anna-generic-table-lib/directives/anna-virtual-table/anna-virtual-table.directive.d.ts +0 -45
- package/lib/anna-generic-table-lib/directives/anna-virtual-table/index.d.ts +0 -1
|
@@ -289,11 +289,11 @@ export class AnnaColumnSliderFilterComponent {
|
|
|
289
289
|
this.filterAppliedToTable.emit(this.tableData);
|
|
290
290
|
}
|
|
291
291
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AnnaColumnSliderFilterComponent, deps: [{ token: i1.AnnaFilterService }, { token: i2.AnnaSortService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
292
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: AnnaColumnSliderFilterComponent, isStandalone: true, selector: "anna-core-anna-column-slider-filter", inputs: { filterTabObjects: "filterTabObjects", isLurAndCsrComponent: "isLurAndCsrComponent", tableData: "tableData", showFilterHeaderTabs: "showFilterHeaderTabs", clonedTableData: "clonedTableData" }, outputs: { closeTooltip: "closeTooltip", filterAppliedToTable: "filterAppliedToTable", getSortType: "getSortType", sortingAppliedToTable: "sortingAppliedToTable" }, ngImport: i0, template: "<div\n class=\"radio-container\"\n *ngIf=\"showFilterHeaderTabs\"\n>\n <div *ngFor=\"let data of filterTabObjects\">\n <p\n class=\"filter-tab\"\n [title]=\"data.label\"\n (click)=\"populateTooltipDataBasedOnSelectedRadio(data, true)\"\n [ngClass]=\"{ active: annaFilterService.selectedRadio === data.key }\"\n *ngIf=\"filterTabObjects.length > 0\"\n >\n {{ data.label }}\n </p>\n </div>\n</div>\n\n<anna-core-sort-lib\n *ngIf=\"showSortComponent\"\n [ngClass]=\"{ 'no-bottom-border': !showFilterComponent }\"\n (sortOptionClicked)=\"storeSortTypeInTempVariable($event)\"\n [sortObjectKey]=\"annaFilterService.selectedRadio\"\n></anna-core-sort-lib>\n\n<ng-container *ngIf=\"showFilterComponent\">\n <button\n class=\"column-clear-all\"\n [disabled]=\"disableColumnClearAllBtn\"\n (click)=\"clearColumnFilter()\"\n >\n Clear filter\n </button>\n <section class=\"min-maxContainer\">\n <input\n type=\"number\"\n class=\"slider-text\"\n step=\"{{ sliderFilterTextBoxStep }}\"\n [(ngModel)]=\"sliderMinValue\"\n (ngModelChange)=\"minValueChanged($event)\"\n [ngClass]=\"{ 'red-border': showSliderMinValueError }\"\n placeholder=\"Min\"\n />\n <span>To</span>\n <input\n type=\"number\"\n class=\"slider-text\"\n step=\"{{ sliderFilterTextBoxStep }}\"\n [(ngModel)]=\"sliderMaxValue\"\n (ngModelChange)=\"maxValueChanged($event)\"\n [ngClass]=\"{ 'red-border': showSliderMaxValueError }\"\n placeholder=\"Max\"\n />\n </section>\n <div class=\"sidebar-slider\">\n <ngx-slider\n *ngIf=\"!showEmptySpaceForSlider\"\n [ngClass]=\"{\n 'show-min': sliderMinValue !== options.floor,\n 'show-max': sliderMaxValue !== options.ceil\n }\"\n class=\"filter-slider\"\n [(value)]=\"sliderEnteredMinValue\"\n [(highValue)]=\"sliderEnteredMaxValue\"\n [options]=\"options\"\n ></ngx-slider>\n <div\n *ngIf=\"showEmptySpaceForSlider\"\n class=\"slider-placeholder\"\n ></div>\n </div>\n</ng-container>\n\n<div class=\"buttons-container\">\n <button\n class=\"button\"\n (click)=\"cancelSliderFilter()\"\n >\n Cancel\n </button>\n <button\n class=\"button\"\n [ngClass]=\"{ disabled: disableSliderApplyButton }\"\n (click)=\"applyFilters()\"\n [disabled]=\"disableSliderApplyButton\"\n >\n Apply\n </button>\n</div>\n", styles: [".sort-btn{background:#fff;border:none;border-right:1px solid #1b88ff;text-decoration:underline;font-family:Roboto;font-size:14px;font-weight:400;font-stretch:normal;font-style:normal;line-height:1.07;letter-spacing:normal;color:#1b88ff;cursor:pointer;flex:1;text-align:center}.sort-btn:last-of-type{border-right:none}.sort-btn.active{color:#202b47;text-decoration:none}p.sort-container{margin-top:8px;padding-bottom:8px;border-bottom:1px solid #e6e6e6;margin-bottom:0;display:flex}::ng-deep .tooltip-inner{max-height:22rem;background-color:#fff;border:1px solid white;border-radius:5px;box-shadow:0 2px 2px #0000003d,0 0 2px #0000001f;max-width:251px;width:100%;padding:0!important}::ng-deep .tooltip-inner div.radio-container{flex-wrap:wrap}::ng-deep .md-drppicker{box-shadow:unset!important}::ng-deep .available{color:#999}::ng-deep .bs-tooltip-bottom .arrow:before{border-bottom-color:#fff!important}::ng-deep .bs-tooltip-left .arrow:before{border-left-color:#fff!important}::ng-deep .tooltip.show{opacity:1}.input{text-align:left;margin:5px 10px 5px 5px;display:flex;align-items:center;width:230px;white-space:nowrap}.data{color:#000;font-weight:700;margin-left:5px;margin-right:5px}span.data{display:inline-block;text-overflow:ellipsis;white-space:pre;width:100%;overflow:hidden}.check-box{font-size:14px;cursor:pointer;position:relative;top:-1px}span.mdi-filter.active{color:#000;opacity:1!important;pointer-events:all!important}p{margin-bottom:0;line-height:initial}span.mdi-filter{color:#cbcbcb}::ng-deep .ngx-slider-pointer{top:-5px!important;width:12px!important;height:12px!important;background:#bdbdbd!important;border:1px solid #ffffff!important;box-shadow:0 1px 3px #0000004d!important;border-radius:16px!important}input:focus{outline:none}input::placeholder{color:#c8c8c8}.cancel-btn{background:#c7e1ff;color:#268bff}.apply-btn{background:#268bff;color:#fff;margin-left:.3125rem}div.radio-container{display:flex;white-space:nowrap;justify-content:space-between;background-color:#f4f4f4;border-radius:.125rem;margin:.4375rem .4375rem .25rem}div.radio-container div{flex:1;width:50%}div.radio-container div.full-width{width:100%}div.radio-container input{position:relative;top:.125rem;margin-right:.25rem}div.radio-container label{font-family:Roboto;font-size:.875rem;font-weight:400;font-stretch:normal;font-style:normal;line-height:1.29;letter-spacing:0;color:#4a4a4a;margin:0;padding-left:.125rem}div.radio-container label:first-of-type{margin-right:.188rem}div.radio-container input[type=radio]{appearance:none;display:inline-block;width:.9375rem;height:.9375rem;padding:.125rem;background-clip:content-box;border:.125rem solid #268bff;background-color:transparent;border-radius:50%}div.radio-container input[type=radio]:checked{background-color:#268bff}.checkbox-filter-buttons-container{padding:0 8px!important}.buttons-container{display:flex;margin:0px auto .4375rem;justify-content:center;padding:0 12px}.buttons-container .button{padding:0 10px;width:100%;margin:8px 0 0;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.buttons-container button:last-of-type{background-color:#268bff;color:#fff;margin-left:.5rem}.buttons-container button.disabled{background:#bdbdbd;opacity:.5;color:#4a4a4a}.button{display:inline-block;margin:8px 4px 0 8px;padding:0 16px;border-radius:4px;text-align:center;outline:none;font-family:Roboto;font-size:.75rem;font-weight:400;font-stretch:normal;font-style:normal;line-height:1.67;letter-spacing:normal;border:none;color:#268bff;background-color:#e5f1ff}.search-box{display:flex;align-items:center;color:#c8c8c8;border:1px solid #e6e6e6;border-radius:.125rem;margin:.25rem .4375rem .188rem;height:1.5rem;padding:.188rem 8px .188rem .5rem}.search-box .search-bar-close{margin-left:auto;float:right}.search-icon{margin:0 4px 0 0;font-size:1.125rem;color:#9b9b9b}.filter-icon{justify-content:right;margin-left:auto;color:#d4d4d4;color:#a1a1a1;font-size:16px;cursor:pointer}.data{margin:0 13px 0 8px;font-family:Roboto;font-size:.875rem;font-weight:400;font-stretch:normal;font-style:normal;line-height:1.86;letter-spacing:\"\";color:#4a4a4a}.search-input{font-family:Roboto;font-size:.875rem;font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal;color:#c8c8c8;width:calc(100% - 38px);margin:1px 0 1px 2px;border:none;padding:0}.check-box{color:#268bff}.tooltip-data-container{overflow-y:scroll;max-height:8rem}.searchbar{width:100%;display:flex;justify-content:flex-end;align-items:flex-end}.clear-button{opacity:.5;font-family:Roboto;font-size:.9375rem;font-weight:500;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal;text-decoration:underline;border:none;background-color:#fff;color:#4a4a4a;margin-left:.625rem;padding:0}.clear-button:focus{outline:none;box-shadow:none}.unchecked{color:#268bff}cdk-virtual-scroll-viewport.dropdown-data-container{max-height:12.3rem;width:100%;overflow-y:auto;overflow-x:hidden}cdk-virtual-scroll-viewport.dropdown-data-container p.input{margin-left:0}cdk-virtual-scroll-viewport.dropdown-data-container p.input span.mi{padding-left:.4375rem}cdk-virtual-scroll-viewport.dropdown-data-container p.input:hover{background-color:#ebebeb;cursor:pointer}cdk-virtual-scroll-viewport.dropdown-data-container::-webkit-scrollbar{width:.188rem}cdk-virtual-scroll-viewport.dropdown-data-container::-webkit-scrollbar-thumb{color:#d3d3d3;background:#d3d3d3}section.min-maxContainer{display:flex;justify-content:center;margin-bottom:-.125rem;margin-top:.5rem;width:100%}section.min-maxContainer input{width:30%;height:1.875rem;border:1px solid lightgray;color:gray}section.min-maxContainer span{display:inline-block;padding-left:.5rem;padding-right:.5rem;position:relative;top:.3125rem;color:#666}.time-container{width:100%;display:flex;padding:0 .75rem}.time-container input.form-control:disabled{background-color:#fff;width:2.813rem}.time-container input.numberInput:focus{box-shadow:none;border-color:#c2cfd6}.time-container .dot{color:#cbcbcb;position:relative;left:-7px;font-size:17px}.time-container div.arrow-container{flex-direction:column;display:flex;margin-top:.375rem;width:9px;height:18px;margin-right:1.1875rem}.time-container div.arrow-container i{color:#000;cursor:pointer;max-height:9px;font-size:25px;width:10px}.time-container div.arrow-container i:before{width:0;height:0;pointer-events:none;position:relative;left:-9px;top:-11px}.mdi-filter{cursor:pointer}.time-label-container{display:flex;justify-content:flex-start}.time-label-container label{margin-bottom:0;color:#4a4a4a;margin-top:.125rem;margin-left:.75rem;font-weight:700}.time-heading{color:#000;font-size:.8125rem;text-align:left;padding-left:.625rem;margin-top:.625rem;font-weight:700}.column-clear-all{width:94%;text-align:center;border:none;font-size:14px;background:none;text-decoration:underline;color:#268bff}.checkbox-container{display:flex;padding-inline:.625rem}.checkbox-container .data{text-align:left}.checkbox-container:first-of-type{margin-top:.625rem;font-weight:500}.column-clear-all{width:94%;text-align:center;border:none;background:none;text-decoration:underline;color:#268bff}.column-clear-all:disabled{opacity:.5;color:#4a4a4a;font-weight:400}.column-clear-all.align-center{text-align:center}span.mdi-filter-variant.disabled{pointer-events:none;opacity:.5}.datepicker-container{width:100%}span.mdi-filter-variant{color:#cbcbcb;cursor:pointer;font-size:.875rem}span.mdi-filter-variant.active{color:#000}p.filter-tab{font-family:Roboto;font-size:14px;font-weight:400;font-stretch:normal;font-style:normal;line-height:1.29;letter-spacing:normal;color:#1b88ff;border-radius:5px;background-color:#f4f4f4;padding-inline:8px;cursor:pointer;overflow:hidden;text-align:center;text-overflow:ellipsis}p.filter-tab.active{color:#fff;background-color:#1b88ff}button.filter-text-btn{background:#fff;text-decoration:underline;font-family:Roboto;font-size:14px;font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal;border:none;color:#268bff;margin-inline:4px;margin-top:2px}button.filter-text-btn:disabled{color:#b1b1b1;cursor:not-allowed}::ng-deep .non-edit-datepicker-tooltip .tooltip-inner{max-width:310px!important;width:283px!important;overflow-y:initial!important;padding:0!important}input.slider-text::-webkit-outer-spin-button,input.slider-text::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input.slider-text{-moz-appearance:textfield}input.slider-text.red-border{border:1px solid #f44336!important}::ng-deep .checkbox-sort p.sort-container{margin-top:8px!important;padding-bottom:8px!important}i.mdi-close{cursor:pointer}i.mdi-close.disable-close-icon{pointer-events:none;cursor:not-allowed}input.error-border{border:1px solid #f44336!important}::ng-deep .non-edit-checkbox-tooltip .tooltip-inner{width:238px!important;padding:0!important}::ng-deep .non-edit-slider-tooltip .tooltip-inner{width:238px!important;padding:0!important}::ng-deep .non-edit-time-tooltip .tooltip-inner{width:250px!important;padding:0!important}::ng-deep .non-edit-time-tooltip.bs-tooltip-start{padding:.4rem}::ng-deep .non-edit-time-tooltip.bs-tooltip-start .tooltip-arrow{right:0;top:5px!important;width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}::ng-deep .non-edit-time-tooltip.bs-tooltip-start .tooltip-arrow:before{border-left-color:#fff;left:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) 0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height)}::ng-deep .no-bottom-border p.sort-container{border-bottom:none!important}::ng-deep .ngx-slider-pointer-min:after{display:none}::ng-deep .ngx-slider-pointer-max:after{display:none}::ng-deep .ngx-slider span.ngx-slider-pointer{width:12px;height:12px;top:-5px;background-color:#bdbdbd}::ng-deep .ngx-slider span.ngx-slider-bar{height:3px;background:#ededed}::ng-deep .ngx-slider span.ngx-slider-selection{background:#bdbdbd}::ng-deep .ngx-slider span.ngx-slider-bubble{bottom:-22px;font-size:12px;color:#333}::ng-deep .show-min.ngx-slider span.ngx-slider-model-value{background:#fff;box-shadow:0 6px 10px #0000004d,0 2px 2px #0003}::ng-deep .show-max.ngx-slider span.ngx-slider-model-high{background:#fff;box-shadow:none}::ng-deep .ngx-slider span.ngx-slider-combined{background:#fff;box-shadow:0 6px 10px #0000004d,0 2px 2px #0003}::ng-deep .ngx-slider{top:10px!important;margin:5px 0 2px!important}::ng-deep .ngx-slider-animate{top:0!important}.sidebar-slider{margin-bottom:35px!important;margin-left:5px;margin-right:5px}.slider-placeholder{height:14px}::ng-deep .filter-calendar select.form-select:focus{border-color:#c2cfd6;box-shadow:none}::ng-deep .filter-calendar select.form-select{background-color:#fff}.no-data-case{padding-left:.4375rem!important;font-size:.875rem!important;margin-top:10px!important;cursor:pointer}.custom-column-checkbox-checked,.custom-column-checkbox-unchecked{font-size:.875rem;cursor:pointer}.custom-column-checkbox-checked{color:#268bff}.custom-column-checkbox-unchecked{color:#4a4a4a}.virtual-scroll-div{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: AnnaSortComponent, selector: "anna-core-sort-lib", inputs: ["sortObjectKey"], outputs: ["sortOptionClicked"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: NgxSliderModule }, { kind: "component", type: i4.SliderComponent, selector: "ngx-slider", inputs: ["value", "highValue", "options", "manualRefresh", "triggerFocus"], outputs: ["valueChange", "highValueChange", "userChangeStart", "userChange", "userChangeEnd"] }] }); }
|
|
292
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: AnnaColumnSliderFilterComponent, isStandalone: true, selector: "anna-core-anna-column-slider-filter", inputs: { filterTabObjects: "filterTabObjects", isLurAndCsrComponent: "isLurAndCsrComponent", tableData: "tableData", showFilterHeaderTabs: "showFilterHeaderTabs", clonedTableData: "clonedTableData" }, outputs: { closeTooltip: "closeTooltip", filterAppliedToTable: "filterAppliedToTable", getSortType: "getSortType", sortingAppliedToTable: "sortingAppliedToTable" }, ngImport: i0, template: "<div\r\n class=\"radio-container\"\r\n *ngIf=\"showFilterHeaderTabs\"\r\n>\r\n <div *ngFor=\"let data of filterTabObjects\">\r\n <p\r\n class=\"filter-tab\"\r\n [title]=\"data.label\"\r\n (click)=\"populateTooltipDataBasedOnSelectedRadio(data, true)\"\r\n [ngClass]=\"{ active: annaFilterService.selectedRadio === data.key }\"\r\n *ngIf=\"filterTabObjects.length > 0\"\r\n >\r\n {{ data.label }}\r\n </p>\r\n </div>\r\n</div>\r\n\r\n<anna-core-sort-lib\r\n *ngIf=\"showSortComponent\"\r\n [ngClass]=\"{ 'no-bottom-border': !showFilterComponent }\"\r\n (sortOptionClicked)=\"storeSortTypeInTempVariable($event)\"\r\n [sortObjectKey]=\"annaFilterService.selectedRadio\"\r\n></anna-core-sort-lib>\r\n\r\n<ng-container *ngIf=\"showFilterComponent\">\r\n <button\r\n class=\"column-clear-all\"\r\n [disabled]=\"disableColumnClearAllBtn\"\r\n (click)=\"clearColumnFilter()\"\r\n >\r\n Clear filter\r\n </button>\r\n <section class=\"min-maxContainer\">\r\n <input\r\n type=\"number\"\r\n class=\"slider-text\"\r\n step=\"{{ sliderFilterTextBoxStep }}\"\r\n [(ngModel)]=\"sliderMinValue\"\r\n (ngModelChange)=\"minValueChanged($event)\"\r\n [ngClass]=\"{ 'red-border': showSliderMinValueError }\"\r\n placeholder=\"Min\"\r\n />\r\n <span>To</span>\r\n <input\r\n type=\"number\"\r\n class=\"slider-text\"\r\n step=\"{{ sliderFilterTextBoxStep }}\"\r\n [(ngModel)]=\"sliderMaxValue\"\r\n (ngModelChange)=\"maxValueChanged($event)\"\r\n [ngClass]=\"{ 'red-border': showSliderMaxValueError }\"\r\n placeholder=\"Max\"\r\n />\r\n </section>\r\n <div class=\"sidebar-slider\">\r\n <ngx-slider\r\n *ngIf=\"!showEmptySpaceForSlider\"\r\n [ngClass]=\"{\r\n 'show-min': sliderMinValue !== options.floor,\r\n 'show-max': sliderMaxValue !== options.ceil\r\n }\"\r\n class=\"filter-slider\"\r\n [(value)]=\"sliderEnteredMinValue\"\r\n [(highValue)]=\"sliderEnteredMaxValue\"\r\n [options]=\"options\"\r\n ></ngx-slider>\r\n <div\r\n *ngIf=\"showEmptySpaceForSlider\"\r\n class=\"slider-placeholder\"\r\n ></div>\r\n </div>\r\n</ng-container>\r\n\r\n<div class=\"buttons-container\">\r\n <button\r\n class=\"button\"\r\n (click)=\"cancelSliderFilter()\"\r\n >\r\n Cancel\r\n </button>\r\n <button\r\n class=\"button\"\r\n [ngClass]=\"{ disabled: disableSliderApplyButton }\"\r\n (click)=\"applyFilters()\"\r\n [disabled]=\"disableSliderApplyButton\"\r\n >\r\n Apply\r\n </button>\r\n</div>\r\n", styles: [".sort-btn{background:#fff;border:none;border-right:1px solid #1b88ff;text-decoration:underline;font-family:Roboto;font-size:14px;font-weight:400;font-stretch:normal;font-style:normal;line-height:1.07;letter-spacing:normal;color:#1b88ff;cursor:pointer;flex:1;text-align:center}.sort-btn:last-of-type{border-right:none}.sort-btn.active{color:#202b47;text-decoration:none}p.sort-container{margin-top:8px;padding-bottom:8px;border-bottom:1px solid #e6e6e6;margin-bottom:0;display:flex}::ng-deep .tooltip-inner{max-height:22rem;background-color:#fff;border:1px solid white;border-radius:5px;box-shadow:0 2px 2px #0000003d,0 0 2px #0000001f;max-width:251px;width:100%;padding:0!important}::ng-deep .tooltip-inner div.radio-container{flex-wrap:wrap}::ng-deep .md-drppicker{box-shadow:unset!important}::ng-deep .available{color:#999}::ng-deep .bs-tooltip-bottom .arrow:before{border-bottom-color:#fff!important}::ng-deep .bs-tooltip-left .arrow:before{border-left-color:#fff!important}::ng-deep .tooltip.show{opacity:1}.input{text-align:left;margin:5px 10px 5px 5px;display:flex;align-items:center;width:230px;white-space:nowrap}.data{color:#000;font-weight:700;margin-left:5px;margin-right:5px}span.data{display:inline-block;text-overflow:ellipsis;white-space:pre;width:100%;overflow:hidden}.check-box{font-size:14px;cursor:pointer;position:relative;top:-1px}span.mdi-filter.active{color:#000;opacity:1!important;pointer-events:all!important}p{margin-bottom:0;line-height:initial}span.mdi-filter{color:#cbcbcb}::ng-deep .ngx-slider-pointer{top:-5px!important;width:12px!important;height:12px!important;background:#bdbdbd!important;border:1px solid #ffffff!important;box-shadow:0 1px 3px #0000004d!important;border-radius:16px!important}input:focus{outline:none}input::placeholder{color:#c8c8c8}.cancel-btn{background:#c7e1ff;color:#268bff}.apply-btn{background:#268bff;color:#fff;margin-left:.3125rem}div.radio-container{display:flex;white-space:nowrap;justify-content:space-between;background-color:#f4f4f4;border-radius:.125rem;margin:.4375rem .4375rem .25rem}div.radio-container div{flex:1;width:50%}div.radio-container div.full-width{width:100%}div.radio-container input{position:relative;top:.125rem;margin-right:.25rem}div.radio-container label{font-family:Roboto;font-size:.875rem;font-weight:400;font-stretch:normal;font-style:normal;line-height:1.29;letter-spacing:0;color:#4a4a4a;margin:0;padding-left:.125rem}div.radio-container label:first-of-type{margin-right:.188rem}div.radio-container input[type=radio]{appearance:none;display:inline-block;width:.9375rem;height:.9375rem;padding:.125rem;background-clip:content-box;border:.125rem solid #268bff;background-color:transparent;border-radius:50%}div.radio-container input[type=radio]:checked{background-color:#268bff}.checkbox-filter-buttons-container{padding:0 8px!important}.buttons-container{display:flex;margin:0px auto .4375rem;justify-content:center;padding:0 12px}.buttons-container .button{padding:0 10px;width:100%;margin:8px 0 0;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.buttons-container button:last-of-type{background-color:#268bff;color:#fff;margin-left:.5rem}.buttons-container button.disabled{background:#bdbdbd;opacity:.5;color:#4a4a4a}.button{display:inline-block;margin:8px 4px 0 8px;padding:0 16px;border-radius:4px;text-align:center;outline:none;font-family:Roboto;font-size:.75rem;font-weight:400;font-stretch:normal;font-style:normal;line-height:1.67;letter-spacing:normal;border:none;color:#268bff;background-color:#e5f1ff}.search-box{display:flex;align-items:center;color:#c8c8c8;border:1px solid #e6e6e6;border-radius:.125rem;margin:.25rem .4375rem .188rem;height:1.5rem;padding:.188rem 8px .188rem .5rem}.search-box .search-bar-close{margin-left:auto;float:right}.search-icon{margin:0 4px 0 0;font-size:1.125rem;color:#9b9b9b}.filter-icon{justify-content:right;margin-left:auto;color:#d4d4d4;color:#a1a1a1;font-size:16px;cursor:pointer}.data{margin:0 13px 0 8px;font-family:Roboto;font-size:.875rem;font-weight:400;font-stretch:normal;font-style:normal;line-height:1.86;letter-spacing:\"\";color:#4a4a4a}.search-input{font-family:Roboto;font-size:.875rem;font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal;color:#c8c8c8;width:calc(100% - 38px);margin:1px 0 1px 2px;border:none;padding:0}.check-box{color:#268bff}.tooltip-data-container{overflow-y:scroll;max-height:8rem}.searchbar{width:100%;display:flex;justify-content:flex-end;align-items:flex-end}.clear-button{opacity:.5;font-family:Roboto;font-size:.9375rem;font-weight:500;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal;text-decoration:underline;border:none;background-color:#fff;color:#4a4a4a;margin-left:.625rem;padding:0}.clear-button:focus{outline:none;box-shadow:none}.unchecked{color:#268bff}cdk-virtual-scroll-viewport.dropdown-data-container{max-height:12.3rem;width:100%;overflow-y:auto;overflow-x:hidden}cdk-virtual-scroll-viewport.dropdown-data-container p.input{margin-left:0}cdk-virtual-scroll-viewport.dropdown-data-container p.input span.mi{padding-left:.4375rem}cdk-virtual-scroll-viewport.dropdown-data-container p.input:hover{background-color:#ebebeb;cursor:pointer}cdk-virtual-scroll-viewport.dropdown-data-container::-webkit-scrollbar{width:.188rem}cdk-virtual-scroll-viewport.dropdown-data-container::-webkit-scrollbar-thumb{color:#d3d3d3;background:#d3d3d3}section.min-maxContainer{display:flex;justify-content:center;margin-bottom:-.125rem;margin-top:.5rem;width:100%}section.min-maxContainer input{width:30%;height:1.875rem;border:1px solid lightgray;color:gray}section.min-maxContainer span{display:inline-block;padding-left:.5rem;padding-right:.5rem;position:relative;top:.3125rem;color:#666}.time-container{width:100%;display:flex;padding:0 .75rem}.time-container input.form-control:disabled{background-color:#fff;width:2.813rem}.time-container input.numberInput:focus{box-shadow:none;border-color:#c2cfd6}.time-container .dot{color:#cbcbcb;position:relative;left:-7px;font-size:17px}.time-container div.arrow-container{flex-direction:column;display:flex;margin-top:.375rem;width:9px;height:18px;margin-right:1.1875rem}.time-container div.arrow-container i{color:#000;cursor:pointer;max-height:9px;font-size:25px;width:10px}.time-container div.arrow-container i:before{width:0;height:0;pointer-events:none;position:relative;left:-9px;top:-11px}.mdi-filter{cursor:pointer}.time-label-container{display:flex;justify-content:flex-start}.time-label-container label{margin-bottom:0;color:#4a4a4a;margin-top:.125rem;margin-left:.75rem;font-weight:700}.time-heading{color:#000;font-size:.8125rem;text-align:left;padding-left:.625rem;margin-top:.625rem;font-weight:700}.column-clear-all{width:94%;text-align:center;border:none;font-size:14px;background:none;text-decoration:underline;color:#268bff}.checkbox-container{display:flex;padding-inline:.625rem}.checkbox-container .data{text-align:left}.checkbox-container:first-of-type{margin-top:.625rem;font-weight:500}.column-clear-all{width:94%;text-align:center;border:none;background:none;text-decoration:underline;color:#268bff}.column-clear-all:disabled{opacity:.5;color:#4a4a4a;font-weight:400}.column-clear-all.align-center{text-align:center}span.mdi-filter-variant.disabled{pointer-events:none;opacity:.5}.datepicker-container{width:100%}span.mdi-filter-variant{color:#cbcbcb;cursor:pointer;font-size:.875rem}span.mdi-filter-variant.active{color:#000}p.filter-tab{font-family:Roboto;font-size:14px;font-weight:400;font-stretch:normal;font-style:normal;line-height:1.29;letter-spacing:normal;color:#1b88ff;border-radius:5px;background-color:#f4f4f4;padding-inline:8px;cursor:pointer;overflow:hidden;text-align:center;text-overflow:ellipsis}p.filter-tab.active{color:#fff;background-color:#1b88ff}button.filter-text-btn{background:#fff;text-decoration:underline;font-family:Roboto;font-size:14px;font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal;border:none;color:#268bff;margin-inline:4px;margin-top:2px}button.filter-text-btn:disabled{color:#b1b1b1;cursor:not-allowed}::ng-deep .non-edit-datepicker-tooltip .tooltip-inner{max-width:310px!important;width:283px!important;overflow-y:initial!important;padding:0!important}input.slider-text::-webkit-outer-spin-button,input.slider-text::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input.slider-text{-moz-appearance:textfield}input.slider-text.red-border{border:1px solid #f44336!important}::ng-deep .checkbox-sort p.sort-container{margin-top:8px!important;padding-bottom:8px!important}i.mdi-close{cursor:pointer}i.mdi-close.disable-close-icon{pointer-events:none;cursor:not-allowed}input.error-border{border:1px solid #f44336!important}::ng-deep .non-edit-checkbox-tooltip .tooltip-inner{width:238px!important;padding:0!important}::ng-deep .non-edit-slider-tooltip .tooltip-inner{width:238px!important;padding:0!important}::ng-deep .non-edit-time-tooltip .tooltip-inner{width:250px!important;padding:0!important}::ng-deep .non-edit-time-tooltip.bs-tooltip-start{padding:.4rem}::ng-deep .non-edit-time-tooltip.bs-tooltip-start .tooltip-arrow{right:0;top:5px!important;width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}::ng-deep .non-edit-time-tooltip.bs-tooltip-start .tooltip-arrow:before{border-left-color:#fff;left:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) 0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height)}::ng-deep .no-bottom-border p.sort-container{border-bottom:none!important}::ng-deep .ngx-slider-pointer-min:after{display:none}::ng-deep .ngx-slider-pointer-max:after{display:none}::ng-deep .ngx-slider span.ngx-slider-pointer{width:12px;height:12px;top:-5px;background-color:#bdbdbd}::ng-deep .ngx-slider span.ngx-slider-bar{height:3px;background:#ededed}::ng-deep .ngx-slider span.ngx-slider-selection{background:#bdbdbd}::ng-deep .ngx-slider span.ngx-slider-bubble{bottom:-22px;font-size:12px;color:#333}::ng-deep .show-min.ngx-slider span.ngx-slider-model-value{background:#fff;box-shadow:0 6px 10px #0000004d,0 2px 2px #0003}::ng-deep .show-max.ngx-slider span.ngx-slider-model-high{background:#fff;box-shadow:none}::ng-deep .ngx-slider span.ngx-slider-combined{background:#fff;box-shadow:0 6px 10px #0000004d,0 2px 2px #0003}::ng-deep .ngx-slider{top:10px!important;margin:5px 0 2px!important}::ng-deep .ngx-slider-animate{top:0!important}.sidebar-slider{margin-bottom:35px!important;margin-left:5px;margin-right:5px}.slider-placeholder{height:14px}::ng-deep .filter-calendar select.form-select:focus{border-color:#c2cfd6;box-shadow:none}::ng-deep .filter-calendar select.form-select{background-color:#fff}.no-data-case{padding-left:.4375rem!important;font-size:.875rem!important;margin-top:10px!important;cursor:pointer}.custom-column-checkbox-checked,.custom-column-checkbox-unchecked{font-size:.875rem;cursor:pointer}.custom-column-checkbox-checked{color:#268bff}.custom-column-checkbox-unchecked{color:#4a4a4a}.virtual-scroll-div{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: AnnaSortComponent, selector: "anna-core-sort-lib", inputs: ["sortObjectKey"], outputs: ["sortOptionClicked"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: NgxSliderModule }, { kind: "component", type: i4.SliderComponent, selector: "ngx-slider", inputs: ["value", "highValue", "options", "manualRefresh", "triggerFocus"], outputs: ["valueChange", "highValueChange", "userChangeStart", "userChange", "userChangeEnd"] }] }); }
|
|
293
293
|
}
|
|
294
294
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AnnaColumnSliderFilterComponent, decorators: [{
|
|
295
295
|
type: Component,
|
|
296
|
-
args: [{ selector: "anna-core-anna-column-slider-filter", standalone: true, imports: [NgIf, NgFor, NgClass, AnnaSortComponent, FormsModule, NgxSliderModule], template: "<div\n class=\"radio-container\"\n *ngIf=\"showFilterHeaderTabs\"\n>\n <div *ngFor=\"let data of filterTabObjects\">\n <p\n class=\"filter-tab\"\n [title]=\"data.label\"\n (click)=\"populateTooltipDataBasedOnSelectedRadio(data, true)\"\n [ngClass]=\"{ active: annaFilterService.selectedRadio === data.key }\"\n *ngIf=\"filterTabObjects.length > 0\"\n >\n {{ data.label }}\n </p>\n </div>\n</div>\n\n<anna-core-sort-lib\n *ngIf=\"showSortComponent\"\n [ngClass]=\"{ 'no-bottom-border': !showFilterComponent }\"\n (sortOptionClicked)=\"storeSortTypeInTempVariable($event)\"\n [sortObjectKey]=\"annaFilterService.selectedRadio\"\n></anna-core-sort-lib>\n\n<ng-container *ngIf=\"showFilterComponent\">\n <button\n class=\"column-clear-all\"\n [disabled]=\"disableColumnClearAllBtn\"\n (click)=\"clearColumnFilter()\"\n >\n Clear filter\n </button>\n <section class=\"min-maxContainer\">\n <input\n type=\"number\"\n class=\"slider-text\"\n step=\"{{ sliderFilterTextBoxStep }}\"\n [(ngModel)]=\"sliderMinValue\"\n (ngModelChange)=\"minValueChanged($event)\"\n [ngClass]=\"{ 'red-border': showSliderMinValueError }\"\n placeholder=\"Min\"\n />\n <span>To</span>\n <input\n type=\"number\"\n class=\"slider-text\"\n step=\"{{ sliderFilterTextBoxStep }}\"\n [(ngModel)]=\"sliderMaxValue\"\n (ngModelChange)=\"maxValueChanged($event)\"\n [ngClass]=\"{ 'red-border': showSliderMaxValueError }\"\n placeholder=\"Max\"\n />\n </section>\n <div class=\"sidebar-slider\">\n <ngx-slider\n *ngIf=\"!showEmptySpaceForSlider\"\n [ngClass]=\"{\n 'show-min': sliderMinValue !== options.floor,\n 'show-max': sliderMaxValue !== options.ceil\n }\"\n class=\"filter-slider\"\n [(value)]=\"sliderEnteredMinValue\"\n [(highValue)]=\"sliderEnteredMaxValue\"\n [options]=\"options\"\n ></ngx-slider>\n <div\n *ngIf=\"showEmptySpaceForSlider\"\n class=\"slider-placeholder\"\n ></div>\n </div>\n</ng-container>\n\n<div class=\"buttons-container\">\n <button\n class=\"button\"\n (click)=\"cancelSliderFilter()\"\n >\n Cancel\n </button>\n <button\n class=\"button\"\n [ngClass]=\"{ disabled: disableSliderApplyButton }\"\n (click)=\"applyFilters()\"\n [disabled]=\"disableSliderApplyButton\"\n >\n Apply\n </button>\n</div>\n", styles: [".sort-btn{background:#fff;border:none;border-right:1px solid #1b88ff;text-decoration:underline;font-family:Roboto;font-size:14px;font-weight:400;font-stretch:normal;font-style:normal;line-height:1.07;letter-spacing:normal;color:#1b88ff;cursor:pointer;flex:1;text-align:center}.sort-btn:last-of-type{border-right:none}.sort-btn.active{color:#202b47;text-decoration:none}p.sort-container{margin-top:8px;padding-bottom:8px;border-bottom:1px solid #e6e6e6;margin-bottom:0;display:flex}::ng-deep .tooltip-inner{max-height:22rem;background-color:#fff;border:1px solid white;border-radius:5px;box-shadow:0 2px 2px #0000003d,0 0 2px #0000001f;max-width:251px;width:100%;padding:0!important}::ng-deep .tooltip-inner div.radio-container{flex-wrap:wrap}::ng-deep .md-drppicker{box-shadow:unset!important}::ng-deep .available{color:#999}::ng-deep .bs-tooltip-bottom .arrow:before{border-bottom-color:#fff!important}::ng-deep .bs-tooltip-left .arrow:before{border-left-color:#fff!important}::ng-deep .tooltip.show{opacity:1}.input{text-align:left;margin:5px 10px 5px 5px;display:flex;align-items:center;width:230px;white-space:nowrap}.data{color:#000;font-weight:700;margin-left:5px;margin-right:5px}span.data{display:inline-block;text-overflow:ellipsis;white-space:pre;width:100%;overflow:hidden}.check-box{font-size:14px;cursor:pointer;position:relative;top:-1px}span.mdi-filter.active{color:#000;opacity:1!important;pointer-events:all!important}p{margin-bottom:0;line-height:initial}span.mdi-filter{color:#cbcbcb}::ng-deep .ngx-slider-pointer{top:-5px!important;width:12px!important;height:12px!important;background:#bdbdbd!important;border:1px solid #ffffff!important;box-shadow:0 1px 3px #0000004d!important;border-radius:16px!important}input:focus{outline:none}input::placeholder{color:#c8c8c8}.cancel-btn{background:#c7e1ff;color:#268bff}.apply-btn{background:#268bff;color:#fff;margin-left:.3125rem}div.radio-container{display:flex;white-space:nowrap;justify-content:space-between;background-color:#f4f4f4;border-radius:.125rem;margin:.4375rem .4375rem .25rem}div.radio-container div{flex:1;width:50%}div.radio-container div.full-width{width:100%}div.radio-container input{position:relative;top:.125rem;margin-right:.25rem}div.radio-container label{font-family:Roboto;font-size:.875rem;font-weight:400;font-stretch:normal;font-style:normal;line-height:1.29;letter-spacing:0;color:#4a4a4a;margin:0;padding-left:.125rem}div.radio-container label:first-of-type{margin-right:.188rem}div.radio-container input[type=radio]{appearance:none;display:inline-block;width:.9375rem;height:.9375rem;padding:.125rem;background-clip:content-box;border:.125rem solid #268bff;background-color:transparent;border-radius:50%}div.radio-container input[type=radio]:checked{background-color:#268bff}.checkbox-filter-buttons-container{padding:0 8px!important}.buttons-container{display:flex;margin:0px auto .4375rem;justify-content:center;padding:0 12px}.buttons-container .button{padding:0 10px;width:100%;margin:8px 0 0;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.buttons-container button:last-of-type{background-color:#268bff;color:#fff;margin-left:.5rem}.buttons-container button.disabled{background:#bdbdbd;opacity:.5;color:#4a4a4a}.button{display:inline-block;margin:8px 4px 0 8px;padding:0 16px;border-radius:4px;text-align:center;outline:none;font-family:Roboto;font-size:.75rem;font-weight:400;font-stretch:normal;font-style:normal;line-height:1.67;letter-spacing:normal;border:none;color:#268bff;background-color:#e5f1ff}.search-box{display:flex;align-items:center;color:#c8c8c8;border:1px solid #e6e6e6;border-radius:.125rem;margin:.25rem .4375rem .188rem;height:1.5rem;padding:.188rem 8px .188rem .5rem}.search-box .search-bar-close{margin-left:auto;float:right}.search-icon{margin:0 4px 0 0;font-size:1.125rem;color:#9b9b9b}.filter-icon{justify-content:right;margin-left:auto;color:#d4d4d4;color:#a1a1a1;font-size:16px;cursor:pointer}.data{margin:0 13px 0 8px;font-family:Roboto;font-size:.875rem;font-weight:400;font-stretch:normal;font-style:normal;line-height:1.86;letter-spacing:\"\";color:#4a4a4a}.search-input{font-family:Roboto;font-size:.875rem;font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal;color:#c8c8c8;width:calc(100% - 38px);margin:1px 0 1px 2px;border:none;padding:0}.check-box{color:#268bff}.tooltip-data-container{overflow-y:scroll;max-height:8rem}.searchbar{width:100%;display:flex;justify-content:flex-end;align-items:flex-end}.clear-button{opacity:.5;font-family:Roboto;font-size:.9375rem;font-weight:500;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal;text-decoration:underline;border:none;background-color:#fff;color:#4a4a4a;margin-left:.625rem;padding:0}.clear-button:focus{outline:none;box-shadow:none}.unchecked{color:#268bff}cdk-virtual-scroll-viewport.dropdown-data-container{max-height:12.3rem;width:100%;overflow-y:auto;overflow-x:hidden}cdk-virtual-scroll-viewport.dropdown-data-container p.input{margin-left:0}cdk-virtual-scroll-viewport.dropdown-data-container p.input span.mi{padding-left:.4375rem}cdk-virtual-scroll-viewport.dropdown-data-container p.input:hover{background-color:#ebebeb;cursor:pointer}cdk-virtual-scroll-viewport.dropdown-data-container::-webkit-scrollbar{width:.188rem}cdk-virtual-scroll-viewport.dropdown-data-container::-webkit-scrollbar-thumb{color:#d3d3d3;background:#d3d3d3}section.min-maxContainer{display:flex;justify-content:center;margin-bottom:-.125rem;margin-top:.5rem;width:100%}section.min-maxContainer input{width:30%;height:1.875rem;border:1px solid lightgray;color:gray}section.min-maxContainer span{display:inline-block;padding-left:.5rem;padding-right:.5rem;position:relative;top:.3125rem;color:#666}.time-container{width:100%;display:flex;padding:0 .75rem}.time-container input.form-control:disabled{background-color:#fff;width:2.813rem}.time-container input.numberInput:focus{box-shadow:none;border-color:#c2cfd6}.time-container .dot{color:#cbcbcb;position:relative;left:-7px;font-size:17px}.time-container div.arrow-container{flex-direction:column;display:flex;margin-top:.375rem;width:9px;height:18px;margin-right:1.1875rem}.time-container div.arrow-container i{color:#000;cursor:pointer;max-height:9px;font-size:25px;width:10px}.time-container div.arrow-container i:before{width:0;height:0;pointer-events:none;position:relative;left:-9px;top:-11px}.mdi-filter{cursor:pointer}.time-label-container{display:flex;justify-content:flex-start}.time-label-container label{margin-bottom:0;color:#4a4a4a;margin-top:.125rem;margin-left:.75rem;font-weight:700}.time-heading{color:#000;font-size:.8125rem;text-align:left;padding-left:.625rem;margin-top:.625rem;font-weight:700}.column-clear-all{width:94%;text-align:center;border:none;font-size:14px;background:none;text-decoration:underline;color:#268bff}.checkbox-container{display:flex;padding-inline:.625rem}.checkbox-container .data{text-align:left}.checkbox-container:first-of-type{margin-top:.625rem;font-weight:500}.column-clear-all{width:94%;text-align:center;border:none;background:none;text-decoration:underline;color:#268bff}.column-clear-all:disabled{opacity:.5;color:#4a4a4a;font-weight:400}.column-clear-all.align-center{text-align:center}span.mdi-filter-variant.disabled{pointer-events:none;opacity:.5}.datepicker-container{width:100%}span.mdi-filter-variant{color:#cbcbcb;cursor:pointer;font-size:.875rem}span.mdi-filter-variant.active{color:#000}p.filter-tab{font-family:Roboto;font-size:14px;font-weight:400;font-stretch:normal;font-style:normal;line-height:1.29;letter-spacing:normal;color:#1b88ff;border-radius:5px;background-color:#f4f4f4;padding-inline:8px;cursor:pointer;overflow:hidden;text-align:center;text-overflow:ellipsis}p.filter-tab.active{color:#fff;background-color:#1b88ff}button.filter-text-btn{background:#fff;text-decoration:underline;font-family:Roboto;font-size:14px;font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal;border:none;color:#268bff;margin-inline:4px;margin-top:2px}button.filter-text-btn:disabled{color:#b1b1b1;cursor:not-allowed}::ng-deep .non-edit-datepicker-tooltip .tooltip-inner{max-width:310px!important;width:283px!important;overflow-y:initial!important;padding:0!important}input.slider-text::-webkit-outer-spin-button,input.slider-text::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input.slider-text{-moz-appearance:textfield}input.slider-text.red-border{border:1px solid #f44336!important}::ng-deep .checkbox-sort p.sort-container{margin-top:8px!important;padding-bottom:8px!important}i.mdi-close{cursor:pointer}i.mdi-close.disable-close-icon{pointer-events:none;cursor:not-allowed}input.error-border{border:1px solid #f44336!important}::ng-deep .non-edit-checkbox-tooltip .tooltip-inner{width:238px!important;padding:0!important}::ng-deep .non-edit-slider-tooltip .tooltip-inner{width:238px!important;padding:0!important}::ng-deep .non-edit-time-tooltip .tooltip-inner{width:250px!important;padding:0!important}::ng-deep .non-edit-time-tooltip.bs-tooltip-start{padding:.4rem}::ng-deep .non-edit-time-tooltip.bs-tooltip-start .tooltip-arrow{right:0;top:5px!important;width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}::ng-deep .non-edit-time-tooltip.bs-tooltip-start .tooltip-arrow:before{border-left-color:#fff;left:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) 0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height)}::ng-deep .no-bottom-border p.sort-container{border-bottom:none!important}::ng-deep .ngx-slider-pointer-min:after{display:none}::ng-deep .ngx-slider-pointer-max:after{display:none}::ng-deep .ngx-slider span.ngx-slider-pointer{width:12px;height:12px;top:-5px;background-color:#bdbdbd}::ng-deep .ngx-slider span.ngx-slider-bar{height:3px;background:#ededed}::ng-deep .ngx-slider span.ngx-slider-selection{background:#bdbdbd}::ng-deep .ngx-slider span.ngx-slider-bubble{bottom:-22px;font-size:12px;color:#333}::ng-deep .show-min.ngx-slider span.ngx-slider-model-value{background:#fff;box-shadow:0 6px 10px #0000004d,0 2px 2px #0003}::ng-deep .show-max.ngx-slider span.ngx-slider-model-high{background:#fff;box-shadow:none}::ng-deep .ngx-slider span.ngx-slider-combined{background:#fff;box-shadow:0 6px 10px #0000004d,0 2px 2px #0003}::ng-deep .ngx-slider{top:10px!important;margin:5px 0 2px!important}::ng-deep .ngx-slider-animate{top:0!important}.sidebar-slider{margin-bottom:35px!important;margin-left:5px;margin-right:5px}.slider-placeholder{height:14px}::ng-deep .filter-calendar select.form-select:focus{border-color:#c2cfd6;box-shadow:none}::ng-deep .filter-calendar select.form-select{background-color:#fff}.no-data-case{padding-left:.4375rem!important;font-size:.875rem!important;margin-top:10px!important;cursor:pointer}.custom-column-checkbox-checked,.custom-column-checkbox-unchecked{font-size:.875rem;cursor:pointer}.custom-column-checkbox-checked{color:#268bff}.custom-column-checkbox-unchecked{color:#4a4a4a}.virtual-scroll-div{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}\n"] }]
|
|
296
|
+
args: [{ selector: "anna-core-anna-column-slider-filter", standalone: true, imports: [NgIf, NgFor, NgClass, AnnaSortComponent, FormsModule, NgxSliderModule], template: "<div\r\n class=\"radio-container\"\r\n *ngIf=\"showFilterHeaderTabs\"\r\n>\r\n <div *ngFor=\"let data of filterTabObjects\">\r\n <p\r\n class=\"filter-tab\"\r\n [title]=\"data.label\"\r\n (click)=\"populateTooltipDataBasedOnSelectedRadio(data, true)\"\r\n [ngClass]=\"{ active: annaFilterService.selectedRadio === data.key }\"\r\n *ngIf=\"filterTabObjects.length > 0\"\r\n >\r\n {{ data.label }}\r\n </p>\r\n </div>\r\n</div>\r\n\r\n<anna-core-sort-lib\r\n *ngIf=\"showSortComponent\"\r\n [ngClass]=\"{ 'no-bottom-border': !showFilterComponent }\"\r\n (sortOptionClicked)=\"storeSortTypeInTempVariable($event)\"\r\n [sortObjectKey]=\"annaFilterService.selectedRadio\"\r\n></anna-core-sort-lib>\r\n\r\n<ng-container *ngIf=\"showFilterComponent\">\r\n <button\r\n class=\"column-clear-all\"\r\n [disabled]=\"disableColumnClearAllBtn\"\r\n (click)=\"clearColumnFilter()\"\r\n >\r\n Clear filter\r\n </button>\r\n <section class=\"min-maxContainer\">\r\n <input\r\n type=\"number\"\r\n class=\"slider-text\"\r\n step=\"{{ sliderFilterTextBoxStep }}\"\r\n [(ngModel)]=\"sliderMinValue\"\r\n (ngModelChange)=\"minValueChanged($event)\"\r\n [ngClass]=\"{ 'red-border': showSliderMinValueError }\"\r\n placeholder=\"Min\"\r\n />\r\n <span>To</span>\r\n <input\r\n type=\"number\"\r\n class=\"slider-text\"\r\n step=\"{{ sliderFilterTextBoxStep }}\"\r\n [(ngModel)]=\"sliderMaxValue\"\r\n (ngModelChange)=\"maxValueChanged($event)\"\r\n [ngClass]=\"{ 'red-border': showSliderMaxValueError }\"\r\n placeholder=\"Max\"\r\n />\r\n </section>\r\n <div class=\"sidebar-slider\">\r\n <ngx-slider\r\n *ngIf=\"!showEmptySpaceForSlider\"\r\n [ngClass]=\"{\r\n 'show-min': sliderMinValue !== options.floor,\r\n 'show-max': sliderMaxValue !== options.ceil\r\n }\"\r\n class=\"filter-slider\"\r\n [(value)]=\"sliderEnteredMinValue\"\r\n [(highValue)]=\"sliderEnteredMaxValue\"\r\n [options]=\"options\"\r\n ></ngx-slider>\r\n <div\r\n *ngIf=\"showEmptySpaceForSlider\"\r\n class=\"slider-placeholder\"\r\n ></div>\r\n </div>\r\n</ng-container>\r\n\r\n<div class=\"buttons-container\">\r\n <button\r\n class=\"button\"\r\n (click)=\"cancelSliderFilter()\"\r\n >\r\n Cancel\r\n </button>\r\n <button\r\n class=\"button\"\r\n [ngClass]=\"{ disabled: disableSliderApplyButton }\"\r\n (click)=\"applyFilters()\"\r\n [disabled]=\"disableSliderApplyButton\"\r\n >\r\n Apply\r\n </button>\r\n</div>\r\n", styles: [".sort-btn{background:#fff;border:none;border-right:1px solid #1b88ff;text-decoration:underline;font-family:Roboto;font-size:14px;font-weight:400;font-stretch:normal;font-style:normal;line-height:1.07;letter-spacing:normal;color:#1b88ff;cursor:pointer;flex:1;text-align:center}.sort-btn:last-of-type{border-right:none}.sort-btn.active{color:#202b47;text-decoration:none}p.sort-container{margin-top:8px;padding-bottom:8px;border-bottom:1px solid #e6e6e6;margin-bottom:0;display:flex}::ng-deep .tooltip-inner{max-height:22rem;background-color:#fff;border:1px solid white;border-radius:5px;box-shadow:0 2px 2px #0000003d,0 0 2px #0000001f;max-width:251px;width:100%;padding:0!important}::ng-deep .tooltip-inner div.radio-container{flex-wrap:wrap}::ng-deep .md-drppicker{box-shadow:unset!important}::ng-deep .available{color:#999}::ng-deep .bs-tooltip-bottom .arrow:before{border-bottom-color:#fff!important}::ng-deep .bs-tooltip-left .arrow:before{border-left-color:#fff!important}::ng-deep .tooltip.show{opacity:1}.input{text-align:left;margin:5px 10px 5px 5px;display:flex;align-items:center;width:230px;white-space:nowrap}.data{color:#000;font-weight:700;margin-left:5px;margin-right:5px}span.data{display:inline-block;text-overflow:ellipsis;white-space:pre;width:100%;overflow:hidden}.check-box{font-size:14px;cursor:pointer;position:relative;top:-1px}span.mdi-filter.active{color:#000;opacity:1!important;pointer-events:all!important}p{margin-bottom:0;line-height:initial}span.mdi-filter{color:#cbcbcb}::ng-deep .ngx-slider-pointer{top:-5px!important;width:12px!important;height:12px!important;background:#bdbdbd!important;border:1px solid #ffffff!important;box-shadow:0 1px 3px #0000004d!important;border-radius:16px!important}input:focus{outline:none}input::placeholder{color:#c8c8c8}.cancel-btn{background:#c7e1ff;color:#268bff}.apply-btn{background:#268bff;color:#fff;margin-left:.3125rem}div.radio-container{display:flex;white-space:nowrap;justify-content:space-between;background-color:#f4f4f4;border-radius:.125rem;margin:.4375rem .4375rem .25rem}div.radio-container div{flex:1;width:50%}div.radio-container div.full-width{width:100%}div.radio-container input{position:relative;top:.125rem;margin-right:.25rem}div.radio-container label{font-family:Roboto;font-size:.875rem;font-weight:400;font-stretch:normal;font-style:normal;line-height:1.29;letter-spacing:0;color:#4a4a4a;margin:0;padding-left:.125rem}div.radio-container label:first-of-type{margin-right:.188rem}div.radio-container input[type=radio]{appearance:none;display:inline-block;width:.9375rem;height:.9375rem;padding:.125rem;background-clip:content-box;border:.125rem solid #268bff;background-color:transparent;border-radius:50%}div.radio-container input[type=radio]:checked{background-color:#268bff}.checkbox-filter-buttons-container{padding:0 8px!important}.buttons-container{display:flex;margin:0px auto .4375rem;justify-content:center;padding:0 12px}.buttons-container .button{padding:0 10px;width:100%;margin:8px 0 0;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.buttons-container button:last-of-type{background-color:#268bff;color:#fff;margin-left:.5rem}.buttons-container button.disabled{background:#bdbdbd;opacity:.5;color:#4a4a4a}.button{display:inline-block;margin:8px 4px 0 8px;padding:0 16px;border-radius:4px;text-align:center;outline:none;font-family:Roboto;font-size:.75rem;font-weight:400;font-stretch:normal;font-style:normal;line-height:1.67;letter-spacing:normal;border:none;color:#268bff;background-color:#e5f1ff}.search-box{display:flex;align-items:center;color:#c8c8c8;border:1px solid #e6e6e6;border-radius:.125rem;margin:.25rem .4375rem .188rem;height:1.5rem;padding:.188rem 8px .188rem .5rem}.search-box .search-bar-close{margin-left:auto;float:right}.search-icon{margin:0 4px 0 0;font-size:1.125rem;color:#9b9b9b}.filter-icon{justify-content:right;margin-left:auto;color:#d4d4d4;color:#a1a1a1;font-size:16px;cursor:pointer}.data{margin:0 13px 0 8px;font-family:Roboto;font-size:.875rem;font-weight:400;font-stretch:normal;font-style:normal;line-height:1.86;letter-spacing:\"\";color:#4a4a4a}.search-input{font-family:Roboto;font-size:.875rem;font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal;color:#c8c8c8;width:calc(100% - 38px);margin:1px 0 1px 2px;border:none;padding:0}.check-box{color:#268bff}.tooltip-data-container{overflow-y:scroll;max-height:8rem}.searchbar{width:100%;display:flex;justify-content:flex-end;align-items:flex-end}.clear-button{opacity:.5;font-family:Roboto;font-size:.9375rem;font-weight:500;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal;text-decoration:underline;border:none;background-color:#fff;color:#4a4a4a;margin-left:.625rem;padding:0}.clear-button:focus{outline:none;box-shadow:none}.unchecked{color:#268bff}cdk-virtual-scroll-viewport.dropdown-data-container{max-height:12.3rem;width:100%;overflow-y:auto;overflow-x:hidden}cdk-virtual-scroll-viewport.dropdown-data-container p.input{margin-left:0}cdk-virtual-scroll-viewport.dropdown-data-container p.input span.mi{padding-left:.4375rem}cdk-virtual-scroll-viewport.dropdown-data-container p.input:hover{background-color:#ebebeb;cursor:pointer}cdk-virtual-scroll-viewport.dropdown-data-container::-webkit-scrollbar{width:.188rem}cdk-virtual-scroll-viewport.dropdown-data-container::-webkit-scrollbar-thumb{color:#d3d3d3;background:#d3d3d3}section.min-maxContainer{display:flex;justify-content:center;margin-bottom:-.125rem;margin-top:.5rem;width:100%}section.min-maxContainer input{width:30%;height:1.875rem;border:1px solid lightgray;color:gray}section.min-maxContainer span{display:inline-block;padding-left:.5rem;padding-right:.5rem;position:relative;top:.3125rem;color:#666}.time-container{width:100%;display:flex;padding:0 .75rem}.time-container input.form-control:disabled{background-color:#fff;width:2.813rem}.time-container input.numberInput:focus{box-shadow:none;border-color:#c2cfd6}.time-container .dot{color:#cbcbcb;position:relative;left:-7px;font-size:17px}.time-container div.arrow-container{flex-direction:column;display:flex;margin-top:.375rem;width:9px;height:18px;margin-right:1.1875rem}.time-container div.arrow-container i{color:#000;cursor:pointer;max-height:9px;font-size:25px;width:10px}.time-container div.arrow-container i:before{width:0;height:0;pointer-events:none;position:relative;left:-9px;top:-11px}.mdi-filter{cursor:pointer}.time-label-container{display:flex;justify-content:flex-start}.time-label-container label{margin-bottom:0;color:#4a4a4a;margin-top:.125rem;margin-left:.75rem;font-weight:700}.time-heading{color:#000;font-size:.8125rem;text-align:left;padding-left:.625rem;margin-top:.625rem;font-weight:700}.column-clear-all{width:94%;text-align:center;border:none;font-size:14px;background:none;text-decoration:underline;color:#268bff}.checkbox-container{display:flex;padding-inline:.625rem}.checkbox-container .data{text-align:left}.checkbox-container:first-of-type{margin-top:.625rem;font-weight:500}.column-clear-all{width:94%;text-align:center;border:none;background:none;text-decoration:underline;color:#268bff}.column-clear-all:disabled{opacity:.5;color:#4a4a4a;font-weight:400}.column-clear-all.align-center{text-align:center}span.mdi-filter-variant.disabled{pointer-events:none;opacity:.5}.datepicker-container{width:100%}span.mdi-filter-variant{color:#cbcbcb;cursor:pointer;font-size:.875rem}span.mdi-filter-variant.active{color:#000}p.filter-tab{font-family:Roboto;font-size:14px;font-weight:400;font-stretch:normal;font-style:normal;line-height:1.29;letter-spacing:normal;color:#1b88ff;border-radius:5px;background-color:#f4f4f4;padding-inline:8px;cursor:pointer;overflow:hidden;text-align:center;text-overflow:ellipsis}p.filter-tab.active{color:#fff;background-color:#1b88ff}button.filter-text-btn{background:#fff;text-decoration:underline;font-family:Roboto;font-size:14px;font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal;border:none;color:#268bff;margin-inline:4px;margin-top:2px}button.filter-text-btn:disabled{color:#b1b1b1;cursor:not-allowed}::ng-deep .non-edit-datepicker-tooltip .tooltip-inner{max-width:310px!important;width:283px!important;overflow-y:initial!important;padding:0!important}input.slider-text::-webkit-outer-spin-button,input.slider-text::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input.slider-text{-moz-appearance:textfield}input.slider-text.red-border{border:1px solid #f44336!important}::ng-deep .checkbox-sort p.sort-container{margin-top:8px!important;padding-bottom:8px!important}i.mdi-close{cursor:pointer}i.mdi-close.disable-close-icon{pointer-events:none;cursor:not-allowed}input.error-border{border:1px solid #f44336!important}::ng-deep .non-edit-checkbox-tooltip .tooltip-inner{width:238px!important;padding:0!important}::ng-deep .non-edit-slider-tooltip .tooltip-inner{width:238px!important;padding:0!important}::ng-deep .non-edit-time-tooltip .tooltip-inner{width:250px!important;padding:0!important}::ng-deep .non-edit-time-tooltip.bs-tooltip-start{padding:.4rem}::ng-deep .non-edit-time-tooltip.bs-tooltip-start .tooltip-arrow{right:0;top:5px!important;width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}::ng-deep .non-edit-time-tooltip.bs-tooltip-start .tooltip-arrow:before{border-left-color:#fff;left:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) 0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height)}::ng-deep .no-bottom-border p.sort-container{border-bottom:none!important}::ng-deep .ngx-slider-pointer-min:after{display:none}::ng-deep .ngx-slider-pointer-max:after{display:none}::ng-deep .ngx-slider span.ngx-slider-pointer{width:12px;height:12px;top:-5px;background-color:#bdbdbd}::ng-deep .ngx-slider span.ngx-slider-bar{height:3px;background:#ededed}::ng-deep .ngx-slider span.ngx-slider-selection{background:#bdbdbd}::ng-deep .ngx-slider span.ngx-slider-bubble{bottom:-22px;font-size:12px;color:#333}::ng-deep .show-min.ngx-slider span.ngx-slider-model-value{background:#fff;box-shadow:0 6px 10px #0000004d,0 2px 2px #0003}::ng-deep .show-max.ngx-slider span.ngx-slider-model-high{background:#fff;box-shadow:none}::ng-deep .ngx-slider span.ngx-slider-combined{background:#fff;box-shadow:0 6px 10px #0000004d,0 2px 2px #0003}::ng-deep .ngx-slider{top:10px!important;margin:5px 0 2px!important}::ng-deep .ngx-slider-animate{top:0!important}.sidebar-slider{margin-bottom:35px!important;margin-left:5px;margin-right:5px}.slider-placeholder{height:14px}::ng-deep .filter-calendar select.form-select:focus{border-color:#c2cfd6;box-shadow:none}::ng-deep .filter-calendar select.form-select{background-color:#fff}.no-data-case{padding-left:.4375rem!important;font-size:.875rem!important;margin-top:10px!important;cursor:pointer}.custom-column-checkbox-checked,.custom-column-checkbox-unchecked{font-size:.875rem;cursor:pointer}.custom-column-checkbox-checked{color:#268bff}.custom-column-checkbox-unchecked{color:#4a4a4a}.virtual-scroll-div{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}\n"] }]
|
|
297
297
|
}], ctorParameters: function () { return [{ type: i1.AnnaFilterService }, { type: i2.AnnaSortService }]; }, propDecorators: { filterTabObjects: [{
|
|
298
298
|
type: Input
|
|
299
299
|
}], isLurAndCsrComponent: [{
|
|
@@ -313,4 +313,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
313
313
|
}], sortingAppliedToTable: [{
|
|
314
314
|
type: Output
|
|
315
315
|
}] } });
|
|
316
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYS1jb2x1bW4tc2xpZGVyLWZpbHRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbm5hLWNvcmUvc3JjL2xpYi9hbm5hLWdlbmVyaWMtdGFibGUtbGliL2NvbXBvbmVudHMvYW5uYS1jb2x1bW4tZmlsdGVycy9hbm5hLWNvbHVtbi1zbGlkZXItZmlsdGVyL2FubmEtY29sdW1uLXNsaWRlci1maWx0ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5uYS1jb3JlL3NyYy9saWIvYW5uYS1nZW5lcmljLXRhYmxlLWxpYi9jb21wb25lbnRzL2FubmEtY29sdW1uLWZpbHRlcnMvYW5uYS1jb2x1bW4tc2xpZGVyLWZpbHRlci9hbm5hLWNvbHVtbi1zbGlkZXItZmlsdGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxlQUFlLEVBQVcsTUFBTSw0QkFBNEIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUkvQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrREFBK0QsQ0FBQztBQUNsRyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNkRBQTZELENBQUM7QUFDOUYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0scUNBQXFDLENBQUM7Ozs7OztBQVN4RSxNQUFNLE9BQU8sK0JBQStCO0lBa0N4QyxZQUNX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SSw2RkFBRSxLQUFLLG1IQUFFLE9BQU8sb0ZBQUUsaUJBQWlCLHlIQUFFLFdBQVcsZ3hCQUFFLGVBQWU7OzRGQUV0RSwrQkFBK0I7a0JBUDNDLFNBQVM7K0JBQ0kscUNBQXFDLGNBR25DLElBQUksV0FDUCxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFdBQVcsRUFBRSxlQUFlLENBQUM7c0lBR3ZFLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxvQkFBb0I7c0JBQTVCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxvQkFBb0I7c0JBQTVCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFFSSxZQUFZO3NCQUFyQixNQUFNO2dCQUNHLG9CQUFvQjtzQkFBN0IsTUFBTTtnQkFDRyxXQUFXO3NCQUFwQixNQUFNO2dCQUNHLHFCQUFxQjtzQkFBOUIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nQ2xhc3MsIE5nRm9yLCBOZ0lmIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuaW1wb3J0IHsgTmd4U2xpZGVyTW9kdWxlLCBPcHRpb25zIH0gZnJvbSBcIkBhbmd1bGFyLXNsaWRlci9uZ3gtc2xpZGVyXCI7XHJcbmltcG9ydCB7IGNsb25lRGVlcCwgaXNFcXVhbCB9IGZyb20gXCJsb2Rhc2gtZXNcIjtcclxuXHJcbmltcG9ydCB7IFNvcnRUeXBlIH0gZnJvbSBcIi4uLy4uLy4uLy4uL2FubmEtY29yZS1zaGFyZWQtbGliL21vZGVscy9hbm5hLXNvcnQubW9kZWxcIjtcclxuaW1wb3J0IHsgUmFkaW9CdXR0b25Nb2RlbCB9IGZyb20gXCIuLi8uLi8uLi8uLi9hbm5hLWNvcmUtc2hhcmVkLWxpYi9tb2RlbHMvYW5uYS10b29sdGlwLm1vZGVsXCI7XHJcbmltcG9ydCB7IEFubmFGaWx0ZXJTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uLy4uLy4uL2FubmEtY29yZS1zaGFyZWQtbGliL3NlcnZpY2VzL2FubmEtZmlsdGVyLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgQW5uYVNvcnRTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uLy4uLy4uL2FubmEtY29yZS1zaGFyZWQtbGliL3NlcnZpY2VzL2FubmEtc29ydC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IEFubmFTb3J0Q29tcG9uZW50IH0gZnJvbSBcIi4uLy4uL2FubmEtc29ydC9hbm5hLXNvcnQuY29tcG9uZW50XCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiBcImFubmEtY29yZS1hbm5hLWNvbHVtbi1zbGlkZXItZmlsdGVyXCIsXHJcbiAgICB0ZW1wbGF0ZVVybDogXCIuL2FubmEtY29sdW1uLXNsaWRlci1maWx0ZXIuY29tcG9uZW50Lmh0bWxcIixcclxuICAgIHN0eWxlVXJsczogW1wiLi9hbm5hLWNvbHVtbi1zbGlkZXItZmlsdGVyLmNvbXBvbmVudC5zY3NzXCJdLFxyXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICAgIGltcG9ydHM6IFtOZ0lmLCBOZ0ZvciwgTmdDbGFzcywgQW5uYVNvcnRDb21wb25lbnQsIEZvcm1zTW9kdWxlLCBOZ3hTbGlkZXJNb2R1bGVdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQW5uYUNvbHVtblNsaWRlckZpbHRlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgICBASW5wdXQoKSBmaWx0ZXJUYWJPYmplY3RzOiBhbnlbXTtcclxuICAgIEBJbnB1dCgpIGlzTHVyQW5kQ3NyQ29tcG9uZW50OiBib29sZWFuO1xyXG4gICAgQElucHV0KCkgdGFibGVEYXRhOiBhbnlbXTtcclxuICAgIEBJbnB1dCgpIHNob3dGaWx0ZXJIZWFkZXJUYWJzOiBib29sZWFuO1xyXG4gICAgQElucHV0KCkgY2xvbmVkVGFibGVEYXRhOiBhbnlbXTtcclxuXHJcbiAgICBAT3V0cHV0KCkgY2xvc2VUb29sdGlwID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gICAgQE91dHB1dCgpIGZpbHRlckFwcGxpZWRUb1RhYmxlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gICAgQE91dHB1dCgpIGdldFNvcnRUeXBlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gICAgQE91dHB1dCgpIHNvcnRpbmdBcHBsaWVkVG9UYWJsZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgICBzaG93U29ydENvbXBvbmVudDogYm9vbGVhbjtcclxuICAgIHNob3dGaWx0ZXJDb21wb25lbnQ6IGJvb2xlYW47XHJcblxyXG4gICAgdGVtcFNvcnRPcmRlcjogU29ydFR5cGUgPSBudWxsO1xyXG4gICAgaXNGaWx0ZXJDaGFuZ2VkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBpc1NvcnRDaGFuZ2VkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBzaG93RW1wdHlTcGFjZUZvclNsaWRlcjogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgaW5jb3JyZWN0U2xpZGVySW5wdXQ6IGJvb2xlYW47XHJcbiAgICBzbGlkZXJFbnRlcmVkTWF4VmFsdWU6IG51bWJlcjtcclxuICAgIHNsaWRlckVudGVyZWRNaW5WYWx1ZTogbnVtYmVyO1xyXG4gICAgc2hvd1NsaWRlck1pblZhbHVlRXJyb3I6IGJvb2xlYW47XHJcbiAgICBzaG93U2xpZGVyTWF4VmFsdWVFcnJvcjogYm9vbGVhbjtcclxuICAgIGlzTWluVGV4dEJveEVtcHR5OiBib29sZWFuO1xyXG4gICAgaXNNYXhUZXh0Qm94RW1wdHk6IGJvb2xlYW47XHJcbiAgICBvcHRpb25zOiBPcHRpb25zO1xyXG4gICAgc2xpZGVyRmlsdGVyVGV4dEJveFN0ZXA6IHN0cmluZztcclxuICAgIHNsaWRlck1pblZhbHVlOiBudW1iZXI7XHJcbiAgICBzbGlkZXJNYXhWYWx1ZTogbnVtYmVyO1xyXG4gICAgZGlzYWJsZVNsaWRlckFwcGx5QnV0dG9uOiBib29sZWFuO1xyXG4gICAgc2xpZGVyVmFsdWU6IHsgbWluOiBudW1iZXI7IG1heDogbnVtYmVyIH07XHJcbiAgICBkaXNhYmxlQ29sdW1uQ2xlYXJBbGxCdG46IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHB1YmxpYyBhbm5hRmlsdGVyU2VydmljZTogQW5uYUZpbHRlclNlcnZpY2UsXHJcbiAgICAgICAgcHVibGljIGFubmFTb3J0U2VydmljZTogQW5uYVNvcnRTZXJ2aWNlLFxyXG4gICAgKSB7fVxyXG5cclxuICAgIG5nT25Jbml0KCkge1xyXG4gICAgICAgIHRoaXMucG9wdWxhdGVUb29sdGlwRGF0YUJhc2VkT25TZWxlY3RlZFJhZGlvKHRoaXMuZmlsdGVyVGFiT2JqZWN0c1swXSwgZmFsc2UpO1xyXG4gICAgfVxyXG5cclxuICAgIHBvcHVsYXRlVG9vbHRpcERhdGFCYXNlZE9uU2VsZWN0ZWRSYWRpbyhhY3RpdmVUYWI6IFJhZGlvQnV0dG9uTW9kZWwsIHJlbG9hZDogYm9vbGVhbikge1xyXG4gICAgICAgIGNvbnN0IGhlYWRlciA9IGFjdGl2ZVRhYi5rZXk7XHJcblxyXG4gICAgICAgIHRoaXMuc2hvd1NvcnRDb21wb25lbnQgPSBhY3RpdmVUYWIuaXNTb3J0UmVxdWlyZWQ7XHJcbiAgICAgICAgdGhpcy5zaG93RmlsdGVyQ29tcG9uZW50ID0gYWN0aXZlVGFiLmlzRmlsdGVyUmVxdWlyZWQ7XHJcblxyXG4gICAgICAgIHRoaXMudGVtcFNvcnRPcmRlciA9IG51bGw7XHJcbiAgICAgICAgdGhpcy5pc0ZpbHRlckNoYW5nZWQgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmlzU29ydENoYW5nZWQgPSBmYWxzZTtcclxuXHJcbiAgICAgICAgdGhpcy5hbm5hRmlsdGVyU2VydmljZS5zZWxlY3RlZFJhZGlvID0gaGVhZGVyO1xyXG4gICAgICAgIHRoaXMuZGlzYWJsZUNvbHVtbkNsZWFyQWxsQnRuID0gdGhpcy5hbm5hRmlsdGVyU2VydmljZS5kaXNhYmxlQWN0aXZlRmlsdGVyQ2xlYXJCdXR0b24oKTtcclxuICAgICAgICBpZiAocmVsb2FkKSB7XHJcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5jcmVhdGVGaWx0ZXJUb29sdGlwRGF0YShhY3RpdmVUYWIsIGhlYWRlcik7XHJcbiAgICAgICAgICAgIH0sIDEwMCk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5jcmVhdGVGaWx0ZXJUb29sdGlwRGF0YShhY3RpdmVUYWIsIGhlYWRlcik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGNyZWF0ZUZpbHRlclRvb2x0aXBEYXRhKGFjdGl2ZVRhYjogUmFkaW9CdXR0b25Nb2RlbCwga2V5OiBzdHJpbmcpIHtcclxuICAgICAgICB0aGlzLnNob3dTb3J0Q29tcG9uZW50ID0gYWN0aXZlVGFiLmlzU29ydFJlcXVpcmVkO1xyXG4gICAgICAgIHRoaXMuc2hvd0ZpbHRlckNvbXBvbmVudCA9IGFjdGl2ZVRhYi5pc0ZpbHRlclJlcXVpcmVkO1xyXG5cclxuICAgICAgICB0aGlzLmRpc2FibGVTbGlkZXJBcHBseUJ1dHRvbiA9IHRydWU7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLnNob3dGaWx0ZXJDb21wb25lbnQpIHtcclxuICAgICAgICAgICAgdGhpcy5nZXRTbGlkZXJEYXRhKGtleSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGdldFNsaWRlckRhdGEoa2V5OiBzdHJpbmcpIHtcclxuICAgICAgICB0aGlzLnNob3dFbXB0eVNwYWNlRm9yU2xpZGVyID0gdHJ1ZTtcclxuXHJcbiAgICAgICAgdGhpcy5jcmVhdGVPcHRpb25zRm9yU2xpZGVyKGtleSk7XHJcbiAgICAgICAgdGhpcy5zZXRTZWxlY3RlZFJhbmdlRm9yU2xpZGVyKGtleSk7XHJcblxyXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLnNob3dFbXB0eVNwYWNlRm9yU2xpZGVyID0gZmFsc2U7XHJcbiAgICAgICAgfSwgMCk7XHJcbiAgICB9XHJcblxyXG4gICAgY3JlYXRlT3B0aW9uc0ZvclNsaWRlcihrZXk6IHN0cmluZykge1xyXG4gICAgICAgIGNvbnN0IHRyYW5zbGF0ZUZ1bmMgPSB0aGlzLmFubmFGaWx0ZXJTZXJ2aWNlLmdldFNsaWRlclRyYW5zbGF0ZUZ1bmNWYWwoXHJcbiAgICAgICAgICAgIGtleSxcclxuICAgICAgICAgICAgdGhpcy5hbm5hRmlsdGVyU2VydmljZS5zbGlkZXJDdXJyZW5jeVNldCxcclxuICAgICAgICApO1xyXG4gICAgICAgIHRoaXMuaW5jb3JyZWN0U2xpZGVySW5wdXQgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLnNsaWRlckVudGVyZWRNYXhWYWx1ZSA9IG51bGw7XHJcbiAgICAgICAgdGhpcy5zbGlkZXJFbnRlcmVkTWluVmFsdWUgPSBudWxsO1xyXG4gICAgICAgIHRoaXMuc2hvd1NsaWRlck1pblZhbHVlRXJyb3IgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLnNob3dTbGlkZXJNYXhWYWx1ZUVycm9yID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5pc01pblRleHRCb3hFbXB0eSA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuaXNNYXhUZXh0Qm94RW1wdHkgPSBmYWxzZTtcclxuXHJcbiAgICAgICAgY29uc3Qgb3B0aW9uc0RhdGEgPSB0aGlzLmFubmFGaWx0ZXJTZXJ2aWNlLmdldEZpbHRlck9wdGlvbnNEYXRhKHRoaXMudGFibGVEYXRhLCB0aGlzLmNsb25lZFRhYmxlRGF0YSk7XHJcbiAgICAgICAgdGhpcy5vcHRpb25zID0gdGhpcy5hbm5hRmlsdGVyU2VydmljZS5nZXRTbGlkZXJPcHRpb25zKG9wdGlvbnNEYXRhLCB0cmFuc2xhdGVGdW5jLCBrZXkpO1xyXG5cclxuICAgICAgICB0aGlzLm9wdGlvbnMuc3RlcCA9IDE7XHJcbiAgICAgICAgdGhpcy5zbGlkZXJGaWx0ZXJUZXh0Qm94U3RlcCA9IFwiMVwiO1xyXG4gICAgICAgIGlmIChrZXkgIT09IFwiV2Vla051bWJlclwiKSB7XHJcbiAgICAgICAgICAgIHRoaXMub3B0aW9ucy5zdGVwID0gMC4wMTtcclxuICAgICAgICAgICAgdGhpcy5zbGlkZXJGaWx0ZXJUZXh0Qm94U3RlcCA9IFwiMC4wMVwiO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBzZXRTZWxlY3RlZFJhbmdlRm9yU2xpZGVyKGtleTogc3RyaW5nKSB7XHJcbiAgICAgICAgW3RoaXMuc2xpZGVyTWluVmFsdWUsIHRoaXMuc2xpZGVyTWF4VmFsdWVdID0gdGhpcy5hbm5hRmlsdGVyU2VydmljZS5zZXRTZWxlY3RlZFJhbmdlRm9yU2xpZGVyKFxyXG4gICAgICAgICAgICBrZXksXHJcbiAgICAgICAgICAgIHRoaXMub3B0aW9ucyxcclxuICAgICAgICApO1xyXG4gICAgICAgIHRoaXMuc2xpZGVyRW50ZXJlZE1pblZhbHVlID0gdGhpcy5zbGlkZXJNaW5WYWx1ZTtcclxuICAgICAgICB0aGlzLnNsaWRlckVudGVyZWRNYXhWYWx1ZSA9IHRoaXMuc2xpZGVyTWF4VmFsdWU7XHJcbiAgICB9XHJcblxyXG4gICAgY2FuY2VsU2xpZGVyRmlsdGVyKCkge1xyXG4gICAgICAgIHRoaXMuc2xpZGVyVmFsdWUgPSBudWxsO1xyXG4gICAgICAgIHRoaXMuY2xvc2VUb29sdGlwLmVtaXQoKTtcclxuICAgIH1cclxuXHJcbiAgICBtaW5WYWx1ZUNoYW5nZWQodmFsOiBzdHJpbmcpIHtcclxuICAgICAgICBpZiAodmFsIHx8IHZhbCA9PT0gXCIwXCIpIHtcclxuICAgICAgICAgICAgdGhpcy5zbGlkZXJFbnRlcmVkTWluVmFsdWUgPSArdmFsO1xyXG4gICAgICAgICAgICB0aGlzLnNsaWRlckVudGVyZWRNYXhWYWx1ZSA9IHRoaXMuc2xpZGVyTWF4VmFsdWU7XHJcbiAgICAgICAgICAgIHRoaXMuaXNNaW5UZXh0Qm94RW1wdHkgPSBmYWxzZTtcclxuICAgICAgICAgICAgaWYgKHRoaXMuaXNNYXhUZXh0Qm94RW1wdHkpIHtcclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLnNsaWRlckVudGVyZWRNaW5WYWx1ZSA+IHRoaXMub3B0aW9ucy5jZWlsIHx8IHRoaXMuc2xpZGVyRW50ZXJlZE1pblZhbHVlIDwgdGhpcy5vcHRpb25zLmZsb29yKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zaG93U2xpZGVyTWluVmFsdWVFcnJvciA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kaXNhYmxlU2xpZGVyQXBwbHlCdXR0b24gPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5jb3JyZWN0U2xpZGVySW5wdXQgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnNob3dTbGlkZXJNaW5WYWx1ZUVycm9yID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zaG93U2xpZGVyTWF4VmFsdWVFcnJvciA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZGlzYWJsZVNsaWRlckFwcGx5QnV0dG9uID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmNvcnJlY3RTbGlkZXJJbnB1dCA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuc2xpZGVyRW50ZXJlZE1pblZhbHVlID4gdGhpcy5zbGlkZXJFbnRlcmVkTWF4VmFsdWUpIHtcclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLmFubmFGaWx0ZXJTZXJ2aWNlLmlzVmFsdWVJblJhbmdlKHRoaXMub3B0aW9ucywgdGhpcy5zbGlkZXJFbnRlcmVkTWF4VmFsdWUpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zaG93U2xpZGVyTWluVmFsdWVFcnJvciA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zaG93U2xpZGVyTWF4VmFsdWVFcnJvciA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnNob3dTbGlkZXJNYXhWYWx1ZUVycm9yID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5hbm5hRmlsdGVyU2VydmljZS5pc1ZhbHVlSW5SYW5nZSh0aGlzLm9wdGlvbnMsIHRoaXMuc2xpZGVyRW50ZXJlZE1pblZhbHVlKSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNob3dTbGlkZXJNaW5WYWx1ZUVycm9yID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zaG93U2xpZGVyTWluVmFsdWVFcnJvciA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgdGhpcy5kaXNhYmxlU2xpZGVyQXBwbHlCdXR0b24gPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5pbmNvcnJlY3RTbGlkZXJJbnB1dCA9IHRydWU7XHJcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5zbGlkZXJFbnRlcmVkTWluVmFsdWUgPCB0aGlzLm9wdGlvbnMuZmxvb3IpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2hvd1NsaWRlck1pblZhbHVlRXJyb3IgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5kaXNhYmxlU2xpZGVyQXBwbHlCdXR0b24gPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5pbmNvcnJlY3RTbGlkZXJJbnB1dCA9IHRydWU7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNob3dTbGlkZXJNaW5WYWx1ZUVycm9yID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmRpc2FibGVTbGlkZXJBcHBseUJ1dHRvbiA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5pbmNvcnJlY3RTbGlkZXJJbnB1dCA9IGZhbHNlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5zbGlkZXJFbnRlcmVkTWluVmFsdWUgPSB0aGlzLm9wdGlvbnMuZmxvb3I7XHJcbiAgICAgICAgICAgIHRoaXMuaXNNaW5UZXh0Qm94RW1wdHkgPSB0cnVlO1xyXG4gICAgICAgICAgICB0aGlzLnNob3dTbGlkZXJNaW5WYWx1ZUVycm9yID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLnNob3dFcnJvckZvck1pbkFuZE1heFZhbHVlKCk7XHJcbiAgICAgICAgdGhpcy5zbGlkZXJFbnRlcmVkTWF4VmFsdWUgPSB0aGlzLnNsaWRlck1heFZhbHVlO1xyXG4gICAgfVxyXG5cclxuICAgIG1heFZhbHVlQ2hhbmdlZCh2YWw6IHN0cmluZykge1xyXG4gICAgICAgIGlmICh2YWwgfHwgdmFsID09PSBcIjBcIikge1xyXG4gICAgICAgICAgICB0aGlzLnNsaWRlckVudGVyZWRNYXhWYWx1ZSA9ICt2YWw7XHJcbiAgICAgICAgICAgIHRoaXMuc2xpZGVyRW50ZXJlZE1pblZhbHVlID0gdGhpcy5zbGlkZXJNaW5WYWx1ZTtcclxuICAgICAgICAgICAgdGhpcy5pc01heFRleHRCb3hFbXB0eSA9IGZhbHNlO1xyXG4gICAgICAgICAgICBpZiAodGhpcy5pc01pblRleHRCb3hFbXB0eSkge1xyXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuc2xpZGVyRW50ZXJlZE1heFZhbHVlIDwgdGhpcy5vcHRpb25zLmZsb29yIHx8IHRoaXMuc2xpZGVyRW50ZXJlZE1heFZhbHVlID4gdGhpcy5vcHRpb25zLmNlaWwpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnNob3dTbGlkZXJNYXhWYWx1ZUVycm9yID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmRpc2FibGVTbGlkZXJBcHBseUJ1dHRvbiA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmNvcnJlY3RTbGlkZXJJbnB1dCA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2hvd1NsaWRlck1heFZhbHVlRXJyb3IgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnNob3dTbGlkZXJNaW5WYWx1ZUVycm9yID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kaXNhYmxlU2xpZGVyQXBwbHlCdXR0b24gPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmluY29ycmVjdFNsaWRlcklucHV0ID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5zbGlkZXJFbnRlcmVkTWF4VmFsdWUgPCB0aGlzLnNsaWRlckVudGVyZWRNaW5WYWx1ZSkge1xyXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuYW5uYUZpbHRlclNlcnZpY2UuaXNWYWx1ZUluUmFuZ2UodGhpcy5vcHRpb25zLCB0aGlzLnNsaWRlckVudGVyZWRNaW5WYWx1ZSkpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnNob3dTbGlkZXJNYXhWYWx1ZUVycm9yID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnNob3dTbGlkZXJNaW5WYWx1ZUVycm9yID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2hvd1NsaWRlck1pblZhbHVlRXJyb3IgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmFubmFGaWx0ZXJTZXJ2aWNlLmlzVmFsdWVJblJhbmdlKHRoaXMub3B0aW9ucywgdGhpcy5zbGlkZXJFbnRlcmVkTWF4VmFsdWUpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2hvd1NsaWRlck1heFZhbHVlRXJyb3IgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNob3dTbGlkZXJNYXhWYWx1ZUVycm9yID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB0aGlzLmRpc2FibGVTbGlkZXJBcHBseUJ1dHRvbiA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmluY29ycmVjdFNsaWRlcklucHV0ID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIC8vIHRoaXMuc2hvd01heEVycm9yID0gdHJ1ZTtcclxuICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLnNsaWRlckVudGVyZWRNYXhWYWx1ZSA+IHRoaXMub3B0aW9ucy5jZWlsKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNob3dTbGlkZXJNYXhWYWx1ZUVycm9yID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIHRoaXMuZGlzYWJsZVNsaWRlckFwcGx5QnV0dG9uID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIHRoaXMuaW5jb3JyZWN0U2xpZGVySW5wdXQgPSB0cnVlO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zaG93U2xpZGVyTWF4VmFsdWVFcnJvciA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5kaXNhYmxlU2xpZGVyQXBwbHlCdXR0b24gPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIHRoaXMuaW5jb3JyZWN0U2xpZGVySW5wdXQgPSBmYWxzZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2xpZGVyRW50ZXJlZE1heFZhbHVlID0gdGhpcy5vcHRpb25zLmNlaWw7XHJcbiAgICAgICAgICAgIHRoaXMuaXNNYXhUZXh0Qm94RW1wdHkgPSB0cnVlO1xyXG4gICAgICAgICAgICB0aGlzLnNob3dTbGlkZXJNYXhWYWx1ZUVycm9yID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuc2hvd0Vycm9yRm9yTWluQW5kTWF4VmFsdWUoKTtcclxuICAgICAgICB0aGlzLnNsaWRlckVudGVyZWRNaW5WYWx1ZSA9IHRoaXMuc2xpZGVyTWluVmFsdWU7XHJcbiAgICB9XHJcblxyXG4gICAgc2hvd0Vycm9yRm9yTWluQW5kTWF4VmFsdWUoKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuaXNNaW5UZXh0Qm94RW1wdHkgJiYgdGhpcy5pc01heFRleHRCb3hFbXB0eSkge1xyXG4gICAgICAgICAgICB0aGlzLnNob3dTbGlkZXJNaW5WYWx1ZUVycm9yID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGhpcy5zaG93U2xpZGVyTWF4VmFsdWVFcnJvciA9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMuZGlzYWJsZVNsaWRlckFwcGx5QnV0dG9uID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGhpcy5pbmNvcnJlY3RTbGlkZXJJbnB1dCA9IHRydWU7XHJcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLnNob3dTbGlkZXJNYXhWYWx1ZUVycm9yIHx8IHRoaXMuc2hvd1NsaWRlck1pblZhbHVlRXJyb3IpIHtcclxuICAgICAgICAgICAgdGhpcy5pbmNvcnJlY3RTbGlkZXJJbnB1dCA9IHRydWU7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5pbmNvcnJlY3RTbGlkZXJJbnB1dCA9IGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmRpc2FibGVTbGlkZXJBcHBseUJ0bigpO1xyXG4gICAgfVxyXG5cclxuICAgIGRpc2FibGVTbGlkZXJBcHBseUJ0bigpIHtcclxuICAgICAgICBpZiAodGhpcy5zaG93RmlsdGVyQ29tcG9uZW50ICYmIHRoaXMuc2hvd1NvcnRDb21wb25lbnQpIHtcclxuICAgICAgICAgICAgY29uc3QgaXNGaWx0ZXJDaGFuZ2VkID0gdGhpcy5jaGVja0lmU2xpZGVyVG9vbHRpcElzRmlsdGVyZWQoKTtcclxuICAgICAgICAgICAgY29uc3QgaXNTb3J0Q2hhbmdlZCA9IHRoaXMuY2hlY2tJZlNvcnRpbmdDaGFuZ2VkKCk7XHJcblxyXG4gICAgICAgICAgICB0aGlzLmRpc2FibGVTbGlkZXJBcHBseUJ1dHRvbiA9IHRoaXMuaW5jb3JyZWN0U2xpZGVySW5wdXQgfHwgKCFpc1NvcnRDaGFuZ2VkICYmICFpc0ZpbHRlckNoYW5nZWQpO1xyXG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5zaG93RmlsdGVyQ29tcG9uZW50KSB7XHJcbiAgICAgICAgICAgIHRoaXMuZGlzYWJsZVNsaWRlckFwcGx5QnV0dG9uID0gdGhpcy5pbmNvcnJlY3RTbGlkZXJJbnB1dCB8fCAhdGhpcy5jaGVja0lmU2xpZGVyVG9vbHRpcElzRmlsdGVyZWQoKTtcclxuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuc2hvd1NvcnRDb21wb25lbnQpIHtcclxuICAgICAgICAgICAgdGhpcy5kaXNhYmxlU2xpZGVyQXBwbHlCdXR0b24gPSAhdGhpcy5jaGVja0lmU29ydGluZ0NoYW5nZWQoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgY2hlY2tJZlNvcnRpbmdDaGFuZ2VkKCkge1xyXG4gICAgICAgIHRoaXMuaXNTb3J0Q2hhbmdlZCA9IHRoaXMuYW5uYUZpbHRlclNlcnZpY2UuY2hlY2tJZlNvcnRpbmdDaGFuZ2VkKHRoaXMudGVtcFNvcnRPcmRlcik7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNTb3J0Q2hhbmdlZDtcclxuICAgIH1cclxuXHJcbiAgICBjaGVja0lmU2xpZGVyVG9vbHRpcElzRmlsdGVyZWQoKSB7XHJcbiAgICAgICAgY29uc3QgcHJldmlvdXNTZWxlY3RlZFZhbHVlID0gdGhpcy5hbm5hRmlsdGVyU2VydmljZS5nZXRQcmV2aW91c1NlbGVjdGVkVmFsdWVGb3JTbGlkZXIodGhpcy5jbG9uZWRUYWJsZURhdGEpO1xyXG4gICAgICAgIGNvbnN0IGN1cnJlbnRTZWxlY3RlZFZhbHVlID0gdGhpcy5hbm5hRmlsdGVyU2VydmljZS5nZXRDdXJyZW50U2VsZWN0ZWRWYWx1ZUZvclNsaWRlcihcclxuICAgICAgICAgICAgdGhpcy5zbGlkZXJFbnRlcmVkTWluVmFsdWUsXHJcbiAgICAgICAgICAgIHRoaXMuc2xpZGVyRW50ZXJlZE1heFZhbHVlLFxyXG4gICAgICAgICAgICB0aGlzLm9wdGlvbnMsXHJcbiAgICAgICAgKTtcclxuXHJcbiAgICAgICAgdGhpcy5pc0ZpbHRlckNoYW5nZWQgPSAhaXNFcXVhbChwcmV2aW91c1NlbGVjdGVkVmFsdWUsIGN1cnJlbnRTZWxlY3RlZFZhbHVlKTtcclxuICAgICAgICByZXR1cm4gdGhpcy5pc0ZpbHRlckNoYW5nZWQ7XHJcbiAgICB9XHJcblxyXG4gICAgc3RvcmVTb3J0VHlwZUluVGVtcFZhcmlhYmxlKGV2ZW50OiBTb3J0VHlwZSkge1xyXG4gICAgICAgIHRoaXMudGVtcFNvcnRPcmRlciA9IGV2ZW50O1xyXG4gICAgICAgIHRoaXMuZGlzYWJsZVNsaWRlckFwcGx5QnRuKCk7XHJcbiAgICB9XHJcblxyXG4gICAgYXBwbHlGaWx0ZXJzKCkge1xyXG4gICAgICAgIHRoaXMuYXBwbHlTbGlkZXJGaWx0ZXIoKTtcclxuICAgICAgICB0aGlzLmFwcGx5U29ydGluZ09uRmlsdGVyZWREYXRhKCk7XHJcbiAgICAgICAgdGhpcy5hbm5hRmlsdGVyU2VydmljZS51cGRhdGVTdGF0ZU9mQWxsVGhlS2V5cyh0aGlzLmFubmFTb3J0U2VydmljZS5jb2x1bW5Tb3J0U3RhdGUpO1xyXG4gICAgICAgIHRoaXMuZW1pdERhdGEoKTtcclxuICAgIH1cclxuXHJcbiAgICBhcHBseVNsaWRlckZpbHRlcigpIHtcclxuICAgICAgICBpZiAodGhpcy5zaG93RmlsdGVyQ29tcG9uZW50ICYmIHRoaXMuaXNGaWx0ZXJDaGFuZ2VkKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRTbGlkZXJEYXRhID0gdGhpcy5hbm5hRmlsdGVyU2VydmljZS5nZXRDdXJyZW50U2VsZWN0ZWRWYWx1ZUZvclNsaWRlcihcclxuICAgICAgICAgICAgICAgIHRoaXMuc2xpZGVyRW50ZXJlZE1pblZhbHVlLFxyXG4gICAgICAgICAgICAgICAgdGhpcy5zbGlkZXJFbnRlcmVkTWF4VmFsdWUsXHJcbiAgICAgICAgICAgICAgICB0aGlzLm9wdGlvbnMsXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIHRoaXMuYW5uYUZpbHRlclNlcnZpY2UucmVPcmRlckFwcGxpZWRGaWx0ZXJzU3RhdGUodGhpcy5jbG9uZWRUYWJsZURhdGEsIGN1cnJlbnRTbGlkZXJEYXRhKTtcclxuICAgICAgICAgICAgdGhpcy5hbm5hRmlsdGVyU2VydmljZS50b29sdGlwU2VsZWN0ZWRNYXAuc2V0KHRoaXMuYW5uYUZpbHRlclNlcnZpY2Uuc2VsZWN0ZWRSYWRpbywgY3VycmVudFNsaWRlckRhdGEpO1xyXG4gICAgICAgICAgICB0aGlzLnRhYmxlRGF0YSA9IHRoaXMuYW5uYUZpbHRlclNlcnZpY2UuZmlsdGVyRGF0YSh0aGlzLmNsb25lZFRhYmxlRGF0YSwgXCJcIik7XHJcbiAgICAgICAgICAgIHRoaXMuYW5uYVNvcnRTZXJ2aWNlLm5vU29ydGluZ0FwcGxpZWREYXRhID0gY2xvbmVEZWVwKHRoaXMudGFibGVEYXRhKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgYXBwbHlTb3J0aW5nT25GaWx0ZXJlZERhdGEoKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuc2hvd1NvcnRDb21wb25lbnQpIHtcclxuICAgICAgICAgICAgaWYgKHRoaXMuaXNTb3J0Q2hhbmdlZCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy50YWJsZURhdGEgPSB0aGlzLmFubmFGaWx0ZXJTZXJ2aWNlLnVwZGF0ZVNvcnRNYXAoXHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50ZW1wU29ydE9yZGVyLFxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMudGFibGVEYXRhLFxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNMdXJBbmRDc3JDb21wb25lbnQsXHJcbiAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuaXNGaWx0ZXJDaGFuZ2VkKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnRhYmxlRGF0YSA9IHRoaXMuYW5uYVNvcnRTZXJ2aWNlLmNoZWNrSWZTb3J0aW5nSXNBcHBsaWVkKFxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMudGFibGVEYXRhLFxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNMdXJBbmRDc3JDb21wb25lbnQsXHJcbiAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmlzRmlsdGVyQ2hhbmdlZCkge1xyXG4gICAgICAgICAgICB0aGlzLnRhYmxlRGF0YSA9IHRoaXMuYW5uYVNvcnRTZXJ2aWNlLmNoZWNrSWZTb3J0aW5nSXNBcHBsaWVkKHRoaXMudGFibGVEYXRhLCB0aGlzLmlzTHVyQW5kQ3NyQ29tcG9uZW50KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgZW1pdERhdGEoKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuaXNGaWx0ZXJDaGFuZ2VkICYmIHRoaXMuaXNTb3J0Q2hhbmdlZCkge1xyXG4gICAgICAgICAgICB0aGlzLmZpbHRlckFwcGxpZWRUb1RhYmxlLmVtaXQodGhpcy50YWJsZURhdGEpO1xyXG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5pc0ZpbHRlckNoYW5nZWQpIHtcclxuICAgICAgICAgICAgdGhpcy5maWx0ZXJBcHBsaWVkVG9UYWJsZS5lbWl0KHRoaXMudGFibGVEYXRhKTtcclxuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuaXNTb3J0Q2hhbmdlZCkge1xyXG4gICAgICAgICAgICB0aGlzLmdldFNvcnRUeXBlLmVtaXQodGhpcy50ZW1wU29ydE9yZGVyKTtcclxuICAgICAgICAgICAgdGhpcy5zb3J0aW5nQXBwbGllZFRvVGFibGUuZW1pdCh0aGlzLnRhYmxlRGF0YSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGNsZWFyQ29sdW1uRmlsdGVyKCkge1xyXG4gICAgICAgIHRoaXMuYW5uYUZpbHRlclNlcnZpY2UuY2xlYXJDb2x1bW5GaWx0ZXIoKTtcclxuICAgICAgICB0aGlzLnRhYmxlRGF0YSA9IGNsb25lRGVlcCh0aGlzLmFubmFGaWx0ZXJTZXJ2aWNlLmZpbHRlckRhdGEodGhpcy5jbG9uZWRUYWJsZURhdGEsIFwiXCIpKTtcclxuICAgICAgICB0aGlzLmFubmFTb3J0U2VydmljZS5ub1NvcnRpbmdBcHBsaWVkRGF0YSA9IHRoaXMudGFibGVEYXRhO1xyXG4gICAgICAgIHRoaXMudGFibGVEYXRhID0gdGhpcy5hbm5hU29ydFNlcnZpY2UuY2hlY2tJZlNvcnRpbmdJc0FwcGxpZWQodGhpcy50YWJsZURhdGEsIHRoaXMuaXNMdXJBbmRDc3JDb21wb25lbnQpO1xyXG4gICAgICAgIHRoaXMuYW5uYUZpbHRlclNlcnZpY2UudXBkYXRlU3RhdGVPZlRoZUN1cnJlbnRGaWx0ZXJUYWIodGhpcy5hbm5hU29ydFNlcnZpY2UuY29sdW1uU29ydFN0YXRlKTtcclxuICAgICAgICB0aGlzLmZpbHRlckFwcGxpZWRUb1RhYmxlLmVtaXQodGhpcy50YWJsZURhdGEpO1xyXG4gICAgfVxyXG59XHJcbiIsIjxkaXZcbiAgICBjbGFzcz1cInJhZGlvLWNvbnRhaW5lclwiXG4gICAgKm5nSWY9XCJzaG93RmlsdGVySGVhZGVyVGFic1wiXG4+XG4gICAgPGRpdiAqbmdGb3I9XCJsZXQgZGF0YSBvZiBmaWx0ZXJUYWJPYmplY3RzXCI+XG4gICAgICAgIDxwXG4gICAgICAgICAgICBjbGFzcz1cImZpbHRlci10YWJcIlxuICAgICAgICAgICAgW3RpdGxlXT1cImRhdGEubGFiZWxcIlxuICAgICAgICAgICAgKGNsaWNrKT1cInBvcHVsYXRlVG9vbHRpcERhdGFCYXNlZE9uU2VsZWN0ZWRSYWRpbyhkYXRhLCB0cnVlKVwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7IGFjdGl2ZTogYW5uYUZpbHRlclNlcnZpY2Uuc2VsZWN0ZWRSYWRpbyA9PT0gZGF0YS5rZXkgfVwiXG4gICAgICAgICAgICAqbmdJZj1cImZpbHRlclRhYk9iamVjdHMubGVuZ3RoID4gMFwiXG4gICAgICAgID5cbiAgICAgICAgICAgIHt7IGRhdGEubGFiZWwgfX1cbiAgICAgICAgPC9wPlxuICAgIDwvZGl2PlxuPC9kaXY+XG5cbjxhbm5hLWNvcmUtc29ydC1saWJcbiAgICAqbmdJZj1cInNob3dTb3J0Q29tcG9uZW50XCJcbiAgICBbbmdDbGFzc109XCJ7ICduby1ib3R0b20tYm9yZGVyJzogIXNob3dGaWx0ZXJDb21wb25lbnQgfVwiXG4gICAgKHNvcnRPcHRpb25DbGlja2VkKT1cInN0b3JlU29ydFR5cGVJblRlbXBWYXJpYWJsZSgkZXZlbnQpXCJcbiAgICBbc29ydE9iamVjdEtleV09XCJhbm5hRmlsdGVyU2VydmljZS5zZWxlY3RlZFJhZGlvXCJcbj48L2FubmEtY29yZS1zb3J0LWxpYj5cblxuPG5nLWNvbnRhaW5lciAqbmdJZj1cInNob3dGaWx0ZXJDb21wb25lbnRcIj5cbiAgICA8YnV0dG9uXG4gICAgICAgIGNsYXNzPVwiY29sdW1uLWNsZWFyLWFsbFwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlQ29sdW1uQ2xlYXJBbGxCdG5cIlxuICAgICAgICAoY2xpY2spPVwiY2xlYXJDb2x1bW5GaWx0ZXIoKVwiXG4gICAgPlxuICAgICAgICBDbGVhciBmaWx0ZXJcbiAgICA8L2J1dHRvbj5cbiAgICA8c2VjdGlvbiBjbGFzcz1cIm1pbi1tYXhDb250YWluZXJcIj5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgICB0eXBlPVwibnVtYmVyXCJcbiAgICAgICAgICAgIGNsYXNzPVwic2xpZGVyLXRleHRcIlxuICAgICAgICAgICAgc3RlcD1cInt7IHNsaWRlckZpbHRlclRleHRCb3hTdGVwIH19XCJcbiAgICAgICAgICAgIFsobmdNb2RlbCldPVwic2xpZGVyTWluVmFsdWVcIlxuICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwibWluVmFsdWVDaGFuZ2VkKCRldmVudClcIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAncmVkLWJvcmRlcic6IHNob3dTbGlkZXJNaW5WYWx1ZUVycm9yIH1cIlxuICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJNaW5cIlxuICAgICAgICAvPlxuICAgICAgICA8c3Bhbj5Ubzwvc3Bhbj5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgICB0eXBlPVwibnVtYmVyXCJcbiAgICAgICAgICAgIGNsYXNzPVwic2xpZGVyLXRleHRcIlxuICAgICAgICAgICAgc3RlcD1cInt7IHNsaWRlckZpbHRlclRleHRCb3hTdGVwIH19XCJcbiAgICAgICAgICAgIFsobmdNb2RlbCldPVwic2xpZGVyTWF4VmFsdWVcIlxuICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwibWF4VmFsdWVDaGFuZ2VkKCRldmVudClcIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAncmVkLWJvcmRlcic6IHNob3dTbGlkZXJNYXhWYWx1ZUVycm9yIH1cIlxuICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJNYXhcIlxuICAgICAgICAvPlxuICAgIDwvc2VjdGlvbj5cbiAgICA8ZGl2IGNsYXNzPVwic2lkZWJhci1zbGlkZXJcIj5cbiAgICAgICAgPG5neC1zbGlkZXJcbiAgICAgICAgICAgICpuZ0lmPVwiIXNob3dFbXB0eVNwYWNlRm9yU2xpZGVyXCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICAgICAnc2hvdy1taW4nOiBzbGlkZXJNaW5WYWx1ZSAhPT0gb3B0aW9ucy5mbG9vcixcbiAgICAgICAgICAgICAgICAnc2hvdy1tYXgnOiBzbGlkZXJNYXhWYWx1ZSAhPT0gb3B0aW9ucy5jZWlsXG4gICAgICAgICAgICB9XCJcbiAgICAgICAgICAgIGNsYXNzPVwiZmlsdGVyLXNsaWRlclwiXG4gICAgICAgICAgICBbKHZhbHVlKV09XCJzbGlkZXJFbnRlcmVkTWluVmFsdWVcIlxuICAgICAgICAgICAgWyhoaWdoVmFsdWUpXT1cInNsaWRlckVudGVyZWRNYXhWYWx1ZVwiXG4gICAgICAgICAgICBbb3B0aW9uc109XCJvcHRpb25zXCJcbiAgICAgICAgPjwvbmd4LXNsaWRlcj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgKm5nSWY9XCJzaG93RW1wdHlTcGFjZUZvclNsaWRlclwiXG4gICAgICAgICAgICBjbGFzcz1cInNsaWRlci1wbGFjZWhvbGRlclwiXG4gICAgICAgID48L2Rpdj5cbiAgICA8L2Rpdj5cbjwvbmctY29udGFpbmVyPlxuXG48ZGl2IGNsYXNzPVwiYnV0dG9ucy1jb250YWluZXJcIj5cbiAgICA8YnV0dG9uXG4gICAgICAgIGNsYXNzPVwiYnV0dG9uXCJcbiAgICAgICAgKGNsaWNrKT1cImNhbmNlbFNsaWRlckZpbHRlcigpXCJcbiAgICA+XG4gICAgICAgIENhbmNlbFxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b25cbiAgICAgICAgY2xhc3M9XCJidXR0b25cIlxuICAgICAgICBbbmdDbGFzc109XCJ7IGRpc2FibGVkOiBkaXNhYmxlU2xpZGVyQXBwbHlCdXR0b24gfVwiXG4gICAgICAgIChjbGljayk9XCJhcHBseUZpbHRlcnMoKVwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlU2xpZGVyQXBwbHlCdXR0b25cIlxuICAgID5cbiAgICAgICAgQXBwbHlcbiAgICA8L2J1dHRvbj5cbjwvZGl2PlxuIl19
|
|
316
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYS1jb2x1bW4tc2xpZGVyLWZpbHRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbm5hLWNvcmUvc3JjL2xpYi9hbm5hLWdlbmVyaWMtdGFibGUtbGliL2NvbXBvbmVudHMvYW5uYS1jb2x1bW4tZmlsdGVycy9hbm5hLWNvbHVtbi1zbGlkZXItZmlsdGVyL2FubmEtY29sdW1uLXNsaWRlci1maWx0ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5uYS1jb3JlL3NyYy9saWIvYW5uYS1nZW5lcmljLXRhYmxlLWxpYi9jb21wb25lbnRzL2FubmEtY29sdW1uLWZpbHRlcnMvYW5uYS1jb2x1bW4tc2xpZGVyLWZpbHRlci9hbm5hLWNvbHVtbi1zbGlkZXItZmlsdGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxlQUFlLEVBQVcsTUFBTSw0QkFBNEIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUkvQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrREFBK0QsQ0FBQztBQUNsRyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNkRBQTZELENBQUM7QUFDOUYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0scUNBQXFDLENBQUM7Ozs7OztBQVN4RSxNQUFNLE9BQU8sK0JBQStCO0lBa0N4QyxZQUNX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SSw2RkFBRSxLQUFLLG1IQUFFLE9BQU8sb0ZBQUUsaUJBQWlCLHlIQUFFLFdBQVcsZ3hCQUFFLGVBQWU7OzRGQUV0RSwrQkFBK0I7a0JBUDNDLFNBQVM7K0JBQ0kscUNBQXFDLGNBR25DLElBQUksV0FDUCxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFdBQVcsRUFBRSxlQUFlLENBQUM7c0lBR3ZFLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxvQkFBb0I7c0JBQTVCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxvQkFBb0I7c0JBQTVCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFFSSxZQUFZO3NCQUFyQixNQUFNO2dCQUNHLG9CQUFvQjtzQkFBN0IsTUFBTTtnQkFDRyxXQUFXO3NCQUFwQixNQUFNO2dCQUNHLHFCQUFxQjtzQkFBOUIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nQ2xhc3MsIE5nRm9yLCBOZ0lmIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuaW1wb3J0IHsgTmd4U2xpZGVyTW9kdWxlLCBPcHRpb25zIH0gZnJvbSBcIkBhbmd1bGFyLXNsaWRlci9uZ3gtc2xpZGVyXCI7XHJcbmltcG9ydCB7IGNsb25lRGVlcCwgaXNFcXVhbCB9IGZyb20gXCJsb2Rhc2gtZXNcIjtcclxuXHJcbmltcG9ydCB7IFNvcnRUeXBlIH0gZnJvbSBcIi4uLy4uLy4uLy4uL2FubmEtY29yZS1zaGFyZWQtbGliL21vZGVscy9hbm5hLXNvcnQubW9kZWxcIjtcclxuaW1wb3J0IHsgUmFkaW9CdXR0b25Nb2RlbCB9IGZyb20gXCIuLi8uLi8uLi8uLi9hbm5hLWNvcmUtc2hhcmVkLWxpYi9tb2RlbHMvYW5uYS10b29sdGlwLm1vZGVsXCI7XHJcbmltcG9ydCB7IEFubmFGaWx0ZXJTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uLy4uLy4uL2FubmEtY29yZS1zaGFyZWQtbGliL3NlcnZpY2VzL2FubmEtZmlsdGVyLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgQW5uYVNvcnRTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uLy4uLy4uL2FubmEtY29yZS1zaGFyZWQtbGliL3NlcnZpY2VzL2FubmEtc29ydC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IEFubmFTb3J0Q29tcG9uZW50IH0gZnJvbSBcIi4uLy4uL2FubmEtc29ydC9hbm5hLXNvcnQuY29tcG9uZW50XCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiBcImFubmEtY29yZS1hbm5hLWNvbHVtbi1zbGlkZXItZmlsdGVyXCIsXHJcbiAgICB0ZW1wbGF0ZVVybDogXCIuL2FubmEtY29sdW1uLXNsaWRlci1maWx0ZXIuY29tcG9uZW50Lmh0bWxcIixcclxuICAgIHN0eWxlVXJsczogW1wiLi9hbm5hLWNvbHVtbi1zbGlkZXItZmlsdGVyLmNvbXBvbmVudC5zY3NzXCJdLFxyXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICAgIGltcG9ydHM6IFtOZ0lmLCBOZ0ZvciwgTmdDbGFzcywgQW5uYVNvcnRDb21wb25lbnQsIEZvcm1zTW9kdWxlLCBOZ3hTbGlkZXJNb2R1bGVdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQW5uYUNvbHVtblNsaWRlckZpbHRlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgICBASW5wdXQoKSBmaWx0ZXJUYWJPYmplY3RzOiBhbnlbXTtcclxuICAgIEBJbnB1dCgpIGlzTHVyQW5kQ3NyQ29tcG9uZW50OiBib29sZWFuO1xyXG4gICAgQElucHV0KCkgdGFibGVEYXRhOiBhbnlbXTtcclxuICAgIEBJbnB1dCgpIHNob3dGaWx0ZXJIZWFkZXJUYWJzOiBib29sZWFuO1xyXG4gICAgQElucHV0KCkgY2xvbmVkVGFibGVEYXRhOiBhbnlbXTtcclxuXHJcbiAgICBAT3V0cHV0KCkgY2xvc2VUb29sdGlwID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gICAgQE91dHB1dCgpIGZpbHRlckFwcGxpZWRUb1RhYmxlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gICAgQE91dHB1dCgpIGdldFNvcnRUeXBlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gICAgQE91dHB1dCgpIHNvcnRpbmdBcHBsaWVkVG9UYWJsZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgICBzaG93U29ydENvbXBvbmVudDogYm9vbGVhbjtcclxuICAgIHNob3dGaWx0ZXJDb21wb25lbnQ6IGJvb2xlYW47XHJcblxyXG4gICAgdGVtcFNvcnRPcmRlcjogU29ydFR5cGUgPSBudWxsO1xyXG4gICAgaXNGaWx0ZXJDaGFuZ2VkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBpc1NvcnRDaGFuZ2VkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBzaG93RW1wdHlTcGFjZUZvclNsaWRlcjogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgaW5jb3JyZWN0U2xpZGVySW5wdXQ6IGJvb2xlYW47XHJcbiAgICBzbGlkZXJFbnRlcmVkTWF4VmFsdWU6IG51bWJlcjtcclxuICAgIHNsaWRlckVudGVyZWRNaW5WYWx1ZTogbnVtYmVyO1xyXG4gICAgc2hvd1NsaWRlck1pblZhbHVlRXJyb3I6IGJvb2xlYW47XHJcbiAgICBzaG93U2xpZGVyTWF4VmFsdWVFcnJvcjogYm9vbGVhbjtcclxuICAgIGlzTWluVGV4dEJveEVtcHR5OiBib29sZWFuO1xyXG4gICAgaXNNYXhUZXh0Qm94RW1wdHk6IGJvb2xlYW47XHJcbiAgICBvcHRpb25zOiBPcHRpb25zO1xyXG4gICAgc2xpZGVyRmlsdGVyVGV4dEJveFN0ZXA6IHN0cmluZztcclxuICAgIHNsaWRlck1pblZhbHVlOiBudW1iZXI7XHJcbiAgICBzbGlkZXJNYXhWYWx1ZTogbnVtYmVyO1xyXG4gICAgZGlzYWJsZVNsaWRlckFwcGx5QnV0dG9uOiBib29sZWFuO1xyXG4gICAgc2xpZGVyVmFsdWU6IHsgbWluOiBudW1iZXI7IG1heDogbnVtYmVyIH07XHJcbiAgICBkaXNhYmxlQ29sdW1uQ2xlYXJBbGxCdG46IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHB1YmxpYyBhbm5hRmlsdGVyU2VydmljZTogQW5uYUZpbHRlclNlcnZpY2UsXHJcbiAgICAgICAgcHVibGljIGFubmFTb3J0U2VydmljZTogQW5uYVNvcnRTZXJ2aWNlLFxyXG4gICAgKSB7fVxyXG5cclxuICAgIG5nT25Jbml0KCkge1xyXG4gICAgICAgIHRoaXMucG9wdWxhdGVUb29sdGlwRGF0YUJhc2VkT25TZWxlY3RlZFJhZGlvKHRoaXMuZmlsdGVyVGFiT2JqZWN0c1swXSwgZmFsc2UpO1xyXG4gICAgfVxyXG5cclxuICAgIHBvcHVsYXRlVG9vbHRpcERhdGFCYXNlZE9uU2VsZWN0ZWRSYWRpbyhhY3RpdmVUYWI6IFJhZGlvQnV0dG9uTW9kZWwsIHJlbG9hZDogYm9vbGVhbikge1xyXG4gICAgICAgIGNvbnN0IGhlYWRlciA9IGFjdGl2ZVRhYi5rZXk7XHJcblxyXG4gICAgICAgIHRoaXMuc2hvd1NvcnRDb21wb25lbnQgPSBhY3RpdmVUYWIuaXNTb3J0UmVxdWlyZWQ7XHJcbiAgICAgICAgdGhpcy5zaG93RmlsdGVyQ29tcG9uZW50ID0gYWN0aXZlVGFiLmlzRmlsdGVyUmVxdWlyZWQ7XHJcblxyXG4gICAgICAgIHRoaXMudGVtcFNvcnRPcmRlciA9IG51bGw7XHJcbiAgICAgICAgdGhpcy5pc0ZpbHRlckNoYW5nZWQgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmlzU29ydENoYW5nZWQgPSBmYWxzZTtcclxuXHJcbiAgICAgICAgdGhpcy5hbm5hRmlsdGVyU2VydmljZS5zZWxlY3RlZFJhZGlvID0gaGVhZGVyO1xyXG4gICAgICAgIHRoaXMuZGlzYWJsZUNvbHVtbkNsZWFyQWxsQnRuID0gdGhpcy5hbm5hRmlsdGVyU2VydmljZS5kaXNhYmxlQWN0aXZlRmlsdGVyQ2xlYXJCdXR0b24oKTtcclxuICAgICAgICBpZiAocmVsb2FkKSB7XHJcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5jcmVhdGVGaWx0ZXJUb29sdGlwRGF0YShhY3RpdmVUYWIsIGhlYWRlcik7XHJcbiAgICAgICAgICAgIH0sIDEwMCk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5jcmVhdGVGaWx0ZXJUb29sdGlwRGF0YShhY3RpdmVUYWIsIGhlYWRlcik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGNyZWF0ZUZpbHRlclRvb2x0aXBEYXRhKGFjdGl2ZVRhYjogUmFkaW9CdXR0b25Nb2RlbCwga2V5OiBzdHJpbmcpIHtcclxuICAgICAgICB0aGlzLnNob3dTb3J0Q29tcG9uZW50ID0gYWN0aXZlVGFiLmlzU29ydFJlcXVpcmVkO1xyXG4gICAgICAgIHRoaXMuc2hvd0ZpbHRlckNvbXBvbmVudCA9IGFjdGl2ZVRhYi5pc0ZpbHRlclJlcXVpcmVkO1xyXG5cclxuICAgICAgICB0aGlzLmRpc2FibGVTbGlkZXJBcHBseUJ1dHRvbiA9IHRydWU7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLnNob3dGaWx0ZXJDb21wb25lbnQpIHtcclxuICAgICAgICAgICAgdGhpcy5nZXRTbGlkZXJEYXRhKGtleSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGdldFNsaWRlckRhdGEoa2V5OiBzdHJpbmcpIHtcclxuICAgICAgICB0aGlzLnNob3dFbXB0eVNwYWNlRm9yU2xpZGVyID0gdHJ1ZTtcclxuXHJcbiAgICAgICAgdGhpcy5jcmVhdGVPcHRpb25zRm9yU2xpZGVyKGtleSk7XHJcbiAgICAgICAgdGhpcy5zZXRTZWxlY3RlZFJhbmdlRm9yU2xpZGVyKGtleSk7XHJcblxyXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLnNob3dFbXB0eVNwYWNlRm9yU2xpZGVyID0gZmFsc2U7XHJcbiAgICAgICAgfSwgMCk7XHJcbiAgICB9XHJcblxyXG4gICAgY3JlYXRlT3B0aW9uc0ZvclNsaWRlcihrZXk6IHN0cmluZykge1xyXG4gICAgICAgIGNvbnN0IHRyYW5zbGF0ZUZ1bmMgPSB0aGlzLmFubmFGaWx0ZXJTZXJ2aWNlLmdldFNsaWRlclRyYW5zbGF0ZUZ1bmNWYWwoXHJcbiAgICAgICAgICAgIGtleSxcclxuICAgICAgICAgICAgdGhpcy5hbm5hRmlsdGVyU2VydmljZS5zbGlkZXJDdXJyZW5jeVNldCxcclxuICAgICAgICApO1xyXG4gICAgICAgIHRoaXMuaW5jb3JyZWN0U2xpZGVySW5wdXQgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLnNsaWRlckVudGVyZWRNYXhWYWx1ZSA9IG51bGw7XHJcbiAgICAgICAgdGhpcy5zbGlkZXJFbnRlcmVkTWluVmFsdWUgPSBudWxsO1xyXG4gICAgICAgIHRoaXMuc2hvd1NsaWRlck1pblZhbHVlRXJyb3IgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLnNob3dTbGlkZXJNYXhWYWx1ZUVycm9yID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5pc01pblRleHRCb3hFbXB0eSA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuaXNNYXhUZXh0Qm94RW1wdHkgPSBmYWxzZTtcclxuXHJcbiAgICAgICAgY29uc3Qgb3B0aW9uc0RhdGEgPSB0aGlzLmFubmFGaWx0ZXJTZXJ2aWNlLmdldEZpbHRlck9wdGlvbnNEYXRhKHRoaXMudGFibGVEYXRhLCB0aGlzLmNsb25lZFRhYmxlRGF0YSk7XHJcbiAgICAgICAgdGhpcy5vcHRpb25zID0gdGhpcy5hbm5hRmlsdGVyU2VydmljZS5nZXRTbGlkZXJPcHRpb25zKG9wdGlvbnNEYXRhLCB0cmFuc2xhdGVGdW5jLCBrZXkpO1xyXG5cclxuICAgICAgICB0aGlzLm9wdGlvbnMuc3RlcCA9IDE7XHJcbiAgICAgICAgdGhpcy5zbGlkZXJGaWx0ZXJUZXh0Qm94U3RlcCA9IFwiMVwiO1xyXG4gICAgICAgIGlmIChrZXkgIT09IFwiV2Vla051bWJlclwiKSB7XHJcbiAgICAgICAgICAgIHRoaXMub3B0aW9ucy5zdGVwID0gMC4wMTtcclxuICAgICAgICAgICAgdGhpcy5zbGlkZXJGaWx0ZXJUZXh0Qm94U3RlcCA9IFwiMC4wMVwiO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBzZXRTZWxlY3RlZFJhbmdlRm9yU2xpZGVyKGtleTogc3RyaW5nKSB7XHJcbiAgICAgICAgW3RoaXMuc2xpZGVyTWluVmFsdWUsIHRoaXMuc2xpZGVyTWF4VmFsdWVdID0gdGhpcy5hbm5hRmlsdGVyU2VydmljZS5zZXRTZWxlY3RlZFJhbmdlRm9yU2xpZGVyKFxyXG4gICAgICAgICAgICBrZXksXHJcbiAgICAgICAgICAgIHRoaXMub3B0aW9ucyxcclxuICAgICAgICApO1xyXG4gICAgICAgIHRoaXMuc2xpZGVyRW50ZXJlZE1pblZhbHVlID0gdGhpcy5zbGlkZXJNaW5WYWx1ZTtcclxuICAgICAgICB0aGlzLnNsaWRlckVudGVyZWRNYXhWYWx1ZSA9IHRoaXMuc2xpZGVyTWF4VmFsdWU7XHJcbiAgICB9XHJcblxyXG4gICAgY2FuY2VsU2xpZGVyRmlsdGVyKCkge1xyXG4gICAgICAgIHRoaXMuc2xpZGVyVmFsdWUgPSBudWxsO1xyXG4gICAgICAgIHRoaXMuY2xvc2VUb29sdGlwLmVtaXQoKTtcclxuICAgIH1cclxuXHJcbiAgICBtaW5WYWx1ZUNoYW5nZWQodmFsOiBzdHJpbmcpIHtcclxuICAgICAgICBpZiAodmFsIHx8IHZhbCA9PT0gXCIwXCIpIHtcclxuICAgICAgICAgICAgdGhpcy5zbGlkZXJFbnRlcmVkTWluVmFsdWUgPSArdmFsO1xyXG4gICAgICAgICAgICB0aGlzLnNsaWRlckVudGVyZWRNYXhWYWx1ZSA9IHRoaXMuc2xpZGVyTWF4VmFsdWU7XHJcbiAgICAgICAgICAgIHRoaXMuaXNNaW5UZXh0Qm94RW1wdHkgPSBmYWxzZTtcclxuICAgICAgICAgICAgaWYgKHRoaXMuaXNNYXhUZXh0Qm94RW1wdHkpIHtcclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLnNsaWRlckVudGVyZWRNaW5WYWx1ZSA+IHRoaXMub3B0aW9ucy5jZWlsIHx8IHRoaXMuc2xpZGVyRW50ZXJlZE1pblZhbHVlIDwgdGhpcy5vcHRpb25zLmZsb29yKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zaG93U2xpZGVyTWluVmFsdWVFcnJvciA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kaXNhYmxlU2xpZGVyQXBwbHlCdXR0b24gPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5jb3JyZWN0U2xpZGVySW5wdXQgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnNob3dTbGlkZXJNaW5WYWx1ZUVycm9yID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zaG93U2xpZGVyTWF4VmFsdWVFcnJvciA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZGlzYWJsZVNsaWRlckFwcGx5QnV0dG9uID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmNvcnJlY3RTbGlkZXJJbnB1dCA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuc2xpZGVyRW50ZXJlZE1pblZhbHVlID4gdGhpcy5zbGlkZXJFbnRlcmVkTWF4VmFsdWUpIHtcclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLmFubmFGaWx0ZXJTZXJ2aWNlLmlzVmFsdWVJblJhbmdlKHRoaXMub3B0aW9ucywgdGhpcy5zbGlkZXJFbnRlcmVkTWF4VmFsdWUpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zaG93U2xpZGVyTWluVmFsdWVFcnJvciA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zaG93U2xpZGVyTWF4VmFsdWVFcnJvciA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnNob3dTbGlkZXJNYXhWYWx1ZUVycm9yID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5hbm5hRmlsdGVyU2VydmljZS5pc1ZhbHVlSW5SYW5nZSh0aGlzLm9wdGlvbnMsIHRoaXMuc2xpZGVyRW50ZXJlZE1pblZhbHVlKSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNob3dTbGlkZXJNaW5WYWx1ZUVycm9yID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zaG93U2xpZGVyTWluVmFsdWVFcnJvciA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgdGhpcy5kaXNhYmxlU2xpZGVyQXBwbHlCdXR0b24gPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5pbmNvcnJlY3RTbGlkZXJJbnB1dCA9IHRydWU7XHJcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5zbGlkZXJFbnRlcmVkTWluVmFsdWUgPCB0aGlzLm9wdGlvbnMuZmxvb3IpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2hvd1NsaWRlck1pblZhbHVlRXJyb3IgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5kaXNhYmxlU2xpZGVyQXBwbHlCdXR0b24gPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5pbmNvcnJlY3RTbGlkZXJJbnB1dCA9IHRydWU7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNob3dTbGlkZXJNaW5WYWx1ZUVycm9yID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmRpc2FibGVTbGlkZXJBcHBseUJ1dHRvbiA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5pbmNvcnJlY3RTbGlkZXJJbnB1dCA9IGZhbHNlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5zbGlkZXJFbnRlcmVkTWluVmFsdWUgPSB0aGlzLm9wdGlvbnMuZmxvb3I7XHJcbiAgICAgICAgICAgIHRoaXMuaXNNaW5UZXh0Qm94RW1wdHkgPSB0cnVlO1xyXG4gICAgICAgICAgICB0aGlzLnNob3dTbGlkZXJNaW5WYWx1ZUVycm9yID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLnNob3dFcnJvckZvck1pbkFuZE1heFZhbHVlKCk7XHJcbiAgICAgICAgdGhpcy5zbGlkZXJFbnRlcmVkTWF4VmFsdWUgPSB0aGlzLnNsaWRlck1heFZhbHVlO1xyXG4gICAgfVxyXG5cclxuICAgIG1heFZhbHVlQ2hhbmdlZCh2YWw6IHN0cmluZykge1xyXG4gICAgICAgIGlmICh2YWwgfHwgdmFsID09PSBcIjBcIikge1xyXG4gICAgICAgICAgICB0aGlzLnNsaWRlckVudGVyZWRNYXhWYWx1ZSA9ICt2YWw7XHJcbiAgICAgICAgICAgIHRoaXMuc2xpZGVyRW50ZXJlZE1pblZhbHVlID0gdGhpcy5zbGlkZXJNaW5WYWx1ZTtcclxuICAgICAgICAgICAgdGhpcy5pc01heFRleHRCb3hFbXB0eSA9IGZhbHNlO1xyXG4gICAgICAgICAgICBpZiAodGhpcy5pc01pblRleHRCb3hFbXB0eSkge1xyXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuc2xpZGVyRW50ZXJlZE1heFZhbHVlIDwgdGhpcy5vcHRpb25zLmZsb29yIHx8IHRoaXMuc2xpZGVyRW50ZXJlZE1heFZhbHVlID4gdGhpcy5vcHRpb25zLmNlaWwpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnNob3dTbGlkZXJNYXhWYWx1ZUVycm9yID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmRpc2FibGVTbGlkZXJBcHBseUJ1dHRvbiA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmNvcnJlY3RTbGlkZXJJbnB1dCA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2hvd1NsaWRlck1heFZhbHVlRXJyb3IgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnNob3dTbGlkZXJNaW5WYWx1ZUVycm9yID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kaXNhYmxlU2xpZGVyQXBwbHlCdXR0b24gPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmluY29ycmVjdFNsaWRlcklucHV0ID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5zbGlkZXJFbnRlcmVkTWF4VmFsdWUgPCB0aGlzLnNsaWRlckVudGVyZWRNaW5WYWx1ZSkge1xyXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuYW5uYUZpbHRlclNlcnZpY2UuaXNWYWx1ZUluUmFuZ2UodGhpcy5vcHRpb25zLCB0aGlzLnNsaWRlckVudGVyZWRNaW5WYWx1ZSkpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnNob3dTbGlkZXJNYXhWYWx1ZUVycm9yID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnNob3dTbGlkZXJNaW5WYWx1ZUVycm9yID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2hvd1NsaWRlck1pblZhbHVlRXJyb3IgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmFubmFGaWx0ZXJTZXJ2aWNlLmlzVmFsdWVJblJhbmdlKHRoaXMub3B0aW9ucywgdGhpcy5zbGlkZXJFbnRlcmVkTWF4VmFsdWUpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2hvd1NsaWRlck1heFZhbHVlRXJyb3IgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNob3dTbGlkZXJNYXhWYWx1ZUVycm9yID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB0aGlzLmRpc2FibGVTbGlkZXJBcHBseUJ1dHRvbiA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmluY29ycmVjdFNsaWRlcklucHV0ID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIC8vIHRoaXMuc2hvd01heEVycm9yID0gdHJ1ZTtcclxuICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLnNsaWRlckVudGVyZWRNYXhWYWx1ZSA+IHRoaXMub3B0aW9ucy5jZWlsKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNob3dTbGlkZXJNYXhWYWx1ZUVycm9yID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIHRoaXMuZGlzYWJsZVNsaWRlckFwcGx5QnV0dG9uID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIHRoaXMuaW5jb3JyZWN0U2xpZGVySW5wdXQgPSB0cnVlO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zaG93U2xpZGVyTWF4VmFsdWVFcnJvciA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5kaXNhYmxlU2xpZGVyQXBwbHlCdXR0b24gPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIHRoaXMuaW5jb3JyZWN0U2xpZGVySW5wdXQgPSBmYWxzZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2xpZGVyRW50ZXJlZE1heFZhbHVlID0gdGhpcy5vcHRpb25zLmNlaWw7XHJcbiAgICAgICAgICAgIHRoaXMuaXNNYXhUZXh0Qm94RW1wdHkgPSB0cnVlO1xyXG4gICAgICAgICAgICB0aGlzLnNob3dTbGlkZXJNYXhWYWx1ZUVycm9yID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuc2hvd0Vycm9yRm9yTWluQW5kTWF4VmFsdWUoKTtcclxuICAgICAgICB0aGlzLnNsaWRlckVudGVyZWRNaW5WYWx1ZSA9IHRoaXMuc2xpZGVyTWluVmFsdWU7XHJcbiAgICB9XHJcblxyXG4gICAgc2hvd0Vycm9yRm9yTWluQW5kTWF4VmFsdWUoKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuaXNNaW5UZXh0Qm94RW1wdHkgJiYgdGhpcy5pc01heFRleHRCb3hFbXB0eSkge1xyXG4gICAgICAgICAgICB0aGlzLnNob3dTbGlkZXJNaW5WYWx1ZUVycm9yID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGhpcy5zaG93U2xpZGVyTWF4VmFsdWVFcnJvciA9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMuZGlzYWJsZVNsaWRlckFwcGx5QnV0dG9uID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGhpcy5pbmNvcnJlY3RTbGlkZXJJbnB1dCA9IHRydWU7XHJcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLnNob3dTbGlkZXJNYXhWYWx1ZUVycm9yIHx8IHRoaXMuc2hvd1NsaWRlck1pblZhbHVlRXJyb3IpIHtcclxuICAgICAgICAgICAgdGhpcy5pbmNvcnJlY3RTbGlkZXJJbnB1dCA9IHRydWU7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5pbmNvcnJlY3RTbGlkZXJJbnB1dCA9IGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmRpc2FibGVTbGlkZXJBcHBseUJ0bigpO1xyXG4gICAgfVxyXG5cclxuICAgIGRpc2FibGVTbGlkZXJBcHBseUJ0bigpIHtcclxuICAgICAgICBpZiAodGhpcy5zaG93RmlsdGVyQ29tcG9uZW50ICYmIHRoaXMuc2hvd1NvcnRDb21wb25lbnQpIHtcclxuICAgICAgICAgICAgY29uc3QgaXNGaWx0ZXJDaGFuZ2VkID0gdGhpcy5jaGVja0lmU2xpZGVyVG9vbHRpcElzRmlsdGVyZWQoKTtcclxuICAgICAgICAgICAgY29uc3QgaXNTb3J0Q2hhbmdlZCA9IHRoaXMuY2hlY2tJZlNvcnRpbmdDaGFuZ2VkKCk7XHJcblxyXG4gICAgICAgICAgICB0aGlzLmRpc2FibGVTbGlkZXJBcHBseUJ1dHRvbiA9IHRoaXMuaW5jb3JyZWN0U2xpZGVySW5wdXQgfHwgKCFpc1NvcnRDaGFuZ2VkICYmICFpc0ZpbHRlckNoYW5nZWQpO1xyXG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5zaG93RmlsdGVyQ29tcG9uZW50KSB7XHJcbiAgICAgICAgICAgIHRoaXMuZGlzYWJsZVNsaWRlckFwcGx5QnV0dG9uID0gdGhpcy5pbmNvcnJlY3RTbGlkZXJJbnB1dCB8fCAhdGhpcy5jaGVja0lmU2xpZGVyVG9vbHRpcElzRmlsdGVyZWQoKTtcclxuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuc2hvd1NvcnRDb21wb25lbnQpIHtcclxuICAgICAgICAgICAgdGhpcy5kaXNhYmxlU2xpZGVyQXBwbHlCdXR0b24gPSAhdGhpcy5jaGVja0lmU29ydGluZ0NoYW5nZWQoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgY2hlY2tJZlNvcnRpbmdDaGFuZ2VkKCkge1xyXG4gICAgICAgIHRoaXMuaXNTb3J0Q2hhbmdlZCA9IHRoaXMuYW5uYUZpbHRlclNlcnZpY2UuY2hlY2tJZlNvcnRpbmdDaGFuZ2VkKHRoaXMudGVtcFNvcnRPcmRlcik7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNTb3J0Q2hhbmdlZDtcclxuICAgIH1cclxuXHJcbiAgICBjaGVja0lmU2xpZGVyVG9vbHRpcElzRmlsdGVyZWQoKSB7XHJcbiAgICAgICAgY29uc3QgcHJldmlvdXNTZWxlY3RlZFZhbHVlID0gdGhpcy5hbm5hRmlsdGVyU2VydmljZS5nZXRQcmV2aW91c1NlbGVjdGVkVmFsdWVGb3JTbGlkZXIodGhpcy5jbG9uZWRUYWJsZURhdGEpO1xyXG4gICAgICAgIGNvbnN0IGN1cnJlbnRTZWxlY3RlZFZhbHVlID0gdGhpcy5hbm5hRmlsdGVyU2VydmljZS5nZXRDdXJyZW50U2VsZWN0ZWRWYWx1ZUZvclNsaWRlcihcclxuICAgICAgICAgICAgdGhpcy5zbGlkZXJFbnRlcmVkTWluVmFsdWUsXHJcbiAgICAgICAgICAgIHRoaXMuc2xpZGVyRW50ZXJlZE1heFZhbHVlLFxyXG4gICAgICAgICAgICB0aGlzLm9wdGlvbnMsXHJcbiAgICAgICAgKTtcclxuXHJcbiAgICAgICAgdGhpcy5pc0ZpbHRlckNoYW5nZWQgPSAhaXNFcXVhbChwcmV2aW91c1NlbGVjdGVkVmFsdWUsIGN1cnJlbnRTZWxlY3RlZFZhbHVlKTtcclxuICAgICAgICByZXR1cm4gdGhpcy5pc0ZpbHRlckNoYW5nZWQ7XHJcbiAgICB9XHJcblxyXG4gICAgc3RvcmVTb3J0VHlwZUluVGVtcFZhcmlhYmxlKGV2ZW50OiBTb3J0VHlwZSkge1xyXG4gICAgICAgIHRoaXMudGVtcFNvcnRPcmRlciA9IGV2ZW50O1xyXG4gICAgICAgIHRoaXMuZGlzYWJsZVNsaWRlckFwcGx5QnRuKCk7XHJcbiAgICB9XHJcblxyXG4gICAgYXBwbHlGaWx0ZXJzKCkge1xyXG4gICAgICAgIHRoaXMuYXBwbHlTbGlkZXJGaWx0ZXIoKTtcclxuICAgICAgICB0aGlzLmFwcGx5U29ydGluZ09uRmlsdGVyZWREYXRhKCk7XHJcbiAgICAgICAgdGhpcy5hbm5hRmlsdGVyU2VydmljZS51cGRhdGVTdGF0ZU9mQWxsVGhlS2V5cyh0aGlzLmFubmFTb3J0U2VydmljZS5jb2x1bW5Tb3J0U3RhdGUpO1xyXG4gICAgICAgIHRoaXMuZW1pdERhdGEoKTtcclxuICAgIH1cclxuXHJcbiAgICBhcHBseVNsaWRlckZpbHRlcigpIHtcclxuICAgICAgICBpZiAodGhpcy5zaG93RmlsdGVyQ29tcG9uZW50ICYmIHRoaXMuaXNGaWx0ZXJDaGFuZ2VkKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRTbGlkZXJEYXRhID0gdGhpcy5hbm5hRmlsdGVyU2VydmljZS5nZXRDdXJyZW50U2VsZWN0ZWRWYWx1ZUZvclNsaWRlcihcclxuICAgICAgICAgICAgICAgIHRoaXMuc2xpZGVyRW50ZXJlZE1pblZhbHVlLFxyXG4gICAgICAgICAgICAgICAgdGhpcy5zbGlkZXJFbnRlcmVkTWF4VmFsdWUsXHJcbiAgICAgICAgICAgICAgICB0aGlzLm9wdGlvbnMsXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIHRoaXMuYW5uYUZpbHRlclNlcnZpY2UucmVPcmRlckFwcGxpZWRGaWx0ZXJzU3RhdGUodGhpcy5jbG9uZWRUYWJsZURhdGEsIGN1cnJlbnRTbGlkZXJEYXRhKTtcclxuICAgICAgICAgICAgdGhpcy5hbm5hRmlsdGVyU2VydmljZS50b29sdGlwU2VsZWN0ZWRNYXAuc2V0KHRoaXMuYW5uYUZpbHRlclNlcnZpY2Uuc2VsZWN0ZWRSYWRpbywgY3VycmVudFNsaWRlckRhdGEpO1xyXG4gICAgICAgICAgICB0aGlzLnRhYmxlRGF0YSA9IHRoaXMuYW5uYUZpbHRlclNlcnZpY2UuZmlsdGVyRGF0YSh0aGlzLmNsb25lZFRhYmxlRGF0YSwgXCJcIik7XHJcbiAgICAgICAgICAgIHRoaXMuYW5uYVNvcnRTZXJ2aWNlLm5vU29ydGluZ0FwcGxpZWREYXRhID0gY2xvbmVEZWVwKHRoaXMudGFibGVEYXRhKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgYXBwbHlTb3J0aW5nT25GaWx0ZXJlZERhdGEoKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuc2hvd1NvcnRDb21wb25lbnQpIHtcclxuICAgICAgICAgICAgaWYgKHRoaXMuaXNTb3J0Q2hhbmdlZCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy50YWJsZURhdGEgPSB0aGlzLmFubmFGaWx0ZXJTZXJ2aWNlLnVwZGF0ZVNvcnRNYXAoXHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50ZW1wU29ydE9yZGVyLFxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMudGFibGVEYXRhLFxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNMdXJBbmRDc3JDb21wb25lbnQsXHJcbiAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuaXNGaWx0ZXJDaGFuZ2VkKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnRhYmxlRGF0YSA9IHRoaXMuYW5uYVNvcnRTZXJ2aWNlLmNoZWNrSWZTb3J0aW5nSXNBcHBsaWVkKFxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMudGFibGVEYXRhLFxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNMdXJBbmRDc3JDb21wb25lbnQsXHJcbiAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmlzRmlsdGVyQ2hhbmdlZCkge1xyXG4gICAgICAgICAgICB0aGlzLnRhYmxlRGF0YSA9IHRoaXMuYW5uYVNvcnRTZXJ2aWNlLmNoZWNrSWZTb3J0aW5nSXNBcHBsaWVkKHRoaXMudGFibGVEYXRhLCB0aGlzLmlzTHVyQW5kQ3NyQ29tcG9uZW50KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgZW1pdERhdGEoKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuaXNGaWx0ZXJDaGFuZ2VkICYmIHRoaXMuaXNTb3J0Q2hhbmdlZCkge1xyXG4gICAgICAgICAgICB0aGlzLmZpbHRlckFwcGxpZWRUb1RhYmxlLmVtaXQodGhpcy50YWJsZURhdGEpO1xyXG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5pc0ZpbHRlckNoYW5nZWQpIHtcclxuICAgICAgICAgICAgdGhpcy5maWx0ZXJBcHBsaWVkVG9UYWJsZS5lbWl0KHRoaXMudGFibGVEYXRhKTtcclxuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuaXNTb3J0Q2hhbmdlZCkge1xyXG4gICAgICAgICAgICB0aGlzLmdldFNvcnRUeXBlLmVtaXQodGhpcy50ZW1wU29ydE9yZGVyKTtcclxuICAgICAgICAgICAgdGhpcy5zb3J0aW5nQXBwbGllZFRvVGFibGUuZW1pdCh0aGlzLnRhYmxlRGF0YSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGNsZWFyQ29sdW1uRmlsdGVyKCkge1xyXG4gICAgICAgIHRoaXMuYW5uYUZpbHRlclNlcnZpY2UuY2xlYXJDb2x1bW5GaWx0ZXIoKTtcclxuICAgICAgICB0aGlzLnRhYmxlRGF0YSA9IGNsb25lRGVlcCh0aGlzLmFubmFGaWx0ZXJTZXJ2aWNlLmZpbHRlckRhdGEodGhpcy5jbG9uZWRUYWJsZURhdGEsIFwiXCIpKTtcclxuICAgICAgICB0aGlzLmFubmFTb3J0U2VydmljZS5ub1NvcnRpbmdBcHBsaWVkRGF0YSA9IHRoaXMudGFibGVEYXRhO1xyXG4gICAgICAgIHRoaXMudGFibGVEYXRhID0gdGhpcy5hbm5hU29ydFNlcnZpY2UuY2hlY2tJZlNvcnRpbmdJc0FwcGxpZWQodGhpcy50YWJsZURhdGEsIHRoaXMuaXNMdXJBbmRDc3JDb21wb25lbnQpO1xyXG4gICAgICAgIHRoaXMuYW5uYUZpbHRlclNlcnZpY2UudXBkYXRlU3RhdGVPZlRoZUN1cnJlbnRGaWx0ZXJUYWIodGhpcy5hbm5hU29ydFNlcnZpY2UuY29sdW1uU29ydFN0YXRlKTtcclxuICAgICAgICB0aGlzLmZpbHRlckFwcGxpZWRUb1RhYmxlLmVtaXQodGhpcy50YWJsZURhdGEpO1xyXG4gICAgfVxyXG59XHJcbiIsIjxkaXZcclxuICAgIGNsYXNzPVwicmFkaW8tY29udGFpbmVyXCJcclxuICAgICpuZ0lmPVwic2hvd0ZpbHRlckhlYWRlclRhYnNcIlxyXG4+XHJcbiAgICA8ZGl2ICpuZ0Zvcj1cImxldCBkYXRhIG9mIGZpbHRlclRhYk9iamVjdHNcIj5cclxuICAgICAgICA8cFxyXG4gICAgICAgICAgICBjbGFzcz1cImZpbHRlci10YWJcIlxyXG4gICAgICAgICAgICBbdGl0bGVdPVwiZGF0YS5sYWJlbFwiXHJcbiAgICAgICAgICAgIChjbGljayk9XCJwb3B1bGF0ZVRvb2x0aXBEYXRhQmFzZWRPblNlbGVjdGVkUmFkaW8oZGF0YSwgdHJ1ZSlcIlxyXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7IGFjdGl2ZTogYW5uYUZpbHRlclNlcnZpY2Uuc2VsZWN0ZWRSYWRpbyA9PT0gZGF0YS5rZXkgfVwiXHJcbiAgICAgICAgICAgICpuZ0lmPVwiZmlsdGVyVGFiT2JqZWN0cy5sZW5ndGggPiAwXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICAgIHt7IGRhdGEubGFiZWwgfX1cclxuICAgICAgICA8L3A+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+XHJcblxyXG48YW5uYS1jb3JlLXNvcnQtbGliXHJcbiAgICAqbmdJZj1cInNob3dTb3J0Q29tcG9uZW50XCJcclxuICAgIFtuZ0NsYXNzXT1cInsgJ25vLWJvdHRvbS1ib3JkZXInOiAhc2hvd0ZpbHRlckNvbXBvbmVudCB9XCJcclxuICAgIChzb3J0T3B0aW9uQ2xpY2tlZCk9XCJzdG9yZVNvcnRUeXBlSW5UZW1wVmFyaWFibGUoJGV2ZW50KVwiXHJcbiAgICBbc29ydE9iamVjdEtleV09XCJhbm5hRmlsdGVyU2VydmljZS5zZWxlY3RlZFJhZGlvXCJcclxuPjwvYW5uYS1jb3JlLXNvcnQtbGliPlxyXG5cclxuPG5nLWNvbnRhaW5lciAqbmdJZj1cInNob3dGaWx0ZXJDb21wb25lbnRcIj5cclxuICAgIDxidXR0b25cclxuICAgICAgICBjbGFzcz1cImNvbHVtbi1jbGVhci1hbGxcIlxyXG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlQ29sdW1uQ2xlYXJBbGxCdG5cIlxyXG4gICAgICAgIChjbGljayk9XCJjbGVhckNvbHVtbkZpbHRlcigpXCJcclxuICAgID5cclxuICAgICAgICBDbGVhciBmaWx0ZXJcclxuICAgIDwvYnV0dG9uPlxyXG4gICAgPHNlY3Rpb24gY2xhc3M9XCJtaW4tbWF4Q29udGFpbmVyXCI+XHJcbiAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgIHR5cGU9XCJudW1iZXJcIlxyXG4gICAgICAgICAgICBjbGFzcz1cInNsaWRlci10ZXh0XCJcclxuICAgICAgICAgICAgc3RlcD1cInt7IHNsaWRlckZpbHRlclRleHRCb3hTdGVwIH19XCJcclxuICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJzbGlkZXJNaW5WYWx1ZVwiXHJcbiAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm1pblZhbHVlQ2hhbmdlZCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAncmVkLWJvcmRlcic6IHNob3dTbGlkZXJNaW5WYWx1ZUVycm9yIH1cIlxyXG4gICAgICAgICAgICBwbGFjZWhvbGRlcj1cIk1pblwiXHJcbiAgICAgICAgLz5cclxuICAgICAgICA8c3Bhbj5Ubzwvc3Bhbj5cclxuICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgdHlwZT1cIm51bWJlclwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwic2xpZGVyLXRleHRcIlxyXG4gICAgICAgICAgICBzdGVwPVwie3sgc2xpZGVyRmlsdGVyVGV4dEJveFN0ZXAgfX1cIlxyXG4gICAgICAgICAgICBbKG5nTW9kZWwpXT1cInNsaWRlck1heFZhbHVlXCJcclxuICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwibWF4VmFsdWVDaGFuZ2VkKCRldmVudClcIlxyXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7ICdyZWQtYm9yZGVyJzogc2hvd1NsaWRlck1heFZhbHVlRXJyb3IgfVwiXHJcbiAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiTWF4XCJcclxuICAgICAgICAvPlxyXG4gICAgPC9zZWN0aW9uPlxyXG4gICAgPGRpdiBjbGFzcz1cInNpZGViYXItc2xpZGVyXCI+XHJcbiAgICAgICAgPG5neC1zbGlkZXJcclxuICAgICAgICAgICAgKm5nSWY9XCIhc2hvd0VtcHR5U3BhY2VGb3JTbGlkZXJcIlxyXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7XHJcbiAgICAgICAgICAgICAgICAnc2hvdy1taW4nOiBzbGlkZXJNaW5WYWx1ZSAhPT0gb3B0aW9ucy5mbG9vcixcclxuICAgICAgICAgICAgICAgICdzaG93LW1heCc6IHNsaWRlck1heFZhbHVlICE9PSBvcHRpb25zLmNlaWxcclxuICAgICAgICAgICAgfVwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiZmlsdGVyLXNsaWRlclwiXHJcbiAgICAgICAgICAgIFsodmFsdWUpXT1cInNsaWRlckVudGVyZWRNaW5WYWx1ZVwiXHJcbiAgICAgICAgICAgIFsoaGlnaFZhbHVlKV09XCJzbGlkZXJFbnRlcmVkTWF4VmFsdWVcIlxyXG4gICAgICAgICAgICBbb3B0aW9uc109XCJvcHRpb25zXCJcclxuICAgICAgICA+PC9uZ3gtc2xpZGVyPlxyXG4gICAgICAgIDxkaXZcclxuICAgICAgICAgICAgKm5nSWY9XCJzaG93RW1wdHlTcGFjZUZvclNsaWRlclwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwic2xpZGVyLXBsYWNlaG9sZGVyXCJcclxuICAgICAgICA+PC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuPC9uZy1jb250YWluZXI+XHJcblxyXG48ZGl2IGNsYXNzPVwiYnV0dG9ucy1jb250YWluZXJcIj5cclxuICAgIDxidXR0b25cclxuICAgICAgICBjbGFzcz1cImJ1dHRvblwiXHJcbiAgICAgICAgKGNsaWNrKT1cImNhbmNlbFNsaWRlckZpbHRlcigpXCJcclxuICAgID5cclxuICAgICAgICBDYW5jZWxcclxuICAgIDwvYnV0dG9uPlxyXG4gICAgPGJ1dHRvblxyXG4gICAgICAgIGNsYXNzPVwiYnV0dG9uXCJcclxuICAgICAgICBbbmdDbGFzc109XCJ7IGRpc2FibGVkOiBkaXNhYmxlU2xpZGVyQXBwbHlCdXR0b24gfVwiXHJcbiAgICAgICAgKGNsaWNrKT1cImFwcGx5RmlsdGVycygpXCJcclxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZVNsaWRlckFwcGx5QnV0dG9uXCJcclxuICAgID5cclxuICAgICAgICBBcHBseVxyXG4gICAgPC9idXR0b24+XHJcbjwvZGl2PlxyXG4iXX0=
|