@eo-sdk/client 10.6.0-rc.4 → 10.6.0-rc.6

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.
Files changed (41) hide show
  1. package/app/eo-client/dashboard/widgets/charts-widget/charts-setup/charts-setup.component.d.ts +0 -6
  2. package/app/eo-client/dashboard/widgets/charts-widget/charts-setup/charts-setup.component.d.ts.map +1 -1
  3. package/app/eo-framework/media/media.component.d.ts +6 -1
  4. package/app/eo-framework/media/media.component.d.ts.map +1 -1
  5. package/app/eo-framework/object-details/object-details.component.d.ts +2 -1
  6. package/app/eo-framework/object-details/object-details.component.d.ts.map +1 -1
  7. package/app/eo-framework/object-form/object-form/form-element-table/row-edit/row-edit.component.d.ts +1 -0
  8. package/app/eo-framework/object-form/object-form/form-element-table/row-edit/row-edit.component.d.ts.map +1 -1
  9. package/app/eo-framework/object-state-details/object-state-details.component.d.ts +2 -0
  10. package/app/eo-framework/object-state-details/object-state-details.component.d.ts.map +1 -1
  11. package/app/eo-framework/ui/eo-dialog/eo-dialog.component.d.ts +5 -18
  12. package/app/eo-framework/ui/eo-dialog/eo-dialog.component.d.ts.map +1 -1
  13. package/app/eo-framework/ui/ui.module.d.ts +3 -2
  14. package/app/eo-framework/ui/ui.module.d.ts.map +1 -1
  15. package/app/eo-framework-core/api/grid.service.d.ts.map +1 -1
  16. package/app/eo-framework-core/api/plugins.service.d.ts +1 -0
  17. package/app/eo-framework-core/api/plugins.service.d.ts.map +1 -1
  18. package/assets/_default/i18n/de.json +4 -3
  19. package/assets/_default/i18n/en.json +3 -3
  20. package/esm2020/app/eo-client/about-state/about-state.component.mjs +3 -3
  21. package/esm2020/app/eo-client/dashboard/widgets/charts-widget/charts-setup/charts-setup.component.mjs +14 -9
  22. package/esm2020/app/eo-framework/form-elements/checkbox/checkbox.component.mjs +4 -3
  23. package/esm2020/app/eo-framework/form-elements/date/date.component.mjs +2 -2
  24. package/esm2020/app/eo-framework/grid/filters/datetime-filter.component.mjs +2 -2
  25. package/esm2020/app/eo-framework/inbox-details/inbox-details.component.mjs +3 -3
  26. package/esm2020/app/eo-framework/media/media.component.mjs +12 -4
  27. package/esm2020/app/eo-framework/object-details/object-details.component.mjs +9 -5
  28. package/esm2020/app/eo-framework/object-form/object-form/form-element-table/form-element-table.component.mjs +2 -2
  29. package/esm2020/app/eo-framework/object-form/object-form/form-element-table/row-edit/row-edit.component.mjs +10 -3
  30. package/esm2020/app/eo-framework/object-state-details/object-state-details.component.mjs +9 -5
  31. package/esm2020/app/eo-framework/ui/eo-dialog/eo-dialog.component.mjs +32 -117
  32. package/esm2020/app/eo-framework/ui/ui.module.mjs +5 -1
  33. package/esm2020/app/eo-framework-core/api/grid.service.mjs +3 -2
  34. package/esm2020/app/eo-framework-core/api/plugins.service.mjs +5 -1
  35. package/fesm2015/eo-sdk-client.mjs +112 -156
  36. package/fesm2015/eo-sdk-client.mjs.map +1 -1
  37. package/fesm2020/eo-sdk-client.mjs +110 -155
  38. package/fesm2020/eo-sdk-client.mjs.map +1 -1
  39. package/package.json +3 -3
  40. package/scss/_yuuvis-components.scss +22 -14
  41. package/styles.css +6 -0
@@ -3,7 +3,7 @@ import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core
3
3
  import { Validators } from '@angular/forms';
4
4
  import { Utils } from '@eo-sdk/core';
