ets-fe-ng-sdk 17.0.83 → 17.0.85

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.
@@ -137,8 +137,9 @@ export class FormGeneratorComponent extends BaseFormGenerator {
137
137
  setOptionLabel($event, scheme) {
138
138
  scheme.selectedOptionLabel = $event;
139
139
  }
140
- async submit() {
140
+ async submit(btn) {
141
141
  if (this.submitFunc) {
142
+ btn?.setLoader(true);
142
143
  this.loading = true;
143
144
  this.onSubmit.emit(this.form.value);
144
145
  try {
@@ -150,12 +151,13 @@ export class FormGeneratorComponent extends BaseFormGenerator {
150
151
  this.uS.info(error, 0);
151
152
  }
152
153
  this.loading = false;
154
+ btn?.setLoader(false);
153
155
  }
154
156
  else
155
157
  this.onSubmit.emit(this.form.value);
156
158
  }
157
159
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: FormGeneratorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
158
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.0.7", type: FormGeneratorComponent, isStandalone: true, selector: "form-generator", inputs: { keyField: "keyField", submitFunc: "submitFunc", submitBtnText: "submitBtnText", submitBtnTemplate: "submitBtnTemplate", submitSuccessText: "submitSuccessText", showSubmitBtn: "showSubmitBtn", gridStyle: "gridStyle", gridMDStyle: "gridMDStyle", gridLGStyle: "gridLGStyle", gridXXLStyle: "gridXXLStyle", formGridClass: "formGridClass", useLoader: "useLoader", loading: "loading", form: "form", _formSchema: ["formSchema", "_formSchema"], _isShow: ["isShow", "_isShow"] }, outputs: { onSubmit: "onSubmit", mchange: "mchange", _submissionResponse: "submissionResponse" }, usesInheritance: true, ngImport: i0, template: "<loader [loading]=\"useLoader && loading\">\n <form>\n <div\n class=\"row row-cols-{{ gridStyle }} row-cols-md-{{ gridMDStyle }} row-cols-lg-{{ gridLGStyle }} row-cols-xxl-{{\n gridXXLStyle\n }} align-items-center {{ formGridClass }}\">\n @for (scheme of formSchema; track uS.trackByID($index, scheme)) {\n @if (!scheme.hidden && (!scheme.hideIfFunc || !scheme.hideIfFunc(form.value))) {\n <div class=\"col {{ scheme.cls }} \">\n @switch (true) {\n @case (scheme.type == 'tel') {\n <app-phone-number\n [form]=\"scheme.form || form\"\n [label]=\"scheme.label\"\n [clearOnDisable]=\"scheme.clearOnDisable\"\n [stacked]=\"scheme.stacked\"\n [name]=\"scheme.field\"\n [showLabel]=\"false\"\n [noFormat]=\"scheme.noFormat\"\n [debug]=\"scheme.debug\"\n (mchange)=\"mchangeEmitter()\"\n [showValidation]=\"scheme.showValidation\"\n [autoPickValueField]=\"scheme.autoPickValueField\"\n [showRequiredTag]=\"scheme.showRequiredTag\"\n [showValidationMsg]=\"scheme.showValidationMsg\"\n [showValidationIcon]=\"scheme.showValidationIcon\"\n [countryCode3]=\"cellCountryCode3s[scheme.getCountryCode3Key] || scheme.countryCode3\"\n [disabled]=\"scheme.disabled || (scheme.disabledIf | functionCaller2: form.value : (scheme.field | toAny))\" />\n }\n @case (scheme.type == 'autocomplete') {\n <app-autocomplete\n [form]=\"scheme.form || form\"\n [label]=\"scheme.label\"\n [clearOnDisable]=\"scheme.clearOnDisable\"\n [stacked]=\"scheme.stacked\"\n [labelField]=\"scheme.labelField\"\n [noFormat]=\"scheme.noFormat\"\n [labelType]=\"scheme.labelType | toAny\"\n (mchange)=\"mchangeEmitter()\"\n (mSelectedOptionLabel)=\"setOptionLabel($event, scheme)\"\n [name]=\"scheme.field\"\n [debug]=\"scheme.debug\"\n [showRequiredTag]=\"scheme.showRequiredTag\"\n [optionFormatter]=\"scheme.optionFormatter\"\n [valueField]=\"scheme.valueField\"\n [optionsFunc]=\"scheme.optionsFunc\"\n [showValidationMsg]=\"scheme.showValidationMsg\"\n [autoPickValueField]=\"scheme.autoPickValueField\"\n [options]=\"scheme.options || optionsMap[scheme.field | toAny]\"\n [hint]=\"scheme.hint\"\n [disabled]=\"scheme.disabled || (scheme.disabledIf | functionCaller2: form.value : (scheme.field | toAny))\" />\n }\n @default {\n <app-input-basic\n [noFormat]=\"scheme.noFormat\"\n [name]=\"scheme.field\"\n [form]=\"scheme.form || form\"\n [clearOnDisable]=\"scheme.clearOnDisable\"\n [type]=\"scheme.type\"\n [valueField]=\"scheme.valueField\"\n [autoPickValueField]=\"scheme.autoPickValueField\"\n [stacked]=\"scheme.stacked\"\n [labelType]=\"scheme.labelType | toAny\"\n [checked]=\"scheme.checked\"\n [showValidation]=\"!!scheme.asyncValidators\"\n [showValidationIcon]=\"!!scheme.asyncValidators\"\n [debug]=\"scheme.debug\"\n (mchange)=\"mchangeEmitter()\"\n [showRequiredTag]=\"scheme.showRequiredTag\"\n [labelField]=\"scheme.labelField\"\n [optionFormatter]=\"scheme.optionFormatter\"\n (mSelectedOptionLabel)=\"setOptionLabel($event, scheme)\"\n [options]=\"scheme.options || optionsMap[scheme.field | toAny]\"\n [decimalPoints]=\"scheme.decimalPoints\"\n [hint]=\"scheme.hint\"\n [max]=\"scheme.max\"\n [min]=\"scheme.min\"\n [placeholder]=\"scheme.placeholder\"\n [label]=\"scheme.label\"\n [showValidationMsg]=\"scheme.showValidationMsg\"\n [disabled]=\"scheme.disabled || (scheme.disabledIf | functionCaller2: form.value : (scheme.field | toAny))\" />\n }\n }\n </div>\n }\n }\n </div>\n <div class=\"row row-cols-auto justify-content-end\">\n <div class=\"\">\n @if (showSubmitBtn) {\n <app-btn [text]=\"submitBtnText\" actionType=\"submit\" group=\"submit\" [form]=\"form\" (mclick)=\"submit()\" />\n }\n @if (submitBtnTemplate) {\n <ng-container *ngTemplateOutlet=\"submitBtnTemplate\"></ng-container>\n }\n </div>\n </div>\n </form>\n</loader>\n", styles: [""], dependencies: [{ kind: "component", type: LoaderComponent, selector: "loader", inputs: ["class", "text", "loading", "height"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: PhoneNumberComponent, selector: "app-phone-number", inputs: ["showLabel", "countryCode3", "config"], outputs: ["onCountrySelect"] }, { kind: "component", type: AutocompleteComponent, selector: "app-autocomplete,autocomplete", inputs: ["showRequiredTag", "validate", "options"] }, { kind: "component", type: InputBasicComponent, selector: "app-input-basic,app-input", inputs: ["accept", "autocomplete", "autoPickValueField", "clearOnDisable", "cls", "input", "colored", "checked", "contextData", "debug", "decimalPoints", "endLabel", "endLabelTooltip", "files", "noFormat", "hide", "hint", "id", "inpCl", "label", "labelLink", "labelField", "labelType", "lblCl", "light", "loading", "max", "maxToday", "minToday", "min", "minLength", "maxLength", "mini", "multiple", "optionFormatter", "optionsFunc", "placeholder", "prefix", "readonly", "required", "showEmptyOption", "showLabel", "showValidation", "showValidationMsg", "showValidationIcon", "small", "stacked", "suffix", "theme", "translateOptions", "valueField", "vms", "xsmall", "setCurrentDate", "duplicateCheck", "disabled", "customSelectChangeAction", "options", "type", "mvalue"], outputs: ["mchange", "mSelectOptionChange", "mSelectedOptionLabel", "mContextChange"] }, { kind: "component", type: BtnComponent, selector: "app-btn", inputs: ["formSchema", "centerBtn", "danger", "warning", "icon", "rightIcon", "leftIcon", "type", "group", "actionType", "animate", "excludeLogging", "loggingValue", "badge", "class", "customIcon", "disabled", "form", "forms", "help", "iconBtn", "loading", "mclass", "showHelpIcon", "rightCustomIcon", "leftCustomIcon", "text", "valid", "mini", "onFormInvalid"], outputs: ["mclick"] }, { kind: "pipe", type: FunctionCaller2, name: "functionCaller2" }, { kind: "pipe", type: ToAnyPipe, name: "toAny" }] }); }
160
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.0.7", type: FormGeneratorComponent, isStandalone: true, selector: "form-generator", inputs: { keyField: "keyField", submitFunc: "submitFunc", submitBtnText: "submitBtnText", submitBtnTemplate: "submitBtnTemplate", submitSuccessText: "submitSuccessText", showSubmitBtn: "showSubmitBtn", gridStyle: "gridStyle", gridMDStyle: "gridMDStyle", gridLGStyle: "gridLGStyle", gridXXLStyle: "gridXXLStyle", formGridClass: "formGridClass", useLoader: "useLoader", loading: "loading", form: "form", _formSchema: ["formSchema", "_formSchema"], _isShow: ["isShow", "_isShow"] }, outputs: { onSubmit: "onSubmit", mchange: "mchange", _submissionResponse: "submissionResponse" }, usesInheritance: true, ngImport: i0, template: "<loader [loading]=\"useLoader && loading\">\n <form>\n <div\n class=\"row row-cols-{{ gridStyle }} row-cols-md-{{ gridMDStyle }} row-cols-lg-{{ gridLGStyle }} row-cols-xxl-{{\n gridXXLStyle\n }} align-items-center {{ formGridClass }}\">\n @for (scheme of formSchema; track uS.trackByID($index, scheme)) {\n @if (!scheme.hidden && (!scheme.hideIfFunc || !scheme.hideIfFunc(form.value))) {\n <div class=\"col {{ scheme.cls }} \">\n @switch (true) {\n @case (scheme.type == 'tel') {\n <app-phone-number\n [form]=\"scheme.form || form\"\n [label]=\"scheme.label\"\n [clearOnDisable]=\"scheme.clearOnDisable\"\n [stacked]=\"scheme.stacked\"\n [name]=\"scheme.field\"\n [showLabel]=\"false\"\n [noFormat]=\"scheme.noFormat\"\n [debug]=\"scheme.debug\"\n (mchange)=\"mchangeEmitter()\"\n [showValidation]=\"scheme.showValidation\"\n [autoPickValueField]=\"scheme.autoPickValueField\"\n [showRequiredTag]=\"scheme.showRequiredTag\"\n [showValidationMsg]=\"scheme.showValidationMsg\"\n [showValidationIcon]=\"scheme.showValidationIcon\"\n [countryCode3]=\"cellCountryCode3s[scheme.getCountryCode3Key] || scheme.countryCode3\"\n [disabled]=\"scheme.disabled || (scheme.disabledIf | functionCaller2: form.value : (scheme.field | toAny))\" />\n }\n @case (scheme.type == 'autocomplete') {\n <app-autocomplete\n [form]=\"scheme.form || form\"\n [label]=\"scheme.label\"\n [clearOnDisable]=\"scheme.clearOnDisable\"\n [stacked]=\"scheme.stacked\"\n [labelField]=\"scheme.labelField\"\n [noFormat]=\"scheme.noFormat\"\n [labelType]=\"scheme.labelType | toAny\"\n (mchange)=\"mchangeEmitter()\"\n (mSelectedOptionLabel)=\"setOptionLabel($event, scheme)\"\n [name]=\"scheme.field\"\n [debug]=\"scheme.debug\"\n [showRequiredTag]=\"scheme.showRequiredTag\"\n [optionFormatter]=\"scheme.optionFormatter\"\n [valueField]=\"scheme.valueField\"\n [optionsFunc]=\"scheme.optionsFunc\"\n [showValidationMsg]=\"scheme.showValidationMsg\"\n [autoPickValueField]=\"scheme.autoPickValueField\"\n [options]=\"scheme.options || optionsMap[scheme.field | toAny]\"\n [hint]=\"scheme.hint\"\n [disabled]=\"scheme.disabled || (scheme.disabledIf | functionCaller2: form.value : (scheme.field | toAny))\" />\n }\n @default {\n <app-input-basic\n [noFormat]=\"scheme.noFormat\"\n [name]=\"scheme.field\"\n [form]=\"scheme.form || form\"\n [clearOnDisable]=\"scheme.clearOnDisable\"\n [type]=\"scheme.type\"\n [valueField]=\"scheme.valueField\"\n [autoPickValueField]=\"scheme.autoPickValueField\"\n [stacked]=\"scheme.stacked\"\n [labelType]=\"scheme.labelType | toAny\"\n [checked]=\"scheme.checked\"\n [showValidation]=\"!!scheme.asyncValidators\"\n [showValidationIcon]=\"!!scheme.asyncValidators\"\n [debug]=\"scheme.debug\"\n (mchange)=\"mchangeEmitter()\"\n [showRequiredTag]=\"scheme.showRequiredTag\"\n [labelField]=\"scheme.labelField\"\n [optionFormatter]=\"scheme.optionFormatter\"\n (mSelectedOptionLabel)=\"setOptionLabel($event, scheme)\"\n [options]=\"scheme.options || optionsMap[scheme.field | toAny]\"\n [decimalPoints]=\"scheme.decimalPoints\"\n [hint]=\"scheme.hint\"\n [max]=\"scheme.max\"\n [min]=\"scheme.min\"\n [placeholder]=\"scheme.placeholder\"\n [label]=\"scheme.label\"\n [showValidationMsg]=\"scheme.showValidationMsg\"\n [disabled]=\"scheme.disabled || (scheme.disabledIf | functionCaller2: form.value : (scheme.field | toAny))\" />\n }\n }\n </div>\n }\n }\n </div>\n <div class=\"row row-cols-auto justify-content-end\">\n <div class=\"\">\n @if (showSubmitBtn) {\n <app-btn [text]=\"submitBtnText\" actionType=\"submit\" group=\"submit\" [form]=\"form\" (mclick)=\"submit(submitBtn)\" #submitBtn />\n }\n @if (submitBtnTemplate) {\n <ng-container *ngTemplateOutlet=\"submitBtnTemplate\"></ng-container>\n }\n </div>\n </div>\n </form>\n</loader>\n", styles: [""], dependencies: [{ kind: "component", type: LoaderComponent, selector: "loader", inputs: ["class", "text", "loading", "height"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: PhoneNumberComponent, selector: "app-phone-number", inputs: ["showLabel", "countryCode3", "config"], outputs: ["onCountrySelect"] }, { kind: "component", type: AutocompleteComponent, selector: "app-autocomplete,autocomplete", inputs: ["showRequiredTag", "validate", "options"] }, { kind: "component", type: InputBasicComponent, selector: "app-input-basic,app-input", inputs: ["accept", "autocomplete", "autoPickValueField", "clearOnDisable", "cls", "input", "colored", "checked", "contextData", "debug", "decimalPoints", "endLabel", "endLabelTooltip", "files", "noFormat", "hide", "hint", "id", "inpCl", "label", "labelLink", "labelField", "labelType", "lblCl", "light", "loading", "max", "maxToday", "minToday", "min", "minLength", "maxLength", "mini", "multiple", "optionFormatter", "optionsFunc", "placeholder", "prefix", "readonly", "required", "showEmptyOption", "showLabel", "showValidation", "showValidationMsg", "showValidationIcon", "small", "stacked", "suffix", "theme", "translateOptions", "valueField", "vms", "xsmall", "setCurrentDate", "duplicateCheck", "disabled", "customSelectChangeAction", "options", "type", "mvalue"], outputs: ["mchange", "mSelectOptionChange", "mSelectedOptionLabel", "mContextChange"] }, { kind: "component", type: BtnComponent, selector: "app-btn", inputs: ["formSchema", "centerBtn", "danger", "warning", "icon", "rightIcon", "leftIcon", "type", "group", "actionType", "animate", "excludeLogging", "loggingValue", "badge", "class", "customIcon", "disabled", "form", "forms", "help", "iconBtn", "loading", "mclass", "showHelpIcon", "rightCustomIcon", "leftCustomIcon", "text", "valid", "mini", "onFormInvalid"], outputs: ["mclick"] }, { kind: "pipe", type: FunctionCaller2, name: "functionCaller2" }, { kind: "pipe", type: ToAnyPipe, name: "toAny" }] }); }
159
161
  }
160
162
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: FormGeneratorComponent, decorators: [{
161
163
  type: Component,
@@ -172,7 +174,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImpor
172
174
  BtnComponent,
173
175
  FunctionCaller2,
174
176
  ToAnyPipe,
175
- ], template: "<loader [loading]=\"useLoader && loading\">\n <form>\n <div\n class=\"row row-cols-{{ gridStyle }} row-cols-md-{{ gridMDStyle }} row-cols-lg-{{ gridLGStyle }} row-cols-xxl-{{\n gridXXLStyle\n }} align-items-center {{ formGridClass }}\">\n @for (scheme of formSchema; track uS.trackByID($index, scheme)) {\n @if (!scheme.hidden && (!scheme.hideIfFunc || !scheme.hideIfFunc(form.value))) {\n <div class=\"col {{ scheme.cls }} \">\n @switch (true) {\n @case (scheme.type == 'tel') {\n <app-phone-number\n [form]=\"scheme.form || form\"\n [label]=\"scheme.label\"\n [clearOnDisable]=\"scheme.clearOnDisable\"\n [stacked]=\"scheme.stacked\"\n [name]=\"scheme.field\"\n [showLabel]=\"false\"\n [noFormat]=\"scheme.noFormat\"\n [debug]=\"scheme.debug\"\n (mchange)=\"mchangeEmitter()\"\n [showValidation]=\"scheme.showValidation\"\n [autoPickValueField]=\"scheme.autoPickValueField\"\n [showRequiredTag]=\"scheme.showRequiredTag\"\n [showValidationMsg]=\"scheme.showValidationMsg\"\n [showValidationIcon]=\"scheme.showValidationIcon\"\n [countryCode3]=\"cellCountryCode3s[scheme.getCountryCode3Key] || scheme.countryCode3\"\n [disabled]=\"scheme.disabled || (scheme.disabledIf | functionCaller2: form.value : (scheme.field | toAny))\" />\n }\n @case (scheme.type == 'autocomplete') {\n <app-autocomplete\n [form]=\"scheme.form || form\"\n [label]=\"scheme.label\"\n [clearOnDisable]=\"scheme.clearOnDisable\"\n [stacked]=\"scheme.stacked\"\n [labelField]=\"scheme.labelField\"\n [noFormat]=\"scheme.noFormat\"\n [labelType]=\"scheme.labelType | toAny\"\n (mchange)=\"mchangeEmitter()\"\n (mSelectedOptionLabel)=\"setOptionLabel($event, scheme)\"\n [name]=\"scheme.field\"\n [debug]=\"scheme.debug\"\n [showRequiredTag]=\"scheme.showRequiredTag\"\n [optionFormatter]=\"scheme.optionFormatter\"\n [valueField]=\"scheme.valueField\"\n [optionsFunc]=\"scheme.optionsFunc\"\n [showValidationMsg]=\"scheme.showValidationMsg\"\n [autoPickValueField]=\"scheme.autoPickValueField\"\n [options]=\"scheme.options || optionsMap[scheme.field | toAny]\"\n [hint]=\"scheme.hint\"\n [disabled]=\"scheme.disabled || (scheme.disabledIf | functionCaller2: form.value : (scheme.field | toAny))\" />\n }\n @default {\n <app-input-basic\n [noFormat]=\"scheme.noFormat\"\n [name]=\"scheme.field\"\n [form]=\"scheme.form || form\"\n [clearOnDisable]=\"scheme.clearOnDisable\"\n [type]=\"scheme.type\"\n [valueField]=\"scheme.valueField\"\n [autoPickValueField]=\"scheme.autoPickValueField\"\n [stacked]=\"scheme.stacked\"\n [labelType]=\"scheme.labelType | toAny\"\n [checked]=\"scheme.checked\"\n [showValidation]=\"!!scheme.asyncValidators\"\n [showValidationIcon]=\"!!scheme.asyncValidators\"\n [debug]=\"scheme.debug\"\n (mchange)=\"mchangeEmitter()\"\n [showRequiredTag]=\"scheme.showRequiredTag\"\n [labelField]=\"scheme.labelField\"\n [optionFormatter]=\"scheme.optionFormatter\"\n (mSelectedOptionLabel)=\"setOptionLabel($event, scheme)\"\n [options]=\"scheme.options || optionsMap[scheme.field | toAny]\"\n [decimalPoints]=\"scheme.decimalPoints\"\n [hint]=\"scheme.hint\"\n [max]=\"scheme.max\"\n [min]=\"scheme.min\"\n [placeholder]=\"scheme.placeholder\"\n [label]=\"scheme.label\"\n [showValidationMsg]=\"scheme.showValidationMsg\"\n [disabled]=\"scheme.disabled || (scheme.disabledIf | functionCaller2: form.value : (scheme.field | toAny))\" />\n }\n }\n </div>\n }\n }\n </div>\n <div class=\"row row-cols-auto justify-content-end\">\n <div class=\"\">\n @if (showSubmitBtn) {\n <app-btn [text]=\"submitBtnText\" actionType=\"submit\" group=\"submit\" [form]=\"form\" (mclick)=\"submit()\" />\n }\n @if (submitBtnTemplate) {\n <ng-container *ngTemplateOutlet=\"submitBtnTemplate\"></ng-container>\n }\n </div>\n </div>\n </form>\n</loader>\n" }]
177
+ ], template: "<loader [loading]=\"useLoader && loading\">\n <form>\n <div\n class=\"row row-cols-{{ gridStyle }} row-cols-md-{{ gridMDStyle }} row-cols-lg-{{ gridLGStyle }} row-cols-xxl-{{\n gridXXLStyle\n }} align-items-center {{ formGridClass }}\">\n @for (scheme of formSchema; track uS.trackByID($index, scheme)) {\n @if (!scheme.hidden && (!scheme.hideIfFunc || !scheme.hideIfFunc(form.value))) {\n <div class=\"col {{ scheme.cls }} \">\n @switch (true) {\n @case (scheme.type == 'tel') {\n <app-phone-number\n [form]=\"scheme.form || form\"\n [label]=\"scheme.label\"\n [clearOnDisable]=\"scheme.clearOnDisable\"\n [stacked]=\"scheme.stacked\"\n [name]=\"scheme.field\"\n [showLabel]=\"false\"\n [noFormat]=\"scheme.noFormat\"\n [debug]=\"scheme.debug\"\n (mchange)=\"mchangeEmitter()\"\n [showValidation]=\"scheme.showValidation\"\n [autoPickValueField]=\"scheme.autoPickValueField\"\n [showRequiredTag]=\"scheme.showRequiredTag\"\n [showValidationMsg]=\"scheme.showValidationMsg\"\n [showValidationIcon]=\"scheme.showValidationIcon\"\n [countryCode3]=\"cellCountryCode3s[scheme.getCountryCode3Key] || scheme.countryCode3\"\n [disabled]=\"scheme.disabled || (scheme.disabledIf | functionCaller2: form.value : (scheme.field | toAny))\" />\n }\n @case (scheme.type == 'autocomplete') {\n <app-autocomplete\n [form]=\"scheme.form || form\"\n [label]=\"scheme.label\"\n [clearOnDisable]=\"scheme.clearOnDisable\"\n [stacked]=\"scheme.stacked\"\n [labelField]=\"scheme.labelField\"\n [noFormat]=\"scheme.noFormat\"\n [labelType]=\"scheme.labelType | toAny\"\n (mchange)=\"mchangeEmitter()\"\n (mSelectedOptionLabel)=\"setOptionLabel($event, scheme)\"\n [name]=\"scheme.field\"\n [debug]=\"scheme.debug\"\n [showRequiredTag]=\"scheme.showRequiredTag\"\n [optionFormatter]=\"scheme.optionFormatter\"\n [valueField]=\"scheme.valueField\"\n [optionsFunc]=\"scheme.optionsFunc\"\n [showValidationMsg]=\"scheme.showValidationMsg\"\n [autoPickValueField]=\"scheme.autoPickValueField\"\n [options]=\"scheme.options || optionsMap[scheme.field | toAny]\"\n [hint]=\"scheme.hint\"\n [disabled]=\"scheme.disabled || (scheme.disabledIf | functionCaller2: form.value : (scheme.field | toAny))\" />\n }\n @default {\n <app-input-basic\n [noFormat]=\"scheme.noFormat\"\n [name]=\"scheme.field\"\n [form]=\"scheme.form || form\"\n [clearOnDisable]=\"scheme.clearOnDisable\"\n [type]=\"scheme.type\"\n [valueField]=\"scheme.valueField\"\n [autoPickValueField]=\"scheme.autoPickValueField\"\n [stacked]=\"scheme.stacked\"\n [labelType]=\"scheme.labelType | toAny\"\n [checked]=\"scheme.checked\"\n [showValidation]=\"!!scheme.asyncValidators\"\n [showValidationIcon]=\"!!scheme.asyncValidators\"\n [debug]=\"scheme.debug\"\n (mchange)=\"mchangeEmitter()\"\n [showRequiredTag]=\"scheme.showRequiredTag\"\n [labelField]=\"scheme.labelField\"\n [optionFormatter]=\"scheme.optionFormatter\"\n (mSelectedOptionLabel)=\"setOptionLabel($event, scheme)\"\n [options]=\"scheme.options || optionsMap[scheme.field | toAny]\"\n [decimalPoints]=\"scheme.decimalPoints\"\n [hint]=\"scheme.hint\"\n [max]=\"scheme.max\"\n [min]=\"scheme.min\"\n [placeholder]=\"scheme.placeholder\"\n [label]=\"scheme.label\"\n [showValidationMsg]=\"scheme.showValidationMsg\"\n [disabled]=\"scheme.disabled || (scheme.disabledIf | functionCaller2: form.value : (scheme.field | toAny))\" />\n }\n }\n </div>\n }\n }\n </div>\n <div class=\"row row-cols-auto justify-content-end\">\n <div class=\"\">\n @if (showSubmitBtn) {\n <app-btn [text]=\"submitBtnText\" actionType=\"submit\" group=\"submit\" [form]=\"form\" (mclick)=\"submit(submitBtn)\" #submitBtn />\n }\n @if (submitBtnTemplate) {\n <ng-container *ngTemplateOutlet=\"submitBtnTemplate\"></ng-container>\n }\n </div>\n </div>\n </form>\n</loader>\n" }]
176
178
  }], ctorParameters: () => [], propDecorators: { keyField: [{
177
179
  type: Input
178
180
  }], onSubmit: [{
@@ -216,4 +218,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImpor
216
218
  type: Input,
217
219
  args: ['isShow']
218
220
  }] } });
