@one-paragon/angular-utilities 0.3.1 → 0.3.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/action-state/action-state-spinner/action-state-spinner.component.mjs +7 -8
- package/esm2022/action-state/action-state-ui/action-state-ui.module.mjs +6 -7
- package/esm2022/action-state/ngrx-ext/ngrx-ext.module.mjs +6 -7
- package/esm2022/http-request-state/HttpRequestStateFactory.mjs +6 -7
- package/esm2022/http-request-state/HttpRequestStateStore.mjs +6 -7
- package/esm2022/http-request-state/directives/HttpStateDirectiveBase.mjs +6 -7
- package/esm2022/http-request-state/directives/http-error-state-directive.mjs +6 -7
- package/esm2022/http-request-state/directives/http-inProgress-state-directive.mjs +6 -7
- package/esm2022/http-request-state/directives/http-notStarted-state-directive.mjs +6 -7
- package/esm2022/http-request-state/directives/http-success-state-directive.mjs +6 -7
- package/esm2022/http-request-state/directives/request-state-directive.mjs +6 -7
- package/esm2022/http-request-state/http-state-module.mjs +6 -7
- package/esm2022/table-builder/classes/filter-info.mjs +1 -1
- package/esm2022/table-builder/classes/table-store.mjs +7 -8
- package/esm2022/table-builder/components/array-column.component.mjs +42 -35
- package/esm2022/table-builder/components/column-builder/column-builder.component.mjs +11 -11
- package/esm2022/table-builder/components/date-filter/date-filter.component.mjs +7 -9
- package/esm2022/table-builder/components/date-time-filter/date-time-filter.component.mjs +7 -9
- package/esm2022/table-builder/components/filter/filter.component.mjs +11 -13
- package/esm2022/table-builder/components/filter/in-list/in-list-filter.component.mjs +25 -20
- package/esm2022/table-builder/components/gen-col-displayer/gen-col-displayer.component.mjs +9 -10
- package/esm2022/table-builder/components/generic-table/generic-table.component.mjs +9 -10
- package/esm2022/table-builder/components/generic-table/paginator.component.mjs +19 -16
- package/esm2022/table-builder/components/group-by-list/group-by-list.component.mjs +7 -9
- package/esm2022/table-builder/components/header-menu/header-menu.component.mjs +9 -10
- package/esm2022/table-builder/components/in-filter/in-filter.component.mjs +9 -11
- package/esm2022/table-builder/components/initialization-component/initialization-component.mjs +5 -6
- package/esm2022/table-builder/components/link-column.component.mjs +24 -24
- package/esm2022/table-builder/components/number-filter/number-filter.component.mjs +7 -9
- package/esm2022/table-builder/components/sort-menu/sort-menu.component-store.mjs +6 -7
- package/esm2022/table-builder/components/sort-menu/sort-menu.component.mjs +10 -11
- package/esm2022/table-builder/components/table-container/table-container-imports.mjs +4 -3
- package/esm2022/table-builder/components/table-container/table-container.mjs +6 -7
- package/esm2022/table-builder/components/table-container-filter/filter-list/filter-list.component.mjs +9 -10
- package/esm2022/table-builder/components/table-container-filter/gen-filter-displayer/gen-filter-displayer.component.mjs +9 -10
- package/esm2022/table-builder/components/table-container-filter/table-wrapper-filter-store.mjs +6 -7
- package/esm2022/table-builder/directives/custom-cell-directive.mjs +7 -8
- package/esm2022/table-builder/directives/multi-sort.directive.mjs +6 -7
- package/esm2022/table-builder/directives/resize-column.directive.mjs +6 -7
- package/esm2022/table-builder/directives/table-wrapper.directive.mjs +5 -6
- package/esm2022/table-builder/directives/tb-filter.directive.mjs +57 -67
- package/esm2022/table-builder/enums/filterTypes.mjs +30 -30
- package/esm2022/table-builder/ngrx/tableBuilderStateStore.mjs +6 -7
- package/esm2022/table-builder/pipes/column-total.pipe.mjs +5 -6
- package/esm2022/table-builder/pipes/format-filter-type.pipe.mjs +5 -6
- package/esm2022/table-builder/pipes/format-filter-value.pipe.mjs +6 -7
- package/esm2022/table-builder/pipes/key-display.mjs +6 -7
- package/esm2022/table-builder/services/export-to-csv.service.mjs +7 -8
- package/esm2022/table-builder/services/table-template-service.mjs +6 -7
- package/esm2022/table-builder/services/transform-creator.mjs +7 -8
- package/esm2022/table-builder/table-builder.module.mjs +6 -7
- package/esm2022/utilities/directives/auto-focus.directive.mjs +6 -7
- package/esm2022/utilities/directives/clickEmitterDirective.mjs +6 -7
- package/esm2022/utilities/directives/clickSubject.mjs +6 -7
- package/esm2022/utilities/directives/conditional-classes.directive.mjs +6 -7
- package/esm2022/utilities/directives/dialog-service.mjs +5 -6
- package/esm2022/utilities/directives/dialog.mjs +11 -13
- package/esm2022/utilities/directives/mat-toggle-group-directive.mjs +5 -6
- package/esm2022/utilities/directives/prevent-enter.directive.mjs +5 -6
- package/esm2022/utilities/directives/stop-propagation.directive.mjs +5 -6
- package/esm2022/utilities/directives/styler.mjs +6 -7
- package/esm2022/utilities/directives/trim-whitespace.directive.mjs +6 -7
- package/esm2022/utilities/module.mjs +6 -7
- package/esm2022/utilities/pipes/function.pipe.mjs +5 -6
- package/esm2022/utilities/pipes/phone.pipe.mjs +5 -6
- package/esm2022/utilities/pipes/space-case.pipes.mjs +5 -6
- package/fesm2022/one-paragon-angular-utilities.mjs +436 -414
- package/fesm2022/one-paragon-angular-utilities.mjs.map +1 -1
- package/http-request-state/HttpRequestStateStore.d.ts +1 -1
- package/package.json +8 -8
- package/table-builder/classes/filter-info.d.ts +94 -7
- package/table-builder/components/array-column.component.d.ts +1 -1
- package/table-builder/components/column-builder/column-builder.component.d.ts +1 -1
- package/table-builder/components/filter/filter.component.d.ts +93 -352
- package/table-builder/components/in-filter/in-filter.component.d.ts +1 -1
- package/table-builder/components/table-container/table-container-imports.d.ts +3 -2
- package/table-builder/enums/filterTypes.d.ts +47 -7
- package/utilities/pipes/function.pipe.d.ts +1 -1
|
@@ -17,22 +17,21 @@ const inputs = [
|
|
|
17
17
|
'predicate: tbCustomFilter',
|
|
18
18
|
'filterId: filterId',
|
|
19
19
|
];
|
|
20
|
-
class TableCustomFilterDirective {
|
|
20
|
+
export class TableCustomFilterDirective {
|
|
21
21
|
constructor() {
|
|
22
22
|
this.savable = false;
|
|
23
23
|
this.used = false;
|
|
24
24
|
}
|
|
25
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
26
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
25
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: TableCustomFilterDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
26
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.3", type: TableCustomFilterDirective, selector: " ", ngImport: i0 }); }
|
|
27
27
|
}
|
|
28
|
-
|
|
29
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: TableCustomFilterDirective, decorators: [{
|
|
28
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: TableCustomFilterDirective, decorators: [{
|
|
30
29
|
type: Directive,
|
|
31
30
|
args: [{
|
|
32
31
|
selector: ' '
|
|
33
32
|
}]
|
|
34
33
|
}] });
|
|
35
|
-
class TableFilterDirective extends ComponentStore {
|
|
34
|
+
export class TableFilterDirective extends ComponentStore {
|
|
36
35
|
constructor(model, wrapper) {
|
|
37
36
|
super();
|
|
38
37
|
this.model = model;
|
|
@@ -97,21 +96,20 @@ class TableFilterDirective extends ComponentStore {
|
|
|
97
96
|
});
|
|
98
97
|
}
|
|
99
98
|
}
|
|
100
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
101
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
99
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: TableFilterDirective, deps: [{ token: i1.NgControl, optional: true }, { token: i2.TableWrapperDirective, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
100
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.3", type: TableFilterDirective, isStandalone: true, selector: "[tbFilter]", inputs: { filterType: "filterType", key: "key", fieldType: "fieldType", filterId: "filterId", active: "active", filterValue: "filterValue" }, usesInheritance: true, usesOnChanges: true, ngImport: i0 }); }
|
|
102
101
|
}
|
|
103
|
-
|
|
104
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: TableFilterDirective, decorators: [{
|
|
102
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: TableFilterDirective, decorators: [{
|
|
105
103
|
type: Directive,
|
|
106
104
|
args: [{
|
|
107
105
|
selector: "[tbFilter]",
|
|
108
106
|
standalone: true,
|
|
109
107
|
}]
|
|
110
|
-
}], ctorParameters:
|
|
108
|
+
}], ctorParameters: () => [{ type: i1.NgControl, decorators: [{
|
|
111
109
|
type: Optional
|
|
112
110
|
}] }, { type: i2.TableWrapperDirective, decorators: [{
|
|
113
111
|
type: Optional
|
|
114
|
-
}] }]
|
|
112
|
+
}] }], propDecorators: { filterType: [{
|
|
115
113
|
type: Input
|
|
116
114
|
}], key: [{
|
|
117
115
|
type: Input
|
|
@@ -124,7 +122,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImpor
|
|
|
124
122
|
}], filterValue: [{
|
|
125
123
|
type: Input
|
|
126
124
|
}] } });
|
|
127
|
-
class TableFilterStringContainsDirective extends TableFilterDirective {
|
|
125
|
+
export class TableFilterStringContainsDirective extends TableFilterDirective {
|
|
128
126
|
constructor(model, wrapper) {
|
|
129
127
|
super(model, wrapper);
|
|
130
128
|
this.filterType = FilterType.StringContains;
|
|
@@ -152,11 +150,10 @@ class TableFilterStringContainsDirective extends TableFilterDirective {
|
|
|
152
150
|
}
|
|
153
151
|
super.ngOnChanges(changes);
|
|
154
152
|
}
|
|
155
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
156
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
153
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: TableFilterStringContainsDirective, deps: [{ token: i1.NgControl, optional: true }, { token: i2.TableWrapperDirective, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
154
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.3", type: TableFilterStringContainsDirective, isStandalone: true, selector: "[tbFilterStringContains]", inputs: { key: ["tbFilterStringContains", "key"], filterValue: "filterValue", filterId: "filterId", active: "active" }, providers: [{ provide: TableFilterDirective, useExisting: TableFilterStringContainsDirective }], usesInheritance: true, usesOnChanges: true, ngImport: i0 }); }
|
|
157
155
|
}
|
|
158
|
-
|
|
159
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: TableFilterStringContainsDirective, decorators: [{
|
|
156
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: TableFilterStringContainsDirective, decorators: [{
|
|
160
157
|
type: Directive,
|
|
161
158
|
args: [{
|
|
162
159
|
selector: '[tbFilterStringContains]',
|
|
@@ -169,12 +166,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImpor
|
|
|
169
166
|
],
|
|
170
167
|
standalone: true,
|
|
171
168
|
}]
|
|
172
|
-
}], ctorParameters:
|
|
169
|
+
}], ctorParameters: () => [{ type: i1.NgControl, decorators: [{
|
|
173
170
|
type: Optional
|
|
174
171
|
}] }, { type: i2.TableWrapperDirective, decorators: [{
|
|
175
172
|
type: Optional
|
|
176
|
-
}] }]
|
|
177
|
-
class TableCustomFilterDirectiveBase extends TableCustomFilterDirective {
|
|
173
|
+
}] }] });
|
|
174
|
+
export class TableCustomFilterDirectiveBase extends TableCustomFilterDirective {
|
|
178
175
|
constructor() {
|
|
179
176
|
super(...arguments);
|
|
180
177
|
this._active = false;
|
|
@@ -215,11 +212,10 @@ class TableCustomFilterDirectiveBase extends TableCustomFilterDirective {
|
|
|
215
212
|
this.ready = true;
|
|
216
213
|
this.filter$ = new BehaviorSubject(this.filter);
|
|
217
214
|
}
|
|
218
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
219
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
215
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: TableCustomFilterDirectiveBase, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
216
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.3", type: TableCustomFilterDirectiveBase, selector: "[tbCustomFilter]", inputs: { filterId: "filterId", predicate: ["tbCustomFilter", "predicate"], active: "active" }, usesInheritance: true, ngImport: i0 }); }
|
|
220
217
|
}
|
|
221
|
-
|
|
222
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: TableCustomFilterDirectiveBase, decorators: [{
|
|
218
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: TableCustomFilterDirectiveBase, decorators: [{
|
|
223
219
|
type: Directive,
|
|
224
220
|
args: [{
|
|
225
221
|
selector: "[tbCustomFilter]",
|
|
@@ -232,7 +228,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImpor
|
|
|
232
228
|
}], active: [{
|
|
233
229
|
type: Input
|
|
234
230
|
}] } });
|
|
235
|
-
class TbSelectedFilterDirective extends TableCustomFilterDirectiveBase {
|
|
231
|
+
export class TbSelectedFilterDirective extends TableCustomFilterDirectiveBase {
|
|
236
232
|
constructor(change, isActive, wrapper) {
|
|
237
233
|
super();
|
|
238
234
|
this.change = change;
|
|
@@ -255,17 +251,16 @@ class TbSelectedFilterDirective extends TableCustomFilterDirectiveBase {
|
|
|
255
251
|
this.active = this.isActive();
|
|
256
252
|
});
|
|
257
253
|
}
|
|
258
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
259
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
254
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: TbSelectedFilterDirective, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive }); }
|
|
255
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.3", type: TbSelectedFilterDirective, usesInheritance: true, ngImport: i0 }); }
|
|
260
256
|
}
|
|
261
|
-
|
|
262
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: TbSelectedFilterDirective, decorators: [{
|
|
257
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: TbSelectedFilterDirective, decorators: [{
|
|
263
258
|
type: Directive
|
|
264
|
-
}], ctorParameters:
|
|
259
|
+
}], ctorParameters: () => [{ type: i3.Observable }, { type: undefined }, { type: i2.TableWrapperDirective, decorators: [{
|
|
265
260
|
type: Optional
|
|
266
|
-
}] }]
|
|
261
|
+
}] }] });
|
|
267
262
|
// Checkbox
|
|
268
|
-
class MatCheckboxTbFilterDirective extends TbSelectedFilterDirective {
|
|
263
|
+
export class MatCheckboxTbFilterDirective extends TbSelectedFilterDirective {
|
|
269
264
|
set active(val) {
|
|
270
265
|
this.matCheckbox.checked = val;
|
|
271
266
|
super.active = val;
|
|
@@ -274,11 +269,10 @@ class MatCheckboxTbFilterDirective extends TbSelectedFilterDirective {
|
|
|
274
269
|
super(matCheckbox.change, () => matCheckbox.checked, wrapper);
|
|
275
270
|
this.matCheckbox = matCheckbox;
|
|
276
271
|
}
|
|
277
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
278
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
272
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: MatCheckboxTbFilterDirective, deps: [{ token: i4.MatCheckbox }, { token: i2.TableWrapperDirective, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
273
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.3", type: MatCheckboxTbFilterDirective, isStandalone: true, selector: "mat-checkbox[tbCustomFilter]", inputs: { predicate: ["tbCustomFilter", "predicate"], filterId: "filterId" }, providers: [{ provide: TableCustomFilterDirective, useExisting: MatCheckboxTbFilterDirective }], usesInheritance: true, ngImport: i0 }); }
|
|
279
274
|
}
|
|
280
|
-
|
|
281
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: MatCheckboxTbFilterDirective, decorators: [{
|
|
275
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: MatCheckboxTbFilterDirective, decorators: [{
|
|
282
276
|
type: Directive,
|
|
283
277
|
args: [{
|
|
284
278
|
selector: 'mat-checkbox[tbCustomFilter]',
|
|
@@ -288,10 +282,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImpor
|
|
|
288
282
|
providers: [{ provide: TableCustomFilterDirective, useExisting: MatCheckboxTbFilterDirective }],
|
|
289
283
|
standalone: true,
|
|
290
284
|
}]
|
|
291
|
-
}], ctorParameters:
|
|
285
|
+
}], ctorParameters: () => [{ type: i4.MatCheckbox }, { type: i2.TableWrapperDirective, decorators: [{
|
|
292
286
|
type: Optional
|
|
293
|
-
}] }]
|
|
294
|
-
class MatSlideToggleTbFilterDirective extends TbSelectedFilterDirective {
|
|
287
|
+
}] }] });
|
|
288
|
+
export class MatSlideToggleTbFilterDirective extends TbSelectedFilterDirective {
|
|
295
289
|
set active(val) {
|
|
296
290
|
this.matSlideToggle.checked = val;
|
|
297
291
|
super.active = val;
|
|
@@ -303,11 +297,10 @@ class MatSlideToggleTbFilterDirective extends TbSelectedFilterDirective {
|
|
|
303
297
|
ngOnInit() {
|
|
304
298
|
super.ngOnInit();
|
|
305
299
|
}
|
|
306
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
307
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
300
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: MatSlideToggleTbFilterDirective, deps: [{ token: i5.MatSlideToggle }, { token: i2.TableWrapperDirective, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
301
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.3", type: MatSlideToggleTbFilterDirective, isStandalone: true, selector: "mat-slide-toggle[tbCustomFilter]", inputs: { predicate: ["tbCustomFilter", "predicate"], filterId: "filterId" }, providers: [{ provide: TableCustomFilterDirective, useExisting: MatSlideToggleTbFilterDirective }], usesInheritance: true, ngImport: i0 }); }
|
|
308
302
|
}
|
|
309
|
-
|
|
310
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: MatSlideToggleTbFilterDirective, decorators: [{
|
|
303
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: MatSlideToggleTbFilterDirective, decorators: [{
|
|
311
304
|
type: Directive,
|
|
312
305
|
args: [{
|
|
313
306
|
selector: 'mat-slide-toggle[tbCustomFilter]',
|
|
@@ -317,11 +310,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImpor
|
|
|
317
310
|
providers: [{ provide: TableCustomFilterDirective, useExisting: MatSlideToggleTbFilterDirective }],
|
|
318
311
|
standalone: true,
|
|
319
312
|
}]
|
|
320
|
-
}], ctorParameters:
|
|
313
|
+
}], ctorParameters: () => [{ type: i5.MatSlideToggle }, { type: i2.TableWrapperDirective, decorators: [{
|
|
321
314
|
type: Optional
|
|
322
|
-
}] }]
|
|
315
|
+
}] }] });
|
|
323
316
|
// Radio button
|
|
324
|
-
class MatRadioButtonTbFilterDirective extends TbSelectedFilterDirective {
|
|
317
|
+
export class MatRadioButtonTbFilterDirective extends TbSelectedFilterDirective {
|
|
325
318
|
set active(val) {
|
|
326
319
|
this.matRadioButton.checked = val;
|
|
327
320
|
super.active = val;
|
|
@@ -333,11 +326,10 @@ class MatRadioButtonTbFilterDirective extends TbSelectedFilterDirective {
|
|
|
333
326
|
ngOnInit() {
|
|
334
327
|
super.ngOnInit();
|
|
335
328
|
}
|
|
336
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
337
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
329
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: MatRadioButtonTbFilterDirective, deps: [{ token: i6.MatRadioButton }, { token: i2.TableWrapperDirective, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
330
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.3", type: MatRadioButtonTbFilterDirective, isStandalone: true, selector: "mat-radio-button[tbCustomFilter]", inputs: { predicate: ["tbCustomFilter", "predicate"] }, providers: [{ provide: TableCustomFilterDirective, useExisting: MatRadioButtonTbFilterDirective }], usesInheritance: true, ngImport: i0 }); }
|
|
338
331
|
}
|
|
339
|
-
|
|
340
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: MatRadioButtonTbFilterDirective, decorators: [{
|
|
332
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: MatRadioButtonTbFilterDirective, decorators: [{
|
|
341
333
|
type: Directive,
|
|
342
334
|
args: [{
|
|
343
335
|
selector: 'mat-radio-button[tbCustomFilter]',
|
|
@@ -345,11 +337,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImpor
|
|
|
345
337
|
providers: [{ provide: TableCustomFilterDirective, useExisting: MatRadioButtonTbFilterDirective }],
|
|
346
338
|
standalone: true,
|
|
347
339
|
}]
|
|
348
|
-
}], ctorParameters:
|
|
340
|
+
}], ctorParameters: () => [{ type: i6.MatRadioButton }, { type: i2.TableWrapperDirective, decorators: [{
|
|
349
341
|
type: Optional
|
|
350
|
-
}] }]
|
|
342
|
+
}] }] });
|
|
351
343
|
// Option (select)
|
|
352
|
-
class MatOptionTbFilterDirective extends TbSelectedFilterDirective {
|
|
344
|
+
export class MatOptionTbFilterDirective extends TbSelectedFilterDirective {
|
|
353
345
|
set active(val) {
|
|
354
346
|
if (val) {
|
|
355
347
|
this.matOption.select();
|
|
@@ -370,11 +362,10 @@ class MatOptionTbFilterDirective extends TbSelectedFilterDirective {
|
|
|
370
362
|
ngOnInit() {
|
|
371
363
|
super.ngOnInit();
|
|
372
364
|
}
|
|
373
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
374
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
365
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: MatOptionTbFilterDirective, deps: [{ token: i7.MatOption }, { token: i2.TableWrapperDirective, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
366
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.3", type: MatOptionTbFilterDirective, isStandalone: true, selector: "mat-option[tbCustomFilter]", inputs: { predicate: ["tbCustomFilter", "predicate"], filterId: "filterId" }, providers: [{ provide: TableCustomFilterDirective, useExisting: MatOptionTbFilterDirective }], usesInheritance: true, ngImport: i0 }); }
|
|
375
367
|
}
|
|
376
|
-
|
|
377
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: MatOptionTbFilterDirective, decorators: [{
|
|
368
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: MatOptionTbFilterDirective, decorators: [{
|
|
378
369
|
type: Directive,
|
|
379
370
|
args: [{
|
|
380
371
|
selector: 'mat-option[tbCustomFilter]',
|
|
@@ -384,11 +375,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImpor
|
|
|
384
375
|
providers: [{ provide: TableCustomFilterDirective, useExisting: MatOptionTbFilterDirective }],
|
|
385
376
|
standalone: true,
|
|
386
377
|
}]
|
|
387
|
-
}], ctorParameters:
|
|
378
|
+
}], ctorParameters: () => [{ type: i7.MatOption }, { type: i2.TableWrapperDirective, decorators: [{
|
|
388
379
|
type: Optional
|
|
389
|
-
}] }]
|
|
380
|
+
}] }] });
|
|
390
381
|
// Button toggle
|
|
391
|
-
class MatButtonToggleFilterDirective extends TbSelectedFilterDirective {
|
|
382
|
+
export class MatButtonToggleFilterDirective extends TbSelectedFilterDirective {
|
|
392
383
|
set active(val) {
|
|
393
384
|
this.matButtonToggle.checked = val;
|
|
394
385
|
super.active = val;
|
|
@@ -400,11 +391,10 @@ class MatButtonToggleFilterDirective extends TbSelectedFilterDirective {
|
|
|
400
391
|
ngOnInit() {
|
|
401
392
|
super.ngOnInit();
|
|
402
393
|
}
|
|
403
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
404
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
394
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: MatButtonToggleFilterDirective, deps: [{ token: i8.MatButtonToggle }, { token: i2.TableWrapperDirective, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
395
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.3", type: MatButtonToggleFilterDirective, isStandalone: true, selector: "mat-button-toggle[tbCustomFilter]", inputs: { predicate: ["tbCustomFilter", "predicate"], filterId: "filterId" }, providers: [{ provide: TableCustomFilterDirective, useExisting: MatButtonToggleFilterDirective }], usesInheritance: true, ngImport: i0 }); }
|
|
405
396
|
}
|
|
406
|
-
|
|
407
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: MatButtonToggleFilterDirective, decorators: [{
|
|
397
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: MatButtonToggleFilterDirective, decorators: [{
|
|
408
398
|
type: Directive,
|
|
409
399
|
args: [{
|
|
410
400
|
selector: 'mat-button-toggle[tbCustomFilter]',
|
|
@@ -414,7 +404,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImpor
|
|
|
414
404
|
providers: [{ provide: TableCustomFilterDirective, useExisting: MatButtonToggleFilterDirective }],
|
|
415
405
|
standalone: true,
|
|
416
406
|
}]
|
|
417
|
-
}], ctorParameters:
|
|
407
|
+
}], ctorParameters: () => [{ type: i8.MatButtonToggle }, { type: i2.TableWrapperDirective, decorators: [{
|
|
418
408
|
type: Optional
|
|
419
|
-
}] }]
|
|
420
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGItZmlsdGVyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdXRpbGl0aWVzL3NyYy90YWJsZS1idWlsZGVyL2RpcmVjdGl2ZXMvdGItZmlsdGVyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQTRCLE1BQU0sZUFBZSxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxlQUFlLEVBQWMsYUFBYSxFQUFXLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFM0YsT0FBTyxFQUFFLEVBQUUsSUFBSSxJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBS2xELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUVyRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7Ozs7Ozs7QUFLdkQsTUFBTSxNQUFNLEdBQUc7SUFDYiwyQkFBMkI7SUFDM0Isb0JBQW9CO0NBQ3JCLENBQUM7QUFHRixNQUdzQiwwQkFBMEI7SUFIaEQ7UUFNRSxZQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ2hCLFNBQUksR0FBRyxLQUFLLENBQUM7S0FHZDs4R0FQcUIsMEJBQTBCO2tHQUExQiwwQkFBMEI7O1NBQTFCLDBCQUEwQjsyRkFBMUIsMEJBQTBCO2tCQUgvQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxHQUFHO2lCQUNkOztBQWFELE1BR2dCLG9CQUFxQixTQUFRLGNBQTBCO0lBRXJFLFlBQW1DLEtBQWdCLEVBQWMsT0FBOEI7UUFDN0YsS0FBSyxFQUFFLENBQUM7UUFEeUIsVUFBSyxHQUFMLEtBQUssQ0FBVztRQW1CbkQsWUFBTyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7UUFNYixX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LG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtJQUVwRCxDQUFDO0lBRUQsUUFBUTtRQUNOLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNuQixDQUFDOzhHQVhVLDhCQUE4QjtrR0FBOUIsOEJBQThCLDhKQUg5QixDQUFDLEVBQUUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLFdBQVcsRUFBRSw4QkFBOEIsRUFBRSxDQUFDOztTQUd0Riw4QkFBOEI7MkZBQTlCLDhCQUE4QjtrQkFSMUMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsbUNBQW1DO29CQUM3QyxNQUFNLEVBQUU7d0JBQ04sR0FBRyxNQUFNO3FCQUNWO29CQUNELFNBQVMsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLFdBQVcsZ0NBQWdDLEVBQUUsQ0FBQztvQkFDakcsVUFBVSxFQUFFLElBQUk7aUJBQ2pCOzswQkFNd0QsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQsIE9wdGlvbmFsLCBQcmVkaWNhdGUsIFNpbXBsZUNoYW5nZXMgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIFJlcGxheVN1YmplY3QsIFN1YmplY3QsIHRha2VVbnRpbCwgdGFwIH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHsgQ3VzdG9tRmlsdGVyLCBGaWx0ZXJJbmZvIH0gZnJvbSBcIi4uL2NsYXNzZXMvZmlsdGVyLWluZm9cIjtcclxuaW1wb3J0IHsgdjQgYXMgdXVpZCB9IGZyb20gJ3V1aWQnO1xyXG5pbXBvcnQgeyBGaWx0ZXJUeXBlIH0gZnJvbSBcIi4uL2VudW1zL2ZpbHRlclR5cGVzXCI7XHJcbmltcG9ydCB7IE1hdFNsaWRlVG9nZ2xlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL3NsaWRlLXRvZ2dsZVwiO1xyXG5pbXBvcnQgeyBNYXRSYWRpb0J1dHRvbiB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9yYWRpb1wiO1xyXG5pbXBvcnQgeyBNYXRCdXR0b25Ub2dnbGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24tdG9nZ2xlJztcclxuaW1wb3J0IHsgTWF0Q2hlY2tib3ggfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvY2hlY2tib3hcIjtcclxuaW1wb3J0IHsgRmllbGRUeXBlIH0gZnJvbSBcIi4uL2ludGVyZmFjZXMvcmVwb3J0LWRlZlwiO1xyXG5pbXBvcnQgeyBOZ0NvbnRyb2wgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuaW1wb3J0IHsgQ29tcG9uZW50U3RvcmUgfSBmcm9tIFwiQG5ncngvY29tcG9uZW50LXN0b3JlXCI7XHJcbmltcG9ydCB7IFRhYmxlV3JhcHBlckRpcmVjdGl2ZSB9IGZyb20gXCIuL3RhYmxlLXdyYXBwZXIuZGlyZWN0aXZlXCI7XHJcbmltcG9ydCB7IE1hdE9wdGlvbiB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9jb3JlXCI7XHJcblxyXG5cclxuY29uc3QgaW5wdXRzID0gW1xyXG4gICdwcmVkaWNhdGU6IHRiQ3VzdG9tRmlsdGVyJyxcclxuICAnZmlsdGVySWQ6IGZpbHRlcklkJyxcclxuXTtcclxuXHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogJyAnXHJcbn0pXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBUYWJsZUN1c3RvbUZpbHRlckRpcmVjdGl2ZTxUID0gYW55PiB7XHJcbiAgYWJzdHJhY3QgZmlsdGVyJCA6IE9ic2VydmFibGU8Q3VzdG9tRmlsdGVyPjtcclxuICBmaWx0ZXJJZCE6IHN0cmluZztcclxuICBzYXZhYmxlID0gZmFsc2U7XHJcbiAgdXNlZCA9IGZhbHNlO1xyXG4gIGFic3RyYWN0IGFjdGl2ZTogYm9vbGVhbjtcclxuICBhYnN0cmFjdCByZXNldCgpOiB2b2lkO1xyXG59XHJcblxyXG5cclxuXHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogXCJbdGJGaWx0ZXJdXCIsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxufSkgZXhwb3J0IGNsYXNzIFRhYmxlRmlsdGVyRGlyZWN0aXZlIGV4dGVuZHMgQ29tcG9uZW50U3RvcmU8RmlsdGVySW5mbz4ge1xyXG5cclxuICBjb25zdHJ1Y3RvcihAT3B0aW9uYWwoKSBwcm90ZWN0ZWQgIG1vZGVsOiBOZ0NvbnRyb2wsIEBPcHRpb25hbCgpIHdyYXBwZXI6IFRhYmxlV3JhcHBlckRpcmVjdGl2ZSkge1xyXG4gICAgc3VwZXIoKTtcclxuICAgIGlmKHdyYXBwZXIpIHtcclxuICAgICAgd3JhcHBlci5yZWdpc3Rlcih0aGlzKTtcclxuICAgIH1cclxuICAgIGlmKG1vZGVsKSB7XHJcbiAgICAgIHRoaXMuZWZmZWN0KCAoKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIG1vZGVsLnZhbHVlQ2hhbmdlcyEucGlwZShcclxuICAgICAgICAgIHRhcCggdmFsID0+IHtcclxuICAgICAgICAgICAgdGhpcy5maWx0ZXJWYWx1ZSA9IHZhbDtcclxuICAgICAgICAgICAgdGhpcy51cGRhdGUoKTtcclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgKVxyXG4gICAgICB9KVxyXG4gICAgfVxyXG4gIH1cclxuICByZXNldCgpIHtcclxuICAgIHRoaXMuZmlsdGVyVmFsdWUgPSB1bmRlZmluZWQ7XHJcbiAgfVxyXG4gIGZpbHRlciQgPSB0aGlzLnN0YXRlJDtcclxuXHJcbiAgQElucHV0KCkgZmlsdGVyVHlwZSE6IEZpbHRlclR5cGU7XHJcbiAgQElucHV0KCkga2V5ITogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGZpZWxkVHlwZSE6IEZpZWxkVHlwZTtcclxuICBASW5wdXQoKSBmaWx0ZXJJZCE6IHN0cmluZztcclxuICBASW5wdXQoKSBhY3RpdmUgPSB0cnVlO1xyXG4gIEBJbnB1dCgpIGZpbHRlclZhbHVlOiBhbnkgPSBudWxsO1xyXG5cclxuICBzZXRGaWx0ZXJWYWx1ZSh2YWx1ZTogYW55KSB7XHJcbiAgICBpZih0aGlzLm1vZGVsKSB7XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMubW9kZWwucmVzZXQodmFsdWUpO1xyXG4gICAgICB9LCAwKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZmlsdGVyVmFsdWUgPSB2YWx1ZTtcclxuICAgIH1cclxuICB9XHJcblxyXG5cclxuICB1c2VkID0gZmFsc2U7XHJcbiAgc2F2YWJsZSA9IGZhbHNlO1xyXG4gIHJlYWR5ID0gZmFsc2U7XHJcblxyXG4gIF91c2VyQWN0aXZlID0gdHJ1ZTtcclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzICkge1xyXG4gICAgdGhpcy51cGRhdGUoKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgaWYoIXRoaXMuZmlsdGVySWQpIHtcclxuICAgICAgdGhpcy5maWx0ZXJJZCA9IHV1aWQoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2F2YWJsZSA9IHRydWU7XHJcbiAgICB9XHJcbiAgICB0aGlzLnJlYWR5ID0gdHJ1ZTtcclxuICAgIHRoaXMudXBkYXRlKCk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgc2V0RmlsdGVyKGZpbHRlcjogRmlsdGVySW5mbyApIHtcclxuICAgIHRoaXMuc2V0U3RhdGUoZmlsdGVyKTtcclxuICB9XHJcblxyXG4gIHVwZGF0ZSgpIHtcclxuICAgIGlmICh0aGlzLnJlYWR5KSB7XHJcbiAgICAgIHRoaXMuc2V0RmlsdGVyKFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIGZpbHRlcklkOiB0aGlzLmZpbHRlcklkLFxyXG4gICAgICAgICAga2V5OiB0aGlzLmtleSxcclxuICAgICAgICAgIGZpbHRlclR5cGU6IHRoaXMuZmlsdGVyVHlwZSxcclxuICAgICAgICAgIGZpZWxkVHlwZTogdGhpcy5maWVsZFR5cGUsXHJcbiAgICAgICAgICBmaWx0ZXJWYWx1ZTogdGhpcy5maWx0ZXJWYWx1ZSxcclxuICAgICAgICAgIGFjdGl2ZTogdGhpcy5hY3RpdmUgJiYgdGhpcy5maWx0ZXJWYWx1ZSAhPT0gdW5kZWZpbmVkLFxyXG4gICAgICAgICAgX2lzRXh0ZXJuYWx5TWFuYWdlZDogdHJ1ZSxcclxuICAgICAgICB9XHJcbiAgICAgICk7XHJcblxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbdGJGaWx0ZXJTdHJpbmdDb250YWluc10nLFxyXG4gIHByb3ZpZGVyczogW3sgcHJvdmlkZTogVGFibGVGaWx0ZXJEaXJlY3RpdmUsIHVzZUV4aXN0aW5nOiBUYWJsZUZpbHRlclN0cmluZ0NvbnRhaW5zRGlyZWN0aXZlIH1dLFxyXG4gIGlucHV0czogW1xyXG4gICAgJ2tleTp0YkZpbHRlclN0cmluZ0NvbnRhaW5zJyxcclxuICAgICdmaWx0ZXJWYWx1ZTpmaWx0ZXJWYWx1ZScsXHJcbiAgICAnZmlsdGVySWQ6IGZpbHRlcklkJyxcclxuICAgICdhY3RpdmU6IGFjdGl2ZScsXHJcbiAgXSxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG59KSBleHBvcnQgY2xhc3MgVGFibGVGaWx0ZXJTdHJpbmdDb250YWluc0RpcmVjdGl2ZSBleHRlbmRzIFRhYmxlRmlsdGVyRGlyZWN0aXZlIHtcclxuICBjb25zdHJ1Y3RvcihAT3B0aW9uYWwoKSAgbW9kZWw6IE5nQ29udHJvbCwgQE9wdGlvbmFsKCkgd3JhcHBlcjogVGFibGVXcmFwcGVyRGlyZWN0aXZlKSB7XHJcbiAgICBzdXBlcihtb2RlbCx3cmFwcGVyKTtcclxuICAgIHRoaXMuZmlsdGVyVHlwZSA9IEZpbHRlclR5cGUuU3RyaW5nQ29udGFpbnM7XHJcbiAgICB0aGlzLmZpZWxkVHlwZSA9IEZpZWxkVHlwZS5TdHJpbmc7XHJcbiAgICB0aGlzLmVmZmVjdCggKCkgPT4ge1xyXG4gICAgICByZXR1cm4gbW9kZWwudmFsdWVDaGFuZ2VzIS5waXBlKFxyXG4gICAgICAgIHRhcCggdmFsID0+IHtcclxuICAgICAgICAgIHRoaXMuZmlsdGVyVmFsdWUgPSB2YWw7XHJcbiAgICAgICAgICB0aGlzLnVwZGF0ZSgpO1xyXG4gICAgICAgIH0pXHJcbiAgICAgIClcclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBvdmVycmlkZSByZXNldCgpIHtcclxuICAgIGlmKHRoaXMubW9kZWwpIHtcclxuICAgICAgdGhpcy5tb2RlbC5yZXNldCgpO1xyXG4gICAgfVxyXG4gICAgc3VwZXIucmVzZXQoKTtcclxuICB9XHJcblxyXG4gIG92ZXJyaWRlIHNldEZpbHRlcihmaWx0ZXI6IEZpbHRlckluZm8pIHtcclxuICAgIGZpbHRlci5hY3RpdmUgPSBmaWx0ZXIuZmlsdGVyVmFsdWUgJiYgdGhpcy5fdXNlckFjdGl2ZTtcclxuICAgIHN1cGVyLnNldEZpbHRlcihmaWx0ZXIpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xyXG4gICAgaWYoY2hhbmdlc1snYWN0aXZlJ10pIHtcclxuICAgICAgdGhpcy5fdXNlckFjdGl2ZSA9IGNoYW5nZXNbJ2FjdGl2ZSddLmN1cnJlbnRWYWx1ZTtcclxuICAgIH1cclxuICAgIHN1cGVyLm5nT25DaGFuZ2VzKGNoYW5nZXMpO1xyXG4gIH1cclxufVxyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6IFwiW3RiQ3VzdG9tRmlsdGVyXVwiLFxyXG59KVxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgVGFibGVDdXN0b21GaWx0ZXJEaXJlY3RpdmVCYXNlPFQgPSBhbnk+IGV4dGVuZHMgVGFibGVDdXN0b21GaWx0ZXJEaXJlY3RpdmU8VD4ge1xyXG5cclxuICBmaWx0ZXIkISA6IFN1YmplY3Q8Q3VzdG9tRmlsdGVyPjtcclxuICBmaWx0ZXIhOiBDdXN0b21GaWx0ZXI7XHJcbiAgQElucHV0KCkgZmlsdGVySWQhIDogc3RyaW5nO1xyXG5cclxuICBfcHJlZGljYXRlITogUHJlZGljYXRlPFQ+O1xyXG4gIEBJbnB1dCgndGJDdXN0b21GaWx0ZXInKSBzZXQgcHJlZGljYXRlKCB2YWw6IFByZWRpY2F0ZTxUPiApIHtcclxuICAgIHRoaXMuX3ByZWRpY2F0ZSA9IHZhbDtcclxuICAgIHRoaXMudXBkYXRlKHtwcmVkaWNhdGU6dmFsfSk7XHJcbiAgfVxyXG5cclxuICBfYWN0aXZlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcmVhZHkgPSBmYWxzZTtcclxuXHJcbiAgdXBkYXRlKHZhbDogUGFydGlhbDxDdXN0b21GaWx0ZXI+ICkge1xyXG4gICAgaWYodGhpcy5yZWFkeSkge1xyXG4gICAgICB0aGlzLmZpbHRlciA9IHsuLi50aGlzLmZpbHRlciwuLi52YWx9O1xyXG4gICAgICB0aGlzLmZpbHRlciQubmV4dCh0aGlzLmZpbHRlcik7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKSBzZXQgYWN0aXZlKHZhbDogYm9vbGVhbikge1xyXG4gICAgaWYodGhpcy5fYWN0aXZlICE9PSB2YWwpIHtcclxuICAgICAgdGhpcy5fYWN0aXZlID0gdmFsO1xyXG4gICAgICB0aGlzLnVwZGF0ZSh7YWN0aXZlOnZhbH0pO1xyXG4gICAgfVxyXG4gIH1cclxuICBnZXQgYWN0aXZlKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2FjdGl2ZTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgaWYoIXRoaXMuZmlsdGVySWQpIHtcclxuICAgICAgdGhpcy5maWx0ZXJJZCA9IHV1aWQoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2F2YWJsZSA9IHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5maWx0ZXIgPSB7XHJcbiAgICAgIGZpbHRlclR5cGU6IEZpbHRlclR5cGUuQ3VzdG9tLFxyXG4gICAgICBmaWx0ZXJJZDogdGhpcy5maWx0ZXJJZCxcclxuICAgICAgYWN0aXZlOiB0aGlzLl9hY3RpdmUsXHJcbiAgICAgIHByZWRpY2F0ZTogdGhpcy5fcHJlZGljYXRlLFxyXG4gICAgfTtcclxuICAgIHRoaXMucmVhZHkgPSB0cnVlO1xyXG4gICAgdGhpcy5maWx0ZXIkID0gbmV3IEJlaGF2aW9yU3ViamVjdCh0aGlzLmZpbHRlcik7XHJcbiAgfVxyXG59XHJcblxyXG5ARGlyZWN0aXZlKClcclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFRiU2VsZWN0ZWRGaWx0ZXJEaXJlY3RpdmU8VCA9IGFueT4gIGV4dGVuZHMgVGFibGVDdXN0b21GaWx0ZXJEaXJlY3RpdmVCYXNlPFQ+IHtcclxuXHJcblxyXG4gIHByb3RlY3RlZCBjb25zdHJ1Y3Rvcihwcml2YXRlIGNoYW5nZTogT2JzZXJ2YWJsZTxhbnk+LCBwcml2YXRlIGlzQWN0aXZlOiAoKSA9PiBib29sZWFuLCBAT3B0aW9uYWwoKSB3cmFwcGVyOiBUYWJsZVdyYXBwZXJEaXJlY3RpdmUpIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgICBpZih3cmFwcGVyKSB7XHJcbiAgICAgIHdyYXBwZXIucmVnaXN0ZXIodGhpcyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByZXNldCgpIHtcclxuICAgIHRoaXMuYWN0aXZlID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBkZXN0cm95U3ViamVjdCQgPSBuZXcgUmVwbGF5U3ViamVjdDx2b2lkPigxKTtcclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMuZGVzdHJveVN1YmplY3QkLm5leHQoKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fYWN0aXZlID0gdGhpcy5pc0FjdGl2ZSgpO1xyXG4gICAgc3VwZXIubmdPbkluaXQoKTtcclxuICAgIHRoaXMuY2hhbmdlLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveVN1YmplY3QkKSkuc3Vic2NyaWJlKCAoKSA9PiB7XHJcbiAgICAgIHRoaXMuYWN0aXZlID0gdGhpcy5pc0FjdGl2ZSgpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBDaGVja2JveFxyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogJ21hdC1jaGVja2JveFt0YkN1c3RvbUZpbHRlcl0nLFxyXG4gIGlucHV0czogW1xyXG4gICAgLi4uaW5wdXRzXHJcbiAgXSxcclxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IFRhYmxlQ3VzdG9tRmlsdGVyRGlyZWN0aXZlLCB1c2VFeGlzdGluZzogTWF0Q2hlY2tib3hUYkZpbHRlckRpcmVjdGl2ZSB9XSxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTWF0Q2hlY2tib3hUYkZpbHRlckRpcmVjdGl2ZSBleHRlbmRzIFRiU2VsZWN0ZWRGaWx0ZXJEaXJlY3RpdmUge1xyXG5cclxuICBvdmVycmlkZSBzZXQgYWN0aXZlKHZhbDogYm9vbGVhbikge1xyXG4gICAgdGhpcy5tYXRDaGVja2JveC5jaGVja2VkID0gdmFsO1xyXG4gICAgc3VwZXIuYWN0aXZlID0gdmFsO1xyXG4gIH1cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIG1hdENoZWNrYm94OiBNYXRDaGVja2JveCwgQE9wdGlvbmFsKCkgd3JhcHBlcjogVGFibGVXcmFwcGVyRGlyZWN0aXZlKSB7XHJcbiAgICBzdXBlcihtYXRDaGVja2JveC5jaGFuZ2UsICgpID0+IG1hdENoZWNrYm94LmNoZWNrZWQsIHdyYXBwZXIpO1xyXG4gIH1cclxufVxyXG5cclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnbWF0LXNsaWRlLXRvZ2dsZVt0YkN1c3RvbUZpbHRlcl0nLFxyXG4gIGlucHV0czogW1xyXG4gICAgLi4uaW5wdXRzXHJcbiAgXSxcclxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IFRhYmxlQ3VzdG9tRmlsdGVyRGlyZWN0aXZlLCB1c2VFeGlzdGluZzogTWF0U2xpZGVUb2dnbGVUYkZpbHRlckRpcmVjdGl2ZSB9XSxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTWF0U2xpZGVUb2dnbGVUYkZpbHRlckRpcmVjdGl2ZTxUID0gYW55PiBleHRlbmRzIFRiU2VsZWN0ZWRGaWx0ZXJEaXJlY3RpdmU8VD4ge1xyXG4gIG92ZXJyaWRlIHNldCBhY3RpdmUodmFsOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLm1hdFNsaWRlVG9nZ2xlLmNoZWNrZWQgPSB2YWw7XHJcbiAgICBzdXBlci5hY3RpdmUgPSB2YWw7XHJcbiAgfVxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgbWF0U2xpZGVUb2dnbGU6IE1hdFNsaWRlVG9nZ2xlLCBAT3B0aW9uYWwoKSB3cmFwcGVyOiBUYWJsZVdyYXBwZXJEaXJlY3RpdmUpIHtcclxuICAgIHN1cGVyKG1hdFNsaWRlVG9nZ2xlLmNoYW5nZSwgKCkgPT4gbWF0U2xpZGVUb2dnbGUuY2hlY2tlZCx3cmFwcGVyKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgc3VwZXIubmdPbkluaXQoKTtcclxuICB9XHJcbn1cclxuXHJcbi8vIFJhZGlvIGJ1dHRvblxyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogJ21hdC1yYWRpby1idXR0b25bdGJDdXN0b21GaWx0ZXJdJyxcclxuICBpbnB1dHM6IFsncHJlZGljYXRlOiB0YkN1c3RvbUZpbHRlciddLFxyXG4gIHByb3ZpZGVyczogW3sgcHJvdmlkZTogVGFibGVDdXN0b21GaWx0ZXJEaXJlY3RpdmUsIHVzZUV4aXN0aW5nOiBNYXRSYWRpb0J1dHRvblRiRmlsdGVyRGlyZWN0aXZlIH1dLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNYXRSYWRpb0J1dHRvblRiRmlsdGVyRGlyZWN0aXZlIGV4dGVuZHMgVGJTZWxlY3RlZEZpbHRlckRpcmVjdGl2ZSB7XHJcblxyXG4gIG92ZXJyaWRlIHNldCBhY3RpdmUodmFsOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLm1hdFJhZGlvQnV0dG9uLmNoZWNrZWQgPSB2YWw7XHJcbiAgICBzdXBlci5hY3RpdmUgPSB2YWw7XHJcbiAgfVxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgbWF0UmFkaW9CdXR0b246IE1hdFJhZGlvQnV0dG9uLCBAT3B0aW9uYWwoKSB3cmFwcGVyOiBUYWJsZVdyYXBwZXJEaXJlY3RpdmUpIHtcclxuICAgIHN1cGVyKG1hdFJhZGlvQnV0dG9uLmNoYW5nZSwgKCkgPT4gbWF0UmFkaW9CdXR0b24uY2hlY2tlZCwgd3JhcHBlcik7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHN1cGVyLm5nT25Jbml0KCk7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBPcHRpb24gKHNlbGVjdClcclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdtYXQtb3B0aW9uW3RiQ3VzdG9tRmlsdGVyXScsXHJcbiAgaW5wdXRzOiBbXHJcbiAgICAuLi5pbnB1dHNcclxuICBdLFxyXG4gIHByb3ZpZGVyczogW3sgcHJvdmlkZTogVGFibGVDdXN0b21GaWx0ZXJEaXJlY3RpdmUsIHVzZUV4aXN0aW5nOiBNYXRPcHRpb25UYkZpbHRlckRpcmVjdGl2ZSB9XSxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTWF0T3B0aW9uVGJGaWx0ZXJEaXJlY3RpdmUgZXh0ZW5kcyBUYlNlbGVjdGVkRmlsdGVyRGlyZWN0aXZlIHtcclxuXHJcbiAgb3ZlcnJpZGUgc2V0IGFjdGl2ZSh2YWw6IGJvb2xlYW4pIHtcclxuICAgIGlmKHZhbCkge1xyXG4gICAgICB0aGlzLm1hdE9wdGlvbi5zZWxlY3QoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMubWF0T3B0aW9uLmRlc2VsZWN0KCk7XHJcbiAgICB9XHJcbiAgICBzdXBlci5hY3RpdmUgPSB2YWw7XHJcbiAgfVxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgbWF0T3B0aW9uOiBNYXRPcHRpb24sIEBPcHRpb25hbCgpIHdyYXBwZXI6IFRhYmxlV3JhcHBlckRpcmVjdGl2ZSkge1xyXG4gICAgc3VwZXIoIG1hdE9wdGlvbi5vblNlbGVjdGlvbkNoYW5nZS5waXBlKHRhcCggZCA9PiB7XHJcbiAgICAgIGlmKCFtYXRPcHRpb24udmFsdWUpIHtcclxuICAgICAgICBtYXRPcHRpb24udmFsdWUgPSB1dWlkKCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICApKSwgKCkgPT4gbWF0T3B0aW9uLnNlbGVjdGVkLCB3cmFwcGVyKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgc3VwZXIubmdPbkluaXQoKTtcclxuICB9XHJcbn1cclxuXHJcbi8vIEJ1dHRvbiB0b2dnbGVcclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdtYXQtYnV0dG9uLXRvZ2dsZVt0YkN1c3RvbUZpbHRlcl0nLFxyXG4gIGlucHV0czogW1xyXG4gICAgLi4uaW5wdXRzXHJcbiAgXSxcclxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IFRhYmxlQ3VzdG9tRmlsdGVyRGlyZWN0aXZlLCB1c2VFeGlzdGluZzogTWF0QnV0dG9uVG9nZ2xlRmlsdGVyRGlyZWN0aXZlIH1dLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNYXRCdXR0b25Ub2dnbGVGaWx0ZXJEaXJlY3RpdmUgZXh0ZW5kcyBUYlNlbGVjdGVkRmlsdGVyRGlyZWN0aXZlIHtcclxuICBvdmVycmlkZSBzZXQgYWN0aXZlKHZhbDogYm9vbGVhbikge1xyXG4gICAgdGhpcy5tYXRCdXR0b25Ub2dnbGUuY2hlY2tlZCA9IHZhbDtcclxuICAgIHN1cGVyLmFjdGl2ZSA9IHZhbDtcclxuICB9XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBtYXRCdXR0b25Ub2dnbGU6IE1hdEJ1dHRvblRvZ2dsZSwgQE9wdGlvbmFsKCkgd3JhcHBlcjogVGFibGVXcmFwcGVyRGlyZWN0aXZlKSB7XHJcbiAgICBzdXBlcihtYXRCdXR0b25Ub2dnbGUuY2hhbmdlLCAoKSA9PiBtYXRCdXR0b25Ub2dnbGUuY2hlY2tlZCx3cmFwcGVyKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgc3VwZXIubmdPbkluaXQoKTtcclxuICB9XHJcbn1cclxuIl19
|
|
409
|
+
}] }] });
|
|
410
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGItZmlsdGVyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdXRpbGl0aWVzL3NyYy90YWJsZS1idWlsZGVyL2RpcmVjdGl2ZXMvdGItZmlsdGVyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQTRCLE1BQU0sZUFBZSxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxlQUFlLEVBQWMsYUFBYSxFQUFXLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFM0YsT0FBTyxFQUFFLEVBQUUsSUFBSSxJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBS2xELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUVyRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7Ozs7Ozs7QUFLdkQsTUFBTSxNQUFNLEdBQUc7SUFDYiwyQkFBMkI7SUFDM0Isb0JBQW9CO0NBQ3JCLENBQUM7QUFNRixNQUFNLE9BQWdCLDBCQUEwQjtJQUhoRDtRQU1FLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFDaEIsU0FBSSxHQUFHLEtBQUssQ0FBQztLQUdkOzhHQVBxQiwwQkFBMEI7a0dBQTFCLDBCQUEwQjs7MkZBQTFCLDBCQUEwQjtrQkFIL0MsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsR0FBRztpQkFDZDs7QUFnQkUsTUFBTSxPQUFPLG9CQUFxQixTQUFRLGNBQTBCO0lBRXJFLFlBQW1DLEtBQWdCLEVBQWMsT0FBOEI7UUFDN0YsS0FBSyxFQUFFLENBQUM7UUFEeUIsVUFBSyxHQUFMLEtBQUssQ0FBVztRQW1CbkQsWUFBTyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7UUFNYixXQUFN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LENBQUM7SUFDbkIsQ0FBQzs4R0FYVSw4QkFBOEI7a0dBQTlCLDhCQUE4Qiw4SkFIOUIsQ0FBQyxFQUFFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxXQUFXLEVBQUUsOEJBQThCLEVBQUUsQ0FBQzs7MkZBR3RGLDhCQUE4QjtrQkFSMUMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsbUNBQW1DO29CQUM3QyxNQUFNLEVBQUU7d0JBQ04sR0FBRyxNQUFNO3FCQUNWO29CQUNELFNBQVMsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLFdBQVcsZ0NBQWdDLEVBQUUsQ0FBQztvQkFDakcsVUFBVSxFQUFFLElBQUk7aUJBQ2pCOzswQkFNd0QsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQsIE9wdGlvbmFsLCBQcmVkaWNhdGUsIFNpbXBsZUNoYW5nZXMgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIFJlcGxheVN1YmplY3QsIFN1YmplY3QsIHRha2VVbnRpbCwgdGFwIH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHsgQ3VzdG9tRmlsdGVyLCBGaWx0ZXJJbmZvIH0gZnJvbSBcIi4uL2NsYXNzZXMvZmlsdGVyLWluZm9cIjtcclxuaW1wb3J0IHsgdjQgYXMgdXVpZCB9IGZyb20gJ3V1aWQnO1xyXG5pbXBvcnQgeyBGaWx0ZXJUeXBlIH0gZnJvbSBcIi4uL2VudW1zL2ZpbHRlclR5cGVzXCI7XHJcbmltcG9ydCB7IE1hdFNsaWRlVG9nZ2xlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL3NsaWRlLXRvZ2dsZVwiO1xyXG5pbXBvcnQgeyBNYXRSYWRpb0J1dHRvbiB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9yYWRpb1wiO1xyXG5pbXBvcnQgeyBNYXRCdXR0b25Ub2dnbGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24tdG9nZ2xlJztcclxuaW1wb3J0IHsgTWF0Q2hlY2tib3ggfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvY2hlY2tib3hcIjtcclxuaW1wb3J0IHsgRmllbGRUeXBlIH0gZnJvbSBcIi4uL2ludGVyZmFjZXMvcmVwb3J0LWRlZlwiO1xyXG5pbXBvcnQgeyBOZ0NvbnRyb2wgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuaW1wb3J0IHsgQ29tcG9uZW50U3RvcmUgfSBmcm9tIFwiQG5ncngvY29tcG9uZW50LXN0b3JlXCI7XHJcbmltcG9ydCB7IFRhYmxlV3JhcHBlckRpcmVjdGl2ZSB9IGZyb20gXCIuL3RhYmxlLXdyYXBwZXIuZGlyZWN0aXZlXCI7XHJcbmltcG9ydCB7IE1hdE9wdGlvbiB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9jb3JlXCI7XHJcblxyXG5cclxuY29uc3QgaW5wdXRzID0gW1xyXG4gICdwcmVkaWNhdGU6IHRiQ3VzdG9tRmlsdGVyJyxcclxuICAnZmlsdGVySWQ6IGZpbHRlcklkJyxcclxuXTtcclxuXHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogJyAnXHJcbn0pXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBUYWJsZUN1c3RvbUZpbHRlckRpcmVjdGl2ZTxUID0gYW55PiB7XHJcbiAgYWJzdHJhY3QgZmlsdGVyJCA6IE9ic2VydmFibGU8Q3VzdG9tRmlsdGVyPjtcclxuICBmaWx0ZXJJZCE6IHN0cmluZztcclxuICBzYXZhYmxlID0gZmFsc2U7XHJcbiAgdXNlZCA9IGZhbHNlO1xyXG4gIGFic3RyYWN0IGFjdGl2ZTogYm9vbGVhbjtcclxuICBhYnN0cmFjdCByZXNldCgpOiB2b2lkO1xyXG59XHJcblxyXG5cclxuXHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogXCJbdGJGaWx0ZXJdXCIsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxufSkgZXhwb3J0IGNsYXNzIFRhYmxlRmlsdGVyRGlyZWN0aXZlIGV4dGVuZHMgQ29tcG9uZW50U3RvcmU8RmlsdGVySW5mbz4ge1xyXG5cclxuICBjb25zdHJ1Y3RvcihAT3B0aW9uYWwoKSBwcm90ZWN0ZWQgIG1vZGVsOiBOZ0NvbnRyb2wsIEBPcHRpb25hbCgpIHdyYXBwZXI6IFRhYmxlV3JhcHBlckRpcmVjdGl2ZSkge1xyXG4gICAgc3VwZXIoKTtcclxuICAgIGlmKHdyYXBwZXIpIHtcclxuICAgICAgd3JhcHBlci5yZWdpc3Rlcih0aGlzKTtcclxuICAgIH1cclxuICAgIGlmKG1vZGVsKSB7XHJcbiAgICAgIHRoaXMuZWZmZWN0KCAoKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIG1vZGVsLnZhbHVlQ2hhbmdlcyEucGlwZShcclxuICAgICAgICAgIHRhcCggdmFsID0+IHtcclxuICAgICAgICAgICAgdGhpcy5maWx0ZXJWYWx1ZSA9IHZhbDtcclxuICAgICAgICAgICAgdGhpcy51cGRhdGUoKTtcclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgKVxyXG4gICAgICB9KVxyXG4gICAgfVxyXG4gIH1cclxuICByZXNldCgpIHtcclxuICAgIHRoaXMuZmlsdGVyVmFsdWUgPSB1bmRlZmluZWQ7XHJcbiAgfVxyXG4gIGZpbHRlciQgPSB0aGlzLnN0YXRlJDtcclxuXHJcbiAgQElucHV0KCkgZmlsdGVyVHlwZSE6IEZpbHRlclR5cGU7XHJcbiAgQElucHV0KCkga2V5ITogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGZpZWxkVHlwZSE6IEZpZWxkVHlwZTtcclxuICBASW5wdXQoKSBmaWx0ZXJJZCE6IHN0cmluZztcclxuICBASW5wdXQoKSBhY3RpdmUgPSB0cnVlO1xyXG4gIEBJbnB1dCgpIGZpbHRlclZhbHVlOiBhbnkgPSBudWxsO1xyXG5cclxuICBzZXRGaWx0ZXJWYWx1ZSh2YWx1ZTogYW55KSB7XHJcbiAgICBpZih0aGlzLm1vZGVsKSB7XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMubW9kZWwucmVzZXQodmFsdWUpO1xyXG4gICAgICB9LCAwKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZmlsdGVyVmFsdWUgPSB2YWx1ZTtcclxuICAgIH1cclxuICB9XHJcblxyXG5cclxuICB1c2VkID0gZmFsc2U7XHJcbiAgc2F2YWJsZSA9IGZhbHNlO1xyXG4gIHJlYWR5ID0gZmFsc2U7XHJcblxyXG4gIF91c2VyQWN0aXZlID0gdHJ1ZTtcclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzICkge1xyXG4gICAgdGhpcy51cGRhdGUoKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgaWYoIXRoaXMuZmlsdGVySWQpIHtcclxuICAgICAgdGhpcy5maWx0ZXJJZCA9IHV1aWQoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2F2YWJsZSA9IHRydWU7XHJcbiAgICB9XHJcbiAgICB0aGlzLnJlYWR5ID0gdHJ1ZTtcclxuICAgIHRoaXMudXBkYXRlKCk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgc2V0RmlsdGVyKGZpbHRlcjogRmlsdGVySW5mbyApIHtcclxuICAgIHRoaXMuc2V0U3RhdGUoZmlsdGVyKTtcclxuICB9XHJcblxyXG4gIHVwZGF0ZSgpIHtcclxuICAgIGlmICh0aGlzLnJlYWR5KSB7XHJcbiAgICAgIHRoaXMuc2V0RmlsdGVyKFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIGZpbHRlcklkOiB0aGlzLmZpbHRlcklkLFxyXG4gICAgICAgICAga2V5OiB0aGlzLmtleSxcclxuICAgICAgICAgIGZpbHRlclR5cGU6IHRoaXMuZmlsdGVyVHlwZSxcclxuICAgICAgICAgIGZpZWxkVHlwZTogdGhpcy5maWVsZFR5cGUsXHJcbiAgICAgICAgICBmaWx0ZXJWYWx1ZTogdGhpcy5maWx0ZXJWYWx1ZSxcclxuICAgICAgICAgIGFjdGl2ZTogdGhpcy5hY3RpdmUgJiYgdGhpcy5maWx0ZXJWYWx1ZSAhPT0gdW5kZWZpbmVkLFxyXG4gICAgICAgICAgX2lzRXh0ZXJuYWx5TWFuYWdlZDogdHJ1ZSxcclxuICAgICAgICB9XHJcbiAgICAgICk7XHJcblxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbdGJGaWx0ZXJTdHJpbmdDb250YWluc10nLFxyXG4gIHByb3ZpZGVyczogW3sgcHJvdmlkZTogVGFibGVGaWx0ZXJEaXJlY3RpdmUsIHVzZUV4aXN0aW5nOiBUYWJsZUZpbHRlclN0cmluZ0NvbnRhaW5zRGlyZWN0aXZlIH1dLFxyXG4gIGlucHV0czogW1xyXG4gICAgJ2tleTp0YkZpbHRlclN0cmluZ0NvbnRhaW5zJyxcclxuICAgICdmaWx0ZXJWYWx1ZTpmaWx0ZXJWYWx1ZScsXHJcbiAgICAnZmlsdGVySWQ6IGZpbHRlcklkJyxcclxuICAgICdhY3RpdmU6IGFjdGl2ZScsXHJcbiAgXSxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG59KSBleHBvcnQgY2xhc3MgVGFibGVGaWx0ZXJTdHJpbmdDb250YWluc0RpcmVjdGl2ZSBleHRlbmRzIFRhYmxlRmlsdGVyRGlyZWN0aXZlIHtcclxuICBjb25zdHJ1Y3RvcihAT3B0aW9uYWwoKSAgbW9kZWw6IE5nQ29udHJvbCwgQE9wdGlvbmFsKCkgd3JhcHBlcjogVGFibGVXcmFwcGVyRGlyZWN0aXZlKSB7XHJcbiAgICBzdXBlcihtb2RlbCx3cmFwcGVyKTtcclxuICAgIHRoaXMuZmlsdGVyVHlwZSA9IEZpbHRlclR5cGUuU3RyaW5nQ29udGFpbnM7XHJcbiAgICB0aGlzLmZpZWxkVHlwZSA9IEZpZWxkVHlwZS5TdHJpbmc7XHJcbiAgICB0aGlzLmVmZmVjdCggKCkgPT4ge1xyXG4gICAgICByZXR1cm4gbW9kZWwudmFsdWVDaGFuZ2VzIS5waXBlKFxyXG4gICAgICAgIHRhcCggdmFsID0+IHtcclxuICAgICAgICAgIHRoaXMuZmlsdGVyVmFsdWUgPSB2YWw7XHJcbiAgICAgICAgICB0aGlzLnVwZGF0ZSgpO1xyXG4gICAgICAgIH0pXHJcbiAgICAgIClcclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBvdmVycmlkZSByZXNldCgpIHtcclxuICAgIGlmKHRoaXMubW9kZWwpIHtcclxuICAgICAgdGhpcy5tb2RlbC5yZXNldCgpO1xyXG4gICAgfVxyXG4gICAgc3VwZXIucmVzZXQoKTtcclxuICB9XHJcblxyXG4gIG92ZXJyaWRlIHNldEZpbHRlcihmaWx0ZXI6IEZpbHRlckluZm8pIHtcclxuICAgIGZpbHRlci5hY3RpdmUgPSBmaWx0ZXIuZmlsdGVyVmFsdWUgJiYgdGhpcy5fdXNlckFjdGl2ZTtcclxuICAgIHN1cGVyLnNldEZpbHRlcihmaWx0ZXIpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xyXG4gICAgaWYoY2hhbmdlc1snYWN0aXZlJ10pIHtcclxuICAgICAgdGhpcy5fdXNlckFjdGl2ZSA9IGNoYW5nZXNbJ2FjdGl2ZSddLmN1cnJlbnRWYWx1ZTtcclxuICAgIH1cclxuICAgIHN1cGVyLm5nT25DaGFuZ2VzKGNoYW5nZXMpO1xyXG4gIH1cclxufVxyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6IFwiW3RiQ3VzdG9tRmlsdGVyXVwiLFxyXG59KVxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgVGFibGVDdXN0b21GaWx0ZXJEaXJlY3RpdmVCYXNlPFQgPSBhbnk+IGV4dGVuZHMgVGFibGVDdXN0b21GaWx0ZXJEaXJlY3RpdmU8VD4ge1xyXG5cclxuICBmaWx0ZXIkISA6IFN1YmplY3Q8Q3VzdG9tRmlsdGVyPjtcclxuICBmaWx0ZXIhOiBDdXN0b21GaWx0ZXI7XHJcbiAgQElucHV0KCkgZmlsdGVySWQhIDogc3RyaW5nO1xyXG5cclxuICBfcHJlZGljYXRlITogUHJlZGljYXRlPFQ+O1xyXG4gIEBJbnB1dCgndGJDdXN0b21GaWx0ZXInKSBzZXQgcHJlZGljYXRlKCB2YWw6IFByZWRpY2F0ZTxUPiApIHtcclxuICAgIHRoaXMuX3ByZWRpY2F0ZSA9IHZhbDtcclxuICAgIHRoaXMudXBkYXRlKHtwcmVkaWNhdGU6dmFsfSk7XHJcbiAgfVxyXG5cclxuICBfYWN0aXZlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcmVhZHkgPSBmYWxzZTtcclxuXHJcbiAgdXBkYXRlKHZhbDogUGFydGlhbDxDdXN0b21GaWx0ZXI+ICkge1xyXG4gICAgaWYodGhpcy5yZWFkeSkge1xyXG4gICAgICB0aGlzLmZpbHRlciA9IHsuLi50aGlzLmZpbHRlciwuLi52YWx9O1xyXG4gICAgICB0aGlzLmZpbHRlciQubmV4dCh0aGlzLmZpbHRlcik7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKSBzZXQgYWN0aXZlKHZhbDogYm9vbGVhbikge1xyXG4gICAgaWYodGhpcy5fYWN0aXZlICE9PSB2YWwpIHtcclxuICAgICAgdGhpcy5fYWN0aXZlID0gdmFsO1xyXG4gICAgICB0aGlzLnVwZGF0ZSh7YWN0aXZlOnZhbH0pO1xyXG4gICAgfVxyXG4gIH1cclxuICBnZXQgYWN0aXZlKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2FjdGl2ZTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgaWYoIXRoaXMuZmlsdGVySWQpIHtcclxuICAgICAgdGhpcy5maWx0ZXJJZCA9IHV1aWQoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2F2YWJsZSA9IHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5maWx0ZXIgPSB7XHJcbiAgICAgIGZpbHRlclR5cGU6IEZpbHRlclR5cGUuQ3VzdG9tLFxyXG4gICAgICBmaWx0ZXJJZDogdGhpcy5maWx0ZXJJZCxcclxuICAgICAgYWN0aXZlOiB0aGlzLl9hY3RpdmUsXHJcbiAgICAgIHByZWRpY2F0ZTogdGhpcy5fcHJlZGljYXRlLFxyXG4gICAgfTtcclxuICAgIHRoaXMucmVhZHkgPSB0cnVlO1xyXG4gICAgdGhpcy5maWx0ZXIkID0gbmV3IEJlaGF2aW9yU3ViamVjdCh0aGlzLmZpbHRlcik7XHJcbiAgfVxyXG59XHJcblxyXG5ARGlyZWN0aXZlKClcclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFRiU2VsZWN0ZWRGaWx0ZXJEaXJlY3RpdmU8VCA9IGFueT4gIGV4dGVuZHMgVGFibGVDdXN0b21GaWx0ZXJEaXJlY3RpdmVCYXNlPFQ+IHtcclxuXHJcblxyXG4gIHByb3RlY3RlZCBjb25zdHJ1Y3Rvcihwcml2YXRlIGNoYW5nZTogT2JzZXJ2YWJsZTxhbnk+LCBwcml2YXRlIGlzQWN0aXZlOiAoKSA9PiBib29sZWFuLCBAT3B0aW9uYWwoKSB3cmFwcGVyOiBUYWJsZVdyYXBwZXJEaXJlY3RpdmUpIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgICBpZih3cmFwcGVyKSB7XHJcbiAgICAgIHdyYXBwZXIucmVnaXN0ZXIodGhpcyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByZXNldCgpIHtcclxuICAgIHRoaXMuYWN0aXZlID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBkZXN0cm95U3ViamVjdCQgPSBuZXcgUmVwbGF5U3ViamVjdDx2b2lkPigxKTtcclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMuZGVzdHJveVN1YmplY3QkLm5leHQoKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fYWN0aXZlID0gdGhpcy5pc0FjdGl2ZSgpO1xyXG4gICAgc3VwZXIubmdPbkluaXQoKTtcclxuICAgIHRoaXMuY2hhbmdlLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveVN1YmplY3QkKSkuc3Vic2NyaWJlKCAoKSA9PiB7XHJcbiAgICAgIHRoaXMuYWN0aXZlID0gdGhpcy5pc0FjdGl2ZSgpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBDaGVja2JveFxyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogJ21hdC1jaGVja2JveFt0YkN1c3RvbUZpbHRlcl0nLFxyXG4gIGlucHV0czogW1xyXG4gICAgLi4uaW5wdXRzXHJcbiAgXSxcclxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IFRhYmxlQ3VzdG9tRmlsdGVyRGlyZWN0aXZlLCB1c2VFeGlzdGluZzogTWF0Q2hlY2tib3hUYkZpbHRlckRpcmVjdGl2ZSB9XSxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTWF0Q2hlY2tib3hUYkZpbHRlckRpcmVjdGl2ZSBleHRlbmRzIFRiU2VsZWN0ZWRGaWx0ZXJEaXJlY3RpdmUge1xyXG5cclxuICBvdmVycmlkZSBzZXQgYWN0aXZlKHZhbDogYm9vbGVhbikge1xyXG4gICAgdGhpcy5tYXRDaGVja2JveC5jaGVja2VkID0gdmFsO1xyXG4gICAgc3VwZXIuYWN0aXZlID0gdmFsO1xyXG4gIH1cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIG1hdENoZWNrYm94OiBNYXRDaGVja2JveCwgQE9wdGlvbmFsKCkgd3JhcHBlcjogVGFibGVXcmFwcGVyRGlyZWN0aXZlKSB7XHJcbiAgICBzdXBlcihtYXRDaGVja2JveC5jaGFuZ2UsICgpID0+IG1hdENoZWNrYm94LmNoZWNrZWQsIHdyYXBwZXIpO1xyXG4gIH1cclxufVxyXG5cclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnbWF0LXNsaWRlLXRvZ2dsZVt0YkN1c3RvbUZpbHRlcl0nLFxyXG4gIGlucHV0czogW1xyXG4gICAgLi4uaW5wdXRzXHJcbiAgXSxcclxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IFRhYmxlQ3VzdG9tRmlsdGVyRGlyZWN0aXZlLCB1c2VFeGlzdGluZzogTWF0U2xpZGVUb2dnbGVUYkZpbHRlckRpcmVjdGl2ZSB9XSxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTWF0U2xpZGVUb2dnbGVUYkZpbHRlckRpcmVjdGl2ZTxUID0gYW55PiBleHRlbmRzIFRiU2VsZWN0ZWRGaWx0ZXJEaXJlY3RpdmU8VD4ge1xyXG4gIG92ZXJyaWRlIHNldCBhY3RpdmUodmFsOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLm1hdFNsaWRlVG9nZ2xlLmNoZWNrZWQgPSB2YWw7XHJcbiAgICBzdXBlci5hY3RpdmUgPSB2YWw7XHJcbiAgfVxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgbWF0U2xpZGVUb2dnbGU6IE1hdFNsaWRlVG9nZ2xlLCBAT3B0aW9uYWwoKSB3cmFwcGVyOiBUYWJsZVdyYXBwZXJEaXJlY3RpdmUpIHtcclxuICAgIHN1cGVyKG1hdFNsaWRlVG9nZ2xlLmNoYW5nZSwgKCkgPT4gbWF0U2xpZGVUb2dnbGUuY2hlY2tlZCx3cmFwcGVyKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgc3VwZXIubmdPbkluaXQoKTtcclxuICB9XHJcbn1cclxuXHJcbi8vIFJhZGlvIGJ1dHRvblxyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogJ21hdC1yYWRpby1idXR0b25bdGJDdXN0b21GaWx0ZXJdJyxcclxuICBpbnB1dHM6IFsncHJlZGljYXRlOiB0YkN1c3RvbUZpbHRlciddLFxyXG4gIHByb3ZpZGVyczogW3sgcHJvdmlkZTogVGFibGVDdXN0b21GaWx0ZXJEaXJlY3RpdmUsIHVzZUV4aXN0aW5nOiBNYXRSYWRpb0J1dHRvblRiRmlsdGVyRGlyZWN0aXZlIH1dLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNYXRSYWRpb0J1dHRvblRiRmlsdGVyRGlyZWN0aXZlIGV4dGVuZHMgVGJTZWxlY3RlZEZpbHRlckRpcmVjdGl2ZSB7XHJcblxyXG4gIG92ZXJyaWRlIHNldCBhY3RpdmUodmFsOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLm1hdFJhZGlvQnV0dG9uLmNoZWNrZWQgPSB2YWw7XHJcbiAgICBzdXBlci5hY3RpdmUgPSB2YWw7XHJcbiAgfVxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgbWF0UmFkaW9CdXR0b246IE1hdFJhZGlvQnV0dG9uLCBAT3B0aW9uYWwoKSB3cmFwcGVyOiBUYWJsZVdyYXBwZXJEaXJlY3RpdmUpIHtcclxuICAgIHN1cGVyKG1hdFJhZGlvQnV0dG9uLmNoYW5nZSwgKCkgPT4gbWF0UmFkaW9CdXR0b24uY2hlY2tlZCwgd3JhcHBlcik7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHN1cGVyLm5nT25Jbml0KCk7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBPcHRpb24gKHNlbGVjdClcclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdtYXQtb3B0aW9uW3RiQ3VzdG9tRmlsdGVyXScsXHJcbiAgaW5wdXRzOiBbXHJcbiAgICAuLi5pbnB1dHNcclxuICBdLFxyXG4gIHByb3ZpZGVyczogW3sgcHJvdmlkZTogVGFibGVDdXN0b21GaWx0ZXJEaXJlY3RpdmUsIHVzZUV4aXN0aW5nOiBNYXRPcHRpb25UYkZpbHRlckRpcmVjdGl2ZSB9XSxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTWF0T3B0aW9uVGJGaWx0ZXJEaXJlY3RpdmUgZXh0ZW5kcyBUYlNlbGVjdGVkRmlsdGVyRGlyZWN0aXZlIHtcclxuXHJcbiAgb3ZlcnJpZGUgc2V0IGFjdGl2ZSh2YWw6IGJvb2xlYW4pIHtcclxuICAgIGlmKHZhbCkge1xyXG4gICAgICB0aGlzLm1hdE9wdGlvbi5zZWxlY3QoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMubWF0T3B0aW9uLmRlc2VsZWN0KCk7XHJcbiAgICB9XHJcbiAgICBzdXBlci5hY3RpdmUgPSB2YWw7XHJcbiAgfVxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgbWF0T3B0aW9uOiBNYXRPcHRpb24sIEBPcHRpb25hbCgpIHdyYXBwZXI6IFRhYmxlV3JhcHBlckRpcmVjdGl2ZSkge1xyXG4gICAgc3VwZXIoIG1hdE9wdGlvbi5vblNlbGVjdGlvbkNoYW5nZS5waXBlKHRhcCggZCA9PiB7XHJcbiAgICAgIGlmKCFtYXRPcHRpb24udmFsdWUpIHtcclxuICAgICAgICBtYXRPcHRpb24udmFsdWUgPSB1dWlkKCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICApKSwgKCkgPT4gbWF0T3B0aW9uLnNlbGVjdGVkLCB3cmFwcGVyKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgc3VwZXIubmdPbkluaXQoKTtcclxuICB9XHJcbn1cclxuXHJcbi8vIEJ1dHRvbiB0b2dnbGVcclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdtYXQtYnV0dG9uLXRvZ2dsZVt0YkN1c3RvbUZpbHRlcl0nLFxyXG4gIGlucHV0czogW1xyXG4gICAgLi4uaW5wdXRzXHJcbiAgXSxcclxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IFRhYmxlQ3VzdG9tRmlsdGVyRGlyZWN0aXZlLCB1c2VFeGlzdGluZzogTWF0QnV0dG9uVG9nZ2xlRmlsdGVyRGlyZWN0aXZlIH1dLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNYXRCdXR0b25Ub2dnbGVGaWx0ZXJEaXJlY3RpdmUgZXh0ZW5kcyBUYlNlbGVjdGVkRmlsdGVyRGlyZWN0aXZlIHtcclxuICBvdmVycmlkZSBzZXQgYWN0aXZlKHZhbDogYm9vbGVhbikge1xyXG4gICAgdGhpcy5tYXRCdXR0b25Ub2dnbGUuY2hlY2tlZCA9IHZhbDtcclxuICAgIHN1cGVyLmFjdGl2ZSA9IHZhbDtcclxuICB9XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBtYXRCdXR0b25Ub2dnbGU6IE1hdEJ1dHRvblRvZ2dsZSwgQE9wdGlvbmFsKCkgd3JhcHBlcjogVGFibGVXcmFwcGVyRGlyZWN0aXZlKSB7XHJcbiAgICBzdXBlcihtYXRCdXR0b25Ub2dnbGUuY2hhbmdlLCAoKSA9PiBtYXRCdXR0b25Ub2dnbGUuY2hlY2tlZCx3cmFwcGVyKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgc3VwZXIubmdPbkluaXQoKTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -28,45 +28,45 @@ export var FilterType;
|
|
|
28
28
|
FilterType["Custom"] = "Custom";
|
|
29
29
|
})(FilterType || (FilterType = {}));
|
|
30
30
|
export const NumberFilterMap = {
|
|
31
|
-
[FilterType.NumberEquals]:
|
|
32
|
-
[FilterType.NumberNotEqual]:
|
|
33
|
-
[FilterType.NumberGreaterThan]:
|
|
34
|
-
[FilterType.NumberLessThan]:
|
|
35
|
-
[FilterType.NumberBetween]:
|
|
36
|
-
[FilterType.IsNull]:
|
|
37
|
-
[FilterType.In]:
|
|
31
|
+
[FilterType.NumberEquals]: FilterType.NumberEquals,
|
|
32
|
+
[FilterType.NumberNotEqual]: FilterType.NumberNotEqual,
|
|
33
|
+
[FilterType.NumberGreaterThan]: FilterType.NumberGreaterThan,
|
|
34
|
+
[FilterType.NumberLessThan]: FilterType.NumberLessThan,
|
|
35
|
+
[FilterType.NumberBetween]: FilterType.NumberBetween,
|
|
36
|
+
[FilterType.IsNull]: FilterType.IsNull,
|
|
37
|
+
[FilterType.In]: FilterType.In,
|
|
38
38
|
};
|
|
39
39
|
export const StringFilterMap = {
|
|
40
|
-
[FilterType.StringEquals]:
|
|
41
|
-
[FilterType.StringContains]:
|
|
42
|
-
[FilterType.StringDoesNotContain]:
|
|
43
|
-
[FilterType.StringStartWith]:
|
|
44
|
-
[FilterType.StringEndsWith]:
|
|
45
|
-
[FilterType.IsNull]:
|
|
46
|
-
[FilterType.In]:
|
|
40
|
+
[FilterType.StringEquals]: FilterType.StringEquals,
|
|
41
|
+
[FilterType.StringContains]: FilterType.StringContains,
|
|
42
|
+
[FilterType.StringDoesNotContain]: FilterType.StringDoesNotContain,
|
|
43
|
+
[FilterType.StringStartWith]: FilterType.StringStartWith,
|
|
44
|
+
[FilterType.StringEndsWith]: FilterType.StringEndsWith,
|
|
45
|
+
[FilterType.IsNull]: FilterType.IsNull,
|
|
46
|
+
[FilterType.In]: FilterType.In,
|
|
47
47
|
};
|
|
48
48
|
export const DateFilterMap = {
|
|
49
|
-
[FilterType.DateIsOn]:
|
|
50
|
-
[FilterType.DateIsNotOn]:
|
|
51
|
-
[FilterType.DateOnOrAfter]:
|
|
52
|
-
[FilterType.DateOnOrBefore]:
|
|
53
|
-
[FilterType.DateBetween]:
|
|
54
|
-
[FilterType.IsNull]:
|
|
49
|
+
[FilterType.DateIsOn]: FilterType.DateIsOn,
|
|
50
|
+
[FilterType.DateIsNotOn]: FilterType.DateIsNotOn,
|
|
51
|
+
[FilterType.DateOnOrAfter]: FilterType.DateOnOrAfter,
|
|
52
|
+
[FilterType.DateOnOrBefore]: FilterType.DateOnOrBefore,
|
|
53
|
+
[FilterType.DateBetween]: FilterType.DateBetween,
|
|
54
|
+
[FilterType.IsNull]: FilterType.IsNull,
|
|
55
55
|
};
|
|
56
56
|
export const DateTimeFilterMap = {
|
|
57
57
|
...DateFilterMap,
|
|
58
|
-
[FilterType.DateTimeIsAt]:
|
|
59
|
-
[FilterType.DateTimeIsNotAt]:
|
|
60
|
-
[FilterType.DateTimeAtOrAfter]:
|
|
61
|
-
[FilterType.DateTimeAtOrBefore]:
|
|
62
|
-
[FilterType.DateTimeBetween]:
|
|
58
|
+
[FilterType.DateTimeIsAt]: FilterType.DateTimeIsAt,
|
|
59
|
+
[FilterType.DateTimeIsNotAt]: FilterType.DateTimeIsNotAt,
|
|
60
|
+
[FilterType.DateTimeAtOrAfter]: FilterType.DateTimeAtOrAfter,
|
|
61
|
+
[FilterType.DateTimeAtOrBefore]: FilterType.DateTimeAtOrBefore,
|
|
62
|
+
[FilterType.DateTimeBetween]: FilterType.DateTimeBetween,
|
|
63
63
|
};
|
|
64
64
|
export const BooleanFilterMap = {
|
|
65
|
-
[FilterType.BooleanEquals]:
|
|
66
|
-
[FilterType.IsNull]:
|
|
65
|
+
[FilterType.BooleanEquals]: FilterType.BooleanEquals,
|
|
66
|
+
[FilterType.IsNull]: FilterType.IsNull,
|
|
67
67
|
};
|
|
68
68
|
export const EnumFilterMap = {
|
|
69
|
-
[FilterType.IsNull]:
|
|
70
|
-
[FilterType.In]:
|
|
69
|
+
[FilterType.IsNull]: FilterType.IsNull,
|
|
70
|
+
[FilterType.In]: FilterType.In
|
|
71
71
|
};
|
|
72
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
72
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyVHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXV0aWxpdGllcy9zcmMvdGFibGUtYnVpbGRlci9lbnVtcy9maWx0ZXJUeXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxNQUFNLENBQU4sSUFBWSxVQTJCWDtBQTNCRCxXQUFZLFVBQVU7SUFDbEIscUNBQXVCLENBQUE7SUFDdkIsK0NBQWlDLENBQUE7SUFDakMsZ0RBQWtDLENBQUE7SUFDbEMsMENBQTRCLENBQUE7SUFDNUIsdUNBQXlCLENBQUE7SUFDekIscUNBQXVCLENBQUE7SUFDdkIseUNBQTJCLENBQUE7SUFDM0IsdURBQXlDLENBQUE7SUFDekMsNENBQThCLENBQUE7SUFDOUIsMENBQTRCLENBQUE7SUFDNUIsZ0NBQWtCLENBQUE7SUFDbEIsdUNBQXlCLENBQUE7SUFDekIsMkNBQTZCLENBQUE7SUFDN0IsNkNBQStCLENBQUE7SUFDL0IscUNBQXVCLENBQUE7SUFDdkIsb0NBQXNCLENBQUE7SUFDdEIsMkNBQTZCLENBQUE7SUFDN0IsK0NBQWlDLENBQUE7SUFDakMsaURBQW1DLENBQUE7SUFDbkMseUNBQTJCLENBQUE7SUFDM0Isa0NBQW9CLENBQUE7SUFDcEIsaUNBQW1CLENBQUE7SUFDbkIsdUJBQVMsQ0FBQTtJQUNULHlCQUFXLENBQUE7SUFDWCx1QkFBUyxDQUFBO0lBQ1QsK0JBQWlCLENBQUE7QUFDckIsQ0FBQyxFQTNCVyxVQUFVLEtBQVYsVUFBVSxRQTJCckI7QUFFRCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUc7SUFDM0IsQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLEVBQUMsVUFBVSxDQUFDLFlBQVk7SUFDakQsQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDLEVBQUMsVUFBVSxDQUFDLGNBQWM7SUFDckQsQ0FBQyxVQUFVLENBQUMsaUJBQWlCLENBQUMsRUFBQyxVQUFVLENBQUMsaUJBQWlCO0lBQzNELENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxFQUFDLFVBQVUsQ0FBQyxjQUFjO0lBQ3JELENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxFQUFDLFVBQVUsQ0FBQyxhQUFhO0lBQ25ELENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxFQUFDLFVBQVUsQ0FBQyxNQUFNO0lBQ3JDLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxFQUFDLFVBQVUsQ0FBQyxFQUFFO0NBQ00sQ0FBQztBQUV4QyxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUc7SUFDM0IsQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLEVBQUMsVUFBVSxDQUFDLFlBQVk7SUFDakQsQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDLEVBQUMsVUFBVSxDQUFDLGNBQWM7SUFDckQsQ0FBQyxVQUFVLENBQUMsb0JBQW9CLENBQUMsRUFBQyxVQUFVLENBQUMsb0JBQW9CO0lBQ2pFLENBQUMsVUFBVSxDQUFDLGVBQWUsQ0FBQyxFQUFDLFVBQVUsQ0FBQyxlQUFlO0lBQ3ZELENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxFQUFDLFVBQVUsQ0FBQyxjQUFjO0lBQ3JELENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxFQUFDLFVBQVUsQ0FBQyxNQUFNO0lBQ3JDLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxFQUFDLFVBQVUsQ0FBQyxFQUFFO0NBQ00sQ0FBQztBQUV4QyxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUc7SUFDekIsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLEVBQUMsVUFBVSxDQUFDLFFBQVE7SUFDekMsQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLEVBQUMsVUFBVSxDQUFDLFdBQVc7SUFDL0MsQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLEVBQUMsVUFBVSxDQUFDLGFBQWE7SUFDbkQsQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDLEVBQUMsVUFBVSxDQUFDLGNBQWM7SUFDckQsQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLEVBQUMsVUFBVSxDQUFDLFdBQVc7SUFDL0MsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLEVBQUMsVUFBVSxDQUFDLE1BQU07Q0FDRixDQUFDO0FBRXhDLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHO0lBQy9CLEdBQUcsYUFBYTtJQUNoQixDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsRUFBQyxVQUFVLENBQUMsWUFBWTtJQUNqRCxDQUFDLFVBQVUsQ0FBQyxlQUFlLENBQUMsRUFBQyxVQUFVLENBQUMsZUFBZTtJQUN2RCxDQUFDLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFDLFVBQVUsQ0FBQyxpQkFBaUI7SUFDM0QsQ0FBQyxVQUFVLENBQUMsa0JBQWtCLENBQUMsRUFBQyxVQUFVLENBQUMsa0JBQWtCO0lBQzdELENBQUMsVUFBVSxDQUFDLGVBQWUsQ0FBQyxFQUFDLFVBQVUsQ0FBQyxlQUFlO0NBQ2xCLENBQUM7QUFFeEMsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUk7SUFDN0IsQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLEVBQUUsVUFBVSxDQUFDLGFBQWE7SUFDcEQsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLEVBQUMsVUFBVSxDQUFDLE1BQU07Q0FDRixDQUFDO0FBRXhDLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRztJQUMzQixDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsRUFBRyxVQUFVLENBQUMsTUFBTTtJQUN2QyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsRUFBRyxVQUFVLENBQUMsRUFBRTtDQUNNLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJcclxuZXhwb3J0IGVudW0gRmlsdGVyVHlwZSB7XHJcbiAgICBOdW1iZXJFcXVhbHMgPSAnRXF1YWxzJyxcclxuICAgIE51bWJlck5vdEVxdWFsID0gJ0RvZXMgTm90IEVxdWFsJyxcclxuICAgIE51bWJlckdyZWF0ZXJUaGFuID0gJ0dyZWF0ZXIgVGhhbicsXHJcbiAgICBOdW1iZXJMZXNzVGhhbiA9ICdMZXNzIFRoYW4nLFxyXG4gICAgTnVtYmVyQmV0d2VlbiA9ICdCZXR3ZWVuJyxcclxuICAgIFN0cmluZ0VxdWFscyA9ICdFcXVhbHMnLFxyXG4gICAgU3RyaW5nQ29udGFpbnMgPSAnQ29udGFpbnMnLFxyXG4gICAgU3RyaW5nRG9lc05vdENvbnRhaW4gPSAnRG9lcyBOb3QgQ29udGFpbicsXHJcbiAgICBTdHJpbmdTdGFydFdpdGggPSAnU3RhcnQgV2l0aCcsXHJcbiAgICBTdHJpbmdFbmRzV2l0aCA9ICdFbmRzIFdpdGgnLFxyXG4gICAgRGF0ZUlzT24gPSAnSXMgb24nLFxyXG4gICAgRGF0ZUlzTm90T24gPSAnSXMgTm90IE9uJyxcclxuICAgIERhdGVPbk9yQWZ0ZXIgPSAnT24gb3IgQWZ0ZXInLFxyXG4gICAgRGF0ZU9uT3JCZWZvcmUgPSAnT24gb3IgQmVmb3JlJyxcclxuICAgIERhdGVCZXR3ZWVuID0gJ0JldHdlZW4nLFxyXG4gICAgRGF0ZVRpbWVJc0F0ID0gJ0lzIEF0JyxcclxuICAgIERhdGVUaW1lSXNOb3RBdCA9ICdJcyBOb3QgQXQnLFxyXG4gICAgRGF0ZVRpbWVBdE9yQWZ0ZXIgPSAnQXQgb3IgQWZ0ZXInLFxyXG4gICAgRGF0ZVRpbWVBdE9yQmVmb3JlID0gJ0F0IG9yIEJlZm9yZScsXHJcbiAgICBEYXRlVGltZUJldHdlZW4gPSAnQmV0d2VlbicsXHJcbiAgICBCb29sZWFuRXF1YWxzID0gJ0lzJyxcclxuICAgIElzTnVsbCA9ICdJcyBCbGFuaycsXHJcbiAgICBPciA9ICdPcicsXHJcbiAgICBBbmQgPSAnQW5kJyxcclxuICAgIEluID0gJ0luJyxcclxuICAgIEN1c3RvbSA9ICdDdXN0b20nLFxyXG59XHJcblxyXG5leHBvcnQgY29uc3QgTnVtYmVyRmlsdGVyTWFwID0ge1xyXG4gICAgW0ZpbHRlclR5cGUuTnVtYmVyRXF1YWxzXTpGaWx0ZXJUeXBlLk51bWJlckVxdWFscyxcclxuICAgIFtGaWx0ZXJUeXBlLk51bWJlck5vdEVxdWFsXTpGaWx0ZXJUeXBlLk51bWJlck5vdEVxdWFsLFxyXG4gICAgW0ZpbHRlclR5cGUuTnVtYmVyR3JlYXRlclRoYW5dOkZpbHRlclR5cGUuTnVtYmVyR3JlYXRlclRoYW4sXHJcbiAgICBbRmlsdGVyVHlwZS5OdW1iZXJMZXNzVGhhbl06RmlsdGVyVHlwZS5OdW1iZXJMZXNzVGhhbixcclxuICAgIFtGaWx0ZXJUeXBlLk51bWJlckJldHdlZW5dOkZpbHRlclR5cGUuTnVtYmVyQmV0d2VlbixcclxuICAgIFtGaWx0ZXJUeXBlLklzTnVsbF06RmlsdGVyVHlwZS5Jc051bGwsXHJcbiAgICBbRmlsdGVyVHlwZS5Jbl06RmlsdGVyVHlwZS5JbixcclxufSBhcyBjb25zdCBzYXRpc2ZpZXMgRmlsdGVyVG9GaWx0ZXJzTWFwO1xyXG5cclxuZXhwb3J0IGNvbnN0IFN0cmluZ0ZpbHRlck1hcCA9IHtcclxuICAgIFtGaWx0ZXJUeXBlLlN0cmluZ0VxdWFsc106RmlsdGVyVHlwZS5TdHJpbmdFcXVhbHMsXHJcbiAgICBbRmlsdGVyVHlwZS5TdHJpbmdDb250YWluc106RmlsdGVyVHlwZS5TdHJpbmdDb250YWlucyxcclxuICAgIFtGaWx0ZXJUeXBlLlN0cmluZ0RvZXNOb3RDb250YWluXTpGaWx0ZXJUeXBlLlN0cmluZ0RvZXNOb3RDb250YWluLFxyXG4gICAgW0ZpbHRlclR5cGUuU3RyaW5nU3RhcnRXaXRoXTpGaWx0ZXJUeXBlLlN0cmluZ1N0YXJ0V2l0aCxcclxuICAgIFtGaWx0ZXJUeXBlLlN0cmluZ0VuZHNXaXRoXTpGaWx0ZXJUeXBlLlN0cmluZ0VuZHNXaXRoLFxyXG4gICAgW0ZpbHRlclR5cGUuSXNOdWxsXTpGaWx0ZXJUeXBlLklzTnVsbCxcclxuICAgIFtGaWx0ZXJUeXBlLkluXTpGaWx0ZXJUeXBlLkluLFxyXG59IGFzIGNvbnN0IHNhdGlzZmllcyBGaWx0ZXJUb0ZpbHRlcnNNYXA7XHJcblxyXG5leHBvcnQgY29uc3QgRGF0ZUZpbHRlck1hcCA9IHtcclxuICAgIFtGaWx0ZXJUeXBlLkRhdGVJc09uXTpGaWx0ZXJUeXBlLkRhdGVJc09uLFxyXG4gICAgW0ZpbHRlclR5cGUuRGF0ZUlzTm90T25dOkZpbHRlclR5cGUuRGF0ZUlzTm90T24sXHJcbiAgICBbRmlsdGVyVHlwZS5EYXRlT25PckFmdGVyXTpGaWx0ZXJUeXBlLkRhdGVPbk9yQWZ0ZXIsXHJcbiAgICBbRmlsdGVyVHlwZS5EYXRlT25PckJlZm9yZV06RmlsdGVyVHlwZS5EYXRlT25PckJlZm9yZSxcclxuICAgIFtGaWx0ZXJUeXBlLkRhdGVCZXR3ZWVuXTpGaWx0ZXJUeXBlLkRhdGVCZXR3ZWVuLFxyXG4gICAgW0ZpbHRlclR5cGUuSXNOdWxsXTpGaWx0ZXJUeXBlLklzTnVsbCxcclxufSBhcyBjb25zdCBzYXRpc2ZpZXMgRmlsdGVyVG9GaWx0ZXJzTWFwO1xyXG5cclxuZXhwb3J0IGNvbnN0IERhdGVUaW1lRmlsdGVyTWFwID0ge1xyXG4gIC4uLkRhdGVGaWx0ZXJNYXAsXHJcbiAgW0ZpbHRlclR5cGUuRGF0ZVRpbWVJc0F0XTpGaWx0ZXJUeXBlLkRhdGVUaW1lSXNBdCxcclxuICBbRmlsdGVyVHlwZS5EYXRlVGltZUlzTm90QXRdOkZpbHRlclR5cGUuRGF0ZVRpbWVJc05vdEF0LFxyXG4gIFtGaWx0ZXJUeXBlLkRhdGVUaW1lQXRPckFmdGVyXTpGaWx0ZXJUeXBlLkRhdGVUaW1lQXRPckFmdGVyLFxyXG4gIFtGaWx0ZXJUeXBlLkRhdGVUaW1lQXRPckJlZm9yZV06RmlsdGVyVHlwZS5EYXRlVGltZUF0T3JCZWZvcmUsXHJcbiAgW0ZpbHRlclR5cGUuRGF0ZVRpbWVCZXR3ZWVuXTpGaWx0ZXJUeXBlLkRhdGVUaW1lQmV0d2VlbixcclxufSBhcyBjb25zdCBzYXRpc2ZpZXMgRmlsdGVyVG9GaWx0ZXJzTWFwO1xyXG5cclxuZXhwb3J0IGNvbnN0IEJvb2xlYW5GaWx0ZXJNYXAgID0ge1xyXG4gICAgW0ZpbHRlclR5cGUuQm9vbGVhbkVxdWFsc106IEZpbHRlclR5cGUuQm9vbGVhbkVxdWFscyxcclxuICAgIFtGaWx0ZXJUeXBlLklzTnVsbF06RmlsdGVyVHlwZS5Jc051bGwsXHJcbn0gYXMgY29uc3Qgc2F0aXNmaWVzIEZpbHRlclRvRmlsdGVyc01hcDtcclxuXHJcbmV4cG9ydCBjb25zdCBFbnVtRmlsdGVyTWFwID0ge1xyXG4gIFtGaWx0ZXJUeXBlLklzTnVsbF0gOiBGaWx0ZXJUeXBlLklzTnVsbCxcclxuICBbRmlsdGVyVHlwZS5Jbl0gOiBGaWx0ZXJUeXBlLkluXHJcbn0gYXMgY29uc3Qgc2F0aXNmaWVzIEZpbHRlclRvRmlsdGVyc01hcDtcclxuXHJcbmV4cG9ydCB0eXBlIEZpbHRlclRvRmlsdGVyc01hcCA9IFBhcnRpYWw8e1trZXkgaW4gRmlsdGVyVHlwZV06IEZpbHRlclR5cGV9PjtcclxuIl19
|