@acorex/layout 4.1.6 → 4.2.0
Sign up to get free protection for your applications and to get access to all the features.
- package/karma.conf.js +32 -0
- package/ng-package.json +9 -0
- package/package.json +11 -31
- package/src/lib/widget-board/editors/widget-size-editor/widget-size.editor.html +10 -0
- package/src/lib/widget-board/editors/widget-size-editor/widget-size.editor.ts +55 -0
- package/src/lib/widget-board/editors/widget-size-editor/widget-size.module.ts +19 -0
- package/src/lib/widget-board/widget-board.component.html +7 -0
- package/src/lib/widget-board/widget-board.component.scss +198 -0
- package/src/lib/widget-board/widget-board.component.ts +510 -0
- package/src/lib/widget-board/widget-board.module.ts +74 -0
- package/src/lib/widget-board/widget-config.component.html +16 -0
- package/src/lib/widget-board/widget-config.component.ts +99 -0
- package/src/lib/widget-board/widget-host.component.html +30 -0
- package/src/lib/widget-board/widget-host.component.ts +343 -0
- package/src/lib/widget-board/widget-save.component.html +43 -0
- package/src/lib/widget-board/widget-save.component.ts +88 -0
- package/src/lib/widget-board/widget.class.ts +178 -0
- package/{public-api.d.ts → src/public-api.ts} +0 -0
- package/src/test.ts +28 -0
- package/tsconfig.lib.json +23 -0
- package/tsconfig.lib.prod.json +6 -0
- package/tsconfig.spec.json +17 -0
- package/tslint.json +17 -0
- package/acorex-layout.d.ts +0 -5
- package/esm2020/acorex-layout.mjs +0 -5
- package/esm2020/lib/widget-board/editors/widget-size-editor/widget-size.editor.mjs +0 -46
- package/esm2020/lib/widget-board/editors/widget-size-editor/widget-size.module.mjs +0 -21
- package/esm2020/lib/widget-board/widget-board.component.mjs +0 -441
- package/esm2020/lib/widget-board/widget-board.module.mjs +0 -111
- package/esm2020/lib/widget-board/widget-config.component.mjs +0 -82
- package/esm2020/lib/widget-board/widget-host.component.mjs +0 -290
- package/esm2020/lib/widget-board/widget-save.component.mjs +0 -79
- package/esm2020/lib/widget-board/widget.class.mjs +0 -127
- package/esm2020/public-api.mjs +0 -7
- package/fesm2015/acorex-layout.mjs +0 -1166
- package/fesm2015/acorex-layout.mjs.map +0 -1
- package/fesm2020/acorex-layout.mjs +0 -1159
- package/fesm2020/acorex-layout.mjs.map +0 -1
- package/lib/widget-board/editors/widget-size-editor/widget-size.editor.d.ts +0 -19
- package/lib/widget-board/editors/widget-size-editor/widget-size.module.d.ts +0 -10
- package/lib/widget-board/widget-board.component.d.ts +0 -61
- package/lib/widget-board/widget-board.module.d.ts +0 -18
- package/lib/widget-board/widget-config.component.d.ts +0 -23
- package/lib/widget-board/widget-host.component.d.ts +0 -51
- package/lib/widget-board/widget-save.component.d.ts +0 -19
- package/lib/widget-board/widget.class.d.ts +0 -56
package/src/test.ts
ADDED
@@ -0,0 +1,28 @@
|
|
1
|
+
// This file is required by karma.conf.js and loads recursively all the .spec and framework files
|
2
|
+
|
3
|
+
import 'zone.js';
|
4
|
+
import 'zone.js/testing';
|
5
|
+
import { getTestBed } from '@angular/core/testing';
|
6
|
+
import {
|
7
|
+
BrowserDynamicTestingModule,
|
8
|
+
platformBrowserDynamicTesting
|
9
|
+
} from '@angular/platform-browser-dynamic/testing';
|
10
|
+
|
11
|
+
declare const require: {
|
12
|
+
context(path: string, deep?: boolean, filter?: RegExp): {
|
13
|
+
keys(): string[];
|
14
|
+
<T>(id: string): T;
|
15
|
+
};
|
16
|
+
};
|
17
|
+
|
18
|
+
// First, initialize the Angular testing environment.
|
19
|
+
getTestBed().initTestEnvironment(
|
20
|
+
BrowserDynamicTestingModule,
|
21
|
+
platformBrowserDynamicTesting(), {
|
22
|
+
teardown: { destroyAfterEach: false }
|
23
|
+
}
|
24
|
+
);
|
25
|
+
// Then we find all the tests.
|
26
|
+
const context = require.context('./', true, /\.spec\.ts$/);
|
27
|
+
// And load the modules.
|
28
|
+
context.keys().map(context);
|
@@ -0,0 +1,23 @@
|
|
1
|
+
{
|
2
|
+
"extends": "../../../tsconfig.json",
|
3
|
+
"compilerOptions": {
|
4
|
+
"outDir": "../../../out-tsc/lib",
|
5
|
+
"target": "es2015",
|
6
|
+
"declaration": true,
|
7
|
+
"inlineSources": true,
|
8
|
+
"types": [],
|
9
|
+
"lib": [
|
10
|
+
"dom",
|
11
|
+
"es2018"
|
12
|
+
]
|
13
|
+
},
|
14
|
+
"angularCompilerOptions": {
|
15
|
+
"skipTemplateCodegen": true,
|
16
|
+
"strictMetadataEmit": true,
|
17
|
+
"enableResourceInlining": true
|
18
|
+
},
|
19
|
+
"exclude": [
|
20
|
+
"src/test.ts",
|
21
|
+
"**/*.spec.ts"
|
22
|
+
]
|
23
|
+
}
|
package/tslint.json
ADDED
package/acorex-layout.d.ts
DELETED
@@ -1,5 +0,0 @@
|
|
1
|
-
/**
|
2
|
-
* Generated bundle index. Do not edit.
|
3
|
-
*/
|
4
|
-
export * from './public-api';
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNvcmV4LWxheW91dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9sYXlvdXQvc3JjL2Fjb3JleC1sYXlvdXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
|
@@ -1,46 +0,0 @@
|
|
1
|
-
import { Component, ChangeDetectorRef } from '@angular/core';
|
2
|
-
import { AXProperyEditorComponent } from '@acorex/components';
|
3
|
-
import * as i0 from "@angular/core";
|
4
|
-
import * as i1 from "@acorex/components";
|
5
|
-
export class AXWidgetSizePropertyEditorComponent extends AXProperyEditorComponent {
|
6
|
-
constructor(cdr) {
|
7
|
-
super(cdr);
|
8
|
-
this.cdr = cdr;
|
9
|
-
this.minX = 1;
|
10
|
-
this.maxX = 10;
|
11
|
-
this.minY = 1;
|
12
|
-
this.maxY = 10;
|
13
|
-
}
|
14
|
-
ngOnInit() {
|
15
|
-
if (Array.isArray(this.value)) {
|
16
|
-
this.sizeX = this.value[0];
|
17
|
-
this.sizeY = this.value[1];
|
18
|
-
}
|
19
|
-
else {
|
20
|
-
this.sizeX = 2;
|
21
|
-
this.sizeY = 2;
|
22
|
-
}
|
23
|
-
}
|
24
|
-
handleMinValueChange(e) {
|
25
|
-
this.sizeX = e.value;
|
26
|
-
if (this.sizeY > 0) {
|
27
|
-
super.handleValueChange([this.sizeX, this.sizeY]);
|
28
|
-
}
|
29
|
-
}
|
30
|
-
handleMaxValueChange(e) {
|
31
|
-
this.sizeY = e.value;
|
32
|
-
if (this.sizeX > 0) {
|
33
|
-
super.handleValueChange([this.sizeX, this.sizeY]);
|
34
|
-
}
|
35
|
-
}
|
36
|
-
ngAfterViewInit() {
|
37
|
-
this.onRenderCompleted.emit();
|
38
|
-
}
|
39
|
-
}
|
40
|
-
AXWidgetSizePropertyEditorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXWidgetSizePropertyEditorComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
41
|
-
AXWidgetSizePropertyEditorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: AXWidgetSizePropertyEditorComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<div style=\"display: flex;\">\r\n <div style=\"margin-inline-end: 0.5em;flex: calc(50% - 0.25em);\">\r\n <ax-number-box (onValueChanged)=\"handleMinValueChange($event)\" [value]=\"sizeX\" [min]=\"minX\" [max]=\"maxX\">\r\n </ax-number-box>\r\n </div>\r\n <div style=\"flex: calc(50% - 0.25em);\">\r\n <ax-number-box (onValueChanged)=\"handleMaxValueChange($event)\" [value]=\"sizeY\" [min]=\"minY\" [max]=\"maxY\">\r\n </ax-number-box>\r\n </div>\r\n</div>", components: [{ type: i1.AXNumberBoxComponent, selector: "ax-number-box", inputs: ["min", "max", "showSeparator", "showCurrency", "showCounter", "scrollWeel", "showDoubleCounter", "maxLength", "intStep", "decimalNumber", "customStep"] }] });
|
42
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXWidgetSizePropertyEditorComponent, decorators: [{
|
43
|
-
type: Component,
|
44
|
-
args: [{ template: "<div style=\"display: flex;\">\r\n <div style=\"margin-inline-end: 0.5em;flex: calc(50% - 0.25em);\">\r\n <ax-number-box (onValueChanged)=\"handleMinValueChange($event)\" [value]=\"sizeX\" [min]=\"minX\" [max]=\"maxX\">\r\n </ax-number-box>\r\n </div>\r\n <div style=\"flex: calc(50% - 0.25em);\">\r\n <ax-number-box (onValueChanged)=\"handleMaxValueChange($event)\" [value]=\"sizeY\" [min]=\"minY\" [max]=\"maxY\">\r\n </ax-number-box>\r\n </div>\r\n</div>" }]
|
45
|
-
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; } });
|
46
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LXNpemUuZWRpdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2xheW91dC9zcmMvbGliL3dpZGdldC1ib2FyZC9lZGl0b3JzL3dpZGdldC1zaXplLWVkaXRvci93aWRnZXQtc2l6ZS5lZGl0b3IudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvbGF5b3V0L3NyYy9saWIvd2lkZ2V0LWJvYXJkL2VkaXRvcnMvd2lkZ2V0LXNpemUtZWRpdG9yL3dpZGdldC1zaXplLmVkaXRvci5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sb0JBQW9CLENBQUM7OztBQUs5RCxNQUFNLE9BQU8sbUNBQW9DLFNBQVEsd0JBQWtDO0lBWXZGLFlBQXNCLEdBQXNCO1FBQ3hDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQURPLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBUDVDLFNBQUksR0FBVyxDQUFDLENBQUM7UUFDakIsU0FBSSxHQUFXLEVBQUUsQ0FBQztRQUVsQixTQUFJLEdBQVcsQ0FBQyxDQUFDO1FBQ2pCLFNBQUksR0FBVyxFQUFFLENBQUM7SUFLbEIsQ0FBQztJQUVELFFBQVE7UUFDSixJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQzNCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUMzQixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDOUI7YUFDSTtZQUNELElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDO1lBQ2YsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUM7U0FDbEI7SUFDTCxDQUFDO0lBRUQsb0JBQW9CLENBQUMsQ0FBTTtRQUN2QixJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFFckIsSUFBSSxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRTtZQUNoQixLQUFLLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1NBQ3JEO0lBQ0wsQ0FBQztJQUVELG9CQUFvQixDQUFDLENBQU07UUFDdkIsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDO1FBQ3JCLElBQUksSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLEVBQUU7WUFDaEIsS0FBSyxDQUFDLGlCQUFpQixDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztTQUNyRDtJQUNMLENBQUM7SUFJRCxlQUFlO1FBQ1gsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2xDLENBQUM7O2lJQTlDUSxtQ0FBbUM7cUhBQW5DLG1DQUFtQywyRUNOaEQsbWZBU007NEZESE8sbUNBQW1DO2tCQUgvQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIENoYW5nZURldGVjdG9yUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFYUHJvcGVyeUVkaXRvckNvbXBvbmVudCB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHRlbXBsYXRlVXJsOiAnLi93aWRnZXQtc2l6ZS5lZGl0b3IuaHRtbCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEFYV2lkZ2V0U2l6ZVByb3BlcnR5RWRpdG9yQ29tcG9uZW50IGV4dGVuZHMgQVhQcm9wZXJ5RWRpdG9yQ29tcG9uZW50PG51bWJlcltdPiAge1xyXG5cclxuICAgIHNpemVYOiBudW1iZXI7XHJcbiAgICBzaXplWTogbnVtYmVyO1xyXG5cclxuICAgIG1pblg6IG51bWJlciA9IDE7XHJcbiAgICBtYXhYOiBudW1iZXIgPSAxMDtcclxuXHJcbiAgICBtaW5ZOiBudW1iZXIgPSAxO1xyXG4gICAgbWF4WTogbnVtYmVyID0gMTA7XHJcblxyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7XHJcbiAgICAgICAgc3VwZXIoY2RyKTtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uSW5pdCgpIHtcclxuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheSh0aGlzLnZhbHVlKSkge1xyXG4gICAgICAgICAgICB0aGlzLnNpemVYID0gdGhpcy52YWx1ZVswXTtcclxuICAgICAgICAgICAgdGhpcy5zaXplWSA9IHRoaXMudmFsdWVbMV07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLnNpemVYID0gMjtcclxuICAgICAgICAgICAgdGhpcy5zaXplWSA9IDI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGhhbmRsZU1pblZhbHVlQ2hhbmdlKGU6IGFueSkge1xyXG4gICAgICAgIHRoaXMuc2l6ZVggPSBlLnZhbHVlO1xyXG5cclxuICAgICAgICBpZiAodGhpcy5zaXplWSA+IDApIHtcclxuICAgICAgICAgICAgc3VwZXIuaGFuZGxlVmFsdWVDaGFuZ2UoW3RoaXMuc2l6ZVgsIHRoaXMuc2l6ZVldKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaGFuZGxlTWF4VmFsdWVDaGFuZ2UoZTogYW55KSB7XHJcbiAgICAgICAgdGhpcy5zaXplWSA9IGUudmFsdWU7XHJcbiAgICAgICAgaWYgKHRoaXMuc2l6ZVggPiAwKSB7XHJcbiAgICAgICAgICAgIHN1cGVyLmhhbmRsZVZhbHVlQ2hhbmdlKFt0aGlzLnNpemVYLCB0aGlzLnNpemVZXSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcblxyXG4gICAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgICAgIHRoaXMub25SZW5kZXJDb21wbGV0ZWQuZW1pdCgpO1xyXG4gICAgfVxyXG5cclxufSIsIjxkaXYgc3R5bGU9XCJkaXNwbGF5OiBmbGV4O1wiPlxyXG4gICAgPGRpdiBzdHlsZT1cIm1hcmdpbi1pbmxpbmUtZW5kOiAwLjVlbTtmbGV4OiBjYWxjKDUwJSAtIDAuMjVlbSk7XCI+XHJcbiAgICAgICAgPGF4LW51bWJlci1ib3ggKG9uVmFsdWVDaGFuZ2VkKT1cImhhbmRsZU1pblZhbHVlQ2hhbmdlKCRldmVudClcIiBbdmFsdWVdPVwic2l6ZVhcIiBbbWluXT1cIm1pblhcIiBbbWF4XT1cIm1heFhcIj5cclxuICAgICAgICA8L2F4LW51bWJlci1ib3g+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgc3R5bGU9XCJmbGV4OiBjYWxjKDUwJSAtIDAuMjVlbSk7XCI+XHJcbiAgICAgICAgPGF4LW51bWJlci1ib3ggKG9uVmFsdWVDaGFuZ2VkKT1cImhhbmRsZU1heFZhbHVlQ2hhbmdlKCRldmVudClcIiBbdmFsdWVdPVwic2l6ZVlcIiBbbWluXT1cIm1pbllcIiBbbWF4XT1cIm1heFlcIj5cclxuICAgICAgICA8L2F4LW51bWJlci1ib3g+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+Il19
|
@@ -1,21 +0,0 @@
|
|
1
|
-
import { NgModule } from '@angular/core';
|
2
|
-
import { CommonModule } from '@angular/common';
|
3
|
-
import { FormsModule } from '@angular/forms';
|
4
|
-
import { AXWidgetSizePropertyEditorComponent } from './widget-size.editor';
|
5
|
-
import { AXNumberBoxModule } from '@acorex/components';
|
6
|
-
import * as i0 from "@angular/core";
|
7
|
-
export class AXWidgetSizePropertyEditorModule {
|
8
|
-
}
|
9
|
-
AXWidgetSizePropertyEditorModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXWidgetSizePropertyEditorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
10
|
-
AXWidgetSizePropertyEditorModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXWidgetSizePropertyEditorModule, declarations: [AXWidgetSizePropertyEditorComponent], imports: [CommonModule, FormsModule, AXNumberBoxModule], exports: [AXWidgetSizePropertyEditorComponent] });
|
11
|
-
AXWidgetSizePropertyEditorModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXWidgetSizePropertyEditorModule, providers: [], imports: [[CommonModule, FormsModule, AXNumberBoxModule]] });
|
12
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXWidgetSizePropertyEditorModule, decorators: [{
|
13
|
-
type: NgModule,
|
14
|
-
args: [{
|
15
|
-
declarations: [AXWidgetSizePropertyEditorComponent],
|
16
|
-
imports: [CommonModule, FormsModule, AXNumberBoxModule],
|
17
|
-
exports: [AXWidgetSizePropertyEditorComponent],
|
18
|
-
providers: []
|
19
|
-
}]
|
20
|
-
}] });
|
21
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LXNpemUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2xheW91dC9zcmMvbGliL3dpZGdldC1ib2FyZC9lZGl0b3JzL3dpZGdldC1zaXplLWVkaXRvci93aWRnZXQtc2l6ZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTdDLE9BQU8sRUFBRSxtQ0FBbUMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzNFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDOztBQVd2RCxNQUFNLE9BQU8sZ0NBQWdDOzs4SEFBaEMsZ0NBQWdDOytIQUFoQyxnQ0FBZ0MsaUJBTDFCLG1DQUFtQyxhQUN4QyxZQUFZLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixhQUM1QyxtQ0FBbUM7K0hBR3BDLGdDQUFnQyxhQUY5QixFQUFFLFlBRkosQ0FBQyxZQUFZLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixDQUFDOzRGQUk5QyxnQ0FBZ0M7a0JBTjVDLFFBQVE7bUJBQUM7b0JBQ04sWUFBWSxFQUFFLENBQUMsbUNBQW1DLENBQUM7b0JBQ25ELE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxXQUFXLEVBQUUsaUJBQWlCLENBQUM7b0JBQ3ZELE9BQU8sRUFBRSxDQUFDLG1DQUFtQyxDQUFDO29CQUM5QyxTQUFTLEVBQUUsRUFBRTtpQkFDaEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcbmltcG9ydCB7IEFYV2lkZ2V0U2l6ZVByb3BlcnR5RWRpdG9yQ29tcG9uZW50IH0gZnJvbSAnLi93aWRnZXQtc2l6ZS5lZGl0b3InO1xyXG5pbXBvcnQgeyBBWE51bWJlckJveE1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cyc7XHJcblxyXG5cclxuXHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gICAgZGVjbGFyYXRpb25zOiBbQVhXaWRnZXRTaXplUHJvcGVydHlFZGl0b3JDb21wb25lbnRdLFxyXG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgRm9ybXNNb2R1bGUsIEFYTnVtYmVyQm94TW9kdWxlXSxcclxuICAgIGV4cG9ydHM6IFtBWFdpZGdldFNpemVQcm9wZXJ0eUVkaXRvckNvbXBvbmVudF0sXHJcbiAgICBwcm92aWRlcnM6IFtdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBWFdpZGdldFNpemVQcm9wZXJ0eUVkaXRvck1vZHVsZSB7XHJcbiAgIFxyXG59Il19
|