219
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1nZW5lcmF0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXRzLWZlLW5nLXNkay9zcmMvbGliL1NoYXJlZC9jb21wb25lbnRzL2Zvcm0tZ2VuZXJhdG9yL2Zvcm0tZ2VuZXJhdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V0cy1mZS1uZy1zZGsvc3JjL2xpYi9TaGFyZWQvY29tcG9uZW50cy9mb3JtLWdlbmVyYXRvci9mb3JtLWdlbmVyYXRvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFxQixNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUcsT0FBTyxFQUFnRCxXQUFXLEVBQWlDLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUgsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN0QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDcEQsT0FBTyxFQUFFLG1CQUFtQixFQUFtQixNQUFNLGdDQUFnQyxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQy9FLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBQ3RHLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxZQUFZLEVBQUUsZUFBZSxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRTdELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7OztBQUluRSxNQUFNLE9BQWdCLGlCQUFpQjtDQUV0QztBQUVEOztHQUVHO0FBcUJILE1BQU0sT0FBTyxzQkFDWCxTQUFRLGlCQUE2QjtJQXlCckMsSUFBb0QsV0FBVyxDQUFDLENBQTRCO1FBQzFGLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBQ0QsSUFBcUIsT0FBTyxDQUFDLENBQVU7UUFDckMsSUFBSSxDQUFDO1lBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQzs7WUFDM0MsSUFBSSxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQztRQUV6QixVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDO2dCQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7O2dCQUMzQyxJQUFJLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxDQUFDO1FBQzNCLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUNWLENBQUM7SUFPRDtRQUNFLEtBQUssRUFBRSxDQUFDO1FBekNELGFBQVEsR0FBc0IsT0FBTyxDQUFDO1FBRXJDLGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQ25DLFlBQU8sR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQ2Qsd0JBQW1CLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUVuRSxrQkFBYSxHQUFXLFFBQVEsQ0FBQztRQUVqQyxzQkFBaUIsR0FBVyxNQUFNLENBQUM7UUFDbkMsa0JBQWEsR0FBWSxJQUFJLENBQUM7UUF5QnZDLGVBQVUsR0FBaUIsRUFBRSxDQUFDO1FBQzlCLHNCQUFpQixHQUFpQixFQUFFLENBQUM7UUFDckMsU0FBSSxHQUErQyxFQUFFLENBQUM7UUFFdEQseUJBQXlCO1FBQ2xCLE9BQUUsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7UUFpRW5DLGtCQUFhLEdBQUcsQ0FBQyxTQUEyQixFQUFFLEVBQUU7WUFDOUMsWUFBWTtZQUNaLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUFJLFNBQVMsQ0FBQyxDQUFDO1lBQ25FLE9BQU8sR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDaEQsQ0FBQyxDQUFDO0lBbEVGLENBQUM7SUFFRCxRQUFRLEtBQVUsQ0FBQztJQUNuQixXQUFXO1FBQ1QsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUN0QixDQUFDLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRSxDQUFDO1FBQ3hCLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLElBQUksR0FBRyxFQUFFLENBQUM7SUFDakIsQ0FBQztJQUNELElBQUksQ0FBQyxNQUFpQztRQUNwQyxZQUFZO1FBQ1osSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ25CLFlBQVk7UUFDWixJQUFJLE1BQU07WUFBRSxLQUFLLE1BQU0sTUFBTSxJQUFJLE1BQU07Z0JBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3ZFLElBQUksQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFDO1FBQ3pCLElBQUksTUFBTTtZQUNSLEtBQUssTUFBTSxNQUFNLElBQUksTUFBTTtnQkFDekIsSUFBSSxNQUFNLENBQUMscUJBQXFCO29CQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsUUFBUSxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUM5SSxDQUFDO0lBQ0QsZ0JBQWdCLENBQUMsTUFBK0I7UUFDOUMsTUFBTSxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ25DLElBQUksTUFBTSxDQUFDLE9BQU8sSUFBSSxJQUFJO1lBQUUsTUFBTSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7UUFDbEQsSUFBSSxNQUFNLENBQUMsaUJBQWlCLElBQUksSUFBSTtZQUFFLE1BQU0sQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUM7UUFDdEUsSUFBSSxNQUFNLENBQUMsa0JBQWtCLElBQUksSUFBSSxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsVUFBVSxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQztZQUFFLE1BQU0sQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUM7UUFFdEgsSUFBSSxNQUFNLENBQUMsZUFBZTtZQUN4QixNQUFNLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO2dCQUNyQyxNQUFNLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQztZQUNyQixDQUFDLENBQUMsQ0FBQztRQUNMLElBQUksTUFBTSxDQUFDLGdCQUFnQjtZQUN6QixNQUFNLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtnQkFDeEMsTUFBTSxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUM7WUFDckIsQ0FBQyxDQUFDLENBQUM7UUFDTCxJQUFJLE1BQU0sQ0FBQyxZQUFZLEVBQUU7WUFDdkIsSUFBSSxNQUFNLENBQUMsS0FBSztnQkFBRSxRQUFRLENBQUM7WUFDM0IsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxRQUFRLEVBQUUsQ0FBQyxFQUFFLFlBQVksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7Z0JBQzVHLE1BQU0sQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDeEQsQ0FBQyxDQUFDLENBQUM7WUFDSCxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sQ0FBQyxLQUFLLEVBQUUsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1NBQ25FO0lBQ0gsQ0FBQztJQUNELGdCQUFnQixDQUFDLFdBQW9CLEVBQUUsU0FBa0I7UUFDdkQsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsRUFBRSxLQUFLLElBQUksQ0FBQyxDQUFDLFNBQVMsSUFBSSxTQUFTLENBQUMsRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFLENBQUM7SUFDNUgsQ0FBQztJQUNELGVBQWUsQ0FBQyxTQUEyQixFQUFFLFVBQTRDO1FBQ3ZGLFlBQVk7UUFDWixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssSUFBSSxTQUFTLENBQUMsQ0FBQztRQUNuRSxJQUFJLEdBQUcsR0FBRyxDQUFDLENBQUMsRUFBRTtZQUNaLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEdBQUc7Z0JBQ3JCLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUM7Z0JBQ3ZCLEdBQUksVUFBa0I7YUFDdkIsQ0FBQztZQUNGLFlBQVk7WUFDWixxREFBcUQ7WUFDckQsWUFBWTtTQUNiO0lBQ0gsQ0FBQztJQUVELGNBQWM7UUFDWixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQU9ELGVBQWUsQ0FBQyxVQUFtQztRQUNqRCxJQUFJLENBQUMsb0JBQW9CLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQ3hELE1BQU0sR0FBRyxHQUFHLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNsQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDM0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUNELG9CQUFvQixDQUFDLFNBQWlCO1FBQ3BDLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUFJLFNBQVMsQ0FBQyxDQUFDO1FBQ25FLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDdEMsSUFBSSxHQUFHLEdBQUcsQ0FBQyxDQUFDLEVBQUU7WUFDWixJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUUsWUFBWTtnQkFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxFQUFFLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBUyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQ2hKLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQztTQUNoQztJQUNILENBQUM7SUFDRCxjQUFjLENBQUMsTUFBVyxFQUFFLE1BQStCO1FBQ3pELE1BQU0sQ0FBQyxtQkFBbUIsR0FBRyxNQUFNLENBQUM7SUFDdEMsQ0FBQztJQUNELEtBQUssQ0FBQyxNQUFNO1FBQ1YsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ25CLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1lBQ3BCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDcEMsSUFBSTtnQkFDRixJQUFJLENBQUMsa0JBQWtCLEdBQUcsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ2pFLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLENBQUMsQ0FBQztnQkFDeEMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQzthQUN4RDtZQUFDLE9BQU8sS0FBSyxFQUFFO2dCQUNkLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQzthQUN4QjtZQUNELElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1NBQ3RCOztZQUFNLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDN0MsQ0FBQzs4R0EvSVUsc0JBQXNCO2tHQUF0QixzQkFBc0IsbXFCQzVDbkMsZzlKQW1HQSwwRERyRUksZUFBZSxrR0FDZixXQUFXLHVkQUNYLFlBQVksc01BQ1osb0JBQW9CLDRJQUVwQixxQkFBcUIsOEhBR3JCLG1CQUFtQixnNkJBQ25CLFlBQVksK2FBQ1osZUFBZSxtREFDZixTQUFTOzsyRkFHQSxzQkFBc0I7a0JBcEJsQyxTQUFTOytCQUNFLGdCQUFnQixjQUdkLElBQUksV0FDUDt3QkFDUCxlQUFlO3dCQUNmLFdBQVc7d0JBQ1gsWUFBWTt3QkFDWixvQkFBb0I7d0JBQ3BCLDBCQUEwQjt3QkFDMUIscUJBQXFCO3dCQUNyQixlQUFlO3dCQUNmLGdCQUFnQjt3QkFDaEIsbUJBQW1CO3dCQUNuQixZQUFZO3dCQUNaLGVBQWU7d0JBQ2YsU0FBUztxQkFDVjt3REFNUSxRQUFRO3NCQUFoQixLQUFLO2dCQUVJLFFBQVE7c0JBQWpCLE1BQU07Z0JBQ0csT0FBTztzQkFBaEIsTUFBTTtnQkFDdUIsbUJBQW1CO3NCQUFoRCxNQUFNO3VCQUFDLG9CQUFvQjtnQkFDbkIsVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFFRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUVHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBRXFCLElBQUk7c0JBQTlCLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUUyQixXQUFXO3NCQUE5RCxLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFO2dCQUd6QixPQUFPO3NCQUEzQixLQUFLO3VCQUFDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBUZW1wbGF0ZVJlZiwgVHlwZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIEFzeW5jVmFsaWRhdG9yRm4sIEZvcm1Hcm91cCwgRm9ybXNNb2R1bGUsIFVudHlwZWRGb3JtR3JvdXAsIFZhbGlkYXRvckZuIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgY2xvbmVEZWVwIH0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEZ1bmN0aW9uQ2FsbGVyMiwgVG9BbnlQaXBlIH0gZnJvbSAnLi4vLi4vcGlwZXMvdXRpbGl0eS5waXBlJztcbmltcG9ydCB7IEJ0bkNvbXBvbmVudCB9IGZyb20gJy4uL2J0bi9idG4uY29tcG9uZW50JztcbmltcG9ydCB7IElucHV0QmFzaWNDb21wb25lbnQsIE9wdGlvbkxhYmVsVHlwZSB9IGZyb20gJy4uL2lucHV0L2lucHV0LWJhc2ljLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBdXRvY29tcGxldGVDb21wb25lbnQgfSBmcm9tICcuLi9hdXRvY29tcGxldGUvYXV0b2NvbXBsZXRlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBWYWxpZGF0aW9uTWVzc2FnZUNvbXBvbmVudCB9IGZyb20gJy4uL2lucHV0L3ZhbGlkYXRpb24tbWVzc2FnZS92YWxpZGF0aW9uLW1lc3NhZ2UuY29tcG9uZW50JztcbmltcG9ydCB7IFBob25lTnVtYmVyQ29tcG9uZW50IH0gZnJvbSAnLi4vcGhvbmUtbnVtYmVyL3Bob25lLW51bWJlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlLCBOZ1N3aXRjaERlZmF1bHQsIE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTG9hZGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vbG9hZGVyL2xvYWRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBVdGlsaXR5U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL1NlcnZpY2VzL3V0aWxpdHkuc2VydmljZSc7XG5pbXBvcnQgeyBJT2JqZWN0TGl0ZXJhbCwgSW5wdXRUeXBlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2luZGV4Lm1vZGVsJztcbmltcG9ydCB7IEljb25UeXBlIH0gZnJvbSAnLi4vYnRuL2J0bi5tb2RlbCc7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNlRm9ybUdlbmVyYXRvcjxURm9ybUdyb3VwIGV4dGVuZHMgSU9iamVjdExpdGVyYWw+IHtcbiAgZm9ybVNjaGVtYTogSUJhc2VGb3JtU2NoZW1hPFRGb3JtR3JvdXAsIEJhc2VGb3JtR2VuZXJhdG9yPFRGb3JtR3JvdXA+PltdO1xufVxuXG4vKipcbiAqIEZvcm0gc2hvdWxkIGJlIHNldCBiZWZvcmUgdGhlIHRoZSBmb3JtU2NoZW1hXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Zvcm0tZ2VuZXJhdG9yJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Zvcm0tZ2VuZXJhdG9yLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZm9ybS1nZW5lcmF0b3IuY29tcG9uZW50LnNjc3MnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIExvYWRlckNvbXBvbmVudCxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgUGhvbmVOdW1iZXJDb21wb25lbnQsXG4gICAgVmFsaWRhdGlvbk1lc3NhZ2VDb21wb25lbnQsXG4gICAgQXV0b2NvbXBsZXRlQ29tcG9uZW50LFxuICAgIE5nU3dpdGNoRGVmYXVsdCxcbiAgICBOZ1RlbXBsYXRlT3V0bGV0LFxuICAgIElucHV0QmFzaWNDb21wb25lbnQsXG4gICAgQnRuQ29tcG9uZW50LFxuICAgIEZ1bmN0aW9uQ2FsbGVyMixcbiAgICBUb0FueVBpcGUsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1HZW5lcmF0b3JDb21wb25lbnQ8VEZvcm1Hcm91cCBleHRlbmRzIHsgW0sgaW4ga2V5b2YgVEZvcm1Hcm91cF06IEFic3RyYWN0Q29udHJvbDxhbnksIGFueT4gfT5cbiAgZXh0ZW5kcyBCYXNlRm9ybUdlbmVyYXRvcjxURm9ybUdyb3VwPlxuICBpbXBsZW1lbnRzIE9uSW5pdFxue1xuICBASW5wdXQoKSBrZXlGaWVsZDogJ2ZpZWxkJyB8ICdsYWJlbCcgPSAnZmllbGQnO1xuXG4gIEBPdXRwdXQoKSBvblN1Ym1pdCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgbWNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCdzdWJtaXNzaW9uUmVzcG9uc2UnKSBfc3VibWlzc2lvblJlc3BvbnNlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBJbnB1dCgpIHN1Ym1pdEZ1bmM6ICh2YWx1ZTogYW55KSA9PiBQcm9taXNlPGFueT47XG4gIEBJbnB1dCgpIHN1Ym1pdEJ0blRleHQ6IHN0cmluZyA9ICdTdWJtaXQnO1xuICBASW5wdXQoKSBzdWJtaXRCdG5UZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcbiAgQElucHV0KCkgc3VibWl0U3VjY2Vzc1RleHQ6IHN0cmluZyA9ICdTYXZlJztcbiAgQElucHV0KCkgc2hvd1N1Ym1pdEJ0bjogYm9vbGVhbiA9IHRydWU7XG5cbiAgQElucHV0KCkgZ3JpZFN0eWxlOiBudW1iZXIgfCAnYXV0byc7XG4gIEBJbnB1dCgpIGdyaWRNRFN0eWxlOiBudW1iZXIgfCAnYXV0byc7XG4gIEBJbnB1dCgpIGdyaWRMR1N0eWxlOiBudW1iZXIgfCAnYXV0byc7XG4gIEBJbnB1dCgpIGdyaWRYWExTdHlsZTogbnVtYmVyIHwgJ2F1dG8nO1xuXG4gIEBJbnB1dCgpIGZvcm1HcmlkQ2xhc3M6IHN0cmluZztcbiAgQElucHV0KCkgdXNlTG9hZGVyOiBib29sZWFuO1xuICBASW5wdXQoKSBsb2FkaW5nOiBib29sZWFuO1xuXG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIGZvcm06IEZvcm1Hcm91cDxURm9ybUdyb3VwPjtcbiAgc3VibWlzc2lvblJlc3BvbnNlOiBhbnk7XG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlLCBhbGlhczogJ2Zvcm1TY2hlbWEnIH0pIHNldCBfZm9ybVNjaGVtYSh2OiBJRm9ybVNjaGVtYTxURm9ybUdyb3VwPltdKSB7XG4gICAgdGhpcy5pbml0KGNsb25lRGVlcCh2LmZpbHRlcigoeCkgPT4geCkpKTtcbiAgfVxuICBASW5wdXQoJ2lzU2hvdycpIHNldCBfaXNTaG93KHY6IGJvb2xlYW4pIHtcbiAgICBpZiAodikgdGhpcy5mb3JtPy5kaXNhYmxlKHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICBlbHNlIHRoaXMuZm9ybT8uZW5hYmxlKCk7XG5cbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGlmICh2KSB0aGlzLmZvcm0/LmRpc2FibGUoeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgICAgZWxzZSB0aGlzLmZvcm0/LmVuYWJsZSgpO1xuICAgIH0sIDUwMCk7XG4gIH1cbiAgb3B0aW9uc01hcDogSUZvcm1PcHRpb25zID0ge307XG4gIGNlbGxDb3VudHJ5Q29kZTNzOiBJRm9ybU9wdGlvbnMgPSB7fTtcbiAgc3ViczogeyBmaWVsZE5hbWU6IHN0cmluZzsgc3ViOiBTdWJzY3JpcHRpb24gfVtdID0gW107XG4gIGZvcm1TY2hlbWE6IElGb3JtU2NoZW1hPFRGb3JtR3JvdXA+W107XG4gIC8vIG1pc2NJbmRleDogVE1pc2NJbmRleDtcbiAgcHVibGljIHVTID0gaW5qZWN0KFV0aWxpdHlTZXJ2aWNlKTtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge31cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5zdWJzLmZvckVhY2goKHMpID0+IHtcbiAgICAgIHM/LnN1Yj8udW5zdWJzY3JpYmUoKTtcbiAgICB9KTtcbiAgICB0aGlzLnN1YnMgPSBbXTtcbiAgfVxuICBpbml0KHNjaGVtYTogSUZvcm1TY2hlbWE8VEZvcm1Hcm91cD5bXSkge1xuICAgIC8vIGRlYnVnZ2VyO1xuICAgIHRoaXMubmdPbkRlc3Ryb3koKTtcbiAgICAvLyBkZWJ1Z2dlcjtcbiAgICBpZiAoc2NoZW1hKSBmb3IgKGNvbnN0IHNjaGVtZSBvZiBzY2hlbWEpIHRoaXMuaGFuZGxlRm9ybVNjaGVtZShzY2hlbWUpO1xuICAgIHRoaXMuZm9ybVNjaGVtYSA9IHNjaGVtYTtcbiAgICBpZiAoc2NoZW1hKVxuICAgICAgZm9yIChjb25zdCBzY2hlbWUgb2Ygc2NoZW1hKVxuICAgICAgICBpZiAoc2NoZW1lLnRyaWdnZXJPbkNoYW5nZU9uSW5pdCkgc2NoZW1lLm9uQ2hhbmdlRnVuYyh0aGlzLmZvcm0uZ2V0UmF3VmFsdWUoKSwgdGhpcy5mb3JtLmdldFJhd1ZhbHVlKClbc2NoZW1lLmZpZWxkPy50b1N0cmluZygpXSwgdGhpcyk7XG4gIH1cbiAgaGFuZGxlRm9ybVNjaGVtZShzY2hlbWU6IElGb3JtU2NoZW1hPFRGb3JtR3JvdXA+KSB7XG4gICAgc2NoZW1lLmlkID0gdGhpcy51Uy5nZW5lcmF0ZVVVSUQoKTtcbiAgICBpZiAoc2NoZW1lLnN0YWNrZWQgPT0gbnVsbCkgc2NoZW1lLnN0YWNrZWQgPSB0cnVlO1xuICAgIGlmIChzY2hlbWUuc2hvd1ZhbGlkYXRpb25Nc2cgPT0gbnVsbCkgc2NoZW1lLnNob3dWYWxpZGF0aW9uTXNnID0gdHJ1ZTtcbiAgICBpZiAoc2NoZW1lLmF1dG9QaWNrVmFsdWVGaWVsZCA9PSBudWxsICYmICghc2NoZW1lLnZhbHVlRmllbGQgfHwgIXNjaGVtZS5sYWJlbEZpZWxkKSkgc2NoZW1lLmF1dG9QaWNrVmFsdWVGaWVsZCA9IHRydWU7XG5cbiAgICBpZiAoc2NoZW1lLm9wdGlvbnNJbml0RnVuYylcbiAgICAgIHNjaGVtZS5vcHRpb25zSW5pdEZ1bmMuc3Vic2NyaWJlKChyKSA9PiB7XG4gICAgICAgIHNjaGVtZS5vcHRpb25zID0gcjtcbiAgICAgIH0pO1xuICAgIGlmIChzY2hlbWUub3B0aW9uc0luaXRGdW5jMilcbiAgICAgIHNjaGVtZS5vcHRpb25zSW5pdEZ1bmMyKCkuc3Vic2NyaWJlKChyKSA9PiB7XG4gICAgICAgIHNjaGVtZS5vcHRpb25zID0gcjtcbiAgICAgIH0pO1xuICAgIGlmIChzY2hlbWUub25DaGFuZ2VGdW5jKSB7XG4gICAgICBpZiAoc2NoZW1lLmRlYnVnKSBkZWJ1Z2dlcjtcbiAgICAgIGNvbnN0IHN1YiA9IHRoaXMuZm9ybT8uY29udHJvbHNbc2NoZW1lLmZpZWxkPy50b1N0cmluZygpXT8udmFsdWVDaGFuZ2VzLnBpcGUoZGVib3VuY2VUaW1lKDApKS5zdWJzY3JpYmUoKHIpID0+IHtcbiAgICAgICAgc2NoZW1lLm9uQ2hhbmdlRnVuYyh0aGlzLmZvcm0uZ2V0UmF3VmFsdWUoKSwgciwgdGhpcyk7XG4gICAgICB9KTtcbiAgICAgIHRoaXMuc3Vicy5wdXNoKHsgc3ViOiBzdWIsIGZpZWxkTmFtZTogc2NoZW1lLmZpZWxkPy50b1N0cmluZygpIH0pO1xuICAgIH1cbiAgfVxuICBkZXRhY2hGb3JtU2NoZW1lKHNjaGVtZUluZGV4PzogbnVtYmVyLCBmaWVsZE5hbWU/OiBzdHJpbmcpIHtcbiAgICB0aGlzLnN1YnMuZmluZCgoeCkgPT4geC5maWVsZE5hbWUgPT0gdGhpcy5mb3JtU2NoZW1hW3NjaGVtZUluZGV4XT8uZmllbGQgfHwgeC5maWVsZE5hbWUgPT0gZmllbGROYW1lKT8uc3ViPy51bnN1YnNjcmliZSgpO1xuICB9XG4gIGFtZW5kRm9ybVNjaGVtZShmaWVsZE5hbWU6IGtleW9mIFRGb3JtR3JvdXAsIGZvcm1TY2hlbWU6IFBhcnRpYWw8SUZvcm1TY2hlbWE8VEZvcm1Hcm91cD4+KSB7XG4gICAgLy8gZGVidWdnZXI7XG4gICAgY29uc3QgaW5kID0gdGhpcy5mb3JtU2NoZW1hLmZpbmRJbmRleCgoeCkgPT4geC5maWVsZCA9PSBmaWVsZE5hbWUpO1xuICAgIGlmIChpbmQgPiAtMSkge1xuICAgICAgdGhpcy5mb3JtU2NoZW1hW2luZF0gPSB7XG4gICAgICAgIC4uLnRoaXMuZm9ybVNjaGVtYVtpbmRdLFxuICAgICAgICAuLi4oZm9ybVNjaGVtZSBhcyBhbnkpLFxuICAgICAgfTtcbiAgICAgIC8vIGRlYnVnZ2VyO1xuICAgICAgLy8gdGhpcy5mb3JtU2NoZW1hW2luZF0ub3B0aW9ucyA9IGZvcm1TY2hlbWUub3B0aW9ucztcbiAgICAgIC8vIGRlYnVnZ2VyO1xuICAgIH1cbiAgfVxuXG4gIG1jaGFuZ2VFbWl0dGVyKCkge1xuICAgIHRoaXMubWNoYW5nZS5lbWl0KHRoaXMuZm9ybS5nZXRSYXdWYWx1ZSgpKTtcbiAgfVxuXG4gIGdldEZvcm1TY2hlbWUgPSAoZmllbGROYW1lOiBrZXlvZiBURm9ybUdyb3VwKSA9PiB7XG4gICAgLy8gZGVidWdnZXI7XG4gICAgY29uc3QgaW5kID0gdGhpcy5mb3JtU2NoZW1hLmZpbmRJbmRleCgoeCkgPT4geC5maWVsZCA9PSBmaWVsZE5hbWUpO1xuICAgIHJldHVybiBpbmQgPiAtMSA/IHRoaXMuZm9ybVNjaGVtYVtpbmRdIDogbnVsbDtcbiAgfTtcbiAgYWRkVG9Gb3JtU2NoZW1hKGZvcm1TY2hlbWU6IElGb3JtU2NoZW1hPFRGb3JtR3JvdXA+KSB7XG4gICAgdGhpcy5yZW1vdmVGcm9tRm9ybVNjaGVtYShmb3JtU2NoZW1lLmZpZWxkPy50b1N0cmluZygpKTtcbiAgICBjb25zdCBfZnMgPSBjbG9uZURlZXAoZm9ybVNjaGVtZSk7XG4gICAgdGhpcy5oYW5kbGVGb3JtU2NoZW1lKF9mcyk7XG4gICAgdGhpcy5mb3JtU2NoZW1hLnB1c2goX2ZzKTtcbiAgfVxuICByZW1vdmVGcm9tRm9ybVNjaGVtYShmaWVsZE5hbWU6IHN0cmluZykge1xuICAgIGNvbnN0IGluZCA9IHRoaXMuZm9ybVNjaGVtYS5maW5kSW5kZXgoKHgpID0+IHguZmllbGQgPT0gZmllbGROYW1lKTtcbiAgICB0aGlzLmRldGFjaEZvcm1TY2hlbWUoaW5kLCBmaWVsZE5hbWUpO1xuICAgIGlmIChpbmQgPiAtMSkge1xuICAgICAgaWYgKHRoaXMuZm9ybVNjaGVtYVtpbmRdPy5vblJlbW92ZUZ1bmMpIHRoaXMuZm9ybVNjaGVtYVtpbmRdPy5vblJlbW92ZUZ1bmModGhpcy5mb3JtLmdldFJhd1ZhbHVlKCkgYXMgYW55LCB0aGlzLmZvcm0uY29udHJvbHNbZmllbGROYW1lXSwgdGhpcyk7XG4gICAgICB0aGlzLmZvcm1TY2hlbWEuc3BsaWNlKGluZCwgMSk7XG4gICAgfVxuICB9XG4gIHNldE9wdGlvbkxhYmVsKCRldmVudDogYW55LCBzY2hlbWU6IElGb3JtU2NoZW1hPFRGb3JtR3JvdXA+KSB7XG4gICAgc2NoZW1lLnNlbGVjdGVkT3B0aW9uTGFiZWwgPSAkZXZlbnQ7XG4gIH1cbiAgYXN5bmMgc3VibWl0KCkge1xuICAgIGlmICh0aGlzLnN1Ym1pdEZ1bmMpIHtcbiAgICAgIHRoaXMubG9hZGluZyA9IHRydWU7XG4gICAgICB0aGlzLm9uU3VibWl0LmVtaXQodGhpcy5mb3JtLnZhbHVlKTtcbiAgICAgIHRyeSB7XG4gICAgICAgIHRoaXMuc3VibWlzc2lvblJlc3BvbnNlID0gYXdhaXQgdGhpcy5zdWJtaXRGdW5jKHRoaXMuZm9ybS52YWx1ZSk7XG4gICAgICAgIHRoaXMudVMuaW5mbyh0aGlzLnN1Ym1pdFN1Y2Nlc3NUZXh0LCAxKTtcbiAgICAgICAgdGhpcy5fc3VibWlzc2lvblJlc3BvbnNlLmVtaXQodGhpcy5zdWJtaXNzaW9uUmVzcG9uc2UpO1xuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgdGhpcy51Uy5pbmZvKGVycm9yLCAwKTtcbiAgICAgIH1cbiAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICAgIH0gZWxzZSB0aGlzLm9uU3VibWl0LmVtaXQodGhpcy5mb3JtLnZhbHVlKTtcbiAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIElCYXNlRm9ybVNjaGVtYTxcbiAgVCxcbiAgQ29tcG9uZW50IGV4dGVuZHMgQmFzZUZvcm1HZW5lcmF0b3I8VD4sXG4gIFRGb3JtR3JvdXAgZXh0ZW5kcyB7XG4gICAgW0sgaW4ga2V5b2YgVEZvcm1Hcm91cF06IEFic3RyYWN0Q29udHJvbDxhbnksIGFueT47XG4gIH0gPSBhbnksXG4+IHtcbiAgYXN5bmNWYWxpZGF0b3JzPzogQXN5bmNWYWxpZGF0b3JGbltdO1xuICBhdXRvUGlja1ZhbHVlRmllbGQ/OiBib29sZWFuO1xuICBjaGVja2VkPzogYm9vbGVhbjtcbiAgY2xlYXJPbkRpc2FibGU/OiBib29sZWFuO1xuICBjbHM/OiBzdHJpbmc7XG4gIGNvdW50cnlDb2RlMz86IHN0cmluZztcbiAgY2hpbGRyZW4/OiBJQmFzZUZvcm1TY2hlbWE8VCwgQ29tcG9uZW50LCBURm9ybUdyb3VwPltdO1xuICBkZWNpbWFsUG9pbnRzPzogbnVtYmVyO1xuICBkaXNhYmxlZD86IGJvb2xlYW47XG4gIGRpc2FibGVkSWY/OiAocm93OiBhbnksIGNlbGxGaWVsZD86IHN0cmluZykgPT4gYm9vbGVhbjtcbiAgaGlkZUlmRnVuYz86IChyb3cpID0+IGJvb2xlYW47XG4gIGZpZWxkOiBrZXlvZiBURm9ybUdyb3VwO1xuICBmb3JtPzogRm9ybUdyb3VwPFRGb3JtR3JvdXA+O1xuICBnZXRDb3VudHJ5Q29kZTNLZXk/OiBzdHJpbmc7XG4gIGhpZGRlbj86IGJvb2xlYW47XG4gIGhpbnQ/OiBzdHJpbmc7XG4gIGlkPzogc3RyaW5nO1xuICBpc1JlcXVpcmVkPzogYm9vbGVhbjtcbiAgaXNTZWFyY2hGaWVsZD86IGJvb2xlYW47XG4gIGxhYmVsPzogc3RyaW5nO1xuICBsYWJlbEZpZWxkPzogc3RyaW5nO1xuICBsYWJlbFR5cGU/OiBzdHJpbmc7XG4gIG9wdGlvbkxhYmVsRm9ybWF0dGVyPzogKHJvdykgPT4gc3RyaW5nO1xuICBtYXg/OiBudW1iZXI7XG4gIG1pbj86IG51bWJlcjtcbiAgbm9Gb3JtYXQ/OiBib29sZWFuO1xuICBvcHRpb25Gb3JtYXR0ZXI/OiAoaXRlbTogYW55KSA9PiBzdHJpbmc7XG4gIG9wdGlvbnM/OiBhbnlbXTtcbiAgb3B0aW9uc0FzeW5jPzogT2JzZXJ2YWJsZTxhbnlbXT4gfCBQcm9taXNlPGFueVtdPjtcbiAgb3B0aW9uc0luaXRGdW5jPzogT2JzZXJ2YWJsZTxhbnlbXT47XG4gIG9wdGlvbnNJbml0RnVuYzI/OiAoKSA9PiBPYnNlcnZhYmxlPGFueVtdPjtcbiAgb3B0aW9uc0tleT86IHN0cmluZztcbiAgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XG4gIHNlYXJjaEZ1bmM/OiAoLi4uYXJncykgPT4gYW55O1xuICBzZXRBc0NvdW50cnlDb2RlMz86IGJvb2xlYW47XG4gIHNob3dWYWxpZGF0aW9uPzogYm9vbGVhbjtcbiAgc2hvd1ZhbGlkYXRpb25JY29uPzogYm9vbGVhbjtcbiAgdGVtcGxhdGVWYWx1ZT86IGFueTtcbiAgdHlwZT86IElucHV0VHlwZTtcbiAgdmFsaWRhdG9ycz86IFZhbGlkYXRvckZuW107XG4gIHZhbHVlPzogYW55O1xuICB2YWx1ZUZpZWxkPzogc3RyaW5nO1xuICBvcHRpb25zRnVuYz86ICguLi52YWw6IGFueSkgPT4gT2JzZXJ2YWJsZTxhbnlbXT47XG4gIHRyaWdnZXJPbkNoYW5nZU9uSW5pdD86IGJvb2xlYW47XG4gIGZvcm1hdHRlcj86IChyb3c6IHsgW0sgaW4ga2V5b2YgVEZvcm1Hcm91cF06IGFueSB9LCBmaWVsZE5hbWU6IGtleW9mIFRGb3JtR3JvdXApID0+IHN0cmluZztcbiAgZXh0cmE/OiBhbnk7XG4gIG9uQ2hhbmdlRnVuYz86IChyb3c6IHsgW0sgaW4ga2V5b2YgVEZvcm1Hcm91cF0/OiBURm9ybUdyb3VwW0tdWyd2YWx1ZSddIH0sIGNlbGxWYWx1ZT86IGFueSwgY29tcG9uZW50PzogQ29tcG9uZW50KSA9PiBPYnNlcnZhYmxlPGFueVtdPiB8IGFueTtcbiAgb25SZW1vdmVGdW5jPzogKHJvdzogeyBbSyBpbiBrZXlvZiBURm9ybUdyb3VwXTogVEZvcm1Hcm91cFtLXVsndmFsdWUnXSB9LCBjZWxsPzogYW55LCBjb21wb25lbnQ/OiBDb21wb25lbnQpID0+IGFueTtcbiAgc2VsZWN0ZWRPcHRpb25MYWJlbD86IHN0cmluZztcbiAgc3RhY2tlZD86IGJvb2xlYW47XG4gIGRlYnVnPzogYm9vbGVhbjtcbiAgc2hvd1ZhbGlkYXRpb25Nc2c/OiBib29sZWFuO1xuICBkb250Rm9ybWF0QXNJbnB1dD86IGJvb2xlYW47XG4gIHNob3dSZXF1aXJlZFRhZz86IGJvb2xlYW47XG4gIGljb24/OiBJY29uVHlwZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJRm9ybVNjaGVtYTxcbiAgVEZvcm1Hcm91cCBleHRlbmRzIHtcbiAgICBbSyBpbiBrZXlvZiBURm9ybUdyb3VwXTogQWJzdHJhY3RDb250cm9sPGFueSwgYW55PjtcbiAgfSA9IGFueSxcbj4gZXh0ZW5kcyBJQmFzZUZvcm1TY2hlbWE8VEZvcm1Hcm91cCwgRm9ybUdlbmVyYXRvckNvbXBvbmVudDxURm9ybUdyb3VwPj4ge31cblxuZXhwb3J0IGludGVyZmFjZSBJRm9ybU9wdGlvbnMge1xuICBbZmllbGQ6IHN0cmluZ106IGFueTtcbn1cbiIsIjxsb2FkZXIgW2xvYWRpbmddPVwidXNlTG9hZGVyICYmIGxvYWRpbmdcIj5cbiAgPGZvcm0+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJyb3cgcm93LWNvbHMte3sgZ3JpZFN0eWxlIH19IHJvdy1jb2xzLW1kLXt7IGdyaWRNRFN0eWxlIH19IHJvdy1jb2xzLWxnLXt7IGdyaWRMR1N0eWxlIH19IHJvdy1jb2xzLXh4bC17e1xuICAgICAgICBncmlkWFhMU3R5bGVcbiAgICAgIH19IGFsaWduLWl0ZW1zLWNlbnRlciB7eyBmb3JtR3JpZENsYXNzIH19XCI+XG4gICAgICBAZm9yIChzY2hlbWUgb2YgZm9ybVNjaGVtYTsgdHJhY2sgdVMudHJhY2tCeUlEKCRpbmRleCwgc2NoZW1lKSkge1xuICAgICAgICBAaWYgKCFzY2hlbWUuaGlkZGVuICYmICghc2NoZW1lLmhpZGVJZkZ1bmMgfHwgIXNjaGVtZS5oaWRlSWZGdW5jKGZvcm0udmFsdWUpKSkge1xuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wge3sgc2NoZW1lLmNscyB9fSBcIj5cbiAgICAgICAgICAgIEBzd2l0Y2ggKHRydWUpIHtcbiAgICAgICAgICAgICAgQGNhc2UgKHNjaGVtZS50eXBlID09ICd0ZWwnKSB7XG4gICAgICAgICAgICAgICAgPGFwcC1waG9uZS1udW1iZXJcbiAgICAgICAgICAgICAgICAgIFtmb3JtXT1cInNjaGVtZS5mb3JtIHx8IGZvcm1cIlxuICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cInNjaGVtZS5sYWJlbFwiXG4gICAgICAgICAgICAgICAgICBbY2xlYXJPbkRpc2FibGVdPVwic2NoZW1lLmNsZWFyT25EaXNhYmxlXCJcbiAgICAgICAgICAgICAgICAgIFtzdGFja2VkXT1cInNjaGVtZS5zdGFja2VkXCJcbiAgICAgICAgICAgICAgICAgIFtuYW1lXT1cInNjaGVtZS5maWVsZFwiXG4gICAgICAgICAgICAgICAgICBbc2hvd0xhYmVsXT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICAgIFtub0Zvcm1hdF09XCJzY2hlbWUubm9Gb3JtYXRcIlxuICAgICAgICAgICAgICAgICAgW2RlYnVnXT1cInNjaGVtZS5kZWJ1Z1wiXG4gICAgICAgICAgICAgICAgICAobWNoYW5nZSk9XCJtY2hhbmdlRW1pdHRlcigpXCJcbiAgICAgICAgICAgICAgICAgIFtzaG93VmFsaWRhdGlvbl09XCJzY2hlbWUuc2hvd1ZhbGlkYXRpb25cIlxuICAgICAgICAgICAgICAgICAgW2F1dG9QaWNrVmFsdWVGaWVsZF09XCJzY2hlbWUuYXV0b1BpY2tWYWx1ZUZpZWxkXCJcbiAgICAgICAgICAgICAgICAgIFtzaG93UmVxdWlyZWRUYWddPVwic2NoZW1lLnNob3dSZXF1aXJlZFRhZ1wiXG4gICAgICAgICAgICAgICAgICBbc2hvd1ZhbGlkYXRpb25Nc2ddPVwic2NoZW1lLnNob3dWYWxpZGF0aW9uTXNnXCJcbiAgICAgICAgICAgICAgICAgIFtzaG93VmFsaWRhdGlvbkljb25dPVwic2NoZW1lLnNob3dWYWxpZGF0aW9uSWNvblwiXG4gICAgICAgICAgICAgICAgICBbY291bnRyeUNvZGUzXT1cImNlbGxDb3VudHJ5Q29kZTNzW3NjaGVtZS5nZXRDb3VudHJ5Q29kZTNLZXldIHx8IHNjaGVtZS5jb3VudHJ5Q29kZTNcIlxuICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cInNjaGVtZS5kaXNhYmxlZCB8fCAoc2NoZW1lLmRpc2FibGVkSWYgfCBmdW5jdGlvbkNhbGxlcjI6IGZvcm0udmFsdWUgOiAoc2NoZW1lLmZpZWxkIHwgdG9BbnkpKVwiIC8+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgQGNhc2UgKHNjaGVtZS50eXBlID09ICdhdXRvY29tcGxldGUnKSB7XG4gICAgICAgICAgICAgICAgPGFwcC1hdXRvY29tcGxldGVcbiAgICAgICAgICAgICAgICAgIFtmb3JtXT1cInNjaGVtZS5mb3JtIHx8IGZvcm1cIlxuICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cInNjaGVtZS5sYWJlbFwiXG4gICAgICAgICAgICAgICAgICBbY2xlYXJPbkRpc2FibGVdPVwic2NoZW1lLmNsZWFyT25EaXNhYmxlXCJcbiAgICAgICAgICAgICAgICAgIFtzdGFja2VkXT1cInNjaGVtZS5zdGFja2VkXCJcbiAgICAgICAgICAgICAgICAgIFtsYWJlbEZpZWxkXT1cInNjaGVtZS5sYWJlbEZpZWxkXCJcbiAgICAgICAgICAgICAgICAgIFtub0Zvcm1hdF09XCJzY2hlbWUubm9Gb3JtYXRcIlxuICAgICAgICAgICAgICAgICAgW2xhYmVsVHlwZV09XCJzY2hlbWUubGFiZWxUeXBlIHwgdG9BbnlcIlxuICAgICAgICAgICAgICAgICAgKG1jaGFuZ2UpPVwibWNoYW5nZUVtaXR0ZXIoKVwiXG4gICAgICAgICAgICAgICAgICAobVNlbGVjdGVkT3B0aW9uTGFiZWwpPVwic2V0T3B0aW9uTGFiZWwoJGV2ZW50LCBzY2hlbWUpXCJcbiAgICAgICAgICAgICAgICAgIFtuYW1lXT1cInNjaGVtZS5maWVsZFwiXG4gICAgICAgICAgICAgICAgICBbZGVidWddPVwic2NoZW1lLmRlYnVnXCJcbiAgICAgICAgICAgICAgICAgIFtzaG93UmVxdWlyZWRUYWddPVwic2NoZW1lLnNob3dSZXF1aXJlZFRhZ1wiXG4gICAgICAgICAgICAgICAgICBbb3B0aW9uRm9ybWF0dGVyXT1cInNjaGVtZS5vcHRpb25Gb3JtYXR0ZXJcIlxuICAgICAgICAgICAgICAgICAgW3ZhbHVlRmllbGRdPVwic2NoZW1lLnZhbHVlRmllbGRcIlxuICAgICAgICAgICAgICAgICAgW29wdGlvbnNGdW5jXT1cInNjaGVtZS5vcHRpb25zRnVuY1wiXG4gICAgICAgICAgICAgICAgICBbc2hvd1ZhbGlkYXRpb25Nc2ddPVwic2NoZW1lLnNob3dWYWxpZGF0aW9uTXNnXCJcbiAgICAgICAgICAgICAgICAgIFthdXRvUGlja1ZhbHVlRmllbGRdPVwic2NoZW1lLmF1dG9QaWNrVmFsdWVGaWVsZFwiXG4gICAgICAgICAgICAgICAgICBbb3B0aW9uc109XCJzY2hlbWUub3B0aW9ucyB8fCBvcHRpb25zTWFwW3NjaGVtZS5maWVsZCB8IHRvQW55XVwiXG4gICAgICAgICAgICAgICAgICBbaGludF09XCJzY2hlbWUuaGludFwiXG4gICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwic2NoZW1lLmRpc2FibGVkIHx8IChzY2hlbWUuZGlzYWJsZWRJZiB8IGZ1bmN0aW9uQ2FsbGVyMjogZm9ybS52YWx1ZSA6IChzY2hlbWUuZmllbGQgfCB0b0FueSkpXCIgLz5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBAZGVmYXVsdCB7XG4gICAgICAgICAgICAgICAgPGFwcC1pbnB1dC1iYXNpY1xuICAgICAgICAgICAgICAgICAgW25vRm9ybWF0XT1cInNjaGVtZS5ub0Zvcm1hdFwiXG4gICAgICAgICAgICAgICAgICBbbmFtZV09XCJzY2hlbWUuZmllbGRcIlxuICAgICAgICAgICAgICAgICAgW2Zvcm1dPVwic2NoZW1lLmZvcm0gfHwgZm9ybVwiXG4gICAgICAgICAgICAgICAgICBbY2xlYXJPbkRpc2FibGVdPVwic2NoZW1lLmNsZWFyT25EaXNhYmxlXCJcbiAgICAgICAgICAgICAgICAgIFt0eXBlXT1cInNjaGVtZS50eXBlXCJcbiAgICAgICAgICAgICAgICAgIFt2YWx1ZUZpZWxkXT1cInNjaGVtZS52YWx1ZUZpZWxkXCJcbiAgICAgICAgICAgICAgICAgIFthdXRvUGlja1ZhbHVlRmllbGRdPVwic2NoZW1lLmF1dG9QaWNrVmFsdWVGaWVsZFwiXG4gICAgICAgICAgICAgICAgICBbc3RhY2tlZF09XCJzY2hlbWUuc3RhY2tlZFwiXG4gICAgICAgICAgICAgICAgICBbbGFiZWxUeXBlXT1cInNjaGVtZS5sYWJlbFR5cGUgfCB0b0FueVwiXG4gICAgICAgICAgICAgICAgICBbY2hlY2tlZF09XCJzY2hlbWUuY2hlY2tlZFwiXG4gICAgICAgICAgICAgICAgICBbc2hvd1ZhbGlkYXRpb25dPVwiISFzY2hlbWUuYXN5bmNWYWxpZGF0b3JzXCJcbiAgICAgICAgICAgICAgICAgIFtzaG93VmFsaWRhdGlvbkljb25dPVwiISFzY2hlbWUuYXN5bmNWYWxpZGF0b3JzXCJcbiAgICAgICAgICAgICAgICAgIFtkZWJ1Z109XCJzY2hlbWUuZGVidWdcIlxuICAgICAgICAgICAgICAgICAgKG1jaGFuZ2UpPVwibWNoYW5nZUVtaXR0ZXIoKVwiXG4gICAgICAgICAgICAgICAgICBbc2hvd1JlcXVpcmVkVGFnXT1cInNjaGVtZS5zaG93UmVxdWlyZWRUYWdcIlxuICAgICAgICAgICAgICAgICAgW2xhYmVsRmllbGRdPVwic2NoZW1lLmxhYmVsRmllbGRcIlxuICAgICAgICAgICAgICAgICAgW29wdGlvbkZvcm1hdHRlcl09XCJzY2hlbWUub3B0aW9uRm9ybWF0dGVyXCJcbiAgICAgICAgICAgICAgICAgIChtU2VsZWN0ZWRPcHRpb25MYWJlbCk9XCJzZXRPcHRpb25MYWJlbCgkZXZlbnQsIHNjaGVtZSlcIlxuICAgICAgICAgICAgICAgICAgW29wdGlvbnNdPVwic2NoZW1lLm9wdGlvbnMgfHwgb3B0aW9uc01hcFtzY2hlbWUuZmllbGQgfCB0b0FueV1cIlxuICAgICAgICAgICAgICAgICAgW2RlY2ltYWxQb2ludHNdPVwic2NoZW1lLmRlY2ltYWxQb2ludHNcIlxuICAgICAgICAgICAgICAgICAgW2hpbnRdPVwic2NoZW1lLmhpbnRcIlxuICAgICAgICAgICAgICAgICAgW21heF09XCJzY2hlbWUubWF4XCJcbiAgICAgICAgICAgICAgICAgIFttaW5dPVwic2NoZW1lLm1pblwiXG4gICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwic2NoZW1lLnBsYWNlaG9sZGVyXCJcbiAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCJzY2hlbWUubGFiZWxcIlxuICAgICAgICAgICAgICAgICAgW3Nob3dWYWxpZGF0aW9uTXNnXT1cInNjaGVtZS5zaG93VmFsaWRhdGlvbk1zZ1wiXG4gICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwic2NoZW1lLmRpc2FibGVkIHx8IChzY2hlbWUuZGlzYWJsZWRJZiB8IGZ1bmN0aW9uQ2FsbGVyMjogZm9ybS52YWx1ZSA6IChzY2hlbWUuZmllbGQgfCB0b0FueSkpXCIgLz5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgICB9XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInJvdyByb3ctY29scy1hdXRvIGp1c3RpZnktY29udGVudC1lbmRcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJcIj5cbiAgICAgICAgQGlmIChzaG93U3VibWl0QnRuKSB7XG4gICAgICAgICAgPGFwcC1idG4gW3RleHRdPVwic3VibWl0QnRuVGV4dFwiIGFjdGlvblR5cGU9XCJzdWJtaXRcIiBncm91cD1cInN1Ym1pdFwiIFtmb3JtXT1cImZvcm1cIiAobWNsaWNrKT1cInN1Ym1pdCgpXCIgLz5cbiAgICAgICAgfVxuICAgICAgICBAaWYgKHN1Ym1pdEJ0blRlbXBsYXRlKSB7XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInN1Ym1pdEJ0blRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIH1cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Zvcm0+XG48L2xvYWRlcj5cbiJdfQ==
221
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1nZW5lcmF0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXRzLWZlLW5nLXNkay9zcmMvbGliL1NoYXJlZC9jb21wb25lbnRzL2Zvcm0tZ2VuZXJhdG9yL2Zvcm0tZ2VuZXJhdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V0cy1mZS1uZy1zZGsvc3JjL2xpYi9TaGFyZWQvY29tcG9uZW50cy9mb3JtLWdlbmVyYXRvci9mb3JtLWdlbmVyYXRvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFxQixNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUcsT0FBTyxFQUFnRCxXQUFXLEVBQWlDLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUgsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN0QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDcEQsT0FBTyxFQUFFLG1CQUFtQixFQUFtQixNQUFNLGdDQUFnQyxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQy9FLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBQ3RHLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxZQUFZLEVBQUUsZUFBZSxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbEYsT0FBTyxFQUFF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QixZQUFZLCthQUNaLGVBQWUsbURBQ2YsU0FBUzs7MkZBR0Esc0JBQXNCO2tCQXBCbEMsU0FBUzsrQkFDRSxnQkFBZ0IsY0FHZCxJQUFJLFdBQ1A7d0JBQ1AsZUFBZTt3QkFDZixXQUFXO3dCQUNYLFlBQVk7d0JBQ1osb0JBQW9CO3dCQUNwQiwwQkFBMEI7d0JBQzFCLHFCQUFxQjt3QkFDckIsZUFBZTt3QkFDZixnQkFBZ0I7d0JBQ2hCLG1CQUFtQjt3QkFDbkIsWUFBWTt3QkFDWixlQUFlO3dCQUNmLFNBQVM7cUJBQ1Y7d0RBTVEsUUFBUTtzQkFBaEIsS0FBSztnQkFFSSxRQUFRO3NCQUFqQixNQUFNO2dCQUNHLE9BQU87c0JBQWhCLE1BQU07Z0JBQ3VCLG1CQUFtQjtzQkFBaEQsTUFBTTt1QkFBQyxvQkFBb0I7Z0JBQ25CLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBRUcsU0FBUztzQkFBakIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFFRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUVxQixJQUFJO3NCQUE5QixLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFFMkIsV0FBVztzQkFBOUQsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRTtnQkFHekIsT0FBTztzQkFBM0IsS0FBSzt1QkFBQyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVGVtcGxhdGVSZWYsIFR5cGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBBc3luY1ZhbGlkYXRvckZuLCBGb3JtR3JvdXAsIEZvcm1zTW9kdWxlLCBVbnR5cGVkRm9ybUdyb3VwLCBWYWxpZGF0b3JGbiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGNsb25lRGVlcCB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBGdW5jdGlvbkNhbGxlcjIsIFRvQW55UGlwZSB9IGZyb20gJy4uLy4uL3BpcGVzL3V0aWxpdHkucGlwZSc7XG5pbXBvcnQgeyBCdG5Db21wb25lbnQgfSBmcm9tICcuLi9idG4vYnRuLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJbnB1dEJhc2ljQ29tcG9uZW50LCBPcHRpb25MYWJlbFR5cGUgfSBmcm9tICcuLi9pbnB1dC9pbnB1dC1iYXNpYy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQXV0b2NvbXBsZXRlQ29tcG9uZW50IH0gZnJvbSAnLi4vYXV0b2NvbXBsZXRlL2F1dG9jb21wbGV0ZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVmFsaWRhdGlvbk1lc3NhZ2VDb21wb25lbnQgfSBmcm9tICcuLi9pbnB1dC92YWxpZGF0aW9uLW1lc3NhZ2UvdmFsaWRhdGlvbi1tZXNzYWdlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQaG9uZU51bWJlckNvbXBvbmVudCB9IGZyb20gJy4uL3Bob25lLW51bWJlci9waG9uZS1udW1iZXIuY29tcG9uZW50JztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSwgTmdTd2l0Y2hEZWZhdWx0LCBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IExvYWRlckNvbXBvbmVudCB9IGZyb20gJy4uL2xvYWRlci9sb2FkZXIuY29tcG9uZW50JztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgVXRpbGl0eVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9TZXJ2aWNlcy91dGlsaXR5LnNlcnZpY2UnO1xuaW1wb3J0IHsgSU9iamVjdExpdGVyYWwsIElucHV0VHlwZSB9IGZyb20gJy4uLy4uL21vZGVscy9pbmRleC5tb2RlbCc7XG5pbXBvcnQgeyBJY29uVHlwZSB9IGZyb20gJy4uL2J0bi9idG4ubW9kZWwnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQmFzZUZvcm1HZW5lcmF0b3I8VEZvcm1Hcm91cCBleHRlbmRzIElPYmplY3RMaXRlcmFsPiB7XG4gIGZvcm1TY2hlbWE6IElCYXNlRm9ybVNjaGVtYTxURm9ybUdyb3VwLCBCYXNlRm9ybUdlbmVyYXRvcjxURm9ybUdyb3VwPj5bXTtcbn1cblxuLyoqXG4gKiBGb3JtIHNob3VsZCBiZSBzZXQgYmVmb3JlIHRoZSB0aGUgZm9ybVNjaGVtYVxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmb3JtLWdlbmVyYXRvcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9mb3JtLWdlbmVyYXRvci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Zvcm0tZ2VuZXJhdG9yLmNvbXBvbmVudC5zY3NzJ10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBMb2FkZXJDb21wb25lbnQsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFBob25lTnVtYmVyQ29tcG9uZW50LFxuICAgIFZhbGlkYXRpb25NZXNzYWdlQ29tcG9uZW50LFxuICAgIEF1dG9jb21wbGV0ZUNvbXBvbmVudCxcbiAgICBOZ1N3aXRjaERlZmF1bHQsXG4gICAgTmdUZW1wbGF0ZU91dGxldCxcbiAgICBJbnB1dEJhc2ljQ29tcG9uZW50LFxuICAgIEJ0bkNvbXBvbmVudCxcbiAgICBGdW5jdGlvbkNhbGxlcjIsXG4gICAgVG9BbnlQaXBlLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBGb3JtR2VuZXJhdG9yQ29tcG9uZW50PFRGb3JtR3JvdXAgZXh0ZW5kcyB7IFtLIGluIGtleW9mIFRGb3JtR3JvdXBdOiBBYnN0cmFjdENvbnRyb2w8YW55LCBhbnk+IH0+XG4gIGV4dGVuZHMgQmFzZUZvcm1HZW5lcmF0b3I8VEZvcm1Hcm91cD5cbiAgaW1wbGVtZW50cyBPbkluaXRcbntcbiAgQElucHV0KCkga2V5RmllbGQ6ICdmaWVsZCcgfCAnbGFiZWwnID0gJ2ZpZWxkJztcblxuICBAT3V0cHV0KCkgb25TdWJtaXQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIG1jaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgnc3VibWlzc2lvblJlc3BvbnNlJykgX3N1Ym1pc3Npb25SZXNwb25zZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBASW5wdXQoKSBzdWJtaXRGdW5jOiAodmFsdWU6IGFueSkgPT4gUHJvbWlzZTxhbnk+O1xuICBASW5wdXQoKSBzdWJtaXRCdG5UZXh0OiBzdHJpbmcgPSAnU3VibWl0JztcbiAgQElucHV0KCkgc3VibWl0QnRuVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG4gIEBJbnB1dCgpIHN1Ym1pdFN1Y2Nlc3NUZXh0OiBzdHJpbmcgPSAnU2F2ZSc7XG4gIEBJbnB1dCgpIHNob3dTdWJtaXRCdG46IGJvb2xlYW4gPSB0cnVlO1xuXG4gIEBJbnB1dCgpIGdyaWRTdHlsZTogbnVtYmVyIHwgJ2F1dG8nO1xuICBASW5wdXQoKSBncmlkTURTdHlsZTogbnVtYmVyIHwgJ2F1dG8nO1xuICBASW5wdXQoKSBncmlkTEdTdHlsZTogbnVtYmVyIHwgJ2F1dG8nO1xuICBASW5wdXQoKSBncmlkWFhMU3R5bGU6IG51bWJlciB8ICdhdXRvJztcblxuICBASW5wdXQoKSBmb3JtR3JpZENsYXNzOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHVzZUxvYWRlcjogYm9vbGVhbjtcbiAgQElucHV0KCkgbG9hZGluZzogYm9vbGVhbjtcblxuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSBmb3JtOiBGb3JtR3JvdXA8VEZvcm1Hcm91cD47XG4gIHN1Ym1pc3Npb25SZXNwb25zZTogYW55O1xuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSwgYWxpYXM6ICdmb3JtU2NoZW1hJyB9KSBzZXQgX2Zvcm1TY2hlbWEodjogSUZvcm1TY2hlbWE8VEZvcm1Hcm91cD5bXSkge1xuICAgIHRoaXMuaW5pdChjbG9uZURlZXAodi5maWx0ZXIoKHgpID0+IHgpKSk7XG4gIH1cbiAgQElucHV0KCdpc1Nob3cnKSBzZXQgX2lzU2hvdyh2OiBib29sZWFuKSB7XG4gICAgaWYgKHYpIHRoaXMuZm9ybT8uZGlzYWJsZSh7IGVtaXRFdmVudDogZmFsc2UgfSk7XG4gICAgZWxzZSB0aGlzLmZvcm0/LmVuYWJsZSgpO1xuXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBpZiAodikgdGhpcy5mb3JtPy5kaXNhYmxlKHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgIGVsc2UgdGhpcy5mb3JtPy5lbmFibGUoKTtcbiAgICB9LCA1MDApO1xuICB9XG4gIG9wdGlvbnNNYXA6IElGb3JtT3B0aW9ucyA9IHt9O1xuICBjZWxsQ291bnRyeUNvZGUzczogSUZvcm1PcHRpb25zID0ge307XG4gIHN1YnM6IHsgZmllbGROYW1lOiBzdHJpbmc7IHN1YjogU3Vic2NyaXB0aW9uIH1bXSA9IFtdO1xuICBmb3JtU2NoZW1hOiBJRm9ybVNjaGVtYTxURm9ybUdyb3VwPltdO1xuICAvLyBtaXNjSW5kZXg6IFRNaXNjSW5kZXg7XG4gIHB1YmxpYyB1UyA9IGluamVjdChVdGlsaXR5U2VydmljZSk7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHt9XG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuc3Vicy5mb3JFYWNoKChzKSA9PiB7XG4gICAgICBzPy5zdWI/LnVuc3Vic2NyaWJlKCk7XG4gICAgfSk7XG4gICAgdGhpcy5zdWJzID0gW107XG4gIH1cbiAgaW5pdChzY2hlbWE6IElGb3JtU2NoZW1hPFRGb3JtR3JvdXA+W10pIHtcbiAgICAvLyBkZWJ1Z2dlcjtcbiAgICB0aGlzLm5nT25EZXN0cm95KCk7XG4gICAgLy8gZGVidWdnZXI7XG4gICAgaWYgKHNjaGVtYSkgZm9yIChjb25zdCBzY2hlbWUgb2Ygc2NoZW1hKSB0aGlzLmhhbmRsZUZvcm1TY2hlbWUoc2NoZW1lKTtcbiAgICB0aGlzLmZvcm1TY2hlbWEgPSBzY2hlbWE7XG4gICAgaWYgKHNjaGVtYSlcbiAgICAgIGZvciAoY29uc3Qgc2NoZW1lIG9mIHNjaGVtYSlcbiAgICAgICAgaWYgKHNjaGVtZS50cmlnZ2VyT25DaGFuZ2VPbkluaXQpIHNjaGVtZS5vbkNoYW5nZUZ1bmModGhpcy5mb3JtLmdldFJhd1ZhbHVlKCksIHRoaXMuZm9ybS5nZXRSYXdWYWx1ZSgpW3NjaGVtZS5maWVsZD8udG9TdHJpbmcoKV0sIHRoaXMpO1xuICB9XG4gIGhhbmRsZUZvcm1TY2hlbWUoc2NoZW1lOiBJRm9ybVNjaGVtYTxURm9ybUdyb3VwPikge1xuICAgIHNjaGVtZS5pZCA9IHRoaXMudVMuZ2VuZXJhdGVVVUlEKCk7XG4gICAgaWYgKHNjaGVtZS5zdGFja2VkID09IG51bGwpIHNjaGVtZS5zdGFja2VkID0gdHJ1ZTtcbiAgICBpZiAoc2NoZW1lLnNob3dWYWxpZGF0aW9uTXNnID09IG51bGwpIHNjaGVtZS5zaG93VmFsaWRhdGlvbk1zZyA9IHRydWU7XG4gICAgaWYgKHNjaGVtZS5hdXRvUGlja1ZhbHVlRmllbGQgPT0gbnVsbCAmJiAoIXNjaGVtZS52YWx1ZUZpZWxkIHx8ICFzY2hlbWUubGFiZWxGaWVsZCkpIHNjaGVtZS5hdXRvUGlja1ZhbHVlRmllbGQgPSB0cnVlO1xuXG4gICAgaWYgKHNjaGVtZS5vcHRpb25zSW5pdEZ1bmMpXG4gICAgICBzY2hlbWUub3B0aW9uc0luaXRGdW5jLnN1YnNjcmliZSgocikgPT4ge1xuICAgICAgICBzY2hlbWUub3B0aW9ucyA9IHI7XG4gICAgICB9KTtcbiAgICBpZiAoc2NoZW1lLm9wdGlvbnNJbml0RnVuYzIpXG4gICAgICBzY2hlbWUub3B0aW9uc0luaXRGdW5jMigpLnN1YnNjcmliZSgocikgPT4ge1xuICAgICAgICBzY2hlbWUub3B0aW9ucyA9IHI7XG4gICAgICB9KTtcbiAgICBpZiAoc2NoZW1lLm9uQ2hhbmdlRnVuYykge1xuICAgICAgaWYgKHNjaGVtZS5kZWJ1ZykgZGVidWdnZXI7XG4gICAgICBjb25zdCBzdWIgPSB0aGlzLmZvcm0/LmNvbnRyb2xzW3NjaGVtZS5maWVsZD8udG9TdHJpbmcoKV0/LnZhbHVlQ2hhbmdlcy5waXBlKGRlYm91bmNlVGltZSgwKSkuc3Vic2NyaWJlKChyKSA9PiB7XG4gICAgICAgIHNjaGVtZS5vbkNoYW5nZUZ1bmModGhpcy5mb3JtLmdldFJhd1ZhbHVlKCksIHIsIHRoaXMpO1xuICAgICAgfSk7XG4gICAgICB0aGlzLnN1YnMucHVzaCh7IHN1Yjogc3ViLCBmaWVsZE5hbWU6IHNjaGVtZS5maWVsZD8udG9TdHJpbmcoKSB9KTtcbiAgICB9XG4gIH1cbiAgZGV0YWNoRm9ybVNjaGVtZShzY2hlbWVJbmRleD86IG51bWJlciwgZmllbGROYW1lPzogc3RyaW5nKSB7XG4gICAgdGhpcy5zdWJzLmZpbmQoKHgpID0+IHguZmllbGROYW1lID09IHRoaXMuZm9ybVNjaGVtYVtzY2hlbWVJbmRleF0/LmZpZWxkIHx8IHguZmllbGROYW1lID09IGZpZWxkTmFtZSk/LnN1Yj8udW5zdWJzY3JpYmUoKTtcbiAgfVxuICBhbWVuZEZvcm1TY2hlbWUoZmllbGROYW1lOiBrZXlvZiBURm9ybUdyb3VwLCBmb3JtU2NoZW1lOiBQYXJ0aWFsPElGb3JtU2NoZW1hPFRGb3JtR3JvdXA+Pikge1xuICAgIC8vIGRlYnVnZ2VyO1xuICAgIGNvbnN0IGluZCA9IHRoaXMuZm9ybVNjaGVtYS5maW5kSW5kZXgoKHgpID0+IHguZmllbGQgPT0gZmllbGROYW1lKTtcbiAgICBpZiAoaW5kID4gLTEpIHtcbiAgICAgIHRoaXMuZm9ybVNjaGVtYVtpbmRdID0ge1xuICAgICAgICAuLi50aGlzLmZvcm1TY2hlbWFbaW5kXSxcbiAgICAgICAgLi4uKGZvcm1TY2hlbWUgYXMgYW55KSxcbiAgICAgIH07XG4gICAgICAvLyBkZWJ1Z2dlcjtcbiAgICAgIC8vIHRoaXMuZm9ybVNjaGVtYVtpbmRdLm9wdGlvbnMgPSBmb3JtU2NoZW1lLm9wdGlvbnM7XG4gICAgICAvLyBkZWJ1Z2dlcjtcbiAgICB9XG4gIH1cblxuICBtY2hhbmdlRW1pdHRlcigpIHtcbiAgICB0aGlzLm1jaGFuZ2UuZW1pdCh0aGlzLmZvcm0uZ2V0UmF3VmFsdWUoKSk7XG4gIH1cblxuICBnZXRGb3JtU2NoZW1lID0gKGZpZWxkTmFtZToga2V5b2YgVEZvcm1Hcm91cCkgPT4ge1xuICAgIC8vIGRlYnVnZ2VyO1xuICAgIGNvbnN0IGluZCA9IHRoaXMuZm9ybVNjaGVtYS5maW5kSW5kZXgoKHgpID0+IHguZmllbGQgPT0gZmllbGROYW1lKTtcbiAgICByZXR1cm4gaW5kID4gLTEgPyB0aGlzLmZvcm1TY2hlbWFbaW5kXSA6IG51bGw7XG4gIH07XG4gIGFkZFRvRm9ybVNjaGVtYShmb3JtU2NoZW1lOiBJRm9ybVNjaGVtYTxURm9ybUdyb3VwPikge1xuICAgIHRoaXMucmVtb3ZlRnJvbUZvcm1TY2hlbWEoZm9ybVNjaGVtZS5maWVsZD8udG9TdHJpbmcoKSk7XG4gICAgY29uc3QgX2ZzID0gY2xvbmVEZWVwKGZvcm1TY2hlbWUpO1xuICAgIHRoaXMuaGFuZGxlRm9ybVNjaGVtZShfZnMpO1xuICAgIHRoaXMuZm9ybVNjaGVtYS5wdXNoKF9mcyk7XG4gIH1cbiAgcmVtb3ZlRnJvbUZvcm1TY2hlbWEoZmllbGROYW1lOiBzdHJpbmcpIHtcbiAgICBjb25zdCBpbmQgPSB0aGlzLmZvcm1TY2hlbWEuZmluZEluZGV4KCh4KSA9PiB4LmZpZWxkID09IGZpZWxkTmFtZSk7XG4gICAgdGhpcy5kZXRhY2hGb3JtU2NoZW1lKGluZCwgZmllbGROYW1lKTtcbiAgICBpZiAoaW5kID4gLTEpIHtcbiAgICAgIGlmICh0aGlzLmZvcm1TY2hlbWFbaW5kXT8ub25SZW1vdmVGdW5jKSB0aGlzLmZvcm1TY2hlbWFbaW5kXT8ub25SZW1vdmVGdW5jKHRoaXMuZm9ybS5nZXRSYXdWYWx1ZSgpIGFzIGFueSwgdGhpcy5mb3JtLmNvbnRyb2xzW2ZpZWxkTmFtZV0sIHRoaXMpO1xuICAgICAgdGhpcy5mb3JtU2NoZW1hLnNwbGljZShpbmQsIDEpO1xuICAgIH1cbiAgfVxuICBzZXRPcHRpb25MYWJlbCgkZXZlbnQ6IGFueSwgc2NoZW1lOiBJRm9ybVNjaGVtYTxURm9ybUdyb3VwPikge1xuICAgIHNjaGVtZS5zZWxlY3RlZE9wdGlvbkxhYmVsID0gJGV2ZW50O1xuICB9XG4gIGFzeW5jIHN1Ym1pdChidG4/OiBCdG5Db21wb25lbnQpIHtcbiAgICBpZiAodGhpcy5zdWJtaXRGdW5jKSB7XG4gICAgICBidG4/LnNldExvYWRlcih0cnVlKTtcbiAgICAgIHRoaXMubG9hZGluZyA9IHRydWU7XG4gICAgICB0aGlzLm9uU3VibWl0LmVtaXQodGhpcy5mb3JtLnZhbHVlKTtcbiAgICAgIHRyeSB7XG4gICAgICAgIHRoaXMuc3VibWlzc2lvblJlc3BvbnNlID0gYXdhaXQgdGhpcy5zdWJtaXRGdW5jKHRoaXMuZm9ybS52YWx1ZSk7XG4gICAgICAgIHRoaXMudVMuaW5mbyh0aGlzLnN1Ym1pdFN1Y2Nlc3NUZXh0LCAxKTtcbiAgICAgICAgdGhpcy5fc3VibWlzc2lvblJlc3BvbnNlLmVtaXQodGhpcy5zdWJtaXNzaW9uUmVzcG9uc2UpO1xuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgdGhpcy51Uy5pbmZvKGVycm9yLCAwKTtcbiAgICAgIH1cbiAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICAgICAgYnRuPy5zZXRMb2FkZXIoZmFsc2UpO1xuICAgIH0gZWxzZSB0aGlzLm9uU3VibWl0LmVtaXQodGhpcy5mb3JtLnZhbHVlKTtcbiAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIElCYXNlRm9ybVNjaGVtYTxcbiAgVCxcbiAgQ29tcG9uZW50IGV4dGVuZHMgQmFzZUZvcm1HZW5lcmF0b3I8VD4sXG4gIFRGb3JtR3JvdXAgZXh0ZW5kcyB7XG4gICAgW0sgaW4ga2V5b2YgVEZvcm1Hcm91cF06IEFic3RyYWN0Q29udHJvbDxhbnksIGFueT47XG4gIH0gPSBhbnksXG4+IHtcbiAgYXN5bmNWYWxpZGF0b3JzPzogQXN5bmNWYWxpZGF0b3JGbltdO1xuICBhdXRvUGlja1ZhbHVlRmllbGQ/OiBib29sZWFuO1xuICBjaGVja2VkPzogYm9vbGVhbjtcbiAgY2xlYXJPbkRpc2FibGU/OiBib29sZWFuO1xuICBjbHM/OiBzdHJpbmc7XG4gIGNvdW50cnlDb2RlMz86IHN0cmluZztcbiAgY2hpbGRyZW4/OiBJQmFzZUZvcm1TY2hlbWE8VCwgQ29tcG9uZW50LCBURm9ybUdyb3VwPltdO1xuICBkZWNpbWFsUG9pbnRzPzogbnVtYmVyO1xuICBkaXNhYmxlZD86IGJvb2xlYW47XG4gIGRpc2FibGVkSWY/OiAocm93OiBhbnksIGNlbGxGaWVsZD86IHN0cmluZykgPT4gYm9vbGVhbjtcbiAgaGlkZUlmRnVuYz86IChyb3cpID0+IGJvb2xlYW47XG4gIGZpZWxkOiBrZXlvZiBURm9ybUdyb3VwO1xuICBmb3JtPzogRm9ybUdyb3VwPFRGb3JtR3JvdXA+O1xuICBnZXRDb3VudHJ5Q29kZTNLZXk/OiBzdHJpbmc7XG4gIGhpZGRlbj86IGJvb2xlYW47XG4gIGhpbnQ/OiBzdHJpbmc7XG4gIGlkPzogc3RyaW5nO1xuICBpc1JlcXVpcmVkPzogYm9vbGVhbjtcbiAgaXNTZWFyY2hGaWVsZD86IGJvb2xlYW47XG4gIGxhYmVsPzogc3RyaW5nO1xuICBsYWJlbEZpZWxkPzogc3RyaW5nO1xuICBsYWJlbFR5cGU/OiBzdHJpbmc7XG4gIG9wdGlvbkxhYmVsRm9ybWF0dGVyPzogKHJvdykgPT4gc3RyaW5nO1xuICBtYXg/OiBudW1iZXI7XG4gIG1pbj86IG51bWJlcjtcbiAgbm9Gb3JtYXQ/OiBib29sZWFuO1xuICBvcHRpb25Gb3JtYXR0ZXI/OiAoaXRlbTogYW55KSA9PiBzdHJpbmc7XG4gIG9wdGlvbnM/OiBhbnlbXTtcbiAgb3B0aW9uc0FzeW5jPzogT2JzZXJ2YWJsZTxhbnlbXT4gfCBQcm9taXNlPGFueVtdPjtcbiAgb3B0aW9uc0luaXRGdW5jPzogT2JzZXJ2YWJsZTxhbnlbXT47XG4gIG9wdGlvbnNJbml0RnVuYzI/OiAoKSA9PiBPYnNlcnZhYmxlPGFueVtdPjtcbiAgb3B0aW9uc0tleT86IHN0cmluZztcbiAgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XG4gIHNlYXJjaEZ1bmM/OiAoLi4uYXJncykgPT4gYW55O1xuICBzZXRBc0NvdW50cnlDb2RlMz86IGJvb2xlYW47XG4gIHNob3dWYWxpZGF0aW9uPzogYm9vbGVhbjtcbiAgc2hvd1ZhbGlkYXRpb25JY29uPzogYm9vbGVhbjtcbiAgdGVtcGxhdGVWYWx1ZT86IGFueTtcbiAgdHlwZT86IElucHV0VHlwZTtcbiAgdmFsaWRhdG9ycz86IFZhbGlkYXRvckZuW107XG4gIHZhbHVlPzogYW55O1xuICB2YWx1ZUZpZWxkPzogc3RyaW5nO1xuICBvcHRpb25zRnVuYz86ICguLi52YWw6IGFueSkgPT4gT2JzZXJ2YWJsZTxhbnlbXT47XG4gIHRyaWdnZXJPbkNoYW5nZU9uSW5pdD86IGJvb2xlYW47XG4gIGZvcm1hdHRlcj86IChyb3c6IHsgW0sgaW4ga2V5b2YgVEZvcm1Hcm91cF06IGFueSB9LCBmaWVsZE5hbWU6IGtleW9mIFRGb3JtR3JvdXApID0+IHN0cmluZztcbiAgZXh0cmE/OiBhbnk7XG4gIG9uQ2hhbmdlRnVuYz86IChyb3c6IHsgW0sgaW4ga2V5b2YgVEZvcm1Hcm91cF0/OiBURm9ybUdyb3VwW0tdWyd2YWx1ZSddIH0sIGNlbGxWYWx1ZT86IGFueSwgY29tcG9uZW50PzogQ29tcG9uZW50KSA9PiBPYnNlcnZhYmxlPGFueVtdPiB8IGFueTtcbiAgb25SZW1vdmVGdW5jPzogKHJvdzogeyBbSyBpbiBrZXlvZiBURm9ybUdyb3VwXTogVEZvcm1Hcm91cFtLXVsndmFsdWUnXSB9LCBjZWxsPzogYW55LCBjb21wb25lbnQ/OiBDb21wb25lbnQpID0+IGFueTtcbiAgc2VsZWN0ZWRPcHRpb25MYWJlbD86IHN0cmluZztcbiAgc3RhY2tlZD86IGJvb2xlYW47XG4gIGRlYnVnPzogYm9vbGVhbjtcbiAgc2hvd1ZhbGlkYXRpb25Nc2c/OiBib29sZWFuO1xuICBkb250Rm9ybWF0QXNJbnB1dD86IGJvb2xlYW47XG4gIHNob3dSZXF1aXJlZFRhZz86IGJvb2xlYW47XG4gIGljb24/OiBJY29uVHlwZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJRm9ybVNjaGVtYTxcbiAgVEZvcm1Hcm91cCBleHRlbmRzIHtcbiAgICBbSyBpbiBrZXlvZiBURm9ybUdyb3VwXTogQWJzdHJhY3RDb250cm9sPGFueSwgYW55PjtcbiAgfSA9IGFueSxcbj4gZXh0ZW5kcyBJQmFzZUZvcm1TY2hlbWE8VEZvcm1Hcm91cCwgRm9ybUdlbmVyYXRvckNvbXBvbmVudDxURm9ybUdyb3VwPj4ge31cblxuZXhwb3J0IGludGVyZmFjZSBJRm9ybU9wdGlvbnMge1xuICBbZmllbGQ6IHN0cmluZ106IGFueTtcbn1cbiIsIjxsb2FkZXIgW2xvYWRpbmddPVwidXNlTG9hZGVyICYmIGxvYWRpbmdcIj5cbiAgPGZvcm0+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJyb3cgcm93LWNvbHMte3sgZ3JpZFN0eWxlIH19IHJvdy1jb2xzLW1kLXt7IGdyaWRNRFN0eWxlIH19IHJvdy1jb2xzLWxnLXt7IGdyaWRMR1N0eWxlIH19IHJvdy1jb2xzLXh4bC17e1xuICAgICAgICBncmlkWFhMU3R5bGVcbiAgICAgIH19IGFsaWduLWl0ZW1zLWNlbnRlciB7eyBmb3JtR3JpZENsYXNzIH19XCI+XG4gICAgICBAZm9yIChzY2hlbWUgb2YgZm9ybVNjaGVtYTsgdHJhY2sgdVMudHJhY2tCeUlEKCRpbmRleCwgc2NoZW1lKSkge1xuICAgICAgICBAaWYgKCFzY2hlbWUuaGlkZGVuICYmICghc2NoZW1lLmhpZGVJZkZ1bmMgfHwgIXNjaGVtZS5oaWRlSWZGdW5jKGZvcm0udmFsdWUpKSkge1xuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wge3sgc2NoZW1lLmNscyB9fSBcIj5cbiAgICAgICAgICAgIEBzd2l0Y2ggKHRydWUpIHtcbiAgICAgICAgICAgICAgQGNhc2UgKHNjaGVtZS50eXBlID09ICd0ZWwnKSB7XG4gICAgICAgICAgICAgICAgPGFwcC1waG9uZS1udW1iZXJcbiAgICAgICAgICAgICAgICAgIFtmb3JtXT1cInNjaGVtZS5mb3JtIHx8IGZvcm1cIlxuICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cInNjaGVtZS5sYWJlbFwiXG4gICAgICAgICAgICAgICAgICBbY2xlYXJPbkRpc2FibGVdPVwic2NoZW1lLmNsZWFyT25EaXNhYmxlXCJcbiAgICAgICAgICAgICAgICAgIFtzdGFja2VkXT1cInNjaGVtZS5zdGFja2VkXCJcbiAgICAgICAgICAgICAgICAgIFtuYW1lXT1cInNjaGVtZS5maWVsZFwiXG4gICAgICAgICAgICAgICAgICBbc2hvd0xhYmVsXT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICAgIFtub0Zvcm1hdF09XCJzY2hlbWUubm9Gb3JtYXRcIlxuICAgICAgICAgICAgICAgICAgW2RlYnVnXT1cInNjaGVtZS5kZWJ1Z1wiXG4gICAgICAgICAgICAgICAgICAobWNoYW5nZSk9XCJtY2hhbmdlRW1pdHRlcigpXCJcbiAgICAgICAgICAgICAgICAgIFtzaG93VmFsaWRhdGlvbl09XCJzY2hlbWUuc2hvd1ZhbGlkYXRpb25cIlxuICAgICAgICAgICAgICAgICAgW2F1dG9QaWNrVmFsdWVGaWVsZF09XCJzY2hlbWUuYXV0b1BpY2tWYWx1ZUZpZWxkXCJcbiAgICAgICAgICAgICAgICAgIFtzaG93UmVxdWlyZWRUYWddPVwic2NoZW1lLnNob3dSZXF1aXJlZFRhZ1wiXG4gICAgICAgICAgICAgICAgICBbc2hvd1ZhbGlkYXRpb25Nc2ddPVwic2NoZW1lLnNob3dWYWxpZGF0aW9uTXNnXCJcbiAgICAgICAgICAgICAgICAgIFtzaG93VmFsaWRhdGlvbkljb25dPVwic2NoZW1lLnNob3dWYWxpZGF0aW9uSWNvblwiXG4gICAgICAgICAgICAgICAgICBbY291bnRyeUNvZGUzXT1cImNlbGxDb3VudHJ5Q29kZTNzW3NjaGVtZS5nZXRDb3VudHJ5Q29kZTNLZXldIHx8IHNjaGVtZS5jb3VudHJ5Q29kZTNcIlxuICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cInNjaGVtZS5kaXNhYmxlZCB8fCAoc2NoZW1lLmRpc2FibGVkSWYgfCBmdW5jdGlvbkNhbGxlcjI6IGZvcm0udmFsdWUgOiAoc2NoZW1lLmZpZWxkIHwgdG9BbnkpKVwiIC8+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgQGNhc2UgKHNjaGVtZS50eXBlID09ICdhdXRvY29tcGxldGUnKSB7XG4gICAgICAgICAgICAgICAgPGFwcC1hdXRvY29tcGxldGVcbiAgICAgICAgICAgICAgICAgIFtmb3JtXT1cInNjaGVtZS5mb3JtIHx8IGZvcm1cIlxuICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cInNjaGVtZS5sYWJlbFwiXG4gICAgICAgICAgICAgICAgICBbY2xlYXJPbkRpc2FibGVdPVwic2NoZW1lLmNsZWFyT25EaXNhYmxlXCJcbiAgICAgICAgICAgICAgICAgIFtzdGFja2VkXT1cInNjaGVtZS5zdGFja2VkXCJcbiAgICAgICAgICAgICAgICAgIFtsYWJlbEZpZWxkXT1cInNjaGVtZS5sYWJlbEZpZWxkXCJcbiAgICAgICAgICAgICAgICAgIFtub0Zvcm1hdF09XCJzY2hlbWUubm9Gb3JtYXRcIlxuICAgICAgICAgICAgICAgICAgW2xhYmVsVHlwZV09XCJzY2hlbWUubGFiZWxUeXBlIHwgdG9BbnlcIlxuICAgICAgICAgICAgICAgICAgKG1jaGFuZ2UpPVwibWNoYW5nZUVtaXR0ZXIoKVwiXG4gICAgICAgICAgICAgICAgICAobVNlbGVjdGVkT3B0aW9uTGFiZWwpPVwic2V0T3B0aW9uTGFiZWwoJGV2ZW50LCBzY2hlbWUpXCJcbiAgICAgICAgICAgICAgICAgIFtuYW1lXT1cInNjaGVtZS5maWVsZFwiXG4gICAgICAgICAgICAgICAgICBbZGVidWddPVwic2NoZW1lLmRlYnVnXCJcbiAgICAgICAgICAgICAgICAgIFtzaG93UmVxdWlyZWRUYWddPVwic2NoZW1lLnNob3dSZXF1aXJlZFRhZ1wiXG4gICAgICAgICAgICAgICAgICBbb3B0aW9uRm9ybWF0dGVyXT1cInNjaGVtZS5vcHRpb25Gb3JtYXR0ZXJcIlxuICAgICAgICAgICAgICAgICAgW3ZhbHVlRmllbGRdPVwic2NoZW1lLnZhbHVlRmllbGRcIlxuICAgICAgICAgICAgICAgICAgW29wdGlvbnNGdW5jXT1cInNjaGVtZS5vcHRpb25zRnVuY1wiXG4gICAgICAgICAgICAgICAgICBbc2hvd1ZhbGlkYXRpb25Nc2ddPVwic2NoZW1lLnNob3dWYWxpZGF0aW9uTXNnXCJcbiAgICAgICAgICAgICAgICAgIFthdXRvUGlja1ZhbHVlRmllbGRdPVwic2NoZW1lLmF1dG9QaWNrVmFsdWVGaWVsZFwiXG4gICAgICAgICAgICAgICAgICBbb3B0aW9uc109XCJzY2hlbWUub3B0aW9ucyB8fCBvcHRpb25zTWFwW3NjaGVtZS5maWVsZCB8IHRvQW55XVwiXG4gICAgICAgICAgICAgICAgICBbaGludF09XCJzY2hlbWUuaGludFwiXG4gICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwic2NoZW1lLmRpc2FibGVkIHx8IChzY2hlbWUuZGlzYWJsZWRJZiB8IGZ1bmN0aW9uQ2FsbGVyMjogZm9ybS52YWx1ZSA6IChzY2hlbWUuZmllbGQgfCB0b0FueSkpXCIgLz5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBAZGVmYXVsdCB7XG4gICAgICAgICAgICAgICAgPGFwcC1pbnB1dC1iYXNpY1xuICAgICAgICAgICAgICAgICAgW25vRm9ybWF0XT1cInNjaGVtZS5ub0Zvcm1hdFwiXG4gICAgICAgICAgICAgICAgICBbbmFtZV09XCJzY2hlbWUuZmllbGRcIlxuICAgICAgICAgICAgICAgICAgW2Zvcm1dPVwic2NoZW1lLmZvcm0gfHwgZm9ybVwiXG4gICAgICAgICAgICAgICAgICBbY2xlYXJPbkRpc2FibGVdPVwic2NoZW1lLmNsZWFyT25EaXNhYmxlXCJcbiAgICAgICAgICAgICAgICAgIFt0eXBlXT1cInNjaGVtZS50eXBlXCJcbiAgICAgICAgICAgICAgICAgIFt2YWx1ZUZpZWxkXT1cInNjaGVtZS52YWx1ZUZpZWxkXCJcbiAgICAgICAgICAgICAgICAgIFthdXRvUGlja1ZhbHVlRmllbGRdPVwic2NoZW1lLmF1dG9QaWNrVmFsdWVGaWVsZFwiXG4gICAgICAgICAgICAgICAgICBbc3RhY2tlZF09XCJzY2hlbWUuc3RhY2tlZFwiXG4gICAgICAgICAgICAgICAgICBbbGFiZWxUeXBlXT1cInNjaGVtZS5sYWJlbFR5cGUgfCB0b0FueVwiXG4gICAgICAgICAgICAgICAgICBbY2hlY2tlZF09XCJzY2hlbWUuY2hlY2tlZFwiXG4gICAgICAgICAgICAgICAgICBbc2hvd1ZhbGlkYXRpb25dPVwiISFzY2hlbWUuYXN5bmNWYWxpZGF0b3JzXCJcbiAgICAgICAgICAgICAgICAgIFtzaG93VmFsaWRhdGlvbkljb25dPVwiISFzY2hlbWUuYXN5bmNWYWxpZGF0b3JzXCJcbiAgICAgICAgICAgICAgICAgIFtkZWJ1Z109XCJzY2hlbWUuZGVidWdcIlxuICAgICAgICAgICAgICAgICAgKG1jaGFuZ2UpPVwibWNoYW5nZUVtaXR0ZXIoKVwiXG4gICAgICAgICAgICAgICAgICBbc2hvd1JlcXVpcmVkVGFnXT1cInNjaGVtZS5zaG93UmVxdWlyZWRUYWdcIlxuICAgICAgICAgICAgICAgICAgW2xhYmVsRmllbGRdPVwic2NoZW1lLmxhYmVsRmllbGRcIlxuICAgICAgICAgICAgICAgICAgW29wdGlvbkZvcm1hdHRlcl09XCJzY2hlbWUub3B0aW9uRm9ybWF0dGVyXCJcbiAgICAgICAgICAgICAgICAgIChtU2VsZWN0ZWRPcHRpb25MYWJlbCk9XCJzZXRPcHRpb25MYWJlbCgkZXZlbnQsIHNjaGVtZSlcIlxuICAgICAgICAgICAgICAgICAgW29wdGlvbnNdPVwic2NoZW1lLm9wdGlvbnMgfHwgb3B0aW9uc01hcFtzY2hlbWUuZmllbGQgfCB0b0FueV1cIlxuICAgICAgICAgICAgICAgICAgW2RlY2ltYWxQb2ludHNdPVwic2NoZW1lLmRlY2ltYWxQb2ludHNcIlxuICAgICAgICAgICAgICAgICAgW2hpbnRdPVwic2NoZW1lLmhpbnRcIlxuICAgICAgICAgICAgICAgICAgW21heF09XCJzY2hlbWUubWF4XCJcbiAgICAgICAgICAgICAgICAgIFttaW5dPVwic2NoZW1lLm1pblwiXG4gICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwic2NoZW1lLnBsYWNlaG9sZGVyXCJcbiAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCJzY2hlbWUubGFiZWxcIlxuICAgICAgICAgICAgICAgICAgW3Nob3dWYWxpZGF0aW9uTXNnXT1cInNjaGVtZS5zaG93VmFsaWRhdGlvbk1zZ1wiXG4gICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwic2NoZW1lLmRpc2FibGVkIHx8IChzY2hlbWUuZGlzYWJsZWRJZiB8IGZ1bmN0aW9uQ2FsbGVyMjogZm9ybS52YWx1ZSA6IChzY2hlbWUuZmllbGQgfCB0b0FueSkpXCIgLz5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgICB9XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInJvdyByb3ctY29scy1hdXRvIGp1c3RpZnktY29udGVudC1lbmRcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJcIj5cbiAgICAgICAgQGlmIChzaG93U3VibWl0QnRuKSB7XG4gICAgICAgICAgPGFwcC1idG4gW3RleHRdPVwic3VibWl0QnRuVGV4dFwiIGFjdGlvblR5cGU9XCJzdWJtaXRcIiBncm91cD1cInN1Ym1pdFwiIFtmb3JtXT1cImZvcm1cIiAobWNsaWNrKT1cInN1Ym1pdChzdWJtaXRCdG4pXCIgI3N1Ym1pdEJ0biAvPlxuICAgICAgICB9XG4gICAgICAgIEBpZiAoc3VibWl0QnRuVGVtcGxhdGUpIHtcbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwic3VibWl0QnRuVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZm9ybT5cbjwvbG9hZGVyPlxuIl19
@@ -8,7 +8,8 @@ import { ModalBodyDirective } from './modal-body.directive';
8
8
  import { ModalFooterDirective } from './modal-footer.directive';
