ngx-material-entity 16.0.7 → 16.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/components/input/array/array-string-autocomplete-chips/array-string-autocomplete-chips.component.d.ts +10 -5
- package/components/input/array/array-string-chips-input/array-string-chips-input.component.d.ts +4 -2
- package/components/input/input.component.d.ts +28 -8
- package/components/input/number/number-dropdown-input/number-dropdown-input.component.d.ts +12 -2
- package/components/input/relations/references-many-input/references-many-input.component.d.ts +10 -2
- package/components/input/string/string-autocomplete-input/string-autocomplete-input.component.d.ts +4 -2
- package/components/input/string/string-dropdown-input/string-dropdown-input.component.d.ts +12 -2
- package/components/input/string/string-password-input/string-password-input.component.d.ts +12 -0
- package/components/table/create-dialog/create-entity-dialog.component.d.ts +1 -1
- package/components/table/edit-dialog/edit-entity-dialog.component.d.ts +1 -1
- package/components/table/table-data.builder.d.ts +2 -1
- package/components/table/table-data.d.ts +10 -0
- package/decorators/array/array-decorator-internal.data.d.ts +2 -1
- package/decorators/array/array-decorator.data.d.ts +3 -1
- package/decorators/string/string-decorator-internal.data.d.ts +3 -1
- package/decorators/string/string-decorator.data.d.ts +7 -1
- package/directives/dynamic-style-class.directive.d.ts +25 -0
- package/directives/included-in.directive.d.ts +1 -1
- package/directives/tooltip.directive.d.ts +9 -0
- package/esm2022/classes/entity.model.mjs +1 -1
- package/esm2022/components/confirm-dialog/confirm-dialog-data.builder.mjs +1 -2
- package/esm2022/components/create-page/create-data.route.mjs +1 -1
- package/esm2022/components/create-page/create-page.component.mjs +11 -10
- package/esm2022/components/create-page/page-create-data.builder.mjs +1 -2
- package/esm2022/components/edit-page/edit-data.route.mjs +1 -1
- package/esm2022/components/edit-page/edit-page.component.mjs +11 -10
- package/esm2022/components/edit-page/page-edit-data.builder.mjs +1 -2
- package/esm2022/components/input/array/array-date-input/array-date-input.component.mjs +1 -1
- package/esm2022/components/input/array/array-date-range-input/array-date-range-input.component.mjs +1 -1
- package/esm2022/components/input/array/array-date-time-input/array-date-time-input.component.mjs +1 -1
- package/esm2022/components/input/array/array-string-autocomplete-chips/array-string-autocomplete-chips.component.mjs +28 -15
- package/esm2022/components/input/array/array-string-chips-input/array-string-chips-input.component.mjs +14 -19
- package/esm2022/components/input/base-input.component.mjs +6 -2
- package/esm2022/components/input/boolean/boolean-checkbox-input/boolean-checkbox-input.component.mjs +1 -1
- package/esm2022/components/input/boolean/boolean-dropdown-input/boolean-dropdown-input.component.mjs +1 -1
- package/esm2022/components/input/boolean/boolean-toggle-input/boolean-toggle-input.component.mjs +1 -1
- package/esm2022/components/input/custom/custom.component.mjs +1 -1
- package/esm2022/components/input/date/date-input/date-input.component.mjs +1 -1
- package/esm2022/components/input/date/date-range-input/date-range-input.component.mjs +1 -1
- package/esm2022/components/input/date/date-time-input/date-time-input.component.mjs +1 -1
- package/esm2022/components/input/file/file-default-input/file-default-input.component.mjs +1 -1
- package/esm2022/components/input/file/file-image-input/file-image-input.component.mjs +1 -1
- package/esm2022/components/input/file/file-input/file-input.component.mjs +1 -2
- package/esm2022/components/input/input.component.mjs +72 -40
- package/esm2022/components/input/number/number-dropdown-input/number-dropdown-input.component.mjs +36 -8
- package/esm2022/components/input/number/number-input/number-input.component.mjs +1 -1
- package/esm2022/components/input/number/number-slider-input/number-slider-input.component.mjs +1 -1
- package/esm2022/components/input/relations/references-many-input/references-many-input.component.mjs +29 -5
- package/esm2022/components/input/string/string-autocomplete-input/string-autocomplete-input.component.mjs +17 -10
- package/esm2022/components/input/string/string-dropdown-input/string-dropdown-input.component.mjs +36 -8
- package/esm2022/components/input/string/string-input/string-input.component.mjs +1 -1
- package/esm2022/components/input/string/string-password-input/string-password-input.component.mjs +57 -3
- package/esm2022/components/input/string/string-textbox-input/string-textbox-input.component.mjs +1 -1
- package/esm2022/components/table/create-dialog/create-data.builder.mjs +1 -2
- package/esm2022/components/table/create-dialog/create-entity-dialog.component.mjs +4 -4
- package/esm2022/components/table/display-column-value/display-column-value.component.mjs +1 -1
- package/esm2022/components/table/edit-dialog/edit-data.builder.mjs +1 -2
- package/esm2022/components/table/edit-dialog/edit-entity-dialog.component.mjs +8 -7
- package/esm2022/components/table/table-data.builder.mjs +5 -3
- package/esm2022/components/table/table-data.mjs +1 -1
- package/esm2022/components/table/table.component.mjs +6 -4
- package/esm2022/decorators/array/array-decorator-internal.data.mjs +11 -3
- package/esm2022/decorators/array/array-decorator.data.mjs +1 -1
- package/esm2022/decorators/base/base-property.decorator.mjs +1 -2
- package/esm2022/decorators/custom/custom-decorator-internal.data.mjs +2 -2
- package/esm2022/decorators/custom/custom-decorator.data.mjs +1 -1
- package/esm2022/decorators/file/file-decorator-internal.data.mjs +1 -3
- package/esm2022/decorators/has-many/has-many-decorator-internal.data.mjs +1 -2
- package/esm2022/decorators/string/string-decorator-internal.data.mjs +14 -3
- package/esm2022/decorators/string/string-decorator.data.mjs +1 -1
- package/esm2022/default-global-configuration-values.mjs +1 -2
- package/esm2022/directives/dynamic-style-class.directive.mjs +51 -0
- package/esm2022/directives/included-in.directive.mjs +2 -3
- package/esm2022/directives/tooltip.directive.mjs +36 -9
- package/esm2022/encapsulation/reflect.utilities.mjs +6 -2
- package/esm2022/functions/default-style-classes.function.mjs +7 -0
- package/esm2022/functions/get-validation-error-message.function.mjs +1 -2
- package/esm2022/global-configuration-values.mjs +1 -2
- package/esm2022/mocks/placeholder-data.png.mjs +2 -2
- package/esm2022/public-api.mjs +6 -1
- package/esm2022/services/entity.service.mjs +1 -1
- package/esm2022/utilities/date.utilities.mjs +1 -2
- package/esm2022/utilities/entity.utilities.mjs +36 -35
- package/esm2022/utilities/validation.utilities.mjs +45 -15
- package/fesm2022/ngx-material-entity.mjs +521 -214
- package/fesm2022/ngx-material-entity.mjs.map +1 -1
- package/functions/default-style-classes.function.d.ts +6 -0
- package/package.json +1 -2
- package/public-api.d.ts +4 -0
- package/utilities/entity.utilities.d.ts +4 -3
- package/utilities/validation.utilities.d.ts +7 -3
|
@@ -12,10 +12,24 @@ export class TooltipDirective {
|
|
|
12
12
|
tooltip;
|
|
13
13
|
tooltipElement;
|
|
14
14
|
closeListeners = [];
|
|
15
|
+
openedByClick = false;
|
|
15
16
|
constructor(el, renderer) {
|
|
16
17
|
this.el = el;
|
|
17
18
|
this.renderer = renderer;
|
|
18
19
|
}
|
|
20
|
+
/**
|
|
21
|
+
* Toggles the tooltip.
|
|
22
|
+
*/
|
|
23
|
+
onClick() {
|
|
24
|
+
if (!this.tooltipElement) {
|
|
25
|
+
this.showTooltip();
|
|
26
|
+
this.registerCloseListeners();
|
|
27
|
+
this.openedByClick = true;
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
this.hideTooltip();
|
|
31
|
+
this.removeCloseListeners();
|
|
32
|
+
}
|
|
19
33
|
/**
|
|
20
34
|
* Shows the tooltip.
|
|
21
35
|
*/
|
|
@@ -23,16 +37,28 @@ export class TooltipDirective {
|
|
|
23
37
|
if (!this.tooltipElement) {
|
|
24
38
|
this.showTooltip();
|
|
25
39
|
this.registerCloseListeners();
|
|
40
|
+
return;
|
|
26
41
|
}
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
this.removeCloseListeners();
|
|
42
|
+
if (this.openedByClick) {
|
|
43
|
+
return;
|
|
30
44
|
}
|
|
45
|
+
this.hideTooltip();
|
|
46
|
+
this.removeCloseListeners();
|
|
31
47
|
}
|
|
32
48
|
/**
|
|
33
49
|
* Hides the tooltip.
|
|
34
50
|
*/
|
|
35
51
|
onMouseLeave() {
|
|
52
|
+
if (this.openedByClick) {
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
this.hideTooltip();
|
|
56
|
+
this.removeCloseListeners();
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Hides the tooltip.
|
|
60
|
+
*/
|
|
61
|
+
onResize() {
|
|
36
62
|
this.hideTooltip();
|
|
37
63
|
this.removeCloseListeners();
|
|
38
64
|
}
|
|
@@ -75,12 +101,13 @@ export class TooltipDirective {
|
|
|
75
101
|
listener();
|
|
76
102
|
}
|
|
77
103
|
this.closeListeners = [];
|
|
104
|
+
this.openedByClick = false;
|
|
78
105
|
}
|
|
79
106
|
ngOnDestroy() {
|
|
80
107
|
this.removeCloseListeners();
|
|
81
108
|
}
|
|
82
109
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: TooltipDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
|
|
83
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.0", type: TooltipDirective, isStandalone: true, selector: "[tooltip]", inputs: { tooltip: "tooltip" }, host: { listeners: { "
|
|
110
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.0", type: TooltipDirective, isStandalone: true, selector: "[tooltip]", inputs: { tooltip: "tooltip" }, host: { listeners: { "click": "onClick()", "mouseenter": "onMouseEnter()", "mouseleave": "onMouseLeave()", "window:resize": "onResize()" } }, ngImport: i0 });
|
|
84
111
|
}
|
|
85
112
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: TooltipDirective, decorators: [{
|
|
86
113
|
type: Directive,
|
|
@@ -90,17 +117,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImpor
|
|
|
90
117
|
}]
|
|
91
118
|
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }]; }, propDecorators: { tooltip: [{
|
|
92
119
|
type: Input
|
|
120
|
+
}], onClick: [{
|
|
121
|
+
type: HostListener,
|
|
122
|
+
args: ['click']
|
|
93
123
|
}], onMouseEnter: [{
|
|
94
124
|
type: HostListener,
|
|
95
125
|
args: ['mouseenter']
|
|
96
|
-
}, {
|
|
97
|
-
type: HostListener,
|
|
98
|
-
args: ['click']
|
|
99
126
|
}], onMouseLeave: [{
|
|
100
127
|
type: HostListener,
|
|
101
128
|
args: ['mouseleave']
|
|
102
|
-
}, {
|
|
129
|
+
}], onResize: [{
|
|
103
130
|
type: HostListener,
|
|
104
131
|
args: ['window:resize']
|
|
105
132
|
}] } });
|
|
106
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbWF0ZXJpYWwtZW50aXR5L3NyYy9kaXJlY3RpdmVzL3Rvb2x0aXAuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQWEsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU9qRzs7R0FFRztBQUtILE1BQU0sT0FBTyxnQkFBZ0I7SUFhSjtJQUNBO0lBWnJCOztPQUVHO0lBRUgsT0FBTyxDQUFVO0lBRVQsY0FBYyxDQUFlO0lBRTdCLGNBQWMsR0FBZSxFQUFFLENBQUM7SUFFeEMsWUFDcUIsRUFBYyxFQUNkLFFBQW1CO1FBRG5CLE9BQUUsR0FBRixFQUFFLENBQVk7UUFDZCxhQUFRLEdBQVIsUUFBUSxDQUFXO0lBQ3JDLENBQUM7SUFFSjs7T0FFRztJQUdILFlBQVk7UUFDUixJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUN0QixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDbkIsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7U0FDakM7YUFDSTtZQUNELElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNuQixJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztTQUMvQjtJQUNMLENBQUM7SUFFRDs7T0FFRztJQUdILFlBQVk7UUFDUixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDbkIsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUVPLFdBQVc7UUFDZixJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUN0QixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBZ0IsQ0FBQztZQUN4RSxJQUFJLENBQUMsY0FBYyxD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OzsyRkFBaEIsZ0JBQWdCO2tCQUo1QixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxXQUFXO29CQUNyQixVQUFVLEVBQUUsSUFBSTtpQkFDbkI7eUhBT0csT0FBTztzQkFETixLQUFLO2dCQWlCTixZQUFZO3NCQUZYLFlBQVk7dUJBQUMsWUFBWTs7c0JBQ3pCLFlBQVk7dUJBQUMsT0FBTztnQkFpQnJCLFlBQVk7c0JBRlgsWUFBWTt1QkFBQyxZQUFZOztzQkFDekIsWUFBWTt1QkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBIb3N0TGlzdGVuZXIsIElucHV0LCBPbkRlc3Ryb3ksIFJlbmRlcmVyMiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqIFRoZSB0eXBlIG9mIGEgZ2xvYmFsIGxpc3RlbmVyLiBJcyBhIGZ1bmN0aW9uIHRoYXQgc2ltcGx5IHVuc3Vic2NyaWJlcyB0aGUgbGlzdGVuZXIuXG4gKi9cbnR5cGUgTGlzdGVuZXIgPSAoKSA9PiB2b2lkO1xuXG4vKipcbiAqIEEgZGlyZWN0aXZlIHRoYXQgZGlzcGxheXMgYSB0b29sdGlwIG9uIGhvdmVyLlxuICovXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1t0b29sdGlwXScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBUb29sdGlwRGlyZWN0aXZlIGltcGxlbWVudHMgT25EZXN0cm95IHtcblxuICAgIC8qKlxuICAgICAqIFRoZSBjb250ZW50IHRvIGRpc3BsYXkgaW5zaWRlIHRoZSB0b29sdGlwLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgdG9vbHRpcCE6IHN0cmluZztcblxuICAgIHByaXZhdGUgdG9vbHRpcEVsZW1lbnQ/OiBIVE1MRWxlbWVudDtcblxuICAgIHByaXZhdGUgY2xvc2VMaXN0ZW5lcnM6IExpc3RlbmVyW10gPSBbXTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGVsOiBFbGVtZW50UmVmLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHJlbmRlcmVyOiBSZW5kZXJlcjJcbiAgICApIHt9XG5cbiAgICAvKipcbiAgICAgKiBTaG93cyB0aGUgdG9vbHRpcC5cbiAgICAgKi9cbiAgICBASG9zdExpc3RlbmVyKCdtb3VzZWVudGVyJylcbiAgICBASG9zdExpc3RlbmVyKCdjbGljaycpXG4gICAgb25Nb3VzZUVudGVyKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMudG9vbHRpcEVsZW1lbnQpIHtcbiAgICAgICAgICAgIHRoaXMuc2hvd1Rvb2x0aXAoKTtcbiAgICAgICAgICAgIHRoaXMucmVnaXN0ZXJDbG9zZUxpc3RlbmVycygpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5oaWRlVG9vbHRpcCgpO1xuICAgICAgICAgICAgdGhpcy5yZW1vdmVDbG9zZUxpc3RlbmVycygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSGlkZXMgdGhlIHRvb2x0aXAuXG4gICAgICovXG4gICAgQEhvc3RMaXN0ZW5lcignbW91c2VsZWF2ZScpXG4gICAgQEhvc3RMaXN0ZW5lcignd2luZG93OnJlc2l6ZScpXG4gICAgb25Nb3VzZUxlYXZlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmhpZGVUb29sdGlwKCk7XG4gICAgICAgIHRoaXMucmVtb3ZlQ2xvc2VMaXN0ZW5lcnMoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNob3dUb29sdGlwKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMudG9vbHRpcEVsZW1lbnQpIHtcbiAgICAgICAgICAgIHRoaXMudG9vbHRpcEVsZW1lbnQgPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoJ2RpdicpIGFzIEhUTUxFbGVtZW50O1xuICAgICAgICAgICAgdGhpcy50b29sdGlwRWxlbWVudC5pbm5lckhUTUwgPSB0aGlzLnRvb2x0aXA7XG5cbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy50b29sdGlwRWxlbWVudCwgJ3otaW5kZXgnLCAnMTAwMCcpO1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLnRvb2x0aXBFbGVtZW50LCAncG9zaXRpb24nLCAnYWJzb2x1dGUnKTtcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy50b29sdGlwRWxlbWVudCwgJ3BhZGRpbmcnLCAnNHB4IDhweCA0cHggOHB4Jyk7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMudG9vbHRpcEVsZW1lbnQsICdib3JkZXItcmFkaXVzJywgJzVweCcpO1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLnRvb2x0aXBFbGVtZW50LCAnYmFja2dyb3VuZC1jb2xvcicsICcjNjE2MTYxJyk7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMudG9vbHRpcEVsZW1lbnQsICdjb2xvcicsICd3aGl0ZScpO1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLnRvb2x0aXBFbGVtZW50LCAnbWF4LWhlaWdodCcsICczMHZoJyk7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMudG9vbHRpcEVsZW1lbnQsICdvdmVyZmxvdycsICdzY3JvbGwnKTtcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuYXBwZW5kQ2hpbGQodGhpcy5lbC5uYXRpdmVFbGVtZW50LCB0aGlzLnRvb2x0aXBFbGVtZW50KTtcblxuICAgICAgICAgICAgY29uc3QgbWFyZ2luQm90dG9tOiBudW1iZXIgPSB0aGlzLnRvb2x0aXBFbGVtZW50LmNsaWVudEhlaWdodCArICh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQpLmNsaWVudEhlaWdodCArIDE1O1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLnRvb2x0aXBFbGVtZW50LCAnbWFyZ2luLWJvdHRvbScsIGAke21hcmdpbkJvdHRvbX1weGApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZWdpc3RlckNsb3NlTGlzdGVuZXJzKCk6IHZvaWQge1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuY2xvc2VMaXN0ZW5lcnMucHVzaChcbiAgICAgICAgICAgICAgICB0aGlzLmdldENsb3NlTGlzdGVuZXIoJ2NsaWNrJyksXG4gICAgICAgICAgICAgICAgdGhpcy5nZXRDbG9zZUxpc3RlbmVyKCd0b3VjaG1vdmUnKSxcbiAgICAgICAgICAgICAgICB0aGlzLmdldENsb3NlTGlzdGVuZXIoJ3Jlc2l6ZScpXG4gICAgICAgICAgICApO1xuICAgICAgICB9LCAxMDApO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0Q2xvc2VMaXN0ZW5lcihldmVudDogc3RyaW5nKTogTGlzdGVuZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5yZW5kZXJlci5saXN0ZW4oJ2RvY3VtZW50JywgZXZlbnQsICgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuaGlkZVRvb2x0aXAoKTtcbiAgICAgICAgICAgIHRoaXMucmVtb3ZlQ2xvc2VMaXN0ZW5lcnMoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoaWRlVG9vbHRpcCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMudG9vbHRpcEVsZW1lbnQpIHtcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2hpbGQodGhpcy5lbC5uYXRpdmVFbGVtZW50LCB0aGlzLnRvb2x0aXBFbGVtZW50KTtcbiAgICAgICAgICAgIHRoaXMudG9vbHRpcEVsZW1lbnQgPSB1bmRlZmluZWQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHJlbW92ZUNsb3NlTGlzdGVuZXJzKCk6IHZvaWQge1xuICAgICAgICBmb3IgKGNvbnN0IGxpc3RlbmVyIG9mIHRoaXMuY2xvc2VMaXN0ZW5lcnMpIHtcbiAgICAgICAgICAgIGxpc3RlbmVyKCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5jbG9zZUxpc3RlbmVycyA9IFtdO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnJlbW92ZUNsb3NlTGlzdGVuZXJzKCk7XG4gICAgfVxufSJdfQ==
|
|
133
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbWF0ZXJpYWwtZW50aXR5L3NyYy9kaXJlY3RpdmVzL3Rvb2x0aXAuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQWEsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU9qRzs7R0FFRztBQUtILE1BQU0sT0FBTyxnQkFBZ0I7SUFlSjtJQUNBO0lBZHJCOztPQUVHO0lBRUgsT0FBTyxDQUFVO0lBRVQsY0FBYyxDQUFlO0lBRTdCLGNBQWMsR0FBZSxFQUFFLENBQUM7SUFFaEMsYUFBYSxHQUFZLEtBQUssQ0FBQztJQUV2QyxZQUNxQixFQUFjLEVBQ2QsUUFBbUI7UUFEbkIsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQUNkLGFBQVEsR0FBUixRQUFRLENBQVc7SUFDckMsQ0FBQztJQUVKOztPQUVHO0lBRUgsT0FBTztRQUNILElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ3RCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNuQixJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztZQUM5QixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztZQUMxQixPQUFPO1NBQ1Y7UUFDRCxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDbkIsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUVEOztPQUVHO0lBRUgsWUFBWTtRQUNSLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ3RCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNuQixJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztZQUM5QixPQUFPO1NBQ1Y7UUFDRCxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDcEIs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QztZQUNuQixJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztRQUNoQyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTyxXQUFXO1FBQ2YsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ3JCLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUN0RSxJQUFJLENBQUMsY0FBYyxHQUFHLFNBQVMsQ0FBQztTQUNuQztJQUNMLENBQUM7SUFFTyxvQkFBb0I7UUFDeEIsS0FBSyxNQUFNLFFBQVEsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ3hDLFFBQVEsRUFBRSxDQUFDO1NBQ2Q7UUFDRCxJQUFJLENBQUMsY0FBYyxHQUFHLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztJQUMvQixDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO0lBQ2hDLENBQUM7dUdBOUhRLGdCQUFnQjsyRkFBaEIsZ0JBQWdCOzsyRkFBaEIsZ0JBQWdCO2tCQUo1QixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxXQUFXO29CQUNyQixVQUFVLEVBQUUsSUFBSTtpQkFDbkI7eUhBT0csT0FBTztzQkFETixLQUFLO2dCQWtCTixPQUFPO3NCQUROLFlBQVk7dUJBQUMsT0FBTztnQkFnQnJCLFlBQVk7c0JBRFgsWUFBWTt1QkFBQyxZQUFZO2dCQWtCMUIsWUFBWTtzQkFEWCxZQUFZO3VCQUFDLFlBQVk7Z0JBYTFCLFFBQVE7c0JBRFAsWUFBWTt1QkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBIb3N0TGlzdGVuZXIsIElucHV0LCBPbkRlc3Ryb3ksIFJlbmRlcmVyMiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqIFRoZSB0eXBlIG9mIGEgZ2xvYmFsIGxpc3RlbmVyLiBJcyBhIGZ1bmN0aW9uIHRoYXQgc2ltcGx5IHVuc3Vic2NyaWJlcyB0aGUgbGlzdGVuZXIuXG4gKi9cbnR5cGUgTGlzdGVuZXIgPSAoKSA9PiB2b2lkO1xuXG4vKipcbiAqIEEgZGlyZWN0aXZlIHRoYXQgZGlzcGxheXMgYSB0b29sdGlwIG9uIGhvdmVyLlxuICovXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1t0b29sdGlwXScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBUb29sdGlwRGlyZWN0aXZlIGltcGxlbWVudHMgT25EZXN0cm95IHtcblxuICAgIC8qKlxuICAgICAqIFRoZSBjb250ZW50IHRvIGRpc3BsYXkgaW5zaWRlIHRoZSB0b29sdGlwLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgdG9vbHRpcCE6IHN0cmluZztcblxuICAgIHByaXZhdGUgdG9vbHRpcEVsZW1lbnQ/OiBIVE1MRWxlbWVudDtcblxuICAgIHByaXZhdGUgY2xvc2VMaXN0ZW5lcnM6IExpc3RlbmVyW10gPSBbXTtcblxuICAgIHByaXZhdGUgb3BlbmVkQnlDbGljazogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgZWw6IEVsZW1lbnRSZWYsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgcmVuZGVyZXI6IFJlbmRlcmVyMlxuICAgICkge31cblxuICAgIC8qKlxuICAgICAqIFRvZ2dsZXMgdGhlIHRvb2x0aXAuXG4gICAgICovXG4gICAgQEhvc3RMaXN0ZW5lcignY2xpY2snKVxuICAgIG9uQ2xpY2soKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy50b29sdGlwRWxlbWVudCkge1xuICAgICAgICAgICAgdGhpcy5zaG93VG9vbHRpcCgpO1xuICAgICAgICAgICAgdGhpcy5yZWdpc3RlckNsb3NlTGlzdGVuZXJzKCk7XG4gICAgICAgICAgICB0aGlzLm9wZW5lZEJ5Q2xpY2sgPSB0cnVlO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuaGlkZVRvb2x0aXAoKTtcbiAgICAgICAgdGhpcy5yZW1vdmVDbG9zZUxpc3RlbmVycygpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNob3dzIHRoZSB0b29sdGlwLlxuICAgICAqL1xuICAgIEBIb3N0TGlzdGVuZXIoJ21vdXNlZW50ZXInKVxuICAgIG9uTW91c2VFbnRlcigpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLnRvb2x0aXBFbGVtZW50KSB7XG4gICAgICAgICAgICB0aGlzLnNob3dUb29sdGlwKCk7XG4gICAgICAgICAgICB0aGlzLnJlZ2lzdGVyQ2xvc2VMaXN0ZW5lcnMoKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5vcGVuZWRCeUNsaWNrKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5oaWRlVG9vbHRpcCgpO1xuICAgICAgICB0aGlzLnJlbW92ZUNsb3NlTGlzdGVuZXJzKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSGlkZXMgdGhlIHRvb2x0aXAuXG4gICAgICovXG4gICAgQEhvc3RMaXN0ZW5lcignbW91c2VsZWF2ZScpXG4gICAgb25Nb3VzZUxlYXZlKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5vcGVuZWRCeUNsaWNrKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5oaWRlVG9vbHRpcCgpO1xuICAgICAgICB0aGlzLnJlbW92ZUNsb3NlTGlzdGVuZXJzKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSGlkZXMgdGhlIHRvb2x0aXAuXG4gICAgICovXG4gICAgQEhvc3RMaXN0ZW5lcignd2luZG93OnJlc2l6ZScpXG4gICAgb25SZXNpemUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaGlkZVRvb2x0aXAoKTtcbiAgICAgICAgdGhpcy5yZW1vdmVDbG9zZUxpc3RlbmVycygpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2hvd1Rvb2x0aXAoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy50b29sdGlwRWxlbWVudCkge1xuICAgICAgICAgICAgdGhpcy50b29sdGlwRWxlbWVudCA9IHRoaXMucmVuZGVyZXIuY3JlYXRlRWxlbWVudCgnZGl2JykgYXMgSFRNTEVsZW1lbnQ7XG4gICAgICAgICAgICB0aGlzLnRvb2x0aXBFbGVtZW50LmlubmVySFRNTCA9IHRoaXMudG9vbHRpcDtcblxuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLnRvb2x0aXBFbGVtZW50LCAnei1pbmRleCcsICcxMDAwJyk7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMudG9vbHRpcEVsZW1lbnQsICdwb3NpdGlvbicsICdhYnNvbHV0ZScpO1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLnRvb2x0aXBFbGVtZW50LCAncGFkZGluZycsICc0cHggOHB4IDRweCA4cHgnKTtcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy50b29sdGlwRWxlbWVudCwgJ2JvcmRlci1yYWRpdXMnLCAnNXB4Jyk7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMudG9vbHRpcEVsZW1lbnQsICdiYWNrZ3JvdW5kLWNvbG9yJywgJyM2MTYxNjEnKTtcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy50b29sdGlwRWxlbWVudCwgJ2NvbG9yJywgJ3doaXRlJyk7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMudG9vbHRpcEVsZW1lbnQsICdtYXgtaGVpZ2h0JywgJzMwdmgnKTtcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy50b29sdGlwRWxlbWVudCwgJ292ZXJmbG93JywgJ3Njcm9sbCcpO1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5hcHBlbmRDaGlsZCh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsIHRoaXMudG9vbHRpcEVsZW1lbnQpO1xuXG4gICAgICAgICAgICBjb25zdCBtYXJnaW5Cb3R0b206IG51bWJlciA9IHRoaXMudG9vbHRpcEVsZW1lbnQuY2xpZW50SGVpZ2h0ICsgKHRoaXMuZWwubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudCkuY2xpZW50SGVpZ2h0ICsgMTU7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMudG9vbHRpcEVsZW1lbnQsICdtYXJnaW4tYm90dG9tJywgYCR7bWFyZ2luQm90dG9tfXB4YCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHJlZ2lzdGVyQ2xvc2VMaXN0ZW5lcnMoKTogdm9pZCB7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5jbG9zZUxpc3RlbmVycy5wdXNoKFxuICAgICAgICAgICAgICAgIHRoaXMuZ2V0Q2xvc2VMaXN0ZW5lcignY2xpY2snKSxcbiAgICAgICAgICAgICAgICB0aGlzLmdldENsb3NlTGlzdGVuZXIoJ3RvdWNobW92ZScpLFxuICAgICAgICAgICAgICAgIHRoaXMuZ2V0Q2xvc2VMaXN0ZW5lcigncmVzaXplJylcbiAgICAgICAgICAgICk7XG4gICAgICAgIH0sIDEwMCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRDbG9zZUxpc3RlbmVyKGV2ZW50OiBzdHJpbmcpOiBMaXN0ZW5lciB7XG4gICAgICAgIHJldHVybiB0aGlzLnJlbmRlcmVyLmxpc3RlbignZG9jdW1lbnQnLCBldmVudCwgKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5oaWRlVG9vbHRpcCgpO1xuICAgICAgICAgICAgdGhpcy5yZW1vdmVDbG9zZUxpc3RlbmVycygpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGhpZGVUb29sdGlwKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy50b29sdGlwRWxlbWVudCkge1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDaGlsZCh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsIHRoaXMudG9vbHRpcEVsZW1lbnQpO1xuICAgICAgICAgICAgdGhpcy50b29sdGlwRWxlbWVudCA9IHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgcmVtb3ZlQ2xvc2VMaXN0ZW5lcnMoKTogdm9pZCB7XG4gICAgICAgIGZvciAoY29uc3QgbGlzdGVuZXIgb2YgdGhpcy5jbG9zZUxpc3RlbmVycykge1xuICAgICAgICAgICAgbGlzdGVuZXIoKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNsb3NlTGlzdGVuZXJzID0gW107XG4gICAgICAgIHRoaXMub3BlbmVkQnlDbGljayA9IGZhbHNlO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnJlbW92ZUNsb3NlTGlzdGVuZXJzKCk7XG4gICAgfVxufSJdfQ==
|
|
@@ -20,7 +20,11 @@ export class ReflectUtilities {
|
|
|
20
20
|
* @returns The keys of the given object.
|
|
21
21
|
*/
|
|
22
22
|
static ownKeys(target) {
|
|
23
|
-
|
|
23
|
+
const res = [];
|
|
24
|
+
for (const key in target) {
|
|
25
|
+
res.push(key);
|
|
26
|
+
}
|
|
27
|
+
return res;
|
|
24
28
|
}
|
|
25
29
|
/**
|
|
26
30
|
* Gets the property of target, equivalent to `target[propertyKey]`.
|
|
@@ -71,4 +75,4 @@ export class ReflectUtilities {
|
|
|
71
75
|
Reflect.defineMetadata(metadataKey, metadataValue, target, propertyKey);
|
|
72
76
|
}
|
|
73
77
|
}
|
|
74
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
78
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVmbGVjdC51dGlsaXRpZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbWF0ZXJpYWwtZW50aXR5L3NyYy9lbmNhcHN1bGF0aW9uL3JlZmxlY3QudXRpbGl0aWVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sa0JBQWtCLENBQUM7QUFFMUI7O0dBRUc7QUFDSCxNQUFNLE9BQWdCLGdCQUFnQjtJQUNsQzs7Ozs7O09BTUc7SUFDSCxNQUFNLENBQUMsV0FBVyxDQUFtQixXQUFtQixFQUFFLE1BQVMsRUFBRSxXQUFvQjtRQUNyRixPQUFPLE9BQU8sQ0FBQyxXQUFXLENBQUMsV0FBVyxFQUFFLE1BQU0sRUFBRSxXQUFxQixDQUFDLENBQUM7SUFDM0UsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsTUFBTSxDQUFDLE9BQU8sQ0FBbUIsTUFBUztRQUN0QyxNQUFNLEdBQUcsR0FBZ0IsRUFBRSxDQUFDO1FBQzVCLEtBQUssTUFBTSxHQUFHLElBQUksTUFBTSxFQUFFO1lBQ3RCLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDakI7UUFDRCxPQUFPLEdBQUcsQ0FBQztJQUNmLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILE1BQU0sQ0FBQyxHQUFHLENBQW1CLE1BQVMsRUFBRSxXQUFvQjtRQUN4RCxPQUFPLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxNQUFNLENBQUMsR0FBRyxDQUFtQixNQUFTLEVBQUUsV0FBb0IsRUFBRSxLQUFjO1FBQ3hFLE9BQU8sT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsV0FBVyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILE1BQU0sQ0FBQyxHQUFHLENBQW1CLE1BQVMsRUFBRSxXQUFvQjtRQUN4RCxPQUFPLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxNQUFNLENBQUMsV0FBVyxDQUFtQixXQUFtQixFQUFFLE1BQVMsRUFBRSxXQUFvQjtRQUNyRixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxFQUFFLE1BQU0sRUFBRSxXQUFXLENBQUMsSUFBSSxJQUFJLENBQUM7SUFDdEUsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILE1BQU0sQ0FBQyxjQUFjLENBQ2pCLFdBQW9CLEVBQ3BCLGFBQXNCLEVBQ3RCLE1BQVMsRUFDVCxXQUFvQjtRQUVwQixPQUFPLENBQUMsY0FBYyxDQUFDLFdBQVcsRUFBRSxhQUFhLEVBQUUsTUFBTSxFQUFFLFdBQXFCLENBQUMsQ0FBQztJQUN0RixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgJ3JlZmxlY3QtbWV0YWRhdGEnO1xuXG4vKipcbiAqIEVuY2Fwc3VsYXRlcyBhbGwgZnVuY3Rpb25hbGl0eSBvZiBSZWZsZWN0LlxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgUmVmbGVjdFV0aWxpdGllcyB7XG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgbWV0YWRhdGEgdmFsdWUgZm9yIHRoZSBwcm92aWRlZCBtZXRhZGF0YSBrZXkgb24gdGhlIHRhcmdldCBvYmplY3Qgb3IgaXRzIHByb3RvdHlwZSBjaGFpbi5cbiAgICAgKiBAcGFyYW0gbWV0YWRhdGFLZXkgLSBBIGtleSB1c2VkIHRvIHN0b3JlIGFuZCByZXRyaWV2ZSBtZXRhZGF0YS5cbiAgICAgKiBAcGFyYW0gdGFyZ2V0IC0gVGhlIHRhcmdldCBvYmplY3Qgb24gd2hpY2ggdGhlIG1ldGFkYXRhIGlzIGRlZmluZWQuXG4gICAgICogQHBhcmFtIHByb3BlcnR5S2V5IC0gVGhlIHByb3BlcnR5IGtleSBmb3IgdGhlIHRhcmdldC5cbiAgICAgKiBAcmV0dXJucyBUaGUgbWV0YWRhdGEgdmFsdWUgZm9yIHRoZSBtZXRhZGF0YSBrZXkgaWYgZm91bmQ7IG90aGVyd2lzZSwgdW5kZWZpbmVkLlxuICAgICAqL1xuICAgIHN0YXRpYyBnZXRNZXRhZGF0YTxUIGV4dGVuZHMgb2JqZWN0PihtZXRhZGF0YUtleTogc3RyaW5nLCB0YXJnZXQ6IFQsIHByb3BlcnR5S2V5OiBrZXlvZiBUKTogdW5rbm93biB7XG4gICAgICAgIHJldHVybiBSZWZsZWN0LmdldE1ldGFkYXRhKG1ldGFkYXRhS2V5LCB0YXJnZXQsIHByb3BlcnR5S2V5IGFzIHN0cmluZyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyB0aGUgc3RyaW5nIGFuZCBzeW1ib2wga2V5cyBvZiB0aGUgb3duIHByb3BlcnRpZXMgb2YgYW4gb2JqZWN0LiBUaGUgb3duIHByb3BlcnRpZXMgb2YgYW4gb2JqZWN0XG4gICAgICogYXJlIHRob3NlIHRoYXQgYXJlIGRlZmluZWQgZGlyZWN0bHkgb24gdGhhdCBvYmplY3QsIGFuZCBhcmUgbm90IGluaGVyaXRlZCBmcm9tIHRoZSBvYmplY3QncyBwcm90b3R5cGUuXG4gICAgICogQHBhcmFtIHRhcmdldCAtIE9iamVjdCB0aGF0IGNvbnRhaW5zIHRoZSBvd24gcHJvcGVydGllcy5cbiAgICAgKiBAcmV0dXJucyBUaGUga2V5cyBvZiB0aGUgZ2l2ZW4gb2JqZWN0LlxuICAgICAqL1xuICAgIHN0YXRpYyBvd25LZXlzPFQgZXh0ZW5kcyBvYmplY3Q+KHRhcmdldDogVCk6IChrZXlvZiBUKVtdIHtcbiAgICAgICAgY29uc3QgcmVzOiAoa2V5b2YgVClbXSA9IFtdO1xuICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiB0YXJnZXQpIHtcbiAgICAgICAgICAgIHJlcy5wdXNoKGtleSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlcztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSBwcm9wZXJ0eSBvZiB0YXJnZXQsIGVxdWl2YWxlbnQgdG8gYHRhcmdldFtwcm9wZXJ0eUtleV1gLlxuICAgICAqIEBwYXJhbSB0YXJnZXQgLSBPYmplY3QgdGhhdCBjb250YWlucyB0aGUgcHJvcGVydHkgb24gaXRzZWxmIG9yIGluIGl0cyBwcm90b3R5cGUgY2hhaW4uXG4gICAgICogQHBhcmFtIHByb3BlcnR5S2V5IC0gVGhlIHByb3BlcnR5IG5hbWUuXG4gICAgICogQHJldHVybnMgVGhlIHByb3BlcnR5IG9mIHRoZSB0YXJnZXQgb2YgdGhlIGdpdmVuIGtleS5cbiAgICAgKi9cbiAgICBzdGF0aWMgZ2V0PFQgZXh0ZW5kcyBvYmplY3Q+KHRhcmdldDogVCwgcHJvcGVydHlLZXk6IGtleW9mIFQpOiB1bmtub3duIHtcbiAgICAgICAgcmV0dXJuIFJlZmxlY3QuZ2V0KHRhcmdldCwgcHJvcGVydHlLZXkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldHMgdGhlIHByb3BlcnR5IG9mIHRhcmdldCwgZXF1aXZhbGVudCB0byBgdGFyZ2V0W3Byb3BlcnR5S2V5XSA9IHZhbHVlYC5cbiAgICAgKiBAcGFyYW0gdGFyZ2V0IC0gT2JqZWN0IHRoYXQgY29udGFpbnMgdGhlIHByb3BlcnR5IG9uIGl0c2VsZiBvciBpbiBpdHMgcHJvdG90eXBlIGNoYWluLlxuICAgICAqIEBwYXJhbSBwcm9wZXJ0eUtleSAtIFRoZSBwcm9wZXJ0eSBuYW1lLlxuICAgICAqIEBwYXJhbSB2YWx1ZSAtIFRoZSB2YWx1ZSB0byBzZXQgdGhlIHByb3BlcnR5IHRvLlxuICAgICAqIEByZXR1cm5zIElmIHNldHRpbmcgdGhlIHZhbHVlIHdhcyBzdWNjZXNzZnVsLlxuICAgICAqL1xuICAgIHN0YXRpYyBzZXQ8VCBleHRlbmRzIG9iamVjdD4odGFyZ2V0OiBULCBwcm9wZXJ0eUtleToga2V5b2YgVCwgdmFsdWU6IHVua25vd24pOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIFJlZmxlY3Quc2V0KHRhcmdldCwgcHJvcGVydHlLZXksIHZhbHVlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBFcXVpdmFsZW50IHRvIGBwcm9wZXJ0eUtleSBpbiB0YXJnZXRgLlxuICAgICAqIEBwYXJhbSB0YXJnZXQgLSBPYmplY3QgdGhhdCBjb250YWlucyB0aGUgcHJvcGVydHkgb24gaXRzZWxmIG9yIGluIGl0cyBwcm90b3R5cGUgY2hhaW4uXG4gICAgICogQHBhcmFtIHByb3BlcnR5S2V5IC0gTmFtZSBvZiB0aGUgcHJvcGVydHkuXG4gICAgICogQHJldHVybnMgV2hldGhlciBvciBub3QgdGhlIGdpdmVuIHRhcmdldCBoYXMgdGhlIGtleS5cbiAgICAgKi9cbiAgICBzdGF0aWMgaGFzPFQgZXh0ZW5kcyBvYmplY3Q+KHRhcmdldDogVCwgcHJvcGVydHlLZXk6IGtleW9mIFQpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIFJlZmxlY3QuaGFzKHRhcmdldCwgcHJvcGVydHlLZXkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiB0aGUgdGFyZ2V0cyBrZXkgZW50cnkgaGFzIGEgbWV0YWRhdGEgdmFsdWUgZm9yIHRoZSBnaXZlbiBtZXRhZGF0YSBrZXkuXG4gICAgICogQHJldHVybnMgV2hldGhlciB0aGUgbWV0YWRhdGEgaXMgbnVsbCBvciBub3QuXG4gICAgICogQHBhcmFtIG1ldGFkYXRhS2V5IC0gVGhlIGtleSBvZiB0aGUgbWV0YWRhdGEgb24gdGhlIHByb3BlcnR5LlxuICAgICAqIEBwYXJhbSB0YXJnZXQgLSBPYmplY3QgdGhhdCBjb250YWlucyB0aGUgcHJvcGVydHkgb24gaXRzZWxmIG9yIGluIGl0cyBwcm90b3R5cGUgY2hhaW4uXG4gICAgICogQHBhcmFtIHByb3BlcnR5S2V5IC0gVGhlIGtleSBvZiB0aGUgdGFyZ2V0LlxuICAgICAqL1xuICAgIHN0YXRpYyBoYXNNZXRhZGF0YTxUIGV4dGVuZHMgb2JqZWN0PihtZXRhZGF0YUtleTogc3RyaW5nLCB0YXJnZXQ6IFQsIHByb3BlcnR5S2V5OiBrZXlvZiBUKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldE1ldGFkYXRhKG1ldGFkYXRhS2V5LCB0YXJnZXQsIHByb3BlcnR5S2V5KSAhPSBudWxsO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIERlZmluZSBhIHVuaXF1ZSBtZXRhZGF0YSBlbnRyeSBvbiB0aGUgdGFyZ2V0LlxuICAgICAqIEBwYXJhbSBtZXRhZGF0YUtleSAtIEEga2V5IHVzZWQgdG8gc3RvcmUgYW5kIHJldHJpZXZlIG1ldGFkYXRhLlxuICAgICAqIEBwYXJhbSBtZXRhZGF0YVZhbHVlIC0gQSB2YWx1ZSB0aGF0IGNvbnRhaW5zIGF0dGFjaGVkIG1ldGFkYXRhLlxuICAgICAqIEBwYXJhbSB0YXJnZXQgLSBUaGUgdGFyZ2V0IG9iamVjdCBvbiB3aGljaCB0byBkZWZpbmUgbWV0YWRhdGEuXG4gICAgICogQHBhcmFtIHByb3BlcnR5S2V5IC0gVGhlIHByb3BlcnR5IGtleSBmb3IgdGhlIHRhcmdldC5cbiAgICAgKi9cbiAgICBzdGF0aWMgZGVmaW5lTWV0YWRhdGE8VCBleHRlbmRzIG9iamVjdD4oXG4gICAgICAgIG1ldGFkYXRhS2V5OiB1bmtub3duLFxuICAgICAgICBtZXRhZGF0YVZhbHVlOiB1bmtub3duLFxuICAgICAgICB0YXJnZXQ6IFQsXG4gICAgICAgIHByb3BlcnR5S2V5OiBrZXlvZiBUXG4gICAgKTogdm9pZCB7XG4gICAgICAgIFJlZmxlY3QuZGVmaW5lTWV0YWRhdGEobWV0YWRhdGFLZXksIG1ldGFkYXRhVmFsdWUsIHRhcmdldCwgcHJvcGVydHlLZXkgYXMgc3RyaW5nKTtcbiAgICB9XG59Il19
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The default function to retrieve dynamic style classes.
|
|
3
|
+
* Returns an empty array.
|
|
4
|
+
*/
|
|
5
|
+
// eslint-disable-next-line typescript/no-explicit-any
|
|
6
|
+
export const defaultDynamicStyleClasses = () => [];
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC1zdHlsZS1jbGFzc2VzLmZ1bmN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW1hdGVyaWFsLWVudGl0eS9zcmMvZnVuY3Rpb25zL2RlZmF1bHQtc3R5bGUtY2xhc3Nlcy5mdW5jdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTs7O0dBR0c7QUFDSCxzREFBc0Q7QUFDdEQsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQTZCLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IER5bmFtaWNTdHlsZUNsYXNzZXMgfSBmcm9tICcuLi9jb21wb25lbnRzL3RhYmxlL3RhYmxlLWRhdGEnO1xuXG4vKipcbiAqIFRoZSBkZWZhdWx0IGZ1bmN0aW9uIHRvIHJldHJpZXZlIGR5bmFtaWMgc3R5bGUgY2xhc3Nlcy5cbiAqIFJldHVybnMgYW4gZW1wdHkgYXJyYXkuXG4gKi9cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSB0eXBlc2NyaXB0L25vLWV4cGxpY2l0LWFueVxuZXhwb3J0IGNvbnN0IGRlZmF1bHREeW5hbWljU3R5bGVDbGFzc2VzOiBEeW5hbWljU3R5bGVDbGFzc2VzPGFueT4gPSAoKSA9PiBbXTsiXX0=
|
|
@@ -2,7 +2,6 @@ import { InjectionToken } from '@angular/core';
|
|
|
2
2
|
/**
|
|
3
3
|
* Provider for the default getValidationErrorMessage.
|
|
4
4
|
*/
|
|
5
|
-
// eslint-disable-next-line constCase/uppercase
|
|
6
5
|
export const NGX_GET_VALIDATION_ERROR_MESSAGE = new InjectionToken('Provider for the default getValidationErrorMessage.', {
|
|
7
6
|
providedIn: 'root',
|
|
8
7
|
factory: () => getValidationErrorMessage
|
|
@@ -52,4 +51,4 @@ function getValidationErrorMessage(model) {
|
|
|
52
51
|
return 'invalid input';
|
|
53
52
|
}
|
|
54
53
|
}
|
|
55
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LXZhbGlkYXRpb24tZXJyb3ItbWVzc2FnZS5mdW5jdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1tYXRlcmlhbC1lbnRpdHkvc3JjL2Z1bmN0aW9ucy9nZXQtdmFsaWRhdGlvbi1lcnJvci1tZXNzYWdlLmZ1bmN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHL0M7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxnQ0FBZ0MsR0FBaUMsSUFBSSxjQUFjLENBQzVGLHFEQUFxRCxFQUNyRDtJQUNJLFVBQVUsRUFBRSxNQUFNO0lBQ2xCLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyx5QkFBeUI7Q0FDM0MsQ0FDSixDQUFDO0FBRUY7Ozs7R0FJRztBQUNILFNBQVMseUJBQXlCLENBQUMsS0FBYztJQUM3QyxJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUMsb0JBQW9CLENBQUMsRUFBRTtRQUN0QyxPQUFPLGtCQUFrQixDQUFDO0tBQzdCO1NBQ0ksSUFBSSxLQUFLLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxFQUFFO1FBQzlCLE9BQU8sbUJBQW1CLENBQUM7S0FDOUI7U0FDSSxJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLEVBQUU7UUFDbEMsOERBQThEO1FBQzlELE9BQU8sd0JBQXdCLEtBQUssQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUMsY0FBYyxrQkFBa0IsQ0FBQztLQUMvRjtTQUNJLElBQUksS0FBSyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsRUFBRTtRQUNsQyw4REFBOEQ7UUFDOUQsT0FBTyx1QkFBdUIsS0FBSyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQyxjQUFjLGtCQUFrQixDQUFDO0tBQzlGO1NBQ0ksSUFBSSxLQUFLLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFO1FBQzVCLDhEQUE4RDtRQUM5RCxPQUFPLG9DQUFvQyxLQUFLLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDO0tBQzFFO1NBQ0ksSUFBSSxLQUFLLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFO1FBQzVCLDhEQUE4RDtRQUM5RCxPQUFPLHFDQUFxQyxLQUFLLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDO0tBQzNFO1NBQ0ksSUFBSSxLQUFLLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxFQUFFO1FBQ3RDLE9BQU8sMEJBQTBCLENBQUM7S0FDckM7U0FDSSxJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLEVBQUU7UUFDakMsT0FBTyxVQUFVLENBQUM7S0FDckI7U0FDSSxJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLEVBQUU7UUFDbkMsT0FBTyx3Q0FBd0MsQ0FBQztLQUNuRDtJQUNELDhEQUE4RDtTQUN6RCxJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLElBQUksS0FBSyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxlQUFlLEtBQUssUUFBUSxFQUFFO1FBQzFGLE9BQU8sc0JBQXNCLENBQUM7S0FDakM7U0FDSTtRQUNELE9BQU8sZUFBZSxDQUFDO0tBQzFCO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOZ01vZGVsIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG4vKipcbiAqIFByb3ZpZGVyIGZvciB0aGUgZGVmYXVsdCBnZXRWYWxpZGF0aW9uRXJyb3JNZXNzYWdlLlxuICovXG5leHBvcnQgY29uc3QgTkdYX0dFVF9WQUxJREFUSU9OX0VSUk9SX01FU1NBR0U6IEluamVjdGlvblRva2VuPCgpID0+IHN0cmluZz4gPSBuZXcgSW5qZWN0aW9uVG9rZW4oXG4gICAgJ1Byb3ZpZGVyIGZvciB0aGUgZGVmYXVsdCBnZXRWYWxpZGF0aW9uRXJyb3JNZXNzYWdlLicsXG4gICAge1xuICAgICAgICBwcm92aWRlZEluOiAncm9vdCcsXG4gICAgICAgIGZhY3Rvcnk6ICgpID0+IGdldFZhbGlkYXRpb25FcnJvck1lc3NhZ2VcbiAgICB9XG4pO1xuXG4vKipcbiAqIEdlbmVyYXRlcyBhIGRlZmF1bHQgZXJyb3IgbWVzc2FnZSBmb3IgbW9zdCB2YWxpZGF0aW9uIGVycm9ycy5cbiAqIEBwYXJhbSBtb2RlbCAtIFRoZSBuZ01vZGVsIHRvIGdldCB0aGUgZXJyb3IgZnJvbS5cbiAqIEByZXR1cm5zIFRoZSBWYWxpZGF0aW9uIEVycm9yIE1lc3NhZ2UgdG8gZGlzcGxheS5cbiAqL1xuZnVuY3Rpb24gZ2V0VmFsaWRhdGlvbkVycm9yTWVzc2FnZShtb2RlbDogTmdNb2RlbCk6IHN0cmluZyB7XG4gICAgaWYgKG1vZGVsLmhhc0Vycm9yKCdtYXREYXRlcGlja2VyUGFyc2UnKSkge1xuICAgICAgICByZXR1cm4gJ25vdCBhIHZhbGlkIGRhdGUnO1xuICAgIH1cbiAgICBlbHNlIGlmIChtb2RlbC5oYXNFcnJvcignZW1haWwnKSkge1xuICAgICAgICByZXR1cm4gJ25vdCBhIHZhbGlkIGVtYWlsJztcbiAgICB9XG4gICAgZWxzZSBpZiAobW9kZWwuaGFzRXJyb3IoJ21pbmxlbmd0aCcpKSB7XG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSB0eXBlc2NyaXB0L25vLXVuc2FmZS1tZW1iZXItYWNjZXNzXG4gICAgICAgIHJldHVybiBgbmVlZHMgdG8gYmUgYXQgbGVhc3QgJHttb2RlbC5nZXRFcnJvcignbWlubGVuZ3RoJykucmVxdWlyZWRMZW5ndGh9IGNoYXJhY3RlcnMgbG9uZ2A7XG4gICAgfVxuICAgIGVsc2UgaWYgKG1vZGVsLmhhc0Vycm9yKCdtYXhsZW5ndGgnKSkge1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgdHlwZXNjcmlwdC9uby11bnNhZmUtbWVtYmVyLWFjY2Vzc1xuICAgICAgICByZXR1cm4gYG5lZWRzIHRvIGJlIGF0IG1vc3QgJHttb2RlbC5nZXRFcnJvcignbWF4bGVuZ3RoJykucmVxdWlyZWRMZW5ndGh9IGNoYXJhY3RlcnMgbG9uZ2A7XG4gICAgfVxuICAgIGVsc2UgaWYgKG1vZGVsLmhhc0Vycm9yKCdtaW4nKSkge1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgdHlwZXNjcmlwdC9uby11bnNhZmUtbWVtYmVyLWFjY2Vzc1xuICAgICAgICByZXR1cm4gYG5lZWRzIHRvIGJlIGVxdWFsIG9yIGJpZ2dlciB0aGFuICR7bW9kZWwuZ2V0RXJyb3IoJ21pbicpLm1pbn1gO1xuICAgIH1cbiAgICBlbHNlIGlmIChtb2RlbC5oYXNFcnJvcignbWF4JykpIHtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHR5cGVzY3JpcHQvbm8tdW5zYWZlLW1lbWJlci1hY2Nlc3NcbiAgICAgICAgcmV0dXJuIGBuZWVkcyB0byBiZSBlcXVhbCBvciBzbWFsbGVyIHRoYW4gJHttb2RlbC5nZXRFcnJvcignbWF4JykubWF4fWA7XG4gICAgfVxuICAgIGVsc2UgaWYgKG1vZGVsLmhhc0Vycm9yKCdwYXNzd29yZE1hdGNoJykpIHtcbiAgICAgICAgcmV0dXJuICdQYXNzd29yZHMgbmVlZCB0byBtYXRjaCEnO1xuICAgIH1cbiAgICBlbHNlIGlmIChtb2RlbC5oYXNFcnJvcigncmVxdWlyZWQnKSkge1xuICAgICAgICByZXR1cm4gJ3JlcXVpcmVkJztcbiAgICB9XG4gICAgZWxzZSBpZiAobW9kZWwuaGFzRXJyb3IoJ2luY2x1ZGVkSW4nKSkge1xuICAgICAgICByZXR1cm4gJ05lZWRzIHRvIGJlIG9uZSBvZiB0aGUgcHJvdmlkZWQgdmFsdWVzJztcbiAgICB9XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHR5cGVzY3JpcHQvbm8tdW5zYWZlLW1lbWJlci1hY2Nlc3NcbiAgICBlbHNlIGlmIChtb2RlbC5oYXNFcnJvcigncGF0dGVybicpICYmIG1vZGVsLmdldEVycm9yKCdwYXR0ZXJuJykucmVxdWlyZWRQYXR0ZXJuID09PSAnXnRydWUkJykge1xuICAgICAgICByZXR1cm4gJ25lZWRzIHRvIGJlIHNlbGVjdGVkJztcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHJldHVybiAnaW52YWxpZCBpbnB1dCc7XG4gICAgfVxufSJdfQ==
|
|
@@ -3,11 +3,10 @@ import { InjectionToken } from '@angular/core';
|
|
|
3
3
|
/**
|
|
4
4
|
* The provider for global configuration values.
|
|
5
5
|
*/
|
|
6
|
-
// eslint-disable-next-line max-len, constCase/uppercase
|
|
7
6
|
export const NGX_GLOBAL_DEFAULT_VALUES = new InjectionToken('NGX_GLOBAL_DEFAULT_VALUES', {
|
|
8
7
|
providedIn: 'root',
|
|
9
8
|
factory: () => {
|
|
10
9
|
return {};
|
|
11
10
|
}
|
|
12
11
|
});
|
|
13
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xvYmFsLWNvbmZpZ3VyYXRpb24tdmFsdWVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcHJvamVjdHMvbmd4LW1hdGVyaWFsLWVudGl0eS9zcmMvZ2xvYmFsLWNvbmZpZ3VyYXRpb24tdmFsdWVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDBCQUEwQjtBQUMxQixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBK0wvQzs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUFvRCxJQUFJLGNBQWMsQ0FDeEcsMkJBQTJCLEVBQzNCO0lBQ0ksVUFBVSxFQUFFLE1BQU07SUFDbEIsT0FBTyxFQUFFLEdBQUcsRUFBRTtRQUNWLE9BQU8sRUFBRSxDQUFDO0lBQ2QsQ0FBQztDQUNKLENBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGlzdGFuYnVsIGlnbm9yZSBmaWxlICovXG5pbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqIEFsbCBjb25maWd1cmFibGUgZGVmYXVsdCB2YWx1ZXMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTmd4R2xvYmFsRGVmYXVsdFZhbHVlcyB7XG4gICAgLyoqXG4gICAgICogVGhlIGxhYmVsIGZvciBjcmVhdGUgYnV0dG9ucy5cbiAgICAgKiBAZGVmYXVsdCAnQ3JlYXRlJ1xuICAgICAqL1xuICAgIGNyZWF0ZUxhYmVsOiBzdHJpbmcsXG4gICAgLyoqXG4gICAgICogVGhlIGxhYmVsIGZvciBlZGl0IGJ1dHRvbnMuXG4gICAgICogQGRlZmF1bHQgJ0VkaXQnXG4gICAgICovXG4gICAgZWRpdExhYmVsOiBzdHJpbmcsXG4gICAgLyoqXG4gICAgICogVGhlIGxhYmVsIGZvciBzYXZlIGJ1dHRvbnMuXG4gICAgICogQGRlZmF1bHQgJ1NhdmUnXG4gICAgICovXG4gICAgc2F2ZUxhYmVsOiBzdHJpbmcsXG4gICAgLyoqXG4gICAgICogVGhlIGxhYmVsIGZvciBjYW5jZWwgYnV0dG9ucy5cbiAgICAgKiBAZGVmYXVsdCAnQ2FuY2VsJ1xuICAgICAqL1xuICAgIGNhbmNlbExhYmVsOiBzdHJpbmcsXG4gICAgLyoqXG4gICAgICogVGhlIGxhYmVsIGZvciBhZGQgYnV0dG9ucy5cbiAgICAgKiBAZGVmYXVsdCAnQWRkJ1xuICAgICAqL1xuICAgIGFkZExhYmVsOiBzdHJpbmcsXG4gICAgLyoqXG4gICAgICogVGhlIGxhYmVsIGZvciBkZWxldGUgYnV0dG9ucy5cbiAgICAgKiBAZGVmYXVsdCAnRGVsZXRlJ1xuICAgICAqL1xuICAgIGRlbGV0ZUxhYmVsOiBzdHJpbmcsXG4gICAgLyoqXG4gICAgICogVGhlIGxhYmVsIGZvciBiYWNrIGJ1dHRvbnMuXG4gICAgICogQGRlZmF1bHQgJ0JhY2snXG4gICAgICovXG4gICAgYmFja0xhYmVsOiBzdHJpbmcsXG4gICAgLyoqXG4gICAgICogVGhlIGxhYmVsIGZvciBhY3Rpb25zLlxuICAgICAqIEBkZWZhdWx0ICdBY3Rpb25zJ1xuICAgICAqL1xuICAgIGFjdGlvbnNMYWJlbDogc3RyaW5nLFxuICAgIC8qKlxuICAgICAqIFRoZSBsYWJlbCBmb3Igc2VhcmNoZXMuXG4gICAgICogQGRlZmF1bHQgJ1NlYXJjaCdcbiAgICAgKi9cbiAgICBzZWFyY2hMYWJlbDogc3RyaW5nLFxuICAgIC8qKlxuICAgICAqIFRoZSBkaXNwbGF5IHZhbHVlIGZvciB0aGUgXCJ0cnVlXCIgdmFsdWUgaW4gZHJvcGRvd25zLlxuICAgICAqIEBkZWZhdWx0ICdZZXMnXG4gICAgICovXG4gICAgZHJvcGRvd25UcnVlOiBzdHJpbmcsXG4gICAgLyoqXG4gICAgICogVGhlIGRpc3BsYXkgdmFsdWUgZm9yIHRoZSBcImZhbHNlXCIgdmFsdWUgaW4gZHJvcGRvd25zLlxuICAgICAqIEBkZWZhdWx0ICdObydcbiAgICAgKi9cbiAgICBkcm9wZG93bkZhbHNlOiBzdHJpbmcsXG4gICAgLyoqXG4gICAgICogVGhlIGxhYmVsIGZvciBjb25maXJtIGJ1dHRvbnMuXG4gICAgICogQGRlZmF1bHQgJ0NvbmZpcm0nXG4gICAgICovXG4gICAgY29uZmlybUxhYmVsOiBzdHJpbmcsXG4gICAgLyoqXG4gICAgICogVGhlIHRpdGxlIGZvciBhIGNvbmZpcm0gZGlhbG9nLlxuICAgICAqIEBkZWZhdWx0ICdDb25maXJtYXRpb24nXG4gICAgICovXG4gICAgZGVmYXVsdENvbmZpcm1EaWFsb2dUaXRsZTogc3RyaW5nLFxuICAgIC8qKlxuICAgICAqIFRoZSB0ZXh0IGZvciBhIGNvbmZpcm0gZGlhbG9nLlxuICAgICAqIEBkZWZhdWx0IFsnRG8geW91IHJlYWxseSB3YW50IHRvIGRvIHRoaXM/J11cbiAgICAgKi9cbiAgICBkZWZhdWx0Q29uZmlybURpYWxvZ1RleHQ6IHN0cmluZ1tdLFxuICAgIC8qKlxuICAgICAqIFRoZSB0ZXh0IGZvciBjb25maXJtaW5nIGEgc2F2ZSBhY3Rpb24uXG4gICAgICogQGRlZmF1bHQgWydEbyB5b3UgcmVhbGx5IHdhbnQgdG8gc2F2ZSBhbGwgY2hhbmdlcz8nXVxuICAgICAqL1xuICAgIGNvbmZpcm1TYXZlVGV4dDogc3RyaW5nW10sXG4gICAgLyoqXG4gICAgICogVGhlIHRleHQgZm9yIGNvbmZpcm1pbmcgYSBkZWxldGUgYWN0aW9uLlxuICAgICAqIEBkZWZhdWx0IFsnRG8geW91IHJlYWxseSB3YW50IHRvIGRlbGV0ZSB0aGlzIGVudGl0eT8nXVxuICAgICAqL1xuICAgIGNvbmZpcm1EZWxldGVUZXh0OiBzdHJpbmdbXSxcbiAgICAvKipcbiAgICAgKiBUaGUgbGFiZWwgZm9yIHRoZSBidXR0b24gdG8gbGVhdmUgd2l0aG91dCBjaGFuZ2VzLlxuICAgICAqIEBkZWZhdWx0ICdMZWF2ZSdcbiAgICAgKi9cbiAgICBjb25maXJtVW5zYXZlZENoYW5nZXNMYWJlbDogc3RyaW5nLFxuICAgIC8qKlxuICAgICAqIFRoZSB0aXRsZSBmb3IgY29uZmlybWluZyB0byBsZWF2ZSB3aXRob3V0IGNoYW5nZXMuXG4gICAgICogQGRlZmF1bHQgJ1Vuc2F2ZWQgQ2hhbmdlcydcbiAgICAgKi9cbiAgICBjb25maXJtVW5zYXZlZENoYW5nZXNUaXRsZTogc3RyaW5nLFxuICAgIC8qKlxuICAgICAqIFRoZSB0ZXh0IGZvciBjb25maXJtaW5nIHRvIGxlYXZlIHdpdGhvdXQgY2hhbmdlcy5cbiAgICAgKiBAZGVmYXVsdCBbJ1lvdSBoYXZlIHVuc2F2ZWQgY2hhbmdlcyB0aGF0IHdpbGwgYmUgZGVsZXRlZCB3aGVuIHlvdSBsZWF2ZSB0aGlzIHBhZ2UuJywgJ0NvbnRpbnVlPyddXG4gICAgICovXG4gICAgY29uZmlybVVuc2F2ZWRDaGFuZ2VzVGV4dDogc3RyaW5nW10sXG4gICAgLyoqXG4gICAgICogVGhlIHRpdGxlIGZvciB0aGUgYWRkIGFycmF5IGl0ZW0gZGlhbG9nLlxuICAgICAqIEBkZWZhdWx0ICdBZGQgdG8gYXJyYXknXG4gICAgICovXG4gICAgYWRkQXJyYXlJdGVtVGl0bGU6IHN0cmluZyxcbiAgICAvKipcbiAgICAgKiBUaGUgdGV4dCBmb3IgY29uZmlybWluZyBhIGNyZWF0ZSBhY3Rpb24uXG4gICAgICogQGRlZmF1bHQgWydEbyB5b3UgcmVhbGx5IHdhbnQgdG8gY3JlYXRlIHRoaXMgZW50aXR5PyddXG4gICAgICovXG4gICAgY29uZmlybUNyZWF0ZVRleHQ6IHN0cmluZ1tdLFxuICAgIC8qKlxuICAgICAqIFRoZSB0ZXh0IGZvciBjb25maXJtaW5nIGEgbXVsdGkgc2VsZWN0IGFjdGlvbi5cbiAgICAgKiBAZGVmYXVsdCBzZWxlY3RlZEVudHJpZXMgPT4gW2BEbyB5b3UgcmVhbGx5IHdhbnQgdG8gcnVuIHRoaXMgYWN0aW9uIG9uICR7c2VsZWN0ZWRFbnRyaWVzLmxlbmd0aH0gZW50cmllcz9gXVxuICAgICAqL1xuICAgIGNvbmZpcm1NdWx0aVNlbGVjdEFjdGlvblRleHQ6IChzZWxlY3RlZEVudHJpZXM6IHVua25vd25bXSkgPT4gc3RyaW5nW10sXG4gICAgLyoqXG4gICAgICogVGhlIHRleHQgZm9yIGNvbmZpcm1pbmcgYSBiYXNlIGFjdGlvbi5cbiAgICAgKiBAZGVmYXVsdCBbJ0RvIHlvdSByZWFsbHkgd2FudCB0byBydW4gdGhpcyBhY3Rpb24/J11cbiAgICAgKi9cbiAgICBjb25maXJtQmFzZUFjdGlvblRleHQ6IHN0cmluZ1tdLFxuICAgIC8qKlxuICAgICAqIFRoZSB0ZXh0IGZvciBjb25maXJtaW5nIHRoZSBqc29uIGltcG9ydC5cbiAgICAgKiBAZGVmYXVsdCBbJ0RvIHlvdSByZWFsbHkgd2FudCB0byBpbXBvcnQgZW50aXRpZXMgZnJvbSB0aGUgcHJvdmlkZWQgZmlsZT8nXVxuICAgICAqL1xuICAgIGNvbmZpcm1JbXBvcnRKc29uVGV4dDogc3RyaW5nW10sXG4gICAgLyoqXG4gICAgICogSG93IHRhYmxlIGVudGl0aWVzIGFyZSBlZGl0ZWQgYnkgZGVmYXVsdC5cbiAgICAgKiBAZGVmYXVsdCAnZGlhbG9nJ1xuICAgICAqL1xuICAgIGRlZmF1bHRFZGl0TWV0aG9kOiAnZGlhbG9nJyB8ICdwYWdlJyxcbiAgICAvKipcbiAgICAgKiBIb3cgdGFibGUgZW50aXRpZXMgYXJlIGNyZWF0ZWQgYnkgZGVmYXVsdC5cbiAgICAgKiBAZGVmYXVsdCAnZGlhbG9nJ1xuICAgICAqL1xuICAgIGRlZmF1bHRDcmVhdGVNZXRob2Q6ICdkaWFsb2cnIHwgJ3BhZ2UnLFxuICAgIC8qKlxuICAgICAqIFRoZSBlcnJvciBtZXNzYWdlIHRvIGRpc3BsYXkgd2hlbiBhbiBhcnJheSBwcm9wZXJ0eSBpcyByZXF1aXJlZCBhbmQgZW1wdHkuXG4gICAgICogQGRlZmF1bHQgJ05lZWRzIHRvIGNvbnRhaW4gYXQgbGVhc3Qgb25lIHZhbHVlJ1xuICAgICAqL1xuICAgIGVtcHR5QXJyYXlFcnJvck1lc3NhZ2U6IHN0cmluZyxcbiAgICAvKipcbiAgICAgKiBUaGUgbGFiZWwgZm9yIHJlbW92ZSBhY3Rpb25zLlxuICAgICAqIEBkZWZhdWx0ICdSZW1vdmUnXG4gICAgICovXG4gICAgcmVtb3ZlTGFiZWw6IHN0cmluZyxcbiAgICAvKipcbiAgICAgKiBUaGUgbGFiZWwgZm9yIHRpbWUgdmFsdWVzLlxuICAgICAqIE1haW5seSB1c2VkIGluc2lkZSBkYXRlIHByb3BlcnRpZXMuXG4gICAgICogQGRlZmF1bHQgJ1RpbWUnXG4gICAgICovXG4gICAgdGltZUxhYmVsOiBzdHJpbmcsXG4gICAgLyoqXG4gICAgICogVGhlIGxhYmVsIGZvciB0aGUgZGF0ZSByYW5nZSBzdGFydC5cbiAgICAgKiBAZGVmYXVsdCAnU3RhcnQnXG4gICAgICovXG4gICAgc3RhcnRMYWJlbDogc3RyaW5nLFxuICAgIC8qKlxuICAgICAqIFRoZSBsYWJlbCBmb3IgdGhlIGRhdGUgcmFuZ2UgZW5kLlxuICAgICAqIEBkZWZhdWx0ICdFbmQnXG4gICAgICovXG4gICAgZW5kTGFiZWw6IHN0cmluZyxcbiAgICAvKipcbiAgICAgKiBUaGUgZXJyb3IgdGV4dCBmb3IgZHVwbGljYXRlIGVudHJpZXMgaW5zaWRlIGFuIGFycmF5LlxuICAgICAqIEBkZWZhdWx0IFsnQWRkaW5nIGR1cGxpY2F0ZSBlbnRyaWVzIHRvIHRoZSBhcnJheSBpcyBub3QgYWxsb3dlZC4nXVxuICAgICAqL1xuICAgIGR1cGxpY2F0ZUVycm9yVGV4dDogc3RyaW5nW10sXG4gICAgLyoqXG4gICAgICogVGhlIGVycm9yIHRpdGxlIGZvciBkdXBsaWNhdGUgZW50cmllcyBpbnNpZGUgYW4gYXJyYXkuXG4gICAgICogQGRlZmF1bHQgJ0Vycm9yIGFkZGluZyBkdXBsaWNhdGUgaXRlbSdcbiAgICAgKi9cbiAgICBkdXBsaWNhdGVFcnJvclRpdGxlOiBzdHJpbmcsXG4gICAgLyoqXG4gICAgICogVGhlIHRpdGxlIGZvciBlZGl0aW5nIGFuIGVudGl0aWVzLlxuICAgICAqIEBkZWZhdWx0ICgpID0+ICdFZGl0J1xuICAgICAqL1xuICAgIGVkaXRUaXRsZTogKGVudGl0eTogdW5rbm93bikgPT4gc3RyaW5nLFxuICAgIC8qKlxuICAgICAqIFRoZSBsYWJlbCBmb3IgYW4gc2VsZWN0IGFjdGlvbiwgZWcuIERyb3Bkb3ducy5cbiAgICAgKiBAZGVmYXVsdCAnU2VsZWN0J1xuICAgICAqL1xuICAgIHNlbGVjdExhYmVsOiBzdHJpbmcsXG4gICAgLyoqXG4gICAgICogVGhlIGxhYmVsIGZvciBhbiBcIkFkZCBhbGxcIiBidXR0b24uXG4gICAgICogQGRlZmF1bHQgJ0FkZCBhbGwnXG4gICAgICovXG4gICAgYWRkQWxsTGFiZWw6IHN0cmluZ1xuXG59XG5cblxuLyoqXG4gKiBUaGUgcHJvdmlkZXIgZm9yIGdsb2JhbCBjb25maWd1cmF0aW9uIHZhbHVlcy5cbiAqL1xuZXhwb3J0IGNvbnN0IE5HWF9HTE9CQUxfREVGQVVMVF9WQUxVRVM6IEluamVjdGlvblRva2VuPFBhcnRpYWw8Tmd4R2xvYmFsRGVmYXVsdFZhbHVlcz4+ID0gbmV3IEluamVjdGlvblRva2VuPFBhcnRpYWw8Tmd4R2xvYmFsRGVmYXVsdFZhbHVlcz4+KFxuICAgICdOR1hfR0xPQkFMX0RFRkFVTFRfVkFMVUVTJyxcbiAgICB7XG4gICAgICAgIHByb3ZpZGVkSW46ICdyb290JyxcbiAgICAgICAgZmFjdG9yeTogKCkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHt9O1xuICAgICAgICB9XG4gICAgfVxuKTsiXX0=
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
// eslint-disable-next-line
|
|
1
|
+
// eslint-disable-next-line jsdoc/require-jsdoc
|
|
2
2
|
export const PLACEHOLDER = 'data:image/png;base64,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';
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhY2Vob2xkZXItZGF0YS5wbmcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbWF0ZXJpYWwtZW50aXR5L3NyYy9tb2Nrcy9wbGFjZWhvbGRlci1kYXRhLnBuZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx3REFBd0Q7QUFDeEQsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFXLDRoUUFBNGhRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbWF4LWxlbiwganNkb2MvcmVxdWlyZS1qc2RvY1xuZXhwb3J0IGNvbnN0IFBMQUNFSE9MREVSOiBzdHJpbmcgPSAnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUJMQUFBQU1nQ0FNQUFBQUVQbXN3QUFBQU5sQk1WRVh4OC9YQ3k5TEZ6dFh1OFBQczcvTHA3ZS9XM09ITDB0blozK1BOMU5yUzJkN2k1dXJuNnU3ZjVPakkwTmZjNGViUDF0ems2ZXhjbm9SWkFBQVhoMGxFUVZSNDJ1elVBUTBBQUF6RG9OKy82ZWxvQWlLNEI0Z1FGcEFoTENCRFdFQ0dzSUFNWVFFWndnSXloQVZrQ0F2SUVCYVFJU3dnUTFoQWhyQ0FER0VCR2NJQ01vUUZaQWdMeUJBV2tDRXNJRU5ZUUlhd2dBeGhBUm5DQWpLRUJXUUlDOGdRRnBBaExDQkRXRUNHc0lBTVlRRVp3Z0l5aEFWa0NBdklFQmFRSVN3Z1ExaEFockNBREdFQkdjSUNNb1FGWkFnTHlCQVdrQ0VzSUVOWVFJYXdnQXhoQVJuQ0FqS0VCV1FJQzhnUUZwQWhMR0RzMUFFSkFBQUFnS0QvcjlzUjZBZzNoQVZzQ0F2WUVCYXdJU3hnUTFqQWhyQ0FEV0VCRzhJQ05vUUZiQWdMMkJBV3NDRXNZRU5Zd0lhd2dBMWhBUnZDQWphRUJXd0lDOWdRRnJBaExHQkRXTUNHc0lBTllRRWJ3Z0kyaEFWc0NBdllFQmF3SVN4Z1ExakFockNBRFdFQkc4SUNOb1FGYkFnTDJCQVdzQ0VzWUVOWXdJYXdnQTFoQVJ2Q0FqYUVCV3dJQzlnUUZyQWhMR0JEV01DR3NJQU5ZUUVid2dJMmhBVnNDQXZZRUJiRVRoMlFBQUFBQUFqNi83b2RnWTZRRFdFQkc4SUNOb1FGYkFnTDJCQVdzQ0VzWUVOWXdJYXdnQTFoQVJ2Q0FqYUVCV3dJQzlnUUZyQWhMR0JEV01DR3NJQU5ZUUVid2dJMmhBVnNDQXZZRUJhd0lTeGdRMWpBaHJDQURXRUJHOElDTm9RRmJBZ0wyQkFXc0NFc1lFTll3SWF3Z0ExaEFSdkNBamFFQld3SUM5Z1FGckFoTEdCRFdNQ0dzSUFOWVFFYndnSTJoQVZzQ0F2WUVCYXdJU3hnUTFqQWhyQ0FEV0VCRzhJQ05vUkY3TlFCQ1FBQUFJQ2cvNi9iRWVnSVlVTll3SWF3Z0ExaEFSdkNBamFFQld3SUM5Z1FGckFoTEdCRFdNQ0dzSUFOWVFFYndnSTJoQVZzQ0F2WUVCYXdJU3hnUTFqQWhyQ0FEV0VCRzhJQ05vUUZiQWdMMkJBV3NDRXNZRU5Zd0lhd2dBMWhBUnZDQWphRUJXd0lDOWdRRnJBaExHQkRXTUNHc0lBTllRRWJ3Z0kyaEFWc0NBdllFQmF3SVN4Z1ExakFockNBRFdFQkc4SUNOb1FGYkFnTDJCQVdzQ0VzWUVOWXdJYXdnQTFoeGM2ZEp0Y0tBZ0VVUmdSRXdHbi9tMzJWZDFPcC9JaDNjTzcyZklzNEJVMHJBREVJRmdBeENCWUFNUWdXQURFSUZnQXhDQmJ3bSszYkZPS1E4elNWNHIxM3p2a3k1YTRiWWd4all5dWNoMkFCRDdaSk1SZG5YbklsRHlFMUZZNUhzQURiaG1GeTVsTSt4N0d2Y0NTQ2hYdHJRdWZOQ25YcFFsdmhJQVFMdDJYSE9OVm1FMlZJekxhT1FMQndUMjMwWmxzdUJ5NklleU5ZdUIrYk9tZDI0VHBPV3JzaVdMaVpKaGF6S3o4dzA5b053Y0tkOU5HYkE5U1pnOVkrQ0JadXc0WmlqbE1pRTYzdEVTemNnMDJUT1pxbldWc2pXTGlEcHF2TktYeGtJMzVMQkF2NnBXSk81QVB6ck0wUUxDaG5vek5ubTVqQmI0UmdRYlUybTB1b08zWWR0a0N3b0ZqeTVqcDg1SmkxR3NHQ1dwZksxWDk1ckxBS3dZSlM0WEs1NHBpMUhzR0NTdUg4U2Z1Y2prV0g1UWdXRkxwd3JyNlVWR0VaZ2dWMTByVno5Y1Z4TTF5R1lFR1p0aGdKNm9IUGRoWWdXRkNsdjhqZUZjT3NmUkFzS0dJSEk4ckVOdW1IQ0JiMGlMV1Jodm43WndnV3RHZ3Z1WGoxa2lkWkh5QlkwTUYyUmlxUzlUNkNCUldDdk5zZ3lWcUFZRUdCUnNZcUE4bGFqV0JCUEdsdmczOHJ2QmkrZ1dCQnV2YjZpKzN2bWRqTGVvbGdRVFlkeDZ0dm1lMzNGd2dXUkJPNnl6QnI0QnZEcHdnV0pOTjB2SHFvK1N6NkdZSUZ1UnBseDZzSHg0UGhQSUlGc2FKUmlnZkRXUVFMUXZYaWQ2K1l2bitPWUVHbVVmUnErMnVNc3Y1RXNDQ1N2bWs3bzZ4M0VDd0lwUG82eUNMcEV3UUw4aVRsMTBHMnNtWVJMSWlqL3pySXZYQU93WUl3dmNybHExa1Q3NFcvRVN6SU1tcjUxUGxkZGF6d2cyQkJsR0R1eDdOSCtvTmdRUks1LzBGbStMNEpndldQdmJ2UlNSaUdBakJhQm9xSytQUCtMMnMweEdTajNRaVE5STU3emtOODZicmJsdlZJdG4xbDgvMmNZTEVhcjFtbUdXb09GbG0vQkl1MXlMaDlaWkUxSVZpc1JOTHRLNHVzRWNGaUZZYnZ3dFlpUzdCWWc3emI3V1BmRmxtQ1JYajdiTk9pRmxrTmdrVjhqMzczbFoyc2l3a1c0U1gvUFRpMSs5cGtKbGpFbHVoeWhnc2RNeSt5Qkl2UURvV3BYZUxUaFlKRllNWVo2dkplNFNCWXhEV2t1QXY1R3U5Wjc4a1NMTUlhakY4WmNCZ1JMT0w2TUg1bDczMU1zQWhyYi96SzN2dUVZQkZWNnR0azdMM1hDUlpCdlJVY0xwd1NMR0xTSzNQdkZZSkZTSHJsczdCR3NJaElyM3dXVmdrV0FUbnU3RzlobldBUmoxNzVMR3dRTE1MUks1K0ZMWUpGTkhwMWpkMStrNE5nRVlwZVhlbDVrNEpnRVlsZVhlMjR5VUN3Q0VTdlhEa3pSN0NJeFB6VlRiWUp4dDRGaXpEMHluekRQTUVpRHIzeUN0Z0N3U0tNcjhMdG5oNThJMHV3aU9HMWNBL2J4ejZvSTFpRTRMNCtFMW5MQklzWTNJZHNJdXNDZ2tVSTNwdTRxL2ZIM1hvWExQb2I5T3FYbzRWTEJJc0F2RDk0NHRuQ0JZSkZBTjUzUGpGRHVrQ3c2TzlRK0dQcmZZbGcwZDJ4OE0rdGZyTUVpOTQrQ3lPbTN0c0VpNjVjS0RObDZuMk9ZTkdUQTg5VnB0NWJCSXVPSENDczhyT3dTYkRvYVc5Z3RNYlB3aGJCb2hzRDdrMStGallJRnYwTUJrYmIvQ3lzRVN4Nk1UQTZ6OG5DQ3NHaUV3TllTN3hPY1U2dzZPV2xzTUI0d3c5Nzk0TGRKZ3lFVVhnd0FzZkZML2EvMlo0K1QyempXQ01nbmwvY2J3dHRieHBwTk53aldIZ0xCckJ5TU41d2oyQ3Q0SHp0TCtPeFM2MjFxVHVPcC81YTA2SG5JdGd3K3YwdVRSVUkxcUwyL2REYW8zYjhxTytSUkRrR0d0NWhhR3BBc0paelBiWDJYRHZVYy9JNUV4dXdzckU0K1FiQldzeitJOWtyNlZMUi9YSTVOc3E4U1ZkQnNRaldJZzZENVJuNWJ4WWJHcHdZeVBxUFlDM2lNRnErNCthVHhTZWV2ZGczOHhmQldzQjVNSitqL3MrNU9jNWNFRG94UXZvUHdacnZvelczU3dXSENXWDRSTTY3aVg5T2gyRE5jK2lzUkZML1FWZHVOQlJnNlAwWGdqVlR2L25KWXg5ZUVBWWdYU3lDTmNOdTJQcFVqQk1YaENFby83QWtXS1ZtNzh0TThqYzJYcXhFRGtMNG1RN0JLblpvdDM1ajQ4UUZZUmk2ejNRSVZxbHJ1L2tiR3g4dUNBT1JMUmJCS3ZTRDgwOG5Wb3hHb3JycG5XQ1Z1VElWNDhUS3ZsaEVMMzBJVm9FbDF6bHQ1eHlMbFgyeGFCYUxZSlU0SjE1MytiQ3lMeDdKNVEwRXkyM2h3K09rK05mR2l3UDNpQlNMUmJBS0RMYWtzZGtDRHR3RFNuckx1d21XWDI5bURCNTdNT0VlbEY2eENKYlRHb2N4OVI5ak1lRWVsTnhLUDRMbDF0bHZIR1BsNHBzVGdiVml4U0pZWHIzOXdTK0Z1VmdwRTVsWXNRaVcwNjYxRmNnZEpUaXdVaVkycmQ4S0NaYlR5ZjdpcGpBUE85eWprL28vRnNIeTJkc3RCdDVmWUVWRGZFckZJbGcrZzYzajJGU0xpZEh3aEo1YkVDeVhzMzNHYU1OTGZEUlZnazZ4Q0piTHlUN2pGT3NWSmtaRnlCU0xZSG5zYkQxQzV3Z09lNE1FbFdJUkxJL2U3ckZuK3dzOGVSWWlVaXlDNWRIWmVsSlRJWjQ4NjlDNEt5UllEbnU3eDJUREY5Z3hxa1dpV0FUTDRXSnJPalcxNGNtekZvVmlFU3lIWkd0cW04cnc1Rm1Od0NzZGdwWHZiSThZeFhxR0o4K0M0aGVMWU9YcjdSRTdHNTdnQUV0UytJMStCQ3ZmeWFZd096cUZBeXhSMFl0RnNQSWxlOFFoMWlRT3NHUUZMeGJCeXJhekNReTdUMklDUzFmc2Ira1FyR3dIZTRyUFFOL2lDYUd5ME1VaVdObDZtOEtwK3lOMllHbUwvRTFvZ3BYdFl0TVlIYjNIRGl4eGdZdEZzTElOOWdSYi9HNnh4RjFlM0F0cmdwWHRhTS93L3ZremxyaFhZR2lDSWxqWk9udEFzS2JzT01EU0Y3VllCQ3Ric3JWVjhvZkJrNXdhQkQxUXJlVGZ5UG9JVmg2ZTVOUWk1a2JKT3Y2TmZBdGJYOXpMbVZ3OHlhbkhUL2J1QkR0MUdJYkNzSndSQ09QK04vdDYydk5hcGhMYlNaRXMvOThPMmdPWHlKRmtrMTAyQkZZa0Fpc0dJem1lRE1FZUFpdGFLMDlSRWw1aEpNY1ZnNk1YSHI0amI4RVpWZ1JHY3B5eGwxZ092aVB2MHN0enJHdjRNZExSNEl1NXBaSUVWaVFhUitjeGt1T091Y3UvQ0t4SWpPYk1ZaVRISVdzWFV4QlkwVGJ5blB0ZXZVaU01TGhrYktFZmdSV0o5VEl6Nkdod3l0WjZMQUlyRWd2OFp0RFI0SldwWlRNRVZpUldKTS9aQ1h5eXRHeUd3SXJGSlJTdnNHVFVNME9IcXdSV0xLNzVlb1VkRGE3WkdZUW1zT0x0NUNuTzNFT2d4ZDA1TTU5TkFpc1dWOVcvTWdwY3N6SUlUV0FsNk9VZVIxaWZhSEgzN3h4TUlMQVNuT1NCejVOTlkvOFpHR0JrU0lmQVNqREtEWjgvWWVsWTJsY0ZHME02QkZhS1hoNHcrVXlMZXlVNkN3MmtCRmFLUVc3NWZIT2M3Q0NvZ1lVaEhRSXJSU04zYUhNUHRMalh3MENuSUlHVjVDVDN2TjhETjRlQ3NDYjZMNFlJckNSSHVVWVRWZ2kwdUZkRnZZR1V3RXB6a1AvY1BXeG5vY1c5TWtQUVJHQ2xHdVVLUFExc2NhL09PU2dpc0pJZDVCc25XQi8yZ3Fxb05wQVNXTW1hVnY2QXJUVzAwYmlYdmtMdE1hZ2hzTklOOHNuWFVXWWVacDZycE5pT1JXQmwyTXZhK2xBcVpwNXJ0QTlhQ0t4azM2czFhV2xnNXJsV1UxQkNZT1hZeVFjS1FtYWU2M1VLT2dpc0xBY1JvUVdMZ3JCaVExQkJZR1ZwZW04ejhCa29DS3QyRGhvSXJEekh6dG1Xb1hRVWhIWFQrZHdTV0puR3R2b0RkMmFlNjZaU0dSQll1YmJWWC9aTVFWZzVqWFlzQWl2YnVleXpTeU4vUHdvMmhiY2pzUEp0MjVxZnJ5Z0lvZERjUUdBdE1IWmxqNUV1d0Zaa3FCUUlCTllTeDE2VzZJcDlQMGhCQ0ozbUJnSnJrZVlnK1M3RjlsOVJFRUtwdVlIQVdtaW9ieDRuQkFwQ0tEVTNFRmhMamIzazZBcyt2dUthSEdodGJpQ3dsaHZheWg2dktBaWhkWkVPZ2JXQ1pwSTBsMkwzaTM2WkJGRDU5U1d3VmpGT0tYRlZkRFVZS0FpaDEwMUlZSzBpSWJLbTB1TXFORnlUQTYxNVdBSnJOY2ROTDNPNlRjR3RWMThvQ0tINHFwREFXdFAyMU1udnVrT3hkdy8rb0NDRTVxdENBbXRseDJIcTVGRTdEUTZlclVLZ0lJVHFIRFNCOVFlYTdYQ2FMdnUrYTd1KzMwK25ZVnR3VC9zdENrS292aW9rc0pDQWd2QWZlM2VVNnlnTUJGRzBHaHRDU0F4aC81dWRVV2J5OFo0Q09HQ2dJOTJ6aUpMTHVCdWMrNm1Rd0VJK25vemk5S2xDQWd1NUtJUTQvVk1oZ1lWTUZFS2MvNm1Rd0VJZUNpRWNUQlVTV01oRElZU0RCYVFFRnJKUUNPRmhBU21CaFJ3VVFpd0x2ZTJMd0VJZXRvekN4YjhLQ1N4azRMY1Q4REdqUTJCaEdZVVFUbVowQ0N3c294REN5WXdPZ1lWRkZFSjRtZEVoc0xDRVFnZzNNem9FRnBaUUNQR0owWFpEWUdFUmhSQ2ZHV3d2QkJhV1VBamg2T0tkd01JOENpRStkckY5RUZoWVFDR0VwNHQzQWd0ektJUndkZkZPWUdFT2hSQ3VMdDRKTE15NkN2Qno4VTVnWVU1VkMvRHo0cDNBd3B4QmdLTlZNd1FXSmxFSTRXM1ZESUdGR1JSQytGbzFRMkJoQ29VUTduYThFMWlZZEJIZ2E4YzdnWVVKRkVMNHUzZ25zRENsRmVEczRwM0F3anNVUXJqOHVhcnNDUDIxYTRaMEcrc1lRd2lTUW9peHZvOXBhSnZIcFRJNFJDRkVBVmNyU3Jhci90RU1ZOVNDZUwrMXphTTNPRUloaE1QRkRiSzlWRjA3Qm4ya1RzMlY0NVlQRkVKNFhOd2cyMFBmcEtnSk9hbGxPTnRkZ0wvRkRiTFNxaTdWMnFwT0hVZXRVMUFJOGVSMGNZT3NxS3E3QlJWeWJ6bHBIWTVDaUgrY3ZoK1ZsVk4xbzhvS3Q0YXIrQ05SQ1BIaTgvMm9ySlJyQ3RwRFRBL0RJU2lFMkVleVVtUkZWRzNVZmdLWmRRQUtJWDd5K0g1VVZrQS9CUDFHWm4wdkNpR2VIUDc0UzdiWkplazlNdXM3TlFMKzh2aCtWTFpSbFhTY2tDNkduZlVDbmh5T1FjdTJhWU9PVlRjODBDcU9Rb2ozM08wZmxXM1JSUjB2Sk41bmxVVWh4QVIzWTlDeTlhcWI4bkhNK2c1OUVQRGk3aHBMdGxvWGRDS09XWVZRQ0RIUDFSaTBMSk9mNDlWTDNSbTJvaEJpZ2E5ckxGa2VYOGVyL3lMTmNCc0tJWEk0K28yT2JBVS8vMzhLQTdPR0pZMENmdk0wQmkxYm9mZDAwY0hUckxVb2hEamEzVGFTZmU0UjVjcklDL2dWS0lSLzJMdmI1TlJoR0FyRDU0UnZDQzNzZjdOM09wMDdVeWhKN1BRSHN2VStXNEJ4SXZsSVFia3cyL3prTXJGSCtlbS9WNk1nUktsSWJTeTUwaER6WDgyUlZZZUNFTVVpdGJIa09oOWhQLzYwb3pBc1JrR0lHb0hhV0hLVlE3RDIxWU9SSTZzQ2tWR1VDOVBHa3FjRlRWOXhaUDBSQlNHcVJXbGp5YisxL0ovbXlLckFsbEc4dzJid2F2S0V3R25SZVhkeVdYTW9DUEYybzFlVGk3MTllTERVbFlHZE9hMWtWZEN2bzllU0gvUndYa21iSTBmV1N4U0VpT0htbGVSblRjV3ZwbXozUm9Xd1lSWDBhZlZ1TExuSTBGeUxnMWpXTXdwQ3hISDNPbktKb2NVbjhFajMvUWNLUW9SeTlDcnl0LzdPSzdydkR5Z0lFY3ZKYThoZitqeXZhR1g5MUhwY0JaMVoxOGFTN1c3UEswa2pxOStYbkFTOHdjVXJ5Tzc1dktJdXRFMUJpSkQycmlmYjd1dCs4Tm1HdXBDQ0VCRWRYRTNkbjFlU2R0U0ZGSVNJWnplNGx2eGYxMHNvcVFzbkRKSDNCYUYzVjlkU2l2TksycktSOUtXcmdQYzV1NUxjeWZ6Z29nc2ZCUHZ0SnVCOTZoY21LMDgvbHVZN0JTR2kyYm1PTWsyWU1helQ4UnMwMnZUcEt2S2tzL3B6TlByK2hkR2FtMnNvV1h1RGhBT2Z5VUVvZFNNNjhvUlRyLy9tVHhJT3ZWMEJvMmwzVjVCZk8vUjZYdkdTMWRBblJaREMzdVdVOGZybzAyQUpGc0k0dUpoU2ZrTmx4M1VoTTg4SW8ySkVSMG56eittdkMvdksyS0Z0VjVkU2lnQVdMMW5NUENPeXN3c3BienduODB0VzN6MUtOS2Q0UkVlSkg3NWozdWxDSXU2SVpYUVorZGxIbm9mdkp1c0toeVR2MEdqSTBVWFUyMGJrT3BlVUtWSWk3b2puNUJKS1hpeHNNNlpJT3crdG9FbGxJenBLZUVHWVBVV2E3emRHQzY0dUlKb2IyWHJ2YVM1VjBKaXpseW5MQkNHYi9VZzBJTGJONEVYSzIzQlAybnRQMXFSRVErNWVKUGFOZk5tbXliMnpvd0Z4N2IxRU5HTy9KU2tMY3hiOWFNWEJDNVM3NFo2dUxNeGE5S01OT3k4UXo5NU1rU3gyTkNDMnErY3BmY005MHpoMG4zdjYwWk9iWjRuTG94L3VmWmVGUS9hWGFNUzNFSGdYbDBkNXlzSzh0OEJveDhWelJQbzV6VzFoNmx0Z05HUHZHU0w5bk9XMmtBWVdtakM3ekU4MHNKSXNUK2FoaEVhTW5pWnFoU1I3L2Y2eGR5KzRpUU5CRUVEZFFZRUE0WGYveSs1dWtrMkFZQWtGS1hLWDN6dEVXZTZwNlRIQW9vdVhHalVZWU0xajVZeVBFbjJzYXN6Z1gyRVdLMmNNc0doay9LSEN3Yi9DVFl0akpmRlJvcFZEalJqOEs4eWg5bTRwTXIwYzY3YkJBR3NHL1FaWENHbG1yUEErK0ZjWTlad3l5SnI1SGc0NjJ0Wk5BL0dETEs5NjBkQ212aE5ZTXhoazJjTkJSN2NLN3dKckJvT3MzUUFObmVvYmdaVS95TEtIZzZhV2RVMWd4USt5bkFMVDFxcXVDS3owalRNYW8vVDFXbGNFMWwxMjFaYkdLSTI5MUNXQmRaL1hycU4zQTNkYVc5VUZnWlg5MEtxQk83MDkxd1dCRmIwank4Q2Q3ZzUxVG1BbGQwZzEzT2x2WFdjRVZuQ0hWTU9kQUJlM29BVlc4T2pkb240UzdPcUx3TW9kdmR0elJvWmpmUkpZc2FOM0syVUljZlpUS0xCU1IrOE9DSW14cmY4RVZtanIzUUVoUVRiMVFXQmxqdDRkRUpKazhWVHZCRmJtNk4xRFNFVFoxanVCRmJsd3hwc1RoTm5VRzRHVnVIQkdvWUUwSHorRkFpdndzTkNOWi9KczZ4K0I5VlBibWlxUDBwTm9XWDhKckxqRHdwVkNBNG5lZmdvRlZ0cGg0ZDVLWkRLZHFrcGdQV0N4cnNsUndDTFdza3BnUFdSeU53dWZySEFuMW1KZkFpdnFzRkJla2V4VUFpdnFacUdDTzlHV0F1dFJwd2tkRnRyWVI3YkZYbURsUEdYdlNTL1NuUVJXVEwxQlhwSFBOWTZVdTlBdVBETURhdEVoZDZIbEZkQ2wzaUN2Z0M3MUJua0ZkTGtMYmQ0T2RLazN5Q3VnUzcxQlhnRmQ2ZzM2N1VDVGVvUDd6c0FQSGVvZTlsOEJVN0NyWDdXeVh4Um9VbTlZdTZnQS9HSHZEbk1UaG1Fd2dOWnBGOUxRVXJqL1pmZHZtbUJNREVhYlN1OGRJa3Jzejg1TzRnM1ZlUVc4WmhqalB2K2xBazNwYTl3aHpnQTBKOGVQeEJtQUJzM3hacVAySUxDVFZlLzJMZ0k3YVJZbTA0TkExKzFpRnZvZzNRNTAzUzZhaFo2RHdKZTJGeWNuYVFiZ0xZNHAvbG5WSFFTK2FiajA3bm9GWEdsMlRzZnNJSENyeWRTNzZ4VndxOGxDVmlxdVY4RDdmUndVMjRIZHlQR2EwYVF6c0pycEZNOGJGYStBTmZVbG5uUytkQURyR21vOG9ab2JCTFl3TEtmNGsxTlJhZ2MyTTlVVUQwclpXeERZVmo4L2NtYWxPb3RkQVMyWXloaS9PQmNwQnFBaC9XWEpZNG9yNlp3WGh4WFFwR0U2em5NcE9aZGxtWStUVnlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFQREpIaHdJQUFBQUFBRDV2emFDcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXdCd2NDQUFBQUFFRCtyNDJncXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFpcnN3WUVBQUFBQUFKRC9heU9vcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFrcDdjQ0FBQUFBQUlNamZlcEFyQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFnS2NBblROZWlMZUcxckVBQUFBQVNVVk9SSzVDWUlJPSc7Il19
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhY2Vob2xkZXItZGF0YS5wbmcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbWF0ZXJpYWwtZW50aXR5L3NyYy9tb2Nrcy9wbGFjZWhvbGRlci1kYXRhLnBuZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQ0FBK0M7QUFDL0MsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFXLDRoUUFBNGhRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuZXhwb3J0IGNvbnN0IFBMQUNFSE9MREVSOiBzdHJpbmcgPSAnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUJMQUFBQU1nQ0FNQUFBQUVQbXN3QUFBQU5sQk1WRVh4OC9YQ3k5TEZ6dFh1OFBQczcvTHA3ZS9XM09ITDB0blozK1BOMU5yUzJkN2k1dXJuNnU3ZjVPakkwTmZjNGViUDF0ems2ZXhjbm9SWkFBQVhoMGxFUVZSNDJ1elVBUTBBQUF6RG9OKy82ZWxvQWlLNEI0Z1FGcEFoTENCRFdFQ0dzSUFNWVFFWndnSXloQVZrQ0F2SUVCYVFJU3dnUTFoQWhyQ0FER0VCR2NJQ01vUUZaQWdMeUJBV2tDRXNJRU5ZUUlhd2dBeGhBUm5DQWpLRUJXUUlDOGdRRnBBaExDQkRXRUNHc0lBTVlRRVp3Z0l5aEFWa0NBdklFQmFRSVN3Z1ExaEFockNBREdFQkdjSUNNb1FGWkFnTHlCQVdrQ0VzSUVOWVFJYXdnQXhoQVJuQ0FqS0VCV1FJQzhnUUZwQWhMR0RzMUFFSkFBQUFnS0QvcjlzUjZBZzNoQVZzQ0F2WUVCYXdJU3hnUTFqQWhyQ0FEV0VCRzhJQ05vUUZiQWdMMkJBV3NDRXNZRU5Zd0lhd2dBMWhBUnZDQWphRUJXd0lDOWdRRnJBaExHQkRXTUNHc0lBTllRRWJ3Z0kyaEFWc0NBdllFQmF3SVN4Z1ExakFockNBRFdFQkc4SUNOb1FGYkFnTDJCQVdzQ0VzWUVOWXdJYXdnQTFoQVJ2Q0FqYUVCV3dJQzlnUUZyQWhMR0JEV01DR3NJQU5ZUUVid2dJMmhBVnNDQXZZRUJiRVRoMlFBQUFBQUFqNi83b2RnWTZRRFdFQkc4SUNOb1FGYkFnTDJCQVdzQ0VzWUVOWXdJYXdnQTFoQVJ2Q0FqYUVCV3dJQzlnUUZyQWhMR0JEV01DR3NJQU5ZUUVid2dJMmhBVnNDQXZZRUJhd0lTeGdRMWpBaHJDQURXRUJHOElDTm9RRmJBZ0wyQkFXc0NFc1lFTll3SWF3Z0ExaEFSdkNBamFFQld3SUM5Z1FGckFoTEdCRFdNQ0dzSUFOWVFFYndnSTJoQVZzQ0F2WUVCYXdJU3hnUTFqQWhyQ0FEV0VCRzhJQ05vUkY3TlFCQ1FBQUFJQ2cvNi9iRWVnSVlVTll3SWF3Z0ExaEFSdkNBamFFQld3SUM5Z1FGckFoTEdCRFdNQ0dzSUFOWVFFYndnSTJoQVZzQ0F2WUVCYXdJU3hnUTFqQWhyQ0FEV0VCRzhJQ05vUUZiQWdMMkJBV3NDRXNZRU5Zd0lhd2dBMWhBUnZDQWphRUJXd0lDOWdRRnJBaExHQkRXTUNHc0lBTllRRWJ3Z0kyaEFWc0NBdllFQmF3SVN4Z1ExakFockNBRFdFQkc4SUNOb1FGYkFnTDJCQVdzQ0VzWUVOWXdJYXdnQTFoeGM2ZEp0Y0tBZ0VVUmdSRXdHbi9tMzJWZDFPcC9JaDNjTzcyZklzNEJVMHJBREVJRmdBeENCWUFNUWdXQURFSUZnQXhDQmJ3bSszYkZPS1E4elNWNHIxM3p2a3k1YTRiWWd4all5dWNoMkFCRDdaSk1SZG5YbklsRHlFMUZZNUhzQURiaG1GeTVsTSt4N0d2Y0NTQ2hYdHJRdWZOQ25YcFFsdmhJQVFMdDJYSE9OVm1FMlZJekxhT1FMQndUMjMwWmxzdUJ5NklleU5ZdUIrYk9tZDI0VHBPV3JzaVdMaVpKaGF6S3o4dzA5b053Y0tkOU5HYkE5U1pnOVkrQ0JadXc0WmlqbE1pRTYzdEVTemNnMDJUT1pxbldWc2pXTGlEcHF2TktYeGtJMzVMQkF2NnBXSk81QVB6ck0wUUxDaG5vek5ubTVqQmI0UmdRYlUybTB1b08zWWR0a0N3b0ZqeTVqcDg1SmkxR3NHQ1dwZksxWDk1ckxBS3dZSlM0WEs1NHBpMUhzR0NTdUg4U2Z1Y2prV0g1UWdXRkxwd3JyNlVWR0VaZ2dWMTByVno5Y1Z4TTF5R1lFR1p0aGdKNm9IUGRoWWdXRkNsdjhqZUZjT3NmUkFzS0dJSEk4ckVOdW1IQ0JiMGlMV1Jodm43WndnV3RHZ3Z1WGoxa2lkWkh5QlkwTUYyUmlxUzlUNkNCUldDdk5zZ3lWcUFZRUdCUnNZcUE4bGFqV0JCUEdsdmczOHJ2QmkrZ1dCQnV2YjZpKzN2bWRqTGVvbGdRVFlkeDZ0dm1lMzNGd2dXUkJPNnl6QnI0QnZEcHdnV0pOTjB2SHFvK1N6NkdZSUZ1UnBseDZzSHg0UGhQSUlGc2FKUmlnZkRXUVFMUXZYaWQ2K1l2bitPWUVHbVVmUnErMnVNc3Y1RXNDQ1N2bWs3bzZ4M0VDd0lwUG82eUNMcEV3UUw4aVRsMTBHMnNtWVJMSWlqL3pySXZYQU93WUl3dmNybHExa1Q3NFcvRVN6SU1tcjUxUGxkZGF6d2cyQkJsR0R1eDdOSCtvTmdRUks1LzBGbStMNEpndldQdmJ2UlNSaUdBakJhQm9xSytQUCtMMnMweEdTajNRaVE5STU3emtOODZicmJsdlZJdG4xbDgvMmNZTEVhcjFtbUdXb09GbG0vQkl1MXlMaDlaWkUxSVZpc1JOTHRLNHVzRWNGaUZZYnZ3dFlpUzdCWWc3emI3V1BmRmxtQ1JYajdiTk9pRmxrTmdrVjhqMzczbFoyc2l3a1c0U1gvUFRpMSs5cGtKbGpFbHVoeWhnc2RNeSt5Qkl2UURvV3BYZUxUaFlKRllNWVo2dkplNFNCWXhEV2t1QXY1R3U5Wjc4a1NMTUlhakY4WmNCZ1JMT0w2TUg1bDczMU1zQWhyYi96SzN2dUVZQkZWNnR0azdMM1hDUlpCdlJVY0xwd1NMR0xTSzNQdkZZSkZTSHJsczdCR3NJaElyM3dXVmdrV0FUbnU3RzlobldBUmoxNzVMR3dRTE1MUks1K0ZMWUpGTkhwMWpkMStrNE5nRVlwZVhlbDVrNEpnRVlsZVhlMjR5VUN3Q0VTdlhEa3pSN0NJeFB6VlRiWUp4dDRGaXpEMHluekRQTUVpRHIzeUN0Z0N3U0tNcjhMdG5oNThJMHV3aU9HMWNBL2J4ejZvSTFpRTRMNCtFMW5MQklzWTNJZHNJdXNDZ2tVSTNwdTRxL2ZIM1hvWExQb2I5T3FYbzRWTEJJc0F2RDk0NHRuQ0JZSkZBTjUzUGpGRHVrQ3c2TzlRK0dQcmZZbGcwZDJ4OE0rdGZyTUVpOTQrQ3lPbTN0c0VpNjVjS0RObDZuMk9ZTkdUQTg5VnB0NWJCSXVPSENDczhyT3dTYkRvYVc5Z3RNYlB3aGJCb2hzRDdrMStGallJRnYwTUJrYmIvQ3lzRVN4Nk1UQTZ6OG5DQ3NHaUV3TllTN3hPY1U2dzZPV2xzTUI0d3c5Nzk0TGRKZ3lFVVhnd0FzZkZML2EvMlo0K1QyempXQ01nbmwvY2J3dHRieHBwTk53aldIZ0xCckJ5TU41d2oyQ3Q0SHp0TCtPeFM2MjFxVHVPcC81YTA2SG5JdGd3K3YwdVRSVUkxcUwyL2REYW8zYjhxTytSUkRrR0d0NWhhR3BBc0paelBiWDJYRHZVYy9JNUV4dXdzckU0K1FiQldzeitJOWtyNlZMUi9YSTVOc3E4U1ZkQnNRaldJZzZENVJuNWJ4WWJHcHdZeVBxUFlDM2lNRnErNCthVHhTZWV2ZGczOHhmQldzQjVNSitqL3MrNU9jNWNFRG94UXZvUHdacnZvelczU3dXSENXWDRSTTY3aVg5T2gyRE5jK2lzUkZML1FWZHVOQlJnNlAwWGdqVlR2L25KWXg5ZUVBWWdYU3lDTmNOdTJQcFVqQk1YaENFby83QWtXS1ZtNzh0TThqYzJYcXhFRGtMNG1RN0JLblpvdDM1ajQ4UUZZUmk2ejNRSVZxbHJ1L2tiR3g4dUNBT1JMUmJCS3ZTRDgwOG5Wb3hHb3JycG5XQ1Z1VElWNDhUS3ZsaEVMMzBJVm9FbDF6bHQ1eHlMbFgyeGFCYUxZSlU0SjE1MytiQ3lMeDdKNVEwRXkyM2h3K09rK05mR2l3UDNpQlNMUmJBS0RMYWtzZGtDRHR3RFNuckx1d21XWDI5bURCNTdNT0VlbEY2eENKYlRHb2N4OVI5ak1lRWVsTnhLUDRMbDF0bHZIR1BsNHBzVGdiVml4U0pZWHIzOXdTK0Z1VmdwRTVsWXNRaVcwNjYxRmNnZEpUaXdVaVkycmQ4S0NaYlR5ZjdpcGpBUE85eWprL28vRnNIeTJkc3RCdDVmWUVWRGZFckZJbGcrZzYzajJGU0xpZEh3aEo1YkVDeVhzMzNHYU1OTGZEUlZnazZ4Q0piTHlUN2pGT3NWSmtaRnlCU0xZSG5zYkQxQzV3Z09lNE1FbFdJUkxJL2U3ckZuK3dzOGVSWWlVaXlDNWRIWmVsSlRJWjQ4NjlDNEt5UllEbnU3eDJUREY5Z3hxa1dpV0FUTDRXSnJPalcxNGNtekZvVmlFU3lIWkd0cW04cnc1Rm1Od0NzZGdwWHZiSThZeFhxR0o4K0M0aGVMWU9YcjdSRTdHNTdnQUV0UytJMStCQ3ZmeWFZd096cUZBeXhSMFl0RnNQSWxlOFFoMWlRT3NHUUZMeGJCeXJhekNReTdUMklDUzFmc2Ira1FyR3dIZTRyUFFOL2lDYUd5ME1VaVdObDZtOEtwK3lOMllHbUwvRTFvZ3BYdFl0TVlIYjNIRGl4eGdZdEZzTElOOWdSYi9HNnh4RjFlM0F0cmdwWHRhTS93L3ZremxyaFhZR2lDSWxqWk9udEFzS2JzT01EU0Y3VllCQ3Ric3JWVjhvZkJrNXdhQkQxUXJlVGZ5UG9JVmg2ZTVOUWk1a2JKT3Y2TmZBdGJYOXpMbVZ3OHlhbkhUL2J1QkR0MUdJYkNzSndSQ09QK04vdDYydk5hcGhMYlNaRXMvOThPMmdPWHlKRmtrMTAyQkZZa0Fpc0dJem1lRE1FZUFpdGFLMDlSRWw1aEpNY1ZnNk1YSHI0amI4RVpWZ1JHY3B5eGwxZ092aVB2MHN0enJHdjRNZExSNEl1NXBaSUVWaVFhUitjeGt1T091Y3UvQ0t4SWpPYk1ZaVRISVdzWFV4QlkwVGJ5blB0ZXZVaU01TGhrYktFZmdSV0o5VEl6Nkdod3l0WjZMQUlyRWd2OFp0RFI0SldwWlRNRVZpUldKTS9aQ1h5eXRHeUd3SXJGSlJTdnNHVFVNME9IcXdSV0xLNzVlb1VkRGE3WkdZUW1zT0x0NUNuTzNFT2d4ZDA1TTU5TkFpc1dWOVcvTWdwY3N6SUlUV0FsNk9VZVIxaWZhSEgzN3h4TUlMQVNuT1NCejVOTlkvOFpHR0JrU0lmQVNqREtEWjgvWWVsWTJsY0ZHME02QkZhS1hoNHcrVXlMZXlVNkN3MmtCRmFLUVc3NWZIT2M3Q0NvZ1lVaEhRSXJSU04zYUhNUHRMalh3MENuSUlHVjVDVDN2TjhETjRlQ3NDYjZMNFlJckNSSHVVWVRWZ2kwdUZkRnZZR1V3RXB6a1AvY1BXeG5vY1c5TWtQUVJHQ2xHdVVLUFExc2NhL09PU2dpc0pJZDVCc25XQi8yZ3Fxb05wQVNXTW1hVnY2QXJUVzAwYmlYdmtMdE1hZ2hzTklOOHNuWFVXWWVacDZycE5pT1JXQmwyTXZhK2xBcVpwNXJ0QTlhQ0t4azM2czFhV2xnNXJsV1UxQkNZT1hZeVFjS1FtYWU2M1VLT2dpc0xBY1JvUVdMZ3JCaVExQkJZR1ZwZW04ejhCa29DS3QyRGhvSXJEekh6dG1Xb1hRVWhIWFQrZHdTV0puR3R2b0RkMmFlNjZaU0dSQll1YmJWWC9aTVFWZzVqWFlzQWl2YnVleXpTeU4vUHdvMmhiY2pzUEp0MjVxZnJ5Z0lvZERjUUdBdE1IWmxqNUV1d0Zaa3FCUUlCTllTeDE2VzZJcDlQMGhCQ0ozbUJnSnJrZVlnK1M3RjlsOVJFRUtwdVlIQVdtaW9ieDRuQkFwQ0tEVTNFRmhMamIzazZBcyt2dUthSEdodGJpQ3dsaHZheWg2dktBaWhkWkVPZ2JXQ1pwSTBsMkwzaTM2WkJGRDU5U1d3VmpGT0tYRlZkRFVZS0FpaDEwMUlZSzBpSWJLbTB1TXFORnlUQTYxNVdBSnJOY2ROTDNPNlRjR3RWMThvQ0tINHFwREFXdFAyMU1udnVrT3hkdy8rb0NDRTVxdENBbXRseDJIcTVGRTdEUTZlclVLZ0lJVHFIRFNCOVFlYTdYQ2FMdnUrYTd1KzMwK25ZVnR3VC9zdENrS292aW9rc0pDQWd2QWZlM2VVNnlnTUJGRzBHaHRDU0F4aC81dWRVV2J5OFo0Q09HQ2dJOTJ6aUpMTHVCdWMrNm1Rd0VJK25vemk5S2xDQWd1NUtJUTQvVk1oZ1lWTUZFS2MvNm1Rd0VJZUNpRWNUQlVTV01oRElZU0RCYVFFRnJKUUNPRmhBU21CaFJ3VVFpd0x2ZTJMd0VJZXRvekN4YjhLQ1N4azRMY1Q4REdqUTJCaEdZVVFUbVowQ0N3c294REN5WXdPZ1lWRkZFSjRtZEVoc0xDRVFnZzNNem9FRnBaUUNQR0owWFpEWUdFUmhSQ2ZHV3d2QkJhV1VBamg2T0tkd01JOENpRStkckY5RUZoWVFDR0VwNHQzQWd0ektJUndkZkZPWUdFT2hSQ3VMdDRKTE15NkN2Qno4VTVnWVU1VkMvRHo0cDNBd3B4QmdLTlZNd1FXSmxFSTRXM1ZESUdGR1JSQytGbzFRMkJoQ29VUTduYThFMWlZZEJIZ2E4YzdnWVVKRkVMNHUzZ25zRENsRmVEczRwM0F3anNVUXJqOHVhcnNDUDIxYTRaMEcrc1lRd2lTUW9peHZvOXBhSnZIcFRJNFJDRkVBVmNyU3Jhci90RU1ZOVNDZUwrMXphTTNPRUloaE1QRkRiSzlWRjA3Qm4ya1RzMlY0NVlQRkVKNFhOd2cyMFBmcEtnSk9hbGxPTnRkZ0wvRkRiTFNxaTdWMnFwT0hVZXRVMUFJOGVSMGNZT3NxS3E3QlJWeWJ6bHBIWTVDaUgrY3ZoK1ZsVk4xbzhvS3Q0YXIrQ05SQ1BIaTgvMm9ySlJyQ3RwRFRBL0RJU2lFMkVleVVtUkZWRzNVZmdLWmRRQUtJWDd5K0g1VVZrQS9CUDFHWm4wdkNpR2VIUDc0UzdiWkplazlNdXM3TlFMKzh2aCtWTFpSbFhTY2tDNkduZlVDbmh5T1FjdTJhWU9PVlRjODBDcU9Rb2ozM08wZmxXM1JSUjB2Sk41bmxVVWh4QVIzWTlDeTlhcWI4bkhNK2c1OUVQRGk3aHBMdGxvWGRDS09XWVZRQ0RIUDFSaTBMSk9mNDlWTDNSbTJvaEJpZ2E5ckxGa2VYOGVyL3lMTmNCc0tJWEk0K28yT2JBVS8vMzhLQTdPR0pZMENmdk0wQmkxYm9mZDAwY0hUckxVb2hEamEzVGFTZmU0UjVjcklDL2dWS0lSLzJMdmI1TlJoR0FyRDU0UnZDQzNzZjdOM09wMDdVeWhKN1BRSHN2VStXNEJ4SXZsSVFia3cyL3prTXJGSCtlbS9WNk1nUktsSWJTeTUwaER6WDgyUlZZZUNFTVVpdGJIa09oOWhQLzYwb3pBc1JrR0lHb0hhV0hLVlE3RDIxWU9SSTZzQ2tWR1VDOVBHa3FjRlRWOXhaUDBSQlNHcVJXbGp5YisxL0ovbXlLckFsbEc4dzJid2F2S0V3R25SZVhkeVdYTW9DUEYybzFlVGk3MTllTERVbFlHZE9hMWtWZEN2bzllU0gvUndYa21iSTBmV1N4U0VpT0htbGVSblRjV3ZwbXozUm9Xd1lSWDBhZlZ1TExuSTBGeUxnMWpXTXdwQ3hISDNPbktKb2NVbjhFajMvUWNLUW9SeTlDcnl0LzdPSzdydkR5Z0lFY3ZKYThoZitqeXZhR1g5MUhwY0JaMVoxOGFTN1c3UEswa2pxOStYbkFTOHdjVXJ5Tzc1dktJdXRFMUJpSkQycmlmYjd1dCs4Tm1HdXBDQ0VCRWRYRTNkbjFlU2R0U0ZGSVNJWnplNGx2eGYxMHNvcVFzbkRKSDNCYUYzVjlkU2l2TksycktSOUtXcmdQYzV1NUxjeWZ6Z29nc2ZCUHZ0SnVCOTZoY21LMDgvbHVZN0JTR2kyYm1PTWsyWU1helQ4UnMwMnZUcEt2S2tzL3B6TlByK2hkR2FtMnNvV1h1RGhBT2Z5VUVvZFNNNjhvUlRyLy9tVHhJT3ZWMEJvMmwzVjVCZk8vUjZYdkdTMWRBblJaREMzdVdVOGZybzAyQUpGc0k0dUpoU2ZrTmx4M1VoTTg4SW8ySkVSMG56eittdkMvdksyS0Z0VjVkU2lnQVdMMW5NUENPeXN3c3BienduODB0VzN6MUtOS2Q0UkVlSkg3NWozdWxDSXU2SVpYUVorZGxIbm9mdkp1c0toeVR2MEdqSTBVWFUyMGJrT3BlVUtWSWk3b2puNUJKS1hpeHNNNlpJT3crdG9FbGxJenBLZUVHWVBVV2E3emRHQzY0dUlKb2IyWHJ2YVM1VjBKaXpseW5MQkNHYi9VZzBJTGJONEVYSzIzQlAybnRQMXFSRVErNWVKUGFOZk5tbXliMnpvd0Z4N2IxRU5HTy9KU2tMY3hiOWFNWEJDNVM3NFo2dUxNeGE5S01OT3k4UXo5NU1rU3gyTkNDMnErY3BmY005MHpoMG4zdjYwWk9iWjRuTG94L3VmWmVGUS9hWGFNUzNFSGdYbDBkNXlzSzh0OEJveDhWelJQbzV6VzFoNmx0Z05HUHZHU0w5bk9XMmtBWVdtakM3ekU4MHNKSXNUK2FoaEVhTW5pWnFoU1I3L2Y2eGR5KzRpUU5CRUVEZFFZRUE0WGYveSs1dWtrMkFZQWtGS1hLWDN6dEVXZTZwNlRIQW9vdVhHalVZWU0xajVZeVBFbjJzYXN6Z1gyRVdLMmNNc0doay9LSEN3Yi9DVFl0akpmRlJvcFZEalJqOEs4eWg5bTRwTXIwYzY3YkJBR3NHL1FaWENHbG1yUEErK0ZjWTlad3l5SnI1SGc0NjJ0Wk5BL0dETEs5NjBkQ212aE5ZTXhoazJjTkJSN2NLN3dKckJvT3MzUUFObmVvYmdaVS95TEtIZzZhV2RVMWd4USt5bkFMVDFxcXVDS3owalRNYW8vVDFXbGNFMWwxMjFaYkdLSTI5MUNXQmRaL1hycU4zQTNkYVc5VUZnWlg5MEtxQk83MDkxd1dCRmIwank4Q2Q3ZzUxVG1BbGQwZzEzT2x2WFdjRVZuQ0hWTU9kQUJlM29BVlc4T2pkb240UzdPcUx3TW9kdmR0elJvWmpmUkpZc2FOM0syVUljZlpUS0xCU1IrOE9DSW14cmY4RVZtanIzUUVoUVRiMVFXQmxqdDRkRUpKazhWVHZCRmJtNk4xRFNFVFoxanVCRmJsd3hwc1RoTm5VRzRHVnVIQkdvWUUwSHorRkFpdndzTkNOWi9KczZ4K0I5VlBibWlxUDBwTm9XWDhKckxqRHdwVkNBNG5lZmdvRlZ0cGg0ZDVLWkRLZHFrcGdQV0N4cnNsUndDTFdza3BnUFdSeU53dWZySEFuMW1KZkFpdnFzRkJla2V4VUFpdnFacUdDTzlHV0F1dFJwd2tkRnRyWVI3YkZYbURsUEdYdlNTL1NuUVJXVEwxQlhwSFBOWTZVdTlBdVBETURhdEVoZDZIbEZkQ2wzaUN2Z0M3MUJua0ZkTGtMYmQ0T2RLazN5Q3VnUzcxQlhnRmQ2ZzM2N1VDVGVvUDd6c0FQSGVvZTlsOEJVN0NyWDdXeVh4Um9VbTlZdTZnQS9HSHZEbk1UaG1Fd2dOWnBGOUxRVXJqL1pmZHZtbUJNREVhYlN1OGRJa3Jzejg1TzRnM1ZlUVc4WmhqalB2K2xBazNwYTl3aHpnQTBKOGVQeEJtQUJzM3hacVAySUxDVFZlLzJMZ0k3YVJZbTA0TkExKzFpRnZvZzNRNTAzUzZhaFo2RHdKZTJGeWNuYVFiZ0xZNHAvbG5WSFFTK2FiajA3bm9GWEdsMlRzZnNJSENyeWRTNzZ4VndxOGxDVmlxdVY4RDdmUndVMjRIZHlQR2EwYVF6c0pycEZNOGJGYStBTmZVbG5uUytkQURyR21vOG9ab2JCTFl3TEtmNGsxTlJhZ2MyTTlVVUQwclpXeERZVmo4L2NtYWxPb3RkQVMyWXloaS9PQmNwQnFBaC9XWEpZNG9yNlp3WGh4WFFwR0U2em5NcE9aZGxtWStUVnlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFQREpIaHdJQUFBQUFBRDV2emFDcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXdCd2NDQUFBQUFFRCtyNDJncXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFpcnN3WUVBQUFBQUFKRC9heU9vcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFrcDdjQ0FBQUFBQUlNamZlcEFyQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFnS2NBblROZWlMZUcxckVBQUFBQVNVVk9SSzVDWUlJPSc7Il19
|
package/esm2022/public-api.mjs
CHANGED
|
@@ -47,6 +47,11 @@ export * from './decorators/references-one/references-one-decorator.data';
|
|
|
47
47
|
export * from './decorators/references-one/references-one.decorator';
|
|
48
48
|
export * from './decorators/string/string-decorator.data';
|
|
49
49
|
export * from './decorators/string/string.decorator';
|
|
50
|
+
// directives
|
|
51
|
+
export * from './directives/included-in.directive';
|
|
52
|
+
export * from './directives/number.directive';
|
|
53
|
+
export * from './directives/tooltip.directive';
|
|
54
|
+
export * from './directives/dynamic-style-class.directive';
|
|
50
55
|
// functions
|
|
51
56
|
export * from './functions/get-validation-error-message.function';
|
|
52
57
|
export * from './functions/get-validation-errors-tooltip-content.function.ts';
|
|
@@ -60,4 +65,4 @@ export * from './utilities/file.utilities';
|
|
|
60
65
|
export * from './utilities/validation.utilities';
|
|
61
66
|
// default values
|
|
62
67
|
export * from './global-configuration-values';
|
|
63
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
68
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL25neC1tYXRlcmlhbC1lbnRpdHkvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxVQUFVO0FBQ1YsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxhQUFhO0FBQ2IsY0FBYyxpREFBaUQsQ0FBQztBQUNoRSxjQUFjLHNEQUFzRCxDQUFDO0FBQ3JFLGNBQWMsNENBQTRDLENBQUM7QUFDM0QsY0FBYyxnREFBZ0QsQ0FBQztBQUMvRCxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMsNENBQTRDLENBQUM7QUFDM0QsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyw0REFBNEQsQ0FBQztBQUMzRSxjQUFjLGlFQUFpRSxDQUFDO0FBQ2hGLGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYyw2RUFBNkUsQ0FBQztBQUM1RixjQUFjLGlEQUFpRCxDQUFDO0FBQ2hFLGNBQWMsNkRBQTZELENBQUM7QUFDNUUsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsYUFBYTtBQUNiLGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMsNENBQTRDLENBQUM7QUFHM0QsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsK0NBQStDLENBQUM7QUFDOUQsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsNkRBQTZELENBQUM7QUFDNUUsY0FBYyx3REFBd0QsQ0FBQztBQUN2RSxjQUFjLDJEQUEyRCxDQUFDO0FBQzFFLGNBQWMsc0RBQXNELENBQUM7QUFDckUsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGFBQWE7QUFDYixjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELFlBQVk7QUFDWixjQUFjLG1EQUFtRCxDQUFDO0FBQ2xFLGNBQWMsK0RBQStELENBQUM7QUFDOUUsV0FBVztBQUNYLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxXQUFXO0FBQ1gsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxpQkFBaUI7QUFDakIsY0FBYywrQkFBK0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIG5neC1tYXRlcmlhbC1lbnRpdHkuXG4gKi9cblxuLy8gY2xhc3Nlc1xuZXhwb3J0ICogZnJvbSAnLi9jbGFzc2VzL2VudGl0eS5tb2RlbCc7XG4vLyBjb21wb25lbnRzXG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvY29uZmlybS1kaWFsb2cvY29uZmlybS1kaWFsb2ctZGF0YSc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvY29uZmlybS1kaWFsb2cvY29uZmlybS1kaWFsb2cuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9jcmVhdGUtcGFnZS9jcmVhdGUtZGF0YS5yb3V0ZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvY3JlYXRlLXBhZ2UvY3JlYXRlLXBhZ2UuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9lZGl0LXBhZ2UvZWRpdC1kYXRhLnJvdXRlJztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9lZGl0LXBhZ2UvZWRpdC1wYWdlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvaW5wdXQvYmFzZS1pbnB1dC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2lucHV0L2lucHV0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvaW5wdXQvaW5wdXQubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy90YWJsZS9jcmVhdGUtZGlhbG9nL2NyZWF0ZS1lbnRpdHktZGlhbG9nLWRhdGEnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3RhYmxlL2NyZWF0ZS1kaWFsb2cvY3JlYXRlLWVudGl0eS1kaWFsb2cuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy90YWJsZS9kZWZhdWx0LmFjdGlvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3RhYmxlL2Rpc3BsYXktY29sdW1uLXZhbHVlL2Jhc2UtZGlzcGxheS1jb2x1bW4tdmFsdWUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy90YWJsZS9lZGl0LWRpYWxvZy9lZGl0LWVudGl0eS1kYXRhJztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy90YWJsZS9lZGl0LWRpYWxvZy9lZGl0LWVudGl0eS1kaWFsb2cuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy90YWJsZS90YWJsZS1kYXRhJztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy90YWJsZS90YWJsZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3Rvb2x0aXAvdG9vbHRpcC5jb21wb25lbnQnO1xuLy8gZGVjb3JhdG9yc1xuZXhwb3J0ICogZnJvbSAnLi9kZWNvcmF0b3JzL2FycmF5L2FycmF5LWRlY29yYXRvci5kYXRhJztcbmV4cG9ydCAqIGZyb20gJy4vZGVjb3JhdG9ycy9hcnJheS9hcnJheS5kZWNvcmF0b3InO1xuZXhwb3J0ICogZnJvbSAnLi9kZWNvcmF0b3JzL2Jhc2UvZGVjb3JhdG9yLXR5cGVzLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9kZWNvcmF0b3JzL2Jhc2UvZHJvcGRvd24tdmFsdWUuaW50ZXJmYWNlJztcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG5leHBvcnQgeyBDb2wsIFBvc2l0aW9uIH0gZnJvbSAnLi9kZWNvcmF0b3JzL2Jhc2UvcHJvcGVydHktZGVjb3JhdG9yLmRhdGEnO1xuZXhwb3J0ICogZnJvbSAnLi9kZWNvcmF0b3JzL2Jvb2xlYW4vYm9vbGVhbi1kZWNvcmF0b3IuZGF0YSc7XG5leHBvcnQgKiBmcm9tICcuL2RlY29yYXRvcnMvYm9vbGVhbi9ib29sZWFuLmRlY29yYXRvcic7XG5leHBvcnQgKiBmcm9tICcuL2RlY29yYXRvcnMvY3VzdG9tL2N1c3RvbS1kZWNvcmF0b3IuZGF0YSc7XG5leHBvcnQgKiBmcm9tICcuL2RlY29yYXRvcnMvY3VzdG9tL2N1c3RvbS5kZWNvcmF0b3InO1xuZXhwb3J0ICogZnJvbSAnLi9kZWNvcmF0b3JzL2RhdGUvZGF0ZS1kZWNvcmF0b3IuZGF0YSc7XG5leHBvcnQgKiBmcm9tICcuL2RlY29yYXRvcnMvZGF0ZS9kYXRlLmRlY29yYXRvcic7XG5leHBvcnQgKiBmcm9tICcuL2RlY29yYXRvcnMvZmlsZS9maWxlLWRlY29yYXRvci5kYXRhJztcbmV4cG9ydCAqIGZyb20gJy4vZGVjb3JhdG9ycy9maWxlL2ZpbGUuZGVjb3JhdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vZGVjb3JhdG9ycy9oYXMtbWFueS9oYXMtbWFueS1kZWNvcmF0b3IuZGF0YSc7XG5leHBvcnQgKiBmcm9tICcuL2RlY29yYXRvcnMvaGFzLW1hbnkvaGFzLW1hbnkuZGVjb3JhdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vZGVjb3JhdG9ycy9udW1iZXIvbnVtYmVyLWRlY29yYXRvci5kYXRhJztcbmV4cG9ydCAqIGZyb20gJy4vZGVjb3JhdG9ycy9udW1iZXIvbnVtYmVyLmRlY29yYXRvcic7XG5leHBvcnQgKiBmcm9tICcuL2RlY29yYXRvcnMvb2JqZWN0L29iamVjdC1kZWNvcmF0b3IuZGF0YSc7XG5leHBvcnQgKiBmcm9tICcuL2RlY29yYXRvcnMvb2JqZWN0L29iamVjdC5kZWNvcmF0b3InO1xuZXhwb3J0ICogZnJvbSAnLi9kZWNvcmF0b3JzL3JlZmVyZW5jZXMtbWFueS9yZWZlcmVuY2VzLW1hbnktZGVjb3JhdG9yLmRhdGEnO1xuZXhwb3J0ICogZnJvbSAnLi9kZWNvcmF0b3JzL3JlZmVyZW5jZXMtbWFueS9yZWZlcmVuY2VzLW1hbnkuZGVjb3JhdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vZGVjb3JhdG9ycy9yZWZlcmVuY2VzLW9uZS9yZWZlcmVuY2VzLW9uZS1kZWNvcmF0b3IuZGF0YSc7XG5leHBvcnQgKiBmcm9tICcuL2RlY29yYXRvcnMvcmVmZXJlbmNlcy1vbmUvcmVmZXJlbmNlcy1vbmUuZGVjb3JhdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vZGVjb3JhdG9ycy9zdHJpbmcvc3RyaW5nLWRlY29yYXRvci5kYXRhJztcbmV4cG9ydCAqIGZyb20gJy4vZGVjb3JhdG9ycy9zdHJpbmcvc3RyaW5nLmRlY29yYXRvcic7XG4vLyBkaXJlY3RpdmVzXG5leHBvcnQgKiBmcm9tICcuL2RpcmVjdGl2ZXMvaW5jbHVkZWQtaW4uZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vZGlyZWN0aXZlcy9udW1iZXIuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vZGlyZWN0aXZlcy90b29sdGlwLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2RpcmVjdGl2ZXMvZHluYW1pYy1zdHlsZS1jbGFzcy5kaXJlY3RpdmUnO1xuLy8gZnVuY3Rpb25zXG5leHBvcnQgKiBmcm9tICcuL2Z1bmN0aW9ucy9nZXQtdmFsaWRhdGlvbi1lcnJvci1tZXNzYWdlLmZ1bmN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vZnVuY3Rpb25zL2dldC12YWxpZGF0aW9uLWVycm9ycy10b29sdGlwLWNvbnRlbnQuZnVuY3Rpb24udHMnO1xuLy8gc2VydmljZXNcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvZW50aXR5LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy91bnNhdmVkLWNoYW5nZXMuZ3VhcmQnO1xuLy91dGlsaXRpZXNcbmV4cG9ydCAqIGZyb20gJy4vdXRpbGl0aWVzL2RhdGUudXRpbGl0aWVzJztcbmV4cG9ydCAqIGZyb20gJy4vdXRpbGl0aWVzL2VudGl0eS51dGlsaXRpZXMnO1xuZXhwb3J0ICogZnJvbSAnLi91dGlsaXRpZXMvZmlsZS51dGlsaXRpZXMnO1xuZXhwb3J0ICogZnJvbSAnLi91dGlsaXRpZXMvdmFsaWRhdGlvbi51dGlsaXRpZXMnO1xuLy8gZGVmYXVsdCB2YWx1ZXNcbmV4cG9ydCAqIGZyb20gJy4vZ2xvYmFsLWNvbmZpZ3VyYXRpb24tdmFsdWVzJzsiXX0=
|
|
@@ -267,4 +267,4 @@ export class EntityService {
|
|
|
267
267
|
this.entitiesSubject.next(this.entities);
|
|
268
268
|
}
|
|
269
269
|
}
|
|
270
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbWF0ZXJpYWwtZW50aXR5L3NyYy9zZXJ2aWNlcy9lbnRpdHkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsZUFBZSxFQUFFLGNBQWMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV2RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFFekUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFNUQ7Ozs7O0dBS0c7QUFDSCxNQUFNLE9BQWdCLGFBQWE7SUE0REE7SUFBcUM7SUE3Q3BFOztPQUVHO0lBQ00sYUFBYSxHQUFXLFVBQVUsQ0FBQztJQUU1Qzs7T0FFRztJQUNNLGVBQWUsR0FBVyxpQkFBaUIsQ0FBQztJQUVyRDs7O09BR0c7SUFDTSxLQUFLLEdBQXFCLElBQXdCLENBQUM7SUFFNUQ7OztPQUdHO0lBQ00sZUFBZSxHQUFrQyxJQUFJLGVBQWUsQ0FBZSxFQUFFLENBQUMsQ0FBQztJQUdoRzs7Ozs7O09BTUc7SUFDZ0IscUJBQXFCLEdBQVcsTUFBTSxDQUFDO0lBRTFEOzs7T0FHRztJQUNILElBQUksUUFBUTtRQUNSLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUM7SUFDdEMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsUUFBUSxDQUFRO0lBRWhCLFlBQStCLElBQWdCLEVBQXFCLFFBQTZCO1FBQWxFLFNBQUksR0FBSixJQUFJLENBQVk7UUFBcUIsYUFBUSxHQUFSLFFBQVEsQ0FBcUI7SUFBRyxDQUFDO0lBRXJHOzs7Ozs7O09BT0c7SUFDSCxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQWtC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QVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUM1RixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDN0MsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEVudmlyb25tZW50SW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgZmlyc3RWYWx1ZUZyb20gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEJhc2VFbnRpdHlUeXBlIH0gZnJvbSAnLi4vY2xhc3Nlcy9lbnRpdHkubW9kZWwnO1xuaW1wb3J0IHsgRGVjb3JhdG9yVHlwZXMgfSBmcm9tICcuLi9kZWNvcmF0b3JzL2Jhc2UvZGVjb3JhdG9yLXR5cGVzLmVudW0nO1xuaW1wb3J0IHsgRmlsZURhdGEgfSBmcm9tICcuLi9kZWNvcmF0b3JzL2ZpbGUvZmlsZS1kZWNvcmF0b3IuZGF0YSc7XG5pbXBvcnQgeyBMb2Rhc2hVdGlsaXRpZXMgfSBmcm9tICcuLi9lbmNhcHN1bGF0aW9uL2xvZGFzaC51dGlsaXRpZXMnO1xuaW1wb3J0IHsgRW50aXR5VXRpbGl0aWVzIH0gZnJvbSAnLi4vdXRpbGl0aWVzL2VudGl0eS51dGlsaXRpZXMnO1xuaW1wb3J0IHsgRmlsZVV0aWxpdGllcyB9IGZyb20gJy4uL3V0aWxpdGllcy9maWxlLnV0aWxpdGllcyc7XG5cbi8qKlxuICogQSBnZW5lcmljIEVudGl0eVNlcnZpY2UgY2xhc3MuXG4gKiBPZmZlcnMgYmFzaWMgQ1JVRC1mdW5jdGlvbmFsaXR5LlxuICogWW91IHNob3VsZCBjcmVhdGUgYSBzZXJ2aWNlIGZvciBldmVyeSBFbnRpdHkgeW91IGhhdmUuXG4gKiBJZiB5b3UgZXh0ZW5kIGZyb20gdGhpcyB5b3UgbmVlZCB0byBtYWtlIHN1cmUgdGhhdCB0aGUgZXh0ZW5kZWQgU2VydmljZSBjYW4gYmUgaW5qZWN0ZWQuXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBFbnRpdHlTZXJ2aWNlPEVudGl0eVR5cGUgZXh0ZW5kcyBCYXNlRW50aXR5VHlwZTxFbnRpdHlUeXBlPj4ge1xuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIHVybCB1c2VkIGZvciBhcGkgcmVxdWVzdHMuIElmIHUgd2FudCB0byBoYXZlIG1vcmUgY29udHJvbCBvdmVyIHRoaXMsXG4gICAgICogeW91IGNhbiBvdmVycmlkZSB0aGUgY3JlYXRlLCByZWFkLCB1cGRhdGUgYW5kIGRlbGV0ZSBtZXRob2RzLlxuICAgICAqXG4gICAgICogQ3JlYXRlIFNlbmRzIGEgUE9TVC1SZXF1ZXN0IHRvIGJhc2VVcmwuXG4gICAgICpcbiAgICAgKiBSZWFkIFNlbmRzIGEgR0VULVJlcXVlc3QgdG8gYmFzZVVybC5cbiAgICAgKlxuICAgICAqIFVwZGF0ZSBTZW5kcyBhIFBBVENILVJlcXVlc3QgdG8gYmFzZVVybC97aWR9LlxuICAgICAqXG4gICAgICogRGVsZXRlIFNlbmRzIGEgREVMLVJlcXVlc3QgdG8gYmFzZVVybC97aWR9LlxuICAgICAqL1xuICAgIGFic3RyYWN0IHJlYWRvbmx5IGJhc2VVcmw6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIFRoZSBkZWZhdWx0IHJvdXRlIHNlZ21lbnQgdGhhdCBjb21lcyBiZWZvcmUgdGhlIGlkIHdoZW4gZWRpdGluZyBhbiBlbnRpdHkgaW4gYSBzZXBhcmF0ZSBwYWdlLCBpZiBubyBleHRyYSByb3V0ZSBoYXMgYmVlbiBwcm92aWRlZC5cbiAgICAgKi9cbiAgICByZWFkb25seSBlZGl0QmFzZVJvdXRlOiBzdHJpbmcgPSAnZW50aXRpZXMnO1xuXG4gICAgLyoqXG4gICAgICogVGhlIGNvbXBsZXRlIHJvdXRlIHRoYXQgaXMgdXNlZCB0byBjcmVhdGUgYW4gZW50aXR5IGluIGEgc2VwYXJhdGUgcGFnZSwgaWYgbm8gZXh0cmEgcm91dGUgaGFzIGJlZW4gcHJvdmlkZWQuXG4gICAgICovXG4gICAgcmVhZG9ubHkgY3JlYXRlQmFzZVJvdXRlOiBzdHJpbmcgPSAnZW50aXRpZXMvY3JlYXRlJztcblxuICAgIC8qKlxuICAgICAqIFRoZSBrZXkgd2hpY2ggaG9sZHMgdGhlIGlkIHZhbHVlLlxuICAgICAqIEBkZWZhdWx0ICdpZCdcbiAgICAgKi9cbiAgICByZWFkb25seSBpZEtleToga2V5b2YgRW50aXR5VHlwZSA9ICdpZCcgYXMga2V5b2YgRW50aXR5VHlwZTtcblxuICAgIC8qKlxuICAgICAqIEEgc3ViamVjdCBvZiBhbGwgdGhlIGVudGl0eSB2YWx1ZXMuXG4gICAgICogQ2FuIGJlIHN1YnNjcmliZWQgdG8gd2hlbiB5b3Ugd2FudCB0byBkbyBhIHNwZWNpZmljIHRoaW5nIHdoZW5ldmVyIHRoZSBlbnRpdGllcyBjaGFuZ2UuXG4gICAgICovXG4gICAgcmVhZG9ubHkgZW50aXRpZXNTdWJqZWN0OiBCZWhhdmlvclN1YmplY3Q8RW50aXR5VHlwZVtdPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8RW50aXR5VHlwZVtdPihbXSk7XG5cblxuICAgIC8qKlxuICAgICAqIFdoZW4gZnJlcXVlbnRseSB0cnlpbmcgdG8gZmluZCBhIHNpbmdsZSBlbnRpdHkgYnkgYW4gaWQgKGVnLiBXaGVuIG5lc3RpbmcgcmVsYXRpb25zKVxuICAgICAqIHlvdSBtaWdodCBzZW5kIGEgbG90IG9mIHVubmVjZXNzYXJ5IHJlcXVlc3RzLlxuICAgICAqIFRoZXJlZm9yZSB0aGUgZmluZEJ5SWQgbWV0aG9kIHRyaWVzIHRvIGxvb2sgaW4gdGhlIGFscmVhZHkgZXhpc3RpbmcgZW50aXRpZXMgZmlyc3QsXG4gICAgICogSUYgdGhlIGVudGl0aWVzIGhhdmUgYmVlbiByZXF1ZXN0ZWQgaW4gdGhlIGxhc3QgUkVBRF9FWFBJUkFUSU9OX0lOX01TIG1pbGxpc2Vjb25kcy5cbiAgICAgKiBAZGVmYXVsdCA5MDAwMDAgKDUgbWludXRlcylcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgUkVBRF9FWFBJUkFUSU9OX0lOX01TOiBudW1iZXIgPSA5MDAwMDA7XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSBlbnRpdGllcyBpbiBhbiBhcnJheSBmcm9tIHRoZSBpbnRlcm5hbCBlbnRpdGllc1N1YmplY3QuXG4gICAgICogQHJldHVybnMgVGhlIGN1cnJlbnQgZW50aXRpZXMgaW4gZm9ybSBvZiBhbiBhcnJheS5cbiAgICAgKi9cbiAgICBnZXQgZW50aXRpZXMoKTogRW50aXR5VHlwZVtdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZW50aXRpZXNTdWJqZWN0LnZhbHVlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBsYXN0IHRpbWUgdGhhdCB0aGUgZW50aXRpZXMgaGF2ZSBiZWVuIHJlcXVlc3RlZCBmcm9tIHRoZSBhcGkuXG4gICAgICovXG4gICAgbGFzdFJlYWQ/OiBEYXRlO1xuXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIHJlYWRvbmx5IGh0dHA6IEh0dHBDbGllbnQsIHByb3RlY3RlZCByZWFkb25seSBpbmplY3RvcjogRW52aXJvbm1lbnRJbmplY3Rvcikge31cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBuZXcgRW50aXR5IGFuZCBwdXNoZXMgaXQgdG8gdGhlIGVudGl0aWVzIGFycmF5LlxuICAgICAqIEBwYXJhbSBlbnRpdHkgLSBUaGUgZGF0YSBvZiB0aGUgZW50aXR5IHRvIGNyZWF0ZS5cbiAgICAgKiBBbGwgdmFsdWVzIHRoYXQgc2hvdWxkIGJlIG9taXR0ZWQgd2lsbCBiZSByZW1vdmVkIGZyb20gaXQgaW5zaWRlIHRoaXMgbWV0aG9kLlxuICAgICAqIEBwYXJhbSBiYXNlVXJsIC0gVGhlIGJhc2UgdXJsIHRvIHNlbmQgdGhlIHBvc3QgcmVxdWVzdCB0by5cbiAgICAgKiBUaGlzIGNhbiBiZSB1c2VkIGlmIHlvdSB3YW50IHRvIGNyZWF0ZSBhbiBlbnRpdHkgYmVsb25naW5nIHRvIGFub3RoZXIsIGxpa2UgXCJjdXN0b21lcnMve2lkfS9pbnZvaWNlc1wiLlxuICAgICAqIEByZXR1cm5zIEEgUHJvbWlzZSBvZiB0aGUgY3JlYXRlZCBlbnRpdHkuXG4gICAgICovXG4gICAgYXN5bmMgY3JlYXRlKGVudGl0eTogRW50aXR5VHlwZSwgYmFzZVVybDogc3RyaW5nID0gdGhpcy5iYXNlVXJsKTogUHJvbWlzZTxFbnRpdHlUeXBlPiB7XG4gICAgICAgIGNvbnN0IGJvZHk6IFBhcnRpYWw8RW50aXR5VHlwZT4gPSBFbnRpdHlVdGlsaXRpZXMuZ2V0V2l0aG91dE9taXRDcmVhdGVWYWx1ZXMoZW50aXR5KTtcbiAgICAgICAgY29uc3QgZmlsZVByb3BlcnR5S2V5czogKGtleW9mIEVudGl0eVR5cGUpW10gPSBFbnRpdHlVdGlsaXRpZXMuZ2V0RmlsZVByb3BlcnRpZXMoZW50aXR5KTtcbiAgICAgICAgaWYgKCFmaWxlUHJvcGVydHlLZXlzLmxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuY3JlYXRlV2l0aEpzb24oYm9keSwgYmFzZVVybCk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5jcmVhdGVXaXRoRm9ybURhdGEoYm9keSwgZmlsZVByb3BlcnR5S2V5cywgZW50aXR5LCBiYXNlVXJsKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFRPRE86IEZpbmQgYSB3YXkgdG8gdXNlIGJsb2JzIHdpdGggamVzdFxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgLyoqXG4gICAgICogSW1wb3J0cyBldmVyeXRoaW5nIGZyb20gdGhlIHByb3ZpZGVkIGpzb24gZmlsZS5cbiAgICAgKiBAcGFyYW0gZmlsZSAtIFRoZSBqc29uIGZpbGUgdG8gaW1wb3J0IGZyb20uXG4gICAgICogQHJldHVybnMgQWxsIGVudGl0aWVzIHRoYXQgaGF2ZSBiZWVuIGltcG9ydGVkLlxuICAgICAqL1xuICAgIGFzeW5jIGltcG9ydChmaWxlOiBGaWxlKTogUHJvbWlzZTxFbnRpdHlUeXBlW10+IHtcbiAgICAgICAgY29uc3QgZm9ybURhdGE6IEZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCk7XG4gICAgICAgIGZvcm1EYXRhLmFwcGVuZCgnaW1wb3J0JywgZmlsZSk7XG4gICAgICAgIGNvbnN0IHJlc3VsdDogRW50aXR5VHlwZVtdID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20odGhpcy5odHRwLnBvc3Q8RW50aXR5VHlwZVtdPihgJHt0aGlzLmJhc2VVcmx9L2ltcG9ydGAsIGZvcm1EYXRhKSk7XG4gICAgICAgIHRoaXMuZW50aXRpZXMucHVzaCguLi5yZXN1bHQpO1xuICAgICAgICB0aGlzLmVudGl0aWVzU3ViamVjdC5uZXh0KHRoaXMuZW50aXRpZXMpO1xuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIC8vIFRPRE86IEZpbmQgYSB3YXkgdG8gdXNlIGJsb2JzIHdpdGggamVzdFxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyB0aGUgZW50aXR5IHdpdGggZm9ybSBkYXRhIHdoZW4gdGhlIGVudGl0eSBjb250YWlucyBmaWxlcyBpbiBjb250cmFzdCB0byBjcmVhdGluZyBpdCB3aXRoIGEgbm9ybWFsIGpzb24gYm9keS5cbiAgICAgKiBBbGwgZmlsZSB2YWx1ZXMgYXJlIHN0b3JlZCBpbnNpZGUgdGhlaXIgcmVzcGVjdGl2ZSBwcm9wZXJ0eSBrZXkgYW5kIHRoZWlyIG5hbWUuXG4gICAgICogRm9ybSBkYXRhIGlzIGFibGUgdG8gaGFuZGxlIHNldHRpbmcgbXVsdGlwbGUgZmlsZXMgdG8gdGhlIHNhbWUga2V5LlxuICAgICAqIEBwYXJhbSBib2R5IC0gVGhlIGJvZHkgT2YgdGhlIHJlcXVlc3QuXG4gICAgICogQHBhcmFtIGZpbGVQcm9wZXJ0eUtleXMgLSBBbGwgcHJvcGVydHkga2V5cyB0aGF0IGFyZSBmaWxlcyBhbmQgbmVlZCB0byBiZSBhZGRlZCB0byB0aGUgZm9ybSBkYXRhLlxuICAgICAqIEBwYXJhbSBlbnRpdHkgLSBUaGUgZW50aXR5IHRvIGNyZWF0ZS4gVGhpcyBpcyBuZWVkZWQgaW4gYWRkaXRpb24gdG8gdGhlIGJvZHkgYmVjYXVzZSB0aGUgYm9keSBkb2Vzbid0IGNvbnRhaW4gYW55IG1ldGFkYXRhLlxuICAgICAqIEBwYXJhbSBiYXNlVXJsIC0gVGhlIGJhc2UgdXJsIHRvIHNlbmQgdGhlIHBvc3QgcmVxdWVzdCB0by5cbiAgICAgKiBUaGlzIGNhbiBiZSB1c2VkIGlmIHlvdSB3YW50IHRvIGNyZWF0ZSBhbiBlbnRpdHkgYmVsb25naW5nIHRvIGFub3RoZXIsIGxpa2UgXCJjdXN0b21lcnMve2lkfS9pbnZvaWNlc1wiLlxuICAgICAqIEByZXR1cm5zIFRoZSBjcmVhdGVkIGVudGl0eSBmcm9tIHRoZSBzZXJ2ZXIuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGFzeW5jIGNyZWF0ZVdpdGhGb3JtRGF0YShcbiAgICAgICAgYm9keTogUGFydGlhbDxFbnRpdHlUeXBlPixcbiAgICAgICAgZmlsZVByb3BlcnR5S2V5czogKGtleW9mIEVudGl0eVR5cGUpW10sXG4gICAgICAgIGVudGl0eTogRW50aXR5VHlwZSxcbiAgICAgICAgYmFzZVVybDogc3RyaW5nID0gdGhpcy5iYXNlVXJsXG4gICAgKTogUHJvbWlzZTxFbnRpdHlUeXBlPiB7XG4gICAgICAgIGNvbnN0IGZvcm1EYXRhOiBGb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpO1xuICAgICAgICBmb3JtRGF0YS5hcHBlbmQoJ2JvZHknLCBKU09OLnN0cmluZ2lmeShMb2Rhc2hVdGlsaXRpZXMub21pdChib2R5LCBmaWxlUHJvcGVydHlLZXlzKSkpO1xuICAgICAgICBmb3IgKGNvbnN0IGtleSBvZiBmaWxlUHJvcGVydHlLZXlzKSB7XG4gICAgICAgICAgICBpZiAoRW50aXR5VXRpbGl0aWVzLmdldFByb3BlcnR5TWV0YWRhdGEoZW50aXR5LCBrZXksIERlY29yYXRvclR5cGVzLkZJTEVfREVGQVVMVCkubXVsdGlwbGUpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBmaWxlRGF0YVZhbHVlczogRmlsZURhdGFbXSA9IGJvZHlba2V5XSBhcyBGaWxlRGF0YVtdO1xuICAgICAgICAgICAgICAgIGZvciAoY29uc3QgdmFsdWUgb2YgZmlsZURhdGFWYWx1ZXMpIHtcbiAgICAgICAgICAgICAgICAgICAgZm9ybURhdGEuYXBwZW5kKGtleSBhcyBzdHJpbmcsIChhd2FpdCBGaWxlVXRpbGl0aWVzLmdldEZpbGVEYXRhKHZhbHVlLCB0aGlzLmh0dHApKS5maWxlLCB2YWx1ZS5uYW1lKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb25zdCBmaWxlRGF0YTogRmlsZURhdGEgPSBib2R5W2tleV0gYXMgRmlsZURhdGE7XG4gICAgICAgICAgICAgICAgZm9ybURhdGEuYXBwZW5kKGtleSBhcyBzdHJpbmcsIChhd2FpdCBGaWxlVXRpbGl0aWVzLmdldEZpbGVEYXRhKGZpbGVEYXRhLCB0aGlzLmh0dHApKS5maWxlLCBmaWxlRGF0YS5uYW1lKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBjb25zdCBlOiBFbnRpdHlUeXBlIHwgdW5kZWZpbmVkID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20odGhpcy5odHRwLnBvc3Q8RW50aXR5VHlwZSB8IHVuZGVmaW5lZD4oYmFzZVVybCwgZm9ybURhdGEpKTtcbiAgICAgICAgaWYgKCFlKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFxuICAgICAgICAgICAgICAgIFRoZSBjcmVhdGVkIGVudGl0eSB3YXMgbm90IHJldHVybmVkIGluIHRoZSByZXNwb25zZS5cbiAgICAgICAgICAgICAgICBJZiB5b3Ugd2FudCB0byBwcm92aWRlIGEgbG9naWMgdGhhdCBhbGxvd3MgdGhhdFxuICAgICAgICAgICAgICAgIHlvdSBuZWVkIHRvIG92ZXJyaWRlIHRoZSBjcmVhdGUgbWV0aG9kcyBvZiB0aGlzIGNsYXNzLlxuICAgICAgICAgICAgYCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5lbnRpdGllcy5wdXNoKGUpO1xuICAgICAgICB0aGlzLmVudGl0aWVzU3ViamVjdC5uZXh0KHRoaXMuZW50aXRpZXMpO1xuICAgICAgICByZXR1cm4gZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIHRoZSBlbnRpdHkgd2l0aCBhIG5vcm1hbCBqc29uIGJvZHkgaW4gY29udHJhc3QgdG8gY3JlYXRpbmcgaXQgd2l0aCBmb3JtIGRhdGEgd2hlbiB0aGUgZW50aXR5IGNvbnRhaW5zIGZpbGVzLlxuICAgICAqIEBwYXJhbSBib2R5IC0gVGhlIGJvZHkgT2YgdGhlIHJlcXVlc3QuXG4gICAgICogQHBhcmFtIGJhc2VVcmwgLSBUaGUgYmFzZSB1cmwgdG8gc2VuZCB0aGUgcG9zdCByZXF1ZXN0IHRvLlxuICAgICAqIFRoaXMgY2FuIGJlIHVzZWQgaWYgeW91IHdhbnQgdG8gY3JlYXRlIGFuIGVudGl0eSBiZWxvbmdpbmcgdG8gYW5vdGhlciwgbGlrZSBcImN1c3RvbWVycy97aWR9L2ludm9pY2VzXCIuXG4gICAgICogQHJldHVybnMgVGhlIGNyZWF0ZWQgZW50aXR5IGZyb20gdGhlIHNlcnZlci5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgYXN5bmMgY3JlYXRlV2l0aEpzb24oYm9keTogUGFydGlhbDxFbnRpdHlUeXBlPiwgYmFzZVVybDogc3RyaW5nID0gdGhpcy5iYXNlVXJsKTogUHJvbWlzZTxFbnRpdHlUeXBlPiB7XG4gICAgICAgIGNvbnN0IGU6IEVudGl0eVR5cGUgfCB1bmRlZmluZWQgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbSh0aGlzLmh0dHAucG9zdDxFbnRpdHlUeXBlIHwgdW5kZWZpbmVkPihiYXNlVXJsLCBib2R5KSk7XG4gICAgICAgIGlmICghZSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBcbiAgICAgICAgICAgICAgICBUaGUgY3JlYXRlZCBlbnRpdHkgd2FzIG5vdCByZXR1cm5lZCBpbiB0aGUgcmVzcG9uc2UuXG4gICAgICAgICAgICAgICAgSWYgeW91IHdhbnQgdG8gcHJvdmlkZSBhIGxvZ2ljIHRoYXQgYWxsb3dzIHRoYXRcbiAgICAgICAgICAgICAgICB5b3UgbmVlZCB0byBvdmVycmlkZSB0aGUgY3JlYXRlIG1ldGhvZHMgb2YgdGhpcyBjbGFzcy5cbiAgICAgICAgICAgIGApO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuZW50aXRpZXMucHVzaChlKTtcbiAgICAgICAgdGhpcy5lbnRpdGllc1N1YmplY3QubmV4dCh0aGlzLmVudGl0aWVzKTtcbiAgICAgICAgcmV0dXJuIGU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyBhbGwgZXhpc3RpbmcgZW50aXRpZXMgYW5kIHB1c2hlcyB0aGVtIHRvIHRoZSBlbnRpdGllcyBhcnJheS5cbiAgICAgKiBAcGFyYW0gYmFzZVVybCAtIFRoZSBiYXNlIHVybCBmb3IgdGhlIHJlcXVlc3QuIERlZmF1bHRzIHRvIHRoZSBiYXNlVXJsIG9uIHRoZSBzZXJ2aWNlLlxuICAgICAqIEByZXR1cm5zIEEgUHJvbWlzZSBvZiBhbGwgcmVjZWl2ZWQgRW50aXRpZXMuXG4gICAgICovXG4gICAgYXN5bmMgcmVhZChiYXNlVXJsID0gdGhpcy5iYXNlVXJsKTogUHJvbWlzZTxFbnRpdHlUeXBlW10+IHtcbiAgICAgICAgY29uc3QgZTogRW50aXR5VHlwZVtdID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20odGhpcy5odHRwLmdldDxFbnRpdHlUeXBlW10+KGJhc2VVcmwpKTtcbiAgICAgICAgdGhpcy5lbnRpdGllc1N1YmplY3QubmV4dChlKTtcbiAgICAgICAgdGhpcy5sYXN0UmVhZCA9IG5ldyBEYXRlKCk7XG4gICAgICAgIHJldHVybiBlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRyaWVzIHRvIGZpbmQgYW4gZW50aXR5IHdpdGggdGhlIGdpdmVuIGlkLlxuICAgICAqIEBwYXJhbSBpZCAtIFRoZSBpZCBvZiB0aGUgZW50aXR5IHRvIGZpbmQuXG4gICAgICogQHJldHVybnMgVGhlIGZvdW5kIGVudGl0eS5cbiAgICAgKi9cbiAgICBhc3luYyBmaW5kQnlJZChpZDogRW50aXR5VHlwZVtrZXlvZiBFbnRpdHlUeXBlXSk6IFByb21pc2U8RW50aXR5VHlwZT4ge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgICB0aGlzLmxhc3RSZWFkID09IG51bGxcbiAgICAgICAgICAgIHx8IChuZXcgRGF0ZSgpLmdldFRpbWUoKSAtIHRoaXMubGFzdFJlYWQuZ2V0VGltZSgpKSA+IHRoaXMuUkVBRF9FWFBJUkFUSU9OX0lOX01TXG4gICAgICAgICkge1xuICAgICAgICAgICAgcmV0dXJuIGZpcnN0VmFsdWVGcm9tKHRoaXMuaHR0cC5nZXQ8RW50aXR5VHlwZT4oYCR7dGhpcy5iYXNlVXJsfS8ke2lkfWApKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5lbnRpdGllcy5maW5kKGUgPT4gZVt0aGlzLmlkS2V5XSA9PT0gaWQpID8/IGZpcnN0VmFsdWVGcm9tKHRoaXMuaHR0cC5nZXQ8RW50aXR5VHlwZT4oYCR7dGhpcy5iYXNlVXJsfS8ke2lkfWApKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBVcGRhdGVzIGEgc3BlY2lmaWMgRW50aXR5LlxuICAgICAqIEBwYXJhbSBlbnRpdHkgLSBUaGUgdXBkYXRlZCBFbnRpdHlcbiAgICAgKiBBbGwgdmFsdWVzIHRoYXQgc2hvdWxkIGJlIG9taXR0ZWQgd2lsbCBiZSByZW1vdmVkIGZyb20gaXQgaW5zaWRlIHRoaXMgbWV0aG9kLlxuICAgICAqIEBwYXJhbSBlbnRpdHlQcmlvckNoYW5nZXMgLSBUaGUgY3VycmVudCBFbnRpdHkuXG4gICAgICogSXQgSXMgdXNlZCB0byBnZXQgY2hhbmdlZCB2YWx1ZXMgYW5kIG9ubHkgdXBkYXRlIHRoZW0gaW5zdGVhZCBvZiBzZW5kaW5nIHRoZSB3aG9sZSBlbnRpdHkgZGF0YS5cbiAgICAgKi9cbiAgICBhc3luYyB1cGRhdGUoZW50aXR5OiBFbnRpdHlUeXBlLCBlbnRpdHlQcmlvckNoYW5nZXM6IEVudGl0eVR5cGUpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgY29uc3QgZmlsZVByb3BlcnR5S2V5czogKGtleW9mIEVudGl0eVR5cGUpW10gPSBFbnRpdHlVdGlsaXRpZXMuZ2V0RmlsZVByb3BlcnRpZXMoZW50aXR5UHJpb3JDaGFuZ2VzKTtcbiAgICAgICAgY29uc3QgYm9keTogUGFydGlhbDxFbnRpdHlUeXBlPiA9IGF3YWl0IHRoaXMuZW50aXR5VG9VcGRhdGVSZXF1ZXN0Qm9keShlbnRpdHksIGVudGl0eVByaW9yQ2hhbmdlcyk7XG4gICAgICAgIGlmICghZmlsZVByb3BlcnR5S2V5cy5sZW5ndGgpIHtcbiAgICAgICAgICAgIGF3YWl0IHRoaXMudXBkYXRlV2l0aEpzb24oYm9keSwgZW50aXR5UHJpb3JDaGFuZ2VzW3RoaXMuaWRLZXldKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGF3YWl0IHRoaXMudXBkYXRlV2l0aEZvcm1EYXRhKGJvZHksIGZpbGVQcm9wZXJ0eUtleXMsIGVudGl0eSwgZW50aXR5UHJpb3JDaGFuZ2VzW3RoaXMuaWRLZXldKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEJ1aWxkcyB0aGUgdXBkYXRlIHJlcXVlc3QgYm9keSBmcm9tIHRoZSBnaXZlbiBlbnRpdHkgYmVmb3JlIGFuZCBhZnRlciBpdHMgY2hhbmdlcy5cbiAgICAgKiBAcGFyYW0gZW50aXR5IC0gVGhlIGVudGl0eSB3aXRoIGNoYW5nZWQgdmFsdWVzLlxuICAgICAqIEBwYXJhbSBlbnRpdHlQcmlvckNoYW5nZXMgLSBUaGUgZW50aXR5IGJlZm9yZSBhbnkgY2hhbmdlcy5cbiAgICAgKiBAcmV0dXJucyBBIHBhcnRpYWwgb2Ygb25seSB0aGUgY2hhbmdlZCB2YWx1ZXMuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGFzeW5jIGVudGl0eVRvVXBkYXRlUmVxdWVzdEJvZHkoZW50aXR5OiBFbnRpdHlUeXBlLCBlbnRpdHlQcmlvckNoYW5nZXM6IEVudGl0eVR5cGUpOiBQcm9taXNlPFBhcnRpYWw8RW50aXR5VHlwZT4+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IEVudGl0eVV0aWxpdGllcy5nZXRXaXRob3V0T21pdFVwZGF0ZVZhbHVlcyhlbnRpdHksIGVudGl0eVByaW9yQ2hhbmdlcywgdGhpcy5odHRwLCB0aGlzLmluamVjdG9yKTtcbiAgICB9XG5cbiAgICAvLyBUT0RPOiBGaW5kIGEgd2F5IHRvIHVzZSBibG9icyB3aXRoIGplc3RcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgIC8qKlxuICAgICAqIFVwZGF0ZXMgdGhlIGVudGl0eSB3aXRoIGZvcm0gZGF0YSB3aGVuIHRoZSBlbnRpdHkgY29udGFpbnMgZmlsZXMgaW4gY29udHJhc3QgdG8gY3JlYXRpbmcgaXQgd2l0aCBhIG5vcm1hbCBqc29uIGJvZHkuXG4gICAgICogQWxsIGZpbGUgdmFsdWVzIGFyZSBzdG9yZWQgaW5zaWRlIHRoZWlyIHJlc3BlY3RpdmUgcHJvcGVydHkga2V5IGFuZCB0aGVpciBuYW1lLlxuICAgICAqIEZvcm0gZGF0YSBpcyBhYmxlIHRvIGhhbmRsZSBzZXR0aW5nIG11bHRpcGxlIGZpbGVzIHRvIHRoZSBzYW1lIGtleS5cbiAgICAgKiBAcGFyYW0gYm9keSAtIFRoZSByZXF1ZXN0IGJvZHkuIEFscmVhZHkgY29udGFpbnMgb25seSBwcm9wZXJ0aWVzIHRoYXQgaGF2ZSBjaGFuZ2VkLlxuICAgICAqIEBwYXJhbSBmaWxlUHJvcGVydHlLZXlzIC0gVGhlIGtleXMgb2YgYWxsIHByb3BlcnRpZXMgd2hpY2ggYXJlIGZpbGVzIGFuZCBuZWVkIHRvIHNlcGFyYXRlbHkgYmUgYXBwZW5kZWQgdG8gdGhlIGZvcm0gZGF0YS5cbiAgICAgKiBAcGFyYW0gZW50aXR5IC0gVGhlIG9yaWdpbmFsIGVudGl0eS4gSXMgbmVlZGVkIHRvIGdldCB0aGUgbWV0YWRhdGEgb2YgYWxsIHRoZSBmaWxlcy5cbiAgICAgKiBAcGFyYW0gaWQgLSBUaGUgaWQgb2YgdGhlIGVudGl0eSB0byB1cGRhdGUuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGFzeW5jIHVwZGF0ZVdpdGhGb3JtRGF0YShcbiAgICAgICAgYm9keTogUGFydGlhbDxFbnRpdHlUeXBlPixcbiAgICAgICAgZmlsZVByb3BlcnR5S2V5czogKGtleW9mIEVudGl0eVR5cGUpW10sXG4gICAgICAgIGVudGl0eTogRW50aXR5VHlwZSxcbiAgICAgICAgaWQ6IEVudGl0eVR5cGVba2V5b2YgRW50aXR5VHlwZV1cbiAgICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgY29uc3QgZm9ybURhdGE6IEZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCk7XG4gICAgICAgIGZvcm1EYXRhLmFwcGVuZCgnYm9keScsIEpTT04uc3RyaW5naWZ5KExvZGFzaFV0aWxpdGllcy5vbWl0KGJvZHksIGZpbGVQcm9wZXJ0eUtleXMpKSk7XG4gICAgICAgIGZvciAoY29uc3Qga2V5IG9mIGZpbGVQcm9wZXJ0eUtleXMpIHtcbiAgICAgICAgICAgIGlmIChFbnRpdHlVdGlsaXRpZXMuZ2V0UHJvcGVydHlNZXRhZGF0YShlbnRpdHksIGtleSwgRGVjb3JhdG9yVHlwZXMuRklMRV9ERUZBVUxUKS5tdWx0aXBsZSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGZpbGVEYXRhVmFsdWVzOiBGaWxlRGF0YVtdID0gYm9keVtrZXldIGFzIEZpbGVEYXRhW107XG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCB2YWx1ZSBvZiBmaWxlRGF0YVZhbHVlcykge1xuICAgICAgICAgICAgICAgICAgICBmb3JtRGF0YS5hcHBlbmQoa2V5IGFzIHN0cmluZywgKGF3YWl0IEZpbGVVdGlsaXRpZXMuZ2V0RmlsZURhdGEodmFsdWUsIHRoaXMuaHR0cCkpLmZpbGUsIHZhbHVlLm5hbWUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnN0IGZpbGVEYXRhOiBGaWxlRGF0YSA9IGJvZHlba2V5XSBhcyBGaWxlRGF0YTtcbiAgICAgICAgICAgICAgICBmb3JtRGF0YS5hcHBlbmQoa2V5IGFzIHN0cmluZywgKGF3YWl0IEZpbGVVdGlsaXRpZXMuZ2V0RmlsZURhdGEoZmlsZURhdGEsIHRoaXMuaHR0cCkpLmZpbGUsIGZpbGVEYXRhLm5hbWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHVwZGF0ZWRFbnRpdHk6IEVudGl0eVR5cGUgfCB1bmRlZmluZWQgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbShcbiAgICAgICAgICAgIHRoaXMuaHR0cC5wYXRjaDxFbnRpdHlUeXBlIHwgdW5kZWZpbmVkPihgJHt0aGlzLmJhc2VVcmx9LyR7aWR9YCwgZm9ybURhdGEpXG4gICAgICAgICk7XG4gICAgICAgIGlmICghdXBkYXRlZEVudGl0eSkge1xuICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGVcbiAgICAgICAgICAgIGNvbnNvbGUud2FybignVGhlIHVwZGF0ZWQgZW50aXR5IHdhcyBub3QgcmV0dXJuZWQgaW4gdGhlIHJlc3BvbnNlLiBBcHBseWluZyB0aGUgY2hhbmdlcyBmcm9tIHRoZSByZXF1ZXN0IGJvZHkuJyk7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiBib2R5KSB7XG4gICAgICAgICAgICAgICAgdGhpcy5lbnRpdGllc1t0aGlzLmVudGl0aWVzLmZpbmRJbmRleChlID0+IGVbdGhpcy5pZEtleV0gPT09IGlkKV1ba2V5XVxuICAgICAgICAgICAgICAgICAgICA9IGJvZHlba2V5XSBhcyBFbnRpdHlUeXBlW0V4dHJhY3Q8a2V5b2YgRW50aXR5VHlwZSwgc3RyaW5nPl07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLmVudGl0aWVzU3ViamVjdC5uZXh0KHRoaXMuZW50aXRpZXMpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuZW50aXRpZXNbdGhpcy5lbnRpdGllcy5maW5kSW5kZXgoZSA9PiBlW3RoaXMuaWRLZXldID09PSBpZCldID0gdXBkYXRlZEVudGl0eTtcbiAgICAgICAgdGhpcy5lbnRpdGllc1N1YmplY3QubmV4dCh0aGlzLmVudGl0aWVzKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBVcGRhdGVzIHRoZSBlbnRpdHkgd2l0aCBhIG5vcm1hbCBqc29uIGJvZHkgaW4gY29udHJhc3QgdG8gdXBkYXRpbmcgaXQgd2l0aCBmb3JtIGRhdGEgd2hlbiB0aGUgZW50aXR5IGNvbnRhaW5zIGZpbGVzLlxuICAgICAqIEBwYXJhbSBib2R5IC0gVGhlIGJvZHkgb2YgdGhlIFJlcXVlc3QuIEhhcyBhbHJlYWR5IHJlbW92ZWQgYWxsIHVubmVjZXNzYXJ5IHZhbHVlcy5cbiAgICAgKiBAcGFyYW0gaWQgLSBUaGUgaWQgb2YgdGhlIGVudGl0eSB0byB1cGRhdGUuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGFzeW5jIHVwZGF0ZVdpdGhKc29uKGJvZHk6IFBhcnRpYWw8RW50aXR5VHlwZT4sIGlkOiBFbnRpdHlUeXBlW2tleW9mIEVudGl0eVR5cGVdKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGNvbnN0IHVwZGF0ZWRFbnRpdHk6IEVudGl0eVR5cGUgfCB1bmRlZmluZWQgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbShcbiAgICAgICAgICAgIHRoaXMuaHR0cC5wYXRjaDxFbnRpdHlUeXBlIHwgdW5kZWZpbmVkPihgJHt0aGlzLmJhc2VVcmx9LyR7aWR9YCwgYm9keSlcbiAgICAgICAgKTtcbiAgICAgICAgaWYgKCF1cGRhdGVkRW50aXR5KSB7XG4gICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZVxuICAgICAgICAgICAgY29uc29sZS53YXJuKCdUaGUgdXBkYXRlZCBlbnRpdHkgd2FzIG5vdCByZXR1cm5lZCBpbiB0aGUgcmVzcG9uc2UuIEFwcGx5aW5nIHRoZSBjaGFuZ2VzIGZyb20gdGhlIHJlcXVlc3QgYm9keS4nKTtcbiAgICAgICAgICAgIGNvbnN0IGZvdW5kRW50aXR5OiBFbnRpdHlUeXBlID0gdGhpcy5lbnRpdGllc1t0aGlzLmVudGl0aWVzLmZpbmRJbmRleChlID0+IGVbdGhpcy5pZEtleV0gPT09IGlkKV07XG4gICAgICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiBib2R5KSB7XG4gICAgICAgICAgICAgICAgZm91bmRFbnRpdHlba2V5XVxuICAgICAgICAgICAgICAgICAgICA9IGJvZHlba2V5XSBhcyBFbnRpdHlUeXBlW0V4dHJhY3Q8a2V5b2YgRW50aXR5VHlwZSwgc3RyaW5nPl07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLmVudGl0aWVzU3ViamVjdC5uZXh0KHRoaXMuZW50aXRpZXMpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuZW50aXRpZXNbdGhpcy5lbnRpdGllcy5maW5kSW5kZXgoZSA9PiBlW3RoaXMuaWRLZXldID09PSBpZCldID0gdXBkYXRlZEVudGl0eTtcbiAgICAgICAgdGhpcy5lbnRpdGllc1N1YmplY3QubmV4dCh0aGlzLmVudGl0aWVzKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBEZWxldGVzIGEgc3BlY2lmaWMgRW50aXR5LlxuICAgICAqIEBwYXJhbSBlbnRpdHkgLSBUaGUgZW50aXR5IHRvIGRlbGV0ZS5cbiAgICAgKi9cbiAgICBhc3luYyBkZWxldGUoZW50aXR5OiBFbnRpdHlUeXBlKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGF3YWl0IGZpcnN0VmFsdWVGcm9tKHRoaXMuaHR0cC5kZWxldGU8dm9pZD4oYCR7dGhpcy5iYXNlVXJsfS8ke2VudGl0eVt0aGlzLmlkS2V5XX1gKSk7XG4gICAgICAgIC8vIHRoZSA9PSBjb21wYXJpc29uIGluc3RlYWQgb2YgPT09IGlzIHRvIGNhdGNoIGlkcyB0aGF0IGFyZSBudW1iZXJzLlxuICAgICAgICB0aGlzLmVudGl0aWVzLnNwbGljZSh0aGlzLmVudGl0aWVzLmZpbmRJbmRleChlID0+IGVbdGhpcy5pZEtleV0gPT09IGVudGl0eVt0aGlzLmlkS2V5XSksIDEpO1xuICAgICAgICB0aGlzLmVudGl0aWVzU3ViamVjdC5uZXh0KHRoaXMuZW50aXRpZXMpO1xuICAgIH1cbn0iXX0=
|
|
270
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbWF0ZXJpYWwtZW50aXR5L3NyYy9zZXJ2aWNlcy9lbnRpdHkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsZUFBZSxFQUFFLGNBQWMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV2RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFFekUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFHNUQ7Ozs7O0dBS0c7QUFDSCxNQUFNLE9BQWdCLGFBQWE7SUE0REE7SUFBcUM7SUE3Q3BFOztPQUVHO0lBQ00sYUFBYSxHQUFXLFVBQVUsQ0FBQztJQUU1Qzs7T0FFRztJQUNNLGVBQWUsR0FBVyxpQkFBaUIsQ0FBQztJQUVyRDs7O09BR0c7SUFDTSxLQUFLLEdBQXFCLElBQXdCLENBQUM7SUFFNUQ7OztPQUdHO0lBQ00sZUFBZSxHQUFrQyxJQUFJLGVBQWUsQ0FBZSxFQUFFLENBQUMsQ0FBQztJQUdoRzs7Ozs7O09BTUc7SUFDZ0IscUJBQXFCLEdBQVcsTUFBTSxDQUFDO0lBRTFEOzs7T0FHRztJQUNILElBQUksUUFBUTtRQUNSLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUM7SUFDdEMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsUUFBUSxDQUFRO0lBRWhCLFlBQStCLElBQWdCLEVBQXFCLFFBQTZCO1FBQWxFLFNBQUksR0FBSixJQUFJLENBQVk7UUFBcUIsYUFBUSxHQUFSLFFBQVEsQ0FBcUI7SUFBRyxDQUFDO0lBRXJHOzs7Ozs7O09BT0c7SUFDSCxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQWtC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UUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzVGLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUM3QyxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgRW52aXJvbm1lbnRJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBmaXJzdFZhbHVlRnJvbSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQmFzZUVudGl0eVR5cGUgfSBmcm9tICcuLi9jbGFzc2VzL2VudGl0eS5tb2RlbCc7XG5pbXBvcnQgeyBEZWNvcmF0b3JUeXBlcyB9IGZyb20gJy4uL2RlY29yYXRvcnMvYmFzZS9kZWNvcmF0b3ItdHlwZXMuZW51bSc7XG5pbXBvcnQgeyBGaWxlRGF0YSB9IGZyb20gJy4uL2RlY29yYXRvcnMvZmlsZS9maWxlLWRlY29yYXRvci5kYXRhJztcbmltcG9ydCB7IExvZGFzaFV0aWxpdGllcyB9IGZyb20gJy4uL2VuY2Fwc3VsYXRpb24vbG9kYXNoLnV0aWxpdGllcyc7XG5pbXBvcnQgeyBFbnRpdHlVdGlsaXRpZXMgfSBmcm9tICcuLi91dGlsaXRpZXMvZW50aXR5LnV0aWxpdGllcyc7XG5pbXBvcnQgeyBGaWxlVXRpbGl0aWVzIH0gZnJvbSAnLi4vdXRpbGl0aWVzL2ZpbGUudXRpbGl0aWVzJztcbmltcG9ydCB7IERlZmF1bHRGaWxlRGVjb3JhdG9yQ29uZmlnSW50ZXJuYWwgfSBmcm9tICcuLi9kZWNvcmF0b3JzL2ZpbGUvZmlsZS1kZWNvcmF0b3ItaW50ZXJuYWwuZGF0YSc7XG5cbi8qKlxuICogQSBnZW5lcmljIEVudGl0eVNlcnZpY2UgY2xhc3MuXG4gKiBPZmZlcnMgYmFzaWMgQ1JVRC1mdW5jdGlvbmFsaXR5LlxuICogWW91IHNob3VsZCBjcmVhdGUgYSBzZXJ2aWNlIGZvciBldmVyeSBFbnRpdHkgeW91IGhhdmUuXG4gKiBJZiB5b3UgZXh0ZW5kIGZyb20gdGhpcyB5b3UgbmVlZCB0byBtYWtlIHN1cmUgdGhhdCB0aGUgZXh0ZW5kZWQgU2VydmljZSBjYW4gYmUgaW5qZWN0ZWQuXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBFbnRpdHlTZXJ2aWNlPEVudGl0eVR5cGUgZXh0ZW5kcyBCYXNlRW50aXR5VHlwZTxFbnRpdHlUeXBlPj4ge1xuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIHVybCB1c2VkIGZvciBhcGkgcmVxdWVzdHMuIElmIHUgd2FudCB0byBoYXZlIG1vcmUgY29udHJvbCBvdmVyIHRoaXMsXG4gICAgICogeW91IGNhbiBvdmVycmlkZSB0aGUgY3JlYXRlLCByZWFkLCB1cGRhdGUgYW5kIGRlbGV0ZSBtZXRob2RzLlxuICAgICAqXG4gICAgICogQ3JlYXRlIFNlbmRzIGEgUE9TVC1SZXF1ZXN0IHRvIGJhc2VVcmwuXG4gICAgICpcbiAgICAgKiBSZWFkIFNlbmRzIGEgR0VULVJlcXVlc3QgdG8gYmFzZVVybC5cbiAgICAgKlxuICAgICAqIFVwZGF0ZSBTZW5kcyBhIFBBVENILVJlcXVlc3QgdG8gYmFzZVVybC97aWR9LlxuICAgICAqXG4gICAgICogRGVsZXRlIFNlbmRzIGEgREVMLVJlcXVlc3QgdG8gYmFzZVVybC97aWR9LlxuICAgICAqL1xuICAgIGFic3RyYWN0IHJlYWRvbmx5IGJhc2VVcmw6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIFRoZSBkZWZhdWx0IHJvdXRlIHNlZ21lbnQgdGhhdCBjb21lcyBiZWZvcmUgdGhlIGlkIHdoZW4gZWRpdGluZyBhbiBlbnRpdHkgaW4gYSBzZXBhcmF0ZSBwYWdlLCBpZiBubyBleHRyYSByb3V0ZSBoYXMgYmVlbiBwcm92aWRlZC5cbiAgICAgKi9cbiAgICByZWFkb25seSBlZGl0QmFzZVJvdXRlOiBzdHJpbmcgPSAnZW50aXRpZXMnO1xuXG4gICAgLyoqXG4gICAgICogVGhlIGNvbXBsZXRlIHJvdXRlIHRoYXQgaXMgdXNlZCB0byBjcmVhdGUgYW4gZW50aXR5IGluIGEgc2VwYXJhdGUgcGFnZSwgaWYgbm8gZXh0cmEgcm91dGUgaGFzIGJlZW4gcHJvdmlkZWQuXG4gICAgICovXG4gICAgcmVhZG9ubHkgY3JlYXRlQmFzZVJvdXRlOiBzdHJpbmcgPSAnZW50aXRpZXMvY3JlYXRlJztcblxuICAgIC8qKlxuICAgICAqIFRoZSBrZXkgd2hpY2ggaG9sZHMgdGhlIGlkIHZhbHVlLlxuICAgICAqIEBkZWZhdWx0ICdpZCdcbiAgICAgKi9cbiAgICByZWFkb25seSBpZEtleToga2V5b2YgRW50aXR5VHlwZSA9ICdpZCcgYXMga2V5b2YgRW50aXR5VHlwZTtcblxuICAgIC8qKlxuICAgICAqIEEgc3ViamVjdCBvZiBhbGwgdGhlIGVudGl0eSB2YWx1ZXMuXG4gICAgICogQ2FuIGJlIHN1YnNjcmliZWQgdG8gd2hlbiB5b3Ugd2FudCB0byBkbyBhIHNwZWNpZmljIHRoaW5nIHdoZW5ldmVyIHRoZSBlbnRpdGllcyBjaGFuZ2UuXG4gICAgICovXG4gICAgcmVhZG9ubHkgZW50aXRpZXNTdWJqZWN0OiBCZWhhdmlvclN1YmplY3Q8RW50aXR5VHlwZVtdPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8RW50aXR5VHlwZVtdPihbXSk7XG5cblxuICAgIC8qKlxuICAgICAqIFdoZW4gZnJlcXVlbnRseSB0cnlpbmcgdG8gZmluZCBhIHNpbmdsZSBlbnRpdHkgYnkgYW4gaWQgKGVnLiBXaGVuIG5lc3RpbmcgcmVsYXRpb25zKVxuICAgICAqIHlvdSBtaWdodCBzZW5kIGEgbG90IG9mIHVubmVjZXNzYXJ5IHJlcXVlc3RzLlxuICAgICAqIFRoZXJlZm9yZSB0aGUgZmluZEJ5SWQgbWV0aG9kIHRyaWVzIHRvIGxvb2sgaW4gdGhlIGFscmVhZHkgZXhpc3RpbmcgZW50aXRpZXMgZmlyc3QsXG4gICAgICogSUYgdGhlIGVudGl0aWVzIGhhdmUgYmVlbiByZXF1ZXN0ZWQgaW4gdGhlIGxhc3QgUkVBRF9FWFBJUkFUSU9OX0lOX01TIG1pbGxpc2Vjb25kcy5cbiAgICAgKiBAZGVmYXVsdCA5MDAwMDAgKDUgbWludXRlcylcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgUkVBRF9FWFBJUkFUSU9OX0lOX01TOiBudW1iZXIgPSA5MDAwMDA7XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSBlbnRpdGllcyBpbiBhbiBhcnJheSBmcm9tIHRoZSBpbnRlcm5hbCBlbnRpdGllc1N1YmplY3QuXG4gICAgICogQHJldHVybnMgVGhlIGN1cnJlbnQgZW50aXRpZXMgaW4gZm9ybSBvZiBhbiBhcnJheS5cbiAgICAgKi9cbiAgICBnZXQgZW50aXRpZXMoKTogRW50aXR5VHlwZVtdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZW50aXRpZXNTdWJqZWN0LnZhbHVlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBsYXN0IHRpbWUgdGhhdCB0aGUgZW50aXRpZXMgaGF2ZSBiZWVuIHJlcXVlc3RlZCBmcm9tIHRoZSBhcGkuXG4gICAgICovXG4gICAgbGFzdFJlYWQ/OiBEYXRlO1xuXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIHJlYWRvbmx5IGh0dHA6IEh0dHBDbGllbnQsIHByb3RlY3RlZCByZWFkb25seSBpbmplY3RvcjogRW52aXJvbm1lbnRJbmplY3Rvcikge31cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBuZXcgRW50aXR5IGFuZCBwdXNoZXMgaXQgdG8gdGhlIGVudGl0aWVzIGFycmF5LlxuICAgICAqIEBwYXJhbSBlbnRpdHkgLSBUaGUgZGF0YSBvZiB0aGUgZW50aXR5IHRvIGNyZWF0ZS5cbiAgICAgKiBBbGwgdmFsdWVzIHRoYXQgc2hvdWxkIGJlIG9taXR0ZWQgd2lsbCBiZSByZW1vdmVkIGZyb20gaXQgaW5zaWRlIHRoaXMgbWV0aG9kLlxuICAgICAqIEBwYXJhbSBiYXNlVXJsIC0gVGhlIGJhc2UgdXJsIHRvIHNlbmQgdGhlIHBvc3QgcmVxdWVzdCB0by5cbiAgICAgKiBUaGlzIGNhbiBiZSB1c2VkIGlmIHlvdSB3YW50IHRvIGNyZWF0ZSBhbiBlbnRpdHkgYmVsb25naW5nIHRvIGFub3RoZXIsIGxpa2UgXCJjdXN0b21lcnMve2lkfS9pbnZvaWNlc1wiLlxuICAgICAqIEByZXR1cm5zIEEgUHJvbWlzZSBvZiB0aGUgY3JlYXRlZCBlbnRpdHkuXG4gICAgICovXG4gICAgYXN5bmMgY3JlYXRlKGVudGl0eTogRW50aXR5VHlwZSwgYmFzZVVybDogc3RyaW5nID0gdGhpcy5iYXNlVXJsKTogUHJvbWlzZTxFbnRpdHlUeXBlPiB7XG4gICAgICAgIGNvbnN0IGJvZHk6IFBhcnRpYWw8RW50aXR5VHlwZT4gPSBFbnRpdHlVdGlsaXRpZXMuZ2V0V2l0aG91dE9taXRDcmVhdGVWYWx1ZXMoZW50aXR5KTtcbiAgICAgICAgY29uc3QgZmlsZVByb3BlcnR5S2V5czogKGtleW9mIEVudGl0eVR5cGUpW10gPSBFbnRpdHlVdGlsaXRpZXMuZ2V0RmlsZVByb3BlcnRpZXMoZW50aXR5KTtcbiAgICAgICAgaWYgKCFmaWxlUHJvcGVydHlLZXlzLmxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuY3JlYXRlV2l0aEpzb24oYm9keSwgYmFzZVVybCk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5jcmVhdGVXaXRoRm9ybURhdGEoYm9keSwgZmlsZVByb3BlcnR5S2V5cywgZW50aXR5LCBiYXNlVXJsKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFRPRE86IEZpbmQgYSB3YXkgdG8gdXNlIGJsb2JzIHdpdGggamVzdFxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgLyoqXG4gICAgICogSW1wb3J0cyBldmVyeXRoaW5nIGZyb20gdGhlIHByb3ZpZGVkIGpzb24gZmlsZS5cbiAgICAgKiBAcGFyYW0gZmlsZSAtIFRoZSBqc29uIGZpbGUgdG8gaW1wb3J0IGZyb20uXG4gICAgICogQHJldHVybnMgQWxsIGVudGl0aWVzIHRoYXQgaGF2ZSBiZWVuIGltcG9ydGVkLlxuICAgICAqL1xuICAgIGFzeW5jIGltcG9ydChmaWxlOiBGaWxlKTogUHJvbWlzZTxFbnRpdHlUeXBlW10+IHtcbiAgICAgICAgY29uc3QgZm9ybURhdGE6IEZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCk7XG4gICAgICAgIGZvcm1EYXRhLmFwcGVuZCgnaW1wb3J0JywgZmlsZSk7XG4gICAgICAgIGNvbnN0IHJlc3VsdDogRW50aXR5VHlwZVtdID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20odGhpcy5odHRwLnBvc3Q8RW50aXR5VHlwZVtdPihgJHt0aGlzLmJhc2VVcmx9L2ltcG9ydGAsIGZvcm1EYXRhKSk7XG4gICAgICAgIHRoaXMuZW50aXRpZXMucHVzaCguLi5yZXN1bHQpO1xuICAgICAgICB0aGlzLmVudGl0aWVzU3ViamVjdC5uZXh0KHRoaXMuZW50aXRpZXMpO1xuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIC8vIFRPRE86IEZpbmQgYSB3YXkgdG8gdXNlIGJsb2JzIHdpdGggamVzdFxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyB0aGUgZW50aXR5IHdpdGggZm9ybSBkYXRhIHdoZW4gdGhlIGVudGl0eSBjb250YWlucyBmaWxlcyBpbiBjb250cmFzdCB0byBjcmVhdGluZyBpdCB3aXRoIGEgbm9ybWFsIGpzb24gYm9keS5cbiAgICAgKiBBbGwgZmlsZSB2YWx1ZXMgYXJlIHN0b3JlZCBpbnNpZGUgdGhlaXIgcmVzcGVjdGl2ZSBwcm9wZXJ0eSBrZXkgYW5kIHRoZWlyIG5hbWUuXG4gICAgICogRm9ybSBkYXRhIGlzIGFibGUgdG8gaGFuZGxlIHNldHRpbmcgbXVsdGlwbGUgZmlsZXMgdG8gdGhlIHNhbWUga2V5LlxuICAgICAqIEBwYXJhbSBib2R5IC0gVGhlIGJvZHkgT2YgdGhlIHJlcXVlc3QuXG4gICAgICogQHBhcmFtIGZpbGVQcm9wZXJ0eUtleXMgLSBBbGwgcHJvcGVydHkga2V5cyB0aGF0IGFyZSBmaWxlcyBhbmQgbmVlZCB0byBiZSBhZGRlZCB0byB0aGUgZm9ybSBkYXRhLlxuICAgICAqIEBwYXJhbSBlbnRpdHkgLSBUaGUgZW50aXR5IHRvIGNyZWF0ZS4gVGhpcyBpcyBuZWVkZWQgaW4gYWRkaXRpb24gdG8gdGhlIGJvZHkgYmVjYXVzZSB0aGUgYm9keSBkb2Vzbid0IGNvbnRhaW4gYW55IG1ldGFkYXRhLlxuICAgICAqIEBwYXJhbSBiYXNlVXJsIC0gVGhlIGJhc2UgdXJsIHRvIHNlbmQgdGhlIHBvc3QgcmVxdWVzdCB0by5cbiAgICAgKiBUaGlzIGNhbiBiZSB1c2VkIGlmIHlvdSB3YW50IHRvIGNyZWF0ZSBhbiBlbnRpdHkgYmVsb25naW5nIHRvIGFub3RoZXIsIGxpa2UgXCJjdXN0b21lcnMve2lkfS9pbnZvaWNlc1wiLlxuICAgICAqIEByZXR1cm5zIFRoZSBjcmVhdGVkIGVudGl0eSBmcm9tIHRoZSBzZXJ2ZXIuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGFzeW5jIGNyZWF0ZVdpdGhGb3JtRGF0YShcbiAgICAgICAgYm9keTogUGFydGlhbDxFbnRpdHlUeXBlPixcbiAgICAgICAgZmlsZVByb3BlcnR5S2V5czogKGtleW9mIEVudGl0eVR5cGUpW10sXG4gICAgICAgIGVudGl0eTogRW50aXR5VHlwZSxcbiAgICAgICAgYmFzZVVybDogc3RyaW5nID0gdGhpcy5iYXNlVXJsXG4gICAgKTogUHJvbWlzZTxFbnRpdHlUeXBlPiB7XG4gICAgICAgIGNvbnN0IGZvcm1EYXRhOiBGb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpO1xuICAgICAgICBmb3JtRGF0YS5hcHBlbmQoJ2JvZHknLCBKU09OLnN0cmluZ2lmeShMb2Rhc2hVdGlsaXRpZXMub21pdChib2R5LCBmaWxlUHJvcGVydHlLZXlzKSkpO1xuICAgICAgICBmb3IgKGNvbnN0IGtleSBvZiBmaWxlUHJvcGVydHlLZXlzKSB7XG5cbiAgICAgICAgICAgIGlmICgoRW50aXR5VXRpbGl0aWVzLmdldFByb3BlcnR5TWV0YWRhdGEoZW50aXR5LCBrZXksIERlY29yYXRvclR5cGVzLkZJTEVfREVGQVVMVCkgYXMgRGVmYXVsdEZpbGVEZWNvcmF0b3JDb25maWdJbnRlcm5hbCkubXVsdGlwbGUpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBmaWxlRGF0YVZhbHVlczogRmlsZURhdGFbXSA9IGJvZHlba2V5XSBhcyBGaWxlRGF0YVtdO1xuICAgICAgICAgICAgICAgIGZvciAoY29uc3QgdmFsdWUgb2YgZmlsZURhdGFWYWx1ZXMpIHtcbiAgICAgICAgICAgICAgICAgICAgZm9ybURhdGEuYXBwZW5kKGtleSBhcyBzdHJpbmcsIChhd2FpdCBGaWxlVXRpbGl0aWVzLmdldEZpbGVEYXRhKHZhbHVlLCB0aGlzLmh0dHApKS5maWxlLCB2YWx1ZS5uYW1lKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb25zdCBmaWxlRGF0YTogRmlsZURhdGEgPSBib2R5W2tleV0gYXMgRmlsZURhdGE7XG4gICAgICAgICAgICAgICAgZm9ybURhdGEuYXBwZW5kKGtleSBhcyBzdHJpbmcsIChhd2FpdCBGaWxlVXRpbGl0aWVzLmdldEZpbGVEYXRhKGZpbGVEYXRhLCB0aGlzLmh0dHApKS5maWxlLCBmaWxlRGF0YS5uYW1lKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBjb25zdCBlOiBFbnRpdHlUeXBlIHwgdW5kZWZpbmVkID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20odGhpcy5odHRwLnBvc3Q8RW50aXR5VHlwZSB8IHVuZGVmaW5lZD4oYmFzZVVybCwgZm9ybURhdGEpKTtcbiAgICAgICAgaWYgKCFlKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFxuICAgICAgICAgICAgICAgIFRoZSBjcmVhdGVkIGVudGl0eSB3YXMgbm90IHJldHVybmVkIGluIHRoZSByZXNwb25zZS5cbiAgICAgICAgICAgICAgICBJZiB5b3Ugd2FudCB0byBwcm92aWRlIGEgbG9naWMgdGhhdCBhbGxvd3MgdGhhdFxuICAgICAgICAgICAgICAgIHlvdSBuZWVkIHRvIG92ZXJyaWRlIHRoZSBjcmVhdGUgbWV0aG9kcyBvZiB0aGlzIGNsYXNzLlxuICAgICAgICAgICAgYCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5lbnRpdGllcy5wdXNoKGUpO1xuICAgICAgICB0aGlzLmVudGl0aWVzU3ViamVjdC5uZXh0KHRoaXMuZW50aXRpZXMpO1xuICAgICAgICByZXR1cm4gZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIHRoZSBlbnRpdHkgd2l0aCBhIG5vcm1hbCBqc29uIGJvZHkgaW4gY29udHJhc3QgdG8gY3JlYXRpbmcgaXQgd2l0aCBmb3JtIGRhdGEgd2hlbiB0aGUgZW50aXR5IGNvbnRhaW5zIGZpbGVzLlxuICAgICAqIEBwYXJhbSBib2R5IC0gVGhlIGJvZHkgT2YgdGhlIHJlcXVlc3QuXG4gICAgICogQHBhcmFtIGJhc2VVcmwgLSBUaGUgYmFzZSB1cmwgdG8gc2VuZCB0aGUgcG9zdCByZXF1ZXN0IHRvLlxuICAgICAqIFRoaXMgY2FuIGJlIHVzZWQgaWYgeW91IHdhbnQgdG8gY3JlYXRlIGFuIGVudGl0eSBiZWxvbmdpbmcgdG8gYW5vdGhlciwgbGlrZSBcImN1c3RvbWVycy97aWR9L2ludm9pY2VzXCIuXG4gICAgICogQHJldHVybnMgVGhlIGNyZWF0ZWQgZW50aXR5IGZyb20gdGhlIHNlcnZlci5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgYXN5bmMgY3JlYXRlV2l0aEpzb24oYm9keTogUGFydGlhbDxFbnRpdHlUeXBlPiwgYmFzZVVybDogc3RyaW5nID0gdGhpcy5iYXNlVXJsKTogUHJvbWlzZTxFbnRpdHlUeXBlPiB7XG4gICAgICAgIGNvbnN0IGU6IEVudGl0eVR5cGUgfCB1bmRlZmluZWQgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbSh0aGlzLmh0dHAucG9zdDxFbnRpdHlUeXBlIHwgdW5kZWZpbmVkPihiYXNlVXJsLCBib2R5KSk7XG4gICAgICAgIGlmICghZSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBcbiAgICAgICAgICAgICAgICBUaGUgY3JlYXRlZCBlbnRpdHkgd2FzIG5vdCByZXR1cm5lZCBpbiB0aGUgcmVzcG9uc2UuXG4gICAgICAgICAgICAgICAgSWYgeW91IHdhbnQgdG8gcHJvdmlkZSBhIGxvZ2ljIHRoYXQgYWxsb3dzIHRoYXRcbiAgICAgICAgICAgICAgICB5b3UgbmVlZCB0byBvdmVycmlkZSB0aGUgY3JlYXRlIG1ldGhvZHMgb2YgdGhpcyBjbGFzcy5cbiAgICAgICAgICAgIGApO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuZW50aXRpZXMucHVzaChlKTtcbiAgICAgICAgdGhpcy5lbnRpdGllc1N1YmplY3QubmV4dCh0aGlzLmVudGl0aWVzKTtcbiAgICAgICAgcmV0dXJuIGU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyBhbGwgZXhpc3RpbmcgZW50aXRpZXMgYW5kIHB1c2hlcyB0aGVtIHRvIHRoZSBlbnRpdGllcyBhcnJheS5cbiAgICAgKiBAcGFyYW0gYmFzZVVybCAtIFRoZSBiYXNlIHVybCBmb3IgdGhlIHJlcXVlc3QuIERlZmF1bHRzIHRvIHRoZSBiYXNlVXJsIG9uIHRoZSBzZXJ2aWNlLlxuICAgICAqIEByZXR1cm5zIEEgUHJvbWlzZSBvZiBhbGwgcmVjZWl2ZWQgRW50aXRpZXMuXG4gICAgICovXG4gICAgYXN5bmMgcmVhZChiYXNlVXJsID0gdGhpcy5iYXNlVXJsKTogUHJvbWlzZTxFbnRpdHlUeXBlW10+IHtcbiAgICAgICAgY29uc3QgZTogRW50aXR5VHlwZVtdID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20odGhpcy5odHRwLmdldDxFbnRpdHlUeXBlW10+KGJhc2VVcmwpKTtcbiAgICAgICAgdGhpcy5lbnRpdGllc1N1YmplY3QubmV4dChlKTtcbiAgICAgICAgdGhpcy5sYXN0UmVhZCA9IG5ldyBEYXRlKCk7XG4gICAgICAgIHJldHVybiBlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRyaWVzIHRvIGZpbmQgYW4gZW50aXR5IHdpdGggdGhlIGdpdmVuIGlkLlxuICAgICAqIEBwYXJhbSBpZCAtIFRoZSBpZCBvZiB0aGUgZW50aXR5IHRvIGZpbmQuXG4gICAgICogQHJldHVybnMgVGhlIGZvdW5kIGVudGl0eS5cbiAgICAgKi9cbiAgICBhc3luYyBmaW5kQnlJZChpZDogRW50aXR5VHlwZVtrZXlvZiBFbnRpdHlUeXBlXSk6IFByb21pc2U8RW50aXR5VHlwZT4ge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgICB0aGlzLmxhc3RSZWFkID09IG51bGxcbiAgICAgICAgICAgIHx8IChuZXcgRGF0ZSgpLmdldFRpbWUoKSAtIHRoaXMubGFzdFJlYWQuZ2V0VGltZSgpKSA+IHRoaXMuUkVBRF9FWFBJUkFUSU9OX0lOX01TXG4gICAgICAgICkge1xuICAgICAgICAgICAgcmV0dXJuIGZpcnN0VmFsdWVGcm9tKHRoaXMuaHR0cC5nZXQ8RW50aXR5VHlwZT4oYCR7dGhpcy5iYXNlVXJsfS8ke2lkfWApKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5lbnRpdGllcy5maW5kKGUgPT4gZVt0aGlzLmlkS2V5XSA9PT0gaWQpID8/IGZpcnN0VmFsdWVGcm9tKHRoaXMuaHR0cC5nZXQ8RW50aXR5VHlwZT4oYCR7dGhpcy5iYXNlVXJsfS8ke2lkfWApKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBVcGRhdGVzIGEgc3BlY2lmaWMgRW50aXR5LlxuICAgICAqIEBwYXJhbSBlbnRpdHkgLSBUaGUgdXBkYXRlZCBFbnRpdHlcbiAgICAgKiBBbGwgdmFsdWVzIHRoYXQgc2hvdWxkIGJlIG9taXR0ZWQgd2lsbCBiZSByZW1vdmVkIGZyb20gaXQgaW5zaWRlIHRoaXMgbWV0aG9kLlxuICAgICAqIEBwYXJhbSBlbnRpdHlQcmlvckNoYW5nZXMgLSBUaGUgY3VycmVudCBFbnRpdHkuXG4gICAgICogSXQgSXMgdXNlZCB0byBnZXQgY2hhbmdlZCB2YWx1ZXMgYW5kIG9ubHkgdXBkYXRlIHRoZW0gaW5zdGVhZCBvZiBzZW5kaW5nIHRoZSB3aG9sZSBlbnRpdHkgZGF0YS5cbiAgICAgKi9cbiAgICBhc3luYyB1cGRhdGUoZW50aXR5OiBFbnRpdHlUeXBlLCBlbnRpdHlQcmlvckNoYW5nZXM6IEVudGl0eVR5cGUpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgY29uc3QgZmlsZVByb3BlcnR5S2V5czogKGtleW9mIEVudGl0eVR5cGUpW10gPSBFbnRpdHlVdGlsaXRpZXMuZ2V0RmlsZVByb3BlcnRpZXMoZW50aXR5UHJpb3JDaGFuZ2VzKTtcbiAgICAgICAgY29uc3QgYm9keTogUGFydGlhbDxFbnRpdHlUeXBlPiA9IGF3YWl0IHRoaXMuZW50aXR5VG9VcGRhdGVSZXF1ZXN0Qm9keShlbnRpdHksIGVudGl0eVByaW9yQ2hhbmdlcyk7XG4gICAgICAgIGlmICghZmlsZVByb3BlcnR5S2V5cy5sZW5ndGgpIHtcbiAgICAgICAgICAgIGF3YWl0IHRoaXMudXBkYXRlV2l0aEpzb24oYm9keSwgZW50aXR5UHJpb3JDaGFuZ2VzW3RoaXMuaWRLZXldKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGF3YWl0IHRoaXMudXBkYXRlV2l0aEZvcm1EYXRhKGJvZHksIGZpbGVQcm9wZXJ0eUtleXMsIGVudGl0eSwgZW50aXR5UHJpb3JDaGFuZ2VzW3RoaXMuaWRLZXldKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEJ1aWxkcyB0aGUgdXBkYXRlIHJlcXVlc3QgYm9keSBmcm9tIHRoZSBnaXZlbiBlbnRpdHkgYmVmb3JlIGFuZCBhZnRlciBpdHMgY2hhbmdlcy5cbiAgICAgKiBAcGFyYW0gZW50aXR5IC0gVGhlIGVudGl0eSB3aXRoIGNoYW5nZWQgdmFsdWVzLlxuICAgICAqIEBwYXJhbSBlbnRpdHlQcmlvckNoYW5nZXMgLSBUaGUgZW50aXR5IGJlZm9yZSBhbnkgY2hhbmdlcy5cbiAgICAgKiBAcmV0dXJucyBBIHBhcnRpYWwgb2Ygb25seSB0aGUgY2hhbmdlZCB2YWx1ZXMuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGFzeW5jIGVudGl0eVRvVXBkYXRlUmVxdWVzdEJvZHkoZW50aXR5OiBFbnRpdHlUeXBlLCBlbnRpdHlQcmlvckNoYW5nZXM6IEVudGl0eVR5cGUpOiBQcm9taXNlPFBhcnRpYWw8RW50aXR5VHlwZT4+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IEVudGl0eVV0aWxpdGllcy5nZXRXaXRob3V0T21pdFVwZGF0ZVZhbHVlcyhlbnRpdHksIGVudGl0eVByaW9yQ2hhbmdlcywgdGhpcy5odHRwLCB0aGlzLmluamVjdG9yKTtcbiAgICB9XG5cbiAgICAvLyBUT0RPOiBGaW5kIGEgd2F5IHRvIHVzZSBibG9icyB3aXRoIGplc3RcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgIC8qKlxuICAgICAqIFVwZGF0ZXMgdGhlIGVudGl0eSB3aXRoIGZvcm0gZGF0YSB3aGVuIHRoZSBlbnRpdHkgY29udGFpbnMgZmlsZXMgaW4gY29udHJhc3QgdG8gY3JlYXRpbmcgaXQgd2l0aCBhIG5vcm1hbCBqc29uIGJvZHkuXG4gICAgICogQWxsIGZpbGUgdmFsdWVzIGFyZSBzdG9yZWQgaW5zaWRlIHRoZWlyIHJlc3BlY3RpdmUgcHJvcGVydHkga2V5IGFuZCB0aGVpciBuYW1lLlxuICAgICAqIEZvcm0gZGF0YSBpcyBhYmxlIHRvIGhhbmRsZSBzZXR0aW5nIG11bHRpcGxlIGZpbGVzIHRvIHRoZSBzYW1lIGtleS5cbiAgICAgKiBAcGFyYW0gYm9keSAtIFRoZSByZXF1ZXN0IGJvZHkuIEFscmVhZHkgY29udGFpbnMgb25seSBwcm9wZXJ0aWVzIHRoYXQgaGF2ZSBjaGFuZ2VkLlxuICAgICAqIEBwYXJhbSBmaWxlUHJvcGVydHlLZXlzIC0gVGhlIGtleXMgb2YgYWxsIHByb3BlcnRpZXMgd2hpY2ggYXJlIGZpbGVzIGFuZCBuZWVkIHRvIHNlcGFyYXRlbHkgYmUgYXBwZW5kZWQgdG8gdGhlIGZvcm0gZGF0YS5cbiAgICAgKiBAcGFyYW0gZW50aXR5IC0gVGhlIG9yaWdpbmFsIGVudGl0eS4gSXMgbmVlZGVkIHRvIGdldCB0aGUgbWV0YWRhdGEgb2YgYWxsIHRoZSBmaWxlcy5cbiAgICAgKiBAcGFyYW0gaWQgLSBUaGUgaWQgb2YgdGhlIGVudGl0eSB0byB1cGRhdGUuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGFzeW5jIHVwZGF0ZVdpdGhGb3JtRGF0YShcbiAgICAgICAgYm9keTogUGFydGlhbDxFbnRpdHlUeXBlPixcbiAgICAgICAgZmlsZVByb3BlcnR5S2V5czogKGtleW9mIEVudGl0eVR5cGUpW10sXG4gICAgICAgIGVudGl0eTogRW50aXR5VHlwZSxcbiAgICAgICAgaWQ6IEVudGl0eVR5cGVba2V5b2YgRW50aXR5VHlwZV1cbiAgICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgY29uc3QgZm9ybURhdGE6IEZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCk7XG4gICAgICAgIGZvcm1EYXRhLmFwcGVuZCgnYm9keScsIEpTT04uc3RyaW5naWZ5KExvZGFzaFV0aWxpdGllcy5vbWl0KGJvZHksIGZpbGVQcm9wZXJ0eUtleXMpKSk7XG4gICAgICAgIGZvciAoY29uc3Qga2V5IG9mIGZpbGVQcm9wZXJ0eUtleXMpIHtcblxuICAgICAgICAgICAgaWYgKChFbnRpdHlVdGlsaXRpZXMuZ2V0UHJvcGVydHlNZXRhZGF0YShlbnRpdHksIGtleSwgRGVjb3JhdG9yVHlwZXMuRklMRV9ERUZBVUxUKSBhcyBEZWZhdWx0RmlsZURlY29yYXRvckNvbmZpZ0ludGVybmFsKS5tdWx0aXBsZSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGZpbGVEYXRhVmFsdWVzOiBGaWxlRGF0YVtdID0gYm9keVtrZXldIGFzIEZpbGVEYXRhW107XG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCB2YWx1ZSBvZiBmaWxlRGF0YVZhbHVlcykge1xuICAgICAgICAgICAgICAgICAgICBmb3JtRGF0YS5hcHBlbmQoa2V5IGFzIHN0cmluZywgKGF3YWl0IEZpbGVVdGlsaXRpZXMuZ2V0RmlsZURhdGEodmFsdWUsIHRoaXMuaHR0cCkpLmZpbGUsIHZhbHVlLm5hbWUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnN0IGZpbGVEYXRhOiBGaWxlRGF0YSA9IGJvZHlba2V5XSBhcyBGaWxlRGF0YTtcbiAgICAgICAgICAgICAgICBmb3JtRGF0YS5hcHBlbmQoa2V5IGFzIHN0cmluZywgKGF3YWl0IEZpbGVVdGlsaXRpZXMuZ2V0RmlsZURhdGEoZmlsZURhdGEsIHRoaXMuaHR0cCkpLmZpbGUsIGZpbGVEYXRhLm5hbWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHVwZGF0ZWRFbnRpdHk6IEVudGl0eVR5cGUgfCB1bmRlZmluZWQgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbShcbiAgICAgICAgICAgIHRoaXMuaHR0cC5wYXRjaDxFbnRpdHlUeXBlIHwgdW5kZWZpbmVkPihgJHt0aGlzLmJhc2VVcmx9LyR7aWR9YCwgZm9ybURhdGEpXG4gICAgICAgICk7XG4gICAgICAgIGlmICghdXBkYXRlZEVudGl0eSkge1xuICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGVcbiAgICAgICAgICAgIGNvbnNvbGUud2FybignVGhlIHVwZGF0ZWQgZW50aXR5IHdhcyBub3QgcmV0dXJuZWQgaW4gdGhlIHJlc3BvbnNlLiBBcHBseWluZyB0aGUgY2hhbmdlcyBmcm9tIHRoZSByZXF1ZXN0IGJvZHkuJyk7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiBib2R5KSB7XG4gICAgICAgICAgICAgICAgdGhpcy5lbnRpdGllc1t0aGlzLmVudGl0aWVzLmZpbmRJbmRleChlID0+IGVbdGhpcy5pZEtleV0gPT09IGlkKV1ba2V5XVxuICAgICAgICAgICAgICAgICAgICA9IGJvZHlba2V5XSBhcyBFbnRpdHlUeXBlW0V4dHJhY3Q8a2V5b2YgRW50aXR5VHlwZSwgc3RyaW5nPl07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLmVudGl0aWVzU3ViamVjdC5uZXh0KHRoaXMuZW50aXRpZXMpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuZW50aXRpZXNbdGhpcy5lbnRpdGllcy5maW5kSW5kZXgoZSA9PiBlW3RoaXMuaWRLZXldID09PSBpZCldID0gdXBkYXRlZEVudGl0eTtcbiAgICAgICAgdGhpcy5lbnRpdGllc1N1YmplY3QubmV4dCh0aGlzLmVudGl0aWVzKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBVcGRhdGVzIHRoZSBlbnRpdHkgd2l0aCBhIG5vcm1hbCBqc29uIGJvZHkgaW4gY29udHJhc3QgdG8gdXBkYXRpbmcgaXQgd2l0aCBmb3JtIGRhdGEgd2hlbiB0aGUgZW50aXR5IGNvbnRhaW5zIGZpbGVzLlxuICAgICAqIEBwYXJhbSBib2R5IC0gVGhlIGJvZHkgb2YgdGhlIFJlcXVlc3QuIEhhcyBhbHJlYWR5IHJlbW92ZWQgYWxsIHVubmVjZXNzYXJ5IHZhbHVlcy5cbiAgICAgKiBAcGFyYW0gaWQgLSBUaGUgaWQgb2YgdGhlIGVudGl0eSB0byB1cGRhdGUuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGFzeW5jIHVwZGF0ZVdpdGhKc29uKGJvZHk6IFBhcnRpYWw8RW50aXR5VHlwZT4sIGlkOiBFbnRpdHlUeXBlW2tleW9mIEVudGl0eVR5cGVdKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGNvbnN0IHVwZGF0ZWRFbnRpdHk6IEVudGl0eVR5cGUgfCB1bmRlZmluZWQgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbShcbiAgICAgICAgICAgIHRoaXMuaHR0cC5wYXRjaDxFbnRpdHlUeXBlIHwgdW5kZWZpbmVkPihgJHt0aGlzLmJhc2VVcmx9LyR7aWR9YCwgYm9keSlcbiAgICAgICAgKTtcbiAgICAgICAgaWYgKCF1cGRhdGVkRW50aXR5KSB7XG4gICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZVxuICAgICAgICAgICAgY29uc29sZS53YXJuKCdUaGUgdXBkYXRlZCBlbnRpdHkgd2FzIG5vdCByZXR1cm5lZCBpbiB0aGUgcmVzcG9uc2UuIEFwcGx5aW5nIHRoZSBjaGFuZ2VzIGZyb20gdGhlIHJlcXVlc3QgYm9keS4nKTtcbiAgICAgICAgICAgIGNvbnN0IGZvdW5kRW50aXR5OiBFbnRpdHlUeXBlID0gdGhpcy5lbnRpdGllc1t0aGlzLmVudGl0aWVzLmZpbmRJbmRleChlID0+IGVbdGhpcy5pZEtleV0gPT09IGlkKV07XG4gICAgICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiBib2R5KSB7XG4gICAgICAgICAgICAgICAgZm91bmRFbnRpdHlba2V5XVxuICAgICAgICAgICAgICAgICAgICA9IGJvZHlba2V5XSBhcyBFbnRpdHlUeXBlW0V4dHJhY3Q8a2V5b2YgRW50aXR5VHlwZSwgc3RyaW5nPl07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLmVudGl0aWVzU3ViamVjdC5uZXh0KHRoaXMuZW50aXRpZXMpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuZW50aXRpZXNbdGhpcy5lbnRpdGllcy5maW5kSW5kZXgoZSA9PiBlW3RoaXMuaWRLZXldID09PSBpZCldID0gdXBkYXRlZEVudGl0eTtcbiAgICAgICAgdGhpcy5lbnRpdGllc1N1YmplY3QubmV4dCh0aGlzLmVudGl0aWVzKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBEZWxldGVzIGEgc3BlY2lmaWMgRW50aXR5LlxuICAgICAqIEBwYXJhbSBlbnRpdHkgLSBUaGUgZW50aXR5IHRvIGRlbGV0ZS5cbiAgICAgKi9cbiAgICBhc3luYyBkZWxldGUoZW50aXR5OiBFbnRpdHlUeXBlKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGF3YWl0IGZpcnN0VmFsdWVGcm9tKHRoaXMuaHR0cC5kZWxldGU8dm9pZD4oYCR7dGhpcy5iYXNlVXJsfS8ke2VudGl0eVt0aGlzLmlkS2V5XX1gKSk7XG4gICAgICAgIC8vIHRoZSA9PSBjb21wYXJpc29uIGluc3RlYWQgb2YgPT09IGlzIHRvIGNhdGNoIGlkcyB0aGF0IGFyZSBudW1iZXJzLlxuICAgICAgICB0aGlzLmVudGl0aWVzLnNwbGljZSh0aGlzLmVudGl0aWVzLmZpbmRJbmRleChlID0+IGVbdGhpcy5pZEtleV0gPT09IGVudGl0eVt0aGlzLmlkS2V5XSksIDEpO1xuICAgICAgICB0aGlzLmVudGl0aWVzU3ViamVjdC5uZXh0KHRoaXMuZW50aXRpZXMpO1xuICAgIH1cbn0iXX0=
|