@elderbyte/ngx-starter 18.11.0 → 18.12.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 (629) hide show
  1. package/_index.scss +38 -33
  2. package/esm2022/lib/common/arrays.mjs +1 -1
  3. package/esm2022/lib/common/async/public_api.mjs +1 -1
  4. package/esm2022/lib/common/async/refreshing-entity.mjs +5 -3
  5. package/esm2022/lib/common/csv/csv-serializer.mjs +5 -5
  6. package/esm2022/lib/common/csv/csv-spec.mjs +2 -2
  7. package/esm2022/lib/common/csv/public_api.mjs +1 -1
  8. package/esm2022/lib/common/data/continuable-listing.mjs +1 -1
  9. package/esm2022/lib/common/data/data-context/data-context-active-page.mjs +5 -4
  10. package/esm2022/lib/common/data/data-context/data-context-auto-starter.mjs +7 -5
  11. package/esm2022/lib/common/data/data-context/data-context-base.mjs +19 -12
  12. package/esm2022/lib/common/data/data-context/data-context-builder.mjs +5 -7
  13. package/esm2022/lib/common/data/data-context/data-context-continuable-base.mjs +5 -7
  14. package/esm2022/lib/common/data/data-context/data-context-continuable-paged.mjs +2 -2
  15. package/esm2022/lib/common/data/data-context/data-context-continuable-token.mjs +17 -7
  16. package/esm2022/lib/common/data/data-context/data-context-life-cycle-binding.mjs +2 -2
  17. package/esm2022/lib/common/data/data-context/data-context-simple.mjs +5 -4
  18. package/esm2022/lib/common/data/data-context/data-context-source-event-binding.mjs +25 -8
  19. package/esm2022/lib/common/data/data-context/data-context-status.mjs +1 -1
  20. package/esm2022/lib/common/data/data-context/data-context.mjs +5 -5
  21. package/esm2022/lib/common/data/data-context/indexed-entities.mjs +2 -2
  22. package/esm2022/lib/common/data/data-context/mat-table-data-context-binding.mjs +14 -8
  23. package/esm2022/lib/common/data/data-context/public_api.mjs +1 -1
  24. package/esm2022/lib/common/data/datasource/data-source-adapter.mjs +9 -5
  25. package/esm2022/lib/common/data/datasource/data-source-base.mjs +1 -1
  26. package/esm2022/lib/common/data/datasource/data-source-change-event.mjs +20 -10
  27. package/esm2022/lib/common/data/datasource/data-source-processor.mjs +14 -15
  28. package/esm2022/lib/common/data/datasource/data-source.mjs +4 -4
  29. package/esm2022/lib/common/data/datasource/entity-id-util.mjs +2 -2
  30. package/esm2022/lib/common/data/datasource/fetcher/delegate-data-source.mjs +2 -2
  31. package/esm2022/lib/common/data/datasource/local/local-list-data-source.mjs +9 -11
  32. package/esm2022/lib/common/data/datasource/local/local-paged-data-source.mjs +4 -2
  33. package/esm2022/lib/common/data/datasource/patch/deep-partial-patcher.mjs +58 -0
  34. package/esm2022/lib/common/data/datasource/public_api.mjs +1 -1
  35. package/esm2022/lib/common/data/datasource/rest/public_api.mjs +1 -1
  36. package/esm2022/lib/common/data/datasource/rest/rest-client.mjs +44 -39
  37. package/esm2022/lib/common/data/entity-set-patch.mjs +6 -9
  38. package/esm2022/lib/common/data/field-comparator.mjs +2 -2
  39. package/esm2022/lib/common/data/filters/filter-commons.mjs +1 -1
  40. package/esm2022/lib/common/data/filters/filter-context.mjs +9 -9
  41. package/esm2022/lib/common/data/filters/filter-value.mjs +1 -1
  42. package/esm2022/lib/common/data/filters/filter.mjs +2 -2
  43. package/esm2022/lib/common/data/http-params-builder.mjs +5 -7
  44. package/esm2022/lib/common/data/page.mjs +1 -1
  45. package/esm2022/lib/common/data/public_api.mjs +1 -1
  46. package/esm2022/lib/common/data/required-filter-evaluator.mjs +7 -10
  47. package/esm2022/lib/common/data/sort-context.mjs +4 -6
  48. package/esm2022/lib/common/data/sort.mjs +1 -1
  49. package/esm2022/lib/common/data/token-chunk-request.mjs +1 -1
  50. package/esm2022/lib/common/enums/elder-enum-translation.service.mjs +9 -9
  51. package/esm2022/lib/common/enums/public_api.mjs +1 -1
  52. package/esm2022/lib/common/errors/exception-detail.mjs +1 -1
  53. package/esm2022/lib/common/errors/public_api.mjs +1 -1
  54. package/esm2022/lib/common/errors/standard-error-detail.mjs +1 -1
  55. package/esm2022/lib/common/format/bytes-format.mjs +2 -9
  56. package/esm2022/lib/common/format/bytes-per-second-format.mjs +1 -1
  57. package/esm2022/lib/common/format/curency-format-util.mjs +1 -1
  58. package/esm2022/lib/common/format/duration-format-util.mjs +1 -1
  59. package/esm2022/lib/common/format/iso-interval-format-util.mjs +6 -4
  60. package/esm2022/lib/common/format/public_api.mjs +1 -1
  61. package/esm2022/lib/common/forms/elder-entity-value-accessor.mjs +7 -7
  62. package/esm2022/lib/common/forms/elder-form-field-control-base.directive.mjs +7 -7
  63. package/esm2022/lib/common/forms/elder-from-field-base.mjs +3 -3
  64. package/esm2022/lib/common/forms/elder-from-field-customizable-base.mjs +1 -1
  65. package/esm2022/lib/common/forms/elder-from-field-entity-base.mjs +5 -5
  66. package/esm2022/lib/common/forms/elder-from-field-multi-entity-base.mjs +7 -7
  67. package/esm2022/lib/common/forms/elder-multi-entity-value-accessor.mjs +7 -7
  68. package/esm2022/lib/common/forms/form-field-base.component.mjs +3 -4
  69. package/esm2022/lib/common/forms/multi-model-base.component.mjs +2 -2
  70. package/esm2022/lib/common/forms/public_api.mjs +1 -1
  71. package/esm2022/lib/common/forms/template-composite-control.mjs +17 -13
  72. package/esm2022/lib/common/forms/value-accessor-base.mjs +3 -3
  73. package/esm2022/lib/common/forms/view-providers.mjs +1 -1
  74. package/esm2022/lib/common/http/http-client-builder.service.mjs +2 -2
  75. package/esm2022/lib/common/http/http-client-pristine.mjs +2 -2
  76. package/esm2022/lib/common/http/public_api.mjs +1 -1
  77. package/esm2022/lib/common/http/transfer/data-transfer-base.mjs +2 -2
  78. package/esm2022/lib/common/http/transfer/data-transfer-factory.mjs +4 -4
  79. package/esm2022/lib/common/http/transfer/data-transfer-progress-aggregate.mjs +6 -5
  80. package/esm2022/lib/common/http/transfer/data-transfer-progress.mjs +1 -1
  81. package/esm2022/lib/common/http/transfer/data-transfer-state.mjs +1 -1
  82. package/esm2022/lib/common/http/transfer/data-transfer-status.mjs +1 -1
  83. package/esm2022/lib/common/http/transfer/data-transfer.mjs +1 -1
  84. package/esm2022/lib/common/http/transfer/http-data-transfer.mjs +9 -9
  85. package/esm2022/lib/common/http/transfer/public_api.mjs +1 -1
  86. package/esm2022/lib/common/http/upload/file-upload-client.mjs +2 -2
  87. package/esm2022/lib/common/i18n/entity/impl/i18n-base.mjs +1 -1
  88. package/esm2022/lib/common/i18n/entity/impl/i18n-text.mjs +1 -1
  89. package/esm2022/lib/common/i18n/entity/impl/translated.mjs +1 -1
  90. package/esm2022/lib/common/i18n/entity/language-tag.mjs +1 -1
  91. package/esm2022/lib/common/i18n/entity/locale.mjs +1 -1
  92. package/esm2022/lib/common/i18n/entity/localisation-picker.mjs +4 -4
  93. package/esm2022/lib/common/i18n/entity/localized.mjs +1 -1
  94. package/esm2022/lib/common/i18n/entity/public_api.mjs +1 -1
  95. package/esm2022/lib/common/i18n/entity/translated-converter.mjs +4 -4
  96. package/esm2022/lib/common/i18n/entity/translated.mjs +1 -1
  97. package/esm2022/lib/common/i18n/public_api.mjs +1 -1
  98. package/esm2022/lib/common/json-map.mjs +3 -4
  99. package/esm2022/lib/common/objects.mjs +1 -1
  100. package/esm2022/lib/common/public_api.mjs +1 -1
  101. package/esm2022/lib/common/reactive-map.mjs +5 -5
  102. package/esm2022/lib/common/rxjs/operators/lazy-sample.mjs +2 -2
  103. package/esm2022/lib/common/rxjs/public_api.mjs +1 -1
  104. package/esm2022/lib/common/selection/public_api.mjs +1 -1
  105. package/esm2022/lib/common/selection/selection-model.mjs +8 -8
  106. package/esm2022/lib/common/sets.mjs +3 -2
  107. package/esm2022/lib/common/suggestion-provider.mjs +1 -1
  108. package/esm2022/lib/common/templates/template-slot-manager.mjs +2 -2
  109. package/esm2022/lib/common/theme-sizes.mjs +1 -1
  110. package/esm2022/lib/common/time/date-util.mjs +8 -10
  111. package/esm2022/lib/common/time/interval-coerce.mjs +3 -3
  112. package/esm2022/lib/common/time/interval.mjs +19 -16
  113. package/esm2022/lib/common/time/period-duration.mjs +1 -1
  114. package/esm2022/lib/common/time/public_api.mjs +1 -1
  115. package/esm2022/lib/common/time/temporal-plain-date-interval.mjs +1 -1
  116. package/esm2022/lib/common/time/temporal-util.mjs +7 -1
  117. package/esm2022/lib/common/time/time-util.mjs +3 -6
  118. package/esm2022/lib/common/url/elder-router.service.mjs +2 -2
  119. package/esm2022/lib/common/url/elder-url-fragment-params.service.mjs +4 -6
  120. package/esm2022/lib/common/url/public_api.mjs +1 -1
  121. package/esm2022/lib/common/url/url-query-params.mjs +2 -2
  122. package/esm2022/lib/common/utils/batcher.mjs +2 -2
  123. package/esm2022/lib/common/utils/collection-util.mjs +7 -5
  124. package/esm2022/lib/common/utils/filter-util.mjs +10 -8
  125. package/esm2022/lib/common/utils/focus-util.mjs +1 -1
  126. package/esm2022/lib/common/utils/input-utils.mjs +1 -1
  127. package/esm2022/lib/common/utils/next-number-util.mjs +4 -3
  128. package/esm2022/lib/common/utils/ng-zone-utils.mjs +2 -2
  129. package/esm2022/lib/common/utils/parse-util.mjs +1 -1
  130. package/esm2022/lib/common/utils/property-path-util.mjs +2 -2
  131. package/esm2022/lib/common/utils/public_api.mjs +1 -1
  132. package/esm2022/lib/common/utils/query-list-binding.mjs +5 -4
  133. package/esm2022/lib/common/utils/sort-util.mjs +2 -2
  134. package/esm2022/lib/common/utils/url-builder.mjs +1 -1
  135. package/esm2022/lib/common/utils/uuid-util.mjs +3 -4
  136. package/esm2022/lib/common/utils/value-wrapper.mjs +1 -1
  137. package/esm2022/lib/components/access-denied/elder-access-denied.component.mjs +4 -5
  138. package/esm2022/lib/components/access-denied/elder-access-denied.module.mjs +5 -15
  139. package/esm2022/lib/components/auditing/audited-entity/elder-audited-entity.component.mjs +16 -6
  140. package/esm2022/lib/components/auditing/elder-audit.module.mjs +4 -6
  141. package/esm2022/lib/components/auditing/i-audited-entity.mjs +1 -1
  142. package/esm2022/lib/components/badge/elder-badge/elder-badge.component.mjs +18 -12
  143. package/esm2022/lib/components/badge/elder-badge.directive.mjs +7 -7
  144. package/esm2022/lib/components/badge/elder-badge.module.mjs +4 -4
  145. package/esm2022/lib/components/button-group/elder-button-group/elder-button-group.component.mjs +3 -5
  146. package/esm2022/lib/components/button-group/elder-button-group.module.mjs +5 -20
  147. package/esm2022/lib/components/card-organizer/card-organizer/elder-card-organizer.component.mjs +4 -5
  148. package/esm2022/lib/components/card-organizer/card-organizer/elder-stack-card.directive.mjs +2 -2
  149. package/esm2022/lib/components/card-organizer/card-organizer-data.mjs +7 -7
  150. package/esm2022/lib/components/card-organizer/card-stack/elder-card-stack.component.mjs +24 -12
  151. package/esm2022/lib/components/card-organizer/card-stack.mjs +3 -3
  152. package/esm2022/lib/components/card-organizer/elder-card-organizer.module.mjs +18 -7
  153. package/esm2022/lib/components/cards/elder-card/elder-card-header/elder-card-header.component.mjs +3 -3
  154. package/esm2022/lib/components/cards/elder-card/elder-card.component.mjs +9 -9
  155. package/esm2022/lib/components/cards/elder-card/elder-card.module.mjs +16 -10
  156. package/esm2022/lib/components/chips/elder-chip-label.directive.mjs +3 -3
  157. package/esm2022/lib/components/chips/elder-chips.module.mjs +3 -5
  158. package/esm2022/lib/components/connectivity/elder-connectivity.module.mjs +9 -8
  159. package/esm2022/lib/components/connectivity/elder-connectivity.service.mjs +10 -12
  160. package/esm2022/lib/components/connectivity/offline-indicator/elder-offline-indicator.component.mjs +3 -3
  161. package/esm2022/lib/components/connectivity/public_api.mjs +1 -1
  162. package/esm2022/lib/components/containers/elder-containers.module.mjs +4 -10
  163. package/esm2022/lib/components/containers/elder-scroll-container/elder-scroll-container.component.mjs +4 -4
  164. package/esm2022/lib/components/containers/public_api.mjs +1 -1
  165. package/esm2022/lib/components/csv/elder-csv-export-btn/elder-csv-export-btn.component.mjs +6 -6
  166. package/esm2022/lib/components/csv/elder-csv-stream-exporter-builder.mjs +2 -4
  167. package/esm2022/lib/components/csv/elder-csv-stream-exporter-builder.service.mjs +2 -2
  168. package/esm2022/lib/components/csv/elder-csv-stream-exporter.mjs +12 -12
  169. package/esm2022/lib/components/csv/elder-csv.module.mjs +6 -19
  170. package/esm2022/lib/components/currency/elder-currency.module.mjs +6 -18
  171. package/esm2022/lib/components/currency/elder-currency.pipe.mjs +2 -2
  172. package/esm2022/lib/components/currency/model/currency-code.mjs +1 -1
  173. package/esm2022/lib/components/currency/model/currency-unit-registry.mjs +1 -1
  174. package/esm2022/lib/components/currency/model/currency-unit.mjs +1 -1
  175. package/esm2022/lib/components/currency/model/currency.mjs +1 -1
  176. package/esm2022/lib/components/currency/public_api.mjs +1 -1
  177. package/esm2022/lib/components/data-transfer/elder-data-transfer.module.mjs +28 -16
  178. package/esm2022/lib/components/data-transfer/elder-data-transfer.service.mjs +12 -10
  179. package/esm2022/lib/components/data-transfer/http-data-transfer/http-data-transfer.component.mjs +23 -12
  180. package/esm2022/lib/components/data-transfer/http-data-transfer-aggregate/http-data-transfer-aggregate.component.mjs +3 -3
  181. package/esm2022/lib/components/data-transfer/http-data-transfer-indicator/http-data-transfer-indicator.component.mjs +13 -3
  182. package/esm2022/lib/components/data-transfer/http-data-transfer-overview/http-data-transfer-overview.component.mjs +11 -3
  183. package/esm2022/lib/components/data-view/base/data-view-options-provider-binding.mjs +4 -2
  184. package/esm2022/lib/components/data-view/base/elder-data-view-base.mjs +4 -5
  185. package/esm2022/lib/components/data-view/base/elder-data-view-options-provider.mjs +1 -1
  186. package/esm2022/lib/components/data-view/base/elder-data-view-options.mjs +1 -1
  187. package/esm2022/lib/components/data-view/base/elder-data-view.mjs +1 -1
  188. package/esm2022/lib/components/data-view/base/public_api.mjs +1 -1
  189. package/esm2022/lib/components/data-view/common/composite-sort/composite-sort-context.mjs +2 -2
  190. package/esm2022/lib/components/data-view/common/composite-sort/composite-sort-dc.directive.mjs +5 -7
  191. package/esm2022/lib/components/data-view/common/composite-sort/composite-sort.mjs +4 -5
  192. package/esm2022/lib/components/data-view/common/composite-sort/elder-composite-sort/elder-composite-sort.component.mjs +6 -6
  193. package/esm2022/lib/components/data-view/common/data-context-state-indicator/data-context-state-indicator.component.mjs +4 -5
  194. package/esm2022/lib/components/data-view/common/elder-data-common.module.mjs +38 -20
  195. package/esm2022/lib/components/data-view/common/elder-data-toolbar/elder-data-toolbar.component.mjs +5 -13
  196. package/esm2022/lib/components/data-view/common/elder-single-sort/elder-single-sort.component.mjs +16 -6
  197. package/esm2022/lib/components/data-view/common/selection/data-context-selection.directive.mjs +6 -4
  198. package/esm2022/lib/components/data-view/common/selection/elder-selection-master-checkbox/elder-selection-master-checkbox.component.mjs +4 -5
  199. package/esm2022/lib/components/data-view/common/selection/master-selection-state.mjs +1 -1
  200. package/esm2022/lib/components/data-view/elder-data-view-interaction-mode.mjs +1 -1
  201. package/esm2022/lib/components/data-view/grid/elder-grid/elder-grid.component.mjs +46 -26
  202. package/esm2022/lib/components/data-view/grid/elder-grid.module.mjs +30 -21
  203. package/esm2022/lib/components/data-view/master-detail/elder-detail-dialog/elder-detail-dialog.component.mjs +15 -9
  204. package/esm2022/lib/components/data-view/master-detail/elder-detail.directive.mjs +5 -7
  205. package/esm2022/lib/components/data-view/master-detail/elder-master-activation.directive.mjs +8 -6
  206. package/esm2022/lib/components/data-view/master-detail/elder-master-detail-provider.mjs +2 -2
  207. package/esm2022/lib/components/data-view/master-detail/elder-master-detail.component.mjs +19 -25
  208. package/esm2022/lib/components/data-view/master-detail/elder-master-detail.module.mjs +4 -4
  209. package/esm2022/lib/components/data-view/master-detail/elder-master-detail.service.mjs +5 -4
  210. package/esm2022/lib/components/data-view/master-detail/elder-master.directive.mjs +2 -2
  211. package/esm2022/lib/components/data-view/master-detail/master-detail-activation-event.mjs +1 -1
  212. package/esm2022/lib/components/data-view/public_api.mjs +1 -1
  213. package/esm2022/lib/components/data-view/simple/elder-simple-selection-view/elder-simple-selection-view.component.mjs +4 -5
  214. package/esm2022/lib/components/data-view/simple/elder-simple-selection-view/elder-simple-selection-view.module.mjs +41 -16
  215. package/esm2022/lib/components/data-view/table/activation/activation-event-source.mjs +1 -1
  216. package/esm2022/lib/components/data-view/table/activation/elder-activation-context.mjs +1 -1
  217. package/esm2022/lib/components/data-view/table/activation/elder-delete-active.directive.mjs +6 -6
  218. package/esm2022/lib/components/data-view/table/activation/elder-table-activation-options.mjs +1 -1
  219. package/esm2022/lib/components/data-view/table/activation/elder-table-activation.directive.mjs +23 -15
  220. package/esm2022/lib/components/data-view/table/activation/item-activation-event.mjs +1 -1
  221. package/esm2022/lib/components/data-view/table/activation/item-activation-options.mjs +1 -1
  222. package/esm2022/lib/components/data-view/table/activation/public_api.mjs +1 -1
  223. package/esm2022/lib/components/data-view/table/elder-center-cell.directive.mjs +4 -5
  224. package/esm2022/lib/components/data-view/table/elder-number-cell.directive.mjs +3 -3
  225. package/esm2022/lib/components/data-view/table/elder-paginator-intl.mjs +8 -7
  226. package/esm2022/lib/components/data-view/table/elder-table/elder-table-toolbar.directive.mjs +2 -2
  227. package/esm2022/lib/components/data-view/table/elder-table/elder-table.component.mjs +54 -38
  228. package/esm2022/lib/components/data-view/table/elder-table-column.directive.mjs +2 -2
  229. package/esm2022/lib/components/data-view/table/elder-table-extension.directive.mjs +6 -11
  230. package/esm2022/lib/components/data-view/table/elder-table-root.directive.mjs +4 -8
  231. package/esm2022/lib/components/data-view/table/elder-table-row.directive.mjs +8 -6
  232. package/esm2022/lib/components/data-view/table/elder-table-sort.directive.mjs +2 -2
  233. package/esm2022/lib/components/data-view/table/elder-table.module.mjs +57 -25
  234. package/esm2022/lib/components/data-view/table/model/elder-column-layout.mjs +7 -7
  235. package/esm2022/lib/components/data-view/table/model/elder-table-model-cdk-table-binding.mjs +15 -11
  236. package/esm2022/lib/components/data-view/table/model/elder-table-model-provider.mjs +4 -4
  237. package/esm2022/lib/components/data-view/table/model/elder-table-model-query-group.mjs +11 -9
  238. package/esm2022/lib/components/data-view/table/model/elder-table-model.mjs +7 -5
  239. package/esm2022/lib/components/dialogs/confirm-dialog/elder-confirm-dialog.component.mjs +13 -3
  240. package/esm2022/lib/components/dialogs/elder-dialog-config.mjs +1 -1
  241. package/esm2022/lib/components/dialogs/elder-dialog.module.mjs +34 -13
  242. package/esm2022/lib/components/dialogs/elder-dialog.service.mjs +19 -22
  243. package/esm2022/lib/components/dialogs/question-dialog/elder-question-dialog.component.mjs +17 -5
  244. package/esm2022/lib/components/dialogs/selection-dialog/elder-selection-dialog/elder-selection-dialog.component.mjs +4 -5
  245. package/esm2022/lib/components/dialogs/selection-dialog/elder-selection-dialog.directive.mjs +5 -5
  246. package/esm2022/lib/components/errors/elder-error.module.mjs +4 -6
  247. package/esm2022/lib/components/errors/error-util.mjs +4 -4
  248. package/esm2022/lib/components/errors/exception-detail/elder-exception-detail.component.mjs +17 -6
  249. package/esm2022/lib/components/expand-toggle-button/elder-expand-toggle-button.component.mjs +3 -3
  250. package/esm2022/lib/components/expand-toggle-button/elder-expand-toggle-button.module.mjs +15 -8
  251. package/esm2022/lib/components/files/blob-url.mjs +1 -1
  252. package/esm2022/lib/components/files/blob-viewer/elder-blob-viewer.component.mjs +16 -11
  253. package/esm2022/lib/components/files/drag-n-drop/elder-drop-zone/elder-drop-zone.component.mjs +3 -3
  254. package/esm2022/lib/components/files/drag-n-drop/global-drag-drop.service.mjs +4 -4
  255. package/esm2022/lib/components/files/elder-file-drop-zone.directive.mjs +7 -7
  256. package/esm2022/lib/components/files/elder-file-select-input.mjs +3 -3
  257. package/esm2022/lib/components/files/elder-file-select.directive.mjs +14 -16
  258. package/esm2022/lib/components/files/elder-file.module.mjs +16 -10
  259. package/esm2022/lib/components/files/file-select/file-select.component.mjs +5 -6
  260. package/esm2022/lib/components/files/file-system-api.mjs +2 -2
  261. package/esm2022/lib/components/files/file-upload/file-upload.component.mjs +16 -3
  262. package/esm2022/lib/components/files/listing/file-entry.mjs +3 -3
  263. package/esm2022/lib/components/files/listing/file-listing-rx.mjs +5 -5
  264. package/esm2022/lib/components/files/listing/file-listing-system-handle.mjs +3 -3
  265. package/esm2022/lib/components/files/listing/file-listing-webkit.mjs +10 -11
  266. package/esm2022/lib/components/forms/clipboard/elder-clipboard.service.mjs +2 -2
  267. package/esm2022/lib/components/forms/directives/base/elder-class-hostbinding-base.mjs +1 -1
  268. package/esm2022/lib/components/forms/directives/elder-clipboard-put.directive.mjs +5 -3
  269. package/esm2022/lib/components/forms/directives/elder-delayed-focus.directive.mjs +2 -2
  270. package/esm2022/lib/components/forms/directives/elder-form-field-dense.directive.mjs +1 -1
  271. package/esm2022/lib/components/forms/directives/elder-form-field-label.directive.mjs +2 -2
  272. package/esm2022/lib/components/forms/directives/elder-form-field-no-hint.directive.mjs +2 -2
  273. package/esm2022/lib/components/forms/directives/elder-form-field-no-spinner.directive.mjs +2 -2
  274. package/esm2022/lib/components/forms/directives/elder-forms-directives.module.mjs +13 -6
  275. package/esm2022/lib/components/forms/directives/elder-initial-value.directive.mjs +5 -5
  276. package/esm2022/lib/components/forms/directives/elder-input-pattern.directive.mjs +2 -2
  277. package/esm2022/lib/components/forms/directives/elder-key-event.directive.mjs +2 -2
  278. package/esm2022/lib/components/forms/directives/elder-next-focusable.directive.mjs +3 -3
  279. package/esm2022/lib/components/forms/directives/elder-plug-parent-form.directive.mjs +6 -6
  280. package/esm2022/lib/components/forms/directives/elder-stop-event-propagation.directive.mjs +2 -2
  281. package/esm2022/lib/components/forms/directives/elder-tab-focus-trap.directive.mjs +13 -10
  282. package/esm2022/lib/components/forms/directives/elder-touched.directive.mjs +2 -2
  283. package/esm2022/lib/components/forms/directives/elder-triple-state-checkbox.directive.mjs +4 -4
  284. package/esm2022/lib/components/forms/directives/validation/elder-validation-error.directive.mjs +5 -3
  285. package/esm2022/lib/components/forms/directives/validation/strategies/common-validation-message-strategy.mjs +2 -2
  286. package/esm2022/lib/components/forms/directives/validation/strategies/dynamic-validation-message-strategy.mjs +2 -2
  287. package/esm2022/lib/components/forms/directives/validation/strategies/fallback-validation-message-strategy.mjs +1 -1
  288. package/esm2022/lib/components/forms/directives/validation/validation-message-renderer.service.mjs +4 -6
  289. package/esm2022/lib/components/forms/directives/validation/validation-message-strategy.mjs +1 -1
  290. package/esm2022/lib/components/forms/directives/validation/validators/elder-max.validator.mjs +4 -9
  291. package/esm2022/lib/components/forms/directives/validation/validators/elder-min.validator.mjs +4 -9
  292. package/esm2022/lib/components/forms/directives/validation/validators/elder-multiple-of.validator.mjs +12 -11
  293. package/esm2022/lib/components/forms/directives/validation/validators/elder-required-ignore-zero.validator.mjs +4 -4
  294. package/esm2022/lib/components/forms/elder-forms.module.mjs +1 -1
  295. package/esm2022/lib/components/forms/public_api.mjs +1 -1
  296. package/esm2022/lib/components/forms/search/domain/context/search-context.mjs +7 -3
  297. package/esm2022/lib/components/forms/search/domain/context/search-context.service.mjs +2 -2
  298. package/esm2022/lib/components/forms/search/domain/input/input-value.mjs +1 -1
  299. package/esm2022/lib/components/forms/search/domain/input/search-input-state.mjs +2 -2
  300. package/esm2022/lib/components/forms/search/domain/input/search-input.mjs +1 -1
  301. package/esm2022/lib/components/forms/search/domain/input/simple-search-input.mjs +1 -1
  302. package/esm2022/lib/components/forms/search/domain/url/elder-search-url.directive.mjs +14 -8
  303. package/esm2022/lib/components/forms/search/domain/url/elder-search-url.service.mjs +15 -12
  304. package/esm2022/lib/components/forms/search/domain/url/search-query-params-parser.mjs +3 -3
  305. package/esm2022/lib/components/forms/search/elder-search-context.directive.mjs +30 -25
  306. package/esm2022/lib/components/forms/search/elder-search-input.directive.mjs +14 -19
  307. package/esm2022/lib/components/forms/search/elder-search.module.mjs +24 -13
  308. package/esm2022/lib/components/forms/search/filter/default-input-filter-converter.mjs +2 -4
  309. package/esm2022/lib/components/forms/search/filter/input-filter-converter.mjs +1 -1
  310. package/esm2022/lib/components/forms/search/search-box/elder-search-box.component.mjs +27 -8
  311. package/esm2022/lib/components/forms/search/search-box/elder-search-panel.component.mjs +4 -4
  312. package/esm2022/lib/components/global-search/elder-global-search.component.mjs +19 -10
  313. package/esm2022/lib/components/global-search/elder-global-search.module.mjs +24 -6
  314. package/esm2022/lib/components/global-search/elder-global-search.service.mjs +8 -6
  315. package/esm2022/lib/components/graph/elder-progress-bar/elder-progress-bar.component.mjs +6 -6
  316. package/esm2022/lib/components/graph/elder-progress-bar/elder-progress-bar.module.mjs +4 -10
  317. package/esm2022/lib/components/graph/elder-progress-bar/sub-bar.mjs +1 -1
  318. package/esm2022/lib/components/graph/public_api.mjs +1 -1
  319. package/esm2022/lib/components/headers/elder-header/elder-header.component.mjs +3 -3
  320. package/esm2022/lib/components/headers/elder-header.module.mjs +12 -14
  321. package/esm2022/lib/components/http-support/elder-http-client.service.mjs +4 -9
  322. package/esm2022/lib/components/http-support/public_api.mjs +1 -1
  323. package/esm2022/lib/components/i18n/entities/elder-i18n-entities.module.mjs +3 -3
  324. package/esm2022/lib/components/i18n/entities/elder-localized-input/elder-localized-input.component.mjs +31 -20
  325. package/esm2022/lib/components/i18n/entities/elder-localized-input-dialog/elder-localized-input-dialog.component.mjs +14 -5
  326. package/esm2022/lib/components/i18n/entities/elder-localized-input-dialog.service.mjs +4 -4
  327. package/esm2022/lib/components/i18n/entities/elder-localized-input-table/elder-localized-input-table.component.mjs +42 -19
  328. package/esm2022/lib/components/i18n/entities/elder-localized-text-column.directive.mjs +2 -2
  329. package/esm2022/lib/components/i18n/entities/elder-localized-texts.directive.mjs +4 -5
  330. package/esm2022/lib/components/i18n/entities/picker/i18n-pick-async.pipe.mjs +3 -3
  331. package/esm2022/lib/components/i18n/entities/picker/i18n-pick.pipe.mjs +2 -2
  332. package/esm2022/lib/components/i18n/entities/picker/localisation-picker.service.mjs +6 -6
  333. package/esm2022/lib/components/i18n/language/elder-language-config.mjs +1 -1
  334. package/esm2022/lib/components/i18n/language/elder-language-interceptor.mjs +8 -7
  335. package/esm2022/lib/components/i18n/language/elder-language.module.mjs +11 -10
  336. package/esm2022/lib/components/i18n/language/elder-language.service.mjs +3 -4
  337. package/esm2022/lib/components/i18n/language/language-switcher/elder-language-switcher.component.mjs +17 -5
  338. package/esm2022/lib/components/i18n/locales/elder-locales-de-ch.module.mjs +7 -7
  339. package/esm2022/lib/components/i18n/public_api.mjs +1 -1
  340. package/esm2022/lib/components/iframes/data-view/data-view-iframe/data-view-iframe.component.mjs +13 -13
  341. package/esm2022/lib/components/iframes/data-view/data-view-iframe-adapter.directive.mjs +13 -11
  342. package/esm2022/lib/components/iframes/elder-iframe.module.mjs +4 -4
  343. package/esm2022/lib/components/iframes/iframe-close.directive.mjs +2 -3
  344. package/esm2022/lib/components/iframes/iframe-dialog/iframe-dialog.component.mjs +3 -3
  345. package/esm2022/lib/components/iframes/iframe-host/iframe-host.component.mjs +12 -4
  346. package/esm2022/lib/components/iframes/iframe-messages.mjs +1 -1
  347. package/esm2022/lib/components/iframes/iframe-side-content/iframe-side-content.component.mjs +11 -9
  348. package/esm2022/lib/components/iframes/iframe.service.mjs +7 -5
  349. package/esm2022/lib/components/iframes/typed-event-message.mjs +1 -1
  350. package/esm2022/lib/components/infinitescroll/elder-infinite-autocomplete.directive.mjs +10 -6
  351. package/esm2022/lib/components/infinitescroll/elder-infinite-scroll.directive.mjs +12 -7
  352. package/esm2022/lib/components/infinitescroll/elder-infinite-scroll.module.mjs +4 -10
  353. package/esm2022/lib/components/input/autocomplete/elder-autocomplete/elder-autocomplete-option-selected.mjs +1 -1
  354. package/esm2022/lib/components/input/autocomplete/elder-autocomplete/elder-suggestion-panel.component.mjs +26 -17
  355. package/esm2022/lib/components/input/autocomplete/elder-autocomplete-many.directive.mjs +11 -7
  356. package/esm2022/lib/components/input/autocomplete/elder-autocomplete.directive.mjs +8 -6
  357. package/esm2022/lib/components/input/autocomplete/elder-autocomplete.module.mjs +9 -6
  358. package/esm2022/lib/components/input/autocomplete/many/word-position-finder.mjs +1 -1
  359. package/esm2022/lib/components/input/public_api.mjs +1 -1
  360. package/esm2022/lib/components/labels/elder-labels.module.mjs +26 -8
  361. package/esm2022/lib/components/labels/labels-input/labels-input.component.mjs +28 -11
  362. package/esm2022/lib/components/measures/dimensions/dimensions-input/elder-dimensions-input.component.mjs +22 -21
  363. package/esm2022/lib/components/measures/dimensions/validation/elder-required-dimensions.validator.mjs +4 -4
  364. package/esm2022/lib/components/measures/directives/elder-unit-select.directive.mjs +2 -2
  365. package/esm2022/lib/components/measures/elder-measures.module.mjs +7 -19
  366. package/esm2022/lib/components/measures/elder-quantity-transform.pipe.mjs +2 -2
  367. package/esm2022/lib/components/measures/elder-quantity.pipe.mjs +2 -2
  368. package/esm2022/lib/components/measures/elder-unit.service.mjs +4 -6
  369. package/esm2022/lib/components/measures/model/dimensions.mjs +1 -1
  370. package/esm2022/lib/components/measures/model/quantity.mjs +1 -1
  371. package/esm2022/lib/components/measures/model/unit-dimension.mjs +1 -1
  372. package/esm2022/lib/components/measures/model/unit-registry.mjs +1 -1
  373. package/esm2022/lib/components/measures/model/unit.mjs +1 -1
  374. package/esm2022/lib/components/measures/public_api.mjs +1 -1
  375. package/esm2022/lib/components/measures/quantity-input/quantity-form-field/elder-quantity-form-field.component.mjs +13 -3
  376. package/esm2022/lib/components/measures/quantity-input/quantity-input-control/elder-quantity-input-control.component.mjs +18 -16
  377. package/esm2022/lib/components/measures/quantity-input/validation/elder-quantity-range.validator.mjs +4 -8
  378. package/esm2022/lib/components/measures/quantity-input/validation/elder-required-quantity.validator.mjs +4 -8
  379. package/esm2022/lib/components/measures/util/elder-quantity.service.mjs +15 -10
  380. package/esm2022/lib/components/navigation/bread-crumbs/bread-crumbs/elder-bread-crumbs.component.mjs +26 -6
  381. package/esm2022/lib/components/navigation/bread-crumbs/elder-bread-crumbs.module.mjs +12 -8
  382. package/esm2022/lib/components/navigation/bread-crumbs/path/path.mjs +1 -1
  383. package/esm2022/lib/components/navigation/nav/elder-nav.module.mjs +26 -20
  384. package/esm2022/lib/components/navigation/nav/nav-group/elder-nav-group.component.mjs +15 -21
  385. package/esm2022/lib/components/navigation/nav/nav-link/elder-nav-link.component.mjs +20 -7
  386. package/esm2022/lib/components/navigation/nav/nav-list/elder-nav-list.component.mjs +3 -3
  387. package/esm2022/lib/components/navigation/public_api.mjs +1 -1
  388. package/esm2022/lib/components/navigation/toolbar/elder-toolbar-column.directive.mjs +2 -2
  389. package/esm2022/lib/components/navigation/toolbar/elder-toolbar.module.mjs +26 -20
  390. package/esm2022/lib/components/navigation/toolbar/elder-toolbar.service.mjs +2 -2
  391. package/esm2022/lib/components/navigation/toolbar/toolbar/elder-toolbar.component.mjs +12 -7
  392. package/esm2022/lib/components/navigation/toolbar/toolbar-column-position.mjs +1 -1
  393. package/esm2022/lib/components/navigation/toolbar/toolbar-title/elder-toolbar-title.component.mjs +4 -5
  394. package/esm2022/lib/components/navigation/toolbar/toolbar-title/elder-toolbar-title.service.mjs +5 -4
  395. package/esm2022/lib/components/overlays/elder-overlay-origin.directive.mjs +2 -2
  396. package/esm2022/lib/components/overlays/elder-overlay-ref.mjs +1 -1
  397. package/esm2022/lib/components/overlays/elder-overlay-trigger.directive.mjs +3 -3
  398. package/esm2022/lib/components/overlays/elder-overlay.component.mjs +23 -14
  399. package/esm2022/lib/components/overlays/elder-overlay.module.mjs +4 -10
  400. package/esm2022/lib/components/page/exit-guard/page-exit-guard.module.mjs +5 -12
  401. package/esm2022/lib/components/page/exit-guard/page-exit-guard.service.mjs +6 -6
  402. package/esm2022/lib/components/page/exit-guard/page-exit-lock/page-exit-lock.component.mjs +3 -5
  403. package/esm2022/lib/components/page/exit-guard/page-exit-lock-indicator/page-exit-lock-indicator.component.mjs +3 -8
  404. package/esm2022/lib/components/page/exit-guard/page-exit-lock-overview/page-exit-lock-overview.component.mjs +3 -7
  405. package/esm2022/lib/components/panels/card-panel/elder-card-panel.component.mjs +3 -3
  406. package/esm2022/lib/components/panels/elder-dialog-panel/elder-dialog-panel.component.mjs +3 -3
  407. package/esm2022/lib/components/panels/elder-panel.module.mjs +10 -7
  408. package/esm2022/lib/components/panels/flat/elder-panel.component.mjs +4 -4
  409. package/esm2022/lib/components/panels/toggle-panel/elder-toggle-panel-trigger.directive.mjs +2 -2
  410. package/esm2022/lib/components/panels/toggle-panel/elder-toggle-panel.component.mjs +6 -6
  411. package/esm2022/lib/components/public_api.mjs +1 -1
  412. package/esm2022/lib/components/scrollbar/elder-scrollbar.directive.mjs +2 -2
  413. package/esm2022/lib/components/scrollbar/elder-scrollbar.module.mjs +2 -2
  414. package/esm2022/lib/components/select/auto/elder-auto-select-first.directive.mjs +5 -8
  415. package/esm2022/lib/components/select/auto/elder-auto-select-first.service.mjs +1 -1
  416. package/esm2022/lib/components/select/auto/elder-auto-select-suggest-first.directive.mjs +7 -9
  417. package/esm2022/lib/components/select/auto/elder-select-first-util.mjs +7 -4
  418. package/esm2022/lib/components/select/elder-select-base.mjs +12 -13
  419. package/esm2022/lib/components/select/elder-select-chip.directive.mjs +4 -4
  420. package/esm2022/lib/components/select/elder-select-on-tab.directive.mjs +10 -5
  421. package/esm2022/lib/components/select/elder-select-value.directive.mjs +2 -2
  422. package/esm2022/lib/components/select/elder-select.module.mjs +65 -29
  423. package/esm2022/lib/components/select/filter/elder-chip-filter-style-resolver.mjs +9 -9
  424. package/esm2022/lib/components/select/filter/elder-chips-include-exclude.directive.mjs +19 -15
  425. package/esm2022/lib/components/select/filter/elder-filter-chip-template/elder-filter-chip-template.component.mjs +3 -3
  426. package/esm2022/lib/components/select/filter/include-exclude-model-filter-adapter.mjs +6 -8
  427. package/esm2022/lib/components/select/filter/include-exclude-selection-model.mjs +7 -11
  428. package/esm2022/lib/components/select/multi/elder-chip-select-option/elder-select-option.component.mjs +2 -3
  429. package/esm2022/lib/components/select/multi/elder-multi-select-base.mjs +29 -27
  430. package/esm2022/lib/components/select/multi/elder-multi-select-chip-options/chip-options-provider.mjs +12 -10
  431. package/esm2022/lib/components/select/multi/elder-multi-select-chip-options/elder-multi-select-chip-options.component.mjs +40 -29
  432. package/esm2022/lib/components/select/multi/elder-multi-select-chip-options/select-option-chip-spec.mjs +4 -4
  433. package/esm2022/lib/components/select/multi/elder-multi-select-chips/elder-multi-select-chips.component.mjs +41 -21
  434. package/esm2022/lib/components/select/multi/elder-multi-select-chips/select-chip-spec.mjs +4 -4
  435. package/esm2022/lib/components/select/multi/elder-multi-select-form-field.mjs +2 -2
  436. package/esm2022/lib/components/select/multi/elder-mutli-select-all-directive.mjs +7 -8
  437. package/esm2022/lib/components/select/multi/elder-search-include-exclude.directive.mjs +8 -10
  438. package/esm2022/lib/components/select/popup/selection-model-popup-trigger-adapter.directive.mjs +7 -5
  439. package/esm2022/lib/components/select/popup/selection-model-popup.directive.mjs +13 -13
  440. package/esm2022/lib/components/select/popup/templated-selection-dialog/templated-selection-dialog.component.mjs +15 -5
  441. package/esm2022/lib/components/select/public_api.mjs +1 -1
  442. package/esm2022/lib/components/select/single/elder-clear-select.directive.mjs +5 -3
  443. package/esm2022/lib/components/select/single/elder-select/elder-select.component.mjs +39 -29
  444. package/esm2022/lib/components/select/single/elder-select-form-field.mjs +1 -1
  445. package/esm2022/lib/components/select-chip-list/chip-list-select/elder-chip-list-select.component.mjs +11 -12
  446. package/esm2022/lib/components/select-chip-list/elder-chip-list-select.module.mjs +3 -5
  447. package/esm2022/lib/components/shell/drawers/drawer-outlet-binding.mjs +8 -4
  448. package/esm2022/lib/components/shell/drawers/elder-route-outlet-drawer.service.mjs +6 -4
  449. package/esm2022/lib/components/shell/drawers/elder-router-outlet.service.mjs +7 -7
  450. package/esm2022/lib/components/shell/elder-shell-slot.directive.mjs +2 -2
  451. package/esm2022/lib/components/shell/elder-shell.module.mjs +10 -7
  452. package/esm2022/lib/components/shell/elder-shell.service.mjs +6 -9
  453. package/esm2022/lib/components/shell/header/elder-app-header/elder-app-header.component.mjs +6 -6
  454. package/esm2022/lib/components/shell/shell/elder-shell.component.mjs +34 -14
  455. package/esm2022/lib/components/shell/shell-content-slot.mjs +1 -1
  456. package/esm2022/lib/components/shell/shell-navigation-toggle/elder-shell-navigation-toggle.component.mjs +5 -5
  457. package/esm2022/lib/components/tabs/elder-tab/elder-tab.directive.mjs +2 -2
  458. package/esm2022/lib/components/tabs/elder-tab-group-routing/elder-tab-group-routing.directive.mjs +12 -12
  459. package/esm2022/lib/components/tabs/elder-tab.module.mjs +4 -14
  460. package/esm2022/lib/components/theme/elder-theme-applier.directive.mjs +5 -6
  461. package/esm2022/lib/components/theme/elder-theme-preference.service.mjs +3 -4
  462. package/esm2022/lib/components/theme/elder-theme-toggle/elder-theme-toggle.component.mjs +6 -7
  463. package/esm2022/lib/components/theme/elder-theme.directive.mjs +5 -3
  464. package/esm2022/lib/components/theme/elder-theme.module.mjs +9 -15
  465. package/esm2022/lib/components/theme/elder-theme.service.mjs +7 -9
  466. package/esm2022/lib/components/theme/known-elder-themes.mjs +1 -1
  467. package/esm2022/lib/components/theme/public_api.mjs +1 -1
  468. package/esm2022/lib/components/theme/theme-spec.mjs +3 -7
  469. package/esm2022/lib/components/time/date-adapters/custom-date-adapter.mjs +1 -1
  470. package/esm2022/lib/components/time/date-formats/locale-date-formats.mjs +2 -2
  471. package/esm2022/lib/components/time/duration/duration-bucket.mjs +3 -2
  472. package/esm2022/lib/components/time/duration/duration-format.mjs +1 -1
  473. package/esm2022/lib/components/time/duration/elder-duration-input/elder-duration-input.component.mjs +6 -12
  474. package/esm2022/lib/components/time/duration/iso-duration-str.mjs +1 -1
  475. package/esm2022/lib/components/time/elder-date-switcher/elder-date-switcher.component.mjs +13 -7
  476. package/esm2022/lib/components/time/elder-date-time-input/elder-date-time-input.component.mjs +7 -13
  477. package/esm2022/lib/components/time/elder-interval-input/elder-interval-input.component.mjs +27 -27
  478. package/esm2022/lib/components/time/elder-interval-picker/elder-interval-picker-binding.directive.mjs +1 -1
  479. package/esm2022/lib/components/time/elder-interval-picker/elder-interval-picker-toggle/elder-interval-picker-toggle.component.mjs +15 -18
  480. package/esm2022/lib/components/time/elder-interval-picker/elder-interval-picker.component.mjs +8 -11
  481. package/esm2022/lib/components/time/elder-interval-picker/elder-interval-picker.service.mjs +16 -11
  482. package/esm2022/lib/components/time/elder-local-date-input/elder-local-date-input.component.mjs +22 -13
  483. package/esm2022/lib/components/time/elder-local-time-input/elder-local-time-input.component.mjs +7 -13
  484. package/esm2022/lib/components/time/elder-time.module.mjs +29 -21
  485. package/esm2022/lib/components/time/period/elder-period-input/elder-period-input.component.mjs +6 -12
  486. package/esm2022/lib/components/time/period/period-bucket.mjs +1 -1
  487. package/esm2022/lib/components/time/period/period-format.mjs +1 -1
  488. package/esm2022/lib/components/time/pipes/to-iso-date-string.pipe.mjs +2 -2
  489. package/esm2022/lib/components/time/public_api.mjs +1 -1
  490. package/esm2022/lib/components/toasts/elder-toast.module.mjs +18 -4
  491. package/esm2022/lib/components/toasts/elder-toast.service.mjs +9 -10
  492. package/esm2022/lib/components/toasts/standard-toast/standard-toast.component.mjs +21 -14
  493. package/esm2022/lib/components/toasts/toast-type.mjs +1 -1
  494. package/esm2022/lib/components/toasts/toast.mjs +1 -1
  495. package/esm2022/lib/components/url-fragment/elder-url-fragment.mjs +1 -1
  496. package/esm2022/lib/components/url-fragment/elder-url-fragment.module.mjs +3 -5
  497. package/esm2022/lib/components/url-fragment/url-fragment-switcher/elder-url-fragment-switcher.component.mjs +16 -5
  498. package/esm2022/lib/components/viewers/elder-svg-viewer/elder-svg-viewer.component.mjs +3 -4
  499. package/esm2022/lib/components/viewers/elder-viewers.module.mjs +4 -10
  500. package/esm2022/lib/features/event-source/fetch/public_api.mjs +1 -1
  501. package/esm2022/lib/features/event-source/fetch/reactive-fetch-event-source.mjs +14 -14
  502. package/esm2022/lib/features/event-source/fetch/reactive-fetch-event-source.service.mjs +2 -2
  503. package/esm2022/lib/features/event-source/public_api.mjs +1 -1
  504. package/esm2022/lib/features/event-source/standard/elder-event-source.service.mjs +2 -2
  505. package/esm2022/lib/features/event-source/standard/public_api.mjs +1 -1
  506. package/esm2022/lib/features/event-source/standard/reactive-event-source.mjs +8 -7
  507. package/esm2022/lib/features/kafent/access-token-provider.mjs +1 -1
  508. package/esm2022/lib/features/kafent/kafent-config.mjs +1 -1
  509. package/esm2022/lib/features/kafent/kafent-event-stream.mjs +1 -1
  510. package/esm2022/lib/features/kafent/kafent-event.mjs +1 -1
  511. package/esm2022/lib/features/kafent/kafent-event.service.mjs +16 -8
  512. package/esm2022/lib/features/kafent/kafent-live-event-request.mjs +1 -1
  513. package/esm2022/lib/features/kafent/kafent.module.mjs +10 -13
  514. package/esm2022/lib/features/kafent/sse/kafent-event-stream-sse.service.mjs +12 -9
  515. package/esm2022/lib/features/kafent/sse/kafent-topic-sse.mjs +2 -3
  516. package/esm2022/lib/features/public_api.mjs +1 -1
  517. package/esm2022/lib/pipes/bytes.pipe.mjs +2 -2
  518. package/esm2022/lib/pipes/elder-pipes.module.mjs +52 -8
  519. package/esm2022/lib/pipes/elder-repeat.pipe.mjs +2 -2
  520. package/esm2022/lib/pipes/elder-round.pipe.mjs +2 -2
  521. package/esm2022/lib/pipes/elder-safe-url.pipe.mjs +2 -2
  522. package/esm2022/lib/pipes/elder-truncate.pipe.mjs +3 -3
  523. package/esm2022/lib/pipes/iso-duration.pipe.mjs +2 -2
  524. package/esm2022/lib/pipes/iso-interval-parse.pipe.mjs +4 -5
  525. package/esm2022/lib/pipes/iso-interval.pipe.mjs +2 -2
  526. package/esm2022/lib/pipes/public_api.mjs +1 -1
  527. package/esm2022/lib/pipes/time-ago.pipe.mjs +12 -7
  528. package/esm2022/lib/pipes/time-duration.pipe.mjs +6 -4
  529. package/esm2022/lib/pipes/weight.pipe.mjs +4 -3
  530. package/esm2022/public_api.mjs +1 -1
  531. package/fesm2022/elderbyte-ngx-starter.mjs +3054 -2329
  532. package/fesm2022/elderbyte-ngx-starter.mjs.map +1 -1
  533. package/lib/common/arrays.d.ts +1 -1
  534. package/lib/common/data/data-context/data-context-active-page.d.ts +1 -1
  535. package/lib/common/data/data-context/data-context-base.d.ts +1 -1
  536. package/lib/common/data/data-context/data-context-builder.d.ts +2 -2
  537. package/lib/common/data/data-context/data-context-continuable-base.d.ts +1 -1
  538. package/lib/common/data/data-context/data-context-continuable-paged.d.ts +1 -1
  539. package/lib/common/data/data-context/data-context-continuable-token.d.ts +1 -1
  540. package/lib/common/data/data-context/data-context-simple.d.ts +1 -1
  541. package/lib/common/data/data-context/data-context-source-event-binding.d.ts +2 -5
  542. package/lib/common/data/datasource/data-source-change-event.d.ts +14 -5
  543. package/lib/common/data/datasource/local/local-list-data-source.d.ts +3 -3
  544. package/lib/common/data/datasource/local/local-paged-data-source.d.ts +1 -1
  545. package/lib/common/data/datasource/patch/deep-partial-patcher.d.ts +28 -0
  546. package/lib/common/json-map.d.ts +1 -1
  547. package/lib/common/selection/selection-model.d.ts +2 -2
  548. package/lib/common/time/interval.d.ts +4 -4
  549. package/lib/common/time/temporal-util.d.ts +2 -0
  550. package/lib/common/utils/collection-util.d.ts +1 -1
  551. package/lib/components/card-organizer/card-organizer-data.d.ts +3 -3
  552. package/lib/components/card-organizer/card-stack.d.ts +2 -2
  553. package/lib/components/data-view/base/elder-data-view-options-provider.d.ts +1 -1
  554. package/lib/components/data-view/common/elder-data-common.module.d.ts +1 -1
  555. package/lib/components/data-view/elder-data-view-interaction-mode.d.ts +2 -2
  556. package/lib/components/data-view/grid/elder-grid.module.d.ts +1 -1
  557. package/lib/components/forms/search/elder-search-input.directive.d.ts +1 -1
  558. package/lib/components/navigation/toolbar/elder-toolbar.module.d.ts +1 -1
  559. package/lib/components/navigation/toolbar/toolbar-column-position.d.ts +3 -3
  560. package/lib/components/select/elder-select.module.d.ts +1 -1
  561. package/lib/components/time/elder-interval-input/elder-interval-input.component.d.ts +4 -4
  562. package/lib/components/time/elder-interval-picker/elder-interval-picker-toggle/elder-interval-picker-toggle.component.d.ts +2 -2
  563. package/lib/components/time/elder-interval-picker/elder-interval-picker.component.d.ts +2 -1
  564. package/lib/components/time/elder-interval-picker/elder-interval-picker.service.d.ts +4 -2
  565. package/package.json +1 -1
  566. package/src/assets/i18n/de.json +0 -1
  567. package/src/assets/i18n/en.json +0 -1
  568. package/src/lib/components/access-denied/elder-access-denied.component.scss +1 -5
  569. package/src/lib/components/auditing/audited-entity/elder-audited-entity.component.scss +0 -1
  570. package/src/lib/components/badge/elder-badge/elder-badge.component.scss +2 -7
  571. package/src/lib/components/card-organizer/card-organizer/elder-card-organizer.component.scss +0 -1
  572. package/src/lib/components/card-organizer/card-stack/elder-card-stack.component.scss +4 -14
  573. package/src/lib/components/cards/elder-card/elder-card.component.scss +3 -9
  574. package/src/lib/components/chips/_elder-chip-theme.scss +5 -9
  575. package/src/lib/components/containers/elder-scroll-container/elder-scroll-container.component.scss +0 -1
  576. package/src/lib/components/data-transfer/http-data-transfer/http-data-transfer.component.scss +0 -1
  577. package/src/lib/components/data-transfer/http-data-transfer-indicator/http-data-transfer-indicator.component.scss +0 -1
  578. package/src/lib/components/data-transfer/http-data-transfer-overview/http-data-transfer-overview.component.scss +4 -5
  579. package/src/lib/components/data-view/common/selection/elder-selection-master-checkbox/elder-selection-master-checkbox.component.scss +1 -1
  580. package/src/lib/components/data-view/grid/elder-grid/elder-grid.component.scss +21 -13
  581. package/src/lib/components/data-view/table/elder-table/elder-table.component.scss +12 -21
  582. package/src/lib/components/dialogs/confirm-dialog/elder-confirm-dialog.component.scss +2 -3
  583. package/src/lib/components/errors/exception-detail/elder-exception-detail.component.scss +2 -4
  584. package/src/lib/components/expand-toggle-button/elder-expand-toggle-button.component.scss +0 -4
  585. package/src/lib/components/files/blob-viewer/elder-blob-viewer.component.scss +2 -4
  586. package/src/lib/components/files/drag-n-drop/elder-drop-zone/elder-drop-zone.component.scss +2 -7
  587. package/src/lib/components/forms/search/search-box/elder-search-box.component.scss +0 -2
  588. package/src/lib/components/global-search/elder-global-search.component.scss +1 -2
  589. package/src/lib/components/graph/elder-progress-bar/elder-progress-bar.component.scss +0 -1
  590. package/src/lib/components/iframes/iframe-host/iframe-host.component.scss +0 -1
  591. package/src/lib/components/labels/labels-input/labels-input.component.scss +0 -2
  592. package/src/lib/components/navigation/bread-crumbs/bread-crumbs/elder-bread-crumbs.component.scss +0 -2
  593. package/src/lib/components/navigation/nav/_elder-nav-theme.scss +4 -8
  594. package/src/lib/components/navigation/nav/nav-group/elder-nav-group.component.scss +6 -6
  595. package/src/lib/components/navigation/nav/nav-list/elder-nav-list.component.scss +0 -1
  596. package/src/lib/components/navigation/toolbar/toolbar-title/elder-toolbar-title.component.scss +1 -2
  597. package/src/lib/components/panels/card-panel/elder-card-panel.component.scss +0 -3
  598. package/src/lib/components/panels/elder-dialog-panel/elder-dialog-panel.component.scss +0 -1
  599. package/src/lib/components/panels/flat/_elder-panel-theme.scss +0 -2
  600. package/src/lib/components/panels/flat/elder-panel.component.scss +1 -2
  601. package/src/lib/components/select/_elder-select-base.scss +0 -1
  602. package/src/lib/components/select/filter/elder-filter-chip-template/elder-filter-chip-template.component.scss +7 -7
  603. package/src/lib/components/select/multi/elder-multi-select-chip-options/elder-multi-select-chip-options.component.scss +3 -4
  604. package/src/lib/components/select/multi/elder-multi-select-chips/elder-multi-select-chips.component.scss +7 -7
  605. package/src/lib/components/select/single/elder-select/elder-select.component.scss +1 -1
  606. package/src/lib/components/select-chip-list/chip-list-select/elder-chip-list-select.component.scss +2 -3
  607. package/src/lib/components/shell/header/elder-app-header/elder-app-header.component.scss +1 -2
  608. package/src/lib/components/shell/shell/elder-shell.component.scss +0 -1
  609. package/src/lib/components/shell/shell-navigation-toggle/elder-shell-navigation-toggle.component.scss +1 -2
  610. package/src/lib/components/time/_elder-time-input.theme.scss +2 -2
  611. package/src/lib/components/time/duration/elder-duration-input/elder-duration-input.component.scss +0 -4
  612. package/src/lib/components/time/elder-date-time-input/elder-date-time-input.component.scss +1 -3
  613. package/src/lib/components/time/elder-interval-input/elder-interval-input.component.scss +0 -1
  614. package/src/lib/components/time/elder-local-date-input/elder-local-date-input.component.scss +2 -5
  615. package/src/lib/components/time/period/elder-period-input/elder-period-input.component.scss +0 -4
  616. package/src/lib/components/toasts/standard-toast/standard-toast.component.scss +0 -1
  617. package/src/lib/components/url-fragment/url-fragment-switcher/elder-url-fragment-switcher.component.scss +0 -5
  618. package/src/lib/components/viewers/elder-svg-viewer/elder-svg-viewer.component.scss +0 -1
  619. package/theming/_elder-common.scss +10 -11
  620. package/theming/_elder-defaults.scss +2 -4
  621. package/theming/_elder-flex-layout.scss +7 -8
  622. package/theming/_elder-mdc-support.scss +22 -19
  623. package/theming/_elder-palettes.scss +28 -25
  624. package/theming/_elder-scrollbar-theme.scss +0 -2
  625. package/theming/_elder-style-fixes.scss +10 -7
  626. package/theming/_elder-theme.scss +6 -1
  627. package/theming/_elder-toast-theme.scss +0 -2
  628. package/theming/_mat-icon-button-size.scss +3 -2
  629. package/theming/_mixins.scss +11 -9