9
9
  import * as i0 from "@angular/core";
10
10
  import * as i1 from "../../../Services/utility.service";
11
- import * as i2 from "@angular/material/dialog";
11
+ import * as i2 from "@angular/common";
12
+ import * as i3 from "@angular/material/dialog";
12
13
  export class ModalComponent {
13
14
  set _isFullscreen(v) {
14
15
  this.isFullscreen = v;
@@ -73,11 +74,11 @@ export class ModalComponent {
73
74
  this.isOpened = false;
74
75
  }
75
76
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: ModalComponent, deps: [{ token: i1.UtilityService }], target: i0.ɵɵFactoryTarget.Component }); }
76
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.0.7", type: ModalComponent, isStandalone: true, selector: "modal-comp", inputs: { header: "header", bodyTemplateRef: "bodyTemplateRef", footerTemplateRef: "footerTemplateRef", showHeader: "showHeader", loading: "loading", _isFullscreen: ["isFullscreen", "_isFullscreen"], showFooter: "showFooter", width: "width", minWidth: "minWidth", height: "height", maxHeight: "maxHeight", icon: "icon", data: "data", disableClose: "disableClose", hasBackdrop: "hasBackdrop" }, outputs: { modalOpen: "modalOpen", modalClose: "modalClose" }, queries: [{ propertyName: "bodyTemplate", first: true, predicate: ModalBodyDirective, descendants: true }, { propertyName: "footerTemplate", first: true, predicate: ModalFooterDirective, descendants: true }], viewQueries: [{ propertyName: "tempRef", first: true, predicate: ["temp"], descendants: true }, { propertyName: "loaderRef", first: true, predicate: ["loader"], descendants: true }], ngImport: i0, template: "<ng-template #temp>\n <loader [loading]=\"loading\" [height]=\"cont.offsetHeight\" #loader>\n <div #cont class=\"h-100\">\n @if (showHeader) {\n <modal-header [header]=\"header | trim\" [dialogRef]=\"dialogRef\" />\n }\n <div mat-dialog-content class=\"{{ isFullscreen ? 'p-0' : 'mt-2 px-0 pb-2 pt-0' }} overflow-x-hidden {{ showFooter ? '' : 'noFooter h-100' }} \">\n <ng-content select=\"[body]\"></ng-content>\n \n </div>\n @if (showFooter) {\n <div mat-dialog-actions class=\"justify-content-end\">\n <ng-content select=\"[footer]\"></ng-content>\n \n </div>\n }\n </div>\n </loader>\n\n <!-- wdwwd -->\n</ng-template>\n", styles: ["::ng-deep .noFooter{max-height:calc(100% - 60px)!important}::ng-deep .loading-content-container{height:100%}\n"], dependencies: [{ kind: "component", type: LoaderComponent, selector: "loader", inputs: ["class", "text", "loading", "height"] }, { kind: "ngmodule", type: CommonModule }, { kind: "component", type: ModalHeaderComponent, selector: "modal-header", inputs: ["dialogRef", "header", "onCloseValue"] }, { kind: "ngmodule", type: MatDialogModule }, { kind: "directive", type: i2.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i2.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "pipe", type: TrimPipe, name: "trim" }] }); }
77
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.0.7", type: ModalComponent, isStandalone: true, selector: "modal-comp", inputs: { header: "header", bodyTemplateRef: "bodyTemplateRef", footerTemplateRef: "footerTemplateRef", showHeader: "showHeader", loading: "loading", _isFullscreen: ["isFullscreen", "_isFullscreen"], showFooter: "showFooter", width: "width", minWidth: "minWidth", height: "height", maxHeight: "maxHeight", icon: "icon", data: "data", disableClose: "disableClose", hasBackdrop: "hasBackdrop" }, outputs: { modalOpen: "modalOpen", modalClose: "modalClose" }, queries: [{ propertyName: "bodyTemplate", first: true, predicate: ModalBodyDirective, descendants: true }, { propertyName: "footerTemplate", first: true, predicate: ModalFooterDirective, descendants: true }], viewQueries: [{ propertyName: "tempRef", first: true, predicate: ["temp"], descendants: true }, { propertyName: "loaderRef", first: true, predicate: ["loader"], descendants: true }], ngImport: i0, template: "<ng-template #temp>\n <loader [loading]=\"loading\" [height]=\"cont.offsetHeight\" #loader>\n <div #cont class=\"h-100\">\n @if (showHeader) {\n <modal-header [header]=\"header | trim\" [dialogRef]=\"dialogRef\" />\n }\n <div\n mat-dialog-content\n class=\"{{ isFullscreen ? 'p-0' : 'mt-2 px-0 pb-2 pt-0' }} overflow-x-hidden {{\n showFooter ? '' : 'noFooter h-100'\n }} \">\n <ng-content select=\"[body]\"></ng-content>\n @if (isLoaded) {\n <ng-container [ngTemplateOutlet]=\"bodyTemplate?.templateRef\"></ng-container>\n }\n </div>\n @if (showFooter) {\n <div mat-dialog-actions class=\"justify-content-end\">\n <ng-content select=\"[footer]\"></ng-content>\n @if (isOpened) {\n <ng-container [ngTemplateOutlet]=\"footerTemplate?.templateRef\"></ng-container>\n }\n </div>\n }\n </div>\n </loader>\n\n <!-- wdwwd -->\n</ng-template>\n", styles: ["::ng-deep .noFooter{max-height:calc(100% - 60px)!important}::ng-deep .loading-content-container{height:100%}\n"], dependencies: [{ kind: "component", type: LoaderComponent, selector: "loader", inputs: ["class", "text", "loading", "height"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ModalHeaderComponent, selector: "modal-header", inputs: ["dialogRef", "header", "onCloseValue"] }, { kind: "ngmodule", type: MatDialogModule }, { kind: "directive", type: i3.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i3.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "pipe", type: TrimPipe, name: "trim" }] }); }
77
78
  }
