ngx-material-entity 16.1.4 → 18.0.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 (121) hide show
  1. package/components/create-page/create-page.component.d.ts +2 -2
  2. package/components/edit-page/edit-page.component.d.ts +4 -4
  3. package/components/form/form.component.d.ts +7 -2
  4. package/components/input/array/array-date-time-input/array-date-time-input.component.d.ts +1 -2
  5. package/components/input/array/array-string-autocomplete-chips/array-string-autocomplete-chips.component.d.ts +1 -1
  6. package/components/input/base-input.component.d.ts +2 -2
  7. package/components/input/date/date-time-input/date-time-input.component.d.ts +1 -2
  8. package/components/input/file/file-input/file-input.component.d.ts +3 -3
  9. package/components/input/input.component.d.ts +70 -38
  10. package/components/input/number/number-dropdown-input/number-dropdown-input.component.d.ts +1 -1
  11. package/components/input/relations/references-many-input/references-many-input.component.d.ts +1 -1
  12. package/components/input/string/string-autocomplete-input/string-autocomplete-input.component.d.ts +1 -1
  13. package/components/input/string/string-dropdown-input/string-dropdown-input.component.d.ts +1 -1
  14. package/components/table/create-dialog/create-entity-dialog.component.d.ts +1 -1
  15. package/components/table/display-column-value/base-display-column-value.component.d.ts +2 -5
  16. package/components/table/display-column-value/display-column-value.component.d.ts +1 -1
  17. package/components/table/edit-dialog/edit-entity-dialog.component.d.ts +4 -4
  18. package/components/table/table.component.d.ts +3 -3
  19. package/components/tooltip/tooltip.component.d.ts +1 -1
  20. package/decorators/array/array-decorator-internal.data.d.ts +1 -1
  21. package/decorators/array/array-decorator.data.d.ts +1 -1
  22. package/decorators/date/date-decorator-internal.data.d.ts +1 -1
  23. package/decorators/date/date-decorator.data.d.ts +1 -1
  24. package/directives/drag-drop.directive.d.ts +1 -1
  25. package/directives/tooltip.directive.d.ts +1 -1
  26. package/esm2022/classes/base.builder.mjs +2 -2
  27. package/esm2022/classes/entity.model.mjs +1 -1
  28. package/esm2022/components/confirm-dialog/confirm-dialog-data.builder.mjs +2 -2
  29. package/esm2022/components/confirm-dialog/confirm-dialog.component.mjs +7 -7
  30. package/esm2022/components/create-page/create-data.route.mjs +2 -1
  31. package/esm2022/components/create-page/create-page.component.mjs +26 -23
  32. package/esm2022/components/create-page/page-create-data.builder.mjs +2 -1
  33. package/esm2022/components/edit-page/edit-data.route.mjs +2 -1
  34. package/esm2022/components/edit-page/edit-page.component.mjs +55 -54
  35. package/esm2022/components/edit-page/page-edit-data.builder.mjs +2 -1
  36. package/esm2022/components/form/form.component.mjs +14 -6
  37. package/esm2022/components/input/array/array-date-input/array-date-input.component.mjs +7 -7
  38. package/esm2022/components/input/array/array-date-range-input/array-date-range-input.component.mjs +7 -7
  39. package/esm2022/components/input/array/array-date-time-input/array-date-time-input.component.mjs +8 -8
  40. package/esm2022/components/input/array/array-string-autocomplete-chips/array-string-autocomplete-chips.component.mjs +8 -8
  41. package/esm2022/components/input/array/array-string-chips-input/array-string-chips-input.component.mjs +5 -5
  42. package/esm2022/components/input/array/array-table.class.mjs +21 -20
  43. package/esm2022/components/input/base-input.component.mjs +14 -9
  44. package/esm2022/components/input/boolean/boolean-checkbox-input/boolean-checkbox-input.component.mjs +5 -5
  45. package/esm2022/components/input/boolean/boolean-dropdown-input/boolean-dropdown-input.component.mjs +6 -6
  46. package/esm2022/components/input/boolean/boolean-toggle-input/boolean-toggle-input.component.mjs +5 -5
  47. package/esm2022/components/input/custom/custom.component.mjs +4 -4
  48. package/esm2022/components/input/date/date-input/date-input.component.mjs +3 -3
  49. package/esm2022/components/input/date/date-range-input/date-range-input.component.mjs +7 -7
  50. package/esm2022/components/input/date/date-time-input/date-time-input.component.mjs +9 -12
  51. package/esm2022/components/input/file/file-default-input/file-default-input.component.mjs +5 -7
  52. package/esm2022/components/input/file/file-image-input/file-image-input.component.mjs +6 -6
  53. package/esm2022/components/input/file/file-input/file-input.component.mjs +22 -24
  54. package/esm2022/components/input/input.component.mjs +199 -147
  55. package/esm2022/components/input/number/number-dropdown-input/number-dropdown-input.component.mjs +10 -10
  56. package/esm2022/components/input/number/number-input/number-input.component.mjs +3 -3
  57. package/esm2022/components/input/number/number-slider-input/number-slider-input.component.mjs +3 -3
  58. package/esm2022/components/input/relations/references-many-input/references-many-input.component.mjs +21 -21
  59. package/esm2022/components/input/string/string-autocomplete-input/string-autocomplete-input.component.mjs +10 -11
  60. package/esm2022/components/input/string/string-dropdown-input/string-dropdown-input.component.mjs +9 -9
  61. package/esm2022/components/input/string/string-input/string-input.component.mjs +3 -3
  62. package/esm2022/components/input/string/string-password-input/string-password-input.component.mjs +8 -11
  63. package/esm2022/components/input/string/string-textbox-input/string-textbox-input.component.mjs +3 -3
  64. package/esm2022/components/table/create-dialog/create-data.builder.mjs +3 -1
  65. package/esm2022/components/table/create-dialog/create-entity-dialog.component.mjs +9 -7
  66. package/esm2022/components/table/default.actions.mjs +4 -3
  67. package/esm2022/components/table/display-column-value/base-display-column-value.component.mjs +8 -13
  68. package/esm2022/components/table/display-column-value/display-column-value.component.mjs +9 -13
  69. package/esm2022/components/table/edit-dialog/edit-data.builder.mjs +9 -3
  70. package/esm2022/components/table/edit-dialog/edit-entity-dialog.component.mjs +37 -34
  71. package/esm2022/components/table/table-data.builder.mjs +12 -5
  72. package/esm2022/components/table/table-data.mjs +1 -1
  73. package/esm2022/components/table/table.component.mjs +25 -24
  74. package/esm2022/components/tooltip/tooltip.component.mjs +7 -8
  75. package/esm2022/decorators/array/array-decorator-internal.data.mjs +1 -1
  76. package/esm2022/decorators/array/array-decorator.data.mjs +1 -1
  77. package/esm2022/decorators/array/array.decorator.mjs +1 -1
  78. package/esm2022/decorators/base/base-property.decorator.mjs +1 -1
  79. package/esm2022/decorators/base/decorator-types.enum.mjs +1 -1
  80. package/esm2022/decorators/base/property-decorator-internal.data.mjs +6 -6
  81. package/esm2022/decorators/boolean/boolean-decorator-internal.data.mjs +2 -1
  82. package/esm2022/decorators/boolean/boolean.decorator.mjs +1 -1
  83. package/esm2022/decorators/custom/custom-decorator-internal.data.mjs +1 -1
  84. package/esm2022/decorators/custom/custom-decorator.data.mjs +1 -1
  85. package/esm2022/decorators/date/date-decorator-internal.data.mjs +1 -1
  86. package/esm2022/decorators/date/date-decorator.data.mjs +1 -1
  87. package/esm2022/decorators/date/date.decorator.mjs +1 -1
  88. package/esm2022/decorators/file/file-decorator-internal.data.mjs +8 -4
  89. package/esm2022/decorators/file/file.decorator.mjs +1 -1
  90. package/esm2022/decorators/has-many/has-many-decorator-internal.data.mjs +2 -1
  91. package/esm2022/decorators/number/number-decorator.data.mjs +1 -1
  92. package/esm2022/decorators/number/number.decorator.mjs +1 -1
  93. package/esm2022/decorators/object/object-decorator.data.mjs +1 -1
  94. package/esm2022/decorators/object/object.decorator.mjs +2 -1
  95. package/esm2022/decorators/string/string-decorator-internal.data.mjs +1 -1
  96. package/esm2022/decorators/string/string-decorator.data.mjs +1 -1
  97. package/esm2022/decorators/string/string.decorator.mjs +1 -1
  98. package/esm2022/directives/drag-drop.directive.mjs +5 -5
  99. package/esm2022/directives/dynamic-style-class.directive.mjs +5 -5
  100. package/esm2022/directives/included-in.directive.mjs +6 -5
  101. package/esm2022/directives/number.directive.mjs +6 -6
  102. package/esm2022/directives/password-match.directive.mjs +5 -5
  103. package/esm2022/directives/tooltip.directive.mjs +22 -20
  104. package/esm2022/encapsulation/reflect.utilities.mjs +2 -2
  105. package/esm2022/functions/dropdown-values-to-function.function.mjs +1 -1
  106. package/esm2022/functions/get-config-value.function.mjs +2 -2
  107. package/esm2022/functions/get-validation-error-message.function.mjs +1 -1
  108. package/esm2022/functions/get-validation-errors-tooltip-content.function.ts.mjs +1 -1
  109. package/esm2022/global-configuration-values.mjs +2 -1
  110. package/esm2022/mocks/placeholder-data.png.mjs +2 -2
  111. package/esm2022/services/entity.service.mjs +10 -11
  112. package/esm2022/services/unsaved-changes.guard.mjs +1 -1
  113. package/esm2022/utilities/date.utilities.mjs +10 -25
  114. package/esm2022/utilities/entity.utilities.mjs +15 -19
  115. package/esm2022/utilities/file.utilities.mjs +8 -10
  116. package/esm2022/utilities/selection.utilities.mjs +6 -4
  117. package/esm2022/utilities/validation.utilities.mjs +35 -38
  118. package/fesm2022/ngx-material-entity.mjs +728 -671
  119. package/fesm2022/ngx-material-entity.mjs.map +1 -1
  120. package/package.json +8 -8
  121. package/utilities/date.utilities.d.ts +29 -1