5
5
  import { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';
6
- import { EMPTY, tap } from 'rxjs';
6
+ import { EMPTY, skip, tap } from 'rxjs';
7
7
  import * as i0 from "@angular/core";
8
8
  import * as i1 from "@angular/forms";
9
9
  import * as i2 from "@eo-sdk/core";
@@ -30,11 +30,10 @@ let ChartsSetupComponent = class ChartsSetupComponent {
30
30
  this.setupForm = this.fb.group({
31
31
  storedQuery: [null],
32
32
  chartType: [],
33
- size: ['', [Validators.max(20), Validators.min(3)]],
33
+ size: ['', [Validators.max(100), Validators.min(3)]],
34
34
  aggregation: [],
35
35
  histogramType: [],
36
36
  });
37
- this.chartTypes = [];
38
37
  this.storedQueriesPicker = {
39
38
  title: this.translate.instant('eo.search.title.storedqueries'),
40
39
  codesystem: null,
@@ -53,7 +52,7 @@ let ChartsSetupComponent = class ChartsSetupComponent {
53
52
  };
54
53
  this.isDateTimeType = false;
55
54
  this.selectedSavedSearchName = '';
56
- this.setupForm.valueChanges.pipe(untilDestroyed(this)).subscribe((_) => {
55
+ this.setupForm.valueChanges.pipe(skip(1), untilDestroyed(this)).subscribe((_) => {
57
56
  this.setWidgetConfig();
58
57
  });
59
58
  this.getStoredQuerys();
@@ -74,7 +73,7 @@ let ChartsSetupComponent = class ChartsSetupComponent {
74
73
  this.aggregationPicker.codesystem = null;
75
74
  if (this.selectedSavedSearchName !== '') {
76
75
  this.setupForm.patchValue({
77
- aggregation: '',
76
+ aggregation: 'sysobject.created',
78
77
  });
79
78
  }
80
79
  if (this.storedQuery.types.length !== 1) {
@@ -212,11 +211,17 @@ let ChartsSetupComponent = class ChartsSetupComponent {
212
211
  });
213
212
  if (this.storedQuery) {
214
213
  this.selectedSavedSearchName = this.setupForm.get('storedQuery').value;
215
- this.getAggregationField(this.storedQuery.types[0]?.qname);
214
+ if (this.storedQuery.types.length !== 1) {
215
+ this.getAggregationField('sysdocument');
216
+ }
217
+ else {
218
+ this.getAggregationField(this.storedQuery.types[0].qname);
219
+ }
216
220
  setTimeout(() => {
217
221
  this.setupForm.patchValue({
218
- aggregation: this._widgetConfig ? this._widgetConfig.formValue.aggregation : '',
222
+ aggregation: this._widgetConfig ? this._widgetConfig.formValue.aggregation : 'sysobject.created',
219
223
  });
224
+ this.isDateTimeType = this.widgetConfig?.formValue.aggregation === 'sysobject.created' || this.widgetConfig?.aggregationType === 'DATETIME';
220
225
  }, 100);
221
226
  }
222
227
  }, (error) => {
@@ -225,7 +230,7 @@ let ChartsSetupComponent = class ChartsSetupComponent {
225
230
  if (error.status === 404) {
226
231
  this.setupForm.patchValue({
227
232
  chartType: 'pie',
228
- aggregation: this._widgetConfig ? this._widgetConfig.formValue.aggregation : '',
233
+ aggregation: this._widgetConfig ? this._widgetConfig.formValue.aggregation : 'sysobject.created',
229
234
  histogramType: 'standard',
230
235
  size: '',
231
236
  });
@@ -263,4 +268,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
263
268
  }], widgetConfig: [{
264
269
  type: Input
265
270
  }] } });
266
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnRzLXNldHVwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvZW8tY2xpZW50L2Rhc2hib2FyZC93aWRnZXRzL2NoYXJ0cy13aWRnZXQvY2hhcnRzLXNldHVwL2NoYXJ0cy1zZXR1cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2VvLWNsaWVudC9kYXNoYm9hcmQvd2lkZ2V0cy9jaGFydHMtd2lkZ2V0L2NoYXJ0cy1zZXR1cC9jaGFydHMtc2V0dXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBR3hGLE9BQU8sRUFBdUMsVUFBVSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEYsT0FBTyxFQUFtRSxLQUFLLEVBQUMsTUFBTSxjQUFjLENBQUM7QUFDckcsT0FBTyxFQUFDLFlBQVksRUFBRSxjQUFjLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUNuRSxPQUFPLEVBQUMsS0FBSyxFQUFFLEdBQUcsRUFBQyxNQUFNLE1BQU0sQ0FBQzs7Ozs7Ozs7Ozs7QUFTekIsSUFBTSxvQkFBb0IsR0FBMUIsTUFBTSxvQkFBb0I7SUF3Qy9CLElBQWEsWUFBWSxDQUFDLEVBQVc7UUFDbkMsSUFBSSxDQUFDLGFBQWEsR0FBRyxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVELElBQUksWUFBWTtRQUNkLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUM1QixDQUFDO0lBRUQsWUFDVSxFQUFzQixFQUN0QixvQkFBMEMsRUFDMUMsU0FBMkIsRUFDM0IsV0FBd0I7UUFIeEIsT0FBRSxHQUFGLEVBQUUsQ0FBb0I7UUFDdEIseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFz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MGdHQW9EQTtBRHJDYSxvQkFBb0I7SUFOaEMsWUFBWSxFQUFFO0dBTUYsb0JBQW9CLENBc1JoQztTQXRSWSxvQkFBb0I7MkZBQXBCLG9CQUFvQjtrQkFMaEMsU0FBUzsrQkFDRSxpQkFBaUI7cU1BTWpCLGtCQUFrQjtzQkFBM0IsTUFBTTtnQkFtQzZCLHFCQUFxQjtzQkFBeEQsU0FBUzt1QkFBQyx1QkFBdUI7Z0JBQ0EsbUJBQW1CO3NCQUFwRCxTQUFTO3VCQUFDLHFCQUFxQjtnQkFFbkIsWUFBWTtzQkFBeEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7SVdpZGdldENvbXBvbmVudH0gZnJvbSAnQHl1dXZpcy93aWRnZXQtZ3JpZCc7XG5pbXBvcnQge0ljaGFydHN9IGZyb20gJy4uL2ljaGFydHMnO1xuaW1wb3J0IHtVbnR5cGVkRm9ybUJ1aWxkZXIsIFVudHlwZWRGb3JtR3JvdXAsIFZhbGlkYXRvcnN9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7U3RvcmVkUXVlcmllc1NlcnZpY2UsIFN0b3JlZFF1ZXJ5LCBUcmFuc2xhdGVTZXJ2aWNlLCBVc2VyU2VydmljZSwgVXRpbHN9IGZyb20gJ0Blby1zZGsvY29yZSc7XG5pbXBvcnQge1VudGlsRGVzdHJveSwgdW50aWxEZXN0cm95ZWR9IGZyb20gJ0BuZ25lYXQvdW50aWwtZGVzdHJveSc7XG5pbXBvcnQge0VNUFRZLCB0YXB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtDb2Rlc3lzdGVtQ29tcG9uZW50fSBmcm9tICcuLi8uLi8uLi8uLi8uLi9lby1mcmFtZXdvcmsnO1xuXG5AVW50aWxEZXN0cm95KClcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2VvLWNoYXJ0cy1zZXR1cCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9jaGFydHMtc2V0dXAuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jaGFydHMtc2V0dXAuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBDaGFydHNTZXR1cENvbXBvbmVudCBpbXBsZW1lbnRzIElXaWRnZXRDb21wb25lbnQsIE9uSW5pdCB7XG4gIHByaXZhdGUgX3dpZGdldENvbmZpZzogSWNoYXJ0cztcbiAgQE91dHB1dCgpIHdpZGdldENvbmZpZ0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8SWNoYXJ0cz4oKTtcbiAgc3RvcmVkUXVlcmllczogU3RvcmVkUXVlcnlbXTtcbiAgc2V0dXBGb3JtOiBVbnR5cGVkRm9ybUdyb3VwID0gdGhpcy5mYi5ncm91cCh7XG4gICAgc3RvcmVkUXVlcnk6IFtudWxsXSxcbiAgICBjaGFydFR5cGU6IFtdLFxuICAgIHNpemU6IFsnJywgW1ZhbGlkYXRvcnMubWF4KDIwKSwgVmFsaWRhdG9ycy5taW4oMyldXSxcbiAgICBhZ2dyZWdhdGlvbjogW10sXG4gICAgaGlzdG9ncmFtVHlwZTogW10sXG4gIH0pO1xuXG4gIGNoYXJ0VHlwZXM6IHtpZDogc3RyaW5nOyBkZWZhdWx0cmVwcmVzZW50YXRpb246IHN0cmluZzsgbGFiZWw6IHN0cmluZzsgdmFsdWU6IHN0cmluZ31bXSA9IFtdO1xuICBzdG9yZWRRdWVyaWVzUGlja2VyID0ge1xuICAgIHRpdGxlOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby5zZWFyY2gudGl0bGUuc3RvcmVkcXVlcmllcycpLFxuICAgIGNvZGVzeXN0ZW06IG51bGwsXG4gIH07XG5cbiAgYWdncmVnYXRpb25QaWNrZXIgPSB7XG4gICAgdGl0bGU6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLndvcmtzcGFjZS53aWRnZXQuZm9ybS5sYWJlbC5hZ2dyZWdhdGlvbkZpZWxkJyksXG4gICAgY29kZXN5c3RlbTogbnVsbCxcbiAgfTtcblxuICBjaGFydFR5cGVQaWNrZXIgPSB7XG4gICAgdGl0bGU6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLndvcmtzcGFjZS53aWRnZXQuZm9ybS5sYWJlbC5jaGFydFR5cGVGaWVsZCcpLFxuICAgIGNvZGVzeXN0ZW06IG51bGwsXG4gIH07XG5cbiAgaGlzdG9ncmFtVHlwZVBpY2tlciA9IHtcbiAgICB0aXRsZTogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8ud29ya3NwYWNlLndpZGdldC5mb3JtLmxhYmVsLmhpc3RvZ3JhbScpLFxuICAgIGNvZGVzeXN0ZW06IG51bGwsXG4gIH07XG5cbiAgaXNEYXRlVGltZVR5cGUgPSBmYWxzZTtcbiAgc2VsZWN0ZWRTYXZlZFNlYXJjaE5hbWUgPSAnJztcbiAgc3RvcmVkUXVlcnk6IFN0b3JlZFF1ZXJ5O1xuXG4gIEBWaWV3Q2hpbGQoJ2FnZ3JlZ2F0aW9uQ29kZXN5c3RlbScpIGFnZ3JlZ2F0aW9uQ29kZXN5c3RlbTogQ29kZXN5c3RlbUNvbXBvbmVudDtcbiAgQFZpZXdDaGlsZCgnaGlzdG9ncmFtQ29kZXN5c3RlbScpIGhpc3RvZ3JhbUNvZGVzeXN0ZW06IENvZGVzeXN0ZW1Db21wb25lbnQ7XG5cbiAgQElucHV0KCkgc2V0IHdpZGdldENvbmZpZyh3YzogSWNoYXJ0cykge1xuICAgIHRoaXMuX3dpZGdldENvbmZpZyA9IHdjO1xuICB9XG5cbiAgZ2V0IHdpZGdldENvbmZpZygpIHtcbiAgICByZXR1cm4gdGhpcy5fd2lkZ2V0Q29uZmlnO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBmYjogVW50eXBlZEZvcm1CdWlsZGVyLFxuICAgIHByaXZhdGUgc3RvcmVkUXVlcmllc1NlcnZpY2U6IFN0b3JlZFF1ZXJpZXNTZXJ2aWNlLFxuICAgIHByaXZhdGUgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgdXNlclNlcnZpY2U6IFVzZXJTZXJ2aWNlKSB7XG4gICAgdGhpcy5zZXR1cEZvcm0udmFsdWVDaGFuZ2VzLnBpcGUodW50aWxEZXN0cm95ZWQodGhpcykpLnN1YnNjcmliZSgoXykgPT4ge1xuICAgICAgdGhpcy5zZXRXaWRnZXRDb25maWcoKTtcbiAgICB9KTtcbiAgICB0aGlzLmdldFN0b3JlZFF1ZXJ5cygpO1xuICAgIHRoaXMuZ2V0Q2hhcnRGaWxlZCgpO1xuICAgIHRoaXMuZ2V0SGlzdG9ncmFtRmlsZWQoKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0V2lkZ2V0Q29uZmlnKCkge1xuICAgIGlmICh0aGlzLnNldHVwRm9ybS52YWxpZCAmJiB0aGlzLnN0b3JlZFF1ZXJpZXMpIHtcbiAgICAgIHRoaXMuc3RvcmVkUXVlcnkgPSB0aGlzLnN0b3JlZFF1ZXJpZXMuZmluZCgoc3EpID0+IHNxLm5hbWUgPT09IHRoaXMuc2V0dXBGb3JtLmdldCgnc3RvcmVkUXVlcnknKS52YWx1ZSk7ICAgICAgXG4gICAgICB0aGlzLndpZGdldENvbmZpZyA9IHtcbiAgICAgICAgc3RvcmVkUXVlcnk6IHRoaXMuc3RvcmVkUXVlcnk/LmlkLFxuICAgICAgICBmb3JtVmFsdWU6IHRoaXMuc2V0dXBGb3JtLnZhbHVlLFxuICAgICAgICBhZ2dyZWdhdGlvblR5cGU6ICcnXG4gICAgICB9O1xuICAgICAgaWYgKHRoaXMuc2V0dXBGb3JtLmdldCgnc3RvcmVkUXVlcnknKS52YWx1ZSAhPT0gdGhpcy5zZWxlY3RlZFNhdmVkU2VhcmNoTmFtZSkge1xuICAgICAgICBpZiAodGhpcy5zdG9yZWRRdWVyeSkge1xuICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5hZ2dyZWdhdGlvblBpY2tlci5jb2Rlc3lzdGVtID0gbnVsbDtcbiAgICAgICAgICAgIGlmICh0aGlzLnNlbGVjdGVkU2F2ZWRTZWFyY2hOYW1lICE9PSAnJykge1xuICAgICAgICAgICAgICB0aGlzLnNldHVwRm9ybS5wYXRjaFZhbHVlKHtcbiAgICAgICAgICAgICAgICBhZ2dyZWdhdGlvbjogJycsXG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHRoaXMuc3RvcmVkUXVlcnkudHlwZXMubGVuZ3RoICE9PSAxKSB7XG4gICAgICAgICAgICAgIHRoaXMuZ2V0QWdncmVnYXRpb25GaWVsZCgnc3lzZG9jdW1lbnQnKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHRoaXMuZ2V0QWdncmVnYXRpb25GaWVsZCh0aGlzLnN0b3JlZFF1ZXJ5LnR5cGVzWzBdLnFuYW1lKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRTYXZlZFNlYXJjaE5hbWUgPSB0aGlzLnNldHVwRm9ybS5nZXQoJ3N0b3JlZFF1ZXJ5JykudmFsdWU7XG4gICAgICAgICAgICB0aGlzLmlzRGF0ZVRpbWVUeXBlID0gdGhpcy53aWRnZXRDb25maWc/LmZvcm1WYWx1ZS5hZ2dyZWdhdGlvbiA9PT0gJ3N5c29iamVjdC5jcmVhdGVkJyB8fCB0aGlzLndpZGdldENvbmZpZz8uYWdncmVnYXRpb25UeXBlID09PSAnREFURVRJTUUnO1xuICAgICAgICAgIH0sIDEwMCk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMud2lkZ2V0Q29uZmlnLmFnZ3JlZ2F0aW9uVHlwZSA9IHRoaXMuYWdncmVnYXRpb25Db2Rlc3lzdGVtPy5zZWxlY3RlZE5vZGVzPy5kYXRhPy50eXBlO1xuICAgICAgICB0aGlzLmlzRGF0ZVRpbWVUeXBlID0gdGhpcy53aWRnZXRDb25maWc/LmFnZ3JlZ2F0aW9uVHlwZSA9PT0gJ0RBVEVUSU1FJztcbiAgICAgIH1cbiAgICAgIHRoaXMud2lkZ2V0Q29uZmlnQ2hhbmdlLmVtaXQodGhpcy5fd2lkZ2V0Q29uZmlnKTtcbiAgICB9XG4gIH1cblxuICBnZXRTdG9yZWRRdWVyeXMoKSB7XG4gICAgdGhpcy5zdG9yZWRRdWVyaWVzU2VydmljZVxuICAgICAgLmZldGNoU3RvcmVkUXVlcmllcygpLnBpcGUoXG4gICAgICAgIHVudGlsRGVzdHJveWVkKHRoaXMpLFxuICAgICAgKS5zdWJzY3JpYmUoc3RvcmVkUXVlcmllcyA9PiB7XG4gICAgICAgIHRoaXMuc3RvcmVkUXVlcmllcyA9IHN0b3JlZFF1ZXJpZXM7XG4gICAgICAgIHRoaXMuc3RvcmVkUXVlcmllc1BpY2tlci5jb2Rlc3lzdGVtID0ge1xuICAgICAgICAgIGVudHJpZXM6IHRoaXMuc3RvcmVkUXVlcmllcy5tYXAoc3RvcmVkUXVlcnkgPT4gKHtcbiAgICAgICAgICAgIGlkOiBzdG9yZWRRdWVyeS5pZCxcbiAgICAgICAgICAgIGxhYmVsOiBzdG9yZWRRdWVyeS5uYW1lLFxuICAgICAgICAgICAgZGVmYXVsdHJlcHJlc2VudGF0aW9uOiBzdG9yZWRRdWVyeS5uYW1lLFxuICAgICAgICAgICAgZGF0YTogc3RvcmVkUXVlcnkubmFtZVxuICAgICAgICAgIH0pKS5zb3J0KFV0aWxzLnNvcnRWYWx1ZXMoJ2xhYmVsJykpLFxuICAgICAgICB9O1xuICAgICAgfSk7XG4gIH1cblxuICBnZXRTdG9yZWRRdWVyeShpZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmVkUXVlcmllc1NlcnZpY2UuZ2V0U3RvcmVkUXVlcnkoaWQpLnBpcGUoXG4gICAgICB1bnRpbERlc3Ryb3llZCh0aGlzKSxcbiAgICAgIHRhcChzdG9yZWRRdWVyeSA9PiB7XG4gICAgICAgIHRoaXMuc3RvcmVkUXVlcnkgPSBzdG9yZWRRdWVyeTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIGdldEFnZ3JlZ2F0aW9uRmllbGQodHlwZSkge1xuICAgIHJldHVybiB0aGlzLnVzZXJTZXJ2aWNlLmdldEZpZWxkRGVmaW5pdGlvbih0eXBlKS5waXBlKHVudGlsRGVzdHJveWVkKHRoaXMpKS5zdWJzY3JpYmUoZGVmaW5pdGlvbiA9PiB7XG4gICAgICBsZXQgZXhjbHVkZSA9IG5ldyBTZXQoWydmaWxlbmFtZScsICdtaW1ldHlwZScsICdtb2RpZmllcnRpdGxlJywgJ3ZlcnNpb24nLCAnY3JlYXRvcnRpdGxlJywgJ3RpdGxlJywgJ2Rlc2NyaXB0aW9uJ10pO1xuICAgICAgaWYgKHR5cGUgIT09ICdzeXNkb2N1bWVudCcpIHtcbiAgICAgICAgZXhjbHVkZS5hZGQoJ3R5cGUnKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuYWdncmVnYXRpb25QaWNrZXIuY29kZXN5c3RlbSA9IHtcbiAgICAgICAgZW50cmllczogZGVmaW5pdGlvbi5lbGVtZW50cy5maWx0ZXIoZmllbGQgPT4gIWV4Y2x1ZGUuaGFzKGZpZWxkLmhpdG5hbWUpKS5tYXAoZmllbGQgPT4gKHtcbiAgICAgICAgICBpZDogZmllbGQubGFiZWwsXG4gICAgICAgICAgZGVmYXVsdHJlcHJlc2VudGF0aW9uOiBmaWVsZC5sYWJlbCxcbiAgICAgICAgICBkYXRhOiBmaWVsZC5xbmFtZSxcbiAgICAgICAgICB0eXBlOiBmaWVsZC50eXBlXG4gICAgICAgIH0pKS5zb3J0KFV0aWxzLnNvcnRWYWx1ZXMoJ2RlZmF1bHRyZXByZXNlbnRhdGlvbicpKSxcbiAgICAgIH07XG4gICAgfSk7XG4gIH1cblxuICBnZXRDaGFydEZpbGVkKCkge1xuICAgIHJldHVybiB0aGlzLmNoYXJ0VHlwZVBpY2tlci5jb2Rlc3lzdGVtID0ge1xuICAgICAgZW50cmllczogW1xuICAgICAgICB7XG4gICAgICAgICAgaWQ6ICdiYXInLFxuICAgICAgICAgIGRlZmF1bHRyZXByZXNlbnRhdGlvbjogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcbiAgICAgICAgICAgICdlby53b3Jrc3BhY2Uud2lkZ2V0LmNoYXJ0cy50eXBlLmJhcicpLFxuICAgICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFxuICAgICAgICAgICAgJ2VvLndvcmtzcGFjZS53aWRnZXQuY2hhcnRzLnR5cGUuYmFyJ1xuICAgICAgICAgICksXG4gICAgICAgICAgdmFsdWU6ICdiYXInLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgaWQ6ICdwaWUnLFxuICAgICAgICAgIGRlZmF1bHRyZXByZXNlbnRhdGlvbjogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcbiAgICAgICAgICAgICdlby53b3Jrc3BhY2Uud2lkZ2V0LmNoYXJ0cy50eXBlLnBpZScpLFxuICAgICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFxuICAgICAgICAgICAgJ2VvLndvcmtzcGFjZS53aWRnZXQuY2hhcnRzLnR5cGUucGllJ1xuICAgICAgICAgICksXG4gICAgICAgICAgdmFsdWU6ICdwaWUnLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgaWQ6ICdkb251dCcsXG4gICAgICAgICAgZGVmYXVsdHJlcHJlc2VudGF0aW9uOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFxuICAgICAgICAgICAgJ2VvLndvcmtzcGFjZS53aWRnZXQuY2hhcnRzLnR5cGUuZG9udXQnXG4gICAgICAgICAgKSxcbiAgICAgICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcbiAgICAgICAgICAgICdlby53b3Jrc3BhY2Uud2lkZ2V0LmNoYXJ0cy50eXBlLmRvbnV0J1xuICAgICAgICAgICksXG4gICAgICAgICAgdmFsdWU6ICdkb251dCcsXG4gICAgICAgIH0sXG4gICAgICBdLm1hcCgocmVzKSA9PiAoe1xuICAgICAgICBpZDogcmVzLmlkLFxuICAgICAgICBsYWJlbDogcmVzLmxhYmVsLFxuICAgICAgICBkZWZhdWx0cmVwcmVzZW50YXRpb246IHJlcy5kZWZhdWx0cmVwcmVzZW50YXRpb24sXG4gICAgICAgIGRhdGE6IHJlcy52YWx1ZVxuICAgICAgfSkpLnNvcnQoVXRpbHMuc29ydFZhbHVlcygnZGVmYXVsdHJlcHJlc2VudGF0aW9uJykpLFxuICAgIH07XG4gIH1cblxuICBnZXRIaXN0b2dyYW1GaWxlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5oaXN0b2dyYW1UeXBlUGlja2VyLmNvZGVzeXN0ZW0gPSB7XG4gICAgICBlbnRyaWVzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBpZDogJ3N0YW5kYXJkJyxcbiAgICAgICAgICBkZWZhdWx0cmVwcmVzZW50YXRpb246IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXG4gICAgICAgICAgICAnZW8ud29ya3NwYWNlLndpZGdldC5jaGFydHMuaGlzdG9ncmFtLnN0YW5kYXJkJyksXG4gICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXG4gICAgICAgICAgICAnZW8ud29ya3NwYWNlLndpZGdldC5jaGFydHMuaGlzdG9ncmFtLnN0YW5kYXJkJ1xuICAgICAgICAgICksXG4gICAgICAgICAgdmFsdWU6ICdzdGFuZGFyZCcsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBpZDogJ2RhaWx5JyxcbiAgICAgICAgICBkZWZhdWx0cmVwcmVzZW50YXRpb246IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXG4gICAgICAgICAgICAnZW8ud29ya3NwYWNlLndpZGdldC5jaGFydHMuaGlzdG9ncmFtLmRhaWx5J1xuICAgICAgICAgICksXG4gICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXG4gICAgICAgICAgICAnZW8ud29ya3NwYWNlLndpZGdldC5jaGFydHMuaGlzdG9ncmFtLmRhaWx5J1xuICAgICAgICAgICksXG4gICAgICAgICAgdmFsdWU6ICdkYWlseSdcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIGlkOiAnd2Vla2x5JyxcbiAgICAgICAgICBkZWZhdWx0cmVwcmVzZW50YXRpb246IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXG4gICAgICAgICAgICAnZW8ud29ya3NwYWNlLndpZGdldC5jaGFydHMuaGlzdG9ncmFtLndlZWtseSdcbiAgICAgICAgICApLFxuICAgICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFxuICAgICAgICAgICAgJ2VvLndvcmtzcGFjZS53aWRnZXQuY2hhcnRzLmhpc3RvZ3JhbS53ZWVrbHknXG4gICAgICAgICAgKSxcbiAgICAgICAgICB2YWx1ZTogJ3dlZWtseSdcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIGlkOiAnbW9udGhseScsXG4gICAgICAgICAgZGVmYXVsdHJlcHJlc2VudGF0aW9uOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFxuICAgICAgICAgICAgJ2VvLndvcmtzcGFjZS53aWRnZXQuY2hhcnRzLmhpc3RvZ3JhbS5tb250aGx5JyksXG4gICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXG4gICAgICAgICAgICAnZW8ud29ya3NwYWNlLndpZGdldC5jaGFydHMuaGlzdG9ncmFtLm1vbnRobHknXG4gICAgICAgICAgKSxcbiAgICAgICAgICB2YWx1ZTogJ21vbnRobHknXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBpZDogJ3llYXJseScsXG4gICAgICAgICAgZGVmYXVsdHJlcHJlc2VudGF0aW9uOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFxuICAgICAgICAgICAgJ2VvLndvcmtzcGFjZS53aWRnZXQuY2hhcnRzLmhpc3RvZ3JhbS55ZWFybHknKSxcbiAgICAgICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcbiAgICAgICAgICAgICdlby53b3Jrc3BhY2Uud2lkZ2V0LmNoYXJ0cy5oaXN0b2dyYW0ueWVhcmx5J1xuICAgICAgICAgICksXG4gICAgICAgICAgdmFsdWU6ICd5ZWFybHknXG4gICAgICAgIH1cbiAgICAgIF0ubWFwKChyZXMpID0+ICh7XG4gICAgICAgIGlkOiByZXMuaWQsXG4gICAgICAgIGxhYmVsOiByZXMubGFiZWwsXG4gICAgICAgIGRlZmF1bHRyZXByZXNlbnRhdGlvbjogcmVzLmRlZmF1bHRyZXByZXNlbnRhdGlvbixcbiAgICAgICAgZGF0YTogcmVzLnZhbHVlXG4gICAgICB9KSksXG4gICAgfTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl93aWRnZXRDb25maWc/LnN0b3JlZFF1ZXJ5KSB7XG4gICAgICB0aGlzLmdldFN0b3JlZFF1ZXJ5KHRoaXMuX3dpZGdldENvbmZpZz8uc3RvcmVkUXVlcnkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuc2V0dXBGb3JtLnBhdGNoVmFsdWUoe1xuICAgICAgICAgIHN0b3JlZFF1ZXJ5OiB0aGlzLnN0b3JlZFF1ZXJ5ID8gdGhpcy5zdG9yZWRRdWVyeS5uYW1lIDogJycsXG4gICAgICAgICAgY2hhcnRUeXBlOiB0aGlzLl93aWRnZXRDb25maWcgPyB0aGlzLl93aWRnZXRDb25maWc/LmZvcm1WYWx1ZT8uY2hhcnRUeXBlIDogJ3BpZScsXG4gICAgICAgICAgc2l6ZTogdGhpcy5fd2lkZ2V0Q29uZmlnPy5mb3JtVmFsdWU/LnNpemUsXG4gICAgICAgICAgYWdncmVnYXRpb246IHRoaXMuX3dpZGdldENvbmZpZyA/IHRoaXMuX3dpZGdldENvbmZpZy5mb3JtVmFsdWUuYWdncmVnYXRpb24gOiAnc3lzb2JqZWN0LmNyZWF0ZWQnLFxuICAgICAgICAgIGhpc3RvZ3JhbVR5cGU6IHRoaXMuX3dpZGdldENvbmZpZyAmJiB0aGlzLl93aWRnZXRDb25maWc/LmZvcm1WYWx1ZT8uaGlzdG9ncmFtVHlwZSA/IHRoaXMuX3dpZGdldENvbmZpZz8uZm9ybVZhbHVlPy5oaXN0b2dyYW1UeXBlIDogJ3N0YW5kYXJkJyxcbiAgICAgICAgfSk7XG4gICAgICAgIGlmICh0aGlzLnN0b3JlZFF1ZXJ5KSB7ICAgICBcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkU2F2ZWRTZWFyY2hOYW1lID0gdGhpcy5zZXR1cEZvcm0uZ2V0KCdzdG9yZWRRdWVyeScpLnZhbHVlOyAgIFxuICAgICAgICAgIHRoaXMuZ2V0QWdncmVnYXRpb25GaWVsZCh0aGlzLnN0b3JlZFF1ZXJ5LnR5cGVzWzBdPy5xbmFtZSk7XG4gICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnNldHVwRm9ybS5wYXRjaFZhbHVlKHtcbiAgICAgICAgICAgICAgYWdncmVnYXRpb246IHRoaXMuX3dpZGdldENvbmZpZyA/IHRoaXMuX3dpZGdldENvbmZpZy5mb3JtVmFsdWUuYWdncmVnYXRpb24gOiAnJyxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0sIDEwMCk7XG4gICAgICAgIH1cbiAgICAgIH0sIChlcnJvcikgPT4ge1xuICAgICAgICB0aGlzLmlzRGF0ZVRpbWVUeXBlID0gZmFsc2U7XG4gICAgICAgIHRoaXMuX3dpZGdldENvbmZpZy5hZ2dyZWdhdGlvblR5cGUgPSBudWxsO1xuICAgICAgICBpZiAoZXJyb3Iuc3RhdHVzID09PSA0MDQpIHtcbiAgICAgICAgICB0aGlzLnNldHVwRm9ybS5wYXRjaFZhbHVlKHtcbiAgICAgICAgICAgIGNoYXJ0VHlwZTogJ3BpZScsXG4gICAgICAgICAgICBhZ2dyZWdhdGlvbjogdGhpcy5fd2lkZ2V0Q29uZmlnID8gdGhpcy5fd2lkZ2V0Q29uZmlnLmZvcm1WYWx1ZS5hZ2dyZWdhdGlvbiA6ICcnLFxuICAgICAgICAgICAgaGlzdG9ncmFtVHlwZTogJ3N0YW5kYXJkJyxcbiAgICAgICAgICAgIHNpemU6ICcnLFxuICAgICAgICAgIH0pO1xuICAgICAgICAgIHJldHVybiBFTVBUWTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2V0dXBGb3JtLnBhdGNoVmFsdWUoe1xuICAgICAgICBjaGFydFR5cGU6IHRoaXMuX3dpZGdldENvbmZpZyA/IHRoaXMuX3dpZGdldENvbmZpZz8uZm9ybVZhbHVlPy5jaGFydFR5cGUgOiAncGllJyxcbiAgICAgICAgYWdncmVnYXRpb246IHRoaXMuX3dpZGdldENvbmZpZyA/IHRoaXMuX3dpZGdldENvbmZpZy5mb3JtVmFsdWUuYWdncmVnYXRpb24gOiAnc3lzb2JqZWN0LmNyZWF0ZWQnLFxuICAgICAgICBoaXN0b2dyYW1UeXBlOiB0aGlzLl93aWRnZXRDb25maWcgJiYgdGhpcy5fd2lkZ2V0Q29uZmlnPy5mb3JtVmFsdWU/Lmhpc3RvZ3JhbVR5cGUgPyB0aGlzLl93aWRnZXRDb25maWc/LmZvcm1WYWx1ZT8uaGlzdG9ncmFtVHlwZSA6ICdzdGFuZGFyZCcsXG4gICAgICAgIHNpemU6IHRoaXMuX3dpZGdldENvbmZpZz8uZm9ybVZhbHVlPy5zaXplLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwic2V0dXBcIj5cbiAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cInNldHVwRm9ybVwiPlxuICAgICAgICA8ZW8tZm9ybS1pbnB1dCBbcmVxdWlyZWRdPVwidHJ1ZVwiIFtza2lwVG9nZ2xlXT1cInRydWVcIlxuICAgICAgICAgICAgW2xhYmVsXT1cIidlby53b3Jrc3BhY2Uud2lkZ2V0LmZvcm0ubGFiZWwuY2hhcnRUeXBlRmllbGQnIHwgdHJhbnNsYXRlXCI+XG4gICAgICAgICAgICA8ZW8tY29kZXN5c3RlbSBmb3JtQ29udHJvbE5hbWU9XCJjaGFydFR5cGVcIiBbcGlja2VyVGl0bGVdPVwiY2hhcnRUeXBlUGlja2VyLnRpdGxlXCJcbiAgICAgICAgICAgICAgICBbY29kZXN5c3RlbV09XCJjaGFydFR5cGVQaWNrZXIuY29kZXN5c3RlbVwiPjwvZW8tY29kZXN5c3RlbT5cbiAgICAgICAgPC9lby1mb3JtLWlucHV0PlxuXG4gICAgICAgIDxlby1mb3JtLWlucHV0IFtyZXF1aXJlZF09XCJ0cnVlXCIgW3NraXBUb2dnbGVdPVwidHJ1ZVwiICpuZ0lmPVwic3RvcmVkUXVlcmllc1BpY2tlcj8uY29kZXN5c3RlbT8uZW50cmllc1wiXG4gICAgICAgICAgICBbbGFiZWxdPVwiJ2VvLnNlYXJjaC50aXRsZS5zdG9yZWRxdWVyaWVzJyB8IHRyYW5zbGF0ZVwiIFtkZXNjcmlwdGlvbl09XCInZW8ud29ya3NwYWNlLndpZGdldC5zdG9yZWQucXVlcmllcy5kZXNjcmlwdGlvbidcIj5cbiAgICAgICAgICAgIDxlby1jb2Rlc3lzdGVtIGZvcm1Db250cm9sTmFtZT1cInN0b3JlZFF1ZXJ5XCIgW3BpY2tlclRpdGxlXT1cInN0b3JlZFF1ZXJpZXNQaWNrZXIudGl0bGVcIlxuICAgICAgICAgICAgICAgIFtjb2Rlc3lzdGVtXT1cInN0b3JlZFF1ZXJpZXNQaWNrZXIuY29kZXN5c3RlbVwiXG4gICAgICAgICAgICAgICAgW2VtcHR5TWVzc2FnZV09XCInZW8ud29ya3NwYWNlLndpZGdldC5zdG9yZWQucXVlcmllcy5saXN0Lm5vdEF2YWlsYWJsZSdcIj48L2VvLWNvZGVzeXN0ZW0+XG4gICAgICAgIDwvZW8tZm9ybS1pbnB1dD5cblxuICAgICAgICA8ZW8tZm9ybS1pbnB1dCBbcmVxdWlyZWRdPVwidHJ1ZVwiIFtza2lwVG9nZ2xlXT1cInRydWVcIlxuICAgICAgICAgICAgKm5nSWY9XCJhZ2dyZWdhdGlvblBpY2tlcj8uY29kZXN5c3RlbT8uZW50cmllcyAmJiB0aGlzLnNldHVwRm9ybS5nZXQoJ3N0b3JlZFF1ZXJ5JykudmFsdWVcIlxuICAgICAgICAgICAgW2xhYmVsXT1cIidlby53b3Jrc3BhY2Uud2lkZ2V0LmZvcm0ubGFiZWwuYWdncmVnYXRpb25GaWVsZCcgfCB0cmFuc2xhdGVcIj5cbiAgICAgICAgICAgIDxlby1jb2Rlc3lzdGVtICNhZ2dyZWdhdGlvbkNvZGVzeXN0ZW0gZm9ybUNvbnRyb2xOYW1lPVwiYWdncmVnYXRpb25cIiBbcGlja2VyVGl0bGVdPVwiYWdncmVnYXRpb25QaWNrZXIudGl0bGVcIlxuICAgICAgICAgICAgICAgIFtjb2Rlc3lzdGVtXT1cImFnZ3JlZ2F0aW9uUGlja2VyLmNvZGVzeXN0ZW1cIj48L2VvLWNvZGVzeXN0ZW0+XG4gICAgICAgIDwvZW8tZm9ybS1pbnB1dD5cblxuICAgICAgICA8ZW8tZm9ybS1pbnB1dCBbcmVxdWlyZWRdPVwidHJ1ZVwiIFtza2lwVG9nZ2xlXT1cInRydWVcIlxuICAgICAgICAgICAgKm5nSWY9XCJpc0RhdGVUaW1lVHlwZVwiIFtsYWJlbF09XCInZW8ud29ya3NwYWNlLndpZGdldC5mb3JtLmxhYmVsLmhpc3RvZ3JhbScgfCB0cmFuc2xhdGVcIj5cbiAgICAgICAgICAgIDxlby1jb2Rlc3lzdGVtIGZvcm1Db250cm9sTmFtZT1cImhpc3RvZ3JhbVR5cGVcIiBbcGlja2VyVGl0bGVdPVwiaGlzdG9ncmFtVHlwZVBpY2tlci50aXRsZVwiXG4gICAgICAgICAgICAgICAgW2NvZGVzeXN0ZW1dPVwiaGlzdG9ncmFtVHlwZVBpY2tlci5jb2Rlc3lzdGVtXCI+PC9lby1jb2Rlc3lzdGVtPlxuICAgICAgICA8L2VvLWZvcm0taW5wdXQ+XG5cbiAgICAgICAgPGVvLWZvcm0taW5wdXQgW3NraXBUb2dnbGVdPVwidHJ1ZVwiICpuZ0lmPVwidGhpcy53aWRnZXRDb25maWc/LmZvcm1WYWx1ZT8uaGlzdG9ncmFtVHlwZSAhPT0gJ3N0YW5kYXJkJ1wiIFtkZXNjcmlwdGlvbl09XCInZW8ud29ya3NwYWNlLndpZGdldC5jaGFydC5mb3JtLmxhYmVsLmRlc2NyaXB0aW9uJ1wiXG4gICAgICAgICAgICBbbGFiZWxdPVwiJ2VvLndvcmtzcGFjZS53aWRnZXQuZm9ybS5wYXJ0aWFsVmFsdWUnIHwgdHJhbnNsYXRlXCI+XG4gICAgICAgICAgICA8ZW8tbnVtYmVyIFtzY2FsZV09XCIwXCIgZm9ybUNvbnRyb2xOYW1lPVwic2l6ZVwiPjwvZW8tbnVtYmVyPlxuICAgICAgICA8L2VvLWZvcm0taW5wdXQ+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cImVyci1tc2dcIiAqbmdJZj1cInNldHVwRm9ybS5nZXQoJ3NpemUnKS5oYXNFcnJvcignbWF4JykgfHwgc2V0dXBGb3JtLmdldCgnc2l6ZScpLmhhc0Vycm9yKCdtaW4nKVwiPlxuICAgICAgICAgICAgPGRpdiB0cmFuc2xhdGU+XG4gICAgICAgICAgICAgICAgZW8uZm9ybS5wcm9wZXJ0eS5zdHJpbmcuZXJyb3IuY2xhc3NpZmljYXRpb24ucGFydGlhbFZhbHVlIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cblxuICAgIDwvZm9ybT5cbjwvZGl2PlxuXG48ZGl2IGNsYXNzPVwicHJldmlld1wiXG4gICAgKm5nSWY9XCJzZXR1cEZvcm0uZ2V0KCdhZ2dyZWdhdGlvbicpLnZhbHVlICYmIHNldHVwRm9ybS5nZXQoJ2NoYXJ0VHlwZScpLnZhbHVlICYmIHNldHVwRm9ybS5nZXQoJ3N0b3JlZFF1ZXJ5JykudmFsdWUgJiYgKGlzRGF0ZVRpbWVUeXBlICYmIHNldHVwRm9ybS5nZXQoJ2hpc3RvZ3JhbVR5cGUnKS52YWx1ZSB8fCAhaXNEYXRlVGltZVR5cGUpOyBlbHNlIHRwbEVtcHR5XCI+XG4gICAgPGVvLWNoYXJ0cy13aWRnZXQgW3dpZGdldENvbmZpZ109XCJ3aWRnZXRDb25maWdcIiBbZWRpdE1vZGVdPVwidHJ1ZVwiPjwvZW8tY2hhcnRzLXdpZGdldD5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI3RwbEVtcHR5PlxuICAgIDxkaXYgY2xhc3M9XCJlbXB0eVwiPlxuICAgICAgICA8ZW8tZXJyb3ItbWVzc2FnZVxuICAgICAgICAgICAgW2VtcHR5U3RhdGVdPVwie2ljb246ICdpY19zYXZlZF9zZWFyY2guc3ZnJywgdGV4dDogJ2VvLndvcmtzcGFjZS53aWRnZXQuY29uZmlndXJhdGlvbi5ub3RPayd9XCI+PC9lby1lcnJvci1tZXNzYWdlPlxuICAgIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
271
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnRzLXNldHVwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvZW8tY2xpZW50L2Rhc2hib2FyZC93aWRnZXRzL2NoYXJ0cy13aWRnZXQvY2hhcnRzLXNldHVwL2NoYXJ0cy1zZXR1cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2VvLWNsaWVudC9kYXNoYm9hcmQvd2lkZ2V0cy9jaGFydHMtd2lkZ2V0L2NoYXJ0cy1zZXR1cC9jaGFydHMtc2V0dXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBR3hGLE9BQU8sRUFBdUMsVUFBVSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEYsT0FBTyxFQUFtRSxLQUFLLEVBQUMsTUFBTSxjQUFjLENBQUM7QUFDckcsT0FBTyxFQUFDLFlBQVksRUFBRSxjQUFjLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUNuRSxPQUFPLEVBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUMsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7Ozs7O0FBUy9CLElBQU0sb0JBQW9CLEdBQTFCLE1BQU0sb0JBQW9CO0lBdUMvQixJQUFhLFlBQVksQ0FBQyxFQUFXO1FBQ25DLElBQUksQ0FBQyxhQUFhLEdBQUcsRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFRCxJQUFJLFlBQVk7UUFDZCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDNUIsQ0FBQztJQUVELFlBQ1UsRUFBc0IsRUFDdEIsb0JBQTBDLEVBQzFDLFNBQTJCLEVBQzNCLFdBQXdCO1FBSHhCLE9BQUUsR0FBRixFQUFFLENBQW9CO1FBQ3RCLHlCQUFvQixHQUFwQixv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aEcsYUFBYSxFQUFFLElBQUksQ0FBQyxhQUFhLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRSxTQUFTLEVBQUUsYUFBYSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLFNBQVMsRUFBRSxhQUFhLENBQUMsQ0FBQyxDQUFDLFVBQVU7Z0JBQzdJLElBQUksRUFBRSxJQUFJLENBQUMsYUFBYSxFQUFFLFNBQVMsRUFBRSxJQUFJO2FBQzFDLENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQzs7aUhBelJVLG9CQUFvQjtxR0FBcEIsb0JBQW9CLHFZQ2ZqQywwZ0dBb0RBO0FEckNhLG9CQUFvQjtJQU5oQyxZQUFZLEVBQUU7R0FNRixvQkFBb0IsQ0EwUmhDO1NBMVJZLG9CQUFvQjsyRkFBcEIsb0JBQW9CO2tCQUxoQyxTQUFTOytCQUNFLGlCQUFpQjtxTUFNakIsa0JBQWtCO3NCQUEzQixNQUFNO2dCQWtDNkIscUJBQXFCO3NCQUF4RCxTQUFTO3VCQUFDLHVCQUF1QjtnQkFDQSxtQkFBbUI7c0JBQXBELFNBQVM7dUJBQUMscUJBQXFCO2dCQUVuQixZQUFZO3NCQUF4QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtJV2lkZ2V0Q29tcG9uZW50fSBmcm9tICdAeXV1dmlzL3dpZGdldC1ncmlkJztcbmltcG9ydCB7SWNoYXJ0c30gZnJvbSAnLi4vaWNoYXJ0cyc7XG5pbXBvcnQge1VudHlwZWRGb3JtQnVpbGRlciwgVW50eXBlZEZvcm1Hcm91cCwgVmFsaWRhdG9yc30gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtTdG9yZWRRdWVyaWVzU2VydmljZSwgU3RvcmVkUXVlcnksIFRyYW5zbGF0ZVNlcnZpY2UsIFVzZXJTZXJ2aWNlLCBVdGlsc30gZnJvbSAnQGVvLXNkay9jb3JlJztcbmltcG9ydCB7VW50aWxEZXN0cm95LCB1bnRpbERlc3Ryb3llZH0gZnJvbSAnQG5nbmVhdC91bnRpbC1kZXN0cm95JztcbmltcG9ydCB7RU1QVFksIHNraXAsIHRhcH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0NvZGVzeXN0ZW1Db21wb25lbnR9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2VvLWZyYW1ld29yayc7XG5cbkBVbnRpbERlc3Ryb3koKVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZW8tY2hhcnRzLXNldHVwJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NoYXJ0cy1zZXR1cC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NoYXJ0cy1zZXR1cC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIENoYXJ0c1NldHVwQ29tcG9uZW50IGltcGxlbWVudHMgSVdpZGdldENvbXBvbmVudCwgT25Jbml0IHtcbiAgcHJpdmF0ZSBfd2lkZ2V0Q29uZmlnOiBJY2hhcnRzO1xuICBAT3V0cHV0KCkgd2lkZ2V0Q29uZmlnQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxJY2hhcnRzPigpO1xuICBzdG9yZWRRdWVyaWVzOiBTdG9yZWRRdWVyeVtdO1xuICBzZXR1cEZvcm06IFVudHlwZWRGb3JtR3JvdXAgPSB0aGlzLmZiLmdyb3VwKHtcbiAgICBzdG9yZWRRdWVyeTogW251bGxdLFxuICAgIGNoYXJ0VHlwZTogW10sXG4gICAgc2l6ZTogWycnLCBbVmFsaWRhdG9ycy5tYXgoMTAwKSwgVmFsaWRhdG9ycy5taW4oMyldXSxcbiAgICBhZ2dyZWdhdGlvbjogW10sXG4gICAgaGlzdG9ncmFtVHlwZTogW10sXG4gIH0pO1xuXG4gIHN0b3JlZFF1ZXJpZXNQaWNrZXIgPSB7XG4gICAgdGl0bGU6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLnNlYXJjaC50aXRsZS5zdG9yZWRxdWVyaWVzJyksXG4gICAgY29kZXN5c3RlbTogbnVsbCxcbiAgfTtcblxuICBhZ2dyZWdhdGlvblBpY2tlciA9IHtcbiAgICB0aXRsZTogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8ud29ya3NwYWNlLndpZGdldC5mb3JtLmxhYmVsLmFnZ3JlZ2F0aW9uRmllbGQnKSxcbiAgICBjb2Rlc3lzdGVtOiBudWxsLFxuICB9O1xuXG4gIGNoYXJ0VHlwZVBpY2tlciA9IHtcbiAgICB0aXRsZTogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8ud29ya3NwYWNlLndpZGdldC5mb3JtLmxhYmVsLmNoYXJ0VHlwZUZpZWxkJyksXG4gICAgY29kZXN5c3RlbTogbnVsbCxcbiAgfTtcblxuICBoaXN0b2dyYW1UeXBlUGlja2VyID0ge1xuICAgIHRpdGxlOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby53b3Jrc3BhY2Uud2lkZ2V0LmZvcm0ubGFiZWwuaGlzdG9ncmFtJyksXG4gICAgY29kZXN5c3RlbTogbnVsbCxcbiAgfTtcblxuICBpc0RhdGVUaW1lVHlwZSA9IGZhbHNlO1xuICBzZWxlY3RlZFNhdmVkU2VhcmNoTmFtZSA9ICcnO1xuICBzdG9yZWRRdWVyeTogU3RvcmVkUXVlcnk7XG5cbiAgQFZpZXdDaGlsZCgnYWdncmVnYXRpb25Db2Rlc3lzdGVtJykgYWdncmVnYXRpb25Db2Rlc3lzdGVtOiBDb2Rlc3lzdGVtQ29tcG9uZW50O1xuICBAVmlld0NoaWxkKCdoaXN0b2dyYW1Db2Rlc3lzdGVtJykgaGlzdG9ncmFtQ29kZXN5c3RlbTogQ29kZXN5c3RlbUNvbXBvbmVudDtcblxuICBASW5wdXQoKSBzZXQgd2lkZ2V0Q29uZmlnKHdjOiBJY2hhcnRzKSB7XG4gICAgdGhpcy5fd2lkZ2V0Q29uZmlnID0gd2M7XG4gIH1cblxuICBnZXQgd2lkZ2V0Q29uZmlnKCkge1xuICAgIHJldHVybiB0aGlzLl93aWRnZXRDb25maWc7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGZiOiBVbnR5cGVkRm9ybUJ1aWxkZXIsXG4gICAgcHJpdmF0ZSBzdG9yZWRRdWVyaWVzU2VydmljZTogU3RvcmVkUXVlcmllc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSB1c2VyU2VydmljZTogVXNlclNlcnZpY2UpIHtcbiAgICB0aGlzLnNldHVwRm9ybS52YWx1ZUNoYW5nZXMucGlwZShza2lwKDEpLCB1bnRpbERlc3Ryb3llZCh0aGlzKSkuc3Vic2NyaWJlKChfKSA9PiB7XG4gICAgICB0aGlzLnNldFdpZGdldENvbmZpZygpO1xuICAgIH0pO1xuICAgIHRoaXMuZ2V0U3RvcmVkUXVlcnlzKCk7XG4gICAgdGhpcy5nZXRDaGFydEZpbGVkKCk7XG4gICAgdGhpcy5nZXRIaXN0b2dyYW1GaWxlZCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRXaWRnZXRDb25maWcoKSB7XG4gICAgaWYgKHRoaXMuc2V0dXBGb3JtLnZhbGlkICYmIHRoaXMuc3RvcmVkUXVlcmllcykge1xuICAgICAgdGhpcy5zdG9yZWRRdWVyeSA9IHRoaXMuc3RvcmVkUXVlcmllcy5maW5kKChzcSkgPT4gc3EubmFtZSA9PT0gdGhpcy5zZXR1cEZvcm0uZ2V0KCdzdG9yZWRRdWVyeScpLnZhbHVlKTtcbiAgICAgIHRoaXMud2lkZ2V0Q29uZmlnID0ge1xuICAgICAgICBzdG9yZWRRdWVyeTogdGhpcy5zdG9yZWRRdWVyeT8uaWQsXG4gICAgICAgIGZvcm1WYWx1ZTogdGhpcy5zZXR1cEZvcm0udmFsdWUsXG4gICAgICAgIGFnZ3JlZ2F0aW9uVHlwZTogJydcbiAgICAgIH07XG4gICAgICBpZiAodGhpcy5zZXR1cEZvcm0uZ2V0KCdzdG9yZWRRdWVyeScpLnZhbHVlICE9PSB0aGlzLnNlbGVjdGVkU2F2ZWRTZWFyY2hOYW1lKSB7XG4gICAgICAgIGlmICh0aGlzLnN0b3JlZFF1ZXJ5KSB7XG4gICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmFnZ3JlZ2F0aW9uUGlja2VyLmNvZGVzeXN0ZW0gPSBudWxsO1xuICAgICAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRTYXZlZFNlYXJjaE5hbWUgIT09ICcnKSB7XG4gICAgICAgICAgICAgIHRoaXMuc2V0dXBGb3JtLnBhdGNoVmFsdWUoe1xuICAgICAgICAgICAgICAgIGFnZ3JlZ2F0aW9uOiAnc3lzb2JqZWN0LmNyZWF0ZWQnLFxuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICh0aGlzLnN0b3JlZFF1ZXJ5LnR5cGVzLmxlbmd0aCAhPT0gMSkge1xuICAgICAgICAgICAgICB0aGlzLmdldEFnZ3JlZ2F0aW9uRmllbGQoJ3N5c2RvY3VtZW50Jyk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICB0aGlzLmdldEFnZ3JlZ2F0aW9uRmllbGQodGhpcy5zdG9yZWRRdWVyeS50eXBlc1swXS5xbmFtZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkU2F2ZWRTZWFyY2hOYW1lID0gdGhpcy5zZXR1cEZvcm0uZ2V0KCdzdG9yZWRRdWVyeScpLnZhbHVlO1xuICAgICAgICAgICAgdGhpcy5pc0RhdGVUaW1lVHlwZSA9IHRoaXMud2lkZ2V0Q29uZmlnPy5mb3JtVmFsdWUuYWdncmVnYXRpb24gPT09ICdzeXNvYmplY3QuY3JlYXRlZCcgfHwgdGhpcy53aWRnZXRDb25maWc/LmFnZ3JlZ2F0aW9uVHlwZSA9PT0gJ0RBVEVUSU1FJztcbiAgICAgICAgICB9LCAxMDApO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLndpZGdldENvbmZpZy5hZ2dyZWdhdGlvblR5cGUgPSB0aGlzLmFnZ3JlZ2F0aW9uQ29kZXN5c3RlbT8uc2VsZWN0ZWROb2Rlcz8uZGF0YT8udHlwZTtcbiAgICAgICAgdGhpcy5pc0RhdGVUaW1lVHlwZSA9IHRoaXMud2lkZ2V0Q29uZmlnPy5hZ2dyZWdhdGlvblR5cGUgPT09ICdEQVRFVElNRSc7XG4gICAgICB9XG4gICAgICB0aGlzLndpZGdldENvbmZpZ0NoYW5nZS5lbWl0KHRoaXMuX3dpZGdldENvbmZpZyk7XG4gICAgfVxuICB9XG5cbiAgZ2V0U3RvcmVkUXVlcnlzKCkge1xuICAgIHRoaXMuc3RvcmVkUXVlcmllc1NlcnZpY2VcbiAgICAgIC5mZXRjaFN0b3JlZFF1ZXJpZXMoKS5waXBlKFxuICAgICAgICB1bnRpbERlc3Ryb3llZCh0aGlzKSxcbiAgICAgICkuc3Vic2NyaWJlKHN0b3JlZFF1ZXJpZXMgPT4ge1xuICAgICAgICB0aGlzLnN0b3JlZFF1ZXJpZXMgPSBzdG9yZWRRdWVyaWVzO1xuICAgICAgICB0aGlzLnN0b3JlZFF1ZXJpZXNQaWNrZXIuY29kZXN5c3RlbSA9IHtcbiAgICAgICAgICBlbnRyaWVzOiB0aGlzLnN0b3JlZFF1ZXJpZXMubWFwKHN0b3JlZFF1ZXJ5ID0+ICh7XG4gICAgICAgICAgICBpZDogc3RvcmVkUXVlcnkuaWQsXG4gICAgICAgICAgICBsYWJlbDogc3RvcmVkUXVlcnkubmFtZSxcbiAgICAgICAgICAgIGRlZmF1bHRyZXByZXNlbnRhdGlvbjogc3RvcmVkUXVlcnkubmFtZSxcbiAgICAgICAgICAgIGRhdGE6IHN0b3JlZFF1ZXJ5Lm5hbWVcbiAgICAgICAgICB9KSkuc29ydChVdGlscy5zb3J0VmFsdWVzKCdsYWJlbCcpKSxcbiAgICAgICAgfTtcbiAgICAgIH0pO1xuICB9XG5cbiAgZ2V0U3RvcmVkUXVlcnkoaWQ6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLnN0b3JlZFF1ZXJpZXNTZXJ2aWNlLmdldFN0b3JlZFF1ZXJ5KGlkKS5waXBlKFxuICAgICAgdW50aWxEZXN0cm95ZWQodGhpcyksXG4gICAgICB0YXAoc3RvcmVkUXVlcnkgPT4ge1xuICAgICAgICB0aGlzLnN0b3JlZFF1ZXJ5ID0gc3RvcmVkUXVlcnk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBnZXRBZ2dyZWdhdGlvbkZpZWxkKHR5cGUpIHtcbiAgICByZXR1cm4gdGhpcy51c2VyU2VydmljZS5nZXRGaWVsZERlZmluaXRpb24odHlwZSkucGlwZSh1bnRpbERlc3Ryb3llZCh0aGlzKSkuc3Vic2NyaWJlKGRlZmluaXRpb24gPT4ge1xuICAgICAgbGV0IGV4Y2x1ZGUgPSBuZXcgU2V0KFsnZmlsZW5hbWUnLCAnbWltZXR5cGUnLCAnbW9kaWZpZXJ0aXRsZScsICd2ZXJzaW9uJywgJ2NyZWF0b3J0aXRsZScsICd0aXRsZScsICdkZXNjcmlwdGlvbiddKTtcbiAgICAgIGlmICh0eXBlICE9PSAnc3lzZG9jdW1lbnQnKSB7XG4gICAgICAgIGV4Y2x1ZGUuYWRkKCd0eXBlJyk7XG4gICAgICB9XG4gICAgICB0aGlzLmFnZ3JlZ2F0aW9uUGlja2VyLmNvZGVzeXN0ZW0gPSB7XG4gICAgICAgIGVudHJpZXM6IGRlZmluaXRpb24uZWxlbWVudHMuZmlsdGVyKGZpZWxkID0+ICFleGNsdWRlLmhhcyhmaWVsZC5oaXRuYW1lKSkubWFwKGZpZWxkID0+ICh7XG4gICAgICAgICAgaWQ6IGZpZWxkLmxhYmVsLFxuICAgICAgICAgIGRlZmF1bHRyZXByZXNlbnRhdGlvbjogZmllbGQubGFiZWwsXG4gICAgICAgICAgZGF0YTogZmllbGQucW5hbWUsXG4gICAgICAgICAgdHlwZTogZmllbGQudHlwZVxuICAgICAgICB9KSkuc29ydChVdGlscy5zb3J0VmFsdWVzKCdkZWZhdWx0cmVwcmVzZW50YXRpb24nKSksXG4gICAgICB9O1xuICAgIH0pO1xuICB9XG5cbiAgZ2V0Q2hhcnRGaWxlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5jaGFydFR5cGVQaWNrZXIuY29kZXN5c3RlbSA9IHtcbiAgICAgIGVudHJpZXM6IFtcbiAgICAgICAge1xuICAgICAgICAgIGlkOiAnYmFyJyxcbiAgICAgICAgICBkZWZhdWx0cmVwcmVzZW50YXRpb246IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXG4gICAgICAgICAgICAnZW8ud29ya3NwYWNlLndpZGdldC5jaGFydHMudHlwZS5iYXInKSxcbiAgICAgICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcbiAgICAgICAgICAgICdlby53b3Jrc3BhY2Uud2lkZ2V0LmNoYXJ0cy50eXBlLmJhcidcbiAgICAgICAgICApLFxuICAgICAgICAgIHZhbHVlOiAnYmFyJyxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIGlkOiAncGllJyxcbiAgICAgICAgICBkZWZhdWx0cmVwcmVzZW50YXRpb246IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXG4gICAgICAgICAgICAnZW8ud29ya3NwYWNlLndpZGdldC5jaGFydHMudHlwZS5waWUnKSxcbiAgICAgICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcbiAgICAgICAgICAgICdlby53b3Jrc3BhY2Uud2lkZ2V0LmNoYXJ0cy50eXBlLnBpZSdcbiAgICAgICAgICApLFxuICAgICAgICAgIHZhbHVlOiAncGllJyxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIGlkOiAnZG9udXQnLFxuICAgICAgICAgIGRlZmF1bHRyZXByZXNlbnRhdGlvbjogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcbiAgICAgICAgICAgICdlby53b3Jrc3BhY2Uud2lkZ2V0LmNoYXJ0cy50eXBlLmRvbnV0J1xuICAgICAgICAgICksXG4gICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXG4gICAgICAgICAgICAnZW8ud29ya3NwYWNlLndpZGdldC5jaGFydHMudHlwZS5kb251dCdcbiAgICAgICAgICApLFxuICAgICAgICAgIHZhbHVlOiAnZG9udXQnLFxuICAgICAgICB9LFxuICAgICAgXS5tYXAoKHJlcykgPT4gKHtcbiAgICAgICAgaWQ6IHJlcy5pZCxcbiAgICAgICAgbGFiZWw6IHJlcy5sYWJlbCxcbiAgICAgICAgZGVmYXVsdHJlcHJlc2VudGF0aW9uOiByZXMuZGVmYXVsdHJlcHJlc2VudGF0aW9uLFxuICAgICAgICBkYXRhOiByZXMudmFsdWVcbiAgICAgIH0pKS5zb3J0KFV0aWxzLnNvcnRWYWx1ZXMoJ2RlZmF1bHRyZXByZXNlbnRhdGlvbicpKSxcbiAgICB9O1xuICB9XG5cbiAgZ2V0SGlzdG9ncmFtRmlsZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuaGlzdG9ncmFtVHlwZVBpY2tlci5jb2Rlc3lzdGVtID0ge1xuICAgICAgZW50cmllczogW1xuICAgICAgICB7XG4gICAgICAgICAgaWQ6ICdzdGFuZGFyZCcsXG4gICAgICAgICAgZGVmYXVsdHJlcHJlc2VudGF0aW9uOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFxuICAgICAgICAgICAgJ2VvLndvcmtzcGFjZS53aWRnZXQuY2hhcnRzLmhpc3RvZ3JhbS5zdGFuZGFyZCcpLFxuICAgICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFxuICAgICAgICAgICAgJ2VvLndvcmtzcGFjZS53aWRnZXQuY2hhcnRzLmhpc3RvZ3JhbS5zdGFuZGFyZCdcbiAgICAgICAgICApLFxuICAgICAgICAgIHZhbHVlOiAnc3RhbmRhcmQnLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgaWQ6ICdkYWlseScsXG4gICAgICAgICAgZGVmYXVsdHJlcHJlc2VudGF0aW9uOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFxuICAgICAgICAgICAgJ2VvLndvcmtzcGFjZS53aWRnZXQuY2hhcnRzLmhpc3RvZ3JhbS5kYWlseSdcbiAgICAgICAgICApLFxuICAgICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFxuICAgICAgICAgICAgJ2VvLndvcmtzcGFjZS53aWRnZXQuY2hhcnRzLmhpc3RvZ3JhbS5kYWlseSdcbiAgICAgICAgICApLFxuICAgICAgICAgIHZhbHVlOiAnZGFpbHknXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBpZDogJ3dlZWtseScsXG4gICAgICAgICAgZGVmYXVsdHJlcHJlc2VudGF0aW9uOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFxuICAgICAgICAgICAgJ2VvLndvcmtzcGFjZS53aWRnZXQuY2hhcnRzLmhpc3RvZ3JhbS53ZWVrbHknXG4gICAgICAgICAgKSxcbiAgICAgICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcbiAgICAgICAgICAgICdlby53b3Jrc3BhY2Uud2lkZ2V0LmNoYXJ0cy5oaXN0b2dyYW0ud2Vla2x5J1xuICAgICAgICAgICksXG4gICAgICAgICAgdmFsdWU6ICd3ZWVrbHknXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBpZDogJ21vbnRobHknLFxuICAgICAgICAgIGRlZmF1bHRyZXByZXNlbnRhdGlvbjogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcbiAgICAgICAgICAgICdlby53b3Jrc3BhY2Uud2lkZ2V0LmNoYXJ0cy5oaXN0b2dyYW0ubW9udGhseScpLFxuICAgICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFxuICAgICAgICAgICAgJ2VvLndvcmtzcGFjZS53aWRnZXQuY2hhcnRzLmhpc3RvZ3JhbS5tb250aGx5J1xuICAgICAgICAgICksXG4gICAgICAgICAgdmFsdWU6ICdtb250aGx5J1xuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgaWQ6ICd5ZWFybHknLFxuICAgICAgICAgIGRlZmF1bHRyZXByZXNlbnRhdGlvbjogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcbiAgICAgICAgICAgICdlby53b3Jrc3BhY2Uud2lkZ2V0LmNoYXJ0cy5oaXN0b2dyYW0ueWVhcmx5JyksXG4gICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXG4gICAgICAgICAgICAnZW8ud29ya3NwYWNlLndpZGdldC5jaGFydHMuaGlzdG9ncmFtLnllYXJseSdcbiAgICAgICAgICApLFxuICAgICAgICAgIHZhbHVlOiAneWVhcmx5J1xuICAgICAgICB9XG4gICAgICBdLm1hcCgocmVzKSA9PiAoe1xuICAgICAgICBpZDogcmVzLmlkLFxuICAgICAgICBsYWJlbDogcmVzLmxhYmVsLFxuICAgICAgICBkZWZhdWx0cmVwcmVzZW50YXRpb246IHJlcy5kZWZhdWx0cmVwcmVzZW50YXRpb24sXG4gICAgICAgIGRhdGE6IHJlcy52YWx1ZVxuICAgICAgfSkpLFxuICAgIH07XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fd2lkZ2V0Q29uZmlnPy5zdG9yZWRRdWVyeSkge1xuICAgICAgdGhpcy5nZXRTdG9yZWRRdWVyeSh0aGlzLl93aWRnZXRDb25maWc/LnN0b3JlZFF1ZXJ5KS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLnNldHVwRm9ybS5wYXRjaFZhbHVlKHtcbiAgICAgICAgICBzdG9yZWRRdWVyeTogdGhpcy5zdG9yZWRRdWVyeSA/IHRoaXMuc3RvcmVkUXVlcnkubmFtZSA6ICcnLFxuICAgICAgICAgIGNoYXJ0VHlwZTogdGhpcy5fd2lkZ2V0Q29uZmlnID8gdGhpcy5fd2lkZ2V0Q29uZmlnPy5mb3JtVmFsdWU/LmNoYXJ0VHlwZSA6ICdwaWUnLFxuICAgICAgICAgIHNpemU6IHRoaXMuX3dpZGdldENvbmZpZz8uZm9ybVZhbHVlPy5zaXplLFxuICAgICAgICAgIGFnZ3JlZ2F0aW9uOiB0aGlzLl93aWRnZXRDb25maWcgPyB0aGlzLl93aWRnZXRDb25maWcuZm9ybVZhbHVlLmFnZ3JlZ2F0aW9uIDogJ3N5c29iamVjdC5jcmVhdGVkJyxcbiAgICAgICAgICBoaXN0b2dyYW1UeXBlOiB0aGlzLl93aWRnZXRDb25maWcgJiYgdGhpcy5fd2lkZ2V0Q29uZmlnPy5mb3JtVmFsdWU/Lmhpc3RvZ3JhbVR5cGUgPyB0aGlzLl93aWRnZXRDb25maWc/LmZvcm1WYWx1ZT8uaGlzdG9ncmFtVHlwZSA6ICdzdGFuZGFyZCcsXG4gICAgICAgIH0pO1xuICAgICAgICBpZiAodGhpcy5zdG9yZWRRdWVyeSkge1xuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRTYXZlZFNlYXJjaE5hbWUgPSB0aGlzLnNldHVwRm9ybS5nZXQoJ3N0b3JlZFF1ZXJ5JykudmFsdWU7XG4gICAgICAgICAgaWYgKHRoaXMuc3RvcmVkUXVlcnkudHlwZXMubGVuZ3RoICE9PSAxKSB7XG4gICAgICAgICAgICB0aGlzLmdldEFnZ3JlZ2F0aW9uRmllbGQoJ3N5c2RvY3VtZW50Jyk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZ2V0QWdncmVnYXRpb25GaWVsZCh0aGlzLnN0b3JlZFF1ZXJ5LnR5cGVzWzBdLnFuYW1lKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnNldHVwRm9ybS5wYXRjaFZhbHVlKHtcbiAgICAgICAgICAgICAgYWdncmVnYXRpb246IHRoaXMuX3dpZGdldENvbmZpZyA/IHRoaXMuX3dpZGdldENvbmZpZy5mb3JtVmFsdWUuYWdncmVnYXRpb24gOiAnc3lzb2JqZWN0LmNyZWF0ZWQnLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0aGlzLmlzRGF0ZVRpbWVUeXBlID0gdGhpcy53aWRnZXRDb25maWc/LmZvcm1WYWx1ZS5hZ2dyZWdhdGlvbiA9PT0gJ3N5c29iamVjdC5jcmVhdGVkJyB8fCB0aGlzLndpZGdldENvbmZpZz8uYWdncmVnYXRpb25UeXBlID09PSAnREFURVRJTUUnO1xuICAgICAgICAgIH0sIDEwMCk7XG4gICAgICAgIH1cbiAgICAgIH0sIChlcnJvcikgPT4ge1xuICAgICAgICB0aGlzLmlzRGF0ZVRpbWVUeXBlID0gZmFsc2U7XG4gICAgICAgIHRoaXMuX3dpZGdldENvbmZpZy5hZ2dyZWdhdGlvblR5cGUgPSBudWxsO1xuICAgICAgICBpZiAoZXJyb3Iuc3RhdHVzID09PSA0MDQpIHtcbiAgICAgICAgICB0aGlzLnNldHVwRm9ybS5wYXRjaFZhbHVlKHtcbiAgICAgICAgICAgIGNoYXJ0VHlwZTogJ3BpZScsXG4gICAgICAgICAgICBhZ2dyZWdhdGlvbjogdGhpcy5fd2lkZ2V0Q29uZmlnID8gdGhpcy5fd2lkZ2V0Q29uZmlnLmZvcm1WYWx1ZS5hZ2dyZWdhdGlvbiA6ICdzeXNvYmplY3QuY3JlYXRlZCcsXG4gICAgICAgICAgICBoaXN0b2dyYW1UeXBlOiAnc3RhbmRhcmQnLFxuICAgICAgICAgICAgc2l6ZTogJycsXG4gICAgICAgICAgfSk7XG4gICAgICAgICAgcmV0dXJuIEVNUFRZO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zZXR1cEZvcm0ucGF0Y2hWYWx1ZSh7XG4gICAgICAgIGNoYXJ0VHlwZTogdGhpcy5fd2lkZ2V0Q29uZmlnID8gdGhpcy5fd2lkZ2V0Q29uZmlnPy5mb3JtVmFsdWU/LmNoYXJ0VHlwZSA6ICdwaWUnLFxuICAgICAgICBhZ2dyZWdhdGlvbjogdGhpcy5fd2lkZ2V0Q29uZmlnID8gdGhpcy5fd2lkZ2V0Q29uZmlnLmZvcm1WYWx1ZS5hZ2dyZWdhdGlvbiA6ICdzeXNvYmplY3QuY3JlYXRlZCcsXG4gICAgICAgIGhpc3RvZ3JhbVR5cGU6IHRoaXMuX3dpZGdldENvbmZpZyAmJiB0aGlzLl93aWRnZXRDb25maWc/LmZvcm1WYWx1ZT8uaGlzdG9ncmFtVHlwZSA/IHRoaXMuX3dpZGdldENvbmZpZz8uZm9ybVZhbHVlPy5oaXN0b2dyYW1UeXBlIDogJ3N0YW5kYXJkJyxcbiAgICAgICAgc2l6ZTogdGhpcy5fd2lkZ2V0Q29uZmlnPy5mb3JtVmFsdWU/LnNpemUsXG4gICAgICB9KTtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJzZXR1cFwiPlxuICAgIDxmb3JtIFtmb3JtR3JvdXBdPVwic2V0dXBGb3JtXCI+XG4gICAgICAgIDxlby1mb3JtLWlucHV0IFtyZXF1aXJlZF09XCJ0cnVlXCIgW3NraXBUb2dnbGVdPVwidHJ1ZVwiXG4gICAgICAgICAgICBbbGFiZWxdPVwiJ2VvLndvcmtzcGFjZS53aWRnZXQuZm9ybS5sYWJlbC5jaGFydFR5cGVGaWVsZCcgfCB0cmFuc2xhdGVcIj5cbiAgICAgICAgICAgIDxlby1jb2Rlc3lzdGVtIGZvcm1Db250cm9sTmFtZT1cImNoYXJ0VHlwZVwiIFtwaWNrZXJUaXRsZV09XCJjaGFydFR5cGVQaWNrZXIudGl0bGVcIlxuICAgICAgICAgICAgICAgIFtjb2Rlc3lzdGVtXT1cImNoYXJ0VHlwZVBpY2tlci5jb2Rlc3lzdGVtXCI+PC9lby1jb2Rlc3lzdGVtPlxuICAgICAgICA8L2VvLWZvcm0taW5wdXQ+XG5cbiAgICAgICAgPGVvLWZvcm0taW5wdXQgW3JlcXVpcmVkXT1cInRydWVcIiBbc2tpcFRvZ2dsZV09XCJ0cnVlXCIgKm5nSWY9XCJzdG9yZWRRdWVyaWVzUGlja2VyPy5jb2Rlc3lzdGVtPy5lbnRyaWVzXCJcbiAgICAgICAgICAgIFtsYWJlbF09XCInZW8uc2VhcmNoLnRpdGxlLnN0b3JlZHF1ZXJpZXMnIHwgdHJhbnNsYXRlXCIgW2Rlc2NyaXB0aW9uXT1cIidlby53b3Jrc3BhY2Uud2lkZ2V0LnN0b3JlZC5xdWVyaWVzLmRlc2NyaXB0aW9uJ1wiPlxuICAgICAgICAgICAgPGVvLWNvZGVzeXN0ZW0gZm9ybUNvbnRyb2xOYW1lPVwic3RvcmVkUXVlcnlcIiBbcGlja2VyVGl0bGVdPVwic3RvcmVkUXVlcmllc1BpY2tlci50aXRsZVwiXG4gICAgICAgICAgICAgICAgW2NvZGVzeXN0ZW1dPVwic3RvcmVkUXVlcmllc1BpY2tlci5jb2Rlc3lzdGVtXCJcbiAgICAgICAgICAgICAgICBbZW1wdHlNZXNzYWdlXT1cIidlby53b3Jrc3BhY2Uud2lkZ2V0LnN0b3JlZC5xdWVyaWVzLmxpc3Qubm90QXZhaWxhYmxlJ1wiPjwvZW8tY29kZXN5c3RlbT5cbiAgICAgICAgPC9lby1mb3JtLWlucHV0PlxuXG4gICAgICAgIDxlby1mb3JtLWlucHV0IFtyZXF1aXJlZF09XCJ0cnVlXCIgW3NraXBUb2dnbGVdPVwidHJ1ZVwiXG4gICAgICAgICAgICAqbmdJZj1cImFnZ3JlZ2F0aW9uUGlja2VyPy5jb2Rlc3lzdGVtPy5lbnRyaWVzICYmIHRoaXMuc2V0dXBGb3JtLmdldCgnc3RvcmVkUXVlcnknKS52YWx1ZVwiXG4gICAgICAgICAgICBbbGFiZWxdPVwiJ2VvLndvcmtzcGFjZS53aWRnZXQuZm9ybS5sYWJlbC5hZ2dyZWdhdGlvbkZpZWxkJyB8IHRyYW5zbGF0ZVwiPlxuICAgICAgICAgICAgPGVvLWNvZGVzeXN0ZW0gI2FnZ3JlZ2F0aW9uQ29kZXN5c3RlbSBmb3JtQ29udHJvbE5hbWU9XCJhZ2dyZWdhdGlvblwiIFtwaWNrZXJUaXRsZV09XCJhZ2dyZWdhdGlvblBpY2tlci50aXRsZVwiXG4gICAgICAgICAgICAgICAgW2NvZGVzeXN0ZW1dPVwiYWdncmVnYXRpb25QaWNrZXIuY29kZXN5c3RlbVwiPjwvZW8tY29kZXN5c3RlbT5cbiAgICAgICAgPC9lby1mb3JtLWlucHV0PlxuXG4gICAgICAgIDxlby1mb3JtLWlucHV0IFtyZXF1aXJlZF09XCJ0cnVlXCIgW3NraXBUb2dnbGVdPVwidHJ1ZVwiXG4gICAgICAgICAgICAqbmdJZj1cImlzRGF0ZVRpbWVUeXBlXCIgW2xhYmVsXT1cIidlby53b3Jrc3BhY2Uud2lkZ2V0LmZvcm0ubGFiZWwuaGlzdG9ncmFtJyB8IHRyYW5zbGF0ZVwiPlxuICAgICAgICAgICAgPGVvLWNvZGVzeXN0ZW0gZm9ybUNvbnRyb2xOYW1lPVwiaGlzdG9ncmFtVHlwZVwiIFtwaWNrZXJUaXRsZV09XCJoaXN0b2dyYW1UeXBlUGlja2VyLnRpdGxlXCJcbiAgICAgICAgICAgICAgICBbY29kZXN5c3RlbV09XCJoaXN0b2dyYW1UeXBlUGlja2VyLmNvZGVzeXN0ZW1cIj48L2VvLWNvZGVzeXN0ZW0+XG4gICAgICAgIDwvZW8tZm9ybS1pbnB1dD5cblxuICAgICAgICA8ZW8tZm9ybS1pbnB1dCBbc2tpcFRvZ2dsZV09XCJ0cnVlXCIgKm5nSWY9XCJ0aGlzLndpZGdldENvbmZpZz8uZm9ybVZhbHVlPy5oaXN0b2dyYW1UeXBlICE9PSAnc3RhbmRhcmQnXCIgW2Rlc2NyaXB0aW9uXT1cIidlby53b3Jrc3BhY2Uud2lkZ2V0LmNoYXJ0LmZvcm0ubGFiZWwuZGVzY3JpcHRpb24nXCJcbiAgICAgICAgICAgIFtsYWJlbF09XCInZW8ud29ya3NwYWNlLndpZGdldC5mb3JtLnBhcnRpYWxWYWx1ZScgfCB0cmFuc2xhdGVcIj5cbiAgICAgICAgICAgIDxlby1udW1iZXIgW3NjYWxlXT1cIjBcIiBmb3JtQ29udHJvbE5hbWU9XCJzaXplXCI+PC9lby1udW1iZXI+XG4gICAgICAgIDwvZW8tZm9ybS1pbnB1dD5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwiZXJyLW1zZ1wiICpuZ0lmPVwic2V0dXBGb3JtLmdldCgnc2l6ZScpLmhhc0Vycm9yKCdtYXgnKSB8fCBzZXR1cEZvcm0uZ2V0KCdzaXplJykuaGFzRXJyb3IoJ21pbicpXCI+XG4gICAgICAgICAgICA8ZGl2IHRyYW5zbGF0ZT5cbiAgICAgICAgICAgICAgICBlby5mb3JtLnByb3BlcnR5LnN0cmluZy5lcnJvci5jbGFzc2lmaWNhdGlvbi5wYXJ0aWFsVmFsdWUgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgPC9mb3JtPlxuPC9kaXY+XG5cbjxkaXYgY2xhc3M9XCJwcmV2aWV3XCJcbiAgICAqbmdJZj1cInNldHVwRm9ybS5nZXQoJ2FnZ3JlZ2F0aW9uJykudmFsdWUgJiYgc2V0dXBGb3JtLmdldCgnY2hhcnRUeXBlJykudmFsdWUgJiYgc2V0dXBGb3JtLmdldCgnc3RvcmVkUXVlcnknKS52YWx1ZSAmJiAoaXNEYXRlVGltZVR5cGUgJiYgc2V0dXBGb3JtLmdldCgnaGlzdG9ncmFtVHlwZScpLnZhbHVlIHx8ICFpc0RhdGVUaW1lVHlwZSk7IGVsc2UgdHBsRW1wdHlcIj5cbiAgICA8ZW8tY2hhcnRzLXdpZGdldCBbd2lkZ2V0Q29uZmlnXT1cIndpZGdldENvbmZpZ1wiIFtlZGl0TW9kZV09XCJ0cnVlXCI+PC9lby1jaGFydHMtd2lkZ2V0PlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjdHBsRW1wdHk+XG4gICAgPGRpdiBjbGFzcz1cImVtcHR5XCI+XG4gICAgICAgIDxlby1lcnJvci1tZXNzYWdlXG4gICAgICAgICAgICBbZW1wdHlTdGF0ZV09XCJ7aWNvbjogJ2ljX3NhdmVkX3NlYXJjaC5zdmcnLCB0ZXh0OiAnZW8ud29ya3NwYWNlLndpZGdldC5jb25maWd1cmF0aW9uLm5vdE9rJ31cIj48L2VvLWVycm9yLW1lc3NhZ2U+XG4gICAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -3,6 +3,7 @@ import { NG_VALUE_ACCESSOR } from '@angular/forms';
3
3
  import * as i0 from "@angular/core";
4
4
  import * as i1 from "@angular/forms";
5
5
  import * as i2 from "@yuuvis/components/checkbox";
6
+ import * as i3 from "@ngx-translate/core";
6
7
  export class CheckboxComponent {
7
8
  constructor() {
8
9
  this.required = false;
@@ -41,7 +42,7 @@ CheckboxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", vers
41
42
  useExisting: forwardRef(() => CheckboxComponent),
42
43
  multi: true
43
44
  }
44
- ], ngImport: i0, template: "<yvc-checkbox [(ngModel)]=\"value\" (ngModelChange)=\"onChange($event)\" [tristate]=\"tristate\"\n [readonly]=\"readonly\"></yvc-checkbox>", styles: [":host{display:flex;align-items:center}:host .tristate{display:flex;align-items:center}:host .tristate ::ng-deep .pi-times:before{content:\"\"}:host eo-icon{height:16px;width:16px;color:var(--text-color-hint);cursor:pointer;margin:1px 0 0 4px}:host-context(.dark) eo-icon{color:rgba(var(--color-white-rgb),.8)}\n"], dependencies: [{ kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i2.CheckboxComponent, selector: "yvc-checkbox", inputs: ["tristate", "readonly"] }] });
45
+ ], ngImport: i0, template: "<yvc-checkbox [title]=\"value === null ? ('eo.form.property.checkbox.indefinite.tooltip' | translate) : ''\" [(ngModel)]=\"value\" (ngModelChange)=\"onChange($event)\" [tristate]=\"tristate\"\n [readonly]=\"readonly\"></yvc-checkbox>\n", styles: [":host{display:flex;align-items:center}:host .tristate{display:flex;align-items:center}:host .tristate ::ng-deep .pi-times:before{content:\"\"}:host eo-icon{height:16px;width:16px;color:var(--text-color-hint);cursor:pointer;margin:1px 0 0 4px}:host-context(.dark) eo-icon{color:rgba(var(--color-white-rgb),.8)}\n"], dependencies: [{ kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i2.CheckboxComponent, selector: "yvc-checkbox", inputs: ["tristate", "readonly"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] });
45
46
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: CheckboxComponent, decorators: [{
46
47
  type: Component,
47
48
  args: [{ selector: 'eo-checkbox', providers: [
@@ -50,7 +51,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
50
51
  useExisting: forwardRef(() => CheckboxComponent),
51
52
  multi: true
52
53
  }
53
- ], template: "<yvc-checkbox [(ngModel)]=\"value\" (ngModelChange)=\"onChange($event)\" [tristate]=\"tristate\"\n [readonly]=\"readonly\"></yvc-checkbox>", styles: [":host{display:flex;align-items:center}:host .tristate{display:flex;align-items:center}:host .tristate ::ng-deep .pi-times:before{content:\"\"}:host eo-icon{height:16px;width:16px;color:var(--text-color-hint);cursor:pointer;margin:1px 0 0 4px}:host-context(.dark) eo-icon{color:rgba(var(--color-white-rgb),.8)}\n"] }]
54
+ ], template: "<yvc-checkbox [title]=\"value === null ? ('eo.form.property.checkbox.indefinite.tooltip' | translate) : ''\" [(ngModel)]=\"value\" (ngModelChange)=\"onChange($event)\" [tristate]=\"tristate\"\n [readonly]=\"readonly\"></yvc-checkbox>\n", styles: [":host{display:flex;align-items:center}:host .tristate{display:flex;align-items:center}:host .tristate ::ng-deep .pi-times:before{content:\"\"}:host eo-icon{height:16px;width:16px;color:var(--text-color-hint);cursor:pointer;margin:1px 0 0 4px}:host-context(.dark) eo-icon{color:rgba(var(--color-white-rgb),.8)}\n"] }]
54
55
  }], propDecorators: { required: [{
55
56
  type: Input
56
57
  }], tristate: [{
@@ -58,4 +59,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
58
59
  }], readonly: [{
59
60
  type: Input
60
61
  }] } });
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1mcmFtZXdvcmsvZm9ybS1lbGVtZW50cy9jaGVja2JveC9jaGVja2JveC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2VvLWZyYW1ld29yay9mb3JtLWVsZW1lbnRzL2NoZWNrYm94L2NoZWNrYm94LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUMzRCxPQUFPLEVBQXVCLGlCQUFpQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUFjdkUsTUFBTSxPQUFPLGlCQUFpQjtJQVo5QjtRQWdCVyxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFRMUIsb0JBQWUsR0FBRyxDQUFDLENBQU0sRUFBRSxFQUFFO1FBQzdCLENBQUMsQ0FBQTtLQXdCRjtJQTlCQyxLQUFLO1FBQ0gsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7UUFDbEIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUtELFVBQVUsQ0FBQyxLQUFVO1FBQ25CLElBQUksT0FBTyxLQUFLLEtBQUssV0FBVyxFQUFFO1lBQ2hDLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1NBQ25CO2FBQU07WUFDTCxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztTQUNwQjtJQUNILENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxFQUFPO1FBQ3RCLElBQUksQ0FBQyxlQUFlLEdBQUcsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxFQUFPO0lBQ3pCLENBQUM7SUFFRCxRQUFRLENBQUMsS0FBSztRQUNaLElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsUUFBUSxJQUFJLEtBQUssS0FBSyxJQUFJLEVBQUU7WUFDcEQsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7U0FDbkI7UUFDRCxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNuQyxDQUFDOzs4R0FwQ1UsaUJBQWlCO2tHQUFqQixpQkFBaUIsb0hBUmpCO1FBQ1Q7WUFDRSxPQUFPLEVBQUUsaUJBQWlCO1lBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsaUJBQWlCLENBQUM7WUFDaEQsS0FBSyxFQUFFLElBQUk7U0FDWjtLQUNGLDBCQ2JILCtJQUN5QzsyRkRjNUIsaUJBQWlCO2tCQVo3QixTQUFTOytCQUNFLGFBQWEsYUFHWjt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxrQkFBa0IsQ0FBQzs0QkFDaEQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7OEJBTVEsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgZm9yd2FyZFJlZiwgSW5wdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1J9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZW8tY2hlY2tib3gnLFxuICB0ZW1wbGF0ZVVybDogJy4vY2hlY2tib3guY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jaGVja2JveC5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IENoZWNrYm94Q29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlXG4gICAgfVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIENoZWNrYm94Q29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuXG4gIHZhbHVlOiBib29sZWFuIHwgbnVsbDtcblxuICBASW5wdXQoKSByZXF1aXJlZCA9IGZhbHNlO1xuICBASW5wdXQoKSB0cmlzdGF0ZSA9IGZhbHNlO1xuICBASW5wdXQoKSByZWFkb25seTogYm9vbGVhbjtcblxuICByZXNldCgpOiB2b2lkIHtcbiAgICB0aGlzLnZhbHVlID0gbnVsbDtcbiAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZSh0aGlzLnZhbHVlKTtcbiAgfVxuXG4gIHByb3BhZ2F0ZUNoYW5nZSA9IChfOiBhbnkpID0+IHtcbiAgfVxuXG4gIHdyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICB0aGlzLnZhbHVlID0gbnVsbDtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICAgIH1cbiAgfVxuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMucHJvcGFnYXRlQ2hhbmdlID0gZm47XG4gIH1cblxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XG4gIH1cblxuICBvbkNoYW5nZSh2YWx1ZSkge1xuICAgIGlmICh0aGlzLnRyaXN0YXRlICYmIHRoaXMucmVxdWlyZWQgJiYgdmFsdWUgPT09IG51bGwpIHtcbiAgICAgIHRoaXMudmFsdWUgPSB0cnVlO1xuICAgIH1cbiAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZSh0aGlzLnZhbHVlKTtcbiAgfVxuXG59XG4iLCI8eXZjLWNoZWNrYm94IFsobmdNb2RlbCldPVwidmFsdWVcIiAobmdNb2RlbENoYW5nZSk9XCJvbkNoYW5nZSgkZXZlbnQpXCIgW3RyaXN0YXRlXT1cInRyaXN0YXRlXCJcbiAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlcIj48L3l2Yy1jaGVja2JveD4iXX0=
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1mcmFtZXdvcmsvZm9ybS1lbGVtZW50cy9jaGVja2JveC9jaGVja2JveC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2VvLWZyYW1ld29yay9mb3JtLWVsZW1lbnRzL2NoZWNrYm94L2NoZWNrYm94LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUMzRCxPQUFPLEVBQXVCLGlCQUFpQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7Ozs7O0FBY3ZFLE1BQU0sT0FBTyxpQkFBaUI7SUFaOUI7UUFnQlcsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBUTFCLG9CQUFlLEdBQUcsQ0FBQyxDQUFNLEVBQUUsRUFBRTtRQUM3QixDQUFDLENBQUE7S0F3QkY7SUE5QkMsS0FBSztRQUNILElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFLRCxVQUFVLENBQUMsS0FBVTtRQUNuQixJQUFJLE9BQU8sS0FBSyxLQUFLLFdBQVcsRUFBRTtZQUNoQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztTQUNuQjthQUFNO1lBQ0wsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7U0FDcEI7SUFDSCxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsRUFBTztRQUN0QixJQUFJLENBQUMsZUFBZSxHQUFHLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQsaUJBQWlCLENBQUMsRUFBTztJQUN6QixDQUFDO0lBRUQsUUFBUSxDQUFDLEtBQUs7UUFDWixJQUFJLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxLQUFLLEtBQUssSUFBSSxFQUFFO1lBQ3BELElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1NBQ25CO1FBQ0QsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbkMsQ0FBQzs7OEdBcENVLGlCQUFpQjtrR0FBakIsaUJBQWlCLG9IQVJqQjtRQUNUO1lBQ0UsT0FBTyxFQUFFLGlCQUFpQjtZQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLGlCQUFpQixDQUFDO1lBQ2hELEtBQUssRUFBRSxJQUFJO1NBQ1o7S0FDRiwwQkNiSCxnUEFFQTsyRkRhYSxpQkFBaUI7a0JBWjdCLFNBQVM7K0JBQ0UsYUFBYSxhQUdaO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLGtCQUFrQixDQUFDOzRCQUNoRCxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjs4QkFNUSxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBmb3J3YXJkUmVmLCBJbnB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0NvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlby1jaGVja2JveCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9jaGVja2JveC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NoZWNrYm94LmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gQ2hlY2tib3hDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWVcbiAgICB9XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgQ2hlY2tib3hDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG5cbiAgdmFsdWU6IGJvb2xlYW4gfCBudWxsO1xuXG4gIEBJbnB1dCgpIHJlcXVpcmVkID0gZmFsc2U7XG4gIEBJbnB1dCgpIHRyaXN0YXRlID0gZmFsc2U7XG4gIEBJbnB1dCgpIHJlYWRvbmx5OiBib29sZWFuO1xuXG4gIHJlc2V0KCk6IHZvaWQge1xuICAgIHRoaXMudmFsdWUgPSBudWxsO1xuICAgIHRoaXMucHJvcGFnYXRlQ2hhbmdlKHRoaXMudmFsdWUpO1xuICB9XG5cbiAgcHJvcGFnYXRlQ2hhbmdlID0gKF86IGFueSkgPT4ge1xuICB9XG5cbiAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIHRoaXMudmFsdWUgPSBudWxsO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgfVxuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgfVxuXG4gIG9uQ2hhbmdlKHZhbHVlKSB7XG4gICAgaWYgKHRoaXMudHJpc3RhdGUgJiYgdGhpcy5yZXF1aXJlZCAmJiB2YWx1ZSA9PT0gbnVsbCkge1xuICAgICAgdGhpcy52YWx1ZSA9IHRydWU7XG4gICAgfVxuICAgIHRoaXMucHJvcGFnYXRlQ2hhbmdlKHRoaXMudmFsdWUpO1xuICB9XG5cbn1cbiIsIjx5dmMtY2hlY2tib3ggW3RpdGxlXT1cInZhbHVlID09PSBudWxsID8gKCdlby5mb3JtLnByb3BlcnR5LmNoZWNrYm94LmluZGVmaW5pdGUudG9vbHRpcCcgfCB0cmFuc2xhdGUpIDogJydcIiBbKG5nTW9kZWwpXT1cInZhbHVlXCIgKG5nTW9kZWxDaGFuZ2UpPVwib25DaGFuZ2UoJGV2ZW50KVwiIFt0cmlzdGF0ZV09XCJ0cmlzdGF0ZVwiXG4gICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCI+PC95dmMtY2hlY2tib3g+XG4iXX0=
@@ -59,7 +59,7 @@ DateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version:
59
59
  useExisting: forwardRef(() => DateComponent),