@@ -2,7 +2,7 @@ import { ChangeDetectionStrategy, Component, contentChild, effect, Input, viewCh
2
2
  import { LoggerFactory } from '@elderbyte/ts-logger';
3
3
  import { ElderSearchPanelComponent } from './elder-search-panel.component';
4
4
  import { coerceBooleanProperty } from '@angular/cdk/coercion';
5
- import { MatFormField, MatPrefix, MatHint, MatSuffix } from '@angular/material/form-field';
5
+ import { MatFormField, MatPrefix, MatHint, MatSuffix, } from '@angular/material/form-field';
6
6
  import { TranslateModule } from '@ngx-translate/core';
7
7
  import { ElderDialogPanelComponent } from '../../../panels/elder-dialog-panel/elder-dialog-panel.component';
8
8
  import { ElderOverlayComponent } from '../../../overlays/elder-overlay.component';
@@ -46,9 +46,8 @@ export class ElderSearchBoxComponent {
46
46
  this.queryKey = 'query';
47
47
  this._dense = false;
48
48
  this.autocomplete = 'off';
49
- this.touchedSearchInputs$ = searchContextDirective.touchedSearchInputs$.pipe(
50
- // tap(attrs => this.logger.error('Attrs', attrs))
51
- );
49
+ this.touchedSearchInputs$ = searchContextDirective.touchedSearchInputs$
50
+ .pipe();
52
51
  effect(() => {
53
52
  const customSearchPanel = this.customSearchPanel();
54
53
  const overlay = this.overlayComponent();
@@ -56,7 +55,7 @@ export class ElderSearchBoxComponent {
56
55
  customSearchPanel.overlay.set(overlay);
57
56
  }
58
57
  }, {
59
- allowSignalWrites: true
58
+ allowSignalWrites: true,
60
59
  });
61
60
  }
62
61
  /***************************************************************************
@@ -85,11 +84,31 @@ export class ElderSearchBoxComponent {
85
84
  this.searchContextDirective.reset();
86
85
  }
87
86
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: ElderSearchBoxComponent, deps: [{ token: i1.ElderSearchContextDirective }], target: i0.ɵɵFactoryTarget.Component }); }
88
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.2", type: ElderSearchBoxComponent, isStandalone: true, selector: "elder-search-box", inputs: { autoPanel: "autoPanel", name: "name", queryKey: "queryKey", placeholder: "placeholder", label: "label", hint: "hint", autocomplete: "autocomplete", appearance: "appearance", dense: "dense" }, host: { classAttribute: "elder-form-field-host" }, queries: [{ propertyName: "customSearchPanel", first: true, predicate: ElderSearchPanelComponent, descendants: true, isSignal: true }], viewQueries: [{ propertyName: "search", first: true, predicate: ["search"], descendants: true, isSignal: true }, { propertyName: "overlayComponent", first: true, predicate: ElderOverlayComponent, descendants: true, isSignal: true }], exportAs: ["elderSearchBox"], ngImport: i0, template: "<div class=\"layout-row place-stretch-center full flex\">\n <mat-form-field\n [appearance]=\"appearance\"\n class=\"elder-search-box-field flex-auto\" subscriptSizing=\"dynamic\"\n [elderDense]=\"dense\">\n\n <button matPrefix mat-icon-button type=\"button\"\n [elderOverlayTrigger]=\"searchPanel\" (click)=\"blurFocus($event)\"\n >\n <mat-icon>search</mat-icon>\n </button>\n\n <input matInput type=\"text\" [name]=\"name\" [placeholder]=\"placeholder\" #search cdkFocusInitial\n ngModel\n elderSearchInput [elderSearchInputKey]=\"queryKey\" #searchInput=\"elderSearchInput\"\n [autocomplete]=\"(autoPanel && customSearchPanel()) ? 'off' : autocomplete\"\n [elderOverlayOrigin]=\"searchPanel\"\n [elderOverlayTrigger]=\"searchPanel\"\n [elderOverlayTriggerType]=\"'focus'\"\n [elderOverlayTriggerEnabled]=\"autoPanel && customSearchPanel() && (searchInput?.state$ | async)?.pristine\"\n >\n\n @if (hint) {\n <mat-hint>{{ hint }}</mat-hint>\n }\n\n <div class=\"layout-row\" matSuffix>\n @if (touchedSearchInputs$ | async; as touchedInputs) {\n @if (touchedInputs.length > 0) {\n <button mat-icon-button type=\"button\"\n (click)=\"clearSearch($event)\"\n name=\"clear\" aria-label=\"Clear\">\n <mat-icon>close</mat-icon>\n </button>\n }\n\n @if (customSearchPanel()) {\n <button mat-icon-button type=\"button\"\n name=\"openPanel\"\n [elderOverlayTrigger]=\"searchPanel\" (click)=\"blurFocus($event)\">\n <mat-icon\n [matBadge]=\"touchedInputs.length\"\n matBadgeSize=\"small\"\n [matBadgeOverlap]=\"true\"\n [matBadgeHidden]=\"touchedInputs.length === 0\"\n matBadgeColor=\"accent\"\n [color]=\"touchedInputs.length > 0 ? 'accent' : undefined\"\n >\n filter_list\n </mat-icon>\n </button>\n }\n }\n </div>\n\n </mat-form-field>\n</div>\n\n\n<!-- Overlay Panel for advanced search -->\n<elder-overlay #searchPanel=\"elderOverlay\">\n <elder-dialog-panel class=\"elder-search-panel-container\">\n\n <!-- Project the users custom search panel here -->\n <ng-content select=\"elder-search-panel\"></ng-content>\n\n <div class=\"layout-row place-between-center\">\n <button mat-raised-button type=\"button\" name=\"clear\"\n (click)=\"clearSearch($event)\">{{ 'context.reset' | translate }}\n </button>\n\n <button mat-raised-button type=\"button\" name=\"ok\" color=\"primary\"\n (click)=\"searchPanel.closeOverlay()\">Ok\n </button>\n </div>\n </elder-dialog-panel>\n</elder-overlay>\n", styles: [".elder-search-box-field{margin-top:4px;margin-bottom:4px}.elder-search-panel-container{min-width:250px}\n"], dependencies: [{ kind: "component", type: MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: ElderFormFieldDenseDirective, selector: "mat-form-field[elderDense]", inputs: ["elderDense", "subscriptSizing", "floatLabel"] }, { kind: "component", type: MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "directive", type: MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "directive", type: ElderOverlayTriggerDirective, selector: "[elderOverlayTrigger]", inputs: ["elderOverlayTrigger", "elderOverlayTriggerType", "elderOverlayTriggerEnabled"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: ElderSearchInputDirective, selector: "[elderSearchInput]", inputs: ["elderSearchInputTransform", "elderSearchInput", "elderSearchInputFallback", "valueAsId", "elderSearchInputKey"], exportAs: ["elderSearchInput"] }, { kind: "directive", type: ElderOverlayOriginDirective, selector: "[elderOverlayOrigin]", inputs: ["elderOverlayOrigin"] }, { kind: "directive", type: MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: MatBadge, selector: "[matBadge]", inputs: ["matBadgeColor", "matBadgeOverlap", "matBadgeDisabled", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }, { kind: "component", type: ElderOverlayComponent, selector: "elder-overlay", inputs: ["originX", "originY", "overlayX", "overlayY", "offsetY", "offsetX", "backdrop", "backdropVisible", "origin", "positionStrategy", "overlaySize"], outputs: ["keydownEvents", "attachedChange"], exportAs: ["elderOverlay"] }, { kind: "component", type: ElderDialogPanelComponent, selector: "elder-dialog-panel" }, { kind: "component", type: MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
87
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.2", type: ElderSearchBoxComponent, isStandalone: true, selector: "elder-search-box", inputs: { autoPanel: "autoPanel", name: "name", queryKey: "queryKey", placeholder: "placeholder", label: "label", hint: "hint", autocomplete: "autocomplete", appearance: "appearance", dense: "dense" }, host: { classAttribute: "elder-form-field-host" }, queries: [{ propertyName: "customSearchPanel", first: true, predicate: ElderSearchPanelComponent, descendants: true, isSignal: true }], viewQueries: [{ propertyName: "search", first: true, predicate: ["search"], descendants: true, isSignal: true }, { propertyName: "overlayComponent", first: true, predicate: ElderOverlayComponent, descendants: true, isSignal: true }], exportAs: ["elderSearchBox"], ngImport: i0, template: "<div class=\"layout-row place-stretch-center full flex\">\n <mat-form-field\n [appearance]=\"appearance\"\n class=\"elder-search-box-field flex-auto\"\n subscriptSizing=\"dynamic\"\n [elderDense]=\"dense\"\n >\n <button\n matPrefix\n mat-icon-button\n type=\"button\"\n [elderOverlayTrigger]=\"searchPanel\"\n (click)=\"blurFocus($event)\"\n >\n <mat-icon>search</mat-icon>\n </button>\n\n <input\n matInput\n type=\"text\"\n [name]=\"name\"\n [placeholder]=\"placeholder\"\n #search\n cdkFocusInitial\n ngModel\n elderSearchInput\n [elderSearchInputKey]=\"queryKey\"\n #searchInput=\"elderSearchInput\"\n [autocomplete]=\"autoPanel && customSearchPanel() ? 'off' : autocomplete\"\n [elderOverlayOrigin]=\"searchPanel\"\n [elderOverlayTrigger]=\"searchPanel\"\n [elderOverlayTriggerType]=\"'focus'\"\n [elderOverlayTriggerEnabled]=\"\n autoPanel && customSearchPanel() && (searchInput?.state$ | async)?.pristine\n \"\n />\n\n @if (hint) {\n <mat-hint>{{ hint }}</mat-hint>\n }\n\n <div class=\"layout-row\" matSuffix>\n @if (touchedSearchInputs$ | async; as touchedInputs) {\n @if (touchedInputs.length > 0) {\n <button\n mat-icon-button\n type=\"button\"\n (click)=\"clearSearch($event)\"\n name=\"clear\"\n aria-label=\"Clear\"\n >\n <mat-icon>close</mat-icon>\n </button>\n }\n\n @if (customSearchPanel()) {\n <button\n mat-icon-button\n type=\"button\"\n name=\"openPanel\"\n [elderOverlayTrigger]=\"searchPanel\"\n (click)=\"blurFocus($event)\"\n >\n <mat-icon\n [matBadge]=\"touchedInputs.length\"\n matBadgeSize=\"small\"\n [matBadgeOverlap]=\"true\"\n [matBadgeHidden]=\"touchedInputs.length === 0\"\n matBadgeColor=\"accent\"\n [color]=\"touchedInputs.length > 0 ? 'accent' : undefined\"\n >\n filter_list\n </mat-icon>\n </button>\n }\n }\n </div>\n </mat-form-field>\n</div>\n\n<!-- Overlay Panel for advanced search -->\n<elder-overlay #searchPanel=\"elderOverlay\">\n <elder-dialog-panel class=\"elder-search-panel-container\">\n <!-- Project the users custom search panel here -->\n <ng-content select=\"elder-search-panel\"></ng-content>\n\n <div class=\"layout-row place-between-center\">\n <button mat-raised-button type=\"button\" name=\"clear\" (click)=\"clearSearch($event)\">\n {{ 'context.reset' | translate }}\n </button>\n\n <button\n mat-raised-button\n type=\"button\"\n name=\"ok\"\n color=\"primary\"\n (click)=\"searchPanel.closeOverlay()\"\n >\n Ok\n </button>\n </div>\n </elder-dialog-panel>\n</elder-overlay>\n", styles: [".elder-search-box-field{margin-top:4px;margin-bottom:4px}.elder-search-panel-container{min-width:250px}\n"], dependencies: [{ kind: "component", type: MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: ElderFormFieldDenseDirective, selector: "mat-form-field[elderDense]", inputs: ["elderDense", "subscriptSizing", "floatLabel"] }, { kind: "component", type: MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "directive", type: MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "directive", type: ElderOverlayTriggerDirective, selector: "[elderOverlayTrigger]", inputs: ["elderOverlayTrigger", "elderOverlayTriggerType", "elderOverlayTriggerEnabled"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: ElderSearchInputDirective, selector: "[elderSearchInput]", inputs: ["elderSearchInputTransform", "elderSearchInput", "elderSearchInputFallback", "valueAsId", "elderSearchInputKey"], exportAs: ["elderSearchInput"] }, { kind: "directive", type: ElderOverlayOriginDirective, selector: "[elderOverlayOrigin]", inputs: ["elderOverlayOrigin"] }, { kind: "directive", type: MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: MatBadge, selector: "[matBadge]", inputs: ["matBadgeColor", "matBadgeOverlap", "matBadgeDisabled", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }, { kind: "component", type: ElderOverlayComponent, selector: "elder-overlay", inputs: ["originX", "originY", "overlayX", "overlayY", "offsetY", "offsetX", "backdrop", "backdropVisible", "origin", "positionStrategy", "overlaySize"], outputs: ["keydownEvents", "attachedChange"], exportAs: ["elderOverlay"] }, { kind: "component", type: ElderDialogPanelComponent, selector: "elder-dialog-panel" }, { kind: "component", type: MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
89
88
  }
90
89
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: ElderSearchBoxComponent, decorators: [{
91
90
  type: Component,
92
- args: [{ selector: 'elder-search-box', exportAs: 'elderSearchBox', host: { 'class': 'elder-form-field-host' }, changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [NgIf, MatFormField, ElderFormFieldDenseDirective, MatIconButton, MatPrefix, ElderOverlayTriggerDirective, MatIcon, MatInput, FormsModule, ElderSearchInputDirective, ElderOverlayOriginDirective, MatHint, MatSuffix, MatBadge, ElderOverlayComponent, ElderDialogPanelComponent, MatButton, AsyncPipe, TranslateModule], template: "<div class=\"layout-row place-stretch-center full flex\">\n <mat-form-field\n [appearance]=\"appearance\"\n class=\"elder-search-box-field flex-auto\" subscriptSizing=\"dynamic\"\n [elderDense]=\"dense\">\n\n <button matPrefix mat-icon-button type=\"button\"\n [elderOverlayTrigger]=\"searchPanel\" (click)=\"blurFocus($event)\"\n >\n <mat-icon>search</mat-icon>\n </button>\n\n <input matInput type=\"text\" [name]=\"name\" [placeholder]=\"placeholder\" #search cdkFocusInitial\n ngModel\n elderSearchInput [elderSearchInputKey]=\"queryKey\" #searchInput=\"elderSearchInput\"\n [autocomplete]=\"(autoPanel && customSearchPanel()) ? 'off' : autocomplete\"\n [elderOverlayOrigin]=\"searchPanel\"\n [elderOverlayTrigger]=\"searchPanel\"\n [elderOverlayTriggerType]=\"'focus'\"\n [elderOverlayTriggerEnabled]=\"autoPanel && customSearchPanel() && (searchInput?.state$ | async)?.pristine\"\n >\n\n @if (hint) {\n <mat-hint>{{ hint }}</mat-hint>\n }\n\n <div class=\"layout-row\" matSuffix>\n @if (touchedSearchInputs$ | async; as touchedInputs) {\n @if (touchedInputs.length > 0) {\n <button mat-icon-button type=\"button\"\n (click)=\"clearSearch($event)\"\n name=\"clear\" aria-label=\"Clear\">\n <mat-icon>close</mat-icon>\n </button>\n }\n\n @if (customSearchPanel()) {\n <button mat-icon-button type=\"button\"\n name=\"openPanel\"\n [elderOverlayTrigger]=\"searchPanel\" (click)=\"blurFocus($event)\">\n <mat-icon\n [matBadge]=\"touchedInputs.length\"\n matBadgeSize=\"small\"\n [matBadgeOverlap]=\"true\"\n [matBadgeHidden]=\"touchedInputs.length === 0\"\n matBadgeColor=\"accent\"\n [color]=\"touchedInputs.length > 0 ? 'accent' : undefined\"\n >\n filter_list\n </mat-icon>\n </button>\n }\n }\n </div>\n\n </mat-form-field>\n</div>\n\n\n<!-- Overlay Panel for advanced search -->\n<elder-overlay #searchPanel=\"elderOverlay\">\n <elder-dialog-panel class=\"elder-search-panel-container\">\n\n <!-- Project the users custom search panel here -->\n <ng-content select=\"elder-search-panel\"></ng-content>\n\n <div class=\"layout-row place-between-center\">\n <button mat-raised-button type=\"button\" name=\"clear\"\n (click)=\"clearSearch($event)\">{{ 'context.reset' | translate }}\n </button>\n\n <button mat-raised-button type=\"button\" name=\"ok\" color=\"primary\"\n (click)=\"searchPanel.closeOverlay()\">Ok\n </button>\n </div>\n </elder-dialog-panel>\n</elder-overlay>\n", styles: [".elder-search-box-field{margin-top:4px;margin-bottom:4px}.elder-search-panel-container{min-width:250px}\n"] }]
91
+ args: [{ selector: 'elder-search-box', exportAs: 'elderSearchBox', host: { class: 'elder-form-field-host' }, changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
92
+ NgIf,
93
+ MatFormField,
94
+ ElderFormFieldDenseDirective,
95
+ MatIconButton,
96
+ MatPrefix,
97
+ ElderOverlayTriggerDirective,
98
+ MatIcon,
99
+ MatInput,
100
+ FormsModule,
101
+ ElderSearchInputDirective,
102
+ ElderOverlayOriginDirective,
103
+ MatHint,
104
+ MatSuffix,
105
+ MatBadge,
106
+ ElderOverlayComponent,
107
+ ElderDialogPanelComponent,
108
+ MatButton,
109
+ AsyncPipe,
110
+ TranslateModule,
111
+ ], template: "<div class=\"layout-row place-stretch-center full flex\">\n <mat-form-field\n [appearance]=\"appearance\"\n class=\"elder-search-box-field flex-auto\"\n subscriptSizing=\"dynamic\"\n [elderDense]=\"dense\"\n >\n <button\n matPrefix\n mat-icon-button\n type=\"button\"\n [elderOverlayTrigger]=\"searchPanel\"\n (click)=\"blurFocus($event)\"\n >\n <mat-icon>search</mat-icon>\n </button>\n\n <input\n matInput\n type=\"text\"\n [name]=\"name\"\n [placeholder]=\"placeholder\"\n #search\n cdkFocusInitial\n ngModel\n elderSearchInput\n [elderSearchInputKey]=\"queryKey\"\n #searchInput=\"elderSearchInput\"\n [autocomplete]=\"autoPanel && customSearchPanel() ? 'off' : autocomplete\"\n [elderOverlayOrigin]=\"searchPanel\"\n [elderOverlayTrigger]=\"searchPanel\"\n [elderOverlayTriggerType]=\"'focus'\"\n [elderOverlayTriggerEnabled]=\"\n autoPanel && customSearchPanel() && (searchInput?.state$ | async)?.pristine\n \"\n />\n\n @if (hint) {\n <mat-hint>{{ hint }}</mat-hint>\n }\n\n <div class=\"layout-row\" matSuffix>\n @if (touchedSearchInputs$ | async; as touchedInputs) {\n @if (touchedInputs.length > 0) {\n <button\n mat-icon-button\n type=\"button\"\n (click)=\"clearSearch($event)\"\n name=\"clear\"\n aria-label=\"Clear\"\n >\n <mat-icon>close</mat-icon>\n </button>\n }\n\n @if (customSearchPanel()) {\n <button\n mat-icon-button\n type=\"button\"\n name=\"openPanel\"\n [elderOverlayTrigger]=\"searchPanel\"\n (click)=\"blurFocus($event)\"\n >\n <mat-icon\n [matBadge]=\"touchedInputs.length\"\n matBadgeSize=\"small\"\n [matBadgeOverlap]=\"true\"\n [matBadgeHidden]=\"touchedInputs.length === 0\"\n matBadgeColor=\"accent\"\n [color]=\"touchedInputs.length > 0 ? 'accent' : undefined\"\n >\n filter_list\n </mat-icon>\n </button>\n }\n }\n </div>\n </mat-form-field>\n</div>\n\n<!-- Overlay Panel for advanced search -->\n<elder-overlay #searchPanel=\"elderOverlay\">\n <elder-dialog-panel class=\"elder-search-panel-container\">\n <!-- Project the users custom search panel here -->\n <ng-content select=\"elder-search-panel\"></ng-content>\n\n <div class=\"layout-row place-between-center\">\n <button mat-raised-button type=\"button\" name=\"clear\" (click)=\"clearSearch($event)\">\n {{ 'context.reset' | translate }}\n </button>\n\n <button\n mat-raised-button\n type=\"button\"\n name=\"ok\"\n color=\"primary\"\n (click)=\"searchPanel.closeOverlay()\"\n >\n Ok\n </button>\n </div>\n </elder-dialog-panel>\n</elder-overlay>\n", styles: [".elder-search-box-field{margin-top:4px;margin-bottom:4px}.elder-search-panel-container{min-width:250px}\n"] }]
93
112
  }], ctorParameters: () => [{ type: i1.ElderSearchContextDirective }], propDecorators: { autoPanel: [{
94
113
  type: Input
95
114
  }], name: [{
@@ -109,4 +128,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImpor
109
128
  }], dense: [{
110
129
  type: Input
111
130
  }] } });
112
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItc2VhcmNoLWJveC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm1zL3NlYXJjaC9zZWFyY2gtYm94L2VsZGVyLXNlYXJjaC1ib3guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy9mb3Jtcy9zZWFyY2gvc2VhcmNoLWJveC9lbGRlci1zZWFyY2gtYm94LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDYSx1QkFBdUIsRUFDekMsU0FBUyxFQUFFLFlBQVksRUFBZ0IsTUFBTSxFQUNqQyxLQUFLLEVBQXFCLFNBQVMsR0FFaEQsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBRW5ELE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBRXpFLE9BQU8sRUFBZSxxQkFBcUIsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQzFFLE9BQU8sRUFBeUIsWUFBWSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDakgsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLGlFQUFpRSxDQUFDO0FBQzFHLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLDJDQUEyQyxDQUFDO0FBQ2hGLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUNqRCxPQUFPLEVBQUMsMkJBQTJCLEVBQUMsTUFBTSxrREFBa0QsQ0FBQztBQUM3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LGlHQUFFLE9BQU8sOEVBQUUsU0FBUyxxSEFBRSxRQUFRLGtOQUFFLHFCQUFxQiw4UkFBRSx5QkFBeUIsK0RBQUUsU0FBUyw0S0FBRSxTQUFTLDZDQUFFLGVBQWU7OzJGQUV0VCx1QkFBdUI7a0JBWG5DLFNBQVM7K0JBQ0Usa0JBQWtCLFlBQ2xCLGdCQUFnQixRQUlwQixFQUFDLE9BQU8sRUFBRSx1QkFBdUIsRUFBQyxtQkFDdkIsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1AsQ0FBQyxJQUFJLEVBQUUsWUFBWSxFQUFFLDRCQUE0QixFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsNEJBQTRCLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUseUJBQXlCLEVBQUUsMkJBQTJCLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUscUJBQXFCLEVBQUUseUJBQXlCLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxlQUFlLENBQUM7Z0dBc0IzVCxTQUFTO3NCQURmLEtBQUs7Z0JBSUMsSUFBSTtzQkFEVixLQUFLO2dCQUlDLFFBQVE7c0JBRGQsS0FBSztnQkFJQyxXQUFXO3NCQURqQixLQUFLO2dCQUlDLEtBQUs7c0JBRFgsS0FBSztnQkFJQyxJQUFJO3NCQURWLEtBQUs7Z0JBTUMsWUFBWTtzQkFEbEIsS0FBSztnQkFJQyxVQUFVO3NCQURoQixLQUFLO2dCQW1DSyxLQUFLO3NCQURmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlckNvbnRlbnRJbml0LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LCBjb250ZW50Q2hpbGQsIENvbnRlbnRDaGlsZCwgZWZmZWN0LFxuICBFbGVtZW50UmVmLCBJbnB1dCwgT25EZXN0cm95LCBzaWduYWwsIHZpZXdDaGlsZCxcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TG9nZ2VyRmFjdG9yeX0gZnJvbSAnQGVsZGVyYnl0ZS90cy1sb2dnZXInO1xuaW1wb3J0IHtFbGRlclNlYXJjaENvbnRleHREaXJlY3RpdmV9IGZyb20gJy4uL2VsZGVyLXNlYXJjaC1jb250ZXh0LmRpcmVjdGl2ZSc7XG5pbXBvcnQge0VsZGVyU2VhcmNoUGFuZWxDb21wb25lbnR9IGZyb20gJy4vZWxkZXItc2VhcmNoLXBhbmVsLmNvbXBvbmVudCc7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgU3ViamVjdH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0Jvb2xlYW5JbnB1dCwgY29lcmNlQm9vbGVhblByb3BlcnR5fSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHtNYXRGb3JtRmllbGRBcHBlYXJhbmNlLCBNYXRGb3JtRmllbGQsIE1hdFByZWZpeCwgTWF0SGludCwgTWF0U3VmZml4fSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7VHJhbnNsYXRlTW9kdWxlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7RWxkZXJEaWFsb2dQYW5lbENvbXBvbmVudH0gZnJvbSAnLi4vLi4vLi4vcGFuZWxzL2VsZGVyLWRpYWxvZy1wYW5lbC9lbGRlci1kaWFsb2ctcGFuZWwuY29tcG9uZW50JztcbmltcG9ydCB7RWxkZXJPdmVybGF5Q29tcG9uZW50fSBmcm9tICcuLi8uLi8uLi9vdmVybGF5cy9lbGRlci1vdmVybGF5LmNvbXBvbmVudCc7XG5pbXBvcnQge01hdEJhZGdlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9iYWRnZSc7XG5pbXBvcnQge0VsZGVyT3ZlcmxheU9yaWdpbkRpcmVjdGl2ZX0gZnJvbSAnLi4vLi4vLi4vb3ZlcmxheXMvZWxkZXItb3ZlcmxheS1vcmlnaW4uZGlyZWN0aXZlJztcbmltcG9ydCB7RWxkZXJTZWFyY2hJbnB1dERpcmVjdGl2ZX0gZnJvbSAnLi4vZWxkZXItc2VhcmNoLWlucHV0LmRpcmVjdGl2ZSc7XG5pbXBvcnQge0Zvcm1zTW9kdWxlfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge01hdElucHV0fSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XG5pbXBvcnQge01hdEljb259IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHtFbGRlck92ZXJsYXlUcmlnZ2VyRGlyZWN0aXZlfSBmcm9tICcuLi8uLi8uLi9vdmVybGF5cy9lbGRlci1vdmVybGF5LXRyaWdnZXIuZGlyZWN0aXZlJztcbmltcG9ydCB7TWF0SWNvbkJ1dHRvbiwgTWF0QnV0dG9ufSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHtFbGRlckZvcm1GaWVsZERlbnNlRGlyZWN0aXZlfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL2VsZGVyLWZvcm0tZmllbGQtZGVuc2UuZGlyZWN0aXZlJztcbmltcG9ydCB7TmdJZiwgQXN5bmNQaXBlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtTZWFyY2hJbnB1dFN0YXRlfSBmcm9tICcuLi9kb21haW4vaW5wdXQvc2VhcmNoLWlucHV0LXN0YXRlJztcbmltcG9ydCB7T3ZlcmxheVJlZn0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2VsZGVyLXNlYXJjaC1ib3gnLFxuICBleHBvcnRBczogJ2VsZGVyU2VhcmNoQm94JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2VsZGVyLXNlYXJjaC1ib3guY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9lbGRlci1zZWFyY2gtYm94LmNvbXBvbmVudC5zY3NzJ10sXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taG9zdC1tZXRhZGF0YS1wcm9wZXJ0eVxuICBob3N0OiB7J2NsYXNzJzogJ2VsZGVyLWZvcm0tZmllbGQtaG9zdCd9LFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW05nSWYsIE1hdEZvcm1GaWVsZCwgRWxkZXJGb3JtRmllbGREZW5zZURpcmVjdGl2ZSwgTWF0SWNvbkJ1dHRvbiwgTWF0UHJlZml4LCBFbGRlck92ZXJsYXlUcmlnZ2VyRGlyZWN0aXZlLCBNYXRJY29uLCBNYXRJbnB1dCwgRm9ybXNNb2R1bGUsIEVsZGVyU2VhcmNoSW5wdXREaXJlY3RpdmUsIEVsZGVyT3ZlcmxheU9yaWdpbkRpcmVjdGl2ZSwgTWF0SGludCwgTWF0U3VmZml4LCBNYXRCYWRnZSwgRWxkZXJPdmVybGF5Q29tcG9uZW50LCBFbGRlckRpYWxvZ1BhbmVsQ29tcG9uZW50LCBNYXRCdXR0b24sIEFzeW5jUGlwZSwgVHJhbnNsYXRlTW9kdWxlXVxufSlcbmV4cG9ydCBjbGFzcyBFbGRlclNlYXJjaEJveENvbXBvbmVudCAge1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBGaWVsZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgbG9nID0gTG9nZ2VyRmFjdG9yeS5nZXRMb2dnZXIodGhpcy5jb25zdHJ1Y3Rvci5uYW1lKTtcblxuICAvLyBUaGUgc2VhcmNoIGV4cHJlc3Npb24gaW5wdXQgRWxlbWVudFxuICBwdWJsaWMgc2VhcmNoID0gdmlld0NoaWxkLnJlcXVpcmVkPEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD4+KCdzZWFyY2gnKTtcbiAgcHVibGljIHJlYWRvbmx5IG92ZXJsYXlDb21wb25lbnQgPSB2aWV3Q2hpbGQucmVxdWlyZWQoRWxkZXJPdmVybGF5Q29tcG9uZW50KTtcblxuICBwdWJsaWMgcmVhZG9ubHkgY3VzdG9tU2VhcmNoUGFuZWwgPSBjb250ZW50Q2hpbGQoRWxkZXJTZWFyY2hQYW5lbENvbXBvbmVudCk7XG5cbiAgLyoqXG4gICAqIERpc3BsYXkgdGhlIHNlYXJjaCBwYW5lbCBpbW1lZGlhdGVseSB3aGVuIHRoZSB1c2VyIGVudGVycyB0aGUgc2VhcmNoIGJveC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBhdXRvUGFuZWwgPSB0cnVlO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBuYW1lID0gJ3NlYXJjaEV4cHJlc3Npb24nO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBxdWVyeUtleSA9ICdxdWVyeSc7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHBsYWNlaG9sZGVyOiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGxhYmVsOiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGhpbnQ6IHN0cmluZztcblxuICBwcml2YXRlIF9kZW5zZSA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBhdXRvY29tcGxldGUgPSAnb2ZmJztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgYXBwZWFyYW5jZTogTWF0Rm9ybUZpZWxkQXBwZWFyYW5jZTtcblxuICBwdWJsaWMgcmVhZG9ubHkgdG91Y2hlZFNlYXJjaElucHV0cyQ6IE9ic2VydmFibGU8U2VhcmNoSW5wdXRTdGF0ZVtdPjtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29uc3RydWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgcmVhZG9ubHkgc2VhcmNoQ29udGV4dERpcmVjdGl2ZTogRWxkZXJTZWFyY2hDb250ZXh0RGlyZWN0aXZlLFxuICApIHtcbiAgICB0aGlzLnRvdWNoZWRTZWFyY2hJbnB1dHMkID0gc2VhcmNoQ29udGV4dERpcmVjdGl2ZS50b3VjaGVkU2VhcmNoSW5wdXRzJC5waXBlKFxuICAgICAgLy8gdGFwKGF0dHJzID0+IHRoaXMubG9nZ2VyLmVycm9yKCdBdHRycycsIGF0dHJzKSlcbiAgICApO1xuICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICBjb25zdCBjdXN0b21TZWFyY2hQYW5lbCA9IHRoaXMuY3VzdG9tU2VhcmNoUGFuZWwoKTtcbiAgICAgIGNvbnN0IG92ZXJsYXkgPSB0aGlzLm92ZXJsYXlDb21wb25lbnQoKTtcbiAgICAgIGlmIChjdXN0b21TZWFyY2hQYW5lbCkge1xuICAgICAgICBjdXN0b21TZWFyY2hQYW5lbC5vdmVybGF5LnNldChvdmVybGF5KTtcbiAgICAgIH1cbiAgICB9LCB7XG4gICAgICBhbGxvd1NpZ25hbFdyaXRlczogdHJ1ZVxuICAgIH0pO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByb3BlcnRpZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBkZW5zZSh2YWx1ZTogQm9vbGVhbklucHV0KSB7XG4gICAgdGhpcy5fZGVuc2UgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICB9XG5cbiAgcHVibGljIGdldCBkZW5zZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fZGVuc2U7XG4gIH1cblxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQdWJsaWMgQVBJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyBibHVyRm9jdXMoZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5zZWFyY2goKS5uYXRpdmVFbGVtZW50LmJsdXIoKSwgMCk7XG4gIH1cblxuICAvKipcbiAgICogT2NjdXJzIHdoZW4gdGhlIHVzZXIgY2xpY2tzIHRoZSBjbGVhciBzZWFyY2ggYnV0dG9uXG4gICAqL1xuICBwdWJsaWMgY2xlYXJTZWFyY2goZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgIHRoaXMuc2VhcmNoQ29udGV4dERpcmVjdGl2ZS5yZXNldCgpO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByaXZhdGUgbWV0aG9kcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbn1cbiIsIjxkaXYgY2xhc3M9XCJsYXlvdXQtcm93IHBsYWNlLXN0cmV0Y2gtY2VudGVyIGZ1bGwgZmxleFwiPlxuICA8bWF0LWZvcm0tZmllbGRcbiAgICBbYXBwZWFyYW5jZV09XCJhcHBlYXJhbmNlXCJcbiAgICBjbGFzcz1cImVsZGVyLXNlYXJjaC1ib3gtZmllbGQgZmxleC1hdXRvXCIgc3Vic2NyaXB0U2l6aW5nPVwiZHluYW1pY1wiXG4gICAgW2VsZGVyRGVuc2VdPVwiZGVuc2VcIj5cblxuICAgIDxidXR0b24gbWF0UHJlZml4IG1hdC1pY29uLWJ1dHRvbiB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIFtlbGRlck92ZXJsYXlUcmlnZ2VyXT1cInNlYXJjaFBhbmVsXCIgKGNsaWNrKT1cImJsdXJGb2N1cygkZXZlbnQpXCJcbiAgICA+XG4gICAgICA8bWF0LWljb24+c2VhcmNoPC9tYXQtaWNvbj5cbiAgICA8L2J1dHRvbj5cblxuICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPVwidGV4dFwiIFtuYW1lXT1cIm5hbWVcIiBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIiAjc2VhcmNoIGNka0ZvY3VzSW5pdGlhbFxuICAgICAgICAgICBuZ01vZGVsXG4gICAgICAgICAgIGVsZGVyU2VhcmNoSW5wdXQgW2VsZGVyU2VhcmNoSW5wdXRLZXldPVwicXVlcnlLZXlcIiAjc2VhcmNoSW5wdXQ9XCJlbGRlclNlYXJjaElucHV0XCJcbiAgICAgICAgICAgW2F1dG9jb21wbGV0ZV09XCIoYXV0b1BhbmVsICYmIGN1c3RvbVNlYXJjaFBhbmVsKCkpID8gJ29mZicgOiBhdXRvY29tcGxldGVcIlxuICAgICAgICAgICBbZWxkZXJPdmVybGF5T3JpZ2luXT1cInNlYXJjaFBhbmVsXCJcbiAgICAgICAgICAgW2VsZGVyT3ZlcmxheVRyaWdnZXJdPVwic2VhcmNoUGFuZWxcIlxuICAgICAgICAgICBbZWxkZXJPdmVybGF5VHJpZ2dlclR5cGVdPVwiJ2ZvY3VzJ1wiXG4gICAgICAgICAgIFtlbGRlck92ZXJsYXlUcmlnZ2VyRW5hYmxlZF09XCJhdXRvUGFuZWwgJiYgY3VzdG9tU2VhcmNoUGFuZWwoKSAmJiAoc2VhcmNoSW5wdXQ/LnN0YXRlJCB8IGFzeW5jKT8ucHJpc3RpbmVcIlxuICAgID5cblxuICAgIEBpZiAoaGludCkge1xuICAgICAgPG1hdC1oaW50Pnt7IGhpbnQgfX08L21hdC1oaW50PlxuICAgIH1cblxuICAgIDxkaXYgY2xhc3M9XCJsYXlvdXQtcm93XCIgbWF0U3VmZml4PlxuICAgICAgQGlmICh0b3VjaGVkU2VhcmNoSW5wdXRzJCB8IGFzeW5jOyBhcyB0b3VjaGVkSW5wdXRzKSB7XG4gICAgICAgIEBpZiAodG91Y2hlZElucHV0cy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAoY2xpY2spPVwiY2xlYXJTZWFyY2goJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICBuYW1lPVwiY2xlYXJcIiBhcmlhLWxhYmVsPVwiQ2xlYXJcIj5cbiAgICAgICAgICAgIDxtYXQtaWNvbj5jbG9zZTwvbWF0LWljb24+XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgKGN1c3RvbVNlYXJjaFBhbmVsKCkpIHtcbiAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgIG5hbWU9XCJvcGVuUGFuZWxcIlxuICAgICAgICAgICAgICAgICAgW2VsZGVyT3ZlcmxheVRyaWdnZXJdPVwic2VhcmNoUGFuZWxcIiAoY2xpY2spPVwiYmx1ckZvY3VzKCRldmVudClcIj5cbiAgICAgICAgICAgIDxtYXQtaWNvblxuICAgICAgICAgICAgICBbbWF0QmFkZ2VdPVwidG91Y2hlZElucHV0cy5sZW5ndGhcIlxuICAgICAgICAgICAgICBtYXRCYWRnZVNpemU9XCJzbWFsbFwiXG4gICAgICAgICAgICAgIFttYXRCYWRnZU92ZXJsYXBdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgIFttYXRCYWRnZUhpZGRlbl09XCJ0b3VjaGVkSW5wdXRzLmxlbmd0aCA9PT0gMFwiXG4gICAgICAgICAgICAgIG1hdEJhZGdlQ29sb3I9XCJhY2NlbnRcIlxuICAgICAgICAgICAgICBbY29sb3JdPVwidG91Y2hlZElucHV0cy5sZW5ndGggPiAwID8gJ2FjY2VudCcgOiB1bmRlZmluZWRcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICBmaWx0ZXJfbGlzdFxuICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgfVxuICAgICAgfVxuICAgIDwvZGl2PlxuXG4gIDwvbWF0LWZvcm0tZmllbGQ+XG48L2Rpdj5cblxuXG48IS0tIE92ZXJsYXkgUGFuZWwgZm9yIGFkdmFuY2VkIHNlYXJjaCAtLT5cbjxlbGRlci1vdmVybGF5ICNzZWFyY2hQYW5lbD1cImVsZGVyT3ZlcmxheVwiPlxuICA8ZWxkZXItZGlhbG9nLXBhbmVsIGNsYXNzPVwiZWxkZXItc2VhcmNoLXBhbmVsLWNvbnRhaW5lclwiPlxuXG4gICAgPCEtLSBQcm9qZWN0IHRoZSB1c2VycyBjdXN0b20gc2VhcmNoIHBhbmVsIGhlcmUgLS0+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiZWxkZXItc2VhcmNoLXBhbmVsXCI+PC9uZy1jb250ZW50PlxuXG4gICAgPGRpdiBjbGFzcz1cImxheW91dC1yb3cgcGxhY2UtYmV0d2Vlbi1jZW50ZXJcIj5cbiAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gdHlwZT1cImJ1dHRvblwiIG5hbWU9XCJjbGVhclwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJjbGVhclNlYXJjaCgkZXZlbnQpXCI+e3sgJ2NvbnRleHQucmVzZXQnIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L2J1dHRvbj5cblxuICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgbmFtZT1cIm9rXCIgY29sb3I9XCJwcmltYXJ5XCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cInNlYXJjaFBhbmVsLmNsb3NlT3ZlcmxheSgpXCI+T2tcbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L2VsZGVyLWRpYWxvZy1wYW5lbD5cbjwvZWxkZXItb3ZlcmxheT5cbiJdfQ==
131
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItc2VhcmNoLWJveC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm1zL3NlYXJjaC9zZWFyY2gtYm94L2VsZGVyLXNlYXJjaC1ib3guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy9mb3Jtcy9zZWFyY2gvc2VhcmNoLWJveC9lbGRlci1zZWFyY2gtYm94LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFFWixNQUFNLEVBRU4sS0FBSyxFQUdMLFNBQVMsR0FFVixNQUFNLGVBQWUsQ0FBQTtBQUN0QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFFcEQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sZ0NBQWdDLENBQUE7QUFFMUUsT0FBTyxFQUFnQixxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFBO0FBQzNFLE9BQU8sRUFFTCxZQUFZLEVBQ1osU0FBUyxFQUNULE9BQU8sRUFDUCxTQUFTLEdBQ1YsTUFBTSw4QkFBOEIsQ0FBQTtBQUNyQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFDckQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0saUVBQWlFLENBQUE7QUFDM0csT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkNBQTJDLENBQUE7QUFDakYsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHlCQUF5QixDQUFBO0FBQ2xELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGtEQUFrRCxDQUFBO0FBQzlGLE9B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UCxTQUFTLHFIQUNULFFBQVEsa05BQ1IscUJBQXFCLDhSQUNyQix5QkFBeUIsK0RBQ3pCLFNBQVMsNEtBQ1QsU0FBUyw2Q0FDVCxlQUFlOzsyRkFHTix1QkFBdUI7a0JBL0JuQyxTQUFTOytCQUNFLGtCQUFrQixZQUNsQixnQkFBZ0IsUUFJcEIsRUFBRSxLQUFLLEVBQUUsdUJBQXVCLEVBQUUsbUJBQ3ZCLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQO3dCQUNQLElBQUk7d0JBQ0osWUFBWTt3QkFDWiw0QkFBNEI7d0JBQzVCLGFBQWE7d0JBQ2IsU0FBUzt3QkFDVCw0QkFBNEI7d0JBQzVCLE9BQU87d0JBQ1AsUUFBUTt3QkFDUixXQUFXO3dCQUNYLHlCQUF5Qjt3QkFDekIsMkJBQTJCO3dCQUMzQixPQUFPO3dCQUNQLFNBQVM7d0JBQ1QsUUFBUTt3QkFDUixxQkFBcUI7d0JBQ3JCLHlCQUF5Qjt3QkFDekIsU0FBUzt3QkFDVCxTQUFTO3dCQUNULGVBQWU7cUJBQ2hCO2dHQXFCTSxTQUFTO3NCQURmLEtBQUs7Z0JBSUMsSUFBSTtzQkFEVixLQUFLO2dCQUlDLFFBQVE7c0JBRGQsS0FBSztnQkFJQyxXQUFXO3NCQURqQixLQUFLO2dCQUlDLEtBQUs7c0JBRFgsS0FBSztnQkFJQyxJQUFJO3NCQURWLEtBQUs7Z0JBTUMsWUFBWTtzQkFEbEIsS0FBSztnQkFJQyxVQUFVO3NCQURoQixLQUFLO2dCQXFDSyxLQUFLO3NCQURmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlckNvbnRlbnRJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBjb250ZW50Q2hpbGQsXG4gIENvbnRlbnRDaGlsZCxcbiAgZWZmZWN0LFxuICBFbGVtZW50UmVmLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBzaWduYWwsXG4gIHZpZXdDaGlsZCxcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgTG9nZ2VyRmFjdG9yeSB9IGZyb20gJ0BlbGRlcmJ5dGUvdHMtbG9nZ2VyJ1xuaW1wb3J0IHsgRWxkZXJTZWFyY2hDb250ZXh0RGlyZWN0aXZlIH0gZnJvbSAnLi4vZWxkZXItc2VhcmNoLWNvbnRleHQuZGlyZWN0aXZlJ1xuaW1wb3J0IHsgRWxkZXJTZWFyY2hQYW5lbENvbXBvbmVudCB9IGZyb20gJy4vZWxkZXItc2VhcmNoLXBhbmVsLmNvbXBvbmVudCdcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBCb29sZWFuSW5wdXQsIGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbidcbmltcG9ydCB7XG4gIE1hdEZvcm1GaWVsZEFwcGVhcmFuY2UsXG4gIE1hdEZvcm1GaWVsZCxcbiAgTWF0UHJlZml4LFxuICBNYXRIaW50LFxuICBNYXRTdWZmaXgsXG59IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnXG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJ1xuaW1wb3J0IHsgRWxkZXJEaWFsb2dQYW5lbENvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL3BhbmVscy9lbGRlci1kaWFsb2ctcGFuZWwvZWxkZXItZGlhbG9nLXBhbmVsLmNvbXBvbmVudCdcbmltcG9ydCB7IEVsZGVyT3ZlcmxheUNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL292ZXJsYXlzL2VsZGVyLW92ZXJsYXkuY29tcG9uZW50J1xuaW1wb3J0IHsgTWF0QmFkZ2UgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9iYWRnZSdcbmltcG9ydCB7IEVsZGVyT3ZlcmxheU9yaWdpbkRpcmVjdGl2ZSB9IGZyb20gJy4uLy4uLy4uL292ZXJsYXlzL2VsZGVyLW92ZXJsYXktb3JpZ2luLmRpcmVjdGl2ZSdcbmltcG9ydCB7IEVsZGVyU2VhcmNoSW5wdXREaXJlY3RpdmUgfSBmcm9tICcuLi9lbGRlci1zZWFyY2gtaW5wdXQuZGlyZWN0aXZlJ1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3JtcydcbmltcG9ydCB7IE1hdElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnXG5pbXBvcnQgeyBNYXRJY29uIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbidcbmltcG9ydCB7IEVsZGVyT3ZlcmxheVRyaWdnZXJEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi8uLi9vdmVybGF5cy9lbGRlci1vdmVybGF5LXRyaWdnZXIuZGlyZWN0aXZlJ1xuaW1wb3J0IHsgTWF0SWNvbkJ1dHRvbiwgTWF0QnV0dG9uIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJ1xuaW1wb3J0IHsgRWxkZXJGb3JtRmllbGREZW5zZURpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMvZWxkZXItZm9ybS1maWVsZC1kZW5zZS5kaXJlY3RpdmUnXG5pbXBvcnQgeyBOZ0lmLCBBc3luY1BpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXG5pbXBvcnQgeyBTZWFyY2hJbnB1dFN0YXRlIH0gZnJvbSAnLi4vZG9tYWluL2lucHV0L3NlYXJjaC1pbnB1dC1zdGF0ZSdcbmltcG9ydCB7IE92ZXJsYXlSZWYgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSdcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZWxkZXItc2VhcmNoLWJveCcsXG4gIGV4cG9ydEFzOiAnZWxkZXJTZWFyY2hCb3gnLFxuICB0ZW1wbGF0ZVVybDogJy4vZWxkZXItc2VhcmNoLWJveC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2VsZGVyLXNlYXJjaC1ib3guY29tcG9uZW50LnNjc3MnXSxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1ob3N0LW1ldGFkYXRhLXByb3BlcnR5XG4gIGhvc3Q6IHsgY2xhc3M6ICdlbGRlci1mb3JtLWZpZWxkLWhvc3QnIH0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgTmdJZixcbiAgICBNYXRGb3JtRmllbGQsXG4gICAgRWxkZXJGb3JtRmllbGREZW5zZURpcmVjdGl2ZSxcbiAgICBNYXRJY29uQnV0dG9uLFxuICAgIE1hdFByZWZpeCxcbiAgICBFbGRlck92ZXJsYXlUcmlnZ2VyRGlyZWN0aXZlLFxuICAgIE1hdEljb24sXG4gICAgTWF0SW5wdXQsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgRWxkZXJTZWFyY2hJbnB1dERpcmVjdGl2ZSxcbiAgICBFbGRlck92ZXJsYXlPcmlnaW5EaXJlY3RpdmUsXG4gICAgTWF0SGludCxcbiAgICBNYXRTdWZmaXgsXG4gICAgTWF0QmFkZ2UsXG4gICAgRWxkZXJPdmVybGF5Q29tcG9uZW50LFxuICAgIEVsZGVyRGlhbG9nUGFuZWxDb21wb25lbnQsXG4gICAgTWF0QnV0dG9uLFxuICAgIEFzeW5jUGlwZSxcbiAgICBUcmFuc2xhdGVNb2R1bGUsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEVsZGVyU2VhcmNoQm94Q29tcG9uZW50IHtcbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEZpZWxkcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSByZWFkb25seSBsb2cgPSBMb2dnZXJGYWN0b3J5LmdldExvZ2dlcih0aGlzLmNvbnN0cnVjdG9yLm5hbWUpXG5cbiAgLy8gVGhlIHNlYXJjaCBleHByZXNzaW9uIGlucHV0IEVsZW1lbnRcbiAgcHVibGljIHNlYXJjaCA9IHZpZXdDaGlsZC5yZXF1aXJlZDxFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+Pignc2VhcmNoJylcbiAgcHVibGljIHJlYWRvbmx5IG92ZXJsYXlDb21wb25lbnQgPSB2aWV3Q2hpbGQucmVxdWlyZWQoRWxkZXJPdmVybGF5Q29tcG9uZW50KVxuXG4gIHB1YmxpYyByZWFkb25seSBjdXN0b21TZWFyY2hQYW5lbCA9IGNvbnRlbnRDaGlsZChFbGRlclNlYXJjaFBhbmVsQ29tcG9uZW50KVxuXG4gIC8qKlxuICAgKiBEaXNwbGF5IHRoZSBzZWFyY2ggcGFuZWwgaW1tZWRpYXRlbHkgd2hlbiB0aGUgdXNlciBlbnRlcnMgdGhlIHNlYXJjaCBib3guXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgYXV0b1BhbmVsID0gdHJ1ZVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBuYW1lID0gJ3NlYXJjaEV4cHJlc3Npb24nXG5cbiAgQElucHV0KClcbiAgcHVibGljIHF1ZXJ5S2V5ID0gJ3F1ZXJ5J1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBwbGFjZWhvbGRlcjogc3RyaW5nXG5cbiAgQElucHV0KClcbiAgcHVibGljIGxhYmVsOiBzdHJpbmdcblxuICBASW5wdXQoKVxuICBwdWJsaWMgaGludDogc3RyaW5nXG5cbiAgcHJpdmF0ZSBfZGVuc2UgPSBmYWxzZVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBhdXRvY29tcGxldGUgPSAnb2ZmJ1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBhcHBlYXJhbmNlOiBNYXRGb3JtRmllbGRBcHBlYXJhbmNlXG5cbiAgcHVibGljIHJlYWRvbmx5IHRvdWNoZWRTZWFyY2hJbnB1dHMkOiBPYnNlcnZhYmxlPFNlYXJjaElucHV0U3RhdGVbXT5cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29uc3RydWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgcmVhZG9ubHkgc2VhcmNoQ29udGV4dERpcmVjdGl2ZTogRWxkZXJTZWFyY2hDb250ZXh0RGlyZWN0aXZlKSB7XG4gICAgdGhpcy50b3VjaGVkU2VhcmNoSW5wdXRzJCA9IHNlYXJjaENvbnRleHREaXJlY3RpdmUudG91Y2hlZFNlYXJjaElucHV0cyRcbiAgICAgIC5waXBlXG4gICAgICAvLyB0YXAoYXR0cnMgPT4gdGhpcy5sb2dnZXIuZXJyb3IoJ0F0dHJzJywgYXR0cnMpKVxuICAgICAgKClcbiAgICBlZmZlY3QoXG4gICAgICAoKSA9PiB7XG4gICAgICAgIGNvbnN0IGN1c3RvbVNlYXJjaFBhbmVsID0gdGhpcy5jdXN0b21TZWFyY2hQYW5lbCgpXG4gICAgICAgIGNvbnN0IG92ZXJsYXkgPSB0aGlzLm92ZXJsYXlDb21wb25lbnQoKVxuICAgICAgICBpZiAoY3VzdG9tU2VhcmNoUGFuZWwpIHtcbiAgICAgICAgICBjdXN0b21TZWFyY2hQYW5lbC5vdmVybGF5LnNldChvdmVybGF5KVxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBhbGxvd1NpZ25hbFdyaXRlczogdHJ1ZSxcbiAgICAgIH1cbiAgICApXG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJvcGVydGllcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGRlbnNlKHZhbHVlOiBCb29sZWFuSW5wdXQpIHtcbiAgICB0aGlzLl9kZW5zZSA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSlcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZGVuc2UoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2RlbnNlXG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHVibGljIEFQSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgYmx1ckZvY3VzKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuc2VhcmNoKCkubmF0aXZlRWxlbWVudC5ibHVyKCksIDApXG4gIH1cblxuICAvKipcbiAgICogT2NjdXJzIHdoZW4gdGhlIHVzZXIgY2xpY2tzIHRoZSBjbGVhciBzZWFyY2ggYnV0dG9uXG4gICAqL1xuICBwdWJsaWMgY2xlYXJTZWFyY2goZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgIHRoaXMuc2VhcmNoQ29udGV4dERpcmVjdGl2ZS5yZXNldCgpXG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJpdmF0ZSBtZXRob2RzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbn1cbiIsIjxkaXYgY2xhc3M9XCJsYXlvdXQtcm93IHBsYWNlLXN0cmV0Y2gtY2VudGVyIGZ1bGwgZmxleFwiPlxuICA8bWF0LWZvcm0tZmllbGRcbiAgICBbYXBwZWFyYW5jZV09XCJhcHBlYXJhbmNlXCJcbiAgICBjbGFzcz1cImVsZGVyLXNlYXJjaC1ib3gtZmllbGQgZmxleC1hdXRvXCJcbiAgICBzdWJzY3JpcHRTaXppbmc9XCJkeW5hbWljXCJcbiAgICBbZWxkZXJEZW5zZV09XCJkZW5zZVwiXG4gID5cbiAgICA8YnV0dG9uXG4gICAgICBtYXRQcmVmaXhcbiAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICBbZWxkZXJPdmVybGF5VHJpZ2dlcl09XCJzZWFyY2hQYW5lbFwiXG4gICAgICAoY2xpY2spPVwiYmx1ckZvY3VzKCRldmVudClcIlxuICAgID5cbiAgICAgIDxtYXQtaWNvbj5zZWFyY2g8L21hdC1pY29uPlxuICAgIDwvYnV0dG9uPlxuXG4gICAgPGlucHV0XG4gICAgICBtYXRJbnB1dFxuICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgW25hbWVdPVwibmFtZVwiXG4gICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICAgICAgI3NlYXJjaFxuICAgICAgY2RrRm9jdXNJbml0aWFsXG4gICAgICBuZ01vZGVsXG4gICAgICBlbGRlclNlYXJjaElucHV0XG4gICAgICBbZWxkZXJTZWFyY2hJbnB1dEtleV09XCJxdWVyeUtleVwiXG4gICAgICAjc2VhcmNoSW5wdXQ9XCJlbGRlclNlYXJjaElucHV0XCJcbiAgICAgIFthdXRvY29tcGxldGVdPVwiYXV0b1BhbmVsICYmIGN1c3RvbVNlYXJjaFBhbmVsKCkgPyAnb2ZmJyA6IGF1dG9jb21wbGV0ZVwiXG4gICAgICBbZWxkZXJPdmVybGF5T3JpZ2luXT1cInNlYXJjaFBhbmVsXCJcbiAgICAgIFtlbGRlck92ZXJsYXlUcmlnZ2VyXT1cInNlYXJjaFBhbmVsXCJcbiAgICAgIFtlbGRlck92ZXJsYXlUcmlnZ2VyVHlwZV09XCInZm9jdXMnXCJcbiAgICAgIFtlbGRlck92ZXJsYXlUcmlnZ2VyRW5hYmxlZF09XCJcbiAgICAgICAgYXV0b1BhbmVsICYmIGN1c3RvbVNlYXJjaFBhbmVsKCkgJiYgKHNlYXJjaElucHV0Py5zdGF0ZSQgfCBhc3luYyk/LnByaXN0aW5lXG4gICAgICBcIlxuICAgIC8+XG5cbiAgICBAaWYgKGhpbnQpIHtcbiAgICAgIDxtYXQtaGludD57eyBoaW50IH19PC9tYXQtaGludD5cbiAgICB9XG5cbiAgICA8ZGl2IGNsYXNzPVwibGF5b3V0LXJvd1wiIG1hdFN1ZmZpeD5cbiAgICAgIEBpZiAodG91Y2hlZFNlYXJjaElucHV0cyQgfCBhc3luYzsgYXMgdG91Y2hlZElucHV0cykge1xuICAgICAgICBAaWYgKHRvdWNoZWRJbnB1dHMubGVuZ3RoID4gMCkge1xuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAoY2xpY2spPVwiY2xlYXJTZWFyY2goJGV2ZW50KVwiXG4gICAgICAgICAgICBuYW1lPVwiY2xlYXJcIlxuICAgICAgICAgICAgYXJpYS1sYWJlbD1cIkNsZWFyXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8bWF0LWljb24+Y2xvc2U8L21hdC1pY29uPlxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICB9XG5cbiAgICAgICAgQGlmIChjdXN0b21TZWFyY2hQYW5lbCgpKSB7XG4gICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIG5hbWU9XCJvcGVuUGFuZWxcIlxuICAgICAgICAgICAgW2VsZGVyT3ZlcmxheVRyaWdnZXJdPVwic2VhcmNoUGFuZWxcIlxuICAgICAgICAgICAgKGNsaWNrKT1cImJsdXJGb2N1cygkZXZlbnQpXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8bWF0LWljb25cbiAgICAgICAgICAgICAgW21hdEJhZGdlXT1cInRvdWNoZWRJbnB1dHMubGVuZ3RoXCJcbiAgICAgICAgICAgICAgbWF0QmFkZ2VTaXplPVwic21hbGxcIlxuICAgICAgICAgICAgICBbbWF0QmFkZ2VPdmVybGFwXT1cInRydWVcIlxuICAgICAgICAgICAgICBbbWF0QmFkZ2VIaWRkZW5dPVwidG91Y2hlZElucHV0cy5sZW5ndGggPT09IDBcIlxuICAgICAgICAgICAgICBtYXRCYWRnZUNvbG9yPVwiYWNjZW50XCJcbiAgICAgICAgICAgICAgW2NvbG9yXT1cInRvdWNoZWRJbnB1dHMubGVuZ3RoID4gMCA/ICdhY2NlbnQnIDogdW5kZWZpbmVkXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgZmlsdGVyX2xpc3RcbiAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgPC9tYXQtZm9ybS1maWVsZD5cbjwvZGl2PlxuXG48IS0tIE92ZXJsYXkgUGFuZWwgZm9yIGFkdmFuY2VkIHNlYXJjaCAtLT5cbjxlbGRlci1vdmVybGF5ICNzZWFyY2hQYW5lbD1cImVsZGVyT3ZlcmxheVwiPlxuICA8ZWxkZXItZGlhbG9nLXBhbmVsIGNsYXNzPVwiZWxkZXItc2VhcmNoLXBhbmVsLWNvbnRhaW5lclwiPlxuICAgIDwhLS0gUHJvamVjdCB0aGUgdXNlcnMgY3VzdG9tIHNlYXJjaCBwYW5lbCBoZXJlIC0tPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImVsZGVyLXNlYXJjaC1wYW5lbFwiPjwvbmctY29udGVudD5cblxuICAgIDxkaXYgY2xhc3M9XCJsYXlvdXQtcm93IHBsYWNlLWJldHdlZW4tY2VudGVyXCI+XG4gICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIHR5cGU9XCJidXR0b25cIiBuYW1lPVwiY2xlYXJcIiAoY2xpY2spPVwiY2xlYXJTZWFyY2goJGV2ZW50KVwiPlxuICAgICAgICB7eyAnY29udGV4dC5yZXNldCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvYnV0dG9uPlxuXG4gICAgICA8YnV0dG9uXG4gICAgICAgIG1hdC1yYWlzZWQtYnV0dG9uXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBuYW1lPVwib2tcIlxuICAgICAgICBjb2xvcj1cInByaW1hcnlcIlxuICAgICAgICAoY2xpY2spPVwic2VhcmNoUGFuZWwuY2xvc2VPdmVybGF5KClcIlxuICAgICAgPlxuICAgICAgICBPa1xuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZWxkZXItZGlhbG9nLXBhbmVsPlxuPC9lbGRlci1vdmVybGF5PlxuIl19
@@ -6,8 +6,8 @@ import * as i0 from "@angular/core";
6
6
  export class ElderSearchPanelComponent {
7
7
  constructor() {
8
8
  this.overlay = signal(undefined);
9
- const overlay$ = toObservable(this.overlay).pipe(filter(overlay => !!overlay));
10
- this.open$ = overlay$.pipe(switchMap(overlay => overlay.attachedChange.pipe(startWith(overlay.attached))));
9
+ const overlay$ = toObservable(this.overlay).pipe(filter((overlay) => !!overlay));
10
+ this.open$ = overlay$.pipe(switchMap((overlay) => overlay.attachedChange.pipe(startWith(overlay.attached))));
11
11
  }
12
12
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: ElderSearchPanelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
13
13
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.2", type: ElderSearchPanelComponent, isStandalone: true, selector: "elder-search-panel", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
@@ -18,7 +18,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImpor
18
18
  selector: 'elder-search-panel',
19
19
  template: '<ng-content></ng-content>',
20
20
  changeDetection: ChangeDetectionStrategy.OnPush,
21
- standalone: true
21
+ standalone: true,
22
22
  }]
23
23
  }], ctorParameters: () => [] });
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItc2VhcmNoLXBhbmVsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvZm9ybXMvc2VhcmNoL3NlYXJjaC1ib3gvZWxkZXItc2VhcmNoLXBhbmVsLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsU0FBUyxFQUFrQixNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFekYsT0FBTyxFQUFhLFNBQVMsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUMzQyxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDeEQsT0FBTyxFQUFDLE1BQU0sRUFBRSxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFRakQsTUFBTSxPQUFPLHlCQUF5QjtJQU1wQztRQUpnQixZQUFPLEdBQUcsTUFBTSxDQUF3QixTQUFTLENBQUMsQ0FBQztRQU1qRSxNQUFNLFFBQVEsR0FBRyxZQUFZLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FDOUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUM3QixDQUFDO1FBRUYsSUFBSSxDQUFDLEtBQUssR0FBRyxRQUFRLENBQUMsSUFBSSxDQUN4QixTQUFTLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FDL0UsQ0FBQztJQUNKLENBQUM7OEdBZlUseUJBQXlCO2tHQUF6Qix5QkFBeUIsOEVBSnhCLDJCQUEyQjs7MkZBSTVCLHlCQUF5QjtrQkFOckMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsb0JBQW9CO29CQUM5QixRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsVUFBVSxFQUFFLElBQUk7aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBPdXRwdXQsIG91dHB1dCwgc2lnbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7RWxkZXJPdmVybGF5Q29tcG9uZW50fSBmcm9tICcuLi8uLi8uLi9vdmVybGF5cy9lbGRlci1vdmVybGF5LmNvbXBvbmVudCc7XG5pbXBvcnQge09ic2VydmFibGUsIHN3aXRjaE1hcH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge3RvT2JzZXJ2YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHtmaWx0ZXIsIHN0YXJ0V2l0aH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2VsZGVyLXNlYXJjaC1wYW5lbCcsXG4gICAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEVsZGVyU2VhcmNoUGFuZWxDb21wb25lbnQge1xuXG4gIHB1YmxpYyByZWFkb25seSBvdmVybGF5ID0gc2lnbmFsPEVsZGVyT3ZlcmxheUNvbXBvbmVudD4odW5kZWZpbmVkKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgb3BlbiQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG5cbiAgY29uc3RydWN0b3IoKSB7XG5cbiAgICBjb25zdCBvdmVybGF5JCA9IHRvT2JzZXJ2YWJsZSh0aGlzLm92ZXJsYXkpLnBpcGUoXG4gICAgICBmaWx0ZXIob3ZlcmxheSA9PiAhIW92ZXJsYXkpLFxuICAgICk7XG5cbiAgICB0aGlzLm9wZW4kID0gb3ZlcmxheSQucGlwZShcbiAgICAgIHN3aXRjaE1hcChvdmVybGF5ID0+IG92ZXJsYXkuYXR0YWNoZWRDaGFuZ2UucGlwZShzdGFydFdpdGgob3ZlcmxheS5hdHRhY2hlZCkpKSxcbiAgICApO1xuICB9XG59XG4iXX0=
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItc2VhcmNoLXBhbmVsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvZm9ybXMvc2VhcmNoL3NlYXJjaC1ib3gvZWxkZXItc2VhcmNoLXBhbmVsLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFrQixNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFFMUYsT0FBTyxFQUFjLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUM1QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNEJBQTRCLENBQUE7QUFDekQsT0FBTyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTs7QUFRbEQsTUFBTSxPQUFPLHlCQUF5QjtJQUtwQztRQUpnQixZQUFPLEdBQUcsTUFBTSxDQUF3QixTQUFTLENBQUMsQ0FBQTtRQUtoRSxNQUFNLFFBQVEsR0FBRyxZQUFZLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFBO1FBRWhGLElBQUksQ0FBQyxLQUFLLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FDeEIsU0FBUyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FDakYsQ0FBQTtJQUNILENBQUM7OEdBWFUseUJBQXlCO2tHQUF6Qix5QkFBeUIsOEVBSjFCLDJCQUEyQjs7MkZBSTFCLHlCQUF5QjtrQkFOckMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsb0JBQW9CO29CQUM5QixRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsVUFBVSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgT3V0cHV0LCBvdXRwdXQsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBFbGRlck92ZXJsYXlDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9vdmVybGF5cy9lbGRlci1vdmVybGF5LmNvbXBvbmVudCdcbmltcG9ydCB7IE9ic2VydmFibGUsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyB0b09ic2VydmFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCdcbmltcG9ydCB7IGZpbHRlciwgc3RhcnRXaXRoIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2VsZGVyLXNlYXJjaC1wYW5lbCcsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBFbGRlclNlYXJjaFBhbmVsQ29tcG9uZW50IHtcbiAgcHVibGljIHJlYWRvbmx5IG92ZXJsYXkgPSBzaWduYWw8RWxkZXJPdmVybGF5Q29tcG9uZW50Pih1bmRlZmluZWQpXG5cbiAgcHVibGljIHJlYWRvbmx5IG9wZW4kOiBPYnNlcnZhYmxlPGJvb2xlYW4+XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgY29uc3Qgb3ZlcmxheSQgPSB0b09ic2VydmFibGUodGhpcy5vdmVybGF5KS5waXBlKGZpbHRlcigob3ZlcmxheSkgPT4gISFvdmVybGF5KSlcblxuICAgIHRoaXMub3BlbiQgPSBvdmVybGF5JC5waXBlKFxuICAgICAgc3dpdGNoTWFwKChvdmVybGF5KSA9PiBvdmVybGF5LmF0dGFjaGVkQ2hhbmdlLnBpcGUoc3RhcnRXaXRoKG92ZXJsYXkuYXR0YWNoZWQpKSlcbiAgICApXG4gIH1cbn1cbiJdfQ==
@@ -27,14 +27,11 @@ export class ElderGlobalSearchComponent {
27
27
  this._availableSort = [];
28
28
  this.sortAsc = false;
29
29
  this.globalSearchDisabled = !globalSearch.showGlobalSearch;
30
- this._subs.push(globalSearch.showGlobalSearchObservable
31
- .subscribe(value => {
30
+ this._subs.push(globalSearch.showGlobalSearchObservable.subscribe((value) => {
32
31
  this.globalSearchDisabled = !value;
33
- }), this.globalSearch.availableSortsObservable
34
- .subscribe(available => {
32
+ }), this.globalSearch.availableSortsObservable.subscribe((available) => {
35
33
  this.availableSort = available;
36
- }), router.events.pipe(filter(event => event instanceof NavigationEnd))
37
- .subscribe(() => {
34
+ }), router.events.pipe(filter((event) => event instanceof NavigationEnd)).subscribe(() => {
38
35
  this.searchCollapsed = true;
39
36
  }));
40
37
  }
@@ -54,7 +51,7 @@ export class ElderGlobalSearchComponent {
54
51
  this.searchCollapsed = true;
55
52
  }
56
53
  ngOnDestroy() {
57
- this._subs.forEach(sub => sub.unsubscribe());
54
+ this._subs.forEach((sub) => sub.unsubscribe());
58
55
  }
59
56
  get searchCollapsed() {
60
57
  return this._searchCollapsed;
@@ -109,11 +106,23 @@ export class ElderGlobalSearchComponent {
109
106
  return '';
110
107
  }
111
108
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: ElderGlobalSearchComponent, deps: [{ token: i1.Router }, { token: i2.ElderGlobalSearchService }], target: i0.ɵɵFactoryTarget.Component }); }
112
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.2", type: ElderGlobalSearchComponent, isStandalone: true, selector: "elder-global-search", inputs: { hideWhenDisabled: "hideWhenDisabled", searchCollapsed: "searchCollapsed" }, outputs: { searchCollapsedChange: "searchCollapsedChange" }, viewQueries: [{ propertyName: "txtSearch", first: true, predicate: ["txtSearch"], descendants: true }], ngImport: i0, template: "<div class=\"layout-row place-center-center\">\n\n <span *ngIf=\"searchCollapsed\" class=\"flex\"></span>\n\n\n <div *ngIf=\"!searchCollapsed\" class=\"layout-row place-center-center flex\">\n\n <!-- Query Keywords -->\n <mat-form-field color=\"accent\" floatPlaceholder=\"never\" class=\"flex\">\n <mat-icon matPrefix>search</mat-icon>\n <input matInput type=\"search\"\n (keyup)=\"onQueryChanged()\"\n #txtSearch>\n </mat-form-field>\n\n <!-- Sort -->\n <mat-menu #sortMenu=\"matMenu\">\n <button mat-menu-item type=\"button\"\n *ngFor=\"let sort of availableSort\"\n class=\"layout-row place-between-center\"\n (click)=\"sortBy(sort)\"\n >\n {{sort.name | translate}}\n <mat-icon *ngIf=\"selectedSort?.id==sort.id\">check</mat-icon>\n </button>\n </mat-menu>\n <button mat-icon-button type=\"button\"\n *ngIf=\"canSort\"\n [matMenuTriggerFor]=\"sortMenu\">\n <mat-icon>sort</mat-icon>\n </button>\n\n <!-- Sort Asc/Desc-->\n <button mat-icon-button type=\"button\"\n *ngIf=\"canSort\"\n (click)=\"toggleSortAsc()\">\n <mat-icon>{{sortAsc ? \"arrow_downward\" : \"arrow_upward\"}}</mat-icon>\n </button>\n </div>\n\n\n <!-- Toggle Global Search -->\n <button mat-icon-button type=\"button\"\n *ngIf=\"!isSearchHidden\"\n (click)=\"toggleSearch()\"\n [disabled]=\"globalSearchDisabled\" >\n <mat-icon>{{toggleIcon}}</mat-icon>\n </button>\n</div>\n\n\n", styles: [""], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "directive", type: MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "component", type: MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "directive", type: MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
109
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.2", type: ElderGlobalSearchComponent, isStandalone: true, selector: "elder-global-search", inputs: { hideWhenDisabled: "hideWhenDisabled", searchCollapsed: "searchCollapsed" }, outputs: { searchCollapsedChange: "searchCollapsedChange" }, viewQueries: [{ propertyName: "txtSearch", first: true, predicate: ["txtSearch"], descendants: true }], ngImport: i0, template: "<div class=\"layout-row place-center-center\">\n <span *ngIf=\"searchCollapsed\" class=\"flex\"></span>\n\n <div *ngIf=\"!searchCollapsed\" class=\"layout-row place-center-center flex\">\n <!-- Query Keywords -->\n <mat-form-field color=\"accent\" floatPlaceholder=\"never\" class=\"flex\">\n <mat-icon matPrefix>search</mat-icon>\n <input matInput type=\"search\" (keyup)=\"onQueryChanged()\" #txtSearch />\n </mat-form-field>\n\n <!-- Sort -->\n <mat-menu #sortMenu=\"matMenu\">\n <button\n mat-menu-item\n type=\"button\"\n *ngFor=\"let sort of availableSort\"\n class=\"layout-row place-between-center\"\n (click)=\"sortBy(sort)\"\n >\n {{ sort.name | translate }}\n <mat-icon *ngIf=\"selectedSort?.id == sort.id\">check</mat-icon>\n </button>\n </mat-menu>\n <button mat-icon-button type=\"button\" *ngIf=\"canSort\" [matMenuTriggerFor]=\"sortMenu\">\n <mat-icon>sort</mat-icon>\n </button>\n\n <!-- Sort Asc/Desc-->\n <button mat-icon-button type=\"button\" *ngIf=\"canSort\" (click)=\"toggleSortAsc()\">\n <mat-icon>{{ sortAsc ? 'arrow_downward' : 'arrow_upward' }}</mat-icon>\n </button>\n </div>\n\n <!-- Toggle Global Search -->\n <button\n mat-icon-button\n type=\"button\"\n *ngIf=\"!isSearchHidden\"\n (click)=\"toggleSearch()\"\n [disabled]=\"globalSearchDisabled\"\n >\n <mat-icon>{{ toggleIcon }}</mat-icon>\n </button>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "directive", type: MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "component", type: MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "directive", type: MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
113
110
  }
114
111
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: ElderGlobalSearchComponent, decorators: [{
115
112
  type: Component,
116
- args: [{ selector: 'elder-global-search', standalone: true, imports: [NgIf, MatFormField, MatIcon, MatPrefix, MatInput, MatMenu, NgFor, MatMenuItem, MatIconButton, MatMenuTrigger, TranslateModule], template: "<div class=\"layout-row place-center-center\">\n\n <span *ngIf=\"searchCollapsed\" class=\"flex\"></span>\n\n\n <div *ngIf=\"!searchCollapsed\" class=\"layout-row place-center-center flex\">\n\n <!-- Query Keywords -->\n <mat-form-field color=\"accent\" floatPlaceholder=\"never\" class=\"flex\">\n <mat-icon matPrefix>search</mat-icon>\n <input matInput type=\"search\"\n (keyup)=\"onQueryChanged()\"\n #txtSearch>\n </mat-form-field>\n\n <!-- Sort -->\n <mat-menu #sortMenu=\"matMenu\">\n <button mat-menu-item type=\"button\"\n *ngFor=\"let sort of availableSort\"\n class=\"layout-row place-between-center\"\n (click)=\"sortBy(sort)\"\n >\n {{sort.name | translate}}\n <mat-icon *ngIf=\"selectedSort?.id==sort.id\">check</mat-icon>\n </button>\n </mat-menu>\n <button mat-icon-button type=\"button\"\n *ngIf=\"canSort\"\n [matMenuTriggerFor]=\"sortMenu\">\n <mat-icon>sort</mat-icon>\n </button>\n\n <!-- Sort Asc/Desc-->\n <button mat-icon-button type=\"button\"\n *ngIf=\"canSort\"\n (click)=\"toggleSortAsc()\">\n <mat-icon>{{sortAsc ? \"arrow_downward\" : \"arrow_upward\"}}</mat-icon>\n </button>\n </div>\n\n\n <!-- Toggle Global Search -->\n <button mat-icon-button type=\"button\"\n *ngIf=\"!isSearchHidden\"\n (click)=\"toggleSearch()\"\n [disabled]=\"globalSearchDisabled\" >\n <mat-icon>{{toggleIcon}}</mat-icon>\n </button>\n</div>\n\n\n" }]
113
+ args: [{ selector: 'elder-global-search', standalone: true, imports: [
114
+ NgIf,
115
+ MatFormField,
116
+ MatIcon,
117
+ MatPrefix,
118
+ MatInput,
119
+ MatMenu,
120
+ NgFor,
121
+ MatMenuItem,
122
+ MatIconButton,
123
+ MatMenuTrigger,
124
+ TranslateModule,
125
+ ], template: "<div class=\"layout-row place-center-center\">\n <span *ngIf=\"searchCollapsed\" class=\"flex\"></span>\n\n <div *ngIf=\"!searchCollapsed\" class=\"layout-row place-center-center flex\">\n <!-- Query Keywords -->\n <mat-form-field color=\"accent\" floatPlaceholder=\"never\" class=\"flex\">\n <mat-icon matPrefix>search</mat-icon>\n <input matInput type=\"search\" (keyup)=\"onQueryChanged()\" #txtSearch />\n </mat-form-field>\n\n <!-- Sort -->\n <mat-menu #sortMenu=\"matMenu\">\n <button\n mat-menu-item\n type=\"button\"\n *ngFor=\"let sort of availableSort\"\n class=\"layout-row place-between-center\"\n (click)=\"sortBy(sort)\"\n >\n {{ sort.name | translate }}\n <mat-icon *ngIf=\"selectedSort?.id == sort.id\">check</mat-icon>\n </button>\n </mat-menu>\n <button mat-icon-button type=\"button\" *ngIf=\"canSort\" [matMenuTriggerFor]=\"sortMenu\">\n <mat-icon>sort</mat-icon>\n </button>\n\n <!-- Sort Asc/Desc-->\n <button mat-icon-button type=\"button\" *ngIf=\"canSort\" (click)=\"toggleSortAsc()\">\n <mat-icon>{{ sortAsc ? 'arrow_downward' : 'arrow_upward' }}</mat-icon>\n </button>\n </div>\n\n <!-- Toggle Global Search -->\n <button\n mat-icon-button\n type=\"button\"\n *ngIf=\"!isSearchHidden\"\n (click)=\"toggleSearch()\"\n [disabled]=\"globalSearchDisabled\"\n >\n <mat-icon>{{ toggleIcon }}</mat-icon>\n </button>\n</div>\n" }]
117
126
  }], ctorParameters: () => [{ type: i1.Router }, { type: i2.ElderGlobalSearchService }], propDecorators: { searchCollapsedChange: [{
118
127
  type: Output
119
128
  }], hideWhenDisabled: [{
@@ -124,4 +133,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImpor
124
133
  type: ViewChild,
125
134
  args: ['txtSearch']
126
135
  }] } });
127
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItZ2xvYmFsLXNlYXJjaC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL2dsb2JhbC1zZWFyY2gvZWxkZXItZ2xvYmFsLXNlYXJjaC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL2dsb2JhbC1zZWFyY2gvZWxkZXItZ2xvYmFsLXNlYXJjaC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUFjLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBRSxTQUFTLEdBQ2pGLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBMkIsV0FBVyxFQUFhLE1BQU0sK0JBQStCLENBQUM7QUFDaEcsT0FBTyxFQUFDLGFBQWEsRUFBUyxNQUFNLGlCQUFpQixDQUFDO0FBQ3RELE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUU1QyxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEMsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUN2RCxPQUFPLEVBQUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDakQsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQy9DLE9BQU8sRUFBQyxZQUFZLEVBQUUsU0FBUyxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDckUsT0FB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QUM7SUFDNUQsQ0FBQztJQUVELElBQVksYUFBYTtRQUN2QixJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNwQixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWlDLENBQUM7WUFDbkUsT0FBTyxRQUFRLENBQUMsS0FBSyxDQUFDO1FBQ3hCLENBQUM7UUFDRCxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7OEdBeklVLDBCQUEwQjtrR0FBMUIsMEJBQTBCLDBVQzNCdkMsNGlEQW1EQSwwREQxQmMsSUFBSSw2RkFBRSxZQUFZLDRMQUFFLE9BQU8sMklBQUUsU0FBUyxxSEFBRSxRQUFRLGlVQUFFLE9BQU8sMlFBQUUsS0FBSyxtSEFBRSxXQUFXLHNJQUFFLGFBQWEsNkZBQUUsY0FBYyxvU0FBRSxlQUFlOzsyRkFFOUgsMEJBQTBCO2tCQVB0QyxTQUFTOytCQUNJLHFCQUFxQixjQUduQixJQUFJLFdBQ1AsQ0FBQyxJQUFJLEVBQUUsWUFBWSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLGFBQWEsRUFBRSxjQUFjLEVBQUUsZUFBZSxDQUFDO2tIQVNuSSxxQkFBcUI7c0JBRDNCLE1BQU07Z0JBSUEsZ0JBQWdCO3NCQUR0QixLQUFLO2dCQThERixlQUFlO3NCQURsQixLQUFLO2dCQU1GLFNBQVM7c0JBRFosU0FBUzt1QkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtFbGRlckdsb2JhbFNlYXJjaFNlcnZpY2UsIFNlYXJjaFF1ZXJ5LCBTb3J0T3B0aW9ufSBmcm9tICcuL2VsZGVyLWdsb2JhbC1zZWFyY2guc2VydmljZSc7XG5pbXBvcnQge05hdmlnYXRpb25FbmQsIFJvdXRlcn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7U29ydH0gZnJvbSAnLi4vLi4vY29tbW9uL2RhdGEvc29ydCc7XG5pbXBvcnQge1N1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge2ZpbHRlcn0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtUcmFuc2xhdGVNb2R1bGV9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHtNYXRJY29uQnV0dG9ufSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHtNYXRNZW51LCBNYXRNZW51SXRlbSwgTWF0TWVudVRyaWdnZXJ9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL21lbnUnO1xuaW1wb3J0IHtNYXRJbnB1dH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xuaW1wb3J0IHtNYXRJY29ufSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7TWF0Rm9ybUZpZWxkLCBNYXRQcmVmaXh9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xuaW1wb3J0IHtOZ0lmLCBOZ0Zvcn0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuXG4vKipcbiAqIEBkZXByZWNhdGVkIFRoaXMgY29tcG9uZW50IGlzIGNvbnNpZGVyZWQgRU9MXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZWxkZXItZ2xvYmFsLXNlYXJjaCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2VsZGVyLWdsb2JhbC1zZWFyY2guY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2VsZGVyLWdsb2JhbC1zZWFyY2guY29tcG9uZW50LnNjc3MnXSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtOZ0lmLCBNYXRGb3JtRmllbGQsIE1hdEljb24sIE1hdFByZWZpeCwgTWF0SW5wdXQsIE1hdE1lbnUsIE5nRm9yLCBNYXRNZW51SXRlbSwgTWF0SWNvbkJ1dHRvbiwgTWF0TWVudVRyaWdnZXIsIFRyYW5zbGF0ZU1vZHVsZV1cbn0pXG5leHBvcnQgY2xhc3MgRWxkZXJHbG9iYWxTZWFyY2hDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgcHJpdmF0ZSBfc2VhcmNoQ29sbGFwc2VkID0gdHJ1ZTtcbiAgcHJpdmF0ZSBfdHh0U2VhcmNoOiBFbGVtZW50UmVmO1xuICBwcml2YXRlIF9zdWJzOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgc2VhcmNoQ29sbGFwc2VkQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBoaWRlV2hlbkRpc2FibGVkOiBib29sZWFuO1xuXG4gIHByaXZhdGUgX2F2YWlsYWJsZVNvcnQ6IFNvcnRPcHRpb25bXSA9IFtdO1xuICBwdWJsaWMgc2VsZWN0ZWRTb3J0OiBTb3J0T3B0aW9uO1xuICBwdWJsaWMgc29ydEFzYyA9IGZhbHNlO1xuICBwdWJsaWMgZ2xvYmFsU2VhcmNoRGlzYWJsZWQ6IGJvb2xlYW47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIGdsb2JhbFNlYXJjaDogRWxkZXJHbG9iYWxTZWFyY2hTZXJ2aWNlKSB7XG5cbiAgICB0aGlzLmdsb2JhbFNlYXJjaERpc2FibGVkID0gIWdsb2JhbFNlYXJjaC5zaG93R2xvYmFsU2VhcmNoO1xuXG5cbiAgICB0aGlzLl9zdWJzLnB1c2goXG5cbiAgICAgIGdsb2JhbFNlYXJjaC5zaG93R2xvYmFsU2VhcmNoT2JzZXJ2YWJsZVxuICAgICAgICAuc3Vic2NyaWJlKHZhbHVlID0+IHtcbiAgICAgICAgICB0aGlzLmdsb2JhbFNlYXJjaERpc2FibGVkID0gIXZhbHVlO1xuICAgICAgICB9KSxcblxuICAgICAgdGhpcy5nbG9iYWxTZWFyY2guYXZhaWxhYmxlU29ydHNPYnNlcnZhYmxlXG4gICAgICAgIC5zdWJzY3JpYmUoYXZhaWxhYmxlID0+IHtcbiAgICAgICAgICB0aGlzLmF2YWlsYWJsZVNvcnQgPSBhdmFpbGFibGU7XG4gICAgICAgIH0pLFxuXG4gICAgICByb3V0ZXIuZXZlbnRzLnBpcGUoXG4gICAgICAgICBmaWx0ZXIoZXZlbnQgPT4gZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKVxuICAgICAgICApXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuc2VhcmNoQ29sbGFwc2VkID0gdHJ1ZTtcbiAgICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgcHVibGljIHNldCBhdmFpbGFibGVTb3J0KGF2YWlsYWJsZTogU29ydE9wdGlvbltdKSB7XG4gICAgdGhpcy5fYXZhaWxhYmxlU29ydCA9IGF2YWlsYWJsZTtcbiAgICBpZiAoYXZhaWxhYmxlLmxlbmd0aCA+IDApIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZFNvcnQgPSBhdmFpbGFibGVbMF07XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldCBhdmFpbGFibGVTb3J0KCk6IFNvcnRPcHRpb25bXSB7XG4gICAgICByZXR1cm4gdGhpcy5fYXZhaWxhYmxlU29ydDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY2FuU29ydCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fYXZhaWxhYmxlU29ydCAmJiB0aGlzLmF2YWlsYWJsZVNvcnQubGVuZ3RoID4gMDtcbiAgfVxuXG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5zZWFyY2hDb2xsYXBzZWQgPSB0cnVlO1xuICB9XG5cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9zdWJzLmZvckVhY2goc3ViID0+IHN1Yi51bnN1YnNjcmliZSgpKTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIGdldCBzZWFyY2hDb2xsYXBzZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX3NlYXJjaENvbGxhcHNlZDtcbiAgfVxuXG4gIEBWaWV3Q2hpbGQoJ3R4dFNlYXJjaCcpXG4gIHNldCB0eHRTZWFyY2goaW5wdXQ6IEVsZW1lbnRSZWYpIHtcbiAgICB0aGlzLl90eHRTZWFyY2ggPSBpbnB1dDtcbiAgfVxuXG4gIHNldCBzZWFyY2hDb2xsYXBzZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9zZWFyY2hDb2xsYXBzZWQgPSB2YWx1ZTtcbiAgICB0aGlzLnNlYXJjaENvbGxhcHNlZENoYW5nZS5lbWl0KHRoaXMuc2VhcmNoQ29sbGFwc2VkKTtcbiAgICBpZiAoIXRoaXMuX3NlYXJjaENvbGxhcHNlZCkge1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLl90eHRTZWFyY2gubmF0aXZlRWxlbWVudC5mb2N1cygpLCAwKTtcbiAgICB9XG4gIH1cblxuICBnZXQgdG9nZ2xlSWNvbigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnNlYXJjaENvbGxhcHNlZCA/ICdzZWFyY2gnIDogJ2Nsb3NlJztcbiAgfVxuXG4gIHB1YmxpYyB0b2dnbGVTZWFyY2goKSB7XG4gICAgaWYgKHRoaXMuc2VhcmNoQ29sbGFwc2VkKSB7XG4gICAgICAvLyBTaG93IHNlYXJjaFxuICAgICAgdGhpcy5zZWFyY2hDb2xsYXBzZWQgPSBmYWxzZTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gQ29sbGFwc2Ugc2VhcmNoXG4gICAgICB0aGlzLnNlYXJjaENvbGxhcHNlZCA9IHRydWU7XG4gICAgICB0aGlzLmdsb2JhbFNlYXJjaC5xdWVyeSA9IFNlYXJjaFF1ZXJ5LkVtcHR5O1xuICAgIH1cbiAgfVxuXG4gIGdldCBpc1NlYXJjaEhpZGRlbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oaWRlV2hlbkRpc2FibGVkICYmIHRoaXMuZ2xvYmFsU2VhcmNoRGlzYWJsZWQ7XG4gIH1cblxuICBwdWJsaWMgdG9nZ2xlU29ydEFzYygpOiB2b2lkIHtcbiAgICB0aGlzLnNvcnRBc2MgPSAhdGhpcy5zb3J0QXNjO1xuICAgIHRoaXMub25RdWVyeUNoYW5nZWQoKTtcbiAgfVxuXG4gIHB1YmxpYyBzb3J0Qnkoc29ydDogU29ydE9wdGlvbikge1xuICAgIHRoaXMuc2VsZWN0ZWRTb3J0ID0gc29ydDtcbiAgICB0aGlzLm9uUXVlcnlDaGFuZ2VkKCk7XG4gIH1cblxuICBwdWJsaWMgb25RdWVyeUNoYW5nZWQoKSB7XG5cbiAgICBjb25zdCBzb3J0cyA9IHRoaXMuc2VsZWN0ZWRTb3J0ID8gW3RoaXMuY29udmVydFRvU29ydCh0aGlzLnNlbGVjdGVkU29ydCldIDogW107XG5cbiAgICB0aGlzLmdsb2JhbFNlYXJjaC5xdWVyeSA9IG5ldyBTZWFyY2hRdWVyeShcbiAgICAgICAgdGhpcy5rZXl3b3Jkc1ZhbHVlLFxuICAgICAgICBzb3J0c1xuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGNvbnZlcnRUb1NvcnQoc29ydDogU29ydE9wdGlvbik6IFNvcnQge1xuICAgICAgcmV0dXJuIG5ldyBTb3J0KHNvcnQuaWQsIHRoaXMuc29ydEFzYyA/ICdhc2MnIDogJ2Rlc2MnKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IGtleXdvcmRzVmFsdWUoKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5fdHh0U2VhcmNoKSB7XG4gICAgICBjb25zdCB0eHRJbnB1dCA9IHRoaXMuX3R4dFNlYXJjaC5uYXRpdmVFbGVtZW50IGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG4gICAgICByZXR1cm4gdHh0SW5wdXQudmFsdWU7XG4gICAgfVxuICAgIHJldHVybiAnJztcbiAgfVxuXG59XG4iLCI8ZGl2IGNsYXNzPVwibGF5b3V0LXJvdyBwbGFjZS1jZW50ZXItY2VudGVyXCI+XG5cbiAgPHNwYW4gKm5nSWY9XCJzZWFyY2hDb2xsYXBzZWRcIiBjbGFzcz1cImZsZXhcIj48L3NwYW4+XG5cblxuICA8ZGl2ICpuZ0lmPVwiIXNlYXJjaENvbGxhcHNlZFwiIGNsYXNzPVwibGF5b3V0LXJvdyBwbGFjZS1jZW50ZXItY2VudGVyIGZsZXhcIj5cblxuICAgIDwhLS0gUXVlcnkgS2V5d29yZHMgLS0+XG4gICAgPG1hdC1mb3JtLWZpZWxkIGNvbG9yPVwiYWNjZW50XCIgZmxvYXRQbGFjZWhvbGRlcj1cIm5ldmVyXCIgY2xhc3M9XCJmbGV4XCI+XG4gICAgICA8bWF0LWljb24gbWF0UHJlZml4PnNlYXJjaDwvbWF0LWljb24+XG4gICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT1cInNlYXJjaFwiXG4gICAgICAgICAgICAgKGtleXVwKT1cIm9uUXVlcnlDaGFuZ2VkKClcIlxuICAgICAgICAgICAgICN0eHRTZWFyY2g+XG4gICAgPC9tYXQtZm9ybS1maWVsZD5cblxuICAgIDwhLS0gU29ydCAtLT5cbiAgICA8bWF0LW1lbnUgI3NvcnRNZW51PVwibWF0TWVudVwiPlxuICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgc29ydCBvZiBhdmFpbGFibGVTb3J0XCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJsYXlvdXQtcm93IHBsYWNlLWJldHdlZW4tY2VudGVyXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cInNvcnRCeShzb3J0KVwiXG4gICAgICA+XG4gICAgICAgIHt7c29ydC5uYW1lIHwgdHJhbnNsYXRlfX1cbiAgICAgICAgPG1hdC1pY29uICpuZ0lmPVwic2VsZWN0ZWRTb3J0Py5pZD09c29ydC5pZFwiPmNoZWNrPC9tYXQtaWNvbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvbWF0LW1lbnU+XG4gICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAqbmdJZj1cImNhblNvcnRcIlxuICAgICAgICAgICAgW21hdE1lbnVUcmlnZ2VyRm9yXT1cInNvcnRNZW51XCI+XG4gICAgICA8bWF0LWljb24+c29ydDwvbWF0LWljb24+XG4gICAgPC9idXR0b24+XG5cbiAgICA8IS0tIFNvcnQgQXNjL0Rlc2MtLT5cbiAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICpuZ0lmPVwiY2FuU29ydFwiXG4gICAgICAgICAgICAoY2xpY2spPVwidG9nZ2xlU29ydEFzYygpXCI+XG4gICAgICA8bWF0LWljb24+e3tzb3J0QXNjID8gXCJhcnJvd19kb3dud2FyZFwiIDogXCJhcnJvd191cHdhcmRcIn19PC9tYXQtaWNvbj5cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG5cblxuICA8IS0tIFRvZ2dsZSBHbG9iYWwgU2VhcmNoIC0tPlxuICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAqbmdJZj1cIiFpc1NlYXJjaEhpZGRlblwiXG4gICAgICAgICAgKGNsaWNrKT1cInRvZ2dsZVNlYXJjaCgpXCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiZ2xvYmFsU2VhcmNoRGlzYWJsZWRcIiA+XG4gICAgPG1hdC1pY29uPnt7dG9nZ2xlSWNvbn19PC9tYXQtaWNvbj5cbiAgPC9idXR0b24+XG48L2Rpdj5cblxuXG4iXX0=
136
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItZ2xvYmFsLXNlYXJjaC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL2dsb2JhbC1zZWFyY2gvZWxkZXItZ2xvYmFsLXNlYXJjaC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL2dsb2JhbC1zZWFyY2gvZWxkZXItZ2xvYmFsLXNlYXJjaC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUVULFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUNOLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQTtBQUN0QixPQUFPLEVBQTRCLFdBQVcsRUFBYyxNQUFNLCtCQUErQixDQUFBO0FBQ2pHLE9BQU8sRUFBRSxhQUFhLEVBQVUsTUFBTSxpQkFBaUIsQ0FBQTtBQUN2RCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sd0JBQXdCLENBQUE7QUFFN0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQ3ZDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUNyRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMEJBQTBCLENBQUE7QUFDeEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0JBQXdCLENBQUE7QUFDN0UsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHlCQUF5QixDQUFBO0FBQ2xELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTtBQUNoRCxPQUFPLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxNQUFNLDhCQUE4QixDQUFBO0FBQ3RFLE9BQU8s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QUFDLE1BQU0sQ0FBQyxDQUFBO0lBQ3pELENBQUM7SUFFRCxJQUFZLGFBQWE7UUFDdkIsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDcEIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFpQyxDQUFBO1lBQ2xFLE9BQU8sUUFBUSxDQUFDLEtBQUssQ0FBQTtRQUN2QixDQUFDO1FBQ0QsT0FBTyxFQUFFLENBQUE7SUFDWCxDQUFDOzhHQTNIVSwwQkFBMEI7a0dBQTFCLDBCQUEwQiwwVUM3Q3ZDLGk5Q0E0Q0EsMEREWkksSUFBSSw2RkFDSixZQUFZLDRMQUNaLE9BQU8sMklBQ1AsU0FBUyxxSEFDVCxRQUFRLGlVQUNSLE9BQU8sMlFBQ1AsS0FBSyxtSEFDTCxXQUFXLHNJQUNYLGFBQWEsNkZBQ2IsY0FBYyxvU0FDZCxlQUFlOzsyRkFHTiwwQkFBMEI7a0JBbkJ0QyxTQUFTOytCQUNFLHFCQUFxQixjQUduQixJQUFJLFdBQ1A7d0JBQ1AsSUFBSTt3QkFDSixZQUFZO3dCQUNaLE9BQU87d0JBQ1AsU0FBUzt3QkFDVCxRQUFRO3dCQUNSLE9BQU87d0JBQ1AsS0FBSzt3QkFDTCxXQUFXO3dCQUNYLGFBQWE7d0JBQ2IsY0FBYzt3QkFDZCxlQUFlO3FCQUNoQjtrSEFRTSxxQkFBcUI7c0JBRDNCLE1BQU07Z0JBSUEsZ0JBQWdCO3NCQUR0QixLQUFLO2dCQXFERixlQUFlO3NCQURsQixLQUFLO2dCQU1GLFNBQVM7c0JBRFosU0FBUzt1QkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBFbGRlckdsb2JhbFNlYXJjaFNlcnZpY2UsIFNlYXJjaFF1ZXJ5LCBTb3J0T3B0aW9uIH0gZnJvbSAnLi9lbGRlci1nbG9iYWwtc2VhcmNoLnNlcnZpY2UnXG5pbXBvcnQgeyBOYXZpZ2F0aW9uRW5kLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInXG5pbXBvcnQgeyBTb3J0IH0gZnJvbSAnLi4vLi4vY29tbW9uL2RhdGEvc29ydCdcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBmaWx0ZXIgfSBmcm9tICdyeGpzL29wZXJhdG9ycydcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnXG5pbXBvcnQgeyBNYXRJY29uQnV0dG9uIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJ1xuaW1wb3J0IHsgTWF0TWVudSwgTWF0TWVudUl0ZW0sIE1hdE1lbnVUcmlnZ2VyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbWVudSdcbmltcG9ydCB7IE1hdElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnXG5pbXBvcnQgeyBNYXRJY29uIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbidcbmltcG9ydCB7IE1hdEZvcm1GaWVsZCwgTWF0UHJlZml4IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCdcbmltcG9ydCB7IE5nSWYsIE5nRm9yIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuXG4vKipcbiAqIEBkZXByZWNhdGVkIFRoaXMgY29tcG9uZW50IGlzIGNvbnNpZGVyZWQgRU9MXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2VsZGVyLWdsb2JhbC1zZWFyY2gnLFxuICB0ZW1wbGF0ZVVybDogJy4vZWxkZXItZ2xvYmFsLXNlYXJjaC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2VsZGVyLWdsb2JhbC1zZWFyY2guY29tcG9uZW50LnNjc3MnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIE5nSWYsXG4gICAgTWF0Rm9ybUZpZWxkLFxuICAgIE1hdEljb24sXG4gICAgTWF0UHJlZml4LFxuICAgIE1hdElucHV0LFxuICAgIE1hdE1lbnUsXG4gICAgTmdGb3IsXG4gICAgTWF0TWVudUl0ZW0sXG4gICAgTWF0SWNvbkJ1dHRvbixcbiAgICBNYXRNZW51VHJpZ2dlcixcbiAgICBUcmFuc2xhdGVNb2R1bGUsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEVsZGVyR2xvYmFsU2VhcmNoQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBwcml2YXRlIF9zZWFyY2hDb2xsYXBzZWQgPSB0cnVlXG4gIHByaXZhdGUgX3R4dFNlYXJjaDogRWxlbWVudFJlZlxuICBwcml2YXRlIF9zdWJzOiBTdWJzY3JpcHRpb25bXSA9IFtdXG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBzZWFyY2hDb2xsYXBzZWRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KClcblxuICBASW5wdXQoKVxuICBwdWJsaWMgaGlkZVdoZW5EaXNhYmxlZDogYm9vbGVhblxuXG4gIHByaXZhdGUgX2F2YWlsYWJsZVNvcnQ6IFNvcnRPcHRpb25bXSA9IFtdXG4gIHB1YmxpYyBzZWxlY3RlZFNvcnQ6IFNvcnRPcHRpb25cbiAgcHVibGljIHNvcnRBc2MgPSBmYWxzZVxuICBwdWJsaWMgZ2xvYmFsU2VhcmNoRGlzYWJsZWQ6IGJvb2xlYW5cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgIHByaXZhdGUgZ2xvYmFsU2VhcmNoOiBFbGRlckdsb2JhbFNlYXJjaFNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5nbG9iYWxTZWFyY2hEaXNhYmxlZCA9ICFnbG9iYWxTZWFyY2guc2hvd0dsb2JhbFNlYXJjaFxuXG4gICAgdGhpcy5fc3Vicy5wdXNoKFxuICAgICAgZ2xvYmFsU2VhcmNoLnNob3dHbG9iYWxTZWFyY2hPYnNlcnZhYmxlLnN1YnNjcmliZSgodmFsdWUpID0+IHtcbiAgICAgICAgdGhpcy5nbG9iYWxTZWFyY2hEaXNhYmxlZCA9ICF2YWx1ZVxuICAgICAgfSksXG5cbiAgICAgIHRoaXMuZ2xvYmFsU2VhcmNoLmF2YWlsYWJsZVNvcnRzT2JzZXJ2YWJsZS5zdWJzY3JpYmUoKGF2YWlsYWJsZSkgPT4ge1xuICAgICAgICB0aGlzLmF2YWlsYWJsZVNvcnQgPSBhdmFpbGFibGVcbiAgICAgIH0pLFxuXG4gICAgICByb3V0ZXIuZXZlbnRzLnBpcGUoZmlsdGVyKChldmVudCkgPT4gZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5zZWFyY2hDb2xsYXBzZWQgPSB0cnVlXG4gICAgICB9KVxuICAgIClcbiAgfVxuXG4gIHB1YmxpYyBzZXQgYXZhaWxhYmxlU29ydChhdmFpbGFibGU6IFNvcnRPcHRpb25bXSkge1xuICAgIHRoaXMuX2F2YWlsYWJsZVNvcnQgPSBhdmFpbGFibGVcbiAgICBpZiAoYXZhaWxhYmxlLmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRTb3J0ID0gYXZhaWxhYmxlWzBdXG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldCBhdmFpbGFibGVTb3J0KCk6IFNvcnRPcHRpb25bXSB7XG4gICAgcmV0dXJuIHRoaXMuX2F2YWlsYWJsZVNvcnRcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY2FuU29ydCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fYXZhaWxhYmxlU29ydCAmJiB0aGlzLmF2YWlsYWJsZVNvcnQubGVuZ3RoID4gMFxuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5zZWFyY2hDb2xsYXBzZWQgPSB0cnVlXG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9zdWJzLmZvckVhY2goKHN1YikgPT4gc3ViLnVuc3Vic2NyaWJlKCkpXG4gIH1cblxuICBASW5wdXQoKVxuICBnZXQgc2VhcmNoQ29sbGFwc2VkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9zZWFyY2hDb2xsYXBzZWRcbiAgfVxuXG4gIEBWaWV3Q2hpbGQoJ3R4dFNlYXJjaCcpXG4gIHNldCB0eHRTZWFyY2goaW5wdXQ6IEVsZW1lbnRSZWYpIHtcbiAgICB0aGlzLl90eHRTZWFyY2ggPSBpbnB1dFxuICB9XG5cbiAgc2V0IHNlYXJjaENvbGxhcHNlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX3NlYXJjaENvbGxhcHNlZCA9IHZhbHVlXG4gICAgdGhpcy5zZWFyY2hDb2xsYXBzZWRDaGFuZ2UuZW1pdCh0aGlzLnNlYXJjaENvbGxhcHNlZClcbiAgICBpZiAoIXRoaXMuX3NlYXJjaENvbGxhcHNlZCkge1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLl90eHRTZWFyY2gubmF0aXZlRWxlbWVudC5mb2N1cygpLCAwKVxuICAgIH1cbiAgfVxuXG4gIGdldCB0b2dnbGVJY29uKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuc2VhcmNoQ29sbGFwc2VkID8gJ3NlYXJjaCcgOiAnY2xvc2UnXG4gIH1cblxuICBwdWJsaWMgdG9nZ2xlU2VhcmNoKCkge1xuICAgIGlmICh0aGlzLnNlYXJjaENvbGxhcHNlZCkge1xuICAgICAgLy8gU2hvdyBzZWFyY2hcbiAgICAgIHRoaXMuc2VhcmNoQ29sbGFwc2VkID0gZmFsc2VcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gQ29sbGFwc2Ugc2VhcmNoXG4gICAgICB0aGlzLnNlYXJjaENvbGxhcHNlZCA9IHRydWVcbiAgICAgIHRoaXMuZ2xvYmFsU2VhcmNoLnF1ZXJ5ID0gU2VhcmNoUXVlcnkuRW1wdHlcbiAgICB9XG4gIH1cblxuICBnZXQgaXNTZWFyY2hIaWRkZW4oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaGlkZVdoZW5EaXNhYmxlZCAmJiB0aGlzLmdsb2JhbFNlYXJjaERpc2FibGVkXG4gIH1cblxuICBwdWJsaWMgdG9nZ2xlU29ydEFzYygpOiB2b2lkIHtcbiAgICB0aGlzLnNvcnRBc2MgPSAhdGhpcy5zb3J0QXNjXG4gICAgdGhpcy5vblF1ZXJ5Q2hhbmdlZCgpXG4gIH1cblxuICBwdWJsaWMgc29ydEJ5KHNvcnQ6IFNvcnRPcHRpb24pIHtcbiAgICB0aGlzLnNlbGVjdGVkU29ydCA9IHNvcnRcbiAgICB0aGlzLm9uUXVlcnlDaGFuZ2VkKClcbiAgfVxuXG4gIHB1YmxpYyBvblF1ZXJ5Q2hhbmdlZCgpIHtcbiAgICBjb25zdCBzb3J0cyA9IHRoaXMuc2VsZWN0ZWRTb3J0ID8gW3RoaXMuY29udmVydFRvU29ydCh0aGlzLnNlbGVjdGVkU29ydCldIDogW11cblxuICAgIHRoaXMuZ2xvYmFsU2VhcmNoLnF1ZXJ5ID0gbmV3IFNlYXJjaFF1ZXJ5KHRoaXMua2V5d29yZHNWYWx1ZSwgc29ydHMpXG4gIH1cblxuICBwcml2YXRlIGNvbnZlcnRUb1NvcnQoc29ydDogU29ydE9wdGlvbik6IFNvcnQge1xuICAgIHJldHVybiBuZXcgU29ydChzb3J0LmlkLCB0aGlzLnNvcnRBc2MgPyAnYXNjJyA6ICdkZXNjJylcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IGtleXdvcmRzVmFsdWUoKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5fdHh0U2VhcmNoKSB7XG4gICAgICBjb25zdCB0eHRJbnB1dCA9IHRoaXMuX3R4dFNlYXJjaC5uYXRpdmVFbGVtZW50IGFzIEhUTUxJbnB1dEVsZW1lbnRcbiAgICAgIHJldHVybiB0eHRJbnB1dC52YWx1ZVxuICAgIH1cbiAgICByZXR1cm4gJydcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImxheW91dC1yb3cgcGxhY2UtY2VudGVyLWNlbnRlclwiPlxuICA8c3BhbiAqbmdJZj1cInNlYXJjaENvbGxhcHNlZFwiIGNsYXNzPVwiZmxleFwiPjwvc3Bhbj5cblxuICA8ZGl2ICpuZ0lmPVwiIXNlYXJjaENvbGxhcHNlZFwiIGNsYXNzPVwibGF5b3V0LXJvdyBwbGFjZS1jZW50ZXItY2VudGVyIGZsZXhcIj5cbiAgICA8IS0tIFF1ZXJ5IEtleXdvcmRzIC0tPlxuICAgIDxtYXQtZm9ybS1maWVsZCBjb2xvcj1cImFjY2VudFwiIGZsb2F0UGxhY2Vob2xkZXI9XCJuZXZlclwiIGNsYXNzPVwiZmxleFwiPlxuICAgICAgPG1hdC1pY29uIG1hdFByZWZpeD5zZWFyY2g8L21hdC1pY29uPlxuICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9XCJzZWFyY2hcIiAoa2V5dXApPVwib25RdWVyeUNoYW5nZWQoKVwiICN0eHRTZWFyY2ggLz5cbiAgICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gICAgPCEtLSBTb3J0IC0tPlxuICAgIDxtYXQtbWVudSAjc29ydE1lbnU9XCJtYXRNZW51XCI+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIG1hdC1tZW51LWl0ZW1cbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICpuZ0Zvcj1cImxldCBzb3J0IG9mIGF2YWlsYWJsZVNvcnRcIlxuICAgICAgICBjbGFzcz1cImxheW91dC1yb3cgcGxhY2UtYmV0d2Vlbi1jZW50ZXJcIlxuICAgICAgICAoY2xpY2spPVwic29ydEJ5KHNvcnQpXCJcbiAgICAgID5cbiAgICAgICAge3sgc29ydC5uYW1lIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDxtYXQtaWNvbiAqbmdJZj1cInNlbGVjdGVkU29ydD8uaWQgPT0gc29ydC5pZFwiPmNoZWNrPC9tYXQtaWNvbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvbWF0LW1lbnU+XG4gICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gdHlwZT1cImJ1dHRvblwiICpuZ0lmPVwiY2FuU29ydFwiIFttYXRNZW51VHJpZ2dlckZvcl09XCJzb3J0TWVudVwiPlxuICAgICAgPG1hdC1pY29uPnNvcnQ8L21hdC1pY29uPlxuICAgIDwvYnV0dG9uPlxuXG4gICAgPCEtLSBTb3J0IEFzYy9EZXNjLS0+XG4gICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gdHlwZT1cImJ1dHRvblwiICpuZ0lmPVwiY2FuU29ydFwiIChjbGljayk9XCJ0b2dnbGVTb3J0QXNjKClcIj5cbiAgICAgIDxtYXQtaWNvbj57eyBzb3J0QXNjID8gJ2Fycm93X2Rvd253YXJkJyA6ICdhcnJvd191cHdhcmQnIH19PC9tYXQtaWNvbj5cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG5cbiAgPCEtLSBUb2dnbGUgR2xvYmFsIFNlYXJjaCAtLT5cbiAgPGJ1dHRvblxuICAgIG1hdC1pY29uLWJ1dHRvblxuICAgIHR5cGU9XCJidXR0b25cIlxuICAgICpuZ0lmPVwiIWlzU2VhcmNoSGlkZGVuXCJcbiAgICAoY2xpY2spPVwidG9nZ2xlU2VhcmNoKClcIlxuICAgIFtkaXNhYmxlZF09XCJnbG9iYWxTZWFyY2hEaXNhYmxlZFwiXG4gID5cbiAgICA8bWF0LWljb24+e3sgdG9nZ2xlSWNvbiB9fTwvbWF0LWljb24+XG4gIDwvYnV0dG9uPlxuPC9kaXY+XG4iXX0=
@@ -14,16 +14,34 @@ export * from './elder-global-search.service';
14
14
  */
15
15
  export class ElderGlobalSearchModule {
16
16
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: ElderGlobalSearchModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
17
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.2", ngImport: i0, type: ElderGlobalSearchModule, imports: [CommonModule, MatIconModule, MatInputModule, MatButtonModule, MatMenuModule, TranslateModule, ElderGlobalSearchComponent], exports: [ElderGlobalSearchComponent] }); }
18
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: ElderGlobalSearchModule, imports: [CommonModule, MatIconModule, MatInputModule, MatButtonModule, MatMenuModule, TranslateModule, ElderGlobalSearchComponent] }); }
17
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.2", ngImport: i0, type: ElderGlobalSearchModule, imports: [CommonModule,
18
+ MatIconModule,
19
+ MatInputModule,
20
+ MatButtonModule,
21
+ MatMenuModule,
22
+ TranslateModule,
23
+ ElderGlobalSearchComponent], exports: [ElderGlobalSearchComponent] }); }
24
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: ElderGlobalSearchModule, imports: [CommonModule,
25
+ MatIconModule,
26
+ MatInputModule,
27
+ MatButtonModule,
28
+ MatMenuModule,
29
+ TranslateModule,
30
+ ElderGlobalSearchComponent] }); }
19
31
  }