@@ -16,7 +16,7 @@ export function importFromJsonMultiAction(EntityServiceClass) {
16
16
  htmlInput.multiple = false;
17
17
  htmlInput.onchange = () => {
18
18
  const file = htmlInput.files?.item(0);
19
- if (file != null) {
19
+ if (file != undefined) {
20
20
  void service.import(file);
21
21
  }
22
22
  };
@@ -28,7 +28,7 @@ export function importFromJsonMultiAction(EntityServiceClass) {
28
28
  * @param selectedEntities - The selected entities to export.
29
29
  */
30
30
  export function exportAsJsonMultiAction(selectedEntities) {
31
- const blob = new Blob([JSON.stringify(selectedEntities, null, '\t')], { type: '.json' });
31
+ const blob = new Blob([JSON.stringify(selectedEntities, undefined, '\t')], { type: '.json' });
32
32
  FileUtilities.downLoadBlob(blob, 'export.json');
33
33
  }
34
34
  /**
@@ -65,6 +65,7 @@ function getLineForEntity(headerList, entity) {
65
65
  for (const head of headerList) {
66
66
  line = line += getLineForHeader(entity, head);
67
67
  }
68
+ // eslint-disable-next-line sonar/no-ignored-return
68
69
  line.slice(0, line.length - 1);
69
70
  return line;
70
71
  }
@@ -79,4 +80,4 @@ function getLineForHeader(entity, head) {
79
80
  }
80
81
  return `${entity[head]}${CSV_SEPARATOR}`;
81
82
  }
82
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC5hY3Rpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW1hdGVyaWFsLWVudGl0eS9zcmMvY29tcG9uZW50cy90YWJsZS9kZWZhdWx0LmFjdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFRLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUc3QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDekUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBRXpFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUUvRCxNQUFNLGFBQWEsR0FBVyxHQUFHLENBQUM7QUFFbEM7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLHlCQUF5QixDQUNyQyxrQkFBbUQ7SUFFbkQsTUFBTSxPQUFPLEdBQThCLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQ3RFLE1BQU0sU0FBUyxHQUFxQixRQUFRLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3BFLFNBQVMsQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDO0lBQ3hCLFNBQVMsQ0FBQyxNQUFNLEdBQUcsa0JBQWtCLENBQUM7SUFDdEMsU0FBUyxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDM0IsU0FBUyxDQUFDLFFBQVEsR0FBRyxHQUFHLEVBQUU7UUFDdEIsTUFBTSxJQUFJLEdBQTRCLFNBQVMsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQy9ELElBQUksSUFBSSxJQUFJLElBQUksRUFBRTtZQUNkLEtBQUssT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUM3QjtJQUNMLENBQUMsQ0FBQztJQUNGLFNBQVMsQ0FB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U0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsYUFBYSxFQUFFLENBQUM7S0FDakU7SUFDRCxPQUFPLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLGFBQWEsRUFBRSxDQUFDO0FBQzdDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUeXBlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQmFzZUVudGl0eVR5cGUgfSBmcm9tICcuLi8uLi9jbGFzc2VzL2VudGl0eS5tb2RlbCc7XG5pbXBvcnQgeyBKczJYbWxVdGlsaXRpZXMgfSBmcm9tICcuLi8uLi9lbmNhcHN1bGF0aW9uL2pzLTIteG1sLnV0aWxpdGllcyc7XG5pbXBvcnQgeyBMb2Rhc2hVdGlsaXRpZXMgfSBmcm9tICcuLi8uLi9lbmNhcHN1bGF0aW9uL2xvZGFzaC51dGlsaXRpZXMnO1xuaW1wb3J0IHsgUmVmbGVjdFV0aWxpdGllcyB9IGZyb20gJy4uLy4uL2VuY2Fwc3VsYXRpb24vcmVmbGVjdC51dGlsaXRpZXMnO1xuaW1wb3J0IHsgRW50aXR5U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2VudGl0eS5zZXJ2aWNlJztcbmltcG9ydCB7IEZpbGVVdGlsaXRpZXMgfSBmcm9tICcuLi8uLi91dGlsaXRpZXMvZmlsZS51dGlsaXRpZXMnO1xuXG5jb25zdCBDU1ZfU0VQQVJBVE9SOiBzdHJpbmcgPSAnOyc7XG5cbi8qKlxuICogQSBtdWx0aSBzZWxlY3QgYWN0aW9uIHRoYXQgaW1wb3J0cyB0aGUgZGF0YSBmcm9tIGEganNvbiBmaWxlLlxuICogQHBhcmFtIEVudGl0eVNlcnZpY2VDbGFzcyAtIFRoZSBlbnRpdHkgY2xhc3MgdGhhdCBoYW5kbGVzIGltcG9ydGluZyB0aGUgZmlsZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGltcG9ydEZyb21Kc29uTXVsdGlBY3Rpb248RW50aXR5VHlwZSBleHRlbmRzIEJhc2VFbnRpdHlUeXBlPEVudGl0eVR5cGU+PihcbiAgICBFbnRpdHlTZXJ2aWNlQ2xhc3M6IFR5cGU8RW50aXR5U2VydmljZTxFbnRpdHlUeXBlPj5cbik6IHZvaWQge1xuICAgIGNvbnN0IHNlcnZpY2U6IEVudGl0eVNlcnZpY2U8RW50aXR5VHlwZT4gPSBpbmplY3QoRW50aXR5U2VydmljZUNsYXNzKTtcbiAgICBjb25zdCBodG1sSW5wdXQ6IEhUTUxJbnB1dEVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbnB1dCcpO1xuICAgIGh0bWxJbnB1dC50eXBlID0gJ2ZpbGUnO1xuICAgIGh0bWxJbnB1dC5hY2NlcHQgPSAnYXBwbGljYXRpb24vanNvbic7XG4gICAgaHRtbElucHV0Lm11bHRpcGxlID0gZmFsc2U7XG4gICAgaHRtbElucHV0Lm9uY2hhbmdlID0gKCkgPT4ge1xuICAgICAgICBjb25zdCBmaWxlOiBGaWxlIHwgdW5kZWZpbmVkIHwgbnVsbCA9IGh0bWxJbnB1dC5maWxlcz8uaXRlbSgwKTtcbiAgICAgICAgaWYgKGZpbGUgIT0gbnVsbCkge1xuICAgICAgICAgICAgdm9pZCBzZXJ2aWNlLmltcG9ydChmaWxlKTtcbiAgICAgICAgfVxuICAgIH07XG4gICAgaHRtbElucHV0LmNsaWNrKCk7XG4gICAgaHRtbElucHV0LnJlbW92ZSgpO1xufVxuXG4vKipcbiAqIEEgbXVsdGkgc2VsZWN0IGFjdGlvbiB0aGF0IGV4cG9ydHMgdGhlIGRhdGEgYXMgYSBqc29uIGZpbGUuXG4gKiBAcGFyYW0gc2VsZWN0ZWRFbnRpdGllcyAtIFRoZSBzZWxlY3RlZCBlbnRpdGllcyB0byBleHBvcnQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBleHBvcnRBc0pzb25NdWx0aUFjdGlvbjxFbnRpdHlUeXBlIGV4dGVuZHMgQmFzZUVudGl0eVR5cGU8RW50aXR5VHlwZT4+KHNlbGVjdGVkRW50aXRpZXM6IEVudGl0eVR5cGVbXSk6IHZvaWQge1xuICAgIGNvbnN0IGJsb2I6IEJsb2IgPSBuZXcgQmxvYihbSlNPTi5zdHJpbmdpZnkoc2VsZWN0ZWRFbnRpdGllcywgbnVsbCwgJ1xcdCcpXSwgeyB0eXBlOiAnLmpzb24nIH0pO1xuICAgIEZpbGVVdGlsaXRpZXMuZG93bkxvYWRCbG9iKGJsb2IsICdleHBvcnQuanNvbicpO1xufVxuXG4vKipcbiAqIEEgbXVsdGkgc2VsZWN0IGFjdGlvbiB0aGF0IGV4cG9ydHMgdGhlIGRhdGEgYXMgYSBjc3YgZmlsZS5cbiAqIE9iamVjdCB2YWx1ZXMgZ2V0IHN0cmluZ2lmaWVkLlxuICogQHBhcmFtIHNlbGVjdGVkRW50aXRpZXMgLSBUaGUgc2VsZWN0ZWQgZW50aXRpZXMgdG8gZXhwb3J0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gZXhwb3J0QXNDc3ZNdWx0aUFjdGlvbjxFbnRpdHlUeXBlIGV4dGVuZHMgQmFzZUVudGl0eVR5cGU8RW50aXR5VHlwZT4+KHNlbGVjdGVkRW50aXRpZXM6IEVudGl0eVR5cGVbXSk6IHZvaWQge1xuICAgIGNvbnN0IGJsb2I6IEJsb2IgPSBuZXcgQmxvYihbY29udmVydFRvQ3N2KHNlbGVjdGVkRW50aXRpZXMsIFJlZmxlY3RVdGlsaXRpZXMub3duS2V5cyhzZWxlY3RlZEVudGl0aWVzWzBdKSldLCB7IHR5cGU6ICcuY3N2JyB9KTtcbiAgICBGaWxlVXRpbGl0aWVzLmRvd25Mb2FkQmxvYihibG9iLCAnZXhwb3J0LmNzdicpO1xufVxuXG4vKipcbiAqIEEgbXVsdGkgc2VsZWN0IGFjdGlvbiB0aGF0IGV4cG9ydHMgdGhlIGRhdGEgYXMgYSB4bWwgZmlsZS5cbiAqIE9iamVjdCB2YWx1ZXMgZ2V0IHN0cmluZ2lmaWVkLlxuICogQHBhcmFtIHNlbGVjdGVkRW50aXRpZXMgLSBUaGUgc2VsZWN0ZWQgZW50aXRpZXMgdG8gZXhwb3J0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gZXhwb3J0QXNYbWxNdWx0aUFjdGlvbjxFbnRpdHlUeXBlIGV4dGVuZHMgQmFzZUVudGl0eVR5cGU8RW50aXR5VHlwZT4+KHNlbGVjdGVkRW50aXRpZXM6IEVudGl0eVR5cGVbXSk6IHZvaWQge1xuICAgIGNvbnN0IHhtbFN0cmluZzogc3RyaW5nID0gSnMyWG1sVXRpbGl0aWVzLnBhcnNlKCd2YWx1ZXMnLCBzZWxlY3RlZEVudGl0aWVzKTtcbiAgICBjb25zdCBibG9iOiBCbG9iID0gbmV3IEJsb2IoW3htbFN0cmluZ10sIHsgdHlwZTogJy54bWwnIH0pO1xuICAgIEZpbGVVdGlsaXRpZXMuZG93bkxvYWRCbG9iKGJsb2IsICdleHBvcnQueG1sJyk7XG59XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG5mdW5jdGlvbiBjb252ZXJ0VG9Dc3Y8RW50aXR5VHlwZSBleHRlbmRzIEJhc2VFbnRpdHlUeXBlPEVudGl0eVR5cGU+PihhcnJheTogRW50aXR5VHlwZVtdLCBoZWFkZXJMaXN0OiAoa2V5b2YgRW50aXR5VHlwZSlbXSk6IHN0cmluZyB7XG4gICAgY29uc3QgaGVhZGVyUm93OiBzdHJpbmcgPSBoZWFkZXJMaXN0LmpvaW4oQ1NWX1NFUEFSQVRPUik7XG4gICAgbGV0IHJlc3VsdDogc3RyaW5nID0gaGVhZGVyUm93ICsgJ1xcclxcbic7XG4gICAgZm9yIChjb25zdCBlbnRpdHkgb2YgYXJyYXkpIHtcbiAgICAgICAgcmVzdWx0ICs9IGdldExpbmVGb3JFbnRpdHk8RW50aXR5VHlwZT4oaGVhZGVyTGlzdCwgZW50aXR5KSArICdcXHJcXG4nO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xufVxuXG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG5mdW5jdGlvbiBnZXRMaW5lRm9yRW50aXR5PEVudGl0eVR5cGUgZXh0ZW5kcyBCYXNlRW50aXR5VHlwZTxFbnRpdHlUeXBlPj4oaGVhZGVyTGlzdDogKGtleW9mIEVudGl0eVR5cGUpW10sIGVudGl0eTogRW50aXR5VHlwZSk6IHN0cmluZyB7XG4gICAgbGV0IGxpbmU6IHN0cmluZyA9ICcnO1xuICAgIGZvciAoY29uc3QgaGVhZCBvZiBoZWFkZXJMaXN0KSB7XG4gICAgICAgIGxpbmUgPSBsaW5lICs9IGdldExpbmVGb3JIZWFkZXI8RW50aXR5VHlwZT4oZW50aXR5LCBoZWFkKTtcbiAgICB9XG4gICAgbGluZS5zbGljZSgwLCBsaW5lLmxlbmd0aCAtIDEpO1xuICAgIHJldHVybiBsaW5lO1xufVxuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuZnVuY3Rpb24gZ2V0TGluZUZvckhlYWRlcjxFbnRpdHlUeXBlIGV4dGVuZHMgQmFzZUVudGl0eVR5cGU8RW50aXR5VHlwZT4+KGVudGl0eTogRW50aXR5VHlwZSwgaGVhZDoga2V5b2YgRW50aXR5VHlwZSk6IHN0cmluZyB7XG4gICAgY29uc3QgdmFsdWU6IHVua25vd24gPSBlbnRpdHlbaGVhZF07XG4gICAgaWYgKExvZGFzaFV0aWxpdGllcy5pc09iamVjdCh2YWx1ZSkpIHtcbiAgICAgICAgcmV0dXJuIGAke0pTT04uc3RyaW5naWZ5KHZhbHVlKX0ke0NTVl9TRVBBUkFUT1J9YDtcbiAgICB9XG4gICAgaWYgKExvZGFzaFV0aWxpdGllcy5pc0FycmF5KHZhbHVlKSAmJiBMb2Rhc2hVdGlsaXRpZXMuaXNPYmplY3QodmFsdWVbMF0pKSB7XG4gICAgICAgIHJldHVybiBgJHt2YWx1ZS5tYXAodiA9PiBKU09OLnN0cmluZ2lmeSh2KSl9JHtDU1ZfU0VQQVJBVE9SfWA7XG4gICAgfVxuICAgIHJldHVybiBgJHtlbnRpdHlbaGVhZF19JHtDU1ZfU0VQQVJBVE9SfWA7XG59Il19
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC5hY3Rpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW1hdGVyaWFsLWVudGl0eS9zcmMvY29tcG9uZW50cy90YWJsZS9kZWZhdWx0LmFjdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFRLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUc3QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDekUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBRXpFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUUvRCxNQUFNLGFBQWEsR0FBVyxHQUFHLENBQUM7QUFFbEM7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLHlCQUF5QixDQUNyQyxrQkFBbUQ7SUFFbkQsTUFBTSxPQUFPLEdBQThCLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQ3RFLE1BQU0sU0FBUyxHQUFxQixRQUFRLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3BFLFNBQVMsQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDO0lBQ3hCLFNBQVMsQ0FBQyxNQUFNLEdBQUcsa0JBQWtCLENBQUM7SUFDdEMsU0FBUyxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDM0IsU0FBUyxDQUFDLFFBQVEsR0FBRyxHQUFHLEVBQUU7UUFDdEIsTUFBTSxJQUFJLEdBQTRCLFNBQVMsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQy9ELElBQUksSUFBSSxJQUFJLFNBQVMsRUFBRSxDQUFDO1lBQ3BCLEtBQUssT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM5QixDQUFDO0lBQ0wsQ0FBQyxDQUFDO0lB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QUFPLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxhQUFhLEVBQUUsQ0FBQztJQUNsRSxDQUFDO0lBQ0QsT0FBTyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxhQUFhLEVBQUUsQ0FBQztBQUM3QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHlwZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEJhc2VFbnRpdHlUeXBlIH0gZnJvbSAnLi4vLi4vY2xhc3Nlcy9lbnRpdHkubW9kZWwnO1xuaW1wb3J0IHsgSnMyWG1sVXRpbGl0aWVzIH0gZnJvbSAnLi4vLi4vZW5jYXBzdWxhdGlvbi9qcy0yLXhtbC51dGlsaXRpZXMnO1xuaW1wb3J0IHsgTG9kYXNoVXRpbGl0aWVzIH0gZnJvbSAnLi4vLi4vZW5jYXBzdWxhdGlvbi9sb2Rhc2gudXRpbGl0aWVzJztcbmltcG9ydCB7IFJlZmxlY3RVdGlsaXRpZXMgfSBmcm9tICcuLi8uLi9lbmNhcHN1bGF0aW9uL3JlZmxlY3QudXRpbGl0aWVzJztcbmltcG9ydCB7IEVudGl0eVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9lbnRpdHkuc2VydmljZSc7XG5pbXBvcnQgeyBGaWxlVXRpbGl0aWVzIH0gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL2ZpbGUudXRpbGl0aWVzJztcblxuY29uc3QgQ1NWX1NFUEFSQVRPUjogc3RyaW5nID0gJzsnO1xuXG4vKipcbiAqIEEgbXVsdGkgc2VsZWN0IGFjdGlvbiB0aGF0IGltcG9ydHMgdGhlIGRhdGEgZnJvbSBhIGpzb24gZmlsZS5cbiAqIEBwYXJhbSBFbnRpdHlTZXJ2aWNlQ2xhc3MgLSBUaGUgZW50aXR5IGNsYXNzIHRoYXQgaGFuZGxlcyBpbXBvcnRpbmcgdGhlIGZpbGUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpbXBvcnRGcm9tSnNvbk11bHRpQWN0aW9uPEVudGl0eVR5cGUgZXh0ZW5kcyBCYXNlRW50aXR5VHlwZTxFbnRpdHlUeXBlPj4oXG4gICAgRW50aXR5U2VydmljZUNsYXNzOiBUeXBlPEVudGl0eVNlcnZpY2U8RW50aXR5VHlwZT4+XG4pOiB2b2lkIHtcbiAgICBjb25zdCBzZXJ2aWNlOiBFbnRpdHlTZXJ2aWNlPEVudGl0eVR5cGU+ID0gaW5qZWN0KEVudGl0eVNlcnZpY2VDbGFzcyk7XG4gICAgY29uc3QgaHRtbElucHV0OiBIVE1MSW5wdXRFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTtcbiAgICBodG1sSW5wdXQudHlwZSA9ICdmaWxlJztcbiAgICBodG1sSW5wdXQuYWNjZXB0ID0gJ2FwcGxpY2F0aW9uL2pzb24nO1xuICAgIGh0bWxJbnB1dC5tdWx0aXBsZSA9IGZhbHNlO1xuICAgIGh0bWxJbnB1dC5vbmNoYW5nZSA9ICgpID0+IHtcbiAgICAgICAgY29uc3QgZmlsZTogRmlsZSB8IHVuZGVmaW5lZCB8IG51bGwgPSBodG1sSW5wdXQuZmlsZXM/Lml0ZW0oMCk7XG4gICAgICAgIGlmIChmaWxlICE9IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdm9pZCBzZXJ2aWNlLmltcG9ydChmaWxlKTtcbiAgICAgICAgfVxuICAgIH07XG4gICAgaHRtbElucHV0LmNsaWNrKCk7XG4gICAgaHRtbElucHV0LnJlbW92ZSgpO1xufVxuXG4vKipcbiAqIEEgbXVsdGkgc2VsZWN0IGFjdGlvbiB0aGF0IGV4cG9ydHMgdGhlIGRhdGEgYXMgYSBqc29uIGZpbGUuXG4gKiBAcGFyYW0gc2VsZWN0ZWRFbnRpdGllcyAtIFRoZSBzZWxlY3RlZCBlbnRpdGllcyB0byBleHBvcnQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBleHBvcnRBc0pzb25NdWx0aUFjdGlvbjxFbnRpdHlUeXBlIGV4dGVuZHMgQmFzZUVudGl0eVR5cGU8RW50aXR5VHlwZT4+KHNlbGVjdGVkRW50aXRpZXM6IEVudGl0eVR5cGVbXSk6IHZvaWQge1xuICAgIGNvbnN0IGJsb2I6IEJsb2IgPSBuZXcgQmxvYihbSlNPTi5zdHJpbmdpZnkoc2VsZWN0ZWRFbnRpdGllcywgdW5kZWZpbmVkLCAnXFx0JyldLCB7IHR5cGU6ICcuanNvbicgfSk7XG4gICAgRmlsZVV0aWxpdGllcy5kb3duTG9hZEJsb2IoYmxvYiwgJ2V4cG9ydC5qc29uJyk7XG59XG5cbi8qKlxuICogQSBtdWx0aSBzZWxlY3QgYWN0aW9uIHRoYXQgZXhwb3J0cyB0aGUgZGF0YSBhcyBhIGNzdiBmaWxlLlxuICogT2JqZWN0IHZhbHVlcyBnZXQgc3RyaW5naWZpZWQuXG4gKiBAcGFyYW0gc2VsZWN0ZWRFbnRpdGllcyAtIFRoZSBzZWxlY3RlZCBlbnRpdGllcyB0byBleHBvcnQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBleHBvcnRBc0Nzdk11bHRpQWN0aW9uPEVudGl0eVR5cGUgZXh0ZW5kcyBCYXNlRW50aXR5VHlwZTxFbnRpdHlUeXBlPj4oc2VsZWN0ZWRFbnRpdGllczogRW50aXR5VHlwZVtdKTogdm9pZCB7XG4gICAgY29uc3QgYmxvYjogQmxvYiA9IG5ldyBCbG9iKFtjb252ZXJ0VG9Dc3Yoc2VsZWN0ZWRFbnRpdGllcywgUmVmbGVjdFV0aWxpdGllcy5vd25LZXlzKHNlbGVjdGVkRW50aXRpZXNbMF0pKV0sIHsgdHlwZTogJy5jc3YnIH0pO1xuICAgIEZpbGVVdGlsaXRpZXMuZG93bkxvYWRCbG9iKGJsb2IsICdleHBvcnQuY3N2Jyk7XG59XG5cbi8qKlxuICogQSBtdWx0aSBzZWxlY3QgYWN0aW9uIHRoYXQgZXhwb3J0cyB0aGUgZGF0YSBhcyBhIHhtbCBmaWxlLlxuICogT2JqZWN0IHZhbHVlcyBnZXQgc3RyaW5naWZpZWQuXG4gKiBAcGFyYW0gc2VsZWN0ZWRFbnRpdGllcyAtIFRoZSBzZWxlY3RlZCBlbnRpdGllcyB0byBleHBvcnQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBleHBvcnRBc1htbE11bHRpQWN0aW9uPEVudGl0eVR5cGUgZXh0ZW5kcyBCYXNlRW50aXR5VHlwZTxFbnRpdHlUeXBlPj4oc2VsZWN0ZWRFbnRpdGllczogRW50aXR5VHlwZVtdKTogdm9pZCB7XG4gICAgY29uc3QgeG1sU3RyaW5nOiBzdHJpbmcgPSBKczJYbWxVdGlsaXRpZXMucGFyc2UoJ3ZhbHVlcycsIHNlbGVjdGVkRW50aXRpZXMpO1xuICAgIGNvbnN0IGJsb2I6IEJsb2IgPSBuZXcgQmxvYihbeG1sU3RyaW5nXSwgeyB0eXBlOiAnLnhtbCcgfSk7XG4gICAgRmlsZVV0aWxpdGllcy5kb3duTG9hZEJsb2IoYmxvYiwgJ2V4cG9ydC54bWwnKTtcbn1cblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbmZ1bmN0aW9uIGNvbnZlcnRUb0NzdjxFbnRpdHlUeXBlIGV4dGVuZHMgQmFzZUVudGl0eVR5cGU8RW50aXR5VHlwZT4+KGFycmF5OiBFbnRpdHlUeXBlW10sIGhlYWRlckxpc3Q6IChrZXlvZiBFbnRpdHlUeXBlKVtdKTogc3RyaW5nIHtcbiAgICBjb25zdCBoZWFkZXJSb3c6IHN0cmluZyA9IGhlYWRlckxpc3Quam9pbihDU1ZfU0VQQVJBVE9SKTtcbiAgICBsZXQgcmVzdWx0OiBzdHJpbmcgPSBoZWFkZXJSb3cgKyAnXFxyXFxuJztcbiAgICBmb3IgKGNvbnN0IGVudGl0eSBvZiBhcnJheSkge1xuICAgICAgICByZXN1bHQgKz0gZ2V0TGluZUZvckVudGl0eTxFbnRpdHlUeXBlPihoZWFkZXJMaXN0LCBlbnRpdHkpICsgJ1xcclxcbic7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG59XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG5mdW5jdGlvbiBnZXRMaW5lRm9yRW50aXR5PEVudGl0eVR5cGUgZXh0ZW5kcyBCYXNlRW50aXR5VHlwZTxFbnRpdHlUeXBlPj4oaGVhZGVyTGlzdDogKGtleW9mIEVudGl0eVR5cGUpW10sIGVudGl0eTogRW50aXR5VHlwZSk6IHN0cmluZyB7XG4gICAgbGV0IGxpbmU6IHN0cmluZyA9ICcnO1xuICAgIGZvciAoY29uc3QgaGVhZCBvZiBoZWFkZXJMaXN0KSB7XG4gICAgICAgIGxpbmUgPSBsaW5lICs9IGdldExpbmVGb3JIZWFkZXI8RW50aXR5VHlwZT4oZW50aXR5LCBoZWFkKTtcbiAgICB9XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHNvbmFyL25vLWlnbm9yZWQtcmV0dXJuXG4gICAgbGluZS5zbGljZSgwLCBsaW5lLmxlbmd0aCAtIDEpO1xuICAgIHJldHVybiBsaW5lO1xufVxuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuZnVuY3Rpb24gZ2V0TGluZUZvckhlYWRlcjxFbnRpdHlUeXBlIGV4dGVuZHMgQmFzZUVudGl0eVR5cGU8RW50aXR5VHlwZT4+KGVudGl0eTogRW50aXR5VHlwZSwgaGVhZDoga2V5b2YgRW50aXR5VHlwZSk6IHN0cmluZyB7XG4gICAgY29uc3QgdmFsdWU6IHVua25vd24gPSBlbnRpdHlbaGVhZF07XG4gICAgaWYgKExvZGFzaFV0aWxpdGllcy5pc09iamVjdCh2YWx1ZSkpIHtcbiAgICAgICAgcmV0dXJuIGAke0pTT04uc3RyaW5naWZ5KHZhbHVlKX0ke0NTVl9TRVBBUkFUT1J9YDtcbiAgICB9XG4gICAgaWYgKExvZGFzaFV0aWxpdGllcy5pc0FycmF5KHZhbHVlKSAmJiBMb2Rhc2hVdGlsaXRpZXMuaXNPYmplY3QodmFsdWVbMF0pKSB7XG4gICAgICAgIHJldHVybiBgJHt2YWx1ZS5tYXAodiA9PiBKU09OLnN0cmluZ2lmeSh2KSl9JHtDU1ZfU0VQQVJBVE9SfWA7XG4gICAgfVxuICAgIHJldHVybiBgJHtlbnRpdHlbaGVhZF19JHtDU1ZfU0VQQVJBVE9SfWA7XG59Il19
@@ -5,28 +5,23 @@ import * as i0 from "@angular/core";
5
5
  *
6
6
  * Contains the entity for which the component gets displayed.
7
7
  */
8
- // eslint-disable-next-line angular/prefer-standalone-component
8
+ // eslint-disable-next-line angular/prefer-standalone
9
9
  export class NgxMatEntityBaseDisplayColumnValueComponent {
10
10
  /**
11
11
  * The entity for which the component gets displayed.
12
12
  */
13
13
  entity;
14
- constructor() { }
15
- ngOnInit() {
16
- if (this.entity == null) {
17
- throw new Error('The provided entity is null');
18
- }
19
- }
20
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: NgxMatEntityBaseDisplayColumnValueComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
21
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.0", type: NgxMatEntityBaseDisplayColumnValueComponent, selector: "ngx-mat-entity-base-display-column-value", inputs: { entity: "entity" }, ngImport: i0, template: '', isInline: true });
14
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: NgxMatEntityBaseDisplayColumnValueComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
15
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.0", type: NgxMatEntityBaseDisplayColumnValueComponent, selector: "ngx-mat-entity-base-display-column-value", inputs: { entity: "entity" }, ngImport: i0, template: '', isInline: true });
22
16
  }
23
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: NgxMatEntityBaseDisplayColumnValueComponent, decorators: [{
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: NgxMatEntityBaseDisplayColumnValueComponent, decorators: [{
24
18
  type: Component,
25
19
  args: [{
26
20
  selector: 'ngx-mat-entity-base-display-column-value',
27
21
  template: ''
28
22
  }]
29
- }], ctorParameters: function () { return []; }, propDecorators: { entity: [{
30
- type: Input
23
+ }], propDecorators: { entity: [{
24
+ type: Input,
25
+ args: [{ required: true }]
31
26
  }] } });
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1kaXNwbGF5LWNvbHVtbi12YWx1ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbWF0ZXJpYWwtZW50aXR5L3NyYy9jb21wb25lbnRzL3RhYmxlL2Rpc3BsYXktY29sdW1uLXZhbHVlL2Jhc2UtZGlzcGxheS1jb2x1bW4tdmFsdWUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDOztBQUl6RDs7OztHQUlHO0FBQ0gsK0RBQStEO0FBSy9ELE1BQU0sT0FBZ0IsMkNBQTJDO0lBRTdEOztPQUVHO0lBRUgsTUFBTSxDQUFjO0lBRXBCLGdCQUFnQixDQUFDO0lBRWpCLFFBQVE7UUFDSixJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxFQUFFO1lBQ3JCLE1BQU0sSUFBSSxLQUFLLENBQUMsNkJBQTZCLENBQUMsQ0FBQztTQUNsRDtJQUNMLENBQUM7dUdBZGlCLDJDQUEyQzsyRkFBM0MsMkNBQTJDLDhHQUZuRCxFQUFFOzsyRkFFTSwyQ0FBMkM7a0JBSmhFLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLDBDQUEwQztvQkFDcEQsUUFBUSxFQUFFLEVBQUU7aUJBQ2Y7MEVBT0csTUFBTTtzQkFETCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEJhc2VFbnRpdHlUeXBlIH0gZnJvbSAnLi4vLi4vLi4vY2xhc3Nlcy9lbnRpdHkubW9kZWwnO1xuXG4vKipcbiAqIFRoZSBiYXNlIGNvbXBvbmVudCBmb3IgY3VzdG9tIGRpc3BsYXkgdmFsdWVzLlxuICpcbiAqIENvbnRhaW5zIHRoZSBlbnRpdHkgZm9yIHdoaWNoIHRoZSBjb21wb25lbnQgZ2V0cyBkaXNwbGF5ZWQuXG4gKi9cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBhbmd1bGFyL3ByZWZlci1zdGFuZGFsb25lLWNvbXBvbmVudFxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICduZ3gtbWF0LWVudGl0eS1iYXNlLWRpc3BsYXktY29sdW1uLXZhbHVlJyxcbiAgICB0ZW1wbGF0ZTogJydcbn0pXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgTmd4TWF0RW50aXR5QmFzZURpc3BsYXlDb2x1bW5WYWx1ZUNvbXBvbmVudDxFbnRpdHlUeXBlIGV4dGVuZHMgQmFzZUVudGl0eVR5cGU8RW50aXR5VHlwZT4+IGltcGxlbWVudHMgT25Jbml0IHtcblxuICAgIC8qKlxuICAgICAqIFRoZSBlbnRpdHkgZm9yIHdoaWNoIHRoZSBjb21wb25lbnQgZ2V0cyBkaXNwbGF5ZWQuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBlbnRpdHkhOiBFbnRpdHlUeXBlO1xuXG4gICAgY29uc3RydWN0b3IoKSB7IH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5lbnRpdHkgPT0gbnVsbCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdUaGUgcHJvdmlkZWQgZW50aXR5IGlzIG51bGwnKTtcbiAgICAgICAgfVxuICAgIH1cbn0iXX0=
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1kaXNwbGF5LWNvbHVtbi12YWx1ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbWF0ZXJpYWwtZW50aXR5L3NyYy9jb21wb25lbnRzL3RhYmxlL2Rpc3BsYXktY29sdW1uLXZhbHVlL2Jhc2UtZGlzcGxheS1jb2x1bW4tdmFsdWUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUlqRDs7OztHQUlHO0FBQ0gscURBQXFEO0FBS3JELE1BQU0sT0FBZ0IsMkNBQTJDO0lBQzdEOztPQUVHO0lBRUgsTUFBTSxDQUFjO3VHQUxGLDJDQUEyQzsyRkFBM0MsMkNBQTJDLDhHQUZuRCxFQUFFOzsyRkFFTSwyQ0FBMkM7a0JBSmhFLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLDBDQUEwQztvQkFDcEQsUUFBUSxFQUFFLEVBQUU7aUJBQ2Y7OEJBTUcsTUFBTTtzQkFETCxLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQmFzZUVudGl0eVR5cGUgfSBmcm9tICcuLi8uLi8uLi9jbGFzc2VzL2VudGl0eS5tb2RlbCc7XG5cbi8qKlxuICogVGhlIGJhc2UgY29tcG9uZW50IGZvciBjdXN0b20gZGlzcGxheSB2YWx1ZXMuXG4gKlxuICogQ29udGFpbnMgdGhlIGVudGl0eSBmb3Igd2hpY2ggdGhlIGNvbXBvbmVudCBnZXRzIGRpc3BsYXllZC5cbiAqL1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGFuZ3VsYXIvcHJlZmVyLXN0YW5kYWxvbmVcbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbmd4LW1hdC1lbnRpdHktYmFzZS1kaXNwbGF5LWNvbHVtbi12YWx1ZScsXG4gICAgdGVtcGxhdGU6ICcnXG59KVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIE5neE1hdEVudGl0eUJhc2VEaXNwbGF5Q29sdW1uVmFsdWVDb21wb25lbnQ8RW50aXR5VHlwZSBleHRlbmRzIEJhc2VFbnRpdHlUeXBlPEVudGl0eVR5cGU+PiB7XG4gICAgLyoqXG4gICAgICogVGhlIGVudGl0eSBmb3Igd2hpY2ggdGhlIGNvbXBvbmVudCBnZXRzIGRpc3BsYXllZC5cbiAgICAgKi9cbiAgICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KVxuICAgIGVudGl0eSE6IEVudGl0eVR5cGU7XG59Il19
@@ -21,25 +21,21 @@ export class DisplayColumnValueComponent {
21
21
  this.viewContainerRef = viewContainerRef;
22
22
  }
23
23
  ngOnInit() {
24
- if (this.ComponentClass == null) {
25
- throw new Error('No ComponentClass has been provided.');
26
- }
27
- if (this.entity == null) {
28
- throw new Error('No entity value has been provided.');
29
- }
30
24
  this.component = this.viewContainerRef.createComponent(this.ComponentClass);
31
25
  this.component.instance.entity = this.entity;
32
26
  this.component.location.nativeElement.setAttribute('style', 'width: 100%');
33
27
  }
34
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: DisplayColumnValueComponent, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component });
35
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.0", type: DisplayColumnValueComponent, isStandalone: true, selector: "display-column-value", inputs: { entity: "entity", ComponentClass: "ComponentClass" }, ngImport: i0, template: "", styles: [""] });
28
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: DisplayColumnValueComponent, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component });
29
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.0", type: DisplayColumnValueComponent, isStandalone: true, selector: "display-column-value", inputs: { entity: "entity", ComponentClass: "ComponentClass" }, ngImport: i0, template: "", styles: [""] });
36
30
  }