60
60
  multi: true,
61
61
  }
62
- ], ngImport: i0, template: "<yvc-datepicker [calendar]=\"true\" [disabled]=\"readonly\" [locale]=\"locale\" [withTime]=\"withTime\" [labels]=\"labels\"\n [hour12]=\"locale === 'en'\" \n [onlyFutureDates]=\"onlyFutureDates\"\n [ngModelOptions]=\"{standalone: true}\" [(ngModel)]=\"value\"\n (ngModelChange)=\"onValueChange($event)\"></yvc-datepicker>", styles: [":host yvc-datepicker{border:0;outline:0;box-sizing:border-box}\n"], dependencies: [{ kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.Datepicker, selector: "yvc-datepicker", inputs: ["useSupportedInput", "calendar", "readonly", "hour12", "locale", "labels", "withTime", "onlyFutureDates", "minDate", "maxDate", "disabled"] }] });
62
+ ], ngImport: i0, template: "<yvc-datepicker [calendar]=\"true\" [disabled]=\"readonly\" [locale]=\"locale\" [withTime]=\"withTime\" [labels]=\"labels\"\n [hour12]=\"locale === 'en'\" \n [onlyFutureDates]=\"onlyFutureDates\"\n [ngModelOptions]=\"{standalone: true}\" [(ngModel)]=\"value\"\n (ngModelChange)=\"onValueChange($event)\"></yvc-datepicker>", styles: [":host yvc-datepicker{border:0;outline:0;box-sizing:border-box;overflow-x:auto}\n"], dependencies: [{ kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.Datepicker, selector: "yvc-datepicker", inputs: ["useSupportedInput", "calendar", "readonly", "hour12", "locale", "labels", "withTime", "onlyFutureDates", "minDate", "maxDate", "disabled"] }] });
63
63
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: DateComponent, decorators: [{
64
64
  type: Component,
65
65
  args: [{ selector: 'eo-date', providers: [
@@ -68,7 +68,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
68
68
  useExisting: forwardRef(() => DateComponent),
69
69
  multi: true,
70
70
  }
71
- ], template: "<yvc-datepicker [calendar]=\"true\" [disabled]=\"readonly\" [locale]=\"locale\" [withTime]=\"withTime\" [labels]=\"labels\"\n [hour12]=\"locale === 'en'\" \n [onlyFutureDates]=\"onlyFutureDates\"\n [ngModelOptions]=\"{standalone: true}\" [(ngModel)]=\"value\"\n (ngModelChange)=\"onValueChange($event)\"></yvc-datepicker>", styles: [":host yvc-datepicker{border:0;outline:0;box-sizing:border-box}\n"] }]
71
+ ], template: "<yvc-datepicker [calendar]=\"true\" [disabled]=\"readonly\" [locale]=\"locale\" [withTime]=\"withTime\" [labels]=\"labels\"\n [hour12]=\"locale === 'en'\" \n [onlyFutureDates]=\"onlyFutureDates\"\n [ngModelOptions]=\"{standalone: true}\" [(ngModel)]=\"value\"\n (ngModelChange)=\"onValueChange($event)\"></yvc-datepicker>", styles: [":host yvc-datepicker{border:0;outline:0;box-sizing:border-box;overflow-x:auto}\n"] }]
72
72
  }], ctorParameters: function () { return [{ type: i1.TranslateService }]; }, propDecorators: { withTime: [{
73
73
  type: Input
74
74
  }], readonly: [{
@@ -64,10 +64,10 @@ export class DatetimeFilterComponent extends DateComponent {
64
64
  }
65
65
  }
66
66
  DatetimeFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: DatetimeFilterComponent, deps: [{ token: i1.TranslateService }, { token: i1.EventService }], target: i0.ɵɵFactoryTarget.Component });