20
32
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: ElderGlobalSearchModule, decorators: [{
21
33
  type: NgModule,
22
34
  args: [{
23
- exports: [
24
- ElderGlobalSearchComponent
35
+ exports: [ElderGlobalSearchComponent],
36
+ imports: [
37
+ CommonModule,
38
+ MatIconModule,
39
+ MatInputModule,
40
+ MatButtonModule,
41
+ MatMenuModule,
42
+ TranslateModule,
43
+ ElderGlobalSearchComponent,
25
44
  ],
26
- imports: [CommonModule, MatIconModule, MatInputModule, MatButtonModule, MatMenuModule, TranslateModule, ElderGlobalSearchComponent]
27
45
  }]
28
46
  }] });
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItZ2xvYmFsLXNlYXJjaC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL2dsb2JhbC1zZWFyY2gvZWxkZXItZ2xvYmFsLXNlYXJjaC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUMzRSxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDekQsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ3JELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUN2RCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDckQsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQzs7QUFFcEQsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLCtCQUErQixDQUFDO0FBRTlDOztHQUVHO0FBT0gsTUFBTSxPQUFPLHVCQUF1Qjs4R0FBdkIsdUJBQXVCOytHQUF2Qix1QkFBdUIsWUFGdEIsWUFBWSxFQUFFLGFBQWEsRUFBRSxjQUFjLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxlQUFlLEVBQUUsMEJBQTBCLGFBRjlILDBCQUEwQjsrR0FJckIsdUJBQXVCLFlBRnRCLFlBQVksRUFBRSxhQUFhLEVBQUUsY0FBYyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsZUFBZSxFQUFFLDBCQUEwQjs7MkZBRXpILHVCQUF1QjtrQkFObkMsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUU7d0JBQ0wsMEJBQTBCO3FCQUM3QjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsYUFBYSxFQUFFLGNBQWMsRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLGVBQWUsRUFBRSwwQkFBMEIsQ0FBQztpQkFDdEkiLCJzb3VyY2VzQ29udGVudCI6WyJcbmltcG9ydCB7TmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtFbGRlckdsb2JhbFNlYXJjaENvbXBvbmVudH0gZnJvbSAnLi9lbGRlci1nbG9iYWwtc2VhcmNoLmNvbXBvbmVudCc7XG5pbXBvcnQge01hdEJ1dHRvbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7TWF0SWNvbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQge01hdElucHV0TW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XG5pbXBvcnQge01hdE1lbnVNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL21lbnUnO1xuaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1RyYW5zbGF0ZU1vZHVsZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZWxkZXItZ2xvYmFsLXNlYXJjaC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9lbGRlci1nbG9iYWwtc2VhcmNoLnNlcnZpY2UnO1xuXG4vKipcbiAqIEBkZXByZWNhdGVkIFRoaXMgbW9kdWxlIGlzIGNvbnNpZGVyZWQgRU9MXG4gKi9cbkBOZ01vZHVsZSh7XG4gICAgZXhwb3J0czogW1xuICAgICAgICBFbGRlckdsb2JhbFNlYXJjaENvbXBvbmVudFxuICAgIF0sXG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgTWF0SWNvbk1vZHVsZSwgTWF0SW5wdXRNb2R1bGUsIE1hdEJ1dHRvbk1vZHVsZSwgTWF0TWVudU1vZHVsZSwgVHJhbnNsYXRlTW9kdWxlLCBFbGRlckdsb2JhbFNlYXJjaENvbXBvbmVudF1cbn0pXG5leHBvcnQgY2xhc3MgRWxkZXJHbG9iYWxTZWFyY2hNb2R1bGUge1xufVxuIl19
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItZ2xvYmFsLXNlYXJjaC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL2dsb2JhbC1zZWFyY2gvZWxkZXItZ2xvYmFsLXNlYXJjaC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUN4QyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQTtBQUM1RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUE7QUFDMUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFBO0FBQ3RELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQTtBQUN4RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUE7QUFDdEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQzlDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTs7QUFFckQsY0FBYyxpQ0FBaUMsQ0FBQTtBQUMvQyxjQUFjLCtCQUErQixDQUFBO0FBRTdDOztHQUVHO0FBYUgsTUFBTSxPQUFPLHVCQUF1Qjs4R0FBdkIsdUJBQXVCOytHQUF2Qix1QkFBdUIsWUFUaEMsWUFBWTtZQUNaLGFBQWE7WUFDYixjQUFjO1lBQ2QsZUFBZTtZQUNmLGFBQWE7WUFDYixlQUFlO1lBQ2YsMEJBQTBCLGFBUmxCLDBCQUEwQjsrR0FXekIsdUJBQXVCLFlBVGhDLFlBQVk7WUFDWixhQUFhO1lBQ2IsY0FBYztZQUNkLGVBQWU7WUFDZixhQUFhO1lBQ2IsZUFBZTtZQUNmLDBCQUEwQjs7MkZBR2pCLHVCQUF1QjtrQkFabkMsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQywwQkFBMEIsQ0FBQztvQkFDckMsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osYUFBYTt3QkFDYixjQUFjO3dCQUNkLGVBQWU7d0JBQ2YsYUFBYTt3QkFDYixlQUFlO3dCQUNmLDBCQUEwQjtxQkFDM0I7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBFbGRlckdsb2JhbFNlYXJjaENvbXBvbmVudCB9IGZyb20gJy4vZWxkZXItZ2xvYmFsLXNlYXJjaC5jb21wb25lbnQnXG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbidcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnXG5pbXBvcnQgeyBNYXRNZW51TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbWVudSdcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnXG5cbmV4cG9ydCAqIGZyb20gJy4vZWxkZXItZ2xvYmFsLXNlYXJjaC5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2VsZGVyLWdsb2JhbC1zZWFyY2guc2VydmljZSdcblxuLyoqXG4gKiBAZGVwcmVjYXRlZCBUaGlzIG1vZHVsZSBpcyBjb25zaWRlcmVkIEVPTFxuICovXG5ATmdNb2R1bGUoe1xuICBleHBvcnRzOiBbRWxkZXJHbG9iYWxTZWFyY2hDb21wb25lbnRdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIE1hdEljb25Nb2R1bGUsXG4gICAgTWF0SW5wdXRNb2R1bGUsXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgIE1hdE1lbnVNb2R1bGUsXG4gICAgVHJhbnNsYXRlTW9kdWxlLFxuICAgIEVsZGVyR2xvYmFsU2VhcmNoQ29tcG9uZW50LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBFbGRlckdsb2JhbFNlYXJjaE1vZHVsZSB7fVxuIl19
@@ -39,15 +39,17 @@ export class ElderGlobalSearchService {
39
39
  this._showGlobalSearchSubject = new Subject();
40
40
  this._querySubject = new Subject();
41
41
  this._availableSorts = new Subject();
42
- router.events.pipe(filter(event => event instanceof NavigationEnd), map(() => router.routerState.root), map(route => {
42
+ router.events
43
+ .pipe(filter((event) => event instanceof NavigationEnd), map(() => router.routerState.root), map((route) => {
43
44
  while (route.firstChild) {
44
45
  route = route.firstChild;
45
46
  }
46
47
  return route;
47
- }), filter(route => route.outlet === 'primary'), mergeMap(route => route.data))
48
- .subscribe(currentRouteData => {
48
+ }), filter((route) => route.outlet === 'primary'), mergeMap((route) => route.data))
49
+ .subscribe((currentRouteData) => {
49
50
  const enableGlobalSearch = currentRouteData['enableGlobalSearch'];
50
- this.showGlobalSearch = enableGlobalSearch != null ? !!enableGlobalSearch : !!currentRouteData['showGlobalSearch'];
51
+ this.showGlobalSearch =
52
+ enableGlobalSearch != null ? !!enableGlobalSearch : !!currentRouteData['showGlobalSearch'];
51
53
  });
52
54
  }
53
55
  /***************************************************************************
@@ -87,7 +89,7 @@ export class ElderGlobalSearchService {
87
89
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: ElderGlobalSearchService, decorators: [{
88
90
  type: Injectable,
89
91
  args: [{
90
- providedIn: 'root'
92
+ providedIn: 'root',
91
93
  }]
92
94
  }], ctorParameters: () => [{ type: i1.Router }] });
93
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItZ2xvYmFsLXNlYXJjaC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy9nbG9iYWwtc2VhcmNoL2VsZGVyLWdsb2JhbC1zZWFyY2guc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBQyxhQUFhLEVBQVMsTUFBTSxpQkFBaUIsQ0FBQztBQUN0RCxPQUFPLEVBQUMsT0FBTyxFQUFhLE1BQU0sTUFBTSxDQUFDO0FBQ3pDLE9BQU8sRUFBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBQyxNQUFNLGdCQUFnQixDQUFDOzs7QUFLckQsTUFBTSxPQUFPLFVBQVU7SUFDbkIsWUFDVyxFQUFVLEVBQ1YsSUFBWTtRQURaLE9BQUUsR0FBRixFQUFFLENBQVE7UUFDVixTQUFJLEdBQUosSUFBSSxDQUFRO0lBQ25CLENBQUM7Q0FDUjtBQUVEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLFdBQVc7YUFFTixVQUFLLEdBQUcsSUFBSSxXQUFXLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBRTlDLFlBQ1csUUFBZ0IsRUFDaEIsS0FBYTtRQURiLGFBQVEsR0FBUixRQUFRLENBQVE7UUFDaEIsVUFBSyxHQUFMLEtBQUssQ0FBUTtJQUNwQixDQUFDOztBQUdUOztHQUVHO0FBSUgsTUFBTSxPQUFPLHdCQUF3QjtJQWVqQzs7OztnRkFJNEU7SUFFNUUsWUFDSSxNQUFjO1FBcEJsQjs7OztvRkFJNEU7UUFFcEUsc0JBQWlCLEdBQUcsS0FBSyxDQUFDO1FBQzFCLDZCQUF3QixHQUFHLElBQUksT0FBTyxFQUFXLENBQUM7UUFHbEQsa0JBQWEsR0FBRyxJQUFJLE9BQU8sRUFBZSxDQUFDO1FBQzNDLG9CQUFlLEdBQUcsSUFBSSxPQUFPLEVBQWdCLENBQUM7UUFZbEQsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQ2QsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxZQUFZLGFBQWEsQ0FBQyxFQUMvQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFDbEMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ1IsT0FBTyxLQUFLLENBQUMsVUFBVSxFQUFFLENBQUM7Z0JBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxVQUFVLENBQUM7WUFBQyxDQUFDO1lBQ3RELE9BQU8sS0FBSyxDQUFDO1FBQ2pCLENBQUMsQ0FBQyxFQUNGLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxNQUFNLEtBQUssU0FBUyxDQUFDLEVBQzNDLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FDaEM7YUFDSSxTQUFTLENBQUMsZ0JBQWdCLENBQUUsRUFBRTtZQUMzQixNQUFNLGtCQUFrQixHQUFHLGdCQUFnQixDQUFDLG9CQUFvQixDQUFDLENBQUM7WUFDbEUsSUFBSSxDQUFDLGdCQUFnQixHQUFHLGtCQUFrQixJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUN2SCxDQUFDLENBQUMsQ0FBQztJQUNYLENBQUM7SUFFRDs7OztnRkFJNEU7SUFHNUUsSUFBVyx3QkFBd0I7UUFDL0IsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDO0lBQ2hDLENBQUM7SUFFRCxJQUFXLGNBQWMsQ0FBQyxLQUFtQjtRQUN6QyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQsSUFBVyxlQUFlO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUM5QixDQUFDO0lBRUQsSUFBVyxLQUFLO1FBQ1osT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxJQUFXLEtBQUssQ0FBQyxLQUFrQjtRQUMvQixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUNwQixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQsSUFBVywwQkFBMEI7UUFDakMsT0FBTyxJQUFJLENBQUMsd0JBQXdCLENBQUM7SUFDekMsQ0FBQztJQUVELElBQVcsZ0JBQWdCO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDO0lBQ2xDLENBQUM7SUFFRCxJQUFXLGdCQUFnQixDQUFDLEtBQWM7UUFDdEMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEtBQUssQ0FBQztRQUMvQixJQUFJLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlDLENBQUM7OEdBaEZRLHdCQUF3QjtrSEFBeEIsd0JBQXdCLGNBRnZCLE1BQU07OzJGQUVQLHdCQUF3QjtrQkFIcEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtOYXZpZ2F0aW9uRW5kLCBSb3V0ZXJ9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge1N1YmplY3QsIE9ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtmaWx0ZXIsIG1hcCwgbWVyZ2VNYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7U29ydH0gZnJvbSAnLi4vLi4vY29tbW9uL2RhdGEvc29ydCc7XG5cblxuXG5leHBvcnQgY2xhc3MgU29ydE9wdGlvbiB7XG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHB1YmxpYyBpZDogc3RyaW5nLFxuICAgICAgICBwdWJsaWMgbmFtZTogc3RyaW5nXG4gICAgKSB7IH1cbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIHRoZSBzZWFyY2ggcXVlcnkgd2hpY2ggdGhlIHVzZXIgaGFzIGNvbmZpZ3VyZWRcbiAqL1xuZXhwb3J0IGNsYXNzIFNlYXJjaFF1ZXJ5IHtcblxuICAgIHB1YmxpYyBzdGF0aWMgRW1wdHkgPSBuZXcgU2VhcmNoUXVlcnkoJycsIFtdKTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMga2V5d29yZHM6IHN0cmluZyxcbiAgICAgICAgcHVibGljIHNvcnRzOiBTb3J0W11cbiAgICApIHsgfVxufVxuXG4vKipcbiAqIEBkZXByZWNhdGVkIFRoaXMgc2VydmljZSBpcyBjb25zaWRlcmVkIEVPTFxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBFbGRlckdsb2JhbFNlYXJjaFNlcnZpY2Uge1xuXG4gICAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICAgKiBGaWVsZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICAgIHByaXZhdGUgX3Nob3dHbG9iYWxTZWFyY2ggPSBmYWxzZTtcbiAgICBwcml2YXRlIF9zaG93R2xvYmFsU2VhcmNoU3ViamVjdCA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG5cbiAgICBwcml2YXRlIF9xdWVyeTogU2VhcmNoUXVlcnk7XG4gICAgcHJpdmF0ZSBfcXVlcnlTdWJqZWN0ID0gbmV3IFN1YmplY3Q8U2VhcmNoUXVlcnk+KCk7XG4gICAgcHJpdmF0ZSBfYXZhaWxhYmxlU29ydHMgPSBuZXcgU3ViamVjdDxTb3J0T3B0aW9uW10+KCk7XG5cbiAgICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgICAqIENvbnN0cnVjdG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHJvdXRlcjogUm91dGVyXG4gICAgKSB7XG5cbiAgICAgICAgcm91dGVyLmV2ZW50cy5waXBlKFxuICAgICAgICAgICAgZmlsdGVyKGV2ZW50ID0+IGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCksXG4gICAgICAgICAgICBtYXAoKCkgPT4gcm91dGVyLnJvdXRlclN0YXRlLnJvb3QpLFxuICAgICAgICAgICAgbWFwKHJvdXRlID0+IHtcbiAgICAgICAgICAgICAgICB3aGlsZSAocm91dGUuZmlyc3RDaGlsZCkgeyByb3V0ZSA9IHJvdXRlLmZpcnN0Q2hpbGQ7IH1cbiAgICAgICAgICAgICAgICByZXR1cm4gcm91dGU7XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIGZpbHRlcihyb3V0ZSA9PiByb3V0ZS5vdXRsZXQgPT09ICdwcmltYXJ5JyksXG4gICAgICAgICAgICBtZXJnZU1hcChyb3V0ZSA9PiByb3V0ZS5kYXRhKVxuICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKGN1cnJlbnRSb3V0ZURhdGEgID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBlbmFibGVHbG9iYWxTZWFyY2ggPSBjdXJyZW50Um91dGVEYXRhWydlbmFibGVHbG9iYWxTZWFyY2gnXTtcbiAgICAgICAgICAgICAgICB0aGlzLnNob3dHbG9iYWxTZWFyY2ggPSBlbmFibGVHbG9iYWxTZWFyY2ggIT0gbnVsbCA/ICEhZW5hYmxlR2xvYmFsU2VhcmNoIDogISFjdXJyZW50Um91dGVEYXRhWydzaG93R2xvYmFsU2VhcmNoJ107XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgICAqIFByb3BlcnRpZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5cbiAgICBwdWJsaWMgZ2V0IGF2YWlsYWJsZVNvcnRzT2JzZXJ2YWJsZSgpOiBPYnNlcnZhYmxlPFNvcnRPcHRpb25bXT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXZhaWxhYmxlU29ydHM7XG4gICAgfVxuXG4gICAgcHVibGljIHNldCBhdmFpbGFibGVTb3J0cyhzb3J0czogU29ydE9wdGlvbltdKSB7XG4gICAgICAgIHRoaXMuX2F2YWlsYWJsZVNvcnRzLm5leHQoc29ydHMpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgcXVlcnlPYnNlcnZhYmxlKCk6IE9ic2VydmFibGU8U2VhcmNoUXVlcnk+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3F1ZXJ5U3ViamVjdDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IHF1ZXJ5KCk6IFNlYXJjaFF1ZXJ5IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3F1ZXJ5O1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXQgcXVlcnkodmFsdWU6IFNlYXJjaFF1ZXJ5KSB7XG4gICAgICAgIHRoaXMuX3F1ZXJ5ID0gdmFsdWU7XG4gICAgICAgIHRoaXMuX3F1ZXJ5U3ViamVjdC5uZXh0KHZhbHVlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IHNob3dHbG9iYWxTZWFyY2hPYnNlcnZhYmxlKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fc2hvd0dsb2JhbFNlYXJjaFN1YmplY3Q7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBzaG93R2xvYmFsU2VhcmNoKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fc2hvd0dsb2JhbFNlYXJjaDtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0IHNob3dHbG9iYWxTZWFyY2godmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5fc2hvd0dsb2JhbFNlYXJjaCA9IHZhbHVlO1xuICAgICAgICB0aGlzLl9zaG93R2xvYmFsU2VhcmNoU3ViamVjdC5uZXh0KHZhbHVlKTtcbiAgICB9XG5cblxufVxuIl19
95
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItZ2xvYmFsLXNlYXJjaC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy9nbG9iYWwtc2VhcmNoL2VsZGVyLWdsb2JhbC1zZWFyY2guc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQzFDLE9BQU8sRUFBRSxhQUFhLEVBQVUsTUFBTSxpQkFBaUIsQ0FBQTtBQUN2RCxPQUFPLEVBQUUsT0FBTyxFQUFjLE1BQU0sTUFBTSxDQUFBO0FBQzFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxNQUFNLGdCQUFnQixDQUFBOzs7QUFHdEQsTUFBTSxPQUFPLFVBQVU7SUFDckIsWUFDUyxFQUFVLEVBQ1YsSUFBWTtRQURaLE9BQUUsR0FBRixFQUFFLENBQVE7UUFDVixTQUFJLEdBQUosSUFBSSxDQUFRO0lBQ2xCLENBQUM7Q0FDTDtBQUVEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLFdBQVc7YUFDUixVQUFLLEdBQUcsSUFBSSxXQUFXLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFBO0lBRTdDLFlBQ1MsUUFBZ0IsRUFDaEIsS0FBYTtRQURiLGFBQVEsR0FBUixRQUFRLENBQVE7UUFDaEIsVUFBSyxHQUFMLEtBQUssQ0FBUTtJQUNuQixDQUFDOztBQUdOOztHQUVHO0FBSUgsTUFBTSxPQUFPLHdCQUF3QjtJQWNuQzs7OztnRkFJNEU7SUFFNUUsWUFBWSxNQUFjO1FBbkIxQjs7OztvRkFJNEU7UUFFcEUsc0JBQWlCLEdBQUcsS0FBSyxDQUFBO1FBQ3pCLDZCQUF3QixHQUFHLElBQUksT0FBTyxFQUFXLENBQUE7UUFHakQsa0JBQWEsR0FBRyxJQUFJLE9BQU8sRUFBZSxDQUFBO1FBQzFDLG9CQUFlLEdBQUcsSUFBSSxPQUFPLEVBQWdCLENBQUE7UUFTbkQsTUFBTSxDQUFDLE1BQU07YUFDVixJQUFJLENBQ0gsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLFlBQVksYUFBYSxDQUFDLEVBQ2pELEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUNsQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNaLE9BQU8sS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDO2dCQUN4QixLQUFLLEdBQUcsS0FBSyxDQUFDLFVBQVUsQ0FBQTtZQUMxQixDQUFDO1lBQ0QsT0FBTyxLQUFLLENBQUE7UUFDZCxDQUFDLENBQUMsRUFDRixNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxNQUFNLEtBQUssU0FBUyxDQUFDLEVBQzdDLFFBQVEsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUNoQzthQUNBLFNBQVMsQ0FBQyxDQUFDLGdCQUFnQixFQUFFLEVBQUU7WUFDOUIsTUFBTSxrQkFBa0IsR0FBRyxnQkFBZ0IsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFBO1lBQ2pFLElBQUksQ0FBQyxnQkFBZ0I7Z0JBQ25CLGtCQUFrQixJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsa0JBQWtCLENBQUMsQ0FBQTtRQUM5RixDQUFDLENBQUMsQ0FBQTtJQUNOLENBQUM7SUFFRDs7OztnRkFJNEU7SUFFNUUsSUFBVyx3QkFBd0I7UUFDakMsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFBO0lBQzdCLENBQUM7SUFFRCxJQUFXLGNBQWMsQ0FBQyxLQUFtQjtRQUMzQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUNsQyxDQUFDO0lBRUQsSUFBVyxlQUFlO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQTtJQUMzQixDQUFDO0lBRUQsSUFBVyxLQUFLO1FBQ2QsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFBO0lBQ3BCLENBQUM7SUFFRCxJQUFXLEtBQUssQ0FBQyxLQUFrQjtRQUNqQyxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQTtRQUNuQixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUNoQyxDQUFDO0lBRUQsSUFBVywwQkFBMEI7UUFDbkMsT0FBTyxJQUFJLENBQUMsd0JBQXdCLENBQUE7SUFDdEMsQ0FBQztJQUVELElBQVcsZ0JBQWdCO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFBO0lBQy9CLENBQUM7SUFFRCxJQUFXLGdCQUFnQixDQUFDLEtBQWM7UUFDeEMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEtBQUssQ0FBQTtRQUM5QixJQUFJLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQzNDLENBQUM7OEdBL0VVLHdCQUF3QjtrSEFBeEIsd0JBQXdCLGNBRnZCLE1BQU07OzJGQUVQLHdCQUF3QjtrQkFIcEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IE5hdmlnYXRpb25FbmQsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcidcbmltcG9ydCB7IFN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJ1xuaW1wb3J0IHsgZmlsdGVyLCBtYXAsIG1lcmdlTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXG5pbXBvcnQgeyBTb3J0IH0gZnJvbSAnLi4vLi4vY29tbW9uL2RhdGEvc29ydCdcblxuZXhwb3J0IGNsYXNzIFNvcnRPcHRpb24ge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgaWQ6IHN0cmluZyxcbiAgICBwdWJsaWMgbmFtZTogc3RyaW5nXG4gICkge31cbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIHRoZSBzZWFyY2ggcXVlcnkgd2hpY2ggdGhlIHVzZXIgaGFzIGNvbmZpZ3VyZWRcbiAqL1xuZXhwb3J0IGNsYXNzIFNlYXJjaFF1ZXJ5IHtcbiAgcHVibGljIHN0YXRpYyBFbXB0eSA9IG5ldyBTZWFyY2hRdWVyeSgnJywgW10pXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGtleXdvcmRzOiBzdHJpbmcsXG4gICAgcHVibGljIHNvcnRzOiBTb3J0W11cbiAgKSB7fVxufVxuXG4vKipcbiAqIEBkZXByZWNhdGVkIFRoaXMgc2VydmljZSBpcyBjb25zaWRlcmVkIEVPTFxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgRWxkZXJHbG9iYWxTZWFyY2hTZXJ2aWNlIHtcbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEZpZWxkcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSBfc2hvd0dsb2JhbFNlYXJjaCA9IGZhbHNlXG4gIHByaXZhdGUgX3Nob3dHbG9iYWxTZWFyY2hTdWJqZWN0ID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKVxuXG4gIHByaXZhdGUgX3F1ZXJ5OiBTZWFyY2hRdWVyeVxuICBwcml2YXRlIF9xdWVyeVN1YmplY3QgPSBuZXcgU3ViamVjdDxTZWFyY2hRdWVyeT4oKVxuICBwcml2YXRlIF9hdmFpbGFibGVTb3J0cyA9IG5ldyBTdWJqZWN0PFNvcnRPcHRpb25bXT4oKVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBDb25zdHJ1Y3RvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIGNvbnN0cnVjdG9yKHJvdXRlcjogUm91dGVyKSB7XG4gICAgcm91dGVyLmV2ZW50c1xuICAgICAgLnBpcGUoXG4gICAgICAgIGZpbHRlcigoZXZlbnQpID0+IGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCksXG4gICAgICAgIG1hcCgoKSA9PiByb3V0ZXIucm91dGVyU3RhdGUucm9vdCksXG4gICAgICAgIG1hcCgocm91dGUpID0+IHtcbiAgICAgICAgICB3aGlsZSAocm91dGUuZmlyc3RDaGlsZCkge1xuICAgICAgICAgICAgcm91dGUgPSByb3V0ZS5maXJzdENoaWxkXG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiByb3V0ZVxuICAgICAgICB9KSxcbiAgICAgICAgZmlsdGVyKChyb3V0ZSkgPT4gcm91dGUub3V0bGV0ID09PSAncHJpbWFyeScpLFxuICAgICAgICBtZXJnZU1hcCgocm91dGUpID0+IHJvdXRlLmRhdGEpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKChjdXJyZW50Um91dGVEYXRhKSA9PiB7XG4gICAgICAgIGNvbnN0IGVuYWJsZUdsb2JhbFNlYXJjaCA9IGN1cnJlbnRSb3V0ZURhdGFbJ2VuYWJsZUdsb2JhbFNlYXJjaCddXG4gICAgICAgIHRoaXMuc2hvd0dsb2JhbFNlYXJjaCA9XG4gICAgICAgICAgZW5hYmxlR2xvYmFsU2VhcmNoICE9IG51bGwgPyAhIWVuYWJsZUdsb2JhbFNlYXJjaCA6ICEhY3VycmVudFJvdXRlRGF0YVsnc2hvd0dsb2JhbFNlYXJjaCddXG4gICAgICB9KVxuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByb3BlcnRpZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIGdldCBhdmFpbGFibGVTb3J0c09ic2VydmFibGUoKTogT2JzZXJ2YWJsZTxTb3J0T3B0aW9uW10+IHtcbiAgICByZXR1cm4gdGhpcy5fYXZhaWxhYmxlU29ydHNcbiAgfVxuXG4gIHB1YmxpYyBzZXQgYXZhaWxhYmxlU29ydHMoc29ydHM6IFNvcnRPcHRpb25bXSkge1xuICAgIHRoaXMuX2F2YWlsYWJsZVNvcnRzLm5leHQoc29ydHMpXG4gIH1cblxuICBwdWJsaWMgZ2V0IHF1ZXJ5T2JzZXJ2YWJsZSgpOiBPYnNlcnZhYmxlPFNlYXJjaFF1ZXJ5PiB7XG4gICAgcmV0dXJuIHRoaXMuX3F1ZXJ5U3ViamVjdFxuICB9XG5cbiAgcHVibGljIGdldCBxdWVyeSgpOiBTZWFyY2hRdWVyeSB7XG4gICAgcmV0dXJuIHRoaXMuX3F1ZXJ5XG4gIH1cblxuICBwdWJsaWMgc2V0IHF1ZXJ5KHZhbHVlOiBTZWFyY2hRdWVyeSkge1xuICAgIHRoaXMuX3F1ZXJ5ID0gdmFsdWVcbiAgICB0aGlzLl9xdWVyeVN1YmplY3QubmV4dCh2YWx1ZSlcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc2hvd0dsb2JhbFNlYXJjaE9ic2VydmFibGUoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuX3Nob3dHbG9iYWxTZWFyY2hTdWJqZWN0XG4gIH1cblxuICBwdWJsaWMgZ2V0IHNob3dHbG9iYWxTZWFyY2goKSB7XG4gICAgcmV0dXJuIHRoaXMuX3Nob3dHbG9iYWxTZWFyY2hcbiAgfVxuXG4gIHB1YmxpYyBzZXQgc2hvd0dsb2JhbFNlYXJjaCh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX3Nob3dHbG9iYWxTZWFyY2ggPSB2YWx1ZVxuICAgIHRoaXMuX3Nob3dHbG9iYWxTZWFyY2hTdWJqZWN0Lm5leHQodmFsdWUpXG4gIH1cbn1cbiJdfQ==