@elderbyte/ngx-starter 17.7.3 → 17.8.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 (250) hide show
  1. package/esm2022/lib/common/arrays.mjs +2 -2
  2. package/esm2022/lib/common/csv/csv-serializer.mjs +1 -1
  3. package/esm2022/lib/common/data/data-context/data-context-active-page.mjs +1 -1
  4. package/esm2022/lib/common/data/data-context/data-context-base.mjs +2 -2
  5. package/esm2022/lib/common/data/data-context/mat-table-data-context-binding.mjs +1 -1
  6. package/esm2022/lib/common/data/datasource/data-source-adapter.mjs +1 -1
  7. package/esm2022/lib/common/data/datasource/data-source-base.mjs +1 -1
  8. package/esm2022/lib/common/data/datasource/local/local-list-data-source.mjs +4 -4
  9. package/esm2022/lib/common/data/datasource/rest/rest-client.mjs +2 -2
  10. package/esm2022/lib/common/data/field-comparator.mjs +1 -1
  11. package/esm2022/lib/common/data/filters/filter-context.mjs +2 -2
  12. package/esm2022/lib/common/data/http-params-builder.mjs +2 -2
  13. package/esm2022/lib/common/data/required-filter-evaluator.mjs +5 -5
  14. package/esm2022/lib/common/enums/elder-enum-translation.service.mjs +11 -11
  15. package/esm2022/lib/common/forms/elder-form-field-control-base.directive.mjs +1 -1
  16. package/esm2022/lib/common/forms/elder-from-field-base.mjs +1 -1
  17. package/esm2022/lib/common/forms/elder-from-field-multi-entity-base.mjs +1 -1
  18. package/esm2022/lib/common/forms/elder-multi-entity-value-accessor.mjs +1 -1
  19. package/esm2022/lib/common/forms/form-field-base.component.mjs +1 -1
  20. package/esm2022/lib/common/forms/multi-model-base.component.mjs +1 -1
  21. package/esm2022/lib/common/forms/template-composite-control.mjs +2 -3
  22. package/esm2022/lib/common/forms/value-accessor-base.mjs +1 -1
  23. package/esm2022/lib/common/http/http-client-builder.service.mjs +1 -1
  24. package/esm2022/lib/common/http/transfer/data-transfer-base.mjs +1 -1
  25. package/esm2022/lib/common/http/transfer/http-data-transfer.mjs +1 -1
  26. package/esm2022/lib/common/rxjs/operators/lazy-sample.mjs +1 -1
  27. package/esm2022/lib/common/time/interval.mjs +6 -6
  28. package/esm2022/lib/common/time/period-duration.mjs +1 -1
  29. package/esm2022/lib/common/url/elder-router.service.mjs +1 -1
  30. package/esm2022/lib/common/utils/ng-zone-utils.mjs +1 -1
  31. package/esm2022/lib/components/access-denied/elder-access-denied.component.mjs +1 -1
  32. package/esm2022/lib/components/access-denied/elder-access-denied.module.mjs +1 -1
  33. package/esm2022/lib/components/auditing/audited-entity/elder-audited-entity.component.mjs +1 -1
  34. package/esm2022/lib/components/auditing/elder-audit.module.mjs +1 -1
  35. package/esm2022/lib/components/badge/elder-badge/elder-badge.component.mjs +1 -1
  36. package/esm2022/lib/components/badge/elder-badge.module.mjs +4 -4
  37. package/esm2022/lib/components/card-organizer/card-organizer/elder-card-organizer.component.mjs +5 -9
  38. package/esm2022/lib/components/card-organizer/card-organizer-data.mjs +1 -1
  39. package/esm2022/lib/components/card-organizer/card-stack/elder-card-stack.component.mjs +5 -9
  40. package/esm2022/lib/components/card-organizer/card-stack.mjs +1 -1
  41. package/esm2022/lib/components/card-organizer/elder-card-organizer.module.mjs +1 -1
  42. package/esm2022/lib/components/cards/elder-card/elder-card-header/elder-card-header.component.mjs +1 -1
  43. package/esm2022/lib/components/cards/elder-card/elder-card.component.mjs +6 -6
  44. package/esm2022/lib/components/cards/elder-card/elder-card.module.mjs +1 -1
  45. package/esm2022/lib/components/chips/elder-chips.module.mjs +1 -1
  46. package/esm2022/lib/components/connectivity/elder-connectivity.module.mjs +1 -1
  47. package/esm2022/lib/components/connectivity/offline-indicator/elder-offline-indicator.component.mjs +1 -1
  48. package/esm2022/lib/components/containers/elder-containers.module.mjs +1 -1
  49. package/esm2022/lib/components/containers/elder-scroll-container/elder-scroll-container.component.mjs +1 -1
  50. package/esm2022/lib/components/csv/elder-csv-export-btn/elder-csv-export-btn.component.mjs +1 -1
  51. package/esm2022/lib/components/csv/elder-csv-stream-exporter-builder.mjs +1 -1
  52. package/esm2022/lib/components/csv/elder-csv-stream-exporter.mjs +1 -1
  53. package/esm2022/lib/components/csv/elder-csv.module.mjs +1 -1
  54. package/esm2022/lib/components/currency/elder-currency.module.mjs +1 -1
  55. package/esm2022/lib/components/currency/elder-currency.pipe.mjs +1 -1
  56. package/esm2022/lib/components/data-transfer/elder-data-transfer.module.mjs +1 -1
  57. package/esm2022/lib/components/data-transfer/elder-data-transfer.service.mjs +1 -1
  58. package/esm2022/lib/components/data-transfer/http-data-transfer/http-data-transfer.component.mjs +1 -1
  59. package/esm2022/lib/components/data-transfer/http-data-transfer-aggregate/http-data-transfer-aggregate.component.mjs +1 -1
  60. package/esm2022/lib/components/data-transfer/http-data-transfer-indicator/http-data-transfer-indicator.component.mjs +1 -1
  61. package/esm2022/lib/components/data-transfer/http-data-transfer-overview/http-data-transfer-overview.component.mjs +1 -1
  62. package/esm2022/lib/components/data-view/base/elder-data-view-base.mjs +1 -1
  63. package/esm2022/lib/components/data-view/common/data-context-state-indicator/data-context-state-indicator.component.mjs +1 -1
  64. package/esm2022/lib/components/data-view/common/elder-data-common.module.mjs +2 -2
  65. package/esm2022/lib/components/data-view/common/elder-data-toolbar/elder-data-toolbar.component.mjs +1 -1
  66. package/esm2022/lib/components/data-view/common/elder-single-sort/elder-single-sort.component.mjs +1 -1
  67. package/esm2022/lib/components/data-view/common/selection/elder-selection-master-checkbox/elder-selection-master-checkbox.component.mjs +1 -1
  68. package/esm2022/lib/components/data-view/grid/elder-grid/elder-grid.component.mjs +1 -1
  69. package/esm2022/lib/components/data-view/master-detail/elder-detail-dialog/elder-detail-dialog.component.mjs +1 -1
  70. package/esm2022/lib/components/data-view/master-detail/elder-master-activation.directive.mjs +2 -2
  71. package/esm2022/lib/components/data-view/master-detail/elder-master-detail.component.mjs +3 -3
  72. package/esm2022/lib/components/data-view/master-detail/elder-master-detail.service.mjs +1 -1
  73. package/esm2022/lib/components/data-view/simple/elder-simple-selection-view/elder-simple-selection-view.module.mjs +1 -1
  74. package/esm2022/lib/components/data-view/table/elder-number-cell.directive.mjs +1 -1
  75. package/esm2022/lib/components/data-view/table/elder-paginator-intl.mjs +1 -1
  76. package/esm2022/lib/components/data-view/table/elder-table/elder-table.component.mjs +1 -1
  77. package/esm2022/lib/components/data-view/table/elder-table-column.directive.mjs +1 -1
  78. package/esm2022/lib/components/data-view/table/elder-table-extension.directive.mjs +1 -1
  79. package/esm2022/lib/components/data-view/table/elder-table-root.directive.mjs +1 -1
  80. package/esm2022/lib/components/data-view/table/elder-table-sort.directive.mjs +1 -1
  81. package/esm2022/lib/components/data-view/table/elder-table.module.mjs +1 -1
  82. package/esm2022/lib/components/data-view/table/model/elder-table-model-query-group.mjs +1 -1
  83. package/esm2022/lib/components/dialogs/confirm-dialog/elder-confirm-dialog.component.mjs +1 -1
  84. package/esm2022/lib/components/dialogs/elder-dialog-config.mjs +1 -1
  85. package/esm2022/lib/components/dialogs/elder-dialog.module.mjs +1 -1
  86. package/esm2022/lib/components/dialogs/question-dialog/elder-question-dialog.component.mjs +1 -1
  87. package/esm2022/lib/components/dialogs/selection-dialog/elder-selection-dialog/elder-selection-dialog.component.mjs +1 -1
  88. package/esm2022/lib/components/dialogs/selection-dialog/elder-selection-dialog.directive.mjs +1 -1
  89. package/esm2022/lib/components/errors/elder-error.module.mjs +1 -1
  90. package/esm2022/lib/components/errors/exception-detail/elder-exception-detail.component.mjs +1 -1
  91. package/esm2022/lib/components/expand-toggle-button/elder-expand-toggle-button.component.mjs +1 -1
  92. package/esm2022/lib/components/expand-toggle-button/elder-expand-toggle-button.module.mjs +1 -1
  93. package/esm2022/lib/components/files/blob-viewer/elder-blob-viewer.component.mjs +1 -1
  94. package/esm2022/lib/components/files/drag-n-drop/elder-drop-zone/elder-drop-zone.component.mjs +1 -1
  95. package/esm2022/lib/components/files/drag-n-drop/global-drag-drop.service.mjs +1 -1
  96. package/esm2022/lib/components/files/elder-file-drop-zone.directive.mjs +1 -1
  97. package/esm2022/lib/components/files/elder-file.module.mjs +1 -1
  98. package/esm2022/lib/components/files/file-select/file-select.component.mjs +1 -1
  99. package/esm2022/lib/components/files/file-upload/file-upload.component.mjs +1 -1
  100. package/esm2022/lib/components/files/listing/file-entry.mjs +2 -2
  101. package/esm2022/lib/components/forms/clipboard/elder-clipboard.service.mjs +1 -1
  102. package/esm2022/lib/components/forms/directives/elder-form-field-label.directive.mjs +1 -1
  103. package/esm2022/lib/components/forms/directives/elder-form-field-no-spinner.directive.mjs +1 -1
  104. package/esm2022/lib/components/forms/directives/elder-forms-directives.module.mjs +1 -1
  105. package/esm2022/lib/components/forms/directives/elder-initial-value.directive.mjs +1 -1
  106. package/esm2022/lib/components/forms/directives/elder-plug-parent-form.directive.mjs +1 -1
  107. package/esm2022/lib/components/forms/directives/validation/elder-validation-error.directive.mjs +1 -1
  108. package/esm2022/lib/components/forms/directives/validation/validation-message-renderer.service.mjs +1 -1
  109. package/esm2022/lib/components/forms/directives/validation/validators/elder-max.validator.mjs +1 -1
  110. package/esm2022/lib/components/forms/directives/validation/validators/elder-min.validator.mjs +1 -1
  111. package/esm2022/lib/components/forms/directives/validation/validators/elder-required-ignore-zero.validator.mjs +1 -1
  112. package/esm2022/lib/components/forms/elder-forms.module.mjs +1 -1
  113. package/esm2022/lib/components/forms/search/domain/context/search-context.service.mjs +1 -1
  114. package/esm2022/lib/components/forms/search/domain/input/search-input-state.mjs +1 -1
  115. package/esm2022/lib/components/forms/search/domain/input/search-input.mjs +1 -1
  116. package/esm2022/lib/components/forms/search/domain/url/elder-search-url.service.mjs +2 -2
  117. package/esm2022/lib/components/forms/search/elder-search-context.directive.mjs +1 -1
  118. package/esm2022/lib/components/forms/search/elder-search-input.directive.mjs +3 -5
  119. package/esm2022/lib/components/forms/search/elder-search.module.mjs +23 -23
  120. package/esm2022/lib/components/forms/search/search-box/elder-search-box.component.mjs +1 -1
  121. package/esm2022/lib/components/global-search/elder-global-search.component.mjs +1 -1
  122. package/esm2022/lib/components/global-search/elder-global-search.module.mjs +1 -1
  123. package/esm2022/lib/components/graph/elder-progress-bar/elder-progress-bar.component.mjs +1 -1
  124. package/esm2022/lib/components/headers/elder-header/elder-header.component.mjs +1 -1
  125. package/esm2022/lib/components/headers/elder-header.module.mjs +1 -1
  126. package/esm2022/lib/components/http-support/elder-http-client.service.mjs +1 -1
  127. package/esm2022/lib/components/i18n/entities/elder-i18n-entities.module.mjs +1 -1
  128. package/esm2022/lib/components/i18n/entities/elder-localized-input/elder-localized-input.component.mjs +1 -1
  129. package/esm2022/lib/components/i18n/entities/elder-localized-input-dialog/elder-localized-input-dialog.component.mjs +1 -1
  130. package/esm2022/lib/components/i18n/entities/elder-localized-input-dialog.service.mjs +1 -1
  131. package/esm2022/lib/components/i18n/entities/elder-localized-input-table/elder-localized-input-table.component.mjs +1 -1
  132. package/esm2022/lib/components/i18n/entities/elder-localized-texts.directive.mjs +1 -1
  133. package/esm2022/lib/components/i18n/entities/picker/i18n-pick-async.pipe.mjs +1 -1
  134. package/esm2022/lib/components/i18n/entities/picker/i18n-pick.pipe.mjs +1 -1
  135. package/esm2022/lib/components/i18n/entities/picker/localisation-picker.service.mjs +1 -1
  136. package/esm2022/lib/components/i18n/language/elder-language.module.mjs +1 -1
  137. package/esm2022/lib/components/i18n/language/elder-language.service.mjs +1 -1
  138. package/esm2022/lib/components/i18n/language/language-switcher/elder-language-switcher.component.mjs +1 -1
  139. package/esm2022/lib/components/i18n/locales/elder-locales-de-ch.module.mjs +1 -1
  140. package/esm2022/lib/components/iframes/data-view/data-view-iframe/data-view-iframe.component.mjs +2 -2
  141. package/esm2022/lib/components/iframes/elder-iframe.module.mjs +1 -1
  142. package/esm2022/lib/components/iframes/iframe-dialog/iframe-dialog.component.mjs +1 -1
  143. package/esm2022/lib/components/iframes/iframe-host/iframe-host.component.mjs +2 -2
  144. package/esm2022/lib/components/iframes/iframe-side-content/iframe-side-content.component.mjs +1 -1
  145. package/esm2022/lib/components/iframes/typed-event-message.mjs +2 -2
  146. package/esm2022/lib/components/infinitescroll/elder-infinite-scroll.directive.mjs +1 -1
  147. package/esm2022/lib/components/infinitescroll/elder-infinite-scroll.module.mjs +1 -1
  148. package/esm2022/lib/components/input/autocomplete/elder-autocomplete/elder-autocomplete.component.mjs +1 -1
  149. package/esm2022/lib/components/input/autocomplete/elder-autocomplete-many.directive.mjs +1 -1
  150. package/esm2022/lib/components/input/autocomplete/elder-autocomplete.directive.mjs +1 -1
  151. package/esm2022/lib/components/input/autocomplete/elder-autocomplete.module.mjs +1 -1
  152. package/esm2022/lib/components/labels/elder-labels.module.mjs +1 -1
  153. package/esm2022/lib/components/labels/labels-input/labels-input.component.mjs +9 -17
  154. package/esm2022/lib/components/measures/dimensions/dimensions-input/elder-dimensions-input.component.mjs +1 -1
  155. package/esm2022/lib/components/measures/dimensions/validation/elder-required-dimensions.validator.mjs +1 -1
  156. package/esm2022/lib/components/measures/elder-measures.module.mjs +1 -1
  157. package/esm2022/lib/components/measures/elder-quantity-transform.pipe.mjs +2 -2
  158. package/esm2022/lib/components/measures/quantity-input/quantity-form-field/elder-quantity-form-field.component.mjs +1 -1
  159. package/esm2022/lib/components/measures/quantity-input/quantity-input-control/elder-quantity-input-control.component.mjs +1 -1
  160. package/esm2022/lib/components/measures/quantity-input/validation/elder-quantity-range.validator.mjs +1 -1
  161. package/esm2022/lib/components/measures/quantity-input/validation/elder-required-quantity.validator.mjs +1 -1
  162. package/esm2022/lib/components/navigation/bread-crumbs/bread-crumbs/elder-bread-crumbs.component.mjs +1 -1
  163. package/esm2022/lib/components/navigation/bread-crumbs/elder-bread-crumbs.module.mjs +1 -1
  164. package/esm2022/lib/components/navigation/nav/elder-nav.module.mjs +1 -1
  165. package/esm2022/lib/components/navigation/nav/nav-group/elder-nav-group.component.mjs +1 -1
  166. package/esm2022/lib/components/navigation/nav/nav-link/elder-nav-link.component.mjs +1 -1
  167. package/esm2022/lib/components/navigation/nav/nav-list/elder-nav-list.component.mjs +1 -1
  168. package/esm2022/lib/components/navigation/toolbar/elder-toolbar.module.mjs +1 -1
  169. package/esm2022/lib/components/navigation/toolbar/toolbar/elder-toolbar.component.mjs +1 -1
  170. package/esm2022/lib/components/navigation/toolbar/toolbar-title/elder-toolbar-title.component.mjs +1 -1
  171. package/esm2022/lib/components/overlays/elder-overlay.component.mjs +1 -1
  172. package/esm2022/lib/components/overlays/elder-overlay.module.mjs +1 -1
  173. package/esm2022/lib/components/panels/card-panel/elder-card-panel.component.mjs +1 -1
  174. package/esm2022/lib/components/panels/elder-dialog-panel/elder-dialog-panel.component.mjs +1 -1
  175. package/esm2022/lib/components/panels/elder-panel.module.mjs +1 -1
  176. package/esm2022/lib/components/panels/flat/elder-panel.component.mjs +1 -1
  177. package/esm2022/lib/components/panels/toggle-panel/elder-toggle-panel.component.mjs +1 -1
  178. package/esm2022/lib/components/scrollbar/elder-scrollbar.directive.mjs +2 -2
  179. package/esm2022/lib/components/select/auto/elder-auto-select-first.directive.mjs +1 -1
  180. package/esm2022/lib/components/select/elder-select-base.mjs +1 -1
  181. package/esm2022/lib/components/select/elder-select-on-tab.directive.mjs +1 -1
  182. package/esm2022/lib/components/select/elder-select.module.mjs +5 -5
  183. package/esm2022/lib/components/select/multi/elder-chip-select-option/elder-select-option.component.mjs +3 -3
  184. package/esm2022/lib/components/select/multi/elder-multi-select-base.mjs +2 -2
  185. package/esm2022/lib/components/select/multi/elder-multi-select-chip-options/chip-options-provider.mjs +3 -3
  186. package/esm2022/lib/components/select/multi/elder-multi-select-chip-options/elder-multi-select-chip-options.component.mjs +24 -24
  187. package/esm2022/lib/components/select/multi/elder-multi-select-chip-options/select-option-chip-spec.mjs +1 -1
  188. package/esm2022/lib/components/select/multi/elder-multi-select-chips/elder-multi-select-chips.component.mjs +1 -1
  189. package/esm2022/lib/components/select/multi/elder-mutli-select-all-directive.mjs +6 -6
  190. package/esm2022/lib/components/select/popup/selection-model-popup-trigger-adapter.directive.mjs +1 -1
  191. package/esm2022/lib/components/select/popup/selection-model-popup.directive.mjs +2 -3
  192. package/esm2022/lib/components/select/popup/templated-selection-dialog/templated-selection-dialog.component.mjs +1 -1
  193. package/esm2022/lib/components/select/single/elder-select/elder-select.component.mjs +1 -1
  194. package/esm2022/lib/components/select-chip-list/chip-list-select/elder-chip-list-select.component.mjs +4 -4
  195. package/esm2022/lib/components/select-chip-list/elder-chip-list-select.module.mjs +1 -1
  196. package/esm2022/lib/components/shell/drawers/drawer-outlet-binding.mjs +1 -1
  197. package/esm2022/lib/components/shell/drawers/elder-route-outlet-drawer.service.mjs +1 -1
  198. package/esm2022/lib/components/shell/drawers/elder-router-outlet.service.mjs +1 -1
  199. package/esm2022/lib/components/shell/elder-shell.module.mjs +1 -1
  200. package/esm2022/lib/components/shell/header/elder-app-header/elder-app-header.component.mjs +1 -1
  201. package/esm2022/lib/components/shell/shell/elder-shell.component.mjs +1 -1
  202. package/esm2022/lib/components/shell/shell-navigation-toggle/elder-shell-navigation-toggle.component.mjs +1 -1
  203. package/esm2022/lib/components/tabs/elder-tab-group-routing/elder-tab-group-routing.directive.mjs +1 -1
  204. package/esm2022/lib/components/theme/elder-theme-preference.service.mjs +3 -3
  205. package/esm2022/lib/components/theme/elder-theme-toggle/elder-theme-toggle.component.mjs +1 -1
  206. package/esm2022/lib/components/theme/elder-theme.module.mjs +1 -1
  207. package/esm2022/lib/components/theme/elder-theme.service.mjs +1 -1
  208. package/esm2022/lib/components/time/date-adapters/custom-date-adapter.mjs +1 -1
  209. package/esm2022/lib/components/time/date-formats/locale-date-formats.mjs +5 -5
  210. package/esm2022/lib/components/time/duration/elder-duration-input/elder-duration-input.component.mjs +1 -1
  211. package/esm2022/lib/components/time/elder-date-switcher/elder-date-switcher.component.mjs +1 -1
  212. package/esm2022/lib/components/time/elder-date-time-input/elder-date-time-input.component.mjs +2 -2
  213. package/esm2022/lib/components/time/elder-interval-input/elder-interval-input.component.mjs +73 -21
  214. package/esm2022/lib/components/time/elder-local-date-input/elder-local-date-input.component.mjs +1 -1
  215. package/esm2022/lib/components/time/elder-local-time-input/elder-local-time-input.component.mjs +1 -1
  216. package/esm2022/lib/components/time/elder-time.module.mjs +1 -1
  217. package/esm2022/lib/components/time/period/elder-period-input/elder-period-input.component.mjs +1 -1
  218. package/esm2022/lib/components/time/period/period-bucket.mjs +1 -1
  219. package/esm2022/lib/components/time/period/period-format.mjs +1 -1
  220. package/esm2022/lib/components/time/pipes/to-iso-date-string.pipe.mjs +1 -1
  221. package/esm2022/lib/components/toasts/elder-toast.module.mjs +1 -1
  222. package/esm2022/lib/components/toasts/standard-toast/standard-toast.component.mjs +1 -1
  223. package/esm2022/lib/components/url-fragment/url-fragment-switcher/elder-url-fragment-switcher.component.mjs +3 -3
  224. package/esm2022/lib/components/viewers/elder-viewers.module.mjs +1 -1
  225. package/esm2022/lib/features/event-source/fetch/reactive-fetch-event-source.mjs +1 -1
  226. package/esm2022/lib/features/event-source/fetch/reactive-fetch-event-source.service.mjs +1 -1
  227. package/esm2022/lib/features/kafent/kafent-live-event-request.mjs +1 -1
  228. package/esm2022/lib/features/kafent/kafent.module.mjs +1 -1
  229. package/esm2022/lib/pipes/bytes.pipe.mjs +1 -1
  230. package/esm2022/lib/pipes/elder-pipes.module.mjs +1 -1
  231. package/esm2022/lib/pipes/elder-round.pipe.mjs +1 -1
  232. package/esm2022/lib/pipes/elder-safe-url.pipe.mjs +1 -1
  233. package/esm2022/lib/pipes/iso-duration.pipe.mjs +1 -1
  234. package/esm2022/lib/pipes/weight.pipe.mjs +1 -1
  235. package/fesm2022/elderbyte-ngx-starter.mjs +141 -110
  236. package/fesm2022/elderbyte-ngx-starter.mjs.map +1 -1
  237. package/lib/common/data/filters/filter-context.d.ts +1 -1
  238. package/lib/common/data/required-filter-evaluator.d.ts +3 -3
  239. package/lib/common/enums/elder-enum-translation.service.d.ts +3 -3
  240. package/lib/components/badge/elder-badge/elder-badge.component.d.ts +1 -1
  241. package/lib/components/forms/search/elder-search.module.d.ts +5 -5
  242. package/lib/components/scrollbar/elder-scrollbar.directive.d.ts +1 -1
  243. package/lib/components/select/multi/elder-multi-select-base.d.ts +1 -1
  244. package/lib/components/select/multi/elder-multi-select-chip-options/chip-options-provider.d.ts +4 -4
  245. package/lib/components/select/multi/elder-multi-select-chip-options/elder-multi-select-chip-options.component.d.ts +12 -12
  246. package/lib/components/select/multi/elder-mutli-select-all-directive.d.ts +2 -2
  247. package/lib/components/select/single/elder-select/elder-select.component.d.ts +2 -2
  248. package/lib/components/select-chip-list/chip-list-select/elder-chip-list-select.component.d.ts +1 -1
  249. package/lib/components/time/elder-interval-input/elder-interval-input.component.d.ts +16 -6
  250. package/package.json +1 -1
@@ -39,4 +39,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImpor
39
39
  providedIn: 'root'
40
40
  }]
41
41
  }], ctorParameters: () => [] });
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWNvbnRleHQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvZm9ybXMvc2VhcmNoL2RvbWFpbi9jb250ZXh0L3NlYXJjaC1jb250ZXh0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDbkQsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLGtCQUFrQixDQUFDOztBQUsvQyxNQUFNLE9BQU8sb0JBQW9CO0lBWS9COzs7O2dGQUk0RTtJQUU1RTtRQWhCQTs7OztvRkFJNEU7UUFFM0QsUUFBRyxHQUFHLGFBQWEsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUVyRCxtQkFBYyxHQUFHLElBQUksR0FBRyxFQUF5QixDQUFDO0lBUW5ELENBQUM7SUFFakI7Ozs7Z0ZBSTRFO0lBRXJFLE9BQU8sQ0FBQyxTQUFpQjtRQUM5QixJQUFJLEdBQUcsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM3QyxJQUFHLENBQUMsR0FBRyxFQUFDO1lBQ04sR0FBRyxHQUFHLElBQUksYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ25DLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxHQUFHLENBQUMsQ0FBQztTQUN6QztRQUNELE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQzs4R0FqQ1Usb0JBQW9CO2tIQUFwQixvQkFBb0IsY0FGbkIsTUFBTTs7MkZBRVAsb0JBQW9CO2tCQUhoQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TG9nZ2VyRmFjdG9yeX0gZnJvbSAnQGVsZGVyYnl0ZS90cy1sb2dnZXInO1xuaW1wb3J0IHtTZWFyY2hDb250ZXh0fSBmcm9tICcuL3NlYXJjaC1jb250ZXh0JztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgU2VhcmNoQ29udGV4dFNlcnZpY2Uge1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBGaWVsZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgbG9nID0gTG9nZ2VyRmFjdG9yeS5nZXRMb2dnZXIodGhpcy5jb25zdHJ1Y3Rvci5uYW1lKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IHNlYXJjaENvbnRleHRzID0gbmV3IE1hcDxzdHJpbmcsIFNlYXJjaENvbnRleHQ+KCk7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIENvbnN0cnVjdG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgY29uc3RydWN0b3IoKSB7IH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHVibGljIEFQSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgY29udGV4dChjb250ZXh0SWQ6IHN0cmluZyk6IFNlYXJjaENvbnRleHQge1xuICAgIGxldCBjdHggPSB0aGlzLnNlYXJjaENvbnRleHRzLmdldChjb250ZXh0SWQpO1xuICAgIGlmKCFjdHgpe1xuICAgICAgY3R4ID0gbmV3IFNlYXJjaENvbnRleHQoY29udGV4dElkKTtcbiAgICAgIHRoaXMuc2VhcmNoQ29udGV4dHMuc2V0KGNvbnRleHRJZCwgY3R4KTtcbiAgICB9XG4gICAgcmV0dXJuIGN0eDtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcml2YXRlIG1ldGhvZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG59XG4iXX0=
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWNvbnRleHQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvZm9ybXMvc2VhcmNoL2RvbWFpbi9jb250ZXh0L3NlYXJjaC1jb250ZXh0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDbkQsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLGtCQUFrQixDQUFDOztBQUsvQyxNQUFNLE9BQU8sb0JBQW9CO0lBWS9COzs7O2dGQUk0RTtJQUU1RTtRQWhCQTs7OztvRkFJNEU7UUFFM0QsUUFBRyxHQUFHLGFBQWEsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUVyRCxtQkFBYyxHQUFHLElBQUksR0FBRyxFQUF5QixDQUFDO0lBUW5ELENBQUM7SUFFakI7Ozs7Z0ZBSTRFO0lBRXJFLE9BQU8sQ0FBQyxTQUFpQjtRQUM5QixJQUFJLEdBQUcsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM3QyxJQUFHLENBQUMsR0FBRyxFQUFDO1lBQ04sR0FBRyxHQUFHLElBQUksYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ25DLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxHQUFHLENBQUMsQ0FBQztTQUN6QztRQUNELE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQzs4R0FqQ1Usb0JBQW9CO2tIQUFwQixvQkFBb0IsY0FGbkIsTUFBTTs7MkZBRVAsb0JBQW9CO2tCQUhoQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0xvZ2dlckZhY3Rvcnl9IGZyb20gJ0BlbGRlcmJ5dGUvdHMtbG9nZ2VyJztcbmltcG9ydCB7U2VhcmNoQ29udGV4dH0gZnJvbSAnLi9zZWFyY2gtY29udGV4dCc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFNlYXJjaENvbnRleHRTZXJ2aWNlIHtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogRmllbGRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIHJlYWRvbmx5IGxvZyA9IExvZ2dlckZhY3RvcnkuZ2V0TG9nZ2VyKHRoaXMuY29uc3RydWN0b3IubmFtZSk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBzZWFyY2hDb250ZXh0cyA9IG5ldyBNYXA8c3RyaW5nLCBTZWFyY2hDb250ZXh0PigpO1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBDb25zdHJ1Y3RvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIGNvbnN0cnVjdG9yKCkgeyB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFB1YmxpYyBBUEkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIGNvbnRleHQoY29udGV4dElkOiBzdHJpbmcpOiBTZWFyY2hDb250ZXh0IHtcbiAgICBsZXQgY3R4ID0gdGhpcy5zZWFyY2hDb250ZXh0cy5nZXQoY29udGV4dElkKTtcbiAgICBpZighY3R4KXtcbiAgICAgIGN0eCA9IG5ldyBTZWFyY2hDb250ZXh0KGNvbnRleHRJZCk7XG4gICAgICB0aGlzLnNlYXJjaENvbnRleHRzLnNldChjb250ZXh0SWQsIGN0eCk7XG4gICAgfVxuICAgIHJldHVybiBjdHg7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJpdmF0ZSBtZXRob2RzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxufVxuIl19
@@ -86,4 +86,4 @@ export class SearchInputState {
86
86
  return new SearchInputState(this.attribute, value, this.queryKey, pristineNow, true);
87
87
  }
