ngx-material-entity 18.0.1 → 18.2.0

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 (109) hide show
  1. package/README.md +10 -13
  2. package/components/create-page/create-page.component.d.ts +3 -0
  3. package/components/custom-table/custom-table-configuration.model.d.ts +65 -0
  4. package/components/custom-table/custom-table.component.d.ts +111 -0
  5. package/components/edit-page/edit-page.component.d.ts +8 -1
  6. package/components/input/array/array-date-input/array-date-input.component.d.ts +2 -2
  7. package/components/input/array/array-date-range-input/array-date-range-input.component.d.ts +3 -3
  8. package/components/input/array/array-date-time-input/array-date-time-input.component.d.ts +3 -3
  9. package/components/input/array/array-table.class.d.ts +25 -19
  10. package/components/input/file/file-default-input/file-default-input.component.d.ts +1 -1
  11. package/components/input/file/file-image-input/file-image-input.component.d.ts +3 -0
  12. package/components/input/file/file-input/file-input.component.d.ts +8 -2
  13. package/components/input/input.component.d.ts +101 -80
  14. package/components/input/number/number-dropdown-input/number-dropdown-input.component.d.ts +2 -0
  15. package/components/input/relations/references-many-input/references-many-input.component.d.ts +14 -17
  16. package/components/input/string/string-dropdown-input/string-dropdown-input.component.d.ts +2 -0
  17. package/components/input/string/string-password-input/string-password-input.component.d.ts +3 -0
  18. package/components/table/edit-dialog/edit-entity-dialog.component.d.ts +5 -5
  19. package/components/table/table-data.d.ts +9 -4
  20. package/components/table/table.component.d.ts +15 -37
  21. package/components/tooltip/tooltip.component.d.ts +2 -0
  22. package/decorators/array/array-decorator-internal.data.d.ts +8 -3
  23. package/decorators/array/array-decorator.data.d.ts +45 -88
  24. package/decorators/base/property-decorator.data.d.ts +2 -2
  25. package/decorators/file/file-decorator-internal.data.d.ts +3 -2
  26. package/decorators/file/file-decorator.data.d.ts +4 -3
  27. package/decorators/references-many/references-many-decorator-internal.data.d.ts +3 -1
  28. package/decorators/references-many/references-many-decorator.data.d.ts +13 -1
  29. package/directives/dynamic-style-class.directive.d.ts +4 -5
  30. package/esm2022/components/confirm-dialog/confirm-dialog.component.mjs +7 -8
  31. package/esm2022/components/create-page/create-page.component.mjs +17 -11
  32. package/esm2022/components/custom-table/custom-table-configuration.model.mjs +37 -0
  33. package/esm2022/components/custom-table/custom-table.component.mjs +213 -0
  34. package/esm2022/components/edit-page/edit-page.component.mjs +29 -12
  35. package/esm2022/components/form/form.component.mjs +7 -8
  36. package/esm2022/components/input/array/array-date-input/array-date-input.component.mjs +17 -21
  37. package/esm2022/components/input/array/array-date-range-input/array-date-range-input.component.mjs +28 -27
  38. package/esm2022/components/input/array/array-date-time-input/array-date-time-input.component.mjs +18 -22
  39. package/esm2022/components/input/array/array-string-autocomplete-chips/array-string-autocomplete-chips.component.mjs +9 -7
  40. package/esm2022/components/input/array/array-string-chips-input/array-string-chips-input.component.mjs +9 -7
  41. package/esm2022/components/input/array/array-table.class.mjs +53 -45
  42. package/esm2022/components/input/base-input.component.mjs +3 -3
  43. package/esm2022/components/input/boolean/boolean-checkbox-input/boolean-checkbox-input.component.mjs +4 -4
  44. package/esm2022/components/input/boolean/boolean-dropdown-input/boolean-dropdown-input.component.mjs +3 -3
  45. package/esm2022/components/input/boolean/boolean-toggle-input/boolean-toggle-input.component.mjs +4 -4
  46. package/esm2022/components/input/custom/custom.component.mjs +3 -3
  47. package/esm2022/components/input/date/date-input/date-input.component.mjs +3 -3
  48. package/esm2022/components/input/date/date-range-input/date-range-input.component.mjs +7 -8
  49. package/esm2022/components/input/date/date-time-input/date-time-input.component.mjs +6 -6
  50. package/esm2022/components/input/file/file-default-input/file-default-input.component.mjs +5 -5
  51. package/esm2022/components/input/file/file-image-input/file-image-input.component.mjs +10 -9
  52. package/esm2022/components/input/file/file-input/file-input.component.mjs +27 -15
  53. package/esm2022/components/input/input.component.mjs +162 -114
  54. package/esm2022/components/input/number/number-dropdown-input/number-dropdown-input.component.mjs +11 -8
  55. package/esm2022/components/input/number/number-input/number-input.component.mjs +3 -3
  56. package/esm2022/components/input/number/number-slider-input/number-slider-input.component.mjs +4 -4
  57. package/esm2022/components/input/relations/references-many-input/references-many-input.component.mjs +46 -57
  58. package/esm2022/components/input/string/string-autocomplete-input/string-autocomplete-input.component.mjs +6 -7
  59. package/esm2022/components/input/string/string-dropdown-input/string-dropdown-input.component.mjs +11 -8
  60. package/esm2022/components/input/string/string-input/string-input.component.mjs +3 -3
  61. package/esm2022/components/input/string/string-password-input/string-password-input.component.mjs +13 -8
  62. package/esm2022/components/input/string/string-textbox-input/string-textbox-input.component.mjs +3 -3
  63. package/esm2022/components/table/create-dialog/create-entity-dialog.component.mjs +9 -10
  64. package/esm2022/components/table/display-column-value/base-display-column-value.component.mjs +3 -3
  65. package/esm2022/components/table/display-column-value/display-column-value.component.mjs +3 -3
  66. package/esm2022/components/table/edit-dialog/edit-data.builder.mjs +1 -1
  67. package/esm2022/components/table/edit-dialog/edit-entity-dialog.component.mjs +21 -16
  68. package/esm2022/components/table/table-data.builder.mjs +3 -1
  69. package/esm2022/components/table/table-data.mjs +1 -1
  70. package/esm2022/components/table/table.component.mjs +41 -114
  71. package/esm2022/components/tooltip/tooltip.component.mjs +9 -5
  72. package/esm2022/decorators/array/array-decorator-internal.data.mjs +18 -3
  73. package/esm2022/decorators/array/array-decorator.data.mjs +33 -2
  74. package/esm2022/decorators/array/array.decorator.mjs +15 -8
  75. package/esm2022/decorators/base/property-decorator.data.mjs +2 -2
  76. package/esm2022/decorators/file/file-decorator-internal.data.mjs +4 -3
  77. package/esm2022/decorators/file/file-decorator.data.mjs +3 -3
  78. package/esm2022/decorators/file/file.decorator.mjs +7 -4
  79. package/esm2022/decorators/has-many/has-many-decorator-internal.data.mjs +1 -1
  80. package/esm2022/decorators/number/number.decorator.mjs +7 -4
  81. package/esm2022/decorators/object/object.decorator.mjs +5 -3
  82. package/esm2022/decorators/references-many/references-many-decorator-internal.data.mjs +8 -1
  83. package/esm2022/decorators/references-many/references-many-decorator.data.mjs +1 -1
  84. package/esm2022/decorators/string/string-decorator-internal.data.mjs +2 -1
  85. package/esm2022/decorators/string/string.decorator.mjs +11 -6
  86. package/esm2022/directives/drag-drop.directive.mjs +3 -3
  87. package/esm2022/directives/dynamic-style-class.directive.mjs +7 -7
  88. package/esm2022/directives/included-in.directive.mjs +3 -3
  89. package/esm2022/directives/number.directive.mjs +3 -3
  90. package/esm2022/directives/password-match.directive.mjs +3 -3
  91. package/esm2022/directives/tooltip.directive.mjs +7 -4
  92. package/esm2022/functions/dropdown-values-to-function.function.mjs +2 -1
  93. package/esm2022/functions/get-changes-tooltip-content.function.mjs +23 -0
  94. package/esm2022/functions/get-validation-errors-tooltip-content.function.mjs +23 -0
  95. package/esm2022/functions/table-column-value-to-sort-value.function.mjs +33 -0
  96. package/esm2022/public-api.mjs +3 -2
  97. package/esm2022/utilities/date.utilities.mjs +7 -6
  98. package/esm2022/utilities/entity.utilities.mjs +58 -27
  99. package/esm2022/utilities/file.utilities.mjs +7 -4
  100. package/esm2022/utilities/validation.utilities.mjs +41 -21
  101. package/fesm2022/ngx-material-entity.mjs +2767 -2336
  102. package/fesm2022/ngx-material-entity.mjs.map +1 -1
  103. package/functions/get-changes-tooltip-content.function.d.ts +13 -0
  104. package/functions/table-column-value-to-sort-value.function.d.ts +9 -0
  105. package/package.json +4 -2
  106. package/public-api.d.ts +2 -1
  107. package/utilities/entity.utilities.d.ts +11 -7
  108. package/esm2022/functions/get-validation-errors-tooltip-content.function.ts.mjs +0 -23
  109. /package/functions/{get-validation-errors-tooltip-content.function.ts.d.ts → get-validation-errors-tooltip-content.function.d.ts} +0 -0
@@ -1,4 +1,6 @@
1
+ import { faCircleMinus } from '@fortawesome/free-solid-svg-icons';
1
2
  import { ConfirmDialogDataBuilder } from '../../components/confirm-dialog/confirm-dialog-data.builder';
3
+ import { defaultDynamicStyleClasses } from '../../functions/default-style-classes.function';
2
4
  import { getConfigValue } from '../../functions/get-config-value.function';
3
5
  import { DateUtilities } from '../../utilities/date.utilities';
4
6
  import { PropertyDecoratorConfigInternal } from '../base/property-decorator-internal.data';
@@ -34,6 +36,8 @@ export class EntityArrayDecoratorConfigInternal extends PropertyDecoratorConfigI
34
36
  // eslint-disable-next-line jsdoc/require-jsdoc
35
37
  displayColumns;
36
38
  // eslint-disable-next-line jsdoc/require-jsdoc
39
+ dynamicRowStyleClasses;
40
+ // eslint-disable-next-line jsdoc/require-jsdoc
37
41
  createDialogData;
38
42
  // eslint-disable-next-line jsdoc/require-jsdoc
39
43
  editDialogData;
@@ -53,6 +57,7 @@ export class EntityArrayDecoratorConfigInternal extends PropertyDecoratorConfigI
53
57
  this.duplicatesErrorDialog = getDefaultDuplicateErrorDialogData(data, globalConfig);
54
58
  this.EntityClass = data.EntityClass;
55
59
  this.displayColumns = data.displayColumns;
60
+ this.dynamicRowStyleClasses = data.dynamicRowStyleClasses ?? defaultDynamicStyleClasses;
56
61
  this.createInline = data.createInline ?? true;
57
62
  this.missingErrorMessage = getConfigValue(globalConfig.emptyArrayErrorMessage, data.missingErrorMessage);
58
63
  this.defaultWidths = data.defaultWidths ?? [12, 12, 12];
@@ -80,6 +85,8 @@ export class DateArrayDecoratorConfigInternal extends PropertyDecoratorConfigInt
80
85
  // eslint-disable-next-line jsdoc/require-jsdoc
81
86
  missingErrorMessage;
82
87
  // eslint-disable-next-line jsdoc/require-jsdoc
88
+ dynamicRowStyleClasses;
89
+ // eslint-disable-next-line jsdoc/require-jsdoc
83
90
  min;
84
91
  // eslint-disable-next-line jsdoc/require-jsdoc
85
92
  max;
@@ -95,6 +102,7 @@ export class DateArrayDecoratorConfigInternal extends PropertyDecoratorConfigInt
95
102
  this.addButtonLabel = getConfigValue(globalConfig.addLabel, data.addButtonLabel);
96
103
  this.removeButtonLabel = getConfigValue(globalConfig.removeLabel, data.removeButtonLabel);
97
104
  this.missingErrorMessage = getConfigValue(globalConfig.emptyArrayErrorMessage, data.missingErrorMessage);
105
+ this.dynamicRowStyleClasses = data.dynamicRowStyleClasses ?? defaultDynamicStyleClasses;
98
106
  this.min = data.min;
99
107
  this.max = data.max;
100
108
  this.filter = data.filter;
@@ -123,6 +131,8 @@ export class DateTimeArrayDecoratorConfigInternal extends PropertyDecoratorConfi
123
131
  // eslint-disable-next-line jsdoc/require-jsdoc
124
132
  timeDisplayName;
125
133
  // eslint-disable-next-line jsdoc/require-jsdoc
134
+ dynamicRowStyleClasses;
135
+ // eslint-disable-next-line jsdoc/require-jsdoc
126
136
  minDate;
127
137
  // eslint-disable-next-line jsdoc/require-jsdoc
128
138
  maxDate;
@@ -146,6 +156,7 @@ export class DateTimeArrayDecoratorConfigInternal extends PropertyDecoratorConfi
146
156
  this.missingErrorMessage = getConfigValue(globalConfig.emptyArrayErrorMessage, data.missingErrorMessage);
147
157
  this.times = data.times ?? DateUtilities.getDefaultTimes();
148
158
  this.timeDisplayName = getConfigValue(globalConfig.timeLabel, data.timeDisplayName);
159
+ this.dynamicRowStyleClasses = data.dynamicRowStyleClasses ?? defaultDynamicStyleClasses;
149
160
  this.minDate = data.minDate;
150
161
  this.maxDate = data.maxDate;
151
162
  this.filterDate = data.filterDate;
@@ -177,6 +188,8 @@ export class DateRangeArrayDecoratorConfigInternal extends PropertyDecoratorConf
177
188
  // eslint-disable-next-line jsdoc/require-jsdoc
178
189
  placeholderEnd;
179
190
  // eslint-disable-next-line jsdoc/require-jsdoc
191
+ dynamicRowStyleClasses;
192
+ // eslint-disable-next-line jsdoc/require-jsdoc
180
193
  minStart;
181
194
  // eslint-disable-next-line jsdoc/require-jsdoc
182
195
  maxStart;
@@ -198,6 +211,7 @@ export class DateRangeArrayDecoratorConfigInternal extends PropertyDecoratorConf
198
211
  this.missingErrorMessage = getConfigValue(globalConfig.emptyArrayErrorMessage, data.missingErrorMessage);
199
212
  this.placeholderStart = getConfigValue(globalConfig.startLabel, data.placeholderStart);
200
213
  this.placeholderEnd = getConfigValue(globalConfig.endLabel, data.placeholderEnd);
214
+ this.dynamicRowStyleClasses = data.dynamicRowStyleClasses ?? defaultDynamicStyleClasses;
201
215
  this.minStart = data.minStart;
202
216
  this.maxStart = data.maxStart;
203
217
  this.minEnd = data.minEnd;
@@ -225,7 +239,7 @@ export class StringChipsArrayDecoratorConfigInternal extends PropertyDecoratorCo
225
239
  regex;
