onshore-forms 0.0.24 → 0.0.26
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/esm2020/lib/components/form-image-item/form-image-item.component.mjs +59 -21
- package/esm2020/lib/components/form-item-container/form-item-container.component.mjs +5 -5
- package/esm2020/lib/components/image-chooser/image-chooser.component.mjs +6 -43
- package/esm2020/lib/components/webcam/webcam.component.mjs +4 -38
- package/esm2020/lib/models/form.models.mjs +1 -1
- package/esm2020/lib/onshore-forms.service.mjs +1 -1
- package/fesm2015/onshore-forms.mjs +99 -133
- package/fesm2015/onshore-forms.mjs.map +1 -1
- package/fesm2020/onshore-forms.mjs +98 -132
- package/fesm2020/onshore-forms.mjs.map +1 -1
- package/lib/components/form-image-item/form-image-item.component.d.ts +4 -4
- package/lib/components/image-chooser/image-chooser.component.d.ts +3 -14
- package/lib/components/webcam/webcam.component.d.ts +3 -13
- package/lib/models/form.models.d.ts +12 -0
- package/package.json +1 -1
- package/styles/scss/main.css +1 -1
- package/styles/scss/theme1.css +1 -1
|
@@ -1,26 +1,27 @@
|
|
|
1
1
|
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Optional, Output, Self } from '@angular/core';
|
|
2
|
+
import { OnshoreFormTemplateLayout } from '../../enums/form.enums';
|
|
2
3
|
import * as i0 from "@angular/core";
|
|
3
4
|
import * as i1 from "@angular/forms";
|
|
4
5
|
import * as i2 from "primeng/dynamicdialog";
|
|
5
|
-
import * as i3 from "@
|
|
6
|
-
import * as i4 from "
|
|
7
|
-
import * as i5 from "primeng/
|
|
8
|
-
import * as i6 from "
|
|
9
|
-
import * as i7 from "../
|
|
10
|
-
import * as i8 from "../
|
|
11
|
-
import * as i9 from "../
|
|
12
|
-
import * as i10 from "
|
|
6
|
+
import * as i3 from "@angular/common";
|
|
7
|
+
import * as i4 from "primeng/button";
|
|
8
|
+
import * as i5 from "primeng/dialog";
|
|
9
|
+
import * as i6 from "../image-placeholder/image-placeholder.component";
|
|
10
|
+
import * as i7 from "../form-item-container/form-item-container.component";
|
|
11
|
+
import * as i8 from "../image-chooser/image-chooser.component";
|
|
12
|
+
import * as i9 from "../webcam/webcam.component";
|
|
13
|
+
import * as i10 from "@ngx-translate/core";
|
|
13
14
|
export class OnshoreFormImageItemComponent {
|
|
14
|
-
constructor(cdr, ngControl, dialogService
|
|
15
|
+
constructor(cdr, ngControl, dialogService) {
|
|
15
16
|
this.cdr = cdr;
|
|
16
17
|
this.ngControl = ngControl;
|
|
17
18
|
this.dialogService = dialogService;
|
|
18
|
-
this.translate = translate;
|
|
19
19
|
this.imageDeleted = new EventEmitter();
|
|
20
20
|
this.imageCleared = new EventEmitter();
|
|
21
21
|
this.imageReady = new EventEmitter();
|
|
22
22
|
this.selectFromMedia = new EventEmitter();
|
|
23
23
|
this.isLoading = new EventEmitter();
|
|
24
|
+
this.OnshoreFormTemplateLayout = OnshoreFormTemplateLayout;
|
|
24
25
|
this.defaultImageSettings = {
|
|
25
26
|
imageWidth: 400,
|
|
26
27
|
imageHeight: 400,
|
|
@@ -31,7 +32,19 @@ export class OnshoreFormImageItemComponent {
|
|
|
31
32
|
mediaSelectionEnabled: true,
|
|
32
33
|
deleteEnabled: true,
|
|
33
34
|
placeholderImage: '',
|
|
34
|
-
placeholderIcon: 'fa fa-image fa-10x'
|
|
35
|
+
placeholderIcon: 'fa fa-image fa-10x',
|
|
36
|
+
containerWidth: 250,
|
|
37
|
+
containerHeight: 250,
|
|
38
|
+
imageQuality: 100,
|
|
39
|
+
format: 'png',
|
|
40
|
+
alignImage: 'center',
|
|
41
|
+
cropperPreviewWidth: 400,
|
|
42
|
+
cropperPreviewHeight: 400,
|
|
43
|
+
webcamWidth: 400,
|
|
44
|
+
webcamHeight: 400,
|
|
45
|
+
circleCropper: false,
|
|
46
|
+
maxFileSize: 6400000,
|
|
47
|
+
backgroundColor: 'white'
|
|
35
48
|
};
|
|
36
49
|
this.image = '';
|
|
37
50
|
this.disabled = false;
|
|
@@ -72,7 +85,6 @@ export class OnshoreFormImageItemComponent {
|
|
|
72
85
|
this.imageCleared.emit();
|
|
73
86
|
}
|
|
74
87
|
this.ngControl?.control?.setValue(null);
|
|
75
|
-
this.ngControl?.control?.markAsDirty();
|
|
76
88
|
this.image = '';
|
|
77
89
|
}
|
|
78
90
|
writeValue(obj) {
|
|
@@ -122,27 +134,53 @@ export class OnshoreFormImageItemComponent {
|
|
|
122
134
|
this.imageSettings.aspectRatio = this.defaultImageSettings.aspectRatio;
|
|
123
135
|
if (!imageSettings.containWithinAspectRatio)
|
|
124
136
|
this.imageSettings.containWithinAspectRatio = this.defaultImageSettings.containWithinAspectRatio;
|
|
125
|
-
if (
|
|
137
|
+
if (imageSettings.imageSelectionEnabled == null)
|
|
126
138
|
this.imageSettings.imageSelectionEnabled = this.defaultImageSettings.imageSelectionEnabled;
|
|
127
|
-
if (
|
|
139
|
+
if (imageSettings.mediaSelectionEnabled == null)
|
|
128
140
|
this.imageSettings.mediaSelectionEnabled = this.defaultImageSettings.mediaSelectionEnabled;
|
|
129
|
-
if (
|
|
141
|
+
if (imageSettings.webcamSelectionEnabled == null)
|
|
130
142
|
this.imageSettings.webcamSelectionEnabled = this.defaultImageSettings.webcamSelectionEnabled;
|
|
131
|
-
if (
|
|
143
|
+
if (imageSettings.deleteEnabled == null)
|
|
132
144
|
this.imageSettings.deleteEnabled = this.defaultImageSettings.deleteEnabled;
|
|
145
|
+
if (imageSettings.containerWidth == null)
|
|
146
|
+
this.imageSettings.containerWidth = this.defaultImageSettings.containerWidth;
|
|
147
|
+
if (imageSettings.containerHeight == null)
|
|
148
|
+
this.imageSettings.containerHeight = this.defaultImageSettings.containerHeight;
|
|
149
|
+
if (imageSettings.imageQuality == null)
|
|
150
|
+
this.imageSettings.imageQuality = this.defaultImageSettings.imageQuality;
|
|
151
|
+
if (imageSettings.format == null)
|
|
152
|
+
this.imageSettings.format = this.defaultImageSettings.format;
|
|
153
|
+
if (imageSettings.alignImage == null)
|
|
154
|
+
this.imageSettings.alignImage = this.defaultImageSettings.alignImage;
|
|
155
|
+
if (imageSettings.cropperPreviewWidth == null)
|
|
156
|
+
this.imageSettings.cropperPreviewWidth = this.defaultImageSettings.cropperPreviewWidth;
|
|
157
|
+
if (imageSettings.cropperPreviewHeight == null)
|
|
158
|
+
this.imageSettings.cropperPreviewHeight = this.defaultImageSettings.cropperPreviewHeight;
|
|
159
|
+
if (imageSettings.circleCropper == null)
|
|
160
|
+
this.imageSettings.circleCropper = this.defaultImageSettings.circleCropper;
|
|
161
|
+
if (imageSettings.maxFileSize == null)
|
|
162
|
+
this.imageSettings.maxFileSize = this.defaultImageSettings.maxFileSize;
|
|
163
|
+
if (imageSettings.backgroundColor == null)
|
|
164
|
+
this.imageSettings.backgroundColor = this.defaultImageSettings.backgroundColor;
|
|
165
|
+
if (imageSettings.webcamWidth == null)
|
|
166
|
+
this.imageSettings.webcamWidth = this.defaultImageSettings.webcamWidth;
|
|
167
|
+
if (imageSettings.webcamHeight == null)
|
|
168
|
+
this.imageSettings.webcamHeight = this.defaultImageSettings.webcamHeight;
|
|
133
169
|
}
|
|
170
|
+
this.removeImage();
|
|
171
|
+
this.cdr.markForCheck();
|
|
134
172
|
}
|
|
135
173
|
}
|
|
136
|
-
OnshoreFormImageItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: OnshoreFormImageItemComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.NgControl, optional: true, self: true }, { token: i2.DialogService }
|
|
137
|
-
OnshoreFormImageItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: OnshoreFormImageItemComponent, selector: "onshore-form-image-item", inputs: { formTemplate: "formTemplate", imageSettings: "imageSettings" }, outputs: { imageDeleted: "imageDeleted", imageCleared: "imageCleared", imageReady: "imageReady", selectFromMedia: "selectFromMedia", isLoading: "isLoading" }, usesOnChanges: true, ngImport: i0, template: "<onshore-form-item-container [formTemplate]=\"formTemplate\" [ngControl]=\"ngControl\">\n <div class=\"w-full flex align-items-center flex-wrap\">\n\n <div class=\"position-relative flex justify-content-center align-items-center onshore-border-gray-4 border-solid border-1\" style=\"background-color: white\">\n <onshore-image-placeholder\n class=\"w-full\"\n [image]=\"image\"\n imageStyle=\"position: absolut;
|
|
174
|
+
OnshoreFormImageItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: OnshoreFormImageItemComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.NgControl, optional: true, self: true }, { token: i2.DialogService }], target: i0.ɵɵFactoryTarget.Component });
|
|
175
|
+
OnshoreFormImageItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: OnshoreFormImageItemComponent, selector: "onshore-form-image-item", inputs: { formTemplate: "formTemplate", imageSettings: "imageSettings" }, outputs: { imageDeleted: "imageDeleted", imageCleared: "imageCleared", imageReady: "imageReady", selectFromMedia: "selectFromMedia", isLoading: "isLoading" }, usesOnChanges: true, ngImport: i0, template: "<onshore-form-item-container [formTemplate]=\"formTemplate\" [ngControl]=\"ngControl\">\n <div class=\"w-full flex align-items-center flex-wrap\" [class.flex-column]=\"formTemplate.layout === OnshoreFormTemplateLayout.vertical\">\n\n <div class=\"position-relative flex justify-content-center align-items-center onshore-border-gray-4 border-solid border-1\" style=\"background-color: white\">\n <onshore-image-placeholder\n class=\"w-full\"\n [image]=\"image\"\n [imageStyle]=\"'position: absolut; width: ' + imageSettings.containerWidth + 'px; height: ' + imageSettings.containerHeight + 'px'\"\n [placeholderIcon]=\"imageSettings.placeholderIcon\"\n [placeholderImage]=\"imageSettings.placeholderImage\"\n [placeholderStyle]=\"'width: ' + imageSettings.containerWidth + 'px; height: ' + imageSettings.containerHeight + 'px'\">\n </onshore-image-placeholder>\n </div>\n\n <div class=\"flex flex-column m-4\">\n <button pButton\n type=\"button\"\n *ngIf=\"imageSettings.imageSelectionEnabled\"\n icon=\"fa fa-image\"\n [label]=\"'form.imageControl.uploadImageButton' | translate\"\n class=\"onshore-button-primary mb-2\"\n [disabled]=\"disabled\"\n (click)=\"imageChooserDialogVisible = true; cdr.detectChanges()\">\n </button>\n\n <button pButton\n type=\"button\"\n *ngIf=\"imageSettings.webcamSelectionEnabled\"\n icon=\"fa fa-camera\"\n [label]=\"'form.imageControl.webcamImageButton' | translate\"\n class=\"onshore-button-light mb-2\"\n [disabled]=\"disabled\"\n (click)=\"webcamDialogVisible = true\">\n </button>\n\n <button pButton\n type=\"button\"\n *ngIf=\"imageSettings.mediaSelectionEnabled\"\n icon=\"fa fa-photo-video\"\n [label]=\"'form.imageControl.mediaImageButton' | translate\"\n class=\"onshore-button-light mb-2\"\n [disabled]=\"disabled\"\n (click)=\"selectFromMedia.emit()\">\n </button>\n\n <button pButton\n type=\"button\"\n *ngIf=\"imageSettings.deleteEnabled\"\n icon=\"fa fa-eraser\"\n [label]=\"'form.imageControl.removeImageButton' | translate\"\n class=\"onshore-button-light\"\n (click)=\"removeImage()\"\n [disabled]=\"!image || disabled\">\n </button>\n\n </div>\n\n </div>\n</onshore-form-item-container>\n\n<p-dialog [header]=\"'form.imageControl.uploadImageTitle' | translate\" [(visible)]=\"imageChooserDialogVisible\" [modal]=\"true\" [style]=\"{'max-width': '50vw'}\" >\n <onshore-image-chooser\n (choosen)=\"getFileImage($event)\"\n (canceled)=\"imageChooserDialogVisible = false\"\n [imageSettings]=\"imageSettings\">\n </onshore-image-chooser>\n</p-dialog>\n\n<p-dialog [header]=\"'form.imageControl.webacmImageTitle' | translate\" [(visible)]=\"webcamDialogVisible\" [modal]=\"true\" [style]=\"{'max-width': '50vw'}\">\n <onshore-webcam\n *ngIf=\"webcamDialogVisible\"\n (shot)=\"getWebcamImage($event)\"\n (canceled)=\"webcamDialogVisible = false\"\n [imageSettings]=\"imageSettings\"></onshore-webcam>\n</p-dialog>\n", dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }, { kind: "component", type: i5.Dialog, selector: "p-dialog", inputs: ["header", "draggable", "resizable", "positionLeft", "positionTop", "contentStyle", "contentStyleClass", "modal", "closeOnEscape", "dismissableMask", "rtl", "closable", "responsive", "appendTo", "breakpoints", "styleClass", "maskStyleClass", "showHeader", "breakpoint", "blockScroll", "autoZIndex", "baseZIndex", "minX", "minY", "focusOnShow", "maximizable", "keepInViewport", "focusTrap", "transitionOptions", "closeIcon", "closeAriaLabel", "closeTabindex", "minimizeIcon", "maximizeIcon", "visible", "style", "position"], outputs: ["onShow", "onHide", "visibleChange", "onResizeInit", "onResizeEnd", "onDragEnd", "onMaximize"] }, { kind: "component", type: i6.OnshoreImagePlaceholderComponent, selector: "onshore-image-placeholder", inputs: ["placeholderIcon", "placeholderImage", "image", "imageStyle", "placeholderStyle", "showLoader"] }, { kind: "component", type: i7.OnshoreFormItemContainer, selector: "onshore-form-item-container", inputs: ["formTemplate", "ngControl"] }, { kind: "component", type: i8.OnshoreImageChooserComponent, selector: "onshore-image-chooser", inputs: ["imageSettings"], outputs: ["choosen", "canceled"] }, { kind: "component", type: i9.WebcamComponent, selector: "onshore-webcam", inputs: ["imageSettings"], outputs: ["shot", "canceled"] }, { kind: "pipe", type: i10.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
138
176
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: OnshoreFormImageItemComponent, decorators: [{
|
|
139
177
|
type: Component,
|
|
140
|
-
args: [{ selector: 'onshore-form-image-item', changeDetection: ChangeDetectionStrategy.OnPush, template: "<onshore-form-item-container [formTemplate]=\"formTemplate\" [ngControl]=\"ngControl\">\n <div class=\"w-full flex align-items-center flex-wrap\">\n\n <div class=\"position-relative flex justify-content-center align-items-center onshore-border-gray-4 border-solid border-1\" style=\"background-color: white\">\n <onshore-image-placeholder\n class=\"w-full\"\n [image]=\"image\"\n imageStyle=\"position: absolut;
|
|
178
|
+
args: [{ selector: 'onshore-form-image-item', changeDetection: ChangeDetectionStrategy.OnPush, template: "<onshore-form-item-container [formTemplate]=\"formTemplate\" [ngControl]=\"ngControl\">\n <div class=\"w-full flex align-items-center flex-wrap\" [class.flex-column]=\"formTemplate.layout === OnshoreFormTemplateLayout.vertical\">\n\n <div class=\"position-relative flex justify-content-center align-items-center onshore-border-gray-4 border-solid border-1\" style=\"background-color: white\">\n <onshore-image-placeholder\n class=\"w-full\"\n [image]=\"image\"\n [imageStyle]=\"'position: absolut; width: ' + imageSettings.containerWidth + 'px; height: ' + imageSettings.containerHeight + 'px'\"\n [placeholderIcon]=\"imageSettings.placeholderIcon\"\n [placeholderImage]=\"imageSettings.placeholderImage\"\n [placeholderStyle]=\"'width: ' + imageSettings.containerWidth + 'px; height: ' + imageSettings.containerHeight + 'px'\">\n </onshore-image-placeholder>\n </div>\n\n <div class=\"flex flex-column m-4\">\n <button pButton\n type=\"button\"\n *ngIf=\"imageSettings.imageSelectionEnabled\"\n icon=\"fa fa-image\"\n [label]=\"'form.imageControl.uploadImageButton' | translate\"\n class=\"onshore-button-primary mb-2\"\n [disabled]=\"disabled\"\n (click)=\"imageChooserDialogVisible = true; cdr.detectChanges()\">\n </button>\n\n <button pButton\n type=\"button\"\n *ngIf=\"imageSettings.webcamSelectionEnabled\"\n icon=\"fa fa-camera\"\n [label]=\"'form.imageControl.webcamImageButton' | translate\"\n class=\"onshore-button-light mb-2\"\n [disabled]=\"disabled\"\n (click)=\"webcamDialogVisible = true\">\n </button>\n\n <button pButton\n type=\"button\"\n *ngIf=\"imageSettings.mediaSelectionEnabled\"\n icon=\"fa fa-photo-video\"\n [label]=\"'form.imageControl.mediaImageButton' | translate\"\n class=\"onshore-button-light mb-2\"\n [disabled]=\"disabled\"\n (click)=\"selectFromMedia.emit()\">\n </button>\n\n <button pButton\n type=\"button\"\n *ngIf=\"imageSettings.deleteEnabled\"\n icon=\"fa fa-eraser\"\n [label]=\"'form.imageControl.removeImageButton' | translate\"\n class=\"onshore-button-light\"\n (click)=\"removeImage()\"\n [disabled]=\"!image || disabled\">\n </button>\n\n </div>\n\n </div>\n</onshore-form-item-container>\n\n<p-dialog [header]=\"'form.imageControl.uploadImageTitle' | translate\" [(visible)]=\"imageChooserDialogVisible\" [modal]=\"true\" [style]=\"{'max-width': '50vw'}\" >\n <onshore-image-chooser\n (choosen)=\"getFileImage($event)\"\n (canceled)=\"imageChooserDialogVisible = false\"\n [imageSettings]=\"imageSettings\">\n </onshore-image-chooser>\n</p-dialog>\n\n<p-dialog [header]=\"'form.imageControl.webacmImageTitle' | translate\" [(visible)]=\"webcamDialogVisible\" [modal]=\"true\" [style]=\"{'max-width': '50vw'}\">\n <onshore-webcam\n *ngIf=\"webcamDialogVisible\"\n (shot)=\"getWebcamImage($event)\"\n (canceled)=\"webcamDialogVisible = false\"\n [imageSettings]=\"imageSettings\"></onshore-webcam>\n</p-dialog>\n" }]
|
|
141
179
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.NgControl, decorators: [{
|
|
142
180
|
type: Self
|
|
143
181
|
}, {
|
|
144
182
|
type: Optional
|
|
145
|
-
}] }, { type: i2.DialogService }
|
|
183
|
+
}] }, { type: i2.DialogService }]; }, propDecorators: { formTemplate: [{
|
|
146
184
|
type: Input
|
|
147
185
|
}], imageSettings: [{
|
|
148
186
|
type: Input
|
|
@@ -157,4 +195,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImpor
|
|
|
157
195
|
}], isLoading: [{
|
|
158
196
|
type: Output
|
|
159
197
|
}] } });
|
|
160
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1pbWFnZS1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29uc2hvcmUtZm9ybXMvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0taW1hZ2UtaXRlbS9mb3JtLWltYWdlLWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb25zaG9yZS1mb3Jtcy9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS1pbWFnZS1pdGVtL2Zvcm0taW1hZ2UtaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUM5QixRQUFRLEVBQUUsTUFBTSxFQUNoQixJQUFJLEVBQ0wsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7Ozs7OztBQVl2QixNQUFNLE9BQU8sNkJBQTZCO0lBOEh4QyxZQUFtQixHQUFzQixFQUNGLFNBQW9CLEVBQ3hDLGFBQTRCLEVBQzNCLFNBQTJCO1FBSDVCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQ0YsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUN4QyxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUMzQixjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQTdIckMsaUJBQVksR0FBeUIsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUN4RCxpQkFBWSxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3JELGVBQVUsR0FBeUIsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUN0RCxvQkFBZSxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3hELGNBQVMsR0FBMEIsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUVoRSx5QkFBb0IsR0FBNkI7WUFDL0MsVUFBVSxFQUFFLEdBQUc7WUFDZixXQUFXLEVBQUUsR0FBRztZQUNoQix3QkFBd0IsRUFBRSxLQUFLO1lBQy9CLFdBQVcsRUFBRSxDQUFDLEdBQUcsQ0FBQztZQUNsQixxQkFBcUIsRUFBRSxJQUFJO1lBQzNCLHNCQUFzQixFQUFFLElBQUk7WUFDNUIscUJBQXFCLEVBQUUsSUFBSTtZQUMzQixhQUFhLEVBQUUsSUFBSTtZQUNuQixnQkFBZ0IsRUFBRSxFQUFFO1lBQ3BCLGVBQWUsRUFBRSxvQkFBb0I7U0FDdEMsQ0FBQztRQUVGLFVBQUssR0FBa0IsRUFBRSxDQUFDO1FBQzFCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsd0JBQW1CLEdBQVksS0FBSyxDQUFDO1FBQ3JDLDhCQUF5QixHQUFZLEtBQUssQ0FBQztRQUUzQyxrQkFBYSxHQUF3QixFQUFFLENBQUM7UUFzR3RDLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztJQUN0QyxDQUFDO0lBckdELFlBQVksQ0FBQyxLQUFVO1FBQ3JCLElBQUksQ0FBQyx5QkFBeUIsR0FBRyxLQUFLLENBQUM7UUFDdkMsSUFBRyxLQUFLLEVBQUU7WUFDUixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztZQUNuQixVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUNkLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7Z0JBQ3hCLElBQUksQ0FBQyxTQUFTLEVBQUUsT0FBTyxFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQzlDLElBQUksQ0FBQyxTQUFTLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxDQUFDO2dCQUN2QyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDbkMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1NBQ1Q7SUFDSCxDQUFDO0lBRUQsY0FBYyxDQUFDLEtBQVU7UUFDdkIsSUFBSSxDQUFDLG1CQUFtQixHQUFHLEtBQUssQ0FBQztRQUNqQyxJQUFHLEtBQUssRUFBRTtZQUNSLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1lBQ25CLFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztnQkFDeEIsSUFBSSxDQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDOUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLENBQUM7Z0JBQ3ZDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNuQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7U0FDVDtJQUNILENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBRyxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDL0MsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3BDO2FBQU07WUFDTCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxDQUFDO1NBQzFCO1FBRUQsSUFBSSxDQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3hDLElBQUksQ0FBQyxTQUFTLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO0lBQ2xCLENBQUM7SUFFTSxVQUFVLENBQUMsR0FBUTtRQUN4QixJQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDakMsSUFBSSxDQUFDLEtBQUssR0FBRyxHQUFHLENBQUM7U0FDbEI7UUFDRCxJQUFHLEdBQUcsSUFBSSxJQUFJLEVBQUU7WUFDZCxJQUFJLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztTQUNqQjtRQUVELElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNqQyxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFTSxnQkFBZ0IsQ0FBQyxFQUFPO1FBQzdCLElBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUU7WUFDdkIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQztZQUNsQyxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO1NBQ3pCO0lBQ0gsQ0FBQztJQUVNLGlCQUFpQixDQUFDLEVBQU8sSUFBUyxDQUFDO0lBRW5DLGdCQUFnQixDQUFFLFVBQW1CO1FBQzFDLElBQUksQ0FBQyxRQUFRLEdBQUcsVUFBVSxDQUFDO1FBQzNCLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsT0FBTyxFQUFFLEtBQUssSUFBSSxFQUFFLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLElBQUksU0FBUyxFQUFFO1lBQ2pGLElBQUksQ0FBQyxTQUFTLEVBQUUsT0FBTyxFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzdELElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7U0FDekI7SUFDSCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUMsWUFBMEIsRUFBRSxFQUFFO1lBQ3hELFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUM3QixDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxTQUFTLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxDQUFDO1FBQ25DLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO0lBQ3BCLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsTUFBTSxhQUFhLEdBQTZCLE9BQU8sQ0FBQyxlQUFlLENBQUMsRUFBRSxZQUFZLENBQUM7UUFDdkYsSUFBRyxhQUFhLEVBQUU7WUFDaEIsSUFBRyxDQUFDLGFBQWEsQ0FBQyxVQUFVLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxFQUFFO2dCQUMxRCxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsVUFBVSxDQUFDO2dCQUNyRSxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsV0FBVyxDQUFDO2FBQ3hFO1lBQ0QsSUFBRyxDQUFDLGFBQWEsQ0FBQyxlQUFlLElBQUksQ0FBQyxhQUFhLENBQUMsZ0JBQWdCO2dCQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxlQUFlLENBQUM7WUFDckosSUFBRyxDQUFDLGFBQWEsQ0FBQyxXQUFXO2dCQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxXQUFXLENBQUM7WUFDdEcsSUFBRyxDQUFDLGFBQWEsQ0FBQyx3QkFBd0I7Z0JBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyx3QkFBd0IsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsd0JBQXdCLENBQUM7WUFDN0ksSUFBRyxDQUFDLGFBQWEsQ0FBQyxxQkFBcUI7Z0JBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxxQkFBcUIsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMscUJBQXFCLENBQUM7WUFDcEksSUFBRyxDQUFDLGFBQWEsQ0FBQyxxQkFBcUI7Z0JBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxxQkFBcUIsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMscUJBQXFCLENBQUM7WUFDcEksSUFBRyxDQUFDLGFBQWEsQ0FBQyxzQkFBc0I7Z0JBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxzQkFBc0IsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsc0JBQXNCLENBQUM7WUFDdkksSUFBRyxDQUFDLGFBQWEsQ0FBQyxhQUFhO2dCQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxhQUFhLENBQUM7U0FDN0c7SUFDSCxDQUFDOzswSEE1SFUsNkJBQTZCOzhHQUE3Qiw2QkFBNkIsNlRDbEIxQyxnM0dBMkVBOzJGRHpEYSw2QkFBNkI7a0JBTHpDLFNBQVM7K0JBQ0UseUJBQXlCLG1CQUVsQix1QkFBdUIsQ0FBQyxNQUFNOzswQkFpSWxDLElBQUk7OzBCQUFJLFFBQVE7dUdBOUhwQixZQUFZO3NCQUFwQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBRUksWUFBWTtzQkFBckIsTUFBTTtnQkFDRyxZQUFZO3NCQUFyQixNQUFNO2dCQUNHLFVBQVU7c0JBQW5CLE1BQU07Z0JBQ0csZUFBZTtzQkFBeEIsTUFBTTtnQkFDRyxTQUFTO3NCQUFsQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uQ2hhbmdlcywgT25EZXN0cm95LCBPbkluaXQsXG4gIE9wdGlvbmFsLCBPdXRwdXQsXG4gIFNlbGYsIFNpbXBsZUNoYW5nZXNcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTmdDb250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBEaWFsb2dTZXJ2aWNlIH0gZnJvbSAncHJpbWVuZy9keW5hbWljZGlhbG9nJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IE9uc2hvcmVGb3JtSW1hZ2VTZXR0aW5ncywgT25zaG9yZUZvcm1UZW1wbGF0ZUl0ZW0gfSBmcm9tICcuLi8uLi9tb2RlbHMvZm9ybS5tb2RlbHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdvbnNob3JlLWZvcm0taW1hZ2UtaXRlbScsXG4gIHRlbXBsYXRlVXJsOiAnLi9mb3JtLWltYWdlLWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgT25zaG9yZUZvcm1JbWFnZUl0ZW1Db21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgT25Jbml0LCBPbkRlc3Ryb3ksIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpIGZvcm1UZW1wbGF0ZSE6IE9uc2hvcmVGb3JtVGVtcGxhdGVJdGVtO1xuICBASW5wdXQoKSBpbWFnZVNldHRpbmdzOiBPbnNob3JlRm9ybUltYWdlU2V0dGluZ3M7XG5cbiAgQE91dHB1dCgpIGltYWdlRGVsZXRlZDogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBpbWFnZUNsZWFyZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgaW1hZ2VSZWFkeTogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBzZWxlY3RGcm9tTWVkaWE6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgaXNMb2FkaW5nOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgZGVmYXVsdEltYWdlU2V0dGluZ3M6IE9uc2hvcmVGb3JtSW1hZ2VTZXR0aW5ncyA9IHtcbiAgICBpbWFnZVdpZHRoOiA0MDAsXG4gICAgaW1hZ2VIZWlnaHQ6IDQwMCxcbiAgICBjb250YWluV2l0aGluQXNwZWN0UmF0aW86IGZhbHNlLFxuICAgIGFzcGVjdFJhdGlvOiAxIC8gMSxcbiAgICBpbWFnZVNlbGVjdGlvbkVuYWJsZWQ6IHRydWUsXG4gICAgd2ViY2FtU2VsZWN0aW9uRW5hYmxlZDogdHJ1ZSxcbiAgICBtZWRpYVNlbGVjdGlvbkVuYWJsZWQ6IHRydWUsXG4gICAgZGVsZXRlRW5hYmxlZDogdHJ1ZSxcbiAgICBwbGFjZWhvbGRlckltYWdlOiAnJyxcbiAgICBwbGFjZWhvbGRlckljb246ICdmYSBmYS1pbWFnZSBmYS0xMHgnXG4gIH07XG5cbiAgaW1hZ2U6IHN0cmluZyB8IG51bGwgPSAnJztcbiAgZGlzYWJsZWQgPSBmYWxzZTtcbiAgd2ViY2FtRGlhbG9nVmlzaWJsZTogYm9vbGVhbiA9IGZhbHNlO1xuICBpbWFnZUNob29zZXJEaWFsb2dWaXNpYmxlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgc3Vic2NyaXB0aW9uczogQXJyYXk8U3Vic2NyaXB0aW9uPiA9IFtdO1xuXG4gIGdldEZpbGVJbWFnZShpbWFnZTogYW55KSB7XG4gICAgdGhpcy5pbWFnZUNob29zZXJEaWFsb2dWaXNpYmxlID0gZmFsc2U7XG4gICAgaWYoaW1hZ2UpIHtcbiAgICAgIHRoaXMuaW1hZ2UgPSBpbWFnZTtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgdGhpcy5uZ0NvbnRyb2w/LmNvbnRyb2w/LnNldFZhbHVlKHRoaXMuaW1hZ2UpO1xuICAgICAgICB0aGlzLm5nQ29udHJvbD8uY29udHJvbD8ubWFya0FzRGlydHkoKTtcbiAgICAgICAgdGhpcy5pbWFnZVJlYWR5LmVtaXQodGhpcy5pbWFnZSk7XG4gICAgICB9LCA1MDApO1xuICAgIH1cbiAgfVxuXG4gIGdldFdlYmNhbUltYWdlKGltYWdlOiBhbnkpIHtcbiAgICB0aGlzLndlYmNhbURpYWxvZ1Zpc2libGUgPSBmYWxzZTtcbiAgICBpZihpbWFnZSkge1xuICAgICAgdGhpcy5pbWFnZSA9IGltYWdlO1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICB0aGlzLm5nQ29udHJvbD8uY29udHJvbD8uc2V0VmFsdWUodGhpcy5pbWFnZSk7XG4gICAgICAgIHRoaXMubmdDb250cm9sPy5jb250cm9sPy5tYXJrQXNEaXJ0eSgpO1xuICAgICAgICB0aGlzLmltYWdlUmVhZHkuZW1pdCh0aGlzLmltYWdlKTtcbiAgICAgIH0sIDUwMCk7XG4gICAgfVxuICB9XG5cbiAgcmVtb3ZlSW1hZ2UoKSB7XG4gICAgaWYodGhpcy5pbWFnZSAmJiAhdGhpcy5pbWFnZS5pbmNsdWRlcygnYmFzZTY0JykpIHtcbiAgICAgIHRoaXMuaW1hZ2VEZWxldGVkLmVtaXQodGhpcy5pbWFnZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaW1hZ2VDbGVhcmVkLmVtaXQoKTtcbiAgICB9XG5cbiAgICB0aGlzLm5nQ29udHJvbD8uY29udHJvbD8uc2V0VmFsdWUobnVsbCk7XG4gICAgdGhpcy5uZ0NvbnRyb2w/LmNvbnRyb2w/Lm1hcmtBc0RpcnR5KCk7XG4gICAgdGhpcy5pbWFnZSA9ICcnO1xuICB9XG5cbiAgcHVibGljIHdyaXRlVmFsdWUob2JqOiBhbnkpOiB2b2lkIHtcbiAgICBpZihvYmogJiYgIW9iai5pbmNsdWRlcygnYmFzZTY0JykpIHtcbiAgICAgIHRoaXMuaW1hZ2UgPSBvYmo7XG4gICAgfVxuICAgIGlmKG9iaiA9PSBudWxsKSB7XG4gICAgICB0aGlzLmltYWdlID0gJyc7XG4gICAgfVxuXG4gICAgdGhpcy5pbWFnZVJlYWR5LmVtaXQodGhpcy5pbWFnZSk7XG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBwdWJsaWMgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgaWYodGhpcy5uZ0NvbnRyb2wudmFsdWUpIHtcbiAgICAgIHRoaXMuaW1hZ2UgPSB0aGlzLm5nQ29udHJvbC52YWx1ZTtcbiAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7fVxuXG4gIHB1YmxpYyBzZXREaXNhYmxlZFN0YXRlPyhpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZih0aGlzLm5nQ29udHJvbD8uY29udHJvbD8udmFsdWUgPT0gJycgJiYgdGhpcy5mb3JtVGVtcGxhdGUuZGVmYXVsdCAhPSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMubmdDb250cm9sPy5jb250cm9sPy5zZXRWYWx1ZSh0aGlzLmZvcm1UZW1wbGF0ZS5kZWZhdWx0KTtcbiAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5mb3JFYWNoKChzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbikgPT4ge1xuICAgICAgc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfSk7XG4gICAgdGhpcy5uZ0NvbnRyb2w/LmNvbnRyb2w/LmRpc2FibGUoKTtcbiAgICB0aGlzLmltYWdlID0gbnVsbDtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBjb25zdCBpbWFnZVNldHRpbmdzOiBPbnNob3JlRm9ybUltYWdlU2V0dGluZ3MgPSBjaGFuZ2VzWydpbWFnZVNldHRpbmdzJ10/LmN1cnJlbnRWYWx1ZTtcbiAgICBpZihpbWFnZVNldHRpbmdzKSB7XG4gICAgICBpZighaW1hZ2VTZXR0aW5ncy5pbWFnZVdpZHRoIHx8ICFpbWFnZVNldHRpbmdzLmltYWdlSGVpZ2h0KSB7XG4gICAgICAgIHRoaXMuaW1hZ2VTZXR0aW5ncy5pbWFnZVdpZHRoID0gdGhpcy5kZWZhdWx0SW1hZ2VTZXR0aW5ncy5pbWFnZVdpZHRoO1xuICAgICAgICB0aGlzLmltYWdlU2V0dGluZ3MuaW1hZ2VIZWlnaHQgPSB0aGlzLmRlZmF1bHRJbWFnZVNldHRpbmdzLmltYWdlSGVpZ2h0O1xuICAgICAgfVxuICAgICAgaWYoIWltYWdlU2V0dGluZ3MucGxhY2Vob2xkZXJJY29uICYmICFpbWFnZVNldHRpbmdzLnBsYWNlaG9sZGVySW1hZ2UpIHRoaXMuaW1hZ2VTZXR0aW5ncy5wbGFjZWhvbGRlckljb24gPSB0aGlzLmRlZmF1bHRJbWFnZVNldHRpbmdzLnBsYWNlaG9sZGVySWNvbjtcbiAgICAgIGlmKCFpbWFnZVNldHRpbmdzLmFzcGVjdFJhdGlvKSB0aGlzLmltYWdlU2V0dGluZ3MuYXNwZWN0UmF0aW8gPSB0aGlzLmRlZmF1bHRJbWFnZVNldHRpbmdzLmFzcGVjdFJhdGlvO1xuICAgICAgaWYoIWltYWdlU2V0dGluZ3MuY29udGFpbldpdGhpbkFzcGVjdFJhdGlvKSB0aGlzLmltYWdlU2V0dGluZ3MuY29udGFpbldpdGhpbkFzcGVjdFJhdGlvID0gdGhpcy5kZWZhdWx0SW1hZ2VTZXR0aW5ncy5jb250YWluV2l0aGluQXNwZWN0UmF0aW87XG4gICAgICBpZighaW1hZ2VTZXR0aW5ncy5pbWFnZVNlbGVjdGlvbkVuYWJsZWQpIHRoaXMuaW1hZ2VTZXR0aW5ncy5pbWFnZVNlbGVjdGlvbkVuYWJsZWQgPSB0aGlzLmRlZmF1bHRJbWFnZVNldHRpbmdzLmltYWdlU2VsZWN0aW9uRW5hYmxlZDtcbiAgICAgIGlmKCFpbWFnZVNldHRpbmdzLm1lZGlhU2VsZWN0aW9uRW5hYmxlZCkgdGhpcy5pbWFnZVNldHRpbmdzLm1lZGlhU2VsZWN0aW9uRW5hYmxlZCA9IHRoaXMuZGVmYXVsdEltYWdlU2V0dGluZ3MubWVkaWFTZWxlY3Rpb25FbmFibGVkO1xuICAgICAgaWYoIWltYWdlU2V0dGluZ3Mud2ViY2FtU2VsZWN0aW9uRW5hYmxlZCkgdGhpcy5pbWFnZVNldHRpbmdzLndlYmNhbVNlbGVjdGlvbkVuYWJsZWQgPSB0aGlzLmRlZmF1bHRJbWFnZVNldHRpbmdzLndlYmNhbVNlbGVjdGlvbkVuYWJsZWQ7XG4gICAgICBpZighaW1hZ2VTZXR0aW5ncy5kZWxldGVFbmFibGVkKSB0aGlzLmltYWdlU2V0dGluZ3MuZGVsZXRlRW5hYmxlZCA9IHRoaXMuZGVmYXVsdEltYWdlU2V0dGluZ3MuZGVsZXRlRW5hYmxlZDtcbiAgICB9XG4gIH1cblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgICAgICAgQFNlbGYoKSBAT3B0aW9uYWwoKSBwdWJsaWMgbmdDb250cm9sOiBOZ0NvbnRyb2wsXG4gICAgICAgICAgICAgIHB1YmxpYyBkaWFsb2dTZXJ2aWNlOiBEaWFsb2dTZXJ2aWNlLFxuICAgICAgICAgICAgICBwcml2YXRlIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSkge1xuICAgIHRoaXMubmdDb250cm9sLnZhbHVlQWNjZXNzb3IgPSB0aGlzO1xuICB9XG59XG4iLCI8b25zaG9yZS1mb3JtLWl0ZW0tY29udGFpbmVyIFtmb3JtVGVtcGxhdGVdPVwiZm9ybVRlbXBsYXRlXCIgW25nQ29udHJvbF09XCJuZ0NvbnRyb2xcIj5cbiAgPGRpdiBjbGFzcz1cInctZnVsbCBmbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBmbGV4LXdyYXBcIj5cblxuICAgIDxkaXYgY2xhc3M9XCJwb3NpdGlvbi1yZWxhdGl2ZSBmbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyIG9uc2hvcmUtYm9yZGVyLWdyYXktNCBib3JkZXItc29saWQgYm9yZGVyLTFcIiBzdHlsZT1cImJhY2tncm91bmQtY29sb3I6IHdoaXRlXCI+XG4gICAgICA8b25zaG9yZS1pbWFnZS1wbGFjZWhvbGRlclxuICAgICAgICBjbGFzcz1cInctZnVsbFwiXG4gICAgICAgIFtpbWFnZV09XCJpbWFnZVwiXG4gICAgICAgIGltYWdlU3R5bGU9XCJwb3NpdGlvbjogYWJzb2x1dDsgaGVpZ2h0OiAyNTBweDsgd2lkdGg6IDI1MHB4XCJcbiAgICAgICAgW3BsYWNlaG9sZGVySWNvbl09XCJpbWFnZVNldHRpbmdzLnBsYWNlaG9sZGVySWNvblwiXG4gICAgICAgIFtwbGFjZWhvbGRlckltYWdlXT1cImltYWdlU2V0dGluZ3MucGxhY2Vob2xkZXJJbWFnZVwiXG4gICAgICAgIHBsYWNlaG9sZGVyU3R5bGU9XCJ3aWR0aDogMjUwcHg7IGhlaWdodDogMjUwcHhcIj5cbiAgICAgIDwvb25zaG9yZS1pbWFnZS1wbGFjZWhvbGRlcj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sdW1uIG0tNFwiPlxuICAgICAgPGJ1dHRvbiBwQnV0dG9uXG4gICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICBbaGlkZGVuXT1cIiFpbWFnZVNldHRpbmdzLmltYWdlU2VsZWN0aW9uRW5hYmxlZFwiXG4gICAgICAgICAgICAgIGljb249XCJmYSBmYS1pbWFnZVwiXG4gICAgICAgICAgICAgIFtsYWJlbF09XCInZm9ybS5pbWFnZUNvbnRyb2wudXBsb2FkSW1hZ2VCdXR0b24nIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJvbnNob3JlLWJ1dHRvbi1wcmltYXJ5IG1iLTJcIlxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwiaW1hZ2VDaG9vc2VyRGlhbG9nVmlzaWJsZSA9IHRydWU7IGNkci5kZXRlY3RDaGFuZ2VzKClcIj5cbiAgICAgIDwvYnV0dG9uPlxuXG4gICAgICA8YnV0dG9uIHBCdXR0b25cbiAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgIFtoaWRkZW5dPVwiIWltYWdlU2V0dGluZ3Mud2ViY2FtU2VsZWN0aW9uRW5hYmxlZFwiXG4gICAgICAgICAgICAgIGljb249XCJmYSBmYS1jYW1lcmFcIlxuICAgICAgICAgICAgICBbbGFiZWxdPVwiJ2Zvcm0uaW1hZ2VDb250cm9sLndlYmNhbUltYWdlQnV0dG9uJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgIGNsYXNzPVwib25zaG9yZS1idXR0b24tbGlnaHQgbWItMlwiXG4gICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJ3ZWJjYW1EaWFsb2dWaXNpYmxlID0gdHJ1ZVwiPlxuICAgICAgPC9idXR0b24+XG5cbiAgICAgIDxidXR0b24gcEJ1dHRvblxuICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgW2hpZGRlbl09XCIhaW1hZ2VTZXR0aW5ncy5tZWRpYVNlbGVjdGlvbkVuYWJsZWRcIlxuICAgICAgICAgICAgICBpY29uPVwiZmEgZmEtcGhvdG8tdmlkZW9cIlxuICAgICAgICAgICAgICBbbGFiZWxdPVwiJ2Zvcm0uaW1hZ2VDb250cm9sLm1lZGlhSW1hZ2VCdXR0b24nIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJvbnNob3JlLWJ1dHRvbi1saWdodCBtYi0yXCJcbiAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdEZyb21NZWRpYS5lbWl0KClcIj5cbiAgICAgIDwvYnV0dG9uPlxuXG4gICAgICA8YnV0dG9uIHBCdXR0b25cbiAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgIFtoaWRkZW5dPVwiIWltYWdlU2V0dGluZ3MuZGVsZXRlRW5hYmxlZFwiXG4gICAgICAgICAgICAgIGljb249XCJmYSBmYS1lcmFzZXJcIlxuICAgICAgICAgICAgICBbbGFiZWxdPVwiJ2Zvcm0uaW1hZ2VDb250cm9sLnJlbW92ZUltYWdlQnV0dG9uJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgIGNsYXNzPVwib25zaG9yZS1idXR0b24tbGlnaHRcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwicmVtb3ZlSW1hZ2UoKVwiXG4gICAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhaW1hZ2UgfHwgZGlzYWJsZWRcIj5cbiAgICAgIDwvYnV0dG9uPlxuXG4gICAgPC9kaXY+XG5cbiAgPC9kaXY+XG48L29uc2hvcmUtZm9ybS1pdGVtLWNvbnRhaW5lcj5cblxuPHAtZGlhbG9nIFtoZWFkZXJdPVwiJ2Zvcm0uaW1hZ2VDb250cm9sLnVwbG9hZEltYWdlVGl0bGUnIHwgdHJhbnNsYXRlXCIgWyh2aXNpYmxlKV09XCJpbWFnZUNob29zZXJEaWFsb2dWaXNpYmxlXCIgW21vZGFsXT1cInRydWVcIiBbc3R5bGVdPVwieydtYXgtd2lkdGgnOiAnNTB2dyd9XCI+XG4gIDxvbnNob3JlLWltYWdlLWNob29zZXJcbiAgICAgICAgICAgICAgICAgICAgIChjaG9vc2VuKT1cImdldEZpbGVJbWFnZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgIChjYW5jZWxlZCk9XCJpbWFnZUNob29zZXJEaWFsb2dWaXNpYmxlID0gZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICAgW3Jlc2l6ZVRvV2lkdGhdPVwiaW1hZ2VTZXR0aW5ncy5pbWFnZVdpZHRoXCJcbiAgICAgICAgICAgICAgICAgICAgIFtyZXNpemVUb0hlaWdodF09XCJpbWFnZVNldHRpbmdzLmltYWdlSGVpZ2h0XCJcbiAgICAgICAgICAgICAgICAgICAgIFtjb250YWluV2l0aGluQXNwZWN0UmF0aW9dPVwiaW1hZ2VTZXR0aW5ncy5jb250YWluV2l0aGluQXNwZWN0UmF0aW9cIlxuICAgICAgICAgICAgICAgICAgICAgW2FzcGVjdFJhdGlvXT1cImltYWdlU2V0dGluZ3MuYXNwZWN0UmF0aW9cIlxuICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yPVwidHJhbnNwYXJlbnRcIj5cbiAgPC9vbnNob3JlLWltYWdlLWNob29zZXI+XG48L3AtZGlhbG9nPlxuXG48cC1kaWFsb2cgW2hlYWRlcl09XCInZm9ybS5pbWFnZUNvbnRyb2wud2ViYWNtSW1hZ2VUaXRsZScgfCB0cmFuc2xhdGVcIiBbKHZpc2libGUpXT1cIndlYmNhbURpYWxvZ1Zpc2libGVcIiBbbW9kYWxdPVwidHJ1ZVwiIFtzdHlsZV09XCJ7J21heC13aWR0aCc6ICc1MHZ3J31cIj5cbiAgPG9uc2hvcmUtd2ViY2FtICpuZ0lmPVwid2ViY2FtRGlhbG9nVmlzaWJsZVwiIChzaG90KT1cImdldFdlYmNhbUltYWdlKCRldmVudClcIiAoY2FuY2VsZWQpPVwid2ViY2FtRGlhbG9nVmlzaWJsZSA9IGZhbHNlXCI+PC9vbnNob3JlLXdlYmNhbT5cbjwvcC1kaWFsb2c+XG4iXX0=
|
|
198
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1pbWFnZS1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29uc2hvcmUtZm9ybXMvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0taW1hZ2UtaXRlbS9mb3JtLWltYWdlLWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb25zaG9yZS1mb3Jtcy9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS1pbWFnZS1pdGVtL2Zvcm0taW1hZ2UtaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUM5QixRQUFRLEVBQUUsTUFBTSxFQUNoQixJQUFJLEVBQ0wsTUFBTSxlQUFlLENBQUM7QUFNdkIsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7Ozs7Ozs7OztBQU9uRSxNQUFNLE9BQU8sNkJBQTZCO0lBeUp4QyxZQUFtQixHQUFzQixFQUNGLFNBQW9CLEVBQ3hDLGFBQTRCO1FBRjVCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQ0YsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUN4QyxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQXZKckMsaUJBQVksR0FBeUIsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUN4RCxpQkFBWSxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3JELGVBQVUsR0FBeUIsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUN0RCxvQkFBZSxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3hELGNBQVMsR0FBMEIsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUVoRSw4QkFBeUIsR0FBRyx5QkFBeUIsQ0FBQztRQUV0RCx5QkFBb0IsR0FBNkI7WUFDL0MsVUFBVSxFQUFFLEdBQUc7WUFDZixXQUFXLEVBQUUsR0FB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LE1BQU07OzBCQTRKbEMsSUFBSTs7MEJBQUksUUFBUTt3RUF6SnBCLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFFSSxZQUFZO3NCQUFyQixNQUFNO2dCQUNHLFlBQVk7c0JBQXJCLE1BQU07Z0JBQ0csVUFBVTtzQkFBbkIsTUFBTTtnQkFDRyxlQUFlO3NCQUF4QixNQUFNO2dCQUNHLFNBQVM7c0JBQWxCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIE9uSW5pdCxcbiAgT3B0aW9uYWwsIE91dHB1dCxcbiAgU2VsZiwgU2ltcGxlQ2hhbmdlc1xufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOZ0NvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IERpYWxvZ1NlcnZpY2UgfSBmcm9tICdwcmltZW5nL2R5bmFtaWNkaWFsb2cnO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgT25zaG9yZUZvcm1JbWFnZVNldHRpbmdzLCBPbnNob3JlRm9ybVRlbXBsYXRlSXRlbSB9IGZyb20gJy4uLy4uL21vZGVscy9mb3JtLm1vZGVscyc7XG5pbXBvcnQgeyBPbnNob3JlRm9ybVRlbXBsYXRlTGF5b3V0IH0gZnJvbSAnLi4vLi4vZW51bXMvZm9ybS5lbnVtcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ29uc2hvcmUtZm9ybS1pbWFnZS1pdGVtJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Zvcm0taW1hZ2UtaXRlbS5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBPbnNob3JlRm9ybUltYWdlSXRlbUNvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBPbkluaXQsIE9uRGVzdHJveSwgT25DaGFuZ2VzIHtcbiAgQElucHV0KCkgZm9ybVRlbXBsYXRlITogT25zaG9yZUZvcm1UZW1wbGF0ZUl0ZW07XG4gIEBJbnB1dCgpIGltYWdlU2V0dGluZ3M6IE9uc2hvcmVGb3JtSW1hZ2VTZXR0aW5ncztcblxuICBAT3V0cHV0KCkgaW1hZ2VEZWxldGVkOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIGltYWdlQ2xlYXJlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBpbWFnZVJlYWR5OiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIHNlbGVjdEZyb21NZWRpYTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBpc0xvYWRpbmc6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBPbnNob3JlRm9ybVRlbXBsYXRlTGF5b3V0ID0gT25zaG9yZUZvcm1UZW1wbGF0ZUxheW91dDtcblxuICBkZWZhdWx0SW1hZ2VTZXR0aW5nczogT25zaG9yZUZvcm1JbWFnZVNldHRpbmdzID0ge1xuICAgIGltYWdlV2lkdGg6IDQwMCxcbiAgICBpbWFnZUhlaWdodDogNDAwLFxuICAgIGNvbnRhaW5XaXRoaW5Bc3BlY3RSYXRpbzogZmFsc2UsXG4gICAgYXNwZWN0UmF0aW86IDEgLyAxLFxuICAgIGltYWdlU2VsZWN0aW9uRW5hYmxlZDogdHJ1ZSxcbiAgICB3ZWJjYW1TZWxlY3Rpb25FbmFibGVkOiB0cnVlLFxuICAgIG1lZGlhU2VsZWN0aW9uRW5hYmxlZDogdHJ1ZSxcbiAgICBkZWxldGVFbmFibGVkOiB0cnVlLFxuICAgIHBsYWNlaG9sZGVySW1hZ2U6ICcnLFxuICAgIHBsYWNlaG9sZGVySWNvbjogJ2ZhIGZhLWltYWdlIGZhLTEweCcsXG4gICAgY29udGFpbmVyV2lkdGg6IDI1MCxcbiAgICBjb250YWluZXJIZWlnaHQ6IDI1MCxcbiAgICBpbWFnZVF1YWxpdHk6IDEwMCxcbiAgICBmb3JtYXQ6ICdwbmcnLFxuICAgIGFsaWduSW1hZ2U6ICdjZW50ZXInLFxuICAgIGNyb3BwZXJQcmV2aWV3V2lkdGg6IDQwMCxcbiAgICBjcm9wcGVyUHJldmlld0hlaWdodDogNDAwLFxuICAgIHdlYmNhbVdpZHRoOiA0MDAsXG4gICAgd2ViY2FtSGVpZ2h0OiA0MDAsXG4gICAgY2lyY2xlQ3JvcHBlcjogZmFsc2UsXG4gICAgbWF4RmlsZVNpemU6IDY0MDAwMDAsXG4gICAgYmFja2dyb3VuZENvbG9yOiAnd2hpdGUnXG4gIH07XG5cbiAgaW1hZ2U6IHN0cmluZyB8IG51bGwgPSAnJztcbiAgZGlzYWJsZWQgPSBmYWxzZTtcbiAgd2ViY2FtRGlhbG9nVmlzaWJsZTogYm9vbGVhbiA9IGZhbHNlO1xuICBpbWFnZUNob29zZXJEaWFsb2dWaXNpYmxlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgc3Vic2NyaXB0aW9uczogQXJyYXk8U3Vic2NyaXB0aW9uPiA9IFtdO1xuXG4gIGdldEZpbGVJbWFnZShpbWFnZTogYW55KSB7XG4gICAgdGhpcy5pbWFnZUNob29zZXJEaWFsb2dWaXNpYmxlID0gZmFsc2U7XG4gICAgaWYoaW1hZ2UpIHtcbiAgICAgIHRoaXMuaW1hZ2UgPSBpbWFnZTtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgdGhpcy5uZ0NvbnRyb2w/LmNvbnRyb2w/LnNldFZhbHVlKHRoaXMuaW1hZ2UpO1xuICAgICAgICB0aGlzLm5nQ29udHJvbD8uY29udHJvbD8ubWFya0FzRGlydHkoKTtcbiAgICAgICAgdGhpcy5pbWFnZVJlYWR5LmVtaXQodGhpcy5pbWFnZSk7XG4gICAgICB9LCA1MDApO1xuICAgIH1cbiAgfVxuXG4gIGdldFdlYmNhbUltYWdlKGltYWdlOiBhbnkpIHtcbiAgICB0aGlzLndlYmNhbURpYWxvZ1Zpc2libGUgPSBmYWxzZTtcbiAgICBpZihpbWFnZSkge1xuICAgICAgdGhpcy5pbWFnZSA9IGltYWdlO1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICB0aGlzLm5nQ29udHJvbD8uY29udHJvbD8uc2V0VmFsdWUodGhpcy5pbWFnZSk7XG4gICAgICAgIHRoaXMubmdDb250cm9sPy5jb250cm9sPy5tYXJrQXNEaXJ0eSgpO1xuICAgICAgICB0aGlzLmltYWdlUmVhZHkuZW1pdCh0aGlzLmltYWdlKTtcbiAgICAgIH0sIDUwMCk7XG4gICAgfVxuICB9XG5cbiAgcmVtb3ZlSW1hZ2UoKSB7XG4gICAgaWYodGhpcy5pbWFnZSAmJiAhdGhpcy5pbWFnZS5pbmNsdWRlcygnYmFzZTY0JykpIHtcbiAgICAgIHRoaXMuaW1hZ2VEZWxldGVkLmVtaXQodGhpcy5pbWFnZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaW1hZ2VDbGVhcmVkLmVtaXQoKTtcbiAgICB9XG5cbiAgICB0aGlzLm5nQ29udHJvbD8uY29udHJvbD8uc2V0VmFsdWUobnVsbCk7XG4gICAgdGhpcy5pbWFnZSA9ICcnO1xuICB9XG5cbiAgcHVibGljIHdyaXRlVmFsdWUob2JqOiBhbnkpOiB2b2lkIHtcbiAgICBpZihvYmogJiYgIW9iai5pbmNsdWRlcygnYmFzZTY0JykpIHtcbiAgICAgIHRoaXMuaW1hZ2UgPSBvYmo7XG4gICAgfVxuICAgIGlmKG9iaiA9PSBudWxsKSB7XG4gICAgICB0aGlzLmltYWdlID0gJyc7XG4gICAgfVxuXG4gICAgdGhpcy5pbWFnZVJlYWR5LmVtaXQodGhpcy5pbWFnZSk7XG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBwdWJsaWMgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgaWYodGhpcy5uZ0NvbnRyb2wudmFsdWUpIHtcbiAgICAgIHRoaXMuaW1hZ2UgPSB0aGlzLm5nQ29udHJvbC52YWx1ZTtcbiAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7fVxuXG4gIHB1YmxpYyBzZXREaXNhYmxlZFN0YXRlPyhpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZih0aGlzLm5nQ29udHJvbD8uY29udHJvbD8udmFsdWUgPT0gJycgJiYgdGhpcy5mb3JtVGVtcGxhdGUuZGVmYXVsdCAhPSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMubmdDb250cm9sPy5jb250cm9sPy5zZXRWYWx1ZSh0aGlzLmZvcm1UZW1wbGF0ZS5kZWZhdWx0KTtcbiAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5mb3JFYWNoKChzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbikgPT4ge1xuICAgICAgc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfSk7XG4gICAgdGhpcy5uZ0NvbnRyb2w/LmNvbnRyb2w/LmRpc2FibGUoKTtcbiAgICB0aGlzLmltYWdlID0gbnVsbDtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBjb25zdCBpbWFnZVNldHRpbmdzOiBPbnNob3JlRm9ybUltYWdlU2V0dGluZ3MgPSBjaGFuZ2VzWydpbWFnZVNldHRpbmdzJ10/LmN1cnJlbnRWYWx1ZTtcbiAgICBpZihpbWFnZVNldHRpbmdzKSB7XG4gICAgICBpZighaW1hZ2VTZXR0aW5ncy5pbWFnZVdpZHRoIHx8ICFpbWFnZVNldHRpbmdzLmltYWdlSGVpZ2h0KSB7XG4gICAgICAgIHRoaXMuaW1hZ2VTZXR0aW5ncy5pbWFnZVdpZHRoID0gdGhpcy5kZWZhdWx0SW1hZ2VTZXR0aW5ncy5pbWFnZVdpZHRoO1xuICAgICAgICB0aGlzLmltYWdlU2V0dGluZ3MuaW1hZ2VIZWlnaHQgPSB0aGlzLmRlZmF1bHRJbWFnZVNldHRpbmdzLmltYWdlSGVpZ2h0O1xuICAgICAgfVxuICAgICAgaWYoIWltYWdlU2V0dGluZ3MucGxhY2Vob2xkZXJJY29uICYmICFpbWFnZVNldHRpbmdzLnBsYWNlaG9sZGVySW1hZ2UpIHRoaXMuaW1hZ2VTZXR0aW5ncy5wbGFjZWhvbGRlckljb24gPSB0aGlzLmRlZmF1bHRJbWFnZVNldHRpbmdzLnBsYWNlaG9sZGVySWNvbjtcbiAgICAgIGlmKCFpbWFnZVNldHRpbmdzLmFzcGVjdFJhdGlvKSB0aGlzLmltYWdlU2V0dGluZ3MuYXNwZWN0UmF0aW8gPSB0aGlzLmRlZmF1bHRJbWFnZVNldHRpbmdzLmFzcGVjdFJhdGlvO1xuICAgICAgaWYoIWltYWdlU2V0dGluZ3MuY29udGFpbldpdGhpbkFzcGVjdFJhdGlvKSB0aGlzLmltYWdlU2V0dGluZ3MuY29udGFpbldpdGhpbkFzcGVjdFJhdGlvID0gdGhpcy5kZWZhdWx0SW1hZ2VTZXR0aW5ncy5jb250YWluV2l0aGluQXNwZWN0UmF0aW87XG4gICAgICBpZihpbWFnZVNldHRpbmdzLmltYWdlU2VsZWN0aW9uRW5hYmxlZCA9PSBudWxsKSB0aGlzLmltYWdlU2V0dGluZ3MuaW1hZ2VTZWxlY3Rpb25FbmFibGVkID0gdGhpcy5kZWZhdWx0SW1hZ2VTZXR0aW5ncy5pbWFnZVNlbGVjdGlvbkVuYWJsZWQ7XG4gICAgICBpZihpbWFnZVNldHRpbmdzLm1lZGlhU2VsZWN0aW9uRW5hYmxlZCA9PSBudWxsKSB0aGlzLmltYWdlU2V0dGluZ3MubWVkaWFTZWxlY3Rpb25FbmFibGVkID0gdGhpcy5kZWZhdWx0SW1hZ2VTZXR0aW5ncy5tZWRpYVNlbGVjdGlvbkVuYWJsZWQ7XG4gICAgICBpZihpbWFnZVNldHRpbmdzLndlYmNhbVNlbGVjdGlvbkVuYWJsZWQgPT0gbnVsbCkgdGhpcy5pbWFnZVNldHRpbmdzLndlYmNhbVNlbGVjdGlvbkVuYWJsZWQgPSB0aGlzLmRlZmF1bHRJbWFnZVNldHRpbmdzLndlYmNhbVNlbGVjdGlvbkVuYWJsZWQ7XG4gICAgICBpZihpbWFnZVNldHRpbmdzLmRlbGV0ZUVuYWJsZWQgPT0gbnVsbCkgdGhpcy5pbWFnZVNldHRpbmdzLmRlbGV0ZUVuYWJsZWQgPSB0aGlzLmRlZmF1bHRJbWFnZVNldHRpbmdzLmRlbGV0ZUVuYWJsZWQ7XG4gICAgICBpZihpbWFnZVNldHRpbmdzLmNvbnRhaW5lcldpZHRoID09IG51bGwpIHRoaXMuaW1hZ2VTZXR0aW5ncy5jb250YWluZXJXaWR0aCA9IHRoaXMuZGVmYXVsdEltYWdlU2V0dGluZ3MuY29udGFpbmVyV2lkdGg7XG4gICAgICBpZihpbWFnZVNldHRpbmdzLmNvbnRhaW5lckhlaWdodCA9PSBudWxsKSB0aGlzLmltYWdlU2V0dGluZ3MuY29udGFpbmVySGVpZ2h0ID0gdGhpcy5kZWZhdWx0SW1hZ2VTZXR0aW5ncy5jb250YWluZXJIZWlnaHQ7XG4gICAgICBpZihpbWFnZVNldHRpbmdzLmltYWdlUXVhbGl0eSA9PSBudWxsKSB0aGlzLmltYWdlU2V0dGluZ3MuaW1hZ2VRdWFsaXR5ID0gdGhpcy5kZWZhdWx0SW1hZ2VTZXR0aW5ncy5pbWFnZVF1YWxpdHk7XG4gICAgICBpZihpbWFnZVNldHRpbmdzLmZvcm1hdCA9PSBudWxsKSB0aGlzLmltYWdlU2V0dGluZ3MuZm9ybWF0ID0gdGhpcy5kZWZhdWx0SW1hZ2VTZXR0aW5ncy5mb3JtYXQ7XG4gICAgICBpZihpbWFnZVNldHRpbmdzLmFsaWduSW1hZ2UgPT0gbnVsbCkgdGhpcy5pbWFnZVNldHRpbmdzLmFsaWduSW1hZ2UgPSB0aGlzLmRlZmF1bHRJbWFnZVNldHRpbmdzLmFsaWduSW1hZ2U7XG4gICAgICBpZihpbWFnZVNldHRpbmdzLmNyb3BwZXJQcmV2aWV3V2lkdGggPT0gbnVsbCkgdGhpcy5pbWFnZVNldHRpbmdzLmNyb3BwZXJQcmV2aWV3V2lkdGggPSB0aGlzLmRlZmF1bHRJbWFnZVNldHRpbmdzLmNyb3BwZXJQcmV2aWV3V2lkdGg7XG4gICAgICBpZihpbWFnZVNldHRpbmdzLmNyb3BwZXJQcmV2aWV3SGVpZ2h0ID09IG51bGwpIHRoaXMuaW1hZ2VTZXR0aW5ncy5jcm9wcGVyUHJldmlld0hlaWdodCA9IHRoaXMuZGVmYXVsdEltYWdlU2V0dGluZ3MuY3JvcHBlclByZXZpZXdIZWlnaHQ7XG4gICAgICBpZihpbWFnZVNldHRpbmdzLmNpcmNsZUNyb3BwZXIgPT0gbnVsbCkgdGhpcy5pbWFnZVNldHRpbmdzLmNpcmNsZUNyb3BwZXIgPSB0aGlzLmRlZmF1bHRJbWFnZVNldHRpbmdzLmNpcmNsZUNyb3BwZXI7XG4gICAgICBpZihpbWFnZVNldHRpbmdzLm1heEZpbGVTaXplID09IG51bGwpIHRoaXMuaW1hZ2VTZXR0aW5ncy5tYXhGaWxlU2l6ZSA9IHRoaXMuZGVmYXVsdEltYWdlU2V0dGluZ3MubWF4RmlsZVNpemU7XG4gICAgICBpZihpbWFnZVNldHRpbmdzLmJhY2tncm91bmRDb2xvciA9PSBudWxsKSB0aGlzLmltYWdlU2V0dGluZ3MuYmFja2dyb3VuZENvbG9yID0gdGhpcy5kZWZhdWx0SW1hZ2VTZXR0aW5ncy5iYWNrZ3JvdW5kQ29sb3I7XG4gICAgICBpZihpbWFnZVNldHRpbmdzLndlYmNhbVdpZHRoID09IG51bGwpIHRoaXMuaW1hZ2VTZXR0aW5ncy53ZWJjYW1XaWR0aCA9IHRoaXMuZGVmYXVsdEltYWdlU2V0dGluZ3Mud2ViY2FtV2lkdGg7XG4gICAgICBpZihpbWFnZVNldHRpbmdzLndlYmNhbUhlaWdodCA9PSBudWxsKSB0aGlzLmltYWdlU2V0dGluZ3Mud2ViY2FtSGVpZ2h0ID0gdGhpcy5kZWZhdWx0SW1hZ2VTZXR0aW5ncy53ZWJjYW1IZWlnaHQ7XG4gICAgfVxuICAgIHRoaXMucmVtb3ZlSW1hZ2UoKTtcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICAgICAgICBAU2VsZigpIEBPcHRpb25hbCgpIHB1YmxpYyBuZ0NvbnRyb2w6IE5nQ29udHJvbCxcbiAgICAgICAgICAgICAgcHVibGljIGRpYWxvZ1NlcnZpY2U6IERpYWxvZ1NlcnZpY2UpIHtcbiAgICB0aGlzLm5nQ29udHJvbC52YWx1ZUFjY2Vzc29yID0gdGhpcztcbiAgfVxufVxuIiwiPG9uc2hvcmUtZm9ybS1pdGVtLWNvbnRhaW5lciBbZm9ybVRlbXBsYXRlXT1cImZvcm1UZW1wbGF0ZVwiIFtuZ0NvbnRyb2xdPVwibmdDb250cm9sXCI+XG4gIDxkaXYgY2xhc3M9XCJ3LWZ1bGwgZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZmxleC13cmFwXCIgW2NsYXNzLmZsZXgtY29sdW1uXT1cImZvcm1UZW1wbGF0ZS5sYXlvdXQgPT09IE9uc2hvcmVGb3JtVGVtcGxhdGVMYXlvdXQudmVydGljYWxcIj5cblxuICAgIDxkaXYgY2xhc3M9XCJwb3NpdGlvbi1yZWxhdGl2ZSBmbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyIG9uc2hvcmUtYm9yZGVyLWdyYXktNCBib3JkZXItc29saWQgYm9yZGVyLTFcIiBzdHlsZT1cImJhY2tncm91bmQtY29sb3I6IHdoaXRlXCI+XG4gICAgICA8b25zaG9yZS1pbWFnZS1wbGFjZWhvbGRlclxuICAgICAgICBjbGFzcz1cInctZnVsbFwiXG4gICAgICAgIFtpbWFnZV09XCJpbWFnZVwiXG4gICAgICAgIFtpbWFnZVN0eWxlXT1cIidwb3NpdGlvbjogYWJzb2x1dDsgd2lkdGg6ICcgKyBpbWFnZVNldHRpbmdzLmNvbnRhaW5lcldpZHRoICsgJ3B4OyBoZWlnaHQ6ICcgKyBpbWFnZVNldHRpbmdzLmNvbnRhaW5lckhlaWdodCArICdweCdcIlxuICAgICAgICBbcGxhY2Vob2xkZXJJY29uXT1cImltYWdlU2V0dGluZ3MucGxhY2Vob2xkZXJJY29uXCJcbiAgICAgICAgW3BsYWNlaG9sZGVySW1hZ2VdPVwiaW1hZ2VTZXR0aW5ncy5wbGFjZWhvbGRlckltYWdlXCJcbiAgICAgICAgW3BsYWNlaG9sZGVyU3R5bGVdPVwiJ3dpZHRoOiAnICsgaW1hZ2VTZXR0aW5ncy5jb250YWluZXJXaWR0aCArICdweDsgaGVpZ2h0OiAnICsgaW1hZ2VTZXR0aW5ncy5jb250YWluZXJIZWlnaHQgKyAncHgnXCI+XG4gICAgICA8L29uc2hvcmUtaW1hZ2UtcGxhY2Vob2xkZXI+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbHVtbiBtLTRcIj5cbiAgICAgIDxidXR0b24gcEJ1dHRvblxuICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgKm5nSWY9XCJpbWFnZVNldHRpbmdzLmltYWdlU2VsZWN0aW9uRW5hYmxlZFwiXG4gICAgICAgICAgICAgIGljb249XCJmYSBmYS1pbWFnZVwiXG4gICAgICAgICAgICAgIFtsYWJlbF09XCInZm9ybS5pbWFnZUNvbnRyb2wudXBsb2FkSW1hZ2VCdXR0b24nIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJvbnNob3JlLWJ1dHRvbi1wcmltYXJ5IG1iLTJcIlxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwiaW1hZ2VDaG9vc2VyRGlhbG9nVmlzaWJsZSA9IHRydWU7IGNkci5kZXRlY3RDaGFuZ2VzKClcIj5cbiAgICAgIDwvYnV0dG9uPlxuXG4gICAgICA8YnV0dG9uIHBCdXR0b25cbiAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICpuZ0lmPVwiaW1hZ2VTZXR0aW5ncy53ZWJjYW1TZWxlY3Rpb25FbmFibGVkXCJcbiAgICAgICAgICAgICAgaWNvbj1cImZhIGZhLWNhbWVyYVwiXG4gICAgICAgICAgICAgIFtsYWJlbF09XCInZm9ybS5pbWFnZUNvbnRyb2wud2ViY2FtSW1hZ2VCdXR0b24nIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJvbnNob3JlLWJ1dHRvbi1saWdodCBtYi0yXCJcbiAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cIndlYmNhbURpYWxvZ1Zpc2libGUgPSB0cnVlXCI+XG4gICAgICA8L2J1dHRvbj5cblxuICAgICAgPGJ1dHRvbiBwQnV0dG9uXG4gICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAqbmdJZj1cImltYWdlU2V0dGluZ3MubWVkaWFTZWxlY3Rpb25FbmFibGVkXCJcbiAgICAgICAgICAgICAgaWNvbj1cImZhIGZhLXBob3RvLXZpZGVvXCJcbiAgICAgICAgICAgICAgW2xhYmVsXT1cIidmb3JtLmltYWdlQ29udHJvbC5tZWRpYUltYWdlQnV0dG9uJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgIGNsYXNzPVwib25zaG9yZS1idXR0b24tbGlnaHQgbWItMlwiXG4gICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3RGcm9tTWVkaWEuZW1pdCgpXCI+XG4gICAgICA8L2J1dHRvbj5cblxuICAgICAgPGJ1dHRvbiBwQnV0dG9uXG4gICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAqbmdJZj1cImltYWdlU2V0dGluZ3MuZGVsZXRlRW5hYmxlZFwiXG4gICAgICAgICAgICAgIGljb249XCJmYSBmYS1lcmFzZXJcIlxuICAgICAgICAgICAgICBbbGFiZWxdPVwiJ2Zvcm0uaW1hZ2VDb250cm9sLnJlbW92ZUltYWdlQnV0dG9uJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgIGNsYXNzPVwib25zaG9yZS1idXR0b24tbGlnaHRcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwicmVtb3ZlSW1hZ2UoKVwiXG4gICAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhaW1hZ2UgfHwgZGlzYWJsZWRcIj5cbiAgICAgIDwvYnV0dG9uPlxuXG4gICAgPC9kaXY+XG5cbiAgPC9kaXY+XG48L29uc2hvcmUtZm9ybS1pdGVtLWNvbnRhaW5lcj5cblxuPHAtZGlhbG9nIFtoZWFkZXJdPVwiJ2Zvcm0uaW1hZ2VDb250cm9sLnVwbG9hZEltYWdlVGl0bGUnIHwgdHJhbnNsYXRlXCIgWyh2aXNpYmxlKV09XCJpbWFnZUNob29zZXJEaWFsb2dWaXNpYmxlXCIgW21vZGFsXT1cInRydWVcIiBbc3R5bGVdPVwieydtYXgtd2lkdGgnOiAnNTB2dyd9XCIgPlxuICA8b25zaG9yZS1pbWFnZS1jaG9vc2VyXG4gICAgICAgICAgICAgICAgICAgICAoY2hvb3Nlbik9XCJnZXRGaWxlSW1hZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAoY2FuY2VsZWQpPVwiaW1hZ2VDaG9vc2VyRGlhbG9nVmlzaWJsZSA9IGZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgIFtpbWFnZVNldHRpbmdzXT1cImltYWdlU2V0dGluZ3NcIj5cbiAgPC9vbnNob3JlLWltYWdlLWNob29zZXI+XG48L3AtZGlhbG9nPlxuXG48cC1kaWFsb2cgW2hlYWRlcl09XCInZm9ybS5pbWFnZUNvbnRyb2wud2ViYWNtSW1hZ2VUaXRsZScgfCB0cmFuc2xhdGVcIiBbKHZpc2libGUpXT1cIndlYmNhbURpYWxvZ1Zpc2libGVcIiBbbW9kYWxdPVwidHJ1ZVwiIFtzdHlsZV09XCJ7J21heC13aWR0aCc6ICc1MHZ3J31cIj5cbiAgPG9uc2hvcmUtd2ViY2FtXG4gICAgKm5nSWY9XCJ3ZWJjYW1EaWFsb2dWaXNpYmxlXCJcbiAgICAoc2hvdCk9XCJnZXRXZWJjYW1JbWFnZSgkZXZlbnQpXCJcbiAgICAoY2FuY2VsZWQpPVwid2ViY2FtRGlhbG9nVmlzaWJsZSA9IGZhbHNlXCJcbiAgICBbaW1hZ2VTZXR0aW5nc109XCJpbWFnZVNldHRpbmdzXCI+PC9vbnNob3JlLXdlYmNhbT5cbjwvcC1kaWFsb2c+XG4iXX0=
|
|
@@ -43,10 +43,10 @@ export class OnshoreFormItemContainer {
|
|
|
43
43
|
}
|
|
44
44
|
}
|
|
45
45
|
ngOnInit() {
|
|
46
|
-
this.ngControl?.control?.valueChanges.subscribe(
|
|
46
|
+
this.ngControl?.control?.valueChanges.subscribe(value => {
|
|
47
47
|
this.cdr.markForCheck();
|
|
48
48
|
});
|
|
49
|
-
this.ngControl?.control?.statusChanges.subscribe(
|
|
49
|
+
this.ngControl?.control?.statusChanges.subscribe(status => {
|
|
50
50
|
this.cdr.markForCheck();
|
|
51
51
|
});
|
|
52
52
|
this.enabled(this.formTemplate.enabled);
|
|
@@ -80,10 +80,10 @@ export class OnshoreFormItemContainer {
|
|
|
80
80
|
}
|
|
81
81
|
}
|
|
82
82
|
OnshoreFormItemContainer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: OnshoreFormItemContainer, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
83
|
-
OnshoreFormItemContainer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: OnshoreFormItemContainer, selector: "onshore-form-item-container", inputs: { formTemplate: "formTemplate", ngControl: "ngControl" }, host: { listeners: { "window:resize": "onWindowResize($event)" } }, viewQueries: [{ propertyName: "formContainer", first: true, predicate: ["formContainer"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"mb-4\" #formContainer>\n <div class=\"flex w-full\"\n [class.flex-column]=\"layout == OnshoreFormTemplateLayout.vertical\"\n [class.flex-row]=\"layout == OnshoreFormTemplateLayout.horizontal\"\n [class.justify-content-between]=\"layout == OnshoreFormTemplateLayout.horizontal\">\n\n <div #formLabel\n class=\"flex justify-content-between\"\n [style]=\"formTemplate.labelStyle ?? 'min-width: 200px'\">\n\n <b [class.mr-2]=\"layout == OnshoreFormTemplateLayout.horizontal\"\n [class.mb-2]=\"layout == OnshoreFormTemplateLayout.vertical\">\n {{formTemplate.label}}\n <small *ngIf=\"formTemplate.required\" class=\"onshore-color-danger\">*</small>\n </b>\n\n <div *ngIf=\"formTemplate.tooltip && layout == OnshoreFormTemplateLayout.vertical\" [pTooltip]=\"formTemplate.tooltip\" [escape]=\"false\" appendTo=\"body\"><i class=\"fa fa-circle-question onshore-color-gray-5\"></i></div>\n\n </div>\n\n <div class=\"flex w-full\">\n <p-toggleButton\n *ngIf=\"formTemplate.locked\"\n (onChange)=\"lockChanged($event.checked)\"\n onIcon=\"fa fa-lock-open\"\n offIcon=\"fa fa-lock\"\n class=\"mr-2\"\n [style]=\"{height: '36px'}\"\n [disabled]=\"!formTemplate.enabled\">\n </p-toggleButton>\n\n <ng-content></ng-content>\n </div>\n\n <div *ngIf=\"formTemplate.tooltip && layout == OnshoreFormTemplateLayout.horizontal\" class=\"ml-2 align-self-center\" [pTooltip]=\"formTemplate.tooltip\" [escape]=\"false\"><i class=\"fa fa-circle-question onshore-color-gray-5\"></i></div>\n </div>\n\n <div *ngIf=\"ngControl.control.dirty\" [style]=\"{'margin-left': layout == OnshoreFormTemplateLayout.horizontal ? formLabel.clientWidth + 'px' : '0px'}\">\n <onshore-form-validation-output\n [validationItems]=\"formTemplate.validationItems\"\n [validationErrors]=\"ngControl.control.errors\">\n </onshore-form-validation-output>\n </div>\n\n <div [style]=\"{'margin-left': layout == OnshoreFormTemplateLayout.horizontal ? formLabel.clientWidth + 'px' : '0px'}\">\n <small *ngIf=\"formTemplate.description\" class=\"mt-2 onshore-color-gray-5\"><i class=\"fa fa-info-circle\"></i> {{formTemplate.description}}</small>\n </div>\n\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "fitContent", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "component", type: i3.ToggleButton, selector: "p-toggleButton", inputs: ["onLabel", "offLabel", "onIcon", "offIcon", "ariaLabelledBy", "disabled", "style", "styleClass", "inputId", "tabindex", "iconPos"], outputs: ["onChange"] }, { kind: "component", type: i4.OnshoreFormValidationOutputComponent, selector: "onshore-form-validation-output", inputs: ["validationErrors", "validationItems"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
83
|
+
OnshoreFormItemContainer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: OnshoreFormItemContainer, selector: "onshore-form-item-container", inputs: { formTemplate: "formTemplate", ngControl: "ngControl" }, host: { listeners: { "window:resize": "onWindowResize($event)" } }, viewQueries: [{ propertyName: "formContainer", first: true, predicate: ["formContainer"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"mb-4\" #formContainer>\n <div class=\"flex w-full\"\n [class.flex-column]=\"layout == OnshoreFormTemplateLayout.vertical\"\n [class.flex-row]=\"layout == OnshoreFormTemplateLayout.horizontal\"\n [class.justify-content-between]=\"layout == OnshoreFormTemplateLayout.horizontal\">\n\n <div #formLabel\n class=\"flex justify-content-between\"\n [style]=\"formTemplate.labelStyle ?? 'min-width: 200px'\">\n\n <b [class.mr-2]=\"layout == OnshoreFormTemplateLayout.horizontal\"\n [class.mb-2]=\"layout == OnshoreFormTemplateLayout.vertical\">\n {{formTemplate.label}}\n <small *ngIf=\"formTemplate.required\" class=\"onshore-color-danger\">*</small>\n </b>\n\n <div *ngIf=\"formTemplate.tooltip && layout == OnshoreFormTemplateLayout.vertical\" [pTooltip]=\"formTemplate.tooltip\" [escape]=\"false\" appendTo=\"body\"><i class=\"fa fa-circle-question onshore-color-gray-5\"></i></div>\n\n </div>\n\n <div class=\"flex w-full\">\n <p-toggleButton\n *ngIf=\"formTemplate.locked\"\n (onChange)=\"lockChanged($event.checked)\"\n onIcon=\"fa fa-lock-open\"\n offIcon=\"fa fa-lock\"\n class=\"mr-2\"\n [style]=\"{height: '36px'}\"\n [disabled]=\"!formTemplate.enabled\">\n </p-toggleButton>\n\n <ng-content></ng-content>\n </div>\n\n <div *ngIf=\"formTemplate.tooltip && layout == OnshoreFormTemplateLayout.horizontal\" class=\"ml-2 align-self-center\" [pTooltip]=\"formTemplate.tooltip\" [escape]=\"false\"><i class=\"fa fa-circle-question onshore-color-gray-5\"></i></div>\n </div>\n\n <div *ngIf=\"ngControl.control.touched || ngControl.control.dirty\" [style]=\"{'margin-left': layout == OnshoreFormTemplateLayout.horizontal ? formLabel.clientWidth + 'px' : '0px'}\">\n <onshore-form-validation-output\n [validationItems]=\"formTemplate.validationItems\"\n [validationErrors]=\"ngControl.control.errors\">\n </onshore-form-validation-output>\n </div>\n\n <div [style]=\"{'margin-left': layout == OnshoreFormTemplateLayout.horizontal ? formLabel.clientWidth + 'px' : '0px'}\">\n <small *ngIf=\"formTemplate.description\" class=\"mt-2 onshore-color-gray-5\"><i class=\"fa fa-info-circle\"></i> {{formTemplate.description}}</small>\n </div>\n\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "fitContent", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "component", type: i3.ToggleButton, selector: "p-toggleButton", inputs: ["onLabel", "offLabel", "onIcon", "offIcon", "ariaLabelledBy", "disabled", "style", "styleClass", "inputId", "tabindex", "iconPos"], outputs: ["onChange"] }, { kind: "component", type: i4.OnshoreFormValidationOutputComponent, selector: "onshore-form-validation-output", inputs: ["validationErrors", "validationItems"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
84
84
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: OnshoreFormItemContainer, decorators: [{
|
|
85
85
|
type: Component,
|
|
86
|
-
args: [{ selector: 'onshore-form-item-container', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"mb-4\" #formContainer>\n <div class=\"flex w-full\"\n [class.flex-column]=\"layout == OnshoreFormTemplateLayout.vertical\"\n [class.flex-row]=\"layout == OnshoreFormTemplateLayout.horizontal\"\n [class.justify-content-between]=\"layout == OnshoreFormTemplateLayout.horizontal\">\n\n <div #formLabel\n class=\"flex justify-content-between\"\n [style]=\"formTemplate.labelStyle ?? 'min-width: 200px'\">\n\n <b [class.mr-2]=\"layout == OnshoreFormTemplateLayout.horizontal\"\n [class.mb-2]=\"layout == OnshoreFormTemplateLayout.vertical\">\n {{formTemplate.label}}\n <small *ngIf=\"formTemplate.required\" class=\"onshore-color-danger\">*</small>\n </b>\n\n <div *ngIf=\"formTemplate.tooltip && layout == OnshoreFormTemplateLayout.vertical\" [pTooltip]=\"formTemplate.tooltip\" [escape]=\"false\" appendTo=\"body\"><i class=\"fa fa-circle-question onshore-color-gray-5\"></i></div>\n\n </div>\n\n <div class=\"flex w-full\">\n <p-toggleButton\n *ngIf=\"formTemplate.locked\"\n (onChange)=\"lockChanged($event.checked)\"\n onIcon=\"fa fa-lock-open\"\n offIcon=\"fa fa-lock\"\n class=\"mr-2\"\n [style]=\"{height: '36px'}\"\n [disabled]=\"!formTemplate.enabled\">\n </p-toggleButton>\n\n <ng-content></ng-content>\n </div>\n\n <div *ngIf=\"formTemplate.tooltip && layout == OnshoreFormTemplateLayout.horizontal\" class=\"ml-2 align-self-center\" [pTooltip]=\"formTemplate.tooltip\" [escape]=\"false\"><i class=\"fa fa-circle-question onshore-color-gray-5\"></i></div>\n </div>\n\n <div *ngIf=\"ngControl.control.dirty\" [style]=\"{'margin-left': layout == OnshoreFormTemplateLayout.horizontal ? formLabel.clientWidth + 'px' : '0px'}\">\n <onshore-form-validation-output\n [validationItems]=\"formTemplate.validationItems\"\n [validationErrors]=\"ngControl.control.errors\">\n </onshore-form-validation-output>\n </div>\n\n <div [style]=\"{'margin-left': layout == OnshoreFormTemplateLayout.horizontal ? formLabel.clientWidth + 'px' : '0px'}\">\n <small *ngIf=\"formTemplate.description\" class=\"mt-2 onshore-color-gray-5\"><i class=\"fa fa-info-circle\"></i> {{formTemplate.description}}</small>\n </div>\n\n</div>\n" }]
|
|
86
|
+
args: [{ selector: 'onshore-form-item-container', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"mb-4\" #formContainer>\n <div class=\"flex w-full\"\n [class.flex-column]=\"layout == OnshoreFormTemplateLayout.vertical\"\n [class.flex-row]=\"layout == OnshoreFormTemplateLayout.horizontal\"\n [class.justify-content-between]=\"layout == OnshoreFormTemplateLayout.horizontal\">\n\n <div #formLabel\n class=\"flex justify-content-between\"\n [style]=\"formTemplate.labelStyle ?? 'min-width: 200px'\">\n\n <b [class.mr-2]=\"layout == OnshoreFormTemplateLayout.horizontal\"\n [class.mb-2]=\"layout == OnshoreFormTemplateLayout.vertical\">\n {{formTemplate.label}}\n <small *ngIf=\"formTemplate.required\" class=\"onshore-color-danger\">*</small>\n </b>\n\n <div *ngIf=\"formTemplate.tooltip && layout == OnshoreFormTemplateLayout.vertical\" [pTooltip]=\"formTemplate.tooltip\" [escape]=\"false\" appendTo=\"body\"><i class=\"fa fa-circle-question onshore-color-gray-5\"></i></div>\n\n </div>\n\n <div class=\"flex w-full\">\n <p-toggleButton\n *ngIf=\"formTemplate.locked\"\n (onChange)=\"lockChanged($event.checked)\"\n onIcon=\"fa fa-lock-open\"\n offIcon=\"fa fa-lock\"\n class=\"mr-2\"\n [style]=\"{height: '36px'}\"\n [disabled]=\"!formTemplate.enabled\">\n </p-toggleButton>\n\n <ng-content></ng-content>\n </div>\n\n <div *ngIf=\"formTemplate.tooltip && layout == OnshoreFormTemplateLayout.horizontal\" class=\"ml-2 align-self-center\" [pTooltip]=\"formTemplate.tooltip\" [escape]=\"false\"><i class=\"fa fa-circle-question onshore-color-gray-5\"></i></div>\n </div>\n\n <div *ngIf=\"ngControl.control.touched || ngControl.control.dirty\" [style]=\"{'margin-left': layout == OnshoreFormTemplateLayout.horizontal ? formLabel.clientWidth + 'px' : '0px'}\">\n <onshore-form-validation-output\n [validationItems]=\"formTemplate.validationItems\"\n [validationErrors]=\"ngControl.control.errors\">\n </onshore-form-validation-output>\n </div>\n\n <div [style]=\"{'margin-left': layout == OnshoreFormTemplateLayout.horizontal ? formLabel.clientWidth + 'px' : '0px'}\">\n <small *ngIf=\"formTemplate.description\" class=\"mt-2 onshore-color-gray-5\"><i class=\"fa fa-info-circle\"></i> {{formTemplate.description}}</small>\n </div>\n\n</div>\n" }]
|
|
87
87
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { formTemplate: [{
|
|
88
88
|
type: Input
|
|
89
89
|
}], ngControl: [{
|
|
@@ -95,4 +95,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImpor
|
|
|
95
95
|
type: HostListener,
|
|
96
96
|
args: ['window:resize', ['$event']]
|
|
97
97
|
}] } });
|
|
98
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1pdGVtLWNvbnRhaW5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vbnNob3JlLWZvcm1zL3NyYy9saWIvY29tcG9uZW50cy9mb3JtLWl0ZW0tY29udGFpbmVyL2Zvcm0taXRlbS1jb250YWluZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb25zaG9yZS1mb3Jtcy9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS1pdGVtLWNvbnRhaW5lci9mb3JtLWl0ZW0tY29udGFpbmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBR1UsU0FBUyxFQUN6QixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7O0FBUW5FLE1BQU0sT0FBTyx3QkFBd0I7SUF3Rm5DLFlBQW9CLEdBQXNCO1FBQXRCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBbEYxQyw4QkFBeUIsR0FBRyx5QkFBeUIsQ0FBQztRQUV0RCxXQUFNLEdBQThCLHlCQUF5QixDQUFDLElBQUksQ0FBQztJQWlGbkUsQ0FBQztJQS9FRCxPQUFPLENBQUMsTUFBZTtRQUNyQixVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ1osSUFBRyxNQUFNLEVBQUU7Z0JBQ1QsSUFBSSxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUM7YUFDbEM7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7YUFDbkM7WUFDRCxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQzVCLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUNWLENBQUM7SUFFRCxXQUFX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QUFNLENBQUM7Z0JBQ3ZDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQzthQUN2QjtZQUVELElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7U0FDekI7SUFDSCxDQUFDOztxSEF0RlUsd0JBQXdCO3lHQUF4Qix3QkFBd0IsOFVDbkJyQyw4dkVBaURBOzJGRDlCYSx3QkFBd0I7a0JBTHBDLFNBQVM7K0JBQ0UsNkJBQTZCLG1CQUV0Qix1QkFBdUIsQ0FBQyxNQUFNO3dHQUd0QyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBRXNCLGFBQWE7c0JBQXhDLFNBQVM7dUJBQUMsZUFBZTtnQkEyQjFCLGNBQWM7c0JBRGIsWUFBWTt1QkFBQyxlQUFlLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCwgRWxlbWVudFJlZixcbiAgSG9zdExpc3RlbmVyLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkluaXQsXG4gIFNpbXBsZUNoYW5nZXMsIFZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9uc2hvcmVGb3JtVGVtcGxhdGVJdGVtIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2Zvcm0ubW9kZWxzJztcbmltcG9ydCB7IE9uc2hvcmVGb3JtVGVtcGxhdGVMYXlvdXQgfSBmcm9tICcuLi8uLi9lbnVtcy9mb3JtLmVudW1zJztcbmltcG9ydCB7IE5nQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnb25zaG9yZS1mb3JtLWl0ZW0tY29udGFpbmVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Zvcm0taXRlbS1jb250YWluZXIuY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgT25zaG9yZUZvcm1JdGVtQ29udGFpbmVyIGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuICBASW5wdXQoKSBmb3JtVGVtcGxhdGUhOiBPbnNob3JlRm9ybVRlbXBsYXRlSXRlbTtcbiAgQElucHV0KCkgbmdDb250cm9sITogTmdDb250cm9sO1xuXG4gIEBWaWV3Q2hpbGQoJ2Zvcm1Db250YWluZXInKSBmb3JtQ29udGFpbmVyITogRWxlbWVudFJlZjtcblxuICBPbnNob3JlRm9ybVRlbXBsYXRlTGF5b3V0ID0gT25zaG9yZUZvcm1UZW1wbGF0ZUxheW91dDtcblxuICBsYXlvdXQ6IE9uc2hvcmVGb3JtVGVtcGxhdGVMYXlvdXQgPSBPbnNob3JlRm9ybVRlbXBsYXRlTGF5b3V0LmF1dG87XG5cbiAgZW5hYmxlZChlbmFibGU6IGJvb2xlYW4pIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgaWYoZW5hYmxlKSB7XG4gICAgICAgICAgdGhpcy5uZ0NvbnRyb2w/LmNvbnRyb2wuZW5hYmxlKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5uZ0NvbnRyb2w/LmNvbnRyb2wuZGlzYWJsZSgpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgIH0sIDEwMCk7XG4gIH1cblxuICBsb2NrQ2hhbmdlZCh1bmxvY2tlZDogYm9vbGVhbikge1xuICAgIGlmKHVubG9ja2VkICYmIHRoaXMuZm9ybVRlbXBsYXRlLmVuYWJsZWQpIHtcbiAgICAgIHRoaXMuZW5hYmxlZCh0cnVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5lbmFibGVkKGZhbHNlKTtcbiAgICB9XG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCd3aW5kb3c6cmVzaXplJywgWyckZXZlbnQnXSlcbiAgb25XaW5kb3dSZXNpemUoKSB7XG4gICAgY29uc3QgY29uYXRpbmVyV2lkdGggPSB0aGlzLmZvcm1Db250YWluZXI/Lm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGg7XG4gICAgaWYoY29uYXRpbmVyV2lkdGggPiA1MDAgJiYgdGhpcy5mb3JtVGVtcGxhdGUubGF5b3V0ID09PSBPbnNob3JlRm9ybVRlbXBsYXRlTGF5b3V0LmF1dG8gJiYgdGhpcy5sYXlvdXQgIT09IE9uc2hvcmVGb3JtVGVtcGxhdGVMYXlvdXQuaG9yaXpvbnRhbCkge1xuICAgICAgdGhpcy5sYXlvdXQgPSBPbnNob3JlRm9ybVRlbXBsYXRlTGF5b3V0Lmhvcml6b250YWw7XG4gICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG4gICAgaWYoY29uYXRpbmVyV2lkdGggPD0gNTAwICYmIHRoaXMuZm9ybVRlbXBsYXRlLmxheW91dCA9PT0gT25zaG9yZUZvcm1UZW1wbGF0ZUxheW91dC5hdXRvICYmIHRoaXMubGF5b3V0ICE9PSBPbnNob3JlRm9ybVRlbXBsYXRlTGF5b3V0LnZlcnRpY2FsKSB7XG4gICAgICB0aGlzLmxheW91dCA9IE9uc2hvcmVGb3JtVGVtcGxhdGVMYXlvdXQudmVydGljYWw7XG4gICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLm5nQ29udHJvbD8uY29udHJvbD8udmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9KTtcbiAgICB0aGlzLm5nQ29udHJvbD8uY29udHJvbD8uc3RhdHVzQ2hhbmdlcy5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfSk7XG5cbiAgICB0aGlzLmVuYWJsZWQodGhpcy5mb3JtVGVtcGxhdGUuZW5hYmxlZCk7XG5cbiAgICBpZih0aGlzLmZvcm1UZW1wbGF0ZS5sb2NrZWQpIHtcbiAgICAgIHRoaXMuZW5hYmxlZChmYWxzZSk7XG4gICAgfVxuXG4gICAgdGhpcy5sYXlvdXQgPSB0aGlzLmZvcm1UZW1wbGF0ZS5sYXlvdXQ7XG4gICAgdGhpcy5vbldpbmRvd1Jlc2l6ZSgpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGNvbnN0IHByZXZpb3VzVmFsdWUgPSBjaGFuZ2VzWydmb3JtVGVtcGxhdGUnXS5wcmV2aW91c1ZhbHVlO1xuICAgIGNvbnN0IGN1cnJlbnRWYWx1ZSA9IGNoYW5nZXNbJ2Zvcm1UZW1wbGF0ZSddLmN1cnJlbnRWYWx1ZTtcblxuICAgIGlmKGN1cnJlbnRWYWx1ZSkge1xuXG4gICAgICBpZihwcmV2aW91c1ZhbHVlPy5lbmFibGVkICE9PSBjdXJyZW50VmFsdWU/LmVuYWJsZWQpIHtcbiAgICAgICAgdGhpcy5lbmFibGVkKGN1cnJlbnRWYWx1ZT8uZW5hYmxlZCk7XG4gICAgICB9XG5cbiAgICAgIGlmKHByZXZpb3VzVmFsdWU/LmxvY2tlZCAhPT0gY3VycmVudFZhbHVlPy5sb2NrZWQpIHtcbiAgICAgICAgaWYoY3VycmVudFZhbHVlLmxvY2tlZCkge1xuICAgICAgICAgIHRoaXMuZW5hYmxlZChmYWxzZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5lbmFibGVkKGN1cnJlbnRWYWx1ZS5lbmFibGVkKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZihwcmV2aW91c1ZhbHVlPy5sYXlvdXQgIT09IGN1cnJlbnRWYWx1ZT8ubGF5b3V0KSB7XG4gICAgICAgIHRoaXMubGF5b3V0ID0gdGhpcy5mb3JtVGVtcGxhdGUubGF5b3V0O1xuICAgICAgICB0aGlzLm9uV2luZG93UmVzaXplKCk7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwibWItNFwiICNmb3JtQ29udGFpbmVyPlxuICA8ZGl2IGNsYXNzPVwiZmxleCB3LWZ1bGxcIlxuICAgICAgIFtjbGFzcy5mbGV4LWNvbHVtbl09XCJsYXlvdXQgPT0gT25zaG9yZUZvcm1UZW1wbGF0ZUxheW91dC52ZXJ0aWNhbFwiXG4gICAgICAgW2NsYXNzLmZsZXgtcm93XT1cImxheW91dCA9PSBPbnNob3JlRm9ybVRlbXBsYXRlTGF5b3V0Lmhvcml6b250YWxcIlxuICAgICAgIFtjbGFzcy5qdXN0aWZ5LWNvbnRlbnQtYmV0d2Vlbl09XCJsYXlvdXQgPT0gT25zaG9yZUZvcm1UZW1wbGF0ZUxheW91dC5ob3Jpem9udGFsXCI+XG5cbiAgICA8ZGl2ICNmb3JtTGFiZWxcbiAgICAgICAgIGNsYXNzPVwiZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlblwiXG4gICAgICAgICBbc3R5bGVdPVwiZm9ybVRlbXBsYXRlLmxhYmVsU3R5bGUgPz8gJ21pbi13aWR0aDogMjAwcHgnXCI+XG5cbiAgICAgIDxiIFtjbGFzcy5tci0yXT1cImxheW91dCA9PSBPbnNob3JlRm9ybVRlbXBsYXRlTGF5b3V0Lmhvcml6b250YWxcIlxuICAgICAgICAgW2NsYXNzLm1iLTJdPVwibGF5b3V0ID09IE9uc2hvcmVGb3JtVGVtcGxhdGVMYXlvdXQudmVydGljYWxcIj5cbiAgICAgICAge3tmb3JtVGVtcGxhdGUubGFiZWx9fVxuICAgICAgICA8c21hbGwgKm5nSWY9XCJmb3JtVGVtcGxhdGUucmVxdWlyZWRcIiBjbGFzcz1cIm9uc2hvcmUtY29sb3ItZGFuZ2VyXCI+Kjwvc21hbGw+XG4gICAgICA8L2I+XG5cbiAgICAgIDxkaXYgKm5nSWY9XCJmb3JtVGVtcGxhdGUudG9vbHRpcCAmJiBsYXlvdXQgPT0gT25zaG9yZUZvcm1UZW1wbGF0ZUxheW91dC52ZXJ0aWNhbFwiIFtwVG9vbHRpcF09XCJmb3JtVGVtcGxhdGUudG9vbHRpcFwiIFtlc2NhcGVdPVwiZmFsc2VcIiBhcHBlbmRUbz1cImJvZHlcIj48aSBjbGFzcz1cImZhIGZhLWNpcmNsZS1xdWVzdGlvbiBvbnNob3JlLWNvbG9yLWdyYXktNVwiPjwvaT48L2Rpdj5cblxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cImZsZXggdy1mdWxsXCI+XG4gICAgICA8cC10b2dnbGVCdXR0b25cbiAgICAgICAgKm5nSWY9XCJmb3JtVGVtcGxhdGUubG9ja2VkXCJcbiAgICAgICAgKG9uQ2hhbmdlKT1cImxvY2tDaGFuZ2VkKCRldmVudC5jaGVja2VkKVwiXG4gICAgICAgIG9uSWNvbj1cImZhIGZhLWxvY2stb3BlblwiXG4gICAgICAgIG9mZkljb249XCJmYSBmYS1sb2NrXCJcbiAgICAgICAgY2xhc3M9XCJtci0yXCJcbiAgICAgICAgW3N0eWxlXT1cIntoZWlnaHQ6ICczNnB4J31cIlxuICAgICAgICBbZGlzYWJsZWRdPVwiIWZvcm1UZW1wbGF0ZS5lbmFibGVkXCI+XG4gICAgICA8L3AtdG9nZ2xlQnV0dG9uPlxuXG4gICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2ICpuZ0lmPVwiZm9ybVRlbXBsYXRlLnRvb2x0aXAgJiYgbGF5b3V0ID09IE9uc2hvcmVGb3JtVGVtcGxhdGVMYXlvdXQuaG9yaXpvbnRhbFwiIGNsYXNzPVwibWwtMiBhbGlnbi1zZWxmLWNlbnRlclwiIFtwVG9vbHRpcF09XCJmb3JtVGVtcGxhdGUudG9vbHRpcFwiIFtlc2NhcGVdPVwiZmFsc2VcIj48aSBjbGFzcz1cImZhIGZhLWNpcmNsZS1xdWVzdGlvbiBvbnNob3JlLWNvbG9yLWdyYXktNVwiPjwvaT48L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPGRpdiAqbmdJZj1cIm5nQ29udHJvbC5jb250cm9sLmRpcnR5XCIgW3N0eWxlXT1cInsnbWFyZ2luLWxlZnQnOiBsYXlvdXQgPT0gT25zaG9yZUZvcm1UZW1wbGF0ZUxheW91dC5ob3Jpem9udGFsID8gZm9ybUxhYmVsLmNsaWVudFdpZHRoICsgJ3B4JyA6ICcwcHgnfVwiPlxuICAgIDxvbnNob3JlLWZvcm0tdmFsaWRhdGlvbi1vdXRwdXRcbiAgICAgIFt2YWxpZGF0aW9uSXRlbXNdPVwiZm9ybVRlbXBsYXRlLnZhbGlkYXRpb25JdGVtc1wiXG4gICAgICBbdmFsaWRhdGlvbkVycm9yc109XCJuZ0NvbnRyb2wuY29udHJvbC5lcnJvcnNcIj5cbiAgICA8L29uc2hvcmUtZm9ybS12YWxpZGF0aW9uLW91dHB1dD5cbiAgPC9kaXY+XG5cbiAgPGRpdiBbc3R5bGVdPVwieydtYXJnaW4tbGVmdCc6IGxheW91dCA9PSBPbnNob3JlRm9ybVRlbXBsYXRlTGF5b3V0Lmhvcml6b250YWwgPyBmb3JtTGFiZWwuY2xpZW50V2lkdGggKyAncHgnIDogJzBweCd9XCI+XG4gICAgPHNtYWxsICpuZ0lmPVwiZm9ybVRlbXBsYXRlLmRlc2NyaXB0aW9uXCIgY2xhc3M9XCJtdC0yIG9uc2hvcmUtY29sb3ItZ3JheS01XCI+PGkgY2xhc3M9XCJmYSBmYS1pbmZvLWNpcmNsZVwiPjwvaT4ge3tmb3JtVGVtcGxhdGUuZGVzY3JpcHRpb259fTwvc21hbGw+XG4gIDwvZGl2PlxuXG48L2Rpdj5cbiJdfQ==
|
|
98
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1pdGVtLWNvbnRhaW5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vbnNob3JlLWZvcm1zL3NyYy9saWIvY29tcG9uZW50cy9mb3JtLWl0ZW0tY29udGFpbmVyL2Zvcm0taXRlbS1jb250YWluZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb25zaG9yZS1mb3Jtcy9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS1pdGVtLWNvbnRhaW5lci9mb3JtLWl0ZW0tY29udGFpbmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBR1UsU0FBUyxFQUN6QixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7O0FBUW5FLE1BQU0sT0FBTyx3QkFBd0I7SUF3Rm5DLFlBQW9CLEdBQXNCO1FBQXRCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBbEYxQyw4QkFBeUIsR0FBRyx5QkFBeUIsQ0FBQztRQUV0RCxXQUFNLEdBQThCLHlCQUF5QixDQUFDLElBQUksQ0FBQztJQWtGbkUsQ0FBQztJQWhGRCxPQUFPLENBQUMsTUFBZTtRQUNyQixVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ1osSUFBRyxNQUFNLEVBQUU7Z0JBQ1QsSUFBSSxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUM7YUFDbEM7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7YUFDbkM7WUFDRCxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQzVCLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUNWLENBQUM7SUFFRCxXQUFX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QUFZLENBQUMsTUFBTSxDQUFDO2dCQUN2QyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7YUFDdkI7WUFFRCxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO1NBQ3pCO0lBQ0gsQ0FBQzs7cUhBdEZVLHdCQUF3Qjt5R0FBeEIsd0JBQXdCLDhVQ25CckMsMnhFQWlEQTsyRkQ5QmEsd0JBQXdCO2tCQUxwQyxTQUFTOytCQUNFLDZCQUE2QixtQkFFdEIsdUJBQXVCLENBQUMsTUFBTTt3R0FHdEMsWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUVzQixhQUFhO3NCQUF4QyxTQUFTO3VCQUFDLGVBQWU7Z0JBMkIxQixjQUFjO3NCQURiLFlBQVk7dUJBQUMsZUFBZSxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsIEVsZW1lbnRSZWYsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25Jbml0LFxuICBTaW1wbGVDaGFuZ2VzLCBWaWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPbnNob3JlRm9ybVRlbXBsYXRlSXRlbSB9IGZyb20gJy4uLy4uL21vZGVscy9mb3JtLm1vZGVscyc7XG5pbXBvcnQgeyBPbnNob3JlRm9ybVRlbXBsYXRlTGF5b3V0IH0gZnJvbSAnLi4vLi4vZW51bXMvZm9ybS5lbnVtcyc7XG5pbXBvcnQgeyBOZ0NvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ29uc2hvcmUtZm9ybS1pdGVtLWNvbnRhaW5lcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9mb3JtLWl0ZW0tY29udGFpbmVyLmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIE9uc2hvcmVGb3JtSXRlbUNvbnRhaW5lciBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgQElucHV0KCkgZm9ybVRlbXBsYXRlITogT25zaG9yZUZvcm1UZW1wbGF0ZUl0ZW07XG4gIEBJbnB1dCgpIG5nQ29udHJvbCE6IE5nQ29udHJvbDtcblxuICBAVmlld0NoaWxkKCdmb3JtQ29udGFpbmVyJykgZm9ybUNvbnRhaW5lciE6IEVsZW1lbnRSZWY7XG5cbiAgT25zaG9yZUZvcm1UZW1wbGF0ZUxheW91dCA9IE9uc2hvcmVGb3JtVGVtcGxhdGVMYXlvdXQ7XG5cbiAgbGF5b3V0OiBPbnNob3JlRm9ybVRlbXBsYXRlTGF5b3V0ID0gT25zaG9yZUZvcm1UZW1wbGF0ZUxheW91dC5hdXRvO1xuXG4gIGVuYWJsZWQoZW5hYmxlOiBib29sZWFuKSB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIGlmKGVuYWJsZSkge1xuICAgICAgICAgIHRoaXMubmdDb250cm9sPy5jb250cm9sLmVuYWJsZSgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMubmdDb250cm9sPy5jb250cm9sLmRpc2FibGUoKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9LCAxMDApO1xuICB9XG5cbiAgbG9ja0NoYW5nZWQodW5sb2NrZWQ6IGJvb2xlYW4pIHtcbiAgICBpZih1bmxvY2tlZCAmJiB0aGlzLmZvcm1UZW1wbGF0ZS5lbmFibGVkKSB7XG4gICAgICB0aGlzLmVuYWJsZWQodHJ1ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZW5hYmxlZChmYWxzZSk7XG4gICAgfVxuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignd2luZG93OnJlc2l6ZScsIFsnJGV2ZW50J10pXG4gIG9uV2luZG93UmVzaXplKCkge1xuICAgIGNvbnN0IGNvbmF0aW5lcldpZHRoID0gdGhpcy5mb3JtQ29udGFpbmVyPy5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoO1xuICAgIGlmKGNvbmF0aW5lcldpZHRoID4gNTAwICYmIHRoaXMuZm9ybVRlbXBsYXRlLmxheW91dCA9PT0gT25zaG9yZUZvcm1UZW1wbGF0ZUxheW91dC5hdXRvICYmIHRoaXMubGF5b3V0ICE9PSBPbnNob3JlRm9ybVRlbXBsYXRlTGF5b3V0Lmhvcml6b250YWwpIHtcbiAgICAgIHRoaXMubGF5b3V0ID0gT25zaG9yZUZvcm1UZW1wbGF0ZUxheW91dC5ob3Jpem9udGFsO1xuICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuICAgIGlmKGNvbmF0aW5lcldpZHRoIDw9IDUwMCAmJiB0aGlzLmZvcm1UZW1wbGF0ZS5sYXlvdXQgPT09IE9uc2hvcmVGb3JtVGVtcGxhdGVMYXlvdXQuYXV0byAmJiB0aGlzLmxheW91dCAhPT0gT25zaG9yZUZvcm1UZW1wbGF0ZUxheW91dC52ZXJ0aWNhbCkge1xuICAgICAgdGhpcy5sYXlvdXQgPSBPbnNob3JlRm9ybVRlbXBsYXRlTGF5b3V0LnZlcnRpY2FsO1xuICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5uZ0NvbnRyb2w/LmNvbnRyb2w/LnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUodmFsdWUgPT4ge1xuICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfSk7XG4gICAgdGhpcy5uZ0NvbnRyb2w/LmNvbnRyb2w/LnN0YXR1c0NoYW5nZXMuc3Vic2NyaWJlKHN0YXR1cyA9PiB7XG4gICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9KTtcblxuICAgIHRoaXMuZW5hYmxlZCh0aGlzLmZvcm1UZW1wbGF0ZS5lbmFibGVkKTtcblxuICAgIGlmKHRoaXMuZm9ybVRlbXBsYXRlLmxvY2tlZCkge1xuICAgICAgdGhpcy5lbmFibGVkKGZhbHNlKTtcbiAgICB9XG5cbiAgICB0aGlzLmxheW91dCA9IHRoaXMuZm9ybVRlbXBsYXRlLmxheW91dDtcbiAgICB0aGlzLm9uV2luZG93UmVzaXplKCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgY29uc3QgcHJldmlvdXNWYWx1ZSA9IGNoYW5nZXNbJ2Zvcm1UZW1wbGF0ZSddLnByZXZpb3VzVmFsdWU7XG4gICAgY29uc3QgY3VycmVudFZhbHVlID0gY2hhbmdlc1snZm9ybVRlbXBsYXRlJ10uY3VycmVudFZhbHVlO1xuXG4gICAgaWYoY3VycmVudFZhbHVlKSB7XG5cbiAgICAgIGlmKHByZXZpb3VzVmFsdWU/LmVuYWJsZWQgIT09IGN1cnJlbnRWYWx1ZT8uZW5hYmxlZCkge1xuICAgICAgICB0aGlzLmVuYWJsZWQoY3VycmVudFZhbHVlPy5lbmFibGVkKTtcbiAgICAgIH1cblxuICAgICAgaWYocHJldmlvdXNWYWx1ZT8ubG9ja2VkICE9PSBjdXJyZW50VmFsdWU/LmxvY2tlZCkge1xuICAgICAgICBpZihjdXJyZW50VmFsdWUubG9ja2VkKSB7XG4gICAgICAgICAgdGhpcy5lbmFibGVkKGZhbHNlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLmVuYWJsZWQoY3VycmVudFZhbHVlLmVuYWJsZWQpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmKHByZXZpb3VzVmFsdWU/LmxheW91dCAhPT0gY3VycmVudFZhbHVlPy5sYXlvdXQpIHtcbiAgICAgICAgdGhpcy5sYXlvdXQgPSB0aGlzLmZvcm1UZW1wbGF0ZS5sYXlvdXQ7XG4gICAgICAgIHRoaXMub25XaW5kb3dSZXNpemUoKTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7XG5cbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cIm1iLTRcIiAjZm9ybUNvbnRhaW5lcj5cbiAgPGRpdiBjbGFzcz1cImZsZXggdy1mdWxsXCJcbiAgICAgICBbY2xhc3MuZmxleC1jb2x1bW5dPVwibGF5b3V0ID09IE9uc2hvcmVGb3JtVGVtcGxhdGVMYXlvdXQudmVydGljYWxcIlxuICAgICAgIFtjbGFzcy5mbGV4LXJvd109XCJsYXlvdXQgPT0gT25zaG9yZUZvcm1UZW1wbGF0ZUxheW91dC5ob3Jpem9udGFsXCJcbiAgICAgICBbY2xhc3MuanVzdGlmeS1jb250ZW50LWJldHdlZW5dPVwibGF5b3V0ID09IE9uc2hvcmVGb3JtVGVtcGxhdGVMYXlvdXQuaG9yaXpvbnRhbFwiPlxuXG4gICAgPGRpdiAjZm9ybUxhYmVsXG4gICAgICAgICBjbGFzcz1cImZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW5cIlxuICAgICAgICAgW3N0eWxlXT1cImZvcm1UZW1wbGF0ZS5sYWJlbFN0eWxlID8/ICdtaW4td2lkdGg6IDIwMHB4J1wiPlxuXG4gICAgICA8YiBbY2xhc3MubXItMl09XCJsYXlvdXQgPT0gT25zaG9yZUZvcm1UZW1wbGF0ZUxheW91dC5ob3Jpem9udGFsXCJcbiAgICAgICAgIFtjbGFzcy5tYi0yXT1cImxheW91dCA9PSBPbnNob3JlRm9ybVRlbXBsYXRlTGF5b3V0LnZlcnRpY2FsXCI+XG4gICAgICAgIHt7Zm9ybVRlbXBsYXRlLmxhYmVsfX1cbiAgICAgICAgPHNtYWxsICpuZ0lmPVwiZm9ybVRlbXBsYXRlLnJlcXVpcmVkXCIgY2xhc3M9XCJvbnNob3JlLWNvbG9yLWRhbmdlclwiPio8L3NtYWxsPlxuICAgICAgPC9iPlxuXG4gICAgICA8ZGl2ICpuZ0lmPVwiZm9ybVRlbXBsYXRlLnRvb2x0aXAgJiYgbGF5b3V0ID09IE9uc2hvcmVGb3JtVGVtcGxhdGVMYXlvdXQudmVydGljYWxcIiBbcFRvb2x0aXBdPVwiZm9ybVRlbXBsYXRlLnRvb2x0aXBcIiBbZXNjYXBlXT1cImZhbHNlXCIgYXBwZW5kVG89XCJib2R5XCI+PGkgY2xhc3M9XCJmYSBmYS1jaXJjbGUtcXVlc3Rpb24gb25zaG9yZS1jb2xvci1ncmF5LTVcIj48L2k+PC9kaXY+XG5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJmbGV4IHctZnVsbFwiPlxuICAgICAgPHAtdG9nZ2xlQnV0dG9uXG4gICAgICAgICpuZ0lmPVwiZm9ybVRlbXBsYXRlLmxvY2tlZFwiXG4gICAgICAgIChvbkNoYW5nZSk9XCJsb2NrQ2hhbmdlZCgkZXZlbnQuY2hlY2tlZClcIlxuICAgICAgICBvbkljb249XCJmYSBmYS1sb2NrLW9wZW5cIlxuICAgICAgICBvZmZJY29uPVwiZmEgZmEtbG9ja1wiXG4gICAgICAgIGNsYXNzPVwibXItMlwiXG4gICAgICAgIFtzdHlsZV09XCJ7aGVpZ2h0OiAnMzZweCd9XCJcbiAgICAgICAgW2Rpc2FibGVkXT1cIiFmb3JtVGVtcGxhdGUuZW5hYmxlZFwiPlxuICAgICAgPC9wLXRvZ2dsZUJ1dHRvbj5cblxuICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiAqbmdJZj1cImZvcm1UZW1wbGF0ZS50b29sdGlwICYmIGxheW91dCA9PSBPbnNob3JlRm9ybVRlbXBsYXRlTGF5b3V0Lmhvcml6b250YWxcIiBjbGFzcz1cIm1sLTIgYWxpZ24tc2VsZi1jZW50ZXJcIiBbcFRvb2x0aXBdPVwiZm9ybVRlbXBsYXRlLnRvb2x0aXBcIiBbZXNjYXBlXT1cImZhbHNlXCI+PGkgY2xhc3M9XCJmYSBmYS1jaXJjbGUtcXVlc3Rpb24gb25zaG9yZS1jb2xvci1ncmF5LTVcIj48L2k+PC9kaXY+XG4gIDwvZGl2PlxuXG4gIDxkaXYgKm5nSWY9XCJuZ0NvbnRyb2wuY29udHJvbC50b3VjaGVkIHx8IG5nQ29udHJvbC5jb250cm9sLmRpcnR5XCIgW3N0eWxlXT1cInsnbWFyZ2luLWxlZnQnOiBsYXlvdXQgPT0gT25zaG9yZUZvcm1UZW1wbGF0ZUxheW91dC5ob3Jpem9udGFsID8gZm9ybUxhYmVsLmNsaWVudFdpZHRoICsgJ3B4JyA6ICcwcHgnfVwiPlxuICAgIDxvbnNob3JlLWZvcm0tdmFsaWRhdGlvbi1vdXRwdXRcbiAgICAgIFt2YWxpZGF0aW9uSXRlbXNdPVwiZm9ybVRlbXBsYXRlLnZhbGlkYXRpb25JdGVtc1wiXG4gICAgICBbdmFsaWRhdGlvbkVycm9yc109XCJuZ0NvbnRyb2wuY29udHJvbC5lcnJvcnNcIj5cbiAgICA8L29uc2hvcmUtZm9ybS12YWxpZGF0aW9uLW91dHB1dD5cbiAgPC9kaXY+XG5cbiAgPGRpdiBbc3R5bGVdPVwieydtYXJnaW4tbGVmdCc6IGxheW91dCA9PSBPbnNob3JlRm9ybVRlbXBsYXRlTGF5b3V0Lmhvcml6b250YWwgPyBmb3JtTGFiZWwuY2xpZW50V2lkdGggKyAncHgnIDogJzBweCd9XCI+XG4gICAgPHNtYWxsICpuZ0lmPVwiZm9ybVRlbXBsYXRlLmRlc2NyaXB0aW9uXCIgY2xhc3M9XCJtdC0yIG9uc2hvcmUtY29sb3ItZ3JheS01XCI+PGkgY2xhc3M9XCJmYSBmYS1pbmZvLWNpcmNsZVwiPjwvaT4ge3tmb3JtVGVtcGxhdGUuZGVzY3JpcHRpb259fTwvc21hbGw+XG4gIDwvZGl2PlxuXG48L2Rpdj5cbiJdfQ==
|
|
@@ -14,19 +14,6 @@ export class OnshoreImageChooserComponent {
|
|
|
14
14
|
this.finalImage = '';
|
|
15
15
|
this.imageErrorType = OnshoreImageError;
|
|
16
16
|
this.imageError = OnshoreImageError.none;
|
|
17
|
-
this.imageQuality = 100;
|
|
18
|
-
this.resizeToHeight = 400;
|
|
19
|
-
this.resizeToWidth = 400;
|
|
20
|
-
this.backgroundColor = 'white';
|
|
21
|
-
this.format = 'png';
|
|
22
|
-
this.alignImage = 'center';
|
|
23
|
-
this.containWithinAspectRatio = false;
|
|
24
|
-
this.aspectRatio = 1 / 1;
|
|
25
|
-
this.cropperPreviewHeight = 200;
|
|
26
|
-
this.cropperPreviewWidth = 200;
|
|
27
|
-
this.circleCropper = false;
|
|
28
|
-
this.autoSave = true;
|
|
29
|
-
this.inverseColor = false;
|
|
30
17
|
this.choosen = new EventEmitter();
|
|
31
18
|
this.canceled = new EventEmitter();
|
|
32
19
|
}
|
|
@@ -43,7 +30,7 @@ export class OnshoreImageChooserComponent {
|
|
|
43
30
|
this.imageError = OnshoreImageError.fileType;
|
|
44
31
|
return;
|
|
45
32
|
}
|
|
46
|
-
if (file?.size >
|
|
33
|
+
if (file?.size > this.imageSettings.maxFileSize) {
|
|
47
34
|
this.imageError = OnshoreImageError.size;
|
|
48
35
|
return;
|
|
49
36
|
}
|
|
@@ -56,7 +43,7 @@ export class OnshoreImageChooserComponent {
|
|
|
56
43
|
img.onload = () => {
|
|
57
44
|
const originalWidth = img.width;
|
|
58
45
|
const originalHeight = img.height;
|
|
59
|
-
if (originalWidth >= this.
|
|
46
|
+
if (originalWidth >= this.imageSettings.imageWidth && originalHeight >= this.imageSettings.imageHeight) {
|
|
60
47
|
this.image = reader.result?.toString() || '';
|
|
61
48
|
}
|
|
62
49
|
else {
|
|
@@ -78,39 +65,15 @@ export class OnshoreImageChooserComponent {
|
|
|
78
65
|
}
|
|
79
66
|
}
|
|
80
67
|
OnshoreImageChooserComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: OnshoreImageChooserComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
81
|
-
OnshoreImageChooserComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: OnshoreImageChooserComponent, selector: "onshore-image-chooser", inputs: {
|
|
68
|
+
OnshoreImageChooserComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: OnshoreImageChooserComponent, selector: "onshore-image-chooser", inputs: { imageSettings: "imageSettings" }, outputs: { choosen: "choosen", canceled: "canceled" }, ngImport: i0, template: "<div class=\"flex flex-column justify-content-center align-items-center w-full\">\n\n <div *ngIf=\"!image\" class=\"flex justify-content-center flex-column align-items-center w-full\">\n <!--<div style=\"max-width: 400px\" class=\"pt-4\">\n <app-info-box title=\"Hinweis\"\n [description]=\"'Die Bilddatei muss mindestens ' + resizeToWidth + 'px x ' + resizeToHeight + 'px betragen, darf maximal 6,4 MB gro\u00DF sein und muss im Dateiformat JPG oder PNG vorliegen.'\"\n icon=\"fa-info-circle\"\n backgroud=\"navy\"\n iconPosition=\"bottom\"\n [descriptionWrap]=\"true\">\n </app-info-box>\n </div>-->\n\n <div\n class=\"onshore-image-upload flex flex-column justify-content-between align-items-center rounded-lg p-4 relative m-3\"\n [class.onshore-border-gray-3]=\"drag\"\n [class.onshore-border-danger]=\"imageError != imageErrorType.none\">\n <i class=\"fa fa-image fa-5x onshore-color-gray-4\"></i>\n <small class=\"onshore-color-gray-4 mb-2\">{{'form.imageControl.dropImageLabel' | translate}}</small>\n\n <button pButton\n type=\"button\"\n icon=\"fa fa-file\"\n [label]=\"'form.imageControl.imageChooserFileButton' | translate\"\n class=\"onshore-button-primary mr-2\">\n </button>\n\n <input\n (change)=\"fileChange($event)\"\n *ngIf=\"!image\"\n accept=\"image/png, image/jpeg, image/webp\"\n class=\"onshore-image-input absolute w-full h-full\"\n type=\"file\"\n (dragenter)=\"drag = true\"\n (dragleave)=\"drag = false\"\n (dragend)=\"drag = false\"\n />\n </div>\n </div>\n\n <div class=\"flex flex-column relative align-items-center w-full\" *ngIf=\"image\">\n <image-cropper\n class=\"m-3\" [style]=\"'height: ' + imageSettings.cropperPreviewHeight + 'px; width: ' + imageSettings.cropperPreviewWidth + 'px'\"\n [class.onshore-cropper-circle]=\"this.imageSettings.circleCropper\"\n (imageCropped)=\"imageCropped($event)\"\n [imageBase64]=\"image\"\n [imageQuality]=\"this.imageSettings.imageQuality\"\n [alignImage]=\"this.imageSettings.alignImage\"\n [backgroundColor]=\"this.imageSettings.backgroundColor\"\n [containWithinAspectRatio]=\"this.imageSettings.containWithinAspectRatio\"\n [format]=\"this.imageSettings.format\"\n [aspectRatio]=\"this.imageSettings.aspectRatio\"\n [resizeToHeight]=\"this.imageSettings.imageWidth\"\n [resizeToWidth]=\"this.imageSettings.imageHeight\">\n </image-cropper>\n </div>\n\n <div *ngIf=\"imageError\"class=\"pb-2 text-wrap text-center onshore-color-danger\">\n <small *ngIf=\"imageError == imageErrorType.ratio\">{{'form.imageControl.imageErrorRatio' | translate: {resizeToWidth: this.imageSettings.imageWidth, resizeToHeight: this.imageSettings.imageHeight} }}</small>\n <small *ngIf=\"imageError == imageErrorType.fileType\">{{'form.imageControl.imageErrorFileType' | translate}}</small>\n <small *ngIf=\"imageError == imageErrorType.size\">{{'form.imageControl.imageErrorSize' | translate}}</small>\n </div>\n</div>\n\n\n<p-footer>\n <div class=\"flex justify-content-end align-items-center mt-2\">\n <button pButton\n type=\"button\"\n icon=\"fa fa-times\"\n [label]=\"'form.imageControl.imageChooserCancelButton' | translate\"\n class=\"onshore-button-light mr-2\"\n (click)=\"clear(); canceled.emit(true)\">\n </button>\n\n <button pButton\n type=\"button\"\n [label]=\"'form.imageControl.imageChooserSelectButton' | translate\"\n class=\"onshore-button-primary\"\n icon=\"fa fa-check\"\n [disabled]=\"!image\"\n (click)=\"imageCroppedReady()\">\n </button>\n </div>\n</p-footer>\n\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }, { kind: "component", type: i3.Footer, selector: "p-footer" }, { kind: "component", type: i4.ImageCropperComponent, selector: "image-cropper", inputs: ["imageChangedEvent", "imageURL", "imageBase64", "imageFile", "format", "transform", "maintainAspectRatio", "aspectRatio", "resizeToWidth", "resizeToHeight", "cropperMinWidth", "cropperMinHeight", "cropperMaxHeight", "cropperMaxWidth", "cropperStaticWidth", "cropperStaticHeight", "canvasRotation", "initialStepSize", "roundCropper", "onlyScaleDown", "imageQuality", "autoCrop", "backgroundColor", "containWithinAspectRatio", "hideResizeSquares", "allowMoveImage", "cropper", "alignImage", "disabled"], outputs: ["imageCropped", "startCropImage", "imageLoaded", "cropperReady", "loadImageFailed", "transformChange"] }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
82
69
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: OnshoreImageChooserComponent, decorators: [{
|
|
83
70
|
type: Component,
|
|
84
|
-
args: [{ selector: 'onshore-image-chooser', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"flex flex-column justify-content-center align-items-center w-full\">\n\n <div *ngIf=\"!image\" class=\"flex justify-content-center flex-column align-items-center w-full\">\n <!--<div style=\"max-width: 400px\" class=\"pt-4\">\n <app-info-box title=\"Hinweis\"\n [description]=\"'Die Bilddatei muss mindestens ' + resizeToWidth + 'px x ' + resizeToHeight + 'px betragen, darf maximal 6,4 MB gro\u00DF sein und muss im Dateiformat JPG oder PNG vorliegen.'\"\n icon=\"fa-info-circle\"\n backgroud=\"navy\"\n iconPosition=\"bottom\"\n [descriptionWrap]=\"true\">\n </app-info-box>\n </div>-->\n\n <div\n class=\"onshore-image-upload flex flex-column justify-content-between align-items-center rounded-lg p-4 relative m-3\"\n [class.onshore-border-gray-3]=\"drag\"\n [class.onshore-border-danger]=\"imageError != imageErrorType.none\">\n <i class=\"fa fa-image fa-5x onshore-color-gray-4\"></i>\n <small class=\"onshore-color-gray-4 mb-2\">{{'form.imageControl.dropImageLabel' | translate}}</small>\n\n <button pButton\n type=\"button\"\n icon=\"fa fa-file\"\n [label]=\"'form.imageControl.imageChooserFileButton' | translate\"\n class=\"onshore-button-primary mr-2\">\n </button>\n\n <input\n (change)=\"fileChange($event)\"\n *ngIf=\"!image\"\n accept=\"image/png, image/jpeg, image/webp\"\n class=\"onshore-image-input absolute w-full h-full\"\n type=\"file\"\n (dragenter)=\"drag = true\"\n (dragleave)=\"drag = false\"\n (dragend)=\"drag = false\"\n />\n </div>\n </div>\n\n <div class=\"flex flex-column relative align-items-center w-full\" *ngIf=\"image\">\n
|
|
85
|
-
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: {
|
|
86
|
-
type: Input
|
|
87
|
-
}], resizeToHeight: [{
|
|
88
|
-
type: Input
|
|
89
|
-
}], resizeToWidth: [{
|
|
90
|
-
type: Input
|
|
91
|
-
}], backgroundColor: [{
|
|
92
|
-
type: Input
|
|
93
|
-
}], format: [{
|
|
94
|
-
type: Input
|
|
95
|
-
}], alignImage: [{
|
|
96
|
-
type: Input
|
|
97
|
-
}], containWithinAspectRatio: [{
|
|
98
|
-
type: Input
|
|
99
|
-
}], aspectRatio: [{
|
|
100
|
-
type: Input
|
|
101
|
-
}], cropperPreviewHeight: [{
|
|
102
|
-
type: Input
|
|
103
|
-
}], cropperPreviewWidth: [{
|
|
104
|
-
type: Input
|
|
105
|
-
}], circleCropper: [{
|
|
106
|
-
type: Input
|
|
107
|
-
}], autoSave: [{
|
|
108
|
-
type: Input
|
|
109
|
-
}], inverseColor: [{
|
|
71
|
+
args: [{ selector: 'onshore-image-chooser', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"flex flex-column justify-content-center align-items-center w-full\">\n\n <div *ngIf=\"!image\" class=\"flex justify-content-center flex-column align-items-center w-full\">\n <!--<div style=\"max-width: 400px\" class=\"pt-4\">\n <app-info-box title=\"Hinweis\"\n [description]=\"'Die Bilddatei muss mindestens ' + resizeToWidth + 'px x ' + resizeToHeight + 'px betragen, darf maximal 6,4 MB gro\u00DF sein und muss im Dateiformat JPG oder PNG vorliegen.'\"\n icon=\"fa-info-circle\"\n backgroud=\"navy\"\n iconPosition=\"bottom\"\n [descriptionWrap]=\"true\">\n </app-info-box>\n </div>-->\n\n <div\n class=\"onshore-image-upload flex flex-column justify-content-between align-items-center rounded-lg p-4 relative m-3\"\n [class.onshore-border-gray-3]=\"drag\"\n [class.onshore-border-danger]=\"imageError != imageErrorType.none\">\n <i class=\"fa fa-image fa-5x onshore-color-gray-4\"></i>\n <small class=\"onshore-color-gray-4 mb-2\">{{'form.imageControl.dropImageLabel' | translate}}</small>\n\n <button pButton\n type=\"button\"\n icon=\"fa fa-file\"\n [label]=\"'form.imageControl.imageChooserFileButton' | translate\"\n class=\"onshore-button-primary mr-2\">\n </button>\n\n <input\n (change)=\"fileChange($event)\"\n *ngIf=\"!image\"\n accept=\"image/png, image/jpeg, image/webp\"\n class=\"onshore-image-input absolute w-full h-full\"\n type=\"file\"\n (dragenter)=\"drag = true\"\n (dragleave)=\"drag = false\"\n (dragend)=\"drag = false\"\n />\n </div>\n </div>\n\n <div class=\"flex flex-column relative align-items-center w-full\" *ngIf=\"image\">\n <image-cropper\n class=\"m-3\" [style]=\"'height: ' + imageSettings.cropperPreviewHeight + 'px; width: ' + imageSettings.cropperPreviewWidth + 'px'\"\n [class.onshore-cropper-circle]=\"this.imageSettings.circleCropper\"\n (imageCropped)=\"imageCropped($event)\"\n [imageBase64]=\"image\"\n [imageQuality]=\"this.imageSettings.imageQuality\"\n [alignImage]=\"this.imageSettings.alignImage\"\n [backgroundColor]=\"this.imageSettings.backgroundColor\"\n [containWithinAspectRatio]=\"this.imageSettings.containWithinAspectRatio\"\n [format]=\"this.imageSettings.format\"\n [aspectRatio]=\"this.imageSettings.aspectRatio\"\n [resizeToHeight]=\"this.imageSettings.imageWidth\"\n [resizeToWidth]=\"this.imageSettings.imageHeight\">\n </image-cropper>\n </div>\n\n <div *ngIf=\"imageError\"class=\"pb-2 text-wrap text-center onshore-color-danger\">\n <small *ngIf=\"imageError == imageErrorType.ratio\">{{'form.imageControl.imageErrorRatio' | translate: {resizeToWidth: this.imageSettings.imageWidth, resizeToHeight: this.imageSettings.imageHeight} }}</small>\n <small *ngIf=\"imageError == imageErrorType.fileType\">{{'form.imageControl.imageErrorFileType' | translate}}</small>\n <small *ngIf=\"imageError == imageErrorType.size\">{{'form.imageControl.imageErrorSize' | translate}}</small>\n </div>\n</div>\n\n\n<p-footer>\n <div class=\"flex justify-content-end align-items-center mt-2\">\n <button pButton\n type=\"button\"\n icon=\"fa fa-times\"\n [label]=\"'form.imageControl.imageChooserCancelButton' | translate\"\n class=\"onshore-button-light mr-2\"\n (click)=\"clear(); canceled.emit(true)\">\n </button>\n\n <button pButton\n type=\"button\"\n [label]=\"'form.imageControl.imageChooserSelectButton' | translate\"\n class=\"onshore-button-primary\"\n icon=\"fa fa-check\"\n [disabled]=\"!image\"\n (click)=\"imageCroppedReady()\">\n </button>\n </div>\n</p-footer>\n\n" }]
|
|
72
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { imageSettings: [{
|
|
110
73
|
type: Input
|
|
111
74
|
}], choosen: [{
|
|
112
75
|
type: Output
|
|
113
76
|
}], canceled: [{
|
|
114
77
|
type: Output
|
|
115
78
|
}] } });
|
|
116
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtY2hvb3Nlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vbnNob3JlLWZvcm1zL3NyYy9saWIvY29tcG9uZW50cy9pbWFnZS1jaG9vc2VyL2ltYWdlLWNob29zZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb25zaG9yZS1mb3Jtcy9zcmMvbGliL2NvbXBvbmVudHMvaW1hZ2UtY2hvb3Nlci9pbWFnZS1jaG9vc2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNQLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7Ozs7O0FBTzNELE1BQU0sT0FBTyw0QkFBNEI7SUFxRnZDLFlBQW9CLEdBQXNCO1FBQXRCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBbkYxQyxTQUFJLEdBQUcsS0FBSyxDQUFDO1FBQ2IsVUFBSyxHQUFHLEVBQUUsQ0FBQztRQUNYLGVBQVUsR0FBRyxFQUFFLENBQUM7UUFDaEIsbUJBQWMsR0FBRyxpQkFBaUIsQ0FBQztRQUNuQyxlQUFVLEdBQXNCLGlCQUFpQixDQUFDLElBQUksQ0FBQztRQUV2QyxpQkFBWSxHQUFHLEdBQUcsQ0FBQztRQUNuQixtQkFBYyxHQUFHLEdBQUcsQ0FBQztRQUNyQixrQkFBYSxHQUFHLEdBQUcsQ0FBQztRQUNwQixvQkFBZSxHQUFHLE9BQU8sQ0FBQztRQUMxQixXQUFNLEdBQTRDLEtBQUssQ0FBQztRQUN4RCxlQUFVLEdBQXNCLFFBQVEsQ0FBQztRQUN6Qyw2QkFBd0IsR0FBRyxLQUFLLENBQUM7UUFDakMsZ0JBQVcsR0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzVCLHlCQUFvQixHQUFH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QUFTOytCQUNFLHVCQUF1QixtQkFFaEIsdUJBQXVCLENBQUMsTUFBTTt3R0FVL0IsWUFBWTtzQkFBM0IsS0FBSztnQkFDVSxjQUFjO3NCQUE3QixLQUFLO2dCQUNVLGFBQWE7c0JBQTVCLEtBQUs7Z0JBQ1UsZUFBZTtzQkFBOUIsS0FBSztnQkFDVSxNQUFNO3NCQUFyQixLQUFLO2dCQUNVLFVBQVU7c0JBQXpCLEtBQUs7Z0JBQ1Usd0JBQXdCO3NCQUF2QyxLQUFLO2dCQUNVLFdBQVc7c0JBQTFCLEtBQUs7Z0JBQ1Usb0JBQW9CO3NCQUFuQyxLQUFLO2dCQUNVLG1CQUFtQjtzQkFBbEMsS0FBSztnQkFDVSxhQUFhO3NCQUE1QixLQUFLO2dCQUNVLFFBQVE7c0JBQXZCLEtBQUs7Z0JBQ1UsWUFBWTtzQkFBM0IsS0FBSztnQkFFSSxPQUFPO3NCQUFoQixNQUFNO2dCQUNHLFFBQVE7c0JBQWpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT3V0cHV0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSW1hZ2VDcm9wcGVkRXZlbnQgfSBmcm9tICduZ3gtaW1hZ2UtY3JvcHBlcic7XG5pbXBvcnQgeyBPbnNob3JlSW1hZ2VFcnJvciB9IGZyb20gJy4uLy4uL2VudW1zL2Zvcm0uZW51bXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdvbnNob3JlLWltYWdlLWNob29zZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vaW1hZ2UtY2hvb3Nlci5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBPbnNob3JlSW1hZ2VDaG9vc2VyQ29tcG9uZW50IHtcblxuICBkcmFnID0gZmFsc2U7XG4gIGltYWdlID0gJyc7XG4gIGZpbmFsSW1hZ2UgPSAnJztcbiAgaW1hZ2VFcnJvclR5cGUgPSBPbnNob3JlSW1hZ2VFcnJvcjtcbiAgaW1hZ2VFcnJvcjogT25zaG9yZUltYWdlRXJyb3IgPSBPbnNob3JlSW1hZ2VFcnJvci5ub25lO1xuXG4gIEBJbnB1dCgpIHB1YmxpYyBpbWFnZVF1YWxpdHkgPSAxMDA7XG4gIEBJbnB1dCgpIHB1YmxpYyByZXNpemVUb0hlaWdodCA9IDQwMDtcbiAgQElucHV0KCkgcHVibGljIHJlc2l6ZVRvV2lkdGggPSA0MDA7XG4gIEBJbnB1dCgpIHB1YmxpYyBiYWNrZ3JvdW5kQ29sb3IgPSAnd2hpdGUnO1xuICBASW5wdXQoKSBwdWJsaWMgZm9ybWF0OiAncG5nJyB8ICdqcGVnJyB8ICdibXAnIHwgJ3dlYnAnIHwgJ2ljbycgPSAncG5nJztcbiAgQElucHV0KCkgcHVibGljIGFsaWduSW1hZ2U6ICdsZWZ0JyB8ICdjZW50ZXInID0gJ2NlbnRlcic7XG4gIEBJbnB1dCgpIHB1YmxpYyBjb250YWluV2l0aGluQXNwZWN0UmF0aW8gPSBmYWxzZTtcbiAgQElucHV0KCkgcHVibGljIGFzcGVjdFJhdGlvOiBudW1iZXIgPSAxIC8gMTtcbiAgQElucHV0KCkgcHVibGljIGNyb3BwZXJQcmV2aWV3SGVpZ2h0ID0gMjAwO1xuICBASW5wdXQoKSBwdWJsaWMgY3JvcHBlclByZXZpZXdXaWR0aCA9IDIwMDtcbiAgQElucHV0KCkgcHVibGljIGNpcmNsZUNyb3BwZXIgPSBmYWxzZTtcbiAgQElucHV0KCkgcHVibGljIGF1dG9TYXZlID0gdHJ1ZTtcbiAgQElucHV0KCkgcHVibGljIGludmVyc2VDb2xvcjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBPdXRwdXQoKSBjaG9vc2VuOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIGNhbmNlbGVkOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgY2xlYXIoKSB7XG4gICAgdGhpcy5pbWFnZSA9ICcnO1xuICAgIHRoaXMuZmluYWxJbWFnZSA9ICcnO1xuICAgIHRoaXMuaW1hZ2VFcnJvciA9IE9uc2hvcmVJbWFnZUVycm9yLm5vbmU7XG4gIH1cblxuICBwdWJsaWMgZmlsZUNoYW5nZShldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLmltYWdlRXJyb3IgPSBPbnNob3JlSW1hZ2VFcnJvci5ub25lO1xuICAgIGNvbnN0IHRhcmdldCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50O1xuICAgIGNvbnN0IGZpbGU6IEZpbGUgfCB1bmRlZmluZWQgfCBudWxsID0gdGFyZ2V0Py5maWxlcyA/IHRhcmdldD8uZmlsZXNbMF0gOiBudWxsO1xuXG4gICAgaWYgKGZpbGU/LnR5cGUgIT0gJ2ltYWdlL3BuZycgJiYgZmlsZT8udHlwZSAhPSAnaW1hZ2UvanBlZycgJiYgZmlsZT8udHlwZSAhPSAnaW1hZ2Uvd2VicCcpIHtcbiAgICAgIHRoaXMuaW1hZ2VFcnJvciA9IE9uc2hvcmVJbWFnZUVycm9yLmZpbGVUeXBlO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChmaWxlPy5zaXplID4gNjQwMDAwMCkge1xuICAgICAgdGhpcy5pbWFnZUVycm9yID0gT25zaG9yZUltYWdlRXJyb3Iuc2l6ZTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoZmlsZSkge1xuICAgICAgY29uc3QgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcbiAgICAgIHJlYWRlci5yZWFkQXNEYXRhVVJMKGZpbGUpO1xuICAgICAgcmVhZGVyLm9ubG9hZCA9ICgpID0+IHtcblxuICAgICAgICBjb25zdCBpbWcgPSBuZXcgSW1hZ2UoKTtcbiAgICAgICAgaW1nLnNyYyA9IHdpbmRvdy5VUkwuY3JlYXRlT2JqZWN0VVJMKGZpbGUpO1xuICAgICAgICBpbWcub25sb2FkID0gKCkgPT4ge1xuXG4gICAgICAgICAgY29uc3Qgb3JpZ2luYWxXaWR0aCA9IGltZy53aWR0aDtcbiAgICAgICAgICBjb25zdCBvcmlnaW5hbEhlaWdodCA9IGltZy5oZWlnaHQ7XG5cbiAgICAgICAgICBpZiAob3JpZ2luYWxXaWR0aCA+PSB0aGlzLnJlc2l6ZVRvV2lkdGggJiYgb3JpZ2luYWxIZWlnaHQgPj0gdGhpcy5yZXNpemVUb0hlaWdodCkge1xuICAgICAgICAgICAgdGhpcy5pbWFnZSA9IHJlYWRlci5yZXN1bHQ/LnRvU3RyaW5nKCkgfHwgJyc7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuaW1hZ2VFcnJvciA9IE9uc2hvcmVJbWFnZUVycm9yLnJhdGlvO1xuICAgICAgICAgIH1cbiAgICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcblxuICAgICAgICB9XG5cbiAgICAgIH07XG4gICAgfVxuXG5cblxuICB9XG5cbiAgcHVibGljIGltYWdlQ3JvcHBlZChldmVudDogSW1hZ2VDcm9wcGVkRXZlbnQpOiB2b2lkIHtcbiAgICAvLyBUb0RvOiBDaGVjayBuZWVkZWQgYmFzZTY0IGZvcm1hdFxuICAgIC8vdGhpcy5maW5hbEltYWdlID0gZXZlbnQuYmFzZTY0LnNwbGl0KCcsJylbMV07XG4gICAgdGhpcy5maW5hbEltYWdlID0gZXZlbnQuYmFzZTY0IHx8ICcnO1xuICB9XG5cbiAgcHVibGljIGltYWdlQ3JvcHBlZFJlYWR5KCk6IHZvaWQge1xuICAgIHRoaXMuY2hvb3Nlbi5lbWl0KHRoaXMuZmluYWxJbWFnZSk7XG4gICAgdGhpcy5jbGVhcigpO1xuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sdW1uIGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyIHctZnVsbFwiPlxuXG4gIDxkaXYgKm5nSWY9XCIhaW1hZ2VcIiBjbGFzcz1cImZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBmbGV4LWNvbHVtbiBhbGlnbi1pdGVtcy1jZW50ZXIgdy1mdWxsXCI+XG4gICAgPCEtLTxkaXYgc3R5bGU9XCJtYXgtd2lkdGg6IDQwMHB4XCIgY2xhc3M9XCJwdC00XCI+XG4gICAgICA8YXBwLWluZm8tYm94IHRpdGxlPVwiSGlud2Vpc1wiXG4gICAgICAgICAgICAgICAgICAgIFtkZXNjcmlwdGlvbl09XCInRGllIEJpbGRkYXRlaSBtdXNzIG1pbmRlc3RlbnMgJyArIHJlc2l6ZVRvV2lkdGggKyAncHggeCAnICsgcmVzaXplVG9IZWlnaHQgKyAncHggYmV0cmFnZW4sIGRhcmYgbWF4aW1hbCA2LDQgTUIgZ3Jvw58gc2VpbiB1bmQgbXVzcyBpbSBEYXRlaWZvcm1hdCBKUEcgb2RlciBQTkcgdm9ybGllZ2VuLidcIlxuICAgICAgICAgICAgICAgICAgICBpY29uPVwiZmEtaW5mby1jaXJjbGVcIlxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdWQ9XCJuYXZ5XCJcbiAgICAgICAgICAgICAgICAgICAgaWNvblBvc2l0aW9uPVwiYm90dG9tXCJcbiAgICAgICAgICAgICAgICAgICAgW2Rlc2NyaXB0aW9uV3JhcF09XCJ0cnVlXCI+XG4gICAgICA8L2FwcC1pbmZvLWJveD5cbiAgICA8L2Rpdj4tLT5cblxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwib25zaG9yZS1pbWFnZS11cGxvYWQgZmxleCBmbGV4LWNvbHVtbiBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBhbGlnbi1pdGVtcy1jZW50ZXIgcm91bmRlZC1sZyBwLTQgcmVsYXRpdmUgbS0zXCJcbiAgICAgIFtjbGFzcy5vbnNob3JlLWJvcmRlci1ncmF5LTNdPVwiZHJhZ1wiXG4gICAgICBbY2xhc3Mub25zaG9yZS1ib3JkZXItZGFuZ2VyXT1cImltYWdlRXJyb3IgIT0gaW1hZ2VFcnJvclR5cGUubm9uZVwiPlxuICAgICAgPGkgY2xhc3M9XCJmYSBmYS1pbWFnZSBmYS01eCBvbnNob3JlLWNvbG9yLWdyYXktNFwiPjwvaT5cbiAgICAgIDxzbWFsbCBjbGFzcz1cIm9uc2hvcmUtY29sb3ItZ3JheS00IG1iLTJcIj57eydmb3JtLmltYWdlQ29udHJvbC5kcm9wSW1hZ2VMYWJlbCcgfCB0cmFuc2xhdGV9fTwvc21hbGw+XG5cbiAgICAgIDxidXR0b24gcEJ1dHRvblxuICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgaWNvbj1cImZhIGZhLWZpbGVcIlxuICAgICAgICAgICAgICBbbGFiZWxdPVwiJ2Zvcm0uaW1hZ2VDb250cm9sLmltYWdlQ2hvb3NlckZpbGVCdXR0b24nIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJvbnNob3JlLWJ1dHRvbi1wcmltYXJ5IG1yLTJcIj5cbiAgICAgIDwvYnV0dG9uPlxuXG4gICAgICA8aW5wdXRcbiAgICAgICAgKGNoYW5nZSk9XCJmaWxlQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAqbmdJZj1cIiFpbWFnZVwiXG4gICAgICAgIGFjY2VwdD1cImltYWdlL3BuZywgaW1hZ2UvanBlZywgaW1hZ2Uvd2VicFwiXG4gICAgICAgIGNsYXNzPVwib25zaG9yZS1pbWFnZS1pbnB1dCBhYnNvbHV0ZSB3LWZ1bGwgaC1mdWxsXCJcbiAgICAgICAgdHlwZT1cImZpbGVcIlxuICAgICAgICAoZHJhZ2VudGVyKT1cImRyYWcgPSB0cnVlXCJcbiAgICAgICAgKGRyYWdsZWF2ZSk9XCJkcmFnID0gZmFsc2VcIlxuICAgICAgICAoZHJhZ2VuZCk9XCJkcmFnID0gZmFsc2VcIlxuICAgICAgLz5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2x1bW4gcmVsYXRpdmUgYWxpZ24taXRlbXMtY2VudGVyIHctZnVsbFwiICpuZ0lmPVwiaW1hZ2VcIj5cbiAgICA8IS0tPGRpdiBzdHlsZT1cIm1heC13aWR0aDogNDAwcHhcIiBjbGFzcz1cInB0LTRcIj5cbiAgICAgIDxhcHAtaW5mby1ib3ggdGl0bGU9XCJIaW53ZWlzXCJcbiAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb249XCJXw6RobGUgZWluZW4gQmVyZWljaCBkZXIgdm9tIEJpbGQgdmVyd2VuZGV0IHdlcmRlbiBzb2xsLlwiXG4gICAgICAgICAgICAgICAgICAgIGljb249XCJmYS1pbmZvLWNpcmNsZVwiXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91ZD1cIm5hdnlcIlxuICAgICAgICAgICAgICAgICAgICBpY29uUG9zaXRpb249XCJib3R0b21cIlxuICAgICAgICAgICAgICAgICAgICBbZGVzY3JpcHRpb25XcmFwXT1cInRydWVcIj5cbiAgICAgIDwvYXBwLWluZm8tYm94PlxuICAgIDwvZGl2Pi0tPlxuXG4gICAgPGltYWdlLWNyb3BwZXJcbiAgICAgIGNsYXNzPVwib25zaG9yZS1pbWFnZS1jcm9wcGVyIG0tM1wiXG4gICAgICBbY2xhc3Mub25zaG9yZS1jcm9wcGVyLWNpcmNsZV09XCJjaXJjbGVDcm9wcGVyXCJcbiAgICAgIChpbWFnZUNyb3BwZWQpPVwiaW1hZ2VDcm9wcGVkKCRldmVudClcIlxuICAgICAgW2ltYWdlQmFzZTY0XT1cImltYWdlXCJcbiAgICAgIFtpbWFnZVF1YWxpdHldPVwiaW1hZ2VRdWFsaXR5XCJcbiAgICAgIFthbGlnbkltYWdlXT1cImFsaWduSW1hZ2VcIlxuICAgICAgW2JhY2tncm91bmRDb2xvcl09XCJiYWNrZ3JvdW5kQ29sb3JcIlxuICAgICAgW2NvbnRhaW5XaXRoaW5Bc3BlY3RSYXRpb109XCJjb250YWluV2l0aGluQXNwZWN0UmF0aW9cIlxuICAgICAgW2Zvcm1hdF09XCJmb3JtYXRcIlxuICAgICAgW2FzcGVjdFJhdGlvXT1cImFzcGVjdFJhdGlvXCJcbiAgICAgIFtyZXNpemVUb0hlaWdodF09XCJyZXNpemVUb0hlaWdodFwiXG4gICAgICBbcmVzaXplVG9XaWR0aF09XCJyZXNpemVUb1dpZHRoXCI+XG4gICAgPC9pbWFnZS1jcm9wcGVyPlxuICA8L2Rpdj5cblxuICA8ZGl2ICpuZ0lmPVwiaW1hZ2VFcnJvclwiY2xhc3M9XCJwYi0yIHRleHQtd3JhcCB0ZXh0LWNlbnRlciBvbnNob3JlLWNvbG9yLWRhbmdlclwiPlxuICAgIDxzbWFsbCAqbmdJZj1cImltYWdlRXJyb3IgPT0gaW1hZ2VFcnJvclR5cGUucmF0aW9cIj57eydmb3JtLmltYWdlQ29udHJvbC5pbWFnZUVycm9yUmF0aW8nIHwgdHJhbnNsYXRlOiB7cmVzaXplVG9XaWR0aCwgcmVzaXplVG9IZWlnaHR9IH19PC9zbWFsbD5cbiAgICA8c21hbGwgKm5nSWY9XCJpbWFnZUVycm9yID09IGltYWdlRXJyb3JUeXBlLmZpbGVUeXBlXCI+e3snZm9ybS5pbWFnZUNvbnRyb2wuaW1hZ2VFcnJvckZpbGVUeXBlJyB8IHRyYW5zbGF0ZX19PC9zbWFsbD5cbiAgICA8c21hbGwgKm5nSWY9XCJpbWFnZUVycm9yID09IGltYWdlRXJyb3JUeXBlLnNpemVcIj57eydmb3JtLmltYWdlQ29udHJvbC5pbWFnZUVycm9yU2l6ZScgfCB0cmFuc2xhdGV9fTwvc21hbGw+XG4gIDwvZGl2PlxuPC9kaXY+XG5cblxuPHAtZm9vdGVyPlxuICA8ZGl2IGNsYXNzPVwiZmxleCBqdXN0aWZ5LWNvbnRlbnQtZW5kIGFsaWduLWl0ZW1zLWNlbnRlciBtdC0yXCI+XG4gICAgPGJ1dHRvbiBwQnV0dG9uXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIGljb249XCJmYSBmYS10aW1lc1wiXG4gICAgICAgICAgICBbbGFiZWxdPVwiJ2Zvcm0uaW1hZ2VDb250cm9sLmltYWdlQ2hvb3NlckNhbmNlbEJ1dHRvbicgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgY2xhc3M9XCJvbnNob3JlLWJ1dHRvbi1saWdodCBtci0yXCJcbiAgICAgICAgICAgIChjbGljayk9XCJjbGVhcigpOyBjYW5jZWxlZC5lbWl0KHRydWUpXCI+XG4gICAgPC9idXR0b24+XG5cbiAgICA8YnV0dG9uIHBCdXR0b25cbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgW2xhYmVsXT1cIidmb3JtLmltYWdlQ29udHJvbC5pbWFnZUNob29zZXJTZWxlY3RCdXR0b24nIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgIGNsYXNzPVwib25zaG9yZS1idXR0b24tbGlnaHRcIlxuICAgICAgICAgICAgaWNvbj1cImZhIGZhLWNoZWNrXCJcbiAgICAgICAgICAgIChjbGljayk9XCJpbWFnZUNyb3BwZWRSZWFkeSgpXCI+XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuPC9wLWZvb3Rlcj5cblxuIl19
|
|
79
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtY2hvb3Nlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vbnNob3JlLWZvcm1zL3NyYy9saWIvY29tcG9uZW50cy9pbWFnZS1jaG9vc2VyL2ltYWdlLWNob29zZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb25zaG9yZS1mb3Jtcy9zcmMvbGliL2NvbXBvbmVudHMvaW1hZ2UtY2hvb3Nlci9pbWFnZS1jaG9vc2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNQLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7Ozs7O0FBUTNELE1BQU0sT0FBTyw0QkFBNEI7SUF5RXZDLFlBQW9CLEdBQXNCO1FBQXRCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBdkUxQyxTQUFJLEdBQUcsS0FBSyxDQUFDO1FBQ2IsVUFBSyxHQUFHLEVBQUUsQ0FBQztRQUNYLGVBQVUsR0FBRyxFQUFFLENBQUM7UUFDaEIsbUJBQWMsR0FBRyxpQkFBaUIsQ0FBQztRQUNuQyxlQUFVLEdBQXNCLGlCQUFpQixDQUFDLElBQUksQ0FBQztRQUk3QyxZQUFPLEdBQXlCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDbkQsYUFBUSxHQUEwQixJQUFJLFlBQVksRUFBRSxDQUFDO0lBK0QvRCxDQUFDO0lBN0RELEtBQUs7UUFDSCxJQUFJLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztRQUNoQixJQUFJLENBQUMsVUFBVSxHQUFHLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsVUFBVSxHQUFHLGlCQUFpQixDQUFDLElBQUksQ0FBQztJQUMzQyxDQUFDO0lBRU0sVUFBVSxDQUFDLEtBQVk7UUFDNUIsSUFBSSxDQUFDLFVBQVUsR0FBRyxpQkFBaUIsQ0FBQyxJQUFJLENBQUM7UUFDekMsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLE1BQTBCLENBQUM7UUFDaEQsTUFBTSxJQUFJLEdBQTRCLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUU5RSxJQUFJLElBQUksRUFBRSxJQUFJLElBQUksV0FBVyxJQUFJLElBQUksRUFBRSxJQUFJLElBQUksWUFBWSxJQUFJLElBQUksRUFBRSxJQUFJLElBQUksWUFBWSxFQUFFO1lBQ3pGLElBQUksQ0FBQyxVQUFVLEdBQUcsaUJBQWlCLENBQUMsUUFBUSxDQUFDO1lBQzdDLE9BQU87U0FDUjtRQUVELElBQUksSUFBSSxFQUFFLElBQUksR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsRUFBRTtZQUMvQyxJQUFJLENBQUMsVUFBVSxHQUFHLGlCQUFpQixDQUFDLElBQUksQ0FBQztZQUN6QyxPQUFPO1NBQ1I7UUFFRCxJQUFJLElBQUksRUFBRTtZQUNSLE1BQU0sTUFBTSxHQUFHLElBQUksVUFBVSxFQUFFLENBQUM7WUFDaEMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUMzQixNQUFNLENBQUMsTUFBTSxHQUFHLEdBQUcsRUFBRTtnQkFFbkIsTUFBTSxHQUFHLEdBQUcsSUFBSSxLQUFLLEVBQUUsQ0FBQztnQkFDeEIsR0FBRyxDQUFDLEdBQUcsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDM0MsR0FBRyxDQUFDLE1BQU0sR0FBRyxHQUFHLEVBQUU7b0JBRWhCLE1BQU0sYUFBYSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUM7b0JBQ2hDLE1BQU0sY0FBYyxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUM7b0JBRWxDLElBQUksYUFBYSxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxJQUFJLGNBQWMsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsRUFBRTt3QkFDdEcsSUFBSSxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQztxQkFDOUM7eUJBQU07d0JBQ0wsSUFBSSxDQUFDLFVBQVUsR0FBRyxpQkFBaUIsQ0FBQyxLQUFLLENBQUM7cUJBQzNDO29CQUNELElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7Z0JBRTFCLENBQUMsQ0FBQTtZQUVILENBQUMsQ0FBQztTQUNIO0lBSUgsQ0FBQztJQUVNLFlBQVksQ0FBQyxLQUF3QjtRQUMxQyxtQ0FBbUM7UUFDbkMsK0NBQStDO1FBQy9DLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUM7SUFDdkMsQ0FBQztJQUVNLGlCQUFpQjtRQUN0QixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDbkMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ2YsQ0FBQzs7eUhBdkVVLDRCQUE0Qjs2R0FBNUIsNEJBQTRCLGdLQ2pCekMsNjFIQXNGQTsyRkRyRWEsNEJBQTRCO2tCQUx4QyxTQUFTOytCQUNFLHVCQUF1QixtQkFFaEIsdUJBQXVCLENBQUMsTUFBTTt3R0FVdEMsYUFBYTtzQkFBckIsS0FBSztnQkFFSSxPQUFPO3NCQUFoQixNQUFNO2dCQUNHLFFBQVE7c0JBQWpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT3V0cHV0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSW1hZ2VDcm9wcGVkRXZlbnQgfSBmcm9tICduZ3gtaW1hZ2UtY3JvcHBlcic7XG5pbXBvcnQgeyBPbnNob3JlSW1hZ2VFcnJvciB9IGZyb20gJy4uLy4uL2VudW1zL2Zvcm0uZW51bXMnO1xuaW1wb3J0IHsgT25zaG9yZUZvcm1JbWFnZVNldHRpbmdzIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2Zvcm0ubW9kZWxzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnb25zaG9yZS1pbWFnZS1jaG9vc2VyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ltYWdlLWNob29zZXIuY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgT25zaG9yZUltYWdlQ2hvb3NlckNvbXBvbmVudCB7XG5cbiAgZHJhZyA9IGZhbHNlO1xuICBpbWFnZSA9ICcnO1xuICBmaW5hbEltYWdlID0gJyc7XG4gIGltYWdlRXJyb3JUeXBlID0gT25zaG9yZUltYWdlRXJyb3I7XG4gIGltYWdlRXJyb3I6IE9uc2hvcmVJbWFnZUVycm9yID0gT25zaG9yZUltYWdlRXJyb3Iubm9uZTtcblxuICBASW5wdXQoKSBpbWFnZVNldHRpbmdzOiBPbnNob3JlRm9ybUltYWdlU2V0dGluZ3M7XG5cbiAgQE91dHB1dCgpIGNob29zZW46IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgY2FuY2VsZWQ6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBjbGVhcigpIHtcbiAgICB0aGlzLmltYWdlID0gJyc7XG4gICAgdGhpcy5maW5hbEltYWdlID0gJyc7XG4gICAgdGhpcy5pbWFnZUVycm9yID0gT25zaG9yZUltYWdlRXJyb3Iubm9uZTtcbiAgfVxuXG4gIHB1YmxpYyBmaWxlQ2hhbmdlKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuaW1hZ2VFcnJvciA9IE9uc2hvcmVJbWFnZUVycm9yLm5vbmU7XG4gICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG4gICAgY29uc3QgZmlsZTogRmlsZSB8IHVuZGVmaW5lZCB8IG51bGwgPSB0YXJnZXQ/LmZpbGVzID8gdGFyZ2V0Py5maWxlc1swXSA6IG51bGw7XG5cbiAgICBpZiAoZmlsZT8udHlwZSAhPSAnaW1hZ2UvcG5nJyAmJiBmaWxlPy50eXBlICE9ICdpbWFnZS9qcGVnJyAmJiBmaWxlPy50eXBlICE9ICdpbWFnZS93ZWJwJykge1xuICAgICAgdGhpcy5pbWFnZUVycm9yID0gT25zaG9yZUltYWdlRXJyb3IuZmlsZVR5cGU7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKGZpbGU/LnNpemUgPiB0aGlzLmltYWdlU2V0dGluZ3MubWF4RmlsZVNpemUpIHtcbiAgICAgIHRoaXMuaW1hZ2VFcnJvciA9IE9uc2hvcmVJbWFnZUVycm9yLnNpemU7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKGZpbGUpIHtcbiAgICAgIGNvbnN0IHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7XG4gICAgICByZWFkZXIucmVhZEFzRGF0YVVSTChmaWxlKTtcbiAgICAgIHJlYWRlci5vbmxvYWQgPSAoKSA9PiB7XG5cbiAgICAgICAgY29uc3QgaW1nID0gbmV3IEltYWdlKCk7XG4gICAgICAgIGltZy5zcmMgPSB3aW5kb3cuVVJMLmNyZWF0ZU9iamVjdFVSTChmaWxlKTtcbiAgICAgICAgaW1nLm9ubG9hZCA9ICgpID0+IHtcblxuICAgICAgICAgIGNvbnN0IG9yaWdpbmFsV2lkdGggPSBpbWcud2lkdGg7XG4gICAgICAgICAgY29uc3Qgb3JpZ2luYWxIZWlnaHQgPSBpbWcuaGVpZ2h0O1xuXG4gICAgICAgICAgaWYgKG9yaWdpbmFsV2lkdGggPj0gdGhpcy5pbWFnZVNldHRpbmdzLmltYWdlV2lkdGggJiYgb3JpZ2luYWxIZWlnaHQgPj0gdGhpcy5pbWFnZVNldHRpbmdzLmltYWdlSGVpZ2h0KSB7XG4gICAgICAgICAgICB0aGlzLmltYWdlID0gcmVhZGVyLnJlc3VsdD8udG9TdHJpbmcoKSB8fCAnJztcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5pbWFnZUVycm9yID0gT25zaG9yZUltYWdlRXJyb3IucmF0aW87XG4gICAgICAgICAgfVxuICAgICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuXG4gICAgICAgIH1cblxuICAgICAgfTtcbiAgICB9XG5cblxuXG4gIH1cblxuICBwdWJsaWMgaW1hZ2VDcm9wcGVkKGV2ZW50OiBJbWFnZUNyb3BwZWRFdmVudCk6IHZvaWQge1xuICAgIC8vIFRvRG86IENoZWNrIG5lZWRlZCBiYXNlNjQgZm9ybWF0XG4gICAgLy90aGlzLmZpbmFsSW1hZ2UgPSBldmVudC5iYXNlNjQuc3BsaXQoJywnKVsxXTtcbiAgICB0aGlzLmZpbmFsSW1hZ2UgPSBldmVudC5iYXNlNjQgfHwgJyc7XG4gIH1cblxuICBwdWJsaWMgaW1hZ2VDcm9wcGVkUmVhZHkoKTogdm9pZCB7XG4gICAgdGhpcy5jaG9vc2VuLmVtaXQodGhpcy5maW5hbEltYWdlKTtcbiAgICB0aGlzLmNsZWFyKCk7XG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2x1bW4ganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXIgdy1mdWxsXCI+XG5cbiAgPGRpdiAqbmdJZj1cIiFpbWFnZVwiIGNsYXNzPVwiZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGZsZXgtY29sdW1uIGFsaWduLWl0ZW1zLWNlbnRlciB3LWZ1bGxcIj5cbiAgICA8IS0tPGRpdiBzdHlsZT1cIm1heC13aWR0aDogNDAwcHhcIiBjbGFzcz1cInB0LTRcIj5cbiAgICAgIDxhcHAtaW5mby1ib3ggdGl0bGU9XCJIaW53ZWlzXCJcbiAgICAgICAgICAgICAgICAgICAgW2Rlc2NyaXB0aW9uXT1cIidEaWUgQmlsZGRhdGVpIG11c3MgbWluZGVzdGVucyAnICsgcmVzaXplVG9XaWR0aCArICdweCB4ICcgKyByZXNpemVUb0hlaWdodCArICdweCBiZXRyYWdlbiwgZGFyZiBtYXhpbWFsIDYsNCBNQiBncm/DnyBzZWluIHVuZCBtdXNzIGltIERhdGVpZm9ybWF0IEpQRyBvZGVyIFBORyB2b3JsaWVnZW4uJ1wiXG4gICAgICAgICAgICAgICAgICAgIGljb249XCJmYS1pbmZvLWNpcmNsZVwiXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91ZD1cIm5hdnlcIlxuICAgICAgICAgICAgICAgICAgICBpY29uUG9zaXRpb249XCJib3R0b21cIlxuICAgICAgICAgICAgICAgICAgICBbZGVzY3JpcHRpb25XcmFwXT1cInRydWVcIj5cbiAgICAgIDwvYXBwLWluZm8tYm94PlxuICAgIDwvZGl2Pi0tPlxuXG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJvbnNob3JlLWltYWdlLXVwbG9hZCBmbGV4IGZsZXgtY29sdW1uIGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGFsaWduLWl0ZW1zLWNlbnRlciByb3VuZGVkLWxnIHAtNCByZWxhdGl2ZSBtLTNcIlxuICAgICAgW2NsYXNzLm9uc2hvcmUtYm9yZGVyLWdyYXktM109XCJkcmFnXCJcbiAgICAgIFtjbGFzcy5vbnNob3JlLWJvcmRlci1kYW5nZXJdPVwiaW1hZ2VFcnJvciAhPSBpbWFnZUVycm9yVHlwZS5ub25lXCI+XG4gICAgICA8aSBjbGFzcz1cImZhIGZhLWltYWdlIGZhLTV4IG9uc2hvcmUtY29sb3ItZ3JheS00XCI+PC9pPlxuICAgICAgPHNtYWxsIGNsYXNzPVwib25zaG9yZS1jb2xvci1ncmF5LTQgbWItMlwiPnt7J2Zvcm0uaW1hZ2VDb250cm9sLmRyb3BJbWFnZUxhYmVsJyB8IHRyYW5zbGF0ZX19PC9zbWFsbD5cblxuICAgICAgPGJ1dHRvbiBwQnV0dG9uXG4gICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICBpY29uPVwiZmEgZmEtZmlsZVwiXG4gICAgICAgICAgICAgIFtsYWJlbF09XCInZm9ybS5pbWFnZUNvbnRyb2wuaW1hZ2VDaG9vc2VyRmlsZUJ1dHRvbicgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICBjbGFzcz1cIm9uc2hvcmUtYnV0dG9uLXByaW1hcnkgbXItMlwiPlxuICAgICAgPC9idXR0b24+XG5cbiAgICAgIDxpbnB1dFxuICAgICAgICAoY2hhbmdlKT1cImZpbGVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICpuZ0lmPVwiIWltYWdlXCJcbiAgICAgICAgYWNjZXB0PVwiaW1hZ2UvcG5nLCBpbWFnZS9qcGVnLCBpbWFnZS93ZWJwXCJcbiAgICAgICAgY2xhc3M9XCJvbnNob3JlLWltYWdlLWlucHV0IGFic29sdXRlIHctZnVsbCBoLWZ1bGxcIlxuICAgICAgICB0eXBlPVwiZmlsZVwiXG4gICAgICAgIChkcmFnZW50ZXIpPVwiZHJhZyA9IHRydWVcIlxuICAgICAgICAoZHJhZ2xlYXZlKT1cImRyYWcgPSBmYWxzZVwiXG4gICAgICAgIChkcmFnZW5kKT1cImRyYWcgPSBmYWxzZVwiXG4gICAgICAvPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbHVtbiByZWxhdGl2ZSBhbGlnbi1pdGVtcy1jZW50ZXIgdy1mdWxsXCIgKm5nSWY9XCJpbWFnZVwiPlxuICAgIDxpbWFnZS1jcm9wcGVyXG4gICAgICBjbGFzcz1cIm0tM1wiIFtzdHlsZV09XCInaGVpZ2h0OiAnICsgaW1hZ2VTZXR0aW5ncy5jcm9wcGVyUHJldmlld0hlaWdodCArICdweDsgd2lkdGg6ICcgKyBpbWFnZVNldHRpbmdzLmNyb3BwZXJQcmV2aWV3V2lkdGggKyAncHgnXCJcbiAgICAgIFtjbGFzcy5vbnNob3JlLWNyb3BwZXItY2lyY2xlXT1cInRoaXMuaW1hZ2VTZXR0aW5ncy5jaXJjbGVDcm9wcGVyXCJcbiAgICAgIChpbWFnZUNyb3BwZWQpPVwiaW1hZ2VDcm9wcGVkKCRldmVudClcIlxuICAgICAgW2ltYWdlQmFzZTY0XT1cImltYWdlXCJcbiAgICAgIFtpbWFnZVF1YWxpdHldPVwidGhpcy5pbWFnZVNldHRpbmdzLmltYWdlUXVhbGl0eVwiXG4gICAgICBbYWxpZ25JbWFnZV09XCJ0aGlzLmltYWdlU2V0dGluZ3MuYWxpZ25JbWFnZVwiXG4gICAgICBbYmFja2dyb3VuZENvbG9yXT1cInRoaXMuaW1hZ2VTZXR0aW5ncy5iYWNrZ3JvdW5kQ29sb3JcIlxuICAgICAgW2NvbnRhaW5XaXRoaW5Bc3BlY3RSYXRpb109XCJ0aGlzLmltYWdlU2V0dGluZ3MuY29udGFpbldpdGhpbkFzcGVjdFJhdGlvXCJcbiAgICAgIFtmb3JtYXRdPVwidGhpcy5pbWFnZVNldHRpbmdzLmZvcm1hdFwiXG4gICAgICBbYXNwZWN0UmF0aW9dPVwidGhpcy5pbWFnZVNldHRpbmdzLmFzcGVjdFJhdGlvXCJcbiAgICAgIFtyZXNpemVUb0hlaWdodF09XCJ0aGlzLmltYWdlU2V0dGluZ3MuaW1hZ2VXaWR0aFwiXG4gICAgICBbcmVzaXplVG9XaWR0aF09XCJ0aGlzLmltYWdlU2V0dGluZ3MuaW1hZ2VIZWlnaHRcIj5cbiAgICA8L2ltYWdlLWNyb3BwZXI+XG4gIDwvZGl2PlxuXG4gIDxkaXYgKm5nSWY9XCJpbWFnZUVycm9yXCJjbGFzcz1cInBiLTIgdGV4dC13cmFwIHRleHQtY2VudGVyIG9uc2hvcmUtY29sb3ItZGFuZ2VyXCI+XG4gICAgPHNtYWxsICpuZ0lmPVwiaW1hZ2VFcnJvciA9PSBpbWFnZUVycm9yVHlwZS5yYXRpb1wiPnt7J2Zvcm0uaW1hZ2VDb250cm9sLmltYWdlRXJyb3JSYXRpbycgfCB0cmFuc2xhdGU6IHtyZXNpemVUb1dpZHRoOiB0aGlzLmltYWdlU2V0dGluZ3MuaW1hZ2VXaWR0aCwgcmVzaXplVG9IZWlnaHQ6IHRoaXMuaW1hZ2VTZXR0aW5ncy5pbWFnZUhlaWdodH0gfX08L3NtYWxsPlxuICAgIDxzbWFsbCAqbmdJZj1cImltYWdlRXJyb3IgPT0gaW1hZ2VFcnJvclR5cGUuZmlsZVR5cGVcIj57eydmb3JtLmltYWdlQ29udHJvbC5pbWFnZUVycm9yRmlsZVR5cGUnIHwgdHJhbnNsYXRlfX08L3NtYWxsPlxuICAgIDxzbWFsbCAqbmdJZj1cImltYWdlRXJyb3IgPT0gaW1hZ2VFcnJvclR5cGUuc2l6ZVwiPnt7J2Zvcm0uaW1hZ2VDb250cm9sLmltYWdlRXJyb3JTaXplJyB8IHRyYW5zbGF0ZX19PC9zbWFsbD5cbiAgPC9kaXY+XG48L2Rpdj5cblxuXG48cC1mb290ZXI+XG4gIDxkaXYgY2xhc3M9XCJmbGV4IGp1c3RpZnktY29udGVudC1lbmQgYWxpZ24taXRlbXMtY2VudGVyIG10LTJcIj5cbiAgICA8YnV0dG9uIHBCdXR0b25cbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgaWNvbj1cImZhIGZhLXRpbWVzXCJcbiAgICAgICAgICAgIFtsYWJlbF09XCInZm9ybS5pbWFnZUNvbnRyb2wuaW1hZ2VDaG9vc2VyQ2FuY2VsQnV0dG9uJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICBjbGFzcz1cIm9uc2hvcmUtYnV0dG9uLWxpZ2h0IG1yLTJcIlxuICAgICAgICAgICAgKGNsaWNrKT1cImNsZWFyKCk7IGNhbmNlbGVkLmVtaXQodHJ1ZSlcIj5cbiAgICA8L2J1dHRvbj5cblxuICAgIDxidXR0b24gcEJ1dHRvblxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICBbbGFiZWxdPVwiJ2Zvcm0uaW1hZ2VDb250cm9sLmltYWdlQ2hvb3NlclNlbGVjdEJ1dHRvbicgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgY2xhc3M9XCJvbnNob3JlLWJ1dHRvbi1wcmltYXJ5XCJcbiAgICAgICAgICAgIGljb249XCJmYSBmYS1jaGVja1wiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiIWltYWdlXCJcbiAgICAgICAgICAgIChjbGljayk9XCJpbWFnZUNyb3BwZWRSZWFkeSgpXCI+XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuPC9wLWZvb3Rlcj5cblxuIl19
|