@maggioli-design-system/magma-angular 2.0.0-beta.1 → 2.0.0-beta.2
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/fesm2022/maggioli-design-system-magma-angular.mjs +3320 -491
- package/fesm2022/maggioli-design-system-magma-angular.mjs.map +1 -1
- package/index.d.ts +3512 -5
- package/package.json +4 -6
- package/esm2022/lib/magma.module.mjs +0 -30
- package/esm2022/maggioli-design-system-magma-angular.mjs +0 -5
- package/esm2022/public-api.mjs +0 -7
- package/esm2022/stencil-generated/angular-component-lib/utils.mjs +0 -59
- package/esm2022/stencil-generated/components.mjs +0 -3491
- package/esm2022/stencil-generated/index.mjs +0 -118
- package/lib/magma.module.d.ts +0 -9
- package/public-api.d.ts +0 -3
- package/stencil-generated/angular-component-lib/utils.d.ts +0 -9
- package/stencil-generated/components.d.ts +0 -1509
- package/stencil-generated/index.d.ts +0 -2
|
@@ -1,3491 +0,0 @@
|
|
|
1
|
-
import { __decorate } from "tslib";
|
|
2
|
-
/* tslint:disable */
|
|
3
|
-
/* auto-generated angular directive proxies */
|
|
4
|
-
import { ChangeDetectionStrategy, Component, EventEmitter, Output } from '@angular/core';
|
|
5
|
-
import { ProxyCmp } from './angular-component-lib/utils';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
let MdsAccordion = class MdsAccordion {
|
|
8
|
-
z;
|
|
9
|
-
el;
|
|
10
|
-
mdsAccordionChange = new EventEmitter();
|
|
11
|
-
constructor(c, r, z) {
|
|
12
|
-
this.z = z;
|
|
13
|
-
c.detach();
|
|
14
|
-
this.el = r.nativeElement;
|
|
15
|
-
}
|
|
16
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsAccordion, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
17
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MdsAccordion, selector: "mds-accordion", inputs: { closable: "closable", multiple: "multiple" }, outputs: { mdsAccordionChange: "mdsAccordionChange" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
18
|
-
};
|
|
19
|
-
MdsAccordion = __decorate([
|
|
20
|
-
ProxyCmp({
|
|
21
|
-
inputs: ['closable', 'multiple']
|
|
22
|
-
})
|
|
23
|
-
], MdsAccordion);
|
|
24
|
-
export { MdsAccordion };
|
|
25
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsAccordion, decorators: [{
|
|
26
|
-
type: Component,
|
|
27
|
-
args: [{
|
|
28
|
-
selector: 'mds-accordion',
|
|
29
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
30
|
-
template: '<ng-content></ng-content>',
|
|
31
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
32
|
-
inputs: ['closable', 'multiple'],
|
|
33
|
-
outputs: ['mdsAccordionChange'],
|
|
34
|
-
standalone: false
|
|
35
|
-
}]
|
|
36
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }], propDecorators: { mdsAccordionChange: [{
|
|
37
|
-
type: Output
|
|
38
|
-
}] } });
|
|
39
|
-
let MdsAccordionItem = class MdsAccordionItem {
|
|
40
|
-
z;
|
|
41
|
-
el;
|
|
42
|
-
mdsAccordionItemSelect = new EventEmitter();
|
|
43
|
-
mdsAccordionItemUnselect = new EventEmitter();
|
|
44
|
-
mdsAccordionItemChange = new EventEmitter();
|
|
45
|
-
constructor(c, r, z) {
|
|
46
|
-
this.z = z;
|
|
47
|
-
c.detach();
|
|
48
|
-
this.el = r.nativeElement;
|
|
49
|
-
}
|
|
50
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsAccordionItem, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
51
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MdsAccordionItem, selector: "mds-accordion-item", inputs: { label: "label", selected: "selected", typography: "typography" }, outputs: { mdsAccordionItemSelect: "mdsAccordionItemSelect", mdsAccordionItemUnselect: "mdsAccordionItemUnselect", mdsAccordionItemChange: "mdsAccordionItemChange" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
52
|
-
};
|
|
53
|
-
MdsAccordionItem = __decorate([
|
|
54
|
-
ProxyCmp({
|
|
55
|
-
inputs: ['label', 'selected', 'typography']
|
|
56
|
-
})
|
|
57
|
-
], MdsAccordionItem);
|
|
58
|
-
export { MdsAccordionItem };
|
|
59
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsAccordionItem, decorators: [{
|
|
60
|
-
type: Component,
|
|
61
|
-
args: [{
|
|
62
|
-
selector: 'mds-accordion-item',
|
|
63
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
64
|
-
template: '<ng-content></ng-content>',
|
|
65
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
66
|
-
inputs: [{ name: 'label', required: true }, 'selected', 'typography'],
|
|
67
|
-
outputs: ['mdsAccordionItemSelect', 'mdsAccordionItemUnselect', 'mdsAccordionItemChange'],
|
|
68
|
-
standalone: false
|
|
69
|
-
}]
|
|
70
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }], propDecorators: { mdsAccordionItemSelect: [{
|
|
71
|
-
type: Output
|
|
72
|
-
}], mdsAccordionItemUnselect: [{
|
|
73
|
-
type: Output
|
|
74
|
-
}], mdsAccordionItemChange: [{
|
|
75
|
-
type: Output
|
|
76
|
-
}] } });
|
|
77
|
-
let MdsAccordionTimer = class MdsAccordionTimer {
|
|
78
|
-
z;
|
|
79
|
-
el;
|
|
80
|
-
mdsAccordionTimerChange = new EventEmitter();
|
|
81
|
-
constructor(c, r, z) {
|
|
82
|
-
this.z = z;
|
|
83
|
-
c.detach();
|
|
84
|
-
this.el = r.nativeElement;
|
|
85
|
-
}
|
|
86
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsAccordionTimer, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
87
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MdsAccordionTimer, selector: "mds-accordion-timer", inputs: { duration: "duration", paused: "paused" }, outputs: { mdsAccordionTimerChange: "mdsAccordionTimerChange" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
88
|
-
};
|
|
89
|
-
MdsAccordionTimer = __decorate([
|
|
90
|
-
ProxyCmp({
|
|
91
|
-
inputs: ['duration', 'paused']
|
|
92
|
-
})
|
|
93
|
-
], MdsAccordionTimer);
|
|
94
|
-
export { MdsAccordionTimer };
|
|
95
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsAccordionTimer, decorators: [{
|
|
96
|
-
type: Component,
|
|
97
|
-
args: [{
|
|
98
|
-
selector: 'mds-accordion-timer',
|
|
99
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
100
|
-
template: '<ng-content></ng-content>',
|
|
101
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
102
|
-
inputs: ['duration', 'paused'],
|
|
103
|
-
outputs: ['mdsAccordionTimerChange'],
|
|
104
|
-
standalone: false
|
|
105
|
-
}]
|
|
106
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }], propDecorators: { mdsAccordionTimerChange: [{
|
|
107
|
-
type: Output
|
|
108
|
-
}] } });
|
|
109
|
-
let MdsAccordionTimerItem = class MdsAccordionTimerItem {
|
|
110
|
-
z;
|
|
111
|
-
el;
|
|
112
|
-
mdsAccordionTimerItemClickSelect = new EventEmitter();
|
|
113
|
-
mdsAccordionTimerItemSelect = new EventEmitter();
|
|
114
|
-
mdsAccordionTimerItemMouseEnterSelect = new EventEmitter();
|
|
115
|
-
mdsAccordionTimerItemMouseLeaveSelect = new EventEmitter();
|
|
116
|
-
constructor(c, r, z) {
|
|
117
|
-
this.z = z;
|
|
118
|
-
c.detach();
|
|
119
|
-
this.el = r.nativeElement;
|
|
120
|
-
}
|
|
121
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsAccordionTimerItem, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
122
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MdsAccordionTimerItem, selector: "mds-accordion-timer-item", inputs: { description: "description", duration: "duration", progress: "progress", selected: "selected", typography: "typography", uuid: "uuid" }, outputs: { mdsAccordionTimerItemClickSelect: "mdsAccordionTimerItemClickSelect", mdsAccordionTimerItemSelect: "mdsAccordionTimerItemSelect", mdsAccordionTimerItemMouseEnterSelect: "mdsAccordionTimerItemMouseEnterSelect", mdsAccordionTimerItemMouseLeaveSelect: "mdsAccordionTimerItemMouseLeaveSelect" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
123
|
-
};
|
|
124
|
-
MdsAccordionTimerItem = __decorate([
|
|
125
|
-
ProxyCmp({
|
|
126
|
-
inputs: ['description', 'duration', 'progress', 'selected', 'typography', 'uuid']
|
|
127
|
-
})
|
|
128
|
-
], MdsAccordionTimerItem);
|
|
129
|
-
export { MdsAccordionTimerItem };
|
|
130
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsAccordionTimerItem, decorators: [{
|
|
131
|
-
type: Component,
|
|
132
|
-
args: [{
|
|
133
|
-
selector: 'mds-accordion-timer-item',
|
|
134
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
135
|
-
template: '<ng-content></ng-content>',
|
|
136
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
137
|
-
inputs: [{ name: 'description', required: true }, 'duration', 'progress', 'selected', 'typography', 'uuid'],
|
|
138
|
-
outputs: ['mdsAccordionTimerItemClickSelect', 'mdsAccordionTimerItemSelect', 'mdsAccordionTimerItemMouseEnterSelect', 'mdsAccordionTimerItemMouseLeaveSelect'],
|
|
139
|
-
standalone: false
|
|
140
|
-
}]
|
|
141
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }], propDecorators: { mdsAccordionTimerItemClickSelect: [{
|
|
142
|
-
type: Output
|
|
143
|
-
}], mdsAccordionTimerItemSelect: [{
|
|
144
|
-
type: Output
|
|
145
|
-
}], mdsAccordionTimerItemMouseEnterSelect: [{
|
|
146
|
-
type: Output
|
|
147
|
-
}], mdsAccordionTimerItemMouseLeaveSelect: [{
|
|
148
|
-
type: Output
|
|
149
|
-
}] } });
|
|
150
|
-
let MdsAuthor = class MdsAuthor {
|
|
151
|
-
z;
|
|
152
|
-
el;
|
|
153
|
-
constructor(c, r, z) {
|
|
154
|
-
this.z = z;
|
|
155
|
-
c.detach();
|
|
156
|
-
this.el = r.nativeElement;
|
|
157
|
-
}
|
|
158
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsAuthor, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
159
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MdsAuthor, selector: "mds-author", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
160
|
-
};
|
|
161
|
-
MdsAuthor = __decorate([
|
|
162
|
-
ProxyCmp({})
|
|
163
|
-
], MdsAuthor);
|
|
164
|
-
export { MdsAuthor };
|
|
165
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsAuthor, decorators: [{
|
|
166
|
-
type: Component,
|
|
167
|
-
args: [{
|
|
168
|
-
selector: 'mds-author',
|
|
169
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
170
|
-
template: '<ng-content></ng-content>',
|
|
171
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
172
|
-
inputs: [],
|
|
173
|
-
standalone: false
|
|
174
|
-
}]
|
|
175
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
176
|
-
let MdsAvatar = class MdsAvatar {
|
|
177
|
-
z;
|
|
178
|
-
el;
|
|
179
|
-
constructor(c, r, z) {
|
|
180
|
-
this.z = z;
|
|
181
|
-
c.detach();
|
|
182
|
-
this.el = r.nativeElement;
|
|
183
|
-
}
|
|
184
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsAvatar, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
185
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MdsAvatar, selector: "mds-avatar", inputs: { count: "count", icon: "icon", initials: "initials", src: "src", tone: "tone", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
186
|
-
};
|
|
187
|
-
MdsAvatar = __decorate([
|
|
188
|
-
ProxyCmp({
|
|
189
|
-
inputs: ['count', 'icon', 'initials', 'src', 'tone', 'variant']
|
|
190
|
-
})
|
|
191
|
-
], MdsAvatar);
|
|
192
|
-
export { MdsAvatar };
|
|
193
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsAvatar, decorators: [{
|
|
194
|
-
type: Component,
|
|
195
|
-
args: [{
|
|
196
|
-
selector: 'mds-avatar',
|
|
197
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
198
|
-
template: '<ng-content></ng-content>',
|
|
199
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
200
|
-
inputs: ['count', 'icon', 'initials', 'src', 'tone', 'variant'],
|
|
201
|
-
standalone: false
|
|
202
|
-
}]
|
|
203
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
204
|
-
let MdsAvatarStack = class MdsAvatarStack {
|
|
205
|
-
z;
|
|
206
|
-
el;
|
|
207
|
-
constructor(c, r, z) {
|
|
208
|
-
this.z = z;
|
|
209
|
-
c.detach();
|
|
210
|
-
this.el = r.nativeElement;
|
|
211
|
-
}
|
|
212
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsAvatarStack, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
213
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MdsAvatarStack, selector: "mds-avatar-stack", inputs: { size: "size", total: "total" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
214
|
-
};
|
|
215
|
-
MdsAvatarStack = __decorate([
|
|
216
|
-
ProxyCmp({
|
|
217
|
-
inputs: ['size', 'total']
|
|
218
|
-
})
|
|
219
|
-
], MdsAvatarStack);
|
|
220
|
-
export { MdsAvatarStack };
|
|
221
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsAvatarStack, decorators: [{
|
|
222
|
-
type: Component,
|
|
223
|
-
args: [{
|
|
224
|
-
selector: 'mds-avatar-stack',
|
|
225
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
226
|
-
template: '<ng-content></ng-content>',
|
|
227
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
228
|
-
inputs: ['size', 'total'],
|
|
229
|
-
standalone: false
|
|
230
|
-
}]
|
|
231
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
232
|
-
let MdsAvatarStackItem = class MdsAvatarStackItem {
|
|
233
|
-
z;
|
|
234
|
-
el;
|
|
235
|
-
constructor(c, r, z) {
|
|
236
|
-
this.z = z;
|
|
237
|
-
c.detach();
|
|
238
|
-
this.el = r.nativeElement;
|
|
239
|
-
}
|
|
240
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsAvatarStackItem, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
241
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MdsAvatarStackItem, selector: "mds-avatar-stack-item", inputs: { count: "count", initials: "initials", src: "src", tone: "tone", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
242
|
-
};
|
|
243
|
-
MdsAvatarStackItem = __decorate([
|
|
244
|
-
ProxyCmp({
|
|
245
|
-
inputs: ['count', 'initials', 'src', 'tone', 'variant']
|
|
246
|
-
})
|
|
247
|
-
], MdsAvatarStackItem);
|
|
248
|
-
export { MdsAvatarStackItem };
|
|
249
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsAvatarStackItem, decorators: [{
|
|
250
|
-
type: Component,
|
|
251
|
-
args: [{
|
|
252
|
-
selector: 'mds-avatar-stack-item',
|
|
253
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
254
|
-
template: '<ng-content></ng-content>',
|
|
255
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
256
|
-
inputs: ['count', 'initials', 'src', 'tone', 'variant'],
|
|
257
|
-
standalone: false
|
|
258
|
-
}]
|
|
259
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
260
|
-
let MdsBadge = class MdsBadge {
|
|
261
|
-
z;
|
|
262
|
-
el;
|
|
263
|
-
constructor(c, r, z) {
|
|
264
|
-
this.z = z;
|
|
265
|
-
c.detach();
|
|
266
|
-
this.el = r.nativeElement;
|
|
267
|
-
}
|
|
268
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsBadge, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
269
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MdsBadge, selector: "mds-badge", inputs: { label: "label", tone: "tone", typography: "typography", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
270
|
-
};
|
|
271
|
-
MdsBadge = __decorate([
|
|
272
|
-
ProxyCmp({
|
|
273
|
-
inputs: ['label', 'tone', 'typography', 'variant']
|
|
274
|
-
})
|
|
275
|
-
], MdsBadge);
|
|
276
|
-
export { MdsBadge };
|
|
277
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsBadge, decorators: [{
|
|
278
|
-
type: Component,
|
|
279
|
-
args: [{
|
|
280
|
-
selector: 'mds-badge',
|
|
281
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
282
|
-
template: '<ng-content></ng-content>',
|
|
283
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
284
|
-
inputs: ['label', 'tone', 'typography', 'variant'],
|
|
285
|
-
standalone: false
|
|
286
|
-
}]
|
|
287
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
288
|
-
let MdsBanner = class MdsBanner {
|
|
289
|
-
z;
|
|
290
|
-
el;
|
|
291
|
-
mdsBannerClose = new EventEmitter();
|
|
292
|
-
constructor(c, r, z) {
|
|
293
|
-
this.z = z;
|
|
294
|
-
c.detach();
|
|
295
|
-
this.el = r.nativeElement;
|
|
296
|
-
}
|
|
297
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsBanner, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
298
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MdsBanner, selector: "mds-banner", inputs: { cockade: "cockade", deletable: "deletable", headline: "headline", icon: "icon", tone: "tone", variant: "variant" }, outputs: { mdsBannerClose: "mdsBannerClose" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
299
|
-
};
|
|
300
|
-
MdsBanner = __decorate([
|
|
301
|
-
ProxyCmp({
|
|
302
|
-
inputs: ['cockade', 'deletable', 'headline', 'icon', 'tone', 'variant'],
|
|
303
|
-
methods: ['updateLang']
|
|
304
|
-
})
|
|
305
|
-
], MdsBanner);
|
|
306
|
-
export { MdsBanner };
|
|
307
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsBanner, decorators: [{
|
|
308
|
-
type: Component,
|
|
309
|
-
args: [{
|
|
310
|
-
selector: 'mds-banner',
|
|
311
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
312
|
-
template: '<ng-content></ng-content>',
|
|
313
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
314
|
-
inputs: ['cockade', 'deletable', 'headline', 'icon', 'tone', 'variant'],
|
|
315
|
-
outputs: ['mdsBannerClose'],
|
|
316
|
-
standalone: false
|
|
317
|
-
}]
|
|
318
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }], propDecorators: { mdsBannerClose: [{
|
|
319
|
-
type: Output
|
|
320
|
-
}] } });
|
|
321
|
-
let MdsBenchmarkBar = class MdsBenchmarkBar {
|
|
322
|
-
z;
|
|
323
|
-
el;
|
|
324
|
-
constructor(c, r, z) {
|
|
325
|
-
this.z = z;
|
|
326
|
-
c.detach();
|
|
327
|
-
this.el = r.nativeElement;
|
|
328
|
-
}
|
|
329
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsBenchmarkBar, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
330
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MdsBenchmarkBar, selector: "mds-benchmark-bar", inputs: { alias: "alias", label: "label", size: "size", typography: "typography", value: "value", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
331
|
-
};
|
|
332
|
-
MdsBenchmarkBar = __decorate([
|
|
333
|
-
ProxyCmp({
|
|
334
|
-
inputs: ['alias', 'label', 'size', 'typography', 'value', 'variant']
|
|
335
|
-
})
|
|
336
|
-
], MdsBenchmarkBar);
|
|
337
|
-
export { MdsBenchmarkBar };
|
|
338
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsBenchmarkBar, decorators: [{
|
|
339
|
-
type: Component,
|
|
340
|
-
args: [{
|
|
341
|
-
selector: 'mds-benchmark-bar',
|
|
342
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
343
|
-
template: '<ng-content></ng-content>',
|
|
344
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
345
|
-
inputs: ['alias', 'label', 'size', 'typography', 'value', 'variant'],
|
|
346
|
-
standalone: false
|
|
347
|
-
}]
|
|
348
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
349
|
-
let MdsBibliography = class MdsBibliography {
|
|
350
|
-
z;
|
|
351
|
-
el;
|
|
352
|
-
constructor(c, r, z) {
|
|
353
|
-
this.z = z;
|
|
354
|
-
c.detach();
|
|
355
|
-
this.el = r.nativeElement;
|
|
356
|
-
}
|
|
357
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsBibliography, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
358
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MdsBibliography, selector: "mds-bibliography", inputs: { author: "author", date: "date", format: "format", location: "location", name: "name", publisher: "publisher", rel: "rel", typography: "typography", url: "url", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
359
|
-
};
|
|
360
|
-
MdsBibliography = __decorate([
|
|
361
|
-
ProxyCmp({
|
|
362
|
-
inputs: ['author', 'date', 'format', 'location', 'name', 'publisher', 'rel', 'typography', 'url', 'variant']
|
|
363
|
-
})
|
|
364
|
-
], MdsBibliography);
|
|
365
|
-
export { MdsBibliography };
|
|
366
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsBibliography, decorators: [{
|
|
367
|
-
type: Component,
|
|
368
|
-
args: [{
|
|
369
|
-
selector: 'mds-bibliography',
|
|
370
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
371
|
-
template: '<ng-content></ng-content>',
|
|
372
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
373
|
-
inputs: ['author', 'date', 'format', 'location', 'name', 'publisher', 'rel', 'typography', 'url', 'variant'],
|
|
374
|
-
standalone: false
|
|
375
|
-
}]
|
|
376
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
377
|
-
let MdsBreadcrumb = class MdsBreadcrumb {
|
|
378
|
-
z;
|
|
379
|
-
el;
|
|
380
|
-
mdsBreadcrumbChange = new EventEmitter();
|
|
381
|
-
constructor(c, r, z) {
|
|
382
|
-
this.z = z;
|
|
383
|
-
c.detach();
|
|
384
|
-
this.el = r.nativeElement;
|
|
385
|
-
}
|
|
386
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsBreadcrumb, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
387
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MdsBreadcrumb, selector: "mds-breadcrumb", inputs: { back: "back" }, outputs: { mdsBreadcrumbChange: "mdsBreadcrumbChange" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
388
|
-
};
|
|
389
|
-
MdsBreadcrumb = __decorate([
|
|
390
|
-
ProxyCmp({
|
|
391
|
-
inputs: ['back'],
|
|
392
|
-
methods: ['updateLang']
|
|
393
|
-
})
|
|
394
|
-
], MdsBreadcrumb);
|
|
395
|
-
export { MdsBreadcrumb };
|
|
396
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsBreadcrumb, decorators: [{
|
|
397
|
-
type: Component,
|
|
398
|
-
args: [{
|
|
399
|
-
selector: 'mds-breadcrumb',
|
|
400
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
401
|
-
template: '<ng-content></ng-content>',
|
|
402
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
403
|
-
inputs: ['back'],
|
|
404
|
-
outputs: ['mdsBreadcrumbChange'],
|
|
405
|
-
standalone: false
|
|
406
|
-
}]
|
|
407
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }], propDecorators: { mdsBreadcrumbChange: [{
|
|
408
|
-
type: Output
|
|
409
|
-
}] } });
|
|
410
|
-
let MdsBreadcrumbItem = class MdsBreadcrumbItem {
|
|
411
|
-
z;
|
|
412
|
-
el;
|
|
413
|
-
mdsBreadcrumbItemSelect = new EventEmitter();
|
|
414
|
-
constructor(c, r, z) {
|
|
415
|
-
this.z = z;
|
|
416
|
-
c.detach();
|
|
417
|
-
this.el = r.nativeElement;
|
|
418
|
-
}
|
|
419
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsBreadcrumbItem, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
420
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MdsBreadcrumbItem, selector: "mds-breadcrumb-item", inputs: { label: "label", selected: "selected" }, outputs: { mdsBreadcrumbItemSelect: "mdsBreadcrumbItemSelect" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
421
|
-
};
|
|
422
|
-
MdsBreadcrumbItem = __decorate([
|
|
423
|
-
ProxyCmp({
|
|
424
|
-
inputs: ['label', 'selected']
|
|
425
|
-
})
|
|
426
|
-
], MdsBreadcrumbItem);
|
|
427
|
-
export { MdsBreadcrumbItem };
|
|
428
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsBreadcrumbItem, decorators: [{
|
|
429
|
-
type: Component,
|
|
430
|
-
args: [{
|
|
431
|
-
selector: 'mds-breadcrumb-item',
|
|
432
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
433
|
-
template: '<ng-content></ng-content>',
|
|
434
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
435
|
-
inputs: ['label', 'selected'],
|
|
436
|
-
outputs: ['mdsBreadcrumbItemSelect'],
|
|
437
|
-
standalone: false
|
|
438
|
-
}]
|
|
439
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }], propDecorators: { mdsBreadcrumbItemSelect: [{
|
|
440
|
-
type: Output
|
|
441
|
-
}] } });
|
|
442
|
-
let MdsButton = class MdsButton {
|
|
443
|
-
z;
|
|
444
|
-
el;
|
|
445
|
-
constructor(c, r, z) {
|
|
446
|
-
this.z = z;
|
|
447
|
-
c.detach();
|
|
448
|
-
this.el = r.nativeElement;
|
|
449
|
-
}
|
|
450
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsButton, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
451
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MdsButton, selector: "mds-button", inputs: { active: "active", animation: "animation", autoFocus: "autoFocus", await: "await", disabled: "disabled", href: "href", icon: "icon", iconPosition: "iconPosition", label: "label", size: "size", target: "target", tone: "tone", truncate: "truncate", type: "type", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
452
|
-
};
|
|
453
|
-
MdsButton = __decorate([
|
|
454
|
-
ProxyCmp({
|
|
455
|
-
inputs: ['active', 'animation', 'autoFocus', 'await', 'disabled', 'href', 'icon', 'iconPosition', 'label', 'size', 'target', 'tone', 'truncate', 'type', 'variant']
|
|
456
|
-
})
|
|
457
|
-
], MdsButton);
|
|
458
|
-
export { MdsButton };
|
|
459
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsButton, decorators: [{
|
|
460
|
-
type: Component,
|
|
461
|
-
args: [{
|
|
462
|
-
selector: 'mds-button',
|
|
463
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
464
|
-
template: '<ng-content></ng-content>',
|
|
465
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
466
|
-
inputs: ['active', 'animation', 'autoFocus', 'await', 'disabled', 'href', 'icon', 'iconPosition', 'label', 'size', 'target', 'tone', 'truncate', 'type', 'variant'],
|
|
467
|
-
standalone: false
|
|
468
|
-
}]
|
|
469
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
470
|
-
let MdsButtonDropdown = class MdsButtonDropdown {
|
|
471
|
-
z;
|
|
472
|
-
el;
|
|
473
|
-
constructor(c, r, z) {
|
|
474
|
-
this.z = z;
|
|
475
|
-
c.detach();
|
|
476
|
-
this.el = r.nativeElement;
|
|
477
|
-
}
|
|
478
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsButtonDropdown, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
479
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MdsButtonDropdown, selector: "mds-button-dropdown", inputs: { active: "active", autoFocus: "autoFocus", await: "await", disabled: "disabled", href: "href", icon: "icon", label: "label", size: "size", target: "target", tone: "tone", truncate: "truncate", type: "type", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
480
|
-
};
|
|
481
|
-
MdsButtonDropdown = __decorate([
|
|
482
|
-
ProxyCmp({
|
|
483
|
-
inputs: ['active', 'autoFocus', 'await', 'disabled', 'href', 'icon', 'label', 'size', 'target', 'tone', 'truncate', 'type', 'variant']
|
|
484
|
-
})
|
|
485
|
-
], MdsButtonDropdown);
|
|
486
|
-
export { MdsButtonDropdown };
|
|
487
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsButtonDropdown, decorators: [{
|
|
488
|
-
type: Component,
|
|
489
|
-
args: [{
|
|
490
|
-
selector: 'mds-button-dropdown',
|
|
491
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
492
|
-
template: '<ng-content></ng-content>',
|
|
493
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
494
|
-
inputs: ['active', 'autoFocus', 'await', 'disabled', 'href', 'icon', 'label', 'size', 'target', 'tone', 'truncate', 'type', 'variant'],
|
|
495
|
-
standalone: false
|
|
496
|
-
}]
|
|
497
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
498
|
-
let MdsButtonGroup = class MdsButtonGroup {
|
|
499
|
-
z;
|
|
500
|
-
el;
|
|
501
|
-
constructor(c, r, z) {
|
|
502
|
-
this.z = z;
|
|
503
|
-
c.detach();
|
|
504
|
-
this.el = r.nativeElement;
|
|
505
|
-
}
|
|
506
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsButtonGroup, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
507
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MdsButtonGroup, selector: "mds-button-group", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
508
|
-
};
|
|
509
|
-
MdsButtonGroup = __decorate([
|
|
510
|
-
ProxyCmp({})
|
|
511
|
-
], MdsButtonGroup);
|
|
512
|
-
export { MdsButtonGroup };
|
|
513
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsButtonGroup, decorators: [{
|
|
514
|
-
type: Component,
|
|
515
|
-
args: [{
|
|
516
|
-
selector: 'mds-button-group',
|
|
517
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
518
|
-
template: '<ng-content></ng-content>',
|
|
519
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
520
|
-
inputs: [],
|
|
521
|
-
standalone: false
|
|
522
|
-
}]
|
|
523
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
524
|
-
let MdsCalendar = class MdsCalendar {
|
|
525
|
-
z;
|
|
526
|
-
el;
|
|
527
|
-
mdsCalendarChange = new EventEmitter();
|
|
528
|
-
mdsCalendarPreselect = new EventEmitter();
|
|
529
|
-
constructor(c, r, z) {
|
|
530
|
-
this.z = z;
|
|
531
|
-
c.detach();
|
|
532
|
-
this.el = r.nativeElement;
|
|
533
|
-
}
|
|
534
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsCalendar, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
535
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MdsCalendar, selector: "mds-calendar", inputs: { endDate: "endDate", max: "max", min: "min", rangePicker: "rangePicker", startDate: "startDate" }, outputs: { mdsCalendarChange: "mdsCalendarChange", mdsCalendarPreselect: "mdsCalendarPreselect" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
536
|
-
};
|
|
537
|
-
MdsCalendar = __decorate([
|
|
538
|
-
ProxyCmp({
|
|
539
|
-
inputs: ['endDate', 'max', 'min', 'rangePicker', 'startDate'],
|
|
540
|
-
methods: ['updateLang', 'updateCurrentDate']
|
|
541
|
-
})
|
|
542
|
-
], MdsCalendar);
|
|
543
|
-
export { MdsCalendar };
|
|
544
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsCalendar, decorators: [{
|
|
545
|
-
type: Component,
|
|
546
|
-
args: [{
|
|
547
|
-
selector: 'mds-calendar',
|
|
548
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
549
|
-
template: '<ng-content></ng-content>',
|
|
550
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
551
|
-
inputs: ['endDate', 'max', 'min', 'rangePicker', 'startDate'],
|
|
552
|
-
outputs: ['mdsCalendarChange', 'mdsCalendarPreselect'],
|
|
553
|
-
standalone: false
|
|
554
|
-
}]
|
|
555
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }], propDecorators: { mdsCalendarChange: [{
|
|
556
|
-
type: Output
|
|
557
|
-
}], mdsCalendarPreselect: [{
|
|
558
|
-
type: Output
|
|
559
|
-
}] } });
|
|
560
|
-
let MdsCalendarCell = class MdsCalendarCell {
|
|
561
|
-
z;
|
|
562
|
-
el;
|
|
563
|
-
constructor(c, r, z) {
|
|
564
|
-
this.z = z;
|
|
565
|
-
c.detach();
|
|
566
|
-
this.el = r.nativeElement;
|
|
567
|
-
}
|
|
568
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsCalendarCell, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
569
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MdsCalendarCell, selector: "mds-calendar-cell", inputs: { date: "date", disabled: "disabled", label: "label", month: "month", orientation: "orientation", preview: "preview", selection: "selection", today: "today" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
570
|
-
};
|
|
571
|
-
MdsCalendarCell = __decorate([
|
|
572
|
-
ProxyCmp({
|
|
573
|
-
inputs: ['date', 'disabled', 'label', 'month', 'orientation', 'preview', 'selection', 'today']
|
|
574
|
-
})
|
|
575
|
-
], MdsCalendarCell);
|
|
576
|
-
export { MdsCalendarCell };
|
|
577
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsCalendarCell, decorators: [{
|
|
578
|
-
type: Component,
|
|
579
|
-
args: [{
|
|
580
|
-
selector: 'mds-calendar-cell',
|
|
581
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
582
|
-
template: '<ng-content></ng-content>',
|
|
583
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
584
|
-
inputs: ['date', 'disabled', 'label', 'month', 'orientation', 'preview', 'selection', 'today'],
|
|
585
|
-
standalone: false
|
|
586
|
-
}]
|
|
587
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
588
|
-
let MdsCard = class MdsCard {
|
|
589
|
-
z;
|
|
590
|
-
el;
|
|
591
|
-
constructor(c, r, z) {
|
|
592
|
-
this.z = z;
|
|
593
|
-
c.detach();
|
|
594
|
-
this.el = r.nativeElement;
|
|
595
|
-
}
|
|
596
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsCard, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
597
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MdsCard, selector: "mds-card", inputs: { autoGrid: "autoGrid" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
598
|
-
};
|
|
599
|
-
MdsCard = __decorate([
|
|
600
|
-
ProxyCmp({
|
|
601
|
-
inputs: ['autoGrid']
|
|
602
|
-
})
|
|
603
|
-
], MdsCard);
|
|
604
|
-
export { MdsCard };
|
|
605
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsCard, decorators: [{
|
|
606
|
-
type: Component,
|
|
607
|
-
args: [{
|
|
608
|
-
selector: 'mds-card',
|
|
609
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
610
|
-
template: '<ng-content></ng-content>',
|
|
611
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
612
|
-
inputs: ['autoGrid'],
|
|
613
|
-
standalone: false
|
|
614
|
-
}]
|
|
615
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
616
|
-
let MdsCardContent = class MdsCardContent {
|
|
617
|
-
z;
|
|
618
|
-
el;
|
|
619
|
-
constructor(c, r, z) {
|
|
620
|
-
this.z = z;
|
|
621
|
-
c.detach();
|
|
622
|
-
this.el = r.nativeElement;
|
|
623
|
-
}
|
|
624
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsCardContent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
625
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MdsCardContent, selector: "mds-card-content", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
626
|
-
};
|
|
627
|
-
MdsCardContent = __decorate([
|
|
628
|
-
ProxyCmp({})
|
|
629
|
-
], MdsCardContent);
|
|
630
|
-
export { MdsCardContent };
|
|
631
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsCardContent, decorators: [{
|
|
632
|
-
type: Component,
|
|
633
|
-
args: [{
|
|
634
|
-
selector: 'mds-card-content',
|
|
635
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
636
|
-
template: '<ng-content></ng-content>',
|
|
637
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
638
|
-
inputs: [],
|
|
639
|
-
standalone: false
|
|
640
|
-
}]
|
|
641
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
642
|
-
let MdsCardFooter = class MdsCardFooter {
|
|
643
|
-
z;
|
|
644
|
-
el;
|
|
645
|
-
constructor(c, r, z) {
|
|
646
|
-
this.z = z;
|
|
647
|
-
c.detach();
|
|
648
|
-
this.el = r.nativeElement;
|
|
649
|
-
}
|
|
650
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsCardFooter, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
651
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MdsCardFooter, selector: "mds-card-footer", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
652
|
-
};
|
|
653
|
-
MdsCardFooter = __decorate([
|
|
654
|
-
ProxyCmp({})
|
|
655
|
-
], MdsCardFooter);
|
|
656
|
-
export { MdsCardFooter };
|
|
657
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsCardFooter, decorators: [{
|
|
658
|
-
type: Component,
|
|
659
|
-
args: [{
|
|
660
|
-
selector: 'mds-card-footer',
|
|
661
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
662
|
-
template: '<ng-content></ng-content>',
|
|
663
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
664
|
-
inputs: [],
|
|
665
|
-
standalone: false
|
|
666
|
-
}]
|
|
667
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
668
|
-
let MdsCardHeader = class MdsCardHeader {
|
|
669
|
-
z;
|
|
670
|
-
el;
|
|
671
|
-
constructor(c, r, z) {
|
|
672
|
-
this.z = z;
|
|
673
|
-
c.detach();
|
|
674
|
-
this.el = r.nativeElement;
|
|
675
|
-
}
|
|
676
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsCardHeader, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
677
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MdsCardHeader, selector: "mds-card-header", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
678
|
-
};
|
|
679
|
-
MdsCardHeader = __decorate([
|
|
680
|
-
ProxyCmp({})
|
|
681
|
-
], MdsCardHeader);
|
|
682
|
-
export { MdsCardHeader };
|
|
683
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsCardHeader, decorators: [{
|
|
684
|
-
type: Component,
|
|
685
|
-
args: [{
|
|
686
|
-
selector: 'mds-card-header',
|
|
687
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
688
|
-
template: '<ng-content></ng-content>',
|
|
689
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
690
|
-
inputs: [],
|
|
691
|
-
standalone: false
|
|
692
|
-
}]
|
|
693
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
694
|
-
let MdsCardMedia = class MdsCardMedia {
|
|
695
|
-
z;
|
|
696
|
-
el;
|
|
697
|
-
constructor(c, r, z) {
|
|
698
|
-
this.z = z;
|
|
699
|
-
c.detach();
|
|
700
|
-
this.el = r.nativeElement;
|
|
701
|
-
}
|
|
702
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsCardMedia, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
703
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MdsCardMedia, selector: "mds-card-media", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
704
|
-
};
|
|
705
|
-
MdsCardMedia = __decorate([
|
|
706
|
-
ProxyCmp({})
|
|
707
|
-
], MdsCardMedia);
|
|
708
|
-
export { MdsCardMedia };
|
|
709
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsCardMedia, decorators: [{
|
|
710
|
-
type: Component,
|
|
711
|
-
args: [{
|
|
712
|
-
selector: 'mds-card-media',
|
|
713
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
714
|
-
template: '<ng-content></ng-content>',
|
|
715
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
716
|
-
inputs: [],
|
|
717
|
-
standalone: false
|
|
718
|
-
}]
|
|
719
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
720
|
-
let MdsChip = class MdsChip {
|
|
721
|
-
z;
|
|
722
|
-
el;
|
|
723
|
-
mdsChipClickLabel = new EventEmitter();
|
|
724
|
-
mdsChipDelete = new EventEmitter();
|
|
725
|
-
mdsChipSelect = new EventEmitter();
|
|
726
|
-
constructor(c, r, z) {
|
|
727
|
-
this.z = z;
|
|
728
|
-
c.detach();
|
|
729
|
-
this.el = r.nativeElement;
|
|
730
|
-
}
|
|
731
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsChip, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
732
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MdsChip, selector: "mds-chip", inputs: { clickable: "clickable", deletable: "deletable", disabled: "disabled", icon: "icon", label: "label", selectable: "selectable", selected: "selected", tone: "tone", variant: "variant" }, outputs: { mdsChipClickLabel: "mdsChipClickLabel", mdsChipDelete: "mdsChipDelete", mdsChipSelect: "mdsChipSelect" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
733
|
-
};
|
|
734
|
-
MdsChip = __decorate([
|
|
735
|
-
ProxyCmp({
|
|
736
|
-
inputs: ['clickable', 'deletable', 'disabled', 'icon', 'label', 'selectable', 'selected', 'tone', 'variant'],
|
|
737
|
-
methods: ['updateLang']
|
|
738
|
-
})
|
|
739
|
-
], MdsChip);
|
|
740
|
-
export { MdsChip };
|
|
741
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsChip, decorators: [{
|
|
742
|
-
type: Component,
|
|
743
|
-
args: [{
|
|
744
|
-
selector: 'mds-chip',
|
|
745
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
746
|
-
template: '<ng-content></ng-content>',
|
|
747
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
748
|
-
inputs: ['clickable', 'deletable', 'disabled', 'icon', { name: 'label', required: true }, 'selectable', 'selected', 'tone', 'variant'],
|
|
749
|
-
outputs: ['mdsChipClickLabel', 'mdsChipDelete', 'mdsChipSelect'],
|
|
750
|
-
standalone: false
|
|
751
|
-
}]
|
|
752
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }], propDecorators: { mdsChipClickLabel: [{
|
|
753
|
-
type: Output
|
|
754
|
-
}], mdsChipDelete: [{
|
|
755
|
-
type: Output
|
|
756
|
-
}], mdsChipSelect: [{
|
|
757
|
-
type: Output
|
|
758
|
-
}] } });
|
|
759
|
-
let MdsDetails = class MdsDetails {
|
|
760
|
-
z;
|
|
761
|
-
el;
|
|
762
|
-
mdsDetailsChange = new EventEmitter();
|
|
763
|
-
constructor(c, r, z) {
|
|
764
|
-
this.z = z;
|
|
765
|
-
c.detach();
|
|
766
|
-
this.el = r.nativeElement;
|
|
767
|
-
}
|
|
768
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsDetails, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
769
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MdsDetails, selector: "mds-details", inputs: { opened: "opened" }, outputs: { mdsDetailsChange: "mdsDetailsChange" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
770
|
-
};
|
|
771
|
-
MdsDetails = __decorate([
|
|
772
|
-
ProxyCmp({
|
|
773
|
-
inputs: ['opened']
|
|
774
|
-
})
|
|
775
|
-
], MdsDetails);
|
|
776
|
-
export { MdsDetails };
|
|
777
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsDetails, decorators: [{
|
|
778
|
-
type: Component,
|
|
779
|
-
args: [{
|
|
780
|
-
selector: 'mds-details',
|
|
781
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
782
|
-
template: '<ng-content></ng-content>',
|
|
783
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
784
|
-
inputs: ['opened'],
|
|
785
|
-
outputs: ['mdsDetailsChange'],
|
|
786
|
-
standalone: false
|
|
787
|
-
}]
|
|
788
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }], propDecorators: { mdsDetailsChange: [{
|
|
789
|
-
type: Output
|
|
790
|
-
}] } });
|
|
791
|
-
let MdsDropdown = class MdsDropdown {
|
|
792
|
-
z;
|
|
793
|
-
el;
|
|
794
|
-
mdsDropdownVisible = new EventEmitter();
|
|
795
|
-
mdsDropdownHide = new EventEmitter();
|
|
796
|
-
mdsDropdownChange = new EventEmitter();
|
|
797
|
-
constructor(c, r, z) {
|
|
798
|
-
this.z = z;
|
|
799
|
-
c.detach();
|
|
800
|
-
this.el = r.nativeElement;
|
|
801
|
-
}
|
|
802
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsDropdown, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
803
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MdsDropdown, selector: "mds-dropdown", inputs: { arrow: "arrow", arrowPadding: "arrowPadding", autoPlacement: "autoPlacement", backdrop: "backdrop", flip: "flip", interaction: "interaction", offset: "offset", placement: "placement", shift: "shift", shiftPadding: "shiftPadding", smooth: "smooth", strategy: "strategy", target: "target", visible: "visible", zIndex: "zIndex" }, outputs: { mdsDropdownVisible: "mdsDropdownVisible", mdsDropdownHide: "mdsDropdownHide", mdsDropdownChange: "mdsDropdownChange" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
804
|
-
};
|
|
805
|
-
MdsDropdown = __decorate([
|
|
806
|
-
ProxyCmp({
|
|
807
|
-
inputs: ['arrow', 'arrowPadding', 'autoPlacement', 'backdrop', 'flip', 'interaction', 'offset', 'placement', 'shift', 'shiftPadding', 'smooth', 'strategy', 'target', 'visible', 'zIndex']
|
|
808
|
-
})
|
|
809
|
-
], MdsDropdown);
|
|
810
|
-
export { MdsDropdown };
|
|
811
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsDropdown, decorators: [{
|
|
812
|
-
type: Component,
|
|
813
|
-
args: [{
|
|
814
|
-
selector: 'mds-dropdown',
|
|
815
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
816
|
-
template: '<ng-content></ng-content>',
|
|
817
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
818
|
-
inputs: ['arrow', 'arrowPadding', 'autoPlacement', 'backdrop', 'flip', 'interaction', 'offset', 'placement', 'shift', 'shiftPadding', 'smooth', 'strategy', { name: 'target', required: true }, 'visible', 'zIndex'],
|
|
819
|
-
outputs: ['mdsDropdownVisible', 'mdsDropdownHide', 'mdsDropdownChange'],
|
|
820
|
-
standalone: false
|
|
821
|
-
}]
|
|
822
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }], propDecorators: { mdsDropdownVisible: [{
|
|
823
|
-
type: Output
|
|
824
|
-
}], mdsDropdownHide: [{
|
|
825
|
-
type: Output
|
|
826
|
-
}], mdsDropdownChange: [{
|
|
827
|
-
type: Output
|
|
828
|
-
}] } });
|
|
829
|
-
let MdsEmoji = class MdsEmoji {
|
|
830
|
-
z;
|
|
831
|
-
el;
|
|
832
|
-
constructor(c, r, z) {
|
|
833
|
-
this.z = z;
|
|
834
|
-
c.detach();
|
|
835
|
-
this.el = r.nativeElement;
|
|
836
|
-
}
|
|
837
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsEmoji, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
838
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MdsEmoji, selector: "mds-emoji", inputs: { name: "name" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
839
|
-
};
|
|
840
|
-
MdsEmoji = __decorate([
|
|
841
|
-
ProxyCmp({
|
|
842
|
-
inputs: ['name'],
|
|
843
|
-
methods: ['agree', 'smile', 'disagree', 'startThinking', 'stopThinking', 'startBlinking', 'stopBlinking', 'stopFollowMouse', 'startFollowMouse']
|
|
844
|
-
})
|
|
845
|
-
], MdsEmoji);
|
|
846
|
-
export { MdsEmoji };
|
|
847
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsEmoji, decorators: [{
|
|
848
|
-
type: Component,
|
|
849
|
-
args: [{
|
|
850
|
-
selector: 'mds-emoji',
|
|
851
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
852
|
-
template: '<ng-content></ng-content>',
|
|
853
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
854
|
-
inputs: ['name'],
|
|
855
|
-
standalone: false
|
|
856
|
-
}]
|
|
857
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
858
|
-
let MdsEntity = class MdsEntity {
|
|
859
|
-
z;
|
|
860
|
-
el;
|
|
861
|
-
constructor(c, r, z) {
|
|
862
|
-
this.z = z;
|
|
863
|
-
c.detach();
|
|
864
|
-
this.el = r.nativeElement;
|
|
865
|
-
}
|
|
866
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsEntity, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
867
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MdsEntity, selector: "mds-entity", inputs: { await: "await", icon: "icon", initials: "initials", src: "src", tone: "tone", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
868
|
-
};
|
|
869
|
-
MdsEntity = __decorate([
|
|
870
|
-
ProxyCmp({
|
|
871
|
-
inputs: ['await', 'icon', 'initials', 'src', 'tone', 'variant']
|
|
872
|
-
})
|
|
873
|
-
], MdsEntity);
|
|
874
|
-
export { MdsEntity };
|
|
875
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsEntity, decorators: [{
|
|
876
|
-
type: Component,
|
|
877
|
-
args: [{
|
|
878
|
-
selector: 'mds-entity',
|
|
879
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
880
|
-
template: '<ng-content></ng-content>',
|
|
881
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
882
|
-
inputs: ['await', 'icon', 'initials', 'src', 'tone', 'variant'],
|
|
883
|
-
standalone: false
|
|
884
|
-
}]
|
|
885
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
886
|
-
let MdsFile = class MdsFile {
|
|
887
|
-
z;
|
|
888
|
-
el;
|
|
889
|
-
mdsFileDownload = new EventEmitter();
|
|
890
|
-
constructor(c, r, z) {
|
|
891
|
-
this.z = z;
|
|
892
|
-
c.detach();
|
|
893
|
-
this.el = r.nativeElement;
|
|
894
|
-
}
|
|
895
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsFile, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
896
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MdsFile, selector: "mds-file", inputs: { description: "description", filename: "filename", format: "format", preview: "preview", showDownloadedIcon: "showDownloadedIcon", suffix: "suffix" }, outputs: { mdsFileDownload: "mdsFileDownload" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
897
|
-
};
|
|
898
|
-
MdsFile = __decorate([
|
|
899
|
-
ProxyCmp({
|
|
900
|
-
inputs: ['description', 'filename', 'format', 'preview', 'showDownloadedIcon', 'suffix'],
|
|
901
|
-
methods: ['updateLang']
|
|
902
|
-
})
|
|
903
|
-
], MdsFile);
|
|
904
|
-
export { MdsFile };
|
|
905
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsFile, decorators: [{
|
|
906
|
-
type: Component,
|
|
907
|
-
args: [{
|
|
908
|
-
selector: 'mds-file',
|
|
909
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
910
|
-
template: '<ng-content></ng-content>',
|
|
911
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
912
|
-
inputs: ['description', 'filename', 'format', 'preview', 'showDownloadedIcon', 'suffix'],
|
|
913
|
-
outputs: ['mdsFileDownload'],
|
|
914
|
-
standalone: false
|
|
915
|
-
}]
|
|
916
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }], propDecorators: { mdsFileDownload: [{
|
|
917
|
-
type: Output
|
|
918
|
-
}] } });
|
|
919
|
-
let MdsFilePreview = class MdsFilePreview {
|
|
920
|
-
z;
|
|
921
|
-
el;
|
|
922
|
-
mdsFileDownload = new EventEmitter();
|
|
923
|
-
mdsFileDelete = new EventEmitter();
|
|
924
|
-
constructor(c, r, z) {
|
|
925
|
-
this.z = z;
|
|
926
|
-
c.detach();
|
|
927
|
-
this.el = r.nativeElement;
|
|
928
|
-
}
|
|
929
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsFilePreview, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
930
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MdsFilePreview, selector: "mds-file-preview", inputs: { deletable: "deletable", description: "description", downloadable: "downloadable", filename: "filename", filesize: "filesize", format: "format", icon: "icon", message: "message", src: "src", suffix: "suffix", truncate: "truncate", variant: "variant" }, outputs: { mdsFileDownload: "mdsFileDownload", mdsFileDelete: "mdsFileDelete" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
931
|
-
};
|
|
932
|
-
MdsFilePreview = __decorate([
|
|
933
|
-
ProxyCmp({
|
|
934
|
-
inputs: ['deletable', 'description', 'downloadable', 'filename', 'filesize', 'format', 'icon', 'message', 'src', 'suffix', 'truncate', 'variant'],
|
|
935
|
-
methods: ['updateLang']
|
|
936
|
-
})
|
|
937
|
-
], MdsFilePreview);
|
|
938
|
-
export { MdsFilePreview };
|
|
939
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsFilePreview, decorators: [{
|
|
940
|
-
type: Component,
|
|
941
|
-
args: [{
|
|
942
|
-
selector: 'mds-file-preview',
|
|
943
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
944
|
-
template: '<ng-content></ng-content>',
|
|
945
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
946
|
-
inputs: ['deletable', 'description', 'downloadable', { name: 'filename', required: true }, 'filesize', 'format', 'icon', 'message', 'src', 'suffix', 'truncate', 'variant'],
|
|
947
|
-
outputs: ['mdsFileDownload', 'mdsFileDelete'],
|
|
948
|
-
standalone: false
|
|
949
|
-
}]
|
|
950
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }], propDecorators: { mdsFileDownload: [{
|
|
951
|
-
type: Output
|
|
952
|
-
}], mdsFileDelete: [{
|
|
953
|
-
type: Output
|
|
954
|
-
}] } });
|
|
955
|
-
let MdsFilter = class MdsFilter {
|
|
956
|
-
z;
|
|
957
|
-
el;
|
|
958
|
-
mdsFilterChange = new EventEmitter();
|
|
959
|
-
constructor(c, r, z) {
|
|
960
|
-
this.z = z;
|
|
961
|
-
c.detach();
|
|
962
|
-
this.el = r.nativeElement;
|
|
963
|
-
}
|
|
964
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsFilter, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
965
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MdsFilter, selector: "mds-filter", inputs: { autoReset: "autoReset", label: "label", multiple: "multiple", reset: "reset" }, outputs: { mdsFilterChange: "mdsFilterChange" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
966
|
-
};
|
|
967
|
-
MdsFilter = __decorate([
|
|
968
|
-
ProxyCmp({
|
|
969
|
-
inputs: ['autoReset', 'label', 'multiple', 'reset']
|
|
970
|
-
})
|
|
971
|
-
], MdsFilter);
|
|
972
|
-
export { MdsFilter };
|
|
973
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsFilter, decorators: [{
|
|
974
|
-
type: Component,
|
|
975
|
-
args: [{
|
|
976
|
-
selector: 'mds-filter',
|
|
977
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
978
|
-
template: '<ng-content></ng-content>',
|
|
979
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
980
|
-
inputs: ['autoReset', 'label', 'multiple', 'reset'],
|
|
981
|
-
outputs: ['mdsFilterChange'],
|
|
982
|
-
standalone: false
|
|
983
|
-
}]
|
|
984
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }], propDecorators: { mdsFilterChange: [{
|
|
985
|
-
type: Output
|
|
986
|
-
}] } });
|
|
987
|
-
let MdsFilterItem = class MdsFilterItem {
|
|
988
|
-
z;
|
|
989
|
-
el;
|
|
990
|
-
mdsFilterItemSelect = new EventEmitter();
|
|
991
|
-
constructor(c, r, z) {
|
|
992
|
-
this.z = z;
|
|
993
|
-
c.detach();
|
|
994
|
-
this.el = r.nativeElement;
|
|
995
|
-
}
|
|
996
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsFilterItem, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
997
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MdsFilterItem, selector: "mds-filter-item", inputs: { count: "count", disabled: "disabled", icon: "icon", label: "label", selected: "selected", value: "value" }, outputs: { mdsFilterItemSelect: "mdsFilterItemSelect" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
998
|
-
};
|
|
999
|
-
MdsFilterItem = __decorate([
|
|
1000
|
-
ProxyCmp({
|
|
1001
|
-
inputs: ['count', 'disabled', 'icon', 'label', 'selected', 'value']
|
|
1002
|
-
})
|
|
1003
|
-
], MdsFilterItem);
|
|
1004
|
-
export { MdsFilterItem };
|
|
1005
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsFilterItem, decorators: [{
|
|
1006
|
-
type: Component,
|
|
1007
|
-
args: [{
|
|
1008
|
-
selector: 'mds-filter-item',
|
|
1009
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1010
|
-
template: '<ng-content></ng-content>',
|
|
1011
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
1012
|
-
inputs: ['count', 'disabled', 'icon', 'label', 'selected', 'value'],
|
|
1013
|
-
outputs: ['mdsFilterItemSelect'],
|
|
1014
|
-
standalone: false
|
|
1015
|
-
}]
|
|
1016
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }], propDecorators: { mdsFilterItemSelect: [{
|
|
1017
|
-
type: Output
|
|
1018
|
-
}] } });
|
|
1019
|
-
let MdsHeader = class MdsHeader {
|
|
1020
|
-
z;
|
|
1021
|
-
el;
|
|
1022
|
-
mdsHeaderClose = new EventEmitter();
|
|
1023
|
-
mdsHeaderVisibilityChange = new EventEmitter();
|
|
1024
|
-
constructor(c, r, z) {
|
|
1025
|
-
this.z = z;
|
|
1026
|
-
c.detach();
|
|
1027
|
-
this.el = r.nativeElement;
|
|
1028
|
-
}
|
|
1029
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsHeader, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
1030
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MdsHeader, selector: "mds-header", inputs: { appearance: "appearance", appearanceSet: "appearanceSet", autoHide: "autoHide", backdrop: "backdrop", menu: "menu", nav: "nav", threshold: "threshold", visibility: "visibility" }, outputs: { mdsHeaderClose: "mdsHeaderClose", mdsHeaderVisibilityChange: "mdsHeaderVisibilityChange" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1031
|
-
};
|
|
1032
|
-
MdsHeader = __decorate([
|
|
1033
|
-
ProxyCmp({
|
|
1034
|
-
inputs: ['appearance', 'appearanceSet', 'autoHide', 'backdrop', 'menu', 'nav', 'threshold', 'visibility'],
|
|
1035
|
-
methods: ['setOpened']
|
|
1036
|
-
})
|
|
1037
|
-
], MdsHeader);
|
|
1038
|
-
export { MdsHeader };
|
|
1039
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsHeader, decorators: [{
|
|
1040
|
-
type: Component,
|
|
1041
|
-
args: [{
|
|
1042
|
-
selector: 'mds-header',
|
|
1043
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1044
|
-
template: '<ng-content></ng-content>',
|
|
1045
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
1046
|
-
inputs: ['appearance', 'appearanceSet', 'autoHide', 'backdrop', 'menu', 'nav', 'threshold', 'visibility'],
|
|
1047
|
-
outputs: ['mdsHeaderClose', 'mdsHeaderVisibilityChange'],
|
|
1048
|
-
standalone: false
|
|
1049
|
-
}]
|
|
1050
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }], propDecorators: { mdsHeaderClose: [{
|
|
1051
|
-
type: Output
|
|
1052
|
-
}], mdsHeaderVisibilityChange: [{
|
|
1053
|
-
type: Output
|
|
1054
|
-
}] } });
|
|
1055
|
-
let MdsHeaderBar = class MdsHeaderBar {
|
|
1056
|
-
z;
|
|
1057
|
-
el;
|
|
1058
|
-
mdsHeaderBarOpen = new EventEmitter();
|
|
1059
|
-
constructor(c, r, z) {
|
|
1060
|
-
this.z = z;
|
|
1061
|
-
c.detach();
|
|
1062
|
-
this.el = r.nativeElement;
|
|
1063
|
-
}
|
|
1064
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsHeaderBar, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
1065
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MdsHeaderBar, selector: "mds-header-bar", inputs: { menu: "menu", nav: "nav" }, outputs: { mdsHeaderBarOpen: "mdsHeaderBarOpen" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1066
|
-
};
|
|
1067
|
-
MdsHeaderBar = __decorate([
|
|
1068
|
-
ProxyCmp({
|
|
1069
|
-
inputs: ['menu', 'nav'],
|
|
1070
|
-
methods: ['setOpened']
|
|
1071
|
-
})
|
|
1072
|
-
], MdsHeaderBar);
|
|
1073
|
-
export { MdsHeaderBar };
|
|
1074
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsHeaderBar, decorators: [{
|
|
1075
|
-
type: Component,
|
|
1076
|
-
args: [{
|
|
1077
|
-
selector: 'mds-header-bar',
|
|
1078
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1079
|
-
template: '<ng-content></ng-content>',
|
|
1080
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
1081
|
-
inputs: ['menu', 'nav'],
|
|
1082
|
-
outputs: ['mdsHeaderBarOpen'],
|
|
1083
|
-
standalone: false
|
|
1084
|
-
}]
|
|
1085
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }], propDecorators: { mdsHeaderBarOpen: [{
|
|
1086
|
-
type: Output
|
|
1087
|
-
}] } });
|
|
1088
|
-
let MdsHelp = class MdsHelp {
|
|
1089
|
-
z;
|
|
1090
|
-
el;
|
|
1091
|
-
constructor(c, r, z) {
|
|
1092
|
-
this.z = z;
|
|
1093
|
-
c.detach();
|
|
1094
|
-
this.el = r.nativeElement;
|
|
1095
|
-
}
|
|
1096
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsHelp, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
1097
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MdsHelp, selector: "mds-help", inputs: { autoPlacement: "autoPlacement", icon: "icon", placement: "placement" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1098
|
-
};
|
|
1099
|
-
MdsHelp = __decorate([
|
|
1100
|
-
ProxyCmp({
|
|
1101
|
-
inputs: ['autoPlacement', 'icon', 'placement']
|
|
1102
|
-
})
|
|
1103
|
-
], MdsHelp);
|
|
1104
|
-
export { MdsHelp };
|
|
1105
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsHelp, decorators: [{
|
|
1106
|
-
type: Component,
|
|
1107
|
-
args: [{
|
|
1108
|
-
selector: 'mds-help',
|
|
1109
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1110
|
-
template: '<ng-content></ng-content>',
|
|
1111
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
1112
|
-
inputs: ['autoPlacement', 'icon', 'placement'],
|
|
1113
|
-
standalone: false
|
|
1114
|
-
}]
|
|
1115
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
1116
|
-
let MdsHorizontalScroll = class MdsHorizontalScroll {
|
|
1117
|
-
z;
|
|
1118
|
-
el;
|
|
1119
|
-
constructor(c, r, z) {
|
|
1120
|
-
this.z = z;
|
|
1121
|
-
c.detach();
|
|
1122
|
-
this.el = r.nativeElement;
|
|
1123
|
-
}
|
|
1124
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsHorizontalScroll, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
1125
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MdsHorizontalScroll, selector: "mds-horizontal-scroll", inputs: { controls: "controls", navigation: "navigation", snap: "snap" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1126
|
-
};
|
|
1127
|
-
MdsHorizontalScroll = __decorate([
|
|
1128
|
-
ProxyCmp({
|
|
1129
|
-
inputs: ['controls', 'navigation', 'snap']
|
|
1130
|
-
})
|
|
1131
|
-
], MdsHorizontalScroll);
|
|
1132
|
-
export { MdsHorizontalScroll };
|
|
1133
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsHorizontalScroll, decorators: [{
|
|
1134
|
-
type: Component,
|
|
1135
|
-
args: [{
|
|
1136
|
-
selector: 'mds-horizontal-scroll',
|
|
1137
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1138
|
-
template: '<ng-content></ng-content>',
|
|
1139
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
1140
|
-
inputs: ['controls', 'navigation', 'snap'],
|
|
1141
|
-
standalone: false
|
|
1142
|
-
}]
|
|
1143
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
1144
|
-
let MdsHr = class MdsHr {
|
|
1145
|
-
z;
|
|
1146
|
-
el;
|
|
1147
|
-
constructor(c, r, z) {
|
|
1148
|
-
this.z = z;
|
|
1149
|
-
c.detach();
|
|
1150
|
-
this.el = r.nativeElement;
|
|
1151
|
-
}
|
|
1152
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsHr, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
1153
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MdsHr, selector: "mds-hr", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1154
|
-
};
|
|
1155
|
-
MdsHr = __decorate([
|
|
1156
|
-
ProxyCmp({})
|
|
1157
|
-
], MdsHr);
|
|
1158
|
-
export { MdsHr };
|
|
1159
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsHr, decorators: [{
|
|
1160
|
-
type: Component,
|
|
1161
|
-
args: [{
|
|
1162
|
-
selector: 'mds-hr',
|
|
1163
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1164
|
-
template: '<ng-content></ng-content>',
|
|
1165
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
1166
|
-
inputs: [],
|
|
1167
|
-
standalone: false
|
|
1168
|
-
}]
|
|
1169
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
1170
|
-
let MdsIcon = class MdsIcon {
|
|
1171
|
-
z;
|
|
1172
|
-
el;
|
|
1173
|
-
constructor(c, r, z) {
|
|
1174
|
-
this.z = z;
|
|
1175
|
-
c.detach();
|
|
1176
|
-
this.el = r.nativeElement;
|
|
1177
|
-
}
|
|
1178
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsIcon, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
1179
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MdsIcon, selector: "mds-icon", inputs: { name: "name" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1180
|
-
};
|
|
1181
|
-
MdsIcon = __decorate([
|
|
1182
|
-
ProxyCmp({
|
|
1183
|
-
inputs: ['name'],
|
|
1184
|
-
methods: ['setSvgPath']
|
|
1185
|
-
})
|
|
1186
|
-
], MdsIcon);
|
|
1187
|
-
export { MdsIcon };
|
|
1188
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsIcon, decorators: [{
|
|
1189
|
-
type: Component,
|
|
1190
|
-
args: [{
|
|
1191
|
-
selector: 'mds-icon',
|
|
1192
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1193
|
-
template: '<ng-content></ng-content>',
|
|
1194
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
1195
|
-
inputs: [{ name: 'name', required: true }],
|
|
1196
|
-
standalone: false
|
|
1197
|
-
}]
|
|
1198
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
1199
|
-
let MdsImg = class MdsImg {
|
|
1200
|
-
z;
|
|
1201
|
-
el;
|
|
1202
|
-
mdsImgLoadError = new EventEmitter();
|
|
1203
|
-
mdsImgLoadSuccess = new EventEmitter();
|
|
1204
|
-
constructor(c, r, z) {
|
|
1205
|
-
this.z = z;
|
|
1206
|
-
c.detach();
|
|
1207
|
-
this.el = r.nativeElement;
|
|
1208
|
-
}
|
|
1209
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsImg, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
1210
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MdsImg, selector: "mds-img", inputs: { alt: "alt", crossorigin: "crossorigin", height: "height", loading: "loading", referrerpolicy: "referrerpolicy", sizes: "sizes", src: "src", srcset: "srcset", srcsetConsumption: "srcsetConsumption", width: "width" }, outputs: { mdsImgLoadError: "mdsImgLoadError", mdsImgLoadSuccess: "mdsImgLoadSuccess" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1211
|
-
};
|
|
1212
|
-
MdsImg = __decorate([
|
|
1213
|
-
ProxyCmp({
|
|
1214
|
-
inputs: ['alt', 'crossorigin', 'height', 'loading', 'referrerpolicy', 'sizes', 'src', 'srcset', 'srcsetConsumption', 'width'],
|
|
1215
|
-
methods: ['updateLang']
|
|
1216
|
-
})
|
|
1217
|
-
], MdsImg);
|
|
1218
|
-
export { MdsImg };
|
|
1219
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsImg, decorators: [{
|
|
1220
|
-
type: Component,
|
|
1221
|
-
args: [{
|
|
1222
|
-
selector: 'mds-img',
|
|
1223
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1224
|
-
template: '<ng-content></ng-content>',
|
|
1225
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
1226
|
-
inputs: ['alt', 'crossorigin', 'height', 'loading', 'referrerpolicy', 'sizes', 'src', 'srcset', 'srcsetConsumption', 'width'],
|
|
1227
|
-
outputs: ['mdsImgLoadError', 'mdsImgLoadSuccess'],
|
|
1228
|
-
standalone: false
|
|
1229
|
-
}]
|
|
1230
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }], propDecorators: { mdsImgLoadError: [{
|
|
1231
|
-
type: Output
|
|
1232
|
-
}], mdsImgLoadSuccess: [{
|
|
1233
|
-
type: Output
|
|
1234
|
-
}] } });
|
|
1235
|
-
let MdsInput = class MdsInput {
|
|
1236
|
-
z;
|
|
1237
|
-
el;
|
|
1238
|
-
mdsInputChange = new EventEmitter();
|
|
1239
|
-
mdsInputKeydown = new EventEmitter();
|
|
1240
|
-
mdsInputBlur = new EventEmitter();
|
|
1241
|
-
mdsInputFocus = new EventEmitter();
|
|
1242
|
-
mdsInputSpeechEnd = new EventEmitter();
|
|
1243
|
-
mdsInputValidation = new EventEmitter();
|
|
1244
|
-
constructor(c, r, z) {
|
|
1245
|
-
this.z = z;
|
|
1246
|
-
c.detach();
|
|
1247
|
-
this.el = r.nativeElement;
|
|
1248
|
-
}
|
|
1249
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsInput, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
1250
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MdsInput, selector: "mds-input", inputs: { autocomplete: "autocomplete", autofocus: "autofocus", await: "await", controlsIcon: "controlsIcon", controlsLayout: "controlsLayout", datalist: "datalist", disabled: "disabled", icon: "icon", max: "max", maxlength: "maxlength", mic: "mic", min: "min", minlength: "minlength", name: "name", pattern: "pattern", placeholder: "placeholder", readonly: "readonly", required: "required", step: "step", tip: "tip", type: "type", typography: "typography", value: "value", variant: "variant" }, outputs: { mdsInputChange: "mdsInputChange", mdsInputKeydown: "mdsInputKeydown", mdsInputBlur: "mdsInputBlur", mdsInputFocus: "mdsInputFocus", mdsInputSpeechEnd: "mdsInputSpeechEnd", mdsInputValidation: "mdsInputValidation" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1251
|
-
};
|
|
1252
|
-
MdsInput = __decorate([
|
|
1253
|
-
ProxyCmp({
|
|
1254
|
-
inputs: ['autocomplete', 'autofocus', 'await', 'controlsIcon', 'controlsLayout', 'datalist', 'disabled', 'icon', 'max', 'maxlength', 'mic', 'min', 'minlength', 'name', 'pattern', 'placeholder', 'readonly', 'required', 'step', 'tip', 'type', 'typography', 'value', 'variant'],
|
|
1255
|
-
methods: ['updateLang', 'addValidator', 'removeValidator', 'hasValidator', 'getErrors', 'setFocus', 'getInputElement']
|
|
1256
|
-
})
|
|
1257
|
-
], MdsInput);
|
|
1258
|
-
export { MdsInput };
|
|
1259
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsInput, decorators: [{
|
|
1260
|
-
type: Component,
|
|
1261
|
-
args: [{
|
|
1262
|
-
selector: 'mds-input',
|
|
1263
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1264
|
-
template: '<ng-content></ng-content>',
|
|
1265
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
1266
|
-
inputs: ['autocomplete', 'autofocus', 'await', 'controlsIcon', 'controlsLayout', 'datalist', 'disabled', 'icon', 'max', 'maxlength', 'mic', 'min', 'minlength', 'name', 'pattern', 'placeholder', 'readonly', 'required', 'step', 'tip', 'type', 'typography', 'value', 'variant'],
|
|
1267
|
-
outputs: ['mdsInputChange', 'mdsInputKeydown', 'mdsInputBlur', 'mdsInputFocus', 'mdsInputSpeechEnd', 'mdsInputValidation'],
|
|
1268
|
-
standalone: false
|
|
1269
|
-
}]
|
|
1270
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }], propDecorators: { mdsInputChange: [{
|
|
1271
|
-
type: Output
|
|
1272
|
-
}], mdsInputKeydown: [{
|
|
1273
|
-
type: Output
|
|
1274
|
-
}], mdsInputBlur: [{
|
|
1275
|
-
type: Output
|
|
1276
|
-
}], mdsInputFocus: [{
|
|
1277
|
-
type: Output
|
|
1278
|
-
}], mdsInputSpeechEnd: [{
|
|
1279
|
-
type: Output
|
|
1280
|
-
}], mdsInputValidation: [{
|
|
1281
|
-
type: Output
|
|
1282
|
-
}] } });
|
|
1283
|
-
let MdsInputDate = class MdsInputDate {
|
|
1284
|
-
z;
|
|
1285
|
-
el;
|
|
1286
|
-
mdsInputValidation = new EventEmitter();
|
|
1287
|
-
mdsInputDateSelect = new EventEmitter();
|
|
1288
|
-
constructor(c, r, z) {
|
|
1289
|
-
this.z = z;
|
|
1290
|
-
c.detach();
|
|
1291
|
-
this.el = r.nativeElement;
|
|
1292
|
-
}
|
|
1293
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsInputDate, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
1294
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MdsInputDate, selector: "mds-input-date", inputs: { delay: "delay", disabled: "disabled", max: "max", min: "min", name: "name", readonly: "readonly", required: "required", value: "value", variant: "variant" }, outputs: { mdsInputValidation: "mdsInputValidation", mdsInputDateSelect: "mdsInputDateSelect" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1295
|
-
};
|
|
1296
|
-
MdsInputDate = __decorate([
|
|
1297
|
-
ProxyCmp({
|
|
1298
|
-
inputs: ['delay', 'disabled', 'max', 'min', 'name', 'readonly', 'required', 'value', 'variant'],
|
|
1299
|
-
methods: ['updateLang', 'focusInput', 'setValue', 'getErrors']
|
|
1300
|
-
})
|
|
1301
|
-
], MdsInputDate);
|
|
1302
|
-
export { MdsInputDate };
|
|
1303
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsInputDate, decorators: [{
|
|
1304
|
-
type: Component,
|
|
1305
|
-
args: [{
|
|
1306
|
-
selector: 'mds-input-date',
|
|
1307
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1308
|
-
template: '<ng-content></ng-content>',
|
|
1309
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
1310
|
-
inputs: ['delay', 'disabled', 'max', 'min', 'name', 'readonly', 'required', 'value', 'variant'],
|
|
1311
|
-
outputs: ['mdsInputValidation', 'mdsInputDateSelect'],
|
|
1312
|
-
standalone: false
|
|
1313
|
-
}]
|
|
1314
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }], propDecorators: { mdsInputValidation: [{
|
|
1315
|
-
type: Output
|
|
1316
|
-
}], mdsInputDateSelect: [{
|
|
1317
|
-
type: Output
|
|
1318
|
-
}] } });
|
|
1319
|
-
let MdsInputDateRange = class MdsInputDateRange {
|
|
1320
|
-
z;
|
|
1321
|
-
el;
|
|
1322
|
-
mdsInputDateRangeSelect = new EventEmitter();
|
|
1323
|
-
mdsInputDateRangeValueChange = new EventEmitter();
|
|
1324
|
-
constructor(c, r, z) {
|
|
1325
|
-
this.z = z;
|
|
1326
|
-
c.detach();
|
|
1327
|
-
this.el = r.nativeElement;
|
|
1328
|
-
}
|
|
1329
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsInputDateRange, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
1330
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MdsInputDateRange, selector: "mds-input-date-range", inputs: { delay: "delay", endDate: "endDate", max: "max", min: "min", name: "name", startDate: "startDate" }, outputs: { mdsInputDateRangeSelect: "mdsInputDateRangeSelect", mdsInputDateRangeValueChange: "mdsInputDateRangeValueChange" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1331
|
-
};
|
|
1332
|
-
MdsInputDateRange = __decorate([
|
|
1333
|
-
ProxyCmp({
|
|
1334
|
-
inputs: ['delay', 'endDate', 'max', 'min', 'name', 'startDate'],
|
|
1335
|
-
methods: ['updateLang', 'preselect']
|
|
1336
|
-
})
|
|
1337
|
-
], MdsInputDateRange);
|
|
1338
|
-
export { MdsInputDateRange };
|
|
1339
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsInputDateRange, decorators: [{
|
|
1340
|
-
type: Component,
|
|
1341
|
-
args: [{
|
|
1342
|
-
selector: 'mds-input-date-range',
|
|
1343
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1344
|
-
template: '<ng-content></ng-content>',
|
|
1345
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
1346
|
-
inputs: ['delay', 'endDate', 'max', 'min', 'name', 'startDate'],
|
|
1347
|
-
outputs: ['mdsInputDateRangeSelect', 'mdsInputDateRangeValueChange'],
|
|
1348
|
-
standalone: false
|
|
1349
|
-
}]
|
|
1350
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }], propDecorators: { mdsInputDateRangeSelect: [{
|
|
1351
|
-
type: Output
|
|
1352
|
-
}], mdsInputDateRangeValueChange: [{
|
|
1353
|
-
type: Output
|
|
1354
|
-
}] } });
|
|
1355
|
-
let MdsInputDateRangePreselection = class MdsInputDateRangePreselection {
|
|
1356
|
-
z;
|
|
1357
|
-
el;
|
|
1358
|
-
constructor(c, r, z) {
|
|
1359
|
-
this.z = z;
|
|
1360
|
-
c.detach();
|
|
1361
|
-
this.el = r.nativeElement;
|
|
1362
|
-
}
|
|
1363
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsInputDateRangePreselection, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
1364
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MdsInputDateRangePreselection, selector: "mds-input-date-range-preselection", inputs: { end: "end", selected: "selected", start: "start" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1365
|
-
};
|
|
1366
|
-
MdsInputDateRangePreselection = __decorate([
|
|
1367
|
-
ProxyCmp({
|
|
1368
|
-
inputs: ['end', 'selected', 'start']
|
|
1369
|
-
})
|
|
1370
|
-
], MdsInputDateRangePreselection);
|
|
1371
|
-
export { MdsInputDateRangePreselection };
|
|
1372
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsInputDateRangePreselection, decorators: [{
|
|
1373
|
-
type: Component,
|
|
1374
|
-
args: [{
|
|
1375
|
-
selector: 'mds-input-date-range-preselection',
|
|
1376
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1377
|
-
template: '<ng-content></ng-content>',
|
|
1378
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
1379
|
-
inputs: ['end', 'selected', { name: 'start', required: true }],
|
|
1380
|
-
standalone: false
|
|
1381
|
-
}]
|
|
1382
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
1383
|
-
let MdsInputField = class MdsInputField {
|
|
1384
|
-
z;
|
|
1385
|
-
el;
|
|
1386
|
-
constructor(c, r, z) {
|
|
1387
|
-
this.z = z;
|
|
1388
|
-
c.detach();
|
|
1389
|
-
this.el = r.nativeElement;
|
|
1390
|
-
}
|
|
1391
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsInputField, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
1392
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MdsInputField, selector: "mds-input-field", inputs: { label: "label", message: "message", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1393
|
-
};
|
|
1394
|
-
MdsInputField = __decorate([
|
|
1395
|
-
ProxyCmp({
|
|
1396
|
-
inputs: ['label', 'message', 'variant']
|
|
1397
|
-
})
|
|
1398
|
-
], MdsInputField);
|
|
1399
|
-
export { MdsInputField };
|
|
1400
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsInputField, decorators: [{
|
|
1401
|
-
type: Component,
|
|
1402
|
-
args: [{
|
|
1403
|
-
selector: 'mds-input-field',
|
|
1404
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1405
|
-
template: '<ng-content></ng-content>',
|
|
1406
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
1407
|
-
inputs: ['label', 'message', 'variant'],
|
|
1408
|
-
standalone: false
|
|
1409
|
-
}]
|
|
1410
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
1411
|
-
let MdsInputOtp = class MdsInputOtp {
|
|
1412
|
-
z;
|
|
1413
|
-
el;
|
|
1414
|
-
constructor(c, r, z) {
|
|
1415
|
-
this.z = z;
|
|
1416
|
-
c.detach();
|
|
1417
|
-
this.el = r.nativeElement;
|
|
1418
|
-
}
|
|
1419
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsInputOtp, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
1420
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MdsInputOtp, selector: "mds-input-otp", inputs: { autosubmit: "autosubmit", length: "length", value: "value" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1421
|
-
};
|
|
1422
|
-
MdsInputOtp = __decorate([
|
|
1423
|
-
ProxyCmp({
|
|
1424
|
-
inputs: ['autosubmit', 'length', 'value']
|
|
1425
|
-
})
|
|
1426
|
-
], MdsInputOtp);
|
|
1427
|
-
export { MdsInputOtp };
|
|
1428
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsInputOtp, decorators: [{
|
|
1429
|
-
type: Component,
|
|
1430
|
-
args: [{
|
|
1431
|
-
selector: 'mds-input-otp',
|
|
1432
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1433
|
-
template: '<ng-content></ng-content>',
|
|
1434
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
1435
|
-
inputs: ['autosubmit', 'length', 'value'],
|
|
1436
|
-
standalone: false
|
|
1437
|
-
}]
|
|
1438
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
1439
|
-
let MdsInputRange = class MdsInputRange {
|
|
1440
|
-
z;
|
|
1441
|
-
el;
|
|
1442
|
-
mdsInputRangeChange = new EventEmitter();
|
|
1443
|
-
constructor(c, r, z) {
|
|
1444
|
-
this.z = z;
|
|
1445
|
-
c.detach();
|
|
1446
|
-
this.el = r.nativeElement;
|
|
1447
|
-
}
|
|
1448
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsInputRange, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
1449
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MdsInputRange, selector: "mds-input-range", inputs: { disabled: "disabled", formatValue: "formatValue", max: "max", min: "min", name: "name", step: "step", value: "value" }, outputs: { mdsInputRangeChange: "mdsInputRangeChange" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1450
|
-
};
|
|
1451
|
-
MdsInputRange = __decorate([
|
|
1452
|
-
ProxyCmp({
|
|
1453
|
-
inputs: ['disabled', 'formatValue', 'max', 'min', 'name', 'step', 'value']
|
|
1454
|
-
})
|
|
1455
|
-
], MdsInputRange);
|
|
1456
|
-
export { MdsInputRange };
|
|
1457
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsInputRange, decorators: [{
|
|
1458
|
-
type: Component,
|
|
1459
|
-
args: [{
|
|
1460
|
-
selector: 'mds-input-range',
|
|
1461
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1462
|
-
template: '<ng-content></ng-content>',
|
|
1463
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
1464
|
-
inputs: ['disabled', 'formatValue', 'max', 'min', 'name', 'step', 'value'],
|
|
1465
|
-
outputs: ['mdsInputRangeChange'],
|
|
1466
|
-
standalone: false
|
|
1467
|
-
}]
|
|
1468
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }], propDecorators: { mdsInputRangeChange: [{
|
|
1469
|
-
type: Output
|
|
1470
|
-
}] } });
|
|
1471
|
-
let MdsInputSelect = class MdsInputSelect {
|
|
1472
|
-
z;
|
|
1473
|
-
el;
|
|
1474
|
-
mdsInputSelectChange = new EventEmitter();
|
|
1475
|
-
constructor(c, r, z) {
|
|
1476
|
-
this.z = z;
|
|
1477
|
-
c.detach();
|
|
1478
|
-
this.el = r.nativeElement;
|
|
1479
|
-
}
|
|
1480
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsInputSelect, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
1481
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MdsInputSelect, selector: "mds-input-select", inputs: { autoFocus: "autoFocus", autocomplete: "autocomplete", defaultValue: "defaultValue", disabled: "disabled", multiple: "multiple", name: "name", placeholder: "placeholder", required: "required", size: "size", value: "value", variant: "variant" }, outputs: { mdsInputSelectChange: "mdsInputSelectChange" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1482
|
-
};
|
|
1483
|
-
MdsInputSelect = __decorate([
|
|
1484
|
-
ProxyCmp({
|
|
1485
|
-
inputs: ['autoFocus', 'autocomplete', 'defaultValue', 'disabled', 'multiple', 'name', 'placeholder', 'required', 'size', 'value', 'variant'],
|
|
1486
|
-
methods: ['updateLang', 'setValue']
|
|
1487
|
-
})
|
|
1488
|
-
], MdsInputSelect);
|
|
1489
|
-
export { MdsInputSelect };
|
|
1490
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsInputSelect, decorators: [{
|
|
1491
|
-
type: Component,
|
|
1492
|
-
args: [{
|
|
1493
|
-
selector: 'mds-input-select',
|
|
1494
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1495
|
-
template: '<ng-content></ng-content>',
|
|
1496
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
1497
|
-
inputs: ['autoFocus', 'autocomplete', 'defaultValue', 'disabled', 'multiple', 'name', 'placeholder', 'required', 'size', 'value', 'variant'],
|
|
1498
|
-
outputs: ['mdsInputSelectChange'],
|
|
1499
|
-
standalone: false
|
|
1500
|
-
}]
|
|
1501
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }], propDecorators: { mdsInputSelectChange: [{
|
|
1502
|
-
type: Output
|
|
1503
|
-
}] } });
|
|
1504
|
-
let MdsInputSwitch = class MdsInputSwitch {
|
|
1505
|
-
z;
|
|
1506
|
-
el;
|
|
1507
|
-
mdsInputSwitchChange = new EventEmitter();
|
|
1508
|
-
constructor(c, r, z) {
|
|
1509
|
-
this.z = z;
|
|
1510
|
-
c.detach();
|
|
1511
|
-
this.el = r.nativeElement;
|
|
1512
|
-
}
|
|
1513
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsInputSwitch, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
1514
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MdsInputSwitch, selector: "mds-input-switch", inputs: { autofocus: "autofocus", checked: "checked", disabled: "disabled", explicit: "explicit", icon: "icon", indeterminate: "indeterminate", name: "name", size: "size", type: "type", typography: "typography", value: "value", variant: "variant" }, outputs: { mdsInputSwitchChange: "mdsInputSwitchChange" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1515
|
-
};
|
|
1516
|
-
MdsInputSwitch = __decorate([
|
|
1517
|
-
ProxyCmp({
|
|
1518
|
-
inputs: ['autofocus', 'checked', 'disabled', 'explicit', 'icon', 'indeterminate', 'name', 'size', 'type', 'typography', 'value', 'variant'],
|
|
1519
|
-
methods: ['updateLang']
|
|
1520
|
-
})
|
|
1521
|
-
], MdsInputSwitch);
|
|
1522
|
-
export { MdsInputSwitch };
|
|
1523
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsInputSwitch, decorators: [{
|
|
1524
|
-
type: Component,
|
|
1525
|
-
args: [{
|
|
1526
|
-
selector: 'mds-input-switch',
|
|
1527
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1528
|
-
template: '<ng-content></ng-content>',
|
|
1529
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
1530
|
-
inputs: ['autofocus', 'checked', 'disabled', 'explicit', 'icon', 'indeterminate', 'name', 'size', 'type', 'typography', 'value', 'variant'],
|
|
1531
|
-
outputs: ['mdsInputSwitchChange'],
|
|
1532
|
-
standalone: false
|
|
1533
|
-
}]
|
|
1534
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }], propDecorators: { mdsInputSwitchChange: [{
|
|
1535
|
-
type: Output
|
|
1536
|
-
}] } });
|
|
1537
|
-
let MdsInputTip = class MdsInputTip {
|
|
1538
|
-
z;
|
|
1539
|
-
el;
|
|
1540
|
-
constructor(c, r, z) {
|
|
1541
|
-
this.z = z;
|
|
1542
|
-
c.detach();
|
|
1543
|
-
this.el = r.nativeElement;
|
|
1544
|
-
}
|
|
1545
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsInputTip, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
1546
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MdsInputTip, selector: "mds-input-tip", inputs: { active: "active", position: "position" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1547
|
-
};
|
|
1548
|
-
MdsInputTip = __decorate([
|
|
1549
|
-
ProxyCmp({
|
|
1550
|
-
inputs: ['active', 'position']
|
|
1551
|
-
})
|
|
1552
|
-
], MdsInputTip);
|
|
1553
|
-
export { MdsInputTip };
|
|
1554
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsInputTip, decorators: [{
|
|
1555
|
-
type: Component,
|
|
1556
|
-
args: [{
|
|
1557
|
-
selector: 'mds-input-tip',
|
|
1558
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1559
|
-
template: '<ng-content></ng-content>',
|
|
1560
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
1561
|
-
inputs: ['active', 'position'],
|
|
1562
|
-
standalone: false
|
|
1563
|
-
}]
|
|
1564
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
1565
|
-
let MdsInputTipItem = class MdsInputTipItem {
|
|
1566
|
-
z;
|
|
1567
|
-
el;
|
|
1568
|
-
constructor(c, r, z) {
|
|
1569
|
-
this.z = z;
|
|
1570
|
-
c.detach();
|
|
1571
|
-
this.el = r.nativeElement;
|
|
1572
|
-
}
|
|
1573
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsInputTipItem, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
1574
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MdsInputTipItem, selector: "mds-input-tip-item", inputs: { expanded: "expanded", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1575
|
-
};
|
|
1576
|
-
MdsInputTipItem = __decorate([
|
|
1577
|
-
ProxyCmp({
|
|
1578
|
-
inputs: ['expanded', 'variant'],
|
|
1579
|
-
methods: ['updateLang']
|
|
1580
|
-
})
|
|
1581
|
-
], MdsInputTipItem);
|
|
1582
|
-
export { MdsInputTipItem };
|
|
1583
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsInputTipItem, decorators: [{
|
|
1584
|
-
type: Component,
|
|
1585
|
-
args: [{
|
|
1586
|
-
selector: 'mds-input-tip-item',
|
|
1587
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1588
|
-
template: '<ng-content></ng-content>',
|
|
1589
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
1590
|
-
inputs: ['expanded', 'variant'],
|
|
1591
|
-
standalone: false
|
|
1592
|
-
}]
|
|
1593
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
1594
|
-
let MdsInputUpload = class MdsInputUpload {
|
|
1595
|
-
z;
|
|
1596
|
-
el;
|
|
1597
|
-
mdsInputUploadChange = new EventEmitter();
|
|
1598
|
-
constructor(c, r, z) {
|
|
1599
|
-
this.z = z;
|
|
1600
|
-
c.detach();
|
|
1601
|
-
this.el = r.nativeElement;
|
|
1602
|
-
}
|
|
1603
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsInputUpload, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
1604
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MdsInputUpload, selector: "mds-input-upload", inputs: { accept: "accept", initialValue: "initialValue", maxFileSize: "maxFileSize", maxFiles: "maxFiles", sort: "sort" }, outputs: { mdsInputUploadChange: "mdsInputUploadChange" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1605
|
-
};
|
|
1606
|
-
MdsInputUpload = __decorate([
|
|
1607
|
-
ProxyCmp({
|
|
1608
|
-
inputs: ['accept', 'initialValue', 'maxFileSize', 'maxFiles', 'sort'],
|
|
1609
|
-
methods: ['updateLang', 'getFiles', 'getFilesError', 'reset']
|
|
1610
|
-
})
|
|
1611
|
-
], MdsInputUpload);
|
|
1612
|
-
export { MdsInputUpload };
|
|
1613
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsInputUpload, decorators: [{
|
|
1614
|
-
type: Component,
|
|
1615
|
-
args: [{
|
|
1616
|
-
selector: 'mds-input-upload',
|
|
1617
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1618
|
-
template: '<ng-content></ng-content>',
|
|
1619
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
1620
|
-
inputs: ['accept', 'initialValue', 'maxFileSize', 'maxFiles', 'sort'],
|
|
1621
|
-
outputs: ['mdsInputUploadChange'],
|
|
1622
|
-
standalone: false
|
|
1623
|
-
}]
|
|
1624
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }], propDecorators: { mdsInputUploadChange: [{
|
|
1625
|
-
type: Output
|
|
1626
|
-
}] } });
|
|
1627
|
-
let MdsKeyboard = class MdsKeyboard {
|
|
1628
|
-
z;
|
|
1629
|
-
el;
|
|
1630
|
-
constructor(c, r, z) {
|
|
1631
|
-
this.z = z;
|
|
1632
|
-
c.detach();
|
|
1633
|
-
this.el = r.nativeElement;
|
|
1634
|
-
}
|
|
1635
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsKeyboard, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
1636
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MdsKeyboard, selector: "mds-keyboard", inputs: { test: "test", try: "try" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1637
|
-
};
|
|
1638
|
-
MdsKeyboard = __decorate([
|
|
1639
|
-
ProxyCmp({
|
|
1640
|
-
inputs: ['test', 'try'],
|
|
1641
|
-
methods: ['updateLang']
|
|
1642
|
-
})
|
|
1643
|
-
], MdsKeyboard);
|
|
1644
|
-
export { MdsKeyboard };
|
|
1645
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsKeyboard, decorators: [{
|
|
1646
|
-
type: Component,
|
|
1647
|
-
args: [{
|
|
1648
|
-
selector: 'mds-keyboard',
|
|
1649
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1650
|
-
template: '<ng-content></ng-content>',
|
|
1651
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
1652
|
-
inputs: ['test', 'try'],
|
|
1653
|
-
standalone: false
|
|
1654
|
-
}]
|
|
1655
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
1656
|
-
let MdsKeyboardKey = class MdsKeyboardKey {
|
|
1657
|
-
z;
|
|
1658
|
-
el;
|
|
1659
|
-
constructor(c, r, z) {
|
|
1660
|
-
this.z = z;
|
|
1661
|
-
c.detach();
|
|
1662
|
-
this.el = r.nativeElement;
|
|
1663
|
-
}
|
|
1664
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsKeyboardKey, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
1665
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MdsKeyboardKey, selector: "mds-keyboard-key", inputs: { name: "name", pressed: "pressed" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1666
|
-
};
|
|
1667
|
-
MdsKeyboardKey = __decorate([
|
|
1668
|
-
ProxyCmp({
|
|
1669
|
-
inputs: ['name', 'pressed'],
|
|
1670
|
-
methods: ['updateLang']
|
|
1671
|
-
})
|
|
1672
|
-
], MdsKeyboardKey);
|
|
1673
|
-
export { MdsKeyboardKey };
|
|
1674
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsKeyboardKey, decorators: [{
|
|
1675
|
-
type: Component,
|
|
1676
|
-
args: [{
|
|
1677
|
-
selector: 'mds-keyboard-key',
|
|
1678
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1679
|
-
template: '<ng-content></ng-content>',
|
|
1680
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
1681
|
-
inputs: ['name', 'pressed'],
|
|
1682
|
-
standalone: false
|
|
1683
|
-
}]
|
|
1684
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
1685
|
-
let MdsKpi = class MdsKpi {
|
|
1686
|
-
z;
|
|
1687
|
-
el;
|
|
1688
|
-
constructor(c, r, z) {
|
|
1689
|
-
this.z = z;
|
|
1690
|
-
c.detach();
|
|
1691
|
-
this.el = r.nativeElement;
|
|
1692
|
-
}
|
|
1693
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsKpi, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
1694
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MdsKpi, selector: "mds-kpi", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1695
|
-
};
|
|
1696
|
-
MdsKpi = __decorate([
|
|
1697
|
-
ProxyCmp({})
|
|
1698
|
-
], MdsKpi);
|
|
1699
|
-
export { MdsKpi };
|
|
1700
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsKpi, decorators: [{
|
|
1701
|
-
type: Component,
|
|
1702
|
-
args: [{
|
|
1703
|
-
selector: 'mds-kpi',
|
|
1704
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1705
|
-
template: '<ng-content></ng-content>',
|
|
1706
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
1707
|
-
inputs: [],
|
|
1708
|
-
standalone: false
|
|
1709
|
-
}]
|
|
1710
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
1711
|
-
let MdsKpiItem = class MdsKpiItem {
|
|
1712
|
-
z;
|
|
1713
|
-
el;
|
|
1714
|
-
constructor(c, r, z) {
|
|
1715
|
-
this.z = z;
|
|
1716
|
-
c.detach();
|
|
1717
|
-
this.el = r.nativeElement;
|
|
1718
|
-
}
|
|
1719
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsKpiItem, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
1720
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MdsKpiItem, selector: "mds-kpi-item", inputs: { description: "description", icon: "icon", label: "label", threshold: "threshold" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1721
|
-
};
|
|
1722
|
-
MdsKpiItem = __decorate([
|
|
1723
|
-
ProxyCmp({
|
|
1724
|
-
inputs: ['description', 'icon', 'label', 'threshold']
|
|
1725
|
-
})
|
|
1726
|
-
], MdsKpiItem);
|
|
1727
|
-
export { MdsKpiItem };
|
|
1728
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsKpiItem, decorators: [{
|
|
1729
|
-
type: Component,
|
|
1730
|
-
args: [{
|
|
1731
|
-
selector: 'mds-kpi-item',
|
|
1732
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1733
|
-
template: '<ng-content></ng-content>',
|
|
1734
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
1735
|
-
inputs: ['description', 'icon', 'label', 'threshold'],
|
|
1736
|
-
standalone: false
|
|
1737
|
-
}]
|
|
1738
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
1739
|
-
let MdsLabel = class MdsLabel {
|
|
1740
|
-
z;
|
|
1741
|
-
el;
|
|
1742
|
-
mdsLabelDelete = new EventEmitter();
|
|
1743
|
-
constructor(c, r, z) {
|
|
1744
|
-
this.z = z;
|
|
1745
|
-
c.detach();
|
|
1746
|
-
this.el = r.nativeElement;
|
|
1747
|
-
}
|
|
1748
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsLabel, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
1749
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MdsLabel, selector: "mds-label", inputs: { deletable: "deletable", label: "label", tone: "tone", truncate: "truncate", typography: "typography", variant: "variant" }, outputs: { mdsLabelDelete: "mdsLabelDelete" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1750
|
-
};
|
|
1751
|
-
MdsLabel = __decorate([
|
|
1752
|
-
ProxyCmp({
|
|
1753
|
-
inputs: ['deletable', 'label', 'tone', 'truncate', 'typography', 'variant'],
|
|
1754
|
-
methods: ['updateLang']
|
|
1755
|
-
})
|
|
1756
|
-
], MdsLabel);
|
|
1757
|
-
export { MdsLabel };
|
|
1758
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsLabel, decorators: [{
|
|
1759
|
-
type: Component,
|
|
1760
|
-
args: [{
|
|
1761
|
-
selector: 'mds-label',
|
|
1762
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1763
|
-
template: '<ng-content></ng-content>',
|
|
1764
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
1765
|
-
inputs: ['deletable', 'label', 'tone', 'truncate', 'typography', 'variant'],
|
|
1766
|
-
outputs: ['mdsLabelDelete'],
|
|
1767
|
-
standalone: false
|
|
1768
|
-
}]
|
|
1769
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }], propDecorators: { mdsLabelDelete: [{
|
|
1770
|
-
type: Output
|
|
1771
|
-
}] } });
|
|
1772
|
-
let MdsList = class MdsList {
|
|
1773
|
-
z;
|
|
1774
|
-
el;
|
|
1775
|
-
constructor(c, r, z) {
|
|
1776
|
-
this.z = z;
|
|
1777
|
-
c.detach();
|
|
1778
|
-
this.el = r.nativeElement;
|
|
1779
|
-
}
|
|
1780
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsList, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
1781
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MdsList, selector: "mds-list", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1782
|
-
};
|
|
1783
|
-
MdsList = __decorate([
|
|
1784
|
-
ProxyCmp({})
|
|
1785
|
-
], MdsList);
|
|
1786
|
-
export { MdsList };
|
|
1787
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsList, decorators: [{
|
|
1788
|
-
type: Component,
|
|
1789
|
-
args: [{
|
|
1790
|
-
selector: 'mds-list',
|
|
1791
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1792
|
-
template: '<ng-content></ng-content>',
|
|
1793
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
1794
|
-
inputs: [],
|
|
1795
|
-
standalone: false
|
|
1796
|
-
}]
|
|
1797
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
1798
|
-
let MdsListItem = class MdsListItem {
|
|
1799
|
-
z;
|
|
1800
|
-
el;
|
|
1801
|
-
constructor(c, r, z) {
|
|
1802
|
-
this.z = z;
|
|
1803
|
-
c.detach();
|
|
1804
|
-
this.el = r.nativeElement;
|
|
1805
|
-
}
|
|
1806
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsListItem, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
1807
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MdsListItem, selector: "mds-list-item", inputs: { icon: "icon", typography: "typography", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1808
|
-
};
|
|
1809
|
-
MdsListItem = __decorate([
|
|
1810
|
-
ProxyCmp({
|
|
1811
|
-
inputs: ['icon', 'typography', 'variant']
|
|
1812
|
-
})
|
|
1813
|
-
], MdsListItem);
|
|
1814
|
-
export { MdsListItem };
|
|
1815
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsListItem, decorators: [{
|
|
1816
|
-
type: Component,
|
|
1817
|
-
args: [{
|
|
1818
|
-
selector: 'mds-list-item',
|
|
1819
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1820
|
-
template: '<ng-content></ng-content>',
|
|
1821
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
1822
|
-
inputs: ['icon', 'typography', 'variant'],
|
|
1823
|
-
standalone: false
|
|
1824
|
-
}]
|
|
1825
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
1826
|
-
let MdsMention = class MdsMention {
|
|
1827
|
-
z;
|
|
1828
|
-
el;
|
|
1829
|
-
constructor(c, r, z) {
|
|
1830
|
-
this.z = z;
|
|
1831
|
-
c.detach();
|
|
1832
|
-
this.el = r.nativeElement;
|
|
1833
|
-
}
|
|
1834
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsMention, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
1835
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MdsMention, selector: "mds-mention", inputs: { icon: "icon", label: "label", size: "size" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1836
|
-
};
|
|
1837
|
-
MdsMention = __decorate([
|
|
1838
|
-
ProxyCmp({
|
|
1839
|
-
inputs: ['icon', 'label', 'size']
|
|
1840
|
-
})
|
|
1841
|
-
], MdsMention);
|
|
1842
|
-
export { MdsMention };
|
|
1843
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsMention, decorators: [{
|
|
1844
|
-
type: Component,
|
|
1845
|
-
args: [{
|
|
1846
|
-
selector: 'mds-mention',
|
|
1847
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1848
|
-
template: '<ng-content></ng-content>',
|
|
1849
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
1850
|
-
inputs: ['icon', 'label', 'size'],
|
|
1851
|
-
standalone: false
|
|
1852
|
-
}]
|
|
1853
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
1854
|
-
let MdsModal = class MdsModal {
|
|
1855
|
-
z;
|
|
1856
|
-
el;
|
|
1857
|
-
mdsModalOpen = new EventEmitter();
|
|
1858
|
-
mdsModalShow = new EventEmitter();
|
|
1859
|
-
mdsModalClose = new EventEmitter();
|
|
1860
|
-
mdsModalHide = new EventEmitter();
|
|
1861
|
-
constructor(c, r, z) {
|
|
1862
|
-
this.z = z;
|
|
1863
|
-
c.detach();
|
|
1864
|
-
this.el = r.nativeElement;
|
|
1865
|
-
}
|
|
1866
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsModal, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
1867
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MdsModal, selector: "mds-modal", inputs: { animating: "animating", animation: "animation", backdrop: "backdrop", interaction: "interaction", opened: "opened", overflow: "overflow", position: "position" }, outputs: { mdsModalOpen: "mdsModalOpen", mdsModalShow: "mdsModalShow", mdsModalClose: "mdsModalClose", mdsModalHide: "mdsModalHide" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1868
|
-
};
|
|
1869
|
-
MdsModal = __decorate([
|
|
1870
|
-
ProxyCmp({
|
|
1871
|
-
inputs: ['animating', 'animation', 'backdrop', 'interaction', 'opened', 'overflow', 'position'],
|
|
1872
|
-
methods: ['close']
|
|
1873
|
-
})
|
|
1874
|
-
], MdsModal);
|
|
1875
|
-
export { MdsModal };
|
|
1876
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsModal, decorators: [{
|
|
1877
|
-
type: Component,
|
|
1878
|
-
args: [{
|
|
1879
|
-
selector: 'mds-modal',
|
|
1880
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1881
|
-
template: '<ng-content></ng-content>',
|
|
1882
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
1883
|
-
inputs: ['animating', 'animation', 'backdrop', 'interaction', 'opened', 'overflow', 'position'],
|
|
1884
|
-
outputs: ['mdsModalOpen', 'mdsModalShow', 'mdsModalClose', 'mdsModalHide'],
|
|
1885
|
-
standalone: false
|
|
1886
|
-
}]
|
|
1887
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }], propDecorators: { mdsModalOpen: [{
|
|
1888
|
-
type: Output
|
|
1889
|
-
}], mdsModalShow: [{
|
|
1890
|
-
type: Output
|
|
1891
|
-
}], mdsModalClose: [{
|
|
1892
|
-
type: Output
|
|
1893
|
-
}], mdsModalHide: [{
|
|
1894
|
-
type: Output
|
|
1895
|
-
}] } });
|
|
1896
|
-
let MdsNote = class MdsNote {
|
|
1897
|
-
z;
|
|
1898
|
-
el;
|
|
1899
|
-
mdsNoteDelete = new EventEmitter();
|
|
1900
|
-
constructor(c, r, z) {
|
|
1901
|
-
this.z = z;
|
|
1902
|
-
c.detach();
|
|
1903
|
-
this.el = r.nativeElement;
|
|
1904
|
-
}
|
|
1905
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsNote, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
1906
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MdsNote, selector: "mds-note", inputs: { deletable: "deletable", variant: "variant" }, outputs: { mdsNoteDelete: "mdsNoteDelete" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1907
|
-
};
|
|
1908
|
-
MdsNote = __decorate([
|
|
1909
|
-
ProxyCmp({
|
|
1910
|
-
inputs: ['deletable', 'variant'],
|
|
1911
|
-
methods: ['updateLang']
|
|
1912
|
-
})
|
|
1913
|
-
], MdsNote);
|
|
1914
|
-
export { MdsNote };
|
|
1915
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsNote, decorators: [{
|
|
1916
|
-
type: Component,
|
|
1917
|
-
args: [{
|
|
1918
|
-
selector: 'mds-note',
|
|
1919
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1920
|
-
template: '<ng-content></ng-content>',
|
|
1921
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
1922
|
-
inputs: ['deletable', 'variant'],
|
|
1923
|
-
outputs: ['mdsNoteDelete'],
|
|
1924
|
-
standalone: false
|
|
1925
|
-
}]
|
|
1926
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }], propDecorators: { mdsNoteDelete: [{
|
|
1927
|
-
type: Output
|
|
1928
|
-
}] } });
|
|
1929
|
-
let MdsNotification = class MdsNotification {
|
|
1930
|
-
z;
|
|
1931
|
-
el;
|
|
1932
|
-
constructor(c, r, z) {
|
|
1933
|
-
this.z = z;
|
|
1934
|
-
c.detach();
|
|
1935
|
-
this.el = r.nativeElement;
|
|
1936
|
-
}
|
|
1937
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsNotification, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
1938
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MdsNotification, selector: "mds-notification", inputs: { max: "max", strategy: "strategy", target: "target", value: "value", visible: "visible" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1939
|
-
};
|
|
1940
|
-
MdsNotification = __decorate([
|
|
1941
|
-
ProxyCmp({
|
|
1942
|
-
inputs: ['max', 'strategy', 'target', 'value', 'visible']
|
|
1943
|
-
})
|
|
1944
|
-
], MdsNotification);
|
|
1945
|
-
export { MdsNotification };
|
|
1946
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsNotification, decorators: [{
|
|
1947
|
-
type: Component,
|
|
1948
|
-
args: [{
|
|
1949
|
-
selector: 'mds-notification',
|
|
1950
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1951
|
-
template: '<ng-content></ng-content>',
|
|
1952
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
1953
|
-
inputs: ['max', 'strategy', 'target', 'value', 'visible'],
|
|
1954
|
-
standalone: false
|
|
1955
|
-
}]
|
|
1956
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
1957
|
-
let MdsPaginator = class MdsPaginator {
|
|
1958
|
-
z;
|
|
1959
|
-
el;
|
|
1960
|
-
mdsPaginatorChange = new EventEmitter();
|
|
1961
|
-
constructor(c, r, z) {
|
|
1962
|
-
this.z = z;
|
|
1963
|
-
c.detach();
|
|
1964
|
-
this.el = r.nativeElement;
|
|
1965
|
-
}
|
|
1966
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsPaginator, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
1967
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MdsPaginator, selector: "mds-paginator", inputs: { currentPage: "currentPage", pages: "pages" }, outputs: { mdsPaginatorChange: "mdsPaginatorChange" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1968
|
-
};
|
|
1969
|
-
MdsPaginator = __decorate([
|
|
1970
|
-
ProxyCmp({
|
|
1971
|
-
inputs: ['currentPage', 'pages']
|
|
1972
|
-
})
|
|
1973
|
-
], MdsPaginator);
|
|
1974
|
-
export { MdsPaginator };
|
|
1975
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsPaginator, decorators: [{
|
|
1976
|
-
type: Component,
|
|
1977
|
-
args: [{
|
|
1978
|
-
selector: 'mds-paginator',
|
|
1979
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1980
|
-
template: '<ng-content></ng-content>',
|
|
1981
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
1982
|
-
inputs: ['currentPage', 'pages'],
|
|
1983
|
-
outputs: ['mdsPaginatorChange'],
|
|
1984
|
-
standalone: false
|
|
1985
|
-
}]
|
|
1986
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }], propDecorators: { mdsPaginatorChange: [{
|
|
1987
|
-
type: Output
|
|
1988
|
-
}] } });
|
|
1989
|
-
let MdsPaginatorItem = class MdsPaginatorItem {
|
|
1990
|
-
z;
|
|
1991
|
-
el;
|
|
1992
|
-
constructor(c, r, z) {
|
|
1993
|
-
this.z = z;
|
|
1994
|
-
c.detach();
|
|
1995
|
-
this.el = r.nativeElement;
|
|
1996
|
-
}
|
|
1997
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsPaginatorItem, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
1998
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MdsPaginatorItem, selector: "mds-paginator-item", inputs: { disabled: "disabled", icon: "icon", selected: "selected" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1999
|
-
};
|
|
2000
|
-
MdsPaginatorItem = __decorate([
|
|
2001
|
-
ProxyCmp({
|
|
2002
|
-
inputs: ['disabled', 'icon', 'selected']
|
|
2003
|
-
})
|
|
2004
|
-
], MdsPaginatorItem);
|
|
2005
|
-
export { MdsPaginatorItem };
|
|
2006
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsPaginatorItem, decorators: [{
|
|
2007
|
-
type: Component,
|
|
2008
|
-
args: [{
|
|
2009
|
-
selector: 'mds-paginator-item',
|
|
2010
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
2011
|
-
template: '<ng-content></ng-content>',
|
|
2012
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
2013
|
-
inputs: ['disabled', 'icon', 'selected'],
|
|
2014
|
-
standalone: false
|
|
2015
|
-
}]
|
|
2016
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
2017
|
-
let MdsPolicyAi = class MdsPolicyAi {
|
|
2018
|
-
z;
|
|
2019
|
-
el;
|
|
2020
|
-
constructor(c, r, z) {
|
|
2021
|
-
this.z = z;
|
|
2022
|
-
c.detach();
|
|
2023
|
-
this.el = r.nativeElement;
|
|
2024
|
-
}
|
|
2025
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsPolicyAi, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
2026
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MdsPolicyAi, selector: "mds-policy-ai", inputs: { description: "description", headline: "headline", href: "href", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2027
|
-
};
|
|
2028
|
-
MdsPolicyAi = __decorate([
|
|
2029
|
-
ProxyCmp({
|
|
2030
|
-
inputs: ['description', 'headline', 'href', 'variant'],
|
|
2031
|
-
methods: ['updateLang']
|
|
2032
|
-
})
|
|
2033
|
-
], MdsPolicyAi);
|
|
2034
|
-
export { MdsPolicyAi };
|
|
2035
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsPolicyAi, decorators: [{
|
|
2036
|
-
type: Component,
|
|
2037
|
-
args: [{
|
|
2038
|
-
selector: 'mds-policy-ai',
|
|
2039
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
2040
|
-
template: '<ng-content></ng-content>',
|
|
2041
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
2042
|
-
inputs: ['description', 'headline', 'href', 'variant'],
|
|
2043
|
-
standalone: false
|
|
2044
|
-
}]
|
|
2045
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
2046
|
-
let MdsPref = class MdsPref {
|
|
2047
|
-
z;
|
|
2048
|
-
el;
|
|
2049
|
-
constructor(c, r, z) {
|
|
2050
|
-
this.z = z;
|
|
2051
|
-
c.detach();
|
|
2052
|
-
this.el = r.nativeElement;
|
|
2053
|
-
}
|
|
2054
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsPref, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
2055
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MdsPref, selector: "mds-pref", inputs: { controller: "controller", size: "size" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2056
|
-
};
|
|
2057
|
-
MdsPref = __decorate([
|
|
2058
|
-
ProxyCmp({
|
|
2059
|
-
inputs: ['controller', 'size'],
|
|
2060
|
-
methods: ['updateLang']
|
|
2061
|
-
})
|
|
2062
|
-
], MdsPref);
|
|
2063
|
-
export { MdsPref };
|
|
2064
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsPref, decorators: [{
|
|
2065
|
-
type: Component,
|
|
2066
|
-
args: [{
|
|
2067
|
-
selector: 'mds-pref',
|
|
2068
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
2069
|
-
template: '<ng-content></ng-content>',
|
|
2070
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
2071
|
-
inputs: ['controller', 'size'],
|
|
2072
|
-
standalone: false
|
|
2073
|
-
}]
|
|
2074
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
2075
|
-
let MdsPrefAnimation = class MdsPrefAnimation {
|
|
2076
|
-
z;
|
|
2077
|
-
el;
|
|
2078
|
-
mdsPrefChange = new EventEmitter();
|
|
2079
|
-
constructor(c, r, z) {
|
|
2080
|
-
this.z = z;
|
|
2081
|
-
c.detach();
|
|
2082
|
-
this.el = r.nativeElement;
|
|
2083
|
-
}
|
|
2084
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsPrefAnimation, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
2085
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MdsPrefAnimation, selector: "mds-pref-animation", inputs: { mode: "mode", size: "size" }, outputs: { mdsPrefChange: "mdsPrefChange" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2086
|
-
};
|
|
2087
|
-
MdsPrefAnimation = __decorate([
|
|
2088
|
-
ProxyCmp({
|
|
2089
|
-
inputs: ['mode', 'size'],
|
|
2090
|
-
methods: ['updateLang']
|
|
2091
|
-
})
|
|
2092
|
-
], MdsPrefAnimation);
|
|
2093
|
-
export { MdsPrefAnimation };
|
|
2094
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsPrefAnimation, decorators: [{
|
|
2095
|
-
type: Component,
|
|
2096
|
-
args: [{
|
|
2097
|
-
selector: 'mds-pref-animation',
|
|
2098
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
2099
|
-
template: '<ng-content></ng-content>',
|
|
2100
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
2101
|
-
inputs: ['mode', 'size'],
|
|
2102
|
-
outputs: ['mdsPrefChange'],
|
|
2103
|
-
standalone: false
|
|
2104
|
-
}]
|
|
2105
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }], propDecorators: { mdsPrefChange: [{
|
|
2106
|
-
type: Output
|
|
2107
|
-
}] } });
|
|
2108
|
-
let MdsPrefConsumption = class MdsPrefConsumption {
|
|
2109
|
-
z;
|
|
2110
|
-
el;
|
|
2111
|
-
mdsPrefChange = new EventEmitter();
|
|
2112
|
-
constructor(c, r, z) {
|
|
2113
|
-
this.z = z;
|
|
2114
|
-
c.detach();
|
|
2115
|
-
this.el = r.nativeElement;
|
|
2116
|
-
}
|
|
2117
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsPrefConsumption, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
2118
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MdsPrefConsumption, selector: "mds-pref-consumption", inputs: { mode: "mode", size: "size" }, outputs: { mdsPrefChange: "mdsPrefChange" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2119
|
-
};
|
|
2120
|
-
MdsPrefConsumption = __decorate([
|
|
2121
|
-
ProxyCmp({
|
|
2122
|
-
inputs: ['mode', 'size'],
|
|
2123
|
-
methods: ['updateLang']
|
|
2124
|
-
})
|
|
2125
|
-
], MdsPrefConsumption);
|
|
2126
|
-
export { MdsPrefConsumption };
|
|
2127
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsPrefConsumption, decorators: [{
|
|
2128
|
-
type: Component,
|
|
2129
|
-
args: [{
|
|
2130
|
-
selector: 'mds-pref-consumption',
|
|
2131
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
2132
|
-
template: '<ng-content></ng-content>',
|
|
2133
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
2134
|
-
inputs: ['mode', 'size'],
|
|
2135
|
-
outputs: ['mdsPrefChange'],
|
|
2136
|
-
standalone: false
|
|
2137
|
-
}]
|
|
2138
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }], propDecorators: { mdsPrefChange: [{
|
|
2139
|
-
type: Output
|
|
2140
|
-
}] } });
|
|
2141
|
-
let MdsPrefContrast = class MdsPrefContrast {
|
|
2142
|
-
z;
|
|
2143
|
-
el;
|
|
2144
|
-
mdsPrefChange = new EventEmitter();
|
|
2145
|
-
constructor(c, r, z) {
|
|
2146
|
-
this.z = z;
|
|
2147
|
-
c.detach();
|
|
2148
|
-
this.el = r.nativeElement;
|
|
2149
|
-
}
|
|
2150
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsPrefContrast, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
2151
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MdsPrefContrast, selector: "mds-pref-contrast", inputs: { mode: "mode", size: "size" }, outputs: { mdsPrefChange: "mdsPrefChange" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2152
|
-
};
|
|
2153
|
-
MdsPrefContrast = __decorate([
|
|
2154
|
-
ProxyCmp({
|
|
2155
|
-
inputs: ['mode', 'size'],
|
|
2156
|
-
methods: ['updateLang']
|
|
2157
|
-
})
|
|
2158
|
-
], MdsPrefContrast);
|
|
2159
|
-
export { MdsPrefContrast };
|
|
2160
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsPrefContrast, decorators: [{
|
|
2161
|
-
type: Component,
|
|
2162
|
-
args: [{
|
|
2163
|
-
selector: 'mds-pref-contrast',
|
|
2164
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
2165
|
-
template: '<ng-content></ng-content>',
|
|
2166
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
2167
|
-
inputs: ['mode', 'size'],
|
|
2168
|
-
outputs: ['mdsPrefChange'],
|
|
2169
|
-
standalone: false
|
|
2170
|
-
}]
|
|
2171
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }], propDecorators: { mdsPrefChange: [{
|
|
2172
|
-
type: Output
|
|
2173
|
-
}] } });
|
|
2174
|
-
let MdsPrefLanguage = class MdsPrefLanguage {
|
|
2175
|
-
z;
|
|
2176
|
-
el;
|
|
2177
|
-
mdsPrefLanguageChange = new EventEmitter();
|
|
2178
|
-
mdsPrefChange = new EventEmitter();
|
|
2179
|
-
constructor(c, r, z) {
|
|
2180
|
-
this.z = z;
|
|
2181
|
-
c.detach();
|
|
2182
|
-
this.el = r.nativeElement;
|
|
2183
|
-
}
|
|
2184
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsPrefLanguage, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
2185
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MdsPrefLanguage, selector: "mds-pref-language", inputs: { set: "set", size: "size" }, outputs: { mdsPrefLanguageChange: "mdsPrefLanguageChange", mdsPrefChange: "mdsPrefChange" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2186
|
-
};
|
|
2187
|
-
MdsPrefLanguage = __decorate([
|
|
2188
|
-
ProxyCmp({
|
|
2189
|
-
inputs: ['set', 'size'],
|
|
2190
|
-
methods: ['updateLang']
|
|
2191
|
-
})
|
|
2192
|
-
], MdsPrefLanguage);
|
|
2193
|
-
export { MdsPrefLanguage };
|
|
2194
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsPrefLanguage, decorators: [{
|
|
2195
|
-
type: Component,
|
|
2196
|
-
args: [{
|
|
2197
|
-
selector: 'mds-pref-language',
|
|
2198
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
2199
|
-
template: '<ng-content></ng-content>',
|
|
2200
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
2201
|
-
inputs: ['set', 'size'],
|
|
2202
|
-
outputs: ['mdsPrefLanguageChange', 'mdsPrefChange'],
|
|
2203
|
-
standalone: false
|
|
2204
|
-
}]
|
|
2205
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }], propDecorators: { mdsPrefLanguageChange: [{
|
|
2206
|
-
type: Output
|
|
2207
|
-
}], mdsPrefChange: [{
|
|
2208
|
-
type: Output
|
|
2209
|
-
}] } });
|
|
2210
|
-
let MdsPrefLanguageItem = class MdsPrefLanguageItem {
|
|
2211
|
-
z;
|
|
2212
|
-
el;
|
|
2213
|
-
mdsPrefLanguageItemSelect = new EventEmitter();
|
|
2214
|
-
constructor(c, r, z) {
|
|
2215
|
-
this.z = z;
|
|
2216
|
-
c.detach();
|
|
2217
|
-
this.el = r.nativeElement;
|
|
2218
|
-
}
|
|
2219
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsPrefLanguageItem, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
2220
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MdsPrefLanguageItem, selector: "mds-pref-language-item", inputs: { code: "code", selected: "selected" }, outputs: { mdsPrefLanguageItemSelect: "mdsPrefLanguageItemSelect" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2221
|
-
};
|
|
2222
|
-
MdsPrefLanguageItem = __decorate([
|
|
2223
|
-
ProxyCmp({
|
|
2224
|
-
inputs: ['code', 'selected'],
|
|
2225
|
-
methods: ['updateLang']
|
|
2226
|
-
})
|
|
2227
|
-
], MdsPrefLanguageItem);
|
|
2228
|
-
export { MdsPrefLanguageItem };
|
|
2229
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsPrefLanguageItem, decorators: [{
|
|
2230
|
-
type: Component,
|
|
2231
|
-
args: [{
|
|
2232
|
-
selector: 'mds-pref-language-item',
|
|
2233
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
2234
|
-
template: '<ng-content></ng-content>',
|
|
2235
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
2236
|
-
inputs: ['code', 'selected'],
|
|
2237
|
-
outputs: ['mdsPrefLanguageItemSelect'],
|
|
2238
|
-
standalone: false
|
|
2239
|
-
}]
|
|
2240
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }], propDecorators: { mdsPrefLanguageItemSelect: [{
|
|
2241
|
-
type: Output
|
|
2242
|
-
}] } });
|
|
2243
|
-
let MdsPrefTheme = class MdsPrefTheme {
|
|
2244
|
-
z;
|
|
2245
|
-
el;
|
|
2246
|
-
mdsPrefChange = new EventEmitter();
|
|
2247
|
-
constructor(c, r, z) {
|
|
2248
|
-
this.z = z;
|
|
2249
|
-
c.detach();
|
|
2250
|
-
this.el = r.nativeElement;
|
|
2251
|
-
}
|
|
2252
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsPrefTheme, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
2253
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MdsPrefTheme, selector: "mds-pref-theme", inputs: { mode: "mode", size: "size", transition: "transition" }, outputs: { mdsPrefChange: "mdsPrefChange" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2254
|
-
};
|
|
2255
|
-
MdsPrefTheme = __decorate([
|
|
2256
|
-
ProxyCmp({
|
|
2257
|
-
inputs: ['mode', 'size', 'transition'],
|
|
2258
|
-
methods: ['updateLang']
|
|
2259
|
-
})
|
|
2260
|
-
], MdsPrefTheme);
|
|
2261
|
-
export { MdsPrefTheme };
|
|
2262
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsPrefTheme, decorators: [{
|
|
2263
|
-
type: Component,
|
|
2264
|
-
args: [{
|
|
2265
|
-
selector: 'mds-pref-theme',
|
|
2266
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
2267
|
-
template: '<ng-content></ng-content>',
|
|
2268
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
2269
|
-
inputs: ['mode', 'size', 'transition'],
|
|
2270
|
-
outputs: ['mdsPrefChange'],
|
|
2271
|
-
standalone: false
|
|
2272
|
-
}]
|
|
2273
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }], propDecorators: { mdsPrefChange: [{
|
|
2274
|
-
type: Output
|
|
2275
|
-
}] } });
|
|
2276
|
-
let MdsPrefThemeVariant = class MdsPrefThemeVariant {
|
|
2277
|
-
z;
|
|
2278
|
-
el;
|
|
2279
|
-
mdsPrefThemeVariantChange = new EventEmitter();
|
|
2280
|
-
mdsPrefChange = new EventEmitter();
|
|
2281
|
-
constructor(c, r, z) {
|
|
2282
|
-
this.z = z;
|
|
2283
|
-
c.detach();
|
|
2284
|
-
this.el = r.nativeElement;
|
|
2285
|
-
}
|
|
2286
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsPrefThemeVariant, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
2287
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MdsPrefThemeVariant, selector: "mds-pref-theme-variant", inputs: { name: "name", scheme: "scheme", size: "size" }, outputs: { mdsPrefThemeVariantChange: "mdsPrefThemeVariantChange", mdsPrefChange: "mdsPrefChange" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2288
|
-
};
|
|
2289
|
-
MdsPrefThemeVariant = __decorate([
|
|
2290
|
-
ProxyCmp({
|
|
2291
|
-
inputs: ['name', 'scheme', 'size'],
|
|
2292
|
-
methods: ['updateLang']
|
|
2293
|
-
})
|
|
2294
|
-
], MdsPrefThemeVariant);
|
|
2295
|
-
export { MdsPrefThemeVariant };
|
|
2296
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsPrefThemeVariant, decorators: [{
|
|
2297
|
-
type: Component,
|
|
2298
|
-
args: [{
|
|
2299
|
-
selector: 'mds-pref-theme-variant',
|
|
2300
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
2301
|
-
template: '<ng-content></ng-content>',
|
|
2302
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
2303
|
-
inputs: ['name', 'scheme', 'size'],
|
|
2304
|
-
outputs: ['mdsPrefThemeVariantChange', 'mdsPrefChange'],
|
|
2305
|
-
standalone: false
|
|
2306
|
-
}]
|
|
2307
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }], propDecorators: { mdsPrefThemeVariantChange: [{
|
|
2308
|
-
type: Output
|
|
2309
|
-
}], mdsPrefChange: [{
|
|
2310
|
-
type: Output
|
|
2311
|
-
}] } });
|
|
2312
|
-
let MdsPrefThemeVariantItem = class MdsPrefThemeVariantItem {
|
|
2313
|
-
z;
|
|
2314
|
-
el;
|
|
2315
|
-
mdsPrefThemeVariantItemSelect = new EventEmitter();
|
|
2316
|
-
constructor(c, r, z) {
|
|
2317
|
-
this.z = z;
|
|
2318
|
-
c.detach();
|
|
2319
|
-
this.el = r.nativeElement;
|
|
2320
|
-
}
|
|
2321
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsPrefThemeVariantItem, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
2322
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MdsPrefThemeVariantItem, selector: "mds-pref-theme-variant-item", inputs: { label: "label", name: "name", scheme: "scheme", selected: "selected" }, outputs: { mdsPrefThemeVariantItemSelect: "mdsPrefThemeVariantItemSelect" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2323
|
-
};
|
|
2324
|
-
MdsPrefThemeVariantItem = __decorate([
|
|
2325
|
-
ProxyCmp({
|
|
2326
|
-
inputs: ['label', 'name', 'scheme', 'selected'],
|
|
2327
|
-
methods: ['updateLang']
|
|
2328
|
-
})
|
|
2329
|
-
], MdsPrefThemeVariantItem);
|
|
2330
|
-
export { MdsPrefThemeVariantItem };
|
|
2331
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsPrefThemeVariantItem, decorators: [{
|
|
2332
|
-
type: Component,
|
|
2333
|
-
args: [{
|
|
2334
|
-
selector: 'mds-pref-theme-variant-item',
|
|
2335
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
2336
|
-
template: '<ng-content></ng-content>',
|
|
2337
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
2338
|
-
inputs: ['label', 'name', 'scheme', 'selected'],
|
|
2339
|
-
outputs: ['mdsPrefThemeVariantItemSelect'],
|
|
2340
|
-
standalone: false
|
|
2341
|
-
}]
|
|
2342
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }], propDecorators: { mdsPrefThemeVariantItemSelect: [{
|
|
2343
|
-
type: Output
|
|
2344
|
-
}] } });
|
|
2345
|
-
let MdsPriceTable = class MdsPriceTable {
|
|
2346
|
-
z;
|
|
2347
|
-
el;
|
|
2348
|
-
constructor(c, r, z) {
|
|
2349
|
-
this.z = z;
|
|
2350
|
-
c.detach();
|
|
2351
|
-
this.el = r.nativeElement;
|
|
2352
|
-
}
|
|
2353
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsPriceTable, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
2354
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MdsPriceTable, selector: "mds-price-table", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2355
|
-
};
|
|
2356
|
-
MdsPriceTable = __decorate([
|
|
2357
|
-
ProxyCmp({})
|
|
2358
|
-
], MdsPriceTable);
|
|
2359
|
-
export { MdsPriceTable };
|
|
2360
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsPriceTable, decorators: [{
|
|
2361
|
-
type: Component,
|
|
2362
|
-
args: [{
|
|
2363
|
-
selector: 'mds-price-table',
|
|
2364
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
2365
|
-
template: '<ng-content></ng-content>',
|
|
2366
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
2367
|
-
inputs: [],
|
|
2368
|
-
standalone: false
|
|
2369
|
-
}]
|
|
2370
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
2371
|
-
let MdsPriceTableFeatures = class MdsPriceTableFeatures {
|
|
2372
|
-
z;
|
|
2373
|
-
el;
|
|
2374
|
-
constructor(c, r, z) {
|
|
2375
|
-
this.z = z;
|
|
2376
|
-
c.detach();
|
|
2377
|
-
this.el = r.nativeElement;
|
|
2378
|
-
}
|
|
2379
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsPriceTableFeatures, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
2380
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MdsPriceTableFeatures, selector: "mds-price-table-features", inputs: { label: "label" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2381
|
-
};
|
|
2382
|
-
MdsPriceTableFeatures = __decorate([
|
|
2383
|
-
ProxyCmp({
|
|
2384
|
-
inputs: ['label']
|
|
2385
|
-
})
|
|
2386
|
-
], MdsPriceTableFeatures);
|
|
2387
|
-
export { MdsPriceTableFeatures };
|
|
2388
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsPriceTableFeatures, decorators: [{
|
|
2389
|
-
type: Component,
|
|
2390
|
-
args: [{
|
|
2391
|
-
selector: 'mds-price-table-features',
|
|
2392
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
2393
|
-
template: '<ng-content></ng-content>',
|
|
2394
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
2395
|
-
inputs: ['label'],
|
|
2396
|
-
standalone: false
|
|
2397
|
-
}]
|
|
2398
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
2399
|
-
let MdsPriceTableFeaturesCell = class MdsPriceTableFeaturesCell {
|
|
2400
|
-
z;
|
|
2401
|
-
el;
|
|
2402
|
-
constructor(c, r, z) {
|
|
2403
|
-
this.z = z;
|
|
2404
|
-
c.detach();
|
|
2405
|
-
this.el = r.nativeElement;
|
|
2406
|
-
}
|
|
2407
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsPriceTableFeaturesCell, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
2408
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MdsPriceTableFeaturesCell, selector: "mds-price-table-features-cell", inputs: { type: "type" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2409
|
-
};
|
|
2410
|
-
MdsPriceTableFeaturesCell = __decorate([
|
|
2411
|
-
ProxyCmp({
|
|
2412
|
-
inputs: ['type']
|
|
2413
|
-
})
|
|
2414
|
-
], MdsPriceTableFeaturesCell);
|
|
2415
|
-
export { MdsPriceTableFeaturesCell };
|
|
2416
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsPriceTableFeaturesCell, decorators: [{
|
|
2417
|
-
type: Component,
|
|
2418
|
-
args: [{
|
|
2419
|
-
selector: 'mds-price-table-features-cell',
|
|
2420
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
2421
|
-
template: '<ng-content></ng-content>',
|
|
2422
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
2423
|
-
inputs: ['type'],
|
|
2424
|
-
standalone: false
|
|
2425
|
-
}]
|
|
2426
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
2427
|
-
let MdsPriceTableFeaturesRow = class MdsPriceTableFeaturesRow {
|
|
2428
|
-
z;
|
|
2429
|
-
el;
|
|
2430
|
-
constructor(c, r, z) {
|
|
2431
|
-
this.z = z;
|
|
2432
|
-
c.detach();
|
|
2433
|
-
this.el = r.nativeElement;
|
|
2434
|
-
}
|
|
2435
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsPriceTableFeaturesRow, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
2436
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MdsPriceTableFeaturesRow, selector: "mds-price-table-features-row", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2437
|
-
};
|
|
2438
|
-
MdsPriceTableFeaturesRow = __decorate([
|
|
2439
|
-
ProxyCmp({})
|
|
2440
|
-
], MdsPriceTableFeaturesRow);
|
|
2441
|
-
export { MdsPriceTableFeaturesRow };
|
|
2442
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsPriceTableFeaturesRow, decorators: [{
|
|
2443
|
-
type: Component,
|
|
2444
|
-
args: [{
|
|
2445
|
-
selector: 'mds-price-table-features-row',
|
|
2446
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
2447
|
-
template: '<ng-content></ng-content>',
|
|
2448
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
2449
|
-
inputs: [],
|
|
2450
|
-
standalone: false
|
|
2451
|
-
}]
|
|
2452
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
2453
|
-
let MdsPriceTableHeader = class MdsPriceTableHeader {
|
|
2454
|
-
z;
|
|
2455
|
-
el;
|
|
2456
|
-
constructor(c, r, z) {
|
|
2457
|
-
this.z = z;
|
|
2458
|
-
c.detach();
|
|
2459
|
-
this.el = r.nativeElement;
|
|
2460
|
-
}
|
|
2461
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsPriceTableHeader, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
2462
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MdsPriceTableHeader, selector: "mds-price-table-header", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2463
|
-
};
|
|
2464
|
-
MdsPriceTableHeader = __decorate([
|
|
2465
|
-
ProxyCmp({})
|
|
2466
|
-
], MdsPriceTableHeader);
|
|
2467
|
-
export { MdsPriceTableHeader };
|
|
2468
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsPriceTableHeader, decorators: [{
|
|
2469
|
-
type: Component,
|
|
2470
|
-
args: [{
|
|
2471
|
-
selector: 'mds-price-table-header',
|
|
2472
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
2473
|
-
template: '<ng-content></ng-content>',
|
|
2474
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
2475
|
-
inputs: [],
|
|
2476
|
-
standalone: false
|
|
2477
|
-
}]
|
|
2478
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
2479
|
-
let MdsPriceTableList = class MdsPriceTableList {
|
|
2480
|
-
z;
|
|
2481
|
-
el;
|
|
2482
|
-
constructor(c, r, z) {
|
|
2483
|
-
this.z = z;
|
|
2484
|
-
c.detach();
|
|
2485
|
-
this.el = r.nativeElement;
|
|
2486
|
-
}
|
|
2487
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsPriceTableList, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
2488
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MdsPriceTableList, selector: "mds-price-table-list", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2489
|
-
};
|
|
2490
|
-
MdsPriceTableList = __decorate([
|
|
2491
|
-
ProxyCmp({})
|
|
2492
|
-
], MdsPriceTableList);
|
|
2493
|
-
export { MdsPriceTableList };
|
|
2494
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsPriceTableList, decorators: [{
|
|
2495
|
-
type: Component,
|
|
2496
|
-
args: [{
|
|
2497
|
-
selector: 'mds-price-table-list',
|
|
2498
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
2499
|
-
template: '<ng-content></ng-content>',
|
|
2500
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
2501
|
-
inputs: [],
|
|
2502
|
-
standalone: false
|
|
2503
|
-
}]
|
|
2504
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
2505
|
-
let MdsPriceTableListItem = class MdsPriceTableListItem {
|
|
2506
|
-
z;
|
|
2507
|
-
el;
|
|
2508
|
-
constructor(c, r, z) {
|
|
2509
|
-
this.z = z;
|
|
2510
|
-
c.detach();
|
|
2511
|
-
this.el = r.nativeElement;
|
|
2512
|
-
}
|
|
2513
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsPriceTableListItem, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
2514
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MdsPriceTableListItem, selector: "mds-price-table-list-item", inputs: { supported: "supported", typography: "typography" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2515
|
-
};
|
|
2516
|
-
MdsPriceTableListItem = __decorate([
|
|
2517
|
-
ProxyCmp({
|
|
2518
|
-
inputs: ['supported', 'typography']
|
|
2519
|
-
})
|
|
2520
|
-
], MdsPriceTableListItem);
|
|
2521
|
-
export { MdsPriceTableListItem };
|
|
2522
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsPriceTableListItem, decorators: [{
|
|
2523
|
-
type: Component,
|
|
2524
|
-
args: [{
|
|
2525
|
-
selector: 'mds-price-table-list-item',
|
|
2526
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
2527
|
-
template: '<ng-content></ng-content>',
|
|
2528
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
2529
|
-
inputs: ['supported', 'typography'],
|
|
2530
|
-
standalone: false
|
|
2531
|
-
}]
|
|
2532
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
2533
|
-
let MdsProgress = class MdsProgress {
|
|
2534
|
-
z;
|
|
2535
|
-
el;
|
|
2536
|
-
constructor(c, r, z) {
|
|
2537
|
-
this.z = z;
|
|
2538
|
-
c.detach();
|
|
2539
|
-
this.el = r.nativeElement;
|
|
2540
|
-
}
|
|
2541
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsProgress, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
2542
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MdsProgress, selector: "mds-progress", inputs: { direction: "direction", progress: "progress", size: "size", steps: "steps", typography: "typography", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2543
|
-
};
|
|
2544
|
-
MdsProgress = __decorate([
|
|
2545
|
-
ProxyCmp({
|
|
2546
|
-
inputs: ['direction', 'progress', 'size', 'steps', 'typography', 'variant']
|
|
2547
|
-
})
|
|
2548
|
-
], MdsProgress);
|
|
2549
|
-
export { MdsProgress };
|
|
2550
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsProgress, decorators: [{
|
|
2551
|
-
type: Component,
|
|
2552
|
-
args: [{
|
|
2553
|
-
selector: 'mds-progress',
|
|
2554
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
2555
|
-
template: '<ng-content></ng-content>',
|
|
2556
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
2557
|
-
inputs: ['direction', 'progress', 'size', 'steps', 'typography', 'variant'],
|
|
2558
|
-
standalone: false
|
|
2559
|
-
}]
|
|
2560
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
2561
|
-
let MdsPushNotification = class MdsPushNotification {
|
|
2562
|
-
z;
|
|
2563
|
-
el;
|
|
2564
|
-
mdsPushNotificationChange = new EventEmitter();
|
|
2565
|
-
mdsPushNotificationShow = new EventEmitter();
|
|
2566
|
-
mdsPushNotificationHide = new EventEmitter();
|
|
2567
|
-
constructor(c, r, z) {
|
|
2568
|
-
this.z = z;
|
|
2569
|
-
c.detach();
|
|
2570
|
-
this.el = r.nativeElement;
|
|
2571
|
-
}
|
|
2572
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsPushNotification, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
2573
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MdsPushNotification, selector: "mds-push-notification", inputs: { behavior: "behavior", visible: "visible" }, outputs: { mdsPushNotificationChange: "mdsPushNotificationChange", mdsPushNotificationShow: "mdsPushNotificationShow", mdsPushNotificationHide: "mdsPushNotificationHide" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2574
|
-
};
|
|
2575
|
-
MdsPushNotification = __decorate([
|
|
2576
|
-
ProxyCmp({
|
|
2577
|
-
inputs: ['behavior', 'visible'],
|
|
2578
|
-
methods: ['show', 'hide', 'removeNotification']
|
|
2579
|
-
})
|
|
2580
|
-
], MdsPushNotification);
|
|
2581
|
-
export { MdsPushNotification };
|
|
2582
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsPushNotification, decorators: [{
|
|
2583
|
-
type: Component,
|
|
2584
|
-
args: [{
|
|
2585
|
-
selector: 'mds-push-notification',
|
|
2586
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
2587
|
-
template: '<ng-content></ng-content>',
|
|
2588
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
2589
|
-
inputs: ['behavior', 'visible'],
|
|
2590
|
-
outputs: ['mdsPushNotificationChange', 'mdsPushNotificationShow', 'mdsPushNotificationHide'],
|
|
2591
|
-
standalone: false
|
|
2592
|
-
}]
|
|
2593
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }], propDecorators: { mdsPushNotificationChange: [{
|
|
2594
|
-
type: Output
|
|
2595
|
-
}], mdsPushNotificationShow: [{
|
|
2596
|
-
type: Output
|
|
2597
|
-
}], mdsPushNotificationHide: [{
|
|
2598
|
-
type: Output
|
|
2599
|
-
}] } });
|
|
2600
|
-
let MdsPushNotificationItem = class MdsPushNotificationItem {
|
|
2601
|
-
z;
|
|
2602
|
-
el;
|
|
2603
|
-
mdsPushNotificationItemClose = new EventEmitter();
|
|
2604
|
-
constructor(c, r, z) {
|
|
2605
|
-
this.z = z;
|
|
2606
|
-
c.detach();
|
|
2607
|
-
this.el = r.nativeElement;
|
|
2608
|
-
}
|
|
2609
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsPushNotificationItem, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
2610
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MdsPushNotificationItem, selector: "mds-push-notification-item", inputs: { dateFormat: "dateFormat", datetime: "datetime", deletable: "deletable", icon: "icon", initials: "initials", message: "message", preview: "preview", src: "src", subject: "subject", tone: "tone", variant: "variant" }, outputs: { mdsPushNotificationItemClose: "mdsPushNotificationItemClose" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2611
|
-
};
|
|
2612
|
-
MdsPushNotificationItem = __decorate([
|
|
2613
|
-
ProxyCmp({
|
|
2614
|
-
inputs: ['dateFormat', 'datetime', 'deletable', 'icon', 'initials', 'message', 'preview', 'src', 'subject', 'tone', 'variant'],
|
|
2615
|
-
methods: ['updateLang']
|
|
2616
|
-
})
|
|
2617
|
-
], MdsPushNotificationItem);
|
|
2618
|
-
export { MdsPushNotificationItem };
|
|
2619
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsPushNotificationItem, decorators: [{
|
|
2620
|
-
type: Component,
|
|
2621
|
-
args: [{
|
|
2622
|
-
selector: 'mds-push-notification-item',
|
|
2623
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
2624
|
-
template: '<ng-content></ng-content>',
|
|
2625
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
2626
|
-
inputs: ['dateFormat', 'datetime', 'deletable', 'icon', 'initials', 'message', 'preview', 'src', 'subject', 'tone', 'variant'],
|
|
2627
|
-
outputs: ['mdsPushNotificationItemClose'],
|
|
2628
|
-
standalone: false
|
|
2629
|
-
}]
|
|
2630
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }], propDecorators: { mdsPushNotificationItemClose: [{
|
|
2631
|
-
type: Output
|
|
2632
|
-
}] } });
|
|
2633
|
-
let MdsQuote = class MdsQuote {
|
|
2634
|
-
z;
|
|
2635
|
-
el;
|
|
2636
|
-
constructor(c, r, z) {
|
|
2637
|
-
this.z = z;
|
|
2638
|
-
c.detach();
|
|
2639
|
-
this.el = r.nativeElement;
|
|
2640
|
-
}
|
|
2641
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsQuote, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
2642
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MdsQuote, selector: "mds-quote", inputs: { tag: "tag", typography: "typography" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2643
|
-
};
|
|
2644
|
-
MdsQuote = __decorate([
|
|
2645
|
-
ProxyCmp({
|
|
2646
|
-
inputs: ['tag', 'typography']
|
|
2647
|
-
})
|
|
2648
|
-
], MdsQuote);
|
|
2649
|
-
export { MdsQuote };
|
|
2650
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsQuote, decorators: [{
|
|
2651
|
-
type: Component,
|
|
2652
|
-
args: [{
|
|
2653
|
-
selector: 'mds-quote',
|
|
2654
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
2655
|
-
template: '<ng-content></ng-content>',
|
|
2656
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
2657
|
-
inputs: ['tag', 'typography'],
|
|
2658
|
-
standalone: false
|
|
2659
|
-
}]
|
|
2660
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
2661
|
-
let MdsRadialMenu = class MdsRadialMenu {
|
|
2662
|
-
z;
|
|
2663
|
-
el;
|
|
2664
|
-
constructor(c, r, z) {
|
|
2665
|
-
this.z = z;
|
|
2666
|
-
c.detach();
|
|
2667
|
-
this.el = r.nativeElement;
|
|
2668
|
-
}
|
|
2669
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsRadialMenu, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
2670
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MdsRadialMenu, selector: "mds-radial-menu", inputs: { angleEnd: "angleEnd", angleStart: "angleStart", backdrop: "backdrop", direction: "direction", disc: "disc", icon: "icon", interaction: "interaction", opened: "opened", radius: "radius", size: "size", tone: "tone", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2671
|
-
};
|
|
2672
|
-
MdsRadialMenu = __decorate([
|
|
2673
|
-
ProxyCmp({
|
|
2674
|
-
inputs: ['angleEnd', 'angleStart', 'backdrop', 'direction', 'disc', 'icon', 'interaction', 'opened', 'radius', 'size', 'tone', 'variant']
|
|
2675
|
-
})
|
|
2676
|
-
], MdsRadialMenu);
|
|
2677
|
-
export { MdsRadialMenu };
|
|
2678
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsRadialMenu, decorators: [{
|
|
2679
|
-
type: Component,
|
|
2680
|
-
args: [{
|
|
2681
|
-
selector: 'mds-radial-menu',
|
|
2682
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
2683
|
-
template: '<ng-content></ng-content>',
|
|
2684
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
2685
|
-
inputs: ['angleEnd', 'angleStart', 'backdrop', 'direction', 'disc', 'icon', 'interaction', 'opened', 'radius', 'size', 'tone', 'variant'],
|
|
2686
|
-
standalone: false
|
|
2687
|
-
}]
|
|
2688
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
2689
|
-
let MdsRadialMenuItem = class MdsRadialMenuItem {
|
|
2690
|
-
z;
|
|
2691
|
-
el;
|
|
2692
|
-
constructor(c, r, z) {
|
|
2693
|
-
this.z = z;
|
|
2694
|
-
c.detach();
|
|
2695
|
-
this.el = r.nativeElement;
|
|
2696
|
-
}
|
|
2697
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsRadialMenuItem, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
2698
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MdsRadialMenuItem, selector: "mds-radial-menu-item", inputs: { icon: "icon", size: "size", tone: "tone", tooltip: "tooltip", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2699
|
-
};
|
|
2700
|
-
MdsRadialMenuItem = __decorate([
|
|
2701
|
-
ProxyCmp({
|
|
2702
|
-
inputs: ['icon', 'size', 'tone', 'tooltip', 'variant']
|
|
2703
|
-
})
|
|
2704
|
-
], MdsRadialMenuItem);
|
|
2705
|
-
export { MdsRadialMenuItem };
|
|
2706
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsRadialMenuItem, decorators: [{
|
|
2707
|
-
type: Component,
|
|
2708
|
-
args: [{
|
|
2709
|
-
selector: 'mds-radial-menu-item',
|
|
2710
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
2711
|
-
template: '<ng-content></ng-content>',
|
|
2712
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
2713
|
-
inputs: ['icon', 'size', 'tone', 'tooltip', 'variant'],
|
|
2714
|
-
standalone: false
|
|
2715
|
-
}]
|
|
2716
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
2717
|
-
let MdsRadialProgress = class MdsRadialProgress {
|
|
2718
|
-
z;
|
|
2719
|
-
el;
|
|
2720
|
-
constructor(c, r, z) {
|
|
2721
|
-
this.z = z;
|
|
2722
|
-
c.detach();
|
|
2723
|
-
this.el = r.nativeElement;
|
|
2724
|
-
}
|
|
2725
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsRadialProgress, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
2726
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MdsRadialProgress, selector: "mds-radial-progress", inputs: { icon: "icon", progress: "progress", typography: "typography", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2727
|
-
};
|
|
2728
|
-
MdsRadialProgress = __decorate([
|
|
2729
|
-
ProxyCmp({
|
|
2730
|
-
inputs: ['icon', 'progress', 'typography', 'variant']
|
|
2731
|
-
})
|
|
2732
|
-
], MdsRadialProgress);
|
|
2733
|
-
export { MdsRadialProgress };
|
|
2734
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsRadialProgress, decorators: [{
|
|
2735
|
-
type: Component,
|
|
2736
|
-
args: [{
|
|
2737
|
-
selector: 'mds-radial-progress',
|
|
2738
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
2739
|
-
template: '<ng-content></ng-content>',
|
|
2740
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
2741
|
-
inputs: ['icon', 'progress', 'typography', 'variant'],
|
|
2742
|
-
standalone: false
|
|
2743
|
-
}]
|
|
2744
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
2745
|
-
let MdsSeparator = class MdsSeparator {
|
|
2746
|
-
z;
|
|
2747
|
-
el;
|
|
2748
|
-
constructor(c, r, z) {
|
|
2749
|
-
this.z = z;
|
|
2750
|
-
c.detach();
|
|
2751
|
-
this.el = r.nativeElement;
|
|
2752
|
-
}
|
|
2753
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsSeparator, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
2754
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MdsSeparator, selector: "mds-separator", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2755
|
-
};
|
|
2756
|
-
MdsSeparator = __decorate([
|
|
2757
|
-
ProxyCmp({})
|
|
2758
|
-
], MdsSeparator);
|
|
2759
|
-
export { MdsSeparator };
|
|
2760
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsSeparator, decorators: [{
|
|
2761
|
-
type: Component,
|
|
2762
|
-
args: [{
|
|
2763
|
-
selector: 'mds-separator',
|
|
2764
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
2765
|
-
template: '<ng-content></ng-content>',
|
|
2766
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
2767
|
-
inputs: [],
|
|
2768
|
-
standalone: false
|
|
2769
|
-
}]
|
|
2770
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
2771
|
-
let MdsSpinner = class MdsSpinner {
|
|
2772
|
-
z;
|
|
2773
|
-
el;
|
|
2774
|
-
constructor(c, r, z) {
|
|
2775
|
-
this.z = z;
|
|
2776
|
-
c.detach();
|
|
2777
|
-
this.el = r.nativeElement;
|
|
2778
|
-
}
|
|
2779
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsSpinner, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
2780
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MdsSpinner, selector: "mds-spinner", inputs: { running: "running" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2781
|
-
};
|
|
2782
|
-
MdsSpinner = __decorate([
|
|
2783
|
-
ProxyCmp({
|
|
2784
|
-
inputs: ['running']
|
|
2785
|
-
})
|
|
2786
|
-
], MdsSpinner);
|
|
2787
|
-
export { MdsSpinner };
|
|
2788
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsSpinner, decorators: [{
|
|
2789
|
-
type: Component,
|
|
2790
|
-
args: [{
|
|
2791
|
-
selector: 'mds-spinner',
|
|
2792
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
2793
|
-
template: '<ng-content></ng-content>',
|
|
2794
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
2795
|
-
inputs: ['running'],
|
|
2796
|
-
standalone: false
|
|
2797
|
-
}]
|
|
2798
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
2799
|
-
let MdsStatusBar = class MdsStatusBar {
|
|
2800
|
-
z;
|
|
2801
|
-
el;
|
|
2802
|
-
constructor(c, r, z) {
|
|
2803
|
-
this.z = z;
|
|
2804
|
-
c.detach();
|
|
2805
|
-
this.el = r.nativeElement;
|
|
2806
|
-
}
|
|
2807
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsStatusBar, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
2808
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MdsStatusBar, selector: "mds-status-bar", inputs: { description: "description", overflow: "overflow", position: "position", visible: "visible" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2809
|
-
};
|
|
2810
|
-
MdsStatusBar = __decorate([
|
|
2811
|
-
ProxyCmp({
|
|
2812
|
-
inputs: ['description', 'overflow', 'position', 'visible'],
|
|
2813
|
-
methods: ['hide']
|
|
2814
|
-
})
|
|
2815
|
-
], MdsStatusBar);
|
|
2816
|
-
export { MdsStatusBar };
|
|
2817
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsStatusBar, decorators: [{
|
|
2818
|
-
type: Component,
|
|
2819
|
-
args: [{
|
|
2820
|
-
selector: 'mds-status-bar',
|
|
2821
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
2822
|
-
template: '<ng-content></ng-content>',
|
|
2823
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
2824
|
-
inputs: ['description', 'overflow', 'position', 'visible'],
|
|
2825
|
-
standalone: false
|
|
2826
|
-
}]
|
|
2827
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
2828
|
-
let MdsStepperBar = class MdsStepperBar {
|
|
2829
|
-
z;
|
|
2830
|
-
el;
|
|
2831
|
-
mdsStepperBarChange = new EventEmitter();
|
|
2832
|
-
constructor(c, r, z) {
|
|
2833
|
-
this.z = z;
|
|
2834
|
-
c.detach();
|
|
2835
|
-
this.el = r.nativeElement;
|
|
2836
|
-
}
|
|
2837
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsStepperBar, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
2838
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MdsStepperBar, selector: "mds-stepper-bar", inputs: { itemsDone: "itemsDone", navigation: "navigation" }, outputs: { mdsStepperBarChange: "mdsStepperBarChange" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2839
|
-
};
|
|
2840
|
-
MdsStepperBar = __decorate([
|
|
2841
|
-
ProxyCmp({
|
|
2842
|
-
inputs: ['itemsDone', 'navigation']
|
|
2843
|
-
})
|
|
2844
|
-
], MdsStepperBar);
|
|
2845
|
-
export { MdsStepperBar };
|
|
2846
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsStepperBar, decorators: [{
|
|
2847
|
-
type: Component,
|
|
2848
|
-
args: [{
|
|
2849
|
-
selector: 'mds-stepper-bar',
|
|
2850
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
2851
|
-
template: '<ng-content></ng-content>',
|
|
2852
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
2853
|
-
inputs: ['itemsDone', 'navigation'],
|
|
2854
|
-
outputs: ['mdsStepperBarChange'],
|
|
2855
|
-
standalone: false
|
|
2856
|
-
}]
|
|
2857
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }], propDecorators: { mdsStepperBarChange: [{
|
|
2858
|
-
type: Output
|
|
2859
|
-
}] } });
|
|
2860
|
-
let MdsStepperBarItem = class MdsStepperBarItem {
|
|
2861
|
-
z;
|
|
2862
|
-
el;
|
|
2863
|
-
mdsStepperBarItemDone = new EventEmitter();
|
|
2864
|
-
constructor(c, r, z) {
|
|
2865
|
-
this.z = z;
|
|
2866
|
-
c.detach();
|
|
2867
|
-
this.el = r.nativeElement;
|
|
2868
|
-
}
|
|
2869
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsStepperBarItem, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
2870
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MdsStepperBarItem, selector: "mds-stepper-bar-item", inputs: { badge: "badge", current: "current", done: "done", icon: "icon", iconChecked: "iconChecked", label: "label", step: "step", typography: "typography", value: "value" }, outputs: { mdsStepperBarItemDone: "mdsStepperBarItemDone" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2871
|
-
};
|
|
2872
|
-
MdsStepperBarItem = __decorate([
|
|
2873
|
-
ProxyCmp({
|
|
2874
|
-
inputs: ['badge', 'current', 'done', 'icon', 'iconChecked', 'label', 'step', 'typography', 'value'],
|
|
2875
|
-
methods: ['updateLang']
|
|
2876
|
-
})
|
|
2877
|
-
], MdsStepperBarItem);
|
|
2878
|
-
export { MdsStepperBarItem };
|
|
2879
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsStepperBarItem, decorators: [{
|
|
2880
|
-
type: Component,
|
|
2881
|
-
args: [{
|
|
2882
|
-
selector: 'mds-stepper-bar-item',
|
|
2883
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
2884
|
-
template: '<ng-content></ng-content>',
|
|
2885
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
2886
|
-
inputs: ['badge', 'current', 'done', { name: 'icon', required: true }, 'iconChecked', { name: 'label', required: true }, 'step', 'typography', 'value'],
|
|
2887
|
-
outputs: ['mdsStepperBarItemDone'],
|
|
2888
|
-
standalone: false
|
|
2889
|
-
}]
|
|
2890
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }], propDecorators: { mdsStepperBarItemDone: [{
|
|
2891
|
-
type: Output
|
|
2892
|
-
}] } });
|
|
2893
|
-
let MdsTab = class MdsTab {
|
|
2894
|
-
z;
|
|
2895
|
-
el;
|
|
2896
|
-
mdsTabChange = new EventEmitter();
|
|
2897
|
-
constructor(c, r, z) {
|
|
2898
|
-
this.z = z;
|
|
2899
|
-
c.detach();
|
|
2900
|
-
this.el = r.nativeElement;
|
|
2901
|
-
}
|
|
2902
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsTab, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
2903
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MdsTab, selector: "mds-tab", inputs: { animation: "animation", direction: "direction", fill: "fill", overflow: "overflow", scrollbar: "scrollbar", size: "size" }, outputs: { mdsTabChange: "mdsTabChange" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2904
|
-
};
|
|
2905
|
-
MdsTab = __decorate([
|
|
2906
|
-
ProxyCmp({
|
|
2907
|
-
inputs: ['animation', 'direction', 'fill', 'overflow', 'scrollbar', 'size']
|
|
2908
|
-
})
|
|
2909
|
-
], MdsTab);
|
|
2910
|
-
export { MdsTab };
|
|
2911
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsTab, decorators: [{
|
|
2912
|
-
type: Component,
|
|
2913
|
-
args: [{
|
|
2914
|
-
selector: 'mds-tab',
|
|
2915
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
2916
|
-
template: '<ng-content></ng-content>',
|
|
2917
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
2918
|
-
inputs: ['animation', 'direction', 'fill', 'overflow', 'scrollbar', 'size'],
|
|
2919
|
-
outputs: ['mdsTabChange'],
|
|
2920
|
-
standalone: false
|
|
2921
|
-
}]
|
|
2922
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }], propDecorators: { mdsTabChange: [{
|
|
2923
|
-
type: Output
|
|
2924
|
-
}] } });
|
|
2925
|
-
let MdsTabBar = class MdsTabBar {
|
|
2926
|
-
z;
|
|
2927
|
-
el;
|
|
2928
|
-
mdsTabBarChange = new EventEmitter();
|
|
2929
|
-
constructor(c, r, z) {
|
|
2930
|
-
this.z = z;
|
|
2931
|
-
c.detach();
|
|
2932
|
-
this.el = r.nativeElement;
|
|
2933
|
-
}
|
|
2934
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsTabBar, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
2935
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MdsTabBar, selector: "mds-tab-bar", outputs: { mdsTabBarChange: "mdsTabBarChange" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2936
|
-
};
|
|
2937
|
-
MdsTabBar = __decorate([
|
|
2938
|
-
ProxyCmp({})
|
|
2939
|
-
], MdsTabBar);
|
|
2940
|
-
export { MdsTabBar };
|
|
2941
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsTabBar, decorators: [{
|
|
2942
|
-
type: Component,
|
|
2943
|
-
args: [{
|
|
2944
|
-
selector: 'mds-tab-bar',
|
|
2945
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
2946
|
-
template: '<ng-content></ng-content>',
|
|
2947
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
2948
|
-
inputs: [],
|
|
2949
|
-
outputs: ['mdsTabBarChange'],
|
|
2950
|
-
standalone: false
|
|
2951
|
-
}]
|
|
2952
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }], propDecorators: { mdsTabBarChange: [{
|
|
2953
|
-
type: Output
|
|
2954
|
-
}] } });
|
|
2955
|
-
let MdsTabBarItem = class MdsTabBarItem {
|
|
2956
|
-
z;
|
|
2957
|
-
el;
|
|
2958
|
-
mdsTabBarItemSelect = new EventEmitter();
|
|
2959
|
-
constructor(c, r, z) {
|
|
2960
|
-
this.z = z;
|
|
2961
|
-
c.detach();
|
|
2962
|
-
this.el = r.nativeElement;
|
|
2963
|
-
}
|
|
2964
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsTabBarItem, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
2965
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MdsTabBarItem, selector: "mds-tab-bar-item", inputs: { icon: "icon", label: "label", selected: "selected", typography: "typography" }, outputs: { mdsTabBarItemSelect: "mdsTabBarItemSelect" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2966
|
-
};
|
|
2967
|
-
MdsTabBarItem = __decorate([
|
|
2968
|
-
ProxyCmp({
|
|
2969
|
-
inputs: ['icon', 'label', 'selected', 'typography']
|
|
2970
|
-
})
|
|
2971
|
-
], MdsTabBarItem);
|
|
2972
|
-
export { MdsTabBarItem };
|
|
2973
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsTabBarItem, decorators: [{
|
|
2974
|
-
type: Component,
|
|
2975
|
-
args: [{
|
|
2976
|
-
selector: 'mds-tab-bar-item',
|
|
2977
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
2978
|
-
template: '<ng-content></ng-content>',
|
|
2979
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
2980
|
-
inputs: ['icon', 'label', 'selected', 'typography'],
|
|
2981
|
-
outputs: ['mdsTabBarItemSelect'],
|
|
2982
|
-
standalone: false
|
|
2983
|
-
}]
|
|
2984
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }], propDecorators: { mdsTabBarItemSelect: [{
|
|
2985
|
-
type: Output
|
|
2986
|
-
}] } });
|
|
2987
|
-
let MdsTabItem = class MdsTabItem {
|
|
2988
|
-
z;
|
|
2989
|
-
el;
|
|
2990
|
-
mdsTabItemSelect = new EventEmitter();
|
|
2991
|
-
mdsTabItemFocus = new EventEmitter();
|
|
2992
|
-
constructor(c, r, z) {
|
|
2993
|
-
this.z = z;
|
|
2994
|
-
c.detach();
|
|
2995
|
-
this.el = r.nativeElement;
|
|
2996
|
-
}
|
|
2997
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsTabItem, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
2998
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MdsTabItem, selector: "mds-tab-item", inputs: { await: "await", disabled: "disabled", href: "href", icon: "icon", iconPosition: "iconPosition", label: "label", selected: "selected", size: "size", type: "type", value: "value" }, outputs: { mdsTabItemSelect: "mdsTabItemSelect", mdsTabItemFocus: "mdsTabItemFocus" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2999
|
-
};
|
|
3000
|
-
MdsTabItem = __decorate([
|
|
3001
|
-
ProxyCmp({
|
|
3002
|
-
inputs: ['await', 'disabled', 'href', 'icon', 'iconPosition', 'label', 'selected', 'size', 'type', 'value']
|
|
3003
|
-
})
|
|
3004
|
-
], MdsTabItem);
|
|
3005
|
-
export { MdsTabItem };
|
|
3006
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsTabItem, decorators: [{
|
|
3007
|
-
type: Component,
|
|
3008
|
-
args: [{
|
|
3009
|
-
selector: 'mds-tab-item',
|
|
3010
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
3011
|
-
template: '<ng-content></ng-content>',
|
|
3012
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
3013
|
-
inputs: ['await', 'disabled', 'href', 'icon', 'iconPosition', 'label', 'selected', 'size', 'type', 'value'],
|
|
3014
|
-
outputs: ['mdsTabItemSelect', 'mdsTabItemFocus'],
|
|
3015
|
-
standalone: false
|
|
3016
|
-
}]
|
|
3017
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }], propDecorators: { mdsTabItemSelect: [{
|
|
3018
|
-
type: Output
|
|
3019
|
-
}], mdsTabItemFocus: [{
|
|
3020
|
-
type: Output
|
|
3021
|
-
}] } });
|
|
3022
|
-
let MdsTable = class MdsTable {
|
|
3023
|
-
z;
|
|
3024
|
-
el;
|
|
3025
|
-
mdsTableSelectionChange = new EventEmitter();
|
|
3026
|
-
constructor(c, r, z) {
|
|
3027
|
-
this.z = z;
|
|
3028
|
-
c.detach();
|
|
3029
|
-
this.el = r.nativeElement;
|
|
3030
|
-
}
|
|
3031
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsTable, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
3032
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MdsTable, selector: "mds-table", inputs: { interactive: "interactive", selectable: "selectable", selection: "selection" }, outputs: { mdsTableSelectionChange: "mdsTableSelectionChange" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
3033
|
-
};
|
|
3034
|
-
MdsTable = __decorate([
|
|
3035
|
-
ProxyCmp({
|
|
3036
|
-
inputs: ['interactive', 'selectable', 'selection'],
|
|
3037
|
-
methods: ['updateSelection', 'selectAll']
|
|
3038
|
-
})
|
|
3039
|
-
], MdsTable);
|
|
3040
|
-
export { MdsTable };
|
|
3041
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsTable, decorators: [{
|
|
3042
|
-
type: Component,
|
|
3043
|
-
args: [{
|
|
3044
|
-
selector: 'mds-table',
|
|
3045
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
3046
|
-
template: '<ng-content></ng-content>',
|
|
3047
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
3048
|
-
inputs: ['interactive', 'selectable', 'selection'],
|
|
3049
|
-
outputs: ['mdsTableSelectionChange'],
|
|
3050
|
-
standalone: false
|
|
3051
|
-
}]
|
|
3052
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }], propDecorators: { mdsTableSelectionChange: [{
|
|
3053
|
-
type: Output
|
|
3054
|
-
}] } });
|
|
3055
|
-
let MdsTableBody = class MdsTableBody {
|
|
3056
|
-
z;
|
|
3057
|
-
el;
|
|
3058
|
-
constructor(c, r, z) {
|
|
3059
|
-
this.z = z;
|
|
3060
|
-
c.detach();
|
|
3061
|
-
this.el = r.nativeElement;
|
|
3062
|
-
}
|
|
3063
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsTableBody, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
3064
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MdsTableBody, selector: "mds-table-body", inputs: { interactive: "interactive", selection: "selection" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
3065
|
-
};
|
|
3066
|
-
MdsTableBody = __decorate([
|
|
3067
|
-
ProxyCmp({
|
|
3068
|
-
inputs: ['interactive', 'selection']
|
|
3069
|
-
})
|
|
3070
|
-
], MdsTableBody);
|
|
3071
|
-
export { MdsTableBody };
|
|
3072
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsTableBody, decorators: [{
|
|
3073
|
-
type: Component,
|
|
3074
|
-
args: [{
|
|
3075
|
-
selector: 'mds-table-body',
|
|
3076
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
3077
|
-
template: '<ng-content></ng-content>',
|
|
3078
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
3079
|
-
inputs: ['interactive', 'selection'],
|
|
3080
|
-
standalone: false
|
|
3081
|
-
}]
|
|
3082
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
3083
|
-
let MdsTableCell = class MdsTableCell {
|
|
3084
|
-
z;
|
|
3085
|
-
el;
|
|
3086
|
-
constructor(c, r, z) {
|
|
3087
|
-
this.z = z;
|
|
3088
|
-
c.detach();
|
|
3089
|
-
this.el = r.nativeElement;
|
|
3090
|
-
}
|
|
3091
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsTableCell, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
3092
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MdsTableCell, selector: "mds-table-cell", inputs: { value: "value" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
3093
|
-
};
|
|
3094
|
-
MdsTableCell = __decorate([
|
|
3095
|
-
ProxyCmp({
|
|
3096
|
-
inputs: ['value']
|
|
3097
|
-
})
|
|
3098
|
-
], MdsTableCell);
|
|
3099
|
-
export { MdsTableCell };
|
|
3100
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsTableCell, decorators: [{
|
|
3101
|
-
type: Component,
|
|
3102
|
-
args: [{
|
|
3103
|
-
selector: 'mds-table-cell',
|
|
3104
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
3105
|
-
template: '<ng-content></ng-content>',
|
|
3106
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
3107
|
-
inputs: ['value'],
|
|
3108
|
-
standalone: false
|
|
3109
|
-
}]
|
|
3110
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
3111
|
-
let MdsTableFooter = class MdsTableFooter {
|
|
3112
|
-
z;
|
|
3113
|
-
el;
|
|
3114
|
-
constructor(c, r, z) {
|
|
3115
|
-
this.z = z;
|
|
3116
|
-
c.detach();
|
|
3117
|
-
this.el = r.nativeElement;
|
|
3118
|
-
}
|
|
3119
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsTableFooter, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
3120
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MdsTableFooter, selector: "mds-table-footer", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
3121
|
-
};
|
|
3122
|
-
MdsTableFooter = __decorate([
|
|
3123
|
-
ProxyCmp({})
|
|
3124
|
-
], MdsTableFooter);
|
|
3125
|
-
export { MdsTableFooter };
|
|
3126
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsTableFooter, decorators: [{
|
|
3127
|
-
type: Component,
|
|
3128
|
-
args: [{
|
|
3129
|
-
selector: 'mds-table-footer',
|
|
3130
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
3131
|
-
template: '<ng-content></ng-content>',
|
|
3132
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
3133
|
-
inputs: [],
|
|
3134
|
-
standalone: false
|
|
3135
|
-
}]
|
|
3136
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
3137
|
-
let MdsTableHeader = class MdsTableHeader {
|
|
3138
|
-
z;
|
|
3139
|
-
el;
|
|
3140
|
-
constructor(c, r, z) {
|
|
3141
|
-
this.z = z;
|
|
3142
|
-
c.detach();
|
|
3143
|
-
this.el = r.nativeElement;
|
|
3144
|
-
}
|
|
3145
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsTableHeader, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
3146
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MdsTableHeader, selector: "mds-table-header", inputs: { selectable: "selectable" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
3147
|
-
};
|
|
3148
|
-
MdsTableHeader = __decorate([
|
|
3149
|
-
ProxyCmp({
|
|
3150
|
-
inputs: ['selectable'],
|
|
3151
|
-
methods: ['updateLang', 'setSelection']
|
|
3152
|
-
})
|
|
3153
|
-
], MdsTableHeader);
|
|
3154
|
-
export { MdsTableHeader };
|
|
3155
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsTableHeader, decorators: [{
|
|
3156
|
-
type: Component,
|
|
3157
|
-
args: [{
|
|
3158
|
-
selector: 'mds-table-header',
|
|
3159
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
3160
|
-
template: '<ng-content></ng-content>',
|
|
3161
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
3162
|
-
inputs: ['selectable'],
|
|
3163
|
-
standalone: false
|
|
3164
|
-
}]
|
|
3165
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
3166
|
-
let MdsTableHeaderCell = class MdsTableHeaderCell {
|
|
3167
|
-
z;
|
|
3168
|
-
el;
|
|
3169
|
-
constructor(c, r, z) {
|
|
3170
|
-
this.z = z;
|
|
3171
|
-
c.detach();
|
|
3172
|
-
this.el = r.nativeElement;
|
|
3173
|
-
}
|
|
3174
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsTableHeaderCell, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
3175
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MdsTableHeaderCell, selector: "mds-table-header-cell", inputs: { direction: "direction", label: "label", sortable: "sortable" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
3176
|
-
};
|
|
3177
|
-
MdsTableHeaderCell = __decorate([
|
|
3178
|
-
ProxyCmp({
|
|
3179
|
-
inputs: ['direction', 'label', 'sortable']
|
|
3180
|
-
})
|
|
3181
|
-
], MdsTableHeaderCell);
|
|
3182
|
-
export { MdsTableHeaderCell };
|
|
3183
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsTableHeaderCell, decorators: [{
|
|
3184
|
-
type: Component,
|
|
3185
|
-
args: [{
|
|
3186
|
-
selector: 'mds-table-header-cell',
|
|
3187
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
3188
|
-
template: '<ng-content></ng-content>',
|
|
3189
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
3190
|
-
inputs: ['direction', 'label', 'sortable'],
|
|
3191
|
-
standalone: false
|
|
3192
|
-
}]
|
|
3193
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
3194
|
-
let MdsTableRow = class MdsTableRow {
|
|
3195
|
-
z;
|
|
3196
|
-
el;
|
|
3197
|
-
constructor(c, r, z) {
|
|
3198
|
-
this.z = z;
|
|
3199
|
-
c.detach();
|
|
3200
|
-
this.el = r.nativeElement;
|
|
3201
|
-
}
|
|
3202
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsTableRow, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
3203
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MdsTableRow, selector: "mds-table-row", inputs: { interactive: "interactive", overlayActions: "overlayActions", selectable: "selectable", selected: "selected", value: "value" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
3204
|
-
};
|
|
3205
|
-
MdsTableRow = __decorate([
|
|
3206
|
-
ProxyCmp({
|
|
3207
|
-
inputs: ['interactive', 'overlayActions', 'selectable', 'selected', 'value'],
|
|
3208
|
-
methods: ['updateLang']
|
|
3209
|
-
})
|
|
3210
|
-
], MdsTableRow);
|
|
3211
|
-
export { MdsTableRow };
|
|
3212
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsTableRow, decorators: [{
|
|
3213
|
-
type: Component,
|
|
3214
|
-
args: [{
|
|
3215
|
-
selector: 'mds-table-row',
|
|
3216
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
3217
|
-
template: '<ng-content></ng-content>',
|
|
3218
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
3219
|
-
inputs: ['interactive', 'overlayActions', 'selectable', 'selected', 'value'],
|
|
3220
|
-
standalone: false
|
|
3221
|
-
}]
|
|
3222
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
3223
|
-
let MdsText = class MdsText {
|
|
3224
|
-
z;
|
|
3225
|
-
el;
|
|
3226
|
-
constructor(c, r, z) {
|
|
3227
|
-
this.z = z;
|
|
3228
|
-
c.detach();
|
|
3229
|
-
this.el = r.nativeElement;
|
|
3230
|
-
}
|
|
3231
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsText, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
3232
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MdsText, selector: "mds-text", inputs: { animation: "animation", tag: "tag", text: "text", truncate: "truncate", typography: "typography", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
3233
|
-
};
|
|
3234
|
-
MdsText = __decorate([
|
|
3235
|
-
ProxyCmp({
|
|
3236
|
-
inputs: ['animation', 'tag', 'text', 'truncate', 'typography', 'variant']
|
|
3237
|
-
})
|
|
3238
|
-
], MdsText);
|
|
3239
|
-
export { MdsText };
|
|
3240
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsText, decorators: [{
|
|
3241
|
-
type: Component,
|
|
3242
|
-
args: [{
|
|
3243
|
-
selector: 'mds-text',
|
|
3244
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
3245
|
-
template: '<ng-content></ng-content>',
|
|
3246
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
3247
|
-
inputs: ['animation', 'tag', 'text', 'truncate', 'typography', 'variant'],
|
|
3248
|
-
standalone: false
|
|
3249
|
-
}]
|
|
3250
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
3251
|
-
let MdsToast = class MdsToast {
|
|
3252
|
-
z;
|
|
3253
|
-
el;
|
|
3254
|
-
mdsToastClose = new EventEmitter();
|
|
3255
|
-
constructor(c, r, z) {
|
|
3256
|
-
this.z = z;
|
|
3257
|
-
c.detach();
|
|
3258
|
-
this.el = r.nativeElement;
|
|
3259
|
-
}
|
|
3260
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsToast, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
3261
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MdsToast, selector: "mds-toast", inputs: { duration: "duration", position: "position", tone: "tone", variant: "variant", visible: "visible" }, outputs: { mdsToastClose: "mdsToastClose" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
3262
|
-
};
|
|
3263
|
-
MdsToast = __decorate([
|
|
3264
|
-
ProxyCmp({
|
|
3265
|
-
inputs: ['duration', 'position', 'tone', 'variant', 'visible']
|
|
3266
|
-
})
|
|
3267
|
-
], MdsToast);
|
|
3268
|
-
export { MdsToast };
|
|
3269
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsToast, decorators: [{
|
|
3270
|
-
type: Component,
|
|
3271
|
-
args: [{
|
|
3272
|
-
selector: 'mds-toast',
|
|
3273
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
3274
|
-
template: '<ng-content></ng-content>',
|
|
3275
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
3276
|
-
inputs: ['duration', 'position', 'tone', 'variant', 'visible'],
|
|
3277
|
-
outputs: ['mdsToastClose'],
|
|
3278
|
-
standalone: false
|
|
3279
|
-
}]
|
|
3280
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }], propDecorators: { mdsToastClose: [{
|
|
3281
|
-
type: Output
|
|
3282
|
-
}] } });
|
|
3283
|
-
let MdsTooltip = class MdsTooltip {
|
|
3284
|
-
z;
|
|
3285
|
-
el;
|
|
3286
|
-
constructor(c, r, z) {
|
|
3287
|
-
this.z = z;
|
|
3288
|
-
c.detach();
|
|
3289
|
-
this.el = r.nativeElement;
|
|
3290
|
-
}
|
|
3291
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsTooltip, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
3292
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MdsTooltip, selector: "mds-tooltip", inputs: { autoPlacement: "autoPlacement", flip: "flip", offset: "offset", placement: "placement", shift: "shift", shiftPadding: "shiftPadding", strategy: "strategy", target: "target", typography: "typography", visible: "visible" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
3293
|
-
};
|
|
3294
|
-
MdsTooltip = __decorate([
|
|
3295
|
-
ProxyCmp({
|
|
3296
|
-
inputs: ['autoPlacement', 'flip', 'offset', 'placement', 'shift', 'shiftPadding', 'strategy', 'target', 'typography', 'visible']
|
|
3297
|
-
})
|
|
3298
|
-
], MdsTooltip);
|
|
3299
|
-
export { MdsTooltip };
|
|
3300
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsTooltip, decorators: [{
|
|
3301
|
-
type: Component,
|
|
3302
|
-
args: [{
|
|
3303
|
-
selector: 'mds-tooltip',
|
|
3304
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
3305
|
-
template: '<ng-content></ng-content>',
|
|
3306
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
3307
|
-
inputs: ['autoPlacement', 'flip', 'offset', 'placement', 'shift', 'shiftPadding', 'strategy', { name: 'target', required: true }, 'typography', 'visible'],
|
|
3308
|
-
standalone: false
|
|
3309
|
-
}]
|
|
3310
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
3311
|
-
let MdsTree = class MdsTree {
|
|
3312
|
-
z;
|
|
3313
|
-
el;
|
|
3314
|
-
constructor(c, r, z) {
|
|
3315
|
-
this.z = z;
|
|
3316
|
-
c.detach();
|
|
3317
|
-
this.el = r.nativeElement;
|
|
3318
|
-
}
|
|
3319
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsTree, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
3320
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MdsTree, selector: "mds-tree", inputs: { actions: "actions", appearance: "appearance", async: "async", expanded: "expanded", label: "label", toggle: "toggle", togglePosition: "togglePosition", truncate: "truncate" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
3321
|
-
};
|
|
3322
|
-
MdsTree = __decorate([
|
|
3323
|
-
ProxyCmp({
|
|
3324
|
-
inputs: ['actions', 'appearance', 'async', 'expanded', 'label', 'toggle', 'togglePosition', 'truncate']
|
|
3325
|
-
})
|
|
3326
|
-
], MdsTree);
|
|
3327
|
-
export { MdsTree };
|
|
3328
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsTree, decorators: [{
|
|
3329
|
-
type: Component,
|
|
3330
|
-
args: [{
|
|
3331
|
-
selector: 'mds-tree',
|
|
3332
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
3333
|
-
template: '<ng-content></ng-content>',
|
|
3334
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
3335
|
-
inputs: ['actions', 'appearance', 'async', 'expanded', 'label', 'toggle', 'togglePosition', 'truncate'],
|
|
3336
|
-
standalone: false
|
|
3337
|
-
}]
|
|
3338
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
3339
|
-
let MdsTreeItem = class MdsTreeItem {
|
|
3340
|
-
z;
|
|
3341
|
-
el;
|
|
3342
|
-
mdsTreeItemExpand = new EventEmitter();
|
|
3343
|
-
mdsTreeItemCollapse = new EventEmitter();
|
|
3344
|
-
constructor(c, r, z) {
|
|
3345
|
-
this.z = z;
|
|
3346
|
-
c.detach();
|
|
3347
|
-
this.el = r.nativeElement;
|
|
3348
|
-
}
|
|
3349
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsTreeItem, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
3350
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MdsTreeItem, selector: "mds-tree-item", inputs: { actions: "actions", async: "async", depth: "depth", expanded: "expanded", icon: "icon", label: "label", toggle: "toggle", truncate: "truncate" }, outputs: { mdsTreeItemExpand: "mdsTreeItemExpand", mdsTreeItemCollapse: "mdsTreeItemCollapse" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
3351
|
-
};
|
|
3352
|
-
MdsTreeItem = __decorate([
|
|
3353
|
-
ProxyCmp({
|
|
3354
|
-
inputs: ['actions', 'async', 'depth', 'expanded', 'icon', 'label', 'toggle', 'truncate'],
|
|
3355
|
-
methods: ['updateLang', 'expand']
|
|
3356
|
-
})
|
|
3357
|
-
], MdsTreeItem);
|
|
3358
|
-
export { MdsTreeItem };
|
|
3359
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsTreeItem, decorators: [{
|
|
3360
|
-
type: Component,
|
|
3361
|
-
args: [{
|
|
3362
|
-
selector: 'mds-tree-item',
|
|
3363
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
3364
|
-
template: '<ng-content></ng-content>',
|
|
3365
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
3366
|
-
inputs: ['actions', 'async', 'depth', 'expanded', 'icon', 'label', 'toggle', 'truncate'],
|
|
3367
|
-
outputs: ['mdsTreeItemExpand', 'mdsTreeItemCollapse'],
|
|
3368
|
-
standalone: false
|
|
3369
|
-
}]
|
|
3370
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }], propDecorators: { mdsTreeItemExpand: [{
|
|
3371
|
-
type: Output
|
|
3372
|
-
}], mdsTreeItemCollapse: [{
|
|
3373
|
-
type: Output
|
|
3374
|
-
}] } });
|
|
3375
|
-
let MdsUrlView = class MdsUrlView {
|
|
3376
|
-
z;
|
|
3377
|
-
el;
|
|
3378
|
-
mdsUrlViewClose = new EventEmitter();
|
|
3379
|
-
constructor(c, r, z) {
|
|
3380
|
-
this.z = z;
|
|
3381
|
-
c.detach();
|
|
3382
|
-
this.el = r.nativeElement;
|
|
3383
|
-
}
|
|
3384
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsUrlView, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
3385
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MdsUrlView, selector: "mds-url-view", inputs: { icon: "icon", label: "label", loading: "loading", src: "src" }, outputs: { mdsUrlViewClose: "mdsUrlViewClose" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
3386
|
-
};
|
|
3387
|
-
MdsUrlView = __decorate([
|
|
3388
|
-
ProxyCmp({
|
|
3389
|
-
inputs: ['icon', 'label', 'loading', 'src'],
|
|
3390
|
-
methods: ['updateLang']
|
|
3391
|
-
})
|
|
3392
|
-
], MdsUrlView);
|
|
3393
|
-
export { MdsUrlView };
|
|
3394
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsUrlView, decorators: [{
|
|
3395
|
-
type: Component,
|
|
3396
|
-
args: [{
|
|
3397
|
-
selector: 'mds-url-view',
|
|
3398
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
3399
|
-
template: '<ng-content></ng-content>',
|
|
3400
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
3401
|
-
inputs: ['icon', 'label', 'loading', { name: 'src', required: true }],
|
|
3402
|
-
outputs: ['mdsUrlViewClose'],
|
|
3403
|
-
standalone: false
|
|
3404
|
-
}]
|
|
3405
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }], propDecorators: { mdsUrlViewClose: [{
|
|
3406
|
-
type: Output
|
|
3407
|
-
}] } });
|
|
3408
|
-
let MdsUsage = class MdsUsage {
|
|
3409
|
-
z;
|
|
3410
|
-
el;
|
|
3411
|
-
constructor(c, r, z) {
|
|
3412
|
-
this.z = z;
|
|
3413
|
-
c.detach();
|
|
3414
|
-
this.el = r.nativeElement;
|
|
3415
|
-
}
|
|
3416
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsUsage, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
3417
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MdsUsage, selector: "mds-usage", inputs: { alias: "alias", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
3418
|
-
};
|
|
3419
|
-
MdsUsage = __decorate([
|
|
3420
|
-
ProxyCmp({
|
|
3421
|
-
inputs: ['alias', 'variant'],
|
|
3422
|
-
methods: ['updateLang']
|
|
3423
|
-
})
|
|
3424
|
-
], MdsUsage);
|
|
3425
|
-
export { MdsUsage };
|
|
3426
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsUsage, decorators: [{
|
|
3427
|
-
type: Component,
|
|
3428
|
-
args: [{
|
|
3429
|
-
selector: 'mds-usage',
|
|
3430
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
3431
|
-
template: '<ng-content></ng-content>',
|
|
3432
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
3433
|
-
inputs: ['alias', 'variant'],
|
|
3434
|
-
standalone: false
|
|
3435
|
-
}]
|
|
3436
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
3437
|
-
let MdsVideoWall = class MdsVideoWall {
|
|
3438
|
-
z;
|
|
3439
|
-
el;
|
|
3440
|
-
constructor(c, r, z) {
|
|
3441
|
-
this.z = z;
|
|
3442
|
-
c.detach();
|
|
3443
|
-
this.el = r.nativeElement;
|
|
3444
|
-
}
|
|
3445
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsVideoWall, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
3446
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MdsVideoWall, selector: "mds-video-wall", inputs: { autoplay: "autoplay", loop: "loop", muted: "muted", noise: "noise", poster: "poster", preload: "preload", src: "src" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
3447
|
-
};
|
|
3448
|
-
MdsVideoWall = __decorate([
|
|
3449
|
-
ProxyCmp({
|
|
3450
|
-
inputs: ['autoplay', 'loop', 'muted', 'noise', 'poster', 'preload', 'src']
|
|
3451
|
-
})
|
|
3452
|
-
], MdsVideoWall);
|
|
3453
|
-
export { MdsVideoWall };
|
|
3454
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsVideoWall, decorators: [{
|
|
3455
|
-
type: Component,
|
|
3456
|
-
args: [{
|
|
3457
|
-
selector: 'mds-video-wall',
|
|
3458
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
3459
|
-
template: '<ng-content></ng-content>',
|
|
3460
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
3461
|
-
inputs: ['autoplay', 'loop', 'muted', 'noise', 'poster', 'preload', 'src'],
|
|
3462
|
-
standalone: false
|
|
3463
|
-
}]
|
|
3464
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
3465
|
-
let MdsZero = class MdsZero {
|
|
3466
|
-
z;
|
|
3467
|
-
el;
|
|
3468
|
-
constructor(c, r, z) {
|
|
3469
|
-
this.z = z;
|
|
3470
|
-
c.detach();
|
|
3471
|
-
this.el = r.nativeElement;
|
|
3472
|
-
}
|
|
3473
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsZero, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
3474
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MdsZero, selector: "mds-zero", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
3475
|
-
};
|
|
3476
|
-
MdsZero = __decorate([
|
|
3477
|
-
ProxyCmp({})
|
|
3478
|
-
], MdsZero);
|
|
3479
|
-
export { MdsZero };
|
|
3480
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MdsZero, decorators: [{
|
|
3481
|
-
type: Component,
|
|
3482
|
-
args: [{
|
|
3483
|
-
selector: 'mds-zero',
|
|
3484
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
3485
|
-
template: '<ng-content></ng-content>',
|
|
3486
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
3487
|
-
inputs: [],
|
|
3488
|
-
standalone: false
|
|
3489
|
-
}]
|
|
3490
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
3491
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL21hZ21hLWFuZ3VsYXIvc3JjL3N0ZW5jaWwtZ2VuZXJhdGVkL2NvbXBvbmVudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLG9CQUFvQjtBQUNwQiw4Q0FBOEM7QUFDOUMsT0FBTyxFQUFFLHVCQUF1QixFQUFxQixTQUFTLEVBQWMsWUFBWSxFQUFFLE1BQU0sRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUVoSSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sK0JBQStCLENBQUM7O0FBaUJsRCxJQUFNLFlBQVksR0FBbEIsTUFBTSxZQUFZO0lBR29DO0lBRmpELEVBQUUsQ0FBMEI7SUFDNUIsa0JBQWtCLEdBQUcsSUFBSSxZQUFZLEVBQWlFLENBQUM7SUFDakgsWUFBWSxDQUFvQixFQUFFLENBQWEsRUFBWSxDQUFTO1FBQVQsTUFBQyxHQUFELENBQUMsQ0FBUTtRQUNsRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDWCxJQUFJLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxhQUFhLENBQUM7SUFDNUIsQ0FBQzt3R0FOVSxZQUFZOzRGQUFaLFlBQVksb0tBTmIsMkJBQTJCOztBQU0xQixZQUFZO0lBWnhCLFFBQVEsQ0FBQztRQUNSLE1BQU0sRUFBRSxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUM7S0FDakMsQ0FBQztHQVVXLFlBQVksQ0FPeEI7OzRGQVBZLFlBQVk7a0JBVHhCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGVBQWU7b0JBQ3pCLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyx1RUFBdUU7b0JBQ3ZFLE1BQU0sRUFBRSxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUM7b0JBQ2hDLE9BQU8sRUFBRSxDQUFDLG9CQUFvQixDQUFDO29CQUMvQixVQUFVLEVBQUUsS0FBSztpQkFDbEI7b0lB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Q0FBQyxNQUFNO29CQUMvQyxRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyx1RUFBdUU7b0JBQ3ZFLE1BQU0sRUFBRSxFQUFFO29CQUNWLFVBQVUsRUFBRSxLQUFLO2lCQUNsQiIsInNvdXJjZXNDb250ZW50IjpbIi8qIHRzbGludDpkaXNhYmxlICovXG4vKiBhdXRvLWdlbmVyYXRlZCBhbmd1bGFyIGRpcmVjdGl2ZSBwcm94aWVzICovXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBPdXRwdXQsIE5nWm9uZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBQcm94eUNtcCB9IGZyb20gJy4vYW5ndWxhci1jb21wb25lbnQtbGliL3V0aWxzJztcblxuaW1wb3J0IHsgQ29tcG9uZW50cyB9IGZyb20gJ0BtYWdnaW9saS1kZXNpZ24tc3lzdGVtL21hZ21hJztcblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnY2xvc2FibGUnLCAnbXVsdGlwbGUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21kcy1hY2NvcmRpb24nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2Nsb3NhYmxlJywgJ211bHRpcGxlJ10sXG4gIG91dHB1dHM6IFsnbWRzQWNjb3JkaW9uQ2hhbmdlJ10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIE1kc0FjY29yZGlvbiB7XG4gIHByb3RlY3RlZCBlbDogSFRNTE1kc0FjY29yZGlvbkVsZW1lbnQ7XG4gIEBPdXRwdXQoKSBtZHNBY2NvcmRpb25DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPE1kc0FjY29yZGlvbkN1c3RvbUV2ZW50PElNZHNBY2NvcmRpb25NZHNBY2NvcmRpb25FdmVudERldGFpbD4+KCk7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBNZHNBY2NvcmRpb25DdXN0b21FdmVudCB9IGZyb20gJ0BtYWdnaW9saS1kZXNpZ24tc3lzdGVtL21hZ21hJztcbmltcG9ydCB0eXBlIHsgTWRzQWNjb3JkaW9uRXZlbnREZXRhaWwgYXMgSU1kc0FjY29yZGlvbk1kc0FjY29yZGlvbkV2ZW50RGV0YWlsIH0gZnJvbSAnQG1hZ2dpb2xpLWRlc2lnbi1zeXN0ZW0vbWFnbWEnO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgTWRzQWNjb3JkaW9uIGV4dGVuZHMgQ29tcG9uZW50cy5NZHNBY2NvcmRpb24ge1xuICAvKipcbiAgICogRW1pdHMgd2hlbiB0aGUgY29tcG9uZW50IGF0dHJpYnV0ZSBzZWxlY3RlZCBpcyBjaGFuZ2VkXG4gICAqL1xuICBtZHNBY2NvcmRpb25DaGFuZ2U6IEV2ZW50RW1pdHRlcjxNZHNBY2NvcmRpb25DdXN0b21FdmVudDxJTWRzQWNjb3JkaW9uTWRzQWNjb3JkaW9uRXZlbnREZXRhaWw+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnbGFiZWwnLCAnc2VsZWN0ZWQnLCAndHlwb2dyYXBoeSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbWRzLWFjY29yZGlvbi1pdGVtJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogW3sgbmFtZTogJ2xhYmVsJywgcmVxdWlyZWQ6IHRydWUgfSwgJ3NlbGVjdGVkJywgJ3R5cG9ncmFwaHknXSxcbiAgb3V0cHV0czogWydtZHNBY2NvcmRpb25JdGVtU2VsZWN0JywgJ21kc0FjY29yZGlvbkl0ZW1VbnNlbGVjdCcsICdtZHNBY2NvcmRpb25JdGVtQ2hhbmdlJ10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIE1kc0FjY29yZGlvbkl0ZW0ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxNZHNBY2NvcmRpb25JdGVtRWxlbWVudDtcbiAgQE91dHB1dCgpIG1kc0FjY29yZGlvbkl0ZW1TZWxlY3QgPSBuZXcgRXZlbnRFbWl0dGVyPE1kc0FjY29yZGlvbkl0ZW1DdXN0b21FdmVudDxJTWRzQWNjb3JkaW9uSXRlbU1kc0FjY29yZGlvbkl0ZW1FdmVudERldGFpbD4+KCk7XG4gIEBPdXRwdXQoKSBtZHNBY2NvcmRpb25JdGVtVW5zZWxlY3QgPSBuZXcgRXZlbnRFbWl0dGVyPE1kc0FjY29yZGlvbkl0ZW1DdXN0b21FdmVudDxJTWRzQWNjb3JkaW9uSXRlbU1kc0FjY29yZGlvbkl0ZW1FdmVudERldGFpbD4+KCk7XG4gIEBPdXRwdXQoKSBtZHNBY2NvcmRpb25JdGVtQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxNZHNBY2NvcmRpb25JdGVtQ3VzdG9tRXZlbnQ8SU1kc0FjY29yZGlvbkl0ZW1NZHNBY2NvcmRpb25JdGVtRXZlbnREZXRhaWw+PigpO1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgTWRzQWNjb3JkaW9uSXRlbUN1c3RvbUV2ZW50IH0gZnJvbSAnQG1hZ2dpb2xpLWRlc2lnbi1zeXN0ZW0vbWFnbWEnO1xuaW1wb3J0IHR5cGUgeyBNZHNBY2NvcmRpb25JdGVtRXZlbnREZXRhaWwgYXMgSU1kc0FjY29yZGlvbkl0ZW1NZHNBY2NvcmRpb25JdGVtRXZlbnREZXRhaWwgfSBmcm9tICdAbWFnZ2lvbGktZGVzaWduLXN5c3RlbS9tYWdtYSc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBNZHNBY2NvcmRpb25JdGVtIGV4dGVuZHMgQ29tcG9uZW50cy5NZHNBY2NvcmRpb25JdGVtIHtcbiAgLyoqXG4gICAqIEVtaXRzIHdoZW4gdGhlIGNvbXBvbmVudCBpcyBzZWxlY3RlZFxuICAgKi9cbiAgbWRzQWNjb3JkaW9uSXRlbVNlbGVjdDogRXZlbnRFbWl0dGVyPE1kc0FjY29yZGlvbkl0ZW1DdXN0b21FdmVudDxJTWRzQWNjb3JkaW9uSXRlbU1kc0FjY29yZGlvbkl0ZW1FdmVudERldGFpbD4+O1xuICAvKipcbiAgICogRW1pdHMgd2hlbiB0aGUgY29tcG9uZW50IGlzIHVuc2VsZWN0ZWRcbiAgICovXG4gIG1kc0FjY29yZGlvbkl0ZW1VbnNlbGVjdDogRXZlbnRFbWl0dGVyPE1kc0FjY29yZGlvbkl0ZW1DdXN0b21FdmVudDxJTWRzQWNjb3JkaW9uSXRlbU1kc0FjY29yZGlvbkl0ZW1FdmVudERldGFpbD4+O1xuICAvKipcbiAgICogRW1pdHMgd2hlbiB0aGUgY29tcG9uZW50IGF0dHJpYnV0ZSBzZWxlY3RlZCBpcyBjaGFuZ2VkXG4gICAqL1xuICBtZHNBY2NvcmRpb25JdGVtQ2hhbmdlOiBFdmVudEVtaXR0ZXI8TWRzQWNjb3JkaW9uSXRlbUN1c3RvbUV2ZW50PElNZHNBY2NvcmRpb25JdGVtTWRzQWNjb3JkaW9uSXRlbUV2ZW50RGV0YWlsPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2R1cmF0aW9uJywgJ3BhdXNlZCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbWRzLWFjY29yZGlvbi10aW1lcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnZHVyYXRpb24nLCAncGF1c2VkJ10sXG4gIG91dHB1dHM6IFsnbWRzQWNjb3JkaW9uVGltZXJDaGFuZ2UnXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgTWRzQWNjb3JkaW9uVGltZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxNZHNBY2NvcmRpb25UaW1lckVsZW1lbnQ7XG4gIEBPdXRwdXQoKSBtZHNBY2NvcmRpb25UaW1lckNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8TWRzQWNjb3JkaW9uVGltZXJDdXN0b21FdmVudDxJTWRzQWNjb3JkaW9uVGltZXJNZHNBY2NvcmRpb25UaW1lckV2ZW50RGV0YWlsPj4oKTtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5pbXBvcnQgdHlwZSB7IE1kc0FjY29yZGlvblRpbWVyQ3VzdG9tRXZlbnQgfSBmcm9tICdAbWFnZ2lvbGktZGVzaWduLXN5c3RlbS9tYWdtYSc7XG5pbXBvcnQgdHlwZSB7IE1kc0FjY29yZGlvblRpbWVyRXZlbnREZXRhaWwgYXMgSU1kc0FjY29yZGlvblRpbWVyTWRzQWNjb3JkaW9uVGltZXJFdmVudERldGFpbCB9IGZyb20gJ0BtYWdnaW9saS1kZXNpZ24tc3lzdGVtL21hZ21hJztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIE1kc0FjY29yZGlvblRpbWVyIGV4dGVuZHMgQ29tcG9uZW50cy5NZHNBY2NvcmRpb25UaW1lciB7XG4gIC8qKlxuICAgKiBFbWl0cyB3aGVuIHRoZSBhY2NvcmRpb24gY2hhbmdlcyBpdCdzIGl0ZW1cbiAgICovXG4gIG1kc0FjY29yZGlvblRpbWVyQ2hhbmdlOiBFdmVudEVtaXR0ZXI8TWRzQWNjb3JkaW9uVGltZXJDdXN0b21FdmVudDxJTWRzQWNjb3JkaW9uVGltZXJNZHNBY2NvcmRpb25UaW1lckV2ZW50RGV0YWlsPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2Rlc2NyaXB0aW9uJywgJ2R1cmF0aW9uJywgJ3Byb2dyZXNzJywgJ3NlbGVjdGVkJywgJ3R5cG9ncmFwaHknLCAndXVpZCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbWRzLWFjY29yZGlvbi10aW1lci1pdGVtJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogW3sgbmFtZTogJ2Rlc2NyaXB0aW9uJywgcmVxdWlyZWQ6IHRydWUgfSwgJ2R1cmF0aW9uJywgJ3Byb2dyZXNzJywgJ3NlbGVjdGVkJywgJ3R5cG9ncmFwaHknLCAndXVpZCddLFxuICBvdXRwdXRzOiBbJ21kc0FjY29yZGlvblRpbWVySXRlbUNsaWNrU2VsZWN0JywgJ21kc0FjY29yZGlvblRpbWVySXRlbVNlbGVjdCcsICdtZHNBY2NvcmRpb25UaW1lckl0ZW1Nb3VzZUVudGVyU2VsZWN0JywgJ21kc0FjY29yZGlvblRpbWVySXRlbU1vdXNlTGVhdmVTZWxlY3QnXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgTWRzQWNjb3JkaW9uVGltZXJJdGVtIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MTWRzQWNjb3JkaW9uVGltZXJJdGVtRWxlbWVudDtcbiAgQE91dHB1dCgpIG1kc0FjY29yZGlvblRpbWVySXRlbUNsaWNrU2VsZWN0ID0gbmV3IEV2ZW50RW1pdHRlcjxNZHNBY2NvcmRpb25UaW1lckl0ZW1DdXN0b21FdmVudDxJTWRzQWNjb3JkaW9uVGltZXJJdGVtTWRzQWNjb3JkaW9uVGltZXJJdGVtRXZlbnREZXRhaWw+PigpO1xuICBAT3V0cHV0KCkgbWRzQWNjb3JkaW9uVGltZXJJdGVtU2VsZWN0ID0gbmV3IEV2ZW50RW1pdHRlcjxNZHNBY2NvcmRpb25UaW1lckl0ZW1DdXN0b21FdmVudDxJTWRzQWNjb3JkaW9uVGltZXJJdGVtTWRzQWNjb3JkaW9uVGltZXJJdGVtRXZlbnREZXRhaWw+PigpO1xuICBAT3V0cHV0KCkgbWRzQWNjb3JkaW9uVGltZXJJdGVtTW91c2VFbnRlclNlbGVjdCA9IG5ldyBFdmVudEVtaXR0ZXI8TWRzQWNjb3JkaW9uVGltZXJJdGVtQ3VzdG9tRXZlbnQ8SU1kc0FjY29yZGlvblRpbWVySXRlbU1kc0FjY29yZGlvblRpbWVySXRlbUV2ZW50RGV0YWlsPj4oKTtcbiAgQE91dHB1dCgpIG1kc0FjY29yZGlvblRpbWVySXRlbU1vdXNlTGVhdmVTZWxlY3QgPSBuZXcgRXZlbnRFbWl0dGVyPE1kc0FjY29yZGlvblRpbWVySXRlbUN1c3RvbUV2ZW50PElNZHNBY2NvcmRpb25UaW1lckl0ZW1NZHNBY2NvcmRpb25UaW1lckl0ZW1FdmVudERldGFpbD4+KCk7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBNZHNBY2NvcmRpb25UaW1lckl0ZW1DdXN0b21FdmVudCB9IGZyb20gJ0BtYWdnaW9saS1kZXNpZ24tc3lzdGVtL21hZ21hJztcbmltcG9ydCB0eXBlIHsgTWRzQWNjb3JkaW9uVGltZXJJdGVtRXZlbnREZXRhaWwgYXMgSU1kc0FjY29yZGlvblRpbWVySXRlbU1kc0FjY29yZGlvblRpbWVySXRlbUV2ZW50RGV0YWlsIH0gZnJvbSAnQG1hZ2dpb2xpLWRlc2lnbi1zeXN0ZW0vbWFnbWEnO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgTWRzQWNjb3JkaW9uVGltZXJJdGVtIGV4dGVuZHMgQ29tcG9uZW50cy5NZHNBY2NvcmRpb25UaW1lckl0ZW0ge1xuICAvKipcbiAgICogRW1pdHMgd2hlbiB0aGUgYWNjb3JkaW9uIGlzIGNsaWNrZWQgYnkgdGhlIG1vdXNlXG4gICAqL1xuICBtZHNBY2NvcmRpb25UaW1lckl0ZW1DbGlja1NlbGVjdDogRXZlbnRFbWl0dGVyPE1kc0FjY29yZGlvblRpbWVySXRlbUN1c3RvbUV2ZW50PElNZHNBY2NvcmRpb25UaW1lckl0ZW1NZHNBY2NvcmRpb25UaW1lckl0ZW1FdmVudERldGFpbD4+O1xuICAvKipcbiAgICogRW1pdHMgd2hlbiB0aGUgYWNjb3JkaW9uIGlzIGNoYW5nZWQgZnJvbSBjb2RlXG4gICAqL1xuICBtZHNBY2NvcmRpb25UaW1lckl0ZW1TZWxlY3Q6IEV2ZW50RW1pdHRlcjxNZHNBY2NvcmRpb25UaW1lckl0ZW1DdXN0b21FdmVudDxJTWRzQWNjb3JkaW9uVGltZXJJdGVtTWRzQWNjb3JkaW9uVGltZXJJdGVtRXZlbnREZXRhaWw+PjtcbiAgLyoqXG4gICAqIEVtaXRzIHdoZW4gdGhlIGFjY29yZGlvbiBpcyBob3ZlcmVkIGJ5IHRoZSBtb3VzZVxuICAgKi9cbiAgbWRzQWNjb3JkaW9uVGltZXJJdGVtTW91c2VFbnRlclNlbGVjdDogRXZlbnRFbWl0dGVyPE1kc0FjY29yZGlvblRpbWVySXRlbUN1c3RvbUV2ZW50PElNZHNBY2NvcmRpb25UaW1lckl0ZW1NZHNBY2NvcmRpb25UaW1lckl0ZW1FdmVudERldGFpbD4+O1xuICAvKipcbiAgICogRW1pdHMgd2hlbiB0aGUgYWNjb3JkaW9uIGlzIGhvdmVyZWQgYnkgdGhlIG1vdXNlXG4gICAqL1xuICBtZHNBY2NvcmRpb25UaW1lckl0ZW1Nb3VzZUxlYXZlU2VsZWN0OiBFdmVudEVtaXR0ZXI8TWRzQWNjb3JkaW9uVGltZXJJdGVtQ3VzdG9tRXZlbnQ8SU1kc0FjY29yZGlvblRpbWVySXRlbU1kc0FjY29yZGlvblRpbWVySXRlbUV2ZW50RGV0YWlsPj47XG59XG5cblxuQFByb3h5Q21wKHtcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtZHMtYXV0aG9yJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogW10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIE1kc0F1dGhvciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTE1kc0F1dGhvckVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIE1kc0F1dGhvciBleHRlbmRzIENvbXBvbmVudHMuTWRzQXV0aG9yIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2NvdW50JywgJ2ljb24nLCAnaW5pdGlhbHMnLCAnc3JjJywgJ3RvbmUnLCAndmFyaWFudCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbWRzLWF2YXRhcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY291bnQnLCAnaWNvbicsICdpbml0aWFscycsICdzcmMnLCAndG9uZScsICd2YXJpYW50J10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIE1kc0F2YXRhciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTE1kc0F2YXRhckVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIE1kc0F2YXRhciBleHRlbmRzIENvbXBvbmVudHMuTWRzQXZhdGFyIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ3NpemUnLCAndG90YWwnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21kcy1hdmF0YXItc3RhY2snLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ3NpemUnLCAndG90YWwnXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgTWRzQXZhdGFyU3RhY2sge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxNZHNBdmF0YXJTdGFja0VsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIE1kc0F2YXRhclN0YWNrIGV4dGVuZHMgQ29tcG9uZW50cy5NZHNBdmF0YXJTdGFjayB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjb3VudCcsICdpbml0aWFscycsICdzcmMnLCAndG9uZScsICd2YXJpYW50J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtZHMtYXZhdGFyLXN0YWNrLWl0ZW0nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2NvdW50JywgJ2luaXRpYWxzJywgJ3NyYycsICd0b25lJywgJ3ZhcmlhbnQnXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgTWRzQXZhdGFyU3RhY2tJdGVtIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MTWRzQXZhdGFyU3RhY2tJdGVtRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgTWRzQXZhdGFyU3RhY2tJdGVtIGV4dGVuZHMgQ29tcG9uZW50cy5NZHNBdmF0YXJTdGFja0l0ZW0ge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnbGFiZWwnLCAndG9uZScsICd0eXBvZ3JhcGh5JywgJ3ZhcmlhbnQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21kcy1iYWRnZScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnbGFiZWwnLCAndG9uZScsICd0eXBvZ3JhcGh5JywgJ3ZhcmlhbnQnXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgTWRzQmFkZ2Uge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxNZHNCYWRnZUVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIE1kc0JhZGdlIGV4dGVuZHMgQ29tcG9uZW50cy5NZHNCYWRnZSB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjb2NrYWRlJywgJ2RlbGV0YWJsZScsICdoZWFkbGluZScsICdpY29uJywgJ3RvbmUnLCAndmFyaWFudCddLFxuICBtZXRob2RzOiBbJ3VwZGF0ZUxhbmcnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21kcy1iYW5uZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2NvY2thZGUnLCAnZGVsZXRhYmxlJywgJ2hlYWRsaW5lJywgJ2ljb24nLCAndG9uZScsICd2YXJpYW50J10sXG4gIG91dHB1dHM6IFsnbWRzQmFubmVyQ2xvc2UnXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgTWRzQmFubmVyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MTWRzQmFubmVyRWxlbWVudDtcbiAgQE91dHB1dCgpIG1kc0Jhbm5lckNsb3NlID0gbmV3IEV2ZW50RW1pdHRlcjxNZHNCYW5uZXJDdXN0b21FdmVudDx2b2lkPj4oKTtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5pbXBvcnQgdHlwZSB7IE1kc0Jhbm5lckN1c3RvbUV2ZW50IH0gZnJvbSAnQG1hZ2dpb2xpLWRlc2lnbi1zeXN0ZW0vbWFnbWEnO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgTWRzQmFubmVyIGV4dGVuZHMgQ29tcG9uZW50cy5NZHNCYW5uZXIge1xuICAvKipcbiAgICogRW1pdHMgd2hlbiB0aGUgdXJsIHZpZXcgaXMgY2xvc2VkXG4gICAqL1xuICBtZHNCYW5uZXJDbG9zZTogRXZlbnRFbWl0dGVyPE1kc0Jhbm5lckN1c3RvbUV2ZW50PHZvaWQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYWxpYXMnLCAnbGFiZWwnLCAnc2l6ZScsICd0eXBvZ3JhcGh5JywgJ3ZhbHVlJywgJ3ZhcmlhbnQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21kcy1iZW5jaG1hcmstYmFyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhbGlhcycsICdsYWJlbCcsICdzaXplJywgJ3R5cG9ncmFwaHknLCAndmFsdWUnLCAndmFyaWFudCddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBNZHNCZW5jaG1hcmtCYXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxNZHNCZW5jaG1hcmtCYXJFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBNZHNCZW5jaG1hcmtCYXIgZXh0ZW5kcyBDb21wb25lbnRzLk1kc0JlbmNobWFya0JhciB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhdXRob3InLCAnZGF0ZScsICdmb3JtYXQnLCAnbG9jYXRpb24nLCAnbmFtZScsICdwdWJsaXNoZXInLCAncmVsJywgJ3R5cG9ncmFwaHknLCAndXJsJywgJ3ZhcmlhbnQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21kcy1iaWJsaW9ncmFwaHknLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2F1dGhvcicsICdkYXRlJywgJ2Zvcm1hdCcsICdsb2NhdGlvbicsICduYW1lJywgJ3B1Ymxpc2hlcicsICdyZWwnLCAndHlwb2dyYXBoeScsICd1cmwnLCAndmFyaWFudCddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBNZHNCaWJsaW9ncmFwaHkge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxNZHNCaWJsaW9ncmFwaHlFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBNZHNCaWJsaW9ncmFwaHkgZXh0ZW5kcyBDb21wb25lbnRzLk1kc0JpYmxpb2dyYXBoeSB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydiYWNrJ10sXG4gIG1ldGhvZHM6IFsndXBkYXRlTGFuZyddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbWRzLWJyZWFkY3J1bWInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2JhY2snXSxcbiAgb3V0cHV0czogWydtZHNCcmVhZGNydW1iQ2hhbmdlJ10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIE1kc0JyZWFkY3J1bWIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxNZHNCcmVhZGNydW1iRWxlbWVudDtcbiAgQE91dHB1dCgpIG1kc0JyZWFkY3J1bWJDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPE1kc0JyZWFkY3J1bWJDdXN0b21FdmVudDxJTWRzQnJlYWRjcnVtYk1kc0JyZWFkY3J1bWJFdmVudERldGFpbD4+KCk7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBNZHNCcmVhZGNydW1iQ3VzdG9tRXZlbnQgfSBmcm9tICdAbWFnZ2lvbGktZGVzaWduLXN5c3RlbS9tYWdtYSc7XG5pbXBvcnQgdHlwZSB7IE1kc0JyZWFkY3J1bWJFdmVudERldGFpbCBhcyBJTWRzQnJlYWRjcnVtYk1kc0JyZWFkY3J1bWJFdmVudERldGFpbCB9IGZyb20gJ0BtYWdnaW9saS1kZXNpZ24tc3lzdGVtL21hZ21hJztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIE1kc0JyZWFkY3J1bWIgZXh0ZW5kcyBDb21wb25lbnRzLk1kc0JyZWFkY3J1bWIge1xuICAvKipcbiAgICogRW1pdHMgd2hlbiB0aGUgYnJlYWRjcnVtYiBpcyBjaGFuZ2VkXG4gICAqL1xuICBtZHNCcmVhZGNydW1iQ2hhbmdlOiBFdmVudEVtaXR0ZXI8TWRzQnJlYWRjcnVtYkN1c3RvbUV2ZW50PElNZHNCcmVhZGNydW1iTWRzQnJlYWRjcnVtYkV2ZW50RGV0YWlsPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2xhYmVsJywgJ3NlbGVjdGVkJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtZHMtYnJlYWRjcnVtYi1pdGVtJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydsYWJlbCcsICdzZWxlY3RlZCddLFxuICBvdXRwdXRzOiBbJ21kc0JyZWFkY3J1bWJJdGVtU2VsZWN0J10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIE1kc0JyZWFkY3J1bWJJdGVtIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MTWRzQnJlYWRjcnVtYkl0ZW1FbGVtZW50O1xuICBAT3V0cHV0KCkgbWRzQnJlYWRjcnVtYkl0ZW1TZWxlY3QgPSBuZXcgRXZlbnRFbWl0dGVyPE1kc0JyZWFkY3J1bWJJdGVtQ3VzdG9tRXZlbnQ8SU1kc0JyZWFkY3J1bWJJdGVtTWRzQnJlYWRjcnVtYkl0ZW1FdmVudERldGFpbD4+KCk7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBNZHNCcmVhZGNydW1iSXRlbUN1c3RvbUV2ZW50IH0gZnJvbSAnQG1hZ2dpb2xpLWRlc2lnbi1zeXN0ZW0vbWFnbWEnO1xuaW1wb3J0IHR5cGUgeyBNZHNCcmVhZGNydW1iSXRlbUV2ZW50RGV0YWlsIGFzIElNZHNCcmVhZGNydW1iSXRlbU1kc0JyZWFkY3J1bWJJdGVtRXZlbnREZXRhaWwgfSBmcm9tICdAbWFnZ2lvbGktZGVzaWduLXN5c3RlbS9tYWdtYSc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBNZHNCcmVhZGNydW1iSXRlbSBleHRlbmRzIENvbXBvbmVudHMuTWRzQnJlYWRjcnVtYkl0ZW0ge1xuICAvKipcbiAgICogRW1pdHMgd2hlbiB0aGUgYnJlYWRjcnVtYiBpcyBhY3RpdmVcbiAgICovXG4gIG1kc0JyZWFkY3J1bWJJdGVtU2VsZWN0OiBFdmVudEVtaXR0ZXI8TWRzQnJlYWRjcnVtYkl0ZW1DdXN0b21FdmVudDxJTWRzQnJlYWRjcnVtYkl0ZW1NZHNCcmVhZGNydW1iSXRlbUV2ZW50RGV0YWlsPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FjdGl2ZScsICdhbmltYXRpb24nLCAnYXV0b0ZvY3VzJywgJ2F3YWl0JywgJ2Rpc2FibGVkJywgJ2hyZWYnLCAnaWNvbicsICdpY29uUG9zaXRpb24nLCAnbGFiZWwnLCAnc2l6ZScsICd0YXJnZXQnLCAndG9uZScsICd0cnVuY2F0ZScsICd0eXBlJywgJ3ZhcmlhbnQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21kcy1idXR0b24nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FjdGl2ZScsICdhbmltYXRpb24nLCAnYXV0b0ZvY3VzJywgJ2F3YWl0JywgJ2Rpc2FibGVkJywgJ2hyZWYnLCAnaWNvbicsICdpY29uUG9zaXRpb24nLCAnbGFiZWwnLCAnc2l6ZScsICd0YXJnZXQnLCAndG9uZScsICd0cnVuY2F0ZScsICd0eXBlJywgJ3ZhcmlhbnQnXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgTWRzQnV0dG9uIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MTWRzQnV0dG9uRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgTWRzQnV0dG9uIGV4dGVuZHMgQ29tcG9uZW50cy5NZHNCdXR0b24ge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYWN0aXZlJywgJ2F1dG9Gb2N1cycsICdhd2FpdCcsICdkaXNhYmxlZCcsICdocmVmJywgJ2ljb24nLCAnbGFiZWwnLCAnc2l6ZScsICd0YXJnZXQnLCAndG9uZScsICd0cnVuY2F0ZScsICd0eXBlJywgJ3ZhcmlhbnQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21kcy1idXR0b24tZHJvcGRvd24nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FjdGl2ZScsICdhdXRvRm9jdXMnLCAnYXdhaXQnLCAnZGlzYWJsZWQnLCAnaHJlZicsICdpY29uJywgJ2xhYmVsJywgJ3NpemUnLCAndGFyZ2V0JywgJ3RvbmUnLCAndHJ1bmNhdGUnLCAndHlwZScsICd2YXJpYW50J10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIE1kc0J1dHRvbkRyb3Bkb3duIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MTWRzQnV0dG9uRHJvcGRvd25FbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBNZHNCdXR0b25Ecm9wZG93biBleHRlbmRzIENvbXBvbmVudHMuTWRzQnV0dG9uRHJvcGRvd24ge31cblxuXG5AUHJveHlDbXAoe1xufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21kcy1idXR0b24tZ3JvdXAnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgTWRzQnV0dG9uR3JvdXAge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxNZHNCdXR0b25Hcm91cEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIE1kc0J1dHRvbkdyb3VwIGV4dGVuZHMgQ29tcG9uZW50cy5NZHNCdXR0b25Hcm91cCB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydlbmREYXRlJywgJ21heCcsICdtaW4nLCAncmFuZ2VQaWNrZXInLCAnc3RhcnREYXRlJ10sXG4gIG1ldGhvZHM6IFsndXBkYXRlTGFuZycsICd1cGRhdGVDdXJyZW50RGF0ZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbWRzLWNhbGVuZGFyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydlbmREYXRlJywgJ21heCcsICdtaW4nLCAncmFuZ2VQaWNrZXInLCAnc3RhcnREYXRlJ10sXG4gIG91dHB1dHM6IFsnbWRzQ2FsZW5kYXJDaGFuZ2UnLCAnbWRzQ2FsZW5kYXJQcmVzZWxlY3QnXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgTWRzQ2FsZW5kYXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxNZHNDYWxlbmRhckVsZW1lbnQ7XG4gIEBPdXRwdXQoKSBtZHNDYWxlbmRhckNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8TWRzQ2FsZW5kYXJDdXN0b21FdmVudDx7IHN0YXJ0RGF0ZTogc3RyaW5nOyBlbmREYXRlPzogc3RyaW5nOyB9Pj4oKTtcbiAgQE91dHB1dCgpIG1kc0NhbGVuZGFyUHJlc2VsZWN0ID0gbmV3IEV2ZW50RW1pdHRlcjxNZHNDYWxlbmRhckN1c3RvbUV2ZW50PHZvaWQ+PigpO1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgTWRzQ2FsZW5kYXJDdXN0b21FdmVudCB9IGZyb20gJ0BtYWdnaW9saS1kZXNpZ24tc3lzdGVtL21hZ21hJztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIE1kc0NhbGVuZGFyIGV4dGVuZHMgQ29tcG9uZW50cy5NZHNDYWxlbmRhciB7XG5cbiAgbWRzQ2FsZW5kYXJDaGFuZ2U6IEV2ZW50RW1pdHRlcjxNZHNDYWxlbmRhckN1c3RvbUV2ZW50PHsgc3RhcnREYXRlOiBzdHJpbmc7IGVuZERhdGU/OiBzdHJpbmc7IH0+PjtcblxuICBtZHNDYWxlbmRhclByZXNlbGVjdDogRXZlbnRFbWl0dGVyPE1kc0NhbGVuZGFyQ3VzdG9tRXZlbnQ8dm9pZD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydkYXRlJywgJ2Rpc2FibGVkJywgJ2xhYmVsJywgJ21vbnRoJywgJ29yaWVudGF0aW9uJywgJ3ByZXZpZXcnLCAnc2VsZWN0aW9uJywgJ3RvZGF5J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtZHMtY2FsZW5kYXItY2VsbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnZGF0ZScsICdkaXNhYmxlZCcsICdsYWJlbCcsICdtb250aCcsICdvcmllbnRhdGlvbicsICdwcmV2aWV3JywgJ3NlbGVjdGlvbicsICd0b2RheSddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBNZHNDYWxlbmRhckNlbGwge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxNZHNDYWxlbmRhckNlbGxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBNZHNDYWxlbmRhckNlbGwgZXh0ZW5kcyBDb21wb25lbnRzLk1kc0NhbGVuZGFyQ2VsbCB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhdXRvR3JpZCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbWRzLWNhcmQnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2F1dG9HcmlkJ10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIE1kc0NhcmQge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxNZHNDYXJkRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgTWRzQ2FyZCBleHRlbmRzIENvbXBvbmVudHMuTWRzQ2FyZCB7fVxuXG5cbkBQcm94eUNtcCh7XG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbWRzLWNhcmQtY29udGVudCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFtdLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBNZHNDYXJkQ29udGVudCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTE1kc0NhcmRDb250ZW50RWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgTWRzQ2FyZENvbnRlbnQgZXh0ZW5kcyBDb21wb25lbnRzLk1kc0NhcmRDb250ZW50IHt9XG5cblxuQFByb3h5Q21wKHtcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtZHMtY2FyZC1mb290ZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgTWRzQ2FyZEZvb3RlciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTE1kc0NhcmRGb290ZXJFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBNZHNDYXJkRm9vdGVyIGV4dGVuZHMgQ29tcG9uZW50cy5NZHNDYXJkRm9vdGVyIHt9XG5cblxuQFByb3h5Q21wKHtcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtZHMtY2FyZC1oZWFkZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgTWRzQ2FyZEhlYWRlciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTE1kc0NhcmRIZWFkZXJFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBNZHNDYXJkSGVhZGVyIGV4dGVuZHMgQ29tcG9uZW50cy5NZHNDYXJkSGVhZGVyIHt9XG5cblxuQFByb3h5Q21wKHtcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtZHMtY2FyZC1tZWRpYScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFtdLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBNZHNDYXJkTWVkaWEge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxNZHNDYXJkTWVkaWFFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBNZHNDYXJkTWVkaWEgZXh0ZW5kcyBDb21wb25lbnRzLk1kc0NhcmRNZWRpYSB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjbGlja2FibGUnLCAnZGVsZXRhYmxlJywgJ2Rpc2FibGVkJywgJ2ljb24nLCAnbGFiZWwnLCAnc2VsZWN0YWJsZScsICdzZWxlY3RlZCcsICd0b25lJywgJ3ZhcmlhbnQnXSxcbiAgbWV0aG9kczogWyd1cGRhdGVMYW5nJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtZHMtY2hpcCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY2xpY2thYmxlJywgJ2RlbGV0YWJsZScsICdkaXNhYmxlZCcsICdpY29uJywgeyBuYW1lOiAnbGFiZWwnLCByZXF1aXJlZDogdHJ1ZSB9LCAnc2VsZWN0YWJsZScsICdzZWxlY3RlZCcsICd0b25lJywgJ3ZhcmlhbnQnXSxcbiAgb3V0cHV0czogWydtZHNDaGlwQ2xpY2tMYWJlbCcsICdtZHNDaGlwRGVsZXRlJywgJ21kc0NoaXBTZWxlY3QnXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgTWRzQ2hpcCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTE1kc0NoaXBFbGVtZW50O1xuICBAT3V0cHV0KCkgbWRzQ2hpcENsaWNrTGFiZWwgPSBuZXcgRXZlbnRFbWl0dGVyPE1kc0NoaXBDdXN0b21FdmVudDxJTWRzQ2hpcE1kc0NoaXBFdmVudD4+KCk7XG4gIEBPdXRwdXQoKSBtZHNDaGlwRGVsZXRlID0gbmV3IEV2ZW50RW1pdHRlcjxNZHNDaGlwQ3VzdG9tRXZlbnQ8SU1kc0NoaXBNZHNDaGlwRXZlbnQ+PigpO1xuICBAT3V0cHV0KCkgbWRzQ2hpcFNlbGVjdCA9IG5ldyBFdmVudEVtaXR0ZXI8TWRzQ2hpcEN1c3RvbUV2ZW50PElNZHNDaGlwTWRzQ2hpcEV2ZW50Pj4oKTtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5pbXBvcnQgdHlwZSB7IE1kc0NoaXBDdXN0b21FdmVudCB9IGZyb20gJ0BtYWdnaW9saS1kZXNpZ24tc3lzdGVtL21hZ21hJztcbmltcG9ydCB0eXBlIHsgTWRzQ2hpcEV2ZW50IGFzIElNZHNDaGlwTWRzQ2hpcEV2ZW50IH0gZnJvbSAnQG1hZ2dpb2xpLWRlc2lnbi1zeXN0ZW0vbWFnbWEnO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgTWRzQ2hpcCBleHRlbmRzIENvbXBvbmVudHMuTWRzQ2hpcCB7XG4gIC8qKlxuICAgKiBFbWl0cyB3aGVuIHRoZSBjb21wb25lbnQncyBsYWJlbCBpcyBjbGlja2VkXG4gICAqL1xuICBtZHNDaGlwQ2xpY2tMYWJlbDogRXZlbnRFbWl0dGVyPE1kc0NoaXBDdXN0b21FdmVudDxJTWRzQ2hpcE1kc0NoaXBFdmVudD4+O1xuICAvKipcbiAgICogRW1pdHMgd2hlbiB0aGUgY29tcG9uZW50J3MgZGVsZXRlIGJ1dHRvbiBpcyBjbGlja2VkXG4gICAqL1xuICBtZHNDaGlwRGVsZXRlOiBFdmVudEVtaXR0ZXI8TWRzQ2hpcEN1c3RvbUV2ZW50PElNZHNDaGlwTWRzQ2hpcEV2ZW50Pj47XG4gIC8qKlxuICAgKiBFbWl0cyB3aGVuIHRoZSBjb21wb25lbnQncyBsYWJlbCBpcyBjbGlja2VkIGFuZCB3aGVuIGBzZWxlY3RhYmxlYCBhdHRyaWJ1dGUgaXMgc2V0IHRvIGB0cnVlYFxuICAgKi9cbiAgbWRzQ2hpcFNlbGVjdDogRXZlbnRFbWl0dGVyPE1kc0NoaXBDdXN0b21FdmVudDxJTWRzQ2hpcE1kc0NoaXBFdmVudD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydvcGVuZWQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21kcy1kZXRhaWxzJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydvcGVuZWQnXSxcbiAgb3V0cHV0czogWydtZHNEZXRhaWxzQ2hhbmdlJ10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIE1kc0RldGFpbHMge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxNZHNEZXRhaWxzRWxlbWVudDtcbiAgQE91dHB1dCgpIG1kc0RldGFpbHNDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPE1kc0RldGFpbHNDdXN0b21FdmVudDxib29sZWFuPj4oKTtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5pbXBvcnQgdHlwZSB7IE1kc0RldGFpbHNDdXN0b21FdmVudCB9IGZyb20gJ0BtYWdnaW9saS1kZXNpZ24tc3lzdGVtL21hZ21hJztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIE1kc0RldGFpbHMgZXh0ZW5kcyBDb21wb25lbnRzLk1kc0RldGFpbHMge1xuICAvKipcbiAgICogRW1pdHMgd2hlbiB0aGUgY29tcG9uZW50IGlzIG9wZW5lZFxuICAgKi9cbiAgbWRzRGV0YWlsc0NoYW5nZTogRXZlbnRFbWl0dGVyPE1kc0RldGFpbHNDdXN0b21FdmVudDxib29sZWFuPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2Fycm93JywgJ2Fycm93UGFkZGluZycsICdhdXRvUGxhY2VtZW50JywgJ2JhY2tkcm9wJywgJ2ZsaXAnLCAnaW50ZXJhY3Rpb24nLCAnb2Zmc2V0JywgJ3BsYWNlbWVudCcsICdzaGlmdCcsICdzaGlmdFBhZGRpbmcnLCAnc21vb3RoJywgJ3N0cmF0ZWd5JywgJ3RhcmdldCcsICd2aXNpYmxlJywgJ3pJbmRleCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbWRzLWRyb3Bkb3duJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhcnJvdycsICdhcnJvd1BhZGRpbmcnLCAnYXV0b1BsYWNlbWVudCcsICdiYWNrZHJvcCcsICdmbGlwJywgJ2ludGVyYWN0aW9uJywgJ29mZnNldCcsICdwbGFjZW1lbnQnLCAnc2hpZnQnLCAnc2hpZnRQYWRkaW5nJywgJ3Ntb290aCcsICdzdHJhdGVneScsIHsgbmFtZTogJ3RhcmdldCcsIHJlcXVpcmVkOiB0cnVlIH0sICd2aXNpYmxlJywgJ3pJbmRleCddLFxuICBvdXRwdXRzOiBbJ21kc0Ryb3Bkb3duVmlzaWJsZScsICdtZHNEcm9wZG93bkhpZGUnLCAnbWRzRHJvcGRvd25DaGFuZ2UnXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgTWRzRHJvcGRvd24ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxNZHNEcm9wZG93bkVsZW1lbnQ7XG4gIEBPdXRwdXQoKSBtZHNEcm9wZG93blZpc2libGUgPSBuZXcgRXZlbnRFbWl0dGVyPE1kc0Ryb3Bkb3duQ3VzdG9tRXZlbnQ8SU1kc0Ryb3Bkb3duTWRzRHJvcGRvd25FdmVudERldGFpbD4+KCk7XG4gIEBPdXRwdXQoKSBtZHNEcm9wZG93bkhpZGUgPSBuZXcgRXZlbnRFbWl0dGVyPE1kc0Ryb3Bkb3duQ3VzdG9tRXZlbnQ8SU1kc0Ryb3Bkb3duTWRzRHJvcGRvd25FdmVudERldGFpbD4+KCk7XG4gIEBPdXRwdXQoKSBtZHNEcm9wZG93bkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8TWRzRHJvcGRvd25DdXN0b21FdmVudDxJTWRzRHJvcGRvd25NZHNEcm9wZG93bkV2ZW50RGV0YWlsPj4oKTtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5pbXBvcnQgdHlwZSB7IE1kc0Ryb3Bkb3duQ3VzdG9tRXZlbnQgfSBmcm9tICdAbWFnZ2lvbGktZGVzaWduLXN5c3RlbS9tYWdtYSc7XG5pbXBvcnQgdHlwZSB7IE1kc0Ryb3Bkb3duRXZlbnREZXRhaWwgYXMgSU1kc0Ryb3Bkb3duTWRzRHJvcGRvd25FdmVudERldGFpbCB9IGZyb20gJ0BtYWdnaW9saS1kZXNpZ24tc3lzdGVtL21hZ21hJztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIE1kc0Ryb3Bkb3duIGV4dGVuZHMgQ29tcG9uZW50cy5NZHNEcm9wZG93biB7XG4gIC8qKlxuICAgKiBFbWl0cyB3aGVuIGEgbW9kYWwgaXMgdmlzaWJsZVxuICAgKi9cbiAgbWRzRHJvcGRvd25WaXNpYmxlOiBFdmVudEVtaXR0ZXI8TWRzRHJvcGRvd25DdXN0b21FdmVudDxJTWRzRHJvcGRvd25NZHNEcm9wZG93bkV2ZW50RGV0YWlsPj47XG4gIC8qKlxuICAgKiBFbWl0cyB3aGVuIGEgbW9kYWwgaXMgaGlkZGVuXG4gICAqL1xuICBtZHNEcm9wZG93bkhpZGU6IEV2ZW50RW1pdHRlcjxNZHNEcm9wZG93bkN1c3RvbUV2ZW50PElNZHNEcm9wZG93bk1kc0Ryb3Bkb3duRXZlbnREZXRhaWw+PjtcbiAgLyoqXG4gICAqIEVtaXRzIHdoZW4gYSBtb2RhbCBpcyB2aXNpYmxlIG9yIGhpZGRlblxuICAgKi9cbiAgbWRzRHJvcGRvd25DaGFuZ2U6IEV2ZW50RW1pdHRlcjxNZHNEcm9wZG93bkN1c3RvbUV2ZW50PElNZHNEcm9wZG93bk1kc0Ryb3Bkb3duRXZlbnREZXRhaWw+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnbmFtZSddLFxuICBtZXRob2RzOiBbJ2FncmVlJywgJ3NtaWxlJywgJ2Rpc2FncmVlJywgJ3N0YXJ0VGhpbmtpbmcnLCAnc3RvcFRoaW5raW5nJywgJ3N0YXJ0QmxpbmtpbmcnLCAnc3RvcEJsaW5raW5nJywgJ3N0b3BGb2xsb3dNb3VzZScsICdzdGFydEZvbGxvd01vdXNlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtZHMtZW1vamknLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ25hbWUnXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgTWRzRW1vamkge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxNZHNFbW9qaUVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIE1kc0Vtb2ppIGV4dGVuZHMgQ29tcG9uZW50cy5NZHNFbW9qaSB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhd2FpdCcsICdpY29uJywgJ2luaXRpYWxzJywgJ3NyYycsICd0b25lJywgJ3ZhcmlhbnQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21kcy1lbnRpdHknLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2F3YWl0JywgJ2ljb24nLCAnaW5pdGlhbHMnLCAnc3JjJywgJ3RvbmUnLCAndmFyaWFudCddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBNZHNFbnRpdHkge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxNZHNFbnRpdHlFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBNZHNFbnRpdHkgZXh0ZW5kcyBDb21wb25lbnRzLk1kc0VudGl0eSB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydkZXNjcmlwdGlvbicsICdmaWxlbmFtZScsICdmb3JtYXQnLCAncHJldmlldycsICdzaG93RG93bmxvYWRlZEljb24nLCAnc3VmZml4J10sXG4gIG1ldGhvZHM6IFsndXBkYXRlTGFuZyddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbWRzLWZpbGUnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2Rlc2NyaXB0aW9uJywgJ2ZpbGVuYW1lJywgJ2Zvcm1hdCcsICdwcmV2aWV3JywgJ3Nob3dEb3dubG9hZGVkSWNvbicsICdzdWZmaXgnXSxcbiAgb3V0cHV0czogWydtZHNGaWxlRG93bmxvYWQnXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgTWRzRmlsZSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTE1kc0ZpbGVFbGVtZW50O1xuICBAT3V0cHV0KCkgbWRzRmlsZURvd25sb2FkID0gbmV3IEV2ZW50RW1pdHRlcjxNZHNGaWxlQ3VzdG9tRXZlbnQ8SU1kc0ZpbGVNZHNGaWxlRXZlbnREZXRhaWw+PigpO1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgTWRzRmlsZUN1c3RvbUV2ZW50IH0gZnJvbSAnQG1hZ2dpb2xpLWRlc2lnbi1zeXN0ZW0vbWFnbWEnO1xuaW1wb3J0IHR5cGUgeyBNZHNGaWxlRXZlbnREZXRhaWwgYXMgSU1kc0ZpbGVNZHNGaWxlRXZlbnREZXRhaWwgfSBmcm9tICdAbWFnZ2lvbGktZGVzaWduLXN5c3RlbS9tYWdtYSc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBNZHNGaWxlIGV4dGVuZHMgQ29tcG9uZW50cy5NZHNGaWxlIHtcbiAgLyoqXG4gICAqIEVtaXRzIHdoZW4gdGhlIGNvbXBvbmVudCBpcyBjbGlja2VkLCByZXR1cm5pbmcgZmlsZSBpbmZvc1xuICAgKi9cbiAgbWRzRmlsZURvd25sb2FkOiBFdmVudEVtaXR0ZXI8TWRzRmlsZUN1c3RvbUV2ZW50PElNZHNGaWxlTWRzRmlsZUV2ZW50RGV0YWlsPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2RlbGV0YWJsZScsICdkZXNjcmlwdGlvbicsICdkb3dubG9hZGFibGUnLCAnZmlsZW5hbWUnLCAnZmlsZXNpemUnLCAnZm9ybWF0JywgJ2ljb24nLCAnbWVzc2FnZScsICdzcmMnLCAnc3VmZml4JywgJ3RydW5jYXRlJywgJ3ZhcmlhbnQnXSxcbiAgbWV0aG9kczogWyd1cGRhdGVMYW5nJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtZHMtZmlsZS1wcmV2aWV3JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydkZWxldGFibGUnLCAnZGVzY3JpcHRpb24nLCAnZG93bmxvYWRhYmxlJywgeyBuYW1lOiAnZmlsZW5hbWUnLCByZXF1aXJlZDogdHJ1ZSB9LCAnZmlsZXNpemUnLCAnZm9ybWF0JywgJ2ljb24nLCAnbWVzc2FnZScsICdzcmMnLCAnc3VmZml4JywgJ3RydW5jYXRlJywgJ3ZhcmlhbnQnXSxcbiAgb3V0cHV0czogWydtZHNGaWxlRG93bmxvYWQnLCAnbWRzRmlsZURlbGV0ZSddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBNZHNGaWxlUHJldmlldyB7XG4gIHByb3RlY3RlZCBlbDogSFRNTE1kc0ZpbGVQcmV2aWV3RWxlbWVudDtcbiAgQE91dHB1dCgpIG1kc0ZpbGVEb3dubG9hZCA9IG5ldyBFdmVudEVtaXR0ZXI8TWRzRmlsZVByZXZpZXdDdXN0b21FdmVudDxJTWRzRmlsZVByZXZpZXdNZHNGaWxlUHJldmlld0V2ZW50RGV0YWlsPj4oKTtcbiAgQE91dHB1dCgpIG1kc0ZpbGVEZWxldGUgPSBuZXcgRXZlbnRFbWl0dGVyPE1kc0ZpbGVQcmV2aWV3Q3VzdG9tRXZlbnQ8SU1kc0ZpbGVQcmV2aWV3TWRzRmlsZVByZXZpZXdFdmVudERldGFpbD4+KCk7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBNZHNGaWxlUHJldmlld0N1c3RvbUV2ZW50IH0gZnJvbSAnQG1hZ2dpb2xpLWRlc2lnbi1zeXN0ZW0vbWFnbWEnO1xuaW1wb3J0IHR5cGUgeyBNZHNGaWxlUHJldmlld0V2ZW50RGV0YWlsIGFzIElNZHNGaWxlUHJldmlld01kc0ZpbGVQcmV2aWV3RXZlbnREZXRhaWwgfSBmcm9tICdAbWFnZ2lvbGktZGVzaWduLXN5c3RlbS9tYWdtYSc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBNZHNGaWxlUHJldmlldyBleHRlbmRzIENvbXBvbmVudHMuTWRzRmlsZVByZXZpZXcge1xuICAvKipcbiAgICogRW1pdHMgd2hlbiB0aGUgY29tcG9uZW50IGlzIGNsaWNrZWQsIHJldHVybmluZyBmaWxlIGluZm9zXG4gICAqL1xuICBtZHNGaWxlRG93bmxvYWQ6IEV2ZW50RW1pdHRlcjxNZHNGaWxlUHJldmlld0N1c3RvbUV2ZW50PElNZHNGaWxlUHJldmlld01kc0ZpbGVQcmV2aWV3RXZlbnREZXRhaWw+PjtcbiAgLyoqXG4gICAqIEVtaXRzIHdoZW4gdGhlIGNvbXBvbmVudCBpcyByZW1vdmVkLCByZXR1cm5pbmcgZmlsZSBpbmZvc1xuICAgKi9cbiAgbWRzRmlsZURlbGV0ZTogRXZlbnRFbWl0dGVyPE1kc0ZpbGVQcmV2aWV3Q3VzdG9tRXZlbnQ8SU1kc0ZpbGVQcmV2aWV3TWRzRmlsZVByZXZpZXdFdmVudERldGFpbD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhdXRvUmVzZXQnLCAnbGFiZWwnLCAnbXVsdGlwbGUnLCAncmVzZXQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21kcy1maWx0ZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2F1dG9SZXNldCcsICdsYWJlbCcsICdtdWx0aXBsZScsICdyZXNldCddLFxuICBvdXRwdXRzOiBbJ21kc0ZpbHRlckNoYW5nZSddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBNZHNGaWx0ZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxNZHNGaWx0ZXJFbGVtZW50O1xuICBAT3V0cHV0KCkgbWRzRmlsdGVyQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxNZHNGaWx0ZXJDdXN0b21FdmVudDxJTWRzRmlsdGVyTWRzRmlsdGVyRXZlbnREZXRhaWw+PigpO1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgTWRzRmlsdGVyQ3VzdG9tRXZlbnQgfSBmcm9tICdAbWFnZ2lvbGktZGVzaWduLXN5c3RlbS9tYWdtYSc7XG5pbXBvcnQgdHlwZSB7IE1kc0ZpbHRlckV2ZW50RGV0YWlsIGFzIElNZHNGaWx0ZXJNZHNGaWx0ZXJFdmVudERldGFpbCB9IGZyb20gJ0BtYWdnaW9saS1kZXNpZ24tc3lzdGVtL21hZ21hJztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIE1kc0ZpbHRlciBleHRlbmRzIENvbXBvbmVudHMuTWRzRmlsdGVyIHtcbiAgLyoqXG4gICAqIEVtaXRzIHdoZW4gdGhlIG9uZSBvZiB0aGUgY2hpbGRyZW4gaXMgY2hhbmdlZFxuICAgKi9cbiAgbWRzRmlsdGVyQ2hhbmdlOiBFdmVudEVtaXR0ZXI8TWRzRmlsdGVyQ3VzdG9tRXZlbnQ8SU1kc0ZpbHRlck1kc0ZpbHRlckV2ZW50RGV0YWlsPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2NvdW50JywgJ2Rpc2FibGVkJywgJ2ljb24nLCAnbGFiZWwnLCAnc2VsZWN0ZWQnLCAndmFsdWUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21kcy1maWx0ZXItaXRlbScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY291bnQnLCAnZGlzYWJsZWQnLCAnaWNvbicsICdsYWJlbCcsICdzZWxlY3RlZCcsICd2YWx1ZSddLFxuICBvdXRwdXRzOiBbJ21kc0ZpbHRlckl0ZW1TZWxlY3QnXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgTWRzRmlsdGVySXRlbSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTE1kc0ZpbHRlckl0ZW1FbGVtZW50O1xuICBAT3V0cHV0KCkgbWRzRmlsdGVySXRlbVNlbGVjdCA9IG5ldyBFdmVudEVtaXR0ZXI8TWRzRmlsdGVySXRlbUN1c3RvbUV2ZW50PElNZHNGaWx0ZXJJdGVtTWRzRmlsdGVySXRlbUV2ZW50RGV0YWlsPj4oKTtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5pbXBvcnQgdHlwZSB7IE1kc0ZpbHRlckl0ZW1DdXN0b21FdmVudCB9IGZyb20gJ0BtYWdnaW9saS1kZXNpZ24tc3lzdGVtL21hZ21hJztcbmltcG9ydCB0eXBlIHsgTWRzRmlsdGVySXRlbUV2ZW50RGV0YWlsIGFzIElNZHNGaWx0ZXJJdGVtTWRzRmlsdGVySXRlbUV2ZW50RGV0YWlsIH0gZnJvbSAnQG1hZ2dpb2xpLWRlc2lnbi1zeXN0ZW0vbWFnbWEnO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgTWRzRmlsdGVySXRlbSBleHRlbmRzIENvbXBvbmVudHMuTWRzRmlsdGVySXRlbSB7XG4gIC8qKlxuICAgKiBFbWl0cyB3aGVuIHRoZSBlbGVtZW50IGlzIGFjdGl2ZVxuICAgKi9cbiAgbWRzRmlsdGVySXRlbVNlbGVjdDogRXZlbnRFbWl0dGVyPE1kc0ZpbHRlckl0ZW1DdXN0b21FdmVudDxJTWRzRmlsdGVySXRlbU1kc0ZpbHRlckl0ZW1FdmVudERldGFpbD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhcHBlYXJhbmNlJywgJ2FwcGVhcmFuY2VTZXQnLCAnYXV0b0hpZGUnLCAnYmFja2Ryb3AnLCAnbWVudScsICduYXYnLCAndGhyZXNob2xkJywgJ3Zpc2liaWxpdHknXSxcbiAgbWV0aG9kczogWydzZXRPcGVuZWQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21kcy1oZWFkZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FwcGVhcmFuY2UnLCAnYXBwZWFyYW5jZVNldCcsICdhdXRvSGlkZScsICdiYWNrZHJvcCcsICdtZW51JywgJ25hdicsICd0aHJlc2hvbGQnLCAndmlzaWJpbGl0eSddLFxuICBvdXRwdXRzOiBbJ21kc0hlYWRlckNsb3NlJywgJ21kc0hlYWRlclZpc2liaWxpdHlDaGFuZ2UnXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgTWRzSGVhZGVyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MTWRzSGVhZGVyRWxlbWVudDtcbiAgQE91dHB1dCgpIG1kc0hlYWRlckNsb3NlID0gbmV3IEV2ZW50RW1pdHRlcjxNZHNIZWFkZXJDdXN0b21FdmVudDxJTWRzSGVhZGVyTWRzSGVhZGVyRXZlbnREZXRhaWw+PigpO1xuICBAT3V0cHV0KCkgbWRzSGVhZGVyVmlzaWJpbGl0eUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8TWRzSGVhZGVyQ3VzdG9tRXZlbnQ8SU1kc0hlYWRlck1kc0hlYWRlclZpc2liaWxpdHlFdmVudERldGFpbD4+KCk7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBNZHNIZWFkZXJDdXN0b21FdmVudCB9IGZyb20gJ0BtYWdnaW9saS1kZXNpZ24tc3lzdGVtL21hZ21hJztcbmltcG9ydCB0eXBlIHsgTWRzSGVhZGVyRXZlbnREZXRhaWwgYXMgSU1kc0hlYWRlck1kc0hlYWRlckV2ZW50RGV0YWlsIH0gZnJvbSAnQG1hZ2dpb2xpLWRlc2lnbi1zeXN0ZW0vbWFnbWEnO1xuaW1wb3J0IHR5cGUgeyBNZHNIZWFkZXJWaXNpYmlsaXR5RXZlbnREZXRhaWwgYXMgSU1kc0hlYWRlck1kc0hlYWRlclZpc2liaWxpdHlFdmVudERldGFpbCB9IGZyb20gJ0BtYWdnaW9saS1kZXNpZ24tc3lzdGVtL21hZ21hJztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIE1kc0hlYWRlciBleHRlbmRzIENvbXBvbmVudHMuTWRzSGVhZGVyIHtcbiAgLyoqXG4gICAqIEVtaXRzIHdoZW4gdGhlIGNvbXBvbmVudCBpcyBjbG9zZWRcbiAgICovXG4gIG1kc0hlYWRlckNsb3NlOiBFdmVudEVtaXR0ZXI8TWRzSGVhZGVyQ3VzdG9tRXZlbnQ8SU1kc0hlYWRlck1kc0hlYWRlckV2ZW50RGV0YWlsPj47XG4gIC8qKlxuICAgKiBFbWl0cyB3aGVuIHRoZSBjb21wb25lbnQgbWRzLWhlYWRlci1iYXIgaXMgc2hvd24gb3IgaGlkZGVuXG4gICAqL1xuICBtZHNIZWFkZXJWaXNpYmlsaXR5Q2hhbmdlOiBFdmVudEVtaXR0ZXI8TWRzSGVhZGVyQ3VzdG9tRXZlbnQ8SU1kc0hlYWRlck1kc0hlYWRlclZpc2liaWxpdHlFdmVudERldGFpbD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydtZW51JywgJ25hdiddLFxuICBtZXRob2RzOiBbJ3NldE9wZW5lZCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbWRzLWhlYWRlci1iYXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ21lbnUnLCAnbmF2J10sXG4gIG91dHB1dHM6IFsnbWRzSGVhZGVyQmFyT3BlbiddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBNZHNIZWFkZXJCYXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxNZHNIZWFkZXJCYXJFbGVtZW50O1xuICBAT3V0cHV0KCkgbWRzSGVhZGVyQmFyT3BlbiA9IG5ldyBFdmVudEVtaXR0ZXI8TWRzSGVhZGVyQmFyQ3VzdG9tRXZlbnQ8dm9pZD4+KCk7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBNZHNIZWFkZXJCYXJDdXN0b21FdmVudCB9IGZyb20gJ0BtYWdnaW9saS1kZXNpZ24tc3lzdGVtL21hZ21hJztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIE1kc0hlYWRlckJhciBleHRlbmRzIENvbXBvbmVudHMuTWRzSGVhZGVyQmFyIHtcbiAgLyoqXG4gICAqIEVtaXRzIHdoZW4gdGhlIGNvbXBvbmVudCBpcyBvcGVuZWRcbiAgICovXG4gIG1kc0hlYWRlckJhck9wZW46IEV2ZW50RW1pdHRlcjxNZHNIZWFkZXJCYXJDdXN0b21FdmVudDx2b2lkPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2F1dG9QbGFjZW1lbnQnLCAnaWNvbicsICdwbGFjZW1lbnQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21kcy1oZWxwJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhdXRvUGxhY2VtZW50JywgJ2ljb24nLCAncGxhY2VtZW50J10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIE1kc0hlbHAge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxNZHNIZWxwRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgTWRzSGVscCBleHRlbmRzIENvbXBvbmVudHMuTWRzSGVscCB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjb250cm9scycsICduYXZpZ2F0aW9uJywgJ3NuYXAnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21kcy1ob3Jpem9udGFsLXNjcm9sbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY29udHJvbHMnLCAnbmF2aWdhdGlvbicsICdzbmFwJ10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIE1kc0hvcml6b250YWxTY3JvbGwge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxNZHNIb3Jpem9udGFsU2Nyb2xsRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgTWRzSG9yaXpvbnRhbFNjcm9sbCBleHRlbmRzIENvbXBvbmVudHMuTWRzSG9yaXpvbnRhbFNjcm9sbCB7fVxuXG5cbkBQcm94eUNtcCh7XG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbWRzLWhyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogW10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIE1kc0hyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MTWRzSHJFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBNZHNIciBleHRlbmRzIENvbXBvbmVudHMuTWRzSHIge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnbmFtZSddLFxuICBtZXRob2RzOiBbJ3NldFN2Z1BhdGgnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21kcy1pY29uJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogW3sgbmFtZTogJ25hbWUnLCByZXF1aXJlZDogdHJ1ZSB9XSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgTWRzSWNvbiB7XG4gIHByb3RlY3RlZCBlbDogSFRNTE1kc0ljb25FbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBNZHNJY29uIGV4dGVuZHMgQ29tcG9uZW50cy5NZHNJY29uIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FsdCcsICdjcm9zc29yaWdpbicsICdoZWlnaHQnLCAnbG9hZGluZycsICdyZWZlcnJlcnBvbGljeScsICdzaXplcycsICdzcmMnLCAnc3Jjc2V0JywgJ3NyY3NldENvbnN1bXB0aW9uJywgJ3dpZHRoJ10sXG4gIG1ldGhvZHM6IFsndXBkYXRlTGFuZyddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbWRzLWltZycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYWx0JywgJ2Nyb3Nzb3JpZ2luJywgJ2hlaWdodCcsICdsb2FkaW5nJywgJ3JlZmVycmVycG9saWN5JywgJ3NpemVzJywgJ3NyYycsICdzcmNzZXQnLCAnc3Jjc2V0Q29uc3VtcHRpb24nLCAnd2lkdGgnXSxcbiAgb3V0cHV0czogWydtZHNJbWdMb2FkRXJyb3InLCAnbWRzSW1nTG9hZFN1Y2Nlc3MnXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgTWRzSW1nIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MTWRzSW1nRWxlbWVudDtcbiAgQE91dHB1dCgpIG1kc0ltZ0xvYWRFcnJvciA9IG5ldyBFdmVudEVtaXR0ZXI8TWRzSW1nQ3VzdG9tRXZlbnQ8SU1kc0ltZ01kc0ltZ0V2ZW50RGV0YWlsPj4oKTtcbiAgQE91dHB1dCgpIG1kc0ltZ0xvYWRTdWNjZXNzID0gbmV3IEV2ZW50RW1pdHRlcjxNZHNJbWdDdXN0b21FdmVudDxJTWRzSW1nTWRzSW1nRXZlbnREZXRhaWw+PigpO1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgTWRzSW1nQ3VzdG9tRXZlbnQgfSBmcm9tICdAbWFnZ2lvbGktZGVzaWduLXN5c3RlbS9tYWdtYSc7XG5pbXBvcnQgdHlwZSB7IE1kc0ltZ0V2ZW50RGV0YWlsIGFzIElNZHNJbWdNZHNJbWdFdmVudERldGFpbCB9IGZyb20gJ0BtYWdnaW9saS1kZXNpZ24tc3lzdGVtL21hZ21hJztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIE1kc0ltZyBleHRlbmRzIENvbXBvbmVudHMuTWRzSW1nIHtcbiAgLyoqXG4gICAqIEVtaXRzIHdoZW4gdGhlIGltYWdlIGlzIG5vdCBsb2FkZWRcbiAgICovXG4gIG1kc0ltZ0xvYWRFcnJvcjogRXZlbnRFbWl0dGVyPE1kc0ltZ0N1c3RvbUV2ZW50PElNZHNJbWdNZHNJbWdFdmVudERldGFpbD4+O1xuICAvKipcbiAgICogRW1pdHMgd2hlbiB0aGUgaW1hZ2UgaXMgc3VjY2Vzc2Z1bGx5IGxvYWRlZFxuICAgKi9cbiAgbWRzSW1nTG9hZFN1Y2Nlc3M6IEV2ZW50RW1pdHRlcjxNZHNJbWdDdXN0b21FdmVudDxJTWRzSW1nTWRzSW1nRXZlbnREZXRhaWw+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYXV0b2NvbXBsZXRlJywgJ2F1dG9mb2N1cycsICdhd2FpdCcsICdjb250cm9sc0ljb24nLCAnY29udHJvbHNMYXlvdXQnLCAnZGF0YWxpc3QnLCAnZGlzYWJsZWQnLCAnaWNvbicsICdtYXgnLCAnbWF4bGVuZ3RoJywgJ21pYycsICdtaW4nLCAnbWlubGVuZ3RoJywgJ25hbWUnLCAncGF0dGVybicsICdwbGFjZWhvbGRlcicsICdyZWFkb25seScsICdyZXF1aXJlZCcsICdzdGVwJywgJ3RpcCcsICd0eXBlJywgJ3R5cG9ncmFwaHknLCAndmFsdWUnLCAndmFyaWFudCddLFxuICBtZXRob2RzOiBbJ3VwZGF0ZUxhbmcnLCAnYWRkVmFsaWRhdG9yJywgJ3JlbW92ZVZhbGlkYXRvcicsICdoYXNWYWxpZGF0b3InLCAnZ2V0RXJyb3JzJywgJ3NldEZvY3VzJywgJ2dldElucHV0RWxlbWVudCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbWRzLWlucHV0JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhdXRvY29tcGxldGUnLCAnYXV0b2ZvY3VzJywgJ2F3YWl0JywgJ2NvbnRyb2xzSWNvbicsICdjb250cm9sc0xheW91dCcsICdkYXRhbGlzdCcsICdkaXNhYmxlZCcsICdpY29uJywgJ21heCcsICdtYXhsZW5ndGgnLCAnbWljJywgJ21pbicsICdtaW5sZW5ndGgnLCAnbmFtZScsICdwYXR0ZXJuJywgJ3BsYWNlaG9sZGVyJywgJ3JlYWRvbmx5JywgJ3JlcXVpcmVkJywgJ3N0ZXAnLCAndGlwJywgJ3R5cGUnLCAndHlwb2dyYXBoeScsICd2YWx1ZScsICd2YXJpYW50J10sXG4gIG91dHB1dHM6IFsnbWRzSW5wdXRDaGFuZ2UnLCAnbWRzSW5wdXRLZXlkb3duJywgJ21kc0lucHV0Qmx1cicsICdtZHNJbnB1dEZvY3VzJywgJ21kc0lucHV0U3BlZWNoRW5kJywgJ21kc0lucHV0VmFsaWRhdGlvbiddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBNZHNJbnB1dCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTE1kc0lucHV0RWxlbWVudDtcbiAgQE91dHB1dCgpIG1kc0lucHV0Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxNZHNJbnB1dEN1c3RvbUV2ZW50PElNZHNJbnB1dE1kc0lucHV0RXZlbnREZXRhaWw+PigpO1xuICBAT3V0cHV0KCkgbWRzSW5wdXRLZXlkb3duID0gbmV3IEV2ZW50RW1pdHRlcjxNZHNJbnB1dEN1c3RvbUV2ZW50PEtleWJvYXJkRXZlbnQ+PigpO1xuICBAT3V0cHV0KCkgbWRzSW5wdXRCbHVyID0gbmV3IEV2ZW50RW1pdHRlcjxNZHNJbnB1dEN1c3RvbUV2ZW50PHZvaWQ+PigpO1xuICBAT3V0cHV0KCkgbWRzSW5wdXRGb2N1cyA9IG5ldyBFdmVudEVtaXR0ZXI8TWRzSW5wdXRDdXN0b21FdmVudDx2b2lkPj4oKTtcbiAgQE91dHB1dCgpIG1kc0lucHV0U3BlZWNoRW5kID0gbmV3IEV2ZW50RW1pdHRlcjxNZHNJbnB1dEN1c3RvbUV2ZW50PHZvaWQ+PigpO1xuICBAT3V0cHV0KCkgbWRzSW5wdXRWYWxpZGF0aW9uID0gbmV3IEV2ZW50RW1pdHRlcjxNZHNJbnB1dEN1c3RvbUV2ZW50PGJvb2xlYW4+PigpO1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgTWRzSW5wdXRDdXN0b21FdmVudCB9IGZyb20gJ0BtYWdnaW9saS1kZXNpZ24tc3lzdGVtL21hZ21hJztcbmltcG9ydCB0eXBlIHsgTWRzSW5wdXRFdmVudERldGFpbCBhcyBJTWRzSW5wdXRNZHNJbnB1dEV2ZW50RGV0YWlsIH0gZnJvbSAnQG1hZ2dpb2xpLWRlc2lnbi1zeXN0ZW0vbWFnbWEnO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgTWRzSW5wdXQgZXh0ZW5kcyBDb21wb25lbnRzLk1kc0lucHV0IHtcbiAgLyoqXG4gICAqIEVtaXRzIGFuIElucHV0Q2hhbmdlRXZlbnREZXRhaWwgd2hlbiB0aGUgdmFsdWUgb2YgdGhlIGlucHV0IGVsZW1lbnQgY2hhbmdlc1xuICAgKi9cbiAgbWRzSW5wdXRDaGFuZ2U6IEV2ZW50RW1pdHRlcjxNZHNJbnB1dEN1c3RvbUV2ZW50PElNZHNJbnB1dE1kc0lucHV0RXZlbnREZXRhaWw+PjtcbiAgLyoqXG4gICAqIEVtaXRzIGEgS2V5Ym9hcmRFdmVudCB3aGVuIGEga2V5Ym9hcmQga2V5IGlzIHByZXNzZWQgb24gdGhlIGZvY3VzZWQgaW5wdXQgZWxlbWVudFxuICAgKi9cbiAgbWRzSW5wdXRLZXlkb3duOiBFdmVudEVtaXR0ZXI8TWRzSW5wdXRDdXN0b21FdmVudDxLZXlib2FyZEV2ZW50Pj47XG4gIC8qKlxuICAgKiBFbWl0cyBhIHZvaWQgZXZlbnQgd2hlbiBpbnB1dCBlbGVtZW50IGlzIGJsdXJyZWRcbiAgICovXG4gIG1kc0lucHV0Qmx1cjogRXZlbnRFbWl0dGVyPE1kc0lucHV0Q3VzdG9tRXZlbnQ8dm9pZD4+O1xuICAvKipcbiAgICogRW1pdHMgYSB2b2lkIGV2ZW50IHdoZW4gaW5wdXQgZWxlbWVudCBpcyBmb2N1c2VkXG4gICAqL1xuICBtZHNJbnB1dEZvY3VzOiBFdmVudEVtaXR0ZXI8TWRzSW5wdXRDdXN0b21FdmVudDx2b2lkPj47XG4gIC8qKlxuICAgKiBFbWl0cyBhIHZvaWQgZXZlbnQgd2hlbiBpbnB1dCBzcGVlY2ggcmVjb2duaXRpb24gZW5kc1xuICAgKi9cbiAgbWRzSW5wdXRTcGVlY2hFbmQ6IEV2ZW50RW1pdHRlcjxNZHNJbnB1dEN1c3RvbUV2ZW50PHZvaWQ+PjtcbiAgLyoqXG4gICAqIEVtaXRzIGEgYm9vbGVhbiBldmVudCB3aGVuIGEgaW5wdXQgZXhlY3V0ZSB2YWxpZGF0aW9uXG4gICAqL1xuICBtZHNJbnB1dFZhbGlkYXRpb246IEV2ZW50RW1pdHRlcjxNZHNJbnB1dEN1c3RvbUV2ZW50PGJvb2xlYW4+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnZGVsYXknLCAnZGlzYWJsZWQnLCAnbWF4JywgJ21pbicsICduYW1lJywgJ3JlYWRvbmx5JywgJ3JlcXVpcmVkJywgJ3ZhbHVlJywgJ3ZhcmlhbnQnXSxcbiAgbWV0aG9kczogWyd1cGRhdGVMYW5nJywgJ2ZvY3VzSW5wdXQnLCAnc2V0VmFsdWUnLCAnZ2V0RXJyb3JzJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtZHMtaW5wdXQtZGF0ZScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnZGVsYXknLCAnZGlzYWJsZWQnLCAnbWF4JywgJ21pbicsICduYW1lJywgJ3JlYWRvbmx5JywgJ3JlcXVpcmVkJywgJ3ZhbHVlJywgJ3ZhcmlhbnQnXSxcbiAgb3V0cHV0czogWydtZHNJbnB1dFZhbGlkYXRpb24nLCAnbWRzSW5wdXREYXRlU2VsZWN0J10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIE1kc0lucHV0RGF0ZSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTE1kc0lucHV0RGF0ZUVsZW1lbnQ7XG4gIEBPdXRwdXQoKSBtZHNJbnB1dFZhbGlkYXRpb24gPSBuZXcgRXZlbnRFbWl0dGVyPE1kc0lucHV0RGF0ZUN1c3RvbUV2ZW50PGJvb2xlYW4+PigpO1xuICBAT3V0cHV0KCkgbWRzSW5wdXREYXRlU2VsZWN0ID0gbmV3IEV2ZW50RW1pdHRlcjxNZHNJbnB1dERhdGVDdXN0b21FdmVudDxzdHJpbmc+PigpO1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgTWRzSW5wdXREYXRlQ3VzdG9tRXZlbnQgfSBmcm9tICdAbWFnZ2lvbGktZGVzaWduLXN5c3RlbS9tYWdtYSc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBNZHNJbnB1dERhdGUgZXh0ZW5kcyBDb21wb25lbnRzLk1kc0lucHV0RGF0ZSB7XG4gIC8qKlxuICAgKiBFbWl0cyBhIGJvb2xlYW4gZXZlbnQgd2hlbiBhIGlucHV0IGV4ZWN1dGUgdmFsaWRhdGlvblxuICAgKi9cbiAgbWRzSW5wdXRWYWxpZGF0aW9uOiBFdmVudEVtaXR0ZXI8TWRzSW5wdXREYXRlQ3VzdG9tRXZlbnQ8Ym9vbGVhbj4+O1xuXG4gIG1kc0lucHV0RGF0ZVNlbGVjdDogRXZlbnRFbWl0dGVyPE1kc0lucHV0RGF0ZUN1c3RvbUV2ZW50PHN0cmluZz4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydkZWxheScsICdlbmREYXRlJywgJ21heCcsICdtaW4nLCAnbmFtZScsICdzdGFydERhdGUnXSxcbiAgbWV0aG9kczogWyd1cGRhdGVMYW5nJywgJ3ByZXNlbGVjdCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbWRzLWlucHV0LWRhdGUtcmFuZ2UnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2RlbGF5JywgJ2VuZERhdGUnLCAnbWF4JywgJ21pbicsICduYW1lJywgJ3N0YXJ0RGF0ZSddLFxuICBvdXRwdXRzOiBbJ21kc0lucHV0RGF0ZVJhbmdlU2VsZWN0JywgJ21kc0lucHV0RGF0ZVJhbmdlVmFsdWVDaGFuZ2UnXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgTWRzSW5wdXREYXRlUmFuZ2Uge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxNZHNJbnB1dERhdGVSYW5nZUVsZW1lbnQ7XG4gIEBPdXRwdXQoKSBtZHNJbnB1dERhdGVSYW5nZVNlbGVjdCA9IG5ldyBFdmVudEVtaXR0ZXI8TWRzSW5wdXREYXRlUmFuZ2VDdXN0b21FdmVudDx7IHN0YXJ0RGF0ZTogc3RyaW5nOyBlbmREYXRlOiBzdHJpbmc7IH0+PigpO1xuICBAT3V0cHV0KCkgbWRzSW5wdXREYXRlUmFuZ2VWYWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8TWRzSW5wdXREYXRlUmFuZ2VDdXN0b21FdmVudDx7IHN0YXJ0RGF0ZTogc3RyaW5nOyBlbmREYXRlOiBzdHJpbmc7IH0+PigpO1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgTWRzSW5wdXREYXRlUmFuZ2VDdXN0b21FdmVudCB9IGZyb20gJ0BtYWdnaW9saS1kZXNpZ24tc3lzdGVtL21hZ21hJztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIE1kc0lucHV0RGF0ZVJhbmdlIGV4dGVuZHMgQ29tcG9uZW50cy5NZHNJbnB1dERhdGVSYW5nZSB7XG5cbiAgbWRzSW5wdXREYXRlUmFuZ2VTZWxlY3Q6IEV2ZW50RW1pdHRlcjxNZHNJbnB1dERhdGVSYW5nZUN1c3RvbUV2ZW50PHsgc3RhcnREYXRlOiBzdHJpbmc7IGVuZERhdGU6IHN0cmluZzsgfT4+O1xuXG4gIG1kc0lucHV0RGF0ZVJhbmdlVmFsdWVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxNZHNJbnB1dERhdGVSYW5nZUN1c3RvbUV2ZW50PHsgc3RhcnREYXRlOiBzdHJpbmc7IGVuZERhdGU6IHN0cmluZzsgfT4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydlbmQnLCAnc2VsZWN0ZWQnLCAnc3RhcnQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21kcy1pbnB1dC1kYXRlLXJhbmdlLXByZXNlbGVjdGlvbicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnZW5kJywgJ3NlbGVjdGVkJywgeyBuYW1lOiAnc3RhcnQnLCByZXF1aXJlZDogdHJ1ZSB9XSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgTWRzSW5wdXREYXRlUmFuZ2VQcmVzZWxlY3Rpb24ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxNZHNJbnB1dERhdGVSYW5nZVByZXNlbGVjdGlvbkVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIE1kc0lucHV0RGF0ZVJhbmdlUHJlc2VsZWN0aW9uIGV4dGVuZHMgQ29tcG9uZW50cy5NZHNJbnB1dERhdGVSYW5nZVByZXNlbGVjdGlvbiB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydsYWJlbCcsICdtZXNzYWdlJywgJ3ZhcmlhbnQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21kcy1pbnB1dC1maWVsZCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnbGFiZWwnLCAnbWVzc2FnZScsICd2YXJpYW50J10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIE1kc0lucHV0RmllbGQge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxNZHNJbnB1dEZpZWxkRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgTWRzSW5wdXRGaWVsZCBleHRlbmRzIENvbXBvbmVudHMuTWRzSW5wdXRGaWVsZCB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhdXRvc3VibWl0JywgJ2xlbmd0aCcsICd2YWx1ZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbWRzLWlucHV0LW90cCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYXV0b3N1Ym1pdCcsICdsZW5ndGgnLCAndmFsdWUnXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgTWRzSW5wdXRPdHAge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxNZHNJbnB1dE90cEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIE1kc0lucHV0T3RwIGV4dGVuZHMgQ29tcG9uZW50cy5NZHNJbnB1dE90cCB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydkaXNhYmxlZCcsICdmb3JtYXRWYWx1ZScsICdtYXgnLCAnbWluJywgJ25hbWUnLCAnc3RlcCcsICd2YWx1ZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbWRzLWlucHV0LXJhbmdlJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydkaXNhYmxlZCcsICdmb3JtYXRWYWx1ZScsICdtYXgnLCAnbWluJywgJ25hbWUnLCAnc3RlcCcsICd2YWx1ZSddLFxuICBvdXRwdXRzOiBbJ21kc0lucHV0UmFuZ2VDaGFuZ2UnXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgTWRzSW5wdXRSYW5nZSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTE1kc0lucHV0UmFuZ2VFbGVtZW50O1xuICBAT3V0cHV0KCkgbWRzSW5wdXRSYW5nZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8TWRzSW5wdXRSYW5nZUN1c3RvbUV2ZW50PG51bWJlcj4+KCk7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBNZHNJbnB1dFJhbmdlQ3VzdG9tRXZlbnQgfSBmcm9tICdAbWFnZ2lvbGktZGVzaWduLXN5c3RlbS9tYWdtYSc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBNZHNJbnB1dFJhbmdlIGV4dGVuZHMgQ29tcG9uZW50cy5NZHNJbnB1dFJhbmdlIHtcbiAgLyoqXG4gICAqIEVtaXRzIHdoZW4gdGhlIGlucHV0IHJhbmdlIGlzIGNoYW5nZWRcbiAgICovXG4gIG1kc0lucHV0UmFuZ2VDaGFuZ2U6IEV2ZW50RW1pdHRlcjxNZHNJbnB1dFJhbmdlQ3VzdG9tRXZlbnQ8bnVtYmVyPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2F1dG9Gb2N1cycsICdhdXRvY29tcGxldGUnLCAnZGVmYXVsdFZhbHVlJywgJ2Rpc2FibGVkJywgJ211bHRpcGxlJywgJ25hbWUnLCAncGxhY2Vob2xkZXInLCAncmVxdWlyZWQnLCAnc2l6ZScsICd2YWx1ZScsICd2YXJpYW50J10sXG4gIG1ldGhvZHM6IFsndXBkYXRlTGFuZycsICdzZXRWYWx1ZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbWRzLWlucHV0LXNlbGVjdCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYXV0b0ZvY3VzJywgJ2F1dG9jb21wbGV0ZScsICdkZWZhdWx0VmFsdWUnLCAnZGlzYWJsZWQnLCAnbXVsdGlwbGUnLCAnbmFtZScsICdwbGFjZWhvbGRlcicsICdyZXF1aXJlZCcsICdzaXplJywgJ3ZhbHVlJywgJ3ZhcmlhbnQnXSxcbiAgb3V0cHV0czogWydtZHNJbnB1dFNlbGVjdENoYW5nZSddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBNZHNJbnB1dFNlbGVjdCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTE1kc0lucHV0U2VsZWN0RWxlbWVudDtcbiAgQE91dHB1dCgpIG1kc0lucHV0U2VsZWN0Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxNZHNJbnB1dFNlbGVjdEN1c3RvbUV2ZW50PElNZHNJbnB1dFNlbGVjdE1kc0lucHV0RXZlbnREZXRhaWw+PigpO1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgTWRzSW5wdXRTZWxlY3RDdXN0b21FdmVudCB9IGZyb20gJ0BtYWdnaW9saS1kZXNpZ24tc3lzdGVtL21hZ21hJztcbmltcG9ydCB0eXBlIHsgTWRzSW5wdXRFdmVudERldGFpbCBhcyBJTWRzSW5wdXRTZWxlY3RNZHNJbnB1dEV2ZW50RGV0YWlsIH0gZnJvbSAnQG1hZ2dpb2xpLWRlc2lnbi1zeXN0ZW0vbWFnbWEnO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgTWRzSW5wdXRTZWxlY3QgZXh0ZW5kcyBDb21wb25lbnRzLk1kc0lucHV0U2VsZWN0IHtcbiAgLyoqXG4gICAqIEVtaXRzIGFuIElucHV0Q2hhbmdlRXZlbnREZXRhaWwgd2hlbiB0aGUgdmFsdWUgb2YgdGhlIGlucHV0IGVsZW1lbnQgY2hhbmdlc1xuICAgKi9cbiAgbWRzSW5wdXRTZWxlY3RDaGFuZ2U6IEV2ZW50RW1pdHRlcjxNZHNJbnB1dFNlbGVjdEN1c3RvbUV2ZW50PElNZHNJbnB1dFNlbGVjdE1kc0lucHV0RXZlbnREZXRhaWw+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYXV0b2ZvY3VzJywgJ2NoZWNrZWQnLCAnZGlzYWJsZWQnLCAnZXhwbGljaXQnLCAnaWNvbicsICdpbmRldGVybWluYXRlJywgJ25hbWUnLCAnc2l6ZScsICd0eXBlJywgJ3R5cG9ncmFwaHknLCAndmFsdWUnLCAndmFyaWFudCddLFxuICBtZXRob2RzOiBbJ3VwZGF0ZUxhbmcnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21kcy1pbnB1dC1zd2l0Y2gnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2F1dG9mb2N1cycsICdjaGVja2VkJywgJ2Rpc2FibGVkJywgJ2V4cGxpY2l0JywgJ2ljb24nLCAnaW5kZXRlcm1pbmF0ZScsICduYW1lJywgJ3NpemUnLCAndHlwZScsICd0eXBvZ3JhcGh5JywgJ3ZhbHVlJywgJ3ZhcmlhbnQnXSxcbiAgb3V0cHV0czogWydtZHNJbnB1dFN3aXRjaENoYW5nZSddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBNZHNJbnB1dFN3aXRjaCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTE1kc0lucHV0U3dpdGNoRWxlbWVudDtcbiAgQE91dHB1dCgpIG1kc0lucHV0U3dpdGNoQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxNZHNJbnB1dFN3aXRjaEN1c3RvbUV2ZW50PElNZHNJbnB1dFN3aXRjaE1kc0lucHV0U3dpdGNoRXZlbnREZXRhaWw+PigpO1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgTWRzSW5wdXRTd2l0Y2hDdXN0b21FdmVudCB9IGZyb20gJ0BtYWdnaW9saS1kZXNpZ24tc3lzdGVtL21hZ21hJztcbmltcG9ydCB0eXBlIHsgTWRzSW5wdXRTd2l0Y2hFdmVudERldGFpbCBhcyBJTWRzSW5wdXRTd2l0Y2hNZHNJbnB1dFN3aXRjaEV2ZW50RGV0YWlsIH0gZnJvbSAnQG1hZ2dpb2xpLWRlc2lnbi1zeXN0ZW0vbWFnbWEnO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgTWRzSW5wdXRTd2l0Y2ggZXh0ZW5kcyBDb21wb25lbnRzLk1kc0lucHV0U3dpdGNoIHtcbiAgLyoqXG4gICAqIEVtaXRzIHdoZW4gdGhlIHZhbHVlIGNoYW5nZXNcbiAgICovXG4gIG1kc0lucHV0U3dpdGNoQ2hhbmdlOiBFdmVudEVtaXR0ZXI8TWRzSW5wdXRTd2l0Y2hDdXN0b21FdmVudDxJTWRzSW5wdXRTd2l0Y2hNZHNJbnB1dFN3aXRjaEV2ZW50RGV0YWlsPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FjdGl2ZScsICdwb3NpdGlvbiddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbWRzLWlucHV0LXRpcCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYWN0aXZlJywgJ3Bvc2l0aW9uJ10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIE1kc0lucHV0VGlwIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MTWRzSW5wdXRUaXBFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBNZHNJbnB1dFRpcCBleHRlbmRzIENvbXBvbmVudHMuTWRzSW5wdXRUaXAge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnZXhwYW5kZWQnLCAndmFyaWFudCddLFxuICBtZXRob2RzOiBbJ3VwZGF0ZUxhbmcnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21kcy1pbnB1dC10aXAtaXRlbScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnZXhwYW5kZWQnLCAndmFyaWFudCddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBNZHNJbnB1dFRpcEl0ZW0ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxNZHNJbnB1dFRpcEl0ZW1FbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBNZHNJbnB1dFRpcEl0ZW0gZXh0ZW5kcyBDb21wb25lbnRzLk1kc0lucHV0VGlwSXRlbSB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhY2NlcHQnLCAnaW5pdGlhbFZhbHVlJywgJ21heEZpbGVTaXplJywgJ21heEZpbGVzJywgJ3NvcnQnXSxcbiAgbWV0aG9kczogWyd1cGRhdGVMYW5nJywgJ2dldEZpbGVzJywgJ2dldEZpbGVzRXJyb3InLCAncmVzZXQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21kcy1pbnB1dC11cGxvYWQnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FjY2VwdCcsICdpbml0aWFsVmFsdWUnLCAnbWF4RmlsZVNpemUnLCAnbWF4RmlsZXMnLCAnc29ydCddLFxuICBvdXRwdXRzOiBbJ21kc0lucHV0VXBsb2FkQ2hhbmdlJ10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIE1kc0lucHV0VXBsb2FkIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MTWRzSW5wdXRVcGxvYWRFbGVtZW50O1xuICBAT3V0cHV0KCkgbWRzSW5wdXRVcGxvYWRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPE1kc0lucHV0VXBsb2FkQ3VzdG9tRXZlbnQ8RmlsZUxpc3QgfCBudWxsPj4oKTtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5pbXBvcnQgdHlwZSB7IE1kc0lucHV0VXBsb2FkQ3VzdG9tRXZlbnQgfSBmcm9tICdAbWFnZ2lvbGktZGVzaWduLXN5c3RlbS9tYWdtYSc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBNZHNJbnB1dFVwbG9hZCBleHRlbmRzIENvbXBvbmVudHMuTWRzSW5wdXRVcGxvYWQge1xuICAvKipcbiAgICogRW1pdHMgd2hlbiB0aGUgY29tcG9uZW50IGZpbGVzIGFyZSBjaGFuZ2VkXG4gICAqL1xuICBtZHNJbnB1dFVwbG9hZENoYW5nZTogRXZlbnRFbWl0dGVyPE1kc0lucHV0VXBsb2FkQ3VzdG9tRXZlbnQ8RmlsZUxpc3QgfCBudWxsPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ3Rlc3QnLCAndHJ5J10sXG4gIG1ldGhvZHM6IFsndXBkYXRlTGFuZyddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbWRzLWtleWJvYXJkJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWyd0ZXN0JywgJ3RyeSddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBNZHNLZXlib2FyZCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTE1kc0tleWJvYXJkRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgTWRzS2V5Ym9hcmQgZXh0ZW5kcyBDb21wb25lbnRzLk1kc0tleWJvYXJkIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ25hbWUnLCAncHJlc3NlZCddLFxuICBtZXRob2RzOiBbJ3VwZGF0ZUxhbmcnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21kcy1rZXlib2FyZC1rZXknLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ25hbWUnLCAncHJlc3NlZCddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBNZHNLZXlib2FyZEtleSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTE1kc0tleWJvYXJkS2V5RWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgTWRzS2V5Ym9hcmRLZXkgZXh0ZW5kcyBDb21wb25lbnRzLk1kc0tleWJvYXJkS2V5IHt9XG5cblxuQFByb3h5Q21wKHtcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtZHMta3BpJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogW10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIE1kc0twaSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTE1kc0twaUVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIE1kc0twaSBleHRlbmRzIENvbXBvbmVudHMuTWRzS3BpIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2Rlc2NyaXB0aW9uJywgJ2ljb24nLCAnbGFiZWwnLCAndGhyZXNob2xkJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtZHMta3BpLWl0ZW0nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2Rlc2NyaXB0aW9uJywgJ2ljb24nLCAnbGFiZWwnLCAndGhyZXNob2xkJ10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIE1kc0twaUl0ZW0ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxNZHNLcGlJdGVtRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgTWRzS3BpSXRlbSBleHRlbmRzIENvbXBvbmVudHMuTWRzS3BpSXRlbSB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydkZWxldGFibGUnLCAnbGFiZWwnLCAndG9uZScsICd0cnVuY2F0ZScsICd0eXBvZ3JhcGh5JywgJ3ZhcmlhbnQnXSxcbiAgbWV0aG9kczogWyd1cGRhdGVMYW5nJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtZHMtbGFiZWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2RlbGV0YWJsZScsICdsYWJlbCcsICd0b25lJywgJ3RydW5jYXRlJywgJ3R5cG9ncmFwaHknLCAndmFyaWFudCddLFxuICBvdXRwdXRzOiBbJ21kc0xhYmVsRGVsZXRlJ10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIE1kc0xhYmVsIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MTWRzTGFiZWxFbGVtZW50O1xuICBAT3V0cHV0KCkgbWRzTGFiZWxEZWxldGUgPSBuZXcgRXZlbnRFbWl0dGVyPE1kc0xhYmVsQ3VzdG9tRXZlbnQ8dm9pZD4+KCk7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBNZHNMYWJlbEN1c3RvbUV2ZW50IH0gZnJvbSAnQG1hZ2dpb2xpLWRlc2lnbi1zeXN0ZW0vbWFnbWEnO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgTWRzTGFiZWwgZXh0ZW5kcyBDb21wb25lbnRzLk1kc0xhYmVsIHtcbiAgLyoqXG4gICAqIEVtaXRzIHdoZW4gdGhlIGxhYmVsIGhhcyB0byBiZSBjYW5jZWxsZWRcbiAgICovXG4gIG1kc0xhYmVsRGVsZXRlOiBFdmVudEVtaXR0ZXI8TWRzTGFiZWxDdXN0b21FdmVudDx2b2lkPj47XG59XG5cblxuQFByb3h5Q21wKHtcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtZHMtbGlzdCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFtdLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBNZHNMaXN0IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MTWRzTGlzdEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIE1kc0xpc3QgZXh0ZW5kcyBDb21wb25lbnRzLk1kc0xpc3Qge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnaWNvbicsICd0eXBvZ3JhcGh5JywgJ3ZhcmlhbnQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21kcy1saXN0LWl0ZW0nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2ljb24nLCAndHlwb2dyYXBoeScsICd2YXJpYW50J10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIE1kc0xpc3RJdGVtIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MTWRzTGlzdEl0ZW1FbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBNZHNMaXN0SXRlbSBleHRlbmRzIENvbXBvbmVudHMuTWRzTGlzdEl0ZW0ge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnaWNvbicsICdsYWJlbCcsICdzaXplJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtZHMtbWVudGlvbicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnaWNvbicsICdsYWJlbCcsICdzaXplJ10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIE1kc01lbnRpb24ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxNZHNNZW50aW9uRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgTWRzTWVudGlvbiBleHRlbmRzIENvbXBvbmVudHMuTWRzTWVudGlvbiB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhbmltYXRpbmcnLCAnYW5pbWF0aW9uJywgJ2JhY2tkcm9wJywgJ2ludGVyYWN0aW9uJywgJ29wZW5lZCcsICdvdmVyZmxvdycsICdwb3NpdGlvbiddLFxuICBtZXRob2RzOiBbJ2Nsb3NlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtZHMtbW9kYWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FuaW1hdGluZycsICdhbmltYXRpb24nLCAnYmFja2Ryb3AnLCAnaW50ZXJhY3Rpb24nLCAnb3BlbmVkJywgJ292ZXJmbG93JywgJ3Bvc2l0aW9uJ10sXG4gIG91dHB1dHM6IFsnbWRzTW9kYWxPcGVuJywgJ21kc01vZGFsU2hvdycsICdtZHNNb2RhbENsb3NlJywgJ21kc01vZGFsSGlkZSddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBNZHNNb2RhbCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTE1kc01vZGFsRWxlbWVudDtcbiAgQE91dHB1dCgpIG1kc01vZGFsT3BlbiA9IG5ldyBFdmVudEVtaXR0ZXI8TWRzTW9kYWxDdXN0b21FdmVudDx2b2lkPj4oKTtcbiAgQE91dHB1dCgpIG1kc01vZGFsU2hvdyA9IG5ldyBFdmVudEVtaXR0ZXI8TWRzTW9kYWxDdXN0b21FdmVudDx2b2lkPj4oKTtcbiAgQE91dHB1dCgpIG1kc01vZGFsQ2xvc2UgPSBuZXcgRXZlbnRFbWl0dGVyPE1kc01vZGFsQ3VzdG9tRXZlbnQ8dm9pZD4+KCk7XG4gIEBPdXRwdXQoKSBtZHNNb2RhbEhpZGUgPSBuZXcgRXZlbnRFbWl0dGVyPE1kc01vZGFsQ3VzdG9tRXZlbnQ8dm9pZD4+KCk7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBNZHNNb2RhbEN1c3RvbUV2ZW50IH0gZnJvbSAnQG1hZ2dpb2xpLWRlc2lnbi1zeXN0ZW0vbWFnbWEnO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgTWRzTW9kYWwgZXh0ZW5kcyBDb21wb25lbnRzLk1kc01vZGFsIHtcbiAgLyoqXG4gICAqIEVtaXRzIHdoZW4gYSBtb2RhbCBpcyBjbG9zZWRcbiAgICovXG4gIG1kc01vZGFsT3BlbjogRXZlbnRFbWl0dGVyPE1kc01vZGFsQ3VzdG9tRXZlbnQ8dm9pZD4+O1xuICAvKipcbiAgICogRW1pdHMgd2hlbiBhIG1vZGFsIGlzIHRvdGFsbHkgdmlzaWJsZSwgd2hlbiB0aGUgbW9kYWwgaW50cm8gYW5pbWF0aW9uIGlzIGZpbmlzaGVkXG4gICAqL1xuICBtZHNNb2RhbFNob3c6IEV2ZW50RW1pdHRlcjxNZHNNb2RhbEN1c3RvbUV2ZW50PHZvaWQ+PjtcbiAgLyoqXG4gICAqIEVtaXRzIHdoZW4gYSBtb2RhbCBpcyBjbG9zZWRcbiAgICovXG4gIG1kc01vZGFsQ2xvc2U6IEV2ZW50RW1pdHRlcjxNZHNNb2RhbEN1c3RvbUV2ZW50PHZvaWQ+PjtcbiAgLyoqXG4gICAqIEVtaXRzIHdoZW4gYSBtb2RhbCBpcyB0b3RhbGx5IGludmlzaWJsZSwgY2FuIGJlIHVzZWZ1bCB0byBkZXRhY2ggdGhlIGNvbXBvbmVudCB3aGVuIGl0J3MgaGlkZGVuIGFuZCBnYWluIG1lbW9yeVxuICAgKi9cbiAgbWRzTW9kYWxIaWRlOiBFdmVudEVtaXR0ZXI8TWRzTW9kYWxDdXN0b21FdmVudDx2b2lkPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2RlbGV0YWJsZScsICd2YXJpYW50J10sXG4gIG1ldGhvZHM6IFsndXBkYXRlTGFuZyddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbWRzLW5vdGUnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2RlbGV0YWJsZScsICd2YXJpYW50J10sXG4gIG91dHB1dHM6IFsnbWRzTm90ZURlbGV0ZSddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBNZHNOb3RlIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MTWRzTm90ZUVsZW1lbnQ7XG4gIEBPdXRwdXQoKSBtZHNOb3RlRGVsZXRlID0gbmV3IEV2ZW50RW1pdHRlcjxNZHNOb3RlQ3VzdG9tRXZlbnQ8dm9pZD4+KCk7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBNZHNOb3RlQ3VzdG9tRXZlbnQgfSBmcm9tICdAbWFnZ2lvbGktZGVzaWduLXN5c3RlbS9tYWdtYSc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBNZHNOb3RlIGV4dGVuZHMgQ29tcG9uZW50cy5NZHNOb3RlIHtcbiAgLyoqXG4gICAqIEVtaXRzIHdoZW4gdGhlIG5vdGUgaGFzIHRvIGJlIGNhbmNlbGxlZFxuICAgKi9cbiAgbWRzTm90ZURlbGV0ZTogRXZlbnRFbWl0dGVyPE1kc05vdGVDdXN0b21FdmVudDx2b2lkPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ21heCcsICdzdHJhdGVneScsICd0YXJnZXQnLCAndmFsdWUnLCAndmlzaWJsZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbWRzLW5vdGlmaWNhdGlvbicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnbWF4JywgJ3N0cmF0ZWd5JywgJ3RhcmdldCcsICd2YWx1ZScsICd2aXNpYmxlJ10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIE1kc05vdGlmaWNhdGlvbiB7XG4gIHByb3RlY3RlZCBlbDogSFRNTE1kc05vdGlmaWNhdGlvbkVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIE1kc05vdGlmaWNhdGlvbiBleHRlbmRzIENvbXBvbmVudHMuTWRzTm90aWZpY2F0aW9uIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2N1cnJlbnRQYWdlJywgJ3BhZ2VzJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtZHMtcGFnaW5hdG9yJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydjdXJyZW50UGFnZScsICdwYWdlcyddLFxuICBvdXRwdXRzOiBbJ21kc1BhZ2luYXRvckNoYW5nZSddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBNZHNQYWdpbmF0b3Ige1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxNZHNQYWdpbmF0b3JFbGVtZW50O1xuICBAT3V0cHV0KCkgbWRzUGFnaW5hdG9yQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxNZHNQYWdpbmF0b3JDdXN0b21FdmVudDxJTWRzUGFnaW5hdG9yTWRzUGFnaW5hdG9yRXZlbnREZXRhaWw+PigpO1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgTWRzUGFnaW5hdG9yQ3VzdG9tRXZlbnQgfSBmcm9tICdAbWFnZ2lvbGktZGVzaWduLXN5c3RlbS9tYWdtYSc7XG5pbXBvcnQgdHlwZSB7IE1kc1BhZ2luYXRvckV2ZW50RGV0YWlsIGFzIElNZHNQYWdpbmF0b3JNZHNQYWdpbmF0b3JFdmVudERldGFpbCB9IGZyb20gJ0BtYWdnaW9saS1kZXNpZ24tc3lzdGVtL21hZ21hJztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIE1kc1BhZ2luYXRvciBleHRlbmRzIENvbXBvbmVudHMuTWRzUGFnaW5hdG9yIHtcbiAgLyoqXG4gICAqIEVtaXRzIHdoZW4gYSBwYWdlIGlzIGNoYW5nZWRcbiAgICovXG4gIG1kc1BhZ2luYXRvckNoYW5nZTogRXZlbnRFbWl0dGVyPE1kc1BhZ2luYXRvckN1c3RvbUV2ZW50PElNZHNQYWdpbmF0b3JNZHNQYWdpbmF0b3JFdmVudERldGFpbD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydkaXNhYmxlZCcsICdpY29uJywgJ3NlbGVjdGVkJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtZHMtcGFnaW5hdG9yLWl0ZW0nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2Rpc2FibGVkJywgJ2ljb24nLCAnc2VsZWN0ZWQnXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgTWRzUGFnaW5hdG9ySXRlbSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTE1kc1BhZ2luYXRvckl0ZW1FbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBNZHNQYWdpbmF0b3JJdGVtIGV4dGVuZHMgQ29tcG9uZW50cy5NZHNQYWdpbmF0b3JJdGVtIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2Rlc2NyaXB0aW9uJywgJ2hlYWRsaW5lJywgJ2hyZWYnLCAndmFyaWFudCddLFxuICBtZXRob2RzOiBbJ3VwZGF0ZUxhbmcnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21kcy1wb2xpY3ktYWknLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2Rlc2NyaXB0aW9uJywgJ2hlYWRsaW5lJywgJ2hyZWYnLCAndmFyaWFudCddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBNZHNQb2xpY3lBaSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTE1kc1BvbGljeUFpRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgTWRzUG9saWN5QWkgZXh0ZW5kcyBDb21wb25lbnRzLk1kc1BvbGljeUFpIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2NvbnRyb2xsZXInLCAnc2l6ZSddLFxuICBtZXRob2RzOiBbJ3VwZGF0ZUxhbmcnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21kcy1wcmVmJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydjb250cm9sbGVyJywgJ3NpemUnXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgTWRzUHJlZiB7XG4gIHByb3RlY3RlZCBlbDogSFRNTE1kc1ByZWZFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBNZHNQcmVmIGV4dGVuZHMgQ29tcG9uZW50cy5NZHNQcmVmIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ21vZGUnLCAnc2l6ZSddLFxuICBtZXRob2RzOiBbJ3VwZGF0ZUxhbmcnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21kcy1wcmVmLWFuaW1hdGlvbicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnbW9kZScsICdzaXplJ10sXG4gIG91dHB1dHM6IFsnbWRzUHJlZkNoYW5nZSddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBNZHNQcmVmQW5pbWF0aW9uIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MTWRzUHJlZkFuaW1hdGlvbkVsZW1lbnQ7XG4gIEBPdXRwdXQoKSBtZHNQcmVmQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxNZHNQcmVmQW5pbWF0aW9uQ3VzdG9tRXZlbnQ8SU1kc1ByZWZBbmltYXRpb25NZHNQcmVmQ2hhbmdlRXZlbnREZXRhaWw+PigpO1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgTWRzUHJlZkFuaW1hdGlvbkN1c3RvbUV2ZW50IH0gZnJvbSAnQG1hZ2dpb2xpLWRlc2lnbi1zeXN0ZW0vbWFnbWEnO1xuaW1wb3J0IHR5cGUgeyBNZHNQcmVmQ2hhbmdlRXZlbnREZXRhaWwgYXMgSU1kc1ByZWZBbmltYXRpb25NZHNQcmVmQ2hhbmdlRXZlbnREZXRhaWwgfSBmcm9tICdAbWFnZ2lvbGktZGVzaWduLXN5c3RlbS9tYWdtYSc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBNZHNQcmVmQW5pbWF0aW9uIGV4dGVuZHMgQ29tcG9uZW50cy5NZHNQcmVmQW5pbWF0aW9uIHtcbiAgLyoqXG4gICAqIEVtaXRzIHdoZW4gdGhlIGNvbXBvbmVudCBpcyB0cmlnZ2VyZWRcbiAgICovXG4gIG1kc1ByZWZDaGFuZ2U6IEV2ZW50RW1pdHRlcjxNZHNQcmVmQW5pbWF0aW9uQ3VzdG9tRXZlbnQ8SU1kc1ByZWZBbmltYXRpb25NZHNQcmVmQ2hhbmdlRXZlbnREZXRhaWw+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnbW9kZScsICdzaXplJ10sXG4gIG1ldGhvZHM6IFsndXBkYXRlTGFuZyddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbWRzLXByZWYtY29uc3VtcHRpb24nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ21vZGUnLCAnc2l6ZSddLFxuICBvdXRwdXRzOiBbJ21kc1ByZWZDaGFuZ2UnXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgTWRzUHJlZkNvbnN1bXB0aW9uIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MTWRzUHJlZkNvbnN1bXB0aW9uRWxlbWVudDtcbiAgQE91dHB1dCgpIG1kc1ByZWZDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPE1kc1ByZWZDb25zdW1wdGlvbkN1c3RvbUV2ZW50PElNZHNQcmVmQ29uc3VtcHRpb25NZHNQcmVmQ2hhbmdlRXZlbnREZXRhaWw+PigpO1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgTWRzUHJlZkNvbnN1bXB0aW9uQ3VzdG9tRXZlbnQgfSBmcm9tICdAbWFnZ2lvbGktZGVzaWduLXN5c3RlbS9tYWdtYSc7XG5pbXBvcnQgdHlwZSB7IE1kc1ByZWZDaGFuZ2VFdmVudERldGFpbCBhcyBJTWRzUHJlZkNvbnN1bXB0aW9uTWRzUHJlZkNoYW5nZUV2ZW50RGV0YWlsIH0gZnJvbSAnQG1hZ2dpb2xpLWRlc2lnbi1zeXN0ZW0vbWFnbWEnO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgTWRzUHJlZkNvbnN1bXB0aW9uIGV4dGVuZHMgQ29tcG9uZW50cy5NZHNQcmVmQ29uc3VtcHRpb24ge1xuICAvKipcbiAgICogRW1pdHMgd2hlbiB0aGUgY29tcG9uZW50IGlzIHRyaWdnZXJlZFxuICAgKi9cbiAgbWRzUHJlZkNoYW5nZTogRXZlbnRFbWl0dGVyPE1kc1ByZWZDb25zdW1wdGlvbkN1c3RvbUV2ZW50PElNZHNQcmVmQ29uc3VtcHRpb25NZHNQcmVmQ2hhbmdlRXZlbnREZXRhaWw+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnbW9kZScsICdzaXplJ10sXG4gIG1ldGhvZHM6IFsndXBkYXRlTGFuZyddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbWRzLXByZWYtY29udHJhc3QnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ21vZGUnLCAnc2l6ZSddLFxuICBvdXRwdXRzOiBbJ21kc1ByZWZDaGFuZ2UnXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgTWRzUHJlZkNvbnRyYXN0IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MTWRzUHJlZkNvbnRyYXN0RWxlbWVudDtcbiAgQE91dHB1dCgpIG1kc1ByZWZDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPE1kc1ByZWZDb250cmFzdEN1c3RvbUV2ZW50PElNZHNQcmVmQ29udHJhc3RNZHNQcmVmQ2hhbmdlRXZlbnREZXRhaWw+PigpO1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgTWRzUHJlZkNvbnRyYXN0Q3VzdG9tRXZlbnQgfSBmcm9tICdAbWFnZ2lvbGktZGVzaWduLXN5c3RlbS9tYWdtYSc7XG5pbXBvcnQgdHlwZSB7IE1kc1ByZWZDaGFuZ2VFdmVudERldGFpbCBhcyBJTWRzUHJlZkNvbnRyYXN0TWRzUHJlZkNoYW5nZUV2ZW50RGV0YWlsIH0gZnJvbSAnQG1hZ2dpb2xpLWRlc2lnbi1zeXN0ZW0vbWFnbWEnO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgTWRzUHJlZkNvbnRyYXN0IGV4dGVuZHMgQ29tcG9uZW50cy5NZHNQcmVmQ29udHJhc3Qge1xuICAvKipcbiAgICogRW1pdHMgd2hlbiB0aGUgY29tcG9uZW50IGlzIHRyaWdnZXJlZFxuICAgKi9cbiAgbWRzUHJlZkNoYW5nZTogRXZlbnRFbWl0dGVyPE1kc1ByZWZDb250cmFzdEN1c3RvbUV2ZW50PElNZHNQcmVmQ29udHJhc3RNZHNQcmVmQ2hhbmdlRXZlbnREZXRhaWw+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnc2V0JywgJ3NpemUnXSxcbiAgbWV0aG9kczogWyd1cGRhdGVMYW5nJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtZHMtcHJlZi1sYW5ndWFnZScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnc2V0JywgJ3NpemUnXSxcbiAgb3V0cHV0czogWydtZHNQcmVmTGFuZ3VhZ2VDaGFuZ2UnLCAnbWRzUHJlZkNoYW5nZSddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBNZHNQcmVmTGFuZ3VhZ2Uge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxNZHNQcmVmTGFuZ3VhZ2VFbGVtZW50O1xuICBAT3V0cHV0KCkgbWRzUHJlZkxhbmd1YWdlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxNZHNQcmVmTGFuZ3VhZ2VDdXN0b21FdmVudDxJTWRzUHJlZkxhbmd1YWdlTWRzUHJlZkxhbmd1YWdlRXZlbnREZXRhaWw+PigpO1xuICBAT3V0cHV0KCkgbWRzUHJlZkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8TWRzUHJlZkxhbmd1YWdlQ3VzdG9tRXZlbnQ8SU1kc1ByZWZMYW5ndWFnZU1kc1ByZWZDaGFuZ2VFdmVudERldGFpbD4+KCk7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBNZHNQcmVmTGFuZ3VhZ2VDdXN0b21FdmVudCB9IGZyb20gJ0BtYWdnaW9saS1kZXNpZ24tc3lzdGVtL21hZ21hJztcbmltcG9ydCB0eXBlIHsgTWRzUHJlZkxhbmd1YWdlRXZlbnREZXRhaWwgYXMgSU1kc1ByZWZMYW5ndWFnZU1kc1ByZWZMYW5ndWFnZUV2ZW50RGV0YWlsIH0gZnJvbSAnQG1hZ2dpb2xpLWRlc2lnbi1zeXN0ZW0vbWFnbWEnO1xuaW1wb3J0IHR5cGUgeyBNZHNQcmVmQ2hhbmdlRXZlbnREZXRhaWwgYXMgSU1kc1ByZWZMYW5ndWFnZU1kc1ByZWZDaGFuZ2VFdmVudERldGFpbCB9IGZyb20gJ0BtYWdnaW9saS1kZXNpZ24tc3lzdGVtL21hZ21hJztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIE1kc1ByZWZMYW5ndWFnZSBleHRlbmRzIENvbXBvbmVudHMuTWRzUHJlZkxhbmd1YWdlIHtcbiAgLyoqXG4gICAqIEVtaXRzIHdoZW4gdGhlIGNvbXBvbmVudCBjaGFuZ2VzIHRoZSBsYW5ndWFnZSBzZWxlY3RlZCBmcm9tIHRoZSBjbGljayBldmVudCBvZiB0aGUgZHJvcGRvd24gbGlzdCBpdGVtXG4gICAqL1xuICBtZHNQcmVmTGFuZ3VhZ2VDaGFuZ2U6IEV2ZW50RW1pdHRlcjxNZHNQcmVmTGFuZ3VhZ2VDdXN0b21FdmVudDxJTWRzUHJlZkxhbmd1YWdlTWRzUHJlZkxhbmd1YWdlRXZlbnREZXRhaWw+PjtcbiAgLyoqXG4gICAqIEVtaXRzIHdoZW4gdGhlIGNvbXBvbmVudCBpcyB0cmlnZ2VyZWRcbiAgICovXG4gIG1kc1ByZWZDaGFuZ2U6IEV2ZW50RW1pdHRlcjxNZHNQcmVmTGFuZ3VhZ2VDdXN0b21FdmVudDxJTWRzUHJlZkxhbmd1YWdlTWRzUHJlZkNoYW5nZUV2ZW50RGV0YWlsPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2NvZGUnLCAnc2VsZWN0ZWQnXSxcbiAgbWV0aG9kczogWyd1cGRhdGVMYW5nJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtZHMtcHJlZi1sYW5ndWFnZS1pdGVtJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydjb2RlJywgJ3NlbGVjdGVkJ10sXG4gIG91dHB1dHM6IFsnbWRzUHJlZkxhbmd1YWdlSXRlbVNlbGVjdCddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBNZHNQcmVmTGFuZ3VhZ2VJdGVtIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MTWRzUHJlZkxhbmd1YWdlSXRlbUVsZW1lbnQ7XG4gIEBPdXRwdXQoKSBtZHNQcmVmTGFuZ3VhZ2VJdGVtU2VsZWN0ID0gbmV3IEV2ZW50RW1pdHRlcjxNZHNQcmVmTGFuZ3VhZ2VJdGVtQ3VzdG9tRXZlbnQ8SU1kc1ByZWZMYW5ndWFnZUl0ZW1NZHNQcmVmTGFuZ3VhZ2VFdmVudERldGFpbD4+KCk7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBNZHNQcmVmTGFuZ3VhZ2VJdGVtQ3VzdG9tRXZlbnQgfSBmcm9tICdAbWFnZ2lvbGktZGVzaWduLXN5c3RlbS9tYWdtYSc7XG5pbXBvcnQgdHlwZSB7IE1kc1ByZWZMYW5ndWFnZUV2ZW50RGV0YWlsIGFzIElNZHNQcmVmTGFuZ3VhZ2VJdGVtTWRzUHJlZkxhbmd1YWdlRXZlbnREZXRhaWwgfSBmcm9tICdAbWFnZ2lvbGktZGVzaWduLXN5c3RlbS9tYWdtYSc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBNZHNQcmVmTGFuZ3VhZ2VJdGVtIGV4dGVuZHMgQ29tcG9uZW50cy5NZHNQcmVmTGFuZ3VhZ2VJdGVtIHtcbiAgLyoqXG4gICAqIEVtaXRzIHdoZW4gdGhlIGNvbXBvbmVudCB0cmlnZ2VyIHRoZSBsYW5ndWFnZVxuICAgKi9cbiAgbWRzUHJlZkxhbmd1YWdlSXRlbVNlbGVjdDogRXZlbnRFbWl0dGVyPE1kc1ByZWZMYW5ndWFnZUl0ZW1DdXN0b21FdmVudDxJTWRzUHJlZkxhbmd1YWdlSXRlbU1kc1ByZWZMYW5ndWFnZUV2ZW50RGV0YWlsPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ21vZGUnLCAnc2l6ZScsICd0cmFuc2l0aW9uJ10sXG4gIG1ldGhvZHM6IFsndXBkYXRlTGFuZyddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbWRzLXByZWYtdGhlbWUnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ21vZGUnLCAnc2l6ZScsICd0cmFuc2l0aW9uJ10sXG4gIG91dHB1dHM6IFsnbWRzUHJlZkNoYW5nZSddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBNZHNQcmVmVGhlbWUge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxNZHNQcmVmVGhlbWVFbGVtZW50O1xuICBAT3V0cHV0KCkgbWRzUHJlZkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8TWRzUHJlZlRoZW1lQ3VzdG9tRXZlbnQ8SU1kc1ByZWZUaGVtZU1kc1ByZWZDaGFuZ2VFdmVudERldGFpbD4+KCk7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBNZHNQcmVmVGhlbWVDdXN0b21FdmVudCB9IGZyb20gJ0BtYWdnaW9saS1kZXNpZ24tc3lzdGVtL21hZ21hJztcbmltcG9ydCB0eXBlIHsgTWRzUHJlZkNoYW5nZUV2ZW50RGV0YWlsIGFzIElNZHNQcmVmVGhlbWVNZHNQcmVmQ2hhbmdlRXZlbnREZXRhaWwgfSBmcm9tICdAbWFnZ2lvbGktZGVzaWduLXN5c3RlbS9tYWdtYSc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBNZHNQcmVmVGhlbWUgZXh0ZW5kcyBDb21wb25lbnRzLk1kc1ByZWZUaGVtZSB7XG4gIC8qKlxuICAgKiBFbWl0cyB3aGVuIHRoZSBjb21wb25lbnQgaXMgdHJpZ2dlcmVkXG4gICAqL1xuICBtZHNQcmVmQ2hhbmdlOiBFdmVudEVtaXR0ZXI8TWRzUHJlZlRoZW1lQ3VzdG9tRXZlbnQ8SU1kc1ByZWZUaGVtZU1kc1ByZWZDaGFuZ2VFdmVudERldGFpbD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWyduYW1lJywgJ3NjaGVtZScsICdzaXplJ10sXG4gIG1ldGhvZHM6IFsndXBkYXRlTGFuZyddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbWRzLXByZWYtdGhlbWUtdmFyaWFudCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnbmFtZScsICdzY2hlbWUnLCAnc2l6ZSddLFxuICBvdXRwdXRzOiBbJ21kc1ByZWZUaGVtZVZhcmlhbnRDaGFuZ2UnLCAnbWRzUHJlZkNoYW5nZSddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBNZHNQcmVmVGhlbWVWYXJpYW50IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MTWRzUHJlZlRoZW1lVmFyaWFudEVsZW1lbnQ7XG4gIEBPdXRwdXQoKSBtZHNQcmVmVGhlbWVWYXJpYW50Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxNZHNQcmVmVGhlbWVWYXJpYW50Q3VzdG9tRXZlbnQ8SU1kc1ByZWZUaGVtZVZhcmlhbnRNZHNQcmVmVGhlbWVWYXJpYW50RXZlbnREZXRhaWw+PigpO1xuICBAT3V0cHV0KCkgbWRzUHJlZkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8TWRzUHJlZlRoZW1lVmFyaWFudEN1c3RvbUV2ZW50PElNZHNQcmVmVGhlbWVWYXJpYW50TWRzUHJlZkNoYW5nZUV2ZW50RGV0YWlsPj4oKTtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5pbXBvcnQgdHlwZSB7IE1kc1ByZWZUaGVtZVZhcmlhbnRDdXN0b21FdmVudCB9IGZyb20gJ0BtYWdnaW9saS1kZXNpZ24tc3lzdGVtL21hZ21hJztcbmltcG9ydCB0eXBlIHsgTWRzUHJlZlRoZW1lVmFyaWFudEV2ZW50RGV0YWlsIGFzIElNZHNQcmVmVGhlbWVWYXJpYW50TWRzUHJlZlRoZW1lVmFyaWFudEV2ZW50RGV0YWlsIH0gZnJvbSAnQG1hZ2dpb2xpLWRlc2lnbi1zeXN0ZW0vbWFnbWEnO1xuaW1wb3J0IHR5cGUgeyBNZHNQcmVmQ2hhbmdlRXZlbnREZXRhaWwgYXMgSU1kc1ByZWZUaGVtZVZhcmlhbnRNZHNQcmVmQ2hhbmdlRXZlbnREZXRhaWwgfSBmcm9tICdAbWFnZ2lvbGktZGVzaWduLXN5c3RlbS9tYWdtYSc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBNZHNQcmVmVGhlbWVWYXJpYW50IGV4dGVuZHMgQ29tcG9uZW50cy5NZHNQcmVmVGhlbWVWYXJpYW50IHtcbiAgLyoqXG4gICAqIEVtaXRzIHdoZW4gdGhlIGNvbXBvbmVudCBjaGFuZ2VzIHRoZSBsYW5ndWFnZSBzZWxlY3RlZCBmcm9tIHRoZSBjbGljayBldmVudCBvZiB0aGUgZHJvcGRvd24gbGlzdCBpdGVtXG4gICAqL1xuICBtZHNQcmVmVGhlbWVWYXJpYW50Q2hhbmdlOiBFdmVudEVtaXR0ZXI8TWRzUHJlZlRoZW1lVmFyaWFudEN1c3RvbUV2ZW50PElNZHNQcmVmVGhlbWVWYXJpYW50TWRzUHJlZlRoZW1lVmFyaWFudEV2ZW50RGV0YWlsPj47XG4gIC8qKlxuICAgKiBFbWl0cyB3aGVuIHRoZSBjb21wb25lbnQgaXMgdHJpZ2dlcmVkXG4gICAqL1xuICBtZHNQcmVmQ2hhbmdlOiBFdmVudEVtaXR0ZXI8TWRzUHJlZlRoZW1lVmFyaWFudEN1c3RvbUV2ZW50PElNZHNQcmVmVGhlbWVWYXJpYW50TWRzUHJlZkNoYW5nZUV2ZW50RGV0YWlsPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2xhYmVsJywgJ25hbWUnLCAnc2NoZW1lJywgJ3NlbGVjdGVkJ10sXG4gIG1ldGhvZHM6IFsndXBkYXRlTGFuZyddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbWRzLXByZWYtdGhlbWUtdmFyaWFudC1pdGVtJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydsYWJlbCcsICduYW1lJywgJ3NjaGVtZScsICdzZWxlY3RlZCddLFxuICBvdXRwdXRzOiBbJ21kc1ByZWZUaGVtZVZhcmlhbnRJdGVtU2VsZWN0J10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIE1kc1ByZWZUaGVtZVZhcmlhbnRJdGVtIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MTWRzUHJlZlRoZW1lVmFyaWFudEl0ZW1FbGVtZW50O1xuICBAT3V0cHV0KCkgbWRzUHJlZlRoZW1lVmFyaWFudEl0ZW1TZWxlY3QgPSBuZXcgRXZlbnRFbWl0dGVyPE1kc1ByZWZUaGVtZVZhcmlhbnRJdGVtQ3VzdG9tRXZlbnQ8SU1kc1ByZWZUaGVtZVZhcmlhbnRJdGVtTWRzUHJlZlRoZW1lVmFyaWFudEV2ZW50RGV0YWlsPj4oKTtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5pbXBvcnQgdHlwZSB7IE1kc1ByZWZUaGVtZVZhcmlhbnRJdGVtQ3VzdG9tRXZlbnQgfSBmcm9tICdAbWFnZ2lvbGktZGVzaWduLXN5c3RlbS9tYWdtYSc7XG5pbXBvcnQgdHlwZSB7IE1kc1ByZWZUaGVtZVZhcmlhbnRFdmVudERldGFpbCBhcyBJTWRzUHJlZlRoZW1lVmFyaWFudEl0ZW1NZHNQcmVmVGhlbWVWYXJpYW50RXZlbnREZXRhaWwgfSBmcm9tICdAbWFnZ2lvbGktZGVzaWduLXN5c3RlbS9tYWdtYSc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBNZHNQcmVmVGhlbWVWYXJpYW50SXRlbSBleHRlbmRzIENvbXBvbmVudHMuTWRzUHJlZlRoZW1lVmFyaWFudEl0ZW0ge1xuICAvKipcbiAgICogRW1pdHMgd2hlbiB0aGUgY29tcG9uZW50IHRyaWdnZXIgdGhlIGxhbmd1YWdlXG4gICAqL1xuICBtZHNQcmVmVGhlbWVWYXJpYW50SXRlbVNlbGVjdDogRXZlbnRFbWl0dGVyPE1kc1ByZWZUaGVtZVZhcmlhbnRJdGVtQ3VzdG9tRXZlbnQ8SU1kc1ByZWZUaGVtZVZhcmlhbnRJdGVtTWRzUHJlZlRoZW1lVmFyaWFudEV2ZW50RGV0YWlsPj47XG59XG5cblxuQFByb3h5Q21wKHtcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtZHMtcHJpY2UtdGFibGUnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgTWRzUHJpY2VUYWJsZSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTE1kc1ByaWNlVGFibGVFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBNZHNQcmljZVRhYmxlIGV4dGVuZHMgQ29tcG9uZW50cy5NZHNQcmljZVRhYmxlIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2xhYmVsJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtZHMtcHJpY2UtdGFibGUtZmVhdHVyZXMnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2xhYmVsJ10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIE1kc1ByaWNlVGFibGVGZWF0dXJlcyB7XG4gIHByb3RlY3RlZCBlbDogSFRNTE1kc1ByaWNlVGFibGVGZWF0dXJlc0VsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIE1kc1ByaWNlVGFibGVGZWF0dXJlcyBleHRlbmRzIENvbXBvbmVudHMuTWRzUHJpY2VUYWJsZUZlYXR1cmVzIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ3R5cGUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21kcy1wcmljZS10YWJsZS1mZWF0dXJlcy1jZWxsJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWyd0eXBlJ10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIE1kc1ByaWNlVGFibGVGZWF0dXJlc0NlbGwge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxNZHNQcmljZVRhYmxlRmVhdHVyZXNDZWxsRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgTWRzUHJpY2VUYWJsZUZlYXR1cmVzQ2VsbCBleHRlbmRzIENvbXBvbmVudHMuTWRzUHJpY2VUYWJsZUZlYXR1cmVzQ2VsbCB7fVxuXG5cbkBQcm94eUNtcCh7XG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbWRzLXByaWNlLXRhYmxlLWZlYXR1cmVzLXJvdycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFtdLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBNZHNQcmljZVRhYmxlRmVhdHVyZXNSb3cge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxNZHNQcmljZVRhYmxlRmVhdHVyZXNSb3dFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBNZHNQcmljZVRhYmxlRmVhdHVyZXNSb3cgZXh0ZW5kcyBDb21wb25lbnRzLk1kc1ByaWNlVGFibGVGZWF0dXJlc1JvdyB7fVxuXG5cbkBQcm94eUNtcCh7XG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbWRzLXByaWNlLXRhYmxlLWhlYWRlcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFtdLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBNZHNQcmljZVRhYmxlSGVhZGVyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MTWRzUHJpY2VUYWJsZUhlYWRlckVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIE1kc1ByaWNlVGFibGVIZWFkZXIgZXh0ZW5kcyBDb21wb25lbnRzLk1kc1ByaWNlVGFibGVIZWFkZXIge31cblxuXG5AUHJveHlDbXAoe1xufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21kcy1wcmljZS10YWJsZS1saXN0JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogW10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIE1kc1ByaWNlVGFibGVMaXN0IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MTWRzUHJpY2VUYWJsZUxpc3RFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBNZHNQcmljZVRhYmxlTGlzdCBleHRlbmRzIENvbXBvbmVudHMuTWRzUHJpY2VUYWJsZUxpc3Qge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnc3VwcG9ydGVkJywgJ3R5cG9ncmFwaHknXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21kcy1wcmljZS10YWJsZS1saXN0LWl0ZW0nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ3N1cHBvcnRlZCcsICd0eXBvZ3JhcGh5J10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIE1kc1ByaWNlVGFibGVMaXN0SXRlbSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTE1kc1ByaWNlVGFibGVMaXN0SXRlbUVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIE1kc1ByaWNlVGFibGVMaXN0SXRlbSBleHRlbmRzIENvbXBvbmVudHMuTWRzUHJpY2VUYWJsZUxpc3RJdGVtIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2RpcmVjdGlvbicsICdwcm9ncmVzcycsICdzaXplJywgJ3N0ZXBzJywgJ3R5cG9ncmFwaHknLCAndmFyaWFudCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbWRzLXByb2dyZXNzJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydkaXJlY3Rpb24nLCAncHJvZ3Jlc3MnLCAnc2l6ZScsICdzdGVwcycsICd0eXBvZ3JhcGh5JywgJ3ZhcmlhbnQnXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgTWRzUHJvZ3Jlc3Mge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxNZHNQcm9ncmVzc0VsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIE1kc1Byb2dyZXNzIGV4dGVuZHMgQ29tcG9uZW50cy5NZHNQcm9ncmVzcyB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydiZWhhdmlvcicsICd2aXNpYmxlJ10sXG4gIG1ldGhvZHM6IFsnc2hvdycsICdoaWRlJywgJ3JlbW92ZU5vdGlmaWNhdGlvbiddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbWRzLXB1c2gtbm90aWZpY2F0aW9uJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydiZWhhdmlvcicsICd2aXNpYmxlJ10sXG4gIG91dHB1dHM6IFsnbWRzUHVzaE5vdGlmaWNhdGlvbkNoYW5nZScsICdtZHNQdXNoTm90aWZpY2F0aW9uU2hvdycsICdtZHNQdXNoTm90aWZpY2F0aW9uSGlkZSddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBNZHNQdXNoTm90aWZpY2F0aW9uIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MTWRzUHVzaE5vdGlmaWNhdGlvbkVsZW1lbnQ7XG4gIEBPdXRwdXQoKSBtZHNQdXNoTm90aWZpY2F0aW9uQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxNZHNQdXNoTm90aWZpY2F0aW9uQ3VzdG9tRXZlbnQ8SU1kc1B1c2hOb3RpZmljYXRpb25NZHNQdXNoTm90aWZpY2F0aW9uRXZlbnREZXRhaWw+PigpO1xuICBAT3V0cHV0KCkgbWRzUHVzaE5vdGlmaWNhdGlvblNob3cgPSBuZXcgRXZlbnRFbWl0dGVyPE1kc1B1c2hOb3RpZmljYXRpb25DdXN0b21FdmVudDx2b2lkPj4oKTtcbiAgQE91dHB1dCgpIG1kc1B1c2hOb3RpZmljYXRpb25IaWRlID0gbmV3IEV2ZW50RW1pdHRlcjxNZHNQdXNoTm90aWZpY2F0aW9uQ3VzdG9tRXZlbnQ8dm9pZD4+KCk7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBNZHNQdXNoTm90aWZpY2F0aW9uQ3VzdG9tRXZlbnQgfSBmcm9tICdAbWFnZ2lvbGktZGVzaWduLXN5c3RlbS9tYWdtYSc7XG5pbXBvcnQgdHlwZSB7IE1kc1B1c2hOb3RpZmljYXRpb25FdmVudERldGFpbCBhcyBJTWRzUHVzaE5vdGlmaWNhdGlvbk1kc1B1c2hOb3RpZmljYXRpb25FdmVudERldGFpbCB9IGZyb20gJ0BtYWdnaW9saS1kZXNpZ24tc3lzdGVtL21hZ21hJztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIE1kc1B1c2hOb3RpZmljYXRpb24gZXh0ZW5kcyBDb21wb25lbnRzLk1kc1B1c2hOb3RpZmljYXRpb24ge1xuICAvKipcbiAgICogRW1pdHMgd2hlbiB0aGUgY29tcG9uZW50IHZpc2liaWxpdHkgY2hhbmdlc1xuICAgKi9cbiAgbWRzUHVzaE5vdGlmaWNhdGlvbkNoYW5nZTogRXZlbnRFbWl0dGVyPE1kc1B1c2hOb3RpZmljYXRpb25DdXN0b21FdmVudDxJTWRzUHVzaE5vdGlmaWNhdGlvbk1kc1B1c2hOb3RpZmljYXRpb25FdmVudERldGFpbD4+O1xuICAvKipcbiAgICogRW1pdHMgd2hlbiB0aGUgY29tcG9uZW50IGlzIHNob3duXG4gICAqL1xuICBtZHNQdXNoTm90aWZpY2F0aW9uU2hvdzogRXZlbnRFbWl0dGVyPE1kc1B1c2hOb3RpZmljYXRpb25DdXN0b21FdmVudDx2b2lkPj47XG4gIC8qKlxuICAgKiBFbWl0cyB3aGVuIHRoZSBjb21wb25lbnQgaXMgaGlkZGVuXG4gICAqL1xuICBtZHNQdXNoTm90aWZpY2F0aW9uSGlkZTogRXZlbnRFbWl0dGVyPE1kc1B1c2hOb3RpZmljYXRpb25DdXN0b21FdmVudDx2b2lkPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2RhdGVGb3JtYXQnLCAnZGF0ZXRpbWUnLCAnZGVsZXRhYmxlJywgJ2ljb24nLCAnaW5pdGlhbHMnLCAnbWVzc2FnZScsICdwcmV2aWV3JywgJ3NyYycsICdzdWJqZWN0JywgJ3RvbmUnLCAndmFyaWFudCddLFxuICBtZXRob2RzOiBbJ3VwZGF0ZUxhbmcnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21kcy1wdXNoLW5vdGlmaWNhdGlvbi1pdGVtJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydkYXRlRm9ybWF0JywgJ2RhdGV0aW1lJywgJ2RlbGV0YWJsZScsICdpY29uJywgJ2luaXRpYWxzJywgJ21lc3NhZ2UnLCAncHJldmlldycsICdzcmMnLCAnc3ViamVjdCcsICd0b25lJywgJ3ZhcmlhbnQnXSxcbiAgb3V0cHV0czogWydtZHNQdXNoTm90aWZpY2F0aW9uSXRlbUNsb3NlJ10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIE1kc1B1c2hOb3RpZmljYXRpb25JdGVtIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MTWRzUHVzaE5vdGlmaWNhdGlvbkl0ZW1FbGVtZW50O1xuICBAT3V0cHV0KCkgbWRzUHVzaE5vdGlmaWNhdGlvbkl0ZW1DbG9zZSA9IG5ldyBFdmVudEVtaXR0ZXI8TWRzUHVzaE5vdGlmaWNhdGlvbkl0ZW1DdXN0b21FdmVudDxJTWRzUHVzaE5vdGlmaWNhdGlvbkl0ZW1NZHNQdXNoTm90aWZpY2F0aW9uSXRlbUV2ZW50RGV0YWlsPj4oKTtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5pbXBvcnQgdHlwZSB7IE1kc1B1c2hOb3RpZmljYXRpb25JdGVtQ3VzdG9tRXZlbnQgfSBmcm9tICdAbWFnZ2lvbGktZGVzaWduLXN5c3RlbS9tYWdtYSc7XG5pbXBvcnQgdHlwZSB7IE1kc1B1c2hOb3RpZmljYXRpb25JdGVtRXZlbnREZXRhaWwgYXMgSU1kc1B1c2hOb3RpZmljYXRpb25JdGVtTWRzUHVzaE5vdGlmaWNhdGlvbkl0ZW1FdmVudERldGFpbCB9IGZyb20gJ0BtYWdnaW9saS1kZXNpZ24tc3lzdGVtL21hZ21hJztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIE1kc1B1c2hOb3RpZmljYXRpb25JdGVtIGV4dGVuZHMgQ29tcG9uZW50cy5NZHNQdXNoTm90aWZpY2F0aW9uSXRlbSB7XG4gIC8qKlxuICAgKiBFbWl0cyB3aGVuIHRoZSBjb21wb25lbnQgaXMgY2xvc2VkXG4gICAqL1xuICBtZHNQdXNoTm90aWZpY2F0aW9uSXRlbUNsb3NlOiBFdmVudEVtaXR0ZXI8TWRzUHVzaE5vdGlmaWNhdGlvbkl0ZW1DdXN0b21FdmVudDxJTWRzUHVzaE5vdGlmaWNhdGlvbkl0ZW1NZHNQdXNoTm90aWZpY2F0aW9uSXRlbUV2ZW50RGV0YWlsPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ3RhZycsICd0eXBvZ3JhcGh5J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtZHMtcXVvdGUnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ3RhZycsICd0eXBvZ3JhcGh5J10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIE1kc1F1b3RlIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MTWRzUXVvdGVFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBNZHNRdW90ZSBleHRlbmRzIENvbXBvbmVudHMuTWRzUXVvdGUge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYW5nbGVFbmQnLCAnYW5nbGVTdGFydCcsICdiYWNrZHJvcCcsICdkaXJlY3Rpb24nLCAnZGlzYycsICdpY29uJywgJ2ludGVyYWN0aW9uJywgJ29wZW5lZCcsICdyYWRpdXMnLCAnc2l6ZScsICd0b25lJywgJ3ZhcmlhbnQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21kcy1yYWRpYWwtbWVudScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYW5nbGVFbmQnLCAnYW5nbGVTdGFydCcsICdiYWNrZHJvcCcsICdkaXJlY3Rpb24nLCAnZGlzYycsICdpY29uJywgJ2ludGVyYWN0aW9uJywgJ29wZW5lZCcsICdyYWRpdXMnLCAnc2l6ZScsICd0b25lJywgJ3ZhcmlhbnQnXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgTWRzUmFkaWFsTWVudSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTE1kc1JhZGlhbE1lbnVFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBNZHNSYWRpYWxNZW51IGV4dGVuZHMgQ29tcG9uZW50cy5NZHNSYWRpYWxNZW51IHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2ljb24nLCAnc2l6ZScsICd0b25lJywgJ3Rvb2x0aXAnLCAndmFyaWFudCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbWRzLXJhZGlhbC1tZW51LWl0ZW0nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2ljb24nLCAnc2l6ZScsICd0b25lJywgJ3Rvb2x0aXAnLCAndmFyaWFudCddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBNZHNSYWRpYWxNZW51SXRlbSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTE1kc1JhZGlhbE1lbnVJdGVtRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgTWRzUmFkaWFsTWVudUl0ZW0gZXh0ZW5kcyBDb21wb25lbnRzLk1kc1JhZGlhbE1lbnVJdGVtIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2ljb24nLCAncHJvZ3Jlc3MnLCAndHlwb2dyYXBoeScsICd2YXJpYW50J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtZHMtcmFkaWFsLXByb2dyZXNzJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydpY29uJywgJ3Byb2dyZXNzJywgJ3R5cG9ncmFwaHknLCAndmFyaWFudCddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBNZHNSYWRpYWxQcm9ncmVzcyB7XG4gIHByb3RlY3RlZCBlbDogSFRNTE1kc1JhZGlhbFByb2dyZXNzRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgTWRzUmFkaWFsUHJvZ3Jlc3MgZXh0ZW5kcyBDb21wb25lbnRzLk1kc1JhZGlhbFByb2dyZXNzIHt9XG5cblxuQFByb3h5Q21wKHtcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtZHMtc2VwYXJhdG9yJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogW10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIE1kc1NlcGFyYXRvciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTE1kc1NlcGFyYXRvckVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIE1kc1NlcGFyYXRvciBleHRlbmRzIENvbXBvbmVudHMuTWRzU2VwYXJhdG9yIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ3J1bm5pbmcnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21kcy1zcGlubmVyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydydW5uaW5nJ10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIE1kc1NwaW5uZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxNZHNTcGlubmVyRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgTWRzU3Bpbm5lciBleHRlbmRzIENvbXBvbmVudHMuTWRzU3Bpbm5lciB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydkZXNjcmlwdGlvbicsICdvdmVyZmxvdycsICdwb3NpdGlvbicsICd2aXNpYmxlJ10sXG4gIG1ldGhvZHM6IFsnaGlkZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbWRzLXN0YXR1cy1iYXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2Rlc2NyaXB0aW9uJywgJ292ZXJmbG93JywgJ3Bvc2l0aW9uJywgJ3Zpc2libGUnXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgTWRzU3RhdHVzQmFyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MTWRzU3RhdHVzQmFyRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgTWRzU3RhdHVzQmFyIGV4dGVuZHMgQ29tcG9uZW50cy5NZHNTdGF0dXNCYXIge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnaXRlbXNEb25lJywgJ25hdmlnYXRpb24nXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21kcy1zdGVwcGVyLWJhcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnaXRlbXNEb25lJywgJ25hdmlnYXRpb24nXSxcbiAgb3V0cHV0czogWydtZHNTdGVwcGVyQmFyQ2hhbmdlJ10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIE1kc1N0ZXBwZXJCYXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxNZHNTdGVwcGVyQmFyRWxlbWVudDtcbiAgQE91dHB1dCgpIG1kc1N0ZXBwZXJCYXJDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPE1kc1N0ZXBwZXJCYXJDdXN0b21FdmVudDxJTWRzU3RlcHBlckJhck1kc1N0ZXBwZXJCYXJFdmVudERldGFpbD4+KCk7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBNZHNTdGVwcGVyQmFyQ3VzdG9tRXZlbnQgfSBmcm9tICdAbWFnZ2lvbGktZGVzaWduLXN5c3RlbS9tYWdtYSc7XG5pbXBvcnQgdHlwZSB7IE1kc1N0ZXBwZXJCYXJFdmVudERldGFpbCBhcyBJTWRzU3RlcHBlckJhck1kc1N0ZXBwZXJCYXJFdmVudERldGFpbCB9IGZyb20gJ0BtYWdnaW9saS1kZXNpZ24tc3lzdGVtL21hZ21hJztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIE1kc1N0ZXBwZXJCYXIgZXh0ZW5kcyBDb21wb25lbnRzLk1kc1N0ZXBwZXJCYXIge1xuICAvKipcbiAgICogRW1pdHMgd2hlbiBhIHN0ZXAgaXMgY2hhbmdlZFxuICAgKi9cbiAgbWRzU3RlcHBlckJhckNoYW5nZTogRXZlbnRFbWl0dGVyPE1kc1N0ZXBwZXJCYXJDdXN0b21FdmVudDxJTWRzU3RlcHBlckJhck1kc1N0ZXBwZXJCYXJFdmVudERldGFpbD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydiYWRnZScsICdjdXJyZW50JywgJ2RvbmUnLCAnaWNvbicsICdpY29uQ2hlY2tlZCcsICdsYWJlbCcsICdzdGVwJywgJ3R5cG9ncmFwaHknLCAndmFsdWUnXSxcbiAgbWV0aG9kczogWyd1cGRhdGVMYW5nJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtZHMtc3RlcHBlci1iYXItaXRlbScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYmFkZ2UnLCAnY3VycmVudCcsICdkb25lJywgeyBuYW1lOiAnaWNvbicsIHJlcXVpcmVkOiB0cnVlIH0sICdpY29uQ2hlY2tlZCcsIHsgbmFtZTogJ2xhYmVsJywgcmVxdWlyZWQ6IHRydWUgfSwgJ3N0ZXAnLCAndHlwb2dyYXBoeScsICd2YWx1ZSddLFxuICBvdXRwdXRzOiBbJ21kc1N0ZXBwZXJCYXJJdGVtRG9uZSddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBNZHNTdGVwcGVyQmFySXRlbSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTE1kc1N0ZXBwZXJCYXJJdGVtRWxlbWVudDtcbiAgQE91dHB1dCgpIG1kc1N0ZXBwZXJCYXJJdGVtRG9uZSA9IG5ldyBFdmVudEVtaXR0ZXI8TWRzU3RlcHBlckJhckl0ZW1DdXN0b21FdmVudDxJTWRzU3RlcHBlckJhckl0ZW1NZHNTdGVwcGVyQmFySXRlbUV2ZW50RGV0YWlsPj4oKTtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5pbXBvcnQgdHlwZSB7IE1kc1N0ZXBwZXJCYXJJdGVtQ3VzdG9tRXZlbnQgfSBmcm9tICdAbWFnZ2lvbGktZGVzaWduLXN5c3RlbS9tYWdtYSc7XG5pbXBvcnQgdHlwZSB7IE1kc1N0ZXBwZXJCYXJJdGVtRXZlbnREZXRhaWwgYXMgSU1kc1N0ZXBwZXJCYXJJdGVtTWRzU3RlcHBlckJhckl0ZW1FdmVudERldGFpbCB9IGZyb20gJ0BtYWdnaW9saS1kZXNpZ24tc3lzdGVtL21hZ21hJztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIE1kc1N0ZXBwZXJCYXJJdGVtIGV4dGVuZHMgQ29tcG9uZW50cy5NZHNTdGVwcGVyQmFySXRlbSB7XG4gIC8qKlxuICAgKiBFbWl0cyB3aGVuIHRoZSBhY2NvcmRpb24gaXMgc2VsZWN0ZWRcbiAgICovXG4gIG1kc1N0ZXBwZXJCYXJJdGVtRG9uZTogRXZlbnRFbWl0dGVyPE1kc1N0ZXBwZXJCYXJJdGVtQ3VzdG9tRXZlbnQ8SU1kc1N0ZXBwZXJCYXJJdGVtTWRzU3RlcHBlckJhckl0ZW1FdmVudERldGFpbD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhbmltYXRpb24nLCAnZGlyZWN0aW9uJywgJ2ZpbGwnLCAnb3ZlcmZsb3cnLCAnc2Nyb2xsYmFyJywgJ3NpemUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21kcy10YWInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FuaW1hdGlvbicsICdkaXJlY3Rpb24nLCAnZmlsbCcsICdvdmVyZmxvdycsICdzY3JvbGxiYXInLCAnc2l6ZSddLFxuICBvdXRwdXRzOiBbJ21kc1RhYkNoYW5nZSddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBNZHNUYWIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxNZHNUYWJFbGVtZW50O1xuICBAT3V0cHV0KCkgbWRzVGFiQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxNZHNUYWJDdXN0b21FdmVudDxJTWRzVGFiTWRzVGFiRXZlbnREZXRhaWw+PigpO1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgTWRzVGFiQ3VzdG9tRXZlbnQgfSBmcm9tICdAbWFnZ2lvbGktZGVzaWduLXN5c3RlbS9tYWdtYSc7XG5pbXBvcnQgdHlwZSB7IE1kc1RhYkV2ZW50RGV0YWlsIGFzIElNZHNUYWJNZHNUYWJFdmVudERldGFpbCB9IGZyb20gJ0BtYWdnaW9saS1kZXNpZ24tc3lzdGVtL21hZ21hJztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIE1kc1RhYiBleHRlbmRzIENvbXBvbmVudHMuTWRzVGFiIHtcbiAgLyoqXG4gICAqIEVtaXRzIHdoZW4gYSBjaGlsZHJlbiBpcyBjaGFuZ2VkXG4gICAqL1xuICBtZHNUYWJDaGFuZ2U6IEV2ZW50RW1pdHRlcjxNZHNUYWJDdXN0b21FdmVudDxJTWRzVGFiTWRzVGFiRXZlbnREZXRhaWw+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21kcy10YWItYmFyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogW10sXG4gIG91dHB1dHM6IFsnbWRzVGFiQmFyQ2hhbmdlJ10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIE1kc1RhYkJhciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTE1kc1RhYkJhckVsZW1lbnQ7XG4gIEBPdXRwdXQoKSBtZHNUYWJCYXJDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPE1kc1RhYkJhckN1c3RvbUV2ZW50PElNZHNUYWJCYXJNZHNUYWJCYXJFdmVudERldGFpbD4+KCk7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBNZHNUYWJCYXJDdXN0b21FdmVudCB9IGZyb20gJ0BtYWdnaW9saS1kZXNpZ24tc3lzdGVtL21hZ21hJztcbmltcG9ydCB0eXBlIHsgTWRzVGFiQmFyRXZlbnREZXRhaWwgYXMgSU1kc1RhYkJhck1kc1RhYkJhckV2ZW50RGV0YWlsIH0gZnJvbSAnQG1hZ2dpb2xpLWRlc2lnbi1zeXN0ZW0vbWFnbWEnO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgTWRzVGFiQmFyIGV4dGVuZHMgQ29tcG9uZW50cy5NZHNUYWJCYXIge1xuICAvKipcbiAgICogRW1pdHMgd2hlbiBhIHN0ZXAgaXMgY2hhbmdlZFxuICAgKi9cbiAgbWRzVGFiQmFyQ2hhbmdlOiBFdmVudEVtaXR0ZXI8TWRzVGFiQmFyQ3VzdG9tRXZlbnQ8SU1kc1RhYkJhck1kc1RhYkJhckV2ZW50RGV0YWlsPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2ljb24nLCAnbGFiZWwnLCAnc2VsZWN0ZWQnLCAndHlwb2dyYXBoeSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbWRzLXRhYi1iYXItaXRlbScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnaWNvbicsICdsYWJlbCcsICdzZWxlY3RlZCcsICd0eXBvZ3JhcGh5J10sXG4gIG91dHB1dHM6IFsnbWRzVGFiQmFySXRlbVNlbGVjdCddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBNZHNUYWJCYXJJdGVtIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MTWRzVGFiQmFySXRlbUVsZW1lbnQ7XG4gIEBPdXRwdXQoKSBtZHNUYWJCYXJJdGVtU2VsZWN0ID0gbmV3IEV2ZW50RW1pdHRlcjxNZHNUYWJCYXJJdGVtQ3VzdG9tRXZlbnQ8c3RyaW5nPj4oKTtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5pbXBvcnQgdHlwZSB7IE1kc1RhYkJhckl0ZW1DdXN0b21FdmVudCB9IGZyb20gJ0BtYWdnaW9saS1kZXNpZ24tc3lzdGVtL21hZ21hJztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIE1kc1RhYkJhckl0ZW0gZXh0ZW5kcyBDb21wb25lbnRzLk1kc1RhYkJhckl0ZW0ge1xuICAvKipcbiAgICogRW1pdHMgd2hlbiB0aGUgY29tcG9uZW50IGlzIHNlbGVjdGVkXG4gICAqL1xuICBtZHNUYWJCYXJJdGVtU2VsZWN0OiBFdmVudEVtaXR0ZXI8TWRzVGFiQmFySXRlbUN1c3RvbUV2ZW50PHN0cmluZz4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhd2FpdCcsICdkaXNhYmxlZCcsICdocmVmJywgJ2ljb24nLCAnaWNvblBvc2l0aW9uJywgJ2xhYmVsJywgJ3NlbGVjdGVkJywgJ3NpemUnLCAndHlwZScsICd2YWx1ZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbWRzLXRhYi1pdGVtJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhd2FpdCcsICdkaXNhYmxlZCcsICdocmVmJywgJ2ljb24nLCAnaWNvblBvc2l0aW9uJywgJ2xhYmVsJywgJ3NlbGVjdGVkJywgJ3NpemUnLCAndHlwZScsICd2YWx1ZSddLFxuICBvdXRwdXRzOiBbJ21kc1RhYkl0ZW1TZWxlY3QnLCAnbWRzVGFiSXRlbUZvY3VzJ10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIE1kc1RhYkl0ZW0ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxNZHNUYWJJdGVtRWxlbWVudDtcbiAgQE91dHB1dCgpIG1kc1RhYkl0ZW1TZWxlY3QgPSBuZXcgRXZlbnRFbWl0dGVyPE1kc1RhYkl0ZW1DdXN0b21FdmVudDxJTWRzVGFiSXRlbU1kc1RhYkl0ZW1FdmVudERldGFpbD4+KCk7XG4gIEBPdXRwdXQoKSBtZHNUYWJJdGVtRm9jdXMgPSBuZXcgRXZlbnRFbWl0dGVyPE1kc1RhYkl0ZW1DdXN0b21FdmVudDxJTWRzVGFiSXRlbU1kc1RhYkl0ZW1FdmVudERldGFpbD4+KCk7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBNZHNUYWJJdGVtQ3VzdG9tRXZlbnQgfSBmcm9tICdAbWFnZ2lvbGktZGVzaWduLXN5c3RlbS9tYWdtYSc7XG5pbXBvcnQgdHlwZSB7IE1kc1RhYkl0ZW1FdmVudERldGFpbCBhcyBJTWRzVGFiSXRlbU1kc1RhYkl0ZW1FdmVudERldGFpbCB9IGZyb20gJ0BtYWdnaW9saS1kZXNpZ24tc3lzdGVtL21hZ21hJztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIE1kc1RhYkl0ZW0gZXh0ZW5kcyBDb21wb25lbnRzLk1kc1RhYkl0ZW0ge1xuICAvKipcbiAgICogRW1pdHMgd2hlbiB0aGUgdGFiIGl0ZW0gaXMgc2VsZWN0ZWRcbiAgICovXG4gIG1kc1RhYkl0ZW1TZWxlY3Q6IEV2ZW50RW1pdHRlcjxNZHNUYWJJdGVtQ3VzdG9tRXZlbnQ8SU1kc1RhYkl0ZW1NZHNUYWJJdGVtRXZlbnREZXRhaWw+PjtcbiAgLyoqXG4gICAqIEVtaXRzIHdoZW4gdGhlIHRhYiBpdGVtIGlzIHNlbGVjdGVkXG4gICAqL1xuICBtZHNUYWJJdGVtRm9jdXM6IEV2ZW50RW1pdHRlcjxNZHNUYWJJdGVtQ3VzdG9tRXZlbnQ8SU1kc1RhYkl0ZW1NZHNUYWJJdGVtRXZlbnREZXRhaWw+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnaW50ZXJhY3RpdmUnLCAnc2VsZWN0YWJsZScsICdzZWxlY3Rpb24nXSxcbiAgbWV0aG9kczogWyd1cGRhdGVTZWxlY3Rpb24nLCAnc2VsZWN0QWxsJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtZHMtdGFibGUnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2ludGVyYWN0aXZlJywgJ3NlbGVjdGFibGUnLCAnc2VsZWN0aW9uJ10sXG4gIG91dHB1dHM6IFsnbWRzVGFibGVTZWxlY3Rpb25DaGFuZ2UnXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgTWRzVGFibGUge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxNZHNUYWJsZUVsZW1lbnQ7XG4gIEBPdXRwdXQoKSBtZHNUYWJsZVNlbGVjdGlvbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8TWRzVGFibGVDdXN0b21FdmVudDxJTWRzVGFibGVNZHNUYWJsZVNlbGVjdGlvbkV2ZW50RGV0YWlsPj4oKTtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5pbXBvcnQgdHlwZSB7IE1kc1RhYmxlQ3VzdG9tRXZlbnQgfSBmcm9tICdAbWFnZ2lvbGktZGVzaWduLXN5c3RlbS9tYWdtYSc7XG5pbXBvcnQgdHlwZSB7IE1kc1RhYmxlU2VsZWN0aW9uRXZlbnREZXRhaWwgYXMgSU1kc1RhYmxlTWRzVGFibGVTZWxlY3Rpb25FdmVudERldGFpbCB9IGZyb20gJ0BtYWdnaW9saS1kZXNpZ24tc3lzdGVtL21hZ21hJztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIE1kc1RhYmxlIGV4dGVuZHMgQ29tcG9uZW50cy5NZHNUYWJsZSB7XG4gIC8qKlxuICAgKiBEaXNwYXRjZXMgd2hlbiBpbnRlcmFjdGl2ZSBwcm9wZXJ0eSBjaGFuZ2VzXG4gICAqL1xuICBtZHNUYWJsZVNlbGVjdGlvbkNoYW5nZTogRXZlbnRFbWl0dGVyPE1kc1RhYmxlQ3VzdG9tRXZlbnQ8SU1kc1RhYmxlTWRzVGFibGVTZWxlY3Rpb25FdmVudERldGFpbD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydpbnRlcmFjdGl2ZScsICdzZWxlY3Rpb24nXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21kcy10YWJsZS1ib2R5JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydpbnRlcmFjdGl2ZScsICdzZWxlY3Rpb24nXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgTWRzVGFibGVCb2R5IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MTWRzVGFibGVCb2R5RWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgTWRzVGFibGVCb2R5IGV4dGVuZHMgQ29tcG9uZW50cy5NZHNUYWJsZUJvZHkge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsndmFsdWUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21kcy10YWJsZS1jZWxsJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWyd2YWx1ZSddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBNZHNUYWJsZUNlbGwge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxNZHNUYWJsZUNlbGxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBNZHNUYWJsZUNlbGwgZXh0ZW5kcyBDb21wb25lbnRzLk1kc1RhYmxlQ2VsbCB7fVxuXG5cbkBQcm94eUNtcCh7XG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbWRzLXRhYmxlLWZvb3RlcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFtdLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBNZHNUYWJsZUZvb3RlciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTE1kc1RhYmxlRm9vdGVyRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgTWRzVGFibGVGb290ZXIgZXh0ZW5kcyBDb21wb25lbnRzLk1kc1RhYmxlRm9vdGVyIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ3NlbGVjdGFibGUnXSxcbiAgbWV0aG9kczogWyd1cGRhdGVMYW5nJywgJ3NldFNlbGVjdGlvbiddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbWRzLXRhYmxlLWhlYWRlcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnc2VsZWN0YWJsZSddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBNZHNUYWJsZUhlYWRlciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTE1kc1RhYmxlSGVhZGVyRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgTWRzVGFibGVIZWFkZXIgZXh0ZW5kcyBDb21wb25lbnRzLk1kc1RhYmxlSGVhZGVyIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2RpcmVjdGlvbicsICdsYWJlbCcsICdzb3J0YWJsZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbWRzLXRhYmxlLWhlYWRlci1jZWxsJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydkaXJlY3Rpb24nLCAnbGFiZWwnLCAnc29ydGFibGUnXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgTWRzVGFibGVIZWFkZXJDZWxsIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MTWRzVGFibGVIZWFkZXJDZWxsRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgTWRzVGFibGVIZWFkZXJDZWxsIGV4dGVuZHMgQ29tcG9uZW50cy5NZHNUYWJsZUhlYWRlckNlbGwge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnaW50ZXJhY3RpdmUnLCAnb3ZlcmxheUFjdGlvbnMnLCAnc2VsZWN0YWJsZScsICdzZWxlY3RlZCcsICd2YWx1ZSddLFxuICBtZXRob2RzOiBbJ3VwZGF0ZUxhbmcnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21kcy10YWJsZS1yb3cnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2ludGVyYWN0aXZlJywgJ292ZXJsYXlBY3Rpb25zJywgJ3NlbGVjdGFibGUnLCAnc2VsZWN0ZWQnLCAndmFsdWUnXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgTWRzVGFibGVSb3cge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxNZHNUYWJsZVJvd0VsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIE1kc1RhYmxlUm93IGV4dGVuZHMgQ29tcG9uZW50cy5NZHNUYWJsZVJvdyB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhbmltYXRpb24nLCAndGFnJywgJ3RleHQnLCAndHJ1bmNhdGUnLCAndHlwb2dyYXBoeScsICd2YXJpYW50J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtZHMtdGV4dCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYW5pbWF0aW9uJywgJ3RhZycsICd0ZXh0JywgJ3RydW5jYXRlJywgJ3R5cG9ncmFwaHknLCAndmFyaWFudCddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBNZHNUZXh0IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MTWRzVGV4dEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIE1kc1RleHQgZXh0ZW5kcyBDb21wb25lbnRzLk1kc1RleHQge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnZHVyYXRpb24nLCAncG9zaXRpb24nLCAndG9uZScsICd2YXJpYW50JywgJ3Zpc2libGUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21kcy10b2FzdCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnZHVyYXRpb24nLCAncG9zaXRpb24nLCAndG9uZScsICd2YXJpYW50JywgJ3Zpc2libGUnXSxcbiAgb3V0cHV0czogWydtZHNUb2FzdENsb3NlJ10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIE1kc1RvYXN0IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MTWRzVG9hc3RFbGVtZW50O1xuICBAT3V0cHV0KCkgbWRzVG9hc3RDbG9zZSA9IG5ldyBFdmVudEVtaXR0ZXI8TWRzVG9hc3RDdXN0b21FdmVudDx2b2lkPj4oKTtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5pbXBvcnQgdHlwZSB7IE1kc1RvYXN0Q3VzdG9tRXZlbnQgfSBmcm9tICdAbWFnZ2lvbGktZGVzaWduLXN5c3RlbS9tYWdtYSc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBNZHNUb2FzdCBleHRlbmRzIENvbXBvbmVudHMuTWRzVG9hc3Qge1xuICAvKipcbiAgICogRW1pdHMgd2hlbiB0aGUgYWNjb3JkaW9uIGlzIG9wZW5lZFxuICAgKi9cbiAgbWRzVG9hc3RDbG9zZTogRXZlbnRFbWl0dGVyPE1kc1RvYXN0Q3VzdG9tRXZlbnQ8dm9pZD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhdXRvUGxhY2VtZW50JywgJ2ZsaXAnLCAnb2Zmc2V0JywgJ3BsYWNlbWVudCcsICdzaGlmdCcsICdzaGlmdFBhZGRpbmcnLCAnc3RyYXRlZ3knLCAndGFyZ2V0JywgJ3R5cG9ncmFwaHknLCAndmlzaWJsZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbWRzLXRvb2x0aXAnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2F1dG9QbGFjZW1lbnQnLCAnZmxpcCcsICdvZmZzZXQnLCAncGxhY2VtZW50JywgJ3NoaWZ0JywgJ3NoaWZ0UGFkZGluZycsICdzdHJhdGVneScsIHsgbmFtZTogJ3RhcmdldCcsIHJlcXVpcmVkOiB0cnVlIH0sICd0eXBvZ3JhcGh5JywgJ3Zpc2libGUnXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgTWRzVG9vbHRpcCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTE1kc1Rvb2x0aXBFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBNZHNUb29sdGlwIGV4dGVuZHMgQ29tcG9uZW50cy5NZHNUb29sdGlwIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FjdGlvbnMnLCAnYXBwZWFyYW5jZScsICdhc3luYycsICdleHBhbmRlZCcsICdsYWJlbCcsICd0b2dnbGUnLCAndG9nZ2xlUG9zaXRpb24nLCAndHJ1bmNhdGUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21kcy10cmVlJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhY3Rpb25zJywgJ2FwcGVhcmFuY2UnLCAnYXN5bmMnLCAnZXhwYW5kZWQnLCAnbGFiZWwnLCAndG9nZ2xlJywgJ3RvZ2dsZVBvc2l0aW9uJywgJ3RydW5jYXRlJ10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIE1kc1RyZWUge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxNZHNUcmVlRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgTWRzVHJlZSBleHRlbmRzIENvbXBvbmVudHMuTWRzVHJlZSB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhY3Rpb25zJywgJ2FzeW5jJywgJ2RlcHRoJywgJ2V4cGFuZGVkJywgJ2ljb24nLCAnbGFiZWwnLCAndG9nZ2xlJywgJ3RydW5jYXRlJ10sXG4gIG1ldGhvZHM6IFsndXBkYXRlTGFuZycsICdleHBhbmQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21kcy10cmVlLWl0ZW0nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FjdGlvbnMnLCAnYXN5bmMnLCAnZGVwdGgnLCAnZXhwYW5kZWQnLCAnaWNvbicsICdsYWJlbCcsICd0b2dnbGUnLCAndHJ1bmNhdGUnXSxcbiAgb3V0cHV0czogWydtZHNUcmVlSXRlbUV4cGFuZCcsICdtZHNUcmVlSXRlbUNvbGxhcHNlJ10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIE1kc1RyZWVJdGVtIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MTWRzVHJlZUl0ZW1FbGVtZW50O1xuICBAT3V0cHV0KCkgbWRzVHJlZUl0ZW1FeHBhbmQgPSBuZXcgRXZlbnRFbWl0dGVyPE1kc1RyZWVJdGVtQ3VzdG9tRXZlbnQ8SU1kc1RyZWVJdGVtTWRzVHJlZUl0ZW1FdmVudERldGFpbD4+KCk7XG4gIEBPdXRwdXQoKSBtZHNUcmVlSXRlbUNvbGxhcHNlID0gbmV3IEV2ZW50RW1pdHRlcjxNZHNUcmVlSXRlbUN1c3RvbUV2ZW50PElNZHNUcmVlSXRlbU1kc1RyZWVJdGVtRXZlbnREZXRhaWw+PigpO1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgTWRzVHJlZUl0ZW1DdXN0b21FdmVudCB9IGZyb20gJ0BtYWdnaW9saS1kZXNpZ24tc3lzdGVtL21hZ21hJztcbmltcG9ydCB0eXBlIHsgTWRzVHJlZUl0ZW1FdmVudERldGFpbCBhcyBJTWRzVHJlZUl0ZW1NZHNUcmVlSXRlbUV2ZW50RGV0YWlsIH0gZnJvbSAnQG1hZ2dpb2xpLWRlc2lnbi1zeXN0ZW0vbWFnbWEnO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgTWRzVHJlZUl0ZW0gZXh0ZW5kcyBDb21wb25lbnRzLk1kc1RyZWVJdGVtIHtcbiAgLyoqXG4gICAqIEVtaXRzIHdoZW4gdGhlIGNvbXBvbmVudCBleHBhbmQgaXQncyBjaGlsZHJlbiBjb250YWluZXJcbiAgICovXG4gIG1kc1RyZWVJdGVtRXhwYW5kOiBFdmVudEVtaXR0ZXI8TWRzVHJlZUl0ZW1DdXN0b21FdmVudDxJTWRzVHJlZUl0ZW1NZHNUcmVlSXRlbUV2ZW50RGV0YWlsPj47XG4gIC8qKlxuICAgKiBFbWl0cyB3aGVuIHRoZSBjb21wb25lbnQgYXR0cmlidXRlIHNlbGVjdGVkIGlzIGNoYW5nZWRcbiAgICovXG4gIG1kc1RyZWVJdGVtQ29sbGFwc2U6IEV2ZW50RW1pdHRlcjxNZHNUcmVlSXRlbUN1c3RvbUV2ZW50PElNZHNUcmVlSXRlbU1kc1RyZWVJdGVtRXZlbnREZXRhaWw+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnaWNvbicsICdsYWJlbCcsICdsb2FkaW5nJywgJ3NyYyddLFxuICBtZXRob2RzOiBbJ3VwZGF0ZUxhbmcnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21kcy11cmwtdmlldycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnaWNvbicsICdsYWJlbCcsICdsb2FkaW5nJywgeyBuYW1lOiAnc3JjJywgcmVxdWlyZWQ6IHRydWUgfV0sXG4gIG91dHB1dHM6IFsnbWRzVXJsVmlld0Nsb3NlJ10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIE1kc1VybFZpZXcge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxNZHNVcmxWaWV3RWxlbWVudDtcbiAgQE91dHB1dCgpIG1kc1VybFZpZXdDbG9zZSA9IG5ldyBFdmVudEVtaXR0ZXI8TWRzVXJsVmlld0N1c3RvbUV2ZW50PHZvaWQ+PigpO1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgTWRzVXJsVmlld0N1c3RvbUV2ZW50IH0gZnJvbSAnQG1hZ2dpb2xpLWRlc2lnbi1zeXN0ZW0vbWFnbWEnO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgTWRzVXJsVmlldyBleHRlbmRzIENvbXBvbmVudHMuTWRzVXJsVmlldyB7XG4gIC8qKlxuICAgKiBFbWl0cyB3aGVuIHRoZSBjbG9zZSBidXR0b24gaXMgY2xpY2tlZFxuICAgKi9cbiAgbWRzVXJsVmlld0Nsb3NlOiBFdmVudEVtaXR0ZXI8TWRzVXJsVmlld0N1c3RvbUV2ZW50PHZvaWQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYWxpYXMnLCAndmFyaWFudCddLFxuICBtZXRob2RzOiBbJ3VwZGF0ZUxhbmcnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21kcy11c2FnZScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYWxpYXMnLCAndmFyaWFudCddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBNZHNVc2FnZSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTE1kc1VzYWdlRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgTWRzVXNhZ2UgZXh0ZW5kcyBDb21wb25lbnRzLk1kc1VzYWdlIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2F1dG9wbGF5JywgJ2xvb3AnLCAnbXV0ZWQnLCAnbm9pc2UnLCAncG9zdGVyJywgJ3ByZWxvYWQnLCAnc3JjJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtZHMtdmlkZW8td2FsbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYXV0b3BsYXknLCAnbG9vcCcsICdtdXRlZCcsICdub2lzZScsICdwb3N0ZXInLCAncHJlbG9hZCcsICdzcmMnXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgTWRzVmlkZW9XYWxsIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MTWRzVmlkZW9XYWxsRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgTWRzVmlkZW9XYWxsIGV4dGVuZHMgQ29tcG9uZW50cy5NZHNWaWRlb1dhbGwge31cblxuXG5AUHJveHlDbXAoe1xufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21kcy16ZXJvJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogW10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIE1kc1plcm8ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxNZHNaZXJvRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgTWRzWmVybyBleHRlbmRzIENvbXBvbmVudHMuTWRzWmVybyB7fVxuXG5cbiJdfQ==
|