@eqproject/eqp-dynamic-module 2.0.9 → 2.0.11

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.
@@ -113,19 +113,31 @@ export class AddFormFieldComponent {
113
113
  }
114
114
  }
115
115
  questionPoll(control) {
116
- if (UtilityHelperService.stringSanitizer(control.value, control.hasValidator(Validators.required))) {
117
- return null;
116
+ // c'è un FormControl che è vuoto che da problemi (probabilmente type Data, campo Formato)
117
+ if (control.value != undefined) {
118
+ if (UtilityHelperService.stringSanitizer(control.value, control.hasValidator(Validators.required))) {
119
+ return null;
120
+ }
121
+ else {
122
+ return { "Missing Parenthesis": true };
123
+ }
118
124
  }
119
125
  else {
120
- return { "Missing Parenthesis": true };
126
+ return null;
121
127
  }
122
128
  }
123
129
  stringSanitaizedValidator(control) {
124
- if (UtilityHelperService.stringSanitizer(control.value, control.hasValidator(Validators.required))) {
125
- return null;
130
+ // c'è un FormControl che è vuoto che da problemi (probabilmente type Data, campo Formato)
131
+ if (control.value != undefined) {
132
+ if (UtilityHelperService.stringSanitizer(control.value, control.hasValidator(Validators.required))) {
133
+ return null;
134
+ }
135
+ else {
136
+ return { "La formula non è valida": true };
137
+ }
126
138
  }
127
139
  else {
128
- return { "La formula non è valida": true };
140
+ return null;
129
141
  }
130
142
  }
131
143
  // getAllFormValidationErrors() {
@@ -605,10 +617,10 @@ export class AddFormFieldComponent {
605
617
  }
606
618
  }
607
619
  AddFormFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: AddFormFieldComponent, deps: [{ token: i1.UntypedFormBuilder }, { token: i2.EnumHelper }, { token: i3.MatDialog }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
608
- AddFormFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.8", type: AddFormFieldComponent, selector: "eqp-dynamic-module-add-form-field", inputs: { field: "field", indexField: "indexField", formFieldsGroups: "formFieldsGroups", availableFields: "availableFields", fieldTypesToExclude: "fieldTypesToExclude" }, outputs: { saveFieldEvent: "saveFieldEvent" }, viewQueries: [{ propertyName: "textFieldFormTemplate", first: true, predicate: ["textFieldFormTemplate"], descendants: true, static: true }, { propertyName: "textareaFieldFormTemplate", first: true, predicate: ["textareaFieldFormTemplate"], descendants: true, static: true }, { propertyName: "booleadFieldFormTemplate", first: true, predicate: ["booleadFieldFormTemplate"], descendants: true, static: true }, { propertyName: "dateFieldFormTemplate", first: true, predicate: ["dateFieldFormTemplate"], descendants: true, static: true }, { propertyName: "numericFieldFormTemplate", first: true, predicate: ["numericFieldFormTemplate"], descendants: true, static: true }, { propertyName: "attachmentFieldFormTemplate", first: true, predicate: ["attachmentFieldFormTemplate"], descendants: true, static: true }, { propertyName: "imageFieldFormTemplate", first: true, predicate: ["imageFieldFormTemplate"], descendants: true, static: true }, { propertyName: "listValueFieldFormTemplate", first: true, predicate: ["listValueFieldFormTemplate"], descendants: true, static: true }, { propertyName: "lookupFieldFormTemplate", first: true, predicate: ["lookupFieldFormTemplate"], descendants: true, static: true }, { propertyName: "dialogFormula", first: true, predicate: ["dialogFormula"], descendants: true, static: true }, { propertyName: "buttonImagesKeyValueInputColumn", first: true, predicate: ["buttonImagesKeyValueInputColumn"], descendants: true, static: true }], ngImport: i0, template: "<div class=\"bigwrapper\" style=\"max-height: 100vh !important; overflow-x: hidden; overflow-y: auto;\">\r\n <div class=\"containerHeader\">\r\n <div class=\"row title\">\r\n <div class=\"header-title-standard\">{{indexField != null && indexField >= 0 ? \"Modifica\"\r\n : \"Aggiungi\"}} campo</div>\r\n </div>\r\n </div>\r\n <div class=\"container-fluid containerContent\">\r\n <form [formGroup]=\"fieldFormGroup\">\r\n <div class=\"row\">\r\n <div class=\"col-sm-12 col-md-4 mt-2 tipoCampo\">\r\n <mat-label>Tipo campo *</mat-label>\r\n <eqp-select [enumData]=\"FieldTypeEnum\" [(ngModelInput)]=\"field.FieldType\" [showCancelButton]=\"false\"\r\n (ngModelInputChange)=\"onFieldTypeChange()\" [formGroupInput]=\"fieldFormGroup\"\r\n [formControlNameInput]=\"'FieldType'\" [enumDataToExclude]=\"fieldTypesToExclude\">\r\n </eqp-select>\r\n </div>\r\n\r\n <div class=\"col-sm-12 col-md-4 mt-2\">\r\n <mat-label> Codice * </mat-label>\r\n <mat-form-field>\r\n <input formControlName=\"Label\" required matInput [(ngModel)]=\"field.Label\" (keypress)=\"omit_special_char($event)\" spellcheck=\"false\" autocomplete=\"off\" (focusout)=\"stringSanitizer(field.Label)\">\r\n <mat-error>\r\n {{ getFormValidationErrors('Label') }}\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"col-sm-12 col-md-4 mt-2\">\r\n <mat-label> Descrizione * </mat-label>\r\n <mat-form-field>\r\n <input name=\"Description\" formControlName=\"Description\" required matInput\r\n [(ngModel)]=\"field.Description\" spellcheck=\"false\" autocomplete=\"off\" (keypress)=\"omit_special_char($event)\" (focusout)=\"stringSanitizer(field.Description)\">\r\n <!-- <mat-error *ngIf=\"!field.Description.valid && field.FormFormGroup.controls[field.Description].touched\"> -->\r\n <mat-error>\r\n {{ getFormValidationErrors('Description') }}\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"col-sm-12 col-md-4 mt-2\">\r\n <mat-label> Tooltip </mat-label>\r\n <mat-form-field>\r\n <input name=\"Tooltip\" formControlName=\"Tooltip\" matInput [(ngModel)]=\"field.Tooltip\" spellcheck=\"false\" autocomplete=\"off\" (keypress)=\"omit_special_char($event)\" (focusout)=\"stringSanitizer(field.Tooltip)\">\r\n <mat-error>\r\n {{ getFormValidationErrors('Tooltip') }}\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"col-sm-12 col-md-4 mt-2\">\r\n <mat-label> Formula (Javascript) </mat-label>\r\n <mat-form-field>\r\n <input formControlName=\"Formula\" matInput [(ngModel)]=\"field.Formula\"\r\n (click)=\"openFormulaDialog()\" spellcheck=\"false\" autocomplete=\"off\" (keypress)=\"omit_special_char($event)\" (focusout)=\"stringSanitizer(field.Formula)\">\r\n <mat-error>\r\n {{ getFormValidationErrors('Formula') }}\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2\" *ngIf=\"formFieldsGroups\">\r\n <mat-label>Sezione</mat-label>\r\n <eqp-select [arrayData]=\"formFieldsGroups\" [(ngModelInput)]=\"field.FieldGroup\"\r\n [arrayKeyProperty]=\"'Name'\" [arrayValueProperty]=\"'Name'\" [formGroupInput]=\"fieldFormGroup\"\r\n [formControlNameInput]=\"'FieldGroup'\" required [includeFullObject]=\"false\">\r\n </eqp-select>\r\n </div>\r\n\r\n <div class=\"col-sm-12 col-md-4 mt-2\">\r\n <mat-label>Larghezza campo</mat-label>\r\n <eqp-select [arrayData]=\"availableColSpanSizes\" [(ngModelInput)]=\"field.ColSpanSizes\"\r\n [arrayKeyProperty]=\"'key'\" [arrayValueProperty]=\"'value'\"\r\n (ngModelInputChange)=\"onColSpanSizeSelect()\" [isMultiSelect]=\"true\"\r\n [formGroupInput]=\"fieldFormGroup\" [formControlNameInput]=\"'ColSpanSizes'\"\r\n [includeFullObject]=\"false\">\r\n </eqp-select>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2\">\r\n <mat-label> Label css </mat-label>\r\n <mat-form-field>\r\n <input name=\"LabelstyleCSS\" formControlName=\"LabelstyleCSS\" matInput\r\n [(ngModel)]=\"field.LabelstyleCSS\" spellcheck=\"false\" autocomplete=\"off\"(keypress)=\"omit_special_char($event)\" (focusout)=\"stringSanitizer(field.LabelstyleCSS)\">\r\n <mat-error>\r\n {{ getFormValidationErrors('LabelstyleCSS') }}\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2\">\r\n <mat-label> Field css </mat-label>\r\n <mat-form-field>\r\n <input name=\"FieldstyleCSS\" formControlName=\"FieldstyleCSS\" matInput\r\n [(ngModel)]=\"field.FieldstyleCSS\" spellcheck=\"false\" autocomplete=\"off\" (keypress)=\"omit_special_char($event)\" (focusout)=\"stringSanitizer(field.FieldstyleCSS)\">\r\n <mat-error>\r\n {{ getFormValidationErrors('FieldstyleCSS') }}\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"col-sm-12 col-md-4 mt-2 align-self-center\">\r\n <mat-slide-toggle [(ngModel)]=\"field.Required\" formControlName=\"Required\" color=\"primary\">\r\n Obbligatorio\r\n </mat-slide-toggle>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2 align-self-center\">\r\n <mat-slide-toggle [(ngModel)]=\"field.Readonly\" formControlName=\"Readonly\" color=\"primary\">\r\n ReadOnly\r\n </mat-slide-toggle>\r\n </div>\r\n\r\n \r\n <div class=\"col-sm-12 col-md-4 mt-2\">\r\n <mat-label> VisibleIf </mat-label>\r\n <mat-form-field>\r\n <input name=\"VisibleIf\" formControlName=\"VisibleIf\" matInput [(ngModel)]=\"field.VisibleIf\"\r\n (click)=\"openVisibleIfDialog()\" spellcheck=\"false\" autocomplete=\"off\" (keypress)=\"omit_special_char($event)\" (focusout)=\"stringSanitizer(field.VisibleIf)\">\r\n <mat-error>\r\n {{ getFormValidationErrors('VisibleIf') }}\r\n </mat-error>\r\n </mat-form-field>\r\n <!-- <mat-form-field>\r\n <input name=\"VisibleIf\" formControlName=\"VisibleIf\" matInput [(ngModel)]=\"field.VisibleIf\"\r\n [matAutocomplete]=\"VisibleIfAutocomplete\" (keyup)=\"setVisibleIfAutocompleteOptions($event)\"\r\n (focus)=\"setVisibleIfAutocompleteOptions(null)\" (focusout)=\"stringSanitizer(field.VisibleIf)\">\r\n <mat-autocomplete #VisibleIfAutocomplete=\"matAutocomplete\">\r\n <mat-option *ngFor=\"let option of VisibleIfAutocompleteOptions\" [value]=\"option.value\">\r\n {{option.label}}\r\n </mat-option>\r\n </mat-autocomplete>\r\n </mat-form-field> -->\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2 align-self-center\"\r\n [hidden]=\"(field.VisibleIf != null || field.VisibleIf != undefined) && field.VisibleIf != ''\">\r\n <div class=\" align-self-center\">\r\n <mat-slide-toggle [(ngModel)]=\"field.InListView\" formControlName=\"InListView\" color=\"primary\"\r\n [disabled]=\"fieldFormGroup.controls['InListView'].disabled\">\r\n Visibile\r\n </mat-slide-toggle>\r\n </div>\r\n </div>\r\n <ng-container *ngTemplateOutlet=\"fieldTypeFormTemplate\">\r\n </ng-container>\r\n </div>\r\n </form>\r\n </div>\r\n <div class=\"containerFooter\">\r\n <div class=\"d-flex justify-content-end mt-2 mb-1\">\r\n <div class=\"buttonsForm\">\r\n <button class=\"btn mat-raised-button cancel\" (click)=\"saveAndExitAddField(false)\" type=\"button\">\r\n Annulla\r\n </button>\r\n <button class=\"mr-2 save\" mat-raised-button color=\"primary\" (click)=\"saveAndExitAddField(true)\"\r\n [disabled]=\"disableSaveField()\" type=\"button\">\r\n Salva\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<!-- FORM PROPRIET\u00C0 CAMPI DI TESTO -->\r\n<ng-template #textFieldFormTemplate>\r\n <div class=\"col-sm-12 col-md-4\">\r\n <mat-label>Maschera</mat-label>\r\n <eqp-select [enumData]=\"TextMaskEnum\" [(ngModelInput)]=\"field.TextMask\" [formGroupInput]=\"fieldFormGroup\"\r\n [formControlNameInput]=\"'TextMask'\">\r\n </eqp-select>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4\" [formGroup]=\"fieldFormGroup\">\r\n <mat-label> Lunghezza minima </mat-label>\r\n <mat-form-field>\r\n <input id=\"lengthMin\" formControlName=\"MinLenght\" type=\"number\" [min]=\"0\" matInput\r\n [(ngModel)]=\"field.MinLenght\" spellcheck=\"false\" autocomplete=\"off\" (keypress)=\"omit_special_char($event)\" (focusout)=\"stringSanitizer(field.MinLenght)\">\r\n <mat-error>\r\n {{ getFormValidationErrors('MinLenght') }}\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2 align-self-center\" [formGroup]=\"fieldFormGroup\" [hidden]=\"field.Readonly\" >\r\n <mat-slide-toggle [(ngModel)]=\"field.Microphone\" formControlName=\"Microphone\" color=\"primary\">\r\n Speech-To-Text\r\n </mat-slide-toggle>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4\" [formGroup]=\"fieldFormGroup\">\r\n <mat-label> Lunghezza massima </mat-label>\r\n <mat-form-field>\r\n <input id=\"lengthMax\" formControlName=\"MaxLenght\" type=\"number\" [min]=\"0\" matInput\r\n [(ngModel)]=\"field.MaxLenght\" spellcheck=\"false\" autocomplete=\"off\" (keypress)=\"omit_special_char($event)\" (focusout)=\"stringSanitizer(field.MaxLenght)\">\r\n <mat-error>\r\n {{ getFormValidationErrors('MaxLenght') }}\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n</ng-template>\r\n\r\n<!-- FORM PROPRIET\u00C0 CAMPI AREA DI TESTO -->\r\n<ng-template #textareaFieldFormTemplate>\r\n <div class=\"col-sm-12 col-md-4 mt-2\" [formGroup]=\"fieldFormGroup\">\r\n <mat-label> Righe </mat-label>\r\n <mat-form-field class=\"righe\">\r\n <input id=\"rows\" formControlName=\"Rows\" type=\"number\" [min]=\"0\" matInput [(ngModel)]=\"field.Rows\" spellcheck=\"false\" autocomplete=\"off\" (keypress)=\"omit_special_char($event)\" (focusout)=\"stringSanitizer(field.Rows)\">\r\n <mat-error>\r\n {{ getFormValidationErrors('Rows') }}\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2 align-self-center\" [formGroup]=\"fieldFormGroup\" [hidden]=\"field.Readonly\" >\r\n <mat-slide-toggle [(ngModel)]=\"field.Microphone\" formControlName=\"Microphone\" color=\"primary\">\r\n Speech-To-Text\r\n </mat-slide-toggle>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2\" [formGroup]=\"fieldFormGroup\">\r\n <mat-label> Lunghezza minima </mat-label>\r\n <mat-form-field>\r\n <input id=\"lengthMin\" formControlName=\"MinLenght\" type=\"number\" [min]=\"0\" matInput\r\n [(ngModel)]=\"field.MinLenght\" spellcheck=\"false\" autocomplete=\"off\" (keypress)=\"omit_special_char($event)\" (focusout)=\"stringSanitizer(field.MinLenght)\">\r\n <mat-error>\r\n {{ getFormValidationErrors('MinLenght') }}\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2\" [formGroup]=\"fieldFormGroup\">\r\n <mat-label> Lunghezza massima </mat-label>\r\n <mat-form-field>\r\n <input id=\"lengthMax\" formControlName=\"MaxLenght\" type=\"number\" [min]=\"0\" matInput\r\n [(ngModel)]=\"field.MaxLenght\" spellcheck=\"false\" autocomplete=\"off\" (keypress)=\"omit_special_char($event)\" (focusout)=\"stringSanitizer(field.MaxLenght)\">\r\n <mat-error>\r\n {{ getFormValidationErrors('MaxLenght') }}\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n</ng-template>\r\n\r\n<!-- FORM PROPRIET\u00C0 CAMPI BOOLEANI -->\r\n<ng-template #booleadFieldFormTemplate>\r\n <div class=\"col-sm-12 col-md-4 mt-2 align-self-center\" [formGroup]=\"fieldFormGroup\">\r\n <mat-slide-toggle [(ngModel)]=\"field.IsTristate\" formControlName=\"IsTristate\" color=\"primary\">\r\n A tre stati\r\n </mat-slide-toggle>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2\">\r\n <mat-label>Tipo di presentazione *</mat-label>\r\n <eqp-select [enumData]=\"BoolPresentantioEnum\" [(ngModelInput)]=\"field.PresetationType\" required\r\n [showCancelButton]=\"false\" [formGroupInput]=\"fieldFormGroup\" [formControlNameInput]=\"'PresetationType'\">\r\n </eqp-select>\r\n </div>\r\n</ng-template>\r\n\r\n<!-- FORM PROPRIET\u00C0 CAMPI DATA -->\r\n<ng-template #dateFieldFormTemplate>\r\n <div class=\"col-sm-12 col-md-4 mt-2\">\r\n <mat-label>Tipo di data</mat-label>\r\n <eqp-select [enumData]=\"DateTimeTypeEnum\" [(ngModelInput)]=\"field.IsOnlyDate\" required\r\n [showCancelButton]=\"false\" [formGroupInput]=\"fieldFormGroup\" [formControlNameInput]=\"'IsOnlyDate'\">\r\n </eqp-select>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2\" [formGroup]=\"fieldFormGroup\">\r\n <mat-label> Formato </mat-label>\r\n <mat-form-field>\r\n <input formControlName=\"DateFormat\" matInput [(ngModel)]=\"field.DateFormat\"\r\n [matTooltip]=\"'Indicare il formato seguendo la guida del pacchetto momentjs.'\" spellcheck=\"false\" autocomplete=\"off\" (keypress)=\"omit_special_char($event)\" (focusout)=\"stringSanitizer(field.Formato)\">\r\n <mat-error>\r\n {{ getFormValidationErrors('Formato') }}\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2\">\r\n <mat-label> Data minima </mat-label>\r\n <eqp-datetimepicker *ngIf=\"field.IsOnlyDate == DateTimeTypeEnum['Solo data']\" class=\"date\"\r\n [(ngModelInput)]=\"field.MinDate\" [formGroupInput]=\"fieldFormGroup\" [formControlNameInput]=\"'MinDate'\"\r\n [pickerMode]=\"pickerModeEnum.DATE\" [UTCDate]=\"true\" [showSeconds]=\"false\">\r\n </eqp-datetimepicker>\r\n <eqp-datetimepicker *ngIf=\"field.IsOnlyDate == DateTimeTypeEnum['Data e ora']\" class=\"date\"\r\n [(ngModelInput)]=\"field.MinDate\" [formGroupInput]=\"fieldFormGroup\" [formControlNameInput]=\"'MinDate'\"\r\n [pickerMode]=\"pickerModeEnum.DATETIME\" [UTCDate]=\"true\" [showSeconds]=\"false\">\r\n </eqp-datetimepicker>\r\n <eqp-datetimepicker *ngIf=\"field.IsOnlyDate == DateTimeTypeEnum['Solo orario']\" class=\"date\"\r\n [(ngModelInput)]=\"field.MinDate\" [formGroupInput]=\"fieldFormGroup\" [formControlNameInput]=\"'MinDate'\"\r\n [pickerMode]=\"pickerModeEnum.TIME\" [UTCDate]=\"true\" [showSeconds]=\"false\">\r\n </eqp-datetimepicker>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2\">\r\n <mat-label> Data massima </mat-label>\r\n <eqp-datetimepicker *ngIf=\"field.IsOnlyDate == DateTimeTypeEnum['Solo data']\" class=\"date\"\r\n [(ngModelInput)]=\"field.MaxDate\" [formGroupInput]=\"fieldFormGroup\" [formControlNameInput]=\"'MaxDate'\"\r\n [pickerMode]=\"pickerModeEnum.DATE\" [UTCDate]=\"true\" [showSeconds]=\"false\">\r\n </eqp-datetimepicker>\r\n <eqp-datetimepicker *ngIf=\"field.IsOnlyDate == DateTimeTypeEnum['Data e ora']\" class=\"date\"\r\n [(ngModelInput)]=\"field.MaxDate\" [formGroupInput]=\"fieldFormGroup\" [formControlNameInput]=\"'MaxDate'\"\r\n [pickerMode]=\"pickerModeEnum.DATETIME\" [UTCDate]=\"true\" [showSeconds]=\"false\">\r\n </eqp-datetimepicker>\r\n <eqp-datetimepicker *ngIf=\"field.IsOnlyDate == DateTimeTypeEnum['Solo orario']\" class=\"date\"\r\n [(ngModelInput)]=\"field.MaxDate\" [formGroupInput]=\"fieldFormGroup\" [formControlNameInput]=\"'MaxDate'\"\r\n [pickerMode]=\"pickerModeEnum.TIME\" [UTCDate]=\"true\" [showSeconds]=\"false\">\r\n </eqp-datetimepicker>\r\n </div>\r\n</ng-template>\r\n\r\n<!-- FORM PROPRIET\u00C0 CAMPI NUMERICI -->\r\n<ng-template #numericFieldFormTemplate>\r\n <div class=\"col-sm-12 col-md-4 mt-2 align-self-center\" [formGroup]=\"fieldFormGroup\">\r\n <mat-slide-toggle [(ngModel)]=\"field.IsInteger\" formControlName=\"IsInteger\" color=\"primary\">\r\n Valore intero\r\n </mat-slide-toggle>\r\n </div>\r\n <div *ngIf=\"!field.IsInteger\" class=\"col-sm-12 col-md-4 mt-2\" [formGroup]=\"fieldFormGroup\">\r\n <mat-label> Separatore decimali </mat-label>\r\n <mat-form-field>\r\n <input formControlName=\"DecimalSeparator\" matInput [(ngModel)]=\"field.DecimalSeparator\" spellcheck=\"false\" autocomplete=\"off\" (keypress)=\"omit_special_char($event)\" (focusout)=\"stringSanitizer(field.DecimalSeparator)\">\r\n <mat-error>\r\n {{ getFormValidationErrors('DecimalSeparator') }}\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div *ngIf=\"!field.IsInteger\" class=\"col-sm-12 col-md-4 mt-2\" [formGroup]=\"fieldFormGroup\">\r\n <mat-label> Precisione decimali </mat-label>\r\n <mat-form-field>\r\n <input formControlName=\"DecimalPrecision\" type=\"number\" [min]=\"0\" matInput\r\n [(ngModel)]=\"field.DecimalPrecision\" spellcheck=\"false\" autocomplete=\"off\" (keypress)=\"omit_special_char($event)\" (focusout)=\"stringSanitizer(field.DecimalPrecision)\">\r\n <mat-error>\r\n {{ getFormValidationErrors('DecimalPrecision') }}\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2\" [formGroup]=\"fieldFormGroup\">\r\n <mat-label> Separatore migliaia </mat-label>\r\n <mat-form-field>\r\n <input formControlName=\"ThousandsSeparator\" matInput [(ngModel)]=\"field.ThousandsSeparator\" spellcheck=\"false\" autocomplete=\"off\" (keypress)=\"omit_special_char($event)\" (focusout)=\"stringSanitizer(field.ThousandsSeparator)\">\r\n <mat-error>\r\n {{ getFormValidationErrors('ThousandsSeparator') }}\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2\" [formGroup]=\"fieldFormGroup\">\r\n <mat-label> Simbolo valuta </mat-label>\r\n <mat-form-field>\r\n <input formControlName=\"CurrencySymbol\" matInput [(ngModel)]=\"field.CurrencySymbol\" spellcheck=\"false\" autocomplete=\"off\"(keypress)=\"omit_special_char($event)\" (focusout)=\"stringSanitizer(field.CurrencySymbol)\">\r\n <mat-error>\r\n {{ getFormValidationErrors('CurrencySymbol') }}\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2\" [formGroup]=\"fieldFormGroup\">\r\n <mat-label> Unit\u00E0 di misura </mat-label>\r\n <mat-form-field>\r\n <input formControlName=\"MeasureUnit\" matInput [(ngModel)]=\"field.MeasureUnit\" spellcheck=\"false\" autocomplete=\"off\"(keypress)=\"omit_special_char($event)\" (focusout)=\"stringSanitizer(field.MeasureUnit)\">\r\n <mat-error>\r\n {{ getFormValidationErrors('MeasureUnit') }}\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2\" [formGroup]=\"fieldFormGroup\">\r\n <mat-label> Valore minimo </mat-label>\r\n <mat-form-field>\r\n <input formControlName=\"MinValue\" type=\"number\" [min]=\"0\" matInput [(ngModel)]=\"field.MinValue\" spellcheck=\"false\" autocomplete=\"off\"(keypress)=\"omit_special_char($event)\" (focusout)=\"stringSanitizer(field.MinValue)\">\r\n <mat-error>\r\n {{ getFormValidationErrors('MinValue') }}\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2\" [formGroup]=\"fieldFormGroup\">\r\n <mat-label> Valore massimo </mat-label>\r\n <mat-form-field>\r\n <input formControlName=\"MaxValue\" type=\"number\" [min]=\"0\" matInput [(ngModel)]=\"field.MaxValue\" spellcheck=\"false\" autocomplete=\"off\" (keypress)=\"omit_special_char($event)\" (focusout)=\"stringSanitizer(field.MaxValue)\">\r\n <mat-error>\r\n {{ getFormValidationErrors('MaxValue') }}\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n</ng-template>\r\n\r\n<!-- FORM PROPRIET\u00C0 CAMPI ALLEGATO -->\r\n<ng-template #attachmentFieldFormTemplate>\r\n <div class=\"col-sm-12 col-md-4 mt-2 align-self-center\" [formGroup]=\"fieldFormGroup\">\r\n <mat-slide-toggle [(ngModel)]=\"field.IsMultiAttach\" formControlName=\"IsMultiAttach\" color=\"primary\">\r\n Allegati multipli\r\n </mat-slide-toggle>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2\">\r\n <mat-label>Estensioni accettate</mat-label>\r\n <eqp-select [arrayData]=\"AvailableFileExtensions.concat(AvailableImageExtensions)\"\r\n [(ngModelInput)]=\"field.AllowedExtensions\" [arrayKeyProperty]=\"'key'\" [arrayValueProperty]=\"'value'\"\r\n [isMultiSelect]=\"true\" [formGroupInput]=\"fieldFormGroup\" [formControlNameInput]=\"'AllowedExtensions'\"\r\n [includeFullObject]=\"false\">\r\n </eqp-select>\r\n </div>\r\n <!-- <div class=\"col-sm-12 mt-2\">\r\n <div class=\"row mt-2\">\r\n <div class=\"col-sm-12 col-md-6\">\r\n <div class=\"header-title-standard\">\r\n Elenco metadata\r\n </div>\r\n </div>\r\n <div class=\"col-sm-12 col-md-6 text-right buttonsForm\">\r\n <button class=\"btn btn-primary save\" mat-raised-button color=\"primary\" type=\"button\"\r\n (click)=\"openMetadataDialog()\">\r\n <mat-icon>add</mat-icon>\r\n <span style=\"margin-left: 10px;\">Aggiungi allegato</span>\r\n </button>\r\n </div>\r\n </div>\r\n <eqp-table #metadataFieldsTable [createMatCard]=\"false\" [columns]=\"metadataColumns\"\r\n [data]=\"field.MetadataFields\" [emptyTableMessage]=\"'Nessun metadata inserito'\" [searchText]=\"'Cerca'\">\r\n </eqp-table>\r\n </div> -->\r\n</ng-template>\r\n\r\n<!-- FORM PROPRIET\u00C0 CAMPI IMMAGINE -->\r\n<ng-template #imageFieldFormTemplate>\r\n <div class=\"col-sm-12 col-md-4 mt-2 mb-2 align-self-center\" [formGroup]=\"fieldFormGroup\">\r\n <mat-slide-toggle [(ngModel)]=\"field.ImageIsContextualAttachment\" formControlName=\"ImageIsContextualAttachment\"\r\n color=\"primary\" (ngModelChange)=\"onImageIsContextualAttachmentChange()\">\r\n Immagine pre-caricata nel campo\r\n </mat-slide-toggle>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2 mb-2 align-self-center\" [formGroup]=\"fieldFormGroup\">\r\n <mat-slide-toggle [(ngModel)]=\"field.EnableDrawing\" formControlName=\"EnableDrawing\" color=\"primary\">\r\n Abilita il disegno\r\n </mat-slide-toggle>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2 align-self-center\" [formGroup]=\"fieldFormGroup\"\r\n *ngIf=\"!field.ImageIsContextualAttachment\">\r\n <mat-slide-toggle [(ngModel)]=\"field.AttachDefinition.IsMultiAttach\" formControlName=\"IsMultiAttach\"\r\n color=\"primary\">\r\n Immagini multiple\r\n </mat-slide-toggle>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2\" *ngIf=\"!field.ImageIsContextualAttachment\">\r\n <mat-label>Estensioni accettate</mat-label>\r\n <eqp-select [arrayData]=\"AvailableImageExtensions\" [(ngModelInput)]=\"field.AttachDefinition.AllowedExtensions\"\r\n [arrayKeyProperty]=\"'key'\" [arrayValueProperty]=\"'value'\" [isMultiSelect]=\"true\"\r\n [formGroupInput]=\"fieldFormGroup\" [formControlNameInput]=\"'AllowedExtensions'\" [includeFullObject]=\"false\">\r\n </eqp-select>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2\" [formGroup]=\"fieldFormGroup\" *ngIf=\"field.ImageIsContextualAttachment\">\r\n <mat-label> Nome immagine* </mat-label>\r\n <mat-form-field>\r\n <input formControlName=\"ImgName\" matInput [(ngModel)]=\"field.ImgName\" required spellcheck=\"false\" autocomplete=\"off\" (keypress)=\"omit_special_char($event)\" (focusout)=\"stringSanitizer(field.ImgName)\">\r\n <mat-error>\r\n {{ getFormValidationErrors('ImgName') }}\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-sm-12 col-md-8 mt-2\" [formGroup]=\"fieldFormGroup\" *ngIf=\"field.ImageIsContextualAttachment\">\r\n <eqp-attachments [attachmentsList]=\"field._contextualAttachments\" [showMatCard]=\"false\" [allowOnlyImages]=\"true\"\r\n [isDisabled]=\"false\" [showInlinePreview]=\"true\" [multipleAttachment]=\"false\" [showHeader]=\"false\"\r\n (localEditedAttachments)=\"catchContextualAttachmentChange($event)\" #contextualAttachmentEqpAttachments>\r\n </eqp-attachments>\r\n </div>\r\n <!-- <div class=\"col-sm-12 mt-2\">\r\n <div class=\"row mt-2\">\r\n <div class=\"col-sm-12 col-md-6\">\r\n <div class=\"header-title-standard\">\r\n Elenco metadata\r\n </div>\r\n </div>\r\n <div class=\"col-sm-12 col-md-6 text-right buttonsForm\">\r\n <button class=\"btn btn-primary save\" mat-raised-button color=\"primary\" type=\"button\"\r\n (click)=\"openMetadataDialog()\">\r\n <mat-icon>add</mat-icon>\r\n <span style=\"margin-left: 10px;\">Aggiungi</span>\r\n </button>\r\n </div>\r\n </div>\r\n <eqp-table #metadataFieldsTable [createMatCard]=\"false\" [columns]=\"metadataColumns\"\r\n [data]=\"field.AttachDefinition.MetadataFields\" [emptyTableMessage]=\"'Nessun metadata inserito'\"\r\n [searchText]=\"'Cerca'\">\r\n </eqp-table>\r\n </div> -->\r\n</ng-template>\r\n\r\n<!-- FORM PROPRIET\u00C0 CAMPI LISTA DI VALORI -->\r\n<ng-template #listValueFieldFormTemplate>\r\n <div class=\"col-sm-12 col-md-4 mt-2 align-self-center\" [formGroup]=\"fieldFormGroup\">\r\n <mat-slide-toggle [(ngModel)]=\"field.IsMultiChoiche\" formControlName=\"IsMultiChoiche\" color=\"primary\">\r\n Scelta multipla\r\n </mat-slide-toggle>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2\">\r\n <mat-label>Tipo di presentazione*</mat-label>\r\n <eqp-select [enumData]=\"ListPresentationEnum\" [(ngModelInput)]=\"field.PresentationMode\" required\r\n [showCancelButton]=\"false\" [formGroupInput]=\"fieldFormGroup\" [formControlNameInput]=\"'PresentationMode'\"\r\n (ngModelInputChange)=\"onPresentationModeChange()\">\r\n </eqp-select>\r\n </div>\r\n <div class=\"col-sm-12 mt-2\" *ngIf=\"field.PresentationMode != ListPresentationEnum.Immagini\">\r\n <div class=\"row\">\r\n <h4 class=\"key-value-list-section-title\"> </h4>\r\n <div class=\"col-md-4\">\r\n <mat-label> Label opzione (invio per confermare)</mat-label>\r\n <mat-form-field>\r\n <input matInput [(ngModel)]=\"keyValueObject.key\" (keyup)=\"onMultiSelectInputKeyup($event, null)\" spellcheck=\"false\" autocomplete=\"off\">\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-md-4\">\r\n <mat-label> Valore opzione (invio per confermare)</mat-label>\r\n <mat-form-field>\r\n <input matInput [(ngModel)]=\"keyValueObject.value\" (keyup)=\"onMultiSelectInputKeyup($event, null)\" spellcheck=\"false\" autocomplete=\"off\">\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-md-4 align-self-center\">\r\n <span class=\"mr-3\">Opzioni inserite:</span>\r\n <ul class=\"value-pairs-list\">\r\n <li *ngFor=\"let keyValuePair of getDictionaryKeyValue()\">\r\n <mat-icon class=\"mr-1\" (click)=\"deleteKeyFromDictionary(keyValuePair.key)\">close\r\n </mat-icon>\r\n <span><b>Label: </b> {{keyValuePair.key}} - <b>Valore: </b> {{keyValuePair.value}}</span>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-sm-12 col-md-12 mt-2\" *ngIf=\"field.PresentationMode == ListPresentationEnum.Immagini\">\r\n <eqp-attachments [attachmentsList]=\"field.ButtonImageList\" [showMatCard]=\"false\" [allowOnlyImages]=\"true\"\r\n [isDisabled]=\"false\" [showInlinePreview]=\"true\" [multipleAttachment]=\"true\" [showHeader]=\"false\"\r\n [allowedTypes]=\"[AttachmentType.FILE]\" (localEditedAttachments)=\"catchButtonImagesChange($event)\"\r\n (onComponentLoaded)=\"configureButtonImagesColumns($event)\">\r\n </eqp-attachments>\r\n </div>\r\n</ng-template>\r\n\r\n<!-- FORM PROPRIET\u00C0 CAMPI LOOKUP -->\r\n<ng-template #lookupFieldFormTemplate>\r\n <div class=\"col-sm-12 col-md-4 mt-2 align-self-center\" [formGroup]=\"fieldFormGroup\">\r\n <mat-slide-toggle [(ngModel)]=\"field.UseAsGetOrDiscard\" formControlName=\"UseAsGetOrDiscard\" color=\"primary\"\r\n matTooltip=\"Se true la lookup viene visualizzata in una modale per lo scegli scarta\">\r\n Usa per scegli o scarta\r\n </mat-slide-toggle>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2\" [formGroup]=\"fieldFormGroup\">\r\n <mat-label> Nome entit\u00E0 </mat-label>\r\n <mat-form-field matTooltip=\"Nome dell'entit\u00E0 relazionata\">\r\n <input formControlName=\"EntitySourceName\" required matInput [(ngModel)]=\"field.EntitySourceName\" spellcheck=\"false\" autocomplete=\"off\" (keypress)=\"omit_special_char($event)\" (focusout)=\"stringSanitizer(field.EntitySourceName)\">\r\n <mat-error>\r\n {{ getFormValidationErrors('EntitySourceName') }}\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-sm-12 mt-2\">\r\n <div class=\"row\">\r\n <div class=\"col-md-4\">\r\n <mat-label> Nomi dei campi (invio per confermare) </mat-label>\r\n <mat-form-field\r\n matTooltip=\"Elenco di campi ordinato che verr\u00E0 visualizzato nella lookup (premere invio per confermare)\">\r\n <input matInput (keyup)=\"onMultiSelectInputKeyup($event, 'FieldNames')\" spellcheck=\"false\" autocomplete=\"off\" >\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-md-8 align-self-center\">\r\n <span class=\"mr-3\">Nomi selezionati:</span>\r\n <div class=\"extension-container\" *ngFor=\"let extension of field.FieldNames; let i = index\">\r\n <span>{{extension}}</span>\r\n <mat-icon class=\"ml-1\" (click)=\"field.FieldNames.splice(i,1)\">close\r\n </mat-icon>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n<!-- DIALOG PER AGGIUNGERE UN METADATA NEI CAMPI DI TIPO ALLEGATO O IMMAGINE -->\r\n<!-- <ng-template #dialogMetadata>\r\n <eqp-dynamic-module-add-form-field [field]=\"selectedMetadata\" [availableFields]=\"availableFields\"\r\n [indexField]=\"indexSelectedMetadata\" (saveFieldEvent)=\"onSaveMetadata($event)\" [fieldTypesToExclude]=\"[6,7,10]\">\r\n </eqp-dynamic-module-add-form-field>\r\n</ng-template> -->\r\n\r\n<ng-template #buttonImagesKeyValueInputColumn let-row=\"row\" let-col=\"col\">\r\n <mat-form-field>\r\n <mat-label> {{col.display}} </mat-label>\r\n <input matInput [(ngModel)]=\"row[col.key]\" required spellcheck=\"false\" autocomplete=\"off\">\r\n </mat-form-field>\r\n</ng-template>\r\n<!--DIALOG PER SEMPLIFICARE LA SCRITTURA DEL CAMPO FORMULA-->\r\n<ng-template #dialogFormula>\r\n <eqp-dynamic-module-add-formula-component>\r\n </eqp-dynamic-module-add-formula-component>\r\n</ng-template>", styles: [".mat-badge-content{font-weight:600;font-size:12px;font-family:Roboto,Helvetica Neue,sans-serif}.mat-badge-small .mat-badge-content{font-size:9px}.mat-badge-large .mat-badge-content{font-size:24px}.mat-h1,.mat-headline,.mat-typography .mat-h1,.mat-typography .mat-headline,.mat-typography h1{font:400 24px/32px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;margin:0 0 16px}.mat-h2,.mat-title,.mat-typography .mat-h2,.mat-typography .mat-title,.mat-typography h2{font:500 20px/32px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;margin:0 0 16px}.mat-h3,.mat-subheading-2,.mat-typography .mat-h3,.mat-typography .mat-subheading-2,.mat-typography h3{font:400 16px/28px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;margin:0 0 16px}.mat-h4,.mat-subheading-1,.mat-typography .mat-h4,.mat-typography .mat-subheading-1,.mat-typography h4{font:400 15px/24px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;margin:0 0 16px}.mat-h5,.mat-typography .mat-h5,.mat-typography h5{font:400 11.62px/20px Roboto,Helvetica Neue,sans-serif;margin:0 0 12px}.mat-h6,.mat-typography .mat-h6,.mat-typography h6{font:400 9.38px/20px Roboto,Helvetica Neue,sans-serif;margin:0 0 12px}.mat-body-strong,.mat-body-2,.mat-typography .mat-body-strong,.mat-typography .mat-body-2{font:500 14px/24px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.mat-body,.mat-body-1,.mat-typography .mat-body,.mat-typography .mat-body-1,.mat-typography{font:400 14px/20px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.mat-body p,.mat-body-1 p,.mat-typography .mat-body p,.mat-typography .mat-body-1 p,.mat-typography p{margin:0 0 12px}.mat-small,.mat-caption,.mat-typography .mat-small,.mat-typography .mat-caption{font:400 12px/20px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.mat-display-4,.mat-typography .mat-display-4{font:300 112px/112px Roboto,Helvetica Neue,sans-serif;letter-spacing:-.05em;margin:0 0 56px}.mat-display-3,.mat-typography .mat-display-3{font:400 56px/56px Roboto,Helvetica Neue,sans-serif;letter-spacing:-.02em;margin:0 0 64px}.mat-display-2,.mat-typography .mat-display-2{font:400 45px/48px Roboto,Helvetica Neue,sans-serif;letter-spacing:-.005em;margin:0 0 64px}.mat-display-1,.mat-typography .mat-display-1{font:400 34px/40px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;margin:0 0 64px}.mat-bottom-sheet-container{font:400 14px/20px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.mat-button,.mat-raised-button,.mat-icon-button,.mat-stroked-button,.mat-flat-button,.mat-fab,.mat-mini-fab{font-family:Roboto,Helvetica Neue,sans-serif;font-size:14px;font-weight:500}.mat-button-toggle,.mat-card{font-family:Roboto,Helvetica Neue,sans-serif}.mat-card-title{font-size:24px;font-weight:500}.mat-card-header .mat-card-title{font-size:20px}.mat-card-subtitle,.mat-card-content{font-size:14px}.mat-checkbox{font-family:Roboto,Helvetica Neue,sans-serif}.mat-checkbox-layout .mat-checkbox-label{line-height:24px}.mat-chip{font-size:14px;font-weight:500}.mat-chip .mat-chip-trailing-icon.mat-icon,.mat-chip .mat-chip-remove.mat-icon{font-size:18px}.mat-table{font-family:Roboto,Helvetica Neue,sans-serif}.mat-header-cell{font-size:12px;font-weight:500}.mat-cell,.mat-footer-cell{font-size:14px}.mat-calendar{font-family:Roboto,Helvetica Neue,sans-serif}.mat-calendar-body{font-size:13px}.mat-calendar-body-label,.mat-calendar-period-button{font-size:14px;font-weight:500}.mat-calendar-table-header th{font-size:11px;font-weight:400}.mat-dialog-title{font:500 20px/32px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.mat-expansion-panel-header{font-family:Roboto,Helvetica Neue,sans-serif;font-size:15px;font-weight:400}.mat-expansion-panel-content{font:400 14px/20px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.mat-form-field{font-size:inherit;font-weight:400;line-height:1.125;font-family:Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.mat-form-field-wrapper{padding-bottom:1.34375em}.mat-form-field-prefix .mat-icon,.mat-form-field-suffix .mat-icon{font-size:150%;line-height:1.125}.mat-form-field-prefix .mat-icon-button,.mat-form-field-suffix .mat-icon-button{height:1.5em;width:1.5em}.mat-form-field-prefix .mat-icon-button .mat-icon,.mat-form-field-suffix .mat-icon-button .mat-icon{height:1.125em;line-height:1.125}.mat-form-field-infix{padding:.5em 0;border-top:.84375em solid transparent}.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.34375em) scale(.75);width:133.3333333333%}.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.34374em) scale(.75);width:133.3333433333%}.mat-form-field-label-wrapper{top:-.84375em;padding-top:.84375em}.mat-form-field-label{top:1.34375em}.mat-form-field-underline{bottom:1.34375em}.mat-form-field-subscript-wrapper{font-size:75%;margin-top:.6666666667em;top:calc(100% - 1.7916666667em)}.mat-form-field-appearance-legacy .mat-form-field-wrapper{padding-bottom:1.25em}.mat-form-field-appearance-legacy .mat-form-field-infix{padding:.4375em 0}.mat-form-field-appearance-legacy.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.001px);width:133.3333333333%}.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-form-field-autofill-control:-webkit-autofill+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.00101px);width:133.3333433333%}.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.00102px);width:133.3333533333%}.mat-form-field-appearance-legacy .mat-form-field-label{top:1.28125em}.mat-form-field-appearance-legacy .mat-form-field-underline{bottom:1.25em}.mat-form-field-appearance-legacy .mat-form-field-subscript-wrapper{margin-top:.5416666667em;top:calc(100% - 1.6666666667em)}@media print{.mat-form-field-appearance-legacy.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.28122em) scale(.75)}.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-form-field-autofill-control:-webkit-autofill+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.28121em) scale(.75)}.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.2812em) scale(.75)}}.mat-form-field-appearance-fill .mat-form-field-infix{padding:.25em 0 .75em}.mat-form-field-appearance-fill .mat-form-field-label{top:1.09375em;margin-top:-.5em}.mat-form-field-appearance-fill.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,.mat-form-field-appearance-fill.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-.59375em) scale(.75);width:133.3333333333%}.mat-form-field-appearance-fill.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-.59374em) scale(.75);width:133.3333433333%}.mat-form-field-appearance-outline .mat-form-field-infix{padding:1em 0}.mat-form-field-appearance-outline .mat-form-field-label{top:1.84375em;margin-top:-.25em}.mat-form-field-appearance-outline.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,.mat-form-field-appearance-outline.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.59375em) scale(.75);width:133.3333333333%}.mat-form-field-appearance-outline.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.59374em) scale(.75);width:133.3333433333%}.mat-grid-tile-header,.mat-grid-tile-footer{font-size:14px}.mat-grid-tile-header .mat-line,.mat-grid-tile-footer .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-grid-tile-header .mat-line:nth-child(n+2),.mat-grid-tile-footer .mat-line:nth-child(n+2){font-size:12px}input.mat-input-element{margin-top:-.0625em}.mat-menu-item{font-family:Roboto,Helvetica Neue,sans-serif;font-size:14px;font-weight:400}.mat-paginator,.mat-paginator-page-size .mat-select-trigger{font-family:Roboto,Helvetica Neue,sans-serif;font-size:12px}.mat-radio-button,.mat-select{font-family:Roboto,Helvetica Neue,sans-serif}.mat-select-trigger{height:1.125em}.mat-slide-toggle-content{font-family:Roboto,Helvetica Neue,sans-serif}.mat-slider-thumb-label-text{font-family:Roboto,Helvetica Neue,sans-serif;font-size:12px;font-weight:500}.mat-stepper-vertical,.mat-stepper-horizontal{font-family:Roboto,Helvetica Neue,sans-serif}.mat-step-label{font-size:14px;font-weight:400}.mat-step-sub-label-error{font-weight:400}.mat-step-label-error{font-size:14px}.mat-step-label-selected{font-size:14px;font-weight:500}.mat-tab-group{font-family:Roboto,Helvetica Neue,sans-serif}.mat-tab-label,.mat-tab-link{font-family:Roboto,Helvetica Neue,sans-serif;font-size:14px;font-weight:500}.mat-toolbar,.mat-toolbar h1,.mat-toolbar h2,.mat-toolbar h3,.mat-toolbar h4,.mat-toolbar h5,.mat-toolbar h6{font:500 20px/32px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;margin:0}.mat-tooltip{font-family:Roboto,Helvetica Neue,sans-serif;font-size:10px;padding-top:6px;padding-bottom:6px}.mat-tooltip-handset{font-size:14px;padding-top:8px;padding-bottom:8px}.mat-list-item,.mat-list-option{font-family:Roboto,Helvetica Neue,sans-serif}.mat-list-base .mat-list-item{font-size:16px}.mat-list-base .mat-list-item .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list-base .mat-list-item .mat-line:nth-child(n+2){font-size:14px}.mat-list-base .mat-list-option{font-size:16px}.mat-list-base .mat-list-option .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list-base .mat-list-option .mat-line:nth-child(n+2){font-size:14px}.mat-list-base .mat-subheader{font-family:Roboto,Helvetica Neue,sans-serif;font-size:14px;font-weight:500}.mat-list-base[dense] .mat-list-item{font-size:12px}.mat-list-base[dense] .mat-list-item .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list-base[dense] .mat-list-item .mat-line:nth-child(n+2){font-size:12px}.mat-list-base[dense] .mat-list-option{font-size:12px}.mat-list-base[dense] .mat-list-option .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list-base[dense] .mat-list-option .mat-line:nth-child(n+2){font-size:12px}.mat-list-base[dense] .mat-subheader{font-family:Roboto,Helvetica Neue,sans-serif;font-size:12px;font-weight:500}.mat-option{font-family:Roboto,Helvetica Neue,sans-serif;font-size:16px}.mat-optgroup-label{font:500 14px/24px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.mat-simple-snackbar{font-family:Roboto,Helvetica Neue,sans-serif;font-size:14px}.mat-simple-snackbar-action{line-height:1;font-family:inherit;font-size:inherit;font-weight:500}.mat-tree{font-family:Roboto,Helvetica Neue,sans-serif}.mat-tree-node,.mat-nested-tree-node{font-weight:400;font-size:14px}.mat-ripple{overflow:hidden;position:relative}.mat-ripple:not(:empty){transform:translateZ(0)}.mat-ripple.mat-ripple-unbounded{overflow:visible}.mat-ripple-element{position:absolute;border-radius:50%;pointer-events:none;transition:opacity,transform 0ms cubic-bezier(0,0,.2,1);transform:scale3d(0,0,0)}.cdk-high-contrast-active .mat-ripple-element{display:none}.cdk-visually-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap;outline:0;-webkit-appearance:none;-moz-appearance:none;left:0}[dir=rtl] .cdk-visually-hidden{left:auto;right:0}.cdk-overlay-container,.cdk-global-overlay-wrapper{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;z-index:1000;display:flex;max-width:100%;max-height:100%}.cdk-overlay-backdrop{position:absolute;inset:0;z-index:1000;pointer-events:auto;-webkit-tap-highlight-color:transparent;transition:opacity .4s cubic-bezier(.25,.8,.25,1);opacity:0}.cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:1}.cdk-high-contrast-active .cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:.6}.cdk-overlay-dark-backdrop{background:rgba(0,0,0,.32)}.cdk-overlay-transparent-backdrop{transition:visibility 1ms linear,opacity 1ms linear;visibility:hidden;opacity:1}.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing{opacity:0;visibility:visible}.cdk-overlay-backdrop-noop-animation{transition:none}.cdk-overlay-connected-position-bounding-box{position:absolute;z-index:1000;display:flex;flex-direction:column;min-width:1px;min-height:1px}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}textarea.cdk-textarea-autosize{resize:none}textarea.cdk-textarea-autosize-measuring{padding:2px 0!important;box-sizing:content-box!important;height:auto!important;overflow:hidden!important}textarea.cdk-textarea-autosize-measuring-firefox{padding:2px 0!important;box-sizing:content-box!important;height:0!important}@keyframes cdk-text-field-autofill-start{}@keyframes cdk-text-field-autofill-end{}.cdk-text-field-autofill-monitored:-webkit-autofill{animation:cdk-text-field-autofill-start 0s 1ms}.cdk-text-field-autofill-monitored:not(:-webkit-autofill){animation:cdk-text-field-autofill-end 0s 1ms}.mat-focus-indicator{position:relative}.mat-focus-indicator:before{inset:0;position:absolute;box-sizing:border-box;pointer-events:none;display:none;display:var(--mat-focus-indicator-display, none);border:3px solid transparent;border:var(--mat-focus-indicator-border-width, 3px) var(--mat-focus-indicator-border-style, solid) var(--mat-focus-indicator-border-color, transparent);border-radius:4px;border-radius:var(--mat-focus-indicator-border-radius, 4px)}.mat-focus-indicator:focus:before{content:\"\"}.cdk-high-contrast-active{--mat-focus-indicator-display: block}.mat-mdc-focus-indicator{position:relative}.mat-mdc-focus-indicator:before{inset:0;position:absolute;box-sizing:border-box;pointer-events:none;display:none;display:var(--mat-mdc-focus-indicator-display, none);border:3px solid transparent;border:var(--mat-mdc-focus-indicator-border-width, 3px) var(--mat-mdc-focus-indicator-border-style, solid) var(--mat-mdc-focus-indicator-border-color, transparent);border-radius:4px;border-radius:var(--mat-mdc-focus-indicator-border-radius, 4px)}.mat-mdc-focus-indicator:focus:before{content:\"\"}.cdk-high-contrast-active{--mat-mdc-focus-indicator-display: block}.mat-autocomplete-panel{background:white;color:#000000de}.mat-autocomplete-panel:not([class*=mat-elevation-z]){box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f}.mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover){background:white}.mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover):not(.mat-option-disabled){color:#000000de}.mat-badge{position:relative}.mat-badge.mat-badge{overflow:visible}.mat-badge-hidden .mat-badge-content{display:none}.mat-badge-content{position:absolute;text-align:center;display:inline-block;border-radius:50%;transition:transform .2s ease-in-out;transform:scale(.6);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;pointer-events:none}.ng-animate-disabled .mat-badge-content,.mat-badge-content._mat-animation-noopable{transition:none}.mat-badge-content.mat-badge-active{transform:none}.mat-badge-small .mat-badge-content{width:16px;height:16px;line-height:16px}.mat-badge-small.mat-badge-above .mat-badge-content{top:-8px}.mat-badge-small.mat-badge-below .mat-badge-content{bottom:-8px}.mat-badge-small.mat-badge-before .mat-badge-content{left:-16px}[dir=rtl] .mat-badge-small.mat-badge-before .mat-badge-content{left:auto;right:-16px}.mat-badge-small.mat-badge-after .mat-badge-content{right:-16px}[dir=rtl] .mat-badge-small.mat-badge-after .mat-badge-content{right:auto;left:-16px}.mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-8px}[dir=rtl] .mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-8px}.mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-8px}[dir=rtl] .mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-8px}.mat-badge-medium .mat-badge-content{width:22px;height:22px;line-height:22px}.mat-badge-medium.mat-badge-above .mat-badge-content{top:-11px}.mat-badge-medium.mat-badge-below .mat-badge-content{bottom:-11px}.mat-badge-medium.mat-badge-before .mat-badge-content{left:-22px}[dir=rtl] .mat-badge-medium.mat-badge-before .mat-badge-content{left:auto;right:-22px}.mat-badge-medium.mat-badge-after .mat-badge-content{right:-22px}[dir=rtl] .mat-badge-medium.mat-badge-after .mat-badge-content{right:auto;left:-22px}.mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-11px}[dir=rtl] .mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-11px}.mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-11px}[dir=rtl] .mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-11px}.mat-badge-large .mat-badge-content{width:28px;height:28px;line-height:28px}.mat-badge-large.mat-badge-above .mat-badge-content{top:-14px}.mat-badge-large.mat-badge-below .mat-badge-content{bottom:-14px}.mat-badge-large.mat-badge-before .mat-badge-content{left:-28px}[dir=rtl] .mat-badge-large.mat-badge-before .mat-badge-content{left:auto;right:-28px}.mat-badge-large.mat-badge-after .mat-badge-content{right:-28px}[dir=rtl] .mat-badge-large.mat-badge-after .mat-badge-content{right:auto;left:-28px}.mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-14px}[dir=rtl] .mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-14px}.mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-14px}[dir=rtl] .mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-14px}.mat-badge-content{color:#fff;background:#1e31eb}.cdk-high-contrast-active .mat-badge-content{outline:solid 1px;border-radius:0}.mat-badge-accent .mat-badge-content{background:#ff5252;color:#000000de}.mat-badge-warn .mat-badge-content{color:#fff;background:#c40000}.mat-badge-disabled .mat-badge-content{background:#b9b9b9;color:#00000061}.mat-bottom-sheet-container{box-shadow:0 8px 10px -5px #0003,0 16px 24px 2px #00000024,0 6px 30px 5px #0000001f;background:white;color:#000000de}.mat-button,.mat-icon-button,.mat-stroked-button{color:inherit;background:transparent}.mat-button.mat-primary,.mat-icon-button.mat-primary,.mat-stroked-button.mat-primary{color:#1e31eb}.mat-button.mat-accent,.mat-icon-button.mat-accent,.mat-stroked-button.mat-accent{color:#ff5252}.mat-button.mat-warn,.mat-icon-button.mat-warn,.mat-stroked-button.mat-warn{color:#c40000}.mat-button.mat-primary.mat-button-disabled,.mat-button.mat-accent.mat-button-disabled,.mat-button.mat-warn.mat-button-disabled,.mat-button.mat-button-disabled.mat-button-disabled,.mat-icon-button.mat-primary.mat-button-disabled,.mat-icon-button.mat-accent.mat-button-disabled,.mat-icon-button.mat-warn.mat-button-disabled,.mat-icon-button.mat-button-disabled.mat-button-disabled,.mat-stroked-button.mat-primary.mat-button-disabled,.mat-stroked-button.mat-accent.mat-button-disabled,.mat-stroked-button.mat-warn.mat-button-disabled,.mat-stroked-button.mat-button-disabled.mat-button-disabled{color:#00000042}.mat-button.mat-primary .mat-button-focus-overlay,.mat-icon-button.mat-primary .mat-button-focus-overlay,.mat-stroked-button.mat-primary .mat-button-focus-overlay{background-color:#1e31eb}.mat-button.mat-accent .mat-button-focus-overlay,.mat-icon-button.mat-accent .mat-button-focus-overlay,.mat-stroked-button.mat-accent .mat-button-focus-overlay{background-color:#ff5252}.mat-button.mat-warn .mat-button-focus-overlay,.mat-icon-button.mat-warn .mat-button-focus-overlay,.mat-stroked-button.mat-warn .mat-button-focus-overlay{background-color:#c40000}.mat-button.mat-button-disabled .mat-button-focus-overlay,.mat-icon-button.mat-button-disabled .mat-button-focus-overlay,.mat-stroked-button.mat-button-disabled .mat-button-focus-overlay{background-color:transparent}.mat-button .mat-ripple-element,.mat-icon-button .mat-ripple-element,.mat-stroked-button .mat-ripple-element{opacity:.1;background-color:currentColor}.mat-button-focus-overlay{background:black}.mat-stroked-button:not(.mat-button-disabled){border-color:#0000001f}.mat-flat-button,.mat-raised-button,.mat-fab,.mat-mini-fab{color:#000000de;background-color:#fff}.mat-flat-button.mat-primary,.mat-raised-button.mat-primary,.mat-fab.mat-primary,.mat-mini-fab.mat-primary{color:#fff}.mat-flat-button.mat-accent,.mat-raised-button.mat-accent,.mat-fab.mat-accent,.mat-mini-fab.mat-accent{color:#000000de}.mat-flat-button.mat-warn,.mat-raised-button.mat-warn,.mat-fab.mat-warn,.mat-mini-fab.mat-warn{color:#fff}.mat-flat-button.mat-primary.mat-button-disabled,.mat-flat-button.mat-accent.mat-button-disabled,.mat-flat-button.mat-warn.mat-button-disabled,.mat-flat-button.mat-button-disabled.mat-button-disabled,.mat-raised-button.mat-primary.mat-button-disabled,.mat-raised-button.mat-accent.mat-button-disabled,.mat-raised-button.mat-warn.mat-button-disabled,.mat-raised-button.mat-button-disabled.mat-button-disabled,.mat-fab.mat-primary.mat-button-disabled,.mat-fab.mat-accent.mat-button-disabled,.mat-fab.mat-warn.mat-button-disabled,.mat-fab.mat-button-disabled.mat-button-disabled,.mat-mini-fab.mat-primary.mat-button-disabled,.mat-mini-fab.mat-accent.mat-button-disabled,.mat-mini-fab.mat-warn.mat-button-disabled,.mat-mini-fab.mat-button-disabled.mat-button-disabled{color:#00000042}.mat-flat-button.mat-primary,.mat-raised-button.mat-primary,.mat-fab.mat-primary,.mat-mini-fab.mat-primary{background-color:#1e31eb}.mat-flat-button.mat-accent,.mat-raised-button.mat-accent,.mat-fab.mat-accent,.mat-mini-fab.mat-accent{background-color:#ff5252}.mat-flat-button.mat-warn,.mat-raised-button.mat-warn,.mat-fab.mat-warn,.mat-mini-fab.mat-warn{background-color:#c40000}.mat-flat-button.mat-primary.mat-button-disabled,.mat-flat-button.mat-accent.mat-button-disabled,.mat-flat-button.mat-warn.mat-button-disabled,.mat-flat-button.mat-button-disabled.mat-button-disabled,.mat-raised-button.mat-primary.mat-button-disabled,.mat-raised-button.mat-accent.mat-button-disabled,.mat-raised-button.mat-warn.mat-button-disabled,.mat-raised-button.mat-button-disabled.mat-button-disabled,.mat-fab.mat-primary.mat-button-disabled,.mat-fab.mat-accent.mat-button-disabled,.mat-fab.mat-warn.mat-button-disabled,.mat-fab.mat-button-disabled.mat-button-disabled,.mat-mini-fab.mat-primary.mat-button-disabled,.mat-mini-fab.mat-accent.mat-button-disabled,.mat-mini-fab.mat-warn.mat-button-disabled,.mat-mini-fab.mat-button-disabled.mat-button-disabled{background-color:#0000001f}.mat-flat-button.mat-primary .mat-ripple-element,.mat-raised-button.mat-primary .mat-ripple-element,.mat-fab.mat-primary .mat-ripple-element,.mat-mini-fab.mat-primary .mat-ripple-element{background-color:#ffffff1a}.mat-flat-button.mat-accent .mat-ripple-element,.mat-raised-button.mat-accent .mat-ripple-element,.mat-fab.mat-accent .mat-ripple-element,.mat-mini-fab.mat-accent .mat-ripple-element{background-color:#0000001a}.mat-flat-button.mat-warn .mat-ripple-element,.mat-raised-button.mat-warn .mat-ripple-element,.mat-fab.mat-warn .mat-ripple-element,.mat-mini-fab.mat-warn .mat-ripple-element{background-color:#ffffff1a}.mat-stroked-button:not([class*=mat-elevation-z]),.mat-flat-button:not([class*=mat-elevation-z]){box-shadow:0 0 #0003,0 0 #00000024,0 0 #0000001f}.mat-raised-button:not([class*=mat-elevation-z]){box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}.mat-raised-button:not(.mat-button-disabled):active:not([class*=mat-elevation-z]){box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.mat-raised-button.mat-button-disabled:not([class*=mat-elevation-z]){box-shadow:0 0 #0003,0 0 #00000024,0 0 #0000001f}.mat-fab:not([class*=mat-elevation-z]),.mat-mini-fab:not([class*=mat-elevation-z]){box-shadow:0 3px 5px -1px #0003,0 6px 10px #00000024,0 1px 18px #0000001f}.mat-fab:not(.mat-button-disabled):active:not([class*=mat-elevation-z]),.mat-mini-fab:not(.mat-button-disabled):active:not([class*=mat-elevation-z]){box-shadow:0 7px 8px -4px #0003,0 12px 17px 2px #00000024,0 5px 22px 4px #0000001f}.mat-fab.mat-button-disabled:not([class*=mat-elevation-z]),.mat-mini-fab.mat-button-disabled:not([class*=mat-elevation-z]){box-shadow:0 0 #0003,0 0 #00000024,0 0 #0000001f}.mat-button-toggle-standalone:not([class*=mat-elevation-z]),.mat-button-toggle-group:not([class*=mat-elevation-z]){box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}.mat-button-toggle-standalone.mat-button-toggle-appearance-standard:not([class*=mat-elevation-z]),.mat-button-toggle-group-appearance-standard:not([class*=mat-elevation-z]){box-shadow:none}.mat-button-toggle{color:#00000061}.mat-button-toggle .mat-button-toggle-focus-overlay{background-color:#0000001f}.mat-button-toggle-appearance-standard{color:#000000de;background:white}.mat-button-toggle-appearance-standard .mat-button-toggle-focus-overlay{background-color:#000}.mat-button-toggle-group-appearance-standard .mat-button-toggle+.mat-button-toggle{border-left:solid 1px #e0e0e0}[dir=rtl] .mat-button-toggle-group-appearance-standard .mat-button-toggle+.mat-button-toggle{border-left:none;border-right:solid 1px #e0e0e0}.mat-button-toggle-group-appearance-standard.mat-button-toggle-vertical .mat-button-toggle+.mat-button-toggle{border-left:none;border-right:none;border-top:solid 1px #e0e0e0}.mat-button-toggle-checked{background-color:#e0e0e0;color:#0000008a}.mat-button-toggle-checked.mat-button-toggle-appearance-standard{color:#000000de}.mat-button-toggle-disabled{color:#00000042;background-color:#eee}.mat-button-toggle-disabled.mat-button-toggle-appearance-standard{background:white}.mat-button-toggle-disabled.mat-button-toggle-checked{background-color:#bdbdbd}.mat-button-toggle-standalone.mat-button-toggle-appearance-standard,.mat-button-toggle-group-appearance-standard{border:solid 1px #e0e0e0}.mat-button-toggle-appearance-standard .mat-button-toggle-label-content{line-height:48px}.mat-card{background:white;color:#000000de}.mat-card:not([class*=mat-elevation-z]){box-shadow:0 2px 1px -1px #0003,0 1px 1px #00000024,0 1px 3px #0000001f}.mat-card.mat-card-flat:not([class*=mat-elevation-z]){box-shadow:0 0 #0003,0 0 #00000024,0 0 #0000001f}.mat-card-subtitle{color:#0000008a}.mat-checkbox-frame{border-color:#0000008a}.mat-checkbox-checkmark{fill:#fafafa}.mat-checkbox-checkmark-path{stroke:#fafafa!important}.mat-checkbox-mixedmark{background-color:#fafafa}.mat-checkbox-indeterminate.mat-primary .mat-checkbox-background,.mat-checkbox-checked.mat-primary .mat-checkbox-background{background-color:#1e31eb}.mat-checkbox-indeterminate.mat-accent .mat-checkbox-background,.mat-checkbox-checked.mat-accent .mat-checkbox-background{background-color:#ff5252}.mat-checkbox-indeterminate.mat-warn .mat-checkbox-background,.mat-checkbox-checked.mat-warn .mat-checkbox-background{background-color:#c40000}.mat-checkbox-disabled.mat-checkbox-checked .mat-checkbox-background,.mat-checkbox-disabled.mat-checkbox-indeterminate .mat-checkbox-background{background-color:#b0b0b0}.mat-checkbox-disabled:not(.mat-checkbox-checked) .mat-checkbox-frame{border-color:#b0b0b0}.mat-checkbox-disabled .mat-checkbox-label{color:#00000061}.mat-checkbox .mat-ripple-element{background-color:#000}.mat-checkbox-checked:not(.mat-checkbox-disabled).mat-primary .mat-ripple-element,.mat-checkbox:active:not(.mat-checkbox-disabled).mat-primary .mat-ripple-element{background:#1e31eb}.mat-checkbox-checked:not(.mat-checkbox-disabled).mat-accent .mat-ripple-element,.mat-checkbox:active:not(.mat-checkbox-disabled).mat-accent .mat-ripple-element{background:#ff5252}.mat-checkbox-checked:not(.mat-checkbox-disabled).mat-warn .mat-ripple-element,.mat-checkbox:active:not(.mat-checkbox-disabled).mat-warn .mat-ripple-element{background:#c40000}.mat-chip.mat-standard-chip{background-color:#e0e0e0;color:#000000de}.mat-chip.mat-standard-chip .mat-chip-remove{color:#000000de;opacity:.4}.mat-chip.mat-standard-chip:not(.mat-chip-disabled):active{box-shadow:0 3px 3px -2px #0003,0 3px 4px #00000024,0 1px 8px #0000001f}.mat-chip.mat-standard-chip:not(.mat-chip-disabled) .mat-chip-remove:hover{opacity:.54}.mat-chip.mat-standard-chip.mat-chip-disabled{opacity:.4}.mat-chip.mat-standard-chip:after{background:black}.mat-chip.mat-standard-chip.mat-chip-selected.mat-primary{background-color:#1e31eb;color:#fff}.mat-chip.mat-standard-chip.mat-chip-selected.mat-primary .mat-chip-remove{color:#fff;opacity:.4}.mat-chip.mat-standard-chip.mat-chip-selected.mat-primary .mat-ripple-element{background-color:#ffffff1a}.mat-chip.mat-standard-chip.mat-chip-selected.mat-warn{background-color:#c40000;color:#fff}.mat-chip.mat-standard-chip.mat-chip-selected.mat-warn .mat-chip-remove{color:#fff;opacity:.4}.mat-chip.mat-standard-chip.mat-chip-selected.mat-warn .mat-ripple-element{background-color:#ffffff1a}.mat-chip.mat-standard-chip.mat-chip-selected.mat-accent{background-color:#ff5252;color:#000000de}.mat-chip.mat-standard-chip.mat-chip-selected.mat-accent .mat-chip-remove{color:#000000de;opacity:.4}.mat-chip.mat-standard-chip.mat-chip-selected.mat-accent .mat-ripple-element{background-color:#0000001a}.mat-table{background:white}.mat-table thead,.mat-table tbody,.mat-table tfoot,mat-header-row,mat-row,mat-footer-row,[mat-header-row],[mat-row],[mat-footer-row],.mat-table-sticky{background:inherit}mat-row,mat-header-row,mat-footer-row,th.mat-header-cell,td.mat-cell,td.mat-footer-cell{border-bottom-color:#0000001f}.mat-header-cell{color:#0000008a}.mat-cell,.mat-footer-cell{color:#000000de}.mat-calendar-arrow{fill:#0000008a}.mat-datepicker-toggle,.mat-datepicker-content .mat-calendar-next-button,.mat-datepicker-content .mat-calendar-previous-button{color:#0000008a}.mat-calendar-table-header-divider:after{background:rgba(0,0,0,.12)}.mat-calendar-table-header,.mat-calendar-body-label{color:#0000008a}.mat-calendar-body-cell-content,.mat-date-range-input-separator{color:#000000de;border-color:transparent}.mat-calendar-body-disabled>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){color:#00000061}.mat-form-field-disabled .mat-date-range-input-separator{color:#00000061}.mat-calendar-body-in-preview{color:#0000003d}.mat-calendar-body-today:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){border-color:#00000061}.mat-calendar-body-disabled>.mat-calendar-body-today:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){border-color:#0000002e}.mat-calendar-body-in-range:before{background:rgba(30,49,235,.2)}.mat-calendar-body-comparison-identical,.mat-calendar-body-in-comparison-range:before{background:rgba(249,171,0,.2)}.mat-calendar-body-comparison-bridge-start:before,[dir=rtl] .mat-calendar-body-comparison-bridge-end:before{background:linear-gradient(to right,rgba(30,49,235,.2) 50%,rgba(249,171,0,.2) 50%)}.mat-calendar-body-comparison-bridge-end:before,[dir=rtl] .mat-calendar-body-comparison-bridge-start:before{background:linear-gradient(to left,rgba(30,49,235,.2) 50%,rgba(249,171,0,.2) 50%)}.mat-calendar-body-in-range>.mat-calendar-body-comparison-identical,.mat-calendar-body-in-comparison-range.mat-calendar-body-in-range:after{background:#a8dab5}.mat-calendar-body-comparison-identical.mat-calendar-body-selected,.mat-calendar-body-in-comparison-range>.mat-calendar-body-selected{background:#46a35e}.mat-calendar-body-selected{background-color:#1e31eb;color:#fff}.mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:#1e31eb66}.mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #fff}.cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#1e31eb4d}@media (hover: hover){.mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#1e31eb4d}}.mat-datepicker-content{box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f;background-color:#fff;color:#000000de}.mat-datepicker-content.mat-accent .mat-calendar-body-in-range:before{background:rgba(255,82,82,.2)}.mat-datepicker-content.mat-accent .mat-calendar-body-comparison-identical,.mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range:before{background:rgba(249,171,0,.2)}.mat-datepicker-content.mat-accent .mat-calendar-body-comparison-bridge-start:before,.mat-datepicker-content.mat-accent [dir=rtl] .mat-calendar-body-comparison-bridge-end:before{background:linear-gradient(to right,rgba(255,82,82,.2) 50%,rgba(249,171,0,.2) 50%)}.mat-datepicker-content.mat-accent .mat-calendar-body-comparison-bridge-end:before,.mat-datepicker-content.mat-accent [dir=rtl] .mat-calendar-body-comparison-bridge-start:before{background:linear-gradient(to left,rgba(255,82,82,.2) 50%,rgba(249,171,0,.2) 50%)}.mat-datepicker-content.mat-accent .mat-calendar-body-in-range>.mat-calendar-body-comparison-identical,.mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range:after{background:#a8dab5}.mat-datepicker-content.mat-accent .mat-calendar-body-comparison-identical.mat-calendar-body-selected,.mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range>.mat-calendar-body-selected{background:#46a35e}.mat-datepicker-content.mat-accent .mat-calendar-body-selected{background-color:#ff5252;color:#000000de}.mat-datepicker-content.mat-accent .mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:#ff525266}.mat-datepicker-content.mat-accent .mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #000000de}.mat-datepicker-content.mat-accent .cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.mat-datepicker-content.mat-accent .cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#ff52524d}@media (hover: hover){.mat-datepicker-content.mat-accent .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#ff52524d}}.mat-datepicker-content.mat-warn .mat-calendar-body-in-range:before{background:rgba(196,0,0,.2)}.mat-datepicker-content.mat-warn .mat-calendar-body-comparison-identical,.mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range:before{background:rgba(249,171,0,.2)}.mat-datepicker-content.mat-warn .mat-calendar-body-comparison-bridge-start:before,.mat-datepicker-content.mat-warn [dir=rtl] .mat-calendar-body-comparison-bridge-end:before{background:linear-gradient(to right,rgba(196,0,0,.2) 50%,rgba(249,171,0,.2) 50%)}.mat-datepicker-content.mat-warn .mat-calendar-body-comparison-bridge-end:before,.mat-datepicker-content.mat-warn [dir=rtl] .mat-calendar-body-comparison-bridge-start:before{background:linear-gradient(to left,rgba(196,0,0,.2) 50%,rgba(249,171,0,.2) 50%)}.mat-datepicker-content.mat-warn .mat-calendar-body-in-range>.mat-calendar-body-comparison-identical,.mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range:after{background:#a8dab5}.mat-datepicker-content.mat-warn .mat-calendar-body-comparison-identical.mat-calendar-body-selected,.mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range>.mat-calendar-body-selected{background:#46a35e}.mat-datepicker-content.mat-warn .mat-calendar-body-selected{background-color:#c40000;color:#fff}.mat-datepicker-content.mat-warn .mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:#c4000066}.mat-datepicker-content.mat-warn .mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #fff}.mat-datepicker-content.mat-warn .cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.mat-datepicker-content.mat-warn .cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#c400004d}@media (hover: hover){.mat-datepicker-content.mat-warn .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#c400004d}}.mat-datepicker-content-touch{box-shadow:0 11px 15px -7px #0003,0 24px 38px 3px #00000024,0 9px 46px 8px #0000001f}.mat-datepicker-toggle-active{color:#1e31eb}.mat-datepicker-toggle-active.mat-accent{color:#ff5252}.mat-datepicker-toggle-active.mat-warn{color:#c40000}.mat-date-range-input-inner[disabled]{color:#00000061}.mat-dialog-container{box-shadow:0 11px 15px -7px #0003,0 24px 38px 3px #00000024,0 9px 46px 8px #0000001f;background:white;color:#000000de}.mat-divider{border-top-color:#0000001f}.mat-divider-vertical{border-right-color:#0000001f}.mat-expansion-panel{background:white;color:#000000de}.mat-expansion-panel:not([class*=mat-elevation-z]){box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}.mat-action-row{border-top-color:#0000001f}.mat-expansion-panel .mat-expansion-panel-header.cdk-keyboard-focused:not([aria-disabled=true]),.mat-expansion-panel .mat-expansion-panel-header.cdk-program-focused:not([aria-disabled=true]),.mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:hover:not([aria-disabled=true]){background:rgba(0,0,0,.04)}@media (hover: none){.mat-expansion-panel:not(.mat-expanded):not([aria-disabled=true]) .mat-expansion-panel-header:hover{background:white}}.mat-expansion-panel-header-title{color:#000000de}.mat-expansion-panel-header-description,.mat-expansion-indicator:after{color:#0000008a}.mat-expansion-panel-header[aria-disabled=true]{color:#00000042}.mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-title,.mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-description{color:inherit}.mat-expansion-panel-header{height:48px}.mat-expansion-panel-header.mat-expanded{height:64px}.mat-form-field-label,.mat-hint{color:#0009}.mat-form-field.mat-focused .mat-form-field-label{color:#1e31eb}.mat-form-field.mat-focused .mat-form-field-label.mat-accent{color:#ff5252}.mat-form-field.mat-focused .mat-form-field-label.mat-warn{color:#c40000}.mat-focused .mat-form-field-required-marker{color:#ff5252}.mat-form-field-ripple{background-color:#000000de}.mat-form-field.mat-focused .mat-form-field-ripple{background-color:#1e31eb}.mat-form-field.mat-focused .mat-form-field-ripple.mat-accent{background-color:#ff5252}.mat-form-field.mat-focused .mat-form-field-ripple.mat-warn{background-color:#c40000}.mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid) .mat-form-field-infix:after{color:#1e31eb}.mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid).mat-accent .mat-form-field-infix:after{color:#ff5252}.mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid).mat-warn .mat-form-field-infix:after{color:#c40000}.mat-form-field.mat-form-field-invalid .mat-form-field-label,.mat-form-field.mat-form-field-invalid .mat-form-field-label.mat-accent,.mat-form-field.mat-form-field-invalid .mat-form-field-label .mat-form-field-required-marker{color:#c40000}.mat-form-field.mat-form-field-invalid .mat-form-field-ripple,.mat-form-field.mat-form-field-invalid .mat-form-field-ripple.mat-accent{background-color:#c40000}.mat-error{color:#c40000}.mat-form-field-appearance-legacy .mat-form-field-label,.mat-form-field-appearance-legacy .mat-hint{color:#0000008a}.mat-form-field-appearance-legacy .mat-form-field-underline{background-color:#0000006b}.mat-form-field-appearance-legacy.mat-form-field-disabled .mat-form-field-underline{background-image:linear-gradient(to right,rgba(0,0,0,.42) 0%,rgba(0,0,0,.42) 33%,transparent 0%);background-size:4px 100%;background-repeat:repeat-x}.mat-form-field-appearance-standard .mat-form-field-underline{background-color:#0000006b}.mat-form-field-appearance-standard.mat-form-field-disabled .mat-form-field-underline{background-image:linear-gradient(to right,rgba(0,0,0,.42) 0%,rgba(0,0,0,.42) 33%,transparent 0%);background-size:4px 100%;background-repeat:repeat-x}.mat-form-field-appearance-fill .mat-form-field-flex{background-color:#0000000a}.mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-flex{background-color:#00000005}.mat-form-field-appearance-fill .mat-form-field-underline:before{background-color:#0000006b}.mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-label{color:#00000061}.mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-underline:before{background-color:transparent}.mat-form-field-appearance-outline .mat-form-field-outline{color:#0000001f}.mat-form-field-appearance-outline .mat-form-field-outline-thick{color:#000000de}.mat-form-field-appearance-outline.mat-focused .mat-form-field-outline-thick{color:#1e31eb}.mat-form-field-appearance-outline.mat-focused.mat-accent .mat-form-field-outline-thick{color:#ff5252}.mat-form-field-appearance-outline.mat-focused.mat-warn .mat-form-field-outline-thick,.mat-form-field-appearance-outline.mat-form-field-invalid.mat-form-field-invalid .mat-form-field-outline-thick{color:#c40000}.mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-label{color:#00000061}.mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-outline{color:#0000000f}.mat-icon.mat-primary{color:#1e31eb}.mat-icon.mat-accent{color:#ff5252}.mat-icon.mat-warn{color:#c40000}.mat-form-field-type-mat-native-select .mat-form-field-infix:after{color:#0000008a}.mat-input-element:disabled,.mat-form-field-type-mat-native-select.mat-form-field-disabled .mat-form-field-infix:after{color:#00000061}.mat-input-element{caret-color:#1e31eb}.mat-input-element::placeholder{color:#0000006b}.mat-input-element::-moz-placeholder{color:#0000006b}.mat-input-element::-webkit-input-placeholder{color:#0000006b}.mat-input-element:-ms-input-placeholder{color:#0000006b}.mat-form-field.mat-accent .mat-input-element{caret-color:#ff5252}.mat-form-field.mat-warn .mat-input-element,.mat-form-field-invalid .mat-input-element{caret-color:#c40000}.mat-form-field-type-mat-native-select.mat-form-field-invalid .mat-form-field-infix:after{color:#c40000}.mat-list-base .mat-list-item,.mat-list-base .mat-list-option{color:#000000de}.mat-list-base .mat-subheader{color:#0000008a}.mat-list-base .mat-list-item-disabled{background-color:#eee;color:#00000061}.mat-list-option:hover,.mat-list-option:focus,.mat-nav-list .mat-list-item:hover,.mat-nav-list .mat-list-item:focus,.mat-action-list .mat-list-item:hover,.mat-action-list .mat-list-item:focus{background:rgba(0,0,0,.04)}.mat-list-single-selected-option,.mat-list-single-selected-option:hover,.mat-list-single-selected-option:focus{background:rgba(0,0,0,.12)}.mat-menu-panel{background:white}.mat-menu-panel:not([class*=mat-elevation-z]){box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f}.mat-menu-item{background:transparent;color:#000000de}.mat-menu-item[disabled],.mat-menu-item[disabled] .mat-menu-submenu-icon,.mat-menu-item[disabled] .mat-icon-no-color{color:#00000061}.mat-menu-item .mat-icon-no-color,.mat-menu-submenu-icon{color:#0000008a}.mat-menu-item:hover:not([disabled]),.mat-menu-item.cdk-program-focused:not([disabled]),.mat-menu-item.cdk-keyboard-focused:not([disabled]),.mat-menu-item-highlighted:not([disabled]){background:rgba(0,0,0,.04)}.mat-paginator{background:white}.mat-paginator,.mat-paginator-page-size .mat-select-trigger{color:#0000008a}.mat-paginator-decrement,.mat-paginator-increment{border-top:2px solid rgba(0,0,0,.54);border-right:2px solid rgba(0,0,0,.54)}.mat-paginator-first,.mat-paginator-last{border-top:2px solid rgba(0,0,0,.54)}.mat-icon-button[disabled] .mat-paginator-decrement,.mat-icon-button[disabled] .mat-paginator-increment,.mat-icon-button[disabled] .mat-paginator-first,.mat-icon-button[disabled] .mat-paginator-last{border-color:#00000061}.mat-paginator-container{min-height:56px}.mat-progress-bar-background{fill:#c3c8f6}.mat-progress-bar-buffer{background-color:#c3c8f6}.mat-progress-bar-fill:after{background-color:#1e31eb}.mat-progress-bar.mat-accent .mat-progress-bar-background{fill:#fbd0d0}.mat-progress-bar.mat-accent .mat-progress-bar-buffer{background-color:#fbd0d0}.mat-progress-bar.mat-accent .mat-progress-bar-fill:after{background-color:#ff5252}.mat-progress-bar.mat-warn .mat-progress-bar-background{fill:#edbcbc}.mat-progress-bar.mat-warn .mat-progress-bar-buffer{background-color:#edbcbc}.mat-progress-bar.mat-warn .mat-progress-bar-fill:after{background-color:#c40000}.mat-progress-spinner circle,.mat-spinner circle{stroke:#1e31eb}.mat-progress-spinner.mat-accent circle,.mat-spinner.mat-accent circle{stroke:#ff5252}.mat-progress-spinner.mat-warn circle,.mat-spinner.mat-warn circle{stroke:#c40000}.mat-radio-outer-circle{border-color:#0000008a}.mat-radio-button.mat-primary.mat-radio-checked .mat-radio-outer-circle{border-color:#1e31eb}.mat-radio-button.mat-primary .mat-radio-inner-circle,.mat-radio-button.mat-primary .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),.mat-radio-button.mat-primary.mat-radio-checked .mat-radio-persistent-ripple,.mat-radio-button.mat-primary:active .mat-radio-persistent-ripple{background-color:#1e31eb}.mat-radio-button.mat-accent.mat-radio-checked .mat-radio-outer-circle{border-color:#ff5252}.mat-radio-button.mat-accent .mat-radio-inner-circle,.mat-radio-button.mat-accent .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),.mat-radio-button.mat-accent.mat-radio-checked .mat-radio-persistent-ripple,.mat-radio-button.mat-accent:active .mat-radio-persistent-ripple{background-color:#ff5252}.mat-radio-button.mat-warn.mat-radio-checked .mat-radio-outer-circle{border-color:#c40000}.mat-radio-button.mat-warn .mat-radio-inner-circle,.mat-radio-button.mat-warn .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),.mat-radio-button.mat-warn.mat-radio-checked .mat-radio-persistent-ripple,.mat-radio-button.mat-warn:active .mat-radio-persistent-ripple{background-color:#c40000}.mat-radio-button.mat-radio-disabled.mat-radio-checked .mat-radio-outer-circle,.mat-radio-button.mat-radio-disabled .mat-radio-outer-circle{border-color:#00000061}.mat-radio-button.mat-radio-disabled .mat-radio-ripple .mat-ripple-element,.mat-radio-button.mat-radio-disabled .mat-radio-inner-circle{background-color:#00000061}.mat-radio-button.mat-radio-disabled .mat-radio-label-content{color:#00000061}.mat-radio-button .mat-ripple-element{background-color:#000}.mat-select-value{color:#000000de}.mat-select-placeholder{color:#0000006b}.mat-select-disabled .mat-select-value{color:#00000061}.mat-select-arrow{color:#0000008a}.mat-select-panel{background:white}.mat-select-panel:not([class*=mat-elevation-z]){box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f}.mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){background:rgba(0,0,0,.12)}.mat-form-field.mat-focused.mat-primary .mat-select-arrow{color:#1e31eb}.mat-form-field.mat-focused.mat-accent .mat-select-arrow{color:#ff5252}.mat-form-field.mat-focused.mat-warn .mat-select-arrow,.mat-form-field .mat-select.mat-select-invalid .mat-select-arrow{color:#c40000}.mat-form-field .mat-select.mat-select-disabled .mat-select-arrow{color:#00000061}.mat-drawer-container{background-color:#fafafa;color:#000000de}.mat-drawer{background-color:#fff;color:#000000de}.mat-drawer.mat-drawer-push{background-color:#fff}.mat-drawer:not(.mat-drawer-side){box-shadow:0 8px 10px -5px #0003,0 16px 24px 2px #00000024,0 6px 30px 5px #0000001f}.mat-drawer-side{border-right:solid 1px rgba(0,0,0,.12)}.mat-drawer-side.mat-drawer-end,[dir=rtl] .mat-drawer-side{border-left:solid 1px rgba(0,0,0,.12);border-right:none}[dir=rtl] .mat-drawer-side.mat-drawer-end{border-left:none;border-right:solid 1px rgba(0,0,0,.12)}.mat-drawer-backdrop.mat-drawer-shown{background-color:#0009}.mat-slide-toggle.mat-checked .mat-slide-toggle-thumb{background-color:#ff5252}.mat-slide-toggle.mat-checked .mat-slide-toggle-bar{background-color:#ff52528a}.mat-slide-toggle.mat-checked .mat-ripple-element{background-color:#ff5252}.mat-slide-toggle.mat-primary.mat-checked .mat-slide-toggle-thumb{background-color:#1e31eb}.mat-slide-toggle.mat-primary.mat-checked .mat-slide-toggle-bar{background-color:#1e31eb8a}.mat-slide-toggle.mat-primary.mat-checked .mat-ripple-element{background-color:#1e31eb}.mat-slide-toggle.mat-warn.mat-checked .mat-slide-toggle-thumb{background-color:#c40000}.mat-slide-toggle.mat-warn.mat-checked .mat-slide-toggle-bar{background-color:#c400008a}.mat-slide-toggle.mat-warn.mat-checked .mat-ripple-element{background-color:#c40000}.mat-slide-toggle:not(.mat-checked) .mat-ripple-element{background-color:#000}.mat-slide-toggle-thumb{box-shadow:0 2px 1px -1px #0003,0 1px 1px #00000024,0 1px 3px #0000001f;background-color:#fafafa}.mat-slide-toggle-bar{background-color:#00000061}.mat-slider-track-background{background-color:#00000042}.mat-slider.mat-primary .mat-slider-track-fill,.mat-slider.mat-primary .mat-slider-thumb,.mat-slider.mat-primary .mat-slider-thumb-label{background-color:#1e31eb}.mat-slider.mat-primary .mat-slider-thumb-label-text{color:#fff}.mat-slider.mat-primary .mat-slider-focus-ring{background-color:#1e31eb33}.mat-slider.mat-accent .mat-slider-track-fill,.mat-slider.mat-accent .mat-slider-thumb,.mat-slider.mat-accent .mat-slider-thumb-label{background-color:#ff5252}.mat-slider.mat-accent .mat-slider-thumb-label-text{color:#000000de}.mat-slider.mat-accent .mat-slider-focus-ring{background-color:#ff525233}.mat-slider.mat-warn .mat-slider-track-fill,.mat-slider.mat-warn .mat-slider-thumb,.mat-slider.mat-warn .mat-slider-thumb-label{background-color:#c40000}.mat-slider.mat-warn .mat-slider-thumb-label-text{color:#fff}.mat-slider.mat-warn .mat-slider-focus-ring{background-color:#c4000033}.mat-slider:hover .mat-slider-track-background,.mat-slider.cdk-focused .mat-slider-track-background{background-color:#00000061}.mat-slider.mat-slider-disabled .mat-slider-track-background,.mat-slider.mat-slider-disabled .mat-slider-track-fill,.mat-slider.mat-slider-disabled .mat-slider-thumb,.mat-slider.mat-slider-disabled:hover .mat-slider-track-background{background-color:#00000042}.mat-slider.mat-slider-min-value .mat-slider-focus-ring{background-color:#0000001f}.mat-slider.mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb,.mat-slider.mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb-label{background-color:#000000de}.mat-slider.mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb,.mat-slider.mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb-label{background-color:#00000042}.mat-slider.mat-slider-min-value:not(.mat-slider-thumb-label-showing) .mat-slider-thumb{border-color:#00000042;background-color:transparent}.mat-slider.mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover .mat-slider-thumb,.mat-slider.mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused .mat-slider-thumb{border-color:#00000061}.mat-slider.mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover.mat-slider-disabled .mat-slider-thumb,.mat-slider.mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused.mat-slider-disabled .mat-slider-thumb{border-color:#00000042}.mat-slider-has-ticks .mat-slider-wrapper:after{border-color:#000000b3}.mat-slider-horizontal .mat-slider-ticks{background-image:repeating-linear-gradient(to right,rgba(0,0,0,.7),rgba(0,0,0,.7) 2px,transparent 0,transparent);background-image:-moz-repeating-linear-gradient(.0001deg,rgba(0,0,0,.7),rgba(0,0,0,.7) 2px,transparent 0,transparent)}.mat-slider-vertical .mat-slider-ticks{background-image:repeating-linear-gradient(to bottom,rgba(0,0,0,.7),rgba(0,0,0,.7) 2px,transparent 0,transparent)}.mat-step-header.cdk-keyboard-focused,.mat-step-header.cdk-program-focused,.mat-step-header:hover:not([aria-disabled]),.mat-step-header:hover[aria-disabled=false]{background-color:#0000000a}.mat-step-header:hover[aria-disabled=true]{cursor:default}@media (hover: none){.mat-step-header:hover{background:none}}.mat-step-header .mat-step-label,.mat-step-header .mat-step-optional{color:#0000008a}.mat-step-header .mat-step-icon{background-color:#0000008a;color:#fff}.mat-step-header .mat-step-icon-selected,.mat-step-header .mat-step-icon-state-done,.mat-step-header .mat-step-icon-state-edit{background-color:#1e31eb;color:#fff}.mat-step-header.mat-accent .mat-step-icon{color:#000000de}.mat-step-header.mat-accent .mat-step-icon-selected,.mat-step-header.mat-accent .mat-step-icon-state-done,.mat-step-header.mat-accent .mat-step-icon-state-edit{background-color:#ff5252;color:#000000de}.mat-step-header.mat-warn .mat-step-icon{color:#fff}.mat-step-header.mat-warn .mat-step-icon-selected,.mat-step-header.mat-warn .mat-step-icon-state-done,.mat-step-header.mat-warn .mat-step-icon-state-edit{background-color:#c40000;color:#fff}.mat-step-header .mat-step-icon-state-error{background-color:transparent;color:#c40000}.mat-step-header .mat-step-label.mat-step-label-active{color:#000000de}.mat-step-header .mat-step-label.mat-step-label-error{color:#c40000}.mat-stepper-horizontal,.mat-stepper-vertical{background-color:#fff}.mat-stepper-vertical-line:before{border-left-color:#0000001f}.mat-horizontal-stepper-header:before,.mat-horizontal-stepper-header:after,.mat-stepper-horizontal-line{border-top-color:#0000001f}.mat-horizontal-stepper-header{height:72px}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header,.mat-vertical-stepper-header{padding:24px}.mat-stepper-vertical-line:before{top:-16px;bottom:-16px}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header:after,.mat-stepper-label-position-bottom .mat-horizontal-stepper-header:before{top:36px}.mat-stepper-label-position-bottom .mat-stepper-horizontal-line{top:36px}.mat-sort-header-arrow{color:#757575}.mat-tab-nav-bar,.mat-tab-header{border-bottom:1px solid rgba(0,0,0,.12)}.mat-tab-group-inverted-header .mat-tab-nav-bar,.mat-tab-group-inverted-header .mat-tab-header{border-top:1px solid rgba(0,0,0,.12);border-bottom:none}.mat-tab-label,.mat-tab-link{color:#000000de}.mat-tab-label.mat-tab-disabled,.mat-tab-link.mat-tab-disabled{color:#00000061}.mat-tab-header-pagination-chevron{border-color:#000000de}.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:#00000061}.mat-tab-group[class*=mat-background-]>.mat-tab-header,.mat-tab-nav-bar[class*=mat-background-]{border-bottom:none;border-top:none}.mat-tab-group.mat-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-group.mat-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#c5cae94d}.mat-tab-group.mat-primary .mat-ink-bar,.mat-tab-nav-bar.mat-primary .mat-ink-bar{background-color:#1e31eb}.mat-tab-group.mat-primary.mat-background-primary>.mat-tab-header .mat-ink-bar,.mat-tab-group.mat-primary.mat-background-primary>.mat-tab-link-container .mat-ink-bar,.mat-tab-nav-bar.mat-primary.mat-background-primary>.mat-tab-header .mat-ink-bar,.mat-tab-nav-bar.mat-primary.mat-background-primary>.mat-tab-link-container .mat-ink-bar{background-color:#fff}.mat-tab-group.mat-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-group.mat-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#ff8a804d}.mat-tab-group.mat-accent .mat-ink-bar,.mat-tab-nav-bar.mat-accent .mat-ink-bar{background-color:#ff5252}.mat-tab-group.mat-accent.mat-background-accent>.mat-tab-header .mat-ink-bar,.mat-tab-group.mat-accent.mat-background-accent>.mat-tab-link-container .mat-ink-bar,.mat-tab-nav-bar.mat-accent.mat-background-accent>.mat-tab-header .mat-ink-bar,.mat-tab-nav-bar.mat-accent.mat-background-accent>.mat-tab-link-container .mat-ink-bar{background-color:#000000de}.mat-tab-group.mat-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-group.mat-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#ffcdd24d}.mat-tab-group.mat-warn .mat-ink-bar,.mat-tab-nav-bar.mat-warn .mat-ink-bar{background-color:#c40000}.mat-tab-group.mat-warn.mat-background-warn>.mat-tab-header .mat-ink-bar,.mat-tab-group.mat-warn.mat-background-warn>.mat-tab-link-container .mat-ink-bar,.mat-tab-nav-bar.mat-warn.mat-background-warn>.mat-tab-header .mat-ink-bar,.mat-tab-nav-bar.mat-warn.mat-background-warn>.mat-tab-link-container .mat-ink-bar{background-color:#fff}.mat-tab-group.mat-background-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-background-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-group.mat-background-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-background-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#c5cae94d}.mat-tab-group.mat-background-primary>.mat-tab-header,.mat-tab-group.mat-background-primary>.mat-tab-link-container,.mat-tab-group.mat-background-primary>.mat-tab-header-pagination,.mat-tab-nav-bar.mat-background-primary>.mat-tab-header,.mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container,.mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination{background-color:#1e31eb}.mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-label,.mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-tab-link,.mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-label,.mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-tab-link{color:#fff}.mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-label.mat-tab-disabled,.mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-tab-link.mat-tab-disabled,.mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-label.mat-tab-disabled,.mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-tab-link.mat-tab-disabled{color:#fff6}.mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-chevron,.mat-tab-group.mat-background-primary>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-focus-indicator:before,.mat-tab-group.mat-background-primary>.mat-tab-header .mat-focus-indicator:before,.mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-focus-indicator:before,.mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-focus-indicator:before{border-color:#fff}.mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.mat-tab-group.mat-background-primary>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:#fff;opacity:.4}.mat-tab-group.mat-background-primary>.mat-tab-header .mat-ripple-element,.mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-ripple-element,.mat-tab-group.mat-background-primary>.mat-tab-header-pagination .mat-ripple-element,.mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-ripple-element,.mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-ripple-element,.mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination .mat-ripple-element{background-color:#fff;opacity:.12}.mat-tab-group.mat-background-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-background-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-group.mat-background-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-background-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#ff8a804d}.mat-tab-group.mat-background-accent>.mat-tab-header,.mat-tab-group.mat-background-accent>.mat-tab-link-container,.mat-tab-group.mat-background-accent>.mat-tab-header-pagination,.mat-tab-nav-bar.mat-background-accent>.mat-tab-header,.mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container,.mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination{background-color:#ff5252}.mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-label,.mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-tab-link,.mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-label,.mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-tab-link{color:#000000de}.mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-label.mat-tab-disabled,.mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-tab-link.mat-tab-disabled,.mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-label.mat-tab-disabled,.mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-tab-link.mat-tab-disabled{color:#0006}.mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-chevron,.mat-tab-group.mat-background-accent>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-focus-indicator:before,.mat-tab-group.mat-background-accent>.mat-tab-header .mat-focus-indicator:before,.mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-focus-indicator:before,.mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-focus-indicator:before{border-color:#000000de}.mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.mat-tab-group.mat-background-accent>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:#000;opacity:.4}.mat-tab-group.mat-background-accent>.mat-tab-header .mat-ripple-element,.mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-ripple-element,.mat-tab-group.mat-background-accent>.mat-tab-header-pagination .mat-ripple-element,.mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-ripple-element,.mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-ripple-element,.mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination .mat-ripple-element{background-color:#000;opacity:.12}.mat-tab-group.mat-background-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-background-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-group.mat-background-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-background-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#ffcdd24d}.mat-tab-group.mat-background-warn>.mat-tab-header,.mat-tab-group.mat-background-warn>.mat-tab-link-container,.mat-tab-group.mat-background-warn>.mat-tab-header-pagination,.mat-tab-nav-bar.mat-background-warn>.mat-tab-header,.mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container,.mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination{background-color:#c40000}.mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-label,.mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-tab-link,.mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-label,.mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-tab-link{color:#fff}.mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-label.mat-tab-disabled,.mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-tab-link.mat-tab-disabled,.mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-label.mat-tab-disabled,.mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-tab-link.mat-tab-disabled{color:#fff6}.mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-chevron,.mat-tab-group.mat-background-warn>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-focus-indicator:before,.mat-tab-group.mat-background-warn>.mat-tab-header .mat-focus-indicator:before,.mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-focus-indicator:before,.mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-focus-indicator:before{border-color:#fff}.mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.mat-tab-group.mat-background-warn>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:#fff;opacity:.4}.mat-tab-group.mat-background-warn>.mat-tab-header .mat-ripple-element,.mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-ripple-element,.mat-tab-group.mat-background-warn>.mat-tab-header-pagination .mat-ripple-element,.mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-ripple-element,.mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-ripple-element,.mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination .mat-ripple-element{background-color:#fff;opacity:.12}.mat-toolbar{background:whitesmoke;color:#000000de}.mat-toolbar.mat-primary{background:#1e31eb;color:#fff}.mat-toolbar.mat-accent{background:#ff5252;color:#000000de}.mat-toolbar.mat-warn{background:#c40000;color:#fff}.mat-toolbar .mat-form-field-underline,.mat-toolbar .mat-form-field-ripple,.mat-toolbar .mat-focused .mat-form-field-ripple{background-color:currentColor}.mat-toolbar .mat-form-field-label,.mat-toolbar .mat-focused .mat-form-field-label,.mat-toolbar .mat-select-value,.mat-toolbar .mat-select-arrow,.mat-toolbar .mat-form-field.mat-focused .mat-select-arrow{color:inherit}.mat-toolbar .mat-input-element{caret-color:currentColor}.mat-toolbar-multiple-rows{min-height:64px}.mat-toolbar-row,.mat-toolbar-single-row{height:64px}@media (max-width: 599px){.mat-toolbar-multiple-rows{min-height:56px}.mat-toolbar-row,.mat-toolbar-single-row{height:56px}}.mat-tooltip{background:rgba(97,97,97,.9)}.mat-tree{background:white}.mat-tree-node,.mat-nested-tree-node{color:#000000de}.mat-tree-node{min-height:48px}.mat-snack-bar-container{color:#ffffffb3;background:#323232;box-shadow:0 3px 5px -1px #0003,0 6px 10px #00000024,0 1px 18px #0000001f}.mat-simple-snackbar-action{color:#ff5252}.mat-ripple-element{background-color:#0000001a}.mat-option{color:#000000de}.mat-option:hover:not(.mat-option-disabled),.mat-option:focus:not(.mat-option-disabled){background:rgba(0,0,0,.04)}.mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled){background:rgba(0,0,0,.04)}.mat-option.mat-active{background:rgba(0,0,0,.04);color:#000000de}.mat-option.mat-option-disabled{color:#00000061}.mat-primary .mat-option.mat-selected:not(.mat-option-disabled){color:#1e31eb}.mat-accent .mat-option.mat-selected:not(.mat-option-disabled){color:#ff5252}.mat-warn .mat-option.mat-selected:not(.mat-option-disabled){color:#c40000}.mat-optgroup-label{color:#0000008a}.mat-optgroup-disabled .mat-optgroup-label{color:#00000061}.mat-pseudo-checkbox{color:#0000008a}.mat-pseudo-checkbox:after{color:#fafafa}.mat-pseudo-checkbox-disabled{color:#b0b0b0}.mat-primary .mat-pseudo-checkbox-checked,.mat-primary .mat-pseudo-checkbox-indeterminate{background:#1e31eb}.mat-pseudo-checkbox-checked,.mat-pseudo-checkbox-indeterminate,.mat-accent .mat-pseudo-checkbox-checked,.mat-accent .mat-pseudo-checkbox-indeterminate{background:#ff5252}.mat-warn .mat-pseudo-checkbox-checked,.mat-warn .mat-pseudo-checkbox-indeterminate{background:#c40000}.mat-pseudo-checkbox-checked.mat-pseudo-checkbox-disabled,.mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-disabled{background:#b0b0b0}.mat-app-background{background-color:#fafafa;color:#000000de}.mat-elevation-z0{box-shadow:0 0 #0003,0 0 #00000024,0 0 #0000001f}.mat-elevation-z1{box-shadow:0 2px 1px -1px #0003,0 1px 1px #00000024,0 1px 3px #0000001f}.mat-elevation-z2{box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}.mat-elevation-z3{box-shadow:0 3px 3px -2px #0003,0 3px 4px #00000024,0 1px 8px #0000001f}.mat-elevation-z4{box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f}.mat-elevation-z5{box-shadow:0 3px 5px -1px #0003,0 5px 8px #00000024,0 1px 14px #0000001f}.mat-elevation-z6{box-shadow:0 3px 5px -1px #0003,0 6px 10px #00000024,0 1px 18px #0000001f}.mat-elevation-z7{box-shadow:0 4px 5px -2px #0003,0 7px 10px 1px #00000024,0 2px 16px 1px #0000001f}.mat-elevation-z8{box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.mat-elevation-z9{box-shadow:0 5px 6px -3px #0003,0 9px 12px 1px #00000024,0 3px 16px 2px #0000001f}.mat-elevation-z10{box-shadow:0 6px 6px -3px #0003,0 10px 14px 1px #00000024,0 4px 18px 3px #0000001f}.mat-elevation-z11{box-shadow:0 6px 7px -4px #0003,0 11px 15px 1px #00000024,0 4px 20px 3px #0000001f}.mat-elevation-z12{box-shadow:0 7px 8px -4px #0003,0 12px 17px 2px #00000024,0 5px 22px 4px #0000001f}.mat-elevation-z13{box-shadow:0 7px 8px -4px #0003,0 13px 19px 2px #00000024,0 5px 24px 4px #0000001f}.mat-elevation-z14{box-shadow:0 7px 9px -4px #0003,0 14px 21px 2px #00000024,0 5px 26px 4px #0000001f}.mat-elevation-z15{box-shadow:0 8px 9px -5px #0003,0 15px 22px 2px #00000024,0 6px 28px 5px #0000001f}.mat-elevation-z16{box-shadow:0 8px 10px -5px #0003,0 16px 24px 2px #00000024,0 6px 30px 5px #0000001f}.mat-elevation-z17{box-shadow:0 8px 11px -5px #0003,0 17px 26px 2px #00000024,0 6px 32px 5px #0000001f}.mat-elevation-z18{box-shadow:0 9px 11px -5px #0003,0 18px 28px 2px #00000024,0 7px 34px 6px #0000001f}.mat-elevation-z19{box-shadow:0 9px 12px -6px #0003,0 19px 29px 2px #00000024,0 7px 36px 6px #0000001f}.mat-elevation-z20{box-shadow:0 10px 13px -6px #0003,0 20px 31px 3px #00000024,0 8px 38px 7px #0000001f}.mat-elevation-z21{box-shadow:0 10px 13px -6px #0003,0 21px 33px 3px #00000024,0 8px 40px 7px #0000001f}.mat-elevation-z22{box-shadow:0 10px 14px -6px #0003,0 22px 35px 3px #00000024,0 8px 42px 7px #0000001f}.mat-elevation-z23{box-shadow:0 11px 14px -7px #0003,0 23px 36px 3px #00000024,0 9px 44px 8px #0000001f}.mat-elevation-z24{box-shadow:0 11px 15px -7px #0003,0 24px 38px 3px #00000024,0 9px 46px 8px #0000001f}.mat-theme-loaded-marker{display:none}.extension-container{display:inline-block;font-size:15px;border:1px solid var(--primary);border-radius:15px;margin-right:10px}.extension-container mat-icon{vertical-align:middle;font-size:15px;height:15px;width:15px;color:var(--danger);margin-right:10px;cursor:pointer}.extension-container span{margin-left:10px}.key-value-list-section-title{background:linear-gradient(to right,var(--gray) 0%,rgb(255,255,255) 100%) left bottom #fff no-repeat;background-size:100% 1px}.value-pairs-list{list-style:none;padding:0}.value-pairs-list mat-icon{vertical-align:middle;font-size:15px;height:15px;width:15px;color:var(--danger);margin-right:10px;cursor:pointer}::ng-deep .mat-dialog-container{border-radius:10px}.row.title{background-color:#ebebeb;padding:20px 0 20px 50px}.row.title mat-icon.add{background:#fff;color:#7b7b7b;height:40px;width:40px;border-radius:10px;font-size:27px;padding:7px 6px 6px 7px;margin:0 7px 0 0}.row.title .header-title-standard{display:flex;align-items:center;font-size:19px;font-weight:700;color:gray}.row:not(.title){margin:15px 0 0}form{margin:25px 0 0}eqp-select ::ng-deep mat-select{background:url(/assets/images/arrow.png) no-repeat;background-size:15px;background-position:95% 21px;border:1px solid #e7e7e9;border-radius:10px;padding:15px 0 15px 20px!important;margin-top:-1px;background-color:#fff}eqp-select ::ng-deep mat-select:focus{border:1px solid #6F79FB}::ng-deep .mat-select-arrow{color:transparent!important}input[type=number]{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none}.increasableValues{display:flex}.increasableValues .col-sm-12{display:flex;flex-direction:column;margin:0 3em 0 0}.increasableValues .col-sm-12 .mat-form-field{height:79px;line-height:34px;width:50%}.increasableValues .col-sm-12 .mat-form-field ::ng-deep .mat-form-field-flex{width:230px;border:1px solid #e7e7e9;border-radius:10px;padding:7px 0 0 20px!important;margin-top:10px;background-color:#fff}.increasableValues .col-sm-12 .mat-form-field ::ng-deep .mat-form-field-flex .mat-form-field-infix{display:flex;margin:-10px 0 0}.increasableValues .col-sm-12 .mat-form-field ::ng-deep .mat-form-field-flex .mat-form-field-infix input{margin:0;border:none;height:100%}.increasableValues .col-sm-12 .mat-form-field div.buttons{display:flex;flex-direction:column;margin:-10px 0 0;border-right:1px solid #F4F4F4;padding:10px 14px 0 0}.increasableValues .col-sm-12 .mat-form-field div.buttons button.up{height:17px;width:21px;background:url(/assets/images/arrow.png) no-repeat;background-size:20px;background-position-y:1px;background-position-x:1px;-webkit-transform:rotate(180deg);border:none;opacity:.3;cursor:pointer}.increasableValues .col-sm-12 .mat-form-field div.buttons button.down{height:50px;width:23px;background:url(/assets/images/arrow.png) no-repeat no-repeat;background-size:20px;border:none;opacity:.3;background-position-y:21px;background-position-x:0px;cursor:pointer}.increasableValues .col-sm-12 .mat-form-field input{margin:-14px 0 0 63px;font-size:18px}.second .col-sm-12{margin:0 1em 0 0}.date ::ng-deep mat-form-field .mat-form-field-wrapper .mat-form-field-label-wrapper label{display:none}.date ::ng-deep mat-form-field .mat-form-field-wrapper .mat-form-field-suffix{display:inline}eqp-attachments ::ng-deep div button{padding:5px 35px;background:linear-gradient(to right,#1E31EB,#693DDA);border-radius:10px}eqp-attachments ::ng-deep div button span mat-icon{margin-right:5px}eqp-attachments ::ng-deep div button.eqp-attachments-delete-btn{color:#fff}::ng-deep mat-dialog-container .container-fluid.eqp-attachments-dialog-add-container form .row:first-child{padding:20px 40px;background-color:#ebebeb;color:gray;font-size:19px;font-weight:700}::ng-deep mat-dialog-container .container-fluid.eqp-attachments-dialog-add-container form .mat-form-field-label-wrapper label{margin-top:21px;margin-left:25px}::ng-deep mat-dialog-container .container-fluid.eqp-attachments-dialog-add-container form .btn-primary[disabled]{padding:7px 35px;border-radius:10px;font-size:14px;background-color:#dbdbdc!important;color:#000;background:none}::ng-deep mat-dialog-container .container-fluid.eqp-attachments-dialog-add-container form .btn-primary:not(disabled){padding:7px 35px;border-radius:10px;font-size:14px;background:linear-gradient(to right,#1E31EB,#693DDA);color:#fff}::ng-deep mat-dialog-container .container-fluid.eqp-attachments-dialog-add-container form button{margin:0 10px 0 0!important;border:1px solid #1E31EB;padding:7px 35px;border-radius:10px;font-size:14px}::ng-deep mat-dialog-container .container-fluid.eqp-attachments-dialog-add-container form button[disabled]{border:none}::ng-deep mat-dialog-container .container-fluid.eqp-attachments-dialog-add-container form .ng-star-inserted .justify-content-center button{padding:4px;margin:0;border:none;left:8px}::ng-deep mat-dialog-container .container-fluid.eqp-attachments-dialog-add-container form .row:last-child{padding:50px 20px 20px 0}eqp-table ::ng-deep mat-form-field:not(.mat-paginator-page-size-select) .mat-form-field-wrapper input{background-color:#ebebeb!important;background:url(data:image/png;base64,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) no-repeat;background-size:19px;background-position:19px;padding:15px 0 15px 53px!important}eqp-table ::ng-deep mat-form-field:not(.mat-paginator-page-size-select) .mat-form-field-wrapper input:focus{background-color:#fff!important;border:1px solid #e7e7e9}eqp-table ::ng-deep mat-form-field:not(.mat-paginator-page-size-select) .mat-form-field-wrapper .mat-form-field-label-wrapper label{margin-top:21px;margin-left:55px}eqp-table ::ng-deep mat-header-row{background-color:#ebebeb;border-bottom-width:0px}eqp-table ::ng-deep mat-header-row .mat-column-Required{flex:none!important}eqp-table ::ng-deep .mat-sort-header-button{color:#3b3a3b;font-size:15px}eqp-table ::ng-deep .mat-row{background-color:#fff;margin:10px 0;box-shadow:0 3px 7px -3px #0003;padding:5px 0}eqp-table ::ng-deep .mat-row .mat-column-Required{flex:0 0 8%!important}eqp-table ::ng-deep .mat-row mat-cell eqp-select{margin-top:16px}eqp-table ::ng-deep .mat-row mat-cell eqp-select .mat-form-field-wrapper{padding-bottom:0}eqp-table ::ng-deep .mat-row .mat-cell:last-child span i.success-color{background-color:#383fec;color:#fff!important;padding:6px;border-radius:3px}@media screen and (max-width: 1100px){.row:not(.title){margin:0!important}.second{display:flex;flex-direction:column}.second .col-sm-12{margin:0}.buttonsForm{padding:0 30px 20px 0;margin:50px 0 0}}@media screen and (max-width: 766px){.increasableValues{display:flex;flex-direction:column}.increasableValues .col-sm-12{margin:0 0 -1.5em}.second{display:flex;flex-direction:column}.second .col-sm-12{margin:0 0 -3.4em}.buttonsForm{margin:55px 0 0!important;padding:0 13px 20px 0;transform:translateY(110px)}}@media screen and (max-width: 577px){.increasableValues .col-sm-12{margin:0 0 1.5em}}:host ::ng-deep .mat-input-element{width:100%;width:-moz-available;width:-webkit-fill-available;width:fill-available}\n"], dependencies: [{ kind: "component", type: i4.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i5.MatError, selector: "mat-error", inputs: ["id"] }, { kind: "component", type: i5.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5.MatLabel, selector: "mat-label" }, { kind: "directive", type: i6.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: i7.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["disabled", "disableRipple", "color", "tabIndex"], exportAs: ["matSlideToggle"] }, { kind: "component", type: i8.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i9.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.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: i1.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i10.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i10.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i10.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i11.EqpAttachmentsComponent, selector: "eqp-attachments", inputs: ["disableAction", "showHeader", "headerTitle", "attachmentsList", "showMatCard", "multipleAttachment", "loadMultipleFiles", "attachmentsColumns", "emptyTableMessage", "allowOnlyImages", "acceptedFileTypes", "isDisabled", "showInlinePreview", "getAttachmentEndpoint", "productionBaseUrl", "compressionOptions", "allowedTypes", "isEqpTableMultiLanguage", "tablePaginatorVisible", "tablePaginatorSize", "downloadTooltipPosition", "openLinkLabel", "addButtonLabel", "downloadLabel", "deleteLabel", "fileNameLabel", "previewLabel", "uploadFileLabel", "confirmLabel", "abortLabel", "saveLabel", "exitLabel", "eqpTableSearchText", "deleteDialogTitle", "deleteDialogMessage", "noImageSelectedErrorMessage", "wrongTypeSelectedErrorMessage", "videoPreviewErrorMessage"], outputs: ["localEditedAttachments", "abortAddAttachment", "downloadAttachment", "onDeleteAttachment"] }, { kind: "component", type: i2.EqpSelectComponent, selector: "eqp-select", inputs: ["placeholder", "enumData", "enumDataToExclude", "arrayData", "arrayKeyProperty", "arrayValueProperty", "ngModelOptions", "ngModelInput", "formGroupInput", "formControlNameInput", "isRequired", "isDisabled", "isMultiLanguage", "multilanguagePrefixKey", "isAlphabeticalOrderable", "suffixIcon", "prefixIcon", "isMultiSelect", "includeFullObject", "showCancelButton", "isSearchable", "searchText", "noResultSearchText", "data"], outputs: ["ngModelInputChange"] }, { kind: "component", type: i12.EqpDateTimePickerComponent, selector: "eqp-datetimepicker", inputs: ["placeholder", "ngModelInput", "UTCDate", "timeType", "pickerMode", "formControlNameInput", "formGroupInput", "isRequired", "minDate", "maxDate", "readonlyInput", "disabled", "showSpinners", "showSeconds", "disableMinute", "defaultTime", "stepHour", "stepMinute", "stepSecond", "color", "enableMeridian", "touchUi", "customDateFormat"], outputs: ["ngModelInputChange", "onDateChange"] }, { kind: "component", type: i13.AddFormulaComponent, selector: "eqp-dynamic-module-add-formula-component" }] });
620
+ AddFormFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.8", type: AddFormFieldComponent, selector: "eqp-dynamic-module-add-form-field", inputs: { field: "field", indexField: "indexField", formFieldsGroups: "formFieldsGroups", availableFields: "availableFields", fieldTypesToExclude: "fieldTypesToExclude" }, outputs: { saveFieldEvent: "saveFieldEvent" }, viewQueries: [{ propertyName: "textFieldFormTemplate", first: true, predicate: ["textFieldFormTemplate"], descendants: true, static: true }, { propertyName: "textareaFieldFormTemplate", first: true, predicate: ["textareaFieldFormTemplate"], descendants: true, static: true }, { propertyName: "booleadFieldFormTemplate", first: true, predicate: ["booleadFieldFormTemplate"], descendants: true, static: true }, { propertyName: "dateFieldFormTemplate", first: true, predicate: ["dateFieldFormTemplate"], descendants: true, static: true }, { propertyName: "numericFieldFormTemplate", first: true, predicate: ["numericFieldFormTemplate"], descendants: true, static: true }, { propertyName: "attachmentFieldFormTemplate", first: true, predicate: ["attachmentFieldFormTemplate"], descendants: true, static: true }, { propertyName: "imageFieldFormTemplate", first: true, predicate: ["imageFieldFormTemplate"], descendants: true, static: true }, { propertyName: "listValueFieldFormTemplate", first: true, predicate: ["listValueFieldFormTemplate"], descendants: true, static: true }, { propertyName: "lookupFieldFormTemplate", first: true, predicate: ["lookupFieldFormTemplate"], descendants: true, static: true }, { propertyName: "dialogFormula", first: true, predicate: ["dialogFormula"], descendants: true, static: true }, { propertyName: "buttonImagesKeyValueInputColumn", first: true, predicate: ["buttonImagesKeyValueInputColumn"], descendants: true, static: true }], ngImport: i0, template: "<div class=\"bigwrapper\" style=\"max-height: 100vh !important; overflow-x: hidden; overflow-y: auto;\">\r\n <div class=\"containerHeader\">\r\n <div class=\"row title\">\r\n <div class=\"header-title-standard\">{{indexField != null && indexField >= 0 ? \"Modifica\"\r\n : \"Aggiungi\"}} campo</div>\r\n </div>\r\n </div>\r\n <div class=\"container-fluid containerContent\">\r\n <form [formGroup]=\"fieldFormGroup\">\r\n <div class=\"row\">\r\n <div class=\"col-sm-12 col-md-4 mt-2 tipoCampo\">\r\n <mat-label>Tipo campo *</mat-label>\r\n <eqp-select [enumData]=\"FieldTypeEnum\" [(ngModelInput)]=\"field.FieldType\" [showCancelButton]=\"false\"\r\n (ngModelInputChange)=\"onFieldTypeChange()\" [formGroupInput]=\"fieldFormGroup\"\r\n [formControlNameInput]=\"'FieldType'\" [enumDataToExclude]=\"fieldTypesToExclude\">\r\n </eqp-select>\r\n </div>\r\n\r\n <div class=\"col-sm-12 col-md-4 mt-2\">\r\n <mat-label> Codice * </mat-label>\r\n <mat-form-field>\r\n <input formControlName=\"Label\" required matInput [(ngModel)]=\"field.Label\" (keypress)=\"omit_special_char($event)\" spellcheck=\"false\" autocomplete=\"off\" (focusout)=\"stringSanitizer(field.Label)\">\r\n <mat-error>\r\n {{ getFormValidationErrors('Label') }}\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"col-sm-12 col-md-4 mt-2\">\r\n <mat-label> Descrizione * </mat-label>\r\n <mat-form-field>\r\n <input name=\"Description\" formControlName=\"Description\" required matInput\r\n [(ngModel)]=\"field.Description\" spellcheck=\"false\" autocomplete=\"off\" (keypress)=\"omit_special_char($event)\" (focusout)=\"stringSanitizer(field.Description)\">\r\n <!-- <mat-error *ngIf=\"!field.Description.valid && field.FormFormGroup.controls[field.Description].touched\"> -->\r\n <mat-error>\r\n {{ getFormValidationErrors('Description') }}\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"col-sm-12 col-md-4 mt-2\">\r\n <mat-label> Tooltip </mat-label>\r\n <mat-form-field>\r\n <input name=\"Tooltip\" formControlName=\"Tooltip\" matInput [(ngModel)]=\"field.Tooltip\" spellcheck=\"false\" autocomplete=\"off\" (keypress)=\"omit_special_char($event)\" (focusout)=\"stringSanitizer(field.Tooltip)\">\r\n <mat-error>\r\n {{ getFormValidationErrors('Tooltip') }}\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"col-sm-12 col-md-4 mt-2\">\r\n <mat-label> Formula (Javascript) </mat-label>\r\n <mat-form-field>\r\n <input formControlName=\"Formula\" matInput [(ngModel)]=\"field.Formula\"\r\n (click)=\"openFormulaDialog()\" spellcheck=\"false\" autocomplete=\"off\" (keypress)=\"omit_special_char($event)\" (focusout)=\"stringSanitizer(field.Formula)\">\r\n <mat-error>\r\n {{ getFormValidationErrors('Formula') }}\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2\" *ngIf=\"formFieldsGroups\">\r\n <mat-label>Sezione</mat-label>\r\n <eqp-select [arrayData]=\"formFieldsGroups\" [(ngModelInput)]=\"field.FieldGroup\"\r\n [arrayKeyProperty]=\"'Name'\" [arrayValueProperty]=\"'Name'\" [formGroupInput]=\"fieldFormGroup\"\r\n [formControlNameInput]=\"'FieldGroup'\" required [includeFullObject]=\"false\">\r\n </eqp-select>\r\n </div>\r\n\r\n <div class=\"col-sm-12 col-md-4 mt-2\">\r\n <mat-label>Larghezza campo</mat-label>\r\n <eqp-select [arrayData]=\"availableColSpanSizes\" [(ngModelInput)]=\"field.ColSpanSizes\"\r\n [arrayKeyProperty]=\"'key'\" [arrayValueProperty]=\"'value'\"\r\n (ngModelInputChange)=\"onColSpanSizeSelect()\" [isMultiSelect]=\"true\"\r\n [formGroupInput]=\"fieldFormGroup\" [formControlNameInput]=\"'ColSpanSizes'\"\r\n [includeFullObject]=\"false\">\r\n </eqp-select>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2\">\r\n <mat-label> Label css </mat-label>\r\n <mat-form-field>\r\n <input name=\"LabelstyleCSS\" formControlName=\"LabelstyleCSS\" matInput\r\n [(ngModel)]=\"field.LabelstyleCSS\" spellcheck=\"false\" autocomplete=\"off\"(keypress)=\"omit_special_char($event)\" (focusout)=\"stringSanitizer(field.LabelstyleCSS)\">\r\n <mat-error>\r\n {{ getFormValidationErrors('LabelstyleCSS') }}\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2\">\r\n <mat-label> Field css </mat-label>\r\n <mat-form-field>\r\n <input name=\"FieldstyleCSS\" formControlName=\"FieldstyleCSS\" matInput\r\n [(ngModel)]=\"field.FieldstyleCSS\" spellcheck=\"false\" autocomplete=\"off\" (keypress)=\"omit_special_char($event)\" (focusout)=\"stringSanitizer(field.FieldstyleCSS)\">\r\n <mat-error>\r\n {{ getFormValidationErrors('FieldstyleCSS') }}\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"col-sm-12 col-md-4 mt-2 align-self-center\">\r\n <mat-slide-toggle [(ngModel)]=\"field.Required\" formControlName=\"Required\" color=\"primary\">\r\n Obbligatorio\r\n </mat-slide-toggle>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2 align-self-center\">\r\n <mat-slide-toggle [(ngModel)]=\"field.Readonly\" formControlName=\"Readonly\" color=\"primary\">\r\n ReadOnly\r\n </mat-slide-toggle>\r\n </div>\r\n\r\n \r\n <div class=\"col-sm-12 col-md-4 mt-2\">\r\n <mat-label> VisibleIf </mat-label>\r\n <mat-form-field>\r\n <input name=\"VisibleIf\" formControlName=\"VisibleIf\" matInput [(ngModel)]=\"field.VisibleIf\"\r\n (click)=\"openVisibleIfDialog()\" spellcheck=\"false\" autocomplete=\"off\" (keypress)=\"omit_special_char($event)\" (focusout)=\"stringSanitizer(field.VisibleIf)\">\r\n <mat-error>\r\n {{ getFormValidationErrors('VisibleIf') }}\r\n </mat-error>\r\n </mat-form-field>\r\n <!-- <mat-form-field>\r\n <input name=\"VisibleIf\" formControlName=\"VisibleIf\" matInput [(ngModel)]=\"field.VisibleIf\"\r\n [matAutocomplete]=\"VisibleIfAutocomplete\" (keyup)=\"setVisibleIfAutocompleteOptions($event)\"\r\n (focus)=\"setVisibleIfAutocompleteOptions(null)\" (focusout)=\"stringSanitizer(field.VisibleIf)\">\r\n <mat-autocomplete #VisibleIfAutocomplete=\"matAutocomplete\">\r\n <mat-option *ngFor=\"let option of VisibleIfAutocompleteOptions\" [value]=\"option.value\">\r\n {{option.label}}\r\n </mat-option>\r\n </mat-autocomplete>\r\n </mat-form-field> -->\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2 align-self-center\"\r\n [hidden]=\"(field.VisibleIf != null || field.VisibleIf != undefined) && field.VisibleIf != ''\">\r\n <div class=\" align-self-center\">\r\n <mat-slide-toggle [(ngModel)]=\"field.InListView\" formControlName=\"InListView\" color=\"primary\"\r\n [disabled]=\"fieldFormGroup.controls['InListView'].disabled\">\r\n Visibile\r\n </mat-slide-toggle>\r\n </div>\r\n </div>\r\n <ng-container *ngTemplateOutlet=\"fieldTypeFormTemplate\">\r\n </ng-container>\r\n </div>\r\n </form>\r\n </div>\r\n <div class=\"containerFooter\">\r\n <div class=\"d-flex justify-content-end mt-2 mb-1\">\r\n <div class=\"buttonsForm\">\r\n <button class=\"btn mat-raised-button cancel\" (click)=\"saveAndExitAddField(false)\" type=\"button\">\r\n Annulla\r\n </button>\r\n <button class=\"mr-2 save\" mat-raised-button color=\"primary\" (click)=\"saveAndExitAddField(true)\"\r\n [disabled]=\"disableSaveField()\" type=\"button\">\r\n Salva\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<!-- FORM PROPRIET\u00C0 CAMPI DI TESTO -->\r\n<ng-template #textFieldFormTemplate>\r\n <div class=\"col-sm-12 col-md-4\">\r\n <mat-label>Maschera</mat-label>\r\n <eqp-select [enumData]=\"TextMaskEnum\" [(ngModelInput)]=\"field.TextMask\" [formGroupInput]=\"fieldFormGroup\"\r\n [formControlNameInput]=\"'TextMask'\">\r\n </eqp-select>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4\" [formGroup]=\"fieldFormGroup\">\r\n <mat-label> Lunghezza minima </mat-label>\r\n <mat-form-field>\r\n <input id=\"lengthMin\" formControlName=\"MinLenght\" type=\"number\" [min]=\"0\" matInput\r\n [(ngModel)]=\"field.MinLenght\" spellcheck=\"false\" autocomplete=\"off\" (keypress)=\"omit_special_char($event)\" (focusout)=\"stringSanitizer(field.MinLenght)\">\r\n <mat-error>\r\n {{ getFormValidationErrors('MinLenght') }}\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2 align-self-center\" [formGroup]=\"fieldFormGroup\" [hidden]=\"field.Readonly\" >\r\n <mat-slide-toggle [(ngModel)]=\"field.Microphone\" formControlName=\"Microphone\" color=\"primary\">\r\n Speech-To-Text\r\n </mat-slide-toggle>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4\" [formGroup]=\"fieldFormGroup\">\r\n <mat-label> Lunghezza massima </mat-label>\r\n <mat-form-field>\r\n <input id=\"lengthMax\" formControlName=\"MaxLenght\" type=\"number\" [min]=\"0\" matInput\r\n [(ngModel)]=\"field.MaxLenght\" spellcheck=\"false\" autocomplete=\"off\" (keypress)=\"omit_special_char($event)\" (focusout)=\"stringSanitizer(field.MaxLenght)\">\r\n <mat-error>\r\n {{ getFormValidationErrors('MaxLenght') }}\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n</ng-template>\r\n\r\n<!-- FORM PROPRIET\u00C0 CAMPI AREA DI TESTO -->\r\n<ng-template #textareaFieldFormTemplate>\r\n <div class=\"col-sm-12 col-md-4 mt-2\" [formGroup]=\"fieldFormGroup\">\r\n <mat-label> Righe </mat-label>\r\n <mat-form-field class=\"righe\">\r\n <input id=\"rows\" formControlName=\"Rows\" type=\"number\" [min]=\"0\" matInput [(ngModel)]=\"field.Rows\" spellcheck=\"false\" autocomplete=\"off\" (keypress)=\"omit_special_char($event)\" (focusout)=\"stringSanitizer(field.Rows)\">\r\n <mat-error>\r\n {{ getFormValidationErrors('Rows') }}\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2 align-self-center\" [formGroup]=\"fieldFormGroup\" [hidden]=\"field.Readonly\" >\r\n <mat-slide-toggle [(ngModel)]=\"field.Microphone\" formControlName=\"Microphone\" color=\"primary\">\r\n Speech-To-Text\r\n </mat-slide-toggle>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2\" [formGroup]=\"fieldFormGroup\">\r\n <mat-label> Lunghezza minima </mat-label>\r\n <mat-form-field>\r\n <input id=\"lengthMin\" formControlName=\"MinLenght\" type=\"number\" [min]=\"0\" matInput\r\n [(ngModel)]=\"field.MinLenght\" spellcheck=\"false\" autocomplete=\"off\" (keypress)=\"omit_special_char($event)\" (focusout)=\"stringSanitizer(field.MinLenght)\">\r\n <mat-error>\r\n {{ getFormValidationErrors('MinLenght') }}\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2\" [formGroup]=\"fieldFormGroup\">\r\n <mat-label> Lunghezza massima </mat-label>\r\n <mat-form-field>\r\n <input id=\"lengthMax\" formControlName=\"MaxLenght\" type=\"number\" [min]=\"0\" matInput\r\n [(ngModel)]=\"field.MaxLenght\" spellcheck=\"false\" autocomplete=\"off\" (keypress)=\"omit_special_char($event)\" (focusout)=\"stringSanitizer(field.MaxLenght)\">\r\n <mat-error>\r\n {{ getFormValidationErrors('MaxLenght') }}\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n</ng-template>\r\n\r\n<!-- FORM PROPRIET\u00C0 CAMPI BOOLEANI -->\r\n<ng-template #booleadFieldFormTemplate>\r\n <div class=\"col-sm-12 col-md-4 mt-2 align-self-center\" [formGroup]=\"fieldFormGroup\">\r\n <mat-slide-toggle [(ngModel)]=\"field.IsTristate\" formControlName=\"IsTristate\" color=\"primary\">\r\n A tre stati\r\n </mat-slide-toggle>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2\">\r\n <mat-label>Tipo di presentazione *</mat-label>\r\n <eqp-select [enumData]=\"BoolPresentantioEnum\" [(ngModelInput)]=\"field.PresetationType\" required\r\n [showCancelButton]=\"false\" [formGroupInput]=\"fieldFormGroup\" [formControlNameInput]=\"'PresetationType'\">\r\n </eqp-select>\r\n </div>\r\n</ng-template>\r\n\r\n<!-- FORM PROPRIET\u00C0 CAMPI DATA -->\r\n<ng-template #dateFieldFormTemplate>\r\n <div class=\"col-sm-12 col-md-4 mt-2\">\r\n <mat-label>Tipo di data</mat-label>\r\n <eqp-select [enumData]=\"DateTimeTypeEnum\" [(ngModelInput)]=\"field.IsOnlyDate\" required\r\n [showCancelButton]=\"false\" [formGroupInput]=\"fieldFormGroup\" [formControlNameInput]=\"'IsOnlyDate'\">\r\n </eqp-select>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2\" [formGroup]=\"fieldFormGroup\">\r\n <mat-label> Formato </mat-label>\r\n <mat-form-field>\r\n <input formControlName=\"DateFormat\" matInput [(ngModel)]=\"field.DateFormat\"\r\n [matTooltip]=\"'Indicare il formato seguendo la guida del pacchetto momentjs.'\" spellcheck=\"false\" autocomplete=\"off\" (keypress)=\"omit_special_char($event)\" (focusout)=\"stringSanitizer(field.Formato)\">\r\n <mat-error>\r\n <!-- {{ getFormValidationErrors('Formato') }} -->\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2\">\r\n <mat-label> Data minima </mat-label>\r\n <eqp-datetimepicker *ngIf=\"field.IsOnlyDate == DateTimeTypeEnum['Solo data']\" class=\"date\"\r\n [(ngModelInput)]=\"field.MinDate\" [formGroupInput]=\"fieldFormGroup\" [formControlNameInput]=\"'MinDate'\"\r\n [pickerMode]=\"pickerModeEnum.DATE\" [UTCDate]=\"true\" [showSeconds]=\"false\">\r\n </eqp-datetimepicker>\r\n <eqp-datetimepicker *ngIf=\"field.IsOnlyDate == DateTimeTypeEnum['Data e ora']\" class=\"date\"\r\n [(ngModelInput)]=\"field.MinDate\" [formGroupInput]=\"fieldFormGroup\" [formControlNameInput]=\"'MinDate'\"\r\n [pickerMode]=\"pickerModeEnum.DATETIME\" [UTCDate]=\"true\" [showSeconds]=\"false\">\r\n </eqp-datetimepicker>\r\n <eqp-datetimepicker *ngIf=\"field.IsOnlyDate == DateTimeTypeEnum['Solo orario']\" class=\"date\"\r\n [(ngModelInput)]=\"field.MinDate\" [formGroupInput]=\"fieldFormGroup\" [formControlNameInput]=\"'MinDate'\"\r\n [pickerMode]=\"pickerModeEnum.TIME\" [UTCDate]=\"true\" [showSeconds]=\"false\">\r\n </eqp-datetimepicker>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2\">\r\n <mat-label> Data massima </mat-label>\r\n <eqp-datetimepicker *ngIf=\"field.IsOnlyDate == DateTimeTypeEnum['Solo data']\" class=\"date\"\r\n [(ngModelInput)]=\"field.MaxDate\" [formGroupInput]=\"fieldFormGroup\" [formControlNameInput]=\"'MaxDate'\"\r\n [pickerMode]=\"pickerModeEnum.DATE\" [UTCDate]=\"true\" [showSeconds]=\"false\">\r\n </eqp-datetimepicker>\r\n <eqp-datetimepicker *ngIf=\"field.IsOnlyDate == DateTimeTypeEnum['Data e ora']\" class=\"date\"\r\n [(ngModelInput)]=\"field.MaxDate\" [formGroupInput]=\"fieldFormGroup\" [formControlNameInput]=\"'MaxDate'\"\r\n [pickerMode]=\"pickerModeEnum.DATETIME\" [UTCDate]=\"true\" [showSeconds]=\"false\">\r\n </eqp-datetimepicker>\r\n <eqp-datetimepicker *ngIf=\"field.IsOnlyDate == DateTimeTypeEnum['Solo orario']\" class=\"date\"\r\n [(ngModelInput)]=\"field.MaxDate\" [formGroupInput]=\"fieldFormGroup\" [formControlNameInput]=\"'MaxDate'\"\r\n [pickerMode]=\"pickerModeEnum.TIME\" [UTCDate]=\"true\" [showSeconds]=\"false\">\r\n </eqp-datetimepicker>\r\n </div>\r\n</ng-template>\r\n\r\n<!-- FORM PROPRIET\u00C0 CAMPI NUMERICI -->\r\n<ng-template #numericFieldFormTemplate>\r\n <div class=\"col-sm-12 col-md-4 mt-2 align-self-center\" [formGroup]=\"fieldFormGroup\">\r\n <mat-slide-toggle [(ngModel)]=\"field.IsInteger\" formControlName=\"IsInteger\" color=\"primary\">\r\n Valore intero\r\n </mat-slide-toggle>\r\n </div>\r\n <div *ngIf=\"!field.IsInteger\" class=\"col-sm-12 col-md-4 mt-2\" [formGroup]=\"fieldFormGroup\">\r\n <mat-label> Separatore decimali </mat-label>\r\n <mat-form-field>\r\n <input formControlName=\"DecimalSeparator\" matInput [(ngModel)]=\"field.DecimalSeparator\" spellcheck=\"false\" autocomplete=\"off\" (keypress)=\"omit_special_char($event)\" (focusout)=\"stringSanitizer(field.DecimalSeparator)\">\r\n <mat-error>\r\n {{ getFormValidationErrors('DecimalSeparator') }}\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div *ngIf=\"!field.IsInteger\" class=\"col-sm-12 col-md-4 mt-2\" [formGroup]=\"fieldFormGroup\">\r\n <mat-label> Precisione decimali </mat-label>\r\n <mat-form-field>\r\n <input formControlName=\"DecimalPrecision\" type=\"number\" [min]=\"0\" matInput\r\n [(ngModel)]=\"field.DecimalPrecision\" spellcheck=\"false\" autocomplete=\"off\" (keypress)=\"omit_special_char($event)\" (focusout)=\"stringSanitizer(field.DecimalPrecision)\">\r\n <mat-error>\r\n {{ getFormValidationErrors('DecimalPrecision') }}\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2\" [formGroup]=\"fieldFormGroup\">\r\n <mat-label> Separatore migliaia </mat-label>\r\n <mat-form-field>\r\n <input formControlName=\"ThousandsSeparator\" matInput [(ngModel)]=\"field.ThousandsSeparator\" spellcheck=\"false\" autocomplete=\"off\" (keypress)=\"omit_special_char($event)\" (focusout)=\"stringSanitizer(field.ThousandsSeparator)\">\r\n <mat-error>\r\n {{ getFormValidationErrors('ThousandsSeparator') }}\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2\" [formGroup]=\"fieldFormGroup\">\r\n <mat-label> Simbolo valuta </mat-label>\r\n <mat-form-field>\r\n <input formControlName=\"CurrencySymbol\" matInput [(ngModel)]=\"field.CurrencySymbol\" spellcheck=\"false\" autocomplete=\"off\"(keypress)=\"omit_special_char($event)\" (focusout)=\"stringSanitizer(field.CurrencySymbol)\">\r\n <mat-error>\r\n {{ getFormValidationErrors('CurrencySymbol') }}\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2\" [formGroup]=\"fieldFormGroup\">\r\n <mat-label> Unit\u00E0 di misura </mat-label>\r\n <mat-form-field>\r\n <input formControlName=\"MeasureUnit\" matInput [(ngModel)]=\"field.MeasureUnit\" spellcheck=\"false\" autocomplete=\"off\"(keypress)=\"omit_special_char($event)\" (focusout)=\"stringSanitizer(field.MeasureUnit)\">\r\n <mat-error>\r\n {{ getFormValidationErrors('MeasureUnit') }}\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2\" [formGroup]=\"fieldFormGroup\">\r\n <mat-label> Valore minimo </mat-label>\r\n <mat-form-field>\r\n <input formControlName=\"MinValue\" type=\"number\" [min]=\"0\" matInput [(ngModel)]=\"field.MinValue\" spellcheck=\"false\" autocomplete=\"off\"(keypress)=\"omit_special_char($event)\" (focusout)=\"stringSanitizer(field.MinValue)\">\r\n <mat-error>\r\n {{ getFormValidationErrors('MinValue') }}\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2\" [formGroup]=\"fieldFormGroup\">\r\n <mat-label> Valore massimo </mat-label>\r\n <mat-form-field>\r\n <input formControlName=\"MaxValue\" type=\"number\" [min]=\"0\" matInput [(ngModel)]=\"field.MaxValue\" spellcheck=\"false\" autocomplete=\"off\" (keypress)=\"omit_special_char($event)\" (focusout)=\"stringSanitizer(field.MaxValue)\">\r\n <mat-error>\r\n {{ getFormValidationErrors('MaxValue') }}\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n</ng-template>\r\n\r\n<!-- FORM PROPRIET\u00C0 CAMPI ALLEGATO -->\r\n<ng-template #attachmentFieldFormTemplate>\r\n <div class=\"col-sm-12 col-md-4 mt-2 align-self-center\" [formGroup]=\"fieldFormGroup\">\r\n <mat-slide-toggle [(ngModel)]=\"field.IsMultiAttach\" formControlName=\"IsMultiAttach\" color=\"primary\">\r\n Allegati multipli\r\n </mat-slide-toggle>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2\">\r\n <mat-label>Estensioni accettate</mat-label>\r\n <eqp-select [arrayData]=\"AvailableFileExtensions.concat(AvailableImageExtensions)\"\r\n [(ngModelInput)]=\"field.AllowedExtensions\" [arrayKeyProperty]=\"'key'\" [arrayValueProperty]=\"'value'\"\r\n [isMultiSelect]=\"true\" [formGroupInput]=\"fieldFormGroup\" [formControlNameInput]=\"'AllowedExtensions'\"\r\n [includeFullObject]=\"false\">\r\n </eqp-select>\r\n </div>\r\n <!-- <div class=\"col-sm-12 mt-2\">\r\n <div class=\"row mt-2\">\r\n <div class=\"col-sm-12 col-md-6\">\r\n <div class=\"header-title-standard\">\r\n Elenco metadata\r\n </div>\r\n </div>\r\n <div class=\"col-sm-12 col-md-6 text-right buttonsForm\">\r\n <button class=\"btn btn-primary save\" mat-raised-button color=\"primary\" type=\"button\"\r\n (click)=\"openMetadataDialog()\">\r\n <mat-icon>add</mat-icon>\r\n <span style=\"margin-left: 10px;\">Aggiungi allegato</span>\r\n </button>\r\n </div>\r\n </div>\r\n <eqp-table #metadataFieldsTable [createMatCard]=\"false\" [columns]=\"metadataColumns\"\r\n [data]=\"field.MetadataFields\" [emptyTableMessage]=\"'Nessun metadata inserito'\" [searchText]=\"'Cerca'\">\r\n </eqp-table>\r\n </div> -->\r\n</ng-template>\r\n\r\n<!-- FORM PROPRIET\u00C0 CAMPI IMMAGINE -->\r\n<ng-template #imageFieldFormTemplate>\r\n <div class=\"col-sm-12 col-md-4 mt-2 mb-2 align-self-center\" [formGroup]=\"fieldFormGroup\">\r\n <mat-slide-toggle [(ngModel)]=\"field.ImageIsContextualAttachment\" formControlName=\"ImageIsContextualAttachment\"\r\n color=\"primary\" (ngModelChange)=\"onImageIsContextualAttachmentChange()\">\r\n Immagine pre-caricata nel campo\r\n </mat-slide-toggle>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2 mb-2 align-self-center\" [formGroup]=\"fieldFormGroup\">\r\n <mat-slide-toggle [(ngModel)]=\"field.EnableDrawing\" formControlName=\"EnableDrawing\" color=\"primary\">\r\n Abilita il disegno\r\n </mat-slide-toggle>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2 align-self-center\" [formGroup]=\"fieldFormGroup\"\r\n *ngIf=\"!field.ImageIsContextualAttachment\">\r\n <mat-slide-toggle [(ngModel)]=\"field.AttachDefinition.IsMultiAttach\" formControlName=\"IsMultiAttach\"\r\n color=\"primary\">\r\n Immagini multiple\r\n </mat-slide-toggle>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2\" *ngIf=\"!field.ImageIsContextualAttachment\">\r\n <mat-label>Estensioni accettate</mat-label>\r\n <eqp-select [arrayData]=\"AvailableImageExtensions\" [(ngModelInput)]=\"field.AttachDefinition.AllowedExtensions\"\r\n [arrayKeyProperty]=\"'key'\" [arrayValueProperty]=\"'value'\" [isMultiSelect]=\"true\"\r\n [formGroupInput]=\"fieldFormGroup\" [formControlNameInput]=\"'AllowedExtensions'\" [includeFullObject]=\"false\">\r\n </eqp-select>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2\" [formGroup]=\"fieldFormGroup\" *ngIf=\"field.ImageIsContextualAttachment\">\r\n <mat-label> Nome immagine* </mat-label>\r\n <mat-form-field>\r\n <input formControlName=\"ImgName\" matInput [(ngModel)]=\"field.ImgName\" required spellcheck=\"false\" autocomplete=\"off\" (keypress)=\"omit_special_char($event)\" (focusout)=\"stringSanitizer(field.ImgName)\">\r\n <mat-error>\r\n {{ getFormValidationErrors('ImgName') }}\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-sm-12 col-md-8 mt-2\" [formGroup]=\"fieldFormGroup\" *ngIf=\"field.ImageIsContextualAttachment\">\r\n <eqp-attachments [attachmentsList]=\"field._contextualAttachments\" [showMatCard]=\"false\" [allowOnlyImages]=\"true\"\r\n [isDisabled]=\"false\" [showInlinePreview]=\"true\" [multipleAttachment]=\"false\" [showHeader]=\"false\"\r\n (localEditedAttachments)=\"catchContextualAttachmentChange($event)\" #contextualAttachmentEqpAttachments>\r\n </eqp-attachments>\r\n </div>\r\n <!-- <div class=\"col-sm-12 mt-2\">\r\n <div class=\"row mt-2\">\r\n <div class=\"col-sm-12 col-md-6\">\r\n <div class=\"header-title-standard\">\r\n Elenco metadata\r\n </div>\r\n </div>\r\n <div class=\"col-sm-12 col-md-6 text-right buttonsForm\">\r\n <button class=\"btn btn-primary save\" mat-raised-button color=\"primary\" type=\"button\"\r\n (click)=\"openMetadataDialog()\">\r\n <mat-icon>add</mat-icon>\r\n <span style=\"margin-left: 10px;\">Aggiungi</span>\r\n </button>\r\n </div>\r\n </div>\r\n <eqp-table #metadataFieldsTable [createMatCard]=\"false\" [columns]=\"metadataColumns\"\r\n [data]=\"field.AttachDefinition.MetadataFields\" [emptyTableMessage]=\"'Nessun metadata inserito'\"\r\n [searchText]=\"'Cerca'\">\r\n </eqp-table>\r\n </div> -->\r\n</ng-template>\r\n\r\n<!-- FORM PROPRIET\u00C0 CAMPI LISTA DI VALORI -->\r\n<ng-template #listValueFieldFormTemplate>\r\n <div class=\"col-sm-12 col-md-4 mt-2 align-self-center\" [formGroup]=\"fieldFormGroup\">\r\n <mat-slide-toggle [(ngModel)]=\"field.IsMultiChoiche\" formControlName=\"IsMultiChoiche\" color=\"primary\">\r\n Scelta multipla\r\n </mat-slide-toggle>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2\">\r\n <mat-label>Tipo di presentazione*</mat-label>\r\n <eqp-select [enumData]=\"ListPresentationEnum\" [(ngModelInput)]=\"field.PresentationMode\" required\r\n [showCancelButton]=\"false\" [formGroupInput]=\"fieldFormGroup\" [formControlNameInput]=\"'PresentationMode'\"\r\n (ngModelInputChange)=\"onPresentationModeChange()\">\r\n </eqp-select>\r\n </div>\r\n <div class=\"col-sm-12 mt-2\" *ngIf=\"field.PresentationMode != ListPresentationEnum.Immagini\">\r\n <div class=\"row\">\r\n <h4 class=\"key-value-list-section-title\"> </h4>\r\n <div class=\"col-md-4\">\r\n <mat-label> Label opzione (invio per confermare)</mat-label>\r\n <mat-form-field>\r\n <input matInput [(ngModel)]=\"keyValueObject.key\" (keyup)=\"onMultiSelectInputKeyup($event, null)\" spellcheck=\"false\" autocomplete=\"off\">\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-md-4\">\r\n <mat-label> Valore opzione (invio per confermare)</mat-label>\r\n <mat-form-field>\r\n <input matInput [(ngModel)]=\"keyValueObject.value\" (keyup)=\"onMultiSelectInputKeyup($event, null)\" spellcheck=\"false\" autocomplete=\"off\">\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-md-4 align-self-center\">\r\n <span class=\"mr-3\">Opzioni inserite:</span>\r\n <ul class=\"value-pairs-list\">\r\n <li *ngFor=\"let keyValuePair of getDictionaryKeyValue()\">\r\n <mat-icon class=\"mr-1\" (click)=\"deleteKeyFromDictionary(keyValuePair.key)\">close\r\n </mat-icon>\r\n <span><b>Label: </b> {{keyValuePair.key}} - <b>Valore: </b> {{keyValuePair.value}}</span>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-sm-12 col-md-12 mt-2\" *ngIf=\"field.PresentationMode == ListPresentationEnum.Immagini\">\r\n <eqp-attachments [attachmentsList]=\"field.ButtonImageList\" [showMatCard]=\"false\" [allowOnlyImages]=\"true\"\r\n [isDisabled]=\"false\" [showInlinePreview]=\"true\" [multipleAttachment]=\"true\" [showHeader]=\"false\"\r\n [allowedTypes]=\"[AttachmentType.FILE]\" (localEditedAttachments)=\"catchButtonImagesChange($event)\"\r\n (onComponentLoaded)=\"configureButtonImagesColumns($event)\">\r\n </eqp-attachments>\r\n </div>\r\n</ng-template>\r\n\r\n<!-- FORM PROPRIET\u00C0 CAMPI LOOKUP -->\r\n<ng-template #lookupFieldFormTemplate>\r\n <div class=\"col-sm-12 col-md-4 mt-2 align-self-center\" [formGroup]=\"fieldFormGroup\">\r\n <mat-slide-toggle [(ngModel)]=\"field.UseAsGetOrDiscard\" formControlName=\"UseAsGetOrDiscard\" color=\"primary\"\r\n matTooltip=\"Se true la lookup viene visualizzata in una modale per lo scegli scarta\">\r\n Usa per scegli o scarta\r\n </mat-slide-toggle>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2\" [formGroup]=\"fieldFormGroup\">\r\n <mat-label> Nome entit\u00E0 </mat-label>\r\n <mat-form-field matTooltip=\"Nome dell'entit\u00E0 relazionata\">\r\n <input formControlName=\"EntitySourceName\" required matInput [(ngModel)]=\"field.EntitySourceName\" spellcheck=\"false\" autocomplete=\"off\" (keypress)=\"omit_special_char($event)\" (focusout)=\"stringSanitizer(field.EntitySourceName)\">\r\n <mat-error>\r\n {{ getFormValidationErrors('EntitySourceName') }}\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-sm-12 mt-2\">\r\n <div class=\"row\">\r\n <div class=\"col-md-4\">\r\n <mat-label> Nomi dei campi (invio per confermare) </mat-label>\r\n <mat-form-field\r\n matTooltip=\"Elenco di campi ordinato che verr\u00E0 visualizzato nella lookup (premere invio per confermare)\">\r\n <input matInput (keyup)=\"onMultiSelectInputKeyup($event, 'FieldNames')\" spellcheck=\"false\" autocomplete=\"off\" >\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-md-8 align-self-center\">\r\n <span class=\"mr-3\">Nomi selezionati:</span>\r\n <div class=\"extension-container\" *ngFor=\"let extension of field.FieldNames; let i = index\">\r\n <span>{{extension}}</span>\r\n <mat-icon class=\"ml-1\" (click)=\"field.FieldNames.splice(i,1)\">close\r\n </mat-icon>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n<!-- DIALOG PER AGGIUNGERE UN METADATA NEI CAMPI DI TIPO ALLEGATO O IMMAGINE -->\r\n<!-- <ng-template #dialogMetadata>\r\n <eqp-dynamic-module-add-form-field [field]=\"selectedMetadata\" [availableFields]=\"availableFields\"\r\n [indexField]=\"indexSelectedMetadata\" (saveFieldEvent)=\"onSaveMetadata($event)\" [fieldTypesToExclude]=\"[6,7,10]\">\r\n </eqp-dynamic-module-add-form-field>\r\n</ng-template> -->\r\n\r\n<ng-template #buttonImagesKeyValueInputColumn let-row=\"row\" let-col=\"col\">\r\n <mat-form-field>\r\n <mat-label> {{col.display}} </mat-label>\r\n <input matInput [(ngModel)]=\"row[col.key]\" required spellcheck=\"false\" autocomplete=\"off\">\r\n </mat-form-field>\r\n</ng-template>\r\n<!--DIALOG PER SEMPLIFICARE LA SCRITTURA DEL CAMPO FORMULA-->\r\n<ng-template #dialogFormula>\r\n <eqp-dynamic-module-add-formula-component>\r\n </eqp-dynamic-module-add-formula-component>\r\n</ng-template>", styles: [".mat-badge-content{font-weight:600;font-size:12px;font-family:Roboto,Helvetica Neue,sans-serif}.mat-badge-small .mat-badge-content{font-size:9px}.mat-badge-large .mat-badge-content{font-size:24px}.mat-h1,.mat-headline,.mat-typography .mat-h1,.mat-typography .mat-headline,.mat-typography h1{font:400 24px/32px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;margin:0 0 16px}.mat-h2,.mat-title,.mat-typography .mat-h2,.mat-typography .mat-title,.mat-typography h2{font:500 20px/32px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;margin:0 0 16px}.mat-h3,.mat-subheading-2,.mat-typography .mat-h3,.mat-typography .mat-subheading-2,.mat-typography h3{font:400 16px/28px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;margin:0 0 16px}.mat-h4,.mat-subheading-1,.mat-typography .mat-h4,.mat-typography .mat-subheading-1,.mat-typography h4{font:400 15px/24px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;margin:0 0 16px}.mat-h5,.mat-typography .mat-h5,.mat-typography h5{font:400 11.62px/20px Roboto,Helvetica Neue,sans-serif;margin:0 0 12px}.mat-h6,.mat-typography .mat-h6,.mat-typography h6{font:400 9.38px/20px Roboto,Helvetica Neue,sans-serif;margin:0 0 12px}.mat-body-strong,.mat-body-2,.mat-typography .mat-body-strong,.mat-typography .mat-body-2{font:500 14px/24px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.mat-body,.mat-body-1,.mat-typography .mat-body,.mat-typography .mat-body-1,.mat-typography{font:400 14px/20px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.mat-body p,.mat-body-1 p,.mat-typography .mat-body p,.mat-typography .mat-body-1 p,.mat-typography p{margin:0 0 12px}.mat-small,.mat-caption,.mat-typography .mat-small,.mat-typography .mat-caption{font:400 12px/20px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.mat-display-4,.mat-typography .mat-display-4{font:300 112px/112px Roboto,Helvetica Neue,sans-serif;letter-spacing:-.05em;margin:0 0 56px}.mat-display-3,.mat-typography .mat-display-3{font:400 56px/56px Roboto,Helvetica Neue,sans-serif;letter-spacing:-.02em;margin:0 0 64px}.mat-display-2,.mat-typography .mat-display-2{font:400 45px/48px Roboto,Helvetica Neue,sans-serif;letter-spacing:-.005em;margin:0 0 64px}.mat-display-1,.mat-typography .mat-display-1{font:400 34px/40px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;margin:0 0 64px}.mat-bottom-sheet-container{font:400 14px/20px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.mat-button,.mat-raised-button,.mat-icon-button,.mat-stroked-button,.mat-flat-button,.mat-fab,.mat-mini-fab{font-family:Roboto,Helvetica Neue,sans-serif;font-size:14px;font-weight:500}.mat-button-toggle,.mat-card{font-family:Roboto,Helvetica Neue,sans-serif}.mat-card-title{font-size:24px;font-weight:500}.mat-card-header .mat-card-title{font-size:20px}.mat-card-subtitle,.mat-card-content{font-size:14px}.mat-checkbox{font-family:Roboto,Helvetica Neue,sans-serif}.mat-checkbox-layout .mat-checkbox-label{line-height:24px}.mat-chip{font-size:14px;font-weight:500}.mat-chip .mat-chip-trailing-icon.mat-icon,.mat-chip .mat-chip-remove.mat-icon{font-size:18px}.mat-table{font-family:Roboto,Helvetica Neue,sans-serif}.mat-header-cell{font-size:12px;font-weight:500}.mat-cell,.mat-footer-cell{font-size:14px}.mat-calendar{font-family:Roboto,Helvetica Neue,sans-serif}.mat-calendar-body{font-size:13px}.mat-calendar-body-label,.mat-calendar-period-button{font-size:14px;font-weight:500}.mat-calendar-table-header th{font-size:11px;font-weight:400}.mat-dialog-title{font:500 20px/32px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.mat-expansion-panel-header{font-family:Roboto,Helvetica Neue,sans-serif;font-size:15px;font-weight:400}.mat-expansion-panel-content{font:400 14px/20px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.mat-form-field{font-size:inherit;font-weight:400;line-height:1.125;font-family:Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.mat-form-field-wrapper{padding-bottom:1.34375em}.mat-form-field-prefix .mat-icon,.mat-form-field-suffix .mat-icon{font-size:150%;line-height:1.125}.mat-form-field-prefix .mat-icon-button,.mat-form-field-suffix .mat-icon-button{height:1.5em;width:1.5em}.mat-form-field-prefix .mat-icon-button .mat-icon,.mat-form-field-suffix .mat-icon-button .mat-icon{height:1.125em;line-height:1.125}.mat-form-field-infix{padding:.5em 0;border-top:.84375em solid transparent}.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.34375em) scale(.75);width:133.3333333333%}.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.34374em) scale(.75);width:133.3333433333%}.mat-form-field-label-wrapper{top:-.84375em;padding-top:.84375em}.mat-form-field-label{top:1.34375em}.mat-form-field-underline{bottom:1.34375em}.mat-form-field-subscript-wrapper{font-size:75%;margin-top:.6666666667em;top:calc(100% - 1.7916666667em)}.mat-form-field-appearance-legacy .mat-form-field-wrapper{padding-bottom:1.25em}.mat-form-field-appearance-legacy .mat-form-field-infix{padding:.4375em 0}.mat-form-field-appearance-legacy.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.001px);width:133.3333333333%}.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-form-field-autofill-control:-webkit-autofill+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.00101px);width:133.3333433333%}.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.00102px);width:133.3333533333%}.mat-form-field-appearance-legacy .mat-form-field-label{top:1.28125em}.mat-form-field-appearance-legacy .mat-form-field-underline{bottom:1.25em}.mat-form-field-appearance-legacy .mat-form-field-subscript-wrapper{margin-top:.5416666667em;top:calc(100% - 1.6666666667em)}@media print{.mat-form-field-appearance-legacy.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.28122em) scale(.75)}.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-form-field-autofill-control:-webkit-autofill+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.28121em) scale(.75)}.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.2812em) scale(.75)}}.mat-form-field-appearance-fill .mat-form-field-infix{padding:.25em 0 .75em}.mat-form-field-appearance-fill .mat-form-field-label{top:1.09375em;margin-top:-.5em}.mat-form-field-appearance-fill.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,.mat-form-field-appearance-fill.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-.59375em) scale(.75);width:133.3333333333%}.mat-form-field-appearance-fill.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-.59374em) scale(.75);width:133.3333433333%}.mat-form-field-appearance-outline .mat-form-field-infix{padding:1em 0}.mat-form-field-appearance-outline .mat-form-field-label{top:1.84375em;margin-top:-.25em}.mat-form-field-appearance-outline.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,.mat-form-field-appearance-outline.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.59375em) scale(.75);width:133.3333333333%}.mat-form-field-appearance-outline.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.59374em) scale(.75);width:133.3333433333%}.mat-grid-tile-header,.mat-grid-tile-footer{font-size:14px}.mat-grid-tile-header .mat-line,.mat-grid-tile-footer .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-grid-tile-header .mat-line:nth-child(n+2),.mat-grid-tile-footer .mat-line:nth-child(n+2){font-size:12px}input.mat-input-element{margin-top:-.0625em}.mat-menu-item{font-family:Roboto,Helvetica Neue,sans-serif;font-size:14px;font-weight:400}.mat-paginator,.mat-paginator-page-size .mat-select-trigger{font-family:Roboto,Helvetica Neue,sans-serif;font-size:12px}.mat-radio-button,.mat-select{font-family:Roboto,Helvetica Neue,sans-serif}.mat-select-trigger{height:1.125em}.mat-slide-toggle-content{font-family:Roboto,Helvetica Neue,sans-serif}.mat-slider-thumb-label-text{font-family:Roboto,Helvetica Neue,sans-serif;font-size:12px;font-weight:500}.mat-stepper-vertical,.mat-stepper-horizontal{font-family:Roboto,Helvetica Neue,sans-serif}.mat-step-label{font-size:14px;font-weight:400}.mat-step-sub-label-error{font-weight:400}.mat-step-label-error{font-size:14px}.mat-step-label-selected{font-size:14px;font-weight:500}.mat-tab-group{font-family:Roboto,Helvetica Neue,sans-serif}.mat-tab-label,.mat-tab-link{font-family:Roboto,Helvetica Neue,sans-serif;font-size:14px;font-weight:500}.mat-toolbar,.mat-toolbar h1,.mat-toolbar h2,.mat-toolbar h3,.mat-toolbar h4,.mat-toolbar h5,.mat-toolbar h6{font:500 20px/32px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;margin:0}.mat-tooltip{font-family:Roboto,Helvetica Neue,sans-serif;font-size:10px;padding-top:6px;padding-bottom:6px}.mat-tooltip-handset{font-size:14px;padding-top:8px;padding-bottom:8px}.mat-list-item,.mat-list-option{font-family:Roboto,Helvetica Neue,sans-serif}.mat-list-base .mat-list-item{font-size:16px}.mat-list-base .mat-list-item .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list-base .mat-list-item .mat-line:nth-child(n+2){font-size:14px}.mat-list-base .mat-list-option{font-size:16px}.mat-list-base .mat-list-option .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list-base .mat-list-option .mat-line:nth-child(n+2){font-size:14px}.mat-list-base .mat-subheader{font-family:Roboto,Helvetica Neue,sans-serif;font-size:14px;font-weight:500}.mat-list-base[dense] .mat-list-item{font-size:12px}.mat-list-base[dense] .mat-list-item .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list-base[dense] .mat-list-item .mat-line:nth-child(n+2){font-size:12px}.mat-list-base[dense] .mat-list-option{font-size:12px}.mat-list-base[dense] .mat-list-option .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list-base[dense] .mat-list-option .mat-line:nth-child(n+2){font-size:12px}.mat-list-base[dense] .mat-subheader{font-family:Roboto,Helvetica Neue,sans-serif;font-size:12px;font-weight:500}.mat-option{font-family:Roboto,Helvetica Neue,sans-serif;font-size:16px}.mat-optgroup-label{font:500 14px/24px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.mat-simple-snackbar{font-family:Roboto,Helvetica Neue,sans-serif;font-size:14px}.mat-simple-snackbar-action{line-height:1;font-family:inherit;font-size:inherit;font-weight:500}.mat-tree{font-family:Roboto,Helvetica Neue,sans-serif}.mat-tree-node,.mat-nested-tree-node{font-weight:400;font-size:14px}.mat-ripple{overflow:hidden;position:relative}.mat-ripple:not(:empty){transform:translateZ(0)}.mat-ripple.mat-ripple-unbounded{overflow:visible}.mat-ripple-element{position:absolute;border-radius:50%;pointer-events:none;transition:opacity,transform 0ms cubic-bezier(0,0,.2,1);transform:scale3d(0,0,0)}.cdk-high-contrast-active .mat-ripple-element{display:none}.cdk-visually-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap;outline:0;-webkit-appearance:none;-moz-appearance:none;left:0}[dir=rtl] .cdk-visually-hidden{left:auto;right:0}.cdk-overlay-container,.cdk-global-overlay-wrapper{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;z-index:1000;display:flex;max-width:100%;max-height:100%}.cdk-overlay-backdrop{position:absolute;inset:0;z-index:1000;pointer-events:auto;-webkit-tap-highlight-color:transparent;transition:opacity .4s cubic-bezier(.25,.8,.25,1);opacity:0}.cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:1}.cdk-high-contrast-active .cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:.6}.cdk-overlay-dark-backdrop{background:rgba(0,0,0,.32)}.cdk-overlay-transparent-backdrop{transition:visibility 1ms linear,opacity 1ms linear;visibility:hidden;opacity:1}.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing{opacity:0;visibility:visible}.cdk-overlay-backdrop-noop-animation{transition:none}.cdk-overlay-connected-position-bounding-box{position:absolute;z-index:1000;display:flex;flex-direction:column;min-width:1px;min-height:1px}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}textarea.cdk-textarea-autosize{resize:none}textarea.cdk-textarea-autosize-measuring{padding:2px 0!important;box-sizing:content-box!important;height:auto!important;overflow:hidden!important}textarea.cdk-textarea-autosize-measuring-firefox{padding:2px 0!important;box-sizing:content-box!important;height:0!important}@keyframes cdk-text-field-autofill-start{}@keyframes cdk-text-field-autofill-end{}.cdk-text-field-autofill-monitored:-webkit-autofill{animation:cdk-text-field-autofill-start 0s 1ms}.cdk-text-field-autofill-monitored:not(:-webkit-autofill){animation:cdk-text-field-autofill-end 0s 1ms}.mat-focus-indicator{position:relative}.mat-focus-indicator:before{inset:0;position:absolute;box-sizing:border-box;pointer-events:none;display:none;display:var(--mat-focus-indicator-display, none);border:3px solid transparent;border:var(--mat-focus-indicator-border-width, 3px) var(--mat-focus-indicator-border-style, solid) var(--mat-focus-indicator-border-color, transparent);border-radius:4px;border-radius:var(--mat-focus-indicator-border-radius, 4px)}.mat-focus-indicator:focus:before{content:\"\"}.cdk-high-contrast-active{--mat-focus-indicator-display: block}.mat-mdc-focus-indicator{position:relative}.mat-mdc-focus-indicator:before{inset:0;position:absolute;box-sizing:border-box;pointer-events:none;display:none;display:var(--mat-mdc-focus-indicator-display, none);border:3px solid transparent;border:var(--mat-mdc-focus-indicator-border-width, 3px) var(--mat-mdc-focus-indicator-border-style, solid) var(--mat-mdc-focus-indicator-border-color, transparent);border-radius:4px;border-radius:var(--mat-mdc-focus-indicator-border-radius, 4px)}.mat-mdc-focus-indicator:focus:before{content:\"\"}.cdk-high-contrast-active{--mat-mdc-focus-indicator-display: block}.mat-autocomplete-panel{background:white;color:#000000de}.mat-autocomplete-panel:not([class*=mat-elevation-z]){box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f}.mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover){background:white}.mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover):not(.mat-option-disabled){color:#000000de}.mat-badge{position:relative}.mat-badge.mat-badge{overflow:visible}.mat-badge-hidden .mat-badge-content{display:none}.mat-badge-content{position:absolute;text-align:center;display:inline-block;border-radius:50%;transition:transform .2s ease-in-out;transform:scale(.6);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;pointer-events:none}.ng-animate-disabled .mat-badge-content,.mat-badge-content._mat-animation-noopable{transition:none}.mat-badge-content.mat-badge-active{transform:none}.mat-badge-small .mat-badge-content{width:16px;height:16px;line-height:16px}.mat-badge-small.mat-badge-above .mat-badge-content{top:-8px}.mat-badge-small.mat-badge-below .mat-badge-content{bottom:-8px}.mat-badge-small.mat-badge-before .mat-badge-content{left:-16px}[dir=rtl] .mat-badge-small.mat-badge-before .mat-badge-content{left:auto;right:-16px}.mat-badge-small.mat-badge-after .mat-badge-content{right:-16px}[dir=rtl] .mat-badge-small.mat-badge-after .mat-badge-content{right:auto;left:-16px}.mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-8px}[dir=rtl] .mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-8px}.mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-8px}[dir=rtl] .mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-8px}.mat-badge-medium .mat-badge-content{width:22px;height:22px;line-height:22px}.mat-badge-medium.mat-badge-above .mat-badge-content{top:-11px}.mat-badge-medium.mat-badge-below .mat-badge-content{bottom:-11px}.mat-badge-medium.mat-badge-before .mat-badge-content{left:-22px}[dir=rtl] .mat-badge-medium.mat-badge-before .mat-badge-content{left:auto;right:-22px}.mat-badge-medium.mat-badge-after .mat-badge-content{right:-22px}[dir=rtl] .mat-badge-medium.mat-badge-after .mat-badge-content{right:auto;left:-22px}.mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-11px}[dir=rtl] .mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-11px}.mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-11px}[dir=rtl] .mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-11px}.mat-badge-large .mat-badge-content{width:28px;height:28px;line-height:28px}.mat-badge-large.mat-badge-above .mat-badge-content{top:-14px}.mat-badge-large.mat-badge-below .mat-badge-content{bottom:-14px}.mat-badge-large.mat-badge-before .mat-badge-content{left:-28px}[dir=rtl] .mat-badge-large.mat-badge-before .mat-badge-content{left:auto;right:-28px}.mat-badge-large.mat-badge-after .mat-badge-content{right:-28px}[dir=rtl] .mat-badge-large.mat-badge-after .mat-badge-content{right:auto;left:-28px}.mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-14px}[dir=rtl] .mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-14px}.mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-14px}[dir=rtl] .mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-14px}.mat-badge-content{color:#fff;background:#1e31eb}.cdk-high-contrast-active .mat-badge-content{outline:solid 1px;border-radius:0}.mat-badge-accent .mat-badge-content{background:#ff5252;color:#000000de}.mat-badge-warn .mat-badge-content{color:#fff;background:#c40000}.mat-badge-disabled .mat-badge-content{background:#b9b9b9;color:#00000061}.mat-bottom-sheet-container{box-shadow:0 8px 10px -5px #0003,0 16px 24px 2px #00000024,0 6px 30px 5px #0000001f;background:white;color:#000000de}.mat-button,.mat-icon-button,.mat-stroked-button{color:inherit;background:transparent}.mat-button.mat-primary,.mat-icon-button.mat-primary,.mat-stroked-button.mat-primary{color:#1e31eb}.mat-button.mat-accent,.mat-icon-button.mat-accent,.mat-stroked-button.mat-accent{color:#ff5252}.mat-button.mat-warn,.mat-icon-button.mat-warn,.mat-stroked-button.mat-warn{color:#c40000}.mat-button.mat-primary.mat-button-disabled,.mat-button.mat-accent.mat-button-disabled,.mat-button.mat-warn.mat-button-disabled,.mat-button.mat-button-disabled.mat-button-disabled,.mat-icon-button.mat-primary.mat-button-disabled,.mat-icon-button.mat-accent.mat-button-disabled,.mat-icon-button.mat-warn.mat-button-disabled,.mat-icon-button.mat-button-disabled.mat-button-disabled,.mat-stroked-button.mat-primary.mat-button-disabled,.mat-stroked-button.mat-accent.mat-button-disabled,.mat-stroked-button.mat-warn.mat-button-disabled,.mat-stroked-button.mat-button-disabled.mat-button-disabled{color:#00000042}.mat-button.mat-primary .mat-button-focus-overlay,.mat-icon-button.mat-primary .mat-button-focus-overlay,.mat-stroked-button.mat-primary .mat-button-focus-overlay{background-color:#1e31eb}.mat-button.mat-accent .mat-button-focus-overlay,.mat-icon-button.mat-accent .mat-button-focus-overlay,.mat-stroked-button.mat-accent .mat-button-focus-overlay{background-color:#ff5252}.mat-button.mat-warn .mat-button-focus-overlay,.mat-icon-button.mat-warn .mat-button-focus-overlay,.mat-stroked-button.mat-warn .mat-button-focus-overlay{background-color:#c40000}.mat-button.mat-button-disabled .mat-button-focus-overlay,.mat-icon-button.mat-button-disabled .mat-button-focus-overlay,.mat-stroked-button.mat-button-disabled .mat-button-focus-overlay{background-color:transparent}.mat-button .mat-ripple-element,.mat-icon-button .mat-ripple-element,.mat-stroked-button .mat-ripple-element{opacity:.1;background-color:currentColor}.mat-button-focus-overlay{background:black}.mat-stroked-button:not(.mat-button-disabled){border-color:#0000001f}.mat-flat-button,.mat-raised-button,.mat-fab,.mat-mini-fab{color:#000000de;background-color:#fff}.mat-flat-button.mat-primary,.mat-raised-button.mat-primary,.mat-fab.mat-primary,.mat-mini-fab.mat-primary{color:#fff}.mat-flat-button.mat-accent,.mat-raised-button.mat-accent,.mat-fab.mat-accent,.mat-mini-fab.mat-accent{color:#000000de}.mat-flat-button.mat-warn,.mat-raised-button.mat-warn,.mat-fab.mat-warn,.mat-mini-fab.mat-warn{color:#fff}.mat-flat-button.mat-primary.mat-button-disabled,.mat-flat-button.mat-accent.mat-button-disabled,.mat-flat-button.mat-warn.mat-button-disabled,.mat-flat-button.mat-button-disabled.mat-button-disabled,.mat-raised-button.mat-primary.mat-button-disabled,.mat-raised-button.mat-accent.mat-button-disabled,.mat-raised-button.mat-warn.mat-button-disabled,.mat-raised-button.mat-button-disabled.mat-button-disabled,.mat-fab.mat-primary.mat-button-disabled,.mat-fab.mat-accent.mat-button-disabled,.mat-fab.mat-warn.mat-button-disabled,.mat-fab.mat-button-disabled.mat-button-disabled,.mat-mini-fab.mat-primary.mat-button-disabled,.mat-mini-fab.mat-accent.mat-button-disabled,.mat-mini-fab.mat-warn.mat-button-disabled,.mat-mini-fab.mat-button-disabled.mat-button-disabled{color:#00000042}.mat-flat-button.mat-primary,.mat-raised-button.mat-primary,.mat-fab.mat-primary,.mat-mini-fab.mat-primary{background-color:#1e31eb}.mat-flat-button.mat-accent,.mat-raised-button.mat-accent,.mat-fab.mat-accent,.mat-mini-fab.mat-accent{background-color:#ff5252}.mat-flat-button.mat-warn,.mat-raised-button.mat-warn,.mat-fab.mat-warn,.mat-mini-fab.mat-warn{background-color:#c40000}.mat-flat-button.mat-primary.mat-button-disabled,.mat-flat-button.mat-accent.mat-button-disabled,.mat-flat-button.mat-warn.mat-button-disabled,.mat-flat-button.mat-button-disabled.mat-button-disabled,.mat-raised-button.mat-primary.mat-button-disabled,.mat-raised-button.mat-accent.mat-button-disabled,.mat-raised-button.mat-warn.mat-button-disabled,.mat-raised-button.mat-button-disabled.mat-button-disabled,.mat-fab.mat-primary.mat-button-disabled,.mat-fab.mat-accent.mat-button-disabled,.mat-fab.mat-warn.mat-button-disabled,.mat-fab.mat-button-disabled.mat-button-disabled,.mat-mini-fab.mat-primary.mat-button-disabled,.mat-mini-fab.mat-accent.mat-button-disabled,.mat-mini-fab.mat-warn.mat-button-disabled,.mat-mini-fab.mat-button-disabled.mat-button-disabled{background-color:#0000001f}.mat-flat-button.mat-primary .mat-ripple-element,.mat-raised-button.mat-primary .mat-ripple-element,.mat-fab.mat-primary .mat-ripple-element,.mat-mini-fab.mat-primary .mat-ripple-element{background-color:#ffffff1a}.mat-flat-button.mat-accent .mat-ripple-element,.mat-raised-button.mat-accent .mat-ripple-element,.mat-fab.mat-accent .mat-ripple-element,.mat-mini-fab.mat-accent .mat-ripple-element{background-color:#0000001a}.mat-flat-button.mat-warn .mat-ripple-element,.mat-raised-button.mat-warn .mat-ripple-element,.mat-fab.mat-warn .mat-ripple-element,.mat-mini-fab.mat-warn .mat-ripple-element{background-color:#ffffff1a}.mat-stroked-button:not([class*=mat-elevation-z]),.mat-flat-button:not([class*=mat-elevation-z]){box-shadow:0 0 #0003,0 0 #00000024,0 0 #0000001f}.mat-raised-button:not([class*=mat-elevation-z]){box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}.mat-raised-button:not(.mat-button-disabled):active:not([class*=mat-elevation-z]){box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.mat-raised-button.mat-button-disabled:not([class*=mat-elevation-z]){box-shadow:0 0 #0003,0 0 #00000024,0 0 #0000001f}.mat-fab:not([class*=mat-elevation-z]),.mat-mini-fab:not([class*=mat-elevation-z]){box-shadow:0 3px 5px -1px #0003,0 6px 10px #00000024,0 1px 18px #0000001f}.mat-fab:not(.mat-button-disabled):active:not([class*=mat-elevation-z]),.mat-mini-fab:not(.mat-button-disabled):active:not([class*=mat-elevation-z]){box-shadow:0 7px 8px -4px #0003,0 12px 17px 2px #00000024,0 5px 22px 4px #0000001f}.mat-fab.mat-button-disabled:not([class*=mat-elevation-z]),.mat-mini-fab.mat-button-disabled:not([class*=mat-elevation-z]){box-shadow:0 0 #0003,0 0 #00000024,0 0 #0000001f}.mat-button-toggle-standalone:not([class*=mat-elevation-z]),.mat-button-toggle-group:not([class*=mat-elevation-z]){box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}.mat-button-toggle-standalone.mat-button-toggle-appearance-standard:not([class*=mat-elevation-z]),.mat-button-toggle-group-appearance-standard:not([class*=mat-elevation-z]){box-shadow:none}.mat-button-toggle{color:#00000061}.mat-button-toggle .mat-button-toggle-focus-overlay{background-color:#0000001f}.mat-button-toggle-appearance-standard{color:#000000de;background:white}.mat-button-toggle-appearance-standard .mat-button-toggle-focus-overlay{background-color:#000}.mat-button-toggle-group-appearance-standard .mat-button-toggle+.mat-button-toggle{border-left:solid 1px #e0e0e0}[dir=rtl] .mat-button-toggle-group-appearance-standard .mat-button-toggle+.mat-button-toggle{border-left:none;border-right:solid 1px #e0e0e0}.mat-button-toggle-group-appearance-standard.mat-button-toggle-vertical .mat-button-toggle+.mat-button-toggle{border-left:none;border-right:none;border-top:solid 1px #e0e0e0}.mat-button-toggle-checked{background-color:#e0e0e0;color:#0000008a}.mat-button-toggle-checked.mat-button-toggle-appearance-standard{color:#000000de}.mat-button-toggle-disabled{color:#00000042;background-color:#eee}.mat-button-toggle-disabled.mat-button-toggle-appearance-standard{background:white}.mat-button-toggle-disabled.mat-button-toggle-checked{background-color:#bdbdbd}.mat-button-toggle-standalone.mat-button-toggle-appearance-standard,.mat-button-toggle-group-appearance-standard{border:solid 1px #e0e0e0}.mat-button-toggle-appearance-standard .mat-button-toggle-label-content{line-height:48px}.mat-card{background:white;color:#000000de}.mat-card:not([class*=mat-elevation-z]){box-shadow:0 2px 1px -1px #0003,0 1px 1px #00000024,0 1px 3px #0000001f}.mat-card.mat-card-flat:not([class*=mat-elevation-z]){box-shadow:0 0 #0003,0 0 #00000024,0 0 #0000001f}.mat-card-subtitle{color:#0000008a}.mat-checkbox-frame{border-color:#0000008a}.mat-checkbox-checkmark{fill:#fafafa}.mat-checkbox-checkmark-path{stroke:#fafafa!important}.mat-checkbox-mixedmark{background-color:#fafafa}.mat-checkbox-indeterminate.mat-primary .mat-checkbox-background,.mat-checkbox-checked.mat-primary .mat-checkbox-background{background-color:#1e31eb}.mat-checkbox-indeterminate.mat-accent .mat-checkbox-background,.mat-checkbox-checked.mat-accent .mat-checkbox-background{background-color:#ff5252}.mat-checkbox-indeterminate.mat-warn .mat-checkbox-background,.mat-checkbox-checked.mat-warn .mat-checkbox-background{background-color:#c40000}.mat-checkbox-disabled.mat-checkbox-checked .mat-checkbox-background,.mat-checkbox-disabled.mat-checkbox-indeterminate .mat-checkbox-background{background-color:#b0b0b0}.mat-checkbox-disabled:not(.mat-checkbox-checked) .mat-checkbox-frame{border-color:#b0b0b0}.mat-checkbox-disabled .mat-checkbox-label{color:#00000061}.mat-checkbox .mat-ripple-element{background-color:#000}.mat-checkbox-checked:not(.mat-checkbox-disabled).mat-primary .mat-ripple-element,.mat-checkbox:active:not(.mat-checkbox-disabled).mat-primary .mat-ripple-element{background:#1e31eb}.mat-checkbox-checked:not(.mat-checkbox-disabled).mat-accent .mat-ripple-element,.mat-checkbox:active:not(.mat-checkbox-disabled).mat-accent .mat-ripple-element{background:#ff5252}.mat-checkbox-checked:not(.mat-checkbox-disabled).mat-warn .mat-ripple-element,.mat-checkbox:active:not(.mat-checkbox-disabled).mat-warn .mat-ripple-element{background:#c40000}.mat-chip.mat-standard-chip{background-color:#e0e0e0;color:#000000de}.mat-chip.mat-standard-chip .mat-chip-remove{color:#000000de;opacity:.4}.mat-chip.mat-standard-chip:not(.mat-chip-disabled):active{box-shadow:0 3px 3px -2px #0003,0 3px 4px #00000024,0 1px 8px #0000001f}.mat-chip.mat-standard-chip:not(.mat-chip-disabled) .mat-chip-remove:hover{opacity:.54}.mat-chip.mat-standard-chip.mat-chip-disabled{opacity:.4}.mat-chip.mat-standard-chip:after{background:black}.mat-chip.mat-standard-chip.mat-chip-selected.mat-primary{background-color:#1e31eb;color:#fff}.mat-chip.mat-standard-chip.mat-chip-selected.mat-primary .mat-chip-remove{color:#fff;opacity:.4}.mat-chip.mat-standard-chip.mat-chip-selected.mat-primary .mat-ripple-element{background-color:#ffffff1a}.mat-chip.mat-standard-chip.mat-chip-selected.mat-warn{background-color:#c40000;color:#fff}.mat-chip.mat-standard-chip.mat-chip-selected.mat-warn .mat-chip-remove{color:#fff;opacity:.4}.mat-chip.mat-standard-chip.mat-chip-selected.mat-warn .mat-ripple-element{background-color:#ffffff1a}.mat-chip.mat-standard-chip.mat-chip-selected.mat-accent{background-color:#ff5252;color:#000000de}.mat-chip.mat-standard-chip.mat-chip-selected.mat-accent .mat-chip-remove{color:#000000de;opacity:.4}.mat-chip.mat-standard-chip.mat-chip-selected.mat-accent .mat-ripple-element{background-color:#0000001a}.mat-table{background:white}.mat-table thead,.mat-table tbody,.mat-table tfoot,mat-header-row,mat-row,mat-footer-row,[mat-header-row],[mat-row],[mat-footer-row],.mat-table-sticky{background:inherit}mat-row,mat-header-row,mat-footer-row,th.mat-header-cell,td.mat-cell,td.mat-footer-cell{border-bottom-color:#0000001f}.mat-header-cell{color:#0000008a}.mat-cell,.mat-footer-cell{color:#000000de}.mat-calendar-arrow{fill:#0000008a}.mat-datepicker-toggle,.mat-datepicker-content .mat-calendar-next-button,.mat-datepicker-content .mat-calendar-previous-button{color:#0000008a}.mat-calendar-table-header-divider:after{background:rgba(0,0,0,.12)}.mat-calendar-table-header,.mat-calendar-body-label{color:#0000008a}.mat-calendar-body-cell-content,.mat-date-range-input-separator{color:#000000de;border-color:transparent}.mat-calendar-body-disabled>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){color:#00000061}.mat-form-field-disabled .mat-date-range-input-separator{color:#00000061}.mat-calendar-body-in-preview{color:#0000003d}.mat-calendar-body-today:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){border-color:#00000061}.mat-calendar-body-disabled>.mat-calendar-body-today:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){border-color:#0000002e}.mat-calendar-body-in-range:before{background:rgba(30,49,235,.2)}.mat-calendar-body-comparison-identical,.mat-calendar-body-in-comparison-range:before{background:rgba(249,171,0,.2)}.mat-calendar-body-comparison-bridge-start:before,[dir=rtl] .mat-calendar-body-comparison-bridge-end:before{background:linear-gradient(to right,rgba(30,49,235,.2) 50%,rgba(249,171,0,.2) 50%)}.mat-calendar-body-comparison-bridge-end:before,[dir=rtl] .mat-calendar-body-comparison-bridge-start:before{background:linear-gradient(to left,rgba(30,49,235,.2) 50%,rgba(249,171,0,.2) 50%)}.mat-calendar-body-in-range>.mat-calendar-body-comparison-identical,.mat-calendar-body-in-comparison-range.mat-calendar-body-in-range:after{background:#a8dab5}.mat-calendar-body-comparison-identical.mat-calendar-body-selected,.mat-calendar-body-in-comparison-range>.mat-calendar-body-selected{background:#46a35e}.mat-calendar-body-selected{background-color:#1e31eb;color:#fff}.mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:#1e31eb66}.mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #fff}.cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#1e31eb4d}@media (hover: hover){.mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#1e31eb4d}}.mat-datepicker-content{box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f;background-color:#fff;color:#000000de}.mat-datepicker-content.mat-accent .mat-calendar-body-in-range:before{background:rgba(255,82,82,.2)}.mat-datepicker-content.mat-accent .mat-calendar-body-comparison-identical,.mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range:before{background:rgba(249,171,0,.2)}.mat-datepicker-content.mat-accent .mat-calendar-body-comparison-bridge-start:before,.mat-datepicker-content.mat-accent [dir=rtl] .mat-calendar-body-comparison-bridge-end:before{background:linear-gradient(to right,rgba(255,82,82,.2) 50%,rgba(249,171,0,.2) 50%)}.mat-datepicker-content.mat-accent .mat-calendar-body-comparison-bridge-end:before,.mat-datepicker-content.mat-accent [dir=rtl] .mat-calendar-body-comparison-bridge-start:before{background:linear-gradient(to left,rgba(255,82,82,.2) 50%,rgba(249,171,0,.2) 50%)}.mat-datepicker-content.mat-accent .mat-calendar-body-in-range>.mat-calendar-body-comparison-identical,.mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range:after{background:#a8dab5}.mat-datepicker-content.mat-accent .mat-calendar-body-comparison-identical.mat-calendar-body-selected,.mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range>.mat-calendar-body-selected{background:#46a35e}.mat-datepicker-content.mat-accent .mat-calendar-body-selected{background-color:#ff5252;color:#000000de}.mat-datepicker-content.mat-accent .mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:#ff525266}.mat-datepicker-content.mat-accent .mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #000000de}.mat-datepicker-content.mat-accent .cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.mat-datepicker-content.mat-accent .cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#ff52524d}@media (hover: hover){.mat-datepicker-content.mat-accent .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#ff52524d}}.mat-datepicker-content.mat-warn .mat-calendar-body-in-range:before{background:rgba(196,0,0,.2)}.mat-datepicker-content.mat-warn .mat-calendar-body-comparison-identical,.mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range:before{background:rgba(249,171,0,.2)}.mat-datepicker-content.mat-warn .mat-calendar-body-comparison-bridge-start:before,.mat-datepicker-content.mat-warn [dir=rtl] .mat-calendar-body-comparison-bridge-end:before{background:linear-gradient(to right,rgba(196,0,0,.2) 50%,rgba(249,171,0,.2) 50%)}.mat-datepicker-content.mat-warn .mat-calendar-body-comparison-bridge-end:before,.mat-datepicker-content.mat-warn [dir=rtl] .mat-calendar-body-comparison-bridge-start:before{background:linear-gradient(to left,rgba(196,0,0,.2) 50%,rgba(249,171,0,.2) 50%)}.mat-datepicker-content.mat-warn .mat-calendar-body-in-range>.mat-calendar-body-comparison-identical,.mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range:after{background:#a8dab5}.mat-datepicker-content.mat-warn .mat-calendar-body-comparison-identical.mat-calendar-body-selected,.mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range>.mat-calendar-body-selected{background:#46a35e}.mat-datepicker-content.mat-warn .mat-calendar-body-selected{background-color:#c40000;color:#fff}.mat-datepicker-content.mat-warn .mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:#c4000066}.mat-datepicker-content.mat-warn .mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #fff}.mat-datepicker-content.mat-warn .cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.mat-datepicker-content.mat-warn .cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#c400004d}@media (hover: hover){.mat-datepicker-content.mat-warn .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#c400004d}}.mat-datepicker-content-touch{box-shadow:0 11px 15px -7px #0003,0 24px 38px 3px #00000024,0 9px 46px 8px #0000001f}.mat-datepicker-toggle-active{color:#1e31eb}.mat-datepicker-toggle-active.mat-accent{color:#ff5252}.mat-datepicker-toggle-active.mat-warn{color:#c40000}.mat-date-range-input-inner[disabled]{color:#00000061}.mat-dialog-container{box-shadow:0 11px 15px -7px #0003,0 24px 38px 3px #00000024,0 9px 46px 8px #0000001f;background:white;color:#000000de}.mat-divider{border-top-color:#0000001f}.mat-divider-vertical{border-right-color:#0000001f}.mat-expansion-panel{background:white;color:#000000de}.mat-expansion-panel:not([class*=mat-elevation-z]){box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}.mat-action-row{border-top-color:#0000001f}.mat-expansion-panel .mat-expansion-panel-header.cdk-keyboard-focused:not([aria-disabled=true]),.mat-expansion-panel .mat-expansion-panel-header.cdk-program-focused:not([aria-disabled=true]),.mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:hover:not([aria-disabled=true]){background:rgba(0,0,0,.04)}@media (hover: none){.mat-expansion-panel:not(.mat-expanded):not([aria-disabled=true]) .mat-expansion-panel-header:hover{background:white}}.mat-expansion-panel-header-title{color:#000000de}.mat-expansion-panel-header-description,.mat-expansion-indicator:after{color:#0000008a}.mat-expansion-panel-header[aria-disabled=true]{color:#00000042}.mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-title,.mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-description{color:inherit}.mat-expansion-panel-header{height:48px}.mat-expansion-panel-header.mat-expanded{height:64px}.mat-form-field-label,.mat-hint{color:#0009}.mat-form-field.mat-focused .mat-form-field-label{color:#1e31eb}.mat-form-field.mat-focused .mat-form-field-label.mat-accent{color:#ff5252}.mat-form-field.mat-focused .mat-form-field-label.mat-warn{color:#c40000}.mat-focused .mat-form-field-required-marker{color:#ff5252}.mat-form-field-ripple{background-color:#000000de}.mat-form-field.mat-focused .mat-form-field-ripple{background-color:#1e31eb}.mat-form-field.mat-focused .mat-form-field-ripple.mat-accent{background-color:#ff5252}.mat-form-field.mat-focused .mat-form-field-ripple.mat-warn{background-color:#c40000}.mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid) .mat-form-field-infix:after{color:#1e31eb}.mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid).mat-accent .mat-form-field-infix:after{color:#ff5252}.mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid).mat-warn .mat-form-field-infix:after{color:#c40000}.mat-form-field.mat-form-field-invalid .mat-form-field-label,.mat-form-field.mat-form-field-invalid .mat-form-field-label.mat-accent,.mat-form-field.mat-form-field-invalid .mat-form-field-label .mat-form-field-required-marker{color:#c40000}.mat-form-field.mat-form-field-invalid .mat-form-field-ripple,.mat-form-field.mat-form-field-invalid .mat-form-field-ripple.mat-accent{background-color:#c40000}.mat-error{color:#c40000}.mat-form-field-appearance-legacy .mat-form-field-label,.mat-form-field-appearance-legacy .mat-hint{color:#0000008a}.mat-form-field-appearance-legacy .mat-form-field-underline{background-color:#0000006b}.mat-form-field-appearance-legacy.mat-form-field-disabled .mat-form-field-underline{background-image:linear-gradient(to right,rgba(0,0,0,.42) 0%,rgba(0,0,0,.42) 33%,transparent 0%);background-size:4px 100%;background-repeat:repeat-x}.mat-form-field-appearance-standard .mat-form-field-underline{background-color:#0000006b}.mat-form-field-appearance-standard.mat-form-field-disabled .mat-form-field-underline{background-image:linear-gradient(to right,rgba(0,0,0,.42) 0%,rgba(0,0,0,.42) 33%,transparent 0%);background-size:4px 100%;background-repeat:repeat-x}.mat-form-field-appearance-fill .mat-form-field-flex{background-color:#0000000a}.mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-flex{background-color:#00000005}.mat-form-field-appearance-fill .mat-form-field-underline:before{background-color:#0000006b}.mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-label{color:#00000061}.mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-underline:before{background-color:transparent}.mat-form-field-appearance-outline .mat-form-field-outline{color:#0000001f}.mat-form-field-appearance-outline .mat-form-field-outline-thick{color:#000000de}.mat-form-field-appearance-outline.mat-focused .mat-form-field-outline-thick{color:#1e31eb}.mat-form-field-appearance-outline.mat-focused.mat-accent .mat-form-field-outline-thick{color:#ff5252}.mat-form-field-appearance-outline.mat-focused.mat-warn .mat-form-field-outline-thick,.mat-form-field-appearance-outline.mat-form-field-invalid.mat-form-field-invalid .mat-form-field-outline-thick{color:#c40000}.mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-label{color:#00000061}.mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-outline{color:#0000000f}.mat-icon.mat-primary{color:#1e31eb}.mat-icon.mat-accent{color:#ff5252}.mat-icon.mat-warn{color:#c40000}.mat-form-field-type-mat-native-select .mat-form-field-infix:after{color:#0000008a}.mat-input-element:disabled,.mat-form-field-type-mat-native-select.mat-form-field-disabled .mat-form-field-infix:after{color:#00000061}.mat-input-element{caret-color:#1e31eb}.mat-input-element::placeholder{color:#0000006b}.mat-input-element::-moz-placeholder{color:#0000006b}.mat-input-element::-webkit-input-placeholder{color:#0000006b}.mat-input-element:-ms-input-placeholder{color:#0000006b}.mat-form-field.mat-accent .mat-input-element{caret-color:#ff5252}.mat-form-field.mat-warn .mat-input-element,.mat-form-field-invalid .mat-input-element{caret-color:#c40000}.mat-form-field-type-mat-native-select.mat-form-field-invalid .mat-form-field-infix:after{color:#c40000}.mat-list-base .mat-list-item,.mat-list-base .mat-list-option{color:#000000de}.mat-list-base .mat-subheader{color:#0000008a}.mat-list-base .mat-list-item-disabled{background-color:#eee;color:#00000061}.mat-list-option:hover,.mat-list-option:focus,.mat-nav-list .mat-list-item:hover,.mat-nav-list .mat-list-item:focus,.mat-action-list .mat-list-item:hover,.mat-action-list .mat-list-item:focus{background:rgba(0,0,0,.04)}.mat-list-single-selected-option,.mat-list-single-selected-option:hover,.mat-list-single-selected-option:focus{background:rgba(0,0,0,.12)}.mat-menu-panel{background:white}.mat-menu-panel:not([class*=mat-elevation-z]){box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f}.mat-menu-item{background:transparent;color:#000000de}.mat-menu-item[disabled],.mat-menu-item[disabled] .mat-menu-submenu-icon,.mat-menu-item[disabled] .mat-icon-no-color{color:#00000061}.mat-menu-item .mat-icon-no-color,.mat-menu-submenu-icon{color:#0000008a}.mat-menu-item:hover:not([disabled]),.mat-menu-item.cdk-program-focused:not([disabled]),.mat-menu-item.cdk-keyboard-focused:not([disabled]),.mat-menu-item-highlighted:not([disabled]){background:rgba(0,0,0,.04)}.mat-paginator{background:white}.mat-paginator,.mat-paginator-page-size .mat-select-trigger{color:#0000008a}.mat-paginator-decrement,.mat-paginator-increment{border-top:2px solid rgba(0,0,0,.54);border-right:2px solid rgba(0,0,0,.54)}.mat-paginator-first,.mat-paginator-last{border-top:2px solid rgba(0,0,0,.54)}.mat-icon-button[disabled] .mat-paginator-decrement,.mat-icon-button[disabled] .mat-paginator-increment,.mat-icon-button[disabled] .mat-paginator-first,.mat-icon-button[disabled] .mat-paginator-last{border-color:#00000061}.mat-paginator-container{min-height:56px}.mat-progress-bar-background{fill:#c3c8f6}.mat-progress-bar-buffer{background-color:#c3c8f6}.mat-progress-bar-fill:after{background-color:#1e31eb}.mat-progress-bar.mat-accent .mat-progress-bar-background{fill:#fbd0d0}.mat-progress-bar.mat-accent .mat-progress-bar-buffer{background-color:#fbd0d0}.mat-progress-bar.mat-accent .mat-progress-bar-fill:after{background-color:#ff5252}.mat-progress-bar.mat-warn .mat-progress-bar-background{fill:#edbcbc}.mat-progress-bar.mat-warn .mat-progress-bar-buffer{background-color:#edbcbc}.mat-progress-bar.mat-warn .mat-progress-bar-fill:after{background-color:#c40000}.mat-progress-spinner circle,.mat-spinner circle{stroke:#1e31eb}.mat-progress-spinner.mat-accent circle,.mat-spinner.mat-accent circle{stroke:#ff5252}.mat-progress-spinner.mat-warn circle,.mat-spinner.mat-warn circle{stroke:#c40000}.mat-radio-outer-circle{border-color:#0000008a}.mat-radio-button.mat-primary.mat-radio-checked .mat-radio-outer-circle{border-color:#1e31eb}.mat-radio-button.mat-primary .mat-radio-inner-circle,.mat-radio-button.mat-primary .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),.mat-radio-button.mat-primary.mat-radio-checked .mat-radio-persistent-ripple,.mat-radio-button.mat-primary:active .mat-radio-persistent-ripple{background-color:#1e31eb}.mat-radio-button.mat-accent.mat-radio-checked .mat-radio-outer-circle{border-color:#ff5252}.mat-radio-button.mat-accent .mat-radio-inner-circle,.mat-radio-button.mat-accent .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),.mat-radio-button.mat-accent.mat-radio-checked .mat-radio-persistent-ripple,.mat-radio-button.mat-accent:active .mat-radio-persistent-ripple{background-color:#ff5252}.mat-radio-button.mat-warn.mat-radio-checked .mat-radio-outer-circle{border-color:#c40000}.mat-radio-button.mat-warn .mat-radio-inner-circle,.mat-radio-button.mat-warn .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),.mat-radio-button.mat-warn.mat-radio-checked .mat-radio-persistent-ripple,.mat-radio-button.mat-warn:active .mat-radio-persistent-ripple{background-color:#c40000}.mat-radio-button.mat-radio-disabled.mat-radio-checked .mat-radio-outer-circle,.mat-radio-button.mat-radio-disabled .mat-radio-outer-circle{border-color:#00000061}.mat-radio-button.mat-radio-disabled .mat-radio-ripple .mat-ripple-element,.mat-radio-button.mat-radio-disabled .mat-radio-inner-circle{background-color:#00000061}.mat-radio-button.mat-radio-disabled .mat-radio-label-content{color:#00000061}.mat-radio-button .mat-ripple-element{background-color:#000}.mat-select-value{color:#000000de}.mat-select-placeholder{color:#0000006b}.mat-select-disabled .mat-select-value{color:#00000061}.mat-select-arrow{color:#0000008a}.mat-select-panel{background:white}.mat-select-panel:not([class*=mat-elevation-z]){box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f}.mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){background:rgba(0,0,0,.12)}.mat-form-field.mat-focused.mat-primary .mat-select-arrow{color:#1e31eb}.mat-form-field.mat-focused.mat-accent .mat-select-arrow{color:#ff5252}.mat-form-field.mat-focused.mat-warn .mat-select-arrow,.mat-form-field .mat-select.mat-select-invalid .mat-select-arrow{color:#c40000}.mat-form-field .mat-select.mat-select-disabled .mat-select-arrow{color:#00000061}.mat-drawer-container{background-color:#fafafa;color:#000000de}.mat-drawer{background-color:#fff;color:#000000de}.mat-drawer.mat-drawer-push{background-color:#fff}.mat-drawer:not(.mat-drawer-side){box-shadow:0 8px 10px -5px #0003,0 16px 24px 2px #00000024,0 6px 30px 5px #0000001f}.mat-drawer-side{border-right:solid 1px rgba(0,0,0,.12)}.mat-drawer-side.mat-drawer-end,[dir=rtl] .mat-drawer-side{border-left:solid 1px rgba(0,0,0,.12);border-right:none}[dir=rtl] .mat-drawer-side.mat-drawer-end{border-left:none;border-right:solid 1px rgba(0,0,0,.12)}.mat-drawer-backdrop.mat-drawer-shown{background-color:#0009}.mat-slide-toggle.mat-checked .mat-slide-toggle-thumb{background-color:#ff5252}.mat-slide-toggle.mat-checked .mat-slide-toggle-bar{background-color:#ff52528a}.mat-slide-toggle.mat-checked .mat-ripple-element{background-color:#ff5252}.mat-slide-toggle.mat-primary.mat-checked .mat-slide-toggle-thumb{background-color:#1e31eb}.mat-slide-toggle.mat-primary.mat-checked .mat-slide-toggle-bar{background-color:#1e31eb8a}.mat-slide-toggle.mat-primary.mat-checked .mat-ripple-element{background-color:#1e31eb}.mat-slide-toggle.mat-warn.mat-checked .mat-slide-toggle-thumb{background-color:#c40000}.mat-slide-toggle.mat-warn.mat-checked .mat-slide-toggle-bar{background-color:#c400008a}.mat-slide-toggle.mat-warn.mat-checked .mat-ripple-element{background-color:#c40000}.mat-slide-toggle:not(.mat-checked) .mat-ripple-element{background-color:#000}.mat-slide-toggle-thumb{box-shadow:0 2px 1px -1px #0003,0 1px 1px #00000024,0 1px 3px #0000001f;background-color:#fafafa}.mat-slide-toggle-bar{background-color:#00000061}.mat-slider-track-background{background-color:#00000042}.mat-slider.mat-primary .mat-slider-track-fill,.mat-slider.mat-primary .mat-slider-thumb,.mat-slider.mat-primary .mat-slider-thumb-label{background-color:#1e31eb}.mat-slider.mat-primary .mat-slider-thumb-label-text{color:#fff}.mat-slider.mat-primary .mat-slider-focus-ring{background-color:#1e31eb33}.mat-slider.mat-accent .mat-slider-track-fill,.mat-slider.mat-accent .mat-slider-thumb,.mat-slider.mat-accent .mat-slider-thumb-label{background-color:#ff5252}.mat-slider.mat-accent .mat-slider-thumb-label-text{color:#000000de}.mat-slider.mat-accent .mat-slider-focus-ring{background-color:#ff525233}.mat-slider.mat-warn .mat-slider-track-fill,.mat-slider.mat-warn .mat-slider-thumb,.mat-slider.mat-warn .mat-slider-thumb-label{background-color:#c40000}.mat-slider.mat-warn .mat-slider-thumb-label-text{color:#fff}.mat-slider.mat-warn .mat-slider-focus-ring{background-color:#c4000033}.mat-slider:hover .mat-slider-track-background,.mat-slider.cdk-focused .mat-slider-track-background{background-color:#00000061}.mat-slider.mat-slider-disabled .mat-slider-track-background,.mat-slider.mat-slider-disabled .mat-slider-track-fill,.mat-slider.mat-slider-disabled .mat-slider-thumb,.mat-slider.mat-slider-disabled:hover .mat-slider-track-background{background-color:#00000042}.mat-slider.mat-slider-min-value .mat-slider-focus-ring{background-color:#0000001f}.mat-slider.mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb,.mat-slider.mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb-label{background-color:#000000de}.mat-slider.mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb,.mat-slider.mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb-label{background-color:#00000042}.mat-slider.mat-slider-min-value:not(.mat-slider-thumb-label-showing) .mat-slider-thumb{border-color:#00000042;background-color:transparent}.mat-slider.mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover .mat-slider-thumb,.mat-slider.mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused .mat-slider-thumb{border-color:#00000061}.mat-slider.mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover.mat-slider-disabled .mat-slider-thumb,.mat-slider.mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused.mat-slider-disabled .mat-slider-thumb{border-color:#00000042}.mat-slider-has-ticks .mat-slider-wrapper:after{border-color:#000000b3}.mat-slider-horizontal .mat-slider-ticks{background-image:repeating-linear-gradient(to right,rgba(0,0,0,.7),rgba(0,0,0,.7) 2px,transparent 0,transparent);background-image:-moz-repeating-linear-gradient(.0001deg,rgba(0,0,0,.7),rgba(0,0,0,.7) 2px,transparent 0,transparent)}.mat-slider-vertical .mat-slider-ticks{background-image:repeating-linear-gradient(to bottom,rgba(0,0,0,.7),rgba(0,0,0,.7) 2px,transparent 0,transparent)}.mat-step-header.cdk-keyboard-focused,.mat-step-header.cdk-program-focused,.mat-step-header:hover:not([aria-disabled]),.mat-step-header:hover[aria-disabled=false]{background-color:#0000000a}.mat-step-header:hover[aria-disabled=true]{cursor:default}@media (hover: none){.mat-step-header:hover{background:none}}.mat-step-header .mat-step-label,.mat-step-header .mat-step-optional{color:#0000008a}.mat-step-header .mat-step-icon{background-color:#0000008a;color:#fff}.mat-step-header .mat-step-icon-selected,.mat-step-header .mat-step-icon-state-done,.mat-step-header .mat-step-icon-state-edit{background-color:#1e31eb;color:#fff}.mat-step-header.mat-accent .mat-step-icon{color:#000000de}.mat-step-header.mat-accent .mat-step-icon-selected,.mat-step-header.mat-accent .mat-step-icon-state-done,.mat-step-header.mat-accent .mat-step-icon-state-edit{background-color:#ff5252;color:#000000de}.mat-step-header.mat-warn .mat-step-icon{color:#fff}.mat-step-header.mat-warn .mat-step-icon-selected,.mat-step-header.mat-warn .mat-step-icon-state-done,.mat-step-header.mat-warn .mat-step-icon-state-edit{background-color:#c40000;color:#fff}.mat-step-header .mat-step-icon-state-error{background-color:transparent;color:#c40000}.mat-step-header .mat-step-label.mat-step-label-active{color:#000000de}.mat-step-header .mat-step-label.mat-step-label-error{color:#c40000}.mat-stepper-horizontal,.mat-stepper-vertical{background-color:#fff}.mat-stepper-vertical-line:before{border-left-color:#0000001f}.mat-horizontal-stepper-header:before,.mat-horizontal-stepper-header:after,.mat-stepper-horizontal-line{border-top-color:#0000001f}.mat-horizontal-stepper-header{height:72px}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header,.mat-vertical-stepper-header{padding:24px}.mat-stepper-vertical-line:before{top:-16px;bottom:-16px}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header:after,.mat-stepper-label-position-bottom .mat-horizontal-stepper-header:before{top:36px}.mat-stepper-label-position-bottom .mat-stepper-horizontal-line{top:36px}.mat-sort-header-arrow{color:#757575}.mat-tab-nav-bar,.mat-tab-header{border-bottom:1px solid rgba(0,0,0,.12)}.mat-tab-group-inverted-header .mat-tab-nav-bar,.mat-tab-group-inverted-header .mat-tab-header{border-top:1px solid rgba(0,0,0,.12);border-bottom:none}.mat-tab-label,.mat-tab-link{color:#000000de}.mat-tab-label.mat-tab-disabled,.mat-tab-link.mat-tab-disabled{color:#00000061}.mat-tab-header-pagination-chevron{border-color:#000000de}.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:#00000061}.mat-tab-group[class*=mat-background-]>.mat-tab-header,.mat-tab-nav-bar[class*=mat-background-]{border-bottom:none;border-top:none}.mat-tab-group.mat-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-group.mat-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#c5cae94d}.mat-tab-group.mat-primary .mat-ink-bar,.mat-tab-nav-bar.mat-primary .mat-ink-bar{background-color:#1e31eb}.mat-tab-group.mat-primary.mat-background-primary>.mat-tab-header .mat-ink-bar,.mat-tab-group.mat-primary.mat-background-primary>.mat-tab-link-container .mat-ink-bar,.mat-tab-nav-bar.mat-primary.mat-background-primary>.mat-tab-header .mat-ink-bar,.mat-tab-nav-bar.mat-primary.mat-background-primary>.mat-tab-link-container .mat-ink-bar{background-color:#fff}.mat-tab-group.mat-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-group.mat-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#ff8a804d}.mat-tab-group.mat-accent .mat-ink-bar,.mat-tab-nav-bar.mat-accent .mat-ink-bar{background-color:#ff5252}.mat-tab-group.mat-accent.mat-background-accent>.mat-tab-header .mat-ink-bar,.mat-tab-group.mat-accent.mat-background-accent>.mat-tab-link-container .mat-ink-bar,.mat-tab-nav-bar.mat-accent.mat-background-accent>.mat-tab-header .mat-ink-bar,.mat-tab-nav-bar.mat-accent.mat-background-accent>.mat-tab-link-container .mat-ink-bar{background-color:#000000de}.mat-tab-group.mat-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-group.mat-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#ffcdd24d}.mat-tab-group.mat-warn .mat-ink-bar,.mat-tab-nav-bar.mat-warn .mat-ink-bar{background-color:#c40000}.mat-tab-group.mat-warn.mat-background-warn>.mat-tab-header .mat-ink-bar,.mat-tab-group.mat-warn.mat-background-warn>.mat-tab-link-container .mat-ink-bar,.mat-tab-nav-bar.mat-warn.mat-background-warn>.mat-tab-header .mat-ink-bar,.mat-tab-nav-bar.mat-warn.mat-background-warn>.mat-tab-link-container .mat-ink-bar{background-color:#fff}.mat-tab-group.mat-background-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-background-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-group.mat-background-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-background-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#c5cae94d}.mat-tab-group.mat-background-primary>.mat-tab-header,.mat-tab-group.mat-background-primary>.mat-tab-link-container,.mat-tab-group.mat-background-primary>.mat-tab-header-pagination,.mat-tab-nav-bar.mat-background-primary>.mat-tab-header,.mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container,.mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination{background-color:#1e31eb}.mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-label,.mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-tab-link,.mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-label,.mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-tab-link{color:#fff}.mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-label.mat-tab-disabled,.mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-tab-link.mat-tab-disabled,.mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-label.mat-tab-disabled,.mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-tab-link.mat-tab-disabled{color:#fff6}.mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-chevron,.mat-tab-group.mat-background-primary>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-focus-indicator:before,.mat-tab-group.mat-background-primary>.mat-tab-header .mat-focus-indicator:before,.mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-focus-indicator:before,.mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-focus-indicator:before{border-color:#fff}.mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.mat-tab-group.mat-background-primary>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:#fff;opacity:.4}.mat-tab-group.mat-background-primary>.mat-tab-header .mat-ripple-element,.mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-ripple-element,.mat-tab-group.mat-background-primary>.mat-tab-header-pagination .mat-ripple-element,.mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-ripple-element,.mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-ripple-element,.mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination .mat-ripple-element{background-color:#fff;opacity:.12}.mat-tab-group.mat-background-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-background-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-group.mat-background-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-background-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#ff8a804d}.mat-tab-group.mat-background-accent>.mat-tab-header,.mat-tab-group.mat-background-accent>.mat-tab-link-container,.mat-tab-group.mat-background-accent>.mat-tab-header-pagination,.mat-tab-nav-bar.mat-background-accent>.mat-tab-header,.mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container,.mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination{background-color:#ff5252}.mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-label,.mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-tab-link,.mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-label,.mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-tab-link{color:#000000de}.mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-label.mat-tab-disabled,.mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-tab-link.mat-tab-disabled,.mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-label.mat-tab-disabled,.mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-tab-link.mat-tab-disabled{color:#0006}.mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-chevron,.mat-tab-group.mat-background-accent>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-focus-indicator:before,.mat-tab-group.mat-background-accent>.mat-tab-header .mat-focus-indicator:before,.mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-focus-indicator:before,.mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-focus-indicator:before{border-color:#000000de}.mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.mat-tab-group.mat-background-accent>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:#000;opacity:.4}.mat-tab-group.mat-background-accent>.mat-tab-header .mat-ripple-element,.mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-ripple-element,.mat-tab-group.mat-background-accent>.mat-tab-header-pagination .mat-ripple-element,.mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-ripple-element,.mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-ripple-element,.mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination .mat-ripple-element{background-color:#000;opacity:.12}.mat-tab-group.mat-background-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-background-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-group.mat-background-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-background-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#ffcdd24d}.mat-tab-group.mat-background-warn>.mat-tab-header,.mat-tab-group.mat-background-warn>.mat-tab-link-container,.mat-tab-group.mat-background-warn>.mat-tab-header-pagination,.mat-tab-nav-bar.mat-background-warn>.mat-tab-header,.mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container,.mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination{background-color:#c40000}.mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-label,.mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-tab-link,.mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-label,.mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-tab-link{color:#fff}.mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-label.mat-tab-disabled,.mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-tab-link.mat-tab-disabled,.mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-label.mat-tab-disabled,.mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-tab-link.mat-tab-disabled{color:#fff6}.mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-chevron,.mat-tab-group.mat-background-warn>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-focus-indicator:before,.mat-tab-group.mat-background-warn>.mat-tab-header .mat-focus-indicator:before,.mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-focus-indicator:before,.mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-focus-indicator:before{border-color:#fff}.mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.mat-tab-group.mat-background-warn>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:#fff;opacity:.4}.mat-tab-group.mat-background-warn>.mat-tab-header .mat-ripple-element,.mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-ripple-element,.mat-tab-group.mat-background-warn>.mat-tab-header-pagination .mat-ripple-element,.mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-ripple-element,.mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-ripple-element,.mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination .mat-ripple-element{background-color:#fff;opacity:.12}.mat-toolbar{background:whitesmoke;color:#000000de}.mat-toolbar.mat-primary{background:#1e31eb;color:#fff}.mat-toolbar.mat-accent{background:#ff5252;color:#000000de}.mat-toolbar.mat-warn{background:#c40000;color:#fff}.mat-toolbar .mat-form-field-underline,.mat-toolbar .mat-form-field-ripple,.mat-toolbar .mat-focused .mat-form-field-ripple{background-color:currentColor}.mat-toolbar .mat-form-field-label,.mat-toolbar .mat-focused .mat-form-field-label,.mat-toolbar .mat-select-value,.mat-toolbar .mat-select-arrow,.mat-toolbar .mat-form-field.mat-focused .mat-select-arrow{color:inherit}.mat-toolbar .mat-input-element{caret-color:currentColor}.mat-toolbar-multiple-rows{min-height:64px}.mat-toolbar-row,.mat-toolbar-single-row{height:64px}@media (max-width: 599px){.mat-toolbar-multiple-rows{min-height:56px}.mat-toolbar-row,.mat-toolbar-single-row{height:56px}}.mat-tooltip{background:rgba(97,97,97,.9)}.mat-tree{background:white}.mat-tree-node,.mat-nested-tree-node{color:#000000de}.mat-tree-node{min-height:48px}.mat-snack-bar-container{color:#ffffffb3;background:#323232;box-shadow:0 3px 5px -1px #0003,0 6px 10px #00000024,0 1px 18px #0000001f}.mat-simple-snackbar-action{color:#ff5252}.mat-ripple-element{background-color:#0000001a}.mat-option{color:#000000de}.mat-option:hover:not(.mat-option-disabled),.mat-option:focus:not(.mat-option-disabled){background:rgba(0,0,0,.04)}.mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled){background:rgba(0,0,0,.04)}.mat-option.mat-active{background:rgba(0,0,0,.04);color:#000000de}.mat-option.mat-option-disabled{color:#00000061}.mat-primary .mat-option.mat-selected:not(.mat-option-disabled){color:#1e31eb}.mat-accent .mat-option.mat-selected:not(.mat-option-disabled){color:#ff5252}.mat-warn .mat-option.mat-selected:not(.mat-option-disabled){color:#c40000}.mat-optgroup-label{color:#0000008a}.mat-optgroup-disabled .mat-optgroup-label{color:#00000061}.mat-pseudo-checkbox{color:#0000008a}.mat-pseudo-checkbox:after{color:#fafafa}.mat-pseudo-checkbox-disabled{color:#b0b0b0}.mat-primary .mat-pseudo-checkbox-checked,.mat-primary .mat-pseudo-checkbox-indeterminate{background:#1e31eb}.mat-pseudo-checkbox-checked,.mat-pseudo-checkbox-indeterminate,.mat-accent .mat-pseudo-checkbox-checked,.mat-accent .mat-pseudo-checkbox-indeterminate{background:#ff5252}.mat-warn .mat-pseudo-checkbox-checked,.mat-warn .mat-pseudo-checkbox-indeterminate{background:#c40000}.mat-pseudo-checkbox-checked.mat-pseudo-checkbox-disabled,.mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-disabled{background:#b0b0b0}.mat-app-background{background-color:#fafafa;color:#000000de}.mat-elevation-z0{box-shadow:0 0 #0003,0 0 #00000024,0 0 #0000001f}.mat-elevation-z1{box-shadow:0 2px 1px -1px #0003,0 1px 1px #00000024,0 1px 3px #0000001f}.mat-elevation-z2{box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}.mat-elevation-z3{box-shadow:0 3px 3px -2px #0003,0 3px 4px #00000024,0 1px 8px #0000001f}.mat-elevation-z4{box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f}.mat-elevation-z5{box-shadow:0 3px 5px -1px #0003,0 5px 8px #00000024,0 1px 14px #0000001f}.mat-elevation-z6{box-shadow:0 3px 5px -1px #0003,0 6px 10px #00000024,0 1px 18px #0000001f}.mat-elevation-z7{box-shadow:0 4px 5px -2px #0003,0 7px 10px 1px #00000024,0 2px 16px 1px #0000001f}.mat-elevation-z8{box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.mat-elevation-z9{box-shadow:0 5px 6px -3px #0003,0 9px 12px 1px #00000024,0 3px 16px 2px #0000001f}.mat-elevation-z10{box-shadow:0 6px 6px -3px #0003,0 10px 14px 1px #00000024,0 4px 18px 3px #0000001f}.mat-elevation-z11{box-shadow:0 6px 7px -4px #0003,0 11px 15px 1px #00000024,0 4px 20px 3px #0000001f}.mat-elevation-z12{box-shadow:0 7px 8px -4px #0003,0 12px 17px 2px #00000024,0 5px 22px 4px #0000001f}.mat-elevation-z13{box-shadow:0 7px 8px -4px #0003,0 13px 19px 2px #00000024,0 5px 24px 4px #0000001f}.mat-elevation-z14{box-shadow:0 7px 9px -4px #0003,0 14px 21px 2px #00000024,0 5px 26px 4px #0000001f}.mat-elevation-z15{box-shadow:0 8px 9px -5px #0003,0 15px 22px 2px #00000024,0 6px 28px 5px #0000001f}.mat-elevation-z16{box-shadow:0 8px 10px -5px #0003,0 16px 24px 2px #00000024,0 6px 30px 5px #0000001f}.mat-elevation-z17{box-shadow:0 8px 11px -5px #0003,0 17px 26px 2px #00000024,0 6px 32px 5px #0000001f}.mat-elevation-z18{box-shadow:0 9px 11px -5px #0003,0 18px 28px 2px #00000024,0 7px 34px 6px #0000001f}.mat-elevation-z19{box-shadow:0 9px 12px -6px #0003,0 19px 29px 2px #00000024,0 7px 36px 6px #0000001f}.mat-elevation-z20{box-shadow:0 10px 13px -6px #0003,0 20px 31px 3px #00000024,0 8px 38px 7px #0000001f}.mat-elevation-z21{box-shadow:0 10px 13px -6px #0003,0 21px 33px 3px #00000024,0 8px 40px 7px #0000001f}.mat-elevation-z22{box-shadow:0 10px 14px -6px #0003,0 22px 35px 3px #00000024,0 8px 42px 7px #0000001f}.mat-elevation-z23{box-shadow:0 11px 14px -7px #0003,0 23px 36px 3px #00000024,0 9px 44px 8px #0000001f}.mat-elevation-z24{box-shadow:0 11px 15px -7px #0003,0 24px 38px 3px #00000024,0 9px 46px 8px #0000001f}.mat-theme-loaded-marker{display:none}.extension-container{display:inline-block;font-size:15px;border:1px solid var(--primary);border-radius:15px;margin-right:10px}.extension-container mat-icon{vertical-align:middle;font-size:15px;height:15px;width:15px;color:var(--danger);margin-right:10px;cursor:pointer}.extension-container span{margin-left:10px}.key-value-list-section-title{background:linear-gradient(to right,var(--gray) 0%,rgb(255,255,255) 100%) left bottom #fff no-repeat;background-size:100% 1px}.value-pairs-list{list-style:none;padding:0}.value-pairs-list mat-icon{vertical-align:middle;font-size:15px;height:15px;width:15px;color:var(--danger);margin-right:10px;cursor:pointer}::ng-deep .mat-dialog-container{border-radius:10px}.row.title{background-color:#ebebeb;padding:20px 0 20px 50px}.row.title mat-icon.add{background:#fff;color:#7b7b7b;height:40px;width:40px;border-radius:10px;font-size:27px;padding:7px 6px 6px 7px;margin:0 7px 0 0}.row.title .header-title-standard{display:flex;align-items:center;font-size:19px;font-weight:700;color:gray}.row:not(.title){margin:15px 0 0}form{margin:25px 0 0}eqp-select ::ng-deep mat-select{background:url(/assets/images/arrow.png) no-repeat;background-size:15px;background-position:95% 21px;border:1px solid #e7e7e9;border-radius:10px;padding:15px 0 15px 20px!important;margin-top:-1px;background-color:#fff}eqp-select ::ng-deep mat-select:focus{border:1px solid #6F79FB}::ng-deep .mat-select-arrow{color:transparent!important}input[type=number]{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none}.increasableValues{display:flex}.increasableValues .col-sm-12{display:flex;flex-direction:column;margin:0 3em 0 0}.increasableValues .col-sm-12 .mat-form-field{height:79px;line-height:34px;width:50%}.increasableValues .col-sm-12 .mat-form-field ::ng-deep .mat-form-field-flex{width:230px;border:1px solid #e7e7e9;border-radius:10px;padding:7px 0 0 20px!important;margin-top:10px;background-color:#fff}.increasableValues .col-sm-12 .mat-form-field ::ng-deep .mat-form-field-flex .mat-form-field-infix{display:flex;margin:-10px 0 0}.increasableValues .col-sm-12 .mat-form-field ::ng-deep .mat-form-field-flex .mat-form-field-infix input{margin:0;border:none;height:100%}.increasableValues .col-sm-12 .mat-form-field div.buttons{display:flex;flex-direction:column;margin:-10px 0 0;border-right:1px solid #F4F4F4;padding:10px 14px 0 0}.increasableValues .col-sm-12 .mat-form-field div.buttons button.up{height:17px;width:21px;background:url(/assets/images/arrow.png) no-repeat;background-size:20px;background-position-y:1px;background-position-x:1px;-webkit-transform:rotate(180deg);border:none;opacity:.3;cursor:pointer}.increasableValues .col-sm-12 .mat-form-field div.buttons button.down{height:50px;width:23px;background:url(/assets/images/arrow.png) no-repeat no-repeat;background-size:20px;border:none;opacity:.3;background-position-y:21px;background-position-x:0px;cursor:pointer}.increasableValues .col-sm-12 .mat-form-field input{margin:-14px 0 0 63px;font-size:18px}.second .col-sm-12{margin:0 1em 0 0}.date ::ng-deep mat-form-field .mat-form-field-wrapper .mat-form-field-label-wrapper label{display:none}.date ::ng-deep mat-form-field .mat-form-field-wrapper .mat-form-field-suffix{display:inline}eqp-attachments ::ng-deep div button{padding:5px 35px;background:linear-gradient(to right,#1E31EB,#693DDA);border-radius:10px}eqp-attachments ::ng-deep div button span mat-icon{margin-right:5px}eqp-attachments ::ng-deep div button.eqp-attachments-delete-btn{color:#fff}::ng-deep mat-dialog-container .container-fluid.eqp-attachments-dialog-add-container form .row:first-child{padding:20px 40px;background-color:#ebebeb;color:gray;font-size:19px;font-weight:700}::ng-deep mat-dialog-container .container-fluid.eqp-attachments-dialog-add-container form .mat-form-field-label-wrapper label{margin-top:21px;margin-left:25px}::ng-deep mat-dialog-container .container-fluid.eqp-attachments-dialog-add-container form .btn-primary[disabled]{padding:7px 35px;border-radius:10px;font-size:14px;background-color:#dbdbdc!important;color:#000;background:none}::ng-deep mat-dialog-container .container-fluid.eqp-attachments-dialog-add-container form .btn-primary:not(disabled){padding:7px 35px;border-radius:10px;font-size:14px;background:linear-gradient(to right,#1E31EB,#693DDA);color:#fff}::ng-deep mat-dialog-container .container-fluid.eqp-attachments-dialog-add-container form button{margin:0 10px 0 0!important;border:1px solid #1E31EB;padding:7px 35px;border-radius:10px;font-size:14px}::ng-deep mat-dialog-container .container-fluid.eqp-attachments-dialog-add-container form button[disabled]{border:none}::ng-deep mat-dialog-container .container-fluid.eqp-attachments-dialog-add-container form .ng-star-inserted .justify-content-center button{padding:4px;margin:0;border:none;left:8px}::ng-deep mat-dialog-container .container-fluid.eqp-attachments-dialog-add-container form .row:last-child{padding:50px 20px 20px 0}eqp-table ::ng-deep mat-form-field:not(.mat-paginator-page-size-select) .mat-form-field-wrapper input{background-color:#ebebeb!important;background:url(data:image/png;base64,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) no-repeat;background-size:19px;background-position:19px;padding:15px 0 15px 53px!important}eqp-table ::ng-deep mat-form-field:not(.mat-paginator-page-size-select) .mat-form-field-wrapper input:focus{background-color:#fff!important;border:1px solid #e7e7e9}eqp-table ::ng-deep mat-form-field:not(.mat-paginator-page-size-select) .mat-form-field-wrapper .mat-form-field-label-wrapper label{margin-top:21px;margin-left:55px}eqp-table ::ng-deep mat-header-row{background-color:#ebebeb;border-bottom-width:0px}eqp-table ::ng-deep mat-header-row .mat-column-Required{flex:none!important}eqp-table ::ng-deep .mat-sort-header-button{color:#3b3a3b;font-size:15px}eqp-table ::ng-deep .mat-row{background-color:#fff;margin:10px 0;box-shadow:0 3px 7px -3px #0003;padding:5px 0}eqp-table ::ng-deep .mat-row .mat-column-Required{flex:0 0 8%!important}eqp-table ::ng-deep .mat-row mat-cell eqp-select{margin-top:16px}eqp-table ::ng-deep .mat-row mat-cell eqp-select .mat-form-field-wrapper{padding-bottom:0}eqp-table ::ng-deep .mat-row .mat-cell:last-child span i.success-color{background-color:#383fec;color:#fff!important;padding:6px;border-radius:3px}@media screen and (max-width: 1100px){.row:not(.title){margin:0!important}.second{display:flex;flex-direction:column}.second .col-sm-12{margin:0}.buttonsForm{padding:0 30px 20px 0;margin:50px 0 0}}@media screen and (max-width: 766px){.increasableValues{display:flex;flex-direction:column}.increasableValues .col-sm-12{margin:0 0 -1.5em}.second{display:flex;flex-direction:column}.second .col-sm-12{margin:0 0 -3.4em}.buttonsForm{margin:55px 0 0!important;padding:0 13px 20px 0;transform:translateY(110px)}}@media screen and (max-width: 577px){.increasableValues .col-sm-12{margin:0 0 1.5em}}:host ::ng-deep .mat-input-element{width:100%;width:-moz-available;width:-webkit-fill-available;width:fill-available}\n"], dependencies: [{ kind: "component", type: i4.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i5.MatError, selector: "mat-error", inputs: ["id"] }, { kind: "component", type: i5.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5.MatLabel, selector: "mat-label" }, { kind: "directive", type: i6.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: i7.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["disabled", "disableRipple", "color", "tabIndex"], exportAs: ["matSlideToggle"] }, { kind: "component", type: i8.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i9.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.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: i1.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i10.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i10.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i10.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i11.EqpAttachmentsComponent, selector: "eqp-attachments", inputs: ["disableAction", "showHeader", "headerTitle", "attachmentsList", "showMatCard", "multipleAttachment", "loadMultipleFiles", "attachmentsColumns", "emptyTableMessage", "allowOnlyImages", "acceptedFileTypes", "isDisabled", "showInlinePreview", "getAttachmentEndpoint", "productionBaseUrl", "compressionOptions", "allowedTypes", "isEqpTableMultiLanguage", "tablePaginatorVisible", "tablePaginatorSize", "downloadTooltipPosition", "openLinkLabel", "addButtonLabel", "downloadLabel", "deleteLabel", "fileNameLabel", "previewLabel", "uploadFileLabel", "confirmLabel", "abortLabel", "saveLabel", "exitLabel", "eqpTableSearchText", "deleteDialogTitle", "deleteDialogMessage", "noImageSelectedErrorMessage", "wrongTypeSelectedErrorMessage", "videoPreviewErrorMessage"], outputs: ["localEditedAttachments", "abortAddAttachment", "downloadAttachment", "onDeleteAttachment"] }, { kind: "component", type: i2.EqpSelectComponent, selector: "eqp-select", inputs: ["placeholder", "enumData", "enumDataToExclude", "arrayData", "arrayKeyProperty", "arrayValueProperty", "ngModelOptions", "ngModelInput", "formGroupInput", "formControlNameInput", "isRequired", "isDisabled", "isMultiLanguage", "multilanguagePrefixKey", "isAlphabeticalOrderable", "suffixIcon", "prefixIcon", "isMultiSelect", "includeFullObject", "showCancelButton", "isSearchable", "searchText", "noResultSearchText", "data"], outputs: ["ngModelInputChange"] }, { kind: "component", type: i12.EqpDateTimePickerComponent, selector: "eqp-datetimepicker", inputs: ["placeholder", "ngModelInput", "UTCDate", "timeType", "pickerMode", "formControlNameInput", "formGroupInput", "isRequired", "minDate", "maxDate", "readonlyInput", "disabled", "showSpinners", "showSeconds", "disableMinute", "defaultTime", "stepHour", "stepMinute", "stepSecond", "color", "enableMeridian", "touchUi", "customDateFormat"], outputs: ["ngModelInputChange", "onDateChange"] }, { kind: "component", type: i13.AddFormulaComponent, selector: "eqp-dynamic-module-add-formula-component" }] });
609
621
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: AddFormFieldComponent, decorators: [{
610
622
  type: Component,
611
- args: [{ selector: 'eqp-dynamic-module-add-form-field', template: "<div class=\"bigwrapper\" style=\"max-height: 100vh !important; overflow-x: hidden; overflow-y: auto;\">\r\n <div class=\"containerHeader\">\r\n <div class=\"row title\">\r\n <div class=\"header-title-standard\">{{indexField != null && indexField >= 0 ? \"Modifica\"\r\n : \"Aggiungi\"}} campo</div>\r\n </div>\r\n </div>\r\n <div class=\"container-fluid containerContent\">\r\n <form [formGroup]=\"fieldFormGroup\">\r\n <div class=\"row\">\r\n <div class=\"col-sm-12 col-md-4 mt-2 tipoCampo\">\r\n <mat-label>Tipo campo *</mat-label>\r\n <eqp-select [enumData]=\"FieldTypeEnum\" [(ngModelInput)]=\"field.FieldType\" [showCancelButton]=\"false\"\r\n (ngModelInputChange)=\"onFieldTypeChange()\" [formGroupInput]=\"fieldFormGroup\"\r\n [formControlNameInput]=\"'FieldType'\" [enumDataToExclude]=\"fieldTypesToExclude\">\r\n </eqp-select>\r\n </div>\r\n\r\n <div class=\"col-sm-12 col-md-4 mt-2\">\r\n <mat-label> Codice * </mat-label>\r\n <mat-form-field>\r\n <input formControlName=\"Label\" required matInput [(ngModel)]=\"field.Label\" (keypress)=\"omit_special_char($event)\" spellcheck=\"false\" autocomplete=\"off\" (focusout)=\"stringSanitizer(field.Label)\">\r\n <mat-error>\r\n {{ getFormValidationErrors('Label') }}\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"col-sm-12 col-md-4 mt-2\">\r\n <mat-label> Descrizione * </mat-label>\r\n <mat-form-field>\r\n <input name=\"Description\" formControlName=\"Description\" required matInput\r\n [(ngModel)]=\"field.Description\" spellcheck=\"false\" autocomplete=\"off\" (keypress)=\"omit_special_char($event)\" (focusout)=\"stringSanitizer(field.Description)\">\r\n <!-- <mat-error *ngIf=\"!field.Description.valid && field.FormFormGroup.controls[field.Description].touched\"> -->\r\n <mat-error>\r\n {{ getFormValidationErrors('Description') }}\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"col-sm-12 col-md-4 mt-2\">\r\n <mat-label> Tooltip </mat-label>\r\n <mat-form-field>\r\n <input name=\"Tooltip\" formControlName=\"Tooltip\" matInput [(ngModel)]=\"field.Tooltip\" spellcheck=\"false\" autocomplete=\"off\" (keypress)=\"omit_special_char($event)\" (focusout)=\"stringSanitizer(field.Tooltip)\">\r\n <mat-error>\r\n {{ getFormValidationErrors('Tooltip') }}\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"col-sm-12 col-md-4 mt-2\">\r\n <mat-label> Formula (Javascript) </mat-label>\r\n <mat-form-field>\r\n <input formControlName=\"Formula\" matInput [(ngModel)]=\"field.Formula\"\r\n (click)=\"openFormulaDialog()\" spellcheck=\"false\" autocomplete=\"off\" (keypress)=\"omit_special_char($event)\" (focusout)=\"stringSanitizer(field.Formula)\">\r\n <mat-error>\r\n {{ getFormValidationErrors('Formula') }}\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2\" *ngIf=\"formFieldsGroups\">\r\n <mat-label>Sezione</mat-label>\r\n <eqp-select [arrayData]=\"formFieldsGroups\" [(ngModelInput)]=\"field.FieldGroup\"\r\n [arrayKeyProperty]=\"'Name'\" [arrayValueProperty]=\"'Name'\" [formGroupInput]=\"fieldFormGroup\"\r\n [formControlNameInput]=\"'FieldGroup'\" required [includeFullObject]=\"false\">\r\n </eqp-select>\r\n </div>\r\n\r\n <div class=\"col-sm-12 col-md-4 mt-2\">\r\n <mat-label>Larghezza campo</mat-label>\r\n <eqp-select [arrayData]=\"availableColSpanSizes\" [(ngModelInput)]=\"field.ColSpanSizes\"\r\n [arrayKeyProperty]=\"'key'\" [arrayValueProperty]=\"'value'\"\r\n (ngModelInputChange)=\"onColSpanSizeSelect()\" [isMultiSelect]=\"true\"\r\n [formGroupInput]=\"fieldFormGroup\" [formControlNameInput]=\"'ColSpanSizes'\"\r\n [includeFullObject]=\"false\">\r\n </eqp-select>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2\">\r\n <mat-label> Label css </mat-label>\r\n <mat-form-field>\r\n <input name=\"LabelstyleCSS\" formControlName=\"LabelstyleCSS\" matInput\r\n [(ngModel)]=\"field.LabelstyleCSS\" spellcheck=\"false\" autocomplete=\"off\"(keypress)=\"omit_special_char($event)\" (focusout)=\"stringSanitizer(field.LabelstyleCSS)\">\r\n <mat-error>\r\n {{ getFormValidationErrors('LabelstyleCSS') }}\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2\">\r\n <mat-label> Field css </mat-label>\r\n <mat-form-field>\r\n <input name=\"FieldstyleCSS\" formControlName=\"FieldstyleCSS\" matInput\r\n [(ngModel)]=\"field.FieldstyleCSS\" spellcheck=\"false\" autocomplete=\"off\" (keypress)=\"omit_special_char($event)\" (focusout)=\"stringSanitizer(field.FieldstyleCSS)\">\r\n <mat-error>\r\n {{ getFormValidationErrors('FieldstyleCSS') }}\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"col-sm-12 col-md-4 mt-2 align-self-center\">\r\n <mat-slide-toggle [(ngModel)]=\"field.Required\" formControlName=\"Required\" color=\"primary\">\r\n Obbligatorio\r\n </mat-slide-toggle>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2 align-self-center\">\r\n <mat-slide-toggle [(ngModel)]=\"field.Readonly\" formControlName=\"Readonly\" color=\"primary\">\r\n ReadOnly\r\n </mat-slide-toggle>\r\n </div>\r\n\r\n \r\n <div class=\"col-sm-12 col-md-4 mt-2\">\r\n <mat-label> VisibleIf </mat-label>\r\n <mat-form-field>\r\n <input name=\"VisibleIf\" formControlName=\"VisibleIf\" matInput [(ngModel)]=\"field.VisibleIf\"\r\n (click)=\"openVisibleIfDialog()\" spellcheck=\"false\" autocomplete=\"off\" (keypress)=\"omit_special_char($event)\" (focusout)=\"stringSanitizer(field.VisibleIf)\">\r\n <mat-error>\r\n {{ getFormValidationErrors('VisibleIf') }}\r\n </mat-error>\r\n </mat-form-field>\r\n <!-- <mat-form-field>\r\n <input name=\"VisibleIf\" formControlName=\"VisibleIf\" matInput [(ngModel)]=\"field.VisibleIf\"\r\n [matAutocomplete]=\"VisibleIfAutocomplete\" (keyup)=\"setVisibleIfAutocompleteOptions($event)\"\r\n (focus)=\"setVisibleIfAutocompleteOptions(null)\" (focusout)=\"stringSanitizer(field.VisibleIf)\">\r\n <mat-autocomplete #VisibleIfAutocomplete=\"matAutocomplete\">\r\n <mat-option *ngFor=\"let option of VisibleIfAutocompleteOptions\" [value]=\"option.value\">\r\n {{option.label}}\r\n </mat-option>\r\n </mat-autocomplete>\r\n </mat-form-field> -->\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2 align-self-center\"\r\n [hidden]=\"(field.VisibleIf != null || field.VisibleIf != undefined) && field.VisibleIf != ''\">\r\n <div class=\" align-self-center\">\r\n <mat-slide-toggle [(ngModel)]=\"field.InListView\" formControlName=\"InListView\" color=\"primary\"\r\n [disabled]=\"fieldFormGroup.controls['InListView'].disabled\">\r\n Visibile\r\n </mat-slide-toggle>\r\n </div>\r\n </div>\r\n <ng-container *ngTemplateOutlet=\"fieldTypeFormTemplate\">\r\n </ng-container>\r\n </div>\r\n </form>\r\n </div>\r\n <div class=\"containerFooter\">\r\n <div class=\"d-flex justify-content-end mt-2 mb-1\">\r\n <div class=\"buttonsForm\">\r\n <button class=\"btn mat-raised-button cancel\" (click)=\"saveAndExitAddField(false)\" type=\"button\">\r\n Annulla\r\n </button>\r\n <button class=\"mr-2 save\" mat-raised-button color=\"primary\" (click)=\"saveAndExitAddField(true)\"\r\n [disabled]=\"disableSaveField()\" type=\"button\">\r\n Salva\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<!-- FORM PROPRIET\u00C0 CAMPI DI TESTO -->\r\n<ng-template #textFieldFormTemplate>\r\n <div class=\"col-sm-12 col-md-4\">\r\n <mat-label>Maschera</mat-label>\r\n <eqp-select [enumData]=\"TextMaskEnum\" [(ngModelInput)]=\"field.TextMask\" [formGroupInput]=\"fieldFormGroup\"\r\n [formControlNameInput]=\"'TextMask'\">\r\n </eqp-select>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4\" [formGroup]=\"fieldFormGroup\">\r\n <mat-label> Lunghezza minima </mat-label>\r\n <mat-form-field>\r\n <input id=\"lengthMin\" formControlName=\"MinLenght\" type=\"number\" [min]=\"0\" matInput\r\n [(ngModel)]=\"field.MinLenght\" spellcheck=\"false\" autocomplete=\"off\" (keypress)=\"omit_special_char($event)\" (focusout)=\"stringSanitizer(field.MinLenght)\">\r\n <mat-error>\r\n {{ getFormValidationErrors('MinLenght') }}\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2 align-self-center\" [formGroup]=\"fieldFormGroup\" [hidden]=\"field.Readonly\" >\r\n <mat-slide-toggle [(ngModel)]=\"field.Microphone\" formControlName=\"Microphone\" color=\"primary\">\r\n Speech-To-Text\r\n </mat-slide-toggle>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4\" [formGroup]=\"fieldFormGroup\">\r\n <mat-label> Lunghezza massima </mat-label>\r\n <mat-form-field>\r\n <input id=\"lengthMax\" formControlName=\"MaxLenght\" type=\"number\" [min]=\"0\" matInput\r\n [(ngModel)]=\"field.MaxLenght\" spellcheck=\"false\" autocomplete=\"off\" (keypress)=\"omit_special_char($event)\" (focusout)=\"stringSanitizer(field.MaxLenght)\">\r\n <mat-error>\r\n {{ getFormValidationErrors('MaxLenght') }}\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n</ng-template>\r\n\r\n<!-- FORM PROPRIET\u00C0 CAMPI AREA DI TESTO -->\r\n<ng-template #textareaFieldFormTemplate>\r\n <div class=\"col-sm-12 col-md-4 mt-2\" [formGroup]=\"fieldFormGroup\">\r\n <mat-label> Righe </mat-label>\r\n <mat-form-field class=\"righe\">\r\n <input id=\"rows\" formControlName=\"Rows\" type=\"number\" [min]=\"0\" matInput [(ngModel)]=\"field.Rows\" spellcheck=\"false\" autocomplete=\"off\" (keypress)=\"omit_special_char($event)\" (focusout)=\"stringSanitizer(field.Rows)\">\r\n <mat-error>\r\n {{ getFormValidationErrors('Rows') }}\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2 align-self-center\" [formGroup]=\"fieldFormGroup\" [hidden]=\"field.Readonly\" >\r\n <mat-slide-toggle [(ngModel)]=\"field.Microphone\" formControlName=\"Microphone\" color=\"primary\">\r\n Speech-To-Text\r\n </mat-slide-toggle>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2\" [formGroup]=\"fieldFormGroup\">\r\n <mat-label> Lunghezza minima </mat-label>\r\n <mat-form-field>\r\n <input id=\"lengthMin\" formControlName=\"MinLenght\" type=\"number\" [min]=\"0\" matInput\r\n [(ngModel)]=\"field.MinLenght\" spellcheck=\"false\" autocomplete=\"off\" (keypress)=\"omit_special_char($event)\" (focusout)=\"stringSanitizer(field.MinLenght)\">\r\n <mat-error>\r\n {{ getFormValidationErrors('MinLenght') }}\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2\" [formGroup]=\"fieldFormGroup\">\r\n <mat-label> Lunghezza massima </mat-label>\r\n <mat-form-field>\r\n <input id=\"lengthMax\" formControlName=\"MaxLenght\" type=\"number\" [min]=\"0\" matInput\r\n [(ngModel)]=\"field.MaxLenght\" spellcheck=\"false\" autocomplete=\"off\" (keypress)=\"omit_special_char($event)\" (focusout)=\"stringSanitizer(field.MaxLenght)\">\r\n <mat-error>\r\n {{ getFormValidationErrors('MaxLenght') }}\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n</ng-template>\r\n\r\n<!-- FORM PROPRIET\u00C0 CAMPI BOOLEANI -->\r\n<ng-template #booleadFieldFormTemplate>\r\n <div class=\"col-sm-12 col-md-4 mt-2 align-self-center\" [formGroup]=\"fieldFormGroup\">\r\n <mat-slide-toggle [(ngModel)]=\"field.IsTristate\" formControlName=\"IsTristate\" color=\"primary\">\r\n A tre stati\r\n </mat-slide-toggle>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2\">\r\n <mat-label>Tipo di presentazione *</mat-label>\r\n <eqp-select [enumData]=\"BoolPresentantioEnum\" [(ngModelInput)]=\"field.PresetationType\" required\r\n [showCancelButton]=\"false\" [formGroupInput]=\"fieldFormGroup\" [formControlNameInput]=\"'PresetationType'\">\r\n </eqp-select>\r\n </div>\r\n</ng-template>\r\n\r\n<!-- FORM PROPRIET\u00C0 CAMPI DATA -->\r\n<ng-template #dateFieldFormTemplate>\r\n <div class=\"col-sm-12 col-md-4 mt-2\">\r\n <mat-label>Tipo di data</mat-label>\r\n <eqp-select [enumData]=\"DateTimeTypeEnum\" [(ngModelInput)]=\"field.IsOnlyDate\" required\r\n [showCancelButton]=\"false\" [formGroupInput]=\"fieldFormGroup\" [formControlNameInput]=\"'IsOnlyDate'\">\r\n </eqp-select>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2\" [formGroup]=\"fieldFormGroup\">\r\n <mat-label> Formato </mat-label>\r\n <mat-form-field>\r\n <input formControlName=\"DateFormat\" matInput [(ngModel)]=\"field.DateFormat\"\r\n [matTooltip]=\"'Indicare il formato seguendo la guida del pacchetto momentjs.'\" spellcheck=\"false\" autocomplete=\"off\" (keypress)=\"omit_special_char($event)\" (focusout)=\"stringSanitizer(field.Formato)\">\r\n <mat-error>\r\n {{ getFormValidationErrors('Formato') }}\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2\">\r\n <mat-label> Data minima </mat-label>\r\n <eqp-datetimepicker *ngIf=\"field.IsOnlyDate == DateTimeTypeEnum['Solo data']\" class=\"date\"\r\n [(ngModelInput)]=\"field.MinDate\" [formGroupInput]=\"fieldFormGroup\" [formControlNameInput]=\"'MinDate'\"\r\n [pickerMode]=\"pickerModeEnum.DATE\" [UTCDate]=\"true\" [showSeconds]=\"false\">\r\n </eqp-datetimepicker>\r\n <eqp-datetimepicker *ngIf=\"field.IsOnlyDate == DateTimeTypeEnum['Data e ora']\" class=\"date\"\r\n [(ngModelInput)]=\"field.MinDate\" [formGroupInput]=\"fieldFormGroup\" [formControlNameInput]=\"'MinDate'\"\r\n [pickerMode]=\"pickerModeEnum.DATETIME\" [UTCDate]=\"true\" [showSeconds]=\"false\">\r\n </eqp-datetimepicker>\r\n <eqp-datetimepicker *ngIf=\"field.IsOnlyDate == DateTimeTypeEnum['Solo orario']\" class=\"date\"\r\n [(ngModelInput)]=\"field.MinDate\" [formGroupInput]=\"fieldFormGroup\" [formControlNameInput]=\"'MinDate'\"\r\n [pickerMode]=\"pickerModeEnum.TIME\" [UTCDate]=\"true\" [showSeconds]=\"false\">\r\n </eqp-datetimepicker>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2\">\r\n <mat-label> Data massima </mat-label>\r\n <eqp-datetimepicker *ngIf=\"field.IsOnlyDate == DateTimeTypeEnum['Solo data']\" class=\"date\"\r\n [(ngModelInput)]=\"field.MaxDate\" [formGroupInput]=\"fieldFormGroup\" [formControlNameInput]=\"'MaxDate'\"\r\n [pickerMode]=\"pickerModeEnum.DATE\" [UTCDate]=\"true\" [showSeconds]=\"false\">\r\n </eqp-datetimepicker>\r\n <eqp-datetimepicker *ngIf=\"field.IsOnlyDate == DateTimeTypeEnum['Data e ora']\" class=\"date\"\r\n [(ngModelInput)]=\"field.MaxDate\" [formGroupInput]=\"fieldFormGroup\" [formControlNameInput]=\"'MaxDate'\"\r\n [pickerMode]=\"pickerModeEnum.DATETIME\" [UTCDate]=\"true\" [showSeconds]=\"false\">\r\n </eqp-datetimepicker>\r\n <eqp-datetimepicker *ngIf=\"field.IsOnlyDate == DateTimeTypeEnum['Solo orario']\" class=\"date\"\r\n [(ngModelInput)]=\"field.MaxDate\" [formGroupInput]=\"fieldFormGroup\" [formControlNameInput]=\"'MaxDate'\"\r\n [pickerMode]=\"pickerModeEnum.TIME\" [UTCDate]=\"true\" [showSeconds]=\"false\">\r\n </eqp-datetimepicker>\r\n </div>\r\n</ng-template>\r\n\r\n<!-- FORM PROPRIET\u00C0 CAMPI NUMERICI -->\r\n<ng-template #numericFieldFormTemplate>\r\n <div class=\"col-sm-12 col-md-4 mt-2 align-self-center\" [formGroup]=\"fieldFormGroup\">\r\n <mat-slide-toggle [(ngModel)]=\"field.IsInteger\" formControlName=\"IsInteger\" color=\"primary\">\r\n Valore intero\r\n </mat-slide-toggle>\r\n </div>\r\n <div *ngIf=\"!field.IsInteger\" class=\"col-sm-12 col-md-4 mt-2\" [formGroup]=\"fieldFormGroup\">\r\n <mat-label> Separatore decimali </mat-label>\r\n <mat-form-field>\r\n <input formControlName=\"DecimalSeparator\" matInput [(ngModel)]=\"field.DecimalSeparator\" spellcheck=\"false\" autocomplete=\"off\" (keypress)=\"omit_special_char($event)\" (focusout)=\"stringSanitizer(field.DecimalSeparator)\">\r\n <mat-error>\r\n {{ getFormValidationErrors('DecimalSeparator') }}\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div *ngIf=\"!field.IsInteger\" class=\"col-sm-12 col-md-4 mt-2\" [formGroup]=\"fieldFormGroup\">\r\n <mat-label> Precisione decimali </mat-label>\r\n <mat-form-field>\r\n <input formControlName=\"DecimalPrecision\" type=\"number\" [min]=\"0\" matInput\r\n [(ngModel)]=\"field.DecimalPrecision\" spellcheck=\"false\" autocomplete=\"off\" (keypress)=\"omit_special_char($event)\" (focusout)=\"stringSanitizer(field.DecimalPrecision)\">\r\n <mat-error>\r\n {{ getFormValidationErrors('DecimalPrecision') }}\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2\" [formGroup]=\"fieldFormGroup\">\r\n <mat-label> Separatore migliaia </mat-label>\r\n <mat-form-field>\r\n <input formControlName=\"ThousandsSeparator\" matInput [(ngModel)]=\"field.ThousandsSeparator\" spellcheck=\"false\" autocomplete=\"off\" (keypress)=\"omit_special_char($event)\" (focusout)=\"stringSanitizer(field.ThousandsSeparator)\">\r\n <mat-error>\r\n {{ getFormValidationErrors('ThousandsSeparator') }}\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2\" [formGroup]=\"fieldFormGroup\">\r\n <mat-label> Simbolo valuta </mat-label>\r\n <mat-form-field>\r\n <input formControlName=\"CurrencySymbol\" matInput [(ngModel)]=\"field.CurrencySymbol\" spellcheck=\"false\" autocomplete=\"off\"(keypress)=\"omit_special_char($event)\" (focusout)=\"stringSanitizer(field.CurrencySymbol)\">\r\n <mat-error>\r\n {{ getFormValidationErrors('CurrencySymbol') }}\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2\" [formGroup]=\"fieldFormGroup\">\r\n <mat-label> Unit\u00E0 di misura </mat-label>\r\n <mat-form-field>\r\n <input formControlName=\"MeasureUnit\" matInput [(ngModel)]=\"field.MeasureUnit\" spellcheck=\"false\" autocomplete=\"off\"(keypress)=\"omit_special_char($event)\" (focusout)=\"stringSanitizer(field.MeasureUnit)\">\r\n <mat-error>\r\n {{ getFormValidationErrors('MeasureUnit') }}\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2\" [formGroup]=\"fieldFormGroup\">\r\n <mat-label> Valore minimo </mat-label>\r\n <mat-form-field>\r\n <input formControlName=\"MinValue\" type=\"number\" [min]=\"0\" matInput [(ngModel)]=\"field.MinValue\" spellcheck=\"false\" autocomplete=\"off\"(keypress)=\"omit_special_char($event)\" (focusout)=\"stringSanitizer(field.MinValue)\">\r\n <mat-error>\r\n {{ getFormValidationErrors('MinValue') }}\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2\" [formGroup]=\"fieldFormGroup\">\r\n <mat-label> Valore massimo </mat-label>\r\n <mat-form-field>\r\n <input formControlName=\"MaxValue\" type=\"number\" [min]=\"0\" matInput [(ngModel)]=\"field.MaxValue\" spellcheck=\"false\" autocomplete=\"off\" (keypress)=\"omit_special_char($event)\" (focusout)=\"stringSanitizer(field.MaxValue)\">\r\n <mat-error>\r\n {{ getFormValidationErrors('MaxValue') }}\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n</ng-template>\r\n\r\n<!-- FORM PROPRIET\u00C0 CAMPI ALLEGATO -->\r\n<ng-template #attachmentFieldFormTemplate>\r\n <div class=\"col-sm-12 col-md-4 mt-2 align-self-center\" [formGroup]=\"fieldFormGroup\">\r\n <mat-slide-toggle [(ngModel)]=\"field.IsMultiAttach\" formControlName=\"IsMultiAttach\" color=\"primary\">\r\n Allegati multipli\r\n </mat-slide-toggle>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2\">\r\n <mat-label>Estensioni accettate</mat-label>\r\n <eqp-select [arrayData]=\"AvailableFileExtensions.concat(AvailableImageExtensions)\"\r\n [(ngModelInput)]=\"field.AllowedExtensions\" [arrayKeyProperty]=\"'key'\" [arrayValueProperty]=\"'value'\"\r\n [isMultiSelect]=\"true\" [formGroupInput]=\"fieldFormGroup\" [formControlNameInput]=\"'AllowedExtensions'\"\r\n [includeFullObject]=\"false\">\r\n </eqp-select>\r\n </div>\r\n <!-- <div class=\"col-sm-12 mt-2\">\r\n <div class=\"row mt-2\">\r\n <div class=\"col-sm-12 col-md-6\">\r\n <div class=\"header-title-standard\">\r\n Elenco metadata\r\n </div>\r\n </div>\r\n <div class=\"col-sm-12 col-md-6 text-right buttonsForm\">\r\n <button class=\"btn btn-primary save\" mat-raised-button color=\"primary\" type=\"button\"\r\n (click)=\"openMetadataDialog()\">\r\n <mat-icon>add</mat-icon>\r\n <span style=\"margin-left: 10px;\">Aggiungi allegato</span>\r\n </button>\r\n </div>\r\n </div>\r\n <eqp-table #metadataFieldsTable [createMatCard]=\"false\" [columns]=\"metadataColumns\"\r\n [data]=\"field.MetadataFields\" [emptyTableMessage]=\"'Nessun metadata inserito'\" [searchText]=\"'Cerca'\">\r\n </eqp-table>\r\n </div> -->\r\n</ng-template>\r\n\r\n<!-- FORM PROPRIET\u00C0 CAMPI IMMAGINE -->\r\n<ng-template #imageFieldFormTemplate>\r\n <div class=\"col-sm-12 col-md-4 mt-2 mb-2 align-self-center\" [formGroup]=\"fieldFormGroup\">\r\n <mat-slide-toggle [(ngModel)]=\"field.ImageIsContextualAttachment\" formControlName=\"ImageIsContextualAttachment\"\r\n color=\"primary\" (ngModelChange)=\"onImageIsContextualAttachmentChange()\">\r\n Immagine pre-caricata nel campo\r\n </mat-slide-toggle>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2 mb-2 align-self-center\" [formGroup]=\"fieldFormGroup\">\r\n <mat-slide-toggle [(ngModel)]=\"field.EnableDrawing\" formControlName=\"EnableDrawing\" color=\"primary\">\r\n Abilita il disegno\r\n </mat-slide-toggle>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2 align-self-center\" [formGroup]=\"fieldFormGroup\"\r\n *ngIf=\"!field.ImageIsContextualAttachment\">\r\n <mat-slide-toggle [(ngModel)]=\"field.AttachDefinition.IsMultiAttach\" formControlName=\"IsMultiAttach\"\r\n color=\"primary\">\r\n Immagini multiple\r\n </mat-slide-toggle>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2\" *ngIf=\"!field.ImageIsContextualAttachment\">\r\n <mat-label>Estensioni accettate</mat-label>\r\n <eqp-select [arrayData]=\"AvailableImageExtensions\" [(ngModelInput)]=\"field.AttachDefinition.AllowedExtensions\"\r\n [arrayKeyProperty]=\"'key'\" [arrayValueProperty]=\"'value'\" [isMultiSelect]=\"true\"\r\n [formGroupInput]=\"fieldFormGroup\" [formControlNameInput]=\"'AllowedExtensions'\" [includeFullObject]=\"false\">\r\n </eqp-select>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2\" [formGroup]=\"fieldFormGroup\" *ngIf=\"field.ImageIsContextualAttachment\">\r\n <mat-label> Nome immagine* </mat-label>\r\n <mat-form-field>\r\n <input formControlName=\"ImgName\" matInput [(ngModel)]=\"field.ImgName\" required spellcheck=\"false\" autocomplete=\"off\" (keypress)=\"omit_special_char($event)\" (focusout)=\"stringSanitizer(field.ImgName)\">\r\n <mat-error>\r\n {{ getFormValidationErrors('ImgName') }}\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-sm-12 col-md-8 mt-2\" [formGroup]=\"fieldFormGroup\" *ngIf=\"field.ImageIsContextualAttachment\">\r\n <eqp-attachments [attachmentsList]=\"field._contextualAttachments\" [showMatCard]=\"false\" [allowOnlyImages]=\"true\"\r\n [isDisabled]=\"false\" [showInlinePreview]=\"true\" [multipleAttachment]=\"false\" [showHeader]=\"false\"\r\n (localEditedAttachments)=\"catchContextualAttachmentChange($event)\" #contextualAttachmentEqpAttachments>\r\n </eqp-attachments>\r\n </div>\r\n <!-- <div class=\"col-sm-12 mt-2\">\r\n <div class=\"row mt-2\">\r\n <div class=\"col-sm-12 col-md-6\">\r\n <div class=\"header-title-standard\">\r\n Elenco metadata\r\n </div>\r\n </div>\r\n <div class=\"col-sm-12 col-md-6 text-right buttonsForm\">\r\n <button class=\"btn btn-primary save\" mat-raised-button color=\"primary\" type=\"button\"\r\n (click)=\"openMetadataDialog()\">\r\n <mat-icon>add</mat-icon>\r\n <span style=\"margin-left: 10px;\">Aggiungi</span>\r\n </button>\r\n </div>\r\n </div>\r\n <eqp-table #metadataFieldsTable [createMatCard]=\"false\" [columns]=\"metadataColumns\"\r\n [data]=\"field.AttachDefinition.MetadataFields\" [emptyTableMessage]=\"'Nessun metadata inserito'\"\r\n [searchText]=\"'Cerca'\">\r\n </eqp-table>\r\n </div> -->\r\n</ng-template>\r\n\r\n<!-- FORM PROPRIET\u00C0 CAMPI LISTA DI VALORI -->\r\n<ng-template #listValueFieldFormTemplate>\r\n <div class=\"col-sm-12 col-md-4 mt-2 align-self-center\" [formGroup]=\"fieldFormGroup\">\r\n <mat-slide-toggle [(ngModel)]=\"field.IsMultiChoiche\" formControlName=\"IsMultiChoiche\" color=\"primary\">\r\n Scelta multipla\r\n </mat-slide-toggle>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2\">\r\n <mat-label>Tipo di presentazione*</mat-label>\r\n <eqp-select [enumData]=\"ListPresentationEnum\" [(ngModelInput)]=\"field.PresentationMode\" required\r\n [showCancelButton]=\"false\" [formGroupInput]=\"fieldFormGroup\" [formControlNameInput]=\"'PresentationMode'\"\r\n (ngModelInputChange)=\"onPresentationModeChange()\">\r\n </eqp-select>\r\n </div>\r\n <div class=\"col-sm-12 mt-2\" *ngIf=\"field.PresentationMode != ListPresentationEnum.Immagini\">\r\n <div class=\"row\">\r\n <h4 class=\"key-value-list-section-title\"> </h4>\r\n <div class=\"col-md-4\">\r\n <mat-label> Label opzione (invio per confermare)</mat-label>\r\n <mat-form-field>\r\n <input matInput [(ngModel)]=\"keyValueObject.key\" (keyup)=\"onMultiSelectInputKeyup($event, null)\" spellcheck=\"false\" autocomplete=\"off\">\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-md-4\">\r\n <mat-label> Valore opzione (invio per confermare)</mat-label>\r\n <mat-form-field>\r\n <input matInput [(ngModel)]=\"keyValueObject.value\" (keyup)=\"onMultiSelectInputKeyup($event, null)\" spellcheck=\"false\" autocomplete=\"off\">\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-md-4 align-self-center\">\r\n <span class=\"mr-3\">Opzioni inserite:</span>\r\n <ul class=\"value-pairs-list\">\r\n <li *ngFor=\"let keyValuePair of getDictionaryKeyValue()\">\r\n <mat-icon class=\"mr-1\" (click)=\"deleteKeyFromDictionary(keyValuePair.key)\">close\r\n </mat-icon>\r\n <span><b>Label: </b> {{keyValuePair.key}} - <b>Valore: </b> {{keyValuePair.value}}</span>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-sm-12 col-md-12 mt-2\" *ngIf=\"field.PresentationMode == ListPresentationEnum.Immagini\">\r\n <eqp-attachments [attachmentsList]=\"field.ButtonImageList\" [showMatCard]=\"false\" [allowOnlyImages]=\"true\"\r\n [isDisabled]=\"false\" [showInlinePreview]=\"true\" [multipleAttachment]=\"true\" [showHeader]=\"false\"\r\n [allowedTypes]=\"[AttachmentType.FILE]\" (localEditedAttachments)=\"catchButtonImagesChange($event)\"\r\n (onComponentLoaded)=\"configureButtonImagesColumns($event)\">\r\n </eqp-attachments>\r\n </div>\r\n</ng-template>\r\n\r\n<!-- FORM PROPRIET\u00C0 CAMPI LOOKUP -->\r\n<ng-template #lookupFieldFormTemplate>\r\n <div class=\"col-sm-12 col-md-4 mt-2 align-self-center\" [formGroup]=\"fieldFormGroup\">\r\n <mat-slide-toggle [(ngModel)]=\"field.UseAsGetOrDiscard\" formControlName=\"UseAsGetOrDiscard\" color=\"primary\"\r\n matTooltip=\"Se true la lookup viene visualizzata in una modale per lo scegli scarta\">\r\n Usa per scegli o scarta\r\n </mat-slide-toggle>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2\" [formGroup]=\"fieldFormGroup\">\r\n <mat-label> Nome entit\u00E0 </mat-label>\r\n <mat-form-field matTooltip=\"Nome dell'entit\u00E0 relazionata\">\r\n <input formControlName=\"EntitySourceName\" required matInput [(ngModel)]=\"field.EntitySourceName\" spellcheck=\"false\" autocomplete=\"off\" (keypress)=\"omit_special_char($event)\" (focusout)=\"stringSanitizer(field.EntitySourceName)\">\r\n <mat-error>\r\n {{ getFormValidationErrors('EntitySourceName') }}\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-sm-12 mt-2\">\r\n <div class=\"row\">\r\n <div class=\"col-md-4\">\r\n <mat-label> Nomi dei campi (invio per confermare) </mat-label>\r\n <mat-form-field\r\n matTooltip=\"Elenco di campi ordinato che verr\u00E0 visualizzato nella lookup (premere invio per confermare)\">\r\n <input matInput (keyup)=\"onMultiSelectInputKeyup($event, 'FieldNames')\" spellcheck=\"false\" autocomplete=\"off\" >\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-md-8 align-self-center\">\r\n <span class=\"mr-3\">Nomi selezionati:</span>\r\n <div class=\"extension-container\" *ngFor=\"let extension of field.FieldNames; let i = index\">\r\n <span>{{extension}}</span>\r\n <mat-icon class=\"ml-1\" (click)=\"field.FieldNames.splice(i,1)\">close\r\n </mat-icon>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n<!-- DIALOG PER AGGIUNGERE UN METADATA NEI CAMPI DI TIPO ALLEGATO O IMMAGINE -->\r\n<!-- <ng-template #dialogMetadata>\r\n <eqp-dynamic-module-add-form-field [field]=\"selectedMetadata\" [availableFields]=\"availableFields\"\r\n [indexField]=\"indexSelectedMetadata\" (saveFieldEvent)=\"onSaveMetadata($event)\" [fieldTypesToExclude]=\"[6,7,10]\">\r\n </eqp-dynamic-module-add-form-field>\r\n</ng-template> -->\r\n\r\n<ng-template #buttonImagesKeyValueInputColumn let-row=\"row\" let-col=\"col\">\r\n <mat-form-field>\r\n <mat-label> {{col.display}} </mat-label>\r\n <input matInput [(ngModel)]=\"row[col.key]\" required spellcheck=\"false\" autocomplete=\"off\">\r\n </mat-form-field>\r\n</ng-template>\r\n<!--DIALOG PER SEMPLIFICARE LA SCRITTURA DEL CAMPO FORMULA-->\r\n<ng-template #dialogFormula>\r\n <eqp-dynamic-module-add-formula-component>\r\n </eqp-dynamic-module-add-formula-component>\r\n</ng-template>", styles: [".mat-badge-content{font-weight:600;font-size:12px;font-family:Roboto,Helvetica Neue,sans-serif}.mat-badge-small .mat-badge-content{font-size:9px}.mat-badge-large .mat-badge-content{font-size:24px}.mat-h1,.mat-headline,.mat-typography .mat-h1,.mat-typography .mat-headline,.mat-typography h1{font:400 24px/32px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;margin:0 0 16px}.mat-h2,.mat-title,.mat-typography .mat-h2,.mat-typography .mat-title,.mat-typography h2{font:500 20px/32px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;margin:0 0 16px}.mat-h3,.mat-subheading-2,.mat-typography .mat-h3,.mat-typography .mat-subheading-2,.mat-typography h3{font:400 16px/28px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;margin:0 0 16px}.mat-h4,.mat-subheading-1,.mat-typography .mat-h4,.mat-typography .mat-subheading-1,.mat-typography h4{font:400 15px/24px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;margin:0 0 16px}.mat-h5,.mat-typography .mat-h5,.mat-typography h5{font:400 11.62px/20px Roboto,Helvetica Neue,sans-serif;margin:0 0 12px}.mat-h6,.mat-typography .mat-h6,.mat-typography h6{font:400 9.38px/20px Roboto,Helvetica Neue,sans-serif;margin:0 0 12px}.mat-body-strong,.mat-body-2,.mat-typography .mat-body-strong,.mat-typography .mat-body-2{font:500 14px/24px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.mat-body,.mat-body-1,.mat-typography .mat-body,.mat-typography .mat-body-1,.mat-typography{font:400 14px/20px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.mat-body p,.mat-body-1 p,.mat-typography .mat-body p,.mat-typography .mat-body-1 p,.mat-typography p{margin:0 0 12px}.mat-small,.mat-caption,.mat-typography .mat-small,.mat-typography .mat-caption{font:400 12px/20px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.mat-display-4,.mat-typography .mat-display-4{font:300 112px/112px Roboto,Helvetica Neue,sans-serif;letter-spacing:-.05em;margin:0 0 56px}.mat-display-3,.mat-typography .mat-display-3{font:400 56px/56px Roboto,Helvetica Neue,sans-serif;letter-spacing:-.02em;margin:0 0 64px}.mat-display-2,.mat-typography .mat-display-2{font:400 45px/48px Roboto,Helvetica Neue,sans-serif;letter-spacing:-.005em;margin:0 0 64px}.mat-display-1,.mat-typography .mat-display-1{font:400 34px/40px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;margin:0 0 64px}.mat-bottom-sheet-container{font:400 14px/20px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.mat-button,.mat-raised-button,.mat-icon-button,.mat-stroked-button,.mat-flat-button,.mat-fab,.mat-mini-fab{font-family:Roboto,Helvetica Neue,sans-serif;font-size:14px;font-weight:500}.mat-button-toggle,.mat-card{font-family:Roboto,Helvetica Neue,sans-serif}.mat-card-title{font-size:24px;font-weight:500}.mat-card-header .mat-card-title{font-size:20px}.mat-card-subtitle,.mat-card-content{font-size:14px}.mat-checkbox{font-family:Roboto,Helvetica Neue,sans-serif}.mat-checkbox-layout .mat-checkbox-label{line-height:24px}.mat-chip{font-size:14px;font-weight:500}.mat-chip .mat-chip-trailing-icon.mat-icon,.mat-chip .mat-chip-remove.mat-icon{font-size:18px}.mat-table{font-family:Roboto,Helvetica Neue,sans-serif}.mat-header-cell{font-size:12px;font-weight:500}.mat-cell,.mat-footer-cell{font-size:14px}.mat-calendar{font-family:Roboto,Helvetica Neue,sans-serif}.mat-calendar-body{font-size:13px}.mat-calendar-body-label,.mat-calendar-period-button{font-size:14px;font-weight:500}.mat-calendar-table-header th{font-size:11px;font-weight:400}.mat-dialog-title{font:500 20px/32px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.mat-expansion-panel-header{font-family:Roboto,Helvetica Neue,sans-serif;font-size:15px;font-weight:400}.mat-expansion-panel-content{font:400 14px/20px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.mat-form-field{font-size:inherit;font-weight:400;line-height:1.125;font-family:Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.mat-form-field-wrapper{padding-bottom:1.34375em}.mat-form-field-prefix .mat-icon,.mat-form-field-suffix .mat-icon{font-size:150%;line-height:1.125}.mat-form-field-prefix .mat-icon-button,.mat-form-field-suffix .mat-icon-button{height:1.5em;width:1.5em}.mat-form-field-prefix .mat-icon-button .mat-icon,.mat-form-field-suffix .mat-icon-button .mat-icon{height:1.125em;line-height:1.125}.mat-form-field-infix{padding:.5em 0;border-top:.84375em solid transparent}.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.34375em) scale(.75);width:133.3333333333%}.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.34374em) scale(.75);width:133.3333433333%}.mat-form-field-label-wrapper{top:-.84375em;padding-top:.84375em}.mat-form-field-label{top:1.34375em}.mat-form-field-underline{bottom:1.34375em}.mat-form-field-subscript-wrapper{font-size:75%;margin-top:.6666666667em;top:calc(100% - 1.7916666667em)}.mat-form-field-appearance-legacy .mat-form-field-wrapper{padding-bottom:1.25em}.mat-form-field-appearance-legacy .mat-form-field-infix{padding:.4375em 0}.mat-form-field-appearance-legacy.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.001px);width:133.3333333333%}.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-form-field-autofill-control:-webkit-autofill+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.00101px);width:133.3333433333%}.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.00102px);width:133.3333533333%}.mat-form-field-appearance-legacy .mat-form-field-label{top:1.28125em}.mat-form-field-appearance-legacy .mat-form-field-underline{bottom:1.25em}.mat-form-field-appearance-legacy .mat-form-field-subscript-wrapper{margin-top:.5416666667em;top:calc(100% - 1.6666666667em)}@media print{.mat-form-field-appearance-legacy.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.28122em) scale(.75)}.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-form-field-autofill-control:-webkit-autofill+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.28121em) scale(.75)}.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.2812em) scale(.75)}}.mat-form-field-appearance-fill .mat-form-field-infix{padding:.25em 0 .75em}.mat-form-field-appearance-fill .mat-form-field-label{top:1.09375em;margin-top:-.5em}.mat-form-field-appearance-fill.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,.mat-form-field-appearance-fill.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-.59375em) scale(.75);width:133.3333333333%}.mat-form-field-appearance-fill.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-.59374em) scale(.75);width:133.3333433333%}.mat-form-field-appearance-outline .mat-form-field-infix{padding:1em 0}.mat-form-field-appearance-outline .mat-form-field-label{top:1.84375em;margin-top:-.25em}.mat-form-field-appearance-outline.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,.mat-form-field-appearance-outline.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.59375em) scale(.75);width:133.3333333333%}.mat-form-field-appearance-outline.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.59374em) scale(.75);width:133.3333433333%}.mat-grid-tile-header,.mat-grid-tile-footer{font-size:14px}.mat-grid-tile-header .mat-line,.mat-grid-tile-footer .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-grid-tile-header .mat-line:nth-child(n+2),.mat-grid-tile-footer .mat-line:nth-child(n+2){font-size:12px}input.mat-input-element{margin-top:-.0625em}.mat-menu-item{font-family:Roboto,Helvetica Neue,sans-serif;font-size:14px;font-weight:400}.mat-paginator,.mat-paginator-page-size .mat-select-trigger{font-family:Roboto,Helvetica Neue,sans-serif;font-size:12px}.mat-radio-button,.mat-select{font-family:Roboto,Helvetica Neue,sans-serif}.mat-select-trigger{height:1.125em}.mat-slide-toggle-content{font-family:Roboto,Helvetica Neue,sans-serif}.mat-slider-thumb-label-text{font-family:Roboto,Helvetica Neue,sans-serif;font-size:12px;font-weight:500}.mat-stepper-vertical,.mat-stepper-horizontal{font-family:Roboto,Helvetica Neue,sans-serif}.mat-step-label{font-size:14px;font-weight:400}.mat-step-sub-label-error{font-weight:400}.mat-step-label-error{font-size:14px}.mat-step-label-selected{font-size:14px;font-weight:500}.mat-tab-group{font-family:Roboto,Helvetica Neue,sans-serif}.mat-tab-label,.mat-tab-link{font-family:Roboto,Helvetica Neue,sans-serif;font-size:14px;font-weight:500}.mat-toolbar,.mat-toolbar h1,.mat-toolbar h2,.mat-toolbar h3,.mat-toolbar h4,.mat-toolbar h5,.mat-toolbar h6{font:500 20px/32px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;margin:0}.mat-tooltip{font-family:Roboto,Helvetica Neue,sans-serif;font-size:10px;padding-top:6px;padding-bottom:6px}.mat-tooltip-handset{font-size:14px;padding-top:8px;padding-bottom:8px}.mat-list-item,.mat-list-option{font-family:Roboto,Helvetica Neue,sans-serif}.mat-list-base .mat-list-item{font-size:16px}.mat-list-base .mat-list-item .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list-base .mat-list-item .mat-line:nth-child(n+2){font-size:14px}.mat-list-base .mat-list-option{font-size:16px}.mat-list-base .mat-list-option .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list-base .mat-list-option .mat-line:nth-child(n+2){font-size:14px}.mat-list-base .mat-subheader{font-family:Roboto,Helvetica Neue,sans-serif;font-size:14px;font-weight:500}.mat-list-base[dense] .mat-list-item{font-size:12px}.mat-list-base[dense] .mat-list-item .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list-base[dense] .mat-list-item .mat-line:nth-child(n+2){font-size:12px}.mat-list-base[dense] .mat-list-option{font-size:12px}.mat-list-base[dense] .mat-list-option .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list-base[dense] .mat-list-option .mat-line:nth-child(n+2){font-size:12px}.mat-list-base[dense] .mat-subheader{font-family:Roboto,Helvetica Neue,sans-serif;font-size:12px;font-weight:500}.mat-option{font-family:Roboto,Helvetica Neue,sans-serif;font-size:16px}.mat-optgroup-label{font:500 14px/24px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.mat-simple-snackbar{font-family:Roboto,Helvetica Neue,sans-serif;font-size:14px}.mat-simple-snackbar-action{line-height:1;font-family:inherit;font-size:inherit;font-weight:500}.mat-tree{font-family:Roboto,Helvetica Neue,sans-serif}.mat-tree-node,.mat-nested-tree-node{font-weight:400;font-size:14px}.mat-ripple{overflow:hidden;position:relative}.mat-ripple:not(:empty){transform:translateZ(0)}.mat-ripple.mat-ripple-unbounded{overflow:visible}.mat-ripple-element{position:absolute;border-radius:50%;pointer-events:none;transition:opacity,transform 0ms cubic-bezier(0,0,.2,1);transform:scale3d(0,0,0)}.cdk-high-contrast-active .mat-ripple-element{display:none}.cdk-visually-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap;outline:0;-webkit-appearance:none;-moz-appearance:none;left:0}[dir=rtl] .cdk-visually-hidden{left:auto;right:0}.cdk-overlay-container,.cdk-global-overlay-wrapper{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;z-index:1000;display:flex;max-width:100%;max-height:100%}.cdk-overlay-backdrop{position:absolute;inset:0;z-index:1000;pointer-events:auto;-webkit-tap-highlight-color:transparent;transition:opacity .4s cubic-bezier(.25,.8,.25,1);opacity:0}.cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:1}.cdk-high-contrast-active .cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:.6}.cdk-overlay-dark-backdrop{background:rgba(0,0,0,.32)}.cdk-overlay-transparent-backdrop{transition:visibility 1ms linear,opacity 1ms linear;visibility:hidden;opacity:1}.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing{opacity:0;visibility:visible}.cdk-overlay-backdrop-noop-animation{transition:none}.cdk-overlay-connected-position-bounding-box{position:absolute;z-index:1000;display:flex;flex-direction:column;min-width:1px;min-height:1px}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}textarea.cdk-textarea-autosize{resize:none}textarea.cdk-textarea-autosize-measuring{padding:2px 0!important;box-sizing:content-box!important;height:auto!important;overflow:hidden!important}textarea.cdk-textarea-autosize-measuring-firefox{padding:2px 0!important;box-sizing:content-box!important;height:0!important}@keyframes cdk-text-field-autofill-start{}@keyframes cdk-text-field-autofill-end{}.cdk-text-field-autofill-monitored:-webkit-autofill{animation:cdk-text-field-autofill-start 0s 1ms}.cdk-text-field-autofill-monitored:not(:-webkit-autofill){animation:cdk-text-field-autofill-end 0s 1ms}.mat-focus-indicator{position:relative}.mat-focus-indicator:before{inset:0;position:absolute;box-sizing:border-box;pointer-events:none;display:none;display:var(--mat-focus-indicator-display, none);border:3px solid transparent;border:var(--mat-focus-indicator-border-width, 3px) var(--mat-focus-indicator-border-style, solid) var(--mat-focus-indicator-border-color, transparent);border-radius:4px;border-radius:var(--mat-focus-indicator-border-radius, 4px)}.mat-focus-indicator:focus:before{content:\"\"}.cdk-high-contrast-active{--mat-focus-indicator-display: block}.mat-mdc-focus-indicator{position:relative}.mat-mdc-focus-indicator:before{inset:0;position:absolute;box-sizing:border-box;pointer-events:none;display:none;display:var(--mat-mdc-focus-indicator-display, none);border:3px solid transparent;border:var(--mat-mdc-focus-indicator-border-width, 3px) var(--mat-mdc-focus-indicator-border-style, solid) var(--mat-mdc-focus-indicator-border-color, transparent);border-radius:4px;border-radius:var(--mat-mdc-focus-indicator-border-radius, 4px)}.mat-mdc-focus-indicator:focus:before{content:\"\"}.cdk-high-contrast-active{--mat-mdc-focus-indicator-display: block}.mat-autocomplete-panel{background:white;color:#000000de}.mat-autocomplete-panel:not([class*=mat-elevation-z]){box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f}.mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover){background:white}.mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover):not(.mat-option-disabled){color:#000000de}.mat-badge{position:relative}.mat-badge.mat-badge{overflow:visible}.mat-badge-hidden .mat-badge-content{display:none}.mat-badge-content{position:absolute;text-align:center;display:inline-block;border-radius:50%;transition:transform .2s ease-in-out;transform:scale(.6);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;pointer-events:none}.ng-animate-disabled .mat-badge-content,.mat-badge-content._mat-animation-noopable{transition:none}.mat-badge-content.mat-badge-active{transform:none}.mat-badge-small .mat-badge-content{width:16px;height:16px;line-height:16px}.mat-badge-small.mat-badge-above .mat-badge-content{top:-8px}.mat-badge-small.mat-badge-below .mat-badge-content{bottom:-8px}.mat-badge-small.mat-badge-before .mat-badge-content{left:-16px}[dir=rtl] .mat-badge-small.mat-badge-before .mat-badge-content{left:auto;right:-16px}.mat-badge-small.mat-badge-after .mat-badge-content{right:-16px}[dir=rtl] .mat-badge-small.mat-badge-after .mat-badge-content{right:auto;left:-16px}.mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-8px}[dir=rtl] .mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-8px}.mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-8px}[dir=rtl] .mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-8px}.mat-badge-medium .mat-badge-content{width:22px;height:22px;line-height:22px}.mat-badge-medium.mat-badge-above .mat-badge-content{top:-11px}.mat-badge-medium.mat-badge-below .mat-badge-content{bottom:-11px}.mat-badge-medium.mat-badge-before .mat-badge-content{left:-22px}[dir=rtl] .mat-badge-medium.mat-badge-before .mat-badge-content{left:auto;right:-22px}.mat-badge-medium.mat-badge-after .mat-badge-content{right:-22px}[dir=rtl] .mat-badge-medium.mat-badge-after .mat-badge-content{right:auto;left:-22px}.mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-11px}[dir=rtl] .mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-11px}.mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-11px}[dir=rtl] .mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-11px}.mat-badge-large .mat-badge-content{width:28px;height:28px;line-height:28px}.mat-badge-large.mat-badge-above .mat-badge-content{top:-14px}.mat-badge-large.mat-badge-below .mat-badge-content{bottom:-14px}.mat-badge-large.mat-badge-before .mat-badge-content{left:-28px}[dir=rtl] .mat-badge-large.mat-badge-before .mat-badge-content{left:auto;right:-28px}.mat-badge-large.mat-badge-after .mat-badge-content{right:-28px}[dir=rtl] .mat-badge-large.mat-badge-after .mat-badge-content{right:auto;left:-28px}.mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-14px}[dir=rtl] .mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-14px}.mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-14px}[dir=rtl] .mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-14px}.mat-badge-content{color:#fff;background:#1e31eb}.cdk-high-contrast-active .mat-badge-content{outline:solid 1px;border-radius:0}.mat-badge-accent .mat-badge-content{background:#ff5252;color:#000000de}.mat-badge-warn .mat-badge-content{color:#fff;background:#c40000}.mat-badge-disabled .mat-badge-content{background:#b9b9b9;color:#00000061}.mat-bottom-sheet-container{box-shadow:0 8px 10px -5px #0003,0 16px 24px 2px #00000024,0 6px 30px 5px #0000001f;background:white;color:#000000de}.mat-button,.mat-icon-button,.mat-stroked-button{color:inherit;background:transparent}.mat-button.mat-primary,.mat-icon-button.mat-primary,.mat-stroked-button.mat-primary{color:#1e31eb}.mat-button.mat-accent,.mat-icon-button.mat-accent,.mat-stroked-button.mat-accent{color:#ff5252}.mat-button.mat-warn,.mat-icon-button.mat-warn,.mat-stroked-button.mat-warn{color:#c40000}.mat-button.mat-primary.mat-button-disabled,.mat-button.mat-accent.mat-button-disabled,.mat-button.mat-warn.mat-button-disabled,.mat-button.mat-button-disabled.mat-button-disabled,.mat-icon-button.mat-primary.mat-button-disabled,.mat-icon-button.mat-accent.mat-button-disabled,.mat-icon-button.mat-warn.mat-button-disabled,.mat-icon-button.mat-button-disabled.mat-button-disabled,.mat-stroked-button.mat-primary.mat-button-disabled,.mat-stroked-button.mat-accent.mat-button-disabled,.mat-stroked-button.mat-warn.mat-button-disabled,.mat-stroked-button.mat-button-disabled.mat-button-disabled{color:#00000042}.mat-button.mat-primary .mat-button-focus-overlay,.mat-icon-button.mat-primary .mat-button-focus-overlay,.mat-stroked-button.mat-primary .mat-button-focus-overlay{background-color:#1e31eb}.mat-button.mat-accent .mat-button-focus-overlay,.mat-icon-button.mat-accent .mat-button-focus-overlay,.mat-stroked-button.mat-accent .mat-button-focus-overlay{background-color:#ff5252}.mat-button.mat-warn .mat-button-focus-overlay,.mat-icon-button.mat-warn .mat-button-focus-overlay,.mat-stroked-button.mat-warn .mat-button-focus-overlay{background-color:#c40000}.mat-button.mat-button-disabled .mat-button-focus-overlay,.mat-icon-button.mat-button-disabled .mat-button-focus-overlay,.mat-stroked-button.mat-button-disabled .mat-button-focus-overlay{background-color:transparent}.mat-button .mat-ripple-element,.mat-icon-button .mat-ripple-element,.mat-stroked-button .mat-ripple-element{opacity:.1;background-color:currentColor}.mat-button-focus-overlay{background:black}.mat-stroked-button:not(.mat-button-disabled){border-color:#0000001f}.mat-flat-button,.mat-raised-button,.mat-fab,.mat-mini-fab{color:#000000de;background-color:#fff}.mat-flat-button.mat-primary,.mat-raised-button.mat-primary,.mat-fab.mat-primary,.mat-mini-fab.mat-primary{color:#fff}.mat-flat-button.mat-accent,.mat-raised-button.mat-accent,.mat-fab.mat-accent,.mat-mini-fab.mat-accent{color:#000000de}.mat-flat-button.mat-warn,.mat-raised-button.mat-warn,.mat-fab.mat-warn,.mat-mini-fab.mat-warn{color:#fff}.mat-flat-button.mat-primary.mat-button-disabled,.mat-flat-button.mat-accent.mat-button-disabled,.mat-flat-button.mat-warn.mat-button-disabled,.mat-flat-button.mat-button-disabled.mat-button-disabled,.mat-raised-button.mat-primary.mat-button-disabled,.mat-raised-button.mat-accent.mat-button-disabled,.mat-raised-button.mat-warn.mat-button-disabled,.mat-raised-button.mat-button-disabled.mat-button-disabled,.mat-fab.mat-primary.mat-button-disabled,.mat-fab.mat-accent.mat-button-disabled,.mat-fab.mat-warn.mat-button-disabled,.mat-fab.mat-button-disabled.mat-button-disabled,.mat-mini-fab.mat-primary.mat-button-disabled,.mat-mini-fab.mat-accent.mat-button-disabled,.mat-mini-fab.mat-warn.mat-button-disabled,.mat-mini-fab.mat-button-disabled.mat-button-disabled{color:#00000042}.mat-flat-button.mat-primary,.mat-raised-button.mat-primary,.mat-fab.mat-primary,.mat-mini-fab.mat-primary{background-color:#1e31eb}.mat-flat-button.mat-accent,.mat-raised-button.mat-accent,.mat-fab.mat-accent,.mat-mini-fab.mat-accent{background-color:#ff5252}.mat-flat-button.mat-warn,.mat-raised-button.mat-warn,.mat-fab.mat-warn,.mat-mini-fab.mat-warn{background-color:#c40000}.mat-flat-button.mat-primary.mat-button-disabled,.mat-flat-button.mat-accent.mat-button-disabled,.mat-flat-button.mat-warn.mat-button-disabled,.mat-flat-button.mat-button-disabled.mat-button-disabled,.mat-raised-button.mat-primary.mat-button-disabled,.mat-raised-button.mat-accent.mat-button-disabled,.mat-raised-button.mat-warn.mat-button-disabled,.mat-raised-button.mat-button-disabled.mat-button-disabled,.mat-fab.mat-primary.mat-button-disabled,.mat-fab.mat-accent.mat-button-disabled,.mat-fab.mat-warn.mat-button-disabled,.mat-fab.mat-button-disabled.mat-button-disabled,.mat-mini-fab.mat-primary.mat-button-disabled,.mat-mini-fab.mat-accent.mat-button-disabled,.mat-mini-fab.mat-warn.mat-button-disabled,.mat-mini-fab.mat-button-disabled.mat-button-disabled{background-color:#0000001f}.mat-flat-button.mat-primary .mat-ripple-element,.mat-raised-button.mat-primary .mat-ripple-element,.mat-fab.mat-primary .mat-ripple-element,.mat-mini-fab.mat-primary .mat-ripple-element{background-color:#ffffff1a}.mat-flat-button.mat-accent .mat-ripple-element,.mat-raised-button.mat-accent .mat-ripple-element,.mat-fab.mat-accent .mat-ripple-element,.mat-mini-fab.mat-accent .mat-ripple-element{background-color:#0000001a}.mat-flat-button.mat-warn .mat-ripple-element,.mat-raised-button.mat-warn .mat-ripple-element,.mat-fab.mat-warn .mat-ripple-element,.mat-mini-fab.mat-warn .mat-ripple-element{background-color:#ffffff1a}.mat-stroked-button:not([class*=mat-elevation-z]),.mat-flat-button:not([class*=mat-elevation-z]){box-shadow:0 0 #0003,0 0 #00000024,0 0 #0000001f}.mat-raised-button:not([class*=mat-elevation-z]){box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}.mat-raised-button:not(.mat-button-disabled):active:not([class*=mat-elevation-z]){box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.mat-raised-button.mat-button-disabled:not([class*=mat-elevation-z]){box-shadow:0 0 #0003,0 0 #00000024,0 0 #0000001f}.mat-fab:not([class*=mat-elevation-z]),.mat-mini-fab:not([class*=mat-elevation-z]){box-shadow:0 3px 5px -1px #0003,0 6px 10px #00000024,0 1px 18px #0000001f}.mat-fab:not(.mat-button-disabled):active:not([class*=mat-elevation-z]),.mat-mini-fab:not(.mat-button-disabled):active:not([class*=mat-elevation-z]){box-shadow:0 7px 8px -4px #0003,0 12px 17px 2px #00000024,0 5px 22px 4px #0000001f}.mat-fab.mat-button-disabled:not([class*=mat-elevation-z]),.mat-mini-fab.mat-button-disabled:not([class*=mat-elevation-z]){box-shadow:0 0 #0003,0 0 #00000024,0 0 #0000001f}.mat-button-toggle-standalone:not([class*=mat-elevation-z]),.mat-button-toggle-group:not([class*=mat-elevation-z]){box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}.mat-button-toggle-standalone.mat-button-toggle-appearance-standard:not([class*=mat-elevation-z]),.mat-button-toggle-group-appearance-standard:not([class*=mat-elevation-z]){box-shadow:none}.mat-button-toggle{color:#00000061}.mat-button-toggle .mat-button-toggle-focus-overlay{background-color:#0000001f}.mat-button-toggle-appearance-standard{color:#000000de;background:white}.mat-button-toggle-appearance-standard .mat-button-toggle-focus-overlay{background-color:#000}.mat-button-toggle-group-appearance-standard .mat-button-toggle+.mat-button-toggle{border-left:solid 1px #e0e0e0}[dir=rtl] .mat-button-toggle-group-appearance-standard .mat-button-toggle+.mat-button-toggle{border-left:none;border-right:solid 1px #e0e0e0}.mat-button-toggle-group-appearance-standard.mat-button-toggle-vertical .mat-button-toggle+.mat-button-toggle{border-left:none;border-right:none;border-top:solid 1px #e0e0e0}.mat-button-toggle-checked{background-color:#e0e0e0;color:#0000008a}.mat-button-toggle-checked.mat-button-toggle-appearance-standard{color:#000000de}.mat-button-toggle-disabled{color:#00000042;background-color:#eee}.mat-button-toggle-disabled.mat-button-toggle-appearance-standard{background:white}.mat-button-toggle-disabled.mat-button-toggle-checked{background-color:#bdbdbd}.mat-button-toggle-standalone.mat-button-toggle-appearance-standard,.mat-button-toggle-group-appearance-standard{border:solid 1px #e0e0e0}.mat-button-toggle-appearance-standard .mat-button-toggle-label-content{line-height:48px}.mat-card{background:white;color:#000000de}.mat-card:not([class*=mat-elevation-z]){box-shadow:0 2px 1px -1px #0003,0 1px 1px #00000024,0 1px 3px #0000001f}.mat-card.mat-card-flat:not([class*=mat-elevation-z]){box-shadow:0 0 #0003,0 0 #00000024,0 0 #0000001f}.mat-card-subtitle{color:#0000008a}.mat-checkbox-frame{border-color:#0000008a}.mat-checkbox-checkmark{fill:#fafafa}.mat-checkbox-checkmark-path{stroke:#fafafa!important}.mat-checkbox-mixedmark{background-color:#fafafa}.mat-checkbox-indeterminate.mat-primary .mat-checkbox-background,.mat-checkbox-checked.mat-primary .mat-checkbox-background{background-color:#1e31eb}.mat-checkbox-indeterminate.mat-accent .mat-checkbox-background,.mat-checkbox-checked.mat-accent .mat-checkbox-background{background-color:#ff5252}.mat-checkbox-indeterminate.mat-warn .mat-checkbox-background,.mat-checkbox-checked.mat-warn .mat-checkbox-background{background-color:#c40000}.mat-checkbox-disabled.mat-checkbox-checked .mat-checkbox-background,.mat-checkbox-disabled.mat-checkbox-indeterminate .mat-checkbox-background{background-color:#b0b0b0}.mat-checkbox-disabled:not(.mat-checkbox-checked) .mat-checkbox-frame{border-color:#b0b0b0}.mat-checkbox-disabled .mat-checkbox-label{color:#00000061}.mat-checkbox .mat-ripple-element{background-color:#000}.mat-checkbox-checked:not(.mat-checkbox-disabled).mat-primary .mat-ripple-element,.mat-checkbox:active:not(.mat-checkbox-disabled).mat-primary .mat-ripple-element{background:#1e31eb}.mat-checkbox-checked:not(.mat-checkbox-disabled).mat-accent .mat-ripple-element,.mat-checkbox:active:not(.mat-checkbox-disabled).mat-accent .mat-ripple-element{background:#ff5252}.mat-checkbox-checked:not(.mat-checkbox-disabled).mat-warn .mat-ripple-element,.mat-checkbox:active:not(.mat-checkbox-disabled).mat-warn .mat-ripple-element{background:#c40000}.mat-chip.mat-standard-chip{background-color:#e0e0e0;color:#000000de}.mat-chip.mat-standard-chip .mat-chip-remove{color:#000000de;opacity:.4}.mat-chip.mat-standard-chip:not(.mat-chip-disabled):active{box-shadow:0 3px 3px -2px #0003,0 3px 4px #00000024,0 1px 8px #0000001f}.mat-chip.mat-standard-chip:not(.mat-chip-disabled) .mat-chip-remove:hover{opacity:.54}.mat-chip.mat-standard-chip.mat-chip-disabled{opacity:.4}.mat-chip.mat-standard-chip:after{background:black}.mat-chip.mat-standard-chip.mat-chip-selected.mat-primary{background-color:#1e31eb;color:#fff}.mat-chip.mat-standard-chip.mat-chip-selected.mat-primary .mat-chip-remove{color:#fff;opacity:.4}.mat-chip.mat-standard-chip.mat-chip-selected.mat-primary .mat-ripple-element{background-color:#ffffff1a}.mat-chip.mat-standard-chip.mat-chip-selected.mat-warn{background-color:#c40000;color:#fff}.mat-chip.mat-standard-chip.mat-chip-selected.mat-warn .mat-chip-remove{color:#fff;opacity:.4}.mat-chip.mat-standard-chip.mat-chip-selected.mat-warn .mat-ripple-element{background-color:#ffffff1a}.mat-chip.mat-standard-chip.mat-chip-selected.mat-accent{background-color:#ff5252;color:#000000de}.mat-chip.mat-standard-chip.mat-chip-selected.mat-accent .mat-chip-remove{color:#000000de;opacity:.4}.mat-chip.mat-standard-chip.mat-chip-selected.mat-accent .mat-ripple-element{background-color:#0000001a}.mat-table{background:white}.mat-table thead,.mat-table tbody,.mat-table tfoot,mat-header-row,mat-row,mat-footer-row,[mat-header-row],[mat-row],[mat-footer-row],.mat-table-sticky{background:inherit}mat-row,mat-header-row,mat-footer-row,th.mat-header-cell,td.mat-cell,td.mat-footer-cell{border-bottom-color:#0000001f}.mat-header-cell{color:#0000008a}.mat-cell,.mat-footer-cell{color:#000000de}.mat-calendar-arrow{fill:#0000008a}.mat-datepicker-toggle,.mat-datepicker-content .mat-calendar-next-button,.mat-datepicker-content .mat-calendar-previous-button{color:#0000008a}.mat-calendar-table-header-divider:after{background:rgba(0,0,0,.12)}.mat-calendar-table-header,.mat-calendar-body-label{color:#0000008a}.mat-calendar-body-cell-content,.mat-date-range-input-separator{color:#000000de;border-color:transparent}.mat-calendar-body-disabled>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){color:#00000061}.mat-form-field-disabled .mat-date-range-input-separator{color:#00000061}.mat-calendar-body-in-preview{color:#0000003d}.mat-calendar-body-today:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){border-color:#00000061}.mat-calendar-body-disabled>.mat-calendar-body-today:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){border-color:#0000002e}.mat-calendar-body-in-range:before{background:rgba(30,49,235,.2)}.mat-calendar-body-comparison-identical,.mat-calendar-body-in-comparison-range:before{background:rgba(249,171,0,.2)}.mat-calendar-body-comparison-bridge-start:before,[dir=rtl] .mat-calendar-body-comparison-bridge-end:before{background:linear-gradient(to right,rgba(30,49,235,.2) 50%,rgba(249,171,0,.2) 50%)}.mat-calendar-body-comparison-bridge-end:before,[dir=rtl] .mat-calendar-body-comparison-bridge-start:before{background:linear-gradient(to left,rgba(30,49,235,.2) 50%,rgba(249,171,0,.2) 50%)}.mat-calendar-body-in-range>.mat-calendar-body-comparison-identical,.mat-calendar-body-in-comparison-range.mat-calendar-body-in-range:after{background:#a8dab5}.mat-calendar-body-comparison-identical.mat-calendar-body-selected,.mat-calendar-body-in-comparison-range>.mat-calendar-body-selected{background:#46a35e}.mat-calendar-body-selected{background-color:#1e31eb;color:#fff}.mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:#1e31eb66}.mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #fff}.cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#1e31eb4d}@media (hover: hover){.mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#1e31eb4d}}.mat-datepicker-content{box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f;background-color:#fff;color:#000000de}.mat-datepicker-content.mat-accent .mat-calendar-body-in-range:before{background:rgba(255,82,82,.2)}.mat-datepicker-content.mat-accent .mat-calendar-body-comparison-identical,.mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range:before{background:rgba(249,171,0,.2)}.mat-datepicker-content.mat-accent .mat-calendar-body-comparison-bridge-start:before,.mat-datepicker-content.mat-accent [dir=rtl] .mat-calendar-body-comparison-bridge-end:before{background:linear-gradient(to right,rgba(255,82,82,.2) 50%,rgba(249,171,0,.2) 50%)}.mat-datepicker-content.mat-accent .mat-calendar-body-comparison-bridge-end:before,.mat-datepicker-content.mat-accent [dir=rtl] .mat-calendar-body-comparison-bridge-start:before{background:linear-gradient(to left,rgba(255,82,82,.2) 50%,rgba(249,171,0,.2) 50%)}.mat-datepicker-content.mat-accent .mat-calendar-body-in-range>.mat-calendar-body-comparison-identical,.mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range:after{background:#a8dab5}.mat-datepicker-content.mat-accent .mat-calendar-body-comparison-identical.mat-calendar-body-selected,.mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range>.mat-calendar-body-selected{background:#46a35e}.mat-datepicker-content.mat-accent .mat-calendar-body-selected{background-color:#ff5252;color:#000000de}.mat-datepicker-content.mat-accent .mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:#ff525266}.mat-datepicker-content.mat-accent .mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #000000de}.mat-datepicker-content.mat-accent .cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.mat-datepicker-content.mat-accent .cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#ff52524d}@media (hover: hover){.mat-datepicker-content.mat-accent .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#ff52524d}}.mat-datepicker-content.mat-warn .mat-calendar-body-in-range:before{background:rgba(196,0,0,.2)}.mat-datepicker-content.mat-warn .mat-calendar-body-comparison-identical,.mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range:before{background:rgba(249,171,0,.2)}.mat-datepicker-content.mat-warn .mat-calendar-body-comparison-bridge-start:before,.mat-datepicker-content.mat-warn [dir=rtl] .mat-calendar-body-comparison-bridge-end:before{background:linear-gradient(to right,rgba(196,0,0,.2) 50%,rgba(249,171,0,.2) 50%)}.mat-datepicker-content.mat-warn .mat-calendar-body-comparison-bridge-end:before,.mat-datepicker-content.mat-warn [dir=rtl] .mat-calendar-body-comparison-bridge-start:before{background:linear-gradient(to left,rgba(196,0,0,.2) 50%,rgba(249,171,0,.2) 50%)}.mat-datepicker-content.mat-warn .mat-calendar-body-in-range>.mat-calendar-body-comparison-identical,.mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range:after{background:#a8dab5}.mat-datepicker-content.mat-warn .mat-calendar-body-comparison-identical.mat-calendar-body-selected,.mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range>.mat-calendar-body-selected{background:#46a35e}.mat-datepicker-content.mat-warn .mat-calendar-body-selected{background-color:#c40000;color:#fff}.mat-datepicker-content.mat-warn .mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:#c4000066}.mat-datepicker-content.mat-warn .mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #fff}.mat-datepicker-content.mat-warn .cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.mat-datepicker-content.mat-warn .cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#c400004d}@media (hover: hover){.mat-datepicker-content.mat-warn .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#c400004d}}.mat-datepicker-content-touch{box-shadow:0 11px 15px -7px #0003,0 24px 38px 3px #00000024,0 9px 46px 8px #0000001f}.mat-datepicker-toggle-active{color:#1e31eb}.mat-datepicker-toggle-active.mat-accent{color:#ff5252}.mat-datepicker-toggle-active.mat-warn{color:#c40000}.mat-date-range-input-inner[disabled]{color:#00000061}.mat-dialog-container{box-shadow:0 11px 15px -7px #0003,0 24px 38px 3px #00000024,0 9px 46px 8px #0000001f;background:white;color:#000000de}.mat-divider{border-top-color:#0000001f}.mat-divider-vertical{border-right-color:#0000001f}.mat-expansion-panel{background:white;color:#000000de}.mat-expansion-panel:not([class*=mat-elevation-z]){box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}.mat-action-row{border-top-color:#0000001f}.mat-expansion-panel .mat-expansion-panel-header.cdk-keyboard-focused:not([aria-disabled=true]),.mat-expansion-panel .mat-expansion-panel-header.cdk-program-focused:not([aria-disabled=true]),.mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:hover:not([aria-disabled=true]){background:rgba(0,0,0,.04)}@media (hover: none){.mat-expansion-panel:not(.mat-expanded):not([aria-disabled=true]) .mat-expansion-panel-header:hover{background:white}}.mat-expansion-panel-header-title{color:#000000de}.mat-expansion-panel-header-description,.mat-expansion-indicator:after{color:#0000008a}.mat-expansion-panel-header[aria-disabled=true]{color:#00000042}.mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-title,.mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-description{color:inherit}.mat-expansion-panel-header{height:48px}.mat-expansion-panel-header.mat-expanded{height:64px}.mat-form-field-label,.mat-hint{color:#0009}.mat-form-field.mat-focused .mat-form-field-label{color:#1e31eb}.mat-form-field.mat-focused .mat-form-field-label.mat-accent{color:#ff5252}.mat-form-field.mat-focused .mat-form-field-label.mat-warn{color:#c40000}.mat-focused .mat-form-field-required-marker{color:#ff5252}.mat-form-field-ripple{background-color:#000000de}.mat-form-field.mat-focused .mat-form-field-ripple{background-color:#1e31eb}.mat-form-field.mat-focused .mat-form-field-ripple.mat-accent{background-color:#ff5252}.mat-form-field.mat-focused .mat-form-field-ripple.mat-warn{background-color:#c40000}.mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid) .mat-form-field-infix:after{color:#1e31eb}.mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid).mat-accent .mat-form-field-infix:after{color:#ff5252}.mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid).mat-warn .mat-form-field-infix:after{color:#c40000}.mat-form-field.mat-form-field-invalid .mat-form-field-label,.mat-form-field.mat-form-field-invalid .mat-form-field-label.mat-accent,.mat-form-field.mat-form-field-invalid .mat-form-field-label .mat-form-field-required-marker{color:#c40000}.mat-form-field.mat-form-field-invalid .mat-form-field-ripple,.mat-form-field.mat-form-field-invalid .mat-form-field-ripple.mat-accent{background-color:#c40000}.mat-error{color:#c40000}.mat-form-field-appearance-legacy .mat-form-field-label,.mat-form-field-appearance-legacy .mat-hint{color:#0000008a}.mat-form-field-appearance-legacy .mat-form-field-underline{background-color:#0000006b}.mat-form-field-appearance-legacy.mat-form-field-disabled .mat-form-field-underline{background-image:linear-gradient(to right,rgba(0,0,0,.42) 0%,rgba(0,0,0,.42) 33%,transparent 0%);background-size:4px 100%;background-repeat:repeat-x}.mat-form-field-appearance-standard .mat-form-field-underline{background-color:#0000006b}.mat-form-field-appearance-standard.mat-form-field-disabled .mat-form-field-underline{background-image:linear-gradient(to right,rgba(0,0,0,.42) 0%,rgba(0,0,0,.42) 33%,transparent 0%);background-size:4px 100%;background-repeat:repeat-x}.mat-form-field-appearance-fill .mat-form-field-flex{background-color:#0000000a}.mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-flex{background-color:#00000005}.mat-form-field-appearance-fill .mat-form-field-underline:before{background-color:#0000006b}.mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-label{color:#00000061}.mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-underline:before{background-color:transparent}.mat-form-field-appearance-outline .mat-form-field-outline{color:#0000001f}.mat-form-field-appearance-outline .mat-form-field-outline-thick{color:#000000de}.mat-form-field-appearance-outline.mat-focused .mat-form-field-outline-thick{color:#1e31eb}.mat-form-field-appearance-outline.mat-focused.mat-accent .mat-form-field-outline-thick{color:#ff5252}.mat-form-field-appearance-outline.mat-focused.mat-warn .mat-form-field-outline-thick,.mat-form-field-appearance-outline.mat-form-field-invalid.mat-form-field-invalid .mat-form-field-outline-thick{color:#c40000}.mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-label{color:#00000061}.mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-outline{color:#0000000f}.mat-icon.mat-primary{color:#1e31eb}.mat-icon.mat-accent{color:#ff5252}.mat-icon.mat-warn{color:#c40000}.mat-form-field-type-mat-native-select .mat-form-field-infix:after{color:#0000008a}.mat-input-element:disabled,.mat-form-field-type-mat-native-select.mat-form-field-disabled .mat-form-field-infix:after{color:#00000061}.mat-input-element{caret-color:#1e31eb}.mat-input-element::placeholder{color:#0000006b}.mat-input-element::-moz-placeholder{color:#0000006b}.mat-input-element::-webkit-input-placeholder{color:#0000006b}.mat-input-element:-ms-input-placeholder{color:#0000006b}.mat-form-field.mat-accent .mat-input-element{caret-color:#ff5252}.mat-form-field.mat-warn .mat-input-element,.mat-form-field-invalid .mat-input-element{caret-color:#c40000}.mat-form-field-type-mat-native-select.mat-form-field-invalid .mat-form-field-infix:after{color:#c40000}.mat-list-base .mat-list-item,.mat-list-base .mat-list-option{color:#000000de}.mat-list-base .mat-subheader{color:#0000008a}.mat-list-base .mat-list-item-disabled{background-color:#eee;color:#00000061}.mat-list-option:hover,.mat-list-option:focus,.mat-nav-list .mat-list-item:hover,.mat-nav-list .mat-list-item:focus,.mat-action-list .mat-list-item:hover,.mat-action-list .mat-list-item:focus{background:rgba(0,0,0,.04)}.mat-list-single-selected-option,.mat-list-single-selected-option:hover,.mat-list-single-selected-option:focus{background:rgba(0,0,0,.12)}.mat-menu-panel{background:white}.mat-menu-panel:not([class*=mat-elevation-z]){box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f}.mat-menu-item{background:transparent;color:#000000de}.mat-menu-item[disabled],.mat-menu-item[disabled] .mat-menu-submenu-icon,.mat-menu-item[disabled] .mat-icon-no-color{color:#00000061}.mat-menu-item .mat-icon-no-color,.mat-menu-submenu-icon{color:#0000008a}.mat-menu-item:hover:not([disabled]),.mat-menu-item.cdk-program-focused:not([disabled]),.mat-menu-item.cdk-keyboard-focused:not([disabled]),.mat-menu-item-highlighted:not([disabled]){background:rgba(0,0,0,.04)}.mat-paginator{background:white}.mat-paginator,.mat-paginator-page-size .mat-select-trigger{color:#0000008a}.mat-paginator-decrement,.mat-paginator-increment{border-top:2px solid rgba(0,0,0,.54);border-right:2px solid rgba(0,0,0,.54)}.mat-paginator-first,.mat-paginator-last{border-top:2px solid rgba(0,0,0,.54)}.mat-icon-button[disabled] .mat-paginator-decrement,.mat-icon-button[disabled] .mat-paginator-increment,.mat-icon-button[disabled] .mat-paginator-first,.mat-icon-button[disabled] .mat-paginator-last{border-color:#00000061}.mat-paginator-container{min-height:56px}.mat-progress-bar-background{fill:#c3c8f6}.mat-progress-bar-buffer{background-color:#c3c8f6}.mat-progress-bar-fill:after{background-color:#1e31eb}.mat-progress-bar.mat-accent .mat-progress-bar-background{fill:#fbd0d0}.mat-progress-bar.mat-accent .mat-progress-bar-buffer{background-color:#fbd0d0}.mat-progress-bar.mat-accent .mat-progress-bar-fill:after{background-color:#ff5252}.mat-progress-bar.mat-warn .mat-progress-bar-background{fill:#edbcbc}.mat-progress-bar.mat-warn .mat-progress-bar-buffer{background-color:#edbcbc}.mat-progress-bar.mat-warn .mat-progress-bar-fill:after{background-color:#c40000}.mat-progress-spinner circle,.mat-spinner circle{stroke:#1e31eb}.mat-progress-spinner.mat-accent circle,.mat-spinner.mat-accent circle{stroke:#ff5252}.mat-progress-spinner.mat-warn circle,.mat-spinner.mat-warn circle{stroke:#c40000}.mat-radio-outer-circle{border-color:#0000008a}.mat-radio-button.mat-primary.mat-radio-checked .mat-radio-outer-circle{border-color:#1e31eb}.mat-radio-button.mat-primary .mat-radio-inner-circle,.mat-radio-button.mat-primary .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),.mat-radio-button.mat-primary.mat-radio-checked .mat-radio-persistent-ripple,.mat-radio-button.mat-primary:active .mat-radio-persistent-ripple{background-color:#1e31eb}.mat-radio-button.mat-accent.mat-radio-checked .mat-radio-outer-circle{border-color:#ff5252}.mat-radio-button.mat-accent .mat-radio-inner-circle,.mat-radio-button.mat-accent .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),.mat-radio-button.mat-accent.mat-radio-checked .mat-radio-persistent-ripple,.mat-radio-button.mat-accent:active .mat-radio-persistent-ripple{background-color:#ff5252}.mat-radio-button.mat-warn.mat-radio-checked .mat-radio-outer-circle{border-color:#c40000}.mat-radio-button.mat-warn .mat-radio-inner-circle,.mat-radio-button.mat-warn .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),.mat-radio-button.mat-warn.mat-radio-checked .mat-radio-persistent-ripple,.mat-radio-button.mat-warn:active .mat-radio-persistent-ripple{background-color:#c40000}.mat-radio-button.mat-radio-disabled.mat-radio-checked .mat-radio-outer-circle,.mat-radio-button.mat-radio-disabled .mat-radio-outer-circle{border-color:#00000061}.mat-radio-button.mat-radio-disabled .mat-radio-ripple .mat-ripple-element,.mat-radio-button.mat-radio-disabled .mat-radio-inner-circle{background-color:#00000061}.mat-radio-button.mat-radio-disabled .mat-radio-label-content{color:#00000061}.mat-radio-button .mat-ripple-element{background-color:#000}.mat-select-value{color:#000000de}.mat-select-placeholder{color:#0000006b}.mat-select-disabled .mat-select-value{color:#00000061}.mat-select-arrow{color:#0000008a}.mat-select-panel{background:white}.mat-select-panel:not([class*=mat-elevation-z]){box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f}.mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){background:rgba(0,0,0,.12)}.mat-form-field.mat-focused.mat-primary .mat-select-arrow{color:#1e31eb}.mat-form-field.mat-focused.mat-accent .mat-select-arrow{color:#ff5252}.mat-form-field.mat-focused.mat-warn .mat-select-arrow,.mat-form-field .mat-select.mat-select-invalid .mat-select-arrow{color:#c40000}.mat-form-field .mat-select.mat-select-disabled .mat-select-arrow{color:#00000061}.mat-drawer-container{background-color:#fafafa;color:#000000de}.mat-drawer{background-color:#fff;color:#000000de}.mat-drawer.mat-drawer-push{background-color:#fff}.mat-drawer:not(.mat-drawer-side){box-shadow:0 8px 10px -5px #0003,0 16px 24px 2px #00000024,0 6px 30px 5px #0000001f}.mat-drawer-side{border-right:solid 1px rgba(0,0,0,.12)}.mat-drawer-side.mat-drawer-end,[dir=rtl] .mat-drawer-side{border-left:solid 1px rgba(0,0,0,.12);border-right:none}[dir=rtl] .mat-drawer-side.mat-drawer-end{border-left:none;border-right:solid 1px rgba(0,0,0,.12)}.mat-drawer-backdrop.mat-drawer-shown{background-color:#0009}.mat-slide-toggle.mat-checked .mat-slide-toggle-thumb{background-color:#ff5252}.mat-slide-toggle.mat-checked .mat-slide-toggle-bar{background-color:#ff52528a}.mat-slide-toggle.mat-checked .mat-ripple-element{background-color:#ff5252}.mat-slide-toggle.mat-primary.mat-checked .mat-slide-toggle-thumb{background-color:#1e31eb}.mat-slide-toggle.mat-primary.mat-checked .mat-slide-toggle-bar{background-color:#1e31eb8a}.mat-slide-toggle.mat-primary.mat-checked .mat-ripple-element{background-color:#1e31eb}.mat-slide-toggle.mat-warn.mat-checked .mat-slide-toggle-thumb{background-color:#c40000}.mat-slide-toggle.mat-warn.mat-checked .mat-slide-toggle-bar{background-color:#c400008a}.mat-slide-toggle.mat-warn.mat-checked .mat-ripple-element{background-color:#c40000}.mat-slide-toggle:not(.mat-checked) .mat-ripple-element{background-color:#000}.mat-slide-toggle-thumb{box-shadow:0 2px 1px -1px #0003,0 1px 1px #00000024,0 1px 3px #0000001f;background-color:#fafafa}.mat-slide-toggle-bar{background-color:#00000061}.mat-slider-track-background{background-color:#00000042}.mat-slider.mat-primary .mat-slider-track-fill,.mat-slider.mat-primary .mat-slider-thumb,.mat-slider.mat-primary .mat-slider-thumb-label{background-color:#1e31eb}.mat-slider.mat-primary .mat-slider-thumb-label-text{color:#fff}.mat-slider.mat-primary .mat-slider-focus-ring{background-color:#1e31eb33}.mat-slider.mat-accent .mat-slider-track-fill,.mat-slider.mat-accent .mat-slider-thumb,.mat-slider.mat-accent .mat-slider-thumb-label{background-color:#ff5252}.mat-slider.mat-accent .mat-slider-thumb-label-text{color:#000000de}.mat-slider.mat-accent .mat-slider-focus-ring{background-color:#ff525233}.mat-slider.mat-warn .mat-slider-track-fill,.mat-slider.mat-warn .mat-slider-thumb,.mat-slider.mat-warn .mat-slider-thumb-label{background-color:#c40000}.mat-slider.mat-warn .mat-slider-thumb-label-text{color:#fff}.mat-slider.mat-warn .mat-slider-focus-ring{background-color:#c4000033}.mat-slider:hover .mat-slider-track-background,.mat-slider.cdk-focused .mat-slider-track-background{background-color:#00000061}.mat-slider.mat-slider-disabled .mat-slider-track-background,.mat-slider.mat-slider-disabled .mat-slider-track-fill,.mat-slider.mat-slider-disabled .mat-slider-thumb,.mat-slider.mat-slider-disabled:hover .mat-slider-track-background{background-color:#00000042}.mat-slider.mat-slider-min-value .mat-slider-focus-ring{background-color:#0000001f}.mat-slider.mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb,.mat-slider.mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb-label{background-color:#000000de}.mat-slider.mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb,.mat-slider.mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb-label{background-color:#00000042}.mat-slider.mat-slider-min-value:not(.mat-slider-thumb-label-showing) .mat-slider-thumb{border-color:#00000042;background-color:transparent}.mat-slider.mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover .mat-slider-thumb,.mat-slider.mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused .mat-slider-thumb{border-color:#00000061}.mat-slider.mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover.mat-slider-disabled .mat-slider-thumb,.mat-slider.mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused.mat-slider-disabled .mat-slider-thumb{border-color:#00000042}.mat-slider-has-ticks .mat-slider-wrapper:after{border-color:#000000b3}.mat-slider-horizontal .mat-slider-ticks{background-image:repeating-linear-gradient(to right,rgba(0,0,0,.7),rgba(0,0,0,.7) 2px,transparent 0,transparent);background-image:-moz-repeating-linear-gradient(.0001deg,rgba(0,0,0,.7),rgba(0,0,0,.7) 2px,transparent 0,transparent)}.mat-slider-vertical .mat-slider-ticks{background-image:repeating-linear-gradient(to bottom,rgba(0,0,0,.7),rgba(0,0,0,.7) 2px,transparent 0,transparent)}.mat-step-header.cdk-keyboard-focused,.mat-step-header.cdk-program-focused,.mat-step-header:hover:not([aria-disabled]),.mat-step-header:hover[aria-disabled=false]{background-color:#0000000a}.mat-step-header:hover[aria-disabled=true]{cursor:default}@media (hover: none){.mat-step-header:hover{background:none}}.mat-step-header .mat-step-label,.mat-step-header .mat-step-optional{color:#0000008a}.mat-step-header .mat-step-icon{background-color:#0000008a;color:#fff}.mat-step-header .mat-step-icon-selected,.mat-step-header .mat-step-icon-state-done,.mat-step-header .mat-step-icon-state-edit{background-color:#1e31eb;color:#fff}.mat-step-header.mat-accent .mat-step-icon{color:#000000de}.mat-step-header.mat-accent .mat-step-icon-selected,.mat-step-header.mat-accent .mat-step-icon-state-done,.mat-step-header.mat-accent .mat-step-icon-state-edit{background-color:#ff5252;color:#000000de}.mat-step-header.mat-warn .mat-step-icon{color:#fff}.mat-step-header.mat-warn .mat-step-icon-selected,.mat-step-header.mat-warn .mat-step-icon-state-done,.mat-step-header.mat-warn .mat-step-icon-state-edit{background-color:#c40000;color:#fff}.mat-step-header .mat-step-icon-state-error{background-color:transparent;color:#c40000}.mat-step-header .mat-step-label.mat-step-label-active{color:#000000de}.mat-step-header .mat-step-label.mat-step-label-error{color:#c40000}.mat-stepper-horizontal,.mat-stepper-vertical{background-color:#fff}.mat-stepper-vertical-line:before{border-left-color:#0000001f}.mat-horizontal-stepper-header:before,.mat-horizontal-stepper-header:after,.mat-stepper-horizontal-line{border-top-color:#0000001f}.mat-horizontal-stepper-header{height:72px}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header,.mat-vertical-stepper-header{padding:24px}.mat-stepper-vertical-line:before{top:-16px;bottom:-16px}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header:after,.mat-stepper-label-position-bottom .mat-horizontal-stepper-header:before{top:36px}.mat-stepper-label-position-bottom .mat-stepper-horizontal-line{top:36px}.mat-sort-header-arrow{color:#757575}.mat-tab-nav-bar,.mat-tab-header{border-bottom:1px solid rgba(0,0,0,.12)}.mat-tab-group-inverted-header .mat-tab-nav-bar,.mat-tab-group-inverted-header .mat-tab-header{border-top:1px solid rgba(0,0,0,.12);border-bottom:none}.mat-tab-label,.mat-tab-link{color:#000000de}.mat-tab-label.mat-tab-disabled,.mat-tab-link.mat-tab-disabled{color:#00000061}.mat-tab-header-pagination-chevron{border-color:#000000de}.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:#00000061}.mat-tab-group[class*=mat-background-]>.mat-tab-header,.mat-tab-nav-bar[class*=mat-background-]{border-bottom:none;border-top:none}.mat-tab-group.mat-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-group.mat-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#c5cae94d}.mat-tab-group.mat-primary .mat-ink-bar,.mat-tab-nav-bar.mat-primary .mat-ink-bar{background-color:#1e31eb}.mat-tab-group.mat-primary.mat-background-primary>.mat-tab-header .mat-ink-bar,.mat-tab-group.mat-primary.mat-background-primary>.mat-tab-link-container .mat-ink-bar,.mat-tab-nav-bar.mat-primary.mat-background-primary>.mat-tab-header .mat-ink-bar,.mat-tab-nav-bar.mat-primary.mat-background-primary>.mat-tab-link-container .mat-ink-bar{background-color:#fff}.mat-tab-group.mat-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-group.mat-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#ff8a804d}.mat-tab-group.mat-accent .mat-ink-bar,.mat-tab-nav-bar.mat-accent .mat-ink-bar{background-color:#ff5252}.mat-tab-group.mat-accent.mat-background-accent>.mat-tab-header .mat-ink-bar,.mat-tab-group.mat-accent.mat-background-accent>.mat-tab-link-container .mat-ink-bar,.mat-tab-nav-bar.mat-accent.mat-background-accent>.mat-tab-header .mat-ink-bar,.mat-tab-nav-bar.mat-accent.mat-background-accent>.mat-tab-link-container .mat-ink-bar{background-color:#000000de}.mat-tab-group.mat-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-group.mat-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#ffcdd24d}.mat-tab-group.mat-warn .mat-ink-bar,.mat-tab-nav-bar.mat-warn .mat-ink-bar{background-color:#c40000}.mat-tab-group.mat-warn.mat-background-warn>.mat-tab-header .mat-ink-bar,.mat-tab-group.mat-warn.mat-background-warn>.mat-tab-link-container .mat-ink-bar,.mat-tab-nav-bar.mat-warn.mat-background-warn>.mat-tab-header .mat-ink-bar,.mat-tab-nav-bar.mat-warn.mat-background-warn>.mat-tab-link-container .mat-ink-bar{background-color:#fff}.mat-tab-group.mat-background-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-background-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-group.mat-background-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-background-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#c5cae94d}.mat-tab-group.mat-background-primary>.mat-tab-header,.mat-tab-group.mat-background-primary>.mat-tab-link-container,.mat-tab-group.mat-background-primary>.mat-tab-header-pagination,.mat-tab-nav-bar.mat-background-primary>.mat-tab-header,.mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container,.mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination{background-color:#1e31eb}.mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-label,.mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-tab-link,.mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-label,.mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-tab-link{color:#fff}.mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-label.mat-tab-disabled,.mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-tab-link.mat-tab-disabled,.mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-label.mat-tab-disabled,.mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-tab-link.mat-tab-disabled{color:#fff6}.mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-chevron,.mat-tab-group.mat-background-primary>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-focus-indicator:before,.mat-tab-group.mat-background-primary>.mat-tab-header .mat-focus-indicator:before,.mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-focus-indicator:before,.mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-focus-indicator:before{border-color:#fff}.mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.mat-tab-group.mat-background-primary>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:#fff;opacity:.4}.mat-tab-group.mat-background-primary>.mat-tab-header .mat-ripple-element,.mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-ripple-element,.mat-tab-group.mat-background-primary>.mat-tab-header-pagination .mat-ripple-element,.mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-ripple-element,.mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-ripple-element,.mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination .mat-ripple-element{background-color:#fff;opacity:.12}.mat-tab-group.mat-background-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-background-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-group.mat-background-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-background-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#ff8a804d}.mat-tab-group.mat-background-accent>.mat-tab-header,.mat-tab-group.mat-background-accent>.mat-tab-link-container,.mat-tab-group.mat-background-accent>.mat-tab-header-pagination,.mat-tab-nav-bar.mat-background-accent>.mat-tab-header,.mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container,.mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination{background-color:#ff5252}.mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-label,.mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-tab-link,.mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-label,.mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-tab-link{color:#000000de}.mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-label.mat-tab-disabled,.mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-tab-link.mat-tab-disabled,.mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-label.mat-tab-disabled,.mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-tab-link.mat-tab-disabled{color:#0006}.mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-chevron,.mat-tab-group.mat-background-accent>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-focus-indicator:before,.mat-tab-group.mat-background-accent>.mat-tab-header .mat-focus-indicator:before,.mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-focus-indicator:before,.mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-focus-indicator:before{border-color:#000000de}.mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.mat-tab-group.mat-background-accent>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:#000;opacity:.4}.mat-tab-group.mat-background-accent>.mat-tab-header .mat-ripple-element,.mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-ripple-element,.mat-tab-group.mat-background-accent>.mat-tab-header-pagination .mat-ripple-element,.mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-ripple-element,.mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-ripple-element,.mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination .mat-ripple-element{background-color:#000;opacity:.12}.mat-tab-group.mat-background-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-background-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-group.mat-background-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-background-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#ffcdd24d}.mat-tab-group.mat-background-warn>.mat-tab-header,.mat-tab-group.mat-background-warn>.mat-tab-link-container,.mat-tab-group.mat-background-warn>.mat-tab-header-pagination,.mat-tab-nav-bar.mat-background-warn>.mat-tab-header,.mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container,.mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination{background-color:#c40000}.mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-label,.mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-tab-link,.mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-label,.mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-tab-link{color:#fff}.mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-label.mat-tab-disabled,.mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-tab-link.mat-tab-disabled,.mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-label.mat-tab-disabled,.mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-tab-link.mat-tab-disabled{color:#fff6}.mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-chevron,.mat-tab-group.mat-background-warn>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-focus-indicator:before,.mat-tab-group.mat-background-warn>.mat-tab-header .mat-focus-indicator:before,.mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-focus-indicator:before,.mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-focus-indicator:before{border-color:#fff}.mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.mat-tab-group.mat-background-warn>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:#fff;opacity:.4}.mat-tab-group.mat-background-warn>.mat-tab-header .mat-ripple-element,.mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-ripple-element,.mat-tab-group.mat-background-warn>.mat-tab-header-pagination .mat-ripple-element,.mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-ripple-element,.mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-ripple-element,.mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination .mat-ripple-element{background-color:#fff;opacity:.12}.mat-toolbar{background:whitesmoke;color:#000000de}.mat-toolbar.mat-primary{background:#1e31eb;color:#fff}.mat-toolbar.mat-accent{background:#ff5252;color:#000000de}.mat-toolbar.mat-warn{background:#c40000;color:#fff}.mat-toolbar .mat-form-field-underline,.mat-toolbar .mat-form-field-ripple,.mat-toolbar .mat-focused .mat-form-field-ripple{background-color:currentColor}.mat-toolbar .mat-form-field-label,.mat-toolbar .mat-focused .mat-form-field-label,.mat-toolbar .mat-select-value,.mat-toolbar .mat-select-arrow,.mat-toolbar .mat-form-field.mat-focused .mat-select-arrow{color:inherit}.mat-toolbar .mat-input-element{caret-color:currentColor}.mat-toolbar-multiple-rows{min-height:64px}.mat-toolbar-row,.mat-toolbar-single-row{height:64px}@media (max-width: 599px){.mat-toolbar-multiple-rows{min-height:56px}.mat-toolbar-row,.mat-toolbar-single-row{height:56px}}.mat-tooltip{background:rgba(97,97,97,.9)}.mat-tree{background:white}.mat-tree-node,.mat-nested-tree-node{color:#000000de}.mat-tree-node{min-height:48px}.mat-snack-bar-container{color:#ffffffb3;background:#323232;box-shadow:0 3px 5px -1px #0003,0 6px 10px #00000024,0 1px 18px #0000001f}.mat-simple-snackbar-action{color:#ff5252}.mat-ripple-element{background-color:#0000001a}.mat-option{color:#000000de}.mat-option:hover:not(.mat-option-disabled),.mat-option:focus:not(.mat-option-disabled){background:rgba(0,0,0,.04)}.mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled){background:rgba(0,0,0,.04)}.mat-option.mat-active{background:rgba(0,0,0,.04);color:#000000de}.mat-option.mat-option-disabled{color:#00000061}.mat-primary .mat-option.mat-selected:not(.mat-option-disabled){color:#1e31eb}.mat-accent .mat-option.mat-selected:not(.mat-option-disabled){color:#ff5252}.mat-warn .mat-option.mat-selected:not(.mat-option-disabled){color:#c40000}.mat-optgroup-label{color:#0000008a}.mat-optgroup-disabled .mat-optgroup-label{color:#00000061}.mat-pseudo-checkbox{color:#0000008a}.mat-pseudo-checkbox:after{color:#fafafa}.mat-pseudo-checkbox-disabled{color:#b0b0b0}.mat-primary .mat-pseudo-checkbox-checked,.mat-primary .mat-pseudo-checkbox-indeterminate{background:#1e31eb}.mat-pseudo-checkbox-checked,.mat-pseudo-checkbox-indeterminate,.mat-accent .mat-pseudo-checkbox-checked,.mat-accent .mat-pseudo-checkbox-indeterminate{background:#ff5252}.mat-warn .mat-pseudo-checkbox-checked,.mat-warn .mat-pseudo-checkbox-indeterminate{background:#c40000}.mat-pseudo-checkbox-checked.mat-pseudo-checkbox-disabled,.mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-disabled{background:#b0b0b0}.mat-app-background{background-color:#fafafa;color:#000000de}.mat-elevation-z0{box-shadow:0 0 #0003,0 0 #00000024,0 0 #0000001f}.mat-elevation-z1{box-shadow:0 2px 1px -1px #0003,0 1px 1px #00000024,0 1px 3px #0000001f}.mat-elevation-z2{box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}.mat-elevation-z3{box-shadow:0 3px 3px -2px #0003,0 3px 4px #00000024,0 1px 8px #0000001f}.mat-elevation-z4{box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f}.mat-elevation-z5{box-shadow:0 3px 5px -1px #0003,0 5px 8px #00000024,0 1px 14px #0000001f}.mat-elevation-z6{box-shadow:0 3px 5px -1px #0003,0 6px 10px #00000024,0 1px 18px #0000001f}.mat-elevation-z7{box-shadow:0 4px 5px -2px #0003,0 7px 10px 1px #00000024,0 2px 16px 1px #0000001f}.mat-elevation-z8{box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.mat-elevation-z9{box-shadow:0 5px 6px -3px #0003,0 9px 12px 1px #00000024,0 3px 16px 2px #0000001f}.mat-elevation-z10{box-shadow:0 6px 6px -3px #0003,0 10px 14px 1px #00000024,0 4px 18px 3px #0000001f}.mat-elevation-z11{box-shadow:0 6px 7px -4px #0003,0 11px 15px 1px #00000024,0 4px 20px 3px #0000001f}.mat-elevation-z12{box-shadow:0 7px 8px -4px #0003,0 12px 17px 2px #00000024,0 5px 22px 4px #0000001f}.mat-elevation-z13{box-shadow:0 7px 8px -4px #0003,0 13px 19px 2px #00000024,0 5px 24px 4px #0000001f}.mat-elevation-z14{box-shadow:0 7px 9px -4px #0003,0 14px 21px 2px #00000024,0 5px 26px 4px #0000001f}.mat-elevation-z15{box-shadow:0 8px 9px -5px #0003,0 15px 22px 2px #00000024,0 6px 28px 5px #0000001f}.mat-elevation-z16{box-shadow:0 8px 10px -5px #0003,0 16px 24px 2px #00000024,0 6px 30px 5px #0000001f}.mat-elevation-z17{box-shadow:0 8px 11px -5px #0003,0 17px 26px 2px #00000024,0 6px 32px 5px #0000001f}.mat-elevation-z18{box-shadow:0 9px 11px -5px #0003,0 18px 28px 2px #00000024,0 7px 34px 6px #0000001f}.mat-elevation-z19{box-shadow:0 9px 12px -6px #0003,0 19px 29px 2px #00000024,0 7px 36px 6px #0000001f}.mat-elevation-z20{box-shadow:0 10px 13px -6px #0003,0 20px 31px 3px #00000024,0 8px 38px 7px #0000001f}.mat-elevation-z21{box-shadow:0 10px 13px -6px #0003,0 21px 33px 3px #00000024,0 8px 40px 7px #0000001f}.mat-elevation-z22{box-shadow:0 10px 14px -6px #0003,0 22px 35px 3px #00000024,0 8px 42px 7px #0000001f}.mat-elevation-z23{box-shadow:0 11px 14px -7px #0003,0 23px 36px 3px #00000024,0 9px 44px 8px #0000001f}.mat-elevation-z24{box-shadow:0 11px 15px -7px #0003,0 24px 38px 3px #00000024,0 9px 46px 8px #0000001f}.mat-theme-loaded-marker{display:none}.extension-container{display:inline-block;font-size:15px;border:1px solid var(--primary);border-radius:15px;margin-right:10px}.extension-container mat-icon{vertical-align:middle;font-size:15px;height:15px;width:15px;color:var(--danger);margin-right:10px;cursor:pointer}.extension-container span{margin-left:10px}.key-value-list-section-title{background:linear-gradient(to right,var(--gray) 0%,rgb(255,255,255) 100%) left bottom #fff no-repeat;background-size:100% 1px}.value-pairs-list{list-style:none;padding:0}.value-pairs-list mat-icon{vertical-align:middle;font-size:15px;height:15px;width:15px;color:var(--danger);margin-right:10px;cursor:pointer}::ng-deep .mat-dialog-container{border-radius:10px}.row.title{background-color:#ebebeb;padding:20px 0 20px 50px}.row.title mat-icon.add{background:#fff;color:#7b7b7b;height:40px;width:40px;border-radius:10px;font-size:27px;padding:7px 6px 6px 7px;margin:0 7px 0 0}.row.title .header-title-standard{display:flex;align-items:center;font-size:19px;font-weight:700;color:gray}.row:not(.title){margin:15px 0 0}form{margin:25px 0 0}eqp-select ::ng-deep mat-select{background:url(/assets/images/arrow.png) no-repeat;background-size:15px;background-position:95% 21px;border:1px solid #e7e7e9;border-radius:10px;padding:15px 0 15px 20px!important;margin-top:-1px;background-color:#fff}eqp-select ::ng-deep mat-select:focus{border:1px solid #6F79FB}::ng-deep .mat-select-arrow{color:transparent!important}input[type=number]{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none}.increasableValues{display:flex}.increasableValues .col-sm-12{display:flex;flex-direction:column;margin:0 3em 0 0}.increasableValues .col-sm-12 .mat-form-field{height:79px;line-height:34px;width:50%}.increasableValues .col-sm-12 .mat-form-field ::ng-deep .mat-form-field-flex{width:230px;border:1px solid #e7e7e9;border-radius:10px;padding:7px 0 0 20px!important;margin-top:10px;background-color:#fff}.increasableValues .col-sm-12 .mat-form-field ::ng-deep .mat-form-field-flex .mat-form-field-infix{display:flex;margin:-10px 0 0}.increasableValues .col-sm-12 .mat-form-field ::ng-deep .mat-form-field-flex .mat-form-field-infix input{margin:0;border:none;height:100%}.increasableValues .col-sm-12 .mat-form-field div.buttons{display:flex;flex-direction:column;margin:-10px 0 0;border-right:1px solid #F4F4F4;padding:10px 14px 0 0}.increasableValues .col-sm-12 .mat-form-field div.buttons button.up{height:17px;width:21px;background:url(/assets/images/arrow.png) no-repeat;background-size:20px;background-position-y:1px;background-position-x:1px;-webkit-transform:rotate(180deg);border:none;opacity:.3;cursor:pointer}.increasableValues .col-sm-12 .mat-form-field div.buttons button.down{height:50px;width:23px;background:url(/assets/images/arrow.png) no-repeat no-repeat;background-size:20px;border:none;opacity:.3;background-position-y:21px;background-position-x:0px;cursor:pointer}.increasableValues .col-sm-12 .mat-form-field input{margin:-14px 0 0 63px;font-size:18px}.second .col-sm-12{margin:0 1em 0 0}.date ::ng-deep mat-form-field .mat-form-field-wrapper .mat-form-field-label-wrapper label{display:none}.date ::ng-deep mat-form-field .mat-form-field-wrapper .mat-form-field-suffix{display:inline}eqp-attachments ::ng-deep div button{padding:5px 35px;background:linear-gradient(to right,#1E31EB,#693DDA);border-radius:10px}eqp-attachments ::ng-deep div button span mat-icon{margin-right:5px}eqp-attachments ::ng-deep div button.eqp-attachments-delete-btn{color:#fff}::ng-deep mat-dialog-container .container-fluid.eqp-attachments-dialog-add-container form .row:first-child{padding:20px 40px;background-color:#ebebeb;color:gray;font-size:19px;font-weight:700}::ng-deep mat-dialog-container .container-fluid.eqp-attachments-dialog-add-container form .mat-form-field-label-wrapper label{margin-top:21px;margin-left:25px}::ng-deep mat-dialog-container .container-fluid.eqp-attachments-dialog-add-container form .btn-primary[disabled]{padding:7px 35px;border-radius:10px;font-size:14px;background-color:#dbdbdc!important;color:#000;background:none}::ng-deep mat-dialog-container .container-fluid.eqp-attachments-dialog-add-container form .btn-primary:not(disabled){padding:7px 35px;border-radius:10px;font-size:14px;background:linear-gradient(to right,#1E31EB,#693DDA);color:#fff}::ng-deep mat-dialog-container .container-fluid.eqp-attachments-dialog-add-container form button{margin:0 10px 0 0!important;border:1px solid #1E31EB;padding:7px 35px;border-radius:10px;font-size:14px}::ng-deep mat-dialog-container .container-fluid.eqp-attachments-dialog-add-container form button[disabled]{border:none}::ng-deep mat-dialog-container .container-fluid.eqp-attachments-dialog-add-container form .ng-star-inserted .justify-content-center button{padding:4px;margin:0;border:none;left:8px}::ng-deep mat-dialog-container .container-fluid.eqp-attachments-dialog-add-container form .row:last-child{padding:50px 20px 20px 0}eqp-table ::ng-deep mat-form-field:not(.mat-paginator-page-size-select) .mat-form-field-wrapper input{background-color:#ebebeb!important;background:url(data:image/png;base64,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) no-repeat;background-size:19px;background-position:19px;padding:15px 0 15px 53px!important}eqp-table ::ng-deep mat-form-field:not(.mat-paginator-page-size-select) .mat-form-field-wrapper input:focus{background-color:#fff!important;border:1px solid #e7e7e9}eqp-table ::ng-deep mat-form-field:not(.mat-paginator-page-size-select) .mat-form-field-wrapper .mat-form-field-label-wrapper label{margin-top:21px;margin-left:55px}eqp-table ::ng-deep mat-header-row{background-color:#ebebeb;border-bottom-width:0px}eqp-table ::ng-deep mat-header-row .mat-column-Required{flex:none!important}eqp-table ::ng-deep .mat-sort-header-button{color:#3b3a3b;font-size:15px}eqp-table ::ng-deep .mat-row{background-color:#fff;margin:10px 0;box-shadow:0 3px 7px -3px #0003;padding:5px 0}eqp-table ::ng-deep .mat-row .mat-column-Required{flex:0 0 8%!important}eqp-table ::ng-deep .mat-row mat-cell eqp-select{margin-top:16px}eqp-table ::ng-deep .mat-row mat-cell eqp-select .mat-form-field-wrapper{padding-bottom:0}eqp-table ::ng-deep .mat-row .mat-cell:last-child span i.success-color{background-color:#383fec;color:#fff!important;padding:6px;border-radius:3px}@media screen and (max-width: 1100px){.row:not(.title){margin:0!important}.second{display:flex;flex-direction:column}.second .col-sm-12{margin:0}.buttonsForm{padding:0 30px 20px 0;margin:50px 0 0}}@media screen and (max-width: 766px){.increasableValues{display:flex;flex-direction:column}.increasableValues .col-sm-12{margin:0 0 -1.5em}.second{display:flex;flex-direction:column}.second .col-sm-12{margin:0 0 -3.4em}.buttonsForm{margin:55px 0 0!important;padding:0 13px 20px 0;transform:translateY(110px)}}@media screen and (max-width: 577px){.increasableValues .col-sm-12{margin:0 0 1.5em}}:host ::ng-deep .mat-input-element{width:100%;width:-moz-available;width:-webkit-fill-available;width:fill-available}\n"] }]
623
+ args: [{ selector: 'eqp-dynamic-module-add-form-field', template: "<div class=\"bigwrapper\" style=\"max-height: 100vh !important; overflow-x: hidden; overflow-y: auto;\">\r\n <div class=\"containerHeader\">\r\n <div class=\"row title\">\r\n <div class=\"header-title-standard\">{{indexField != null && indexField >= 0 ? \"Modifica\"\r\n : \"Aggiungi\"}} campo</div>\r\n </div>\r\n </div>\r\n <div class=\"container-fluid containerContent\">\r\n <form [formGroup]=\"fieldFormGroup\">\r\n <div class=\"row\">\r\n <div class=\"col-sm-12 col-md-4 mt-2 tipoCampo\">\r\n <mat-label>Tipo campo *</mat-label>\r\n <eqp-select [enumData]=\"FieldTypeEnum\" [(ngModelInput)]=\"field.FieldType\" [showCancelButton]=\"false\"\r\n (ngModelInputChange)=\"onFieldTypeChange()\" [formGroupInput]=\"fieldFormGroup\"\r\n [formControlNameInput]=\"'FieldType'\" [enumDataToExclude]=\"fieldTypesToExclude\">\r\n </eqp-select>\r\n </div>\r\n\r\n <div class=\"col-sm-12 col-md-4 mt-2\">\r\n <mat-label> Codice * </mat-label>\r\n <mat-form-field>\r\n <input formControlName=\"Label\" required matInput [(ngModel)]=\"field.Label\" (keypress)=\"omit_special_char($event)\" spellcheck=\"false\" autocomplete=\"off\" (focusout)=\"stringSanitizer(field.Label)\">\r\n <mat-error>\r\n {{ getFormValidationErrors('Label') }}\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"col-sm-12 col-md-4 mt-2\">\r\n <mat-label> Descrizione * </mat-label>\r\n <mat-form-field>\r\n <input name=\"Description\" formControlName=\"Description\" required matInput\r\n [(ngModel)]=\"field.Description\" spellcheck=\"false\" autocomplete=\"off\" (keypress)=\"omit_special_char($event)\" (focusout)=\"stringSanitizer(field.Description)\">\r\n <!-- <mat-error *ngIf=\"!field.Description.valid && field.FormFormGroup.controls[field.Description].touched\"> -->\r\n <mat-error>\r\n {{ getFormValidationErrors('Description') }}\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"col-sm-12 col-md-4 mt-2\">\r\n <mat-label> Tooltip </mat-label>\r\n <mat-form-field>\r\n <input name=\"Tooltip\" formControlName=\"Tooltip\" matInput [(ngModel)]=\"field.Tooltip\" spellcheck=\"false\" autocomplete=\"off\" (keypress)=\"omit_special_char($event)\" (focusout)=\"stringSanitizer(field.Tooltip)\">\r\n <mat-error>\r\n {{ getFormValidationErrors('Tooltip') }}\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"col-sm-12 col-md-4 mt-2\">\r\n <mat-label> Formula (Javascript) </mat-label>\r\n <mat-form-field>\r\n <input formControlName=\"Formula\" matInput [(ngModel)]=\"field.Formula\"\r\n (click)=\"openFormulaDialog()\" spellcheck=\"false\" autocomplete=\"off\" (keypress)=\"omit_special_char($event)\" (focusout)=\"stringSanitizer(field.Formula)\">\r\n <mat-error>\r\n {{ getFormValidationErrors('Formula') }}\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2\" *ngIf=\"formFieldsGroups\">\r\n <mat-label>Sezione</mat-label>\r\n <eqp-select [arrayData]=\"formFieldsGroups\" [(ngModelInput)]=\"field.FieldGroup\"\r\n [arrayKeyProperty]=\"'Name'\" [arrayValueProperty]=\"'Name'\" [formGroupInput]=\"fieldFormGroup\"\r\n [formControlNameInput]=\"'FieldGroup'\" required [includeFullObject]=\"false\">\r\n </eqp-select>\r\n </div>\r\n\r\n <div class=\"col-sm-12 col-md-4 mt-2\">\r\n <mat-label>Larghezza campo</mat-label>\r\n <eqp-select [arrayData]=\"availableColSpanSizes\" [(ngModelInput)]=\"field.ColSpanSizes\"\r\n [arrayKeyProperty]=\"'key'\" [arrayValueProperty]=\"'value'\"\r\n (ngModelInputChange)=\"onColSpanSizeSelect()\" [isMultiSelect]=\"true\"\r\n [formGroupInput]=\"fieldFormGroup\" [formControlNameInput]=\"'ColSpanSizes'\"\r\n [includeFullObject]=\"false\">\r\n </eqp-select>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2\">\r\n <mat-label> Label css </mat-label>\r\n <mat-form-field>\r\n <input name=\"LabelstyleCSS\" formControlName=\"LabelstyleCSS\" matInput\r\n [(ngModel)]=\"field.LabelstyleCSS\" spellcheck=\"false\" autocomplete=\"off\"(keypress)=\"omit_special_char($event)\" (focusout)=\"stringSanitizer(field.LabelstyleCSS)\">\r\n <mat-error>\r\n {{ getFormValidationErrors('LabelstyleCSS') }}\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2\">\r\n <mat-label> Field css </mat-label>\r\n <mat-form-field>\r\n <input name=\"FieldstyleCSS\" formControlName=\"FieldstyleCSS\" matInput\r\n [(ngModel)]=\"field.FieldstyleCSS\" spellcheck=\"false\" autocomplete=\"off\" (keypress)=\"omit_special_char($event)\" (focusout)=\"stringSanitizer(field.FieldstyleCSS)\">\r\n <mat-error>\r\n {{ getFormValidationErrors('FieldstyleCSS') }}\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"col-sm-12 col-md-4 mt-2 align-self-center\">\r\n <mat-slide-toggle [(ngModel)]=\"field.Required\" formControlName=\"Required\" color=\"primary\">\r\n Obbligatorio\r\n </mat-slide-toggle>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2 align-self-center\">\r\n <mat-slide-toggle [(ngModel)]=\"field.Readonly\" formControlName=\"Readonly\" color=\"primary\">\r\n ReadOnly\r\n </mat-slide-toggle>\r\n </div>\r\n\r\n \r\n <div class=\"col-sm-12 col-md-4 mt-2\">\r\n <mat-label> VisibleIf </mat-label>\r\n <mat-form-field>\r\n <input name=\"VisibleIf\" formControlName=\"VisibleIf\" matInput [(ngModel)]=\"field.VisibleIf\"\r\n (click)=\"openVisibleIfDialog()\" spellcheck=\"false\" autocomplete=\"off\" (keypress)=\"omit_special_char($event)\" (focusout)=\"stringSanitizer(field.VisibleIf)\">\r\n <mat-error>\r\n {{ getFormValidationErrors('VisibleIf') }}\r\n </mat-error>\r\n </mat-form-field>\r\n <!-- <mat-form-field>\r\n <input name=\"VisibleIf\" formControlName=\"VisibleIf\" matInput [(ngModel)]=\"field.VisibleIf\"\r\n [matAutocomplete]=\"VisibleIfAutocomplete\" (keyup)=\"setVisibleIfAutocompleteOptions($event)\"\r\n (focus)=\"setVisibleIfAutocompleteOptions(null)\" (focusout)=\"stringSanitizer(field.VisibleIf)\">\r\n <mat-autocomplete #VisibleIfAutocomplete=\"matAutocomplete\">\r\n <mat-option *ngFor=\"let option of VisibleIfAutocompleteOptions\" [value]=\"option.value\">\r\n {{option.label}}\r\n </mat-option>\r\n </mat-autocomplete>\r\n </mat-form-field> -->\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2 align-self-center\"\r\n [hidden]=\"(field.VisibleIf != null || field.VisibleIf != undefined) && field.VisibleIf != ''\">\r\n <div class=\" align-self-center\">\r\n <mat-slide-toggle [(ngModel)]=\"field.InListView\" formControlName=\"InListView\" color=\"primary\"\r\n [disabled]=\"fieldFormGroup.controls['InListView'].disabled\">\r\n Visibile\r\n </mat-slide-toggle>\r\n </div>\r\n </div>\r\n <ng-container *ngTemplateOutlet=\"fieldTypeFormTemplate\">\r\n </ng-container>\r\n </div>\r\n </form>\r\n </div>\r\n <div class=\"containerFooter\">\r\n <div class=\"d-flex justify-content-end mt-2 mb-1\">\r\n <div class=\"buttonsForm\">\r\n <button class=\"btn mat-raised-button cancel\" (click)=\"saveAndExitAddField(false)\" type=\"button\">\r\n Annulla\r\n </button>\r\n <button class=\"mr-2 save\" mat-raised-button color=\"primary\" (click)=\"saveAndExitAddField(true)\"\r\n [disabled]=\"disableSaveField()\" type=\"button\">\r\n Salva\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<!-- FORM PROPRIET\u00C0 CAMPI DI TESTO -->\r\n<ng-template #textFieldFormTemplate>\r\n <div class=\"col-sm-12 col-md-4\">\r\n <mat-label>Maschera</mat-label>\r\n <eqp-select [enumData]=\"TextMaskEnum\" [(ngModelInput)]=\"field.TextMask\" [formGroupInput]=\"fieldFormGroup\"\r\n [formControlNameInput]=\"'TextMask'\">\r\n </eqp-select>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4\" [formGroup]=\"fieldFormGroup\">\r\n <mat-label> Lunghezza minima </mat-label>\r\n <mat-form-field>\r\n <input id=\"lengthMin\" formControlName=\"MinLenght\" type=\"number\" [min]=\"0\" matInput\r\n [(ngModel)]=\"field.MinLenght\" spellcheck=\"false\" autocomplete=\"off\" (keypress)=\"omit_special_char($event)\" (focusout)=\"stringSanitizer(field.MinLenght)\">\r\n <mat-error>\r\n {{ getFormValidationErrors('MinLenght') }}\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2 align-self-center\" [formGroup]=\"fieldFormGroup\" [hidden]=\"field.Readonly\" >\r\n <mat-slide-toggle [(ngModel)]=\"field.Microphone\" formControlName=\"Microphone\" color=\"primary\">\r\n Speech-To-Text\r\n </mat-slide-toggle>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4\" [formGroup]=\"fieldFormGroup\">\r\n <mat-label> Lunghezza massima </mat-label>\r\n <mat-form-field>\r\n <input id=\"lengthMax\" formControlName=\"MaxLenght\" type=\"number\" [min]=\"0\" matInput\r\n [(ngModel)]=\"field.MaxLenght\" spellcheck=\"false\" autocomplete=\"off\" (keypress)=\"omit_special_char($event)\" (focusout)=\"stringSanitizer(field.MaxLenght)\">\r\n <mat-error>\r\n {{ getFormValidationErrors('MaxLenght') }}\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n</ng-template>\r\n\r\n<!-- FORM PROPRIET\u00C0 CAMPI AREA DI TESTO -->\r\n<ng-template #textareaFieldFormTemplate>\r\n <div class=\"col-sm-12 col-md-4 mt-2\" [formGroup]=\"fieldFormGroup\">\r\n <mat-label> Righe </mat-label>\r\n <mat-form-field class=\"righe\">\r\n <input id=\"rows\" formControlName=\"Rows\" type=\"number\" [min]=\"0\" matInput [(ngModel)]=\"field.Rows\" spellcheck=\"false\" autocomplete=\"off\" (keypress)=\"omit_special_char($event)\" (focusout)=\"stringSanitizer(field.Rows)\">\r\n <mat-error>\r\n {{ getFormValidationErrors('Rows') }}\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2 align-self-center\" [formGroup]=\"fieldFormGroup\" [hidden]=\"field.Readonly\" >\r\n <mat-slide-toggle [(ngModel)]=\"field.Microphone\" formControlName=\"Microphone\" color=\"primary\">\r\n Speech-To-Text\r\n </mat-slide-toggle>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2\" [formGroup]=\"fieldFormGroup\">\r\n <mat-label> Lunghezza minima </mat-label>\r\n <mat-form-field>\r\n <input id=\"lengthMin\" formControlName=\"MinLenght\" type=\"number\" [min]=\"0\" matInput\r\n [(ngModel)]=\"field.MinLenght\" spellcheck=\"false\" autocomplete=\"off\" (keypress)=\"omit_special_char($event)\" (focusout)=\"stringSanitizer(field.MinLenght)\">\r\n <mat-error>\r\n {{ getFormValidationErrors('MinLenght') }}\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2\" [formGroup]=\"fieldFormGroup\">\r\n <mat-label> Lunghezza massima </mat-label>\r\n <mat-form-field>\r\n <input id=\"lengthMax\" formControlName=\"MaxLenght\" type=\"number\" [min]=\"0\" matInput\r\n [(ngModel)]=\"field.MaxLenght\" spellcheck=\"false\" autocomplete=\"off\" (keypress)=\"omit_special_char($event)\" (focusout)=\"stringSanitizer(field.MaxLenght)\">\r\n <mat-error>\r\n {{ getFormValidationErrors('MaxLenght') }}\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n</ng-template>\r\n\r\n<!-- FORM PROPRIET\u00C0 CAMPI BOOLEANI -->\r\n<ng-template #booleadFieldFormTemplate>\r\n <div class=\"col-sm-12 col-md-4 mt-2 align-self-center\" [formGroup]=\"fieldFormGroup\">\r\n <mat-slide-toggle [(ngModel)]=\"field.IsTristate\" formControlName=\"IsTristate\" color=\"primary\">\r\n A tre stati\r\n </mat-slide-toggle>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2\">\r\n <mat-label>Tipo di presentazione *</mat-label>\r\n <eqp-select [enumData]=\"BoolPresentantioEnum\" [(ngModelInput)]=\"field.PresetationType\" required\r\n [showCancelButton]=\"false\" [formGroupInput]=\"fieldFormGroup\" [formControlNameInput]=\"'PresetationType'\">\r\n </eqp-select>\r\n </div>\r\n</ng-template>\r\n\r\n<!-- FORM PROPRIET\u00C0 CAMPI DATA -->\r\n<ng-template #dateFieldFormTemplate>\r\n <div class=\"col-sm-12 col-md-4 mt-2\">\r\n <mat-label>Tipo di data</mat-label>\r\n <eqp-select [enumData]=\"DateTimeTypeEnum\" [(ngModelInput)]=\"field.IsOnlyDate\" required\r\n [showCancelButton]=\"false\" [formGroupInput]=\"fieldFormGroup\" [formControlNameInput]=\"'IsOnlyDate'\">\r\n </eqp-select>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2\" [formGroup]=\"fieldFormGroup\">\r\n <mat-label> Formato </mat-label>\r\n <mat-form-field>\r\n <input formControlName=\"DateFormat\" matInput [(ngModel)]=\"field.DateFormat\"\r\n [matTooltip]=\"'Indicare il formato seguendo la guida del pacchetto momentjs.'\" spellcheck=\"false\" autocomplete=\"off\" (keypress)=\"omit_special_char($event)\" (focusout)=\"stringSanitizer(field.Formato)\">\r\n <mat-error>\r\n <!-- {{ getFormValidationErrors('Formato') }} -->\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2\">\r\n <mat-label> Data minima </mat-label>\r\n <eqp-datetimepicker *ngIf=\"field.IsOnlyDate == DateTimeTypeEnum['Solo data']\" class=\"date\"\r\n [(ngModelInput)]=\"field.MinDate\" [formGroupInput]=\"fieldFormGroup\" [formControlNameInput]=\"'MinDate'\"\r\n [pickerMode]=\"pickerModeEnum.DATE\" [UTCDate]=\"true\" [showSeconds]=\"false\">\r\n </eqp-datetimepicker>\r\n <eqp-datetimepicker *ngIf=\"field.IsOnlyDate == DateTimeTypeEnum['Data e ora']\" class=\"date\"\r\n [(ngModelInput)]=\"field.MinDate\" [formGroupInput]=\"fieldFormGroup\" [formControlNameInput]=\"'MinDate'\"\r\n [pickerMode]=\"pickerModeEnum.DATETIME\" [UTCDate]=\"true\" [showSeconds]=\"false\">\r\n </eqp-datetimepicker>\r\n <eqp-datetimepicker *ngIf=\"field.IsOnlyDate == DateTimeTypeEnum['Solo orario']\" class=\"date\"\r\n [(ngModelInput)]=\"field.MinDate\" [formGroupInput]=\"fieldFormGroup\" [formControlNameInput]=\"'MinDate'\"\r\n [pickerMode]=\"pickerModeEnum.TIME\" [UTCDate]=\"true\" [showSeconds]=\"false\">\r\n </eqp-datetimepicker>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2\">\r\n <mat-label> Data massima </mat-label>\r\n <eqp-datetimepicker *ngIf=\"field.IsOnlyDate == DateTimeTypeEnum['Solo data']\" class=\"date\"\r\n [(ngModelInput)]=\"field.MaxDate\" [formGroupInput]=\"fieldFormGroup\" [formControlNameInput]=\"'MaxDate'\"\r\n [pickerMode]=\"pickerModeEnum.DATE\" [UTCDate]=\"true\" [showSeconds]=\"false\">\r\n </eqp-datetimepicker>\r\n <eqp-datetimepicker *ngIf=\"field.IsOnlyDate == DateTimeTypeEnum['Data e ora']\" class=\"date\"\r\n [(ngModelInput)]=\"field.MaxDate\" [formGroupInput]=\"fieldFormGroup\" [formControlNameInput]=\"'MaxDate'\"\r\n [pickerMode]=\"pickerModeEnum.DATETIME\" [UTCDate]=\"true\" [showSeconds]=\"false\">\r\n </eqp-datetimepicker>\r\n <eqp-datetimepicker *ngIf=\"field.IsOnlyDate == DateTimeTypeEnum['Solo orario']\" class=\"date\"\r\n [(ngModelInput)]=\"field.MaxDate\" [formGroupInput]=\"fieldFormGroup\" [formControlNameInput]=\"'MaxDate'\"\r\n [pickerMode]=\"pickerModeEnum.TIME\" [UTCDate]=\"true\" [showSeconds]=\"false\">\r\n </eqp-datetimepicker>\r\n </div>\r\n</ng-template>\r\n\r\n<!-- FORM PROPRIET\u00C0 CAMPI NUMERICI -->\r\n<ng-template #numericFieldFormTemplate>\r\n <div class=\"col-sm-12 col-md-4 mt-2 align-self-center\" [formGroup]=\"fieldFormGroup\">\r\n <mat-slide-toggle [(ngModel)]=\"field.IsInteger\" formControlName=\"IsInteger\" color=\"primary\">\r\n Valore intero\r\n </mat-slide-toggle>\r\n </div>\r\n <div *ngIf=\"!field.IsInteger\" class=\"col-sm-12 col-md-4 mt-2\" [formGroup]=\"fieldFormGroup\">\r\n <mat-label> Separatore decimali </mat-label>\r\n <mat-form-field>\r\n <input formControlName=\"DecimalSeparator\" matInput [(ngModel)]=\"field.DecimalSeparator\" spellcheck=\"false\" autocomplete=\"off\" (keypress)=\"omit_special_char($event)\" (focusout)=\"stringSanitizer(field.DecimalSeparator)\">\r\n <mat-error>\r\n {{ getFormValidationErrors('DecimalSeparator') }}\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div *ngIf=\"!field.IsInteger\" class=\"col-sm-12 col-md-4 mt-2\" [formGroup]=\"fieldFormGroup\">\r\n <mat-label> Precisione decimali </mat-label>\r\n <mat-form-field>\r\n <input formControlName=\"DecimalPrecision\" type=\"number\" [min]=\"0\" matInput\r\n [(ngModel)]=\"field.DecimalPrecision\" spellcheck=\"false\" autocomplete=\"off\" (keypress)=\"omit_special_char($event)\" (focusout)=\"stringSanitizer(field.DecimalPrecision)\">\r\n <mat-error>\r\n {{ getFormValidationErrors('DecimalPrecision') }}\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2\" [formGroup]=\"fieldFormGroup\">\r\n <mat-label> Separatore migliaia </mat-label>\r\n <mat-form-field>\r\n <input formControlName=\"ThousandsSeparator\" matInput [(ngModel)]=\"field.ThousandsSeparator\" spellcheck=\"false\" autocomplete=\"off\" (keypress)=\"omit_special_char($event)\" (focusout)=\"stringSanitizer(field.ThousandsSeparator)\">\r\n <mat-error>\r\n {{ getFormValidationErrors('ThousandsSeparator') }}\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2\" [formGroup]=\"fieldFormGroup\">\r\n <mat-label> Simbolo valuta </mat-label>\r\n <mat-form-field>\r\n <input formControlName=\"CurrencySymbol\" matInput [(ngModel)]=\"field.CurrencySymbol\" spellcheck=\"false\" autocomplete=\"off\"(keypress)=\"omit_special_char($event)\" (focusout)=\"stringSanitizer(field.CurrencySymbol)\">\r\n <mat-error>\r\n {{ getFormValidationErrors('CurrencySymbol') }}\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2\" [formGroup]=\"fieldFormGroup\">\r\n <mat-label> Unit\u00E0 di misura </mat-label>\r\n <mat-form-field>\r\n <input formControlName=\"MeasureUnit\" matInput [(ngModel)]=\"field.MeasureUnit\" spellcheck=\"false\" autocomplete=\"off\"(keypress)=\"omit_special_char($event)\" (focusout)=\"stringSanitizer(field.MeasureUnit)\">\r\n <mat-error>\r\n {{ getFormValidationErrors('MeasureUnit') }}\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2\" [formGroup]=\"fieldFormGroup\">\r\n <mat-label> Valore minimo </mat-label>\r\n <mat-form-field>\r\n <input formControlName=\"MinValue\" type=\"number\" [min]=\"0\" matInput [(ngModel)]=\"field.MinValue\" spellcheck=\"false\" autocomplete=\"off\"(keypress)=\"omit_special_char($event)\" (focusout)=\"stringSanitizer(field.MinValue)\">\r\n <mat-error>\r\n {{ getFormValidationErrors('MinValue') }}\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2\" [formGroup]=\"fieldFormGroup\">\r\n <mat-label> Valore massimo </mat-label>\r\n <mat-form-field>\r\n <input formControlName=\"MaxValue\" type=\"number\" [min]=\"0\" matInput [(ngModel)]=\"field.MaxValue\" spellcheck=\"false\" autocomplete=\"off\" (keypress)=\"omit_special_char($event)\" (focusout)=\"stringSanitizer(field.MaxValue)\">\r\n <mat-error>\r\n {{ getFormValidationErrors('MaxValue') }}\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n</ng-template>\r\n\r\n<!-- FORM PROPRIET\u00C0 CAMPI ALLEGATO -->\r\n<ng-template #attachmentFieldFormTemplate>\r\n <div class=\"col-sm-12 col-md-4 mt-2 align-self-center\" [formGroup]=\"fieldFormGroup\">\r\n <mat-slide-toggle [(ngModel)]=\"field.IsMultiAttach\" formControlName=\"IsMultiAttach\" color=\"primary\">\r\n Allegati multipli\r\n </mat-slide-toggle>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2\">\r\n <mat-label>Estensioni accettate</mat-label>\r\n <eqp-select [arrayData]=\"AvailableFileExtensions.concat(AvailableImageExtensions)\"\r\n [(ngModelInput)]=\"field.AllowedExtensions\" [arrayKeyProperty]=\"'key'\" [arrayValueProperty]=\"'value'\"\r\n [isMultiSelect]=\"true\" [formGroupInput]=\"fieldFormGroup\" [formControlNameInput]=\"'AllowedExtensions'\"\r\n [includeFullObject]=\"false\">\r\n </eqp-select>\r\n </div>\r\n <!-- <div class=\"col-sm-12 mt-2\">\r\n <div class=\"row mt-2\">\r\n <div class=\"col-sm-12 col-md-6\">\r\n <div class=\"header-title-standard\">\r\n Elenco metadata\r\n </div>\r\n </div>\r\n <div class=\"col-sm-12 col-md-6 text-right buttonsForm\">\r\n <button class=\"btn btn-primary save\" mat-raised-button color=\"primary\" type=\"button\"\r\n (click)=\"openMetadataDialog()\">\r\n <mat-icon>add</mat-icon>\r\n <span style=\"margin-left: 10px;\">Aggiungi allegato</span>\r\n </button>\r\n </div>\r\n </div>\r\n <eqp-table #metadataFieldsTable [createMatCard]=\"false\" [columns]=\"metadataColumns\"\r\n [data]=\"field.MetadataFields\" [emptyTableMessage]=\"'Nessun metadata inserito'\" [searchText]=\"'Cerca'\">\r\n </eqp-table>\r\n </div> -->\r\n</ng-template>\r\n\r\n<!-- FORM PROPRIET\u00C0 CAMPI IMMAGINE -->\r\n<ng-template #imageFieldFormTemplate>\r\n <div class=\"col-sm-12 col-md-4 mt-2 mb-2 align-self-center\" [formGroup]=\"fieldFormGroup\">\r\n <mat-slide-toggle [(ngModel)]=\"field.ImageIsContextualAttachment\" formControlName=\"ImageIsContextualAttachment\"\r\n color=\"primary\" (ngModelChange)=\"onImageIsContextualAttachmentChange()\">\r\n Immagine pre-caricata nel campo\r\n </mat-slide-toggle>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2 mb-2 align-self-center\" [formGroup]=\"fieldFormGroup\">\r\n <mat-slide-toggle [(ngModel)]=\"field.EnableDrawing\" formControlName=\"EnableDrawing\" color=\"primary\">\r\n Abilita il disegno\r\n </mat-slide-toggle>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2 align-self-center\" [formGroup]=\"fieldFormGroup\"\r\n *ngIf=\"!field.ImageIsContextualAttachment\">\r\n <mat-slide-toggle [(ngModel)]=\"field.AttachDefinition.IsMultiAttach\" formControlName=\"IsMultiAttach\"\r\n color=\"primary\">\r\n Immagini multiple\r\n </mat-slide-toggle>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2\" *ngIf=\"!field.ImageIsContextualAttachment\">\r\n <mat-label>Estensioni accettate</mat-label>\r\n <eqp-select [arrayData]=\"AvailableImageExtensions\" [(ngModelInput)]=\"field.AttachDefinition.AllowedExtensions\"\r\n [arrayKeyProperty]=\"'key'\" [arrayValueProperty]=\"'value'\" [isMultiSelect]=\"true\"\r\n [formGroupInput]=\"fieldFormGroup\" [formControlNameInput]=\"'AllowedExtensions'\" [includeFullObject]=\"false\">\r\n </eqp-select>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2\" [formGroup]=\"fieldFormGroup\" *ngIf=\"field.ImageIsContextualAttachment\">\r\n <mat-label> Nome immagine* </mat-label>\r\n <mat-form-field>\r\n <input formControlName=\"ImgName\" matInput [(ngModel)]=\"field.ImgName\" required spellcheck=\"false\" autocomplete=\"off\" (keypress)=\"omit_special_char($event)\" (focusout)=\"stringSanitizer(field.ImgName)\">\r\n <mat-error>\r\n {{ getFormValidationErrors('ImgName') }}\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-sm-12 col-md-8 mt-2\" [formGroup]=\"fieldFormGroup\" *ngIf=\"field.ImageIsContextualAttachment\">\r\n <eqp-attachments [attachmentsList]=\"field._contextualAttachments\" [showMatCard]=\"false\" [allowOnlyImages]=\"true\"\r\n [isDisabled]=\"false\" [showInlinePreview]=\"true\" [multipleAttachment]=\"false\" [showHeader]=\"false\"\r\n (localEditedAttachments)=\"catchContextualAttachmentChange($event)\" #contextualAttachmentEqpAttachments>\r\n </eqp-attachments>\r\n </div>\r\n <!-- <div class=\"col-sm-12 mt-2\">\r\n <div class=\"row mt-2\">\r\n <div class=\"col-sm-12 col-md-6\">\r\n <div class=\"header-title-standard\">\r\n Elenco metadata\r\n </div>\r\n </div>\r\n <div class=\"col-sm-12 col-md-6 text-right buttonsForm\">\r\n <button class=\"btn btn-primary save\" mat-raised-button color=\"primary\" type=\"button\"\r\n (click)=\"openMetadataDialog()\">\r\n <mat-icon>add</mat-icon>\r\n <span style=\"margin-left: 10px;\">Aggiungi</span>\r\n </button>\r\n </div>\r\n </div>\r\n <eqp-table #metadataFieldsTable [createMatCard]=\"false\" [columns]=\"metadataColumns\"\r\n [data]=\"field.AttachDefinition.MetadataFields\" [emptyTableMessage]=\"'Nessun metadata inserito'\"\r\n [searchText]=\"'Cerca'\">\r\n </eqp-table>\r\n </div> -->\r\n</ng-template>\r\n\r\n<!-- FORM PROPRIET\u00C0 CAMPI LISTA DI VALORI -->\r\n<ng-template #listValueFieldFormTemplate>\r\n <div class=\"col-sm-12 col-md-4 mt-2 align-self-center\" [formGroup]=\"fieldFormGroup\">\r\n <mat-slide-toggle [(ngModel)]=\"field.IsMultiChoiche\" formControlName=\"IsMultiChoiche\" color=\"primary\">\r\n Scelta multipla\r\n </mat-slide-toggle>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2\">\r\n <mat-label>Tipo di presentazione*</mat-label>\r\n <eqp-select [enumData]=\"ListPresentationEnum\" [(ngModelInput)]=\"field.PresentationMode\" required\r\n [showCancelButton]=\"false\" [formGroupInput]=\"fieldFormGroup\" [formControlNameInput]=\"'PresentationMode'\"\r\n (ngModelInputChange)=\"onPresentationModeChange()\">\r\n </eqp-select>\r\n </div>\r\n <div class=\"col-sm-12 mt-2\" *ngIf=\"field.PresentationMode != ListPresentationEnum.Immagini\">\r\n <div class=\"row\">\r\n <h4 class=\"key-value-list-section-title\"> </h4>\r\n <div class=\"col-md-4\">\r\n <mat-label> Label opzione (invio per confermare)</mat-label>\r\n <mat-form-field>\r\n <input matInput [(ngModel)]=\"keyValueObject.key\" (keyup)=\"onMultiSelectInputKeyup($event, null)\" spellcheck=\"false\" autocomplete=\"off\">\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-md-4\">\r\n <mat-label> Valore opzione (invio per confermare)</mat-label>\r\n <mat-form-field>\r\n <input matInput [(ngModel)]=\"keyValueObject.value\" (keyup)=\"onMultiSelectInputKeyup($event, null)\" spellcheck=\"false\" autocomplete=\"off\">\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-md-4 align-self-center\">\r\n <span class=\"mr-3\">Opzioni inserite:</span>\r\n <ul class=\"value-pairs-list\">\r\n <li *ngFor=\"let keyValuePair of getDictionaryKeyValue()\">\r\n <mat-icon class=\"mr-1\" (click)=\"deleteKeyFromDictionary(keyValuePair.key)\">close\r\n </mat-icon>\r\n <span><b>Label: </b> {{keyValuePair.key}} - <b>Valore: </b> {{keyValuePair.value}}</span>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-sm-12 col-md-12 mt-2\" *ngIf=\"field.PresentationMode == ListPresentationEnum.Immagini\">\r\n <eqp-attachments [attachmentsList]=\"field.ButtonImageList\" [showMatCard]=\"false\" [allowOnlyImages]=\"true\"\r\n [isDisabled]=\"false\" [showInlinePreview]=\"true\" [multipleAttachment]=\"true\" [showHeader]=\"false\"\r\n [allowedTypes]=\"[AttachmentType.FILE]\" (localEditedAttachments)=\"catchButtonImagesChange($event)\"\r\n (onComponentLoaded)=\"configureButtonImagesColumns($event)\">\r\n </eqp-attachments>\r\n </div>\r\n</ng-template>\r\n\r\n<!-- FORM PROPRIET\u00C0 CAMPI LOOKUP -->\r\n<ng-template #lookupFieldFormTemplate>\r\n <div class=\"col-sm-12 col-md-4 mt-2 align-self-center\" [formGroup]=\"fieldFormGroup\">\r\n <mat-slide-toggle [(ngModel)]=\"field.UseAsGetOrDiscard\" formControlName=\"UseAsGetOrDiscard\" color=\"primary\"\r\n matTooltip=\"Se true la lookup viene visualizzata in una modale per lo scegli scarta\">\r\n Usa per scegli o scarta\r\n </mat-slide-toggle>\r\n </div>\r\n <div class=\"col-sm-12 col-md-4 mt-2\" [formGroup]=\"fieldFormGroup\">\r\n <mat-label> Nome entit\u00E0 </mat-label>\r\n <mat-form-field matTooltip=\"Nome dell'entit\u00E0 relazionata\">\r\n <input formControlName=\"EntitySourceName\" required matInput [(ngModel)]=\"field.EntitySourceName\" spellcheck=\"false\" autocomplete=\"off\" (keypress)=\"omit_special_char($event)\" (focusout)=\"stringSanitizer(field.EntitySourceName)\">\r\n <mat-error>\r\n {{ getFormValidationErrors('EntitySourceName') }}\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-sm-12 mt-2\">\r\n <div class=\"row\">\r\n <div class=\"col-md-4\">\r\n <mat-label> Nomi dei campi (invio per confermare) </mat-label>\r\n <mat-form-field\r\n matTooltip=\"Elenco di campi ordinato che verr\u00E0 visualizzato nella lookup (premere invio per confermare)\">\r\n <input matInput (keyup)=\"onMultiSelectInputKeyup($event, 'FieldNames')\" spellcheck=\"false\" autocomplete=\"off\" >\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-md-8 align-self-center\">\r\n <span class=\"mr-3\">Nomi selezionati:</span>\r\n <div class=\"extension-container\" *ngFor=\"let extension of field.FieldNames; let i = index\">\r\n <span>{{extension}}</span>\r\n <mat-icon class=\"ml-1\" (click)=\"field.FieldNames.splice(i,1)\">close\r\n </mat-icon>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n<!-- DIALOG PER AGGIUNGERE UN METADATA NEI CAMPI DI TIPO ALLEGATO O IMMAGINE -->\r\n<!-- <ng-template #dialogMetadata>\r\n <eqp-dynamic-module-add-form-field [field]=\"selectedMetadata\" [availableFields]=\"availableFields\"\r\n [indexField]=\"indexSelectedMetadata\" (saveFieldEvent)=\"onSaveMetadata($event)\" [fieldTypesToExclude]=\"[6,7,10]\">\r\n </eqp-dynamic-module-add-form-field>\r\n</ng-template> -->\r\n\r\n<ng-template #buttonImagesKeyValueInputColumn let-row=\"row\" let-col=\"col\">\r\n <mat-form-field>\r\n <mat-label> {{col.display}} </mat-label>\r\n <input matInput [(ngModel)]=\"row[col.key]\" required spellcheck=\"false\" autocomplete=\"off\">\r\n </mat-form-field>\r\n</ng-template>\r\n<!--DIALOG PER SEMPLIFICARE LA SCRITTURA DEL CAMPO FORMULA-->\r\n<ng-template #dialogFormula>\r\n <eqp-dynamic-module-add-formula-component>\r\n </eqp-dynamic-module-add-formula-component>\r\n</ng-template>", styles: [".mat-badge-content{font-weight:600;font-size:12px;font-family:Roboto,Helvetica Neue,sans-serif}.mat-badge-small .mat-badge-content{font-size:9px}.mat-badge-large .mat-badge-content{font-size:24px}.mat-h1,.mat-headline,.mat-typography .mat-h1,.mat-typography .mat-headline,.mat-typography h1{font:400 24px/32px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;margin:0 0 16px}.mat-h2,.mat-title,.mat-typography .mat-h2,.mat-typography .mat-title,.mat-typography h2{font:500 20px/32px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;margin:0 0 16px}.mat-h3,.mat-subheading-2,.mat-typography .mat-h3,.mat-typography .mat-subheading-2,.mat-typography h3{font:400 16px/28px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;margin:0 0 16px}.mat-h4,.mat-subheading-1,.mat-typography .mat-h4,.mat-typography .mat-subheading-1,.mat-typography h4{font:400 15px/24px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;margin:0 0 16px}.mat-h5,.mat-typography .mat-h5,.mat-typography h5{font:400 11.62px/20px Roboto,Helvetica Neue,sans-serif;margin:0 0 12px}.mat-h6,.mat-typography .mat-h6,.mat-typography h6{font:400 9.38px/20px Roboto,Helvetica Neue,sans-serif;margin:0 0 12px}.mat-body-strong,.mat-body-2,.mat-typography .mat-body-strong,.mat-typography .mat-body-2{font:500 14px/24px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.mat-body,.mat-body-1,.mat-typography .mat-body,.mat-typography .mat-body-1,.mat-typography{font:400 14px/20px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.mat-body p,.mat-body-1 p,.mat-typography .mat-body p,.mat-typography .mat-body-1 p,.mat-typography p{margin:0 0 12px}.mat-small,.mat-caption,.mat-typography .mat-small,.mat-typography .mat-caption{font:400 12px/20px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.mat-display-4,.mat-typography .mat-display-4{font:300 112px/112px Roboto,Helvetica Neue,sans-serif;letter-spacing:-.05em;margin:0 0 56px}.mat-display-3,.mat-typography .mat-display-3{font:400 56px/56px Roboto,Helvetica Neue,sans-serif;letter-spacing:-.02em;margin:0 0 64px}.mat-display-2,.mat-typography .mat-display-2{font:400 45px/48px Roboto,Helvetica Neue,sans-serif;letter-spacing:-.005em;margin:0 0 64px}.mat-display-1,.mat-typography .mat-display-1{font:400 34px/40px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;margin:0 0 64px}.mat-bottom-sheet-container{font:400 14px/20px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.mat-button,.mat-raised-button,.mat-icon-button,.mat-stroked-button,.mat-flat-button,.mat-fab,.mat-mini-fab{font-family:Roboto,Helvetica Neue,sans-serif;font-size:14px;font-weight:500}.mat-button-toggle,.mat-card{font-family:Roboto,Helvetica Neue,sans-serif}.mat-card-title{font-size:24px;font-weight:500}.mat-card-header .mat-card-title{font-size:20px}.mat-card-subtitle,.mat-card-content{font-size:14px}.mat-checkbox{font-family:Roboto,Helvetica Neue,sans-serif}.mat-checkbox-layout .mat-checkbox-label{line-height:24px}.mat-chip{font-size:14px;font-weight:500}.mat-chip .mat-chip-trailing-icon.mat-icon,.mat-chip .mat-chip-remove.mat-icon{font-size:18px}.mat-table{font-family:Roboto,Helvetica Neue,sans-serif}.mat-header-cell{font-size:12px;font-weight:500}.mat-cell,.mat-footer-cell{font-size:14px}.mat-calendar{font-family:Roboto,Helvetica Neue,sans-serif}.mat-calendar-body{font-size:13px}.mat-calendar-body-label,.mat-calendar-period-button{font-size:14px;font-weight:500}.mat-calendar-table-header th{font-size:11px;font-weight:400}.mat-dialog-title{font:500 20px/32px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.mat-expansion-panel-header{font-family:Roboto,Helvetica Neue,sans-serif;font-size:15px;font-weight:400}.mat-expansion-panel-content{font:400 14px/20px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.mat-form-field{font-size:inherit;font-weight:400;line-height:1.125;font-family:Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.mat-form-field-wrapper{padding-bottom:1.34375em}.mat-form-field-prefix .mat-icon,.mat-form-field-suffix .mat-icon{font-size:150%;line-height:1.125}.mat-form-field-prefix .mat-icon-button,.mat-form-field-suffix .mat-icon-button{height:1.5em;width:1.5em}.mat-form-field-prefix .mat-icon-button .mat-icon,.mat-form-field-suffix .mat-icon-button .mat-icon{height:1.125em;line-height:1.125}.mat-form-field-infix{padding:.5em 0;border-top:.84375em solid transparent}.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.34375em) scale(.75);width:133.3333333333%}.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.34374em) scale(.75);width:133.3333433333%}.mat-form-field-label-wrapper{top:-.84375em;padding-top:.84375em}.mat-form-field-label{top:1.34375em}.mat-form-field-underline{bottom:1.34375em}.mat-form-field-subscript-wrapper{font-size:75%;margin-top:.6666666667em;top:calc(100% - 1.7916666667em)}.mat-form-field-appearance-legacy .mat-form-field-wrapper{padding-bottom:1.25em}.mat-form-field-appearance-legacy .mat-form-field-infix{padding:.4375em 0}.mat-form-field-appearance-legacy.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.001px);width:133.3333333333%}.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-form-field-autofill-control:-webkit-autofill+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.00101px);width:133.3333433333%}.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.00102px);width:133.3333533333%}.mat-form-field-appearance-legacy .mat-form-field-label{top:1.28125em}.mat-form-field-appearance-legacy .mat-form-field-underline{bottom:1.25em}.mat-form-field-appearance-legacy .mat-form-field-subscript-wrapper{margin-top:.5416666667em;top:calc(100% - 1.6666666667em)}@media print{.mat-form-field-appearance-legacy.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.28122em) scale(.75)}.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-form-field-autofill-control:-webkit-autofill+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.28121em) scale(.75)}.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.2812em) scale(.75)}}.mat-form-field-appearance-fill .mat-form-field-infix{padding:.25em 0 .75em}.mat-form-field-appearance-fill .mat-form-field-label{top:1.09375em;margin-top:-.5em}.mat-form-field-appearance-fill.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,.mat-form-field-appearance-fill.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-.59375em) scale(.75);width:133.3333333333%}.mat-form-field-appearance-fill.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-.59374em) scale(.75);width:133.3333433333%}.mat-form-field-appearance-outline .mat-form-field-infix{padding:1em 0}.mat-form-field-appearance-outline .mat-form-field-label{top:1.84375em;margin-top:-.25em}.mat-form-field-appearance-outline.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,.mat-form-field-appearance-outline.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.59375em) scale(.75);width:133.3333333333%}.mat-form-field-appearance-outline.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.59374em) scale(.75);width:133.3333433333%}.mat-grid-tile-header,.mat-grid-tile-footer{font-size:14px}.mat-grid-tile-header .mat-line,.mat-grid-tile-footer .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-grid-tile-header .mat-line:nth-child(n+2),.mat-grid-tile-footer .mat-line:nth-child(n+2){font-size:12px}input.mat-input-element{margin-top:-.0625em}.mat-menu-item{font-family:Roboto,Helvetica Neue,sans-serif;font-size:14px;font-weight:400}.mat-paginator,.mat-paginator-page-size .mat-select-trigger{font-family:Roboto,Helvetica Neue,sans-serif;font-size:12px}.mat-radio-button,.mat-select{font-family:Roboto,Helvetica Neue,sans-serif}.mat-select-trigger{height:1.125em}.mat-slide-toggle-content{font-family:Roboto,Helvetica Neue,sans-serif}.mat-slider-thumb-label-text{font-family:Roboto,Helvetica Neue,sans-serif;font-size:12px;font-weight:500}.mat-stepper-vertical,.mat-stepper-horizontal{font-family:Roboto,Helvetica Neue,sans-serif}.mat-step-label{font-size:14px;font-weight:400}.mat-step-sub-label-error{font-weight:400}.mat-step-label-error{font-size:14px}.mat-step-label-selected{font-size:14px;font-weight:500}.mat-tab-group{font-family:Roboto,Helvetica Neue,sans-serif}.mat-tab-label,.mat-tab-link{font-family:Roboto,Helvetica Neue,sans-serif;font-size:14px;font-weight:500}.mat-toolbar,.mat-toolbar h1,.mat-toolbar h2,.mat-toolbar h3,.mat-toolbar h4,.mat-toolbar h5,.mat-toolbar h6{font:500 20px/32px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;margin:0}.mat-tooltip{font-family:Roboto,Helvetica Neue,sans-serif;font-size:10px;padding-top:6px;padding-bottom:6px}.mat-tooltip-handset{font-size:14px;padding-top:8px;padding-bottom:8px}.mat-list-item,.mat-list-option{font-family:Roboto,Helvetica Neue,sans-serif}.mat-list-base .mat-list-item{font-size:16px}.mat-list-base .mat-list-item .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list-base .mat-list-item .mat-line:nth-child(n+2){font-size:14px}.mat-list-base .mat-list-option{font-size:16px}.mat-list-base .mat-list-option .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list-base .mat-list-option .mat-line:nth-child(n+2){font-size:14px}.mat-list-base .mat-subheader{font-family:Roboto,Helvetica Neue,sans-serif;font-size:14px;font-weight:500}.mat-list-base[dense] .mat-list-item{font-size:12px}.mat-list-base[dense] .mat-list-item .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list-base[dense] .mat-list-item .mat-line:nth-child(n+2){font-size:12px}.mat-list-base[dense] .mat-list-option{font-size:12px}.mat-list-base[dense] .mat-list-option .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list-base[dense] .mat-list-option .mat-line:nth-child(n+2){font-size:12px}.mat-list-base[dense] .mat-subheader{font-family:Roboto,Helvetica Neue,sans-serif;font-size:12px;font-weight:500}.mat-option{font-family:Roboto,Helvetica Neue,sans-serif;font-size:16px}.mat-optgroup-label{font:500 14px/24px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.mat-simple-snackbar{font-family:Roboto,Helvetica Neue,sans-serif;font-size:14px}.mat-simple-snackbar-action{line-height:1;font-family:inherit;font-size:inherit;font-weight:500}.mat-tree{font-family:Roboto,Helvetica Neue,sans-serif}.mat-tree-node,.mat-nested-tree-node{font-weight:400;font-size:14px}.mat-ripple{overflow:hidden;position:relative}.mat-ripple:not(:empty){transform:translateZ(0)}.mat-ripple.mat-ripple-unbounded{overflow:visible}.mat-ripple-element{position:absolute;border-radius:50%;pointer-events:none;transition:opacity,transform 0ms cubic-bezier(0,0,.2,1);transform:scale3d(0,0,0)}.cdk-high-contrast-active .mat-ripple-element{display:none}.cdk-visually-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap;outline:0;-webkit-appearance:none;-moz-appearance:none;left:0}[dir=rtl] .cdk-visually-hidden{left:auto;right:0}.cdk-overlay-container,.cdk-global-overlay-wrapper{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;z-index:1000;display:flex;max-width:100%;max-height:100%}.cdk-overlay-backdrop{position:absolute;inset:0;z-index:1000;pointer-events:auto;-webkit-tap-highlight-color:transparent;transition:opacity .4s cubic-bezier(.25,.8,.25,1);opacity:0}.cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:1}.cdk-high-contrast-active .cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:.6}.cdk-overlay-dark-backdrop{background:rgba(0,0,0,.32)}.cdk-overlay-transparent-backdrop{transition:visibility 1ms linear,opacity 1ms linear;visibility:hidden;opacity:1}.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing{opacity:0;visibility:visible}.cdk-overlay-backdrop-noop-animation{transition:none}.cdk-overlay-connected-position-bounding-box{position:absolute;z-index:1000;display:flex;flex-direction:column;min-width:1px;min-height:1px}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}textarea.cdk-textarea-autosize{resize:none}textarea.cdk-textarea-autosize-measuring{padding:2px 0!important;box-sizing:content-box!important;height:auto!important;overflow:hidden!important}textarea.cdk-textarea-autosize-measuring-firefox{padding:2px 0!important;box-sizing:content-box!important;height:0!important}@keyframes cdk-text-field-autofill-start{}@keyframes cdk-text-field-autofill-end{}.cdk-text-field-autofill-monitored:-webkit-autofill{animation:cdk-text-field-autofill-start 0s 1ms}.cdk-text-field-autofill-monitored:not(:-webkit-autofill){animation:cdk-text-field-autofill-end 0s 1ms}.mat-focus-indicator{position:relative}.mat-focus-indicator:before{inset:0;position:absolute;box-sizing:border-box;pointer-events:none;display:none;display:var(--mat-focus-indicator-display, none);border:3px solid transparent;border:var(--mat-focus-indicator-border-width, 3px) var(--mat-focus-indicator-border-style, solid) var(--mat-focus-indicator-border-color, transparent);border-radius:4px;border-radius:var(--mat-focus-indicator-border-radius, 4px)}.mat-focus-indicator:focus:before{content:\"\"}.cdk-high-contrast-active{--mat-focus-indicator-display: block}.mat-mdc-focus-indicator{position:relative}.mat-mdc-focus-indicator:before{inset:0;position:absolute;box-sizing:border-box;pointer-events:none;display:none;display:var(--mat-mdc-focus-indicator-display, none);border:3px solid transparent;border:var(--mat-mdc-focus-indicator-border-width, 3px) var(--mat-mdc-focus-indicator-border-style, solid) var(--mat-mdc-focus-indicator-border-color, transparent);border-radius:4px;border-radius:var(--mat-mdc-focus-indicator-border-radius, 4px)}.mat-mdc-focus-indicator:focus:before{content:\"\"}.cdk-high-contrast-active{--mat-mdc-focus-indicator-display: block}.mat-autocomplete-panel{background:white;color:#000000de}.mat-autocomplete-panel:not([class*=mat-elevation-z]){box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f}.mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover){background:white}.mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover):not(.mat-option-disabled){color:#000000de}.mat-badge{position:relative}.mat-badge.mat-badge{overflow:visible}.mat-badge-hidden .mat-badge-content{display:none}.mat-badge-content{position:absolute;text-align:center;display:inline-block;border-radius:50%;transition:transform .2s ease-in-out;transform:scale(.6);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;pointer-events:none}.ng-animate-disabled .mat-badge-content,.mat-badge-content._mat-animation-noopable{transition:none}.mat-badge-content.mat-badge-active{transform:none}.mat-badge-small .mat-badge-content{width:16px;height:16px;line-height:16px}.mat-badge-small.mat-badge-above .mat-badge-content{top:-8px}.mat-badge-small.mat-badge-below .mat-badge-content{bottom:-8px}.mat-badge-small.mat-badge-before .mat-badge-content{left:-16px}[dir=rtl] .mat-badge-small.mat-badge-before .mat-badge-content{left:auto;right:-16px}.mat-badge-small.mat-badge-after .mat-badge-content{right:-16px}[dir=rtl] .mat-badge-small.mat-badge-after .mat-badge-content{right:auto;left:-16px}.mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-8px}[dir=rtl] .mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-8px}.mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-8px}[dir=rtl] .mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-8px}.mat-badge-medium .mat-badge-content{width:22px;height:22px;line-height:22px}.mat-badge-medium.mat-badge-above .mat-badge-content{top:-11px}.mat-badge-medium.mat-badge-below .mat-badge-content{bottom:-11px}.mat-badge-medium.mat-badge-before .mat-badge-content{left:-22px}[dir=rtl] .mat-badge-medium.mat-badge-before .mat-badge-content{left:auto;right:-22px}.mat-badge-medium.mat-badge-after .mat-badge-content{right:-22px}[dir=rtl] .mat-badge-medium.mat-badge-after .mat-badge-content{right:auto;left:-22px}.mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-11px}[dir=rtl] .mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-11px}.mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-11px}[dir=rtl] .mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-11px}.mat-badge-large .mat-badge-content{width:28px;height:28px;line-height:28px}.mat-badge-large.mat-badge-above .mat-badge-content{top:-14px}.mat-badge-large.mat-badge-below .mat-badge-content{bottom:-14px}.mat-badge-large.mat-badge-before .mat-badge-content{left:-28px}[dir=rtl] .mat-badge-large.mat-badge-before .mat-badge-content{left:auto;right:-28px}.mat-badge-large.mat-badge-after .mat-badge-content{right:-28px}[dir=rtl] .mat-badge-large.mat-badge-after .mat-badge-content{right:auto;left:-28px}.mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-14px}[dir=rtl] .mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-14px}.mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-14px}[dir=rtl] .mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-14px}.mat-badge-content{color:#fff;background:#1e31eb}.cdk-high-contrast-active .mat-badge-content{outline:solid 1px;border-radius:0}.mat-badge-accent .mat-badge-content{background:#ff5252;color:#000000de}.mat-badge-warn .mat-badge-content{color:#fff;background:#c40000}.mat-badge-disabled .mat-badge-content{background:#b9b9b9;color:#00000061}.mat-bottom-sheet-container{box-shadow:0 8px 10px -5px #0003,0 16px 24px 2px #00000024,0 6px 30px 5px #0000001f;background:white;color:#000000de}.mat-button,.mat-icon-button,.mat-stroked-button{color:inherit;background:transparent}.mat-button.mat-primary,.mat-icon-button.mat-primary,.mat-stroked-button.mat-primary{color:#1e31eb}.mat-button.mat-accent,.mat-icon-button.mat-accent,.mat-stroked-button.mat-accent{color:#ff5252}.mat-button.mat-warn,.mat-icon-button.mat-warn,.mat-stroked-button.mat-warn{color:#c40000}.mat-button.mat-primary.mat-button-disabled,.mat-button.mat-accent.mat-button-disabled,.mat-button.mat-warn.mat-button-disabled,.mat-button.mat-button-disabled.mat-button-disabled,.mat-icon-button.mat-primary.mat-button-disabled,.mat-icon-button.mat-accent.mat-button-disabled,.mat-icon-button.mat-warn.mat-button-disabled,.mat-icon-button.mat-button-disabled.mat-button-disabled,.mat-stroked-button.mat-primary.mat-button-disabled,.mat-stroked-button.mat-accent.mat-button-disabled,.mat-stroked-button.mat-warn.mat-button-disabled,.mat-stroked-button.mat-button-disabled.mat-button-disabled{color:#00000042}.mat-button.mat-primary .mat-button-focus-overlay,.mat-icon-button.mat-primary .mat-button-focus-overlay,.mat-stroked-button.mat-primary .mat-button-focus-overlay{background-color:#1e31eb}.mat-button.mat-accent .mat-button-focus-overlay,.mat-icon-button.mat-accent .mat-button-focus-overlay,.mat-stroked-button.mat-accent .mat-button-focus-overlay{background-color:#ff5252}.mat-button.mat-warn .mat-button-focus-overlay,.mat-icon-button.mat-warn .mat-button-focus-overlay,.mat-stroked-button.mat-warn .mat-button-focus-overlay{background-color:#c40000}.mat-button.mat-button-disabled .mat-button-focus-overlay,.mat-icon-button.mat-button-disabled .mat-button-focus-overlay,.mat-stroked-button.mat-button-disabled .mat-button-focus-overlay{background-color:transparent}.mat-button .mat-ripple-element,.mat-icon-button .mat-ripple-element,.mat-stroked-button .mat-ripple-element{opacity:.1;background-color:currentColor}.mat-button-focus-overlay{background:black}.mat-stroked-button:not(.mat-button-disabled){border-color:#0000001f}.mat-flat-button,.mat-raised-button,.mat-fab,.mat-mini-fab{color:#000000de;background-color:#fff}.mat-flat-button.mat-primary,.mat-raised-button.mat-primary,.mat-fab.mat-primary,.mat-mini-fab.mat-primary{color:#fff}.mat-flat-button.mat-accent,.mat-raised-button.mat-accent,.mat-fab.mat-accent,.mat-mini-fab.mat-accent{color:#000000de}.mat-flat-button.mat-warn,.mat-raised-button.mat-warn,.mat-fab.mat-warn,.mat-mini-fab.mat-warn{color:#fff}.mat-flat-button.mat-primary.mat-button-disabled,.mat-flat-button.mat-accent.mat-button-disabled,.mat-flat-button.mat-warn.mat-button-disabled,.mat-flat-button.mat-button-disabled.mat-button-disabled,.mat-raised-button.mat-primary.mat-button-disabled,.mat-raised-button.mat-accent.mat-button-disabled,.mat-raised-button.mat-warn.mat-button-disabled,.mat-raised-button.mat-button-disabled.mat-button-disabled,.mat-fab.mat-primary.mat-button-disabled,.mat-fab.mat-accent.mat-button-disabled,.mat-fab.mat-warn.mat-button-disabled,.mat-fab.mat-button-disabled.mat-button-disabled,.mat-mini-fab.mat-primary.mat-button-disabled,.mat-mini-fab.mat-accent.mat-button-disabled,.mat-mini-fab.mat-warn.mat-button-disabled,.mat-mini-fab.mat-button-disabled.mat-button-disabled{color:#00000042}.mat-flat-button.mat-primary,.mat-raised-button.mat-primary,.mat-fab.mat-primary,.mat-mini-fab.mat-primary{background-color:#1e31eb}.mat-flat-button.mat-accent,.mat-raised-button.mat-accent,.mat-fab.mat-accent,.mat-mini-fab.mat-accent{background-color:#ff5252}.mat-flat-button.mat-warn,.mat-raised-button.mat-warn,.mat-fab.mat-warn,.mat-mini-fab.mat-warn{background-color:#c40000}.mat-flat-button.mat-primary.mat-button-disabled,.mat-flat-button.mat-accent.mat-button-disabled,.mat-flat-button.mat-warn.mat-button-disabled,.mat-flat-button.mat-button-disabled.mat-button-disabled,.mat-raised-button.mat-primary.mat-button-disabled,.mat-raised-button.mat-accent.mat-button-disabled,.mat-raised-button.mat-warn.mat-button-disabled,.mat-raised-button.mat-button-disabled.mat-button-disabled,.mat-fab.mat-primary.mat-button-disabled,.mat-fab.mat-accent.mat-button-disabled,.mat-fab.mat-warn.mat-button-disabled,.mat-fab.mat-button-disabled.mat-button-disabled,.mat-mini-fab.mat-primary.mat-button-disabled,.mat-mini-fab.mat-accent.mat-button-disabled,.mat-mini-fab.mat-warn.mat-button-disabled,.mat-mini-fab.mat-button-disabled.mat-button-disabled{background-color:#0000001f}.mat-flat-button.mat-primary .mat-ripple-element,.mat-raised-button.mat-primary .mat-ripple-element,.mat-fab.mat-primary .mat-ripple-element,.mat-mini-fab.mat-primary .mat-ripple-element{background-color:#ffffff1a}.mat-flat-button.mat-accent .mat-ripple-element,.mat-raised-button.mat-accent .mat-ripple-element,.mat-fab.mat-accent .mat-ripple-element,.mat-mini-fab.mat-accent .mat-ripple-element{background-color:#0000001a}.mat-flat-button.mat-warn .mat-ripple-element,.mat-raised-button.mat-warn .mat-ripple-element,.mat-fab.mat-warn .mat-ripple-element,.mat-mini-fab.mat-warn .mat-ripple-element{background-color:#ffffff1a}.mat-stroked-button:not([class*=mat-elevation-z]),.mat-flat-button:not([class*=mat-elevation-z]){box-shadow:0 0 #0003,0 0 #00000024,0 0 #0000001f}.mat-raised-button:not([class*=mat-elevation-z]){box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}.mat-raised-button:not(.mat-button-disabled):active:not([class*=mat-elevation-z]){box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.mat-raised-button.mat-button-disabled:not([class*=mat-elevation-z]){box-shadow:0 0 #0003,0 0 #00000024,0 0 #0000001f}.mat-fab:not([class*=mat-elevation-z]),.mat-mini-fab:not([class*=mat-elevation-z]){box-shadow:0 3px 5px -1px #0003,0 6px 10px #00000024,0 1px 18px #0000001f}.mat-fab:not(.mat-button-disabled):active:not([class*=mat-elevation-z]),.mat-mini-fab:not(.mat-button-disabled):active:not([class*=mat-elevation-z]){box-shadow:0 7px 8px -4px #0003,0 12px 17px 2px #00000024,0 5px 22px 4px #0000001f}.mat-fab.mat-button-disabled:not([class*=mat-elevation-z]),.mat-mini-fab.mat-button-disabled:not([class*=mat-elevation-z]){box-shadow:0 0 #0003,0 0 #00000024,0 0 #0000001f}.mat-button-toggle-standalone:not([class*=mat-elevation-z]),.mat-button-toggle-group:not([class*=mat-elevation-z]){box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}.mat-button-toggle-standalone.mat-button-toggle-appearance-standard:not([class*=mat-elevation-z]),.mat-button-toggle-group-appearance-standard:not([class*=mat-elevation-z]){box-shadow:none}.mat-button-toggle{color:#00000061}.mat-button-toggle .mat-button-toggle-focus-overlay{background-color:#0000001f}.mat-button-toggle-appearance-standard{color:#000000de;background:white}.mat-button-toggle-appearance-standard .mat-button-toggle-focus-overlay{background-color:#000}.mat-button-toggle-group-appearance-standard .mat-button-toggle+.mat-button-toggle{border-left:solid 1px #e0e0e0}[dir=rtl] .mat-button-toggle-group-appearance-standard .mat-button-toggle+.mat-button-toggle{border-left:none;border-right:solid 1px #e0e0e0}.mat-button-toggle-group-appearance-standard.mat-button-toggle-vertical .mat-button-toggle+.mat-button-toggle{border-left:none;border-right:none;border-top:solid 1px #e0e0e0}.mat-button-toggle-checked{background-color:#e0e0e0;color:#0000008a}.mat-button-toggle-checked.mat-button-toggle-appearance-standard{color:#000000de}.mat-button-toggle-disabled{color:#00000042;background-color:#eee}.mat-button-toggle-disabled.mat-button-toggle-appearance-standard{background:white}.mat-button-toggle-disabled.mat-button-toggle-checked{background-color:#bdbdbd}.mat-button-toggle-standalone.mat-button-toggle-appearance-standard,.mat-button-toggle-group-appearance-standard{border:solid 1px #e0e0e0}.mat-button-toggle-appearance-standard .mat-button-toggle-label-content{line-height:48px}.mat-card{background:white;color:#000000de}.mat-card:not([class*=mat-elevation-z]){box-shadow:0 2px 1px -1px #0003,0 1px 1px #00000024,0 1px 3px #0000001f}.mat-card.mat-card-flat:not([class*=mat-elevation-z]){box-shadow:0 0 #0003,0 0 #00000024,0 0 #0000001f}.mat-card-subtitle{color:#0000008a}.mat-checkbox-frame{border-color:#0000008a}.mat-checkbox-checkmark{fill:#fafafa}.mat-checkbox-checkmark-path{stroke:#fafafa!important}.mat-checkbox-mixedmark{background-color:#fafafa}.mat-checkbox-indeterminate.mat-primary .mat-checkbox-background,.mat-checkbox-checked.mat-primary .mat-checkbox-background{background-color:#1e31eb}.mat-checkbox-indeterminate.mat-accent .mat-checkbox-background,.mat-checkbox-checked.mat-accent .mat-checkbox-background{background-color:#ff5252}.mat-checkbox-indeterminate.mat-warn .mat-checkbox-background,.mat-checkbox-checked.mat-warn .mat-checkbox-background{background-color:#c40000}.mat-checkbox-disabled.mat-checkbox-checked .mat-checkbox-background,.mat-checkbox-disabled.mat-checkbox-indeterminate .mat-checkbox-background{background-color:#b0b0b0}.mat-checkbox-disabled:not(.mat-checkbox-checked) .mat-checkbox-frame{border-color:#b0b0b0}.mat-checkbox-disabled .mat-checkbox-label{color:#00000061}.mat-checkbox .mat-ripple-element{background-color:#000}.mat-checkbox-checked:not(.mat-checkbox-disabled).mat-primary .mat-ripple-element,.mat-checkbox:active:not(.mat-checkbox-disabled).mat-primary .mat-ripple-element{background:#1e31eb}.mat-checkbox-checked:not(.mat-checkbox-disabled).mat-accent .mat-ripple-element,.mat-checkbox:active:not(.mat-checkbox-disabled).mat-accent .mat-ripple-element{background:#ff5252}.mat-checkbox-checked:not(.mat-checkbox-disabled).mat-warn .mat-ripple-element,.mat-checkbox:active:not(.mat-checkbox-disabled).mat-warn .mat-ripple-element{background:#c40000}.mat-chip.mat-standard-chip{background-color:#e0e0e0;color:#000000de}.mat-chip.mat-standard-chip .mat-chip-remove{color:#000000de;opacity:.4}.mat-chip.mat-standard-chip:not(.mat-chip-disabled):active{box-shadow:0 3px 3px -2px #0003,0 3px 4px #00000024,0 1px 8px #0000001f}.mat-chip.mat-standard-chip:not(.mat-chip-disabled) .mat-chip-remove:hover{opacity:.54}.mat-chip.mat-standard-chip.mat-chip-disabled{opacity:.4}.mat-chip.mat-standard-chip:after{background:black}.mat-chip.mat-standard-chip.mat-chip-selected.mat-primary{background-color:#1e31eb;color:#fff}.mat-chip.mat-standard-chip.mat-chip-selected.mat-primary .mat-chip-remove{color:#fff;opacity:.4}.mat-chip.mat-standard-chip.mat-chip-selected.mat-primary .mat-ripple-element{background-color:#ffffff1a}.mat-chip.mat-standard-chip.mat-chip-selected.mat-warn{background-color:#c40000;color:#fff}.mat-chip.mat-standard-chip.mat-chip-selected.mat-warn .mat-chip-remove{color:#fff;opacity:.4}.mat-chip.mat-standard-chip.mat-chip-selected.mat-warn .mat-ripple-element{background-color:#ffffff1a}.mat-chip.mat-standard-chip.mat-chip-selected.mat-accent{background-color:#ff5252;color:#000000de}.mat-chip.mat-standard-chip.mat-chip-selected.mat-accent .mat-chip-remove{color:#000000de;opacity:.4}.mat-chip.mat-standard-chip.mat-chip-selected.mat-accent .mat-ripple-element{background-color:#0000001a}.mat-table{background:white}.mat-table thead,.mat-table tbody,.mat-table tfoot,mat-header-row,mat-row,mat-footer-row,[mat-header-row],[mat-row],[mat-footer-row],.mat-table-sticky{background:inherit}mat-row,mat-header-row,mat-footer-row,th.mat-header-cell,td.mat-cell,td.mat-footer-cell{border-bottom-color:#0000001f}.mat-header-cell{color:#0000008a}.mat-cell,.mat-footer-cell{color:#000000de}.mat-calendar-arrow{fill:#0000008a}.mat-datepicker-toggle,.mat-datepicker-content .mat-calendar-next-button,.mat-datepicker-content .mat-calendar-previous-button{color:#0000008a}.mat-calendar-table-header-divider:after{background:rgba(0,0,0,.12)}.mat-calendar-table-header,.mat-calendar-body-label{color:#0000008a}.mat-calendar-body-cell-content,.mat-date-range-input-separator{color:#000000de;border-color:transparent}.mat-calendar-body-disabled>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){color:#00000061}.mat-form-field-disabled .mat-date-range-input-separator{color:#00000061}.mat-calendar-body-in-preview{color:#0000003d}.mat-calendar-body-today:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){border-color:#00000061}.mat-calendar-body-disabled>.mat-calendar-body-today:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){border-color:#0000002e}.mat-calendar-body-in-range:before{background:rgba(30,49,235,.2)}.mat-calendar-body-comparison-identical,.mat-calendar-body-in-comparison-range:before{background:rgba(249,171,0,.2)}.mat-calendar-body-comparison-bridge-start:before,[dir=rtl] .mat-calendar-body-comparison-bridge-end:before{background:linear-gradient(to right,rgba(30,49,235,.2) 50%,rgba(249,171,0,.2) 50%)}.mat-calendar-body-comparison-bridge-end:before,[dir=rtl] .mat-calendar-body-comparison-bridge-start:before{background:linear-gradient(to left,rgba(30,49,235,.2) 50%,rgba(249,171,0,.2) 50%)}.mat-calendar-body-in-range>.mat-calendar-body-comparison-identical,.mat-calendar-body-in-comparison-range.mat-calendar-body-in-range:after{background:#a8dab5}.mat-calendar-body-comparison-identical.mat-calendar-body-selected,.mat-calendar-body-in-comparison-range>.mat-calendar-body-selected{background:#46a35e}.mat-calendar-body-selected{background-color:#1e31eb;color:#fff}.mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:#1e31eb66}.mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #fff}.cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#1e31eb4d}@media (hover: hover){.mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#1e31eb4d}}.mat-datepicker-content{box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f;background-color:#fff;color:#000000de}.mat-datepicker-content.mat-accent .mat-calendar-body-in-range:before{background:rgba(255,82,82,.2)}.mat-datepicker-content.mat-accent .mat-calendar-body-comparison-identical,.mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range:before{background:rgba(249,171,0,.2)}.mat-datepicker-content.mat-accent .mat-calendar-body-comparison-bridge-start:before,.mat-datepicker-content.mat-accent [dir=rtl] .mat-calendar-body-comparison-bridge-end:before{background:linear-gradient(to right,rgba(255,82,82,.2) 50%,rgba(249,171,0,.2) 50%)}.mat-datepicker-content.mat-accent .mat-calendar-body-comparison-bridge-end:before,.mat-datepicker-content.mat-accent [dir=rtl] .mat-calendar-body-comparison-bridge-start:before{background:linear-gradient(to left,rgba(255,82,82,.2) 50%,rgba(249,171,0,.2) 50%)}.mat-datepicker-content.mat-accent .mat-calendar-body-in-range>.mat-calendar-body-comparison-identical,.mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range:after{background:#a8dab5}.mat-datepicker-content.mat-accent .mat-calendar-body-comparison-identical.mat-calendar-body-selected,.mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range>.mat-calendar-body-selected{background:#46a35e}.mat-datepicker-content.mat-accent .mat-calendar-body-selected{background-color:#ff5252;color:#000000de}.mat-datepicker-content.mat-accent .mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:#ff525266}.mat-datepicker-content.mat-accent .mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #000000de}.mat-datepicker-content.mat-accent .cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.mat-datepicker-content.mat-accent .cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#ff52524d}@media (hover: hover){.mat-datepicker-content.mat-accent .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#ff52524d}}.mat-datepicker-content.mat-warn .mat-calendar-body-in-range:before{background:rgba(196,0,0,.2)}.mat-datepicker-content.mat-warn .mat-calendar-body-comparison-identical,.mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range:before{background:rgba(249,171,0,.2)}.mat-datepicker-content.mat-warn .mat-calendar-body-comparison-bridge-start:before,.mat-datepicker-content.mat-warn [dir=rtl] .mat-calendar-body-comparison-bridge-end:before{background:linear-gradient(to right,rgba(196,0,0,.2) 50%,rgba(249,171,0,.2) 50%)}.mat-datepicker-content.mat-warn .mat-calendar-body-comparison-bridge-end:before,.mat-datepicker-content.mat-warn [dir=rtl] .mat-calendar-body-comparison-bridge-start:before{background:linear-gradient(to left,rgba(196,0,0,.2) 50%,rgba(249,171,0,.2) 50%)}.mat-datepicker-content.mat-warn .mat-calendar-body-in-range>.mat-calendar-body-comparison-identical,.mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range:after{background:#a8dab5}.mat-datepicker-content.mat-warn .mat-calendar-body-comparison-identical.mat-calendar-body-selected,.mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range>.mat-calendar-body-selected{background:#46a35e}.mat-datepicker-content.mat-warn .mat-calendar-body-selected{background-color:#c40000;color:#fff}.mat-datepicker-content.mat-warn .mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:#c4000066}.mat-datepicker-content.mat-warn .mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #fff}.mat-datepicker-content.mat-warn .cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.mat-datepicker-content.mat-warn .cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#c400004d}@media (hover: hover){.mat-datepicker-content.mat-warn .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#c400004d}}.mat-datepicker-content-touch{box-shadow:0 11px 15px -7px #0003,0 24px 38px 3px #00000024,0 9px 46px 8px #0000001f}.mat-datepicker-toggle-active{color:#1e31eb}.mat-datepicker-toggle-active.mat-accent{color:#ff5252}.mat-datepicker-toggle-active.mat-warn{color:#c40000}.mat-date-range-input-inner[disabled]{color:#00000061}.mat-dialog-container{box-shadow:0 11px 15px -7px #0003,0 24px 38px 3px #00000024,0 9px 46px 8px #0000001f;background:white;color:#000000de}.mat-divider{border-top-color:#0000001f}.mat-divider-vertical{border-right-color:#0000001f}.mat-expansion-panel{background:white;color:#000000de}.mat-expansion-panel:not([class*=mat-elevation-z]){box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}.mat-action-row{border-top-color:#0000001f}.mat-expansion-panel .mat-expansion-panel-header.cdk-keyboard-focused:not([aria-disabled=true]),.mat-expansion-panel .mat-expansion-panel-header.cdk-program-focused:not([aria-disabled=true]),.mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:hover:not([aria-disabled=true]){background:rgba(0,0,0,.04)}@media (hover: none){.mat-expansion-panel:not(.mat-expanded):not([aria-disabled=true]) .mat-expansion-panel-header:hover{background:white}}.mat-expansion-panel-header-title{color:#000000de}.mat-expansion-panel-header-description,.mat-expansion-indicator:after{color:#0000008a}.mat-expansion-panel-header[aria-disabled=true]{color:#00000042}.mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-title,.mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-description{color:inherit}.mat-expansion-panel-header{height:48px}.mat-expansion-panel-header.mat-expanded{height:64px}.mat-form-field-label,.mat-hint{color:#0009}.mat-form-field.mat-focused .mat-form-field-label{color:#1e31eb}.mat-form-field.mat-focused .mat-form-field-label.mat-accent{color:#ff5252}.mat-form-field.mat-focused .mat-form-field-label.mat-warn{color:#c40000}.mat-focused .mat-form-field-required-marker{color:#ff5252}.mat-form-field-ripple{background-color:#000000de}.mat-form-field.mat-focused .mat-form-field-ripple{background-color:#1e31eb}.mat-form-field.mat-focused .mat-form-field-ripple.mat-accent{background-color:#ff5252}.mat-form-field.mat-focused .mat-form-field-ripple.mat-warn{background-color:#c40000}.mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid) .mat-form-field-infix:after{color:#1e31eb}.mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid).mat-accent .mat-form-field-infix:after{color:#ff5252}.mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid).mat-warn .mat-form-field-infix:after{color:#c40000}.mat-form-field.mat-form-field-invalid .mat-form-field-label,.mat-form-field.mat-form-field-invalid .mat-form-field-label.mat-accent,.mat-form-field.mat-form-field-invalid .mat-form-field-label .mat-form-field-required-marker{color:#c40000}.mat-form-field.mat-form-field-invalid .mat-form-field-ripple,.mat-form-field.mat-form-field-invalid .mat-form-field-ripple.mat-accent{background-color:#c40000}.mat-error{color:#c40000}.mat-form-field-appearance-legacy .mat-form-field-label,.mat-form-field-appearance-legacy .mat-hint{color:#0000008a}.mat-form-field-appearance-legacy .mat-form-field-underline{background-color:#0000006b}.mat-form-field-appearance-legacy.mat-form-field-disabled .mat-form-field-underline{background-image:linear-gradient(to right,rgba(0,0,0,.42) 0%,rgba(0,0,0,.42) 33%,transparent 0%);background-size:4px 100%;background-repeat:repeat-x}.mat-form-field-appearance-standard .mat-form-field-underline{background-color:#0000006b}.mat-form-field-appearance-standard.mat-form-field-disabled .mat-form-field-underline{background-image:linear-gradient(to right,rgba(0,0,0,.42) 0%,rgba(0,0,0,.42) 33%,transparent 0%);background-size:4px 100%;background-repeat:repeat-x}.mat-form-field-appearance-fill .mat-form-field-flex{background-color:#0000000a}.mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-flex{background-color:#00000005}.mat-form-field-appearance-fill .mat-form-field-underline:before{background-color:#0000006b}.mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-label{color:#00000061}.mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-underline:before{background-color:transparent}.mat-form-field-appearance-outline .mat-form-field-outline{color:#0000001f}.mat-form-field-appearance-outline .mat-form-field-outline-thick{color:#000000de}.mat-form-field-appearance-outline.mat-focused .mat-form-field-outline-thick{color:#1e31eb}.mat-form-field-appearance-outline.mat-focused.mat-accent .mat-form-field-outline-thick{color:#ff5252}.mat-form-field-appearance-outline.mat-focused.mat-warn .mat-form-field-outline-thick,.mat-form-field-appearance-outline.mat-form-field-invalid.mat-form-field-invalid .mat-form-field-outline-thick{color:#c40000}.mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-label{color:#00000061}.mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-outline{color:#0000000f}.mat-icon.mat-primary{color:#1e31eb}.mat-icon.mat-accent{color:#ff5252}.mat-icon.mat-warn{color:#c40000}.mat-form-field-type-mat-native-select .mat-form-field-infix:after{color:#0000008a}.mat-input-element:disabled,.mat-form-field-type-mat-native-select.mat-form-field-disabled .mat-form-field-infix:after{color:#00000061}.mat-input-element{caret-color:#1e31eb}.mat-input-element::placeholder{color:#0000006b}.mat-input-element::-moz-placeholder{color:#0000006b}.mat-input-element::-webkit-input-placeholder{color:#0000006b}.mat-input-element:-ms-input-placeholder{color:#0000006b}.mat-form-field.mat-accent .mat-input-element{caret-color:#ff5252}.mat-form-field.mat-warn .mat-input-element,.mat-form-field-invalid .mat-input-element{caret-color:#c40000}.mat-form-field-type-mat-native-select.mat-form-field-invalid .mat-form-field-infix:after{color:#c40000}.mat-list-base .mat-list-item,.mat-list-base .mat-list-option{color:#000000de}.mat-list-base .mat-subheader{color:#0000008a}.mat-list-base .mat-list-item-disabled{background-color:#eee;color:#00000061}.mat-list-option:hover,.mat-list-option:focus,.mat-nav-list .mat-list-item:hover,.mat-nav-list .mat-list-item:focus,.mat-action-list .mat-list-item:hover,.mat-action-list .mat-list-item:focus{background:rgba(0,0,0,.04)}.mat-list-single-selected-option,.mat-list-single-selected-option:hover,.mat-list-single-selected-option:focus{background:rgba(0,0,0,.12)}.mat-menu-panel{background:white}.mat-menu-panel:not([class*=mat-elevation-z]){box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f}.mat-menu-item{background:transparent;color:#000000de}.mat-menu-item[disabled],.mat-menu-item[disabled] .mat-menu-submenu-icon,.mat-menu-item[disabled] .mat-icon-no-color{color:#00000061}.mat-menu-item .mat-icon-no-color,.mat-menu-submenu-icon{color:#0000008a}.mat-menu-item:hover:not([disabled]),.mat-menu-item.cdk-program-focused:not([disabled]),.mat-menu-item.cdk-keyboard-focused:not([disabled]),.mat-menu-item-highlighted:not([disabled]){background:rgba(0,0,0,.04)}.mat-paginator{background:white}.mat-paginator,.mat-paginator-page-size .mat-select-trigger{color:#0000008a}.mat-paginator-decrement,.mat-paginator-increment{border-top:2px solid rgba(0,0,0,.54);border-right:2px solid rgba(0,0,0,.54)}.mat-paginator-first,.mat-paginator-last{border-top:2px solid rgba(0,0,0,.54)}.mat-icon-button[disabled] .mat-paginator-decrement,.mat-icon-button[disabled] .mat-paginator-increment,.mat-icon-button[disabled] .mat-paginator-first,.mat-icon-button[disabled] .mat-paginator-last{border-color:#00000061}.mat-paginator-container{min-height:56px}.mat-progress-bar-background{fill:#c3c8f6}.mat-progress-bar-buffer{background-color:#c3c8f6}.mat-progress-bar-fill:after{background-color:#1e31eb}.mat-progress-bar.mat-accent .mat-progress-bar-background{fill:#fbd0d0}.mat-progress-bar.mat-accent .mat-progress-bar-buffer{background-color:#fbd0d0}.mat-progress-bar.mat-accent .mat-progress-bar-fill:after{background-color:#ff5252}.mat-progress-bar.mat-warn .mat-progress-bar-background{fill:#edbcbc}.mat-progress-bar.mat-warn .mat-progress-bar-buffer{background-color:#edbcbc}.mat-progress-bar.mat-warn .mat-progress-bar-fill:after{background-color:#c40000}.mat-progress-spinner circle,.mat-spinner circle{stroke:#1e31eb}.mat-progress-spinner.mat-accent circle,.mat-spinner.mat-accent circle{stroke:#ff5252}.mat-progress-spinner.mat-warn circle,.mat-spinner.mat-warn circle{stroke:#c40000}.mat-radio-outer-circle{border-color:#0000008a}.mat-radio-button.mat-primary.mat-radio-checked .mat-radio-outer-circle{border-color:#1e31eb}.mat-radio-button.mat-primary .mat-radio-inner-circle,.mat-radio-button.mat-primary .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),.mat-radio-button.mat-primary.mat-radio-checked .mat-radio-persistent-ripple,.mat-radio-button.mat-primary:active .mat-radio-persistent-ripple{background-color:#1e31eb}.mat-radio-button.mat-accent.mat-radio-checked .mat-radio-outer-circle{border-color:#ff5252}.mat-radio-button.mat-accent .mat-radio-inner-circle,.mat-radio-button.mat-accent .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),.mat-radio-button.mat-accent.mat-radio-checked .mat-radio-persistent-ripple,.mat-radio-button.mat-accent:active .mat-radio-persistent-ripple{background-color:#ff5252}.mat-radio-button.mat-warn.mat-radio-checked .mat-radio-outer-circle{border-color:#c40000}.mat-radio-button.mat-warn .mat-radio-inner-circle,.mat-radio-button.mat-warn .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),.mat-radio-button.mat-warn.mat-radio-checked .mat-radio-persistent-ripple,.mat-radio-button.mat-warn:active .mat-radio-persistent-ripple{background-color:#c40000}.mat-radio-button.mat-radio-disabled.mat-radio-checked .mat-radio-outer-circle,.mat-radio-button.mat-radio-disabled .mat-radio-outer-circle{border-color:#00000061}.mat-radio-button.mat-radio-disabled .mat-radio-ripple .mat-ripple-element,.mat-radio-button.mat-radio-disabled .mat-radio-inner-circle{background-color:#00000061}.mat-radio-button.mat-radio-disabled .mat-radio-label-content{color:#00000061}.mat-radio-button .mat-ripple-element{background-color:#000}.mat-select-value{color:#000000de}.mat-select-placeholder{color:#0000006b}.mat-select-disabled .mat-select-value{color:#00000061}.mat-select-arrow{color:#0000008a}.mat-select-panel{background:white}.mat-select-panel:not([class*=mat-elevation-z]){box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f}.mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){background:rgba(0,0,0,.12)}.mat-form-field.mat-focused.mat-primary .mat-select-arrow{color:#1e31eb}.mat-form-field.mat-focused.mat-accent .mat-select-arrow{color:#ff5252}.mat-form-field.mat-focused.mat-warn .mat-select-arrow,.mat-form-field .mat-select.mat-select-invalid .mat-select-arrow{color:#c40000}.mat-form-field .mat-select.mat-select-disabled .mat-select-arrow{color:#00000061}.mat-drawer-container{background-color:#fafafa;color:#000000de}.mat-drawer{background-color:#fff;color:#000000de}.mat-drawer.mat-drawer-push{background-color:#fff}.mat-drawer:not(.mat-drawer-side){box-shadow:0 8px 10px -5px #0003,0 16px 24px 2px #00000024,0 6px 30px 5px #0000001f}.mat-drawer-side{border-right:solid 1px rgba(0,0,0,.12)}.mat-drawer-side.mat-drawer-end,[dir=rtl] .mat-drawer-side{border-left:solid 1px rgba(0,0,0,.12);border-right:none}[dir=rtl] .mat-drawer-side.mat-drawer-end{border-left:none;border-right:solid 1px rgba(0,0,0,.12)}.mat-drawer-backdrop.mat-drawer-shown{background-color:#0009}.mat-slide-toggle.mat-checked .mat-slide-toggle-thumb{background-color:#ff5252}.mat-slide-toggle.mat-checked .mat-slide-toggle-bar{background-color:#ff52528a}.mat-slide-toggle.mat-checked .mat-ripple-element{background-color:#ff5252}.mat-slide-toggle.mat-primary.mat-checked .mat-slide-toggle-thumb{background-color:#1e31eb}.mat-slide-toggle.mat-primary.mat-checked .mat-slide-toggle-bar{background-color:#1e31eb8a}.mat-slide-toggle.mat-primary.mat-checked .mat-ripple-element{background-color:#1e31eb}.mat-slide-toggle.mat-warn.mat-checked .mat-slide-toggle-thumb{background-color:#c40000}.mat-slide-toggle.mat-warn.mat-checked .mat-slide-toggle-bar{background-color:#c400008a}.mat-slide-toggle.mat-warn.mat-checked .mat-ripple-element{background-color:#c40000}.mat-slide-toggle:not(.mat-checked) .mat-ripple-element{background-color:#000}.mat-slide-toggle-thumb{box-shadow:0 2px 1px -1px #0003,0 1px 1px #00000024,0 1px 3px #0000001f;background-color:#fafafa}.mat-slide-toggle-bar{background-color:#00000061}.mat-slider-track-background{background-color:#00000042}.mat-slider.mat-primary .mat-slider-track-fill,.mat-slider.mat-primary .mat-slider-thumb,.mat-slider.mat-primary .mat-slider-thumb-label{background-color:#1e31eb}.mat-slider.mat-primary .mat-slider-thumb-label-text{color:#fff}.mat-slider.mat-primary .mat-slider-focus-ring{background-color:#1e31eb33}.mat-slider.mat-accent .mat-slider-track-fill,.mat-slider.mat-accent .mat-slider-thumb,.mat-slider.mat-accent .mat-slider-thumb-label{background-color:#ff5252}.mat-slider.mat-accent .mat-slider-thumb-label-text{color:#000000de}.mat-slider.mat-accent .mat-slider-focus-ring{background-color:#ff525233}.mat-slider.mat-warn .mat-slider-track-fill,.mat-slider.mat-warn .mat-slider-thumb,.mat-slider.mat-warn .mat-slider-thumb-label{background-color:#c40000}.mat-slider.mat-warn .mat-slider-thumb-label-text{color:#fff}.mat-slider.mat-warn .mat-slider-focus-ring{background-color:#c4000033}.mat-slider:hover .mat-slider-track-background,.mat-slider.cdk-focused .mat-slider-track-background{background-color:#00000061}.mat-slider.mat-slider-disabled .mat-slider-track-background,.mat-slider.mat-slider-disabled .mat-slider-track-fill,.mat-slider.mat-slider-disabled .mat-slider-thumb,.mat-slider.mat-slider-disabled:hover .mat-slider-track-background{background-color:#00000042}.mat-slider.mat-slider-min-value .mat-slider-focus-ring{background-color:#0000001f}.mat-slider.mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb,.mat-slider.mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb-label{background-color:#000000de}.mat-slider.mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb,.mat-slider.mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb-label{background-color:#00000042}.mat-slider.mat-slider-min-value:not(.mat-slider-thumb-label-showing) .mat-slider-thumb{border-color:#00000042;background-color:transparent}.mat-slider.mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover .mat-slider-thumb,.mat-slider.mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused .mat-slider-thumb{border-color:#00000061}.mat-slider.mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover.mat-slider-disabled .mat-slider-thumb,.mat-slider.mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused.mat-slider-disabled .mat-slider-thumb{border-color:#00000042}.mat-slider-has-ticks .mat-slider-wrapper:after{border-color:#000000b3}.mat-slider-horizontal .mat-slider-ticks{background-image:repeating-linear-gradient(to right,rgba(0,0,0,.7),rgba(0,0,0,.7) 2px,transparent 0,transparent);background-image:-moz-repeating-linear-gradient(.0001deg,rgba(0,0,0,.7),rgba(0,0,0,.7) 2px,transparent 0,transparent)}.mat-slider-vertical .mat-slider-ticks{background-image:repeating-linear-gradient(to bottom,rgba(0,0,0,.7),rgba(0,0,0,.7) 2px,transparent 0,transparent)}.mat-step-header.cdk-keyboard-focused,.mat-step-header.cdk-program-focused,.mat-step-header:hover:not([aria-disabled]),.mat-step-header:hover[aria-disabled=false]{background-color:#0000000a}.mat-step-header:hover[aria-disabled=true]{cursor:default}@media (hover: none){.mat-step-header:hover{background:none}}.mat-step-header .mat-step-label,.mat-step-header .mat-step-optional{color:#0000008a}.mat-step-header .mat-step-icon{background-color:#0000008a;color:#fff}.mat-step-header .mat-step-icon-selected,.mat-step-header .mat-step-icon-state-done,.mat-step-header .mat-step-icon-state-edit{background-color:#1e31eb;color:#fff}.mat-step-header.mat-accent .mat-step-icon{color:#000000de}.mat-step-header.mat-accent .mat-step-icon-selected,.mat-step-header.mat-accent .mat-step-icon-state-done,.mat-step-header.mat-accent .mat-step-icon-state-edit{background-color:#ff5252;color:#000000de}.mat-step-header.mat-warn .mat-step-icon{color:#fff}.mat-step-header.mat-warn .mat-step-icon-selected,.mat-step-header.mat-warn .mat-step-icon-state-done,.mat-step-header.mat-warn .mat-step-icon-state-edit{background-color:#c40000;color:#fff}.mat-step-header .mat-step-icon-state-error{background-color:transparent;color:#c40000}.mat-step-header .mat-step-label.mat-step-label-active{color:#000000de}.mat-step-header .mat-step-label.mat-step-label-error{color:#c40000}.mat-stepper-horizontal,.mat-stepper-vertical{background-color:#fff}.mat-stepper-vertical-line:before{border-left-color:#0000001f}.mat-horizontal-stepper-header:before,.mat-horizontal-stepper-header:after,.mat-stepper-horizontal-line{border-top-color:#0000001f}.mat-horizontal-stepper-header{height:72px}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header,.mat-vertical-stepper-header{padding:24px}.mat-stepper-vertical-line:before{top:-16px;bottom:-16px}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header:after,.mat-stepper-label-position-bottom .mat-horizontal-stepper-header:before{top:36px}.mat-stepper-label-position-bottom .mat-stepper-horizontal-line{top:36px}.mat-sort-header-arrow{color:#757575}.mat-tab-nav-bar,.mat-tab-header{border-bottom:1px solid rgba(0,0,0,.12)}.mat-tab-group-inverted-header .mat-tab-nav-bar,.mat-tab-group-inverted-header .mat-tab-header{border-top:1px solid rgba(0,0,0,.12);border-bottom:none}.mat-tab-label,.mat-tab-link{color:#000000de}.mat-tab-label.mat-tab-disabled,.mat-tab-link.mat-tab-disabled{color:#00000061}.mat-tab-header-pagination-chevron{border-color:#000000de}.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:#00000061}.mat-tab-group[class*=mat-background-]>.mat-tab-header,.mat-tab-nav-bar[class*=mat-background-]{border-bottom:none;border-top:none}.mat-tab-group.mat-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-group.mat-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#c5cae94d}.mat-tab-group.mat-primary .mat-ink-bar,.mat-tab-nav-bar.mat-primary .mat-ink-bar{background-color:#1e31eb}.mat-tab-group.mat-primary.mat-background-primary>.mat-tab-header .mat-ink-bar,.mat-tab-group.mat-primary.mat-background-primary>.mat-tab-link-container .mat-ink-bar,.mat-tab-nav-bar.mat-primary.mat-background-primary>.mat-tab-header .mat-ink-bar,.mat-tab-nav-bar.mat-primary.mat-background-primary>.mat-tab-link-container .mat-ink-bar{background-color:#fff}.mat-tab-group.mat-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-group.mat-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#ff8a804d}.mat-tab-group.mat-accent .mat-ink-bar,.mat-tab-nav-bar.mat-accent .mat-ink-bar{background-color:#ff5252}.mat-tab-group.mat-accent.mat-background-accent>.mat-tab-header .mat-ink-bar,.mat-tab-group.mat-accent.mat-background-accent>.mat-tab-link-container .mat-ink-bar,.mat-tab-nav-bar.mat-accent.mat-background-accent>.mat-tab-header .mat-ink-bar,.mat-tab-nav-bar.mat-accent.mat-background-accent>.mat-tab-link-container .mat-ink-bar{background-color:#000000de}.mat-tab-group.mat-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-group.mat-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#ffcdd24d}.mat-tab-group.mat-warn .mat-ink-bar,.mat-tab-nav-bar.mat-warn .mat-ink-bar{background-color:#c40000}.mat-tab-group.mat-warn.mat-background-warn>.mat-tab-header .mat-ink-bar,.mat-tab-group.mat-warn.mat-background-warn>.mat-tab-link-container .mat-ink-bar,.mat-tab-nav-bar.mat-warn.mat-background-warn>.mat-tab-header .mat-ink-bar,.mat-tab-nav-bar.mat-warn.mat-background-warn>.mat-tab-link-container .mat-ink-bar{background-color:#fff}.mat-tab-group.mat-background-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-background-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-group.mat-background-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-background-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#c5cae94d}.mat-tab-group.mat-background-primary>.mat-tab-header,.mat-tab-group.mat-background-primary>.mat-tab-link-container,.mat-tab-group.mat-background-primary>.mat-tab-header-pagination,.mat-tab-nav-bar.mat-background-primary>.mat-tab-header,.mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container,.mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination{background-color:#1e31eb}.mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-label,.mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-tab-link,.mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-label,.mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-tab-link{color:#fff}.mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-label.mat-tab-disabled,.mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-tab-link.mat-tab-disabled,.mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-label.mat-tab-disabled,.mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-tab-link.mat-tab-disabled{color:#fff6}.mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-chevron,.mat-tab-group.mat-background-primary>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-focus-indicator:before,.mat-tab-group.mat-background-primary>.mat-tab-header .mat-focus-indicator:before,.mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-focus-indicator:before,.mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-focus-indicator:before{border-color:#fff}.mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.mat-tab-group.mat-background-primary>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:#fff;opacity:.4}.mat-tab-group.mat-background-primary>.mat-tab-header .mat-ripple-element,.mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-ripple-element,.mat-tab-group.mat-background-primary>.mat-tab-header-pagination .mat-ripple-element,.mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-ripple-element,.mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-ripple-element,.mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination .mat-ripple-element{background-color:#fff;opacity:.12}.mat-tab-group.mat-background-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-background-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-group.mat-background-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-background-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#ff8a804d}.mat-tab-group.mat-background-accent>.mat-tab-header,.mat-tab-group.mat-background-accent>.mat-tab-link-container,.mat-tab-group.mat-background-accent>.mat-tab-header-pagination,.mat-tab-nav-bar.mat-background-accent>.mat-tab-header,.mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container,.mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination{background-color:#ff5252}.mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-label,.mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-tab-link,.mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-label,.mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-tab-link{color:#000000de}.mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-label.mat-tab-disabled,.mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-tab-link.mat-tab-disabled,.mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-label.mat-tab-disabled,.mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-tab-link.mat-tab-disabled{color:#0006}.mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-chevron,.mat-tab-group.mat-background-accent>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-focus-indicator:before,.mat-tab-group.mat-background-accent>.mat-tab-header .mat-focus-indicator:before,.mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-focus-indicator:before,.mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-focus-indicator:before{border-color:#000000de}.mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.mat-tab-group.mat-background-accent>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:#000;opacity:.4}.mat-tab-group.mat-background-accent>.mat-tab-header .mat-ripple-element,.mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-ripple-element,.mat-tab-group.mat-background-accent>.mat-tab-header-pagination .mat-ripple-element,.mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-ripple-element,.mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-ripple-element,.mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination .mat-ripple-element{background-color:#000;opacity:.12}.mat-tab-group.mat-background-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-background-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-group.mat-background-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-background-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#ffcdd24d}.mat-tab-group.mat-background-warn>.mat-tab-header,.mat-tab-group.mat-background-warn>.mat-tab-link-container,.mat-tab-group.mat-background-warn>.mat-tab-header-pagination,.mat-tab-nav-bar.mat-background-warn>.mat-tab-header,.mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container,.mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination{background-color:#c40000}.mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-label,.mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-tab-link,.mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-label,.mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-tab-link{color:#fff}.mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-label.mat-tab-disabled,.mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-tab-link.mat-tab-disabled,.mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-label.mat-tab-disabled,.mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-tab-link.mat-tab-disabled{color:#fff6}.mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-chevron,.mat-tab-group.mat-background-warn>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-focus-indicator:before,.mat-tab-group.mat-background-warn>.mat-tab-header .mat-focus-indicator:before,.mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-focus-indicator:before,.mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-focus-indicator:before{border-color:#fff}.mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.mat-tab-group.mat-background-warn>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:#fff;opacity:.4}.mat-tab-group.mat-background-warn>.mat-tab-header .mat-ripple-element,.mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-ripple-element,.mat-tab-group.mat-background-warn>.mat-tab-header-pagination .mat-ripple-element,.mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-ripple-element,.mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-ripple-element,.mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination .mat-ripple-element{background-color:#fff;opacity:.12}.mat-toolbar{background:whitesmoke;color:#000000de}.mat-toolbar.mat-primary{background:#1e31eb;color:#fff}.mat-toolbar.mat-accent{background:#ff5252;color:#000000de}.mat-toolbar.mat-warn{background:#c40000;color:#fff}.mat-toolbar .mat-form-field-underline,.mat-toolbar .mat-form-field-ripple,.mat-toolbar .mat-focused .mat-form-field-ripple{background-color:currentColor}.mat-toolbar .mat-form-field-label,.mat-toolbar .mat-focused .mat-form-field-label,.mat-toolbar .mat-select-value,.mat-toolbar .mat-select-arrow,.mat-toolbar .mat-form-field.mat-focused .mat-select-arrow{color:inherit}.mat-toolbar .mat-input-element{caret-color:currentColor}.mat-toolbar-multiple-rows{min-height:64px}.mat-toolbar-row,.mat-toolbar-single-row{height:64px}@media (max-width: 599px){.mat-toolbar-multiple-rows{min-height:56px}.mat-toolbar-row,.mat-toolbar-single-row{height:56px}}.mat-tooltip{background:rgba(97,97,97,.9)}.mat-tree{background:white}.mat-tree-node,.mat-nested-tree-node{color:#000000de}.mat-tree-node{min-height:48px}.mat-snack-bar-container{color:#ffffffb3;background:#323232;box-shadow:0 3px 5px -1px #0003,0 6px 10px #00000024,0 1px 18px #0000001f}.mat-simple-snackbar-action{color:#ff5252}.mat-ripple-element{background-color:#0000001a}.mat-option{color:#000000de}.mat-option:hover:not(.mat-option-disabled),.mat-option:focus:not(.mat-option-disabled){background:rgba(0,0,0,.04)}.mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled){background:rgba(0,0,0,.04)}.mat-option.mat-active{background:rgba(0,0,0,.04);color:#000000de}.mat-option.mat-option-disabled{color:#00000061}.mat-primary .mat-option.mat-selected:not(.mat-option-disabled){color:#1e31eb}.mat-accent .mat-option.mat-selected:not(.mat-option-disabled){color:#ff5252}.mat-warn .mat-option.mat-selected:not(.mat-option-disabled){color:#c40000}.mat-optgroup-label{color:#0000008a}.mat-optgroup-disabled .mat-optgroup-label{color:#00000061}.mat-pseudo-checkbox{color:#0000008a}.mat-pseudo-checkbox:after{color:#fafafa}.mat-pseudo-checkbox-disabled{color:#b0b0b0}.mat-primary .mat-pseudo-checkbox-checked,.mat-primary .mat-pseudo-checkbox-indeterminate{background:#1e31eb}.mat-pseudo-checkbox-checked,.mat-pseudo-checkbox-indeterminate,.mat-accent .mat-pseudo-checkbox-checked,.mat-accent .mat-pseudo-checkbox-indeterminate{background:#ff5252}.mat-warn .mat-pseudo-checkbox-checked,.mat-warn .mat-pseudo-checkbox-indeterminate{background:#c40000}.mat-pseudo-checkbox-checked.mat-pseudo-checkbox-disabled,.mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-disabled{background:#b0b0b0}.mat-app-background{background-color:#fafafa;color:#000000de}.mat-elevation-z0{box-shadow:0 0 #0003,0 0 #00000024,0 0 #0000001f}.mat-elevation-z1{box-shadow:0 2px 1px -1px #0003,0 1px 1px #00000024,0 1px 3px #0000001f}.mat-elevation-z2{box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}.mat-elevation-z3{box-shadow:0 3px 3px -2px #0003,0 3px 4px #00000024,0 1px 8px #0000001f}.mat-elevation-z4{box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f}.mat-elevation-z5{box-shadow:0 3px 5px -1px #0003,0 5px 8px #00000024,0 1px 14px #0000001f}.mat-elevation-z6{box-shadow:0 3px 5px -1px #0003,0 6px 10px #00000024,0 1px 18px #0000001f}.mat-elevation-z7{box-shadow:0 4px 5px -2px #0003,0 7px 10px 1px #00000024,0 2px 16px 1px #0000001f}.mat-elevation-z8{box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.mat-elevation-z9{box-shadow:0 5px 6px -3px #0003,0 9px 12px 1px #00000024,0 3px 16px 2px #0000001f}.mat-elevation-z10{box-shadow:0 6px 6px -3px #0003,0 10px 14px 1px #00000024,0 4px 18px 3px #0000001f}.mat-elevation-z11{box-shadow:0 6px 7px -4px #0003,0 11px 15px 1px #00000024,0 4px 20px 3px #0000001f}.mat-elevation-z12{box-shadow:0 7px 8px -4px #0003,0 12px 17px 2px #00000024,0 5px 22px 4px #0000001f}.mat-elevation-z13{box-shadow:0 7px 8px -4px #0003,0 13px 19px 2px #00000024,0 5px 24px 4px #0000001f}.mat-elevation-z14{box-shadow:0 7px 9px -4px #0003,0 14px 21px 2px #00000024,0 5px 26px 4px #0000001f}.mat-elevation-z15{box-shadow:0 8px 9px -5px #0003,0 15px 22px 2px #00000024,0 6px 28px 5px #0000001f}.mat-elevation-z16{box-shadow:0 8px 10px -5px #0003,0 16px 24px 2px #00000024,0 6px 30px 5px #0000001f}.mat-elevation-z17{box-shadow:0 8px 11px -5px #0003,0 17px 26px 2px #00000024,0 6px 32px 5px #0000001f}.mat-elevation-z18{box-shadow:0 9px 11px -5px #0003,0 18px 28px 2px #00000024,0 7px 34px 6px #0000001f}.mat-elevation-z19{box-shadow:0 9px 12px -6px #0003,0 19px 29px 2px #00000024,0 7px 36px 6px #0000001f}.mat-elevation-z20{box-shadow:0 10px 13px -6px #0003,0 20px 31px 3px #00000024,0 8px 38px 7px #0000001f}.mat-elevation-z21{box-shadow:0 10px 13px -6px #0003,0 21px 33px 3px #00000024,0 8px 40px 7px #0000001f}.mat-elevation-z22{box-shadow:0 10px 14px -6px #0003,0 22px 35px 3px #00000024,0 8px 42px 7px #0000001f}.mat-elevation-z23{box-shadow:0 11px 14px -7px #0003,0 23px 36px 3px #00000024,0 9px 44px 8px #0000001f}.mat-elevation-z24{box-shadow:0 11px 15px -7px #0003,0 24px 38px 3px #00000024,0 9px 46px 8px #0000001f}.mat-theme-loaded-marker{display:none}.extension-container{display:inline-block;font-size:15px;border:1px solid var(--primary);border-radius:15px;margin-right:10px}.extension-container mat-icon{vertical-align:middle;font-size:15px;height:15px;width:15px;color:var(--danger);margin-right:10px;cursor:pointer}.extension-container span{margin-left:10px}.key-value-list-section-title{background:linear-gradient(to right,var(--gray) 0%,rgb(255,255,255) 100%) left bottom #fff no-repeat;background-size:100% 1px}.value-pairs-list{list-style:none;padding:0}.value-pairs-list mat-icon{vertical-align:middle;font-size:15px;height:15px;width:15px;color:var(--danger);margin-right:10px;cursor:pointer}::ng-deep .mat-dialog-container{border-radius:10px}.row.title{background-color:#ebebeb;padding:20px 0 20px 50px}.row.title mat-icon.add{background:#fff;color:#7b7b7b;height:40px;width:40px;border-radius:10px;font-size:27px;padding:7px 6px 6px 7px;margin:0 7px 0 0}.row.title .header-title-standard{display:flex;align-items:center;font-size:19px;font-weight:700;color:gray}.row:not(.title){margin:15px 0 0}form{margin:25px 0 0}eqp-select ::ng-deep mat-select{background:url(/assets/images/arrow.png) no-repeat;background-size:15px;background-position:95% 21px;border:1px solid #e7e7e9;border-radius:10px;padding:15px 0 15px 20px!important;margin-top:-1px;background-color:#fff}eqp-select ::ng-deep mat-select:focus{border:1px solid #6F79FB}::ng-deep .mat-select-arrow{color:transparent!important}input[type=number]{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none}.increasableValues{display:flex}.increasableValues .col-sm-12{display:flex;flex-direction:column;margin:0 3em 0 0}.increasableValues .col-sm-12 .mat-form-field{height:79px;line-height:34px;width:50%}.increasableValues .col-sm-12 .mat-form-field ::ng-deep .mat-form-field-flex{width:230px;border:1px solid #e7e7e9;border-radius:10px;padding:7px 0 0 20px!important;margin-top:10px;background-color:#fff}.increasableValues .col-sm-12 .mat-form-field ::ng-deep .mat-form-field-flex .mat-form-field-infix{display:flex;margin:-10px 0 0}.increasableValues .col-sm-12 .mat-form-field ::ng-deep .mat-form-field-flex .mat-form-field-infix input{margin:0;border:none;height:100%}.increasableValues .col-sm-12 .mat-form-field div.buttons{display:flex;flex-direction:column;margin:-10px 0 0;border-right:1px solid #F4F4F4;padding:10px 14px 0 0}.increasableValues .col-sm-12 .mat-form-field div.buttons button.up{height:17px;width:21px;background:url(/assets/images/arrow.png) no-repeat;background-size:20px;background-position-y:1px;background-position-x:1px;-webkit-transform:rotate(180deg);border:none;opacity:.3;cursor:pointer}.increasableValues .col-sm-12 .mat-form-field div.buttons button.down{height:50px;width:23px;background:url(/assets/images/arrow.png) no-repeat no-repeat;background-size:20px;border:none;opacity:.3;background-position-y:21px;background-position-x:0px;cursor:pointer}.increasableValues .col-sm-12 .mat-form-field input{margin:-14px 0 0 63px;font-size:18px}.second .col-sm-12{margin:0 1em 0 0}.date ::ng-deep mat-form-field .mat-form-field-wrapper .mat-form-field-label-wrapper label{display:none}.date ::ng-deep mat-form-field .mat-form-field-wrapper .mat-form-field-suffix{display:inline}eqp-attachments ::ng-deep div button{padding:5px 35px;background:linear-gradient(to right,#1E31EB,#693DDA);border-radius:10px}eqp-attachments ::ng-deep div button span mat-icon{margin-right:5px}eqp-attachments ::ng-deep div button.eqp-attachments-delete-btn{color:#fff}::ng-deep mat-dialog-container .container-fluid.eqp-attachments-dialog-add-container form .row:first-child{padding:20px 40px;background-color:#ebebeb;color:gray;font-size:19px;font-weight:700}::ng-deep mat-dialog-container .container-fluid.eqp-attachments-dialog-add-container form .mat-form-field-label-wrapper label{margin-top:21px;margin-left:25px}::ng-deep mat-dialog-container .container-fluid.eqp-attachments-dialog-add-container form .btn-primary[disabled]{padding:7px 35px;border-radius:10px;font-size:14px;background-color:#dbdbdc!important;color:#000;background:none}::ng-deep mat-dialog-container .container-fluid.eqp-attachments-dialog-add-container form .btn-primary:not(disabled){padding:7px 35px;border-radius:10px;font-size:14px;background:linear-gradient(to right,#1E31EB,#693DDA);color:#fff}::ng-deep mat-dialog-container .container-fluid.eqp-attachments-dialog-add-container form button{margin:0 10px 0 0!important;border:1px solid #1E31EB;padding:7px 35px;border-radius:10px;font-size:14px}::ng-deep mat-dialog-container .container-fluid.eqp-attachments-dialog-add-container form button[disabled]{border:none}::ng-deep mat-dialog-container .container-fluid.eqp-attachments-dialog-add-container form .ng-star-inserted .justify-content-center button{padding:4px;margin:0;border:none;left:8px}::ng-deep mat-dialog-container .container-fluid.eqp-attachments-dialog-add-container form .row:last-child{padding:50px 20px 20px 0}eqp-table ::ng-deep mat-form-field:not(.mat-paginator-page-size-select) .mat-form-field-wrapper input{background-color:#ebebeb!important;background:url(data:image/png;base64,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) no-repeat;background-size:19px;background-position:19px;padding:15px 0 15px 53px!important}eqp-table ::ng-deep mat-form-field:not(.mat-paginator-page-size-select) .mat-form-field-wrapper input:focus{background-color:#fff!important;border:1px solid #e7e7e9}eqp-table ::ng-deep mat-form-field:not(.mat-paginator-page-size-select) .mat-form-field-wrapper .mat-form-field-label-wrapper label{margin-top:21px;margin-left:55px}eqp-table ::ng-deep mat-header-row{background-color:#ebebeb;border-bottom-width:0px}eqp-table ::ng-deep mat-header-row .mat-column-Required{flex:none!important}eqp-table ::ng-deep .mat-sort-header-button{color:#3b3a3b;font-size:15px}eqp-table ::ng-deep .mat-row{background-color:#fff;margin:10px 0;box-shadow:0 3px 7px -3px #0003;padding:5px 0}eqp-table ::ng-deep .mat-row .mat-column-Required{flex:0 0 8%!important}eqp-table ::ng-deep .mat-row mat-cell eqp-select{margin-top:16px}eqp-table ::ng-deep .mat-row mat-cell eqp-select .mat-form-field-wrapper{padding-bottom:0}eqp-table ::ng-deep .mat-row .mat-cell:last-child span i.success-color{background-color:#383fec;color:#fff!important;padding:6px;border-radius:3px}@media screen and (max-width: 1100px){.row:not(.title){margin:0!important}.second{display:flex;flex-direction:column}.second .col-sm-12{margin:0}.buttonsForm{padding:0 30px 20px 0;margin:50px 0 0}}@media screen and (max-width: 766px){.increasableValues{display:flex;flex-direction:column}.increasableValues .col-sm-12{margin:0 0 -1.5em}.second{display:flex;flex-direction:column}.second .col-sm-12{margin:0 0 -3.4em}.buttonsForm{margin:55px 0 0!important;padding:0 13px 20px 0;transform:translateY(110px)}}@media screen and (max-width: 577px){.increasableValues .col-sm-12{margin:0 0 1.5em}}:host ::ng-deep .mat-input-element{width:100%;width:-moz-available;width:-webkit-fill-available;width:fill-available}\n"] }]
612
624
  }], ctorParameters: function () { return [{ type: i1.UntypedFormBuilder }, { type: i2.EnumHelper }, { type: i3.MatDialog }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { field: [{
613
625
  type: Input
614
626
  }], indexField: [{
@@ -655,4 +667,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImpor
655
667
  type: ViewChild,
656
668
  args: ['buttonImagesKeyValueInputColumn', { static: true }]
657
669
  }] } });
658
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLWZvcm0tZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXFwLWR5bmFtaWMtbW9kdWxlL3NyYy9saWIvY29tcG9uZW50cy9wcml2YXRlL2FkZC1mb3JtLWZpZWxkL2FkZC1mb3JtLWZpZWxkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VxcC1keW5hbWljLW1vZHVsZS9zcmMvbGliL2NvbXBvbmVudHMvcHJpdmF0ZS9hZGQtZm9ybS1maWVsZC9hZGQtZm9ybS1maWVsZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFCLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBZSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUgsT0FBTyxFQUFvRCxrQkFBa0IsRUFBbUQsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbkssT0FBTyxFQUFFLGNBQWMsRUFBMkMsTUFBTSw0QkFBNEIsQ0FBQztBQUNyRyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFL0QsT0FBTyxFQUFnQixVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFLGFBQWEsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzdGLE9BQU8sRUFBRSxlQUFlLEVBQUUsdUJBQXVCLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUNsSSxPQUFPLEVBQWdCLG9CQUFvQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDL0YsT0FBTyxFQUFhLGdCQUFnQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFFckYsT0FBTyxFQUFlLG9CQUFvQixFQUFrQixNQUFNLDZDQUE2QyxDQUFDO0FBSWhILE9BQU8sRUFBRSxZ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LHNCQUFzQjtzQkFBNUUsU0FBUzt1QkFBQyx3QkFBd0IsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBQ00sMEJBQTBCO3NCQUFwRixTQUFTO3VCQUFDLDRCQUE0QixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFDRCx1QkFBdUI7c0JBQTlFLFNBQVM7dUJBQUMseUJBQXlCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQVlSLGFBQWE7c0JBQTFELFNBQVM7dUJBQUMsZUFBZSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFJb0IsK0JBQStCO3NCQUE5RixTQUFTO3VCQUFDLGlDQUFpQyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgRm9ybUNvbnRyb2wsIFVudHlwZWRGb3JtQnVpbGRlciwgVW50eXBlZEZvcm1Db250cm9sLCBVbnR5cGVkRm9ybUdyb3VwLCBWYWxpZGF0aW9uRXJyb3JzLCBWYWxpZGF0b3JGbiwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTWF0RGlhbG9nLCBNYXREaWFsb2dSZWYgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5pbXBvcnQgeyBBdHRhY2htZW50VHlwZSwgRXFwQXR0YWNobWVudHNDb21wb25lbnQsIElBdHRhY2htZW50RFRPIH0gZnJvbSAnQGVxcHJvamVjdC9lcXAtYXR0YWNobWVudHMnO1xyXG5pbXBvcnQgeyBQaWNrZXJNb2RlRW51bSB9IGZyb20gJ0BlcXByb2plY3QvZXFwLWRhdGV0aW1lcGlja2VyJztcclxuaW1wb3J0IHsgRW51bUhlbHBlciB9IGZyb20gJ0BlcXByb2plY3QvZXFwLXNlbGVjdCc7XHJcbmltcG9ydCB7IENvbmZpZ0NvbHVtbiwgVHlwZUNvbHVtbiB9IGZyb20gJ0BlcXByb2plY3QvZXFwLXRhYmxlJztcclxuaW1wb3J0IHsgQmFzZUZpZWxkLCBDb2xTcGFuU2l6ZXNFbnVtLCBGaWVsZFR5cGVFbnVtIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2Jhc2VGaWVsZC5tb2RlbCc7XHJcbmltcG9ydCB7IEF0dGFjaG1lbnRGaWVsZCwgQXZhaWxhYmxlRmlsZUV4dGVuc2lvbnMsIEF2YWlsYWJsZUltYWdlRXh0ZW5zaW9ucyB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9maWVsZHMvYXR0YWNobWVudEZpZWxkLm1vZGVsJztcclxuaW1wb3J0IHsgQm9vbGVhbkZpZWxkLCBCb29sUHJlc2VudGFudGlvRW51bSB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9maWVsZHMvYm9vbGVhbkZpZWxkLm1vZGVsJztcclxuaW1wb3J0IHsgRGF0ZUZpZWxkLCBEYXRlVGltZVR5cGVFbnVtIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2ZpZWxkcy9kYXRlRmllbGQubW9kZWwnO1xyXG5pbXBvcnQgeyBJbWFnZUZpZWxkIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2ZpZWxkcy9pbWFnZUZpZWxkLm1vZGVsJztcclxuaW1wb3J0IHsgQnV0dG9uSW1hZ2UsIExpc3RQcmVzZW50YXRpb25FbnVtLCBMaXN0VmFsdWVGaWVsZCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9maWVsZHMvbGlzdFZhbHVlRmllbGQubW9kZWwnO1xyXG5pbXBvcnQgeyBMb29rdXBGaWVsZCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9maWVsZHMvbG9va3VwRmllbGQubW9kZWwnO1xyXG5pbXBvcnQgeyBOdW1lcmljRmllbGQgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZmllbGRzL251bWVyaWNGaWVsZC5tb2RlbCc7XHJcbmltcG9ydCB7IFRleHRhcmVhRmllbGQgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZmllbGRzL3RleHRhcmVhRmllbGQubW9kZWwnO1xyXG5pbXBvcnQgeyBUZXh0TWFza0VudW0sIFRleHRGaWVsZCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9maWVsZHMvdGV4dEZpZWxkLm1vZGVsJztcclxuaW1wb3J0IHsgRm9ybUZpZWxkR3JvdXAgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZm9ybS5tb2RlbCc7XHJcbmltcG9ydCB7IFV0aWxpdHlIZWxwZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvdXRpbGl0eUhlbHBlci5zZXJ2aWNlcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2VxcC1keW5hbWljLW1vZHVsZS1hZGQtZm9ybS1maWVsZCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2FkZC1mb3JtLWZpZWxkLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9hZGQtZm9ybS1maWVsZC5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBZGRGb3JtRmllbGRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBASW5wdXQoKSBmaWVsZDogQmFzZUZpZWxkIHwgYW55O1xyXG4gIEBJbnB1dCgpIGluZGV4RmllbGQ6IG51bWJlcjtcclxuICBASW5wdXQoKSBmb3JtRmllbGRzR3JvdXBzOiBBcnJheTxGb3JtRmllbGRHcm91cD47XHJcbiAgLyoqIEVsZW5jbyBkZWkgRmllbGQgY3JlYXRpIG5lbGxhIGZvcm0sIHVzYXRpIHBlciBwb3BvbGFyZSBsJ2F1dG9jb21wbGV0ZSBkZWxsYSBwcm9wcmlldMOgIEZvcm11bGEuICovXHJcbiAgQElucHV0KCkgYXZhaWxhYmxlRmllbGRzOiBBcnJheTxCYXNlRmllbGQ+O1xyXG4gIEBJbnB1dCgpIGZpZWxkVHlwZXNUb0V4Y2x1ZGU6IEFycmF5PEZpZWxkVHlwZUVudW0+ID0gW0ZpZWxkVHlwZUVudW1bJ0Zvcm0gZGkgZGV0dGFnbGlvJ11dO1xyXG5cclxuICBmaWVsZEZvcm1Hcm91cDogVW50eXBlZEZvcm1Hcm91cDtcclxuICBrZXlWYWx1ZU9iamVjdDogeyBrZXk6IHN0cmluZywgdmFsdWU6IHN0cmluZyB9ID0geyBrZXk6ICcnLCB2YWx1ZTogJycgfTtcclxuICBhdmFpbGFibGVDb2xTcGFuU2l6ZXM6IEFycmF5PENvbFNwYW5TaXplc0VudW0+ID0gW107XHJcbiAgZm9ybXVsYUF1dG9jb21wbGV0ZU9wdGlvbnM6IEFycmF5PHsgbGFiZWw6IHN0cmluZywgdmFsdWU6IHN0cmluZyB9PjtcclxuICBWaXNpYmxlSWZBdXRvY29tcGxldGVPcHRpb25zOiBBcnJheTx7IGxhYmVsOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcgfT47XHJcbiAgQXZhaWxhYmxlRmlsZUV4dGVuc2lvbnMgPSBBdmFpbGFibGVGaWxlRXh0ZW5zaW9ucztcclxuICBBdmFpbGFibGVJbWFnZUV4dGVuc2lvbnMgPSBBdmFpbGFibGVJbWFnZUV4dGVuc2lvbnM7XHJcblxyXG4gIEBPdXRwdXQoKSBzYXZlRmllbGRFdmVudDogRXZlbnRFbWl0dGVyPEJhc2VGaWVsZCB8IGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPEJhc2VGaWVsZCB8IGFueT4oKTtcclxuXHJcbiAgLy8jcmVnaW9uIFRlbXBsYXRlIGRlaSB2YXJpIHBlenppIGRpIGZvcm0gcGVyIGxhIGNyZWF6aW9uZSBkaSB1biBjYW1wbyhpbiBiYXNlIGFsIHRpcG8gc2NlbHRvKS5cclxuICBmaWVsZFR5cGVGb3JtVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgQFZpZXdDaGlsZCgndGV4dEZpZWxkRm9ybVRlbXBsYXRlJywgeyBzdGF0aWM6IHRydWUgfSkgdGV4dEZpZWxkRm9ybVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gIEBWaWV3Q2hpbGQoJ3RleHRhcmVhRmllbGRGb3JtVGVtcGxhdGUnLCB7IHN0YXRpYzogdHJ1ZSB9KSB0ZXh0YXJlYUZpZWxkRm9ybVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gIEBWaWV3Q2hpbGQoJ2Jvb2xlYWRGaWVsZEZvcm1UZW1wbGF0ZScsIHsgc3RhdGljOiB0cnVlIH0pIGJvb2xlYWRGaWVsZEZvcm1UZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcclxuICBAVmlld0NoaWxkKCdkYXRlRmllbGRGb3JtVGVtcGxhdGUnLCB7IHN0YXRpYzogdHJ1ZSB9KSBkYXRlRmllbGRGb3JtVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgQFZpZXdDaGlsZCgnbnVtZXJpY0ZpZWxkRm9ybVRlbXBsYXRlJywgeyBzdGF0aWM6IHRydWUgfSkgbnVtZXJpY0ZpZWxkRm9ybVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gIEBWaWV3Q2hpbGQoJ2F0dGFjaG1lbnRGaWVsZEZvcm1UZW1wbGF0ZScsIHsgc3RhdGljOiB0cnVlIH0pIGF0dGFjaG1lbnRGaWVsZEZvcm1UZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcclxuICBAVmlld0NoaWxkKCdpbWFnZUZpZWxkRm9ybVRlbXBsYXRlJywgeyBzdGF0aWM6IHRydWUgfSkgaW1hZ2VGaWVsZEZvcm1UZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcclxuICBAVmlld0NoaWxkKCdsaXN0VmFsdWVGaWVsZEZvcm1UZW1wbGF0ZScsIHsgc3RhdGljOiB0cnVlIH0pIGxpc3RWYWx1ZUZpZWxkRm9ybVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gIEBWaWV3Q2hpbGQoJ2xvb2t1cEZpZWxkRm9ybVRlbXBsYXRlJywgeyBzdGF0aWM6IHRydWUgfSkgbG9va3VwRmllbGRGb3JtVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgLy8jZW5kcmVnaW9uXHJcblxyXG4gIC8vI3JlZ2lvbiBQcm9wcmlldMOgIHBlciBnZXN0aXJlIGkgbWV0YWRhdGEgbmVpIGNhbXBpIHRpIGRpcG8gQWxsZWdhdG8gbyBJbW1hZ2luZVxyXG4gIG1ldGFkYXRhQ29sdW1uczogQXJyYXk8Q29uZmlnQ29sdW1uPjtcclxuICAvL0BWaWV3Q2hpbGQoJ21ldGFkYXRhRmllbGRzVGFibGUnLCB7IHN0YXRpYzogZmFsc2UgfSkgbWV0YWRhdGFGaWVsZHNUYWJsZTogRXFwVGFibGVDb21wb25lbnQ7XHJcbiAgc2VsZWN0ZWRNZXRhZGF0YTogQmFzZUZpZWxkO1xyXG4gIC8vaW5kZXhTZWxlY3RlZE1ldGFkYXRhOiBudW1iZXI7XHJcbiAgLy9kaWFsb2dNZXRhZGF0YVJlZjogTWF0RGlhbG9nUmVmPFRlbXBsYXRlUmVmPGFueT4+O1xyXG4gIGRpYWxvZ0Zvcm11bGFSZWY6IE1hdERpYWxvZ1JlZjxUZW1wbGF0ZVJlZjxhbnk+PjtcclxuICBkaWFsb2dWaXNpYmxlSWZSZWY6IE1hdERpYWxvZ1JlZjxUZW1wbGF0ZVJlZjxhbnk+PjtcclxuICAvL0BWaWV3Q2hpbGQoJ2RpYWxvZ01ldGFkYXRhJywgeyBzdGF0aWM6IHRydWUgfSkgZGlhbG9nTWV0YWRhdGE6IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgQFZpZXdDaGlsZCgnZGlhbG9nRm9ybXVsYScsIHsgc3RhdGljOiB0cnVlIH0pIGRpYWxvZ0Zvcm11bGE6IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgLy8jZW5kcmVnaW9uXHJcblxyXG4gIC8vI3JlZ2lvbiBQcm9wcmlldMOgIHBlciBnZXN0aXJlIGxlIGltbWFnaW5pIG5laSBjYXBpIGRpIHRpcG8gZWxlbmNvIGdlbmVyaWNvXHJcbiAgQFZpZXdDaGlsZCgnYnV0dG9uSW1hZ2VzS2V5VmFsdWVJbnB1dENvbHVtbicsIHsgc3RhdGljOiB0cnVlIH0pIGJ1dHRvbkltYWdlc0tleVZhbHVlSW5wdXRDb2x1bW46IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgLy8jZW5kcmVnaW9uXHJcblxyXG4gIC8vI3JlZ2lvbiBFbnVtZXJhdG9yaSB1c2F0aSBuZWxsJ2h0bWxcclxuICBGaWVsZFR5cGVFbnVtID0gRmllbGRUeXBlRW51bTtcclxuICBCb29sUHJlc2VudGFudGlvRW51bSA9IEJvb2xQcmVzZW50YW50aW9FbnVtO1xyXG4gIERhdGVUaW1lVHlwZUVudW0gPSBEYXRlVGltZVR5cGVFbnVtO1xyXG4gIExpc3RQcmVzZW50YXRpb25FbnVtID0gTGlzdFByZXNlbnRhdGlvbkVudW07XHJcbiAgVGV4dE1hc2tFbnVtID0gVGV4dE1hc2tFbnVtO1xyXG4gIEF0dGFjaG1lbnRUeXBlID0gQXR0YWNobWVudFR5cGU7XHJcbiAgcGlja2VyTW9kZUVudW0gPSBQaWNrZXJNb2RlRW51bTtcclxuICBzdWJzY3JpcHRpb246IGFueTtcclxuXHJcbiAgLy8jZW5kcmVnaW9uXHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBmb3JtQnVpbGRlcjogVW50eXBlZEZvcm1CdWlsZGVyLFxyXG4gICAgcHJpdmF0ZSBlbnVtSGVscGVyOiBFbnVtSGVscGVyLFxyXG4gICAgcHJpdmF0ZSBkaWFsb2c6IE1hdERpYWxvZyxcclxuICAgIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZlxyXG4gICkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLmZpZWxkVHlwZXNUb0V4Y2x1ZGUuaW5jbHVkZXMoRmllbGRUeXBlRW51bVsnRm9ybSBkaSBkZXR0YWdsaW8nXSkpIHtcclxuICAgICAgdGhpcy5maWVsZFR5cGVzVG9FeGNsdWRlLnB1c2goRmllbGRUeXBlRW51bVsnRm9ybSBkaSBkZXR0YWdsaW8nXSk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5vbkZpZWxkVHlwZUNoYW5nZShmYWxzZSk7XHJcbiAgICB0aGlzLmF2YWlsYWJsZUZpZWxkcyA9IHRoaXMuYXZhaWxhYmxlRmllbGRzID8gdGhpcy5hdmFpbGFibGVGaWVsZHMuZmlsdGVyKGYgPT4gZiAhPSB0aGlzLmZpZWxkKSA6IFtdO1xyXG4gICAgLy90aGlzLmNvbmZpZ3VyZUNvbHVtbnMoKTtcclxuICAgIFxyXG4gICAgXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBNZXRvZG8gcGVyIGltcG9zdGFyZSBpIHZhbG9yaSBkYSBzdWdnZXJpcmUgbmVsbCdhdXRvY29tcGxldGUgZGVsIGNhbXBvIEZvcm11bGEuXHJcbiAgICogVmllbmUgc2NhdGVuYXRvIGFsIGZvY3VzIChpbiBxdWVzdG8gY2FzbyB2aWVuZSBwYXNzYXRvIGlsIHBhcmFtZXRybyBhIG51bGwgcGVyIGRpZmZlcmVuemlhcmxvXHJcbiAgICogZGFsbCdldmVudG8gZGkgY2xpY2sgc3VsbGEgdGFzdGllcmEpIGUgYWwga2V5dXAgc3VsbCdpbnB1dCAoaWwgcGFyYW1ldHJvIMOoIGRpdmVyc28gZGEgbnVsbCkuXHJcbiAgICogQHBhcmFtIGtleWJvYXJkRXZlbnQgRXZlbnRvIHNjYXRlbmF0byBhbCBrZXl1cCBzdWxsYSB0YXN0aWVyYS4gU2UgbnVsbCBhbGxvcmEgaWwgbWV0b2RvIMOoIHN0YXRvIGludm9jYXRvIGRhbCBmb2N1cyBzdWxsJ2lucHV0LlxyXG4gICAqIEBzdW1tYXJ5IEFnZ2lvcm5hIGwnZWxlbmNvIGRlaSBzdWdnZXJpbWVudGkgcGVyIGwnYXV0b2NvbXBsZXRlIHNlIGwndXRlbnRlIGVzZWd1ZSBpbCBmb2N1cyBzdWxsJ2lucHV0XHJcbiAgICogb3BwdXJlIGFsIGtleXVwIHN1bGxhIHRhc3RpZXJhIGRpIHVuIHRhc3RvIGRpdmVyc28gZGFsbGUgZnJlY2NlLlxyXG4gICAqL1xyXG4gIC8vIHNldEZvcm11bGFBdXRvY29tcGxldGVPcHRpb25zKGtleWJvYXJkRXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcclxuICAvLyAgIC8vIENyZW8gbCdhcnJheSBwZXIgbCdhdXRvY29tcGxldGUgc29sbyBzZSBzdG8gZmFjZW5kbyBpbCBmb2N1cyBzdWxsJ2lucHV0IG8gc2Ugc3RvIHByZW1lbmRvIHVuIHRhc3RvXHJcbiAgLy8gICAvLyBzdWxsYSB0YXN0aWVyYSBkaXZlcnNvIGRhbGxlIGZyZWNjZSAoaW4gcXVlc3QndWx0aW1vIGNhc28sIHNlIG5vbiB2aWVuZSBlc2VndWl0byBpbCBmaWx0cm8gc3VsbCdldmVudG8sXHJcbiAgLy8gICAvLyBub24gc2kgcHXDsiBzZWxlemlvbmFyZSB1biBzdWdnZXJpbWVudG8gZGVsbCdhdXRvY29tcGxldGUgcGVyY2jDqCBhbCBjbGljayB2ZXJyZWJiZSByaWNhcmljYXRvIGwnYXJyYXkgZVxyXG4gIC8vICAgLy8gc2kgcHJlZGVyZWJiZSBsYSBzZWxlemlvbmUgYXBwZW5hIGZhdHRhKS5cclxuICAvLyAgIGlmICgha2V5Ym9hcmRFdmVudCB8fCAha2V5Ym9hcmRFdmVudC5jb2RlLmluY2x1ZGVzKFwiQXJyb3dcIikpIHtcclxuICAvLyAgICAgdGhpcy5mb3JtdWxhQXV0b2NvbXBsZXRlT3B0aW9ucyA9IFV0aWxpdHlIZWxwZXJTZXJ2aWNlLkdldEF1dG9jb21wbGV0ZU9wdGlvbnModGhpcy5hdmFpbGFibGVGaWVsZHMsIHRoaXMuZmllbGQuRm9ybXVsYSk7XHJcbiAgLy8gICB9XHJcbiAgLy8gfVxyXG4gIHNldFZpc2libGVJZkF1dG9jb21wbGV0ZU9wdGlvbnMoa2V5Ym9hcmRFdmVudDogS2V5Ym9hcmRFdmVudCkge1xyXG4gICAgLy8gQ3JlbyBsJ2FycmF5IHBlciBsJ2F1dG9jb21wbGV0ZSBzb2xvIHNlIHN0byBmYWNlbmRvIGlsIGZvY3VzIHN1bGwnaW5wdXQgbyBzZSBzdG8gcHJlbWVuZG8gdW4gdGFzdG9cclxuICAgIC8vIHN1bGxhIHRhc3RpZXJhIGRpdmVyc28gZGFsbGUgZnJlY2NlIChpbiBxdWVzdCd1bHRpbW8gY2Fzbywgc2Ugbm9uIHZpZW5lIGVzZWd1aXRvIGlsIGZpbHRybyBzdWxsJ2V2ZW50byxcclxuICAgIC8vIG5vbiBzaSBwdcOyIHNlbGV6aW9uYXJlIHVuIHN1Z2dlcmltZW50byBkZWxsJ2F1dG9jb21wbGV0ZSBwZXJjaMOoIGFsIGNsaWNrIHZlcnJlYmJlIHJpY2FyaWNhdG8gbCdhcnJheSBlXHJcbiAgICAvLyBzaSBwcmVkZXJlYmJlIGxhIHNlbGV6aW9uZSBhcHBlbmEgZmF0dGEpLlxyXG4gICAgaWYgKCFrZXlib2FyZEV2ZW50IHx8ICFrZXlib2FyZEV2ZW50LmNvZGUuaW5jbHVkZXMoXCJBcnJvd1wiKSkge1xyXG4gICAgICB0aGlzLlZpc2libGVJZkF1dG9jb21wbGV0ZU9wdGlvbnMgPSBVdGlsaXR5SGVscGVyU2VydmljZS5HZXRBdXRvY29tcGxldGVPcHRpb25zKHRoaXMuYXZhaWxhYmxlRmllbGRzLCB0aGlzLmZpZWxkLlZpc2libGVJZik7XHJcbiAgICB9XHJcbiAgfVxyXG4gIG9taXRfc3BlY2lhbF9jaGFyKGV2ZW50KSB7XHJcbiAgICB2YXIgaztcclxuICAgIGsgPSBldmVudC5rZXlDb2RlOyAgLy8gICAgICAgICBrID0gZXZlbnQua2V5Q29kZTsgIChCb3RoIGNhbiBiZSB1c2VkKVxyXG4gICAgaWYgKGsgPT0gMzQpIHtcclxuICAgICAgZXZlbnQua2V5Q29kZSA9IDA7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENyZWEgaWwgRm9ybUdyb3VwIHBlciBsJ2FnZ2l1bnRhIGRpIHVuIG51b3ZvIGNhbXBvIGFsbCdpbnRlcm5vIGRlbGxhIGZvcm0uXHJcbiAgICogTWV0b2RvIHJpY2hpYW1hdG8gb2duaSB2b2x0YSBjaGUgY2FtYmlhIGlsIHRpcG8gZGVsIGNhbXBvIHNjZWx0byBvIHZpZW5lIGFnZ2l1bnRvL21vZGlmaWNhdG8gdW4gRmllbGRcclxuICAgKi9cclxuICBjcmVhdGVGaWVsZEZvcm0oKSB7XHJcbiAgICB0aGlzLmZpZWxkRm9ybUdyb3VwID0gdGhpcy5mb3JtQnVpbGRlci5ncm91cCh7XHJcbiAgICAgIExhYmVsOiBbdGhpcy5maWVsZC5MYWJlbCwgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIHRoaXMucXVlc3Rpb25Qb2xsLCBWYWxpZGF0b3JzLnBhdHRlcm4oJ15bYS16QS1aIF0qJCcpXV0sXHJcbiAgICAgIERlc2NyaXB0aW9uOiBbdGhpcy5maWVsZC5EZXNjcmlwdGlvbiwgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIHRoaXMucXVlc3Rpb25Qb2xsXV0sXHJcbiAgICAgIFJlYWRvbmx5OiBbdGhpcy5maWVsZC5SZWFkb25seV0sXHJcbiAgICAgIFJlcXVpcmVkOiBbdGhpcy5maWVsZC5SZXF1aXJlZF0sXHJcbiAgICAgIFZpc2libGVJZjogW3RoaXMuZmllbGQuVmlzaWJsZUlmLCB0aGlzLnF1ZXN0aW9uUG9sbF0sXHJcbiAgICAgIFRvb2x0aXA6IFt0aGlzLmZpZWxkLlRvb2x0aXAsIHRoaXMucXVlc3Rpb25Qb2xsXSxcclxuICAgICAgTGFiZWxzdHlsZUNTUzogW3RoaXMuZmllbGQuTGFiZWxzdHlsZUNTUywgdGhpcy5xdWVzdGlvblBvbGxdLFxyXG4gICAgICBGaWVsZHN0eWxlQ1NTOiBbdGhpcy5maWVsZC5GaWVsZHN0eWxlQ1NTLCB0aGlzLnF1ZXN0aW9uUG9sbF0sXHJcbiAgICAgIEZpZWxkVHlwZTogW3RoaXMuZmllbGQuRmllbGRUeXBlLCBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgdGhpcy5xdWVzdGlvblBvbGxdXSxcclxuICAgICAgRm9ybXVsYTogW3RoaXMuZmllbGQuRm9ybXVsYSwgdGhpcy5xdWVzdGlvblBvbGxdLFxyXG4gICAgICBDb2xTcGFuU2l6ZXM6IFt0aGlzLmZpZWxkLkNvbFNwYW5TaXplc10sXHJcbiAgICAgIEluTGlzdFZpZXc6IFt0aGlzLmZpZWxkLkluTGlzdFZpZXddLFxyXG4gICAgfSk7XHJcblxyXG4gICAgaWYgKHRoaXMuZm9ybUZpZWxkc0dyb3Vwcykge1xyXG4gICAgICB0aGlzLmZpZWxkRm9ybUdyb3VwLmFkZENvbnRyb2woJ0ZpZWxkR3JvdXAnLCBuZXcgVW50eXBlZEZvcm1Db250cm9sKHRoaXMuZmllbGQuRmllbGRHcm91cCwgVmFsaWRhdG9ycy5yZXF1aXJlZCkpO1xyXG4gICAgfVxyXG4gIH1cclxuICBxdWVzdGlvblBvbGwoY29udHJvbDogRm9ybUNvbnRyb2wpOiB7IFtzOiBzdHJpbmddOiBib29sZWFuIH0ge1xyXG4gICAgaWYgKFV0aWxpdHlIZWxwZXJTZXJ2aWNlLnN0cmluZ1Nhbml0aXplcihjb250cm9sLnZhbHVlLCBjb250cm9sLmhhc1ZhbGlkYXRvcihWYWxpZGF0b3JzLnJlcXVpcmVkKSkpIHtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4geyBcIk1pc3NpbmcgUGFyZW50aGVzaXNcIjogdHJ1ZSB9O1xyXG4gICAgfVxyXG4gIH1cclxuICBzdHJpbmdTYW5pdGFpemVkVmFsaWRhdG9yKGNvbnRyb2w6IEZvcm1Db250cm9sKTogeyBbczogc3RyaW5nXTogYm9vbGVhbiB9IHtcclxuICAgIGlmIChcclxuICAgICAgVXRpbGl0eUhlbHBlclNlcnZpY2Uuc3RyaW5nU2FuaXRpemVyKFxyXG4gICAgICAgIGNvbnRyb2wudmFsdWUsIFxyXG4gICAgICAgIGNvbnRyb2wuaGFzVmFsaWRhdG9yKFZhbGlkYXRvcnMucmVxdWlyZWQpXHJcbiAgICAgIClcclxuICAgICkge1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiB7IFwiTGEgZm9ybXVsYSBub24gw6ggdmFsaWRhXCI6IHRydWUgfTtcclxuICAgIH1cclxuICB9XHJcbiAgLy8gZ2V0QWxsRm9ybVZhbGlkYXRpb25FcnJvcnMoKSB7XHJcbiAgLy8gICBPYmplY3Qua2V5cyh0aGlzLmZpZWxkRm9ybUdyb3VwLmNvbnRyb2xzKS5mb3JFYWNoKChrZXkpID0+IHtcclxuICAvLyAgICAgY29uc3QgY29udHJvbEVycm9yczogVmFsaWRhdGlvbkVycm9ycyA9XHJcbiAgLy8gICAgICAgdGhpcy5maWVsZEZvcm1Hcm91cC5nZXQoa2V5KS5lcnJvcnM7XHJcbiAgLy8gICAgIGlmIChjb250cm9sRXJyb3JzICE9IG51bGwpIHtcclxuICAvLyAgICAgICBPYmplY3Qua2V5cyhjb250cm9sRXJyb3JzKS5mb3JFYWNoKChrZXlFcnJvcikgPT4ge1xyXG4gIC8vICAgICAgICAgY29uc29sZS5sb2coXHJcbiAgLy8gICAgICAgICAgIFwiS2V5IGNvbnRyb2w6IFwiICsga2V5ICsgXCIsIGtleUVycm9yOiBcIiArIGtleUVycm9yICsgXCIsIGVyciB2YWx1ZTogXCIsXHJcbiAgLy8gICAgICAgICAgIGNvbnRyb2xFcnJvcnNba2V5RXJyb3JdXHJcbiAgLy8gICAgICAgICApO1xyXG4gIC8vICAgICAgIH0pO1xyXG4gIC8vICAgICB9XHJcbiAgLy8gICB9KTtcclxuICAvLyB9XHJcbiAgXHJcbiAgLyoqXHJcbiAgICogTWV0b2RvIGNoaWFtYXRvIGRhaSBtYXQtZXJyb3IgcGVyIHByZW5kZXJlIGdsaSBlcnJvcmkgZ2VuZXJhdGkgcmVsYXRpdmkgYWwgY2FtcG8uXHJcbiAgICogQHBhcmFtIGNvbnRyb2wgw6ggaWwgbm9tZSBkZWwgR3JvdXBDb250cm9sIGRpIGN1aSBsZWdnZXJlIHNlIGNpIHNvbm8gZXJyb3JpXHJcbiAgICovXHJcbiAgZ2V0Rm9ybVZhbGlkYXRpb25FcnJvcnMoY29udHJvbDogc3RyaW5nKSB7XHJcbiAgICBjb25zdCBjb250cm9sRXJyb3JzOiBWYWxpZGF0aW9uRXJyb3JzID1cclxuICAgICAgdGhpcy5maWVsZEZvcm1Hcm91cC5jb250cm9sc1tjb250cm9sXS5lcnJvcnM7XHJcbiAgICBsZXQgZXJyb3JzID0gW107XHJcbiAgICBsZXQgdmFsdWVzID0gW107XHJcbiAgICBpZiAoY29udHJvbEVycm9ycyAhPSBudWxsKSB7XHJcbiAgICAgIE9iamVjdC5rZXlzKGNvbnRyb2xFcnJvcnMpLmZvckVhY2goKGtleUVycm9yKSA9PiB7XHJcbiAgICAgICAgZXJyb3JzLnB1c2goIGtleUVycm9yKTtcclxuICAgICAgfSk7XHJcbiAgICAgIC8vIGNvbnNvbGUubG9nKCdjb250cm9sOiAnLCBjb250cm9sKTtcclxuICAgICAgLy8gY29uc29sZS5sb2coJ2Vycm9yczogJywgZXJyb3JzKTtcclxuICAgICAgLy8gY29uc29sZS5sb2coJ3ZhbHVlczogJywgdmFsdWVzKTtcclxuICAgIH1cclxuICAgIHJldHVybiBlcnJvcnMuam9pbignLCAnKTtcclxuICB9XHJcblxyXG5cclxuICAvKipcclxuICAgKiBNZXRvZG8gY2hpYW1hdG8gcXVhbmRvIGNhbWJpYSBpbCBGaWVsZFR5cGUgZGVsIEJhc2VGaWVsZCBjaGUgc2kgc3RhIGFnZ2l1bmdlbmRvL21vZGlmaWNhbmRvLlxyXG4gICAqIFJpY3JlYSBsJ29nZ2V0dG8gZmllbGQgcG9wb2xhbmRvIHNvbG8gbGUgcHJvcHJpZXTDoCBkZWwgQmFzZUZpZWxkIGluc2VyaXRlIGRhbGwndXRlbnRlXHJcbiAgICogKHF1ZWxsZSBjb211bmkgYSB0dXR0ZSBsZSB0aXBvbG9naWUgZGkgY2FtcG8pLCByaWNyZWEgbGEgZm9ybSBlLCBpbiBiYXNlIGFsIEZpZWxkVHlwZSBzY2VsdG8sXHJcbiAgICogYWdnaXVuZ2UgYWxsYSBmb3JtIGkgRm9ybUNvbnRyb2wgbmVjZXNzYXJpIGUgc2VsZXppb25hIGlsIHRlbXBsYXRlIGNvcnJldHRvIGRhIHVzYXJlLlxyXG4gICAqIEBwYXJhbSByZXN0b3JlRmllbGQgU2UgVFJVRSByaXByaXN0aW5hIGkgdmFsb3JpIGJhc2UgKGVyZWRpdGF0aSBkYWwgbW9kZWxsbyBCYXNlRmllbGQpIGRlbCBjYW1wbyBhZ2dpdW50by9tb2RpZmljYXRvXHJcbiAgICovXHJcbiAgb25GaWVsZFR5cGVDaGFuZ2UocmVzdG9yZUZpZWxkOiBib29sZWFuID0gdHJ1ZSkge1xyXG4gICAgaWYgKHJlc3RvcmVGaWVsZCkge1xyXG4gICAgICB0aGlzLnJlc3RvcmVCYXNlRmllbGRQcm9wZXJ0aWVzKCk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5jcmVhdGVGaWVsZEZvcm0oKTtcclxuICAgIHRoaXMub25Db2xTcGFuU2l6ZVNlbGVjdCgpO1xyXG4gICAgaWYgKCh0aGlzLmZpZWxkIGFzIEJhc2VGaWVsZCkuSW5MaXN0VmlldyA9PSBudWxsKSB7XHJcbiAgICAgIHRoaXMuZmllbGQuSW5MaXN0VmlldyA9IHRydWU7XHJcbiAgICB9XHJcbiAgICB0aGlzLmZpZWxkVHlwZUZvcm1UZW1wbGF0ZSA9IG51bGw7XHJcblxyXG4gICAgc3dpdGNoICh0aGlzLmZpZWxkLkZpZWxkVHlwZSkge1xyXG4gICAgICBjYXNlIEZpZWxkVHlwZUVudW1bJ0NhbXBvIGRpIHRlc3RvJ106XHJcbiAgICAgICAgaWYgKCh0aGlzLmZpZWxkIGFzIFRleHRGaWVsZCkuTWljcm9waG9uZSA9PSBudWxsKSB7XHJcbiAgICAgICAgICB0aGlzLmZpZWxkLk1pY3JvcGhvbmUgPSBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5maWVsZEZvcm1Hcm91cC5hZGRDb250cm9sKCdUZXh0TWFzaycsIG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woKHRoaXMuZmllbGQgYXMgVGV4dEZpZWxkKS5UZXh0TWFzaykpO1xyXG4gICAgICAgIHRoaXMuZmllbGRGb3JtR3JvdXAuYWRkQ29udHJvbCgnTWF4TGVuZ2h0JywgbmV3IFVudHlwZWRGb3JtQ29udHJvbCgodGhpcy5maWVsZCBhcyBUZXh0RmllbGQpLk1heExlbmdodCwgW3RoaXMucXVlc3Rpb25Qb2xsLCBWYWxpZGF0b3JzLnBhdHRlcm4oXCJeWzAtOV0qJFwiKV0pKTtcclxuICAgICAgICB0aGlzLmZpZWxkRm9ybUdyb3VwLmFkZENvbnRyb2woJ01pbkxlbmdodCcsIG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woKHRoaXMuZmllbGQgYXMgVGV4dEZpZWxkKS5NaW5MZW5naHQsIFt0aGlzLnF1ZXN0aW9uUG9sbCwgVmFsaWRhdG9ycy5wYXR0ZXJuKFwiXlswLTldKiRcIildKSk7XHJcbiAgICAgICAgdGhpcy5maWVsZEZvcm1Hcm91cC5hZGRDb250cm9sKCdNaWNyb3Bob25lJywgbmV3IFVudHlwZWRGb3JtQ29udHJvbCgodGhpcy5maWVsZCBhcyBUZXh0RmllbGQpLk1pY3JvcGhvbmUpKTtcclxuICAgICAgICB0aGlzLmZpZWxkVHlwZUZvcm1UZW1wbGF0ZSA9IHRoaXMudGV4dEZpZWxkRm9ybVRlbXBsYXRlO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIEZpZWxkVHlwZUVudW1bJ0FyZWEgZGkgdGVzdG8nXTpcclxuICAgICAgICBpZiAoKHRoaXMuZmllbGQgYXMgVGV4dGFyZWFGaWVsZCkuTWljcm9waG9uZSA9PSBudWxsKSB7XHJcbiAgICAgICAgICB0aGlzLmZpZWxkLk1pY3JvcGhvbmUgPSBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5maWVsZEZvcm1Hcm91cC5hZGRDb250cm9sKCdSb3dzJywgbmV3IFVudHlwZWRGb3JtQ29udHJvbCgodGhpcy5maWVsZCBhcyBUZXh0YXJlYUZpZWxkKS5Sb3dzLCB0aGlzLnF1ZXN0aW9uUG9sbCkpO1xyXG4gICAgICAgIHRoaXMuZmllbGRGb3JtR3JvdXAuYWRkQ29udHJvbCgnTWF4TGVuZ2h0JywgbmV3IFVudHlwZWRGb3JtQ29udHJvbCgodGhpcy5maWVsZCBhcyBUZXh0YXJlYUZpZWxkKS5NYXhMZW5naHQsIFt0aGlzLnF1ZXN0aW9uUG9sbCwgVmFsaWRhdG9ycy5wYXR0ZXJuKFwiXlswLTldKiRcIildKSk7XHJcbiAgICAgICAgdGhpcy5maWVsZEZvcm1Hcm91cC5hZGRDb250cm9sKCdNaW5MZW5naHQnLCBuZXcgVW50eXBlZEZvcm1Db250cm9sKCh0aGlzLmZpZWxkIGFzIFRleHRhcmVhRmllbGQpLk1pbkxlbmdodCwgW3RoaXMucXVlc3Rpb25Qb2xsLCBWYWxpZGF0b3JzLnBhdHRlcm4oXCJeWzAtOV0qJFwiKV0pKTtcclxuICAgICAgICB0aGlzLmZpZWxkRm9ybUdyb3VwLmFkZENvbnRyb2woJ01pY3JvcGhvbmUnLCBuZXcgVW50eXBlZEZvcm1Db250cm9sKCh0aGlzLmZpZWxkIGFzIFRleHRhcmVhRmllbGQpLk1pY3JvcGhvbmUpKTtcclxuICAgICAgICB0aGlzLmZpZWxkVHlwZUZvcm1UZW1wbGF0ZSA9IHRoaXMudGV4dGFyZWFGaWVsZEZvcm1UZW1wbGF0ZTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBGaWVsZFR5cGVFbnVtLkJvb2xlYW5vOlxyXG4gICAgICAgIHRoaXMuZmllbGRGb3JtR3JvdXAuYWRkQ29udHJvbCgnSXNUcmlzdGF0ZScsIG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woKHRoaXMuZmllbGQgYXMgQm9vbGVhbkZpZWxkKS5Jc1RyaXN0YXRlKSk7XHJcbiAgICAgICAgdGhpcy5maWVsZEZvcm1Hcm91cC5hZGRDb250cm9sKFxyXG4gICAgICAgICAgJ1ByZXNldGF0aW9uVHlwZScsXHJcbiAgICAgICAgICBuZXcgVW50eXBlZEZvcm1Db250cm9sKCh0aGlzLmZpZWxkIGFzIEJvb2xlYW5GaWVsZCkuUHJlc2V0YXRpb25UeXBlLCBWYWxpZGF0b3JzLnJlcXVpcmVkKVxyXG4gICAgICAgICk7XHJcbiAgICAgICAgdGhpcy5maWVsZFR5cGVGb3JtVGVtcGxhdGUgPSB0aGlzLmJvb2xlYWRGaWVsZEZvcm1UZW1wbGF0ZTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBGaWVsZFR5cGVFbnVtWydEYXRhIGUvbyBvcmEnXTpcclxuICAgICAgICBpZiAodGhpcy5maWVsZC5Jc09ubHlEYXRlID09IG51bGwpIHtcclxuICAgICAgICAgIHRoaXMuZmllbGQuSXNPbmx5RGF0ZSA9IERhdGVUaW1lVHlwZUVudW1bJ1NvbG8gZGF0YSddO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmZpZWxkRm9ybUdyb3VwLmFkZENvbnRyb2woJ0lzT25seURhdGUnLCBuZXcgVW50eXBlZEZvcm1Db250cm9sKCh0aGlzLmZpZWxkIGFzIERhdGVGaWVsZCkuSXNPbmx5RGF0ZSwgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIHRoaXMucXVlc3Rpb25Qb2xsXSkpO1xyXG4gICAgICAgIHRoaXMuZmllbGRGb3JtR3JvdXAuYWRkQ29udHJvbCgnTWluRGF0ZScsIG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woKHRoaXMuZmllbGQgYXMgRGF0ZUZpZWxkKS5NaW5EYXRlLCB0aGlzLnF1ZXN0aW9uUG9sbCkpO1xyXG4gICAgICAgIHRoaXMuZmllbGRGb3JtR3JvdXAuYWRkQ29udHJvbCgnTWF4RGF0ZScsIG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woKHRoaXMuZmllbGQgYXMgRGF0ZUZpZWxkKS5NYXhEYXRlLCB0aGlzLnF1ZXN0aW9uUG9sbCkpO1xyXG4gICAgICAgIHRoaXMuZmllbGRGb3JtR3JvdXAuYWRkQ29udHJvbCgnRGF0ZUZvcm1hdCcsIG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woKHRoaXMuZmllbGQgYXMgRGF0ZUZpZWxkKS5EYXRlRm9ybWF0KSk7XHJcbiAgICAgICAgdGhpcy5maWVsZFR5cGVGb3JtVGVtcGxhdGUgPSB0aGlzLmRhdGVGaWVsZEZvcm1UZW1wbGF0ZTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBGaWVsZFR5cGVFbnVtWydDYW1wbyBudW1lcmljbyddOlxyXG4gICAgICAgIGlmICgodGhpcy5maWVsZCBhcyBOdW1lcmljRmllbGQpLklzSW50ZWdlciA9PSBudWxsKSB7XHJcbiAgICAgICAgICB0aGlzLmZpZWxkLklzSW50ZWdlciA9IHRydWU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLmZpZWxkRm9ybUdyb3VwLmFkZENvbnRyb2woJ0lzSW50ZWdlcicsIG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woKHRoaXMuZmllbGQgYXMgTnVtZXJpY0ZpZWxkKS5Jc0ludGVnZXIpKTtcclxuICAgICAgICB0aGlzLmZpZWxkRm9ybUdyb3VwLmFkZENvbnRyb2woJ01pblZhbHVlJywgbmV3IFVudHlwZWRGb3JtQ29udHJvbCgodGhpcy5maWVsZCBhcyBOdW1lcmljRmllbGQpLk1pblZhbHVlLCBbdGhpcy5xdWVzdGlvblBvbGwsIFZhbGlkYXRvcnMucGF0dGVybihcIl5bMC05XSokXCIpXSkpO1xyXG4gICAgICAgIHRoaXMuZmllbGRGb3JtR3JvdXAuYWRkQ29udHJvbCgnTWF4VmFsdWUnLCBuZXcgVW50eXBlZEZvcm1Db250cm9sKCh0aGlzLmZpZWxkIGFzIE51bWVyaWNGaWVsZCkuTWF4VmFsdWUsIFt0aGlzLnF1ZXN0aW9uUG9sbCwgVmFsaWRhdG9ycy5wYXR0ZXJuKFwiXlswLTldKiRcIildKSk7XHJcbiAgICAgICAgdGhpcy5maWVsZEZvcm1Hcm91cC5hZGRDb250cm9sKCdEZWNpbWFsU2VwYXJhdG9yJywgbmV3IFVudHlwZWRGb3JtQ29udHJvbCgodGhpcy5maWVsZCBhcyBOdW1lcmljRmllbGQpLkRlY2ltYWxTZXBhcmF0b3IsIFt0aGlzLnF1ZXN0aW9uUG9sbCwgVmFsaWRhdG9ycy5wYXR0ZXJuKFwiXlthLXpBLVogXFwtL1xcJ1xcLFxcLlxcX1xcL1xcXFxcXF5cXDxcXD5dK1wiKV0pKTtcclxuICAgICAgICB0aGlzLmZpZWxkRm9ybUdyb3VwLmFkZENvbnRyb2woJ0RlY2ltYWxQcmVjaXNpb24nLCBuZXcgVW50eXBlZEZvcm1Db250cm9sKCh0aGlzLmZpZWxkIGFzIE51bWVyaWNGaWVsZCkuRGVjaW1hbFByZWNpc2lvbiwgW3RoaXMucXVlc3Rpb25Qb2xsLCBWYWxpZGF0b3JzLnBhdHRlcm4oXCJeWzAtOV0qJFwiKV0pKTtcclxuICAgICAgICB0aGlzLmZpZWxkRm9ybUdyb3VwLmFkZENvbnRyb2woJ1Rob3VzYW5kc1NlcGFyYXRvcicsIG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woKHRoaXMuZmllbGQgYXMgTnVtZXJpY0ZpZWxkKS5UaG91c2FuZHNTZXBhcmF0b3IsIFt0aGlzLnF1ZXN0aW9uUG9sbCwgVmFsaWRhdG9ycy5wYXR0ZXJuKFwiXlthLXpBLVogXFwtL1xcJ1xcLFxcLlxcX1xcL1xcXFxcXF5cXDxcXD5dK1wiKV0pKTtcclxuICAgICAgICB0aGlzLmZpZWxkRm9ybUdyb3VwLmFkZENvbnRyb2woJ0N1cnJlbmN5U3ltYm9sJywgbmV3IFVudHlwZWRGb3JtQ29udHJvbCgodGhpcy5maWVsZCBhcyBOdW1lcmljRmllbGQpLkN1cnJlbmN5U3ltYm9sLCB0aGlzLnF1ZXN0aW9uUG9sbCkpO1xyXG4gICAgICAgIHRoaXMuZmllbGRGb3JtR3JvdXAuYWRkQ29udHJvbCgnTWVhc3VyZVVuaXQnLCBuZXcgVW50eXBlZEZvcm1Db250cm9sKCh0aGlzLmZpZWxkIGFzIE51bWVyaWNGaWVsZCkuTWVhc3VyZVVuaXQsIHRoaXMucXVlc3Rpb25Qb2xsKSk7XHJcbiAgICAgICAgdGhpcy5maWVsZFR5cGVGb3JtVGVtcGxhdGUgPSB0aGlzLm51bWVyaWNGaWVsZEZvcm1UZW1wbGF0ZTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBGaWVsZFR5cGVFbnVtLkFsbGVnYXRvOlxyXG4gICAgICAgIHRoaXMuZmllbGRGb3JtR3JvdXAuYWRkQ29udHJvbChcIkFsbG93ZWRFeHRlbnNpb25zXCIsIG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woKHRoaXMuZmllbGQgYXMgQXR0YWNobWVudEZpZWxkKS5BbGxvd2VkRXh0ZW5zaW9ucywpKTtcclxuICAgICAgICB0aGlzLmZpZWxkRm9ybUdyb3VwLmFkZENvbnRyb2woJ0lzTXVsdGlBdHRhY2gnLCBuZXcgVW50eXBlZEZvcm1Db250cm9sKCh0aGlzLmZpZWxkIGFzIEF0dGFjaG1lbnRGaWVsZCkuSXNNdWx0aUF0dGFjaCkpO1xyXG4gICAgICAgIHRoaXMuZmllbGRUeXBlRm9ybVRlbXBsYXRlID0gdGhpcy5hdHRhY2htZW50RmllbGRGb3JtVGVtcGxhdGU7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgRmllbGRUeXBlRW51bS5JbW1hZ2luZTpcclxuICAgICAgICAodGhpcy5maWVsZCBhcyBJbWFnZUZpZWxkKS5BdHRhY2hEZWZpbml0aW9uID0gbmV3IEF0dGFjaG1lbnRGaWVsZCgpO1xyXG4gICAgICAgIHRoaXMuZmllbGRGb3JtR3JvdXAuYWRkQ29udHJvbCgnRW5hYmxlRHJhd2luZycsIG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woKHRoaXMuZmllbGQgYXMgSW1hZ2VGaWVsZCkuRW5hYmxlRHJhd2luZykpO1xyXG4gICAgICAgIHRoaXMuZmllbGRGb3JtR3JvdXAuYWRkQ29udHJvbCgnSW1hZ2VJc0NvbnRleHR1YWxBdHRhY2htZW50JywgbmV3IFVudHlwZWRGb3JtQ29udHJvbCgodGhpcy5maWVsZCBhcyBJbWFnZUZpZWxkKS5JbWFnZUlzQ29udGV4dHVhbEF0dGFjaG1lbnQpKTtcclxuICAgICAgICAvLyBJbXBvc3RvIGkgRm9ybUNvbnRyb2wgdmFyaWFiaWxpLlxyXG4gICAgICAgIHRoaXMub25JbWFnZUlzQ29udGV4dHVhbEF0dGFjaG1lbnRDaGFuZ2UoKTtcclxuICAgICAgICB0aGlzLmZpZWxkVHlwZUZvcm1UZW1wbGF0ZSA9IHRoaXMuaW1hZ2VGaWVsZEZvcm1UZW1wbGF0ZTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBGaWVsZFR5cGVFbnVtWydFbGVuY28gZ2VuZXJpY28nXTpcclxuICAgICAgICBpZiAoKHRoaXMuZmllbGQgYXMgTGlzdFZhbHVlRmllbGQpLkluTGlzdFZpZXcgPT0gbnVsbCkge1xyXG4gICAgICAgICAgdGhpcy5maWVsZC5Jbkxpc3RWaWV3ID0gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgICAgdGhpcy5maWVsZEZvcm1Hcm91cC5hZGRDb250cm9sKCdJc011bHRpQ2hvaWNoZScsIG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woKHRoaXMuZmllbGQgYXMgTGlzdFZhbHVlRmllbGQpLklzTXVsdGlDaG9pY2hlKSk7XHJcbiAgICAgICAgdGhpcy5maWVsZEZvcm1Hcm91cC5hZGRDb250cm9sKFxyXG4gICAgICAgICAgJ1ByZXNlbnRhdGlvbk1vZGUnLFxyXG4gICAgICAgICAgbmV3IFVudHlwZWRGb3JtQ29udHJvbCgodGhpcy5maWVsZCBhcyBMaXN0VmFsdWVGaWVsZCkuUHJlc2VudGF0aW9uTW9kZSwgVmFsaWRhdG9ycy5yZXF1aXJlZClcclxuICAgICAgICApO1xyXG4gICAgICAgIHRoaXMuZmllbGRUeXBlRm9ybVRlbXBsYXRlID0gdGhpcy5saXN0VmFsdWVGaWVsZEZvcm1UZW1wbGF0ZTtcclxuICAgICAgIFxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIEZpZWxkVHlwZUVudW0uTG9va3VwOlxyXG4gICAgICAgIHRoaXMuZmllbGRGb3JtR3JvdXAuYWRkQ29udHJvbChcclxuICAgICAgICAgICdFbnRpdHlTb3VyY2VOYW1lJyxcclxuICAgICAgICAgIG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woKHRoaXMuZmllbGQgYXMgTG9va3VwRmllbGQpLkVudGl0eVNvdXJjZU5hbWUsIFZhbGlkYXRvcnMucmVxdWlyZWQpXHJcbiAgICAgICAgKTtcclxuICAgICAgICB0aGlzLmZpZWxkRm9ybUdyb3VwLmFkZENvbnRyb2woJ1VzZUFzR2V0T3JEaXNjYXJkJywgbmV3IFVudHlwZWRGb3JtQ29udHJvbCgodGhpcy5maWVsZCBhcyBMb29rdXBGaWVsZCkuVXNlQXNHZXRPckRpc2NhcmQpKTtcclxuICAgICAgICB0aGlzLmZpZWxkVHlwZUZvcm1UZW1wbGF0ZSA9IHRoaXMubG9va3VwRmllbGRGb3JtVGVtcGxhdGU7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgICBpZiAoW0ZpZWxkVHlwZUVudW0uQWxsZWdhdG8sIEZpZWxkVHlwZUVudW0uSW1tYWdpbmUsIEZpZWxkVHlwZUVudW1bJ0Zvcm0gZGkgZGV0dGFnbGlvJ11dLmluY2x1ZGVzKHRoaXMuZmllbGQuRmllbGRUeXBlKSkge1xyXG4gICAgICB0aGlzLmZpZWxkLkZvcm11bGEgPSBudWxsO1xyXG4gICAgICB0aGlzLmZpZWxkRm9ybUdyb3VwLmNvbnRyb2xzW1wiRm9ybXVsYVwiXS5kaXNhYmxlKCk7XHJcbiAgICAgIHRoaXMuZmllbGRGb3JtR3JvdXAuY29udHJvbHNbXCJJbkxpc3RWaWV3XCJdLmRpc2FibGUoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZmllbGRGb3JtR3JvdXAuY29udHJvbHNbXCJGb3JtdWxhXCJdLmVuYWJsZSgpO1xyXG4gICAgICB0aGlzLmZpZWxkRm9ybUdyb3VwLmNvbnRyb2xzW1wiSW5MaXN0Vmlld1wiXS5lbmFibGUoKTtcclxuICAgIH1cclxuICAgIGlmIChbRmllbGRUeXBlRW51bS5BbGxlZ2F0bywgRmllbGRUeXBlRW51bS5JbW1hZ2luZSwgRmllbGRUeXBlRW51bVsnRm9ybSBkaSBkZXR0YWdsaW8nXSwgRmllbGRUeXBlRW51bVsnRGF0YSBlL28gb3JhJ11dLmluY2x1ZGVzKHRoaXMuZmllbGQuRmllbGRUeXBlKSkge1xyXG4gICAgICB0aGlzLmZpZWxkLkZvcm11bGEgPSBudWxsO1xyXG4gICAgICB0aGlzLmZpZWxkRm9ybUdyb3VwLmNvbnRyb2xzW1wiTGFiZWxzdHlsZUNTU1wiXS5kaXNhYmxlKCk7XHJcbiAgICAgIHRoaXMuZmllbGRGb3JtR3JvdXAuY29udHJvbHNbXCJGaWVsZHN0eWxlQ1NTXCJdLmRpc2FibGUoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZmllbGRGb3JtR3JvdXAuY29udHJvbHNbXCJMYWJlbHN0eWxlQ1NTXCJdLmVuYWJsZSgpO1xyXG4gICAgICB0aGlzLmZpZWxkRm9ybUdyb3VwLmNvbnRyb2xzW1wiRmllbGRzdHlsZUNTU1wiXS5lbmFibGUoKTtcclxuICAgIH1cclxuICAgIGlmIChbRmllbGRUeXBlRW51bS5Cb29sZWFub10uaW5jbHVkZXModGhpcy5maWVsZC5GaWVsZFR5cGUpKSB7XHJcbiAgICAgIHRoaXMuZmllbGQuRm9ybXVsYSA9IG51bGw7XHJcbiAgICAgIHRoaXMuZmllbGRGb3JtR3JvdXAuY29udHJvbHNbXCJMYWJlbHN0eWxlQ1NTXCJdLmRpc2FibGUoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZmllbGRGb3JtR3JvdXAuY29udHJvbHNbXCJMYWJlbHN0eWxlQ1NTXCJdLmVuYWJsZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTWV0b2RvIGludm9jYXRvIGFsIGNhbWJpbyBkZWwgdmFsb3JlIGRlbGxhIHByb3ByaWV0w6AgSW1hZ2VJc0NvbnRleHR1YWxBdHRhY2htZW50IG5lbCBjYXNvXHJcbiAgICogZGkgY2FtcGkgZGkgdGlwbyBJbW1hZ2luZS4gU2UgVFJVRSBhbGxvcmEgcmltdW92ZSBpIEZvcm1Db250cm9sIHBlciBsZSBwcm9wcmlldMOgIElzTXVsdGlBdHRhY2hcclxuICAgKiBlIEFsbG93ZWRFeHRlbnNpb25zIGUgYWdnaXVuZ2UgaSBGb3JtQ29udHJvbCBwZXIgbGUgcHJvcHJpZXTDoCBJbWdOYW1lIGUgQ29udGV4dHVhbEF0dGFjaG1lbnQsIFxyXG4gICAqIGFsdHJpbWVudGkgaWwgY29udHJhcmlvLlxyXG4gICAqL1xyXG4gIG9uSW1hZ2VJc0NvbnRleHR1YWxBdHRhY2htZW50Q2hhbmdlKCkge1xyXG4gICAgKHRoaXMuZmllbGQgYXMgSW1hZ2VGaWVsZCkuSW1nTmFtZSA9IG51bGw7XHJcbiAgICAodGhpcy5maWVsZCBhcyBJbWFnZUZpZWxkKS5BdHRhY2hEZWZpbml0aW9uLkFsbG93ZWRFeHRlbnNpb25zID0gW107XHJcbiAgICAodGhpcy5maWVsZCBhcyBJbWFnZUZpZWxkKS5BdHRhY2hEZWZpbml0aW9uLklzTXVsdGlBdHRhY2ggPSBmYWxzZTtcclxuICAgICh0aGlzLmZpZWxkIGFzIEltYWdlRmllbGQpLkNvbnRleHR1YWxBdHRhY2htZW50ID0gbnVsbDtcclxuXHJcbiAgICBpZiAoKHRoaXMuZmllbGQgYXMgSW1hZ2VGaWVsZCkuSW1hZ2VJc0NvbnRleHR1YWxBdHRhY2htZW50KSB7XHJcbiAgICAgIHRoaXMuZmllbGRGb3JtR3JvdXAucmVtb3ZlQ29udHJvbChcIklzTXVsdGlBdHRhY2hcIik7XHJcbiAgICAgIHRoaXMuZmllbGRGb3JtR3JvdXAucmVtb3ZlQ29udHJvbChcIkFsbG93ZWRFeHRlbnNpb25zXCIpO1xyXG4gICAgICB0aGlzLmZpZWxkRm9ybUdyb3VwLmFkZENvbnRyb2woJ0ltZ05hbWUnLCBuZXcgVW50eXBlZEZvcm1Db250cm9sKCh0aGlzLmZpZWxkIGFzIEltYWdlRmllbGQpLkltZ05hbWUsIFZhbGlkYXRvcnMucmVxdWlyZWQpKTtcclxuICAgICAgdGhpcy5maWVsZEZvcm1Hcm91cC5hZGRDb250cm9sKCdDb250ZXh0dWFsQXR0YWNobWVudCcsIG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woKHRoaXMuZmllbGQgYXMgSW1hZ2VGaWVsZCkuQ29udGV4dHVhbEF0dGFjaG1lbnQsIFZhbGlkYXRvcnMucmVxdWlyZWQpKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZmllbGRGb3JtR3JvdXAucmVtb3ZlQ29udHJvbChcIkltZ05hbWVcIik7XHJcbiAgICAgIHRoaXMuZmllbGRGb3JtR3JvdXAucmVtb3ZlQ29udHJvbChcIkNvbnRleHR1YWxBdHRhY2htZW50XCIpO1xyXG4gICAgICB0aGlzLmZpZWxkRm9ybUdyb3VwLmFkZENvbnRyb2woJ0lzTXVsdGlBdHRhY2gnLCBuZXcgVW50eXBlZEZvcm1Db250cm9sKCh0aGlzLmZpZWxkIGFzIEltYWdlRmllbGQpLkF0dGFjaERlZmluaXRpb24uSXNNdWx0aUF0dGFjaCkpO1xyXG4gICAgICB0aGlzLmZpZWxkRm9ybUdyb3VwLmFkZENvbnRyb2woXCJBbGxvd2VkRXh0ZW5zaW9uc1wiLCBuZXcgVW50eXBlZEZvcm1Db250cm9sKCh0aGlzLmZpZWxkIGFzIEltYWdlRmllbGQpLkF0dGFjaERlZmluaXRpb24uQWxsb3dlZEV4dGVuc2lvbnMpKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE1ldG9kbyBwZXIgaW50ZXJjZXR0YXJlIGwnYWdnaXVudGEgZGkgdW4gYWxsZWdhdG8gbmVpIGNhbXBpIGRpIHRpcG8gSW1tYWdpbmUgcGVyIGFnZ2lvcm5hcmVcclxuICAgKiBpbCB2YWxvcmUgZGVsbGEgcHJvcHJpZXTDoCBDb250ZXh0dWFsQXR0YWNobWVudCBlIGxhIHZhbGlkYXppb25lIGRlbCByZWxhdGl2byBGb3JtQ29udHJvbC5cclxuICAgKiBAcGFyYW0gZXZlbnQgQXJyYXkgY29udGVuZW50ZSBsJ2VsZW5jbyBhZ2dpb3JuYXRvIGRlZ2xpIGFsbGVnYXRpIGNhcmljYXRpIChuZWwgbm9zdHJvIGNhc28gbmUgY29udGllbmUgYWwgcGnDuSAxKS5cclxuICAgKi9cclxuICBjYXRjaENvbnRleHR1YWxBdHRhY2htZW50Q2hhbmdlKGV2ZW50OiBBcnJheTxJQXR0YWNobWVudERUTz4pIHtcclxuICAgIGlmIChldmVudCAmJiBldmVudC5sZW5ndGggPiAwKSB7XHJcbiAgICAgICh0aGlzLmZpZWxkIGFzIEltYWdlRmllbGQpLkNvbnRleHR1YWxBdHRhY2htZW50ID0gZXZlbnRbMF07XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICAodGhpcy5maWVsZCBhcyBJbWFnZUZpZWxkKS5Db250ZXh0dWFsQXR0YWNobWVudCA9IG51bGw7XHJcbiAgICB9XHJcbiAgICB0aGlzLmZpZWxkRm9ybUdyb3VwLmNvbnRyb2xzWydDb250ZXh0dWFsQXR0YWNobWVudCddLnNldFZhbHVlKCh0aGlzLmZpZWxkIGFzIEltYWdlRmllbGQpLkNvbnRleHR1YWxBdHRhY2htZW50KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE1ldG9kbyBpbnZvY2F0byBhbGxhIHNlbGV6aW9uZSBkaSB1bmEgY2xhc3NlIG5lbGxhIHNlbGVjdCBwZXIgbGUgY29sb25uZSBkaSBib290c3RyYXBcclxuICAgKiBkYSB1c2FyZSBuZWxsYSB2aXN1YWxpenphemlvbmUgZGVsIGNhbXBvLiBRdWVzdGEgZnVuemlvbmUgbWFuaXBvbGEgbGEgc29yZ2VudGUgZGF0aSBwZXJcclxuICAgKiBsYSBlcXAtc2VsZWN0IGluIG1vZG8gZGEgZXNjbHVkZXJlIGkgdmFsb3JpIGRlbGwnZW51bWVyYXRvcmUgY2hlIGZhbm5vIHJpZmVyaW1lbnRvIGFkXHJcbiAgICogdW5hIGxhcmdoZXp6YSBkaSBzY2hlcm1vIGdpw6Agc2VsZXppb25hdGEuIEVzZW1waW86IHBlciBnbGkgc2NoZXJtaSBwaWNjb2xpIChzbSkgbCd1dGVudGVcclxuICAgKiBzZWxlemlvbmEgbGEgY2xhc3NlIFwiY29sLXNtLTZcIiwgYWwgY2hhbmdlIGRlbCB2YWxvcmUgcXVlc3RvIG1ldG9kbyByaW11b3ZlIGRhbGxhIHNlbGVjdFxyXG4gICAqIHR1dHRpIGdsaSBhbHRyaSB2YWxvcmkgcGVyIGxhIGdyYW5kZXp6YSBkaSBzY2hlcm1vIHNlbGV6aW9uYXRhLlxyXG4gICAqL1xyXG4gIG9uQ29sU3BhblNpemVTZWxlY3QoKSB7XHJcbiAgICAvLyBSZWN1cGVybyBsJ2FycmF5IGRlZ2xpIG9nZ2V0dGkgY2hpYXZlLXZhbG9yZSBjaGUgcmFwcHJlc2V0YSBsJ2VudW1lcmF0b3JlXHJcbiAgICBsZXQgY29sU2l6ZUNsYXNzRW51bUFycmF5ID0gdGhpcy5lbnVtSGVscGVyLmdldEVudW1BcnJheShDb2xTcGFuU2l6ZXNFbnVtLCBmYWxzZSwgbnVsbCk7XHJcbiAgICAvLyBDb3N0cnVpc2NvIGwnYXJyYXkgZGVsbGUgY2xhc3NpIHNlbGV6aW9uYXRlIGRhbGwndXRlbnRlIGluIGZvcm1hdG8gc3RyaW5nYVxyXG4gICAgbGV0IHNlbGVjdGVkRGltZW5zaW9uczogQXJyYXk8c3RyaW5nPiA9IHRoaXMuZmllbGQuQ29sU3BhblNpemVzID8gdGhpcy5maWVsZC5Db2xTcGFuU2l6ZXMubWFwKGNvbCA9PiBDb2xTcGFuU2l6ZXNFbnVtW2NvbF0pIDogW107XHJcbiAgICAvLyBGaWx0cm8gaSB2YWxvcmkgb3R0ZW51dGkgZGFsbCdlbnVtZXJhdG9yZSBwZXIgZXNjbHVkZXJlIHR1dHRpIGkgdmFsb3JpIHBlciBsZVxyXG4gICAgLy8gZ3JhbmRlenplIGRpIHNjaGVybW8gZ2nDoCBzZWxlemlvbmF0ZWFkIGVzY2x1c2lvbmUgZGVpIHZhbG9yaSBzZWxlemlvbmF0aS5cclxuICAgIHRoaXMuYXZhaWxhYmxlQ29sU3BhblNpemVzID0gY29sU2l6ZUNsYXNzRW51bUFycmF5LmZpbHRlcigodmFsdWU6IHsga2V5OiBudW1iZXIsIHZhbHVlOiBzdHJpbmcgfSkgPT5cclxuICAgICAgIXNlbGVjdGVkRGltZW5zaW9ucy5maW5kKGNvbCA9PiB2YWx1ZS52YWx1ZS5pbmNsdWRlcyhjb2wuc3Vic3RyaW5nKDQsIDYpKSAmJiB2YWx1ZS52YWx1ZSAhPSBjb2wpXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTWV0b2RvIGludm9jYXRvIGFsIGNhbWJpbyBkZWwgdGlwbyBkaSB2aXN1YWxpenphemlvbmUgc2NlbHRhIHBlciBpIGNhbXBpIGRpIHRpcG8gZWxlbmNvIGdlbmVyaWNvLlxyXG4gICAqIFNlIHZpZW5lIHNjZWx0YSBsYSB2aXN1YWxpenphemlvbmUgYWQgaW1tYWdpbmkgc3Z1b3RhIGxhIGxpc3RhIGRlbGxlIGNvcHBpZSBjaGlhdmUtdmFsb3JlIGluc2VyaXRlXHJcbiAgICogaW4gcHJlY2VkZW56YSwgYWx0cmltZW50aSBzdnVvdGEgbGEgbGlzdGEgZGVsbGUgaW1tYWdpbmkgY2FyaWNhdGUuXHJcbiAgICovXHJcbiAgb25QcmVzZW50YXRpb25Nb2RlQ2hhbmdlKCkge1xyXG4gICAgaWYgKCh0aGlzLmZpZWxkIGFzIExpc3RWYWx1ZUZpZWxkKS5QcmVzZW50YXRpb25Nb2RlID09PSBMaXN0UHJlc2VudGF0aW9uRW51bS5JbW1hZ2luaSkge1xyXG4gICAgICAodGhpcy5maWVsZCBhcyBMaXN0VmFsdWVGaWVsZCkuVmFsdWVQYWlycyA9IG51bGw7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICAodGhpcy5maWVsZCBhcyBMaXN0VmFsdWVGaWVsZCkuQnV0dG9uSW1hZ2VMaXN0ID0gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE1ldG9kbyBpbnZvY2F0byBxdWFuZG8gdmllbmUgY2FyaWNhdG8gaWwgY29tcG9uZW50ZSBlcXAtYXR0YWNobWVudHMgcGVyIGNhcmljYXJlIGxlIGltbWFnaW5pIGRhIHVzYXJlIFxyXG4gICAqIG5lbGxhIHZpc3VhbGl6emF6aW9uZSBhZCBpbW1hZ2luaSBkZWkgY2FtcGkgZGkgdGlwbyBcIkVsZW5jbyBnZW5lcmljb1wiLiBBZ2dpdW5nZSBkdWUgY29sb25uZSBhIHF1ZWxsZVxyXG4gICAqIGNvbmZpZ3VyYXRlIG5lbCBjb21wb25lbnRlIGluIGN1aSBsJ3V0ZW50ZSBwdcOyIGluZGljYXJlIGNoaWF2ZSBlIHZhbG9yZSBkZWxsYSBzY2VsdGEuXHJcbiAgICogQHBhcmFtIGNvbXBvbmVudCBJc3RhbnphIGRlbCBjb21wb25lbnRlIGVxcC1hdHRhY2htZW50cyBpbiBjdWkgZWZmZXR0dWFyZSBsYSBtb2RpZmljYS5cclxuICAgKi9cclxuICBjb25maWd1cmVCdXR0b25JbWFnZXNDb2x1bW5zKGNvbXBvbmVudDogRXFwQXR0YWNobWVudHNDb21wb25lbnQpIHtcclxuICAgIGNvbXBvbmVudC5hdHRhY2htZW50c0NvbHVtbnMuc3BsaWNlKFxyXG4gICAgICBjb21wb25lbnQuYXR0YWNobWVudHNDb2x1bW5zLmxlbmd0aCAtIDEsIDAsXHJcbiAgICAgIHsga2V5OiBcIkJ1dHRvbktleVwiLCBkaXNwbGF5OiBcIkxhYmVsXCIsIHR5cGU6IFR5cGVDb2x1bW4uRXh0ZXJuYWxUZW1wbGF0ZSwgZXh0ZXJuYWxUZW1wbGF0ZTogdGhpcy5idXR0b25JbWFnZXNLZXlWYWx1ZUlucHV0Q29sdW1uIH1cclxuICAgICk7XHJcbiAgICBjb21wb25lbnQuYXR0YWNobWVudHNDb2x1bW5zLnNwbGljZShcclxuICAgICAgY29tcG9uZW50LmF0dGFjaG1lbnRzQ29sdW1ucy5sZW5ndGggLSAxLCAwLFxyXG4gICAgICB7IGtleTogXCJCdXR0b25WYWx1ZVwiLCBkaXNwbGF5OiBcIlZhbG9yZVwiLCB0eXBlOiBUeXBlQ29sdW1uLkV4dGVybmFsVGVtcGxhdGUsIGV4dGVybmFsVGVtcGxhdGU6IHRoaXMuYnV0dG9uSW1hZ2VzS2V5VmFsdWVJbnB1dENvbHVtbiB9XHJcbiAgICApO1xyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTWV0b2RvIGludm9jYXRvIGFsIHNhbHZhdGFnZ2lvIGRlZ2xpIGFsbGVnYXRpIHF1YW5kbyB2aWVuZSBjb25maWd1cmF0byB1biBjYW1wbyBkaSB0aXBvIFwiRWxlbmNvIGdlbmVyaWNvXCJcclxuICAgKiBjb24gaWwgdGlwbyBkaSB2aXN1YWxpenphemlvbmUgYWQgaW1tYWdpbmkuIEludGVyY2V0dGEgbCdlbGVuY28gYWdnaW9ybmF0byBkZWxsZSBpbW1hZ2luaSBjYXJpY2F0ZSBlIGxvXHJcbiAgICogbWVtb3JpenphIG5lbGwnb2dnZXR0byBmaWVsZCBjb3JyZW50ZS5cclxuICAgKiBAcGFyYW0gYXR0YWNobWVudHMgQXJyYXkgYWdnaW9ybmF0byBkZWdsaSBhbGxlZ2F0aSBjYXJpY2F0aS5cclxuICAgKi9cclxuICBjYXRjaEJ1dHRvbkltYWdlc0NoYW5nZShhdHRhY2htZW50czogQXJyYXk8SUF0dGFjaG1lbnREVE8+KSB7XHJcbiAgICAodGhpcy5maWVsZCBhcyBMaXN0VmFsdWVGaWVsZCkuQnV0dG9uSW1hZ2VMaXN0ID0gKGF0dGFjaG1lbnRzIGFzIEFycmF5PEJ1dHRvbkltYWdlPik7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBNZXRvZG8gY2hpYW1hdG8gYWwga2V5dXAgZGVnbGkgaW5wdXQgdGVzdHVhbGkgY2hlIHByZXZlZG9ubyBsJ2FnZ2l1bnRhIGRlbCB2YWxvcmUgaW5zZXJpdG8gaW4gdW4gYXJyYXkuXHJcbiAgICogU2UgbCd1dGVudGUgcHJlbWUgaWwgdGFzdG8gaW52aW8sIGluIGJhc2UgYWwgdGlwbyBkaSBjYW1wbyBjaGUgc3RhIGluc2VyZW5kby9tb2RpZmljYW5kbywgcXVlc3RvIG1ldG9kb1xyXG4gICAqIGFnZ2l1bmdlIGlsIHZhbG9yZSBpbnNlcml0byBkYWxsJ3V0ZW50ZSBuZWxsYSBsaXN0YSBkaSBzdHJpbmdoZSBjb3JyZXR0YSAoaW4gaW5wdXQgdmllbmUgcGFzc2F0byBpbCBub21lXHJcbiAgICogZGVsbGEgcHJvcHJpZXTDoCBpbiBjdWkgaW5zZXJpcmUgbGEgc3RyaW5nYSkuXHJcbiAgICogQHBhcmFtIGV2ZW50IEV2ZW50byBjaGUgcmFwcHJlc2VudGEgaWwga2V5dXAgZGVsbCd1dGVudGVcclxuICAgKiBAcGFyYW0gcHJvcGVydHlOYW1lIE5vbWUgZGVsbGEgcHJvcHJpZXTDoCBkZWwgZmllbGQgaW4gY3VpIGluc2VyaXJlIGxhIHN0cmluZ2EgZGlnaXRhdGEuXHJcbiAgICovXHJcbiAgb25NdWx0aVNlbGVjdElucHV0S2V5dXAoZXZlbnQsIHByb3BlcnR5TmFtZTogc3RyaW5nKSB7XHJcbiAgICBpZiAoZXZlbnQuY29kZSA9PT0gJ0VudGVyJyB8fCBldmVudC5jb2RlID09PSAnTnVtcGFkRW50ZXInKSB7XHJcbiAgICAgIHN3aXRjaCAodGhpcy5maWVsZC5GaWVsZFR5cGUpIHtcclxuICAgICAgICBjYXNlIEZpZWxkVHlwZUVudW0uTG9va3VwOlxyXG4gICAgICAgIGNhc2UgRmllbGRUeXBlRW51bS5BbGxlZ2F0bzpcclxuICAgICAgICAgIGlmICghdGhpcy5maWVsZFtwcm9wZXJ0eU5hbWVdKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZmllbGRbcHJvcGVydHlOYW1lXSA9IG5ldyBBcnJheTxzdHJpbmc+KCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICB0aGlzLmZpZWxkW3Byb3BlcnR5TmFtZV0ucHVzaChldmVudC5jdXJyZW50VGFyZ2V0LnZhbHVlKTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgRmllbGRUeXBlRW51bS5JbW1hZ2luZTpcclxuICAgICAgICAgIGlmICghKHRoaXMuZmllbGQgYXMgSW1hZ2VGaWVsZCkuQXR0YWNoRGVmaW5pdGlvbltwcm9wZXJ0eU5hbWVdKSB7XHJcbiAgICAgICAgICAgICh0aGlzLmZpZWxkIGFzIEltYWdlRmllbGQpLkF0dGFjaERlZmluaXRpb25bcHJvcGVydHlOYW1lXSA9IG5ldyBBcnJheTxzdHJpbmc+KCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICAodGhpcy5maWVsZCBhcyBJbWFnZUZpZWxkKS5BdHRhY2hEZWZpbml0aW9uW3Byb3BlcnR5TmFtZV0ucHVzaChldmVudC5jdXJyZW50VGFyZ2V0LnZhbHVlKTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgRmllbGRUeXBlRW51bVsnRWxlbmNvIGdlbmVyaWNvJ106XHJcbiAgICAgICAgIFxyXG4gICAgICAgICAgaWYgKCF0aGlzLmtleVZhbHVlT2JqZWN0LmtleSB8fCAhdGhpcy5rZXlWYWx1ZU9iamVjdC52YWx1ZSkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZiAoISh0aGlzLmZpZWxkIGFzIExpc3RWYWx1ZUZpZWxkKS5WYWx1ZVBhaXJzKSB7XHJcbiAgICAgICAgICAgICh0aGlzLmZpZWxkIGFzIExpc3RWYWx1ZUZpZWxkKS5WYWx1ZVBhaXJzID0ge307XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICAodGhpcy5maWVsZCBhcyBMaXN0VmFsdWVGaWVsZCkuVmFsdWVQYWlyc1t0aGlzLmtleVZhbHVlT2JqZWN0LmtleV0gPSB0aGlzLmtleVZhbHVlT2JqZWN0LnZhbHVlO1xyXG4gICAgICAgICAgdGhpcy5rZXlWYWx1ZU9iamVjdCA9IHsga2V5OiAnJywgdmFsdWU6ICcnIH07XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgfVxyXG4gICAgICBldmVudC5jdXJyZW50VGFyZ2V0LnZhbHVlID0gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE1ldG9kbyBjaGlhbWF0byBwZXIgbW9zdHJhcmUgY29tZSBlbGVuY28gbGUgb3B6aW9uaSBhZ2dpdW50ZSBpbiB1biBjYW1wbyBkaSB0aXBvIFwiRWxlbmNvIGdlbmVyaWNvXCIuXHJcbiAgICogQHJldHVybnMgUmVzdGl0dWlzY2UgdW4gYXJyYXkgZGkgb2dnZXR0aSBkZWwgdGlwbyB7IGtleTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nIH0gY29uIGkgdmFsb3JpIGluc2VyaXRpIGRhbGwndXRlbnRlLlxyXG4gICAqL1xyXG4gIGdldERpY3Rpb25hcnlLZXlWYWx1ZSgpIHtcclxuICAgIGlmICgodGhpcy5maWVsZCBhcyBMaXN0VmFsdWVGaWVsZCkuVmFsdWVQYWlycykge1xyXG5cclxuICAgICAgcmV0dXJuIE9iamVjdC5rZXlzKCh0aGlzLmZpZWxkIGFzIExpc3RWYWx1ZUZpZWxkKS5WYWx1ZVBhaXJzKS5tYXAoayA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgIGtleTogayxcclxuICAgICAgICAgIHZhbHVlOiAodGhpcy5maWVsZCBhcyBMaXN0VmFsdWVGaWVsZCkuVmFsdWVQYWlyc1trXVxyXG5cclxuICAgICAgICB9O1xyXG4gICAgICB9KTtcclxuXHJcblxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIFtdO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTWV0b2RvIHBlciByaW11b3ZlcmUgdW5hIG9wemlvbmUgYWdnaXVudGEgYWwgY2FtcG8gZGkgdGlwbyBcIkVsZW5jbyBnZW5lcmljb1wiXHJcbiAgICogQHBhcmFtIGtleSBOb21lIGRlbGxhIGNoaWF2ZSBkYSByaW11b3ZlcmVcclxuICAgKi9cclxuICBkZWxldGVLZXlGcm9tRGljdGlvbmFyeShrZXk6IHN0cmluZykge1xyXG4gICAgZGVsZXRlICh0aGlzLmZpZWxkIGFzIExpc3RWYWx1ZUZpZWxkKS5WYWx1ZVBhaXJzW2tleV07XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBNZXRvZG8gcGVyIGFwcmlyZSBpbCBkaWFsb2cgcGVyIGFnZ2l1bmdlcmUvbW9kaWZpY2FyZSB1biBtZXRhZGF0YSBpbiB1biBjYW1wbyBkaSB0aXBvIEFsbGVnYXRvIG8gSW1tYWdpbmUuXHJcbiAgICogQHBhcmFtIG1ldGFkYXRhIE1ldGFkYXRhIGRhIG1vZGlmaWNhcmUsIHNlIG51bGwgYWxsb3JhIG5lIHN0byBjcmVhbmRvIHVubyBudW92by5cclxuICAgKi9cclxuICAvLyBvcGVuTWV0YWRhdGFEaWFsb2coZmllbGQ6IEJhc2VGaWVsZCA9IG51bGwpIHtcclxuICAvLyAgIGlmIChmaWVsZCkge1xyXG4gIC8vICAgICBpZiAodGhpcy5maWVsZC5GaWVsZFR5cGUgPT09IEZpZWxkVHlwZUVudW0uQWxsZWdhdG8pIHtcclxuICAvLyAgICAgICB0aGlzLmluZGV4U2VsZWN0ZWRNZXRhZGF0YSA9ICh0aGlzLmZpZWxkIGFzIEF0dGFjaG1lbnRGaWVsZCkuTWV0YWRhdGFGaWVsZHMuaW5kZXhPZihmaWVsZCk7XHJcbiAgLy8gICAgICAgdGhpcy5zZWxlY3RlZE1ldGFkYXRhID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShmaWVsZCkpO1xyXG4gIC8vICAgICB9IGVsc2UgaWYgKHRoaXMuZmllbGQuRmllbGRUeXBlID09PSBGaWVsZFR5cGVFbnVtLkltbWFnaW5lKSB7XHJcbiAgLy8gICAgICAgdGhpcy5pbmRleFNlbGVjdGVkTWV0YWRhdGEgPSAodGhpcy5maWVsZCBhcyBJbWFnZUZpZWxkKS5BdHRhY2hEZWZpbml0aW9uLk1ldGFkYXRhRmllbGRzLmluZGV4T2YoZmllbGQpO1xyXG4gIC8vICAgICAgIHRoaXMuc2VsZWN0ZWRNZXRhZGF0YSA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoZmllbGQpKTtcclxuICAvLyAgICAgfVxyXG4gIC8vICAgfSBlbHNlIHtcclxuICAvLyAgICAgdGhpcy5zZWxlY3RlZE1ldGFkYXRhID0gbmV3IEJhc2VGaWVsZCgpO1xyXG4gIC8vICAgICB0aGlzLmluZGV4U2VsZWN0ZWRNZXRhZGF0YSA9IG51bGw7XHJcbiAgLy8gICB9XHJcbiAgLy8gICB0aGlzLmRpYWxvZ01ldGFkYXRhUmVmID0gdGhpcy5kaWFsb2cub3Blbih0aGlzLmRpYWxvZ01ldGFkYXRhLCB7XHJcbiAgLy8gICAgIGRpc2FibGVDbG9zZTogdHJ1ZSxcclxuICAvLyAgICAgaGFzQmFja2Ryb3A6IHRydWUsXHJcbiAgLy8gICAgIHdpZHRoOiAnNzUlJ1xyXG4gIC8vICAgfSk7XHJcbiAgLy8gfVxyXG4gIG9wZW5Gb3JtdWxhRGlhbG9nKCkge1xyXG4gICAgdGhpcy5kaWFsb2dGb3JtdWxhUmVmID0gdGhpcy5kaWFsb2cub3Blbih0aGlzLmRpYWxvZ0Zvcm11bGEsIHtcclxuICAgICAgZGlzYWJsZUNsb3NlOiB0cnVlLFxyXG4gICAgICBoYXNCYWNrZHJvcDogdHJ1ZSxcclxuICAgICAgd2lkdGg6ICc3NSUnLFxyXG4gICAgICBkYXRhOiB7XHJcbiAgICAgICAgZmllbGRzOiB0aGlzLmF2YWlsYWJsZUZpZWxkcyxcclxuICAgICAgICBmb3JtdWxhOiB0aGlzLmZpZWxkLkZvcm11bGFcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICB0aGlzLmRpYWxvZ0Zvcm11bGFSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUocmVzdWx0ID0+IHtcclxuICAgICAgdGhpcy5maWVsZC5Gb3JtdWxhID0gcmVzdWx0LmZvcm11bGEudG9TdHJpbmcoKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgb3BlblZpc2libGVJZkRpYWxvZygpIHtcclxuICAgIHRoaXMuZGlhbG9nVmlzaWJsZUlmUmVmID0gdGhpcy5kaWFsb2cub3Blbih0aGlzLmRpYWxvZ0Zvcm11bGEsIHtcclxuICAgICAgZGlzYWJsZUNsb3NlOiB0cnVlLFxyXG4gICAgICBoYXNCYWNrZHJvcDogdHJ1ZSxcclxuICAgICAgd2lkdGg6ICc3NSUnLFxyXG4gICAgICBkYXRhOiB7XHJcbiAgICAgICAgZmllbGRzOiB0aGlzLmF2YWlsYWJsZUZpZWxkcyxcclxuICAgICAgICBmb3JtdWxhOiB0aGlzLmZpZWxkLlZpc2libGVJZlxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHRoaXMuZGlhbG9nVmlzaWJsZUlmUmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKHJlc3VsdCA9PiB7XHJcbiAgICAgIHRoaXMuZmllbGQuVmlzaWJsZUlmID0gcmVzdWx0LmZvcm11bGEudG9TdHJpbmcoKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgc3RyaW5nU2FuaXRpemVyKHZhbHVlKSB7XHJcbiAgICBpZiAoIVV0aWxpdHlIZWxwZXJTZXJ2aWNlLnN0cmluZ1Nhbml0aXplcih2YWx1ZSkpIHtcclxuICAgICAgLy8gYWxlcnQoXCJlcnJvcmUhXCIpO1xyXG4gICAgfVxyXG5cclxuICB9XHJcbiAgLyoqXHJcbiAgICogTWV0b2RvIGludm9jYXRvIGRhbGwnb3V0cHV0IGRhbCBkaWFsb2cgcGVyIGFnZ2l1bmdlcmUvbW9kaWZpY2FyZSB1biBtZXRhZGF0YVxyXG4gICAqIG5laSBjYW1waSBkaSB0aXBvIEFsbGVnYXRvIG8gSW1tYWdpbmUuIFByaW1hIGRpIGFnZ2l1bmdlcmUgaWwgbWV0YWRhdGEgbmVsbCdlbGVuY29cclxuICAgKiBjb250b2xsYSBzZSBlc2lzdGUgdW4gYWx0cm8gbWV0YWRhdGEgY29uIGxvIHN0ZXNzbyBub21lIGUgbmVsIGNhc28gZ2VuZXJhIHVuIGVycm9yZVxyXG4gICAqIChpIG1ldGFkYXRhLCBjb21lIHBlciBpIGNhbXBpIGRlbGxhIGZvcm0sIGRldm9ubyBhdmVyZSB1biBub21lIHVuaXZvY28pLlxyXG4gICAqIEBwYXJhbSBtZXRhZGF0YSBNZXRhZGF0YSBhZ2dpdW50byBvIG1vZGlmaWNhdG8sIHNlIG51bGwgYWxsb3JhIGlsIGRpYWxvZyDDqCBzdGF0byBjaGl1c28gc2VuemEgZmFyZSBtb2RpZmljaGUuXHJcbiAgICovXHJcbiAgLy8gb25TYXZlTWV0YWRhdGEobWV0YWRhdGE6IEJhc2VGaWVsZCkge1xyXG4gIC8vICAgaWYgKG1ldGFkYXRhKSB7XHJcbiAgLy8gICAgIGlmIChcclxuICAvLyAgICAgICAodGhpcy5maWVsZC5GaWVsZFR5cGUgPT09IEZpZWxkVHlwZUVudW0uQWxsZWdhdG9cclxuICAvLyAgICAgICAgICYmICh0aGlzLmZpZWxkIGFzIEF0dGFjaG1lbnRGaWVsZCkuTWV0YWRhdGFGaWVsZHNcclxuICAvLyAgICAgICAgICYmICh0aGlzLmZpZWxkIGFzIEF0dGFjaG1lbnRGaWVsZCkuTWV0YWRhdGFGaWVsZHMuZmluZChcclxuICAvLyAgICAgICAgICAgKG0sIGkpID0+IG0uTGFiZWwgPT09IG1ldGFkYXRhLkxhYmVsXHJcbiAgLy8gICAgICAgICAgICAgJiYgKHRoaXMuaW5kZXhTZWxlY3RlZE1ldGFkYXRhID09IG51bGwgPyB0cnVlIDogdGhpcy5pbmRleFNlbGVjdGVkTWV0YWRhdGEgIT09IGkpXHJcbiAgLy8gICAgICAgICApXHJcbiAgLy8gICAgICAgKSB8fFxyXG4gIC8vICAgICAgICh0aGlzLmZpZWxkLkZpZWxkVHlwZSA9PT0gRmllbGRUeXBlRW51bS5JbW1hZ2luZVxyXG4gIC8vICAgICAgICAgJiYgKHRoaXMuZmllbGQgYXMgSW1hZ2VGaWVsZCkuQXR0YWNoRGVmaW5pdGlvbi5NZXRhZGF0YUZpZWxkc1xyXG4gIC8vICAgICAgICAgJiYgKHRoaXMuZmllbGQgYXMgSW1hZ2VGaWVsZCkuQXR0YWNoRGVmaW5pdGlvbi5NZXRhZGF0YUZpZWxkcy5maW5kKFxyXG4gIC8vICAgICAgICAgICAobSwgaSkgPT4gbS5MYWJlbCA9PT0gbWV0YWRhdGEuTGFiZWxcclxuICAvLyAgICAgICAgICAgICAmJiAodGhpcy5pbmRleFNlbGVjdGVkTWV0YWRhdGEgPT0gbnVsbCA/IHRydWUgOiB0aGlzLmluZGV4U2VsZWN0ZWRNZXRhZGF0YSAhPT0gaSlcclxuICAvLyAgICAgICAgIClcclxuICAvLyAgICAgICApXHJcbiAgLy8gICAgICkge1xyXG4gIC8vICAgICAgIEVxcER5bmFtaWNNb2R1bGVEaWFsb2dTZXJ2aWNlLldhcm5pbmcoJ0ltcG9zc2liaWxlIGluc2VyaXJlIGR1ZSBtZXRhZGF0YSBjb24gbGEgc3Rlc3NhIGxhYmVsLicpO1xyXG4gIC8vICAgICAgIHRocm93IG5ldyBFcnJvcignSW1wb3NzaWJpbGUgaW5zZXJpcmUgZHVlIG1ldGFkYXRhIGNvbiBsYSBzdGVzc2EgbGFiZWwuJyk7XHJcbiAgLy8gICAgIH1cclxuXHJcbiAgLy8gICAgIGlmICh0aGlzLmluZGV4U2VsZWN0ZWRNZXRhZGF0YSAhPSBudWxsICYmIHRoaXMuaW5kZXhTZWxlY3RlZE1ldGFkYXRhID49IDApIHtcclxuICAvLyAgICAgICBpZiAodGhpcy5maWVsZC5GaWVsZFR5cGUgPT09IEZpZWxkVHlwZUVudW0uQWxsZWdhdG8pIHtcclxuICAvLyAgICAgICAgICh0aGlzLmZpZWxkIGFzIEF0dGFjaG1lbnRGaWVsZCkuTWV0YWRhdGFGaWVsZHNbdGhpcy5pbmRleFNlbGVjdGVkTWV0YWRhdGFdID0gbWV0YWRhdGE7XHJcbiAgLy8gICAgICAgfSBlbHNlIGlmICh0aGlzLmZpZWxkLkZpZWxkVHlwZSA9PT0gRmllbGRUeXBlRW51bS5JbW1hZ2luZSkge1xyXG4gIC8vICAgICAgICAgKHRoaXMuZmllbGQgYXMgSW1hZ2VGaWVsZCkuQXR0YWNoRGVmaW5pdGlvbi5NZXRhZGF0YUZpZWxkc1t0aGlzLmluZGV4U2VsZWN0ZWRNZXRhZGF0YV0gPSBtZXRhZGF0YTtcclxuICAvLyAgICAgICB9XHJcbiAgLy8gICAgIH0gZWxzZSB7XHJcbiAgLy8gICAgICAgaWYgKHRoaXMuZmllbGQuRmllbGRUeXBlID09PSBGaWVsZFR5cGVFbnVtLkFsbGVnYXRvKSB7XHJcbiAgLy8gICAgICAgICBpZiAoISh0aGlzLmZpZWxkIGFzIEF0dGFjaG1lbnRGaWVsZCkuTWV0YWRhdGFGaWVsZHMpIHtcclxuICAvLyAgICAgICAgICAgKHRoaXMuZmllbGQgYXMgQXR0YWNobWVudEZpZWxkKS5NZXRhZGF0YUZpZWxkcyA9IG5ldyBBcnJheTxCYXNlRmllbGQ+KCk7XHJcbiAgLy8gICAgICAgICB9XHJcbiAgLy8gICAgICAgICAodGhpcy5maWVsZCBhcyBBdHRhY2htZW50RmllbGQpLk1ldGFkYXRhRmllbGRzLnB1c2gobWV0YWRhdGEpO1xyXG4gIC8vICAgICAgIH0gZWxzZSBpZiAodGhpcy5maWVsZC5GaWVsZFR5cGUgPT09IEZpZWxkVHlwZUVudW0uSW1tYWdpbmUpIHtcclxuICAvLyAgICAgICAgIGlmICghKHRoaXMuZmllbGQgYXMgSW1hZ2VGaWVsZCkuQXR0YWNoRGVmaW5pdGlvbi5NZXRhZGF0YUZpZWxkcykge1xyXG4gIC8vICAgICAgICAgICAodGhpcy5maWVsZCBhcyBJbWFnZUZpZWxkKS5BdHRhY2hEZWZpbml0aW9uLk1ldGFkYXRhRmllbGRzID0gbmV3IEFycmF5PEJhc2VGaWVsZD4oKTtcclxuICAvLyAgICAgICAgIH1cclxuICAvLyAgICAgICAgICh0aGlzLmZpZWxkIGFzIEltYWdlRmllbGQpLkF0dGFjaERlZmluaXRpb24uTWV0YWRhdGFGaWVsZHMucHVzaChtZXRhZGF0YSk7XHJcbiAgLy8gICAgICAgfVxyXG4gIC8vICAgICB9XHJcbiAgLy8gICB9XHJcbiAgLy8gICB0aGlzLmRpYWxvZ01ldGFkYXRhUmVmLmNsb3NlKCk7XHJcbiAgLy8gICB0aGlzLnNldE1ldGFkYXRhT3JkaW5hbFBvc2l0aW9uKCk7XHJcbiAgLy8gICB0aGlzLnJlbG9hZE1ldGFkYXRhVGFibGUoKTtcclxuICAvLyB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE1ldG9kbyBwZXIgZGlzYWJpbGl0YXJlIGlsIHB1bHNhbnRlIHBlciBzYWx2YXJlIGlsIGNhbXBvIGluc2VyaXRvL21vZGlmaWNhdG8uXHJcbiAgICogQHJldHVybnMgUmVzdGl0dWlzY2UgdW4gYm9vbGVhbm8sIHNlIHRydWUgaWwgc2FsdmF0YWdnaW8gdmllbmUgZGlzYWJpbGl0YXRvLlxyXG4gICAqL1xyXG4gICBkaXNhYmxlU2F2ZUZpZWxkKCk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKHRoaXMuZmllbGRGb3JtR3JvdXAuaW52YWxpZCkge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICBzd2l0Y2ggKHRoaXMuZmllbGQuRmllbGRUeXBlKSB7XHJcblxyXG4gICAgICBjYXNlIEZpZWxkVHlwZUVudW1bJ0VsZW5jbyBnZW5lcmljbyddOlxyXG4gICAgICAgIGlmICgodGhpcy5maWVsZCBhcyBMaXN0VmFsdWVGaWVsZCkuUHJlc2VudGF0aW9uTW9kZSAhPSBMaXN0UHJlc2VudGF0aW9uRW51bS5JbW1hZ2luaSkge1xyXG4gICAgICAgICAgaWYoKHRoaXMuZmllbGQgYXMgTGlzdFZhbHVlRmllbGQpLkZvcm11bGEhPSB1bmRlZmluZWQgJiYgKHRoaXMuZmllbGQgYXMgTGlzdFZhbHVlRmllbGQpLkZvcm11bGEhPSBcIlwiICl7XHJcbiAgICAgICAgICAgIGlmICghKHRoaXMuZmllbGQgYXMgTGlzdFZhbHVlRmllbGQpLlZhbHVlUGFpcnMpIHtcclxuICAgICAgICAgICAgICAodGhpcy5maWVsZCBhcyBMaXN0VmFsdWVGaWVsZCkuVmFsdWVQYWlycyA9IHt9O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIFxyXG4gICAgICAgICAgcmV0dXJuICEodGhpcy5maWVsZCBhcyBMaXN0VmFsdWVGaWVsZCkuVmFsdWVQYWlycyB8fCAodGhpcy5maWVsZCBhcyBMaXN0VmFsdWVGaWVsZCkuVmFsdWVQYWlycy5sZW5ndGggPT09IDA7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICAgICEodGhpcy5maWVsZCBhcyBMaXN0VmFsdWVGaWVsZCkuQnV0dG9uSW1hZ2VMaXN0XHJcbiAgICAgICAgICAgIHx8ICh0aGlzLmZpZWxkIGFzIExpc3RWYWx1ZUZpZWxkKS5CdXR0b25JbWFnZUxpc3QubGVuZ3RoID09PSAwXHJcbiAgICAgICAgICAgIHx8ICEhKHRoaXMuZmllbGQgYXMgTGlzdFZhbHVlRmllbGQpLkJ1dHRvbkltYWdlTGlzdC5maW5kKGkgPT4gIWkuQnV0dG9uS2V5IHx8ICFpLkJ1dHRvblZhbHVlKVxyXG4gICAgICAgICAgKTtcclxuICAgICAgICB9XHJcbiAgICAgIGNhc2UgRmllbGRUeXBlRW51bS5Mb29rdXA6XHJcbiAgICAgICAgcmV0dXJuICEodGhpcy5maWVsZCBhcyBMb29rdXBGaWVsZCkuRmllbGROYW1lcyB8fCAodGhpcy5maWVsZCBhcyBMb29rdXBGaWVsZCkuRmllbGROYW1lcy5sZW5ndGggPT09IDA7XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTWV0b2RvIHBlciBzYWx2YXJlIGlsIGNhbXBvIGluc2VyaXRvL21vZGlmaWNhdG8uXHJcbiAgICogU2Ugw6ggc3RhdG8gaW5zZXJpdG8gdW4gZmllbGQgY29uIGxhIHN0ZXNzYSBsYWJlbCB2aWVuZSBnZW5lcmF0byB1biBlcnJvcmUgKGxlIGxhYmVsIGRldm9ubyBlc3NlcmUgdW5pdm9jaGUpLlxyXG4gICAqIFVuYSB2b2x0YSBhZ2dpdW50by9hZ2dpb3JuYXRvIGlsIGNhbXBvIG5lbGwnZWxlbmNvIGRlaSBGaWVsZCBkZWxsYSBGb3JtIGNoaXVkZSBpbCBkaWFsb2cgZSByaWNhcmljYSBsYSB0YWJlbGxhXHJcbiAgICogY2hlIG1vc3RyYSBsJ2VsZW5jbyBkZWkgY2FtcGkgYWdnaXVudGkgYWxsYSBmb3JtLlxyXG4gICAqL1xyXG4gIHNhdmVBbmRFeGl0QWRkRmllbGQoc2F2ZTogYm9vbGVhbikge1xyXG4gICAgaWYgKHNhdmUpIHtcclxuICAgICAgdGhpcy5zYXZlRmllbGRFdmVudC5lbWl0KHRoaXMuZmllbGQpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zYXZlRmllbGRFdmVudC5lbWl0KG51bGwpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTWV0b2RvIHBlciByaXByaXN0aW5hcmUgbCdvZ2dldHRvIGZpZWxkIGFsIGNhbWJpbyBkZWwgdGlwbyBzZWxlemlvbmF0by5cclxuICAgKiBMYXNjaWEgdmFsb3JpenphdGUgc29sbyBsZSBwcm9wcmlldMOgIGRlbGwnb2dnZXR0byBCYXNlRmllbGQgY29tdW5lIGEgdHV0dGkgaSB0aXBpIGRpIGNhbXBvLlxyXG4gICAqL1xyXG4gIHByaXZhdGUgcmVzdG9yZUJhc2VGaWVsZFByb3BlcnRpZXMoKSB7XHJcbiAgICBpZiAodGhpcy5maWVsZCkge1xyXG4gICAgICBjb25zdCB0bXBCYXNlRmllbGQgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHRoaXMuZmllbGQpKTtcclxuICAgICAgdGhpcy5maWVsZCA9IG5ldyBCYXNlRmllbGQoKTtcclxuICAgICAgdGhpcy5maWVsZC5MYWJlbCA9IHRtcEJhc2VGaWVsZC5MYWJlbDtcclxuICAgICAgdGhpcy5maWVsZC5EZXNjcmlwdGlvbiA9IHRtcEJhc2VGaWVsZC5EZXNjcmlwdGlvbjtcclxuICAgICAgdGhpcy5maWVsZC5SZXF1aXJlZCA9IHRtcEJhc2VGaWVsZC5SZXF1aXJlZDtcclxuICAgICAgdGhpcy5maWVsZC5GaWVsZFR5cGUgPSB0bXBCYXNlRmllbGQuRmllbGRUeXBlO1xyXG4gICAgICB0aGlzLmZpZWxkLkZvcm11bGEgPSB0bXBCYXNlRmllbGQuRm9ybXVsYTtcclxuICAgICAgdGhpcy5maWVsZC5Db2xTcGFuU2l6ZXMgPSB0bXBCYXNlRmllbGQuQ29sU3BhblNpemVzO1xyXG4gICAgICB0aGlzLmZpZWxkLkluTGlzdFZpZXcgPSB0bXBCYXNlRmllbGQuSW5MaXN0VmlldztcclxuICAgICAgdGhpcy5maWVsZC5Ub29sdGlwID0gdG1wQmFzZUZpZWxkLlRvb2x0aXA7XHJcbiAgICAgIHRoaXMuZmllbGQuUmVhZG9ubHkgPSB0bXBCYXNlRmllbGQuUmVhZG9ubHk7XHJcbiAgICAgIHRoaXMuZmllbGQuRmllbGRHcm91cCA9IHRtcEJhc2VGaWVsZC5GaWVsZEdyb3VwO1xyXG4gICAgICB0aGlzLmZpZWxkLlZpc2libGVJZiA9IHRtcEJhc2VGaWVsZC5WaXNpYmxlSWY7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBwcml2YXRlIGNvbmZpZ3VyZUNvbHVtbnMoKSB7XHJcbiAgLy8gICB0aGlzLm1ldGFkYXRhQ29sdW1ucyA9IFtcclxuICAvLyAgICAge1xyXG4gIC8vICAgICAgIGtleTogJ2FjdGlvbicsIGRpc3BsYXk6ICcnLCB0eXBlOiBUeXBlQ29sdW1uLk1lbnVBY3Rpb24sIGJ1dHRvbk1lbnVJY29uOiAnbW9yZV92ZXJ0Jywgc3R5bGVzOiB7IGZsZXg6ICcwIDAgNiUnIH0sXHJcbiAgLy8gICAgICAgYWN0aW9uczogW1xyXG4gIC8vICAgICAgICAgeyBuYW1lOiAnTW9kaWZpY2EnLCBpY29uOiAnZWRpdCcsIGZuOiAoZWxlbWVudCwgaW5kZXgsIGNvbCkgPT4gdGhpcy5vcGVuTWV0YWRhdGFEaWFsb2coZWxlbWVudCkgfSxcclxuICAvLyAgICAgICAgIHsgbmFtZTogJ0VsaW1pbmEnLCBpY29uOiAnZGVsZXRlJywgZm46IChlbGVtZW50LCBpbmRleCwgY29sKSA9PiB0aGlzLmRlbGV0ZU1ldGFkYXRhKGVsZW1lbnQpIH0sXHJcbiAgLy8gICAgICAgXVxyXG4gIC8vICAgICB9LFxyXG4gIC8vICAgICB7IGtleTogJ0ZpZWxkVHlwZScsIGRpc3BsYXk6ICdUaXBvbG9naWEnLCB0eXBlOiBUeXBlQ29sdW1uLkVudW0sIGVudW1Nb2RlbDogRmllbGRUeXBlRW51bSB9LFxyXG4gIC8vICAgICB7IGtleTogJ0xhYmVsJywgZGlzcGxheTogJ0xhYmVsJyB9LFxyXG4gIC8vICAgICB7IGtleTogJ0Rlc2NyaXB0aW9uJywgZGlzcGxheTogJ0Rlc2NyaXppb25lJyB9LFxyXG4gIC8vICAgICB7XHJcbiAgLy8gICAgICAga2V5OiAnUmVxdWlyZWQnLCBkaXNwbGF5OiAnT2JibGlnYXRvcmlvJyxcclxuICAvLyAgICAgICB2YWx1ZTogKGVsZW1lbnQpID0+ICEhZWxlbWVudC5SZXF1aXJlZCxcclxuICAvLyAgICAgICB0eXBlOiBUeXBlQ29sdW1uLkJvb2xlYW4sXHJcbiAgLy8gICAgICAgYm9vbGVhblZhbHVlczoge1xyXG4gIC8vICAgICAgICAgdHJ1ZTogJzxpIGNsYXNzPVwiZmEgZmEtY2hlY2sgc3VjY2Vzcy1jb2xvclwiPjwvaT4nLFxyXG4gIC8vICAgICAgICAgZmFsc2U6ICc8aSBjbGFzcz1cImZhIGZhLWNsb3NlIGVycm9yLWNvbG9yXCI+PC9pPidcclxuICAvLyAgICAgICB9LFxyXG4gIC8vICAgICAgIHN0eWxlczogeyBmbGV4OiAnMCAwIDclJywgY2VsbEFsaWdubWVudDogQ2VsbEFsaWdubWVudEVudW0uQ0VOVEVSIH1cclxuICAvLyAgICAgfSxcclxuICAvLyAgIF07XHJcbiAgLy8gfVxyXG5cclxuICAvKipcclxuICAgKiBNZXRvZG8gcGVyIGVsaW1pbmFyZSB1biBtZXRhZGF0YSBhZ2dpdW50byBwZXIgdW4gY2FtcG8gZGkgdGlwbyBBbGxlZ2F0byBvIEltbWFnaW5lLlxyXG4gICAqIEBwYXJhbSBtZXRhZGF0YSBNZXRhZGF0YSBkYSBlbGltaW5hcmUuXHJcbiAgICovXHJcbiAgLy8gcHJpdmF0ZSBkZWxldGVNZXRhZGF0YShtZXRhZGF0YTogQmFzZUZpZWxkKSB7XHJcbiAgLy8gICBFcXBEeW5hbWljTW9kdWxlRGlhbG9nU2VydmljZS5Db25maXJtKCdFbGltaW5hcmUgaWwgbWV0YWRhdGEgc2VsZXppb25hdG8/JywgKCkgPT4ge1xyXG4gIC8vICAgICBpZiAodGhpcy5maWVsZC5GaWVsZFR5cGUgPT09IEZpZWxkVHlwZUVudW0uQWxsZWdhdG8pIHtcclxuICAvLyAgICAgICAodGhpcy5maWVsZCBhcyBBdHRhY2htZW50RmllbGQpLk1ldGFkYXRhRmllbGRzLnNwbGljZSgodGhpcy5maWVsZCBhcyBBdHRhY2htZW50RmllbGQpLk1ldGFkYXRhRmllbGRzLmluZGV4T2YobWV0YWRhdGEpLCAxKTtcclxuICAvLyAgICAgfSBlbHNlIGlmICh0aGlzLmZpZWxkLkZpZWxkVHlwZSA9PT0gRmllbGRUeXBlRW51bS5JbW1hZ2luZSkge1xyXG4gIC8vICAgICAgICh0aGlzLmZpZWxkIGFzIEltYWdlRmllbGQpLkF0dGFjaERlZmluaXRpb24uTWV0YWRhdGFGaWVsZHMuc3BsaWNlKCh0aGlzLmZpZWxkIGFzIEltYWdlRmllbGQpLkF0dGFjaERlZmluaXRpb24uTWV0YWRhdGFGaWVsZHMuaW5kZXhPZihtZXRhZGF0YSksIDEpO1xyXG4gIC8vICAgICB9XHJcbiAgLy8gICAgIHRoaXMuc2V0TWV0YWRhdGFPcmRpbmFsUG9zaXRpb24oKTtcclxuICAvLyAgICAgdGhpcy5yZWxvYWRNZXRhZGF0YVRhYmxlKCk7XHJcbiAgLy8gICB9LCBmYWxzZSwgJ1JpY2hpZXN0YSBjb25mZXJtYScpO1xyXG4gIC8vIH1cclxuXHJcbiAgLyoqXHJcbiAgICogSW1wb3N0YSBsJ29yZGluYW1lbnRvIGRlaSBtZXRhZGF0YSBhbGwnaW50ZXJubyBkZWkgY2FtcGkgZGkgdGlwbyBBbGxlZ2F0byBlIEltbWFnaW5lLlxyXG4gICAqL1xyXG4gIC8vIHByaXZhdGUgc2V0TWV0YWRhdGFPcmRpbmFsUG9zaXRpb24oKSB7XHJcbiAgLy8gICBpZiAodGhpcy5maWVsZC5GaWVsZFR5cGUgPT09IEZpZWxkVHlwZUVudW0uQWxsZWdhdG8pIHtcclxuICAvLyAgICAgaWYgKCh0aGlzLmZpZWxkIGFzIEF0dGFjaG1lbnRGaWVsZCkuTWV0YWRhdGFGaWVsZHMpIHtcclxuICAvLyAgICAgICAodGhpcy5maWVsZCBhcyBBdHRhY2htZW50RmllbGQpLk1ldGFkYXRhRmllbGRzLmZvckVhY2gobWV0YWRhdGEgPT4ge1xyXG4gIC8vICAgICAgICAgbWV0YWRhdGEuT3JkaW5hbFBvc2l0aW9uID0gKHRoaXMuZmllbGQgYXMgQXR0YWNobWVudEZpZWxkKS5NZXRhZGF0YUZpZWxkcy5pbmRleE9mKG1ldGFkYXRhKTtcclxuICAvLyAgICAgICB9KTtcclxuICAvLyAgICAgfVxyXG4gIC8vICAgfSBlbHNlIGlmICh0aGlzLmZpZWxkLkZpZWxkVHlwZSA9PT0gRmllbGRUeXBlRW51bS5JbW1hZ2luZSkge1xyXG4gIC8vICAgICBpZiAoKHRoaXMuZmllbGQgYXMgSW1hZ2VGaWVsZCkuQXR0YWNoRGVmaW5pdGlvbi5NZXRhZGF0YUZpZWxkcykge1xyXG4gIC8vICAgICAgICh0aGlzLmZpZWxkIGFzIEltYWdlRmllbGQpLkF0dGFjaERlZmluaXRpb24uTWV0YWRhdGFGaWVsZHMuZm9yRWFjaChtZXRhZGF0YSA9PiB7XHJcbiAgLy8gICAgICAgICBtZXRhZGF0YS5PcmRpbmFsUG9zaXRpb24gPSAodGhpcy5maWVsZCBhcyBJbWFnZUZpZWxkKS5BdHRhY2hEZWZpbml0aW9uLk1ldGFkYXRhRmllbGRzLmluZGV4T2YobWV0YWRhdGEpO1xyXG4gIC8vICAgICAgIH0pO1xyXG4gIC8vICAgICB9XHJcbiAgLy8gICB9XHJcbiAgLy8gfVxyXG5cclxuICAvKipcclxuICAgKiBNZXRvZG8gcGVyIHJpY2FyaWNhcmUgaSBkYXRpIGRlbGxhIHRhYmVsbGEgZGVpIG1ldGFkYXRhIHZpc3VhbGl6emF0YSBuZWxsYSBjcmVhemlvbmUvbW9kaWZpY2EgXHJcbiAgICogZGVpIGNhbXBpIGRpIHRpcG8gQWxsZWdhdG8gbyBJbW1hZ2luZS5cclxuICAgKi9cclxuICAvLyBwcml2YXRlIHJlbG9hZE1ldGFkYXRhVGFibGUoKSB7XHJcbiAgLy8gICBpZiAodGhpcy5tZXRhZGF0YUZpZWxkc1RhYmxlKSB7XHJcbiAgLy8gICAgIHRoaXMubWV0YWRhdGFGaWVsZHNUYWJsZS5yZWxvYWREYXRhdGFibGUoKTtcclxuICAvLyAgIH1cclxuICAvLyB9XHJcblxyXG5cclxuXHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImJpZ3dyYXBwZXJcIiBzdHlsZT1cIm1heC1oZWlnaHQ6IDEwMHZoICFpbXBvcnRhbnQ7IG92ZXJmbG93LXg6IGhpZGRlbjsgb3ZlcmZsb3cteTogYXV0bztcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb250YWluZXJIZWFkZXJcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicm93IHRpdGxlXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkZXItdGl0bGUtc3RhbmRhcmRcIj57e2luZGV4RmllbGQgIT0gbnVsbCAmJiBpbmRleEZpZWxkID49IDAgPyBcIk1vZGlmaWNhXCJcclxuICAgICAgICAgICAgICAgIDogXCJBZ2dpdW5naVwifX0gY2FtcG88L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lci1mbHVpZCBjb250YWluZXJDb250ZW50XCI+XHJcbiAgICAgICAgPGZvcm0gW2Zvcm1Hcm91cF09XCJmaWVsZEZvcm1Hcm91cFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTEyIGNvbC1tZC00IG10LTIgdGlwb0NhbXBvXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbD5UaXBvIGNhbXBvICo8L21hdC1sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICA8ZXFwLXNlbGVjdCBbZW51bURhdGFdPVwiRmllbGRUeXBlRW51bVwiIFsobmdNb2RlbElucHV0KV09XCJmaWVsZC5GaWVsZFR5cGVcIiBbc2hvd0NhbmNlbEJ1dHRvbl09XCJmYWxzZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIChuZ01vZGVsSW5wdXRDaGFuZ2UpPVwib25GaWVsZFR5cGVDaGFuZ2UoKVwiIFtmb3JtR3JvdXBJbnB1dF09XCJmaWVsZEZvcm1Hcm91cFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbE5hbWVJbnB1dF09XCInRmllbGRUeXBlJ1wiIFtlbnVtRGF0YVRvRXhjbHVkZV09XCJmaWVsZFR5cGVzVG9FeGNsdWRlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9lcXAtc2VsZWN0PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1zbS0xMiBjb2wtbWQtNCBtdC0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbD4gQ29kaWNlICogPC9tYXQtbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwiTGFiZWxcIiByZXF1aXJlZCBtYXRJbnB1dCBbKG5nTW9kZWwpXT1cImZpZWxkLkxhYmVsXCIgIChrZXlwcmVzcyk9XCJvbWl0X3NwZWNpYWxfY2hhcigkZXZlbnQpXCIgc3BlbGxjaGVjaz1cImZhbHNlXCIgYXV0b2NvbXBsZXRlPVwib2ZmXCIgKGZvY3Vzb3V0KT1cInN0cmluZ1Nhbml0aXplcihmaWVsZC5MYWJlbClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1lcnJvcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGdldEZvcm1WYWxpZGF0aW9uRXJyb3JzKCdMYWJlbCcpIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTEyIGNvbC1tZC00IG10LTJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsPiBEZXNjcml6aW9uZSAqIDwvbWF0LWxhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG5hbWU9XCJEZXNjcmlwdGlvblwiIGZvcm1Db250cm9sTmFtZT1cIkRlc2NyaXB0aW9uXCIgcmVxdWlyZWQgbWF0SW5wdXRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZmllbGQuRGVzY3JpcHRpb25cIiBzcGVsbGNoZWNrPVwiZmFsc2VcIiBhdXRvY29tcGxldGU9XCJvZmZcIiAoa2V5cHJlc3MpPVwib21pdF9zcGVjaWFsX2NoYXIoJGV2ZW50KVwiIChmb2N1c291dCk9XCJzdHJpbmdTYW5pdGl6ZXIoZmllbGQuRGVzY3JpcHRpb24pXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPCEtLSA8bWF0LWVycm9yICpuZ0lmPVwiIWZpZWxkLkRlc2NyaXB0aW9uLnZhbGlkICYmIGZpZWxkLkZvcm1Gb3JtR3JvdXAuY29udHJvbHNbZmllbGQuRGVzY3JpcHRpb25dLnRvdWNoZWRcIj4gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBnZXRGb3JtVmFsaWRhdGlvbkVycm9ycygnRGVzY3JpcHRpb24nKSB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cclxuICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1zbS0xMiBjb2wtbWQtNCBtdC0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbD4gVG9vbHRpcCA8L21hdC1sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBuYW1lPVwiVG9vbHRpcFwiIGZvcm1Db250cm9sTmFtZT1cIlRvb2x0aXBcIiBtYXRJbnB1dCBbKG5nTW9kZWwpXT1cImZpZWxkLlRvb2x0aXBcIiBzcGVsbGNoZWNrPVwiZmFsc2VcIiBhdXRvY29tcGxldGU9XCJvZmZcIiAoa2V5cHJlc3MpPVwib21pdF9zcGVjaWFsX2NoYXIoJGV2ZW50KVwiIChmb2N1c291dCk9XCJzdHJpbmdTYW5pdGl6ZXIoZmllbGQuVG9vbHRpcClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1lcnJvcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGdldEZvcm1WYWxpZGF0aW9uRXJyb3JzKCdUb29sdGlwJykgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tMTIgY29sLW1kLTQgbXQtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWw+IEZvcm11bGEgKEphdmFzY3JpcHQpIDwvbWF0LWxhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IGZvcm1Db250cm9sTmFtZT1cIkZvcm11bGFcIiBtYXRJbnB1dCBbKG5nTW9kZWwpXT1cImZpZWxkLkZvcm11bGFcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9wZW5Gb3JtdWxhRGlhbG9nKClcIiBzcGVsbGNoZWNrPVwiZmFsc2VcIiBhdXRvY29tcGxldGU9XCJvZmZcIiAoa2V5cHJlc3MpPVwib21pdF9zcGVjaWFsX2NoYXIoJGV2ZW50KVwiIChmb2N1c291dCk9XCJzdHJpbmdTYW5pdGl6ZXIoZmllbGQuRm9ybXVsYSlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgZ2V0Rm9ybVZhbGlkYXRpb25FcnJvcnMoJ0Zvcm11bGEnKSB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1zbS0xMiBjb2wtbWQtNCBtdC0yXCIgKm5nSWY9XCJmb3JtRmllbGRzR3JvdXBzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbD5TZXppb25lPC9tYXQtbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgPGVxcC1zZWxlY3QgW2FycmF5RGF0YV09XCJmb3JtRmllbGRzR3JvdXBzXCIgWyhuZ01vZGVsSW5wdXQpXT1cImZpZWxkLkZpZWxkR3JvdXBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXJyYXlLZXlQcm9wZXJ0eV09XCInTmFtZSdcIiBbYXJyYXlWYWx1ZVByb3BlcnR5XT1cIidOYW1lJ1wiIFtmb3JtR3JvdXBJbnB1dF09XCJmaWVsZEZvcm1Hcm91cFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbE5hbWVJbnB1dF09XCInRmllbGRHcm91cCdcIiByZXF1aXJlZCBbaW5jbHVkZUZ1bGxPYmplY3RdPVwiZmFsc2VcIj5cclxuICAgICAgICAgICAgICAgICAgICA8L2VxcC1zZWxlY3Q+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTEyIGNvbC1tZC00IG10LTJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsPkxhcmdoZXp6YSBjYW1wbzwvbWF0LWxhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgIDxlcXAtc2VsZWN0IFthcnJheURhdGFdPVwiYXZhaWxhYmxlQ29sU3BhblNpemVzXCIgWyhuZ01vZGVsSW5wdXQpXT1cImZpZWxkLkNvbFNwYW5TaXplc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthcnJheUtleVByb3BlcnR5XT1cIidrZXknXCIgW2FycmF5VmFsdWVQcm9wZXJ0eV09XCIndmFsdWUnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgKG5nTW9kZWxJbnB1dENoYW5nZSk9XCJvbkNvbFNwYW5TaXplU2VsZWN0KClcIiBbaXNNdWx0aVNlbGVjdF09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW2Zvcm1Hcm91cElucHV0XT1cImZpZWxkRm9ybUdyb3VwXCIgW2Zvcm1Db250cm9sTmFtZUlucHV0XT1cIidDb2xTcGFuU2l6ZXMnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW2luY2x1ZGVGdWxsT2JqZWN0XT1cImZhbHNlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9lcXAtc2VsZWN0PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTEyIGNvbC1tZC00IG10LTJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsPiBMYWJlbCBjc3MgPC9tYXQtbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbmFtZT1cIkxhYmVsc3R5bGVDU1NcIiBmb3JtQ29udHJvbE5hbWU9XCJMYWJlbHN0eWxlQ1NTXCIgbWF0SW5wdXRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZmllbGQuTGFiZWxzdHlsZUNTU1wiIHNwZWxsY2hlY2s9XCJmYWxzZVwiIGF1dG9jb21wbGV0ZT1cIm9mZlwiKGtleXByZXNzKT1cIm9taXRfc3BlY2lhbF9jaGFyKCRldmVudClcIiAoZm9jdXNvdXQpPVwic3RyaW5nU2FuaXRpemVyKGZpZWxkLkxhYmVsc3R5bGVDU1MpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWVycm9yPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGdldEZvcm1WYWxpZGF0aW9uRXJyb3JzKCdMYWJlbHN0eWxlQ1NTJykgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tMTIgY29sLW1kLTQgbXQtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWw+IEZpZWxkIGNzcyA8L21hdC1sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBuYW1lPVwiRmllbGRzdHlsZUNTU1wiIGZvcm1Db250cm9sTmFtZT1cIkZpZWxkc3R5bGVDU1NcIiBtYXRJbnB1dFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJmaWVsZC5GaWVsZHN0eWxlQ1NTXCIgc3BlbGxjaGVjaz1cImZhbHNlXCIgYXV0b2NvbXBsZXRlPVwib2ZmXCIgKGtleXByZXNzKT1cIm9taXRfc3BlY2lhbF9jaGFyKCRldmVudClcIiAoZm9jdXNvdXQpPVwic3RyaW5nU2FuaXRpemVyKGZpZWxkLkZpZWxkc3R5bGVDU1MpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWVycm9yPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGdldEZvcm1WYWxpZGF0aW9uRXJyb3JzKCdGaWVsZHN0eWxlQ1NTJykgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTEyIGNvbC1tZC00IG10LTIgIGFsaWduLXNlbGYtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPG1hdC1zbGlkZS10b2dnbGUgWyhuZ01vZGVsKV09XCJmaWVsZC5SZXF1aXJlZFwiIGZvcm1Db250cm9sTmFtZT1cIlJlcXVpcmVkXCIgY29sb3I9XCJwcmltYXJ5XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIE9iYmxpZ2F0b3Jpb1xyXG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1zbS0xMiBjb2wtbWQtNCBtdC0yICBhbGlnbi1zZWxmLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIFsobmdNb2RlbCldPVwiZmllbGQuUmVhZG9ubHlcIiBmb3JtQ29udHJvbE5hbWU9XCJSZWFkb25seVwiIGNvbG9yPVwicHJpbWFyeVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBSZWFkT25seVxyXG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTEyIGNvbC1tZC00IG10LTJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsPiBWaXNpYmxlSWYgPC9tYXQtbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbmFtZT1cIlZpc2libGVJZlwiIGZvcm1Db250cm9sTmFtZT1cIlZpc2libGVJZlwiIG1hdElucHV0IFsobmdNb2RlbCldPVwiZmllbGQuVmlzaWJsZUlmXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvcGVuVmlzaWJsZUlmRGlhbG9nKClcIiBzcGVsbGNoZWNrPVwiZmFsc2VcIiBhdXRvY29tcGxldGU9XCJvZmZcIiAoa2V5cHJlc3MpPVwib21pdF9zcGVjaWFsX2NoYXIoJGV2ZW50KVwiIChmb2N1c291dCk9XCJzdHJpbmdTYW5pdGl6ZXIoZmllbGQuVmlzaWJsZUlmKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1lcnJvcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBnZXRGb3JtVmFsaWRhdGlvbkVycm9ycygnVmlzaWJsZUlmJykgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgPCEtLSA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBuYW1lPVwiVmlzaWJsZUlmXCIgZm9ybUNvbnRyb2xOYW1lPVwiVmlzaWJsZUlmXCIgbWF0SW5wdXQgWyhuZ01vZGVsKV09XCJmaWVsZC5WaXNpYmxlSWZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdEF1dG9jb21wbGV0ZV09XCJWaXNpYmxlSWZBdXRvY29tcGxldGVcIiAoa2V5dXApPVwic2V0VmlzaWJsZUlmQXV0b2NvbXBsZXRlT3B0aW9ucygkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChmb2N1cyk9XCJzZXRWaXNpYmxlSWZBdXRvY29tcGxldGVPcHRpb25zKG51bGwpXCIgKGZvY3Vzb3V0KT1cInN0cmluZ1Nhbml0aXplcihmaWVsZC5WaXNpYmxlSWYpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtYXV0b2NvbXBsZXRlICNWaXNpYmxlSWZBdXRvY29tcGxldGU9XCJtYXRBdXRvY29tcGxldGVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgVmlzaWJsZUlmQXV0b2NvbXBsZXRlT3B0aW9uc1wiIFt2YWx1ZV09XCJvcHRpb24udmFsdWVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e29wdGlvbi5sYWJlbH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWF1dG9jb21wbGV0ZT5cclxuICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPiAtLT5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1zbS0xMiBjb2wtbWQtNCBtdC0yIGFsaWduLXNlbGYtY2VudGVyXCJcclxuICAgICAgICAgICAgICAgICAgICBbaGlkZGVuXT1cIihmaWVsZC5WaXNpYmxlSWYgIT0gbnVsbCB8fCBmaWVsZC5WaXNpYmxlSWYgIT0gdW5kZWZpbmVkKSAmJiBmaWVsZC5WaXNpYmxlSWYgIT0gJydcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiIGFsaWduLXNlbGYtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIFsobmdNb2RlbCldPVwiZmllbGQuSW5MaXN0Vmlld1wiIGZvcm1Db250cm9sTmFtZT1cIkluTGlzdFZpZXdcIiBjb2xvcj1cInByaW1hcnlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImZpZWxkRm9ybUdyb3VwLmNvbnRyb2xzWydJbkxpc3RWaWV3J10uZGlzYWJsZWRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpc2liaWxlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImZpZWxkVHlwZUZvcm1UZW1wbGF0ZVwiPlxyXG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZm9ybT5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lckZvb3RlclwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWVuZCBtdC0yIG1iLTFcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJ1dHRvbnNGb3JtXCI+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIG1hdC1yYWlzZWQtYnV0dG9uIGNhbmNlbFwiIChjbGljayk9XCJzYXZlQW5kRXhpdEFkZEZpZWxkKGZhbHNlKVwiIHR5cGU9XCJidXR0b25cIj5cclxuICAgICAgICAgICAgICAgICAgICBBbm51bGxhXHJcbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJtci0yIHNhdmVcIiBtYXQtcmFpc2VkLWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiAoY2xpY2spPVwic2F2ZUFuZEV4aXRBZGRGaWVsZCh0cnVlKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVTYXZlRmllbGQoKVwiIHR5cGU9XCJidXR0b25cIj5cclxuICAgICAgICAgICAgICAgICAgICBTYWx2YVxyXG4gICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuPCEtLSBGT1JNIFBST1BSSUVUw4AgQ0FNUEkgREkgVEVTVE8gLS0+XHJcbjxuZy10ZW1wbGF0ZSAjdGV4dEZpZWxkRm9ybVRlbXBsYXRlPlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC1zbS0xMiBjb2wtbWQtNFwiPlxyXG4gICAgICAgIDxtYXQtbGFiZWw+TWFzY2hlcmE8L21hdC1sYWJlbD5cclxuICAgICAgICA8ZXFwLXNlbGVjdCBbZW51bURhdGFdPVwiVGV4dE1hc2tFbnVtXCIgWyhuZ01vZGVsSW5wdXQpXT1cImZpZWxkLlRleHRNYXNrXCIgW2Zvcm1Hcm91cElucHV0XT1cImZpZWxkRm9ybUdyb3VwXCJcclxuICAgICAgICAgICAgW2Zvcm1Db250cm9sTmFtZUlucHV0XT1cIidUZXh0TWFzaydcIj5cclxuICAgICAgICA8L2VxcC1zZWxlY3Q+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tMTIgY29sLW1kLTRcIiBbZm9ybUdyb3VwXT1cImZpZWxkRm9ybUdyb3VwXCI+XHJcbiAgICAgICAgPG1hdC1sYWJlbD4gTHVuZ2hlenphIG1pbmltYSA8L21hdC1sYWJlbD5cclxuICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgICAgIDxpbnB1dCBpZD1cImxlbmd0aE1pblwiIGZvcm1Db250cm9sTmFtZT1cIk1pbkxlbmdodFwiIHR5cGU9XCJudW1iZXJcIiBbbWluXT1cIjBcIiBtYXRJbnB1dFxyXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJmaWVsZC5NaW5MZW5naHRcIiBzcGVsbGNoZWNrPVwiZmFsc2VcIiBhdXRvY29tcGxldGU9XCJvZmZcIiAoa2V5cHJlc3MpPVwib21pdF9zcGVjaWFsX2NoYXIoJGV2ZW50KVwiIChmb2N1c291dCk9XCJzdHJpbmdTYW5pdGl6ZXIoZmllbGQuTWluTGVuZ2h0KVwiPlxyXG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvcj5cclxuICAgICAgICAgICAgICAgICAgICB7eyBnZXRGb3JtVmFsaWRhdGlvbkVycm9ycygnTWluTGVuZ2h0JykgfX1cclxuICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxyXG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tMTIgY29sLW1kLTQgbXQtMiAgYWxpZ24tc2VsZi1jZW50ZXJcIiBbZm9ybUdyb3VwXT1cImZpZWxkRm9ybUdyb3VwXCIgW2hpZGRlbl09XCJmaWVsZC5SZWFkb25seVwiID5cclxuICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBbKG5nTW9kZWwpXT1cImZpZWxkLk1pY3JvcGhvbmVcIiBmb3JtQ29udHJvbE5hbWU9XCJNaWNyb3Bob25lXCIgY29sb3I9XCJwcmltYXJ5XCI+XHJcbiAgICAgICAgICAgIFNwZWVjaC1Uby1UZXh0XHJcbiAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTEyIGNvbC1tZC00XCIgW2Zvcm1Hcm91cF09XCJmaWVsZEZvcm1Hcm91cFwiPlxyXG4gICAgICAgIDxtYXQtbGFiZWw+IEx1bmdoZXp6YSBtYXNzaW1hIDwvbWF0LWxhYmVsPlxyXG4gICAgICAgIDxtYXQtZm9ybS1maWVsZD5cclxuICAgICAgICAgICAgPGlucHV0IGlkPVwibGVuZ3RoTWF4XCIgZm9ybUNvbnRyb2xOYW1lPVwiTWF4TGVuZ2h0XCIgdHlwZT1cIm51bWJlclwiIFttaW5dPVwiMFwiIG1hdElucHV0XHJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZpZWxkLk1heExlbmdodFwiIHNwZWxsY2hlY2s9XCJmYWxzZVwiIGF1dG9jb21wbGV0ZT1cIm9mZlwiIChrZXlwcmVzcyk9XCJvbWl0X3NwZWNpYWxfY2hhcigkZXZlbnQpXCIgKGZvY3Vzb3V0KT1cInN0cmluZ1Nhbml0aXplcihmaWVsZC5NYXhMZW5naHQpXCI+XHJcbiAgICAgICAgICAgICAgICA8bWF0LWVycm9yPlxyXG4gICAgICAgICAgICAgICAgICAgIHt7IGdldEZvcm1WYWxpZGF0aW9uRXJyb3JzKCdNYXhMZW5naHQnKSB9fVxyXG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XHJcbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgIDwvZGl2PlxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPCEtLSBGT1JNIFBST1BSSUVUw4AgQ0FNUEkgQVJFQSBESSBURVNUTyAtLT5cclxuPG5nLXRlbXBsYXRlICN0ZXh0YXJlYUZpZWxkRm9ybVRlbXBsYXRlPlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC1zbS0xMiBjb2wtbWQtNCBtdC0yXCIgW2Zvcm1Hcm91cF09XCJmaWVsZEZvcm1Hcm91cFwiPlxyXG4gICAgICAgIDxtYXQtbGFiZWw+IFJpZ2hlIDwvbWF0LWxhYmVsPlxyXG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cInJpZ2hlXCI+XHJcbiAgICAgICAgICAgIDxpbnB1dCBpZD1cInJvd3NcIiBmb3JtQ29udHJvbE5hbWU9XCJSb3dzXCIgdHlwZT1cIm51bWJlclwiIFttaW5dPVwiMFwiIG1hdElucHV0IFsobmdNb2RlbCldPVwiZmllbGQuUm93c1wiIHNwZWxsY2hlY2s9XCJmYWxzZVwiIGF1dG9jb21wbGV0ZT1cIm9mZlwiIChrZXlwcmVzcyk9XCJvbWl0X3NwZWNpYWxfY2hhcigkZXZlbnQpXCIgKGZvY3Vzb3V0KT1cInN0cmluZ1Nhbml0aXplcihmaWVsZC5Sb3dzKVwiPlxyXG4gICAgICAgICAgICA8bWF0LWVycm9yPlxyXG4gICAgICAgICAgICAgICAge3sgZ2V0Rm9ybVZhbGlkYXRpb25FcnJvcnMoJ1Jvd3MnKSB9fVxyXG4gICAgICAgICAgICA8L21hdC1lcnJvcj5cclxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTEyIGNvbC1tZC00IG10LTIgIGFsaWduLXNlbGYtY2VudGVyXCIgW2Zvcm1Hcm91cF09XCJmaWVsZEZvcm1Hcm91cFwiIFtoaWRkZW5dPVwiZmllbGQuUmVhZG9ubHlcIiA+XHJcbiAgICAgICAgPG1hdC1zbGlkZS10b2dnbGUgWyhuZ01vZGVsKV09XCJmaWVsZC5NaWNyb3Bob25lXCIgZm9ybUNvbnRyb2xOYW1lPVwiTWljcm9waG9uZVwiIGNvbG9yPVwicHJpbWFyeVwiPlxyXG4gICAgICAgICAgICBTcGVlY2gtVG8tVGV4dFxyXG4gICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC1zbS0xMiBjb2wtbWQtNCBtdC0yXCIgW2Zvcm1Hcm91cF09XCJmaWVsZEZvcm1Hcm91cFwiPlxyXG4gICAgICAgIDxtYXQtbGFiZWw+IEx1bmdoZXp6YSBtaW5pbWEgPC9tYXQtbGFiZWw+XHJcbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgICAgICA8aW5wdXQgaWQ9XCJsZW5ndGhNaW5cIiBmb3JtQ29udHJvbE5hbWU9XCJNaW5MZW5naHRcIiB0eXBlPVwibnVtYmVyXCIgW21pbl09XCIwXCIgbWF0SW5wdXRcclxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZmllbGQuTWluTGVuZ2h0XCIgc3BlbGxjaGVjaz1cImZhbHNlXCIgYXV0b2NvbXBsZXRlPVwib2ZmXCIgKGtleXByZXNzKT1cIm9taXRfc3BlY2lhbF9jaGFyKCRldmVudClcIiAoZm9jdXNvdXQpPVwic3RyaW5nU2FuaXRpemVyKGZpZWxkLk1pbkxlbmdodClcIj5cclxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICAgICAge3sgZ2V0Rm9ybVZhbGlkYXRpb25FcnJvcnMoJ01pbkxlbmdodCcpIH19XHJcbiAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cclxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTEyIGNvbC1tZC00IG10LTJcIiBbZm9ybUdyb3VwXT1cImZpZWxkRm9ybUdyb3VwXCI+XHJcbiAgICAgICAgPG1hdC1sYWJlbD4gTHVuZ2hlenphIG1hc3NpbWEgPC9tYXQtbGFiZWw+XHJcbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgICAgICA8aW5wdXQgaWQ9XCJsZW5ndGhNYXhcIiBmb3JtQ29udHJvbE5hbWU9XCJNYXhMZW5naHRcIiB0eXBlPVwibnVtYmVyXCIgW21pbl09XCIwXCIgbWF0SW5wdXRcclxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZmllbGQuTWF4TGVuZ2h0XCIgc3BlbGxjaGVjaz1cImZhbHNlXCIgYXV0b2NvbXBsZXRlPVwib2ZmXCIgKGtleXByZXNzKT1cIm9taXRfc3BlY2lhbF9jaGFyKCRldmVudClcIiAoZm9jdXNvdXQpPVwic3RyaW5nU2FuaXRpemVyKGZpZWxkLk1heExlbmdodClcIj5cclxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICAgICAge3sgZ2V0Rm9ybVZhbGlkYXRpb25FcnJvcnMoJ01heExlbmdodCcpIH19XHJcbiAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cclxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgPC9kaXY+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48IS0tIEZPUk0gUFJPUFJJRVTDgCBDQU1QSSBCT09MRUFOSSAtLT5cclxuPG5nLXRlbXBsYXRlICNib29sZWFkRmllbGRGb3JtVGVtcGxhdGU+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTEyIGNvbC1tZC00IG10LTIgIGFsaWduLXNlbGYtY2VudGVyXCIgW2Zvcm1Hcm91cF09XCJmaWVsZEZvcm1Hcm91cFwiPlxyXG4gICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIFsobmdNb2RlbCldPVwiZmllbGQuSXNUcmlzdGF0ZVwiIGZvcm1Db250cm9sTmFtZT1cIklzVHJpc3RhdGVcIiBjb2xvcj1cInByaW1hcnlcIj5cclxuICAgICAgICAgICAgQSB0cmUgc3RhdGlcclxuICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tMTIgY29sLW1kLTQgbXQtMlwiPlxyXG4gICAgICAgIDxtYXQtbGFiZWw+VGlwbyBkaSBwcmVzZW50YXppb25lICo8L21hdC1sYWJlbD5cclxuICAgICAgICA8ZXFwLXNlbGVjdCBbZW51bURhdGFdPVwiQm9vbFByZXNlbnRhbnRpb0VudW1cIiBbKG5nTW9kZWxJbnB1dCldPVwiZmllbGQuUHJlc2V0YXRpb25UeXBlXCIgcmVxdWlyZWRcclxuICAgICAgICAgICAgW3Nob3dDYW5jZWxCdXR0b25dPVwiZmFsc2VcIiBbZm9ybUdyb3VwSW5wdXRdPVwiZmllbGRGb3JtR3JvdXBcIiBbZm9ybUNvbnRyb2xOYW1lSW5wdXRdPVwiJ1ByZXNldGF0aW9uVHlwZSdcIj5cclxuICAgICAgICA8L2VxcC1zZWxlY3Q+XHJcbiAgICA8L2Rpdj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjwhLS0gRk9STSBQUk9QUklFVMOAIENBTVBJIERBVEEgLS0+XHJcbjxuZy10ZW1wbGF0ZSAjZGF0ZUZpZWxkRm9ybVRlbXBsYXRlPlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC1zbS0xMiBjb2wtbWQtNCBtdC0yXCI+XHJcbiAgICAgICAgPG1hdC1sYWJlbD5UaXBvIGRpIGRhdGE8L21hdC1sYWJlbD5cclxuICAgICAgICA8ZXFwLXNlbGVjdCBbZW51bURhdGFdPVwiRGF0ZVRpbWVUeXBlRW51bVwiIFsobmdNb2RlbElucHV0KV09XCJmaWVsZC5Jc09ubHlEYXRlXCIgcmVxdWlyZWRcclxuICAgICAgICAgICAgW3Nob3dDYW5jZWxCdXR0b25dPVwiZmFsc2VcIiBbZm9ybUdyb3VwSW5wdXRdPVwiZmllbGRGb3JtR3JvdXBcIiBbZm9ybUNvbnRyb2xOYW1lSW5wdXRdPVwiJ0lzT25seURhdGUnXCI+XHJcbiAgICAgICAgPC9lcXAtc2VsZWN0PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTEyIGNvbC1tZC00IG10LTJcIiBbZm9ybUdyb3VwXT1cImZpZWxkRm9ybUdyb3VwXCI+XHJcbiAgICAgICAgPG1hdC1sYWJlbD4gRm9ybWF0byA8L21hdC1sYWJlbD5cclxuICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgICAgIDxpbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJEYXRlRm9ybWF0XCIgbWF0SW5wdXQgWyhuZ01vZGVsKV09XCJmaWVsZC5EYXRlRm9ybWF0XCJcclxuICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT1cIidJbmRpY2FyZSBpbCBmb3JtYXRvIHNlZ3VlbmRvIGxhIGd1aWRhIGRlbCBwYWNjaGV0dG8gbW9tZW50anMuJ1wiIHNwZWxsY2hlY2s9XCJmYWxzZVwiIGF1dG9jb21wbGV0ZT1cIm9mZlwiIChrZXlwcmVzcyk9XCJvbWl0X3NwZWNpYWxfY2hhcigkZXZlbnQpXCIgKGZvY3Vzb3V0KT1cInN0cmluZ1Nhbml0aXplcihmaWVsZC5Gb3JtYXRvKVwiPlxyXG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvcj5cclxuICAgICAgICAgICAgICAgICAgICB7eyBnZXRGb3JtVmFsaWRhdGlvbkVycm9ycygnRm9ybWF0bycpIH19XHJcbiAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cclxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTEyIGNvbC1tZC00IG10LTJcIj5cclxuICAgICAgICA8bWF0LWxhYmVsPiBEYXRhIG1pbmltYSA8L21hdC1sYWJlbD5cclxuICAgICAgICA8ZXFwLWRhdGV0aW1lcGlja2VyICpuZ0lmPVwiZmllbGQuSXNPbmx5RGF0ZSA9PSBEYXRlVGltZVR5cGVFbnVtWydTb2xvIGRhdGEnXVwiIGNsYXNzPVwiZGF0ZVwiXHJcbiAgICAgICAgICAgIFsobmdNb2RlbElucHV0KV09XCJmaWVsZC5NaW5EYXRlXCIgW2Zvcm1Hcm91cElucHV0XT1cImZpZWxkRm9ybUdyb3VwXCIgW2Zvcm1Db250cm9sTmFtZUlucHV0XT1cIidNaW5EYXRlJ1wiXHJcbiAgICAgICAgICAgIFtwaWNrZXJNb2RlXT1cInBpY2tlck1vZGVFbnVtLkRBVEVcIiBbVVRDRGF0ZV09XCJ0cnVlXCIgW3Nob3dTZWNvbmRzXT1cImZhbHNlXCI+XHJcbiAgICAgICAgPC9lcXAtZGF0ZXRpbWVwaWNrZXI+XHJcbiAgICAgICAgPGVxcC1kYXRldGltZXBpY2tlciAqbmdJZj1cImZpZWxkLklzT25seURhdGUgPT0gRGF0ZVRpbWVUeXBlRW51bVsnRGF0YSBlIG9yYSddXCIgY2xhc3M9XCJkYXRlXCJcclxuICAgICAgICAgICAgWyhuZ01vZGVsSW5wdXQpXT1cImZpZWxkLk1pbkRhdGVcIiBbZm9ybUdyb3VwSW5wdXRdPVwiZmllbGRGb3JtR3JvdXBcIiBbZm9ybUNvbnRyb2xOYW1lSW5wdXRdPVwiJ01pbkRhdGUnXCJcclxuICAgICAgICAgICAgW3BpY2tlck1vZGVdPVwicGlja2VyTW9kZUVudW0uREFURVRJTUVcIiBbVVRDRGF0ZV09XCJ0cnVlXCIgW3Nob3dTZWNvbmRzXT1cImZhbHNlXCI+XHJcbiAgICAgICAgPC9lcXAtZGF0ZXRpbWVwaWNrZXI+XHJcbiAgICAgICAgPGVxcC1kYXRldGltZXBpY2tlciAqbmdJZj1cImZpZWxkLklzT25seURhdGUgPT0gRGF0ZVRpbWVUeXBlRW51bVsnU29sbyBvcmFyaW8nXVwiIGNsYXNzPVwiZGF0ZVwiXHJcbiAgICAgICAgICAgIFsobmdNb2RlbElucHV0KV09XCJmaWVsZC5NaW5EYXRlXCIgW2Zvcm1Hcm91cElucHV0XT1cImZpZWxkRm9ybUdyb3VwXCIgW2Zvcm1Db250cm9sTmFtZUlucHV0XT1cIidNaW5EYXRlJ1wiXHJcbiAgICAgICAgICAgIFtwaWNrZXJNb2RlXT1cInBpY2tlck1vZGVFbnVtLlRJTUVcIiBbVVRDRGF0ZV09XCJ0cnVlXCIgW3Nob3dTZWNvbmRzXT1cImZhbHNlXCI+XHJcbiAgICAgICAgPC9lcXAtZGF0ZXRpbWVwaWNrZXI+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tMTIgY29sLW1kLTQgbXQtMlwiPlxyXG4gICAgICAgIDxtYXQtbGFiZWw+IERhdGEgbWFzc2ltYSA8L21hdC1sYWJlbD5cclxuICAgICAgICA8ZXFwLWRhdGV0aW1lcGlja2VyICpuZ0lmPVwiZmllbGQuSXNPbmx5RGF0ZSA9PSBEYXRlVGltZVR5cGVFbnVtWydTb2xvIGRhdGEnXVwiIGNsYXNzPVwiZGF0ZVwiXHJcbiAgICAgICAgICAgIFsobmdNb2RlbElucHV0KV09XCJmaWVsZC5NYXhEYXRlXCIgW2Zvcm1Hcm91cElucHV0XT1cImZpZWxkRm9ybUdyb3VwXCIgW2Zvcm1Db250cm9sTmFtZUlucHV0XT1cIidNYXhEYXRlJ1wiXHJcbiAgICAgICAgICAgIFtwaWNrZXJNb2RlXT1cInBpY2tlck1vZGVFbnVtLkRBVEVcIiBbVVRDRGF0ZV09XCJ0cnVlXCIgW3Nob3dTZWNvbmRzXT1cImZhbHNlXCI+XHJcbiAgICAgICAgPC9lcXAtZGF0ZXRpbWVwaWNrZXI+XHJcbiAgICAgICAgPGVxcC1kYXRldGltZXBpY2tlciAqbmdJZj1cImZpZWxkLklzT25seURhdGUgPT0gRGF0ZVRpbWVUeXBlRW51bVsnRGF0YSBlIG9yYSddXCIgY2xhc3M9XCJkYXRlXCJcclxuICAgICAgICAgICAgWyhuZ01vZGVsSW5wdXQpXT1cImZpZWxkLk1heERhdGVcIiBbZm9ybUdyb3VwSW5wdXRdPVwiZmllbGRGb3JtR3JvdXBcIiBbZm9ybUNvbnRyb2xOYW1lSW5wdXRdPVwiJ01heERhdGUnXCJcclxuICAgICAgICAgICAgW3BpY2tlck1vZGVdPVwicGlja2VyTW9kZUVudW0uREFURVRJTUVcIiBbVVRDRGF0ZV09XCJ0cnVlXCIgW3Nob3dTZWNvbmRzXT1cImZhbHNlXCI+XHJcbiAgICAgICAgPC9lcXAtZGF0ZXRpbWVwaWNrZXI+XHJcbiAgICAgICAgPGVxcC1kYXRldGltZXBpY2tlciAqbmdJZj1cImZpZWxkLklzT25seURhdGUgPT0gRGF0ZVRpbWVUeXBlRW51bVsnU29sbyBvcmFyaW8nXVwiIGNsYXNzPVwiZGF0ZVwiXHJcbiAgICAgICAgICAgIFsobmdNb2RlbElucHV0KV09XCJmaWVsZC5NYXhEYXRlXCIgW2Zvcm1Hcm91cElucHV0XT1cImZpZWxkRm9ybUdyb3VwXCIgW2Zvcm1Db250cm9sTmFtZUlucHV0XT1cIidNYXhEYXRlJ1wiXHJcbiAgICAgICAgICAgIFtwaWNrZXJNb2RlXT1cInBpY2tlck1vZGVFbnVtLlRJTUVcIiBbVVRDRGF0ZV09XCJ0cnVlXCIgW3Nob3dTZWNvbmRzXT1cImZhbHNlXCI+XHJcbiAgICAgICAgPC9lcXAtZGF0ZXRpbWVwaWNrZXI+XHJcbiAgICA8L2Rpdj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjwhLS0gRk9STSBQUk9QUklFVMOAIENBTVBJIE5VTUVSSUNJIC0tPlxyXG48bmctdGVtcGxhdGUgI251bWVyaWNGaWVsZEZvcm1UZW1wbGF0ZT5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tMTIgY29sLW1kLTQgbXQtMiAgYWxpZ24tc2VsZi1jZW50ZXJcIiBbZm9ybUdyb3VwXT1cImZpZWxkRm9ybUdyb3VwXCI+XHJcbiAgICAgICAgPG1hdC1zbGlkZS10b2dnbGUgWyhuZ01vZGVsKV09XCJmaWVsZC5Jc0ludGVnZXJcIiBmb3JtQ29udHJvbE5hbWU9XCJJc0ludGVnZXJcIiBjb2xvcj1cInByaW1hcnlcIj5cclxuICAgICAgICAgICAgVmFsb3JlIGludGVyb1xyXG4gICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiAqbmdJZj1cIiFmaWVsZC5Jc0ludGVnZXJcIiBjbGFzcz1cImNvbC1zbS0xMiBjb2wtbWQtNCBtdC0yXCIgW2Zvcm1Hcm91cF09XCJmaWVsZEZvcm1Hcm91cFwiPlxyXG4gICAgICAgIDxtYXQtbGFiZWw+IFNlcGFyYXRvcmUgZGVjaW1hbGkgPC9tYXQtbGFiZWw+XHJcbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgICAgICA8aW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwiRGVjaW1hbFNlcGFyYXRvclwiIG1hdElucHV0IFsobmdNb2RlbCldPVwiZmllbGQuRGVjaW1hbFNlcGFyYXRvclwiIHNwZWxsY2hlY2s9XCJmYWxzZVwiIGF1dG9jb21wbGV0ZT1cIm9mZlwiIChrZXlwcmVzcyk9XCJvbWl0X3NwZWNpYWxfY2hhcigkZXZlbnQpXCIgKGZvY3Vzb3V0KT1cInN0cmluZ1Nhbml0aXplcihmaWVsZC5EZWNpbWFsU2VwYXJhdG9yKVwiPlxyXG4gICAgICAgICAgICA8bWF0LWVycm9yPlxyXG4gICAgICAgICAgICAgICAge3sgZ2V0Rm9ybVZhbGlkYXRpb25FcnJvcnMoJ0RlY2ltYWxTZXBhcmF0b3InKSB9fVxyXG4gICAgICAgICAgICA8L21hdC1lcnJvcj5cclxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2ICpuZ0lmPVwiIWZpZWxkLklzSW50ZWdlclwiIGNsYXNzPVwiY29sLXNtLTEyIGNvbC1tZC00IG10LTJcIiBbZm9ybUdyb3VwXT1cImZpZWxkRm9ybUdyb3VwXCI+XHJcbiAgICAgICAgPG1hdC1sYWJlbD4gUHJlY2lzaW9uZSBkZWNpbWFsaSA8L21hdC1sYWJlbD5cclxuICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgICAgIDxpbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJEZWNpbWFsUHJlY2lzaW9uXCIgdHlwZT1cIm51bWJlclwiIFttaW5dPVwiMFwiIG1hdElucHV0XHJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZpZWxkLkRlY2ltYWxQcmVjaXNpb25cIiBzcGVsbGNoZWNrPVwiZmFsc2VcIiBhdXRvY29tcGxldGU9XCJvZmZcIiAoa2V5cHJlc3MpPVwib21pdF9zcGVjaWFsX2NoYXIoJGV2ZW50KVwiIChmb2N1c291dCk9XCJzdHJpbmdTYW5pdGl6ZXIoZmllbGQuRGVjaW1hbFByZWNpc2lvbilcIj5cclxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICAgICAge3sgZ2V0Rm9ybVZhbGlkYXRpb25FcnJvcnMoJ0RlY2ltYWxQcmVjaXNpb24nKSB9fVxyXG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XHJcbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC1zbS0xMiBjb2wtbWQtNCBtdC0yXCIgW2Zvcm1Hcm91cF09XCJmaWVsZEZvcm1Hcm91cFwiPlxyXG4gICAgICAgIDxtYXQtbGFiZWw+IFNlcGFyYXRvcmUgbWlnbGlhaWEgPC9tYXQtbGFiZWw+XHJcbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgICAgICA8aW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwiVGhvdXNhbmRzU2VwYXJhdG9yXCIgbWF0SW5wdXQgWyhuZ01vZGVsKV09XCJmaWVsZC5UaG91c2FuZHNTZXBhcmF0b3JcIiBzcGVsbGNoZWNrPVwiZmFsc2VcIiBhdXRvY29tcGxldGU9XCJvZmZcIiAoa2V5cHJlc3MpPVwib21pdF9zcGVjaWFsX2NoYXIoJGV2ZW50KVwiIChmb2N1c291dCk9XCJzdHJpbmdTYW5pdGl6ZXIoZmllbGQuVGhvdXNhbmRzU2VwYXJhdG9yKVwiPlxyXG4gICAgICAgICAgICA8bWF0LWVycm9yPlxyXG4gICAgICAgICAgICAgICAge3sgZ2V0Rm9ybVZhbGlkYXRpb25FcnJvcnMoJ1Rob3VzYW5kc1NlcGFyYXRvcicpIH19XHJcbiAgICAgICAgICAgIDwvbWF0LWVycm9yPlxyXG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tMTIgY29sLW1kLTQgbXQtMlwiIFtmb3JtR3JvdXBdPVwiZmllbGRGb3JtR3JvdXBcIj5cclxuICAgICAgICA8bWF0LWxhYmVsPiBTaW1ib2xvIHZhbHV0YSA8L21hdC1sYWJlbD5cclxuICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgICAgIDxpbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJDdXJyZW5jeVN5bWJvbFwiIG1hdElucHV0IFsobmdNb2RlbCldPVwiZmllbGQuQ3VycmVuY3lTeW1ib2xcIiBzcGVsbGNoZWNrPVwiZmFsc2VcIiBhdXRvY29tcGxldGU9XCJvZmZcIihrZXlwcmVzcyk9XCJvbWl0X3NwZWNpYWxfY2hhcigkZXZlbnQpXCIgIChmb2N1c291dCk9XCJzdHJpbmdTYW5pdGl6ZXIoZmllbGQuQ3VycmVuY3lTeW1ib2wpXCI+XHJcbiAgICAgICAgICAgIDxtYXQtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICB7eyBnZXRGb3JtVmFsaWRhdGlvbkVycm9ycygnQ3VycmVuY3lTeW1ib2wnKSB9fVxyXG4gICAgICAgICAgICA8L21hdC1lcnJvcj5cclxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTEyIGNvbC1tZC00IG10LTJcIiBbZm9ybUdyb3VwXT1cImZpZWxkRm9ybUdyb3VwXCI+XHJcbiAgICAgICAgPG1hdC1sYWJlbD4gVW5pdMOgIGRpIG1pc3VyYSA8L21hdC1sYWJlbD5cclxuICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgICAgIDxpbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJNZWFzdXJlVW5pdFwiIG1hdElucHV0IFsobmdNb2RlbCldPVwiZmllbGQuTWVhc3VyZVVuaXRcIiBzcGVsbGNoZWNrPVwiZmFsc2VcIiBhdXRvY29tcGxldGU9XCJvZmZcIihrZXlwcmVzcyk9XCJvbWl0X3NwZWNpYWxfY2hhcigkZXZlbnQpXCIgIChmb2N1c291dCk9XCJzdHJpbmdTYW5pdGl6ZXIoZmllbGQuTWVhc3VyZVVuaXQpXCI+XHJcbiAgICAgICAgICAgIDxtYXQtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICB7eyBnZXRGb3JtVmFsaWRhdGlvbkVycm9ycygnTWVhc3VyZVVuaXQnKSB9fVxyXG4gICAgICAgICAgICA8L21hdC1lcnJvcj5cclxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTEyIGNvbC1tZC00IG10LTJcIiBbZm9ybUdyb3VwXT1cImZpZWxkRm9ybUdyb3VwXCI+XHJcbiAgICAgICAgPG1hdC1sYWJlbD4gVmFsb3JlIG1pbmltbyA8L21hdC1sYWJlbD5cclxuICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgICAgIDxpbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJNaW5WYWx1ZVwiIHR5cGU9XCJudW1iZXJcIiBbbWluXT1cIjBcIiBtYXRJbnB1dCBbKG5nTW9kZWwpXT1cImZpZWxkLk1pblZhbHVlXCIgc3BlbGxjaGVjaz1cImZhbHNlXCIgYXV0b2NvbXBsZXRlPVwib2ZmXCIoa2V5cHJlc3MpPVwib21pdF9zcGVjaWFsX2NoYXIoJGV2ZW50KVwiIChmb2N1c291dCk9XCJzdHJpbmdTYW5pdGl6ZXIoZmllbGQuTWluVmFsdWUpXCI+XHJcbiAgICAgICAgICAgIDxtYXQtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICB7eyBnZXRGb3JtVmFsaWRhdGlvbkVycm9ycygnTWluVmFsdWUnKSB9fVxyXG4gICAgICAgICAgICA8L21hdC1lcnJvcj5cclxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTEyIGNvbC1tZC00IG10LTJcIiBbZm9ybUdyb3VwXT1cImZpZWxkRm9ybUdyb3VwXCI+XHJcbiAgICAgICAgPG1hdC1sYWJlbD4gVmFsb3JlIG1hc3NpbW8gPC9tYXQtbGFiZWw+XHJcbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgICAgICA8aW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwiTWF4VmFsdWVcIiB0eXBlPVwibnVtYmVyXCIgW21pbl09XCIwXCIgbWF0SW5wdXQgWyhuZ01vZGVsKV09XCJmaWVsZC5NYXhWYWx1ZVwiIHNwZWxsY2hlY2s9XCJmYWxzZVwiIGF1dG9jb21wbGV0ZT1cIm9mZlwiIChrZXlwcmVzcyk9XCJvbWl0X3NwZWNpYWxfY2hhcigkZXZlbnQpXCIgKGZvY3Vzb3V0KT1cInN0cmluZ1Nhbml0aXplcihmaWVsZC5NYXhWYWx1ZSlcIj5cclxuICAgICAgICAgICAgPG1hdC1lcnJvcj5cclxuICAgICAgICAgICAgICAgIHt7IGdldEZvcm1WYWxpZGF0aW9uRXJyb3JzKCdNYXhWYWx1ZScpIH19XHJcbiAgICAgICAgICAgIDwvbWF0LWVycm9yPlxyXG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICA8L2Rpdj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjwhLS0gRk9STSBQUk9QUklFVMOAIENBTVBJIEFMTEVHQVRPIC0tPlxyXG48bmctdGVtcGxhdGUgI2F0dGFjaG1lbnRGaWVsZEZvcm1UZW1wbGF0ZT5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tMTIgY29sLW1kLTQgbXQtMiAgYWxpZ24tc2VsZi1jZW50ZXJcIiBbZm9ybUdyb3VwXT1cImZpZWxkRm9ybUdyb3VwXCI+XHJcbiAgICAgICAgPG1hdC1zbGlkZS10b2dnbGUgWyhuZ01vZGVsKV09XCJmaWVsZC5Jc011bHRpQXR0YWNoXCIgZm9ybUNvbnRyb2xOYW1lPVwiSXNNdWx0aUF0dGFjaFwiIGNvbG9yPVwicHJpbWFyeVwiPlxyXG4gICAgICAgICAgICBBbGxlZ2F0aSBtdWx0aXBsaVxyXG4gICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC1zbS0xMiBjb2wtbWQtNCBtdC0yXCI+XHJcbiAgICAgICAgPG1hdC1sYWJlbD5Fc3RlbnNpb25pIGFjY2V0dGF0ZTwvbWF0LWxhYmVsPlxyXG4gICAgICAgIDxlcXAtc2VsZWN0IFthcnJheURhdGFdPVwiQXZhaWxhYmxlRmlsZUV4dGVuc2lvbnMuY29uY2F0KEF2YWlsYWJsZUltYWdlRXh0ZW5zaW9ucylcIlxyXG4gICAgICAgICAgICBbKG5nTW9kZWxJbnB1dCldPVwiZmllbGQuQWxsb3dlZEV4dGVuc2lvbnNcIiBbYXJyYXlLZXlQcm9wZXJ0eV09XCIna2V5J1wiIFthcnJheVZhbHVlUHJvcGVydHldPVwiJ3ZhbHVlJ1wiXHJcbiAgICAgICAgICAgIFtpc011bHRpU2VsZWN0XT1cInRydWVcIiBbZm9ybUdyb3VwSW5wdXRdPVwiZmllbGRGb3JtR3JvdXBcIiBbZm9ybUNvbnRyb2xOYW1lSW5wdXRdPVwiJ0FsbG93ZWRFeHRlbnNpb25zJ1wiXHJcbiAgICAgICAgICAgIFtpbmNsdWRlRnVsbE9iamVjdF09XCJmYWxzZVwiPlxyXG4gICAgICAgIDwvZXFwLXNlbGVjdD5cclxuICAgIDwvZGl2PlxyXG4gICAgPCEtLSA8ZGl2IGNsYXNzPVwiY29sLXNtLTEyIG10LTJcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicm93IG10LTJcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1zbS0xMiBjb2wtbWQtNlwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRlci10aXRsZS1zdGFuZGFyZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIEVsZW5jbyBtZXRhZGF0YVxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTEyIGNvbC1tZC02IHRleHQtcmlnaHQgYnV0dG9uc0Zvcm1cIj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgc2F2ZVwiIG1hdC1yYWlzZWQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvcGVuTWV0YWRhdGFEaWFsb2coKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5hZGQ8L21hdC1pY29uPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIHN0eWxlPVwibWFyZ2luLWxlZnQ6IDEwcHg7XCI+QWdnaXVuZ2kgYWxsZWdhdG88L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGVxcC10YWJsZSAjbWV0YWRhdGFGaWVsZHNUYWJsZSBbY3JlYXRlTWF0Q2FyZF09XCJmYWxzZVwiIFtjb2x1bW5zXT1cIm1ldGFkYXRhQ29sdW1uc1wiXHJcbiAgICAgICAgICAgIFtkYXRhXT1cImZpZWxkLk1ldGFkYXRhRmllbGRzXCIgW2VtcHR5VGFibGVNZXNzYWdlXT1cIidOZXNzdW4gbWV0YWRhdGEgaW5zZXJpdG8nXCIgW3NlYXJjaFRleHRdPVwiJ0NlcmNhJ1wiPlxyXG4gICAgICAgIDwvZXFwLXRhYmxlPlxyXG4gICAgPC9kaXY+IC0tPlxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPCEtLSBGT1JNIFBST1BSSUVUw4AgQ0FNUEkgSU1NQUdJTkUgLS0+XHJcbjxuZy10ZW1wbGF0ZSAjaW1hZ2VGaWVsZEZvcm1UZW1wbGF0ZT5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tMTIgY29sLW1kLTQgbXQtMiBtYi0yICBhbGlnbi1zZWxmLWNlbnRlclwiIFtmb3JtR3JvdXBdPVwiZmllbGRGb3JtR3JvdXBcIj5cclxuICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBbKG5nTW9kZWwpXT1cImZpZWxkLkltYWdlSXNDb250ZXh0dWFsQXR0YWNobWVudFwiIGZvcm1Db250cm9sTmFtZT1cIkltYWdlSXNDb250ZXh0dWFsQXR0YWNobWVudFwiXHJcbiAgICAgICAgICAgIGNvbG9yPVwicHJpbWFyeVwiIChuZ01vZGVsQ2hhbmdlKT1cIm9uSW1hZ2VJc0NvbnRleHR1YWxBdHRhY2htZW50Q2hhbmdlKClcIj5cclxuICAgICAgICAgICAgSW1tYWdpbmUgcHJlLWNhcmljYXRhIG5lbCBjYW1wb1xyXG4gICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC1zbS0xMiBjb2wtbWQtNCBtdC0yIG1iLTIgIGFsaWduLXNlbGYtY2VudGVyXCIgW2Zvcm1Hcm91cF09XCJmaWVsZEZvcm1Hcm91cFwiPlxyXG4gICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIFsobmdNb2RlbCldPVwiZmllbGQuRW5hYmxlRHJhd2luZ1wiIGZvcm1Db250cm9sTmFtZT1cIkVuYWJsZURyYXdpbmdcIiBjb2xvcj1cInByaW1hcnlcIj5cclxuICAgICAgICAgICAgQWJpbGl0YSBpbCBkaXNlZ25vXHJcbiAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTEyIGNvbC1tZC00IG10LTIgYWxpZ24tc2VsZi1jZW50ZXJcIiBbZm9ybUdyb3VwXT1cImZpZWxkRm9ybUdyb3VwXCJcclxuICAgICAgICAqbmdJZj1cIiFmaWVsZC5JbWFnZUlzQ29udGV4dHVhbEF0dGFjaG1lbnRcIj5cclxuICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBbKG5nTW9kZWwpXT1cImZpZWxkLkF0dGFjaERlZmluaXRpb24uSXNNdWx0aUF0dGFjaFwiIGZvcm1Db250cm9sTmFtZT1cIklzTXVsdGlBdHRhY2hcIlxyXG4gICAgICAgICAgICBjb2xvcj1cInByaW1hcnlcIj5cclxuICAgICAgICAgICAgSW1tYWdpbmkgbXVsdGlwbGVcclxuICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tMTIgY29sLW1kLTQgbXQtMlwiICpuZ0lmPVwiIWZpZWxkLkltYWdlSXNDb250ZXh0dWFsQXR0YWNobWVudFwiPlxyXG4gICAgICAgIDxtYXQtbGFiZWw+RXN0ZW5zaW9uaSBhY2NldHRhdGU8L21hdC1sYWJlbD5cclxuICAgICAgICA8ZXFwLXNlbGVjdCBbYXJyYXlEYXRhXT1cIkF2YWlsYWJsZUltYWdlRXh0ZW5zaW9uc1wiIFsobmdNb2RlbElucHV0KV09XCJmaWVsZC5BdHRhY2hEZWZpbml0aW9uLkFsbG93ZWRFeHRlbnNpb25zXCJcclxuICAgICAgICAgICAgW2FycmF5S2V5UHJvcGVydHldPVwiJ2tleSdcIiBbYXJyYXlWYWx1ZVByb3BlcnR5XT1cIid2YWx1ZSdcIiBbaXNNdWx0aVNlbGVjdF09XCJ0cnVlXCJcclxuICAgICAgICAgICAgW2Zvcm1Hcm91cElucHV0XT1cImZpZWxkRm9ybUdyb3VwXCIgW2Zvcm1Db250cm9sTmFtZUlucHV0XT1cIidBbGxvd2VkRXh0ZW5zaW9ucydcIiBbaW5jbHVkZUZ1bGxPYmplY3RdPVwiZmFsc2VcIj5cclxuICAgICAgICA8L2VxcC1zZWxlY3Q+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tMTIgY29sLW1kLTQgbXQtMlwiIFtmb3JtR3JvdXBdPVwiZmllbGRGb3JtR3JvdXBcIiAqbmdJZj1cImZpZWxkLkltYWdlSXNDb250ZXh0dWFsQXR0YWNobWVudFwiPlxyXG4gICAgICAgIDxtYXQtbGFiZWw+IE5vbWUgaW1tYWdpbmUqIDwvbWF0LWxhYmVsPlxyXG4gICAgICAgIDxtYXQtZm9ybS1maWVsZD5cclxuICAgICAgICAgICAgPGlucHV0IGZvcm1Db250cm9sTmFtZT1cIkltZ05hbWVcIiBtYXRJbnB1dCBbKG5nTW9kZWwpXT1cImZpZWxkLkltZ05hbWVcIiByZXF1aXJlZCBzcGVsbGNoZWNrPVwiZmFsc2VcIiBhdXRvY29tcGxldGU9XCJvZmZcIiAoa2V5cHJlc3MpPVwib21pdF9zcGVjaWFsX2NoYXIoJGV2ZW50KVwiIChmb2N1c291dCk9XCJzdHJpbmdTYW5pdGl6ZXIoZmllbGQuSW1nTmFtZSlcIj5cclxuICAgICAgICAgICAgPG1hdC1lcnJvcj5cclxuICAgICAgICAgICAgICAgIHt7IGdldEZvcm1WYWxpZGF0aW9uRXJyb3JzKCdJbWdOYW1lJykgfX1cclxuICAgICAgICAgICAgPC9tYXQtZXJyb3I+XHJcbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC1zbS0xMiBjb2wtbWQtOCBtdC0yXCIgW2Zvcm1Hcm91cF09XCJmaWVsZEZvcm1Hcm91cFwiICpuZ0lmPVwiZmllbGQuSW1hZ2VJc0NvbnRleHR1YWxBdHRhY2htZW50XCI+XHJcbiAgICAgICAgPGVxcC1hdHRhY2htZW50cyBbYXR0YWNobWVudHNMaXN0XT1cImZpZWxkLl9jb250ZXh0dWFsQXR0YWNobWVudHNcIiBbc2hvd01hdENhcmRdPVwiZmFsc2VcIiBbYWxsb3dPbmx5SW1hZ2VzXT1cInRydWVcIlxyXG4gICAgICAgICAgICBbaXNEaXNhYmxlZF09XCJmYWxzZVwiIFtzaG93SW5saW5lUHJldmlld109XCJ0cnVlXCIgW211bHRpcGxlQXR0YWNobWVudF09XCJmYWxzZVwiIFtzaG93SGVhZGVyXT1cImZhbHNlXCJcclxuICAgICAgICAgICAgKGxvY2FsRWRpdGVkQXR0YWNobWVudHMpPVwiY2F0Y2hDb250ZXh0dWFsQXR0YWNobWVudENoYW5nZSgkZXZlbnQpXCIgI2NvbnRleHR1YWxBdHRhY2htZW50RXFwQXR0YWNobWVudHM+XHJcbiAgICAgICAgPC9lcXAtYXR0YWNobWVudHM+XHJcbiAgICA8L2Rpdj5cclxuICAgIDwhLS0gPGRpdiBjbGFzcz1cImNvbC1zbS0xMiBtdC0yXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBtdC0yXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tMTIgY29sLW1kLTZcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkZXItdGl0bGUtc3RhbmRhcmRcIj5cclxuICAgICAgICAgICAgICAgICAgICBFbGVuY28gbWV0YWRhdGFcclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1zbS0xMiBjb2wtbWQtNiB0ZXh0LXJpZ2h0IGJ1dHRvbnNGb3JtXCI+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IHNhdmVcIiBtYXQtcmFpc2VkLWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib3Blbk1ldGFkYXRhRGlhbG9nKClcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24+YWRkPC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBzdHlsZT1cIm1hcmdpbi1sZWZ0OiAxMHB4O1wiPkFnZ2l1bmdpPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxlcXAtdGFibGUgI21ldGFkYXRhRmllbGRzVGFibGUgW2NyZWF0ZU1hdENhcmRdPVwiZmFsc2VcIiBbY29sdW1uc109XCJtZXRhZGF0YUNvbHVtbnNcIlxyXG4gICAgICAgICAgICBbZGF0YV09XCJmaWVsZC5BdHRhY2hEZWZpbml0aW9uLk1ldGFkYXRhRmllbGRzXCIgW2VtcHR5VGFibGVNZXNzYWdlXT1cIidOZXNzdW4gbWV0YWRhdGEgaW5zZXJpdG8nXCJcclxuICAgICAgICAgICAgW3NlYXJjaFRleHRdPVwiJ0NlcmNhJ1wiPlxyXG4gICAgICAgIDwvZXFwLXRhYmxlPlxyXG4gICAgPC9kaXY+IC0tPlxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPCEtLSBGT1JNIFBST1BSSUVUw4AgQ0FNUEkgTElTVEEgREkgVkFMT1JJIC0tPlxyXG48bmctdGVtcGxhdGUgI2xpc3RWYWx1ZUZpZWxkRm9ybVRlbXBsYXRlPlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC1zbS0xMiBjb2wtbWQtNCBtdC0yICBhbGlnbi1zZWxmLWNlbnRlclwiIFtmb3JtR3JvdXBdPVwiZmllbGRGb3JtR3JvdXBcIj5cclxuICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBbKG5nTW9kZWwpXT1cImZpZWxkLklzTXVsdGlDaG9pY2hlXCIgZm9ybUNvbnRyb2xOYW1lPVwiSXNNdWx0aUNob2ljaGVcIiBjb2xvcj1cInByaW1hcnlcIj5cclxuICAgICAgICAgICAgU2NlbHRhIG11bHRpcGxhXHJcbiAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTEyIGNvbC1tZC00IG10LTJcIj5cclxuICAgICAgICA8bWF0LWxhYmVsPlRpcG8gZGkgcHJlc2VudGF6aW9uZSo8L21hdC1sYWJlbD5cclxuICAgICAgICA8ZXFwLXNlbGVjdCBbZW51bURhdGFdPVwiTGlzdFByZXNlbnRhdGlvbkVudW1cIiBbKG5nTW9kZWxJbnB1dCldPVwiZmllbGQuUHJlc2VudGF0aW9uTW9kZVwiIHJlcXVpcmVkXHJcbiAgICAgICAgICAgIFtzaG93Q2FuY2VsQnV0dG9uXT1cImZhbHNlXCIgW2Zvcm1Hcm91cElucHV0XT1cImZpZWxkRm9ybUdyb3VwXCIgW2Zvcm1Db250cm9sTmFtZUlucHV0XT1cIidQcmVzZW50YXRpb25Nb2RlJ1wiXHJcbiAgICAgICAgICAgIChuZ01vZGVsSW5wdXRDaGFuZ2UpPVwib25QcmVzZW50YXRpb25Nb2RlQ2hhbmdlKClcIj5cclxuICAgICAgICA8L2VxcC1zZWxlY3Q+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tMTIgbXQtMlwiICpuZ0lmPVwiZmllbGQuUHJlc2VudGF0aW9uTW9kZSAhPSBMaXN0UHJlc2VudGF0aW9uRW51bS5JbW1hZ2luaVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgPGg0IGNsYXNzPVwia2V5LXZhbHVlLWxpc3Qtc2VjdGlvbi10aXRsZVwiPiA8L2g0PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTRcIj5cclxuICAgICAgICAgICAgICAgIDxtYXQtbGFiZWw+IExhYmVsIG9wemlvbmUgKGludmlvIHBlciBjb25mZXJtYXJlKTwvbWF0LWxhYmVsPlxyXG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBbKG5nTW9kZWwpXT1cImtleVZhbHVlT2JqZWN0LmtleVwiIChrZXl1cCk9XCJvbk11bHRpU2VsZWN0SW5wdXRLZXl1cCgkZXZlbnQsIG51bGwpXCIgc3BlbGxjaGVjaz1cImZhbHNlXCIgYXV0b2NvbXBsZXRlPVwib2ZmXCI+XHJcbiAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC00XCI+XHJcbiAgICAgICAgICAgICAgICA8bWF0LWxhYmVsPiBWYWxvcmUgb3B6aW9uZSAoaW52aW8gcGVyIGNvbmZlcm1hcmUpPC9tYXQtbGFiZWw+XHJcbiAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IFsobmdNb2RlbCldPVwia2V5VmFsdWVPYmplY3QudmFsdWVcIiAoa2V5dXApPVwib25NdWx0aVNlbGVjdElucHV0S2V5dXAoJGV2ZW50LCBudWxsKVwiIHNwZWxsY2hlY2s9XCJmYWxzZVwiIGF1dG9jb21wbGV0ZT1cIm9mZlwiPlxyXG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNCAgYWxpZ24tc2VsZi1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibXItM1wiPk9wemlvbmkgaW5zZXJpdGU6PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPHVsIGNsYXNzPVwidmFsdWUtcGFpcnMtbGlzdFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxsaSAqbmdGb3I9XCJsZXQga2V5VmFsdWVQYWlyIG9mIGdldERpY3Rpb25hcnlLZXlWYWx1ZSgpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cIm1yLTFcIiAoY2xpY2spPVwiZGVsZXRlS2V5RnJvbURpY3Rpb25hcnkoa2V5VmFsdWVQYWlyLmtleSlcIj5jbG9zZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj48Yj5MYWJlbDogPC9iPiB7e2tleVZhbHVlUGFpci5rZXl9fSAtIDxiPlZhbG9yZTogPC9iPiB7e2tleVZhbHVlUGFpci52YWx1ZX19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgICAgICA8L3VsPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC1zbS0xMiBjb2wtbWQtMTIgbXQtMlwiICpuZ0lmPVwiZmllbGQuUHJlc2VudGF0aW9uTW9kZSA9PSBMaXN0UHJlc2VudGF0aW9uRW51bS5JbW1hZ2luaVwiPlxyXG4gICAgICAgIDxlcXAtYXR0YWNobWVudHMgW2F0dGFjaG1lbnRzTGlzdF09XCJmaWVsZC5CdXR0b25JbWFnZUxpc3RcIiBbc2hvd01hdENhcmRdPVwiZmFsc2VcIiBbYWxsb3dPbmx5SW1hZ2VzXT1cInRydWVcIlxyXG4gICAgICAgICAgICBbaXNEaXNhYmxlZF09XCJmYWxzZVwiIFtzaG93SW5saW5lUHJldmlld109XCJ0cnVlXCIgW211bHRpcGxlQXR0YWNobWVudF09XCJ0cnVlXCIgW3Nob3dIZWFkZXJdPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICBbYWxsb3dlZFR5cGVzXT1cIltBdHRhY2htZW50VHlwZS5GSUxFXVwiIChsb2NhbEVkaXRlZEF0dGFjaG1lbnRzKT1cImNhdGNoQnV0dG9uSW1hZ2VzQ2hhbmdlKCRldmVudClcIlxyXG4gICAgICAgICAgICAob25Db21wb25lbnRMb2FkZWQpPVwiY29uZmlndXJlQnV0dG9uSW1hZ2VzQ29sdW1ucygkZXZlbnQpXCI+XHJcbiAgICAgICAgPC9lcXAtYXR0YWNobWVudHM+XHJcbiAgICA8L2Rpdj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjwhLS0gRk9STSBQUk9QUklFVMOAIENBTVBJIExPT0tVUCAtLT5cclxuPG5nLXRlbXBsYXRlICNsb29rdXBGaWVsZEZvcm1UZW1wbGF0ZT5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tMTIgY29sLW1kLTQgbXQtMiAgYWxpZ24tc2VsZi1jZW50ZXJcIiBbZm9ybUdyb3VwXT1cImZpZWxkRm9ybUdyb3VwXCI+XHJcbiAgICAgICAgPG1hdC1zbGlkZS10b2dnbGUgWyhuZ01vZGVsKV09XCJmaWVsZC5Vc2VBc0dldE9yRGlzY2FyZFwiIGZvcm1Db250cm9sTmFtZT1cIlVzZUFzR2V0T3JEaXNjYXJkXCIgY29sb3I9XCJwcmltYXJ5XCJcclxuICAgICAgICAgICAgbWF0VG9vbHRpcD1cIlNlIHRydWUgbGEgbG9va3VwIHZpZW5lIHZpc3VhbGl6emF0YSBpbiB1bmEgbW9kYWxlIHBlciBsbyBzY2VnbGkgc2NhcnRhXCI+XHJcbiAgICAgICAgICAgIFVzYSBwZXIgc2NlZ2xpIG8gc2NhcnRhXHJcbiAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTEyIGNvbC1tZC00IG10LTJcIiBbZm9ybUdyb3VwXT1cImZpZWxkRm9ybUdyb3VwXCI+XHJcbiAgICAgICAgPG1hdC1sYWJlbD4gTm9tZSBlbnRpdMOgIDwvbWF0LWxhYmVsPlxyXG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBtYXRUb29sdGlwPVwiTm9tZSBkZWxsJ2VudGl0w6AgcmVsYXppb25hdGFcIj5cclxuICAgICAgICAgICAgPGlucHV0IGZvcm1Db250cm9sTmFtZT1cIkVudGl0eVNvdXJjZU5hbWVcIiByZXF1aXJlZCBtYXRJbnB1dCBbKG5nTW9kZWwpXT1cImZpZWxkLkVudGl0eVNvdXJjZU5hbWVcIiBzcGVsbGNoZWNrPVwiZmFsc2VcIiBhdXRvY29tcGxldGU9XCJvZmZcIiAoa2V5cHJlc3MpPVwib21pdF9zcGVjaWFsX2NoYXIoJGV2ZW50KVwiIChmb2N1c291dCk9XCJzdHJpbmdTYW5pdGl6ZXIoZmllbGQuRW50aXR5U291cmNlTmFtZSlcIj5cclxuICAgICAgICAgICAgPG1hdC1lcnJvcj5cclxuICAgICAgICAgICAgICAgIHt7IGdldEZvcm1WYWxpZGF0aW9uRXJyb3JzKCdFbnRpdHlTb3VyY2VOYW1lJykgfX1cclxuICAgICAgICAgICAgPC9tYXQtZXJyb3I+XHJcbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC1zbS0xMiBtdC0yXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTRcIj5cclxuICAgICAgICAgICAgICAgIDxtYXQtbGFiZWw+IE5vbWkgZGVpIGNhbXBpIChpbnZpbyBwZXIgY29uZmVybWFyZSkgPC9tYXQtbGFiZWw+XHJcbiAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGRcclxuICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPVwiRWxlbmNvIGRpIGNhbXBpIG9yZGluYXRvIGNoZSB2ZXJyw6AgdmlzdWFsaXp6YXRvIG5lbGxhIGxvb2t1cCAocHJlbWVyZSBpbnZpbyBwZXIgY29uZmVybWFyZSlcIj5cclxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgKGtleXVwKT1cIm9uTXVsdGlTZWxlY3RJbnB1dEtleXVwKCRldmVudCwgJ0ZpZWxkTmFtZXMnKVwiIHNwZWxsY2hlY2s9XCJmYWxzZVwiIGF1dG9jb21wbGV0ZT1cIm9mZlwiID5cclxuICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTggIGFsaWduLXNlbGYtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1yLTNcIj5Ob21pIHNlbGV6aW9uYXRpOjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleHRlbnNpb24tY29udGFpbmVyXCIgKm5nRm9yPVwibGV0IGV4dGVuc2lvbiBvZiBmaWVsZC5GaWVsZE5hbWVzOyBsZXQgaSA9IGluZGV4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3tleHRlbnNpb259fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJtbC0xXCIgKGNsaWNrKT1cImZpZWxkLkZpZWxkTmFtZXMuc3BsaWNlKGksMSlcIj5jbG9zZVxyXG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjwhLS0gRElBTE9HIFBFUiBBR0dJVU5HRVJFIFVOIE1FVEFEQVRBIE5FSSBDQU1QSSBESSBUSVBPIEFMTEVHQVRPIE8gSU1NQUdJTkUgLS0+XHJcbjwhLS0gPG5nLXRlbXBsYXRlICNkaWFsb2dNZXRhZGF0YT5cclxuICAgIDxlcXAtZHluYW1pYy1tb2R1bGUtYWRkLWZvcm0tZmllbGQgW2ZpZWxkXT1cInNlbGVjdGVkTWV0YWRhdGFcIiBbYXZhaWxhYmxlRmllbGRzXT1cImF2YWlsYWJsZUZpZWxkc1wiXHJcbiAgICAgICAgW2luZGV4RmllbGRdPVwiaW5kZXhTZWxlY3RlZE1ldGFkYXRhXCIgKHNhdmVGaWVsZEV2ZW50KT1cIm9uU2F2ZU1ldGFkYXRhKCRldmVudClcIiBbZmllbGRUeXBlc1RvRXhjbHVkZV09XCJbNiw3LDEwXVwiPlxyXG4gICAgPC9lcXAtZHluYW1pYy1tb2R1bGUtYWRkLWZvcm0tZmllbGQ+XHJcbjwvbmctdGVtcGxhdGU+IC0tPlxyXG5cclxuPG5nLXRlbXBsYXRlICNidXR0b25JbWFnZXNLZXlWYWx1ZUlucHV0Q29sdW1uIGxldC1yb3c9XCJyb3dcIiBsZXQtY29sPVwiY29sXCI+XHJcbiAgICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgPG1hdC1sYWJlbD4ge3tjb2wuZGlzcGxheX19IDwvbWF0LWxhYmVsPlxyXG4gICAgICAgIDxpbnB1dCBtYXRJbnB1dCBbKG5nTW9kZWwpXT1cInJvd1tjb2wua2V5XVwiIHJlcXVpcmVkIHNwZWxsY2hlY2s9XCJmYWxzZVwiIGF1dG9jb21wbGV0ZT1cIm9mZlwiPlxyXG4gICAgPC9tYXQtZm9ybS1maWVsZD5cclxuPC9uZy10ZW1wbGF0ZT5cclxuPCEtLURJQUxPRyBQRVIgU0VNUExJRklDQVJFIExBIFNDUklUVFVSQSBERUwgQ0FNUE8gRk9STVVMQS0tPlxyXG48bmctdGVtcGxhdGUgI2RpYWxvZ0Zvcm11bGE+XHJcbiAgICA8ZXFwLWR5bmFtaWMtbW9kdWxlLWFkZC1mb3JtdWxhLWNvbXBvbmVudD5cclxuICAgIDwvZXFwLWR5bmFtaWMtbW9kdWxlLWFkZC1mb3JtdWxhLWNvbXBvbmVudD5cclxuPC9uZy10ZW1wbGF0ZT4iXX0=
670
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLWZvcm0tZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXFwLWR5bmFtaWMtbW9kdWxlL3NyYy9saWIvY29tcG9uZW50cy9wcml2YXRlL2FkZC1mb3JtLWZpZWxkL2FkZC1mb3JtLWZpZWxkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VxcC1keW5hbWljLW1vZHVsZS9zcmMvbGliL2NvbXBvbmVudHMvcHJpdmF0ZS9hZGQtZm9ybS1maWVsZC9hZGQtZm9ybS1maWVsZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFCLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBZSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUgsT0FBTyxFQUFvRCxrQkFBa0IsRUFBbUQsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbkssT0FBTyxFQUFFLGNBQWMsRUFBMkMsTUFBTSw0QkFBNEIsQ0FBQztBQUNyRyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFL0QsT0FBTyxFQUFnQixVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFLGFBQWEsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzdGLE9BQU8sRUFBRSxlQUFlLEVBQUUsdUJBQXVCLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUNsSSxPQUFPLEVBQWdCLG9CQUFvQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDL0YsT0FBTyxFQUFhLGdCQUFnQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFFckYsT0FBTyxFQUFlLG9CQUFvQixFQUFrQixNQUFNLDZDQUE2QyxDQUFDO0FBSWhILE9BQU8sRUFBRSxZ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dUJBQUMsdUJBQXVCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUNLLHdCQUF3QjtzQkFBaEYsU0FBUzt1QkFBQywwQkFBMEIsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBQ0ssMkJBQTJCO3NCQUF0RixTQUFTO3VCQUFDLDZCQUE2QixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFDSCxzQkFBc0I7c0JBQTVFLFNBQVM7dUJBQUMsd0JBQXdCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUNNLDBCQUEwQjtzQkFBcEYsU0FBUzt1QkFBQyw0QkFBNEIsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBQ0QsdUJBQXVCO3NCQUE5RSxTQUFTO3VCQUFDLHlCQUF5QixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFZUixhQUFhO3NCQUExRCxTQUFTO3VCQUFDLGVBQWUsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBSW9CLCtCQUErQjtzQkFBOUYsU0FBUzt1QkFBQyxpQ0FBaUMsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVGVtcGxhdGVSZWYsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIEZvcm1Db250cm9sLCBVbnR5cGVkRm9ybUJ1aWxkZXIsIFVudHlwZWRGb3JtQ29udHJvbCwgVW50eXBlZEZvcm1Hcm91cCwgVmFsaWRhdGlvbkVycm9ycywgVmFsaWRhdG9yRm4sIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE1hdERpYWxvZywgTWF0RGlhbG9nUmVmIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgQXR0YWNobWVudFR5cGUsIEVxcEF0dGFjaG1lbnRzQ29tcG9uZW50LCBJQXR0YWNobWVudERUTyB9IGZyb20gJ0BlcXByb2plY3QvZXFwLWF0dGFjaG1lbnRzJztcclxuaW1wb3J0IHsgUGlja2VyTW9kZUVudW0gfSBmcm9tICdAZXFwcm9qZWN0L2VxcC1kYXRldGltZXBpY2tlcic7XHJcbmltcG9ydCB7IEVudW1IZWxwZXIgfSBmcm9tICdAZXFwcm9qZWN0L2VxcC1zZWxlY3QnO1xyXG5pbXBvcnQgeyBDb25maWdDb2x1bW4sIFR5cGVDb2x1bW4gfSBmcm9tICdAZXFwcm9qZWN0L2VxcC10YWJsZSc7XHJcbmltcG9ydCB7IEJhc2VGaWVsZCwgQ29sU3BhblNpemVzRW51bSwgRmllbGRUeXBlRW51bSB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9iYXNlRmllbGQubW9kZWwnO1xyXG5pbXBvcnQgeyBBdHRhY2htZW50RmllbGQsIEF2YWlsYWJsZUZpbGVFeHRlbnNpb25zLCBBdmFpbGFibGVJbWFnZUV4dGVuc2lvbnMgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZmllbGRzL2F0dGFjaG1lbnRGaWVsZC5tb2RlbCc7XHJcbmltcG9ydCB7IEJvb2xlYW5GaWVsZCwgQm9vbFByZXNlbnRhbnRpb0VudW0gfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZmllbGRzL2Jvb2xlYW5GaWVsZC5tb2RlbCc7XHJcbmltcG9ydCB7IERhdGVGaWVsZCwgRGF0ZVRpbWVUeXBlRW51bSB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9maWVsZHMvZGF0ZUZpZWxkLm1vZGVsJztcclxuaW1wb3J0IHsgSW1hZ2VGaWVsZCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9maWVsZHMvaW1hZ2VGaWVsZC5tb2RlbCc7XHJcbmltcG9ydCB7IEJ1dHRvbkltYWdlLCBMaXN0UHJlc2VudGF0aW9uRW51bSwgTGlzdFZhbHVlRmllbGQgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZmllbGRzL2xpc3RWYWx1ZUZpZWxkLm1vZGVsJztcclxuaW1wb3J0IHsgTG9va3VwRmllbGQgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZmllbGRzL2xvb2t1cEZpZWxkLm1vZGVsJztcclxuaW1wb3J0IHsgTnVtZXJpY0ZpZWxkIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2ZpZWxkcy9udW1lcmljRmllbGQubW9kZWwnO1xyXG5pbXBvcnQgeyBUZXh0YXJlYUZpZWxkIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2ZpZWxkcy90ZXh0YXJlYUZpZWxkLm1vZGVsJztcclxuaW1wb3J0IHsgVGV4dE1hc2tFbnVtLCBUZXh0RmllbGQgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZmllbGRzL3RleHRGaWVsZC5tb2RlbCc7XHJcbmltcG9ydCB7IEZvcm1GaWVsZEdyb3VwIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2Zvcm0ubW9kZWwnO1xyXG5pbXBvcnQgeyBVdGlsaXR5SGVscGVyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3V0aWxpdHlIZWxwZXIuc2VydmljZXMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdlcXAtZHluYW1pYy1tb2R1bGUtYWRkLWZvcm0tZmllbGQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9hZGQtZm9ybS1maWVsZC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vYWRkLWZvcm0tZmllbGQuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQWRkRm9ybUZpZWxkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgQElucHV0KCkgZmllbGQ6IEJhc2VGaWVsZCB8IGFueTtcclxuICBASW5wdXQoKSBpbmRleEZpZWxkOiBudW1iZXI7XHJcbiAgQElucHV0KCkgZm9ybUZpZWxkc0dyb3VwczogQXJyYXk8Rm9ybUZpZWxkR3JvdXA+O1xyXG4gIC8qKiBFbGVuY28gZGVpIEZpZWxkIGNyZWF0aSBuZWxsYSBmb3JtLCB1c2F0aSBwZXIgcG9wb2xhcmUgbCdhdXRvY29tcGxldGUgZGVsbGEgcHJvcHJpZXTDoCBGb3JtdWxhLiAqL1xyXG4gIEBJbnB1dCgpIGF2YWlsYWJsZUZpZWxkczogQXJyYXk8QmFzZUZpZWxkPjtcclxuICBASW5wdXQoKSBmaWVsZFR5cGVzVG9FeGNsdWRlOiBBcnJheTxGaWVsZFR5cGVFbnVtPiA9IFtGaWVsZFR5cGVFbnVtWydGb3JtIGRpIGRldHRhZ2xpbyddXTtcclxuXHJcbiAgZmllbGRGb3JtR3JvdXA6IFVudHlwZWRGb3JtR3JvdXA7XHJcbiAga2V5VmFsdWVPYmplY3Q6IHsga2V5OiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcgfSA9IHsga2V5OiAnJywgdmFsdWU6ICcnIH07XHJcbiAgYXZhaWxhYmxlQ29sU3BhblNpemVzOiBBcnJheTxDb2xTcGFuU2l6ZXNFbnVtPiA9IFtdO1xyXG4gIGZvcm11bGFBdXRvY29tcGxldGVPcHRpb25zOiBBcnJheTx7IGxhYmVsOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcgfT47XHJcbiAgVmlzaWJsZUlmQXV0b2NvbXBsZXRlT3B0aW9uczogQXJyYXk8eyBsYWJlbDogc3RyaW5nLCB2YWx1ZTogc3RyaW5nIH0+O1xyXG4gIEF2YWlsYWJsZUZpbGVFeHRlbnNpb25zID0gQXZhaWxhYmxlRmlsZUV4dGVuc2lvbnM7XHJcbiAgQXZhaWxhYmxlSW1hZ2VFeHRlbnNpb25zID0gQXZhaWxhYmxlSW1hZ2VFeHRlbnNpb25zO1xyXG5cclxuICBAT3V0cHV0KCkgc2F2ZUZpZWxkRXZlbnQ6IEV2ZW50RW1pdHRlcjxCYXNlRmllbGQgfCBhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxCYXNlRmllbGQgfCBhbnk+KCk7XHJcblxyXG4gIC8vI3JlZ2lvbiBUZW1wbGF0ZSBkZWkgdmFyaSBwZXp6aSBkaSBmb3JtIHBlciBsYSBjcmVhemlvbmUgZGkgdW4gY2FtcG8oaW4gYmFzZSBhbCB0aXBvIHNjZWx0bykuXHJcbiAgZmllbGRUeXBlRm9ybVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gIEBWaWV3Q2hpbGQoJ3RleHRGaWVsZEZvcm1UZW1wbGF0ZScsIHsgc3RhdGljOiB0cnVlIH0pIHRleHRGaWVsZEZvcm1UZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcclxuICBAVmlld0NoaWxkKCd0ZXh0YXJlYUZpZWxkRm9ybVRlbXBsYXRlJywgeyBzdGF0aWM6IHRydWUgfSkgdGV4dGFyZWFGaWVsZEZvcm1UZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcclxuICBAVmlld0NoaWxkKCdib29sZWFkRmllbGRGb3JtVGVtcGxhdGUnLCB7IHN0YXRpYzogdHJ1ZSB9KSBib29sZWFkRmllbGRGb3JtVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgQFZpZXdDaGlsZCgnZGF0ZUZpZWxkRm9ybVRlbXBsYXRlJywgeyBzdGF0aWM6IHRydWUgfSkgZGF0ZUZpZWxkRm9ybVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gIEBWaWV3Q2hpbGQoJ251bWVyaWNGaWVsZEZvcm1UZW1wbGF0ZScsIHsgc3RhdGljOiB0cnVlIH0pIG51bWVyaWNGaWVsZEZvcm1UZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcclxuICBAVmlld0NoaWxkKCdhdHRhY2htZW50RmllbGRGb3JtVGVtcGxhdGUnLCB7IHN0YXRpYzogdHJ1ZSB9KSBhdHRhY2htZW50RmllbGRGb3JtVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgQFZpZXdDaGlsZCgnaW1hZ2VGaWVsZEZvcm1UZW1wbGF0ZScsIHsgc3RhdGljOiB0cnVlIH0pIGltYWdlRmllbGRGb3JtVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgQFZpZXdDaGlsZCgnbGlzdFZhbHVlRmllbGRGb3JtVGVtcGxhdGUnLCB7IHN0YXRpYzogdHJ1ZSB9KSBsaXN0VmFsdWVGaWVsZEZvcm1UZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcclxuICBAVmlld0NoaWxkKCdsb29rdXBGaWVsZEZvcm1UZW1wbGF0ZScsIHsgc3RhdGljOiB0cnVlIH0pIGxvb2t1cEZpZWxkRm9ybVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gIC8vI2VuZHJlZ2lvblxyXG5cclxuICAvLyNyZWdpb24gUHJvcHJpZXTDoCBwZXIgZ2VzdGlyZSBpIG1ldGFkYXRhIG5laSBjYW1waSB0aSBkaXBvIEFsbGVnYXRvIG8gSW1tYWdpbmVcclxuICBtZXRhZGF0YUNvbHVtbnM6IEFycmF5PENvbmZpZ0NvbHVtbj47XHJcbiAgLy9AVmlld0NoaWxkKCdtZXRhZGF0YUZpZWxkc1RhYmxlJywgeyBzdGF0aWM6IGZhbHNlIH0pIG1ldGFkYXRhRmllbGRzVGFibGU6IEVxcFRhYmxlQ29tcG9uZW50O1xyXG4gIHNlbGVjdGVkTWV0YWRhdGE6IEJhc2VGaWVsZDtcclxuICAvL2luZGV4U2VsZWN0ZWRNZXRhZGF0YTogbnVtYmVyO1xyXG4gIC8vZGlhbG9nTWV0YWRhdGFSZWY6IE1hdERpYWxvZ1JlZjxUZW1wbGF0ZVJlZjxhbnk+PjtcclxuICBkaWFsb2dGb3JtdWxhUmVmOiBNYXREaWFsb2dSZWY8VGVtcGxhdGVSZWY8YW55Pj47XHJcbiAgZGlhbG9nVmlzaWJsZUlmUmVmOiBNYXREaWFsb2dSZWY8VGVtcGxhdGVSZWY8YW55Pj47XHJcbiAgLy9AVmlld0NoaWxkKCdkaWFsb2dNZXRhZGF0YScsIHsgc3RhdGljOiB0cnVlIH0pIGRpYWxvZ01ldGFkYXRhOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gIEBWaWV3Q2hpbGQoJ2RpYWxvZ0Zvcm11bGEnLCB7IHN0YXRpYzogdHJ1ZSB9KSBkaWFsb2dGb3JtdWxhOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gIC8vI2VuZHJlZ2lvblxyXG5cclxuICAvLyNyZWdpb24gUHJvcHJpZXTDoCBwZXIgZ2VzdGlyZSBsZSBpbW1hZ2luaSBuZWkgY2FwaSBkaSB0aXBvIGVsZW5jbyBnZW5lcmljb1xyXG4gIEBWaWV3Q2hpbGQoJ2J1dHRvbkltYWdlc0tleVZhbHVlSW5wdXRDb2x1bW4nLCB7IHN0YXRpYzogdHJ1ZSB9KSBidXR0b25JbWFnZXNLZXlWYWx1ZUlucHV0Q29sdW1uOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gIC8vI2VuZHJlZ2lvblxyXG5cclxuICAvLyNyZWdpb24gRW51bWVyYXRvcmkgdXNhdGkgbmVsbCdodG1sXHJcbiAgRmllbGRUeXBlRW51bSA9IEZpZWxkVHlwZUVudW07XHJcbiAgQm9vbFByZXNlbnRhbnRpb0VudW0gPSBCb29sUHJlc2VudGFudGlvRW51bTtcclxuICBEYXRlVGltZVR5cGVFbnVtID0gRGF0ZVRpbWVUeXBlRW51bTtcclxuICBMaXN0UHJlc2VudGF0aW9uRW51bSA9IExpc3RQcmVzZW50YXRpb25FbnVtO1xyXG4gIFRleHRNYXNrRW51bSA9IFRleHRNYXNrRW51bTtcclxuICBBdHRhY2htZW50VHlwZSA9IEF0dGFjaG1lbnRUeXBlO1xyXG4gIHBpY2tlck1vZGVFbnVtID0gUGlja2VyTW9kZUVudW07XHJcbiAgc3Vic2NyaXB0aW9uOiBhbnk7XHJcblxyXG4gIC8vI2VuZHJlZ2lvblxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgZm9ybUJ1aWxkZXI6IFVudHlwZWRGb3JtQnVpbGRlcixcclxuICAgIHByaXZhdGUgZW51bUhlbHBlcjogRW51bUhlbHBlcixcclxuICAgIHByaXZhdGUgZGlhbG9nOiBNYXREaWFsb2csXHJcbiAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWZcclxuICApIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5maWVsZFR5cGVzVG9FeGNsdWRlLmluY2x1ZGVzKEZpZWxkVHlwZUVudW1bJ0Zvcm0gZGkgZGV0dGFnbGlvJ10pKSB7XHJcbiAgICAgIHRoaXMuZmllbGRUeXBlc1RvRXhjbHVkZS5wdXNoKEZpZWxkVHlwZUVudW1bJ0Zvcm0gZGkgZGV0dGFnbGlvJ10pO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMub25GaWVsZFR5cGVDaGFuZ2UoZmFsc2UpO1xyXG4gICAgdGhpcy5hdmFpbGFibGVGaWVsZHMgPSB0aGlzLmF2YWlsYWJsZUZpZWxkcyA/IHRoaXMuYXZhaWxhYmxlRmllbGRzLmZpbHRlcihmID0+IGYgIT0gdGhpcy5maWVsZCkgOiBbXTtcclxuICAgIC8vdGhpcy5jb25maWd1cmVDb2x1bW5zKCk7XHJcbiAgICBcclxuICAgIFxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTWV0b2RvIHBlciBpbXBvc3RhcmUgaSB2YWxvcmkgZGEgc3VnZ2VyaXJlIG5lbGwnYXV0b2NvbXBsZXRlIGRlbCBjYW1wbyBGb3JtdWxhLlxyXG4gICAqIFZpZW5lIHNjYXRlbmF0byBhbCBmb2N1cyAoaW4gcXVlc3RvIGNhc28gdmllbmUgcGFzc2F0byBpbCBwYXJhbWV0cm8gYSBudWxsIHBlciBkaWZmZXJlbnppYXJsb1xyXG4gICAqIGRhbGwnZXZlbnRvIGRpIGNsaWNrIHN1bGxhIHRhc3RpZXJhKSBlIGFsIGtleXVwIHN1bGwnaW5wdXQgKGlsIHBhcmFtZXRybyDDqCBkaXZlcnNvIGRhIG51bGwpLlxyXG4gICAqIEBwYXJhbSBrZXlib2FyZEV2ZW50IEV2ZW50byBzY2F0ZW5hdG8gYWwga2V5dXAgc3VsbGEgdGFzdGllcmEuIFNlIG51bGwgYWxsb3JhIGlsIG1ldG9kbyDDqCBzdGF0byBpbnZvY2F0byBkYWwgZm9jdXMgc3VsbCdpbnB1dC5cclxuICAgKiBAc3VtbWFyeSBBZ2dpb3JuYSBsJ2VsZW5jbyBkZWkgc3VnZ2VyaW1lbnRpIHBlciBsJ2F1dG9jb21wbGV0ZSBzZSBsJ3V0ZW50ZSBlc2VndWUgaWwgZm9jdXMgc3VsbCdpbnB1dFxyXG4gICAqIG9wcHVyZSBhbCBrZXl1cCBzdWxsYSB0YXN0aWVyYSBkaSB1biB0YXN0byBkaXZlcnNvIGRhbGxlIGZyZWNjZS5cclxuICAgKi9cclxuICAvLyBzZXRGb3JtdWxhQXV0b2NvbXBsZXRlT3B0aW9ucyhrZXlib2FyZEV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XHJcbiAgLy8gICAvLyBDcmVvIGwnYXJyYXkgcGVyIGwnYXV0b2NvbXBsZXRlIHNvbG8gc2Ugc3RvIGZhY2VuZG8gaWwgZm9jdXMgc3VsbCdpbnB1dCBvIHNlIHN0byBwcmVtZW5kbyB1biB0YXN0b1xyXG4gIC8vICAgLy8gc3VsbGEgdGFzdGllcmEgZGl2ZXJzbyBkYWxsZSBmcmVjY2UgKGluIHF1ZXN0J3VsdGltbyBjYXNvLCBzZSBub24gdmllbmUgZXNlZ3VpdG8gaWwgZmlsdHJvIHN1bGwnZXZlbnRvLFxyXG4gIC8vICAgLy8gbm9uIHNpIHB1w7Igc2VsZXppb25hcmUgdW4gc3VnZ2VyaW1lbnRvIGRlbGwnYXV0b2NvbXBsZXRlIHBlcmNow6ggYWwgY2xpY2sgdmVycmViYmUgcmljYXJpY2F0byBsJ2FycmF5IGVcclxuICAvLyAgIC8vIHNpIHByZWRlcmViYmUgbGEgc2VsZXppb25lIGFwcGVuYSBmYXR0YSkuXHJcbiAgLy8gICBpZiAoIWtleWJvYXJkRXZlbnQgfHwgIWtleWJvYXJkRXZlbnQuY29kZS5pbmNsdWRlcyhcIkFycm93XCIpKSB7XHJcbiAgLy8gICAgIHRoaXMuZm9ybXVsYUF1dG9jb21wbGV0ZU9wdGlvbnMgPSBVdGlsaXR5SGVscGVyU2VydmljZS5HZXRBdXRvY29tcGxldGVPcHRpb25zKHRoaXMuYXZhaWxhYmxlRmllbGRzLCB0aGlzLmZpZWxkLkZvcm11bGEpO1xyXG4gIC8vICAgfVxyXG4gIC8vIH1cclxuICBzZXRWaXNpYmxlSWZBdXRvY29tcGxldGVPcHRpb25zKGtleWJvYXJkRXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcclxuICAgIC8vIENyZW8gbCdhcnJheSBwZXIgbCdhdXRvY29tcGxldGUgc29sbyBzZSBzdG8gZmFjZW5kbyBpbCBmb2N1cyBzdWxsJ2lucHV0IG8gc2Ugc3RvIHByZW1lbmRvIHVuIHRhc3RvXHJcbiAgICAvLyBzdWxsYSB0YXN0aWVyYSBkaXZlcnNvIGRhbGxlIGZyZWNjZSAoaW4gcXVlc3QndWx0aW1vIGNhc28sIHNlIG5vbiB2aWVuZSBlc2VndWl0byBpbCBmaWx0cm8gc3VsbCdldmVudG8sXHJcbiAgICAvLyBub24gc2kgcHXDsiBzZWxlemlvbmFyZSB1biBzdWdnZXJpbWVudG8gZGVsbCdhdXRvY29tcGxldGUgcGVyY2jDqCBhbCBjbGljayB2ZXJyZWJiZSByaWNhcmljYXRvIGwnYXJyYXkgZVxyXG4gICAgLy8gc2kgcHJlZGVyZWJiZSBsYSBzZWxlemlvbmUgYXBwZW5hIGZhdHRhKS5cclxuICAgIGlmICgha2V5Ym9hcmRFdmVudCB8fCAha2V5Ym9hcmRFdmVudC5jb2RlLmluY2x1ZGVzKFwiQXJyb3dcIikpIHtcclxuICAgICAgdGhpcy5WaXNpYmxlSWZBdXRvY29tcGxldGVPcHRpb25zID0gVXRpbGl0eUhlbHBlclNlcnZpY2UuR2V0QXV0b2NvbXBsZXRlT3B0aW9ucyh0aGlzLmF2YWlsYWJsZUZpZWxkcywgdGhpcy5maWVsZC5WaXNpYmxlSWYpO1xyXG4gICAgfVxyXG4gIH1cclxuICBvbWl0X3NwZWNpYWxfY2hhcihldmVudCkge1xyXG4gICAgdmFyIGs7XHJcbiAgICBrID0gZXZlbnQua2V5Q29kZTsgIC8vICAgICAgICAgayA9IGV2ZW50LmtleUNvZGU7ICAoQm90aCBjYW4gYmUgdXNlZClcclxuICAgIGlmIChrID09IDM0KSB7XHJcbiAgICAgIGV2ZW50LmtleUNvZGUgPSAwO1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDcmVhIGlsIEZvcm1Hcm91cCBwZXIgbCdhZ2dpdW50YSBkaSB1biBudW92byBjYW1wbyBhbGwnaW50ZXJubyBkZWxsYSBmb3JtLlxyXG4gICAqIE1ldG9kbyByaWNoaWFtYXRvIG9nbmkgdm9sdGEgY2hlIGNhbWJpYSBpbCB0aXBvIGRlbCBjYW1wbyBzY2VsdG8gbyB2aWVuZSBhZ2dpdW50by9tb2RpZmljYXRvIHVuIEZpZWxkXHJcbiAgICovXHJcbiAgY3JlYXRlRmllbGRGb3JtKCkge1xyXG4gICAgdGhpcy5maWVsZEZvcm1Hcm91cCA9IHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoe1xyXG4gICAgICBMYWJlbDogW3RoaXMuZmllbGQuTGFiZWwsIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCB0aGlzLnF1ZXN0aW9uUG9sbCwgVmFsaWRhdG9ycy5wYXR0ZXJuKCdeW2EtekEtWiBdKiQnKV1dLFxyXG4gICAgICBEZXNjcmlwdGlvbjogW3RoaXMuZmllbGQuRGVzY3JpcHRpb24sIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCB0aGlzLnF1ZXN0aW9uUG9sbF1dLFxyXG4gICAgICBSZWFkb25seTogW3RoaXMuZmllbGQuUmVhZG9ubHldLFxyXG4gICAgICBSZXF1aXJlZDogW3RoaXMuZmllbGQuUmVxdWlyZWRdLFxyXG4gICAgICBWaXNpYmxlSWY6IFt0aGlzLmZpZWxkLlZpc2libGVJZiwgdGhpcy5xdWVzdGlvblBvbGxdLFxyXG4gICAgICBUb29sdGlwOiBbdGhpcy5maWVsZC5Ub29sdGlwLCB0aGlzLnF1ZXN0aW9uUG9sbF0sXHJcbiAgICAgIExhYmVsc3R5bGVDU1M6IFt0aGlzLmZpZWxkLkxhYmVsc3R5bGVDU1MsIHRoaXMucXVlc3Rpb25Qb2xsXSxcclxuICAgICAgRmllbGRzdHlsZUNTUzogW3RoaXMuZmllbGQuRmllbGRzdHlsZUNTUywgdGhpcy5xdWVzdGlvblBvbGxdLFxyXG4gICAgICBGaWVsZFR5cGU6IFt0aGlzLmZpZWxkLkZpZWxkVHlwZSwgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIHRoaXMucXVlc3Rpb25Qb2xsXV0sXHJcbiAgICAgIEZvcm11bGE6IFt0aGlzLmZpZWxkLkZvcm11bGEsIHRoaXMucXVlc3Rpb25Qb2xsXSxcclxuICAgICAgQ29sU3BhblNpemVzOiBbdGhpcy5maWVsZC5Db2xTcGFuU2l6ZXNdLFxyXG4gICAgICBJbkxpc3RWaWV3OiBbdGhpcy5maWVsZC5Jbkxpc3RWaWV3XSxcclxuICAgIH0pO1xyXG5cclxuICAgIGlmICh0aGlzLmZvcm1GaWVsZHNHcm91cHMpIHtcclxuICAgICAgdGhpcy5maWVsZEZvcm1Hcm91cC5hZGRDb250cm9sKCdGaWVsZEdyb3VwJywgbmV3IFVudHlwZWRGb3JtQ29udHJvbCh0aGlzLmZpZWxkLkZpZWxkR3JvdXAsIFZhbGlkYXRvcnMucmVxdWlyZWQpKTtcclxuICAgIH1cclxuICB9XHJcbiAgcXVlc3Rpb25Qb2xsKGNvbnRyb2w6IEZvcm1Db250cm9sKTogeyBbczogc3RyaW5nXTogYm9vbGVhbiB9IHtcclxuXHJcbiAgICAvLyBjJ8OoIHVuIEZvcm1Db250cm9sIGNoZSDDqCB2dW90byBjaGUgZGEgcHJvYmxlbWkgKHByb2JhYmlsbWVudGUgdHlwZSBEYXRhLCBjYW1wbyBGb3JtYXRvKSAgICBcclxuICAgIGlmKGNvbnRyb2wudmFsdWUgIT0gdW5kZWZpbmVkKXtcclxuXHJcbiAgICAgIGlmICggVXRpbGl0eUhlbHBlclNlcnZpY2Uuc3RyaW5nU2FuaXRpemVyKGNvbnRyb2wudmFsdWUsIGNvbnRyb2wuaGFzVmFsaWRhdG9yKFZhbGlkYXRvcnMucmVxdWlyZWQpKSkge1xyXG4gICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHJldHVybiB7IFwiTWlzc2luZyBQYXJlbnRoZXNpc1wiOiB0cnVlIH07XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuICBzdHJpbmdTYW5pdGFpemVkVmFsaWRhdG9yKGNvbnRyb2w6IEZvcm1Db250cm9sKTogeyBbczogc3RyaW5nXTogYm9vbGVhbiB9IHtcclxuICAgIFxyXG4gICAgLy8gYyfDqCB1biBGb3JtQ29udHJvbCBjaGUgw6ggdnVvdG8gY2hlIGRhIHByb2JsZW1pIChwcm9iYWJpbG1lbnRlIHR5cGUgRGF0YSwgY2FtcG8gRm9ybWF0bykgXHJcbiAgICBpZiAoY29udHJvbC52YWx1ZSAhPSB1bmRlZmluZWQpIHtcclxuICAgICAgaWYgKFxyXG4gICAgICAgIFV0aWxpdHlIZWxwZXJTZXJ2aWNlLnN0cmluZ1Nhbml0aXplcihcclxuICAgICAgICAgIGNvbnRyb2wudmFsdWUsXHJcbiAgICAgICAgICBjb250cm9sLmhhc1ZhbGlkYXRvcihWYWxpZGF0b3JzLnJlcXVpcmVkKVxyXG4gICAgICAgIClcclxuICAgICAgKSB7XHJcbiAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgcmV0dXJuIHsgXCJMYSBmb3JtdWxhIG5vbiDDqCB2YWxpZGFcIjogdHJ1ZSB9O1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH0gXHJcbiAgfVxyXG4gIC8vIGdldEFsbEZvcm1WYWxpZGF0aW9uRXJyb3JzKCkge1xyXG4gIC8vICAgT2JqZWN0LmtleXModGhpcy5maWVsZEZvcm1Hcm91cC5jb250cm9scykuZm9yRWFjaCgoa2V5KSA9PiB7XHJcbiAgLy8gICAgIGNvbnN0IGNvbnRyb2xFcnJvcnM6IFZhbGlkYXRpb25FcnJvcnMgPVxyXG4gIC8vICAgICAgIHRoaXMuZmllbGRGb3JtR3JvdXAuZ2V0KGtleSkuZXJyb3JzO1xyXG4gIC8vICAgICBpZiAoY29udHJvbEVycm9ycyAhPSBudWxsKSB7XHJcbiAgLy8gICAgICAgT2JqZWN0LmtleXMoY29udHJvbEVycm9ycykuZm9yRWFjaCgoa2V5RXJyb3IpID0+IHtcclxuICAvLyAgICAgICAgIGNvbnNvbGUubG9nKFxyXG4gIC8vICAgICAgICAgICBcIktleSBjb250cm9sOiBcIiArIGtleSArIFwiLCBrZXlFcnJvcjogXCIgKyBrZXlFcnJvciArIFwiLCBlcnIgdmFsdWU6IFwiLFxyXG4gIC8vICAgICAgICAgICBjb250cm9sRXJyb3JzW2tleUVycm9yXVxyXG4gIC8vICAgICAgICAgKTtcclxuICAvLyAgICAgICB9KTtcclxuICAvLyAgICAgfVxyXG4gIC8vICAgfSk7XHJcbiAgLy8gfVxyXG4gIFxyXG4gIC8qKlxyXG4gICAqIE1ldG9kbyBjaGlhbWF0byBkYWkgbWF0LWVycm9yIHBlciBwcmVuZGVyZSBnbGkgZXJyb3JpIGdlbmVyYXRpIHJlbGF0aXZpIGFsIGNhbXBvLlxyXG4gICAqIEBwYXJhbSBjb250cm9sIMOoIGlsIG5vbWUgZGVsIEdyb3VwQ29udHJvbCBkaSBjdWkgbGVnZ2VyZSBzZSBjaSBzb25vIGVycm9yaVxyXG4gICAqL1xyXG4gIGdldEZvcm1WYWxpZGF0aW9uRXJyb3JzKGNvbnRyb2w6IHN0cmluZykge1xyXG5cclxuICAgIGNvbnN0IGNvbnRyb2xFcnJvcnM6IFZhbGlkYXRpb25FcnJvcnMgPVxyXG4gICAgICB0aGlzLmZpZWxkRm9ybUdyb3VwLmNvbnRyb2xzW2NvbnRyb2xdLmVycm9ycztcclxuICAgIGxldCBlcnJvcnMgPSBbXTtcclxuICAgIGxldCB2YWx1ZXMgPSBbXTtcclxuICAgIGlmIChjb250cm9sRXJyb3JzICE9IG51bGwpIHtcclxuICAgICAgT2JqZWN0LmtleXMoY29udHJvbEVycm9ycykuZm9yRWFjaCgoa2V5RXJyb3IpID0+IHtcclxuICAgICAgICBlcnJvcnMucHVzaCgga2V5RXJyb3IpO1xyXG4gICAgICB9KTtcclxuICAgICAgLy8gY29uc29sZS5sb2coJ2NvbnRyb2w6ICcsIGNvbnRyb2wpO1xyXG4gICAgICAvLyBjb25zb2xlLmxvZygnZXJyb3JzOiAnLCBlcnJvcnMpO1xyXG4gICAgICAvLyBjb25zb2xlLmxvZygndmFsdWVzOiAnLCB2YWx1ZXMpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGVycm9ycy5qb2luKCcsICcpO1xyXG5cclxuICB9XHJcblxyXG5cclxuICAvKipcclxuICAgKiBNZXRvZG8gY2hpYW1hdG8gcXVhbmRvIGNhbWJpYSBpbCBGaWVsZFR5cGUgZGVsIEJhc2VGaWVsZCBjaGUgc2kgc3RhIGFnZ2l1bmdlbmRvL21vZGlmaWNhbmRvLlxyXG4gICAqIFJpY3JlYSBsJ29nZ2V0dG8gZmllbGQgcG9wb2xhbmRvIHNvbG8gbGUgcHJvcHJpZXTDoCBkZWwgQmFzZUZpZWxkIGluc2VyaXRlIGRhbGwndXRlbnRlXHJcbiAgICogKHF1ZWxsZSBjb211bmkgYSB0dXR0ZSBsZSB0aXBvbG9naWUgZGkgY2FtcG8pLCByaWNyZWEgbGEgZm9ybSBlLCBpbiBiYXNlIGFsIEZpZWxkVHlwZSBzY2VsdG8sXHJcbiAgICogYWdnaXVuZ2UgYWxsYSBmb3JtIGkgRm9ybUNvbnRyb2wgbmVjZXNzYXJpIGUgc2VsZXppb25hIGlsIHRlbXBsYXRlIGNvcnJldHRvIGRhIHVzYXJlLlxyXG4gICAqIEBwYXJhbSByZXN0b3JlRmllbGQgU2UgVFJVRSByaXByaXN0aW5hIGkgdmFsb3JpIGJhc2UgKGVyZWRpdGF0aSBkYWwgbW9kZWxsbyBCYXNlRmllbGQpIGRlbCBjYW1wbyBhZ2dpdW50by9tb2RpZmljYXRvXHJcbiAgICovXHJcbiAgb25GaWVsZFR5cGVDaGFuZ2UocmVzdG9yZUZpZWxkOiBib29sZWFuID0gdHJ1ZSkgeyAgICBcclxuICAgIGlmIChyZXN0b3JlRmllbGQpIHtcclxuICAgICAgdGhpcy5yZXN0b3JlQmFzZUZpZWxkUHJvcGVydGllcygpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuY3JlYXRlRmllbGRGb3JtKCk7XHJcbiAgICB0aGlzLm9uQ29sU3BhblNpemVTZWxlY3QoKTtcclxuICAgIGlmICgodGhpcy5maWVsZCBhcyBCYXNlRmllbGQpLkluTGlzdFZpZXcgPT0gbnVsbCkge1xyXG4gICAgICB0aGlzLmZpZWxkLkluTGlzdFZpZXcgPSB0cnVlO1xyXG4gICAgfVxyXG4gICAgdGhpcy5maWVsZFR5cGVGb3JtVGVtcGxhdGUgPSBudWxsO1xyXG5cclxuICAgIHN3aXRjaCAodGhpcy5maWVsZC5GaWVsZFR5cGUpIHtcclxuICAgICAgY2FzZSBGaWVsZFR5cGVFbnVtWydDYW1wbyBkaSB0ZXN0byddOlxyXG4gICAgICAgIGlmICgodGhpcy5maWVsZCBhcyBUZXh0RmllbGQpLk1pY3JvcGhvbmUgPT0gbnVsbCkge1xyXG4gICAgICAgICAgdGhpcy5maWVsZC5NaWNyb3Bob25lID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuZmllbGRGb3JtR3JvdXAuYWRkQ29udHJvbCgnVGV4dE1hc2snLCBuZXcgVW50eXBlZEZvcm1Db250cm9sKCh0aGlzLmZpZWxkIGFzIFRleHRGaWVsZCkuVGV4dE1hc2spKTtcclxuICAgICAgICB0aGlzLmZpZWxkRm9ybUdyb3VwLmFkZENvbnRyb2woJ01heExlbmdodCcsIG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woKHRoaXMuZmllbGQgYXMgVGV4dEZpZWxkKS5NYXhMZW5naHQsIFt0aGlzLnF1ZXN0aW9uUG9sbCwgVmFsaWRhdG9ycy5wYXR0ZXJuKFwiXlswLTldKiRcIildKSk7XHJcbiAgICAgICAgdGhpcy5maWVsZEZvcm1Hcm91cC5hZGRDb250cm9sKCdNaW5MZW5naHQnLCBuZXcgVW50eXBlZEZvcm1Db250cm9sKCh0aGlzLmZpZWxkIGFzIFRleHRGaWVsZCkuTWluTGVuZ2h0LCBbdGhpcy5xdWVzdGlvblBvbGwsIFZhbGlkYXRvcnMucGF0dGVybihcIl5bMC05XSokXCIpXSkpO1xyXG4gICAgICAgIHRoaXMuZmllbGRGb3JtR3JvdXAuYWRkQ29udHJvbCgnTWljcm9waG9uZScsIG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woKHRoaXMuZmllbGQgYXMgVGV4dEZpZWxkKS5NaWNyb3Bob25lKSk7XHJcbiAgICAgICAgdGhpcy5maWVsZFR5cGVGb3JtVGVtcGxhdGUgPSB0aGlzLnRleHRGaWVsZEZvcm1UZW1wbGF0ZTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBGaWVsZFR5cGVFbnVtWydBcmVhIGRpIHRlc3RvJ106XHJcbiAgICAgICAgaWYgKCh0aGlzLmZpZWxkIGFzIFRleHRhcmVhRmllbGQpLk1pY3JvcGhvbmUgPT0gbnVsbCkge1xyXG4gICAgICAgICAgdGhpcy5maWVsZC5NaWNyb3Bob25lID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuZmllbGRGb3JtR3JvdXAuYWRkQ29udHJvbCgnUm93cycsIG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woKHRoaXMuZmllbGQgYXMgVGV4dGFyZWFGaWVsZCkuUm93cywgdGhpcy5xdWVzdGlvblBvbGwpKTtcclxuICAgICAgICB0aGlzLmZpZWxkRm9ybUdyb3VwLmFkZENvbnRyb2woJ01heExlbmdodCcsIG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woKHRoaXMuZmllbGQgYXMgVGV4dGFyZWFGaWVsZCkuTWF4TGVuZ2h0LCBbdGhpcy5xdWVzdGlvblBvbGwsIFZhbGlkYXRvcnMucGF0dGVybihcIl5bMC05XSokXCIpXSkpO1xyXG4gICAgICAgIHRoaXMuZmllbGRGb3JtR3JvdXAuYWRkQ29udHJvbCgnTWluTGVuZ2h0JywgbmV3IFVudHlwZWRGb3JtQ29udHJvbCgodGhpcy5maWVsZCBhcyBUZXh0YXJlYUZpZWxkKS5NaW5MZW5naHQsIFt0aGlzLnF1ZXN0aW9uUG9sbCwgVmFsaWRhdG9ycy5wYXR0ZXJuKFwiXlswLTldKiRcIildKSk7XHJcbiAgICAgICAgdGhpcy5maWVsZEZvcm1Hcm91cC5hZGRDb250cm9sKCdNaWNyb3Bob25lJywgbmV3IFVudHlwZWRGb3JtQ29udHJvbCgodGhpcy5maWVsZCBhcyBUZXh0YXJlYUZpZWxkKS5NaWNyb3Bob25lKSk7XHJcbiAgICAgICAgdGhpcy5maWVsZFR5cGVGb3JtVGVtcGxhdGUgPSB0aGlzLnRleHRhcmVhRmllbGRGb3JtVGVtcGxhdGU7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgRmllbGRUeXBlRW51bS5Cb29sZWFubzpcclxuICAgICAgICB0aGlzLmZpZWxkRm9ybUdyb3VwLmFkZENvbnRyb2woJ0lzVHJpc3RhdGUnLCBuZXcgVW50eXBlZEZvcm1Db250cm9sKCh0aGlzLmZpZWxkIGFzIEJvb2xlYW5GaWVsZCkuSXNUcmlzdGF0ZSkpO1xyXG4gICAgICAgIHRoaXMuZmllbGRGb3JtR3JvdXAuYWRkQ29udHJvbChcclxuICAgICAgICAgICdQcmVzZXRhdGlvblR5cGUnLFxyXG4gICAgICAgICAgbmV3IFVudHlwZWRGb3JtQ29udHJvbCgodGhpcy5maWVsZCBhcyBCb29sZWFuRmllbGQpLlByZXNldGF0aW9uVHlwZSwgVmFsaWRhdG9ycy5yZXF1aXJlZClcclxuICAgICAgICApO1xyXG4gICAgICAgIHRoaXMuZmllbGRUeXBlRm9ybVRlbXBsYXRlID0gdGhpcy5ib29sZWFkRmllbGRGb3JtVGVtcGxhdGU7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgRmllbGRUeXBlRW51bVsnRGF0YSBlL28gb3JhJ106XHJcbiAgICAgICAgaWYgKHRoaXMuZmllbGQuSXNPbmx5RGF0ZSA9PSBudWxsKSB7XHJcbiAgICAgICAgICB0aGlzLmZpZWxkLklzT25seURhdGUgPSBEYXRlVGltZVR5cGVFbnVtWydTb2xvIGRhdGEnXTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5maWVsZEZvcm1Hcm91cC5hZGRDb250cm9sKCdJc09ubHlEYXRlJywgbmV3IFVudHlwZWRGb3JtQ29udHJvbCgodGhpcy5maWVsZCBhcyBEYXRlRmllbGQpLklzT25seURhdGUsIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCB0aGlzLnF1ZXN0aW9uUG9sbF0pKTtcclxuICAgICAgICB0aGlzLmZpZWxkRm9ybUdyb3VwLmFkZENvbnRyb2woJ01pbkRhdGUnLCBuZXcgVW50eXBlZEZvcm1Db250cm9sKCh0aGlzLmZpZWxkIGFzIERhdGVGaWVsZCkuTWluRGF0ZSwgdGhpcy5xdWVzdGlvblBvbGwpKTtcclxuICAgICAgICB0aGlzLmZpZWxkRm9ybUdyb3VwLmFkZENvbnRyb2woJ01heERhdGUnLCBuZXcgVW50eXBlZEZvcm1Db250cm9sKCh0aGlzLmZpZWxkIGFzIERhdGVGaWVsZCkuTWF4RGF0ZSwgdGhpcy5xdWVzdGlvblBvbGwpKTtcclxuICAgICAgICB0aGlzLmZpZWxkRm9ybUdyb3VwLmFkZENvbnRyb2woJ0RhdGVGb3JtYXQnLCBuZXcgVW50eXBlZEZvcm1Db250cm9sKCh0aGlzLmZpZWxkIGFzIERhdGVGaWVsZCkuRGF0ZUZvcm1hdCkpO1xyXG4gICAgICAgIHRoaXMuZmllbGRUeXBlRm9ybVRlbXBsYXRlID0gdGhpcy5kYXRlRmllbGRGb3JtVGVtcGxhdGU7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgRmllbGRUeXBlRW51bVsnQ2FtcG8gbnVtZXJpY28nXTpcclxuICAgICAgICBpZiAoKHRoaXMuZmllbGQgYXMgTnVtZXJpY0ZpZWxkKS5Jc0ludGVnZXIgPT0gbnVsbCkge1xyXG4gICAgICAgICAgdGhpcy5maWVsZC5Jc0ludGVnZXIgPSB0cnVlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5maWVsZEZvcm1Hcm91cC5hZGRDb250cm9sKCdJc0ludGVnZXInLCBuZXcgVW50eXBlZEZvcm1Db250cm9sKCh0aGlzLmZpZWxkIGFzIE51bWVyaWNGaWVsZCkuSXNJbnRlZ2VyKSk7XHJcbiAgICAgICAgdGhpcy5maWVsZEZvcm1Hcm91cC5hZGRDb250cm9sKCdNaW5WYWx1ZScsIG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woKHRoaXMuZmllbGQgYXMgTnVtZXJpY0ZpZWxkKS5NaW5WYWx1ZSwgW3RoaXMucXVlc3Rpb25Qb2xsLCBWYWxpZGF0b3JzLnBhdHRlcm4oXCJeWzAtOV0qJFwiKV0pKTtcclxuICAgICAgICB0aGlzLmZpZWxkRm9ybUdyb3VwLmFkZENvbnRyb2woJ01heFZhbHVlJywgbmV3IFVudHlwZWRGb3JtQ29udHJvbCgodGhpcy5maWVsZCBhcyBOdW1lcmljRmllbGQpLk1heFZhbHVlLCBbdGhpcy5xdWVzdGlvblBvbGwsIFZhbGlkYXRvcnMucGF0dGVybihcIl5bMC05XSokXCIpXSkpO1xyXG4gICAgICAgIHRoaXMuZmllbGRGb3JtR3JvdXAuYWRkQ29udHJvbCgnRGVjaW1hbFNlcGFyYXRvcicsIG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woKHRoaXMuZmllbGQgYXMgTnVtZXJpY0ZpZWxkKS5EZWNpbWFsU2VwYXJhdG9yLCBbdGhpcy5xdWVzdGlvblBvbGwsIFZhbGlkYXRvcnMucGF0dGVybihcIl5bYS16QS1aIFxcLS9cXCdcXCxcXC5cXF9cXC9cXFxcXFxeXFw8XFw+XStcIildKSk7XHJcbiAgICAgICAgdGhpcy5maWVsZEZvcm1Hcm91cC5hZGRDb250cm9sKCdEZWNpbWFsUHJlY2lzaW9uJywgbmV3IFVudHlwZWRGb3JtQ29udHJvbCgodGhpcy5maWVsZCBhcyBOdW1lcmljRmllbGQpLkRlY2ltYWxQcmVjaXNpb24sIFt0aGlzLnF1ZXN0aW9uUG9sbCwgVmFsaWRhdG9ycy5wYXR0ZXJuKFwiXlswLTldKiRcIildKSk7XHJcbiAgICAgICAgdGhpcy5maWVsZEZvcm1Hcm91cC5hZGRDb250cm9sKCdUaG91c2FuZHNTZXBhcmF0b3InLCBuZXcgVW50eXBlZEZvcm1Db250cm9sKCh0aGlzLmZpZWxkIGFzIE51bWVyaWNGaWVsZCkuVGhvdXNhbmRzU2VwYXJhdG9yLCBbdGhpcy5xdWVzdGlvblBvbGwsIFZhbGlkYXRvcnMucGF0dGVybihcIl5bYS16QS1aIFxcLS9cXCdcXCxcXC5cXF9cXC9cXFxcXFxeXFw8XFw+XStcIildKSk7XHJcbiAgICAgICAgdGhpcy5maWVsZEZvcm1Hcm91cC5hZGRDb250cm9sKCdDdXJyZW5jeVN5bWJvbCcsIG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woKHRoaXMuZmllbGQgYXMgTnVtZXJpY0ZpZWxkKS5DdXJyZW5jeVN5bWJvbCwgdGhpcy5xdWVzdGlvblBvbGwpKTtcclxuICAgICAgICB0aGlzLmZpZWxkRm9ybUdyb3VwLmFkZENvbnRyb2woJ01lYXN1cmVVbml0JywgbmV3IFVudHlwZWRGb3JtQ29udHJvbCgodGhpcy5maWVsZCBhcyBOdW1lcmljRmllbGQpLk1lYXN1cmVVbml0LCB0aGlzLnF1ZXN0aW9uUG9sbCkpO1xyXG4gICAgICAgIHRoaXMuZmllbGRUeXBlRm9ybVRlbXBsYXRlID0gdGhpcy5udW1lcmljRmllbGRGb3JtVGVtcGxhdGU7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgRmllbGRUeXBlRW51bS5BbGxlZ2F0bzpcclxuICAgICAgICB0aGlzLmZpZWxkRm9ybUdyb3VwLmFkZENvbnRyb2woXCJBbGxvd2VkRXh0ZW5zaW9uc1wiLCBuZXcgVW50eXBlZEZvcm1Db250cm9sKCh0aGlzLmZpZWxkIGFzIEF0dGFjaG1lbnRGaWVsZCkuQWxsb3dlZEV4dGVuc2lvbnMsKSk7XHJcbiAgICAgICAgdGhpcy5maWVsZEZvcm1Hcm91cC5hZGRDb250cm9sKCdJc011bHRpQXR0YWNoJywgbmV3IFVudHlwZWRGb3JtQ29udHJvbCgodGhpcy5maWVsZCBhcyBBdHRhY2htZW50RmllbGQpLklzTXVsdGlBdHRhY2gpKTtcclxuICAgICAgICB0aGlzLmZpZWxkVHlwZUZvcm1UZW1wbGF0ZSA9IHRoaXMuYXR0YWNobWVudEZpZWxkRm9ybVRlbXBsYXRlO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIEZpZWxkVHlwZUVudW0uSW1tYWdpbmU6XHJcbiAgICAgICAgKHRoaXMuZmllbGQgYXMgSW1hZ2VGaWVsZCkuQXR0YWNoRGVmaW5pdGlvbiA9IG5ldyBBdHRhY2htZW50RmllbGQoKTtcclxuICAgICAgICB0aGlzLmZpZWxkRm9ybUdyb3VwLmFkZENvbnRyb2woJ0VuYWJsZURyYXdpbmcnLCBuZXcgVW50eXBlZEZvcm1Db250cm9sKCh0aGlzLmZpZWxkIGFzIEltYWdlRmllbGQpLkVuYWJsZURyYXdpbmcpKTtcclxuICAgICAgICB0aGlzLmZpZWxkRm9ybUdyb3VwLmFkZENvbnRyb2woJ0ltYWdlSXNDb250ZXh0dWFsQXR0YWNobWVudCcsIG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woKHRoaXMuZmllbGQgYXMgSW1hZ2VGaWVsZCkuSW1hZ2VJc0NvbnRleHR1YWxBdHRhY2htZW50KSk7XHJcbiAgICAgICAgLy8gSW1wb3N0byBpIEZvcm1Db250cm9sIHZhcmlhYmlsaS5cclxuICAgICAgICB0aGlzLm9uSW1hZ2VJc0NvbnRleHR1YWxBdHRhY2htZW50Q2hhbmdlKCk7XHJcbiAgICAgICAgdGhpcy5maWVsZFR5cGVGb3JtVGVtcGxhdGUgPSB0aGlzLmltYWdlRmllbGRGb3JtVGVtcGxhdGU7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgRmllbGRUeXBlRW51bVsnRWxlbmNvIGdlbmVyaWNvJ106XHJcbiAgICAgICAgaWYgKCh0aGlzLmZpZWxkIGFzIExpc3RWYWx1ZUZpZWxkKS5Jbkxpc3RWaWV3ID09IG51bGwpIHtcclxuICAgICAgICAgIHRoaXMuZmllbGQuSW5MaXN0VmlldyA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgIHRoaXMuZmllbGRGb3JtR3JvdXAuYWRkQ29udHJvbCgnSXNNdWx0aUNob2ljaGUnLCBuZXcgVW50eXBlZEZvcm1Db250cm9sKCh0aGlzLmZpZWxkIGFzIExpc3RWYWx1ZUZpZWxkKS5Jc011bHRpQ2hvaWNoZSkpO1xyXG4gICAgICAgIHRoaXMuZmllbGRGb3JtR3JvdXAuYWRkQ29udHJvbChcclxuICAgICAgICAgICdQcmVzZW50YXRpb25Nb2RlJyxcclxuICAgICAgICAgIG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woKHRoaXMuZmllbGQgYXMgTGlzdFZhbHVlRmllbGQpLlByZXNlbnRhdGlvbk1vZGUsIFZhbGlkYXRvcnMucmVxdWlyZWQpXHJcbiAgICAgICAgKTtcclxuICAgICAgICB0aGlzLmZpZWxkVHlwZUZvcm1UZW1wbGF0ZSA9IHRoaXMubGlzdFZhbHVlRmllbGRGb3JtVGVtcGxhdGU7XHJcbiAgICAgICBcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBGaWVsZFR5cGVFbnVtLkxvb2t1cDpcclxuICAgICAgICB0aGlzLmZpZWxkRm9ybUdyb3VwLmFkZENvbnRyb2woXHJcbiAgICAgICAgICAnRW50aXR5U291cmNlTmFtZScsXHJcbiAgICAgICAgICBuZXcgVW50eXBlZEZvcm1Db250cm9sKCh0aGlzLmZpZWxkIGFzIExvb2t1cEZpZWxkKS5FbnRpdHlTb3VyY2VOYW1lLCBWYWxpZGF0b3JzLnJlcXVpcmVkKVxyXG4gICAgICAgICk7XHJcbiAgICAgICAgdGhpcy5maWVsZEZvcm1Hcm91cC5hZGRDb250cm9sKCdVc2VBc0dldE9yRGlzY2FyZCcsIG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woKHRoaXMuZmllbGQgYXMgTG9va3VwRmllbGQpLlVzZUFzR2V0T3JEaXNjYXJkKSk7XHJcbiAgICAgICAgdGhpcy5maWVsZFR5cGVGb3JtVGVtcGxhdGUgPSB0aGlzLmxvb2t1cEZpZWxkRm9ybVRlbXBsYXRlO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG4gICAgaWYgKFtGaWVsZFR5cGVFbnVtLkFsbGVnYXRvLCBGaWVsZFR5cGVFbnVtLkltbWFnaW5lLCBGaWVsZFR5cGVFbnVtWydGb3JtIGRpIGRldHRhZ2xpbyddXS5pbmNsdWRlcyh0aGlzLmZpZWxkLkZpZWxkVHlwZSkpIHtcclxuICAgICAgdGhpcy5maWVsZC5Gb3JtdWxhID0gbnVsbDtcclxuICAgICAgdGhpcy5maWVsZEZvcm1Hcm91cC5jb250cm9sc1tcIkZvcm11bGFcIl0uZGlzYWJsZSgpO1xyXG4gICAgICB0aGlzLmZpZWxkRm9ybUdyb3VwLmNvbnRyb2xzW1wiSW5MaXN0Vmlld1wiXS5kaXNhYmxlKCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmZpZWxkRm9ybUdyb3VwLmNvbnRyb2xzW1wiRm9ybXVsYVwiXS5lbmFibGUoKTtcclxuICAgICAgdGhpcy5maWVsZEZvcm1Hcm91cC5jb250cm9sc1tcIkluTGlzdFZpZXdcIl0uZW5hYmxlKCk7XHJcbiAgICB9XHJcbiAgICBpZiAoW0ZpZWxkVHlwZUVudW0uQWxsZWdhdG8sIEZpZWxkVHlwZUVudW0uSW1tYWdpbmUsIEZpZWxkVHlwZUVudW1bJ0Zvcm0gZGkgZGV0dGFnbGlvJ10sIEZpZWxkVHlwZUVudW1bJ0RhdGEgZS9vIG9yYSddXS5pbmNsdWRlcyh0aGlzLmZpZWxkLkZpZWxkVHlwZSkpIHtcclxuICAgICAgdGhpcy5maWVsZC5Gb3JtdWxhID0gbnVsbDtcclxuICAgICAgdGhpcy5maWVsZEZvcm1Hcm91cC5jb250cm9sc1tcIkxhYmVsc3R5bGVDU1NcIl0uZGlzYWJsZSgpO1xyXG4gICAgICB0aGlzLmZpZWxkRm9ybUdyb3VwLmNvbnRyb2xzW1wiRmllbGRzdHlsZUNTU1wiXS5kaXNhYmxlKCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmZpZWxkRm9ybUdyb3VwLmNvbnRyb2xzW1wiTGFiZWxzdHlsZUNTU1wiXS5lbmFibGUoKTtcclxuICAgICAgdGhpcy5maWVsZEZvcm1Hcm91cC5jb250cm9sc1tcIkZpZWxkc3R5bGVDU1NcIl0uZW5hYmxlKCk7XHJcbiAgICB9XHJcbiAgICBpZiAoW0ZpZWxkVHlwZUVudW0uQm9vbGVhbm9dLmluY2x1ZGVzKHRoaXMuZmllbGQuRmllbGRUeXBlKSkge1xyXG4gICAgICB0aGlzLmZpZWxkLkZvcm11bGEgPSBudWxsO1xyXG4gICAgICB0aGlzLmZpZWxkRm9ybUdyb3VwLmNvbnRyb2xzW1wiTGFiZWxzdHlsZUNTU1wiXS5kaXNhYmxlKCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmZpZWxkRm9ybUdyb3VwLmNvbnRyb2xzW1wiTGFiZWxzdHlsZUNTU1wiXS5lbmFibGUoKTtcclxuICAgIH1cclxuICAgIFxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTWV0b2RvIGludm9jYXRvIGFsIGNhbWJpbyBkZWwgdmFsb3JlIGRlbGxhIHByb3ByaWV0w6AgSW1hZ2VJc0NvbnRleHR1YWxBdHRhY2htZW50IG5lbCBjYXNvXHJcbiAgICogZGkgY2FtcGkgZGkgdGlwbyBJbW1hZ2luZS4gU2UgVFJVRSBhbGxvcmEgcmltdW92ZSBpIEZvcm1Db250cm9sIHBlciBsZSBwcm9wcmlldMOgIElzTXVsdGlBdHRhY2hcclxuICAgKiBlIEFsbG93ZWRFeHRlbnNpb25zIGUgYWdnaXVuZ2UgaSBGb3JtQ29udHJvbCBwZXIgbGUgcHJvcHJpZXTDoCBJbWdOYW1lIGUgQ29udGV4dHVhbEF0dGFjaG1lbnQsIFxyXG4gICAqIGFsdHJpbWVudGkgaWwgY29udHJhcmlvLlxyXG4gICAqL1xyXG4gIG9uSW1hZ2VJc0NvbnRleHR1YWxBdHRhY2htZW50Q2hhbmdlKCkge1xyXG4gICAgKHRoaXMuZmllbGQgYXMgSW1hZ2VGaWVsZCkuSW1nTmFtZSA9IG51bGw7XHJcbiAgICAodGhpcy5maWVsZCBhcyBJbWFnZUZpZWxkKS5BdHRhY2hEZWZpbml0aW9uLkFsbG93ZWRFeHRlbnNpb25zID0gW107XHJcbiAgICAodGhpcy5maWVsZCBhcyBJbWFnZUZpZWxkKS5BdHRhY2hEZWZpbml0aW9uLklzTXVsdGlBdHRhY2ggPSBmYWxzZTtcclxuICAgICh0aGlzLmZpZWxkIGFzIEltYWdlRmllbGQpLkNvbnRleHR1YWxBdHRhY2htZW50ID0gbnVsbDtcclxuXHJcbiAgICBpZiAoKHRoaXMuZmllbGQgYXMgSW1hZ2VGaWVsZCkuSW1hZ2VJc0NvbnRleHR1YWxBdHRhY2htZW50KSB7XHJcbiAgICAgIHRoaXMuZmllbGRGb3JtR3JvdXAucmVtb3ZlQ29udHJvbChcIklzTXVsdGlBdHRhY2hcIik7XHJcbiAgICAgIHRoaXMuZmllbGRGb3JtR3JvdXAucmVtb3ZlQ29udHJvbChcIkFsbG93ZWRFeHRlbnNpb25zXCIpO1xyXG4gICAgICB0aGlzLmZpZWxkRm9ybUdyb3VwLmFkZENvbnRyb2woJ0ltZ05hbWUnLCBuZXcgVW50eXBlZEZvcm1Db250cm9sKCh0aGlzLmZpZWxkIGFzIEltYWdlRmllbGQpLkltZ05hbWUsIFZhbGlkYXRvcnMucmVxdWlyZWQpKTtcclxuICAgICAgdGhpcy5maWVsZEZvcm1Hcm91cC5hZGRDb250cm9sKCdDb250ZXh0dWFsQXR0YWNobWVudCcsIG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woKHRoaXMuZmllbGQgYXMgSW1hZ2VGaWVsZCkuQ29udGV4dHVhbEF0dGFjaG1lbnQsIFZhbGlkYXRvcnMucmVxdWlyZWQpKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZmllbGRGb3JtR3JvdXAucmVtb3ZlQ29udHJvbChcIkltZ05hbWVcIik7XHJcbiAgICAgIHRoaXMuZmllbGRGb3JtR3JvdXAucmVtb3ZlQ29udHJvbChcIkNvbnRleHR1YWxBdHRhY2htZW50XCIpO1xyXG4gICAgICB0aGlzLmZpZWxkRm9ybUdyb3VwLmFkZENvbnRyb2woJ0lzTXVsdGlBdHRhY2gnLCBuZXcgVW50eXBlZEZvcm1Db250cm9sKCh0aGlzLmZpZWxkIGFzIEltYWdlRmllbGQpLkF0dGFjaERlZmluaXRpb24uSXNNdWx0aUF0dGFjaCkpO1xyXG4gICAgICB0aGlzLmZpZWxkRm9ybUdyb3VwLmFkZENvbnRyb2woXCJBbGxvd2VkRXh0ZW5zaW9uc1wiLCBuZXcgVW50eXBlZEZvcm1Db250cm9sKCh0aGlzLmZpZWxkIGFzIEltYWdlRmllbGQpLkF0dGFjaERlZmluaXRpb24uQWxsb3dlZEV4dGVuc2lvbnMpKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE1ldG9kbyBwZXIgaW50ZXJjZXR0YXJlIGwnYWdnaXVudGEgZGkgdW4gYWxsZWdhdG8gbmVpIGNhbXBpIGRpIHRpcG8gSW1tYWdpbmUgcGVyIGFnZ2lvcm5hcmVcclxuICAgKiBpbCB2YWxvcmUgZGVsbGEgcHJvcHJpZXTDoCBDb250ZXh0dWFsQXR0YWNobWVudCBlIGxhIHZhbGlkYXppb25lIGRlbCByZWxhdGl2byBGb3JtQ29udHJvbC5cclxuICAgKiBAcGFyYW0gZXZlbnQgQXJyYXkgY29udGVuZW50ZSBsJ2VsZW5jbyBhZ2dpb3JuYXRvIGRlZ2xpIGFsbGVnYXRpIGNhcmljYXRpIChuZWwgbm9zdHJvIGNhc28gbmUgY29udGllbmUgYWwgcGnDuSAxKS5cclxuICAgKi9cclxuICBjYXRjaENvbnRleHR1YWxBdHRhY2htZW50Q2hhbmdlKGV2ZW50OiBBcnJheTxJQXR0YWNobWVudERUTz4pIHtcclxuICAgIGlmIChldmVudCAmJiBldmVudC5sZW5ndGggPiAwKSB7XHJcbiAgICAgICh0aGlzLmZpZWxkIGFzIEltYWdlRmllbGQpLkNvbnRleHR1YWxBdHRhY2htZW50ID0gZXZlbnRbMF07XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICAodGhpcy5maWVsZCBhcyBJbWFnZUZpZWxkKS5Db250ZXh0dWFsQXR0YWNobWVudCA9IG51bGw7XHJcbiAgICB9XHJcbiAgICB0aGlzLmZpZWxkRm9ybUdyb3VwLmNvbnRyb2xzWydDb250ZXh0dWFsQXR0YWNobWVudCddLnNldFZhbHVlKCh0aGlzLmZpZWxkIGFzIEltYWdlRmllbGQpLkNvbnRleHR1YWxBdHRhY2htZW50KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE1ldG9kbyBpbnZvY2F0byBhbGxhIHNlbGV6aW9uZSBkaSB1bmEgY2xhc3NlIG5lbGxhIHNlbGVjdCBwZXIgbGUgY29sb25uZSBkaSBib290c3RyYXBcclxuICAgKiBkYSB1c2FyZSBuZWxsYSB2aXN1YWxpenphemlvbmUgZGVsIGNhbXBvLiBRdWVzdGEgZnVuemlvbmUgbWFuaXBvbGEgbGEgc29yZ2VudGUgZGF0aSBwZXJcclxuICAgKiBsYSBlcXAtc2VsZWN0IGluIG1vZG8gZGEgZXNjbHVkZXJlIGkgdmFsb3JpIGRlbGwnZW51bWVyYXRvcmUgY2hlIGZhbm5vIHJpZmVyaW1lbnRvIGFkXHJcbiAgICogdW5hIGxhcmdoZXp6YSBkaSBzY2hlcm1vIGdpw6Agc2VsZXppb25hdGEuIEVzZW1waW86IHBlciBnbGkgc2NoZXJtaSBwaWNjb2xpIChzbSkgbCd1dGVudGVcclxuICAgKiBzZWxlemlvbmEgbGEgY2xhc3NlIFwiY29sLXNtLTZcIiwgYWwgY2hhbmdlIGRlbCB2YWxvcmUgcXVlc3RvIG1ldG9kbyByaW11b3ZlIGRhbGxhIHNlbGVjdFxyXG4gICAqIHR1dHRpIGdsaSBhbHRyaSB2YWxvcmkgcGVyIGxhIGdyYW5kZXp6YSBkaSBzY2hlcm1vIHNlbGV6aW9uYXRhLlxyXG4gICAqL1xyXG4gIG9uQ29sU3BhblNpemVTZWxlY3QoKSB7XHJcbiAgICAvLyBSZWN1cGVybyBsJ2FycmF5IGRlZ2xpIG9nZ2V0dGkgY2hpYXZlLXZhbG9yZSBjaGUgcmFwcHJlc2V0YSBsJ2VudW1lcmF0b3JlXHJcbiAgICBsZXQgY29sU2l6ZUNsYXNzRW51bUFycmF5ID0gdGhpcy5lbnVtSGVscGVyLmdldEVudW1BcnJheShDb2xTcGFuU2l6ZXNFbnVtLCBmYWxzZSwgbnVsbCk7XHJcbiAgICAvLyBDb3N0cnVpc2NvIGwnYXJyYXkgZGVsbGUgY2xhc3NpIHNlbGV6aW9uYXRlIGRhbGwndXRlbnRlIGluIGZvcm1hdG8gc3RyaW5nYVxyXG4gICAgbGV0IHNlbGVjdGVkRGltZW5zaW9uczogQXJyYXk8c3RyaW5nPiA9IHRoaXMuZmllbGQuQ29sU3BhblNpemVzID8gdGhpcy5maWVsZC5Db2xTcGFuU2l6ZXMubWFwKGNvbCA9PiBDb2xTcGFuU2l6ZXNFbnVtW2NvbF0pIDogW107XHJcbiAgICAvLyBGaWx0cm8gaSB2YWxvcmkgb3R0ZW51dGkgZGFsbCdlbnVtZXJhdG9yZSBwZXIgZXNjbHVkZXJlIHR1dHRpIGkgdmFsb3JpIHBlciBsZVxyXG4gICAgLy8gZ3JhbmRlenplIGRpIHNjaGVybW8gZ2nDoCBzZWxlemlvbmF0ZWFkIGVzY2x1c2lvbmUgZGVpIHZhbG9yaSBzZWxlemlvbmF0aS5cclxuICAgIHRoaXMuYXZhaWxhYmxlQ29sU3BhblNpemVzID0gY29sU2l6ZUNsYXNzRW51bUFycmF5LmZpbHRlcigodmFsdWU6IHsga2V5OiBudW1iZXIsIHZhbHVlOiBzdHJpbmcgfSkgPT5cclxuICAgICAgIXNlbGVjdGVkRGltZW5zaW9ucy5maW5kKGNvbCA9PiB2YWx1ZS52YWx1ZS5pbmNsdWRlcyhjb2wuc3Vic3RyaW5nKDQsIDYpKSAmJiB2YWx1ZS52YWx1ZSAhPSBjb2wpXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTWV0b2RvIGludm9jYXRvIGFsIGNhbWJpbyBkZWwgdGlwbyBkaSB2aXN1YWxpenphemlvbmUgc2NlbHRhIHBlciBpIGNhbXBpIGRpIHRpcG8gZWxlbmNvIGdlbmVyaWNvLlxyXG4gICAqIFNlIHZpZW5lIHNjZWx0YSBsYSB2aXN1YWxpenphemlvbmUgYWQgaW1tYWdpbmkgc3Z1b3RhIGxhIGxpc3RhIGRlbGxlIGNvcHBpZSBjaGlhdmUtdmFsb3JlIGluc2VyaXRlXHJcbiAgICogaW4gcHJlY2VkZW56YSwgYWx0cmltZW50aSBzdnVvdGEgbGEgbGlzdGEgZGVsbGUgaW1tYWdpbmkgY2FyaWNhdGUuXHJcbiAgICovXHJcbiAgb25QcmVzZW50YXRpb25Nb2RlQ2hhbmdlKCkge1xyXG4gICAgaWYgKCh0aGlzLmZpZWxkIGFzIExpc3RWYWx1ZUZpZWxkKS5QcmVzZW50YXRpb25Nb2RlID09PSBMaXN0UHJlc2VudGF0aW9uRW51bS5JbW1hZ2luaSkge1xyXG4gICAgICAodGhpcy5maWVsZCBhcyBMaXN0VmFsdWVGaWVsZCkuVmFsdWVQYWlycyA9IG51bGw7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICAodGhpcy5maWVsZCBhcyBMaXN0VmFsdWVGaWVsZCkuQnV0dG9uSW1hZ2VMaXN0ID0gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE1ldG9kbyBpbnZvY2F0byBxdWFuZG8gdmllbmUgY2FyaWNhdG8gaWwgY29tcG9uZW50ZSBlcXAtYXR0YWNobWVudHMgcGVyIGNhcmljYXJlIGxlIGltbWFnaW5pIGRhIHVzYXJlIFxyXG4gICAqIG5lbGxhIHZpc3VhbGl6emF6aW9uZSBhZCBpbW1hZ2luaSBkZWkgY2FtcGkgZGkgdGlwbyBcIkVsZW5jbyBnZW5lcmljb1wiLiBBZ2dpdW5nZSBkdWUgY29sb25uZSBhIHF1ZWxsZVxyXG4gICAqIGNvbmZpZ3VyYXRlIG5lbCBjb21wb25lbnRlIGluIGN1aSBsJ3V0ZW50ZSBwdcOyIGluZGljYXJlIGNoaWF2ZSBlIHZhbG9yZSBkZWxsYSBzY2VsdGEuXHJcbiAgICogQHBhcmFtIGNvbXBvbmVudCBJc3RhbnphIGRlbCBjb21wb25lbnRlIGVxcC1hdHRhY2htZW50cyBpbiBjdWkgZWZmZXR0dWFyZSBsYSBtb2RpZmljYS5cclxuICAgKi9cclxuICBjb25maWd1cmVCdXR0b25JbWFnZXNDb2x1bW5zKGNvbXBvbmVudDogRXFwQXR0YWNobWVudHNDb21wb25lbnQpIHtcclxuICAgIGNvbXBvbmVudC5hdHRhY2htZW50c0NvbHVtbnMuc3BsaWNlKFxyXG4gICAgICBjb21wb25lbnQuYXR0YWNobWVudHNDb2x1bW5zLmxlbmd0aCAtIDEsIDAsXHJcbiAgICAgIHsga2V5OiBcIkJ1dHRvbktleVwiLCBkaXNwbGF5OiBcIkxhYmVsXCIsIHR5cGU6IFR5cGVDb2x1bW4uRXh0ZXJuYWxUZW1wbGF0ZSwgZXh0ZXJuYWxUZW1wbGF0ZTogdGhpcy5idXR0b25JbWFnZXNLZXlWYWx1ZUlucHV0Q29sdW1uIH1cclxuICAgICk7XHJcbiAgICBjb21wb25lbnQuYXR0YWNobWVudHNDb2x1bW5zLnNwbGljZShcclxuICAgICAgY29tcG9uZW50LmF0dGFjaG1lbnRzQ29sdW1ucy5sZW5ndGggLSAxLCAwLFxyXG4gICAgICB7IGtleTogXCJCdXR0b25WYWx1ZVwiLCBkaXNwbGF5OiBcIlZhbG9yZVwiLCB0eXBlOiBUeXBlQ29sdW1uLkV4dGVybmFsVGVtcGxhdGUsIGV4dGVybmFsVGVtcGxhdGU6IHRoaXMuYnV0dG9uSW1hZ2VzS2V5VmFsdWVJbnB1dENvbHVtbiB9XHJcbiAgICApO1xyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTWV0b2RvIGludm9jYXRvIGFsIHNhbHZhdGFnZ2lvIGRlZ2xpIGFsbGVnYXRpIHF1YW5kbyB2aWVuZSBjb25maWd1cmF0byB1biBjYW1wbyBkaSB0aXBvIFwiRWxlbmNvIGdlbmVyaWNvXCJcclxuICAgKiBjb24gaWwgdGlwbyBkaSB2aXN1YWxpenphemlvbmUgYWQgaW1tYWdpbmkuIEludGVyY2V0dGEgbCdlbGVuY28gYWdnaW9ybmF0byBkZWxsZSBpbW1hZ2luaSBjYXJpY2F0ZSBlIGxvXHJcbiAgICogbWVtb3JpenphIG5lbGwnb2dnZXR0byBmaWVsZCBjb3JyZW50ZS5cclxuICAgKiBAcGFyYW0gYXR0YWNobWVudHMgQXJyYXkgYWdnaW9ybmF0byBkZWdsaSBhbGxlZ2F0aSBjYXJpY2F0aS5cclxuICAgKi9cclxuICBjYXRjaEJ1dHRvbkltYWdlc0NoYW5nZShhdHRhY2htZW50czogQXJyYXk8SUF0dGFjaG1lbnREVE8+KSB7XHJcbiAgICAodGhpcy5maWVsZCBhcyBMaXN0VmFsdWVGaWVsZCkuQnV0dG9uSW1hZ2VMaXN0ID0gKGF0dGFjaG1lbnRzIGFzIEFycmF5PEJ1dHRvbkltYWdlPik7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBNZXRvZG8gY2hpYW1hdG8gYWwga2V5dXAgZGVnbGkgaW5wdXQgdGVzdHVhbGkgY2hlIHByZXZlZG9ubyBsJ2FnZ2l1bnRhIGRlbCB2YWxvcmUgaW5zZXJpdG8gaW4gdW4gYXJyYXkuXHJcbiAgICogU2UgbCd1dGVudGUgcHJlbWUgaWwgdGFzdG8gaW52aW8sIGluIGJhc2UgYWwgdGlwbyBkaSBjYW1wbyBjaGUgc3RhIGluc2VyZW5kby9tb2RpZmljYW5kbywgcXVlc3RvIG1ldG9kb1xyXG4gICAqIGFnZ2l1bmdlIGlsIHZhbG9yZSBpbnNlcml0byBkYWxsJ3V0ZW50ZSBuZWxsYSBsaXN0YSBkaSBzdHJpbmdoZSBjb3JyZXR0YSAoaW4gaW5wdXQgdmllbmUgcGFzc2F0byBpbCBub21lXHJcbiAgICogZGVsbGEgcHJvcHJpZXTDoCBpbiBjdWkgaW5zZXJpcmUgbGEgc3RyaW5nYSkuXHJcbiAgICogQHBhcmFtIGV2ZW50IEV2ZW50byBjaGUgcmFwcHJlc2VudGEgaWwga2V5dXAgZGVsbCd1dGVudGVcclxuICAgKiBAcGFyYW0gcHJvcGVydHlOYW1lIE5vbWUgZGVsbGEgcHJvcHJpZXTDoCBkZWwgZmllbGQgaW4gY3VpIGluc2VyaXJlIGxhIHN0cmluZ2EgZGlnaXRhdGEuXHJcbiAgICovXHJcbiAgb25NdWx0aVNlbGVjdElucHV0S2V5dXAoZXZlbnQsIHByb3BlcnR5TmFtZTogc3RyaW5nKSB7XHJcbiAgICBpZiAoZXZlbnQuY29kZSA9PT0gJ0VudGVyJyB8fCBldmVudC5jb2RlID09PSAnTnVtcGFkRW50ZXInKSB7XHJcbiAgICAgIHN3aXRjaCAodGhpcy5maWVsZC5GaWVsZFR5cGUpIHtcclxuICAgICAgICBjYXNlIEZpZWxkVHlwZUVudW0uTG9va3VwOlxyXG4gICAgICAgIGNhc2UgRmllbGRUeXBlRW51bS5BbGxlZ2F0bzpcclxuICAgICAgICAgIGlmICghdGhpcy5maWVsZFtwcm9wZXJ0eU5hbWVdKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZmllbGRbcHJvcGVydHlOYW1lXSA9IG5ldyBBcnJheTxzdHJpbmc+KCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICB0aGlzLmZpZWxkW3Byb3BlcnR5TmFtZV0ucHVzaChldmVudC5jdXJyZW50VGFyZ2V0LnZhbHVlKTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgRmllbGRUeXBlRW51bS5JbW1hZ2luZTpcclxuICAgICAgICAgIGlmICghKHRoaXMuZmllbGQgYXMgSW1hZ2VGaWVsZCkuQXR0YWNoRGVmaW5pdGlvbltwcm9wZXJ0eU5hbWVdKSB7XHJcbiAgICAgICAgICAgICh0aGlzLmZpZWxkIGFzIEltYWdlRmllbGQpLkF0dGFjaERlZmluaXRpb25bcHJvcGVydHlOYW1lXSA9IG5ldyBBcnJheTxzdHJpbmc+KCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICAodGhpcy5maWVsZCBhcyBJbWFnZUZpZWxkKS5BdHRhY2hEZWZpbml0aW9uW3Byb3BlcnR5TmFtZV0ucHVzaChldmVudC5jdXJyZW50VGFyZ2V0LnZhbHVlKTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgRmllbGRUeXBlRW51bVsnRWxlbmNvIGdlbmVyaWNvJ106XHJcbiAgICAgICAgIFxyXG4gICAgICAgICAgaWYgKCF0aGlzLmtleVZhbHVlT2JqZWN0LmtleSB8fCAhdGhpcy5rZXlWYWx1ZU9iamVjdC52YWx1ZSkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZiAoISh0aGlzLmZpZWxkIGFzIExpc3RWYWx1ZUZpZWxkKS5WYWx1ZVBhaXJzKSB7XHJcbiAgICAgICAgICAgICh0aGlzLmZpZWxkIGFzIExpc3RWYWx1ZUZpZWxkKS5WYWx1ZVBhaXJzID0ge307XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICAodGhpcy5maWVsZCBhcyBMaXN0VmFsdWVGaWVsZCkuVmFsdWVQYWlyc1t0aGlzLmtleVZhbHVlT2JqZWN0LmtleV0gPSB0aGlzLmtleVZhbHVlT2JqZWN0LnZhbHVlO1xyXG4gICAgICAgICAgdGhpcy5rZXlWYWx1ZU9iamVjdCA9IHsga2V5OiAnJywgdmFsdWU6ICcnIH07XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgfVxyXG4gICAgICBldmVudC5jdXJyZW50VGFyZ2V0LnZhbHVlID0gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE1ldG9kbyBjaGlhbWF0byBwZXIgbW9zdHJhcmUgY29tZSBlbGVuY28gbGUgb3B6aW9uaSBhZ2dpdW50ZSBpbiB1biBjYW1wbyBkaSB0aXBvIFwiRWxlbmNvIGdlbmVyaWNvXCIuXHJcbiAgICogQHJldHVybnMgUmVzdGl0dWlzY2UgdW4gYXJyYXkgZGkgb2dnZXR0aSBkZWwgdGlwbyB7IGtleTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nIH0gY29uIGkgdmFsb3JpIGluc2VyaXRpIGRhbGwndXRlbnRlLlxyXG4gICAqL1xyXG4gIGdldERpY3Rpb25hcnlLZXlWYWx1ZSgpIHtcclxuICAgIGlmICgodGhpcy5maWVsZCBhcyBMaXN0VmFsdWVGaWVsZCkuVmFsdWVQYWlycykge1xyXG5cclxuICAgICAgcmV0dXJuIE9iamVjdC5rZXlzKCh0aGlzLmZpZWxkIGFzIExpc3RWYWx1ZUZpZWxkKS5WYWx1ZVBhaXJzKS5tYXAoayA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgIGtleTogayxcclxuICAgICAgICAgIHZhbHVlOiAodGhpcy5maWVsZCBhcyBMaXN0VmFsdWVGaWVsZCkuVmFsdWVQYWlyc1trXVxyXG5cclxuICAgICAgICB9O1xyXG4gICAgICB9KTtcclxuXHJcblxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIFtdO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTWV0b2RvIHBlciByaW11b3ZlcmUgdW5hIG9wemlvbmUgYWdnaXVudGEgYWwgY2FtcG8gZGkgdGlwbyBcIkVsZW5jbyBnZW5lcmljb1wiXHJcbiAgICogQHBhcmFtIGtleSBOb21lIGRlbGxhIGNoaWF2ZSBkYSByaW11b3ZlcmVcclxuICAgKi9cclxuICBkZWxldGVLZXlGcm9tRGljdGlvbmFyeShrZXk6IHN0cmluZykge1xyXG4gICAgZGVsZXRlICh0aGlzLmZpZWxkIGFzIExpc3RWYWx1ZUZpZWxkKS5WYWx1ZVBhaXJzW2tleV07XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBNZXRvZG8gcGVyIGFwcmlyZSBpbCBkaWFsb2cgcGVyIGFnZ2l1bmdlcmUvbW9kaWZpY2FyZSB1biBtZXRhZGF0YSBpbiB1biBjYW1wbyBkaSB0aXBvIEFsbGVnYXRvIG8gSW1tYWdpbmUuXHJcbiAgICogQHBhcmFtIG1ldGFkYXRhIE1ldGFkYXRhIGRhIG1vZGlmaWNhcmUsIHNlIG51bGwgYWxsb3JhIG5lIHN0byBjcmVhbmRvIHVubyBudW92by5cclxuICAgKi9cclxuICAvLyBvcGVuTWV0YWRhdGFEaWFsb2coZmllbGQ6IEJhc2VGaWVsZCA9IG51bGwpIHtcclxuICAvLyAgIGlmIChmaWVsZCkge1xyXG4gIC8vICAgICBpZiAodGhpcy5maWVsZC5GaWVsZFR5cGUgPT09IEZpZWxkVHlwZUVudW0uQWxsZWdhdG8pIHtcclxuICAvLyAgICAgICB0aGlzLmluZGV4U2VsZWN0ZWRNZXRhZGF0YSA9ICh0aGlzLmZpZWxkIGFzIEF0dGFjaG1lbnRGaWVsZCkuTWV0YWRhdGFGaWVsZHMuaW5kZXhPZihmaWVsZCk7XHJcbiAgLy8gICAgICAgdGhpcy5zZWxlY3RlZE1ldGFkYXRhID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShmaWVsZCkpO1xyXG4gIC8vICAgICB9IGVsc2UgaWYgKHRoaXMuZmllbGQuRmllbGRUeXBlID09PSBGaWVsZFR5cGVFbnVtLkltbWFnaW5lKSB7XHJcbiAgLy8gICAgICAgdGhpcy5pbmRleFNlbGVjdGVkTWV0YWRhdGEgPSAodGhpcy5maWVsZCBhcyBJbWFnZUZpZWxkKS5BdHRhY2hEZWZpbml0aW9uLk1ldGFkYXRhRmllbGRzLmluZGV4T2YoZmllbGQpO1xyXG4gIC8vICAgICAgIHRoaXMuc2VsZWN0ZWRNZXRhZGF0YSA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoZmllbGQpKTtcclxuICAvLyAgICAgfVxyXG4gIC8vICAgfSBlbHNlIHtcclxuICAvLyAgICAgdGhpcy5zZWxlY3RlZE1ldGFkYXRhID0gbmV3IEJhc2VGaWVsZCgpO1xyXG4gIC8vICAgICB0aGlzLmluZGV4U2VsZWN0ZWRNZXRhZGF0YSA9IG51bGw7XHJcbiAgLy8gICB9XHJcbiAgLy8gICB0aGlzLmRpYWxvZ01ldGFkYXRhUmVmID0gdGhpcy5kaWFsb2cub3Blbih0aGlzLmRpYWxvZ01ldGFkYXRhLCB7XHJcbiAgLy8gICAgIGRpc2FibGVDbG9zZTogdHJ1ZSxcclxuICAvLyAgICAgaGFzQmFja2Ryb3A6IHRydWUsXHJcbiAgLy8gICAgIHdpZHRoOiAnNzUlJ1xyXG4gIC8vICAgfSk7XHJcbiAgLy8gfVxyXG4gIG9wZW5Gb3JtdWxhRGlhbG9nKCkge1xyXG4gICAgdGhpcy5kaWFsb2dGb3JtdWxhUmVmID0gdGhpcy5kaWFsb2cub3Blbih0aGlzLmRpYWxvZ0Zvcm11bGEsIHtcclxuICAgICAgZGlzYWJsZUNsb3NlOiB0cnVlLFxyXG4gICAgICBoYXNCYWNrZHJvcDogdHJ1ZSxcclxuICAgICAgd2lkdGg6ICc3NSUnLFxyXG4gICAgICBkYXRhOiB7XHJcbiAgICAgICAgZmllbGRzOiB0aGlzLmF2YWlsYWJsZUZpZWxkcyxcclxuICAgICAgICBmb3JtdWxhOiB0aGlzLmZpZWxkLkZvcm11bGFcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICB0aGlzLmRpYWxvZ0Zvcm11bGFSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUocmVzdWx0ID0+IHtcclxuICAgICAgdGhpcy5maWVsZC5Gb3JtdWxhID0gcmVzdWx0LmZvcm11bGEudG9TdHJpbmcoKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgb3BlblZpc2libGVJZkRpYWxvZygpIHtcclxuICAgIHRoaXMuZGlhbG9nVmlzaWJsZUlmUmVmID0gdGhpcy5kaWFsb2cub3Blbih0aGlzLmRpYWxvZ0Zvcm11bGEsIHtcclxuICAgICAgZGlzYWJsZUNsb3NlOiB0cnVlLFxyXG4gICAgICBoYXNCYWNrZHJvcDogdHJ1ZSxcclxuICAgICAgd2lkdGg6ICc3NSUnLFxyXG4gICAgICBkYXRhOiB7XHJcbiAgICAgICAgZmllbGRzOiB0aGlzLmF2YWlsYWJsZUZpZWxkcyxcclxuICAgICAgICBmb3JtdWxhOiB0aGlzLmZpZWxkLlZpc2libGVJZlxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHRoaXMuZGlhbG9nVmlzaWJsZUlmUmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKHJlc3VsdCA9PiB7XHJcbiAgICAgIHRoaXMuZmllbGQuVmlzaWJsZUlmID0gcmVzdWx0LmZvcm11bGEudG9TdHJpbmcoKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgc3RyaW5nU2FuaXRpemVyKHZhbHVlKSB7XHJcbiAgICBpZiAoIVV0aWxpdHlIZWxwZXJTZXJ2aWNlLnN0cmluZ1Nhbml0aXplcih2YWx1ZSkpIHtcclxuICAgICAgLy8gYWxlcnQoXCJlcnJvcmUhXCIpO1xyXG4gICAgfVxyXG5cclxuICB9XHJcbiAgLyoqXHJcbiAgICogTWV0b2RvIGludm9jYXRvIGRhbGwnb3V0cHV0IGRhbCBkaWFsb2cgcGVyIGFnZ2l1bmdlcmUvbW9kaWZpY2FyZSB1biBtZXRhZGF0YVxyXG4gICAqIG5laSBjYW1waSBkaSB0aXBvIEFsbGVnYXRvIG8gSW1tYWdpbmUuIFByaW1hIGRpIGFnZ2l1bmdlcmUgaWwgbWV0YWRhdGEgbmVsbCdlbGVuY29cclxuICAgKiBjb250b2xsYSBzZSBlc2lzdGUgdW4gYWx0cm8gbWV0YWRhdGEgY29uIGxvIHN0ZXNzbyBub21lIGUgbmVsIGNhc28gZ2VuZXJhIHVuIGVycm9yZVxyXG4gICAqIChpIG1ldGFkYXRhLCBjb21lIHBlciBpIGNhbXBpIGRlbGxhIGZvcm0sIGRldm9ubyBhdmVyZSB1biBub21lIHVuaXZvY28pLlxyXG4gICAqIEBwYXJhbSBtZXRhZGF0YSBNZXRhZGF0YSBhZ2dpdW50byBvIG1vZGlmaWNhdG8sIHNlIG51bGwgYWxsb3JhIGlsIGRpYWxvZyDDqCBzdGF0byBjaGl1c28gc2VuemEgZmFyZSBtb2RpZmljaGUuXHJcbiAgICovXHJcbiAgLy8gb25TYXZlTWV0YWRhdGEobWV0YWRhdGE6IEJhc2VGaWVsZCkge1xyXG4gIC8vICAgaWYgKG1ldGFkYXRhKSB7XHJcbiAgLy8gICAgIGlmIChcclxuICAvLyAgICAgICAodGhpcy5maWVsZC5GaWVsZFR5cGUgPT09IEZpZWxkVHlwZUVudW0uQWxsZWdhdG9cclxuICAvLyAgICAgICAgICYmICh0aGlzLmZpZWxkIGFzIEF0dGFjaG1lbnRGaWVsZCkuTWV0YWRhdGFGaWVsZHNcclxuICAvLyAgICAgICAgICYmICh0aGlzLmZpZWxkIGFzIEF0dGFjaG1lbnRGaWVsZCkuTWV0YWRhdGFGaWVsZHMuZmluZChcclxuICAvLyAgICAgICAgICAgKG0sIGkpID0+IG0uTGFiZWwgPT09IG1ldGFkYXRhLkxhYmVsXHJcbiAgLy8gICAgICAgICAgICAgJiYgKHRoaXMuaW5kZXhTZWxlY3RlZE1ldGFkYXRhID09IG51bGwgPyB0cnVlIDogdGhpcy5pbmRleFNlbGVjdGVkTWV0YWRhdGEgIT09IGkpXHJcbiAgLy8gICAgICAgICApXHJcbiAgLy8gICAgICAgKSB8fFxyXG4gIC8vICAgICAgICh0aGlzLmZpZWxkLkZpZWxkVHlwZSA9PT0gRmllbGRUeXBlRW51bS5JbW1hZ2luZVxyXG4gIC8vICAgICAgICAgJiYgKHRoaXMuZmllbGQgYXMgSW1hZ2VGaWVsZCkuQXR0YWNoRGVmaW5pdGlvbi5NZXRhZGF0YUZpZWxkc1xyXG4gIC8vICAgICAgICAgJiYgKHRoaXMuZmllbGQgYXMgSW1hZ2VGaWVsZCkuQXR0YWNoRGVmaW5pdGlvbi5NZXRhZGF0YUZpZWxkcy5maW5kKFxyXG4gIC8vICAgICAgICAgICAobSwgaSkgPT4gbS5MYWJlbCA9PT0gbWV0YWRhdGEuTGFiZWxcclxuICAvLyAgICAgICAgICAgICAmJiAodGhpcy5pbmRleFNlbGVjdGVkTWV0YWRhdGEgPT0gbnVsbCA/IHRydWUgOiB0aGlzLmluZGV4U2VsZWN0ZWRNZXRhZGF0YSAhPT0gaSlcclxuICAvLyAgICAgICAgIClcclxuICAvLyAgICAgICApXHJcbiAgLy8gICAgICkge1xyXG4gIC8vICAgICAgIEVxcER5bmFtaWNNb2R1bGVEaWFsb2dTZXJ2aWNlLldhcm5pbmcoJ0ltcG9zc2liaWxlIGluc2VyaXJlIGR1ZSBtZXRhZGF0YSBjb24gbGEgc3Rlc3NhIGxhYmVsLicpO1xyXG4gIC8vICAgICAgIHRocm93IG5ldyBFcnJvcignSW1wb3NzaWJpbGUgaW5zZXJpcmUgZHVlIG1ldGFkYXRhIGNvbiBsYSBzdGVzc2EgbGFiZWwuJyk7XHJcbiAgLy8gICAgIH1cclxuXHJcbiAgLy8gICAgIGlmICh0aGlzLmluZGV4U2VsZWN0ZWRNZXRhZGF0YSAhPSBudWxsICYmIHRoaXMuaW5kZXhTZWxlY3RlZE1ldGFkYXRhID49IDApIHtcclxuICAvLyAgICAgICBpZiAodGhpcy5maWVsZC5GaWVsZFR5cGUgPT09IEZpZWxkVHlwZUVudW0uQWxsZWdhdG8pIHtcclxuICAvLyAgICAgICAgICh0aGlzLmZpZWxkIGFzIEF0dGFjaG1lbnRGaWVsZCkuTWV0YWRhdGFGaWVsZHNbdGhpcy5pbmRleFNlbGVjdGVkTWV0YWRhdGFdID0gbWV0YWRhdGE7XHJcbiAgLy8gICAgICAgfSBlbHNlIGlmICh0aGlzLmZpZWxkLkZpZWxkVHlwZSA9PT0gRmllbGRUeXBlRW51bS5JbW1hZ2luZSkge1xyXG4gIC8vICAgICAgICAgKHRoaXMuZmllbGQgYXMgSW1hZ2VGaWVsZCkuQXR0YWNoRGVmaW5pdGlvbi5NZXRhZGF0YUZpZWxkc1t0aGlzLmluZGV4U2VsZWN0ZWRNZXRhZGF0YV0gPSBtZXRhZGF0YTtcclxuICAvLyAgICAgICB9XHJcbiAgLy8gICAgIH0gZWxzZSB7XHJcbiAgLy8gICAgICAgaWYgKHRoaXMuZmllbGQuRmllbGRUeXBlID09PSBGaWVsZFR5cGVFbnVtLkFsbGVnYXRvKSB7XHJcbiAgLy8gICAgICAgICBpZiAoISh0aGlzLmZpZWxkIGFzIEF0dGFjaG1lbnRGaWVsZCkuTWV0YWRhdGFGaWVsZHMpIHtcclxuICAvLyAgICAgICAgICAgKHRoaXMuZmllbGQgYXMgQXR0YWNobWVudEZpZWxkKS5NZXRhZGF0YUZpZWxkcyA9IG5ldyBBcnJheTxCYXNlRmllbGQ+KCk7XHJcbiAgLy8gICAgICAgICB9XHJcbiAgLy8gICAgICAgICAodGhpcy5maWVsZCBhcyBBdHRhY2htZW50RmllbGQpLk1ldGFkYXRhRmllbGRzLnB1c2gobWV0YWRhdGEpO1xyXG4gIC8vICAgICAgIH0gZWxzZSBpZiAodGhpcy5maWVsZC5GaWVsZFR5cGUgPT09IEZpZWxkVHlwZUVudW0uSW1tYWdpbmUpIHtcclxuICAvLyAgICAgICAgIGlmICghKHRoaXMuZmllbGQgYXMgSW1hZ2VGaWVsZCkuQXR0YWNoRGVmaW5pdGlvbi5NZXRhZGF0YUZpZWxkcykge1xyXG4gIC8vICAgICAgICAgICAodGhpcy5maWVsZCBhcyBJbWFnZUZpZWxkKS5BdHRhY2hEZWZpbml0aW9uLk1ldGFkYXRhRmllbGRzID0gbmV3IEFycmF5PEJhc2VGaWVsZD4oKTtcclxuICAvLyAgICAgICAgIH1cclxuICAvLyAgICAgICAgICh0aGlzLmZpZWxkIGFzIEltYWdlRmllbGQpLkF0dGFjaERlZmluaXRpb24uTWV0YWRhdGFGaWVsZHMucHVzaChtZXRhZGF0YSk7XHJcbiAgLy8gICAgICAgfVxyXG4gIC8vICAgICB9XHJcbiAgLy8gICB9XHJcbiAgLy8gICB0aGlzLmRpYWxvZ01ldGFkYXRhUmVmLmNsb3NlKCk7XHJcbiAgLy8gICB0aGlzLnNldE1ldGFkYXRhT3JkaW5hbFBvc2l0aW9uKCk7XHJcbiAgLy8gICB0aGlzLnJlbG9hZE1ldGFkYXRhVGFibGUoKTtcclxuICAvLyB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE1ldG9kbyBwZXIgZGlzYWJpbGl0YXJlIGlsIHB1bHNhbnRlIHBlciBzYWx2YXJlIGlsIGNhbXBvIGluc2VyaXRvL21vZGlmaWNhdG8uXHJcbiAgICogQHJldHVybnMgUmVzdGl0dWlzY2UgdW4gYm9vbGVhbm8sIHNlIHRydWUgaWwgc2FsdmF0YWdnaW8gdmllbmUgZGlzYWJpbGl0YXRvLlxyXG4gICAqL1xyXG4gICBkaXNhYmxlU2F2ZUZpZWxkKCk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKHRoaXMuZmllbGRGb3JtR3JvdXAuaW52YWxpZCkge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICBzd2l0Y2ggKHRoaXMuZmllbGQuRmllbGRUeXBlKSB7XHJcblxyXG4gICAgICBjYXNlIEZpZWxkVHlwZUVudW1bJ0VsZW5jbyBnZW5lcmljbyddOlxyXG4gICAgICAgIGlmICgodGhpcy5maWVsZCBhcyBMaXN0VmFsdWVGaWVsZCkuUHJlc2VudGF0aW9uTW9kZSAhPSBMaXN0UHJlc2VudGF0aW9uRW51bS5JbW1hZ2luaSkge1xyXG4gICAgICAgICAgaWYoKHRoaXMuZmllbGQgYXMgTGlzdFZhbHVlRmllbGQpLkZvcm11bGEhPSB1bmRlZmluZWQgJiYgKHRoaXMuZmllbGQgYXMgTGlzdFZhbHVlRmllbGQpLkZvcm11bGEhPSBcIlwiICl7XHJcbiAgICAgICAgICAgIGlmICghKHRoaXMuZmllbGQgYXMgTGlzdFZhbHVlRmllbGQpLlZhbHVlUGFpcnMpIHtcclxuICAgICAgICAgICAgICAodGhpcy5maWVsZCBhcyBMaXN0VmFsdWVGaWVsZCkuVmFsdWVQYWlycyA9IHt9O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIFxyXG4gICAgICAgICAgcmV0dXJuICEodGhpcy5maWVsZCBhcyBMaXN0VmFsdWVGaWVsZCkuVmFsdWVQYWlycyB8fCAodGhpcy5maWVsZCBhcyBMaXN0VmFsdWVGaWVsZCkuVmFsdWVQYWlycy5sZW5ndGggPT09IDA7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICAgICEodGhpcy5maWVsZCBhcyBMaXN0VmFsdWVGaWVsZCkuQnV0dG9uSW1hZ2VMaXN0XHJcbiAgICAgICAgICAgIHx8ICh0aGlzLmZpZWxkIGFzIExpc3RWYWx1ZUZpZWxkKS5CdXR0b25JbWFnZUxpc3QubGVuZ3RoID09PSAwXHJcbiAgICAgICAgICAgIHx8ICEhKHRoaXMuZmllbGQgYXMgTGlzdFZhbHVlRmllbGQpLkJ1dHRvbkltYWdlTGlzdC5maW5kKGkgPT4gIWkuQnV0dG9uS2V5IHx8ICFpLkJ1dHRvblZhbHVlKVxyXG4gICAgICAgICAgKTtcclxuICAgICAgICB9XHJcbiAgICAgIGNhc2UgRmllbGRUeXBlRW51bS5Mb29rdXA6XHJcbiAgICAgICAgcmV0dXJuICEodGhpcy5maWVsZCBhcyBMb29rdXBGaWVsZCkuRmllbGROYW1lcyB8fCAodGhpcy5maWVsZCBhcyBMb29rdXBGaWVsZCkuRmllbGROYW1lcy5sZW5ndGggPT09IDA7XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTWV0b2RvIHBlciBzYWx2YXJlIGlsIGNhbXBvIGluc2VyaXRvL21vZGlmaWNhdG8uXHJcbiAgICogU2Ugw6ggc3RhdG8gaW5zZXJpdG8gdW4gZmllbGQgY29uIGxhIHN0ZXNzYSBsYWJlbCB2aWVuZSBnZW5lcmF0byB1biBlcnJvcmUgKGxlIGxhYmVsIGRldm9ubyBlc3NlcmUgdW5pdm9jaGUpLlxyXG4gICAqIFVuYSB2b2x0YSBhZ2dpdW50by9hZ2dpb3JuYXRvIGlsIGNhbXBvIG5lbGwnZWxlbmNvIGRlaSBGaWVsZCBkZWxsYSBGb3JtIGNoaXVkZSBpbCBkaWFsb2cgZSByaWNhcmljYSBsYSB0YWJlbGxhXHJcbiAgICogY2hlIG1vc3RyYSBsJ2VsZW5jbyBkZWkgY2FtcGkgYWdnaXVudGkgYWxsYSBmb3JtLlxyXG4gICAqL1xyXG4gIHNhdmVBbmRFeGl0QWRkRmllbGQoc2F2ZTogYm9vbGVhbikge1xyXG4gICAgaWYgKHNhdmUpIHtcclxuICAgICAgdGhpcy5zYXZlRmllbGRFdmVudC5lbWl0KHRoaXMuZmllbGQpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zYXZlRmllbGRFdmVudC5lbWl0KG51bGwpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTWV0b2RvIHBlciByaXByaXN0aW5hcmUgbCdvZ2dldHRvIGZpZWxkIGFsIGNhbWJpbyBkZWwgdGlwbyBzZWxlemlvbmF0by5cclxuICAgKiBMYXNjaWEgdmFsb3JpenphdGUgc29sbyBsZSBwcm9wcmlldMOgIGRlbGwnb2dnZXR0byBCYXNlRmllbGQgY29tdW5lIGEgdHV0dGkgaSB0aXBpIGRpIGNhbXBvLlxyXG4gICAqL1xyXG4gIHByaXZhdGUgcmVzdG9yZUJhc2VGaWVsZFByb3BlcnRpZXMoKSB7XHJcbiAgICBpZiAodGhpcy5maWVsZCkge1xyXG4gICAgICBjb25zdCB0bXBCYXNlRmllbGQgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHRoaXMuZmllbGQpKTtcclxuICAgICAgdGhpcy5maWVsZCA9IG5ldyBCYXNlRmllbGQoKTtcclxuICAgICAgdGhpcy5maWVsZC5MYWJlbCA9IHRtcEJhc2VGaWVsZC5MYWJlbDtcclxuICAgICAgdGhpcy5maWVsZC5EZXNjcmlwdGlvbiA9IHRtcEJhc2VGaWVsZC5EZXNjcmlwdGlvbjtcclxuICAgICAgdGhpcy5maWVsZC5SZXF1aXJlZCA9IHRtcEJhc2VGaWVsZC5SZXF1aXJlZDtcclxuICAgICAgdGhpcy5maWVsZC5GaWVsZFR5cGUgPSB0bXBCYXNlRmllbGQuRmllbGRUeXBlO1xyXG4gICAgICB0aGlzLmZpZWxkLkZvcm11bGEgPSB0bXBCYXNlRmllbGQuRm9ybXVsYTtcclxuICAgICAgdGhpcy5maWVsZC5Db2xTcGFuU2l6ZXMgPSB0bXBCYXNlRmllbGQuQ29sU3BhblNpemVzO1xyXG4gICAgICB0aGlzLmZpZWxkLkluTGlzdFZpZXcgPSB0bXBCYXNlRmllbGQuSW5MaXN0VmlldztcclxuICAgICAgdGhpcy5maWVsZC5Ub29sdGlwID0gdG1wQmFzZUZpZWxkLlRvb2x0aXA7XHJcbiAgICAgIHRoaXMuZmllbGQuUmVhZG9ubHkgPSB0bXBCYXNlRmllbGQuUmVhZG9ubHk7XHJcbiAgICAgIHRoaXMuZmllbGQuRmllbGRHcm91cCA9IHRtcEJhc2VGaWVsZC5GaWVsZEdyb3VwO1xyXG4gICAgICB0aGlzLmZpZWxkLlZpc2libGVJZiA9IHRtcEJhc2VGaWVsZC5WaXNpYmxlSWY7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBwcml2YXRlIGNvbmZpZ3VyZUNvbHVtbnMoKSB7XHJcbiAgLy8gICB0aGlzLm1ldGFkYXRhQ29sdW1ucyA9IFtcclxuICAvLyAgICAge1xyXG4gIC8vICAgICAgIGtleTogJ2FjdGlvbicsIGRpc3BsYXk6ICcnLCB0eXBlOiBUeXBlQ29sdW1uLk1lbnVBY3Rpb24sIGJ1dHRvbk1lbnVJY29uOiAnbW9yZV92ZXJ0Jywgc3R5bGVzOiB7IGZsZXg6ICcwIDAgNiUnIH0sXHJcbiAgLy8gICAgICAgYWN0aW9uczogW1xyXG4gIC8vICAgICAgICAgeyBuYW1lOiAnTW9kaWZpY2EnLCBpY29uOiAnZWRpdCcsIGZuOiAoZWxlbWVudCwgaW5kZXgsIGNvbCkgPT4gdGhpcy5vcGVuTWV0YWRhdGFEaWFsb2coZWxlbWVudCkgfSxcclxuICAvLyAgICAgICAgIHsgbmFtZTogJ0VsaW1pbmEnLCBpY29uOiAnZGVsZXRlJywgZm46IChlbGVtZW50LCBpbmRleCwgY29sKSA9PiB0aGlzLmRlbGV0ZU1ldGFkYXRhKGVsZW1lbnQpIH0sXHJcbiAgLy8gICAgICAgXVxyXG4gIC8vICAgICB9LFxyXG4gIC8vICAgICB7IGtleTogJ0ZpZWxkVHlwZScsIGRpc3BsYXk6ICdUaXBvbG9naWEnLCB0eXBlOiBUeXBlQ29sdW1uLkVudW0sIGVudW1Nb2RlbDogRmllbGRUeXBlRW51bSB9LFxyXG4gIC8vICAgICB7IGtleTogJ0xhYmVsJywgZGlzcGxheTogJ0xhYmVsJyB9LFxyXG4gIC8vICAgICB7IGtleTogJ0Rlc2NyaXB0aW9uJywgZGlzcGxheTogJ0Rlc2NyaXppb25lJyB9LFxyXG4gIC8vICAgICB7XHJcbiAgLy8gICAgICAga2V5OiAnUmVxdWlyZWQnLCBkaXNwbGF5OiAnT2JibGlnYXRvcmlvJyxcclxuICAvLyAgICAgICB2YWx1ZTogKGVsZW1lbnQpID0+ICEhZWxlbWVudC5SZXF1aXJlZCxcclxuICAvLyAgICAgICB0eXBlOiBUeXBlQ29sdW1uLkJvb2xlYW4sXHJcbiAgLy8gICAgICAgYm9vbGVhblZhbHVlczoge1xyXG4gIC8vICAgICAgICAgdHJ1ZTogJzxpIGNsYXNzPVwiZmEgZmEtY2hlY2sgc3VjY2Vzcy1jb2xvclwiPjwvaT4nLFxyXG4gIC8vICAgICAgICAgZmFsc2U6ICc8aSBjbGFzcz1cImZhIGZhLWNsb3NlIGVycm9yLWNvbG9yXCI+PC9pPidcclxuICAvLyAgICAgICB9LFxyXG4gIC8vICAgICAgIHN0eWxlczogeyBmbGV4OiAnMCAwIDclJywgY2VsbEFsaWdubWVudDogQ2VsbEFsaWdubWVudEVudW0uQ0VOVEVSIH1cclxuICAvLyAgICAgfSxcclxuICAvLyAgIF07XHJcbiAgLy8gfVxyXG5cclxuICAvKipcclxuICAgKiBNZXRvZG8gcGVyIGVsaW1pbmFyZSB1biBtZXRhZGF0YSBhZ2dpdW50byBwZXIgdW4gY2FtcG8gZGkgdGlwbyBBbGxlZ2F0byBvIEltbWFnaW5lLlxyXG4gICAqIEBwYXJhbSBtZXRhZGF0YSBNZXRhZGF0YSBkYSBlbGltaW5hcmUuXHJcbiAgICovXHJcbiAgLy8gcHJpdmF0ZSBkZWxldGVNZXRhZGF0YShtZXRhZGF0YTogQmFzZUZpZWxkKSB7XHJcbiAgLy8gICBFcXBEeW5hbWljTW9kdWxlRGlhbG9nU2VydmljZS5Db25maXJtKCdFbGltaW5hcmUgaWwgbWV0YWRhdGEgc2VsZXppb25hdG8/JywgKCkgPT4ge1xyXG4gIC8vICAgICBpZiAodGhpcy5maWVsZC5GaWVsZFR5cGUgPT09IEZpZWxkVHlwZUVudW0uQWxsZWdhdG8pIHtcclxuICAvLyAgICAgICAodGhpcy5maWVsZCBhcyBBdHRhY2htZW50RmllbGQpLk1ldGFkYXRhRmllbGRzLnNwbGljZSgodGhpcy5maWVsZCBhcyBBdHRhY2htZW50RmllbGQpLk1ldGFkYXRhRmllbGRzLmluZGV4T2YobWV0YWRhdGEpLCAxKTtcclxuICAvLyAgICAgfSBlbHNlIGlmICh0aGlzLmZpZWxkLkZpZWxkVHlwZSA9PT0gRmllbGRUeXBlRW51bS5JbW1hZ2luZSkge1xyXG4gIC8vICAgICAgICh0aGlzLmZpZWxkIGFzIEltYWdlRmllbGQpLkF0dGFjaERlZmluaXRpb24uTWV0YWRhdGFGaWVsZHMuc3BsaWNlKCh0aGlzLmZpZWxkIGFzIEltYWdlRmllbGQpLkF0dGFjaERlZmluaXRpb24uTWV0YWRhdGFGaWVsZHMuaW5kZXhPZihtZXRhZGF0YSksIDEpO1xyXG4gIC8vICAgICB9XHJcbiAgLy8gICAgIHRoaXMuc2V0TWV0YWRhdGFPcmRpbmFsUG9zaXRpb24oKTtcclxuICAvLyAgICAgdGhpcy5yZWxvYWRNZXRhZGF0YVRhYmxlKCk7XHJcbiAgLy8gICB9LCBmYWxzZSwgJ1JpY2hpZXN0YSBjb25mZXJtYScpO1xyXG4gIC8vIH1cclxuXHJcbiAgLyoqXHJcbiAgICogSW1wb3N0YSBsJ29yZGluYW1lbnRvIGRlaSBtZXRhZGF0YSBhbGwnaW50ZXJubyBkZWkgY2FtcGkgZGkgdGlwbyBBbGxlZ2F0byBlIEltbWFnaW5lLlxyXG4gICAqL1xyXG4gIC8vIHByaXZhdGUgc2V0TWV0YWRhdGFPcmRpbmFsUG9zaXRpb24oKSB7XHJcbiAgLy8gICBpZiAodGhpcy5maWVsZC5GaWVsZFR5cGUgPT09IEZpZWxkVHlwZUVudW0uQWxsZWdhdG8pIHtcclxuICAvLyAgICAgaWYgKCh0aGlzLmZpZWxkIGFzIEF0dGFjaG1lbnRGaWVsZCkuTWV0YWRhdGFGaWVsZHMpIHtcclxuICAvLyAgICAgICAodGhpcy5maWVsZCBhcyBBdHRhY2htZW50RmllbGQpLk1ldGFkYXRhRmllbGRzLmZvckVhY2gobWV0YWRhdGEgPT4ge1xyXG4gIC8vICAgICAgICAgbWV0YWRhdGEuT3JkaW5hbFBvc2l0aW9uID0gKHRoaXMuZmllbGQgYXMgQXR0YWNobWVudEZpZWxkKS5NZXRhZGF0YUZpZWxkcy5pbmRleE9mKG1ldGFkYXRhKTtcclxuICAvLyAgICAgICB9KTtcclxuICAvLyAgICAgfVxyXG4gIC8vICAgfSBlbHNlIGlmICh0aGlzLmZpZWxkLkZpZWxkVHlwZSA9PT0gRmllbGRUeXBlRW51bS5JbW1hZ2luZSkge1xyXG4gIC8vICAgICBpZiAoKHRoaXMuZmllbGQgYXMgSW1hZ2VGaWVsZCkuQXR0YWNoRGVmaW5pdGlvbi5NZXRhZGF0YUZpZWxkcykge1xyXG4gIC8vICAgICAgICh0aGlzLmZpZWxkIGFzIEltYWdlRmllbGQpLkF0dGFjaERlZmluaXRpb24uTWV0YWRhdGFGaWVsZHMuZm9yRWFjaChtZXRhZGF0YSA9PiB7XHJcbiAgLy8gICAgICAgICBtZXRhZGF0YS5PcmRpbmFsUG9zaXRpb24gPSAodGhpcy5maWVsZCBhcyBJbWFnZUZpZWxkKS5BdHRhY2hEZWZpbml0aW9uLk1ldGFkYXRhRmllbGRzLmluZGV4T2YobWV0YWRhdGEpO1xyXG4gIC8vICAgICAgIH0pO1xyXG4gIC8vICAgICB9XHJcbiAgLy8gICB9XHJcbiAgLy8gfVxyXG5cclxuICAvKipcclxuICAgKiBNZXRvZG8gcGVyIHJpY2FyaWNhcmUgaSBkYXRpIGRlbGxhIHRhYmVsbGEgZGVpIG1ldGFkYXRhIHZpc3VhbGl6emF0YSBuZWxsYSBjcmVhemlvbmUvbW9kaWZpY2EgXHJcbiAgICogZGVpIGNhbXBpIGRpIHRpcG8gQWxsZWdhdG8gbyBJbW1hZ2luZS5cclxuICAgKi9cclxuICAvLyBwcml2YXRlIHJlbG9hZE1ldGFkYXRhVGFibGUoKSB7XHJcbiAgLy8gICBpZiAodGhpcy5tZXRhZGF0YUZpZWxkc1RhYmxlKSB7XHJcbiAgLy8gICAgIHRoaXMubWV0YWRhdGFGaWVsZHNUYWJsZS5yZWxvYWREYXRhdGFibGUoKTtcclxuICAvLyAgIH1cclxuICAvLyB9XHJcblxyXG5cclxuXHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImJpZ3dyYXBwZXJcIiBzdHlsZT1cIm1heC1oZWlnaHQ6IDEwMHZoICFpbXBvcnRhbnQ7IG92ZXJmbG93LXg6IGhpZGRlbjsgb3ZlcmZsb3cteTogYXV0bztcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb250YWluZXJIZWFkZXJcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicm93IHRpdGxlXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkZXItdGl0bGUtc3RhbmRhcmRcIj57e2luZGV4RmllbGQgIT0gbnVsbCAmJiBpbmRleEZpZWxkID49IDAgPyBcIk1vZGlmaWNhXCJcclxuICAgICAgICAgICAgICAgIDogXCJBZ2dpdW5naVwifX0gY2FtcG88L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lci1mbHVpZCBjb250YWluZXJDb250ZW50XCI+XHJcbiAgICAgICAgPGZvcm0gW2Zvcm1Hcm91cF09XCJmaWVsZEZvcm1Hcm91cFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTEyIGNvbC1tZC00IG10LTIgdGlwb0NhbXBvXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbD5UaXBvIGNhbXBvICo8L21hdC1sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICA8ZXFwLXNlbGVjdCBbZW51bURhdGFdPVwiRmllbGRUeXBlRW51bVwiIFsobmdNb2RlbElucHV0KV09XCJmaWVsZC5GaWVsZFR5cGVcIiBbc2hvd0NhbmNlbEJ1dHRvbl09XCJmYWxzZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIChuZ01vZGVsSW5wdXRDaGFuZ2UpPVwib25GaWVsZFR5cGVDaGFuZ2UoKVwiIFtmb3JtR3JvdXBJbnB1dF09XCJmaWVsZEZvcm1Hcm91cFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbE5hbWVJbnB1dF09XCInRmllbGRUeXBlJ1wiIFtlbnVtRGF0YVRvRXhjbHVkZV09XCJmaWVsZFR5cGVzVG9FeGNsdWRlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9lcXAtc2VsZWN0PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1zbS0xMiBjb2wtbWQtNCBtdC0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbD4gQ29kaWNlICogPC9tYXQtbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwiTGFiZWxcIiByZXF1aXJlZCBtYXRJbnB1dCBbKG5nTW9kZWwpXT1cImZpZWxkLkxhYmVsXCIgIChrZXlwcmVzcyk9XCJvbWl0X3NwZWNpYWxfY2hhcigkZXZlbnQpXCIgc3BlbGxjaGVjaz1cImZhbHNlXCIgYXV0b2NvbXBsZXRlPVwib2ZmXCIgKGZvY3Vzb3V0KT1cInN0cmluZ1Nhbml0aXplcihmaWVsZC5MYWJlbClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1lcnJvcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGdldEZvcm1WYWxpZGF0aW9uRXJyb3JzKCdMYWJlbCcpIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTEyIGNvbC1tZC00IG10LTJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsPiBEZXNjcml6aW9uZSAqIDwvbWF0LWxhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG5hbWU9XCJEZXNjcmlwdGlvblwiIGZvcm1Db250cm9sTmFtZT1cIkRlc2NyaXB0aW9uXCIgcmVxdWlyZWQgbWF0SW5wdXRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZmllbGQuRGVzY3JpcHRpb25cIiBzcGVsbGNoZWNrPVwiZmFsc2VcIiBhdXRvY29tcGxldGU9XCJvZmZcIiAoa2V5cHJlc3MpPVwib21pdF9zcGVjaWFsX2NoYXIoJGV2ZW50KVwiIChmb2N1c291dCk9XCJzdHJpbmdTYW5pdGl6ZXIoZmllbGQuRGVzY3JpcHRpb24pXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPCEtLSA8bWF0LWVycm9yICpuZ0lmPVwiIWZpZWxkLkRlc2NyaXB0aW9uLnZhbGlkICYmIGZpZWxkLkZvcm1Gb3JtR3JvdXAuY29udHJvbHNbZmllbGQuRGVzY3JpcHRpb25dLnRvdWNoZWRcIj4gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBnZXRGb3JtVmFsaWRhdGlvbkVycm9ycygnRGVzY3JpcHRpb24nKSB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cclxuICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1zbS0xMiBjb2wtbWQtNCBtdC0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbD4gVG9vbHRpcCA8L21hdC1sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBuYW1lPVwiVG9vbHRpcFwiIGZvcm1Db250cm9sTmFtZT1cIlRvb2x0aXBcIiBtYXRJbnB1dCBbKG5nTW9kZWwpXT1cImZpZWxkLlRvb2x0aXBcIiBzcGVsbGNoZWNrPVwiZmFsc2VcIiBhdXRvY29tcGxldGU9XCJvZmZcIiAoa2V5cHJlc3MpPVwib21pdF9zcGVjaWFsX2NoYXIoJGV2ZW50KVwiIChmb2N1c291dCk9XCJzdHJpbmdTYW5pdGl6ZXIoZmllbGQuVG9vbHRpcClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1lcnJvcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGdldEZvcm1WYWxpZGF0aW9uRXJyb3JzKCdUb29sdGlwJykgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tMTIgY29sLW1kLTQgbXQtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWw+IEZvcm11bGEgKEphdmFzY3JpcHQpIDwvbWF0LWxhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IGZvcm1Db250cm9sTmFtZT1cIkZvcm11bGFcIiBtYXRJbnB1dCBbKG5nTW9kZWwpXT1cImZpZWxkLkZvcm11bGFcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9wZW5Gb3JtdWxhRGlhbG9nKClcIiBzcGVsbGNoZWNrPVwiZmFsc2VcIiBhdXRvY29tcGxldGU9XCJvZmZcIiAoa2V5cHJlc3MpPVwib21pdF9zcGVjaWFsX2NoYXIoJGV2ZW50KVwiIChmb2N1c291dCk9XCJzdHJpbmdTYW5pdGl6ZXIoZmllbGQuRm9ybXVsYSlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgZ2V0Rm9ybVZhbGlkYXRpb25FcnJvcnMoJ0Zvcm11bGEnKSB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1zbS0xMiBjb2wtbWQtNCBtdC0yXCIgKm5nSWY9XCJmb3JtRmllbGRzR3JvdXBzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbD5TZXppb25lPC9tYXQtbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgPGVxcC1zZWxlY3QgW2FycmF5RGF0YV09XCJmb3JtRmllbGRzR3JvdXBzXCIgWyhuZ01vZGVsSW5wdXQpXT1cImZpZWxkLkZpZWxkR3JvdXBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXJyYXlLZXlQcm9wZXJ0eV09XCInTmFtZSdcIiBbYXJyYXlWYWx1ZVByb3BlcnR5XT1cIidOYW1lJ1wiIFtmb3JtR3JvdXBJbnB1dF09XCJmaWVsZEZvcm1Hcm91cFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbE5hbWVJbnB1dF09XCInRmllbGRHcm91cCdcIiByZXF1aXJlZCBbaW5jbHVkZUZ1bGxPYmplY3RdPVwiZmFsc2VcIj5cclxuICAgICAgICAgICAgICAgICAgICA8L2VxcC1zZWxlY3Q+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTEyIGNvbC1tZC00IG10LTJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsPkxhcmdoZXp6YSBjYW1wbzwvbWF0LWxhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgIDxlcXAtc2VsZWN0IFthcnJheURhdGFdPVwiYXZhaWxhYmxlQ29sU3BhblNpemVzXCIgWyhuZ01vZGVsSW5wdXQpXT1cImZpZWxkLkNvbFNwYW5TaXplc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthcnJheUtleVByb3BlcnR5XT1cIidrZXknXCIgW2FycmF5VmFsdWVQcm9wZXJ0eV09XCIndmFsdWUnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgKG5nTW9kZWxJbnB1dENoYW5nZSk9XCJvbkNvbFNwYW5TaXplU2VsZWN0KClcIiBbaXNNdWx0aVNlbGVjdF09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW2Zvcm1Hcm91cElucHV0XT1cImZpZWxkRm9ybUdyb3VwXCIgW2Zvcm1Db250cm9sTmFtZUlucHV0XT1cIidDb2xTcGFuU2l6ZXMnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW2luY2x1ZGVGdWxsT2JqZWN0XT1cImZhbHNlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9lcXAtc2VsZWN0PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTEyIGNvbC1tZC00IG10LTJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsPiBMYWJlbCBjc3MgPC9tYXQtbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbmFtZT1cIkxhYmVsc3R5bGVDU1NcIiBmb3JtQ29udHJvbE5hbWU9XCJMYWJlbHN0eWxlQ1NTXCIgbWF0SW5wdXRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZmllbGQuTGFiZWxzdHlsZUNTU1wiIHNwZWxsY2hlY2s9XCJmYWxzZVwiIGF1dG9jb21wbGV0ZT1cIm9mZlwiKGtleXByZXNzKT1cIm9taXRfc3BlY2lhbF9jaGFyKCRldmVudClcIiAoZm9jdXNvdXQpPVwic3RyaW5nU2FuaXRpemVyKGZpZWxkLkxhYmVsc3R5bGVDU1MpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWVycm9yPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGdldEZvcm1WYWxpZGF0aW9uRXJyb3JzKCdMYWJlbHN0eWxlQ1NTJykgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tMTIgY29sLW1kLTQgbXQtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWw+IEZpZWxkIGNzcyA8L21hdC1sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBuYW1lPVwiRmllbGRzdHlsZUNTU1wiIGZvcm1Db250cm9sTmFtZT1cIkZpZWxkc3R5bGVDU1NcIiBtYXRJbnB1dFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJmaWVsZC5GaWVsZHN0eWxlQ1NTXCIgc3BlbGxjaGVjaz1cImZhbHNlXCIgYXV0b2NvbXBsZXRlPVwib2ZmXCIgKGtleXByZXNzKT1cIm9taXRfc3BlY2lhbF9jaGFyKCRldmVudClcIiAoZm9jdXNvdXQpPVwic3RyaW5nU2FuaXRpemVyKGZpZWxkLkZpZWxkc3R5bGVDU1MpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWVycm9yPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGdldEZvcm1WYWxpZGF0aW9uRXJyb3JzKCdGaWVsZHN0eWxlQ1NTJykgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTEyIGNvbC1tZC00IG10LTIgIGFsaWduLXNlbGYtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPG1hdC1zbGlkZS10b2dnbGUgWyhuZ01vZGVsKV09XCJmaWVsZC5SZXF1aXJlZFwiIGZvcm1Db250cm9sTmFtZT1cIlJlcXVpcmVkXCIgY29sb3I9XCJwcmltYXJ5XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIE9iYmxpZ2F0b3Jpb1xyXG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1zbS0xMiBjb2wtbWQtNCBtdC0yICBhbGlnbi1zZWxmLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIFsobmdNb2RlbCldPVwiZmllbGQuUmVhZG9ubHlcIiBmb3JtQ29udHJvbE5hbWU9XCJSZWFkb25seVwiIGNvbG9yPVwicHJpbWFyeVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBSZWFkT25seVxyXG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTEyIGNvbC1tZC00IG10LTJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsPiBWaXNpYmxlSWYgPC9tYXQtbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbmFtZT1cIlZpc2libGVJZlwiIGZvcm1Db250cm9sTmFtZT1cIlZpc2libGVJZlwiIG1hdElucHV0IFsobmdNb2RlbCldPVwiZmllbGQuVmlzaWJsZUlmXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvcGVuVmlzaWJsZUlmRGlhbG9nKClcIiBzcGVsbGNoZWNrPVwiZmFsc2VcIiBhdXRvY29tcGxldGU9XCJvZmZcIiAoa2V5cHJlc3MpPVwib21pdF9zcGVjaWFsX2NoYXIoJGV2ZW50KVwiIChmb2N1c291dCk9XCJzdHJpbmdTYW5pdGl6ZXIoZmllbGQuVmlzaWJsZUlmKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1lcnJvcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBnZXRGb3JtVmFsaWRhdGlvbkVycm9ycygnVmlzaWJsZUlmJykgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgPCEtLSA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBuYW1lPVwiVmlzaWJsZUlmXCIgZm9ybUNvbnRyb2xOYW1lPVwiVmlzaWJsZUlmXCIgbWF0SW5wdXQgWyhuZ01vZGVsKV09XCJmaWVsZC5WaXNpYmxlSWZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdEF1dG9jb21wbGV0ZV09XCJWaXNpYmxlSWZBdXRvY29tcGxldGVcIiAoa2V5dXApPVwic2V0VmlzaWJsZUlmQXV0b2NvbXBsZXRlT3B0aW9ucygkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChmb2N1cyk9XCJzZXRWaXNpYmxlSWZBdXRvY29tcGxldGVPcHRpb25zKG51bGwpXCIgKGZvY3Vzb3V0KT1cInN0cmluZ1Nhbml0aXplcihmaWVsZC5WaXNpYmxlSWYpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtYXV0b2NvbXBsZXRlICNWaXNpYmxlSWZBdXRvY29tcGxldGU9XCJtYXRBdXRvY29tcGxldGVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgVmlzaWJsZUlmQXV0b2NvbXBsZXRlT3B0aW9uc1wiIFt2YWx1ZV09XCJvcHRpb24udmFsdWVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e29wdGlvbi5sYWJlbH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWF1dG9jb21wbGV0ZT5cclxuICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPiAtLT5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1zbS0xMiBjb2wtbWQtNCBtdC0yIGFsaWduLXNlbGYtY2VudGVyXCJcclxuICAgICAgICAgICAgICAgICAgICBbaGlkZGVuXT1cIihmaWVsZC5WaXNpYmxlSWYgIT0gbnVsbCB8fCBmaWVsZC5WaXNpYmxlSWYgIT0gdW5kZWZpbmVkKSAmJiBmaWVsZC5WaXNpYmxlSWYgIT0gJydcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiIGFsaWduLXNlbGYtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIFsobmdNb2RlbCldPVwiZmllbGQuSW5MaXN0Vmlld1wiIGZvcm1Db250cm9sTmFtZT1cIkluTGlzdFZpZXdcIiBjb2xvcj1cInByaW1hcnlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImZpZWxkRm9ybUdyb3VwLmNvbnRyb2xzWydJbkxpc3RWaWV3J10uZGlzYWJsZWRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpc2liaWxlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImZpZWxkVHlwZUZvcm1UZW1wbGF0ZVwiPlxyXG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZm9ybT5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lckZvb3RlclwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWVuZCBtdC0yIG1iLTFcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJ1dHRvbnNGb3JtXCI+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIG1hdC1yYWlzZWQtYnV0dG9uIGNhbmNlbFwiIChjbGljayk9XCJzYXZlQW5kRXhpdEFkZEZpZWxkKGZhbHNlKVwiIHR5cGU9XCJidXR0b25cIj5cclxuICAgICAgICAgICAgICAgICAgICBBbm51bGxhXHJcbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJtci0yIHNhdmVcIiBtYXQtcmFpc2VkLWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiAoY2xpY2spPVwic2F2ZUFuZEV4aXRBZGRGaWVsZCh0cnVlKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVTYXZlRmllbGQoKVwiIHR5cGU9XCJidXR0b25cIj5cclxuICAgICAgICAgICAgICAgICAgICBTYWx2YVxyXG4gICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuPCEtLSBGT1JNIFBST1BSSUVUw4AgQ0FNUEkgREkgVEVTVE8gLS0+XHJcbjxuZy10ZW1wbGF0ZSAjdGV4dEZpZWxkRm9ybVRlbXBsYXRlPlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC1zbS0xMiBjb2wtbWQtNFwiPlxyXG4gICAgICAgIDxtYXQtbGFiZWw+TWFzY2hlcmE8L21hdC1sYWJlbD5cclxuICAgICAgICA8ZXFwLXNlbGVjdCBbZW51bURhdGFdPVwiVGV4dE1hc2tFbnVtXCIgWyhuZ01vZGVsSW5wdXQpXT1cImZpZWxkLlRleHRNYXNrXCIgW2Zvcm1Hcm91cElucHV0XT1cImZpZWxkRm9ybUdyb3VwXCJcclxuICAgICAgICAgICAgW2Zvcm1Db250cm9sTmFtZUlucHV0XT1cIidUZXh0TWFzaydcIj5cclxuICAgICAgICA8L2VxcC1zZWxlY3Q+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tMTIgY29sLW1kLTRcIiBbZm9ybUdyb3VwXT1cImZpZWxkRm9ybUdyb3VwXCI+XHJcbiAgICAgICAgPG1hdC1sYWJlbD4gTHVuZ2hlenphIG1pbmltYSA8L21hdC1sYWJlbD5cclxuICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgICAgIDxpbnB1dCBpZD1cImxlbmd0aE1pblwiIGZvcm1Db250cm9sTmFtZT1cIk1pbkxlbmdodFwiIHR5cGU9XCJudW1iZXJcIiBbbWluXT1cIjBcIiBtYXRJbnB1dFxyXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJmaWVsZC5NaW5MZW5naHRcIiBzcGVsbGNoZWNrPVwiZmFsc2VcIiBhdXRvY29tcGxldGU9XCJvZmZcIiAoa2V5cHJlc3MpPVwib21pdF9zcGVjaWFsX2NoYXIoJGV2ZW50KVwiIChmb2N1c291dCk9XCJzdHJpbmdTYW5pdGl6ZXIoZmllbGQuTWluTGVuZ2h0KVwiPlxyXG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvcj5cclxuICAgICAgICAgICAgICAgICAgICB7eyBnZXRGb3JtVmFsaWRhdGlvbkVycm9ycygnTWluTGVuZ2h0JykgfX1cclxuICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxyXG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tMTIgY29sLW1kLTQgbXQtMiAgYWxpZ24tc2VsZi1jZW50ZXJcIiBbZm9ybUdyb3VwXT1cImZpZWxkRm9ybUdyb3VwXCIgW2hpZGRlbl09XCJmaWVsZC5SZWFkb25seVwiID5cclxuICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBbKG5nTW9kZWwpXT1cImZpZWxkLk1pY3JvcGhvbmVcIiBmb3JtQ29udHJvbE5hbWU9XCJNaWNyb3Bob25lXCIgY29sb3I9XCJwcmltYXJ5XCI+XHJcbiAgICAgICAgICAgIFNwZWVjaC1Uby1UZXh0XHJcbiAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTEyIGNvbC1tZC00XCIgW2Zvcm1Hcm91cF09XCJmaWVsZEZvcm1Hcm91cFwiPlxyXG4gICAgICAgIDxtYXQtbGFiZWw+IEx1bmdoZXp6YSBtYXNzaW1hIDwvbWF0LWxhYmVsPlxyXG4gICAgICAgIDxtYXQtZm9ybS1maWVsZD5cclxuICAgICAgICAgICAgPGlucHV0IGlkPVwibGVuZ3RoTWF4XCIgZm9ybUNvbnRyb2xOYW1lPVwiTWF4TGVuZ2h0XCIgdHlwZT1cIm51bWJlclwiIFttaW5dPVwiMFwiIG1hdElucHV0XHJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZpZWxkLk1heExlbmdodFwiIHNwZWxsY2hlY2s9XCJmYWxzZVwiIGF1dG9jb21wbGV0ZT1cIm9mZlwiIChrZXlwcmVzcyk9XCJvbWl0X3NwZWNpYWxfY2hhcigkZXZlbnQpXCIgKGZvY3Vzb3V0KT1cInN0cmluZ1Nhbml0aXplcihmaWVsZC5NYXhMZW5naHQpXCI+XHJcbiAgICAgICAgICAgICAgICA8bWF0LWVycm9yPlxyXG4gICAgICAgICAgICAgICAgICAgIHt7IGdldEZvcm1WYWxpZGF0aW9uRXJyb3JzKCdNYXhMZW5naHQnKSB9fVxyXG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XHJcbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgIDwvZGl2PlxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPCEtLSBGT1JNIFBST1BSSUVUw4AgQ0FNUEkgQVJFQSBESSBURVNUTyAtLT5cclxuPG5nLXRlbXBsYXRlICN0ZXh0YXJlYUZpZWxkRm9ybVRlbXBsYXRlPlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC1zbS0xMiBjb2wtbWQtNCBtdC0yXCIgW2Zvcm1Hcm91cF09XCJmaWVsZEZvcm1Hcm91cFwiPlxyXG4gICAgICAgIDxtYXQtbGFiZWw+IFJpZ2hlIDwvbWF0LWxhYmVsPlxyXG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cInJpZ2hlXCI+XHJcbiAgICAgICAgICAgIDxpbnB1dCBpZD1cInJvd3NcIiBmb3JtQ29udHJvbE5hbWU9XCJSb3dzXCIgdHlwZT1cIm51bWJlclwiIFttaW5dPVwiMFwiIG1hdElucHV0IFsobmdNb2RlbCldPVwiZmllbGQuUm93c1wiIHNwZWxsY2hlY2s9XCJmYWxzZVwiIGF1dG9jb21wbGV0ZT1cIm9mZlwiIChrZXlwcmVzcyk9XCJvbWl0X3NwZWNpYWxfY2hhcigkZXZlbnQpXCIgKGZvY3Vzb3V0KT1cInN0cmluZ1Nhbml0aXplcihmaWVsZC5Sb3dzKVwiPlxyXG4gICAgICAgICAgICA8bWF0LWVycm9yPlxyXG4gICAgICAgICAgICAgICAge3sgZ2V0Rm9ybVZhbGlkYXRpb25FcnJvcnMoJ1Jvd3MnKSB9fVxyXG4gICAgICAgICAgICA8L21hdC1lcnJvcj5cclxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTEyIGNvbC1tZC00IG10LTIgIGFsaWduLXNlbGYtY2VudGVyXCIgW2Zvcm1Hcm91cF09XCJmaWVsZEZvcm1Hcm91cFwiIFtoaWRkZW5dPVwiZmllbGQuUmVhZG9ubHlcIiA+XHJcbiAgICAgICAgPG1hdC1zbGlkZS10b2dnbGUgWyhuZ01vZGVsKV09XCJmaWVsZC5NaWNyb3Bob25lXCIgZm9ybUNvbnRyb2xOYW1lPVwiTWljcm9waG9uZVwiIGNvbG9yPVwicHJpbWFyeVwiPlxyXG4gICAgICAgICAgICBTcGVlY2gtVG8tVGV4dFxyXG4gICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC1zbS0xMiBjb2wtbWQtNCBtdC0yXCIgW2Zvcm1Hcm91cF09XCJmaWVsZEZvcm1Hcm91cFwiPlxyXG4gICAgICAgIDxtYXQtbGFiZWw+IEx1bmdoZXp6YSBtaW5pbWEgPC9tYXQtbGFiZWw+XHJcbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgICAgICA8aW5wdXQgaWQ9XCJsZW5ndGhNaW5cIiBmb3JtQ29udHJvbE5hbWU9XCJNaW5MZW5naHRcIiB0eXBlPVwibnVtYmVyXCIgW21pbl09XCIwXCIgbWF0SW5wdXRcclxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZmllbGQuTWluTGVuZ2h0XCIgc3BlbGxjaGVjaz1cImZhbHNlXCIgYXV0b2NvbXBsZXRlPVwib2ZmXCIgKGtleXByZXNzKT1cIm9taXRfc3BlY2lhbF9jaGFyKCRldmVudClcIiAoZm9jdXNvdXQpPVwic3RyaW5nU2FuaXRpemVyKGZpZWxkLk1pbkxlbmdodClcIj5cclxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICAgICAge3sgZ2V0Rm9ybVZhbGlkYXRpb25FcnJvcnMoJ01pbkxlbmdodCcpIH19XHJcbiAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cclxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTEyIGNvbC1tZC00IG10LTJcIiBbZm9ybUdyb3VwXT1cImZpZWxkRm9ybUdyb3VwXCI+XHJcbiAgICAgICAgPG1hdC1sYWJlbD4gTHVuZ2hlenphIG1hc3NpbWEgPC9tYXQtbGFiZWw+XHJcbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgICAgICA8aW5wdXQgaWQ9XCJsZW5ndGhNYXhcIiBmb3JtQ29udHJvbE5hbWU9XCJNYXhMZW5naHRcIiB0eXBlPVwibnVtYmVyXCIgW21pbl09XCIwXCIgbWF0SW5wdXRcclxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZmllbGQuTWF4TGVuZ2h0XCIgc3BlbGxjaGVjaz1cImZhbHNlXCIgYXV0b2NvbXBsZXRlPVwib2ZmXCIgKGtleXByZXNzKT1cIm9taXRfc3BlY2lhbF9jaGFyKCRldmVudClcIiAoZm9jdXNvdXQpPVwic3RyaW5nU2FuaXRpemVyKGZpZWxkLk1heExlbmdodClcIj5cclxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICAgICAge3sgZ2V0Rm9ybVZhbGlkYXRpb25FcnJvcnMoJ01heExlbmdodCcpIH19XHJcbiAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cclxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgPC9kaXY+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48IS0tIEZPUk0gUFJPUFJJRVTDgCBDQU1QSSBCT09MRUFOSSAtLT5cclxuPG5nLXRlbXBsYXRlICNib29sZWFkRmllbGRGb3JtVGVtcGxhdGU+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTEyIGNvbC1tZC00IG10LTIgIGFsaWduLXNlbGYtY2VudGVyXCIgW2Zvcm1Hcm91cF09XCJmaWVsZEZvcm1Hcm91cFwiPlxyXG4gICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIFsobmdNb2RlbCldPVwiZmllbGQuSXNUcmlzdGF0ZVwiIGZvcm1Db250cm9sTmFtZT1cIklzVHJpc3RhdGVcIiBjb2xvcj1cInByaW1hcnlcIj5cclxuICAgICAgICAgICAgQSB0cmUgc3RhdGlcclxuICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tMTIgY29sLW1kLTQgbXQtMlwiPlxyXG4gICAgICAgIDxtYXQtbGFiZWw+VGlwbyBkaSBwcmVzZW50YXppb25lICo8L21hdC1sYWJlbD5cclxuICAgICAgICA8ZXFwLXNlbGVjdCBbZW51bURhdGFdPVwiQm9vbFByZXNlbnRhbnRpb0VudW1cIiBbKG5nTW9kZWxJbnB1dCldPVwiZmllbGQuUHJlc2V0YXRpb25UeXBlXCIgcmVxdWlyZWRcclxuICAgICAgICAgICAgW3Nob3dDYW5jZWxCdXR0b25dPVwiZmFsc2VcIiBbZm9ybUdyb3VwSW5wdXRdPVwiZmllbGRGb3JtR3JvdXBcIiBbZm9ybUNvbnRyb2xOYW1lSW5wdXRdPVwiJ1ByZXNldGF0aW9uVHlwZSdcIj5cclxuICAgICAgICA8L2VxcC1zZWxlY3Q+XHJcbiAgICA8L2Rpdj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjwhLS0gRk9STSBQUk9QUklFVMOAIENBTVBJIERBVEEgLS0+XHJcbjxuZy10ZW1wbGF0ZSAjZGF0ZUZpZWxkRm9ybVRlbXBsYXRlPlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC1zbS0xMiBjb2wtbWQtNCBtdC0yXCI+XHJcbiAgICAgICAgPG1hdC1sYWJlbD5UaXBvIGRpIGRhdGE8L21hdC1sYWJlbD5cclxuICAgICAgICA8ZXFwLXNlbGVjdCBbZW51bURhdGFdPVwiRGF0ZVRpbWVUeXBlRW51bVwiIFsobmdNb2RlbElucHV0KV09XCJmaWVsZC5Jc09ubHlEYXRlXCIgcmVxdWlyZWRcclxuICAgICAgICAgICAgW3Nob3dDYW5jZWxCdXR0b25dPVwiZmFsc2VcIiBbZm9ybUdyb3VwSW5wdXRdPVwiZmllbGRGb3JtR3JvdXBcIiBbZm9ybUNvbnRyb2xOYW1lSW5wdXRdPVwiJ0lzT25seURhdGUnXCI+XHJcbiAgICAgICAgPC9lcXAtc2VsZWN0PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTEyIGNvbC1tZC00IG10LTJcIiBbZm9ybUdyb3VwXT1cImZpZWxkRm9ybUdyb3VwXCI+XHJcbiAgICAgICAgPG1hdC1sYWJlbD4gRm9ybWF0byA8L21hdC1sYWJlbD5cclxuICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgICAgIDxpbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJEYXRlRm9ybWF0XCIgbWF0SW5wdXQgWyhuZ01vZGVsKV09XCJmaWVsZC5EYXRlRm9ybWF0XCJcclxuICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT1cIidJbmRpY2FyZSBpbCBmb3JtYXRvIHNlZ3VlbmRvIGxhIGd1aWRhIGRlbCBwYWNjaGV0dG8gbW9tZW50anMuJ1wiIHNwZWxsY2hlY2s9XCJmYWxzZVwiIGF1dG9jb21wbGV0ZT1cIm9mZlwiIChrZXlwcmVzcyk9XCJvbWl0X3NwZWNpYWxfY2hhcigkZXZlbnQpXCIgKGZvY3Vzb3V0KT1cInN0cmluZ1Nhbml0aXplcihmaWVsZC5Gb3JtYXRvKVwiPlxyXG4gICAgICAgICAgICAgICAgPG1hdC1lcnJvcj5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIHt7IGdldEZvcm1WYWxpZGF0aW9uRXJyb3JzKCdGb3JtYXRvJykgfX0gLS0+XHJcbiAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cclxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTEyIGNvbC1tZC00IG10LTJcIj5cclxuICAgICAgICA8bWF0LWxhYmVsPiBEYXRhIG1pbmltYSA8L21hdC1sYWJlbD5cclxuICAgICAgICA8ZXFwLWRhdGV0aW1lcGlja2VyICpuZ0lmPVwiZmllbGQuSXNPbmx5RGF0ZSA9PSBEYXRlVGltZVR5cGVFbnVtWydTb2xvIGRhdGEnXVwiIGNsYXNzPVwiZGF0ZVwiXHJcbiAgICAgICAgICAgIFsobmdNb2RlbElucHV0KV09XCJmaWVsZC5NaW5EYXRlXCIgW2Zvcm1Hcm91cElucHV0XT1cImZpZWxkRm9ybUdyb3VwXCIgW2Zvcm1Db250cm9sTmFtZUlucHV0XT1cIidNaW5EYXRlJ1wiXHJcbiAgICAgICAgICAgIFtwaWNrZXJNb2RlXT1cInBpY2tlck1vZGVFbnVtLkRBVEVcIiBbVVRDRGF0ZV09XCJ0cnVlXCIgW3Nob3dTZWNvbmRzXT1cImZhbHNlXCI+XHJcbiAgICAgICAgPC9lcXAtZGF0ZXRpbWVwaWNrZXI+XHJcbiAgICAgICAgPGVxcC1kYXRldGltZXBpY2tlciAqbmdJZj1cImZpZWxkLklzT25seURhdGUgPT0gRGF0ZVRpbWVUeXBlRW51bVsnRGF0YSBlIG9yYSddXCIgY2xhc3M9XCJkYXRlXCJcclxuICAgICAgICAgICAgWyhuZ01vZGVsSW5wdXQpXT1cImZpZWxkLk1pbkRhdGVcIiBbZm9ybUdyb3VwSW5wdXRdPVwiZmllbGRGb3JtR3JvdXBcIiBbZm9ybUNvbnRyb2xOYW1lSW5wdXRdPVwiJ01pbkRhdGUnXCJcclxuICAgICAgICAgICAgW3BpY2tlck1vZGVdPVwicGlja2VyTW9kZUVudW0uREFURVRJTUVcIiBbVVRDRGF0ZV09XCJ0cnVlXCIgW3Nob3dTZWNvbmRzXT1cImZhbHNlXCI+XHJcbiAgICAgICAgPC9lcXAtZGF0ZXRpbWVwaWNrZXI+XHJcbiAgICAgICAgPGVxcC1kYXRldGltZXBpY2tlciAqbmdJZj1cImZpZWxkLklzT25seURhdGUgPT0gRGF0ZVRpbWVUeXBlRW51bVsnU29sbyBvcmFyaW8nXVwiIGNsYXNzPVwiZGF0ZVwiXHJcbiAgICAgICAgICAgIFsobmdNb2RlbElucHV0KV09XCJmaWVsZC5NaW5EYXRlXCIgW2Zvcm1Hcm91cElucHV0XT1cImZpZWxkRm9ybUdyb3VwXCIgW2Zvcm1Db250cm9sTmFtZUlucHV0XT1cIidNaW5EYXRlJ1wiXHJcbiAgICAgICAgICAgIFtwaWNrZXJNb2RlXT1cInBpY2tlck1vZGVFbnVtLlRJTUVcIiBbVVRDRGF0ZV09XCJ0cnVlXCIgW3Nob3dTZWNvbmRzXT1cImZhbHNlXCI+XHJcbiAgICAgICAgPC9lcXAtZGF0ZXRpbWVwaWNrZXI+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tMTIgY29sLW1kLTQgbXQtMlwiPlxyXG4gICAgICAgIDxtYXQtbGFiZWw+IERhdGEgbWFzc2ltYSA8L21hdC1sYWJlbD5cclxuICAgICAgICA8ZXFwLWRhdGV0aW1lcGlja2VyICpuZ0lmPVwiZmllbGQuSXNPbmx5RGF0ZSA9PSBEYXRlVGltZVR5cGVFbnVtWydTb2xvIGRhdGEnXVwiIGNsYXNzPVwiZGF0ZVwiXHJcbiAgICAgICAgICAgIFsobmdNb2RlbElucHV0KV09XCJmaWVsZC5NYXhEYXRlXCIgW2Zvcm1Hcm91cElucHV0XT1cImZpZWxkRm9ybUdyb3VwXCIgW2Zvcm1Db250cm9sTmFtZUlucHV0XT1cIidNYXhEYXRlJ1wiXHJcbiAgICAgICAgICAgIFtwaWNrZXJNb2RlXT1cInBpY2tlck1vZGVFbnVtLkRBVEVcIiBbVVRDRGF0ZV09XCJ0cnVlXCIgW3Nob3dTZWNvbmRzXT1cImZhbHNlXCI+XHJcbiAgICAgICAgPC9lcXAtZGF0ZXRpbWVwaWNrZXI+XHJcbiAgICAgICAgPGVxcC1kYXRldGltZXBpY2tlciAqbmdJZj1cImZpZWxkLklzT25seURhdGUgPT0gRGF0ZVRpbWVUeXBlRW51bVsnRGF0YSBlIG9yYSddXCIgY2xhc3M9XCJkYXRlXCJcclxuICAgICAgICAgICAgWyhuZ01vZGVsSW5wdXQpXT1cImZpZWxkLk1heERhdGVcIiBbZm9ybUdyb3VwSW5wdXRdPVwiZmllbGRGb3JtR3JvdXBcIiBbZm9ybUNvbnRyb2xOYW1lSW5wdXRdPVwiJ01heERhdGUnXCJcclxuICAgICAgICAgICAgW3BpY2tlck1vZGVdPVwicGlja2VyTW9kZUVudW0uREFURVRJTUVcIiBbVVRDRGF0ZV09XCJ0cnVlXCIgW3Nob3dTZWNvbmRzXT1cImZhbHNlXCI+XHJcbiAgICAgICAgPC9lcXAtZGF0ZXRpbWVwaWNrZXI+XHJcbiAgICAgICAgPGVxcC1kYXRldGltZXBpY2tlciAqbmdJZj1cImZpZWxkLklzT25seURhdGUgPT0gRGF0ZVRpbWVUeXBlRW51bVsnU29sbyBvcmFyaW8nXVwiIGNsYXNzPVwiZGF0ZVwiXHJcbiAgICAgICAgICAgIFsobmdNb2RlbElucHV0KV09XCJmaWVsZC5NYXhEYXRlXCIgW2Zvcm1Hcm91cElucHV0XT1cImZpZWxkRm9ybUdyb3VwXCIgW2Zvcm1Db250cm9sTmFtZUlucHV0XT1cIidNYXhEYXRlJ1wiXHJcbiAgICAgICAgICAgIFtwaWNrZXJNb2RlXT1cInBpY2tlck1vZGVFbnVtLlRJTUVcIiBbVVRDRGF0ZV09XCJ0cnVlXCIgW3Nob3dTZWNvbmRzXT1cImZhbHNlXCI+XHJcbiAgICAgICAgPC9lcXAtZGF0ZXRpbWVwaWNrZXI+XHJcbiAgICA8L2Rpdj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjwhLS0gRk9STSBQUk9QUklFVMOAIENBTVBJIE5VTUVSSUNJIC0tPlxyXG48bmctdGVtcGxhdGUgI251bWVyaWNGaWVsZEZvcm1UZW1wbGF0ZT5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tMTIgY29sLW1kLTQgbXQtMiAgYWxpZ24tc2VsZi1jZW50ZXJcIiBbZm9ybUdyb3VwXT1cImZpZWxkRm9ybUdyb3VwXCI+XHJcbiAgICAgICAgPG1hdC1zbGlkZS10b2dnbGUgWyhuZ01vZGVsKV09XCJmaWVsZC5Jc0ludGVnZXJcIiBmb3JtQ29udHJvbE5hbWU9XCJJc0ludGVnZXJcIiBjb2xvcj1cInByaW1hcnlcIj5cclxuICAgICAgICAgICAgVmFsb3JlIGludGVyb1xyXG4gICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiAqbmdJZj1cIiFmaWVsZC5Jc0ludGVnZXJcIiBjbGFzcz1cImNvbC1zbS0xMiBjb2wtbWQtNCBtdC0yXCIgW2Zvcm1Hcm91cF09XCJmaWVsZEZvcm1Hcm91cFwiPlxyXG4gICAgICAgIDxtYXQtbGFiZWw+IFNlcGFyYXRvcmUgZGVjaW1hbGkgPC9tYXQtbGFiZWw+XHJcbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgICAgICA8aW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwiRGVjaW1hbFNlcGFyYXRvclwiIG1hdElucHV0IFsobmdNb2RlbCldPVwiZmllbGQuRGVjaW1hbFNlcGFyYXRvclwiIHNwZWxsY2hlY2s9XCJmYWxzZVwiIGF1dG9jb21wbGV0ZT1cIm9mZlwiIChrZXlwcmVzcyk9XCJvbWl0X3NwZWNpYWxfY2hhcigkZXZlbnQpXCIgKGZvY3Vzb3V0KT1cInN0cmluZ1Nhbml0aXplcihmaWVsZC5EZWNpbWFsU2VwYXJhdG9yKVwiPlxyXG4gICAgICAgICAgICA8bWF0LWVycm9yPlxyXG4gICAgICAgICAgICAgICAge3sgZ2V0Rm9ybVZhbGlkYXRpb25FcnJvcnMoJ0RlY2ltYWxTZXBhcmF0b3InKSB9fVxyXG4gICAgICAgICAgICA8L21hdC1lcnJvcj5cclxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2ICpuZ0lmPVwiIWZpZWxkLklzSW50ZWdlclwiIGNsYXNzPVwiY29sLXNtLTEyIGNvbC1tZC00IG10LTJcIiBbZm9ybUdyb3VwXT1cImZpZWxkRm9ybUdyb3VwXCI+XHJcbiAgICAgICAgPG1hdC1sYWJlbD4gUHJlY2lzaW9uZSBkZWNpbWFsaSA8L21hdC1sYWJlbD5cclxuICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgICAgIDxpbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJEZWNpbWFsUHJlY2lzaW9uXCIgdHlwZT1cIm51bWJlclwiIFttaW5dPVwiMFwiIG1hdElucHV0XHJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZpZWxkLkRlY2ltYWxQcmVjaXNpb25cIiBzcGVsbGNoZWNrPVwiZmFsc2VcIiBhdXRvY29tcGxldGU9XCJvZmZcIiAoa2V5cHJlc3MpPVwib21pdF9zcGVjaWFsX2NoYXIoJGV2ZW50KVwiIChmb2N1c291dCk9XCJzdHJpbmdTYW5pdGl6ZXIoZmllbGQuRGVjaW1hbFByZWNpc2lvbilcIj5cclxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICAgICAge3sgZ2V0Rm9ybVZhbGlkYXRpb25FcnJvcnMoJ0RlY2ltYWxQcmVjaXNpb24nKSB9fVxyXG4gICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XHJcbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC1zbS0xMiBjb2wtbWQtNCBtdC0yXCIgW2Zvcm1Hcm91cF09XCJmaWVsZEZvcm1Hcm91cFwiPlxyXG4gICAgICAgIDxtYXQtbGFiZWw+IFNlcGFyYXRvcmUgbWlnbGlhaWEgPC9tYXQtbGFiZWw+XHJcbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgICAgICA8aW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwiVGhvdXNhbmRzU2VwYXJhdG9yXCIgbWF0SW5wdXQgWyhuZ01vZGVsKV09XCJmaWVsZC5UaG91c2FuZHNTZXBhcmF0b3JcIiBzcGVsbGNoZWNrPVwiZmFsc2VcIiBhdXRvY29tcGxldGU9XCJvZmZcIiAoa2V5cHJlc3MpPVwib21pdF9zcGVjaWFsX2NoYXIoJGV2ZW50KVwiIChmb2N1c291dCk9XCJzdHJpbmdTYW5pdGl6ZXIoZmllbGQuVGhvdXNhbmRzU2VwYXJhdG9yKVwiPlxyXG4gICAgICAgICAgICA8bWF0LWVycm9yPlxyXG4gICAgICAgICAgICAgICAge3sgZ2V0Rm9ybVZhbGlkYXRpb25FcnJvcnMoJ1Rob3VzYW5kc1NlcGFyYXRvcicpIH19XHJcbiAgICAgICAgICAgIDwvbWF0LWVycm9yPlxyXG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tMTIgY29sLW1kLTQgbXQtMlwiIFtmb3JtR3JvdXBdPVwiZmllbGRGb3JtR3JvdXBcIj5cclxuICAgICAgICA8bWF0LWxhYmVsPiBTaW1ib2xvIHZhbHV0YSA8L21hdC1sYWJlbD5cclxuICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgICAgIDxpbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJDdXJyZW5jeVN5bWJvbFwiIG1hdElucHV0IFsobmdNb2RlbCldPVwiZmllbGQuQ3VycmVuY3lTeW1ib2xcIiBzcGVsbGNoZWNrPVwiZmFsc2VcIiBhdXRvY29tcGxldGU9XCJvZmZcIihrZXlwcmVzcyk9XCJvbWl0X3NwZWNpYWxfY2hhcigkZXZlbnQpXCIgIChmb2N1c291dCk9XCJzdHJpbmdTYW5pdGl6ZXIoZmllbGQuQ3VycmVuY3lTeW1ib2wpXCI+XHJcbiAgICAgICAgICAgIDxtYXQtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICB7eyBnZXRGb3JtVmFsaWRhdGlvbkVycm9ycygnQ3VycmVuY3lTeW1ib2wnKSB9fVxyXG4gICAgICAgICAgICA8L21hdC1lcnJvcj5cclxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTEyIGNvbC1tZC00IG10LTJcIiBbZm9ybUdyb3VwXT1cImZpZWxkRm9ybUdyb3VwXCI+XHJcbiAgICAgICAgPG1hdC1sYWJlbD4gVW5pdMOgIGRpIG1pc3VyYSA8L21hdC1sYWJlbD5cclxuICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgICAgIDxpbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJNZWFzdXJlVW5pdFwiIG1hdElucHV0IFsobmdNb2RlbCldPVwiZmllbGQuTWVhc3VyZVVuaXRcIiBzcGVsbGNoZWNrPVwiZmFsc2VcIiBhdXRvY29tcGxldGU9XCJvZmZcIihrZXlwcmVzcyk9XCJvbWl0X3NwZWNpYWxfY2hhcigkZXZlbnQpXCIgIChmb2N1c291dCk9XCJzdHJpbmdTYW5pdGl6ZXIoZmllbGQuTWVhc3VyZVVuaXQpXCI+XHJcbiAgICAgICAgICAgIDxtYXQtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICB7eyBnZXRGb3JtVmFsaWRhdGlvbkVycm9ycygnTWVhc3VyZVVuaXQnKSB9fVxyXG4gICAgICAgICAgICA8L21hdC1lcnJvcj5cclxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTEyIGNvbC1tZC00IG10LTJcIiBbZm9ybUdyb3VwXT1cImZpZWxkRm9ybUdyb3VwXCI+XHJcbiAgICAgICAgPG1hdC1sYWJlbD4gVmFsb3JlIG1pbmltbyA8L21hdC1sYWJlbD5cclxuICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgICAgIDxpbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJNaW5WYWx1ZVwiIHR5cGU9XCJudW1iZXJcIiBbbWluXT1cIjBcIiBtYXRJbnB1dCBbKG5nTW9kZWwpXT1cImZpZWxkLk1pblZhbHVlXCIgc3BlbGxjaGVjaz1cImZhbHNlXCIgYXV0b2NvbXBsZXRlPVwib2ZmXCIoa2V5cHJlc3MpPVwib21pdF9zcGVjaWFsX2NoYXIoJGV2ZW50KVwiIChmb2N1c291dCk9XCJzdHJpbmdTYW5pdGl6ZXIoZmllbGQuTWluVmFsdWUpXCI+XHJcbiAgICAgICAgICAgIDxtYXQtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICB7eyBnZXRGb3JtVmFsaWRhdGlvbkVycm9ycygnTWluVmFsdWUnKSB9fVxyXG4gICAgICAgICAgICA8L21hdC1lcnJvcj5cclxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTEyIGNvbC1tZC00IG10LTJcIiBbZm9ybUdyb3VwXT1cImZpZWxkRm9ybUdyb3VwXCI+XHJcbiAgICAgICAgPG1hdC1sYWJlbD4gVmFsb3JlIG1hc3NpbW8gPC9tYXQtbGFiZWw+XHJcbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgICAgICA8aW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwiTWF4VmFsdWVcIiB0eXBlPVwibnVtYmVyXCIgW21pbl09XCIwXCIgbWF0SW5wdXQgWyhuZ01vZGVsKV09XCJmaWVsZC5NYXhWYWx1ZVwiIHNwZWxsY2hlY2s9XCJmYWxzZVwiIGF1dG9jb21wbGV0ZT1cIm9mZlwiIChrZXlwcmVzcyk9XCJvbWl0X3NwZWNpYWxfY2hhcigkZXZlbnQpXCIgKGZvY3Vzb3V0KT1cInN0cmluZ1Nhbml0aXplcihmaWVsZC5NYXhWYWx1ZSlcIj5cclxuICAgICAgICAgICAgPG1hdC1lcnJvcj5cclxuICAgICAgICAgICAgICAgIHt7IGdldEZvcm1WYWxpZGF0aW9uRXJyb3JzKCdNYXhWYWx1ZScpIH19XHJcbiAgICAgICAgICAgIDwvbWF0LWVycm9yPlxyXG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICA8L2Rpdj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjwhLS0gRk9STSBQUk9QUklFVMOAIENBTVBJIEFMTEVHQVRPIC0tPlxyXG48bmctdGVtcGxhdGUgI2F0dGFjaG1lbnRGaWVsZEZvcm1UZW1wbGF0ZT5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tMTIgY29sLW1kLTQgbXQtMiAgYWxpZ24tc2VsZi1jZW50ZXJcIiBbZm9ybUdyb3VwXT1cImZpZWxkRm9ybUdyb3VwXCI+XHJcbiAgICAgICAgPG1hdC1zbGlkZS10b2dnbGUgWyhuZ01vZGVsKV09XCJmaWVsZC5Jc011bHRpQXR0YWNoXCIgZm9ybUNvbnRyb2xOYW1lPVwiSXNNdWx0aUF0dGFjaFwiIGNvbG9yPVwicHJpbWFyeVwiPlxyXG4gICAgICAgICAgICBBbGxlZ2F0aSBtdWx0aXBsaVxyXG4gICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC1zbS0xMiBjb2wtbWQtNCBtdC0yXCI+XHJcbiAgICAgICAgPG1hdC1sYWJlbD5Fc3RlbnNpb25pIGFjY2V0dGF0ZTwvbWF0LWxhYmVsPlxyXG4gICAgICAgIDxlcXAtc2VsZWN0IFthcnJheURhdGFdPVwiQXZhaWxhYmxlRmlsZUV4dGVuc2lvbnMuY29uY2F0KEF2YWlsYWJsZUltYWdlRXh0ZW5zaW9ucylcIlxyXG4gICAgICAgICAgICBbKG5nTW9kZWxJbnB1dCldPVwiZmllbGQuQWxsb3dlZEV4dGVuc2lvbnNcIiBbYXJyYXlLZXlQcm9wZXJ0eV09XCIna2V5J1wiIFthcnJheVZhbHVlUHJvcGVydHldPVwiJ3ZhbHVlJ1wiXHJcbiAgICAgICAgICAgIFtpc011bHRpU2VsZWN0XT1cInRydWVcIiBbZm9ybUdyb3VwSW5wdXRdPVwiZmllbGRGb3JtR3JvdXBcIiBbZm9ybUNvbnRyb2xOYW1lSW5wdXRdPVwiJ0FsbG93ZWRFeHRlbnNpb25zJ1wiXHJcbiAgICAgICAgICAgIFtpbmNsdWRlRnVsbE9iamVjdF09XCJmYWxzZVwiPlxyXG4gICAgICAgIDwvZXFwLXNlbGVjdD5cclxuICAgIDwvZGl2PlxyXG4gICAgPCEtLSA8ZGl2IGNsYXNzPVwiY29sLXNtLTEyIG10LTJcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicm93IG10LTJcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1zbS0xMiBjb2wtbWQtNlwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRlci10aXRsZS1zdGFuZGFyZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIEVsZW5jbyBtZXRhZGF0YVxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTEyIGNvbC1tZC02IHRleHQtcmlnaHQgYnV0dG9uc0Zvcm1cIj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgc2F2ZVwiIG1hdC1yYWlzZWQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvcGVuTWV0YWRhdGFEaWFsb2coKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5hZGQ8L21hdC1pY29uPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIHN0eWxlPVwibWFyZ2luLWxlZnQ6IDEwcHg7XCI+QWdnaXVuZ2kgYWxsZWdhdG88L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGVxcC10YWJsZSAjbWV0YWRhdGFGaWVsZHNUYWJsZSBbY3JlYXRlTWF0Q2FyZF09XCJmYWxzZVwiIFtjb2x1bW5zXT1cIm1ldGFkYXRhQ29sdW1uc1wiXHJcbiAgICAgICAgICAgIFtkYXRhXT1cImZpZWxkLk1ldGFkYXRhRmllbGRzXCIgW2VtcHR5VGFibGVNZXNzYWdlXT1cIidOZXNzdW4gbWV0YWRhdGEgaW5zZXJpdG8nXCIgW3NlYXJjaFRleHRdPVwiJ0NlcmNhJ1wiPlxyXG4gICAgICAgIDwvZXFwLXRhYmxlPlxyXG4gICAgPC9kaXY+IC0tPlxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPCEtLSBGT1JNIFBST1BSSUVUw4AgQ0FNUEkgSU1NQUdJTkUgLS0+XHJcbjxuZy10ZW1wbGF0ZSAjaW1hZ2VGaWVsZEZvcm1UZW1wbGF0ZT5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tMTIgY29sLW1kLTQgbXQtMiBtYi0yICBhbGlnbi1zZWxmLWNlbnRlclwiIFtmb3JtR3JvdXBdPVwiZmllbGRGb3JtR3JvdXBcIj5cclxuICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBbKG5nTW9kZWwpXT1cImZpZWxkLkltYWdlSXNDb250ZXh0dWFsQXR0YWNobWVudFwiIGZvcm1Db250cm9sTmFtZT1cIkltYWdlSXNDb250ZXh0dWFsQXR0YWNobWVudFwiXHJcbiAgICAgICAgICAgIGNvbG9yPVwicHJpbWFyeVwiIChuZ01vZGVsQ2hhbmdlKT1cIm9uSW1hZ2VJc0NvbnRleHR1YWxBdHRhY2htZW50Q2hhbmdlKClcIj5cclxuICAgICAgICAgICAgSW1tYWdpbmUgcHJlLWNhcmljYXRhIG5lbCBjYW1wb1xyXG4gICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC1zbS0xMiBjb2wtbWQtNCBtdC0yIG1iLTIgIGFsaWduLXNlbGYtY2VudGVyXCIgW2Zvcm1Hcm91cF09XCJmaWVsZEZvcm1Hcm91cFwiPlxyXG4gICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIFsobmdNb2RlbCldPVwiZmllbGQuRW5hYmxlRHJhd2luZ1wiIGZvcm1Db250cm9sTmFtZT1cIkVuYWJsZURyYXdpbmdcIiBjb2xvcj1cInByaW1hcnlcIj5cclxuICAgICAgICAgICAgQWJpbGl0YSBpbCBkaXNlZ25vXHJcbiAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTEyIGNvbC1tZC00IG10LTIgYWxpZ24tc2VsZi1jZW50ZXJcIiBbZm9ybUdyb3VwXT1cImZpZWxkRm9ybUdyb3VwXCJcclxuICAgICAgICAqbmdJZj1cIiFmaWVsZC5JbWFnZUlzQ29udGV4dHVhbEF0dGFjaG1lbnRcIj5cclxuICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBbKG5nTW9kZWwpXT1cImZpZWxkLkF0dGFjaERlZmluaXRpb24uSXNNdWx0aUF0dGFjaFwiIGZvcm1Db250cm9sTmFtZT1cIklzTXVsdGlBdHRhY2hcIlxyXG4gICAgICAgICAgICBjb2xvcj1cInByaW1hcnlcIj5cclxuICAgICAgICAgICAgSW1tYWdpbmkgbXVsdGlwbGVcclxuICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tMTIgY29sLW1kLTQgbXQtMlwiICpuZ0lmPVwiIWZpZWxkLkltYWdlSXNDb250ZXh0dWFsQXR0YWNobWVudFwiPlxyXG4gICAgICAgIDxtYXQtbGFiZWw+RXN0ZW5zaW9uaSBhY2NldHRhdGU8L21hdC1sYWJlbD5cclxuICAgICAgICA8ZXFwLXNlbGVjdCBbYXJyYXlEYXRhXT1cIkF2YWlsYWJsZUltYWdlRXh0ZW5zaW9uc1wiIFsobmdNb2RlbElucHV0KV09XCJmaWVsZC5BdHRhY2hEZWZpbml0aW9uLkFsbG93ZWRFeHRlbnNpb25zXCJcclxuICAgICAgICAgICAgW2FycmF5S2V5UHJvcGVydHldPVwiJ2tleSdcIiBbYXJyYXlWYWx1ZVByb3BlcnR5XT1cIid2YWx1ZSdcIiBbaXNNdWx0aVNlbGVjdF09XCJ0cnVlXCJcclxuICAgICAgICAgICAgW2Zvcm1Hcm91cElucHV0XT1cImZpZWxkRm9ybUdyb3VwXCIgW2Zvcm1Db250cm9sTmFtZUlucHV0XT1cIidBbGxvd2VkRXh0ZW5zaW9ucydcIiBbaW5jbHVkZUZ1bGxPYmplY3RdPVwiZmFsc2VcIj5cclxuICAgICAgICA8L2VxcC1zZWxlY3Q+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tMTIgY29sLW1kLTQgbXQtMlwiIFtmb3JtR3JvdXBdPVwiZmllbGRGb3JtR3JvdXBcIiAqbmdJZj1cImZpZWxkLkltYWdlSXNDb250ZXh0dWFsQXR0YWNobWVudFwiPlxyXG4gICAgICAgIDxtYXQtbGFiZWw+IE5vbWUgaW1tYWdpbmUqIDwvbWF0LWxhYmVsPlxyXG4gICAgICAgIDxtYXQtZm9ybS1maWVsZD5cclxuICAgICAgICAgICAgPGlucHV0IGZvcm1Db250cm9sTmFtZT1cIkltZ05hbWVcIiBtYXRJbnB1dCBbKG5nTW9kZWwpXT1cImZpZWxkLkltZ05hbWVcIiByZXF1aXJlZCBzcGVsbGNoZWNrPVwiZmFsc2VcIiBhdXRvY29tcGxldGU9XCJvZmZcIiAoa2V5cHJlc3MpPVwib21pdF9zcGVjaWFsX2NoYXIoJGV2ZW50KVwiIChmb2N1c291dCk9XCJzdHJpbmdTYW5pdGl6ZXIoZmllbGQuSW1nTmFtZSlcIj5cclxuICAgICAgICAgICAgPG1hdC1lcnJvcj5cclxuICAgICAgICAgICAgICAgIHt7IGdldEZvcm1WYWxpZGF0aW9uRXJyb3JzKCdJbWdOYW1lJykgfX1cclxuICAgICAgICAgICAgPC9tYXQtZXJyb3I+XHJcbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC1zbS0xMiBjb2wtbWQtOCBtdC0yXCIgW2Zvcm1Hcm91cF09XCJmaWVsZEZvcm1Hcm91cFwiICpuZ0lmPVwiZmllbGQuSW1hZ2VJc0NvbnRleHR1YWxBdHRhY2htZW50XCI+XHJcbiAgICAgICAgPGVxcC1hdHRhY2htZW50cyBbYXR0YWNobWVudHNMaXN0XT1cImZpZWxkLl9jb250ZXh0dWFsQXR0YWNobWVudHNcIiBbc2hvd01hdENhcmRdPVwiZmFsc2VcIiBbYWxsb3dPbmx5SW1hZ2VzXT1cInRydWVcIlxyXG4gICAgICAgICAgICBbaXNEaXNhYmxlZF09XCJmYWxzZVwiIFtzaG93SW5saW5lUHJldmlld109XCJ0cnVlXCIgW211bHRpcGxlQXR0YWNobWVudF09XCJmYWxzZVwiIFtzaG93SGVhZGVyXT1cImZhbHNlXCJcclxuICAgICAgICAgICAgKGxvY2FsRWRpdGVkQXR0YWNobWVudHMpPVwiY2F0Y2hDb250ZXh0dWFsQXR0YWNobWVudENoYW5nZSgkZXZlbnQpXCIgI2NvbnRleHR1YWxBdHRhY2htZW50RXFwQXR0YWNobWVudHM+XHJcbiAgICAgICAgPC9lcXAtYXR0YWNobWVudHM+XHJcbiAgICA8L2Rpdj5cclxuICAgIDwhLS0gPGRpdiBjbGFzcz1cImNvbC1zbS0xMiBtdC0yXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBtdC0yXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tMTIgY29sLW1kLTZcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkZXItdGl0bGUtc3RhbmRhcmRcIj5cclxuICAgICAgICAgICAgICAgICAgICBFbGVuY28gbWV0YWRhdGFcclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1zbS0xMiBjb2wtbWQtNiB0ZXh0LXJpZ2h0IGJ1dHRvbnNGb3JtXCI+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IHNhdmVcIiBtYXQtcmFpc2VkLWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib3Blbk1ldGFkYXRhRGlhbG9nKClcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24+YWRkPC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBzdHlsZT1cIm1hcmdpbi1sZWZ0OiAxMHB4O1wiPkFnZ2l1bmdpPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxlcXAtdGFibGUgI21ldGFkYXRhRmllbGRzVGFibGUgW2NyZWF0ZU1hdENhcmRdPVwiZmFsc2VcIiBbY29sdW1uc109XCJtZXRhZGF0YUNvbHVtbnNcIlxyXG4gICAgICAgICAgICBbZGF0YV09XCJmaWVsZC5BdHRhY2hEZWZpbml0aW9uLk1ldGFkYXRhRmllbGRzXCIgW2VtcHR5VGFibGVNZXNzYWdlXT1cIidOZXNzdW4gbWV0YWRhdGEgaW5zZXJpdG8nXCJcclxuICAgICAgICAgICAgW3NlYXJjaFRleHRdPVwiJ0NlcmNhJ1wiPlxyXG4gICAgICAgIDwvZXFwLXRhYmxlPlxyXG4gICAgPC9kaXY+IC0tPlxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPCEtLSBGT1JNIFBST1BSSUVUw4AgQ0FNUEkgTElTVEEgREkgVkFMT1JJIC0tPlxyXG48bmctdGVtcGxhdGUgI2xpc3RWYWx1ZUZpZWxkRm9ybVRlbXBsYXRlPlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC1zbS0xMiBjb2wtbWQtNCBtdC0yICBhbGlnbi1zZWxmLWNlbnRlclwiIFtmb3JtR3JvdXBdPVwiZmllbGRGb3JtR3JvdXBcIj5cclxuICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBbKG5nTW9kZWwpXT1cImZpZWxkLklzTXVsdGlDaG9pY2hlXCIgZm9ybUNvbnRyb2xOYW1lPVwiSXNNdWx0aUNob2ljaGVcIiBjb2xvcj1cInByaW1hcnlcIj5cclxuICAgICAgICAgICAgU2NlbHRhIG11bHRpcGxhXHJcbiAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTEyIGNvbC1tZC00IG10LTJcIj5cclxuICAgICAgICA8bWF0LWxhYmVsPlRpcG8gZGkgcHJlc2VudGF6aW9uZSo8L21hdC1sYWJlbD5cclxuICAgICAgICA8ZXFwLXNlbGVjdCBbZW51bURhdGFdPVwiTGlzdFByZXNlbnRhdGlvbkVudW1cIiBbKG5nTW9kZWxJbnB1dCldPVwiZmllbGQuUHJlc2VudGF0aW9uTW9kZVwiIHJlcXVpcmVkXHJcbiAgICAgICAgICAgIFtzaG93Q2FuY2VsQnV0dG9uXT1cImZhbHNlXCIgW2Zvcm1Hcm91cElucHV0XT1cImZpZWxkRm9ybUdyb3VwXCIgW2Zvcm1Db250cm9sTmFtZUlucHV0XT1cIidQcmVzZW50YXRpb25Nb2RlJ1wiXHJcbiAgICAgICAgICAgIChuZ01vZGVsSW5wdXRDaGFuZ2UpPVwib25QcmVzZW50YXRpb25Nb2RlQ2hhbmdlKClcIj5cclxuICAgICAgICA8L2VxcC1zZWxlY3Q+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tMTIgbXQtMlwiICpuZ0lmPVwiZmllbGQuUHJlc2VudGF0aW9uTW9kZSAhPSBMaXN0UHJlc2VudGF0aW9uRW51bS5JbW1hZ2luaVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgPGg0IGNsYXNzPVwia2V5LXZhbHVlLWxpc3Qtc2VjdGlvbi10aXRsZVwiPiA8L2g0PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTRcIj5cclxuICAgICAgICAgICAgICAgIDxtYXQtbGFiZWw+IExhYmVsIG9wemlvbmUgKGludmlvIHBlciBjb25mZXJtYXJlKTwvbWF0LWxhYmVsPlxyXG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBbKG5nTW9kZWwpXT1cImtleVZhbHVlT2JqZWN0LmtleVwiIChrZXl1cCk9XCJvbk11bHRpU2VsZWN0SW5wdXRLZXl1cCgkZXZlbnQsIG51bGwpXCIgc3BlbGxjaGVjaz1cImZhbHNlXCIgYXV0b2NvbXBsZXRlPVwib2ZmXCI+XHJcbiAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC00XCI+XHJcbiAgICAgICAgICAgICAgICA8bWF0LWxhYmVsPiBWYWxvcmUgb3B6aW9uZSAoaW52aW8gcGVyIGNvbmZlcm1hcmUpPC9tYXQtbGFiZWw+XHJcbiAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IFsobmdNb2RlbCldPVwia2V5VmFsdWVPYmplY3QudmFsdWVcIiAoa2V5dXApPVwib25NdWx0aVNlbGVjdElucHV0S2V5dXAoJGV2ZW50LCBudWxsKVwiIHNwZWxsY2hlY2s9XCJmYWxzZVwiIGF1dG9jb21wbGV0ZT1cIm9mZlwiPlxyXG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNCAgYWxpZ24tc2VsZi1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibXItM1wiPk9wemlvbmkgaW5zZXJpdGU6PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPHVsIGNsYXNzPVwidmFsdWUtcGFpcnMtbGlzdFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxsaSAqbmdGb3I9XCJsZXQga2V5VmFsdWVQYWlyIG9mIGdldERpY3Rpb25hcnlLZXlWYWx1ZSgpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cIm1yLTFcIiAoY2xpY2spPVwiZGVsZXRlS2V5RnJvbURpY3Rpb25hcnkoa2V5VmFsdWVQYWlyLmtleSlcIj5jbG9zZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj48Yj5MYWJlbDogPC9iPiB7e2tleVZhbHVlUGFpci5rZXl9fSAtIDxiPlZhbG9yZTogPC9iPiB7e2tleVZhbHVlUGFpci52YWx1ZX19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgICAgICA8L3VsPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC1zbS0xMiBjb2wtbWQtMTIgbXQtMlwiICpuZ0lmPVwiZmllbGQuUHJlc2VudGF0aW9uTW9kZSA9PSBMaXN0UHJlc2VudGF0aW9uRW51bS5JbW1hZ2luaVwiPlxyXG4gICAgICAgIDxlcXAtYXR0YWNobWVudHMgW2F0dGFjaG1lbnRzTGlzdF09XCJmaWVsZC5CdXR0b25JbWFnZUxpc3RcIiBbc2hvd01hdENhcmRdPVwiZmFsc2VcIiBbYWxsb3dPbmx5SW1hZ2VzXT1cInRydWVcIlxyXG4gICAgICAgICAgICBbaXNEaXNhYmxlZF09XCJmYWxzZVwiIFtzaG93SW5saW5lUHJldmlld109XCJ0cnVlXCIgW211bHRpcGxlQXR0YWNobWVudF09XCJ0cnVlXCIgW3Nob3dIZWFkZXJdPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICBbYWxsb3dlZFR5cGVzXT1cIltBdHRhY2htZW50VHlwZS5GSUxFXVwiIChsb2NhbEVkaXRlZEF0dGFjaG1lbnRzKT1cImNhdGNoQnV0dG9uSW1hZ2VzQ2hhbmdlKCRldmVudClcIlxyXG4gICAgICAgICAgICAob25Db21wb25lbnRMb2FkZWQpPVwiY29uZmlndXJlQnV0dG9uSW1hZ2VzQ29sdW1ucygkZXZlbnQpXCI+XHJcbiAgICAgICAgPC9lcXAtYXR0YWNobWVudHM+XHJcbiAgICA8L2Rpdj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjwhLS0gRk9STSBQUk9QUklFVMOAIENBTVBJIExPT0tVUCAtLT5cclxuPG5nLXRlbXBsYXRlICNsb29rdXBGaWVsZEZvcm1UZW1wbGF0ZT5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tMTIgY29sLW1kLTQgbXQtMiAgYWxpZ24tc2VsZi1jZW50ZXJcIiBbZm9ybUdyb3VwXT1cImZpZWxkRm9ybUdyb3VwXCI+XHJcbiAgICAgICAgPG1hdC1zbGlkZS10b2dnbGUgWyhuZ01vZGVsKV09XCJmaWVsZC5Vc2VBc0dldE9yRGlzY2FyZFwiIGZvcm1Db250cm9sTmFtZT1cIlVzZUFzR2V0T3JEaXNjYXJkXCIgY29sb3I9XCJwcmltYXJ5XCJcclxuICAgICAgICAgICAgbWF0VG9vbHRpcD1cIlNlIHRydWUgbGEgbG9va3VwIHZpZW5lIHZpc3VhbGl6emF0YSBpbiB1bmEgbW9kYWxlIHBlciBsbyBzY2VnbGkgc2NhcnRhXCI+XHJcbiAgICAgICAgICAgIFVzYSBwZXIgc2NlZ2xpIG8gc2NhcnRhXHJcbiAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTEyIGNvbC1tZC00IG10LTJcIiBbZm9ybUdyb3VwXT1cImZpZWxkRm9ybUdyb3VwXCI+XHJcbiAgICAgICAgPG1hdC1sYWJlbD4gTm9tZSBlbnRpdMOgIDwvbWF0LWxhYmVsPlxyXG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBtYXRUb29sdGlwPVwiTm9tZSBkZWxsJ2VudGl0w6AgcmVsYXppb25hdGFcIj5cclxuICAgICAgICAgICAgPGlucHV0IGZvcm1Db250cm9sTmFtZT1cIkVudGl0eVNvdXJjZU5hbWVcIiByZXF1aXJlZCBtYXRJbnB1dCBbKG5nTW9kZWwpXT1cImZpZWxkLkVudGl0eVNvdXJjZU5hbWVcIiBzcGVsbGNoZWNrPVwiZmFsc2VcIiBhdXRvY29tcGxldGU9XCJvZmZcIiAoa2V5cHJlc3MpPVwib21pdF9zcGVjaWFsX2NoYXIoJGV2ZW50KVwiIChmb2N1c291dCk9XCJzdHJpbmdTYW5pdGl6ZXIoZmllbGQuRW50aXR5U291cmNlTmFtZSlcIj5cclxuICAgICAgICAgICAgPG1hdC1lcnJvcj5cclxuICAgICAgICAgICAgICAgIHt7IGdldEZvcm1WYWxpZGF0aW9uRXJyb3JzKCdFbnRpdHlTb3VyY2VOYW1lJykgfX1cclxuICAgICAgICAgICAgPC9tYXQtZXJyb3I+XHJcbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC1zbS0xMiBtdC0yXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTRcIj5cclxuICAgICAgICAgICAgICAgIDxtYXQtbGFiZWw+IE5vbWkgZGVpIGNhbXBpIChpbnZpbyBwZXIgY29uZmVybWFyZSkgPC9tYXQtbGFiZWw+XHJcbiAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGRcclxuICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPVwiRWxlbmNvIGRpIGNhbXBpIG9yZGluYXRvIGNoZSB2ZXJyw6AgdmlzdWFsaXp6YXRvIG5lbGxhIGxvb2t1cCAocHJlbWVyZSBpbnZpbyBwZXIgY29uZmVybWFyZSlcIj5cclxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgKGtleXVwKT1cIm9uTXVsdGlTZWxlY3RJbnB1dEtleXVwKCRldmVudCwgJ0ZpZWxkTmFtZXMnKVwiIHNwZWxsY2hlY2s9XCJmYWxzZVwiIGF1dG9jb21wbGV0ZT1cIm9mZlwiID5cclxuICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTggIGFsaWduLXNlbGYtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1yLTNcIj5Ob21pIHNlbGV6aW9uYXRpOjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleHRlbnNpb24tY29udGFpbmVyXCIgKm5nRm9yPVwibGV0IGV4dGVuc2lvbiBvZiBmaWVsZC5GaWVsZE5hbWVzOyBsZXQgaSA9IGluZGV4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3tleHRlbnNpb259fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJtbC0xXCIgKGNsaWNrKT1cImZpZWxkLkZpZWxkTmFtZXMuc3BsaWNlKGksMSlcIj5jbG9zZVxyXG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjwhLS0gRElBTE9HIFBFUiBBR0dJVU5HRVJFIFVOIE1FVEFEQVRBIE5FSSBDQU1QSSBESSBUSVBPIEFMTEVHQVRPIE8gSU1NQUdJTkUgLS0+XHJcbjwhLS0gPG5nLXRlbXBsYXRlICNkaWFsb2dNZXRhZGF0YT5cclxuICAgIDxlcXAtZHluYW1pYy1tb2R1bGUtYWRkLWZvcm0tZmllbGQgW2ZpZWxkXT1cInNlbGVjdGVkTWV0YWRhdGFcIiBbYXZhaWxhYmxlRmllbGRzXT1cImF2YWlsYWJsZUZpZWxkc1wiXHJcbiAgICAgICAgW2luZGV4RmllbGRdPVwiaW5kZXhTZWxlY3RlZE1ldGFkYXRhXCIgKHNhdmVGaWVsZEV2ZW50KT1cIm9uU2F2ZU1ldGFkYXRhKCRldmVudClcIiBbZmllbGRUeXBlc1RvRXhjbHVkZV09XCJbNiw3LDEwXVwiPlxyXG4gICAgPC9lcXAtZHluYW1pYy1tb2R1bGUtYWRkLWZvcm0tZmllbGQ+XHJcbjwvbmctdGVtcGxhdGU+IC0tPlxyXG5cclxuPG5nLXRlbXBsYXRlICNidXR0b25JbWFnZXNLZXlWYWx1ZUlucHV0Q29sdW1uIGxldC1yb3c9XCJyb3dcIiBsZXQtY29sPVwiY29sXCI+XHJcbiAgICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgPG1hdC1sYWJlbD4ge3tjb2wuZGlzcGxheX19IDwvbWF0LWxhYmVsPlxyXG4gICAgICAgIDxpbnB1dCBtYXRJbnB1dCBbKG5nTW9kZWwpXT1cInJvd1tjb2wua2V5XVwiIHJlcXVpcmVkIHNwZWxsY2hlY2s9XCJmYWxzZVwiIGF1dG9jb21wbGV0ZT1cIm9mZlwiPlxyXG4gICAgPC9tYXQtZm9ybS1maWVsZD5cclxuPC9uZy10ZW1wbGF0ZT5cclxuPCEtLURJQUxPRyBQRVIgU0VNUExJRklDQVJFIExBIFNDUklUVFVSQSBERUwgQ0FNUE8gRk9STVVMQS0tPlxyXG48bmctdGVtcGxhdGUgI2RpYWxvZ0Zvcm11bGE+XHJcbiAgICA8ZXFwLWR5bmFtaWMtbW9kdWxlLWFkZC1mb3JtdWxhLWNvbXBvbmVudD5cclxuICAgIDwvZXFwLWR5bmFtaWMtbW9kdWxlLWFkZC1mb3JtdWxhLWNvbXBvbmVudD5cclxuPC9uZy10ZW1wbGF0ZT4iXX0=