37
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: DisplayColumnValueComponent, decorators: [{
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: DisplayColumnValueComponent, decorators: [{
38
32
  type: Component,
39
33
  args: [{ selector: 'display-column-value', standalone: true, imports: [], template: "" }]
40
- }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }]; }, propDecorators: { entity: [{
41
- type: Input
34
+ }], ctorParameters: () => [{ type: i0.ViewContainerRef }], propDecorators: { entity: [{
35
+ type: Input,
36
+ args: [{ required: true }]
42
37
  }], ComponentClass: [{
43
- type: Input
38
+ type: Input,
39
+ args: [{ required: true }]
44
40
  }] } });
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzcGxheS1jb2x1bW4tdmFsdWUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW1hdGVyaWFsLWVudGl0eS9zcmMvY29tcG9uZW50cy90YWJsZS9kaXNwbGF5LWNvbHVtbi12YWx1ZS9kaXNwbGF5LWNvbHVtbi12YWx1ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbWF0ZXJpYWwtZW50aXR5L3NyYy9jb21wb25lbnRzL3RhYmxlL2Rpc3BsYXktY29sdW1uLXZhbHVlL2Rpc3BsYXktY29sdW1uLXZhbHVlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWdCLEtBQUssRUFBVSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBSy9GOztHQUVHO0FBU0gsTUFBTSxPQUFPLDJCQUEyQjtJQW1CUDtJQWpCN0I7O09BRUc7SUFFSCxNQUFNLENBQWM7SUFFcEI7O09BRUc7SUFFSCxjQUFjLENBQWlFO0lBRS9FOztPQUVHO0lBQ0gsU0FBUyxDQUF5RTtJQUVsRixZQUE2QixnQkFBa0M7UUFBbEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtJQUFHLENBQUM7SUFFbkUsUUFBUTtRQUNKLElBQUksSUFBSSxDQUFDLGNBQWMsSUFBSSxJQUFJLEVBQUU7WUFDN0IsTUFBTSxJQUFJLEtBQUssQ0FBQyxzQ0FBc0MsQ0FBQyxDQUFDO1NBQzNEO1FBQ0QsSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksRUFBRTtZQUNyQixNQUFNLElBQUksS0FBSyxDQUFDLG9DQUFvQyxDQUFDLENBQUM7U0FDekQ7UUFDRCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQzVFLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQzVDLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLGFBQTZCLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxhQUFhLENBQUMsQ0FBQztJQUNoRyxDQUFDO3VHQS9CUSwyQkFBMkI7MkZBQTNCLDJCQUEyQixnSkNoQnhDLEVBQUE7OzJGRGdCYSwyQkFBMkI7a0JBUnZDLFNBQVM7K0JBRUksc0JBQXNCLGNBR3BCLElBQUksV0FDUCxFQUFFO3VHQVFYLE1BQU07c0JBREwsS0FBSztnQkFPTixjQUFjO3NCQURiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIENvbXBvbmVudFJlZiwgSW5wdXQsIE9uSW5pdCwgVHlwZSwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBOZ3hNYXRFbnRpdHlCYXNlRGlzcGxheUNvbHVtblZhbHVlQ29tcG9uZW50IH0gZnJvbSAnLi9iYXNlLWRpc3BsYXktY29sdW1uLXZhbHVlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCYXNlRW50aXR5VHlwZSB9IGZyb20gJy4uLy4uLy4uL2NsYXNzZXMvZW50aXR5Lm1vZGVsJztcblxuLyoqXG4gKiBUaGUgY29tcG9uZW50IHRoYXQgZGlzcGxheXMgdGhlIGN1c3RvbSBkaXNwbGF5IGNvbHVtbiB2YWx1ZS5cbiAqL1xuQENvbXBvbmVudCh7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGFuZ3VsYXIvY29tcG9uZW50LXNlbGVjdG9yXG4gICAgc2VsZWN0b3I6ICdkaXNwbGF5LWNvbHVtbi12YWx1ZScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2Rpc3BsYXktY29sdW1uLXZhbHVlLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9kaXNwbGF5LWNvbHVtbi12YWx1ZS5jb21wb25lbnQuc2NzcyddLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW11cbn0pXG5leHBvcnQgY2xhc3MgRGlzcGxheUNvbHVtblZhbHVlQ29tcG9uZW50PEVudGl0eVR5cGUgZXh0ZW5kcyBCYXNlRW50aXR5VHlwZTxFbnRpdHlUeXBlPj4gaW1wbGVtZW50cyBPbkluaXQge1xuXG4gICAgLyoqXG4gICAgICogVGhlIGVudGl0eSBmb3Igd2hpY2ggdGhlIGNvbHVtbiBzaG91bGQgYmUgZGlzcGxheWVkLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgZW50aXR5ITogRW50aXR5VHlwZTtcblxuICAgIC8qKlxuICAgICAqIFRoZSBjbGFzcyBvZiB0aGUgY29tcG9uZW50IHRoYXQgc2hvdWxkIGJlIHVzZWQgaW5zaWRlIHRoZSBjdXN0b20gZGlzcGxheSBjb2x1bW4uXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBDb21wb25lbnRDbGFzcyE6IFR5cGU8Tmd4TWF0RW50aXR5QmFzZURpc3BsYXlDb2x1bW5WYWx1ZUNvbXBvbmVudDxFbnRpdHlUeXBlPj47XG5cbiAgICAvKipcbiAgICAgKiBUaGUgYWN0dWFsIGNvbXBvbmVudCB0aGF0IGlzIHVzZWQgaW5zaWRlIHRoZSBjdXN0b20gZGlzcGxheSBjb2x1bW4uXG4gICAgICovXG4gICAgY29tcG9uZW50ITogQ29tcG9uZW50UmVmPE5neE1hdEVudGl0eUJhc2VEaXNwbGF5Q29sdW1uVmFsdWVDb21wb25lbnQ8RW50aXR5VHlwZT4+O1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmKSB7fVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLkNvbXBvbmVudENsYXNzID09IG51bGwpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignTm8gQ29tcG9uZW50Q2xhc3MgaGFzIGJlZW4gcHJvdmlkZWQuJyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuZW50aXR5ID09IG51bGwpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignTm8gZW50aXR5IHZhbHVlIGhhcyBiZWVuIHByb3ZpZGVkLicpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuY29tcG9uZW50ID0gdGhpcy52aWV3Q29udGFpbmVyUmVmLmNyZWF0ZUNvbXBvbmVudCh0aGlzLkNvbXBvbmVudENsYXNzKTtcbiAgICAgICAgdGhpcy5jb21wb25lbnQuaW5zdGFuY2UuZW50aXR5ID0gdGhpcy5lbnRpdHk7XG4gICAgICAgICh0aGlzLmNvbXBvbmVudC5sb2NhdGlvbi5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50KS5zZXRBdHRyaWJ1dGUoJ3N0eWxlJywgJ3dpZHRoOiAxMDAlJyk7XG4gICAgfVxufSIsIiJdfQ==
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzcGxheS1jb2x1bW4tdmFsdWUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW1hdGVyaWFsLWVudGl0eS9zcmMvY29tcG9uZW50cy90YWJsZS9kaXNwbGF5LWNvbHVtbi12YWx1ZS9kaXNwbGF5LWNvbHVtbi12YWx1ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbWF0ZXJpYWwtZW50aXR5L3NyYy9jb21wb25lbnRzL3RhYmxlL2Rpc3BsYXktY29sdW1uLXZhbHVlL2Rpc3BsYXktY29sdW1uLXZhbHVlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWdCLEtBQUssRUFBVSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBSy9GOztHQUVHO0FBU0gsTUFBTSxPQUFPLDJCQUEyQjtJQW1CUDtJQWpCN0I7O09BRUc7SUFFSCxNQUFNLENBQWM7SUFFcEI7O09BRUc7SUFFSCxjQUFjLENBQWlFO0lBRS9FOztPQUVHO0lBQ0gsU0FBUyxDQUF5RTtJQUVsRixZQUE2QixnQkFBa0M7UUFBbEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtJQUFHLENBQUM7SUFFbkUsUUFBUTtRQUNKLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDNUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDNUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsYUFBNkIsQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLGFBQWEsQ0FBQyxDQUFDO0lBQ2hHLENBQUM7dUdBekJRLDJCQUEyQjsyRkFBM0IsMkJBQTJCLGdKQ2hCeEMsRUFBQTs7MkZEZ0JhLDJCQUEyQjtrQkFSdkMsU0FBUzsrQkFFSSxzQkFBc0IsY0FHcEIsSUFBSSxXQUNQLEVBQUU7cUZBUVgsTUFBTTtzQkFETCxLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFPekIsY0FBYztzQkFEYixLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQ29tcG9uZW50UmVmLCBJbnB1dCwgT25Jbml0LCBUeXBlLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE5neE1hdEVudGl0eUJhc2VEaXNwbGF5Q29sdW1uVmFsdWVDb21wb25lbnQgfSBmcm9tICcuL2Jhc2UtZGlzcGxheS1jb2x1bW4tdmFsdWUuY29tcG9uZW50JztcbmltcG9ydCB7IEJhc2VFbnRpdHlUeXBlIH0gZnJvbSAnLi4vLi4vLi4vY2xhc3Nlcy9lbnRpdHkubW9kZWwnO1xuXG4vKipcbiAqIFRoZSBjb21wb25lbnQgdGhhdCBkaXNwbGF5cyB0aGUgY3VzdG9tIGRpc3BsYXkgY29sdW1uIHZhbHVlLlxuICovXG5AQ29tcG9uZW50KHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgYW5ndWxhci9jb21wb25lbnQtc2VsZWN0b3JcbiAgICBzZWxlY3RvcjogJ2Rpc3BsYXktY29sdW1uLXZhbHVlJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZGlzcGxheS1jb2x1bW4tdmFsdWUuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2Rpc3BsYXktY29sdW1uLXZhbHVlLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbXVxufSlcbmV4cG9ydCBjbGFzcyBEaXNwbGF5Q29sdW1uVmFsdWVDb21wb25lbnQ8RW50aXR5VHlwZSBleHRlbmRzIEJhc2VFbnRpdHlUeXBlPEVudGl0eVR5cGU+PiBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgZW50aXR5IGZvciB3aGljaCB0aGUgY29sdW1uIHNob3VsZCBiZSBkaXNwbGF5ZWQuXG4gICAgICovXG4gICAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSlcbiAgICBlbnRpdHkhOiBFbnRpdHlUeXBlO1xuXG4gICAgLyoqXG4gICAgICogVGhlIGNsYXNzIG9mIHRoZSBjb21wb25lbnQgdGhhdCBzaG91bGQgYmUgdXNlZCBpbnNpZGUgdGhlIGN1c3RvbSBkaXNwbGF5IGNvbHVtbi5cbiAgICAgKi9cbiAgICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KVxuICAgIENvbXBvbmVudENsYXNzITogVHlwZTxOZ3hNYXRFbnRpdHlCYXNlRGlzcGxheUNvbHVtblZhbHVlQ29tcG9uZW50PEVudGl0eVR5cGU+PjtcblxuICAgIC8qKlxuICAgICAqIFRoZSBhY3R1YWwgY29tcG9uZW50IHRoYXQgaXMgdXNlZCBpbnNpZGUgdGhlIGN1c3RvbSBkaXNwbGF5IGNvbHVtbi5cbiAgICAgKi9cbiAgICBjb21wb25lbnQhOiBDb21wb25lbnRSZWY8Tmd4TWF0RW50aXR5QmFzZURpc3BsYXlDb2x1bW5WYWx1ZUNvbXBvbmVudDxFbnRpdHlUeXBlPj47XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYpIHt9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jb21wb25lbnQgPSB0aGlzLnZpZXdDb250YWluZXJSZWYuY3JlYXRlQ29tcG9uZW50KHRoaXMuQ29tcG9uZW50Q2xhc3MpO1xuICAgICAgICB0aGlzLmNvbXBvbmVudC5pbnN0YW5jZS5lbnRpdHkgPSB0aGlzLmVudGl0eTtcbiAgICAgICAgKHRoaXMuY29tcG9uZW50LmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQpLnNldEF0dHJpYnV0ZSgnc3R5bGUnLCAnd2lkdGg6IDEwMCUnKTtcbiAgICB9XG59IiwiIl19
@@ -11,7 +11,7 @@ import { ConfirmDialogDataBuilder } from '../../confirm-dialog/confirm-dialog-da
11
11
  * The internal edit action.