88
88
  }
89
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWlucHV0LXN0YXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy9mb3Jtcy9zZWFyY2gvZG9tYWluL2lucHV0L3NlYXJjaC1pbnB1dC1zdGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFFdEQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sZ0JBQWdCO0lBRXBCLE1BQU0sQ0FBQyxPQUFPO1FBQ25CLE9BQU8sSUFBSSxnQkFBZ0IsQ0FDekIsSUFBSSxFQUNKLElBQUksRUFDSixJQUFJLEVBQ0osSUFBSSxFQUNKLEtBQUssQ0FDTixDQUFDO0lBQ0osQ0FBQztJQUVEOzs7O2dGQUk0RTtJQUU1RTtJQUVFOztPQUVHO0lBQ2EsU0FBaUI7SUFFakM7O09BRUc7SUFDYSxVQUFvQztJQUVwRDs7T0FFRztJQUNhLFFBQWdCO0lBRWhDOztPQUVHO0lBQ2EsUUFBaUI7SUFFakM7O09BRUc7SUFDYSxTQUFrQjtRQXBCbEIsY0FBUyxHQUFULFNBQVMsQ0FBUTtRQUtqQixlQUFVLEdBQVYsVUFBVSxDQUEwQjtRQUtwQyxhQUFRLEdBQVIsUUFBUSxDQUFRO1FBS2hCLGFBQVEsR0FBUixRQUFRLENBQVM7UUFLakIsY0FBUyxHQUFULFNBQVMsQ0FBUztJQUNoQyxDQUFDO0lBRUw7Ozs7Z0ZBSTRFO0lBRXJFLE1BQU0sQ0FBQyxjQUFjLENBQUMsS0FBK0I7UUFDMUQsSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQzFCLElBQUksS0FBSyxZQUFZLEtBQUssRUFBRTtnQkFDMUIsT0FBTyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQzthQUN6QjtpQkFBTTtnQkFDTCxPQUFPLElBQUksQ0FBQzthQUNiO1NBQ0Y7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRDs7OztnRkFJNEU7SUFFNUU7Ozs7O09BS0c7SUFDSCxJQUFXLFFBQVE7UUFDakIsT0FBTyxnQkFBZ0IsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFFRCxJQUFXLGdCQUFnQjtRQUN6QixPQUFPLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN4QyxDQUFDO0lBRUQ7Ozs7Z0ZBSTRFO0lBRXJFLGNBQWMsQ0FBQyxLQUErQixFQUFFLFFBQWtCO1FBRXZFLElBQUksV0FBVyxHQUFHLGdCQUFnQixDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6RCxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ2hCLElBQUksUUFBUSxLQUFLLFNBQVMsSUFBSSxRQUFRLEtBQUssSUFBSSxFQUFFO2dCQUMvQyxXQUFXLEdBQUcsUUFBUSxDQUFDO2FBQ3hCO1NBQ0Y7UUFFRCxPQUFPLElBQUksZ0JBQWdCLENBQ3pCLElBQUksQ0FBQyxTQUFTLEVBQ2QsS0FBSyxFQUNMLElBQUksQ0FBQyxRQUFRLEVBQ2IsV0FBVyxFQUNYLElBQUksQ0FDTCxDQUFDO0lBQ0osQ0FBQztDQUlGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtPYmplY3RzfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9jb21tb24vb2JqZWN0cyc7XG5cbi8qKlxuICogSW1tdXRhYmxlIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBzdGF0ZSBvZiBhbiBzZWFyY2ggaW5wdXRcbiAqL1xuZXhwb3J0IGNsYXNzIFNlYXJjaElucHV0U3RhdGUge1xuXG4gIHB1YmxpYyBzdGF0aWMgdW5rbm93bigpOiBTZWFyY2hJbnB1dFN0YXRlIHtcbiAgICByZXR1cm4gbmV3IFNlYXJjaElucHV0U3RhdGUoXG4gICAgICBudWxsLFxuICAgICAgbnVsbCxcbiAgICAgIG51bGwsXG4gICAgICB0cnVlLFxuICAgICAgZmFsc2VcbiAgICApO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIENvbnN0cnVjdG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgY29uc3RydWN0b3IoXG5cbiAgICAvKipcbiAgICAgKiBhdHRyaWJ1dGUgVGhlIG5hbWUgbmFtZVxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBhdHRyaWJ1dGU6IHN0cmluZyxcblxuICAgIC8qKlxuICAgICAqIHF1ZXJ5VmFsdWUgVGhlIHF1ZXJ5IHZhbHVlIGFzIHN0cmluZy4gU3VwcG9ydHMgbXVsdGkgc3RyaW5nIHZhbHVlLlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBxdWVyeVZhbHVlOiBzdHJpbmcgfCBzdHJpbmdbXSB8IG51bGwsXG5cbiAgICAvKipcbiAgICAgKiBxdWVyeUtleSBUaGUgcXVlcnkga2V5XG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IHF1ZXJ5S2V5OiBzdHJpbmcsXG5cbiAgICAvKipcbiAgICAgKiBwcmlzdGluZSBIYXMgdGhlIHVzZXIgdG91Y2hlZCB0aGlzP1xuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBwcmlzdGluZTogYm9vbGVhbixcblxuICAgIC8qKlxuICAgICAqIFdhcyB0aGUgaW5wdXQgY2hhbmdlZCBieSBhIHVzZXIgaW50ZXJhY3Rpb25cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgdXNlckV2ZW50OiBib29sZWFuXG4gICkgeyB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByaXZhdGUgbWV0aG9kcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIHN0YXRpYyBpc1ZhbHVlRGVmaW5lZCh2YWx1ZTogc3RyaW5nIHwgc3RyaW5nW10gfCBudWxsKTogYm9vbGVhbiB7XG4gICAgaWYgKE9iamVjdHMubm9uTnVsbCh2YWx1ZSkpIHtcbiAgICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIEFycmF5KSB7XG4gICAgICAgIHJldHVybiB2YWx1ZS5sZW5ndGggPiAwO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcm9wZXJ0aWVzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIC8qKlxuICAgKiBDaGVja3MgaWYgdGhpcyBzZWFyY2ggaW5wdXQgaGFzIGEgdmFsdWUuXG4gICAqXG4gICAqIFRoZSB2YWx1ZSBtdXN0IG5vdCBiZSBudWxsIGFuZCBpbiBjYXNlIGl0c1xuICAgKiBhbiBhcnJheSwgaXQgbXVzdCBub3QgYmUgZW1wdHkuXG4gICAqL1xuICBwdWJsaWMgZ2V0IGhhc1ZhbHVlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBTZWFyY2hJbnB1dFN0YXRlLmlzVmFsdWVEZWZpbmVkKHRoaXMucXVlcnlWYWx1ZSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGhhc0ZhbGxiYWNrVmFsdWUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaGFzVmFsdWUgJiYgdGhpcy5wcmlzdGluZTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQdWJsaWMgQXBpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyB3aXRoUXVlcnlWYWx1ZSh2YWx1ZTogc3RyaW5nIHwgc3RyaW5nW10gfCBudWxsLCBwcmlzdGluZT86IGJvb2xlYW4pOiBTZWFyY2hJbnB1dFN0YXRlIHtcblxuICAgIGxldCBwcmlzdGluZU5vdyA9IFNlYXJjaElucHV0U3RhdGUuaXNWYWx1ZURlZmluZWQodmFsdWUpO1xuICAgIGlmICghcHJpc3RpbmVOb3cpIHtcbiAgICAgIGlmIChwcmlzdGluZSAhPT0gdW5kZWZpbmVkICYmIHByaXN0aW5lICE9PSBudWxsKSB7XG4gICAgICAgIHByaXN0aW5lTm93ID0gcHJpc3RpbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIG5ldyBTZWFyY2hJbnB1dFN0YXRlKFxuICAgICAgdGhpcy5hdHRyaWJ1dGUsXG4gICAgICB2YWx1ZSxcbiAgICAgIHRoaXMucXVlcnlLZXksXG4gICAgICBwcmlzdGluZU5vdyxcbiAgICAgIHRydWVcbiAgICApO1xuICB9XG5cblxuXG59XG4iXX0=
89
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWlucHV0LXN0YXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy9mb3Jtcy9zZWFyY2gvZG9tYWluL2lucHV0L3NlYXJjaC1pbnB1dC1zdGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFFdEQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sZ0JBQWdCO0lBRXBCLE1BQU0sQ0FBQyxPQUFPO1FBQ25CLE9BQU8sSUFBSSxnQkFBZ0IsQ0FDekIsSUFBSSxFQUNKLElBQUksRUFDSixJQUFJLEVBQ0osSUFBSSxFQUNKLEtBQUssQ0FDTixDQUFDO0lBQ0osQ0FBQztJQUVEOzs7O2dGQUk0RTtJQUU1RTtJQUVFOztPQUVHO0lBQ2EsU0FBaUI7SUFDakM7O09BRUc7SUFDYSxVQUFvQztJQUNwRDs7T0FFRztJQUNhLFFBQWdCO0lBQ2hDOztPQUVHO0lBQ2EsUUFBaUI7SUFDakM7O09BRUc7SUFDYSxTQUFrQjtRQWhCbEIsY0FBUyxHQUFULFNBQVMsQ0FBUTtRQUlqQixlQUFVLEdBQVYsVUFBVSxDQUEwQjtRQUlwQyxhQUFRLEdBQVIsUUFBUSxDQUFRO1FBSWhCLGFBQVEsR0FBUixRQUFRLENBQVM7UUFJakIsY0FBUyxHQUFULFNBQVMsQ0FBUztJQUNoQyxDQUFDO0lBRUw7Ozs7Z0ZBSTRFO0lBRXJFLE1BQU0sQ0FBQyxjQUFjLENBQUMsS0FBK0I7UUFDMUQsSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQzFCLElBQUksS0FBSyxZQUFZLEtBQUssRUFBRTtnQkFDMUIsT0FBTyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQzthQUN6QjtpQkFBTTtnQkFDTCxPQUFPLElBQUksQ0FBQzthQUNiO1NBQ0Y7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRDs7OztnRkFJNEU7SUFFNUU7Ozs7O09BS0c7SUFDSCxJQUFXLFFBQVE7UUFDakIsT0FBTyxnQkFBZ0IsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFFRCxJQUFXLGdCQUFnQjtRQUN6QixPQUFPLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN4QyxDQUFDO0lBRUQ7Ozs7Z0ZBSTRFO0lBRXJFLGNBQWMsQ0FBQyxLQUErQixFQUFFLFFBQWtCO1FBRXZFLElBQUksV0FBVyxHQUFHLGdCQUFnQixDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6RCxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ2hCLElBQUksUUFBUSxLQUFLLFNBQVMsSUFBSSxRQUFRLEtBQUssSUFBSSxFQUFFO2dCQUMvQyxXQUFXLEdBQUcsUUFBUSxDQUFDO2FBQ3hCO1NBQ0Y7UUFFRCxPQUFPLElBQUksZ0JBQWdCLENBQ3pCLElBQUksQ0FBQyxTQUFTLEVBQ2QsS0FBSyxFQUNMLElBQUksQ0FBQyxRQUFRLEVBQ2IsV0FBVyxFQUNYLElBQUksQ0FDTCxDQUFDO0lBQ0osQ0FBQztDQUlGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtPYmplY3RzfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9jb21tb24vb2JqZWN0cyc7XG5cbi8qKlxuICogSW1tdXRhYmxlIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBzdGF0ZSBvZiBhbiBzZWFyY2ggaW5wdXRcbiAqL1xuZXhwb3J0IGNsYXNzIFNlYXJjaElucHV0U3RhdGUge1xuXG4gIHB1YmxpYyBzdGF0aWMgdW5rbm93bigpOiBTZWFyY2hJbnB1dFN0YXRlIHtcbiAgICByZXR1cm4gbmV3IFNlYXJjaElucHV0U3RhdGUoXG4gICAgICBudWxsLFxuICAgICAgbnVsbCxcbiAgICAgIG51bGwsXG4gICAgICB0cnVlLFxuICAgICAgZmFsc2VcbiAgICApO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIENvbnN0cnVjdG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgY29uc3RydWN0b3IoXG5cbiAgICAvKipcbiAgICAgKiBhdHRyaWJ1dGUgVGhlIG5hbWUgbmFtZVxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBhdHRyaWJ1dGU6IHN0cmluZyxcbiAgICAvKipcbiAgICAgKiBxdWVyeVZhbHVlIFRoZSBxdWVyeSB2YWx1ZSBhcyBzdHJpbmcuIFN1cHBvcnRzIG11bHRpIHN0cmluZyB2YWx1ZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgcXVlcnlWYWx1ZTogc3RyaW5nIHwgc3RyaW5nW10gfCBudWxsLFxuICAgIC8qKlxuICAgICAqIHF1ZXJ5S2V5IFRoZSBxdWVyeSBrZXlcbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgcXVlcnlLZXk6IHN0cmluZyxcbiAgICAvKipcbiAgICAgKiBwcmlzdGluZSBIYXMgdGhlIHVzZXIgdG91Y2hlZCB0aGlzP1xuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBwcmlzdGluZTogYm9vbGVhbixcbiAgICAvKipcbiAgICAgKiBXYXMgdGhlIGlucHV0IGNoYW5nZWQgYnkgYSB1c2VyIGludGVyYWN0aW9uXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IHVzZXJFdmVudDogYm9vbGVhblxuICApIHsgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcml2YXRlIG1ldGhvZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyBzdGF0aWMgaXNWYWx1ZURlZmluZWQodmFsdWU6IHN0cmluZyB8IHN0cmluZ1tdIHwgbnVsbCk6IGJvb2xlYW4ge1xuICAgIGlmIChPYmplY3RzLm5vbk51bGwodmFsdWUpKSB7XG4gICAgICBpZiAodmFsdWUgaW5zdGFuY2VvZiBBcnJheSkge1xuICAgICAgICByZXR1cm4gdmFsdWUubGVuZ3RoID4gMDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJvcGVydGllcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICAvKipcbiAgICogQ2hlY2tzIGlmIHRoaXMgc2VhcmNoIGlucHV0IGhhcyBhIHZhbHVlLlxuICAgKlxuICAgKiBUaGUgdmFsdWUgbXVzdCBub3QgYmUgbnVsbCBhbmQgaW4gY2FzZSBpdHNcbiAgICogYW4gYXJyYXksIGl0IG11c3Qgbm90IGJlIGVtcHR5LlxuICAgKi9cbiAgcHVibGljIGdldCBoYXNWYWx1ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gU2VhcmNoSW5wdXRTdGF0ZS5pc1ZhbHVlRGVmaW5lZCh0aGlzLnF1ZXJ5VmFsdWUpO1xuICB9XG5cbiAgcHVibGljIGdldCBoYXNGYWxsYmFja1ZhbHVlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhc1ZhbHVlICYmIHRoaXMucHJpc3RpbmU7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHVibGljIEFwaSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgd2l0aFF1ZXJ5VmFsdWUodmFsdWU6IHN0cmluZyB8IHN0cmluZ1tdIHwgbnVsbCwgcHJpc3RpbmU/OiBib29sZWFuKTogU2VhcmNoSW5wdXRTdGF0ZSB7XG5cbiAgICBsZXQgcHJpc3RpbmVOb3cgPSBTZWFyY2hJbnB1dFN0YXRlLmlzVmFsdWVEZWZpbmVkKHZhbHVlKTtcbiAgICBpZiAoIXByaXN0aW5lTm93KSB7XG4gICAgICBpZiAocHJpc3RpbmUgIT09IHVuZGVmaW5lZCAmJiBwcmlzdGluZSAhPT0gbnVsbCkge1xuICAgICAgICBwcmlzdGluZU5vdyA9IHByaXN0aW5lO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBuZXcgU2VhcmNoSW5wdXRTdGF0ZShcbiAgICAgIHRoaXMuYXR0cmlidXRlLFxuICAgICAgdmFsdWUsXG4gICAgICB0aGlzLnF1ZXJ5S2V5LFxuICAgICAgcHJpc3RpbmVOb3csXG4gICAgICB0cnVlXG4gICAgKTtcbiAgfVxuXG5cblxufVxuIl19
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWlucHV0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy9mb3Jtcy9zZWFyY2gvZG9tYWluL2lucHV0L3NlYXJjaC1pbnB1dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMvaW50ZXJuYWwvT2JzZXJ2YWJsZSc7XG5pbXBvcnQge1NlYXJjaElucHV0U3RhdGV9IGZyb20gJy4vc2VhcmNoLWlucHV0LXN0YXRlJztcbmltcG9ydCB7IEZpbHRlciB9IGZyb20gXCIuLi8uLi8uLi8uLi8uLi9jb21tb24vZGF0YS9maWx0ZXJzL2ZpbHRlclwiO1xuXG5cblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgc2luZ2xlIHNlYXJjaCBjb250cm9sLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNlYXJjaElucHV0IHtcblxuICAvKipcbiAgICogVGhlIHNlYXJjaCBpbnB1dCBuYW1lXG4gICAqL1xuICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG5cbiAgcmVhZG9ubHkgc3RhdGUkOiBPYnNlcnZhYmxlPFNlYXJjaElucHV0U3RhdGU+O1xuXG4gIC8qKlxuICAgKiBTdGF0ZXMgaWYgdGhlIHNlYXJjaCBuYW1lIGlzIGNhbm5vdCBiZSBjaGFuZ2VkLlxuICAgKi9cbiAgcmVhZG9ubHkgcmVhZG9ubHk/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBSZXNldCB0aGUgbmFtZSB2YWx1ZVxuICAgKi9cbiAgcmVzZXQoKTogdm9pZDtcblxuICBzZXRWYWx1ZSh2YWx1ZTogc3RyaW5nIHwgc3RyaW5nW10gfCBudWxsKTogdm9pZDtcbn1cblxuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWlucHV0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy9mb3Jtcy9zZWFyY2gvZG9tYWluL2lucHV0L3NlYXJjaC1pbnB1dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzL2ludGVybmFsL09ic2VydmFibGUnO1xuaW1wb3J0IHtTZWFyY2hJbnB1dFN0YXRlfSBmcm9tICcuL3NlYXJjaC1pbnB1dC1zdGF0ZSc7XG5cblxuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBzaW5nbGUgc2VhcmNoIGNvbnRyb2wuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2VhcmNoSW5wdXQge1xuXG4gIC8qKlxuICAgKiBUaGUgc2VhcmNoIGlucHV0IG5hbWVcbiAgICovXG4gIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcblxuICByZWFkb25seSBzdGF0ZSQ6IE9ic2VydmFibGU8U2VhcmNoSW5wdXRTdGF0ZT47XG5cbiAgLyoqXG4gICAqIFN0YXRlcyBpZiB0aGUgc2VhcmNoIG5hbWUgaXMgY2Fubm90IGJlIGNoYW5nZWQuXG4gICAqL1xuICByZWFkb25seSByZWFkb25seT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFJlc2V0IHRoZSBuYW1lIHZhbHVlXG4gICAqL1xuICByZXNldCgpOiB2b2lkO1xuXG4gIHNldFZhbHVlKHZhbHVlOiBzdHJpbmcgfCBzdHJpbmdbXSB8IG51bGwpOiB2b2lkO1xufVxuXG4iXX0=
@@ -116,7 +116,7 @@ export class ElderSearchUrlService {
116
116
  }
117
117
  collectRouteQueryParams(root) {
118
118
  let params = {};
119
- let stack = [root];
119
+ const stack = [root];
120
120
  while (stack.length > 0) {
121
121
  const route = stack.pop();
122
122
  params = { ...params, ...route.queryParams };
@@ -160,4 +160,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImpor
160
160
  providedIn: 'root'
161
161
  }]
162
162
  }], ctorParameters: () => [{ type: i1.Router }] });