226
240
  constructor(data, globalConfig) {
227
241
  super(data);
228
- this.deleteIcon = data.deleteIcon ?? 'fas fa-circle-minus';
242
+ this.deleteIcon = data.deleteIcon ?? faCircleMinus;
229
243
  this.itemType = data.itemType;
230
244
  this.allowDuplicates = data.allowDuplicates ?? false;
231
245
  this.duplicatesErrorDialog = getDefaultDuplicateErrorDialogData(data, globalConfig);
@@ -260,7 +274,7 @@ export class AutocompleteStringChipsArrayDecoratorConfigInternal extends Propert
260
274
  constructor(data, globalConfig) {
261
275
  super(data);
262
276
  this.autocompleteValues = this.autocompleteValuesToFunction(data.autocompleteValues);
263
- this.deleteIcon = data.deleteIcon ?? 'fas fa-circle-minus';
277
+ this.deleteIcon = data.deleteIcon ?? faCircleMinus;
264
278
  this.itemType = data.itemType;
265
279
  this.allowDuplicates = data.allowDuplicates ?? false;
266
280
  this.duplicatesErrorDialog = getDefaultDuplicateErrorDialogData(data, globalConfig);
@@ -273,6 +287,7 @@ export class AutocompleteStringChipsArrayDecoratorConfigInternal extends Propert
273
287
  // eslint-disable-next-line typescript/no-explicit-any
274
288
  autocompleteValuesToFunction(autocompleteValues) {
275
289
  if (Array.isArray(autocompleteValues)) {
290
+ // eslint-disable-next-line typescript/require-await
276
291
  return async () => autocompleteValues;
277
292
  }
278
293
  // eslint-disable-next-line typescript/no-explicit-any
@@ -292,4 +307,4 @@ function getDefaultDuplicateErrorDialogData(data, globalConfig) {
292
307
  .withDefault('title', globalConfig.duplicateErrorTitle)
293
308
  .getResult();
294
309
  }
295
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJyYXktZGVjb3JhdG9yLWludGVybmFsLmRhdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbWF0ZXJpYWwtZW50aXR5L3NyYy9kZWNvcmF0b3JzL2FycmF5L2FycmF5LWRlY29yYXRvci1pbnRlcm5hbC5kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtBLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDZEQUE2RCxDQUFDO0FBRXZHLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUUzRSxPQUFPLEVBQUUsYUFBYSxFQUFRLE1BQU0sZ0NBQWdDLENBQUM7QUFHckUsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFJM0Y7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLCtCQUErQjtJQUN4QywrQ0FBK0M7SUFDL0MsS0FBSyxDQUFpQztJQUN0QywrQ0FBK0M7SUFDL0Msa0JBQWtCLENBQVM7SUFDM0IsK0NBQStDO0lBQy9DLGlCQUFpQixDQUFTO0lBRTFCLFlBQVksWUFBb0MsRUFBRSxJQUEwQztRQUN4RixJQUFJLENBQUMsS0FBSyxHQUFHLGNBQWMsQ0FBQyxZQUFZLENBQUMsU0FBUyxFQUFFLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNqRSxJQUFJLENBQUMsa0JBQWtCLEdBQUcsY0FBYyxDQUFDLFlBQVksQ0FBQyxTQUFTLEVBQUUsSUFBSSxFQUFFLGtCQUFrQixDQUFDLENBQUM7UUFDM0YsSUFBSSxDQUFDLGlCQUFpQixHQUFHLGNBQWMsQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLElBQUksRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO0lBQy9GLENBQUM7Q0FDSjtBQUVEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGtDQUNULFNBQVEsK0JBQTZDO0lBRXJELCtDQUErQztJQUMvQyxRQUFRLENBQXdCO0lBQ2hDLCtDQUErQztJQUMvQyxlQUFl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Q0FBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3pELENBQUM7Q0FDSjtBQUVEOzs7OztHQUtHO0FBQ0gsU0FBUyxrQ0FBa0MsQ0FDdkMsSUFBcUMsRUFDckMsWUFBb0M7SUFFcEMsT0FBTyxJQUFJLHdCQUF3QixDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMscUJBQXFCLENBQUM7U0FDeEUsV0FBVyxDQUFDLE1BQU0sRUFBRSxXQUFXLENBQUM7U0FDaEMsV0FBVyxDQUFDLE1BQU0sRUFBRSxZQUFZLENBQUMsa0JBQWtCLENBQUM7U0FDcEQsV0FBVyxDQUFDLE9BQU8sRUFBRSxZQUFZLENBQUMsbUJBQW1CLENBQUM7U0FDdEQsU0FBUyxFQUFFLENBQUM7QUFDckIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERhdGVGaWx0ZXJGbiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RhdGVwaWNrZXInO1xuXG5pbXBvcnQgeyBBcnJheURlY29yYXRvckNvbmZpZywgQXV0b2NvbXBsZXRlU3RyaW5nQ2hpcHNBcnJheURlY29yYXRvckNvbmZpZywgRGF0ZUFycmF5RGVjb3JhdG9yQ29uZmlnLCBEYXRlUmFuZ2VBcnJheURlY29yYXRvckNvbmZpZywgRGF0ZVRpbWVBcnJheURlY29yYXRvckNvbmZpZywgRWRpdEFycmF5SXRlbURpYWxvZ0RhdGEsIEVudGl0eUFycmF5RGVjb3JhdG9yQ29uZmlnLCBTdHJpbmdDaGlwc0FycmF5RGVjb3JhdG9yQ29uZmlnIH0gZnJvbSAnLi9hcnJheS1kZWNvcmF0b3IuZGF0YSc7XG5pbXBvcnQgeyBCYXNlRW50aXR5VHlwZSwgRW50aXR5Q2xhc3NOZXdhYmxlIH0gZnJvbSAnLi4vLi4vY2xhc3Nlcy9lbnRpdHkubW9kZWwnO1xuaW1wb3J0IHsgQ29uZmlybURpYWxvZ0RhdGEgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL2NvbmZpcm0tZGlhbG9nL2NvbmZpcm0tZGlhbG9nLWRhdGEnO1xuaW1wb3J0IHsgQ29uZmlybURpYWxvZ0RhdGFCdWlsZGVyIH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9jb25maXJtLWRpYWxvZy9jb25maXJtLWRpYWxvZy1kYXRhLmJ1aWxkZXInO1xuaW1wb3J0IHsgQ3JlYXRlRGF0YSwgRGlzcGxheUNvbHVtbiB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvdGFibGUvdGFibGUtZGF0YSc7XG5pbXBvcnQgeyBnZXRDb25maWdWYWx1ZSB9IGZyb20gJy4uLy4uL2Z1bmN0aW9ucy9nZXQtY29uZmlnLXZhbHVlLmZ1bmN0aW9uJztcbmltcG9ydCB7IE5neEdsb2JhbERlZmF1bHRWYWx1ZXMgfSBmcm9tICcuLi8uLi9nbG9iYWwtY29uZmlndXJhdGlvbi12YWx1ZXMnO1xuaW1wb3J0IHsgRGF0ZVV0aWxpdGllcywgVGltZSB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy9kYXRlLnV0aWxpdGllcyc7XG5pbXBvcnQgeyBEZWNvcmF0b3JUeXBlcyB9IGZyb20gJy4uL2Jhc2UvZGVjb3JhdG9yLXR5cGVzLmVudW0nO1xuaW1wb3J0IHsgRHJvcGRvd25WYWx1ZSB9IGZyb20gJy4uL2Jhc2UvZHJvcGRvd24tdmFsdWUuaW50ZXJmYWNlJztcbmltcG9ydCB7IFByb3BlcnR5RGVjb3JhdG9yQ29uZmlnSW50ZXJuYWwgfSBmcm9tICcuLi9iYXNlL3Byb3BlcnR5LWRlY29yYXRvci1pbnRlcm5hbC5kYXRhJztcbmltcG9ydCB7IERhdGVSYW5nZSB9IGZyb20gJy4uL2RhdGUvZGF0ZS1kZWNvcmF0b3IuZGF0YSc7XG5pbXBvcnQgeyBTdHJpbmdBdXRvY29tcGxldGVWYWx1ZXMgfSBmcm9tICcuLi9zdHJpbmcvc3RyaW5nLWRlY29yYXRvci5kYXRhJztcblxuLyoqXG4gKiBUaGUgaW50ZXJuYWwgZGlhbG9nIGRhdGEgZm9yIHRoZSBlbnRpdGllcyBhcnJheSBlZGl0IGRpYWxvZy5cbiAqIFNldHMgZGVmYXVsdCB2YWx1ZXMuXG4gKi9cbmV4cG9ydCBjbGFzcyBFZGl0QXJyYXlJdGVtRGlhbG9nRGF0YUludGVybmFsPEVudGl0eVR5cGUgZXh0ZW5kcyBCYXNlRW50aXR5VHlwZTxFbnRpdHlUeXBlPj4gaW1wbGVtZW50cyBFZGl0QXJyYXlJdGVtRGlhbG9nRGF0YTxFbnRpdHlUeXBlPiB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICB0aXRsZTogKGVudGl0eTogRW50aXR5VHlwZSkgPT4gc3RyaW5nO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gICAgY29uZmlybUJ1dHRvbkxhYmVsOiBzdHJpbmc7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICBjYW5jZWxCdXR0b25MYWJlbDogc3RyaW5nO1xuXG4gICAgY29uc3RydWN0b3IoZ2xvYmFsQ29uZmlnOiBOZ3hHbG9iYWxEZWZhdWx0VmFsdWVzLCBkYXRhPzogRWRpdEFycmF5SXRlbURpYWxvZ0RhdGE8RW50aXR5VHlwZT4pIHtcbiAgICAgICAgdGhpcy50aXRsZSA9IGdldENvbmZpZ1ZhbHVlKGdsb2JhbENvbmZpZy5lZGl0VGl0bGUsIGRhdGE/LnRpdGxlKTtcbiAgICAgICAgdGhpcy5jb25maXJtQnV0dG9uTGFiZWwgPSBnZXRDb25maWdWYWx1ZShnbG9iYWxDb25maWcuc2F2ZUxhYmVsLCBkYXRhPy5jb25maXJtQnV0dG9uTGFiZWwpO1xuICAgICAgICB0aGlzLmNhbmNlbEJ1dHRvbkxhYmVsID0gZ2V0Q29uZmlnVmFsdWUoZ2xvYmFsQ29uZmlnLmNhbmNlbExhYmVsLCBkYXRhPy5jYW5jZWxCdXR0b25MYWJlbCk7XG4gICAgfVxufVxuXG4vKipcbiAqIFRoZSBpbnRlcm5hbCBFbnRpdHlBcnJheURlY29yYXRvckNvbmZpZy4gU2V0cyBkZWZhdWx0IHZhbHVlcy5cbiAqL1xuZXhwb3J0IGNsYXNzIEVudGl0eUFycmF5RGVjb3JhdG9yQ29uZmlnSW50ZXJuYWw8RW50aXR5VHlwZSBleHRlbmRzIEJhc2VFbnRpdHlUeXBlPEVudGl0eVR5cGU+PlxuICAgIGV4dGVuZHMgUHJvcGVydHlEZWNvcmF0b3JDb25maWdJbnRlcm5hbDxFbnRpdHlUeXBlW10+IGltcGxlbWVudHMgRW50aXR5QXJyYXlEZWNvcmF0b3JDb25maWc8RW50aXR5VHlwZT4ge1xuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICBpdGVtVHlwZTogRGVjb3JhdG9yVHlwZXMuT0JKRUNUO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gICAgYWxsb3dEdXBsaWNhdGVzOiBib29sZWFuO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gICAgZHVwbGljYXRlc0Vycm9yRGlhbG9nOiBDb25maXJtRGlhbG9nRGF0YTtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIEVudGl0eUNsYXNzOiBFbnRpdHlDbGFzc05ld2FibGU8RW50aXR5VHlwZT47XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICBkaXNwbGF5Q29sdW1uczogRGlzcGxheUNvbHVtbjxFbnRpdHlUeXBlPltdO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gICAgY3JlYXRlRGlhbG9nRGF0YT86IENyZWF0ZURhdGE7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICBlZGl0RGlhbG9nRGF0YTogRWRpdEFycmF5SXRlbURpYWxvZ0RhdGFJbnRlcm5hbDxFbnRpdHlUeXBlPjtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIGNyZWF0ZUlubGluZTogYm9vbGVhbjtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIG1pc3NpbmdFcnJvck1lc3NhZ2U6IHN0cmluZztcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIGFkZEJ1dHRvbkxhYmVsOiBzdHJpbmc7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICByZW1vdmVCdXR0b25MYWJlbDogc3RyaW5nO1xuXG4gICAgY29uc3RydWN0b3IoZGF0YTogRW50aXR5QXJyYXlEZWNvcmF0b3JDb25maWc8RW50aXR5VHlwZT4sIGdsb2JhbENvbmZpZzogTmd4R2xvYmFsRGVmYXVsdFZhbHVlcykge1xuICAgICAgICBzdXBlcihkYXRhKTtcbiAgICAgICAgdGhpcy5jcmVhdGVJbmxpbmUgPSBkYXRhLmNyZWF0ZUlubGluZSA/PyB0cnVlO1xuICAgICAgICB0aGlzLml0ZW1UeXBlID0gZGF0YS5pdGVtVHlwZTtcbiAgICAgICAgdGhpcy5hbGxvd0R1cGxpY2F0ZXMgPSBkYXRhLmFsbG93RHVwbGljYXRlcyA/PyBmYWxzZTtcbiAgICAgICAgdGhpcy5kdXBsaWNhdGVzRXJyb3JEaWFsb2cgPSBnZXREZWZhdWx0RHVwbGljYXRlRXJyb3JEaWFsb2dEYXRhKGRhdGEsIGdsb2JhbENvbmZpZyk7XG4gICAgICAgIHRoaXMuRW50aXR5Q2xhc3MgPSBkYXRhLkVudGl0eUNsYXNzO1xuICAgICAgICB0aGlzLmRpc3BsYXlDb2x1bW5zID0gZGF0YS5kaXNwbGF5Q29sdW1ucztcbiAgICAgICAgdGhpcy5jcmVhdGVJbmxpbmUgPSBkYXRhLmNyZWF0ZUlubGluZSA/PyB0cnVlO1xuICAgICAgICB0aGlzLm1pc3NpbmdFcnJvck1lc3NhZ2UgPSBnZXRDb25maWdWYWx1ZShnbG9iYWxDb25maWcuZW1wdHlBcnJheUVycm9yTWVzc2FnZSwgZGF0YS5taXNzaW5nRXJyb3JNZXNzYWdlKTtcbiAgICAgICAgdGhpcy5kZWZhdWx0V2lkdGhzID0gZGF0YS5kZWZhdWx0V2lkdGhzID8/IFsxMiwgMTIsIDEyXTtcbiAgICAgICAgdGhpcy5hZGRCdXR0b25MYWJlbCA9IGdldENvbmZpZ1ZhbHVlKGdsb2JhbENvbmZpZy5hZGRMYWJlbCwgZGF0YS5hZGRCdXR0b25MYWJlbCk7XG4gICAgICAgIHRoaXMucmVtb3ZlQnV0dG9uTGFiZWwgPSBnZXRDb25maWdWYWx1ZShnbG9iYWxDb25maWcucmVtb3ZlTGFiZWwsIGRhdGEucmVtb3ZlQnV0dG9uTGFiZWwpO1xuICAgICAgICB0aGlzLmVkaXREaWFsb2dEYXRhID0gbmV3IEVkaXRBcnJheUl0ZW1EaWFsb2dEYXRhSW50ZXJuYWwoZ2xvYmFsQ29uZmlnLCBkYXRhLmVkaXREaWFsb2dEYXRhKTtcbiAgICB9XG59XG5cbi8qKlxuICogVGhlIGludGVybmFsIERhdGVBcnJheURlY29yYXRvckNvbmZpZy4gU2V0cyBkZWZhdWx0IHZhbHVlcy5cbiAqL1xuZXhwb3J0IGNsYXNzIERhdGVBcnJheURlY29yYXRvckNvbmZpZ0ludGVybmFsIGV4dGVuZHMgUHJvcGVydHlEZWNvcmF0b3JDb25maWdJbnRlcm5hbDxEYXRlW10+IGltcGxlbWVudHMgRGF0ZUFycmF5RGVjb3JhdG9yQ29uZmlnIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIGl0ZW1UeXBlOiBEZWNvcmF0b3JUeXBlcy5EQVRFO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gICAgYWxsb3dEdXBsaWNhdGVzOiBib29sZWFuO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gICAgZHVwbGljYXRlc0Vycm9yRGlhbG9nOiBDb25maXJtRGlhbG9nRGF0YTtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIGRpc3BsYXlDb2x1bW5zOiBEaXNwbGF5Q29sdW1uPERhdGU+W107XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICBhZGRCdXR0b25MYWJlbDogc3RyaW5nO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gICAgcmVtb3ZlQnV0dG9uTGFiZWw6IHN0cmluZztcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIG1pc3NpbmdFcnJvck1lc3NhZ2U6IHN0cmluZztcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIG1pbj86IChkYXRlPzogRGF0ZSkgPT4gRGF0ZTtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIG1heD86IChkYXRlPzogRGF0ZSkgPT4gRGF0ZTtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIGZpbHRlcj86IERhdGVGaWx0ZXJGbjxEYXRlIHwgbnVsbCB8IHVuZGVmaW5lZD47XG5cbiAgICBjb25zdHJ1Y3RvcihkYXRhOiBEYXRlQXJyYXlEZWNvcmF0b3JDb25maWcsIGdsb2JhbENvbmZpZzogTmd4R2xvYmFsRGVmYXVsdFZhbHVlcykge1xuICAgICAgICBzdXBlcihkYXRhKTtcbiAgICAgICAgdGhpcy5pdGVtVHlwZSA9IGRhdGEuaXRlbVR5cGU7XG4gICAgICAgIHRoaXMuYWxsb3dEdXBsaWNhdGVzID0gZGF0YS5hbGxvd0R1cGxpY2F0ZXMgPz8gZmFsc2U7XG4gICAgICAgIHRoaXMuZHVwbGljYXRlc0Vycm9yRGlhbG9nID0gZ2V0RGVmYXVsdER1cGxpY2F0ZUVycm9yRGlhbG9nRGF0YShkYXRhLCBnbG9iYWxDb25maWcpO1xuICAgICAgICB0aGlzLmRpc3BsYXlDb2x1bW5zID0gZGF0YS5kaXNwbGF5Q29sdW1ucztcbiAgICAgICAgdGhpcy5kZWZhdWx0V2lkdGhzID0gZGF0YS5kZWZhdWx0V2lkdGhzID8/IFsxMiwgMTIsIDEyXTtcbiAgICAgICAgdGhpcy5hZGRCdXR0b25MYWJlbCA9IGdldENvbmZpZ1ZhbHVlKGdsb2JhbENvbmZpZy5hZGRMYWJlbCwgZGF0YS5hZGRCdXR0b25MYWJlbCk7XG4gICAgICAgIHRoaXMucmVtb3ZlQnV0dG9uTGFiZWwgPSBnZXRDb25maWdWYWx1ZShnbG9iYWxDb25maWcucmVtb3ZlTGFiZWwsIGRhdGEucmVtb3ZlQnV0dG9uTGFiZWwpO1xuICAgICAgICB0aGlzLm1pc3NpbmdFcnJvck1lc3NhZ2UgPSBnZXRDb25maWdWYWx1ZShnbG9iYWxDb25maWcuZW1wdHlBcnJheUVycm9yTWVzc2FnZSwgZGF0YS5taXNzaW5nRXJyb3JNZXNzYWdlKTtcbiAgICAgICAgdGhpcy5taW4gPSBkYXRhLm1pbjtcbiAgICAgICAgdGhpcy5tYXggPSBkYXRhLm1heDtcbiAgICAgICAgdGhpcy5maWx0ZXIgPSBkYXRhLmZpbHRlcjtcbiAgICB9XG59XG5cbi8qKlxuICogVGhlIGludGVybmFsIERhdGVUaW1lQXJyYXlEZWNvcmF0b3JDb25maWcuIFNldHMgZGVmYXVsdCB2YWx1ZXMuXG4gKi9cbmV4cG9ydCBjbGFzcyBEYXRlVGltZUFycmF5RGVjb3JhdG9yQ29uZmlnSW50ZXJuYWwgZXh0ZW5kcyBQcm9wZXJ0eURlY29yYXRvckNvbmZpZ0ludGVybmFsPERhdGVbXT4gaW1wbGVtZW50cyBEYXRlVGltZUFycmF5RGVjb3JhdG9yQ29uZmlnIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIGl0ZW1UeXBlOiBEZWNvcmF0b3JUeXBlcy5EQVRFX1RJTUU7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICBhbGxvd0R1cGxpY2F0ZXM6IGJvb2xlYW47XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICBkdXBsaWNhdGVzRXJyb3JEaWFsb2c6IENvbmZpcm1EaWFsb2dEYXRhO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gICAgZGlzcGxheUNvbHVtbnM6IERpc3BsYXlDb2x1bW48RGF0ZT5bXTtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIGFkZEJ1dHRvbkxhYmVsOiBzdHJpbmc7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICByZW1vdmVCdXR0b25MYWJlbDogc3RyaW5nO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gICAgbWlzc2luZ0Vycm9yTWVzc2FnZTogc3RyaW5nO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gICAgdGltZXM6IERyb3Bkb3duVmFsdWU8VGltZT5bXTtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIHRpbWVEaXNwbGF5TmFtZTogc3RyaW5nO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gICAgbWluRGF0ZT86IChkYXRlPzogRGF0ZSkgPT4gRGF0ZTtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIG1heERhdGU/OiAoZGF0ZT86IERhdGUpID0+IERhdGU7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICBmaWx0ZXJEYXRlPzogRGF0ZUZpbHRlckZuPERhdGUgfCBudWxsIHwgdW5kZWZpbmVkPjtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIG1pblRpbWU/OiAoZGF0ZT86IERhdGUpID0+IFRpbWU7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICBtYXhUaW1lPzogKGRhdGU/OiBEYXRlKSA9PiBUaW1lO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gICAgZmlsdGVyVGltZT86ICgodGltZTogVGltZSkgPT4gYm9vbGVhbikgfCAoKCkgPT4gYm9vbGVhbik7XG5cbiAgICBjb25zdHJ1Y3RvcihkYXRhOiBEYXRlVGltZUFycmF5RGVjb3JhdG9yQ29uZmlnLCBnbG9iYWxDb25maWc6IE5neEdsb2JhbERlZmF1bHRWYWx1ZXMpIHtcbiAgICAgICAgc3VwZXIoZGF0YSk7XG4gICAgICAgIHRoaXMuaXRlbVR5cGUgPSBkYXRhLml0ZW1UeXBlO1xuICAgICAgICB0aGlzLmFsbG93RHVwbGljYXRlcyA9IGRhdGEuYWxsb3dEdXBsaWNhdGVzID8/IGZhbHNlO1xuICAgICAgICB0aGlzLmR1cGxpY2F0ZXNFcnJvckRpYWxvZyA9IGdldERlZmF1bHREdXBsaWNhdGVFcnJvckRpYWxvZ0RhdGEoZGF0YSwgZ2xvYmFsQ29uZmlnKTtcbiAgICAgICAgdGhpcy5kaXNwbGF5Q29sdW1ucyA9IGRhdGEuZGlzcGxheUNvbHVtbnM7XG4gICAgICAgIHRoaXMuZGVmYXVsdFdpZHRocyA9IGRhdGEuZGVmYXVsdFdpZHRocyA/PyBbMTIsIDEyLCAxMl07XG4gICAgICAgIHRoaXMuYWRkQnV0dG9uTGFiZWwgPSBnZXRDb25maWdWYWx1ZShnbG9iYWxDb25maWcuYWRkTGFiZWwsIGRhdGEuYWRkQnV0dG9uTGFiZWwpO1xuICAgICAgICB0aGlzLnJlbW92ZUJ1dHRvbkxhYmVsID0gZ2V0Q29uZmlnVmFsdWUoZ2xvYmFsQ29uZmlnLnJlbW92ZUxhYmVsLCBkYXRhLnJlbW92ZUJ1dHRvbkxhYmVsKTtcbiAgICAgICAgdGhpcy5taXNzaW5nRXJyb3JNZXNzYWdlID0gZ2V0Q29uZmlnVmFsdWUoZ2xvYmFsQ29uZmlnLmVtcHR5QXJyYXlFcnJvck1lc3NhZ2UsIGRhdGEubWlzc2luZ0Vycm9yTWVzc2FnZSk7XG4gICAgICAgIHRoaXMudGltZXMgPSBkYXRhLnRpbWVzID8/IERhdGVVdGlsaXRpZXMuZ2V0RGVmYXVsdFRpbWVzKCk7XG4gICAgICAgIHRoaXMudGltZURpc3BsYXlOYW1lID0gZ2V0Q29uZmlnVmFsdWUoZ2xvYmFsQ29uZmlnLnRpbWVMYWJlbCwgZGF0YS50aW1lRGlzcGxheU5hbWUpO1xuICAgICAgICB0aGlzLm1pbkRhdGUgPSBkYXRhLm1pbkRhdGU7XG4gICAgICAgIHRoaXMubWF4RGF0ZSA9IGRhdGEubWF4RGF0ZTtcbiAgICAgICAgdGhpcy5maWx0ZXJEYXRlID0gZGF0YS5maWx0ZXJEYXRlO1xuICAgICAgICB0aGlzLm1pblRpbWUgPSBkYXRhLm1pblRpbWU7XG4gICAgICAgIHRoaXMubWF4VGltZSA9IGRhdGEubWF4VGltZTtcbiAgICAgICAgdGhpcy5maWx0ZXJUaW1lID0gZGF0YS5maWx0ZXJUaW1lO1xuICAgIH1cbn1cblxuLyoqXG4gKiBUaGUgaW50ZXJuYWwgRGF0ZVJhbmdlQXJyYXlEZWNvcmF0b3JDb25maWcuIFNldHMgZGVmYXVsdCB2YWx1ZXMuXG4gKi9cbmV4cG9ydCBjbGFzcyBEYXRlUmFuZ2VBcnJheURlY29yYXRvckNvbmZpZ0ludGVybmFsIGV4dGVuZHMgUHJvcGVydHlEZWNvcmF0b3JDb25maWdJbnRlcm5hbDxEYXRlUmFuZ2VbXT5cbiAgICBpbXBsZW1lbnRzIERhdGVSYW5nZUFycmF5RGVjb3JhdG9yQ29uZmlnIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIGl0ZW1UeXBlOiBEZWNvcmF0b3JUeXBlcy5EQVRFX1JBTkdFO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gICAgYWxsb3dEdXBsaWNhdGVzOiBib29sZWFuO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gICAgZHVwbGljYXRlc0Vycm9yRGlhbG9nOiBDb25maXJtRGlhbG9nRGF0YTtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIGRpc3BsYXlDb2x1bW5zOiBEaXNwbGF5Q29sdW1uPERhdGVSYW5nZT5bXTtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIGFkZEJ1dHRvbkxhYmVsOiBzdHJpbmc7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICByZW1vdmVCdXR0b25MYWJlbDogc3RyaW5nO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gICAgbWlzc2luZ0Vycm9yTWVzc2FnZTogc3RyaW5nO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gICAgcGxhY2Vob2xkZXJTdGFydDogc3RyaW5nO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gICAgcGxhY2Vob2xkZXJFbmQ6IHN0cmluZztcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIG1pblN0YXJ0PzogKGRhdGU/OiBEYXRlKSA9PiBEYXRlO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gICAgbWF4U3RhcnQ/OiAoZGF0ZT86IERhdGUpID0+IERhdGU7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICBtaW5FbmQ/OiAoZGF0ZT86IERhdGUpID0+IERhdGU7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICBtYXhFbmQ/OiAoZGF0ZT86IERhdGUpID0+IERhdGU7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICBmaWx0ZXI/OiBEYXRlRmlsdGVyRm48RGF0ZT47XG5cbiAgICBjb25zdHJ1Y3RvcihkYXRhOiBEYXRlUmFuZ2VBcnJheURlY29yYXRvckNvbmZpZywgZ2xvYmFsQ29uZmlnOiBOZ3hHbG9iYWxEZWZhdWx0VmFsdWVzKSB7XG4gICAgICAgIHN1cGVyKGRhdGEpO1xuICAgICAgICB0aGlzLml0ZW1UeXBlID0gZGF0YS5pdGVtVHlwZTtcbiAgICAgICAgdGhpcy5hbGxvd0R1cGxpY2F0ZXMgPSBkYXRhLmFsbG93RHVwbGljYXRlcyA/PyBmYWxzZTtcbiAgICAgICAgdGhpcy5kdXBsaWNhdGVzRXJyb3JEaWFsb2cgPSBnZXREZWZhdWx0RHVwbGljYXRlRXJyb3JEaWFsb2dEYXRhKGRhdGEsIGdsb2JhbENvbmZpZyk7XG4gICAgICAgIHRoaXMuZGlzcGxheUNvbHVtbnMgPSBkYXRhLmRpc3BsYXlDb2x1bW5zO1xuICAgICAgICB0aGlzLmRlZmF1bHRXaWR0aHMgPSBkYXRhLmRlZmF1bHRXaWR0aHMgPz8gWzEyLCAxMiwgMTJdO1xuICAgICAgICB0aGlzLmFkZEJ1dHRvbkxhYmVsID0gZ2V0Q29uZmlnVmFsdWUoZ2xvYmFsQ29uZmlnLmFkZExhYmVsLCBkYXRhLmFkZEJ1dHRvbkxhYmVsKTtcbiAgICAgICAgdGhpcy5yZW1vdmVCdXR0b25MYWJlbCA9IGdldENvbmZpZ1ZhbHVlKGdsb2JhbENvbmZpZy5yZW1vdmVMYWJlbCwgZGF0YS5yZW1vdmVCdXR0b25MYWJlbCk7XG4gICAgICAgIHRoaXMubWlzc2luZ0Vycm9yTWVzc2FnZSA9IGdldENvbmZpZ1ZhbHVlKGdsb2JhbENvbmZpZy5lbXB0eUFycmF5RXJyb3JNZXNzYWdlLCBkYXRhLm1pc3NpbmdFcnJvck1lc3NhZ2UpO1xuICAgICAgICB0aGlzLnBsYWNlaG9sZGVyU3RhcnQgPSBnZXRDb25maWdWYWx1ZShnbG9iYWxDb25maWcuc3RhcnRMYWJlbCwgZGF0YS5wbGFjZWhvbGRlclN0YXJ0KTtcbiAgICAgICAgdGhpcy5wbGFjZWhvbGRlckVuZCA9IGdldENvbmZpZ1ZhbHVlKGdsb2JhbENvbmZpZy5lbmRMYWJlbCwgZGF0YS5wbGFjZWhvbGRlckVuZCk7XG4gICAgICAgIHRoaXMubWluU3RhcnQgPSBkYXRhLm1pblN0YXJ0O1xuICAgICAgICB0aGlzLm1heFN0YXJ0ID0gZGF0YS5tYXhTdGFydDtcbiAgICAgICAgdGhpcy5taW5FbmQgPSBkYXRhLm1pbkVuZDtcbiAgICAgICAgdGhpcy5tYXhFbmQgPSBkYXRhLm1heEVuZDtcbiAgICAgICAgdGhpcy5maWx0ZXIgPSBkYXRhLmZpbHRlcjtcbiAgICB9XG59XG5cbi8qKlxuICogVGhlIGludGVybmFsIFN0cmluZ0NoaXBzQXJyYXlEZWNvcmF0b3JDb25maWcuIFNldHMgZGVmYXVsdCB2YWx1ZXMuXG4gKi9cbmV4cG9ydCBjbGFzcyBTdHJpbmdDaGlwc0FycmF5RGVjb3JhdG9yQ29uZmlnSW50ZXJuYWwgZXh0ZW5kcyBQcm9wZXJ0eURlY29yYXRvckNvbmZpZ0ludGVybmFsPHN0cmluZ1tdPlxuICAgIGltcGxlbWVudHMgU3RyaW5nQ2hpcHNBcnJheURlY29yYXRvckNvbmZpZyB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICBpdGVtVHlwZTogRGVjb3JhdG9yVHlwZXMuU1RSSU5HO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gICAgYWxsb3dEdXBsaWNhdGVzOiBib29sZWFuO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gICAgZHVwbGljYXRlc0Vycm9yRGlhbG9nOiBDb25maXJtRGlhbG9nRGF0YTtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIGRlbGV0ZUljb246IHN0cmluZztcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIG1pbkxlbmd0aD86IG51bWJlcjtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIG1heExlbmd0aD86IG51bWJlcjtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIHJlZ2V4PzogUmVnRXhwO1xuXG4gICAgY29uc3RydWN0b3IoZGF0YTogU3RyaW5nQ2hpcHNBcnJheURlY29yYXRvckNvbmZpZywgZ2xvYmFsQ29uZmlnOiBOZ3hHbG9iYWxEZWZhdWx0VmFsdWVzKSB7XG4gICAgICAgIHN1cGVyKGRhdGEpO1xuICAgICAgICB0aGlzLmRlbGV0ZUljb24gPSBkYXRhLmRlbGV0ZUljb24gPz8gJ2ZhcyBmYS1jaXJjbGUtbWludXMnO1xuICAgICAgICB0aGlzLml0ZW1UeXBlID0gZGF0YS5pdGVtVHlwZTtcbiAgICAgICAgdGhpcy5hbGxvd0R1cGxpY2F0ZXMgPSBkYXRhLmFsbG93RHVwbGljYXRlcyA/PyBmYWxzZTtcbiAgICAgICAgdGhpcy5kdXBsaWNhdGVzRXJyb3JEaWFsb2cgPSBnZXREZWZhdWx0RHVwbGljYXRlRXJyb3JEaWFsb2dEYXRhKGRhdGEsIGdsb2JhbENvbmZpZyk7XG4gICAgICAgIHRoaXMubWF4TGVuZ3RoID0gZGF0YS5tYXhMZW5ndGg7XG4gICAgICAgIHRoaXMubWluTGVuZ3RoID0gZGF0YS5taW5MZW5ndGg7XG4gICAgICAgIHRoaXMucmVnZXggPSBkYXRhLnJlZ2V4O1xuICAgICAgICB0aGlzLmRlZmF1bHRXaWR0aHMgPSBkYXRhLmRlZmF1bHRXaWR0aHMgPz8gWzYsIDEyLCAxMl07XG4gICAgfVxufVxuXG4vKipcbiAqIFRoZSBpbnRlcm5hbCBBdXRvY29tcGxldGVTdHJpbmdDaGlwc0FycmF5RGVjb3JhdG9yQ29uZmlnLiBTZXRzIGRlZmF1bHQgdmFsdWVzLlxuICovXG5leHBvcnQgY2xhc3MgQXV0b2NvbXBsZXRlU3RyaW5nQ2hpcHNBcnJheURlY29yYXRvckNvbmZpZ0ludGVybmFsXG4gICAgZXh0ZW5kcyBQcm9wZXJ0eURlY29yYXRvckNvbmZpZ0ludGVybmFsPHN0cmluZ1tdPiBpbXBsZW1lbnRzIEF1dG9jb21wbGV0ZVN0cmluZ0NoaXBzQXJyYXlEZWNvcmF0b3JDb25maWcge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jLCB0eXBlc2NyaXB0L25vLWV4cGxpY2l0LWFueVxuICAgIGF1dG9jb21wbGV0ZVZhbHVlczogKGVudGl0eTogYW55KSA9PiBQcm9taXNlPHN0cmluZ1tdPjtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIGl0ZW1UeXBlOiBEZWNvcmF0b3JUeXBlcy5TVFJJTkdfQVVUT0NPTVBMRVRFO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gICAgYWxsb3dEdXBsaWNhdGVzOiBib29sZWFuO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gICAgZHVwbGljYXRlc0Vycm9yRGlhbG9nOiBDb25maXJtRGlhbG9nRGF0YTtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIGRlbGV0ZUljb246IHN0cmluZztcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIG1pbkxlbmd0aD86IG51bWJlcjtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIG1heExlbmd0aD86IG51bWJlcjtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIHJlZ2V4PzogUmVnRXhwO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gICAgcmVzdHJpY3RUb09wdGlvbnM/OiBib29sZWFuO1xuXG4gICAgY29uc3RydWN0b3IoZGF0YTogQXV0b2NvbXBsZXRlU3RyaW5nQ2hpcHNBcnJheURlY29yYXRvckNvbmZpZywgZ2xvYmFsQ29uZmlnOiBOZ3hHbG9iYWxEZWZhdWx0VmFsdWVzKSB7XG4gICAgICAgIHN1cGVyKGRhdGEpO1xuICAgICAgICB0aGlzLmF1dG9jb21wbGV0ZVZhbHVlcyA9IHRoaXMuYXV0b2NvbXBsZXRlVmFsdWVzVG9GdW5jdGlvbihkYXRhLmF1dG9jb21wbGV0ZVZhbHVlcyk7XG4gICAgICAgIHRoaXMuZGVsZXRlSWNvbiA9IGRhdGEuZGVsZXRlSWNvbiA/PyAnZmFzIGZhLWNpcmNsZS1taW51cyc7XG4gICAgICAgIHRoaXMuaXRlbVR5cGUgPSBkYXRhLml0ZW1UeXBlO1xuICAgICAgICB0aGlzLmFsbG93RHVwbGljYXRlcyA9IGRhdGEuYWxsb3dEdXBsaWNhdGVzID8/IGZhbHNlO1xuICAgICAgICB0aGlzLmR1cGxpY2F0ZXNFcnJvckRpYWxvZyA9IGdldERlZmF1bHREdXBsaWNhdGVFcnJvckRpYWxvZ0RhdGEoZGF0YSwgZ2xvYmFsQ29uZmlnKTtcbiAgICAgICAgdGhpcy5tYXhMZW5ndGggPSBkYXRhLm1heExlbmd0aDtcbiAgICAgICAgdGhpcy5taW5MZW5ndGggPSBkYXRhLm1pbkxlbmd0aDtcbiAgICAgICAgdGhpcy5yZWdleCA9IGRhdGEucmVnZXg7XG4gICAgICAgIHRoaXMucmVzdHJpY3RUb09wdGlvbnMgPSBkYXRhLnJlc3RyaWN0VG9PcHRpb25zO1xuICAgICAgICB0aGlzLmRlZmF1bHRXaWR0aHMgPSBkYXRhLmRlZmF1bHRXaWR0aHMgPz8gWzYsIDEyLCAxMl07XG4gICAgfVxuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHR5cGVzY3JpcHQvbm8tZXhwbGljaXQtYW55XG4gICAgcHJpdmF0ZSBhdXRvY29tcGxldGVWYWx1ZXNUb0Z1bmN0aW9uKGF1dG9jb21wbGV0ZVZhbHVlczogU3RyaW5nQXV0b2NvbXBsZXRlVmFsdWVzKTogKGVudGl0eTogYW55KSA9PiBQcm9taXNlPHN0cmluZ1tdPiB7XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KGF1dG9jb21wbGV0ZVZhbHVlcykpIHtcbiAgICAgICAgICAgIHJldHVybiBhc3luYyAoKSA9PiBhdXRvY29tcGxldGVWYWx1ZXM7XG4gICAgICAgIH1cbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHR5cGVzY3JpcHQvbm8tZXhwbGljaXQtYW55XG4gICAgICAgIHJldHVybiBhc3luYyAoZTogYW55KSA9PiBhd2FpdCBhdXRvY29tcGxldGVWYWx1ZXMoZSk7XG4gICAgfVxufVxuXG4vKipcbiAqIEdldHMgdGhlIGRlZmF1bHQgZGlhbG9nIGRhdGEgZm9yIHRoZSBlcnJvciBkaWFsb2cgdG8gZGlzcGxheSB3aGVuIHRoZSB1c2VyIHRyaWVzIHRvIGFkZCBhIGR1cGxpY2F0ZSB2YWx1ZS5cbiAqIEBwYXJhbSBkYXRhIC0gVGhlIEFycmF5IERlY29yYXRvciBkYXRhLlxuICogQHBhcmFtIGdsb2JhbENvbmZpZyAtIFRoZSBnbG9iYWwgY29uZmlndXJhdGlvbiBvZiBkZWZhdWx0IHZhbHVlcy5cbiAqIEByZXR1cm5zIFRoZSBkaWFsb2cgZGF0YSB3aXRoIHNldCBkZWZhdWx0IHZhbHVlcy5cbiAqL1xuZnVuY3Rpb24gZ2V0RGVmYXVsdER1cGxpY2F0ZUVycm9yRGlhbG9nRGF0YShcbiAgICBkYXRhOiBBcnJheURlY29yYXRvckNvbmZpZzx1bmtub3duW10+LFxuICAgIGdsb2JhbENvbmZpZzogTmd4R2xvYmFsRGVmYXVsdFZhbHVlc1xuKTogQ29uZmlybURpYWxvZ0RhdGEge1xuICAgIHJldHVybiBuZXcgQ29uZmlybURpYWxvZ0RhdGFCdWlsZGVyKGdsb2JhbENvbmZpZywgZGF0YS5kdXBsaWNhdGVzRXJyb3JEaWFsb2cpXG4gICAgICAgIC53aXRoRGVmYXVsdCgndHlwZScsICdpbmZvLW9ubHknKVxuICAgICAgICAud2l0aERlZmF1bHQoJ3RleHQnLCBnbG9iYWxDb25maWcuZHVwbGljYXRlRXJyb3JUZXh0KVxuICAgICAgICAud2l0aERlZmF1bHQoJ3RpdGxlJywgZ2xvYmFsQ29uZmlnLmR1cGxpY2F0ZUVycm9yVGl0bGUpXG4gICAgICAgIC5nZXRSZXN1bHQoKTtcbn0iXX0=
310
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJyYXktZGVjb3JhdG9yLWludGVybmFsLmRhdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbWF0ZXJpYWwtZW50aXR5L3NyYy9kZWNvcmF0b3JzL2FycmF5L2FycmF5LWRlY29yYXRvci1pbnRlcm5hbC5kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUtsRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw2REFBNkQsQ0FBQztBQUV2RyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUM1RixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFFM0UsT0FBTyxFQUFFLGFBQWEsRUFBUSxNQUFNLGdDQUFnQyxDQUFDO0FBR3JFLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBSTNGOzs7R0FHRztBQUNILE1BQU0sT0FBTywrQkFBK0I7SUFDeEMsK0NBQStDO0lBQy9DLEtBQUssQ0FBaUM7SUFDdEMsK0NBQStDO0lBQy9DLGtCQUFrQixDQUFTO0lBQzNCLCtDQUErQztJQUMvQyxpQkFBaUIsQ0FBUztJQUUxQixZQUFZLFlBQW9DLEVBQUUsSUFBMEM7UUFDeEYsSUFBSSxDQUFDLEtBQUssR0FBRyxjQUFjLENBQUMsWUFBWSxDQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDakUsSUFBSSxDQUFDLGtCQUFrQixHQUFHLGNBQWMsQ0FBQyxZQUFZLENBQUMsU0FBUyxFQUFFLElBQUksRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO1FBQzNGLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxjQUFjLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxJQUFJLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztJQUMvRixDQUFDO0NBQ0o7QUFFRDs7R0FF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UUFDcEYsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUNoQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDeEIsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztRQUNoRCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxhQUFhLElBQUksQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFRCxzREFBc0Q7SUFDOUMsNEJBQTRCLENBQUMsa0JBQTRDO1FBQzdFLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLENBQUM7WUFDcEMsb0RBQW9EO1lBQ3BELE9BQU8sS0FBSyxJQUFJLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQztRQUMxQyxDQUFDO1FBQ0Qsc0RBQXNEO1FBQ3RELE9BQU8sS0FBSyxFQUFFLENBQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN6RCxDQUFDO0NBQ0o7QUFFRDs7Ozs7R0FLRztBQUNILFNBQVMsa0NBQWtDLENBQ3ZDLElBQW1DLEVBQ25DLFlBQW9DO0lBRXBDLE9BQU8sSUFBSSx3QkFBd0IsQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLHFCQUFxQixDQUFDO1NBQ3hFLFdBQVcsQ0FBQyxNQUFNLEVBQUUsV0FBVyxDQUFDO1NBQ2hDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsWUFBWSxDQUFDLGtCQUFrQixDQUFDO1NBQ3BELFdBQVcsQ0FBQyxPQUFPLEVBQUUsWUFBWSxDQUFDLG1CQUFtQixDQUFDO1NBQ3RELFNBQVMsRUFBRSxDQUFDO0FBQ3JCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEYXRlRmlsdGVyRm4gfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kYXRlcGlja2VyJztcbmltcG9ydCB7IEljb25EZWZpbml0aW9uIH0gZnJvbSAnQGZvcnRhd2Vzb21lL2FuZ3VsYXItZm9udGF3ZXNvbWUnO1xuaW1wb3J0IHsgZmFDaXJjbGVNaW51cyB9IGZyb20gJ0Bmb3J0YXdlc29tZS9mcmVlLXNvbGlkLXN2Zy1pY29ucyc7XG5cbmltcG9ydCB7IEFycmF5RGVjb3JhdG9yQ29uZmlnLCBBdXRvY29tcGxldGVTdHJpbmdDaGlwc0FycmF5RGVjb3JhdG9yQ29uZmlnLCBEYXRlQXJyYXlEZWNvcmF0b3JDb25maWcsIERhdGVSYW5nZUFycmF5RGVjb3JhdG9yQ29uZmlnLCBEYXRlVGltZUFycmF5RGVjb3JhdG9yQ29uZmlnLCBFZGl0QXJyYXlJdGVtRGlhbG9nRGF0YSwgRW50aXR5QXJyYXlEZWNvcmF0b3JDb25maWcsIFN0cmluZ0NoaXBzQXJyYXlEZWNvcmF0b3JDb25maWcgfSBmcm9tICcuL2FycmF5LWRlY29yYXRvci5kYXRhJztcbmltcG9ydCB7IEJhc2VFbnRpdHlUeXBlLCBFbnRpdHlDbGFzc05ld2FibGUgfSBmcm9tICcuLi8uLi9jbGFzc2VzL2VudGl0eS5tb2RlbCc7XG5pbXBvcnQgeyBDb25maXJtRGlhbG9nRGF0YSB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvY29uZmlybS1kaWFsb2cvY29uZmlybS1kaWFsb2ctZGF0YSc7XG5pbXBvcnQgeyBDb25maXJtRGlhbG9nRGF0YUJ1aWxkZXIgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL2NvbmZpcm0tZGlhbG9nL2NvbmZpcm0tZGlhbG9nLWRhdGEuYnVpbGRlcic7XG5pbXBvcnQgeyBDcmVhdGVEYXRhLCBEaXNwbGF5Q29sdW1uLCBEeW5hbWljU3R5bGVDbGFzc2VzIH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy90YWJsZS90YWJsZS1kYXRhJztcbmltcG9ydCB7IGRlZmF1bHREeW5hbWljU3R5bGVDbGFzc2VzIH0gZnJvbSAnLi4vLi4vZnVuY3Rpb25zL2RlZmF1bHQtc3R5bGUtY2xhc3Nlcy5mdW5jdGlvbic7XG5pbXBvcnQgeyBnZXRDb25maWdWYWx1ZSB9IGZyb20gJy4uLy4uL2Z1bmN0aW9ucy9nZXQtY29uZmlnLXZhbHVlLmZ1bmN0aW9uJztcbmltcG9ydCB7IE5neEdsb2JhbERlZmF1bHRWYWx1ZXMgfSBmcm9tICcuLi8uLi9nbG9iYWwtY29uZmlndXJhdGlvbi12YWx1ZXMnO1xuaW1wb3J0IHsgRGF0ZVV0aWxpdGllcywgVGltZSB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy9kYXRlLnV0aWxpdGllcyc7XG5pbXBvcnQgeyBEZWNvcmF0b3JUeXBlcyB9IGZyb20gJy4uL2Jhc2UvZGVjb3JhdG9yLXR5cGVzLmVudW0nO1xuaW1wb3J0IHsgRHJvcGRvd25WYWx1ZSB9IGZyb20gJy4uL2Jhc2UvZHJvcGRvd24tdmFsdWUuaW50ZXJmYWNlJztcbmltcG9ydCB7IFByb3BlcnR5RGVjb3JhdG9yQ29uZmlnSW50ZXJuYWwgfSBmcm9tICcuLi9iYXNlL3Byb3BlcnR5LWRlY29yYXRvci1pbnRlcm5hbC5kYXRhJztcbmltcG9ydCB7IERhdGVSYW5nZSB9IGZyb20gJy4uL2RhdGUvZGF0ZS1kZWNvcmF0b3IuZGF0YSc7XG5pbXBvcnQgeyBTdHJpbmdBdXRvY29tcGxldGVWYWx1ZXMgfSBmcm9tICcuLi9zdHJpbmcvc3RyaW5nLWRlY29yYXRvci5kYXRhJztcblxuLyoqXG4gKiBUaGUgaW50ZXJuYWwgZGlhbG9nIGRhdGEgZm9yIHRoZSBlbnRpdGllcyBhcnJheSBlZGl0IGRpYWxvZy5cbiAqIFNldHMgZGVmYXVsdCB2YWx1ZXMuXG4gKi9cbmV4cG9ydCBjbGFzcyBFZGl0QXJyYXlJdGVtRGlhbG9nRGF0YUludGVybmFsPEVudGl0eVR5cGUgZXh0ZW5kcyBCYXNlRW50aXR5VHlwZTxFbnRpdHlUeXBlPj4gaW1wbGVtZW50cyBFZGl0QXJyYXlJdGVtRGlhbG9nRGF0YTxFbnRpdHlUeXBlPiB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICB0aXRsZTogKGVudGl0eTogRW50aXR5VHlwZSkgPT4gc3RyaW5nO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gICAgY29uZmlybUJ1dHRvbkxhYmVsOiBzdHJpbmc7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICBjYW5jZWxCdXR0b25MYWJlbDogc3RyaW5nO1xuXG4gICAgY29uc3RydWN0b3IoZ2xvYmFsQ29uZmlnOiBOZ3hHbG9iYWxEZWZhdWx0VmFsdWVzLCBkYXRhPzogRWRpdEFycmF5SXRlbURpYWxvZ0RhdGE8RW50aXR5VHlwZT4pIHtcbiAgICAgICAgdGhpcy50aXRsZSA9IGdldENvbmZpZ1ZhbHVlKGdsb2JhbENvbmZpZy5lZGl0VGl0bGUsIGRhdGE/LnRpdGxlKTtcbiAgICAgICAgdGhpcy5jb25maXJtQnV0dG9uTGFiZWwgPSBnZXRDb25maWdWYWx1ZShnbG9iYWxDb25maWcuc2F2ZUxhYmVsLCBkYXRhPy5jb25maXJtQnV0dG9uTGFiZWwpO1xuICAgICAgICB0aGlzLmNhbmNlbEJ1dHRvbkxhYmVsID0gZ2V0Q29uZmlnVmFsdWUoZ2xvYmFsQ29uZmlnLmNhbmNlbExhYmVsLCBkYXRhPy5jYW5jZWxCdXR0b25MYWJlbCk7XG4gICAgfVxufVxuXG4vKipcbiAqIFRoZSBpbnRlcm5hbCBFbnRpdHlBcnJheURlY29yYXRvckNvbmZpZy4gU2V0cyBkZWZhdWx0IHZhbHVlcy5cbiAqL1xuZXhwb3J0IGNsYXNzIEVudGl0eUFycmF5RGVjb3JhdG9yQ29uZmlnSW50ZXJuYWw8RW50aXR5VHlwZSBleHRlbmRzIEJhc2VFbnRpdHlUeXBlPEVudGl0eVR5cGU+PlxuICAgIGV4dGVuZHMgUHJvcGVydHlEZWNvcmF0b3JDb25maWdJbnRlcm5hbDxFbnRpdHlUeXBlW10+IGltcGxlbWVudHMgRW50aXR5QXJyYXlEZWNvcmF0b3JDb25maWc8RW50aXR5VHlwZT4ge1xuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICBpdGVtVHlwZTogRGVjb3JhdG9yVHlwZXMuT0JKRUNUO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gICAgYWxsb3dEdXBsaWNhdGVzOiBib29sZWFuO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gICAgZHVwbGljYXRlc0Vycm9yRGlhbG9nOiBDb25maXJtRGlhbG9nRGF0YTtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIEVudGl0eUNsYXNzOiBFbnRpdHlDbGFzc05ld2FibGU8RW50aXR5VHlwZT47XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICBkaXNwbGF5Q29sdW1uczogRGlzcGxheUNvbHVtbjxFbnRpdHlUeXBlPltdO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gICAgZHluYW1pY1Jvd1N0eWxlQ2xhc3NlczogRHluYW1pY1N0eWxlQ2xhc3NlczxFbnRpdHlUeXBlPjtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIGNyZWF0ZURpYWxvZ0RhdGE/OiBDcmVhdGVEYXRhO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gICAgZWRpdERpYWxvZ0RhdGE6IEVkaXRBcnJheUl0ZW1EaWFsb2dEYXRhSW50ZXJuYWw8RW50aXR5VHlwZT47XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICBjcmVhdGVJbmxpbmU6IGJvb2xlYW47XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICBtaXNzaW5nRXJyb3JNZXNzYWdlOiBzdHJpbmc7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICBhZGRCdXR0b25MYWJlbDogc3RyaW5nO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gICAgcmVtb3ZlQnV0dG9uTGFiZWw6IHN0cmluZztcblxuICAgIGNvbnN0cnVjdG9yKGRhdGE6IEVudGl0eUFycmF5RGVjb3JhdG9yQ29uZmlnPEVudGl0eVR5cGU+LCBnbG9iYWxDb25maWc6IE5neEdsb2JhbERlZmF1bHRWYWx1ZXMpIHtcbiAgICAgICAgc3VwZXIoZGF0YSk7XG4gICAgICAgIHRoaXMuY3JlYXRlSW5saW5lID0gZGF0YS5jcmVhdGVJbmxpbmUgPz8gdHJ1ZTtcbiAgICAgICAgdGhpcy5pdGVtVHlwZSA9IGRhdGEuaXRlbVR5cGU7XG4gICAgICAgIHRoaXMuYWxsb3dEdXBsaWNhdGVzID0gZGF0YS5hbGxvd0R1cGxpY2F0ZXMgPz8gZmFsc2U7XG4gICAgICAgIHRoaXMuZHVwbGljYXRlc0Vycm9yRGlhbG9nID0gZ2V0RGVmYXVsdER1cGxpY2F0ZUVycm9yRGlhbG9nRGF0YShkYXRhLCBnbG9iYWxDb25maWcpO1xuICAgICAgICB0aGlzLkVudGl0eUNsYXNzID0gZGF0YS5FbnRpdHlDbGFzcztcbiAgICAgICAgdGhpcy5kaXNwbGF5Q29sdW1ucyA9IGRhdGEuZGlzcGxheUNvbHVtbnM7XG4gICAgICAgIHRoaXMuZHluYW1pY1Jvd1N0eWxlQ2xhc3NlcyA9IGRhdGEuZHluYW1pY1Jvd1N0eWxlQ2xhc3NlcyA/PyBkZWZhdWx0RHluYW1pY1N0eWxlQ2xhc3NlcztcbiAgICAgICAgdGhpcy5jcmVhdGVJbmxpbmUgPSBkYXRhLmNyZWF0ZUlubGluZSA/PyB0cnVlO1xuICAgICAgICB0aGlzLm1pc3NpbmdFcnJvck1lc3NhZ2UgPSBnZXRDb25maWdWYWx1ZShnbG9iYWxDb25maWcuZW1wdHlBcnJheUVycm9yTWVzc2FnZSwgZGF0YS5taXNzaW5nRXJyb3JNZXNzYWdlKTtcbiAgICAgICAgdGhpcy5kZWZhdWx0V2lkdGhzID0gZGF0YS5kZWZhdWx0V2lkdGhzID8/IFsxMiwgMTIsIDEyXTtcbiAgICAgICAgdGhpcy5hZGRCdXR0b25MYWJlbCA9IGdldENvbmZpZ1ZhbHVlKGdsb2JhbENvbmZpZy5hZGRMYWJlbCwgZGF0YS5hZGRCdXR0b25MYWJlbCk7XG4gICAgICAgIHRoaXMucmVtb3ZlQnV0dG9uTGFiZWwgPSBnZXRDb25maWdWYWx1ZShnbG9iYWxDb25maWcucmVtb3ZlTGFiZWwsIGRhdGEucmVtb3ZlQnV0dG9uTGFiZWwpO1xuICAgICAgICB0aGlzLmVkaXREaWFsb2dEYXRhID0gbmV3IEVkaXRBcnJheUl0ZW1EaWFsb2dEYXRhSW50ZXJuYWwoZ2xvYmFsQ29uZmlnLCBkYXRhLmVkaXREaWFsb2dEYXRhKTtcbiAgICB9XG59XG5cbi8qKlxuICogVGhlIGludGVybmFsIERhdGVBcnJheURlY29yYXRvckNvbmZpZy4gU2V0cyBkZWZhdWx0IHZhbHVlcy5cbiAqL1xuZXhwb3J0IGNsYXNzIERhdGVBcnJheURlY29yYXRvckNvbmZpZ0ludGVybmFsIGV4dGVuZHMgUHJvcGVydHlEZWNvcmF0b3JDb25maWdJbnRlcm5hbDxEYXRlW10+IGltcGxlbWVudHMgRGF0ZUFycmF5RGVjb3JhdG9yQ29uZmlnIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIGl0ZW1UeXBlOiBEZWNvcmF0b3JUeXBlcy5EQVRFO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gICAgYWxsb3dEdXBsaWNhdGVzOiBib29sZWFuO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gICAgZHVwbGljYXRlc0Vycm9yRGlhbG9nOiBDb25maXJtRGlhbG9nRGF0YTtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIGRpc3BsYXlDb2x1bW5zOiBEaXNwbGF5Q29sdW1uPERhdGU+W107XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICBhZGRCdXR0b25MYWJlbDogc3RyaW5nO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gICAgcmVtb3ZlQnV0dG9uTGFiZWw6IHN0cmluZztcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIG1pc3NpbmdFcnJvck1lc3NhZ2U6IHN0cmluZztcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIGR5bmFtaWNSb3dTdHlsZUNsYXNzZXM6IER5bmFtaWNTdHlsZUNsYXNzZXM8RGF0ZT47XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICBtaW4/OiAoZGF0ZT86IERhdGUpID0+IERhdGU7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICBtYXg/OiAoZGF0ZT86IERhdGUpID0+IERhdGU7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICBmaWx0ZXI/OiBEYXRlRmlsdGVyRm48RGF0ZSB8IG51bGwgfCB1bmRlZmluZWQ+O1xuXG4gICAgY29uc3RydWN0b3IoZGF0YTogRGF0ZUFycmF5RGVjb3JhdG9yQ29uZmlnLCBnbG9iYWxDb25maWc6IE5neEdsb2JhbERlZmF1bHRWYWx1ZXMpIHtcbiAgICAgICAgc3VwZXIoZGF0YSk7XG4gICAgICAgIHRoaXMuaXRlbVR5cGUgPSBkYXRhLml0ZW1UeXBlO1xuICAgICAgICB0aGlzLmFsbG93RHVwbGljYXRlcyA9IGRhdGEuYWxsb3dEdXBsaWNhdGVzID8/IGZhbHNlO1xuICAgICAgICB0aGlzLmR1cGxpY2F0ZXNFcnJvckRpYWxvZyA9IGdldERlZmF1bHREdXBsaWNhdGVFcnJvckRpYWxvZ0RhdGEoZGF0YSwgZ2xvYmFsQ29uZmlnKTtcbiAgICAgICAgdGhpcy5kaXNwbGF5Q29sdW1ucyA9IGRhdGEuZGlzcGxheUNvbHVtbnM7XG4gICAgICAgIHRoaXMuZGVmYXVsdFdpZHRocyA9IGRhdGEuZGVmYXVsdFdpZHRocyA/PyBbMTIsIDEyLCAxMl07XG4gICAgICAgIHRoaXMuYWRkQnV0dG9uTGFiZWwgPSBnZXRDb25maWdWYWx1ZShnbG9iYWxDb25maWcuYWRkTGFiZWwsIGRhdGEuYWRkQnV0dG9uTGFiZWwpO1xuICAgICAgICB0aGlzLnJlbW92ZUJ1dHRvbkxhYmVsID0gZ2V0Q29uZmlnVmFsdWUoZ2xvYmFsQ29uZmlnLnJlbW92ZUxhYmVsLCBkYXRhLnJlbW92ZUJ1dHRvbkxhYmVsKTtcbiAgICAgICAgdGhpcy5taXNzaW5nRXJyb3JNZXNzYWdlID0gZ2V0Q29uZmlnVmFsdWUoZ2xvYmFsQ29uZmlnLmVtcHR5QXJyYXlFcnJvck1lc3NhZ2UsIGRhdGEubWlzc2luZ0Vycm9yTWVzc2FnZSk7XG4gICAgICAgIHRoaXMuZHluYW1pY1Jvd1N0eWxlQ2xhc3NlcyA9IGRhdGEuZHluYW1pY1Jvd1N0eWxlQ2xhc3NlcyA/PyBkZWZhdWx0RHluYW1pY1N0eWxlQ2xhc3NlcztcbiAgICAgICAgdGhpcy5taW4gPSBkYXRhLm1pbjtcbiAgICAgICAgdGhpcy5tYXggPSBkYXRhLm1heDtcbiAgICAgICAgdGhpcy5maWx0ZXIgPSBkYXRhLmZpbHRlcjtcbiAgICB9XG59XG5cbi8qKlxuICogVGhlIGludGVybmFsIERhdGVUaW1lQXJyYXlEZWNvcmF0b3JDb25maWcuIFNldHMgZGVmYXVsdCB2YWx1ZXMuXG4gKi9cbmV4cG9ydCBjbGFzcyBEYXRlVGltZUFycmF5RGVjb3JhdG9yQ29uZmlnSW50ZXJuYWwgZXh0ZW5kcyBQcm9wZXJ0eURlY29yYXRvckNvbmZpZ0ludGVybmFsPERhdGVbXT4gaW1wbGVtZW50cyBEYXRlVGltZUFycmF5RGVjb3JhdG9yQ29uZmlnIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIGl0ZW1UeXBlOiBEZWNvcmF0b3JUeXBlcy5EQVRFX1RJTUU7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICBhbGxvd0R1cGxpY2F0ZXM6IGJvb2xlYW47XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICBkdXBsaWNhdGVzRXJyb3JEaWFsb2c6IENvbmZpcm1EaWFsb2dEYXRhO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gICAgZGlzcGxheUNvbHVtbnM6IERpc3BsYXlDb2x1bW48RGF0ZT5bXTtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIGFkZEJ1dHRvbkxhYmVsOiBzdHJpbmc7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICByZW1vdmVCdXR0b25MYWJlbDogc3RyaW5nO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gICAgbWlzc2luZ0Vycm9yTWVzc2FnZTogc3RyaW5nO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gICAgdGltZXM6IERyb3Bkb3duVmFsdWU8VGltZT5bXTtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIHRpbWVEaXNwbGF5TmFtZTogc3RyaW5nO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gICAgZHluYW1pY1Jvd1N0eWxlQ2xhc3NlczogRHluYW1pY1N0eWxlQ2xhc3NlczxEYXRlPjtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIG1pbkRhdGU/OiAoZGF0ZT86IERhdGUpID0+IERhdGU7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICBtYXhEYXRlPzogKGRhdGU/OiBEYXRlKSA9PiBEYXRlO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gICAgZmlsdGVyRGF0ZT86IERhdGVGaWx0ZXJGbjxEYXRlIHwgbnVsbCB8IHVuZGVmaW5lZD47XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICBtaW5UaW1lPzogKGRhdGU/OiBEYXRlKSA9PiBUaW1lO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gICAgbWF4VGltZT86IChkYXRlPzogRGF0ZSkgPT4gVGltZTtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIGZpbHRlclRpbWU/OiAoKHRpbWU6IFRpbWUpID0+IGJvb2xlYW4pIHwgKCgpID0+IGJvb2xlYW4pO1xuXG4gICAgY29uc3RydWN0b3IoZGF0YTogRGF0ZVRpbWVBcnJheURlY29yYXRvckNvbmZpZywgZ2xvYmFsQ29uZmlnOiBOZ3hHbG9iYWxEZWZhdWx0VmFsdWVzKSB7XG4gICAgICAgIHN1cGVyKGRhdGEpO1xuICAgICAgICB0aGlzLml0ZW1UeXBlID0gZGF0YS5pdGVtVHlwZTtcbiAgICAgICAgdGhpcy5hbGxvd0R1cGxpY2F0ZXMgPSBkYXRhLmFsbG93RHVwbGljYXRlcyA/PyBmYWxzZTtcbiAgICAgICAgdGhpcy5kdXBsaWNhdGVzRXJyb3JEaWFsb2cgPSBnZXREZWZhdWx0RHVwbGljYXRlRXJyb3JEaWFsb2dEYXRhKGRhdGEsIGdsb2JhbENvbmZpZyk7XG4gICAgICAgIHRoaXMuZGlzcGxheUNvbHVtbnMgPSBkYXRhLmRpc3BsYXlDb2x1bW5zO1xuICAgICAgICB0aGlzLmRlZmF1bHRXaWR0aHMgPSBkYXRhLmRlZmF1bHRXaWR0aHMgPz8gWzEyLCAxMiwgMTJdO1xuICAgICAgICB0aGlzLmFkZEJ1dHRvbkxhYmVsID0gZ2V0Q29uZmlnVmFsdWUoZ2xvYmFsQ29uZmlnLmFkZExhYmVsLCBkYXRhLmFkZEJ1dHRvbkxhYmVsKTtcbiAgICAgICAgdGhpcy5yZW1vdmVCdXR0b25MYWJlbCA9IGdldENvbmZpZ1ZhbHVlKGdsb2JhbENvbmZpZy5yZW1vdmVMYWJlbCwgZGF0YS5yZW1vdmVCdXR0b25MYWJlbCk7XG4gICAgICAgIHRoaXMubWlzc2luZ0Vycm9yTWVzc2FnZSA9IGdldENvbmZpZ1ZhbHVlKGdsb2JhbENvbmZpZy5lbXB0eUFycmF5RXJyb3JNZXNzYWdlLCBkYXRhLm1pc3NpbmdFcnJvck1lc3NhZ2UpO1xuICAgICAgICB0aGlzLnRpbWVzID0gZGF0YS50aW1lcyA/PyBEYXRlVXRpbGl0aWVzLmdldERlZmF1bHRUaW1lcygpO1xuICAgICAgICB0aGlzLnRpbWVEaXNwbGF5TmFtZSA9IGdldENvbmZpZ1ZhbHVlKGdsb2JhbENvbmZpZy50aW1lTGFiZWwsIGRhdGEudGltZURpc3BsYXlOYW1lKTtcbiAgICAgICAgdGhpcy5keW5hbWljUm93U3R5bGVDbGFzc2VzID0gZGF0YS5keW5hbWljUm93U3R5bGVDbGFzc2VzID8/IGRlZmF1bHREeW5hbWljU3R5bGVDbGFzc2VzO1xuICAgICAgICB0aGlzLm1pbkRhdGUgPSBkYXRhLm1pbkRhdGU7XG4gICAgICAgIHRoaXMubWF4RGF0ZSA9IGRhdGEubWF4RGF0ZTtcbiAgICAgICAgdGhpcy5maWx0ZXJEYXRlID0gZGF0YS5maWx0ZXJEYXRlO1xuICAgICAgICB0aGlzLm1pblRpbWUgPSBkYXRhLm1pblRpbWU7XG4gICAgICAgIHRoaXMubWF4VGltZSA9IGRhdGEubWF4VGltZTtcbiAgICAgICAgdGhpcy5maWx0ZXJUaW1lID0gZGF0YS5maWx0ZXJUaW1lO1xuICAgIH1cbn1cblxuLyoqXG4gKiBUaGUgaW50ZXJuYWwgRGF0ZVJhbmdlQXJyYXlEZWNvcmF0b3JDb25maWcuIFNldHMgZGVmYXVsdCB2YWx1ZXMuXG4gKi9cbmV4cG9ydCBjbGFzcyBEYXRlUmFuZ2VBcnJheURlY29yYXRvckNvbmZpZ0ludGVybmFsIGV4dGVuZHMgUHJvcGVydHlEZWNvcmF0b3JDb25maWdJbnRlcm5hbDxEYXRlUmFuZ2VbXT5cbiAgICBpbXBsZW1lbnRzIERhdGVSYW5nZUFycmF5RGVjb3JhdG9yQ29uZmlnIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIGl0ZW1UeXBlOiBEZWNvcmF0b3JUeXBlcy5EQVRFX1JBTkdFO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gICAgYWxsb3dEdXBsaWNhdGVzOiBib29sZWFuO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gICAgZHVwbGljYXRlc0Vycm9yRGlhbG9nOiBDb25maXJtRGlhbG9nRGF0YTtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIGRpc3BsYXlDb2x1bW5zOiBEaXNwbGF5Q29sdW1uPERhdGVSYW5nZT5bXTtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIGFkZEJ1dHRvbkxhYmVsOiBzdHJpbmc7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICByZW1vdmVCdXR0b25MYWJlbDogc3RyaW5nO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gICAgbWlzc2luZ0Vycm9yTWVzc2FnZTogc3RyaW5nO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gICAgcGxhY2Vob2xkZXJTdGFydDogc3RyaW5nO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gICAgcGxhY2Vob2xkZXJFbmQ6IHN0cmluZztcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIGR5bmFtaWNSb3dTdHlsZUNsYXNzZXM6IER5bmFtaWNTdHlsZUNsYXNzZXM8RGF0ZVJhbmdlPjtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIG1pblN0YXJ0PzogKGRhdGU/OiBEYXRlKSA9PiBEYXRlO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gICAgbWF4U3RhcnQ/OiAoZGF0ZT86IERhdGUpID0+IERhdGU7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICBtaW5FbmQ/OiAoZGF0ZT86IERhdGUpID0+IERhdGU7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICBtYXhFbmQ/OiAoZGF0ZT86IERhdGUpID0+IERhdGU7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICBmaWx0ZXI/OiBEYXRlRmlsdGVyRm48RGF0ZT47XG5cbiAgICBjb25zdHJ1Y3RvcihkYXRhOiBEYXRlUmFuZ2VBcnJheURlY29yYXRvckNvbmZpZywgZ2xvYmFsQ29uZmlnOiBOZ3hHbG9iYWxEZWZhdWx0VmFsdWVzKSB7XG4gICAgICAgIHN1cGVyKGRhdGEpO1xuICAgICAgICB0aGlzLml0ZW1UeXBlID0gZGF0YS5pdGVtVHlwZTtcbiAgICAgICAgdGhpcy5hbGxvd0R1cGxpY2F0ZXMgPSBkYXRhLmFsbG93RHVwbGljYXRlcyA/PyBmYWxzZTtcbiAgICAgICAgdGhpcy5kdXBsaWNhdGVzRXJyb3JEaWFsb2cgPSBnZXREZWZhdWx0RHVwbGljYXRlRXJyb3JEaWFsb2dEYXRhKGRhdGEsIGdsb2JhbENvbmZpZyk7XG4gICAgICAgIHRoaXMuZGlzcGxheUNvbHVtbnMgPSBkYXRhLmRpc3BsYXlDb2x1bW5zO1xuICAgICAgICB0aGlzLmRlZmF1bHRXaWR0aHMgPSBkYXRhLmRlZmF1bHRXaWR0aHMgPz8gWzEyLCAxMiwgMTJdO1xuICAgICAgICB0aGlzLmFkZEJ1dHRvbkxhYmVsID0gZ2V0Q29uZmlnVmFsdWUoZ2xvYmFsQ29uZmlnLmFkZExhYmVsLCBkYXRhLmFkZEJ1dHRvbkxhYmVsKTtcbiAgICAgICAgdGhpcy5yZW1vdmVCdXR0b25MYWJlbCA9IGdldENvbmZpZ1ZhbHVlKGdsb2JhbENvbmZpZy5yZW1vdmVMYWJlbCwgZGF0YS5yZW1vdmVCdXR0b25MYWJlbCk7XG4gICAgICAgIHRoaXMubWlzc2luZ0Vycm9yTWVzc2FnZSA9IGdldENvbmZpZ1ZhbHVlKGdsb2JhbENvbmZpZy5lbXB0eUFycmF5RXJyb3JNZXNzYWdlLCBkYXRhLm1pc3NpbmdFcnJvck1lc3NhZ2UpO1xuICAgICAgICB0aGlzLnBsYWNlaG9sZGVyU3RhcnQgPSBnZXRDb25maWdWYWx1ZShnbG9iYWxDb25maWcuc3RhcnRMYWJlbCwgZGF0YS5wbGFjZWhvbGRlclN0YXJ0KTtcbiAgICAgICAgdGhpcy5wbGFjZWhvbGRlckVuZCA9IGdldENvbmZpZ1ZhbHVlKGdsb2JhbENvbmZpZy5lbmRMYWJlbCwgZGF0YS5wbGFjZWhvbGRlckVuZCk7XG4gICAgICAgIHRoaXMuZHluYW1pY1Jvd1N0eWxlQ2xhc3NlcyA9IGRhdGEuZHluYW1pY1Jvd1N0eWxlQ2xhc3NlcyA/PyBkZWZhdWx0RHluYW1pY1N0eWxlQ2xhc3NlcztcbiAgICAgICAgdGhpcy5taW5TdGFydCA9IGRhdGEubWluU3RhcnQ7XG4gICAgICAgIHRoaXMubWF4U3RhcnQgPSBkYXRhLm1heFN0YXJ0O1xuICAgICAgICB0aGlzLm1pbkVuZCA9IGRhdGEubWluRW5kO1xuICAgICAgICB0aGlzLm1heEVuZCA9IGRhdGEubWF4RW5kO1xuICAgICAgICB0aGlzLmZpbHRlciA9IGRhdGEuZmlsdGVyO1xuICAgIH1cbn1cblxuLyoqXG4gKiBUaGUgaW50ZXJuYWwgU3RyaW5nQ2hpcHNBcnJheURlY29yYXRvckNvbmZpZy4gU2V0cyBkZWZhdWx0IHZhbHVlcy5cbiAqL1xuZXhwb3J0IGNsYXNzIFN0cmluZ0NoaXBzQXJyYXlEZWNvcmF0b3JDb25maWdJbnRlcm5hbCBleHRlbmRzIFByb3BlcnR5RGVjb3JhdG9yQ29uZmlnSW50ZXJuYWw8c3RyaW5nW10+XG4gICAgaW1wbGVtZW50cyBTdHJpbmdDaGlwc0FycmF5RGVjb3JhdG9yQ29uZmlnIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIGl0ZW1UeXBlOiBEZWNvcmF0b3JUeXBlcy5TVFJJTkc7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICBhbGxvd0R1cGxpY2F0ZXM6IGJvb2xlYW47XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICBkdXBsaWNhdGVzRXJyb3JEaWFsb2c6IENvbmZpcm1EaWFsb2dEYXRhO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gICAgZGVsZXRlSWNvbjogSWNvbkRlZmluaXRpb247XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICBtaW5MZW5ndGg/OiBudW1iZXI7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICBtYXhMZW5ndGg/OiBudW1iZXI7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICByZWdleD86IFJlZ0V4cDtcblxuICAgIGNvbnN0cnVjdG9yKGRhdGE6IFN0cmluZ0NoaXBzQXJyYXlEZWNvcmF0b3JDb25maWcsIGdsb2JhbENvbmZpZzogTmd4R2xvYmFsRGVmYXVsdFZhbHVlcykge1xuICAgICAgICBzdXBlcihkYXRhKTtcbiAgICAgICAgdGhpcy5kZWxldGVJY29uID0gZGF0YS5kZWxldGVJY29uID8/IGZhQ2lyY2xlTWludXM7XG4gICAgICAgIHRoaXMuaXRlbVR5cGUgPSBkYXRhLml0ZW1UeXBlO1xuICAgICAgICB0aGlzLmFsbG93RHVwbGljYXRlcyA9IGRhdGEuYWxsb3dEdXBsaWNhdGVzID8/IGZhbHNlO1xuICAgICAgICB0aGlzLmR1cGxpY2F0ZXNFcnJvckRpYWxvZyA9IGdldERlZmF1bHREdXBsaWNhdGVFcnJvckRpYWxvZ0RhdGEoZGF0YSwgZ2xvYmFsQ29uZmlnKTtcbiAgICAgICAgdGhpcy5tYXhMZW5ndGggPSBkYXRhLm1heExlbmd0aDtcbiAgICAgICAgdGhpcy5taW5MZW5ndGggPSBkYXRhLm1pbkxlbmd0aDtcbiAgICAgICAgdGhpcy5yZWdleCA9IGRhdGEucmVnZXg7XG4gICAgICAgIHRoaXMuZGVmYXVsdFdpZHRocyA9IGRhdGEuZGVmYXVsdFdpZHRocyA/PyBbNiwgMTIsIDEyXTtcbiAgICB9XG59XG5cbi8qKlxuICogVGhlIGludGVybmFsIEF1dG9jb21wbGV0ZVN0cmluZ0NoaXBzQXJyYXlEZWNvcmF0b3JDb25maWcuIFNldHMgZGVmYXVsdCB2YWx1ZXMuXG4gKi9cbmV4cG9ydCBjbGFzcyBBdXRvY29tcGxldGVTdHJpbmdDaGlwc0FycmF5RGVjb3JhdG9yQ29uZmlnSW50ZXJuYWxcbiAgICBleHRlbmRzIFByb3BlcnR5RGVjb3JhdG9yQ29uZmlnSW50ZXJuYWw8c3RyaW5nW10+IGltcGxlbWVudHMgQXV0b2NvbXBsZXRlU3RyaW5nQ2hpcHNBcnJheURlY29yYXRvckNvbmZpZyB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2MsIHR5cGVzY3JpcHQvbm8tZXhwbGljaXQtYW55XG4gICAgYXV0b2NvbXBsZXRlVmFsdWVzOiAoZW50aXR5OiBhbnkpID0+IFByb21pc2U8c3RyaW5nW10+O1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gICAgaXRlbVR5cGU6IERlY29yYXRvclR5cGVzLlNUUklOR19BVVRPQ09NUExFVEU7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICBhbGxvd0R1cGxpY2F0ZXM6IGJvb2xlYW47XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICBkdXBsaWNhdGVzRXJyb3JEaWFsb2c6IENvbmZpcm1EaWFsb2dEYXRhO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gICAgZGVsZXRlSWNvbjogSWNvbkRlZmluaXRpb247XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICBtaW5MZW5ndGg/OiBudW1iZXI7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICBtYXhMZW5ndGg/OiBudW1iZXI7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICByZWdleD86IFJlZ0V4cDtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIHJlc3RyaWN0VG9PcHRpb25zPzogYm9vbGVhbjtcblxuICAgIGNvbnN0cnVjdG9yKGRhdGE6IEF1dG9jb21wbGV0ZVN0cmluZ0NoaXBzQXJyYXlEZWNvcmF0b3JDb25maWcsIGdsb2JhbENvbmZpZzogTmd4R2xvYmFsRGVmYXVsdFZhbHVlcykge1xuICAgICAgICBzdXBlcihkYXRhKTtcbiAgICAgICAgdGhpcy5hdXRvY29tcGxldGVWYWx1ZXMgPSB0aGlzLmF1dG9jb21wbGV0ZVZhbHVlc1RvRnVuY3Rpb24oZGF0YS5hdXRvY29tcGxldGVWYWx1ZXMpO1xuICAgICAgICB0aGlzLmRlbGV0ZUljb24gPSBkYXRhLmRlbGV0ZUljb24gPz8gZmFDaXJjbGVNaW51cztcbiAgICAgICAgdGhpcy5pdGVtVHlwZSA9IGRhdGEuaXRlbVR5cGU7XG4gICAgICAgIHRoaXMuYWxsb3dEdXBsaWNhdGVzID0gZGF0YS5hbGxvd0R1cGxpY2F0ZXMgPz8gZmFsc2U7XG4gICAgICAgIHRoaXMuZHVwbGljYXRlc0Vycm9yRGlhbG9nID0gZ2V0RGVmYXVsdER1cGxpY2F0ZUVycm9yRGlhbG9nRGF0YShkYXRhLCBnbG9iYWxDb25maWcpO1xuICAgICAgICB0aGlzLm1heExlbmd0aCA9IGRhdGEubWF4TGVuZ3RoO1xuICAgICAgICB0aGlzLm1pbkxlbmd0aCA9IGRhdGEubWluTGVuZ3RoO1xuICAgICAgICB0aGlzLnJlZ2V4ID0gZGF0YS5yZWdleDtcbiAgICAgICAgdGhpcy5yZXN0cmljdFRvT3B0aW9ucyA9IGRhdGEucmVzdHJpY3RUb09wdGlvbnM7XG4gICAgICAgIHRoaXMuZGVmYXVsdFdpZHRocyA9IGRhdGEuZGVmYXVsdFdpZHRocyA/PyBbNiwgMTIsIDEyXTtcbiAgICB9XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgdHlwZXNjcmlwdC9uby1leHBsaWNpdC1hbnlcbiAgICBwcml2YXRlIGF1dG9jb21wbGV0ZVZhbHVlc1RvRnVuY3Rpb24oYXV0b2NvbXBsZXRlVmFsdWVzOiBTdHJpbmdBdXRvY29tcGxldGVWYWx1ZXMpOiAoZW50aXR5OiBhbnkpID0+IFByb21pc2U8c3RyaW5nW10+IHtcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoYXV0b2NvbXBsZXRlVmFsdWVzKSkge1xuICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHR5cGVzY3JpcHQvcmVxdWlyZS1hd2FpdFxuICAgICAgICAgICAgcmV0dXJuIGFzeW5jICgpID0+IGF1dG9jb21wbGV0ZVZhbHVlcztcbiAgICAgICAgfVxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgdHlwZXNjcmlwdC9uby1leHBsaWNpdC1hbnlcbiAgICAgICAgcmV0dXJuIGFzeW5jIChlOiBhbnkpID0+IGF3YWl0IGF1dG9jb21wbGV0ZVZhbHVlcyhlKTtcbiAgICB9XG59XG5cbi8qKlxuICogR2V0cyB0aGUgZGVmYXVsdCBkaWFsb2cgZGF0YSBmb3IgdGhlIGVycm9yIGRpYWxvZyB0byBkaXNwbGF5IHdoZW4gdGhlIHVzZXIgdHJpZXMgdG8gYWRkIGEgZHVwbGljYXRlIHZhbHVlLlxuICogQHBhcmFtIGRhdGEgLSBUaGUgQXJyYXkgRGVjb3JhdG9yIGRhdGEuXG4gKiBAcGFyYW0gZ2xvYmFsQ29uZmlnIC0gVGhlIGdsb2JhbCBjb25maWd1cmF0aW9uIG9mIGRlZmF1bHQgdmFsdWVzLlxuICogQHJldHVybnMgVGhlIGRpYWxvZyBkYXRhIHdpdGggc2V0IGRlZmF1bHQgdmFsdWVzLlxuICovXG5mdW5jdGlvbiBnZXREZWZhdWx0RHVwbGljYXRlRXJyb3JEaWFsb2dEYXRhKFxuICAgIGRhdGE6IEFycmF5RGVjb3JhdG9yQ29uZmlnPHVua25vd24+LFxuICAgIGdsb2JhbENvbmZpZzogTmd4R2xvYmFsRGVmYXVsdFZhbHVlc1xuKTogQ29uZmlybURpYWxvZ0RhdGEge1xuICAgIHJldHVybiBuZXcgQ29uZmlybURpYWxvZ0RhdGFCdWlsZGVyKGdsb2JhbENvbmZpZywgZGF0YS5kdXBsaWNhdGVzRXJyb3JEaWFsb2cpXG4gICAgICAgIC53aXRoRGVmYXVsdCgndHlwZScsICdpbmZvLW9ubHknKVxuICAgICAgICAud2l0aERlZmF1bHQoJ3RleHQnLCBnbG9iYWxDb25maWcuZHVwbGljYXRlRXJyb3JUZXh0KVxuICAgICAgICAud2l0aERlZmF1bHQoJ3RpdGxlJywgZ2xvYmFsQ29uZmlnLmR1cGxpY2F0ZUVycm9yVGl0bGUpXG4gICAgICAgIC5nZXRSZXN1bHQoKTtcbn0iXX0=
@@ -1,6 +1,6 @@
1
1
  import { PropertyDecoratorConfig } from '../base/property-decorator.data';
2
2
  /**
3
- * Interface definition for the @array metadata.
3
+ * Base definition for the @array metadata.
4
4
  */
5
5
  export class ArrayDecoratorConfig extends PropertyDecoratorConfig {
6
6
  /**
@@ -17,4 +17,35 @@ export class ArrayDecoratorConfig extends PropertyDecoratorConfig {
17
17
  */
18
18
  duplicatesErrorDialog;
19
19
  }
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJyYXktZGVjb3JhdG9yLmRhdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbWF0ZXJpYWwtZW50aXR5L3NyYy9kZWNvcmF0b3JzL2FycmF5L2FycmF5LWRlY29yYXRvci5kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBSTFFOztHQUVHO0FBQ0gsTUFBTSxPQUFnQixvQkFBZ0MsU0FBUSx1QkFBa0M7SUFDNUY7O09BRUc7SUFDSCxRQUFRLENBQWtCO0lBRTFCOzs7T0FHRztJQUNILGVBQWUsQ0FBVztJQUUxQjs7T0FFRztJQUNILHFCQUFxQixDQUFxQjtDQUM3QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERhdGVGaWx0ZXJGbiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RhdGVwaWNrZXInO1xuXG5pbXBvcnQgeyBCYXNlRW50aXR5VHlwZSwgRW50aXR5Q2xhc3NOZXdhYmxlIH0gZnJvbSAnLi4vLi4vY2xhc3Nlcy9lbnRpdHkubW9kZWwnO1xuaW1wb3J0IHsgQ29uZmlybURpYWxvZ0RhdGEgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL2NvbmZpcm0tZGlhbG9nL2NvbmZpcm0tZGlhbG9nLWRhdGEnO1xuaW1wb3J0IHsgQ3JlYXRlRGF0YSwgRGlzcGxheUNvbHVtbiB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvdGFibGUvdGFibGUtZGF0YSc7XG5pbXBvcnQgeyBUaW1lIH0gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL2RhdGUudXRpbGl0aWVzJztcbmltcG9ydCB7IERlY29yYXRvclR5cGVzIH0gZnJvbSAnLi4vYmFzZS9kZWNvcmF0b3ItdHlwZXMuZW51bSc7XG5pbXBvcnQgeyBEcm9wZG93blZhbHVlIH0gZnJvbSAnLi4vYmFzZS9kcm9wZG93bi12YWx1ZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUHJvcGVydHlEZWNvcmF0b3JDb25maWcgfSBmcm9tICcuLi9iYXNlL3Byb3BlcnR5LWRlY29yYXRvci5kYXRhJztcbmltcG9ydCB7IERhdGVSYW5nZSB9IGZyb20gJy4uL2RhdGUvZGF0ZS1kZWNvcmF0b3IuZGF0YSc7XG5pbXBvcnQgeyBTdHJpbmdBdXRvY29tcGxldGVWYWx1ZXMgfSBmcm9tICcuLi9zdHJpbmcvc3RyaW5nLWRlY29yYXRvci5kYXRhJztcblxuLyoqXG4gKiBJbnRlcmZhY2UgZGVmaW5pdGlvbiBmb3IgdGhlIEBhcnJheSBtZXRhZGF0YS5cbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFycmF5RGVjb3JhdG9yQ29uZmlnPFZhbHVlVHlwZT4gZXh0ZW5kcyBQcm9wZXJ0eURlY29yYXRvckNvbmZpZzxWYWx1ZVR5cGU+IHtcbiAgICAvKipcbiAgICAgKiBUaGUgdHlwZSBvZiB0aGUgaXRlbXMgaW5zaWRlIHRoZSBhcnJheS5cbiAgICAgKi9cbiAgICBpdGVtVHlwZSE6IERlY29yYXRvclR5cGVzO1xuXG4gICAgLyoqXG4gICAgICogV2hldGhlciBvciBub3QgZHVwbGljYXRlIHZhbHVlcyBhcmUgYWxsb3dlZCBpbnNpZGUgdGhlIGFycmF5LlxuICAgICAqIEBkZWZhdWx0IGZhbHNlXG4gICAgICovXG4gICAgYWxsb3dEdXBsaWNhdGVzPzogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIFRoZSBlcnJvciBkaWFsb2cgdG8gZGlzcGxheSB3aGVuIHRoZSB1c2VyIHRyaWVzIHRvIGFkZCBhIGR1cGxpY2F0ZSBlbnRyeS5cbiAgICAgKi9cbiAgICBkdXBsaWNhdGVzRXJyb3JEaWFsb2c/OiBDb25maXJtRGlhbG9nRGF0YTtcbn1cblxuLyoqXG4gKiBUaGUgZGlhbG9nIGRhdGEgZm9yIHRoZSBlbnRpdGllcyBhcnJheSBlZGl0IGRpYWxvZy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFZGl0QXJyYXlJdGVtRGlhbG9nRGF0YTxFbnRpdHlUeXBlIGV4dGVuZHMgQmFzZUVudGl0eVR5cGU8RW50aXR5VHlwZT4+IHtcbiAgICAvKipcbiAgICAgKiBUaGUgdGl0bGUgb2YgdGhlIGRlZmF1bHQgZWRpdC1kaWFsb2cuXG4gICAgICovXG4gICAgdGl0bGU/OiAoZW50aXR5OiBFbnRpdHlUeXBlKSA9PiBzdHJpbmcsXG4gICAgLyoqXG4gICAgICogVGhlIGxhYmVsIG9uIHRoZSBjb25maXJtLWJ1dHRvbiBvZiB0aGUgZGVmYXVsdCBlZGl0LWRpYWxvZyBvciBwYWdlLiBEZWZhdWx0cyB0byBcIlNhdmVcIi5cbiAgICAgKi9cbiAgICBjb25maXJtQnV0dG9uTGFiZWw/OiBzdHJpbmcsXG4gICAgLyoqXG4gICAgICogVGhlIGxhYmVsIG9uIHRoZSBjYW5jZWwtYnV0dG9uIGZvciB0aGUgZGVmYXVsdCBlZGl0LWRpYWxvZyBvciBwYWdlLiBEZWZhdWx0cyB0byBcIkNhbmNlbFwiLlxuICAgICAqL1xuICAgIGNhbmNlbEJ1dHRvbkxhYmVsPzogc3RyaW5nXG59XG5cbi8qKlxuICogRGVmaW5pdGlvbiBmb3IgYW4gYXJyYXkgb2YgRW50aXRpZXMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRW50aXR5QXJyYXlEZWNvcmF0b3JDb25maWc8RW50aXR5VHlwZSBleHRlbmRzIEJhc2VFbnRpdHlUeXBlPEVudGl0eVR5cGU+PiBleHRlbmRzIEFycmF5RGVjb3JhdG9yQ29uZmlnPEVudGl0eVR5cGVbXT4ge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gICAgaXRlbVR5cGU6IERlY29yYXRvclR5cGVzLk9CSkVDVCxcblxuICAgIC8qKlxuICAgICAqIFRoZSBFbnRpdHlDbGFzcyB1c2VkIGZvciBnZW5lcmF0aW5nIHRoZSBjcmVhdGUgaW5wdXRzLlxuICAgICAqL1xuICAgIEVudGl0eUNsYXNzOiBFbnRpdHlDbGFzc05ld2FibGU8RW50aXR5VHlwZT4sXG5cbiAgICAvKipcbiAgICAgKiBUaGUgZGVmaW5pdGlvbiBvZiB0aGUgY29sdW1ucyB0byBkaXNwbGF5LiBDb25zaXN0cyBvZiB0aGUgZGlzcGxheU5hbWUgdG8gc2hvdyBpbiB0aGUgaGVhZGVyIG9mIHRoZSByb3dcbiAgICAgKiBhbmQgdGhlIHZhbHVlLCB3aGljaCBpcyBhIGZ1bmN0aW9uIHRoYXQgZ2VuZXJhdGVzIHRoZSB2YWx1ZSB0byBkaXNwbGF5IGluc2lkZSBhIGNvbHVtbi5cbiAgICAgKi9cbiAgICBkaXNwbGF5Q29sdW1uczogRGlzcGxheUNvbHVtbjxFbnRpdHlUeXBlPltdLFxuXG4gICAgLyoqXG4gICAgICogVGhlIGRhdGEgZm9yIHRoZSBhZGQtaXRlbS1kaWFsb2cuXG4gICAgICogQ2FuIGJlIG9taXR0ZWQgd2hlbiBhZGRpbmcgaXRlbXMgaW5saW5lLlxuICAgICAqL1xuICAgIGNyZWF0ZURpYWxvZ0RhdGE/OiBDcmVhdGVEYXRhLFxuXG4gICAgLyoqXG4gICAgICogVGhlIGRhdGEgZm9yIHRoZSBlZGl0LWl0ZW0tZGlhbG9nLlxuICAgICAqIENhbiBiZSBvbWl0dGVkIHdoZW4gYWRkaW5nIGl0ZW1zIGlubGluZS5cbiAgICAgKi9cbiAgICBlZGl0RGlhbG9nRGF0YT86IEVkaXRBcnJheUl0ZW1EaWFsb2dEYXRhPEVudGl0eVR5cGU+LFxuXG4gICAgLyoqXG4gICAgICogV2hldGhlciBvciBub3QgdGhlIGZvcm0gZm9yIGFkZGluZyBpdGVtcyB0byB0aGUgYXJyYXlcbiAgICAgKiBzaG91bGQgYmUgZGlzcGxheWVkIGlubGluZS5cbiAgICAgKiBAZGVmYXVsdCB0cnVlXG4gICAgICovXG4gICAgY3JlYXRlSW5saW5lPzogYm9vbGVhbixcblxuICAgIC8qKlxuICAgICAqIFRoZSBsYWJlbCBmb3IgdGhlIGFkZCBidXR0b24gd2hlbiBjcmVhdGVJbmxpbmUgaXMgdHJ1ZS5cbiAgICAgKiBAZGVmYXVsdCAnQWRkJ1xuICAgICAqL1xuICAgIGFkZEJ1dHRvbkxhYmVsPzogc3RyaW5nLFxuXG4gICAgLyoqXG4gICAgICogVGhlIGxhYmVsIGZvciB0aGUgcmVtb3ZlIGJ1dHRvbiB3aGVuIGNyZWF0ZUlubGluZSBpcyB0cnVlLlxuICAgICAqIEBkZWZhdWx0ICdSZW1vdmUnXG4gICAgICovXG4gICAgcmVtb3ZlQnV0dG9uTGFiZWw/OiBzdHJpbmcsXG5cbiAgICAvKipcbiAgICAgKiBUaGUgZXJyb3ItbWVzc2FnZSB0byBkaXNwbGF5IHdoZW4gdGhlIGFycmF5IGlzIHJlcXVpcmVkIGJ1dCBjb250YWlucyBubyB2YWx1ZXMuXG4gICAgICovXG4gICAgbWlzc2luZ0Vycm9yTWVzc2FnZT86IHN0cmluZ1xufVxuXG4vKipcbiAqIERlZmluaXRpb24gZm9yIGFuIGFycmF5IG9mIERhdGVzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIERhdGVBcnJheURlY29yYXRvckNvbmZpZyBleHRlbmRzIEFycmF5RGVjb3JhdG9yQ29uZmlnPERhdGVbXT4ge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gICAgaXRlbVR5cGU6IERlY29yYXRvclR5cGVzLkRBVEUsXG5cbiAgICAvKipcbiAgICAgKiBUaGUgZGVmaW5pdGlvbiBvZiB0aGUgY29sdW1ucyB0byBkaXNwbGF5LiBDb25zaXN0cyBvZiB0aGUgZGlzcGxheU5hbWUgdG8gc2hvdyBpbiB0aGUgaGVhZGVyIG9mIHRoZSByb3dcbiAgICAgKiBhbmQgdGhlIHZhbHVlLCB3aGljaCBpcyBhIGZ1bmN0aW9uIHRoYXQgZ2VuZXJhdGVzIHRoZSB2YWx1ZSB0byBkaXNwbGF5IGluc2lkZSBhIGNvbHVtbi5cbiAgICAgKi9cbiAgICBkaXNwbGF5Q29sdW1uczogRGlzcGxheUNvbHVtbjxEYXRlPltdLFxuXG4gICAgLyoqXG4gICAgICogVGhlIGxhYmVsIGZvciB0aGUgYWRkIGJ1dHRvbi5cbiAgICAgKiBAZGVmYXVsdCAnQWRkJ1xuICAgICAqL1xuICAgIGFkZEJ1dHRvbkxhYmVsPzogc3RyaW5nLFxuXG4gICAgLyoqXG4gICAgICogVGhlIGxhYmVsIGZvciB0aGUgcmVtb3ZlIGJ1dHRvbi5cbiAgICAgKiBAZGVmYXVsdCAnUmVtb3ZlJ1xuICAgICAqL1xuICAgIHJlbW92ZUJ1dHRvbkxhYmVsPzogc3RyaW5nLFxuXG4gICAgLyoqXG4gICAgICogVGhlIGVycm9yLW1lc3NhZ2UgdG8gZGlzcGxheSB3aGVuIHRoZSBhcnJheSBpcyByZXF1aXJlZCBidXQgY29udGFpbnMgbm8gdmFsdWVzLlxuICAgICAqL1xuICAgIG1pc3NpbmdFcnJvck1lc3NhZ2U/OiBzdHJpbmcsXG5cbiAgICAvKipcbiAgICAgKiBBIGZ1bmN0aW9uIHRvIGdldCB0aGUgbWluaW11bSB2YWx1ZSBvZiB0aGUgZGF0ZS5cbiAgICAgKi9cbiAgICBtaW4/OiAoZGF0ZT86IERhdGUpID0+IERhdGUsXG5cbiAgICAvKipcbiAgICAgKiBBIGZ1bmN0aW9uIHRvIGdldCB0aGUgbWF4aW11bSB2YWx1ZSBvZiB0aGUgZGF0ZS5cbiAgICAgKi9cbiAgICBtYXg/OiAoZGF0ZT86IERhdGUpID0+IERhdGUsXG5cbiAgICAvKipcbiAgICAgKiBBIGZpbHRlciBmdW5jdGlvbiB0byBkbyBtb3JlIHNwZWNpZmljIGZpbHRlcmluZy4gVGhpcyBjb3VsZCBiZSB0aGUgcmVtb3ZhbCBvZiBlLmcuIEFsbCB3ZWVrZW5kcy5cbiAgICAgKi9cbiAgICBmaWx0ZXI/OiBEYXRlRmlsdGVyRm48RGF0ZSB8IG51bGwgfCB1bmRlZmluZWQ+XG59XG5cbi8qKlxuICogRGVmaW5pdGlvbiBmb3IgYW4gYXJyYXkgb2YgRGF0ZVRpbWVzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIERhdGVUaW1lQXJyYXlEZWNvcmF0b3JDb25maWcgZXh0ZW5kcyBBcnJheURlY29yYXRvckNvbmZpZzxEYXRlW10+IHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIGl0ZW1UeXBlOiBEZWNvcmF0b3JUeXBlcy5EQVRFX1RJTUUsXG5cbiAgICAvKipcbiAgICAgKiBUaGUgZGVmaW5pdGlvbiBvZiB0aGUgY29sdW1ucyB0byBkaXNwbGF5LiBDb25zaXN0cyBvZiB0aGUgZGlzcGxheU5hbWUgdG8gc2hvdyBpbiB0aGUgaGVhZGVyIG9mIHRoZSByb3dcbiAgICAgKiBhbmQgdGhlIHZhbHVlLCB3aGljaCBpcyBhIGZ1bmN0aW9uIHRoYXQgZ2VuZXJhdGVzIHRoZSB2YWx1ZSB0byBkaXNwbGF5IGluc2lkZSBhIGNvbHVtbi5cbiAgICAgKi9cbiAgICBkaXNwbGF5Q29sdW1uczogRGlzcGxheUNvbHVtbjxEYXRlPltdLFxuXG4gICAgLyoqXG4gICAgICogVGhlIGxhYmVsIGZvciB0aGUgYWRkIGJ1dHRvbi5cbiAgICAgKiBAZGVmYXVsdCAnQWRkJ1xuICAgICAqL1xuICAgIGFkZEJ1dHRvbkxhYmVsPzogc3RyaW5nLFxuXG4gICAgLyoqXG4gICAgICogVGhlIGxhYmVsIGZvciB0aGUgcmVtb3ZlIGJ1dHRvbi5cbiAgICAgKiBAZGVmYXVsdCAnUmVtb3ZlJ1xuICAgICAqL1xuICAgIHJlbW92ZUJ1dHRvbkxhYmVsPzogc3RyaW5nLFxuXG4gICAgLyoqXG4gICAgICogVGhlIGVycm9yLW1lc3NhZ2UgdG8gZGlzcGxheSB3aGVuIHRoZSBhcnJheSBpcyByZXF1aXJlZCBidXQgY29udGFpbnMgbm8gdmFsdWVzLlxuICAgICAqL1xuICAgIG1pc3NpbmdFcnJvck1lc3NhZ2U/OiBzdHJpbmcsXG5cbiAgICAvKipcbiAgICAgKiBUaGUgc2VsZWN0YWJsZSB0aW1lcy5cbiAgICAgKi9cbiAgICB0aW1lcz86IERyb3Bkb3duVmFsdWU8VGltZT5bXSxcblxuICAgIC8qKlxuICAgICAqIFRoZSBuYW1lIHRvIHVzZSBhcyBhIGxhYmVsIGZvciB0aGUgdGltZSBmb3JtIGZpZWxkLlxuICAgICAqIEBkZWZhdWx0ICdUaW1lJ1xuICAgICAqL1xuICAgIHRpbWVEaXNwbGF5TmFtZT86IHN0cmluZyxcblxuICAgIC8qKlxuICAgICAqIEEgZnVuY3Rpb24gdG8gZ2V0IHRoZSBtaW5pbXVtIHZhbHVlIG9mIHRoZSBkYXRlLlxuICAgICAqL1xuICAgIG1pbkRhdGU/OiAoZGF0ZT86IERhdGUpID0+IERhdGUsXG5cbiAgICAvKipcbiAgICAgKiBBIGZ1bmN0aW9uIHRvIGdldCB0aGUgbWF4aW11bSB2YWx1ZSBvZiB0aGUgZGF0ZS5cbiAgICAgKi9cbiAgICBtYXhEYXRlPzogKGRhdGU/OiBEYXRlKSA9PiBEYXRlLFxuXG4gICAgLyoqXG4gICAgICogQSBmaWx0ZXIgZnVuY3Rpb24gdG8gZG8gbW9yZSBzcGVjaWZpYyBkYXRlIGZpbHRlcmluZy4gVGhpcyBjb3VsZCBiZSB0aGUgcmVtb3ZhbCBvZiBlLmcuIEFsbCB3ZWVrZW5kcy5cbiAgICAgKi9cbiAgICBmaWx0ZXJEYXRlPzogRGF0ZUZpbHRlckZuPERhdGUgfCBudWxsIHwgdW5kZWZpbmVkPixcblxuICAgIC8qKlxuICAgICAqIEEgZnVuY3Rpb24gdG8gZ2V0IHRoZSBtaW5pbXVtIHZhbHVlIG9mIHRoZSB0aW1lLlxuICAgICAqL1xuICAgIG1pblRpbWU/OiAoZGF0ZT86IERhdGUpID0+IFRpbWUsXG5cbiAgICAvKipcbiAgICAgKiBBIGZ1bmN0aW9uIHRvIGdldCB0aGUgbWF4aW11bSB2YWx1ZSBvZiB0aGUgdGltZS5cbiAgICAgKi9cbiAgICBtYXhUaW1lPzogKGRhdGU/OiBEYXRlKSA9PiBUaW1lLFxuXG4gICAgLyoqXG4gICAgICogQSBmaWx0ZXIgZnVuY3Rpb24gdG8gZG8gbW9yZSBzcGVjaWZpYyB0aW1lIGZpbHRlcmluZy4gVGhpcyBjb3VsZCBiZSBlLmcuIFRoZSByZW1vdmFsIG9mIGx1bmNoIGJyZWFrcy5cbiAgICAgKi9cbiAgICBmaWx0ZXJUaW1lPzogKCh0aW1lOiBUaW1lKSA9PiBib29sZWFuKSB8ICgoKSA9PiBib29sZWFuKVxufVxuXG4vKipcbiAqIERlZmluaXRpb24gZm9yIGFuIGFycmF5IG9mIERhdGVSYW5nZXMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGF0ZVJhbmdlQXJyYXlEZWNvcmF0b3JDb25maWcgZXh0ZW5kcyBBcnJheURlY29yYXRvckNvbmZpZzxEYXRlUmFuZ2VbXT4ge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gICAgaXRlbVR5cGU6IERlY29yYXRvclR5cGVzLkRBVEVfUkFOR0UsXG5cbiAgICAvKipcbiAgICAgKiBUaGUgZGVmaW5pdGlvbiBvZiB0aGUgY29sdW1ucyB0byBkaXNwbGF5LiBDb25zaXN0cyBvZiB0aGUgZGlzcGxheU5hbWUgdG8gc2hvdyBpbiB0aGUgaGVhZGVyIG9mIHRoZSByb3dcbiAgICAgKiBhbmQgdGhlIHZhbHVlLCB3aGljaCBpcyBhIGZ1bmN0aW9uIHRoYXQgZ2VuZXJhdGVzIHRoZSB2YWx1ZSB0byBkaXNwbGF5IGluc2lkZSBhIGNvbHVtbi5cbiAgICAgKi9cbiAgICBkaXNwbGF5Q29sdW1uczogRGlzcGxheUNvbHVtbjxEYXRlUmFuZ2U+W10sXG5cbiAgICAvKipcbiAgICAgKiBUaGUgbGFiZWwgZm9yIHRoZSBhZGQgYnV0dG9uLlxuICAgICAqIEBkZWZhdWx0ICdBZGQnXG4gICAgICovXG4gICAgYWRkQnV0dG9uTGFiZWw/OiBzdHJpbmcsXG5cbiAgICAvKipcbiAgICAgKiBUaGUgbGFiZWwgZm9yIHRoZSByZW1vdmUgYnV0dG9uLlxuICAgICAqIEBkZWZhdWx0ICdSZW1vdmUnXG4gICAgICovXG4gICAgcmVtb3ZlQnV0dG9uTGFiZWw/OiBzdHJpbmcsXG5cbiAgICAvKipcbiAgICAgKiBUaGUgZXJyb3ItbWVzc2FnZSB0byBkaXNwbGF5IHdoZW4gdGhlIGFycmF5IGlzIHJlcXVpcmVkIGJ1dCBjb250YWlucyBubyB2YWx1ZXMuXG4gICAgICovXG4gICAgbWlzc2luZ0Vycm9yTWVzc2FnZT86IHN0cmluZyxcblxuICAgIC8qKlxuICAgICAqIEEgZnVuY3Rpb24gdG8gZ2V0IHRoZSBtaW5pbXVtIHZhbHVlIG9mIHRoZSBzdGFydCBkYXRlLlxuICAgICAqL1xuICAgIG1pblN0YXJ0PzogKGRhdGU/OiBEYXRlKSA9PiBEYXRlLFxuICAgIC8qKlxuICAgICAqIEEgZnVuY3Rpb24gdG8gZ2V0IHRoZSBtYXhpbXVtIHZhbHVlIG9mIHRoZSBzdGFydCBkYXRlLlxuICAgICAqL1xuICAgIG1heFN0YXJ0PzogKGRhdGU/OiBEYXRlKSA9PiBEYXRlLFxuICAgIC8qKlxuICAgICAqIEEgZnVuY3Rpb24gdG8gZ2V0IHRoZSBtaW5pbXVtIHZhbHVlIG9mIHRoZSBlbmQgZGF0ZS5cbiAgICAgKi9cbiAgICBtaW5FbmQ/OiAoZGF0ZT86IERhdGUpID0+IERhdGUsXG4gICAgLyoqXG4gICAgICogQSBmdW5jdGlvbiB0byBnZXQgdGhlIG1heGltdW0gdmFsdWUgb2YgdGhlIGVuZCBkYXRlLlxuICAgICAqL1xuICAgIG1heEVuZD86IChkYXRlPzogRGF0ZSkgPT4gRGF0ZSxcbiAgICAvKipcbiAgICAgKiBBIGZpbHRlciBmdW5jdGlvbiB0byBkbyBtb3JlIHNwZWNpZmljIGZpbHRlcmluZyBvbiB0aGUgZGlzYWxsb3dlZCBlbmQgZGF0ZSB2YWx1ZXMuIFRoaXMgY291bGQgYmUgdGhlIHJlbW92YWwgb2YgZS5nLiBBbGwgd2Vla2VuZHMuXG4gICAgICovXG4gICAgZmlsdGVyPzogRGF0ZUZpbHRlckZuPERhdGU+LFxuICAgIC8qKlxuICAgICAqIFRoZSBwbGFjZWhvbGRlciBmb3IgdGhlIHN0YXJ0IGRhdGUgb2YgdGhlIGRhdGUgcmFuZ2UgcGlja2VyLlxuICAgICAqIEBkZWZhdWx0IFwiU3RhcnRcIlxuICAgICAqL1xuICAgIHBsYWNlaG9sZGVyU3RhcnQ/OiBzdHJpbmcsXG4gICAgLyoqXG4gICAgICogVGhlIHBsYWNlaG9sZGVyIGZvciB0aGUgZW5kIGRhdGUgb2YgdGhlIGRhdGUgcmFuZ2UgcGlja2VyLlxuICAgICAqIEBkZWZhdWx0IFwiRW5kXCJcbiAgICAgKi9cbiAgICBwbGFjZWhvbGRlckVuZD86IHN0cmluZ1xufVxuXG4vKipcbiAqIERlZmluaXRpb24gZm9yIGFuIGFycmF5IG9mIHN0cmluZ3MgZGlzcGxheWVkIGFzIGEgY2hpcHMgbGlzdC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTdHJpbmdDaGlwc0FycmF5RGVjb3JhdG9yQ29uZmlnIGV4dGVuZHMgQXJyYXlEZWNvcmF0b3JDb25maWc8c3RyaW5nW10+IHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIGl0ZW1UeXBlOiBEZWNvcmF0b3JUeXBlcy5TVFJJTkcsXG5cbiAgICAvKipcbiAgICAgKiBUaGUgY2xhc3MgZm9yIHRoZSA8aT4gdGFnIHVzZWQgdG8gcmVtb3ZlIGFuIGVudHJ5IGZyb20gdGhlIGFycmF5LlxuICAgICAqIEBkZWZhdWx0ICdmYXMgZmEtY2lyY2xlLW1pbnVzJ1xuICAgICAqL1xuICAgIGRlbGV0ZUljb24/OiBzdHJpbmcsXG4gICAgLyoqXG4gICAgICogVGhlIG1pbmltdW0gcmVxdWlyZWQgbGVuZ3RoIG9mIHRoZSBzdHJpbmcuXG4gICAgICovXG4gICAgbWluTGVuZ3RoPzogbnVtYmVyLFxuICAgIC8qKlxuICAgICAqIFRoZSBtYXhpbXVtIHJlcXVpcmVkIGxlbmd0aCBvZiB0aGUgc3RyaW5nLlxuICAgICAqL1xuICAgIG1heExlbmd0aD86IG51bWJlcixcbiAgICAvKipcbiAgICAgKiBBIHJlZ2V4IHVzZWQgZm9yIHZhbGlkYXRpb24uXG4gICAgICovXG4gICAgcmVnZXg/OiBSZWdFeHBcbn1cblxuLyoqXG4gKiBEZWZpbml0aW9uIGZvciBhbiBhcnJheSBvZiBhdXRvY29tcGxldGUgc3RyaW5ncyBkaXNwbGF5ZWQgYXMgYSBjaGlwcyBsaXN0LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEF1dG9jb21wbGV0ZVN0cmluZ0NoaXBzQXJyYXlEZWNvcmF0b3JDb25maWcgZXh0ZW5kcyBBcnJheURlY29yYXRvckNvbmZpZzxzdHJpbmdbXT4ge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gICAgaXRlbVR5cGU6IERlY29yYXRvclR5cGVzLlNUUklOR19BVVRPQ09NUExFVEUsXG5cbiAgICAvKipcbiAgICAgKiBUaGUgY2xhc3MgZm9yIHRoZSA8aT4gdGFnIHVzZWQgdG8gcmVtb3ZlIGFuIGVudHJ5IGZyb20gdGhlIGFycmF5LlxuICAgICAqIEBkZWZhdWx0ICdmYXMgZmEtY2lyY2xlLW1pbnVzJ1xuICAgICAqL1xuICAgIGRlbGV0ZUljb24/OiBzdHJpbmcsXG4gICAgLyoqXG4gICAgICogVGhlIGF1dG9jb21wbGV0ZSB2YWx1ZXMuXG4gICAgICovXG4gICAgYXV0b2NvbXBsZXRlVmFsdWVzOiBTdHJpbmdBdXRvY29tcGxldGVWYWx1ZXMsXG4gICAgLyoqXG4gICAgICogVGhlIG1pbmltdW0gcmVxdWlyZWQgbGVuZ3RoIG9mIHRoZSBzdHJpbmcuXG4gICAgICovXG4gICAgbWluTGVuZ3RoPzogbnVtYmVyLFxuICAgIC8qKlxuICAgICAqIFRoZSBtYXhpbXVtIHJlcXVpcmVkIGxlbmd0aCBvZiB0aGUgc3RyaW5nLlxuICAgICAqL1xuICAgIG1heExlbmd0aD86IG51bWJlcixcbiAgICAvKipcbiAgICAgKiBBIHJlZ2V4IHVzZWQgZm9yIHZhbGlkYXRpb24uXG4gICAgICovXG4gICAgcmVnZXg/OiBSZWdFeHAsXG4gICAgLyoqXG4gICAgICogV2hldGhlciBvciBub3QgdmFsaWQgaW5wdXRzIHNob3VsZCBiZSByZXN0cmljdGVkIHRvIHRoZSBhdXRvY29tcGxldGUgb3B0aW9ucy5cbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqL1xuICAgIHJlc3RyaWN0VG9PcHRpb25zPzogYm9vbGVhblxufSJdfQ==
20
+ /**
21
+ * Base definition for the @array table metadata.
22
+ */
23
+ class ArrayTableDecoratorConfig extends ArrayDecoratorConfig {
24
+ /**
25
+ * The definition of the columns to display. Consists of the displayName to show in the header of the row
26
+ * and the value, which is a function that generates the value to display inside a column.
27
+ */
28
+ displayColumns;
29
+ /**
30
+ * Configuration for css classes that should be applied to table rows based on a condition.
31
+ * This could be used to eg. Set the background color to green when an item has the status completed etc.
32
+ * INFO: You need to use ng-deep or apply the styling in the styles.scss.
33
+ * @default () => []
34
+ */
35
+ dynamicRowStyleClasses;
36
+ /**
37
+ * The error-message to display when the array is required but contains no values.
38
+ */
39
+ missingErrorMessage;
40
+ /**
41
+ * The label for the add button.
42
+ * @default 'Add'
43
+ */
44
+ addButtonLabel;
45
+ /**
46
+ * The label for the remove button.
47
+ * @default 'Remove'
48
+ */
49
+ removeButtonLabel;
50
+ }
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJyYXktZGVjb3JhdG9yLmRhdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbWF0ZXJpYWwtZW50aXR5L3NyYy9kZWNvcmF0b3JzL2FycmF5L2FycmF5LWRlY29yYXRvci5kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVNBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBSTFFOztHQUVHO0FBQ0gsTUFBTSxPQUFnQixvQkFBZ0MsU0FBUSx1QkFBa0M7SUFDNUY7O09BRUc7SUFDSCxRQUFRLENBQWtCO0lBRTFCOzs7T0FHRztJQUNILGVBQWUsQ0FBVztJQUUxQjs7T0FFRztJQUNILHFCQUFxQixDQUFxQjtDQUM3QztBQUVEOztHQUVHO0FBQ0gsTUFBZSx5QkFBcUMsU0FBUSxvQkFBaUM7SUFDekY7OztPQUdHO0lBQ0gsY0FBYyxDQUE4QjtJQUU1Qzs7Ozs7T0FLRztJQUNILHNCQUFzQixDQUFrQztJQUV4RDs7T0FFRztJQUNILG1CQUFtQixDQUFVO0lBRTdCOzs7T0FHRztJQUNILGNBQWMsQ0FBVTtJQUV4Qjs7O09BR0c7SUFDSCxpQkFBaUIsQ0FBVTtDQUM5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERhdGVGaWx0ZXJGbiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RhdGVwaWNrZXInO1xuaW1wb3J0IHsgSWNvbkRlZmluaXRpb24gfSBmcm9tICdAZm9ydGF3ZXNvbWUvYW5ndWxhci1mb250YXdlc29tZSc7XG5cbmltcG9ydCB7IEJhc2VFbnRpdHlUeXBlLCBFbnRpdHlDbGFzc05ld2FibGUgfSBmcm9tICcuLi8uLi9jbGFzc2VzL2VudGl0eS5tb2RlbCc7XG5pbXBvcnQgeyBDb25maXJtRGlhbG9nRGF0YSB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvY29uZmlybS1kaWFsb2cvY29uZmlybS1kaWFsb2ctZGF0YSc7XG5pbXBvcnQgeyBDcmVhdGVEYXRhLCBEaXNwbGF5Q29sdW1uLCBEeW5hbWljU3R5bGVDbGFzc2VzIH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy90YWJsZS90YWJsZS1kYXRhJztcbmltcG9ydCB7IFRpbWUgfSBmcm9tICcuLi8uLi91dGlsaXRpZXMvZGF0ZS51dGlsaXRpZXMnO1xuaW1wb3J0IHsgRGVjb3JhdG9yVHlwZXMgfSBmcm9tICcuLi9iYXNlL2RlY29yYXRvci10eXBlcy5lbnVtJztcbmltcG9ydCB7IERyb3Bkb3duVmFsdWUgfSBmcm9tICcuLi9iYXNlL2Ryb3Bkb3duLXZhbHVlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBQcm9wZXJ0eURlY29yYXRvckNvbmZpZyB9IGZyb20gJy4uL2Jhc2UvcHJvcGVydHktZGVjb3JhdG9yLmRhdGEnO1xuaW1wb3J0IHsgRGF0ZVJhbmdlIH0gZnJvbSAnLi4vZGF0ZS9kYXRlLWRlY29yYXRvci5kYXRhJztcbmltcG9ydCB7IFN0cmluZ0F1dG9jb21wbGV0ZVZhbHVlcyB9IGZyb20gJy4uL3N0cmluZy9zdHJpbmctZGVjb3JhdG9yLmRhdGEnO1xuXG4vKipcbiAqIEJhc2UgZGVmaW5pdGlvbiBmb3IgdGhlIEBhcnJheSBtZXRhZGF0YS5cbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFycmF5RGVjb3JhdG9yQ29uZmlnPFZhbHVlVHlwZT4gZXh0ZW5kcyBQcm9wZXJ0eURlY29yYXRvckNvbmZpZzxWYWx1ZVR5cGU+IHtcbiAgICAvKipcbiAgICAgKiBUaGUgdHlwZSBvZiB0aGUgaXRlbXMgaW5zaWRlIHRoZSBhcnJheS5cbiAgICAgKi9cbiAgICBpdGVtVHlwZSE6IERlY29yYXRvclR5cGVzO1xuXG4gICAgLyoqXG4gICAgICogV2hldGhlciBvciBub3QgZHVwbGljYXRlIHZhbHVlcyBhcmUgYWxsb3dlZCBpbnNpZGUgdGhlIGFycmF5LlxuICAgICAqIEBkZWZhdWx0IGZhbHNlXG4gICAgICovXG4gICAgYWxsb3dEdXBsaWNhdGVzPzogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIFRoZSBlcnJvciBkaWFsb2cgdG8gZGlzcGxheSB3aGVuIHRoZSB1c2VyIHRyaWVzIHRvIGFkZCBhIGR1cGxpY2F0ZSBlbnRyeS5cbiAgICAgKi9cbiAgICBkdXBsaWNhdGVzRXJyb3JEaWFsb2c/OiBDb25maXJtRGlhbG9nRGF0YTtcbn1cblxuLyoqXG4gKiBCYXNlIGRlZmluaXRpb24gZm9yIHRoZSBAYXJyYXkgdGFibGUgbWV0YWRhdGEuXG4gKi9cbmFic3RyYWN0IGNsYXNzIEFycmF5VGFibGVEZWNvcmF0b3JDb25maWc8VmFsdWVUeXBlPiBleHRlbmRzIEFycmF5RGVjb3JhdG9yQ29uZmlnPFZhbHVlVHlwZVtdPiB7XG4gICAgLyoqXG4gICAgICogVGhlIGRlZmluaXRpb24gb2YgdGhlIGNvbHVtbnMgdG8gZGlzcGxheS4gQ29uc2lzdHMgb2YgdGhlIGRpc3BsYXlOYW1lIHRvIHNob3cgaW4gdGhlIGhlYWRlciBvZiB0aGUgcm93XG4gICAgICogYW5kIHRoZSB2YWx1ZSwgd2hpY2ggaXMgYSBmdW5jdGlvbiB0aGF0IGdlbmVyYXRlcyB0aGUgdmFsdWUgdG8gZGlzcGxheSBpbnNpZGUgYSBjb2x1bW4uXG4gICAgICovXG4gICAgZGlzcGxheUNvbHVtbnMhOiBEaXNwbGF5Q29sdW1uPFZhbHVlVHlwZT5bXTtcblxuICAgIC8qKlxuICAgICAqIENvbmZpZ3VyYXRpb24gZm9yIGNzcyBjbGFzc2VzIHRoYXQgc2hvdWxkIGJlIGFwcGxpZWQgdG8gdGFibGUgcm93cyBiYXNlZCBvbiBhIGNvbmRpdGlvbi5cbiAgICAgKiBUaGlzIGNvdWxkIGJlIHVzZWQgdG8gZWcuIFNldCB0aGUgYmFja2dyb3VuZCBjb2xvciB0byBncmVlbiB3aGVuIGFuIGl0ZW0gaGFzIHRoZSBzdGF0dXMgY29tcGxldGVkIGV0Yy5cbiAgICAgKiBJTkZPOiBZb3UgbmVlZCB0byB1c2UgbmctZGVlcCBvciBhcHBseSB0aGUgc3R5bGluZyBpbiB0aGUgc3R5bGVzLnNjc3MuXG4gICAgICogQGRlZmF1bHQgKCkgPT4gW11cbiAgICAgKi9cbiAgICBkeW5hbWljUm93U3R5bGVDbGFzc2VzPzogRHluYW1pY1N0eWxlQ2xhc3NlczxWYWx1ZVR5cGU+O1xuXG4gICAgLyoqXG4gICAgICogVGhlIGVycm9yLW1lc3NhZ2UgdG8gZGlzcGxheSB3aGVuIHRoZSBhcnJheSBpcyByZXF1aXJlZCBidXQgY29udGFpbnMgbm8gdmFsdWVzLlxuICAgICAqL1xuICAgIG1pc3NpbmdFcnJvck1lc3NhZ2U/OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgbGFiZWwgZm9yIHRoZSBhZGQgYnV0dG9uLlxuICAgICAqIEBkZWZhdWx0ICdBZGQnXG4gICAgICovXG4gICAgYWRkQnV0dG9uTGFiZWw/OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgbGFiZWwgZm9yIHRoZSByZW1vdmUgYnV0dG9uLlxuICAgICAqIEBkZWZhdWx0ICdSZW1vdmUnXG4gICAgICovXG4gICAgcmVtb3ZlQnV0dG9uTGFiZWw/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogVGhlIGRpYWxvZyBkYXRhIGZvciB0aGUgZW50aXRpZXMgYXJyYXkgZWRpdCBkaWFsb2cuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRWRpdEFycmF5SXRlbURpYWxvZ0RhdGE8RW50aXR5VHlwZSBleHRlbmRzIEJhc2VFbnRpdHlUeXBlPEVudGl0eVR5cGU+PiB7XG4gICAgLyoqXG4gICAgICogVGhlIHRpdGxlIG9mIHRoZSBkZWZhdWx0IGVkaXQtZGlhbG9nLlxuICAgICAqL1xuICAgIHRpdGxlPzogKGVudGl0eTogRW50aXR5VHlwZSkgPT4gc3RyaW5nLFxuICAgIC8qKlxuICAgICAqIFRoZSBsYWJlbCBvbiB0aGUgY29uZmlybS1idXR0b24gb2YgdGhlIGRlZmF1bHQgZWRpdC1kaWFsb2cgb3IgcGFnZS4gRGVmYXVsdHMgdG8gXCJTYXZlXCIuXG4gICAgICovXG4gICAgY29uZmlybUJ1dHRvbkxhYmVsPzogc3RyaW5nLFxuICAgIC8qKlxuICAgICAqIFRoZSBsYWJlbCBvbiB0aGUgY2FuY2VsLWJ1dHRvbiBmb3IgdGhlIGRlZmF1bHQgZWRpdC1kaWFsb2cgb3IgcGFnZS4gRGVmYXVsdHMgdG8gXCJDYW5jZWxcIi5cbiAgICAgKi9cbiAgICBjYW5jZWxCdXR0b25MYWJlbD86IHN0cmluZ1xufVxuXG4vKipcbiAqIERlZmluaXRpb24gZm9yIGFuIGFycmF5IG9mIEVudGl0aWVzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVudGl0eUFycmF5RGVjb3JhdG9yQ29uZmlnPEVudGl0eVR5cGUgZXh0ZW5kcyBCYXNlRW50aXR5VHlwZTxFbnRpdHlUeXBlPj4gZXh0ZW5kcyBBcnJheVRhYmxlRGVjb3JhdG9yQ29uZmlnPEVudGl0eVR5cGU+IHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIGl0ZW1UeXBlOiBEZWNvcmF0b3JUeXBlcy5PQkpFQ1QsXG5cbiAgICAvKipcbiAgICAgKiBUaGUgRW50aXR5Q2xhc3MgdXNlZCBmb3IgZ2VuZXJhdGluZyB0aGUgY3JlYXRlIGlucHV0cy5cbiAgICAgKi9cbiAgICBFbnRpdHlDbGFzczogRW50aXR5Q2xhc3NOZXdhYmxlPEVudGl0eVR5cGU+LFxuXG4gICAgLyoqXG4gICAgICogVGhlIGRhdGEgZm9yIHRoZSBhZGQtaXRlbS1kaWFsb2cuXG4gICAgICogQ2FuIGJlIG9taXR0ZWQgd2hlbiBhZGRpbmcgaXRlbXMgaW5saW5lLlxuICAgICAqL1xuICAgIGNyZWF0ZURpYWxvZ0RhdGE/OiBDcmVhdGVEYXRhLFxuXG4gICAgLyoqXG4gICAgICogVGhlIGRhdGEgZm9yIHRoZSBlZGl0LWl0ZW0tZGlhbG9nLlxuICAgICAqIENhbiBiZSBvbWl0dGVkIHdoZW4gYWRkaW5nIGl0ZW1zIGlubGluZS5cbiAgICAgKi9cbiAgICBlZGl0RGlhbG9nRGF0YT86IEVkaXRBcnJheUl0ZW1EaWFsb2dEYXRhPEVudGl0eVR5cGU+LFxuXG4gICAgLyoqXG4gICAgICogV2hldGhlciBvciBub3QgdGhlIGZvcm0gZm9yIGFkZGluZyBpdGVtcyB0byB0aGUgYXJyYXlcbiAgICAgKiBzaG91bGQgYmUgZGlzcGxheWVkIGlubGluZS5cbiAgICAgKiBAZGVmYXVsdCB0cnVlXG4gICAgICovXG4gICAgY3JlYXRlSW5saW5lPzogYm9vbGVhblxufVxuXG4vKipcbiAqIERlZmluaXRpb24gZm9yIGFuIGFycmF5IG9mIERhdGVzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIERhdGVBcnJheURlY29yYXRvckNvbmZpZyBleHRlbmRzIEFycmF5VGFibGVEZWNvcmF0b3JDb25maWc8RGF0ZT4ge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gICAgaXRlbVR5cGU6IERlY29yYXRvclR5cGVzLkRBVEUsXG5cbiAgICAvKipcbiAgICAgKiBBIGZ1bmN0aW9uIHRvIGdldCB0aGUgbWluaW11bSB2YWx1ZSBvZiB0aGUgZGF0ZS5cbiAgICAgKi9cbiAgICBtaW4/OiAoZGF0ZT86IERhdGUpID0+IERhdGUsXG5cbiAgICAvKipcbiAgICAgKiBBIGZ1bmN0aW9uIHRvIGdldCB0aGUgbWF4aW11bSB2YWx1ZSBvZiB0aGUgZGF0ZS5cbiAgICAgKi9cbiAgICBtYXg/OiAoZGF0ZT86IERhdGUpID0+IERhdGUsXG5cbiAgICAvKipcbiAgICAgKiBBIGZpbHRlciBmdW5jdGlvbiB0byBkbyBtb3JlIHNwZWNpZmljIGZpbHRlcmluZy4gVGhpcyBjb3VsZCBiZSB0aGUgcmVtb3ZhbCBvZiBlLmcuIEFsbCB3ZWVrZW5kcy5cbiAgICAgKi9cbiAgICBmaWx0ZXI/OiBEYXRlRmlsdGVyRm48RGF0ZSB8IG51bGwgfCB1bmRlZmluZWQ+XG59XG5cbi8qKlxuICogRGVmaW5pdGlvbiBmb3IgYW4gYXJyYXkgb2YgRGF0ZVRpbWVzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIERhdGVUaW1lQXJyYXlEZWNvcmF0b3JDb25maWcgZXh0ZW5kcyBBcnJheVRhYmxlRGVjb3JhdG9yQ29uZmlnPERhdGU+IHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIGl0ZW1UeXBlOiBEZWNvcmF0b3JUeXBlcy5EQVRFX1RJTUUsXG5cbiAgICAvKipcbiAgICAgKiBUaGUgc2VsZWN0YWJsZSB0aW1lcy5cbiAgICAgKi9cbiAgICB0aW1lcz86IERyb3Bkb3duVmFsdWU8VGltZT5bXSxcblxuICAgIC8qKlxuICAgICAqIFRoZSBuYW1lIHRvIHVzZSBhcyBhIGxhYmVsIGZvciB0aGUgdGltZSBmb3JtIGZpZWxkLlxuICAgICAqIEBkZWZhdWx0ICdUaW1lJ1xuICAgICAqL1xuICAgIHRpbWVEaXNwbGF5TmFtZT86IHN0cmluZyxcblxuICAgIC8qKlxuICAgICAqIEEgZnVuY3Rpb24gdG8gZ2V0IHRoZSBtaW5pbXVtIHZhbHVlIG9mIHRoZSBkYXRlLlxuICAgICAqL1xuICAgIG1pbkRhdGU/OiAoZGF0ZT86IERhdGUpID0+IERhdGUsXG5cbiAgICAvKipcbiAgICAgKiBBIGZ1bmN0aW9uIHRvIGdldCB0aGUgbWF4aW11bSB2YWx1ZSBvZiB0aGUgZGF0ZS5cbiAgICAgKi9cbiAgICBtYXhEYXRlPzogKGRhdGU/OiBEYXRlKSA9PiBEYXRlLFxuXG4gICAgLyoqXG4gICAgICogQSBmaWx0ZXIgZnVuY3Rpb24gdG8gZG8gbW9yZSBzcGVjaWZpYyBkYXRlIGZpbHRlcmluZy4gVGhpcyBjb3VsZCBiZSB0aGUgcmVtb3ZhbCBvZiBlLmcuIEFsbCB3ZWVrZW5kcy5cbiAgICAgKi9cbiAgICBmaWx0ZXJEYXRlPzogRGF0ZUZpbHRlckZuPERhdGUgfCBudWxsIHwgdW5kZWZpbmVkPixcblxuICAgIC8qKlxuICAgICAqIEEgZnVuY3Rpb24gdG8gZ2V0IHRoZSBtaW5pbXVtIHZhbHVlIG9mIHRoZSB0aW1lLlxuICAgICAqL1xuICAgIG1pblRpbWU/OiAoZGF0ZT86IERhdGUpID0+IFRpbWUsXG5cbiAgICAvKipcbiAgICAgKiBBIGZ1bmN0aW9uIHRvIGdldCB0aGUgbWF4aW11bSB2YWx1ZSBvZiB0aGUgdGltZS5cbiAgICAgKi9cbiAgICBtYXhUaW1lPzogKGRhdGU/OiBEYXRlKSA9PiBUaW1lLFxuXG4gICAgLyoqXG4gICAgICogQSBmaWx0ZXIgZnVuY3Rpb24gdG8gZG8gbW9yZSBzcGVjaWZpYyB0aW1lIGZpbHRlcmluZy4gVGhpcyBjb3VsZCBiZSBlLmcuIFRoZSByZW1vdmFsIG9mIGx1bmNoIGJyZWFrcy5cbiAgICAgKi9cbiAgICBmaWx0ZXJUaW1lPzogKCh0aW1lOiBUaW1lKSA9PiBib29sZWFuKSB8ICgoKSA9PiBib29sZWFuKVxufVxuXG4vKipcbiAqIERlZmluaXRpb24gZm9yIGFuIGFycmF5IG9mIERhdGVSYW5nZXMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGF0ZVJhbmdlQXJyYXlEZWNvcmF0b3JDb25maWcgZXh0ZW5kcyBBcnJheVRhYmxlRGVjb3JhdG9yQ29uZmlnPERhdGVSYW5nZT4ge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gICAgaXRlbVR5cGU6IERlY29yYXRvclR5cGVzLkRBVEVfUkFOR0UsXG5cbiAgICAvKipcbiAgICAgKiBBIGZ1bmN0aW9uIHRvIGdldCB0aGUgbWluaW11bSB2YWx1ZSBvZiB0aGUgc3RhcnQgZGF0ZS5cbiAgICAgKi9cbiAgICBtaW5TdGFydD86IChkYXRlPzogRGF0ZSkgPT4gRGF0ZSxcbiAgICAvKipcbiAgICAgKiBBIGZ1bmN0aW9uIHRvIGdldCB0aGUgbWF4aW11bSB2YWx1ZSBvZiB0aGUgc3RhcnQgZGF0ZS5cbiAgICAgKi9cbiAgICBtYXhTdGFydD86IChkYXRlPzogRGF0ZSkgPT4gRGF0ZSxcbiAgICAvKipcbiAgICAgKiBBIGZ1bmN0aW9uIHRvIGdldCB0aGUgbWluaW11bSB2YWx1ZSBvZiB0aGUgZW5kIGRhdGUuXG4gICAgICovXG4gICAgbWluRW5kPzogKGRhdGU/OiBEYXRlKSA9PiBEYXRlLFxuICAgIC8qKlxuICAgICAqIEEgZnVuY3Rpb24gdG8gZ2V0IHRoZSBtYXhpbXVtIHZhbHVlIG9mIHRoZSBlbmQgZGF0ZS5cbiAgICAgKi9cbiAgICBtYXhFbmQ/OiAoZGF0ZT86IERhdGUpID0+IERhdGUsXG4gICAgLyoqXG4gICAgICogQSBmaWx0ZXIgZnVuY3Rpb24gdG8gZG8gbW9yZSBzcGVjaWZpYyBmaWx0ZXJpbmcgb24gdGhlIGRpc2FsbG93ZWQgZW5kIGRhdGUgdmFsdWVzLiBUaGlzIGNvdWxkIGJlIHRoZSByZW1vdmFsIG9mIGUuZy4gQWxsIHdlZWtlbmRzLlxuICAgICAqL1xuICAgIGZpbHRlcj86IERhdGVGaWx0ZXJGbjxEYXRlPixcbiAgICAvKipcbiAgICAgKiBUaGUgcGxhY2Vob2xkZXIgZm9yIHRoZSBzdGFydCBkYXRlIG9mIHRoZSBkYXRlIHJhbmdlIHBpY2tlci5cbiAgICAgKiBAZGVmYXVsdCBcIlN0YXJ0XCJcbiAgICAgKi9cbiAgICBwbGFjZWhvbGRlclN0YXJ0Pzogc3RyaW5nLFxuICAgIC8qKlxuICAgICAqIFRoZSBwbGFjZWhvbGRlciBmb3IgdGhlIGVuZCBkYXRlIG9mIHRoZSBkYXRlIHJhbmdlIHBpY2tlci5cbiAgICAgKiBAZGVmYXVsdCBcIkVuZFwiXG4gICAgICovXG4gICAgcGxhY2Vob2xkZXJFbmQ/OiBzdHJpbmdcbn1cblxuLyoqXG4gKiBEZWZpbml0aW9uIGZvciBhbiBhcnJheSBvZiBzdHJpbmdzIGRpc3BsYXllZCBhcyBhIGNoaXBzIGxpc3QuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU3RyaW5nQ2hpcHNBcnJheURlY29yYXRvckNvbmZpZyBleHRlbmRzIEFycmF5RGVjb3JhdG9yQ29uZmlnPHN0cmluZ1tdPiB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICBpdGVtVHlwZTogRGVjb3JhdG9yVHlwZXMuU1RSSU5HLFxuXG4gICAgLyoqXG4gICAgICogVGhlIGZvbnQgYXdlc29tZSBpY29uIHVzZWQgdG8gcmVtb3ZlIGFuIGVudHJ5IGZyb20gdGhlIGFycmF5LlxuICAgICAqIEBkZWZhdWx0IGZhQ2lyY2xlTWludXNcbiAgICAgKi9cbiAgICBkZWxldGVJY29uPzogSWNvbkRlZmluaXRpb24sXG4gICAgLyoqXG4gICAgICogVGhlIG1pbmltdW0gcmVxdWlyZWQgbGVuZ3RoIG9mIHRoZSBzdHJpbmcuXG4gICAgICovXG4gICAgbWluTGVuZ3RoPzogbnVtYmVyLFxuICAgIC8qKlxuICAgICAqIFRoZSBtYXhpbXVtIHJlcXVpcmVkIGxlbmd0aCBvZiB0aGUgc3RyaW5nLlxuICAgICAqL1xuICAgIG1heExlbmd0aD86IG51bWJlcixcbiAgICAvKipcbiAgICAgKiBBIHJlZ2V4IHVzZWQgZm9yIHZhbGlkYXRpb24uXG4gICAgICovXG4gICAgcmVnZXg/OiBSZWdFeHBcbn1cblxuLyoqXG4gKiBEZWZpbml0aW9uIGZvciBhbiBhcnJheSBvZiBhdXRvY29tcGxldGUgc3RyaW5ncyBkaXNwbGF5ZWQgYXMgYSBjaGlwcyBsaXN0LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEF1dG9jb21wbGV0ZVN0cmluZ0NoaXBzQXJyYXlEZWNvcmF0b3JDb25maWcgZXh0ZW5kcyBBcnJheURlY29yYXRvckNvbmZpZzxzdHJpbmdbXT4ge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gICAgaXRlbVR5cGU6IERlY29yYXRvclR5cGVzLlNUUklOR19BVVRPQ09NUExFVEUsXG5cbiAgICAvKipcbiAgICAgKiBUaGUgaWNvbiB1c2VkIHRvIHJlbW92ZSBhbiBlbnRyeSBmcm9tIHRoZSBhcnJheS5cbiAgICAgKiBAZGVmYXVsdCBmYUNpcmNsZU1pbnVzXG4gICAgICovXG4gICAgZGVsZXRlSWNvbj86IEljb25EZWZpbml0aW9uLFxuICAgIC8qKlxuICAgICAqIFRoZSBhdXRvY29tcGxldGUgdmFsdWVzLlxuICAgICAqL1xuICAgIGF1dG9jb21wbGV0ZVZhbHVlczogU3RyaW5nQXV0b2NvbXBsZXRlVmFsdWVzLFxuICAgIC8qKlxuICAgICAqIFRoZSBtaW5pbXVtIHJlcXVpcmVkIGxlbmd0aCBvZiB0aGUgc3RyaW5nLlxuICAgICAqL1xuICAgIG1pbkxlbmd0aD86IG51bWJlcixcbiAgICAvKipcbiAgICAgKiBUaGUgbWF4aW11bSByZXF1aXJlZCBsZW5ndGggb2YgdGhlIHN0cmluZy5cbiAgICAgKi9cbiAgICBtYXhMZW5ndGg/OiBudW1iZXIsXG4gICAgLyoqXG4gICAgICogQSByZWdleCB1c2VkIGZvciB2YWxpZGF0aW9uLlxuICAgICAqL1xuICAgIHJlZ2V4PzogUmVnRXhwLFxuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgb3Igbm90IHZhbGlkIGlucHV0cyBzaG91bGQgYmUgcmVzdHJpY3RlZCB0byB0aGUgYXV0b2NvbXBsZXRlIG9wdGlvbnMuXG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKi9cbiAgICByZXN0cmljdFRvT3B0aW9ucz86IGJvb2xlYW5cbn0iXX0=
@@ -10,21 +10,28 @@ import { DecoratorTypes } from '../base/decorator-types.enum';
10
10
  */
11
11
  export function array(metadata) {
12
12
  switch (metadata.itemType) {
13
- case DecoratorTypes.OBJECT:
13
+ case DecoratorTypes.OBJECT: {
14
14
  return baseProperty(new EntityArrayDecoratorConfigInternal(metadata, needsUpdateGlobalDefaults), DecoratorTypes.ARRAY);
15
- case DecoratorTypes.DATE:
15
+ }
16
+ case DecoratorTypes.DATE: {
16
17
  return baseProperty(new DateArrayDecoratorConfigInternal(metadata, needsUpdateGlobalDefaults), DecoratorTypes.ARRAY_DATE);
17
- case DecoratorTypes.DATE_TIME:
18
+ }
19
+ case DecoratorTypes.DATE_TIME: {
18
20
  return baseProperty(new DateTimeArrayDecoratorConfigInternal(metadata, needsUpdateGlobalDefaults), DecoratorTypes.ARRAY_DATE_TIME);
19
- case DecoratorTypes.DATE_RANGE:
21
+ }
22
+ case DecoratorTypes.DATE_RANGE: {
20
23
  return baseProperty(new DateRangeArrayDecoratorConfigInternal(metadata, needsUpdateGlobalDefaults), DecoratorTypes.ARRAY_DATE_RANGE);
21
- case DecoratorTypes.STRING:
24
+ }
25
+ case DecoratorTypes.STRING: {
22
26
  return baseProperty(new StringChipsArrayDecoratorConfigInternal(metadata, needsUpdateGlobalDefaults), DecoratorTypes.ARRAY_STRING_CHIPS);
23
- case DecoratorTypes.STRING_AUTOCOMPLETE:
27
+ }
28
+ case DecoratorTypes.STRING_AUTOCOMPLETE: {
24
29
  return baseProperty(new AutocompleteStringChipsArrayDecoratorConfigInternal(metadata, needsUpdateGlobalDefaults), DecoratorTypes.ARRAY_STRING_AUTOCOMPLETE_CHIPS);
25
- default:
30
+ }
31
+ default: {
26
32
  // eslint-disable-next-line typescript/no-explicit-any, typescript/no-unsafe-member-access
27
33
  throw new Error(`Unknown itemType ${metadata.itemType}`);
34
+ }
28
35
  }
29
36
  }
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJyYXkuZGVjb3JhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW1hdGVyaWFsLWVudGl0eS9zcmMvZGVjb3JhdG9ycy9hcnJheS9hcnJheS5kZWNvcmF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG1EQUFtRCxFQUFFLGdDQUFnQyxFQUFFLHFDQUFxQyxFQUFFLG9DQUFvQyxFQUFFLGtDQUFrQyxFQUFFLHVDQUF1QyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFHbFMsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDdEYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQy9ELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUU5RDs7Ozs7R0FLRztBQUNILE1BQU0sVUFBVSxLQUFLLENBQ2pCLFFBSytCO0lBRS9CLFFBQVEsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3hCLEtBQUssY0FBYyxDQUFDLE1BQU07WUFDdEIsT0FBTyxZQUFZLENBQUMsSUFBSSxrQ0FBa0MsQ0FBQyxRQUFRLEVBQUUseUJBQXlCLENBQUMsRUFBRSxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDM0gsS0FBSyxjQUFjLENBQUMsSUFBSTtZQUNwQixPQUFPLFlBQVksQ0FBQyxJQUFJLGdDQUFnQyxDQUFDLFFBQVEsRUFBRSx5QkFBeUIsQ0FBQyxFQUFFLGNBQWMsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUM5SCxLQUFLLGNBQWMsQ0FBQyxTQUFTO1lBQ3pCLE9BQU8sWUFBWSxDQUNmLElBQUksb0NBQW9DLENBQUMsUUFBUSxFQUFFLHlCQUF5QixDQUFDLEVBQzdFLGNBQWMsQ0FBQyxlQUFlLENBQ2pDLENBQUM7UUFDTixLQUFLLGNBQWMsQ0FBQyxVQUFVO1lBQzFCLE9BQU8sWUFBWSxDQUNmLElBQUkscUNBQXFDLENBQUMsUUFBUSxFQUFFLHlCQUF5QixDQUFDLEVBQzlFLGNBQWMsQ0FBQyxnQkFBZ0IsQ0FDbEMsQ0FBQztRQUNOLEtBQUssY0FBYyxDQUFDLE1BQU07WUFDdEIsT0FBTyxZQUFZLENBQ2YsSUFBSSx1Q0FBdUMsQ0FBQyxRQUFRLEVBQUUseUJBQXlCLENBQUMsRUFDaEYsY0FBYyxDQUFDLGtCQUFrQixDQUNwQyxDQUFDO1FBQ04sS0FBSyxjQUFjLENBQUMsbUJBQW1CO1lBQ25DLE9BQU8sWUFBWSxDQUNmLElBQUksbURBQW1ELENBQUMsUUFBUSxFQUFFLHlCQUF5QixDQUFDLEVBQzVGLGNBQWMsQ0FBQywrQkFBK0IsQ0FDakQsQ0FBQztRQUNOO1lBQ0ksMEZBQTBGO1lBQzFGLE1BQU0sSUFBSSxLQUFLLENBQUMsb0JBQXFCLFFBQWdCLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUMxRSxDQUFDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEF1dG9jb21wbGV0ZVN0cmluZ0NoaXBzQXJyYXlEZWNvcmF0b3JDb25maWdJbnRlcm5hbCwgRGF0ZUFycmF5RGVjb3JhdG9yQ29uZmlnSW50ZXJuYWwsIERhdGVSYW5nZUFycmF5RGVjb3JhdG9yQ29uZmlnSW50ZXJuYWwsIERhdGVUaW1lQXJyYXlEZWNvcmF0b3JDb25maWdJbnRlcm5hbCwgRW50aXR5QXJyYXlEZWNvcmF0b3JDb25maWdJbnRlcm5hbCwgU3RyaW5nQ2hpcHNBcnJheURlY29yYXRvckNvbmZpZ0ludGVybmFsIH0gZnJvbSAnLi9hcnJheS1kZWNvcmF0b3ItaW50ZXJuYWwuZGF0YSc7XG5pbXBvcnQgeyBBdXRvY29tcGxldGVTdHJpbmdDaGlwc0FycmF5RGVjb3JhdG9yQ29uZmlnLCBEYXRlQXJyYXlEZWNvcmF0b3JDb25maWcsIERhdGVSYW5nZUFycmF5RGVjb3JhdG9yQ29uZmlnLCBEYXRlVGltZUFycmF5RGVjb3JhdG9yQ29uZmlnLCBFbnRpdHlBcnJheURlY29yYXRvckNvbmZpZywgU3RyaW5nQ2hpcHNBcnJheURlY29yYXRvckNvbmZpZyB9IGZyb20gJy4vYXJyYXktZGVjb3JhdG9yLmRhdGEnO1xuaW1wb3J0IHsgQmFzZUVudGl0eVR5cGUgfSBmcm9tICcuLi8uLi9jbGFzc2VzL2VudGl0eS5tb2RlbCc7XG5pbXBvcnQgeyBuZWVkc1VwZGF0ZUdsb2JhbERlZmF1bHRzIH0gZnJvbSAnLi4vLi4vZGVmYXVsdC1nbG9iYWwtY29uZmlndXJhdGlvbi12YWx1ZXMnO1xuaW1wb3J0IHsgYmFzZVByb3BlcnR5IH0gZnJvbSAnLi4vYmFzZS9iYXNlLXByb3BlcnR5LmRlY29yYXRvcic7XG5pbXBvcnQgeyBEZWNvcmF0b3JUeXBlcyB9IGZyb20gJy4uL2Jhc2UvZGVjb3JhdG9yLXR5cGVzLmVudW0nO1xuXG4vKipcbiAqIERlY29yYXRvciBmb3Igc2V0dGluZyBhbmQgZ2V0dGluZyBhcnJheSBwcm9wZXJ0eSBtZXRhZGF0YS5cbiAqIEBwYXJhbSBtZXRhZGF0YSAtIFRoZSBtZXRhZGF0YSBvZiB0aGUgYXJyYXkgcHJvcGVydHkuXG4gKiBAcmV0dXJucyBUaGUgbWV0aG9kIHRoYXQgZGVmaW5lcyB0aGUgbWV0YWRhdGEuXG4gKiBAdGhyb3dzIFdoZW4gdGhlIGdpdmVuIHR5cGUgb2YgdGhlIGFycmF5LWl0ZW1zIGlzIHVua25vd24uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhcnJheTxFbnRpdHlUeXBlIGV4dGVuZHMgQmFzZUVudGl0eVR5cGU8RW50aXR5VHlwZT4+KFxuICAgIG1ldGFkYXRhOiBFbnRpdHlBcnJheURlY29yYXRvckNvbmZpZzxFbnRpdHlUeXBlPlxuICAgIHwgU3RyaW5nQ2hpcHNBcnJheURlY29yYXRvckNvbmZpZ1xuICAgIHwgQXV0b2NvbXBsZXRlU3RyaW5nQ2hpcHNBcnJheURlY29yYXRvckNvbmZpZ1xuICAgIHwgRGF0ZUFycmF5RGVjb3JhdG9yQ29uZmlnXG4gICAgfCBEYXRlVGltZUFycmF5RGVjb3JhdG9yQ29uZmlnXG4gICAgfCBEYXRlUmFuZ2VBcnJheURlY29yYXRvckNvbmZpZ1xuKTogKHRhcmdldDogb2JqZWN0LCBwcm9wZXJ0eUtleTogc3RyaW5nKSA9PiB2b2lkIHtcbiAgICBzd2l0Y2ggKG1ldGFkYXRhLml0ZW1UeXBlKSB7XG4gICAgICAgIGNhc2UgRGVjb3JhdG9yVHlwZXMuT0JKRUNUOlxuICAgICAgICAgICAgcmV0dXJuIGJhc2VQcm9wZXJ0eShuZXcgRW50aXR5QXJyYXlEZWNvcmF0b3JDb25maWdJbnRlcm5hbChtZXRhZGF0YSwgbmVlZHNVcGRhdGVHbG9iYWxEZWZhdWx0cyksIERlY29yYXRvclR5cGVzLkFSUkFZKTtcbiAgICAgICAgY2FzZSBEZWNvcmF0b3JUeXBlcy5EQVRFOlxuICAgICAgICAgICAgcmV0dXJuIGJhc2VQcm9wZXJ0eShuZXcgRGF0ZUFycmF5RGVjb3JhdG9yQ29uZmlnSW50ZXJuYWwobWV0YWRhdGEsIG5lZWRzVXBkYXRlR2xvYmFsRGVmYXVsdHMpLCBEZWNvcmF0b3JUeXBlcy5BUlJBWV9EQVRFKTtcbiAgICAgICAgY2FzZSBEZWNvcmF0b3JUeXBlcy5EQVRFX1RJTUU6XG4gICAgICAgICAgICByZXR1cm4gYmFzZVByb3BlcnR5KFxuICAgICAgICAgICAgICAgIG5ldyBEYXRlVGltZUFycmF5RGVjb3JhdG9yQ29uZmlnSW50ZXJuYWwobWV0YWRhdGEsIG5lZWRzVXBkYXRlR2xvYmFsRGVmYXVsdHMpLFxuICAgICAgICAgICAgICAgIERlY29yYXRvclR5cGVzLkFSUkFZX0RBVEVfVElNRVxuICAgICAgICAgICAgKTtcbiAgICAgICAgY2FzZSBEZWNvcmF0b3JUeXBlcy5EQVRFX1JBTkdFOlxuICAgICAgICAgICAgcmV0dXJuIGJhc2VQcm9wZXJ0eShcbiAgICAgICAgICAgICAgICBuZXcgRGF0ZVJhbmdlQXJyYXlEZWNvcmF0b3JDb25maWdJbnRlcm5hbChtZXRhZGF0YSwgbmVlZHNVcGRhdGVHbG9iYWxEZWZhdWx0cyksXG4gICAgICAgICAgICAgICAgRGVjb3JhdG9yVHlwZXMuQVJSQVlfREFURV9SQU5HRVxuICAgICAgICAgICAgKTtcbiAgICAgICAgY2FzZSBEZWNvcmF0b3JUeXBlcy5TVFJJTkc6XG4gICAgICAgICAgICByZXR1cm4gYmFzZVByb3BlcnR5KFxuICAgICAgICAgICAgICAgIG5ldyBTdHJpbmdDaGlwc0FycmF5RGVjb3JhdG9yQ29uZmlnSW50ZXJuYWwobWV0YWRhdGEsIG5lZWRzVXBkYXRlR2xvYmFsRGVmYXVsdHMpLFxuICAgICAgICAgICAgICAgIERlY29yYXRvclR5cGVzLkFSUkFZX1NUUklOR19DSElQU1xuICAgICAgICAgICAgKTtcbiAgICAgICAgY2FzZSBEZWNvcmF0b3JUeXBlcy5TVFJJTkdfQVVUT0NPTVBMRVRFOlxuICAgICAgICAgICAgcmV0dXJuIGJhc2VQcm9wZXJ0eShcbiAgICAgICAgICAgICAgICBuZXcgQXV0b2NvbXBsZXRlU3RyaW5nQ2hpcHNBcnJheURlY29yYXRvckNvbmZpZ0ludGVybmFsKG1ldGFkYXRhLCBuZWVkc1VwZGF0ZUdsb2JhbERlZmF1bHRzKSxcbiAgICAgICAgICAgICAgICBEZWNvcmF0b3JUeXBlcy5BUlJBWV9TVFJJTkdfQVVUT0NPTVBMRVRFX0NISVBTXG4gICAgICAgICAgICApO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHR5cGVzY3JpcHQvbm8tZXhwbGljaXQtYW55LCB0eXBlc2NyaXB0L25vLXVuc2FmZS1tZW1iZXItYWNjZXNzXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFVua25vd24gaXRlbVR5cGUgJHsobWV0YWRhdGEgYXMgYW55KS5pdGVtVHlwZX1gKTtcbiAgICB9XG59Il19
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJyYXkuZGVjb3JhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW1hdGVyaWFsLWVudGl0eS9zcmMvZGVjb3JhdG9ycy9hcnJheS9hcnJheS5kZWNvcmF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG1EQUFtRCxFQUFFLGdDQUFnQyxFQUFFLHFDQUFxQyxFQUFFLG9DQUFvQyxFQUFFLGtDQUFrQyxFQUFFLHVDQUF1QyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFHbFMsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDdEYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQy9ELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUU5RDs7Ozs7R0FLRztBQUNILE1BQU0sVUFBVSxLQUFLLENBQ2pCLFFBS21DO0lBRW5DLFFBQVEsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3hCLEtBQUssY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7WUFDekIsT0FBTyxZQUFZLENBQUMsSUFBSSxrQ0FBa0MsQ0FBQyxRQUFRLEVBQUUseUJBQXlCLENBQUMsRUFBRSxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDM0gsQ0FBQztRQUNELEtBQUssY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDdkIsT0FBTyxZQUFZLENBQUMsSUFBSSxnQ0FBZ0MsQ0FBQyxRQUFRLEVBQUUseUJBQXlCLENBQUMsRUFBRSxjQUFjLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDOUgsQ0FBQztRQUNELEtBQUssY0FBYyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7WUFDNUIsT0FBTyxZQUFZLENBQ2YsSUFBSSxvQ0FBb0MsQ0FBQyxRQUFRLEVBQUUseUJBQXlCLENBQUMsRUFDN0UsY0FBYyxDQUFDLGVBQWUsQ0FDakMsQ0FBQztRQUNOLENBQUM7UUFDRCxLQUFLLGNBQWMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1lBQzdCLE9BQU8sWUFBWSxDQUNmLElBQUkscUNBQXFDLENBQUMsUUFBUSxFQUFFLHlCQUF5QixDQUFDLEVBQzlFLGNBQWMsQ0FBQyxnQkFBZ0IsQ0FDbEMsQ0FBQztRQUNOLENBQUM7UUFDRCxLQUFLLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1lBQ3pCLE9BQU8sWUFBWSxDQUNmLElBQUksdUNBQXVDLENBQUMsUUFBUSxFQUFFLHlCQUF5QixDQUFDLEVBQ2hGLGNBQWMsQ0FBQyxrQkFBa0IsQ0FDcEMsQ0FBQztRQUNOLENBQUM7UUFDRCxLQUFLLGNBQWMsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUM7WUFDdEMsT0FBTyxZQUFZLENBQ2YsSUFBSSxtREFBbUQsQ0FBQyxRQUFRLEVBQUUseUJBQXlCLENBQUMsRUFDNUYsY0FBYyxDQUFDLCtCQUErQixDQUNqRCxDQUFDO1FBQ04sQ0FBQztRQUNELE9BQU8sQ0FBQyxDQUFDLENBQUM7WUFDTiwwRkFBMEY7WUFDMUYsTUFBTSxJQUFJLEtBQUssQ0FBQyxvQkFBcUIsUUFBZ0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQ3RFLENBQUM7SUFDTCxDQUFDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEF1dG9jb21wbGV0ZVN0cmluZ0NoaXBzQXJyYXlEZWNvcmF0b3JDb25maWdJbnRlcm5hbCwgRGF0ZUFycmF5RGVjb3JhdG9yQ29uZmlnSW50ZXJuYWwsIERhdGVSYW5nZUFycmF5RGVjb3JhdG9yQ29uZmlnSW50ZXJuYWwsIERhdGVUaW1lQXJyYXlEZWNvcmF0b3JDb25maWdJbnRlcm5hbCwgRW50aXR5QXJyYXlEZWNvcmF0b3JDb25maWdJbnRlcm5hbCwgU3RyaW5nQ2hpcHNBcnJheURlY29yYXRvckNvbmZpZ0ludGVybmFsIH0gZnJvbSAnLi9hcnJheS1kZWNvcmF0b3ItaW50ZXJuYWwuZGF0YSc7XG5pbXBvcnQgeyBBdXRvY29tcGxldGVTdHJpbmdDaGlwc0FycmF5RGVjb3JhdG9yQ29uZmlnLCBEYXRlQXJyYXlEZWNvcmF0b3JDb25maWcsIERhdGVSYW5nZUFycmF5RGVjb3JhdG9yQ29uZmlnLCBEYXRlVGltZUFycmF5RGVjb3JhdG9yQ29uZmlnLCBFbnRpdHlBcnJheURlY29yYXRvckNvbmZpZywgU3RyaW5nQ2hpcHNBcnJheURlY29yYXRvckNvbmZpZyB9IGZyb20gJy4vYXJyYXktZGVjb3JhdG9yLmRhdGEnO1xuaW1wb3J0IHsgQmFzZUVudGl0eVR5cGUgfSBmcm9tICcuLi8uLi9jbGFzc2VzL2VudGl0eS5tb2RlbCc7XG5pbXBvcnQgeyBuZWVkc1VwZGF0ZUdsb2JhbERlZmF1bHRzIH0gZnJvbSAnLi4vLi4vZGVmYXVsdC1nbG9iYWwtY29uZmlndXJhdGlvbi12YWx1ZXMnO1xuaW1wb3J0IHsgYmFzZVByb3BlcnR5IH0gZnJvbSAnLi4vYmFzZS9iYXNlLXByb3BlcnR5LmRlY29yYXRvcic7XG5pbXBvcnQgeyBEZWNvcmF0b3JUeXBlcyB9IGZyb20gJy4uL2Jhc2UvZGVjb3JhdG9yLXR5cGVzLmVudW0nO1xuXG4vKipcbiAqIERlY29yYXRvciBmb3Igc2V0dGluZyBhbmQgZ2V0dGluZyBhcnJheSBwcm9wZXJ0eSBtZXRhZGF0YS5cbiAqIEBwYXJhbSBtZXRhZGF0YSAtIFRoZSBtZXRhZGF0YSBvZiB0aGUgYXJyYXkgcHJvcGVydHkuXG4gKiBAcmV0dXJucyBUaGUgbWV0aG9kIHRoYXQgZGVmaW5lcyB0aGUgbWV0YWRhdGEuXG4gKiBAdGhyb3dzIFdoZW4gdGhlIGdpdmVuIHR5cGUgb2YgdGhlIGFycmF5LWl0ZW1zIGlzIHVua25vd24uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhcnJheTxFbnRpdHlUeXBlIGV4dGVuZHMgQmFzZUVudGl0eVR5cGU8RW50aXR5VHlwZT4+KFxuICAgIG1ldGFkYXRhOiBFbnRpdHlBcnJheURlY29yYXRvckNvbmZpZzxFbnRpdHlUeXBlPlxuICAgICAgICB8IFN0cmluZ0NoaXBzQXJyYXlEZWNvcmF0b3JDb25maWdcbiAgICAgICAgfCBBdXRvY29tcGxldGVTdHJpbmdDaGlwc0FycmF5RGVjb3JhdG9yQ29uZmlnXG4gICAgICAgIHwgRGF0ZUFycmF5RGVjb3JhdG9yQ29uZmlnXG4gICAgICAgIHwgRGF0ZVRpbWVBcnJheURlY29yYXRvckNvbmZpZ1xuICAgICAgICB8IERhdGVSYW5nZUFycmF5RGVjb3JhdG9yQ29uZmlnXG4pOiAodGFyZ2V0OiBvYmplY3QsIHByb3BlcnR5S2V5OiBzdHJpbmcpID0+IHZvaWQge1xuICAgIHN3aXRjaCAobWV0YWRhdGEuaXRlbVR5cGUpIHtcbiAgICAgICAgY2FzZSBEZWNvcmF0b3JUeXBlcy5PQkpFQ1Q6IHtcbiAgICAgICAgICAgIHJldHVybiBiYXNlUHJvcGVydHkobmV3IEVudGl0eUFycmF5RGVjb3JhdG9yQ29uZmlnSW50ZXJuYWwobWV0YWRhdGEsIG5lZWRzVXBkYXRlR2xvYmFsRGVmYXVsdHMpLCBEZWNvcmF0b3JUeXBlcy5BUlJBWSk7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSBEZWNvcmF0b3JUeXBlcy5EQVRFOiB7XG4gICAgICAgICAgICByZXR1cm4gYmFzZVByb3BlcnR5KG5ldyBEYXRlQXJyYXlEZWNvcmF0b3JDb25maWdJbnRlcm5hbChtZXRhZGF0YSwgbmVlZHNVcGRhdGVHbG9iYWxEZWZhdWx0cyksIERlY29yYXRvclR5cGVzLkFSUkFZX0RBVEUpO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgRGVjb3JhdG9yVHlwZXMuREFURV9USU1FOiB7XG4gICAgICAgICAgICByZXR1cm4gYmFzZVByb3BlcnR5KFxuICAgICAgICAgICAgICAgIG5ldyBEYXRlVGltZUFycmF5RGVjb3JhdG9yQ29uZmlnSW50ZXJuYWwobWV0YWRhdGEsIG5lZWRzVXBkYXRlR2xvYmFsRGVmYXVsdHMpLFxuICAgICAgICAgICAgICAgIERlY29yYXRvclR5cGVzLkFSUkFZX0RBVEVfVElNRVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICBjYXNlIERlY29yYXRvclR5cGVzLkRBVEVfUkFOR0U6IHtcbiAgICAgICAgICAgIHJldHVybiBiYXNlUHJvcGVydHkoXG4gICAgICAgICAgICAgICAgbmV3IERhdGVSYW5nZUFycmF5RGVjb3JhdG9yQ29uZmlnSW50ZXJuYWwobWV0YWRhdGEsIG5lZWRzVXBkYXRlR2xvYmFsRGVmYXVsdHMpLFxuICAgICAgICAgICAgICAgIERlY29yYXRvclR5cGVzLkFSUkFZX0RBVEVfUkFOR0VcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSBEZWNvcmF0b3JUeXBlcy5TVFJJTkc6IHtcbiAgICAgICAgICAgIHJldHVybiBiYXNlUHJvcGVydHkoXG4gICAgICAgICAgICAgICAgbmV3IFN0cmluZ0NoaXBzQXJyYXlEZWNvcmF0b3JDb25maWdJbnRlcm5hbChtZXRhZGF0YSwgbmVlZHNVcGRhdGVHbG9iYWxEZWZhdWx0cyksXG4gICAgICAgICAgICAgICAgRGVjb3JhdG9yVHlwZXMuQVJSQVlfU1RSSU5HX0NISVBTXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgRGVjb3JhdG9yVHlwZXMuU1RSSU5HX0FVVE9DT01QTEVURToge1xuICAgICAgICAgICAgcmV0dXJuIGJhc2VQcm9wZXJ0eShcbiAgICAgICAgICAgICAgICBuZXcgQXV0b2NvbXBsZXRlU3RyaW5nQ2hpcHNBcnJheURlY29yYXRvckNvbmZpZ0ludGVybmFsKG1ldGFkYXRhLCBuZWVkc1VwZGF0ZUdsb2JhbERlZmF1bHRzKSxcbiAgICAgICAgICAgICAgICBEZWNvcmF0b3JUeXBlcy5BUlJBWV9TVFJJTkdfQVVUT0NPTVBMRVRFX0NISVBTXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSB0eXBlc2NyaXB0L25vLWV4cGxpY2l0LWFueSwgdHlwZXNjcmlwdC9uby11bnNhZmUtbWVtYmVyLWFjY2Vzc1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbmtub3duIGl0ZW1UeXBlICR7KG1ldGFkYXRhIGFzIGFueSkuaXRlbVR5cGV9YCk7XG4gICAgICAgIH1cbiAgICB9XG59Il19
@@ -30,7 +30,7 @@ export class PropertyDecoratorConfig {
30
30
  omitForUpdate;
31
31
  /**
32
32
  * Defines the width of the input property when used inside the default create or edit dialog.
33
- * Has 3 bootstrap values for different breakpoints for simple responsive design.
33
+ * Has 3 values for different breakpoints for simple responsive design based on bootstrap (1-12).
34
34
  * The first value sets the columns for the screen size lg, the second for md and the third for sm.
35
35
  * @default [6, 6, 12]
36
36
  */
@@ -56,4 +56,4 @@ export class PropertyDecoratorConfig {
56
56
  // eslint-disable-next-line typescript/no-explicit-any
57
57
  change;
58
58
  }
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktZGVjb3JhdG9yLmRhdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbWF0ZXJpYWwtZW50aXR5L3NyYy9kZWNvcmF0b3JzL2Jhc2UvcHJvcGVydHktZGVjb3JhdG9yLmRhdGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS0E7O0dBRUc7QUFDSCxNQUFNLE9BQWdCLHVCQUF1QjtJQUN6Qzs7O09BR0c7SUFDSCxzREFBc0Q7SUFDdEQsT0FBTyxDQUF3QztJQUMvQzs7T0FFRztJQUNILFdBQVcsQ0FBVTtJQUNyQjs7O09BR0c7SUFDSCxzREFBc0Q7SUFDdEQsUUFBUSxDQUF3QztJQUNoRDs7O09BR0c7SUFDSCxhQUFhLENBQVc7SUFDeEI7OztPQUdHO0lBQ0gsYUFBYSxDQUFXO0lBQ3hCOzs7OztPQUtHO0lBQ0gsYUFBYSxDQUFtQjtJQUNoQzs7O09BR0c7SUFDSCxRQUFRLENBQVk7SUFDcEI7OztPQUdHO0lBQ0gsc0RBQXNEO0lBQ3RELFVBQVUsQ0FBd0M7SUFDbEQ7O09BRUc7SUFDSCxPQUFPLENBQWlDO0lBQ3hDOztPQUVHO0lBQ0gsc0RBQXNEO0lBQ3RELE1BQU0sQ0FBeUI7Q0FDbEMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEEgYm9vdHN0cmFwIGNvbHVtbiB2YWx1ZSAoYSByYW5nZSBmcm9tIDEgLSAxMikuXG4gKi9cbmV4cG9ydCB0eXBlIENvbCA9IDEgfCAyIHwgMyB8IDQgfCA1IHwgNiB8IDcgfCA4IHwgOSB8IDEwIHwgMTEgfCAxMjtcblxuLyoqXG4gKiBUaGUgYmFzZSBvcHRpb25zIGZvciBhbGwgcHJvcGVydHlEZWNvcmF0b3JzLlxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgUHJvcGVydHlEZWNvcmF0b3JDb25maWc8VmFsdWVUeXBlPiB7XG4gICAgLyoqXG4gICAgICogV2hldGhlciBvciBub3QgdGhlIFByb3BlcnR5IGlzIGRpc3BsYXllZCBhdCBhbGwuXG4gICAgICogQGRlZmF1bHQgdHJ1ZVxuICAgICAqL1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSB0eXBlc2NyaXB0L25vLWV4cGxpY2l0LWFueVxuICAgIGRpc3BsYXk/OiBib29sZWFuIHwgKChlbnRpdHk6IGFueSkgPT4gYm9vbGVhbik7XG4gICAgLyoqXG4gICAgICogVGhlIG5hbWUgb2YgdGhlIHByb3BlcnR5IHVzZWQgYXMgYSBsYWJlbCBmb3IgZm9ybSBmaWVsZHMuXG4gICAgICovXG4gICAgZGlzcGxheU5hbWUhOiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogV2hldGhlciBvciBub3QgdGhlIFByb3BlcnR5IGlzIHJlcXVpcmVkLlxuICAgICAqIEBkZWZhdWx0IHRydWVcbiAgICAgKi9cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgdHlwZXNjcmlwdC9uby1leHBsaWNpdC1hbnlcbiAgICByZXF1aXJlZD86IGJvb2xlYW4gfCAoKGVudGl0eTogYW55KSA9PiBib29sZWFuKTtcbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIG9yIG5vdCB0aGUgcHJvcGVydHkgZ2V0cyBvbWl0dGVkIHdoZW4gY3JlYXRpbmcgbmV3IEVudGl0aWVzLlxuICAgICAqIEBkZWZhdWx0IGZhbHNlXG4gICAgICovXG4gICAgb21pdEZvckNyZWF0ZT86IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogV2hldGhlciBvciBub3QgdGhlIHByb3BlcnR5IGdldHMgb21pdHRlZCB3aGVuIHVwZGF0aW5nIEVudGl0aWVzLlxuICAgICAqIEBkZWZhdWx0IGZhbHNlXG4gICAgICovXG4gICAgb21pdEZvclVwZGF0ZT86IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogRGVmaW5lcyB0aGUgd2lkdGggb2YgdGhlIGlucHV0IHByb3BlcnR5IHdoZW4gdXNlZCBpbnNpZGUgdGhlIGRlZmF1bHQgY3JlYXRlIG9yIGVkaXQgZGlhbG9nLlxuICAgICAqIEhhcyAzIGJvb3RzdHJhcCB2YWx1ZXMgZm9yIGRpZmZlcmVudCBicmVha3BvaW50cyBmb3Igc2ltcGxlIHJlc3BvbnNpdmUgZGVzaWduLlxuICAgICAqIFRoZSBmaXJzdCB2YWx1ZSBzZXRzIHRoZSBjb2x1bW5zIGZvciB0aGUgc2NyZWVuIHNpemUgbGcsIHRoZSBzZWNvbmQgZm9yIG1kIGFuZCB0aGUgdGhpcmQgZm9yIHNtLlxuICAgICAqIEBkZWZhdWx0IFs2LCA2LCAxMl1cbiAgICAgKi9cbiAgICBkZWZhdWx0V2lkdGhzPzogW0NvbCwgQ29sLCBDb2xdO1xuICAgIC8qKlxuICAgICAqIFNwZWNpZmllcyB0aGUgaG93IHRvIHBvc2l0aW9uIHRoaXMgcHJvcGVydHkgd2hlbiB1c2luZyBkZWZhdWx0IGNyZWF0ZS9lZGl0IGRpYWxvZ3MuXG4gICAgICogQGRlZmF1bHQgeyByb3c6IC0xLCAgb3JkZXI6IC0xfSAoQWRkcyB0aGUgcHJvcGVydHkgYXQgdGhlIGVuZClcbiAgICAgKi9cbiAgICBwb3NpdGlvbj86IFBvc2l0aW9uO1xuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgb3Igbm90IHRoaXMgcHJvcGVydHkgaXMgcmVhZG9ubHkuXG4gICAgICogQ2FuIGVpdGhlciBiZSBhIGJvb2xlYW4gb3IgYSBmdW5jdGlvbiByZXR1cm5pbmcgYSBib29sZWFuLlxuICAgICAqL1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSB0eXBlc2NyaXB0L25vLWV4cGxpY2l0LWFueVxuICAgIGlzUmVhZE9ubHk/OiBib29sZWFuIHwgKChlbnRpdHk6IGFueSkgPT4gYm9vbGVhbik7XG4gICAgLyoqXG4gICAgICogVGhlIHZhbHVlIHRoYXQgdGhlIHByb3BlcnR5IHNob3VsZCBiZSBwcmVmaWxsZWQgd2l0aC4gT25seSBhY3RpdmUgaW4gY3JlYXRlIG1vZGUuXG4gICAgICovXG4gICAgZGVmYXVsdD86IFZhbHVlVHlwZSB8ICgoKSA9PiBWYWx1ZVR5cGUpO1xuICAgIC8qKlxuICAgICAqIEEgZnVuY3Rpb24gdGhhdCBydW5zIGp1c3QgYmVmb3JlIHRoZSBpbnB1dENoYW5nZUV2ZW50IGV2ZXJ5IHRpbWUgdGhlIHByb3BlcnR5IGlzIGNoYW5nZWQuXG4gICAgICovXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHR5cGVzY3JpcHQvbm8tZXhwbGljaXQtYW55XG4gICAgY2hhbmdlPzogKGVudGl0eTogYW55KSA9PiB2b2lkO1xufVxuXG4vKipcbiAqIFRoZSBvcHRpb25zIGZvciBwb3NpdGlvbmluZyBhIHByb3BlcnR5IHdoZW4gdXNpbmcgZGVmYXVsdCBjcmVhdGUvZWRpdCBkaWFsb2dzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBvc2l0aW9uIHtcbiAgICAvKipcbiAgICAgKiBTcGVjaWZpZXMgYSB0YWIgaW4gd2hpY2ggdGhpcyBwcm9wZXJ0eSBpcyBkaXNwbGF5ZWQuXG4gICAgICogSWYgbm8gcHJvcGVydHkgaGFzIHRoZSB0YWIgbWV0YWRhdGEgc3BlY2lmaWVkIG5vIHRhYnMgYXJlIGRpc3BsYXllZC5cbiAgICAgKiBPcmRlcmluZyBpcyBhc2NlbmRpbmcuXG4gICAgICogQGRlZmF1bHQgLTEgKHNldHMgdGhpcyBwcm9wZXJ0eSBpbiB0aGUgZmlyc3QgdGFiKVxuICAgICAqL1xuICAgIHRhYj86IG51bWJlcixcbiAgICAvKipcbiAgICAgKiBTcGVjaWZpZXMgdGhlIG5hbWUgb2YgdGhlIHRhYi4gQ2FuIG9ubHkgYmUgc2V0IGJ5IG9uZSBwcm9wZXJ0eSBpbiBlYWNoIHRhYi5cbiAgICAgKiBSZXF1aXJlcyBcInRhYlwiIHRvIGJlIHNldC5cbiAgICAgKiBAZGVmYXVsdCBgVGFiICR7bnVtYmVyT2ZUaGVUYWJ9YFxuICAgICAqL1xuICAgIHRhYk5hbWU/OiBzdHJpbmcsXG4gICAgLyoqXG4gICAgICogU3BlY2lmaWVzIHRoZSAoYm9vdHN0cmFwKS1yb3cgaW4gd2hpY2ggdGhpcyBwcm9wZXJ0eSBpcyBkaXNwbGF5ZWQuXG4gICAgICogT3JkZXJpbmcgaXMgYXNjZW5kaW5nLlxuICAgICAqIEBkZWZhdWx0IC0xIChzZXRzIHRoaXMgcHJvcGVydHkgYWZ0ZXIgdGhlIGxhc3Qgcm93KVxuICAgICAqL1xuICAgIHJvdz86IG51bWJlcixcbiAgICAvKipcbiAgICAgKiBTcGVjaWZpZXMgb3JkZXIgb2YgdGhlIGlucHV0IHByb3BlcnR5IGluc2lkZSB0aGUgc3BlY2lmaWVkIHJvdy5cbiAgICAgKiBPcmRlcmluZyBpcyBhc2NlbmRpbmcuXG4gICAgICogQGRlZmF1bHQgLTEgKHNldHMgdGhpcyBwcm9wZXJ0eSBhdCB0aGUgZW5kIG9mIHRoZSByb3cpXG4gICAgICovXG4gICAgb3JkZXI/OiBudW1iZXJcbn0iXX0=
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktZGVjb3JhdG9yLmRhdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbWF0ZXJpYWwtZW50aXR5L3NyYy9kZWNvcmF0b3JzL2Jhc2UvcHJvcGVydHktZGVjb3JhdG9yLmRhdGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS0E7O0dBRUc7QUFDSCxNQUFNLE9BQWdCLHVCQUF1QjtJQUN6Qzs7O09BR0c7SUFDSCxzREFBc0Q7SUFDdEQsT0FBTyxDQUF3QztJQUMvQzs7T0FFRztJQUNILFdBQVcsQ0FBVTtJQUNyQjs7O09BR0c7SUFDSCxzREFBc0Q7SUFDdEQsUUFBUSxDQUF3QztJQUNoRDs7O09BR0c7SUFDSCxhQUFhLENBQVc7SUFDeEI7OztPQUdHO0lBQ0gsYUFBYSxDQUFXO0lBQ3hCOzs7OztPQUtHO0lBQ0gsYUFBYSxDQUFtQjtJQUNoQzs7O09BR0c7SUFDSCxRQUFRLENBQVk7SUFDcEI7OztPQUdHO0lBQ0gsc0RBQXNEO0lBQ3RELFVBQVUsQ0FBd0M7SUFDbEQ7O09BRUc7SUFDSCxPQUFPLENBQWlDO0lBQ3hDOztPQUVHO0lBQ0gsc0RBQXNEO0lBQ3RELE1BQU0sQ0FBeUI7Q0FDbEMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEEgYm9vdHN0cmFwIGNvbHVtbiB2YWx1ZSAoYSByYW5nZSBmcm9tIDEgLSAxMikuXG4gKi9cbmV4cG9ydCB0eXBlIENvbCA9IDEgfCAyIHwgMyB8IDQgfCA1IHwgNiB8IDcgfCA4IHwgOSB8IDEwIHwgMTEgfCAxMjtcblxuLyoqXG4gKiBUaGUgYmFzZSBvcHRpb25zIGZvciBhbGwgcHJvcGVydHlEZWNvcmF0b3JzLlxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgUHJvcGVydHlEZWNvcmF0b3JDb25maWc8VmFsdWVUeXBlPiB7XG4gICAgLyoqXG4gICAgICogV2hldGhlciBvciBub3QgdGhlIFByb3BlcnR5IGlzIGRpc3BsYXllZCBhdCBhbGwuXG4gICAgICogQGRlZmF1bHQgdHJ1ZVxuICAgICAqL1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSB0eXBlc2NyaXB0L25vLWV4cGxpY2l0LWFueVxuICAgIGRpc3BsYXk/OiBib29sZWFuIHwgKChlbnRpdHk6IGFueSkgPT4gYm9vbGVhbik7XG4gICAgLyoqXG4gICAgICogVGhlIG5hbWUgb2YgdGhlIHByb3BlcnR5IHVzZWQgYXMgYSBsYWJlbCBmb3IgZm9ybSBmaWVsZHMuXG4gICAgICovXG4gICAgZGlzcGxheU5hbWUhOiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogV2hldGhlciBvciBub3QgdGhlIFByb3BlcnR5IGlzIHJlcXVpcmVkLlxuICAgICAqIEBkZWZhdWx0IHRydWVcbiAgICAgKi9cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgdHlwZXNjcmlwdC9uby1leHBsaWNpdC1hbnlcbiAgICByZXF1aXJlZD86IGJvb2xlYW4gfCAoKGVudGl0eTogYW55KSA9PiBib29sZWFuKTtcbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIG9yIG5vdCB0aGUgcHJvcGVydHkgZ2V0cyBvbWl0dGVkIHdoZW4gY3JlYXRpbmcgbmV3IEVudGl0aWVzLlxuICAgICAqIEBkZWZhdWx0IGZhbHNlXG4gICAgICovXG4gICAgb21pdEZvckNyZWF0ZT86IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogV2hldGhlciBvciBub3QgdGhlIHByb3BlcnR5IGdldHMgb21pdHRlZCB3aGVuIHVwZGF0aW5nIEVudGl0aWVzLlxuICAgICAqIEBkZWZhdWx0IGZhbHNlXG4gICAgICovXG4gICAgb21pdEZvclVwZGF0ZT86IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogRGVmaW5lcyB0aGUgd2lkdGggb2YgdGhlIGlucHV0IHByb3BlcnR5IHdoZW4gdXNlZCBpbnNpZGUgdGhlIGRlZmF1bHQgY3JlYXRlIG9yIGVkaXQgZGlhbG9nLlxuICAgICAqIEhhcyAzIHZhbHVlcyBmb3IgZGlmZmVyZW50IGJyZWFrcG9pbnRzIGZvciBzaW1wbGUgcmVzcG9uc2l2ZSBkZXNpZ24gYmFzZWQgb24gYm9vdHN0cmFwICgxLTEyKS5cbiAgICAgKiBUaGUgZmlyc3QgdmFsdWUgc2V0cyB0aGUgY29sdW1ucyBmb3IgdGhlIHNjcmVlbiBzaXplIGxnLCB0aGUgc2Vjb25kIGZvciBtZCBhbmQgdGhlIHRoaXJkIGZvciBzbS5cbiAgICAgKiBAZGVmYXVsdCBbNiwgNiwgMTJdXG4gICAgICovXG4gICAgZGVmYXVsdFdpZHRocz86IFtDb2wsIENvbCwgQ29sXTtcbiAgICAvKipcbiAgICAgKiBTcGVjaWZpZXMgdGhlIGhvdyB0byBwb3NpdGlvbiB0aGlzIHByb3BlcnR5IHdoZW4gdXNpbmcgZGVmYXVsdCBjcmVhdGUvZWRpdCBkaWFsb2dzLlxuICAgICAqIEBkZWZhdWx0IHsgcm93OiAtMSwgIG9yZGVyOiAtMX0gKEFkZHMgdGhlIHByb3BlcnR5IGF0IHRoZSBlbmQpXG4gICAgICovXG4gICAgcG9zaXRpb24/OiBQb3NpdGlvbjtcbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIG9yIG5vdCB0aGlzIHByb3BlcnR5IGlzIHJlYWRvbmx5LlxuICAgICAqIENhbiBlaXRoZXIgYmUgYSBib29sZWFuIG9yIGEgZnVuY3Rpb24gcmV0dXJuaW5nIGEgYm9vbGVhbi5cbiAgICAgKi9cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgdHlwZXNjcmlwdC9uby1leHBsaWNpdC1hbnlcbiAgICBpc1JlYWRPbmx5PzogYm9vbGVhbiB8ICgoZW50aXR5OiBhbnkpID0+IGJvb2xlYW4pO1xuICAgIC8qKlxuICAgICAqIFRoZSB2YWx1ZSB0aGF0IHRoZSBwcm9wZXJ0eSBzaG91bGQgYmUgcHJlZmlsbGVkIHdpdGguIE9ubHkgYWN0aXZlIGluIGNyZWF0ZSBtb2RlLlxuICAgICAqL1xuICAgIGRlZmF1bHQ/OiBWYWx1ZVR5cGUgfCAoKCkgPT4gVmFsdWVUeXBlKTtcbiAgICAvKipcbiAgICAgKiBBIGZ1bmN0aW9uIHRoYXQgcnVucyBqdXN0IGJlZm9yZSB0aGUgaW5wdXRDaGFuZ2VFdmVudCBldmVyeSB0aW1lIHRoZSBwcm9wZXJ0eSBpcyBjaGFuZ2VkLlxuICAgICAqL1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSB0eXBlc2NyaXB0L25vLWV4cGxpY2l0LWFueVxuICAgIGNoYW5nZT86IChlbnRpdHk6IGFueSkgPT4gdm9pZDtcbn1cblxuLyoqXG4gKiBUaGUgb3B0aW9ucyBmb3IgcG9zaXRpb25pbmcgYSBwcm9wZXJ0eSB3aGVuIHVzaW5nIGRlZmF1bHQgY3JlYXRlL2VkaXQgZGlhbG9ncy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQb3NpdGlvbiB7XG4gICAgLyoqXG4gICAgICogU3BlY2lmaWVzIGEgdGFiIGluIHdoaWNoIHRoaXMgcHJvcGVydHkgaXMgZGlzcGxheWVkLlxuICAgICAqIElmIG5vIHByb3BlcnR5IGhhcyB0aGUgdGFiIG1ldGFkYXRhIHNwZWNpZmllZCBubyB0YWJzIGFyZSBkaXNwbGF5ZWQuXG4gICAgICogT3JkZXJpbmcgaXMgYXNjZW5kaW5nLlxuICAgICAqIEBkZWZhdWx0IC0xIChzZXRzIHRoaXMgcHJvcGVydHkgaW4gdGhlIGZpcnN0IHRhYilcbiAgICAgKi9cbiAgICB0YWI/OiBudW1iZXIsXG4gICAgLyoqXG4gICAgICogU3BlY2lmaWVzIHRoZSBuYW1lIG9mIHRoZSB0YWIuIENhbiBvbmx5IGJlIHNldCBieSBvbmUgcHJvcGVydHkgaW4gZWFjaCB0YWIuXG4gICAgICogUmVxdWlyZXMgXCJ0YWJcIiB0byBiZSBzZXQuXG4gICAgICogQGRlZmF1bHQgYFRhYiAke251bWJlck9mVGhlVGFifWBcbiAgICAgKi9cbiAgICB0YWJOYW1lPzogc3RyaW5nLFxuICAgIC8qKlxuICAgICAqIFNwZWNpZmllcyB0aGUgcm93IGluIHdoaWNoIHRoaXMgcHJvcGVydHkgaXMgZGlzcGxheWVkLlxuICAgICAqIE9yZGVyaW5nIGlzIGFzY2VuZGluZy5cbiAgICAgKiBAZGVmYXVsdCAtMSAoc2V0cyB0aGlzIHByb3BlcnR5IGFmdGVyIHRoZSBsYXN0IHJvdylcbiAgICAgKi9cbiAgICByb3c/OiBudW1iZXIsXG4gICAgLyoqXG4gICAgICogU3BlY2lmaWVzIG9yZGVyIG9mIHRoZSBpbnB1dCBwcm9wZXJ0eSBpbnNpZGUgdGhlIHNwZWNpZmllZCByb3cuXG4gICAgICogT3JkZXJpbmcgaXMgYXNjZW5kaW5nLlxuICAgICAqIEBkZWZhdWx0IC0xIChzZXRzIHRoaXMgcHJvcGVydHkgYXQgdGhlIGVuZCBvZiB0aGUgcm93KVxuICAgICAqL1xuICAgIG9yZGVyPzogbnVtYmVyXG59Il19
@@ -1,3 +1,4 @@
1
+ import { faCircleMinus } from '@fortawesome/free-solid-svg-icons';
1
2
  import { PropertyDecoratorConfigInternal } from '../base/property-decorator-internal.data';
2
3
  const errorAddingFiles = 'Error adding files';
3
4
  const errorAddingFile = 'Error adding file';
@@ -32,7 +33,7 @@ export class DefaultFileDecoratorConfigInternal extends PropertyDecoratorConfigI
32
33
  this.type = data.type;
33
34
  this.preview = false;
34
35
  this.multiple = data.multiple;
35
- this.deleteIcon = data.deleteIcon ?? 'fas fa-circle-minus';
36
+ this.deleteIcon = data.deleteIcon ?? faCircleMinus;
36
37
  this.allowedMimeTypes = data.allowedMimeTypes ?? ['*'];
37
38
  this.maxSize = data.maxSize ?? 10;
38
39
  this.maxSizeTotal = data.maxSizeTotal ?? 100;
@@ -76,7 +77,7 @@ export class ImageFileDecoratorConfigInternal extends PropertyDecoratorConfigInt
76
77
  this.allowedMimeTypes = data.allowedMimeTypes ?? ['image/*'];
77
78
  this.multiple = data.multiple;
78
79
  this.preview = data.preview ?? true;
79
- this.deleteIcon = data.deleteIcon ?? 'fas fa-circle-minus';
80
+ this.deleteIcon = data.deleteIcon ?? faCircleMinus;
80
81
  this.maxSize = data.maxSize ?? 10;
81
82
  this.maxSizeTotal = data.maxSizeTotal ?? 100;
82
83
  this.mimeTypeErrorDialog = data.mimeTypeErrorDialog ?? getDefaultMimeTypeErrorDialogData(data);
@@ -139,4 +140,4 @@ function getDefaultMaxSizeTotalErrorDialogData(data) {
139
140
  confirmationText: data.mimeTypeErrorDialog?.confirmationText
140
141
  };
141
142
  }
142
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1kZWNvcmF0b3ItaW50ZXJuYWwuZGF0YS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1tYXRlcmlhbC1lbnRpdHkvc3JjL2RlY29yYXRvcnMvZmlsZS9maWxlLWRlY29yYXRvci1pbnRlcm5hbC5kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBMEQzRixNQUFNLGdCQUFnQixHQUFXLG9CQUFvQixDQUFDO0FBQ3RELE1BQU0sZUFBZSxHQUFXLG1CQUFtQixDQUFDO0FBRXBEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGtDQUFtQyxTQUFRLCtCQUF5QztJQUM3RiwrQ0FBK0M7SUFDL0MsSUFBSSxDQUFVO0lBQ2QsK0NBQStDO0lBQy9DLE9BQU8sQ0FBUTtJQUNmLCtDQUErQztJQUMvQyxRQUFRLENBQVU7SUFDbEIsK0NBQStDO0lBQy9DLGdCQUFnQixDQUFXO0lBQzNCLCtDQUErQztJQUMvQyxVQUFVLENBQVM7SUFDbkIsK0NBQStDO0lBQy9DLE9BQU8sQ0FBUztJQUNoQiwrQ0FBK0M7SUFDL0MsWUFBWSxDQUFTO0lBQ3JCLCtDQUErQztJQUMvQyxtQkFBbUIsQ0FBb0I7SUFDdkMsK0NBQStDO0lBQy9DLGtCQUFrQixDQUFvQjtJQUN0QywrQ0FBK0M7SUFDL0MsdUJBQXVCLENBQW9CO0lBQzNDLCtDQUErQztJQUMvQyxXQUFXLENBQVU7SUFFckIsWUFBWSxJQUFnQztRQUN4QyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDWixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDdEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDckIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQzlCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFD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QUFtQixFQUFFLGtCQUFrQjtRQUNoRSxpQkFBaUIsRUFBRSxJQUFJLENBQUMsbUJBQW1CLEVBQUUsaUJBQWlCO1FBQzlELG1CQUFtQixFQUFFLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxtQkFBbUI7UUFDbEUsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLG1CQUFtQixFQUFFLGdCQUFnQjtLQUMvRCxDQUFDO0FBQ04sQ0FBQztBQUVEOzs7OztHQUtHO0FBQ0gsU0FBUyxxQ0FBcUMsQ0FBQyxJQUEyRDtJQUN0RyxPQUFPO1FBQ0gsSUFBSSxFQUFFLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxJQUFJLElBQUksV0FBVztRQUNuRCxJQUFJLEVBQUUsSUFBSSxDQUFDLG1CQUFtQixFQUFFLElBQUksSUFBSSxDQUFDLDJDQUEyQyxDQUFDO1FBQ3JGLEtBQUssRUFBRSxJQUFJLENBQUMsbUJBQW1CLEVBQUUsS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQztRQUM5RixrQkFBa0IsRUFBRSxJQUFJLENBQUMsbUJBQW1CLEVBQUUsa0JBQWtCO1FBQ2hFLGlCQUFpQixFQUFFLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxpQkFBaUI7UUFDOUQsbUJBQW1CLEVBQUUsSUFBSSxDQUFDLG1CQUFtQixFQUFFLG1CQUFtQjtRQUNsRSxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsbUJBQW1CLEVBQUUsZ0JBQWdCO0tBQy9ELENBQUM7QUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGVmYXVsdEZpbGVEZWNvcmF0b3JDb25maWcsIEZpbGVEYXRhLCBJbWFnZUZpbGVEZWNvcmF0b3JDb25maWcgfSBmcm9tICcuL2ZpbGUtZGVjb3JhdG9yLmRhdGEnO1xuaW1wb3J0IHsgQ29uZmlybURpYWxvZ0RhdGEgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL2NvbmZpcm0tZGlhbG9nL2NvbmZpcm0tZGlhbG9nLWRhdGEnO1xuaW1wb3J0IHsgUHJvcGVydHlEZWNvcmF0b3JDb25maWdJbnRlcm5hbCB9IGZyb20gJy4uL2Jhc2UvcHJvcGVydHktZGVjb3JhdG9yLWludGVybmFsLmRhdGEnO1xuXG4vKipcbiAqIENvbnRhaW5zIGRhdGEgYWJvdXQgYSBmaWxlIHByb3BlcnR5IHdoZXJlIGEgYmxvYiBleGlzdHMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRmlsZURhdGFXaXRoRmlsZSB7XG4gICAgLyoqXG4gICAgICogVGhlIG5hbWUgb2YgdGhlIGZpbGUuXG4gICAgICovXG4gICAgbmFtZTogc3RyaW5nLFxuICAgIC8qKlxuICAgICAqIFRoZSBmaWxlIGRhdGEgaXRzZWxmIGluIGZvcm0gb2YgYSBibG9iLlxuICAgICAqL1xuICAgIGZpbGU6IEJsb2IsXG4gICAgLyoqXG4gICAgICogVGhlIG1pbWUgdHlwZSBvZiB0aGUgZmlsZS5cbiAgICAgKiBUaGlzIGlzIG5lZWRlZCB0byBpbmNyZWFzZSBwZXJmb3JtYW5jZSB3aGVuIGNoZWNraW5nIGlmIHRoZSBwcm92aWRlZCBmaWxlIGlzIHZhbGlkLlxuICAgICAqL1xuICAgIHR5cGU6IHN0cmluZyxcbiAgICAvKipcbiAgICAgKiBUaGUgc2l6ZSBvZiB0aGUgZmlsZSBpbiBieXRlcy5cbiAgICAgKiBUaGlzIGlzIG5lZWRlZCB0byBpbmNyZWFzZSBwZXJmb3JtYW5jZSB3aGVuIGNoZWNraW5nIGlmIHRoZSBwcm92aWRlZCBmaWxlIGlzIHZhbGlkLlxuICAgICAqL1xuICAgIHNpemU6IG51bWJlcixcbiAgICAvKipcbiAgICAgKiBUaGUgdXJsIHdoZXJlIHRoZSBibG9iIGlzIHNhdmVkLlxuICAgICAqL1xuICAgIHVybD86IHN0cmluZ1xufVxuXG4vKipcbiAqIENvbnRhaW5zIGRhdGEgYWJvdXQgYSBmaWxlIHByb3BlcnR5IHdoZXJlIG5vIGJsb2IgZXhpc3RzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEZpbGVEYXRhV2l0aFVybCB7XG4gICAgLyoqXG4gICAgICogVGhlIG5hbWUgb2YgdGhlIGZpbGUuXG4gICAgICovXG4gICAgbmFtZTogc3RyaW5nLFxuICAgIC8qKlxuICAgICAqIFRoZSBmaWxlIGRhdGEgaXRzZWxmIGluIGZvcm0gb2YgYSBibG9iLlxuICAgICAqL1xuICAgIGZpbGU/OiBCbG9iLFxuICAgIC8qKlxuICAgICAqIFRoZSBtaW1lIHR5cGUgb2YgdGhlIGZpbGUuXG4gICAgICogVGhpcyBpcyBuZWVkZWQgdG8gaW5jcmVhc2UgcGVyZm9ybWFuY2Ugd2hlbiBjaGVja2luZyBpZiB0aGUgcHJvdmlkZWQgZmlsZSBpcyB2YWxpZC5cbiAgICAgKi9cbiAgICB0eXBlOiBzdHJpbmcsXG4gICAgLyoqXG4gICAgICogVGhlIHNpemUgb2YgdGhlIGZpbGUgaW4gYnl0ZXMuXG4gICAgICogVGhpcyBpcyBuZWVkZWQgdG8gaW5jcmVhc2UgcGVyZm9ybWFuY2Ugd2hlbiBjaGVja2luZyBpZiB0aGUgcHJvdmlkZWQgZmlsZSBpcyB2YWxpZC5cbiAgICAgKi9cbiAgICBzaXplOiBudW1iZXIsXG4gICAgLyoqXG4gICAgICogVGhlIHVybCB3aGVyZSB0aGUgYmxvYiBpcyBzYXZlZC5cbiAgICAgKi9cbiAgICB1cmw6IHN0cmluZ1xufVxuXG5jb25zdCBlcnJvckFkZGluZ0ZpbGVzOiBzdHJpbmcgPSAnRXJyb3IgYWRkaW5nIGZpbGVzJztcbmNvbnN0IGVycm9yQWRkaW5nRmlsZTogc3RyaW5nID0gJ0Vycm9yIGFkZGluZyBmaWxlJztcblxuLyoqXG4gKiBUaGUgaW50ZXJuYWwgRGVmYXVsdEZpbGVEZWNvcmF0b3JDb25maWcuIFNldHMgZGVmYXVsdCB2YWx1ZXMuXG4gKi9cbmV4cG9ydCBjbGFzcyBEZWZhdWx0RmlsZURlY29yYXRvckNvbmZpZ0ludGVybmFsIGV4dGVuZHMgUHJvcGVydHlEZWNvcmF0b3JDb25maWdJbnRlcm5hbDxGaWxlRGF0YT4gaW1wbGVtZW50cyBEZWZhdWx0RmlsZURlY29yYXRvckNvbmZpZyB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICB0eXBlOiAnb3RoZXInO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gICAgcHJldmlldzogZmFsc2U7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICBtdWx0aXBsZTogYm9vbGVhbjtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIGFsbG93ZWRNaW1lVHlwZXM6IHN0cmluZ1tdO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gICAgZGVsZXRlSWNvbjogc3RyaW5nO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gICAgbWF4U2l6ZTogbnVtYmVyO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gICAgbWF4U2l6ZVRvdGFsOiBudW1iZXI7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICBtaW1lVHlwZUVycm9yRGlhbG9nOiBDb25maXJtRGlhbG9nRGF0YTtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIG1heFNpemVFcnJvckRpYWxvZzogQ29uZmlybURpYWxvZ0RhdGE7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICBtYXhTaXplVG90YWxFcnJvckRpYWxvZzogQ29uZmlybURpYWxvZ0RhdGE7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICBkcmFnQW5kRHJvcDogYm9vbGVhbjtcblxuICAgIGNvbnN0cnVjdG9yKGRhdGE6IERlZmF1bHRGaWxlRGVjb3JhdG9yQ29uZmlnKSB7XG4gICAgICAgIHN1cGVyKGRhdGEpO1xuICAgICAgICB0aGlzLnR5cGUgPSBkYXRhLnR5cGU7XG4gICAgICAgIHRoaXMucHJldmlldyA9IGZhbHNlO1xuICAgICAgICB0aGlzLm11bHRpcGxlID0gZGF0YS5tdWx0aXBsZTtcbiAgICAgICAgdGhpcy5kZWxldGVJY29uID0gZGF0YS5kZWxldGVJY29uID8/ICdmYXMgZmEtY2lyY2xlLW1pbnVzJztcbiAgICAgICAgdGhpcy5hbGxvd2VkTWltZVR5cGVzID0gZGF0YS5hbGxvd2VkTWltZVR5cGVzID8/IFsnKiddO1xuICAgICAgICB0aGlzLm1heFNpemUgPSBkYXRhLm1heFNpemUgPz8gMTA7XG4gICAgICAgIHRoaXMubWF4U2l6ZVRvdGFsID0gZGF0YS5tYXhTaXplVG90YWwgPz8gMTAwO1xuICAgICAgICB0aGlzLm1pbWVUeXBlRXJyb3JEaWFsb2cgPSBkYXRhLm1pbWVUeXBlRXJyb3JEaWFsb2cgPz8gZ2V0RGVmYXVsdE1pbWVUeXBlRXJyb3JEaWFsb2dEYXRhKGRhdGEpO1xuICAgICAgICB0aGlzLm1heFNpemVFcnJvckRpYWxvZyA9IGRhdGEubWF4U2l6ZUVycm9yRGlhbG9nID8/IGdldERlZmF1bHRNYXhTaXplRXJyb3JEaWFsb2dEYXRhKGRhdGEpO1xuICAgICAgICB0aGlzLm1heFNpemVUb3RhbEVycm9yRGlhbG9nID0gZGF0YS5tYXhTaXplVG90YWxFcnJvckRpYWxvZyA/PyBnZXREZWZhdWx0TWF4U2l6ZVRvdGFsRXJyb3JEaWFsb2dEYXRhKGRhdGEpO1xuICAgICAgICB0aGlzLmRyYWdBbmREcm9wID0gZGF0YS5kcmFnQW5kRHJvcCA/PyBkYXRhLm11bHRpcGxlO1xuICAgIH1cbn1cblxuLyoqXG4gKiBUaGUgaW50ZXJuYWwgSW1hZ2VGaWxlRGVjb3JhdG9yQ29uZmlnLiBTZXRzIGRlZmF1bHQgdmFsdWVzLlxuICovXG5leHBvcnQgY2xhc3MgSW1hZ2VGaWxlRGVjb3JhdG9yQ29uZmlnSW50ZXJuYWwgZXh0ZW5kcyBQcm9wZXJ0eURlY29yYXRvckNvbmZpZ0ludGVybmFsPEZpbGVEYXRhPiBpbXBsZW1lbnRzIEltYWdlRmlsZURlY29yYXRvckNvbmZpZyB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICB0eXBlOiAnaW1hZ2UnO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gICAgYWxsb3dlZE1pbWVUeXBlczogc3RyaW5nW107XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICBtdWx0aXBsZTogYm9vbGVhbjtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIHByZXZpZXc6IGJvb2xlYW47XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICBwcmV2aWV3UGxhY2Vob2xkZXJVcmw/OiBzdHJpbmc7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICBkZWxldGVJY29uOiBzdHJpbmc7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICBtYXhTaXplOiBudW1iZXI7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICBtYXhTaXplVG90YWw6IG51bWJlcjtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIG1pbWVUeXBlRXJyb3JEaWFsb2c6IENvbmZpcm1EaWFsb2dEYXRhO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gICAgbWF4U2l6ZUVycm9yRGlhbG9nOiBDb25maXJtRGlhbG9nRGF0YTtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIG1heFNpemVUb3RhbEVycm9yRGlhbG9nOiBDb25maXJtRGlhbG9nRGF0YTtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIGRyYWdBbmREcm9wOiBib29sZWFuO1xuXG4gICAgY29uc3RydWN0b3IoZGF0YTogSW1hZ2VGaWxlRGVjb3JhdG9yQ29uZmlnKSB7XG4gICAgICAgIHN1cGVyKGRhdGEpO1xuICAgICAgICB0aGlzLnR5cGUgPSBkYXRhLnR5cGU7XG4gICAgICAgIHRoaXMuYWxsb3dlZE1pbWVUeXBlcyA9IGRhdGEuYWxsb3dlZE1pbWVUeXBlcyA/PyBbJ2ltYWdlLyonXTtcbiAgICAgICAgdGhpcy5tdWx0aXBsZSA9IGRhdGEubXVsdGlwbGU7XG4gICAgICAgIHRoaXMucHJldmlldyA9IGRhdGEucHJldmlldyA/PyB0cnVlO1xuICAgICAgICB0aGlzLmRlbGV0ZUljb24gPSBkYXRhLmRlbGV0ZUljb24gPz8gJ2ZhcyBmYS1jaXJjbGUtbWludXMnO1xuICAgICAgICB0aGlzLm1heFNpemUgPSBkYXRhLm1heFNpemUgPz8gMTA7XG4gICAgICAgIHRoaXMubWF4U2l6ZVRvdGFsID0gZGF0YS5tYXhTaXplVG90YWwgPz8gMTAwO1xuICAgICAgICB0aGlzLm1pbWVUeXBlRXJyb3JEaWFsb2cgPSBkYXRhLm1pbWVUeXBlRXJyb3JEaWFsb2cgPz8gZ2V0RGVmYXVsdE1pbWVUeXBlRXJyb3JEaWFsb2dEYXRhKGRhdGEpO1xuICAgICAgICB0aGlzLm1heFNpemVFcnJvckRpYWxvZyA9IGRhdGEubWF4U2l6ZUVycm9yRGlhbG9nID8/IGdldERlZmF1bHRNYXhTaXplRXJyb3JEaWFsb2dEYXRhKGRhdGEpO1xuICAgICAgICB0aGlzLm1heFNpemVUb3RhbEVycm9yRGlhbG9nID0gZGF0YS5tYXhTaXplVG90YWxFcnJvckRpYWxvZyA/PyBnZXREZWZhdWx0TWF4U2l6ZVRvdGFsRXJyb3JEaWFsb2dEYXRhKGRhdGEpO1xuICAgICAgICB0aGlzLnByZXZpZXdQbGFjZWhvbGRlclVybCA9IGRhdGEucHJldmlld1BsYWNlaG9sZGVyVXJsO1xuICAgICAgICB0aGlzLmRyYWdBbmREcm9wID0gZGF0YS5kcmFnQW5kRHJvcCA/PyBkYXRhLm11bHRpcGxlO1xuICAgIH1cbn1cblxuLyoqXG4gKiBHZXRzIHRoZSBkZWZhdWx0IGRpYWxvZyBkYXRhIGZvciB0aGUgZXJyb3IgZGlhbG9nIHRvIGRpc3BsYXlcbiAqIHdoZW4gdGhlIHVzZXIgdHJpZXMgdG8gYWRkIGEgZmlsZSB3aXRoIGEgd3JvbmcgdHlwZS5cbiAqIEBwYXJhbSBkYXRhIC0gVGhlIEZpbGUgRGVjb3JhdG9yIGRhdGEuXG4gKiBAcmV0dXJucyBUaGUgZGlhbG9nIGRhdGEgd2l0aCBzZXQgZGVmYXVsdCB2YWx1ZXMuXG4gKi9cbmZ1bmN0aW9uIGdldERlZmF1bHRNaW1lVHlwZUVycm9yRGlhbG9nRGF0YShkYXRhOiBEZWZhdWx0RmlsZURlY29yYXRvckNvbmZpZyB8IEltYWdlRmlsZURlY29yYXRvckNvbmZpZyk6IENvbmZpcm1EaWFsb2dEYXRhIHtcbiAgICByZXR1cm4ge1xuICAgICAgICB0eXBlOiBkYXRhLm1pbWVUeXBlRXJyb3JEaWFsb2c/LnR5cGUgPz8gJ2luZm8tb25seScsXG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBzdHlsaXN0aWMvbWF4LWxlblxuICAgICAgICB0ZXh0OiBkYXRhLm1pbWVUeXBlRXJyb3JEaWFsb2c/LnRleHQgPz8gKGRhdGEubXVsdGlwbGUgPyBbJ09uZSBvZiB0aGUgdXBsb2FkZWQgZmlsZXMgaGFzIHRoZSB3cm9uZyB0eXBlLiddIDogWydUaGUgdXBsb2FkZWQgZmlsZSBoYXMgdGhlIHdyb25nIHR5cGUuJ10pLFxuICAgICAgICB0aXRsZTogZGF0YS5taW1lVHlwZUVycm9yRGlhbG9nPy50aXRsZSA/PyAoZGF0YS5tdWx0aXBsZSA/IGVycm9yQWRkaW5nRmlsZXMgOiBlcnJvckFkZGluZ0ZpbGUpLFxuICAgICAgICBjb25maXJtQnV0dG9uTGFiZWw6IGRhdGEubWltZVR5cGVFcnJvckRpYWxvZz8uY29uZmlybUJ1dHRvbkxhYmVsLFxuICAgICAgICBjYW5jZWxCdXR0b25MYWJlbDogZGF0YS5taW1lVHlwZUVycm9yRGlhbG9nPy5jYW5jZWxCdXR0b25MYWJlbCxcbiAgICAgICAgcmVxdWlyZUNvbmZpcm1hdGlvbjogZGF0YS5taW1lVHlwZUVycm9yRGlhbG9nPy5yZXF1aXJlQ29uZmlybWF0aW9uLFxuICAgICAgICBjb25maXJtYXRpb25UZXh0OiBkYXRhLm1pbWVUeXBlRXJyb3JEaWFsb2c/LmNvbmZpcm1hdGlvblRleHRcbiAgICB9O1xufVxuXG4vKipcbiAqIEdldHMgdGhlIGRlZmF1bHQgZGlhbG9nIGRhdGEgZm9yIHRoZSBlcnJvciBkaWFsb2cgdG8gZGlzcGxheVxuICogd2hlbiB0aGUgdXNlciB0cmllcyB0byBhZGQgYSBzaW5nbGUgZmlsZSB0aGF0IGlzIGJpZ2dlciB0aGFuIHRoZSBhbGxvd2VkIG1heFNpemUuXG4gKiBAcGFyYW0gZGF0YSAtIFRoZSBGaWxlIERlY29yYXRvciBkYXRhLlxuICogQHJldHVybnMgVGhlIGRpYWxvZyBkYXRhIHdpdGggc2V0IGRlZmF1bHQgdmFsdWVzLlxuICovXG5mdW5jdGlvbiBnZXREZWZhdWx0TWF4U2l6ZUVycm9yRGlhbG9nRGF0YShkYXRhOiBEZWZhdWx0RmlsZURlY29yYXRvckNvbmZpZyB8IEltYWdlRmlsZURlY29yYXRvckNvbmZpZyk6IENvbmZpcm1EaWFsb2dEYXRhIHtcbiAgICByZXR1cm4ge1xuICAgICAgICB0eXBlOiBkYXRhLm1pbWVUeXBlRXJyb3JEaWFsb2c/LnR5cGUgPz8gJ2luZm8tb25seScsXG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBzdHlsaXN0aWMvbWF4LWxlblxuICAgICAgICB0ZXh0OiBkYXRhLm1pbWVUeXBlRXJyb3JEaWFsb2c/LnRleHQgPz8gKGRhdGEubXVsdGlwbGUgPyBbJ09uZSBvZiB0aGUgdXBsb2FkZWQgZmlsZXMgaXMgdG9vIGJpZyddIDogWydUaGUgdXBsb2FkZWQgZmlsZXMgaXMgdG9vIGJpZyddKSxcbiAgICAgICAgdGl0bGU6IGRhdGEubWltZVR5cGVFcnJvckRpYWxvZz8udGl0bGUgPz8gKGRhdGEubXVsdGlwbGUgPyBlcnJvckFkZGluZ0ZpbGVzIDogZXJyb3JBZGRpbmdGaWxlKSxcbiAgICAgICAgY29uZmlybUJ1dHRvbkxhYmVsOiBkYXRhLm1pbWVUeXBlRXJyb3JEaWFsb2c/LmNvbmZpcm1CdXR0b25MYWJlbCxcbiAgICAgICAgY2FuY2VsQnV0dG9uTGFiZWw6IGRhdGEubWltZVR5cGVFcnJvckRpYWxvZz8uY2FuY2VsQnV0dG9uTGFiZWwsXG4gICAgICAgIHJlcXVpcmVDb25maXJtYXRpb246IGRhdGEubWltZVR5cGVFcnJvckRpYWxvZz8ucmVxdWlyZUNvbmZpcm1hdGlvbixcbiAgICAgICAgY29uZmlybWF0aW9uVGV4dDogZGF0YS5taW1lVHlwZUVycm9yRGlhbG9nPy5jb25maXJtYXRpb25UZXh0XG4gICAgfTtcbn1cblxuLyoqXG4gKiBHZXRzIHRoZSBkZWZhdWx0IGRpYWxvZyBkYXRhIGZvciB0aGUgZXJyb3IgZGlhbG9nIHRvIGRpc3BsYXlcbiAqIHdoZW4gdGhlIHVzZXIgdHJpZXMgdG8gYWRkIGEgc2luZ2xlIGZpbGUgdGhhdCBpcyBiaWdnZXIgdGhhbiB0aGUgYWxsb3dlZCBtYXhTaXplLlxuICogQHBhcmFtIGRhdGEgLSBUaGUgRmlsZSBEZWNvcmF0b3IgZGF0YS5cbiAqIEByZXR1cm5zIFRoZSBkaWFsb2cgZGF0YSB3aXRoIHNldCBkZWZhdWx0IHZhbHVlcy5cbiAqL1xuZnVuY3Rpb24gZ2V0RGVmYXVsdE1heFNpemVUb3RhbEVycm9yRGlhbG9nRGF0YShkYXRhOiBEZWZhdWx0RmlsZURlY29yYXRvckNvbmZpZyB8IEltYWdlRmlsZURlY29yYXRvckNvbmZpZyk6IENvbmZpcm1EaWFsb2dEYXRhIHtcbiAgICByZXR1cm4ge1xuICAgICAgICB0eXBlOiBkYXRhLm1pbWVUeXBlRXJyb3JEaWFsb2c/LnR5cGUgPz8gJ2luZm8tb25seScsXG4gICAgICAgIHRleHQ6IGRhdGEubWltZVR5cGVFcnJvckRpYWxvZz8udGV4dCA/PyBbJ1RoZSBzaXplIG9mIGFsbCBmaWxlcyBjb21iaW5lZCBpcyB0b28gYmlnJ10sXG4gICAgICAgIHRpdGxlOiBkYXRhLm1pbWVUeXBlRXJyb3JEaWFsb2c/LnRpdGxlID8/IChkYXRhLm11bHRpcGxlID8gZXJyb3JBZGRpbmdGaWxlcyA6IGVycm9yQWRkaW5nRmlsZSksXG4gICAgICAgIGNvbmZpcm1CdXR0b25MYWJlbDogZGF0YS5taW1lVHlwZUVycm9yRGlhbG9nPy5jb25maXJtQnV0dG9uTGFiZWwsXG4gICAgICAgIGNhbmNlbEJ1dHRvbkxhYmVsOiBkYXRhLm1pbWVUeXBlRXJyb3JEaWFsb2c/LmNhbmNlbEJ1dHRvbkxhYmVsLFxuICAgICAgICByZXF1aXJlQ29uZmlybWF0aW9uOiBkYXRhLm1pbWVUeXBlRXJyb3JEaWFsb2c/LnJlcXVpcmVDb25maXJtYXRpb24sXG4gICAgICAgIGNvbmZpcm1hdGlvblRleHQ6IGRhdGEubWltZVR5cGVFcnJvckRpYWxvZz8uY29uZmlybWF0aW9uVGV4dFxuICAgIH07XG59Il19
143
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1kZWNvcmF0b3ItaW50ZXJuYWwuZGF0YS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1tYXRlcmlhbC1lbnRpdHkvc3JjL2RlY29yYXRvcnMvZmlsZS9maWxlLWRlY29yYXRvci1pbnRlcm5hbC5kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUlsRSxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQTBEM0YsTUFBTSxnQkFBZ0IsR0FBVyxvQkFBb0IsQ0FBQztBQUN0RCxNQUFNLGVBQWUsR0FBVyxtQkFBbUIsQ0FBQztBQUVwRDs7R0FFRztBQUNILE1BQU0sT0FBTyxrQ0FBbUMsU0FBUSwrQkFBeUM7SUFDN0YsK0NBQStDO0lBQy9DLElBQUksQ0FBVTtJQUNkLCtDQUErQztJQUMvQyxPQUFPLENBQVE7SUFDZiwrQ0FBK0M7SUFDL0MsUUFBUSxDQUFVO0lBQ2xCLCtDQUErQztJQUMvQyxnQkFBZ0IsQ0FBVztJQUMzQiwrQ0FBK0M7SUFDL0MsVUFBVSxDQUFpQjtJQUMzQiwrQ0FBK0M7SUFDL0MsT0FBTyxDQUFTO0lBQ2hCLCtDQUErQztJQUMvQyxZQUFZLENBQVM7SUFDckIsK0NBQStDO0lBQy9DLG1CQUFtQixDQUFvQjtJQUN2QywrQ0FBK0M7SUFDL0Msa0JBQWtCLENBQW9CO0lBQ3RDLCtDQUErQztJQUMvQyx1QkFBdUIsQ0FBb0I7SUFDM0MsK0NBQStDO0lBQy9DLFdBQVcsQ0FBVTtJQUVyQixZQUFZLElBQWdDO1FBQ3hDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNaLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUN0QixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztRQUNyQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxR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LGVBQWUsQ0FBQztRQUM5RixrQkFBa0IsRUFBRSxJQUFJLENBQUMsbUJBQW1CLEVBQUUsa0JBQWtCO1FBQ2hFLGlCQUFpQixFQUFFLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxpQkFBaUI7UUFDOUQsbUJBQW1CLEVBQUUsSUFBSSxDQUFDLG1CQUFtQixFQUFFLG1CQUFtQjtRQUNsRSxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsbUJBQW1CLEVBQUUsZ0JBQWdCO0tBQy9ELENBQUM7QUFDTixDQUFDO0FBRUQ7Ozs7O0dBS0c7QUFDSCxTQUFTLHFDQUFxQyxDQUFDLElBQTJEO0lBQ3RHLE9BQU87UUFDSCxJQUFJLEVBQUUsSUFBSSxDQUFDLG1CQUFtQixFQUFFLElBQUksSUFBSSxXQUFXO1FBQ25ELElBQUksRUFBRSxJQUFJLENBQUMsbUJBQW1CLEVBQUUsSUFBSSxJQUFJLENBQUMsMkNBQTJDLENBQUM7UUFDckYsS0FBSyxFQUFFLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDO1FBQzlGLGtCQUFrQixFQUFFLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxrQkFBa0I7UUFDaEUsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLG1CQUFtQixFQUFFLGlCQUFpQjtRQUM5RCxtQkFBbUIsRUFBRSxJQUFJLENBQUMsbUJBQW1CLEVBQUUsbUJBQW1CO1FBQ2xFLGdCQUFnQixFQUFFLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxnQkFBZ0I7S0FDL0QsQ0FBQztBQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJY29uRGVmaW5pdGlvbiB9IGZyb20gJ0Bmb3J0YXdlc29tZS9hbmd1bGFyLWZvbnRhd2Vzb21lJztcbmltcG9ydCB7IGZhQ2lyY2xlTWludXMgfSBmcm9tICdAZm9ydGF3ZXNvbWUvZnJlZS1zb2xpZC1zdmctaWNvbnMnO1xuXG5pbXBvcnQgeyBEZWZhdWx0RmlsZURlY29yYXRvckNvbmZpZywgRmlsZURhdGEsIEltYWdlRmlsZURlY29yYXRvckNvbmZpZyB9IGZyb20gJy4vZmlsZS1kZWNvcmF0b3IuZGF0YSc7XG5pbXBvcnQgeyBDb25maXJtRGlhbG9nRGF0YSB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvY29uZmlybS1kaWFsb2cvY29uZmlybS1kaWFsb2ctZGF0YSc7XG5pbXBvcnQgeyBQcm9wZXJ0eURlY29yYXRvckNvbmZpZ0ludGVybmFsIH0gZnJvbSAnLi4vYmFzZS9wcm9wZXJ0eS1kZWNvcmF0b3ItaW50ZXJuYWwuZGF0YSc7XG5cbi8qKlxuICogQ29udGFpbnMgZGF0YSBhYm91dCBhIGZpbGUgcHJvcGVydHkgd2hlcmUgYSBibG9iIGV4aXN0cy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBGaWxlRGF0YVdpdGhGaWxlIHtcbiAgICAvKipcbiAgICAgKiBUaGUgbmFtZSBvZiB0aGUgZmlsZS5cbiAgICAgKi9cbiAgICBuYW1lOiBzdHJpbmcsXG4gICAgLyoqXG4gICAgICogVGhlIGZpbGUgZGF0YSBpdHNlbGYgaW4gZm9ybSBvZiBhIGJsb2IuXG4gICAgICovXG4gICAgZmlsZTogQmxvYixcbiAgICAvKipcbiAgICAgKiBUaGUgbWltZSB0eXBlIG9mIHRoZSBmaWxlLlxuICAgICAqIFRoaXMgaXMgbmVlZGVkIHRvIGluY3JlYXNlIHBlcmZvcm1hbmNlIHdoZW4gY2hlY2tpbmcgaWYgdGhlIHByb3ZpZGVkIGZpbGUgaXMgdmFsaWQuXG4gICAgICovXG4gICAgdHlwZTogc3RyaW5nLFxuICAgIC8qKlxuICAgICAqIFRoZSBzaXplIG9mIHRoZSBmaWxlIGluIGJ5dGVzLlxuICAgICAqIFRoaXMgaXMgbmVlZGVkIHRvIGluY3JlYXNlIHBlcmZvcm1hbmNlIHdoZW4gY2hlY2tpbmcgaWYgdGhlIHByb3ZpZGVkIGZpbGUgaXMgdmFsaWQuXG4gICAgICovXG4gICAgc2l6ZTogbnVtYmVyLFxuICAgIC8qKlxuICAgICAqIFRoZSB1cmwgd2hlcmUgdGhlIGJsb2IgaXMgc2F2ZWQuXG4gICAgICovXG4gICAgdXJsPzogc3RyaW5nXG59XG5cbi8qKlxuICogQ29udGFpbnMgZGF0YSBhYm91dCBhIGZpbGUgcHJvcGVydHkgd2hlcmUgbm8gYmxvYiBleGlzdHMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRmlsZURhdGFXaXRoVXJsIHtcbiAgICAvKipcbiAgICAgKiBUaGUgbmFtZSBvZiB0aGUgZmlsZS5cbiAgICAgKi9cbiAgICBuYW1lOiBzdHJpbmcsXG4gICAgLyoqXG4gICAgICogVGhlIGZpbGUgZGF0YSBpdHNlbGYgaW4gZm9ybSBvZiBhIGJsb2IuXG4gICAgICovXG4gICAgZmlsZT86IEJsb2IsXG4gICAgLyoqXG4gICAgICogVGhlIG1pbWUgdHlwZSBvZiB0aGUgZmlsZS5cbiAgICAgKiBUaGlzIGlzIG5lZWRlZCB0byBpbmNyZWFzZSBwZXJmb3JtYW5jZSB3aGVuIGNoZWNraW5nIGlmIHRoZSBwcm92aWRlZCBmaWxlIGlzIHZhbGlkLlxuICAgICAqL1xuICAgIHR5cGU6IHN0cmluZyxcbiAgICAvKipcbiAgICAgKiBUaGUgc2l6ZSBvZiB0aGUgZmlsZSBpbiBieXRlcy5cbiAgICAgKiBUaGlzIGlzIG5lZWRlZCB0byBpbmNyZWFzZSBwZXJmb3JtYW5jZSB3aGVuIGNoZWNraW5nIGlmIHRoZSBwcm92aWRlZCBmaWxlIGlzIHZhbGlkLlxuICAgICAqL1xuICAgIHNpemU6IG51bWJlcixcbiAgICAvKipcbiAgICAgKiBUaGUgdXJsIHdoZXJlIHRoZSBibG9iIGlzIHNhdmVkLlxuICAgICAqL1xuICAgIHVybDogc3RyaW5nXG59XG5cbmNvbnN0IGVycm9yQWRkaW5nRmlsZXM6IHN0cmluZyA9ICdFcnJvciBhZGRpbmcgZmlsZXMnO1xuY29uc3QgZXJyb3JBZGRpbmdGaWxlOiBzdHJpbmcgPSAnRXJyb3IgYWRkaW5nIGZpbGUnO1xuXG4vKipcbiAqIFRoZSBpbnRlcm5hbCBEZWZhdWx0RmlsZURlY29yYXRvckNvbmZpZy4gU2V0cyBkZWZhdWx0IHZhbHVlcy5cbiAqL1xuZXhwb3J0IGNsYXNzIERlZmF1bHRGaWxlRGVjb3JhdG9yQ29uZmlnSW50ZXJuYWwgZXh0ZW5kcyBQcm9wZXJ0eURlY29yYXRvckNvbmZpZ0ludGVybmFsPEZpbGVEYXRhPiBpbXBsZW1lbnRzIERlZmF1bHRGaWxlRGVjb3JhdG9yQ29uZmlnIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIHR5cGU6ICdvdGhlcic7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICBwcmV2aWV3OiBmYWxzZTtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIG11bHRpcGxlOiBib29sZWFuO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gICAgYWxsb3dlZE1pbWVUeXBlczogc3RyaW5nW107XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICBkZWxldGVJY29uOiBJY29uRGVmaW5pdGlvbjtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIG1heFNpemU6IG51bWJlcjtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIG1heFNpemVUb3RhbDogbnVtYmVyO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gICAgbWltZVR5cGVFcnJvckRpYWxvZzogQ29uZmlybURpYWxvZ0RhdGE7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICBtYXhTaXplRXJyb3JEaWFsb2c6IENvbmZpcm1EaWFsb2dEYXRhO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gICAgbWF4U2l6ZVRvdGFsRXJyb3JEaWFsb2c6IENvbmZpcm1EaWFsb2dEYXRhO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gICAgZHJhZ0FuZERyb3A6IGJvb2xlYW47XG5cbiAgICBjb25zdHJ1Y3RvcihkYXRhOiBEZWZhdWx0RmlsZURlY29yYXRvckNvbmZpZykge1xuICAgICAgICBzdXBlcihkYXRhKTtcbiAgICAgICAgdGhpcy50eXBlID0gZGF0YS50eXBlO1xuICAgICAgICB0aGlzLnByZXZpZXcgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5tdWx0aXBsZSA9IGRhdGEubXVsdGlwbGU7XG4gICAgICAgIHRoaXMuZGVsZXRlSWNvbiA9IGRhdGEuZGVsZXRlSWNvbiA/PyBmYUNpcmNsZU1pbnVzO1xuICAgICAgICB0aGlzLmFsbG93ZWRNaW1lVHlwZXMgPSBkYXRhLmFsbG93ZWRNaW1lVHlwZXMgPz8gWycqJ107XG4gICAgICAgIHRoaXMubWF4U2l6ZSA9IGRhdGEubWF4U2l6ZSA/PyAxMDtcbiAgICAgICAgdGhpcy5tYXhTaXplVG90YWwgPSBkYXRhLm1heFNpemVUb3RhbCA/PyAxMDA7XG4gICAgICAgIHRoaXMubWltZVR5cGVFcnJvckRpYWxvZyA9IGRhdGEubWltZVR5cGVFcnJvckRpYWxvZyA/PyBnZXREZWZhdWx0TWltZVR5cGVFcnJvckRpYWxvZ0RhdGEoZGF0YSk7XG4gICAgICAgIHRoaXMubWF4U2l6ZUVycm9yRGlhbG9nID0gZGF0YS5tYXhTaXplRXJyb3JEaWFsb2cgPz8gZ2V0RGVmYXVsdE1heFNpemVFcnJvckRpYWxvZ0RhdGEoZGF0YSk7XG4gICAgICAgIHRoaXMubWF4U2l6ZVRvdGFsRXJyb3JEaWFsb2cgPSBkYXRhLm1heFNpemVUb3RhbEVycm9yRGlhbG9nID8/IGdldERlZmF1bHRNYXhTaXplVG90YWxFcnJvckRpYWxvZ0RhdGEoZGF0YSk7XG4gICAgICAgIHRoaXMuZHJhZ0FuZERyb3AgPSBkYXRhLmRyYWdBbmREcm9wID8/IGRhdGEubXVsdGlwbGU7XG4gICAgfVxufVxuXG4vKipcbiAqIFRoZSBpbnRlcm5hbCBJbWFnZUZpbGVEZWNvcmF0b3JDb25maWcuIFNldHMgZGVmYXVsdCB2YWx1ZXMuXG4gKi9cbmV4cG9ydCBjbGFzcyBJbWFnZUZpbGVEZWNvcmF0b3JDb25maWdJbnRlcm5hbCBleHRlbmRzIFByb3BlcnR5RGVjb3JhdG9yQ29uZmlnSW50ZXJuYWw8RmlsZURhdGE+IGltcGxlbWVudHMgSW1hZ2VGaWxlRGVjb3JhdG9yQ29uZmlnIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIHR5cGU6ICdpbWFnZSc7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICBhbGxvd2VkTWltZVR5cGVzOiBzdHJpbmdbXTtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIG11bHRpcGxlOiBib29sZWFuO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gICAgcHJldmlldzogYm9vbGVhbjtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIHByZXZpZXdQbGFjZWhvbGRlclVybD86IHN0cmluZztcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIGRlbGV0ZUljb246IEljb25EZWZpbml0aW9uO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gICAgbWF4U2l6ZTogbnVtYmVyO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gICAgbWF4U2l6ZVRvdGFsOiBudW1iZXI7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICBtaW1lVHlwZUVycm9yRGlhbG9nOiBDb25maXJtRGlhbG9nRGF0YTtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIG1heFNpemVFcnJvckRpYWxvZzogQ29uZmlybURpYWxvZ0RhdGE7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICBtYXhTaXplVG90YWxFcnJvckRpYWxvZzogQ29uZmlybURpYWxvZ0RhdGE7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICBkcmFnQW5kRHJvcDogYm9vbGVhbjtcblxuICAgIGNvbnN0cnVjdG9yKGRhdGE6IEltYWdlRmlsZURlY29yYXRvckNvbmZpZykge1xuICAgICAgICBzdXBlcihkYXRhKTtcbiAgICAgICAgdGhpcy50eXBlID0gZGF0YS50eXBlO1xuICAgICAgICB0aGlzLmFsbG93ZWRNaW1lVHlwZXMgPSBkYXRhLmFsbG93ZWRNaW1lVHlwZXMgPz8gWydpbWFnZS8qJ107XG4gICAgICAgIHRoaXMubXVsdGlwbGUgPSBkYXRhLm11bHRpcGxlO1xuICAgICAgICB0aGlzLnByZXZpZXcgPSBkYXRhLnByZXZpZXcgPz8gdHJ1ZTtcbiAgICAgICAgdGhpcy5kZWxldGVJY29uID0gZGF0YS5kZWxldGVJY29uID8/IGZhQ2lyY2xlTWludXM7XG4gICAgICAgIHRoaXMubWF4U2l6ZSA9IGRhdGEubWF4U2l6ZSA/PyAxMDtcbiAgICAgICAgdGhpcy5tYXhTaXplVG90YWwgPSBkYXRhLm1heFNpemVUb3RhbCA/PyAxMDA7XG4gICAgICAgIHRoaXMubWltZVR5cGVFcnJvckRpYWxvZyA9IGRhdGEubWltZVR5cGVFcnJvckRpYWxvZyA/PyBnZXREZWZhdWx0TWltZVR5cGVFcnJvckRpYWxvZ0RhdGEoZGF0YSk7XG4gICAgICAgIHRoaXMubWF4U2l6ZUVycm9yRGlhbG9nID0gZGF0YS5tYXhTaXplRXJyb3JEaWFsb2cgPz8gZ2V0RGVmYXVsdE1heFNpemVFcnJvckRpYWxvZ0RhdGEoZGF0YSk7XG4gICAgICAgIHRoaXMubWF4U2l6ZVRvdGFsRXJyb3JEaWFsb2cgPSBkYXRhLm1heFNpemVUb3RhbEVycm9yRGlhbG9nID8/IGdldERlZmF1bHRNYXhTaXplVG90YWxFcnJvckRpYWxvZ0RhdGEoZGF0YSk7XG4gICAgICAgIHRoaXMucHJldmlld1BsYWNlaG9sZGVyVXJsID0gZGF0YS5wcmV2aWV3UGxhY2Vob2xkZXJVcmw7XG4gICAgICAgIHRoaXMuZHJhZ0FuZERyb3AgPSBkYXRhLmRyYWdBbmREcm9wID8/IGRhdGEubXVsdGlwbGU7XG4gICAgfVxufVxuXG4vKipcbiAqIEdldHMgdGhlIGRlZmF1bHQgZGlhbG9nIGRhdGEgZm9yIHRoZSBlcnJvciBkaWFsb2cgdG8gZGlzcGxheVxuICogd2hlbiB0aGUgdXNlciB0cmllcyB0byBhZGQgYSBmaWxlIHdpdGggYSB3cm9uZyB0eXBlLlxuICogQHBhcmFtIGRhdGEgLSBUaGUgRmlsZSBEZWNvcmF0b3IgZGF0YS5cbiAqIEByZXR1cm5zIFRoZSBkaWFsb2cgZGF0YSB3aXRoIHNldCBkZWZhdWx0IHZhbHVlcy5cbiAqL1xuZnVuY3Rpb24gZ2V0RGVmYXVsdE1pbWVUeXBlRXJyb3JEaWFsb2dEYXRhKGRhdGE6IERlZmF1bHRGaWxlRGVjb3JhdG9yQ29uZmlnIHwgSW1hZ2VGaWxlRGVjb3JhdG9yQ29uZmlnKTogQ29uZmlybURpYWxvZ0RhdGEge1xuICAgIHJldHVybiB7XG4gICAgICAgIHR5cGU6IGRhdGEubWltZVR5cGVFcnJvckRpYWxvZz8udHlwZSA/PyAnaW5mby1vbmx5JyxcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHN0eWxpc3RpYy9tYXgtbGVuXG4gICAgICAgIHRleHQ6IGRhdGEubWltZVR5cGVFcnJvckRpYWxvZz8udGV4dCA/PyAoZGF0YS5tdWx0aXBsZSA/IFsnT25lIG9mIHRoZSB1cGxvYWRlZCBmaWxlcyBoYXMgdGhlIHdyb25nIHR5cGUuJ10gOiBbJ1RoZSB1cGxvYWRlZCBmaWxlIGhhcyB0aGUgd3JvbmcgdHlwZS4nXSksXG4gICAgICAgIHRpdGxlOiBkYXRhLm1pbWVUeXBlRXJyb3JEaWFsb2c/LnRpdGxlID8/IChkYXRhLm11bHRpcGxlID8gZXJyb3JBZGRpbmdGaWxlcyA6IGVycm9yQWRkaW5nRmlsZSksXG4gICAgICAgIGNvbmZpcm1CdXR0b25MYWJlbDogZGF0YS5taW1lVHlwZUVycm9yRGlhbG9nPy5jb25maXJtQnV0dG9uTGFiZWwsXG4gICAgICAgIGNhbmNlbEJ1dHRvbkxhYmVsOiBkYXRhLm1pbWVUeXBlRXJyb3JEaWFsb2c/LmNhbmNlbEJ1dHRvbkxhYmVsLFxuICAgICAgICByZXF1aXJlQ29uZmlybWF0aW9uOiBkYXRhLm1pbWVUeXBlRXJyb3JEaWFsb2c/LnJlcXVpcmVDb25maXJtYXRpb24sXG4gICAgICAgIGNvbmZpcm1hdGlvblRleHQ6IGRhdGEubWltZVR5cGVFcnJvckRpYWxvZz8uY29uZmlybWF0aW9uVGV4dFxuICAgIH07XG59XG5cbi8qKlxuICogR2V0cyB0aGUgZGVmYXVsdCBkaWFsb2cgZGF0YSBmb3IgdGhlIGVycm9yIGRpYWxvZyB0byBkaXNwbGF5XG4gKiB3aGVuIHRoZSB1c2VyIHRyaWVzIHRvIGFkZCBhIHNpbmdsZSBmaWxlIHRoYXQgaXMgYmlnZ2VyIHRoYW4gdGhlIGFsbG93ZWQgbWF4U2l6ZS5cbiAqIEBwYXJhbSBkYXRhIC0gVGhlIEZpbGUgRGVjb3JhdG9yIGRhdGEuXG4gKiBAcmV0dXJucyBUaGUgZGlhbG9nIGRhdGEgd2l0aCBzZXQgZGVmYXVsdCB2YWx1ZXMuXG4gKi9cbmZ1bmN0aW9uIGdldERlZmF1bHRNYXhTaXplRXJyb3JEaWFsb2dEYXRhKGRhdGE6IERlZmF1bHRGaWxlRGVjb3JhdG9yQ29uZmlnIHwgSW1hZ2VGaWxlRGVjb3JhdG9yQ29uZmlnKTogQ29uZmlybURpYWxvZ0RhdGEge1xuICAgIHJldHVybiB7XG4gICAgICAgIHR5cGU6IGRhdGEubWltZVR5cGVFcnJvckRpYWxvZz8udHlwZSA/PyAnaW5mby1vbmx5JyxcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHN0eWxpc3RpYy9tYXgtbGVuXG4gICAgICAgIHRleHQ6IGRhdGEubWltZVR5cGVFcnJvckRpYWxvZz8udGV4dCA/PyAoZGF0YS5tdWx0aXBsZSA/IFsnT25lIG9mIHRoZSB1cGxvYWRlZCBmaWxlcyBpcyB0b28gYmlnJ10gOiBbJ1RoZSB1cGxvYWRlZCBmaWxlcyBpcyB0b28gYmlnJ10pLFxuICAgICAgICB0aXRsZTogZGF0YS5taW1lVHlwZUVycm9yRGlhbG9nPy50aXRsZSA/PyAoZGF0YS5tdWx0aXBsZSA/IGVycm9yQWRkaW5nRmlsZXMgOiBlcnJvckFkZGluZ0ZpbGUpLFxuICAgICAgICBjb25maXJtQnV0dG9uTGFiZWw6IGRhdGEubWltZVR5cGVFcnJvckRpYWxvZz8uY29uZmlybUJ1dHRvbkxhYmVsLFxuICAgICAgICBjYW5jZWxCdXR0b25MYWJlbDogZGF0YS5taW1lVHlwZUVycm9yRGlhbG9nPy5jYW5jZWxCdXR0b25MYWJlbCxcbiAgICAgICAgcmVxdWlyZUNvbmZpcm1hdGlvbjogZGF0YS5taW1lVHlwZUVycm9yRGlhbG9nPy5yZXF1aXJlQ29uZmlybWF0aW9uLFxuICAgICAgICBjb25maXJtYXRpb25UZXh0OiBkYXRhLm1pbWVUeXBlRXJyb3JEaWFsb2c/LmNvbmZpcm1hdGlvblRleHRcbiAgICB9O1xufVxuXG4vKipcbiAqIEdldHMgdGhlIGRlZmF1bHQgZGlhbG9nIGRhdGEgZm9yIHRoZSBlcnJvciBkaWFsb2cgdG8gZGlzcGxheVxuICogd2hlbiB0aGUgdXNlciB0cmllcyB0byBhZGQgYSBzaW5nbGUgZmlsZSB0aGF0IGlzIGJpZ2dlciB0aGFuIHRoZSBhbGxvd2VkIG1heFNpemUuXG4gKiBAcGFyYW0gZGF0YSAtIFRoZSBGaWxlIERlY29yYXRvciBkYXRhLlxuICogQHJldHVybnMgVGhlIGRpYWxvZyBkYXRhIHdpdGggc2V0IGRlZmF1bHQgdmFsdWVzLlxuICovXG5mdW5jdGlvbiBnZXREZWZhdWx0TWF4U2l6ZVRvdGFsRXJyb3JEaWFsb2dEYXRhKGRhdGE6IERlZmF1bHRGaWxlRGVjb3JhdG9yQ29uZmlnIHwgSW1hZ2VGaWxlRGVjb3JhdG9yQ29uZmlnKTogQ29uZmlybURpYWxvZ0RhdGEge1xuICAgIHJldHVybiB7XG4gICAgICAgIHR5cGU6IGRhdGEubWltZVR5cGVFcnJvckRpYWxvZz8udHlwZSA/PyAnaW5mby1vbmx5JyxcbiAgICAgICAgdGV4dDogZGF0YS5taW1lVHlwZUVycm9yRGlhbG9nPy50ZXh0ID8/IFsnVGhlIHNpemUgb2YgYWxsIGZpbGVzIGNvbWJpbmVkIGlzIHRvbyBiaWcnXSxcbiAgICAgICAgdGl0bGU6IGRhdGEubWltZVR5cGVFcnJvckRpYWxvZz8udGl0bGUgPz8gKGRhdGEubXVsdGlwbGUgPyBlcnJvckFkZGluZ0ZpbGVzIDogZXJyb3JBZGRpbmdGaWxlKSxcbiAgICAgICAgY29uZmlybUJ1dHRvbkxhYmVsOiBkYXRhLm1pbWVUeXBlRXJyb3JEaWFsb2c/LmNvbmZpcm1CdXR0b25MYWJlbCxcbiAgICAgICAgY2FuY2VsQnV0dG9uTGFiZWw6IGRhdGEubWltZVR5cGVFcnJvckRpYWxvZz8uY2FuY2VsQnV0dG9uTGFiZWwsXG4gICAgICAgIHJlcXVpcmVDb25maXJtYXRpb246IGRhdGEubWltZVR5cGVFcnJvckRpYWxvZz8ucmVxdWlyZUNvbmZpcm1hdGlvbixcbiAgICAgICAgY29uZmlybWF0aW9uVGV4dDogZGF0YS5taW1lVHlwZUVycm9yRGlhbG9nPy5jb25maXJtYXRpb25UZXh0XG4gICAgfTtcbn0iXX0=