12
12
  * Sets default values.
13
13
  */
14
- export let EditActionInternal = class EditActionInternal {
14
+ let EditActionInternal = class EditActionInternal {
15
15
  globalConfig;
16
16
  // eslint-disable-next-line jsdoc/require-jsdoc
17
17
  displayName;
@@ -43,6 +43,7 @@ export let EditActionInternal = class EditActionInternal {
43
43
  resolve(originalFunction(e, ePriorChanges));
44
44
  }
45
45
  catch (error) {
46
+ // eslint-disable-next-line promise/no-multiple-resolved
46
47
  reject(error);
47
48
  }
48
49
  });
@@ -52,10 +53,11 @@ EditActionInternal = __decorate([
52
53
  __param(1, Inject(NGX_COMPLETE_GLOBAL_DEFAULT_VALUES)),
53
54
  __metadata("design:paramtypes", [Object, Object])
54
55
  ], EditActionInternal);
56
+ export { EditActionInternal };
55
57
  /**
56
58
  * The internal EditData. Requires all default values the user can leave out.
57
59
  */
58
- export let EditDataInternal = class EditDataInternal {
60
+ let EditDataInternal = class EditDataInternal {
59
61
  // eslint-disable-next-line jsdoc/require-jsdoc
60
62
  title;
61
63
  // eslint-disable-next-line jsdoc/require-jsdoc
@@ -99,6 +101,7 @@ EditDataInternal = __decorate([
99
101
  __param(12, Inject(NGX_COMPLETE_GLOBAL_DEFAULT_VALUES)),
100
102
  __metadata("design:paramtypes", [Function, String, String, String, Boolean, Boolean, Boolean, Object, Object, Object, String, Array, Object])
101
103
  ], EditDataInternal);
104
+ export { EditDataInternal };
102
105
  /**
103
106
  * The Builder for the EditData. Sets default values.
104
107
  */
@@ -108,17 +111,20 @@ export class EditDataBuilder extends BaseBuilder {
108
111
  }
109
112
  // eslint-disable-next-line jsdoc/require-jsdoc
110
113
  generateBaseData(data) {
114
+ // eslint-disable-next-line stylistic/max-len
111
115
  const confirmEditDialogData = new ConfirmDialogDataBuilder(this.globalConfig, data?.confirmEditDialogData)
112
116
  .withDefault('confirmButtonLabel', this.globalConfig.saveLabel)
113
117
  .withDefault('text', this.globalConfig.confirmSaveText)
114
118
  .withDefault('title', this.globalConfig.editLabel)
115
119
  .getResult();
120
+ // eslint-disable-next-line stylistic/max-len
116
121
  const confirmDeleteDialogData = new ConfirmDialogDataBuilder(this.globalConfig, data?.confirmDeleteDialogData)
117
122
  .withDefault('confirmButtonLabel', this.globalConfig.deleteLabel)
118
123
  .withDefault('type', 'delete')
119
124
  .withDefault('text', this.globalConfig.confirmDeleteText)
120
125
  .withDefault('title', this.globalConfig.deleteLabel)
121
126
  .getResult();
127
+ // eslint-disable-next-line stylistic/max-len
122
128
  const confirmUnsavedChangesDialogData = new ConfirmDialogDataBuilder(this.globalConfig, data?.confirmUnsavedChangesDialogData)
123
129
  .withDefault('confirmButtonLabel', this.globalConfig.confirmUnsavedChangesDialogLabel)
124
130
  .withDefault('text', this.globalConfig.confirmUnsavedChangesDialogText)
@@ -127,4 +133,4 @@ export class EditDataBuilder extends BaseBuilder {
127
133
  return new EditDataInternal(getConfigValue(this.globalConfig.editTitle, data?.title), getConfigValue(this.globalConfig.saveLabel, data?.confirmButtonLabel), getConfigValue(this.globalConfig.deleteLabel, data?.deleteButtonLabel), getConfigValue(this.globalConfig.cancelLabel, data?.cancelButtonLabel), data?.deleteRequiresConfirmDialog ?? true, data?.editRequiresConfirmDialog ?? false, data?.unsavedChangesRequireConfirmDialog ?? true, confirmDeleteDialogData, confirmEditDialogData, confirmUnsavedChangesDialogData, getConfigValue(this.globalConfig.actionsLabel, data?.actionsLabel), data?.actions ?? [], this.globalConfig);
128
134
  }
129
135
  }
130
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdC1kYXRhLmJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbWF0ZXJpYWwtZW50aXR5L3NyYy9jb21wb25lbnRzL3RhYmxlL2VkaXQtZGlhbG9nL2VkaXQtZGF0YS5idWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXZDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUU1RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDekUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDaEYsT0FBTyxFQUFFLGtDQUFrQyxFQUEwQixNQUFNLHNDQUFzQyxDQUFDO0FBRWxILE9BQU8sRUFBRSx3QkFBd0IsRUFBNkIsTUFBTSxrREFBa0QsQ0FBQztBQUd2SDs7O0dBR0c7QUFDSCxXQUFhLGtCQUFrQixHQUEvQixNQUFhLGtCQUFrQjtJQWVKO0lBZHZCLCtDQUErQztJQUMvQyxXQUFXLENBQVM7SUFDcEIsK0NBQStDO0lBQy9DLE1BQU0sQ0FBMkU7SUFDakYsK0NBQStDO0lBQy9DLE9BQU8sQ0FBK0I7SUFDdEMsK0NBQStDO0lBQy9DLG9CQUFvQixDQUErQjtJQUNuRCwrQ0FBK0M7SUFDL0MsaUJBQWlCLENBQW9CO0lBRXJDLFlBQ0ksSUFBNEIsRUFFVCxZQUFvQztRQUFwQyxpQkFBWSxHQUFaLFlBQVksQ0FBd0I7UUFFdkQsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJ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bmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQmFzZUJ1aWxkZXIgfSBmcm9tICcuLi8uLi8uLi9jbGFzc2VzL2Jhc2UuYnVpbGRlcic7XG5pbXBvcnQgeyBCYXNlRW50aXR5VHlwZSB9IGZyb20gJy4uLy4uLy4uL2NsYXNzZXMvZW50aXR5Lm1vZGVsJztcbmltcG9ydCB7IGRlZmF1bHRGYWxzZSB9IGZyb20gJy4uLy4uLy4uL2Z1bmN0aW9ucy9kZWZhdWx0LWZhbHNlLmZ1bmN0aW9uJztcbmltcG9ydCB7IGRlZmF1bHRUcnVlIH0gZnJvbSAnLi4vLi4vLi4vZnVuY3Rpb25zL2RlZmF1bHQtdHJ1ZS5mdW5jdGlvbic7XG5pbXBvcnQgeyBnZXRDb25maWdWYWx1ZSB9IGZyb20gJy4uLy4uLy4uL2Z1bmN0aW9ucy9nZXQtY29uZmlnLXZhbHVlLmZ1bmN0aW9uJztcbmltcG9ydCB7IGlzQXN5bmNGdW5jdGlvbiB9IGZyb20gJy4uLy4uLy4uL2Z1bmN0aW9ucy9pcy1hc3luYy1mdW5jdGlvbi5mdW5jdGlvbic7XG5pbXBvcnQgeyBOR1hfQ09NUExFVEVfR0xPQkFMX0RFRkFVTFRfVkFMVUVTLCBOZ3hHbG9iYWxEZWZhdWx0VmFsdWVzIH0gZnJvbSAnLi4vLi4vLi4vZ2xvYmFsLWNvbmZpZ3VyYXRpb24tdmFsdWVzJztcbmltcG9ydCB7IENvbmZpcm1EaWFsb2dEYXRhIH0gZnJvbSAnLi4vLi4vY29uZmlybS1kaWFsb2cvY29uZmlybS1kaWFsb2ctZGF0YSc7XG5pbXBvcnQgeyBDb25maXJtRGlhbG9nRGF0YUJ1aWxkZXIsIENvbmZpcm1EaWFsb2dEYXRhSW50ZXJuYWwgfSBmcm9tICcuLi8uLi9jb25maXJtLWRpYWxvZy9jb25maXJtLWRpYWxvZy1kYXRhLmJ1aWxkZXInO1xuaW1wb3J0IHsgRWRpdEFjdGlvbiwgRWRpdERhdGEgfSBmcm9tICcuLi90YWJsZS1kYXRhJztcblxuLyoqXG4gKiBUaGUgaW50ZXJuYWwgZWRpdCBhY3Rpb24uXG4gKiBTZXRzIGRlZmF1bHQgdmFsdWVzLlxuICovXG5leHBvcnQgY2xhc3MgRWRpdEFjdGlvbkludGVybmFsPEVudGl0eVR5cGUgZXh0ZW5kcyBCYXNlRW50aXR5VHlwZTxFbnRpdHlUeXBlPj4gaW1wbGVtZW50cyBFZGl0QWN0aW9uPEVudGl0eVR5cGU+IHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIGRpc3BsYXlOYW1lOiBzdHJpbmc7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICBhY3Rpb246IChlbnRpdHk6IEVudGl0eVR5cGUsIGVudGl0eVByaW9yQ2hhbmdlczogRW50aXR5VHlwZSkgPT4gUHJvbWlzZTx1bmtub3duPjtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIGVuYWJsZWQ6ICgoZTogRW50aXR5VHlwZSkgPT4gYm9vbGVhbik7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICByZXF1aXJlQ29uZmlybURpYWxvZzogKChlOiBFbnRpdHlUeXBlKSA9PiBib29sZWFuKTtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIGNvbmZpcm1EaWFsb2dEYXRhOiBDb25maXJtRGlhbG9nRGF0YTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBkYXRhOiBFZGl0QWN0aW9uPEVudGl0eVR5cGU+LFxuICAgICAgICBASW5qZWN0KE5HWF9DT01QTEVURV9HTE9CQUxfREVGQVVMVF9WQUxVRVMpXG4gICAgICAgIHByb3RlY3RlZCByZWFkb25seSBnbG9iYWxDb25maWc6IE5neEdsb2JhbERlZmF1bHRWYWx1ZXNcbiAgICApIHtcbiAgICAgICAgdGhpcy5kaXNwbGF5TmFtZSA9IGRhdGEuZGlzcGxheU5hbWU7XG4gICAgICAgIHRoaXMuYWN0aW9uID0gdGhpcy5mdW5jdGlvblRvQXN5bmMoZGF0YS5hY3Rpb24pO1xuICAgICAgICB0aGlzLmVuYWJsZWQgPSBkYXRhLmVuYWJsZWQgPz8gZGVmYXVsdFRydWU7XG4gICAgICAgIHRoaXMucmVxdWlyZUNvbmZpcm1EaWFsb2cgPSBkYXRhLnJlcXVpcmVDb25maXJtRGlhbG9nID8/IGRlZmF1bHRGYWxzZTtcbiAgICAgICAgdGhpcy5jb25maXJtRGlhbG9nRGF0YSA9IG5ldyBDb25maXJtRGlhbG9nRGF0YUJ1aWxkZXIodGhpcy5nbG9iYWxDb25maWcsIGRhdGEuY29uZmlybURpYWxvZ0RhdGEpXG4gICAgICAgICAgICAud2l0aERlZmF1bHQoJ3RleHQnLCBnbG9iYWxDb25maWcuY29uZmlybUJhc2VBY3Rpb25UZXh0KVxuICAgICAgICAgICAgLmdldFJlc3VsdCgpO1xuICAgIH1cblxuXG4gICAgcHJpdmF0ZSBmdW5jdGlvblRvQXN5bmMob3JpZ2luYWxGdW5jdGlvbjogKChlOiBFbnRpdHlUeXBlLCBlUHJpb3JDaGFuZ2VzOiBFbnRpdHlUeXBlKSA9PiB1bmtub3duKSB8ICgoZTogRW50aXR5VHlwZSwgZVByaW9yQ2hhbmdlczogRW50aXR5VHlwZSkgPT4gUHJvbWlzZTx1bmtub3duPikpOiAoZTogRW50aXR5VHlwZSwgZVByaW9yQ2hhbmdlczogRW50aXR5VHlwZSkgPT4gUHJvbWlzZTx1bmtub3duPiB7XG4gICAgICAgIGlmIChpc0FzeW5jRnVuY3Rpb24ob3JpZ2luYWxGdW5jdGlvbikpIHtcbiAgICAgICAgICAgIHJldHVybiBvcmlnaW5hbEZ1bmN0aW9uIGFzIChlOiBFbnRpdHlUeXBlKSA9PiBQcm9taXNlPHVua25vd24+O1xuICAgICAgICB9XG5cbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICAgICAgcmV0dXJuIChlOiBFbnRpdHlUeXBlLCBlUHJpb3JDaGFuZ2VzOiBFbnRpdHlUeXBlKSA9PiBuZXcgUHJvbWlzZTx1bmtub3duPigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIHJlc29sdmUob3JpZ2luYWxGdW5jdGlvbihlLCBlUHJpb3JDaGFuZ2VzKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgICAgICByZWplY3QoZXJyb3IpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG59XG5cbi8qKlxuICogVGhlIGludGVybmFsIEVkaXREYXRhLiBSZXF1aXJlcyBhbGwgZGVmYXVsdCB2YWx1ZXMgdGhlIHVzZXIgY2FuIGxlYXZlIG91dC5cbiAqL1xuZXhwb3J0IGNsYXNzIEVkaXREYXRhSW50ZXJuYWw8RW50aXR5VHlwZSBleHRlbmRzIEJhc2VFbnRpdHlUeXBlPEVudGl0eVR5cGU+PiBpbXBsZW1lbnRzIEVkaXREYXRhPEVudGl0eVR5cGU+IHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIHRpdGxlOiAoZW50aXR5OiBFbnRpdHlUeXBlKSA9PiBzdHJpbmc7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICBjb25maXJtQnV0dG9uTGFiZWw6IHN0cmluZztcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIGRlbGV0ZUJ1dHRvbkxhYmVsOiBzdHJpbmc7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICBjYW5jZWxCdXR0b25MYWJlbDogc3RyaW5nO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gICAgZGVsZXRlUmVxdWlyZXNDb25maXJtRGlhbG9nOiBib29sZWFuO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gICAgZWRpdFJlcXVpcmVzQ29uZmlybURpYWxvZzogYm9vbGVhbjtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIGNvbmZpcm1EZWxldGVEaWFsb2dEYXRhOiBDb25maXJtRGlhbG9nRGF0YTtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIGNvbmZpcm1FZGl0RGlhbG9nRGF0YTogQ29uZmlybURpYWxvZ0RhdGE7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICB1bnNhdmVkQ2hhbmdlc1JlcXVpcmVDb25maXJtRGlhbG9nOiBib29sZWFuO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gICAgY29uZmlybVVuc2F2ZWRDaGFuZ2VzRGlhbG9nRGF0YTogQ29uZmlybURpYWxvZ0RhdGE7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICBhY3Rpb25zTGFiZWw6IHN0cmluZztcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIGFjdGlvbnM6IEVkaXRBY3Rpb25JbnRlcm5hbDxFbnRpdHlUeXBlPltdO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHRpdGxlOiAoZW50aXR5OiBFbnRpdHlUeXBlKSA9PiBzdHJpbmcsXG4gICAgICAgIGNvbmZpcm1CdXR0b25MYWJlbDogc3RyaW5nLFxuICAgICAgICBkZWxldGVCdXR0b25MYWJlbDogc3RyaW5nLFxuICAgICAgICBjYW5jZWxCdXR0b25MYWJlbDogc3RyaW5nLFxuICAgICAgICBkZWxldGVSZXF1aXJlc0NvbmZpcm1EaWFsb2c6IGJvb2xlYW4sXG4gICAgICAgIGVkaXRSZXF1aXJlc0NvbmZpcm1EaWFsb2c6IGJvb2xlYW4sXG4gICAgICAgIHVuc2F2ZWRDaGFuZ2VzUmVxdWlyZUNvbmZpcm1EaWFsb2c6IGJvb2xlYW4sXG4gICAgICAgIGNvbmZpcm1EZWxldGVEaWFsb2dEYXRhOiBDb25maXJtRGlhbG9nRGF0YSxcbiAgICAgICAgY29uZmlybUVkaXREaWFsb2dEYXRhOiBDb25maXJtRGlhbG9nRGF0YSxcbiAgICAgICAgY29uZmlybVVuc2F2ZWRDaGFuZ2VzRGlhbG9nRGF0YTogQ29uZmlybURpYWxvZ0RhdGEsXG4gICAgICAgIGFjdGlvbnNMYWJlbDogc3RyaW5nLFxuICAgICAgICBhY3Rpb25zOiBFZGl0QWN0aW9uPEVudGl0eVR5cGU+W10sXG4gICAgICAgIEBJbmplY3QoTkdYX0NPTVBMRVRFX0dMT0JBTF9ERUZBVUxUX1ZBTFVFUylcbiAgICAgICAgZ2xvYmFsQ29uZmlnOiBOZ3hHbG9iYWxEZWZhdWx0VmFsdWVzXG4gICAgKSB7XG4gICAgICAgIHRoaXMudGl0bGUgPSB0aXRsZTtcbiAgICAgICAgdGhpcy5jb25maXJtQnV0dG9uTGFiZWwgPSBjb25maXJtQnV0dG9uTGFiZWw7XG4gICAgICAgIHRoaXMuZGVsZXRlQnV0dG9uTGFiZWwgPSBkZWxldGVCdXR0b25MYWJlbDtcbiAgICAgICAgdGhpcy5jYW5jZWxCdXR0b25MYWJlbCA9IGNhbmNlbEJ1dHRvbkxhYmVsO1xuICAgICAgICB0aGlzLmRlbGV0ZVJlcXVpcmVzQ29uZmlybURpYWxvZyA9IGRlbGV0ZVJlcXVpcmVzQ29uZmlybURpYWxvZztcbiAgICAgICAgdGhpcy5lZGl0UmVxdWlyZXNDb25maXJtRGlhbG9nID0gZWRpdFJlcXVpcmVzQ29uZmlybURpYWxvZztcbiAgICAgICAgdGhpcy51bnNhdmVkQ2hhbmdlc1JlcXVpcmVDb25maXJtRGlhbG9nID0gdW5zYXZlZENoYW5nZXNSZXF1aXJlQ29uZmlybURpYWxvZztcbiAgICAgICAgdGhpcy5jb25maXJtRGVsZXRlRGlhbG9nRGF0YSA9IGNvbmZpcm1EZWxldGVEaWFsb2dEYXRhO1xuICAgICAgICB0aGlzLmNvbmZpcm1FZGl0RGlhbG9nRGF0YSA9IGNvbmZpcm1FZGl0RGlhbG9nRGF0YTtcbiAgICAgICAgdGhpcy5jb25maXJtVW5zYXZlZENoYW5nZXNEaWFsb2dEYXRhID0gY29uZmlybVVuc2F2ZWRDaGFuZ2VzRGlhbG9nRGF0YTtcbiAgICAgICAgdGhpcy5hY3Rpb25zTGFiZWwgPSBhY3Rpb25zTGFiZWw7XG4gICAgICAgIHRoaXMuYWN0aW9ucyA9IGFjdGlvbnMubWFwKGEgPT4gbmV3IEVkaXRBY3Rpb25JbnRlcm5hbChhLCBnbG9iYWxDb25maWcpKTtcbiAgICB9XG59XG5cbi8qKlxuICogVGhlIEJ1aWxkZXIgZm9yIHRoZSBFZGl0RGF0YS4gU2V0cyBkZWZhdWx0IHZhbHVlcy5cbiAqL1xuZXhwb3J0IGNsYXNzIEVkaXREYXRhQnVpbGRlcjxFbnRpdHlUeXBlIGV4dGVuZHMgQmFzZUVudGl0eVR5cGU8RW50aXR5VHlwZT4+XG4gICAgZXh0ZW5kcyBCYXNlQnVpbGRlcjxFZGl0RGF0YUludGVybmFsPEVudGl0eVR5cGU+LCBFZGl0RGF0YTxFbnRpdHlUeXBlPj4ge1xuXG4gICAgY29uc3RydWN0b3IoZ2xvYmFsQ29uZmlnOiBOZ3hHbG9iYWxEZWZhdWx0VmFsdWVzLCBkYXRhPzogRWRpdERhdGE8RW50aXR5VHlwZT4pIHtcbiAgICAgICAgc3VwZXIoZ2xvYmFsQ29uZmlnLCBkYXRhKTtcbiAgICB9XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIHByb3RlY3RlZCBnZW5lcmF0ZUJhc2VEYXRhKGRhdGE/OiBFZGl0RGF0YTxFbnRpdHlUeXBlPik6IEVkaXREYXRhSW50ZXJuYWw8RW50aXR5VHlwZT4ge1xuICAgICAgICBjb25zdCBjb25maXJtRWRpdERpYWxvZ0RhdGE6IENvbmZpcm1EaWFsb2dEYXRhSW50ZXJuYWwgPSBuZXcgQ29uZmlybURpYWxvZ0RhdGFCdWlsZGVyKHRoaXMuZ2xvYmFsQ29uZmlnLCBkYXRhPy5jb25maXJtRWRpdERpYWxvZ0RhdGEpXG4gICAgICAgICAgICAud2l0aERlZmF1bHQoJ2NvbmZpcm1CdXR0b25MYWJlbCcsIHRoaXMuZ2xvYmFsQ29uZmlnLnNhdmVMYWJlbClcbiAgICAgICAgICAgIC53aXRoRGVmYXVsdCgndGV4dCcsIHRoaXMuZ2xvYmFsQ29uZmlnLmNvbmZpcm1TYXZlVGV4dClcbiAgICAgICAgICAgIC53aXRoRGVmYXVsdCgndGl0bGUnLCB0aGlzLmdsb2JhbENvbmZpZy5lZGl0TGFiZWwpXG4gICAgICAgICAgICAuZ2V0UmVzdWx0KCk7XG5cbiAgICAgICAgY29uc3QgY29uZmlybURlbGV0ZURpYWxvZ0RhdGE6IENvbmZpcm1EaWFsb2dEYXRhSW50ZXJuYWwgPSBuZXcgQ29uZmlybURpYWxvZ0RhdGFCdWlsZGVyKHRoaXMuZ2xvYmFsQ29uZmlnLCBkYXRhPy5jb25maXJtRGVsZXRlRGlhbG9nRGF0YSlcbiAgICAgICAgICAgIC53aXRoRGVmYXVsdCgnY29uZmlybUJ1dHRvbkxhYmVsJywgdGhpcy5nbG9iYWxDb25maWcuZGVsZXRlTGFiZWwpXG4gICAgICAgICAgICAud2l0aERlZmF1bHQoJ3R5cGUnLCAnZGVsZXRlJylcbiAgICAgICAgICAgIC53aXRoRGVmYXVsdCgndGV4dCcsIHRoaXMuZ2xvYmFsQ29uZmlnLmNvbmZpcm1EZWxldGVUZXh0KVxuICAgICAgICAgICAgLndpdGhEZWZhdWx0KCd0aXRsZScsIHRoaXMuZ2xvYmFsQ29uZmlnLmRlbGV0ZUxhYmVsKVxuICAgICAgICAgICAgLmdldFJlc3VsdCgpO1xuXG4gICAgICAgIGNvbnN0IGNvbmZpcm1VbnNhdmVkQ2hhbmdlc0RpYWxvZ0RhdGE6IENvbmZpcm1EaWFsb2dEYXRhSW50ZXJuYWwgPSBuZXcgQ29uZmlybURpYWxvZ0RhdGFCdWlsZGVyKHRoaXMuZ2xvYmFsQ29uZmlnLCBkYXRhPy5jb25maXJtVW5zYXZlZENoYW5nZXNEaWFsb2dEYXRhKVxuICAgICAgICAgICAgLndpdGhEZWZhdWx0KCdjb25maXJtQnV0dG9uTGFiZWwnLCB0aGlzLmdsb2JhbENvbmZpZy5jb25maXJtVW5zYXZlZENoYW5nZXNEaWFsb2dMYWJlbClcbiAgICAgICAgICAgIC53aXRoRGVmYXVsdCgndGV4dCcsIHRoaXMuZ2xvYmFsQ29uZmlnLmNvbmZpcm1VbnNhdmVkQ2hhbmdlc0RpYWxvZ1RleHQpXG4gICAgICAgICAgICAud2l0aERlZmF1bHQoJ3RpdGxlJywgdGhpcy5nbG9iYWxDb25maWcuY29uZmlybVVuc2F2ZWRDaGFuZ2VzVGl0bGUpXG4gICAgICAgICAgICAuZ2V0UmVzdWx0KCk7XG5cbiAgICAgICAgcmV0dXJuIG5ldyBFZGl0RGF0YUludGVybmFsKFxuICAgICAgICAgICAgZ2V0Q29uZmlnVmFsdWUodGhpcy5nbG9iYWxDb25maWcuZWRpdFRpdGxlLCBkYXRhPy50aXRsZSksXG4gICAgICAgICAgICBnZXRDb25maWdWYWx1ZSh0aGlzLmdsb2JhbENvbmZpZy5zYXZlTGFiZWwsIGRhdGE/LmNvbmZpcm1CdXR0b25MYWJlbCksXG4gICAgICAgICAgICBnZXRDb25maWdWYWx1ZSh0aGlzLmdsb2JhbENvbmZpZy5kZWxldGVMYWJlbCwgZGF0YT8uZGVsZXRlQnV0dG9uTGFiZWwpLFxuICAgICAgICAgICAgZ2V0Q29uZmlnVmFsdWUodGhpcy5nbG9iYWxDb25maWcuY2FuY2VsTGFiZWwsIGRhdGE/LmNhbmNlbEJ1dHRvbkxhYmVsKSxcbiAgICAgICAgICAgIGRhdGE/LmRlbGV0ZVJlcXVpcmVzQ29uZmlybURpYWxvZyA/PyB0cnVlLFxuICAgICAgICAgICAgZGF0YT8uZWRpdFJlcXVpcmVzQ29uZmlybURpYWxvZyA/PyBmYWxzZSxcbiAgICAgICAgICAgIGRhdGE/LnVuc2F2ZWRDaGFuZ2VzUmVxdWlyZUNvbmZpcm1EaWFsb2cgPz8gdHJ1ZSxcbiAgICAgICAgICAgIGNvbmZpcm1EZWxldGVEaWFsb2dEYXRhLFxuICAgICAgICAgICAgY29uZmlybUVkaXREaWFsb2dEYXRhLFxuICAgICAgICAgICAgY29uZmlybVVuc2F2ZWRDaGFuZ2VzRGlhbG9nRGF0YSxcbiAgICAgICAgICAgIGdldENvbmZpZ1ZhbHVlKHRoaXMuZ2xvYmFsQ29uZmlnLmFjdGlvbnNMYWJlbCwgZGF0YT8uYWN0aW9uc0xhYmVsKSxcbiAgICAgICAgICAgIGRhdGE/LmFjdGlvbnMgPz8gW10sXG4gICAgICAgICAgICB0aGlzLmdsb2JhbENvbmZpZ1xuICAgICAgICApO1xuICAgIH1cbn0iXX0=
136
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdC1kYXRhLmJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbWF0ZXJpYWwtZW50aXR5L3NyYy9jb21wb25lbnRzL3RhYmxlL2VkaXQtZGlhbG9nL2VkaXQtZGF0YS5idWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXZDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUU1RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDekUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDaEYsT0FBTyxFQUFFLGtDQUFrQyxFQUEwQixNQUFNLHNDQUFzQyxDQUFDO0FBRWxILE9BQU8sRUFBRSx3QkFBd0IsRUFBNkIsTUFBTSxrREFBa0QsQ0FBQztBQUd2SDs7O0dBR0c7QUFDSCxJQUFhLGtCQUFrQixHQUEvQixNQUFhLGtCQUFrQjtJQWVKO0lBZHZCLCtDQUErQztJQUMvQyxXQUFXLENBQVM7SUFDcEIsK0NBQStDO0lBQy9DLE1BQU0sQ0FBMkU7SUFDakYsK0NBQStDO0lBQy9DLE9BQU8sQ0FBK0I7SUFDdEMsK0NBQStDO0lBQy9DLG9CQUFvQixDQUErQjtJQUNuRCwrQ0FBK0M7SUFDL0MsaUJBQWlCLENBQW9CO0lBRXJDLFlBQ0ksSUFBNEIsRUFFVCxZQUFvQztRQUFwQyxpQkFBWSxHQUFaLFlBQVksQ0FBd0I7UUFFdkQsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDaEQsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxJQUFJLFdBQVcsQ0FBQztRQUMzQyxJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixJQUFJLFlBQVksQ0FBQztRQUN0RSxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQzthQUMzRixXQUFXLENBQUMsTUFBTSxFQUFFLFlBQVksQ0FBQyxxQkFBcUIsQ0FBQzthQUN2RCxTQUFTLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRU8sZUFBZSxDQUNuQixnQkFDa0U7UUFFbEUsSUFBSSxlQUFlLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxDQUFDO1lBQ3BDLE9BQU8sZ0JBQXVELENBQUM7UUFDbkUsQ0FBQztRQUVELDBCQUEwQjtRQUMxQixPQUFPLENBQUMsQ0FBYSxFQUFFLGFBQXlCLEVBQUUsRUFBRSxDQUFDLElBQUksT0FBTyxDQUFVLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1lBQzFGLElBQUksQ0FBQztnQkFDRCxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxFQUFFLGFBQWEsQ0FBQyxDQUFDLENBQUM7WUFDaEQsQ0FBQztZQUNELE9BQU8sS0FBSyxFQUFFLENBQUM7Z0JBQ1gsd0RBQXdEO2dCQUN4RCxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDbEIsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztDQUNKLENBQUE7QUE3Q1ksa0JBQWtCO0lBY3RCLFdBQUEsTUFBTSxDQUFDLGtDQUFrQyxDQUFDLENBQUE7O0dBZHRDLGtCQUFrQixDQTZDOUI7O0FBRUQ7O0dBRUc7QUFDSCxJQUFhLGdCQUFnQixHQUE3QixNQUFhLGdCQUFnQjtJQUN6QiwrQ0FBK0M7SUFDL0MsS0FBSyxDQUFpQztJQUN0QywrQ0FBK0M7SUFDL0Msa0JBQWtCLENBQVM7SUFDM0IsK0NBQStDO0lBQy9DLGlCQUFpQixDQUFTO0lBQzFCLCtDQUErQztJQUMvQyxpQkFBaUIsQ0FBUztJQUMxQiwrQ0FBK0M7SUFDL0MsMkJBQTJCLENBQVU7SUFDckMsK0NBQStDO0lBQy9DLHlCQUF5QixDQUFVO0lBQ25DLCtDQUErQztJQUMvQyx1QkFBdUIsQ0FBb0I7SUFDM0MsK0NBQStDO0lBQy9DLHFCQUFxQixDQUFvQjtJQUN6QywrQ0FBK0M7SUFDL0Msa0NBQWtDLENBQVU7SUFDNUMsK0NBQStDO0lBQy9DLCtCQUErQixDQUFvQjtJQUNuRCwrQ0FBK0M7SUFDL0MsWUFBWSxDQUFTO0lBQ3JCLCtDQUErQztJQUMvQyxPQUFPLENBQW1DO0lBRTFDLFlBQ0ksS0FBcUMsRUFDckMsa0JBQTBCLEVBQzFCLGlCQUF5QixFQUN6QixpQkFBeUIsRUFDekIsMkJBQW9DLEVBQ3BDLHlCQUFrQyxFQUNsQyxrQ0FBMkMsRUFDM0MsdUJBQTBDLEVBQzFDLHFCQUF3QyxFQUN4QywrQkFBa0QsRUFDbEQsWUFBb0IsRUFDcEIsT0FBaUMsRUFFakMsWUFBb0M7UUFFcEMsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLGtCQUFrQixHQUFHLGtCQUFrQixDQUFDO1FBQzdDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxpQkFBaUIsQ0FBQztRQUMzQyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsaUJBQWlCLENBQUM7UUFDM0MsSUFBSSxDQUFDLDJCQUEyQixHQUFHLDJCQUEyQixDQUFDO1FBQy9ELElBQUksQ0FBQyx5QkFBeUIsR0FBRyx5QkFBeUIsQ0FBQztRQUMzRCxJQUFJLENBQUMsa0NBQWtDLEdBQUcsa0NBQWtDLENBQUM7UUFDN0UsSUFBSSxDQUFDLHVCQUF1QixHQUFHLHVCQUF1QixDQUFDO1FBQ3ZELElBQUksQ0FBQyxxQkFBcUIsR0FBRyxxQkFBcUIsQ0FBQztRQUNuRCxJQUFJLENBQUMsK0JBQStCLEdBQUcsK0JBQStCLENBQUM7UUFDdkUsSUFBSSxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUM7UUFDakMsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxrQkFBa0IsQ0FBQyxDQUFDLEVBQUUsWUFBWSxDQUFDLENBQUMsQ0FBQztJQUM3RSxDQUFDO0NBQ0osQ0FBQTtBQXZEWSxnQkFBZ0I7SUF1Q3BCLFlBQUEsTUFBTSxDQUFDLGtDQUFrQyxDQUFDLENBQUE7O0dBdkN0QyxnQkFBZ0IsQ0F1RDVCOztBQUVEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGVBQ1QsU0FBUSxXQUErRDtJQUV2RSxZQUFZLFlBQW9DLEVBQUUsSUFBMkI7UUFDekUsS0FBSyxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQsK0NBQStDO0lBQ3JDLGdCQUFnQixDQUFDLElBQTJCO1FBQ2xELDZDQUE2QztRQUM3QyxNQUFNLHFCQUFxQixHQUE4QixJQUFJLHdCQUF3QixDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsSUFBSSxFQUFFLHFCQUFxQixDQUFDO2FBQ2hJLFdBQVcsQ0FBQyxvQkFBb0IsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQzthQUM5RCxXQUFXLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsZUFBZSxDQUFDO2FBQ3RELFdBQVcsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUM7YUFDakQsU0FBUyxFQUFFLENBQUM7UUFFakIsNkNBQTZDO1FBQzdDLE1BQU0sdUJBQXVCLEdBQThCLElBQUksd0JBQXdCLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxJQUFJLEVBQUUsdUJBQXVCLENBQUM7YUFDcEksV0FBVyxDQUFDLG9CQUFvQixFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDO2FBQ2hFLFdBQVcsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDO2FBQzdCLFdBQVcsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxpQkFBaUIsQ0FBQzthQUN4RCxXQUFXLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDO2FBQ25ELFNBQVMsRUFBRSxDQUFDO1FBRWpCLDZDQUE2QztRQUM3QyxNQUFNLCtCQUErQixHQUE4QixJQUFJLHdCQUF3QixDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsSUFBSSxFQUFFLCtCQUErQixDQUFDO2FBQ3BKLFdBQVcsQ0FBQyxvQkFBb0IsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLGdDQUFnQyxDQUFDO2FBQ3JGLFdBQVcsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQywrQkFBK0IsQ0FBQzthQUN0RSxXQUFXLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsMEJBQTBCLENBQUM7YUFDbEUsU0FBUyxFQUFFLENBQUM7UUFFakIsT0FBTyxJQUFJLGdCQUFnQixDQUN2QixjQUFjLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQyxFQUN4RCxjQUFjLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLEVBQUUsSUFBSSxFQUFFLGtCQUFrQixDQUFDLEVBQ3JFLGNBQWMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxJQUFJLEVBQUUsaUJBQWlCLENBQUMsRUFDdEUsY0FBYyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLElBQUksRUFBRSxpQkFBaUIsQ0FBQyxFQUN0RSxJQUFJLEVBQUUsMkJBQTJCLElBQUksSUFBSSxFQUN6QyxJQUFJLEVBQUUseUJBQXlCLElBQUksS0FBSyxFQUN4QyxJQUFJLEVBQUUsa0NBQWtDLElBQUksSUFBSSxFQUNoRCx1QkFBdUIsRUFDdkIscUJBQXFCLEVBQ3JCLCtCQUErQixFQUMvQixjQUFjLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLEVBQUUsSUFBSSxFQUFFLFlBQVksQ0FBQyxFQUNsRSxJQUFJLEVBQUUsT0FBTyxJQUFJLEVBQUUsRUFDbkIsSUFBSSxDQUFDLFlBQVksQ0FDcEIsQ0FBQztJQUNOLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBCYXNlQnVpbGRlciB9IGZyb20gJy4uLy4uLy4uL2NsYXNzZXMvYmFzZS5idWlsZGVyJztcbmltcG9ydCB7IEJhc2VFbnRpdHlUeXBlIH0gZnJvbSAnLi4vLi4vLi4vY2xhc3Nlcy9lbnRpdHkubW9kZWwnO1xuaW1wb3J0IHsgZGVmYXVsdEZhbHNlIH0gZnJvbSAnLi4vLi4vLi4vZnVuY3Rpb25zL2RlZmF1bHQtZmFsc2UuZnVuY3Rpb24nO1xuaW1wb3J0IHsgZGVmYXVsdFRydWUgfSBmcm9tICcuLi8uLi8uLi9mdW5jdGlvbnMvZGVmYXVsdC10cnVlLmZ1bmN0aW9uJztcbmltcG9ydCB7IGdldENvbmZpZ1ZhbHVlIH0gZnJvbSAnLi4vLi4vLi4vZnVuY3Rpb25zL2dldC1jb25maWctdmFsdWUuZnVuY3Rpb24nO1xuaW1wb3J0IHsgaXNBc3luY0Z1bmN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vZnVuY3Rpb25zL2lzLWFzeW5jLWZ1bmN0aW9uLmZ1bmN0aW9uJztcbmltcG9ydCB7IE5HWF9DT01QTEVURV9HTE9CQUxfREVGQVVMVF9WQUxVRVMsIE5neEdsb2JhbERlZmF1bHRWYWx1ZXMgfSBmcm9tICcuLi8uLi8uLi9nbG9iYWwtY29uZmlndXJhdGlvbi12YWx1ZXMnO1xuaW1wb3J0IHsgQ29uZmlybURpYWxvZ0RhdGEgfSBmcm9tICcuLi8uLi9jb25maXJtLWRpYWxvZy9jb25maXJtLWRpYWxvZy1kYXRhJztcbmltcG9ydCB7IENvbmZpcm1EaWFsb2dEYXRhQnVpbGRlciwgQ29uZmlybURpYWxvZ0RhdGFJbnRlcm5hbCB9IGZyb20gJy4uLy4uL2NvbmZpcm0tZGlhbG9nL2NvbmZpcm0tZGlhbG9nLWRhdGEuYnVpbGRlcic7XG5pbXBvcnQgeyBFZGl0QWN0aW9uLCBFZGl0RGF0YSB9IGZyb20gJy4uL3RhYmxlLWRhdGEnO1xuXG4vKipcbiAqIFRoZSBpbnRlcm5hbCBlZGl0IGFjdGlvbi5cbiAqIFNldHMgZGVmYXVsdCB2YWx1ZXMuXG4gKi9cbmV4cG9ydCBjbGFzcyBFZGl0QWN0aW9uSW50ZXJuYWw8RW50aXR5VHlwZSBleHRlbmRzIEJhc2VFbnRpdHlUeXBlPEVudGl0eVR5cGU+PiBpbXBsZW1lbnRzIEVkaXRBY3Rpb248RW50aXR5VHlwZT4ge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gICAgZGlzcGxheU5hbWU6IHN0cmluZztcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIGFjdGlvbjogKGVudGl0eTogRW50aXR5VHlwZSwgZW50aXR5UHJpb3JDaGFuZ2VzOiBFbnRpdHlUeXBlKSA9PiBQcm9taXNlPHVua25vd24+O1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gICAgZW5hYmxlZDogKChlOiBFbnRpdHlUeXBlKSA9PiBib29sZWFuKTtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIHJlcXVpcmVDb25maXJtRGlhbG9nOiAoKGU6IEVudGl0eVR5cGUpID0+IGJvb2xlYW4pO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gICAgY29uZmlybURpYWxvZ0RhdGE6IENvbmZpcm1EaWFsb2dEYXRhO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIGRhdGE6IEVkaXRBY3Rpb248RW50aXR5VHlwZT4sXG4gICAgICAgIEBJbmplY3QoTkdYX0NPTVBMRVRFX0dMT0JBTF9ERUZBVUxUX1ZBTFVFUylcbiAgICAgICAgcHJvdGVjdGVkIHJlYWRvbmx5IGdsb2JhbENvbmZpZzogTmd4R2xvYmFsRGVmYXVsdFZhbHVlc1xuICAgICkge1xuICAgICAgICB0aGlzLmRpc3BsYXlOYW1lID0gZGF0YS5kaXNwbGF5TmFtZTtcbiAgICAgICAgdGhpcy5hY3Rpb24gPSB0aGlzLmZ1bmN0aW9uVG9Bc3luYyhkYXRhLmFjdGlvbik7XG4gICAgICAgIHRoaXMuZW5hYmxlZCA9IGRhdGEuZW5hYmxlZCA/PyBkZWZhdWx0VHJ1ZTtcbiAgICAgICAgdGhpcy5yZXF1aXJlQ29uZmlybURpYWxvZyA9IGRhdGEucmVxdWlyZUNvbmZpcm1EaWFsb2cgPz8gZGVmYXVsdEZhbHNlO1xuICAgICAgICB0aGlzLmNvbmZpcm1EaWFsb2dEYXRhID0gbmV3IENvbmZpcm1EaWFsb2dEYXRhQnVpbGRlcih0aGlzLmdsb2JhbENvbmZpZywgZGF0YS5jb25maXJtRGlhbG9nRGF0YSlcbiAgICAgICAgICAgIC53aXRoRGVmYXVsdCgndGV4dCcsIGdsb2JhbENvbmZpZy5jb25maXJtQmFzZUFjdGlvblRleHQpXG4gICAgICAgICAgICAuZ2V0UmVzdWx0KCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmdW5jdGlvblRvQXN5bmMoXG4gICAgICAgIG9yaWdpbmFsRnVuY3Rpb246ICgoZTogRW50aXR5VHlwZSwgZVByaW9yQ2hhbmdlczogRW50aXR5VHlwZSkgPT4gdW5rbm93bilcbiAgICAgICAgfCAoKGU6IEVudGl0eVR5cGUsIGVQcmlvckNoYW5nZXM6IEVudGl0eVR5cGUpID0+IFByb21pc2U8dW5rbm93bj4pXG4gICAgKTogKGU6IEVudGl0eVR5cGUsIGVQcmlvckNoYW5nZXM6IEVudGl0eVR5cGUpID0+IFByb21pc2U8dW5rbm93bj4ge1xuICAgICAgICBpZiAoaXNBc3luY0Z1bmN0aW9uKG9yaWdpbmFsRnVuY3Rpb24pKSB7XG4gICAgICAgICAgICByZXR1cm4gb3JpZ2luYWxGdW5jdGlvbiBhcyAoZTogRW50aXR5VHlwZSkgPT4gUHJvbWlzZTx1bmtub3duPjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgICAgIHJldHVybiAoZTogRW50aXR5VHlwZSwgZVByaW9yQ2hhbmdlczogRW50aXR5VHlwZSkgPT4gbmV3IFByb21pc2U8dW5rbm93bj4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICByZXNvbHZlKG9yaWdpbmFsRnVuY3Rpb24oZSwgZVByaW9yQ2hhbmdlcykpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb21pc2Uvbm8tbXVsdGlwbGUtcmVzb2x2ZWRcbiAgICAgICAgICAgICAgICByZWplY3QoZXJyb3IpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG59XG5cbi8qKlxuICogVGhlIGludGVybmFsIEVkaXREYXRhLiBSZXF1aXJlcyBhbGwgZGVmYXVsdCB2YWx1ZXMgdGhlIHVzZXIgY2FuIGxlYXZlIG91dC5cbiAqL1xuZXhwb3J0IGNsYXNzIEVkaXREYXRhSW50ZXJuYWw8RW50aXR5VHlwZSBleHRlbmRzIEJhc2VFbnRpdHlUeXBlPEVudGl0eVR5cGU+PiBpbXBsZW1lbnRzIEVkaXREYXRhPEVudGl0eVR5cGU+IHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIHRpdGxlOiAoZW50aXR5OiBFbnRpdHlUeXBlKSA9PiBzdHJpbmc7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICBjb25maXJtQnV0dG9uTGFiZWw6IHN0cmluZztcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIGRlbGV0ZUJ1dHRvbkxhYmVsOiBzdHJpbmc7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICBjYW5jZWxCdXR0b25MYWJlbDogc3RyaW5nO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gICAgZGVsZXRlUmVxdWlyZXNDb25maXJtRGlhbG9nOiBib29sZWFuO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gICAgZWRpdFJlcXVpcmVzQ29uZmlybURpYWxvZzogYm9vbGVhbjtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIGNvbmZpcm1EZWxldGVEaWFsb2dEYXRhOiBDb25maXJtRGlhbG9nRGF0YTtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIGNvbmZpcm1FZGl0RGlhbG9nRGF0YTogQ29uZmlybURpYWxvZ0RhdGE7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICB1bnNhdmVkQ2hhbmdlc1JlcXVpcmVDb25maXJtRGlhbG9nOiBib29sZWFuO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gICAgY29uZmlybVVuc2F2ZWRDaGFuZ2VzRGlhbG9nRGF0YTogQ29uZmlybURpYWxvZ0RhdGE7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICBhY3Rpb25zTGFiZWw6IHN0cmluZztcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIGFjdGlvbnM6IEVkaXRBY3Rpb25JbnRlcm5hbDxFbnRpdHlUeXBlPltdO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHRpdGxlOiAoZW50aXR5OiBFbnRpdHlUeXBlKSA9PiBzdHJpbmcsXG4gICAgICAgIGNvbmZpcm1CdXR0b25MYWJlbDogc3RyaW5nLFxuICAgICAgICBkZWxldGVCdXR0b25MYWJlbDogc3RyaW5nLFxuICAgICAgICBjYW5jZWxCdXR0b25MYWJlbDogc3RyaW5nLFxuICAgICAgICBkZWxldGVSZXF1aXJlc0NvbmZpcm1EaWFsb2c6IGJvb2xlYW4sXG4gICAgICAgIGVkaXRSZXF1aXJlc0NvbmZpcm1EaWFsb2c6IGJvb2xlYW4sXG4gICAgICAgIHVuc2F2ZWRDaGFuZ2VzUmVxdWlyZUNvbmZpcm1EaWFsb2c6IGJvb2xlYW4sXG4gICAgICAgIGNvbmZpcm1EZWxldGVEaWFsb2dEYXRhOiBDb25maXJtRGlhbG9nRGF0YSxcbiAgICAgICAgY29uZmlybUVkaXREaWFsb2dEYXRhOiBDb25maXJtRGlhbG9nRGF0YSxcbiAgICAgICAgY29uZmlybVVuc2F2ZWRDaGFuZ2VzRGlhbG9nRGF0YTogQ29uZmlybURpYWxvZ0RhdGEsXG4gICAgICAgIGFjdGlvbnNMYWJlbDogc3RyaW5nLFxuICAgICAgICBhY3Rpb25zOiBFZGl0QWN0aW9uPEVudGl0eVR5cGU+W10sXG4gICAgICAgIEBJbmplY3QoTkdYX0NPTVBMRVRFX0dMT0JBTF9ERUZBVUxUX1ZBTFVFUylcbiAgICAgICAgZ2xvYmFsQ29uZmlnOiBOZ3hHbG9iYWxEZWZhdWx0VmFsdWVzXG4gICAgKSB7XG4gICAgICAgIHRoaXMudGl0bGUgPSB0aXRsZTtcbiAgICAgICAgdGhpcy5jb25maXJtQnV0dG9uTGFiZWwgPSBjb25maXJtQnV0dG9uTGFiZWw7XG4gICAgICAgIHRoaXMuZGVsZXRlQnV0dG9uTGFiZWwgPSBkZWxldGVCdXR0b25MYWJlbDtcbiAgICAgICAgdGhpcy5jYW5jZWxCdXR0b25MYWJlbCA9IGNhbmNlbEJ1dHRvbkxhYmVsO1xuICAgICAgICB0aGlzLmRlbGV0ZVJlcXVpcmVzQ29uZmlybURpYWxvZyA9IGRlbGV0ZVJlcXVpcmVzQ29uZmlybURpYWxvZztcbiAgICAgICAgdGhpcy5lZGl0UmVxdWlyZXNDb25maXJtRGlhbG9nID0gZWRpdFJlcXVpcmVzQ29uZmlybURpYWxvZztcbiAgICAgICAgdGhpcy51bnNhdmVkQ2hhbmdlc1JlcXVpcmVDb25maXJtRGlhbG9nID0gdW5zYXZlZENoYW5nZXNSZXF1aXJlQ29uZmlybURpYWxvZztcbiAgICAgICAgdGhpcy5jb25maXJtRGVsZXRlRGlhbG9nRGF0YSA9IGNvbmZpcm1EZWxldGVEaWFsb2dEYXRhO1xuICAgICAgICB0aGlzLmNvbmZpcm1FZGl0RGlhbG9nRGF0YSA9IGNvbmZpcm1FZGl0RGlhbG9nRGF0YTtcbiAgICAgICAgdGhpcy5jb25maXJtVW5zYXZlZENoYW5nZXNEaWFsb2dEYXRhID0gY29uZmlybVVuc2F2ZWRDaGFuZ2VzRGlhbG9nRGF0YTtcbiAgICAgICAgdGhpcy5hY3Rpb25zTGFiZWwgPSBhY3Rpb25zTGFiZWw7XG4gICAgICAgIHRoaXMuYWN0aW9ucyA9IGFjdGlvbnMubWFwKGEgPT4gbmV3IEVkaXRBY3Rpb25JbnRlcm5hbChhLCBnbG9iYWxDb25maWcpKTtcbiAgICB9XG59XG5cbi8qKlxuICogVGhlIEJ1aWxkZXIgZm9yIHRoZSBFZGl0RGF0YS4gU2V0cyBkZWZhdWx0IHZhbHVlcy5cbiAqL1xuZXhwb3J0IGNsYXNzIEVkaXREYXRhQnVpbGRlcjxFbnRpdHlUeXBlIGV4dGVuZHMgQmFzZUVudGl0eVR5cGU8RW50aXR5VHlwZT4+XG4gICAgZXh0ZW5kcyBCYXNlQnVpbGRlcjxFZGl0RGF0YUludGVybmFsPEVudGl0eVR5cGU+LCBFZGl0RGF0YTxFbnRpdHlUeXBlPj4ge1xuXG4gICAgY29uc3RydWN0b3IoZ2xvYmFsQ29uZmlnOiBOZ3hHbG9iYWxEZWZhdWx0VmFsdWVzLCBkYXRhPzogRWRpdERhdGE8RW50aXR5VHlwZT4pIHtcbiAgICAgICAgc3VwZXIoZ2xvYmFsQ29uZmlnLCBkYXRhKTtcbiAgICB9XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIHByb3RlY3RlZCBnZW5lcmF0ZUJhc2VEYXRhKGRhdGE/OiBFZGl0RGF0YTxFbnRpdHlUeXBlPik6IEVkaXREYXRhSW50ZXJuYWw8RW50aXR5VHlwZT4ge1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc3R5bGlzdGljL21heC1sZW5cbiAgICAgICAgY29uc3QgY29uZmlybUVkaXREaWFsb2dEYXRhOiBDb25maXJtRGlhbG9nRGF0YUludGVybmFsID0gbmV3IENvbmZpcm1EaWFsb2dEYXRhQnVpbGRlcih0aGlzLmdsb2JhbENvbmZpZywgZGF0YT8uY29uZmlybUVkaXREaWFsb2dEYXRhKVxuICAgICAgICAgICAgLndpdGhEZWZhdWx0KCdjb25maXJtQnV0dG9uTGFiZWwnLCB0aGlzLmdsb2JhbENvbmZpZy5zYXZlTGFiZWwpXG4gICAgICAgICAgICAud2l0aERlZmF1bHQoJ3RleHQnLCB0aGlzLmdsb2JhbENvbmZpZy5jb25maXJtU2F2ZVRleHQpXG4gICAgICAgICAgICAud2l0aERlZmF1bHQoJ3RpdGxlJywgdGhpcy5nbG9iYWxDb25maWcuZWRpdExhYmVsKVxuICAgICAgICAgICAgLmdldFJlc3VsdCgpO1xuXG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBzdHlsaXN0aWMvbWF4LWxlblxuICAgICAgICBjb25zdCBjb25maXJtRGVsZXRlRGlhbG9nRGF0YTogQ29uZmlybURpYWxvZ0RhdGFJbnRlcm5hbCA9IG5ldyBDb25maXJtRGlhbG9nRGF0YUJ1aWxkZXIodGhpcy5nbG9iYWxDb25maWcsIGRhdGE/LmNvbmZpcm1EZWxldGVEaWFsb2dEYXRhKVxuICAgICAgICAgICAgLndpdGhEZWZhdWx0KCdjb25maXJtQnV0dG9uTGFiZWwnLCB0aGlzLmdsb2JhbENvbmZpZy5kZWxldGVMYWJlbClcbiAgICAgICAgICAgIC53aXRoRGVmYXVsdCgndHlwZScsICdkZWxldGUnKVxuICAgICAgICAgICAgLndpdGhEZWZhdWx0KCd0ZXh0JywgdGhpcy5nbG9iYWxDb25maWcuY29uZmlybURlbGV0ZVRleHQpXG4gICAgICAgICAgICAud2l0aERlZmF1bHQoJ3RpdGxlJywgdGhpcy5nbG9iYWxDb25maWcuZGVsZXRlTGFiZWwpXG4gICAgICAgICAgICAuZ2V0UmVzdWx0KCk7XG5cbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHN0eWxpc3RpYy9tYXgtbGVuXG4gICAgICAgIGNvbnN0IGNvbmZpcm1VbnNhdmVkQ2hhbmdlc0RpYWxvZ0RhdGE6IENvbmZpcm1EaWFsb2dEYXRhSW50ZXJuYWwgPSBuZXcgQ29uZmlybURpYWxvZ0RhdGFCdWlsZGVyKHRoaXMuZ2xvYmFsQ29uZmlnLCBkYXRhPy5jb25maXJtVW5zYXZlZENoYW5nZXNEaWFsb2dEYXRhKVxuICAgICAgICAgICAgLndpdGhEZWZhdWx0KCdjb25maXJtQnV0dG9uTGFiZWwnLCB0aGlzLmdsb2JhbENvbmZpZy5jb25maXJtVW5zYXZlZENoYW5nZXNEaWFsb2dMYWJlbClcbiAgICAgICAgICAgIC53aXRoRGVmYXVsdCgndGV4dCcsIHRoaXMuZ2xvYmFsQ29uZmlnLmNvbmZpcm1VbnNhdmVkQ2hhbmdlc0RpYWxvZ1RleHQpXG4gICAgICAgICAgICAud2l0aERlZmF1bHQoJ3RpdGxlJywgdGhpcy5nbG9iYWxDb25maWcuY29uZmlybVVuc2F2ZWRDaGFuZ2VzVGl0bGUpXG4gICAgICAgICAgICAuZ2V0UmVzdWx0KCk7XG5cbiAgICAgICAgcmV0dXJuIG5ldyBFZGl0RGF0YUludGVybmFsKFxuICAgICAgICAgICAgZ2V0Q29uZmlnVmFsdWUodGhpcy5nbG9iYWxDb25maWcuZWRpdFRpdGxlLCBkYXRhPy50aXRsZSksXG4gICAgICAgICAgICBnZXRDb25maWdWYWx1ZSh0aGlzLmdsb2JhbENvbmZpZy5zYXZlTGFiZWwsIGRhdGE/LmNvbmZpcm1CdXR0b25MYWJlbCksXG4gICAgICAgICAgICBnZXRDb25maWdWYWx1ZSh0aGlzLmdsb2JhbENvbmZpZy5kZWxldGVMYWJlbCwgZGF0YT8uZGVsZXRlQnV0dG9uTGFiZWwpLFxuICAgICAgICAgICAgZ2V0Q29uZmlnVmFsdWUodGhpcy5nbG9iYWxDb25maWcuY2FuY2VsTGFiZWwsIGRhdGE/LmNhbmNlbEJ1dHRvbkxhYmVsKSxcbiAgICAgICAgICAgIGRhdGE/LmRlbGV0ZVJlcXVpcmVzQ29uZmlybURpYWxvZyA/PyB0cnVlLFxuICAgICAgICAgICAgZGF0YT8uZWRpdFJlcXVpcmVzQ29uZmlybURpYWxvZyA/PyBmYWxzZSxcbiAgICAgICAgICAgIGRhdGE/LnVuc2F2ZWRDaGFuZ2VzUmVxdWlyZUNvbmZpcm1EaWFsb2cgPz8gdHJ1ZSxcbiAgICAgICAgICAgIGNvbmZpcm1EZWxldGVEaWFsb2dEYXRhLFxuICAgICAgICAgICAgY29uZmlybUVkaXREaWFsb2dEYXRhLFxuICAgICAgICAgICAgY29uZmlybVVuc2F2ZWRDaGFuZ2VzRGlhbG9nRGF0YSxcbiAgICAgICAgICAgIGdldENvbmZpZ1ZhbHVlKHRoaXMuZ2xvYmFsQ29uZmlnLmFjdGlvbnNMYWJlbCwgZGF0YT8uYWN0aW9uc0xhYmVsKSxcbiAgICAgICAgICAgIGRhdGE/LmFjdGlvbnMgPz8gW10sXG4gICAgICAgICAgICB0aGlzLmdsb2JhbENvbmZpZ1xuICAgICAgICApO1xuICAgIH1cbn0iXX0=