163
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItc2VhcmNoLXVybC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy9mb3Jtcy9zZWFyY2gvZG9tYWluL3VybC9lbGRlci1zZWFyY2gtdXJsLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDbkQsT0FBTyxFQUF5QyxTQUFTLEVBQW1ELE1BQU0saUJBQWlCLENBQUM7QUFDcEksT0FBTyxFQUFDLE1BQU0sRUFBRSxHQUFHLEVBQU0sTUFBTSxnQkFBZ0IsQ0FBQztBQUVoRCxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUNyRSxPQUFPLEVBQUMsZUFBZSxFQUFhLE1BQU0sTUFBTSxDQUFDO0FBRWpELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQzs7O0FBRW5FLE1BQU0sT0FBTyxrQkFBa0I7SUFHN0IsWUFDRSxtQkFBNkM7UUFFN0MsSUFBSSxDQUFDLFNBQVMsR0FBRyxtQkFBbUIsSUFBSSxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBQ3BELENBQUM7SUFFTSxTQUFTLENBQUMsU0FBaUI7UUFDaEMsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBR00sTUFBTSxDQUFDLEtBQUs7UUFDakIsT0FBTyxJQUFJLGtCQUFrQixFQUFFLENBQUM7SUFDbEMsQ0FBQztJQUVNLGNBQWMsQ0FBQyxPQUE4QjtRQUNsRCxNQUFNLElBQUksR0FBRyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDckMsT0FB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RkFFUCxxQkFBcUI7a0JBSGpDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TG9nZ2VyRmFjdG9yeX0gZnJvbSAnQGVsZGVyYnl0ZS90cy1sb2dnZXInO1xuaW1wb3J0IHtBY3RpdmF0ZWRSb3V0ZSwgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgRXZlbnRUeXBlLCBQYXJhbXMsIFJvdXRlciwgUm91dGVyRXZlbnQsIFJvdXRlclN0YXRlU25hcHNob3R9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge2ZpbHRlciwgbWFwLCB0YXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7RmlsdGVyfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9jb21tb24vZGF0YS9maWx0ZXJzL2ZpbHRlcic7XG5pbXBvcnQge1NlYXJjaFF1ZXJ5UGFyYW1zUGFyc2VyfSBmcm9tICcuL3NlYXJjaC1xdWVyeS1wYXJhbXMtcGFyc2VyJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7Ynl9IGZyb20gJ25nLXBhY2thZ3IvbGliL2dyYXBoL3NlbGVjdCc7XG5pbXBvcnQge0ZpbHRlclV0aWx9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2NvbW1vbi91dGlscy9maWx0ZXItdXRpbCc7XG5cbmV4cG9ydCBjbGFzcyBVcmxGaWx0ZXJCeUNvbnRleHQge1xuICBwcml2YXRlIHJlYWRvbmx5IGJ5Q29udGV4dDogTWFwPHN0cmluZywgVXJsRmlsdGVycz47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgdXJsRmlsdGVyc0J5Q29udGV4dD86IE1hcDxzdHJpbmcsIFVybEZpbHRlcnM+XG4gICkge1xuICAgIHRoaXMuYnlDb250ZXh0ID0gdXJsRmlsdGVyc0J5Q29udGV4dCA/PyBuZXcgTWFwKCk7XG4gIH1cblxuICBwdWJsaWMgZmlsdGVyc09mKGNvbnRleHRJZDogc3RyaW5nKTogVXJsRmlsdGVycyB7XG4gICAgcmV0dXJuIHRoaXMuYnlDb250ZXh0LmdldChjb250ZXh0SWQpO1xuICB9XG5cblxuICBwdWJsaWMgc3RhdGljIGVtcHR5KCk6IFVybEZpbHRlckJ5Q29udGV4dCB7XG4gICAgcmV0dXJuIG5ldyBVcmxGaWx0ZXJCeUNvbnRleHQoKTtcbiAgfVxuXG4gIHB1YmxpYyB3aXRoVXJsRmlsdGVycyhjdXJyZW50OiBNYXA8c3RyaW5nLCBGaWx0ZXJbXT4pOiBVcmxGaWx0ZXJCeUNvbnRleHQge1xuICAgIGNvbnN0IGNvcHkgPSBuZXcgTWFwKHRoaXMuYnlDb250ZXh0KTtcbiAgICBjdXJyZW50XG4gICAgICAuZm9yRWFjaCgodiwgaykgPT4gY29weS5zZXQoaywgbmV3IFVybEZpbHRlcnModikpKTtcbiAgICByZXR1cm4gbmV3IFVybEZpbHRlckJ5Q29udGV4dChjb3B5KTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgVXJsRmlsdGVycyB7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBmaWx0ZXJzOiBGaWx0ZXJbXTtcbiAgcHVibGljIGNvbnN1bWVkID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgZmlsdGVyczogRmlsdGVyW11cbiAgKSB7XG4gICAgdGhpcy5maWx0ZXJzID0gWy4uLmZpbHRlcnNdO1xuICB9XG5cbiAgcHVibGljIGNvbnN1bWVGaWx0ZXJzKCk6IEZpbHRlcltdIHtcbiAgICB0aGlzLmNvbnN1bWVkID0gdHJ1ZTtcbiAgICByZXR1cm4gdGhpcy5maWx0ZXJzO1xuICB9XG5cbn1cblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgRWxkZXJTZWFyY2hVcmxTZXJ2aWNlIHtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogRmllbGRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIHJlYWRvbmx5IGxvZyA9IExvZ2dlckZhY3RvcnkuZ2V0TG9nZ2VyKHRoaXMuY29uc3RydWN0b3IubmFtZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgU0VBUkNIX1FVRVJZX0tFWSA9ICdxJztcbiAgcHJpdmF0ZSByZWFkb25seSBwYXJhbXNQYXJzZXIgPSBuZXcgU2VhcmNoUXVlcnlQYXJhbXNQYXJzZXIodGhpcy5TRUFSQ0hfUVVFUllfS0VZKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IHVybEZpbHRlcnNCeUNvbnRleHQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxVcmxGaWx0ZXJCeUNvbnRleHQ+KFVybEZpbHRlckJ5Q29udGV4dC5lbXB0eSgpKTtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29uc3RydWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyXG4gICkge1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFB1YmxpYyBBUEkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIGluaXQoKTogdm9pZCB7XG4gICAgLy8gdGhpcy5sb2dSb3V0ZXJFdmVudHMoKTtcbiAgICB0aGlzLnJvdXRlci5ldmVudHMucGlwZShcbiAgICAgIGZpbHRlcihldmVudCA9PiBldmVudC50eXBlID09PSBFdmVudFR5cGUuTmF2aWdhdGlvbkVuZCksXG4gICAgICBtYXAoZXZlbnQgPT4gdGhpcy5leHRyYWN0VXJsRmlsdGVycyh0aGlzLnJvdXRlci5yb3V0ZXJTdGF0ZS5zbmFwc2hvdCkpLFxuICAgICkuc3Vic2NyaWJlKFxuICAgICAgY3VycmVudENvbnRleHRGaWx0ZXJzID0+IHRoaXMudXBkYXRlU2VlblVybEZpbHRlcnMoY3VycmVudENvbnRleHRGaWx0ZXJzKVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgdXJsRmlsdGVyc09mQ29udGV4dCQoY29udGV4dElkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFVybEZpbHRlcnM+IHtcbiAgICBpZiAoIWNvbnRleHRJZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbGxlZ2FsIGNvbnRleHRJZCBBcmd1bWVudDogJyArIGNvbnRleHRJZCk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLnVybEZpbHRlcnNCeUNvbnRleHQkLnBpcGUoXG4gICAgICBtYXAoYnlDb250ZXh0ID0+IGJ5Q29udGV4dC5maWx0ZXJzT2YoY29udGV4dElkKSksXG4gICAgICBmaWx0ZXIoZmlsdGVycyA9PiAhIWZpbHRlcnMpXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyB1cGRhdGVRdWVyeVBhcmFtcyhjb250ZXh0SWQ6IHN0cmluZywgZmlsdGVyczogRmlsdGVyW10pOiB2b2lkIHtcblxuICAgIGlmKCFjb250ZXh0SWQpXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0lsbGVnYWwgc2VhcmNoQ29udGV4dElkIEFyZ3VtZW50OiAnICsgY29udGV4dElkKTtcbiAgICBpZighZmlsdGVycylcbiAgICAgIHRocm93IG5ldyBFcnJvcignSWxsZWdhbCBmaWx0ZXJzIEFyZ3VtZW50OiAnICsgY29udGV4dElkKTtcblxuICAgIGZpbHRlcnMgPSBmaWx0ZXJzLmZpbHRlcihmID0+IGYudmFsdWUgIT09IG51bGwgJiYgZi52YWx1ZSAhPT0gdW5kZWZpbmVkKTtcbiAgICBjb25zdCBjdXJyZW50VXJsQWxsID0gdGhpcy5leHRyYWN0VXJsRmlsdGVycyh0aGlzLnJvdXRlci5yb3V0ZXJTdGF0ZS5zbmFwc2hvdCk7XG4gICAgY29uc3QgY3VycmVudFVybCA9IGN1cnJlbnRVcmxBbGwuZ2V0KGNvbnRleHRJZCkgPz8gW107XG5cbiAgICBpZighRmlsdGVyVXRpbC5lcXVhbHMoZmlsdGVycywgY3VycmVudFVybCkpe1xuICAgICAgY29uc3QgcmVzZXRQYXJhbXMgPSB0aGlzLnJlc2V0U2VhcmNoUGFyYW1zKGNvbnRleHRJZCwgY3VycmVudFVybCk7XG4gICAgICBjb25zdCBxdWVyeVBhcmFtcyA9IHsuLi5yZXNldFBhcmFtcywgLi4udGhpcy5idWlsZFF1ZXJ5UGFyYW1zKGNvbnRleHRJZCwgZmlsdGVycyl9O1xuXG4gICAgICB0aGlzLmxvZy5pbmZvKCd3cml0ZVVybFF1ZXJ5UGFyYW1zOiAnICsgY29udGV4dElkLCB7XG4gICAgICAgIHNlYXJjaE1hcDogZmlsdGVycyxcbiAgICAgICAgcXVlcnlQYXJhbXM6IHF1ZXJ5UGFyYW1zXG4gICAgICB9KTtcblxuICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoXG4gICAgICAgIFtdLFxuICAgICAgICB7XG4gICAgICAgICAgcXVlcnlQYXJhbXM6IHF1ZXJ5UGFyYW1zLFxuICAgICAgICAgIHJlcGxhY2VVcmw6IHRydWUsXG4gICAgICAgICAgcXVlcnlQYXJhbXNIYW5kbGluZzogJ21lcmdlJ1xuICAgICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gdGhpcy5sb2cuaW5mbygnd3JpdGVVcmxRdWVyeVBhcmFtcyBQUkVWRU5URUQnKVxuICAgIH1cbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcml2YXRlIG1ldGhvZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgdXBkYXRlU2VlblVybEZpbHRlcnMoY3VycmVudDogTWFwPHN0cmluZywgRmlsdGVyW10+KTogdm9pZCB7XG4gICAgaWYgKGN1cnJlbnQuc2l6ZSA+IDApIHtcbiAgICAgIGNvbnN0IGZpbHRlcnNCeUNvbnRleHQgPSB0aGlzLnVybEZpbHRlcnNCeUNvbnRleHQkLmdldFZhbHVlKCk7XG4gICAgICBjb25zdCBuZXdVcmxGaWx0ZXJzID0gZmlsdGVyc0J5Q29udGV4dC53aXRoVXJsRmlsdGVycyhjdXJyZW50KTtcbiAgICAgIHRoaXMubG9nLmluZm8oJ3VwZGF0ZVNlZW5VcmxGaWx0ZXJzOicsIG5ld1VybEZpbHRlcnMpO1xuICAgICAgdGhpcy51cmxGaWx0ZXJzQnlDb250ZXh0JC5uZXh0KG5ld1VybEZpbHRlcnMpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgbG9nUm91dGVyRXZlbnRzKCk6IHZvaWQge1xuICAgIHRoaXMucm91dGVyLmV2ZW50cy5waXBlKFxuICAgICAgbWFwKGUgPT4gZSBhcyBSb3V0ZXJFdmVudClcbiAgICApLnN1YnNjcmliZShcbiAgICAgIGUgPT4gdGhpcy5sb2cuZGVidWcoXG4gICAgICAgICdST1VURVItRVZFTlQgWycgKyAoZS5jb25zdHJ1Y3Rvci5uYW1lKSArICddIycgKyBlLmlkICsgJzogJyArIGUudXJsXG4gICAgICApXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgcGFyc2VVcmxGaWx0ZXJzKHBhcmFtczogUGFyYW1zKTogTWFwPHN0cmluZywgRmlsdGVyW10+IHtcbiAgICByZXR1cm4gdGhpcy5wYXJhbXNQYXJzZXIucGFyc2UocGFyYW1zKTtcbiAgfVxuXG4gIHByaXZhdGUgY29sbGVjdEFsbFJvdXRlUGFyYW1zKHJvdXRlclN0YXRlOiBSb3V0ZXJTdGF0ZVNuYXBzaG90KTogUGFyYW1zIHtcbiAgICByZXR1cm4gdGhpcy5jb2xsZWN0Um91dGVRdWVyeVBhcmFtcyhyb3V0ZXJTdGF0ZS5yb290KTtcbiAgfVxuXG4gIHByaXZhdGUgY29sbGVjdFJvdXRlUXVlcnlQYXJhbXMocm9vdDogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCk6IFBhcmFtcyB7XG4gICAgbGV0IHBhcmFtczogUGFyYW1zID0ge307XG4gICAgbGV0IHN0YWNrOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90W10gPSBbcm9vdF07XG4gICAgd2hpbGUgKHN0YWNrLmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnN0IHJvdXRlID0gc3RhY2sucG9wKCkhO1xuICAgICAgcGFyYW1zID0gey4uLnBhcmFtcywgLi4ucm91dGUucXVlcnlQYXJhbXN9O1xuICAgICAgc3RhY2sucHVzaCguLi5yb3V0ZS5jaGlsZHJlbik7XG4gICAgfVxuICAgIHJldHVybiBwYXJhbXM7XG4gIH1cblxuICBwcml2YXRlIGV4dHJhY3RVcmxGaWx0ZXJzKHJvdXRlclN0YXRlOiBSb3V0ZXJTdGF0ZVNuYXBzaG90KTogTWFwPHN0cmluZywgRmlsdGVyW10+IHtcbiAgICBjb25zdCBwYXJhbXMgPSB0aGlzLmNvbGxlY3RBbGxSb3V0ZVBhcmFtcyhyb3V0ZXJTdGF0ZSk7XG4gICAgcmV0dXJuIHRoaXMucGFyc2VVcmxGaWx0ZXJzKHBhcmFtcyk7XG4gIH1cblxuXG4gIHByaXZhdGUgcmVzZXRTZWFyY2hQYXJhbXMoc2VhcmNoQ29udGV4dElkOiBzdHJpbmcsIHVybEZpbHRlcnNPZjogRmlsdGVyW10pOiBQYXJhbXMge1xuICAgIGlmICh1cmxGaWx0ZXJzT2YgJiYgdXJsRmlsdGVyc09mLmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnN0IHBhcmFtczogUGFyYW1zID0ge307XG4gICAgICB1cmxGaWx0ZXJzT2YuZm9yRWFjaChcbiAgICAgICAgdG9SZW1vdmUgPT4ge1xuICAgICAgICAgIHBhcmFtc1t0aGlzLnF1ZXJ5UGFyYW1LZXkoc2VhcmNoQ29udGV4dElkLCB0b1JlbW92ZSldID0gbnVsbDtcbiAgICAgICAgfVxuICAgICAgKTtcbiAgICAgIHJldHVybiBwYXJhbXM7XG4gICAgfVxuICAgIHJldHVybiB7fTtcbiAgfVxuXG4gIHByaXZhdGUgYnVpbGRRdWVyeVBhcmFtcyhzZWFyY2hDb250ZXh0SWQ6IHN0cmluZywgZmlsdGVyczogRmlsdGVyW10pOiBQYXJhbXMge1xuICAgIGNvbnN0IHBhcmFtczogUGFyYW1zID0ge307XG4gICAgZm9yIChjb25zdCBmaWx0ZXIgb2YgZmlsdGVycykge1xuICAgICAgcGFyYW1zW3RoaXMucXVlcnlQYXJhbUtleShzZWFyY2hDb250ZXh0SWQsIGZpbHRlcildID0gdGhpcy5jb252ZXJ0VmFsdWVUb0FycmF5T3JTaW5nbGVWYWx1ZShmaWx0ZXIudmFsdWUpO1xuICAgIH1cbiAgICByZXR1cm4gcGFyYW1zO1xuICB9XG5cbiAgcHJpdmF0ZSBxdWVyeVBhcmFtS2V5KHNlYXJjaENvbnRleHRJZDogc3RyaW5nLCBmaWx0ZXI6IEZpbHRlcik6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RoaXMuU0VBUkNIX1FVRVJZX0tFWX0tJHtzZWFyY2hDb250ZXh0SWR9LSR7ZmlsdGVyLmtleX1gO1xuICB9XG5cbiAgcHJpdmF0ZSBjb252ZXJ0VmFsdWVUb0FycmF5T3JTaW5nbGVWYWx1ZSh2YWx1ZTogc3RyaW5nIHwgc3RyaW5nW10pOiBzdHJpbmcge1xuICAgIHJldHVybiBBcnJheS5pc0FycmF5KHZhbHVlKSA/IGAoJHt2YWx1ZS50b1N0cmluZygpfSlgIDogdmFsdWU7XG4gIH1cblxuXG59XG4iXX0=
163
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItc2VhcmNoLXVybC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy9mb3Jtcy9zZWFyY2gvZG9tYWluL3VybC9lbGRlci1zZWFyY2gtdXJsLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDbkQsT0FBTyxFQUF5QixTQUFTLEVBQW1ELE1BQU0saUJBQWlCLENBQUM7QUFDcEgsT0FBTyxFQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUNyRSxPQUFPLEVBQUMsZUFBZSxFQUFhLE1BQU0sTUFBTSxDQUFDO0FBQ2pELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQzs7O0FBRW5FLE1BQU0sT0FBTyxrQkFBa0I7SUFHN0IsWUFDRSxtQkFBNkM7UUFFN0MsSUFBSSxDQUFDLFNBQVMsR0FBRyxtQkFBbUIsSUFBSSxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBQ3BELENBQUM7SUFFTSxTQUFTLENBQUMsU0FBaUI7UUFDaEMsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBR00sTUFBTSxDQUFDLEtBQUs7UUFDakIsT0FBTyxJQUFJLGtCQUFrQixFQUFFLENBQUM7SUFDbEMsQ0FBQztJQUVNLGNBQWMsQ0FBQyxPQUE4QjtRQUNsRCxNQUFNLElBQUksR0FBRyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDckMsT0FB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RkFFUCxxQkFBcUI7a0JBSGpDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TG9nZ2VyRmFjdG9yeX0gZnJvbSAnQGVsZGVyYnl0ZS90cy1sb2dnZXInO1xuaW1wb3J0IHtBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBFdmVudFR5cGUsIFBhcmFtcywgUm91dGVyLCBSb3V0ZXJFdmVudCwgUm91dGVyU3RhdGVTbmFwc2hvdH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7ZmlsdGVyLCBtYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7RmlsdGVyfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9jb21tb24vZGF0YS9maWx0ZXJzL2ZpbHRlcic7XG5pbXBvcnQge1NlYXJjaFF1ZXJ5UGFyYW1zUGFyc2VyfSBmcm9tICcuL3NlYXJjaC1xdWVyeS1wYXJhbXMtcGFyc2VyJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7RmlsdGVyVXRpbH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vY29tbW9uL3V0aWxzL2ZpbHRlci11dGlsJztcblxuZXhwb3J0IGNsYXNzIFVybEZpbHRlckJ5Q29udGV4dCB7XG4gIHByaXZhdGUgcmVhZG9ubHkgYnlDb250ZXh0OiBNYXA8c3RyaW5nLCBVcmxGaWx0ZXJzPjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICB1cmxGaWx0ZXJzQnlDb250ZXh0PzogTWFwPHN0cmluZywgVXJsRmlsdGVycz5cbiAgKSB7XG4gICAgdGhpcy5ieUNvbnRleHQgPSB1cmxGaWx0ZXJzQnlDb250ZXh0ID8/IG5ldyBNYXAoKTtcbiAgfVxuXG4gIHB1YmxpYyBmaWx0ZXJzT2YoY29udGV4dElkOiBzdHJpbmcpOiBVcmxGaWx0ZXJzIHtcbiAgICByZXR1cm4gdGhpcy5ieUNvbnRleHQuZ2V0KGNvbnRleHRJZCk7XG4gIH1cblxuXG4gIHB1YmxpYyBzdGF0aWMgZW1wdHkoKTogVXJsRmlsdGVyQnlDb250ZXh0IHtcbiAgICByZXR1cm4gbmV3IFVybEZpbHRlckJ5Q29udGV4dCgpO1xuICB9XG5cbiAgcHVibGljIHdpdGhVcmxGaWx0ZXJzKGN1cnJlbnQ6IE1hcDxzdHJpbmcsIEZpbHRlcltdPik6IFVybEZpbHRlckJ5Q29udGV4dCB7XG4gICAgY29uc3QgY29weSA9IG5ldyBNYXAodGhpcy5ieUNvbnRleHQpO1xuICAgIGN1cnJlbnRcbiAgICAgIC5mb3JFYWNoKCh2LCBrKSA9PiBjb3B5LnNldChrLCBuZXcgVXJsRmlsdGVycyh2KSkpO1xuICAgIHJldHVybiBuZXcgVXJsRmlsdGVyQnlDb250ZXh0KGNvcHkpO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBVcmxGaWx0ZXJzIHtcblxuICBwcml2YXRlIHJlYWRvbmx5IGZpbHRlcnM6IEZpbHRlcltdO1xuICBwdWJsaWMgY29uc3VtZWQgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBmaWx0ZXJzOiBGaWx0ZXJbXVxuICApIHtcbiAgICB0aGlzLmZpbHRlcnMgPSBbLi4uZmlsdGVyc107XG4gIH1cblxuICBwdWJsaWMgY29uc3VtZUZpbHRlcnMoKTogRmlsdGVyW10ge1xuICAgIHRoaXMuY29uc3VtZWQgPSB0cnVlO1xuICAgIHJldHVybiB0aGlzLmZpbHRlcnM7XG4gIH1cblxufVxuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBFbGRlclNlYXJjaFVybFNlcnZpY2Uge1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBGaWVsZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgbG9nID0gTG9nZ2VyRmFjdG9yeS5nZXRMb2dnZXIodGhpcy5jb25zdHJ1Y3Rvci5uYW1lKTtcbiAgcHJpdmF0ZSByZWFkb25seSBTRUFSQ0hfUVVFUllfS0VZID0gJ3EnO1xuICBwcml2YXRlIHJlYWRvbmx5IHBhcmFtc1BhcnNlciA9IG5ldyBTZWFyY2hRdWVyeVBhcmFtc1BhcnNlcih0aGlzLlNFQVJDSF9RVUVSWV9LRVkpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgdXJsRmlsdGVyc0J5Q29udGV4dCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFVybEZpbHRlckJ5Q29udGV4dD4oVXJsRmlsdGVyQnlDb250ZXh0LmVtcHR5KCkpO1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBDb25zdHJ1Y3RvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXJcbiAgKSB7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHVibGljIEFQSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgaW5pdCgpOiB2b2lkIHtcbiAgICAvLyB0aGlzLmxvZ1JvdXRlckV2ZW50cygpO1xuICAgIHRoaXMucm91dGVyLmV2ZW50cy5waXBlKFxuICAgICAgZmlsdGVyKGV2ZW50ID0+IGV2ZW50LnR5cGUgPT09IEV2ZW50VHlwZS5OYXZpZ2F0aW9uRW5kKSxcbiAgICAgIG1hcChldmVudCA9PiB0aGlzLmV4dHJhY3RVcmxGaWx0ZXJzKHRoaXMucm91dGVyLnJvdXRlclN0YXRlLnNuYXBzaG90KSksXG4gICAgKS5zdWJzY3JpYmUoXG4gICAgICBjdXJyZW50Q29udGV4dEZpbHRlcnMgPT4gdGhpcy51cGRhdGVTZWVuVXJsRmlsdGVycyhjdXJyZW50Q29udGV4dEZpbHRlcnMpXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyB1cmxGaWx0ZXJzT2ZDb250ZXh0JChjb250ZXh0SWQ6IHN0cmluZyk6IE9ic2VydmFibGU8VXJsRmlsdGVycz4ge1xuICAgIGlmICghY29udGV4dElkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0lsbGVnYWwgY29udGV4dElkIEFyZ3VtZW50OiAnICsgY29udGV4dElkKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMudXJsRmlsdGVyc0J5Q29udGV4dCQucGlwZShcbiAgICAgIG1hcChieUNvbnRleHQgPT4gYnlDb250ZXh0LmZpbHRlcnNPZihjb250ZXh0SWQpKSxcbiAgICAgIGZpbHRlcihmaWx0ZXJzID0+ICEhZmlsdGVycylcbiAgICApO1xuICB9XG5cbiAgcHVibGljIHVwZGF0ZVF1ZXJ5UGFyYW1zKGNvbnRleHRJZDogc3RyaW5nLCBmaWx0ZXJzOiBGaWx0ZXJbXSk6IHZvaWQge1xuXG4gICAgaWYoIWNvbnRleHRJZClcbiAgICAgIHRocm93IG5ldyBFcnJvcignSWxsZWdhbCBzZWFyY2hDb250ZXh0SWQgQXJndW1lbnQ6ICcgKyBjb250ZXh0SWQpO1xuICAgIGlmKCFmaWx0ZXJzKVxuICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbGxlZ2FsIGZpbHRlcnMgQXJndW1lbnQ6ICcgKyBjb250ZXh0SWQpO1xuXG4gICAgZmlsdGVycyA9IGZpbHRlcnMuZmlsdGVyKGYgPT4gZi52YWx1ZSAhPT0gbnVsbCAmJiBmLnZhbHVlICE9PSB1bmRlZmluZWQpO1xuICAgIGNvbnN0IGN1cnJlbnRVcmxBbGwgPSB0aGlzLmV4dHJhY3RVcmxGaWx0ZXJzKHRoaXMucm91dGVyLnJvdXRlclN0YXRlLnNuYXBzaG90KTtcbiAgICBjb25zdCBjdXJyZW50VXJsID0gY3VycmVudFVybEFsbC5nZXQoY29udGV4dElkKSA/PyBbXTtcblxuICAgIGlmKCFGaWx0ZXJVdGlsLmVxdWFscyhmaWx0ZXJzLCBjdXJyZW50VXJsKSl7XG4gICAgICBjb25zdCByZXNldFBhcmFtcyA9IHRoaXMucmVzZXRTZWFyY2hQYXJhbXMoY29udGV4dElkLCBjdXJyZW50VXJsKTtcbiAgICAgIGNvbnN0IHF1ZXJ5UGFyYW1zID0gey4uLnJlc2V0UGFyYW1zLCAuLi50aGlzLmJ1aWxkUXVlcnlQYXJhbXMoY29udGV4dElkLCBmaWx0ZXJzKX07XG5cbiAgICAgIHRoaXMubG9nLmluZm8oJ3dyaXRlVXJsUXVlcnlQYXJhbXM6ICcgKyBjb250ZXh0SWQsIHtcbiAgICAgICAgc2VhcmNoTWFwOiBmaWx0ZXJzLFxuICAgICAgICBxdWVyeVBhcmFtczogcXVlcnlQYXJhbXNcbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShcbiAgICAgICAgW10sXG4gICAgICAgIHtcbiAgICAgICAgICBxdWVyeVBhcmFtczogcXVlcnlQYXJhbXMsXG4gICAgICAgICAgcmVwbGFjZVVybDogdHJ1ZSxcbiAgICAgICAgICBxdWVyeVBhcmFtc0hhbmRsaW5nOiAnbWVyZ2UnXG4gICAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyB0aGlzLmxvZy5pbmZvKCd3cml0ZVVybFF1ZXJ5UGFyYW1zIFBSRVZFTlRFRCcpXG4gICAgfVxuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByaXZhdGUgbWV0aG9kcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSB1cGRhdGVTZWVuVXJsRmlsdGVycyhjdXJyZW50OiBNYXA8c3RyaW5nLCBGaWx0ZXJbXT4pOiB2b2lkIHtcbiAgICBpZiAoY3VycmVudC5zaXplID4gMCkge1xuICAgICAgY29uc3QgZmlsdGVyc0J5Q29udGV4dCA9IHRoaXMudXJsRmlsdGVyc0J5Q29udGV4dCQuZ2V0VmFsdWUoKTtcbiAgICAgIGNvbnN0IG5ld1VybEZpbHRlcnMgPSBmaWx0ZXJzQnlDb250ZXh0LndpdGhVcmxGaWx0ZXJzKGN1cnJlbnQpO1xuICAgICAgdGhpcy5sb2cuaW5mbygndXBkYXRlU2VlblVybEZpbHRlcnM6JywgbmV3VXJsRmlsdGVycyk7XG4gICAgICB0aGlzLnVybEZpbHRlcnNCeUNvbnRleHQkLm5leHQobmV3VXJsRmlsdGVycyk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBsb2dSb3V0ZXJFdmVudHMoKTogdm9pZCB7XG4gICAgdGhpcy5yb3V0ZXIuZXZlbnRzLnBpcGUoXG4gICAgICBtYXAoZSA9PiBlIGFzIFJvdXRlckV2ZW50KVxuICAgICkuc3Vic2NyaWJlKFxuICAgICAgZSA9PiB0aGlzLmxvZy5kZWJ1ZyhcbiAgICAgICAgJ1JPVVRFUi1FVkVOVCBbJyArIChlLmNvbnN0cnVjdG9yLm5hbWUpICsgJ10jJyArIGUuaWQgKyAnOiAnICsgZS51cmxcbiAgICAgIClcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBwYXJzZVVybEZpbHRlcnMocGFyYW1zOiBQYXJhbXMpOiBNYXA8c3RyaW5nLCBGaWx0ZXJbXT4ge1xuICAgIHJldHVybiB0aGlzLnBhcmFtc1BhcnNlci5wYXJzZShwYXJhbXMpO1xuICB9XG5cbiAgcHJpdmF0ZSBjb2xsZWN0QWxsUm91dGVQYXJhbXMocm91dGVyU3RhdGU6IFJvdXRlclN0YXRlU25hcHNob3QpOiBQYXJhbXMge1xuICAgIHJldHVybiB0aGlzLmNvbGxlY3RSb3V0ZVF1ZXJ5UGFyYW1zKHJvdXRlclN0YXRlLnJvb3QpO1xuICB9XG5cbiAgcHJpdmF0ZSBjb2xsZWN0Um91dGVRdWVyeVBhcmFtcyhyb290OiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90KTogUGFyYW1zIHtcbiAgICBsZXQgcGFyYW1zOiBQYXJhbXMgPSB7fTtcbiAgICBjb25zdCBzdGFjazogQWN0aXZhdGVkUm91dGVTbmFwc2hvdFtdID0gW3Jvb3RdO1xuICAgIHdoaWxlIChzdGFjay5sZW5ndGggPiAwKSB7XG4gICAgICBjb25zdCByb3V0ZSA9IHN0YWNrLnBvcCgpITtcbiAgICAgIHBhcmFtcyA9IHsuLi5wYXJhbXMsIC4uLnJvdXRlLnF1ZXJ5UGFyYW1zfTtcbiAgICAgIHN0YWNrLnB1c2goLi4ucm91dGUuY2hpbGRyZW4pO1xuICAgIH1cbiAgICByZXR1cm4gcGFyYW1zO1xuICB9XG5cbiAgcHJpdmF0ZSBleHRyYWN0VXJsRmlsdGVycyhyb3V0ZXJTdGF0ZTogUm91dGVyU3RhdGVTbmFwc2hvdCk6IE1hcDxzdHJpbmcsIEZpbHRlcltdPiB7XG4gICAgY29uc3QgcGFyYW1zID0gdGhpcy5jb2xsZWN0QWxsUm91dGVQYXJhbXMocm91dGVyU3RhdGUpO1xuICAgIHJldHVybiB0aGlzLnBhcnNlVXJsRmlsdGVycyhwYXJhbXMpO1xuICB9XG5cblxuICBwcml2YXRlIHJlc2V0U2VhcmNoUGFyYW1zKHNlYXJjaENvbnRleHRJZDogc3RyaW5nLCB1cmxGaWx0ZXJzT2Y6IEZpbHRlcltdKTogUGFyYW1zIHtcbiAgICBpZiAodXJsRmlsdGVyc09mICYmIHVybEZpbHRlcnNPZi5sZW5ndGggPiAwKSB7XG4gICAgICBjb25zdCBwYXJhbXM6IFBhcmFtcyA9IHt9O1xuICAgICAgdXJsRmlsdGVyc09mLmZvckVhY2goXG4gICAgICAgIHRvUmVtb3ZlID0+IHtcbiAgICAgICAgICBwYXJhbXNbdGhpcy5xdWVyeVBhcmFtS2V5KHNlYXJjaENvbnRleHRJZCwgdG9SZW1vdmUpXSA9IG51bGw7XG4gICAgICAgIH1cbiAgICAgICk7XG4gICAgICByZXR1cm4gcGFyYW1zO1xuICAgIH1cbiAgICByZXR1cm4ge307XG4gIH1cblxuICBwcml2YXRlIGJ1aWxkUXVlcnlQYXJhbXMoc2VhcmNoQ29udGV4dElkOiBzdHJpbmcsIGZpbHRlcnM6IEZpbHRlcltdKTogUGFyYW1zIHtcbiAgICBjb25zdCBwYXJhbXM6IFBhcmFtcyA9IHt9O1xuICAgIGZvciAoY29uc3QgZmlsdGVyIG9mIGZpbHRlcnMpIHtcbiAgICAgIHBhcmFtc1t0aGlzLnF1ZXJ5UGFyYW1LZXkoc2VhcmNoQ29udGV4dElkLCBmaWx0ZXIpXSA9IHRoaXMuY29udmVydFZhbHVlVG9BcnJheU9yU2luZ2xlVmFsdWUoZmlsdGVyLnZhbHVlKTtcbiAgICB9XG4gICAgcmV0dXJuIHBhcmFtcztcbiAgfVxuXG4gIHByaXZhdGUgcXVlcnlQYXJhbUtleShzZWFyY2hDb250ZXh0SWQ6IHN0cmluZywgZmlsdGVyOiBGaWx0ZXIpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0aGlzLlNFQVJDSF9RVUVSWV9LRVl9LSR7c2VhcmNoQ29udGV4dElkfS0ke2ZpbHRlci5rZXl9YDtcbiAgfVxuXG4gIHByaXZhdGUgY29udmVydFZhbHVlVG9BcnJheU9yU2luZ2xlVmFsdWUodmFsdWU6IHN0cmluZyB8IHN0cmluZ1tdKTogc3RyaW5nIHtcbiAgICByZXR1cm4gQXJyYXkuaXNBcnJheSh2YWx1ZSkgPyBgKCR7dmFsdWUudG9TdHJpbmcoKX0pYCA6IHZhbHVlO1xuICB9XG5cblxufVxuIl19
@@ -237,4 +237,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImpor
237
237
  }], forcedFilters: [{
238
238
  type: Input
239
239
  }] } });
