@testgorilla/tgo-ui 2.30.12 → 2.31.0
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.
|
@@ -1,8 +1,10 @@
|
|
|
1
|
+
import { DecimalPipe } from '@angular/common';
|
|
1
2
|
import { ChangeDetectorRef, EventEmitter } from '@angular/core';
|
|
3
|
+
import { AbstractControl, ValidationErrors, Validator } from '@angular/forms';
|
|
2
4
|
import { ApplicationTheme } from '../../models/application-theme.model';
|
|
3
5
|
import { SliderValue, SliderVariant } from './slider.model';
|
|
4
6
|
import * as i0 from "@angular/core";
|
|
5
|
-
export declare class SliderComponent {
|
|
7
|
+
export declare class SliderComponent implements Validator {
|
|
6
8
|
private readonly defaultAppTheme;
|
|
7
9
|
/**
|
|
8
10
|
* The maximum value of the slider.
|
|
@@ -83,8 +85,13 @@ export declare class SliderComponent {
|
|
|
83
85
|
* @memberof SliderComponent
|
|
84
86
|
*/
|
|
85
87
|
variant: SliderVariant;
|
|
88
|
+
useDecimal: import("@angular/core").InputSignal<boolean>;
|
|
89
|
+
minLabel: import("@angular/core").InputSignal<string | undefined>;
|
|
90
|
+
maxLabel: import("@angular/core").InputSignal<string | undefined>;
|
|
91
|
+
inputWidth: import("@angular/core").InputSignal<number>;
|
|
86
92
|
sliderValueChange: EventEmitter<SliderValue>;
|
|
87
93
|
cdr: ChangeDetectorRef;
|
|
94
|
+
decimalPipe: DecimalPipe;
|
|
88
95
|
constructor(defaultAppTheme: ApplicationTheme);
|
|
89
96
|
private value;
|
|
90
97
|
protected translationContext: string;
|
|
@@ -101,6 +108,8 @@ export declare class SliderComponent {
|
|
|
101
108
|
private isValueChanged;
|
|
102
109
|
get hasError(): boolean;
|
|
103
110
|
get isBasicSlider(): boolean;
|
|
111
|
+
formatLabel(value: number): string;
|
|
112
|
+
validate(control: AbstractControl): ValidationErrors | null;
|
|
104
113
|
static ɵfac: i0.ɵɵFactoryDeclaration<SliderComponent, [{ optional: true; }]>;
|
|
105
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<SliderComponent, "ui-slider", never, { "max": { "alias": "max"; "required": false; }; "min": { "alias": "min"; "required": false; }; "percentage": { "alias": "percentage"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "sliderStart": { "alias": "sliderStart"; "required": false; }; "sliderEnd": { "alias": "sliderEnd"; "required": false; }; "label": { "alias": "label"; "required": false; }; "showInputs": { "alias": "showInputs"; "required": false; }; "step": { "alias": "step"; "required": false; }; "applicationTheme": { "alias": "applicationTheme"; "required": false; }; "variant": { "alias": "variant"; "required": false; }; }, { "sliderValueChange": "sliderValueChange"; }, never, never, true, never>;
|
|
114
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SliderComponent, "ui-slider", never, { "max": { "alias": "max"; "required": false; }; "min": { "alias": "min"; "required": false; }; "percentage": { "alias": "percentage"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "sliderStart": { "alias": "sliderStart"; "required": false; }; "sliderEnd": { "alias": "sliderEnd"; "required": false; }; "label": { "alias": "label"; "required": false; }; "showInputs": { "alias": "showInputs"; "required": false; }; "step": { "alias": "step"; "required": false; }; "applicationTheme": { "alias": "applicationTheme"; "required": false; }; "variant": { "alias": "variant"; "required": false; }; "useDecimal": { "alias": "useDecimal"; "required": false; "isSignal": true; }; "minLabel": { "alias": "minLabel"; "required": false; "isSignal": true; }; "maxLabel": { "alias": "maxLabel"; "required": false; "isSignal": true; }; "inputWidth": { "alias": "inputWidth"; "required": false; "isSignal": true; }; }, { "sliderValueChange": "sliderValueChange"; }, never, never, true, never>;
|
|
106
115
|
}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import { CommonModule } from '@angular/common';
|
|
2
|
-
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, forwardRef, inject, Inject, Input, Optional, Output, } from '@angular/core';
|
|
3
|
-
import { FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
1
|
+
import { CommonModule, DecimalPipe } from '@angular/common';
|
|
2
|
+
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, forwardRef, inject, Inject, input, Input, Optional, Output, } from '@angular/core';
|
|
3
|
+
import { FormsModule, NG_VALIDATORS, NG_VALUE_ACCESSOR, } from '@angular/forms';
|
|
4
4
|
import { MatInputModule } from '@angular/material/input';
|
|
5
5
|
import { MatSliderModule } from '@angular/material/slider';
|
|
6
6
|
import { MatTooltipModule } from '@angular/material/tooltip';
|
|
7
|
+
import { NgxMaskDirective, provideNgxMask } from 'ngx-mask';
|
|
7
8
|
import { DigitsOnlyDirective } from '../../directives/digits-only.directive';
|
|
8
9
|
import { UiTranslatePipe } from '../../pipes/ui-translate.pipe';
|
|
9
10
|
import { IconComponentModule } from '../icon/icon.component.module';
|
|
@@ -96,8 +97,13 @@ export class SliderComponent {
|
|
|
96
97
|
* @memberof SliderComponent
|
|
97
98
|
*/
|
|
98
99
|
this.variant = 'range';
|
|
100
|
+
this.useDecimal = input(false);
|
|
101
|
+
this.minLabel = input();
|
|
102
|
+
this.maxLabel = input();
|
|
103
|
+
this.inputWidth = input(80);
|
|
99
104
|
this.sliderValueChange = new EventEmitter();
|
|
100
105
|
this.cdr = inject(ChangeDetectorRef);
|
|
106
|
+
this.decimalPipe = inject(DecimalPipe);
|
|
101
107
|
this.value = { start: 0, end: 100 };
|
|
102
108
|
this.translationContext = 'SLIDER.';
|
|
103
109
|
this.touchedControlName = '';
|
|
@@ -107,6 +113,7 @@ export class SliderComponent {
|
|
|
107
113
|
this.applicationTheme = defaultAppTheme;
|
|
108
114
|
this.cdr.markForCheck();
|
|
109
115
|
}
|
|
116
|
+
this.formatLabel = this.formatLabel.bind(this);
|
|
110
117
|
}
|
|
111
118
|
registerOnChange(fn) {
|
|
112
119
|
this.onChange = fn;
|
|
@@ -138,11 +145,12 @@ export class SliderComponent {
|
|
|
138
145
|
this.onChange(value);
|
|
139
146
|
this.sliderValueChange.emit(value);
|
|
140
147
|
this.cdr.markForCheck();
|
|
148
|
+
this.onTouch();
|
|
141
149
|
}
|
|
142
150
|
onInputBlur(inputName) {
|
|
143
151
|
this.touchedControlName = inputName;
|
|
144
152
|
const value = { start: +this.sliderStart, end: +this.sliderEnd };
|
|
145
|
-
if (
|
|
153
|
+
if (this.isValueChanged(value)) {
|
|
146
154
|
this.onValueChange();
|
|
147
155
|
}
|
|
148
156
|
}
|
|
@@ -163,14 +171,27 @@ export class SliderComponent {
|
|
|
163
171
|
get isBasicSlider() {
|
|
164
172
|
return this.variant === 'basic';
|
|
165
173
|
}
|
|
174
|
+
formatLabel(value) {
|
|
175
|
+
return this.useDecimal() ? this.decimalPipe.transform(value, '1.0-0') || value.toString() : value.toString();
|
|
176
|
+
}
|
|
177
|
+
validate(control) {
|
|
178
|
+
return this.hasError && this.touchedControlName ? { invalidSlider: true } : null;
|
|
179
|
+
}
|
|
166
180
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SliderComponent, deps: [{ token: 'CANOPYUI_DEFAULT_APPLICATION_THEME', optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
167
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
181
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: SliderComponent, isStandalone: true, selector: "ui-slider", inputs: { max: { classPropertyName: "max", publicName: "max", isSignal: false, isRequired: false, transformFunction: null }, min: { classPropertyName: "min", publicName: "min", isSignal: false, isRequired: false, transformFunction: null }, percentage: { classPropertyName: "percentage", publicName: "percentage", isSignal: false, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: false, isRequired: false, transformFunction: null }, sliderStart: { classPropertyName: "sliderStart", publicName: "sliderStart", isSignal: false, isRequired: false, transformFunction: null }, sliderEnd: { classPropertyName: "sliderEnd", publicName: "sliderEnd", isSignal: false, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: false, isRequired: false, transformFunction: null }, showInputs: { classPropertyName: "showInputs", publicName: "showInputs", isSignal: false, isRequired: false, transformFunction: null }, step: { classPropertyName: "step", publicName: "step", isSignal: false, isRequired: false, transformFunction: null }, applicationTheme: { classPropertyName: "applicationTheme", publicName: "applicationTheme", isSignal: false, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: false, isRequired: false, transformFunction: null }, useDecimal: { classPropertyName: "useDecimal", publicName: "useDecimal", isSignal: true, isRequired: false, transformFunction: null }, minLabel: { classPropertyName: "minLabel", publicName: "minLabel", isSignal: true, isRequired: false, transformFunction: null }, maxLabel: { classPropertyName: "maxLabel", publicName: "maxLabel", isSignal: true, isRequired: false, transformFunction: null }, inputWidth: { classPropertyName: "inputWidth", publicName: "inputWidth", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { sliderValueChange: "sliderValueChange" }, providers: [
|
|
168
182
|
{
|
|
169
183
|
provide: NG_VALUE_ACCESSOR,
|
|
170
184
|
useExisting: forwardRef(() => SliderComponent),
|
|
171
185
|
multi: true,
|
|
172
186
|
},
|
|
173
|
-
], ngImport: i0, template: "<ng-container>\r\n <div\r\n class=\"slider-container\"\r\n [attr.theme]=\"applicationTheme\"\r\n [ngClass]=\"{ disabled: disabled, error: hasError && touchedControlName }\"\r\n >\r\n <div class=\"slider-label\" *ngIf=\"label\">{{ label }}</div>\r\n\r\n <div class=\"slider\">\r\n <div class=\"min-value\" *ngIf=\"!isBasicSlider\">{{ percentage ? min + '%' : min }}</div>\r\n <mat-slider\r\n [disableRipple]=\"applicationTheme !== 'classic'\"\r\n #sliderElement\r\n discrete\r\n [disabled]=\"disabled\"\r\n [max]=\"max\"\r\n [min]=\"min\"\r\n [step]=\"step\"\r\n (mouseenter)=\"sliderElement.discrete = true\"\r\n (mouseleave)=\"sliderElement.discrete = false\"\r\n >\r\n <ng-container *ngIf=\"isBasicSlider; else rangeTemplate\">\r\n <input [disabled]=\"disabled\" (valueChange)=\"onValueChange($event)\" [(ngModel)]=\"sliderStart\" matSliderThumb />\r\n </ng-container>\r\n\r\n <ng-template #rangeTemplate>\r\n <input [disabled]=\"disabled\" (valueChange)=\"onValueChange()\" [(ngModel)]=\"sliderStart\" matSliderStartThumb />\r\n <input [disabled]=\"disabled\" (valueChange)=\"onValueChange()\" [(ngModel)]=\"sliderEnd\" matSliderEndThumb />\r\n </ng-template>\r\n </mat-slider>\r\n <div class=\"max-value\" *ngIf=\"!isBasicSlider\">{{ percentage ? max + '%' : max }}</div>\r\n </div>\r\n\r\n <div class=\"slider-input\" *ngIf=\"showInputs && !this.isBasicSlider\">\r\n <mat-form-field [appearance]=\"'outline'\">\r\n <mat-label>{{ 'COMMON.MIN' | uiTranslate | async }} <span *ngIf=\"percentage\">%</span></mat-label>\r\n <input\r\n matInput\r\n [type]=\"'number'\"\r\n [(ngModel)]=\"sliderStart\"\r\n [disabled]=\"disabled\"\r\n (focus)=\"onInputFocus()\"\r\n (blur)=\"onInputBlur('start')\"\r\n (keydown.enter)=\"onInputBlur('start')\"\r\n [allowOnlyDigits]=\"true\"\r\n digitsOnly\r\n />\r\n </mat-form-field>\r\n\r\n <mat-form-field [appearance]=\"'outline'\">\r\n <mat-label>{{ 'COMMON.MAX' | uiTranslate | async }} <span *ngIf=\"percentage\">%</span></mat-label>\r\n <input\r\n matInput\r\n [disabled]=\"disabled\"\r\n [type]=\"'number'\"\r\n [(ngModel)]=\"sliderEnd\"\r\n (focus)=\"onInputFocus()\"\r\n (blur)=\"onInputBlur('end')\"\r\n (keydown.enter)=\"onInputBlur('end')\"\r\n [allowOnlyDigits]=\"true\"\r\n digitsOnly\r\n data-testid=\"slider.input-end\"\r\n />\r\n </mat-form-field>\r\n </div>\r\n\r\n <mat-error class=\"slider-errors\" *ngIf=\"hasError && touchedControlName\">\r\n <div class=\"validation-error\" *ngIf=\"touchedControlName === 'start' && sliderStart > sliderEnd\">\r\n <ui-icon [name]=\"'Info'\"></ui-icon>\r\n <span>{{\r\n translationContext + 'MIN_MORE_THAN_MAX' | uiTranslate: { min: sliderStart, max: sliderEnd } | async\r\n }}</span>\r\n </div>\r\n\r\n <div class=\"validation-error\" *ngIf=\"touchedControlName === 'end' && sliderStart > sliderEnd\">\r\n <ui-icon [name]=\"'Info'\"></ui-icon>\r\n <span>{{\r\n translationContext + 'MAX_LESS_THAN_MIN' | uiTranslate: { min: sliderStart, max: sliderEnd } | async\r\n }}</span>\r\n </div>\r\n\r\n <div class=\"validation-error\" *ngIf=\"sliderStart < min\">\r\n <ui-icon [name]=\"'Info'\"></ui-icon>\r\n <span>{{ 'COMMON.MIN' | uiTranslate | async }} {{ min }}</span>\r\n </div>\r\n <div class=\"validation-error\" *ngIf=\"sliderEnd > max\">\r\n <ui-icon [name]=\"'Info'\"></ui-icon>\r\n <span>{{ 'COMMON.MAX' | uiTranslate | async }} {{ max }}</span>\r\n </div>\r\n </mat-error>\r\n </div>\r\n</ng-container>\r\n", styles: [".bg-teal-60b{background:#1c443c}.bg-teal-30b{background:#31766a}.bg-teal-default{background:#46a997}.bg-teal-30w{background:#7ec3b6}.bg-teal-60w{background:#b5ddd5}.bg-teal-secondary{background:#cbd6cb}.bg-teal-90w{background:#ecf6f5}.bg-petrol-60b{background:#102930}.bg-petrol-30b{background:#1b4754}.bg-petrol-default{background:#276678}.bg-petrol-30w{background:#6894a0}.bg-petrol-60w{background:#a9c2c9}.bg-petrol-secondary{background:#c8d7de}.bg-petrol-90w{background:#e9f0f1}.bg-error-60b{background:#513131}.bg-error-30b{background:#8e5655}.bg-error-60w{background:#e3c3c6}.bg-error-secondary{background:#f0dad9}.bg-error-default{background:#cb7b7a}.bg-warning-secondary{background:#f0d6bb}.bg-warning-default{background:#cca45f}.bg-black{background:#000}.bg-dark{background:#888}.bg-medium{background:#e0e0e0}.bg-grey{background:#ededed}.bg-light{background:#f6f6f6}.bg-white{background:#fff}.bg-box-shadow{background:#00000014}.bg-navigation-subtitle{background:#528593}.bgc-teal-60b{background-color:#1c443c}.bgc-teal-30b{background-color:#31766a}.bgc-teal-default{background-color:#46a997}.bgc-teal-30w{background-color:#7ec3b6}.bgc-teal-60w{background-color:#b5ddd5}.bgc-teal-secondary{background-color:#cbd6cb}.bgc-teal-90w{background-color:#ecf6f5}.bgc-petrol-60b{background-color:#102930}.bgc-petrol-30b{background-color:#1b4754}.bgc-petrol-default{background-color:#276678}.bgc-petrol-30w{background-color:#6894a0}.bgc-petrol-60w{background-color:#a9c2c9}.bgc-petrol-secondary{background-color:#c8d7de}.bgc-petrol-90w{background-color:#e9f0f1}.bgc-error-60b{background-color:#513131}.bgc-error-30b{background-color:#8e5655}.bgc-error-60w{background-color:#e3c3c6}.bgc-error-secondary{background-color:#f0dad9}.bgc-error-default{background-color:#cb7b7a}.bgc-warning-secondary{background-color:#f0d6bb}.bgc-warning-default{background-color:#cca45f}.bgc-black{background-color:#000}.bgc-dark{background-color:#888}.bgc-medium{background-color:#e0e0e0}.bgc-grey{background-color:#ededed}.bgc-light{background-color:#f6f6f6}.bgc-white{background-color:#fff}.bgc-box-shadow{background-color:#00000014}.bgc-navigation-subtitle{background-color:#528593}::ng-deep .slider-container{min-width:240px;width:100%}::ng-deep .slider-container .mat-mdc-form-field-bottom-align:before{content:none}::ng-deep .slider-container.error .mdc-notched-outline__leading,::ng-deep .slider-container.error .mdc-notched-outline__notch,::ng-deep .slider-container.error .mdc-notched-outline__trailing{border-color:#cb7b7a!important}::ng-deep .slider-container.error .mdc-notched-outline__leading label,::ng-deep .slider-container.error .mdc-notched-outline__notch label,::ng-deep .slider-container.error .mdc-notched-outline__trailing label{color:#cb7b7a!important}::ng-deep .slider-container.error .mat-mdc-form-field.mat-mdc-form-field.mat-mdc-form-field.mat-mdc-form-field.mat-mdc-form-field.mat-mdc-form-field .mdc-notched-outline__notch{border-left:none!important}::ng-deep .slider-container.disabled *{pointer-events:none;cursor:initial}::ng-deep .slider-container.disabled .mat-mdc-slider *{border-color:#919191!important}::ng-deep .slider-container.disabled .mat-mdc-slider .mdc-slider__thumb:after{display:none}::ng-deep .slider-container.disabled .slider,::ng-deep .slider-container.disabled .slider-input{opacity:.5}::ng-deep .slider-container .slider-label{font-size:14px;font-weight:700;line-height:20px}::ng-deep .slider-container .slider{display:flex;flex-direction:row;justify-content:center;align-items:center;margin:16px 0}::ng-deep .slider-container .slider mat-slider{width:100%}::ng-deep .slider-container .slider .mat-mdc-slider .mdc-floating-label{top:23px}::ng-deep .slider-container .slider .mat-mdc-slider .mdc-slider__value-indicator-container{bottom:54px}::ng-deep .slider-container .slider .mat-mdc-slider .mdc-slider__value-indicator{background:#a9c2c9;color:#000}::ng-deep .slider-container .slider .mat-mdc-slider .mdc-slider__value-indicator:after,::ng-deep .slider-container .slider .mat-mdc-slider .mdc-slider__value-indicator:before{display:none}::ng-deep .slider-container .slider .min-value{width:30px;margin-right:8px}::ng-deep .slider-container .slider .max-value{width:auto;margin-left:8px}::ng-deep .slider-container .slider-errors{margin-top:8px}::ng-deep .slider-container .slider-input{display:flex;justify-content:space-between}::ng-deep .slider-container .slider-input mat-form-field{width:80px;min-width:80px!important}::ng-deep .slider-container .slider-input .mat-mdc-form-field-flex,::ng-deep .slider-container .slider-input .mdc-notched-outline{height:48px!important}::ng-deep .slider-container .slider-input .mat-mdc-form-field-subscript-wrapper,::ng-deep .slider-container .slider-input .mdc-text-field__input::-webkit-inner-spin-button{display:none}::ng-deep .slider-container mat-error{font-size:12px;gap:4px}::ng-deep .slider-container mat-error ui-icon svg{color:#cb7b7a}::ng-deep .slider-container mat-error .validation-error{display:flex;flex-direction:row;align-items:center}::ng-deep .slider-container mat-error .validation-error ui-icon{margin-right:4px}::ng-deep .slider-container[theme=light],::ng-deep .slider-container[theme=dark]{color:#242424}::ng-deep .slider-container[theme=light] .mat-mdc-slider.mat-primary,::ng-deep .slider-container[theme=dark] .mat-mdc-slider.mat-primary{--mdc-slider-active-track-color: #D410AA;--mdc-slider-handle-color: #D410AA;--mdc-slider-focus-handle-color: #D410AA;--mdc-slider-hover-handle-color: #D410AA;--mdc-slider-inactive-track-color: #D3D3D3;--mdc-slider-with-tick-marks-inactive-container-color: #D410AA;--mat-mdc-slider-ripple-color: #D410AA;--mat-mdc-slider-hover-ripple-color: rgba(255, 179, 238, .56);--mat-mdc-slider-focus-ripple-color: rgba(255, 179, 238, .56);height:40px}::ng-deep .slider-container[theme=light] .mat-mdc-slider.mat-primary .mdc-slider__track--inactive,::ng-deep .slider-container[theme=dark] .mat-mdc-slider.mat-primary .mdc-slider__track--inactive{opacity:1}::ng-deep .slider-container[theme=light] .mat-mdc-slider.mat-primary .mat-mdc-focus-indicator,::ng-deep .slider-container[theme=dark] .mat-mdc-slider.mat-primary .mat-mdc-focus-indicator{border-radius:100%}::ng-deep .slider-container[theme=light] .mat-mdc-slider.mat-primary .mdc-slider__thumb-knob,::ng-deep .slider-container[theme=dark] .mat-mdc-slider.mat-primary .mdc-slider__thumb-knob{border-radius:100%}::ng-deep .slider-container[theme=light] .mat-mdc-slider.mat-primary .mdc-slider__thumb,::ng-deep .slider-container[theme=dark] .mat-mdc-slider.mat-primary .mdc-slider__thumb{z-index:1;height:40px;width:40px}::ng-deep .slider-container[theme=light] .mat-mdc-slider.mat-primary .mdc-slider__track--active_fill,::ng-deep .slider-container[theme=dark] .mat-mdc-slider.mat-primary .mdc-slider__track--active_fill{z-index:1}::ng-deep .slider-container[theme=light] .mat-mdc-slider.mat-primary .mdc-slider__value-indicator-container,::ng-deep .slider-container[theme=dark] .mat-mdc-slider.mat-primary .mdc-slider__value-indicator-container{bottom:60px}::ng-deep .slider-container[theme=light] .mat-mdc-slider.mat-primary .mdc-slider__value-indicator,::ng-deep .slider-container[theme=dark] .mat-mdc-slider.mat-primary .mdc-slider__value-indicator{background:#242424;opacity:1;color:#fff;position:relative;width:100%;display:flex;justify-content:center;align-items:center}::ng-deep .slider-container[theme=light] .mat-mdc-slider.mat-primary .mdc-slider__value-indicator:before,::ng-deep .slider-container[theme=dark] .mat-mdc-slider.mat-primary .mdc-slider__value-indicator:before{content:\"\";display:flex;position:absolute;left:calc(50% - 7px);bottom:-8px;height:15px;width:15px;border-top:1px solid #ffffff;border-right:1px solid #ffffff;background:#242424;z-index:10;border-top-right-radius:4px;transform:rotate(135deg)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: MatSliderModule }, { kind: "component", type: i2.MatSlider, selector: "mat-slider", inputs: ["color", "disableRipple", "disabled", "discrete", "showTickMarks", "min", "max", "step", "displayWith"], exportAs: ["matSlider"] }, { kind: "directive", type: i2.MatSliderThumb, selector: "input[matSliderThumb]", inputs: ["value"], outputs: ["valueChange", "dragStart", "dragEnd"], exportAs: ["matSliderThumb"] }, { kind: "directive", type: i2.MatSliderRangeThumb, selector: "input[matSliderStartThumb], input[matSliderEndThumb]", exportAs: ["matSliderRangeThumb"] }, { 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.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: MatInputModule }, { kind: "directive", type: i4.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i5.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5.MatLabel, selector: "mat-label" }, { kind: "directive", type: i5.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "ngmodule", type: IconComponentModule }, { kind: "component", type: i6.IconComponent, selector: "ui-icon", inputs: ["size", "cssClass", "name", "color", "filled", "applicationTheme", "useFullIconName"] }, { kind: "pipe", type: UiTranslatePipe, name: "uiTranslate" }, { kind: "directive", type: DigitsOnlyDirective, selector: "[digitsOnly]", inputs: ["allowNegative", "allowDecimal", "allowOnlyDigits"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
187
|
+
{
|
|
188
|
+
provide: NG_VALIDATORS,
|
|
189
|
+
useExisting: forwardRef(() => SliderComponent),
|
|
190
|
+
multi: true,
|
|
191
|
+
},
|
|
192
|
+
provideNgxMask(),
|
|
193
|
+
DecimalPipe,
|
|
194
|
+
], ngImport: i0, template: "<ng-container>\r\n <div\r\n class=\"slider-container\"\r\n [attr.theme]=\"applicationTheme\"\r\n [ngClass]=\"{ disabled: disabled, error: hasError && touchedControlName }\"\r\n >\r\n @if (label) {\r\n <div class=\"slider-label\">{{ label }}</div>\r\n }\r\n\r\n <div class=\"slider\">\r\n @if (!isBasicSlider) {\r\n <div class=\"min-value\">\r\n <span>\r\n @if (useDecimal()) {\r\n {{ min | number }}\r\n } @else {\r\n {{ min }}\r\n }\r\n @if (percentage) {\r\n %\r\n }\r\n </span>\r\n </div>\r\n }\r\n <mat-slider\r\n [disableRipple]=\"applicationTheme !== 'classic'\"\r\n #sliderElement\r\n discrete\r\n [disabled]=\"disabled\"\r\n [max]=\"max\"\r\n [min]=\"min\"\r\n [step]=\"step\"\r\n (mouseenter)=\"sliderElement.discrete = true\"\r\n (mouseleave)=\"sliderElement.discrete = false\"\r\n [displayWith]=\"formatLabel\"\r\n >\r\n @if (isBasicSlider) {\r\n <input [disabled]=\"disabled\" (valueChange)=\"onValueChange($event)\" [(ngModel)]=\"sliderStart\" matSliderThumb />\r\n } @else {\r\n <input [disabled]=\"disabled\" (valueChange)=\"onValueChange()\" [(ngModel)]=\"sliderStart\" matSliderStartThumb />\r\n <input [disabled]=\"disabled\" (valueChange)=\"onValueChange()\" [(ngModel)]=\"sliderEnd\" matSliderEndThumb />\r\n }\r\n </mat-slider>\r\n @if (!isBasicSlider) {\r\n <div class=\"max-value\">\r\n <span>\r\n @if (useDecimal()) {\r\n {{ max | number }}\r\n } @else {\r\n {{ max }}\r\n }\r\n @if (percentage) {\r\n %\r\n }\r\n </span>\r\n </div>\r\n }\r\n </div>\r\n\r\n @if (showInputs && !this.isBasicSlider) {\r\n <div class=\"slider-input\">\r\n <mat-form-field [appearance]=\"'outline'\" [ngStyle]=\"{ width: inputWidth() + 'px' }\">\r\n @if (minLabel()) {\r\n <mat-label>\r\n {{ minLabel() }}\r\n @if (percentage) {\r\n <span>%</span>\r\n }\r\n </mat-label>\r\n } @else {\r\n <mat-label>\r\n {{ 'COMMON.MIN' | uiTranslate | async }}\r\n @if (percentage) {\r\n <span>%</span>\r\n }\r\n </mat-label>\r\n }\r\n @if (useDecimal()) {\r\n <input\r\n matInput\r\n [type]=\"'text'\"\r\n [(ngModel)]=\"sliderStart\"\r\n [disabled]=\"disabled\"\r\n (focus)=\"onInputFocus()\"\r\n (blur)=\"onInputBlur('start')\"\r\n (keydown.enter)=\"onInputBlur('start')\"\r\n mask=\"separator.2\"\r\n thousandSeparator=\",\"\r\n />\r\n } @else {\r\n <input\r\n matInput\r\n [type]=\"'number'\"\r\n [(ngModel)]=\"sliderStart\"\r\n [disabled]=\"disabled\"\r\n (focus)=\"onInputFocus()\"\r\n (blur)=\"onInputBlur('start')\"\r\n (keydown.enter)=\"onInputBlur('start')\"\r\n [allowOnlyDigits]=\"true\"\r\n digitsOnly\r\n />\r\n }\r\n </mat-form-field>\r\n <mat-form-field [appearance]=\"'outline'\" [ngStyle]=\"{ width: inputWidth() + 'px' }\">\r\n @if (maxLabel()) {\r\n <mat-label>\r\n {{ maxLabel() }}\r\n @if (percentage) {\r\n <span>%</span>\r\n }\r\n </mat-label>\r\n } @else {\r\n <mat-label>\r\n {{ 'COMMON.MAX' | uiTranslate | async }}\r\n @if (percentage) {\r\n <span>%</span>\r\n }\r\n </mat-label>\r\n }\r\n @if (useDecimal()) {\r\n <input\r\n matInput\r\n [disabled]=\"disabled\"\r\n [type]=\"'text'\"\r\n [(ngModel)]=\"sliderEnd\"\r\n (focus)=\"onInputFocus()\"\r\n (blur)=\"onInputBlur('end')\"\r\n (keydown.enter)=\"onInputBlur('end')\"\r\n data-testid=\"slider.input-end\"\r\n mask=\"separator.2\"\r\n thousandSeparator=\",\"\r\n />\r\n } @else {\r\n <input\r\n matInput\r\n [disabled]=\"disabled\"\r\n [type]=\"'number'\"\r\n [(ngModel)]=\"sliderEnd\"\r\n (focus)=\"onInputFocus()\"\r\n (blur)=\"onInputBlur('end')\"\r\n (keydown.enter)=\"onInputBlur('end')\"\r\n [allowOnlyDigits]=\"true\"\r\n digitsOnly\r\n data-testid=\"slider.input-end\"\r\n />\r\n }\r\n </mat-form-field>\r\n </div>\r\n }\r\n\r\n @if (hasError && touchedControlName) {\r\n <mat-error class=\"slider-errors\">\r\n @if (touchedControlName === 'start' && sliderStart > sliderEnd) {\r\n <div class=\"validation-error\">\r\n <ui-icon [name]=\"'Info'\"></ui-icon>\r\n <span>{{\r\n translationContext + 'MIN_MORE_THAN_MAX' | uiTranslate: { min: sliderStart, max: sliderEnd } | async\r\n }}</span>\r\n </div>\r\n }\r\n @if (touchedControlName === 'end' && sliderStart > sliderEnd) {\r\n <div class=\"validation-error\">\r\n <ui-icon [name]=\"'Info'\"></ui-icon>\r\n <span>{{\r\n translationContext + 'MAX_LESS_THAN_MIN' | uiTranslate: { min: sliderStart, max: sliderEnd } | async\r\n }}</span>\r\n </div>\r\n }\r\n @if (sliderStart < min) {\r\n <div class=\"validation-error\">\r\n <ui-icon [name]=\"'Info'\"></ui-icon>\r\n <span>{{ 'COMMON.MIN' | uiTranslate | async }} {{ min }}</span>\r\n </div>\r\n }\r\n @if (sliderEnd > max) {\r\n <div class=\"validation-error\">\r\n <ui-icon [name]=\"'Info'\"></ui-icon>\r\n <span>{{ 'COMMON.MAX' | uiTranslate | async }} {{ max }}</span>\r\n </div>\r\n }\r\n </mat-error>\r\n }\r\n </div>\r\n</ng-container>\r\n", styles: [".bg-teal-60b{background:#1c443c}.bg-teal-30b{background:#31766a}.bg-teal-default{background:#46a997}.bg-teal-30w{background:#7ec3b6}.bg-teal-60w{background:#b5ddd5}.bg-teal-secondary{background:#cbd6cb}.bg-teal-90w{background:#ecf6f5}.bg-petrol-60b{background:#102930}.bg-petrol-30b{background:#1b4754}.bg-petrol-default{background:#276678}.bg-petrol-30w{background:#6894a0}.bg-petrol-60w{background:#a9c2c9}.bg-petrol-secondary{background:#c8d7de}.bg-petrol-90w{background:#e9f0f1}.bg-error-60b{background:#513131}.bg-error-30b{background:#8e5655}.bg-error-60w{background:#e3c3c6}.bg-error-secondary{background:#f0dad9}.bg-error-default{background:#cb7b7a}.bg-warning-secondary{background:#f0d6bb}.bg-warning-default{background:#cca45f}.bg-black{background:#000}.bg-dark{background:#888}.bg-medium{background:#e0e0e0}.bg-grey{background:#ededed}.bg-light{background:#f6f6f6}.bg-white{background:#fff}.bg-box-shadow{background:#00000014}.bg-navigation-subtitle{background:#528593}.bgc-teal-60b{background-color:#1c443c}.bgc-teal-30b{background-color:#31766a}.bgc-teal-default{background-color:#46a997}.bgc-teal-30w{background-color:#7ec3b6}.bgc-teal-60w{background-color:#b5ddd5}.bgc-teal-secondary{background-color:#cbd6cb}.bgc-teal-90w{background-color:#ecf6f5}.bgc-petrol-60b{background-color:#102930}.bgc-petrol-30b{background-color:#1b4754}.bgc-petrol-default{background-color:#276678}.bgc-petrol-30w{background-color:#6894a0}.bgc-petrol-60w{background-color:#a9c2c9}.bgc-petrol-secondary{background-color:#c8d7de}.bgc-petrol-90w{background-color:#e9f0f1}.bgc-error-60b{background-color:#513131}.bgc-error-30b{background-color:#8e5655}.bgc-error-60w{background-color:#e3c3c6}.bgc-error-secondary{background-color:#f0dad9}.bgc-error-default{background-color:#cb7b7a}.bgc-warning-secondary{background-color:#f0d6bb}.bgc-warning-default{background-color:#cca45f}.bgc-black{background-color:#000}.bgc-dark{background-color:#888}.bgc-medium{background-color:#e0e0e0}.bgc-grey{background-color:#ededed}.bgc-light{background-color:#f6f6f6}.bgc-white{background-color:#fff}.bgc-box-shadow{background-color:#00000014}.bgc-navigation-subtitle{background-color:#528593}:host ::ng-deep mat-form-field .mat-mdc-form-field-flex .mat-mdc-floating-label{background:#fff!important;top:22px}:host ::ng-deep mat-form-field .mdc-floating-label--float-above{transform:translateY(-28px) scale(.75)!important}::ng-deep .slider-container{min-width:240px;width:100%}::ng-deep .slider-container .mat-mdc-form-field-bottom-align:before{content:none}::ng-deep .slider-container.error .mdc-notched-outline__leading,::ng-deep .slider-container.error .mdc-notched-outline__notch,::ng-deep .slider-container.error .mdc-notched-outline__trailing{border-color:#cb7b7a!important}::ng-deep .slider-container.error .mdc-notched-outline__leading label,::ng-deep .slider-container.error .mdc-notched-outline__notch label,::ng-deep .slider-container.error .mdc-notched-outline__trailing label{color:#cb7b7a!important}::ng-deep .slider-container.error .mat-mdc-form-field.mat-mdc-form-field.mat-mdc-form-field.mat-mdc-form-field.mat-mdc-form-field.mat-mdc-form-field .mdc-notched-outline__notch{border-left:none!important}::ng-deep .slider-container.disabled *{pointer-events:none;cursor:initial}::ng-deep .slider-container.disabled .mat-mdc-slider *{border-color:#919191!important}::ng-deep .slider-container.disabled .mat-mdc-slider .mdc-slider__thumb:after{display:none}::ng-deep .slider-container.disabled .slider,::ng-deep .slider-container.disabled .slider-input{opacity:.5}::ng-deep .slider-container .slider-label{font-size:14px;font-weight:700;line-height:20px}::ng-deep .slider-container .slider{display:flex;flex-direction:row;justify-content:center;align-items:center;margin:16px 0}::ng-deep .slider-container .slider mat-slider{width:100%}::ng-deep .slider-container .slider .mat-mdc-slider .mdc-floating-label{top:23px}::ng-deep .slider-container .slider .mat-mdc-slider .mdc-slider__value-indicator-container{bottom:54px}::ng-deep .slider-container .slider .mat-mdc-slider .mdc-slider__value-indicator{background:#a9c2c9;color:#000}::ng-deep .slider-container .slider .mat-mdc-slider .mdc-slider__value-indicator:after,::ng-deep .slider-container .slider .mat-mdc-slider .mdc-slider__value-indicator:before{display:none}::ng-deep .slider-container .slider .min-value{width:auto;margin-right:8px;white-space:nowrap}::ng-deep .slider-container .slider .max-value{width:auto;margin-left:8px;white-space:nowrap}::ng-deep .slider-container .slider-errors{margin-top:8px}::ng-deep .slider-container .slider-input{display:flex;justify-content:space-between}::ng-deep .slider-container .slider-input mat-form-field{min-width:80px!important}::ng-deep .slider-container .slider-input .mat-mdc-form-field-flex,::ng-deep .slider-container .slider-input .mdc-notched-outline{height:48px!important}::ng-deep .slider-container .slider-input .mat-mdc-form-field-subscript-wrapper,::ng-deep .slider-container .slider-input .mdc-text-field__input::-webkit-inner-spin-button{display:none}::ng-deep .slider-container mat-error{font-size:12px;gap:4px}::ng-deep .slider-container mat-error ui-icon svg{color:#cb7b7a}::ng-deep .slider-container mat-error .validation-error{display:flex;flex-direction:row;align-items:center}::ng-deep .slider-container mat-error .validation-error ui-icon{margin-right:4px}::ng-deep .slider-container[theme=light],::ng-deep .slider-container[theme=dark]{color:#242424}::ng-deep .slider-container[theme=light] .mat-mdc-slider.mat-primary,::ng-deep .slider-container[theme=dark] .mat-mdc-slider.mat-primary{--mdc-slider-active-track-color: #D410AA;--mdc-slider-handle-color: #D410AA;--mdc-slider-focus-handle-color: #D410AA;--mdc-slider-hover-handle-color: #D410AA;--mdc-slider-inactive-track-color: #D3D3D3;--mdc-slider-with-tick-marks-inactive-container-color: #D410AA;--mat-mdc-slider-ripple-color: #D410AA;--mat-mdc-slider-hover-ripple-color: rgba(255, 179, 238, .56);--mat-mdc-slider-focus-ripple-color: rgba(255, 179, 238, .56);height:40px}::ng-deep .slider-container[theme=light] .mat-mdc-slider.mat-primary .mdc-slider__track--inactive,::ng-deep .slider-container[theme=dark] .mat-mdc-slider.mat-primary .mdc-slider__track--inactive{opacity:1}::ng-deep .slider-container[theme=light] .mat-mdc-slider.mat-primary .mat-mdc-focus-indicator,::ng-deep .slider-container[theme=dark] .mat-mdc-slider.mat-primary .mat-mdc-focus-indicator{border-radius:100%}::ng-deep .slider-container[theme=light] .mat-mdc-slider.mat-primary .mdc-slider__thumb-knob,::ng-deep .slider-container[theme=dark] .mat-mdc-slider.mat-primary .mdc-slider__thumb-knob{border-radius:100%}::ng-deep .slider-container[theme=light] .mat-mdc-slider.mat-primary .mdc-slider__thumb,::ng-deep .slider-container[theme=dark] .mat-mdc-slider.mat-primary .mdc-slider__thumb{z-index:1;height:40px;width:40px}::ng-deep .slider-container[theme=light] .mat-mdc-slider.mat-primary .mdc-slider__track--active_fill,::ng-deep .slider-container[theme=dark] .mat-mdc-slider.mat-primary .mdc-slider__track--active_fill{z-index:1}::ng-deep .slider-container[theme=light] .mat-mdc-slider.mat-primary .mdc-slider__value-indicator-container,::ng-deep .slider-container[theme=dark] .mat-mdc-slider.mat-primary .mdc-slider__value-indicator-container{bottom:60px}::ng-deep .slider-container[theme=light] .mat-mdc-slider.mat-primary .mdc-slider__value-indicator,::ng-deep .slider-container[theme=dark] .mat-mdc-slider.mat-primary .mdc-slider__value-indicator{background:#242424;opacity:1;color:#fff;position:relative;width:100%;display:flex;justify-content:center;align-items:center}::ng-deep .slider-container[theme=light] .mat-mdc-slider.mat-primary .mdc-slider__value-indicator:before,::ng-deep .slider-container[theme=dark] .mat-mdc-slider.mat-primary .mdc-slider__value-indicator:before{content:\"\";display:flex;position:absolute;left:calc(50% - 7px);bottom:-8px;height:15px;width:15px;border-top:1px solid #ffffff;border-right:1px solid #ffffff;background:#242424;z-index:10;border-top-right-radius:4px;transform:rotate(135deg)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i1.DecimalPipe, name: "number" }, { kind: "ngmodule", type: MatSliderModule }, { kind: "component", type: i2.MatSlider, selector: "mat-slider", inputs: ["color", "disableRipple", "disabled", "discrete", "showTickMarks", "min", "max", "step", "displayWith"], exportAs: ["matSlider"] }, { kind: "directive", type: i2.MatSliderThumb, selector: "input[matSliderThumb]", inputs: ["value"], outputs: ["valueChange", "dragStart", "dragEnd"], exportAs: ["matSliderThumb"] }, { kind: "directive", type: i2.MatSliderRangeThumb, selector: "input[matSliderStartThumb], input[matSliderEndThumb]", exportAs: ["matSliderRangeThumb"] }, { 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.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: MatInputModule }, { kind: "directive", type: i4.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i5.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5.MatLabel, selector: "mat-label" }, { kind: "directive", type: i5.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "ngmodule", type: IconComponentModule }, { kind: "component", type: i6.IconComponent, selector: "ui-icon", inputs: ["size", "cssClass", "name", "color", "filled", "applicationTheme", "useFullIconName"] }, { kind: "pipe", type: UiTranslatePipe, name: "uiTranslate" }, { kind: "directive", type: DigitsOnlyDirective, selector: "[digitsOnly]", inputs: ["allowNegative", "allowDecimal", "allowOnlyDigits"] }, { kind: "directive", type: NgxMaskDirective, selector: "input[mask], textarea[mask]", inputs: ["mask", "specialCharacters", "patterns", "prefix", "suffix", "thousandSeparator", "decimalMarker", "dropSpecialCharacters", "hiddenInput", "showMaskTyped", "placeHolderCharacter", "shownMaskExpression", "clearIfNotMatch", "validation", "separatorLimit", "allowNegativeNumbers", "leadZeroDateTime", "leadZero", "triggerOnMaskChange", "apm", "inputTransformFn", "outputTransformFn", "keepCharacterPositions", "instantPrefix"], outputs: ["maskFilled"], exportAs: ["mask", "ngxMask"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
174
195
|
}
|
|
175
196
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SliderComponent, decorators: [{
|
|
176
197
|
type: Component,
|
|
@@ -180,6 +201,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
180
201
|
useExisting: forwardRef(() => SliderComponent),
|
|
181
202
|
multi: true,
|
|
182
203
|
},
|
|
204
|
+
{
|
|
205
|
+
provide: NG_VALIDATORS,
|
|
206
|
+
useExisting: forwardRef(() => SliderComponent),
|
|
207
|
+
multi: true,
|
|
208
|
+
},
|
|
209
|
+
provideNgxMask(),
|
|
210
|
+
DecimalPipe,
|
|
183
211
|
], changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
|
|
184
212
|
CommonModule,
|
|
185
213
|
MatSliderModule,
|
|
@@ -189,7 +217,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
189
217
|
IconComponentModule,
|
|
190
218
|
UiTranslatePipe,
|
|
191
219
|
DigitsOnlyDirective,
|
|
192
|
-
], template: "<ng-container>\r\n <div\r\n class=\"slider-container\"\r\n [attr.theme]=\"applicationTheme\"\r\n [ngClass]=\"{ disabled: disabled, error: hasError && touchedControlName }\"\r\n >\r\n <div class=\"slider-label\" *ngIf=\"label\">{{ label }}</div>\r\n\r\n <div class=\"slider\">\r\n <div class=\"min-value\" *ngIf=\"!isBasicSlider\">{{ percentage ? min + '%' : min }}</div>\r\n <mat-slider\r\n [disableRipple]=\"applicationTheme !== 'classic'\"\r\n #sliderElement\r\n discrete\r\n [disabled]=\"disabled\"\r\n [max]=\"max\"\r\n [min]=\"min\"\r\n [step]=\"step\"\r\n (mouseenter)=\"sliderElement.discrete = true\"\r\n (mouseleave)=\"sliderElement.discrete = false\"\r\n >\r\n <ng-container *ngIf=\"isBasicSlider; else rangeTemplate\">\r\n <input [disabled]=\"disabled\" (valueChange)=\"onValueChange($event)\" [(ngModel)]=\"sliderStart\" matSliderThumb />\r\n </ng-container>\r\n\r\n <ng-template #rangeTemplate>\r\n <input [disabled]=\"disabled\" (valueChange)=\"onValueChange()\" [(ngModel)]=\"sliderStart\" matSliderStartThumb />\r\n <input [disabled]=\"disabled\" (valueChange)=\"onValueChange()\" [(ngModel)]=\"sliderEnd\" matSliderEndThumb />\r\n </ng-template>\r\n </mat-slider>\r\n <div class=\"max-value\" *ngIf=\"!isBasicSlider\">{{ percentage ? max + '%' : max }}</div>\r\n </div>\r\n\r\n <div class=\"slider-input\" *ngIf=\"showInputs && !this.isBasicSlider\">\r\n <mat-form-field [appearance]=\"'outline'\">\r\n <mat-label>{{ 'COMMON.MIN' | uiTranslate | async }} <span *ngIf=\"percentage\">%</span></mat-label>\r\n <input\r\n matInput\r\n [type]=\"'number'\"\r\n [(ngModel)]=\"sliderStart\"\r\n [disabled]=\"disabled\"\r\n (focus)=\"onInputFocus()\"\r\n (blur)=\"onInputBlur('start')\"\r\n (keydown.enter)=\"onInputBlur('start')\"\r\n [allowOnlyDigits]=\"true\"\r\n digitsOnly\r\n />\r\n </mat-form-field>\r\n\r\n <mat-form-field [appearance]=\"'outline'\">\r\n <mat-label>{{ 'COMMON.MAX' | uiTranslate | async }} <span *ngIf=\"percentage\">%</span></mat-label>\r\n <input\r\n matInput\r\n [disabled]=\"disabled\"\r\n [type]=\"'number'\"\r\n [(ngModel)]=\"sliderEnd\"\r\n (focus)=\"onInputFocus()\"\r\n (blur)=\"onInputBlur('end')\"\r\n (keydown.enter)=\"onInputBlur('end')\"\r\n [allowOnlyDigits]=\"true\"\r\n digitsOnly\r\n data-testid=\"slider.input-end\"\r\n />\r\n </mat-form-field>\r\n </div>\r\n\r\n <mat-error class=\"slider-errors\" *ngIf=\"hasError && touchedControlName\">\r\n <div class=\"validation-error\" *ngIf=\"touchedControlName === 'start' && sliderStart > sliderEnd\">\r\n <ui-icon [name]=\"'Info'\"></ui-icon>\r\n <span>{{\r\n translationContext + 'MIN_MORE_THAN_MAX' | uiTranslate: { min: sliderStart, max: sliderEnd } | async\r\n }}</span>\r\n </div>\r\n\r\n <div class=\"validation-error\" *ngIf=\"touchedControlName === 'end' && sliderStart > sliderEnd\">\r\n <ui-icon [name]=\"'Info'\"></ui-icon>\r\n <span>{{\r\n translationContext + 'MAX_LESS_THAN_MIN' | uiTranslate: { min: sliderStart, max: sliderEnd } | async\r\n }}</span>\r\n </div>\r\n\r\n <div class=\"validation-error\" *ngIf=\"sliderStart < min\">\r\n <ui-icon [name]=\"'Info'\"></ui-icon>\r\n <span>{{ 'COMMON.MIN' | uiTranslate | async }} {{ min }}</span>\r\n </div>\r\n <div class=\"validation-error\" *ngIf=\"sliderEnd > max\">\r\n <ui-icon [name]=\"'Info'\"></ui-icon>\r\n <span>{{ 'COMMON.MAX' | uiTranslate | async }} {{ max }}</span>\r\n </div>\r\n </mat-error>\r\n </div>\r\n</ng-container>\r\n", styles: [".bg-teal-60b{background:#1c443c}.bg-teal-30b{background:#31766a}.bg-teal-default{background:#46a997}.bg-teal-30w{background:#7ec3b6}.bg-teal-60w{background:#b5ddd5}.bg-teal-secondary{background:#cbd6cb}.bg-teal-90w{background:#ecf6f5}.bg-petrol-60b{background:#102930}.bg-petrol-30b{background:#1b4754}.bg-petrol-default{background:#276678}.bg-petrol-30w{background:#6894a0}.bg-petrol-60w{background:#a9c2c9}.bg-petrol-secondary{background:#c8d7de}.bg-petrol-90w{background:#e9f0f1}.bg-error-60b{background:#513131}.bg-error-30b{background:#8e5655}.bg-error-60w{background:#e3c3c6}.bg-error-secondary{background:#f0dad9}.bg-error-default{background:#cb7b7a}.bg-warning-secondary{background:#f0d6bb}.bg-warning-default{background:#cca45f}.bg-black{background:#000}.bg-dark{background:#888}.bg-medium{background:#e0e0e0}.bg-grey{background:#ededed}.bg-light{background:#f6f6f6}.bg-white{background:#fff}.bg-box-shadow{background:#00000014}.bg-navigation-subtitle{background:#528593}.bgc-teal-60b{background-color:#1c443c}.bgc-teal-30b{background-color:#31766a}.bgc-teal-default{background-color:#46a997}.bgc-teal-30w{background-color:#7ec3b6}.bgc-teal-60w{background-color:#b5ddd5}.bgc-teal-secondary{background-color:#cbd6cb}.bgc-teal-90w{background-color:#ecf6f5}.bgc-petrol-60b{background-color:#102930}.bgc-petrol-30b{background-color:#1b4754}.bgc-petrol-default{background-color:#276678}.bgc-petrol-30w{background-color:#6894a0}.bgc-petrol-60w{background-color:#a9c2c9}.bgc-petrol-secondary{background-color:#c8d7de}.bgc-petrol-90w{background-color:#e9f0f1}.bgc-error-60b{background-color:#513131}.bgc-error-30b{background-color:#8e5655}.bgc-error-60w{background-color:#e3c3c6}.bgc-error-secondary{background-color:#f0dad9}.bgc-error-default{background-color:#cb7b7a}.bgc-warning-secondary{background-color:#f0d6bb}.bgc-warning-default{background-color:#cca45f}.bgc-black{background-color:#000}.bgc-dark{background-color:#888}.bgc-medium{background-color:#e0e0e0}.bgc-grey{background-color:#ededed}.bgc-light{background-color:#f6f6f6}.bgc-white{background-color:#fff}.bgc-box-shadow{background-color:#00000014}.bgc-navigation-subtitle{background-color:#528593}::ng-deep .slider-container{min-width:240px;width:100%}::ng-deep .slider-container .mat-mdc-form-field-bottom-align:before{content:none}::ng-deep .slider-container.error .mdc-notched-outline__leading,::ng-deep .slider-container.error .mdc-notched-outline__notch,::ng-deep .slider-container.error .mdc-notched-outline__trailing{border-color:#cb7b7a!important}::ng-deep .slider-container.error .mdc-notched-outline__leading label,::ng-deep .slider-container.error .mdc-notched-outline__notch label,::ng-deep .slider-container.error .mdc-notched-outline__trailing label{color:#cb7b7a!important}::ng-deep .slider-container.error .mat-mdc-form-field.mat-mdc-form-field.mat-mdc-form-field.mat-mdc-form-field.mat-mdc-form-field.mat-mdc-form-field .mdc-notched-outline__notch{border-left:none!important}::ng-deep .slider-container.disabled *{pointer-events:none;cursor:initial}::ng-deep .slider-container.disabled .mat-mdc-slider *{border-color:#919191!important}::ng-deep .slider-container.disabled .mat-mdc-slider .mdc-slider__thumb:after{display:none}::ng-deep .slider-container.disabled .slider,::ng-deep .slider-container.disabled .slider-input{opacity:.5}::ng-deep .slider-container .slider-label{font-size:14px;font-weight:700;line-height:20px}::ng-deep .slider-container .slider{display:flex;flex-direction:row;justify-content:center;align-items:center;margin:16px 0}::ng-deep .slider-container .slider mat-slider{width:100%}::ng-deep .slider-container .slider .mat-mdc-slider .mdc-floating-label{top:23px}::ng-deep .slider-container .slider .mat-mdc-slider .mdc-slider__value-indicator-container{bottom:54px}::ng-deep .slider-container .slider .mat-mdc-slider .mdc-slider__value-indicator{background:#a9c2c9;color:#000}::ng-deep .slider-container .slider .mat-mdc-slider .mdc-slider__value-indicator:after,::ng-deep .slider-container .slider .mat-mdc-slider .mdc-slider__value-indicator:before{display:none}::ng-deep .slider-container .slider .min-value{width:30px;margin-right:8px}::ng-deep .slider-container .slider .max-value{width:auto;margin-left:8px}::ng-deep .slider-container .slider-errors{margin-top:8px}::ng-deep .slider-container .slider-input{display:flex;justify-content:space-between}::ng-deep .slider-container .slider-input mat-form-field{width:80px;min-width:80px!important}::ng-deep .slider-container .slider-input .mat-mdc-form-field-flex,::ng-deep .slider-container .slider-input .mdc-notched-outline{height:48px!important}::ng-deep .slider-container .slider-input .mat-mdc-form-field-subscript-wrapper,::ng-deep .slider-container .slider-input .mdc-text-field__input::-webkit-inner-spin-button{display:none}::ng-deep .slider-container mat-error{font-size:12px;gap:4px}::ng-deep .slider-container mat-error ui-icon svg{color:#cb7b7a}::ng-deep .slider-container mat-error .validation-error{display:flex;flex-direction:row;align-items:center}::ng-deep .slider-container mat-error .validation-error ui-icon{margin-right:4px}::ng-deep .slider-container[theme=light],::ng-deep .slider-container[theme=dark]{color:#242424}::ng-deep .slider-container[theme=light] .mat-mdc-slider.mat-primary,::ng-deep .slider-container[theme=dark] .mat-mdc-slider.mat-primary{--mdc-slider-active-track-color: #D410AA;--mdc-slider-handle-color: #D410AA;--mdc-slider-focus-handle-color: #D410AA;--mdc-slider-hover-handle-color: #D410AA;--mdc-slider-inactive-track-color: #D3D3D3;--mdc-slider-with-tick-marks-inactive-container-color: #D410AA;--mat-mdc-slider-ripple-color: #D410AA;--mat-mdc-slider-hover-ripple-color: rgba(255, 179, 238, .56);--mat-mdc-slider-focus-ripple-color: rgba(255, 179, 238, .56);height:40px}::ng-deep .slider-container[theme=light] .mat-mdc-slider.mat-primary .mdc-slider__track--inactive,::ng-deep .slider-container[theme=dark] .mat-mdc-slider.mat-primary .mdc-slider__track--inactive{opacity:1}::ng-deep .slider-container[theme=light] .mat-mdc-slider.mat-primary .mat-mdc-focus-indicator,::ng-deep .slider-container[theme=dark] .mat-mdc-slider.mat-primary .mat-mdc-focus-indicator{border-radius:100%}::ng-deep .slider-container[theme=light] .mat-mdc-slider.mat-primary .mdc-slider__thumb-knob,::ng-deep .slider-container[theme=dark] .mat-mdc-slider.mat-primary .mdc-slider__thumb-knob{border-radius:100%}::ng-deep .slider-container[theme=light] .mat-mdc-slider.mat-primary .mdc-slider__thumb,::ng-deep .slider-container[theme=dark] .mat-mdc-slider.mat-primary .mdc-slider__thumb{z-index:1;height:40px;width:40px}::ng-deep .slider-container[theme=light] .mat-mdc-slider.mat-primary .mdc-slider__track--active_fill,::ng-deep .slider-container[theme=dark] .mat-mdc-slider.mat-primary .mdc-slider__track--active_fill{z-index:1}::ng-deep .slider-container[theme=light] .mat-mdc-slider.mat-primary .mdc-slider__value-indicator-container,::ng-deep .slider-container[theme=dark] .mat-mdc-slider.mat-primary .mdc-slider__value-indicator-container{bottom:60px}::ng-deep .slider-container[theme=light] .mat-mdc-slider.mat-primary .mdc-slider__value-indicator,::ng-deep .slider-container[theme=dark] .mat-mdc-slider.mat-primary .mdc-slider__value-indicator{background:#242424;opacity:1;color:#fff;position:relative;width:100%;display:flex;justify-content:center;align-items:center}::ng-deep .slider-container[theme=light] .mat-mdc-slider.mat-primary .mdc-slider__value-indicator:before,::ng-deep .slider-container[theme=dark] .mat-mdc-slider.mat-primary .mdc-slider__value-indicator:before{content:\"\";display:flex;position:absolute;left:calc(50% - 7px);bottom:-8px;height:15px;width:15px;border-top:1px solid #ffffff;border-right:1px solid #ffffff;background:#242424;z-index:10;border-top-right-radius:4px;transform:rotate(135deg)}\n"] }]
|
|
220
|
+
NgxMaskDirective,
|
|
221
|
+
], template: "<ng-container>\r\n <div\r\n class=\"slider-container\"\r\n [attr.theme]=\"applicationTheme\"\r\n [ngClass]=\"{ disabled: disabled, error: hasError && touchedControlName }\"\r\n >\r\n @if (label) {\r\n <div class=\"slider-label\">{{ label }}</div>\r\n }\r\n\r\n <div class=\"slider\">\r\n @if (!isBasicSlider) {\r\n <div class=\"min-value\">\r\n <span>\r\n @if (useDecimal()) {\r\n {{ min | number }}\r\n } @else {\r\n {{ min }}\r\n }\r\n @if (percentage) {\r\n %\r\n }\r\n </span>\r\n </div>\r\n }\r\n <mat-slider\r\n [disableRipple]=\"applicationTheme !== 'classic'\"\r\n #sliderElement\r\n discrete\r\n [disabled]=\"disabled\"\r\n [max]=\"max\"\r\n [min]=\"min\"\r\n [step]=\"step\"\r\n (mouseenter)=\"sliderElement.discrete = true\"\r\n (mouseleave)=\"sliderElement.discrete = false\"\r\n [displayWith]=\"formatLabel\"\r\n >\r\n @if (isBasicSlider) {\r\n <input [disabled]=\"disabled\" (valueChange)=\"onValueChange($event)\" [(ngModel)]=\"sliderStart\" matSliderThumb />\r\n } @else {\r\n <input [disabled]=\"disabled\" (valueChange)=\"onValueChange()\" [(ngModel)]=\"sliderStart\" matSliderStartThumb />\r\n <input [disabled]=\"disabled\" (valueChange)=\"onValueChange()\" [(ngModel)]=\"sliderEnd\" matSliderEndThumb />\r\n }\r\n </mat-slider>\r\n @if (!isBasicSlider) {\r\n <div class=\"max-value\">\r\n <span>\r\n @if (useDecimal()) {\r\n {{ max | number }}\r\n } @else {\r\n {{ max }}\r\n }\r\n @if (percentage) {\r\n %\r\n }\r\n </span>\r\n </div>\r\n }\r\n </div>\r\n\r\n @if (showInputs && !this.isBasicSlider) {\r\n <div class=\"slider-input\">\r\n <mat-form-field [appearance]=\"'outline'\" [ngStyle]=\"{ width: inputWidth() + 'px' }\">\r\n @if (minLabel()) {\r\n <mat-label>\r\n {{ minLabel() }}\r\n @if (percentage) {\r\n <span>%</span>\r\n }\r\n </mat-label>\r\n } @else {\r\n <mat-label>\r\n {{ 'COMMON.MIN' | uiTranslate | async }}\r\n @if (percentage) {\r\n <span>%</span>\r\n }\r\n </mat-label>\r\n }\r\n @if (useDecimal()) {\r\n <input\r\n matInput\r\n [type]=\"'text'\"\r\n [(ngModel)]=\"sliderStart\"\r\n [disabled]=\"disabled\"\r\n (focus)=\"onInputFocus()\"\r\n (blur)=\"onInputBlur('start')\"\r\n (keydown.enter)=\"onInputBlur('start')\"\r\n mask=\"separator.2\"\r\n thousandSeparator=\",\"\r\n />\r\n } @else {\r\n <input\r\n matInput\r\n [type]=\"'number'\"\r\n [(ngModel)]=\"sliderStart\"\r\n [disabled]=\"disabled\"\r\n (focus)=\"onInputFocus()\"\r\n (blur)=\"onInputBlur('start')\"\r\n (keydown.enter)=\"onInputBlur('start')\"\r\n [allowOnlyDigits]=\"true\"\r\n digitsOnly\r\n />\r\n }\r\n </mat-form-field>\r\n <mat-form-field [appearance]=\"'outline'\" [ngStyle]=\"{ width: inputWidth() + 'px' }\">\r\n @if (maxLabel()) {\r\n <mat-label>\r\n {{ maxLabel() }}\r\n @if (percentage) {\r\n <span>%</span>\r\n }\r\n </mat-label>\r\n } @else {\r\n <mat-label>\r\n {{ 'COMMON.MAX' | uiTranslate | async }}\r\n @if (percentage) {\r\n <span>%</span>\r\n }\r\n </mat-label>\r\n }\r\n @if (useDecimal()) {\r\n <input\r\n matInput\r\n [disabled]=\"disabled\"\r\n [type]=\"'text'\"\r\n [(ngModel)]=\"sliderEnd\"\r\n (focus)=\"onInputFocus()\"\r\n (blur)=\"onInputBlur('end')\"\r\n (keydown.enter)=\"onInputBlur('end')\"\r\n data-testid=\"slider.input-end\"\r\n mask=\"separator.2\"\r\n thousandSeparator=\",\"\r\n />\r\n } @else {\r\n <input\r\n matInput\r\n [disabled]=\"disabled\"\r\n [type]=\"'number'\"\r\n [(ngModel)]=\"sliderEnd\"\r\n (focus)=\"onInputFocus()\"\r\n (blur)=\"onInputBlur('end')\"\r\n (keydown.enter)=\"onInputBlur('end')\"\r\n [allowOnlyDigits]=\"true\"\r\n digitsOnly\r\n data-testid=\"slider.input-end\"\r\n />\r\n }\r\n </mat-form-field>\r\n </div>\r\n }\r\n\r\n @if (hasError && touchedControlName) {\r\n <mat-error class=\"slider-errors\">\r\n @if (touchedControlName === 'start' && sliderStart > sliderEnd) {\r\n <div class=\"validation-error\">\r\n <ui-icon [name]=\"'Info'\"></ui-icon>\r\n <span>{{\r\n translationContext + 'MIN_MORE_THAN_MAX' | uiTranslate: { min: sliderStart, max: sliderEnd } | async\r\n }}</span>\r\n </div>\r\n }\r\n @if (touchedControlName === 'end' && sliderStart > sliderEnd) {\r\n <div class=\"validation-error\">\r\n <ui-icon [name]=\"'Info'\"></ui-icon>\r\n <span>{{\r\n translationContext + 'MAX_LESS_THAN_MIN' | uiTranslate: { min: sliderStart, max: sliderEnd } | async\r\n }}</span>\r\n </div>\r\n }\r\n @if (sliderStart < min) {\r\n <div class=\"validation-error\">\r\n <ui-icon [name]=\"'Info'\"></ui-icon>\r\n <span>{{ 'COMMON.MIN' | uiTranslate | async }} {{ min }}</span>\r\n </div>\r\n }\r\n @if (sliderEnd > max) {\r\n <div class=\"validation-error\">\r\n <ui-icon [name]=\"'Info'\"></ui-icon>\r\n <span>{{ 'COMMON.MAX' | uiTranslate | async }} {{ max }}</span>\r\n </div>\r\n }\r\n </mat-error>\r\n }\r\n </div>\r\n</ng-container>\r\n", styles: [".bg-teal-60b{background:#1c443c}.bg-teal-30b{background:#31766a}.bg-teal-default{background:#46a997}.bg-teal-30w{background:#7ec3b6}.bg-teal-60w{background:#b5ddd5}.bg-teal-secondary{background:#cbd6cb}.bg-teal-90w{background:#ecf6f5}.bg-petrol-60b{background:#102930}.bg-petrol-30b{background:#1b4754}.bg-petrol-default{background:#276678}.bg-petrol-30w{background:#6894a0}.bg-petrol-60w{background:#a9c2c9}.bg-petrol-secondary{background:#c8d7de}.bg-petrol-90w{background:#e9f0f1}.bg-error-60b{background:#513131}.bg-error-30b{background:#8e5655}.bg-error-60w{background:#e3c3c6}.bg-error-secondary{background:#f0dad9}.bg-error-default{background:#cb7b7a}.bg-warning-secondary{background:#f0d6bb}.bg-warning-default{background:#cca45f}.bg-black{background:#000}.bg-dark{background:#888}.bg-medium{background:#e0e0e0}.bg-grey{background:#ededed}.bg-light{background:#f6f6f6}.bg-white{background:#fff}.bg-box-shadow{background:#00000014}.bg-navigation-subtitle{background:#528593}.bgc-teal-60b{background-color:#1c443c}.bgc-teal-30b{background-color:#31766a}.bgc-teal-default{background-color:#46a997}.bgc-teal-30w{background-color:#7ec3b6}.bgc-teal-60w{background-color:#b5ddd5}.bgc-teal-secondary{background-color:#cbd6cb}.bgc-teal-90w{background-color:#ecf6f5}.bgc-petrol-60b{background-color:#102930}.bgc-petrol-30b{background-color:#1b4754}.bgc-petrol-default{background-color:#276678}.bgc-petrol-30w{background-color:#6894a0}.bgc-petrol-60w{background-color:#a9c2c9}.bgc-petrol-secondary{background-color:#c8d7de}.bgc-petrol-90w{background-color:#e9f0f1}.bgc-error-60b{background-color:#513131}.bgc-error-30b{background-color:#8e5655}.bgc-error-60w{background-color:#e3c3c6}.bgc-error-secondary{background-color:#f0dad9}.bgc-error-default{background-color:#cb7b7a}.bgc-warning-secondary{background-color:#f0d6bb}.bgc-warning-default{background-color:#cca45f}.bgc-black{background-color:#000}.bgc-dark{background-color:#888}.bgc-medium{background-color:#e0e0e0}.bgc-grey{background-color:#ededed}.bgc-light{background-color:#f6f6f6}.bgc-white{background-color:#fff}.bgc-box-shadow{background-color:#00000014}.bgc-navigation-subtitle{background-color:#528593}:host ::ng-deep mat-form-field .mat-mdc-form-field-flex .mat-mdc-floating-label{background:#fff!important;top:22px}:host ::ng-deep mat-form-field .mdc-floating-label--float-above{transform:translateY(-28px) scale(.75)!important}::ng-deep .slider-container{min-width:240px;width:100%}::ng-deep .slider-container .mat-mdc-form-field-bottom-align:before{content:none}::ng-deep .slider-container.error .mdc-notched-outline__leading,::ng-deep .slider-container.error .mdc-notched-outline__notch,::ng-deep .slider-container.error .mdc-notched-outline__trailing{border-color:#cb7b7a!important}::ng-deep .slider-container.error .mdc-notched-outline__leading label,::ng-deep .slider-container.error .mdc-notched-outline__notch label,::ng-deep .slider-container.error .mdc-notched-outline__trailing label{color:#cb7b7a!important}::ng-deep .slider-container.error .mat-mdc-form-field.mat-mdc-form-field.mat-mdc-form-field.mat-mdc-form-field.mat-mdc-form-field.mat-mdc-form-field .mdc-notched-outline__notch{border-left:none!important}::ng-deep .slider-container.disabled *{pointer-events:none;cursor:initial}::ng-deep .slider-container.disabled .mat-mdc-slider *{border-color:#919191!important}::ng-deep .slider-container.disabled .mat-mdc-slider .mdc-slider__thumb:after{display:none}::ng-deep .slider-container.disabled .slider,::ng-deep .slider-container.disabled .slider-input{opacity:.5}::ng-deep .slider-container .slider-label{font-size:14px;font-weight:700;line-height:20px}::ng-deep .slider-container .slider{display:flex;flex-direction:row;justify-content:center;align-items:center;margin:16px 0}::ng-deep .slider-container .slider mat-slider{width:100%}::ng-deep .slider-container .slider .mat-mdc-slider .mdc-floating-label{top:23px}::ng-deep .slider-container .slider .mat-mdc-slider .mdc-slider__value-indicator-container{bottom:54px}::ng-deep .slider-container .slider .mat-mdc-slider .mdc-slider__value-indicator{background:#a9c2c9;color:#000}::ng-deep .slider-container .slider .mat-mdc-slider .mdc-slider__value-indicator:after,::ng-deep .slider-container .slider .mat-mdc-slider .mdc-slider__value-indicator:before{display:none}::ng-deep .slider-container .slider .min-value{width:auto;margin-right:8px;white-space:nowrap}::ng-deep .slider-container .slider .max-value{width:auto;margin-left:8px;white-space:nowrap}::ng-deep .slider-container .slider-errors{margin-top:8px}::ng-deep .slider-container .slider-input{display:flex;justify-content:space-between}::ng-deep .slider-container .slider-input mat-form-field{min-width:80px!important}::ng-deep .slider-container .slider-input .mat-mdc-form-field-flex,::ng-deep .slider-container .slider-input .mdc-notched-outline{height:48px!important}::ng-deep .slider-container .slider-input .mat-mdc-form-field-subscript-wrapper,::ng-deep .slider-container .slider-input .mdc-text-field__input::-webkit-inner-spin-button{display:none}::ng-deep .slider-container mat-error{font-size:12px;gap:4px}::ng-deep .slider-container mat-error ui-icon svg{color:#cb7b7a}::ng-deep .slider-container mat-error .validation-error{display:flex;flex-direction:row;align-items:center}::ng-deep .slider-container mat-error .validation-error ui-icon{margin-right:4px}::ng-deep .slider-container[theme=light],::ng-deep .slider-container[theme=dark]{color:#242424}::ng-deep .slider-container[theme=light] .mat-mdc-slider.mat-primary,::ng-deep .slider-container[theme=dark] .mat-mdc-slider.mat-primary{--mdc-slider-active-track-color: #D410AA;--mdc-slider-handle-color: #D410AA;--mdc-slider-focus-handle-color: #D410AA;--mdc-slider-hover-handle-color: #D410AA;--mdc-slider-inactive-track-color: #D3D3D3;--mdc-slider-with-tick-marks-inactive-container-color: #D410AA;--mat-mdc-slider-ripple-color: #D410AA;--mat-mdc-slider-hover-ripple-color: rgba(255, 179, 238, .56);--mat-mdc-slider-focus-ripple-color: rgba(255, 179, 238, .56);height:40px}::ng-deep .slider-container[theme=light] .mat-mdc-slider.mat-primary .mdc-slider__track--inactive,::ng-deep .slider-container[theme=dark] .mat-mdc-slider.mat-primary .mdc-slider__track--inactive{opacity:1}::ng-deep .slider-container[theme=light] .mat-mdc-slider.mat-primary .mat-mdc-focus-indicator,::ng-deep .slider-container[theme=dark] .mat-mdc-slider.mat-primary .mat-mdc-focus-indicator{border-radius:100%}::ng-deep .slider-container[theme=light] .mat-mdc-slider.mat-primary .mdc-slider__thumb-knob,::ng-deep .slider-container[theme=dark] .mat-mdc-slider.mat-primary .mdc-slider__thumb-knob{border-radius:100%}::ng-deep .slider-container[theme=light] .mat-mdc-slider.mat-primary .mdc-slider__thumb,::ng-deep .slider-container[theme=dark] .mat-mdc-slider.mat-primary .mdc-slider__thumb{z-index:1;height:40px;width:40px}::ng-deep .slider-container[theme=light] .mat-mdc-slider.mat-primary .mdc-slider__track--active_fill,::ng-deep .slider-container[theme=dark] .mat-mdc-slider.mat-primary .mdc-slider__track--active_fill{z-index:1}::ng-deep .slider-container[theme=light] .mat-mdc-slider.mat-primary .mdc-slider__value-indicator-container,::ng-deep .slider-container[theme=dark] .mat-mdc-slider.mat-primary .mdc-slider__value-indicator-container{bottom:60px}::ng-deep .slider-container[theme=light] .mat-mdc-slider.mat-primary .mdc-slider__value-indicator,::ng-deep .slider-container[theme=dark] .mat-mdc-slider.mat-primary .mdc-slider__value-indicator{background:#242424;opacity:1;color:#fff;position:relative;width:100%;display:flex;justify-content:center;align-items:center}::ng-deep .slider-container[theme=light] .mat-mdc-slider.mat-primary .mdc-slider__value-indicator:before,::ng-deep .slider-container[theme=dark] .mat-mdc-slider.mat-primary .mdc-slider__value-indicator:before{content:\"\";display:flex;position:absolute;left:calc(50% - 7px);bottom:-8px;height:15px;width:15px;border-top:1px solid #ffffff;border-right:1px solid #ffffff;background:#242424;z-index:10;border-top-right-radius:4px;transform:rotate(135deg)}\n"] }]
|
|
193
222
|
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
194
223
|
type: Optional
|
|
195
224
|
}, {
|
|
@@ -220,4 +249,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
220
249
|
}], sliderValueChange: [{
|
|
221
250
|
type: Output
|
|
222
251
|
}] } });
|
|
223
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rnby1jYW5vcHktdWkvY29tcG9uZW50cy9zbGlkZXIvc2xpZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rnby1jYW5vcHktdWkvY29tcG9uZW50cy9zbGlkZXIvc2xpZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLFVBQVUsRUFDVixNQUFNLEVBQ04sTUFBTSxFQUNOLEtBQUssRUFDTCxRQUFRLEVBQ1IsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxXQUFXLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBRTdFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7Ozs7Ozs7QUEyQnBFLE1BQU0sT0FBTyxlQUFlO0lBK0YxQixZQUM2RSxlQUFpQztRQUFqQyxvQkFBZSxHQUFmLGVBQWUsQ0FBa0I7UUEvRjlHOzs7OztXQUtHO1FBQ00sUUFBRyxHQUFHLEdBQUcsQ0FBQztRQUVuQjs7Ozs7V0FLRztRQUNNLFFBQUcsR0FBRyxDQUFD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QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxlQUFlLENBQUM7Z0JBQzlDLEtBQUssRUFBRSxJQUFJO2FBQ1o7U0FDRiwwQkNqQ0gsazJIQTRGQSw0clBEdkRJLFlBQVkscVJBQ1osZUFBZSw0akJBQ2YsV0FBVyw4bUJBQ1gsY0FBYyxtdEJBQ2QsZ0JBQWdCLDhCQUNoQixtQkFBbUIsOExBQ25CLGVBQWUsb0RBQ2YsbUJBQW1COzs0RkFHVixlQUFlO2tCQXhCM0IsU0FBUzsrQkFDRSxXQUFXLGFBR1Y7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsZ0JBQWdCLENBQUM7NEJBQzlDLEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGLG1CQUNnQix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLGVBQWU7d0JBQ2YsV0FBVzt3QkFDWCxjQUFjO3dCQUNkLGdCQUFnQjt3QkFDaEIsbUJBQW1CO3dCQUNuQixlQUFlO3dCQUNmLG1CQUFtQjtxQkFDcEI7OzBCQWtHRSxRQUFROzswQkFBSSxNQUFNOzJCQUFDLG9DQUFvQzt5Q0F6RmpELEdBQUc7c0JBQVgsS0FBSztnQkFRRyxHQUFHO3NCQUFYLEtBQUs7Z0JBUUcsVUFBVTtzQkFBbEIsS0FBSztnQkFRRyxRQUFRO3NCQUFoQixLQUFLO2dCQVFHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBUUcsU0FBUztzQkFBakIsS0FBSztnQkFRRyxLQUFLO3NCQUFiLEtBQUs7Z0JBUUcsVUFBVTtzQkFBbEIsS0FBSztnQkFRRyxJQUFJO3NCQUFaLEtBQUs7Z0JBU0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQVNHLE9BQU87c0JBQWYsS0FBSztnQkFFSSxpQkFBaUI7c0JBQTFCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQge1xyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENvbXBvbmVudCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgZm9yd2FyZFJlZixcclxuICBpbmplY3QsXHJcbiAgSW5qZWN0LFxyXG4gIElucHV0LFxyXG4gIE9wdGlvbmFsLFxyXG4gIE91dHB1dCxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcclxuaW1wb3J0IHsgTWF0U2xpZGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2xpZGVyJztcclxuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xyXG5pbXBvcnQgeyBEaWdpdHNPbmx5RGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcy9kaWdpdHMtb25seS5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBBcHBsaWNhdGlvblRoZW1lIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2FwcGxpY2F0aW9uLXRoZW1lLm1vZGVsJztcclxuaW1wb3J0IHsgVWlUcmFuc2xhdGVQaXBlIH0gZnJvbSAnLi4vLi4vcGlwZXMvdWktdHJhbnNsYXRlLnBpcGUnO1xyXG5pbXBvcnQgeyBJY29uQ29tcG9uZW50TW9kdWxlIH0gZnJvbSAnLi4vaWNvbi9pY29uLmNvbXBvbmVudC5tb2R1bGUnO1xyXG5pbXBvcnQgeyBTbGlkZXJWYWx1ZSwgU2xpZGVyVmFyaWFudCB9IGZyb20gJy4vc2xpZGVyLm1vZGVsJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAndWktc2xpZGVyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vc2xpZGVyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9zbGlkZXIuY29tcG9uZW50LnNjc3MnXSxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFNsaWRlckNvbXBvbmVudCksXHJcbiAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgfSxcclxuICBdLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgTWF0U2xpZGVyTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBNYXRJbnB1dE1vZHVsZSxcclxuICAgIE1hdFRvb2x0aXBNb2R1bGUsXHJcbiAgICBJY29uQ29tcG9uZW50TW9kdWxlLFxyXG4gICAgVWlUcmFuc2xhdGVQaXBlLFxyXG4gICAgRGlnaXRzT25seURpcmVjdGl2ZSxcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2xpZGVyQ29tcG9uZW50IHtcclxuICAvKipcclxuICAgKiBUaGUgbWF4aW11bSB2YWx1ZSBvZiB0aGUgc2xpZGVyLlxyXG4gICAqXHJcbiAgICogQHR5cGUge251bWJlcn1cclxuICAgKiBAZGVmYXVsdCAxMDBcclxuICAgKi9cclxuICBASW5wdXQoKSBtYXggPSAxMDA7XHJcblxyXG4gIC8qKlxyXG4gICAqIFRoZSBtaW5pbXVtIHZhbHVlIG9mIHRoZSBzbGlkZXIuXHJcbiAgICpcclxuICAgKiBAdHlwZSB7bnVtYmVyfVxyXG4gICAqIEBkZWZhdWx0IDBcclxuICAgKi9cclxuICBASW5wdXQoKSBtaW4gPSAwO1xyXG5cclxuICAvKipcclxuICAgKiBBIGZsYWcgaW5kaWNhdGluZyB3aGV0aGVyIHRoZSBzbGlkZXIgZGlzcGxheXMgdmFsdWVzIGFzIHBlcmNlbnRhZ2VzLlxyXG4gICAqXHJcbiAgICogQHR5cGUge2Jvb2xlYW59XHJcbiAgICogQGRlZmF1bHQgdHJ1ZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHBlcmNlbnRhZ2UgPSBmYWxzZTtcclxuXHJcbiAgLyoqXHJcbiAgICogQSBmbGFnIGluZGljYXRpbmcgd2hldGhlciB0aGUgc2xpZGVyIGlzIGRpc2FibGVkLlxyXG4gICAqXHJcbiAgICogQHR5cGUge2Jvb2xlYW59XHJcbiAgICogQGRlZmF1bHQgdHJ1ZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2U7XHJcblxyXG4gIC8qKlxyXG4gICAqIFRoZSBzdGFydGluZyB2YWx1ZSBvZiB0aGUgc2xpZGVyLlxyXG4gICAqXHJcbiAgICogQHR5cGUge251bWJlcn1cclxuICAgKiBAZGVmYXVsdCAwXHJcbiAgICovXHJcbiAgQElucHV0KCkgc2xpZGVyU3RhcnQgPSAwO1xyXG5cclxuICAvKipcclxuICAgKiBUaGUgZW5kaW5nIHZhbHVlIG9mIHRoZSBzbGlkZXIuXHJcbiAgICpcclxuICAgKiBAdHlwZSB7bnVtYmVyfVxyXG4gICAqIEBkZWZhdWx0IDEwMFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHNsaWRlckVuZCA9IDEwMDtcclxuXHJcbiAgLyoqXHJcbiAgICogVGhlIGxhYmVsIGZvciB0aGUgc2xpZGVyLlxyXG4gICAqXHJcbiAgICogQHR5cGUge3N0cmluZ31cclxuICAgKiBAZGVmYXVsdCAnJ1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGxhYmVsID0gJyc7XHJcblxyXG4gIC8qKlxyXG4gICAqIFNob3cgc2xpZGVyIGlucHV0cy5cclxuICAgKlxyXG4gICAqIEB0eXBlIHtib29sZWFufVxyXG4gICAqIEBkZWZhdWx0IHRydWVcclxuICAgKi9cclxuICBASW5wdXQoKSBzaG93SW5wdXRzID0gdHJ1ZTtcclxuXHJcbiAgLyoqXHJcbiAgICogU3RlcCBudW1iZXIuXHJcbiAgICpcclxuICAgKiBAdHlwZSB7bnVtYmVyfVxyXG4gICAqIEBkZWZhdWx0IDFcclxuICAgKi9cclxuICBASW5wdXQoKSBzdGVwID0gMTtcclxuXHJcbiAgLyoqXHJcbiAgICpcclxuICAgKiBEZWZpbmVzIHRoZSBhcHBsaWNhdGlvbiB0aGVtZVxyXG4gICAqXHJcbiAgICogQHR5cGUge0FwcGxpY2F0aW9uVGhlbWV9XHJcbiAgICogQG1lbWJlcm9mIFNsaWRlckNvbXBvbmVudFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGFwcGxpY2F0aW9uVGhlbWU6IEFwcGxpY2F0aW9uVGhlbWUgPSAnbGlnaHQnO1xyXG5cclxuICAvKipcclxuICAgKlxyXG4gICAqIERlZmluZXMgdGhlIHZhcmlhbnQgc2xpZGVyXHJcbiAgICpcclxuICAgKiBAdHlwZSB7U2xpZGVyVmFyaWFudH1cclxuICAgKiBAbWVtYmVyb2YgU2xpZGVyQ29tcG9uZW50XHJcbiAgICovXHJcbiAgQElucHV0KCkgdmFyaWFudDogU2xpZGVyVmFyaWFudCA9ICdyYW5nZSc7XHJcblxyXG4gIEBPdXRwdXQoKSBzbGlkZXJWYWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8U2xpZGVyVmFsdWU+KCk7XHJcblxyXG4gIGNkciA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdCgnQ0FOT1BZVUlfREVGQVVMVF9BUFBMSUNBVElPTl9USEVNRScpIHByaXZhdGUgcmVhZG9ubHkgZGVmYXVsdEFwcFRoZW1lOiBBcHBsaWNhdGlvblRoZW1lXHJcbiAgKSB7XHJcbiAgICBpZiAoZGVmYXVsdEFwcFRoZW1lKSB7XHJcbiAgICAgIHRoaXMuYXBwbGljYXRpb25UaGVtZSA9IGRlZmF1bHRBcHBUaGVtZTtcclxuICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHZhbHVlOiBTbGlkZXJWYWx1ZSA9IHsgc3RhcnQ6IDAsIGVuZDogMTAwIH07XHJcbiAgcHJvdGVjdGVkIHRyYW5zbGF0aW9uQ29udGV4dCA9ICdTTElERVIuJztcclxuICBwcm90ZWN0ZWQgdG91Y2hlZENvbnRyb2xOYW1lID0gJyc7XHJcblxyXG4gIG9uQ2hhbmdlOiAodmFsdWU6IFNsaWRlclZhbHVlKSA9PiB2b2lkID0gKCkgPT4ge307XHJcbiAgb25Ub3VjaDogKCkgPT4gdm9pZCA9ICgpID0+IHt9O1xyXG5cclxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiAodmFsdWU6IFNsaWRlclZhbHVlKSA9PiB2b2lkKTogdm9pZCB7XHJcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogKCkgPT4gdm9pZCk6IHZvaWQge1xyXG4gICAgdGhpcy5vblRvdWNoID0gZm47XHJcbiAgfVxyXG5cclxuICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xyXG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XHJcbiAgfVxyXG5cclxuICB3cml0ZVZhbHVlKHZhbHVlOiBTbGlkZXJWYWx1ZSk6IHZvaWQge1xyXG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xyXG4gICAgdGhpcy5zbGlkZXJFbmQgPSB2YWx1ZS5lbmQ7XHJcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcclxuICAgIC8vIFVwZGF0ZSBzbGlkZXJTdGFydCBpbiBhIHNlcGFyYXRlIGRldGVjdGlvbiBjeWNsZSB0byBlbnN1cmUgcHJvcGVyIHJlbmRlcmluZyBvIG1hdC1zbGlkZXJcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICB0aGlzLnNsaWRlclN0YXJ0ID0gdmFsdWUuc3RhcnQ7XHJcbiAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgb25WYWx1ZUNoYW5nZShldj86IG51bWJlcik6IHZvaWQge1xyXG4gICAgY29uc3QgdmFsdWU6IFNsaWRlclZhbHVlID0geyBzdGFydDogK3RoaXMuc2xpZGVyU3RhcnQsIGVuZDogK3RoaXMuc2xpZGVyRW5kIH07XHJcblxyXG4gICAgaWYgKGV2KSB7XHJcbiAgICAgIHZhbHVlLnN0YXJ0ID0gZXY7XHJcbiAgICAgIHZhbHVlLmVuZCA9IDA7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xyXG4gICAgdGhpcy5vbkNoYW5nZSh2YWx1ZSk7XHJcbiAgICB0aGlzLnNsaWRlclZhbHVlQ2hhbmdlLmVtaXQodmFsdWUpO1xyXG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgb25JbnB1dEJsdXIoaW5wdXROYW1lOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMudG91Y2hlZENvbnRyb2xOYW1lID0gaW5wdXROYW1lO1xyXG4gICAgY29uc3QgdmFsdWU6IFNsaWRlclZhbHVlID0geyBzdGFydDogK3RoaXMuc2xpZGVyU3RhcnQsIGVuZDogK3RoaXMuc2xpZGVyRW5kIH07XHJcblxyXG4gICAgaWYgKCF0aGlzLmhhc0Vycm9yICYmIHRoaXMuaXNWYWx1ZUNoYW5nZWQodmFsdWUpKSB7XHJcbiAgICAgIHRoaXMub25WYWx1ZUNoYW5nZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIG9uSW5wdXRGb2N1cygpOiB2b2lkIHtcclxuICAgIHRoaXMudG91Y2hlZENvbnRyb2xOYW1lID0gJyc7XHJcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaXNWYWx1ZUNoYW5nZWQodmFsdWU6IFNsaWRlclZhbHVlKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy52YWx1ZS5zdGFydCAhPT0gdmFsdWUuc3RhcnQgfHwgdGhpcy52YWx1ZS5lbmQgIT09IHZhbHVlLmVuZDtcclxuICB9XHJcblxyXG4gIGdldCBoYXNFcnJvcigpOiBib29sZWFuIHtcclxuICAgIHJldHVybiAoXHJcbiAgICAgIHRoaXMubWF4IDwgK3RoaXMuc2xpZGVyRW5kIHx8XHJcbiAgICAgIHRoaXMubWluID4gK3RoaXMuc2xpZGVyU3RhcnQgfHxcclxuICAgICAgdGhpcy5taW4gPiArdGhpcy5zbGlkZXJFbmQgfHxcclxuICAgICAgdGhpcy5tYXggPCArdGhpcy5zbGlkZXJTdGFydCB8fFxyXG4gICAgICArdGhpcy5zbGlkZXJFbmQgPCArdGhpcy5zbGlkZXJTdGFydFxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGdldCBpc0Jhc2ljU2xpZGVyKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMudmFyaWFudCA9PT0gJ2Jhc2ljJztcclxuICB9XHJcbn1cclxuIiwiPG5nLWNvbnRhaW5lcj5cclxuICA8ZGl2XHJcbiAgICBjbGFzcz1cInNsaWRlci1jb250YWluZXJcIlxyXG4gICAgW2F0dHIudGhlbWVdPVwiYXBwbGljYXRpb25UaGVtZVwiXHJcbiAgICBbbmdDbGFzc109XCJ7IGRpc2FibGVkOiBkaXNhYmxlZCwgZXJyb3I6IGhhc0Vycm9yICYmIHRvdWNoZWRDb250cm9sTmFtZSB9XCJcclxuICA+XHJcbiAgICA8ZGl2IGNsYXNzPVwic2xpZGVyLWxhYmVsXCIgKm5nSWY9XCJsYWJlbFwiPnt7IGxhYmVsIH19PC9kaXY+XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cInNsaWRlclwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwibWluLXZhbHVlXCIgKm5nSWY9XCIhaXNCYXNpY1NsaWRlclwiPnt7IHBlcmNlbnRhZ2UgPyBtaW4gKyAnJScgOiBtaW4gfX08L2Rpdj5cclxuICAgICAgPG1hdC1zbGlkZXJcclxuICAgICAgICBbZGlzYWJsZVJpcHBsZV09XCJhcHBsaWNhdGlvblRoZW1lICE9PSAnY2xhc3NpYydcIlxyXG4gICAgICAgICNzbGlkZXJFbGVtZW50XHJcbiAgICAgICAgZGlzY3JldGVcclxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gICAgICAgIFttYXhdPVwibWF4XCJcclxuICAgICAgICBbbWluXT1cIm1pblwiXHJcbiAgICAgICAgW3N0ZXBdPVwic3RlcFwiXHJcbiAgICAgICAgKG1vdXNlZW50ZXIpPVwic2xpZGVyRWxlbWVudC5kaXNjcmV0ZSA9IHRydWVcIlxyXG4gICAgICAgIChtb3VzZWxlYXZlKT1cInNsaWRlckVsZW1lbnQuZGlzY3JldGUgPSBmYWxzZVwiXHJcbiAgICAgID5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNCYXNpY1NsaWRlcjsgZWxzZSByYW5nZVRlbXBsYXRlXCI+XHJcbiAgICAgICAgICA8aW5wdXQgW2Rpc2FibGVkXT1cImRpc2FibGVkXCIgKHZhbHVlQ2hhbmdlKT1cIm9uVmFsdWVDaGFuZ2UoJGV2ZW50KVwiIFsobmdNb2RlbCldPVwic2xpZGVyU3RhcnRcIiBtYXRTbGlkZXJUaHVtYiAvPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgICAgICA8bmctdGVtcGxhdGUgI3JhbmdlVGVtcGxhdGU+XHJcbiAgICAgICAgICA8aW5wdXQgW2Rpc2FibGVkXT1cImRpc2FibGVkXCIgKHZhbHVlQ2hhbmdlKT1cIm9uVmFsdWVDaGFuZ2UoKVwiIFsobmdNb2RlbCldPVwic2xpZGVyU3RhcnRcIiBtYXRTbGlkZXJTdGFydFRodW1iIC8+XHJcbiAgICAgICAgICA8aW5wdXQgW2Rpc2FibGVkXT1cImRpc2FibGVkXCIgKHZhbHVlQ2hhbmdlKT1cIm9uVmFsdWVDaGFuZ2UoKVwiIFsobmdNb2RlbCldPVwic2xpZGVyRW5kXCIgbWF0U2xpZGVyRW5kVGh1bWIgLz5cclxuICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICA8L21hdC1zbGlkZXI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJtYXgtdmFsdWVcIiAqbmdJZj1cIiFpc0Jhc2ljU2xpZGVyXCI+e3sgcGVyY2VudGFnZSA/IG1heCArICclJyA6IG1heCB9fTwvZGl2PlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cInNsaWRlci1pbnB1dFwiICpuZ0lmPVwic2hvd0lucHV0cyAmJiAhdGhpcy5pc0Jhc2ljU2xpZGVyXCI+XHJcbiAgICAgIDxtYXQtZm9ybS1maWVsZCBbYXBwZWFyYW5jZV09XCInb3V0bGluZSdcIj5cclxuICAgICAgICA8bWF0LWxhYmVsPnt7ICdDT01NT04uTUlOJyB8IHVpVHJhbnNsYXRlIHwgYXN5bmMgfX0gPHNwYW4gKm5nSWY9XCJwZXJjZW50YWdlXCI+JTwvc3Bhbj48L21hdC1sYWJlbD5cclxuICAgICAgICA8aW5wdXRcclxuICAgICAgICAgIG1hdElucHV0XHJcbiAgICAgICAgICBbdHlwZV09XCInbnVtYmVyJ1wiXHJcbiAgICAgICAgICBbKG5nTW9kZWwpXT1cInNsaWRlclN0YXJ0XCJcclxuICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcbiAgICAgICAgICAoZm9jdXMpPVwib25JbnB1dEZvY3VzKClcIlxyXG4gICAgICAgICAgKGJsdXIpPVwib25JbnB1dEJsdXIoJ3N0YXJ0JylcIlxyXG4gICAgICAgICAgKGtleWRvd24uZW50ZXIpPVwib25JbnB1dEJsdXIoJ3N0YXJ0JylcIlxyXG4gICAgICAgICAgW2FsbG93T25seURpZ2l0c109XCJ0cnVlXCJcclxuICAgICAgICAgIGRpZ2l0c09ubHlcclxuICAgICAgICAvPlxyXG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG5cclxuICAgICAgPG1hdC1mb3JtLWZpZWxkIFthcHBlYXJhbmNlXT1cIidvdXRsaW5lJ1wiPlxyXG4gICAgICAgIDxtYXQtbGFiZWw+e3sgJ0NPTU1PTi5NQVgnIHwgdWlUcmFuc2xhdGUgfCBhc3luYyB9fSA8c3BhbiAqbmdJZj1cInBlcmNlbnRhZ2VcIj4lPC9zcGFuPjwvbWF0LWxhYmVsPlxyXG4gICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgbWF0SW5wdXRcclxuICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcbiAgICAgICAgICBbdHlwZV09XCInbnVtYmVyJ1wiXHJcbiAgICAgICAgICBbKG5nTW9kZWwpXT1cInNsaWRlckVuZFwiXHJcbiAgICAgICAgICAoZm9jdXMpPVwib25JbnB1dEZvY3VzKClcIlxyXG4gICAgICAgICAgKGJsdXIpPVwib25JbnB1dEJsdXIoJ2VuZCcpXCJcclxuICAgICAgICAgIChrZXlkb3duLmVudGVyKT1cIm9uSW5wdXRCbHVyKCdlbmQnKVwiXHJcbiAgICAgICAgICBbYWxsb3dPbmx5RGlnaXRzXT1cInRydWVcIlxyXG4gICAgICAgICAgZGlnaXRzT25seVxyXG4gICAgICAgICAgZGF0YS10ZXN0aWQ9XCJzbGlkZXIuaW5wdXQtZW5kXCJcclxuICAgICAgICAvPlxyXG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPG1hdC1lcnJvciBjbGFzcz1cInNsaWRlci1lcnJvcnNcIiAqbmdJZj1cImhhc0Vycm9yICYmIHRvdWNoZWRDb250cm9sTmFtZVwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwidmFsaWRhdGlvbi1lcnJvclwiICpuZ0lmPVwidG91Y2hlZENvbnRyb2xOYW1lID09PSAnc3RhcnQnICYmIHNsaWRlclN0YXJ0ID4gc2xpZGVyRW5kXCI+XHJcbiAgICAgICAgPHVpLWljb24gW25hbWVdPVwiJ0luZm8nXCI+PC91aS1pY29uPlxyXG4gICAgICAgIDxzcGFuPnt7XHJcbiAgICAgICAgICB0cmFuc2xhdGlvbkNvbnRleHQgKyAnTUlOX01PUkVfVEhBTl9NQVgnIHwgdWlUcmFuc2xhdGU6IHsgbWluOiBzbGlkZXJTdGFydCwgbWF4OiBzbGlkZXJFbmQgfSB8IGFzeW5jXHJcbiAgICAgICAgfX08L3NwYW4+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPGRpdiBjbGFzcz1cInZhbGlkYXRpb24tZXJyb3JcIiAqbmdJZj1cInRvdWNoZWRDb250cm9sTmFtZSA9PT0gJ2VuZCcgJiYgc2xpZGVyU3RhcnQgPiBzbGlkZXJFbmRcIj5cclxuICAgICAgICA8dWktaWNvbiBbbmFtZV09XCInSW5mbydcIj48L3VpLWljb24+XHJcbiAgICAgICAgPHNwYW4+e3tcclxuICAgICAgICAgIHRyYW5zbGF0aW9uQ29udGV4dCArICdNQVhfTEVTU19USEFOX01JTicgfCB1aVRyYW5zbGF0ZTogeyBtaW46IHNsaWRlclN0YXJ0LCBtYXg6IHNsaWRlckVuZCB9IHwgYXN5bmNcclxuICAgICAgICB9fTwvc3Bhbj5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8ZGl2IGNsYXNzPVwidmFsaWRhdGlvbi1lcnJvclwiICpuZ0lmPVwic2xpZGVyU3RhcnQgPCBtaW5cIj5cclxuICAgICAgICA8dWktaWNvbiBbbmFtZV09XCInSW5mbydcIj48L3VpLWljb24+XHJcbiAgICAgICAgPHNwYW4+e3sgJ0NPTU1PTi5NSU4nIHwgdWlUcmFuc2xhdGUgfCBhc3luYyB9fSB7eyBtaW4gfX08L3NwYW4+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwidmFsaWRhdGlvbi1lcnJvclwiICpuZ0lmPVwic2xpZGVyRW5kID4gbWF4XCI+XHJcbiAgICAgICAgPHVpLWljb24gW25hbWVdPVwiJ0luZm8nXCI+PC91aS1pY29uPlxyXG4gICAgICAgIDxzcGFuPnt7ICdDT01NT04uTUFYJyB8IHVpVHJhbnNsYXRlIHwgYXN5bmMgfX0ge3sgbWF4IH19PC9zcGFuPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvbWF0LWVycm9yPlxyXG4gIDwvZGl2PlxyXG48L25nLWNvbnRhaW5lcj5cclxuIl19
|
|
252
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rnby1jYW5vcHktdWkvY29tcG9uZW50cy9zbGlkZXIvc2xpZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rnby1jYW5vcHktdWkvY29tcG9uZW50cy9zbGlkZXIvc2xpZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDNUQsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFlBQVksRUFDWixVQUFVLEVBQ1YsTUFBTSxFQUNOLE1BQU0sRUFDTixLQUFLLEVBQ0wsS0FBSyxFQUNMLFFBQVEsRUFDUixNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUVMLFdBQVcsRUFDWCxhQUFhLEVBQ2IsaUJBQWlCLEdBR2xCLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsY0FBYyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQzVELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBRTdFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7Ozs7Ozs7QUFtQ3BFLE1BQU0sT0FBTyxlQUFlO0lBd0cxQixZQUM2RSxlQUFpQztRQUFqQyxvQkFBZSxHQUFmLGVBQWUsQ0FBa0I7UUF4RzlHOzs7OztXQUtHO1FBQ00sUUFBRyxHQUFHLEdBQUcsQ0FBQztRQUVuQjs7Ozs7V0FLRztRQUNNLFFBQUcsR0FBRyxDQUFDLENBQUM7UUFFakI7Ozs7O1dBS0c7UUFDTSxlQUFVLEdBQUcsS0FBSyxDQUFDO1FBRTVCOzs7OztXQUtHO1FBQ00sYUFBUSxHQUFHLEtBQUssQ0FBQztRQUUxQjs7Ozs7V0FLRztRQUNNLGdCQUFXLEdBQUcsQ0FBQyxDQUFDO1FBRXpCOzs7OztXQUtHO1FBQ00sY0FBUyxHQUFHLEdBQUcsQ0FBQztRQUV6Qjs7Ozs7V0FLRztRQUNNLFVBQUssR0FBRyxFQUFFLENBQUM7UUFFcEI7Ozs7O1dBS0c7UUFDTSxlQUFVLEdBQUcsSUFBSSxDQUFDO1FBRTNCOzs7OztXQUtHO1FBQ00sU0FBSSxHQUFHLENBQUMsQ0FBQztRQUVsQjs7Ozs7O1dBTUc7UUFDTSxxQkFBZ0IsR0FBcUIsT0FBTyxDQUFDO1FBRXREOzs7Ozs7V0FNRztRQUNNLFlBQU8sR0FBa0IsT0FBTyxDQUFDO1FBRTFDLGVBQVUsR0FBRyxLQUFLLENBQVUsS0FBSyxDQUFDLENBQUM7UUFFbkMsYUFBUSxHQUFHLEtBQUssRUFBVSxDQUFDO1FBRTNCLGFBQVEsR0FBRyxLQUFLLEVBQVUsQ0FBQztRQUUzQixlQUFVLEdBQUcsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRWIsc0JBQWlCLEdBQUcsSUFBSSxZQUFZLEVBQWUsQ0FBQztRQUU5RCxRQUFHLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDaEMsZ0JBQVcsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7UUFZMUIsVUFBSyxHQUFnQixFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDO1FBQzFDLHVCQUFrQixHQUFHLFNBQVMsQ0FBQztRQUMvQix1QkFBa0IsR0FBRyxFQUFFLENBQUM7UUFFbEMsYUFBUSxHQUFpQyxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUM7UUFDbEQsWUFBTyxHQUFlLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztRQVo3QixJQUFJLGVBQWUsRUFBRSxDQUFDO1lBQ3BCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxlQUFlLENBQUM7WUFDeEMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUMxQixDQUFDO1FBQ0QsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBU0QsZ0JBQWdCLENBQUMsRUFBZ0M7UUFDL0MsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVELGlCQUFpQixDQUFDLEVBQWM7UUFDOUIsSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7SUFDcEIsQ0FBQztJQUVELGdCQUFnQixDQUFDLFVBQW1CO1FBQ2xDLElBQUksQ0FBQyxRQUFRLEdBQUcsVUFBVSxDQUFDO1FBQzNCLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVELFVBQVUsQ0FBQyxLQUFrQjtRQUMzQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUM7UUFDM0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN4QiwyRkFBMkY7UUFDM0YsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQztZQUMvQixJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQzFCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVTLGFBQWEsQ0FBQyxFQUFXO1FBQ2pDLE1BQU0sS0FBSyxHQUFnQixFQUFFLEtBQUssRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBRTlFLElBQUksRUFBRSxFQUFFLENBQUM7WUFDUCxLQUFLLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztZQUNqQixLQUFLLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQztRQUNoQixDQUFDO1FBRUQsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyQixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ25DLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ2pCLENBQUM7SUFFUyxXQUFXLENBQUMsU0FBaUI7UUFDckMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLFNBQVMsQ0FBQztRQUNwQyxNQUFNLEtBQUssR0FBZ0IsRUFBRSxLQUFLLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUU5RSxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUMvQixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDdkIsQ0FBQztJQUNILENBQUM7SUFFUyxZQUFZO1FBQ3BCLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxFQUFFLENBQUM7UUFDN0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRU8sY0FBYyxDQUFDLEtBQWtCO1FBQ3ZDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEtBQUssS0FBSyxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsS0FBSyxLQUFLLENBQUMsR0FBRyxDQUFDO0lBQzFFLENBQUM7SUFFRCxJQUFJLFFBQVE7UUFDVixPQUFPLENBQ0wsSUFBSSxDQUFDLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTO1lBQzFCLElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVztZQUM1QixJQUFJLENBQUMsR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVM7WUFDMUIsSUFBSSxDQUFDLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQyxXQUFXO1lBQzVCLENBQUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQ3BDLENBQUM7SUFDSixDQUFDO0lBRUQsSUFBSSxhQUFhO1FBQ2YsT0FBTyxJQUFJLENBQUMsT0FBTyxLQUFLLE9BQU8sQ0FBQztJQUNsQyxDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQWE7UUFDdkIsT0FBTyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsSUFBSSxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMvRyxDQUFDO0lBRUQsUUFBUSxDQUFDLE9BQXdCO1FBQy9CLE9BQU8sSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLEVBQUUsYUFBYSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDbkYsQ0FBQzsrR0F0TVUsZUFBZSxrQkF5R0osb0NBQW9DO21HQXpHL0MsZUFBZSx5aEVBNUJmO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxlQUFlLENBQUM7Z0JBQzlDLEtBQUssRUFBRSxJQUFJO2FBQ1o7WUFDRDtnQkFDRSxPQUFPLEVBQUUsYUFBYTtnQkFDdEIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxlQUFlLENBQUM7Z0JBQzlDLEtBQUssRUFBRSxJQUFJO2FBQ1o7WUFDRCxjQUFjLEVBQUU7WUFDaEIsV0FBVztTQUNaLDBCQ2pESCw2ME1BeUxBLDI3UERwSUksWUFBWSw4VEFDWixlQUFlLDRqQkFDZixXQUFXLDhtQkFDWCxjQUFjLG10QkFDZCxnQkFBZ0IsOEJBQ2hCLG1CQUFtQiw4TEFDbkIsZUFBZSxvREFDZixtQkFBbUIsdUhBQ25CLGdCQUFnQjs7NEZBR1AsZUFBZTtrQkFoQzNCLFNBQVM7K0JBQ0UsV0FBVyxhQUdWO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLGdCQUFnQixDQUFDOzRCQUM5QyxLQUFLLEVBQUUsSUFBSTt5QkFDWjt3QkFDRDs0QkFDRSxPQUFPLEVBQUUsYUFBYTs0QkFDdEIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsZ0JBQWdCLENBQUM7NEJBQzlDLEtBQUssRUFBRSxJQUFJO3lCQUNaO3dCQUNELGNBQWMsRUFBRTt3QkFDaEIsV0FBVztxQkFDWixtQkFDZ0IsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixlQUFlO3dCQUNmLFdBQVc7d0JBQ1gsY0FBYzt3QkFDZCxnQkFBZ0I7d0JBQ2hCLG1CQUFtQjt3QkFDbkIsZUFBZTt3QkFDZixtQkFBbUI7d0JBQ25CLGdCQUFnQjtxQkFDakI7OzBCQTJHRSxRQUFROzswQkFBSSxNQUFNOzJCQUFDLG9DQUFvQzt5Q0FsR2pELEdBQUc7c0JBQVgsS0FBSztnQkFRRyxHQUFHO3NCQUFYLEtBQUs7Z0JBUUcsVUFBVTtzQkFBbEIsS0FBSztnQkFRRyxRQUFRO3NCQUFoQixLQUFLO2dCQVFHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBUUcsU0FBUztzQkFBakIsS0FBSztnQkFRRyxLQUFLO3NCQUFiLEtBQUs7Z0JBUUcsVUFBVTtzQkFBbEIsS0FBSztnQkFRRyxJQUFJO3NCQUFaLEtBQUs7Z0JBU0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQVNHLE9BQU87c0JBQWYsS0FBSztnQkFVSSxpQkFBaUI7c0JBQTFCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUsIERlY2ltYWxQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDb21wb25lbnQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIGZvcndhcmRSZWYsXHJcbiAgaW5qZWN0LFxyXG4gIEluamVjdCxcclxuICBpbnB1dCxcclxuICBJbnB1dCxcclxuICBPcHRpb25hbCxcclxuICBPdXRwdXQsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgQWJzdHJhY3RDb250cm9sLFxyXG4gIEZvcm1zTW9kdWxlLFxyXG4gIE5HX1ZBTElEQVRPUlMsXHJcbiAgTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgVmFsaWRhdGlvbkVycm9ycyxcclxuICBWYWxpZGF0b3IsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcclxuaW1wb3J0IHsgTWF0U2xpZGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2xpZGVyJztcclxuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xyXG5pbXBvcnQgeyBOZ3hNYXNrRGlyZWN0aXZlLCBwcm92aWRlTmd4TWFzayB9IGZyb20gJ25neC1tYXNrJztcclxuaW1wb3J0IHsgRGlnaXRzT25seURpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMvZGlnaXRzLW9ubHkuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgQXBwbGljYXRpb25UaGVtZSB9IGZyb20gJy4uLy4uL21vZGVscy9hcHBsaWNhdGlvbi10aGVtZS5tb2RlbCc7XHJcbmltcG9ydCB7IFVpVHJhbnNsYXRlUGlwZSB9IGZyb20gJy4uLy4uL3BpcGVzL3VpLXRyYW5zbGF0ZS5waXBlJztcclxuaW1wb3J0IHsgSWNvbkNvbXBvbmVudE1vZHVsZSB9IGZyb20gJy4uL2ljb24vaWNvbi5jb21wb25lbnQubW9kdWxlJztcclxuaW1wb3J0IHsgU2xpZGVyVmFsdWUsIFNsaWRlclZhcmlhbnQgfSBmcm9tICcuL3NsaWRlci5tb2RlbCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3VpLXNsaWRlcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3NsaWRlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vc2xpZGVyLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTbGlkZXJDb21wb25lbnQpLFxyXG4gICAgICBtdWx0aTogdHJ1ZSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXHJcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFNsaWRlckNvbXBvbmVudCksXHJcbiAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgfSxcclxuICAgIHByb3ZpZGVOZ3hNYXNrKCksXHJcbiAgICBEZWNpbWFsUGlwZSxcclxuICBdLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgTWF0U2xpZGVyTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBNYXRJbnB1dE1vZHVsZSxcclxuICAgIE1hdFRvb2x0aXBNb2R1bGUsXHJcbiAgICBJY29uQ29tcG9uZW50TW9kdWxlLFxyXG4gICAgVWlUcmFuc2xhdGVQaXBlLFxyXG4gICAgRGlnaXRzT25seURpcmVjdGl2ZSxcclxuICAgIE5neE1hc2tEaXJlY3RpdmUsXHJcbiAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNsaWRlckNvbXBvbmVudCBpbXBsZW1lbnRzIFZhbGlkYXRvciB7XHJcbiAgLyoqXHJcbiAgICogVGhlIG1heGltdW0gdmFsdWUgb2YgdGhlIHNsaWRlci5cclxuICAgKlxyXG4gICAqIEB0eXBlIHtudW1iZXJ9XHJcbiAgICogQGRlZmF1bHQgMTAwXHJcbiAgICovXHJcbiAgQElucHV0KCkgbWF4ID0gMTAwO1xyXG5cclxuICAvKipcclxuICAgKiBUaGUgbWluaW11bSB2YWx1ZSBvZiB0aGUgc2xpZGVyLlxyXG4gICAqXHJcbiAgICogQHR5cGUge251bWJlcn1cclxuICAgKiBAZGVmYXVsdCAwXHJcbiAgICovXHJcbiAgQElucHV0KCkgbWluID0gMDtcclxuXHJcbiAgLyoqXHJcbiAgICogQSBmbGFnIGluZGljYXRpbmcgd2hldGhlciB0aGUgc2xpZGVyIGRpc3BsYXlzIHZhbHVlcyBhcyBwZXJjZW50YWdlcy5cclxuICAgKlxyXG4gICAqIEB0eXBlIHtib29sZWFufVxyXG4gICAqIEBkZWZhdWx0IHRydWVcclxuICAgKi9cclxuICBASW5wdXQoKSBwZXJjZW50YWdlID0gZmFsc2U7XHJcblxyXG4gIC8qKlxyXG4gICAqIEEgZmxhZyBpbmRpY2F0aW5nIHdoZXRoZXIgdGhlIHNsaWRlciBpcyBkaXNhYmxlZC5cclxuICAgKlxyXG4gICAqIEB0eXBlIHtib29sZWFufVxyXG4gICAqIEBkZWZhdWx0IHRydWVcclxuICAgKi9cclxuICBASW5wdXQoKSBkaXNhYmxlZCA9IGZhbHNlO1xyXG5cclxuICAvKipcclxuICAgKiBUaGUgc3RhcnRpbmcgdmFsdWUgb2YgdGhlIHNsaWRlci5cclxuICAgKlxyXG4gICAqIEB0eXBlIHtudW1iZXJ9XHJcbiAgICogQGRlZmF1bHQgMFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHNsaWRlclN0YXJ0ID0gMDtcclxuXHJcbiAgLyoqXHJcbiAgICogVGhlIGVuZGluZyB2YWx1ZSBvZiB0aGUgc2xpZGVyLlxyXG4gICAqXHJcbiAgICogQHR5cGUge251bWJlcn1cclxuICAgKiBAZGVmYXVsdCAxMDBcclxuICAgKi9cclxuICBASW5wdXQoKSBzbGlkZXJFbmQgPSAxMDA7XHJcblxyXG4gIC8qKlxyXG4gICAqIFRoZSBsYWJlbCBmb3IgdGhlIHNsaWRlci5cclxuICAgKlxyXG4gICAqIEB0eXBlIHtzdHJpbmd9XHJcbiAgICogQGRlZmF1bHQgJydcclxuICAgKi9cclxuICBASW5wdXQoKSBsYWJlbCA9ICcnO1xyXG5cclxuICAvKipcclxuICAgKiBTaG93IHNsaWRlciBpbnB1dHMuXHJcbiAgICpcclxuICAgKiBAdHlwZSB7Ym9vbGVhbn1cclxuICAgKiBAZGVmYXVsdCB0cnVlXHJcbiAgICovXHJcbiAgQElucHV0KCkgc2hvd0lucHV0cyA9IHRydWU7XHJcblxyXG4gIC8qKlxyXG4gICAqIFN0ZXAgbnVtYmVyLlxyXG4gICAqXHJcbiAgICogQHR5cGUge251bWJlcn1cclxuICAgKiBAZGVmYXVsdCAxXHJcbiAgICovXHJcbiAgQElucHV0KCkgc3RlcCA9IDE7XHJcblxyXG4gIC8qKlxyXG4gICAqXHJcbiAgICogRGVmaW5lcyB0aGUgYXBwbGljYXRpb24gdGhlbWVcclxuICAgKlxyXG4gICAqIEB0eXBlIHtBcHBsaWNhdGlvblRoZW1lfVxyXG4gICAqIEBtZW1iZXJvZiBTbGlkZXJDb21wb25lbnRcclxuICAgKi9cclxuICBASW5wdXQoKSBhcHBsaWNhdGlvblRoZW1lOiBBcHBsaWNhdGlvblRoZW1lID0gJ2xpZ2h0JztcclxuXHJcbiAgLyoqXHJcbiAgICpcclxuICAgKiBEZWZpbmVzIHRoZSB2YXJpYW50IHNsaWRlclxyXG4gICAqXHJcbiAgICogQHR5cGUge1NsaWRlclZhcmlhbnR9XHJcbiAgICogQG1lbWJlcm9mIFNsaWRlckNvbXBvbmVudFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHZhcmlhbnQ6IFNsaWRlclZhcmlhbnQgPSAncmFuZ2UnO1xyXG5cclxuICB1c2VEZWNpbWFsID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xyXG5cclxuICBtaW5MYWJlbCA9IGlucHV0PHN0cmluZz4oKTtcclxuXHJcbiAgbWF4TGFiZWwgPSBpbnB1dDxzdHJpbmc+KCk7XHJcblxyXG4gIGlucHV0V2lkdGggPSBpbnB1dCg4MCk7XHJcblxyXG4gIEBPdXRwdXQoKSBzbGlkZXJWYWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8U2xpZGVyVmFsdWU+KCk7XHJcblxyXG4gIGNkciA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XHJcbiAgZGVjaW1hbFBpcGUgPSBpbmplY3QoRGVjaW1hbFBpcGUpO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoJ0NBTk9QWVVJX0RFRkFVTFRfQVBQTElDQVRJT05fVEhFTUUnKSBwcml2YXRlIHJlYWRvbmx5IGRlZmF1bHRBcHBUaGVtZTogQXBwbGljYXRpb25UaGVtZVxyXG4gICkge1xyXG4gICAgaWYgKGRlZmF1bHRBcHBUaGVtZSkge1xyXG4gICAgICB0aGlzLmFwcGxpY2F0aW9uVGhlbWUgPSBkZWZhdWx0QXBwVGhlbWU7XHJcbiAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5mb3JtYXRMYWJlbCA9IHRoaXMuZm9ybWF0TGFiZWwuYmluZCh0aGlzKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgdmFsdWU6IFNsaWRlclZhbHVlID0geyBzdGFydDogMCwgZW5kOiAxMDAgfTtcclxuICBwcm90ZWN0ZWQgdHJhbnNsYXRpb25Db250ZXh0ID0gJ1NMSURFUi4nO1xyXG4gIHByb3RlY3RlZCB0b3VjaGVkQ29udHJvbE5hbWUgPSAnJztcclxuXHJcbiAgb25DaGFuZ2U6ICh2YWx1ZTogU2xpZGVyVmFsdWUpID0+IHZvaWQgPSAoKSA9PiB7fTtcclxuICBvblRvdWNoOiAoKSA9PiB2b2lkID0gKCkgPT4ge307XHJcblxyXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46ICh2YWx1ZTogU2xpZGVyVmFsdWUpID0+IHZvaWQpOiB2b2lkIHtcclxuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XHJcbiAgICB0aGlzLm9uVG91Y2ggPSBmbjtcclxuICB9XHJcblxyXG4gIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XHJcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcclxuICB9XHJcblxyXG4gIHdyaXRlVmFsdWUodmFsdWU6IFNsaWRlclZhbHVlKTogdm9pZCB7XHJcbiAgICB0aGlzLnZhbHVlID0gdmFsdWU7XHJcbiAgICB0aGlzLnNsaWRlckVuZCA9IHZhbHVlLmVuZDtcclxuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgLy8gVXBkYXRlIHNsaWRlclN0YXJ0IGluIGEgc2VwYXJhdGUgZGV0ZWN0aW9uIGN5Y2xlIHRvIGVuc3VyZSBwcm9wZXIgcmVuZGVyaW5nIG8gbWF0LXNsaWRlclxyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMuc2xpZGVyU3RhcnQgPSB2YWx1ZS5zdGFydDtcclxuICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBvblZhbHVlQ2hhbmdlKGV2PzogbnVtYmVyKTogdm9pZCB7XHJcbiAgICBjb25zdCB2YWx1ZTogU2xpZGVyVmFsdWUgPSB7IHN0YXJ0OiArdGhpcy5zbGlkZXJTdGFydCwgZW5kOiArdGhpcy5zbGlkZXJFbmQgfTtcclxuXHJcbiAgICBpZiAoZXYpIHtcclxuICAgICAgdmFsdWUuc3RhcnQgPSBldjtcclxuICAgICAgdmFsdWUuZW5kID0gMDtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnZhbHVlID0gdmFsdWU7XHJcbiAgICB0aGlzLm9uQ2hhbmdlKHZhbHVlKTtcclxuICAgIHRoaXMuc2xpZGVyVmFsdWVDaGFuZ2UuZW1pdCh2YWx1ZSk7XHJcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcclxuICAgIHRoaXMub25Ub3VjaCgpO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIG9uSW5wdXRCbHVyKGlucHV0TmFtZTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLnRvdWNoZWRDb250cm9sTmFtZSA9IGlucHV0TmFtZTtcclxuICAgIGNvbnN0IHZhbHVlOiBTbGlkZXJWYWx1ZSA9IHsgc3RhcnQ6ICt0aGlzLnNsaWRlclN0YXJ0LCBlbmQ6ICt0aGlzLnNsaWRlckVuZCB9O1xyXG5cclxuICAgIGlmICh0aGlzLmlzVmFsdWVDaGFuZ2VkKHZhbHVlKSkge1xyXG4gICAgICB0aGlzLm9uVmFsdWVDaGFuZ2UoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBvbklucHV0Rm9jdXMoKTogdm9pZCB7XHJcbiAgICB0aGlzLnRvdWNoZWRDb250cm9sTmFtZSA9ICcnO1xyXG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGlzVmFsdWVDaGFuZ2VkKHZhbHVlOiBTbGlkZXJWYWx1ZSk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMudmFsdWUuc3RhcnQgIT09IHZhbHVlLnN0YXJ0IHx8IHRoaXMudmFsdWUuZW5kICE9PSB2YWx1ZS5lbmQ7XHJcbiAgfVxyXG5cclxuICBnZXQgaGFzRXJyb3IoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gKFxyXG4gICAgICB0aGlzLm1heCA8ICt0aGlzLnNsaWRlckVuZCB8fFxyXG4gICAgICB0aGlzLm1pbiA+ICt0aGlzLnNsaWRlclN0YXJ0IHx8XHJcbiAgICAgIHRoaXMubWluID4gK3RoaXMuc2xpZGVyRW5kIHx8XHJcbiAgICAgIHRoaXMubWF4IDwgK3RoaXMuc2xpZGVyU3RhcnQgfHxcclxuICAgICAgK3RoaXMuc2xpZGVyRW5kIDwgK3RoaXMuc2xpZGVyU3RhcnRcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBnZXQgaXNCYXNpY1NsaWRlcigpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLnZhcmlhbnQgPT09ICdiYXNpYyc7XHJcbiAgfVxyXG5cclxuICBmb3JtYXRMYWJlbCh2YWx1ZTogbnVtYmVyKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLnVzZURlY2ltYWwoKSA/IHRoaXMuZGVjaW1hbFBpcGUudHJhbnNmb3JtKHZhbHVlLCAnMS4wLTAnKSB8fCB2YWx1ZS50b1N0cmluZygpIDogdmFsdWUudG9TdHJpbmcoKTtcclxuICB9XHJcblxyXG4gIHZhbGlkYXRlKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcclxuICAgIHJldHVybiB0aGlzLmhhc0Vycm9yICYmIHRoaXMudG91Y2hlZENvbnRyb2xOYW1lID8geyBpbnZhbGlkU2xpZGVyOiB0cnVlIH0gOiBudWxsO1xyXG4gIH1cclxufVxyXG4iLCI8bmctY29udGFpbmVyPlxyXG4gIDxkaXZcclxuICAgIGNsYXNzPVwic2xpZGVyLWNvbnRhaW5lclwiXHJcbiAgICBbYXR0ci50aGVtZV09XCJhcHBsaWNhdGlvblRoZW1lXCJcclxuICAgIFtuZ0NsYXNzXT1cInsgZGlzYWJsZWQ6IGRpc2FibGVkLCBlcnJvcjogaGFzRXJyb3IgJiYgdG91Y2hlZENvbnRyb2xOYW1lIH1cIlxyXG4gID5cclxuICAgIEBpZiAobGFiZWwpIHtcclxuICAgICAgPGRpdiBjbGFzcz1cInNsaWRlci1sYWJlbFwiPnt7IGxhYmVsIH19PC9kaXY+XHJcbiAgICB9XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cInNsaWRlclwiPlxyXG4gICAgICBAaWYgKCFpc0Jhc2ljU2xpZGVyKSB7XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1pbi12YWx1ZVwiPlxyXG4gICAgICAgICAgPHNwYW4+XHJcbiAgICAgICAgICAgIEBpZiAodXNlRGVjaW1hbCgpKSB7XHJcbiAgICAgICAgICAgICAge3sgbWluIHwgbnVtYmVyIH19XHJcbiAgICAgICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICAgIHt7IG1pbiB9fVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpZiAocGVyY2VudGFnZSkge1xyXG4gICAgICAgICAgICAgICVcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICB9XHJcbiAgICAgIDxtYXQtc2xpZGVyXHJcbiAgICAgICAgW2Rpc2FibGVSaXBwbGVdPVwiYXBwbGljYXRpb25UaGVtZSAhPT0gJ2NsYXNzaWMnXCJcclxuICAgICAgICAjc2xpZGVyRWxlbWVudFxyXG4gICAgICAgIGRpc2NyZXRlXHJcbiAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcclxuICAgICAgICBbbWF4XT1cIm1heFwiXHJcbiAgICAgICAgW21pbl09XCJtaW5cIlxyXG4gICAgICAgIFtzdGVwXT1cInN0ZXBcIlxyXG4gICAgICAgIChtb3VzZWVudGVyKT1cInNsaWRlckVsZW1lbnQuZGlzY3JldGUgPSB0cnVlXCJcclxuICAgICAgICAobW91c2VsZWF2ZSk9XCJzbGlkZXJFbGVtZW50LmRpc2NyZXRlID0gZmFsc2VcIlxyXG4gICAgICAgIFtkaXNwbGF5V2l0aF09XCJmb3JtYXRMYWJlbFwiXHJcbiAgICAgID5cclxuICAgICAgICBAaWYgKGlzQmFzaWNTbGlkZXIpIHtcclxuICAgICAgICAgIDxpbnB1dCBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiAodmFsdWVDaGFuZ2UpPVwib25WYWx1ZUNoYW5nZSgkZXZlbnQpXCIgWyhuZ01vZGVsKV09XCJzbGlkZXJTdGFydFwiIG1hdFNsaWRlclRodW1iIC8+XHJcbiAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICA8aW5wdXQgW2Rpc2FibGVkXT1cImRpc2FibGVkXCIgKHZhbHVlQ2hhbmdlKT1cIm9uVmFsdWVDaGFuZ2UoKVwiIFsobmdNb2RlbCldPVwic2xpZGVyU3RhcnRcIiBtYXRTbGlkZXJTdGFydFRodW1iIC8+XHJcbiAgICAgICAgICA8aW5wdXQgW2Rpc2FibGVkXT1cImRpc2FibGVkXCIgKHZhbHVlQ2hhbmdlKT1cIm9uVmFsdWVDaGFuZ2UoKVwiIFsobmdNb2RlbCldPVwic2xpZGVyRW5kXCIgbWF0U2xpZGVyRW5kVGh1bWIgLz5cclxuICAgICAgICB9XHJcbiAgICAgIDwvbWF0LXNsaWRlcj5cclxuICAgICAgQGlmICghaXNCYXNpY1NsaWRlcikge1xyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtYXgtdmFsdWVcIj5cclxuICAgICAgICAgIDxzcGFuPlxyXG4gICAgICAgICAgICBAaWYgKHVzZURlY2ltYWwoKSkge1xyXG4gICAgICAgICAgICAgIHt7IG1heCB8IG51bWJlciB9fVxyXG4gICAgICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgICB7eyBtYXggfX1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaWYgKHBlcmNlbnRhZ2UpIHtcclxuICAgICAgICAgICAgICAlXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgfVxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgQGlmIChzaG93SW5wdXRzICYmICF0aGlzLmlzQmFzaWNTbGlkZXIpIHtcclxuICAgICAgPGRpdiBjbGFzcz1cInNsaWRlci1pbnB1dFwiPlxyXG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBbYXBwZWFyYW5jZV09XCInb3V0bGluZSdcIiBbbmdTdHlsZV09XCJ7IHdpZHRoOiBpbnB1dFdpZHRoKCkgKyAncHgnIH1cIj5cclxuICAgICAgICAgIEBpZiAobWluTGFiZWwoKSkge1xyXG4gICAgICAgICAgICA8bWF0LWxhYmVsPlxyXG4gICAgICAgICAgICAgIHt7IG1pbkxhYmVsKCkgfX1cclxuICAgICAgICAgICAgICBAaWYgKHBlcmNlbnRhZ2UpIHtcclxuICAgICAgICAgICAgICAgIDxzcGFuPiU8L3NwYW4+XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICA8L21hdC1sYWJlbD5cclxuICAgICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICA8bWF0LWxhYmVsPlxyXG4gICAgICAgICAgICAgIHt7ICdDT01NT04uTUlOJyB8IHVpVHJhbnNsYXRlIHwgYXN5bmMgfX1cclxuICAgICAgICAgICAgICBAaWYgKHBlcmNlbnRhZ2UpIHtcclxuICAgICAgICAgICAgICAgIDxzcGFuPiU8L3NwYW4+XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICA8L21hdC1sYWJlbD5cclxuICAgICAgICAgIH1cclxuICAgICAgICAgIEBpZiAodXNlRGVjaW1hbCgpKSB7XHJcbiAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgIG1hdElucHV0XHJcbiAgICAgICAgICAgICAgW3R5cGVdPVwiJ3RleHQnXCJcclxuICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cInNsaWRlclN0YXJ0XCJcclxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gICAgICAgICAgICAgIChmb2N1cyk9XCJvbklucHV0Rm9jdXMoKVwiXHJcbiAgICAgICAgICAgICAgKGJsdXIpPVwib25JbnB1dEJsdXIoJ3N0YXJ0JylcIlxyXG4gICAgICAgICAgICAgIChrZXlkb3duLmVudGVyKT1cIm9uSW5wdXRCbHVyKCdzdGFydCcpXCJcclxuICAgICAgICAgICAgICBtYXNrPVwic2VwYXJhdG9yLjJcIlxyXG4gICAgICAgICAgICAgIHRob3VzYW5kU2VwYXJhdG9yPVwiLFwiXHJcbiAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgbWF0SW5wdXRcclxuICAgICAgICAgICAgICBbdHlwZV09XCInbnVtYmVyJ1wiXHJcbiAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJzbGlkZXJTdGFydFwiXHJcbiAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcclxuICAgICAgICAgICAgICAoZm9jdXMpPVwib25JbnB1dEZvY3VzKClcIlxyXG4gICAgICAgICAgICAgIChibHVyKT1cIm9uSW5wdXRCbHVyKCdzdGFydCcpXCJcclxuICAgICAgICAgICAgICAoa2V5ZG93bi5lbnRlcik9XCJvbklucHV0Qmx1cignc3RhcnQnKVwiXHJcbiAgICAgICAgICAgICAgW2FsbG93T25seURpZ2l0c109XCJ0cnVlXCJcclxuICAgICAgICAgICAgICBkaWdpdHNPbmx5XHJcbiAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgW2FwcGVhcmFuY2VdPVwiJ291dGxpbmUnXCIgW25nU3R5bGVdPVwieyB3aWR0aDogaW5wdXRXaWR0aCgpICsgJ3B4JyB9XCI+XHJcbiAgICAgICAgICBAaWYgKG1heExhYmVsKCkpIHtcclxuICAgICAgICAgICAgPG1hdC1sYWJlbD5cclxuICAgICAgICAgICAgICB7eyBtYXhMYWJlbCgpIH19XHJcbiAgICAgICAgICAgICAgQGlmIChwZXJjZW50YWdlKSB7XHJcbiAgICAgICAgICAgICAgICA8c3Bhbj4lPC9zcGFuPlxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgPC9tYXQtbGFiZWw+XHJcbiAgICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgPG1hdC1sYWJlbD5cclxuICAgICAgICAgICAgICB7eyAnQ09NTU9OLk1BWCcgfCB1aVRyYW5zbGF0ZSB8IGFzeW5jIH19XHJcbiAgICAgICAgICAgICAgQGlmIChwZXJjZW50YWdlKSB7XHJcbiAgICAgICAgICAgICAgICA8c3Bhbj4lPC9zcGFuPlxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgPC9tYXQtbGFiZWw+XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBAaWYgKHVzZURlY2ltYWwoKSkge1xyXG4gICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICBtYXRJbnB1dFxyXG4gICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcbiAgICAgICAgICAgICAgW3R5cGVdPVwiJ3RleHQnXCJcclxuICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cInNsaWRlckVuZFwiXHJcbiAgICAgICAgICAgICAgKGZvY3VzKT1cIm9uSW5wdXRGb2N1cygpXCJcclxuICAgICAgICAgICAgICAoYmx1cik9XCJvbklucHV0Qmx1cignZW5kJylcIlxyXG4gICAgICAgICAgICAgIChrZXlkb3duLmVudGVyKT1cIm9uSW5wdXRCbHVyKCdlbmQnKVwiXHJcbiAgICAgICAgICAgICAgZGF0YS10ZXN0aWQ9XCJzbGlkZXIuaW5wdXQtZW5kXCJcclxuICAgICAgICAgICAgICBtYXNrPVwic2VwYXJhdG9yLjJcIlxyXG4gICAgICAgICAgICAgIHRob3VzYW5kU2VwYXJhdG9yPVwiLFwiXHJcbiAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgbWF0SW5wdXRcclxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gICAgICAgICAgICAgIFt0eXBlXT1cIidudW1iZXInXCJcclxuICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cInNsaWRlckVuZFwiXHJcbiAgICAgICAgICAgICAgKGZvY3VzKT1cIm9uSW5wdXRGb2N1cygpXCJcclxuICAgICAgICAgICAgICAoYmx1cik9XCJvbklucHV0Qmx1cignZW5kJylcIlxyXG4gICAgICAgICAgICAgIChrZXlkb3duLmVudGVyKT1cIm9uSW5wdXRCbHVyKCdlbmQnKVwiXHJcbiAgICAgICAgICAgICAgW2FsbG93T25seURpZ2l0c109XCJ0cnVlXCJcclxuICAgICAgICAgICAgICBkaWdpdHNPbmx5XHJcbiAgICAgICAgICAgICAgZGF0YS10ZXN0aWQ9XCJzbGlkZXIuaW5wdXQtZW5kXCJcclxuICAgICAgICAgICAgLz5cclxuICAgICAgICAgIH1cclxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIH1cclxuXHJcbiAgICBAaWYgKGhhc0Vycm9yICYmIHRvdWNoZWRDb250cm9sTmFtZSkge1xyXG4gICAgICA8bWF0LWVycm9yIGNsYXNzPVwic2xpZGVyLWVycm9yc1wiPlxyXG4gICAgICAgIEBpZiAodG91Y2hlZENvbnRyb2xOYW1lID09PSAnc3RhcnQnICYmIHNsaWRlclN0YXJ0ID4gc2xpZGVyRW5kKSB7XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidmFsaWRhdGlvbi1lcnJvclwiPlxyXG4gICAgICAgICAgICA8dWktaWNvbiBbbmFtZV09XCInSW5mbydcIj48L3VpLWljb24+XHJcbiAgICAgICAgICAgIDxzcGFuPnt7XHJcbiAgICAgICAgICAgICAgdHJhbnNsYXRpb25Db250ZXh0ICsgJ01JTl9NT1JFX1RIQU5fTUFYJyB8IHVpVHJhbnNsYXRlOiB7IG1pbjogc2xpZGVyU3RhcnQsIG1heDogc2xpZGVyRW5kIH0gfCBhc3luY1xyXG4gICAgICAgICAgICB9fTwvc3Bhbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgKHRvdWNoZWRDb250cm9sTmFtZSA9PT0gJ2VuZCcgJiYgc2xpZGVyU3RhcnQgPiBzbGlkZXJFbmQpIHtcclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2YWxpZGF0aW9uLWVycm9yXCI+XHJcbiAgICAgICAgICAgIDx1aS1pY29uIFtuYW1lXT1cIidJbmZvJ1wiPjwvdWktaWNvbj5cclxuICAgICAgICAgICAgPHNwYW4+e3tcclxuICAgICAgICAgICAgICB0cmFuc2xhdGlvbkNvbnRleHQgKyAnTUFYX0xFU1NfVEhBTl9NSU4nIHwgdWlUcmFuc2xhdGU6IHsgbWluOiBzbGlkZXJTdGFydCwgbWF4OiBzbGlkZXJFbmQgfSB8IGFzeW5jXHJcbiAgICAgICAgICAgIH19PC9zcGFuPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiAoc2xpZGVyU3RhcnQgPCBtaW4pIHtcclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2YWxpZGF0aW9uLWVycm9yXCI+XHJcbiAgICAgICAgICAgIDx1aS1pY29uIFtuYW1lXT1cIidJbmZvJ1wiPjwvdWktaWNvbj5cclxuICAgICAgICAgICAgPHNwYW4+e3sgJ0NPTU1PTi5NSU4nIHwgdWlUcmFuc2xhdGUgfCBhc3luYyB9fSB7eyBtaW4gfX08L3NwYW4+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmIChzbGlkZXJFbmQgPiBtYXgpIHtcclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2YWxpZGF0aW9uLWVycm9yXCI+XHJcbiAgICAgICAgICAgIDx1aS1pY29uIFtuYW1lXT1cIidJbmZvJ1wiPjwvdWktaWNvbj5cclxuICAgICAgICAgICAgPHNwYW4+e3sgJ0NPTU1PTi5NQVgnIHwgdWlUcmFuc2xhdGUgfCBhc3luYyB9fSB7eyBtYXggfX08L3NwYW4+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICB9XHJcbiAgICAgIDwvbWF0LWVycm9yPlxyXG4gICAgfVxyXG4gIDwvZGl2PlxyXG48L25nLWNvbnRhaW5lcj5cclxuIl19
|