78
79
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: ModalComponent, decorators: [{
79
80
  type: Component,
80
- args: [{ selector: 'modal-comp', standalone: true, imports: [LoaderComponent, CommonModule, ModalHeaderComponent, MatDialogModule, TrimPipe], template: "<ng-template #temp>\n <loader [loading]=\"loading\" [height]=\"cont.offsetHeight\" #loader>\n <div #cont class=\"h-100\">\n @if (showHeader) {\n <modal-header [header]=\"header | trim\" [dialogRef]=\"dialogRef\" />\n }\n <div mat-dialog-content class=\"{{ isFullscreen ? 'p-0' : 'mt-2 px-0 pb-2 pt-0' }} overflow-x-hidden {{ showFooter ? '' : 'noFooter h-100' }} \">\n <ng-content select=\"[body]\"></ng-content>\n \n </div>\n @if (showFooter) {\n <div mat-dialog-actions class=\"justify-content-end\">\n <ng-content select=\"[footer]\"></ng-content>\n \n </div>\n }\n </div>\n </loader>\n\n <!-- wdwwd -->\n</ng-template>\n", styles: ["::ng-deep .noFooter{max-height:calc(100% - 60px)!important}::ng-deep .loading-content-container{height:100%}\n"] }]
81
+ args: [{ selector: 'modal-comp', standalone: true, imports: [LoaderComponent, CommonModule, ModalHeaderComponent, MatDialogModule, TrimPipe], template: "<ng-template #temp>\n <loader [loading]=\"loading\" [height]=\"cont.offsetHeight\" #loader>\n <div #cont class=\"h-100\">\n @if (showHeader) {\n <modal-header [header]=\"header | trim\" [dialogRef]=\"dialogRef\" />\n }\n <div\n mat-dialog-content\n class=\"{{ isFullscreen ? 'p-0' : 'mt-2 px-0 pb-2 pt-0' }} overflow-x-hidden {{\n showFooter ? '' : 'noFooter h-100'\n }} \">\n <ng-content select=\"[body]\"></ng-content>\n @if (isLoaded) {\n <ng-container [ngTemplateOutlet]=\"bodyTemplate?.templateRef\"></ng-container>\n }\n </div>\n @if (showFooter) {\n <div mat-dialog-actions class=\"justify-content-end\">\n <ng-content select=\"[footer]\"></ng-content>\n @if (isOpened) {\n <ng-container [ngTemplateOutlet]=\"footerTemplate?.templateRef\"></ng-container>\n }\n </div>\n }\n </div>\n </loader>\n\n <!-- wdwwd -->\n</ng-template>\n", styles: ["::ng-deep .noFooter{max-height:calc(100% - 60px)!important}::ng-deep .loading-content-container{height:100%}\n"] }]
81
82
  }], ctorParameters: () => [{ type: i1.UtilityService }], propDecorators: { tempRef: [{
82
83
  type: ViewChild,
83
84
  args: ['temp']
@@ -126,4 +127,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImpor
126
127
  type: ContentChild,
127
128
  args: [ModalFooterDirective]
128
129
  }] } });