240
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItc2VhcmNoLWNvbnRleHQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy9mb3Jtcy9zZWFyY2gvZWxkZXItc2VhcmNoLWNvbnRleHQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBNEIsU0FBUyxFQUFFLEtBQUssRUFBUyxNQUFNLGVBQWUsQ0FBQztBQUNsRixPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDbkQsT0FBTyxFQUFDLGlCQUFpQixFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3ZGLE9BQU8sRUFBQyxlQUFlLEVBQWMsYUFBYSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBRWhFLE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUMzRCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sNkNBQTZDLENBQUM7QUFHMUUsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBQzlELE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDRCQUE0QixDQUFDOzs7QUFFOUQ7Ozs7OztHQU1HO0FBTUgsTUFBTSxPQUFPLDJCQUEyQjtJQW1CdEM7Ozs7Z0ZBSTRFO0lBRTVFLFlBQ0Usb0JBQTBDLEVBQ3pCLFVBQXNCO1FBQXRCLGVBQVUsR0FBVixVQUFVLENBQVk7UUF6QnpDOzs7O29GQUk0RTtRQUUzRCxRQUFHLEdBQUcsYUFBYSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXJELGlDQUE0QixHQUFHLElBQUksR0FBbUIsQ0FBQztRQUV2RCxtQkFBYyxHQUFHLElBQUksZUFBZSxDQUFn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Q0o7SUFDSCxDQUFDO0lBRU8sa0JBQWtCO1FBQ3hCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDOUMsTUFBTSxHQUFHLEdBQUcsSUFBSSxHQUFHLEVBQXVCLENBQUM7UUFDM0MsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ3BELE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUVPLGdCQUFnQixDQUFDLE1BQTBCO1FBQ2pELE9BQU8sTUFBTTthQUNWLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsSUFBSSxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQzthQUNoRCxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQzthQUN6QixHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO0lBQ3BELENBQUM7OEdBcFJVLDJCQUEyQjtrR0FBM0IsMkJBQTJCOzsyRkFBM0IsMkJBQTJCO2tCQUx2QyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxzQkFBc0I7b0JBQ2hDLFFBQVEsRUFBRSxvQkFBb0I7b0JBQzlCLFVBQVUsRUFBRSxJQUFJO2lCQUNuQjtrSEE2RFksZUFBZTtzQkFEekIsS0FBSztnQkFrQkssYUFBYTtzQkFEdkIsS0FBSzt1QkFBQyxvQkFBb0I7Z0JBMkJoQixhQUFhO3NCQUR2QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBZnRlclZpZXdJbml0LCBEZXN0cm95UmVmLCBEaXJlY3RpdmUsIElucHV0LCBPbkluaXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtMb2dnZXJGYWN0b3J5fSBmcm9tICdAZWxkZXJieXRlL3RzLWxvZ2dlcic7XG5pbXBvcnQge2NvbWJpbmVMYXRlc3RXaXRoLCBkZWJvdW5jZVRpbWUsIGZpbHRlciwgbWFwLCBzd2l0Y2hNYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBjb21iaW5lTGF0ZXN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7U2VhcmNoSW5wdXR9IGZyb20gJy4vZG9tYWluL2lucHV0L3NlYXJjaC1pbnB1dCc7XG5pbXBvcnQge0ZpbHRlcn0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2RhdGEvZmlsdGVycy9maWx0ZXInO1xuaW1wb3J0IHtGaWx0ZXJDb250ZXh0fSBmcm9tICcuLi8uLi8uLi9jb21tb24vZGF0YS9maWx0ZXJzL2ZpbHRlci1jb250ZXh0JztcbmltcG9ydCB7U2VhcmNoSW5wdXRTdGF0ZX0gZnJvbSAnLi9kb21haW4vaW5wdXQvc2VhcmNoLWlucHV0LXN0YXRlJztcbmltcG9ydCB7U2VhcmNoQ29udGV4dFNlcnZpY2V9IGZyb20gJy4vZG9tYWluL2NvbnRleHQvc2VhcmNoLWNvbnRleHQuc2VydmljZSc7XG5pbXBvcnQge1NlYXJjaENvbnRleHR9IGZyb20gJy4vZG9tYWluL2NvbnRleHQvc2VhcmNoLWNvbnRleHQnO1xuaW1wb3J0IHt0YWtlVW50aWxEZXN0cm95ZWR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcblxuLyoqXG4gKiBUaGUgU2VhcmNoQ29udGV4dERpcmVjdGl2ZSBiaW5kcyBhIGdyb3VwIG9mIHNlYXJjaC1pbnB1dHNcbiAqIHRvIGEgU2VhcmNoQ29udGV4dCB3aXRoIGEgdHdvLXdheSBiaW5kaW5nLlxuICpcbiAqIEl0IGFsc28gYmluZHMgdGhlIFNlYXJjaENvbnRleHQgdG8gYSBGaWx0ZXJDb250ZXh0IChEYXRhQ29udGV4dCkuXG4gKiBUT0RPIE1heWJlIHNlcGFyYXRlIHRoaXM/P1xuICovXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tlbGRlclNlYXJjaENvbnRleHRdJyxcbiAgICBleHBvcnRBczogJ2VsZGVyU2VhcmNoQ29udGV4dCcsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBFbGRlclNlYXJjaENvbnRleHREaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBGaWVsZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgbG9nID0gTG9nZ2VyRmFjdG9yeS5nZXRMb2dnZXIodGhpcy5jb25zdHJ1Y3Rvci5uYW1lKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IGZpbHRlcnNUb0FwcGx5QXRSZWdpc3RyYXRpb24gPSBuZXcgTWFwPHN0cmluZywgRmlsdGVyPjtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9zZWFyY2hJbnB1dHMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxTZWFyY2hJbnB1dFtdPihbXSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3NlYXJjaFN0YXRlcyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFNlYXJjaElucHV0U3RhdGVbXT4oW10pO1xuICBwcml2YXRlIHJlYWRvbmx5IF9maWx0ZXJDb250ZXh0JCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8RmlsdGVyQ29udGV4dD4obnVsbCk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfc2VhcmNoQ29udGV4dCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFNlYXJjaENvbnRleHQ+KFNlYXJjaENvbnRleHQuc3RhbmRhbG9uZSgpKTtcbiAgcHJpdmF0ZSByZWFkb25seSBzZWFyY2hDb250ZXh0SWQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KG51bGwpO1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBDb25zdHJ1Y3RvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHNlYXJjaENvbnRleHRTZXJ2aWNlOiBTZWFyY2hDb250ZXh0U2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3lSZWY6IERlc3Ryb3lSZWZcbiAgKSB7XG4gICAgdGhpcy5zZWFyY2hDb250ZXh0SWQkLnBpcGUoXG4gICAgICB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSxcbiAgICAgIGZpbHRlcihjb250ZXh0SWQgPT4gISFjb250ZXh0SWQpLFxuICAgICAgbWFwKGNvbnRleHRJZCA9PiBzZWFyY2hDb250ZXh0U2VydmljZS5jb250ZXh0KGNvbnRleHRJZCkpLFxuICAgICkuc3Vic2NyaWJlKGN0eCA9PiB0aGlzLl9zZWFyY2hDb250ZXh0JC5uZXh0KGN0eCkpO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIExpZmUgQ3ljbGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuYXBwbHlEZWZhdWx0RmlsdGVyc1RvU2VhcmNoQ29udGV4dCgpO1xuICAgIHRoaXMuc3luY1NlYXJjaENvbnRleHRUb0JvdW5kRmlsdGVyQ29udGV4dCgpO1xuICB9XG5cbiAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBjb25zdCBzZWFyY2hDb250ZXh0ID0gdGhpcy5zZWFyY2hDb250ZXh0O1xuICAgIHRoaXMuYXBwbHlTZWFyY2hDb250ZXh0VG9JbnB1dHMoc2VhcmNoQ29udGV4dCk7XG4gICAgdGhpcy5zeW5jU2VhcmNoSW5wdXRzVG9TZWFyY2hDb250ZXh0KCk7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJvcGVydGllcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHNlYXJjaENvbnRleHRJZChjb250ZXh0SWQ6IHN0cmluZykge1xuICAgIHRoaXMuc2VhcmNoQ29udGV4dElkJC5uZXh0KGNvbnRleHRJZCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHNlYXJjaENvbnRleHRJZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnNlYXJjaENvbnRleHRJZCQuZ2V0VmFsdWUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc2VhcmNoQ29udGV4dCQoKTogT2JzZXJ2YWJsZTxTZWFyY2hDb250ZXh0PiB7XG4gICAgcmV0dXJuIHRoaXMuX3NlYXJjaENvbnRleHQkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBzZWFyY2hDb250ZXh0KCk6IFNlYXJjaENvbnRleHQge1xuICAgIHJldHVybiB0aGlzLl9zZWFyY2hDb250ZXh0JC5nZXRWYWx1ZSgpO1xuICB9XG5cbiAgQElucHV0KCdlbGRlclNlYXJjaENvbnRleHQnKVxuICBwdWJsaWMgc2V0IGZpbHRlckNvbnRleHQodmFsdWU6IEZpbHRlckNvbnRleHQgfCAnJykge1xuICAgIGxldCBjb250ZXh0OiBGaWx0ZXJDb250ZXh0O1xuICAgIGlmICh2YWx1ZSkge1xuICAgICAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gJ3N0cmluZycpIHtcbiAgICAgICAgY29udGV4dCA9IHZhbHVlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5sb2cud2FybignSWxsZWdhbCB2YWx1ZSBwcm92aWRlZCBmb3IgcHJvcGVydHkgZmlsdGVyQ29udGV4dDogJywgSlNPTi5zdHJpbmdpZnkodmFsdWUpKTtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbGxlZ2FsIHZhbHVlIHByb3ZpZGVkIGZvciBwcm9wZXJ0eSBmaWx0ZXJDb250ZXh0ISAnICsgdmFsdWUpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBjb250ZXh0ID0gRmlsdGVyQ29udGV4dC5lbXB0eSgpO1xuICAgIH1cbiAgICB0aGlzLl9maWx0ZXJDb250ZXh0JC5uZXh0KGNvbnRleHQpO1xuICB9XG5cbiAgcHVibGljIGdldCBmaWx0ZXJDb250ZXh0KCk6IEZpbHRlckNvbnRleHQge1xuICAgIHJldHVybiB0aGlzLl9maWx0ZXJDb250ZXh0JC5nZXRWYWx1ZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEZvcmNlZCBmaWx0ZXJzIGFyZSBhbHdheXMgbWVyZ2VkIGludG8gdGhlIGZpbmFsIEZpbHRlckNvbnRleHQuXG4gICAqXG4gICAqIFRoaXMgbWVhbnMgdGhleSBvdmVycmlkZSB1c2VyIGRlZmluZWQgZmlsdGVycywgYnV0IGF0dGVtcHRcbiAgICogdG8gYWxzbyBrZWVwIHRoZSB1c2VycyBpbnRlbnQgKGJ5IG1lcmdpbmcpIHRoZW0uXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGZvcmNlZEZpbHRlcnMoZmlsdGVyczogRmlsdGVyW10pIHtcbiAgICB0aGlzLnNlYXJjaENvbnRleHQucmVwbGFjZUZvcmNlZEZpbHRlcnMoZmlsdGVycyk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGZvcmNlZEZpbHRlcnMoKTogRmlsdGVyW10ge1xuICAgIHJldHVybiB0aGlzLnNlYXJjaENvbnRleHQuZm9yY2VkRmlsdGVycztcbiAgfVxuXG4gIHB1YmxpYyBnZXQgYXR0cmlidXRlcygpOiBPYnNlcnZhYmxlPFNlYXJjaElucHV0W10+IHtcbiAgICByZXR1cm4gdGhpcy5fc2VhcmNoSW5wdXRzJC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgYXR0cmlidXRlc1NuYXBzaG90KCk6IFNlYXJjaElucHV0W10ge1xuICAgIHJldHVybiB0aGlzLl9zZWFyY2hJbnB1dHMkLmdldFZhbHVlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHN0YXRlcyQoKTogT2JzZXJ2YWJsZTxTZWFyY2hJbnB1dFN0YXRlW10+IHtcbiAgICByZXR1cm4gdGhpcy5fc2VhcmNoU3RhdGVzJC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc3RhdGVzU25hcHNob3QoKTogU2VhcmNoSW5wdXRTdGF0ZVtdIHtcbiAgICByZXR1cm4gdGhpcy5fc2VhcmNoU3RhdGVzJC5nZXRWYWx1ZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGN1cnJlbnQgdXNlciB0b3VjaGVkIGF0dHJpYnV0ZXMuIChpZ25vcmluZyBmYWxsYmFja3MpXG4gICAqL1xuICBwdWJsaWMgZ2V0IHVzZXJEZWZpbmVkQXR0cmlidXRlcyQoKTogT2JzZXJ2YWJsZTxTZWFyY2hJbnB1dFN0YXRlW10+IHtcbiAgICByZXR1cm4gdGhpcy5zdGF0ZXMkLnBpcGUoXG4gICAgICBtYXAoc3RhdGVzID0+XG4gICAgICAgIHN0YXRlc1xuICAgICAgICAgIC5maWx0ZXIocyA9PiAhcy5wcmlzdGluZSlcbiAgICAgICAgICAuZmlsdGVyKHMgPT4gIXMuaGFzRmFsbGJhY2tWYWx1ZSlcbiAgICAgIClcbiAgICApO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFB1YmxpYyBBUEkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgLyoqXG4gICAqIFJlZ2lzdGVyIGEgbmV3IHNlYXJjaCBuYW1lIGluIHRoaXMgY29udGFpbmVyXG4gICAqL1xuICBwdWJsaWMgcmVnaXN0ZXIoc2VhcmNoSW5wdXQ6IFNlYXJjaElucHV0KTogdm9pZCB7XG4gICAgY29uc3QgY3VycmVudCA9IHRoaXMuX3NlYXJjaElucHV0cyQuZ2V0VmFsdWUoKTtcbiAgICBjb25zdCB0b0FwcGx5ID0gdGhpcy5maWx0ZXJzVG9BcHBseUF0UmVnaXN0cmF0aW9uLmdldChzZWFyY2hJbnB1dC5uYW1lKTtcbiAgICBpZiAodG9BcHBseSkge1xuICAgICAgc2VhcmNoSW5wdXQuc2V0VmFsdWUodG9BcHBseS52YWx1ZSk7XG4gICAgfVxuICAgIHRoaXMubG9nLmRlYnVnKCdSZWdpc3RlcmluZyBzZWFyY2ggaW5wdXQgWycgKyBzZWFyY2hJbnB1dC5uYW1lICsgJ10uIExhdGUgcmVnaXN0cmF0aW9uIHZhbHVlOicgKyB0b0FwcGx5Py52YWx1ZSk7XG4gICAgdGhpcy5fc2VhcmNoSW5wdXRzJC5uZXh0KFsuLi5jdXJyZW50LCBzZWFyY2hJbnB1dF0pO1xuICB9XG5cbiAgcHVibGljIHJlc2V0KCk6IHZvaWQge1xuICAgIHRoaXMuYXR0cmlidXRlc1NuYXBzaG90XG4gICAgICAuZmlsdGVyKGF0dHIgPT4gIWF0dHIucmVhZG9ubHkpXG4gICAgICAuZm9yRWFjaChhID0+IHtcbiAgICAgICAgYS5yZXNldCgpO1xuICAgICAgfSk7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJpdmF0ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIGFwcGx5RGVmYXVsdEZpbHRlcnNUb1NlYXJjaENvbnRleHQoKTogdm9pZCB7XG5cbiAgICBjb25zdCBkY0ZpbHRlcnMgPSB0aGlzLmZpbHRlckNvbnRleHQ7XG4gICAgY29uc3Qgc2VhcmNoQ29udGV4dCA9IHRoaXMuc2VhcmNoQ29udGV4dDtcbiAgICBpZiAoc2VhcmNoQ29udGV4dC51c2VyRmlsdGVycy5sZW5ndGggPT09IDApIHtcbiAgICAgIHRoaXMuYXBwbHlBc0RlZmF1bHRzVW50aWxVc2VyQWN0aW9uKHNlYXJjaENvbnRleHQsIGRjRmlsdGVycyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGRjRmlsdGVycy5yZXBsYWNlRmlsdGVycyhcbiAgICAgICAgc2VhcmNoQ29udGV4dC51c2VyRmlsdGVyc1xuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFwcGx5QXNEZWZhdWx0c1VudGlsVXNlckFjdGlvbihcbiAgICBzZWFyY2hDb250ZXh0OiBTZWFyY2hDb250ZXh0LFxuICAgIGRjRmlsdGVyczogRmlsdGVyQ29udGV4dFxuICApOiB2b2lkIHtcbiAgICBkY0ZpbHRlcnMuZmlsdGVycy5waXBlKFxuICAgICAgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZiksXG4gICAgICBtYXAoZmlsdGVycyA9PiBzZWFyY2hDb250ZXh0LnVwZGF0ZVVzZXJGaWx0ZXJzU2F2ZShmaWx0ZXJzKSksXG4gICAgICAvLyB0YWtlV2hpbGUoYWNjZXB0RGVmYXVsdEZpbHRlcnMgPT4gYWNjZXB0RGVmYXVsdEZpbHRlcnMpXG4gICAgKS5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHByaXZhdGUgc3luY1NlYXJjaElucHV0c1RvU2VhcmNoQ29udGV4dCgpOiB2b2lkIHtcblxuICAgIHRoaXMuX3NlYXJjaElucHV0cyQucGlwZShcbiAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpLFxuICAgICAgc3dpdGNoTWFwKGlucHV0cyA9PiBjb21iaW5lTGF0ZXN0KGlucHV0cy5tYXAoaSA9PiBpLnN0YXRlJCkpKSxcbiAgICAgIGRlYm91bmNlVGltZSg1KVxuICAgICkuc3Vic2NyaWJlKHN0YXRlcyA9PiB7XG4gICAgICAvLy8gdGhpcy5sb2cuZXJyb3IoJ1NlYXJjaElucHV0U3RhdGVzIENoYW5nZWQ6ICcsIHN0YXRlcyk7XG4gICAgICB0aGlzLl9zZWFyY2hTdGF0ZXMkLm5leHQoc3RhdGVzKTtcbiAgICB9KTtcblxuICAgIGNvbnN0IGlucHV0RmlsdGVycyQgPSB0aGlzLl9zZWFyY2hTdGF0ZXMkLnBpcGUoXG4gICAgICBtYXAoc3RhdGVzID0+IHRoaXMuY29udmVydFRvRmlsdGVycyhzdGF0ZXMpKSxcbiAgICAgIGZpbHRlcihmaWx0ZXJzID0+IGZpbHRlcnMubGVuZ3RoID4gMClcbiAgICApO1xuXG4gICAgaW5wdXRGaWx0ZXJzJFxuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpLFxuICAgICAgICBjb21iaW5lTGF0ZXN0V2l0aCh0aGlzLl9zZWFyY2hDb250ZXh0JClcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKFtpbnB1dEZpbHRlcnMsIHNlYXJjaENvbnRleHRdKSA9PiB7XG4gICAgICAgIHNlYXJjaENvbnRleHQudXBkYXRlVXNlckZpbHRlcnMoaW5wdXRGaWx0ZXJzKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBzeW5jU2VhcmNoQ29udGV4dFRvQm91bmRGaWx0ZXJDb250ZXh0KCk6IHZvaWQge1xuICAgIHRoaXMuX3NlYXJjaENvbnRleHQkLnBpcGUoXG4gICAgICB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSxcbiAgICAgIHN3aXRjaE1hcChjb250ZXh0ID0+IGNvbnRleHQuYWxsRmlsdGVyc0NoYW5nZWQpXG4gICAgKS5zdWJzY3JpYmUoYWxsRmlsdGVycyA9PiB0aGlzLmFwcGx5VG9Cb3VuZEZpbHRlckNvbnRleHQoYWxsRmlsdGVycykpO1xuICB9XG5cbiAgcHJpdmF0ZSBhcHBseVRvQm91bmRGaWx0ZXJDb250ZXh0KGZpbHRlcnM6IEZpbHRlcltdKTogdm9pZCB7XG4gICAgY29uc3QgZmlsdGVyQ3R4ID0gdGhpcy5maWx0ZXJDb250ZXh0O1xuICAgIGlmIChmaWx0ZXJDdHgpIHtcbiAgICAgIGZpbHRlckN0eC5yZXBsYWNlRmlsdGVycyhmaWx0ZXJzKTtcbiAgICAgIHRoaXMubG9nLmRlYnVnKCdBcHBsaWVkIEZpbHRlcnMgb2YgU2VhcmNoQ29udGV4dCAnICsgdGhpcy5zZWFyY2hDb250ZXh0SWQgKyAnIHRvIERhdGFDb250ZXh0IEZpbHRlckNvbnRleHQuJywgZmlsdGVycyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubG9nLndhcm4oJ0ZhaWxlZCB0byBhcHBseSBmaWx0ZXJzIHNpbmNlIG5vIEZpbHRlckNvbnRleHQgaXMgYXZhaWxhYmxlIScsIGZpbHRlcnMpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXBwbHlTZWFyY2hDb250ZXh0VG9JbnB1dHMoc2VhcmNoQ29udGV4dDogU2VhcmNoQ29udGV4dCk6IHZvaWQge1xuICAgIHRoaXMuYXBwbHlGaWx0ZXJzVG9JbnB1dHMoXG4gICAgICBzZWFyY2hDb250ZXh0LnVzZXJGaWx0ZXJzXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgYXBwbHlGaWx0ZXJzVG9JbnB1dHMoZmlsdGVyczogRmlsdGVyW10pOiB2b2lkIHtcbiAgICBpZiAoZmlsdGVycy5sZW5ndGggPiAwKSB7XG4gICAgICBjb25zdCBpbnB1dHNCeU5hbWUgPSB0aGlzLnNlYXJjaElucHV0c0J5TmFtZSgpO1xuICAgICAgdGhpcy5sb2cud2FybignYXBwbHlGaWx0ZXJzVG9JbnB1dHMgWycgKyBBcnJheS5mcm9tKGlucHV0c0J5TmFtZS5rZXlzKCkpICsgJ10nLCB7XG4gICAgICAgIGZpbHRlcnM6IGZpbHRlcnMsXG4gICAgICAgIGlucHV0c0J5TmFtZTogaW5wdXRzQnlOYW1lXG4gICAgICB9KTtcbiAgICAgIGZpbHRlcnMuZm9yRWFjaChmID0+IHtcbiAgICAgICAgY29uc3QgaW5wdXQgPSBpbnB1dHNCeU5hbWUuZ2V0KGYua2V5KTtcbiAgICAgICAgaWYgKGlucHV0KSB7XG4gICAgICAgICAgaW5wdXQuc2V0VmFsdWUoZi52YWx1ZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5maWx0ZXJzVG9BcHBseUF0UmVnaXN0cmF0aW9uLnNldChmLmtleSwgZik7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2VhcmNoSW5wdXRzQnlOYW1lKCk6IE1hcDxzdHJpbmcsIFNlYXJjaElucHV0PiB7XG4gICAgY29uc3QgaW5wdXRzID0gdGhpcy5fc2VhcmNoSW5wdXRzJC5nZXRWYWx1ZSgpO1xuICAgIGNvbnN0IG1hcCA9IG5ldyBNYXA8c3RyaW5nLCBTZWFyY2hJbnB1dD4oKTtcbiAgICBpbnB1dHMuZm9yRWFjaChpbnB1dCA9PiBtYXAuc2V0KGlucHV0Lm5hbWUsIGlucHV0KSk7XG4gICAgcmV0dXJuIG1hcDtcbiAgfVxuXG4gIHByaXZhdGUgY29udmVydFRvRmlsdGVycyhzdGF0ZXM6IFNlYXJjaElucHV0U3RhdGVbXSk6IEZpbHRlcltdIHtcbiAgICByZXR1cm4gc3RhdGVzXG4gICAgICAuZmlsdGVyKHMgPT4gKHMudXNlckV2ZW50IHx8IHMuaGFzRmFsbGJhY2tWYWx1ZSkpXG4gICAgICAuZmlsdGVyKHMgPT4gISFzLnF1ZXJ5S2V5KVxuICAgICAgLm1hcChzID0+IG5ldyBGaWx0ZXIocy5xdWVyeUtleSwgcy5xdWVyeVZhbHVlKSk7XG4gIH1cbn1cblxuIl19
240
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItc2VhcmNoLWNvbnRleHQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy9mb3Jtcy9zZWFyY2gvZWxkZXItc2VhcmNoLWNvbnRleHQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBNEIsU0FBUyxFQUFFLEtBQUssRUFBUyxNQUFNLGVBQWUsQ0FBQztBQUNsRixPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDbkQsT0FBTyxFQUFDLGlCQUFpQixFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3ZGLE9BQU8sRUFBQyxlQUFlLEVBQWMsYUFBYSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBRWhFLE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUMzRCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sNkNBQTZDLENBQUM7QUFHMUUsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBQzlELE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDRCQUE0QixDQUFDOzs7QUFFOUQ7Ozs7OztHQU1HO0FBTUgsTUFBTSxPQUFPLDJCQUEyQjtJQW1CdEM7Ozs7Z0ZBSTRFO0lBRTVFLFlBQ0Usb0JBQTBDLEVBQ3pCLFVBQXNCO1FBQXRCLGVBQVUsR0FBVixVQUFVLENBQVk7UUF6QnpDOzs7O29GQUk0RTtRQUUzRCxRQUFHLEdBQUcsYUFBYSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXJELGlDQUE0QixHQUFHLElBQUksR0FBbUIsQ0FBQztRQUV2RCxtQkFBYyxHQUFHLElBQUksZUFBZSxDQUFn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Q0o7SUFDSCxDQUFDO0lBRU8sa0JBQWtCO1FBQ3hCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDOUMsTUFBTSxHQUFHLEdBQUcsSUFBSSxHQUFHLEVBQXVCLENBQUM7UUFDM0MsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ3BELE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUVPLGdCQUFnQixDQUFDLE1BQTBCO1FBQ2pELE9BQU8sTUFBTTthQUNWLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsSUFBSSxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQzthQUNoRCxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQzthQUN6QixHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO0lBQ3BELENBQUM7OEdBcFJVLDJCQUEyQjtrR0FBM0IsMkJBQTJCOzsyRkFBM0IsMkJBQTJCO2tCQUx2QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxzQkFBc0I7b0JBQ2hDLFFBQVEsRUFBRSxvQkFBb0I7b0JBQzlCLFVBQVUsRUFBRSxJQUFJO2lCQUNqQjtrSEE2RFksZUFBZTtzQkFEekIsS0FBSztnQkFrQkssYUFBYTtzQkFEdkIsS0FBSzt1QkFBQyxvQkFBb0I7Z0JBMkJoQixhQUFhO3NCQUR2QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBZnRlclZpZXdJbml0LCBEZXN0cm95UmVmLCBEaXJlY3RpdmUsIElucHV0LCBPbkluaXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtMb2dnZXJGYWN0b3J5fSBmcm9tICdAZWxkZXJieXRlL3RzLWxvZ2dlcic7XG5pbXBvcnQge2NvbWJpbmVMYXRlc3RXaXRoLCBkZWJvdW5jZVRpbWUsIGZpbHRlciwgbWFwLCBzd2l0Y2hNYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBjb21iaW5lTGF0ZXN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7U2VhcmNoSW5wdXR9IGZyb20gJy4vZG9tYWluL2lucHV0L3NlYXJjaC1pbnB1dCc7XG5pbXBvcnQge0ZpbHRlcn0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2RhdGEvZmlsdGVycy9maWx0ZXInO1xuaW1wb3J0IHtGaWx0ZXJDb250ZXh0fSBmcm9tICcuLi8uLi8uLi9jb21tb24vZGF0YS9maWx0ZXJzL2ZpbHRlci1jb250ZXh0JztcbmltcG9ydCB7U2VhcmNoSW5wdXRTdGF0ZX0gZnJvbSAnLi9kb21haW4vaW5wdXQvc2VhcmNoLWlucHV0LXN0YXRlJztcbmltcG9ydCB7U2VhcmNoQ29udGV4dFNlcnZpY2V9IGZyb20gJy4vZG9tYWluL2NvbnRleHQvc2VhcmNoLWNvbnRleHQuc2VydmljZSc7XG5pbXBvcnQge1NlYXJjaENvbnRleHR9IGZyb20gJy4vZG9tYWluL2NvbnRleHQvc2VhcmNoLWNvbnRleHQnO1xuaW1wb3J0IHt0YWtlVW50aWxEZXN0cm95ZWR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcblxuLyoqXG4gKiBUaGUgU2VhcmNoQ29udGV4dERpcmVjdGl2ZSBiaW5kcyBhIGdyb3VwIG9mIHNlYXJjaC1pbnB1dHNcbiAqIHRvIGEgU2VhcmNoQ29udGV4dCB3aXRoIGEgdHdvLXdheSBiaW5kaW5nLlxuICpcbiAqIEl0IGFsc28gYmluZHMgdGhlIFNlYXJjaENvbnRleHQgdG8gYSBGaWx0ZXJDb250ZXh0IChEYXRhQ29udGV4dCkuXG4gKiBUT0RPIE1heWJlIHNlcGFyYXRlIHRoaXM/P1xuICovXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbZWxkZXJTZWFyY2hDb250ZXh0XScsXG4gIGV4cG9ydEFzOiAnZWxkZXJTZWFyY2hDb250ZXh0JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBFbGRlclNlYXJjaENvbnRleHREaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBGaWVsZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgbG9nID0gTG9nZ2VyRmFjdG9yeS5nZXRMb2dnZXIodGhpcy5jb25zdHJ1Y3Rvci5uYW1lKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IGZpbHRlcnNUb0FwcGx5QXRSZWdpc3RyYXRpb24gPSBuZXcgTWFwPHN0cmluZywgRmlsdGVyPjtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9zZWFyY2hJbnB1dHMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxTZWFyY2hJbnB1dFtdPihbXSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3NlYXJjaFN0YXRlcyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFNlYXJjaElucHV0U3RhdGVbXT4oW10pO1xuICBwcml2YXRlIHJlYWRvbmx5IF9maWx0ZXJDb250ZXh0JCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8RmlsdGVyQ29udGV4dD4obnVsbCk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfc2VhcmNoQ29udGV4dCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFNlYXJjaENvbnRleHQ+KFNlYXJjaENvbnRleHQuc3RhbmRhbG9uZSgpKTtcbiAgcHJpdmF0ZSByZWFkb25seSBzZWFyY2hDb250ZXh0SWQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KG51bGwpO1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBDb25zdHJ1Y3RvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHNlYXJjaENvbnRleHRTZXJ2aWNlOiBTZWFyY2hDb250ZXh0U2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3lSZWY6IERlc3Ryb3lSZWZcbiAgKSB7XG4gICAgdGhpcy5zZWFyY2hDb250ZXh0SWQkLnBpcGUoXG4gICAgICB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSxcbiAgICAgIGZpbHRlcihjb250ZXh0SWQgPT4gISFjb250ZXh0SWQpLFxuICAgICAgbWFwKGNvbnRleHRJZCA9PiBzZWFyY2hDb250ZXh0U2VydmljZS5jb250ZXh0KGNvbnRleHRJZCkpLFxuICAgICkuc3Vic2NyaWJlKGN0eCA9PiB0aGlzLl9zZWFyY2hDb250ZXh0JC5uZXh0KGN0eCkpO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIExpZmUgQ3ljbGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuYXBwbHlEZWZhdWx0RmlsdGVyc1RvU2VhcmNoQ29udGV4dCgpO1xuICAgIHRoaXMuc3luY1NlYXJjaENvbnRleHRUb0JvdW5kRmlsdGVyQ29udGV4dCgpO1xuICB9XG5cbiAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBjb25zdCBzZWFyY2hDb250ZXh0ID0gdGhpcy5zZWFyY2hDb250ZXh0O1xuICAgIHRoaXMuYXBwbHlTZWFyY2hDb250ZXh0VG9JbnB1dHMoc2VhcmNoQ29udGV4dCk7XG4gICAgdGhpcy5zeW5jU2VhcmNoSW5wdXRzVG9TZWFyY2hDb250ZXh0KCk7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJvcGVydGllcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHNlYXJjaENvbnRleHRJZChjb250ZXh0SWQ6IHN0cmluZykge1xuICAgIHRoaXMuc2VhcmNoQ29udGV4dElkJC5uZXh0KGNvbnRleHRJZCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHNlYXJjaENvbnRleHRJZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnNlYXJjaENvbnRleHRJZCQuZ2V0VmFsdWUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc2VhcmNoQ29udGV4dCQoKTogT2JzZXJ2YWJsZTxTZWFyY2hDb250ZXh0PiB7XG4gICAgcmV0dXJuIHRoaXMuX3NlYXJjaENvbnRleHQkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBzZWFyY2hDb250ZXh0KCk6IFNlYXJjaENvbnRleHQge1xuICAgIHJldHVybiB0aGlzLl9zZWFyY2hDb250ZXh0JC5nZXRWYWx1ZSgpO1xuICB9XG5cbiAgQElucHV0KCdlbGRlclNlYXJjaENvbnRleHQnKVxuICBwdWJsaWMgc2V0IGZpbHRlckNvbnRleHQodmFsdWU6IEZpbHRlckNvbnRleHQgfCAnJykge1xuICAgIGxldCBjb250ZXh0OiBGaWx0ZXJDb250ZXh0O1xuICAgIGlmICh2YWx1ZSkge1xuICAgICAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gJ3N0cmluZycpIHtcbiAgICAgICAgY29udGV4dCA9IHZhbHVlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5sb2cud2FybignSWxsZWdhbCB2YWx1ZSBwcm92aWRlZCBmb3IgcHJvcGVydHkgZmlsdGVyQ29udGV4dDogJywgSlNPTi5zdHJpbmdpZnkodmFsdWUpKTtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbGxlZ2FsIHZhbHVlIHByb3ZpZGVkIGZvciBwcm9wZXJ0eSBmaWx0ZXJDb250ZXh0ISAnICsgdmFsdWUpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBjb250ZXh0ID0gRmlsdGVyQ29udGV4dC5lbXB0eSgpO1xuICAgIH1cbiAgICB0aGlzLl9maWx0ZXJDb250ZXh0JC5uZXh0KGNvbnRleHQpO1xuICB9XG5cbiAgcHVibGljIGdldCBmaWx0ZXJDb250ZXh0KCk6IEZpbHRlckNvbnRleHQge1xuICAgIHJldHVybiB0aGlzLl9maWx0ZXJDb250ZXh0JC5nZXRWYWx1ZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEZvcmNlZCBmaWx0ZXJzIGFyZSBhbHdheXMgbWVyZ2VkIGludG8gdGhlIGZpbmFsIEZpbHRlckNvbnRleHQuXG4gICAqXG4gICAqIFRoaXMgbWVhbnMgdGhleSBvdmVycmlkZSB1c2VyIGRlZmluZWQgZmlsdGVycywgYnV0IGF0dGVtcHRcbiAgICogdG8gYWxzbyBrZWVwIHRoZSB1c2VycyBpbnRlbnQgKGJ5IG1lcmdpbmcpIHRoZW0uXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGZvcmNlZEZpbHRlcnMoZmlsdGVyczogRmlsdGVyW10pIHtcbiAgICB0aGlzLnNlYXJjaENvbnRleHQucmVwbGFjZUZvcmNlZEZpbHRlcnMoZmlsdGVycyk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGZvcmNlZEZpbHRlcnMoKTogRmlsdGVyW10ge1xuICAgIHJldHVybiB0aGlzLnNlYXJjaENvbnRleHQuZm9yY2VkRmlsdGVycztcbiAgfVxuXG4gIHB1YmxpYyBnZXQgYXR0cmlidXRlcygpOiBPYnNlcnZhYmxlPFNlYXJjaElucHV0W10+IHtcbiAgICByZXR1cm4gdGhpcy5fc2VhcmNoSW5wdXRzJC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgYXR0cmlidXRlc1NuYXBzaG90KCk6IFNlYXJjaElucHV0W10ge1xuICAgIHJldHVybiB0aGlzLl9zZWFyY2hJbnB1dHMkLmdldFZhbHVlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHN0YXRlcyQoKTogT2JzZXJ2YWJsZTxTZWFyY2hJbnB1dFN0YXRlW10+IHtcbiAgICByZXR1cm4gdGhpcy5fc2VhcmNoU3RhdGVzJC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc3RhdGVzU25hcHNob3QoKTogU2VhcmNoSW5wdXRTdGF0ZVtdIHtcbiAgICByZXR1cm4gdGhpcy5fc2VhcmNoU3RhdGVzJC5nZXRWYWx1ZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGN1cnJlbnQgdXNlciB0b3VjaGVkIGF0dHJpYnV0ZXMuIChpZ25vcmluZyBmYWxsYmFja3MpXG4gICAqL1xuICBwdWJsaWMgZ2V0IHVzZXJEZWZpbmVkQXR0cmlidXRlcyQoKTogT2JzZXJ2YWJsZTxTZWFyY2hJbnB1dFN0YXRlW10+IHtcbiAgICByZXR1cm4gdGhpcy5zdGF0ZXMkLnBpcGUoXG4gICAgICBtYXAoc3RhdGVzID0+XG4gICAgICAgIHN0YXRlc1xuICAgICAgICAgIC5maWx0ZXIocyA9PiAhcy5wcmlzdGluZSlcbiAgICAgICAgICAuZmlsdGVyKHMgPT4gIXMuaGFzRmFsbGJhY2tWYWx1ZSlcbiAgICAgIClcbiAgICApO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFB1YmxpYyBBUEkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgLyoqXG4gICAqIFJlZ2lzdGVyIGEgbmV3IHNlYXJjaCBuYW1lIGluIHRoaXMgY29udGFpbmVyXG4gICAqL1xuICBwdWJsaWMgcmVnaXN0ZXIoc2VhcmNoSW5wdXQ6IFNlYXJjaElucHV0KTogdm9pZCB7XG4gICAgY29uc3QgY3VycmVudCA9IHRoaXMuX3NlYXJjaElucHV0cyQuZ2V0VmFsdWUoKTtcbiAgICBjb25zdCB0b0FwcGx5ID0gdGhpcy5maWx0ZXJzVG9BcHBseUF0UmVnaXN0cmF0aW9uLmdldChzZWFyY2hJbnB1dC5uYW1lKTtcbiAgICBpZiAodG9BcHBseSkge1xuICAgICAgc2VhcmNoSW5wdXQuc2V0VmFsdWUodG9BcHBseS52YWx1ZSk7XG4gICAgfVxuICAgIHRoaXMubG9nLmRlYnVnKCdSZWdpc3RlcmluZyBzZWFyY2ggaW5wdXQgWycgKyBzZWFyY2hJbnB1dC5uYW1lICsgJ10uIExhdGUgcmVnaXN0cmF0aW9uIHZhbHVlOicgKyB0b0FwcGx5Py52YWx1ZSk7XG4gICAgdGhpcy5fc2VhcmNoSW5wdXRzJC5uZXh0KFsuLi5jdXJyZW50LCBzZWFyY2hJbnB1dF0pO1xuICB9XG5cbiAgcHVibGljIHJlc2V0KCk6IHZvaWQge1xuICAgIHRoaXMuYXR0cmlidXRlc1NuYXBzaG90XG4gICAgICAuZmlsdGVyKGF0dHIgPT4gIWF0dHIucmVhZG9ubHkpXG4gICAgICAuZm9yRWFjaChhID0+IHtcbiAgICAgICAgYS5yZXNldCgpO1xuICAgICAgfSk7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJpdmF0ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIGFwcGx5RGVmYXVsdEZpbHRlcnNUb1NlYXJjaENvbnRleHQoKTogdm9pZCB7XG5cbiAgICBjb25zdCBkY0ZpbHRlcnMgPSB0aGlzLmZpbHRlckNvbnRleHQ7XG4gICAgY29uc3Qgc2VhcmNoQ29udGV4dCA9IHRoaXMuc2VhcmNoQ29udGV4dDtcbiAgICBpZiAoc2VhcmNoQ29udGV4dC51c2VyRmlsdGVycy5sZW5ndGggPT09IDApIHtcbiAgICAgIHRoaXMuYXBwbHlBc0RlZmF1bHRzVW50aWxVc2VyQWN0aW9uKHNlYXJjaENvbnRleHQsIGRjRmlsdGVycyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGRjRmlsdGVycy5yZXBsYWNlRmlsdGVycyhcbiAgICAgICAgc2VhcmNoQ29udGV4dC51c2VyRmlsdGVyc1xuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFwcGx5QXNEZWZhdWx0c1VudGlsVXNlckFjdGlvbihcbiAgICBzZWFyY2hDb250ZXh0OiBTZWFyY2hDb250ZXh0LFxuICAgIGRjRmlsdGVyczogRmlsdGVyQ29udGV4dFxuICApOiB2b2lkIHtcbiAgICBkY0ZpbHRlcnMuZmlsdGVycy5waXBlKFxuICAgICAgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZiksXG4gICAgICBtYXAoZmlsdGVycyA9PiBzZWFyY2hDb250ZXh0LnVwZGF0ZVVzZXJGaWx0ZXJzU2F2ZShmaWx0ZXJzKSksXG4gICAgICAvLyB0YWtlV2hpbGUoYWNjZXB0RGVmYXVsdEZpbHRlcnMgPT4gYWNjZXB0RGVmYXVsdEZpbHRlcnMpXG4gICAgKS5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHByaXZhdGUgc3luY1NlYXJjaElucHV0c1RvU2VhcmNoQ29udGV4dCgpOiB2b2lkIHtcblxuICAgIHRoaXMuX3NlYXJjaElucHV0cyQucGlwZShcbiAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpLFxuICAgICAgc3dpdGNoTWFwKGlucHV0cyA9PiBjb21iaW5lTGF0ZXN0KGlucHV0cy5tYXAoaSA9PiBpLnN0YXRlJCkpKSxcbiAgICAgIGRlYm91bmNlVGltZSg1KVxuICAgICkuc3Vic2NyaWJlKHN0YXRlcyA9PiB7XG4gICAgICAvLy8gdGhpcy5sb2cuZXJyb3IoJ1NlYXJjaElucHV0U3RhdGVzIENoYW5nZWQ6ICcsIHN0YXRlcyk7XG4gICAgICB0aGlzLl9zZWFyY2hTdGF0ZXMkLm5leHQoc3RhdGVzKTtcbiAgICB9KTtcblxuICAgIGNvbnN0IGlucHV0RmlsdGVycyQgPSB0aGlzLl9zZWFyY2hTdGF0ZXMkLnBpcGUoXG4gICAgICBtYXAoc3RhdGVzID0+IHRoaXMuY29udmVydFRvRmlsdGVycyhzdGF0ZXMpKSxcbiAgICAgIGZpbHRlcihmaWx0ZXJzID0+IGZpbHRlcnMubGVuZ3RoID4gMClcbiAgICApO1xuXG4gICAgaW5wdXRGaWx0ZXJzJFxuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpLFxuICAgICAgICBjb21iaW5lTGF0ZXN0V2l0aCh0aGlzLl9zZWFyY2hDb250ZXh0JClcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKFtpbnB1dEZpbHRlcnMsIHNlYXJjaENvbnRleHRdKSA9PiB7XG4gICAgICAgIHNlYXJjaENvbnRleHQudXBkYXRlVXNlckZpbHRlcnMoaW5wdXRGaWx0ZXJzKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBzeW5jU2VhcmNoQ29udGV4dFRvQm91bmRGaWx0ZXJDb250ZXh0KCk6IHZvaWQge1xuICAgIHRoaXMuX3NlYXJjaENvbnRleHQkLnBpcGUoXG4gICAgICB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSxcbiAgICAgIHN3aXRjaE1hcChjb250ZXh0ID0+IGNvbnRleHQuYWxsRmlsdGVyc0NoYW5nZWQpXG4gICAgKS5zdWJzY3JpYmUoYWxsRmlsdGVycyA9PiB0aGlzLmFwcGx5VG9Cb3VuZEZpbHRlckNvbnRleHQoYWxsRmlsdGVycykpO1xuICB9XG5cbiAgcHJpdmF0ZSBhcHBseVRvQm91bmRGaWx0ZXJDb250ZXh0KGZpbHRlcnM6IEZpbHRlcltdKTogdm9pZCB7XG4gICAgY29uc3QgZmlsdGVyQ3R4ID0gdGhpcy5maWx0ZXJDb250ZXh0O1xuICAgIGlmIChmaWx0ZXJDdHgpIHtcbiAgICAgIGZpbHRlckN0eC5yZXBsYWNlRmlsdGVycyhmaWx0ZXJzKTtcbiAgICAgIHRoaXMubG9nLmRlYnVnKCdBcHBsaWVkIEZpbHRlcnMgb2YgU2VhcmNoQ29udGV4dCAnICsgdGhpcy5zZWFyY2hDb250ZXh0SWQgKyAnIHRvIERhdGFDb250ZXh0IEZpbHRlckNvbnRleHQuJywgZmlsdGVycyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubG9nLndhcm4oJ0ZhaWxlZCB0byBhcHBseSBmaWx0ZXJzIHNpbmNlIG5vIEZpbHRlckNvbnRleHQgaXMgYXZhaWxhYmxlIScsIGZpbHRlcnMpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXBwbHlTZWFyY2hDb250ZXh0VG9JbnB1dHMoc2VhcmNoQ29udGV4dDogU2VhcmNoQ29udGV4dCk6IHZvaWQge1xuICAgIHRoaXMuYXBwbHlGaWx0ZXJzVG9JbnB1dHMoXG4gICAgICBzZWFyY2hDb250ZXh0LnVzZXJGaWx0ZXJzXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgYXBwbHlGaWx0ZXJzVG9JbnB1dHMoZmlsdGVyczogRmlsdGVyW10pOiB2b2lkIHtcbiAgICBpZiAoZmlsdGVycy5sZW5ndGggPiAwKSB7XG4gICAgICBjb25zdCBpbnB1dHNCeU5hbWUgPSB0aGlzLnNlYXJjaElucHV0c0J5TmFtZSgpO1xuICAgICAgdGhpcy5sb2cud2FybignYXBwbHlGaWx0ZXJzVG9JbnB1dHMgWycgKyBBcnJheS5mcm9tKGlucHV0c0J5TmFtZS5rZXlzKCkpICsgJ10nLCB7XG4gICAgICAgIGZpbHRlcnM6IGZpbHRlcnMsXG4gICAgICAgIGlucHV0c0J5TmFtZTogaW5wdXRzQnlOYW1lXG4gICAgICB9KTtcbiAgICAgIGZpbHRlcnMuZm9yRWFjaChmID0+IHtcbiAgICAgICAgY29uc3QgaW5wdXQgPSBpbnB1dHNCeU5hbWUuZ2V0KGYua2V5KTtcbiAgICAgICAgaWYgKGlucHV0KSB7XG4gICAgICAgICAgaW5wdXQuc2V0VmFsdWUoZi52YWx1ZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5maWx0ZXJzVG9BcHBseUF0UmVnaXN0cmF0aW9uLnNldChmLmtleSwgZik7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2VhcmNoSW5wdXRzQnlOYW1lKCk6IE1hcDxzdHJpbmcsIFNlYXJjaElucHV0PiB7XG4gICAgY29uc3QgaW5wdXRzID0gdGhpcy5fc2VhcmNoSW5wdXRzJC5nZXRWYWx1ZSgpO1xuICAgIGNvbnN0IG1hcCA9IG5ldyBNYXA8c3RyaW5nLCBTZWFyY2hJbnB1dD4oKTtcbiAgICBpbnB1dHMuZm9yRWFjaChpbnB1dCA9PiBtYXAuc2V0KGlucHV0Lm5hbWUsIGlucHV0KSk7XG4gICAgcmV0dXJuIG1hcDtcbiAgfVxuXG4gIHByaXZhdGUgY29udmVydFRvRmlsdGVycyhzdGF0ZXM6IFNlYXJjaElucHV0U3RhdGVbXSk6IEZpbHRlcltdIHtcbiAgICByZXR1cm4gc3RhdGVzXG4gICAgICAuZmlsdGVyKHMgPT4gKHMudXNlckV2ZW50IHx8IHMuaGFzRmFsbGJhY2tWYWx1ZSkpXG4gICAgICAuZmlsdGVyKHMgPT4gISFzLnF1ZXJ5S2V5KVxuICAgICAgLm1hcChzID0+IG5ldyBGaWx0ZXIocy5xdWVyeUtleSwgcy5xdWVyeVZhbHVlKSk7XG4gIH1cbn1cblxuIl19
@@ -228,13 +228,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImpor
228
228
  type: Input,
