@smartbit4all/ng-client 4.0.8 → 4.0.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/smart-client/smart-file-uploader/smart-file-uploader.component.mjs +36 -7
- package/esm2022/lib/smart-form/widgets/smartformwidget/smartformwidget.component.mjs +39 -13
- package/esm2022/lib/smart-grid/smart-grid.component.mjs +61 -14
- package/esm2022/lib/smart-grid/smart-grid.module.mjs +19 -3
- package/esm2022/lib/smart-ng-client.module.mjs +7 -3
- package/esm2022/lib/view-context/smart-view-context.module.mjs +33 -3
- package/fesm2022/smartbit4all-ng-client.mjs +171 -27
- package/fesm2022/smartbit4all-ng-client.mjs.map +1 -1
- package/lib/smart-client/smart-file-uploader/smart-file-uploader.component.d.ts +9 -2
- package/lib/smart-form/widgets/smartformwidget/smartformwidget.component.d.ts +6 -2
- package/lib/smart-grid/smart-grid.component.d.ts +11 -2
- package/lib/smart-grid/smart-grid.module.d.ts +5 -1
- package/lib/smart-ng-client.module.d.ts +3 -2
- package/lib/view-context/smart-view-context.module.d.ts +7 -1
- package/package.json +1 -1
- package/smartbit4all-ng-client-4.0.9.tgz +0 -0
- package/smartbit4all-ng-client-4.0.8.tgz +0 -0
|
@@ -1,12 +1,18 @@
|
|
|
1
|
-
import { Component, Input } from '@angular/core';
|
|
1
|
+
import { Component, Inject, Input } from '@angular/core';
|
|
2
|
+
import { COMPONENT_LIBRARY, ComponentLibrary, } from '../../view-context/projects';
|
|
2
3
|
import * as i0 from "@angular/core";
|
|
3
4
|
import * as i1 from "../../view-context/projects";
|
|
4
5
|
import * as i2 from "@angular/common";
|
|
5
6
|
import * as i3 from "../../smart-form/smartfileuploader/smartfileuploader.component";
|
|
7
|
+
import * as i4 from "primeng/fileupload";
|
|
8
|
+
import * as i5 from "primeng/api";
|
|
6
9
|
export class SmartFileUploaderComponent {
|
|
7
|
-
constructor(uiActionService, uiActionDescriptorService) {
|
|
10
|
+
constructor(uiActionService, uiActionDescriptorService, compLib) {
|
|
8
11
|
this.uiActionService = uiActionService;
|
|
9
12
|
this.uiActionDescriptorService = uiActionDescriptorService;
|
|
13
|
+
this.compLib = compLib;
|
|
14
|
+
this.componentLibrary = ComponentLibrary;
|
|
15
|
+
this.uploadedFiles = [];
|
|
10
16
|
}
|
|
11
17
|
ngOnChanges(changes) {
|
|
12
18
|
this.config = changes['config'].currentValue;
|
|
@@ -41,13 +47,36 @@ export class SmartFileUploaderComponent {
|
|
|
41
47
|
this.uiActionService.uiActionModel = this.uiActionModel;
|
|
42
48
|
this.uiActionService.execute(this.uiActionModel.uiAction);
|
|
43
49
|
}
|
|
44
|
-
|
|
45
|
-
|
|
50
|
+
onSelect(event) {
|
|
51
|
+
this.uploadedFiles = [];
|
|
52
|
+
for (let file of event.files) {
|
|
53
|
+
this.uploadedFiles.push(file);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
onRemove(event) {
|
|
57
|
+
this.uploadedFiles = [];
|
|
58
|
+
}
|
|
59
|
+
uploadFiles(event) {
|
|
60
|
+
console.log(event);
|
|
61
|
+
this.uiActionModel.uiAction.params = {
|
|
62
|
+
...this.uiActionModel.uiAction.params,
|
|
63
|
+
_files: this.uploadedFiles,
|
|
64
|
+
isMultiple: this.config?.isMultiple,
|
|
65
|
+
param: 'INPUT',
|
|
66
|
+
};
|
|
67
|
+
this.uiActionService.uiActionModel = this.uiActionModel;
|
|
68
|
+
this.uiActionService.execute(this.uiActionModel.uiAction);
|
|
69
|
+
}
|
|
70
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SmartFileUploaderComponent, deps: [{ token: i1.UiActionService }, { token: i1.UiActionDescriptorService }, { token: COMPONENT_LIBRARY }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
71
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.11", type: SmartFileUploaderComponent, selector: "smart-file-uploader4sc", inputs: { config: "config" }, usesOnChanges: true, ngImport: i0, template: "@if(compLib === componentLibrary.PRIMENG) {\r\n<p-fileUpload\r\n name=\"files[]\"\r\n url=\"\"\r\n (onSend)=\"uploadFiles($event)\"\r\n (onSelect)=\"onSelect($event)\"\r\n (onRemove)=\"onRemove($event)\"\r\n [multiple]=\"true\"\r\n [accept]=\"config?.fileFormats?.join(',')\"\r\n [maxFileSize]=\"config?.maxSizeMb\"\r\n>\r\n <ng-template pTemplate=\"content\"> </ng-template>\r\n</p-fileUpload>\r\n}@else{\r\n<smartfileuploader\r\n *ngIf=\"i18n\"\r\n [i18n]=\"i18n\"\r\n [fileFormats]=\"config?.fileFormats\"\r\n [isMultiple]=\"config?.isMultiple\"\r\n [maxSizeMb]=\"config?.maxSizeMb\"\r\n [uploadCallback]=\"executeUpload.bind(this)\"\r\n></smartfileuploader>\r\n}\r\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.SmartfileuploaderComponent, selector: "smartfileuploader", inputs: ["uploadCallback", "fileFormats", "maxSizeMb", "i18n", "useIconButton", "isMultiple"] }, { kind: "component", type: i4.FileUpload, selector: "p-fileUpload", inputs: ["name", "url", "method", "multiple", "accept", "disabled", "auto", "withCredentials", "maxFileSize", "invalidFileSizeMessageSummary", "invalidFileSizeMessageDetail", "invalidFileTypeMessageSummary", "invalidFileTypeMessageDetail", "invalidFileLimitMessageDetail", "invalidFileLimitMessageSummary", "style", "styleClass", "previewWidth", "chooseLabel", "uploadLabel", "cancelLabel", "chooseIcon", "uploadIcon", "cancelIcon", "showUploadButton", "showCancelButton", "mode", "headers", "customUpload", "fileLimit", "uploadStyleClass", "cancelStyleClass", "removeStyleClass", "chooseStyleClass", "files"], outputs: ["onBeforeUpload", "onSend", "onUpload", "onError", "onClear", "onRemove", "onSelect", "onProgress", "uploadHandler", "onImageError", "onRemoveUploadedFile"] }, { kind: "directive", type: i5.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }] }); }
|
|
46
72
|
}
|
|
47
73
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SmartFileUploaderComponent, decorators: [{
|
|
48
74
|
type: Component,
|
|
49
|
-
args: [{ selector: 'smart-file-uploader4sc', template: "<smartfileuploader\r\n *ngIf=\"i18n\"\r\n [i18n]=\"i18n\"\r\n [fileFormats]=\"config?.fileFormats\"\r\n [isMultiple]=\"config?.isMultiple\"\r\n [maxSizeMb]=\"config?.maxSizeMb\"\r\n [uploadCallback]=\"executeUpload.bind(this)\"\r\n></smartfileuploader>\r\n" }]
|
|
50
|
-
}], ctorParameters: () => [{ type: i1.UiActionService }, { type: i1.UiActionDescriptorService }
|
|
75
|
+
args: [{ selector: 'smart-file-uploader4sc', template: "@if(compLib === componentLibrary.PRIMENG) {\r\n<p-fileUpload\r\n name=\"files[]\"\r\n url=\"\"\r\n (onSend)=\"uploadFiles($event)\"\r\n (onSelect)=\"onSelect($event)\"\r\n (onRemove)=\"onRemove($event)\"\r\n [multiple]=\"true\"\r\n [accept]=\"config?.fileFormats?.join(',')\"\r\n [maxFileSize]=\"config?.maxSizeMb\"\r\n>\r\n <ng-template pTemplate=\"content\"> </ng-template>\r\n</p-fileUpload>\r\n}@else{\r\n<smartfileuploader\r\n *ngIf=\"i18n\"\r\n [i18n]=\"i18n\"\r\n [fileFormats]=\"config?.fileFormats\"\r\n [isMultiple]=\"config?.isMultiple\"\r\n [maxSizeMb]=\"config?.maxSizeMb\"\r\n [uploadCallback]=\"executeUpload.bind(this)\"\r\n></smartfileuploader>\r\n}\r\n" }]
|
|
76
|
+
}], ctorParameters: () => [{ type: i1.UiActionService }, { type: i1.UiActionDescriptorService }, { type: i1.ComponentLibrary, decorators: [{
|
|
77
|
+
type: Inject,
|
|
78
|
+
args: [COMPONENT_LIBRARY]
|
|
79
|
+
}] }], propDecorators: { config: [{
|
|
51
80
|
type: Input
|
|
52
81
|
}] } });
|
|
53
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
82
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtZmlsZS11cGxvYWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zbWFydC1jbGllbnQvc21hcnQtZmlsZS11cGxvYWRlci9zbWFydC1maWxlLXVwbG9hZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NtYXJ0LW5nLWNsaWVudC9zcmMvbGliL3NtYXJ0LWNsaWVudC9zbWFydC1maWxlLXVwbG9hZGVyL3NtYXJ0LWZpbGUtdXBsb2FkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUE0QixNQUFNLGVBQWUsQ0FBQztBQUNuRixPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLGdCQUFnQixHQUlqQixNQUFNLDZCQUE2QixDQUFDOzs7Ozs7O0FBU3JDLE1BQU0sT0FBTywwQkFBMEI7SUFPckMsWUFDVSxlQUFnQyxFQUNoQyx5QkFBb0QsRUFDMUIsT0FBeUI7UUFGbkQsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ2hDLDhCQUF5QixHQUF6Qix5QkFBeUIsQ0FBMkI7UUFDMUIsWUFBTyxHQUFQLE9BQU8sQ0FBa0I7UUFSN0QscUJBQWdCLEdBQUcsZ0JBQWdCLENBQUM7UUFHcEMsa0JBQWEsR0FBVSxFQUFFLENBQUM7SUFNdkIsQ0FBQztJQUVKLFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUFJLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxZQUFZLENBQUM7UUFDN0MsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDaEIsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2YsQ0FBQztJQUNILENBQUM7SUFFRCxLQUFLLENBQUMsS0FBSztRQUNULElBQUksQ0FBQyxJQUFJ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UGEsMEJBQTBCO2tCQUx0QyxTQUFTOytCQUNFLHdCQUF3Qjs7MEJBYy9CLE1BQU07MkJBQUMsaUJBQWlCO3lDQVRsQixNQUFNO3NCQUFkLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCwgSW5wdXQsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gIENPTVBPTkVOVF9MSUJSQVJZLFxyXG4gIENvbXBvbmVudExpYnJhcnksXHJcbiAgVWlBY3Rpb25EZXNjcmlwdG9yU2VydmljZSxcclxuICBVaUFjdGlvbk1vZGVsLFxyXG4gIFVpQWN0aW9uU2VydmljZSxcclxufSBmcm9tICcuLi8uLi92aWV3LWNvbnRleHQvcHJvamVjdHMnO1xyXG5pbXBvcnQgeyBTbWFydENvbXBvbmVudEZpbGVVcGxvYWRlciB9IGZyb20gJy4uL3NtYXJ0LWNvbXBvbmVudC1hcGktY2xpZW50JztcclxuaW1wb3J0IHsgU21hcnRGaWxlVXBsb2FkZXJJMThuIH0gZnJvbSAnLi4vLi4vc21hcnQtZm9ybS9zbWFydGZpbGV1cGxvYWRlci9zbWFydGZpbGV1cGxvYWRlci5tb2RlbCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3NtYXJ0LWZpbGUtdXBsb2FkZXI0c2MnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9zbWFydC1maWxlLXVwbG9hZGVyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9zbWFydC1maWxlLXVwbG9hZGVyLmNvbXBvbmVudC5jc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNtYXJ0RmlsZVVwbG9hZGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcclxuICBASW5wdXQoKSBjb25maWc/OiBTbWFydENvbXBvbmVudEZpbGVVcGxvYWRlcjtcclxuICBjb21wb25lbnRMaWJyYXJ5ID0gQ29tcG9uZW50TGlicmFyeTtcclxuICBpMThuPzogU21hcnRGaWxlVXBsb2FkZXJJMThuO1xyXG4gIHByaXZhdGUgdWlBY3Rpb25Nb2RlbD86IFVpQWN0aW9uTW9kZWw7XHJcbiAgdXBsb2FkZWRGaWxlczogYW55W10gPSBbXTtcclxuICBmaWxlRm9ybWF0cz86IHN0cmluZztcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgdWlBY3Rpb25TZXJ2aWNlOiBVaUFjdGlvblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHVpQWN0aW9uRGVzY3JpcHRvclNlcnZpY2U6IFVpQWN0aW9uRGVzY3JpcHRvclNlcnZpY2UsXHJcbiAgICBASW5qZWN0KENPTVBPTkVOVF9MSUJSQVJZKSBwdWJsaWMgY29tcExpYjogQ29tcG9uZW50TGlicmFyeVxyXG4gICkge31cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgdGhpcy5jb25maWcgPSBjaGFuZ2VzWydjb25maWcnXS5jdXJyZW50VmFsdWU7XHJcbiAgICBpZiAodGhpcy5jb25maWcpIHtcclxuICAgICAgdGhpcy5zZXRVcCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgYXN5bmMgc2V0VXAoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBpZiAoIXRoaXMuY29uZmlnPy5zbWFydENvbXBvbmVudD8udWlBY3Rpb25Nb2RlbHM/Lmxlbmd0aCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLnVpQWN0aW9uTW9kZWwgPSB0aGlzLmNvbmZpZz8uc21hcnRDb21wb25lbnQudWlBY3Rpb25Nb2RlbHMuZmluZChcclxuICAgICAgKHVpQWN0aW9uTW9kZWw6IFVpQWN0aW9uTW9kZWwpID0+IHVpQWN0aW9uTW9kZWwudWlBY3Rpb24uY29kZSA9PT0gdGhpcy5jb25maWc/LnVpQWN0aW9uQ29kZVxyXG4gICAgKTtcclxuXHJcbiAgICBpZiAoIXRoaXMudWlBY3Rpb25Nb2RlbCkge1xyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFVpQWN0aW9uIHdpdGggY29kZSAke3RoaXMuY29uZmlnPy51aUFjdGlvbkNvZGV9IGNvdWxkIG5vdCBmb3VuZGApO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGRlc2NyaXB0b3IgPSBhd2FpdCB0aGlzLnVpQWN0aW9uRGVzY3JpcHRvclNlcnZpY2UuZ2V0QWN0aW9uRGVzY3JpcHRvcihcclxuICAgICAgdGhpcy51aUFjdGlvbk1vZGVsLnVpQWN0aW9uXHJcbiAgICApO1xyXG5cclxuICAgIHRoaXMuaTE4biA9IHtcclxuICAgICAgYWRkRmlsZTogZGVzY3JpcHRvci51cGxvYWQ/LnRpdGxlID8/ICdkb2t1bWVudHVtIGhvenrDoWFkw6FzYScsXHJcbiAgICAgIGJyb3dzZU9yRHJhZzogZGVzY3JpcHRvci51cGxvYWQ/LmRlc2NyaXB0aW9uID8/ICd0YWxsw7N6w6FzIHZhZ3kgYmVow7p6w6FzJyxcclxuICAgICAgZm9ybWF0czogZGVzY3JpcHRvci51cGxvYWQ/LmZvcm1hdHMgPz8gJycsXHJcbiAgICAgIG1heFNpemU6IGRlc2NyaXB0b3IudXBsb2FkPy5tYXhTaXplID8/ICcnLFxyXG4gICAgICB1cGxvYWQ6IGRlc2NyaXB0b3IudXBsb2FkPy51cGxvYWRCdXR0b25UaXRsZSxcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBleGVjdXRlVXBsb2FkKGZpbGVzOiBhbnlbXSk6IHZvaWQge1xyXG4gICAgdGhpcy51aUFjdGlvbk1vZGVsIS51aUFjdGlvbi5wYXJhbXMgPSB7XHJcbiAgICAgIC4uLnRoaXMudWlBY3Rpb25Nb2RlbCEudWlBY3Rpb24ucGFyYW1zLFxyXG4gICAgICBfZmlsZXM6IGZpbGVzLFxyXG4gICAgICBpc011bHRpcGxlOiB0aGlzLmNvbmZpZz8uaXNNdWx0aXBsZSxcclxuICAgICAgcGFyYW06ICdJTlBVVCcsXHJcbiAgICB9O1xyXG5cclxuICAgIHRoaXMudWlBY3Rpb25TZXJ2aWNlLnVpQWN0aW9uTW9kZWwgPSB0aGlzLnVpQWN0aW9uTW9kZWwhO1xyXG4gICAgdGhpcy51aUFjdGlvblNlcnZpY2UuZXhlY3V0ZSh0aGlzLnVpQWN0aW9uTW9kZWwhLnVpQWN0aW9uKTtcclxuICB9XHJcblxyXG4gIG9uU2VsZWN0KGV2ZW50OiBhbnkpIHtcclxuICAgIHRoaXMudXBsb2FkZWRGaWxlcyA9IFtdO1xyXG4gICAgZm9yIChsZXQgZmlsZSBvZiBldmVudC5maWxlcykge1xyXG4gICAgICB0aGlzLnVwbG9hZGVkRmlsZXMucHVzaChmaWxlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uUmVtb3ZlKGV2ZW50OiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMudXBsb2FkZWRGaWxlcyA9IFtdO1xyXG4gIH1cclxuXHJcbiAgdXBsb2FkRmlsZXMoZXZlbnQ6IGFueSk6IHZvaWQge1xyXG4gICAgY29uc29sZS5sb2coZXZlbnQpO1xyXG4gICAgdGhpcy51aUFjdGlvbk1vZGVsIS51aUFjdGlvbi5wYXJhbXMgPSB7XHJcbiAgICAgIC4uLnRoaXMudWlBY3Rpb25Nb2RlbCEudWlBY3Rpb24ucGFyYW1zLFxyXG4gICAgICBfZmlsZXM6IHRoaXMudXBsb2FkZWRGaWxlcyxcclxuICAgICAgaXNNdWx0aXBsZTogdGhpcy5jb25maWc/LmlzTXVsdGlwbGUsXHJcbiAgICAgIHBhcmFtOiAnSU5QVVQnLFxyXG4gICAgfTtcclxuXHJcbiAgICB0aGlzLnVpQWN0aW9uU2VydmljZS51aUFjdGlvbk1vZGVsID0gdGhpcy51aUFjdGlvbk1vZGVsITtcclxuICAgIHRoaXMudWlBY3Rpb25TZXJ2aWNlLmV4ZWN1dGUodGhpcy51aUFjdGlvbk1vZGVsIS51aUFjdGlvbik7XHJcbiAgfVxyXG59XHJcbiIsIkBpZihjb21wTGliID09PSBjb21wb25lbnRMaWJyYXJ5LlBSSU1FTkcpIHtcclxuPHAtZmlsZVVwbG9hZFxyXG4gIG5hbWU9XCJmaWxlc1tdXCJcclxuICB1cmw9XCJcIlxyXG4gIChvblNlbmQpPVwidXBsb2FkRmlsZXMoJGV2ZW50KVwiXHJcbiAgKG9uU2VsZWN0KT1cIm9uU2VsZWN0KCRldmVudClcIlxyXG4gIChvblJlbW92ZSk9XCJvblJlbW92ZSgkZXZlbnQpXCJcclxuICBbbXVsdGlwbGVdPVwidHJ1ZVwiXHJcbiAgW2FjY2VwdF09XCJjb25maWc/LmZpbGVGb3JtYXRzPy5qb2luKCcsJylcIlxyXG4gIFttYXhGaWxlU2l6ZV09XCJjb25maWc/Lm1heFNpemVNYlwiXHJcbj5cclxuICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiY29udGVudFwiPiA8L25nLXRlbXBsYXRlPlxyXG48L3AtZmlsZVVwbG9hZD5cclxufUBlbHNle1xyXG48c21hcnRmaWxldXBsb2FkZXJcclxuICAqbmdJZj1cImkxOG5cIlxyXG4gIFtpMThuXT1cImkxOG5cIlxyXG4gIFtmaWxlRm9ybWF0c109XCJjb25maWc/LmZpbGVGb3JtYXRzXCJcclxuICBbaXNNdWx0aXBsZV09XCJjb25maWc/LmlzTXVsdGlwbGVcIlxyXG4gIFttYXhTaXplTWJdPVwiY29uZmlnPy5tYXhTaXplTWJcIlxyXG4gIFt1cGxvYWRDYWxsYmFja109XCJleGVjdXRlVXBsb2FkLmJpbmQodGhpcylcIlxyXG4+PC9zbWFydGZpbGV1cGxvYWRlcj5cclxufVxyXG4iXX0=
|