@klippa/ngx-enhancy-forms 18.27.1 → 18.29.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/form/form-caption-end/form-caption-end.component.mjs +34 -0
- package/esm2022/lib/form/form-element/form-element.component.mjs +6 -3
- package/esm2022/lib/ngx-enhancy-forms.module.mjs +6 -1
- package/esm2022/public-api.mjs +2 -1
- package/fesm2022/klippa-ngx-enhancy-forms.mjs +41 -3
- package/fesm2022/klippa-ngx-enhancy-forms.mjs.map +1 -1
- package/lib/form/form-caption-end/form-caption-end.component.d.ts +12 -0
- package/lib/form/form-element/form-element.component.d.ts +3 -1
- package/lib/ngx-enhancy-forms.module.d.ts +17 -16
- package/package.json +1 -1
- package/public-api.d.ts +1 -0
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { Component, Host, Optional, ViewChild } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "../form-element/form-element.component";
|
|
4
|
+
export class FormCaptionEndComponent {
|
|
5
|
+
constructor(parent) {
|
|
6
|
+
this.parent = parent;
|
|
7
|
+
}
|
|
8
|
+
ngOnInit() {
|
|
9
|
+
// this is being run next cycle, because we dont want to fail if the order of components is as follows:
|
|
10
|
+
// <app-form-error />
|
|
11
|
+
// <some-input />
|
|
12
|
+
// That would fail, because the logic of the form error is run first, and at that moment, the `some-input` isnt registered yet
|
|
13
|
+
setTimeout(() => {
|
|
14
|
+
this.parent.registerCaptionEnd(this.contentRef);
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
ngOnDestroy() {
|
|
18
|
+
this.parent.registerCaptionEnd(null);
|
|
19
|
+
}
|
|
20
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: FormCaptionEndComponent, deps: [{ token: i1.FormElementComponent, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
21
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: FormCaptionEndComponent, selector: "klp-form-caption-end", viewQueries: [{ propertyName: "contentRef", first: true, predicate: ["contentRef"], descendants: true }], ngImport: i0, template: "<ng-template #contentRef>\n\t<ng-content></ng-content>\n</ng-template>\n", styles: [":host{display:block}\n"] }); }
|
|
22
|
+
}
|
|
23
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: FormCaptionEndComponent, decorators: [{
|
|
24
|
+
type: Component,
|
|
25
|
+
args: [{ selector: 'klp-form-caption-end', template: "<ng-template #contentRef>\n\t<ng-content></ng-content>\n</ng-template>\n", styles: [":host{display:block}\n"] }]
|
|
26
|
+
}], ctorParameters: () => [{ type: i1.FormElementComponent, decorators: [{
|
|
27
|
+
type: Host
|
|
28
|
+
}, {
|
|
29
|
+
type: Optional
|
|
30
|
+
}] }], propDecorators: { contentRef: [{
|
|
31
|
+
type: ViewChild,
|
|
32
|
+
args: ['contentRef']
|
|
33
|
+
}] } });
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1jYXB0aW9uLWVuZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rbGlwcGEvbmd4LWVuaGFuY3ktZm9ybXMvc3JjL2xpYi9mb3JtL2Zvcm0tY2FwdGlvbi1lbmQvZm9ybS1jYXB0aW9uLWVuZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rbGlwcGEvbmd4LWVuaGFuY3ktZm9ybXMvc3JjL2xpYi9mb3JtL2Zvcm0tY2FwdGlvbi1lbmQvZm9ybS1jYXB0aW9uLWVuZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFjLElBQUksRUFBcUIsUUFBUSxFQUFlLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQzs7O0FBUS9HLE1BQU0sT0FBTyx1QkFBdUI7SUFHbkMsWUFBd0MsTUFBNEI7UUFBNUIsV0FBTSxHQUFOLE1BQU0sQ0FBc0I7SUFBRyxDQUFDO0lBRXhFLFFBQVE7UUFDUCx1R0FBdUc7UUFDdkcscUJBQXFCO1FBQ3JCLGlCQUFpQjtRQUNqQiw4SEFBOEg7UUFDOUgsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNmLElBQUksQ0FBQyxNQUFNLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2pELENBQUMsQ0FBQyxDQUFDO0lBQ0osQ0FBQztJQUVELFdBQVc7UUFDVixJQUFJLENBQUMsTUFBTSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3RDLENBQUM7OEdBakJXLHVCQUF1QjtrR0FBdkIsdUJBQXVCLHNLQ1JwQywwRUFHQTs7MkZES2EsdUJBQXVCO2tCQUxuQyxTQUFTOytCQUNDLHNCQUFzQjs7MEJBT25CLElBQUk7OzBCQUFJLFFBQVE7eUNBRkcsVUFBVTtzQkFBekMsU0FBUzt1QkFBQyxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEVsZW1lbnRSZWYsIEhvc3QsIE9uRGVzdHJveSwgT25Jbml0LCBPcHRpb25hbCwgVGVtcGxhdGVSZWYsIFZpZXdDaGlsZH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0Zvcm1FbGVtZW50Q29tcG9uZW50fSBmcm9tIFwiLi4vZm9ybS1lbGVtZW50L2Zvcm0tZWxlbWVudC5jb21wb25lbnRcIjtcblxuQENvbXBvbmVudCh7XG5cdHNlbGVjdG9yOiAna2xwLWZvcm0tY2FwdGlvbi1lbmQnLFxuXHR0ZW1wbGF0ZVVybDogJy4vZm9ybS1jYXB0aW9uLWVuZC5jb21wb25lbnQuaHRtbCcsXG5cdHN0eWxlVXJsczogWycuL2Zvcm0tY2FwdGlvbi1lbmQuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgRm9ybUNhcHRpb25FbmRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cdEBWaWV3Q2hpbGQoJ2NvbnRlbnRSZWYnKSBwdWJsaWMgY29udGVudFJlZjogVGVtcGxhdGVSZWY8YW55PjtcblxuXHRjb25zdHJ1Y3RvcihASG9zdCgpIEBPcHRpb25hbCgpIHByaXZhdGUgcGFyZW50OiBGb3JtRWxlbWVudENvbXBvbmVudCkge31cblxuXHRuZ09uSW5pdCgpOiB2b2lkIHtcblx0XHQvLyB0aGlzIGlzIGJlaW5nIHJ1biBuZXh0IGN5Y2xlLCBiZWNhdXNlIHdlIGRvbnQgd2FudCB0byBmYWlsIGlmIHRoZSBvcmRlciBvZiBjb21wb25lbnRzIGlzIGFzIGZvbGxvd3M6XG5cdFx0Ly8gPGFwcC1mb3JtLWVycm9yIC8+XG5cdFx0Ly8gPHNvbWUtaW5wdXQgLz5cblx0XHQvLyBUaGF0IHdvdWxkIGZhaWwsIGJlY2F1c2UgdGhlIGxvZ2ljIG9mIHRoZSBmb3JtIGVycm9yIGlzIHJ1biBmaXJzdCwgYW5kIGF0IHRoYXQgbW9tZW50LCB0aGUgYHNvbWUtaW5wdXRgIGlzbnQgcmVnaXN0ZXJlZCB5ZXRcblx0XHRzZXRUaW1lb3V0KCgpID0+IHtcblx0XHRcdHRoaXMucGFyZW50LnJlZ2lzdGVyQ2FwdGlvbkVuZCh0aGlzLmNvbnRlbnRSZWYpO1xuXHRcdH0pO1xuXHR9XG5cblx0bmdPbkRlc3Ryb3koKTogdm9pZCB7XG5cdFx0dGhpcy5wYXJlbnQucmVnaXN0ZXJDYXB0aW9uRW5kKG51bGwpO1xuXHR9XG59XG4iLCI8bmctdGVtcGxhdGUgI2NvbnRlbnRSZWY+XG5cdDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
@@ -130,6 +130,9 @@ export class FormElementComponent {
|
|
|
130
130
|
registerCaption(templateRef) {
|
|
131
131
|
this.captionRef = templateRef;
|
|
132
132
|
}
|
|
133
|
+
registerCaptionEnd(templateRef) {
|
|
134
|
+
this.captionEndRef = templateRef;
|
|
135
|
+
}
|
|
133
136
|
getWarningToShow() {
|
|
134
137
|
return this.parent?.getWarningToShow(this.attachedControl);
|
|
135
138
|
}
|
|
@@ -258,11 +261,11 @@ export class FormElementComponent {
|
|
|
258
261
|
}
|
|
259
262
|
}
|
|
260
263
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: FormElementComponent, deps: [{ token: i1.FormComponent, optional: true }, { token: FORM_ERROR_MESSAGES, optional: true }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
261
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: FormElementComponent, selector: "klp-form-element", inputs: { caption: "caption", direction: "direction", captionSpacing: "captionSpacing", verticalAlignment: "verticalAlignment", spaceDistribution: "spaceDistribution", swapInputAndCaption: "swapInputAndCaption", errorMessageAsTooltip: "errorMessageAsTooltip", errorMessageHasMaxWidth: "errorMessageHasMaxWidth" }, queries: [{ propertyName: "fieldInput", first: true, predicate: NG_VALUE_ACCESSOR, descendants: true }], viewQueries: [{ propertyName: "internalComponentRef", first: true, predicate: ["internalComponentRef"], descendants: true }, { propertyName: "tailTpl", first: true, predicate: ["tailTpl"], descendants: true }, { propertyName: "captionDummyForSpaceCalculation", first: true, predicate: ["captionDummyForSpaceCalculation"], descendants: true }, { propertyName: "absoluteAnchor", first: true, predicate: ["absoluteAnchor"], descendants: true }, { propertyName: "fixedAnchor", first: true, predicate: ["fixedAnchor"], descendants: true }, { propertyName: "fixedWrapper", first: true, predicate: ["fixedWrapper"], descendants: true }, { propertyName: "inputContainer", first: true, predicate: ["inputContainer"], descendants: true }], ngImport: i0, template: "<div\n\tclass=\"componentContainer\"\n\t[ngClass]=\"{\n\t\thasCaption: caption || captionRef,\n\t\tvertical: direction === 'vertical',\n\t\thorizontal: direction === 'horizontal',\n\t\ttopAlignment: verticalAlignment === 'top',\n\t\treverseOrder: swapInputAndCaption,\n\t\thasErrors: getErrorToShow() && attachedControl.touched,\n\t\tpercentageSpacing: captionSpacing === 'percentages' && spaceDistribution !== 'fixedInputWidth',\n\t\t'd40-60': spaceDistribution === '40-60',\n\t\t'd30-70': spaceDistribution === '30-70',\n\t\t'd34-66': spaceDistribution === '34-66',\n\t\t'fixedInputWidth': spaceDistribution === 'fixedInputWidth'\n\t}\"\n>\n\t<div class=\"errorAboveInputContainer\" *ngIf=\"direction === 'horizontal' && !errorMessageAsTooltip\">\n\t\t<div class=\"spacer\"></div>\n\t\t<ng-container [ngTemplateOutlet]=\"errorRef\"></ng-container>\n\t</div>\n\n\t<div class=\"captionInputAndError\" #internalComponentRef>\n\t\t<div class=\"captionDummyForSpaceCalculation\" #captionDummyForSpaceCalculation *ngIf=\"hasRightOfCaptionError()\">\n\t\t\t<ng-container [ngTemplateOutlet]=\"captionTpl\" [ngTemplateOutletContext]=\"{forCalculation: true}\"></ng-container>\n\t\t</div>\n\t\t<ng-container [ngTemplateOutlet]=\"captionTpl\"></ng-container>\n\t\t<ng-container *ngIf=\"direction === 'vertical' && getErrorLocation() === 'belowCaption' && !errorMessageAsTooltip\" [ngTemplateOutlet]=\"errorRef\"></ng-container>\n\t\t<div class=\"inputContainer\" #inputContainer>\n\t\t\t<ng-container *ngIf=\"errorMessageAsTooltip && shouldShowErrorMessages() && getErrorToShow()\">\n\t\t\t\t<div class=\"errorTooltipTriangle\"></div>\n\t\t\t\t<div class=\"errorTooltipTriangleWhite\"></div>\n\t\t\t\t<div class=\"errorTooltip\">\n\t\t\t\t\t<ng-container [ngTemplateOutlet]=\"errorRef\"></ng-container>\n\t\t\t\t</div>\n\t\t\t</ng-container>\n\t\t\t<ng-content></ng-content>\n\t\t</div>\n\t</div>\n</div>\n\n<ng-template #captionTpl let-forCalculation=\"forCalculation\">\n\t<div class=\"caption\"\n\t\t*ngIf=\"caption || captionRef\"\n\t\t[ngClass]=\"{\n\t\t\twithErrorRightOfCaption: getErrorLocation() === 'rightOfCaption'\n\t\t}\"\n\t>\n\t\t<div *ngIf=\"captionRef\" class=\"captionRefContainer\">\n\t\t\t<ng-container [ngTemplateOutlet]=\"captionRef\"></ng-container>\n\t\t\t<div *ngIf=\"isRequired()\"> *</div>\n\t\t</div>\n\t\t<div *ngIf=\"!captionRef\" class=\"captionText\">{{caption}}<span *ngIf=\"isRequired()\"> *</span></div>\n\t\t<div class=\"rightOfCaptionError\" *ngIf=\"hasRightOfCaptionError()\" [ngClass]=\"{errorFullyVisible: errorFullyVisible, errorMessageHasMaxWidth: errorMessageHasMaxWidth}\">\n\t\t\t<ng-container [ngTemplateOutlet]=\"errorRef\" [ngTemplateOutletContext]=\"{forCalculation: forCalculation}\"></ng-container>\n\t\t</div>\n\t</div>\n</ng-template>\n\n<ng-template #errorRef let-forCalculation=\"forCalculation\">\n\t<div *ngIf=\"shouldShowErrorMessages() && getErrorToShow()\" class=\"errorContainer\" [elementIsTruncatedCb]=\"forCalculation ? setErrorMessageIsTruncated : null\" [ngClass]=\"{horizontal: direction === 'horizontal', hasCaption: caption || captionRef, 'd30-70': spaceDistribution === '30-70', 'd34-66': spaceDistribution === '34-66'}\">\n\t\t<div *ngIf=\"showDefaultError('min')\">{{substituteParameters(getErrorMessage(\"min\"), {min: attachedControl.errors.min.min})}}</div>\n\t\t<div *ngIf=\"showDefaultError('max')\">{{substituteParameters(getErrorMessage(\"max\"), {max: attachedControl.errors.max.max})}}</div>\n\t\t<div *ngIf=\"showDefaultError('required')\">{{getErrorMessage(\"required\")}}</div>\n\t\t<div *ngIf=\"showDefaultError('email')\">{{getErrorMessage(\"email\")}}</div>\n\t\t<div *ngIf=\"showDefaultError('minlength')\">{{substituteParameters(getErrorMessage(\"minLength\"), {minLength: attachedControl.errors.minlength.requiredLength})}}</div>\n\t\t<div *ngIf=\"showDefaultError('maxlength')\">{{substituteParameters(getErrorMessage(\"maxLength\"), {maxLength: attachedControl.errors.maxlength.requiredLength})}}</div>\n\t\t<div *ngIf=\"showDefaultError('pattern')\">{{getErrorMessage(\"pattern\")}}</div>\n\t\t<div *ngIf=\"showDefaultError('MatchPassword')\">{{getErrorMessage(\"matchPassword\")}}</div>\n\t\t<div *ngIf=\"showDefaultError('date')\">{{getErrorMessage(\"date\")}}</div>\n\t\t<div *ngIf=\"showDefaultError('message')\">{{attachedControl.errors.message.value}}</div>\n\t\t<div *ngIf=\"showDefaultError('formLevel')\">{{getErrorMessage(\"formLevel\")}}</div>\n\t\t<div [ngTemplateOutlet]=\"getCustomErrorHandler(getErrorToShow())?.templateRef\"></div>\n\t</div>\n</ng-template>\n\n<ng-template #tailTpl>\n\t<div class=\"errorTooltipContainer\" [ngClass]=\"{alwaysOpen: shouldShowErrorTooltipOpened()}\">\n\t\t<ng-container *ngIf=\"hasHoverableErrorTooltip() || shouldShowErrorTooltipOpened()\">\n\t\t\t<div class=\"errorTooltipTriangle\"></div>\n\t\t\t<div class=\"errorTooltipTriangleWhite\"></div>\n\n\t\t\t<div class=\"absoluteAnchor\" #absoluteAnchor></div>\n\t\t\t<div class=\"fixedAnchor\" #fixedAnchor [onRenderFn]=\"setErrorTooltipOffset\"></div>\n\t\t\t<div class=\"fixedWrapper\" #fixedWrapper>\n\t\t\t\t<div class=\"errorTooltip\" [ngClass]=\"{noPointerEvents: !shouldShowErrorTooltipOpened()}\">\n\t\t\t\t\t<div class=\"errorTooltipInner\">\n\t\t\t\t\t\t<i class=\"closeBtn\" (click)=\"closePopup();\">\u00D7</i>\n\t\t\t\t\t\t<ng-container *ngIf=\"getErrorToShow()\" [ngTemplateOutlet]=\"errorRef\"></ng-container>\n\t\t\t\t\t\t<div *ngIf=\"!getErrorToShow() && shouldShowWarningPopup()\">\n\t\t\t\t\t\t\t<ng-container *ngIf=\"getWarningToShowIsTemplateRef()\" [ngTemplateOutlet]=\"getWarningToShowAsTemplateRef()\"></ng-container>\n\t\t\t\t\t\t\t<span *ngIf=\"!getWarningToShowIsTemplateRef()\">{{getWarningToShow()}}</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t</ng-container>\n\t\t<klp-form-warning-icon variant=\"fill\" *ngIf=\"getErrorToShow()\" (click)=\"togglePopup()\"></klp-form-warning-icon>\n\t\t<klp-form-warning-icon variant=\"line\" *ngIf=\"!getErrorToShow() && getWarningToShow()\" (click)=\"togglePopup()\"></klp-form-warning-icon>\n\t</div>\n</ng-template>\n", styles: [":host{display:block}.componentContainer:not(.hasCaption) .captionInputAndError{display:block}.componentContainer:not(.hasCaption) .captionInputAndError .inputContainer{margin-top:0;padding-left:0;max-width:initial}.componentContainer:not(.hasCaption) .errorContainer{padding-left:0}.componentContainer.hasCaption .errorAboveInputContainer .spacer{display:block}.componentContainer.reverseOrder .captionInputAndError{flex-direction:row-reverse;justify-content:flex-end}.componentContainer.vertical .captionInputAndError{display:block}.componentContainer.vertical .captionInputAndError .inputContainer{margin-top:.3125rem}.componentContainer.vertical .captionInputAndError .errorContainer{margin-left:0}.componentContainer.topAlignment .captionInputAndError{align-items:flex-start}.componentContainer.horizontal.hasCaption .inputContainer,.componentContainer.horizontal.hasCaption .errorAboveInputContainer .errorContainer{padding-left:1rem}.componentContainer.horizontal.hasCaption.d40-60 .errorAboveInputContainer .spacer{flex:0 1 40%}.componentContainer.horizontal.hasCaption.d40-60 .errorAboveInputContainer .errorContainer{flex:60 1 0px}.componentContainer.horizontal.hasCaption.d40-60 .caption{max-width:40%;flex:40 1 0px}.componentContainer.horizontal.hasCaption.d40-60 .inputContainer{max-width:60%;flex:60 1 0px}.componentContainer.horizontal.hasCaption.d34-66 .errorAboveInputContainer .spacer{flex:0 1 34%}.componentContainer.horizontal.hasCaption.d34-66 .errorAboveInputContainer .errorContainer{flex:66 1 0px}.componentContainer.horizontal.hasCaption.d34-66 .caption{max-width:34%;flex:34 1 0px}.componentContainer.horizontal.hasCaption.d34-66 .inputContainer{max-width:66%;flex:66 1 0px}.componentContainer.horizontal.hasCaption.d30-70 .errorAboveInputContainer .spacer{flex:0 1 30%}.componentContainer.horizontal.hasCaption.d30-70 .errorAboveInputContainer .errorContainer{flex:70 1 0px}.componentContainer.horizontal.hasCaption.d30-70 .caption{max-width:30%;flex:30 1 0px}.componentContainer.horizontal.hasCaption.d30-70 .inputContainer{max-width:70%;flex:70 1 0px}.componentContainer.fixedInputWidth .caption{flex:1 1 0px;overflow:hidden}.componentContainer.fixedInputWidth .inputContainer{flex:0 0 auto}.captionInputAndError{display:flex;align-items:center;min-height:42px}.errorAboveInputContainer{display:flex}.errorAboveInputContainer .spacer{display:none}.captionDummyForSpaceCalculation .caption.withErrorRightOfCaption{height:0px;overflow:hidden}.captionDummyForSpaceCalculation .caption.withErrorRightOfCaption .rightOfCaptionError{display:block}.captionRefContainer{display:flex}.caption{font-weight:700;flex:0 0 auto;color:#515365}.caption.percentageSpacing{max-width:40%;flex:40 1 0px}.caption.percentageSpacing.d30-70{max-width:30%;flex:30 1 0px}.caption.percentageSpacing.d34-66{max-width:34%;flex:34 1 0px}.caption.withErrorRightOfCaption{display:flex;justify-content:space-between;gap:1rem}.caption.withErrorRightOfCaption .captionText{flex:1 2 auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.caption.withErrorRightOfCaption .rightOfCaptionError{display:none;font-weight:400;overflow:hidden;flex:1 0 auto;text-align:right}.caption.withErrorRightOfCaption .rightOfCaptionError.errorFullyVisible{display:block}.caption.withErrorRightOfCaption .rightOfCaptionError.errorMessageHasMaxWidth{max-width:40%}.caption.withErrorRightOfCaption .rightOfCaptionError ::ng-deep *{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.inputContainer{position:relative;flex:1}.inputContainer .errorTooltipContainer{position:relative}.inputContainer .errorTooltipContainer.alwaysOpen .errorTooltipTriangle,.inputContainer .errorTooltipContainer.alwaysOpen .errorTooltipTriangleWhite,.inputContainer .errorTooltipContainer.alwaysOpen .errorTooltip{display:flex}.inputContainer .errorTooltipContainer.alwaysOpen .closeBtn{display:block}.inputContainer .errorTooltipContainer.alwaysOpen .errorTooltipInner{padding-right:1.4rem}.inputContainer .errorTooltipContainer klp-form-warning-icon{cursor:pointer}.inputContainer .errorTooltipContainer .absoluteAnchor{position:absolute}.inputContainer .errorTooltipContainer .fixedAnchor,.inputContainer .errorTooltipContainer .fixedWrapper{position:fixed}.inputContainer .errorTooltipTriangle{display:none;z-index:1;position:absolute;right:0;transform:translate(-.15rem,calc(-100% - .1rem)) scaleX(.8);width:0px;height:0px;border-left:8px solid transparent;border-right:8px solid transparent;border-top:8px solid rgba(0,0,0,.13)}.inputContainer .errorTooltipTriangleWhite{display:none;z-index:3;position:absolute;right:0;transform:translate(-.15rem,calc(-100% - .1rem - 2px)) scaleX(.8);width:0px;height:0px;border-left:8px solid transparent;border-right:8px solid transparent;border-top:8px solid white}.inputContainer .errorTooltip{display:none;justify-content:flex-end;position:absolute;top:-.6rem;right:-1.875rem;transform:translateY(-100%);width:20rem}.inputContainer .errorTooltip.noPointerEvents{pointer-events:none}.inputContainer .errorTooltip .closeBtn{display:none;position:absolute;top:.2rem;right:.2rem;padding:.2rem .4rem;cursor:pointer;color:#666;font-size:1rem}.inputContainer .errorTooltip .closeBtn:hover{color:#515365}.inputContainer .errorTooltipInner{background:#fff;padding:.4rem .6rem;border-radius:.4rem;border:1px solid rgba(0,0,0,.13);box-shadow:#00000021 2px 3px 10px}.inputContainer:hover .errorTooltipContainer .errorTooltip,.inputContainer:hover .errorTooltipContainer .errorTooltipTriangle,.inputContainer:hover .errorTooltipContainer .errorTooltipTriangleWhite{display:flex}.errorContainer{color:#ff8000}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.OnRenderDirective, selector: "[onRenderFn]", inputs: ["onRenderFn"] }, { kind: "component", type: i4.WarningIconComponent, selector: "klp-form-warning-icon", inputs: ["variant"] }, { kind: "directive", type: i5.ElementIsTruncatedCbComponent, selector: "[elementIsTruncatedCb]", inputs: ["elementIsTruncatedCb"] }] }); }
|
|
264
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: FormElementComponent, selector: "klp-form-element", inputs: { caption: "caption", direction: "direction", captionSpacing: "captionSpacing", verticalAlignment: "verticalAlignment", spaceDistribution: "spaceDistribution", swapInputAndCaption: "swapInputAndCaption", errorMessageAsTooltip: "errorMessageAsTooltip", errorMessageHasMaxWidth: "errorMessageHasMaxWidth" }, queries: [{ propertyName: "fieldInput", first: true, predicate: NG_VALUE_ACCESSOR, descendants: true }], viewQueries: [{ propertyName: "internalComponentRef", first: true, predicate: ["internalComponentRef"], descendants: true }, { propertyName: "tailTpl", first: true, predicate: ["tailTpl"], descendants: true }, { propertyName: "captionDummyForSpaceCalculation", first: true, predicate: ["captionDummyForSpaceCalculation"], descendants: true }, { propertyName: "absoluteAnchor", first: true, predicate: ["absoluteAnchor"], descendants: true }, { propertyName: "fixedAnchor", first: true, predicate: ["fixedAnchor"], descendants: true }, { propertyName: "fixedWrapper", first: true, predicate: ["fixedWrapper"], descendants: true }, { propertyName: "inputContainer", first: true, predicate: ["inputContainer"], descendants: true }], ngImport: i0, template: "<div\n\tclass=\"componentContainer\"\n\t[ngClass]=\"{\n\t\thasCaption: caption || captionRef,\n\t\tvertical: direction === 'vertical',\n\t\thorizontal: direction === 'horizontal',\n\t\ttopAlignment: verticalAlignment === 'top',\n\t\treverseOrder: swapInputAndCaption,\n\t\thasErrors: getErrorToShow() && attachedControl.touched,\n\t\tpercentageSpacing: captionSpacing === 'percentages' && spaceDistribution !== 'fixedInputWidth',\n\t\t'd40-60': spaceDistribution === '40-60',\n\t\t'd30-70': spaceDistribution === '30-70',\n\t\t'd34-66': spaceDistribution === '34-66',\n\t\t'fixedInputWidth': spaceDistribution === 'fixedInputWidth',\n\t\t'fixedCaptionWidth': spaceDistribution === 'fixedCaptionWidth'\n\t}\"\n>\n\t<div class=\"errorAboveInputContainer\" *ngIf=\"direction === 'horizontal' && !errorMessageAsTooltip\">\n\t\t<div class=\"spacer\"></div>\n\t\t<ng-container [ngTemplateOutlet]=\"errorRef\"></ng-container>\n\t</div>\n\n\t<div class=\"captionInputAndError\" #internalComponentRef>\n\t\t<div class=\"captionDummyForSpaceCalculation\" #captionDummyForSpaceCalculation *ngIf=\"hasRightOfCaptionError()\">\n\t\t\t<ng-container [ngTemplateOutlet]=\"captionTpl\" [ngTemplateOutletContext]=\"{forCalculation: true}\"></ng-container>\n\t\t</div>\n\t\t<ng-container [ngTemplateOutlet]=\"captionTpl\"></ng-container>\n\t\t<ng-container *ngIf=\"direction === 'vertical' && getErrorLocation() === 'belowCaption' && !errorMessageAsTooltip\" [ngTemplateOutlet]=\"errorRef\"></ng-container>\n\t\t<div class=\"inputContainer\" #inputContainer>\n\t\t\t<ng-container *ngIf=\"errorMessageAsTooltip && shouldShowErrorMessages() && getErrorToShow()\">\n\t\t\t\t<div class=\"errorTooltipTriangle\"></div>\n\t\t\t\t<div class=\"errorTooltipTriangleWhite\"></div>\n\t\t\t\t<div class=\"errorTooltip\">\n\t\t\t\t\t<ng-container [ngTemplateOutlet]=\"errorRef\"></ng-container>\n\t\t\t\t</div>\n\t\t\t</ng-container>\n\t\t\t<ng-content></ng-content>\n\t\t</div>\n\t</div>\n</div>\n\n<ng-template #captionTpl let-forCalculation=\"forCalculation\">\n\t<div class=\"caption\"\n\t\t*ngIf=\"caption || captionRef\"\n\t\t[ngClass]=\"{\n\t\t\twithErrorRightOfCaption: getErrorLocation() === 'rightOfCaption'\n\t\t}\"\n\t>\n\t\t<div *ngIf=\"captionRef\" class=\"captionRefContainer\">\n\t\t\t<ng-container [ngTemplateOutlet]=\"captionRef\"></ng-container>\n\t\t\t<div *ngIf=\"isRequired()\"> *</div>\n\t\t</div>\n\t\t<div *ngIf=\"!captionRef\" class=\"captionText\">{{caption}}<span *ngIf=\"isRequired()\"> *</span></div>\n\t\t<div class=\"rightOfCaptionError\" *ngIf=\"hasRightOfCaptionError()\" [ngClass]=\"{errorFullyVisible: errorFullyVisible, errorMessageHasMaxWidth: errorMessageHasMaxWidth}\">\n\t\t\t<ng-container [ngTemplateOutlet]=\"errorRef\" [ngTemplateOutletContext]=\"{forCalculation: forCalculation}\"></ng-container>\n\t\t</div>\n\t\t<div *ngIf=\"captionEndRef\" class=\"captionEndRefContainer\">\n\t\t\t<ng-container [ngTemplateOutlet]=\"captionEndRef\"></ng-container>\n\t\t</div>\n\t</div>\n</ng-template>\n\n<ng-template #errorRef let-forCalculation=\"forCalculation\">\n\t<div *ngIf=\"shouldShowErrorMessages() && getErrorToShow()\" class=\"errorContainer\" [elementIsTruncatedCb]=\"forCalculation ? setErrorMessageIsTruncated : null\" [ngClass]=\"{horizontal: direction === 'horizontal', hasCaption: caption || captionRef, 'd30-70': spaceDistribution === '30-70', 'd34-66': spaceDistribution === '34-66'}\">\n\t\t<div *ngIf=\"showDefaultError('min')\">{{substituteParameters(getErrorMessage(\"min\"), {min: attachedControl.errors.min.min})}}</div>\n\t\t<div *ngIf=\"showDefaultError('max')\">{{substituteParameters(getErrorMessage(\"max\"), {max: attachedControl.errors.max.max})}}</div>\n\t\t<div *ngIf=\"showDefaultError('required')\">{{getErrorMessage(\"required\")}}</div>\n\t\t<div *ngIf=\"showDefaultError('email')\">{{getErrorMessage(\"email\")}}</div>\n\t\t<div *ngIf=\"showDefaultError('minlength')\">{{substituteParameters(getErrorMessage(\"minLength\"), {minLength: attachedControl.errors.minlength.requiredLength})}}</div>\n\t\t<div *ngIf=\"showDefaultError('maxlength')\">{{substituteParameters(getErrorMessage(\"maxLength\"), {maxLength: attachedControl.errors.maxlength.requiredLength})}}</div>\n\t\t<div *ngIf=\"showDefaultError('pattern')\">{{getErrorMessage(\"pattern\")}}</div>\n\t\t<div *ngIf=\"showDefaultError('MatchPassword')\">{{getErrorMessage(\"matchPassword\")}}</div>\n\t\t<div *ngIf=\"showDefaultError('date')\">{{getErrorMessage(\"date\")}}</div>\n\t\t<div *ngIf=\"showDefaultError('message')\">{{attachedControl.errors.message.value}}</div>\n\t\t<div *ngIf=\"showDefaultError('formLevel')\">{{getErrorMessage(\"formLevel\")}}</div>\n\t\t<div [ngTemplateOutlet]=\"getCustomErrorHandler(getErrorToShow())?.templateRef\"></div>\n\t</div>\n</ng-template>\n\n<ng-template #tailTpl>\n\t<div class=\"errorTooltipContainer\" [ngClass]=\"{alwaysOpen: shouldShowErrorTooltipOpened()}\">\n\t\t<ng-container *ngIf=\"hasHoverableErrorTooltip() || shouldShowErrorTooltipOpened()\">\n\t\t\t<div class=\"errorTooltipTriangle\"></div>\n\t\t\t<div class=\"errorTooltipTriangleWhite\"></div>\n\n\t\t\t<div class=\"absoluteAnchor\" #absoluteAnchor></div>\n\t\t\t<div class=\"fixedAnchor\" #fixedAnchor [onRenderFn]=\"setErrorTooltipOffset\"></div>\n\t\t\t<div class=\"fixedWrapper\" #fixedWrapper>\n\t\t\t\t<div class=\"errorTooltip\" [ngClass]=\"{noPointerEvents: !shouldShowErrorTooltipOpened()}\">\n\t\t\t\t\t<div class=\"errorTooltipInner\">\n\t\t\t\t\t\t<i class=\"closeBtn\" (click)=\"closePopup();\">\u00D7</i>\n\t\t\t\t\t\t<ng-container *ngIf=\"getErrorToShow()\" [ngTemplateOutlet]=\"errorRef\"></ng-container>\n\t\t\t\t\t\t<div *ngIf=\"!getErrorToShow() && shouldShowWarningPopup()\">\n\t\t\t\t\t\t\t<ng-container *ngIf=\"getWarningToShowIsTemplateRef()\" [ngTemplateOutlet]=\"getWarningToShowAsTemplateRef()\"></ng-container>\n\t\t\t\t\t\t\t<span *ngIf=\"!getWarningToShowIsTemplateRef()\">{{getWarningToShow()}}</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t</ng-container>\n\t\t<klp-form-warning-icon variant=\"fill\" *ngIf=\"getErrorToShow()\" (click)=\"togglePopup()\"></klp-form-warning-icon>\n\t\t<klp-form-warning-icon variant=\"line\" *ngIf=\"!getErrorToShow() && getWarningToShow()\" (click)=\"togglePopup()\"></klp-form-warning-icon>\n\t</div>\n</ng-template>\n", styles: [":host{display:block}.componentContainer:not(.hasCaption) .captionInputAndError{display:block}.componentContainer:not(.hasCaption) .captionInputAndError .inputContainer{margin-top:0;padding-left:0;max-width:initial}.componentContainer:not(.hasCaption) .errorContainer{padding-left:0}.componentContainer.hasCaption .errorAboveInputContainer .spacer{display:block}.componentContainer.reverseOrder .captionInputAndError{flex-direction:row-reverse;justify-content:flex-end}.componentContainer.vertical .captionInputAndError{display:block}.componentContainer.vertical .captionInputAndError .inputContainer{margin-top:.3125rem}.componentContainer.vertical .captionInputAndError .errorContainer{margin-left:0}.componentContainer.topAlignment .captionInputAndError{align-items:flex-start}.componentContainer.horizontal.hasCaption .inputContainer,.componentContainer.horizontal.hasCaption .errorAboveInputContainer .errorContainer{padding-left:1rem}.componentContainer.horizontal.hasCaption.d40-60 .errorAboveInputContainer .spacer{flex:0 1 40%}.componentContainer.horizontal.hasCaption.d40-60 .errorAboveInputContainer .errorContainer{flex:60 1 0px}.componentContainer.horizontal.hasCaption.d40-60 .caption{max-width:40%;flex:40 1 0px}.componentContainer.horizontal.hasCaption.d40-60 .inputContainer{max-width:60%;flex:60 1 0px}.componentContainer.horizontal.hasCaption.d34-66 .errorAboveInputContainer .spacer{flex:0 1 34%}.componentContainer.horizontal.hasCaption.d34-66 .errorAboveInputContainer .errorContainer{flex:66 1 0px}.componentContainer.horizontal.hasCaption.d34-66 .caption{max-width:34%;flex:34 1 0px}.componentContainer.horizontal.hasCaption.d34-66 .inputContainer{max-width:66%;flex:66 1 0px}.componentContainer.horizontal.hasCaption.d30-70 .errorAboveInputContainer .spacer{flex:0 1 30%}.componentContainer.horizontal.hasCaption.d30-70 .errorAboveInputContainer .errorContainer{flex:70 1 0px}.componentContainer.horizontal.hasCaption.d30-70 .caption{max-width:30%;flex:30 1 0px}.componentContainer.horizontal.hasCaption.d30-70 .inputContainer{max-width:70%;flex:70 1 0px}.componentContainer.fixedInputWidth .caption{flex:1 1 0px;overflow:hidden}.componentContainer.fixedInputWidth .inputContainer,.componentContainer.fixedCaptionWidth .caption{flex:0 0 auto}.componentContainer.fixedCaptionWidth .inputContainer{flex:1 1 0px;overflow:hidden}.captionInputAndError{display:flex;align-items:center;min-height:42px}.errorAboveInputContainer{display:flex}.errorAboveInputContainer .spacer{display:none}.captionDummyForSpaceCalculation .caption.withErrorRightOfCaption{height:0px;overflow:hidden}.captionDummyForSpaceCalculation .caption.withErrorRightOfCaption .rightOfCaptionError{display:block}.captionRefContainer,.captionEndRefContainer{display:flex}.caption{font-weight:700;flex:0 0 auto;color:#515365}.caption.percentageSpacing{max-width:40%;flex:40 1 0px}.caption.percentageSpacing.d30-70{max-width:30%;flex:30 1 0px}.caption.percentageSpacing.d34-66{max-width:34%;flex:34 1 0px}.caption.withErrorRightOfCaption{display:flex;justify-content:space-between;gap:1rem}.caption.withErrorRightOfCaption .captionText{flex:1 2 auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.caption.withErrorRightOfCaption .rightOfCaptionError{display:none;font-weight:400;overflow:hidden;flex:1 0 auto;text-align:right}.caption.withErrorRightOfCaption .rightOfCaptionError.errorFullyVisible{display:block}.caption.withErrorRightOfCaption .rightOfCaptionError.errorMessageHasMaxWidth{max-width:40%}.caption.withErrorRightOfCaption .rightOfCaptionError ::ng-deep *{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.inputContainer{position:relative;flex:1}.inputContainer .errorTooltipContainer{position:relative}.inputContainer .errorTooltipContainer.alwaysOpen .errorTooltipTriangle,.inputContainer .errorTooltipContainer.alwaysOpen .errorTooltipTriangleWhite,.inputContainer .errorTooltipContainer.alwaysOpen .errorTooltip{display:flex}.inputContainer .errorTooltipContainer.alwaysOpen .closeBtn{display:block}.inputContainer .errorTooltipContainer.alwaysOpen .errorTooltipInner{padding-right:1.4rem}.inputContainer .errorTooltipContainer klp-form-warning-icon{cursor:pointer}.inputContainer .errorTooltipContainer .absoluteAnchor{position:absolute}.inputContainer .errorTooltipContainer .fixedAnchor,.inputContainer .errorTooltipContainer .fixedWrapper{position:fixed}.inputContainer .errorTooltipTriangle{display:none;z-index:1;position:absolute;right:0;transform:translate(-.15rem,calc(-100% - .1rem)) scaleX(.8);width:0px;height:0px;border-left:8px solid transparent;border-right:8px solid transparent;border-top:8px solid rgba(0,0,0,.13)}.inputContainer .errorTooltipTriangleWhite{display:none;z-index:3;position:absolute;right:0;transform:translate(-.15rem,calc(-100% - .1rem - 2px)) scaleX(.8);width:0px;height:0px;border-left:8px solid transparent;border-right:8px solid transparent;border-top:8px solid white}.inputContainer .errorTooltip{display:none;justify-content:flex-end;position:absolute;top:-.6rem;right:-1.875rem;transform:translateY(-100%);width:20rem}.inputContainer .errorTooltip.noPointerEvents{pointer-events:none}.inputContainer .errorTooltip .closeBtn{display:none;position:absolute;top:.2rem;right:.2rem;padding:.2rem .4rem;cursor:pointer;color:#666;font-size:1rem}.inputContainer .errorTooltip .closeBtn:hover{color:#515365}.inputContainer .errorTooltipInner{background:#fff;padding:.4rem .6rem;border-radius:.4rem;border:1px solid rgba(0,0,0,.13);box-shadow:#00000021 2px 3px 10px}.inputContainer:hover .errorTooltipContainer .errorTooltip,.inputContainer:hover .errorTooltipContainer .errorTooltipTriangle,.inputContainer:hover .errorTooltipContainer .errorTooltipTriangleWhite{display:flex}.errorContainer{color:#ff8000}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.OnRenderDirective, selector: "[onRenderFn]", inputs: ["onRenderFn"] }, { kind: "component", type: i4.WarningIconComponent, selector: "klp-form-warning-icon", inputs: ["variant"] }, { kind: "directive", type: i5.ElementIsTruncatedCbComponent, selector: "[elementIsTruncatedCb]", inputs: ["elementIsTruncatedCb"] }] }); }
|
|
262
265
|
}
|
|
263
266
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: FormElementComponent, decorators: [{
|
|
264
267
|
type: Component,
|
|
265
|
-
args: [{ selector: 'klp-form-element', template: "<div\n\tclass=\"componentContainer\"\n\t[ngClass]=\"{\n\t\thasCaption: caption || captionRef,\n\t\tvertical: direction === 'vertical',\n\t\thorizontal: direction === 'horizontal',\n\t\ttopAlignment: verticalAlignment === 'top',\n\t\treverseOrder: swapInputAndCaption,\n\t\thasErrors: getErrorToShow() && attachedControl.touched,\n\t\tpercentageSpacing: captionSpacing === 'percentages' && spaceDistribution !== 'fixedInputWidth',\n\t\t'd40-60': spaceDistribution === '40-60',\n\t\t'd30-70': spaceDistribution === '30-70',\n\t\t'd34-66': spaceDistribution === '34-66',\n\t\t'fixedInputWidth': spaceDistribution === 'fixedInputWidth'\n\t}\"\n>\n\t<div class=\"errorAboveInputContainer\" *ngIf=\"direction === 'horizontal' && !errorMessageAsTooltip\">\n\t\t<div class=\"spacer\"></div>\n\t\t<ng-container [ngTemplateOutlet]=\"errorRef\"></ng-container>\n\t</div>\n\n\t<div class=\"captionInputAndError\" #internalComponentRef>\n\t\t<div class=\"captionDummyForSpaceCalculation\" #captionDummyForSpaceCalculation *ngIf=\"hasRightOfCaptionError()\">\n\t\t\t<ng-container [ngTemplateOutlet]=\"captionTpl\" [ngTemplateOutletContext]=\"{forCalculation: true}\"></ng-container>\n\t\t</div>\n\t\t<ng-container [ngTemplateOutlet]=\"captionTpl\"></ng-container>\n\t\t<ng-container *ngIf=\"direction === 'vertical' && getErrorLocation() === 'belowCaption' && !errorMessageAsTooltip\" [ngTemplateOutlet]=\"errorRef\"></ng-container>\n\t\t<div class=\"inputContainer\" #inputContainer>\n\t\t\t<ng-container *ngIf=\"errorMessageAsTooltip && shouldShowErrorMessages() && getErrorToShow()\">\n\t\t\t\t<div class=\"errorTooltipTriangle\"></div>\n\t\t\t\t<div class=\"errorTooltipTriangleWhite\"></div>\n\t\t\t\t<div class=\"errorTooltip\">\n\t\t\t\t\t<ng-container [ngTemplateOutlet]=\"errorRef\"></ng-container>\n\t\t\t\t</div>\n\t\t\t</ng-container>\n\t\t\t<ng-content></ng-content>\n\t\t</div>\n\t</div>\n</div>\n\n<ng-template #captionTpl let-forCalculation=\"forCalculation\">\n\t<div class=\"caption\"\n\t\t*ngIf=\"caption || captionRef\"\n\t\t[ngClass]=\"{\n\t\t\twithErrorRightOfCaption: getErrorLocation() === 'rightOfCaption'\n\t\t}\"\n\t>\n\t\t<div *ngIf=\"captionRef\" class=\"captionRefContainer\">\n\t\t\t<ng-container [ngTemplateOutlet]=\"captionRef\"></ng-container>\n\t\t\t<div *ngIf=\"isRequired()\"> *</div>\n\t\t</div>\n\t\t<div *ngIf=\"!captionRef\" class=\"captionText\">{{caption}}<span *ngIf=\"isRequired()\"> *</span></div>\n\t\t<div class=\"rightOfCaptionError\" *ngIf=\"hasRightOfCaptionError()\" [ngClass]=\"{errorFullyVisible: errorFullyVisible, errorMessageHasMaxWidth: errorMessageHasMaxWidth}\">\n\t\t\t<ng-container [ngTemplateOutlet]=\"errorRef\" [ngTemplateOutletContext]=\"{forCalculation: forCalculation}\"></ng-container>\n\t\t</div>\n\t</div>\n</ng-template>\n\n<ng-template #errorRef let-forCalculation=\"forCalculation\">\n\t<div *ngIf=\"shouldShowErrorMessages() && getErrorToShow()\" class=\"errorContainer\" [elementIsTruncatedCb]=\"forCalculation ? setErrorMessageIsTruncated : null\" [ngClass]=\"{horizontal: direction === 'horizontal', hasCaption: caption || captionRef, 'd30-70': spaceDistribution === '30-70', 'd34-66': spaceDistribution === '34-66'}\">\n\t\t<div *ngIf=\"showDefaultError('min')\">{{substituteParameters(getErrorMessage(\"min\"), {min: attachedControl.errors.min.min})}}</div>\n\t\t<div *ngIf=\"showDefaultError('max')\">{{substituteParameters(getErrorMessage(\"max\"), {max: attachedControl.errors.max.max})}}</div>\n\t\t<div *ngIf=\"showDefaultError('required')\">{{getErrorMessage(\"required\")}}</div>\n\t\t<div *ngIf=\"showDefaultError('email')\">{{getErrorMessage(\"email\")}}</div>\n\t\t<div *ngIf=\"showDefaultError('minlength')\">{{substituteParameters(getErrorMessage(\"minLength\"), {minLength: attachedControl.errors.minlength.requiredLength})}}</div>\n\t\t<div *ngIf=\"showDefaultError('maxlength')\">{{substituteParameters(getErrorMessage(\"maxLength\"), {maxLength: attachedControl.errors.maxlength.requiredLength})}}</div>\n\t\t<div *ngIf=\"showDefaultError('pattern')\">{{getErrorMessage(\"pattern\")}}</div>\n\t\t<div *ngIf=\"showDefaultError('MatchPassword')\">{{getErrorMessage(\"matchPassword\")}}</div>\n\t\t<div *ngIf=\"showDefaultError('date')\">{{getErrorMessage(\"date\")}}</div>\n\t\t<div *ngIf=\"showDefaultError('message')\">{{attachedControl.errors.message.value}}</div>\n\t\t<div *ngIf=\"showDefaultError('formLevel')\">{{getErrorMessage(\"formLevel\")}}</div>\n\t\t<div [ngTemplateOutlet]=\"getCustomErrorHandler(getErrorToShow())?.templateRef\"></div>\n\t</div>\n</ng-template>\n\n<ng-template #tailTpl>\n\t<div class=\"errorTooltipContainer\" [ngClass]=\"{alwaysOpen: shouldShowErrorTooltipOpened()}\">\n\t\t<ng-container *ngIf=\"hasHoverableErrorTooltip() || shouldShowErrorTooltipOpened()\">\n\t\t\t<div class=\"errorTooltipTriangle\"></div>\n\t\t\t<div class=\"errorTooltipTriangleWhite\"></div>\n\n\t\t\t<div class=\"absoluteAnchor\" #absoluteAnchor></div>\n\t\t\t<div class=\"fixedAnchor\" #fixedAnchor [onRenderFn]=\"setErrorTooltipOffset\"></div>\n\t\t\t<div class=\"fixedWrapper\" #fixedWrapper>\n\t\t\t\t<div class=\"errorTooltip\" [ngClass]=\"{noPointerEvents: !shouldShowErrorTooltipOpened()}\">\n\t\t\t\t\t<div class=\"errorTooltipInner\">\n\t\t\t\t\t\t<i class=\"closeBtn\" (click)=\"closePopup();\">\u00D7</i>\n\t\t\t\t\t\t<ng-container *ngIf=\"getErrorToShow()\" [ngTemplateOutlet]=\"errorRef\"></ng-container>\n\t\t\t\t\t\t<div *ngIf=\"!getErrorToShow() && shouldShowWarningPopup()\">\n\t\t\t\t\t\t\t<ng-container *ngIf=\"getWarningToShowIsTemplateRef()\" [ngTemplateOutlet]=\"getWarningToShowAsTemplateRef()\"></ng-container>\n\t\t\t\t\t\t\t<span *ngIf=\"!getWarningToShowIsTemplateRef()\">{{getWarningToShow()}}</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t</ng-container>\n\t\t<klp-form-warning-icon variant=\"fill\" *ngIf=\"getErrorToShow()\" (click)=\"togglePopup()\"></klp-form-warning-icon>\n\t\t<klp-form-warning-icon variant=\"line\" *ngIf=\"!getErrorToShow() && getWarningToShow()\" (click)=\"togglePopup()\"></klp-form-warning-icon>\n\t</div>\n</ng-template>\n", styles: [":host{display:block}.componentContainer:not(.hasCaption) .captionInputAndError{display:block}.componentContainer:not(.hasCaption) .captionInputAndError .inputContainer{margin-top:0;padding-left:0;max-width:initial}.componentContainer:not(.hasCaption) .errorContainer{padding-left:0}.componentContainer.hasCaption .errorAboveInputContainer .spacer{display:block}.componentContainer.reverseOrder .captionInputAndError{flex-direction:row-reverse;justify-content:flex-end}.componentContainer.vertical .captionInputAndError{display:block}.componentContainer.vertical .captionInputAndError .inputContainer{margin-top:.3125rem}.componentContainer.vertical .captionInputAndError .errorContainer{margin-left:0}.componentContainer.topAlignment .captionInputAndError{align-items:flex-start}.componentContainer.horizontal.hasCaption .inputContainer,.componentContainer.horizontal.hasCaption .errorAboveInputContainer .errorContainer{padding-left:1rem}.componentContainer.horizontal.hasCaption.d40-60 .errorAboveInputContainer .spacer{flex:0 1 40%}.componentContainer.horizontal.hasCaption.d40-60 .errorAboveInputContainer .errorContainer{flex:60 1 0px}.componentContainer.horizontal.hasCaption.d40-60 .caption{max-width:40%;flex:40 1 0px}.componentContainer.horizontal.hasCaption.d40-60 .inputContainer{max-width:60%;flex:60 1 0px}.componentContainer.horizontal.hasCaption.d34-66 .errorAboveInputContainer .spacer{flex:0 1 34%}.componentContainer.horizontal.hasCaption.d34-66 .errorAboveInputContainer .errorContainer{flex:66 1 0px}.componentContainer.horizontal.hasCaption.d34-66 .caption{max-width:34%;flex:34 1 0px}.componentContainer.horizontal.hasCaption.d34-66 .inputContainer{max-width:66%;flex:66 1 0px}.componentContainer.horizontal.hasCaption.d30-70 .errorAboveInputContainer .spacer{flex:0 1 30%}.componentContainer.horizontal.hasCaption.d30-70 .errorAboveInputContainer .errorContainer{flex:70 1 0px}.componentContainer.horizontal.hasCaption.d30-70 .caption{max-width:30%;flex:30 1 0px}.componentContainer.horizontal.hasCaption.d30-70 .inputContainer{max-width:70%;flex:70 1 0px}.componentContainer.fixedInputWidth .caption{flex:1 1 0px;overflow:hidden}.componentContainer.fixedInputWidth .inputContainer{flex:0 0 auto}.captionInputAndError{display:flex;align-items:center;min-height:42px}.errorAboveInputContainer{display:flex}.errorAboveInputContainer .spacer{display:none}.captionDummyForSpaceCalculation .caption.withErrorRightOfCaption{height:0px;overflow:hidden}.captionDummyForSpaceCalculation .caption.withErrorRightOfCaption .rightOfCaptionError{display:block}.captionRefContainer{display:flex}.caption{font-weight:700;flex:0 0 auto;color:#515365}.caption.percentageSpacing{max-width:40%;flex:40 1 0px}.caption.percentageSpacing.d30-70{max-width:30%;flex:30 1 0px}.caption.percentageSpacing.d34-66{max-width:34%;flex:34 1 0px}.caption.withErrorRightOfCaption{display:flex;justify-content:space-between;gap:1rem}.caption.withErrorRightOfCaption .captionText{flex:1 2 auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.caption.withErrorRightOfCaption .rightOfCaptionError{display:none;font-weight:400;overflow:hidden;flex:1 0 auto;text-align:right}.caption.withErrorRightOfCaption .rightOfCaptionError.errorFullyVisible{display:block}.caption.withErrorRightOfCaption .rightOfCaptionError.errorMessageHasMaxWidth{max-width:40%}.caption.withErrorRightOfCaption .rightOfCaptionError ::ng-deep *{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.inputContainer{position:relative;flex:1}.inputContainer .errorTooltipContainer{position:relative}.inputContainer .errorTooltipContainer.alwaysOpen .errorTooltipTriangle,.inputContainer .errorTooltipContainer.alwaysOpen .errorTooltipTriangleWhite,.inputContainer .errorTooltipContainer.alwaysOpen .errorTooltip{display:flex}.inputContainer .errorTooltipContainer.alwaysOpen .closeBtn{display:block}.inputContainer .errorTooltipContainer.alwaysOpen .errorTooltipInner{padding-right:1.4rem}.inputContainer .errorTooltipContainer klp-form-warning-icon{cursor:pointer}.inputContainer .errorTooltipContainer .absoluteAnchor{position:absolute}.inputContainer .errorTooltipContainer .fixedAnchor,.inputContainer .errorTooltipContainer .fixedWrapper{position:fixed}.inputContainer .errorTooltipTriangle{display:none;z-index:1;position:absolute;right:0;transform:translate(-.15rem,calc(-100% - .1rem)) scaleX(.8);width:0px;height:0px;border-left:8px solid transparent;border-right:8px solid transparent;border-top:8px solid rgba(0,0,0,.13)}.inputContainer .errorTooltipTriangleWhite{display:none;z-index:3;position:absolute;right:0;transform:translate(-.15rem,calc(-100% - .1rem - 2px)) scaleX(.8);width:0px;height:0px;border-left:8px solid transparent;border-right:8px solid transparent;border-top:8px solid white}.inputContainer .errorTooltip{display:none;justify-content:flex-end;position:absolute;top:-.6rem;right:-1.875rem;transform:translateY(-100%);width:20rem}.inputContainer .errorTooltip.noPointerEvents{pointer-events:none}.inputContainer .errorTooltip .closeBtn{display:none;position:absolute;top:.2rem;right:.2rem;padding:.2rem .4rem;cursor:pointer;color:#666;font-size:1rem}.inputContainer .errorTooltip .closeBtn:hover{color:#515365}.inputContainer .errorTooltipInner{background:#fff;padding:.4rem .6rem;border-radius:.4rem;border:1px solid rgba(0,0,0,.13);box-shadow:#00000021 2px 3px 10px}.inputContainer:hover .errorTooltipContainer .errorTooltip,.inputContainer:hover .errorTooltipContainer .errorTooltipTriangle,.inputContainer:hover .errorTooltipContainer .errorTooltipTriangleWhite{display:flex}.errorContainer{color:#ff8000}\n"] }]
|
|
268
|
+
args: [{ selector: 'klp-form-element', template: "<div\n\tclass=\"componentContainer\"\n\t[ngClass]=\"{\n\t\thasCaption: caption || captionRef,\n\t\tvertical: direction === 'vertical',\n\t\thorizontal: direction === 'horizontal',\n\t\ttopAlignment: verticalAlignment === 'top',\n\t\treverseOrder: swapInputAndCaption,\n\t\thasErrors: getErrorToShow() && attachedControl.touched,\n\t\tpercentageSpacing: captionSpacing === 'percentages' && spaceDistribution !== 'fixedInputWidth',\n\t\t'd40-60': spaceDistribution === '40-60',\n\t\t'd30-70': spaceDistribution === '30-70',\n\t\t'd34-66': spaceDistribution === '34-66',\n\t\t'fixedInputWidth': spaceDistribution === 'fixedInputWidth',\n\t\t'fixedCaptionWidth': spaceDistribution === 'fixedCaptionWidth'\n\t}\"\n>\n\t<div class=\"errorAboveInputContainer\" *ngIf=\"direction === 'horizontal' && !errorMessageAsTooltip\">\n\t\t<div class=\"spacer\"></div>\n\t\t<ng-container [ngTemplateOutlet]=\"errorRef\"></ng-container>\n\t</div>\n\n\t<div class=\"captionInputAndError\" #internalComponentRef>\n\t\t<div class=\"captionDummyForSpaceCalculation\" #captionDummyForSpaceCalculation *ngIf=\"hasRightOfCaptionError()\">\n\t\t\t<ng-container [ngTemplateOutlet]=\"captionTpl\" [ngTemplateOutletContext]=\"{forCalculation: true}\"></ng-container>\n\t\t</div>\n\t\t<ng-container [ngTemplateOutlet]=\"captionTpl\"></ng-container>\n\t\t<ng-container *ngIf=\"direction === 'vertical' && getErrorLocation() === 'belowCaption' && !errorMessageAsTooltip\" [ngTemplateOutlet]=\"errorRef\"></ng-container>\n\t\t<div class=\"inputContainer\" #inputContainer>\n\t\t\t<ng-container *ngIf=\"errorMessageAsTooltip && shouldShowErrorMessages() && getErrorToShow()\">\n\t\t\t\t<div class=\"errorTooltipTriangle\"></div>\n\t\t\t\t<div class=\"errorTooltipTriangleWhite\"></div>\n\t\t\t\t<div class=\"errorTooltip\">\n\t\t\t\t\t<ng-container [ngTemplateOutlet]=\"errorRef\"></ng-container>\n\t\t\t\t</div>\n\t\t\t</ng-container>\n\t\t\t<ng-content></ng-content>\n\t\t</div>\n\t</div>\n</div>\n\n<ng-template #captionTpl let-forCalculation=\"forCalculation\">\n\t<div class=\"caption\"\n\t\t*ngIf=\"caption || captionRef\"\n\t\t[ngClass]=\"{\n\t\t\twithErrorRightOfCaption: getErrorLocation() === 'rightOfCaption'\n\t\t}\"\n\t>\n\t\t<div *ngIf=\"captionRef\" class=\"captionRefContainer\">\n\t\t\t<ng-container [ngTemplateOutlet]=\"captionRef\"></ng-container>\n\t\t\t<div *ngIf=\"isRequired()\"> *</div>\n\t\t</div>\n\t\t<div *ngIf=\"!captionRef\" class=\"captionText\">{{caption}}<span *ngIf=\"isRequired()\"> *</span></div>\n\t\t<div class=\"rightOfCaptionError\" *ngIf=\"hasRightOfCaptionError()\" [ngClass]=\"{errorFullyVisible: errorFullyVisible, errorMessageHasMaxWidth: errorMessageHasMaxWidth}\">\n\t\t\t<ng-container [ngTemplateOutlet]=\"errorRef\" [ngTemplateOutletContext]=\"{forCalculation: forCalculation}\"></ng-container>\n\t\t</div>\n\t\t<div *ngIf=\"captionEndRef\" class=\"captionEndRefContainer\">\n\t\t\t<ng-container [ngTemplateOutlet]=\"captionEndRef\"></ng-container>\n\t\t</div>\n\t</div>\n</ng-template>\n\n<ng-template #errorRef let-forCalculation=\"forCalculation\">\n\t<div *ngIf=\"shouldShowErrorMessages() && getErrorToShow()\" class=\"errorContainer\" [elementIsTruncatedCb]=\"forCalculation ? setErrorMessageIsTruncated : null\" [ngClass]=\"{horizontal: direction === 'horizontal', hasCaption: caption || captionRef, 'd30-70': spaceDistribution === '30-70', 'd34-66': spaceDistribution === '34-66'}\">\n\t\t<div *ngIf=\"showDefaultError('min')\">{{substituteParameters(getErrorMessage(\"min\"), {min: attachedControl.errors.min.min})}}</div>\n\t\t<div *ngIf=\"showDefaultError('max')\">{{substituteParameters(getErrorMessage(\"max\"), {max: attachedControl.errors.max.max})}}</div>\n\t\t<div *ngIf=\"showDefaultError('required')\">{{getErrorMessage(\"required\")}}</div>\n\t\t<div *ngIf=\"showDefaultError('email')\">{{getErrorMessage(\"email\")}}</div>\n\t\t<div *ngIf=\"showDefaultError('minlength')\">{{substituteParameters(getErrorMessage(\"minLength\"), {minLength: attachedControl.errors.minlength.requiredLength})}}</div>\n\t\t<div *ngIf=\"showDefaultError('maxlength')\">{{substituteParameters(getErrorMessage(\"maxLength\"), {maxLength: attachedControl.errors.maxlength.requiredLength})}}</div>\n\t\t<div *ngIf=\"showDefaultError('pattern')\">{{getErrorMessage(\"pattern\")}}</div>\n\t\t<div *ngIf=\"showDefaultError('MatchPassword')\">{{getErrorMessage(\"matchPassword\")}}</div>\n\t\t<div *ngIf=\"showDefaultError('date')\">{{getErrorMessage(\"date\")}}</div>\n\t\t<div *ngIf=\"showDefaultError('message')\">{{attachedControl.errors.message.value}}</div>\n\t\t<div *ngIf=\"showDefaultError('formLevel')\">{{getErrorMessage(\"formLevel\")}}</div>\n\t\t<div [ngTemplateOutlet]=\"getCustomErrorHandler(getErrorToShow())?.templateRef\"></div>\n\t</div>\n</ng-template>\n\n<ng-template #tailTpl>\n\t<div class=\"errorTooltipContainer\" [ngClass]=\"{alwaysOpen: shouldShowErrorTooltipOpened()}\">\n\t\t<ng-container *ngIf=\"hasHoverableErrorTooltip() || shouldShowErrorTooltipOpened()\">\n\t\t\t<div class=\"errorTooltipTriangle\"></div>\n\t\t\t<div class=\"errorTooltipTriangleWhite\"></div>\n\n\t\t\t<div class=\"absoluteAnchor\" #absoluteAnchor></div>\n\t\t\t<div class=\"fixedAnchor\" #fixedAnchor [onRenderFn]=\"setErrorTooltipOffset\"></div>\n\t\t\t<div class=\"fixedWrapper\" #fixedWrapper>\n\t\t\t\t<div class=\"errorTooltip\" [ngClass]=\"{noPointerEvents: !shouldShowErrorTooltipOpened()}\">\n\t\t\t\t\t<div class=\"errorTooltipInner\">\n\t\t\t\t\t\t<i class=\"closeBtn\" (click)=\"closePopup();\">\u00D7</i>\n\t\t\t\t\t\t<ng-container *ngIf=\"getErrorToShow()\" [ngTemplateOutlet]=\"errorRef\"></ng-container>\n\t\t\t\t\t\t<div *ngIf=\"!getErrorToShow() && shouldShowWarningPopup()\">\n\t\t\t\t\t\t\t<ng-container *ngIf=\"getWarningToShowIsTemplateRef()\" [ngTemplateOutlet]=\"getWarningToShowAsTemplateRef()\"></ng-container>\n\t\t\t\t\t\t\t<span *ngIf=\"!getWarningToShowIsTemplateRef()\">{{getWarningToShow()}}</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t</ng-container>\n\t\t<klp-form-warning-icon variant=\"fill\" *ngIf=\"getErrorToShow()\" (click)=\"togglePopup()\"></klp-form-warning-icon>\n\t\t<klp-form-warning-icon variant=\"line\" *ngIf=\"!getErrorToShow() && getWarningToShow()\" (click)=\"togglePopup()\"></klp-form-warning-icon>\n\t</div>\n</ng-template>\n", styles: [":host{display:block}.componentContainer:not(.hasCaption) .captionInputAndError{display:block}.componentContainer:not(.hasCaption) .captionInputAndError .inputContainer{margin-top:0;padding-left:0;max-width:initial}.componentContainer:not(.hasCaption) .errorContainer{padding-left:0}.componentContainer.hasCaption .errorAboveInputContainer .spacer{display:block}.componentContainer.reverseOrder .captionInputAndError{flex-direction:row-reverse;justify-content:flex-end}.componentContainer.vertical .captionInputAndError{display:block}.componentContainer.vertical .captionInputAndError .inputContainer{margin-top:.3125rem}.componentContainer.vertical .captionInputAndError .errorContainer{margin-left:0}.componentContainer.topAlignment .captionInputAndError{align-items:flex-start}.componentContainer.horizontal.hasCaption .inputContainer,.componentContainer.horizontal.hasCaption .errorAboveInputContainer .errorContainer{padding-left:1rem}.componentContainer.horizontal.hasCaption.d40-60 .errorAboveInputContainer .spacer{flex:0 1 40%}.componentContainer.horizontal.hasCaption.d40-60 .errorAboveInputContainer .errorContainer{flex:60 1 0px}.componentContainer.horizontal.hasCaption.d40-60 .caption{max-width:40%;flex:40 1 0px}.componentContainer.horizontal.hasCaption.d40-60 .inputContainer{max-width:60%;flex:60 1 0px}.componentContainer.horizontal.hasCaption.d34-66 .errorAboveInputContainer .spacer{flex:0 1 34%}.componentContainer.horizontal.hasCaption.d34-66 .errorAboveInputContainer .errorContainer{flex:66 1 0px}.componentContainer.horizontal.hasCaption.d34-66 .caption{max-width:34%;flex:34 1 0px}.componentContainer.horizontal.hasCaption.d34-66 .inputContainer{max-width:66%;flex:66 1 0px}.componentContainer.horizontal.hasCaption.d30-70 .errorAboveInputContainer .spacer{flex:0 1 30%}.componentContainer.horizontal.hasCaption.d30-70 .errorAboveInputContainer .errorContainer{flex:70 1 0px}.componentContainer.horizontal.hasCaption.d30-70 .caption{max-width:30%;flex:30 1 0px}.componentContainer.horizontal.hasCaption.d30-70 .inputContainer{max-width:70%;flex:70 1 0px}.componentContainer.fixedInputWidth .caption{flex:1 1 0px;overflow:hidden}.componentContainer.fixedInputWidth .inputContainer,.componentContainer.fixedCaptionWidth .caption{flex:0 0 auto}.componentContainer.fixedCaptionWidth .inputContainer{flex:1 1 0px;overflow:hidden}.captionInputAndError{display:flex;align-items:center;min-height:42px}.errorAboveInputContainer{display:flex}.errorAboveInputContainer .spacer{display:none}.captionDummyForSpaceCalculation .caption.withErrorRightOfCaption{height:0px;overflow:hidden}.captionDummyForSpaceCalculation .caption.withErrorRightOfCaption .rightOfCaptionError{display:block}.captionRefContainer,.captionEndRefContainer{display:flex}.caption{font-weight:700;flex:0 0 auto;color:#515365}.caption.percentageSpacing{max-width:40%;flex:40 1 0px}.caption.percentageSpacing.d30-70{max-width:30%;flex:30 1 0px}.caption.percentageSpacing.d34-66{max-width:34%;flex:34 1 0px}.caption.withErrorRightOfCaption{display:flex;justify-content:space-between;gap:1rem}.caption.withErrorRightOfCaption .captionText{flex:1 2 auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.caption.withErrorRightOfCaption .rightOfCaptionError{display:none;font-weight:400;overflow:hidden;flex:1 0 auto;text-align:right}.caption.withErrorRightOfCaption .rightOfCaptionError.errorFullyVisible{display:block}.caption.withErrorRightOfCaption .rightOfCaptionError.errorMessageHasMaxWidth{max-width:40%}.caption.withErrorRightOfCaption .rightOfCaptionError ::ng-deep *{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.inputContainer{position:relative;flex:1}.inputContainer .errorTooltipContainer{position:relative}.inputContainer .errorTooltipContainer.alwaysOpen .errorTooltipTriangle,.inputContainer .errorTooltipContainer.alwaysOpen .errorTooltipTriangleWhite,.inputContainer .errorTooltipContainer.alwaysOpen .errorTooltip{display:flex}.inputContainer .errorTooltipContainer.alwaysOpen .closeBtn{display:block}.inputContainer .errorTooltipContainer.alwaysOpen .errorTooltipInner{padding-right:1.4rem}.inputContainer .errorTooltipContainer klp-form-warning-icon{cursor:pointer}.inputContainer .errorTooltipContainer .absoluteAnchor{position:absolute}.inputContainer .errorTooltipContainer .fixedAnchor,.inputContainer .errorTooltipContainer .fixedWrapper{position:fixed}.inputContainer .errorTooltipTriangle{display:none;z-index:1;position:absolute;right:0;transform:translate(-.15rem,calc(-100% - .1rem)) scaleX(.8);width:0px;height:0px;border-left:8px solid transparent;border-right:8px solid transparent;border-top:8px solid rgba(0,0,0,.13)}.inputContainer .errorTooltipTriangleWhite{display:none;z-index:3;position:absolute;right:0;transform:translate(-.15rem,calc(-100% - .1rem - 2px)) scaleX(.8);width:0px;height:0px;border-left:8px solid transparent;border-right:8px solid transparent;border-top:8px solid white}.inputContainer .errorTooltip{display:none;justify-content:flex-end;position:absolute;top:-.6rem;right:-1.875rem;transform:translateY(-100%);width:20rem}.inputContainer .errorTooltip.noPointerEvents{pointer-events:none}.inputContainer .errorTooltip .closeBtn{display:none;position:absolute;top:.2rem;right:.2rem;padding:.2rem .4rem;cursor:pointer;color:#666;font-size:1rem}.inputContainer .errorTooltip .closeBtn:hover{color:#515365}.inputContainer .errorTooltipInner{background:#fff;padding:.4rem .6rem;border-radius:.4rem;border:1px solid rgba(0,0,0,.13);box-shadow:#00000021 2px 3px 10px}.inputContainer:hover .errorTooltipContainer .errorTooltip,.inputContainer:hover .errorTooltipContainer .errorTooltipTriangle,.inputContainer:hover .errorTooltipContainer .errorTooltipTriangleWhite{display:flex}.errorContainer{color:#ff8000}\n"] }]
|
|
266
269
|
}], ctorParameters: () => [{ type: i1.FormComponent, decorators: [{
|
|
267
270
|
type: Optional
|
|
268
271
|
}] }, { type: undefined, decorators: [{
|
|
@@ -311,4 +314,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
|
|
|
311
314
|
type: ContentChild,
|
|
312
315
|
args: [NG_VALUE_ACCESSOR]
|
|
313
316
|
}] } });
|
|
314
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1lbGVtZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tsaXBwYS9uZ3gtZW5oYW5jeS1mb3Jtcy9zcmMvbGliL2Zvcm0vZm9ybS1lbGVtZW50L2Zvcm0tZWxlbWVudC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rbGlwcGEvbmd4LWVuaGFuY3ktZm9ybXMvc3JjL2xpYi9mb3JtL2Zvcm0tZWxlbWVudC9mb3JtLWVsZW1lbnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVOLFNBQVMsRUFDVCxZQUFZLEVBRVosTUFBTSxFQUNOLGNBQWMsRUFDZCxLQUFLLEVBQ0wsUUFBUSxFQUNSLFdBQVcsRUFDWCxTQUFTLEVBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFrQixpQkFBaUIsRUFBcUIsTUFBTSxnQkFBZ0IsQ0FBQztBQUd0RixPQUFPLEVBQUMsVUFBVSxFQUFFLG9CQUFvQixFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFFbkUsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7QUFJeEQsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsSUFBSSxjQUFjLENBQXNCLHFCQUFxQixDQUFDLENBQUM7QUFFbEcsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQXNCO0lBQ3hELEdBQUcsRUFBRSxnQ0FBZ0M7SUFDckMsR0FBRyxFQUFFLGlDQUFpQztJQUN0QyxRQUFRLEVBQUUsVUFBVTtJQUNwQixLQUFLLEVBQUUsMkJBQTJCO0lBQ2xDLFNBQVMsRUFBRSxnREFBZ0Q7SUFDM0QsU0FBUyxFQUFFLGlEQUFpRDtJQUM1RCxPQUFPLEVBQUUseUJBQXlCO0lBQ2xDLGFBQWEsRUFBRSxzQkFBc0I7SUFDckMsSUFBSSxFQUFFLG9CQUFvQjtDQUMxQixDQUFDO0FBU0YsTUFBTSxPQUFPLG9CQUFvQjtJQTJCaEMsWUFDcUIsTUFBcUIsRUFDUSxjQUFtQyxFQUM1RSxLQUFpQixFQUNqQixNQUFjO1FBSEYsV0FBTSxHQUFOLE1BQU0sQ0FBZTtRQUNRLG1CQUFjLEdBQWQsY0FBYyxDQUFxQjtRQUM1RSxVQUFLLEdBQUwsS0FBSyxDQUFZO1FBQ2pCLFdBQU0sR0FBTixNQUFNLENBQVE7UUE1QlAsY0FBUyxHQUE4QixZQUFZLENBQUM7UUFDcEQsbUJBQWMsR0FBMkIsYUFBYSxDQUFDO1FBQ3ZELHNCQUFpQixHQUFxQixRQUFRLENBQUM7UUFDL0Msc0JBQWlCLEdBQW9ELE9BQU8sQ0FBQztRQUM3RSx3QkFBbUIsR0FBRyxLQUFLLENBQUM7UUFDNUIsMEJBQXFCLEdBQUcsS0FBSyxDQUFDO1FBQzlCLDRCQUF1QixHQUFHLElBQUksQ0FBQztRQVd4QyxrQkFBYSxHQUFzQixzQkFBc0IsQ0FBQztRQUMxRCx3QkFBbUIsR0FBNEQsRUFBRSxDQUFDO1FBR2pGLGVBQVUsR0FBZSxTQUFTLENBQUM7UUFDbkMsa0JBQWEsR0FBd0IsRUFBRSxDQUFDO1FBZ056QywrQkFBMEIsR0FBRyxDQUFDLFdBQW9CLEVBQUUsRUFBRTtZQUM1RCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsQ0FBQyxXQUFXLENBQUM7UUFDdkMsQ0FBQyxDQUFBO1FBNEJNLDBCQUFxQixHQUFHLEdBQVMsRUFBRTtZQUN6QyxJQUFJLElBQUksQ0FBQyxVQUFVLEtBQUssWUFBWSxJQUFJLElBQUksQ0FBQyxVQUFVLEtBQUssU0FBUyxFQUFFLENBQUM7Z0JBQ3ZFLE9BQU87WUFDUixDQUFDO1lBQ0QsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRSxhQUFhLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxhQUFhLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxHQUFHLENBQUM7WUFDbEosSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLGFBQWEsRUFBRSxDQUFDO2dCQUN0QyxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsU0FBUyxHQUFHLGNBQWMsWUFBWSxLQUFLLENBQUM7WUFDbkYsQ0FBQztRQUNGLENBQUMsQ0FBQztJQTlPRixDQUFDO0lBRUQsS0FBSyxDQUFDLGVBQWU7UUFDcEIsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUMsWUFBWSxFQUFFLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUMzRSxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztRQUM1QixDQUFDLENBQUMsQ0FBQztRQUNILElBQUksVUFBVSxDQUFDLFlBQVksQ0FBQyxFQUFHLENBQUM7WUFDL0IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDdkMsQ0FBQztRQUNELElBQUksQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsR0FBRyxFQUFFO1lBQ2xDLElBQUksQ0FBQyxjQUFjLEVBQUUsYUFBYSxDQUFDLGdCQUFnQixDQUFDLFlBQVksRUFBRSxHQUFHLEVBQUU7Z0JBQ3RFLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1lBQzlCLENBQUMsQ0FBQyxDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7SUFDSixDQUFDO0lBRU0sdUJBQXVCO1FBQzdCLE9BQU8sSUFBSSxDQUFDLE1BQU0sRUFBRSxpQkFBaUIsS0FBSyxLQUFLLENBQUM7SUFDakQsQ0FBQztJQUVNLG9CQUFvQixDQUFDLE9BQWUsRUFBRSxVQUErQjtRQUMzRSxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFO1lBQ2xELE9BQU8sR0FBRyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEdBQUcsR0FBRyxFQUFFLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ2pELENBQUMsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNiLENBQUM7SUFFTSxlQUFlLENBQUMsV0FBK0IsRUFBRSxRQUFnQyxJQUFJO1FBQzNGLElBQUksQ0FBQyxlQUFlLEdBQUcsV0FBVyxDQUFDO1FBQ25DLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLE1BQU0sbUJBQW1CLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBRzNFLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDdEUsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7UUFDNUIsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUN0QyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztRQUMzQixPQUFPLG1CQUFtQixDQUFDO0lBQzVCLENBQUM7SUFFTSxtQkFBbUI7UUFDekIsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQztRQUNsQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUN6QixJQUFJLG9CQUFvQixDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxFQUFFLENBQUM7WUFDakQsSUFBSSxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUM7UUFDN0IsQ0FBQzthQUFNLElBQUksVUFBVSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUNoRCxJQUFJLENBQUMsVUFBVSxHQUFHLFlBQVksQ0FBQztRQUNoQyxDQUFDO2FBQU0sQ0FBQztZQUNQLElBQUksQ0FBQyxVQUFVLEdBQUcsU0FBUyxDQUFDO1FBQzdCLENBQUM7UUFFRCxJQUFJLENBQUMsMEJBQTBCLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRU8sMEJBQTBCLENBQUMsSUFBZ0IsRUFBRSxPQUFtQjtRQUN2RSxJQUFJLElBQUksS0FBSyxPQUFPLEVBQUUsQ0FBQztZQUN0QixPQUFPO1FBQ1IsQ0FBQztRQUNELE1BQU0sVUFBVSxHQUFHLENBQUMsR0FBRyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ25GLElBQUksQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsR0FBRyxFQUFFO1lBQ2xDLElBQUksT0FBTyxLQUFLLFlBQVksRUFBRSxDQUFDO2dCQUM5QixVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFO29CQUN0QixDQUFDLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO2dCQUMxRCxDQUFDLENBQUMsQ0FBQztZQUNKLENBQUM7aUJBQU0sQ0FBQztnQkFDUCxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFO29CQUN0QixDQUFDLENBQUMsbUJBQW1CLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO2dCQUM3RCxDQUFDLENBQUMsQ0FBQztZQUNKLENBQUM7UUFDRixDQUFDLENBQUMsQ0FBQztJQUNKLENBQUM7SUFFTSxpQkFBaUIsQ0FBQyxXQUErQjtRQUN2RCxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQztRQUM1QixJQUFJLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFTSxrQkFBa0I7UUFDeEIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDO0lBQzdCLENBQUM7SUFFTSxnQkFBZ0I7UUFDdEIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ25CLENBQUM7SUFFTSxvQkFBb0IsQ0FBQyxLQUFhLEVBQUUsV0FBNkI7UUFDdkUsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxFQUFDLEtBQUssRUFBRSxXQUFXLEVBQUMsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFTSxlQUFlLENBQUMsV0FBNkI7UUFDbkQsSUFBSSxDQUFDLFVBQVUsR0FBRyxXQUFXLENBQUM7SUFDL0IsQ0FBQztJQUVNLGdCQUFnQjtRQUN0QixPQUFPLElBQUksQ0FBQyxNQUFNLEVBQUUsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFTSw2QkFBNkI7UUFDbkMsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLGdCQUFnQixDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsWUFBWSxXQUFXLEVBQUUsQ0FBQztZQUNoRixPQUFPLElBQUksQ0FBQyxNQUFNLEVBQUUsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBcUIsQ0FBQztRQUNoRixDQUFDO1FBQ0QsTUFBTSxJQUFJLEtBQUssQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFTSw2QkFBNkI7UUFDbkMsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsWUFBWSxXQUFXLENBQUM7SUFDdkQsQ0FBQztJQUVELGNBQWM7UUFDYixNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsTUFBTSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3RFLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRSxPQUFPLEtBQUssSUFBSSxFQUFFLENBQUM7WUFDNUMsT0FBTyxJQUFJLENBQUM7UUFDYixDQUFDO1FBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDbkMsT0FBTyxJQUFJLENBQUM7UUFDYixDQUFDO1FBQ0QsT0FBTyxVQUFVLENBQUM7SUFDbkIsQ0FBQztJQUVELHFCQUFxQixDQUFDLEtBQWE7UUFDbEMsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxLQUFLLEtBQUssQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxLQUFhO1FBQzdCLE9BQU8sSUFBSSxDQUFDLGNBQWMsRUFBRSxLQUFLLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLEtBQUssS0FBSyxDQUFDLENBQUM7SUFDcEcsQ0FBQztJQUVELG1CQUFtQixDQUFDLElBQUk7UUFDdkIsSUFBSSxJQUFJLEtBQUssTUFBTSxDQUFDLFFBQVEsQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUM5QyxPQUFPLE1BQU0sQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDO1FBQ3hDLENBQUM7UUFDRCxNQUFNLFNBQVMsR0FBRyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFDbkQsSUFBSSxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxZQUFZLElBQUksQ0FBQyxTQUFTLEtBQUssTUFBTSxJQUFJLFNBQVMsS0FBSyxRQUFRLENBQUMsRUFBRSxDQUFDO1lBQy9GLE9BQU8sSUFBSSxDQUFDO1FBQ2IsQ0FBQzthQUFNLENBQUM7WUFDUCxPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDbEQsQ0FBQztJQUNGLENBQUM7SUFFRCxRQUFRO1FBQ1AsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNqRixNQUFNLFNBQVMsR0FBRyxNQUFNLEtBQUssTUFBTSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLHFCQUFxQixFQUFFLENBQUMsR0FBRyxDQUFDO1FBQ3RHLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxhQUFhLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxHQUFHLENBQUM7UUFDdkYsTUFBTSxlQUFlLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQztRQUN6QyxNQUFNLE1BQU0sR0FBRyxVQUFVLEdBQUcsU0FBUyxHQUFHLGVBQWUsQ0FBQztRQUV4RCxNQUFNLENBQUMsUUFBUSxDQUFDO1lBQ2YsR0FBRyxFQUFFLE1BQU0sR0FBRyxFQUFFO1lBQ2hCLFFBQVEsRUFBRSxRQUFRO1NBQ2xCLENBQUMsQ0FBQztJQUNKLENBQUM7SUFFRCxVQUFVO1FBQ1QsSUFBSSxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDNUIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUM1QyxDQUFDO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZCxDQUFDO0lBRUQsZUFBZSxDQUFDLEdBQTRCO1FBQzNDLElBQUksR0FBRyxLQUFLLFdBQVcsRUFBRSxDQUFDO1lBQ3pCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLEVBQUUsU0FBUyxDQUFDO1FBQy9DLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBRU0sZ0JBQWdCO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLE1BQU0sRUFBRSxvQkFBb0IsSUFBSSxjQUFjLENBQUM7SUFDNUQsQ0FBQztJQUVNLDRCQUE0QjtRQUNsQyxPQUFPLElBQUksQ0FBQyxVQUFVLEtBQUssWUFBWSxDQUFDO0lBQ3pDLENBQUM7SUFFTSx3QkFBd0I7UUFDOUIsSUFBSSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7WUFDbkUsT0FBTyxLQUFLLENBQUM7UUFDZCxDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsVUFBVSxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ25DLE9BQU8sS0FBSyxDQUFDO1FBQ2QsQ0FBQztRQUNELElBQUksb0JBQW9CLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUNqRCxPQUFPLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDO1FBQ2hDLENBQUM7UUFDRCxJQUFJLFVBQVUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxFQUFFLENBQUM7WUFDekMsT0FBTyxJQUFJLENBQUM7UUFDYixDQUFDO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZCxDQUFDO0lBRU0sc0JBQXNCO1FBQzVCLElBQUksSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7WUFDaEMsT0FBTyxLQUFLLENBQUM7UUFDZCxDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsU0FBUyxLQUFLLFVBQVUsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsS0FBSyxnQkFBZ0IsRUFBRSxDQUFDO1lBQ25GLE9BQU8sS0FBSyxDQUFDO1FBQ2QsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2IsQ0FBQztJQU1NLHNCQUFzQjtRQUM1QixPQUFPLFVBQVUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFTSxVQUFVO1FBQ2hCLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUM7UUFDbEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUM7UUFDNUIsSUFBSSxDQUFDLDBCQUEwQixDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVNLFdBQVc7UUFDakIsSUFBSSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsSUFBSSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxFQUFFLENBQUM7WUFDbkUsT0FBTztRQUNSLENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQzVCLE9BQU87UUFDUixDQUFDO1FBQ0QsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQztRQUNsQyxJQUFJLElBQUksQ0FBQyxVQUFVLEtBQUssWUFBWSxFQUFFLENBQUM7WUFDdEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUM7UUFDN0IsQ0FBQzthQUFNLENBQUM7WUFDUCxJQUFJLENBQUMsVUFBVSxHQUFHLFlBQVksQ0FBQztRQUNoQyxDQUFDO1FBQ0QsSUFBSSxDQUFDLDBCQUEwQixDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQVlELFdBQVc7UUFDVixJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFTyxpQkFBaUI7UUFDeEIsSUFBSSxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsSUFBSSxVQUFVLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUMsRUFBRSxDQUFDO1lBQ3hGLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxVQUFVLEVBQUUsQ0FBQyxFQUFFLENBQUM7Z0JBQ2hELElBQUksQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUMzQyxDQUFDO1FBQ0YsQ0FBQztJQUNGLENBQUM7OEdBM1JXLG9CQUFvQiwrREE2QnZCLG1CQUFtQjtrR0E3QmhCLG9CQUFvQiwwWkFpQmxCLGlCQUFpQiwwd0JDM0RoQyxxK0xBcUdBOzsyRkQzRGEsb0JBQW9CO2tCQUxoQyxTQUFTOytCQUNDLGtCQUFrQjs7MEJBZ0MxQixRQUFROzswQkFDUixNQUFNOzJCQUFDLG1CQUFtQjs7MEJBQUcsUUFBUTt1RkEzQnZCLE9BQU87c0JBQXRCLEtBQUs7Z0JBQ1UsU0FBUztzQkFBeEIsS0FBSztnQkFDVSxjQUFjO3NCQUE3QixLQUFLO2dCQUNVLGlCQUFpQjtzQkFBaEMsS0FBSztnQkFDVSxpQkFBaUI7c0JBQWhDLEtBQUs7Z0JBQ1UsbUJBQW1CO3NCQUFsQyxLQUFLO2dCQUNVLHFCQUFxQjtzQkFBcEMsS0FBSztnQkFDVSx1QkFBdUI7c0JBQXRDLEtBQUs7Z0JBQ29DLG9CQUFvQjtzQkFBN0QsU0FBUzt1QkFBQyxzQkFBc0I7Z0JBQ0osT0FBTztzQkFBbkMsU0FBUzt1QkFBQyxTQUFTO2dCQUNpQywrQkFBK0I7c0JBQW5GLFNBQVM7dUJBQUMsaUNBQWlDO2dCQUNSLGNBQWM7c0JBQWpELFNBQVM7dUJBQUMsZ0JBQWdCO2dCQUNNLFdBQVc7c0JBQTNDLFNBQVM7dUJBQUMsYUFBYTtnQkFDVSxZQUFZO3NCQUE3QyxTQUFTO3VCQUFDLGNBQWM7Z0JBQ1csY0FBYztzQkFBakQsU0FBUzt1QkFBQyxnQkFBZ0I7Z0JBQ00sVUFBVTtzQkFBMUMsWUFBWTt1QkFBQyxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuXHRBZnRlclZpZXdJbml0LFxuXHRDb21wb25lbnQsXG5cdENvbnRlbnRDaGlsZCxcblx0RWxlbWVudFJlZixcblx0SW5qZWN0LFxuXHRJbmplY3Rpb25Ub2tlbixcblx0SW5wdXQsIE5nWm9uZSwgT25EZXN0cm95LFxuXHRPcHRpb25hbCxcblx0VGVtcGxhdGVSZWYsXG5cdFZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QWJzdHJhY3RDb250cm9sLCBOR19WQUxVRV9BQ0NFU1NPUiwgVW50eXBlZEZvcm1Db250cm9sfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1ZhbHVlQWNjZXNzb3JCYXNlfSBmcm9tICcuLi8uLi9lbGVtZW50cy92YWx1ZS1hY2Nlc3Nvci1iYXNlL3ZhbHVlLWFjY2Vzc29yLWJhc2UuY29tcG9uZW50JztcbmltcG9ydCB7Q3VzdG9tRXJyb3JNZXNzYWdlcywgRm9ybUVycm9yTWVzc2FnZXN9IGZyb20gJy4uLy4uL3R5cGVzJztcbmltcG9ydCB7aXNWYWx1ZVNldCwgc3RyaW5nSXNTZXRBbmRGaWxsZWR9IGZyb20gJy4uLy4uL3V0aWwvdmFsdWVzJztcbmltcG9ydCB7Rm9ybUNvbXBvbmVudH0gZnJvbSAnLi4vZm9ybS5jb21wb25lbnQnO1xuaW1wb3J0IHtnZXRBbGxMaW1pdGluZ0NvbnRhaW5lcnN9IGZyb20gJy4uLy4uL3V0aWwvZG9tJztcbmltcG9ydCB7U3Vic2NyaXB0aW9ufSBmcm9tIFwicnhqc1wiO1xuXG5cbmV4cG9ydCBjb25zdCBGT1JNX0VSUk9SX01FU1NBR0VTID0gbmV3IEluamVjdGlvblRva2VuPEN1c3RvbUVycm9yTWVzc2FnZXM+KCdmb3JtLmVycm9yLm1lc3NhZ2VzJyk7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX0VSUk9SX01FU1NBR0VTOiBGb3JtRXJyb3JNZXNzYWdlcyA9IHtcblx0bWluOiAnVXNlIGEgbnVtYmVyIGxhcmdlciB0aGFuICVtaW4lJyxcblx0bWF4OiAnVXNlIGEgbnVtYmVyIHNtYWxsZXIgdGhhbiAlbWF4JScsXG5cdHJlcXVpcmVkOiAnUmVxdWlyZWQnLFxuXHRlbWFpbDogJ1VzZSBhIHZhbGlkIGVtYWlsIGFkZHJlc3MnLFxuXHRtaW5MZW5ndGg6ICdIYXMgdG8gYmUgbG9uZ2VyIHRoYW4gJW1pbkxlbmd0aCUgY2hhcmFjdGVyKHMpJyxcblx0bWF4TGVuZ3RoOiAnSGFzIHRvIGJlIHNob3J0ZXIgdGhhbiAlbWF4TGVuZ3RoJSBjaGFyYWN0ZXIocyknLFxuXHRwYXR0ZXJuOiAnVGhpcyBpbnB1dCBpcyBub3QgdmFsaWQnLFxuXHRtYXRjaFBhc3N3b3JkOiAnUGFzc3dvcmRzIG11c3QgbWF0Y2gnLFxuXHRkYXRlOiAnRW50ZXIgYSB2YWxpZCBkYXRlJyxcbn07XG5cbnR5cGUgUG9wdXBTdGF0ZSA9ICdvbkhvdmVyJyB8ICdsb2NrZWRPcGVuJztcblxuQENvbXBvbmVudCh7XG5cdHNlbGVjdG9yOiAna2xwLWZvcm0tZWxlbWVudCcsXG5cdHRlbXBsYXRlVXJsOiAnLi9mb3JtLWVsZW1lbnQuY29tcG9uZW50Lmh0bWwnLFxuXHRzdHlsZVVybHM6IFsnLi9mb3JtLWVsZW1lbnQuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgRm9ybUVsZW1lbnRDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuXHRwdWJsaWMgYXR0YWNoZWRDb250cm9sOiBBYnN0cmFjdENvbnRyb2w7XG5cdEBJbnB1dCgpIHB1YmxpYyBjYXB0aW9uOiBzdHJpbmc7XG5cdEBJbnB1dCgpIHB1YmxpYyBkaXJlY3Rpb246ICdob3Jpem9udGFsJyB8ICd2ZXJ0aWNhbCcgPSAnaG9yaXpvbnRhbCc7XG5cdEBJbnB1dCgpIHB1YmxpYyBjYXB0aW9uU3BhY2luZzogJ3BlcmNlbnRhZ2VzJyB8ICdub25lJyA9ICdwZXJjZW50YWdlcyc7XG5cdEBJbnB1dCgpIHB1YmxpYyB2ZXJ0aWNhbEFsaWdubWVudDogJ2NlbnRlcicgfCAndG9wJyA9ICdjZW50ZXInO1xuXHRASW5wdXQoKSBwdWJsaWMgc3BhY2VEaXN0cmlidXRpb246ICc0MC02MCcgfCAnMzQtNjYnIHwgJzMwLTcwJyB8ICdmaXhlZElucHV0V2lkdGgnID0gJzQwLTYwJztcblx0QElucHV0KCkgcHVibGljIHN3YXBJbnB1dEFuZENhcHRpb24gPSBmYWxzZTtcblx0QElucHV0KCkgcHVibGljIGVycm9yTWVzc2FnZUFzVG9vbHRpcCA9IGZhbHNlO1xuXHRASW5wdXQoKSBwdWJsaWMgZXJyb3JNZXNzYWdlSGFzTWF4V2lkdGggPSB0cnVlO1xuXHRAVmlld0NoaWxkKCdpbnRlcm5hbENvbXBvbmVudFJlZicpIHB1YmxpYyBpbnRlcm5hbENvbXBvbmVudFJlZjogRWxlbWVudFJlZjtcblx0QFZpZXdDaGlsZCgndGFpbFRwbCcpIHB1YmxpYyB0YWlsVHBsOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXHRAVmlld0NoaWxkKCdjYXB0aW9uRHVtbXlGb3JTcGFjZUNhbGN1bGF0aW9uJykgcHVibGljIGNhcHRpb25EdW1teUZvclNwYWNlQ2FsY3VsYXRpb246IEVsZW1lbnRSZWY7XG5cdEBWaWV3Q2hpbGQoJ2Fic29sdXRlQW5jaG9yJykgcHVibGljIGFic29sdXRlQW5jaG9yOiBFbGVtZW50UmVmO1xuXHRAVmlld0NoaWxkKCdmaXhlZEFuY2hvcicpIHB1YmxpYyBmaXhlZEFuY2hvcjogRWxlbWVudFJlZjtcblx0QFZpZXdDaGlsZCgnZml4ZWRXcmFwcGVyJykgcHVibGljIGZpeGVkV3JhcHBlcjogRWxlbWVudFJlZjtcblx0QFZpZXdDaGlsZCgnaW5wdXRDb250YWluZXInKSBwdWJsaWMgaW5wdXRDb250YWluZXI6IEVsZW1lbnRSZWY7XG5cdEBDb250ZW50Q2hpbGQoTkdfVkFMVUVfQUNDRVNTT1IpIGZpZWxkSW5wdXQ6IFZhbHVlQWNjZXNzb3JCYXNlPGFueT47XG5cblx0cHVibGljIGNhcHRpb25SZWY6IFRlbXBsYXRlUmVmPGFueT47XG5cdHB1YmxpYyBlcnJvck1lc3NhZ2VzOiBGb3JtRXJyb3JNZXNzYWdlcyA9IERFRkFVTFRfRVJST1JfTUVTU0FHRVM7XG5cdHB1YmxpYyBjdXN0b21FcnJvckhhbmRsZXJzOiBBcnJheTx7IGVycm9yOiBzdHJpbmc7IHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+IH0+ID0gW107XG5cdHByaXZhdGUgaW5wdXQ6IFZhbHVlQWNjZXNzb3JCYXNlPGFueT47XG5cdHB1YmxpYyBlcnJvckZ1bGx5VmlzaWJsZTogYm9vbGVhbjtcblx0cHJpdmF0ZSBwb3B1cFN0YXRlOiBQb3B1cFN0YXRlID0gJ29uSG92ZXInO1xuXHRwcml2YXRlIHN1YnNjcmlwdGlvbnM6IEFycmF5PFN1YnNjcmlwdGlvbj4gPSBbXTtcblxuXHRjb25zdHJ1Y3Rvcihcblx0XHRAT3B0aW9uYWwoKSBwcml2YXRlIHBhcmVudDogRm9ybUNvbXBvbmVudCxcblx0XHRASW5qZWN0KEZPUk1fRVJST1JfTUVTU0FHRVMpIEBPcHRpb25hbCgpIHByaXZhdGUgY3VzdG9tTWVzc2FnZXM6IEN1c3RvbUVycm9yTWVzc2FnZXMsXG5cdFx0cHJpdmF0ZSBlbFJlZjogRWxlbWVudFJlZixcblx0XHRwcml2YXRlIG5nWm9uZTogTmdab25lLFxuXHQpIHtcblx0fVxuXG5cdGFzeW5jIG5nQWZ0ZXJWaWV3SW5pdCgpOiBQcm9taXNlPHZvaWQ+IHtcblx0XHRjb25zdCBzdWJzY3JpcHRpb24gPSB0aGlzLmZpZWxkSW5wdXQ/Lm9uVG91Y2guYXNPYnNlcnZhYmxlKCkuc3Vic2NyaWJlKCgpID0+IHtcblx0XHRcdHRoaXMuZGV0ZXJtaW5lUG9wdXBTdGF0ZSgpO1xuXHRcdH0pO1xuXHRcdGlmIChpc1ZhbHVlU2V0KHN1YnNjcmlwdGlvbikpICB7XG5cdFx0XHR0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChzdWJzY3JpcHRpb24pO1xuXHRcdH1cblx0XHR0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG5cdFx0XHR0aGlzLmlucHV0Q29udGFpbmVyPy5uYXRpdmVFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZW50ZXInLCAoKSA9PiB7XG5cdFx0XHRcdHRoaXMuc2V0RXJyb3JUb29sdGlwT2Zmc2V0KCk7XG5cdFx0XHR9KTtcblx0XHR9KTtcblx0fVxuXG5cdHB1YmxpYyBzaG91bGRTaG93RXJyb3JNZXNzYWdlcygpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gdGhpcy5wYXJlbnQ/LnNob3dFcnJvck1lc3NhZ2VzICE9PSBmYWxzZTtcblx0fVxuXG5cdHB1YmxpYyBzdWJzdGl0dXRlUGFyYW1ldGVycyhtZXNzYWdlOiBzdHJpbmcsIHBhcmFtZXRlcnM6IFJlY29yZDxzdHJpbmcsIGFueT4pOiBzdHJpbmcge1xuXHRcdHJldHVybiBPYmplY3Qua2V5cyhwYXJhbWV0ZXJzKS5yZWR1Y2UoKG1zZywga2V5KSA9PiB7XG5cdFx0XHRyZXR1cm4gbXNnLnJlcGxhY2UoYCUke2tleX0lYCwgcGFyYW1ldGVyc1trZXldKTtcblx0XHR9LCBtZXNzYWdlKTtcblx0fVxuXG5cdHB1YmxpYyByZWdpc3RlckNvbnRyb2woZm9ybUNvbnRyb2w6IFVudHlwZWRGb3JtQ29udHJvbCwgaW5wdXQ6IFZhbHVlQWNjZXNzb3JCYXNlPGFueT4gPSBudWxsKTogKCkgPT4gYW55IHtcblx0XHR0aGlzLmF0dGFjaGVkQ29udHJvbCA9IGZvcm1Db250cm9sO1xuXHRcdHRoaXMuaW5wdXQgPSBpbnB1dDtcblx0XHRjb25zdCBnZXRJbW11dGFibGVWYWx1ZUZuID0gdGhpcy5wYXJlbnQucmVnaXN0ZXJDb250cm9sKGZvcm1Db250cm9sLCB0aGlzKTtcblxuXG5cdFx0Y29uc3Qgc3Vic2NyaXB0aW9uID0gdGhpcy5hdHRhY2hlZENvbnRyb2wuc3RhdHVzQ2hhbmdlcy5zdWJzY3JpYmUoKCkgPT4ge1xuXHRcdFx0dGhpcy5kZXRlcm1pbmVQb3B1cFN0YXRlKCk7XG5cdFx0fSk7XG5cdFx0dGhpcy5zdWJzY3JpcHRpb25zLnB1c2goc3Vic2NyaXB0aW9uKTtcblx0XHR0aGlzLmRldGVybWluZVBvcHVwU3RhdGUoKTtcblx0XHRyZXR1cm4gZ2V0SW1tdXRhYmxlVmFsdWVGbjtcblx0fVxuXG5cdHB1YmxpYyBkZXRlcm1pbmVQb3B1cFN0YXRlKCk6IHZvaWQge1xuXHRcdGNvbnN0IHByZXZTdGF0ZSA9IHRoaXMucG9wdXBTdGF0ZTtcblx0XHR0aGlzLmluaXRpYWxpemVUYWlsVHBsKCk7XG5cdFx0aWYgKHN0cmluZ0lzU2V0QW5kRmlsbGVkKHRoaXMuZ2V0RXJyb3JUb1Nob3coKSkpIHtcblx0XHRcdHRoaXMucG9wdXBTdGF0ZSA9ICdvbkhvdmVyJztcblx0XHR9IGVsc2UgaWYgKGlzVmFsdWVTZXQodGhpcy5nZXRXYXJuaW5nVG9TaG93KCkpKSB7XG5cdFx0XHR0aGlzLnBvcHVwU3RhdGUgPSAnbG9ja2VkT3Blbic7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHRoaXMucG9wdXBTdGF0ZSA9ICdvbkhvdmVyJztcblx0XHR9XG5cblx0XHR0aGlzLnNldFVwRXJyb3JUb29sdGlwTGlzdGVuZXJzKHByZXZTdGF0ZSwgdGhpcy5wb3B1cFN0YXRlKTtcblx0fVxuXG5cdHByaXZhdGUgc2V0VXBFcnJvclRvb2x0aXBMaXN0ZW5lcnMocHJldjogUG9wdXBTdGF0ZSwgY3VycmVudDogUG9wdXBTdGF0ZSk6IHZvaWQge1xuXHRcdGlmIChwcmV2ID09PSBjdXJyZW50KSB7XG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXHRcdGNvbnN0IGNvbnRhaW5lcnMgPSBbLi4uZ2V0QWxsTGltaXRpbmdDb250YWluZXJzKHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudCksIHdpbmRvd107XG5cdFx0dGhpcy5uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuXHRcdFx0aWYgKGN1cnJlbnQgPT09ICdsb2NrZWRPcGVuJykge1xuXHRcdFx0XHRjb250YWluZXJzLmZvckVhY2goZSA9PiB7XG5cdFx0XHRcdFx0ZS5hZGRFdmVudExpc3RlbmVyKCdzY3JvbGwnLCB0aGlzLnNldEVycm9yVG9vbHRpcE9mZnNldCk7XG5cdFx0XHRcdH0pO1xuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0Y29udGFpbmVycy5mb3JFYWNoKGUgPT4ge1xuXHRcdFx0XHRcdGUucmVtb3ZlRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgdGhpcy5zZXRFcnJvclRvb2x0aXBPZmZzZXQpO1xuXHRcdFx0XHR9KTtcblx0XHRcdH1cblx0XHR9KTtcblx0fVxuXG5cdHB1YmxpYyB1bnJlZ2lzdGVyQ29udHJvbChmb3JtQ29udHJvbDogVW50eXBlZEZvcm1Db250cm9sKTogdm9pZCB7XG5cdFx0dGhpcy5hdHRhY2hlZENvbnRyb2wgPSBudWxsO1xuXHRcdHRoaXMucGFyZW50LnVucmVnaXN0ZXJDb250cm9sKGZvcm1Db250cm9sKTtcblx0fVxuXG5cdHB1YmxpYyBnZXRBdHRhY2hlZENvbnRyb2woKTogQWJzdHJhY3RDb250cm9sIHtcblx0XHRyZXR1cm4gdGhpcy5hdHRhY2hlZENvbnRyb2w7XG5cdH1cblxuXHRwdWJsaWMgZ2V0QXR0YWNoZWRJbnB1dCgpOiBWYWx1ZUFjY2Vzc29yQmFzZTxhbnk+IHtcblx0XHRyZXR1cm4gdGhpcy5pbnB1dDtcblx0fVxuXG5cdHB1YmxpYyByZWdpc3RlckVycm9ySGFuZGxlcihlcnJvcjogc3RyaW5nLCB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55Pik6IHZvaWQge1xuXHRcdHRoaXMuY3VzdG9tRXJyb3JIYW5kbGVycy5wdXNoKHtlcnJvciwgdGVtcGxhdGVSZWZ9KTtcblx0fVxuXG5cdHB1YmxpYyByZWdpc3RlckNhcHRpb24odGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT4pOiB2b2lkIHtcblx0XHR0aGlzLmNhcHRpb25SZWYgPSB0ZW1wbGF0ZVJlZjtcblx0fVxuXG5cdHB1YmxpYyBnZXRXYXJuaW5nVG9TaG93KCk6IHN0cmluZyB8IFRlbXBsYXRlUmVmPGFueT4ge1xuXHRcdHJldHVybiB0aGlzLnBhcmVudD8uZ2V0V2FybmluZ1RvU2hvdyh0aGlzLmF0dGFjaGVkQ29udHJvbCk7XG5cdH1cblxuXHRwdWJsaWMgZ2V0V2FybmluZ1RvU2hvd0FzVGVtcGxhdGVSZWYoKTogVGVtcGxhdGVSZWY8YW55PiB7XG5cdFx0aWYgKHRoaXMucGFyZW50Py5nZXRXYXJuaW5nVG9TaG93KHRoaXMuYXR0YWNoZWRDb250cm9sKSBpbnN0YW5jZW9mIFRlbXBsYXRlUmVmKSB7XG5cdFx0XHRyZXR1cm4gdGhpcy5wYXJlbnQ/LmdldFdhcm5pbmdUb1Nob3codGhpcy5hdHRhY2hlZENvbnRyb2wpIGFzIFRlbXBsYXRlUmVmPGFueT47XG5cdFx0fVxuXHRcdHRocm93IG5ldyBFcnJvcignV2FybmluZyBpcyBub3QgYSBUZW1wbGF0ZVJlZicpO1xuXHR9XG5cblx0cHVibGljIGdldFdhcm5pbmdUb1Nob3dJc1RlbXBsYXRlUmVmKCk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiB0aGlzLmdldFdhcm5pbmdUb1Nob3coKSBpbnN0YW5jZW9mIFRlbXBsYXRlUmVmO1xuXHR9XG5cblx0Z2V0RXJyb3JUb1Nob3coKTogc3RyaW5nIHtcblx0XHRjb25zdCBmaXJzdEVycm9yID0gT2JqZWN0LmtleXModGhpcy5hdHRhY2hlZENvbnRyb2w/LmVycm9ycyA/PyB7fSlbMF07XG5cdFx0aWYgKHRoaXMuYXR0YWNoZWRDb250cm9sPy50b3VjaGVkICE9PSB0cnVlKSB7XG5cdFx0XHRyZXR1cm4gbnVsbDtcblx0XHR9XG5cdFx0aWYgKCF0aGlzLmF0dGFjaGVkQ29udHJvbD8uZXJyb3JzKSB7XG5cdFx0XHRyZXR1cm4gbnVsbDtcblx0XHR9XG5cdFx0cmV0dXJuIGZpcnN0RXJyb3I7XG5cdH1cblxuXHRnZXRDdXN0b21FcnJvckhhbmRsZXIoZXJyb3I6IHN0cmluZyk6IHsgZXJyb3I6IHN0cmluZzsgdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT4gfSB7XG5cdFx0cmV0dXJuIHRoaXMuY3VzdG9tRXJyb3JIYW5kbGVycy5maW5kKChlKSA9PiBlLmVycm9yID09PSBlcnJvcik7XG5cdH1cblxuXHRzaG93RGVmYXVsdEVycm9yKGVycm9yOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gdGhpcy5nZXRFcnJvclRvU2hvdygpID09PSBlcnJvciAmJiAhdGhpcy5jdXN0b21FcnJvckhhbmRsZXJzLnNvbWUoKGUpID0+IGUuZXJyb3IgPT09IGVycm9yKTtcblx0fVxuXG5cdGdldFNjcm9sbGFibGVQYXJlbnQobm9kZSk6IGFueSB7XG5cdFx0aWYgKG5vZGUgPT09IHdpbmRvdy5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpIHtcblx0XHRcdHJldHVybiB3aW5kb3cuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50O1xuXHRcdH1cblx0XHRjb25zdCBvdmVyZmxvd1kgPSBnZXRDb21wdXRlZFN0eWxlKG5vZGUpLm92ZXJmbG93WTtcblx0XHRpZiAobm9kZS5jbGllbnRIZWlnaHQgPCBub2RlLnNjcm9sbEhlaWdodCAmJiAob3ZlcmZsb3dZID09PSAnYXV0bycgfHwgb3ZlcmZsb3dZID09PSAnc2Nyb2xsJykpIHtcblx0XHRcdHJldHVybiBub2RlO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRyZXR1cm4gdGhpcy5nZXRTY3JvbGxhYmxlUGFyZW50KG5vZGUucGFyZW50Tm9kZSk7XG5cdFx0fVxuXHR9XG5cblx0c2Nyb2xsVG8oKTogdm9pZCB7XG5cdFx0Y29uc3QgcGFyZW50ID0gdGhpcy5nZXRTY3JvbGxhYmxlUGFyZW50KHRoaXMuaW50ZXJuYWxDb21wb25lbnRSZWYubmF0aXZlRWxlbWVudCk7XG5cdFx0Y29uc3QgcGFyZW50VG9wID0gcGFyZW50ID09PSB3aW5kb3cuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50ID8gMCA6IHBhcmVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS50b3A7XG5cdFx0Y29uc3QgZWxlbWVudFRvcCA9IHRoaXMuaW50ZXJuYWxDb21wb25lbnRSZWYubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS50b3A7XG5cdFx0Y29uc3QgcGFyZW50U2Nyb2xsVG9wID0gcGFyZW50LnNjcm9sbFRvcDtcblx0XHRjb25zdCBhbnN3ZXIgPSBlbGVtZW50VG9wIC0gcGFyZW50VG9wICsgcGFyZW50U2Nyb2xsVG9wO1xuXG5cdFx0cGFyZW50LnNjcm9sbFRvKHtcblx0XHRcdHRvcDogYW5zd2VyIC0gMzAsXG5cdFx0XHRiZWhhdmlvcjogJ3Ntb290aCdcblx0XHR9KTtcblx0fVxuXG5cdGlzUmVxdWlyZWQoKTogYm9vbGVhbiB7XG5cdFx0aWYgKGlzVmFsdWVTZXQodGhpcy5pbnB1dCkpIHtcblx0XHRcdHJldHVybiB0aGlzLmlucHV0Lmhhc1ZhbGlkYXRvcigncmVxdWlyZWQnKTtcblx0XHR9XG5cdFx0cmV0dXJuIGZhbHNlO1xuXHR9XG5cblx0Z2V0RXJyb3JNZXNzYWdlKGtleToga2V5b2YgRm9ybUVycm9yTWVzc2FnZXMpOiBzdHJpbmcge1xuXHRcdGlmIChrZXkgPT09ICdmb3JtTGV2ZWwnKSB7XG5cdFx0XHRyZXR1cm4gdGhpcy5hdHRhY2hlZENvbnRyb2wuZXJyb3JzPy5mb3JtTGV2ZWw7XG5cdFx0fVxuXHRcdHJldHVybiB0aGlzLmN1c3RvbU1lc3NhZ2VzPy5ba2V5XT8uKCkgPz8gdGhpcy5lcnJvck1lc3NhZ2VzW2tleV07XG5cdH1cblxuXHRwdWJsaWMgZ2V0RXJyb3JMb2NhdGlvbigpOiAnYmVsb3dDYXB0aW9uJyB8ICdyaWdodE9mQ2FwdGlvbicge1xuXHRcdHJldHVybiB0aGlzLnBhcmVudD8uZXJyb3JNZXNzYWdlTG9jYXRpb24gPz8gJ2JlbG93Q2FwdGlvbic7XG5cdH1cblxuXHRwdWJsaWMgc2hvdWxkU2hvd0Vycm9yVG9vbHRpcE9wZW5lZCgpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gdGhpcy5wb3B1cFN0YXRlID09PSAnbG9ja2VkT3Blbic7XG5cdH1cblxuXHRwdWJsaWMgaGFzSG92ZXJhYmxlRXJyb3JUb29sdGlwKCk6IGJvb2xlYW4ge1xuXHRcdGlmICghdGhpcy5oYXNSaWdodE9mQ2FwdGlvbkVycm9yKCkgJiYgIXRoaXMuZXJyb3JNZXNzYWdlQXNUb29sdGlwKSB7XG5cdFx0XHRyZXR1cm4gZmFsc2U7XG5cdFx0fVxuXHRcdGlmICh0aGlzLnBvcHVwU3RhdGUgIT09ICdvbkhvdmVyJykge1xuXHRcdFx0cmV0dXJuIGZhbHNlO1xuXHRcdH1cblx0XHRpZiAoc3RyaW5nSXNTZXRBbmRGaWxsZWQodGhpcy5nZXRFcnJvclRvU2hvdygpKSkge1xuXHRcdFx0cmV0dXJuICF0aGlzLmVycm9yRnVsbHlWaXNpYmxlO1xuXHRcdH1cblx0XHRpZiAoaXNWYWx1ZVNldCh0aGlzLmdldFdhcm5pbmdUb1Nob3coKSkpIHtcblx0XHRcdHJldHVybiB0cnVlO1xuXHRcdH1cblx0XHRyZXR1cm4gZmFsc2U7XG5cdH1cblxuXHRwdWJsaWMgaGFzUmlnaHRPZkNhcHRpb25FcnJvcigpOiBib29sZWFuIHtcblx0XHRpZiAodGhpcy5lcnJvck1lc3NhZ2VBc1Rvb2x0aXApIHtcblx0XHRcdHJldHVybiBmYWxzZTtcblx0XHR9XG5cdFx0aWYgKHRoaXMuZGlyZWN0aW9uICE9PSAndmVydGljYWwnIHx8IHRoaXMuZ2V0RXJyb3JMb2NhdGlvbigpICE9PSAncmlnaHRPZkNhcHRpb24nKSB7XG5cdFx0XHRyZXR1cm4gZmFsc2U7XG5cdFx0fVxuXHRcdHJldHVybiB0cnVlO1xuXHR9XG5cblx0cHVibGljIHNldEVycm9yTWVzc2FnZUlzVHJ1bmNhdGVkID0gKGlzVHJ1bmNhdGVkOiBib29sZWFuKSA9PiB7XG5cdFx0dGhpcy5lcnJvckZ1bGx5VmlzaWJsZSA9ICFpc1RydW5jYXRlZDtcblx0fVxuXG5cdHB1YmxpYyBzaG91bGRTaG93V2FybmluZ1BvcHVwKCk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBpc1ZhbHVlU2V0KHRoaXMuZ2V0V2FybmluZ1RvU2hvdygpKTtcblx0fVxuXG5cdHB1YmxpYyBjbG9zZVBvcHVwKCk6IHZvaWQge1xuXHRcdGNvbnN0IHByZXZTdGF0ZSA9IHRoaXMucG9wdXBTdGF0ZTtcblx0XHR0aGlzLnBvcHVwU3RhdGUgPSAnb25Ib3Zlcic7XG5cdFx0dGhpcy5zZXRVcEVycm9yVG9vbHRpcExpc3RlbmVycyhwcmV2U3RhdGUsIHRoaXMucG9wdXBTdGF0ZSk7XG5cdH1cblxuXHRwdWJsaWMgdG9nZ2xlUG9wdXAoKTogdm9pZCB7XG5cdFx0aWYgKCF0aGlzLmVycm9yTWVzc2FnZUFzVG9vbHRpcCAmJiAhdGhpcy5oYXNSaWdodE9mQ2FwdGlvbkVycm9yKCkpIHtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cdFx0aWYgKHRoaXMuZXJyb3JGdWxseVZpc2libGUpIHtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cdFx0Y29uc3QgcHJldlN0YXRlID0gdGhpcy5wb3B1cFN0YXRlO1xuXHRcdGlmICh0aGlzLnBvcHVwU3RhdGUgPT09ICdsb2NrZWRPcGVuJykge1xuXHRcdFx0dGhpcy5wb3B1cFN0YXRlID0gJ29uSG92ZXInO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHR0aGlzLnBvcHVwU3RhdGUgPSAnbG9ja2VkT3Blbic7XG5cdFx0fVxuXHRcdHRoaXMuc2V0VXBFcnJvclRvb2x0aXBMaXN0ZW5lcnMocHJldlN0YXRlLCB0aGlzLnBvcHVwU3RhdGUpO1xuXHR9XG5cblx0cHVibGljIHNldEVycm9yVG9vbHRpcE9mZnNldCA9ICgpOiB2b2lkID0+IHtcblx0XHRpZiAodGhpcy5wb3B1cFN0YXRlICE9PSAnbG9ja2VkT3BlbicgJiYgdGhpcy5wb3B1cFN0YXRlICE9PSAnb25Ib3ZlcicpIHtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cdFx0Y29uc3QgcG9wdXBPZmZzZXRZID0gdGhpcy5hYnNvbHV0ZUFuY2hvcj8ubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS50b3AgLSB0aGlzLmZpeGVkQW5jaG9yPy5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcDtcblx0XHRpZiAodGhpcy5maXhlZFdyYXBwZXI/Lm5hdGl2ZUVsZW1lbnQpIHtcblx0XHRcdHRoaXMuZml4ZWRXcmFwcGVyLm5hdGl2ZUVsZW1lbnQuc3R5bGUudHJhbnNmb3JtID0gYHRyYW5zbGF0ZVkoJHtwb3B1cE9mZnNldFl9cHgpYDtcblx0XHR9XG5cdH07XG5cblx0bmdPbkRlc3Ryb3koKTogdm9pZCB7XG5cdFx0dGhpcy5zdWJzY3JpcHRpb25zLmZvckVhY2goZSA9PiBlLnVuc3Vic2NyaWJlKCkpO1xuXHR9XG5cblx0cHJpdmF0ZSBpbml0aWFsaXplVGFpbFRwbCgpOiB2b2lkIHtcblx0XHRpZiAoc3RyaW5nSXNTZXRBbmRGaWxsZWQodGhpcy5nZXRFcnJvclRvU2hvdygpKSB8fCBpc1ZhbHVlU2V0KHRoaXMuZ2V0V2FybmluZ1RvU2hvdygpKSkge1xuXHRcdFx0aWYgKCFpc1ZhbHVlU2V0KHRoaXMuZmllbGRJbnB1dD8uZ2V0VGFpbFRwbCgpKSkge1xuXHRcdFx0XHR0aGlzLmZpZWxkSW5wdXQ/LnNldFRhaWxUcGwodGhpcy50YWlsVHBsKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cbiIsIjxkaXZcblx0Y2xhc3M9XCJjb21wb25lbnRDb250YWluZXJcIlxuXHRbbmdDbGFzc109XCJ7XG5cdFx0aGFzQ2FwdGlvbjogY2FwdGlvbiB8fCBjYXB0aW9uUmVmLFxuXHRcdHZlcnRpY2FsOiBkaXJlY3Rpb24gPT09ICd2ZXJ0aWNhbCcsXG5cdFx0aG9yaXpvbnRhbDogZGlyZWN0aW9uID09PSAnaG9yaXpvbnRhbCcsXG5cdFx0dG9wQWxpZ25tZW50OiB2ZXJ0aWNhbEFsaWdubWVudCA9PT0gJ3RvcCcsXG5cdFx0cmV2ZXJzZU9yZGVyOiBzd2FwSW5wdXRBbmRDYXB0aW9uLFxuXHRcdGhhc0Vycm9yczogZ2V0RXJyb3JUb1Nob3coKSAmJiBhdHRhY2hlZENvbnRyb2wudG91Y2hlZCxcblx0XHRwZXJjZW50YWdlU3BhY2luZzogY2FwdGlvblNwYWNpbmcgPT09ICdwZXJjZW50YWdlcycgJiYgc3BhY2VEaXN0cmlidXRpb24gIT09ICdmaXhlZElucHV0V2lkdGgnLFxuXHRcdCdkNDAtNjAnOiBzcGFjZURpc3RyaWJ1dGlvbiA9PT0gJzQwLTYwJyxcblx0XHQnZDMwLTcwJzogc3BhY2VEaXN0cmlidXRpb24gPT09ICczMC03MCcsXG5cdFx0J2QzNC02Nic6IHNwYWNlRGlzdHJpYnV0aW9uID09PSAnMzQtNjYnLFxuXHRcdCdmaXhlZElucHV0V2lkdGgnOiBzcGFjZURpc3RyaWJ1dGlvbiA9PT0gJ2ZpeGVkSW5wdXRXaWR0aCdcblx0fVwiXG4+XG5cdDxkaXYgY2xhc3M9XCJlcnJvckFib3ZlSW5wdXRDb250YWluZXJcIiAqbmdJZj1cImRpcmVjdGlvbiA9PT0gJ2hvcml6b250YWwnICYmICFlcnJvck1lc3NhZ2VBc1Rvb2x0aXBcIj5cblx0XHQ8ZGl2IGNsYXNzPVwic3BhY2VyXCI+PC9kaXY+XG5cdFx0PG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJlcnJvclJlZlwiPjwvbmctY29udGFpbmVyPlxuXHQ8L2Rpdj5cblxuXHQ8ZGl2IGNsYXNzPVwiY2FwdGlvbklucHV0QW5kRXJyb3JcIiAjaW50ZXJuYWxDb21wb25lbnRSZWY+XG5cdFx0PGRpdiBjbGFzcz1cImNhcHRpb25EdW1teUZvclNwYWNlQ2FsY3VsYXRpb25cIiAjY2FwdGlvbkR1bW15Rm9yU3BhY2VDYWxjdWxhdGlvbiAqbmdJZj1cImhhc1JpZ2h0T2ZDYXB0aW9uRXJyb3IoKVwiPlxuXHRcdFx0PG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJjYXB0aW9uVHBsXCIgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cIntmb3JDYWxjdWxhdGlvbjogdHJ1ZX1cIj48L25nLWNvbnRhaW5lcj5cblx0XHQ8L2Rpdj5cblx0XHQ8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImNhcHRpb25UcGxcIj48L25nLWNvbnRhaW5lcj5cblx0XHQ8bmctY29udGFpbmVyICpuZ0lmPVwiZGlyZWN0aW9uID09PSAndmVydGljYWwnICYmIGdldEVycm9yTG9jYXRpb24oKSA9PT0gJ2JlbG93Q2FwdGlvbicgJiYgIWVycm9yTWVzc2FnZUFzVG9vbHRpcFwiIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImVycm9yUmVmXCI+PC9uZy1jb250YWluZXI+XG5cdFx0PGRpdiBjbGFzcz1cImlucHV0Q29udGFpbmVyXCIgI2lucHV0Q29udGFpbmVyPlxuXHRcdFx0PG5nLWNvbnRhaW5lciAqbmdJZj1cImVycm9yTWVzc2FnZUFzVG9vbHRpcCAmJiBzaG91bGRTaG93RXJyb3JNZXNzYWdlcygpICYmIGdldEVycm9yVG9TaG93KClcIj5cblx0XHRcdFx0PGRpdiBjbGFzcz1cImVycm9yVG9vbHRpcFRyaWFuZ2xlXCI+PC9kaXY+XG5cdFx0XHRcdDxkaXYgY2xhc3M9XCJlcnJvclRvb2x0aXBUcmlhbmdsZVdoaXRlXCI+PC9kaXY+XG5cdFx0XHRcdDxkaXYgY2xhc3M9XCJlcnJvclRvb2x0aXBcIj5cblx0XHRcdFx0XHQ8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImVycm9yUmVmXCI+PC9uZy1jb250YWluZXI+XG5cdFx0XHRcdDwvZGl2PlxuXHRcdFx0PC9uZy1jb250YWluZXI+XG5cdFx0XHQ8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG5cdFx0PC9kaXY+XG5cdDwvZGl2PlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjY2FwdGlvblRwbCBsZXQtZm9yQ2FsY3VsYXRpb249XCJmb3JDYWxjdWxhdGlvblwiPlxuXHQ8ZGl2IGNsYXNzPVwiY2FwdGlvblwiXG5cdFx0Km5nSWY9XCJjYXB0aW9uIHx8IGNhcHRpb25SZWZcIlxuXHRcdFtuZ0NsYXNzXT1cIntcblx0XHRcdHdpdGhFcnJvclJpZ2h0T2ZDYXB0aW9uOiBnZXRFcnJvckxvY2F0aW9uKCkgPT09ICdyaWdodE9mQ2FwdGlvbidcblx0XHR9XCJcblx0PlxuXHRcdDxkaXYgKm5nSWY9XCJjYXB0aW9uUmVmXCIgY2xhc3M9XCJjYXB0aW9uUmVmQ29udGFpbmVyXCI+XG5cdFx0XHQ8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImNhcHRpb25SZWZcIj48L25nLWNvbnRhaW5lcj5cblx0XHRcdDxkaXYgKm5nSWY9XCJpc1JlcXVpcmVkKClcIj4mbmJzcDsqPC9kaXY+XG5cdFx0PC9kaXY+XG5cdFx0PGRpdiAqbmdJZj1cIiFjYXB0aW9uUmVmXCIgY2xhc3M9XCJjYXB0aW9uVGV4dFwiPnt7Y2FwdGlvbn19PHNwYW4gKm5nSWY9XCJpc1JlcXVpcmVkKClcIj4mbmJzcDsqPC9zcGFuPjwvZGl2PlxuXHRcdDxkaXYgY2xhc3M9XCJyaWdodE9mQ2FwdGlvbkVycm9yXCIgKm5nSWY9XCJoYXNSaWdodE9mQ2FwdGlvbkVycm9yKClcIiBbbmdDbGFzc109XCJ7ZXJyb3JGdWxseVZpc2libGU6IGVycm9yRnVsbHlWaXNpYmxlLCBlcnJvck1lc3NhZ2VIYXNNYXhXaWR0aDogZXJyb3JNZXNzYWdlSGFzTWF4V2lkdGh9XCI+XG5cdFx0XHQ8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImVycm9yUmVmXCIgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cIntmb3JDYWxjdWxhdGlvbjogZm9yQ2FsY3VsYXRpb259XCI+PC9uZy1jb250YWluZXI+XG5cdFx0PC9kaXY+XG5cdDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNlcnJvclJlZiBsZXQtZm9yQ2FsY3VsYXRpb249XCJmb3JDYWxjdWxhdGlvblwiPlxuXHQ8ZGl2ICpuZ0lmPVwic2hvdWxkU2hvd0Vycm9yTWVzc2FnZXMoKSAmJiBnZXRFcnJvclRvU2hvdygpXCIgY2xhc3M9XCJlcnJvckNvbnRhaW5lclwiIFtlbGVtZW50SXNUcnVuY2F0ZWRDYl09XCJmb3JDYWxjdWxhdGlvbiA/IHNldEVycm9yTWVzc2FnZUlzVHJ1bmNhdGVkIDogbnVsbFwiIFtuZ0NsYXNzXT1cIntob3Jpem9udGFsOiBkaXJlY3Rpb24gPT09ICdob3Jpem9udGFsJywgaGFzQ2FwdGlvbjogY2FwdGlvbiB8fCBjYXB0aW9uUmVmLCAnZDMwLTcwJzogc3BhY2VEaXN0cmlidXRpb24gPT09ICczMC03MCcsICdkMzQtNjYnOiBzcGFjZURpc3RyaWJ1dGlvbiA9PT0gJzM0LTY2J31cIj5cblx0XHQ8ZGl2ICpuZ0lmPVwic2hvd0RlZmF1bHRFcnJvcignbWluJylcIj57e3N1YnN0aXR1dGVQYXJhbWV0ZXJzKGdldEVycm9yTWVzc2FnZShcIm1pblwiKSwge21pbjogYXR0YWNoZWRDb250cm9sLmVycm9ycy5taW4ubWlufSl9fTwvZGl2PlxuXHRcdDxkaXYgKm5nSWY9XCJzaG93RGVmYXVsdEVycm9yKCdtYXgnKVwiPnt7c3Vic3RpdHV0ZVBhcmFtZXRlcnMoZ2V0RXJyb3JNZXNzYWdlKFwibWF4XCIpLCB7bWF4OiBhdHRhY2hlZENvbnRyb2wuZXJyb3JzLm1heC5tYXh9KX19PC9kaXY+XG5cdFx0PGRpdiAqbmdJZj1cInNob3dEZWZhdWx0RXJyb3IoJ3JlcXVpcmVkJylcIj57e2dldEVycm9yTWVzc2FnZShcInJlcXVpcmVkXCIpfX08L2Rpdj5cblx0XHQ8ZGl2ICpuZ0lmPVwic2hvd0RlZmF1bHRFcnJvcignZW1haWwnKVwiPnt7Z2V0RXJyb3JNZXNzYWdlKFwiZW1haWxcIil9fTwvZGl2PlxuXHRcdDxkaXYgKm5nSWY9XCJzaG93RGVmYXVsdEVycm9yKCdtaW5sZW5ndGgnKVwiPnt7c3Vic3RpdHV0ZVBhcmFtZXRlcnMoZ2V0RXJyb3JNZXNzYWdlKFwibWluTGVuZ3RoXCIpLCB7bWluTGVuZ3RoOiBhdHRhY2hlZENvbnRyb2wuZXJyb3JzLm1pbmxlbmd0aC5yZXF1aXJlZExlbmd0aH0pfX08L2Rpdj5cblx0XHQ8ZGl2ICpuZ0lmPVwic2hvd0RlZmF1bHRFcnJvcignbWF4bGVuZ3RoJylcIj57e3N1YnN0aXR1dGVQYXJhbWV0ZXJzKGdldEVycm9yTWVzc2FnZShcIm1heExlbmd0aFwiKSwge21heExlbmd0aDogYXR0YWNoZWRDb250cm9sLmVycm9ycy5tYXhsZW5ndGgucmVxdWlyZWRMZW5ndGh9KX19PC9kaXY+XG5cdFx0PGRpdiAqbmdJZj1cInNob3dEZWZhdWx0RXJyb3IoJ3BhdHRlcm4nKVwiPnt7Z2V0RXJyb3JNZXNzYWdlKFwicGF0dGVyblwiKX19PC9kaXY+XG5cdFx0PGRpdiAqbmdJZj1cInNob3dEZWZhdWx0RXJyb3IoJ01hdGNoUGFzc3dvcmQnKVwiPnt7Z2V0RXJyb3JNZXNzYWdlKFwibWF0Y2hQYXNzd29yZFwiKX19PC9kaXY+XG5cdFx0PGRpdiAqbmdJZj1cInNob3dEZWZhdWx0RXJyb3IoJ2RhdGUnKVwiPnt7Z2V0RXJyb3JNZXNzYWdlKFwiZGF0ZVwiKX19PC9kaXY+XG5cdFx0PGRpdiAqbmdJZj1cInNob3dEZWZhdWx0RXJyb3IoJ21lc3NhZ2UnKVwiPnt7YXR0YWNoZWRDb250cm9sLmVycm9ycy5tZXNzYWdlLnZhbHVlfX08L2Rpdj5cblx0XHQ8ZGl2ICpuZ0lmPVwic2hvd0RlZmF1bHRFcnJvcignZm9ybUxldmVsJylcIj57e2dldEVycm9yTWVzc2FnZShcImZvcm1MZXZlbFwiKX19PC9kaXY+XG5cdFx0PGRpdiBbbmdUZW1wbGF0ZU91dGxldF09XCJnZXRDdXN0b21FcnJvckhhbmRsZXIoZ2V0RXJyb3JUb1Nob3coKSk/LnRlbXBsYXRlUmVmXCI+PC9kaXY+XG5cdDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICN0YWlsVHBsPlxuXHQ8ZGl2IGNsYXNzPVwiZXJyb3JUb29sdGlwQ29udGFpbmVyXCIgW25nQ2xhc3NdPVwie2Fsd2F5c09wZW46IHNob3VsZFNob3dFcnJvclRvb2x0aXBPcGVuZWQoKX1cIj5cblx0XHQ8bmctY29udGFpbmVyICpuZ0lmPVwiaGFzSG92ZXJhYmxlRXJyb3JUb29sdGlwKCkgfHwgc2hvdWxkU2hvd0Vycm9yVG9vbHRpcE9wZW5lZCgpXCI+XG5cdFx0XHQ8ZGl2IGNsYXNzPVwiZXJyb3JUb29sdGlwVHJpYW5nbGVcIj48L2Rpdj5cblx0XHRcdDxkaXYgY2xhc3M9XCJlcnJvclRvb2x0aXBUcmlhbmdsZVdoaXRlXCI+PC9kaXY+XG5cblx0XHRcdDxkaXYgY2xhc3M9XCJhYnNvbHV0ZUFuY2hvclwiICNhYnNvbHV0ZUFuY2hvcj48L2Rpdj5cblx0XHRcdDxkaXYgY2xhc3M9XCJmaXhlZEFuY2hvclwiICNmaXhlZEFuY2hvciBbb25SZW5kZXJGbl09XCJzZXRFcnJvclRvb2x0aXBPZmZzZXRcIj48L2Rpdj5cblx0XHRcdDxkaXYgY2xhc3M9XCJmaXhlZFdyYXBwZXJcIiAjZml4ZWRXcmFwcGVyPlxuXHRcdFx0XHQ8ZGl2IGNsYXNzPVwiZXJyb3JUb29sdGlwXCIgW25nQ2xhc3NdPVwie25vUG9pbnRlckV2ZW50czogIXNob3VsZFNob3dFcnJvclRvb2x0aXBPcGVuZWQoKX1cIj5cblx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwiZXJyb3JUb29sdGlwSW5uZXJcIj5cblx0XHRcdFx0XHRcdDxpIGNsYXNzPVwiY2xvc2VCdG5cIiAoY2xpY2spPVwiY2xvc2VQb3B1cCgpO1wiPsOXPC9pPlxuXHRcdFx0XHRcdFx0PG5nLWNvbnRhaW5lciAqbmdJZj1cImdldEVycm9yVG9TaG93KClcIiBbbmdUZW1wbGF0ZU91dGxldF09XCJlcnJvclJlZlwiPjwvbmctY29udGFpbmVyPlxuXHRcdFx0XHRcdFx0PGRpdiAqbmdJZj1cIiFnZXRFcnJvclRvU2hvdygpICYmIHNob3VsZFNob3dXYXJuaW5nUG9wdXAoKVwiPlxuXHRcdFx0XHRcdFx0XHQ8bmctY29udGFpbmVyICpuZ0lmPVwiZ2V0V2FybmluZ1RvU2hvd0lzVGVtcGxhdGVSZWYoKVwiIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImdldFdhcm5pbmdUb1Nob3dBc1RlbXBsYXRlUmVmKClcIj48L25nLWNvbnRhaW5lcj5cblx0XHRcdFx0XHRcdFx0PHNwYW4gKm5nSWY9XCIhZ2V0V2FybmluZ1RvU2hvd0lzVGVtcGxhdGVSZWYoKVwiPnt7Z2V0V2FybmluZ1RvU2hvdygpfX08L3NwYW4+XG5cdFx0XHRcdFx0XHQ8L2Rpdj5cblx0XHRcdFx0XHQ8L2Rpdj5cblx0XHRcdFx0PC9kaXY+XG5cdFx0XHQ8L2Rpdj5cblxuXHRcdDwvbmctY29udGFpbmVyPlxuXHRcdDxrbHAtZm9ybS13YXJuaW5nLWljb24gdmFyaWFudD1cImZpbGxcIiAqbmdJZj1cImdldEVycm9yVG9TaG93KClcIiAoY2xpY2spPVwidG9nZ2xlUG9wdXAoKVwiPjwva2xwLWZvcm0td2FybmluZy1pY29uPlxuXHRcdDxrbHAtZm9ybS13YXJuaW5nLWljb24gdmFyaWFudD1cImxpbmVcIiAqbmdJZj1cIiFnZXRFcnJvclRvU2hvdygpICYmIGdldFdhcm5pbmdUb1Nob3coKVwiIChjbGljayk9XCJ0b2dnbGVQb3B1cCgpXCI+PC9rbHAtZm9ybS13YXJuaW5nLWljb24+XG5cdDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
317
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1lbGVtZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tsaXBwYS9uZ3gtZW5oYW5jeS1mb3Jtcy9zcmMvbGliL2Zvcm0vZm9ybS1lbGVtZW50L2Zvcm0tZWxlbWVudC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rbGlwcGEvbmd4LWVuaGFuY3ktZm9ybXMvc3JjL2xpYi9mb3JtL2Zvcm0tZWxlbWVudC9mb3JtLWVsZW1lbnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVOLFNBQVMsRUFDVCxZQUFZLEVBRVosTUFBTSxFQUNOLGNBQWMsRUFDZCxLQUFLLEVBQ0wsUUFBUSxFQUNSLFdBQVcsRUFDWCxTQUFTLEVBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFrQixpQkFBaUIsRUFBcUIsTUFBTSxnQkFBZ0IsQ0FBQztBQUd0RixPQUFPLEVBQUMsVUFBVSxFQUFFLG9CQUFvQixFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFFbkUsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7QUFJeEQsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsSUFBSSxjQUFjLENBQXNCLHFCQUFxQixDQUFDLENBQUM7QUFFbEcsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQXNCO0lBQ3hELEdBQUcsRUFBRSxnQ0FBZ0M7SUFDckMsR0FBRyxFQUFFLGlDQUFpQztJQUN0QyxRQUFRLEVBQUUsVUFBVTtJQUNwQixLQUFLLEVBQUUsMkJBQTJCO0lBQ2xDLFNBQVMsRUFBRSxnREFBZ0Q7SUFDM0QsU0FBUyxFQUFFLGlEQUFpRDtJQUM1RCxPQUFPLEVBQUUseUJBQXlCO0lBQ2xDLGFBQWEsRUFBRSxzQkFBc0I7SUFDckMsSUFBSSxFQUFFLG9CQUFvQjtDQUMxQixDQUFDO0FB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Z0JBQ1UsaUJBQWlCO3NCQUFoQyxLQUFLO2dCQUNVLG1CQUFtQjtzQkFBbEMsS0FBSztnQkFDVSxxQkFBcUI7c0JBQXBDLEtBQUs7Z0JBQ1UsdUJBQXVCO3NCQUF0QyxLQUFLO2dCQUNvQyxvQkFBb0I7c0JBQTdELFNBQVM7dUJBQUMsc0JBQXNCO2dCQUNKLE9BQU87c0JBQW5DLFNBQVM7dUJBQUMsU0FBUztnQkFDaUMsK0JBQStCO3NCQUFuRixTQUFTO3VCQUFDLGlDQUFpQztnQkFDUixjQUFjO3NCQUFqRCxTQUFTO3VCQUFDLGdCQUFnQjtnQkFDTSxXQUFXO3NCQUEzQyxTQUFTO3VCQUFDLGFBQWE7Z0JBQ1UsWUFBWTtzQkFBN0MsU0FBUzt1QkFBQyxjQUFjO2dCQUNXLGNBQWM7c0JBQWpELFNBQVM7dUJBQUMsZ0JBQWdCO2dCQUNNLFVBQVU7c0JBQTFDLFlBQVk7dUJBQUMsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcblx0QWZ0ZXJWaWV3SW5pdCxcblx0Q29tcG9uZW50LFxuXHRDb250ZW50Q2hpbGQsXG5cdEVsZW1lbnRSZWYsXG5cdEluamVjdCxcblx0SW5qZWN0aW9uVG9rZW4sXG5cdElucHV0LCBOZ1pvbmUsIE9uRGVzdHJveSxcblx0T3B0aW9uYWwsXG5cdFRlbXBsYXRlUmVmLFxuXHRWaWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0Fic3RyYWN0Q29udHJvbCwgTkdfVkFMVUVfQUNDRVNTT1IsIFVudHlwZWRGb3JtQ29udHJvbH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtWYWx1ZUFjY2Vzc29yQmFzZX0gZnJvbSAnLi4vLi4vZWxlbWVudHMvdmFsdWUtYWNjZXNzb3ItYmFzZS92YWx1ZS1hY2Nlc3Nvci1iYXNlLmNvbXBvbmVudCc7XG5pbXBvcnQge0N1c3RvbUVycm9yTWVzc2FnZXMsIEZvcm1FcnJvck1lc3NhZ2VzfSBmcm9tICcuLi8uLi90eXBlcyc7XG5pbXBvcnQge2lzVmFsdWVTZXQsIHN0cmluZ0lzU2V0QW5kRmlsbGVkfSBmcm9tICcuLi8uLi91dGlsL3ZhbHVlcyc7XG5pbXBvcnQge0Zvcm1Db21wb25lbnR9IGZyb20gJy4uL2Zvcm0uY29tcG9uZW50JztcbmltcG9ydCB7Z2V0QWxsTGltaXRpbmdDb250YWluZXJzfSBmcm9tICcuLi8uLi91dGlsL2RvbSc7XG5pbXBvcnQge1N1YnNjcmlwdGlvbn0gZnJvbSBcInJ4anNcIjtcblxuXG5leHBvcnQgY29uc3QgRk9STV9FUlJPUl9NRVNTQUdFUyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxDdXN0b21FcnJvck1lc3NhZ2VzPignZm9ybS5lcnJvci5tZXNzYWdlcycpO1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9FUlJPUl9NRVNTQUdFUzogRm9ybUVycm9yTWVzc2FnZXMgPSB7XG5cdG1pbjogJ1VzZSBhIG51bWJlciBsYXJnZXIgdGhhbiAlbWluJScsXG5cdG1heDogJ1VzZSBhIG51bWJlciBzbWFsbGVyIHRoYW4gJW1heCUnLFxuXHRyZXF1aXJlZDogJ1JlcXVpcmVkJyxcblx0ZW1haWw6ICdVc2UgYSB2YWxpZCBlbWFpbCBhZGRyZXNzJyxcblx0bWluTGVuZ3RoOiAnSGFzIHRvIGJlIGxvbmdlciB0aGFuICVtaW5MZW5ndGglIGNoYXJhY3RlcihzKScsXG5cdG1heExlbmd0aDogJ0hhcyB0byBiZSBzaG9ydGVyIHRoYW4gJW1heExlbmd0aCUgY2hhcmFjdGVyKHMpJyxcblx0cGF0dGVybjogJ1RoaXMgaW5wdXQgaXMgbm90IHZhbGlkJyxcblx0bWF0Y2hQYXNzd29yZDogJ1Bhc3N3b3JkcyBtdXN0IG1hdGNoJyxcblx0ZGF0ZTogJ0VudGVyIGEgdmFsaWQgZGF0ZScsXG59O1xuXG50eXBlIFBvcHVwU3RhdGUgPSAnb25Ib3ZlcicgfCAnbG9ja2VkT3Blbic7XG5cbkBDb21wb25lbnQoe1xuXHRzZWxlY3RvcjogJ2tscC1mb3JtLWVsZW1lbnQnLFxuXHR0ZW1wbGF0ZVVybDogJy4vZm9ybS1lbGVtZW50LmNvbXBvbmVudC5odG1sJyxcblx0c3R5bGVVcmxzOiBbJy4vZm9ybS1lbGVtZW50LmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1FbGVtZW50Q29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcblx0cHVibGljIGF0dGFjaGVkQ29udHJvbDogQWJzdHJhY3RDb250cm9sO1xuXHRASW5wdXQoKSBwdWJsaWMgY2FwdGlvbjogc3RyaW5nO1xuXHRASW5wdXQoKSBwdWJsaWMgZGlyZWN0aW9uOiAnaG9yaXpvbnRhbCcgfCAndmVydGljYWwnID0gJ2hvcml6b250YWwnO1xuXHRASW5wdXQoKSBwdWJsaWMgY2FwdGlvblNwYWNpbmc6ICdwZXJjZW50YWdlcycgfCAnbm9uZScgPSAncGVyY2VudGFnZXMnO1xuXHRASW5wdXQoKSBwdWJsaWMgdmVydGljYWxBbGlnbm1lbnQ6ICdjZW50ZXInIHwgJ3RvcCcgPSAnY2VudGVyJztcblx0QElucHV0KCkgcHVibGljIHNwYWNlRGlzdHJpYnV0aW9uOiAnNDAtNjAnIHwgJzM0LTY2JyB8ICczMC03MCcgfCAnZml4ZWRJbnB1dFdpZHRoJyB8ICdmaXhlZENhcHRpb25XaWR0aCcgPSAnNDAtNjAnO1xuXHRASW5wdXQoKSBwdWJsaWMgc3dhcElucHV0QW5kQ2FwdGlvbiA9IGZhbHNlO1xuXHRASW5wdXQoKSBwdWJsaWMgZXJyb3JNZXNzYWdlQXNUb29sdGlwID0gZmFsc2U7XG5cdEBJbnB1dCgpIHB1YmxpYyBlcnJvck1lc3NhZ2VIYXNNYXhXaWR0aCA9IHRydWU7XG5cdEBWaWV3Q2hpbGQoJ2ludGVybmFsQ29tcG9uZW50UmVmJykgcHVibGljIGludGVybmFsQ29tcG9uZW50UmVmOiBFbGVtZW50UmVmO1xuXHRAVmlld0NoaWxkKCd0YWlsVHBsJykgcHVibGljIHRhaWxUcGw6IFRlbXBsYXRlUmVmPGFueT47XG5cdEBWaWV3Q2hpbGQoJ2NhcHRpb25EdW1teUZvclNwYWNlQ2FsY3VsYXRpb24nKSBwdWJsaWMgY2FwdGlvbkR1bW15Rm9yU3BhY2VDYWxjdWxhdGlvbjogRWxlbWVudFJlZjtcblx0QFZpZXdDaGlsZCgnYWJzb2x1dGVBbmNob3InKSBwdWJsaWMgYWJzb2x1dGVBbmNob3I6IEVsZW1lbnRSZWY7XG5cdEBWaWV3Q2hpbGQoJ2ZpeGVkQW5jaG9yJykgcHVibGljIGZpeGVkQW5jaG9yOiBFbGVtZW50UmVmO1xuXHRAVmlld0NoaWxkKCdmaXhlZFdyYXBwZXInKSBwdWJsaWMgZml4ZWRXcmFwcGVyOiBFbGVtZW50UmVmO1xuXHRAVmlld0NoaWxkKCdpbnB1dENvbnRhaW5lcicpIHB1YmxpYyBpbnB1dENvbnRhaW5lcjogRWxlbWVudFJlZjtcblx0QENvbnRlbnRDaGlsZChOR19WQUxVRV9BQ0NFU1NPUikgZmllbGRJbnB1dDogVmFsdWVBY2Nlc3NvckJhc2U8YW55PjtcblxuXHRwdWJsaWMgY2FwdGlvblJlZjogVGVtcGxhdGVSZWY8YW55Pjtcblx0cHVibGljIGNhcHRpb25FbmRSZWY6IFRlbXBsYXRlUmVmPGFueT47XG5cdHB1YmxpYyBlcnJvck1lc3NhZ2VzOiBGb3JtRXJyb3JNZXNzYWdlcyA9IERFRkFVTFRfRVJST1JfTUVTU0FHRVM7XG5cdHB1YmxpYyBjdXN0b21FcnJvckhhbmRsZXJzOiBBcnJheTx7IGVycm9yOiBzdHJpbmc7IHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+IH0+ID0gW107XG5cdHByaXZhdGUgaW5wdXQ6IFZhbHVlQWNjZXNzb3JCYXNlPGFueT47XG5cdHB1YmxpYyBlcnJvckZ1bGx5VmlzaWJsZTogYm9vbGVhbjtcblx0cHJpdmF0ZSBwb3B1cFN0YXRlOiBQb3B1cFN0YXRlID0gJ29uSG92ZXInO1xuXHRwcml2YXRlIHN1YnNjcmlwdGlvbnM6IEFycmF5PFN1YnNjcmlwdGlvbj4gPSBbXTtcblxuXHRjb25zdHJ1Y3Rvcihcblx0XHRAT3B0aW9uYWwoKSBwcml2YXRlIHBhcmVudDogRm9ybUNvbXBvbmVudCxcblx0XHRASW5qZWN0KEZPUk1fRVJST1JfTUVTU0FHRVMpIEBPcHRpb25hbCgpIHByaXZhdGUgY3VzdG9tTWVzc2FnZXM6IEN1c3RvbUVycm9yTWVzc2FnZXMsXG5cdFx0cHJpdmF0ZSBlbFJlZjogRWxlbWVudFJlZixcblx0XHRwcml2YXRlIG5nWm9uZTogTmdab25lLFxuXHQpIHtcblx0fVxuXG5cdGFzeW5jIG5nQWZ0ZXJWaWV3SW5pdCgpOiBQcm9taXNlPHZvaWQ+IHtcblx0XHRjb25zdCBzdWJzY3JpcHRpb24gPSB0aGlzLmZpZWxkSW5wdXQ/Lm9uVG91Y2guYXNPYnNlcnZhYmxlKCkuc3Vic2NyaWJlKCgpID0+IHtcblx0XHRcdHRoaXMuZGV0ZXJtaW5lUG9wdXBTdGF0ZSgpO1xuXHRcdH0pO1xuXHRcdGlmIChpc1ZhbHVlU2V0KHN1YnNjcmlwdGlvbikpICB7XG5cdFx0XHR0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChzdWJzY3JpcHRpb24pO1xuXHRcdH1cblx0XHR0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG5cdFx0XHR0aGlzLmlucHV0Q29udGFpbmVyPy5uYXRpdmVFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZW50ZXInLCAoKSA9PiB7XG5cdFx0XHRcdHRoaXMuc2V0RXJyb3JUb29sdGlwT2Zmc2V0KCk7XG5cdFx0XHR9KTtcblx0XHR9KTtcblx0fVxuXG5cdHB1YmxpYyBzaG91bGRTaG93RXJyb3JNZXNzYWdlcygpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gdGhpcy5wYXJlbnQ/LnNob3dFcnJvck1lc3NhZ2VzICE9PSBmYWxzZTtcblx0fVxuXG5cdHB1YmxpYyBzdWJzdGl0dXRlUGFyYW1ldGVycyhtZXNzYWdlOiBzdHJpbmcsIHBhcmFtZXRlcnM6IFJlY29yZDxzdHJpbmcsIGFueT4pOiBzdHJpbmcge1xuXHRcdHJldHVybiBPYmplY3Qua2V5cyhwYXJhbWV0ZXJzKS5yZWR1Y2UoKG1zZywga2V5KSA9PiB7XG5cdFx0XHRyZXR1cm4gbXNnLnJlcGxhY2UoYCUke2tleX0lYCwgcGFyYW1ldGVyc1trZXldKTtcblx0XHR9LCBtZXNzYWdlKTtcblx0fVxuXG5cdHB1YmxpYyByZWdpc3RlckNvbnRyb2woZm9ybUNvbnRyb2w6IFVudHlwZWRGb3JtQ29udHJvbCwgaW5wdXQ6IFZhbHVlQWNjZXNzb3JCYXNlPGFueT4gPSBudWxsKTogKCkgPT4gYW55IHtcblx0XHR0aGlzLmF0dGFjaGVkQ29udHJvbCA9IGZvcm1Db250cm9sO1xuXHRcdHRoaXMuaW5wdXQgPSBpbnB1dDtcblx0XHRjb25zdCBnZXRJbW11dGFibGVWYWx1ZUZuID0gdGhpcy5wYXJlbnQucmVnaXN0ZXJDb250cm9sKGZvcm1Db250cm9sLCB0aGlzKTtcblxuXG5cdFx0Y29uc3Qgc3Vic2NyaXB0aW9uID0gdGhpcy5hdHRhY2hlZENvbnRyb2wuc3RhdHVzQ2hhbmdlcy5zdWJzY3JpYmUoKCkgPT4ge1xuXHRcdFx0dGhpcy5kZXRlcm1pbmVQb3B1cFN0YXRlKCk7XG5cdFx0fSk7XG5cdFx0dGhpcy5zdWJzY3JpcHRpb25zLnB1c2goc3Vic2NyaXB0aW9uKTtcblx0XHR0aGlzLmRldGVybWluZVBvcHVwU3RhdGUoKTtcblx0XHRyZXR1cm4gZ2V0SW1tdXRhYmxlVmFsdWVGbjtcblx0fVxuXG5cdHB1YmxpYyBkZXRlcm1pbmVQb3B1cFN0YXRlKCk6IHZvaWQge1xuXHRcdGNvbnN0IHByZXZTdGF0ZSA9IHRoaXMucG9wdXBTdGF0ZTtcblx0XHR0aGlzLmluaXRpYWxpemVUYWlsVHBsKCk7XG5cdFx0aWYgKHN0cmluZ0lzU2V0QW5kRmlsbGVkKHRoaXMuZ2V0RXJyb3JUb1Nob3coKSkpIHtcblx0XHRcdHRoaXMucG9wdXBTdGF0ZSA9ICdvbkhvdmVyJztcblx0XHR9IGVsc2UgaWYgKGlzVmFsdWVTZXQodGhpcy5nZXRXYXJuaW5nVG9TaG93KCkpKSB7XG5cdFx0XHR0aGlzLnBvcHVwU3RhdGUgPSAnbG9ja2VkT3Blbic7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHRoaXMucG9wdXBTdGF0ZSA9ICdvbkhvdmVyJztcblx0XHR9XG5cblx0XHR0aGlzLnNldFVwRXJyb3JUb29sdGlwTGlzdGVuZXJzKHByZXZTdGF0ZSwgdGhpcy5wb3B1cFN0YXRlKTtcblx0fVxuXG5cdHByaXZhdGUgc2V0VXBFcnJvclRvb2x0aXBMaXN0ZW5lcnMocHJldjogUG9wdXBTdGF0ZSwgY3VycmVudDogUG9wdXBTdGF0ZSk6IHZvaWQge1xuXHRcdGlmIChwcmV2ID09PSBjdXJyZW50KSB7XG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXHRcdGNvbnN0IGNvbnRhaW5lcnMgPSBbLi4uZ2V0QWxsTGltaXRpbmdDb250YWluZXJzKHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudCksIHdpbmRvd107XG5cdFx0dGhpcy5uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuXHRcdFx0aWYgKGN1cnJlbnQgPT09ICdsb2NrZWRPcGVuJykge1xuXHRcdFx0XHRjb250YWluZXJzLmZvckVhY2goZSA9PiB7XG5cdFx0XHRcdFx0ZS5hZGRFdmVudExpc3RlbmVyKCdzY3JvbGwnLCB0aGlzLnNldEVycm9yVG9vbHRpcE9mZnNldCk7XG5cdFx0XHRcdH0pO1xuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0Y29udGFpbmVycy5mb3JFYWNoKGUgPT4ge1xuXHRcdFx0XHRcdGUucmVtb3ZlRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgdGhpcy5zZXRFcnJvclRvb2x0aXBPZmZzZXQpO1xuXHRcdFx0XHR9KTtcblx0XHRcdH1cblx0XHR9KTtcblx0fVxuXG5cdHB1YmxpYyB1bnJlZ2lzdGVyQ29udHJvbChmb3JtQ29udHJvbDogVW50eXBlZEZvcm1Db250cm9sKTogdm9pZCB7XG5cdFx0dGhpcy5hdHRhY2hlZENvbnRyb2wgPSBudWxsO1xuXHRcdHRoaXMucGFyZW50LnVucmVnaXN0ZXJDb250cm9sKGZvcm1Db250cm9sKTtcblx0fVxuXG5cdHB1YmxpYyBnZXRBdHRhY2hlZENvbnRyb2woKTogQWJzdHJhY3RDb250cm9sIHtcblx0XHRyZXR1cm4gdGhpcy5hdHRhY2hlZENvbnRyb2w7XG5cdH1cblxuXHRwdWJsaWMgZ2V0QXR0YWNoZWRJbnB1dCgpOiBWYWx1ZUFjY2Vzc29yQmFzZTxhbnk+IHtcblx0XHRyZXR1cm4gdGhpcy5pbnB1dDtcblx0fVxuXG5cdHB1YmxpYyByZWdpc3RlckVycm9ySGFuZGxlcihlcnJvcjogc3RyaW5nLCB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55Pik6IHZvaWQge1xuXHRcdHRoaXMuY3VzdG9tRXJyb3JIYW5kbGVycy5wdXNoKHtlcnJvciwgdGVtcGxhdGVSZWZ9KTtcblx0fVxuXG5cdHB1YmxpYyByZWdpc3RlckNhcHRpb24odGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT4pOiB2b2lkIHtcblx0XHR0aGlzLmNhcHRpb25SZWYgPSB0ZW1wbGF0ZVJlZjtcblx0fVxuXG5cdHB1YmxpYyByZWdpc3RlckNhcHRpb25FbmQodGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT4pOiB2b2lkIHtcblx0XHR0aGlzLmNhcHRpb25FbmRSZWYgPSB0ZW1wbGF0ZVJlZjtcblx0fVxuXG5cdHB1YmxpYyBnZXRXYXJuaW5nVG9TaG93KCk6IHN0cmluZyB8IFRlbXBsYXRlUmVmPGFueT4ge1xuXHRcdHJldHVybiB0aGlzLnBhcmVudD8uZ2V0V2FybmluZ1RvU2hvdyh0aGlzLmF0dGFjaGVkQ29udHJvbCk7XG5cdH1cblxuXHRwdWJsaWMgZ2V0V2FybmluZ1RvU2hvd0FzVGVtcGxhdGVSZWYoKTogVGVtcGxhdGVSZWY8YW55PiB7XG5cdFx0aWYgKHRoaXMucGFyZW50Py5nZXRXYXJuaW5nVG9TaG93KHRoaXMuYXR0YWNoZWRDb250cm9sKSBpbnN0YW5jZW9mIFRlbXBsYXRlUmVmKSB7XG5cdFx0XHRyZXR1cm4gdGhpcy5wYXJlbnQ/LmdldFdhcm5pbmdUb1Nob3codGhpcy5hdHRhY2hlZENvbnRyb2wpIGFzIFRlbXBsYXRlUmVmPGFueT47XG5cdFx0fVxuXHRcdHRocm93IG5ldyBFcnJvcignV2FybmluZyBpcyBub3QgYSBUZW1wbGF0ZVJlZicpO1xuXHR9XG5cblx0cHVibGljIGdldFdhcm5pbmdUb1Nob3dJc1RlbXBsYXRlUmVmKCk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiB0aGlzLmdldFdhcm5pbmdUb1Nob3coKSBpbnN0YW5jZW9mIFRlbXBsYXRlUmVmO1xuXHR9XG5cblx0Z2V0RXJyb3JUb1Nob3coKTogc3RyaW5nIHtcblx0XHRjb25zdCBmaXJzdEVycm9yID0gT2JqZWN0LmtleXModGhpcy5hdHRhY2hlZENvbnRyb2w/LmVycm9ycyA/PyB7fSlbMF07XG5cdFx0aWYgKHRoaXMuYXR0YWNoZWRDb250cm9sPy50b3VjaGVkICE9PSB0cnVlKSB7XG5cdFx0XHRyZXR1cm4gbnVsbDtcblx0XHR9XG5cdFx0aWYgKCF0aGlzLmF0dGFjaGVkQ29udHJvbD8uZXJyb3JzKSB7XG5cdFx0XHRyZXR1cm4gbnVsbDtcblx0XHR9XG5cdFx0cmV0dXJuIGZpcnN0RXJyb3I7XG5cdH1cblxuXHRnZXRDdXN0b21FcnJvckhhbmRsZXIoZXJyb3I6IHN0cmluZyk6IHsgZXJyb3I6IHN0cmluZzsgdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT4gfSB7XG5cdFx0cmV0dXJuIHRoaXMuY3VzdG9tRXJyb3JIYW5kbGVycy5maW5kKChlKSA9PiBlLmVycm9yID09PSBlcnJvcik7XG5cdH1cblxuXHRzaG93RGVmYXVsdEVycm9yKGVycm9yOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gdGhpcy5nZXRFcnJvclRvU2hvdygpID09PSBlcnJvciAmJiAhdGhpcy5jdXN0b21FcnJvckhhbmRsZXJzLnNvbWUoKGUpID0+IGUuZXJyb3IgPT09IGVycm9yKTtcblx0fVxuXG5cdGdldFNjcm9sbGFibGVQYXJlbnQobm9kZSk6IGFueSB7XG5cdFx0aWYgKG5vZGUgPT09IHdpbmRvdy5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpIHtcblx0XHRcdHJldHVybiB3aW5kb3cuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50O1xuXHRcdH1cblx0XHRjb25zdCBvdmVyZmxvd1kgPSBnZXRDb21wdXRlZFN0eWxlKG5vZGUpLm92ZXJmbG93WTtcblx0XHRpZiAobm9kZS5jbGllbnRIZWlnaHQgPCBub2RlLnNjcm9sbEhlaWdodCAmJiAob3ZlcmZsb3dZID09PSAnYXV0bycgfHwgb3ZlcmZsb3dZID09PSAnc2Nyb2xsJykpIHtcblx0XHRcdHJldHVybiBub2RlO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRyZXR1cm4gdGhpcy5nZXRTY3JvbGxhYmxlUGFyZW50KG5vZGUucGFyZW50Tm9kZSk7XG5cdFx0fVxuXHR9XG5cblx0c2Nyb2xsVG8oKTogdm9pZCB7XG5cdFx0Y29uc3QgcGFyZW50ID0gdGhpcy5nZXRTY3JvbGxhYmxlUGFyZW50KHRoaXMuaW50ZXJuYWxDb21wb25lbnRSZWYubmF0aXZlRWxlbWVudCk7XG5cdFx0Y29uc3QgcGFyZW50VG9wID0gcGFyZW50ID09PSB3aW5kb3cuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50ID8gMCA6IHBhcmVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS50b3A7XG5cdFx0Y29uc3QgZWxlbWVudFRvcCA9IHRoaXMuaW50ZXJuYWxDb21wb25lbnRSZWYubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS50b3A7XG5cdFx0Y29uc3QgcGFyZW50U2Nyb2xsVG9wID0gcGFyZW50LnNjcm9sbFRvcDtcblx0XHRjb25zdCBhbnN3ZXIgPSBlbGVtZW50VG9wIC0gcGFyZW50VG9wICsgcGFyZW50U2Nyb2xsVG9wO1xuXG5cdFx0cGFyZW50LnNjcm9sbFRvKHtcblx0XHRcdHRvcDogYW5zd2VyIC0gMzAsXG5cdFx0XHRiZWhhdmlvcjogJ3Ntb290aCdcblx0XHR9KTtcblx0fVxuXG5cdGlzUmVxdWlyZWQoKTogYm9vbGVhbiB7XG5cdFx0aWYgKGlzVmFsdWVTZXQodGhpcy5pbnB1dCkpIHtcblx0XHRcdHJldHVybiB0aGlzLmlucHV0Lmhhc1ZhbGlkYXRvcigncmVxdWlyZWQnKTtcblx0XHR9XG5cdFx0cmV0dXJuIGZhbHNlO1xuXHR9XG5cblx0Z2V0RXJyb3JNZXNzYWdlKGtleToga2V5b2YgRm9ybUVycm9yTWVzc2FnZXMpOiBzdHJpbmcge1xuXHRcdGlmIChrZXkgPT09ICdmb3JtTGV2ZWwnKSB7XG5cdFx0XHRyZXR1cm4gdGhpcy5hdHRhY2hlZENvbnRyb2wuZXJyb3JzPy5mb3JtTGV2ZWw7XG5cdFx0fVxuXHRcdHJldHVybiB0aGlzLmN1c3RvbU1lc3NhZ2VzPy5ba2V5XT8uKCkgPz8gdGhpcy5lcnJvck1lc3NhZ2VzW2tleV07XG5cdH1cblxuXHRwdWJsaWMgZ2V0RXJyb3JMb2NhdGlvbigpOiAnYmVsb3dDYXB0aW9uJyB8ICdyaWdodE9mQ2FwdGlvbicge1xuXHRcdHJldHVybiB0aGlzLnBhcmVudD8uZXJyb3JNZXNzYWdlTG9jYXRpb24gPz8gJ2JlbG93Q2FwdGlvbic7XG5cdH1cblxuXHRwdWJsaWMgc2hvdWxkU2hvd0Vycm9yVG9vbHRpcE9wZW5lZCgpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gdGhpcy5wb3B1cFN0YXRlID09PSAnbG9ja2VkT3Blbic7XG5cdH1cblxuXHRwdWJsaWMgaGFzSG92ZXJhYmxlRXJyb3JUb29sdGlwKCk6IGJvb2xlYW4ge1xuXHRcdGlmICghdGhpcy5oYXNSaWdodE9mQ2FwdGlvbkVycm9yKCkgJiYgIXRoaXMuZXJyb3JNZXNzYWdlQXNUb29sdGlwKSB7XG5cdFx0XHRyZXR1cm4gZmFsc2U7XG5cdFx0fVxuXHRcdGlmICh0aGlzLnBvcHVwU3RhdGUgIT09ICdvbkhvdmVyJykge1xuXHRcdFx0cmV0dXJuIGZhbHNlO1xuXHRcdH1cblx0XHRpZiAoc3RyaW5nSXNTZXRBbmRGaWxsZWQodGhpcy5nZXRFcnJvclRvU2hvdygpKSkge1xuXHRcdFx0cmV0dXJuICF0aGlzLmVycm9yRnVsbHlWaXNpYmxlO1xuXHRcdH1cblx0XHRpZiAoaXNWYWx1ZVNldCh0aGlzLmdldFdhcm5pbmdUb1Nob3coKSkpIHtcblx0XHRcdHJldHVybiB0cnVlO1xuXHRcdH1cblx0XHRyZXR1cm4gZmFsc2U7XG5cdH1cblxuXHRwdWJsaWMgaGFzUmlnaHRPZkNhcHRpb25FcnJvcigpOiBib29sZWFuIHtcblx0XHRpZiAodGhpcy5lcnJvck1lc3NhZ2VBc1Rvb2x0aXApIHtcblx0XHRcdHJldHVybiBmYWxzZTtcblx0XHR9XG5cdFx0aWYgKHRoaXMuZGlyZWN0aW9uICE9PSAndmVydGljYWwnIHx8IHRoaXMuZ2V0RXJyb3JMb2NhdGlvbigpICE9PSAncmlnaHRPZkNhcHRpb24nKSB7XG5cdFx0XHRyZXR1cm4gZmFsc2U7XG5cdFx0fVxuXHRcdHJldHVybiB0cnVlO1xuXHR9XG5cblx0cHVibGljIHNldEVycm9yTWVzc2FnZUlzVHJ1bmNhdGVkID0gKGlzVHJ1bmNhdGVkOiBib29sZWFuKSA9PiB7XG5cdFx0dGhpcy5lcnJvckZ1bGx5VmlzaWJsZSA9ICFpc1RydW5jYXRlZDtcblx0fVxuXG5cdHB1YmxpYyBzaG91bGRTaG93V2FybmluZ1BvcHVwKCk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBpc1ZhbHVlU2V0KHRoaXMuZ2V0V2FybmluZ1RvU2hvdygpKTtcblx0fVxuXG5cdHB1YmxpYyBjbG9zZVBvcHVwKCk6IHZvaWQge1xuXHRcdGNvbnN0IHByZXZTdGF0ZSA9IHRoaXMucG9wdXBTdGF0ZTtcblx0XHR0aGlzLnBvcHVwU3RhdGUgPSAnb25Ib3Zlcic7XG5cdFx0dGhpcy5zZXRVcEVycm9yVG9vbHRpcExpc3RlbmVycyhwcmV2U3RhdGUsIHRoaXMucG9wdXBTdGF0ZSk7XG5cdH1cblxuXHRwdWJsaWMgdG9nZ2xlUG9wdXAoKTogdm9pZCB7XG5cdFx0aWYgKCF0aGlzLmVycm9yTWVzc2FnZUFzVG9vbHRpcCAmJiAhdGhpcy5oYXNSaWdodE9mQ2FwdGlvbkVycm9yKCkpIHtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cdFx0aWYgKHRoaXMuZXJyb3JGdWxseVZpc2libGUpIHtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cdFx0Y29uc3QgcHJldlN0YXRlID0gdGhpcy5wb3B1cFN0YXRlO1xuXHRcdGlmICh0aGlzLnBvcHVwU3RhdGUgPT09ICdsb2NrZWRPcGVuJykge1xuXHRcdFx0dGhpcy5wb3B1cFN0YXRlID0gJ29uSG92ZXInO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHR0aGlzLnBvcHVwU3RhdGUgPSAnbG9ja2VkT3Blbic7XG5cdFx0fVxuXHRcdHRoaXMuc2V0VXBFcnJvclRvb2x0aXBMaXN0ZW5lcnMocHJldlN0YXRlLCB0aGlzLnBvcHVwU3RhdGUpO1xuXHR9XG5cblx0cHVibGljIHNldEVycm9yVG9vbHRpcE9mZnNldCA9ICgpOiB2b2lkID0+IHtcblx0XHRpZiAodGhpcy5wb3B1cFN0YXRlICE9PSAnbG9ja2VkT3BlbicgJiYgdGhpcy5wb3B1cFN0YXRlICE9PSAnb25Ib3ZlcicpIHtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cdFx0Y29uc3QgcG9wdXBPZmZzZXRZID0gdGhpcy5hYnNvbHV0ZUFuY2hvcj8ubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS50b3AgLSB0aGlzLmZpeGVkQW5jaG9yPy5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcDtcblx0XHRpZiAodGhpcy5maXhlZFdyYXBwZXI/Lm5hdGl2ZUVsZW1lbnQpIHtcblx0XHRcdHRoaXMuZml4ZWRXcmFwcGVyLm5hdGl2ZUVsZW1lbnQuc3R5bGUudHJhbnNmb3JtID0gYHRyYW5zbGF0ZVkoJHtwb3B1cE9mZnNldFl9cHgpYDtcblx0XHR9XG5cdH07XG5cblx0bmdPbkRlc3Ryb3koKTogdm9pZCB7XG5cdFx0dGhpcy5zdWJzY3JpcHRpb25zLmZvckVhY2goZSA9PiBlLnVuc3Vic2NyaWJlKCkpO1xuXHR9XG5cblx0cHJpdmF0ZSBpbml0aWFsaXplVGFpbFRwbCgpOiB2b2lkIHtcblx0XHRpZiAoc3RyaW5nSXNTZXRBbmRGaWxsZWQodGhpcy5nZXRFcnJvclRvU2hvdygpKSB8fCBpc1ZhbHVlU2V0KHRoaXMuZ2V0V2FybmluZ1RvU2hvdygpKSkge1xuXHRcdFx0aWYgKCFpc1ZhbHVlU2V0KHRoaXMuZmllbGRJbnB1dD8uZ2V0VGFpbFRwbCgpKSkge1xuXHRcdFx0XHR0aGlzLmZpZWxkSW5wdXQ/LnNldFRhaWxUcGwodGhpcy50YWlsVHBsKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cbiIsIjxkaXZcblx0Y2xhc3M9XCJjb21wb25lbnRDb250YWluZXJcIlxuXHRbbmdDbGFzc109XCJ7XG5cdFx0aGFzQ2FwdGlvbjogY2FwdGlvbiB8fCBjYXB0aW9uUmVmLFxuXHRcdHZlcnRpY2FsOiBkaXJlY3Rpb24gPT09ICd2ZXJ0aWNhbCcsXG5cdFx0aG9yaXpvbnRhbDogZGlyZWN0aW9uID09PSAnaG9yaXpvbnRhbCcsXG5cdFx0dG9wQWxpZ25tZW50OiB2ZXJ0aWNhbEFsaWdubWVudCA9PT0gJ3RvcCcsXG5cdFx0cmV2ZXJzZU9yZGVyOiBzd2FwSW5wdXRBbmRDYXB0aW9uLFxuXHRcdGhhc0Vycm9yczogZ2V0RXJyb3JUb1Nob3coKSAmJiBhdHRhY2hlZENvbnRyb2wudG91Y2hlZCxcblx0XHRwZXJjZW50YWdlU3BhY2luZzogY2FwdGlvblNwYWNpbmcgPT09ICdwZXJjZW50YWdlcycgJiYgc3BhY2VEaXN0cmlidXRpb24gIT09ICdmaXhlZElucHV0V2lkdGgnLFxuXHRcdCdkNDAtNjAnOiBzcGFjZURpc3RyaWJ1dGlvbiA9PT0gJzQwLTYwJyxcblx0XHQnZDMwLTcwJzogc3BhY2VEaXN0cmlidXRpb24gPT09ICczMC03MCcsXG5cdFx0J2QzNC02Nic6IHNwYWNlRGlzdHJpYnV0aW9uID09PSAnMzQtNjYnLFxuXHRcdCdmaXhlZElucHV0V2lkdGgnOiBzcGFjZURpc3RyaWJ1dGlvbiA9PT0gJ2ZpeGVkSW5wdXRXaWR0aCcsXG5cdFx0J2ZpeGVkQ2FwdGlvbldpZHRoJzogc3BhY2VEaXN0cmlidXRpb24gPT09ICdmaXhlZENhcHRpb25XaWR0aCdcblx0fVwiXG4+XG5cdDxkaXYgY2xhc3M9XCJlcnJvckFib3ZlSW5wdXRDb250YWluZXJcIiAqbmdJZj1cImRpcmVjdGlvbiA9PT0gJ2hvcml6b250YWwnICYmICFlcnJvck1lc3NhZ2VBc1Rvb2x0aXBcIj5cblx0XHQ8ZGl2IGNsYXNzPVwic3BhY2VyXCI+PC9kaXY+XG5cdFx0PG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJlcnJvclJlZlwiPjwvbmctY29udGFpbmVyPlxuXHQ8L2Rpdj5cblxuXHQ8ZGl2IGNsYXNzPVwiY2FwdGlvbklucHV0QW5kRXJyb3JcIiAjaW50ZXJuYWxDb21wb25lbnRSZWY+XG5cdFx0PGRpdiBjbGFzcz1cImNhcHRpb25EdW1teUZvclNwYWNlQ2FsY3VsYXRpb25cIiAjY2FwdGlvbkR1bW15Rm9yU3BhY2VDYWxjdWxhdGlvbiAqbmdJZj1cImhhc1JpZ2h0T2ZDYXB0aW9uRXJyb3IoKVwiPlxuXHRcdFx0PG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJjYXB0aW9uVHBsXCIgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cIntmb3JDYWxjdWxhdGlvbjogdHJ1ZX1cIj48L25nLWNvbnRhaW5lcj5cblx0XHQ8L2Rpdj5cblx0XHQ8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImNhcHRpb25UcGxcIj48L25nLWNvbnRhaW5lcj5cblx0XHQ8bmctY29udGFpbmVyICpuZ0lmPVwiZGlyZWN0aW9uID09PSAndmVydGljYWwnICYmIGdldEVycm9yTG9jYXRpb24oKSA9PT0gJ2JlbG93Q2FwdGlvbicgJiYgIWVycm9yTWVzc2FnZUFzVG9vbHRpcFwiIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImVycm9yUmVmXCI+PC9uZy1jb250YWluZXI+XG5cdFx0PGRpdiBjbGFzcz1cImlucHV0Q29udGFpbmVyXCIgI2lucHV0Q29udGFpbmVyPlxuXHRcdFx0PG5nLWNvbnRhaW5lciAqbmdJZj1cImVycm9yTWVzc2FnZUFzVG9vbHRpcCAmJiBzaG91bGRTaG93RXJyb3JNZXNzYWdlcygpICYmIGdldEVycm9yVG9TaG93KClcIj5cblx0XHRcdFx0PGRpdiBjbGFzcz1cImVycm9yVG9vbHRpcFRyaWFuZ2xlXCI+PC9kaXY+XG5cdFx0XHRcdDxkaXYgY2xhc3M9XCJlcnJvclRvb2x0aXBUcmlhbmdsZVdoaXRlXCI+PC9kaXY+XG5cdFx0XHRcdDxkaXYgY2xhc3M9XCJlcnJvclRvb2x0aXBcIj5cblx0XHRcdFx0XHQ8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImVycm9yUmVmXCI+PC9uZy1jb250YWluZXI+XG5cdFx0XHRcdDwvZGl2PlxuXHRcdFx0PC9uZy1jb250YWluZXI+XG5cdFx0XHQ8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG5cdFx0PC9kaXY+XG5cdDwvZGl2PlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjY2FwdGlvblRwbCBsZXQtZm9yQ2FsY3VsYXRpb249XCJmb3JDYWxjdWxhdGlvblwiPlxuXHQ8ZGl2IGNsYXNzPVwiY2FwdGlvblwiXG5cdFx0Km5nSWY9XCJjYXB0aW9uIHx8IGNhcHRpb25SZWZcIlxuXHRcdFtuZ0NsYXNzXT1cIntcblx0XHRcdHdpdGhFcnJvclJpZ2h0T2ZDYXB0aW9uOiBnZXRFcnJvckxvY2F0aW9uKCkgPT09ICdyaWdodE9mQ2FwdGlvbidcblx0XHR9XCJcblx0PlxuXHRcdDxkaXYgKm5nSWY9XCJjYXB0aW9uUmVmXCIgY2xhc3M9XCJjYXB0aW9uUmVmQ29udGFpbmVyXCI+XG5cdFx0XHQ8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImNhcHRpb25SZWZcIj48L25nLWNvbnRhaW5lcj5cblx0XHRcdDxkaXYgKm5nSWY9XCJpc1JlcXVpcmVkKClcIj4mbmJzcDsqPC9kaXY+XG5cdFx0PC9kaXY+XG5cdFx0PGRpdiAqbmdJZj1cIiFjYXB0aW9uUmVmXCIgY2xhc3M9XCJjYXB0aW9uVGV4dFwiPnt7Y2FwdGlvbn19PHNwYW4gKm5nSWY9XCJpc1JlcXVpcmVkKClcIj4mbmJzcDsqPC9zcGFuPjwvZGl2PlxuXHRcdDxkaXYgY2xhc3M9XCJyaWdodE9mQ2FwdGlvbkVycm9yXCIgKm5nSWY9XCJoYXNSaWdodE9mQ2FwdGlvbkVycm9yKClcIiBbbmdDbGFzc109XCJ7ZXJyb3JGdWxseVZpc2libGU6IGVycm9yRnVsbHlWaXNpYmxlLCBlcnJvck1lc3NhZ2VIYXNNYXhXaWR0aDogZXJyb3JNZXNzYWdlSGFzTWF4V2lkdGh9XCI+XG5cdFx0XHQ8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImVycm9yUmVmXCIgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cIntmb3JDYWxjdWxhdGlvbjogZm9yQ2FsY3VsYXRpb259XCI+PC9uZy1jb250YWluZXI+XG5cdFx0PC9kaXY+XG5cdFx0PGRpdiAqbmdJZj1cImNhcHRpb25FbmRSZWZcIiBjbGFzcz1cImNhcHRpb25FbmRSZWZDb250YWluZXJcIj5cblx0XHRcdDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiY2FwdGlvbkVuZFJlZlwiPjwvbmctY29udGFpbmVyPlxuXHRcdDwvZGl2PlxuXHQ8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjZXJyb3JSZWYgbGV0LWZvckNhbGN1bGF0aW9uPVwiZm9yQ2FsY3VsYXRpb25cIj5cblx0PGRpdiAqbmdJZj1cInNob3VsZFNob3dFcnJvck1lc3NhZ2VzKCkgJiYgZ2V0RXJyb3JUb1Nob3coKVwiIGNsYXNzPVwiZXJyb3JDb250YWluZXJcIiBbZWxlbWVudElzVHJ1bmNhdGVkQ2JdPVwiZm9yQ2FsY3VsYXRpb24gPyBzZXRFcnJvck1lc3NhZ2VJc1RydW5jYXRlZCA6IG51bGxcIiBbbmdDbGFzc109XCJ7aG9yaXpvbnRhbDogZGlyZWN0aW9uID09PSAnaG9yaXpvbnRhbCcsIGhhc0NhcHRpb246IGNhcHRpb24gfHwgY2FwdGlvblJlZiwgJ2QzMC03MCc6IHNwYWNlRGlzdHJpYnV0aW9uID09PSAnMzAtNzAnLCAnZDM0LTY2Jzogc3BhY2VEaXN0cmlidXRpb24gPT09ICczNC02Nid9XCI+XG5cdFx0PGRpdiAqbmdJZj1cInNob3dEZWZhdWx0RXJyb3IoJ21pbicpXCI+e3tzdWJzdGl0dXRlUGFyYW1ldGVycyhnZXRFcnJvck1lc3NhZ2UoXCJtaW5cIiksIHttaW46IGF0dGFjaGVkQ29udHJvbC5lcnJvcnMubWluLm1pbn0pfX08L2Rpdj5cblx0XHQ8ZGl2ICpuZ0lmPVwic2hvd0RlZmF1bHRFcnJvcignbWF4JylcIj57e3N1YnN0aXR1dGVQYXJhbWV0ZXJzKGdldEVycm9yTWVzc2FnZShcIm1heFwiKSwge21heDogYXR0YWNoZWRDb250cm9sLmVycm9ycy5tYXgubWF4fSl9fTwvZGl2PlxuXHRcdDxkaXYgKm5nSWY9XCJzaG93RGVmYXVsdEVycm9yKCdyZXF1aXJlZCcpXCI+e3tnZXRFcnJvck1lc3NhZ2UoXCJyZXF1aXJlZFwiKX19PC9kaXY+XG5cdFx0PGRpdiAqbmdJZj1cInNob3dEZWZhdWx0RXJyb3IoJ2VtYWlsJylcIj57e2dldEVycm9yTWVzc2FnZShcImVtYWlsXCIpfX08L2Rpdj5cblx0XHQ8ZGl2ICpuZ0lmPVwic2hvd0RlZmF1bHRFcnJvcignbWlubGVuZ3RoJylcIj57e3N1YnN0aXR1dGVQYXJhbWV0ZXJzKGdldEVycm9yTWVzc2FnZShcIm1pbkxlbmd0aFwiKSwge21pbkxlbmd0aDogYXR0YWNoZWRDb250cm9sLmVycm9ycy5taW5sZW5ndGgucmVxdWlyZWRMZW5ndGh9KX19PC9kaXY+XG5cdFx0PGRpdiAqbmdJZj1cInNob3dEZWZhdWx0RXJyb3IoJ21heGxlbmd0aCcpXCI+e3tzdWJzdGl0dXRlUGFyYW1ldGVycyhnZXRFcnJvck1lc3NhZ2UoXCJtYXhMZW5ndGhcIiksIHttYXhMZW5ndGg6IGF0dGFjaGVkQ29udHJvbC5lcnJvcnMubWF4bGVuZ3RoLnJlcXVpcmVkTGVuZ3RofSl9fTwvZGl2PlxuXHRcdDxkaXYgKm5nSWY9XCJzaG93RGVmYXVsdEVycm9yKCdwYXR0ZXJuJylcIj57e2dldEVycm9yTWVzc2FnZShcInBhdHRlcm5cIil9fTwvZGl2PlxuXHRcdDxkaXYgKm5nSWY9XCJzaG93RGVmYXVsdEVycm9yKCdNYXRjaFBhc3N3b3JkJylcIj57e2dldEVycm9yTWVzc2FnZShcIm1hdGNoUGFzc3dvcmRcIil9fTwvZGl2PlxuXHRcdDxkaXYgKm5nSWY9XCJzaG93RGVmYXVsdEVycm9yKCdkYXRlJylcIj57e2dldEVycm9yTWVzc2FnZShcImRhdGVcIil9fTwvZGl2PlxuXHRcdDxkaXYgKm5nSWY9XCJzaG93RGVmYXVsdEVycm9yKCdtZXNzYWdlJylcIj57e2F0dGFjaGVkQ29udHJvbC5lcnJvcnMubWVzc2FnZS52YWx1ZX19PC9kaXY+XG5cdFx0PGRpdiAqbmdJZj1cInNob3dEZWZhdWx0RXJyb3IoJ2Zvcm1MZXZlbCcpXCI+e3tnZXRFcnJvck1lc3NhZ2UoXCJmb3JtTGV2ZWxcIil9fTwvZGl2PlxuXHRcdDxkaXYgW25nVGVtcGxhdGVPdXRsZXRdPVwiZ2V0Q3VzdG9tRXJyb3JIYW5kbGVyKGdldEVycm9yVG9TaG93KCkpPy50ZW1wbGF0ZVJlZlwiPjwvZGl2PlxuXHQ8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjdGFpbFRwbD5cblx0PGRpdiBjbGFzcz1cImVycm9yVG9vbHRpcENvbnRhaW5lclwiIFtuZ0NsYXNzXT1cInthbHdheXNPcGVuOiBzaG91bGRTaG93RXJyb3JUb29sdGlwT3BlbmVkKCl9XCI+XG5cdFx0PG5nLWNvbnRhaW5lciAqbmdJZj1cImhhc0hvdmVyYWJsZUVycm9yVG9vbHRpcCgpIHx8IHNob3VsZFNob3dFcnJvclRvb2x0aXBPcGVuZWQoKVwiPlxuXHRcdFx0PGRpdiBjbGFzcz1cImVycm9yVG9vbHRpcFRyaWFuZ2xlXCI+PC9kaXY+XG5cdFx0XHQ8ZGl2IGNsYXNzPVwiZXJyb3JUb29sdGlwVHJpYW5nbGVXaGl0ZVwiPjwvZGl2PlxuXG5cdFx0XHQ8ZGl2IGNsYXNzPVwiYWJzb2x1dGVBbmNob3JcIiAjYWJzb2x1dGVBbmNob3I+PC9kaXY+XG5cdFx0XHQ8ZGl2IGNsYXNzPVwiZml4ZWRBbmNob3JcIiAjZml4ZWRBbmNob3IgW29uUmVuZGVyRm5dPVwic2V0RXJyb3JUb29sdGlwT2Zmc2V0XCI+PC9kaXY+XG5cdFx0XHQ8ZGl2IGNsYXNzPVwiZml4ZWRXcmFwcGVyXCIgI2ZpeGVkV3JhcHBlcj5cblx0XHRcdFx0PGRpdiBjbGFzcz1cImVycm9yVG9vbHRpcFwiIFtuZ0NsYXNzXT1cIntub1BvaW50ZXJFdmVudHM6ICFzaG91bGRTaG93RXJyb3JUb29sdGlwT3BlbmVkKCl9XCI+XG5cdFx0XHRcdFx0PGRpdiBjbGFzcz1cImVycm9yVG9vbHRpcElubmVyXCI+XG5cdFx0XHRcdFx0XHQ8aSBjbGFzcz1cImNsb3NlQnRuXCIgKGNsaWNrKT1cImNsb3NlUG9wdXAoKTtcIj7DlzwvaT5cblx0XHRcdFx0XHRcdDxuZy1jb250YWluZXIgKm5nSWY9XCJnZXRFcnJvclRvU2hvdygpXCIgW25nVGVtcGxhdGVPdXRsZXRdPVwiZXJyb3JSZWZcIj48L25nLWNvbnRhaW5lcj5cblx0XHRcdFx0XHRcdDxkaXYgKm5nSWY9XCIhZ2V0RXJyb3JUb1Nob3coKSAmJiBzaG91bGRTaG93V2FybmluZ1BvcHVwKClcIj5cblx0XHRcdFx0XHRcdFx0PG5nLWNvbnRhaW5lciAqbmdJZj1cImdldFdhcm5pbmdUb1Nob3dJc1RlbXBsYXRlUmVmKClcIiBbbmdUZW1wbGF0ZU91dGxldF09XCJnZXRXYXJuaW5nVG9TaG93QXNUZW1wbGF0ZVJlZigpXCI+PC9uZy1jb250YWluZXI+XG5cdFx0XHRcdFx0XHRcdDxzcGFuICpuZ0lmPVwiIWdldFdhcm5pbmdUb1Nob3dJc1RlbXBsYXRlUmVmKClcIj57e2dldFdhcm5pbmdUb1Nob3coKX19PC9zcGFuPlxuXHRcdFx0XHRcdFx0PC9kaXY+XG5cdFx0XHRcdFx0PC9kaXY+XG5cdFx0XHRcdDwvZGl2PlxuXHRcdFx0PC9kaXY+XG5cblx0XHQ8L25nLWNvbnRhaW5lcj5cblx0XHQ8a2xwLWZvcm0td2FybmluZy1pY29uIHZhcmlhbnQ9XCJmaWxsXCIgKm5nSWY9XCJnZXRFcnJvclRvU2hvdygpXCIgKGNsaWNrKT1cInRvZ2dsZVBvcHVwKClcIj48L2tscC1mb3JtLXdhcm5pbmctaWNvbj5cblx0XHQ8a2xwLWZvcm0td2FybmluZy1pY29uIHZhcmlhbnQ9XCJsaW5lXCIgKm5nSWY9XCIhZ2V0RXJyb3JUb1Nob3coKSAmJiBnZXRXYXJuaW5nVG9TaG93KClcIiAoY2xpY2spPVwidG9nZ2xlUG9wdXAoKVwiPjwva2xwLWZvcm0td2FybmluZy1pY29uPlxuXHQ8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
@@ -33,6 +33,7 @@ import { WarningIconComponent } from "./warning-icon/warning-icon.component";
|
|
|
33
33
|
import { ElementIsTruncatedCbComponent } from "./elementIsTruncatedCb.component";
|
|
34
34
|
import { OnRenderDirective } from "./onRender.component";
|
|
35
35
|
import { TextAreaComponent } from "./elements/text-area/text-area.component";
|
|
36
|
+
import { FormCaptionEndComponent } from "./form/form-caption-end/form-caption-end.component";
|
|
36
37
|
import * as i0 from "@angular/core";
|
|
37
38
|
export class NgxEnhancyFormsModule {
|
|
38
39
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: NgxEnhancyFormsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
@@ -56,6 +57,7 @@ export class NgxEnhancyFormsModule {
|
|
|
56
57
|
ToggleComponent,
|
|
57
58
|
FileInputComponent,
|
|
58
59
|
FormCaptionComponent,
|
|
60
|
+
FormCaptionEndComponent,
|
|
59
61
|
FormElementComponent,
|
|
60
62
|
FormErrorComponent,
|
|
61
63
|
FormSubmitButtonComponent,
|
|
@@ -90,6 +92,7 @@ export class NgxEnhancyFormsModule {
|
|
|
90
92
|
ToggleComponent,
|
|
91
93
|
FileInputComponent,
|
|
92
94
|
FormCaptionComponent,
|
|
95
|
+
FormCaptionEndComponent,
|
|
93
96
|
FormElementComponent,
|
|
94
97
|
FormErrorComponent,
|
|
95
98
|
FormSubmitButtonComponent,
|
|
@@ -137,6 +140,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
|
|
|
137
140
|
ToggleComponent,
|
|
138
141
|
FileInputComponent,
|
|
139
142
|
FormCaptionComponent,
|
|
143
|
+
FormCaptionEndComponent,
|
|
140
144
|
FormElementComponent,
|
|
141
145
|
FormErrorComponent,
|
|
142
146
|
FormSubmitButtonComponent,
|
|
@@ -170,6 +174,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
|
|
|
170
174
|
ToggleComponent,
|
|
171
175
|
FileInputComponent,
|
|
172
176
|
FormCaptionComponent,
|
|
177
|
+
FormCaptionEndComponent,
|
|
173
178
|
FormElementComponent,
|
|
174
179
|
FormErrorComponent,
|
|
175
180
|
FormSubmitButtonComponent,
|
|
@@ -183,4 +188,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
|
|
|
183
188
|
]
|
|
184
189
|
}]
|
|
185
190
|
}] });
|
|
186
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LWVuaGFuY3ktZm9ybXMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2xpcHBhL25neC1lbmhhbmN5LWZvcm1zL3NyYy9saWIvbmd4LWVuaGFuY3ktZm9ybXMubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSw4REFBOEQsQ0FBQztBQUMvRixPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFDbkUsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sd0NBQXdDLENBQUM7QUFDekUsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sd0NBQXdDLENBQUM7QUFDM0UsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sMERBQTBELENBQUM7QUFDbkcsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sZ0RBQWdELENBQUM7QUFDcEYsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sb0RBQW9ELENBQUM7QUFDMUYsT0FBTyxFQUFDLGdDQUFnQyxFQUFFLGVBQWUsRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBQ3JHLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLHlEQUF5RCxDQUFDO0FBQzlGLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLG9EQUFvRCxDQUFDO0FBQzFGLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDRDQUE0QyxDQUFDO0FBQzlFLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUNuRSxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSw0Q0FBNEMs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O3dCQUNiLGdCQUFnQjt3QkFDaEIsd0JBQXdCO3dCQUN4QixjQUFjO3dCQUNkLG9CQUFvQjt3QkFDcEIsaUJBQWlCO3dCQUNqQiw2QkFBNkI7cUJBQzdCO2lCQUNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7Rm9ybXNNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7VmFsdWVBY2Nlc3NvckJhc2V9IGZyb20gJy4vZWxlbWVudHMvdmFsdWUtYWNjZXNzb3ItYmFzZS92YWx1ZS1hY2Nlc3Nvci1iYXNlLmNvbXBvbmVudCc7XG5pbXBvcnQge0J1dHRvbkNvbXBvbmVudH0gZnJvbSAnLi9lbGVtZW50cy9idXR0b24vYnV0dG9uLmNvbXBvbmVudCc7XG5pbXBvcnQge0NoZWNrYm94Q29tcG9uZW50fSBmcm9tICcuL2VsZW1lbnRzL2NoZWNrYm94L2NoZWNrYm94LmNvbXBvbmVudCc7XG5pbXBvcnQge0VtYWlsSW5wdXRDb21wb25lbnR9IGZyb20gJy4vZWxlbWVudHMvZW1haWwvZW1haWwtaW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7TG9hZGluZ0luZGljYXRvckNvbXBvbmVudH0gZnJvbSAnLi9lbGVtZW50cy9sb2FkaW5nLWluZGljYXRvci9sb2FkaW5nLWluZGljYXRvci5jb21wb25lbnQnO1xuaW1wb3J0IHtOdW1iZXJJbnB1dENvbXBvbmVudH0gZnJvbSAnLi9lbGVtZW50cy9udW1iZXItaW5wdXQvbnVtYmVyLWlucHV0LmNvbXBvbmVudCc7XG5pbXBvcnQge1Bhc3N3b3JkRmllbGRDb21wb25lbnR9IGZyb20gJy4vZWxlbWVudHMvcGFzc3dvcmQtZmllbGQvcGFzc3dvcmQtZmllbGQuY29tcG9uZW50JztcbmltcG9ydCB7S2xwU2VsZWN0T3B0aW9uVGVtcGxhdGVEaXJlY3RpdmUsIFNlbGVjdENvbXBvbmVudH0gZnJvbSAnLi9lbGVtZW50cy9zZWxlY3Qvc2VsZWN0LmNvbXBvbmVudCc7XG5pbXBvcnQge1NlbGVjdEZvb3RlckNvbXBvbmVudH0gZnJvbSAnLi9lbGVtZW50cy9zZWxlY3Qvc2VsZWN0LWZvb3Rlci9zZWxlY3QtZm9vdGVyLmNvbXBvbmVudCc7XG5pbXBvcnQge1NvcnRhYmxlSXRlbXNDb21wb25lbnR9IGZyb20gJy4vZWxlbWVudHMvc29ydGFibGUtaXRlbXMvc29ydGFibGUtaXRlbXMuY29tcG9uZW50JztcbmltcG9ydCB7VGV4dElucHV0Q29tcG9uZW50fSBmcm9tICcuL2VsZW1lbnRzL3RleHQtaW5wdXQvdGV4dC1pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHtUb2dnbGVDb21wb25lbnR9IGZyb20gJy4vZWxlbWVudHMvdG9nZ2xlL3RvZ2dsZS5jb21wb25lbnQnO1xuaW1wb3J0IHtGb3JtQ2FwdGlvbkNvbXBvbmVudH0gZnJvbSAnLi9mb3JtL2Zvcm0tY2FwdGlvbi9mb3JtLWNhcHRpb24uY29tcG9uZW50JztcbmltcG9ydCB7Rm9ybUVsZW1lbnRDb21wb25lbnR9IGZyb20gJy4vZm9ybS9mb3JtLWVsZW1lbnQvZm9ybS1lbGVtZW50LmNvbXBvbmVudCc7XG5pbXBvcnQge0Zvcm1FcnJvckNvbXBvbmVudH0gZnJvbSAnLi9mb3JtL2Zvcm0tZXJyb3IvZm9ybS1lcnJvci5jb21wb25lbnQnO1xuaW1wb3J0IHtGb3JtU3VibWl0QnV0dG9uQ29tcG9uZW50fSBmcm9tICcuL2Zvcm0vZm9ybS1zdWJtaXQtYnV0dG9uL2Zvcm0tc3VibWl0LWJ1dHRvbi5jb21wb25lbnQnO1xuaW1wb3J0IHtGb3JtQ29tcG9uZW50LCBTdWJGb3JtRGlyZWN0aXZlfSBmcm9tICcuL2Zvcm0vZm9ybS5jb21wb25lbnQnO1xuaW1wb3J0IHsgU29ydGFibGVqc01vZHVsZSB9IGZyb20gJ0BkdXN0Zm91bmRhdGlvbi9uZ3gtc29ydGFibGVqcyc7XG5pbXBvcnQge05nU2VsZWN0TW9kdWxlfSBmcm9tICdAbmctc2VsZWN0L25nLXNlbGVjdCc7XG5pbXBvcnQge0RhdGVQaWNrZXJDb21wb25lbnR9IGZyb20gJy4vZWxlbWVudHMvZGF0ZS1waWNrZXIvZGF0ZS1waWNrZXIuY29tcG9uZW50JztcbmltcG9ydCB7RGF0ZVRpbWVQaWNrZXJDb21wb25lbnR9IGZyb20gJy4vZWxlbWVudHMvZGF0ZS10aW1lLXBpY2tlci9kYXRlLXRpbWUtcGlja2VyLmNvbXBvbmVudCc7XG5pbXBvcnQge01hdGVyaWFsTW9kdWxlfSBmcm9tICcuL21hdGVyaWFsLm1vZHVsZSc7XG5pbXBvcnQge011bHRpcGxlVmFsdWVBY2Nlc3NvckJhc2V9IGZyb20gJy4vZWxlbWVudHMvdmFsdWUtYWNjZXNzb3ItYmFzZS9tdWx0aXBsZS12YWx1ZS1hY2Nlc3Nvci1iYXNlLmNvbXBvbmVudCc7XG5pbXBvcnQge0ZpbGVJbnB1dENvbXBvbmVudH0gZnJvbSAnLi9lbGVtZW50cy9maWxlLWlucHV0L2ZpbGUtaW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7U29ydGFibGVHcm91cGVkSXRlbXNDb21wb25lbnR9IGZyb20gJy4vZWxlbWVudHMvc29ydGFibGUtZ3JvdXBlZC1pdGVtcy9zb3J0YWJsZS1ncm91cGVkLWl0ZW1zLmNvbXBvbmVudCc7XG5pbXBvcnQge0hvdXJNaW51dGVJbnB1dENvbXBvbmVudH0gZnJvbSAnLi9lbGVtZW50cy9ob3VyLW1pbnV0ZS1pbnB1dC9ob3VyLW1pbnV0ZS1pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHtSYWRpb0NvbXBvbmVudH0gZnJvbSAnLi9lbGVtZW50cy9yYWRpby9yYWRpby5jb21wb25lbnQnO1xuaW1wb3J0IHtXaXRoVG9vbHRpcERpcmVjdGl2ZX0gZnJvbSBcIi4vd2l0aFRvb2x0aXAuY29tcG9uZW50XCI7XG5pbXBvcnQge1dhcm5pbmdJY29uQ29tcG9uZW50fSBmcm9tIFwiLi93YXJuaW5nLWljb24vd2FybmluZy1pY29uLmNvbXBvbmVudFwiO1xuaW1wb3J0IHtFbGVtZW50SXNUcnVuY2F0ZWRDYkNvbXBvbmVudH0gZnJvbSBcIi4vZWxlbWVudElzVHJ1bmNhdGVkQ2IuY29tcG9uZW50XCI7XG5pbXBvcnQge09uUmVuZGVyRGlyZWN0aXZlfSBmcm9tIFwiLi9vblJlbmRlci5jb21wb25lbnRcIjtcbmltcG9ydCB7VGV4dEFyZWFDb21wb25lbnR9IGZyb20gXCIuL2VsZW1lbnRzL3RleHQtYXJlYS90ZXh0LWFyZWEuY29tcG9uZW50XCI7XG5cbkBOZ01vZHVsZSh7XG5cdGltcG9ydHM6IFtcblx0XHRDb21tb25Nb2R1bGUsXG5cdFx0Rm9ybXNNb2R1bGUsXG5cdFx0TmdTZWxlY3RNb2R1bGUsXG5cdFx0U29ydGFibGVqc01vZHVsZSxcblx0XHRNYXRlcmlhbE1vZHVsZSxcblx0XSxcblx0ZGVjbGFyYXRpb25zOiBbXG5cdFx0VmFsdWVBY2Nlc3NvckJhc2UsXG5cdFx0TXVsdGlwbGVWYWx1ZUFjY2Vzc29yQmFzZSxcblx0XHRCdXR0b25Db21wb25lbnQsXG5cdFx0Q2hlY2tib3hDb21wb25lbnQsXG5cdFx0RGF0ZVBpY2tlckNvbXBvbmVudCxcblx0XHREYXRlVGltZVBpY2tlckNvbXBvbmVudCxcblx0XHRFbWFpbElucHV0Q29tcG9uZW50LFxuXHRcdExvYWRpbmdJbmRpY2F0b3JDb21wb25lbnQsXG5cdFx0TnVtYmVySW5wdXRDb21wb25lbnQsXG5cdFx0UGFzc3dvcmRGaWVsZENvbXBvbmVudCxcblx0XHRTZWxlY3RDb21wb25lbnQsXG5cdFx0S2xwU2VsZWN0T3B0aW9uVGVtcGxhdGVEaXJlY3RpdmUsXG5cdFx0U2VsZWN0Rm9vdGVyQ29tcG9uZW50LFxuXHRcdFNvcnRhYmxlSXRlbXNDb21wb25lbnQsXG5cdFx0U29ydGFibGVHcm91cGVkSXRlbXNDb21wb25lbnQsXG5cdFx0VGV4dElucHV0Q29tcG9uZW50LFxuXHRcdFRleHRBcmVhQ29tcG9uZW50LFxuXHRcdFRvZ2dsZUNvbXBvbmVudCxcblx0XHRGaWxlSW5wdXRDb21wb25lbnQsXG5cdFx0Rm9ybUNhcHRpb25Db21wb25lbnQsXG5cdFx0Rm9ybUVsZW1lbnRDb21wb25lbnQsXG5cdFx0Rm9ybUVycm9yQ29tcG9uZW50LFxuXHRcdEZvcm1TdWJtaXRCdXR0b25Db21wb25lbnQsXG5cdFx0Rm9ybUNvbXBvbmVudCxcblx0XHRTdWJGb3JtRGlyZWN0aXZlLFxuXHRcdEhvdXJNaW51dGVJbnB1dENvbXBvbmVudCxcblx0XHRSYWRpb0NvbXBvbmVudCxcblx0XHRXaXRoVG9vbHRpcERpcmVjdGl2ZSxcblx0XHRPblJlbmRlckRpcmVjdGl2ZSxcblx0XHRXYXJuaW5nSWNvbkNvbXBvbmVudCxcblx0XHRFbGVtZW50SXNUcnVuY2F0ZWRDYkNvbXBvbmVudCxcblx0XSxcblx0ZXhwb3J0czogW1xuXHRcdFZhbHVlQWNjZXNzb3JCYXNlLFxuXHRcdE11bHRpcGxlVmFsdWVBY2Nlc3NvckJhc2UsXG5cdFx0QnV0dG9uQ29tcG9uZW50LFxuXHRcdERhdGVQaWNrZXJDb21wb25lbnQsXG5cdFx0RGF0ZVRpbWVQaWNrZXJDb21wb25lbnQsXG5cdFx0Q2hlY2tib3hDb21wb25lbnQsXG5cdFx0RW1haWxJbnB1dENvbXBvbmVudCxcblx0XHRMb2FkaW5nSW5kaWNhdG9yQ29tcG9uZW50LFxuXHRcdE51bWJlcklucHV0Q29tcG9uZW50LFxuXHRcdFBhc3N3b3JkRmllbGRDb21wb25lbnQsXG5cdFx0U2VsZWN0Q29tcG9uZW50LFxuXHRcdEtscFNlbGVjdE9wdGlvblRlbXBsYXRlRGlyZWN0aXZlLFxuXHRcdFNlbGVjdEZvb3RlckNvbXBvbmVudCxcblx0XHRTb3J0YWJsZUl0ZW1zQ29tcG9uZW50LFxuXHRcdFNvcnRhYmxlR3JvdXBlZEl0ZW1zQ29tcG9uZW50LFxuXHRcdFRleHRJbnB1dENvbXBvbmVudCxcblx0XHRUZXh0QXJlYUNvbXBvbmVudCxcblx0XHRUb2dnbGVDb21wb25lbnQsXG5cdFx0RmlsZUlucHV0Q29tcG9uZW50LFxuXHRcdEZvcm1DYXB0aW9uQ29tcG9uZW50LFxuXHRcdEZvcm1FbGVtZW50Q29tcG9uZW50LFxuXHRcdEZvcm1FcnJvckNvbXBvbmVudCxcblx0XHRGb3JtU3VibWl0QnV0dG9uQ29tcG9uZW50LFxuXHRcdEZvcm1Db21wb25lbnQsXG5cdFx0U3ViRm9ybURpcmVjdGl2ZSxcblx0XHRIb3VyTWludXRlSW5wdXRDb21wb25lbnQsXG5cdFx0UmFkaW9Db21wb25lbnQsXG5cdFx0V2l0aFRvb2x0aXBEaXJlY3RpdmUsXG5cdFx0T25SZW5kZXJEaXJlY3RpdmUsXG5cdFx0RWxlbWVudElzVHJ1bmNhdGVkQ2JDb21wb25lbnQsXG5cdF1cbn0pXG5leHBvcnQgY2xhc3MgTmd4RW5oYW5jeUZvcm1zTW9kdWxlIHt9XG4iXX0=
|
|
191
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LWVuaGFuY3ktZm9ybXMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2xpcHBhL25neC1lbmhhbmN5LWZvcm1zL3NyYy9saWIvbmd4LWVuaGFuY3ktZm9ybXMubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSw4REFBOEQsQ0FBQztBQUMvRixPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFDbkUsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sd0NBQXdDLENBQUM7QUFDekUsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sd0NBQXdDLENBQUM7QUFDM0UsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sMERBQTBELENBQUM7QUFDbkcsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sZ0RBQWdELENBQUM7QUFDcEYsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sb0RBQW9ELENBQUM7QUFDMUYsT0FBTyxFQUFDLGdDQUFnQyxFQUFFLGVBQWUsRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBQ3JHLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLHlEQUF5RCxDQUFDO0FBQzlGLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLG9EQUFvRCxDQUFDO0FBQzFGLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDRDQUE0QyxDQUFDO0FBQzlFLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUNuRSxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSw0Q0FBNEMs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ZUFBZTt3QkFDZixrQkFBa0I7d0JBQ2xCLG9CQUFvQjt3QkFDcEIsdUJBQXVCO3dCQUN2QixvQkFBb0I7d0JBQ3BCLGtCQUFrQjt3QkFDbEIseUJBQXlCO3dCQUN6QixhQUFhO3dCQUNiLGdCQUFnQjt3QkFDaEIsd0JBQXdCO3dCQUN4QixjQUFjO3dCQUNkLG9CQUFvQjt3QkFDcEIsaUJBQWlCO3dCQUNqQiw2QkFBNkI7cUJBQzdCO2lCQUNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7Rm9ybXNNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7VmFsdWVBY2Nlc3NvckJhc2V9IGZyb20gJy4vZWxlbWVudHMvdmFsdWUtYWNjZXNzb3ItYmFzZS92YWx1ZS1hY2Nlc3Nvci1iYXNlLmNvbXBvbmVudCc7XG5pbXBvcnQge0J1dHRvbkNvbXBvbmVudH0gZnJvbSAnLi9lbGVtZW50cy9idXR0b24vYnV0dG9uLmNvbXBvbmVudCc7XG5pbXBvcnQge0NoZWNrYm94Q29tcG9uZW50fSBmcm9tICcuL2VsZW1lbnRzL2NoZWNrYm94L2NoZWNrYm94LmNvbXBvbmVudCc7XG5pbXBvcnQge0VtYWlsSW5wdXRDb21wb25lbnR9IGZyb20gJy4vZWxlbWVudHMvZW1haWwvZW1haWwtaW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7TG9hZGluZ0luZGljYXRvckNvbXBvbmVudH0gZnJvbSAnLi9lbGVtZW50cy9sb2FkaW5nLWluZGljYXRvci9sb2FkaW5nLWluZGljYXRvci5jb21wb25lbnQnO1xuaW1wb3J0IHtOdW1iZXJJbnB1dENvbXBvbmVudH0gZnJvbSAnLi9lbGVtZW50cy9udW1iZXItaW5wdXQvbnVtYmVyLWlucHV0LmNvbXBvbmVudCc7XG5pbXBvcnQge1Bhc3N3b3JkRmllbGRDb21wb25lbnR9IGZyb20gJy4vZWxlbWVudHMvcGFzc3dvcmQtZmllbGQvcGFzc3dvcmQtZmllbGQuY29tcG9uZW50JztcbmltcG9ydCB7S2xwU2VsZWN0T3B0aW9uVGVtcGxhdGVEaXJlY3RpdmUsIFNlbGVjdENvbXBvbmVudH0gZnJvbSAnLi9lbGVtZW50cy9zZWxlY3Qvc2VsZWN0LmNvbXBvbmVudCc7XG5pbXBvcnQge1NlbGVjdEZvb3RlckNvbXBvbmVudH0gZnJvbSAnLi9lbGVtZW50cy9zZWxlY3Qvc2VsZWN0LWZvb3Rlci9zZWxlY3QtZm9vdGVyLmNvbXBvbmVudCc7XG5pbXBvcnQge1NvcnRhYmxlSXRlbXNDb21wb25lbnR9IGZyb20gJy4vZWxlbWVudHMvc29ydGFibGUtaXRlbXMvc29ydGFibGUtaXRlbXMuY29tcG9uZW50JztcbmltcG9ydCB7VGV4dElucHV0Q29tcG9uZW50fSBmcm9tICcuL2VsZW1lbnRzL3RleHQtaW5wdXQvdGV4dC1pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHtUb2dnbGVDb21wb25lbnR9IGZyb20gJy4vZWxlbWVudHMvdG9nZ2xlL3RvZ2dsZS5jb21wb25lbnQnO1xuaW1wb3J0IHtGb3JtQ2FwdGlvbkNvbXBvbmVudH0gZnJvbSAnLi9mb3JtL2Zvcm0tY2FwdGlvbi9mb3JtLWNhcHRpb24uY29tcG9uZW50JztcbmltcG9ydCB7Rm9ybUVsZW1lbnRDb21wb25lbnR9IGZyb20gJy4vZm9ybS9mb3JtLWVsZW1lbnQvZm9ybS1lbGVtZW50LmNvbXBvbmVudCc7XG5pbXBvcnQge0Zvcm1FcnJvckNvbXBvbmVudH0gZnJvbSAnLi9mb3JtL2Zvcm0tZXJyb3IvZm9ybS1lcnJvci5jb21wb25lbnQnO1xuaW1wb3J0IHtGb3JtU3VibWl0QnV0dG9uQ29tcG9uZW50fSBmcm9tICcuL2Zvcm0vZm9ybS1zdWJtaXQtYnV0dG9uL2Zvcm0tc3VibWl0LWJ1dHRvbi5jb21wb25lbnQnO1xuaW1wb3J0IHtGb3JtQ29tcG9uZW50LCBTdWJGb3JtRGlyZWN0aXZlfSBmcm9tICcuL2Zvcm0vZm9ybS5jb21wb25lbnQnO1xuaW1wb3J0IHsgU29ydGFibGVqc01vZHVsZSB9IGZyb20gJ0BkdXN0Zm91bmRhdGlvbi9uZ3gtc29ydGFibGVqcyc7XG5pbXBvcnQge05nU2VsZWN0TW9kdWxlfSBmcm9tICdAbmctc2VsZWN0L25nLXNlbGVjdCc7XG5pbXBvcnQge0RhdGVQaWNrZXJDb21wb25lbnR9IGZyb20gJy4vZWxlbWVudHMvZGF0ZS1waWNrZXIvZGF0ZS1waWNrZXIuY29tcG9uZW50JztcbmltcG9ydCB7RGF0ZVRpbWVQaWNrZXJDb21wb25lbnR9IGZyb20gJy4vZWxlbWVudHMvZGF0ZS10aW1lLXBpY2tlci9kYXRlLXRpbWUtcGlja2VyLmNvbXBvbmVudCc7XG5pbXBvcnQge01hdGVyaWFsTW9kdWxlfSBmcm9tICcuL21hdGVyaWFsLm1vZHVsZSc7XG5pbXBvcnQge011bHRpcGxlVmFsdWVBY2Nlc3NvckJhc2V9IGZyb20gJy4vZWxlbWVudHMvdmFsdWUtYWNjZXNzb3ItYmFzZS9tdWx0aXBsZS12YWx1ZS1hY2Nlc3Nvci1iYXNlLmNvbXBvbmVudCc7XG5pbXBvcnQge0ZpbGVJbnB1dENvbXBvbmVudH0gZnJvbSAnLi9lbGVtZW50cy9maWxlLWlucHV0L2ZpbGUtaW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7U29ydGFibGVHcm91cGVkSXRlbXNDb21wb25lbnR9IGZyb20gJy4vZWxlbWVudHMvc29ydGFibGUtZ3JvdXBlZC1pdGVtcy9zb3J0YWJsZS1ncm91cGVkLWl0ZW1zLmNvbXBvbmVudCc7XG5pbXBvcnQge0hvdXJNaW51dGVJbnB1dENvbXBvbmVudH0gZnJvbSAnLi9lbGVtZW50cy9ob3VyLW1pbnV0ZS1pbnB1dC9ob3VyLW1pbnV0ZS1pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHtSYWRpb0NvbXBvbmVudH0gZnJvbSAnLi9lbGVtZW50cy9yYWRpby9yYWRpby5jb21wb25lbnQnO1xuaW1wb3J0IHtXaXRoVG9vbHRpcERpcmVjdGl2ZX0gZnJvbSBcIi4vd2l0aFRvb2x0aXAuY29tcG9uZW50XCI7XG5pbXBvcnQge1dhcm5pbmdJY29uQ29tcG9uZW50fSBmcm9tIFwiLi93YXJuaW5nLWljb24vd2FybmluZy1pY29uLmNvbXBvbmVudFwiO1xuaW1wb3J0IHtFbGVtZW50SXNUcnVuY2F0ZWRDYkNvbXBvbmVudH0gZnJvbSBcIi4vZWxlbWVudElzVHJ1bmNhdGVkQ2IuY29tcG9uZW50XCI7XG5pbXBvcnQge09uUmVuZGVyRGlyZWN0aXZlfSBmcm9tIFwiLi9vblJlbmRlci5jb21wb25lbnRcIjtcbmltcG9ydCB7VGV4dEFyZWFDb21wb25lbnR9IGZyb20gXCIuL2VsZW1lbnRzL3RleHQtYXJlYS90ZXh0LWFyZWEuY29tcG9uZW50XCI7XG5pbXBvcnQge0Zvcm1DYXB0aW9uRW5kQ29tcG9uZW50fSBmcm9tIFwiLi9mb3JtL2Zvcm0tY2FwdGlvbi1lbmQvZm9ybS1jYXB0aW9uLWVuZC5jb21wb25lbnRcIjtcblxuQE5nTW9kdWxlKHtcblx0aW1wb3J0czogW1xuXHRcdENvbW1vbk1vZHVsZSxcblx0XHRGb3Jtc01vZHVsZSxcblx0XHROZ1NlbGVjdE1vZHVsZSxcblx0XHRTb3J0YWJsZWpzTW9kdWxlLFxuXHRcdE1hdGVyaWFsTW9kdWxlLFxuXHRdLFxuXHRkZWNsYXJhdGlvbnM6IFtcblx0XHRWYWx1ZUFjY2Vzc29yQmFzZSxcblx0XHRNdWx0aXBsZVZhbHVlQWNjZXNzb3JCYXNlLFxuXHRcdEJ1dHRvbkNvbXBvbmVudCxcblx0XHRDaGVja2JveENvbXBvbmVudCxcblx0XHREYXRlUGlja2VyQ29tcG9uZW50LFxuXHRcdERhdGVUaW1lUGlja2VyQ29tcG9uZW50LFxuXHRcdEVtYWlsSW5wdXRDb21wb25lbnQsXG5cdFx0TG9hZGluZ0luZGljYXRvckNvbXBvbmVudCxcblx0XHROdW1iZXJJbnB1dENvbXBvbmVudCxcblx0XHRQYXNzd29yZEZpZWxkQ29tcG9uZW50LFxuXHRcdFNlbGVjdENvbXBvbmVudCxcblx0XHRLbHBTZWxlY3RPcHRpb25UZW1wbGF0ZURpcmVjdGl2ZSxcblx0XHRTZWxlY3RGb290ZXJDb21wb25lbnQsXG5cdFx0U29ydGFibGVJdGVtc0NvbXBvbmVudCxcblx0XHRTb3J0YWJsZUdyb3VwZWRJdGVtc0NvbXBvbmVudCxcblx0XHRUZXh0SW5wdXRDb21wb25lbnQsXG5cdFx0VGV4dEFyZWFDb21wb25lbnQsXG5cdFx0VG9nZ2xlQ29tcG9uZW50LFxuXHRcdEZpbGVJbnB1dENvbXBvbmVudCxcblx0XHRGb3JtQ2FwdGlvbkNvbXBvbmVudCxcblx0XHRGb3JtQ2FwdGlvbkVuZENvbXBvbmVudCxcblx0XHRGb3JtRWxlbWVudENvbXBvbmVudCxcblx0XHRGb3JtRXJyb3JDb21wb25lbnQsXG5cdFx0Rm9ybVN1Ym1pdEJ1dHRvbkNvbXBvbmVudCxcblx0XHRGb3JtQ29tcG9uZW50LFxuXHRcdFN1YkZvcm1EaXJlY3RpdmUsXG5cdFx0SG91ck1pbnV0ZUlucHV0Q29tcG9uZW50LFxuXHRcdFJhZGlvQ29tcG9uZW50LFxuXHRcdFdpdGhUb29sdGlwRGlyZWN0aXZlLFxuXHRcdE9uUmVuZGVyRGlyZWN0aXZlLFxuXHRcdFdhcm5pbmdJY29uQ29tcG9uZW50LFxuXHRcdEVsZW1lbnRJc1RydW5jYXRlZENiQ29tcG9uZW50LFxuXHRdLFxuXHRleHBvcnRzOiBbXG5cdFx0VmFsdWVBY2Nlc3NvckJhc2UsXG5cdFx0TXVsdGlwbGVWYWx1ZUFjY2Vzc29yQmFzZSxcblx0XHRCdXR0b25Db21wb25lbnQsXG5cdFx0RGF0ZVBpY2tlckNvbXBvbmVudCxcblx0XHREYXRlVGltZVBpY2tlckNvbXBvbmVudCxcblx0XHRDaGVja2JveENvbXBvbmVudCxcblx0XHRFbWFpbElucHV0Q29tcG9uZW50LFxuXHRcdExvYWRpbmdJbmRpY2F0b3JDb21wb25lbnQsXG5cdFx0TnVtYmVySW5wdXRDb21wb25lbnQsXG5cdFx0UGFzc3dvcmRGaWVsZENvbXBvbmVudCxcblx0XHRTZWxlY3RDb21wb25lbnQsXG5cdFx0S2xwU2VsZWN0T3B0aW9uVGVtcGxhdGVEaXJlY3RpdmUsXG5cdFx0U2VsZWN0Rm9vdGVyQ29tcG9uZW50LFxuXHRcdFNvcnRhYmxlSXRlbXNDb21wb25lbnQsXG5cdFx0U29ydGFibGVHcm91cGVkSXRlbXNDb21wb25lbnQsXG5cdFx0VGV4dElucHV0Q29tcG9uZW50LFxuXHRcdFRleHRBcmVhQ29tcG9uZW50LFxuXHRcdFRvZ2dsZUNvbXBvbmVudCxcblx0XHRGaWxlSW5wdXRDb21wb25lbnQsXG5cdFx0Rm9ybUNhcHRpb25Db21wb25lbnQsXG5cdFx0Rm9ybUNhcHRpb25FbmRDb21wb25lbnQsXG5cdFx0Rm9ybUVsZW1lbnRDb21wb25lbnQsXG5cdFx0Rm9ybUVycm9yQ29tcG9uZW50LFxuXHRcdEZvcm1TdWJtaXRCdXR0b25Db21wb25lbnQsXG5cdFx0Rm9ybUNvbXBvbmVudCxcblx0XHRTdWJGb3JtRGlyZWN0aXZlLFxuXHRcdEhvdXJNaW51dGVJbnB1dENvbXBvbmVudCxcblx0XHRSYWRpb0NvbXBvbmVudCxcblx0XHRXaXRoVG9vbHRpcERpcmVjdGl2ZSxcblx0XHRPblJlbmRlckRpcmVjdGl2ZSxcblx0XHRFbGVtZW50SXNUcnVuY2F0ZWRDYkNvbXBvbmVudCxcblx0XVxufSlcbmV4cG9ydCBjbGFzcyBOZ3hFbmhhbmN5Rm9ybXNNb2R1bGUge31cbiJdfQ==
|
package/esm2022/public-api.mjs
CHANGED
|
@@ -28,10 +28,11 @@ export * from './lib/onRender.component';
|
|
|
28
28
|
export * from './lib/elementIsTruncatedCb.component';
|
|
29
29
|
export * from './lib/form/form.component';
|
|
30
30
|
export * from './lib/form/form-caption/form-caption.component';
|
|
31
|
+
export * from './lib/form/form-caption-end/form-caption-end.component';
|
|
31
32
|
export * from './lib/form/form-element/form-element.component';
|
|
32
33
|
export * from './lib/form/form-error/form-error.component';
|
|
33
34
|
export * from './lib/form/form-submit-button/form-submit-button.component';
|
|
34
35
|
export * from './lib/form/form-validation-error/form-validation-error';
|
|
35
36
|
export * from './lib/validators/dateValidator';
|
|
36
37
|
export * from './lib/types';
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2tsaXBwYS9uZ3gtZW5oYW5jeS1mb3Jtcy9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsZ0NBQWdDLENBQUM7QUFFL0MsY0FBYyx3Q0FBd0MsQ0FBQztBQUN2RCxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLGtEQUFrRCxDQUFDO0FBQ2pFLGNBQWMsNERBQTRELENBQUM7QUFDM0UsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLDhEQUE4RCxDQUFDO0FBQzdFLGNBQWMsb0RBQW9ELENBQUM7QUFDbkUsY0FBYyx3REFBd0QsQ0FBQztBQUN2RSxjQUFjLDZEQUE2RCxDQUFDO0FBQzVFLGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyx3REFBd0QsQ0FBQztBQUN2RSxjQUFjLHdFQUF3RSxDQUFDO0FBQ3ZGLGNBQWMsZ0RBQWdELENBQUM7QUFDL0QsY0FBYyw4Q0FBOEMsQ0FBQztBQUM3RCxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMsZ0RBQWdELENBQUM7QUFDL0QsY0FBYyw4REFBOEQsQ0FBQztBQUM3RSxjQUFjLGtFQUFrRSxDQUFDO0FBQ2pGLGNBQWMsMkVBQTJFLENBQUM7QUFFMUYsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsc0NBQXNDLENBQUM7QUFFckQsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLGdEQUFnRCxDQUFDO0FBQy9ELGNBQWMsd0RBQXdELENBQUM7QUFDdkUsY0FBYyxnREFBZ0QsQ0FBQztBQUMvRCxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMsNERBQTRELENBQUM7QUFDM0UsY0FBYyx3REFBd0QsQ0FBQztBQUV2RSxjQUFjLGdDQUFnQyxDQUFDO0FBRS9DLGNBQWMsYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBuZ3gtZW5oYW5jeS1mb3Jtc1xuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL25neC1lbmhhbmN5LWZvcm1zLm1vZHVsZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2VsZW1lbnRzL2J1dHRvbi9idXR0b24uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2VsZW1lbnRzL2NoZWNrYm94L2NoZWNrYm94LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9lbGVtZW50cy9yYWRpby9yYWRpby5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZWxlbWVudHMvcmFkaW8vcmFkaW8uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2VsZW1lbnRzL2RhdGUtcGlja2VyL2RhdGUtcGlja2VyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9lbGVtZW50cy9kYXRlLXRpbWUtcGlja2VyL2RhdGUtdGltZS1waWNrZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2VsZW1lbnRzL2VtYWlsL2VtYWlsLWlucHV0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9lbGVtZW50cy9sb2FkaW5nLWluZGljYXRvci9sb2FkaW5nLWluZGljYXRvci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZWxlbWVudHMvbnVtYmVyLWlucHV0L251bWJlci1pbnB1dC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZWxlbWVudHMvcGFzc3dvcmQtZmllbGQvcGFzc3dvcmQtZmllbGQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2VsZW1lbnRzL3NlbGVjdC9zZWxlY3QtZm9vdGVyL3NlbGVjdC1mb290ZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2VsZW1lbnRzL3NlbGVjdC9zZWxlY3QuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2VsZW1lbnRzL3NvcnRhYmxlLWl0ZW1zL3NvcnRhYmxlLWl0ZW1zLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9lbGVtZW50cy9zb3J0YWJsZS1ncm91cGVkLWl0ZW1zL3NvcnRhYmxlLWdyb3VwZWQtaXRlbXMuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2VsZW1lbnRzL3RleHQtaW5wdXQvdGV4dC1pbnB1dC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZWxlbWVudHMvdGV4dC1hcmVhL3RleHQtYXJlYS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZWxlbWVudHMvdG9nZ2xlL3RvZ2dsZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZWxlbWVudHMvZmlsZS1pbnB1dC9maWxlLWlucHV0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9lbGVtZW50cy9ob3VyLW1pbnV0ZS1pbnB1dC9ob3VyLW1pbnV0ZS1pbnB1dC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZWxlbWVudHMvdmFsdWUtYWNjZXNzb3ItYmFzZS92YWx1ZS1hY2Nlc3Nvci1iYXNlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9lbGVtZW50cy92YWx1ZS1hY2Nlc3Nvci1iYXNlL211bHRpcGxlLXZhbHVlLWFjY2Vzc29yLWJhc2UuY29tcG9uZW50JztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvd2l0aFRvb2x0aXAuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL29uUmVuZGVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9lbGVtZW50SXNUcnVuY2F0ZWRDYi5jb21wb25lbnQnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9mb3JtL2Zvcm0uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Zvcm0vZm9ybS1jYXB0aW9uL2Zvcm0tY2FwdGlvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZm9ybS9mb3JtLWNhcHRpb24tZW5kL2Zvcm0tY2FwdGlvbi1lbmQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Zvcm0vZm9ybS1lbGVtZW50L2Zvcm0tZWxlbWVudC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZm9ybS9mb3JtLWVycm9yL2Zvcm0tZXJyb3IuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Zvcm0vZm9ybS1zdWJtaXQtYnV0dG9uL2Zvcm0tc3VibWl0LWJ1dHRvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZm9ybS9mb3JtLXZhbGlkYXRpb24tZXJyb3IvZm9ybS12YWxpZGF0aW9uLWVycm9yJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvdmFsaWRhdG9ycy9kYXRlVmFsaWRhdG9yJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvdHlwZXMnO1xuIl19
|