229
229
  args: ['elderSearchInput']
230
230
  }], dataSource: [{
231
- type: Input,
232
- args: ['dataSource']
231
+ type: Input
233
232
  }], fallbackValue: [{
234
233
  type: Input,
235
234
  args: ['elderSearchInputFallback']
236
235
  }], valueAsId: [{
237
- type: Input,
238
- args: ['valueAsId']
236
+ type: Input
239
237
  }] } });
240
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItc2VhcmNoLWlucHV0LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvZm9ybXMvc2VhcmNoL2VsZGVyLXNlYXJjaC1pbnB1dC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFnQixTQUFTLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBb0IsTUFBTSxlQUFlLENBQUM7QUFDdkYsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBS25ELE9BQU8sRUFBQyxZQUFZLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQWEsU0FBUyxFQUFpQixNQUFNLGdCQUFnQixDQUFDO0FBQ3JHLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLDBDQUEwQyxDQUFDO0FBQzFFLE9BQU8sRUFBa0IsTUFBTSxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ3JFLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQ25FLE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUNoRCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sdUNBQXVDLENBQUM7QUFHckUsT0FBTyxFQUFDLDBCQUEwQixFQUFDLE1BQU0sNkNBQTZDLENBQUM7Ozs7QUFHdkY7O0dBRUc7QUFNSCxNQUFNLE9BQU8seUJBQXlCO0lBOENwQzs7OztnRkFJNEU7SUFFNUUsWUFDVSxhQUEwQyxFQUNsQyxPQUFnQjtRQUR4QixrQkFBYSxHQUFiLGFBQWEsQ0FBNkI7UUFDbEMsWUFBTyxHQUFQLE9BQU8sQ0FBUztRQVhqQixhQUFRLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUMvQixRQUFHLEdBQUcsYUFB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QUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7YUFDM0I7aUJBQU07Z0JBQ0wsT0FBTyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7YUFDekI7U0FDRjthQUFNO1lBQ0wsT0FBTyxJQUFJLENBQUM7U0FDYjtJQUNILENBQUM7SUFFTyxXQUFXO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7SUFDM0IsQ0FBQztJQUVPLGlCQUFpQixDQUFDLE1BQTZCO1FBQ3JELE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDNUIsSUFBSSxDQUFDLFlBQVksS0FBSyxFQUFFO2dCQUN0QixPQUFPLENBQUMsQ0FBQzthQUNWO2lCQUFNO2dCQUNMLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUNaO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLGNBQWMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDeEMsQ0FBQzs4R0FwU1UseUJBQXlCO2tHQUF6Qix5QkFBeUI7OzJGQUF6Qix5QkFBeUI7a0JBTHJDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLG9CQUFvQjtvQkFDOUIsUUFBUSxFQUFFLGtCQUFrQjtvQkFDNUIsVUFBVSxFQUFFLElBQUk7aUJBQ25COzswQkF1REksSUFBSTt5Q0F4Q0EsUUFBUTtzQkFEZCxLQUFLO3VCQUFDLHFCQUFxQjtnQkFPckIsY0FBYztzQkFEcEIsS0FBSzt1QkFBQywyQkFBMkI7Z0JBUTNCLFdBQVc7c0JBRGpCLEtBQUs7dUJBQUMsa0JBQWtCO2dCQUlsQixVQUFVO3NCQURoQixLQUFLO3VCQUFDLFlBQVk7Z0JBT1osYUFBYTtzQkFEbkIsS0FBSzt1QkFBQywwQkFBMEI7Z0JBSTFCLFNBQVM7c0JBRGYsS0FBSzt1QkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBZnRlclZpZXdJbml0LCBEaXJlY3RpdmUsIEhvc3QsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0xvZ2dlckZhY3Rvcnl9IGZyb20gJ0BlbGRlcmJ5dGUvdHMtbG9nZ2VyJztcbmltcG9ydCB7RWxkZXJTZWFyY2hDb250ZXh0RGlyZWN0aXZlfSBmcm9tICcuL2VsZGVyLXNlYXJjaC1jb250ZXh0LmRpcmVjdGl2ZSc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMvaW50ZXJuYWwvT2JzZXJ2YWJsZSc7XG5pbXBvcnQge05nTW9kZWx9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7U2VhcmNoSW5wdXR9IGZyb20gJy4vZG9tYWluL2lucHV0L3NlYXJjaC1pbnB1dCc7XG5pbXBvcnQge2RlYm91bmNlVGltZSwgZGVsYXksIGZpcnN0LCBtYXAsIHN0YXJ0V2l0aCwgdGFrZVVudGlsLCB0YWtlV2hpbGUsIHRhcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtQcm9wZXJ0eVBhdGhVdGlsfSBmcm9tICcuLi8uLi8uLi9jb21tb24vdXRpbHMvcHJvcGVydHktcGF0aC11dGlsJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBjb25jYXQsIG9mLCBza2lwVW50aWwsIFN1YmplY3R9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtTZWFyY2hJbnB1dFN0YXRlfSBmcm9tICcuL2RvbWFpbi9pbnB1dC9zZWFyY2gtaW5wdXQtc3RhdGUnO1xuaW1wb3J0IHtPYmplY3RzfSBmcm9tICcuLi8uLi8uLi9jb21tb24vb2JqZWN0cyc7XG5pbXBvcnQge0NvbGxlY3Rpb25VdGlsfSBmcm9tICcuLi8uLi8uLi9jb21tb24vdXRpbHMvY29sbGVjdGlvbi11dGlsJztcbmltcG9ydCB7TG9jYWxQYWdlZERhdGFTb3VyY2V9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9kYXRhL2RhdGFzb3VyY2UvbG9jYWwvbG9jYWwtcGFnZWQtZGF0YS1zb3VyY2UnO1xuaW1wb3J0IHtCb29sZWFuSW5wdXR9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQge0VsZGVySW5pdGlhbFZhbHVlRGlyZWN0aXZlfSBmcm9tICcuLi9kaXJlY3RpdmVzL2VsZGVyLWluaXRpYWwtdmFsdWUuZGlyZWN0aXZlJztcbmltcG9ydCB7U2VhcmNoQ29udGV4dH0gZnJvbSAnLi9kb21haW4vY29udGV4dC9zZWFyY2gtY29udGV4dCc7XG5cbi8qKlxuICogU2VhcmNoIG5hbWUgYWRhcHRlciBmb3IgaW5wdXQgY29udHJvbHMuXG4gKi9cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2VsZGVyU2VhcmNoSW5wdXRdJyxcbiAgICBleHBvcnRBczogJ2VsZGVyU2VhcmNoSW5wdXQnLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgRWxkZXJTZWFyY2hJbnB1dERpcmVjdGl2ZSBpbXBsZW1lbnRzIFNlYXJjaElucHV0LCBPbkluaXQsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBpbml0aWFsVmFsdWVEaXJlY3RpdmU6IEVsZGVySW5pdGlhbFZhbHVlRGlyZWN0aXZlO1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBGaWVsZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIC8qKlxuICAgKiAoT3B0aW9uYWwpIFVzdWFsbHkgdGhlIGNvbnRyb2wgbmFtZSBpcyB1c2VkLCB0aGlzIGFsbG93cyBhIGN1c3RvbSBxdWVyeSBrZXlcbiAgICovXG4gIEBJbnB1dCgnZWxkZXJTZWFyY2hJbnB1dEtleScpXG4gIHB1YmxpYyBxdWVyeUtleTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiAoT3B0aW9uYWwpIEZ1bmN0aW9uIHdoaWNoIHRyYW5zZm9ybXMgdGhlIHZhbHVlIG9iamVjdCB0byBhIHF1ZXJ5IHBhcmFtIHZhbHVlXG4gICAqL1xuICBASW5wdXQoJ2VsZGVyU2VhcmNoSW5wdXRUcmFuc2Zvcm0nKVxuICBwdWJsaWMgdmFsdWVUcmFuc2Zvcm06ICgodmFsdWU6IGFueSkgPT4gc3RyaW5nIHwgc3RyaW5nW10gfCBudWxsKTtcblxuICAvKipcbiAgICogKE9wdGlvbmFsLCBEZWZhdWx0KSBQYXRoIG9uIHRoZSB2YWx1ZSBvYmplY3QgdG8gdXNlIGFzIHF1ZXJ5IHBhcmFtIHZhbHVlXG4gICAqICB2YWx1ZSA9IFwidHlwZS5pZFwiXG4gICAqL1xuICBASW5wdXQoJ2VsZGVyU2VhcmNoSW5wdXQnKVxuICBwdWJsaWMgcmVzb2x2ZVBhdGg6IHN0cmluZztcblxuICBASW5wdXQoJ2RhdGFTb3VyY2UnKVxuICBwdWJsaWMgZGF0YVNvdXJjZTogTG9jYWxQYWdlZERhdGFTb3VyY2U8YW55PjtcblxuICAvKipcbiAgICogKE9wdGlvbmFsKSBVc2UgdGhpcyB2YWx1ZSBmb3IgdGhlIHF1ZXJ5IGlmIG5vbmUgaXMgcHJvdmlkZWQuXG4gICAqL1xuICBASW5wdXQoJ2VsZGVyU2VhcmNoSW5wdXRGYWxsYmFjaycpXG4gIHB1YmxpYyBmYWxsYmFja1ZhbHVlOiBzdHJpbmcgfCBzdHJpbmdbXTtcblxuICBASW5wdXQoJ3ZhbHVlQXNJZCcpXG4gIHB1YmxpYyB2YWx1ZUFzSWQ6IEJvb2xlYW5JbnB1dDtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9zdGF0ZSQ6IE9ic2VydmFibGU8U2VhcmNoSW5wdXRTdGF0ZT47XG4gIHByaXZhdGUgX2V4dHJhY3RlZE5hbWU6IHN0cmluZyB8IG51bGw7XG4gIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICBwcml2YXRlIHJlYWRvbmx5IGxvZyA9IExvZ2dlckZhY3RvcnkuZ2V0TG9nZ2VyKHRoaXMuY29uc3RydWN0b3IubmFtZSk7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIENvbnN0cnVjdG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBzZWFyY2hDb250ZXh0OiBFbGRlclNlYXJjaENvbnRleHREaXJlY3RpdmUsXG4gICAgQEhvc3QoKSBwcml2YXRlIG5nTW9kZWw6IE5nTW9kZWxcbiAgKSB7XG4gICAgdGhpcy5pbml0aWFsVmFsdWVEaXJlY3RpdmUgPSBuZXcgRWxkZXJJbml0aWFsVmFsdWVEaXJlY3RpdmUobmdNb2RlbCk7XG4gICAgdGhpcy5fc3RhdGUkID0gdGhpcy5idWlsZElucHV0U3RhdGVPYnNlcnZhYmxlKCkucGlwZShcbiAgICAgIC8vIHRhcChzdGF0ZSA9PiB0aGlzLmxvZy5lcnJvcignRU1JVCBTRUFSQ0ggSU5QVVQgU1RBVEUgWycgKyBzdGF0ZS5xdWVyeUtleSArICddOiAnICsgc3RhdGUucXVlcnlWYWx1ZSArIChzdGF0ZS5wcmlzdGluZSA/ICcocHJpc3RpbmUpJyA6ICcnKSwgc3RhdGUpKVxuICAgICk7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogTGlmZSBDeWNsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5fZXh0cmFjdGVkTmFtZSA9IHRoaXMuZXh0cmFjdE5hbWUoKTtcbiAgICB0aGlzLnNlYXJjaENvbnRleHQucmVnaXN0ZXIodGhpcyk7XG4gIH1cblxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuX2V4dHJhY3RlZE5hbWUgPSB0aGlzLmV4dHJhY3ROYW1lKCk7XG4gICAgdGhpcy5sb2cuZGVidWcodGhpcy5fZXh0cmFjdGVkTmFtZSArICd8JyArIHRoaXMucXVlcnlLZXkgKyAnfCcgKyB0aGlzLnJlc29sdmVQYXRoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJvcGVydGllcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgZ2V0IHN0YXRlJCgpOiBPYnNlcnZhYmxlPFNlYXJjaElucHV0U3RhdGU+IHtcbiAgICByZXR1cm4gdGhpcy5fc3RhdGUkO1xuICB9XG5cbiAgcHVibGljIGdldCBuYW1lKCk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMucXVlcnlLZXkpIHtcbiAgICAgIHJldHVybiB0aGlzLnF1ZXJ5S2V5O1xuICAgIH1cbiAgICBpZiAodGhpcy5fZXh0cmFjdGVkTmFtZSkge1xuICAgICAgcmV0dXJuIHRoaXMuX2V4dHJhY3RlZE5hbWU7XG4gICAgfVxuXG4gICAgdGhyb3cgbmV3IEVycm9yKCdDb3VsZCBub3QgZGV0ZXJtaW5lIHRoZSBzZWFyY2ggbmFtZSBrZXkgbmFtZS4nICtcbiAgICAgICcgRWl0aGVyIHNwZWNpZnkgdGhlIG5hbWUgcHJvcGVydHkgb3IgZXhwbGljaXRseSBzZXQgW2VsZGVyU2VhcmNoSW5wdXRLZXldLicpO1xuICB9XG5cbiAgcHVibGljIGdldCB2YWx1ZSgpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLm5nTW9kZWwudmFsdWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHJlYWRvbmx5KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLm5nTW9kZWwuaXNEaXNhYmxlZDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IGhhc0ZhbGxiYWNrKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBTZWFyY2hJbnB1dFN0YXRlLmlzVmFsdWVEZWZpbmVkKHRoaXMuZmFsbGJhY2tWYWx1ZSk7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHVibGljIEFQSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgc2V0VmFsdWUocXVlcnlTdHJpbmc6IHN0cmluZyB8IHN0cmluZ1tdIHwgbnVsbCk6IHZvaWQge1xuICAgIGNvbnN0IHZhbHVlID0gdGhpcy5jb252ZXJ0UXVlcnlTdHJpbmdUb1Jhd01vZGVsVmFsdWUocXVlcnlTdHJpbmcpO1xuICAgIHRoaXMuaW5pdGlhbFZhbHVlRGlyZWN0aXZlLnNldFZhbHVlKHZhbHVlKTtcbiAgfVxuXG4gIHB1YmxpYyByZXNldCgpOiB2b2lkIHtcbiAgICB0aGlzLm5nTW9kZWwucmVzZXQoKTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcml2YXRlIG1ldGhvZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgZ2V0IHZhbHVlQ2hhbmdlcyQoKSB7XG4gICAgcmV0dXJuIHRoaXMubmdNb2RlbC5jb250cm9sLnZhbHVlQ2hhbmdlc1xuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKVxuICAgICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgYnVpbGRJbnB1dFN0YXRlT2JzZXJ2YWJsZSgpOiBPYnNlcnZhYmxlPFNlYXJjaElucHV0U3RhdGU+IHtcblxuICAgIGNvbnN0IHZpZXdTdGFiaWxpemVkJCA9IG9mKCdzdGFiaWxpemVkJCcpLnBpcGUoXG4gICAgICBkZWxheSgyMCksXG4gICAgICBmaXJzdCgpXG4gICAgKTtcblxuICAgIGNvbnN0IGlucHV0U3RhdGVDaGFuZ2VzJCA9IHRoaXMudmFsdWVDaGFuZ2VzJC5waXBlKFxuICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLFxuICAgICAgbWFwKHZhbHVlID0+IHRoaXMuYnVpbGRJbnB1dFN0YXRlKHZhbHVlLCB0cnVlKSksXG4gICAgICBza2lwVW50aWwodmlld1N0YWJpbGl6ZWQkKSxcbiAgICAgIGRlYm91bmNlVGltZSgyMCksXG4gICAgKTtcblxuICAgIGNvbnN0IHN0YXJ0RGVsYXllZCQgPSBvZignc3RhcnQnKS5waXBlKFxuICAgICAgZGVsYXkoMTUpLFxuICAgICAgbWFwKHN0YXJ0ID0+IHtcbiAgICAgICAgY29uc3Qgc3RhdGUgPSB0aGlzLmJ1aWxkSW5wdXRTdGF0ZSh0aGlzLm5nTW9kZWwuY29udHJvbC52YWx1ZSwgZmFsc2UpO1xuICAgICAgICByZXR1cm4gc3RhdGU7XG4gICAgICB9KVxuICAgICk7XG5cbiAgICByZXR1cm4gY29uY2F0KHN0YXJ0RGVsYXllZCQsIGlucHV0U3RhdGVDaGFuZ2VzJCk7XG4gIH1cblxuICBwcml2YXRlIGJ1aWxkSW5wdXRTdGF0ZShjb250cm9sVmFsdWU6IGFueSwgdXNlckV2ZW50OiBib29sZWFuKTogU2VhcmNoSW5wdXRTdGF0ZSB7XG4gICAgY29uc3QgcXVlcnlWYWx1ZSA9IHRoaXMuY29udmVydFJhd01vZGVsVmFsdWVUb1F1ZXJ5U3RyaW5nKGNvbnRyb2xWYWx1ZSk7XG4gICAgbGV0IHByaXN0aW5lID0gIXRoaXMuaXNBdHRyaWJ1dGVWYWx1ZVByZXNlbnQoY29udHJvbFZhbHVlKTtcblxuICAgIGlmICh0aGlzLmhhc0ZhbGxiYWNrKSB7XG4gICAgICBpZih0aGlzLmZhbGxiYWNrVmFsdWUgPT09IHF1ZXJ5VmFsdWUpe1xuICAgICAgICBwcmlzdGluZSA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIG5ldyBTZWFyY2hJbnB1dFN0YXRlKFxuICAgICAgdGhpcy5uYW1lLFxuICAgICAgcXVlcnlWYWx1ZSxcbiAgICAgIHRoaXMucXVlcnlLZXkgfHwgdGhpcy5uYW1lLFxuICAgICAgcHJpc3RpbmUsXG4gICAgICB1c2VyRXZlbnRcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBjb252ZXJ0UXVlcnlTdHJpbmdUb1Jhd01vZGVsVmFsdWUocXVlcnlTdHJpbmc6IHN0cmluZyB8IHN0cmluZ1tdIHwgbnVsbCkge1xuICAgIGlmIChPYmplY3RzLm5vbk51bGwocXVlcnlTdHJpbmcpKSB7XG4gICAgICByZXR1cm4gcXVlcnlTdHJpbmc7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgY29udmVydFJhd01vZGVsVmFsdWVUb1F1ZXJ5U3RyaW5nKG1vZGVsOiBhbnkpOiBzdHJpbmcgfCBzdHJpbmdbXSB8IG51bGwge1xuXG4gICAgbGV0IHF1ZXJ5VmFsdWU6IHN0cmluZyB8IHN0cmluZ1tdIHwgbnVsbCA9IG51bGw7XG5cbiAgICBpZiAodGhpcy52YWx1ZUFzSWQgIT0gdW5kZWZpbmVkKSB7XG4gICAgICBxdWVyeVZhbHVlID0gdGhpcy5jaGVja0FuZENvbnZlcnRGYXVsdHlWYWx1ZXNUb051bGwobW9kZWwpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5pc0F0dHJpYnV0ZVZhbHVlUHJlc2VudChtb2RlbCkpIHtcbiAgICAgIC8vIEF0dHJpYnV0ZSB2YWx1ZSBpcyBwcmVzZW50XG4gICAgICBxdWVyeVZhbHVlID0gdGhpcy5yZXNvbHZlVmFsdWUobW9kZWwpO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAodGhpcy5oYXNGYWxsYmFjaykge1xuICAgICAgICBxdWVyeVZhbHVlID0gdGhpcy5mYWxsYmFja1ZhbHVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBxdWVyeVZhbHVlO1xuICB9XG5cbiAgcHJpdmF0ZSBjaGVja0FuZENvbnZlcnRGYXVsdHlWYWx1ZXNUb051bGwodmFsdWU6IGFueSkge1xuICAgIGxldCBmaXhlZFZhbHVlID0gdmFsdWU7XG4gICAgZml4ZWRWYWx1ZSA9IHRoaXMuY29udmVydEVtcHR5QXJyYXlUb051bGwoZml4ZWRWYWx1ZSk7XG4gICAgZml4ZWRWYWx1ZSA9IHRoaXMuY29udmVydEVtcHR5U3RyaW5nVG9OdWxsKGZpeGVkVmFsdWUpO1xuXG4gICAgcmV0dXJuIGZpeGVkVmFsdWU7XG4gIH1cblxuICBwcml2YXRlIGNvbnZlcnRFbXB0eUFycmF5VG9OdWxsKHZhbHVlOiBhbnkpIHtcbiAgICBpZiAodmFsdWUgaW5zdGFuY2VvZiBBcnJheSAmJiB2YWx1ZS5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cblxuICBwcml2YXRlIGNvbnZlcnRFbXB0eVN0cmluZ1RvTnVsbCh2YWx1ZTogYW55KSB7XG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgJiYgdmFsdWUubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG5cbiAgcHJpdmF0ZSBpc0F0dHJpYnV0ZVZhbHVlUHJlc2VudCh2YWx1ZTogYW55KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIFNlYXJjaElucHV0U3RhdGUuaXNWYWx1ZURlZmluZWQodmFsdWUpXG4gICAgICAmJiAodmFsdWUgKyAnJykubGVuZ3RoICE9PSAwO1xuICB9XG5cblxuICBwcml2YXRlIHJlc29sdmVWYWx1ZSh2YWx1ZTogYW55KTogc3RyaW5nIHwgc3RyaW5nW10gfCBudWxsIHtcbiAgICBpZiAoT2JqZWN0cy5ub25OdWxsKHZhbHVlKSkge1xuICAgICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgQXJyYXkpIHtcblxuICAgICAgICBjb25zdCByZXNvbHZlZFZhbHVlcyA9IHZhbHVlXG4gICAgICAgICAgLm1hcCh2ID0+IHRoaXMucmVzb2x2ZVNpbmdsZVZhbHVlKHYpKVxuICAgICAgICAgIC5maWx0ZXIodiA9PiBPYmplY3RzLm5vbk51bGwodikpO1xuXG4gICAgICAgIHJldHVybiB0aGlzLmNvbmNhdElmTmVjZXNzYXJ5KHJlc29sdmVkVmFsdWVzKTtcblxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucmVzb2x2ZVNpbmdsZVZhbHVlKHZhbHVlKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSByZXNvbHZlU2luZ2xlVmFsdWUodmFsdWU6IGFueSk6IHN0cmluZyB8IHN0cmluZ1tdIHwgbnVsbCB7XG4gICAgdmFsdWUgPSBQcm9wZXJ0eVBhdGhVdGlsLnJlc29sdmVWYWx1ZSh2YWx1ZSwgdGhpcy5yZXNvbHZlUGF0aCk7XG4gICAgdmFsdWUgPSB0aGlzLnZhbHVlVHJhbnNmb3JtID8gdGhpcy52YWx1ZVRyYW5zZm9ybSh2YWx1ZSkgOiB2YWx1ZTtcblxuXG4gICAgaWYgKE9iamVjdHMubm9uTnVsbCh2YWx1ZSkpIHtcbiAgICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIEFycmF5KSB7XG4gICAgICAgIHJldHVybiB2YWx1ZVxuICAgICAgICAgIC5maWx0ZXIoaSA9PiBPYmplY3RzLm5vbk51bGwoaSkpXG4gICAgICAgICAgLm1hcChpID0+IGkudG9TdHJpbmcoKSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gdmFsdWUudG9TdHJpbmcoKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBleHRyYWN0TmFtZSgpOiBzdHJpbmcgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5uZ01vZGVsLm5hbWU7XG4gIH1cblxuICBwcml2YXRlIGNvbmNhdElmTmVjZXNzYXJ5KHZhbHVlczogKHN0cmluZyB8IHN0cmluZ1tdKVtdKTogYW55W10ge1xuICAgIGNvbnN0IGFycmF5cyA9IHZhbHVlcy5tYXAodiA9PiB7XG4gICAgICBpZiAodiBpbnN0YW5jZW9mIEFycmF5KSB7XG4gICAgICAgIHJldHVybiB2O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIFt2XTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gQ29sbGVjdGlvblV0aWwuZmxhdHRlbihhcnJheXMpO1xuICB9XG5cbn1cbiJdfQ==
238
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItc2VhcmNoLWlucHV0LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvZm9ybXMvc2VhcmNoL2VsZGVyLXNlYXJjaC1pbnB1dC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFnQixTQUFTLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBb0IsTUFBTSxlQUFlLENBQUM7QUFDdkYsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBS25ELE9BQU8sRUFBQyxZQUFZLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUUsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sMENBQTBDLENBQUM7QUFDMUUsT0FBTyxFQUFDLE1BQU0sRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUNwRCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUNuRSxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDaEQsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLHVDQUF1QyxDQUFDO0FBR3JFLE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLDZDQUE2QyxDQUFDOzs7O0FBRXZGOztHQUVHO0FBTUgsTUFBTSxPQUFPLHlCQUF5QjtJQThDcEM7Ozs7Z0ZBSTRFO0lBRTVFLFlBQ1UsYUFBMEMsRUFDbEMsT0FBZ0I7UUFEeEIsa0JBQWEsR0FBYixhQUFhLENBQTZCO1FBQ2xDLFlBQU8sR0FBUCxPQUFPLENBQVM7UUFYakIsYUFBUSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFDL0IsUUFBRyxHQUFHLGFBQWEs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RSxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO2FBQzNCO2lCQUFNO2dCQUNMLE9BQU8sS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO2FBQ3pCO1NBQ0Y7YUFBTTtZQUNMLE9BQU8sSUFBSSxDQUFDO1NBQ2I7SUFDSCxDQUFDO0lBRU8sV0FBVztRQUNqQixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO0lBQzNCLENBQUM7SUFFTyxpQkFBaUIsQ0FBQyxNQUE2QjtRQUNyRCxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQzVCLElBQUksQ0FBQyxZQUFZLEtBQUssRUFBRTtnQkFDdEIsT0FBTyxDQUFDLENBQUM7YUFDVjtpQkFBTTtnQkFDTCxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDWjtRQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxjQUFjLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3hDLENBQUM7OEdBcFNVLHlCQUF5QjtrR0FBekIseUJBQXlCOzsyRkFBekIseUJBQXlCO2tCQUxyQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxvQkFBb0I7b0JBQzlCLFFBQVEsRUFBRSxrQkFBa0I7b0JBQzVCLFVBQVUsRUFBRSxJQUFJO2lCQUNuQjs7MEJBdURJLElBQUk7eUNBeENBLFFBQVE7c0JBRGQsS0FBSzt1QkFBQyxxQkFBcUI7Z0JBT3JCLGNBQWM7c0JBRHBCLEtBQUs7dUJBQUMsMkJBQTJCO2dCQVEzQixXQUFXO3NCQURqQixLQUFLO3VCQUFDLGtCQUFrQjtnQkFJbEIsVUFBVTtzQkFEaEIsS0FBSztnQkFPQyxhQUFhO3NCQURuQixLQUFLO3VCQUFDLDBCQUEwQjtnQkFJMUIsU0FBUztzQkFEZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBZnRlclZpZXdJbml0LCBEaXJlY3RpdmUsIEhvc3QsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0xvZ2dlckZhY3Rvcnl9IGZyb20gJ0BlbGRlcmJ5dGUvdHMtbG9nZ2VyJztcbmltcG9ydCB7RWxkZXJTZWFyY2hDb250ZXh0RGlyZWN0aXZlfSBmcm9tICcuL2VsZGVyLXNlYXJjaC1jb250ZXh0LmRpcmVjdGl2ZSc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMvaW50ZXJuYWwvT2JzZXJ2YWJsZSc7XG5pbXBvcnQge05nTW9kZWx9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7U2VhcmNoSW5wdXR9IGZyb20gJy4vZG9tYWluL2lucHV0L3NlYXJjaC1pbnB1dCc7XG5pbXBvcnQge2RlYm91bmNlVGltZSwgZGVsYXksIGZpcnN0LCBtYXAsIHRha2VVbnRpbH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtQcm9wZXJ0eVBhdGhVdGlsfSBmcm9tICcuLi8uLi8uLi9jb21tb24vdXRpbHMvcHJvcGVydHktcGF0aC11dGlsJztcbmltcG9ydCB7Y29uY2F0LCBvZiwgc2tpcFVudGlsLCBTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7U2VhcmNoSW5wdXRTdGF0ZX0gZnJvbSAnLi9kb21haW4vaW5wdXQvc2VhcmNoLWlucHV0LXN0YXRlJztcbmltcG9ydCB7T2JqZWN0c30gZnJvbSAnLi4vLi4vLi4vY29tbW9uL29iamVjdHMnO1xuaW1wb3J0IHtDb2xsZWN0aW9uVXRpbH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL3V0aWxzL2NvbGxlY3Rpb24tdXRpbCc7XG5pbXBvcnQge0xvY2FsUGFnZWREYXRhU291cmNlfSBmcm9tICcuLi8uLi8uLi9jb21tb24vZGF0YS9kYXRhc291cmNlL2xvY2FsL2xvY2FsLXBhZ2VkLWRhdGEtc291cmNlJztcbmltcG9ydCB7Qm9vbGVhbklucHV0fSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHtFbGRlckluaXRpYWxWYWx1ZURpcmVjdGl2ZX0gZnJvbSAnLi4vZGlyZWN0aXZlcy9lbGRlci1pbml0aWFsLXZhbHVlLmRpcmVjdGl2ZSc7XG5cbi8qKlxuICogU2VhcmNoIG5hbWUgYWRhcHRlciBmb3IgaW5wdXQgY29udHJvbHMuXG4gKi9cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2VsZGVyU2VhcmNoSW5wdXRdJyxcbiAgICBleHBvcnRBczogJ2VsZGVyU2VhcmNoSW5wdXQnLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgRWxkZXJTZWFyY2hJbnB1dERpcmVjdGl2ZSBpbXBsZW1lbnRzIFNlYXJjaElucHV0LCBPbkluaXQsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBpbml0aWFsVmFsdWVEaXJlY3RpdmU6IEVsZGVySW5pdGlhbFZhbHVlRGlyZWN0aXZlO1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBGaWVsZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIC8qKlxuICAgKiAoT3B0aW9uYWwpIFVzdWFsbHkgdGhlIGNvbnRyb2wgbmFtZSBpcyB1c2VkLCB0aGlzIGFsbG93cyBhIGN1c3RvbSBxdWVyeSBrZXlcbiAgICovXG4gIEBJbnB1dCgnZWxkZXJTZWFyY2hJbnB1dEtleScpXG4gIHB1YmxpYyBxdWVyeUtleTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiAoT3B0aW9uYWwpIEZ1bmN0aW9uIHdoaWNoIHRyYW5zZm9ybXMgdGhlIHZhbHVlIG9iamVjdCB0byBhIHF1ZXJ5IHBhcmFtIHZhbHVlXG4gICAqL1xuICBASW5wdXQoJ2VsZGVyU2VhcmNoSW5wdXRUcmFuc2Zvcm0nKVxuICBwdWJsaWMgdmFsdWVUcmFuc2Zvcm06ICgodmFsdWU6IGFueSkgPT4gc3RyaW5nIHwgc3RyaW5nW10gfCBudWxsKTtcblxuICAvKipcbiAgICogKE9wdGlvbmFsLCBEZWZhdWx0KSBQYXRoIG9uIHRoZSB2YWx1ZSBvYmplY3QgdG8gdXNlIGFzIHF1ZXJ5IHBhcmFtIHZhbHVlXG4gICAqICB2YWx1ZSA9IFwidHlwZS5pZFwiXG4gICAqL1xuICBASW5wdXQoJ2VsZGVyU2VhcmNoSW5wdXQnKVxuICBwdWJsaWMgcmVzb2x2ZVBhdGg6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgZGF0YVNvdXJjZTogTG9jYWxQYWdlZERhdGFTb3VyY2U8YW55PjtcblxuICAvKipcbiAgICogKE9wdGlvbmFsKSBVc2UgdGhpcyB2YWx1ZSBmb3IgdGhlIHF1ZXJ5IGlmIG5vbmUgaXMgcHJvdmlkZWQuXG4gICAqL1xuICBASW5wdXQoJ2VsZGVyU2VhcmNoSW5wdXRGYWxsYmFjaycpXG4gIHB1YmxpYyBmYWxsYmFja1ZhbHVlOiBzdHJpbmcgfCBzdHJpbmdbXTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgdmFsdWVBc0lkOiBCb29sZWFuSW5wdXQ7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfc3RhdGUkOiBPYnNlcnZhYmxlPFNlYXJjaElucHV0U3RhdGU+O1xuICBwcml2YXRlIF9leHRyYWN0ZWROYW1lOiBzdHJpbmcgfCBudWxsO1xuICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgcHJpdmF0ZSByZWFkb25seSBsb2cgPSBMb2dnZXJGYWN0b3J5LmdldExvZ2dlcih0aGlzLmNvbnN0cnVjdG9yLm5hbWUpO1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBDb25zdHJ1Y3RvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgc2VhcmNoQ29udGV4dDogRWxkZXJTZWFyY2hDb250ZXh0RGlyZWN0aXZlLFxuICAgIEBIb3N0KCkgcHJpdmF0ZSBuZ01vZGVsOiBOZ01vZGVsXG4gICkge1xuICAgIHRoaXMuaW5pdGlhbFZhbHVlRGlyZWN0aXZlID0gbmV3IEVsZGVySW5pdGlhbFZhbHVlRGlyZWN0aXZlKG5nTW9kZWwpO1xuICAgIHRoaXMuX3N0YXRlJCA9IHRoaXMuYnVpbGRJbnB1dFN0YXRlT2JzZXJ2YWJsZSgpLnBpcGUoXG4gICAgICAvLyB0YXAoc3RhdGUgPT4gdGhpcy5sb2cuZXJyb3IoJ0VNSVQgU0VBUkNIIElOUFVUIFNUQVRFIFsnICsgc3RhdGUucXVlcnlLZXkgKyAnXTogJyArIHN0YXRlLnF1ZXJ5VmFsdWUgKyAoc3RhdGUucHJpc3RpbmUgPyAnKHByaXN0aW5lKScgOiAnJyksIHN0YXRlKSlcbiAgICApO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIExpZmUgQ3ljbGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIG5nT25Jbml0KCkge1xuICAgIHRoaXMuX2V4dHJhY3RlZE5hbWUgPSB0aGlzLmV4dHJhY3ROYW1lKCk7XG4gICAgdGhpcy5zZWFyY2hDb250ZXh0LnJlZ2lzdGVyKHRoaXMpO1xuICB9XG5cbiAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLl9leHRyYWN0ZWROYW1lID0gdGhpcy5leHRyYWN0TmFtZSgpO1xuICAgIHRoaXMubG9nLmRlYnVnKHRoaXMuX2V4dHJhY3RlZE5hbWUgKyAnfCcgKyB0aGlzLnF1ZXJ5S2V5ICsgJ3wnICsgdGhpcy5yZXNvbHZlUGF0aCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByb3BlcnRpZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIGdldCBzdGF0ZSQoKTogT2JzZXJ2YWJsZTxTZWFyY2hJbnB1dFN0YXRlPiB7XG4gICAgcmV0dXJuIHRoaXMuX3N0YXRlJDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgbmFtZSgpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLnF1ZXJ5S2V5KSB7XG4gICAgICByZXR1cm4gdGhpcy5xdWVyeUtleTtcbiAgICB9XG4gICAgaWYgKHRoaXMuX2V4dHJhY3RlZE5hbWUpIHtcbiAgICAgIHJldHVybiB0aGlzLl9leHRyYWN0ZWROYW1lO1xuICAgIH1cblxuICAgIHRocm93IG5ldyBFcnJvcignQ291bGQgbm90IGRldGVybWluZSB0aGUgc2VhcmNoIG5hbWUga2V5IG5hbWUuJyArXG4gICAgICAnIEVpdGhlciBzcGVjaWZ5IHRoZSBuYW1lIHByb3BlcnR5IG9yIGV4cGxpY2l0bHkgc2V0IFtlbGRlclNlYXJjaElucHV0S2V5XS4nKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdmFsdWUoKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5uZ01vZGVsLnZhbHVlO1xuICB9XG5cbiAgcHVibGljIGdldCByZWFkb25seSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5uZ01vZGVsLmlzRGlzYWJsZWQ7XG4gIH1cblxuICBwcml2YXRlIGdldCBoYXNGYWxsYmFjaygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gU2VhcmNoSW5wdXRTdGF0ZS5pc1ZhbHVlRGVmaW5lZCh0aGlzLmZhbGxiYWNrVmFsdWUpO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFB1YmxpYyBBUEkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIHNldFZhbHVlKHF1ZXJ5U3RyaW5nOiBzdHJpbmcgfCBzdHJpbmdbXSB8IG51bGwpOiB2b2lkIHtcbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMuY29udmVydFF1ZXJ5U3RyaW5nVG9SYXdNb2RlbFZhbHVlKHF1ZXJ5U3RyaW5nKTtcbiAgICB0aGlzLmluaXRpYWxWYWx1ZURpcmVjdGl2ZS5zZXRWYWx1ZSh2YWx1ZSk7XG4gIH1cblxuICBwdWJsaWMgcmVzZXQoKTogdm9pZCB7XG4gICAgdGhpcy5uZ01vZGVsLnJlc2V0KCk7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJpdmF0ZSBtZXRob2RzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIGdldCB2YWx1ZUNoYW5nZXMkKCkge1xuICAgIHJldHVybiB0aGlzLm5nTW9kZWwuY29udHJvbC52YWx1ZUNoYW5nZXNcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JClcbiAgICAgICk7XG4gIH1cblxuICBwcml2YXRlIGJ1aWxkSW5wdXRTdGF0ZU9ic2VydmFibGUoKTogT2JzZXJ2YWJsZTxTZWFyY2hJbnB1dFN0YXRlPiB7XG5cbiAgICBjb25zdCB2aWV3U3RhYmlsaXplZCQgPSBvZignc3RhYmlsaXplZCQnKS5waXBlKFxuICAgICAgZGVsYXkoMjApLFxuICAgICAgZmlyc3QoKVxuICAgICk7XG5cbiAgICBjb25zdCBpbnB1dFN0YXRlQ2hhbmdlcyQgPSB0aGlzLnZhbHVlQ2hhbmdlcyQucGlwZShcbiAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSxcbiAgICAgIG1hcCh2YWx1ZSA9PiB0aGlzLmJ1aWxkSW5wdXRTdGF0ZSh2YWx1ZSwgdHJ1ZSkpLFxuICAgICAgc2tpcFVudGlsKHZpZXdTdGFiaWxpemVkJCksXG4gICAgICBkZWJvdW5jZVRpbWUoMjApLFxuICAgICk7XG5cbiAgICBjb25zdCBzdGFydERlbGF5ZWQkID0gb2YoJ3N0YXJ0JykucGlwZShcbiAgICAgIGRlbGF5KDE1KSxcbiAgICAgIG1hcChzdGFydCA9PiB7XG4gICAgICAgIGNvbnN0IHN0YXRlID0gdGhpcy5idWlsZElucHV0U3RhdGUodGhpcy5uZ01vZGVsLmNvbnRyb2wudmFsdWUsIGZhbHNlKTtcbiAgICAgICAgcmV0dXJuIHN0YXRlO1xuICAgICAgfSlcbiAgICApO1xuXG4gICAgcmV0dXJuIGNvbmNhdChzdGFydERlbGF5ZWQkLCBpbnB1dFN0YXRlQ2hhbmdlcyQpO1xuICB9XG5cbiAgcHJpdmF0ZSBidWlsZElucHV0U3RhdGUoY29udHJvbFZhbHVlOiBhbnksIHVzZXJFdmVudDogYm9vbGVhbik6IFNlYXJjaElucHV0U3RhdGUge1xuICAgIGNvbnN0IHF1ZXJ5VmFsdWUgPSB0aGlzLmNvbnZlcnRSYXdNb2RlbFZhbHVlVG9RdWVyeVN0cmluZyhjb250cm9sVmFsdWUpO1xuICAgIGxldCBwcmlzdGluZSA9ICF0aGlzLmlzQXR0cmlidXRlVmFsdWVQcmVzZW50KGNvbnRyb2xWYWx1ZSk7XG5cbiAgICBpZiAodGhpcy5oYXNGYWxsYmFjaykge1xuICAgICAgaWYodGhpcy5mYWxsYmFja1ZhbHVlID09PSBxdWVyeVZhbHVlKXtcbiAgICAgICAgcHJpc3RpbmUgPSB0cnVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBuZXcgU2VhcmNoSW5wdXRTdGF0ZShcbiAgICAgIHRoaXMubmFtZSxcbiAgICAgIHF1ZXJ5VmFsdWUsXG4gICAgICB0aGlzLnF1ZXJ5S2V5IHx8IHRoaXMubmFtZSxcbiAgICAgIHByaXN0aW5lLFxuICAgICAgdXNlckV2ZW50XG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgY29udmVydFF1ZXJ5U3RyaW5nVG9SYXdNb2RlbFZhbHVlKHF1ZXJ5U3RyaW5nOiBzdHJpbmcgfCBzdHJpbmdbXSB8IG51bGwpIHtcbiAgICBpZiAoT2JqZWN0cy5ub25OdWxsKHF1ZXJ5U3RyaW5nKSkge1xuICAgICAgcmV0dXJuIHF1ZXJ5U3RyaW5nO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGNvbnZlcnRSYXdNb2RlbFZhbHVlVG9RdWVyeVN0cmluZyhtb2RlbDogYW55KTogc3RyaW5nIHwgc3RyaW5nW10gfCBudWxsIHtcblxuICAgIGxldCBxdWVyeVZhbHVlOiBzdHJpbmcgfCBzdHJpbmdbXSB8IG51bGwgPSBudWxsO1xuXG4gICAgaWYgKHRoaXMudmFsdWVBc0lkICE9IHVuZGVmaW5lZCkge1xuICAgICAgcXVlcnlWYWx1ZSA9IHRoaXMuY2hlY2tBbmRDb252ZXJ0RmF1bHR5VmFsdWVzVG9OdWxsKG1vZGVsKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuaXNBdHRyaWJ1dGVWYWx1ZVByZXNlbnQobW9kZWwpKSB7XG4gICAgICAvLyBBdHRyaWJ1dGUgdmFsdWUgaXMgcHJlc2VudFxuICAgICAgcXVlcnlWYWx1ZSA9IHRoaXMucmVzb2x2ZVZhbHVlKG1vZGVsKTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKHRoaXMuaGFzRmFsbGJhY2spIHtcbiAgICAgICAgcXVlcnlWYWx1ZSA9IHRoaXMuZmFsbGJhY2tWYWx1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gcXVlcnlWYWx1ZTtcbiAgfVxuXG4gIHByaXZhdGUgY2hlY2tBbmRDb252ZXJ0RmF1bHR5VmFsdWVzVG9OdWxsKHZhbHVlOiBhbnkpIHtcbiAgICBsZXQgZml4ZWRWYWx1ZSA9IHZhbHVlO1xuICAgIGZpeGVkVmFsdWUgPSB0aGlzLmNvbnZlcnRFbXB0eUFycmF5VG9OdWxsKGZpeGVkVmFsdWUpO1xuICAgIGZpeGVkVmFsdWUgPSB0aGlzLmNvbnZlcnRFbXB0eVN0cmluZ1RvTnVsbChmaXhlZFZhbHVlKTtcblxuICAgIHJldHVybiBmaXhlZFZhbHVlO1xuICB9XG5cbiAgcHJpdmF0ZSBjb252ZXJ0RW1wdHlBcnJheVRvTnVsbCh2YWx1ZTogYW55KSB7XG4gICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgQXJyYXkgJiYgdmFsdWUubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG5cbiAgcHJpdmF0ZSBjb252ZXJ0RW1wdHlTdHJpbmdUb051bGwodmFsdWU6IGFueSkge1xuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnICYmIHZhbHVlLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuXG4gIHByaXZhdGUgaXNBdHRyaWJ1dGVWYWx1ZVByZXNlbnQodmFsdWU6IGFueSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBTZWFyY2hJbnB1dFN0YXRlLmlzVmFsdWVEZWZpbmVkKHZhbHVlKVxuICAgICAgJiYgKHZhbHVlICsgJycpLmxlbmd0aCAhPT0gMDtcbiAgfVxuXG5cbiAgcHJpdmF0ZSByZXNvbHZlVmFsdWUodmFsdWU6IGFueSk6IHN0cmluZyB8IHN0cmluZ1tdIHwgbnVsbCB7XG4gICAgaWYgKE9iamVjdHMubm9uTnVsbCh2YWx1ZSkpIHtcbiAgICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIEFycmF5KSB7XG5cbiAgICAgICAgY29uc3QgcmVzb2x2ZWRWYWx1ZXMgPSB2YWx1ZVxuICAgICAgICAgIC5tYXAodiA9PiB0aGlzLnJlc29sdmVTaW5nbGVWYWx1ZSh2KSlcbiAgICAgICAgICAuZmlsdGVyKHYgPT4gT2JqZWN0cy5ub25OdWxsKHYpKTtcblxuICAgICAgICByZXR1cm4gdGhpcy5jb25jYXRJZk5lY2Vzc2FyeShyZXNvbHZlZFZhbHVlcyk7XG5cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiB0aGlzLnJlc29sdmVTaW5nbGVWYWx1ZSh2YWx1ZSk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgcmVzb2x2ZVNpbmdsZVZhbHVlKHZhbHVlOiBhbnkpOiBzdHJpbmcgfCBzdHJpbmdbXSB8IG51bGwge1xuICAgIHZhbHVlID0gUHJvcGVydHlQYXRoVXRpbC5yZXNvbHZlVmFsdWUodmFsdWUsIHRoaXMucmVzb2x2ZVBhdGgpO1xuICAgIHZhbHVlID0gdGhpcy52YWx1ZVRyYW5zZm9ybSA/IHRoaXMudmFsdWVUcmFuc2Zvcm0odmFsdWUpIDogdmFsdWU7XG5cblxuICAgIGlmIChPYmplY3RzLm5vbk51bGwodmFsdWUpKSB7XG4gICAgICBpZiAodmFsdWUgaW5zdGFuY2VvZiBBcnJheSkge1xuICAgICAgICByZXR1cm4gdmFsdWVcbiAgICAgICAgICAuZmlsdGVyKGkgPT4gT2JqZWN0cy5ub25OdWxsKGkpKVxuICAgICAgICAgIC5tYXAoaSA9PiBpLnRvU3RyaW5nKCkpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHZhbHVlLnRvU3RyaW5nKCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZXh0cmFjdE5hbWUoKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMubmdNb2RlbC5uYW1lO1xuICB9XG5cbiAgcHJpdmF0ZSBjb25jYXRJZk5lY2Vzc2FyeSh2YWx1ZXM6IChzdHJpbmcgfCBzdHJpbmdbXSlbXSk6IGFueVtdIHtcbiAgICBjb25zdCBhcnJheXMgPSB2YWx1ZXMubWFwKHYgPT4ge1xuICAgICAgaWYgKHYgaW5zdGFuY2VvZiBBcnJheSkge1xuICAgICAgICByZXR1cm4gdjtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBbdl07XG4gICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIENvbGxlY3Rpb25VdGlsLmZsYXR0ZW4oYXJyYXlzKTtcbiAgfVxuXG59XG4iXX0=
@@ -1,28 +1,28 @@
1
1
  import { APP_INITIALIZER, NgModule } from '@angular/core';
