mmhglobal-dynamicform 2.28.6 → 2.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/README.md +9 -0
- package/esm2020/lib/embed-components/processing-record-loader/processing-record-loader.component.mjs +2 -2
- package/esm2020/lib/kscrollview/kscrollview.component.mjs +2 -2
- package/esm2020/lib/mmhglobal-dynamicform.module.mjs +17 -8
- package/esm2020/lib/services/main.service.mjs +19 -4
- package/esm2020/lib/services/zcomponent.debug.service.mjs +3 -3
- package/esm2020/lib/services/zcomponent.service.mjs +2 -2
- package/esm2020/lib/sfdatetimepicker/sfdatetimepicker.component.mjs +51 -0
- package/esm2020/lib/uiheader/uiheader.component.mjs +2 -2
- package/esm2020/lib/zbuttons/zbuttons.component.mjs +17 -4
- package/esm2020/lib/zdatetime/dateKendoFormatParser.pipe.mjs +2 -1
- package/esm2020/lib/zdatetime/zdatetime.component.mjs +11 -7
- package/esm2020/lib/zform/zform.component.mjs +2 -2
- package/esm2020/lib/zinput-container/zinput-container.component.mjs +22 -20
- package/esm2020/lib/zinput-container/zinput-container.pipe.mjs +4 -3
- package/esm2020/lib/ztreelist/ztreelist.component.mjs +3 -3
- package/esm2020/lib/zupload/zupload.component.mjs +6 -7
- package/esm2020/public-api.mjs +2 -1
- package/fesm2015/mmhglobal-dynamicform.mjs +137 -53
- package/fesm2015/mmhglobal-dynamicform.mjs.map +1 -1
- package/fesm2020/mmhglobal-dynamicform.mjs +137 -53
- package/fesm2020/mmhglobal-dynamicform.mjs.map +1 -1
- package/lib/mmhglobal-dynamicform.module.d.ts +41 -39
- package/lib/services/zcomponent.debug.service.d.ts +1 -1
- package/lib/sfdatetimepicker/sfdatetimepicker.component.d.ts +23 -0
- package/lib/zdatetime/zdatetime.component.d.ts +2 -1
- package/lib/zinput-container/zinput-container.component.d.ts +1 -0
- package/lib/zinput-container/zinput-container.pipe.d.ts +1 -0
- package/package.json +1 -1
- package/public-api.d.ts +1 -0
|
@@ -12,23 +12,24 @@ import * as i2 from "@ionic/angular";
|
|
|
12
12
|
import * as i3 from "../ztext/ztext.component";
|
|
13
13
|
import * as i4 from "../zselectmultiple/zselectmultiple.component";
|
|
14
14
|
import * as i5 from "../zdatetime/zdatetime.component";
|
|
15
|
-
import * as i6 from "../
|
|
16
|
-
import * as i7 from "../
|
|
17
|
-
import * as i8 from "../
|
|
18
|
-
import * as i9 from "../
|
|
19
|
-
import * as i10 from "../
|
|
20
|
-
import * as i11 from "../
|
|
21
|
-
import * as i12 from "../
|
|
22
|
-
import * as i13 from "../
|
|
23
|
-
import * as i14 from "../
|
|
24
|
-
import * as i15 from "
|
|
25
|
-
import * as i16 from "
|
|
26
|
-
import * as i17 from "../embed-components/
|
|
27
|
-
import * as i18 from "
|
|
28
|
-
import * as i19 from "@angular/
|
|
29
|
-
import * as i20 from "@angular/
|
|
30
|
-
import * as i21 from "@angular/flex-layout/
|
|
31
|
-
import * as i22 from "
|
|
15
|
+
import * as i6 from "../sfdatetimepicker/sfdatetimepicker.component";
|
|
16
|
+
import * as i7 from "../zpostselectinput/zpostselectinput.component";
|
|
17
|
+
import * as i8 from "../zcheckbox/zcheckbox.component";
|
|
18
|
+
import * as i9 from "../znumeric/znumeric.component";
|
|
19
|
+
import * as i10 from "../ztextarea/ztextarea.component";
|
|
20
|
+
import * as i11 from "../zupload/zupload.component";
|
|
21
|
+
import * as i12 from "../zimg/zimg.component";
|
|
22
|
+
import * as i13 from "../ztexteditor/ztexteditor.component";
|
|
23
|
+
import * as i14 from "../zcolorpicker/zcolorpicker.component";
|
|
24
|
+
import * as i15 from "../input-error-message/input-error-message.component";
|
|
25
|
+
import * as i16 from "@progress/kendo-angular-label";
|
|
26
|
+
import * as i17 from "../embed-components/input-field-addons/input-field-addons.component";
|
|
27
|
+
import * as i18 from "../embed-components/context-menu/context-menu.component";
|
|
28
|
+
import * as i19 from "@angular/common";
|
|
29
|
+
import * as i20 from "@angular/forms";
|
|
30
|
+
import * as i21 from "@angular/flex-layout/extended";
|
|
31
|
+
import * as i22 from "@angular/flex-layout/flex";
|
|
32
|
+
import * as i23 from "./zinput-container.pipe";
|
|
32
33
|
export class ZInputContainerComponent extends FieldBase {
|
|
33
34
|
constructor(componentService) {
|
|
34
35
|
super(componentService);
|
|
@@ -37,6 +38,7 @@ export class ZInputContainerComponent extends FieldBase {
|
|
|
37
38
|
this.ztext_type = ['number', 'numeric', 'date', 'email', 'zpassword', 'search', 'tel', 'text', 'url', 'currency'];
|
|
38
39
|
this.zselect_type = ['zuiselectmultiple', 'zuiselectmultiple_button', 'select'];
|
|
39
40
|
this.zdate_type = ['zdate', 'ztime', 'zdatetime', 'zshortdate', 'zuidatetime', 'zuitime'];
|
|
41
|
+
this.sfdatetimepicker_type = ['sfdatetimepicker'];
|
|
40
42
|
this.zpostselectinput_type = ['post_select_input', 'pre_select_input', 'zphone_countrycode'];
|
|
41
43
|
this.zcheckbox_type = ['checkbox'];
|
|
42
44
|
this.znumeric_type = ['znumeric'];
|
|
@@ -79,9 +81,9 @@ export class ZInputContainerComponent extends FieldBase {
|
|
|
79
81
|
}
|
|
80
82
|
}
|
|
81
83
|
ZInputContainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: ZInputContainerComponent, deps: [{ token: i1.ZComponentService }], target: i0.ɵɵFactoryTarget.Component });
|
|
82
|
-
ZInputContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.3", type: ZInputContainerComponent, selector: "app-zinput-container", usesInheritance: true, ngImport: i0, template: "<div class=\"mobile-input-container e1tag-container-style\" *ngIf=\"isMobileScreen() && !isLoading\"\r\n [style]=\"componentProperties.containerStyle.style\">\r\n <ion-item [formGroup]=\"form\" class=\"e1tag-container-style1\"\r\n *ngIf=\"(!!componentProperties.isVisibleField ? group[componentProperties.isVisibleField] : componentProperties.isVisible)\"\r\n [ngClass]=\"getIon_InvalidClass(form, data)\" [style]=\"componentProperties.containerStyle.style1\">\r\n <ion-label [attr.for]=\"data.Value\" class=\"input-label e1tag-container-style2\"\r\n *ngIf=\"data.ShowLabel === undefined || data.ShowLabel\"\r\n [position]=\"data.LabelPosition ? data.LabelPosition : 'stacked'\"\r\n [style]=\"componentProperties.containerStyle.style2\">\r\n {{componentProperties.label}}\r\n <ion-text *ngIf=\"(!!componentProperties.isRequiredField ? group[componentProperties.isRequiredField] : componentProperties.isRequired)\"\r\n color=\"danger\" class=\"required-icon\">*</ion-text>\r\n </ion-label>\r\n <div class=\"input-value-field\">\r\n <div class=\"input-fields-options\">\r\n <app-ztext *ngIf=\"ztext_type.includes(data.Type)\" [data]=\"data\" [group]=\"group\" [form]=\"form\"\r\n [containerField]=\"containerField\" [componentProperties]=\"componentProperties\" class=\"e1tag-container-style5\"\r\n [style]=\"componentProperties.containerStyle.style5\" (triggerContainerEvent)=\"triggerContainerEvent($event)\">\r\n </app-ztext>\r\n <app-zselectmultiple *ngIf=\"zselect_type.includes(data.Type)\" [data]=\"data\" [group]=\"group\" [form]=\"form\"\r\n [containerField]=\"containerField\" [componentProperties]=\"componentProperties\" class=\"e1tag-container-style5\"\r\n [style]=\"componentProperties.containerStyle.style5\" (triggerContainerEvent)=\"triggerContainerEvent($event)\">\r\n </app-zselectmultiple>\r\n <app-zdatetime *ngIf=\"zdate_type.includes(data.Type)\" [data]=\"data\" [group]=\"group\" [form]=\"form\"\r\n [containerField]=\"containerField\" [componentProperties]=\"componentProperties\" class=\"e1tag-container-style5\"\r\n [style]=\"componentProperties.containerStyle.style5\" (triggerContainerEvent)=\"triggerContainerEvent($event)\">\r\n </app-zdatetime>\r\n <app-zpostselectinput *ngIf=\"zpostselectinput_type.includes(data.Type)\" [data]=\"data\" [group]=\"group\"\r\n [form]=\"form\" [containerField]=\"containerField\" [componentProperties]=\"componentProperties\"\r\n class=\"e1tag-container-style5\" [style]=\"componentProperties.containerStyle.style5\"\r\n (triggerContainerEvent)=\"triggerContainerEvent($event)\">\r\n </app-zpostselectinput>\r\n <app-zcheckbox *ngIf=\"zcheckbox_type.includes(data.Type)\" [data]=\"data\" [group]=\"group\" [form]=\"form\"\r\n [containerField]=\"containerField\" [componentProperties]=\"componentProperties\" class=\"e1tag-container-style5\"\r\n [style]=\"componentProperties.containerStyle.style5\" (triggerContainerEvent)=\"triggerContainerEvent($event)\">\r\n </app-zcheckbox>\r\n <app-znumeric *ngIf=\"znumeric_type.includes(data.Type)\" [data]=\"data\" [group]=\"group\" [form]=\"form\"\r\n [containerField]=\"containerField\" [componentProperties]=\"componentProperties\" class=\"e1tag-container-style5\"\r\n [style]=\"componentProperties.containerStyle.style5\" (triggerContainerEvent)=\"triggerContainerEvent($event)\">\r\n </app-znumeric>\r\n <app-ztextarea *ngIf=\"textarea_type.includes(data.Type)\" [data]=\"data\" [group]=\"group\" [form]=\"form\"\r\n [containerField]=\"containerField\" [componentProperties]=\"componentProperties\" class=\"e1tag-container-style5\"\r\n [style]=\"componentProperties.containerStyle.style5\" (triggerContainerEvent)=\"triggerContainerEvent($event)\">\r\n </app-ztextarea>\r\n <app-zupload *ngIf=\"zupload_type.includes(data.Type)\" [data]=\"data\" [group]=\"group\" [form]=\"form\"\r\n [containerField]=\"containerField\" [componentProperties]=\"componentProperties\" class=\"e1tag-container-style5\"\r\n [style]=\"componentProperties.containerStyle.style5\" (triggerContainerEvent)=\"triggerContainerEvent($event)\">\r\n </app-zupload>\r\n <app-zimg *ngIf=\"zimg_type.includes(data.Type)\" [data]=\"data\" [group]=\"group\" [form]=\"form\"\r\n [containerField]=\"containerField\" [componentProperties]=\"componentProperties\" class=\"e1tag-container-style5\"\r\n [style]=\"componentProperties.containerStyle.style5\" (triggerContainerEvent)=\"triggerContainerEvent($event)\">\r\n </app-zimg>\r\n <app-ztexteditor *ngIf=\"ztexteditor_type.includes(data.Type)\" [data]=\"data\" [group]=\"group\" [form]=\"form\"\r\n [containerField]=\"containerField\" [componentProperties]=\"componentProperties\" class=\"e1tag-container-style5\"\r\n [style]=\"componentProperties.containerStyle.style5\" (triggerContainerEvent)=\"triggerContainerEvent($event)\">\r\n </app-ztexteditor>\r\n <app-zcolorpicker *ngIf=\"zcolorpicker_type.includes(data.Type)\" [data]=\"data\" [group]=\"group\" [form]=\"form\"\r\n [containerField]=\"containerField\" [componentProperties]=\"componentProperties\" class=\"e1tag-container-style5\"\r\n [style]=\"componentProperties.containerStyle.style5\" (triggerContainerEvent)=\"triggerContainerEvent($event)\">\r\n </app-zcolorpicker>\r\n </div>\r\n <app-error [data]=\"data\" [group]=\"group\" [form]=\"form\"></app-error>\r\n <!-- <app-field-suffix-element [data]=\"data\" [group]=\"group\" [form]=\"form\" [containerField]=\"containerField\"\r\n [componentProperties]=\"componentProperties\"></app-field-suffix-element> -->\r\n </div>\r\n </ion-item>\r\n</div>\r\n\r\n<div class=\"desktop-input-container e1tag-container-style\" [formGroup]=\"form\"\r\n [style]=\"componentProperties.containerStyle.style\"\r\n *ngIf=\"!isMobileScreen() && !isLoading && (!!componentProperties.isVisibleField ? group[componentProperties.isVisibleField] : componentProperties.isVisible)\"\r\n [ngClass]=\"getClass(form, data)\" [fxLayout]=\"data.FieldLayoutType !== 1 ? 'column' : 'row'\"\r\n fxLayoutAlign=\"space-between stretch\" [class.editMode]=\"(data['_EditMode'].value)\"\r\n #zinputcontainer>\r\n <kendo-label class=\"input-label e1tag-container-style1\" [for]=\"data.Name\" [text]=\"componentProperties.label\"\r\n *ngIf=\"data.ShowLabel\" [style]=\"componentProperties.containerStyle.style1\"\r\n [fxFlex]=\"componentProperties.labelFlexLayoutSize.all\" [fxFlex.xs]=\"componentProperties.labelFlexLayoutSize.xs\"\r\n [fxFlex.sm]=\"componentProperties.labelFlexLayoutSize.sm\" [fxFlex.md]=\"componentProperties.labelFlexLayoutSize.md\"\r\n [fxFlex.lg]=\"componentProperties.labelFlexLayoutSize.lg\" [fxFlex.xl]=\"componentProperties.labelFlexLayoutSize.xl\">\r\n <kendo-label *ngIf=\"data['_EditMode'].value && (!!componentProperties.isRequiredField ? group[componentProperties.isRequiredField] : componentProperties.isRequired)\"\r\n text=\"*\" class=\"required-icon\">\r\n </kendo-label>\r\n <app-input-field-addons class=\"addon-top e1tag-container-style7\" [position]=\"'top'\" [addOn]=\"inputFieldAddOn.top\"\r\n [data]=\"data\" [group]=\"group\" [form]=\"form\" [containerField]=\"containerField\"\r\n [componentProperties]=\"componentProperties\" [style]=\"componentProperties.containerStyle.style7\">\r\n </app-input-field-addons>\r\n </kendo-label>\r\n <div class=\"input-value-container e1tag-container-style2\" [style]=\"componentProperties.containerStyle.style2\"\r\n [fxFlex]=\"componentProperties.fieldFlexLayoutSize.all\" [fxFlex.xs]=\"componentProperties.fieldFlexLayoutSize.xs\"\r\n [fxFlex.sm]=\"componentProperties.fieldFlexLayoutSize.sm\" [fxFlex.md]=\"componentProperties.fieldFlexLayoutSize.md\"\r\n [fxFlex.lg]=\"componentProperties.fieldFlexLayoutSize.lg\" [fxFlex.xl]=\"componentProperties.fieldFlexLayoutSize.xl\">\r\n <div *ngIf=\"data['_EditMode'].value\" class=\"input-value-field e1tag-container-style3\"\r\n [style]=\"componentProperties.containerStyle.style3\">\r\n <!-- TODO: Add 1 more layer for this switch case-->\r\n <app-input-field-addons class=\"addon-left e1tag-container-style7\" [position]=\"'left'\"\r\n [addOn]=\"inputFieldAddOn.left\" [data]=\"data\" [group]=\"group\" [form]=\"form\" [containerField]=\"containerField\"\r\n [componentProperties]=\"componentProperties\" [style]=\"componentProperties.containerStyle.style7\">\r\n </app-input-field-addons>\r\n <div class=\"input-fields-options e1tag-container-style4\" [style]=\"componentProperties.containerStyle.style4\">\r\n <app-ztext *ngIf=\"ztext_type.includes(data.Type)\" [data]=\"data\" [group]=\"group\" [form]=\"form\"\r\n [containerField]=\"containerField\" [componentProperties]=\"componentProperties\" class=\"e1tag-container-style5\"\r\n [style]=\"componentProperties.containerStyle.style5\" (triggerContainerEvent)=\"triggerContainerEvent($event)\">\r\n </app-ztext>\r\n <app-zselectmultiple *ngIf=\"zselect_type.includes(data.Type)\" [data]=\"data\" [group]=\"group\" [form]=\"form\"\r\n [containerField]=\"containerField\" [componentProperties]=\"componentProperties\" class=\"e1tag-container-style5\"\r\n [style]=\"componentProperties.containerStyle.style5\" (triggerContainerEvent)=\"triggerContainerEvent($event)\">\r\n </app-zselectmultiple>\r\n <app-zdatetime *ngIf=\"zdate_type.includes(data.Type)\" [data]=\"data\" [group]=\"group\" [form]=\"form\"\r\n [containerField]=\"containerField\" [componentProperties]=\"componentProperties\" class=\"e1tag-container-style5\"\r\n [style]=\"componentProperties.containerStyle.style5\" (triggerContainerEvent)=\"triggerContainerEvent($event)\">\r\n </app-zdatetime>\r\n <app-zpostselectinput *ngIf=\"zpostselectinput_type.includes(data.Type)\" [data]=\"data\" [group]=\"group\"\r\n [form]=\"form\" [containerField]=\"containerField\" [componentProperties]=\"componentProperties\"\r\n class=\"e1tag-container-style5\" [style]=\"componentProperties.containerStyle.style5\"\r\n (triggerContainerEvent)=\"triggerContainerEvent($event)\">\r\n </app-zpostselectinput>\r\n <app-zcheckbox *ngIf=\"zcheckbox_type.includes(data.Type)\" [data]=\"data\" [group]=\"group\" [form]=\"form\"\r\n [containerField]=\"containerField\" [componentProperties]=\"componentProperties\" class=\"e1tag-container-style5\"\r\n [style]=\"componentProperties.containerStyle.style5\" (triggerContainerEvent)=\"triggerContainerEvent($event)\">\r\n </app-zcheckbox>\r\n <app-znumeric *ngIf=\"znumeric_type.includes(data.Type)\" [data]=\"data\" [group]=\"group\" [form]=\"form\"\r\n [containerField]=\"containerField\" [componentProperties]=\"componentProperties\" class=\"e1tag-container-style5\"\r\n [style]=\"componentProperties.containerStyle.style5\" (triggerContainerEvent)=\"triggerContainerEvent($event)\">\r\n </app-znumeric>\r\n <app-ztextarea *ngIf=\"textarea_type.includes(data.Type)\" [data]=\"data\" [group]=\"group\" [form]=\"form\"\r\n [containerField]=\"containerField\" [componentProperties]=\"componentProperties\" class=\"e1tag-container-style5\"\r\n [style]=\"componentProperties.containerStyle.style5\" (triggerContainerEvent)=\"triggerContainerEvent($event)\">\r\n </app-ztextarea>\r\n <app-zupload *ngIf=\"zupload_type.includes(data.Type)\" [data]=\"data\" [group]=\"group\" [form]=\"form\"\r\n [containerField]=\"containerField\" [componentProperties]=\"componentProperties\" class=\"e1tag-container-style5\"\r\n [style]=\"componentProperties.containerStyle.style5\" (triggerContainerEvent)=\"triggerContainerEvent($event)\">\r\n </app-zupload>\r\n <app-zimg *ngIf=\"zimg_type.includes(data.Type)\" [data]=\"data\" [group]=\"group\" [form]=\"form\"\r\n [containerField]=\"containerField\" [componentProperties]=\"componentProperties\" class=\"e1tag-container-style5\"\r\n [style]=\"componentProperties.containerStyle.style5\" (triggerContainerEvent)=\"triggerContainerEvent($event)\">\r\n </app-zimg>\r\n <app-ztexteditor *ngIf=\"ztexteditor_type.includes(data.Type)\" [data]=\"data\" [group]=\"group\" [form]=\"form\"\r\n [containerField]=\"containerField\" [componentProperties]=\"componentProperties\" class=\"e1tag-container-style5\"\r\n [style]=\"componentProperties.containerStyle.style5\" (triggerContainerEvent)=\"triggerContainerEvent($event)\">\r\n </app-ztexteditor>\r\n <app-zcolorpicker *ngIf=\"zcolorpicker_type.includes(data.Type)\" [data]=\"data\" [group]=\"group\" [form]=\"form\"\r\n [containerField]=\"containerField\" [componentProperties]=\"componentProperties\" class=\"e1tag-container-style5\"\r\n [style]=\"componentProperties.containerStyle.style5\" (triggerContainerEvent)=\"triggerContainerEvent($event)\">\r\n </app-zcolorpicker>\r\n </div>\r\n <app-input-field-addons class=\"addon-right e1tag-container-style7\" [position]=\"'right'\"\r\n [addOn]=\"inputFieldAddOn.right\" [data]=\"data\" [group]=\"group\" [form]=\"form\" [containerField]=\"containerField\"\r\n [componentProperties]=\"componentProperties\" [style]=\"componentProperties.containerStyle.style7\">\r\n </app-input-field-addons>\r\n </div>\r\n <app-input-field-addons class=\"addon-bottom e1tag-container-style7\" [position]=\"'bottom'\"\r\n [addOn]=\"inputFieldAddOn.bottom\" [data]=\"data\" [group]=\"group\" [form]=\"form\" [containerField]=\"containerField\"\r\n [componentProperties]=\"componentProperties\" [style]=\"componentProperties.containerStyle.style7\">\r\n </app-input-field-addons>\r\n <app-error [data]=\"data\" [group]=\"group\" [form]=\"form\"></app-error>\r\n <kendo-label class=\"input-value e1tag-container-style6\" *ngIf=\"!(data['_EditMode'].value)\"\r\n [style]=\"componentProperties.containerStyle.style6\"\r\n [text]=\"group.zModel[data.Value] | inputText : data: group | async\"></kendo-label>\r\n </div>\r\n <app-context-menu [data]=\"data\" [group]=\"group\" [form]=\"form\" [target]=\"zinputcontainer\"></app-context-menu>\r\n</div>\r\n", styles: [".required-icon{color:var(--ion-color-danger);padding-left:3px;height:15px;position:relative;top:-1px}.desktop-input-container{padding:8px 0;min-height:calc(var(--input-field-height) + 5px)!important;margin:1px 0;display:inline-flex}.desktop-input-container .input-label{font-size:calc(var(--content-font-size) - 1px);display:flex;padding-left:20px}.desktop-input-container.editMode>.input-label{font-size:var(--content-font-size)}.desktop-input-container>.input-value-container{margin:auto}.desktop-input-container>.input-value-container .input-value-field{display:flex}.desktop-input-container>.input-value-container .input-value-field .input-fields-options{flex-grow:10}.desktop-input-container>.input-value-container .input-value-field app-field-suffix-icon{margin:auto}.desktop-input-container>.input-value-container .input-value{font-size:calc(var(--content-font-size) + 2px);font-weight:600;margin-top:3px}.desktop-input-container.style1 .input-value-container{margin-left:0;padding-right:25px}.desktop-input-container.style1 .input-label{margin:3px 0}.desktop-input-container.style2 .input-value-container{width:100%;margin-top:3px;padding:0 25px 0 20px}.desktop-input-container.style2 .input-label{margin-top:0}.desktop-input-container .addon-right{margin:auto 0;padding-bottom:4px}.desktop-input-container.editMode.style1 .input-label{margin:6px 0 0}.medium-padding.desktop-input-container .input-label{padding-left:10px}.medium-padding.desktop-input-container.style2 .input-value-container{padding:0 10px}.mobile-input-container .input-value-field{width:100%}.tooltipsinfo-icon{padding-left:10px;color:var(--ion-color-primary-tint)}\n"], components: [{ type: i2.IonItem, selector: "ion-item", inputs: ["button", "color", "counter", "counterFormatter", "detail", "detailIcon", "disabled", "download", "fill", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "shape", "target", "type"] }, { type: i2.IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { type: i2.IonText, selector: "ion-text", inputs: ["color", "mode"] }, { type: i3.ZtextComponent, selector: "app-ztext" }, { type: i4.ZselectmultipleComponent, selector: "app-zselectmultiple" }, { type: i5.ZdatetimeComponent, selector: "app-zdatetime" }, { type: i6.ZpostselectinputComponent, selector: "app-zpostselectinput" }, { type: i7.ZcheckboxComponent, selector: "app-zcheckbox" }, { type: i8.ZnumericComponent, selector: "app-znumeric" }, { type: i9.ZtextareaComponent, selector: "app-ztextarea" }, { type: i10.ZuploadComponent, selector: "app-zupload" }, { type: i11.ZimgComponent, selector: "app-zimg" }, { type: i12.ZtexteditorComponent, selector: "app-ztexteditor" }, { type: i13.ZcolorpickerComponent, selector: "app-zcolorpicker" }, { type: i14.InputErrorMessageComponent, selector: "app-error" }, { type: i15.LabelComponent, selector: "kendo-label", inputs: ["text", "for", "optional"], exportAs: ["kendoLabel"] }, { type: i16.InputFieldAddOnsComponent, selector: "app-input-field-addons", inputs: ["position", "addOn"] }, { type: i17.ContextMenuComponent, selector: "app-context-menu", inputs: ["target", "selectedData"] }], directives: [{ type: i18.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i19.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i19.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i18.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i20.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { type: i21.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { type: i21.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { type: i21.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }], pipes: { "async": i18.AsyncPipe, "inputText": i22.ZInputParser } });
|
|
84
|
+
ZInputContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.3", type: ZInputContainerComponent, selector: "app-zinput-container", usesInheritance: true, ngImport: i0, template: "<div class=\"mobile-input-container e1tag-container-style\" *ngIf=\"isMobileScreen() && !isLoading\"\r\n [style]=\"componentProperties.containerStyle.style\">\r\n <ion-item [formGroup]=\"form\" class=\"e1tag-container-style1\"\r\n *ngIf=\"(!!componentProperties.isVisibleField ? group[componentProperties.isVisibleField] : componentProperties.isVisible)\"\r\n [ngClass]=\"getIon_InvalidClass(form, data)\" [style]=\"componentProperties.containerStyle.style1\">\r\n <ion-label [attr.for]=\"data.Value\" class=\"input-label e1tag-container-style2\"\r\n *ngIf=\"data.ShowLabel === undefined || data.ShowLabel\"\r\n [position]=\"data.LabelPosition ? data.LabelPosition : 'stacked'\"\r\n [style]=\"componentProperties.containerStyle.style2\">\r\n {{componentProperties.label}}\r\n <ion-text *ngIf=\"(!!componentProperties.isRequiredField ? group[componentProperties.isRequiredField] : componentProperties.isRequired)\"\r\n color=\"danger\" class=\"required-icon\">*</ion-text>\r\n </ion-label>\r\n <div class=\"input-value-field\">\r\n <div class=\"input-fields-options\">\r\n <app-ztext *ngIf=\"ztext_type.includes(data.Type)\" [data]=\"data\" [group]=\"group\" [form]=\"form\"\r\n [containerField]=\"containerField\" [componentProperties]=\"componentProperties\" class=\"e1tag-container-style5\"\r\n [style]=\"componentProperties.containerStyle.style5\" (triggerContainerEvent)=\"triggerContainerEvent($event)\">\r\n </app-ztext>\r\n <app-zselectmultiple *ngIf=\"zselect_type.includes(data.Type)\" [data]=\"data\" [group]=\"group\" [form]=\"form\"\r\n [containerField]=\"containerField\" [componentProperties]=\"componentProperties\" class=\"e1tag-container-style5\"\r\n [style]=\"componentProperties.containerStyle.style5\" (triggerContainerEvent)=\"triggerContainerEvent($event)\">\r\n </app-zselectmultiple>\r\n <app-zdatetime *ngIf=\"zdate_type.includes(data.Type)\" [data]=\"data\" [group]=\"group\" [form]=\"form\"\r\n [containerField]=\"containerField\" [componentProperties]=\"componentProperties\" class=\"e1tag-container-style5\"\r\n [style]=\"componentProperties.containerStyle.style5\" (triggerContainerEvent)=\"triggerContainerEvent($event)\">\r\n </app-zdatetime>\r\n <app-sfdatetimepicker *ngIf=\"sfdatetimepicker_type.includes(data.Type)\" [data]=\"data\" [group]=\"group\" [form]=\"form\"\r\n [containerField]=\"containerField\" [componentProperties]=\"componentProperties\" class=\"e1tag-container-style5\"\r\n [style]=\"componentProperties.containerStyle.style5\" (triggerContainerEvent)=\"triggerContainerEvent($event)\">\r\n </app-sfdatetimepicker>\r\n <app-zpostselectinput *ngIf=\"zpostselectinput_type.includes(data.Type)\" [data]=\"data\" [group]=\"group\"\r\n [form]=\"form\" [containerField]=\"containerField\" [componentProperties]=\"componentProperties\"\r\n class=\"e1tag-container-style5\" [style]=\"componentProperties.containerStyle.style5\"\r\n (triggerContainerEvent)=\"triggerContainerEvent($event)\">\r\n </app-zpostselectinput>\r\n <app-zcheckbox *ngIf=\"zcheckbox_type.includes(data.Type)\" [data]=\"data\" [group]=\"group\" [form]=\"form\"\r\n [containerField]=\"containerField\" [componentProperties]=\"componentProperties\" class=\"e1tag-container-style5\"\r\n [style]=\"componentProperties.containerStyle.style5\" (triggerContainerEvent)=\"triggerContainerEvent($event)\">\r\n </app-zcheckbox>\r\n <app-znumeric *ngIf=\"znumeric_type.includes(data.Type)\" [data]=\"data\" [group]=\"group\" [form]=\"form\"\r\n [containerField]=\"containerField\" [componentProperties]=\"componentProperties\" class=\"e1tag-container-style5\"\r\n [style]=\"componentProperties.containerStyle.style5\" (triggerContainerEvent)=\"triggerContainerEvent($event)\">\r\n </app-znumeric>\r\n <app-ztextarea *ngIf=\"textarea_type.includes(data.Type)\" [data]=\"data\" [group]=\"group\" [form]=\"form\"\r\n [containerField]=\"containerField\" [componentProperties]=\"componentProperties\" class=\"e1tag-container-style5\"\r\n [style]=\"componentProperties.containerStyle.style5\" (triggerContainerEvent)=\"triggerContainerEvent($event)\">\r\n </app-ztextarea>\r\n <app-zupload *ngIf=\"zupload_type.includes(data.Type)\" [data]=\"data\" [group]=\"group\" [form]=\"form\"\r\n [containerField]=\"containerField\" [componentProperties]=\"componentProperties\" class=\"e1tag-container-style5\"\r\n [style]=\"componentProperties.containerStyle.style5\" (triggerContainerEvent)=\"triggerContainerEvent($event)\">\r\n </app-zupload>\r\n <app-zimg *ngIf=\"zimg_type.includes(data.Type)\" [data]=\"data\" [group]=\"group\" [form]=\"form\"\r\n [containerField]=\"containerField\" [componentProperties]=\"componentProperties\" class=\"e1tag-container-style5\"\r\n [style]=\"componentProperties.containerStyle.style5\" (triggerContainerEvent)=\"triggerContainerEvent($event)\">\r\n </app-zimg>\r\n <app-ztexteditor *ngIf=\"ztexteditor_type.includes(data.Type)\" [data]=\"data\" [group]=\"group\" [form]=\"form\"\r\n [containerField]=\"containerField\" [componentProperties]=\"componentProperties\" class=\"e1tag-container-style5\"\r\n [style]=\"componentProperties.containerStyle.style5\" (triggerContainerEvent)=\"triggerContainerEvent($event)\">\r\n </app-ztexteditor>\r\n <app-zcolorpicker *ngIf=\"zcolorpicker_type.includes(data.Type)\" [data]=\"data\" [group]=\"group\" [form]=\"form\"\r\n [containerField]=\"containerField\" [componentProperties]=\"componentProperties\" class=\"e1tag-container-style5\"\r\n [style]=\"componentProperties.containerStyle.style5\" (triggerContainerEvent)=\"triggerContainerEvent($event)\">\r\n </app-zcolorpicker>\r\n </div>\r\n <app-error [data]=\"data\" [group]=\"group\" [form]=\"form\"></app-error>\r\n <!-- <app-field-suffix-element [data]=\"data\" [group]=\"group\" [form]=\"form\" [containerField]=\"containerField\"\r\n [componentProperties]=\"componentProperties\"></app-field-suffix-element> -->\r\n </div>\r\n </ion-item>\r\n</div>\r\n\r\n<div class=\"desktop-input-container e1tag-container-style\" [formGroup]=\"form\"\r\n [style]=\"componentProperties.containerStyle.style\"\r\n *ngIf=\"!isMobileScreen() && !isLoading && (!!componentProperties.isVisibleField ? group[componentProperties.isVisibleField] : componentProperties.isVisible)\"\r\n [ngClass]=\"getClass(form, data)\" [fxLayout]=\"data.FieldLayoutType !== 1 ? 'column' : 'row'\"\r\n fxLayoutAlign=\"space-between stretch\" [class.editMode]=\"(data['_EditMode'].value)\"\r\n #zinputcontainer>\r\n <kendo-label class=\"input-label e1tag-container-style1\" [for]=\"data.Name\" [text]=\"componentProperties.label\"\r\n *ngIf=\"data.ShowLabel\" [style]=\"componentProperties.containerStyle.style1\"\r\n [fxFlex]=\"componentProperties.labelFlexLayoutSize.all\" [fxFlex.xs]=\"componentProperties.labelFlexLayoutSize.xs\"\r\n [fxFlex.sm]=\"componentProperties.labelFlexLayoutSize.sm\" [fxFlex.md]=\"componentProperties.labelFlexLayoutSize.md\"\r\n [fxFlex.lg]=\"componentProperties.labelFlexLayoutSize.lg\" [fxFlex.xl]=\"componentProperties.labelFlexLayoutSize.xl\">\r\n <kendo-label *ngIf=\"data['_EditMode'].value && (!!componentProperties.isRequiredField ? group[componentProperties.isRequiredField] : componentProperties.isRequired)\"\r\n text=\"*\" class=\"required-icon\">\r\n </kendo-label>\r\n <app-input-field-addons class=\"addon-top e1tag-container-style7\" [position]=\"'top'\" [addOn]=\"inputFieldAddOn.top\"\r\n [data]=\"data\" [group]=\"group\" [form]=\"form\" [containerField]=\"containerField\"\r\n [componentProperties]=\"componentProperties\" [style]=\"componentProperties.containerStyle.style7\">\r\n </app-input-field-addons>\r\n </kendo-label>\r\n <div class=\"input-value-container e1tag-container-style2\" [style]=\"componentProperties.containerStyle.style2\"\r\n [fxFlex]=\"componentProperties.fieldFlexLayoutSize.all\" [fxFlex.xs]=\"componentProperties.fieldFlexLayoutSize.xs\"\r\n [fxFlex.sm]=\"componentProperties.fieldFlexLayoutSize.sm\" [fxFlex.md]=\"componentProperties.fieldFlexLayoutSize.md\"\r\n [fxFlex.lg]=\"componentProperties.fieldFlexLayoutSize.lg\" [fxFlex.xl]=\"componentProperties.fieldFlexLayoutSize.xl\">\r\n <div *ngIf=\"data['_EditMode'].value\" class=\"input-value-field e1tag-container-style3\"\r\n [style]=\"componentProperties.containerStyle.style3\">\r\n <!-- TODO: Add 1 more layer for this switch case-->\r\n <app-input-field-addons class=\"addon-left e1tag-container-style7\" [position]=\"'left'\"\r\n [addOn]=\"inputFieldAddOn.left\" [data]=\"data\" [group]=\"group\" [form]=\"form\" [containerField]=\"containerField\"\r\n [componentProperties]=\"componentProperties\" [style]=\"componentProperties.containerStyle.style7\">\r\n </app-input-field-addons>\r\n <div class=\"input-fields-options e1tag-container-style4\" [style]=\"componentProperties.containerStyle.style4\">\r\n <app-ztext *ngIf=\"ztext_type.includes(data.Type)\" [data]=\"data\" [group]=\"group\" [form]=\"form\"\r\n [containerField]=\"containerField\" [componentProperties]=\"componentProperties\" class=\"e1tag-container-style5\"\r\n [style]=\"componentProperties.containerStyle.style5\" (triggerContainerEvent)=\"triggerContainerEvent($event)\">\r\n </app-ztext>\r\n <app-zselectmultiple *ngIf=\"zselect_type.includes(data.Type)\" [data]=\"data\" [group]=\"group\" [form]=\"form\"\r\n [containerField]=\"containerField\" [componentProperties]=\"componentProperties\" class=\"e1tag-container-style5\"\r\n [style]=\"componentProperties.containerStyle.style5\" (triggerContainerEvent)=\"triggerContainerEvent($event)\">\r\n </app-zselectmultiple>\r\n <app-zdatetime *ngIf=\"zdate_type.includes(data.Type)\" [data]=\"data\" [group]=\"group\" [form]=\"form\"\r\n [containerField]=\"containerField\" [componentProperties]=\"componentProperties\" class=\"e1tag-container-style5\"\r\n [style]=\"componentProperties.containerStyle.style5\" (triggerContainerEvent)=\"triggerContainerEvent($event)\">\r\n </app-zdatetime> \r\n <app-sfdatetimepicker *ngIf=\"sfdatetimepicker_type.includes(data.Type)\" [data]=\"data\" [group]=\"group\" [form]=\"form\"\r\n [containerField]=\"containerField\" [componentProperties]=\"componentProperties\" class=\"e1tag-container-style5\"\r\n [style]=\"componentProperties.containerStyle.style5\" (triggerContainerEvent)=\"triggerContainerEvent($event)\">\r\n </app-sfdatetimepicker>\r\n <app-zpostselectinput *ngIf=\"zpostselectinput_type.includes(data.Type)\" [data]=\"data\" [group]=\"group\"\r\n [form]=\"form\" [containerField]=\"containerField\" [componentProperties]=\"componentProperties\"\r\n class=\"e1tag-container-style5\" [style]=\"componentProperties.containerStyle.style5\"\r\n (triggerContainerEvent)=\"triggerContainerEvent($event)\">\r\n </app-zpostselectinput>\r\n <app-zcheckbox *ngIf=\"zcheckbox_type.includes(data.Type)\" [data]=\"data\" [group]=\"group\" [form]=\"form\"\r\n [containerField]=\"containerField\" [componentProperties]=\"componentProperties\" class=\"e1tag-container-style5\"\r\n [style]=\"componentProperties.containerStyle.style5\" (triggerContainerEvent)=\"triggerContainerEvent($event)\">\r\n </app-zcheckbox>\r\n <app-znumeric *ngIf=\"znumeric_type.includes(data.Type)\" [data]=\"data\" [group]=\"group\" [form]=\"form\"\r\n [containerField]=\"containerField\" [componentProperties]=\"componentProperties\" class=\"e1tag-container-style5\"\r\n [style]=\"componentProperties.containerStyle.style5\" (triggerContainerEvent)=\"triggerContainerEvent($event)\">\r\n </app-znumeric>\r\n <app-ztextarea *ngIf=\"textarea_type.includes(data.Type)\" [data]=\"data\" [group]=\"group\" [form]=\"form\"\r\n [containerField]=\"containerField\" [componentProperties]=\"componentProperties\" class=\"e1tag-container-style5\"\r\n [style]=\"componentProperties.containerStyle.style5\" (triggerContainerEvent)=\"triggerContainerEvent($event)\">\r\n </app-ztextarea>\r\n <app-zupload *ngIf=\"zupload_type.includes(data.Type)\" [data]=\"data\" [group]=\"group\" [form]=\"form\"\r\n [containerField]=\"containerField\" [componentProperties]=\"componentProperties\" class=\"e1tag-container-style5\"\r\n [style]=\"componentProperties.containerStyle.style5\" (triggerContainerEvent)=\"triggerContainerEvent($event)\">\r\n </app-zupload>\r\n <app-zimg *ngIf=\"zimg_type.includes(data.Type)\" [data]=\"data\" [group]=\"group\" [form]=\"form\"\r\n [containerField]=\"containerField\" [componentProperties]=\"componentProperties\" class=\"e1tag-container-style5\"\r\n [style]=\"componentProperties.containerStyle.style5\" (triggerContainerEvent)=\"triggerContainerEvent($event)\">\r\n </app-zimg>\r\n <app-ztexteditor *ngIf=\"ztexteditor_type.includes(data.Type)\" [data]=\"data\" [group]=\"group\" [form]=\"form\"\r\n [containerField]=\"containerField\" [componentProperties]=\"componentProperties\" class=\"e1tag-container-style5\"\r\n [style]=\"componentProperties.containerStyle.style5\" (triggerContainerEvent)=\"triggerContainerEvent($event)\">\r\n </app-ztexteditor>\r\n <app-zcolorpicker *ngIf=\"zcolorpicker_type.includes(data.Type)\" [data]=\"data\" [group]=\"group\" [form]=\"form\"\r\n [containerField]=\"containerField\" [componentProperties]=\"componentProperties\" class=\"e1tag-container-style5\"\r\n [style]=\"componentProperties.containerStyle.style5\" (triggerContainerEvent)=\"triggerContainerEvent($event)\">\r\n </app-zcolorpicker>\r\n </div>\r\n <app-input-field-addons class=\"addon-right e1tag-container-style7\" [position]=\"'right'\"\r\n [addOn]=\"inputFieldAddOn.right\" [data]=\"data\" [group]=\"group\" [form]=\"form\" [containerField]=\"containerField\"\r\n [componentProperties]=\"componentProperties\" [style]=\"componentProperties.containerStyle.style7\">\r\n </app-input-field-addons>\r\n </div>\r\n <app-input-field-addons class=\"addon-bottom e1tag-container-style7\" [position]=\"'bottom'\"\r\n [addOn]=\"inputFieldAddOn.bottom\" [data]=\"data\" [group]=\"group\" [form]=\"form\" [containerField]=\"containerField\"\r\n [componentProperties]=\"componentProperties\" [style]=\"componentProperties.containerStyle.style7\">\r\n </app-input-field-addons>\r\n <app-error [data]=\"data\" [group]=\"group\" [form]=\"form\"></app-error>\r\n <kendo-label class=\"input-value e1tag-container-style6\" *ngIf=\"!(data['_EditMode'].value)\"\r\n [style]=\"componentProperties.containerStyle.style6\"\r\n [text]=\"group.zModel[data.Value] | inputText : data: group | async\"></kendo-label>\r\n </div>\r\n <app-context-menu [data]=\"data\" [group]=\"group\" [form]=\"form\" [target]=\"zinputcontainer\"></app-context-menu>\r\n</div>\r\n", styles: [".required-icon{color:var(--ion-color-danger);padding-left:3px;height:15px;position:relative;top:-1px}.desktop-input-container{padding:8px 0;min-height:calc(var(--input-field-height) + 5px)!important;margin:1px 0;display:inline-flex}.desktop-input-container .input-label{font-size:calc(var(--content-font-size) - 1px);display:flex;padding-left:20px}.desktop-input-container.editMode>.input-label{font-size:var(--content-font-size)}.desktop-input-container>.input-value-container{margin:auto}.desktop-input-container>.input-value-container .input-value-field{display:flex}.desktop-input-container>.input-value-container .input-value-field .input-fields-options{flex-grow:10}.desktop-input-container>.input-value-container .input-value-field app-field-suffix-icon{margin:auto}.desktop-input-container>.input-value-container .input-value{font-size:calc(var(--content-font-size) + 2px);font-weight:600;margin-top:3px}.desktop-input-container.style1 .input-value-container{margin-left:0;padding-right:25px}.desktop-input-container.style1 .input-label{margin:3px 0}.desktop-input-container.style2 .input-value-container{width:100%;margin-top:3px;padding:0 25px 0 20px}.desktop-input-container.style2 .input-label{margin-top:0}.desktop-input-container .addon-right{margin:auto 0;padding-bottom:4px}.desktop-input-container.editMode.style1 .input-label{margin:6px 0 0}.medium-padding.desktop-input-container .input-label{padding-left:10px}.medium-padding.desktop-input-container.style2 .input-value-container{padding:0 10px}.mobile-input-container .input-value-field{width:100%}.tooltipsinfo-icon{padding-left:10px;color:var(--ion-color-primary-tint)}\n"], components: [{ type: i2.IonItem, selector: "ion-item", inputs: ["button", "color", "counter", "counterFormatter", "detail", "detailIcon", "disabled", "download", "fill", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "shape", "target", "type"] }, { type: i2.IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { type: i2.IonText, selector: "ion-text", inputs: ["color", "mode"] }, { type: i3.ZtextComponent, selector: "app-ztext" }, { type: i4.ZselectmultipleComponent, selector: "app-zselectmultiple" }, { type: i5.ZdatetimeComponent, selector: "app-zdatetime" }, { type: i6.SfdatetimepickerComponent, selector: "app-sfdatetimepicker" }, { type: i7.ZpostselectinputComponent, selector: "app-zpostselectinput" }, { type: i8.ZcheckboxComponent, selector: "app-zcheckbox" }, { type: i9.ZnumericComponent, selector: "app-znumeric" }, { type: i10.ZtextareaComponent, selector: "app-ztextarea" }, { type: i11.ZuploadComponent, selector: "app-zupload" }, { type: i12.ZimgComponent, selector: "app-zimg" }, { type: i13.ZtexteditorComponent, selector: "app-ztexteditor" }, { type: i14.ZcolorpickerComponent, selector: "app-zcolorpicker" }, { type: i15.InputErrorMessageComponent, selector: "app-error" }, { type: i16.LabelComponent, selector: "kendo-label", inputs: ["text", "for", "optional"], exportAs: ["kendoLabel"] }, { type: i17.InputFieldAddOnsComponent, selector: "app-input-field-addons", inputs: ["position", "addOn"] }, { type: i18.ContextMenuComponent, selector: "app-context-menu", inputs: ["target", "selectedData"] }], directives: [{ type: i19.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i20.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i20.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i19.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i21.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { type: i22.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { type: i22.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { type: i22.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }], pipes: { "async": i19.AsyncPipe, "inputText": i23.ZInputParser } });
|
|
83
85
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: ZInputContainerComponent, decorators: [{
|
|
84
86
|
type: Component,
|
|
85
|
-
args: [{ selector: "app-zinput-container", template: "<div class=\"mobile-input-container e1tag-container-style\" *ngIf=\"isMobileScreen() && !isLoading\"\r\n [style]=\"componentProperties.containerStyle.style\">\r\n <ion-item [formGroup]=\"form\" class=\"e1tag-container-style1\"\r\n *ngIf=\"(!!componentProperties.isVisibleField ? group[componentProperties.isVisibleField] : componentProperties.isVisible)\"\r\n [ngClass]=\"getIon_InvalidClass(form, data)\" [style]=\"componentProperties.containerStyle.style1\">\r\n <ion-label [attr.for]=\"data.Value\" class=\"input-label e1tag-container-style2\"\r\n *ngIf=\"data.ShowLabel === undefined || data.ShowLabel\"\r\n [position]=\"data.LabelPosition ? data.LabelPosition : 'stacked'\"\r\n [style]=\"componentProperties.containerStyle.style2\">\r\n {{componentProperties.label}}\r\n <ion-text *ngIf=\"(!!componentProperties.isRequiredField ? group[componentProperties.isRequiredField] : componentProperties.isRequired)\"\r\n color=\"danger\" class=\"required-icon\">*</ion-text>\r\n </ion-label>\r\n <div class=\"input-value-field\">\r\n <div class=\"input-fields-options\">\r\n <app-ztext *ngIf=\"ztext_type.includes(data.Type)\" [data]=\"data\" [group]=\"group\" [form]=\"form\"\r\n [containerField]=\"containerField\" [componentProperties]=\"componentProperties\" class=\"e1tag-container-style5\"\r\n [style]=\"componentProperties.containerStyle.style5\" (triggerContainerEvent)=\"triggerContainerEvent($event)\">\r\n </app-ztext>\r\n <app-zselectmultiple *ngIf=\"zselect_type.includes(data.Type)\" [data]=\"data\" [group]=\"group\" [form]=\"form\"\r\n [containerField]=\"containerField\" [componentProperties]=\"componentProperties\" class=\"e1tag-container-style5\"\r\n [style]=\"componentProperties.containerStyle.style5\" (triggerContainerEvent)=\"triggerContainerEvent($event)\">\r\n </app-zselectmultiple>\r\n <app-zdatetime *ngIf=\"zdate_type.includes(data.Type)\" [data]=\"data\" [group]=\"group\" [form]=\"form\"\r\n [containerField]=\"containerField\" [componentProperties]=\"componentProperties\" class=\"e1tag-container-style5\"\r\n [style]=\"componentProperties.containerStyle.style5\" (triggerContainerEvent)=\"triggerContainerEvent($event)\">\r\n </app-zdatetime>\r\n <app-zpostselectinput *ngIf=\"zpostselectinput_type.includes(data.Type)\" [data]=\"data\" [group]=\"group\"\r\n [form]=\"form\" [containerField]=\"containerField\" [componentProperties]=\"componentProperties\"\r\n class=\"e1tag-container-style5\" [style]=\"componentProperties.containerStyle.style5\"\r\n (triggerContainerEvent)=\"triggerContainerEvent($event)\">\r\n </app-zpostselectinput>\r\n <app-zcheckbox *ngIf=\"zcheckbox_type.includes(data.Type)\" [data]=\"data\" [group]=\"group\" [form]=\"form\"\r\n [containerField]=\"containerField\" [componentProperties]=\"componentProperties\" class=\"e1tag-container-style5\"\r\n [style]=\"componentProperties.containerStyle.style5\" (triggerContainerEvent)=\"triggerContainerEvent($event)\">\r\n </app-zcheckbox>\r\n <app-znumeric *ngIf=\"znumeric_type.includes(data.Type)\" [data]=\"data\" [group]=\"group\" [form]=\"form\"\r\n [containerField]=\"containerField\" [componentProperties]=\"componentProperties\" class=\"e1tag-container-style5\"\r\n [style]=\"componentProperties.containerStyle.style5\" (triggerContainerEvent)=\"triggerContainerEvent($event)\">\r\n </app-znumeric>\r\n <app-ztextarea *ngIf=\"textarea_type.includes(data.Type)\" [data]=\"data\" [group]=\"group\" [form]=\"form\"\r\n [containerField]=\"containerField\" [componentProperties]=\"componentProperties\" class=\"e1tag-container-style5\"\r\n [style]=\"componentProperties.containerStyle.style5\" (triggerContainerEvent)=\"triggerContainerEvent($event)\">\r\n </app-ztextarea>\r\n <app-zupload *ngIf=\"zupload_type.includes(data.Type)\" [data]=\"data\" [group]=\"group\" [form]=\"form\"\r\n [containerField]=\"containerField\" [componentProperties]=\"componentProperties\" class=\"e1tag-container-style5\"\r\n [style]=\"componentProperties.containerStyle.style5\" (triggerContainerEvent)=\"triggerContainerEvent($event)\">\r\n </app-zupload>\r\n <app-zimg *ngIf=\"zimg_type.includes(data.Type)\" [data]=\"data\" [group]=\"group\" [form]=\"form\"\r\n [containerField]=\"containerField\" [componentProperties]=\"componentProperties\" class=\"e1tag-container-style5\"\r\n [style]=\"componentProperties.containerStyle.style5\" (triggerContainerEvent)=\"triggerContainerEvent($event)\">\r\n </app-zimg>\r\n <app-ztexteditor *ngIf=\"ztexteditor_type.includes(data.Type)\" [data]=\"data\" [group]=\"group\" [form]=\"form\"\r\n [containerField]=\"containerField\" [componentProperties]=\"componentProperties\" class=\"e1tag-container-style5\"\r\n [style]=\"componentProperties.containerStyle.style5\" (triggerContainerEvent)=\"triggerContainerEvent($event)\">\r\n </app-ztexteditor>\r\n <app-zcolorpicker *ngIf=\"zcolorpicker_type.includes(data.Type)\" [data]=\"data\" [group]=\"group\" [form]=\"form\"\r\n [containerField]=\"containerField\" [componentProperties]=\"componentProperties\" class=\"e1tag-container-style5\"\r\n [style]=\"componentProperties.containerStyle.style5\" (triggerContainerEvent)=\"triggerContainerEvent($event)\">\r\n </app-zcolorpicker>\r\n </div>\r\n <app-error [data]=\"data\" [group]=\"group\" [form]=\"form\"></app-error>\r\n <!-- <app-field-suffix-element [data]=\"data\" [group]=\"group\" [form]=\"form\" [containerField]=\"containerField\"\r\n [componentProperties]=\"componentProperties\"></app-field-suffix-element> -->\r\n </div>\r\n </ion-item>\r\n</div>\r\n\r\n<div class=\"desktop-input-container e1tag-container-style\" [formGroup]=\"form\"\r\n [style]=\"componentProperties.containerStyle.style\"\r\n *ngIf=\"!isMobileScreen() && !isLoading && (!!componentProperties.isVisibleField ? group[componentProperties.isVisibleField] : componentProperties.isVisible)\"\r\n [ngClass]=\"getClass(form, data)\" [fxLayout]=\"data.FieldLayoutType !== 1 ? 'column' : 'row'\"\r\n fxLayoutAlign=\"space-between stretch\" [class.editMode]=\"(data['_EditMode'].value)\"\r\n #zinputcontainer>\r\n <kendo-label class=\"input-label e1tag-container-style1\" [for]=\"data.Name\" [text]=\"componentProperties.label\"\r\n *ngIf=\"data.ShowLabel\" [style]=\"componentProperties.containerStyle.style1\"\r\n [fxFlex]=\"componentProperties.labelFlexLayoutSize.all\" [fxFlex.xs]=\"componentProperties.labelFlexLayoutSize.xs\"\r\n [fxFlex.sm]=\"componentProperties.labelFlexLayoutSize.sm\" [fxFlex.md]=\"componentProperties.labelFlexLayoutSize.md\"\r\n [fxFlex.lg]=\"componentProperties.labelFlexLayoutSize.lg\" [fxFlex.xl]=\"componentProperties.labelFlexLayoutSize.xl\">\r\n <kendo-label *ngIf=\"data['_EditMode'].value && (!!componentProperties.isRequiredField ? group[componentProperties.isRequiredField] : componentProperties.isRequired)\"\r\n text=\"*\" class=\"required-icon\">\r\n </kendo-label>\r\n <app-input-field-addons class=\"addon-top e1tag-container-style7\" [position]=\"'top'\" [addOn]=\"inputFieldAddOn.top\"\r\n [data]=\"data\" [group]=\"group\" [form]=\"form\" [containerField]=\"containerField\"\r\n [componentProperties]=\"componentProperties\" [style]=\"componentProperties.containerStyle.style7\">\r\n </app-input-field-addons>\r\n </kendo-label>\r\n <div class=\"input-value-container e1tag-container-style2\" [style]=\"componentProperties.containerStyle.style2\"\r\n [fxFlex]=\"componentProperties.fieldFlexLayoutSize.all\" [fxFlex.xs]=\"componentProperties.fieldFlexLayoutSize.xs\"\r\n [fxFlex.sm]=\"componentProperties.fieldFlexLayoutSize.sm\" [fxFlex.md]=\"componentProperties.fieldFlexLayoutSize.md\"\r\n [fxFlex.lg]=\"componentProperties.fieldFlexLayoutSize.lg\" [fxFlex.xl]=\"componentProperties.fieldFlexLayoutSize.xl\">\r\n <div *ngIf=\"data['_EditMode'].value\" class=\"input-value-field e1tag-container-style3\"\r\n [style]=\"componentProperties.containerStyle.style3\">\r\n <!-- TODO: Add 1 more layer for this switch case-->\r\n <app-input-field-addons class=\"addon-left e1tag-container-style7\" [position]=\"'left'\"\r\n [addOn]=\"inputFieldAddOn.left\" [data]=\"data\" [group]=\"group\" [form]=\"form\" [containerField]=\"containerField\"\r\n [componentProperties]=\"componentProperties\" [style]=\"componentProperties.containerStyle.style7\">\r\n </app-input-field-addons>\r\n <div class=\"input-fields-options e1tag-container-style4\" [style]=\"componentProperties.containerStyle.style4\">\r\n <app-ztext *ngIf=\"ztext_type.includes(data.Type)\" [data]=\"data\" [group]=\"group\" [form]=\"form\"\r\n [containerField]=\"containerField\" [componentProperties]=\"componentProperties\" class=\"e1tag-container-style5\"\r\n [style]=\"componentProperties.containerStyle.style5\" (triggerContainerEvent)=\"triggerContainerEvent($event)\">\r\n </app-ztext>\r\n <app-zselectmultiple *ngIf=\"zselect_type.includes(data.Type)\" [data]=\"data\" [group]=\"group\" [form]=\"form\"\r\n [containerField]=\"containerField\" [componentProperties]=\"componentProperties\" class=\"e1tag-container-style5\"\r\n [style]=\"componentProperties.containerStyle.style5\" (triggerContainerEvent)=\"triggerContainerEvent($event)\">\r\n </app-zselectmultiple>\r\n <app-zdatetime *ngIf=\"zdate_type.includes(data.Type)\" [data]=\"data\" [group]=\"group\" [form]=\"form\"\r\n [containerField]=\"containerField\" [componentProperties]=\"componentProperties\" class=\"e1tag-container-style5\"\r\n [style]=\"componentProperties.containerStyle.style5\" (triggerContainerEvent)=\"triggerContainerEvent($event)\">\r\n </app-zdatetime>\r\n <app-zpostselectinput *ngIf=\"zpostselectinput_type.includes(data.Type)\" [data]=\"data\" [group]=\"group\"\r\n [form]=\"form\" [containerField]=\"containerField\" [componentProperties]=\"componentProperties\"\r\n class=\"e1tag-container-style5\" [style]=\"componentProperties.containerStyle.style5\"\r\n (triggerContainerEvent)=\"triggerContainerEvent($event)\">\r\n </app-zpostselectinput>\r\n <app-zcheckbox *ngIf=\"zcheckbox_type.includes(data.Type)\" [data]=\"data\" [group]=\"group\" [form]=\"form\"\r\n [containerField]=\"containerField\" [componentProperties]=\"componentProperties\" class=\"e1tag-container-style5\"\r\n [style]=\"componentProperties.containerStyle.style5\" (triggerContainerEvent)=\"triggerContainerEvent($event)\">\r\n </app-zcheckbox>\r\n <app-znumeric *ngIf=\"znumeric_type.includes(data.Type)\" [data]=\"data\" [group]=\"group\" [form]=\"form\"\r\n [containerField]=\"containerField\" [componentProperties]=\"componentProperties\" class=\"e1tag-container-style5\"\r\n [style]=\"componentProperties.containerStyle.style5\" (triggerContainerEvent)=\"triggerContainerEvent($event)\">\r\n </app-znumeric>\r\n <app-ztextarea *ngIf=\"textarea_type.includes(data.Type)\" [data]=\"data\" [group]=\"group\" [form]=\"form\"\r\n [containerField]=\"containerField\" [componentProperties]=\"componentProperties\" class=\"e1tag-container-style5\"\r\n [style]=\"componentProperties.containerStyle.style5\" (triggerContainerEvent)=\"triggerContainerEvent($event)\">\r\n </app-ztextarea>\r\n <app-zupload *ngIf=\"zupload_type.includes(data.Type)\" [data]=\"data\" [group]=\"group\" [form]=\"form\"\r\n [containerField]=\"containerField\" [componentProperties]=\"componentProperties\" class=\"e1tag-container-style5\"\r\n [style]=\"componentProperties.containerStyle.style5\" (triggerContainerEvent)=\"triggerContainerEvent($event)\">\r\n </app-zupload>\r\n <app-zimg *ngIf=\"zimg_type.includes(data.Type)\" [data]=\"data\" [group]=\"group\" [form]=\"form\"\r\n [containerField]=\"containerField\" [componentProperties]=\"componentProperties\" class=\"e1tag-container-style5\"\r\n [style]=\"componentProperties.containerStyle.style5\" (triggerContainerEvent)=\"triggerContainerEvent($event)\">\r\n </app-zimg>\r\n <app-ztexteditor *ngIf=\"ztexteditor_type.includes(data.Type)\" [data]=\"data\" [group]=\"group\" [form]=\"form\"\r\n [containerField]=\"containerField\" [componentProperties]=\"componentProperties\" class=\"e1tag-container-style5\"\r\n [style]=\"componentProperties.containerStyle.style5\" (triggerContainerEvent)=\"triggerContainerEvent($event)\">\r\n </app-ztexteditor>\r\n <app-zcolorpicker *ngIf=\"zcolorpicker_type.includes(data.Type)\" [data]=\"data\" [group]=\"group\" [form]=\"form\"\r\n [containerField]=\"containerField\" [componentProperties]=\"componentProperties\" class=\"e1tag-container-style5\"\r\n [style]=\"componentProperties.containerStyle.style5\" (triggerContainerEvent)=\"triggerContainerEvent($event)\">\r\n </app-zcolorpicker>\r\n </div>\r\n <app-input-field-addons class=\"addon-right e1tag-container-style7\" [position]=\"'right'\"\r\n [addOn]=\"inputFieldAddOn.right\" [data]=\"data\" [group]=\"group\" [form]=\"form\" [containerField]=\"containerField\"\r\n [componentProperties]=\"componentProperties\" [style]=\"componentProperties.containerStyle.style7\">\r\n </app-input-field-addons>\r\n </div>\r\n <app-input-field-addons class=\"addon-bottom e1tag-container-style7\" [position]=\"'bottom'\"\r\n [addOn]=\"inputFieldAddOn.bottom\" [data]=\"data\" [group]=\"group\" [form]=\"form\" [containerField]=\"containerField\"\r\n [componentProperties]=\"componentProperties\" [style]=\"componentProperties.containerStyle.style7\">\r\n </app-input-field-addons>\r\n <app-error [data]=\"data\" [group]=\"group\" [form]=\"form\"></app-error>\r\n <kendo-label class=\"input-value e1tag-container-style6\" *ngIf=\"!(data['_EditMode'].value)\"\r\n [style]=\"componentProperties.containerStyle.style6\"\r\n [text]=\"group.zModel[data.Value] | inputText : data: group | async\"></kendo-label>\r\n </div>\r\n <app-context-menu [data]=\"data\" [group]=\"group\" [form]=\"form\" [target]=\"zinputcontainer\"></app-context-menu>\r\n</div>\r\n", styles: [".required-icon{color:var(--ion-color-danger);padding-left:3px;height:15px;position:relative;top:-1px}.desktop-input-container{padding:8px 0;min-height:calc(var(--input-field-height) + 5px)!important;margin:1px 0;display:inline-flex}.desktop-input-container .input-label{font-size:calc(var(--content-font-size) - 1px);display:flex;padding-left:20px}.desktop-input-container.editMode>.input-label{font-size:var(--content-font-size)}.desktop-input-container>.input-value-container{margin:auto}.desktop-input-container>.input-value-container .input-value-field{display:flex}.desktop-input-container>.input-value-container .input-value-field .input-fields-options{flex-grow:10}.desktop-input-container>.input-value-container .input-value-field app-field-suffix-icon{margin:auto}.desktop-input-container>.input-value-container .input-value{font-size:calc(var(--content-font-size) + 2px);font-weight:600;margin-top:3px}.desktop-input-container.style1 .input-value-container{margin-left:0;padding-right:25px}.desktop-input-container.style1 .input-label{margin:3px 0}.desktop-input-container.style2 .input-value-container{width:100%;margin-top:3px;padding:0 25px 0 20px}.desktop-input-container.style2 .input-label{margin-top:0}.desktop-input-container .addon-right{margin:auto 0;padding-bottom:4px}.desktop-input-container.editMode.style1 .input-label{margin:6px 0 0}.medium-padding.desktop-input-container .input-label{padding-left:10px}.medium-padding.desktop-input-container.style2 .input-value-container{padding:0 10px}.mobile-input-container .input-value-field{width:100%}.tooltipsinfo-icon{padding-left:10px;color:var(--ion-color-primary-tint)}\n"] }]
|
|
87
|
+
args: [{ selector: "app-zinput-container", template: "<div class=\"mobile-input-container e1tag-container-style\" *ngIf=\"isMobileScreen() && !isLoading\"\r\n [style]=\"componentProperties.containerStyle.style\">\r\n <ion-item [formGroup]=\"form\" class=\"e1tag-container-style1\"\r\n *ngIf=\"(!!componentProperties.isVisibleField ? group[componentProperties.isVisibleField] : componentProperties.isVisible)\"\r\n [ngClass]=\"getIon_InvalidClass(form, data)\" [style]=\"componentProperties.containerStyle.style1\">\r\n <ion-label [attr.for]=\"data.Value\" class=\"input-label e1tag-container-style2\"\r\n *ngIf=\"data.ShowLabel === undefined || data.ShowLabel\"\r\n [position]=\"data.LabelPosition ? data.LabelPosition : 'stacked'\"\r\n [style]=\"componentProperties.containerStyle.style2\">\r\n {{componentProperties.label}}\r\n <ion-text *ngIf=\"(!!componentProperties.isRequiredField ? group[componentProperties.isRequiredField] : componentProperties.isRequired)\"\r\n color=\"danger\" class=\"required-icon\">*</ion-text>\r\n </ion-label>\r\n <div class=\"input-value-field\">\r\n <div class=\"input-fields-options\">\r\n <app-ztext *ngIf=\"ztext_type.includes(data.Type)\" [data]=\"data\" [group]=\"group\" [form]=\"form\"\r\n [containerField]=\"containerField\" [componentProperties]=\"componentProperties\" class=\"e1tag-container-style5\"\r\n [style]=\"componentProperties.containerStyle.style5\" (triggerContainerEvent)=\"triggerContainerEvent($event)\">\r\n </app-ztext>\r\n <app-zselectmultiple *ngIf=\"zselect_type.includes(data.Type)\" [data]=\"data\" [group]=\"group\" [form]=\"form\"\r\n [containerField]=\"containerField\" [componentProperties]=\"componentProperties\" class=\"e1tag-container-style5\"\r\n [style]=\"componentProperties.containerStyle.style5\" (triggerContainerEvent)=\"triggerContainerEvent($event)\">\r\n </app-zselectmultiple>\r\n <app-zdatetime *ngIf=\"zdate_type.includes(data.Type)\" [data]=\"data\" [group]=\"group\" [form]=\"form\"\r\n [containerField]=\"containerField\" [componentProperties]=\"componentProperties\" class=\"e1tag-container-style5\"\r\n [style]=\"componentProperties.containerStyle.style5\" (triggerContainerEvent)=\"triggerContainerEvent($event)\">\r\n </app-zdatetime>\r\n <app-sfdatetimepicker *ngIf=\"sfdatetimepicker_type.includes(data.Type)\" [data]=\"data\" [group]=\"group\" [form]=\"form\"\r\n [containerField]=\"containerField\" [componentProperties]=\"componentProperties\" class=\"e1tag-container-style5\"\r\n [style]=\"componentProperties.containerStyle.style5\" (triggerContainerEvent)=\"triggerContainerEvent($event)\">\r\n </app-sfdatetimepicker>\r\n <app-zpostselectinput *ngIf=\"zpostselectinput_type.includes(data.Type)\" [data]=\"data\" [group]=\"group\"\r\n [form]=\"form\" [containerField]=\"containerField\" [componentProperties]=\"componentProperties\"\r\n class=\"e1tag-container-style5\" [style]=\"componentProperties.containerStyle.style5\"\r\n (triggerContainerEvent)=\"triggerContainerEvent($event)\">\r\n </app-zpostselectinput>\r\n <app-zcheckbox *ngIf=\"zcheckbox_type.includes(data.Type)\" [data]=\"data\" [group]=\"group\" [form]=\"form\"\r\n [containerField]=\"containerField\" [componentProperties]=\"componentProperties\" class=\"e1tag-container-style5\"\r\n [style]=\"componentProperties.containerStyle.style5\" (triggerContainerEvent)=\"triggerContainerEvent($event)\">\r\n </app-zcheckbox>\r\n <app-znumeric *ngIf=\"znumeric_type.includes(data.Type)\" [data]=\"data\" [group]=\"group\" [form]=\"form\"\r\n [containerField]=\"containerField\" [componentProperties]=\"componentProperties\" class=\"e1tag-container-style5\"\r\n [style]=\"componentProperties.containerStyle.style5\" (triggerContainerEvent)=\"triggerContainerEvent($event)\">\r\n </app-znumeric>\r\n <app-ztextarea *ngIf=\"textarea_type.includes(data.Type)\" [data]=\"data\" [group]=\"group\" [form]=\"form\"\r\n [containerField]=\"containerField\" [componentProperties]=\"componentProperties\" class=\"e1tag-container-style5\"\r\n [style]=\"componentProperties.containerStyle.style5\" (triggerContainerEvent)=\"triggerContainerEvent($event)\">\r\n </app-ztextarea>\r\n <app-zupload *ngIf=\"zupload_type.includes(data.Type)\" [data]=\"data\" [group]=\"group\" [form]=\"form\"\r\n [containerField]=\"containerField\" [componentProperties]=\"componentProperties\" class=\"e1tag-container-style5\"\r\n [style]=\"componentProperties.containerStyle.style5\" (triggerContainerEvent)=\"triggerContainerEvent($event)\">\r\n </app-zupload>\r\n <app-zimg *ngIf=\"zimg_type.includes(data.Type)\" [data]=\"data\" [group]=\"group\" [form]=\"form\"\r\n [containerField]=\"containerField\" [componentProperties]=\"componentProperties\" class=\"e1tag-container-style5\"\r\n [style]=\"componentProperties.containerStyle.style5\" (triggerContainerEvent)=\"triggerContainerEvent($event)\">\r\n </app-zimg>\r\n <app-ztexteditor *ngIf=\"ztexteditor_type.includes(data.Type)\" [data]=\"data\" [group]=\"group\" [form]=\"form\"\r\n [containerField]=\"containerField\" [componentProperties]=\"componentProperties\" class=\"e1tag-container-style5\"\r\n [style]=\"componentProperties.containerStyle.style5\" (triggerContainerEvent)=\"triggerContainerEvent($event)\">\r\n </app-ztexteditor>\r\n <app-zcolorpicker *ngIf=\"zcolorpicker_type.includes(data.Type)\" [data]=\"data\" [group]=\"group\" [form]=\"form\"\r\n [containerField]=\"containerField\" [componentProperties]=\"componentProperties\" class=\"e1tag-container-style5\"\r\n [style]=\"componentProperties.containerStyle.style5\" (triggerContainerEvent)=\"triggerContainerEvent($event)\">\r\n </app-zcolorpicker>\r\n </div>\r\n <app-error [data]=\"data\" [group]=\"group\" [form]=\"form\"></app-error>\r\n <!-- <app-field-suffix-element [data]=\"data\" [group]=\"group\" [form]=\"form\" [containerField]=\"containerField\"\r\n [componentProperties]=\"componentProperties\"></app-field-suffix-element> -->\r\n </div>\r\n </ion-item>\r\n</div>\r\n\r\n<div class=\"desktop-input-container e1tag-container-style\" [formGroup]=\"form\"\r\n [style]=\"componentProperties.containerStyle.style\"\r\n *ngIf=\"!isMobileScreen() && !isLoading && (!!componentProperties.isVisibleField ? group[componentProperties.isVisibleField] : componentProperties.isVisible)\"\r\n [ngClass]=\"getClass(form, data)\" [fxLayout]=\"data.FieldLayoutType !== 1 ? 'column' : 'row'\"\r\n fxLayoutAlign=\"space-between stretch\" [class.editMode]=\"(data['_EditMode'].value)\"\r\n #zinputcontainer>\r\n <kendo-label class=\"input-label e1tag-container-style1\" [for]=\"data.Name\" [text]=\"componentProperties.label\"\r\n *ngIf=\"data.ShowLabel\" [style]=\"componentProperties.containerStyle.style1\"\r\n [fxFlex]=\"componentProperties.labelFlexLayoutSize.all\" [fxFlex.xs]=\"componentProperties.labelFlexLayoutSize.xs\"\r\n [fxFlex.sm]=\"componentProperties.labelFlexLayoutSize.sm\" [fxFlex.md]=\"componentProperties.labelFlexLayoutSize.md\"\r\n [fxFlex.lg]=\"componentProperties.labelFlexLayoutSize.lg\" [fxFlex.xl]=\"componentProperties.labelFlexLayoutSize.xl\">\r\n <kendo-label *ngIf=\"data['_EditMode'].value && (!!componentProperties.isRequiredField ? group[componentProperties.isRequiredField] : componentProperties.isRequired)\"\r\n text=\"*\" class=\"required-icon\">\r\n </kendo-label>\r\n <app-input-field-addons class=\"addon-top e1tag-container-style7\" [position]=\"'top'\" [addOn]=\"inputFieldAddOn.top\"\r\n [data]=\"data\" [group]=\"group\" [form]=\"form\" [containerField]=\"containerField\"\r\n [componentProperties]=\"componentProperties\" [style]=\"componentProperties.containerStyle.style7\">\r\n </app-input-field-addons>\r\n </kendo-label>\r\n <div class=\"input-value-container e1tag-container-style2\" [style]=\"componentProperties.containerStyle.style2\"\r\n [fxFlex]=\"componentProperties.fieldFlexLayoutSize.all\" [fxFlex.xs]=\"componentProperties.fieldFlexLayoutSize.xs\"\r\n [fxFlex.sm]=\"componentProperties.fieldFlexLayoutSize.sm\" [fxFlex.md]=\"componentProperties.fieldFlexLayoutSize.md\"\r\n [fxFlex.lg]=\"componentProperties.fieldFlexLayoutSize.lg\" [fxFlex.xl]=\"componentProperties.fieldFlexLayoutSize.xl\">\r\n <div *ngIf=\"data['_EditMode'].value\" class=\"input-value-field e1tag-container-style3\"\r\n [style]=\"componentProperties.containerStyle.style3\">\r\n <!-- TODO: Add 1 more layer for this switch case-->\r\n <app-input-field-addons class=\"addon-left e1tag-container-style7\" [position]=\"'left'\"\r\n [addOn]=\"inputFieldAddOn.left\" [data]=\"data\" [group]=\"group\" [form]=\"form\" [containerField]=\"containerField\"\r\n [componentProperties]=\"componentProperties\" [style]=\"componentProperties.containerStyle.style7\">\r\n </app-input-field-addons>\r\n <div class=\"input-fields-options e1tag-container-style4\" [style]=\"componentProperties.containerStyle.style4\">\r\n <app-ztext *ngIf=\"ztext_type.includes(data.Type)\" [data]=\"data\" [group]=\"group\" [form]=\"form\"\r\n [containerField]=\"containerField\" [componentProperties]=\"componentProperties\" class=\"e1tag-container-style5\"\r\n [style]=\"componentProperties.containerStyle.style5\" (triggerContainerEvent)=\"triggerContainerEvent($event)\">\r\n </app-ztext>\r\n <app-zselectmultiple *ngIf=\"zselect_type.includes(data.Type)\" [data]=\"data\" [group]=\"group\" [form]=\"form\"\r\n [containerField]=\"containerField\" [componentProperties]=\"componentProperties\" class=\"e1tag-container-style5\"\r\n [style]=\"componentProperties.containerStyle.style5\" (triggerContainerEvent)=\"triggerContainerEvent($event)\">\r\n </app-zselectmultiple>\r\n <app-zdatetime *ngIf=\"zdate_type.includes(data.Type)\" [data]=\"data\" [group]=\"group\" [form]=\"form\"\r\n [containerField]=\"containerField\" [componentProperties]=\"componentProperties\" class=\"e1tag-container-style5\"\r\n [style]=\"componentProperties.containerStyle.style5\" (triggerContainerEvent)=\"triggerContainerEvent($event)\">\r\n </app-zdatetime> \r\n <app-sfdatetimepicker *ngIf=\"sfdatetimepicker_type.includes(data.Type)\" [data]=\"data\" [group]=\"group\" [form]=\"form\"\r\n [containerField]=\"containerField\" [componentProperties]=\"componentProperties\" class=\"e1tag-container-style5\"\r\n [style]=\"componentProperties.containerStyle.style5\" (triggerContainerEvent)=\"triggerContainerEvent($event)\">\r\n </app-sfdatetimepicker>\r\n <app-zpostselectinput *ngIf=\"zpostselectinput_type.includes(data.Type)\" [data]=\"data\" [group]=\"group\"\r\n [form]=\"form\" [containerField]=\"containerField\" [componentProperties]=\"componentProperties\"\r\n class=\"e1tag-container-style5\" [style]=\"componentProperties.containerStyle.style5\"\r\n (triggerContainerEvent)=\"triggerContainerEvent($event)\">\r\n </app-zpostselectinput>\r\n <app-zcheckbox *ngIf=\"zcheckbox_type.includes(data.Type)\" [data]=\"data\" [group]=\"group\" [form]=\"form\"\r\n [containerField]=\"containerField\" [componentProperties]=\"componentProperties\" class=\"e1tag-container-style5\"\r\n [style]=\"componentProperties.containerStyle.style5\" (triggerContainerEvent)=\"triggerContainerEvent($event)\">\r\n </app-zcheckbox>\r\n <app-znumeric *ngIf=\"znumeric_type.includes(data.Type)\" [data]=\"data\" [group]=\"group\" [form]=\"form\"\r\n [containerField]=\"containerField\" [componentProperties]=\"componentProperties\" class=\"e1tag-container-style5\"\r\n [style]=\"componentProperties.containerStyle.style5\" (triggerContainerEvent)=\"triggerContainerEvent($event)\">\r\n </app-znumeric>\r\n <app-ztextarea *ngIf=\"textarea_type.includes(data.Type)\" [data]=\"data\" [group]=\"group\" [form]=\"form\"\r\n [containerField]=\"containerField\" [componentProperties]=\"componentProperties\" class=\"e1tag-container-style5\"\r\n [style]=\"componentProperties.containerStyle.style5\" (triggerContainerEvent)=\"triggerContainerEvent($event)\">\r\n </app-ztextarea>\r\n <app-zupload *ngIf=\"zupload_type.includes(data.Type)\" [data]=\"data\" [group]=\"group\" [form]=\"form\"\r\n [containerField]=\"containerField\" [componentProperties]=\"componentProperties\" class=\"e1tag-container-style5\"\r\n [style]=\"componentProperties.containerStyle.style5\" (triggerContainerEvent)=\"triggerContainerEvent($event)\">\r\n </app-zupload>\r\n <app-zimg *ngIf=\"zimg_type.includes(data.Type)\" [data]=\"data\" [group]=\"group\" [form]=\"form\"\r\n [containerField]=\"containerField\" [componentProperties]=\"componentProperties\" class=\"e1tag-container-style5\"\r\n [style]=\"componentProperties.containerStyle.style5\" (triggerContainerEvent)=\"triggerContainerEvent($event)\">\r\n </app-zimg>\r\n <app-ztexteditor *ngIf=\"ztexteditor_type.includes(data.Type)\" [data]=\"data\" [group]=\"group\" [form]=\"form\"\r\n [containerField]=\"containerField\" [componentProperties]=\"componentProperties\" class=\"e1tag-container-style5\"\r\n [style]=\"componentProperties.containerStyle.style5\" (triggerContainerEvent)=\"triggerContainerEvent($event)\">\r\n </app-ztexteditor>\r\n <app-zcolorpicker *ngIf=\"zcolorpicker_type.includes(data.Type)\" [data]=\"data\" [group]=\"group\" [form]=\"form\"\r\n [containerField]=\"containerField\" [componentProperties]=\"componentProperties\" class=\"e1tag-container-style5\"\r\n [style]=\"componentProperties.containerStyle.style5\" (triggerContainerEvent)=\"triggerContainerEvent($event)\">\r\n </app-zcolorpicker>\r\n </div>\r\n <app-input-field-addons class=\"addon-right e1tag-container-style7\" [position]=\"'right'\"\r\n [addOn]=\"inputFieldAddOn.right\" [data]=\"data\" [group]=\"group\" [form]=\"form\" [containerField]=\"containerField\"\r\n [componentProperties]=\"componentProperties\" [style]=\"componentProperties.containerStyle.style7\">\r\n </app-input-field-addons>\r\n </div>\r\n <app-input-field-addons class=\"addon-bottom e1tag-container-style7\" [position]=\"'bottom'\"\r\n [addOn]=\"inputFieldAddOn.bottom\" [data]=\"data\" [group]=\"group\" [form]=\"form\" [containerField]=\"containerField\"\r\n [componentProperties]=\"componentProperties\" [style]=\"componentProperties.containerStyle.style7\">\r\n </app-input-field-addons>\r\n <app-error [data]=\"data\" [group]=\"group\" [form]=\"form\"></app-error>\r\n <kendo-label class=\"input-value e1tag-container-style6\" *ngIf=\"!(data['_EditMode'].value)\"\r\n [style]=\"componentProperties.containerStyle.style6\"\r\n [text]=\"group.zModel[data.Value] | inputText : data: group | async\"></kendo-label>\r\n </div>\r\n <app-context-menu [data]=\"data\" [group]=\"group\" [form]=\"form\" [target]=\"zinputcontainer\"></app-context-menu>\r\n</div>\r\n", styles: [".required-icon{color:var(--ion-color-danger);padding-left:3px;height:15px;position:relative;top:-1px}.desktop-input-container{padding:8px 0;min-height:calc(var(--input-field-height) + 5px)!important;margin:1px 0;display:inline-flex}.desktop-input-container .input-label{font-size:calc(var(--content-font-size) - 1px);display:flex;padding-left:20px}.desktop-input-container.editMode>.input-label{font-size:var(--content-font-size)}.desktop-input-container>.input-value-container{margin:auto}.desktop-input-container>.input-value-container .input-value-field{display:flex}.desktop-input-container>.input-value-container .input-value-field .input-fields-options{flex-grow:10}.desktop-input-container>.input-value-container .input-value-field app-field-suffix-icon{margin:auto}.desktop-input-container>.input-value-container .input-value{font-size:calc(var(--content-font-size) + 2px);font-weight:600;margin-top:3px}.desktop-input-container.style1 .input-value-container{margin-left:0;padding-right:25px}.desktop-input-container.style1 .input-label{margin:3px 0}.desktop-input-container.style2 .input-value-container{width:100%;margin-top:3px;padding:0 25px 0 20px}.desktop-input-container.style2 .input-label{margin-top:0}.desktop-input-container .addon-right{margin:auto 0;padding-bottom:4px}.desktop-input-container.editMode.style1 .input-label{margin:6px 0 0}.medium-padding.desktop-input-container .input-label{padding-left:10px}.medium-padding.desktop-input-container.style2 .input-value-container{padding:0 10px}.mobile-input-container .input-value-field{width:100%}.tooltipsinfo-icon{padding-left:10px;color:var(--ion-color-primary-tint)}\n"] }]
|
|
86
88
|
}], ctorParameters: function () { return [{ type: i1.ZComponentService }]; } });
|
|
87
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiemlucHV0LWNvbnRhaW5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tbWhnbG9iYWwtZHluYW1pY2Zvcm0vc3JjL2xpYi96aW5wdXQtY29udGFpbmVyL3ppbnB1dC1jb250YWluZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvemlucHV0LWNvbnRhaW5lci96aW5wdXQtY29udGFpbmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLCtCQUErQjtBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBR2xELDZCQUE2QjtBQUU3Qiw4QkFBOEI7QUFDOUIsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUzQiwyQ0FBMkM7QUFDM0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRTlELE9BQU8sRUFBYyxnQkFBZ0IsRUFBaUMsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBUzlGLE1BQU0sT0FBTyx3QkFBeUIsU0FBUSxTQUFTO0lBZXJELFlBQ1MsZ0JBQW1DO1FBRTFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBRmpCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBbUI7UUFmckMsb0JBQWUsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsQ0FBQztRQUV0RCxlQUFVLEdBQUcsQ0FBQyxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMs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Q0Usc0JBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiLyoqKioqKioqKiogQW5ndWxhciAqKioqKioqKioqL1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5cclxuLyoqKioqKioqKiogSW9uaWMgKioqKioqKioqKi9cclxuXHJcbi8qKioqKioqKioqIFBsdWdpbiAqKioqKioqKioqL1xyXG5pbXBvcnQgeyB0YXAgfSBmcm9tIFwicnhqc1wiO1xyXG5cclxuLyoqKioqKioqKiogQ29tcG9uZW50ICYgU2VydmljZSAqKioqKioqKioqL1xyXG5pbXBvcnQgeyBGaWVsZEJhc2UgfSBmcm9tIFwiLi4vY29tcG9uZW50cy9maWVsZGJhc2UuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IFpDb21wb25lbnRTZXJ2aWNlIH0gZnJvbSBcIi4uL3NlcnZpY2VzL3pjb21wb25lbnQuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBaQ29tcG9uZW50LCBaQ29tcG9uZW50SGVscGVyLCBaQ29tcG9uZW50T3V0cHV0RXZlbnQsIFpGaWVsZCB9IGZyb20gJ21taGdsb2JhbC16Y29yZSc7XHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwiYXBwLXppbnB1dC1jb250YWluZXJcIixcclxuICB0ZW1wbGF0ZVVybDogXCIuL3ppbnB1dC1jb250YWluZXIuY29tcG9uZW50Lmh0bWxcIixcclxuICBzdHlsZVVybHM6IFtcIi4vemlucHV0LWNvbnRhaW5lci5jb21wb25lbnQuc2Nzc1wiXVxyXG59KVxyXG5cclxuZXhwb3J0IGNsYXNzIFpJbnB1dENvbnRhaW5lckNvbXBvbmVudCBleHRlbmRzIEZpZWxkQmFzZSBpbXBsZW1lbnRzIFpDb21wb25lbnQsIE9uSW5pdCB7XHJcbiAgcHVibGljIGlucHV0RmllbGRBZGRPbiA9IHsgdG9wOiB7fSwgbGVmdDoge30sIHJpZ2h0OiB7fSwgYm90dG9tOiB7fSB9O1xyXG5cclxuICBwdWJsaWMgcmVhZG9ubHkgenRleHRfdHlwZSA9IFsnbnVtYmVyJywgJ251bWVyaWMnLCAnZGF0ZScsICdlbWFpbCcsICd6cGFzc3dvcmQnLCAnc2VhcmNoJywgJ3RlbCcsICd0ZXh0JywgJ3VybCcsICdjdXJyZW5jeSddO1xyXG4gIHB1YmxpYyByZWFkb25seSB6c2VsZWN0X3R5cGUgPSBbJ3p1aXNlbGVjdG11bHRpcGxlJywgJ3p1aXNlbGVjdG11bHRpcGxlX2J1dHRvbicsICdzZWxlY3QnXTtcclxuICBwdWJsaWMgcmVhZG9ubHkgemRhdGVfdHlwZSA9IFsnemRhdGUnLCAnenRpbWUnLCAnemRhdGV0aW1lJywgJ3pzaG9ydGRhdGUnLCAnenVpZGF0ZXRpbWUnLCAnenVpdGltZSddO1xyXG4gIHB1YmxpYyByZWFkb25seSB6cG9zdHNlbGVjdGlucHV0X3R5cGUgPSBbJ3Bvc3Rfc2VsZWN0X2lucHV0JywgJ3ByZV9zZWxlY3RfaW5wdXQnLCAnenBob25lX2NvdW50cnljb2RlJ107XHJcbiAgcHVibGljIHJlYWRvbmx5IHpjaGVja2JveF90eXBlID0gWydjaGVja2JveCddO1xyXG4gIHB1YmxpYyByZWFkb25seSB6bnVtZXJpY190eXBlID0gWyd6bnVtZXJpYyddO1xyXG4gIHB1YmxpYyByZWFkb25seSB0ZXh0YXJlYV90eXBlID0gWyd0ZXh0YXJlYSddO1xyXG4gIHB1YmxpYyByZWFkb25seSB6dXBsb2FkX3R5cGUgPSBbJ3p1cGxvYWQnXTtcclxuICBwdWJsaWMgcmVhZG9ubHkgemltZ190eXBlID0gWyd6aW1nJ107XHJcbiAgcHVibGljIHJlYWRvbmx5IHp0ZXh0ZWRpdG9yX3R5cGUgPSBbJ3p0ZXh0ZWRpdG9yJ107XHJcbiAgcHVibGljIHJlYWRvbmx5IHpjb2xvcnBpY2tlcl90eXBlID0gWyd6Y29sb3JwaWNrZXInXTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgY29tcG9uZW50U2VydmljZTogWkNvbXBvbmVudFNlcnZpY2VcclxuICApIHtcclxuICAgIHN1cGVyKGNvbXBvbmVudFNlcnZpY2UpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICBzdXBlci5pbml0Q29tcG9uZW50KCkucGlwZShcclxuICAgICAgdGFwKCgpID0+IHtcclxuICAgICAgICB0aGlzLnNldEFkZE9uVmFsdWUoKTtcclxuICAgICAgICB0aGlzLmNvbXBvbmVudFNlcnZpY2Uuc2V0RWRpdE1vZGUodGhpcyk7XHJcbiAgICAgICAgdGhpcy5kYXRhLnpsYXlvdXQgPSB0aGlzLmRhdGEuemxheW91dCB8fCAodGhpcy5jb250YWluZXJGaWVsZCA/IHRoaXMuY29udGFpbmVyRmllbGQuemxheW91dCA6IFwicm93XCIpO1xyXG4gICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgIH0pKVxyXG4gICAgICAuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICB0aGlzLmNvbXBvbmVudFNlcnZpY2UuZGVjcmVtZW50Q29tcG9uZW50Q291bnRlckZvckZpZWxkKHRoaXMuZGF0YSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0Q2xhc3MoZm9ybTogRm9ybUdyb3VwLCBkYXRhOiBaRmllbGQpIHtcclxuICAgIHJldHVybiBgc3R5bGUke2RhdGEuRmllbGRMYXlvdXRUeXBlfSAke3N1cGVyLmdldENsYXNzKGZvcm0sIGRhdGEpfWA7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgdHJpZ2dlckNvbnRhaW5lckV2ZW50KGV2ZW50OiBaQ29tcG9uZW50T3V0cHV0RXZlbnQpIHtcclxuICAgIGlmIChldmVudCkge1xyXG4gICAgICBpZiAoZXZlbnQudHlwZSA9PT0gXCJzZXRBZGRPblZhbHVlXCIpIHtcclxuICAgICAgICB0aGlzLnNldEFkZE9uVmFsdWUoZXZlbnQuZGF0YSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0QWRkT25WYWx1ZShhZGRPbnM/OiBhbnkpIHtcclxuICAgIGNvbnN0IGlucHV0RmllbGRBZGRPbkdyb3VwVmFsdWUgPSBaQ29tcG9uZW50SGVscGVyLmdldEdyb3VwVmFsdWUoYWRkT25zIHx8IHRoaXMuZGF0YS5JbnB1dEZpZWxkQWRkT25zIGFzIGFueSwgdGhpcy5ncm91cCk7XHJcbiAgICBjb25zdCBhZGRPblZhbHVlID0gaW5wdXRGaWVsZEFkZE9uR3JvdXBWYWx1ZSB8fCBhZGRPbnMgfHwgdGhpcy5kYXRhLklucHV0RmllbGRBZGRPbnM7XHJcbiAgICBpZiAoYWRkT25WYWx1ZSAmJiBBcnJheS5pc0FycmF5KGFkZE9uVmFsdWUpKSB7XHJcbiAgICAgIGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKHRoaXMuaW5wdXRGaWVsZEFkZE9uKSkge1xyXG4gICAgICAgIHRoaXMuaW5wdXRGaWVsZEFkZE9uW2tleV0gPSBhZGRPblZhbHVlLmZpbmQoaSA9PiBpLlBvc2l0aW9uID09PSBrZXkpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJtb2JpbGUtaW5wdXQtY29udGFpbmVyIGUxdGFnLWNvbnRhaW5lci1zdHlsZVwiICpuZ0lmPVwiaXNNb2JpbGVTY3JlZW4oKSAmJiAhaXNMb2FkaW5nXCJcclxuICAgICBbc3R5bGVdPVwiY29tcG9uZW50UHJvcGVydGllcy5jb250YWluZXJTdHlsZS5zdHlsZVwiPlxyXG4gIDxpb24taXRlbSBbZm9ybUdyb3VwXT1cImZvcm1cIiBjbGFzcz1cImUxdGFnLWNvbnRhaW5lci1zdHlsZTFcIlxyXG4gICAgICAgICAgICAqbmdJZj1cIighIWNvbXBvbmVudFByb3BlcnRpZXMuaXNWaXNpYmxlRmllbGQgPyBncm91cFtjb21wb25lbnRQcm9wZXJ0aWVzLmlzVmlzaWJsZUZpZWxkXSA6IGNvbXBvbmVudFByb3BlcnRpZXMuaXNWaXNpYmxlKVwiXHJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cImdldElvbl9JbnZhbGlkQ2xhc3MoZm9ybSwgZGF0YSlcIiBbc3R5bGVdPVwiY29tcG9uZW50UHJvcGVydGllcy5jb250YWluZXJTdHlsZS5zdHlsZTFcIj5cclxuICAgIDxpb24tbGFiZWwgW2F0dHIuZm9yXT1cImRhdGEuVmFsdWVcIiBjbGFzcz1cImlucHV0LWxhYmVsIGUxdGFnLWNvbnRhaW5lci1zdHlsZTJcIlxyXG4gICAgICAgICAgICAgICAqbmdJZj1cImRhdGEuU2hvd0xhYmVsID09PSB1bmRlZmluZWQgfHwgZGF0YS5TaG93TGFiZWxcIlxyXG4gICAgICAgICAgICAgICBbcG9zaXRpb25dPVwiZGF0YS5MYWJlbFBvc2l0aW9uID8gZGF0YS5MYWJlbFBvc2l0aW9uIDogJ3N0YWNrZWQnXCJcclxuICAgICAgICAgICAgICAgW3N0eWxlXT1cImNvbXBvbmVudFByb3BlcnRpZXMuY29udGFpbmVyU3R5bGUuc3R5bGUyXCI+XHJcbiAgICAgIHt7Y29tcG9uZW50UHJvcGVydGllcy5sYWJlbH19XHJcbiAgICAgIDxpb24tdGV4dCAqbmdJZj1cIighIWNvbXBvbmVudFByb3BlcnRpZXMuaXNSZXF1aXJlZEZpZWxkID8gZ3JvdXBbY29tcG9uZW50UHJvcGVydGllcy5pc1JlcXVpcmVkRmllbGRdIDogY29tcG9uZW50UHJvcGVydGllcy5pc1JlcXVpcmVkKVwiXHJcbiAgICAgICAgICAgICAgICBjb2xvcj1cImRhbmdlclwiIGNsYXNzPVwicmVxdWlyZWQtaWNvblwiPio8L2lvbi10ZXh0PlxyXG4gICAgPC9pb24tbGFiZWw+XHJcbiAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtdmFsdWUtZmllbGRcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWZpZWxkcy1vcHRpb25zXCI+XHJcbiAgICAgICAgPGFwcC16dGV4dCAqbmdJZj1cInp0ZXh0X3R5cGUuaW5jbHVkZXMoZGF0YS5UeXBlKVwiIFtkYXRhXT1cImRhdGFcIiBbZ3JvdXBdPVwiZ3JvdXBcIiBbZm9ybV09XCJmb3JtXCJcclxuICAgICAgICAgICAgICAgICAgIFtjb250YWluZXJGaWVsZF09XCJjb250YWluZXJGaWVsZFwiIFtjb21wb25lbnRQcm9wZXJ0aWVzXT1cImNvbXBvbmVudFByb3BlcnRpZXNcIiBjbGFzcz1cImUxdGFnLWNvbnRhaW5lci1zdHlsZTVcIlxyXG4gICAgICAgICAgICAgICAgICAgW3N0eWxlXT1cImNvbXBvbmVudFByb3BlcnRpZXMuY29udGFpbmVyU3R5bGUuc3R5bGU1XCIgKHRyaWdnZXJDb250YWluZXJFdmVudCk9XCJ0cmlnZ2VyQ29udGFpbmVyRXZlbnQoJGV2ZW50KVwiPlxyXG4gICAgICAgIDwvYXBwLXp0ZXh0PlxyXG4gICAgICAgIDxhcHAtenNlbGVjdG11bHRpcGxlICpuZ0lmPVwienNlbGVjdF90eXBlLmluY2x1ZGVzKGRhdGEuVHlwZSlcIiBbZGF0YV09XCJkYXRhXCIgW2dyb3VwXT1cImdyb3VwXCIgW2Zvcm1dPVwiZm9ybVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbnRhaW5lckZpZWxkXT1cImNvbnRhaW5lckZpZWxkXCIgW2NvbXBvbmVudFByb3BlcnRpZXNdPVwiY29tcG9uZW50UHJvcGVydGllc1wiIGNsYXNzPVwiZTF0YWctY29udGFpbmVyLXN0eWxlNVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3N0eWxlXT1cImNvbXBvbmVudFByb3BlcnRpZXMuY29udGFpbmVyU3R5bGUuc3R5bGU1XCIgKHRyaWdnZXJDb250YWluZXJFdmVudCk9XCJ0cmlnZ2VyQ29udGFpbmVyRXZlbnQoJGV2ZW50KVwiPlxyXG4gICAgICAgIDwvYXBwLXpzZWxlY3RtdWx0aXBsZT5cclxuICAgICAgICA8YXBwLXpkYXRldGltZSAqbmdJZj1cInpkYXRlX3R5cGUuaW5jbHVkZXMoZGF0YS5UeXBlKVwiIFtkYXRhXT1cImRhdGFcIiBbZ3JvdXBdPVwiZ3JvdXBcIiBbZm9ybV09XCJmb3JtXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbY29udGFpbmVyRmllbGRdPVwiY29udGFpbmVyRmllbGRcIiBbY29tcG9uZW50UHJvcGVydGllc109XCJjb21wb25lbnRQcm9wZXJ0aWVzXCIgY2xhc3M9XCJlMXRhZy1jb250YWluZXItc3R5bGU1XCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbc3R5bGVdPVwiY29tcG9uZW50UHJvcGVydGllcy5jb250YWluZXJTdHlsZS5zdHlsZTVcIiAodHJpZ2dlckNvbnRhaW5lckV2ZW50KT1cInRyaWdnZXJDb250YWluZXJFdmVudCgkZXZlbnQpXCI+XHJcbiAgICAgICAgPC9hcHAtemRhdGV0aW1lPlxyXG4gICAgICAgIDxhcHAtenBvc3RzZWxlY3RpbnB1dCAqbmdJZj1cInpwb3N0c2VsZWN0aW5wdXRfdHlwZS5pbmNsdWRlcyhkYXRhLlR5cGUpXCIgW2RhdGFdPVwiZGF0YVwiIFtncm91cF09XCJncm91cFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmb3JtXT1cImZvcm1cIiBbY29udGFpbmVyRmllbGRdPVwiY29udGFpbmVyRmllbGRcIiBbY29tcG9uZW50UHJvcGVydGllc109XCJjb21wb25lbnRQcm9wZXJ0aWVzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJlMXRhZy1jb250YWluZXItc3R5bGU1XCIgW3N0eWxlXT1cImNvbXBvbmVudFByb3BlcnRpZXMuY29udGFpbmVyU3R5bGUuc3R5bGU1XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHRyaWdnZXJDb250YWluZXJFdmVudCk9XCJ0cmlnZ2VyQ29udGFpbmVyRXZlbnQoJGV2ZW50KVwiPlxyXG4gICAgICAgIDwvYXBwLXpwb3N0c2VsZWN0aW5wdXQ+XHJcbiAgICAgICAgPGFwcC16Y2hlY2tib3ggKm5nSWY9XCJ6Y2hlY2tib3hfdHlwZS5pbmNsdWRlcyhkYXRhLlR5cGUpXCIgW2RhdGFdPVwiZGF0YVwiIFtncm91cF09XCJncm91cFwiIFtmb3JtXT1cImZvcm1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFtjb250YWluZXJGaWVsZF09XCJjb250YWluZXJGaWVsZFwiIFtjb21wb25lbnRQcm9wZXJ0aWVzXT1cImNvbXBvbmVudFByb3BlcnRpZXNcIiBjbGFzcz1cImUxdGFnLWNvbnRhaW5lci1zdHlsZTVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFtzdHlsZV09XCJjb21wb25lbnRQcm9wZXJ0aWVzLmNvbnRhaW5lclN0eWxlLnN0eWxlNVwiICh0cmlnZ2VyQ29udGFpbmVyRXZlbnQpPVwidHJpZ2dlckNvbnRhaW5lckV2ZW50KCRldmVudClcIj5cclxuICAgICAgICA8L2FwcC16Y2hlY2tib3g+XHJcbiAgICAgICAgPGFwcC16bnVtZXJpYyAqbmdJZj1cInpudW1lcmljX3R5cGUuaW5jbHVkZXMoZGF0YS5UeXBlKVwiIFtkYXRhXT1cImRhdGFcIiBbZ3JvdXBdPVwiZ3JvdXBcIiBbZm9ybV09XCJmb3JtXCJcclxuICAgICAgICAgICAgICAgICAgICAgIFtjb250YWluZXJGaWVsZF09XCJjb250YWluZXJGaWVsZFwiIFtjb21wb25lbnRQcm9wZXJ0aWVzXT1cImNvbXBvbmVudFByb3BlcnRpZXNcIiBjbGFzcz1cImUxdGFnLWNvbnRhaW5lci1zdHlsZTVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgW3N0eWxlXT1cImNvbXBvbmVudFByb3BlcnRpZXMuY29udGFpbmVyU3R5bGUuc3R5bGU1XCIgKHRyaWdnZXJDb250YWluZXJFdmVudCk9XCJ0cmlnZ2VyQ29udGFpbmVyRXZlbnQoJGV2ZW50KVwiPlxyXG4gICAgICAgIDwvYXBwLXpudW1lcmljPlxyXG4gICAgICAgIDxhcHAtenRleHRhcmVhICpuZ0lmPVwidGV4dGFyZWFfdHlwZS5pbmNsdWRlcyhkYXRhLlR5cGUpXCIgW2RhdGFdPVwiZGF0YVwiIFtncm91cF09XCJncm91cFwiIFtmb3JtXT1cImZvcm1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFtjb250YWluZXJGaWVsZF09XCJjb250YWluZXJGaWVsZFwiIFtjb21wb25lbnRQcm9wZXJ0aWVzXT1cImNvbXBvbmVudFByb3BlcnRpZXNcIiBjbGFzcz1cImUxdGFnLWNvbnRhaW5lci1zdHlsZTVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFtzdHlsZV09XCJjb21wb25lbnRQcm9wZXJ0aWVzLmNvbnRhaW5lclN0eWxlLnN0eWxlNVwiICh0cmlnZ2VyQ29udGFpbmVyRXZlbnQpPVwidHJpZ2dlckNvbnRhaW5lckV2ZW50KCRldmVudClcIj5cclxuICAgICAgICA8L2FwcC16dGV4dGFyZWE+XHJcbiAgICAgICAgPGFwcC16dXBsb2FkICpuZ0lmPVwienVwbG9hZF90eXBlLmluY2x1ZGVzKGRhdGEuVHlwZSlcIiBbZGF0YV09XCJkYXRhXCIgW2dyb3VwXT1cImdyb3VwXCIgW2Zvcm1dPVwiZm9ybVwiXHJcbiAgICAgICAgICAgICAgICAgICAgIFtjb250YWluZXJGaWVsZF09XCJjb250YWluZXJGaWVsZFwiIFtjb21wb25lbnRQcm9wZXJ0aWVzXT1cImNvbXBvbmVudFByb3BlcnRpZXNcIiBjbGFzcz1cImUxdGFnLWNvbnRhaW5lci1zdHlsZTVcIlxyXG4gICAgICAgICAgICAgICAgICAgICBbc3R5bGVdPVwiY29tcG9uZW50UHJvcGVydGllcy5jb250YWluZXJTdHlsZS5zdHlsZTVcIiAodHJpZ2dlckNvbnRhaW5lckV2ZW50KT1cInRyaWdnZXJDb250YWluZXJFdmVudCgkZXZlbnQpXCI+XHJcbiAgICAgICAgPC9hcHAtenVwbG9hZD5cclxuICAgICAgICA8YXBwLXppbWcgKm5nSWY9XCJ6aW1nX3R5cGUuaW5jbHVkZXMoZGF0YS5UeXBlKVwiIFtkYXRhXT1cImRhdGFcIiBbZ3JvdXBdPVwiZ3JvdXBcIiBbZm9ybV09XCJmb3JtXCJcclxuICAgICAgICAgICAgICAgICAgW2NvbnRhaW5lckZpZWxkXT1cImNvbnRhaW5lckZpZWxkXCIgW2NvbXBvbmVudFByb3BlcnRpZXNdPVwiY29tcG9uZW50UHJvcGVydGllc1wiIGNsYXNzPVwiZTF0YWctY29udGFpbmVyLXN0eWxlNVwiXHJcbiAgICAgICAgICAgICAgICAgIFtzdHlsZV09XCJjb21wb25lbnRQcm9wZXJ0aWVzLmNvbnRhaW5lclN0eWxlLnN0eWxlNVwiICh0cmlnZ2VyQ29udGFpbmVyRXZlbnQpPVwidHJpZ2dlckNvbnRhaW5lckV2ZW50KCRldmVudClcIj5cclxuICAgICAgICA8L2FwcC16aW1nPlxyXG4gICAgICAgIDxhcHAtenRleHRlZGl0b3IgKm5nSWY9XCJ6dGV4dGVkaXRvcl90eXBlLmluY2x1ZGVzKGRhdGEuVHlwZSlcIiBbZGF0YV09XCJkYXRhXCIgW2dyb3VwXT1cImdyb3VwXCIgW2Zvcm1dPVwiZm9ybVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbY29udGFpbmVyRmllbGRdPVwiY29udGFpbmVyRmllbGRcIiBbY29tcG9uZW50UHJvcGVydGllc109XCJjb21wb25lbnRQcm9wZXJ0aWVzXCIgY2xhc3M9XCJlMXRhZy1jb250YWluZXItc3R5bGU1XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgIFtzdHlsZV09XCJjb21wb25lbnRQcm9wZXJ0aWVzLmNvbnRhaW5lclN0eWxlLnN0eWxlNVwiICh0cmlnZ2VyQ29udGFpbmVyRXZlbnQpPVwidHJpZ2dlckNvbnRhaW5lckV2ZW50KCRldmVudClcIj5cclxuICAgICAgICA8L2FwcC16dGV4dGVkaXRvcj5cclxuICAgICAgICA8YXBwLXpjb2xvcnBpY2tlciAqbmdJZj1cInpjb2xvcnBpY2tlcl90eXBlLmluY2x1ZGVzKGRhdGEuVHlwZSlcIiBbZGF0YV09XCJkYXRhXCIgW2dyb3VwXT1cImdyb3VwXCIgW2Zvcm1dPVwiZm9ybVwiXHJcbiAgICAgICAgICAgICAgICAgICBbY29udGFpbmVyRmllbGRdPVwiY29udGFpbmVyRmllbGRcIiBbY29tcG9uZW50UHJvcGVydGllc109XCJjb21wb25lbnRQcm9wZXJ0aWVzXCIgY2xhc3M9XCJlMXRhZy1jb250YWluZXItc3R5bGU1XCJcclxuICAgICAgICAgICAgICAgICAgIFtzdHlsZV09XCJjb21wb25lbnRQcm9wZXJ0aWVzLmNvbnRhaW5lclN0eWxlLnN0eWxlNVwiICh0cmlnZ2VyQ29udGFpbmVyRXZlbnQpPVwidHJpZ2dlckNvbnRhaW5lckV2ZW50KCRldmVudClcIj5cclxuICAgICAgICA8L2FwcC16Y29sb3JwaWNrZXI+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8YXBwLWVycm9yIFtkYXRhXT1cImRhdGFcIiBbZ3JvdXBdPVwiZ3JvdXBcIiBbZm9ybV09XCJmb3JtXCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgIDwhLS0gPGFwcC1maWVsZC1zdWZmaXgtZWxlbWVudCBbZGF0YV09XCJkYXRhXCIgW2dyb3VwXT1cImdyb3VwXCIgW2Zvcm1dPVwiZm9ybVwiIFtjb250YWluZXJGaWVsZF09XCJjb250YWluZXJGaWVsZFwiXHJcbiAgICAgICAgW2NvbXBvbmVudFByb3BlcnRpZXNdPVwiY29tcG9uZW50UHJvcGVydGllc1wiPjwvYXBwLWZpZWxkLXN1ZmZpeC1lbGVtZW50PiAtLT5cclxuICAgIDwvZGl2PlxyXG4gIDwvaW9uLWl0ZW0+XHJcbjwvZGl2PlxyXG5cclxuPGRpdiBjbGFzcz1cImRlc2t0b3AtaW5wdXQtY29udGFpbmVyIGUxdGFnLWNvbnRhaW5lci1zdHlsZVwiIFtmb3JtR3JvdXBdPVwiZm9ybVwiXHJcbiAgICAgW3N0eWxlXT1cImNvbXBvbmVudFByb3BlcnRpZXMuY29udGFpbmVyU3R5bGUuc3R5bGVcIlxyXG4gICAgICpuZ0lmPVwiIWlzTW9iaWxlU2NyZWVuKCkgJiYgIWlzTG9hZGluZyAmJiAoISFjb21wb25lbnRQcm9wZXJ0aWVzLmlzVmlzaWJsZUZpZWxkID8gZ3JvdXBbY29tcG9uZW50UHJvcGVydGllcy5pc1Zpc2libGVGaWVsZF0gOiBjb21wb25lbnRQcm9wZXJ0aWVzLmlzVmlzaWJsZSlcIlxyXG4gICAgIFtuZ0NsYXNzXT1cImdldENsYXNzKGZvcm0sIGRhdGEpXCIgW2Z4TGF5b3V0XT1cImRhdGEuRmllbGRMYXlvdXRUeXBlICE9PSAxID8gJ2NvbHVtbicgOiAncm93J1wiXHJcbiAgICAgZnhMYXlvdXRBbGlnbj1cInNwYWNlLWJldHdlZW4gc3RyZXRjaFwiIFtjbGFzcy5lZGl0TW9kZV09XCIoZGF0YVsnX0VkaXRNb2RlJ10udmFsdWUpXCJcclxuICAgICAjemlucHV0Y29udGFpbmVyPlxyXG4gIDxrZW5kby1sYWJlbCBjbGFzcz1cImlucHV0LWxhYmVsIGUxdGFnLWNvbnRhaW5lci1zdHlsZTFcIiBbZm9yXT1cImRhdGEuTmFtZVwiIFt0ZXh0XT1cImNvbXBvbmVudFByb3BlcnRpZXMubGFiZWxcIlxyXG4gICAgICAgICAgICAgICAqbmdJZj1cImRhdGEuU2hvd0xhYmVsXCIgW3N0eWxlXT1cImNvbXBvbmVudFByb3BlcnRpZXMuY29udGFpbmVyU3R5bGUuc3R5bGUxXCJcclxuICAgICAgICAgICAgICAgW2Z4RmxleF09XCJjb21wb25lbnRQcm9wZXJ0aWVzLmxhYmVsRmxleExheW91dFNpemUuYWxsXCIgW2Z4RmxleC54c109XCJjb21wb25lbnRQcm9wZXJ0aWVzLmxhYmVsRmxleExheW91dFNpemUueHNcIlxyXG4gICAgICAgICAgICAgICBbZnhGbGV4LnNtXT1cImNvbXBvbmVudFByb3BlcnRpZXMubGFiZWxGbGV4TGF5b3V0U2l6ZS5zbVwiIFtmeEZsZXgubWRdPVwiY29tcG9uZW50UHJvcGVydGllcy5sYWJlbEZsZXhMYXlvdXRTaXplLm1kXCJcclxuICAgICAgICAgICAgICAgW2Z4RmxleC5sZ109XCJjb21wb25lbnRQcm9wZXJ0aWVzLmxhYmVsRmxleExheW91dFNpemUubGdcIiBbZnhGbGV4LnhsXT1cImNvbXBvbmVudFByb3BlcnRpZXMubGFiZWxGbGV4TGF5b3V0U2l6ZS54bFwiPlxyXG4gICAgPGtlbmRvLWxhYmVsICpuZ0lmPVwiZGF0YVsnX0VkaXRNb2RlJ10udmFsdWUgJiYgKCEhY29tcG9uZW50UHJvcGVydGllcy5pc1JlcXVpcmVkRmllbGQgPyBncm91cFtjb21wb25lbnRQcm9wZXJ0aWVzLmlzUmVxdWlyZWRGaWVsZF0gOiBjb21wb25lbnRQcm9wZXJ0aWVzLmlzUmVxdWlyZWQpXCJcclxuICAgICAgICAgICAgICAgICB0ZXh0PVwiKlwiIGNsYXNzPVwicmVxdWlyZWQtaWNvblwiPlxyXG4gICAgPC9rZW5kby1sYWJlbD5cclxuICAgIDxhcHAtaW5wdXQtZmllbGQtYWRkb25zIGNsYXNzPVwiYWRkb24tdG9wIGUxdGFnLWNvbnRhaW5lci1zdHlsZTdcIiBbcG9zaXRpb25dPVwiJ3RvcCdcIiBbYWRkT25dPVwiaW5wdXRGaWVsZEFkZE9uLnRvcFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGF0YV09XCJkYXRhXCIgW2dyb3VwXT1cImdyb3VwXCIgW2Zvcm1dPVwiZm9ybVwiIFtjb250YWluZXJGaWVsZF09XCJjb250YWluZXJGaWVsZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29tcG9uZW50UHJvcGVydGllc109XCJjb21wb25lbnRQcm9wZXJ0aWVzXCIgW3N0eWxlXT1cImNvbXBvbmVudFByb3BlcnRpZXMuY29udGFpbmVyU3R5bGUuc3R5bGU3XCI+XHJcbiAgICA8L2FwcC1pbnB1dC1maWVsZC1hZGRvbnM+XHJcbiAgPC9rZW5kby1sYWJlbD5cclxuICA8ZGl2IGNsYXNzPVwiaW5wdXQtdmFsdWUtY29udGFpbmVyIGUxdGFnLWNvbnRhaW5lci1zdHlsZTJcIiBbc3R5bGVdPVwiY29tcG9uZW50UHJvcGVydGllcy5jb250YWluZXJTdHlsZS5zdHlsZTJcIlxyXG4gICAgICAgW2Z4RmxleF09XCJjb21wb25lbnRQcm9wZXJ0aWVzLmZpZWxkRmxleExheW91dFNpemUuYWxsXCIgW2Z4RmxleC54c109XCJjb21wb25lbnRQcm9wZXJ0aWVzLmZpZWxkRmxleExheW91dFNpemUueHNcIlxyXG4gICAgICAgW2Z4RmxleC5zbV09XCJjb21wb25lbnRQcm9wZXJ0aWVzLmZpZWxkRmxleExheW91dFNpemUuc21cIiBbZnhGbGV4Lm1kXT1cImNvbXBvbmVudFByb3BlcnRpZXMuZmllbGRGbGV4TGF5b3V0U2l6ZS5tZFwiXHJcbiAgICAgICBbZnhGbGV4LmxnXT1cImNvbXBvbmVudFByb3BlcnRpZXMuZmllbGRGbGV4TGF5b3V0U2l6ZS5sZ1wiIFtmeEZsZXgueGxdPVwiY29tcG9uZW50UHJvcGVydGllcy5maWVsZEZsZXhMYXlvdXRTaXplLnhsXCI+XHJcbiAgICA8ZGl2ICpuZ0lmPVwiZGF0YVsnX0VkaXRNb2RlJ10udmFsdWVcIiBjbGFzcz1cImlucHV0LXZhbHVlLWZpZWxkIGUxdGFnLWNvbnRhaW5lci1zdHlsZTNcIlxyXG4gICAgICAgICBbc3R5bGVdPVwiY29tcG9uZW50UHJvcGVydGllcy5jb250YWluZXJTdHlsZS5zdHlsZTNcIj5cclxuICAgICAgPCEtLSBUT0RPOiBBZGQgMSBtb3JlIGxheWVyIGZvciB0aGlzIHN3aXRjaCBjYXNlLS0+XHJcbiAgICAgIDxhcHAtaW5wdXQtZmllbGQtYWRkb25zIGNsYXNzPVwiYWRkb24tbGVmdCBlMXRhZy1jb250YWluZXItc3R5bGU3XCIgW3Bvc2l0aW9uXT1cIidsZWZ0J1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthZGRPbl09XCJpbnB1dEZpZWxkQWRkT24ubGVmdFwiIFtkYXRhXT1cImRhdGFcIiBbZ3JvdXBdPVwiZ3JvdXBcIiBbZm9ybV09XCJmb3JtXCIgW2NvbnRhaW5lckZpZWxkXT1cImNvbnRhaW5lckZpZWxkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbXBvbmVudFByb3BlcnRpZXNdPVwiY29tcG9uZW50UHJvcGVydGllc1wiIFtzdHlsZV09XCJjb21wb25lbnRQcm9wZXJ0aWVzLmNvbnRhaW5lclN0eWxlLnN0eWxlN1wiPlxyXG4gICAgICA8L2FwcC1pbnB1dC1maWVsZC1hZGRvbnM+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1maWVsZHMtb3B0aW9ucyBlMXRhZy1jb250YWluZXItc3R5bGU0XCIgW3N0eWxlXT1cImNvbXBvbmVudFByb3BlcnRpZXMuY29udGFpbmVyU3R5bGUuc3R5bGU0XCI+XHJcbiAgICAgICAgPGFwcC16dGV4dCAqbmdJZj1cInp0ZXh0X3R5cGUuaW5jbHVkZXMoZGF0YS5UeXBlKVwiIFtkYXRhXT1cImRhdGFcIiBbZ3JvdXBdPVwiZ3JvdXBcIiBbZm9ybV09XCJmb3JtXCJcclxuICAgICAgICAgICAgICAgICAgIFtjb250YWluZXJGaWVsZF09XCJjb250YWluZXJGaWVsZFwiIFtjb21wb25lbnRQcm9wZXJ0aWVzXT1cImNvbXBvbmVudFByb3BlcnRpZXNcIiBjbGFzcz1cImUxdGFnLWNvbnRhaW5lci1zdHlsZTVcIlxyXG4gICAgICAgICAgICAgICAgICAgW3N0eWxlXT1cImNvbXBvbmVudFByb3BlcnRpZXMuY29udGFpbmVyU3R5bGUuc3R5bGU1XCIgKHRyaWdnZXJDb250YWluZXJFdmVudCk9XCJ0cmlnZ2VyQ29udGFpbmVyRXZlbnQoJGV2ZW50KVwiPlxyXG4gICAgICAgIDwvYXBwLXp0ZXh0PlxyXG4gICAgICAgIDxhcHAtenNlbGVjdG11bHRpcGxlICpuZ0lmPVwienNlbGVjdF90eXBlLmluY2x1ZGVzKGRhdGEuVHlwZSlcIiBbZGF0YV09XCJkYXRhXCIgW2dyb3VwXT1cImdyb3VwXCIgW2Zvcm1dPVwiZm9ybVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbnRhaW5lckZpZWxkXT1cImNvbnRhaW5lckZpZWxkXCIgW2NvbXBvbmVudFByb3BlcnRpZXNdPVwiY29tcG9uZW50UHJvcGVydGllc1wiIGNsYXNzPVwiZTF0YWctY29udGFpbmVyLXN0eWxlNVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3N0eWxlXT1cImNvbXBvbmVudFByb3BlcnRpZXMuY29udGFpbmVyU3R5bGUuc3R5bGU1XCIgKHRyaWdnZXJDb250YWluZXJFdmVudCk9XCJ0cmlnZ2VyQ29udGFpbmVyRXZlbnQoJGV2ZW50KVwiPlxyXG4gICAgICAgIDwvYXBwLXpzZWxlY3RtdWx0aXBsZT5cclxuICAgICAgICA8YXBwLXpkYXRldGltZSAqbmdJZj1cInpkYXRlX3R5cGUuaW5jbHVkZXMoZGF0YS5UeXBlKVwiIFtkYXRhXT1cImRhdGFcIiBbZ3JvdXBdPVwiZ3JvdXBcIiBbZm9ybV09XCJmb3JtXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbY29udGFpbmVyRmllbGRdPVwiY29udGFpbmVyRmllbGRcIiBbY29tcG9uZW50UHJvcGVydGllc109XCJjb21wb25lbnRQcm9wZXJ0aWVzXCIgY2xhc3M9XCJlMXRhZy1jb250YWluZXItc3R5bGU1XCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbc3R5bGVdPVwiY29tcG9uZW50UHJvcGVydGllcy5jb250YWluZXJTdHlsZS5zdHlsZTVcIiAodHJpZ2dlckNvbnRhaW5lckV2ZW50KT1cInRyaWdnZXJDb250YWluZXJFdmVudCgkZXZlbnQpXCI+XHJcbiAgICAgICAgPC9hcHAtemRhdGV0aW1lPlxyXG4gICAgICAgIDxhcHAtenBvc3RzZWxlY3RpbnB1dCAqbmdJZj1cInpwb3N0c2VsZWN0aW5wdXRfdHlwZS5pbmNsdWRlcyhkYXRhLlR5cGUpXCIgW2RhdGFdPVwiZGF0YVwiIFtncm91cF09XCJncm91cFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmb3JtXT1cImZvcm1cIiBbY29udGFpbmVyRmllbGRdPVwiY29udGFpbmVyRmllbGRcIiBbY29tcG9uZW50UHJvcGVydGllc109XCJjb21wb25lbnRQcm9wZXJ0aWVzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJlMXRhZy1jb250YWluZXItc3R5bGU1XCIgW3N0eWxlXT1cImNvbXBvbmVudFByb3BlcnRpZXMuY29udGFpbmVyU3R5bGUuc3R5bGU1XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHRyaWdnZXJDb250YWluZXJFdmVudCk9XCJ0cmlnZ2VyQ29udGFpbmVyRXZlbnQoJGV2ZW50KVwiPlxyXG4gICAgICAgIDwvYXBwLXpwb3N0c2VsZWN0aW5wdXQ+XHJcbiAgICAgICAgPGFwcC16Y2hlY2tib3ggKm5nSWY9XCJ6Y2hlY2tib3hfdHlwZS5pbmNsdWRlcyhkYXRhLlR5cGUpXCIgW2RhdGFdPVwiZGF0YVwiIFtncm91cF09XCJncm91cFwiIFtmb3JtXT1cImZvcm1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFtjb250YWluZXJGaWVsZF09XCJjb250YWluZXJGaWVsZFwiIFtjb21wb25lbnRQcm9wZXJ0aWVzXT1cImNvbXBvbmVudFByb3BlcnRpZXNcIiBjbGFzcz1cImUxdGFnLWNvbnRhaW5lci1zdHlsZTVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFtzdHlsZV09XCJjb21wb25lbnRQcm9wZXJ0aWVzLmNvbnRhaW5lclN0eWxlLnN0eWxlNVwiICh0cmlnZ2VyQ29udGFpbmVyRXZlbnQpPVwidHJpZ2dlckNvbnRhaW5lckV2ZW50KCRldmVudClcIj5cclxuICAgICAgICA8L2FwcC16Y2hlY2tib3g+XHJcbiAgICAgICAgPGFwcC16bnVtZXJpYyAqbmdJZj1cInpudW1lcmljX3R5cGUuaW5jbHVkZXMoZGF0YS5UeXBlKVwiIFtkYXRhXT1cImRhdGFcIiBbZ3JvdXBdPVwiZ3JvdXBcIiBbZm9ybV09XCJmb3JtXCJcclxuICAgICAgICAgICAgICAgICAgICAgIFtjb250YWluZXJGaWVsZF09XCJjb250YWluZXJGaWVsZFwiIFtjb21wb25lbnRQcm9wZXJ0aWVzXT1cImNvbXBvbmVudFByb3BlcnRpZXNcIiBjbGFzcz1cImUxdGFnLWNvbnRhaW5lci1zdHlsZTVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgW3N0eWxlXT1cImNvbXBvbmVudFByb3BlcnRpZXMuY29udGFpbmVyU3R5bGUuc3R5bGU1XCIgKHRyaWdnZXJDb250YWluZXJFdmVudCk9XCJ0cmlnZ2VyQ29udGFpbmVyRXZlbnQoJGV2ZW50KVwiPlxyXG4gICAgICAgIDwvYXBwLXpudW1lcmljPlxyXG4gICAgICAgIDxhcHAtenRleHRhcmVhICpuZ0lmPVwidGV4dGFyZWFfdHlwZS5pbmNsdWRlcyhkYXRhLlR5cGUpXCIgW2RhdGFdPVwiZGF0YVwiIFtncm91cF09XCJncm91cFwiIFtmb3JtXT1cImZvcm1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFtjb250YWluZXJGaWVsZF09XCJjb250YWluZXJGaWVsZFwiIFtjb21wb25lbnRQcm9wZXJ0aWVzXT1cImNvbXBvbmVudFByb3BlcnRpZXNcIiBjbGFzcz1cImUxdGFnLWNvbnRhaW5lci1zdHlsZTVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFtzdHlsZV09XCJjb21wb25lbnRQcm9wZXJ0aWVzLmNvbnRhaW5lclN0eWxlLnN0eWxlNVwiICh0cmlnZ2VyQ29udGFpbmVyRXZlbnQpPVwidHJpZ2dlckNvbnRhaW5lckV2ZW50KCRldmVudClcIj5cclxuICAgICAgICA8L2FwcC16dGV4dGFyZWE+XHJcbiAgICAgICAgPGFwcC16dXBsb2FkICpuZ0lmPVwienVwbG9hZF90eXBlLmluY2x1ZGVzKGRhdGEuVHlwZSlcIiBbZGF0YV09XCJkYXRhXCIgW2dyb3VwXT1cImdyb3VwXCIgW2Zvcm1dPVwiZm9ybVwiXHJcbiAgICAgICAgICAgICAgICAgICAgIFtjb250YWluZXJGaWVsZF09XCJjb250YWluZXJGaWVsZFwiIFtjb21wb25lbnRQcm9wZXJ0aWVzXT1cImNvbXBvbmVudFByb3BlcnRpZXNcIiBjbGFzcz1cImUxdGFnLWNvbnRhaW5lci1zdHlsZTVcIlxyXG4gICAgICAgICAgICAgICAgICAgICBbc3R5bGVdPVwiY29tcG9uZW50UHJvcGVydGllcy5jb250YWluZXJTdHlsZS5zdHlsZTVcIiAodHJpZ2dlckNvbnRhaW5lckV2ZW50KT1cInRyaWdnZXJDb250YWluZXJFdmVudCgkZXZlbnQpXCI+XHJcbiAgICAgICAgPC9hcHAtenVwbG9hZD5cclxuICAgICAgICA8YXBwLXppbWcgKm5nSWY9XCJ6aW1nX3R5cGUuaW5jbHVkZXMoZGF0YS5UeXBlKVwiIFtkYXRhXT1cImRhdGFcIiBbZ3JvdXBdPVwiZ3JvdXBcIiBbZm9ybV09XCJmb3JtXCJcclxuICAgICAgICAgICAgICAgICAgW2NvbnRhaW5lckZpZWxkXT1cImNvbnRhaW5lckZpZWxkXCIgW2NvbXBvbmVudFByb3BlcnRpZXNdPVwiY29tcG9uZW50UHJvcGVydGllc1wiIGNsYXNzPVwiZTF0YWctY29udGFpbmVyLXN0eWxlNVwiXHJcbiAgICAgICAgICAgICAgICAgIFtzdHlsZV09XCJjb21wb25lbnRQcm9wZXJ0aWVzLmNvbnRhaW5lclN0eWxlLnN0eWxlNVwiICh0cmlnZ2VyQ29udGFpbmVyRXZlbnQpPVwidHJpZ2dlckNvbnRhaW5lckV2ZW50KCRldmVudClcIj5cclxuICAgICAgICA8L2FwcC16aW1nPlxyXG4gICAgICAgIDxhcHAtenRleHRlZGl0b3IgKm5nSWY9XCJ6dGV4dGVkaXRvcl90eXBlLmluY2x1ZGVzKGRhdGEuVHlwZSlcIiBbZGF0YV09XCJkYXRhXCIgW2dyb3VwXT1cImdyb3VwXCIgW2Zvcm1dPVwiZm9ybVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbY29udGFpbmVyRmllbGRdPVwiY29udGFpbmVyRmllbGRcIiBbY29tcG9uZW50UHJvcGVydGllc109XCJjb21wb25lbnRQcm9wZXJ0aWVzXCIgY2xhc3M9XCJlMXRhZy1jb250YWluZXItc3R5bGU1XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgIFtzdHlsZV09XCJjb21wb25lbnRQcm9wZXJ0aWVzLmNvbnRhaW5lclN0eWxlLnN0eWxlNVwiICh0cmlnZ2VyQ29udGFpbmVyRXZlbnQpPVwidHJpZ2dlckNvbnRhaW5lckV2ZW50KCRldmVudClcIj5cclxuICAgICAgICA8L2FwcC16dGV4dGVkaXRvcj5cclxuICAgICAgICA8YXBwLXpjb2xvcnBpY2tlciAqbmdJZj1cInpjb2xvcnBpY2tlcl90eXBlLmluY2x1ZGVzKGRhdGEuVHlwZSlcIiBbZGF0YV09XCJkYXRhXCIgW2dyb3VwXT1cImdyb3VwXCIgW2Zvcm1dPVwiZm9ybVwiXHJcbiAgICAgICAgICAgICAgICAgICBbY29udGFpbmVyRmllbGRdPVwiY29udGFpbmVyRmllbGRcIiBbY29tcG9uZW50UHJvcGVydGllc109XCJjb21wb25lbnRQcm9wZXJ0aWVzXCIgY2xhc3M9XCJlMXRhZy1jb250YWluZXItc3R5bGU1XCJcclxuICAgICAgICAgICAgICAgICAgIFtzdHlsZV09XCJjb21wb25lbnRQcm9wZXJ0aWVzLmNvbnRhaW5lclN0eWxlLnN0eWxlNVwiICh0cmlnZ2VyQ29udGFpbmVyRXZlbnQpPVwidHJpZ2dlckNvbnRhaW5lckV2ZW50KCRldmVudClcIj5cclxuICAgICAgICA8L2FwcC16Y29sb3JwaWNrZXI+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8YXBwLWlucHV0LWZpZWxkLWFkZG9ucyBjbGFzcz1cImFkZG9uLXJpZ2h0IGUxdGFnLWNvbnRhaW5lci1zdHlsZTdcIiBbcG9zaXRpb25dPVwiJ3JpZ2h0J1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthZGRPbl09XCJpbnB1dEZpZWxkQWRkT24ucmlnaHRcIiBbZGF0YV09XCJkYXRhXCIgW2dyb3VwXT1cImdyb3VwXCIgW2Zvcm1dPVwiZm9ybVwiIFtjb250YWluZXJGaWVsZF09XCJjb250YWluZXJGaWVsZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb21wb25lbnRQcm9wZXJ0aWVzXT1cImNvbXBvbmVudFByb3BlcnRpZXNcIiBbc3R5bGVdPVwiY29tcG9uZW50UHJvcGVydGllcy5jb250YWluZXJTdHlsZS5zdHlsZTdcIj5cclxuICAgICAgPC9hcHAtaW5wdXQtZmllbGQtYWRkb25zPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8YXBwLWlucHV0LWZpZWxkLWFkZG9ucyBjbGFzcz1cImFkZG9uLWJvdHRvbSBlMXRhZy1jb250YWluZXItc3R5bGU3XCIgW3Bvc2l0aW9uXT1cIidib3R0b20nXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthZGRPbl09XCJpbnB1dEZpZWxkQWRkT24uYm90dG9tXCIgW2RhdGFdPVwiZGF0YVwiIFtncm91cF09XCJncm91cFwiIFtmb3JtXT1cImZvcm1cIiBbY29udGFpbmVyRmllbGRdPVwiY29udGFpbmVyRmllbGRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbXBvbmVudFByb3BlcnRpZXNdPVwiY29tcG9uZW50UHJvcGVydGllc1wiIFtzdHlsZV09XCJjb21wb25lbnRQcm9wZXJ0aWVzLmNvbnRhaW5lclN0eWxlLnN0eWxlN1wiPlxyXG4gICAgPC9hcHAtaW5wdXQtZmllbGQtYWRkb25zPlxyXG4gICAgPGFwcC1lcnJvciBbZGF0YV09XCJkYXRhXCIgW2dyb3VwXT1cImdyb3VwXCIgW2Zvcm1dPVwiZm9ybVwiPjwvYXBwLWVycm9yPlxyXG4gICAgPGtlbmRvLWxhYmVsIGNsYXNzPVwiaW5wdXQtdmFsdWUgZTF0YWctY29udGFpbmVyLXN0eWxlNlwiICpuZ0lmPVwiIShkYXRhWydfRWRpdE1vZGUnXS52YWx1ZSlcIlxyXG4gICAgICAgICAgICAgICAgIFtzdHlsZV09XCJjb21wb25lbnRQcm9wZXJ0aWVzLmNvbnRhaW5lclN0eWxlLnN0eWxlNlwiXHJcbiAgICAgICAgICAgICAgICAgW3RleHRdPVwiZ3JvdXAuek1vZGVsW2RhdGEuVmFsdWVdIHwgaW5wdXRUZXh0IDogZGF0YTogZ3JvdXAgfCBhc3luY1wiPjwva2VuZG8tbGFiZWw+XHJcbiAgPC9kaXY+XHJcbiAgPGFwcC1jb250ZXh0LW1lbnUgW2RhdGFdPVwiZGF0YVwiIFtncm91cF09XCJncm91cFwiIFtmb3JtXT1cImZvcm1cIiBbdGFyZ2V0XT1cInppbnB1dGNvbnRhaW5lclwiPjwvYXBwLWNvbnRleHQtbWVudT5cclxuPC9kaXY+XHJcbiJdfQ==
|
|
89
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiemlucHV0LWNvbnRhaW5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tbWhnbG9iYWwtZHluYW1pY2Zvcm0vc3JjL2xpYi96aW5wdXQtY29udGFpbmVyL3ppbnB1dC1jb250YWluZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvemlucHV0LWNvbnRhaW5lci96aW5wdXQtY29udGFpbmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLCtCQUErQjtBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBR2xELDZCQUE2QjtBQUU3Qiw4QkFBOEI7QUFDOUIsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUzQiwyQ0FBMkM7QUFDM0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRTlELE9BQU8sRUFBYyxnQkFBZ0IsRUFBaUMsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVM5RixNQUFNLE9BQU8sd0JBQXlCLFNBQVEsU0FBUztJQWdCckQsWUFDUyxnQkFBbUM7UUFFMUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFGakIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFtQjtRQWhCckMsb0JBQWUsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsQ0FBQztRQUV0RCxlQUFVLEdBQUcsQ0FBQyxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxVQUFVLENB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Q3JCckMsMmpnQkF5S0E7MkZEcEphLHdCQUF3QjtrQkFOcEMsU0FBUzsrQkFDRSxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyIvKioqKioqKioqKiBBbmd1bGFyICoqKioqKioqKiovXHJcbmltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcblxyXG4vKioqKioqKioqKiBJb25pYyAqKioqKioqKioqL1xyXG5cclxuLyoqKioqKioqKiogUGx1Z2luICoqKioqKioqKiovXHJcbmltcG9ydCB7IHRhcCB9IGZyb20gXCJyeGpzXCI7XHJcblxyXG4vKioqKioqKioqKiBDb21wb25lbnQgJiBTZXJ2aWNlICoqKioqKioqKiovXHJcbmltcG9ydCB7IEZpZWxkQmFzZSB9IGZyb20gXCIuLi9jb21wb25lbnRzL2ZpZWxkYmFzZS5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgWkNvbXBvbmVudFNlcnZpY2UgfSBmcm9tIFwiLi4vc2VydmljZXMvemNvbXBvbmVudC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFpDb21wb25lbnQsIFpDb21wb25lbnRIZWxwZXIsIFpDb21wb25lbnRPdXRwdXRFdmVudCwgWkZpZWxkIH0gZnJvbSAnbW1oZ2xvYmFsLXpjb3JlJztcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJhcHAtemlucHV0LWNvbnRhaW5lclwiLFxyXG4gIHRlbXBsYXRlVXJsOiBcIi4vemlucHV0LWNvbnRhaW5lci5jb21wb25lbnQuaHRtbFwiLFxyXG4gIHN0eWxlVXJsczogW1wiLi96aW5wdXQtY29udGFpbmVyLmNvbXBvbmVudC5zY3NzXCJdXHJcbn0pXHJcblxyXG5leHBvcnQgY2xhc3MgWklucHV0Q29udGFpbmVyQ29tcG9uZW50IGV4dGVuZHMgRmllbGRCYXNlIGltcGxlbWVudHMgWkNvbXBvbmVudCwgT25Jbml0IHtcclxuICBwdWJsaWMgaW5wdXRGaWVsZEFkZE9uID0geyB0b3A6IHt9LCBsZWZ0OiB7fSwgcmlnaHQ6IHt9LCBib3R0b206IHt9IH07XHJcblxyXG4gIHB1YmxpYyByZWFkb25seSB6dGV4dF90eXBlID0gWydudW1iZXInLCAnbnVtZXJpYycsICdkYXRlJywgJ2VtYWlsJywgJ3pwYXNzd29yZCcsICdzZWFyY2gnLCAndGVsJywgJ3RleHQnLCAndXJsJywgJ2N1cnJlbmN5J107XHJcbiAgcHVibGljIHJlYWRvbmx5IHpzZWxlY3RfdHlwZSA9IFsnenVpc2VsZWN0bXVsdGlwbGUnLCAnenVpc2VsZWN0bXVsdGlwbGVfYnV0dG9uJywgJ3NlbGVjdCddO1xyXG4gIHB1YmxpYyByZWFkb25seSB6ZGF0ZV90eXBlID0gWyd6ZGF0ZScsICd6dGltZScsICd6ZGF0ZXRpbWUnLCAnenNob3J0ZGF0ZScsICd6dWlkYXRldGltZScsICd6dWl0aW1lJ107XHJcbiAgcHVibGljIHJlYWRvbmx5IHNmZGF0ZXRpbWVwaWNrZXJfdHlwZSA9IFsnc2ZkYXRldGltZXBpY2tlciddO1xyXG4gIHB1YmxpYyByZWFkb25seSB6cG9zdHNlbGVjdGlucHV0X3R5cGUgPSBbJ3Bvc3Rfc2VsZWN0X2lucHV0JywgJ3ByZV9zZWxlY3RfaW5wdXQnLCAnenBob25lX2NvdW50cnljb2RlJ107XHJcbiAgcHVibGljIHJlYWRvbmx5IHpjaGVja2JveF90eXBlID0gWydjaGVja2JveCddO1xyXG4gIHB1YmxpYyByZWFkb25seSB6bnVtZXJpY190eXBlID0gWyd6bnVtZXJpYyddO1xyXG4gIHB1YmxpYyByZWFkb25seSB0ZXh0YXJlYV90eXBlID0gWyd0ZXh0YXJlYSddO1xyXG4gIHB1YmxpYyByZWFkb25seSB6dXBsb2FkX3R5cGUgPSBbJ3p1cGxvYWQnXTtcclxuICBwdWJsaWMgcmVhZG9ubHkgemltZ190eXBlID0gWyd6aW1nJ107XHJcbiAgcHVibGljIHJlYWRvbmx5IHp0ZXh0ZWRpdG9yX3R5cGUgPSBbJ3p0ZXh0ZWRpdG9yJ107XHJcbiAgcHVibGljIHJlYWRvbmx5IHpjb2xvcnBpY2tlcl90eXBlID0gWyd6Y29sb3JwaWNrZXInXTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgY29tcG9uZW50U2VydmljZTogWkNvbXBvbmVudFNlcnZpY2VcclxuICApIHtcclxuICAgIHN1cGVyKGNvbXBvbmVudFNlcnZpY2UpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICBzdXBlci5pbml0Q29tcG9uZW50KCkucGlwZShcclxuICAgICAgdGFwKCgpID0+IHtcclxuICAgICAgICB0aGlzLnNldEFkZE9uVmFsdWUoKTtcclxuICAgICAgICB0aGlzLmNvbXBvbmVudFNlcnZpY2Uuc2V0RWRpdE1vZGUodGhpcyk7XHJcbiAgICAgICAgdGhpcy5kYXRhLnpsYXlvdXQgPSB0aGlzLmRhdGEuemxheW91dCB8fCAodGhpcy5jb250YWluZXJGaWVsZCA/IHRoaXMuY29udGFpbmVyRmllbGQuemxheW91dCA6IFwicm93XCIpO1xyXG4gICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgIH0pKVxyXG4gICAgICAuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICB0aGlzLmNvbXBvbmVudFNlcnZpY2UuZGVjcmVtZW50Q29tcG9uZW50Q291bnRlckZvckZpZWxkKHRoaXMuZGF0YSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0Q2xhc3MoZm9ybTogRm9ybUdyb3VwLCBkYXRhOiBaRmllbGQpIHtcclxuICAgIHJldHVybiBgc3R5bGUke2RhdGEuRmllbGRMYXlvdXRUeXBlfSAke3N1cGVyLmdldENsYXNzKGZvcm0sIGRhdGEpfWA7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgdHJpZ2dlckNvbnRhaW5lckV2ZW50KGV2ZW50OiBaQ29tcG9uZW50T3V0cHV0RXZlbnQpIHtcclxuICAgIGlmIChldmVudCkge1xyXG4gICAgICBpZiAoZXZlbnQudHlwZSA9PT0gXCJzZXRBZGRPblZhbHVlXCIpIHtcclxuICAgICAgICB0aGlzLnNldEFkZE9uVmFsdWUoZXZlbnQuZGF0YSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0QWRkT25WYWx1ZShhZGRPbnM/OiBhbnkpIHtcclxuICAgIGNvbnN0IGlucHV0RmllbGRBZGRPbkdyb3VwVmFsdWUgPSBaQ29tcG9uZW50SGVscGVyLmdldEdyb3VwVmFsdWUoYWRkT25zIHx8IHRoaXMuZGF0YS5JbnB1dEZpZWxkQWRkT25zIGFzIGFueSwgdGhpcy5ncm91cCk7XHJcbiAgICBjb25zdCBhZGRPblZhbHVlID0gaW5wdXRGaWVsZEFkZE9uR3JvdXBWYWx1ZSB8fCBhZGRPbnMgfHwgdGhpcy5kYXRhLklucHV0RmllbGRBZGRPbnM7XHJcbiAgICBpZiAoYWRkT25WYWx1ZSAmJiBBcnJheS5pc0FycmF5KGFkZE9uVmFsdWUpKSB7XHJcbiAgICAgIGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKHRoaXMuaW5wdXRGaWVsZEFkZE9uKSkge1xyXG4gICAgICAgIHRoaXMuaW5wdXRGaWVsZEFkZE9uW2tleV0gPSBhZGRPblZhbHVlLmZpbmQoaSA9PiBpLlBvc2l0aW9uID09PSBrZXkpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJtb2JpbGUtaW5wdXQtY29udGFpbmVyIGUxdGFnLWNvbnRhaW5lci1zdHlsZVwiICpuZ0lmPVwiaXNNb2JpbGVTY3JlZW4oKSAmJiAhaXNMb2FkaW5nXCJcclxuICAgICBbc3R5bGVdPVwiY29tcG9uZW50UHJvcGVydGllcy5jb250YWluZXJTdHlsZS5zdHlsZVwiPlxyXG4gIDxpb24taXRlbSBbZm9ybUdyb3VwXT1cImZvcm1cIiBjbGFzcz1cImUxdGFnLWNvbnRhaW5lci1zdHlsZTFcIlxyXG4gICAgICAgICAgICAqbmdJZj1cIighIWNvbXBvbmVudFByb3BlcnRpZXMuaXNWaXNpYmxlRmllbGQgPyBncm91cFtjb21wb25lbnRQcm9wZXJ0aWVzLmlzVmlzaWJsZUZpZWxkXSA6IGNvbXBvbmVudFByb3BlcnRpZXMuaXNWaXNpYmxlKVwiXHJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cImdldElvbl9JbnZhbGlkQ2xhc3MoZm9ybSwgZGF0YSlcIiBbc3R5bGVdPVwiY29tcG9uZW50UHJvcGVydGllcy5jb250YWluZXJTdHlsZS5zdHlsZTFcIj5cclxuICAgIDxpb24tbGFiZWwgW2F0dHIuZm9yXT1cImRhdGEuVmFsdWVcIiBjbGFzcz1cImlucHV0LWxhYmVsIGUxdGFnLWNvbnRhaW5lci1zdHlsZTJcIlxyXG4gICAgICAgICAgICAgICAqbmdJZj1cImRhdGEuU2hvd0xhYmVsID09PSB1bmRlZmluZWQgfHwgZGF0YS5TaG93TGFiZWxcIlxyXG4gICAgICAgICAgICAgICBbcG9zaXRpb25dPVwiZGF0YS5MYWJlbFBvc2l0aW9uID8gZGF0YS5MYWJlbFBvc2l0aW9uIDogJ3N0YWNrZWQnXCJcclxuICAgICAgICAgICAgICAgW3N0eWxlXT1cImNvbXBvbmVudFByb3BlcnRpZXMuY29udGFpbmVyU3R5bGUuc3R5bGUyXCI+XHJcbiAgICAgIHt7Y29tcG9uZW50UHJvcGVydGllcy5sYWJlbH19XHJcbiAgICAgIDxpb24tdGV4dCAqbmdJZj1cIighIWNvbXBvbmVudFByb3BlcnRpZXMuaXNSZXF1aXJlZEZpZWxkID8gZ3JvdXBbY29tcG9uZW50UHJvcGVydGllcy5pc1JlcXVpcmVkRmllbGRdIDogY29tcG9uZW50UHJvcGVydGllcy5pc1JlcXVpcmVkKVwiXHJcbiAgICAgICAgICAgICAgICBjb2xvcj1cImRhbmdlclwiIGNsYXNzPVwicmVxdWlyZWQtaWNvblwiPio8L2lvbi10ZXh0PlxyXG4gICAgPC9pb24tbGFiZWw+XHJcbiAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtdmFsdWUtZmllbGRcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWZpZWxkcy1vcHRpb25zXCI+XHJcbiAgICAgICAgPGFwcC16dGV4dCAqbmdJZj1cInp0ZXh0X3R5cGUuaW5jbHVkZXMoZGF0YS5UeXBlKVwiIFtkYXRhXT1cImRhdGFcIiBbZ3JvdXBdPVwiZ3JvdXBcIiBbZm9ybV09XCJmb3JtXCJcclxuICAgICAgICAgICAgICAgICAgIFtjb250YWluZXJGaWVsZF09XCJjb250YWluZXJGaWVsZFwiIFtjb21wb25lbnRQcm9wZXJ0aWVzXT1cImNvbXBvbmVudFByb3BlcnRpZXNcIiBjbGFzcz1cImUxdGFnLWNvbnRhaW5lci1zdHlsZTVcIlxyXG4gICAgICAgICAgICAgICAgICAgW3N0eWxlXT1cImNvbXBvbmVudFByb3BlcnRpZXMuY29udGFpbmVyU3R5bGUuc3R5bGU1XCIgKHRyaWdnZXJDb250YWluZXJFdmVudCk9XCJ0cmlnZ2VyQ29udGFpbmVyRXZlbnQoJGV2ZW50KVwiPlxyXG4gICAgICAgIDwvYXBwLXp0ZXh0PlxyXG4gICAgICAgIDxhcHAtenNlbGVjdG11bHRpcGxlICpuZ0lmPVwienNlbGVjdF90eXBlLmluY2x1ZGVzKGRhdGEuVHlwZSlcIiBbZGF0YV09XCJkYXRhXCIgW2dyb3VwXT1cImdyb3VwXCIgW2Zvcm1dPVwiZm9ybVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbnRhaW5lckZpZWxkXT1cImNvbnRhaW5lckZpZWxkXCIgW2NvbXBvbmVudFByb3BlcnRpZXNdPVwiY29tcG9uZW50UHJvcGVydGllc1wiIGNsYXNzPVwiZTF0YWctY29udGFpbmVyLXN0eWxlNVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3N0eWxlXT1cImNvbXBvbmVudFByb3BlcnRpZXMuY29udGFpbmVyU3R5bGUuc3R5bGU1XCIgKHRyaWdnZXJDb250YWluZXJFdmVudCk9XCJ0cmlnZ2VyQ29udGFpbmVyRXZlbnQoJGV2ZW50KVwiPlxyXG4gICAgICAgIDwvYXBwLXpzZWxlY3RtdWx0aXBsZT5cclxuICAgICAgICA8YXBwLXpkYXRldGltZSAqbmdJZj1cInpkYXRlX3R5cGUuaW5jbHVkZXMoZGF0YS5UeXBlKVwiIFtkYXRhXT1cImRhdGFcIiBbZ3JvdXBdPVwiZ3JvdXBcIiBbZm9ybV09XCJmb3JtXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbY29udGFpbmVyRmllbGRdPVwiY29udGFpbmVyRmllbGRcIiBbY29tcG9uZW50UHJvcGVydGllc109XCJjb21wb25lbnRQcm9wZXJ0aWVzXCIgY2xhc3M9XCJlMXRhZy1jb250YWluZXItc3R5bGU1XCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbc3R5bGVdPVwiY29tcG9uZW50UHJvcGVydGllcy5jb250YWluZXJTdHlsZS5zdHlsZTVcIiAodHJpZ2dlckNvbnRhaW5lckV2ZW50KT1cInRyaWdnZXJDb250YWluZXJFdmVudCgkZXZlbnQpXCI+XHJcbiAgICAgICAgPC9hcHAtemRhdGV0aW1lPlxyXG4gICAgICAgIDxhcHAtc2ZkYXRldGltZXBpY2tlciAqbmdJZj1cInNmZGF0ZXRpbWVwaWNrZXJfdHlwZS5pbmNsdWRlcyhkYXRhLlR5cGUpXCIgW2RhdGFdPVwiZGF0YVwiIFtncm91cF09XCJncm91cFwiIFtmb3JtXT1cImZvcm1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFtjb250YWluZXJGaWVsZF09XCJjb250YWluZXJGaWVsZFwiIFtjb21wb25lbnRQcm9wZXJ0aWVzXT1cImNvbXBvbmVudFByb3BlcnRpZXNcIiBjbGFzcz1cImUxdGFnLWNvbnRhaW5lci1zdHlsZTVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFtzdHlsZV09XCJjb21wb25lbnRQcm9wZXJ0aWVzLmNvbnRhaW5lclN0eWxlLnN0eWxlNVwiICh0cmlnZ2VyQ29udGFpbmVyRXZlbnQpPVwidHJpZ2dlckNvbnRhaW5lckV2ZW50KCRldmVudClcIj5cclxuICAgICAgICA8L2FwcC1zZmRhdGV0aW1lcGlja2VyPlxyXG4gICAgICAgIDxhcHAtenBvc3RzZWxlY3RpbnB1dCAqbmdJZj1cInpwb3N0c2VsZWN0aW5wdXRfdHlwZS5pbmNsdWRlcyhkYXRhLlR5cGUpXCIgW2RhdGFdPVwiZGF0YVwiIFtncm91cF09XCJncm91cFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmb3JtXT1cImZvcm1cIiBbY29udGFpbmVyRmllbGRdPVwiY29udGFpbmVyRmllbGRcIiBbY29tcG9uZW50UHJvcGVydGllc109XCJjb21wb25lbnRQcm9wZXJ0aWVzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJlMXRhZy1jb250YWluZXItc3R5bGU1XCIgW3N0eWxlXT1cImNvbXBvbmVudFByb3BlcnRpZXMuY29udGFpbmVyU3R5bGUuc3R5bGU1XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHRyaWdnZXJDb250YWluZXJFdmVudCk9XCJ0cmlnZ2VyQ29udGFpbmVyRXZlbnQoJGV2ZW50KVwiPlxyXG4gICAgICAgIDwvYXBwLXpwb3N0c2VsZWN0aW5wdXQ+XHJcbiAgICAgICAgPGFwcC16Y2hlY2tib3ggKm5nSWY9XCJ6Y2hlY2tib3hfdHlwZS5pbmNsdWRlcyhkYXRhLlR5cGUpXCIgW2RhdGFdPVwiZGF0YVwiIFtncm91cF09XCJncm91cFwiIFtmb3JtXT1cImZvcm1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFtjb250YWluZXJGaWVsZF09XCJjb250YWluZXJGaWVsZFwiIFtjb21wb25lbnRQcm9wZXJ0aWVzXT1cImNvbXBvbmVudFByb3BlcnRpZXNcIiBjbGFzcz1cImUxdGFnLWNvbnRhaW5lci1zdHlsZTVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFtzdHlsZV09XCJjb21wb25lbnRQcm9wZXJ0aWVzLmNvbnRhaW5lclN0eWxlLnN0eWxlNVwiICh0cmlnZ2VyQ29udGFpbmVyRXZlbnQpPVwidHJpZ2dlckNvbnRhaW5lckV2ZW50KCRldmVudClcIj5cclxuICAgICAgICA8L2FwcC16Y2hlY2tib3g+XHJcbiAgICAgICAgPGFwcC16bnVtZXJpYyAqbmdJZj1cInpudW1lcmljX3R5cGUuaW5jbHVkZXMoZGF0YS5UeXBlKVwiIFtkYXRhXT1cImRhdGFcIiBbZ3JvdXBdPVwiZ3JvdXBcIiBbZm9ybV09XCJmb3JtXCJcclxuICAgICAgICAgICAgICAgICAgICAgIFtjb250YWluZXJGaWVsZF09XCJjb250YWluZXJGaWVsZFwiIFtjb21wb25lbnRQcm9wZXJ0aWVzXT1cImNvbXBvbmVudFByb3BlcnRpZXNcIiBjbGFzcz1cImUxdGFnLWNvbnRhaW5lci1zdHlsZTVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgW3N0eWxlXT1cImNvbXBvbmVudFByb3BlcnRpZXMuY29udGFpbmVyU3R5bGUuc3R5bGU1XCIgKHRyaWdnZXJDb250YWluZXJFdmVudCk9XCJ0cmlnZ2VyQ29udGFpbmVyRXZlbnQoJGV2ZW50KVwiPlxyXG4gICAgICAgIDwvYXBwLXpudW1lcmljPlxyXG4gICAgICAgIDxhcHAtenRleHRhcmVhICpuZ0lmPVwidGV4dGFyZWFfdHlwZS5pbmNsdWRlcyhkYXRhLlR5cGUpXCIgW2RhdGFdPVwiZGF0YVwiIFtncm91cF09XCJncm91cFwiIFtmb3JtXT1cImZvcm1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFtjb250YWluZXJGaWVsZF09XCJjb250YWluZXJGaWVsZFwiIFtjb21wb25lbnRQcm9wZXJ0aWVzXT1cImNvbXBvbmVudFByb3BlcnRpZXNcIiBjbGFzcz1cImUxdGFnLWNvbnRhaW5lci1zdHlsZTVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFtzdHlsZV09XCJjb21wb25lbnRQcm9wZXJ0aWVzLmNvbnRhaW5lclN0eWxlLnN0eWxlNVwiICh0cmlnZ2VyQ29udGFpbmVyRXZlbnQpPVwidHJpZ2dlckNvbnRhaW5lckV2ZW50KCRldmVudClcIj5cclxuICAgICAgICA8L2FwcC16dGV4dGFyZWE+XHJcbiAgICAgICAgPGFwcC16dXBsb2FkICpuZ0lmPVwienVwbG9hZF90eXBlLmluY2x1ZGVzKGRhdGEuVHlwZSlcIiBbZGF0YV09XCJkYXRhXCIgW2dyb3VwXT1cImdyb3VwXCIgW2Zvcm1dPVwiZm9ybVwiXHJcbiAgICAgICAgICAgICAgICAgICAgIFtjb250YWluZXJGaWVsZF09XCJjb250YWluZXJGaWVsZFwiIFtjb21wb25lbnRQcm9wZXJ0aWVzXT1cImNvbXBvbmVudFByb3BlcnRpZXNcIiBjbGFzcz1cImUxdGFnLWNvbnRhaW5lci1zdHlsZTVcIlxyXG4gICAgICAgICAgICAgICAgICAgICBbc3R5bGVdPVwiY29tcG9uZW50UHJvcGVydGllcy5jb250YWluZXJTdHlsZS5zdHlsZTVcIiAodHJpZ2dlckNvbnRhaW5lckV2ZW50KT1cInRyaWdnZXJDb250YWluZXJFdmVudCgkZXZlbnQpXCI+XHJcbiAgICAgICAgPC9hcHAtenVwbG9hZD5cclxuICAgICAgICA8YXBwLXppbWcgKm5nSWY9XCJ6aW1nX3R5cGUuaW5jbHVkZXMoZGF0YS5UeXBlKVwiIFtkYXRhXT1cImRhdGFcIiBbZ3JvdXBdPVwiZ3JvdXBcIiBbZm9ybV09XCJmb3JtXCJcclxuICAgICAgICAgICAgICAgICAgW2NvbnRhaW5lckZpZWxkXT1cImNvbnRhaW5lckZpZWxkXCIgW2NvbXBvbmVudFByb3BlcnRpZXNdPVwiY29tcG9uZW50UHJvcGVydGllc1wiIGNsYXNzPVwiZTF0YWctY29udGFpbmVyLXN0eWxlNVwiXHJcbiAgICAgICAgICAgICAgICAgIFtzdHlsZV09XCJjb21wb25lbnRQcm9wZXJ0aWVzLmNvbnRhaW5lclN0eWxlLnN0eWxlNVwiICh0cmlnZ2VyQ29udGFpbmVyRXZlbnQpPVwidHJpZ2dlckNvbnRhaW5lckV2ZW50KCRldmVudClcIj5cclxuICAgICAgICA8L2FwcC16aW1nPlxyXG4gICAgICAgIDxhcHAtenRleHRlZGl0b3IgKm5nSWY9XCJ6dGV4dGVkaXRvcl90eXBlLmluY2x1ZGVzKGRhdGEuVHlwZSlcIiBbZGF0YV09XCJkYXRhXCIgW2dyb3VwXT1cImdyb3VwXCIgW2Zvcm1dPVwiZm9ybVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbY29udGFpbmVyRmllbGRdPVwiY29udGFpbmVyRmllbGRcIiBbY29tcG9uZW50UHJvcGVydGllc109XCJjb21wb25lbnRQcm9wZXJ0aWVzXCIgY2xhc3M9XCJlMXRhZy1jb250YWluZXItc3R5bGU1XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgIFtzdHlsZV09XCJjb21wb25lbnRQcm9wZXJ0aWVzLmNvbnRhaW5lclN0eWxlLnN0eWxlNVwiICh0cmlnZ2VyQ29udGFpbmVyRXZlbnQpPVwidHJpZ2dlckNvbnRhaW5lckV2ZW50KCRldmVudClcIj5cclxuICAgICAgICA8L2FwcC16dGV4dGVkaXRvcj5cclxuICAgICAgICA8YXBwLXpjb2xvcnBpY2tlciAqbmdJZj1cInpjb2xvcnBpY2tlcl90eXBlLmluY2x1ZGVzKGRhdGEuVHlwZSlcIiBbZGF0YV09XCJkYXRhXCIgW2dyb3VwXT1cImdyb3VwXCIgW2Zvcm1dPVwiZm9ybVwiXHJcbiAgICAgICAgICAgICAgICAgICBbY29udGFpbmVyRmllbGRdPVwiY29udGFpbmVyRmllbGRcIiBbY29tcG9uZW50UHJvcGVydGllc109XCJjb21wb25lbnRQcm9wZXJ0aWVzXCIgY2xhc3M9XCJlMXRhZy1jb250YWluZXItc3R5bGU1XCJcclxuICAgICAgICAgICAgICAgICAgIFtzdHlsZV09XCJjb21wb25lbnRQcm9wZXJ0aWVzLmNvbnRhaW5lclN0eWxlLnN0eWxlNVwiICh0cmlnZ2VyQ29udGFpbmVyRXZlbnQpPVwidHJpZ2dlckNvbnRhaW5lckV2ZW50KCRldmVudClcIj5cclxuICAgICAgICA8L2FwcC16Y29sb3JwaWNrZXI+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8YXBwLWVycm9yIFtkYXRhXT1cImRhdGFcIiBbZ3JvdXBdPVwiZ3JvdXBcIiBbZm9ybV09XCJmb3JtXCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgIDwhLS0gPGFwcC1maWVsZC1zdWZmaXgtZWxlbWVudCBbZGF0YV09XCJkYXRhXCIgW2dyb3VwXT1cImdyb3VwXCIgW2Zvcm1dPVwiZm9ybVwiIFtjb250YWluZXJGaWVsZF09XCJjb250YWluZXJGaWVsZFwiXHJcbiAgICAgICAgW2NvbXBvbmVudFByb3BlcnRpZXNdPVwiY29tcG9uZW50UHJvcGVydGllc1wiPjwvYXBwLWZpZWxkLXN1ZmZpeC1lbGVtZW50PiAtLT5cclxuICAgIDwvZGl2PlxyXG4gIDwvaW9uLWl0ZW0+XHJcbjwvZGl2PlxyXG5cclxuPGRpdiBjbGFzcz1cImRlc2t0b3AtaW5wdXQtY29udGFpbmVyIGUxdGFnLWNvbnRhaW5lci1zdHlsZVwiIFtmb3JtR3JvdXBdPVwiZm9ybVwiXHJcbiAgICAgW3N0eWxlXT1cImNvbXBvbmVudFByb3BlcnRpZXMuY29udGFpbmVyU3R5bGUuc3R5bGVcIlxyXG4gICAgICpuZ0lmPVwiIWlzTW9iaWxlU2NyZWVuKCkgJiYgIWlzTG9hZGluZyAmJiAoISFjb21wb25lbnRQcm9wZXJ0aWVzLmlzVmlzaWJsZUZpZWxkID8gZ3JvdXBbY29tcG9uZW50UHJvcGVydGllcy5pc1Zpc2libGVGaWVsZF0gOiBjb21wb25lbnRQcm9wZXJ0aWVzLmlzVmlzaWJsZSlcIlxyXG4gICAgIFtuZ0NsYXNzXT1cImdldENsYXNzKGZvcm0sIGRhdGEpXCIgW2Z4TGF5b3V0XT1cImRhdGEuRmllbGRMYXlvdXRUeXBlICE9PSAxID8gJ2NvbHVtbicgOiAncm93J1wiXHJcbiAgICAgZnhMYXlvdXRBbGlnbj1cInNwYWNlLWJldHdlZW4gc3RyZXRjaFwiIFtjbGFzcy5lZGl0TW9kZV09XCIoZGF0YVsnX0VkaXRNb2RlJ10udmFsdWUpXCJcclxuICAgICAjemlucHV0Y29udGFpbmVyPlxyXG4gIDxrZW5kby1sYWJlbCBjbGFzcz1cImlucHV0LWxhYmVsIGUxdGFnLWNvbnRhaW5lci1zdHlsZTFcIiBbZm9yXT1cImRhdGEuTmFtZVwiIFt0ZXh0XT1cImNvbXBvbmVudFByb3BlcnRpZXMubGFiZWxcIlxyXG4gICAgICAgICAgICAgICAqbmdJZj1cImRhdGEuU2hvd0xhYmVsXCIgW3N0eWxlXT1cImNvbXBvbmVudFByb3BlcnRpZXMuY29udGFpbmVyU3R5bGUuc3R5bGUxXCJcclxuICAgICAgICAgICAgICAgW2Z4RmxleF09XCJjb21wb25lbnRQcm9wZXJ0aWVzLmxhYmVsRmxleExheW91dFNpemUuYWxsXCIgW2Z4RmxleC54c109XCJjb21wb25lbnRQcm9wZXJ0aWVzLmxhYmVsRmxleExheW91dFNpemUueHNcIlxyXG4gICAgICAgICAgICAgICBbZnhGbGV4LnNtXT1cImNvbXBvbmVudFByb3BlcnRpZXMubGFiZWxGbGV4TGF5b3V0U2l6ZS5zbVwiIFtmeEZsZXgubWRdPVwiY29tcG9uZW50UHJvcGVydGllcy5sYWJlbEZsZXhMYXlvdXRTaXplLm1kXCJcclxuICAgICAgICAgICAgICAgW2Z4RmxleC5sZ109XCJjb21wb25lbnRQcm9wZXJ0aWVzLmxhYmVsRmxleExheW91dFNpemUubGdcIiBbZnhGbGV4LnhsXT1cImNvbXBvbmVudFByb3BlcnRpZXMubGFiZWxGbGV4TGF5b3V0U2l6ZS54bFwiPlxyXG4gICAgPGtlbmRvLWxhYmVsICpuZ0lmPVwiZGF0YVsnX0VkaXRNb2RlJ10udmFsdWUgJiYgKCEhY29tcG9uZW50UHJvcGVydGllcy5pc1JlcXVpcmVkRmllbGQgPyBncm91cFtjb21wb25lbnRQcm9wZXJ0aWVzLmlzUmVxdWlyZWRGaWVsZF0gOiBjb21wb25lbnRQcm9wZXJ0aWVzLmlzUmVxdWlyZWQpXCJcclxuICAgICAgICAgICAgICAgICB0ZXh0PVwiKlwiIGNsYXNzPVwicmVxdWlyZWQtaWNvblwiPlxyXG4gICAgPC9rZW5kby1sYWJlbD5cclxuICAgIDxhcHAtaW5wdXQtZmllbGQtYWRkb25zIGNsYXNzPVwiYWRkb24tdG9wIGUxdGFnLWNvbnRhaW5lci1zdHlsZTdcIiBbcG9zaXRpb25dPVwiJ3RvcCdcIiBbYWRkT25dPVwiaW5wdXRGaWVsZEFkZE9uLnRvcFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGF0YV09XCJkYXRhXCIgW2dyb3VwXT1cImdyb3VwXCIgW2Zvcm1dPVwiZm9ybVwiIFtjb250YWluZXJGaWVsZF09XCJjb250YWluZXJGaWVsZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29tcG9uZW50UHJvcGVydGllc109XCJjb21wb25lbnRQcm9wZXJ0aWVzXCIgW3N0eWxlXT1cImNvbXBvbmVudFByb3BlcnRpZXMuY29udGFpbmVyU3R5bGUuc3R5bGU3XCI+XHJcbiAgICA8L2FwcC1pbnB1dC1maWVsZC1hZGRvbnM+XHJcbiAgPC9rZW5kby1sYWJlbD5cclxuICA8ZGl2IGNsYXNzPVwiaW5wdXQtdmFsdWUtY29udGFpbmVyIGUxdGFnLWNvbnRhaW5lci1zdHlsZTJcIiBbc3R5bGVdPVwiY29tcG9uZW50UHJvcGVydGllcy5jb250YWluZXJTdHlsZS5zdHlsZTJcIlxyXG4gICAgICAgW2Z4RmxleF09XCJjb21wb25lbnRQcm9wZXJ0aWVzLmZpZWxkRmxleExheW91dFNpemUuYWxsXCIgW2Z4RmxleC54c109XCJjb21wb25lbnRQcm9wZXJ0aWVzLmZpZWxkRmxleExheW91dFNpemUueHNcIlxyXG4gICAgICAgW2Z4RmxleC5zbV09XCJjb21wb25lbnRQcm9wZXJ0aWVzLmZpZWxkRmxleExheW91dFNpemUuc21cIiBbZnhGbGV4Lm1kXT1cImNvbXBvbmVudFByb3BlcnRpZXMuZmllbGRGbGV4TGF5b3V0U2l6ZS5tZFwiXHJcbiAgICAgICBbZnhGbGV4LmxnXT1cImNvbXBvbmVudFByb3BlcnRpZXMuZmllbGRGbGV4TGF5b3V0U2l6ZS5sZ1wiIFtmeEZsZXgueGxdPVwiY29tcG9uZW50UHJvcGVydGllcy5maWVsZEZsZXhMYXlvdXRTaXplLnhsXCI+XHJcbiAgICA8ZGl2ICpuZ0lmPVwiZGF0YVsnX0VkaXRNb2RlJ10udmFsdWVcIiBjbGFzcz1cImlucHV0LXZhbHVlLWZpZWxkIGUxdGFnLWNvbnRhaW5lci1zdHlsZTNcIlxyXG4gICAgICAgICBbc3R5bGVdPVwiY29tcG9uZW50UHJvcGVydGllcy5jb250YWluZXJTdHlsZS5zdHlsZTNcIj5cclxuICAgICAgPCEtLSBUT0RPOiBBZGQgMSBtb3JlIGxheWVyIGZvciB0aGlzIHN3aXRjaCBjYXNlLS0+XHJcbiAgICAgIDxhcHAtaW5wdXQtZmllbGQtYWRkb25zIGNsYXNzPVwiYWRkb24tbGVmdCBlMXRhZy1jb250YWluZXItc3R5bGU3XCIgW3Bvc2l0aW9uXT1cIidsZWZ0J1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthZGRPbl09XCJpbnB1dEZpZWxkQWRkT24ubGVmdFwiIFtkYXRhXT1cImRhdGFcIiBbZ3JvdXBdPVwiZ3JvdXBcIiBbZm9ybV09XCJmb3JtXCIgW2NvbnRhaW5lckZpZWxkXT1cImNvbnRhaW5lckZpZWxkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbXBvbmVudFByb3BlcnRpZXNdPVwiY29tcG9uZW50UHJvcGVydGllc1wiIFtzdHlsZV09XCJjb21wb25lbnRQcm9wZXJ0aWVzLmNvbnRhaW5lclN0eWxlLnN0eWxlN1wiPlxyXG4gICAgICA8L2FwcC1pbnB1dC1maWVsZC1hZGRvbnM+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1maWVsZHMtb3B0aW9ucyBlMXRhZy1jb250YWluZXItc3R5bGU0XCIgW3N0eWxlXT1cImNvbXBvbmVudFByb3BlcnRpZXMuY29udGFpbmVyU3R5bGUuc3R5bGU0XCI+XHJcbiAgICAgICAgPGFwcC16dGV4dCAqbmdJZj1cInp0ZXh0X3R5cGUuaW5jbHVkZXMoZGF0YS5UeXBlKVwiIFtkYXRhXT1cImRhdGFcIiBbZ3JvdXBdPVwiZ3JvdXBcIiBbZm9ybV09XCJmb3JtXCJcclxuICAgICAgICAgICAgICAgICAgIFtjb250YWluZXJGaWVsZF09XCJjb250YWluZXJGaWVsZFwiIFtjb21wb25lbnRQcm9wZXJ0aWVzXT1cImNvbXBvbmVudFByb3BlcnRpZXNcIiBjbGFzcz1cImUxdGFnLWNvbnRhaW5lci1zdHlsZTVcIlxyXG4gICAgICAgICAgICAgICAgICAgW3N0eWxlXT1cImNvbXBvbmVudFByb3BlcnRpZXMuY29udGFpbmVyU3R5bGUuc3R5bGU1XCIgKHRyaWdnZXJDb250YWluZXJFdmVudCk9XCJ0cmlnZ2VyQ29udGFpbmVyRXZlbnQoJGV2ZW50KVwiPlxyXG4gICAgICAgIDwvYXBwLXp0ZXh0PlxyXG4gICAgICAgIDxhcHAtenNlbGVjdG11bHRpcGxlICpuZ0lmPVwienNlbGVjdF90eXBlLmluY2x1ZGVzKGRhdGEuVHlwZSlcIiBbZGF0YV09XCJkYXRhXCIgW2dyb3VwXT1cImdyb3VwXCIgW2Zvcm1dPVwiZm9ybVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbnRhaW5lckZpZWxkXT1cImNvbnRhaW5lckZpZWxkXCIgW2NvbXBvbmVudFByb3BlcnRpZXNdPVwiY29tcG9uZW50UHJvcGVydGllc1wiIGNsYXNzPVwiZTF0YWctY29udGFpbmVyLXN0eWxlNVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3N0eWxlXT1cImNvbXBvbmVudFByb3BlcnRpZXMuY29udGFpbmVyU3R5bGUuc3R5bGU1XCIgKHRyaWdnZXJDb250YWluZXJFdmVudCk9XCJ0cmlnZ2VyQ29udGFpbmVyRXZlbnQoJGV2ZW50KVwiPlxyXG4gICAgICAgIDwvYXBwLXpzZWxlY3RtdWx0aXBsZT5cclxuICAgICAgICA8YXBwLXpkYXRldGltZSAqbmdJZj1cInpkYXRlX3R5cGUuaW5jbHVkZXMoZGF0YS5UeXBlKVwiIFtkYXRhXT1cImRhdGFcIiBbZ3JvdXBdPVwiZ3JvdXBcIiBbZm9ybV09XCJmb3JtXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbY29udGFpbmVyRmllbGRdPVwiY29udGFpbmVyRmllbGRcIiBbY29tcG9uZW50UHJvcGVydGllc109XCJjb21wb25lbnRQcm9wZXJ0aWVzXCIgY2xhc3M9XCJlMXRhZy1jb250YWluZXItc3R5bGU1XCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbc3R5bGVdPVwiY29tcG9uZW50UHJvcGVydGllcy5jb250YWluZXJTdHlsZS5zdHlsZTVcIiAodHJpZ2dlckNvbnRhaW5lckV2ZW50KT1cInRyaWdnZXJDb250YWluZXJFdmVudCgkZXZlbnQpXCI+XHJcbiAgICAgICAgPC9hcHAtemRhdGV0aW1lPiBcclxuICAgICAgICA8YXBwLXNmZGF0ZXRpbWVwaWNrZXIgKm5nSWY9XCJzZmRhdGV0aW1lcGlja2VyX3R5cGUuaW5jbHVkZXMoZGF0YS5UeXBlKVwiIFtkYXRhXT1cImRhdGFcIiBbZ3JvdXBdPVwiZ3JvdXBcIiBbZm9ybV09XCJmb3JtXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbY29udGFpbmVyRmllbGRdPVwiY29udGFpbmVyRmllbGRcIiBbY29tcG9uZW50UHJvcGVydGllc109XCJjb21wb25lbnRQcm9wZXJ0aWVzXCIgY2xhc3M9XCJlMXRhZy1jb250YWluZXItc3R5bGU1XCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbc3R5bGVdPVwiY29tcG9uZW50UHJvcGVydGllcy5jb250YWluZXJTdHlsZS5zdHlsZTVcIiAodHJpZ2dlckNvbnRhaW5lckV2ZW50KT1cInRyaWdnZXJDb250YWluZXJFdmVudCgkZXZlbnQpXCI+XHJcbiAgICAgICAgPC9hcHAtc2ZkYXRldGltZXBpY2tlcj5cclxuICAgICAgICA8YXBwLXpwb3N0c2VsZWN0aW5wdXQgKm5nSWY9XCJ6cG9zdHNlbGVjdGlucHV0X3R5cGUuaW5jbHVkZXMoZGF0YS5UeXBlKVwiIFtkYXRhXT1cImRhdGFcIiBbZ3JvdXBdPVwiZ3JvdXBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZm9ybV09XCJmb3JtXCIgW2NvbnRhaW5lckZpZWxkXT1cImNvbnRhaW5lckZpZWxkXCIgW2NvbXBvbmVudFByb3BlcnRpZXNdPVwiY29tcG9uZW50UHJvcGVydGllc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZTF0YWctY29udGFpbmVyLXN0eWxlNVwiIFtzdHlsZV09XCJjb21wb25lbnRQcm9wZXJ0aWVzLmNvbnRhaW5lclN0eWxlLnN0eWxlNVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh0cmlnZ2VyQ29udGFpbmVyRXZlbnQpPVwidHJpZ2dlckNvbnRhaW5lckV2ZW50KCRldmVudClcIj5cclxuICAgICAgICA8L2FwcC16cG9zdHNlbGVjdGlucHV0PlxyXG4gICAgICAgIDxhcHAtemNoZWNrYm94ICpuZ0lmPVwiemNoZWNrYm94X3R5cGUuaW5jbHVkZXMoZGF0YS5UeXBlKVwiIFtkYXRhXT1cImRhdGFcIiBbZ3JvdXBdPVwiZ3JvdXBcIiBbZm9ybV09XCJmb3JtXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbY29udGFpbmVyRmllbGRdPVwiY29udGFpbmVyRmllbGRcIiBbY29tcG9uZW50UHJvcGVydGllc109XCJjb21wb25lbnRQcm9wZXJ0aWVzXCIgY2xhc3M9XCJlMXRhZy1jb250YWluZXItc3R5bGU1XCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbc3R5bGVdPVwiY29tcG9uZW50UHJvcGVydGllcy5jb250YWluZXJTdHlsZS5zdHlsZTVcIiAodHJpZ2dlckNvbnRhaW5lckV2ZW50KT1cInRyaWdnZXJDb250YWluZXJFdmVudCgkZXZlbnQpXCI+XHJcbiAgICAgICAgPC9hcHAtemNoZWNrYm94PlxyXG4gICAgICAgIDxhcHAtem51bWVyaWMgKm5nSWY9XCJ6bnVtZXJpY190eXBlLmluY2x1ZGVzKGRhdGEuVHlwZSlcIiBbZGF0YV09XCJkYXRhXCIgW2dyb3VwXT1cImdyb3VwXCIgW2Zvcm1dPVwiZm9ybVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBbY29udGFpbmVyRmllbGRdPVwiY29udGFpbmVyRmllbGRcIiBbY29tcG9uZW50UHJvcGVydGllc109XCJjb21wb25lbnRQcm9wZXJ0aWVzXCIgY2xhc3M9XCJlMXRhZy1jb250YWluZXItc3R5bGU1XCJcclxuICAgICAgICAgICAgICAgICAgICAgIFtzdHlsZV09XCJjb21wb25lbnRQcm9wZXJ0aWVzLmNvbnRhaW5lclN0eWxlLnN0eWxlNVwiICh0cmlnZ2VyQ29udGFpbmVyRXZlbnQpPVwidHJpZ2dlckNvbnRhaW5lckV2ZW50KCRldmVudClcIj5cclxuICAgICAgICA8L2FwcC16bnVtZXJpYz5cclxuICAgICAgICA8YXBwLXp0ZXh0YXJlYSAqbmdJZj1cInRleHRhcmVhX3R5cGUuaW5jbHVkZXMoZGF0YS5UeXBlKVwiIFtkYXRhXT1cImRhdGFcIiBbZ3JvdXBdPVwiZ3JvdXBcIiBbZm9ybV09XCJmb3JtXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbY29udGFpbmVyRmllbGRdPVwiY29udGFpbmVyRmllbGRcIiBbY29tcG9uZW50UHJvcGVydGllc109XCJjb21wb25lbnRQcm9wZXJ0aWVzXCIgY2xhc3M9XCJlMXRhZy1jb250YWluZXItc3R5bGU1XCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbc3R5bGVdPVwiY29tcG9uZW50UHJvcGVydGllcy5jb250YWluZXJTdHlsZS5zdHlsZTVcIiAodHJpZ2dlckNvbnRhaW5lckV2ZW50KT1cInRyaWdnZXJDb250YWluZXJFdmVudCgkZXZlbnQpXCI+XHJcbiAgICAgICAgPC9hcHAtenRleHRhcmVhPlxyXG4gICAgICAgIDxhcHAtenVwbG9hZCAqbmdJZj1cInp1cGxvYWRfdHlwZS5pbmNsdWRlcyhkYXRhLlR5cGUpXCIgW2RhdGFdPVwiZGF0YVwiIFtncm91cF09XCJncm91cFwiIFtmb3JtXT1cImZvcm1cIlxyXG4gICAgICAgICAgICAgICAgICAgICBbY29udGFpbmVyRmllbGRdPVwiY29udGFpbmVyRmllbGRcIiBbY29tcG9uZW50UHJvcGVydGllc109XCJjb21wb25lbnRQcm9wZXJ0aWVzXCIgY2xhc3M9XCJlMXRhZy1jb250YWluZXItc3R5bGU1XCJcclxuICAgICAgICAgICAgICAgICAgICAgW3N0eWxlXT1cImNvbXBvbmVudFByb3BlcnRpZXMuY29udGFpbmVyU3R5bGUuc3R5bGU1XCIgKHRyaWdnZXJDb250YWluZXJFdmVudCk9XCJ0cmlnZ2VyQ29udGFpbmVyRXZlbnQoJGV2ZW50KVwiPlxyXG4gICAgICAgIDwvYXBwLXp1cGxvYWQ+XHJcbiAgICAgICAgPGFwcC16aW1nICpuZ0lmPVwiemltZ190eXBlLmluY2x1ZGVzKGRhdGEuVHlwZSlcIiBbZGF0YV09XCJkYXRhXCIgW2dyb3VwXT1cImdyb3VwXCIgW2Zvcm1dPVwiZm9ybVwiXHJcbiAgICAgICAgICAgICAgICAgIFtjb250YWluZXJGaWVsZF09XCJjb250YWluZXJGaWVsZFwiIFtjb21wb25lbnRQcm9wZXJ0aWVzXT1cImNvbXBvbmVudFByb3BlcnRpZXNcIiBjbGFzcz1cImUxdGFnLWNvbnRhaW5lci1zdHlsZTVcIlxyXG4gICAgICAgICAgICAgICAgICBbc3R5bGVdPVwiY29tcG9uZW50UHJvcGVydGllcy5jb250YWluZXJTdHlsZS5zdHlsZTVcIiAodHJpZ2dlckNvbnRhaW5lckV2ZW50KT1cInRyaWdnZXJDb250YWluZXJFdmVudCgkZXZlbnQpXCI+XHJcbiAgICAgICAgPC9hcHAtemltZz5cclxuICAgICAgICA8YXBwLXp0ZXh0ZWRpdG9yICpuZ0lmPVwienRleHRlZGl0b3JfdHlwZS5pbmNsdWRlcyhkYXRhLlR5cGUpXCIgW2RhdGFdPVwiZGF0YVwiIFtncm91cF09XCJncm91cFwiIFtmb3JtXT1cImZvcm1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgW2NvbnRhaW5lckZpZWxkXT1cImNvbnRhaW5lckZpZWxkXCIgW2NvbXBvbmVudFByb3BlcnRpZXNdPVwiY29tcG9uZW50UHJvcGVydGllc1wiIGNsYXNzPVwiZTF0YWctY29udGFpbmVyLXN0eWxlNVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbc3R5bGVdPVwiY29tcG9uZW50UHJvcGVydGllcy5jb250YWluZXJTdHlsZS5zdHlsZTVcIiAodHJpZ2dlckNvbnRhaW5lckV2ZW50KT1cInRyaWdnZXJDb250YWluZXJFdmVudCgkZXZlbnQpXCI+XHJcbiAgICAgICAgPC9hcHAtenRleHRlZGl0b3I+XHJcbiAgICAgICAgPGFwcC16Y29sb3JwaWNrZXIgKm5nSWY9XCJ6Y29sb3JwaWNrZXJfdHlwZS5pbmNsdWRlcyhkYXRhLlR5cGUpXCIgW2RhdGFdPVwiZGF0YVwiIFtncm91cF09XCJncm91cFwiIFtmb3JtXT1cImZvcm1cIlxyXG4gICAgICAgICAgICAgICAgICAgW2NvbnRhaW5lckZpZWxkXT1cImNvbnRhaW5lckZpZWxkXCIgW2NvbXBvbmVudFByb3BlcnRpZXNdPVwiY29tcG9uZW50UHJvcGVydGllc1wiIGNsYXNzPVwiZTF0YWctY29udGFpbmVyLXN0eWxlNVwiXHJcbiAgICAgICAgICAgICAgICAgICBbc3R5bGVdPVwiY29tcG9uZW50UHJvcGVydGllcy5jb250YWluZXJTdHlsZS5zdHlsZTVcIiAodHJpZ2dlckNvbnRhaW5lckV2ZW50KT1cInRyaWdnZXJDb250YWluZXJFdmVudCgkZXZlbnQpXCI+XHJcbiAgICAgICAgPC9hcHAtemNvbG9ycGlja2VyPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGFwcC1pbnB1dC1maWVsZC1hZGRvbnMgY2xhc3M9XCJhZGRvbi1yaWdodCBlMXRhZy1jb250YWluZXItc3R5bGU3XCIgW3Bvc2l0aW9uXT1cIidyaWdodCdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYWRkT25dPVwiaW5wdXRGaWVsZEFkZE9uLnJpZ2h0XCIgW2RhdGFdPVwiZGF0YVwiIFtncm91cF09XCJncm91cFwiIFtmb3JtXT1cImZvcm1cIiBbY29udGFpbmVyRmllbGRdPVwiY29udGFpbmVyRmllbGRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29tcG9uZW50UHJvcGVydGllc109XCJjb21wb25lbnRQcm9wZXJ0aWVzXCIgW3N0eWxlXT1cImNvbXBvbmVudFByb3BlcnRpZXMuY29udGFpbmVyU3R5bGUuc3R5bGU3XCI+XHJcbiAgICAgIDwvYXBwLWlucHV0LWZpZWxkLWFkZG9ucz5cclxuICAgIDwvZGl2PlxyXG4gICAgPGFwcC1pbnB1dC1maWVsZC1hZGRvbnMgY2xhc3M9XCJhZGRvbi1ib3R0b20gZTF0YWctY29udGFpbmVyLXN0eWxlN1wiIFtwb3NpdGlvbl09XCInYm90dG9tJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYWRkT25dPVwiaW5wdXRGaWVsZEFkZE9uLmJvdHRvbVwiIFtkYXRhXT1cImRhdGFcIiBbZ3JvdXBdPVwiZ3JvdXBcIiBbZm9ybV09XCJmb3JtXCIgW2NvbnRhaW5lckZpZWxkXT1cImNvbnRhaW5lckZpZWxkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb21wb25lbnRQcm9wZXJ0aWVzXT1cImNvbXBvbmVudFByb3BlcnRpZXNcIiBbc3R5bGVdPVwiY29tcG9uZW50UHJvcGVydGllcy5jb250YWluZXJTdHlsZS5zdHlsZTdcIj5cclxuICAgIDwvYXBwLWlucHV0LWZpZWxkLWFkZG9ucz5cclxuICAgIDxhcHAtZXJyb3IgW2RhdGFdPVwiZGF0YVwiIFtncm91cF09XCJncm91cFwiIFtmb3JtXT1cImZvcm1cIj48L2FwcC1lcnJvcj5cclxuICAgIDxrZW5kby1sYWJlbCBjbGFzcz1cImlucHV0LXZhbHVlIGUxdGFnLWNvbnRhaW5lci1zdHlsZTZcIiAqbmdJZj1cIiEoZGF0YVsnX0VkaXRNb2RlJ10udmFsdWUpXCJcclxuICAgICAgICAgICAgICAgICBbc3R5bGVdPVwiY29tcG9uZW50UHJvcGVydGllcy5jb250YWluZXJTdHlsZS5zdHlsZTZcIlxyXG4gICAgICAgICAgICAgICAgIFt0ZXh0XT1cImdyb3VwLnpNb2RlbFtkYXRhLlZhbHVlXSB8IGlucHV0VGV4dCA6IGRhdGE6IGdyb3VwIHwgYXN5bmNcIj48L2tlbmRvLWxhYmVsPlxyXG4gIDwvZGl2PlxyXG4gIDxhcHAtY29udGV4dC1tZW51IFtkYXRhXT1cImRhdGFcIiBbZ3JvdXBdPVwiZ3JvdXBcIiBbZm9ybV09XCJmb3JtXCIgW3RhcmdldF09XCJ6aW5wdXRjb250YWluZXJcIj48L2FwcC1jb250ZXh0LW1lbnU+XHJcbjwvZGl2PlxyXG4iXX0=
|
|
@@ -13,6 +13,7 @@ export class ZInputParser {
|
|
|
13
13
|
this.webApiService = webApiService;
|
|
14
14
|
this.componentService = componentService;
|
|
15
15
|
this.zdate_type = ['zdate', 'ztime', 'zdatetime', 'zshortdate', 'zuidatetime', 'zuitime'];
|
|
16
|
+
this.sfdatetimepicker_type = ['sfdatetimepicker'];
|
|
16
17
|
this.zcheckbox_type = ['checkbox'];
|
|
17
18
|
this.zselect_type = ['zuiselectmultiple', 'zuiselectmultiple_button', 'select'];
|
|
18
19
|
this.nullValueDefaultDisplayText = "-";
|
|
@@ -22,7 +23,7 @@ export class ZInputParser {
|
|
|
22
23
|
if (!value) {
|
|
23
24
|
return of(this.nullValueDefaultDisplayText);
|
|
24
25
|
}
|
|
25
|
-
if (this.zdate_type.includes(data.Type)) {
|
|
26
|
+
if (this.zdate_type.includes(data.Type) || this.sfdatetimepicker_type.includes(data.Type)) {
|
|
26
27
|
return of(this.transformTimeValue(value, data));
|
|
27
28
|
}
|
|
28
29
|
else if (this.zcheckbox_type.includes(data.Type)) {
|
|
@@ -57,7 +58,7 @@ export class ZInputParser {
|
|
|
57
58
|
if (dateType === "ztime") {
|
|
58
59
|
return "hh:mm";
|
|
59
60
|
}
|
|
60
|
-
else if (dateType === "zuidatetime") {
|
|
61
|
+
else if (dateType === "zuidatetime" || dateType === "sfdatetimepicker") {
|
|
61
62
|
return "dd-MMM-yyyy h:mm a";
|
|
62
63
|
}
|
|
63
64
|
else if (dateType === "zuitime") {
|
|
@@ -128,4 +129,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.3", ngImpor
|
|
|
128
129
|
pure: true,
|
|
129
130
|
}]
|
|
130
131
|
}], ctorParameters: function () { return [{ type: i1.ResourceApiService }, { type: i1.CacheService }, { type: i1.WebApiService }, { type: i2.ZComponentService }]; } });
|
|
131
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiemlucHV0LWNvbnRhaW5lci5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvemlucHV0LWNvbnRhaW5lci96aW5wdXQtY29udGFpbmVyLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3BELE9BQU8sRUFBbUQsZ0JBQWdCLEVBQVUsTUFBTSxFQUFpQyxvQkFBb0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pLLE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7O0FBT3JDLE1BQU0sT0FBTyxZQUFZO0lBTXZCLFlBQ1Usa0JBQXNDLEVBQ3RDLFlBQTBCLEVBQzFCLGFBQTRCLEVBQzVCLGdCQUFtQztRQUhuQyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQ3RDLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzVCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBbUI7UUFUNUIsZUFBVSxHQUFHLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLGFBQWEsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUNyRixtQkFBYyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDOUIsaUJBQVksR0FBRyxDQUFDLG1CQUFtQixFQUFFLDBCQUEwQixFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ3BGLGdDQUEyQixHQUFHLEdBQUcsQ0FBQztJQVExQyxDQUFDO0lBRUQsU0FBUyxDQUFDLEtBQVUsRUFBRSxJQUFZLEVBQUUsS0FBYTtRQUMvQyxJ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RXJHLE9BQU8sZUFBZSxDQUFDO2dCQUNyQixJQUFJO2dCQUNKLElBQUk7Z0JBQ0osS0FBSztnQkFDTCxjQUFjO2dCQUNkLGFBQWE7YUFDbUIsQ0FBQyxDQUFDO1NBQ3JDO2FBQU0sSUFBSSxhQUFhLEVBQUU7WUFDeEIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7U0FDNUI7YUFBTTtZQUNMLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDdkM7SUFDSCxDQUFDOzt5R0E1SVUsWUFBWTt1R0FBWixZQUFZOzJGQUFaLFlBQVk7a0JBSnhCLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLFdBQVc7b0JBQ2pCLElBQUksRUFBRSxJQUFJO2lCQUNYIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZm9ybWF0RGF0ZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcclxuaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IENhY2hlU2VydmljZSwgUmVzb3VyY2VBcGlTZXJ2aWNlLCBXZWJBcGlTZXJ2aWNlLCBaQ29tcG9uZW50SGVscGVyLCBaRmllbGQsIFpHcm91cCwgWlNlbGVjdE11bHRpcGxlVGVtcGxhdGVQYXJhbXMsIFpTZWxlY3RQb3N0QXBpUGFyYW1zIH0gZnJvbSBcIm1taGdsb2JhbC16Y29yZVwiO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IG1hcCB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xyXG5pbXBvcnQgeyBaQ29tcG9uZW50U2VydmljZSB9IGZyb20gXCIuLi9zZXJ2aWNlcy96Y29tcG9uZW50LnNlcnZpY2VcIjtcclxuXHJcbkBQaXBlKHtcclxuICBuYW1lOiBcImlucHV0VGV4dFwiLFxyXG4gIHB1cmU6IHRydWUsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBaSW5wdXRQYXJzZXIgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuICBwcml2YXRlIHJlYWRvbmx5IHpkYXRlX3R5cGUgPSBbJ3pkYXRlJywgJ3p0aW1lJywgJ3pkYXRldGltZScsICd6c2hvcnRkYXRlJywgJ3p1aWRhdGV0aW1lJywgJ3p1aXRpbWUnXTtcclxuICBwcml2YXRlIHJlYWRvbmx5IHpjaGVja2JveF90eXBlID0gWydjaGVja2JveCddO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgenNlbGVjdF90eXBlID0gWyd6dWlzZWxlY3RtdWx0aXBsZScsICd6dWlzZWxlY3RtdWx0aXBsZV9idXR0b24nLCAnc2VsZWN0J107XHJcbiAgcHJpdmF0ZSBudWxsVmFsdWVEZWZhdWx0RGlzcGxheVRleHQgPSBcIi1cIjtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHJlc291cmNlQXBpU2VydmljZTogUmVzb3VyY2VBcGlTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBjYWNoZVNlcnZpY2U6IENhY2hlU2VydmljZSxcclxuICAgIHByaXZhdGUgd2ViQXBpU2VydmljZTogV2ViQXBpU2VydmljZSxcclxuICAgIHByaXZhdGUgY29tcG9uZW50U2VydmljZTogWkNvbXBvbmVudFNlcnZpY2VcclxuICApIHtcclxuICB9XHJcblxyXG4gIHRyYW5zZm9ybSh2YWx1ZTogYW55LCBkYXRhOiBaRmllbGQsIGdyb3VwOiBaR3JvdXApOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xyXG4gICAgdGhpcy5udWxsVmFsdWVEZWZhdWx0RGlzcGxheVRleHQgPSBkYXRhLk51bGxWYWx1ZURpc3BsYXlUZXh0ICE9IHVuZGVmaW5lZCA/IGRhdGEuTnVsbFZhbHVlRGlzcGxheVRleHQgOiAnLSc7XHJcbiAgICBpZiAoIXZhbHVlKSB7XHJcbiAgICAgIHJldHVybiBvZih0aGlzLm51bGxWYWx1ZURlZmF1bHREaXNwbGF5VGV4dCk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuemRhdGVfdHlwZS5pbmNsdWRlcyhkYXRhLlR5cGUpKSB7XHJcbiAgICAgIHJldHVybiBvZih0aGlzLnRyYW5zZm9ybVRpbWVWYWx1ZSh2YWx1ZSwgZGF0YSkpO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAodGhpcy56Y2hlY2tib3hfdHlwZS5pbmNsdWRlcyhkYXRhLlR5cGUpKSB7XHJcbiAgICAgIHJldHVybiBvZih2YWx1ZSA/IFwiWWVzXCIgOiBcIk5vXCIpO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAodGhpcy56c2VsZWN0X3R5cGUuaW5jbHVkZXMoZGF0YS5UeXBlKSkge1xyXG4gICAgICBjb25zdCBzZWxlY3RGaWVsZCA9IHsgZGF0YToge30sIGl0ZW1EYXRhRmllbGQ6ICcnLCBpdGVtVGV4dEZpZWxkOiAnJywgaXRlbVZhbHVlRmllbGQ6ICcnIH07XHJcbiAgICAgIFpDb21wb25lbnRIZWxwZXIuc2V0U2VsZWN0TXVsdGlwbGVUZXh0VmFsdWUoZGF0YS5TZWxlY3RPcHRpb25zLCBzZWxlY3RGaWVsZCk7XHJcbiAgICAgIGdyb3VwLl9kZWJ1ZyA9IGdyb3VwLl9kZWJ1ZyB8fCBuZXcgWkdyb3VwKCk7XHJcbiAgICAgIHJldHVybiB0aGlzLmxvYWRaRGF0YShkYXRhLCBncm91cCwgc2VsZWN0RmllbGQpLnBpcGUoXHJcbiAgICAgICAgbWFwKHJlcyA9PiB7XHJcbiAgICAgICAgICBjb25zdCBvcHRpb25EYXRhID0gcmVzLmRhdGFTZXQgfHwgcmVzIHx8IFtdO1xyXG4gICAgICAgICAgY29uc3Qgb3B0aW9uVmFsdWUgPSBvcHRpb25EYXRhID8gb3B0aW9uRGF0YS5maW5kKG8gPT4gb1tzZWxlY3RGaWVsZC5pdGVtVmFsdWVGaWVsZF0gPT0gdmFsdWUpIDogbnVsbDtcclxuICAgICAgICAgIGlmIChvcHRpb25WYWx1ZSkge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5nZXRJdGVtVGVtcGxhdGUob3B0aW9uVmFsdWUsIGRhdGEsIGdyb3VwLCBzZWxlY3RGaWVsZC5pdGVtVmFsdWVGaWVsZCwgc2VsZWN0RmllbGQuaXRlbVRleHRGaWVsZCkgfHwgdGhpcy5udWxsVmFsdWVEZWZhdWx0RGlzcGxheVRleHQ7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMubnVsbFZhbHVlRGVmYXVsdERpc3BsYXlUZXh0O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gb2YodmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSB0cmFuc2Zvcm1UaW1lVmFsdWUodmFsdWU6IGFueSwgZGF0YTogWkZpZWxkKTogc3RyaW5nIHtcclxuICAgIGxldCB2YWwgPSB2YWx1ZTtcclxuICAgIGlmIChkYXRhLklzSWdub3JlVGltZVpvbmUpIHtcclxuICAgICAgdmFsID0gdGhpcy5jb21wb25lbnRTZXJ2aWNlLmxvY2FsaXplRGF0ZVRpbWVCeUlnbm9yaW5nVGltZVpvbmUodmFsdWUsIGRhdGEpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZvcm1hdERhdGUodmFsLCB0aGlzLmdldERhdGVUaW1lRm9ybWF0KGRhdGEuVHlwZSksICdlbl9VUycpIHx8IHRoaXMubnVsbFZhbHVlRGVmYXVsdERpc3BsYXlUZXh0O1xyXG4gIH1cclxuXHJcbiAgLy8gVG8gcmVmYWN0b3JcclxuICBwcml2YXRlIGdldERhdGVUaW1lRm9ybWF0KGRhdGVUeXBlOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgaWYgKGRhdGVUeXBlID09PSBcInp0aW1lXCIpIHtcclxuICAgICAgcmV0dXJuIFwiaGg6bW1cIjtcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGRhdGVUeXBlID09PSBcInp1aWRhdGV0aW1lXCIpIHtcclxuICAgICAgcmV0dXJuIFwiZGQtTU1NLXl5eXkgaDptbSBhXCI7XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmIChkYXRlVHlwZSA9PT0gXCJ6dWl0aW1lXCIpIHtcclxuICAgICAgcmV0dXJuIFwiaGg6bW06c3NcIjtcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGRhdGVUeXBlID09PSBcInpzaG9ydGRhdGVcIikge1xyXG4gICAgICByZXR1cm4gXCJNTU0teXl5eVwiO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIFwiZGQtTU1NLXl5eXlcIjtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgbG9hZFpEYXRhKGRhdGE6IFpGaWVsZCwgZ3JvdXA6IFpHcm91cCwgc2VsZWN0RmllbGQ6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICBpZiAoZGF0YS5PcHRpb25SZXNvdXJjZVVSTCkge1xyXG4gICAgICBjb25zdCByZXNvdXJjZVVybCA9IHRoaXMucmVzb3VyY2VBcGlTZXJ2aWNlLmdldFVSTChcclxuICAgICAgICBkYXRhLk9wdGlvblJlc291cmNlVVJMXHJcbiAgICAgICk7XHJcblxyXG4gICAgICBjb25zdCBmaWx0ZXJQYXJhbSA9IG5ldyBaU2VsZWN0UG9zdEFwaVBhcmFtcygpO1xyXG4gICAgICBmaWx0ZXJQYXJhbS5zb3J0cyA9IGRhdGEuT3B0aW9uU29ydDtcclxuICAgICAgZmlsdGVyUGFyYW0uY29sdW1ucyA9IGRhdGEuT3B0aW9uQ29sdW1ucztcclxuICAgICAgZmlsdGVyUGFyYW0uZmlsdGVycyA9IGRhdGEuT3B0aW9uRmlsdGVyO1xyXG5cclxuICAgICAgcmV0dXJuIFpDb21wb25lbnRIZWxwZXIuZ2V0RGF0YU9wdGlvbnMoXHJcbiAgICAgICAgZGF0YS5PcHRpb25OYW1lLFxyXG4gICAgICAgIGZpbHRlclBhcmFtLFxyXG4gICAgICAgIGdyb3VwLFxyXG4gICAgICAgIHJlc291cmNlVXJsLFxyXG4gICAgICAgIHRoaXMuY2FjaGVTZXJ2aWNlLFxyXG4gICAgICAgIHRoaXMud2ViQXBpU2VydmljZSxcclxuICAgICAgICBmYWxzZVxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHJldHVybiBvZih0aGlzLmdldEl0ZW1zRGF0YShkYXRhLCBncm91cCwgc2VsZWN0RmllbGQuaXRlbURhdGFGaWVsZCkpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRJdGVtc0RhdGEoZGF0YSwgZ3JvdXAsIGl0ZW1EYXRhRmllbGQpIHtcclxuICAgIGNvbnN0IG9wdGlvbk5hbWUgPSBkYXRhLk9wdGlvbk5hbWUgfHwgaXRlbURhdGFGaWVsZCB8fCAnZ3JvdXAuekRhdGEuJyArIGRhdGEuTmFtZTtcclxuICAgIGlmIChBcnJheS5pc0FycmF5KGRhdGEuU2VsZWN0T3B0aW9ucykgJiYgIWdyb3VwLnpEYXRhW29wdGlvbk5hbWUuc2xpY2UoMTIpXSkge1xyXG4gICAgICBncm91cC56RGF0YVtvcHRpb25OYW1lLnNsaWNlKDEyKV0gPSBkYXRhLlNlbGVjdE9wdGlvbnM7XHJcbiAgICAgIGl0ZW1EYXRhRmllbGQgPSBvcHRpb25OYW1lO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChvcHRpb25OYW1lLnN0YXJ0c1dpdGgoJ3pEYXRhLicpKSB7XHJcbiAgICAgIHJldHVybiBncm91cC56RGF0YVtvcHRpb25OYW1lLnNsaWNlKDYpXSB8fCBbXTtcclxuICAgIH1cclxuICAgIGlmIChvcHRpb25OYW1lLnN0YXJ0c1dpdGgoJ2dyb3VwLnpEYXRhLicpKSB7XHJcbiAgICAgIHJldHVybiBncm91cC56RGF0YVtvcHRpb25OYW1lLnNsaWNlKDEyKV0gfHwgW107XHJcbiAgICB9XHJcbiAgICBpZiAob3B0aW9uTmFtZS5zdGFydHNXaXRoKCdncm91cC4nKSkge1xyXG4gICAgICByZXR1cm4gZ3JvdXBbb3B0aW9uTmFtZS5zbGljZSg2KV0gfHwgW107XHJcbiAgICB9XHJcbiAgICBpZiAob3B0aW9uTmFtZSkge1xyXG4gICAgICByZXR1cm4gZ3JvdXBbb3B0aW9uTmFtZV0gfHwgW107XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldEl0ZW1UZW1wbGF0ZShcclxuICAgIGl0ZW06IGFueSxcclxuICAgIGRhdGE6IGFueSxcclxuICAgIGdyb3VwOiBhbnksXHJcbiAgICBpdGVtVmFsdWVGaWVsZDogc3RyaW5nLFxyXG4gICAgaXRlbVRleHRGaWVsZDogc3RyaW5nXHJcbiAgKSB7XHJcbiAgICBpZiAoZGF0YS5JdGVtVGVtcGxhdGUpIHtcclxuICAgICAgY29uc3QgZ2V0VGVtcGxhdGVGdW5jID0gWkNvbXBvbmVudEhlbHBlci5nZXRHcm91cEV2YWxWYWx1ZS5jYWxsKHsgZ3JvdXA6IGdyb3VwIH0sIGRhdGEuSXRlbVRlbXBsYXRlKTtcclxuXHJcbiAgICAgIHJldHVybiBnZXRUZW1wbGF0ZUZ1bmMoe1xyXG4gICAgICAgIGl0ZW0sXHJcbiAgICAgICAgZGF0YSxcclxuICAgICAgICBncm91cCxcclxuICAgICAgICBpdGVtVmFsdWVGaWVsZCxcclxuICAgICAgICBpdGVtVGV4dEZpZWxkXHJcbiAgICAgIH0gYXMgWlNlbGVjdE11bHRpcGxlVGVtcGxhdGVQYXJhbXMpO1xyXG4gICAgfSBlbHNlIGlmIChpdGVtVGV4dEZpZWxkKSB7XHJcbiAgICAgIHJldHVybiBpdGVtW2l0ZW1UZXh0RmllbGRdO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIE9iamVjdC52YWx1ZXMoaXRlbSkuam9pbihcIiwgXCIpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
|
|
132
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiemlucHV0LWNvbnRhaW5lci5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvemlucHV0LWNvbnRhaW5lci96aW5wdXQtY29udGFpbmVyLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3BELE9BQU8sRUFBbUQsZ0JBQWdCLEVBQVUsTUFBTSxFQUFpQyxvQkFBb0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pLLE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7O0FBT3JDLE1BQU0sT0FBTyxZQUFZO0lBT3ZCLFlBQ1Usa0JBQXNDLEVBQ3RDLFlBQTBCLEVBQzFCLGFBQTRCLEVBQzVCLGdCQUFtQztRQUhuQyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQ3RDLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzVCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBbUI7UUFWNUIsZUFBVSxHQUFHLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLGFBQWEsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUN0RiwwQkFBcUIsR0FBRyxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDNUMsbUJBQWMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzlCLGlCQUFZLEdBQUcsQ0FBQyxtQkFBbUIsRUFBRSwwQkFBMEIsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUNwRixnQ0FBMkIsR0FBRyxHQUFHLENBQUM7SUFRMUMsQ0FBQztJQUVELFNB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WSxFQUFFO1lBQ3JCLE1BQU0sZUFBZSxHQUFHLGdCQUFnQixDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7WUFFckcsT0FBTyxlQUFlLENBQUM7Z0JBQ3JCLElBQUk7Z0JBQ0osSUFBSTtnQkFDSixLQUFLO2dCQUNMLGNBQWM7Z0JBQ2QsYUFBYTthQUNtQixDQUFDLENBQUM7U0FDckM7YUFBTSxJQUFJLGFBQWEsRUFBRTtZQUN4QixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztTQUM1QjthQUFNO1lBQ0wsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUN2QztJQUNILENBQUM7O3lHQTdJVSxZQUFZO3VHQUFaLFlBQVk7MkZBQVosWUFBWTtrQkFKeEIsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsV0FBVztvQkFDakIsSUFBSSxFQUFFLElBQUk7aUJBQ1giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBmb3JtYXREYXRlIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xyXG5pbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgQ2FjaGVTZXJ2aWNlLCBSZXNvdXJjZUFwaVNlcnZpY2UsIFdlYkFwaVNlcnZpY2UsIFpDb21wb25lbnRIZWxwZXIsIFpGaWVsZCwgWkdyb3VwLCBaU2VsZWN0TXVsdGlwbGVUZW1wbGF0ZVBhcmFtcywgWlNlbGVjdFBvc3RBcGlQYXJhbXMgfSBmcm9tIFwibW1oZ2xvYmFsLXpjb3JlXCI7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mIH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHsgbWFwIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XHJcbmltcG9ydCB7IFpDb21wb25lbnRTZXJ2aWNlIH0gZnJvbSBcIi4uL3NlcnZpY2VzL3pjb21wb25lbnQuc2VydmljZVwiO1xyXG5cclxuQFBpcGUoe1xyXG4gIG5hbWU6IFwiaW5wdXRUZXh0XCIsXHJcbiAgcHVyZTogdHJ1ZSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFpJbnB1dFBhcnNlciBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgemRhdGVfdHlwZSA9IFsnemRhdGUnLCAnenRpbWUnLCAnemRhdGV0aW1lJywgJ3pzaG9ydGRhdGUnLCAnenVpZGF0ZXRpbWUnLCAnenVpdGltZSddO1xyXG4gIHB1YmxpYyByZWFkb25seSBzZmRhdGV0aW1lcGlja2VyX3R5cGUgPSBbJ3NmZGF0ZXRpbWVwaWNrZXInXTtcclxuICBwcml2YXRlIHJlYWRvbmx5IHpjaGVja2JveF90eXBlID0gWydjaGVja2JveCddO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgenNlbGVjdF90eXBlID0gWyd6dWlzZWxlY3RtdWx0aXBsZScsICd6dWlzZWxlY3RtdWx0aXBsZV9idXR0b24nLCAnc2VsZWN0J107XHJcbiAgcHJpdmF0ZSBudWxsVmFsdWVEZWZhdWx0RGlzcGxheVRleHQgPSBcIi1cIjtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHJlc291cmNlQXBpU2VydmljZTogUmVzb3VyY2VBcGlTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBjYWNoZVNlcnZpY2U6IENhY2hlU2VydmljZSxcclxuICAgIHByaXZhdGUgd2ViQXBpU2VydmljZTogV2ViQXBpU2VydmljZSxcclxuICAgIHByaXZhdGUgY29tcG9uZW50U2VydmljZTogWkNvbXBvbmVudFNlcnZpY2VcclxuICApIHtcclxuICB9XHJcblxyXG4gIHRyYW5zZm9ybSh2YWx1ZTogYW55LCBkYXRhOiBaRmllbGQsIGdyb3VwOiBaR3JvdXApOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xyXG4gICAgdGhpcy5udWxsVmFsdWVEZWZhdWx0RGlzcGxheVRleHQgPSBkYXRhLk51bGxWYWx1ZURpc3BsYXlUZXh0ICE9IHVuZGVmaW5lZCA/IGRhdGEuTnVsbFZhbHVlRGlzcGxheVRleHQgOiAnLSc7XHJcbiAgICBpZiAoIXZhbHVlKSB7XHJcbiAgICAgIHJldHVybiBvZih0aGlzLm51bGxWYWx1ZURlZmF1bHREaXNwbGF5VGV4dCk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuemRhdGVfdHlwZS5pbmNsdWRlcyhkYXRhLlR5cGUpIHx8IHRoaXMuc2ZkYXRldGltZXBpY2tlcl90eXBlLmluY2x1ZGVzKGRhdGEuVHlwZSkpIHtcclxuICAgICAgcmV0dXJuIG9mKHRoaXMudHJhbnNmb3JtVGltZVZhbHVlKHZhbHVlLCBkYXRhKSk7XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmICh0aGlzLnpjaGVja2JveF90eXBlLmluY2x1ZGVzKGRhdGEuVHlwZSkpIHtcclxuICAgICAgcmV0dXJuIG9mKHZhbHVlID8gXCJZZXNcIiA6IFwiTm9cIik7XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmICh0aGlzLnpzZWxlY3RfdHlwZS5pbmNsdWRlcyhkYXRhLlR5cGUpKSB7XHJcbiAgICAgIGNvbnN0IHNlbGVjdEZpZWxkID0geyBkYXRhOiB7fSwgaXRlbURhdGFGaWVsZDogJycsIGl0ZW1UZXh0RmllbGQ6ICcnLCBpdGVtVmFsdWVGaWVsZDogJycgfTtcclxuICAgICAgWkNvbXBvbmVudEhlbHBlci5zZXRTZWxlY3RNdWx0aXBsZVRleHRWYWx1ZShkYXRhLlNlbGVjdE9wdGlvbnMsIHNlbGVjdEZpZWxkKTtcclxuICAgICAgZ3JvdXAuX2RlYnVnID0gZ3JvdXAuX2RlYnVnIHx8IG5ldyBaR3JvdXAoKTtcclxuICAgICAgcmV0dXJuIHRoaXMubG9hZFpEYXRhKGRhdGEsIGdyb3VwLCBzZWxlY3RGaWVsZCkucGlwZShcclxuICAgICAgICBtYXAocmVzID0+IHtcclxuICAgICAgICAgIGNvbnN0IG9wdGlvbkRhdGEgPSByZXMuZGF0YVNldCB8fCByZXMgfHwgW107XHJcbiAgICAgICAgICBjb25zdCBvcHRpb25WYWx1ZSA9IG9wdGlvbkRhdGEgPyBvcHRpb25EYXRhLmZpbmQobyA9PiBvW3NlbGVjdEZpZWxkLml0ZW1WYWx1ZUZpZWxkXSA9PSB2YWx1ZSkgOiBudWxsO1xyXG4gICAgICAgICAgaWYgKG9wdGlvblZhbHVlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmdldEl0ZW1UZW1wbGF0ZShvcHRpb25WYWx1ZSwgZGF0YSwgZ3JvdXAsIHNlbGVjdEZpZWxkLml0ZW1WYWx1ZUZpZWxkLCBzZWxlY3RGaWVsZC5pdGVtVGV4dEZpZWxkKSB8fCB0aGlzLm51bGxWYWx1ZURlZmF1bHREaXNwbGF5VGV4dDtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5udWxsVmFsdWVEZWZhdWx0RGlzcGxheVRleHQ7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSkpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBvZih2YWx1ZSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHRyYW5zZm9ybVRpbWVWYWx1ZSh2YWx1ZTogYW55LCBkYXRhOiBaRmllbGQpOiBzdHJpbmcge1xyXG4gICAgbGV0IHZhbCA9IHZhbHVlO1xyXG4gICAgaWYgKGRhdGEuSXNJZ25vcmVUaW1lWm9uZSkge1xyXG4gICAgICB2YWwgPSB0aGlzLmNvbXBvbmVudFNlcnZpY2UubG9jYWxpemVEYXRlVGltZUJ5SWdub3JpbmdUaW1lWm9uZSh2YWx1ZSwgZGF0YSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZm9ybWF0RGF0ZSh2YWwsIHRoaXMuZ2V0RGF0ZVRpbWVGb3JtYXQoZGF0YS5UeXBlKSwgJ2VuX1VTJykgfHwgdGhpcy5udWxsVmFsdWVEZWZhdWx0RGlzcGxheVRleHQ7XHJcbiAgfVxyXG5cclxuICAvLyBUbyByZWZhY3RvclxyXG4gIHByaXZhdGUgZ2V0RGF0ZVRpbWVGb3JtYXQoZGF0ZVR5cGU6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICBpZiAoZGF0ZVR5cGUgPT09IFwienRpbWVcIikge1xyXG4gICAgICByZXR1cm4gXCJoaDptbVwiO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAoZGF0ZVR5cGUgPT09IFwienVpZGF0ZXRpbWVcIiB8fCBkYXRlVHlwZSA9PT0gXCJzZmRhdGV0aW1lcGlja2VyXCIpIHtcclxuICAgICAgcmV0dXJuIFwiZGQtTU1NLXl5eXkgaDptbSBhXCI7XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmIChkYXRlVHlwZSA9PT0gXCJ6dWl0aW1lXCIpIHtcclxuICAgICAgcmV0dXJuIFwiaGg6bW06c3NcIjtcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGRhdGVUeXBlID09PSBcInpzaG9ydGRhdGVcIikge1xyXG4gICAgICByZXR1cm4gXCJNTU0teXl5eVwiO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIFwiZGQtTU1NLXl5eXlcIjtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgbG9hZFpEYXRhKGRhdGE6IFpGaWVsZCwgZ3JvdXA6IFpHcm91cCwgc2VsZWN0RmllbGQ6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICBpZiAoZGF0YS5PcHRpb25SZXNvdXJjZVVSTCkge1xyXG4gICAgICBjb25zdCByZXNvdXJjZVVybCA9IHRoaXMucmVzb3VyY2VBcGlTZXJ2aWNlLmdldFVSTChcclxuICAgICAgICBkYXRhLk9wdGlvblJlc291cmNlVVJMXHJcbiAgICAgICk7XHJcblxyXG4gICAgICBjb25zdCBmaWx0ZXJQYXJhbSA9IG5ldyBaU2VsZWN0UG9zdEFwaVBhcmFtcygpO1xyXG4gICAgICBmaWx0ZXJQYXJhbS5zb3J0cyA9IGRhdGEuT3B0aW9uU29ydDtcclxuICAgICAgZmlsdGVyUGFyYW0uY29sdW1ucyA9IGRhdGEuT3B0aW9uQ29sdW1ucztcclxuICAgICAgZmlsdGVyUGFyYW0uZmlsdGVycyA9IGRhdGEuT3B0aW9uRmlsdGVyO1xyXG5cclxuICAgICAgcmV0dXJuIFpDb21wb25lbnRIZWxwZXIuZ2V0RGF0YU9wdGlvbnMoXHJcbiAgICAgICAgZGF0YS5PcHRpb25OYW1lLFxyXG4gICAgICAgIGZpbHRlclBhcmFtLFxyXG4gICAgICAgIGdyb3VwLFxyXG4gICAgICAgIHJlc291cmNlVXJsLFxyXG4gICAgICAgIHRoaXMuY2FjaGVTZXJ2aWNlLFxyXG4gICAgICAgIHRoaXMud2ViQXBpU2VydmljZSxcclxuICAgICAgICBmYWxzZVxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHJldHVybiBvZih0aGlzLmdldEl0ZW1zRGF0YShkYXRhLCBncm91cCwgc2VsZWN0RmllbGQuaXRlbURhdGFGaWVsZCkpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRJdGVtc0RhdGEoZGF0YSwgZ3JvdXAsIGl0ZW1EYXRhRmllbGQpIHtcclxuICAgIGNvbnN0IG9wdGlvbk5hbWUgPSBkYXRhLk9wdGlvbk5hbWUgfHwgaXRlbURhdGFGaWVsZCB8fCAnZ3JvdXAuekRhdGEuJyArIGRhdGEuTmFtZTtcclxuICAgIGlmIChBcnJheS5pc0FycmF5KGRhdGEuU2VsZWN0T3B0aW9ucykgJiYgIWdyb3VwLnpEYXRhW29wdGlvbk5hbWUuc2xpY2UoMTIpXSkge1xyXG4gICAgICBncm91cC56RGF0YVtvcHRpb25OYW1lLnNsaWNlKDEyKV0gPSBkYXRhLlNlbGVjdE9wdGlvbnM7XHJcbiAgICAgIGl0ZW1EYXRhRmllbGQgPSBvcHRpb25OYW1lO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChvcHRpb25OYW1lLnN0YXJ0c1dpdGgoJ3pEYXRhLicpKSB7XHJcbiAgICAgIHJldHVybiBncm91cC56RGF0YVtvcHRpb25OYW1lLnNsaWNlKDYpXSB8fCBbXTtcclxuICAgIH1cclxuICAgIGlmIChvcHRpb25OYW1lLnN0YXJ0c1dpdGgoJ2dyb3VwLnpEYXRhLicpKSB7XHJcbiAgICAgIHJldHVybiBncm91cC56RGF0YVtvcHRpb25OYW1lLnNsaWNlKDEyKV0gfHwgW107XHJcbiAgICB9XHJcbiAgICBpZiAob3B0aW9uTmFtZS5zdGFydHNXaXRoKCdncm91cC4nKSkge1xyXG4gICAgICByZXR1cm4gZ3JvdXBbb3B0aW9uTmFtZS5zbGljZSg2KV0gfHwgW107XHJcbiAgICB9XHJcbiAgICBpZiAob3B0aW9uTmFtZSkge1xyXG4gICAgICByZXR1cm4gZ3JvdXBbb3B0aW9uTmFtZV0gfHwgW107XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldEl0ZW1UZW1wbGF0ZShcclxuICAgIGl0ZW06IGFueSxcclxuICAgIGRhdGE6IGFueSxcclxuICAgIGdyb3VwOiBhbnksXHJcbiAgICBpdGVtVmFsdWVGaWVsZDogc3RyaW5nLFxyXG4gICAgaXRlbVRleHRGaWVsZDogc3RyaW5nXHJcbiAgKSB7XHJcbiAgICBpZiAoZGF0YS5JdGVtVGVtcGxhdGUpIHtcclxuICAgICAgY29uc3QgZ2V0VGVtcGxhdGVGdW5jID0gWkNvbXBvbmVudEhlbHBlci5nZXRHcm91cEV2YWxWYWx1ZS5jYWxsKHsgZ3JvdXA6IGdyb3VwIH0sIGRhdGEuSXRlbVRlbXBsYXRlKTtcclxuXHJcbiAgICAgIHJldHVybiBnZXRUZW1wbGF0ZUZ1bmMoe1xyXG4gICAgICAgIGl0ZW0sXHJcbiAgICAgICAgZGF0YSxcclxuICAgICAgICBncm91cCxcclxuICAgICAgICBpdGVtVmFsdWVGaWVsZCxcclxuICAgICAgICBpdGVtVGV4dEZpZWxkXHJcbiAgICAgIH0gYXMgWlNlbGVjdE11bHRpcGxlVGVtcGxhdGVQYXJhbXMpO1xyXG4gICAgfSBlbHNlIGlmIChpdGVtVGV4dEZpZWxkKSB7XHJcbiAgICAgIHJldHVybiBpdGVtW2l0ZW1UZXh0RmllbGRdO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIE9iamVjdC52YWx1ZXMoaXRlbSkuam9pbihcIiwgXCIpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
|