67
- DatetimeFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: DatetimeFilterComponent, selector: "eo-datetime-custom", viewQueries: [{ propertyName: "eoDialog", first: true, predicate: EoDialogComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<yvc-datepicker [calendar]=\"true\" [disabled]=\"readonly\" [locale]=\"locale\" [withTime]=\"withTime\" [labels]=\"labels\"\n [hour12]=\"locale === 'en'\" \n [onlyFutureDates]=\"onlyFutureDates\"\n [ngModelOptions]=\"{standalone: true}\" [(ngModel)]=\"value\"\n (ngModelChange)=\"onValueChange($event)\"></yvc-datepicker>", styles: [":host yvc-datepicker{border:0;outline:0;box-sizing:border-box}\n"], dependencies: [{ kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.Datepicker, selector: "yvc-datepicker", inputs: ["useSupportedInput", "calendar", "readonly", "hour12", "locale", "labels", "withTime", "onlyFutureDates", "minDate", "maxDate", "disabled"] }] });
67
+ DatetimeFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: DatetimeFilterComponent, selector: "eo-datetime-custom", viewQueries: [{ propertyName: "eoDialog", first: true, predicate: EoDialogComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<yvc-datepicker [calendar]=\"true\" [disabled]=\"readonly\" [locale]=\"locale\" [withTime]=\"withTime\" [labels]=\"labels\"\n [hour12]=\"locale === 'en'\" \n [onlyFutureDates]=\"onlyFutureDates\"\n [ngModelOptions]=\"{standalone: true}\" [(ngModel)]=\"value\"\n (ngModelChange)=\"onValueChange($event)\"></yvc-datepicker>", styles: [":host yvc-datepicker{border:0;outline:0;box-sizing:border-box;overflow-x:auto}\n"], dependencies: [{ kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.Datepicker, selector: "yvc-datepicker", inputs: ["useSupportedInput", "calendar", "readonly", "hour12", "locale", "labels", "withTime", "onlyFutureDates", "minDate", "maxDate", "disabled"] }] });
68
68
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: DatetimeFilterComponent, decorators: [{
69
69
  type: Component,
70
- args: [{ selector: 'eo-datetime-custom', template: "<yvc-datepicker [calendar]=\"true\" [disabled]=\"readonly\" [locale]=\"locale\" [withTime]=\"withTime\" [labels]=\"labels\"\n [hour12]=\"locale === 'en'\" \n [onlyFutureDates]=\"onlyFutureDates\"\n [ngModelOptions]=\"{standalone: true}\" [(ngModel)]=\"value\"\n (ngModelChange)=\"onValueChange($event)\"></yvc-datepicker>", styles: [":host yvc-datepicker{border:0;outline:0;box-sizing:border-box}\n"] }]
70
+ args: [{ selector: 'eo-datetime-custom', template: "<yvc-datepicker [calendar]=\"true\" [disabled]=\"readonly\" [locale]=\"locale\" [withTime]=\"withTime\" [labels]=\"labels\"\n [hour12]=\"locale === 'en'\" \n [onlyFutureDates]=\"onlyFutureDates\"\n [ngModelOptions]=\"{standalone: true}\" [(ngModel)]=\"value\"\n (ngModelChange)=\"onValueChange($event)\"></yvc-datepicker>", styles: [":host yvc-datepicker{border:0;outline:0;box-sizing:border-box;overflow-x:auto}\n"] }]
71
71
  }], ctorParameters: function () { return [{ type: i1.TranslateService }, { type: i1.EventService }]; }, propDecorators: { eoDialog: [{
72
72
  type: ViewChild,
73
73
  args: [EoDialogComponent]