2
- import { CommonModule } from "@angular/common";
3
- import { ElderSearchContextDirective } from "./elder-search-context.directive";
4
- import { ElderSearchInputDirective } from "./elder-search-input.directive";
5
- import { ElderSearchBoxComponent } from "./search-box/elder-search-box.component";
6
- import { FormsModule } from "@angular/forms";
7
- import { MatBadgeModule } from "@angular/material/badge";
8
- import { MatButtonModule } from "@angular/material/button";
9
- import { MatIconModule } from "@angular/material/icon";
10
- import { MatInputModule } from "@angular/material/input";
11
- import { A11yModule } from "@angular/cdk/a11y";
12
- import { TranslateModule } from "@ngx-translate/core";
13
- import { ElderOverlayModule } from "../../overlays/elder-overlay.module";
14
- import { ElderSearchPanelComponent } from "./search-box/elder-search-panel.component";
15
- import { ElderPanelModule } from "../../panels/elder-panel.module";
16
- import { ElderFormsDirectivesModule } from "../directives/elder-forms-directives.module";
17
- import { ElderSearchUrlDirective } from "./domain/url/elder-search-url.directive";
18
- import { ElderInitialValueDirective } from "../directives/elder-initial-value.directive";
2
+ import { CommonModule } from '@angular/common';
3
+ import { ElderSearchContextDirective } from './elder-search-context.directive';
4
+ import { ElderSearchInputDirective } from './elder-search-input.directive';
5
+ import { ElderSearchBoxComponent } from './search-box/elder-search-box.component';
6
+ import { FormsModule } from '@angular/forms';
7
+ import { MatBadgeModule } from '@angular/material/badge';
8
+ import { MatButtonModule } from '@angular/material/button';
9
+ import { MatIconModule } from '@angular/material/icon';
10
+ import { MatInputModule } from '@angular/material/input';
11
+ import { A11yModule } from '@angular/cdk/a11y';
12
+ import { TranslateModule } from '@ngx-translate/core';
13
+ import { ElderOverlayModule } from '../../overlays/elder-overlay.module';
14
+ import { ElderSearchPanelComponent } from './search-box/elder-search-panel.component';
15
+ import { ElderPanelModule } from '../../panels/elder-panel.module';
16
+ import { ElderFormsDirectivesModule } from '../directives/elder-forms-directives.module';
17
+ import { ElderSearchUrlDirective } from './domain/url/elder-search-url.directive';
18
+ import { ElderInitialValueDirective } from '../directives/elder-initial-value.directive';
19
19
  import { ElderSearchUrlService } from './domain/url/elder-search-url.service';
20
20
  import * as i0 from "@angular/core";
21
- export { ElderSearchContextDirective } from "./elder-search-context.directive";
22
- export { ElderSearchUrlDirective } from "./domain/url/elder-search-url.directive";
23
- export { ElderSearchInputDirective } from "./elder-search-input.directive";
24
- export { ElderSearchBoxComponent } from "./search-box/elder-search-box.component";
25
- export { ElderSearchPanelComponent } from "./search-box/elder-search-panel.component";
21
+ export { ElderSearchContextDirective } from './elder-search-context.directive';
22
+ export { ElderSearchUrlDirective } from './domain/url/elder-search-url.directive';
23
+ export { ElderSearchInputDirective } from './elder-search-input.directive';
24
+ export { ElderSearchBoxComponent } from './search-box/elder-search-box.component';
25
+ export { ElderSearchPanelComponent } from './search-box/elder-search-panel.component';
26
26
  // Because of AOT Compiler
27
27
  export function initSearchUrlService(searchUrlService) {
28
28
  // Hack to use Lambda here!
@@ -101,4 +101,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImpor
101
101
  ]