129
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXRzLWZlLW5nLXNkay9zcmMvbGliL1NoYXJlZC9jb21wb25lbnRzL21vZGFsL21vZGFsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V0cy1mZS1uZy1zZGsvc3JjL2xpYi9TaGFyZWQvY29tcG9uZW50cy9tb2RhbC9tb2RhbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBZSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckgsT0FBTyxFQUFnQyxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDN0QsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDOUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUtwRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7OztBQVVoRSxNQUFNLE9BQU8sY0FBYztJQWtCekIsSUFBMkIsYUFBYSxDQUFDLENBQVU7UUFDakQsSUFBSSxDQUFDLFlBQVksR0FBRyxDQUFDLENBQUM7UUFDdEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7UUFDeEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7SUFDMUIsQ0FBQztJQXlCRCxZQUFtQixFQUFrQjtRQUFsQixPQUFFLEdBQUYsRUFBRSxDQUFn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N0IsU0FBUzt1QkFBQyxRQUFRO2dCQUNWLE1BQU07c0JBQWQsS0FBSztnQkFJRyxlQUFlO3NCQUF2QixLQUFLO2dCQUlHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFJRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFFcUIsYUFBYTtzQkFBdkMsS0FBSzt1QkFBQyxjQUFjO2dCQVFaLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBRUksU0FBUztzQkFBbEIsTUFBTTtnQkFDRyxVQUFVO3NCQUFuQixNQUFNO2dCQU8yQixZQUFZO3NCQUE3QyxZQUFZO3VCQUFDLGtCQUFrQjtnQkFDSSxjQUFjO3NCQUFqRCxZQUFZO3VCQUFDLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQ29udGVudENoaWxkLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVGVtcGxhdGVSZWYsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0RGlhbG9nUmVmIGFzIE1hdERpYWxvZ1JlZiwgTWF0RGlhbG9nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IExvYWRlckNvbXBvbmVudCB9IGZyb20gJy4uL2xvYWRlci9sb2FkZXIuY29tcG9uZW50JztcbmltcG9ydCB7IE1vZGFsSGVhZGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vbW9kYWwtaGVhZGVyL21vZGFsLWhlYWRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFRyaW1QaXBlIH0gZnJvbSAnLi4vLi4vcGlwZXMvdXRpbGl0eS5waXBlJztcblxuaW1wb3J0IHsgRGlyZWN0aXZlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBVdGlsaXR5U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL1NlcnZpY2VzL3V0aWxpdHkuc2VydmljZSc7XG5pbXBvcnQgeyBJY29uVHlwZSB9IGZyb20gJy4uL2J0bi9idG4ubW9kZWwnO1xuaW1wb3J0IHsgTW9kYWxCb2R5RGlyZWN0aXZlIH0gZnJvbSAnLi9tb2RhbC1ib2R5LmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBNb2RhbEZvb3RlckRpcmVjdGl2ZSB9IGZyb20gJy4vbW9kYWwtZm9vdGVyLmRpcmVjdGl2ZSc7XG4gXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21vZGFsLWNvbXAnLFxuICB0ZW1wbGF0ZVVybDogJy4vbW9kYWwuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9tb2RhbC5jb21wb25lbnQuc2NzcyddLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbTG9hZGVyQ29tcG9uZW50LCBDb21tb25Nb2R1bGUsIE1vZGFsSGVhZGVyQ29tcG9uZW50LCBNYXREaWFsb2dNb2R1bGUsIFRyaW1QaXBlXSxcbn0pXG5leHBvcnQgY2xhc3MgTW9kYWxDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBAVmlld0NoaWxkKCd0ZW1wJykgdGVtcFJlZjogVGVtcGxhdGVSZWY8YW55PjtcbiAgQFZpZXdDaGlsZCgnbG9hZGVyJykgbG9hZGVyUmVmOiBMb2FkZXJDb21wb25lbnQ7XG4gIEBJbnB1dCgpIGhlYWRlcjogc3RyaW5nO1xuICAvKipcbiAgICogV2hlbiB1c2luZyBsYXp5bG9hZGVyXG4gICAqL1xuICBASW5wdXQoKSBib2R5VGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT47XG4gIC8qKlxuICAgKiBXaGVuIHVzaW5nIGxhenlsb2FkZXJcbiAgICovXG4gIEBJbnB1dCgpIGZvb3RlclRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICAvKipcbiAgICogU3BlY2lmeSBpZiB0byBzaG93IHRoZSBtb2RhbCBoZWFkZXJcbiAgICovXG4gIEBJbnB1dCgpIHNob3dIZWFkZXI6IGJvb2xlYW4gPSB0cnVlO1xuICBASW5wdXQoKSBsb2FkaW5nOiBib29sZWFuO1xuICBpc0Z1bGxzY3JlZW46IGJvb2xlYW47XG4gIEBJbnB1dCgnaXNGdWxsc2NyZWVuJykgc2V0IF9pc0Z1bGxzY3JlZW4odjogYm9vbGVhbikge1xuICAgIHRoaXMuaXNGdWxsc2NyZWVuID0gdjtcbiAgICB0aGlzLnNob3dIZWFkZXIgPSBmYWxzZTtcbiAgICB0aGlzLnNob3dGb290ZXIgPSBmYWxzZTtcbiAgfVxuICAvKipcbiAgICogU3BlY2lmeSBpZiB0byBzaG93IHRoZSBmb290ZXIgc2VjdGlvblxuICAgKi9cbiAgQElucHV0KCkgc2hvd0Zvb3RlciA9IHRydWU7XG4gIEBJbnB1dCgpIHdpZHRoOiBzdHJpbmcgPSAnYXV0byc7XG4gIEBJbnB1dCgpIG1pbldpZHRoOiBzdHJpbmcgPSAnYXV0byc7XG4gIEBJbnB1dCgpIGhlaWdodDogc3RyaW5nID0gJ2F1dG8nO1xuICBASW5wdXQoKSBtYXhIZWlnaHQ6IHN0cmluZyA9ICc5MHZoJztcbiAgQElucHV0KCkgaWNvbjogSWNvblR5cGU7XG4gIEBJbnB1dCgpIGRhdGE6IHsgW3g6IHN0cmluZ106IGFueSB9ID0ge307XG4gIEBJbnB1dCgpIGRpc2FibGVDbG9zZTogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBoYXNCYWNrZHJvcDogYm9vbGVhbiA9IHRydWU7XG4gIHB1YmxpYyBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxhbnk+O1xuICBAT3V0cHV0KCkgbW9kYWxPcGVuID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICBAT3V0cHV0KCkgbW9kYWxDbG9zZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcbiAgLy8gcHVibGljIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPHR5cGVvZiB0aGlzLnRlbXBSZWY+O1xuICAvLyBwdWJsaWMgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8TW9kYWxDb21wb25lbnQ+O1xuICBwcm90ZWN0ZWQgaXNPcGVuZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHJvdGVjdGVkIGlzTG9hZGVkOiBib29sZWFuID0gZmFsc2U7XG4gIC8vIGxvYWRlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBDb250ZW50Q2hpbGQoTW9kYWxCb2R5RGlyZWN0aXZlKSBib2R5VGVtcGxhdGU6IE1vZGFsQm9keURpcmVjdGl2ZTtcbiAgQENvbnRlbnRDaGlsZChNb2RhbEZvb3RlckRpcmVjdGl2ZSkgZm9vdGVyVGVtcGxhdGU6IE1vZGFsRm9vdGVyRGlyZWN0aXZlO1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyB1UzogVXRpbGl0eVNlcnZpY2UpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7fVxuXG4gIG9wZW4oLi4uYXJncykge1xuICAgIGlmICh0aGlzLmlzT3BlbmVkKSByZXR1cm47XG4gICAgdGhpcy5pc09wZW5lZCA9IHRydWU7XG4gICAgdGhpcy5pc0xvYWRlZCA9IHRydWU7XG4gICAgLy8gdGhpcy5sb2FkZWQgPSB0cnVlO1xuICAgIC8vIGRlYnVnZ2VyO1xuICAgIHRoaXMuZGlhbG9nUmVmID0gdGhpcy51Uy5kaWFsb2dPcGVuZXJSZWYodGhpcy50ZW1wUmVmLCB7XG4gICAgICB3aWR0aDogdGhpcy51Uy5pc01vYmlsZSA/ICc5MCUnIDogdGhpcy53aWR0aCxcbiAgICAgIGhlaWdodDogdGhpcy5oZWlnaHQsXG4gICAgICBtaW5XaWR0aDogdGhpcy51Uy5pc01vYmlsZSA/ICc5MCUnIDogdGhpcy5taW5XaWR0aCxcbiAgICAgIG1heEhlaWdodDogdGhpcy5tYXhIZWlnaHQsXG4gICAgICBtYXhXaWR0aDogJzEwMHZ3JyxcbiAgICAgIGF1dG9Gb2N1czogZmFsc2UsXG4gICAgICBkaXNhYmxlQ2xvc2U6IHRoaXMuZGlzYWJsZUNsb3NlLFxuICAgICAgaGFzQmFja2Ryb3A6IHRoaXMuaGFzQmFja2Ryb3AsXG4gICAgfSk7XG4gICAgdGhpcy5kaWFsb2dSZWYuYWZ0ZXJPcGVuZWQoKS5zdWJzY3JpYmUoKHIpID0+IHtcbiAgICAgIHRoaXMubW9kYWxPcGVuLmVtaXQodHJ1ZSk7XG4gICAgfSk7XG4gICAgdGhpcy5kaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoKHIpID0+IHtcbiAgICAgIHRoaXMuaXNPcGVuZWQgPSBmYWxzZTtcbiAgICAgIHRoaXMubW9kYWxDbG9zZS5lbWl0KHRydWUpO1xuICAgIH0pO1xuICB9XG5cbiAgY2xvc2UoKSB7XG4gICAgLy8gZGVidWdnZXI7XG4gICAgaWYgKCF0aGlzLmlzT3BlbmVkKSByZXR1cm47XG4gICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoKTtcbiAgICB0aGlzLmlzT3BlbmVkID0gZmFsc2U7XG4gIH1cbn1cbiIsIjxuZy10ZW1wbGF0ZSAjdGVtcD5cbiAgPGxvYWRlciBbbG9hZGluZ109XCJsb2FkaW5nXCIgW2hlaWdodF09XCJjb250Lm9mZnNldEhlaWdodFwiICNsb2FkZXI+XG4gICAgPGRpdiAjY29udCBjbGFzcz1cImgtMTAwXCI+XG4gICAgICBAaWYgKHNob3dIZWFkZXIpIHtcbiAgICAgICAgPG1vZGFsLWhlYWRlciBbaGVhZGVyXT1cImhlYWRlciB8IHRyaW1cIiBbZGlhbG9nUmVmXT1cImRpYWxvZ1JlZlwiIC8+XG4gICAgICB9XG4gICAgICA8ZGl2IG1hdC1kaWFsb2ctY29udGVudCBjbGFzcz1cInt7IGlzRnVsbHNjcmVlbiA/ICdwLTAnIDogJ210LTIgcHgtMCBwYi0yIHB0LTAnIH19IG92ZXJmbG93LXgtaGlkZGVuIHt7IHNob3dGb290ZXIgPyAnJyA6ICdub0Zvb3RlciBoLTEwMCcgfX0gXCI+XG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltib2R5XVwiPjwvbmctY29udGVudD5cbiBcbiAgICAgIDwvZGl2PlxuICAgICAgQGlmIChzaG93Rm9vdGVyKSB7XG4gICAgICAgIDxkaXYgbWF0LWRpYWxvZy1hY3Rpb25zIGNsYXNzPVwianVzdGlmeS1jb250ZW50LWVuZFwiPlxuICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltmb290ZXJdXCI+PC9uZy1jb250ZW50PlxuICAgIFxuICAgICAgICA8L2Rpdj5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgPC9sb2FkZXI+XG5cbiAgPCEtLSB3ZHd3ZCAtLT5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
130
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXRzLWZlLW5nLXNkay9zcmMvbGliL1NoYXJlZC9jb21wb25lbnRzL21vZGFsL21vZGFsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V0cy1mZS1uZy1zZGsvc3JjL2xpYi9TaGFyZWQvY29tcG9uZW50cy9tb2RhbC9tb2RhbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBZSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckgsT0FBTyxFQUFnQyxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDN0QsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDOUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUtwRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7QUFVaEUsTUFBTSxPQUFPLGNBQWM7SUFrQnpCLElBQTJCLGFBQWEsQ0FBQyxDQUFVO1FBQ2pELElBQUksQ0FBQyxZQUFZLEdBQUcsQ0FBQyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO0lBQzFCLENBQUM7SUF5QkQsWUFBbUIsRUFBa0I7UUFBbEIsT0FBRSxHQUFGLEVBQUUsQ0FB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QTdCLFNBQVM7dUJBQUMsUUFBUTtnQkFDVixNQUFNO3NCQUFkLEtBQUs7Z0JBSUcsZUFBZTtzQkFBdkIsS0FBSztnQkFJRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBSUcsVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBRXFCLGFBQWE7c0JBQXZDLEtBQUs7dUJBQUMsY0FBYztnQkFRWixVQUFVO3NCQUFsQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUVJLFNBQVM7c0JBQWxCLE1BQU07Z0JBQ0csVUFBVTtzQkFBbkIsTUFBTTtnQkFPMkIsWUFBWTtzQkFBN0MsWUFBWTt1QkFBQyxrQkFBa0I7Z0JBQ0ksY0FBYztzQkFBakQsWUFBWTt1QkFBQyxvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIENvbnRlbnRDaGlsZCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFRlbXBsYXRlUmVmLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdERpYWxvZ1JlZiBhcyBNYXREaWFsb2dSZWYsIE1hdERpYWxvZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBMb2FkZXJDb21wb25lbnQgfSBmcm9tICcuLi9sb2FkZXIvbG9hZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNb2RhbEhlYWRlckNvbXBvbmVudCB9IGZyb20gJy4uL21vZGFsLWhlYWRlci9tb2RhbC1oZWFkZXIuY29tcG9uZW50JztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBUcmltUGlwZSB9IGZyb20gJy4uLy4uL3BpcGVzL3V0aWxpdHkucGlwZSc7XG5cbmltcG9ydCB7IERpcmVjdGl2ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVXRpbGl0eVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9TZXJ2aWNlcy91dGlsaXR5LnNlcnZpY2UnO1xuaW1wb3J0IHsgSWNvblR5cGUgfSBmcm9tICcuLi9idG4vYnRuLm1vZGVsJztcbmltcG9ydCB7IE1vZGFsQm9keURpcmVjdGl2ZSB9IGZyb20gJy4vbW9kYWwtYm9keS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgTW9kYWxGb290ZXJEaXJlY3RpdmUgfSBmcm9tICcuL21vZGFsLWZvb3Rlci5kaXJlY3RpdmUnO1xuIFxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtb2RhbC1jb21wJyxcbiAgdGVtcGxhdGVVcmw6ICcuL21vZGFsLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbW9kYWwuY29tcG9uZW50LnNjc3MnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0xvYWRlckNvbXBvbmVudCwgQ29tbW9uTW9kdWxlLCBNb2RhbEhlYWRlckNvbXBvbmVudCwgTWF0RGlhbG9nTW9kdWxlLCBUcmltUGlwZV0sXG59KVxuZXhwb3J0IGNsYXNzIE1vZGFsQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQFZpZXdDaGlsZCgndGVtcCcpIHRlbXBSZWY6IFRlbXBsYXRlUmVmPGFueT47XG4gIEBWaWV3Q2hpbGQoJ2xvYWRlcicpIGxvYWRlclJlZjogTG9hZGVyQ29tcG9uZW50O1xuICBASW5wdXQoKSBoZWFkZXI6IHN0cmluZztcbiAgLyoqXG4gICAqIFdoZW4gdXNpbmcgbGF6eWxvYWRlclxuICAgKi9cbiAgQElucHV0KCkgYm9keVRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICAvKipcbiAgICogV2hlbiB1c2luZyBsYXp5bG9hZGVyXG4gICAqL1xuICBASW5wdXQoKSBmb290ZXJUZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PjtcbiAgLyoqXG4gICAqIFNwZWNpZnkgaWYgdG8gc2hvdyB0aGUgbW9kYWwgaGVhZGVyXG4gICAqL1xuICBASW5wdXQoKSBzaG93SGVhZGVyOiBib29sZWFuID0gdHJ1ZTtcbiAgQElucHV0KCkgbG9hZGluZzogYm9vbGVhbjtcbiAgaXNGdWxsc2NyZWVuOiBib29sZWFuO1xuICBASW5wdXQoJ2lzRnVsbHNjcmVlbicpIHNldCBfaXNGdWxsc2NyZWVuKHY6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmlzRnVsbHNjcmVlbiA9IHY7XG4gICAgdGhpcy5zaG93SGVhZGVyID0gZmFsc2U7XG4gICAgdGhpcy5zaG93Rm9vdGVyID0gZmFsc2U7XG4gIH1cbiAgLyoqXG4gICAqIFNwZWNpZnkgaWYgdG8gc2hvdyB0aGUgZm9vdGVyIHNlY3Rpb25cbiAgICovXG4gIEBJbnB1dCgpIHNob3dGb290ZXIgPSB0cnVlO1xuICBASW5wdXQoKSB3aWR0aDogc3RyaW5nID0gJ2F1dG8nO1xuICBASW5wdXQoKSBtaW5XaWR0aDogc3RyaW5nID0gJ2F1dG8nO1xuICBASW5wdXQoKSBoZWlnaHQ6IHN0cmluZyA9ICdhdXRvJztcbiAgQElucHV0KCkgbWF4SGVpZ2h0OiBzdHJpbmcgPSAnOTB2aCc7XG4gIEBJbnB1dCgpIGljb246IEljb25UeXBlO1xuICBASW5wdXQoKSBkYXRhOiB7IFt4OiBzdHJpbmddOiBhbnkgfSA9IHt9O1xuICBASW5wdXQoKSBkaXNhYmxlQ2xvc2U6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgaGFzQmFja2Ryb3A6IGJvb2xlYW4gPSB0cnVlO1xuICBwdWJsaWMgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8YW55PjtcbiAgQE91dHB1dCgpIG1vZGFsT3BlbiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcbiAgQE91dHB1dCgpIG1vZGFsQ2xvc2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG4gIC8vIHB1YmxpYyBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjx0eXBlb2YgdGhpcy50ZW1wUmVmPjtcbiAgLy8gcHVibGljIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPE1vZGFsQ29tcG9uZW50PjtcbiAgcHJvdGVjdGVkIGlzT3BlbmVkOiBib29sZWFuID0gZmFsc2U7XG4gIHByb3RlY3RlZCBpc0xvYWRlZDogYm9vbGVhbiA9IGZhbHNlO1xuICAvLyBsb2FkZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBAQ29udGVudENoaWxkKE1vZGFsQm9keURpcmVjdGl2ZSkgYm9keVRlbXBsYXRlOiBNb2RhbEJvZHlEaXJlY3RpdmU7XG4gIEBDb250ZW50Q2hpbGQoTW9kYWxGb290ZXJEaXJlY3RpdmUpIGZvb3RlclRlbXBsYXRlOiBNb2RhbEZvb3RlckRpcmVjdGl2ZTtcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgdVM6IFV0aWxpdHlTZXJ2aWNlKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge31cblxuICBvcGVuKC4uLmFyZ3MpIHtcbiAgICBpZiAodGhpcy5pc09wZW5lZCkgcmV0dXJuO1xuICAgIHRoaXMuaXNPcGVuZWQgPSB0cnVlO1xuICAgIHRoaXMuaXNMb2FkZWQgPSB0cnVlO1xuICAgIC8vIHRoaXMubG9hZGVkID0gdHJ1ZTtcbiAgICAvLyBkZWJ1Z2dlcjtcbiAgICB0aGlzLmRpYWxvZ1JlZiA9IHRoaXMudVMuZGlhbG9nT3BlbmVyUmVmKHRoaXMudGVtcFJlZiwge1xuICAgICAgd2lkdGg6IHRoaXMudVMuaXNNb2JpbGUgPyAnOTAlJyA6IHRoaXMud2lkdGgsXG4gICAgICBoZWlnaHQ6IHRoaXMuaGVpZ2h0LFxuICAgICAgbWluV2lkdGg6IHRoaXMudVMuaXNNb2JpbGUgPyAnOTAlJyA6IHRoaXMubWluV2lkdGgsXG4gICAgICBtYXhIZWlnaHQ6IHRoaXMubWF4SGVpZ2h0LFxuICAgICAgbWF4V2lkdGg6ICcxMDB2dycsXG4gICAgICBhdXRvRm9jdXM6IGZhbHNlLFxuICAgICAgZGlzYWJsZUNsb3NlOiB0aGlzLmRpc2FibGVDbG9zZSxcbiAgICAgIGhhc0JhY2tkcm9wOiB0aGlzLmhhc0JhY2tkcm9wLFxuICAgIH0pO1xuICAgIHRoaXMuZGlhbG9nUmVmLmFmdGVyT3BlbmVkKCkuc3Vic2NyaWJlKChyKSA9PiB7XG4gICAgICB0aGlzLm1vZGFsT3Blbi5lbWl0KHRydWUpO1xuICAgIH0pO1xuICAgIHRoaXMuZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKChyKSA9PiB7XG4gICAgICB0aGlzLmlzT3BlbmVkID0gZmFsc2U7XG4gICAgICB0aGlzLm1vZGFsQ2xvc2UuZW1pdCh0cnVlKTtcbiAgICB9KTtcbiAgfVxuXG4gIGNsb3NlKCkge1xuICAgIC8vIGRlYnVnZ2VyO1xuICAgIGlmICghdGhpcy5pc09wZW5lZCkgcmV0dXJuO1xuICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKCk7XG4gICAgdGhpcy5pc09wZW5lZCA9IGZhbHNlO1xuICB9XG59XG4iLCI8bmctdGVtcGxhdGUgI3RlbXA+XG4gIDxsb2FkZXIgW2xvYWRpbmddPVwibG9hZGluZ1wiIFtoZWlnaHRdPVwiY29udC5vZmZzZXRIZWlnaHRcIiAjbG9hZGVyPlxuICAgIDxkaXYgI2NvbnQgY2xhc3M9XCJoLTEwMFwiPlxuICAgICAgQGlmIChzaG93SGVhZGVyKSB7XG4gICAgICAgIDxtb2RhbC1oZWFkZXIgW2hlYWRlcl09XCJoZWFkZXIgfCB0cmltXCIgW2RpYWxvZ1JlZl09XCJkaWFsb2dSZWZcIiAvPlxuICAgICAgfVxuICAgICAgPGRpdlxuICAgICAgICBtYXQtZGlhbG9nLWNvbnRlbnRcbiAgICAgICAgY2xhc3M9XCJ7eyBpc0Z1bGxzY3JlZW4gPyAncC0wJyA6ICdtdC0yIHB4LTAgcGItMiBwdC0wJyB9fSBvdmVyZmxvdy14LWhpZGRlbiB7e1xuICAgICAgICAgIHNob3dGb290ZXIgPyAnJyA6ICdub0Zvb3RlciBoLTEwMCdcbiAgICAgICAgfX0gXCI+XG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltib2R5XVwiPjwvbmctY29udGVudD5cbiAgICAgICAgQGlmIChpc0xvYWRlZCkge1xuICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiYm9keVRlbXBsYXRlPy50ZW1wbGF0ZVJlZlwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cbiAgICAgIEBpZiAoc2hvd0Zvb3Rlcikge1xuICAgICAgICA8ZGl2IG1hdC1kaWFsb2ctYWN0aW9ucyBjbGFzcz1cImp1c3RpZnktY29udGVudC1lbmRcIj5cbiAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbZm9vdGVyXVwiPjwvbmctY29udGVudD5cbiAgICAgICAgICBAaWYgKGlzT3BlbmVkKSB7XG4gICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImZvb3RlclRlbXBsYXRlPy50ZW1wbGF0ZVJlZlwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgICB9XG4gICAgPC9kaXY+XG4gIDwvbG9hZGVyPlxuXG4gIDwhLS0gd2R3d2QgLS0+XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -20,6 +20,9 @@ import { UtilityService } from '../../../Services/utility.service';
20
20
  import { TranslatePipe } from '../../pipes/translate.pipe';
21
21
  import { PaginatorPipe } from '../../pipes/paginator.pipe';
22
22
  import * as i0 from "@angular/core";
23
+ /**
24
+ * Table Input Component
25
+ */
23
26
  export class TableInputComponent extends FormGeneratorComponent {
24
27
  constructor() {
25
28
  super(...arguments);
@@ -36,10 +39,10 @@ export class TableInputComponent extends FormGeneratorComponent {
36
39
  this.preFormatFormSchema(x.children);
37
40
  });
38
41
  };
39
- this.deleteRowClicked = (index, data, config) => {
40
- const i = this.formArray.controls.findIndex((x) => x.controls[this.uS.customIDField].value == data.controls[this.uS.customIDField].value);
42
+ this.deleteRowClicked = (index, rowForm, config) => {
43
+ const i = this.formArray.controls.findIndex((x) => x.controls[this.uS.customIDField].value == rowForm.controls[this.uS.customIDField].value);
41
44
  // debugger;
42
- this.deleteRowFunc(i, data, config);
45
+ this.deleteRowFunc(i, rowForm?.getRawValue(), config);
43
46
  this.refresh();
44
47
  };
45
48
  this.addRowClicked = (form, data) => {
@@ -216,4 +219,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImpor
216
219
  type: ViewChild,
217
220
  args: [PaginatorComponent]
218
221
  }] } });