102
102
  }]
103
103
  }] });
104
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItc2VhcmNoLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvZm9ybXMvc2VhcmNoL2VsZGVyLXNlYXJjaC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGVBQWUsRUFBRSxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDeEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUN6RSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUN0RixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNuRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUN6RixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUNsRixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUN6RixPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSx1Q0FBdUMsQ0FBQzs7QUFJNUUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDL0UsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDbEYsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDM0UsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDbEYsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFFdEYsMEJBQTBCO0FBQzFCLE1BQU0sVUFBVSxvQkFBb0IsQ0FDbEMsZ0JBQXVDO0lBRXZDLDJCQUEyQjtJQUMzQixPQUFPLEdBQUcsRUFBRSxHQUFHLGdCQUFnQixDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFBO0FBQzNDLENBQUM7QUFvQ0QsTUFBTSxPQUFPLGlCQUFpQjs4R0FBakIsaUJBQWlCOytHQUFqQixpQkFBaUIsWUF2QnRCLFlBQVksRUFBRSxXQUFXO1lBQ3pCLGNBQWMsRUFBRSxlQUFlLEVBQUUsYUFBYTtZQUM5QyxjQUFjO1lBQ2QsVUFBVTtZQUNWLGtCQUFrQjtZQUNsQixnQkFBZ0I7WUFDaEIsMEJBQTBCO1lBQzFCLGVBQWU7WUFDZiwyQkFBMkI7WUFDM0IsdUJBQXVCO1lBQ3ZCLHlCQUF5QjtZQUN6QiwwQkFBMEI7WUFDMUIsdUJBQXVCO1lBQ3ZCLHlCQUF5QixhQUd6QiwyQkFBMkI7WUFDM0IsdUJBQXVCO1lBQ3ZCLHlCQUF5QjtZQUN6Qix1QkFBdUI7WUFDdkIseUJBQXlCOytHQUdwQixpQkFBaUIsYUFoQ2Y7WUFDUDtnQkFDSSxPQUFPLEVBQUUsZUFBZTtnQkFDeEIsVUFBVSxFQUFFLG9CQUFvQjtnQkFDaEMsSUFBSSxFQUFFLENBQUMscUJBQXFCLENBQUM7Z0JBQzdCLEtBQUssRUFBRSxJQUFJO2FBQ2Q7U0FDSixZQUVHLFlBQVksRUFBRSxXQUFXO1lBQ3pCLGNBQWMsRUFBRSxlQUFlLEVBQUUsYUFBYTtZQUM5QyxjQUFjO1lBQ2QsVUFBVTtZQUNWLGtCQUFrQjtZQUNsQixnQkFBZ0I7WUFDaEIsMEJBQTBCO1lBQzFCLGVBQWU7WUFLZix1QkFBdUI7OzJGQVdsQixpQkFBaUI7a0JBakM3QixRQUFRO21CQUFDO29CQUNOLFNBQVMsRUFBRTt3QkFDUDs0QkFDSSxPQUFPLEVBQUUsZUFBZTs0QkFDeEIsVUFBVSxFQUFFLG9CQUFvQjs0QkFDaEMsSUFBSSxFQUFFLENBQUMscUJBQXFCLENBQUM7NEJBQzdCLEtBQUssRUFBRSxJQUFJO3lCQUNkO3FCQUNKO29CQUNELE9BQU8sRUFBRTt3QkFDTCxZQUFZLEVBQUUsV0FBVzt3QkFDekIsY0FBYyxFQUFFLGVBQWUsRUFBRSxhQUFhO3dCQUM5QyxjQUFjO3dCQUNkLFVBQVU7d0JBQ1Ysa0JBQWtCO3dCQUNsQixnQkFBZ0I7d0JBQ2hCLDBCQUEwQjt3QkFDMUIsZUFBZTt3QkFDZiwyQkFBMkI7d0JBQzNCLHVCQUF1Qjt3QkFDdkIseUJBQXlCO3dCQUN6QiwwQkFBMEI7d0JBQzFCLHVCQUF1Qjt3QkFDdkIseUJBQXlCO3FCQUM1QjtvQkFDRCxPQUFPLEVBQUU7d0JBQ0wsMkJBQTJCO3dCQUMzQix1QkFBdUI7d0JBQ3ZCLHlCQUF5Qjt3QkFDekIsdUJBQXVCO3dCQUN2Qix5QkFBeUI7cUJBQzVCO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBUFBfSU5JVElBTElaRVIsIE5nTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcbmltcG9ydCB7IEVsZGVyU2VhcmNoQ29udGV4dERpcmVjdGl2ZSB9IGZyb20gXCIuL2VsZGVyLXNlYXJjaC1jb250ZXh0LmRpcmVjdGl2ZVwiO1xuaW1wb3J0IHsgRWxkZXJTZWFyY2hJbnB1dERpcmVjdGl2ZSB9IGZyb20gXCIuL2VsZGVyLXNlYXJjaC1pbnB1dC5kaXJlY3RpdmVcIjtcbmltcG9ydCB7IEVsZGVyU2VhcmNoQm94Q29tcG9uZW50IH0gZnJvbSBcIi4vc2VhcmNoLWJveC9lbGRlci1zZWFyY2gtYm94LmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcbmltcG9ydCB7IE1hdEJhZGdlTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2JhZGdlXCI7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uXCI7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2ljb25cIjtcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2lucHV0XCI7XG5pbXBvcnQgeyBBMTF5TW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2Nkay9hMTF5XCI7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tIFwiQG5neC10cmFuc2xhdGUvY29yZVwiO1xuaW1wb3J0IHsgRWxkZXJPdmVybGF5TW9kdWxlIH0gZnJvbSBcIi4uLy4uL292ZXJsYXlzL2VsZGVyLW92ZXJsYXkubW9kdWxlXCI7XG5pbXBvcnQgeyBFbGRlclNlYXJjaFBhbmVsQ29tcG9uZW50IH0gZnJvbSBcIi4vc2VhcmNoLWJveC9lbGRlci1zZWFyY2gtcGFuZWwuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBFbGRlclBhbmVsTW9kdWxlIH0gZnJvbSBcIi4uLy4uL3BhbmVscy9lbGRlci1wYW5lbC5tb2R1bGVcIjtcbmltcG9ydCB7IEVsZGVyRm9ybXNEaXJlY3RpdmVzTW9kdWxlIH0gZnJvbSBcIi4uL2RpcmVjdGl2ZXMvZWxkZXItZm9ybXMtZGlyZWN0aXZlcy5tb2R1bGVcIjtcbmltcG9ydCB7IEVsZGVyU2VhcmNoVXJsRGlyZWN0aXZlIH0gZnJvbSBcIi4vZG9tYWluL3VybC9lbGRlci1zZWFyY2gtdXJsLmRpcmVjdGl2ZVwiO1xuaW1wb3J0IHsgRWxkZXJJbml0aWFsVmFsdWVEaXJlY3RpdmUgfSBmcm9tIFwiLi4vZGlyZWN0aXZlcy9lbGRlci1pbml0aWFsLXZhbHVlLmRpcmVjdGl2ZVwiO1xuaW1wb3J0IHtFbGRlclNlYXJjaFVybFNlcnZpY2V9IGZyb20gJy4vZG9tYWluL3VybC9lbGRlci1zZWFyY2gtdXJsLnNlcnZpY2UnO1xuaW1wb3J0IHtBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5cbmV4cG9ydCB7IEVsZGVyU2VhcmNoQ29udGV4dERpcmVjdGl2ZSB9IGZyb20gXCIuL2VsZGVyLXNlYXJjaC1jb250ZXh0LmRpcmVjdGl2ZVwiO1xuZXhwb3J0IHsgRWxkZXJTZWFyY2hVcmxEaXJlY3RpdmUgfSBmcm9tIFwiLi9kb21haW4vdXJsL2VsZGVyLXNlYXJjaC11cmwuZGlyZWN0aXZlXCI7XG5leHBvcnQgeyBFbGRlclNlYXJjaElucHV0RGlyZWN0aXZlIH0gZnJvbSBcIi4vZWxkZXItc2VhcmNoLWlucHV0LmRpcmVjdGl2ZVwiO1xuZXhwb3J0IHsgRWxkZXJTZWFyY2hCb3hDb21wb25lbnQgfSBmcm9tIFwiLi9zZWFyY2gtYm94L2VsZGVyLXNlYXJjaC1ib3guY29tcG9uZW50XCI7XG5leHBvcnQgeyBFbGRlclNlYXJjaFBhbmVsQ29tcG9uZW50IH0gZnJvbSBcIi4vc2VhcmNoLWJveC9lbGRlci1zZWFyY2gtcGFuZWwuY29tcG9uZW50XCI7XG5cbi8vIEJlY2F1c2Ugb2YgQU9UIENvbXBpbGVyXG5leHBvcnQgZnVuY3Rpb24gaW5pdFNlYXJjaFVybFNlcnZpY2UoXG4gIHNlYXJjaFVybFNlcnZpY2U6IEVsZGVyU2VhcmNoVXJsU2VydmljZVxuKSB7XG4gIC8vIEhhY2sgdG8gdXNlIExhbWJkYSBoZXJlIVxuICByZXR1cm4gKCkgPT4geyBzZWFyY2hVcmxTZXJ2aWNlLmluaXQoKTsgfVxufVxuXG5cbkBOZ01vZHVsZSh7XG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IEFQUF9JTklUSUFMSVpFUixcbiAgICAgICAgICAgIHVzZUZhY3Rvcnk6IGluaXRTZWFyY2hVcmxTZXJ2aWNlLFxuICAgICAgICAgICAgZGVwczogW0VsZGVyU2VhcmNoVXJsU2VydmljZV0sXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZVxuICAgICAgICB9LFxuICAgIF0sXG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsIEZvcm1zTW9kdWxlLFxuICAgICAgICBNYXRJbnB1dE1vZHVsZSwgTWF0QnV0dG9uTW9kdWxlLCBNYXRJY29uTW9kdWxlLFxuICAgICAgICBNYXRCYWRnZU1vZHVsZSxcbiAgICAgICAgQTExeU1vZHVsZSxcbiAgICAgICAgRWxkZXJPdmVybGF5TW9kdWxlLFxuICAgICAgICBFbGRlclBhbmVsTW9kdWxlLFxuICAgICAgICBFbGRlckZvcm1zRGlyZWN0aXZlc01vZHVsZSxcbiAgICAgICAgVHJhbnNsYXRlTW9kdWxlLFxuICAgICAgICBFbGRlclNlYXJjaENvbnRleHREaXJlY3RpdmUsXG4gICAgICAgIEVsZGVyU2VhcmNoVXJsRGlyZWN0aXZlLFxuICAgICAgICBFbGRlclNlYXJjaElucHV0RGlyZWN0aXZlLFxuICAgICAgICBFbGRlckluaXRpYWxWYWx1ZURpcmVjdGl2ZSxcbiAgICAgICAgRWxkZXJTZWFyY2hCb3hDb21wb25lbnQsXG4gICAgICAgIEVsZGVyU2VhcmNoUGFuZWxDb21wb25lbnRcbiAgICBdLFxuICAgIGV4cG9ydHM6IFtcbiAgICAgICAgRWxkZXJTZWFyY2hDb250ZXh0RGlyZWN0aXZlLFxuICAgICAgICBFbGRlclNlYXJjaFVybERpcmVjdGl2ZSxcbiAgICAgICAgRWxkZXJTZWFyY2hJbnB1dERpcmVjdGl2ZSxcbiAgICAgICAgRWxkZXJTZWFyY2hCb3hDb21wb25lbnQsXG4gICAgICAgIEVsZGVyU2VhcmNoUGFuZWxDb21wb25lbnRcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIEVsZGVyU2VhcmNoTW9kdWxlIHtcbn1cbiJdfQ==
104
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItc2VhcmNoLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvZm9ybXMvc2VhcmNoL2VsZGVyLXNlYXJjaC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGVBQWUsRUFBRSxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDeEQsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQywyQkFBMkIsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBQzdFLE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBQ3pFLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLHlDQUF5QyxDQUFDO0FBQ2hGLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDdkQsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ3pELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDdkQsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUN2RSxPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSwyQ0FBMkMsQ0FBQztBQUNwRixPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUNqRSxPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSw2Q0FBNkMsQ0FBQztBQUN2RixPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUNoRixPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSw2Q0FBNkMsQ0FBQztBQUN2RixPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSx1Q0FBdUMsQ0FBQzs7QUFFNUUsT0FBTyxFQUFDLDJCQUEyQixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDN0UsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0seUNBQXlDLENBQUM7QUFDaEYsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFDekUsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0seUNBQXlDLENBQUM7QUFDaEYsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sMkNBQTJDLENBQUM7QUFFcEYsMEJBQTBCO0FBQzFCLE1BQU0sVUFBVSxvQkFBb0IsQ0FDbEMsZ0JBQXVDO0lBRXZDLDJCQUEyQjtJQUMzQixPQUFPLEdBQUcsRUFBRSxHQUFHLGdCQUFnQixDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFBO0FBQzNDLENBQUM7QUFvQ0QsTUFBTSxPQUFPLGlCQUFpQjs4R0FBakIsaUJBQWlCOytHQUFqQixpQkFBaUIsWUF2QnRCLFlBQVksRUFBRSxXQUFXO1lBQ3pCLGNBQWMsRUFBRSxlQUFlLEVBQUUsYUFBYTtZQUM5QyxjQUFjO1lBQ2QsVUFBVTtZQUNWLGtCQUFrQjtZQUNsQixnQkFBZ0I7WUFDaEIsMEJBQTBCO1lBQzFCLGVBQWU7WUFDZiwyQkFBMkI7WUFDM0IsdUJBQXVCO1lBQ3ZCLHlCQUF5QjtZQUN6QiwwQkFBMEI7WUFDMUIsdUJBQXVCO1lBQ3ZCLHlCQUF5QixhQUd6QiwyQkFBMkI7WUFDM0IsdUJBQXVCO1lBQ3ZCLHlCQUF5QjtZQUN6Qix1QkFBdUI7WUFDdkIseUJBQXlCOytHQUdwQixpQkFBaUIsYUFoQ2Y7WUFDUDtnQkFDSSxPQUFPLEVBQUUsZUFBZTtnQkFDeEIsVUFBVSxFQUFFLG9CQUFvQjtnQkFDaEMsSUFBSSxFQUFFLENBQUMscUJBQXFCLENBQUM7Z0JBQzdCLEtBQUssRUFBRSxJQUFJO2FBQ2Q7U0FDSixZQUVHLFlBQVksRUFBRSxXQUFXO1lBQ3pCLGNBQWMsRUFBRSxlQUFlLEVBQUUsYUFBYTtZQUM5QyxjQUFjO1lBQ2QsVUFBVTtZQUNWLGtCQUFrQjtZQUNsQixnQkFBZ0I7WUFDaEIsMEJBQTBCO1lBQzFCLGVBQWU7WUFLZix1QkFBdUI7OzJGQVdsQixpQkFBaUI7a0JBakM3QixRQUFRO21CQUFDO29CQUNOLFNBQVMsRUFBRTt3QkFDUDs0QkFDSSxPQUFPLEVBQUUsZUFBZTs0QkFDeEIsVUFBVSxFQUFFLG9CQUFvQjs0QkFDaEMsSUFBSSxFQUFFLENBQUMscUJBQXFCLENBQUM7NEJBQzdCLEtBQUssRUFBRSxJQUFJO3lCQUNkO3FCQUNKO29CQUNELE9BQU8sRUFBRTt3QkFDTCxZQUFZLEVBQUUsV0FBVzt3QkFDekIsY0FBYyxFQUFFLGVBQWUsRUFBRSxhQUFhO3dCQUM5QyxjQUFjO3dCQUNkLFVBQVU7d0JBQ1Ysa0JBQWtCO3dCQUNsQixnQkFBZ0I7d0JBQ2hCLDBCQUEwQjt3QkFDMUIsZUFBZTt3QkFDZiwyQkFBMkI7d0JBQzNCLHVCQUF1Qjt3QkFDdkIseUJBQXlCO3dCQUN6QiwwQkFBMEI7d0JBQzFCLHVCQUF1Qjt3QkFDdkIseUJBQXlCO3FCQUM1QjtvQkFDRCxPQUFPLEVBQUU7d0JBQ0wsMkJBQTJCO3dCQUMzQix1QkFBdUI7d0JBQ3ZCLHlCQUF5Qjt3QkFDekIsdUJBQXVCO3dCQUN2Qix5QkFBeUI7cUJBQzVCO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBUFBfSU5JVElBTElaRVIsIE5nTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtFbGRlclNlYXJjaENvbnRleHREaXJlY3RpdmV9IGZyb20gJy4vZWxkZXItc2VhcmNoLWNvbnRleHQuZGlyZWN0aXZlJztcbmltcG9ydCB7RWxkZXJTZWFyY2hJbnB1dERpcmVjdGl2ZX0gZnJvbSAnLi9lbGRlci1zZWFyY2gtaW5wdXQuZGlyZWN0aXZlJztcbmltcG9ydCB7RWxkZXJTZWFyY2hCb3hDb21wb25lbnR9IGZyb20gJy4vc2VhcmNoLWJveC9lbGRlci1zZWFyY2gtYm94LmNvbXBvbmVudCc7XG5pbXBvcnQge0Zvcm1zTW9kdWxlfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge01hdEJhZGdlTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9iYWRnZSc7XG5pbXBvcnQge01hdEJ1dHRvbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7TWF0SWNvbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQge01hdElucHV0TW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XG5pbXBvcnQge0ExMXlNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7VHJhbnNsYXRlTW9kdWxlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7RWxkZXJPdmVybGF5TW9kdWxlfSBmcm9tICcuLi8uLi9vdmVybGF5cy9lbGRlci1vdmVybGF5Lm1vZHVsZSc7XG5pbXBvcnQge0VsZGVyU2VhcmNoUGFuZWxDb21wb25lbnR9IGZyb20gJy4vc2VhcmNoLWJveC9lbGRlci1zZWFyY2gtcGFuZWwuY29tcG9uZW50JztcbmltcG9ydCB7RWxkZXJQYW5lbE1vZHVsZX0gZnJvbSAnLi4vLi4vcGFuZWxzL2VsZGVyLXBhbmVsLm1vZHVsZSc7XG5pbXBvcnQge0VsZGVyRm9ybXNEaXJlY3RpdmVzTW9kdWxlfSBmcm9tICcuLi9kaXJlY3RpdmVzL2VsZGVyLWZvcm1zLWRpcmVjdGl2ZXMubW9kdWxlJztcbmltcG9ydCB7RWxkZXJTZWFyY2hVcmxEaXJlY3RpdmV9IGZyb20gJy4vZG9tYWluL3VybC9lbGRlci1zZWFyY2gtdXJsLmRpcmVjdGl2ZSc7XG5pbXBvcnQge0VsZGVySW5pdGlhbFZhbHVlRGlyZWN0aXZlfSBmcm9tICcuLi9kaXJlY3RpdmVzL2VsZGVyLWluaXRpYWwtdmFsdWUuZGlyZWN0aXZlJztcbmltcG9ydCB7RWxkZXJTZWFyY2hVcmxTZXJ2aWNlfSBmcm9tICcuL2RvbWFpbi91cmwvZWxkZXItc2VhcmNoLXVybC5zZXJ2aWNlJztcblxuZXhwb3J0IHtFbGRlclNlYXJjaENvbnRleHREaXJlY3RpdmV9IGZyb20gJy4vZWxkZXItc2VhcmNoLWNvbnRleHQuZGlyZWN0aXZlJztcbmV4cG9ydCB7RWxkZXJTZWFyY2hVcmxEaXJlY3RpdmV9IGZyb20gJy4vZG9tYWluL3VybC9lbGRlci1zZWFyY2gtdXJsLmRpcmVjdGl2ZSc7XG5leHBvcnQge0VsZGVyU2VhcmNoSW5wdXREaXJlY3RpdmV9IGZyb20gJy4vZWxkZXItc2VhcmNoLWlucHV0LmRpcmVjdGl2ZSc7XG5leHBvcnQge0VsZGVyU2VhcmNoQm94Q29tcG9uZW50fSBmcm9tICcuL3NlYXJjaC1ib3gvZWxkZXItc2VhcmNoLWJveC5jb21wb25lbnQnO1xuZXhwb3J0IHtFbGRlclNlYXJjaFBhbmVsQ29tcG9uZW50fSBmcm9tICcuL3NlYXJjaC1ib3gvZWxkZXItc2VhcmNoLXBhbmVsLmNvbXBvbmVudCc7XG5cbi8vIEJlY2F1c2Ugb2YgQU9UIENvbXBpbGVyXG5leHBvcnQgZnVuY3Rpb24gaW5pdFNlYXJjaFVybFNlcnZpY2UoXG4gIHNlYXJjaFVybFNlcnZpY2U6IEVsZGVyU2VhcmNoVXJsU2VydmljZVxuKSB7XG4gIC8vIEhhY2sgdG8gdXNlIExhbWJkYSBoZXJlIVxuICByZXR1cm4gKCkgPT4geyBzZWFyY2hVcmxTZXJ2aWNlLmluaXQoKTsgfVxufVxuXG5cbkBOZ01vZHVsZSh7XG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IEFQUF9JTklUSUFMSVpFUixcbiAgICAgICAgICAgIHVzZUZhY3Rvcnk6IGluaXRTZWFyY2hVcmxTZXJ2aWNlLFxuICAgICAgICAgICAgZGVwczogW0VsZGVyU2VhcmNoVXJsU2VydmljZV0sXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZVxuICAgICAgICB9LFxuICAgIF0sXG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsIEZvcm1zTW9kdWxlLFxuICAgICAgICBNYXRJbnB1dE1vZHVsZSwgTWF0QnV0dG9uTW9kdWxlLCBNYXRJY29uTW9kdWxlLFxuICAgICAgICBNYXRCYWRnZU1vZHVsZSxcbiAgICAgICAgQTExeU1vZHVsZSxcbiAgICAgICAgRWxkZXJPdmVybGF5TW9kdWxlLFxuICAgICAgICBFbGRlclBhbmVsTW9kdWxlLFxuICAgICAgICBFbGRlckZvcm1zRGlyZWN0aXZlc01vZHVsZSxcbiAgICAgICAgVHJhbnNsYXRlTW9kdWxlLFxuICAgICAgICBFbGRlclNlYXJjaENvbnRleHREaXJlY3RpdmUsXG4gICAgICAgIEVsZGVyU2VhcmNoVXJsRGlyZWN0aXZlLFxuICAgICAgICBFbGRlclNlYXJjaElucHV0RGlyZWN0aXZlLFxuICAgICAgICBFbGRlckluaXRpYWxWYWx1ZURpcmVjdGl2ZSxcbiAgICAgICAgRWxkZXJTZWFyY2hCb3hDb21wb25lbnQsXG4gICAgICAgIEVsZGVyU2VhcmNoUGFuZWxDb21wb25lbnRcbiAgICBdLFxuICAgIGV4cG9ydHM6IFtcbiAgICAgICAgRWxkZXJTZWFyY2hDb250ZXh0RGlyZWN0aXZlLFxuICAgICAgICBFbGRlclNlYXJjaFVybERpcmVjdGl2ZSxcbiAgICAgICAgRWxkZXJTZWFyY2hJbnB1dERpcmVjdGl2ZSxcbiAgICAgICAgRWxkZXJTZWFyY2hCb3hDb21wb25lbnQsXG4gICAgICAgIEVsZGVyU2VhcmNoUGFuZWxDb21wb25lbnRcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIEVsZGVyU2VhcmNoTW9kdWxlIHtcbn1cbiJdfQ==
@@ -123,4 +123,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImpor
123
123
  }], dense: [{
124
124
  type: Input
125
125
  }] } });