219
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXRzLWZlLW5nLXNkay9zcmMvbGliL1NoYXJlZC9jb21wb25lbnRzL3RhYmxlLWlucHV0L3RhYmxlLWlucHV0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V0cy1mZS1uZy1zZGsvc3JjL2xpYi9TaGFyZWQvY29tcG9uZW50cy90YWJsZS1pbnB1dC90YWJsZS1pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVFLE9BQU8sRUFBOEIsV0FBVyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbEksT0FBTyxFQUFFLHdCQUF3QixFQUFFLGFBQWEsRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsU0FBUyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFakksT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQy9FLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBQ3RHLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsZUFBZSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFD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O3dCQUNuQixRQUFRO3dCQUNSLGVBQWU7d0JBQ2Ysa0JBQWtCO3dCQUNsQixhQUFhO3dCQUNiLGdCQUFnQjt3QkFDaEIsY0FBYzt3QkFDZCxPQUFPO3dCQUNQLEtBQUs7d0JBQ0wsSUFBSTt3QkFDSixRQUFRO3dCQUNSLFlBQVk7d0JBQ1osZUFBZTt3QkFDZixrQkFBa0I7d0JBQ2xCLGFBQWE7d0JBQ2Isb0JBQW9CO3dCQUNwQixtQkFBbUI7d0JBQ25CLHNCQUFzQjt3QkFDdEIsU0FBUzt3QkFDVCxhQUFhO3dCQUNiLDBCQUEwQjtxQkFDM0I7OEJBYTJCLElBQUk7c0JBQS9CLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFO2dCQUNDLFNBQVM7c0JBQW5DLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUNoQixvQkFBb0I7c0JBQTVCLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQzhDLFdBQVc7c0JBQTlELEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUU7Z0JBSzlDLG1CQUFtQjtzQkFEbEIsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBS2hCLGFBQWE7c0JBQXJCLEtBQUs7Z0JBSUcsVUFBVTtzQkFBbEIsS0FBSztnQkFDcUIsYUFBYTtzQkFBdkMsS0FBSzt1QkFBQyxjQUFjO2dCQVVyQixVQUFVO3NCQURULEtBQUs7Z0JBY3lCLGtCQUFrQjtzQkFBaEQsU0FBUzt1QkFBQyxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQsIFZpZXdDaGlsZCwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIEZvcm1BcnJheSwgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCwgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBJRm9ybVNjaGVtYSB9IGZyb20gJy4uLy4uL21vZGVscy9mb3JtLXNjaGVtYS5tb2RlbCc7XG5pbXBvcnQgeyBGaWx0ZXJGb3JtQXJyYXlHcm91cFBpcGUsIEZvcm1WYWx1ZVBpcGUsIEZ1bmN0aW9uQ2FsbGVyMiwgSGFzRm9ybVZhbHVlUGlwZSwgVG9BbnlQaXBlIH0gZnJvbSAnLi4vLi4vcGlwZXMvdXRpbGl0eS5waXBlJztcblxuaW1wb3J0IHsgQnRuQ29tcG9uZW50IH0gZnJvbSAnLi4vYnRuL2J0bi5jb21wb25lbnQnO1xuaW1wb3J0IHsgSW5wdXRCYXNpY0NvbXBvbmVudCB9IGZyb20gJy4uL2lucHV0L2lucHV0LWJhc2ljLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBdXRvY29tcGxldGVDb21wb25lbnQgfSBmcm9tICcuLi9hdXRvY29tcGxldGUvYXV0b2NvbXBsZXRlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBWYWxpZGF0aW9uTWVzc2FnZUNvbXBvbmVudCB9IGZyb20gJy4uL2lucHV0L3ZhbGlkYXRpb24tbWVzc2FnZS92YWxpZGF0aW9uLW1lc3NhZ2UuY29tcG9uZW50JztcbmltcG9ydCB7IFBob25lTnVtYmVyQ29tcG9uZW50IH0gZnJvbSAnLi4vcGhvbmUtbnVtYmVyL3Bob25lLW51bWJlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQXN5bmNQaXBlLCBKc29uUGlwZSwgTmdDbGFzcywgTmdGb3IsIE5nSWYsIE5nU3dpdGNoLCBOZ1N3aXRjaENhc2UsIE5nU3dpdGNoRGVmYXVsdCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBMb2FkZXJDb21wb25lbnQgfSBmcm9tICcuLi9sb2FkZXIvbG9hZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGb3JtR2VuZXJhdG9yQ29tcG9uZW50IH0gZnJvbSAnLi4vZm9ybS1nZW5lcmF0b3IvZm9ybS1nZW5lcmF0b3IuY29tcG9uZW50JztcblxuaW1wb3J0IHsgUGFnaW5hdG9yQ29tcG9uZW50IH0gZnJvbSAnLi4vcGFnaW5hdG9yL3BhZ2luYXRvci5jb21wb25lbnQnO1xuaW1wb3J0IHsgTW9kYWxDb21wb25lbnQgfSBmcm9tICcuLi9tb2RhbC9tb2RhbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xuaW1wb3J0IHsgTWF0RXhwYW5zaW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZXhwYW5zaW9uJztcbmltcG9ydCB7IE1hdFRhYnNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90YWJzJztcbmltcG9ydCB7IFRhYmxlSW5wdXRSb3dDb21wb25lbnQgfSBmcm9tICcuL3RhYmxlLWlucHV0LXJvdy90YWJsZS1pbnB1dC1yb3cuY29tcG9uZW50JztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiwgZmlsdGVyIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBJQnRuIH0gZnJvbSAnLi4vYnRuL2J0bi5tb2RlbCc7XG5pbXBvcnQgeyBVdGlsaXR5U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL1NlcnZpY2VzL3V0aWxpdHkuc2VydmljZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVQaXBlIH0gZnJvbSAnLi4vLi4vcGlwZXMvdHJhbnNsYXRlLnBpcGUnO1xuaW1wb3J0IHsgUGFnaW5hdG9yUGlwZSB9IGZyb20gJy4uLy4uL3BpcGVzL3BhZ2luYXRvci5waXBlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGFibGUtaW5wdXQnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQXN5bmNQaXBlLFxuICAgIEF1dG9jb21wbGV0ZUNvbXBvbmVudCxcbiAgICBCdG5Db21wb25lbnQsXG4gICAgRmlsdGVyRm9ybUFycmF5R3JvdXBQaXBlLFxuICAgIEZvcm1HZW5lcmF0b3JDb21wb25lbnQsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgRm9ybVZhbHVlUGlwZSxcbiAgICBGdW5jdGlvbkNhbGxlcjIsXG4gICAgSGFzRm9ybVZhbHVlUGlwZSxcbiAgICBJbnB1dEJhc2ljQ29tcG9uZW50LFxuICAgIEpzb25QaXBlLFxuICAgIExvYWRlckNvbXBvbmVudCxcbiAgICBNYXRFeHBhbnNpb25Nb2R1bGUsXG4gICAgTWF0VGFic01vZHVsZSxcbiAgICBNYXRUb29sdGlwTW9kdWxlLFxuICAgIE1vZGFsQ29tcG9uZW50LFxuICAgIE5nQ2xhc3MsXG4gICAgTmdGb3IsXG4gICAgTmdJZixcbiAgICBOZ1N3aXRjaCxcbiAgICBOZ1N3aXRjaENhc2UsXG4gICAgTmdTd2l0Y2hEZWZhdWx0LFxuICAgIFBhZ2luYXRvckNvbXBvbmVudCxcbiAgICBQYWdpbmF0b3JQaXBlLFxuICAgIFBob25lTnVtYmVyQ29tcG9uZW50LFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgVGFibGVJbnB1dFJvd0NvbXBvbmVudCxcbiAgICBUb0FueVBpcGUsXG4gICAgVHJhbnNsYXRlUGlwZSxcbiAgICBWYWxpZGF0aW9uTWVzc2FnZUNvbXBvbmVudCxcbiAgXSxcbiAgdGVtcGxhdGVVcmw6ICcuL3RhYmxlLWlucHV0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGFibGUtaW5wdXQuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGFibGVJbnB1dENvbXBvbmVudDxcbiAgICBURm9ybUdyb3VwIGV4dGVuZHMge1xuICAgICAgW0sgaW4ga2V5b2YgVEZvcm1Hcm91cF06IEFic3RyYWN0Q29udHJvbDxhbnksIGFueT47XG4gICAgfSA9IGFueSxcbiAgPlxuICBleHRlbmRzIEZvcm1HZW5lcmF0b3JDb21wb25lbnQ8VEZvcm1Hcm91cD5cbiAgaW1wbGVtZW50cyBPbkluaXRcbntcbiAgLy8gQElucHV0KCkgcGFnZVR5cGVcbiAgQElucHV0KHsgcmVxdWlyZWQ6IGZhbHNlIH0pIGZvcm06IEZvcm1Hcm91cDtcbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgZm9ybUFycmF5OiBGb3JtQXJyYXk8Rm9ybUdyb3VwPFRGb3JtR3JvdXA+PjtcbiAgQElucHV0KCkgZmlsdGVyQ29udGFpbmVyQ2xhc3M6IHN0cmluZztcbiAgQElucHV0KCkgYm9yZGVyOiBib29sZWFuID0gdHJ1ZTtcbiAgQElucHV0KCkgaXNTaG93OiBib29sZWFuO1xuICBASW5wdXQoKSBwYWdlU2l6ZTogbnVtYmVyO1xuICBASW5wdXQoKSBhY3Rpb25CdG5zOiBJQnRuW107XG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlLCBhbGlhczogJ2Zvcm1TY2hlbWEnIH0pIHNldCBfZm9ybVNjaGVtYSh2OiBJRm9ybVNjaGVtYTxURm9ybUdyb3VwPltdKSB7XG4gICAgdGhpcy5wcmVGb3JtYXRGb3JtU2NoZW1hKHYpO1xuICAgIHN1cGVyLl9mb3JtU2NoZW1hID0gdjtcbiAgfVxuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KVxuICBzaW5nbGVGb3JtU3RydWN0dXJlOiBGb3JtR3JvdXA8VEZvcm1Hcm91cD47XG4gIC8qKlxuICAgKiBMZWF2ZSBlbXB0eSBpZiB5b3UgZG9uJ3Qgd2FudCB0aGUgZGVsZXRlIGJ1dHRvbiB0byBzaG93XG4gICAqL1xuICBASW5wdXQoKSBkZWxldGVSb3dGdW5jOiAoaW5kZXg6IG51bWJlciwgZGF0YT86IEZvcm1Hcm91cDxURm9ybUdyb3VwPiwgY29uZmlnPzogeyBidG46IEJ0bkNvbXBvbmVudCB9KSA9PiBhbnk7XG4gIC8qKlxuICAgKiBMZWF2ZSBlbXB0eSBpZiB5b3UgZG9uJ3Qgd2FudCB0aGUgYWRkIGJ1dHRvbiB0byBzaG93XG4gICAqL1xuICBASW5wdXQoKSBhZGRSb3dGdW5jOiAoaW5kZXg6IG51bWJlciwgZGF0YT86IHsgW2sgaW4ga2V5b2YgVEZvcm1Hcm91cF06IFRGb3JtR3JvdXBba10gfSkgPT4gYW55O1xuICBASW5wdXQoJ3VzZVBhZ2luYXRvcicpIHNldCBfdXNlUGFnaW5hdG9yKHYpIHtcbiAgICBpZiAodikge1xuICAgICAgdGhpcy51c2VQYWdpbmF0b3IgPSB0cnVlO1xuICAgICAgdGhpcy5wYWdlU2l6ZSA9IHRoaXMucGFnZVNpemUgfHwgMTA7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudXNlUGFnaW5hdG9yID0gZmFsc2U7XG4gICAgICB0aGlzLnBhZ2VTaXplID0gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxuICBASW5wdXQoKVxuICB0YWJsZUNsYXNzOiBzdHJpbmcgPSAndGFibGUgdGFibGUtcmVzcG9uc2l2ZSB0YWJsZS1yZXNwb25zaXZlIHRhYmxlLWJvcmRlcmxlc3MnO1xuICBwcm90ZWN0ZWQgZmlsdGVyRm9ybSA9IG5ldyBGb3JtR3JvdXAoe30pO1xuICBwcm90ZWN0ZWQgZmlsdGVyRm9ybXM6IElGb3JtU2NoZW1hW107XG4gIHByb3RlY3RlZCB1c2VQYWdpbmF0b3I6IGJvb2xlYW47XG4gIHByb3RlY3RlZCBjaGlsZHJlbkZvcm1TY2hlbWFNYXA6IHtcbiAgICBbayBpbiBrZXlvZiBURm9ybUdyb3VwXT86IHtcbiAgICAgIGZvcm1TY2hlbWE6IElGb3JtU2NoZW1hW107XG4gICAgICBmb3JtU2NoZW1hU3RyOiBzdHJpbmdbXTtcbiAgICB9O1xuICB9ID0ge307XG4gIHJlZnJlc2hlcjogbnVtYmVyO1xuICBmb3JtQXJyYXlQYWdpbmF0aW9uU3ViOiBTdWJzY3JpcHRpb247XG5cbiAgQFZpZXdDaGlsZChQYWdpbmF0b3JDb21wb25lbnQpIHBhZ2luYXRvckNvbXBvbmVudDogUGFnaW5hdG9yQ29tcG9uZW50O1xuICBwdWJsaWMgdVMgPSBpbmplY3QoVXRpbGl0eVNlcnZpY2UpO1xuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnVzZVBhZ2luYXRvciA9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuX3VzZVBhZ2luYXRvciA9IHRydWU7XG4gICAgfVxuICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgbGV0IHByZXZpb3VzTGVuZ3RoID0gdGhpcy5mb3JtQXJyYXkubGVuZ3RoO1xuICAgIHRoaXMuZm9ybUFycmF5UGFnaW5hdGlvblN1YiA9IHRoaXMuZm9ybUFycmF5Py52YWx1ZUNoYW5nZXNcbiAgICAgIC5waXBlKFxuICAgICAgICBmaWx0ZXIoKHIpID0+IHtcbiAgICAgICAgICBsZXQgdHJpZ2dlciA9IGZhbHNlO1xuICAgICAgICAgIGlmIChyPy5sZW5ndGggPT0gMSkgdHJpZ2dlciA9IHRydWU7XG4gICAgICAgICAgZWxzZSBpZiAocj8ubGVuZ3RoICE9IHByZXZpb3VzTGVuZ3RoKSB0cmlnZ2VyID0gdHJ1ZTtcbiAgICAgICAgICByZXR1cm4gdHJpZ2dlcjtcbiAgICAgICAgfSksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKChyKSA9PiB7XG4gICAgICAgIHRoaXMucmVmcmVzaCgpO1xuICAgICAgICBwcmV2aW91c0xlbmd0aCA9IHI/Lmxlbmd0aDtcbiAgICAgIH0pO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5yZWZyZXNoKCk7XG4gICAgfSwgMTAwMCk7XG4gIH1cblxuICByZWZyZXNoKCkge1xuICAgIHRoaXMucmVmcmVzaGVyID0gTWF0aC5yYW5kb20oKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG4gICAgdGhpcy5mb3JtQXJyYXlQYWdpbmF0aW9uU3ViPy51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcmVzZXRQYWdpbmF0b3IoKSB7XG4gICAgdGhpcy5wYWdpbmF0b3JDb21wb25lbnQ/LnJlc2V0KCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgcHJlRm9ybWF0Rm9ybVNjaGVtYSA9IChpdGVtczogSUZvcm1TY2hlbWE8VEZvcm1Hcm91cD5bXSkgPT4ge1xuICAgIGl0ZW1zLmZvckVhY2goKHgpID0+IHtcbiAgICAgIGlmICh4Lm9uQ2hhbmdlRnVuYykgeC50cmlnZ2VyT25DaGFuZ2VPbkluaXQgPSB0cnVlO1xuICAgICAgZWxzZSBpZiAoeC50eXBlID09ICdidXR0b24nKSB0aGlzLnByZUZvcm1hdEZvcm1TY2hlbWEoeC5jaGlsZHJlbik7XG4gICAgfSk7XG4gIH07XG5cbiAgaW5pdChzY2hlbWE6IElGb3JtU2NoZW1hPFRGb3JtR3JvdXA+W10pOiB2b2lkIHtcbiAgICB0aGlzLmZpbHRlckZvcm1zID0gW107XG4gICAgdGhpcy5maWx0ZXJGb3JtID0gbmV3IEZvcm1Hcm91cCh7fSk7XG4gICAgLy8gZGVidWdnZXI7XG4gICAgdGhpcy5uZ09uRGVzdHJveSgpO1xuICAgIGlmIChzY2hlbWEpXG4gICAgICBmb3IgKGNvbnN0IHNjaGVtZSBvZiBzY2hlbWEpIHtcbiAgICAgICAgLy8gc2NoZW1lLmZvcm0gPSB0aGlzLmZvcm0gfHwgc2NoZW1lLmZvcm07XG4gICAgICAgIHRoaXMuaGFuZGxlRm9ybVNjaGVtZShzY2hlbWUpO1xuICAgICAgfVxuICAgIHRoaXMuZm9ybVNjaGVtYSA9IHNjaGVtYTtcbiAgfVxuXG4gIGhhbmRsZUFjdGlvbkJ1dHRvbkNsaWNrKGluZGV4OiBudW1iZXIsIGZvcm06IEZvcm1Hcm91cDxURm9ybUdyb3VwPiwgZTogeyBidG4/OiBCdG5Db21wb25lbnQ7IGFjdGlvbkJ1dHRvbjogSUJ0biB9KSB7XG4gICAgY29uc3QgaSA9IHRoaXMuZm9ybUFycmF5LmNvbnRyb2xzLmZpbmRJbmRleCgoeCkgPT4geC5jb250cm9sc1t0aGlzLnVTLmN1c3RvbUlERmllbGRdLnZhbHVlID09IGZvcm0uY29udHJvbHNbdGhpcy51Uy5jdXN0b21JREZpZWxkXS52YWx1ZSk7XG4gICAgZS5hY3Rpb25CdXR0b24uYWN0aW9uKHsgaW5kZXg6IGksIGZvcm0sIGJ0bjogZS5idG4gfSk7XG4gICAgdGhpcy5yZWZyZXNoKCk7XG4gIH1cblxuICBkZWxldGVSb3dDbGlja2VkID0gKGluZGV4OiBudW1iZXIsIGRhdGE6IEZvcm1Hcm91cDxURm9ybUdyb3VwPiwgY29uZmlnPzogeyBidG46IEJ0bkNvbXBvbmVudCB9KSA9PiB7XG4gICAgY29uc3QgaSA9IHRoaXMuZm9ybUFycmF5LmNvbnRyb2xzLmZpbmRJbmRleCgoeCkgPT4geC5jb250cm9sc1t0aGlzLnVTLmN1c3RvbUlERmllbGRdLnZhbHVlID09IGRhdGEuY29udHJvbHNbdGhpcy51Uy5jdXN0b21JREZpZWxkXS52YWx1ZSk7XG4gICAgLy8gZGVidWdnZXI7XG4gICAgdGhpcy5kZWxldGVSb3dGdW5jKGksIGRhdGEsIGNvbmZpZyk7XG4gICAgdGhpcy5yZWZyZXNoKCk7XG4gIH07XG5cbiAgYWRkUm93Q2xpY2tlZCA9IChmb3JtOiBGb3JtR3JvdXA8VEZvcm1Hcm91cD4sIGRhdGE/OiBhbnkpID0+IHtcbiAgICBjb25zdCBpID0gdGhpcy5mb3JtQXJyYXkuY29udHJvbHMuZmluZEluZGV4KCh4KSA9PiB4LmNvbnRyb2xzW3RoaXMudVMuY3VzdG9tSURGaWVsZF0udmFsdWUgPT0gZm9ybS5jb250cm9sc1t0aGlzLnVTLmN1c3RvbUlERmllbGRdLnZhbHVlKTtcbiAgICAvLyBkZWJ1Z2dlcjtcbiAgICB0aGlzLmFkZFJvd0Z1bmMoaSArIDEsIGRhdGEpO1xuICAgIC8vIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgIHRoaXMucmVmcmVzaCgpO1xuICAgIHRoaXMuZmlsdGVyRm9ybS51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gICAgLy8gfSwgMTAwMCk7XG4gIH07XG5cbiAgY2hlY2tSZXF1aXJlZEZpZWxkcyA9ICgpID0+IHtcbiAgICBjb25zb2xlLmxvZyh0aGlzLnNpbmdsZUZvcm1TdHJ1Y3R1cmUpO1xuICB9O1xuXG4gIGhhbmRsZUZvcm1TY2hlbWUoc2NoZW1lOiBJRm9ybVNjaGVtYSkge1xuICAgIHNjaGVtZS5pZCA9IHRoaXMudVMuZ2VuZXJhdGVVVUlEKCk7XG4gICAgaWYgKHNjaGVtZS5hdXRvUGlja1ZhbHVlRmllbGQgPT0gbnVsbCAmJiAoIXNjaGVtZS52YWx1ZUZpZWxkIHx8ICFzY2hlbWUubGFiZWxGaWVsZCkpIHNjaGVtZS5hdXRvUGlja1ZhbHVlRmllbGQgPSB0cnVlO1xuXG4gICAgaWYgKHNjaGVtZS5vcHRpb25zSW5pdEZ1bmMpIHtcbiAgICAgIHNjaGVtZS5vcHRpb25zSW5pdEZ1bmMuc3Vic2NyaWJlKChyKSA9PiB7XG4gICAgICAgIHNjaGVtZS5vcHRpb25zID0gcjtcbiAgICAgICAgLy8gdGhpcy5vcHRpb25zTWFwW3NjaGVtZS5maWVsZF0gPSByO1xuICAgICAgfSk7XG4gICAgfVxuICAgIGlmIChzY2hlbWUuaXNTZWFyY2hGaWVsZCkge1xuICAgICAgdGhpcy5maWx0ZXJGb3Jtcy5wdXNoKHNjaGVtZSk7XG4gICAgICB0aGlzLmZpbHRlckZvcm0uYWRkQ29udHJvbChzY2hlbWUuZmllbGQ/LnRvU3RyaW5nKCksIG5ldyBGb3JtQ29udHJvbCgpKTtcbiAgICB9IGVsc2UgaWYgKHNjaGVtZS50eXBlID09ICdidXR0b24nKSB7XG4gICAgICBpZiAoc2NoZW1lLmNoaWxkcmVuPy5sZW5ndGgpXG4gICAgICAgIHRoaXMuY2hpbGRyZW5Gb3JtU2NoZW1hTWFwW3NjaGVtZS5maWVsZCBhcyBzdHJpbmddID0ge1xuICAgICAgICAgIGZvcm1TY2hlbWE6IHNjaGVtZS5jaGlsZHJlbixcbiAgICAgICAgICBmb3JtU2NoZW1hU3RyOiBzY2hlbWUuY2hpbGRyZW4ubWFwKCh4KSA9PiB4LmZpZWxkIGFzIHN0cmluZyksXG4gICAgICAgIH07XG4gICAgfVxuICAgIHNjaGVtZS5pc1JlcXVpcmVkID0gc2NoZW1lLmlzUmVxdWlyZWQgfHwgKDxGb3JtR3JvdXA+dGhpcy5zaW5nbGVGb3JtU3RydWN0dXJlPy5jb250cm9sc1tzY2hlbWUuZmllbGRdKT8uaGFzVmFsaWRhdG9yKFZhbGlkYXRvcnMucmVxdWlyZWQpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwidGFibGUtaW5wdXRcIj5cbiAgQGlmIChmaWx0ZXJGb3Jtcz8ubGVuZ3RoKSB7XG4gICAgPGRpdiBjbGFzcz1cIm1iLTMge3sgZmlsdGVyQ29udGFpbmVyQ2xhc3MgfX1cIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXhcIj5cbiAgICAgICAgPGFwcC1idG5cbiAgICAgICAgICB0ZXh0PVwie3sgZmlsdGVyU2VjdGlvbi5oaWRkZW4gPyAnU2hvdyBGaWx0ZXInIDogJ0hpZGUgRmlsdGVyJyB9fVwiXG4gICAgICAgICAgW2ljb25dPVwiZmlsdGVyU2VjdGlvbi5oaWRkZW4gPyAnc2VhcmNoJyA6ICdjbG9zZSdcIlxuICAgICAgICAgIChtY2xpY2spPVwiZmlsdGVyU2VjdGlvbi5oaWRkZW4gPSAhZmlsdGVyU2VjdGlvbi5oaWRkZW5cIlxuICAgICAgICAvPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiYm9yZGVyIHAtMyBtdC0zIHJvdW5kZWQtMTBcIiAjZmlsdGVyU2VjdGlvbiBbaGlkZGVuXT1cInRydWVcIj5cbiAgICAgICAgPGZvcm0tZ2VuZXJhdG9yXG4gICAgICAgICAgW2Zvcm1dPVwiZmlsdGVyRm9ybVwiXG4gICAgICAgICAgW2Zvcm1TY2hlbWFdPVwiZmlsdGVyRm9ybXNcIlxuICAgICAgICAgIFtncmlkTEdTdHlsZV09XCIzXCJcbiAgICAgICAgICBbc2hvd1N1Ym1pdEJ0bl09XCJmYWxzZVwiXG4gICAgICAgICAgKG1jaGFuZ2UpPVwicmVzZXRQYWdpbmF0b3IoKVwiXG4gICAgICAgIC8+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWVuZFwiPlxuICAgICAgICAgIDxhcHAtYnRuXG4gICAgICAgICAgICB0eXBlPVwiZGFuZ2VyLW91dGxpbmVcIlxuICAgICAgICAgICAgdGV4dD1cIkNsZWFyXCJcbiAgICAgICAgICAgIChtY2xpY2spPVwiZmlsdGVyRm9ybS5yZXNldCgpXCJcbiAgICAgICAgICAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICB9XG5cbiAgQGlmIChcbiAgICBmb3JtQXJyYXk/LmNvbnRyb2xzIHwgZmlsdGVyRm9ybUFycmF5R3JvdXA6IGZpbHRlckZvcm0udmFsdWU7XG4gICAgYXMgX2Zvcm1BcnJcbiAgKSB7XG4gICAgPGRpdiBjbGFzcz1cImJnLXdoaXRlXCIgW25nQ2xhc3NdPVwieyAnYm9yZGVyIHJvdW5kZWQtMTAnOiBib3JkZXIgfVwiPlxuICAgICAgPGRpdiBjbGFzcz1cIiBcIj5cbiAgICAgICAgPHRhYmxlXG4gICAgICAgICAgY2xhc3M9XCIge3sgdGFibGVDbGFzcyB9fSBcIlxuICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ2lzLXNob3ctZm9ybSc6IGlzU2hvdyB9XCJcbiAgICAgICAgPlxuICAgICAgICAgIDx0aGVhZCAoY2xpY2spPVwidVMubG9nRm9ybShfZm9ybUFycilcIj5cbiAgICAgICAgICAgIDx0ciBjbGFzcz1cInRleHQtY2VudGVyXCI+XG4gICAgICAgICAgICAgIEBmb3IgKFxuICAgICAgICAgICAgICAgIGl0ZW0gb2YgZm9ybVNjaGVtYTtcbiAgICAgICAgICAgICAgICB0cmFjayB1Uy50cmFja0J5Q3VzdG9tSUQoJGluZGV4LCBpdGVtKVxuICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJ7eyBpdGVtLmNscyB9fVwiPlxuICAgICAgICAgICAgICAgICAge3sgaXRlbS5sYWJlbCB8IGFwcFRyYW5zbGF0ZSB8IGFzeW5jIH19XG4gICAgICAgICAgICAgICAgICB7eyBpdGVtLmlzUmVxdWlyZWQgPyBcIipcIiA6IFwiXCIgfX1cbiAgICAgICAgICAgICAgICA8L3RoPlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIEBpZiAoIWlzU2hvdykge1xuICAgICAgICAgICAgICAgIDx0aD48L3RoPlxuICAgICAgICAgICAgICAgIDx0aD48L3RoPlxuICAgICAgICAgICAgICAgIEBmb3IgKGFjdGlvbkJ0biBvZiBhY3Rpb25CdG5zOyB0cmFjayBhY3Rpb25CdG4pIHtcbiAgICAgICAgICAgICAgICAgIDx0aD48L3RoPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICA8L3RoZWFkPlxuICAgICAgICAgIDx0Ym9keT5cbiAgICAgICAgICAgIEBmb3IgKFxuICAgICAgICAgICAgICBzdWJGb3JtIG9mIF9mb3JtQXJyXG4gICAgICAgICAgICAgICAgfCBwYWdpbmF0b3JcbiAgICAgICAgICAgICAgICAgIDogKHVzZVBhZ2luYXRvciA/IHBhZ2luYXRvclRhZy5wYWdlU2l6ZSA6IF9mb3JtQXJyLmxlbmd0aClcbiAgICAgICAgICAgICAgICAgIDogcGFnaW5hdG9yVGFnLnBhZ2VJbmRleFxuICAgICAgICAgICAgICAgICAgOiByZWZyZXNoZXI7XG4gICAgICAgICAgICAgIHRyYWNrIHVTLnRyYWNrQnlGb3JGb3JtcyhpLCBzdWJGb3JtKTtcbiAgICAgICAgICAgICAgbGV0IGkgPSAkaW5kZXhcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICA8dHJcbiAgICAgICAgICAgICAgICB0YWJsZS1pbnB1dC1yb3dcbiAgICAgICAgICAgICAgICAob25BZGRSb3dGdW5jKT1cIlxuICAgICAgICAgICAgICAgICAgYWRkUm93Q2xpY2tlZChcbiAgICAgICAgICAgICAgICAgICAgc3ViRm9ybSxcbiAgICAgICAgICAgICAgICAgICAgX2Zvcm1BcnIubGVuZ3RoICE9IGZvcm1BcnJheS5sZW5ndGhcbiAgICAgICAgICAgICAgICAgICAgICA/IGZpbHRlckZvcm0udmFsdWVcbiAgICAgICAgICAgICAgICAgICAgICA6IG51bGxcbiAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgIFtpc1Nob3ddPVwiaXNTaG93XCJcbiAgICAgICAgICAgICAgICBbZm9ybV09XCJzdWJGb3JtXCJcbiAgICAgICAgICAgICAgICBbYWN0aW9uQnRuc109XCJhY3Rpb25CdG5zXCJcbiAgICAgICAgICAgICAgICBbZm9ybVNjaGVtYV09XCJmb3JtU2NoZW1hXCJcbiAgICAgICAgICAgICAgICBbY2hpbGRyZW5Gb3JtU2NoZW1hTWFwXT1cImNoaWxkcmVuRm9ybVNjaGVtYU1hcFwiXG4gICAgICAgICAgICAgICAgKG9uRGVsZXRlUm93RnVuYyk9XCJcbiAgICAgICAgICAgICAgICAgIGRlbGV0ZVJvd0NsaWNrZWQocGFnaW5hdG9yVGFnLmdldEFjdHVhbEluZGV4KGkpLCBzdWJGb3JtLCB7XG4gICAgICAgICAgICAgICAgICAgIGJ0bjogJGV2ZW50Py5idG5cbiAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAob25BY3Rpb25CdXR0b25DbGljayk9XCJcbiAgICAgICAgICAgICAgICAgIGhhbmRsZUFjdGlvbkJ1dHRvbkNsaWNrKFxuICAgICAgICAgICAgICAgICAgICBwYWdpbmF0b3JUYWcuZ2V0QWN0dWFsSW5kZXgoaSksXG4gICAgICAgICAgICAgICAgICAgIHN1YkZvcm0sXG4gICAgICAgICAgICAgICAgICAgICRldmVudFxuICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgID48L3RyPlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGlmIChcbiAgICAgICAgICAgICAgIV9mb3JtQXJyLmxlbmd0aCAmJlxuICAgICAgICAgICAgICAoZmlsdGVyRm9ybVxuICAgICAgICAgICAgICAgIHwgaGFzRm9ybVZhbHVlOiBudWxsIDogKGZpbHRlckZvcm0udmFsdWVDaGFuZ2VzIHwgYXN5bmMpKVxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJ0ZXh0LWNlbnRlclwiIFtjb2xTcGFuXT1cImZvcm1TY2hlbWE/Lmxlbmd0aFwiPlxuICAgICAgICAgICAgICAgICAge3tcbiAgICAgICAgICAgICAgICAgICAgXCJUaGVyZSBhcmUgbm8gcmVzdWx0cyBtYXRjaGluZyB5b3VyIHF1ZXJ5XCJcbiAgICAgICAgICAgICAgICAgICAgICB8IGFwcFRyYW5zbGF0ZVxuICAgICAgICAgICAgICAgICAgICAgIHwgYXN5bmNcbiAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpZiAoXG4gICAgICAgICAgICAgICFfZm9ybUFyci5sZW5ndGggJiZcbiAgICAgICAgICAgICAgIShcbiAgICAgICAgICAgICAgICBmaWx0ZXJGb3JtXG4gICAgICAgICAgICAgICAgfCBoYXNGb3JtVmFsdWU6IG51bGwgOiAoZmlsdGVyRm9ybS52YWx1ZUNoYW5nZXMgfCBhc3luYylcbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJ0ZXh0LWNlbnRlclwiIFtjb2xTcGFuXT1cImZvcm1TY2hlbWE/Lmxlbmd0aFwiPlxuICAgICAgICAgICAgICAgICAge3sgXCJUaGVyZSBhcmUgbm8gaXRlbXNcIiB8IGFwcFRyYW5zbGF0ZSB8IGFzeW5jIH19XG4gICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L3Rib2R5PlxuICAgICAgICA8L3RhYmxlPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJcIlxuICAgICAgICBbaGlkZGVuXT1cIlxuICAgICAgICAgICF1c2VQYWdpbmF0b3IgfHwgIV9mb3JtQXJyLmxlbmd0aCB8fCBfZm9ybUFyci5sZW5ndGggPCBwYWdlU2l6ZVxuICAgICAgICBcIlxuICAgICAgPlxuICAgICAgICA8cGFnaW5hdG9yXG4gICAgICAgICAgI3BhZ2luYXRvclRhZ1xuICAgICAgICAgIFthcnJheUxlbmd0aF09XCJfZm9ybUFyci5sZW5ndGhcIlxuICAgICAgICAgIFtwYWdlU2l6ZV09XCJwYWdlU2l6ZVwiXG4gICAgICAgICAgW3Jlc2V0SW5kZXhGdW5jXT1cImZpbHRlckZvcm0udmFsdWVDaGFuZ2VzXCJcbiAgICAgICAgLz5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICB9XG48L2Rpdj5cbiJdfQ==
222
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXRzLWZlLW5nLXNkay9zcmMvbGliL1NoYXJlZC9jb21wb25lbnRzL3RhYmxlLWlucHV0L3RhYmxlLWlucHV0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V0cy1mZS1uZy1zZGsvc3JjL2xpYi9TaGFyZWQvY29tcG9uZW50cy90YWJsZS1pbnB1dC90YWJsZS1pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVFLE9BQU8sRUFBOEIsV0FBVyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbEksT0FBTyxFQUFFLHdCQUF3QixFQUFFLGFBQWEsRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsU0FBUyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFakksT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQy9FLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBQ3RHLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsZUFBZSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDckgsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBRXBGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDckYsT0FBTyxFQUFnQixNQUFNLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFNUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7O0FBRTNEOztHQUVHO0FBdUNILE1BQU0sT0FBTyxtQkFLWCxTQUFRLHNCQUFrQztJQTNDNUM7O1FBa0RXLFdBQU0sR0FBWSxJQUFJLENBQUM7UUE0QmhDLGVBQVUsR0FBVywwREFBMEQsQ0FBQztRQUN0RSxlQUFVLEdBQUcsSUFBSSxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUM7UUFHL0IsMEJBQXFCLEdBSzNCLEVBQUUsQ0FBQztRQUtBLE9BQUUsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7UUEwQ3pCLHdCQUFtQixHQUFHLENBQUMsS0FBZ0MsRUFBRSxFQUFFO1lBQ25FLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtnQkFDbEIsSUFBSSxDQUFDLENBQUMsWUFBWTtvQkFBRSxDQUFDLENBQUMscUJBQXFCLEdBQUcsSUFBSSxDQUFDO3FCQUM5QyxJQUFJLENBQUMsQ0FBQyxJQUFJLElBQUksUUFBUTtvQkFBRSxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3BFLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDO1FBcUJGLHFCQUFnQixHQUFHLENBQUMsS0FBYSxFQUFFLE9BQThCLEVBQUUsTUFBOEIsRUFBRSxFQUFFO1lBQ25HLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxDQUFDLEtBQUssSUFBSSxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDN0ksWUFBWTtZQUNaLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsRUFBRSxNQUFNLENBQUMsQ0FBQztZQUN0RCxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDakIsQ0FBQyxDQUFDO1FBRUYsa0JBQWEsR0FBRyxDQUFDLElBQTJCLEVBQUUsSUFBVSxFQUFFLEVBQUU7WUFDMUQsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUMxSSxZQUFZO1lBQ1osSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQzdCLHFCQUFxQjtZQUNyQixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDZixJQUFJLENBQUMsVUFBVSxDQUFDLHNCQUFzQixFQUFFLENBQUM7WUFDekMsWUFBWTtRQUNkLENBQUMsQ0FBQztRQUVGLHdCQUFtQixHQUFHLEdBQUcsRUFBRTtZQUN6QixPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQ3hDLENBQUMsQ0FBQztLQXdCSDtJQXJKQyxJQUFvRCxXQUFXLENBQUMsQ0FBNEI7UUFDMUYsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzVCLEtBQUssQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDO0lBQ3hCLENBQUM7SUFXRCxJQUEyQixhQUFhLENBQUMsQ0FBQztRQUN4QyxJQUFJLENBQUMsRUFBRTtZQUNMLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsSUFBSSxFQUFFLENBQUM7U0FDckM7YUFBTTtZQUNMLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO1lBQzFCLElBQUksQ0FBQyxRQUFRLEdBQUcsU0FBUyxDQUFDO1NBQzNCO0lBQ0gsQ0FBQztJQWtCRCxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsWUFBWSxJQUFJLFNBQVMsRUFBRTtZQUNsQyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztTQUMzQjtRQUNELEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNqQixJQUFJLGNBQWMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQztRQUMzQyxJQUFJLENBQUMsc0JBQXNCLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxZQUFZO2FBQ3ZELElBQUksQ0FDSCxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUNYLElBQUksT0FBTyxHQUFHLEtBQUssQ0FBQztZQUNwQixJQUFJLENBQUMsRUFBRSxNQUFNLElBQUksQ0FBQztnQkFBRSxPQUFPLEdBQUcsSUFBSSxDQUFDO2lCQUM5QixJQUFJLENBQUMsRUFBRSxNQUFNLElBQUksY0FBYztnQkFBRSxPQUFPLEdBQUcsSUFBSSxDQUFDO1lBQ3JELE9BQU8sT0FBTyxDQUFDO1FBQ2pCLENBQUMsQ0FBQyxDQUNIO2FBQ0EsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDZixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDZixjQUFjLEdBQUcsQ0FBQyxFQUFFLE1BQU0sQ0FBQztRQUM3QixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxlQUFlO1FBQ2IsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNqQixDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDWCxDQUFDO0lBRUQsT0FBTztRQUNMLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFFRCxXQUFXO1FBQ1QsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxXQUFXLEVBQUUsQ0FBQztJQUM3QyxDQUFDO0lBRUQsY0FBYztRQUNaLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxLQUFLLEVBQUUsQ0FBQztJQUNuQyxDQUFDO0lBU0QsSUFBSSxDQUFDLE1BQWlDO1FBQ3BDLElBQUksQ0FBQyxXQUFXLEdBQUcsRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDcEMsWUFBWTtRQUNaLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNuQixJQUFJLE1BQU07WUFDUixLQUFLLE1BQU0sTUFBTSxJQUFJLE1BQU0sRUFBRTtnQkFDM0IsMENBQTBDO2dCQUMxQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUM7YUFDL0I7UUFDSCxJQUFJLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQztJQUMzQixDQUFDO0lBRUQsdUJBQXVCLENBQUMsS0FBYSxFQUFFLElBQTJCLEVBQUUsQ0FBNkM7UUFDL0csTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMxSSxDQUFDLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUN0RCxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDakIsQ0FBQztJQXVCRCxnQkFBZ0IsQ0FBQyxNQUFtQjtRQUNsQyxNQUFNLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDbkMsSUFBSSxNQUFNLENBQUMsa0JBQWtCLElBQUksSUFBSSxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsVUFBVSxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQztZQUFFLE1BQU0sQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUM7UUFFdEgsSUFBSSxNQUFNLENBQUMsZUFBZSxFQUFFO1lBQzFCLE1BQU0sQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7Z0JBQ3JDLE1BQU0sQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDO2dCQUNuQixxQ0FBcUM7WUFDdkMsQ0FBQyxDQUFDLENBQUM7U0FDSjtRQUNELElBQUksTUFBTSxDQUFDLGFBQWEsRUFBRTtZQUN4QixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUM5QixJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLFFBQVEsRUFBRSxFQUFFLElBQUksV0FBVyxFQUFFLENBQUMsQ0FBQztTQUN6RTthQUFNLElBQUksTUFBTSxDQUFDLElBQUksSUFBSSxRQUFRLEVBQUU7WUFDbEMsSUFBSSxNQUFNLENBQUMsUUFBUSxFQUFFLE1BQU07Z0JBQ3pCLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsS0FBZSxDQUFDLEdBQUc7b0JBQ25ELFVBQVUsRUFBRSxNQUFNLENBQUMsUUFBUTtvQkFDM0IsYUFBYSxFQUFFLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBZSxDQUFDO2lCQUM3RCxDQUFDO1NBQ0w7UUFDRCxNQUFNLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLElBQWdCLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxRQUFRLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBRSxFQUFFLFlBQVksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDNUksQ0FBQzs4R0FwS1UsbUJBQW1CO2tHQUFuQixtQkFBbUIsNmdCQXFEbkIsa0JBQWtCLHVFQ3hIL0IsdW1KQWtKQSxrSURqSEksU0FBUyw4Q0FFVCxZQUFZLCthQUNaLHdCQUF3Qiw2REFDeEIsc0JBQXNCLHNXQUN0QixXQUFXLDBCQUdYLGdCQUFnQixvREFJaEIsa0JBQWtCLDhCQUNsQixhQUFhLDhCQUNiLGdCQUFnQiwrQkFFaEIsT0FBTyxvRkFNUCxrQkFBa0Isd0lBQ2xCLGFBQWEsaURBRWIsbUJBQW1CLCtCQUNuQixzQkFBc0Isc01BRXRCLGFBQWE7OzJGQU1KLG1CQUFtQjtrQkF0Qy9CLFNBQVM7K0JBQ0UsYUFBYSxjQUNYLElBQUksV0FDUDt3QkFDUCxTQUFTO3dCQUNULHFCQUFxQjt3QkFDckIsWUFBWTt3QkFDWix3QkFBd0I7d0JBQ3hCLHNCQUFzQjt3QkFDdEIsV0FBVzt3QkFDWCxhQUFhO3dCQUNiLGVBQWU7d0JBQ2YsZ0JBQWdCO3dCQUNoQixtQkFBbUI7d0JBQ25CLFFBQVE7d0JBQ1IsZUFBZTt3QkFDZixrQkFBa0I7d0JBQ2xCLGFBQWE7d0JBQ2IsZ0JBQWdCO3dCQUNoQixjQUFjO3dCQUNkLE9BQU87d0JBQ1AsS0FBSzt3QkFDTCxJQUFJO3dCQUNKLFFBQVE7d0JBQ1IsWUFBWTt3QkFDWixlQUFlO3dCQUNmLGtCQUFrQjt3QkFDbEIsYUFBYTt3QkFDYixvQkFBb0I7d0JBQ3BCLG1CQUFtQjt3QkFDbkIsc0JBQXNCO3dCQUN0QixTQUFTO3dCQUNULGFBQWE7d0JBQ2IsMEJBQTBCO3FCQUMzQjs4QkFhMkIsSUFBSTtzQkFBL0IsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUU7Z0JBQ0MsU0FBUztzQkFBbkMsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBQ2hCLG9CQUFvQjtzQkFBNUIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDOEMsV0FBVztzQkFBOUQsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRTtnQkFLOUMsbUJBQW1CO3NCQURsQixLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFLaEIsYUFBYTtzQkFBckIsS0FBSztnQkFJRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNxQixhQUFhO3NCQUF2QyxLQUFLO3VCQUFDLGNBQWM7Z0JBVXJCLFVBQVU7c0JBRFQsS0FBSztnQkFjeUIsa0JBQWtCO3NCQUFoRCxTQUFTO3VCQUFDLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCwgVmlld0NoaWxkLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgRm9ybUFycmF5LCBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IElGb3JtU2NoZW1hIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2Zvcm0tc2NoZW1hLm1vZGVsJztcbmltcG9ydCB7IEZpbHRlckZvcm1BcnJheUdyb3VwUGlwZSwgRm9ybVZhbHVlUGlwZSwgRnVuY3Rpb25DYWxsZXIyLCBIYXNGb3JtVmFsdWVQaXBlLCBUb0FueVBpcGUgfSBmcm9tICcuLi8uLi9waXBlcy91dGlsaXR5LnBpcGUnO1xuXG5pbXBvcnQgeyBCdG5Db21wb25lbnQgfSBmcm9tICcuLi9idG4vYnRuLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJbnB1dEJhc2ljQ29tcG9uZW50IH0gZnJvbSAnLi4vaW5wdXQvaW5wdXQtYmFzaWMuY29tcG9uZW50JztcbmltcG9ydCB7IEF1dG9jb21wbGV0ZUNvbXBvbmVudCB9IGZyb20gJy4uL2F1dG9jb21wbGV0ZS9hdXRvY29tcGxldGUuY29tcG9uZW50JztcbmltcG9ydCB7IFZhbGlkYXRpb25NZXNzYWdlQ29tcG9uZW50IH0gZnJvbSAnLi4vaW5wdXQvdmFsaWRhdGlvbi1tZXNzYWdlL3ZhbGlkYXRpb24tbWVzc2FnZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgUGhvbmVOdW1iZXJDb21wb25lbnQgfSBmcm9tICcuLi9waG9uZS1udW1iZXIvcGhvbmUtbnVtYmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBc3luY1BpcGUsIEpzb25QaXBlLCBOZ0NsYXNzLCBOZ0ZvciwgTmdJZiwgTmdTd2l0Y2gsIE5nU3dpdGNoQ2FzZSwgTmdTd2l0Y2hEZWZhdWx0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IExvYWRlckNvbXBvbmVudCB9IGZyb20gJy4uL2xvYWRlci9sb2FkZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEZvcm1HZW5lcmF0b3JDb21wb25lbnQgfSBmcm9tICcuLi9mb3JtLWdlbmVyYXRvci9mb3JtLWdlbmVyYXRvci5jb21wb25lbnQnO1xuXG5pbXBvcnQgeyBQYWdpbmF0b3JDb21wb25lbnQgfSBmcm9tICcuLi9wYWdpbmF0b3IvcGFnaW5hdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNb2RhbENvbXBvbmVudCB9IGZyb20gJy4uL21vZGFsL21vZGFsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XG5pbXBvcnQgeyBNYXRFeHBhbnNpb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9leHBhbnNpb24nO1xuaW1wb3J0IHsgTWF0VGFic01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RhYnMnO1xuaW1wb3J0IHsgVGFibGVJbnB1dFJvd0NvbXBvbmVudCB9IGZyb20gJy4vdGFibGUtaW5wdXQtcm93L3RhYmxlLWlucHV0LXJvdy5jb21wb25lbnQnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uLCBmaWx0ZXIgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IElCdG4gfSBmcm9tICcuLi9idG4vYnRuLm1vZGVsJztcbmltcG9ydCB7IFV0aWxpdHlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vU2VydmljZXMvdXRpbGl0eS5zZXJ2aWNlJztcbmltcG9ydCB7IFRyYW5zbGF0ZVBpcGUgfSBmcm9tICcuLi8uLi9waXBlcy90cmFuc2xhdGUucGlwZSc7XG5pbXBvcnQgeyBQYWdpbmF0b3JQaXBlIH0gZnJvbSAnLi4vLi4vcGlwZXMvcGFnaW5hdG9yLnBpcGUnO1xuXG4vKipcbiAqIFRhYmxlIElucHV0IENvbXBvbmVudFxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0YWJsZS1pbnB1dCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBBc3luY1BpcGUsXG4gICAgQXV0b2NvbXBsZXRlQ29tcG9uZW50LFxuICAgIEJ0bkNvbXBvbmVudCxcbiAgICBGaWx0ZXJGb3JtQXJyYXlHcm91cFBpcGUsXG4gICAgRm9ybUdlbmVyYXRvckNvbXBvbmVudCxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBGb3JtVmFsdWVQaXBlLFxuICAgIEZ1bmN0aW9uQ2FsbGVyMixcbiAgICBIYXNGb3JtVmFsdWVQaXBlLFxuICAgIElucHV0QmFzaWNDb21wb25lbnQsXG4gICAgSnNvblBpcGUsXG4gICAgTG9hZGVyQ29tcG9uZW50LFxuICAgIE1hdEV4cGFuc2lvbk1vZHVsZSxcbiAgICBNYXRUYWJzTW9kdWxlLFxuICAgIE1hdFRvb2x0aXBNb2R1bGUsXG4gICAgTW9kYWxDb21wb25lbnQsXG4gICAgTmdDbGFzcyxcbiAgICBOZ0ZvcixcbiAgICBOZ0lmLFxuICAgIE5nU3dpdGNoLFxuICAgIE5nU3dpdGNoQ2FzZSxcbiAgICBOZ1N3aXRjaERlZmF1bHQsXG4gICAgUGFnaW5hdG9yQ29tcG9uZW50LFxuICAgIFBhZ2luYXRvclBpcGUsXG4gICAgUGhvbmVOdW1iZXJDb21wb25lbnQsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBUYWJsZUlucHV0Um93Q29tcG9uZW50LFxuICAgIFRvQW55UGlwZSxcbiAgICBUcmFuc2xhdGVQaXBlLFxuICAgIFZhbGlkYXRpb25NZXNzYWdlQ29tcG9uZW50LFxuICBdLFxuICB0ZW1wbGF0ZVVybDogJy4vdGFibGUtaW5wdXQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90YWJsZS1pbnB1dC5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBUYWJsZUlucHV0Q29tcG9uZW50PFxuICAgIFRGb3JtR3JvdXAgZXh0ZW5kcyB7XG4gICAgICBbSyBpbiBrZXlvZiBURm9ybUdyb3VwXTogQWJzdHJhY3RDb250cm9sPGFueSwgYW55PjtcbiAgICB9ID0gYW55LFxuICA+XG4gIGV4dGVuZHMgRm9ybUdlbmVyYXRvckNvbXBvbmVudDxURm9ybUdyb3VwPlxuICBpbXBsZW1lbnRzIE9uSW5pdFxue1xuICAvLyBASW5wdXQoKSBwYWdlVHlwZVxuICBASW5wdXQoeyByZXF1aXJlZDogZmFsc2UgfSkgZm9ybTogRm9ybUdyb3VwO1xuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSBmb3JtQXJyYXk6IEZvcm1BcnJheTxGb3JtR3JvdXA8VEZvcm1Hcm91cD4+O1xuICBASW5wdXQoKSBmaWx0ZXJDb250YWluZXJDbGFzczogc3RyaW5nO1xuICBASW5wdXQoKSBib3JkZXI6IGJvb2xlYW4gPSB0cnVlO1xuICBASW5wdXQoKSBpc1Nob3c6IGJvb2xlYW47XG4gIEBJbnB1dCgpIHBhZ2VTaXplOiBudW1iZXI7XG4gIEBJbnB1dCgpIGFjdGlvbkJ0bnM6IElCdG5bXTtcbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUsIGFsaWFzOiAnZm9ybVNjaGVtYScgfSkgc2V0IF9mb3JtU2NoZW1hKHY6IElGb3JtU2NoZW1hPFRGb3JtR3JvdXA+W10pIHtcbiAgICB0aGlzLnByZUZvcm1hdEZvcm1TY2hlbWEodik7XG4gICAgc3VwZXIuX2Zvcm1TY2hlbWEgPSB2O1xuICB9XG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pXG4gIHNpbmdsZUZvcm1TdHJ1Y3R1cmU6IEZvcm1Hcm91cDxURm9ybUdyb3VwPjtcbiAgLyoqXG4gICAqIExlYXZlIGVtcHR5IGlmIHlvdSBkb24ndCB3YW50IHRoZSBkZWxldGUgYnV0dG9uIHRvIHNob3dcbiAgICovXG4gIEBJbnB1dCgpIGRlbGV0ZVJvd0Z1bmM6IChpbmRleDogbnVtYmVyLCBkYXRhPzogRm9ybUdyb3VwPFRGb3JtR3JvdXA+Wyd2YWx1ZSddLCBjb25maWc/OiB7IGJ0bjogQnRuQ29tcG9uZW50IH0pID0+IGFueTtcbiAgLyoqXG4gICAqIExlYXZlIGVtcHR5IGlmIHlvdSBkb24ndCB3YW50IHRoZSBhZGQgYnV0dG9uIHRvIHNob3dcbiAgICovXG4gIEBJbnB1dCgpIGFkZFJvd0Z1bmM6IChpbmRleDogbnVtYmVyLCBkYXRhPzogRm9ybUdyb3VwPFRGb3JtR3JvdXA+Wyd2YWx1ZSddKSA9PiBhbnk7XG4gIEBJbnB1dCgndXNlUGFnaW5hdG9yJykgc2V0IF91c2VQYWdpbmF0b3Iodikge1xuICAgIGlmICh2KSB7XG4gICAgICB0aGlzLnVzZVBhZ2luYXRvciA9IHRydWU7XG4gICAgICB0aGlzLnBhZ2VTaXplID0gdGhpcy5wYWdlU2l6ZSB8fCAxMDtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy51c2VQYWdpbmF0b3IgPSBmYWxzZTtcbiAgICAgIHRoaXMucGFnZVNpemUgPSB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG4gIEBJbnB1dCgpXG4gIHRhYmxlQ2xhc3M6IHN0cmluZyA9ICd0YWJsZSB0YWJsZS1yZXNwb25zaXZlIHRhYmxlLXJlc3BvbnNpdmUgdGFibGUtYm9yZGVybGVzcyc7XG4gIHByb3RlY3RlZCBmaWx0ZXJGb3JtID0gbmV3IEZvcm1Hcm91cCh7fSk7XG4gIHByb3RlY3RlZCBmaWx0ZXJGb3JtczogSUZvcm1TY2hlbWFbXTtcbiAgcHJvdGVjdGVkIHVzZVBhZ2luYXRvcjogYm9vbGVhbjtcbiAgcHJvdGVjdGVkIGNoaWxkcmVuRm9ybVNjaGVtYU1hcDoge1xuICAgIFtrIGluIGtleW9mIFRGb3JtR3JvdXBdPzoge1xuICAgICAgZm9ybVNjaGVtYTogSUZvcm1TY2hlbWFbXTtcbiAgICAgIGZvcm1TY2hlbWFTdHI6IHN0cmluZ1tdO1xuICAgIH07XG4gIH0gPSB7fTtcbiAgcmVmcmVzaGVyOiBudW1iZXI7XG4gIGZvcm1BcnJheVBhZ2luYXRpb25TdWI6IFN1YnNjcmlwdGlvbjtcblxuICBAVmlld0NoaWxkKFBhZ2luYXRvckNvbXBvbmVudCkgcGFnaW5hdG9yQ29tcG9uZW50OiBQYWdpbmF0b3JDb21wb25lbnQ7XG4gIHB1YmxpYyB1UyA9IGluamVjdChVdGlsaXR5U2VydmljZSk7XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMudXNlUGFnaW5hdG9yID09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5fdXNlUGFnaW5hdG9yID0gdHJ1ZTtcbiAgICB9XG4gICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICBsZXQgcHJldmlvdXNMZW5ndGggPSB0aGlzLmZvcm1BcnJheS5sZW5ndGg7XG4gICAgdGhpcy5mb3JtQXJyYXlQYWdpbmF0aW9uU3ViID0gdGhpcy5mb3JtQXJyYXk/LnZhbHVlQ2hhbmdlc1xuICAgICAgLnBpcGUoXG4gICAgICAgIGZpbHRlcigocikgPT4ge1xuICAgICAgICAgIGxldCB0cmlnZ2VyID0gZmFsc2U7XG4gICAgICAgICAgaWYgKHI/Lmxlbmd0aCA9PSAxKSB0cmlnZ2VyID0gdHJ1ZTtcbiAgICAgICAgICBlbHNlIGlmIChyPy5sZW5ndGggIT0gcHJldmlvdXNMZW5ndGgpIHRyaWdnZXIgPSB0cnVlO1xuICAgICAgICAgIHJldHVybiB0cmlnZ2VyO1xuICAgICAgICB9KSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKHIpID0+IHtcbiAgICAgICAgdGhpcy5yZWZyZXNoKCk7XG4gICAgICAgIHByZXZpb3VzTGVuZ3RoID0gcj8ubGVuZ3RoO1xuICAgICAgfSk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLnJlZnJlc2goKTtcbiAgICB9LCAxMDAwKTtcbiAgfVxuXG4gIHJlZnJlc2goKSB7XG4gICAgdGhpcy5yZWZyZXNoZXIgPSBNYXRoLnJhbmRvbSgpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICB0aGlzLmZvcm1BcnJheVBhZ2luYXRpb25TdWI/LnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICByZXNldFBhZ2luYXRvcigpIHtcbiAgICB0aGlzLnBhZ2luYXRvckNvbXBvbmVudD8ucmVzZXQoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBwcmVGb3JtYXRGb3JtU2NoZW1hID0gKGl0ZW1zOiBJRm9ybVNjaGVtYTxURm9ybUdyb3VwPltdKSA9PiB7XG4gICAgaXRlbXMuZm9yRWFjaCgoeCkgPT4ge1xuICAgICAgaWYgKHgub25DaGFuZ2VGdW5jKSB4LnRyaWdnZXJPbkNoYW5nZU9uSW5pdCA9IHRydWU7XG4gICAgICBlbHNlIGlmICh4LnR5cGUgPT0gJ2J1dHRvbicpIHRoaXMucHJlRm9ybWF0Rm9ybVNjaGVtYSh4LmNoaWxkcmVuKTtcbiAgICB9KTtcbiAgfTtcblxuICBpbml0KHNjaGVtYTogSUZvcm1TY2hlbWE8VEZvcm1Hcm91cD5bXSk6IHZvaWQge1xuICAgIHRoaXMuZmlsdGVyRm9ybXMgPSBbXTtcbiAgICB0aGlzLmZpbHRlckZvcm0gPSBuZXcgRm9ybUdyb3VwKHt9KTtcbiAgICAvLyBkZWJ1Z2dlcjtcbiAgICB0aGlzLm5nT25EZXN0cm95KCk7XG4gICAgaWYgKHNjaGVtYSlcbiAgICAgIGZvciAoY29uc3Qgc2NoZW1lIG9mIHNjaGVtYSkge1xuICAgICAgICAvLyBzY2hlbWUuZm9ybSA9IHRoaXMuZm9ybSB8fCBzY2hlbWUuZm9ybTtcbiAgICAgICAgdGhpcy5oYW5kbGVGb3JtU2NoZW1lKHNjaGVtZSk7XG4gICAgICB9XG4gICAgdGhpcy5mb3JtU2NoZW1hID0gc2NoZW1hO1xuICB9XG5cbiAgaGFuZGxlQWN0aW9uQnV0dG9uQ2xpY2soaW5kZXg6IG51bWJlciwgZm9ybTogRm9ybUdyb3VwPFRGb3JtR3JvdXA+LCBlOiB7IGJ0bj86IEJ0bkNvbXBvbmVudDsgYWN0aW9uQnV0dG9uOiBJQnRuIH0pIHtcbiAgICBjb25zdCBpID0gdGhpcy5mb3JtQXJyYXkuY29udHJvbHMuZmluZEluZGV4KCh4KSA9PiB4LmNvbnRyb2xzW3RoaXMudVMuY3VzdG9tSURGaWVsZF0udmFsdWUgPT0gZm9ybS5jb250cm9sc1t0aGlzLnVTLmN1c3RvbUlERmllbGRdLnZhbHVlKTtcbiAgICBlLmFjdGlvbkJ1dHRvbi5hY3Rpb24oeyBpbmRleDogaSwgZm9ybSwgYnRuOiBlLmJ0biB9KTtcbiAgICB0aGlzLnJlZnJlc2goKTtcbiAgfVxuXG4gIGRlbGV0ZVJvd0NsaWNrZWQgPSAoaW5kZXg6IG51bWJlciwgcm93Rm9ybTogRm9ybUdyb3VwPFRGb3JtR3JvdXA+LCBjb25maWc/OiB7IGJ0bjogQnRuQ29tcG9uZW50IH0pID0+IHtcbiAgICBjb25zdCBpID0gdGhpcy5mb3JtQXJyYXkuY29udHJvbHMuZmluZEluZGV4KCh4KSA9PiB4LmNvbnRyb2xzW3RoaXMudVMuY3VzdG9tSURGaWVsZF0udmFsdWUgPT0gcm93Rm9ybS5jb250cm9sc1t0aGlzLnVTLmN1c3RvbUlERmllbGRdLnZhbHVlKTtcbiAgICAvLyBkZWJ1Z2dlcjtcbiAgICB0aGlzLmRlbGV0ZVJvd0Z1bmMoaSwgcm93Rm9ybT8uZ2V0UmF3VmFsdWUoKSwgY29uZmlnKTtcbiAgICB0aGlzLnJlZnJlc2goKTtcbiAgfTtcblxuICBhZGRSb3dDbGlja2VkID0gKGZvcm06IEZvcm1Hcm91cDxURm9ybUdyb3VwPiwgZGF0YT86IGFueSkgPT4ge1xuICAgIGNvbnN0IGkgPSB0aGlzLmZvcm1BcnJheS5jb250cm9scy5maW5kSW5kZXgoKHgpID0+IHguY29udHJvbHNbdGhpcy51Uy5jdXN0b21JREZpZWxkXS52YWx1ZSA9PSBmb3JtLmNvbnRyb2xzW3RoaXMudVMuY3VzdG9tSURGaWVsZF0udmFsdWUpO1xuICAgIC8vIGRlYnVnZ2VyO1xuICAgIHRoaXMuYWRkUm93RnVuYyhpICsgMSwgZGF0YSk7XG4gICAgLy8gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgdGhpcy5yZWZyZXNoKCk7XG4gICAgdGhpcy5maWx0ZXJGb3JtLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgICAvLyB9LCAxMDAwKTtcbiAgfTtcblxuICBjaGVja1JlcXVpcmVkRmllbGRzID0gKCkgPT4ge1xuICAgIGNvbnNvbGUubG9nKHRoaXMuc2luZ2xlRm9ybVN0cnVjdHVyZSk7XG4gIH07XG5cbiAgaGFuZGxlRm9ybVNjaGVtZShzY2hlbWU6IElGb3JtU2NoZW1hKSB7XG4gICAgc2NoZW1lLmlkID0gdGhpcy51Uy5nZW5lcmF0ZVVVSUQoKTtcbiAgICBpZiAoc2NoZW1lLmF1dG9QaWNrVmFsdWVGaWVsZCA9PSBudWxsICYmICghc2NoZW1lLnZhbHVlRmllbGQgfHwgIXNjaGVtZS5sYWJlbEZpZWxkKSkgc2NoZW1lLmF1dG9QaWNrVmFsdWVGaWVsZCA9IHRydWU7XG5cbiAgICBpZiAoc2NoZW1lLm9wdGlvbnNJbml0RnVuYykge1xuICAgICAgc2NoZW1lLm9wdGlvbnNJbml0RnVuYy5zdWJzY3JpYmUoKHIpID0+IHtcbiAgICAgICAgc2NoZW1lLm9wdGlvbnMgPSByO1xuICAgICAgICAvLyB0aGlzLm9wdGlvbnNNYXBbc2NoZW1lLmZpZWxkXSA9IHI7XG4gICAgICB9KTtcbiAgICB9XG4gICAgaWYgKHNjaGVtZS5pc1NlYXJjaEZpZWxkKSB7XG4gICAgICB0aGlzLmZpbHRlckZvcm1zLnB1c2goc2NoZW1lKTtcbiAgICAgIHRoaXMuZmlsdGVyRm9ybS5hZGRDb250cm9sKHNjaGVtZS5maWVsZD8udG9TdHJpbmcoKSwgbmV3IEZvcm1Db250cm9sKCkpO1xuICAgIH0gZWxzZSBpZiAoc2NoZW1lLnR5cGUgPT0gJ2J1dHRvbicpIHtcbiAgICAgIGlmIChzY2hlbWUuY2hpbGRyZW4/Lmxlbmd0aClcbiAgICAgICAgdGhpcy5jaGlsZHJlbkZvcm1TY2hlbWFNYXBbc2NoZW1lLmZpZWxkIGFzIHN0cmluZ10gPSB7XG4gICAgICAgICAgZm9ybVNjaGVtYTogc2NoZW1lLmNoaWxkcmVuLFxuICAgICAgICAgIGZvcm1TY2hlbWFTdHI6IHNjaGVtZS5jaGlsZHJlbi5tYXAoKHgpID0+IHguZmllbGQgYXMgc3RyaW5nKSxcbiAgICAgICAgfTtcbiAgICB9XG4gICAgc2NoZW1lLmlzUmVxdWlyZWQgPSBzY2hlbWUuaXNSZXF1aXJlZCB8fCAoPEZvcm1Hcm91cD50aGlzLnNpbmdsZUZvcm1TdHJ1Y3R1cmU/LmNvbnRyb2xzW3NjaGVtZS5maWVsZF0pPy5oYXNWYWxpZGF0b3IoVmFsaWRhdG9ycy5yZXF1aXJlZCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJ0YWJsZS1pbnB1dFwiPlxuICBAaWYgKGZpbHRlckZvcm1zPy5sZW5ndGgpIHtcbiAgICA8ZGl2IGNsYXNzPVwibWItMyB7eyBmaWx0ZXJDb250YWluZXJDbGFzcyB9fVwiPlxuICAgICAgPGRpdiBjbGFzcz1cImQtZmxleFwiPlxuICAgICAgICA8YXBwLWJ0blxuICAgICAgICAgIHRleHQ9XCJ7eyBmaWx0ZXJTZWN0aW9uLmhpZGRlbiA/ICdTaG93IEZpbHRlcicgOiAnSGlkZSBGaWx0ZXInIH19XCJcbiAgICAgICAgICBbaWNvbl09XCJmaWx0ZXJTZWN0aW9uLmhpZGRlbiA/ICdzZWFyY2gnIDogJ2Nsb3NlJ1wiXG4gICAgICAgICAgKG1jbGljayk9XCJmaWx0ZXJTZWN0aW9uLmhpZGRlbiA9ICFmaWx0ZXJTZWN0aW9uLmhpZGRlblwiXG4gICAgICAgIC8+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJib3JkZXIgcC0zIG10LTMgcm91bmRlZC0xMFwiICNmaWx0ZXJTZWN0aW9uIFtoaWRkZW5dPVwidHJ1ZVwiPlxuICAgICAgICA8Zm9ybS1nZW5lcmF0b3JcbiAgICAgICAgICBbZm9ybV09XCJmaWx0ZXJGb3JtXCJcbiAgICAgICAgICBbZm9ybVNjaGVtYV09XCJmaWx0ZXJGb3Jtc1wiXG4gICAgICAgICAgW2dyaWRMR1N0eWxlXT1cIjNcIlxuICAgICAgICAgIFtzaG93U3VibWl0QnRuXT1cImZhbHNlXCJcbiAgICAgICAgICAobWNoYW5nZSk9XCJyZXNldFBhZ2luYXRvcigpXCJcbiAgICAgICAgLz5cbiAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtZW5kXCI+XG4gICAgICAgICAgPGFwcC1idG5cbiAgICAgICAgICAgIHR5cGU9XCJkYW5nZXItb3V0bGluZVwiXG4gICAgICAgICAgICB0ZXh0PVwiQ2xlYXJcIlxuICAgICAgICAgICAgKG1jbGljayk9XCJmaWx0ZXJGb3JtLnJlc2V0KClcIlxuICAgICAgICAgIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIH1cblxuICBAaWYgKFxuICAgIGZvcm1BcnJheT8uY29udHJvbHMgfCBmaWx0ZXJGb3JtQXJyYXlHcm91cDogZmlsdGVyRm9ybS52YWx1ZTtcbiAgICBhcyBfZm9ybUFyclxuICApIHtcbiAgICA8ZGl2IGNsYXNzPVwiYmctd2hpdGVcIiBbbmdDbGFzc109XCJ7ICdib3JkZXIgcm91bmRlZC0xMCc6IGJvcmRlciB9XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiIFwiPlxuICAgICAgICA8dGFibGVcbiAgICAgICAgICBjbGFzcz1cIiB7eyB0YWJsZUNsYXNzIH19IFwiXG4gICAgICAgICAgW25nQ2xhc3NdPVwieyAnaXMtc2hvdy1mb3JtJzogaXNTaG93IH1cIlxuICAgICAgICA+XG4gICAgICAgICAgPHRoZWFkIChjbGljayk9XCJ1Uy5sb2dGb3JtKF9mb3JtQXJyKVwiPlxuICAgICAgICAgICAgPHRyIGNsYXNzPVwidGV4dC1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgQGZvciAoXG4gICAgICAgICAgICAgICAgaXRlbSBvZiBmb3JtU2NoZW1hO1xuICAgICAgICAgICAgICAgIHRyYWNrIHVTLnRyYWNrQnlDdXN0b21JRCgkaW5kZXgsIGl0ZW0pXG4gICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cInt7IGl0ZW0uY2xzIH19XCI+XG4gICAgICAgICAgICAgICAgICB7eyBpdGVtLmxhYmVsIHwgYXBwVHJhbnNsYXRlIHwgYXN5bmMgfX1cbiAgICAgICAgICAgICAgICAgIHt7IGl0ZW0uaXNSZXF1aXJlZCA/IFwiKlwiIDogXCJcIiB9fVxuICAgICAgICAgICAgICAgIDwvdGg+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgQGlmICghaXNTaG93KSB7XG4gICAgICAgICAgICAgICAgPHRoPjwvdGg+XG4gICAgICAgICAgICAgICAgPHRoPjwvdGg+XG4gICAgICAgICAgICAgICAgQGZvciAoYWN0aW9uQnRuIG9mIGFjdGlvbkJ0bnM7IHRyYWNrIGFjdGlvbkJ0bikge1xuICAgICAgICAgICAgICAgICAgPHRoPjwvdGg+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L3RyPlxuICAgICAgICAgIDwvdGhlYWQ+XG4gICAgICAgICAgPHRib2R5PlxuICAgICAgICAgICAgQGZvciAoXG4gICAgICAgICAgICAgIHN1YkZvcm0gb2YgX2Zvcm1BcnJcbiAgICAgICAgICAgICAgICB8IHBhZ2luYXRvclxuICAgICAgICAgICAgICAgICAgOiAodXNlUGFnaW5hdG9yID8gcGFnaW5hdG9yVGFnLnBhZ2VTaXplIDogX2Zvcm1BcnIubGVuZ3RoKVxuICAgICAgICAgICAgICAgICAgOiBwYWdpbmF0b3JUYWcucGFnZUluZGV4XG4gICAgICAgICAgICAgICAgICA6IHJlZnJlc2hlcjtcbiAgICAgICAgICAgICAgdHJhY2sgdVMudHJhY2tCeUZvckZvcm1zKGksIHN1YkZvcm0pO1xuICAgICAgICAgICAgICBsZXQgaSA9ICRpbmRleFxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgIDx0clxuICAgICAgICAgICAgICAgIHRhYmxlLWlucHV0LXJvd1xuICAgICAgICAgICAgICAgIChvbkFkZFJvd0Z1bmMpPVwiXG4gICAgICAgICAgICAgICAgICBhZGRSb3dDbGlja2VkKFxuICAgICAgICAgICAgICAgICAgICBzdWJGb3JtLFxuICAgICAgICAgICAgICAgICAgICBfZm9ybUFyci5sZW5ndGggIT0gZm9ybUFycmF5Lmxlbmd0aFxuICAgICAgICAgICAgICAgICAgICAgID8gZmlsdGVyRm9ybS52YWx1ZVxuICAgICAgICAgICAgICAgICAgICAgIDogbnVsbFxuICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgW2lzU2hvd109XCJpc1Nob3dcIlxuICAgICAgICAgICAgICAgIFtmb3JtXT1cInN1YkZvcm1cIlxuICAgICAgICAgICAgICAgIFthY3Rpb25CdG5zXT1cImFjdGlvbkJ0bnNcIlxuICAgICAgICAgICAgICAgIFtmb3JtU2NoZW1hXT1cImZvcm1TY2hlbWFcIlxuICAgICAgICAgICAgICAgIFtjaGlsZHJlbkZvcm1TY2hlbWFNYXBdPVwiY2hpbGRyZW5Gb3JtU2NoZW1hTWFwXCJcbiAgICAgICAgICAgICAgICAob25EZWxldGVSb3dGdW5jKT1cIlxuICAgICAgICAgICAgICAgICAgZGVsZXRlUm93Q2xpY2tlZChwYWdpbmF0b3JUYWcuZ2V0QWN0dWFsSW5kZXgoaSksIHN1YkZvcm0sIHtcbiAgICAgICAgICAgICAgICAgICAgYnRuOiAkZXZlbnQ/LmJ0blxuICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgIChvbkFjdGlvbkJ1dHRvbkNsaWNrKT1cIlxuICAgICAgICAgICAgICAgICAgaGFuZGxlQWN0aW9uQnV0dG9uQ2xpY2soXG4gICAgICAgICAgICAgICAgICAgIHBhZ2luYXRvclRhZy5nZXRBY3R1YWxJbmRleChpKSxcbiAgICAgICAgICAgICAgICAgICAgc3ViRm9ybSxcbiAgICAgICAgICAgICAgICAgICAgJGV2ZW50XG4gICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgPjwvdHI+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaWYgKFxuICAgICAgICAgICAgICAhX2Zvcm1BcnIubGVuZ3RoICYmXG4gICAgICAgICAgICAgIChmaWx0ZXJGb3JtXG4gICAgICAgICAgICAgICAgfCBoYXNGb3JtVmFsdWU6IG51bGwgOiAoZmlsdGVyRm9ybS52YWx1ZUNoYW5nZXMgfCBhc3luYykpXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgPHRyPlxuICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cInRleHQtY2VudGVyXCIgW2NvbFNwYW5dPVwiZm9ybVNjaGVtYT8ubGVuZ3RoXCI+XG4gICAgICAgICAgICAgICAgICB7e1xuICAgICAgICAgICAgICAgICAgICBcIlRoZXJlIGFyZSBubyByZXN1bHRzIG1hdGNoaW5nIHlvdXIgcXVlcnlcIlxuICAgICAgICAgICAgICAgICAgICAgIHwgYXBwVHJhbnNsYXRlXG4gICAgICAgICAgICAgICAgICAgICAgfCBhc3luY1xuICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGlmIChcbiAgICAgICAgICAgICAgIV9mb3JtQXJyLmxlbmd0aCAmJlxuICAgICAgICAgICAgICAhKFxuICAgICAgICAgICAgICAgIGZpbHRlckZvcm1cbiAgICAgICAgICAgICAgICB8IGhhc0Zvcm1WYWx1ZTogbnVsbCA6IChmaWx0ZXJGb3JtLnZhbHVlQ2hhbmdlcyB8IGFzeW5jKVxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgPHRyPlxuICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cInRleHQtY2VudGVyXCIgW2NvbFNwYW5dPVwiZm9ybVNjaGVtYT8ubGVuZ3RoXCI+XG4gICAgICAgICAgICAgICAgICB7eyBcIlRoZXJlIGFyZSBubyBpdGVtc1wiIHwgYXBwVHJhbnNsYXRlIHwgYXN5bmMgfX1cbiAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvdGJvZHk+XG4gICAgICAgIDwvdGFibGU+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cIlwiXG4gICAgICAgIFtoaWRkZW5dPVwiXG4gICAgICAgICAgIXVzZVBhZ2luYXRvciB8fCAhX2Zvcm1BcnIubGVuZ3RoIHx8IF9mb3JtQXJyLmxlbmd0aCA8IHBhZ2VTaXplXG4gICAgICAgIFwiXG4gICAgICA+XG4gICAgICAgIDxwYWdpbmF0b3JcbiAgICAgICAgICAjcGFnaW5hdG9yVGFnXG4gICAgICAgICAgW2FycmF5TGVuZ3RoXT1cIl9mb3JtQXJyLmxlbmd0aFwiXG4gICAgICAgICAgW3BhZ2VTaXplXT1cInBhZ2VTaXplXCJcbiAgICAgICAgICBbcmVzZXRJbmRleEZ1bmNdPVwiZmlsdGVyRm9ybS52YWx1ZUNoYW5nZXNcIlxuICAgICAgICAvPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIH1cbjwvZGl2PlxuIl19
@@ -1,5 +1,5 @@
1
- import { Component, Input, booleanAttribute, } from '@angular/core';
2
- import { FunctionCaller1, ValueFormatterPipe, ValueOrXPipe, } from '../../pipes/utility.pipe';
1
+ import { Component, Input, booleanAttribute } from '@angular/core';
2
+ import { FunctionCaller1, ValueFormatterPipe, ValueOrXPipe } from '../../pipes/utility.pipe';
3
3
  import { TranslatePipe } from '../../pipes/translate.pipe';