126
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItc2VhcmNoLWJveC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm1zL3NlYXJjaC9zZWFyY2gtYm94L2VsZGVyLXNlYXJjaC1ib3guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy9mb3Jtcy9zZWFyY2gvc2VhcmNoLWJveC9lbGRlci1zZWFyY2gtYm94LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDNEIsdUJBQXVCLEVBQ3hELFNBQVMsRUFBRSxZQUFZLEVBQ1gsS0FBSyxFQUVqQixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRXJELE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBQ3pFLE9BQU8sRUFBQyxlQUFlLEVBQWMsT0FBTyxFQUFZLE1BQU0sTUFBTSxDQUFDO0FBQ3JFLE9BQU8sRUFBZSxxQkFBcUIsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQzFFLE9BQU8sRUFBMEIsWUFBWSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFHbkgsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGlFQUFpRSxDQUFDO0FBQzVHLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNuRCxPQUFP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K21CQUFFLHlCQUF5Qix3T0FBRSwyQkFBMkIsaUdBQUUsT0FBTyw4RUFBRSxTQUFTLHFIQUFFLFFBQVEsa05BQUUscUJBQXFCLDhSQUFFLHlCQUF5QiwrREFBRSxTQUFTLDRLQUFFLFNBQVMsNkNBQUUsZUFBZTs7MkZBRXhULHVCQUF1QjtrQkFYbkMsU0FBUzsrQkFDSSxrQkFBa0IsWUFDbEIsZ0JBQWdCLFFBSXBCLEVBQUUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLG1CQUN6Qix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUCxDQUFDLElBQUksRUFBRSxZQUFZLEVBQUUsNEJBQTRCLEVBQUUsYUFBYSxFQUFFLFNBQVMsRUFBRSw0QkFBNEIsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSx5QkFBeUIsRUFBRSwyQkFBMkIsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxxQkFBcUIsRUFBRSx5QkFBeUIsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLGVBQWUsQ0FBQztnR0FlL1MsTUFBTTtzQkFBMUIsU0FBUzt1QkFBQyxRQUFRO2dCQUVzQixjQUFjO3NCQUF0RCxZQUFZO3VCQUFDLHlCQUF5QjtnQkFjaEMsU0FBUztzQkFEZixLQUFLO2dCQUlDLElBQUk7c0JBRFYsS0FBSztnQkFJQyxRQUFRO3NCQURkLEtBQUs7Z0JBSUMsV0FBVztzQkFEakIsS0FBSztnQkFJQyxLQUFLO3NCQURYLEtBQUs7Z0JBSUMsSUFBSTtzQkFEVixLQUFLO2dCQU1DLFlBQVk7c0JBRGxCLEtBQUs7Z0JBSUMsVUFBVTtzQkFEaEIsS0FBSztnQkF5Q0ssS0FBSztzQkFEZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJDb250ZW50SW5pdCwgQWZ0ZXJWaWV3SW5pdCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCwgQ29udGVudENoaWxkLFxuICBFbGVtZW50UmVmLCBJbnB1dCwgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIFZpZXdDaGlsZCwgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTG9nZ2VyRmFjdG9yeSB9IGZyb20gJ0BlbGRlcmJ5dGUvdHMtbG9nZ2VyJztcbmltcG9ydCB7RWxkZXJTZWFyY2hDb250ZXh0RGlyZWN0aXZlfSBmcm9tICcuLi9lbGRlci1zZWFyY2gtY29udGV4dC5kaXJlY3RpdmUnO1xuaW1wb3J0IHtFbGRlclNlYXJjaFBhbmVsQ29tcG9uZW50fSBmcm9tICcuL2VsZGVyLXNlYXJjaC1wYW5lbC5jb21wb25lbnQnO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIFN1YmplY3QsIHN3aXRjaE1hcH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0Jvb2xlYW5JbnB1dCwgY29lcmNlQm9vbGVhblByb3BlcnR5fSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkQXBwZWFyYW5jZSwgTWF0Rm9ybUZpZWxkLCBNYXRQcmVmaXgsIE1hdEhpbnQsIE1hdFN1ZmZpeCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xuaW1wb3J0IHtGaWx0ZXJ9IGZyb20gJy4uLy4uLy4uLy4uL2NvbW1vbi9kYXRhL2ZpbHRlcnMvZmlsdGVyJztcbmltcG9ydCB7bWFwLCB0YXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgRWxkZXJEaWFsb2dQYW5lbENvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL3BhbmVscy9lbGRlci1kaWFsb2ctcGFuZWwvZWxkZXItZGlhbG9nLXBhbmVsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBFbGRlck92ZXJsYXlDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9vdmVybGF5cy9lbGRlci1vdmVybGF5LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNYXRCYWRnZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2JhZGdlJztcbmltcG9ydCB7IEVsZGVyT3ZlcmxheU9yaWdpbkRpcmVjdGl2ZSB9IGZyb20gJy4uLy4uLy4uL292ZXJsYXlzL2VsZGVyLW92ZXJsYXktb3JpZ2luLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBFbGRlclNlYXJjaElucHV0RGlyZWN0aXZlIH0gZnJvbSAnLi4vZWxkZXItc2VhcmNoLWlucHV0LmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hdElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xuaW1wb3J0IHsgTWF0SWNvbiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgRWxkZXJPdmVybGF5VHJpZ2dlckRpcmVjdGl2ZSB9IGZyb20gJy4uLy4uLy4uL292ZXJsYXlzL2VsZGVyLW92ZXJsYXktdHJpZ2dlci5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgTWF0SWNvbkJ1dHRvbiwgTWF0QnV0dG9uIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IEVsZGVyRm9ybUZpZWxkRGVuc2VEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL2VsZGVyLWZvcm0tZmllbGQtZGVuc2UuZGlyZWN0aXZlJztcbmltcG9ydCB7IE5nSWYsIEFzeW5jUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cblxuZXhwb3J0IGNsYXNzIE92ZXJsYXlTdGF0ZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBoYXNPdmVybGF5OiBib29sZWFuXG4gICkgeyB9XG59XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZWxkZXItc2VhcmNoLWJveCcsXG4gICAgZXhwb3J0QXM6ICdlbGRlclNlYXJjaEJveCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2VsZGVyLXNlYXJjaC1ib3guY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2VsZGVyLXNlYXJjaC1ib3guY29tcG9uZW50LnNjc3MnXSxcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWhvc3QtbWV0YWRhdGEtcHJvcGVydHlcbiAgICBob3N0OiB7ICdjbGFzcyc6ICdlbGRlci1mb3JtLWZpZWxkLWhvc3QnIH0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbTmdJZiwgTWF0Rm9ybUZpZWxkLCBFbGRlckZvcm1GaWVsZERlbnNlRGlyZWN0aXZlLCBNYXRJY29uQnV0dG9uLCBNYXRQcmVmaXgsIEVsZGVyT3ZlcmxheVRyaWdnZXJEaXJlY3RpdmUsIE1hdEljb24sIE1hdElucHV0LCBGb3Jtc01vZHVsZSwgRWxkZXJTZWFyY2hJbnB1dERpcmVjdGl2ZSwgRWxkZXJPdmVybGF5T3JpZ2luRGlyZWN0aXZlLCBNYXRIaW50LCBNYXRTdWZmaXgsIE1hdEJhZGdlLCBFbGRlck92ZXJsYXlDb21wb25lbnQsIEVsZGVyRGlhbG9nUGFuZWxDb21wb25lbnQsIE1hdEJ1dHRvbiwgQXN5bmNQaXBlLCBUcmFuc2xhdGVNb2R1bGVdXG59KVxuZXhwb3J0IGNsYXNzIEVsZGVyU2VhcmNoQm94Q29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95LCBBZnRlckNvbnRlbnRJbml0IHtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogRmllbGRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIHJlYWRvbmx5IGxvZ2dlciA9IExvZ2dlckZhY3RvcnkuZ2V0TG9nZ2VyKHRoaXMuY29uc3RydWN0b3IubmFtZSk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSB1bnN1YnNjcmliZSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIC8vIFRoZSBzZWFyY2ggZXhwcmVzc2lvbiBpbnB1dCBFbGVtZW50XG4gIEBWaWV3Q2hpbGQoJ3NlYXJjaCcpIHNlYXJjaDogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcblxuICBAQ29udGVudENoaWxkKEVsZGVyU2VhcmNoUGFuZWxDb21wb25lbnQpIGFkdmFuY2VkU2VhcmNoOiBFbGRlclNlYXJjaFBhbmVsQ29tcG9uZW50O1xuXG4gIHB1YmxpYyByZWFkb25seSBvdmVybGF5U3RhdGUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxPdmVybGF5U3RhdGU+KG5ldyBPdmVybGF5U3RhdGUoZmFsc2UpKTtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHVibGljIEFQSSBGaWVsZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICAvKipcbiAgICogRGlzcGxheSB0aGUgc2VhcmNoIHBhbmVsIGltbWVkaWF0ZWx5IHdoZW4gdGhlIHVzZXIgZW50ZXJzIHRoZSBzZWFyY2ggYm94LlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGF1dG9QYW5lbCA9IHRydWU7XG5cbiAgQElucHV0KClcbiAgcHVibGljIG5hbWUgPSAnc2VhcmNoRXhwcmVzc2lvbic7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHF1ZXJ5S2V5ID0gJ3F1ZXJ5JztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgcGxhY2Vob2xkZXI6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgbGFiZWw6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgaGludDogc3RyaW5nO1xuXG4gIHByaXZhdGUgX2RlbnNlID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGF1dG9jb21wbGV0ZSA9ICdvZmYnO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBhcHBlYXJhbmNlOiBNYXRGb3JtRmllbGRBcHBlYXJhbmNlO1xuXG4gIHB1YmxpYyByZWFkb25seSB1c2VyRmlsdGVycyQ6IE9ic2VydmFibGU8YW55W10+O1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBDb25zdHJ1Y3RvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyByZWFkb25seSBzZWFyY2hDb250ZXh0RGlyZWN0aXZlOiBFbGRlclNlYXJjaENvbnRleHREaXJlY3RpdmUsXG4gICkge1xuICAgIHRoaXMudXNlckZpbHRlcnMkID0gc2VhcmNoQ29udGV4dERpcmVjdGl2ZS51c2VyRGVmaW5lZEF0dHJpYnV0ZXMkLnBpcGUoXG4gICAgICAvLyB0YXAoYXR0cnMgPT4gdGhpcy5sb2dnZXIuZXJyb3IoJ0F0dHJzJywgYXR0cnMpKVxuICAgICk7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogTGlmZSBDeWNsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgIHRoaXMub3ZlcmxheVN0YXRlJC5uZXh0KG5ldyBPdmVybGF5U3RhdGUoISF0aGlzLmFkdmFuY2VkU2VhcmNoKSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy51bnN1YnNjcmliZSQubmV4dCgpO1xuICAgIHRoaXMudW5zdWJzY3JpYmUkLmNvbXBsZXRlKCk7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJvcGVydGllcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGRlbnNlKHZhbHVlOiBCb29sZWFuSW5wdXQpIHsgdGhpcy5fZGVuc2UgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpOyB9XG4gIHB1YmxpYyBnZXQgZGVuc2UoKTogYm9vbGVhbiB7IHJldHVybiB0aGlzLl9kZW5zZTsgfVxuXG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFB1YmxpYyBBUEkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIGJsdXJGb2N1cyhldmVudDogYW55KTogdm9pZCB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLnNlYXJjaC5uYXRpdmVFbGVtZW50LmJsdXIoKSwgMCk7XG4gIH1cblxuICAvKipcbiAgICogT2NjdXJzIHdoZW4gdGhlIHVzZXIgY2xpY2tzIHRoZSBjbGVhciBzZWFyY2ggYnV0dG9uXG4gICAqL1xuICBwdWJsaWMgY2xlYXJTZWFyY2goZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgIHRoaXMuc2VhcmNoQ29udGV4dERpcmVjdGl2ZS5yZXNldCgpO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByaXZhdGUgbWV0aG9kcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbn1cbiIsIjxkaXYgY2xhc3M9XCJsYXlvdXQtcm93IHBsYWNlLXN0cmV0Y2gtY2VudGVyIGZ1bGwgZmxleFwiPlxuICA8bWF0LWZvcm0tZmllbGRcbiAgICAqbmdJZj1cIm92ZXJsYXlTdGF0ZSQgfCBhc3luYyBhcyBvdmVybGF5U3RhdGVcIlxuICAgIFthcHBlYXJhbmNlXT1cImFwcGVhcmFuY2VcIlxuICAgIGNsYXNzPVwiZWxkZXItc2VhcmNoLWJveC1maWVsZCBmbGV4LWF1dG9cIiBzdWJzY3JpcHRTaXppbmc9XCJkeW5hbWljXCJcbiAgICBbZWxkZXJEZW5zZV09XCJkZW5zZVwiPlxuXG4gICAgPGJ1dHRvbiBtYXRQcmVmaXggbWF0LWljb24tYnV0dG9uIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgW2VsZGVyT3ZlcmxheVRyaWdnZXJdPVwic2VhcmNoUGFuZWxcIiAoY2xpY2spPVwiYmx1ckZvY3VzKCRldmVudClcIlxuICAgID5cbiAgICAgIDxtYXQtaWNvbj5zZWFyY2g8L21hdC1pY29uPlxuICAgIDwvYnV0dG9uPlxuXG4gICAgPGlucHV0IG1hdElucHV0IHR5cGU9XCJ0ZXh0XCIgW25hbWVdPVwibmFtZVwiIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiICNzZWFyY2ggY2RrRm9jdXNJbml0aWFsXG4gICAgICAgICAgIG5nTW9kZWxcbiAgICAgICAgICAgZWxkZXJTZWFyY2hJbnB1dCBbZWxkZXJTZWFyY2hJbnB1dEtleV09XCJxdWVyeUtleVwiICNzZWFyY2hJbnB1dD1cImVsZGVyU2VhcmNoSW5wdXRcIlxuICAgICAgICAgICBbYXV0b2NvbXBsZXRlXT1cIihhdXRvUGFuZWwgJiYgb3ZlcmxheVN0YXRlLmhhc092ZXJsYXkpID8gJ29mZicgOiBhdXRvY29tcGxldGVcIlxuICAgICAgICAgICBbZWxkZXJPdmVybGF5T3JpZ2luXT1cInNlYXJjaFBhbmVsXCJcbiAgICAgICAgICAgW2VsZGVyT3ZlcmxheVRyaWdnZXJdPVwic2VhcmNoUGFuZWxcIlxuICAgICAgICAgICBbZWxkZXJPdmVybGF5VHJpZ2dlclR5cGVdPVwiJ2ZvY3VzJ1wiXG4gICAgICAgICAgIFtlbGRlck92ZXJsYXlUcmlnZ2VyRW5hYmxlZF09XCJhdXRvUGFuZWwgJiYgb3ZlcmxheVN0YXRlLmhhc092ZXJsYXkgJiYgKHNlYXJjaElucHV0Py5zdGF0ZSQgfCBhc3luYyk/LnByaXN0aW5lXCJcbiAgICA+XG4gICAgPG1hdC1oaW50ICpuZ0lmPVwiaGludFwiPnt7aGludH19PC9tYXQtaGludD5cblxuICAgIDxkaXYgY2xhc3M9XCJsYXlvdXQtcm93XCIgbWF0U3VmZml4ICpuZ0lmPVwidXNlckZpbHRlcnMkIHwgYXN5bmMgYXMgdXNlckRlZmluZWRGaWx0ZXJzXCI+XG5cbiAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAqbmdJZj1cInVzZXJEZWZpbmVkRmlsdGVycy5sZW5ndGggPiAwXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cImNsZWFyU2VhcmNoKCRldmVudClcIlxuICAgICAgICAgICAgICBuYW1lPVwiY2xlYXJcIiBhcmlhLWxhYmVsPVwiQ2xlYXJcIj5cbiAgICAgICAgPG1hdC1pY29uPmNsb3NlPC9tYXQtaWNvbj5cbiAgICAgIDwvYnV0dG9uPlxuXG4gICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgKm5nSWY9XCJvdmVybGF5U3RhdGUuaGFzT3ZlcmxheVwiIG5hbWU9XCJvcGVuUGFuZWxcIlxuICAgICAgICAgICAgICBbZWxkZXJPdmVybGF5VHJpZ2dlcl09XCJzZWFyY2hQYW5lbFwiIChjbGljayk9XCJibHVyRm9jdXMoJGV2ZW50KVwiPlxuICAgICAgICA8bWF0LWljb25cbiAgICAgICAgICBbbWF0QmFkZ2VdPVwidXNlckRlZmluZWRGaWx0ZXJzLmxlbmd0aFwiXG4gICAgICAgICAgbWF0QmFkZ2VTaXplPVwic21hbGxcIlxuICAgICAgICAgIFttYXRCYWRnZU92ZXJsYXBdPVwidHJ1ZVwiXG4gICAgICAgICAgW21hdEJhZGdlSGlkZGVuXT1cInVzZXJEZWZpbmVkRmlsdGVycy5sZW5ndGggPT09IDBcIlxuICAgICAgICAgIG1hdEJhZGdlQ29sb3I9XCJhY2NlbnRcIlxuICAgICAgICAgIFtjb2xvcl09XCJ1c2VyRGVmaW5lZEZpbHRlcnMubGVuZ3RoID4gMCA/ICdhY2NlbnQnIDogdW5kZWZpbmVkXCJcbiAgICAgICAgPlxuICAgICAgICAgIGZpbHRlcl9saXN0XG4gICAgICAgIDwvbWF0LWljb24+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9tYXQtZm9ybS1maWVsZD5cbjwvZGl2PlxuXG5cbjwhLS0gT3ZlcmxheSBQYW5lbCBmb3IgYWR2YW5jZWQgc2VhcmNoIC0tPlxuPGVsZGVyLW92ZXJsYXkgI3NlYXJjaFBhbmVsPVwiZWxkZXJPdmVybGF5XCI+XG4gIDxlbGRlci1kaWFsb2ctcGFuZWwgY2xhc3M9XCJlbGRlci1zZWFyY2gtcGFuZWwtY29udGFpbmVyXCI+XG5cbiAgICA8IS0tIFByb2plY3QgdGhlIHVzZXJzIHNlYXJjaCBpbnB1dHMgaGVyZSAtLT5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJlbGRlci1zZWFyY2gtcGFuZWxcIj48L25nLWNvbnRlbnQ+XG5cbiAgICA8ZGl2IGNsYXNzPVwibGF5b3V0LXJvdyBwbGFjZS1iZXR3ZWVuLWNlbnRlclwiPlxuICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgbmFtZT1cImNsZWFyXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cImNsZWFyU2VhcmNoKCRldmVudClcIj57eydjb250ZXh0LnJlc2V0JyB8IHRyYW5zbGF0ZX19XG4gICAgICA8L2J1dHRvbj5cblxuICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgbmFtZT1cIm9rXCIgY29sb3I9XCJwcmltYXJ5XCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cInNlYXJjaFBhbmVsLmNsb3NlT3ZlcmxheSgpXCI+T2tcbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L2VsZGVyLWRpYWxvZy1wYW5lbD5cbjwvZWxkZXItb3ZlcmxheT5cbiJdfQ==
126
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItc2VhcmNoLWJveC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm1zL3NlYXJjaC9zZWFyY2gtYm94L2VsZGVyLXNlYXJjaC1ib3guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy9mb3Jtcy9zZWFyY2gvc2VhcmNoLWJveC9lbGRlci1zZWFyY2gtYm94LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDYSx1QkFBdUIsRUFDekMsU0FBUyxFQUFFLFlBQVksRUFDWCxLQUFLLEVBQ2pCLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFFbkQsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFDekUsT0FBTyxFQUFDLGVBQWUsRUFBYyxPQUFPLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDMUQsT0FBTyxFQUFlLHFCQUFxQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDMUUsT0FBTyxFQUF5QixZQUFZLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUNqSCxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0saUVBQWlFLENBQUM7QUFDMUcsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sMkNBQTJDLENBQUM7QUFDaEYsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ2pELE9BQU8s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bUJBQUUseUJBQXlCLHdPQUFFLDJCQUEyQixpR0FBRSxPQUFPLDhFQUFFLFNBQVMscUhBQUUsUUFBUSxrTkFBRSxxQkFBcUIsOFJBQUUseUJBQXlCLCtEQUFFLFNBQVMsNEtBQUUsU0FBUyw2Q0FBRSxlQUFlOzsyRkFFeFQsdUJBQXVCO2tCQVhuQyxTQUFTOytCQUNJLGtCQUFrQixZQUNsQixnQkFBZ0IsUUFJcEIsRUFBQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUMsbUJBQ3ZCLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQLENBQUMsSUFBSSxFQUFFLFlBQVksRUFBRSw0QkFBNEIsRUFBRSxhQUFhLEVBQUUsU0FBUyxFQUFFLDRCQUE0QixFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLHlCQUF5QixFQUFFLDJCQUEyQixFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLHFCQUFxQixFQUFFLHlCQUF5QixFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsZUFBZSxDQUFDO2dHQWUvUyxNQUFNO3NCQUExQixTQUFTO3VCQUFDLFFBQVE7Z0JBRXNCLGNBQWM7c0JBQXRELFlBQVk7dUJBQUMseUJBQXlCO2dCQWNoQyxTQUFTO3NCQURmLEtBQUs7Z0JBSUMsSUFBSTtzQkFEVixLQUFLO2dCQUlDLFFBQVE7c0JBRGQsS0FBSztnQkFJQyxXQUFXO3NCQURqQixLQUFLO2dCQUlDLEtBQUs7c0JBRFgsS0FBSztnQkFJQyxJQUFJO3NCQURWLEtBQUs7Z0JBTUMsWUFBWTtzQkFEbEIsS0FBSztnQkFJQyxVQUFVO3NCQURoQixLQUFLO2dCQXlDSyxLQUFLO3NCQURmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlckNvbnRlbnRJbml0LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LCBDb250ZW50Q2hpbGQsXG4gIEVsZW1lbnRSZWYsIElucHV0LCBPbkRlc3Ryb3ksXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0xvZ2dlckZhY3Rvcnl9IGZyb20gJ0BlbGRlcmJ5dGUvdHMtbG9nZ2VyJztcbmltcG9ydCB7RWxkZXJTZWFyY2hDb250ZXh0RGlyZWN0aXZlfSBmcm9tICcuLi9lbGRlci1zZWFyY2gtY29udGV4dC5kaXJlY3RpdmUnO1xuaW1wb3J0IHtFbGRlclNlYXJjaFBhbmVsQ29tcG9uZW50fSBmcm9tICcuL2VsZGVyLXNlYXJjaC1wYW5lbC5jb21wb25lbnQnO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIFN1YmplY3R9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtCb29sZWFuSW5wdXQsIGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eX0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7TWF0Rm9ybUZpZWxkQXBwZWFyYW5jZSwgTWF0Rm9ybUZpZWxkLCBNYXRQcmVmaXgsIE1hdEhpbnQsIE1hdFN1ZmZpeH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQge1RyYW5zbGF0ZU1vZHVsZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge0VsZGVyRGlhbG9nUGFuZWxDb21wb25lbnR9IGZyb20gJy4uLy4uLy4uL3BhbmVscy9lbGRlci1kaWFsb2ctcGFuZWwvZWxkZXItZGlhbG9nLXBhbmVsLmNvbXBvbmVudCc7XG5pbXBvcnQge0VsZGVyT3ZlcmxheUNvbXBvbmVudH0gZnJvbSAnLi4vLi4vLi4vb3ZlcmxheXMvZWxkZXItb3ZlcmxheS5jb21wb25lbnQnO1xuaW1wb3J0IHtNYXRCYWRnZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYmFkZ2UnO1xuaW1wb3J0IHtFbGRlck92ZXJsYXlPcmlnaW5EaXJlY3RpdmV9IGZyb20gJy4uLy4uLy4uL292ZXJsYXlzL2VsZGVyLW92ZXJsYXktb3JpZ2luLmRpcmVjdGl2ZSc7XG5pbXBvcnQge0VsZGVyU2VhcmNoSW5wdXREaXJlY3RpdmV9IGZyb20gJy4uL2VsZGVyLXNlYXJjaC1pbnB1dC5kaXJlY3RpdmUnO1xuaW1wb3J0IHtGb3Jtc01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtNYXRJbnB1dH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xuaW1wb3J0IHtNYXRJY29ufSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7RWxkZXJPdmVybGF5VHJpZ2dlckRpcmVjdGl2ZX0gZnJvbSAnLi4vLi4vLi4vb3ZlcmxheXMvZWxkZXItb3ZlcmxheS10cmlnZ2VyLmRpcmVjdGl2ZSc7XG5pbXBvcnQge01hdEljb25CdXR0b24sIE1hdEJ1dHRvbn0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7RWxkZXJGb3JtRmllbGREZW5zZURpcmVjdGl2ZX0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcy9lbGRlci1mb3JtLWZpZWxkLWRlbnNlLmRpcmVjdGl2ZSc7XG5pbXBvcnQge05nSWYsIEFzeW5jUGlwZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuXG5leHBvcnQgY2xhc3MgT3ZlcmxheVN0YXRlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGhhc092ZXJsYXk6IGJvb2xlYW5cbiAgKSB7IH1cbn1cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdlbGRlci1zZWFyY2gtYm94JyxcbiAgICBleHBvcnRBczogJ2VsZGVyU2VhcmNoQm94JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZWxkZXItc2VhcmNoLWJveC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZWxkZXItc2VhcmNoLWJveC5jb21wb25lbnQuc2NzcyddLFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taG9zdC1tZXRhZGF0YS1wcm9wZXJ0eVxuICAgIGhvc3Q6IHsnY2xhc3MnOiAnZWxkZXItZm9ybS1maWVsZC1ob3N0J30sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbTmdJZiwgTWF0Rm9ybUZpZWxkLCBFbGRlckZvcm1GaWVsZERlbnNlRGlyZWN0aXZlLCBNYXRJY29uQnV0dG9uLCBNYXRQcmVmaXgsIEVsZGVyT3ZlcmxheVRyaWdnZXJEaXJlY3RpdmUsIE1hdEljb24sIE1hdElucHV0LCBGb3Jtc01vZHVsZSwgRWxkZXJTZWFyY2hJbnB1dERpcmVjdGl2ZSwgRWxkZXJPdmVybGF5T3JpZ2luRGlyZWN0aXZlLCBNYXRIaW50LCBNYXRTdWZmaXgsIE1hdEJhZGdlLCBFbGRlck92ZXJsYXlDb21wb25lbnQsIEVsZGVyRGlhbG9nUGFuZWxDb21wb25lbnQsIE1hdEJ1dHRvbiwgQXN5bmNQaXBlLCBUcmFuc2xhdGVNb2R1bGVdXG59KVxuZXhwb3J0IGNsYXNzIEVsZGVyU2VhcmNoQm94Q29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95LCBBZnRlckNvbnRlbnRJbml0IHtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogRmllbGRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIHJlYWRvbmx5IGxvZ2dlciA9IExvZ2dlckZhY3RvcnkuZ2V0TG9nZ2VyKHRoaXMuY29uc3RydWN0b3IubmFtZSk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSB1bnN1YnNjcmliZSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIC8vIFRoZSBzZWFyY2ggZXhwcmVzc2lvbiBpbnB1dCBFbGVtZW50XG4gIEBWaWV3Q2hpbGQoJ3NlYXJjaCcpIHNlYXJjaDogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcblxuICBAQ29udGVudENoaWxkKEVsZGVyU2VhcmNoUGFuZWxDb21wb25lbnQpIGFkdmFuY2VkU2VhcmNoOiBFbGRlclNlYXJjaFBhbmVsQ29tcG9uZW50O1xuXG4gIHB1YmxpYyByZWFkb25seSBvdmVybGF5U3RhdGUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxPdmVybGF5U3RhdGU+KG5ldyBPdmVybGF5U3RhdGUoZmFsc2UpKTtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHVibGljIEFQSSBGaWVsZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICAvKipcbiAgICogRGlzcGxheSB0aGUgc2VhcmNoIHBhbmVsIGltbWVkaWF0ZWx5IHdoZW4gdGhlIHVzZXIgZW50ZXJzIHRoZSBzZWFyY2ggYm94LlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGF1dG9QYW5lbCA9IHRydWU7XG5cbiAgQElucHV0KClcbiAgcHVibGljIG5hbWUgPSAnc2VhcmNoRXhwcmVzc2lvbic7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHF1ZXJ5S2V5ID0gJ3F1ZXJ5JztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgcGxhY2Vob2xkZXI6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgbGFiZWw6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgaGludDogc3RyaW5nO1xuXG4gIHByaXZhdGUgX2RlbnNlID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGF1dG9jb21wbGV0ZSA9ICdvZmYnO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBhcHBlYXJhbmNlOiBNYXRGb3JtRmllbGRBcHBlYXJhbmNlO1xuXG4gIHB1YmxpYyByZWFkb25seSB1c2VyRmlsdGVycyQ6IE9ic2VydmFibGU8YW55W10+O1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBDb25zdHJ1Y3RvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyByZWFkb25seSBzZWFyY2hDb250ZXh0RGlyZWN0aXZlOiBFbGRlclNlYXJjaENvbnRleHREaXJlY3RpdmUsXG4gICkge1xuICAgIHRoaXMudXNlckZpbHRlcnMkID0gc2VhcmNoQ29udGV4dERpcmVjdGl2ZS51c2VyRGVmaW5lZEF0dHJpYnV0ZXMkLnBpcGUoXG4gICAgICAvLyB0YXAoYXR0cnMgPT4gdGhpcy5sb2dnZXIuZXJyb3IoJ0F0dHJzJywgYXR0cnMpKVxuICAgICk7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogTGlmZSBDeWNsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgIHRoaXMub3ZlcmxheVN0YXRlJC5uZXh0KG5ldyBPdmVybGF5U3RhdGUoISF0aGlzLmFkdmFuY2VkU2VhcmNoKSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy51bnN1YnNjcmliZSQubmV4dCgpO1xuICAgIHRoaXMudW5zdWJzY3JpYmUkLmNvbXBsZXRlKCk7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJvcGVydGllcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGRlbnNlKHZhbHVlOiBCb29sZWFuSW5wdXQpIHsgdGhpcy5fZGVuc2UgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpOyB9XG4gIHB1YmxpYyBnZXQgZGVuc2UoKTogYm9vbGVhbiB7IHJldHVybiB0aGlzLl9kZW5zZTsgfVxuXG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFB1YmxpYyBBUEkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIGJsdXJGb2N1cyhldmVudDogYW55KTogdm9pZCB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLnNlYXJjaC5uYXRpdmVFbGVtZW50LmJsdXIoKSwgMCk7XG4gIH1cblxuICAvKipcbiAgICogT2NjdXJzIHdoZW4gdGhlIHVzZXIgY2xpY2tzIHRoZSBjbGVhciBzZWFyY2ggYnV0dG9uXG4gICAqL1xuICBwdWJsaWMgY2xlYXJTZWFyY2goZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgIHRoaXMuc2VhcmNoQ29udGV4dERpcmVjdGl2ZS5yZXNldCgpO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByaXZhdGUgbWV0aG9kcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbn1cbiIsIjxkaXYgY2xhc3M9XCJsYXlvdXQtcm93IHBsYWNlLXN0cmV0Y2gtY2VudGVyIGZ1bGwgZmxleFwiPlxuICA8bWF0LWZvcm0tZmllbGRcbiAgICAqbmdJZj1cIm92ZXJsYXlTdGF0ZSQgfCBhc3luYyBhcyBvdmVybGF5U3RhdGVcIlxuICAgIFthcHBlYXJhbmNlXT1cImFwcGVhcmFuY2VcIlxuICAgIGNsYXNzPVwiZWxkZXItc2VhcmNoLWJveC1maWVsZCBmbGV4LWF1dG9cIiBzdWJzY3JpcHRTaXppbmc9XCJkeW5hbWljXCJcbiAgICBbZWxkZXJEZW5zZV09XCJkZW5zZVwiPlxuXG4gICAgPGJ1dHRvbiBtYXRQcmVmaXggbWF0LWljb24tYnV0dG9uIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgW2VsZGVyT3ZlcmxheVRyaWdnZXJdPVwic2VhcmNoUGFuZWxcIiAoY2xpY2spPVwiYmx1ckZvY3VzKCRldmVudClcIlxuICAgID5cbiAgICAgIDxtYXQtaWNvbj5zZWFyY2g8L21hdC1pY29uPlxuICAgIDwvYnV0dG9uPlxuXG4gICAgPGlucHV0IG1hdElucHV0IHR5cGU9XCJ0ZXh0XCIgW25hbWVdPVwibmFtZVwiIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiICNzZWFyY2ggY2RrRm9jdXNJbml0aWFsXG4gICAgICAgICAgIG5nTW9kZWxcbiAgICAgICAgICAgZWxkZXJTZWFyY2hJbnB1dCBbZWxkZXJTZWFyY2hJbnB1dEtleV09XCJxdWVyeUtleVwiICNzZWFyY2hJbnB1dD1cImVsZGVyU2VhcmNoSW5wdXRcIlxuICAgICAgICAgICBbYXV0b2NvbXBsZXRlXT1cIihhdXRvUGFuZWwgJiYgb3ZlcmxheVN0YXRlLmhhc092ZXJsYXkpID8gJ29mZicgOiBhdXRvY29tcGxldGVcIlxuICAgICAgICAgICBbZWxkZXJPdmVybGF5T3JpZ2luXT1cInNlYXJjaFBhbmVsXCJcbiAgICAgICAgICAgW2VsZGVyT3ZlcmxheVRyaWdnZXJdPVwic2VhcmNoUGFuZWxcIlxuICAgICAgICAgICBbZWxkZXJPdmVybGF5VHJpZ2dlclR5cGVdPVwiJ2ZvY3VzJ1wiXG4gICAgICAgICAgIFtlbGRlck92ZXJsYXlUcmlnZ2VyRW5hYmxlZF09XCJhdXRvUGFuZWwgJiYgb3ZlcmxheVN0YXRlLmhhc092ZXJsYXkgJiYgKHNlYXJjaElucHV0Py5zdGF0ZSQgfCBhc3luYyk/LnByaXN0aW5lXCJcbiAgICA+XG4gICAgPG1hdC1oaW50ICpuZ0lmPVwiaGludFwiPnt7aGludH19PC9tYXQtaGludD5cblxuICAgIDxkaXYgY2xhc3M9XCJsYXlvdXQtcm93XCIgbWF0U3VmZml4ICpuZ0lmPVwidXNlckZpbHRlcnMkIHwgYXN5bmMgYXMgdXNlckRlZmluZWRGaWx0ZXJzXCI+XG5cbiAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAqbmdJZj1cInVzZXJEZWZpbmVkRmlsdGVycy5sZW5ndGggPiAwXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cImNsZWFyU2VhcmNoKCRldmVudClcIlxuICAgICAgICAgICAgICBuYW1lPVwiY2xlYXJcIiBhcmlhLWxhYmVsPVwiQ2xlYXJcIj5cbiAgICAgICAgPG1hdC1pY29uPmNsb3NlPC9tYXQtaWNvbj5cbiAgICAgIDwvYnV0dG9uPlxuXG4gICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgKm5nSWY9XCJvdmVybGF5U3RhdGUuaGFzT3ZlcmxheVwiIG5hbWU9XCJvcGVuUGFuZWxcIlxuICAgICAgICAgICAgICBbZWxkZXJPdmVybGF5VHJpZ2dlcl09XCJzZWFyY2hQYW5lbFwiIChjbGljayk9XCJibHVyRm9jdXMoJGV2ZW50KVwiPlxuICAgICAgICA8bWF0LWljb25cbiAgICAgICAgICBbbWF0QmFkZ2VdPVwidXNlckRlZmluZWRGaWx0ZXJzLmxlbmd0aFwiXG4gICAgICAgICAgbWF0QmFkZ2VTaXplPVwic21hbGxcIlxuICAgICAgICAgIFttYXRCYWRnZU92ZXJsYXBdPVwidHJ1ZVwiXG4gICAgICAgICAgW21hdEJhZGdlSGlkZGVuXT1cInVzZXJEZWZpbmVkRmlsdGVycy5sZW5ndGggPT09IDBcIlxuICAgICAgICAgIG1hdEJhZGdlQ29sb3I9XCJhY2NlbnRcIlxuICAgICAgICAgIFtjb2xvcl09XCJ1c2VyRGVmaW5lZEZpbHRlcnMubGVuZ3RoID4gMCA/ICdhY2NlbnQnIDogdW5kZWZpbmVkXCJcbiAgICAgICAgPlxuICAgICAgICAgIGZpbHRlcl9saXN0XG4gICAgICAgIDwvbWF0LWljb24+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9tYXQtZm9ybS1maWVsZD5cbjwvZGl2PlxuXG5cbjwhLS0gT3ZlcmxheSBQYW5lbCBmb3IgYWR2YW5jZWQgc2VhcmNoIC0tPlxuPGVsZGVyLW92ZXJsYXkgI3NlYXJjaFBhbmVsPVwiZWxkZXJPdmVybGF5XCI+XG4gIDxlbGRlci1kaWFsb2ctcGFuZWwgY2xhc3M9XCJlbGRlci1zZWFyY2gtcGFuZWwtY29udGFpbmVyXCI+XG5cbiAgICA8IS0tIFByb2plY3QgdGhlIHVzZXJzIHNlYXJjaCBpbnB1dHMgaGVyZSAtLT5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJlbGRlci1zZWFyY2gtcGFuZWxcIj48L25nLWNvbnRlbnQ+XG5cbiAgICA8ZGl2IGNsYXNzPVwibGF5b3V0LXJvdyBwbGFjZS1iZXR3ZWVuLWNlbnRlclwiPlxuICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgbmFtZT1cImNsZWFyXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cImNsZWFyU2VhcmNoKCRldmVudClcIj57eydjb250ZXh0LnJlc2V0JyB8IHRyYW5zbGF0ZX19XG4gICAgICA8L2J1dHRvbj5cblxuICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgbmFtZT1cIm9rXCIgY29sb3I9XCJwcmltYXJ5XCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cInNlYXJjaFBhbmVsLmNsb3NlT3ZlcmxheSgpXCI+T2tcbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L2VsZGVyLWRpYWxvZy1wYW5lbD5cbjwvZWxkZXItb3ZlcmxheT5cbiJdfQ==