4
4
  import { MrouterLinkirective } from '../../directives/index.directive';
5
5
  import { NgClass, NgIf, AsyncPipe } from '@angular/common';
@@ -21,17 +21,7 @@ export class TextCase2Component {
21
21
  }
22
22
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: TextCase2Component, decorators: [{
23
23
  type: Component,
24
- args: [{ selector: 'text-case-2', standalone: true, imports: [
25
- MatTooltipModule,
26
- NgClass,
27
- MrouterLinkirective,
28
- NgIf,
29
- AsyncPipe,
30
- FunctionCaller1,
31
- TranslatePipe,
32
- ValueFormatterPipe,
33
- ValueOrXPipe,
34
- ], template: "<div class=\"row align-items-center {{stacked?'g-0':'gy-0 gx-2'}}\">\n <label [matTooltip]=\"hint\" class=\"col-md-{{stacked?'12':'auto'}} lbl hide-scroll-x\"\n [ngClass]=\"{'text-primary':coloredLbl,light,'overflow-x-auto':wrapLabel,'text-center':centered}\">\n {{label|appTranslate|async}}\n </label>\n <div class=\"{{stacked?'col-12':'col-md'}} position-relative\" [ngClass]=\"{'text-center':centered}\">\n <div class=\"row align-items-center\">\n <!-- <div class=\"row align-items-center\" *ngIf=\"!customValueTemplate;else customValueTemplate\"> -->\n <a [isEmail]=\"isEmail\" [isPhone]=\"isPhone\" [mrouterLink]=\"route||(routeFunc|functionCaller1:value|async)\"\n class=\"{{!coloredVal?'':'text-primary'}} col-{{!stacked?'auto':editable?'9':'12'}} lbl-val\">\n <div class=\"hide-scroll-x overflow-x-auto\" [innerHTML]=\"((value|valueFormatter:formatter)|async)|valueOrX:'-'\">\n </div>\n </a>\n @if (editable) {\n <div class=\"col-auto \">\n <i (click)=\"action?action():null\" class=\"ps-1 pointer fas fa-pencil-alt {{!coloredVal?'':'text-primary'}}\"></i>\n </div>\n }\n </div>\n </div>\n</div>" }]
24
+ args: [{ selector: 'text-case-2', standalone: true, imports: [MatTooltipModule, NgClass, MrouterLinkirective, NgIf, AsyncPipe, FunctionCaller1, TranslatePipe, ValueFormatterPipe, ValueOrXPipe], template: "<div class=\"row align-items-center {{stacked?'g-0':'gy-0 gx-2'}}\">\n <label [matTooltip]=\"hint\" class=\"col-md-{{stacked?'12':'auto'}} lbl hide-scroll-x\"\n [ngClass]=\"{'text-primary':coloredLbl,light,'overflow-x-auto':wrapLabel,'text-center':centered}\">\n {{label|appTranslate|async}}\n </label>\n <div class=\"{{stacked?'col-12':'col-md'}} position-relative\" [ngClass]=\"{'text-center':centered}\">\n <div class=\"row align-items-center\">\n <!-- <div class=\"row align-items-center\" *ngIf=\"!customValueTemplate;else customValueTemplate\"> -->\n <a [isEmail]=\"isEmail\" [isPhone]=\"isPhone\" [mrouterLink]=\"route||(routeFunc|functionCaller1:value|async)\"\n class=\"{{!coloredVal?'':'text-primary'}} col-{{!stacked?'auto':editable?'9':'12'}} lbl-val\">\n <div class=\"hide-scroll-x overflow-x-auto\" [innerHTML]=\"((value|valueFormatter:formatter)|async)|valueOrX:'-'\">\n </div>\n </a>\n @if (editable) {\n <div class=\"col-auto \">\n <i (click)=\"action?action():null\" class=\"ps-1 pointer fas fa-pencil-alt {{!coloredVal?'':'text-primary'}}\"></i>\n </div>\n }\n </div>\n </div>\n</div>" }]
35
25
  }], ctorParameters: () => [], propDecorators: { obj: [{
36
26
  type: Input
37
27
  }], action: [{
@@ -86,4 +76,4 @@ export class TextCase2ForObject {
86
76
  Object.assign(this, extra);
87
77
  }
88
78
  }
89
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1jYXNlLTIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXRzLWZlLW5nLXNkay9zcmMvbGliL1NoYXJlZC9jb21wb25lbnRzL3RleHQtY2FzZS0yL3RleHQtY2FzZS0yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V0cy1mZS1uZy1zZGsvc3JjL2xpYi9TaGFyZWQvY29tcG9uZW50cy90ZXh0LWNhc2UtMi90ZXh0LWNhc2UtMi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUVULEtBQUssRUFFTCxnQkFBZ0IsR0FDakIsTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUNMLGVBQWUsRUFDZixrQkFBa0IsRUFDbEIsWUFBWSxHQUNiLE1BQU0sMEJBQTBCLENBQUM7QUFDbEMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzNELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7QUFtQjdELE1BQU0sT0FBTyxrQkFBa0I7SUFDN0IsSUFBYSxHQUFHLENBQUMsQ0FBYTtRQUM1QixNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBc0JEO1FBbkJTLGVBQVUsR0FBWSxJQUFJLENBQUM7UUFhM0IsWUFBTyxHQUFZLElBQUksQ0FBQztRQUd4QixjQUFTLEdBQUcsSUFBSSxDQUFDO0lBR1gsQ0FBQztJQUVoQixRQUFRLEtBQVUsQ0FBQzs4R0EzQlIsa0JBQWtCO2tHQUFsQixrQkFBa0IsOEtBUVQsZ0JBQWdCLDJWQzVDdEMsZ3FDQW9CTSx5RERLRixnQkFBZ0IsNlRBQ2hCLE9BQU8sb0ZBQ1AsbUJBQW1CLGlKQUVuQixTQUFTLHlDQUNULGVBQWUsbURBQ2YsYUFBYSxnREFDYixrQkFBa0Isa0RBQ2xCLFlBQVk7OzJGQUdILGtCQUFrQjtrQkFqQjlCLFNBQVM7K0JBQ0UsYUFBYSxjQUdYLElBQUksV0FDUDt3QkFDUCxnQkFBZ0I7d0JBQ2hCLE9BQU87d0JBQ1AsbUJBQW1CO3dCQUNuQixJQUFJO3dCQUNKLFNBQVM7d0JBQ1QsZUFBZTt3QkFDZixhQUFhO3dCQUNiLGtCQUFrQjt3QkFDbEIsWUFBWTtxQkFDYjt3REFHWSxHQUFHO3NCQUFmLEtBQUs7Z0JBR0csTUFBTTtzQkFBZCxLQUFLO2dCQUVHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDa0MsUUFBUTtzQkFBL0MsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFDN0IsSUFBSTtzQkFBWixLQUFLO2dCQUNHLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSzs7QUFLUixNQUFNLE9BQU8sa0JBQWtCO0lBb0I3QixZQUNFLElBQWEsRUFDYixLQUFhLEVBQ2IsS0FFQztRQVhILFlBQU8sR0FBWSxJQUFJLENBQUM7UUFHeEIsb0JBQWUsR0FBRyxJQUFJLENBQUM7UUFVckIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxLQUFLO1lBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDeEMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBPbkluaXQsXG4gIElucHV0LFxuICBUZW1wbGF0ZVJlZixcbiAgYm9vbGVhbkF0dHJpYnV0ZSxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBJbnB1dFR5cGUgfSBmcm9tICcuLi8uLi9tb2RlbHMvaW5kZXgubW9kZWwnO1xuaW1wb3J0IHtcbiAgRnVuY3Rpb25DYWxsZXIxLFxuICBWYWx1ZUZvcm1hdHRlclBpcGUsXG4gIFZhbHVlT3JYUGlwZSxcbn0gZnJvbSAnLi4vLi4vcGlwZXMvdXRpbGl0eS5waXBlJztcbmltcG9ydCB7IFRyYW5zbGF0ZVBpcGUgfSBmcm9tICcuLi8uLi9waXBlcy90cmFuc2xhdGUucGlwZSc7XG5pbXBvcnQgeyBNcm91dGVyTGlua2lyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcy9pbmRleC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgTmdDbGFzcywgTmdJZiwgQXN5bmNQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV4dC1jYXNlLTInLFxuICB0ZW1wbGF0ZVVybDogJy4vdGV4dC1jYXNlLTIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90ZXh0LWNhc2UtMi5jb21wb25lbnQuc2NzcyddLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgTWF0VG9vbHRpcE1vZHVsZSxcbiAgICBOZ0NsYXNzLFxuICAgIE1yb3V0ZXJMaW5raXJlY3RpdmUsXG4gICAgTmdJZixcbiAgICBBc3luY1BpcGUsXG4gICAgRnVuY3Rpb25DYWxsZXIxLFxuICAgIFRyYW5zbGF0ZVBpcGUsXG4gICAgVmFsdWVGb3JtYXR0ZXJQaXBlLFxuICAgIFZhbHVlT3JYUGlwZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgVGV4dENhc2UyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBJVGV4dENhc2UyIHtcbiAgQElucHV0KCkgc2V0IG9iaih2OiBJVGV4dENhc2UyKSB7XG4gICAgT2JqZWN0LmFzc2lnbih0aGlzLCB2KTtcbiAgfVxuICBASW5wdXQoKSBhY3Rpb246IGFueTtcbiAgbmFtZTogc3RyaW5nO1xuICBASW5wdXQoKSBjb2xvcmVkTGJsOiBib29sZWFuID0gdHJ1ZTtcbiAgQElucHV0KCkgY29sb3JlZFZhbDogYm9vbGVhbjtcbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGNlbnRlcmVkOiBib29sZWFuO1xuICBASW5wdXQoKSBmb3JtOiBhbnk7XG4gIEBJbnB1dCgpIGN1c3RvbVZhbHVlVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG4gIEBJbnB1dCgpIGZvcm1hdHRlcjogKGl0ZW0pID0+IHN0cmluZyB8IFByb21pc2U8c3RyaW5nPiB8IE9ic2VydmFibGU8c3RyaW5nPjtcbiAgQElucHV0KCkgaGludDogc3RyaW5nO1xuICBASW5wdXQoKSBsYWJlbDogc3RyaW5nO1xuICBASW5wdXQoKSBsaWdodDogYm9vbGVhbjtcbiAgQElucHV0KCkgbWluaTogYm9vbGVhbjtcbiAgQElucHV0KCkgcm91dGU6IHN0cmluZztcbiAgQElucHV0KCkgcm91dGVGdW5jOiAoaXRlbSkgPT4gUHJvbWlzZTxzdHJpbmc+IHwgT2JzZXJ2YWJsZTxzdHJpbmc+O1xuICBASW5wdXQoKSBlZGl0YWJsZTogYm9vbGVhbjtcbiAgQElucHV0KCkgc3RhY2tlZDogYm9vbGVhbiA9IHRydWU7XG4gIEBJbnB1dCgpIHR5cGU6IElucHV0VHlwZTtcbiAgQElucHV0KCkgdmFsdWU6IGFueTtcbiAgQElucHV0KCkgd3JhcExhYmVsID0gdHJ1ZTtcbiAgQElucHV0KCkgaXNFbWFpbDogYm9vbGVhbjtcbiAgQElucHV0KCkgaXNQaG9uZTogYm9vbGVhbjtcbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge31cbn1cbmV4cG9ydCBjbGFzcyBUZXh0Q2FzZTJGb3JPYmplY3Q8VCA9IGFueT4gaW1wbGVtZW50cyBJVGV4dENhc2UyIHtcbiAgbmFtZToga2V5b2YgVDtcbiAgYWN0aW9uOiBhbnk7XG4gIGNvbG9yZWRMYmw6IGJvb2xlYW47XG4gIGNvbG9yZWRWYWw6IGJvb2xlYW47XG4gIGZvcm06IGFueTtcbiAgZm9ybWF0dGVyOiAoaXRlbSkgPT4gc3RyaW5nIHwgUHJvbWlzZTxzdHJpbmc+IHwgT2JzZXJ2YWJsZTxzdHJpbmc+O1xuICBoaW50OiBzdHJpbmc7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIGxpZ2h0OiBib29sZWFuO1xuICBtaW5pOiBib29sZWFuO1xuICByb3V0ZTogc3RyaW5nO1xuICByb3V0ZUZ1bmM6IChpdGVtKSA9PiBQcm9taXNlPHN0cmluZz4gfCBPYnNlcnZhYmxlPHN0cmluZz47XG4gIGVkaXRhYmxlOiBib29sZWFuO1xuICBzdGFja2VkOiBib29sZWFuID0gdHJ1ZTtcbiAgdHlwZTogSW5wdXRUeXBlO1xuICB2YWx1ZTogYW55O1xuICB3cmFwTGFJbnB1dFR5cGUgPSB0cnVlO1xuICBpc0VtYWlsOiBib29sZWFuO1xuICBpc1Bob25lOiBib29sZWFuO1xuICBjb25zdHJ1Y3RvcihcbiAgICBuYW1lOiBrZXlvZiBULFxuICAgIGxhYmVsOiBzdHJpbmcsXG4gICAgZXh0cmE/OiB7XG4gICAgICBmb3JtYXR0ZXI6IChpdGVtKSA9PiBzdHJpbmcgfCBQcm9taXNlPHN0cmluZz4gfCBPYnNlcnZhYmxlPHN0cmluZz47XG4gICAgfSxcbiAgKSB7XG4gICAgdGhpcy5uYW1lID0gbmFtZTtcbiAgICB0aGlzLmxhYmVsID0gbGFiZWw7XG4gICAgaWYgKGV4dHJhKSBPYmplY3QuYXNzaWduKHRoaXMsIGV4dHJhKTtcbiAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIElUZXh0Q2FzZTI8VCA9IGFueT4ge1xuICBhY3Rpb24/OiBhbnk7XG4gIGNvbG9yZWRMYmw/OiBib29sZWFuO1xuICBjb2xvcmVkVmFsPzogYm9vbGVhbjtcbiAgZWRpdGFibGU/OiBib29sZWFuO1xuICBmb3JtYXR0ZXI/OiAoaXRlbSkgPT4gc3RyaW5nIHwgUHJvbWlzZTxzdHJpbmc+IHwgT2JzZXJ2YWJsZTxzdHJpbmc+O1xuICBoaW50Pzogc3RyaW5nO1xuICBpc0VtYWlsPzogYm9vbGVhbjtcbiAgaXNQaG9uZT86IGJvb2xlYW47XG4gIGxhYmVsPzogc3RyaW5nO1xuICBmaWVsZD86IHN0cmluZztcbiAgbGlnaHQ/OiBib29sZWFuO1xuICBtaW5pPzogYm9vbGVhbjtcbiAgbmFtZT86IGtleW9mIFQ7XG4gIHJvdXRlPzogc3RyaW5nO1xuICByb3V0ZUZ1bmM/OiAoaXRlbSkgPT4gUHJvbWlzZTxzdHJpbmc+IHwgT2JzZXJ2YWJsZTxzdHJpbmc+O1xuICBzdGFja2VkPzogYm9vbGVhbjtcbiAgdHlwZT86IElucHV0VHlwZTtcbiAgdmFsdWU/OiBhbnk7XG4gIHdyYXBMYWJlbD86IGJvb2xlYW47XG59XG4iLCI8ZGl2IGNsYXNzPVwicm93IGFsaWduLWl0ZW1zLWNlbnRlciB7e3N0YWNrZWQ/J2ctMCc6J2d5LTAgZ3gtMid9fVwiPlxuICA8bGFiZWwgW21hdFRvb2x0aXBdPVwiaGludFwiIGNsYXNzPVwiY29sLW1kLXt7c3RhY2tlZD8nMTInOidhdXRvJ319IGxibCBoaWRlLXNjcm9sbC14XCJcbiAgICBbbmdDbGFzc109XCJ7J3RleHQtcHJpbWFyeSc6Y29sb3JlZExibCxsaWdodCwnb3ZlcmZsb3cteC1hdXRvJzp3cmFwTGFiZWwsJ3RleHQtY2VudGVyJzpjZW50ZXJlZH1cIj5cbiAgICB7e2xhYmVsfGFwcFRyYW5zbGF0ZXxhc3luY319XG4gIDwvbGFiZWw+XG4gIDxkaXYgY2xhc3M9XCJ7e3N0YWNrZWQ/J2NvbC0xMic6J2NvbC1tZCd9fSBwb3NpdGlvbi1yZWxhdGl2ZVwiIFtuZ0NsYXNzXT1cInsndGV4dC1jZW50ZXInOmNlbnRlcmVkfVwiPlxuICAgIDxkaXYgY2xhc3M9XCJyb3cgYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gICAgICA8IS0tIDxkaXYgY2xhc3M9XCJyb3cgYWxpZ24taXRlbXMtY2VudGVyXCIgKm5nSWY9XCIhY3VzdG9tVmFsdWVUZW1wbGF0ZTtlbHNlIGN1c3RvbVZhbHVlVGVtcGxhdGVcIj4gLS0+XG4gICAgICA8YSBbaXNFbWFpbF09XCJpc0VtYWlsXCIgW2lzUGhvbmVdPVwiaXNQaG9uZVwiIFttcm91dGVyTGlua109XCJyb3V0ZXx8KHJvdXRlRnVuY3xmdW5jdGlvbkNhbGxlcjE6dmFsdWV8YXN5bmMpXCJcbiAgICAgICAgY2xhc3M9XCJ7eyFjb2xvcmVkVmFsPycnOid0ZXh0LXByaW1hcnknfX0gY29sLXt7IXN0YWNrZWQ/J2F1dG8nOmVkaXRhYmxlPyc5JzonMTInfX0gbGJsLXZhbFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiaGlkZS1zY3JvbGwteCBvdmVyZmxvdy14LWF1dG9cIiBbaW5uZXJIVE1MXT1cIigodmFsdWV8dmFsdWVGb3JtYXR0ZXI6Zm9ybWF0dGVyKXxhc3luYyl8dmFsdWVPclg6Jy0nXCI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9hPlxuICAgICAgQGlmIChlZGl0YWJsZSkge1xuICAgICAgPGRpdiBjbGFzcz1cImNvbC1hdXRvIFwiPlxuICAgICAgICA8aSAoY2xpY2spPVwiYWN0aW9uP2FjdGlvbigpOm51bGxcIiBjbGFzcz1cInBzLTEgcG9pbnRlciBmYXMgZmEtcGVuY2lsLWFsdCB7eyFjb2xvcmVkVmFsPycnOid0ZXh0LXByaW1hcnknfX1cIj48L2k+XG4gICAgICA8L2Rpdj5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj4iXX0=
79
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1jYXNlLTIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXRzLWZlLW5nLXNkay9zcmMvbGliL1NoYXJlZC9jb21wb25lbnRzL3RleHQtY2FzZS0yL3RleHQtY2FzZS0yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V0cy1mZS1uZy1zZGsvc3JjL2xpYi9TaGFyZWQvY29tcG9uZW50cy90ZXh0LWNhc2UtMi90ZXh0LWNhc2UtMi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBZSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUd4RixPQUFPLEVBQUUsZUFBZSxFQUFFLGtCQUFrQixFQUFFLFlBQVksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzdGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7O0FBUzdELE1BQU0sT0FBTyxrQkFBa0I7SUFDN0IsSUFBYSxHQUFHLENBQUMsQ0FBYTtRQUM1QixNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBc0JEO1FBbkJTLGVBQVUsR0FBYSxJQUFJLENBQUM7UUFhNUIsWUFBTyxHQUFhLElBQUksQ0FBQztRQUd6QixjQUFTLEdBQUksSUFBSSxDQUFDO0lBR1osQ0FBQztJQUVoQixRQUFRLEtBQVUsQ0FBQzs4R0EzQlIsa0JBQWtCO2tHQUFsQixrQkFBa0IsOEtBUVQsZ0JBQWdCLDJWQ3hCdEMsZ3FDQW9CTSx5REROTSxnQkFBZ0IsNlRBQUUsT0FBTyxvRkFBRSxtQkFBbUIsaUpBQVEsU0FBUyx5Q0FBRSxlQUFlLG1EQUFFLGFBQWEsZ0RBQUUsa0JBQWtCLGtEQUFFLFlBQVk7OzJGQUVoSSxrQkFBa0I7a0JBUDlCLFNBQVM7K0JBQ0UsYUFBYSxjQUdYLElBQUksV0FDUCxDQUFDLGdCQUFnQixFQUFFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsa0JBQWtCLEVBQUUsWUFBWSxDQUFDO3dEQUcvSCxHQUFHO3NCQUFmLEtBQUs7Z0JBR0csTUFBTTtzQkFBZCxLQUFLO2dCQUVHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDa0MsUUFBUTtzQkFBL0MsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFDN0IsSUFBSTtzQkFBWixLQUFLO2dCQUNHLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSzs7QUFLUixNQUFNLE9BQU8sa0JBQWtCO0lBb0I3QixZQUNFLElBQWEsRUFDYixLQUFhLEVBQ2IsS0FFQztRQVhILFlBQU8sR0FBWSxJQUFJLENBQUM7UUFHeEIsb0JBQWUsR0FBRyxJQUFJLENBQUM7UUFVckIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxLQUFLO1lBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDeEMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0LCBUZW1wbGF0ZVJlZiwgYm9vbGVhbkF0dHJpYnV0ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSW5wdXRUeXBlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2luZGV4Lm1vZGVsJztcbmltcG9ydCB7IEZ1bmN0aW9uQ2FsbGVyMSwgVmFsdWVGb3JtYXR0ZXJQaXBlLCBWYWx1ZU9yWFBpcGUgfSBmcm9tICcuLi8uLi9waXBlcy91dGlsaXR5LnBpcGUnO1xuaW1wb3J0IHsgVHJhbnNsYXRlUGlwZSB9IGZyb20gJy4uLy4uL3BpcGVzL3RyYW5zbGF0ZS5waXBlJztcbmltcG9ydCB7IE1yb3V0ZXJMaW5raXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL2luZGV4LmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBOZ0NsYXNzLCBOZ0lmLCBBc3luY1BpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXh0LWNhc2UtMicsXG4gIHRlbXBsYXRlVXJsOiAnLi90ZXh0LWNhc2UtMi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3RleHQtY2FzZS0yLmNvbXBvbmVudC5zY3NzJ10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtNYXRUb29sdGlwTW9kdWxlLCBOZ0NsYXNzLCBNcm91dGVyTGlua2lyZWN0aXZlLCBOZ0lmLCBBc3luY1BpcGUsIEZ1bmN0aW9uQ2FsbGVyMSwgVHJhbnNsYXRlUGlwZSwgVmFsdWVGb3JtYXR0ZXJQaXBlLCBWYWx1ZU9yWFBpcGVdLFxufSlcbmV4cG9ydCBjbGFzcyBUZXh0Q2FzZTJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIElUZXh0Q2FzZTIge1xuICBASW5wdXQoKSBzZXQgb2JqKHY6IElUZXh0Q2FzZTIpIHtcbiAgICBPYmplY3QuYXNzaWduKHRoaXMsIHYpO1xuICB9XG4gIEBJbnB1dCgpIGFjdGlvbj86ICgpID0+IGFueTtcbiAgbmFtZTogc3RyaW5nO1xuICBASW5wdXQoKSBjb2xvcmVkTGJsPzogYm9vbGVhbiA9IHRydWU7XG4gIEBJbnB1dCgpIGNvbG9yZWRWYWw/OiBib29sZWFuO1xuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgY2VudGVyZWQ/OiBib29sZWFuO1xuICBASW5wdXQoKSBmb3JtOiBhbnk7XG4gIEBJbnB1dCgpIGN1c3RvbVZhbHVlVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG4gIEBJbnB1dCgpIGZvcm1hdHRlcjogKGl0ZW0pID0+IHN0cmluZyB8IFByb21pc2U8c3RyaW5nPiB8IE9ic2VydmFibGU8c3RyaW5nPjtcbiAgQElucHV0KCkgaGludD86IHN0cmluZztcbiAgQElucHV0KCkgbGFiZWw6IHN0cmluZztcbiAgQElucHV0KCkgbGlnaHQ/OiBib29sZWFuO1xuICBASW5wdXQoKSBtaW5pPzogYm9vbGVhbjtcbiAgQElucHV0KCkgcm91dGU/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHJvdXRlRnVuYz86IChpdGVtKSA9PiBQcm9taXNlPHN0cmluZz4gfCBPYnNlcnZhYmxlPHN0cmluZz47XG4gIEBJbnB1dCgpIGVkaXRhYmxlPzogYm9vbGVhbjtcbiAgQElucHV0KCkgc3RhY2tlZD86IGJvb2xlYW4gPSB0cnVlO1xuICBASW5wdXQoKSB0eXBlPzogSW5wdXRUeXBlO1xuICBASW5wdXQoKSB2YWx1ZT86IGFueTtcbiAgQElucHV0KCkgd3JhcExhYmVsPyA9IHRydWU7XG4gIEBJbnB1dCgpIGlzRW1haWw/OiBib29sZWFuO1xuICBASW5wdXQoKSBpc1Bob25lPzogYm9vbGVhbjtcbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge31cbn1cbmV4cG9ydCBjbGFzcyBUZXh0Q2FzZTJGb3JPYmplY3Q8VCA9IGFueT4gaW1wbGVtZW50cyBJVGV4dENhc2UyIHtcbiAgbmFtZToga2V5b2YgVDtcbiAgYWN0aW9uOiBhbnk7XG4gIGNvbG9yZWRMYmw6IGJvb2xlYW47XG4gIGNvbG9yZWRWYWw6IGJvb2xlYW47XG4gIGZvcm06IGFueTtcbiAgZm9ybWF0dGVyOiAoaXRlbSkgPT4gc3RyaW5nIHwgUHJvbWlzZTxzdHJpbmc+IHwgT2JzZXJ2YWJsZTxzdHJpbmc+O1xuICBoaW50OiBzdHJpbmc7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIGxpZ2h0OiBib29sZWFuO1xuICBtaW5pOiBib29sZWFuO1xuICByb3V0ZTogc3RyaW5nO1xuICByb3V0ZUZ1bmM6IChpdGVtKSA9PiBQcm9taXNlPHN0cmluZz4gfCBPYnNlcnZhYmxlPHN0cmluZz47XG4gIGVkaXRhYmxlOiBib29sZWFuO1xuICBzdGFja2VkOiBib29sZWFuID0gdHJ1ZTtcbiAgdHlwZTogSW5wdXRUeXBlO1xuICB2YWx1ZTogYW55O1xuICB3cmFwTGFJbnB1dFR5cGUgPSB0cnVlO1xuICBpc0VtYWlsOiBib29sZWFuO1xuICBpc1Bob25lOiBib29sZWFuO1xuICBjb25zdHJ1Y3RvcihcbiAgICBuYW1lOiBrZXlvZiBULFxuICAgIGxhYmVsOiBzdHJpbmcsXG4gICAgZXh0cmE/OiB7XG4gICAgICBmb3JtYXR0ZXI6IChpdGVtKSA9PiBzdHJpbmcgfCBQcm9taXNlPHN0cmluZz4gfCBPYnNlcnZhYmxlPHN0cmluZz47XG4gICAgfSxcbiAgKSB7XG4gICAgdGhpcy5uYW1lID0gbmFtZTtcbiAgICB0aGlzLmxhYmVsID0gbGFiZWw7XG4gICAgaWYgKGV4dHJhKSBPYmplY3QuYXNzaWduKHRoaXMsIGV4dHJhKTtcbiAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIElUZXh0Q2FzZTI8VCA9IGFueT4ge1xuICBhY3Rpb24/OiBhbnk7XG4gIGNvbG9yZWRMYmw/OiBib29sZWFuO1xuICBjb2xvcmVkVmFsPzogYm9vbGVhbjtcbiAgZWRpdGFibGU/OiBib29sZWFuO1xuICBmb3JtYXR0ZXI/OiAoaXRlbSkgPT4gc3RyaW5nIHwgUHJvbWlzZTxzdHJpbmc+IHwgT2JzZXJ2YWJsZTxzdHJpbmc+O1xuICBoaW50Pzogc3RyaW5nO1xuICBpc0VtYWlsPzogYm9vbGVhbjtcbiAgaXNQaG9uZT86IGJvb2xlYW47XG4gIGxhYmVsPzogc3RyaW5nO1xuICBmaWVsZD86IHN0cmluZztcbiAgbGlnaHQ/OiBib29sZWFuO1xuICBtaW5pPzogYm9vbGVhbjtcbiAgbmFtZT86IGtleW9mIFQ7XG4gIHJvdXRlPzogc3RyaW5nO1xuICByb3V0ZUZ1bmM/OiAoaXRlbSkgPT4gUHJvbWlzZTxzdHJpbmc+IHwgT2JzZXJ2YWJsZTxzdHJpbmc+O1xuICBzdGFja2VkPzogYm9vbGVhbjtcbiAgdHlwZT86IElucHV0VHlwZTtcbiAgdmFsdWU/OiBhbnk7XG4gIHdyYXBMYWJlbD86IGJvb2xlYW47XG59XG4iLCI8ZGl2IGNsYXNzPVwicm93IGFsaWduLWl0ZW1zLWNlbnRlciB7e3N0YWNrZWQ/J2ctMCc6J2d5LTAgZ3gtMid9fVwiPlxuICA8bGFiZWwgW21hdFRvb2x0aXBdPVwiaGludFwiIGNsYXNzPVwiY29sLW1kLXt7c3RhY2tlZD8nMTInOidhdXRvJ319IGxibCBoaWRlLXNjcm9sbC14XCJcbiAgICBbbmdDbGFzc109XCJ7J3RleHQtcHJpbWFyeSc6Y29sb3JlZExibCxsaWdodCwnb3ZlcmZsb3cteC1hdXRvJzp3cmFwTGFiZWwsJ3RleHQtY2VudGVyJzpjZW50ZXJlZH1cIj5cbiAgICB7e2xhYmVsfGFwcFRyYW5zbGF0ZXxhc3luY319XG4gIDwvbGFiZWw+XG4gIDxkaXYgY2xhc3M9XCJ7e3N0YWNrZWQ/J2NvbC0xMic6J2NvbC1tZCd9fSBwb3NpdGlvbi1yZWxhdGl2ZVwiIFtuZ0NsYXNzXT1cInsndGV4dC1jZW50ZXInOmNlbnRlcmVkfVwiPlxuICAgIDxkaXYgY2xhc3M9XCJyb3cgYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gICAgICA8IS0tIDxkaXYgY2xhc3M9XCJyb3cgYWxpZ24taXRlbXMtY2VudGVyXCIgKm5nSWY9XCIhY3VzdG9tVmFsdWVUZW1wbGF0ZTtlbHNlIGN1c3RvbVZhbHVlVGVtcGxhdGVcIj4gLS0+XG4gICAgICA8YSBbaXNFbWFpbF09XCJpc0VtYWlsXCIgW2lzUGhvbmVdPVwiaXNQaG9uZVwiIFttcm91dGVyTGlua109XCJyb3V0ZXx8KHJvdXRlRnVuY3xmdW5jdGlvbkNhbGxlcjE6dmFsdWV8YXN5bmMpXCJcbiAgICAgICAgY2xhc3M9XCJ7eyFjb2xvcmVkVmFsPycnOid0ZXh0LXByaW1hcnknfX0gY29sLXt7IXN0YWNrZWQ/J2F1dG8nOmVkaXRhYmxlPyc5JzonMTInfX0gbGJsLXZhbFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiaGlkZS1zY3JvbGwteCBvdmVyZmxvdy14LWF1dG9cIiBbaW5uZXJIVE1MXT1cIigodmFsdWV8dmFsdWVGb3JtYXR0ZXI6Zm9ybWF0dGVyKXxhc3luYyl8dmFsdWVPclg6Jy0nXCI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9hPlxuICAgICAgQGlmIChlZGl0YWJsZSkge1xuICAgICAgPGRpdiBjbGFzcz1cImNvbC1hdXRvIFwiPlxuICAgICAgICA8aSAoY2xpY2spPVwiYWN0aW9uP2FjdGlvbigpOm51bGxcIiBjbGFzcz1cInBzLTEgcG9pbnRlciBmYXMgZmEtcGVuY2lsLWFsdCB7eyFjb2xvcmVkVmFsPycnOid0ZXh0LXByaW1hcnknfX1cIj48L2k+XG4gICAgICA8L2Rpdj5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj4iXX0=