geonetwork-ui 2.3.0-dev.e03215d1 → 2.3.0-dev.e43863db

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 (206) hide show
  1. package/esm2022/libs/api/metadata-converter/src/lib/iso19115-3/iso19115-3.converter.mjs +2 -2
  2. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/iso19139.converter.mjs +9 -7
  3. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/read-parts.mjs +23 -8
  4. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/write-parts.mjs +15 -4
  5. package/esm2022/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.mjs +9 -7
  6. package/esm2022/libs/common/domain/src/lib/model/record/metadata.model.mjs +1 -1
  7. package/esm2022/libs/feature/dataviz/src/lib/chart-view/chart-view.component.mjs +1 -1
  8. package/esm2022/libs/feature/dataviz/src/lib/service/data.service.mjs +47 -2
  9. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.mjs +1 -1
  10. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.mjs +104 -0
  11. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.mjs +8 -3
  12. package/esm2022/libs/feature/editor/src/lib/components/wizard-field/wizard-field.component.mjs +1 -1
  13. package/esm2022/libs/feature/editor/src/lib/fields.config.mjs +8 -1
  14. package/esm2022/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.mjs +73 -20
  15. package/esm2022/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.mjs +1 -1
  16. package/esm2022/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.mjs +1 -1
  17. package/esm2022/libs/feature/map/src/lib/map-context/map-context.model.mjs +1 -1
  18. package/esm2022/libs/feature/map/src/lib/map-context/map-context.service.mjs +58 -17
  19. package/esm2022/libs/feature/map/src/lib/utils/map-utils.service.mjs +7 -3
  20. package/esm2022/libs/feature/record/src/lib/data-view/data-view.component.mjs +1 -1
  21. package/esm2022/libs/feature/record/src/lib/map-view/map-view.component.mjs +17 -9
  22. package/esm2022/libs/feature/record/src/lib/state/mdview.facade.mjs +34 -5
  23. package/esm2022/libs/feature/record/src/lib/state/mdview.reducer.mjs +1 -3
  24. package/esm2022/libs/feature/search/src/index.mjs +2 -1
  25. package/esm2022/libs/feature/search/src/lib/results-layout/results-layout.component.mjs +1 -1
  26. package/esm2022/libs/feature/search/src/lib/results-list/results-list.container.component.mjs +4 -4
  27. package/esm2022/libs/feature/search/src/lib/sort-by/sort-by.component.mjs +1 -1
  28. package/esm2022/libs/feature/search/src/lib/utils/service/fields.service.mjs +1 -1
  29. package/esm2022/libs/ui/catalog/src/lib/language-switcher/language-switcher.component.mjs +1 -1
  30. package/esm2022/libs/ui/catalog/src/lib/organisations-filter/organisations-filter.component.mjs +1 -1
  31. package/esm2022/libs/ui/elements/src/index.mjs +2 -2
  32. package/esm2022/libs/ui/elements/src/lib/api-card/api-card.component.mjs +3 -2
  33. package/esm2022/libs/ui/elements/src/lib/downloads-list/downloads-list.component.mjs +2 -2
  34. package/esm2022/libs/ui/elements/src/lib/error/error.component.mjs +30 -0
  35. package/esm2022/libs/ui/elements/src/lib/link-card/link-card.component.mjs +16 -3
  36. package/esm2022/libs/ui/elements/src/lib/record-api-form/record-api-form.component.mjs +89 -54
  37. package/esm2022/libs/ui/elements/src/lib/ui-elements.module.mjs +6 -11
  38. package/esm2022/libs/ui/elements/src/lib/user-feedback-item/user-feedback-item.component.mjs +3 -5
  39. package/esm2022/libs/ui/inputs/src/index.mjs +2 -1
  40. package/esm2022/libs/ui/inputs/src/lib/check-toggle/check-toggle.component.mjs +4 -3
  41. package/esm2022/libs/ui/inputs/src/lib/dropdown-selector/dropdown-selector.component.mjs +5 -3
  42. package/esm2022/libs/ui/inputs/src/lib/previous-next-buttons/previous-next-buttons.component.mjs +29 -0
  43. package/esm2022/libs/ui/inputs/src/lib/text-input/text-input.component.mjs +5 -3
  44. package/esm2022/libs/ui/inputs/src/lib/ui-inputs.module.mjs +6 -5
  45. package/esm2022/libs/ui/layout/src/index.mjs +2 -1
  46. package/esm2022/libs/ui/layout/src/lib/block-list/block-list.component.mjs +76 -0
  47. package/esm2022/libs/ui/layout/src/lib/carousel/carousel.component.mjs +42 -18
  48. package/esm2022/libs/ui/layout/src/lib/ui-layout.module.mjs +3 -8
  49. package/esm2022/libs/util/app-config/src/lib/app-config.mjs +3 -1
  50. package/esm2022/libs/util/app-config/src/lib/fixtures.mjs +2 -1
  51. package/esm2022/libs/util/app-config/src/lib/model.mjs +1 -1
  52. package/esm2022/libs/util/shared/src/lib/links/link-classifier.service.mjs +2 -2
  53. package/esm2022/translations/de.json +12 -14
  54. package/esm2022/translations/en.json +12 -14
  55. package/esm2022/translations/es.json +12 -14
  56. package/esm2022/translations/fr.json +12 -14
  57. package/esm2022/translations/it.json +12 -14
  58. package/esm2022/translations/nl.json +12 -14
  59. package/esm2022/translations/pt.json +12 -14
  60. package/fesm2022/geonetwork-ui.mjs +997 -536
  61. package/fesm2022/geonetwork-ui.mjs.map +1 -1
  62. package/libs/api/metadata-converter/src/lib/iso19115-3/iso19115-3.converter.d.ts +2 -2
  63. package/libs/api/metadata-converter/src/lib/iso19115-3/iso19115-3.converter.d.ts.map +1 -1
  64. package/libs/api/metadata-converter/src/lib/iso19139/iso19139.converter.d.ts +1 -1
  65. package/libs/api/metadata-converter/src/lib/iso19139/iso19139.converter.d.ts.map +1 -1
  66. package/libs/api/metadata-converter/src/lib/iso19139/read-parts.d.ts +4 -1
  67. package/libs/api/metadata-converter/src/lib/iso19139/read-parts.d.ts.map +1 -1
  68. package/libs/api/metadata-converter/src/lib/iso19139/write-parts.d.ts +2 -1
  69. package/libs/api/metadata-converter/src/lib/iso19139/write-parts.d.ts.map +1 -1
  70. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts.map +1 -1
  71. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts +3 -3
  72. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts.map +1 -1
  73. package/libs/feature/dataviz/src/lib/service/data.service.d.ts +4 -1
  74. package/libs/feature/dataviz/src/lib/service/data.service.d.ts.map +1 -1
  75. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.d.ts +21 -0
  76. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.d.ts.map +1 -0
  77. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.d.ts +1 -0
  78. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.d.ts.map +1 -1
  79. package/libs/feature/editor/src/lib/fields.config.d.ts.map +1 -1
  80. package/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.d.ts +10 -5
  81. package/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.d.ts.map +1 -1
  82. package/libs/feature/map/src/lib/map-context/map-context.model.d.ts +7 -0
  83. package/libs/feature/map/src/lib/map-context/map-context.model.d.ts.map +1 -1
  84. package/libs/feature/map/src/lib/map-context/map-context.service.d.ts +1 -1
  85. package/libs/feature/map/src/lib/map-context/map-context.service.d.ts.map +1 -1
  86. package/libs/feature/map/src/lib/utils/map-utils.service.d.ts.map +1 -1
  87. package/libs/feature/record/src/lib/map-view/map-view.component.d.ts +2 -2
  88. package/libs/feature/record/src/lib/map-view/map-view.component.d.ts.map +1 -1
  89. package/libs/feature/record/src/lib/state/mdview.facade.d.ts +5 -2
  90. package/libs/feature/record/src/lib/state/mdview.facade.d.ts.map +1 -1
  91. package/libs/feature/record/src/lib/state/mdview.reducer.d.ts.map +1 -1
  92. package/libs/feature/search/src/index.d.ts +1 -0
  93. package/libs/feature/search/src/index.d.ts.map +1 -1
  94. package/libs/feature/search/src/lib/utils/service/fields.service.d.ts +3 -3
  95. package/libs/feature/search/src/lib/utils/service/fields.service.d.ts.map +1 -1
  96. package/libs/ui/elements/src/index.d.ts +1 -1
  97. package/libs/ui/elements/src/index.d.ts.map +1 -1
  98. package/libs/ui/elements/src/lib/api-card/api-card.component.d.ts.map +1 -1
  99. package/libs/ui/elements/src/lib/error/error.component.d.ts +16 -0
  100. package/libs/ui/elements/src/lib/error/error.component.d.ts.map +1 -0
  101. package/libs/ui/elements/src/lib/link-card/link-card.component.d.ts +3 -1
  102. package/libs/ui/elements/src/lib/link-card/link-card.component.d.ts.map +1 -1
  103. package/libs/ui/elements/src/lib/record-api-form/record-api-form.component.d.ts +22 -4
  104. package/libs/ui/elements/src/lib/record-api-form/record-api-form.component.d.ts.map +1 -1
  105. package/libs/ui/elements/src/lib/ui-elements.module.d.ts +29 -30
  106. package/libs/ui/elements/src/lib/ui-elements.module.d.ts.map +1 -1
  107. package/libs/ui/elements/src/lib/user-feedback-item/user-feedback-item.component.d.ts +1 -2
  108. package/libs/ui/elements/src/lib/user-feedback-item/user-feedback-item.component.d.ts.map +1 -1
  109. package/libs/ui/inputs/src/index.d.ts +1 -0
  110. package/libs/ui/inputs/src/index.d.ts.map +1 -1
  111. package/libs/ui/inputs/src/lib/check-toggle/check-toggle.component.d.ts +1 -1
  112. package/libs/ui/inputs/src/lib/check-toggle/check-toggle.component.d.ts.map +1 -1
  113. package/libs/ui/inputs/src/lib/dropdown-selector/dropdown-selector.component.d.ts +2 -1
  114. package/libs/ui/inputs/src/lib/dropdown-selector/dropdown-selector.component.d.ts.map +1 -1
  115. package/libs/ui/inputs/src/lib/previous-next-buttons/previous-next-buttons.component.d.ts +12 -0
  116. package/libs/ui/inputs/src/lib/previous-next-buttons/previous-next-buttons.component.d.ts.map +1 -0
  117. package/libs/ui/inputs/src/lib/text-input/text-input.component.d.ts +2 -1
  118. package/libs/ui/inputs/src/lib/text-input/text-input.component.d.ts.map +1 -1
  119. package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts +27 -27
  120. package/libs/ui/layout/src/index.d.ts +1 -0
  121. package/libs/ui/layout/src/index.d.ts.map +1 -1
  122. package/libs/ui/layout/src/lib/block-list/block-list.component.d.ts +25 -0
  123. package/libs/ui/layout/src/lib/block-list/block-list.component.d.ts.map +1 -0
  124. package/libs/ui/layout/src/lib/carousel/carousel.component.d.ts +13 -6
  125. package/libs/ui/layout/src/lib/carousel/carousel.component.d.ts.map +1 -1
  126. package/libs/ui/layout/src/lib/ui-layout.module.d.ts +4 -5
  127. package/libs/ui/layout/src/lib/ui-layout.module.d.ts.map +1 -1
  128. package/libs/util/app-config/src/lib/app-config.d.ts.map +1 -1
  129. package/libs/util/app-config/src/lib/fixtures.d.ts.map +1 -1
  130. package/libs/util/app-config/src/lib/model.d.ts +1 -0
  131. package/libs/util/app-config/src/lib/model.d.ts.map +1 -1
  132. package/package.json +2 -2
  133. package/src/libs/api/metadata-converter/src/lib/fixtures/generic.records.ts +9 -1
  134. package/src/libs/api/metadata-converter/src/lib/iso19115-3/iso19115-3.converter.ts +3 -3
  135. package/src/libs/api/metadata-converter/src/lib/iso19139/iso19139.converter.ts +35 -31
  136. package/src/libs/api/metadata-converter/src/lib/iso19139/read-parts.ts +68 -16
  137. package/src/libs/api/metadata-converter/src/lib/iso19139/write-parts.ts +72 -17
  138. package/src/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.ts +16 -10
  139. package/src/libs/common/domain/src/lib/model/record/metadata.model.ts +3 -3
  140. package/src/libs/common/fixtures/src/lib/link.fixtures.ts +8 -0
  141. package/src/libs/common/fixtures/src/lib/records.fixtures.ts +8 -0
  142. package/src/libs/feature/dataviz/src/lib/service/data.service.ts +65 -1
  143. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.css +0 -0
  144. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.html +14 -0
  145. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.ts +143 -0
  146. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.html +5 -0
  147. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.ts +5 -0
  148. package/src/libs/feature/editor/src/lib/fields.config.ts +7 -0
  149. package/src/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.css +7 -0
  150. package/src/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.html +32 -18
  151. package/src/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.ts +72 -17
  152. package/src/libs/feature/map/src/lib/map-context/map-context.model.ts +7 -0
  153. package/src/libs/feature/map/src/lib/map-context/map-context.service.ts +57 -17
  154. package/src/libs/feature/map/src/lib/utils/map-utils.service.ts +6 -2
  155. package/src/libs/feature/record/src/lib/map-view/map-view.component.ts +17 -9
  156. package/src/libs/feature/record/src/lib/state/mdview.facade.ts +40 -4
  157. package/src/libs/feature/record/src/lib/state/mdview.reducer.ts +0 -2
  158. package/src/libs/feature/search/src/index.ts +1 -0
  159. package/src/libs/feature/search/src/lib/results-list/results-list.container.component.html +4 -4
  160. package/src/libs/feature/search/src/lib/utils/service/fields.service.ts +2 -2
  161. package/src/libs/ui/elements/src/index.ts +1 -1
  162. package/src/libs/ui/elements/src/lib/api-card/api-card.component.ts +2 -1
  163. package/src/libs/ui/elements/src/lib/downloads-list/downloads-list.component.ts +1 -1
  164. package/src/libs/ui/elements/src/lib/{search-results-error/search-results-error.component.html → error/error.component.html} +18 -3
  165. package/src/libs/ui/elements/src/lib/{search-results-error/search-results-error.component.ts → error/error.component.ts} +5 -4
  166. package/src/libs/ui/elements/src/lib/link-card/link-card.component.html +38 -20
  167. package/src/libs/ui/elements/src/lib/link-card/link-card.component.ts +12 -0
  168. package/src/libs/ui/elements/src/lib/record-api-form/record-api-form.component.html +25 -9
  169. package/src/libs/ui/elements/src/lib/record-api-form/record-api-form.component.ts +116 -57
  170. package/src/libs/ui/elements/src/lib/ui-elements.module.ts +3 -6
  171. package/src/libs/ui/elements/src/lib/user-feedback-item/user-feedback-item.component.html +1 -1
  172. package/src/libs/ui/elements/src/lib/user-feedback-item/user-feedback-item.component.ts +0 -1
  173. package/src/libs/ui/inputs/src/index.ts +1 -0
  174. package/src/libs/ui/inputs/src/lib/check-toggle/check-toggle.component.ts +3 -0
  175. package/src/libs/ui/inputs/src/lib/dropdown-selector/dropdown-selector.component.html +1 -0
  176. package/src/libs/ui/inputs/src/lib/dropdown-selector/dropdown-selector.component.ts +1 -0
  177. package/src/libs/ui/inputs/src/lib/previous-next-buttons/previous-next-buttons.component.css +6 -0
  178. package/src/libs/ui/inputs/src/lib/previous-next-buttons/previous-next-buttons.component.html +26 -0
  179. package/src/libs/ui/inputs/src/lib/previous-next-buttons/previous-next-buttons.component.ts +32 -0
  180. package/src/libs/ui/inputs/src/lib/text-input/text-input.component.html +1 -0
  181. package/src/libs/ui/inputs/src/lib/text-input/text-input.component.ts +1 -0
  182. package/src/libs/ui/inputs/src/lib/ui-inputs.module.ts +1 -1
  183. package/src/libs/ui/layout/src/index.ts +1 -0
  184. package/src/libs/ui/layout/src/lib/block-list/block-list.component.css +23 -0
  185. package/src/libs/ui/layout/src/lib/block-list/block-list.component.html +20 -0
  186. package/src/libs/ui/layout/src/lib/block-list/block-list.component.ts +84 -0
  187. package/src/libs/ui/layout/src/lib/carousel/carousel.component.css +8 -4
  188. package/src/libs/ui/layout/src/lib/carousel/carousel.component.html +4 -4
  189. package/src/libs/ui/layout/src/lib/carousel/carousel.component.ts +45 -15
  190. package/src/libs/ui/layout/src/lib/ui-layout.module.ts +0 -2
  191. package/src/libs/util/app-config/src/lib/app-config.ts +2 -0
  192. package/src/libs/util/app-config/src/lib/fixtures.ts +1 -0
  193. package/src/libs/util/app-config/src/lib/model.ts +1 -0
  194. package/src/libs/util/shared/src/lib/links/link-classifier.service.ts +1 -1
  195. package/translations/de.json +12 -14
  196. package/translations/en.json +12 -14
  197. package/translations/es.json +12 -14
  198. package/translations/fr.json +12 -14
  199. package/translations/it.json +12 -14
  200. package/translations/nl.json +12 -14
  201. package/translations/pt.json +12 -14
  202. package/translations/sk.json +12 -14
  203. package/esm2022/libs/ui/elements/src/lib/search-results-error/search-results-error.component.mjs +0 -29
  204. package/libs/ui/elements/src/lib/search-results-error/search-results-error.component.d.ts +0 -15
  205. package/libs/ui/elements/src/lib/search-results-error/search-results-error.component.d.ts.map +0 -1
  206. /package/src/libs/ui/elements/src/lib/{search-results-error/search-results-error.component.css → error/error.component.css} +0 -0
@@ -143,7 +143,7 @@ export class DropdownSelectorComponent {
143
143
  }
144
144
  }
145
145
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: DropdownSelectorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
146
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: DropdownSelectorComponent, isStandalone: true, selector: "gn-ui-dropdown-selector", inputs: { title: "title", showTitle: "showTitle", ariaName: "ariaName", choices: "choices", selected: "selected", maxRows: "maxRows", extraBtnClass: "extraBtnClass", minWidth: "minWidth" }, outputs: { selectValue: "selectValue" }, viewQueries: [{ propertyName: "overlayOrigin", first: true, predicate: ["overlayOrigin"], descendants: true }, { propertyName: "overlay", first: true, predicate: CdkConnectedOverlay, descendants: true }, { propertyName: "choiceInputs", predicate: ["choiceInputs"], descendants: true, read: ElementRef }], ngImport: i0, template: "<div class=\"flex flex-col sm:flex-row sm:items-center relative w-full\">\n <span\n *ngIf=\"showTitle\"\n class=\"tracking-wide text-sm mb-2 sm:mb-0 sm:mr-2 whitespace-nowrap\"\n [attr.for]=\"id\"\n >\n {{ title }}\n </span>\n <gn-ui-button\n type=\"outline\"\n class=\"grow min-w-0\"\n extraClass=\"bg-background !p-[8px] !pl-[16px] flex flex-row w-full {{\n extraBtnClass\n }}\"\n [title]=\"title\"\n [attr.aria-owns]=\"id\"\n (buttonClick)=\"openOverlay()\"\n cdkOverlayOrigin\n #overlayOrigin=\"cdkOverlayOrigin\"\n (keydown)=\"handleTriggerKeydown($event)\"\n >\n <div class=\"grow font-medium truncate py-1 mr-2 text-left\">\n {{ getChoiceLabel() | translate }}\n </div>\n <mat-icon class=\"material-symbols-outlined shrink-0 opacity-40\">\n <ng-container *ngIf=\"overlayOpen\">expand_less</ng-container>\n <ng-container *ngIf=\"!overlayOpen\">expand_more</ng-container>\n </mat-icon>\n </gn-ui-button>\n</div>\n\n<ng-template\n cdkConnectedOverlay\n cdkConnectedOverlayHasBackdrop\n cdkConnectedOverlayBackdropClass=\"cdk-overlay-transparent-backdrop\"\n [cdkConnectedOverlayOrigin]=\"overlayOrigin\"\n [cdkConnectedOverlayOpen]=\"overlayOpen\"\n [cdkConnectedOverlayPositions]=\"overlayPositions\"\n [cdkConnectedOverlayFlexibleDimensions]=\"true\"\n (overlayOutsideClick)=\"closeOverlay()\"\n (detach)=\"closeOverlay()\"\n>\n <div\n class=\"bg-white border border-gray-300 rounded shadow-lg py-2 w-full overflow-x-hidden overflow-y-auto overlay-container\"\n [style.max-height]=\"overlayMaxHeight\"\n [style.min-width]=\"overlayWidth\"\n role=\"listbox\"\n tabindex=\"-1\"\n [attr.id]=\"id\"\n [attr.aria-multiselectable]=\"true\"\n [attr.aria-label]=\"title\"\n (keydown)=\"handleOverlayKeydown($event)\"\n >\n <button\n #choiceInputs\n type=\"button\"\n *ngFor=\"let choice of choices\"\n [title]=\"choice.label | translate\"\n class=\"flex px-5 py-1 w-full text-start cursor-pointer transition-colors\"\n [ngClass]=\"\n isSelected(choice)\n ? 'text-white bg-primary hover:text-white hover:bg-primary-darker focus:text-white focus:bg-primary-darker'\n : 'text-gray-900 hover:text-primary-darkest hover:bg-gray-50 focus:text-primary-darkest focus:bg-gray-50'\n \"\n (click)=\"onSelectValue(choice)\"\n (keydown)=\"selectIfEnter($event, choice)\"\n [attr.data-cy-value]=\"choice.value.toString()\"\n [attr.data-cy-active]=\"isSelected(choice) ? 'true' : undefined\"\n >\n <span class=\"text-[14px]\">\n {{ choice.label | translate }}\n </span>\n </button>\n </div>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }, { kind: "ngmodule", type: OverlayModule }, { kind: "directive", type: i2.CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "directive", type: i2.CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
146
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: DropdownSelectorComponent, isStandalone: true, selector: "gn-ui-dropdown-selector", inputs: { title: "title", showTitle: "showTitle", ariaName: "ariaName", choices: "choices", selected: "selected", maxRows: "maxRows", extraBtnClass: "extraBtnClass", minWidth: "minWidth", disabled: "disabled" }, outputs: { selectValue: "selectValue" }, viewQueries: [{ propertyName: "overlayOrigin", first: true, predicate: ["overlayOrigin"], descendants: true }, { propertyName: "overlay", first: true, predicate: CdkConnectedOverlay, descendants: true }, { propertyName: "choiceInputs", predicate: ["choiceInputs"], descendants: true, read: ElementRef }], ngImport: i0, template: "<div class=\"flex flex-col sm:flex-row sm:items-center relative w-full\">\n <span\n *ngIf=\"showTitle\"\n class=\"tracking-wide text-sm mb-2 sm:mb-0 sm:mr-2 whitespace-nowrap\"\n [attr.for]=\"id\"\n >\n {{ title }}\n </span>\n <gn-ui-button\n type=\"outline\"\n class=\"grow min-w-0\"\n extraClass=\"bg-background !p-[8px] !pl-[16px] flex flex-row w-full {{\n extraBtnClass\n }}\"\n [title]=\"title\"\n [attr.aria-owns]=\"id\"\n (buttonClick)=\"openOverlay()\"\n cdkOverlayOrigin\n #overlayOrigin=\"cdkOverlayOrigin\"\n (keydown)=\"handleTriggerKeydown($event)\"\n [disabled]=\"disabled\"\n >\n <div class=\"grow font-medium truncate py-1 mr-2 text-left\">\n {{ getChoiceLabel() | translate }}\n </div>\n <mat-icon class=\"material-symbols-outlined shrink-0 opacity-40\">\n <ng-container *ngIf=\"overlayOpen\">expand_less</ng-container>\n <ng-container *ngIf=\"!overlayOpen\">expand_more</ng-container>\n </mat-icon>\n </gn-ui-button>\n</div>\n\n<ng-template\n cdkConnectedOverlay\n cdkConnectedOverlayHasBackdrop\n cdkConnectedOverlayBackdropClass=\"cdk-overlay-transparent-backdrop\"\n [cdkConnectedOverlayOrigin]=\"overlayOrigin\"\n [cdkConnectedOverlayOpen]=\"overlayOpen\"\n [cdkConnectedOverlayPositions]=\"overlayPositions\"\n [cdkConnectedOverlayFlexibleDimensions]=\"true\"\n (overlayOutsideClick)=\"closeOverlay()\"\n (detach)=\"closeOverlay()\"\n>\n <div\n class=\"bg-white border border-gray-300 rounded shadow-lg py-2 w-full overflow-x-hidden overflow-y-auto overlay-container\"\n [style.max-height]=\"overlayMaxHeight\"\n [style.min-width]=\"overlayWidth\"\n role=\"listbox\"\n tabindex=\"-1\"\n [attr.id]=\"id\"\n [attr.aria-multiselectable]=\"true\"\n [attr.aria-label]=\"title\"\n (keydown)=\"handleOverlayKeydown($event)\"\n >\n <button\n #choiceInputs\n type=\"button\"\n *ngFor=\"let choice of choices\"\n [title]=\"choice.label | translate\"\n class=\"flex px-5 py-1 w-full text-start cursor-pointer transition-colors\"\n [ngClass]=\"\n isSelected(choice)\n ? 'text-white bg-primary hover:text-white hover:bg-primary-darker focus:text-white focus:bg-primary-darker'\n : 'text-gray-900 hover:text-primary-darkest hover:bg-gray-50 focus:text-primary-darkest focus:bg-gray-50'\n \"\n (click)=\"onSelectValue(choice)\"\n (keydown)=\"selectIfEnter($event, choice)\"\n [attr.data-cy-value]=\"choice.value.toString()\"\n [attr.data-cy-active]=\"isSelected(choice) ? 'true' : undefined\"\n >\n <span class=\"text-[14px]\">\n {{ choice.label | translate }}\n </span>\n </button>\n </div>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }, { kind: "ngmodule", type: OverlayModule }, { kind: "directive", type: i2.CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "directive", type: i2.CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
147
147
  }
148
148
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: DropdownSelectorComponent, decorators: [{
149
149
  type: Component,
@@ -153,7 +153,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
153
153
  OverlayModule,
154
154
  MatIconModule,
155
155
  TranslateModule,
156
- ], template: "<div class=\"flex flex-col sm:flex-row sm:items-center relative w-full\">\n <span\n *ngIf=\"showTitle\"\n class=\"tracking-wide text-sm mb-2 sm:mb-0 sm:mr-2 whitespace-nowrap\"\n [attr.for]=\"id\"\n >\n {{ title }}\n </span>\n <gn-ui-button\n type=\"outline\"\n class=\"grow min-w-0\"\n extraClass=\"bg-background !p-[8px] !pl-[16px] flex flex-row w-full {{\n extraBtnClass\n }}\"\n [title]=\"title\"\n [attr.aria-owns]=\"id\"\n (buttonClick)=\"openOverlay()\"\n cdkOverlayOrigin\n #overlayOrigin=\"cdkOverlayOrigin\"\n (keydown)=\"handleTriggerKeydown($event)\"\n >\n <div class=\"grow font-medium truncate py-1 mr-2 text-left\">\n {{ getChoiceLabel() | translate }}\n </div>\n <mat-icon class=\"material-symbols-outlined shrink-0 opacity-40\">\n <ng-container *ngIf=\"overlayOpen\">expand_less</ng-container>\n <ng-container *ngIf=\"!overlayOpen\">expand_more</ng-container>\n </mat-icon>\n </gn-ui-button>\n</div>\n\n<ng-template\n cdkConnectedOverlay\n cdkConnectedOverlayHasBackdrop\n cdkConnectedOverlayBackdropClass=\"cdk-overlay-transparent-backdrop\"\n [cdkConnectedOverlayOrigin]=\"overlayOrigin\"\n [cdkConnectedOverlayOpen]=\"overlayOpen\"\n [cdkConnectedOverlayPositions]=\"overlayPositions\"\n [cdkConnectedOverlayFlexibleDimensions]=\"true\"\n (overlayOutsideClick)=\"closeOverlay()\"\n (detach)=\"closeOverlay()\"\n>\n <div\n class=\"bg-white border border-gray-300 rounded shadow-lg py-2 w-full overflow-x-hidden overflow-y-auto overlay-container\"\n [style.max-height]=\"overlayMaxHeight\"\n [style.min-width]=\"overlayWidth\"\n role=\"listbox\"\n tabindex=\"-1\"\n [attr.id]=\"id\"\n [attr.aria-multiselectable]=\"true\"\n [attr.aria-label]=\"title\"\n (keydown)=\"handleOverlayKeydown($event)\"\n >\n <button\n #choiceInputs\n type=\"button\"\n *ngFor=\"let choice of choices\"\n [title]=\"choice.label | translate\"\n class=\"flex px-5 py-1 w-full text-start cursor-pointer transition-colors\"\n [ngClass]=\"\n isSelected(choice)\n ? 'text-white bg-primary hover:text-white hover:bg-primary-darker focus:text-white focus:bg-primary-darker'\n : 'text-gray-900 hover:text-primary-darkest hover:bg-gray-50 focus:text-primary-darkest focus:bg-gray-50'\n \"\n (click)=\"onSelectValue(choice)\"\n (keydown)=\"selectIfEnter($event, choice)\"\n [attr.data-cy-value]=\"choice.value.toString()\"\n [attr.data-cy-active]=\"isSelected(choice) ? 'true' : undefined\"\n >\n <span class=\"text-[14px]\">\n {{ choice.label | translate }}\n </span>\n </button>\n </div>\n</ng-template>\n" }]
156
+ ], template: "<div class=\"flex flex-col sm:flex-row sm:items-center relative w-full\">\n <span\n *ngIf=\"showTitle\"\n class=\"tracking-wide text-sm mb-2 sm:mb-0 sm:mr-2 whitespace-nowrap\"\n [attr.for]=\"id\"\n >\n {{ title }}\n </span>\n <gn-ui-button\n type=\"outline\"\n class=\"grow min-w-0\"\n extraClass=\"bg-background !p-[8px] !pl-[16px] flex flex-row w-full {{\n extraBtnClass\n }}\"\n [title]=\"title\"\n [attr.aria-owns]=\"id\"\n (buttonClick)=\"openOverlay()\"\n cdkOverlayOrigin\n #overlayOrigin=\"cdkOverlayOrigin\"\n (keydown)=\"handleTriggerKeydown($event)\"\n [disabled]=\"disabled\"\n >\n <div class=\"grow font-medium truncate py-1 mr-2 text-left\">\n {{ getChoiceLabel() | translate }}\n </div>\n <mat-icon class=\"material-symbols-outlined shrink-0 opacity-40\">\n <ng-container *ngIf=\"overlayOpen\">expand_less</ng-container>\n <ng-container *ngIf=\"!overlayOpen\">expand_more</ng-container>\n </mat-icon>\n </gn-ui-button>\n</div>\n\n<ng-template\n cdkConnectedOverlay\n cdkConnectedOverlayHasBackdrop\n cdkConnectedOverlayBackdropClass=\"cdk-overlay-transparent-backdrop\"\n [cdkConnectedOverlayOrigin]=\"overlayOrigin\"\n [cdkConnectedOverlayOpen]=\"overlayOpen\"\n [cdkConnectedOverlayPositions]=\"overlayPositions\"\n [cdkConnectedOverlayFlexibleDimensions]=\"true\"\n (overlayOutsideClick)=\"closeOverlay()\"\n (detach)=\"closeOverlay()\"\n>\n <div\n class=\"bg-white border border-gray-300 rounded shadow-lg py-2 w-full overflow-x-hidden overflow-y-auto overlay-container\"\n [style.max-height]=\"overlayMaxHeight\"\n [style.min-width]=\"overlayWidth\"\n role=\"listbox\"\n tabindex=\"-1\"\n [attr.id]=\"id\"\n [attr.aria-multiselectable]=\"true\"\n [attr.aria-label]=\"title\"\n (keydown)=\"handleOverlayKeydown($event)\"\n >\n <button\n #choiceInputs\n type=\"button\"\n *ngFor=\"let choice of choices\"\n [title]=\"choice.label | translate\"\n class=\"flex px-5 py-1 w-full text-start cursor-pointer transition-colors\"\n [ngClass]=\"\n isSelected(choice)\n ? 'text-white bg-primary hover:text-white hover:bg-primary-darker focus:text-white focus:bg-primary-darker'\n : 'text-gray-900 hover:text-primary-darkest hover:bg-gray-50 focus:text-primary-darkest focus:bg-gray-50'\n \"\n (click)=\"onSelectValue(choice)\"\n (keydown)=\"selectIfEnter($event, choice)\"\n [attr.data-cy-value]=\"choice.value.toString()\"\n [attr.data-cy-active]=\"isSelected(choice) ? 'true' : undefined\"\n >\n <span class=\"text-[14px]\">\n {{ choice.label | translate }}\n </span>\n </button>\n </div>\n</ng-template>\n" }]
157
157
  }], propDecorators: { title: [{
158
158
  type: Input
159
159
  }], showTitle: [{
@@ -170,6 +170,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
170
170
  type: Input
171
171
  }], minWidth: [{
172
172
  type: Input
173
+ }], disabled: [{
174
+ type: Input
173
175
  }], selectValue: [{
174
176
  type: Output
175
177
  }], overlayOrigin: [{
@@ -182,4 +184,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
182
184
  type: ViewChildren,
183
185
  args: ['choiceInputs', { read: ElementRef }]
184
186
  }] } });
185
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tc2VsZWN0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS9pbnB1dHMvc3JjL2xpYi9kcm9wZG93bi1zZWxlY3Rvci9kcm9wZG93bi1zZWxlY3Rvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2lucHV0cy9zcmMvbGliL2Ryb3Bkb3duLXNlbGVjdG9yL2Ryb3Bkb3duLXNlbGVjdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxtQkFBbUIsRUFDbkIsZ0JBQWdCLEVBRWhCLGFBQWEsR0FDZCxNQUFNLHNCQUFzQixDQUFBO0FBQzdCLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFDTixTQUFTLEVBQ1QsU0FBUyxFQUNULFlBQVksR0FDYixNQUFNLGVBQWUsQ0FBQTtBQUN0QixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBRXJDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUM5QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFDckQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFBO0FBQ3RELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQTs7Ozs7O0FBRTVELE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyxDQUFBO0FBZ0I3QixNQUFNLE9BQU8seUJBQXlCO0lBZHRDO1FBZ0JXLGNBQVMsR0FBRyxJQUFJLENBQUE7UUFLaEIsa0JBQWEsR0FBRyxFQUFFLENBQUE7UUFDbEIsYUFBUSxHQUFHLEVBQUUsQ0FBQTtRQUNaLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQTJCLENBQUE7UUFHbkUsZ0JB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SUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQTtTQUMzQjtJQUNILENBQUM7OEdBdkpVLHlCQUF5QjtrR0FBekIseUJBQXlCLG9jQVd6QixtQkFBbUIsNkdBb0JRLFVBQVUsNkJDeEVsRCw4cEZBMkVBLHlERHpDSSxZQUFZLDhWQUNaLGVBQWUsOEhBQ2YsYUFBYSxncENBQ2IsYUFBYSxtTEFDYixlQUFlOzsyRkFHTix5QkFBeUI7a0JBZHJDLFNBQVM7K0JBQ0UseUJBQXlCLG1CQUdsQix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLGVBQWU7d0JBQ2YsYUFBYTt3QkFDYixhQUFhO3dCQUNiLGVBQWU7cUJBQ2hCOzhCQUdRLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDSSxXQUFXO3NCQUFwQixNQUFNO2dCQUNxQixhQUFhO3NCQUF4QyxTQUFTO3VCQUFDLGVBQWU7Z0JBQ00sT0FBTztzQkFBdEMsU0FBUzt1QkFBQyxtQkFBbUI7Z0JBcUI5QixZQUFZO3NCQURYLFlBQVk7dUJBQUMsY0FBYyxFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENka0Nvbm5lY3RlZE92ZXJsYXksXG4gIENka092ZXJsYXlPcmlnaW4sXG4gIENvbm5lY3RlZFBvc2l0aW9uLFxuICBPdmVybGF5TW9kdWxlLFxufSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSdcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBRdWVyeUxpc3QsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0NoaWxkcmVuLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgZmlyc3RWYWx1ZUZyb20gfSBmcm9tICdyeGpzJ1xuaW1wb3J0IHsgRHJvcGRvd25DaG9pY2UgfSBmcm9tICcuL2Ryb3Bkb3duLXNlbGVjdG9yLm1vZGVsJ1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSdcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJ1xuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi4vYnV0dG9uL2J1dHRvbi5jb21wb25lbnQnXG5cbmNvbnN0IERFRkFVTFRfUk9XX05VTUJFUlMgPSA2XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2duLXVpLWRyb3Bkb3duLXNlbGVjdG9yJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Ryb3Bkb3duLXNlbGVjdG9yLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZHJvcGRvd24tc2VsZWN0b3IuY29tcG9uZW50LmNzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBCdXR0b25Db21wb25lbnQsXG4gICAgT3ZlcmxheU1vZHVsZSxcbiAgICBNYXRJY29uTW9kdWxlLFxuICAgIFRyYW5zbGF0ZU1vZHVsZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRHJvcGRvd25TZWxlY3RvckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIHRpdGxlOiBzdHJpbmdcbiAgQElucHV0KCkgc2hvd1RpdGxlID0gdHJ1ZVxuICBASW5wdXQoKSBhcmlhTmFtZTogc3RyaW5nXG4gIEBJbnB1dCgpIGNob2ljZXM6IEFycmF5PERyb3Bkb3duQ2hvaWNlPlxuICBASW5wdXQoKSBzZWxlY3RlZDogRHJvcGRvd25DaG9pY2VbJ3ZhbHVlJ11cbiAgQElucHV0KCkgbWF4Um93czogbnVtYmVyXG4gIEBJbnB1dCgpIGV4dHJhQnRuQ2xhc3MgPSAnJ1xuICBASW5wdXQoKSBtaW5XaWR0aCA9ICcnXG4gIEBPdXRwdXQoKSBzZWxlY3RWYWx1ZSA9IG5ldyBFdmVudEVtaXR0ZXI8RHJvcGRvd25DaG9pY2VbJ3ZhbHVlJ10+KClcbiAgQFZpZXdDaGlsZCgnb3ZlcmxheU9yaWdpbicpIG92ZXJsYXlPcmlnaW46IENka092ZXJsYXlPcmlnaW5cbiAgQFZpZXdDaGlsZChDZGtDb25uZWN0ZWRPdmVybGF5KSBvdmVybGF5OiBDZGtDb25uZWN0ZWRPdmVybGF5XG4gIG92ZXJsYXlPcGVuID0gZmFsc2VcbiAgb3ZlcmxheVdpZHRoID0gJ2F1dG8nXG4gIG92ZXJsYXlNYXhIZWlnaHQgPSAnbm9uZSdcbiAgb3ZlcmxheVBvc2l0aW9uczogQ29ubmVjdGVkUG9zaXRpb25bXSA9IFtcbiAgICB7XG4gICAgICBvcmlnaW5YOiAnc3RhcnQnLFxuICAgICAgb3JpZ2luWTogJ2JvdHRvbScsXG4gICAgICBvdmVybGF5WDogJ3N0YXJ0JyxcbiAgICAgIG92ZXJsYXlZOiAndG9wJyxcbiAgICAgIG9mZnNldFk6IDgsXG4gICAgfSxcbiAgICB7XG4gICAgICBvcmlnaW5YOiAnc3RhcnQnLFxuICAgICAgb3JpZ2luWTogJ3RvcCcsXG4gICAgICBvdmVybGF5WDogJ3N0YXJ0JyxcbiAgICAgIG92ZXJsYXlZOiAnYm90dG9tJyxcbiAgICAgIG9mZnNldFk6IC04LFxuICAgIH0sXG4gIF1cbiAgQFZpZXdDaGlsZHJlbignY2hvaWNlSW5wdXRzJywgeyByZWFkOiBFbGVtZW50UmVmIH0pXG4gIGNob2ljZUlucHV0czogUXVlcnlMaXN0PEVsZW1lbnRSZWY+XG5cbiAgZ2V0IHNlbGVjdGVkQ2hvaWNlKCk6IERyb3Bkb3duQ2hvaWNlIHtcbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy5jaG9pY2VzLmZpbmQoKGNob2ljZSkgPT4gY2hvaWNlLnZhbHVlID09PSB0aGlzLnNlbGVjdGVkKSA/P1xuICAgICAgdGhpcy5jaG9pY2VzWzBdXG4gICAgKVxuICB9XG5cbiAgZ2V0IGlkKCkge1xuICAgIHJldHVybiB0aGlzLnRpdGxlLnRvTG93ZXJDYXNlKCkucmVwbGFjZSgvW15hLXpdKy9nLCAnLScpXG4gIH1cblxuICBnZXRDaG9pY2VMYWJlbCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnNlbGVjdGVkQ2hvaWNlPy5sYWJlbFxuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLm1heFJvd3MpIHRoaXMubWF4Um93cyA9IERFRkFVTFRfUk9XX05VTUJFUlNcbiAgICBpZiAoIXRoaXMuY2hvaWNlcyB8fCB0aGlzLmNob2ljZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aGlzLmNob2ljZXMgPSBbXVxuICAgIH1cbiAgfVxuXG4gIGlzU2VsZWN0ZWQoY2hvaWNlOiBEcm9wZG93bkNob2ljZSkge1xuICAgIHJldHVybiBjaG9pY2UgPT09IHRoaXMuc2VsZWN0ZWRDaG9pY2VcbiAgfVxuXG4gIG9uU2VsZWN0VmFsdWUoY2hvaWNlOiBEcm9wZG93bkNob2ljZSkge1xuICAgIHRoaXMuY2xvc2VPdmVybGF5KClcbiAgICB0aGlzLnNlbGVjdGVkID0gY2hvaWNlLnZhbHVlXG4gICAgdGhpcy5zZWxlY3RWYWx1ZS5lbWl0KHRoaXMuc2VsZWN0ZWQpXG4gIH1cblxuICBvcGVuT3ZlcmxheSgpIHtcbiAgICB0aGlzLm92ZXJsYXlXaWR0aCA9XG4gICAgICB0aGlzLm92ZXJsYXlPcmlnaW4uZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpXG4gICAgICAgIC53aWR0aCArICdweCdcbiAgICB0aGlzLm92ZXJsYXlNYXhIZWlnaHQgPSB0aGlzLm1heFJvd3NcbiAgICAgID8gYCR7dGhpcy5tYXhSb3dzICogMjkgKyA2MH1weGBcbiAgICAgIDogJ25vbmUnXG4gICAgdGhpcy5vdmVybGF5T3BlbiA9IHRydWVcbiAgICByZXR1cm4gUHJvbWlzZS5hbGwoW1xuICAgICAgZmlyc3RWYWx1ZUZyb20odGhpcy5vdmVybGF5LmF0dGFjaCksXG4gICAgICBmaXJzdFZhbHVlRnJvbSh0aGlzLmNob2ljZUlucHV0cy5jaGFuZ2VzKSxcbiAgICBdKVxuICB9XG5cbiAgY2xvc2VPdmVybGF5KCkge1xuICAgIHRoaXMub3ZlcmxheU9wZW4gPSBmYWxzZVxuICB9XG5cbiAgZm9jdXNGaXJzdEl0ZW0oKSB7XG4gICAgdGhpcy5jaG9pY2VJbnB1dHMuZ2V0KDApLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKVxuICB9XG5cbiAgZm9jdXNMYXN0SXRlbSgpIHtcbiAgICB0aGlzLmNob2ljZUlucHV0cy5nZXQodGhpcy5jaG9pY2VJbnB1dHMubGVuZ3RoIC0gMSkubmF0aXZlRWxlbWVudC5mb2N1cygpXG4gIH1cblxuICBhc3luYyBoYW5kbGVUcmlnZ2VyS2V5ZG93bihldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgIGNvbnN0IGtleUNvZGUgPSBldmVudC5jb2RlXG4gICAgY29uc3QgaXNPcGVuS2V5ID1cbiAgICAgIGtleUNvZGUgPT09ICdBcnJvd0Rvd24nIHx8XG4gICAgICBrZXlDb2RlID09PSAnQXJyb3dVcCcgfHxcbiAgICAgIGtleUNvZGUgPT09ICdBcnJvd0xlZnQnIHx8XG4gICAgICBrZXlDb2RlID09PSAnQXJyb3dSaWdodCcgfHxcbiAgICAgIGtleUNvZGUgPT09ICdFbnRlcicgfHxcbiAgICAgIGtleUNvZGUgPT09ICdTcGFjZSdcbiAgICBjb25zdCBpc0Nsb3NlS2V5ID0ga2V5Q29kZSA9PT0gJ0VzY2FwZSdcbiAgICBpZiAoaXNPcGVuS2V5KSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICBpZiAoIXRoaXMub3ZlcmxheU9wZW4pIHtcbiAgICAgICAgYXdhaXQgdGhpcy5vcGVuT3ZlcmxheSgpXG4gICAgICB9XG4gICAgICBpZiAoa2V5Q29kZSA9PT0gJ0Fycm93TGVmdCcgfHwga2V5Q29kZSA9PT0gJ0Fycm93VXAnKSB0aGlzLmZvY3VzTGFzdEl0ZW0oKVxuICAgICAgZWxzZSB0aGlzLmZvY3VzRmlyc3RJdGVtKClcbiAgICB9IGVsc2UgaWYgKHRoaXMub3ZlcmxheU9wZW4gJiYgaXNDbG9zZUtleSkge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgdGhpcy5jbG9zZU92ZXJsYXkoKVxuICAgIH1cbiAgfVxuXG4gIGhhbmRsZU92ZXJsYXlLZXlkb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgaWYgKCF0aGlzLm92ZXJsYXlPcGVuKSByZXR1cm5cbiAgICBjb25zdCBrZXlDb2RlID0gZXZlbnQuY29kZVxuICAgIGlmIChrZXlDb2RlID09PSAnQXJyb3dEb3duJyB8fCBrZXlDb2RlID09PSAnQXJyb3dSaWdodCcpIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgIHRoaXMuc2hpZnRJdGVtRm9jdXMoMSlcbiAgICB9IGVsc2UgaWYgKGtleUNvZGUgPT09ICdBcnJvd0xlZnQnIHx8IGtleUNvZGUgPT09ICdBcnJvd1VwJykge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgdGhpcy5zaGlmdEl0ZW1Gb2N1cygtMSlcbiAgICB9IGVsc2UgaWYgKGtleUNvZGUgPT09ICdFc2NhcGUnKSB7XG4gICAgICB0aGlzLmNsb3NlT3ZlcmxheSgpXG4gICAgfVxuICB9XG5cbiAgc2hpZnRJdGVtRm9jdXMoc2hpZnQ6IG51bWJlcikge1xuICAgIGNvbnN0IGluZGV4ID0gdGhpcy5mb2N1c2VkSW5kZXhcbiAgICBpZiAoaW5kZXggPT09IC0xKSByZXR1cm5cbiAgICBjb25zdCBtYXggPSB0aGlzLmNob2ljZUlucHV0cy5sZW5ndGhcbiAgICAvLyBtb2R1bG8sIHNlZSBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9KYXZhU2NyaXB0L1JlZmVyZW5jZS9PcGVyYXRvcnMvUmVtYWluZGVyXG4gICAgY29uc3QgbmV3SW5kZXggPSAoKChpbmRleCArIHNoaWZ0KSAlIG1heCkgKyBtYXgpICUgbWF4XG4gICAgdGhpcy5jaG9pY2VJbnB1dHMuZ2V0KG5ld0luZGV4KS5uYXRpdmVFbGVtZW50LmZvY3VzKClcbiAgfVxuXG4gIGdldCBmb2N1c2VkSW5kZXgoKTogbnVtYmVyIHwgLTEge1xuICAgIHJldHVybiB0aGlzLmNob2ljZUlucHV0cy5yZWR1Y2UoXG4gICAgICAocHJldiwgY3VyciwgY3VySW5kZXgpID0+XG4gICAgICAgIGN1cnIubmF0aXZlRWxlbWVudCA9PT0gZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA/IGN1ckluZGV4IDogcHJldixcbiAgICAgIC0xXG4gICAgKVxuICB9XG5cbiAgc2VsZWN0SWZFbnRlcihldmVudDogS2V5Ym9hcmRFdmVudCwgY2hvaWNlOiBEcm9wZG93bkNob2ljZSkge1xuICAgIGlmIChldmVudC5jb2RlID09PSAnRW50ZXInKSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICB0aGlzLm9uU2VsZWN0VmFsdWUoY2hvaWNlKVxuICAgIH1cbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wgc206ZmxleC1yb3cgc206aXRlbXMtY2VudGVyIHJlbGF0aXZlIHctZnVsbFwiPlxuICA8c3BhblxuICAgICpuZ0lmPVwic2hvd1RpdGxlXCJcbiAgICBjbGFzcz1cInRyYWNraW5nLXdpZGUgdGV4dC1zbSBtYi0yIHNtOm1iLTAgc206bXItMiB3aGl0ZXNwYWNlLW5vd3JhcFwiXG4gICAgW2F0dHIuZm9yXT1cImlkXCJcbiAgPlxuICAgIHt7IHRpdGxlIH19XG4gIDwvc3Bhbj5cbiAgPGduLXVpLWJ1dHRvblxuICAgIHR5cGU9XCJvdXRsaW5lXCJcbiAgICBjbGFzcz1cImdyb3cgbWluLXctMFwiXG4gICAgZXh0cmFDbGFzcz1cImJnLWJhY2tncm91bmQgIXAtWzhweF0gIXBsLVsxNnB4XSBmbGV4IGZsZXgtcm93IHctZnVsbCB7e1xuICAgICAgZXh0cmFCdG5DbGFzc1xuICAgIH19XCJcbiAgICBbdGl0bGVdPVwidGl0bGVcIlxuICAgIFthdHRyLmFyaWEtb3duc109XCJpZFwiXG4gICAgKGJ1dHRvbkNsaWNrKT1cIm9wZW5PdmVybGF5KClcIlxuICAgIGNka092ZXJsYXlPcmlnaW5cbiAgICAjb3ZlcmxheU9yaWdpbj1cImNka092ZXJsYXlPcmlnaW5cIlxuICAgIChrZXlkb3duKT1cImhhbmRsZVRyaWdnZXJLZXlkb3duKCRldmVudClcIlxuICA+XG4gICAgPGRpdiBjbGFzcz1cImdyb3cgZm9udC1tZWRpdW0gdHJ1bmNhdGUgcHktMSBtci0yIHRleHQtbGVmdFwiPlxuICAgICAge3sgZ2V0Q2hvaWNlTGFiZWwoKSB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvZGl2PlxuICAgIDxtYXQtaWNvbiBjbGFzcz1cIm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWQgc2hyaW5rLTAgb3BhY2l0eS00MFwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm92ZXJsYXlPcGVuXCI+ZXhwYW5kX2xlc3M8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhb3ZlcmxheU9wZW5cIj5leHBhbmRfbW9yZTwvbmctY29udGFpbmVyPlxuICAgIDwvbWF0LWljb24+XG4gIDwvZ24tdWktYnV0dG9uPlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZVxuICBjZGtDb25uZWN0ZWRPdmVybGF5XG4gIGNka0Nvbm5lY3RlZE92ZXJsYXlIYXNCYWNrZHJvcFxuICBjZGtDb25uZWN0ZWRPdmVybGF5QmFja2Ryb3BDbGFzcz1cImNkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wXCJcbiAgW2Nka0Nvbm5lY3RlZE92ZXJsYXlPcmlnaW5dPVwib3ZlcmxheU9yaWdpblwiXG4gIFtjZGtDb25uZWN0ZWRPdmVybGF5T3Blbl09XCJvdmVybGF5T3BlblwiXG4gIFtjZGtDb25uZWN0ZWRPdmVybGF5UG9zaXRpb25zXT1cIm92ZXJsYXlQb3NpdGlvbnNcIlxuICBbY2RrQ29ubmVjdGVkT3ZlcmxheUZsZXhpYmxlRGltZW5zaW9uc109XCJ0cnVlXCJcbiAgKG92ZXJsYXlPdXRzaWRlQ2xpY2spPVwiY2xvc2VPdmVybGF5KClcIlxuICAoZGV0YWNoKT1cImNsb3NlT3ZlcmxheSgpXCJcbj5cbiAgPGRpdlxuICAgIGNsYXNzPVwiYmctd2hpdGUgYm9yZGVyIGJvcmRlci1ncmF5LTMwMCByb3VuZGVkIHNoYWRvdy1sZyBweS0yIHctZnVsbCBvdmVyZmxvdy14LWhpZGRlbiBvdmVyZmxvdy15LWF1dG8gb3ZlcmxheS1jb250YWluZXJcIlxuICAgIFtzdHlsZS5tYXgtaGVpZ2h0XT1cIm92ZXJsYXlNYXhIZWlnaHRcIlxuICAgIFtzdHlsZS5taW4td2lkdGhdPVwib3ZlcmxheVdpZHRoXCJcbiAgICByb2xlPVwibGlzdGJveFwiXG4gICAgdGFiaW5kZXg9XCItMVwiXG4gICAgW2F0dHIuaWRdPVwiaWRcIlxuICAgIFthdHRyLmFyaWEtbXVsdGlzZWxlY3RhYmxlXT1cInRydWVcIlxuICAgIFthdHRyLmFyaWEtbGFiZWxdPVwidGl0bGVcIlxuICAgIChrZXlkb3duKT1cImhhbmRsZU92ZXJsYXlLZXlkb3duKCRldmVudClcIlxuICA+XG4gICAgPGJ1dHRvblxuICAgICAgI2Nob2ljZUlucHV0c1xuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAqbmdGb3I9XCJsZXQgY2hvaWNlIG9mIGNob2ljZXNcIlxuICAgICAgW3RpdGxlXT1cImNob2ljZS5sYWJlbCB8IHRyYW5zbGF0ZVwiXG4gICAgICBjbGFzcz1cImZsZXggcHgtNSBweS0xIHctZnVsbCB0ZXh0LXN0YXJ0IGN1cnNvci1wb2ludGVyIHRyYW5zaXRpb24tY29sb3JzXCJcbiAgICAgIFtuZ0NsYXNzXT1cIlxuICAgICAgICBpc1NlbGVjdGVkKGNob2ljZSlcbiAgICAgICAgICA/ICd0ZXh0LXdoaXRlIGJnLXByaW1hcnkgaG92ZXI6dGV4dC13aGl0ZSBob3ZlcjpiZy1wcmltYXJ5LWRhcmtlciBmb2N1czp0ZXh0LXdoaXRlIGZvY3VzOmJnLXByaW1hcnktZGFya2VyJ1xuICAgICAgICAgIDogJ3RleHQtZ3JheS05MDAgaG92ZXI6dGV4dC1wcmltYXJ5LWRhcmtlc3QgaG92ZXI6YmctZ3JheS01MCBmb2N1czp0ZXh0LXByaW1hcnktZGFya2VzdCBmb2N1czpiZy1ncmF5LTUwJ1xuICAgICAgXCJcbiAgICAgIChjbGljayk9XCJvblNlbGVjdFZhbHVlKGNob2ljZSlcIlxuICAgICAgKGtleWRvd24pPVwic2VsZWN0SWZFbnRlcigkZXZlbnQsIGNob2ljZSlcIlxuICAgICAgW2F0dHIuZGF0YS1jeS12YWx1ZV09XCJjaG9pY2UudmFsdWUudG9TdHJpbmcoKVwiXG4gICAgICBbYXR0ci5kYXRhLWN5LWFjdGl2ZV09XCJpc1NlbGVjdGVkKGNob2ljZSkgPyAndHJ1ZScgOiB1bmRlZmluZWRcIlxuICAgID5cbiAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1bMTRweF1cIj5cbiAgICAgICAge3sgY2hvaWNlLmxhYmVsIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L3NwYW4+XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
187
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tc2VsZWN0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS9pbnB1dHMvc3JjL2xpYi9kcm9wZG93bi1zZWxlY3Rvci9kcm9wZG93bi1zZWxlY3Rvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2lucHV0cy9zcmMvbGliL2Ryb3Bkb3duLXNlbGVjdG9yL2Ryb3Bkb3duLXNlbGVjdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxtQkFBbUIsRUFDbkIsZ0JBQWdCLEVBRWhCLGFBQWEsR0FDZCxNQUFNLHNCQUFzQixDQUFBO0FBQzdCLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFDTixTQUFTLEVBQ1QsU0FBUyxFQUNULFlBQVksR0FDYixNQUFNLGVBQWUsQ0FBQTtBQUN0QixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBRXJDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUM5QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFDckQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFBO0FBQ3RELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQTs7Ozs7O0FBRTVELE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyxDQUFBO0FBZ0I3QixNQUFNLE9BQU8seUJBQXlCO0lBZHRDO1FBZ0JXLGNBQVMsR0FBRyxJQUFJLENBQUE7UUFLaEIsa0JBQWEsR0FBRyxFQUFFLENBQUE7UUFDbEIsYUFBUSxHQUFHLEVBQUUsQ0FBQTtRQUVaLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQTJCLENBQUE7UUFHbkUsZ0JB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SUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQTtTQUMzQjtJQUNILENBQUM7OEdBeEpVLHlCQUF5QjtrR0FBekIseUJBQXlCLDBkQVl6QixtQkFBbUIsNkdBb0JRLFVBQVUsNkJDekVsRCwyckZBNEVBLHlERDFDSSxZQUFZLDhWQUNaLGVBQWUsOEhBQ2YsYUFBYSxncENBQ2IsYUFBYSxtTEFDYixlQUFlOzsyRkFHTix5QkFBeUI7a0JBZHJDLFNBQVM7K0JBQ0UseUJBQXlCLG1CQUdsQix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLGVBQWU7d0JBQ2YsYUFBYTt3QkFDYixhQUFhO3dCQUNiLGVBQWU7cUJBQ2hCOzhCQUdRLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNJLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ3FCLGFBQWE7c0JBQXhDLFNBQVM7dUJBQUMsZUFBZTtnQkFDTSxPQUFPO3NCQUF0QyxTQUFTO3VCQUFDLG1CQUFtQjtnQkFxQjlCLFlBQVk7c0JBRFgsWUFBWTt1QkFBQyxjQUFjLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2RrQ29ubmVjdGVkT3ZlcmxheSxcbiAgQ2RrT3ZlcmxheU9yaWdpbixcbiAgQ29ubmVjdGVkUG9zaXRpb24sXG4gIE92ZXJsYXlNb2R1bGUsXG59IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5J1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFF1ZXJ5TGlzdCxcbiAgVmlld0NoaWxkLFxuICBWaWV3Q2hpbGRyZW4sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBmaXJzdFZhbHVlRnJvbSB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBEcm9wZG93bkNob2ljZSB9IGZyb20gJy4vZHJvcGRvd24tc2VsZWN0b3IubW9kZWwnXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJ1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nXG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnQgfSBmcm9tICcuLi9idXR0b24vYnV0dG9uLmNvbXBvbmVudCdcblxuY29uc3QgREVGQVVMVF9ST1dfTlVNQkVSUyA9IDZcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ24tdWktZHJvcGRvd24tc2VsZWN0b3InLFxuICB0ZW1wbGF0ZVVybDogJy4vZHJvcGRvd24tc2VsZWN0b3IuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kcm9wZG93bi1zZWxlY3Rvci5jb21wb25lbnQuY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEJ1dHRvbkNvbXBvbmVudCxcbiAgICBPdmVybGF5TW9kdWxlLFxuICAgIE1hdEljb25Nb2R1bGUsXG4gICAgVHJhbnNsYXRlTW9kdWxlLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBEcm9wZG93blNlbGVjdG9yQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgdGl0bGU6IHN0cmluZ1xuICBASW5wdXQoKSBzaG93VGl0bGUgPSB0cnVlXG4gIEBJbnB1dCgpIGFyaWFOYW1lOiBzdHJpbmdcbiAgQElucHV0KCkgY2hvaWNlczogQXJyYXk8RHJvcGRvd25DaG9pY2U+XG4gIEBJbnB1dCgpIHNlbGVjdGVkOiBEcm9wZG93bkNob2ljZVsndmFsdWUnXVxuICBASW5wdXQoKSBtYXhSb3dzOiBudW1iZXJcbiAgQElucHV0KCkgZXh0cmFCdG5DbGFzcyA9ICcnXG4gIEBJbnB1dCgpIG1pbldpZHRoID0gJydcbiAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW5cbiAgQE91dHB1dCgpIHNlbGVjdFZhbHVlID0gbmV3IEV2ZW50RW1pdHRlcjxEcm9wZG93bkNob2ljZVsndmFsdWUnXT4oKVxuICBAVmlld0NoaWxkKCdvdmVybGF5T3JpZ2luJykgb3ZlcmxheU9yaWdpbjogQ2RrT3ZlcmxheU9yaWdpblxuICBAVmlld0NoaWxkKENka0Nvbm5lY3RlZE92ZXJsYXkpIG92ZXJsYXk6IENka0Nvbm5lY3RlZE92ZXJsYXlcbiAgb3ZlcmxheU9wZW4gPSBmYWxzZVxuICBvdmVybGF5V2lkdGggPSAnYXV0bydcbiAgb3ZlcmxheU1heEhlaWdodCA9ICdub25lJ1xuICBvdmVybGF5UG9zaXRpb25zOiBDb25uZWN0ZWRQb3NpdGlvbltdID0gW1xuICAgIHtcbiAgICAgIG9yaWdpblg6ICdzdGFydCcsXG4gICAgICBvcmlnaW5ZOiAnYm90dG9tJyxcbiAgICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxuICAgICAgb3ZlcmxheVk6ICd0b3AnLFxuICAgICAgb2Zmc2V0WTogOCxcbiAgICB9LFxuICAgIHtcbiAgICAgIG9yaWdpblg6ICdzdGFydCcsXG4gICAgICBvcmlnaW5ZOiAndG9wJyxcbiAgICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxuICAgICAgb3ZlcmxheVk6ICdib3R0b20nLFxuICAgICAgb2Zmc2V0WTogLTgsXG4gICAgfSxcbiAgXVxuICBAVmlld0NoaWxkcmVuKCdjaG9pY2VJbnB1dHMnLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSlcbiAgY2hvaWNlSW5wdXRzOiBRdWVyeUxpc3Q8RWxlbWVudFJlZj5cblxuICBnZXQgc2VsZWN0ZWRDaG9pY2UoKTogRHJvcGRvd25DaG9pY2Uge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLmNob2ljZXMuZmluZCgoY2hvaWNlKSA9PiBjaG9pY2UudmFsdWUgPT09IHRoaXMuc2VsZWN0ZWQpID8/XG4gICAgICB0aGlzLmNob2ljZXNbMF1cbiAgICApXG4gIH1cblxuICBnZXQgaWQoKSB7XG4gICAgcmV0dXJuIHRoaXMudGl0bGUudG9Mb3dlckNhc2UoKS5yZXBsYWNlKC9bXmEtel0rL2csICctJylcbiAgfVxuXG4gIGdldENob2ljZUxhYmVsKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRDaG9pY2U/LmxhYmVsXG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMubWF4Um93cykgdGhpcy5tYXhSb3dzID0gREVGQVVMVF9ST1dfTlVNQkVSU1xuICAgIGlmICghdGhpcy5jaG9pY2VzIHx8IHRoaXMuY2hvaWNlcy5sZW5ndGggPT09IDApIHtcbiAgICAgIHRoaXMuY2hvaWNlcyA9IFtdXG4gICAgfVxuICB9XG5cbiAgaXNTZWxlY3RlZChjaG9pY2U6IERyb3Bkb3duQ2hvaWNlKSB7XG4gICAgcmV0dXJuIGNob2ljZSA9PT0gdGhpcy5zZWxlY3RlZENob2ljZVxuICB9XG5cbiAgb25TZWxlY3RWYWx1ZShjaG9pY2U6IERyb3Bkb3duQ2hvaWNlKSB7XG4gICAgdGhpcy5jbG9zZU92ZXJsYXkoKVxuICAgIHRoaXMuc2VsZWN0ZWQgPSBjaG9pY2UudmFsdWVcbiAgICB0aGlzLnNlbGVjdFZhbHVlLmVtaXQodGhpcy5zZWxlY3RlZClcbiAgfVxuXG4gIG9wZW5PdmVybGF5KCkge1xuICAgIHRoaXMub3ZlcmxheVdpZHRoID1cbiAgICAgIHRoaXMub3ZlcmxheU9yaWdpbi5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KClcbiAgICAgICAgLndpZHRoICsgJ3B4J1xuICAgIHRoaXMub3ZlcmxheU1heEhlaWdodCA9IHRoaXMubWF4Um93c1xuICAgICAgPyBgJHt0aGlzLm1heFJvd3MgKiAyOSArIDYwfXB4YFxuICAgICAgOiAnbm9uZSdcbiAgICB0aGlzLm92ZXJsYXlPcGVuID0gdHJ1ZVxuICAgIHJldHVybiBQcm9taXNlLmFsbChbXG4gICAgICBmaXJzdFZhbHVlRnJvbSh0aGlzLm92ZXJsYXkuYXR0YWNoKSxcbiAgICAgIGZpcnN0VmFsdWVGcm9tKHRoaXMuY2hvaWNlSW5wdXRzLmNoYW5nZXMpLFxuICAgIF0pXG4gIH1cblxuICBjbG9zZU92ZXJsYXkoKSB7XG4gICAgdGhpcy5vdmVybGF5T3BlbiA9IGZhbHNlXG4gIH1cblxuICBmb2N1c0ZpcnN0SXRlbSgpIHtcbiAgICB0aGlzLmNob2ljZUlucHV0cy5nZXQoMCkubmF0aXZlRWxlbWVudC5mb2N1cygpXG4gIH1cblxuICBmb2N1c0xhc3RJdGVtKCkge1xuICAgIHRoaXMuY2hvaWNlSW5wdXRzLmdldCh0aGlzLmNob2ljZUlucHV0cy5sZW5ndGggLSAxKS5uYXRpdmVFbGVtZW50LmZvY3VzKClcbiAgfVxuXG4gIGFzeW5jIGhhbmRsZVRyaWdnZXJLZXlkb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgY29uc3Qga2V5Q29kZSA9IGV2ZW50LmNvZGVcbiAgICBjb25zdCBpc09wZW5LZXkgPVxuICAgICAga2V5Q29kZSA9PT0gJ0Fycm93RG93bicgfHxcbiAgICAgIGtleUNvZGUgPT09ICdBcnJvd1VwJyB8fFxuICAgICAga2V5Q29kZSA9PT0gJ0Fycm93TGVmdCcgfHxcbiAgICAgIGtleUNvZGUgPT09ICdBcnJvd1JpZ2h0JyB8fFxuICAgICAga2V5Q29kZSA9PT0gJ0VudGVyJyB8fFxuICAgICAga2V5Q29kZSA9PT0gJ1NwYWNlJ1xuICAgIGNvbnN0IGlzQ2xvc2VLZXkgPSBrZXlDb2RlID09PSAnRXNjYXBlJ1xuICAgIGlmIChpc09wZW5LZXkpIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgIGlmICghdGhpcy5vdmVybGF5T3Blbikge1xuICAgICAgICBhd2FpdCB0aGlzLm9wZW5PdmVybGF5KClcbiAgICAgIH1cbiAgICAgIGlmIChrZXlDb2RlID09PSAnQXJyb3dMZWZ0JyB8fCBrZXlDb2RlID09PSAnQXJyb3dVcCcpIHRoaXMuZm9jdXNMYXN0SXRlbSgpXG4gICAgICBlbHNlIHRoaXMuZm9jdXNGaXJzdEl0ZW0oKVxuICAgIH0gZWxzZSBpZiAodGhpcy5vdmVybGF5T3BlbiAmJiBpc0Nsb3NlS2V5KSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICB0aGlzLmNsb3NlT3ZlcmxheSgpXG4gICAgfVxuICB9XG5cbiAgaGFuZGxlT3ZlcmxheUtleWRvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICBpZiAoIXRoaXMub3ZlcmxheU9wZW4pIHJldHVyblxuICAgIGNvbnN0IGtleUNvZGUgPSBldmVudC5jb2RlXG4gICAgaWYgKGtleUNvZGUgPT09ICdBcnJvd0Rvd24nIHx8IGtleUNvZGUgPT09ICdBcnJvd1JpZ2h0Jykge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgdGhpcy5zaGlmdEl0ZW1Gb2N1cygxKVxuICAgIH0gZWxzZSBpZiAoa2V5Q29kZSA9PT0gJ0Fycm93TGVmdCcgfHwga2V5Q29kZSA9PT0gJ0Fycm93VXAnKSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICB0aGlzLnNoaWZ0SXRlbUZvY3VzKC0xKVxuICAgIH0gZWxzZSBpZiAoa2V5Q29kZSA9PT0gJ0VzY2FwZScpIHtcbiAgICAgIHRoaXMuY2xvc2VPdmVybGF5KClcbiAgICB9XG4gIH1cblxuICBzaGlmdEl0ZW1Gb2N1cyhzaGlmdDogbnVtYmVyKSB7XG4gICAgY29uc3QgaW5kZXggPSB0aGlzLmZvY3VzZWRJbmRleFxuICAgIGlmIChpbmRleCA9PT0gLTEpIHJldHVyblxuICAgIGNvbnN0IG1heCA9IHRoaXMuY2hvaWNlSW5wdXRzLmxlbmd0aFxuICAgIC8vIG1vZHVsbywgc2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0phdmFTY3JpcHQvUmVmZXJlbmNlL09wZXJhdG9ycy9SZW1haW5kZXJcbiAgICBjb25zdCBuZXdJbmRleCA9ICgoKGluZGV4ICsgc2hpZnQpICUgbWF4KSArIG1heCkgJSBtYXhcbiAgICB0aGlzLmNob2ljZUlucHV0cy5nZXQobmV3SW5kZXgpLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKVxuICB9XG5cbiAgZ2V0IGZvY3VzZWRJbmRleCgpOiBudW1iZXIgfCAtMSB7XG4gICAgcmV0dXJuIHRoaXMuY2hvaWNlSW5wdXRzLnJlZHVjZShcbiAgICAgIChwcmV2LCBjdXJyLCBjdXJJbmRleCkgPT5cbiAgICAgICAgY3Vyci5uYXRpdmVFbGVtZW50ID09PSBkb2N1bWVudC5hY3RpdmVFbGVtZW50ID8gY3VySW5kZXggOiBwcmV2LFxuICAgICAgLTFcbiAgICApXG4gIH1cblxuICBzZWxlY3RJZkVudGVyKGV2ZW50OiBLZXlib2FyZEV2ZW50LCBjaG9pY2U6IERyb3Bkb3duQ2hvaWNlKSB7XG4gICAgaWYgKGV2ZW50LmNvZGUgPT09ICdFbnRlcicpIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgIHRoaXMub25TZWxlY3RWYWx1ZShjaG9pY2UpXG4gICAgfVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbCBzbTpmbGV4LXJvdyBzbTppdGVtcy1jZW50ZXIgcmVsYXRpdmUgdy1mdWxsXCI+XG4gIDxzcGFuXG4gICAgKm5nSWY9XCJzaG93VGl0bGVcIlxuICAgIGNsYXNzPVwidHJhY2tpbmctd2lkZSB0ZXh0LXNtIG1iLTIgc206bWItMCBzbTptci0yIHdoaXRlc3BhY2Utbm93cmFwXCJcbiAgICBbYXR0ci5mb3JdPVwiaWRcIlxuICA+XG4gICAge3sgdGl0bGUgfX1cbiAgPC9zcGFuPlxuICA8Z24tdWktYnV0dG9uXG4gICAgdHlwZT1cIm91dGxpbmVcIlxuICAgIGNsYXNzPVwiZ3JvdyBtaW4tdy0wXCJcbiAgICBleHRyYUNsYXNzPVwiYmctYmFja2dyb3VuZCAhcC1bOHB4XSAhcGwtWzE2cHhdIGZsZXggZmxleC1yb3cgdy1mdWxsIHt7XG4gICAgICBleHRyYUJ0bkNsYXNzXG4gICAgfX1cIlxuICAgIFt0aXRsZV09XCJ0aXRsZVwiXG4gICAgW2F0dHIuYXJpYS1vd25zXT1cImlkXCJcbiAgICAoYnV0dG9uQ2xpY2spPVwib3Blbk92ZXJsYXkoKVwiXG4gICAgY2RrT3ZlcmxheU9yaWdpblxuICAgICNvdmVybGF5T3JpZ2luPVwiY2RrT3ZlcmxheU9yaWdpblwiXG4gICAgKGtleWRvd24pPVwiaGFuZGxlVHJpZ2dlcktleWRvd24oJGV2ZW50KVwiXG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgPlxuICAgIDxkaXYgY2xhc3M9XCJncm93IGZvbnQtbWVkaXVtIHRydW5jYXRlIHB5LTEgbXItMiB0ZXh0LWxlZnRcIj5cbiAgICAgIHt7IGdldENob2ljZUxhYmVsKCkgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2Rpdj5cbiAgICA8bWF0LWljb24gY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkIHNocmluay0wIG9wYWNpdHktNDBcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJvdmVybGF5T3BlblwiPmV4cGFuZF9sZXNzPC9uZy1jb250YWluZXI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIW92ZXJsYXlPcGVuXCI+ZXhwYW5kX21vcmU8L25nLWNvbnRhaW5lcj5cbiAgICA8L21hdC1pY29uPlxuICA8L2duLXVpLWJ1dHRvbj5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGVcbiAgY2RrQ29ubmVjdGVkT3ZlcmxheVxuICBjZGtDb25uZWN0ZWRPdmVybGF5SGFzQmFja2Ryb3BcbiAgY2RrQ29ubmVjdGVkT3ZlcmxheUJhY2tkcm9wQ2xhc3M9XCJjZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcFwiXG4gIFtjZGtDb25uZWN0ZWRPdmVybGF5T3JpZ2luXT1cIm92ZXJsYXlPcmlnaW5cIlxuICBbY2RrQ29ubmVjdGVkT3ZlcmxheU9wZW5dPVwib3ZlcmxheU9wZW5cIlxuICBbY2RrQ29ubmVjdGVkT3ZlcmxheVBvc2l0aW9uc109XCJvdmVybGF5UG9zaXRpb25zXCJcbiAgW2Nka0Nvbm5lY3RlZE92ZXJsYXlGbGV4aWJsZURpbWVuc2lvbnNdPVwidHJ1ZVwiXG4gIChvdmVybGF5T3V0c2lkZUNsaWNrKT1cImNsb3NlT3ZlcmxheSgpXCJcbiAgKGRldGFjaCk9XCJjbG9zZU92ZXJsYXkoKVwiXG4+XG4gIDxkaXZcbiAgICBjbGFzcz1cImJnLXdoaXRlIGJvcmRlciBib3JkZXItZ3JheS0zMDAgcm91bmRlZCBzaGFkb3ctbGcgcHktMiB3LWZ1bGwgb3ZlcmZsb3cteC1oaWRkZW4gb3ZlcmZsb3cteS1hdXRvIG92ZXJsYXktY29udGFpbmVyXCJcbiAgICBbc3R5bGUubWF4LWhlaWdodF09XCJvdmVybGF5TWF4SGVpZ2h0XCJcbiAgICBbc3R5bGUubWluLXdpZHRoXT1cIm92ZXJsYXlXaWR0aFwiXG4gICAgcm9sZT1cImxpc3Rib3hcIlxuICAgIHRhYmluZGV4PVwiLTFcIlxuICAgIFthdHRyLmlkXT1cImlkXCJcbiAgICBbYXR0ci5hcmlhLW11bHRpc2VsZWN0YWJsZV09XCJ0cnVlXCJcbiAgICBbYXR0ci5hcmlhLWxhYmVsXT1cInRpdGxlXCJcbiAgICAoa2V5ZG93bik9XCJoYW5kbGVPdmVybGF5S2V5ZG93bigkZXZlbnQpXCJcbiAgPlxuICAgIDxidXR0b25cbiAgICAgICNjaG9pY2VJbnB1dHNcbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgKm5nRm9yPVwibGV0IGNob2ljZSBvZiBjaG9pY2VzXCJcbiAgICAgIFt0aXRsZV09XCJjaG9pY2UubGFiZWwgfCB0cmFuc2xhdGVcIlxuICAgICAgY2xhc3M9XCJmbGV4IHB4LTUgcHktMSB3LWZ1bGwgdGV4dC1zdGFydCBjdXJzb3ItcG9pbnRlciB0cmFuc2l0aW9uLWNvbG9yc1wiXG4gICAgICBbbmdDbGFzc109XCJcbiAgICAgICAgaXNTZWxlY3RlZChjaG9pY2UpXG4gICAgICAgICAgPyAndGV4dC13aGl0ZSBiZy1wcmltYXJ5IGhvdmVyOnRleHQtd2hpdGUgaG92ZXI6YmctcHJpbWFyeS1kYXJrZXIgZm9jdXM6dGV4dC13aGl0ZSBmb2N1czpiZy1wcmltYXJ5LWRhcmtlcidcbiAgICAgICAgICA6ICd0ZXh0LWdyYXktOTAwIGhvdmVyOnRleHQtcHJpbWFyeS1kYXJrZXN0IGhvdmVyOmJnLWdyYXktNTAgZm9jdXM6dGV4dC1wcmltYXJ5LWRhcmtlc3QgZm9jdXM6YmctZ3JheS01MCdcbiAgICAgIFwiXG4gICAgICAoY2xpY2spPVwib25TZWxlY3RWYWx1ZShjaG9pY2UpXCJcbiAgICAgIChrZXlkb3duKT1cInNlbGVjdElmRW50ZXIoJGV2ZW50LCBjaG9pY2UpXCJcbiAgICAgIFthdHRyLmRhdGEtY3ktdmFsdWVdPVwiY2hvaWNlLnZhbHVlLnRvU3RyaW5nKClcIlxuICAgICAgW2F0dHIuZGF0YS1jeS1hY3RpdmVdPVwiaXNTZWxlY3RlZChjaG9pY2UpID8gJ3RydWUnIDogdW5kZWZpbmVkXCJcbiAgICA+XG4gICAgICA8c3BhbiBjbGFzcz1cInRleHQtWzE0cHhdXCI+XG4gICAgICAgIHt7IGNob2ljZS5sYWJlbCB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPC9zcGFuPlxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -0,0 +1,29 @@
1
+ import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, } from '@angular/core';
2
+ import { ButtonComponent } from '../button/button.component';
3
+ import { MatIconModule } from '@angular/material/icon';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/material/icon";
6
+ export class PreviousNextButtonsComponent {
7
+ constructor() {
8
+ this.directionButtonClicked = new EventEmitter();
9
+ }
10
+ previousButtonClicked() {
11
+ this.directionButtonClicked.next('previous');
12
+ }
13
+ nextButtonClicked() {
14
+ this.directionButtonClicked.next('next');
15
+ }
16
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: PreviousNextButtonsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
17
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: PreviousNextButtonsComponent, isStandalone: true, selector: "gn-ui-previous-next-buttons", inputs: { isFirst: "isFirst", isLast: "isLast" }, outputs: { directionButtonClicked: "directionButtonClicked" }, ngImport: i0, template: "<div class=\"flex flex-row gap-x-4 items-center\">\n <gn-ui-button\n data-test=\"previousButton\"\n [type]=\"isFirst ? 'default' : 'outline'\"\n [disabled]=\"isFirst\"\n (buttonClick)=\"previousButtonClicked()\"\n >\n <mat-icon\n class=\"material-symbols-outlined text-[14px] text-center pt-[5px]\"\n >\n arrow_back\n </mat-icon>\n </gn-ui-button>\n <gn-ui-button\n data-test=\"nextButton\"\n [type]=\"isLast ? 'default' : 'outline'\"\n [disabled]=\"isLast\"\n (buttonClick)=\"nextButtonClicked()\"\n >\n <mat-icon\n class=\"material-symbols-outlined text-[14px] text-center pt-[5px]\"\n >\n arrow_forward\n </mat-icon>\n </gn-ui-button>\n</div>\n", styles: [":host{--gn-ui-button-rounded: 100%;--gn-ui-button-width: 8px;--gn-ui-button-height: 8px;--gn-ui-button-padding: 12px}\n"], dependencies: [{ kind: "component", type: ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
18
+ }
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: PreviousNextButtonsComponent, decorators: [{
20
+ type: Component,
21
+ args: [{ selector: 'gn-ui-previous-next-buttons', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [ButtonComponent, MatIconModule], template: "<div class=\"flex flex-row gap-x-4 items-center\">\n <gn-ui-button\n data-test=\"previousButton\"\n [type]=\"isFirst ? 'default' : 'outline'\"\n [disabled]=\"isFirst\"\n (buttonClick)=\"previousButtonClicked()\"\n >\n <mat-icon\n class=\"material-symbols-outlined text-[14px] text-center pt-[5px]\"\n >\n arrow_back\n </mat-icon>\n </gn-ui-button>\n <gn-ui-button\n data-test=\"nextButton\"\n [type]=\"isLast ? 'default' : 'outline'\"\n [disabled]=\"isLast\"\n (buttonClick)=\"nextButtonClicked()\"\n >\n <mat-icon\n class=\"material-symbols-outlined text-[14px] text-center pt-[5px]\"\n >\n arrow_forward\n </mat-icon>\n </gn-ui-button>\n</div>\n", styles: [":host{--gn-ui-button-rounded: 100%;--gn-ui-button-width: 8px;--gn-ui-button-height: 8px;--gn-ui-button-padding: 12px}\n"] }]
22
+ }], propDecorators: { isFirst: [{
23
+ type: Input
24
+ }], isLast: [{
25
+ type: Input
26
+ }], directionButtonClicked: [{
27
+ type: Output
28
+ }] } });
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJldmlvdXMtbmV4dC1idXR0b25zLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvaW5wdXRzL3NyYy9saWIvcHJldmlvdXMtbmV4dC1idXR0b25zL3ByZXZpb3VzLW5leHQtYnV0dG9ucy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2lucHV0cy9zcmMvbGliL3ByZXZpb3VzLW5leHQtYnV0dG9ucy9wcmV2aW91cy1uZXh0LWJ1dHRvbnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUE7QUFDdEIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFBO0FBQzVELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTs7O0FBVXRELE1BQU0sT0FBTyw0QkFBNEI7SUFSekM7UUFZWSwyQkFBc0IsR0FBeUIsSUFBSSxZQUFZLEVBQUUsQ0FBQTtLQVM1RTtJQVBDLHFCQUFxQjtRQUNuQixJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFBO0lBQzlDLENBQUM7SUFFRCxpQkFBaUI7UUFDZixJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBQzFDLENBQUM7OEdBWlUsNEJBQTRCO2tHQUE1Qiw0QkFBNEIsd01DbEJ6Qyw2c0JBMEJBLGlMRFZZLGVBQWUsOEhBQUUsYUFBYTs7MkZBRTdCLDRCQUE0QjtrQkFSeEMsU0FBUzsrQkFDRSw2QkFBNkIsbUJBR3RCLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQLENBQUMsZUFBZSxFQUFFLGFBQWEsQ0FBQzs4QkFHaEMsT0FBTztzQkFBZixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFFSSxzQkFBc0I7c0JBQS9CLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnQgfSBmcm9tICcuLi9idXR0b24vYnV0dG9uLmNvbXBvbmVudCdcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJ1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdnbi11aS1wcmV2aW91cy1uZXh0LWJ1dHRvbnMnLFxuICB0ZW1wbGF0ZVVybDogJy4vcHJldmlvdXMtbmV4dC1idXR0b25zLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcHJldmlvdXMtbmV4dC1idXR0b25zLmNvbXBvbmVudC5jc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtCdXR0b25Db21wb25lbnQsIE1hdEljb25Nb2R1bGVdLFxufSlcbmV4cG9ydCBjbGFzcyBQcmV2aW91c05leHRCdXR0b25zQ29tcG9uZW50IHtcbiAgQElucHV0KCkgaXNGaXJzdDogYm9vbGVhblxuICBASW5wdXQoKSBpc0xhc3Q6IGJvb2xlYW5cblxuICBAT3V0cHV0KCkgZGlyZWN0aW9uQnV0dG9uQ2xpY2tlZDogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyKClcblxuICBwcmV2aW91c0J1dHRvbkNsaWNrZWQoKSB7XG4gICAgdGhpcy5kaXJlY3Rpb25CdXR0b25DbGlja2VkLm5leHQoJ3ByZXZpb3VzJylcbiAgfVxuXG4gIG5leHRCdXR0b25DbGlja2VkKCkge1xuICAgIHRoaXMuZGlyZWN0aW9uQnV0dG9uQ2xpY2tlZC5uZXh0KCduZXh0JylcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImZsZXggZmxleC1yb3cgZ2FwLXgtNCBpdGVtcy1jZW50ZXJcIj5cbiAgPGduLXVpLWJ1dHRvblxuICAgIGRhdGEtdGVzdD1cInByZXZpb3VzQnV0dG9uXCJcbiAgICBbdHlwZV09XCJpc0ZpcnN0ID8gJ2RlZmF1bHQnIDogJ291dGxpbmUnXCJcbiAgICBbZGlzYWJsZWRdPVwiaXNGaXJzdFwiXG4gICAgKGJ1dHRvbkNsaWNrKT1cInByZXZpb3VzQnV0dG9uQ2xpY2tlZCgpXCJcbiAgPlxuICAgIDxtYXQtaWNvblxuICAgICAgY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkIHRleHQtWzE0cHhdIHRleHQtY2VudGVyIHB0LVs1cHhdXCJcbiAgICA+XG4gICAgICBhcnJvd19iYWNrXG4gICAgPC9tYXQtaWNvbj5cbiAgPC9nbi11aS1idXR0b24+XG4gIDxnbi11aS1idXR0b25cbiAgICBkYXRhLXRlc3Q9XCJuZXh0QnV0dG9uXCJcbiAgICBbdHlwZV09XCJpc0xhc3QgPyAnZGVmYXVsdCcgOiAnb3V0bGluZSdcIlxuICAgIFtkaXNhYmxlZF09XCJpc0xhc3RcIlxuICAgIChidXR0b25DbGljayk9XCJuZXh0QnV0dG9uQ2xpY2tlZCgpXCJcbiAgPlxuICAgIDxtYXQtaWNvblxuICAgICAgY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkIHRleHQtWzE0cHhdIHRleHQtY2VudGVyIHB0LVs1cHhdXCJcbiAgICA+XG4gICAgICBhcnJvd19mb3J3YXJkXG4gICAgPC9tYXQtaWNvbj5cbiAgPC9nbi11aS1idXR0b24+XG48L2Rpdj5cbiJdfQ==
@@ -35,11 +35,11 @@ export class TextInputComponent {
35
35
  this.rawChange.next(value);
36
36
  }
37
37
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: TextInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
38
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: TextInputComponent, selector: "gn-ui-text-input", inputs: { value: "value", extraClass: "extraClass", hint: "hint", required: "required" }, outputs: { valueChange: "valueChange" }, viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }], ngImport: i0, template: "<input\n #input\n [class]=\"classList\"\n type=\"text\"\n [value]=\"value\"\n (change)=\"handleChange($event)\"\n (input)=\"handleChange($event)\"\n [placeholder]=\"hint\"\n [attr.aria-label]=\"hint\"\n [attr.required]=\"required || null\"\n/>\n", styles: [".invalid{border-color:var(--color-secondary)}\n"] }); }
38
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: TextInputComponent, selector: "gn-ui-text-input", inputs: { value: "value", extraClass: "extraClass", hint: "hint", required: "required", disabled: "disabled" }, outputs: { valueChange: "valueChange" }, viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }], ngImport: i0, template: "<input\n #input\n [class]=\"classList\"\n type=\"text\"\n [value]=\"value\"\n (change)=\"handleChange($event)\"\n (input)=\"handleChange($event)\"\n [placeholder]=\"hint\"\n [attr.aria-label]=\"hint\"\n [attr.required]=\"required || null\"\n [disabled]=\"disabled\"\n/>\n", styles: [".invalid{border-color:var(--color-secondary)}\n"] }); }
39
39
  }
40
40
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: TextInputComponent, decorators: [{
41
41
  type: Component,
42
- args: [{ selector: 'gn-ui-text-input', template: "<input\n #input\n [class]=\"classList\"\n type=\"text\"\n [value]=\"value\"\n (change)=\"handleChange($event)\"\n (input)=\"handleChange($event)\"\n [placeholder]=\"hint\"\n [attr.aria-label]=\"hint\"\n [attr.required]=\"required || null\"\n/>\n", styles: [".invalid{border-color:var(--color-secondary)}\n"] }]
42
+ args: [{ selector: 'gn-ui-text-input', template: "<input\n #input\n [class]=\"classList\"\n type=\"text\"\n [value]=\"value\"\n (change)=\"handleChange($event)\"\n (input)=\"handleChange($event)\"\n [placeholder]=\"hint\"\n [attr.aria-label]=\"hint\"\n [attr.required]=\"required || null\"\n [disabled]=\"disabled\"\n/>\n", styles: [".invalid{border-color:var(--color-secondary)}\n"] }]
43
43
  }], propDecorators: { value: [{
44
44
  type: Input
45
45
  }], extraClass: [{
@@ -48,10 +48,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
48
48
  type: Input
49
49
  }], required: [{
50
50
  type: Input
51
+ }], disabled: [{
52
+ type: Input
51
53
  }], valueChange: [{
52
54
  type: Output
53
55
  }], input: [{
54
56
  type: ViewChild,
55
57
  args: ['input']
56
58
  }] } });
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2lucHV0cy9zcmMvbGliL3RleHQtaW5wdXQvdGV4dC1pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2lucHV0cy9zcmMvbGliL3RleHQtaW5wdXQvdGV4dC1pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsU0FBUyxFQUNULEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFBO0FBQ3RCLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQ3JELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUE7O0FBTzlCLE1BQU0sT0FBTyxrQkFBa0I7SUFML0I7UUFNbUIsY0FBUyxHQUFHO1lBQzNCLGlCQUFpQjtZQUNqQix3QkFBd0I7WUFDeEIsZ0JBQWdCO1lBQ2hCLEtBQUs7WUFDTCxlQUFlO1lBQ2YsZUFBZTtZQUNmLG9CQUFvQjtZQUNwQixzQkFBc0I7U0FDdkIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUE7UUFFRixVQUFLLEdBQUcsRUFBRSxDQUFBO1FBQ1YsZUFBVSxHQUFHLEVBQUUsQ0FBQTtRQUVmLGFBQVEsR0FBRyxLQUFLLENBQUE7UUFDekIsY0FBUyxHQUFHLElBQUksT0FBTyxFQUFVLENBQUE7UUFDdkIsZ0JBQVcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDLENBQUE7S0F1QnBFO0lBcEJDLElBQUksU0FBUztRQUNYLE9BQU8sR0FBRyxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQTtJQUMvQyxDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDcEQsQ0FBQztJQUVELGFBQWEsQ0FBQyxLQUFLO1FBQ2pCLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQ3ZDLFNBQVMsRUFDVCxJQUFJLENBQUMsUUFBUSxJQUFJLEtBQUssS0FBSyxFQUFFLENBQzlCLENBQUE7SUFDSCxDQUFDO0lBRUQsWUFBWSxDQUFDLE1BQU07UUFDakIsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUE7UUFDakMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUN6QixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUM1QixDQUFDOzhHQXZDVSxrQkFBa0I7a0dBQWxCLGtCQUFrQiwyUkNmL0IsZ1FBV0E7OzJGRElhLGtCQUFrQjtrQkFMOUIsU0FBUzsrQkFDRSxrQkFBa0I7OEJBZ0JuQixLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFFSSxXQUFXO3NCQUFwQixNQUFNO2dCQUNhLEtBQUs7c0JBQXhCLFNBQVM7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQgfSBmcm9tICdyeGpzL29wZXJhdG9ycydcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJ1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdnbi11aS10ZXh0LWlucHV0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RleHQtaW5wdXQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90ZXh0LWlucHV0LmNvbXBvbmVudC5jc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGV4dElucHV0Q29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gIHByaXZhdGUgcmVhZG9ubHkgYmFzZUNsYXNzID0gW1xuICAgICdhcHBlYXJhbmNlLW5vbmUnLFxuICAgICdib3JkZXIgYm9yZGVyLWdyYXktMzAwJyxcbiAgICAncm91bmRlZCB3LWZ1bGwnLFxuICAgICdwLTInLFxuICAgICd0ZXh0LWdyYXktNzAwJyxcbiAgICAnbGVhZGluZy10aWdodCcsXG4gICAgJ2ZvY3VzOm91dGxpbmUtbm9uZScsXG4gICAgJ2ZvY3VzOmJvcmRlci1wcmltYXJ5JyxcbiAgXS5qb2luKCcgJylcblxuICBASW5wdXQoKSB2YWx1ZSA9ICcnXG4gIEBJbnB1dCgpIGV4dHJhQ2xhc3MgPSAnJ1xuICBASW5wdXQoKSBoaW50OiBzdHJpbmdcbiAgQElucHV0KCkgcmVxdWlyZWQgPSBmYWxzZVxuICByYXdDaGFuZ2UgPSBuZXcgU3ViamVjdDxzdHJpbmc+KClcbiAgQE91dHB1dCgpIHZhbHVlQ2hhbmdlID0gdGhpcy5yYXdDaGFuZ2UucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKVxuICBAVmlld0NoaWxkKCdpbnB1dCcpIGlucHV0XG5cbiAgZ2V0IGNsYXNzTGlzdCgpIHtcbiAgICByZXR1cm4gYCR7dGhpcy5iYXNlQ2xhc3N9ICR7dGhpcy5leHRyYUNsYXNzfWBcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLmNoZWNrUmVxdWlyZWQodGhpcy5pbnB1dC5uYXRpdmVFbGVtZW50LnZhbHVlKVxuICB9XG5cbiAgY2hlY2tSZXF1aXJlZCh2YWx1ZSkge1xuICAgIHRoaXMuaW5wdXQubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QudG9nZ2xlKFxuICAgICAgJ2ludmFsaWQnLFxuICAgICAgdGhpcy5yZXF1aXJlZCAmJiB2YWx1ZSA9PT0gJydcbiAgICApXG4gIH1cblxuICBoYW5kbGVDaGFuZ2UoJGV2ZW50KSB7XG4gICAgY29uc3QgdmFsdWUgPSAkZXZlbnQudGFyZ2V0LnZhbHVlXG4gICAgdGhpcy5jaGVja1JlcXVpcmVkKHZhbHVlKVxuICAgIHRoaXMucmF3Q2hhbmdlLm5leHQodmFsdWUpXG4gIH1cbn1cbiIsIjxpbnB1dFxuICAjaW5wdXRcbiAgW2NsYXNzXT1cImNsYXNzTGlzdFwiXG4gIHR5cGU9XCJ0ZXh0XCJcbiAgW3ZhbHVlXT1cInZhbHVlXCJcbiAgKGNoYW5nZSk9XCJoYW5kbGVDaGFuZ2UoJGV2ZW50KVwiXG4gIChpbnB1dCk9XCJoYW5kbGVDaGFuZ2UoJGV2ZW50KVwiXG4gIFtwbGFjZWhvbGRlcl09XCJoaW50XCJcbiAgW2F0dHIuYXJpYS1sYWJlbF09XCJoaW50XCJcbiAgW2F0dHIucmVxdWlyZWRdPVwicmVxdWlyZWQgfHwgbnVsbFwiXG4vPlxuIl19
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2lucHV0cy9zcmMvbGliL3RleHQtaW5wdXQvdGV4dC1pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2lucHV0cy9zcmMvbGliL3RleHQtaW5wdXQvdGV4dC1pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsU0FBUyxFQUNULEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFBO0FBQ3RCLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQ3JELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUE7O0FBTzlCLE1BQU0sT0FBTyxrQkFBa0I7SUFML0I7UUFNbUIsY0FBUyxHQUFHO1lBQzNCLGlCQUFpQjtZQUNqQix3QkFBd0I7WUFDeEIsZ0JBQWdCO1lBQ2hCLEtBQUs7WUFDTCxlQUFlO1lBQ2YsZUFBZTtZQUNmLG9CQUFvQjtZQUNwQixzQkFBc0I7U0FDdkIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUE7UUFFRixVQUFLLEdBQUcsRUFBRSxDQUFBO1FBQ1YsZUFBVSxHQUFHLEVBQUUsQ0FBQTtRQUVmLGFBQVEsR0FBRyxLQUFLLENBQUE7UUFFekIsY0FBUyxHQUFHLElBQUksT0FBTyxFQUFVLENBQUE7UUFDdkIsZ0JBQVcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDLENBQUE7S0F1QnBFO0lBcEJDLElBQUksU0FBUztRQUNYLE9BQU8sR0FBRyxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQTtJQUMvQyxDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDcEQsQ0FBQztJQUVELGFBQWEsQ0FBQyxLQUFLO1FBQ2pCLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQ3ZDLFNBQVMsRUFDVCxJQUFJLENBQUMsUUFBUSxJQUFJLEtBQUssS0FBSyxFQUFFLENBQzlCLENBQUE7SUFDSCxDQUFDO0lBRUQsWUFBWSxDQUFDLE1BQU07UUFDakIsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUE7UUFDakMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUN6QixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUM1QixDQUFDOzhHQXhDVSxrQkFBa0I7a0dBQWxCLGtCQUFrQixpVENmL0IsMlJBWUE7OzJGREdhLGtCQUFrQjtrQkFMOUIsU0FBUzsrQkFDRSxrQkFBa0I7OEJBZ0JuQixLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUVJLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ2EsS0FBSztzQkFBeEIsU0FBUzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJ1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2duLXVpLXRleHQtaW5wdXQnLFxuICB0ZW1wbGF0ZVVybDogJy4vdGV4dC1pbnB1dC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3RleHQtaW5wdXQuY29tcG9uZW50LmNzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXh0SW5wdXRDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgcHJpdmF0ZSByZWFkb25seSBiYXNlQ2xhc3MgPSBbXG4gICAgJ2FwcGVhcmFuY2Utbm9uZScsXG4gICAgJ2JvcmRlciBib3JkZXItZ3JheS0zMDAnLFxuICAgICdyb3VuZGVkIHctZnVsbCcsXG4gICAgJ3AtMicsXG4gICAgJ3RleHQtZ3JheS03MDAnLFxuICAgICdsZWFkaW5nLXRpZ2h0JyxcbiAgICAnZm9jdXM6b3V0bGluZS1ub25lJyxcbiAgICAnZm9jdXM6Ym9yZGVyLXByaW1hcnknLFxuICBdLmpvaW4oJyAnKVxuXG4gIEBJbnB1dCgpIHZhbHVlID0gJydcbiAgQElucHV0KCkgZXh0cmFDbGFzcyA9ICcnXG4gIEBJbnB1dCgpIGhpbnQ6IHN0cmluZ1xuICBASW5wdXQoKSByZXF1aXJlZCA9IGZhbHNlXG4gIEBJbnB1dCgpIGRpc2FibGVkOiBib29sZWFuXG4gIHJhd0NoYW5nZSA9IG5ldyBTdWJqZWN0PHN0cmluZz4oKVxuICBAT3V0cHV0KCkgdmFsdWVDaGFuZ2UgPSB0aGlzLnJhd0NoYW5nZS5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpXG4gIEBWaWV3Q2hpbGQoJ2lucHV0JykgaW5wdXRcblxuICBnZXQgY2xhc3NMaXN0KCkge1xuICAgIHJldHVybiBgJHt0aGlzLmJhc2VDbGFzc30gJHt0aGlzLmV4dHJhQ2xhc3N9YFxuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHRoaXMuY2hlY2tSZXF1aXJlZCh0aGlzLmlucHV0Lm5hdGl2ZUVsZW1lbnQudmFsdWUpXG4gIH1cblxuICBjaGVja1JlcXVpcmVkKHZhbHVlKSB7XG4gICAgdGhpcy5pbnB1dC5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC50b2dnbGUoXG4gICAgICAnaW52YWxpZCcsXG4gICAgICB0aGlzLnJlcXVpcmVkICYmIHZhbHVlID09PSAnJ1xuICAgIClcbiAgfVxuXG4gIGhhbmRsZUNoYW5nZSgkZXZlbnQpIHtcbiAgICBjb25zdCB2YWx1ZSA9ICRldmVudC50YXJnZXQudmFsdWVcbiAgICB0aGlzLmNoZWNrUmVxdWlyZWQodmFsdWUpXG4gICAgdGhpcy5yYXdDaGFuZ2UubmV4dCh2YWx1ZSlcbiAgfVxufVxuIiwiPGlucHV0XG4gICNpbnB1dFxuICBbY2xhc3NdPVwiY2xhc3NMaXN0XCJcbiAgdHlwZT1cInRleHRcIlxuICBbdmFsdWVdPVwidmFsdWVcIlxuICAoY2hhbmdlKT1cImhhbmRsZUNoYW5nZSgkZXZlbnQpXCJcbiAgKGlucHV0KT1cImhhbmRsZUNoYW5nZSgkZXZlbnQpXCJcbiAgW3BsYWNlaG9sZGVyXT1cImhpbnRcIlxuICBbYXR0ci5hcmlhLWxhYmVsXT1cImhpbnRcIlxuICBbYXR0ci5yZXF1aXJlZF09XCJyZXF1aXJlZCB8fCBudWxsXCJcbiAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbi8+XG4iXX0=
@@ -45,7 +45,6 @@ export class UiInputsModule {
45
45
  StarToggleComponent,
46
46
  DropdownMultiselectComponent,
47
47
  ViewportIntersectorComponent,
48
- CheckToggleComponent,
49
48
  CopyTextButtonComponent,
50
49
  CheckboxComponent,
51
50
  SearchInputComponent], imports: [CommonModule, i1.TranslateModule, NgxDropzoneModule,
@@ -68,7 +67,8 @@ export class UiInputsModule {
68
67
  ButtonComponent,
69
68
  ImageInputComponent,
70
69
  DropdownSelectorComponent,
71
- DateRangePickerComponent], exports: [DropdownSelectorComponent,
70
+ DateRangePickerComponent,
71
+ CheckToggleComponent], exports: [DropdownSelectorComponent,
72
72
  AutocompleteComponent,
73
73
  ButtonComponent,
74
74
  TextInputComponent,
@@ -105,7 +105,8 @@ export class UiInputsModule {
105
105
  MatNativeDateModule,
106
106
  ImageInputComponent,
107
107
  DropdownSelectorComponent,
108
- DateRangePickerComponent] }); }
108
+ DateRangePickerComponent,
109
+ CheckToggleComponent] }); }
109
110
  }
110
111
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: UiInputsModule, decorators: [{
111
112
  type: NgModule,
@@ -119,7 +120,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
119
120
  StarToggleComponent,
120
121
  DropdownMultiselectComponent,
121
122
  ViewportIntersectorComponent,
122
- CheckToggleComponent,
123
123
  CopyTextButtonComponent,
124
124
  CheckboxComponent,
125
125
  SearchInputComponent,
@@ -148,6 +148,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
148
148
  ImageInputComponent,
149
149
  DropdownSelectorComponent,
150
150
  DateRangePickerComponent,
151
+ CheckToggleComponent,
151
152
  ],
152
153
  exports: [
153
154
  DropdownSelectorComponent,
@@ -171,4 +172,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
171
172
  ],
172
173
  }]
173
174
  }] });
174
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktaW5wdXRzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvaW5wdXRzL3NyYy9saWIvdWktaW5wdXRzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQ3hDLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUNqRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQTtBQUN0RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFDckQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFdBQVcsQ0FBQTtBQUMxQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxjQUFjLENBQUE7QUFDaEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUNBQXVDLENBQUE7QUFDN0UsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFBO0FBQzNELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFBO0FBQ3pFLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLCtEQUErRCxDQUFBO0FBQzdHLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGlEQUFpRCxDQUFBO0FBQzNGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFBO0FBQ25FLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFBO0FBQ3RFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFBO0FBQ3RFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTtBQUN0RCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQTtBQUMzRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUs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QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRTt3QkFDWixxQkFBcUI7d0JBQ3JCLGtCQUFrQjt3QkFDbEIsNkJBQTZCO3dCQUM3QixtQkFBbUI7d0JBQ25CLHlCQUF5Qjt3QkFDekIsbUJBQW1CO3dCQUNuQiw0QkFBNEI7d0JBQzVCLDRCQUE0Qjt3QkFDNUIsb0JBQW9CO3dCQUNwQix1QkFBdUI7d0JBQ3ZCLGlCQUFpQjt3QkFDakIsb0JBQW9CO3FCQUNyQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixlQUFlLENBQUMsUUFBUSxFQUFFO3dCQUMxQixpQkFBaUI7d0JBQ2pCLFdBQVc7d0JBQ1gsbUJBQW1CO3dCQUNuQixjQUFjO3dCQUNkLGdCQUFnQjt3QkFDaEIscUJBQXFCO3dCQUNyQixhQUFhO3dCQUNiLGVBQWU7d0JBQ2YsYUFBYTt3QkFDYixpQkFBaUI7d0JBQ2pCLGdCQUFnQjt3QkFDaEIsa0JBQWtCO3dCQUNsQixjQUFjO3dCQUNkLG1CQUFtQjt3QkFDbkIsbUJBQW1CO3dCQUNuQixzQkFBc0I7d0JBQ3RCLGlCQUFpQjt3QkFDakIsZUFBZTt3QkFDZixtQkFBbUI7d0JBQ25CLHlCQUF5Qjt3QkFDekIsd0JBQXdCO3FCQUN6QjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AseUJBQXlCO3dCQUN6QixxQkFBcUI7d0JBQ3JCLGVBQWU7d0JBQ2Ysa0JBQWtCO3dCQUNsQiw2QkFBNkI7d0JBQzdCLGlCQUFpQjt3QkFDakIsbUJBQW1CO3dCQUNuQix5QkFBeUI7d0JBQ3pCLG1CQUFtQjt3QkFDbkIsNEJBQTRCO3dCQUM1Qiw0QkFBNEI7d0JBQzVCLG9CQUFvQjt3QkFDcEIsdUJBQXVCO3dCQUN2QixpQkFBaUI7d0JBQ2pCLG9CQUFvQjt3QkFDcEIsd0JBQXdCO3dCQUN4QixzQkFBc0I7d0JBQ3RCLG1CQUFtQjtxQkFDcEI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJ1xuaW1wb3J0IHsgVXRpbFNoYXJlZE1vZHVsZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2xpYnMvdXRpbC9zaGFyZWQvc3JjJ1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSdcbmltcG9ydCB7IFRhZ0lucHV0TW9kdWxlIH0gZnJvbSAnbmd4LWNoaXBzJ1xuaW1wb3J0IHsgTmd4RHJvcHpvbmVNb2R1bGUgfSBmcm9tICduZ3gtZHJvcHpvbmUnXG5pbXBvcnQgeyBBdXRvY29tcGxldGVDb21wb25lbnQgfSBmcm9tICcuL2F1dG9jb21wbGV0ZS9hdXRvY29tcGxldGUuY29tcG9uZW50J1xuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi9idXR0b24vYnV0dG9uLmNvbXBvbmVudCdcbmltcG9ydCB7IENoaXBzSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2NoaXBzLWlucHV0L2NoaXBzLWlucHV0LmNvbXBvbmVudCdcbmltcG9ydCB7IERyYWdBbmREcm9wRmlsZUlucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9kcmFnLWFuZC1kcm9wLWZpbGUtaW5wdXQvZHJhZy1hbmQtZHJvcC1maWxlLWlucHV0LmNvbXBvbmVudCdcbmltcG9ydCB7IERyb3Bkb3duU2VsZWN0b3JDb21wb25lbnQgfSBmcm9tICcuL2Ryb3Bkb3duLXNlbGVjdG9yL2Ryb3Bkb3duLXNlbGVjdG9yLmNvbXBvbmVudCdcbmltcG9ydCB7IFRleHRBcmVhQ29tcG9uZW50IH0gZnJvbSAnLi90ZXh0LWFyZWEvdGV4dC1hcmVhLmNvbXBvbmVudCdcbmltcG9ydCB7IFRleHRJbnB1dENvbXBvbmVudCB9IGZyb20gJy4vdGV4dC1pbnB1dC90ZXh0LWlucHV0LmNvbXBvbmVudCdcbmltcG9ydCB7IE1hdEF1dG9jb21wbGV0ZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2F1dG9jb21wbGV0ZSdcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJ1xuaW1wb3J0IHsgTmF2aWdhdGlvbkJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4vbmF2aWdhdGlvbi1idXR0b24vbmF2aWdhdGlvbi1idXR0b24uY29tcG9uZW50J1xuaW1wb3J0IHsgU3RhclRvZ2dsZUNvbXBvbmVudCB9IGZyb20gJy4vc3Rhci10b2dnbGUvc3Rhci10b2dnbGUuY29tcG9uZW50J1xuaW1wb3J0IHsgRHJvcGRvd25NdWx0aXNlbGVjdENvbXBvbmVudCB9IGZyb20gJy4vZHJvcGRvd24tbXVsdGlzZWxlY3QvZHJvcGRvd24tbXVsdGlzZWxlY3QuY29tcG9uZW50J1xuaW1wb3J0IHsgVWlXaWRnZXRzTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vbGlicy91aS93aWRnZXRzL3NyYydcbmltcG9ydCB7IE92ZXJsYXlNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSdcbmltcG9ydCB7IE1hdENoZWNrYm94TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hlY2tib3gnXG5pbXBvcnQgeyBWaWV3cG9ydEludGVyc2VjdG9yQ29tcG9uZW50IH0gZnJvbSAnLi92aWV3cG9ydC1pbnRlcnNlY3Rvci92aWV3cG9ydC1pbnRlcnNlY3Rvci5jb21wb25lbnQnXG5pbXBvcnQgeyBDaGVja1RvZ2dsZUNvbXBvbmVudCB9IGZyb20gJy4vY2hlY2stdG9nZ2xlL2NoZWNrLXRvZ2dsZS5jb21wb25lbnQnXG5pbXBvcnQgeyBDb3B5VGV4dEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4vY29weS10ZXh0LWJ1dHRvbi9jb3B5LXRleHQtYnV0dG9uLmNvbXBvbmVudCdcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJ1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuaW1wb3J0IHsgQ2hlY2tib3hDb21wb25lbnQgfSBmcm9tICcuL2NoZWNrYm94L2NoZWNrYm94LmNvbXBvbmVudCdcbmltcG9ydCB7IFNlYXJjaElucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9zZWFyY2gtaW5wdXQvc2VhcmNoLWlucHV0LmNvbXBvbmVudCdcbmltcG9ydCB7IERhdGVSYW5nZVBpY2tlckNvbXBvbmVudCB9IGZyb20gJy4vZGF0ZS1yYW5nZS1waWNrZXIvZGF0ZS1yYW5nZS1waWNrZXIuY29tcG9uZW50J1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCdcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnXG5pbXBvcnQgeyBNYXREYXRlcGlja2VyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGF0ZXBpY2tlcidcbmltcG9ydCB7IE1hdE5hdGl2ZURhdGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJ1xuaW1wb3J0IHsgRWRpdGFibGVMYWJlbERpcmVjdGl2ZSB9IGZyb20gJy4vZWRpdGFibGUtbGFiZWwvZWRpdGFibGUtbGFiZWwuZGlyZWN0aXZlJ1xuaW1wb3J0IHsgSW1hZ2VJbnB1dENvbXBvbmVudCB9IGZyb20gJy4vaW1hZ2UtaW5wdXQvaW1hZ2UtaW5wdXQuY29tcG9uZW50J1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBBdXRvY29tcGxldGVDb21wb25lbnQsXG4gICAgVGV4dElucHV0Q29tcG9uZW50LFxuICAgIERyYWdBbmREcm9wRmlsZUlucHV0Q29tcG9uZW50LFxuICAgIENoaXBzSW5wdXRDb21wb25lbnQsXG4gICAgTmF2aWdhdGlvbkJ1dHRvbkNvbXBvbmVudCxcbiAgICBTdGFyVG9nZ2xlQ29tcG9uZW50LFxuICAgIERyb3Bkb3duTXVsdGlzZWxlY3RDb21wb25lbnQsXG4gICAgVmlld3BvcnRJbnRlcnNlY3RvckNvbXBvbmVudCxcbiAgICBDaGVja1RvZ2dsZUNvbXBvbmVudCxcbiAgICBDb3B5VGV4dEJ1dHRvbkNvbXBvbmVudCxcbiAgICBDaGVja2JveENvbXBvbmVudCxcbiAgICBTZWFyY2hJbnB1dENvbXBvbmVudCxcbiAgXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBUcmFuc2xhdGVNb2R1bGUuZm9yQ2hpbGQoKSxcbiAgICBOZ3hEcm9wem9uZU1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIFRhZ0lucHV0TW9kdWxlLFxuICAgIFV0aWxTaGFyZWRNb2R1bGUsXG4gICAgTWF0QXV0b2NvbXBsZXRlTW9kdWxlLFxuICAgIE1hdEljb25Nb2R1bGUsXG4gICAgVWlXaWRnZXRzTW9kdWxlLFxuICAgIE92ZXJsYXlNb2R1bGUsXG4gICAgTWF0Q2hlY2tib3hNb2R1bGUsXG4gICAgTWF0VG9vbHRpcE1vZHVsZSxcbiAgICBNYXRGb3JtRmllbGRNb2R1bGUsXG4gICAgTWF0SW5wdXRNb2R1bGUsXG4gICAgTWF0RGF0ZXBpY2tlck1vZHVsZSxcbiAgICBNYXROYXRpdmVEYXRlTW9kdWxlLFxuICAgIEVkaXRhYmxlTGFiZWxEaXJlY3RpdmUsXG4gICAgVGV4dEFyZWFDb21wb25lbnQsXG4gICAgQnV0dG9uQ29tcG9uZW50LFxuICAgIEltYWdlSW5wdXRDb21wb25lbnQsXG4gICAgRHJvcGRvd25TZWxlY3RvckNvbXBvbmVudCxcbiAgICBEYXRlUmFuZ2VQaWNrZXJDb21wb25lbnQsXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBEcm9wZG93blNlbGVjdG9yQ29tcG9uZW50LFxuICAgIEF1dG9jb21wbGV0ZUNvbXBvbmVudCxcbiAgICBCdXR0b25Db21wb25lbnQsXG4gICAgVGV4dElucHV0Q29tcG9uZW50LFxuICAgIERyYWdBbmREcm9wRmlsZUlucHV0Q29tcG9uZW50LFxuICAgIFRleHRBcmVhQ29tcG9uZW50LFxuICAgIENoaXBzSW5wdXRDb21wb25lbnQsXG4gICAgTmF2aWdhdGlvbkJ1dHRvbkNvbXBvbmVudCxcbiAgICBTdGFyVG9nZ2xlQ29tcG9uZW50LFxuICAgIERyb3Bkb3duTXVsdGlzZWxlY3RDb21wb25lbnQsXG4gICAgVmlld3BvcnRJbnRlcnNlY3RvckNvbXBvbmVudCxcbiAgICBDaGVja1RvZ2dsZUNvbXBvbmVudCxcbiAgICBDb3B5VGV4dEJ1dHRvbkNvbXBvbmVudCxcbiAgICBDaGVja2JveENvbXBvbmVudCxcbiAgICBTZWFyY2hJbnB1dENvbXBvbmVudCxcbiAgICBEYXRlUmFuZ2VQaWNrZXJDb21wb25lbnQsXG4gICAgRWRpdGFibGVMYWJlbERpcmVjdGl2ZSxcbiAgICBJbWFnZUlucHV0Q29tcG9uZW50LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBVaUlucHV0c01vZHVsZSB7fVxuIl19
175
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktaW5wdXRzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvaW5wdXRzL3NyYy9saWIvdWktaW5wdXRzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQ3hDLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUNqRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQTtBQUN0RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFDckQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFdBQVcsQ0FBQTtBQUMxQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxjQUFjLENBQUE7QUFDaEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUNBQXVDLENBQUE7QUFDN0UsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFBO0FBQzNELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFBO0FBQ3pFLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLCtEQUErRCxDQUFBO0FBQzdHLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGlEQUFpRCxDQUFBO0FBQzNGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFBO0FBQ25FLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFBO0FBQ3RFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFBO0FBQ3RFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTtBQUN0RCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQTtBQUMzRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUs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WCxjQUFjO2tCQTdEMUIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1oscUJBQXFCO3dCQUNyQixrQkFBa0I7d0JBQ2xCLDZCQUE2Qjt3QkFDN0IsbUJBQW1CO3dCQUNuQix5QkFBeUI7d0JBQ3pCLG1CQUFtQjt3QkFDbkIsNEJBQTRCO3dCQUM1Qiw0QkFBNEI7d0JBQzVCLHVCQUF1Qjt3QkFDdkIsaUJBQWlCO3dCQUNqQixvQkFBb0I7cUJBQ3JCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLGVBQWUsQ0FBQyxRQUFRLEVBQUU7d0JBQzFCLGlCQUFpQjt3QkFDakIsV0FBVzt3QkFDWCxtQkFBbUI7d0JBQ25CLGNBQWM7d0JBQ2QsZ0JBQWdCO3dCQUNoQixxQkFBcUI7d0JBQ3JCLGFBQWE7d0JBQ2IsZUFBZTt3QkFDZixhQUFhO3dCQUNiLGlCQUFpQjt3QkFDakIsZ0JBQWdCO3dCQUNoQixrQkFBa0I7d0JBQ2xCLGNBQWM7d0JBQ2QsbUJBQW1CO3dCQUNuQixtQkFBbUI7d0JBQ25CLHNCQUFzQjt3QkFDdEIsaUJBQWlCO3dCQUNqQixlQUFlO3dCQUNmLG1CQUFtQjt3QkFDbkIseUJBQXlCO3dCQUN6Qix3QkFBd0I7d0JBQ3hCLG9CQUFvQjtxQkFDckI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLHlCQUF5Qjt3QkFDekIscUJBQXFCO3dCQUNyQixlQUFlO3dCQUNmLGtCQUFrQjt3QkFDbEIsNkJBQTZCO3dCQUM3QixpQkFBaUI7d0JBQ2pCLG1CQUFtQjt3QkFDbkIseUJBQXlCO3dCQUN6QixtQkFBbUI7d0JBQ25CLDRCQUE0Qjt3QkFDNUIsNEJBQTRCO3dCQUM1QixvQkFBb0I7d0JBQ3BCLHVCQUF1Qjt3QkFDdkIsaUJBQWlCO3dCQUNqQixvQkFBb0I7d0JBQ3BCLHdCQUF3Qjt3QkFDeEIsc0JBQXNCO3dCQUN0QixtQkFBbUI7cUJBQ3BCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3JtcydcbmltcG9ydCB7IFV0aWxTaGFyZWRNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvc2hhcmVkL3NyYydcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnXG5pbXBvcnQgeyBUYWdJbnB1dE1vZHVsZSB9IGZyb20gJ25neC1jaGlwcydcbmltcG9ydCB7IE5neERyb3B6b25lTW9kdWxlIH0gZnJvbSAnbmd4LWRyb3B6b25lJ1xuaW1wb3J0IHsgQXV0b2NvbXBsZXRlQ29tcG9uZW50IH0gZnJvbSAnLi9hdXRvY29tcGxldGUvYXV0b2NvbXBsZXRlLmNvbXBvbmVudCdcbmltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4vYnV0dG9uL2J1dHRvbi5jb21wb25lbnQnXG5pbXBvcnQgeyBDaGlwc0lucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9jaGlwcy1pbnB1dC9jaGlwcy1pbnB1dC5jb21wb25lbnQnXG5pbXBvcnQgeyBEcmFnQW5kRHJvcEZpbGVJbnB1dENvbXBvbmVudCB9IGZyb20gJy4vZHJhZy1hbmQtZHJvcC1maWxlLWlucHV0L2RyYWctYW5kLWRyb3AtZmlsZS1pbnB1dC5jb21wb25lbnQnXG5pbXBvcnQgeyBEcm9wZG93blNlbGVjdG9yQ29tcG9uZW50IH0gZnJvbSAnLi9kcm9wZG93bi1zZWxlY3Rvci9kcm9wZG93bi1zZWxlY3Rvci5jb21wb25lbnQnXG5pbXBvcnQgeyBUZXh0QXJlYUNvbXBvbmVudCB9IGZyb20gJy4vdGV4dC1hcmVhL3RleHQtYXJlYS5jb21wb25lbnQnXG5pbXBvcnQgeyBUZXh0SW5wdXRDb21wb25lbnQgfSBmcm9tICcuL3RleHQtaW5wdXQvdGV4dC1pbnB1dC5jb21wb25lbnQnXG5pbXBvcnQgeyBNYXRBdXRvY29tcGxldGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9hdXRvY29tcGxldGUnXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbidcbmltcG9ydCB7IE5hdmlnYXRpb25CdXR0b25Db21wb25lbnQgfSBmcm9tICcuL25hdmlnYXRpb24tYnV0dG9uL25hdmlnYXRpb24tYnV0dG9uLmNvbXBvbmVudCdcbmltcG9ydCB7IFN0YXJUb2dnbGVDb21wb25lbnQgfSBmcm9tICcuL3N0YXItdG9nZ2xlL3N0YXItdG9nZ2xlLmNvbXBvbmVudCdcbmltcG9ydCB7IERyb3Bkb3duTXVsdGlzZWxlY3RDb21wb25lbnQgfSBmcm9tICcuL2Ryb3Bkb3duLW11bHRpc2VsZWN0L2Ryb3Bkb3duLW11bHRpc2VsZWN0LmNvbXBvbmVudCdcbmltcG9ydCB7IFVpV2lkZ2V0c01vZHVsZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvd2lkZ2V0cy9zcmMnXG5pbXBvcnQgeyBPdmVybGF5TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknXG5pbXBvcnQgeyBNYXRDaGVja2JveE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NoZWNrYm94J1xuaW1wb3J0IHsgVmlld3BvcnRJbnRlcnNlY3RvckNvbXBvbmVudCB9IGZyb20gJy4vdmlld3BvcnQtaW50ZXJzZWN0b3Ivdmlld3BvcnQtaW50ZXJzZWN0b3IuY29tcG9uZW50J1xuaW1wb3J0IHsgQ2hlY2tUb2dnbGVDb21wb25lbnQgfSBmcm9tICcuL2NoZWNrLXRvZ2dsZS9jaGVjay10b2dnbGUuY29tcG9uZW50J1xuaW1wb3J0IHsgQ29weVRleHRCdXR0b25Db21wb25lbnQgfSBmcm9tICcuL2NvcHktdGV4dC1idXR0b24vY29weS10ZXh0LWJ1dHRvbi5jb21wb25lbnQnXG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCdcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcbmltcG9ydCB7IENoZWNrYm94Q29tcG9uZW50IH0gZnJvbSAnLi9jaGVja2JveC9jaGVja2JveC5jb21wb25lbnQnXG5pbXBvcnQgeyBTZWFyY2hJbnB1dENvbXBvbmVudCB9IGZyb20gJy4vc2VhcmNoLWlucHV0L3NlYXJjaC1pbnB1dC5jb21wb25lbnQnXG5pbXBvcnQgeyBEYXRlUmFuZ2VQaWNrZXJDb21wb25lbnQgfSBmcm9tICcuL2RhdGUtcmFuZ2UtcGlja2VyL2RhdGUtcmFuZ2UtcGlja2VyLmNvbXBvbmVudCdcbmltcG9ydCB7IE1hdEZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnXG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0J1xuaW1wb3J0IHsgTWF0RGF0ZXBpY2tlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RhdGVwaWNrZXInXG5pbXBvcnQgeyBNYXROYXRpdmVEYXRlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSdcbmltcG9ydCB7IEVkaXRhYmxlTGFiZWxEaXJlY3RpdmUgfSBmcm9tICcuL2VkaXRhYmxlLWxhYmVsL2VkaXRhYmxlLWxhYmVsLmRpcmVjdGl2ZSdcbmltcG9ydCB7IEltYWdlSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2ltYWdlLWlucHV0L2ltYWdlLWlucHV0LmNvbXBvbmVudCdcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgQXV0b2NvbXBsZXRlQ29tcG9uZW50LFxuICAgIFRleHRJbnB1dENvbXBvbmVudCxcbiAgICBEcmFnQW5kRHJvcEZpbGVJbnB1dENvbXBvbmVudCxcbiAgICBDaGlwc0lucHV0Q29tcG9uZW50LFxuICAgIE5hdmlnYXRpb25CdXR0b25Db21wb25lbnQsXG4gICAgU3RhclRvZ2dsZUNvbXBvbmVudCxcbiAgICBEcm9wZG93bk11bHRpc2VsZWN0Q29tcG9uZW50LFxuICAgIFZpZXdwb3J0SW50ZXJzZWN0b3JDb21wb25lbnQsXG4gICAgQ29weVRleHRCdXR0b25Db21wb25lbnQsXG4gICAgQ2hlY2tib3hDb21wb25lbnQsXG4gICAgU2VhcmNoSW5wdXRDb21wb25lbnQsXG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgVHJhbnNsYXRlTW9kdWxlLmZvckNoaWxkKCksXG4gICAgTmd4RHJvcHpvbmVNb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBUYWdJbnB1dE1vZHVsZSxcbiAgICBVdGlsU2hhcmVkTW9kdWxlLFxuICAgIE1hdEF1dG9jb21wbGV0ZU1vZHVsZSxcbiAgICBNYXRJY29uTW9kdWxlLFxuICAgIFVpV2lkZ2V0c01vZHVsZSxcbiAgICBPdmVybGF5TW9kdWxlLFxuICAgIE1hdENoZWNrYm94TW9kdWxlLFxuICAgIE1hdFRvb2x0aXBNb2R1bGUsXG4gICAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxuICAgIE1hdElucHV0TW9kdWxlLFxuICAgIE1hdERhdGVwaWNrZXJNb2R1bGUsXG4gICAgTWF0TmF0aXZlRGF0ZU1vZHVsZSxcbiAgICBFZGl0YWJsZUxhYmVsRGlyZWN0aXZlLFxuICAgIFRleHRBcmVhQ29tcG9uZW50LFxuICAgIEJ1dHRvbkNvbXBvbmVudCxcbiAgICBJbWFnZUlucHV0Q29tcG9uZW50LFxuICAgIERyb3Bkb3duU2VsZWN0b3JDb21wb25lbnQsXG4gICAgRGF0ZVJhbmdlUGlja2VyQ29tcG9uZW50LFxuICAgIENoZWNrVG9nZ2xlQ29tcG9uZW50LFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgRHJvcGRvd25TZWxlY3RvckNvbXBvbmVudCxcbiAgICBBdXRvY29tcGxldGVDb21wb25lbnQsXG4gICAgQnV0dG9uQ29tcG9uZW50LFxuICAgIFRleHRJbnB1dENvbXBvbmVudCxcbiAgICBEcmFnQW5kRHJvcEZpbGVJbnB1dENvbXBvbmVudCxcbiAgICBUZXh0QXJlYUNvbXBvbmVudCxcbiAgICBDaGlwc0lucHV0Q29tcG9uZW50LFxuICAgIE5hdmlnYXRpb25CdXR0b25Db21wb25lbnQsXG4gICAgU3RhclRvZ2dsZUNvbXBvbmVudCxcbiAgICBEcm9wZG93bk11bHRpc2VsZWN0Q29tcG9uZW50LFxuICAgIFZpZXdwb3J0SW50ZXJzZWN0b3JDb21wb25lbnQsXG4gICAgQ2hlY2tUb2dnbGVDb21wb25lbnQsXG4gICAgQ29weVRleHRCdXR0b25Db21wb25lbnQsXG4gICAgQ2hlY2tib3hDb21wb25lbnQsXG4gICAgU2VhcmNoSW5wdXRDb21wb25lbnQsXG4gICAgRGF0ZVJhbmdlUGlja2VyQ29tcG9uZW50LFxuICAgIEVkaXRhYmxlTGFiZWxEaXJlY3RpdmUsXG4gICAgSW1hZ2VJbnB1dENvbXBvbmVudCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgVWlJbnB1dHNNb2R1bGUge31cbiJdfQ==
@@ -6,5 +6,6 @@ export * from './lib/form-field-wrapper/form-field-wrapper.component';
6
6
  export * from './lib/interactive-table/interactive-table-column/interactive-table-column.component';
7
7
  export * from './lib/interactive-table/interactive-table.component';
8
8
  export * from './lib/sticky-header/sticky-header.component';
9
+ export * from './lib/block-list/block-list.component';
9
10
  export * from './lib/ui-layout.module';
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2xheW91dC9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx5Q0FBeUMsQ0FBQTtBQUN2RCxjQUFjLG1DQUFtQyxDQUFBO0FBQ2pELGNBQWMsaUVBQWlFLENBQUE7QUFDL0UsY0FBYyxtREFBbUQsQ0FBQTtBQUNqRSxjQUFjLHVEQUF1RCxDQUFBO0FBQ3JFLGNBQWMscUZBQXFGLENBQUE7QUFDbkcsY0FBYyxxREFBcUQsQ0FBQTtBQUNuRSxjQUFjLDZDQUE2QyxDQUFBO0FBQzNELGNBQWMsd0JBQXdCLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpYi9hbmNob3ItbGluay9hbmNob3ItbGluay5kaXJlY3RpdmUnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jYXJvdXNlbC9jYXJvdXNlbC5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9leHBhbmRhYmxlLXBhbmVsLWJ1dHRvbi9leHBhbmRhYmxlLXBhbmVsLWJ1dHRvbi5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9leHBhbmRhYmxlLXBhbmVsL2V4cGFuZGFibGUtcGFuZWwuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZm9ybS1maWVsZC13cmFwcGVyL2Zvcm0tZmllbGQtd3JhcHBlci5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9pbnRlcmFjdGl2ZS10YWJsZS9pbnRlcmFjdGl2ZS10YWJsZS1jb2x1bW4vaW50ZXJhY3RpdmUtdGFibGUtY29sdW1uLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ludGVyYWN0aXZlLXRhYmxlL2ludGVyYWN0aXZlLXRhYmxlLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL3N0aWNreS1oZWFkZXIvc3RpY2t5LWhlYWRlci5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi91aS1sYXlvdXQubW9kdWxlJ1xuIl19
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2xheW91dC9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx5Q0FBeUMsQ0FBQTtBQUN2RCxjQUFjLG1DQUFtQyxDQUFBO0FBQ2pELGNBQWMsaUVBQWlFLENBQUE7QUFDL0UsY0FBYyxtREFBbUQsQ0FBQTtBQUNqRSxjQUFjLHVEQUF1RCxDQUFBO0FBQ3JFLGNBQWMscUZBQXFGLENBQUE7QUFDbkcsY0FBYyxxREFBcUQsQ0FBQTtBQUNuRSxjQUFjLDZDQUE2QyxDQUFBO0FBQzNELGNBQWMsdUNBQXVDLENBQUE7QUFDckQsY0FBYyx3QkFBd0IsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGliL2FuY2hvci1saW5rL2FuY2hvci1saW5rLmRpcmVjdGl2ZSdcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Nhcm91c2VsL2Nhcm91c2VsLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL2V4cGFuZGFibGUtcGFuZWwtYnV0dG9uL2V4cGFuZGFibGUtcGFuZWwtYnV0dG9uLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL2V4cGFuZGFibGUtcGFuZWwvZXhwYW5kYWJsZS1wYW5lbC5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9mb3JtLWZpZWxkLXdyYXBwZXIvZm9ybS1maWVsZC13cmFwcGVyLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ludGVyYWN0aXZlLXRhYmxlL2ludGVyYWN0aXZlLXRhYmxlLWNvbHVtbi9pbnRlcmFjdGl2ZS10YWJsZS1jb2x1bW4uY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvaW50ZXJhY3RpdmUtdGFibGUvaW50ZXJhY3RpdmUtdGFibGUuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc3RpY2t5LWhlYWRlci9zdGlja3ktaGVhZGVyLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Jsb2NrLWxpc3QvYmxvY2stbGlzdC5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi91aS1sYXlvdXQubW9kdWxlJ1xuIl19
@@ -0,0 +1,76 @@
1
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChildren, ElementRef, Input, QueryList, ViewChild, } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common";
5
+ export class BlockListComponent {
6
+ get pages() {
7
+ return new Array(this.pagesCount).fill(0).map((_, i) => i);
8
+ }
9
+ get isFirstPage() {
10
+ return this.currentPage === 0;
11
+ }
12
+ get isLastPage() {
13
+ return this.currentPage === this.pagesCount - 1;
14
+ }
15
+ get pagesCount() {
16
+ return this.blocks ? Math.ceil(this.blocks.length / this.pageSize) : 1;
17
+ }
18
+ constructor(changeDetector) {
19
+ this.changeDetector = changeDetector;
20
+ this.pageSize = 5;
21
+ this.containerClass = '';
22
+ this.paginationContainerClass = 'w-full bottom-0 top-auto';
23
+ this.minHeight = 0;
24
+ this.currentPage = 0;
25
+ this.refreshBlocksVisibility = () => {
26
+ this.blocks.forEach((block, index) => {
27
+ block.nativeElement.style.display =
28
+ index >= this.currentPage * this.pageSize &&
29
+ index < (this.currentPage + 1) * this.pageSize
30
+ ? null
31
+ : 'none';
32
+ });
33
+ };
34
+ }
35
+ ngAfterViewInit() {
36
+ this.blocks.changes.subscribe(this.refreshBlocksVisibility);
37
+ this.refreshBlocksVisibility();
38
+ // we store the first height as the min-height of the list container
39
+ this.minHeight = this.blockContainer.nativeElement.clientHeight;
40
+ this.changeDetector.detectChanges();
41
+ }
42
+ goToPage(index) {
43
+ this.currentPage = Math.max(Math.min(index, this.pagesCount - 1), 0);
44
+ this.changeDetector.detectChanges();
45
+ this.refreshBlocksVisibility();
46
+ }
47
+ previousPage() {
48
+ if (this.isFirstPage)
49
+ return;
50
+ this.goToPage(this.currentPage - 1);
51
+ }
52
+ nextPage() {
53
+ if (this.isLastPage)
54
+ return;
55
+ this.goToPage(this.currentPage + 1);
56
+ }
57
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: BlockListComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
58
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: BlockListComponent, isStandalone: true, selector: "gn-ui-block-list", inputs: { pageSize: "pageSize", containerClass: "containerClass", paginationContainerClass: "paginationContainerClass" }, queries: [{ propertyName: "blocks", predicate: ["block"], read: ElementRef }], viewQueries: [{ propertyName: "blockContainer", first: true, predicate: ["blockContainer"], descendants: true }], ngImport: i0, template: "<div\n class=\"block-list-container flex flex-col\"\n #blockContainer\n [ngClass]=\"containerClass\"\n [ngStyle]=\"{ minHeight: minHeight + 'px' }\"\n>\n <ng-content></ng-content>\n</div>\n<div\n *ngIf=\"pagesCount > 1\"\n class=\"absolute flex flex-row justify-center gap-[14px] p-1\"\n [ngClass]=\"paginationContainerClass\"\n>\n <button\n *ngFor=\"let page of pages\"\n class=\"list-page-dot\"\n (click)=\"goToPage(page)\"\n [ngClass]=\"currentPage === page ? 'bg-primary' : 'bg-gray-400'\"\n ></button>\n</div>\n", styles: [":host .block-list-container ::ng-deep>*{flex-shrink:0}:host{position:relative}.list-page-dot{width:6px;height:6px;border-radius:6px;position:relative}.list-page-dot:after{content:\"\";position:absolute;left:-7px;top:-7px;width:20px;height:20px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
59
+ }
60
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: BlockListComponent, decorators: [{
61
+ type: Component,
62
+ args: [{ selector: 'gn-ui-block-list', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [CommonModule], template: "<div\n class=\"block-list-container flex flex-col\"\n #blockContainer\n [ngClass]=\"containerClass\"\n [ngStyle]=\"{ minHeight: minHeight + 'px' }\"\n>\n <ng-content></ng-content>\n</div>\n<div\n *ngIf=\"pagesCount > 1\"\n class=\"absolute flex flex-row justify-center gap-[14px] p-1\"\n [ngClass]=\"paginationContainerClass\"\n>\n <button\n *ngFor=\"let page of pages\"\n class=\"list-page-dot\"\n (click)=\"goToPage(page)\"\n [ngClass]=\"currentPage === page ? 'bg-primary' : 'bg-gray-400'\"\n ></button>\n</div>\n", styles: [":host .block-list-container ::ng-deep>*{flex-shrink:0}:host{position:relative}.list-page-dot{width:6px;height:6px;border-radius:6px;position:relative}.list-page-dot:after{content:\"\";position:absolute;left:-7px;top:-7px;width:20px;height:20px}\n"] }]
63
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { pageSize: [{
64
+ type: Input
65
+ }], containerClass: [{
66
+ type: Input
67
+ }], paginationContainerClass: [{
68
+ type: Input
69
+ }], blocks: [{
70
+ type: ContentChildren,
71
+ args: ['block', { read: ElementRef }]
72
+ }], blockContainer: [{
73
+ type: ViewChild,
74
+ args: ['blockContainer']
75
+ }] } });
76
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxvY2stbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2xheW91dC9zcmMvbGliL2Jsb2NrLWxpc3QvYmxvY2stbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2xheW91dC9zcmMvbGliL2Jsb2NrLWxpc3QvYmxvY2stbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsZUFBZSxFQUNmLFVBQVUsRUFDVixLQUFLLEVBQ0wsU0FBUyxFQUNULFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQTtBQUN0QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUE7OztBQVU5QyxNQUFNLE9BQU8sa0JBQWtCO0lBWTdCLElBQWMsS0FBSztRQUNqQixPQUFPLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDNUQsQ0FBQztJQUVELElBQUksV0FBVztRQUNiLE9BQU8sSUFBSSxDQUFDLFdBQVcsS0FBSyxDQUFDLENBQUE7SUFDL0IsQ0FBQztJQUNELElBQUksVUFBVTtRQUNaLE9BQU8sSUFBSSxDQUFDLFdBQVcsS0FBSyxJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQTtJQUNqRCxDQUFDO0lBQ0QsSUFBSSxVQUFVO1FBQ1osT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBQ3hFLENBQUM7SUFFRCxZQUFvQixjQUFpQztRQUFqQyxtQkFBYyxHQUFkLGNBQWMsQ0FBbUI7UUF6QjVDLGFBQVEsR0FBRyxDQUFDLENBQUE7UUFDWixtQkFBYyxHQUFHLEVBQUUsQ0FBQTtRQUNuQiw2QkFBd0IsR0FBRywwQkFBMEIsQ0FBQTtRQU1wRCxjQUFTLEdBQUcsQ0FBQyxDQUFBO1FBRWIsZ0JBQVcsR0FBRyxDQUFDLENBQUE7UUEwQmYsNEJBQXVCLEdBQUcsR0FBRyxFQUFFO1lBQ3ZDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxFQUFFO2dCQUNuQyxLQUFLLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxPQUFPO29CQUMvQixLQUFLLElBQUksSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsUUFBUTt3QkFDekMsS0FBSyxHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUTt3QkFDNUMsQ0FBQyxDQUFDLElBQUk7d0JBQ04sQ0FBQyxDQUFDLE1BQU0sQ0FBQTtZQUNkLENBQUMsQ0FBQyxDQUFBO1FBQ0osQ0FBQyxDQUFBO0lBbkJ1RCxDQUFDO0lBRXpELGVBQWU7UUFDYixJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLENBQUE7UUFDM0QsSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUE7UUFFOUIsb0VBQW9FO1FBQ3BFLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFBO1FBQy9ELElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxFQUFFLENBQUE7SUFDckMsQ0FBQztJQVlNLFFBQVEsQ0FBQyxLQUFhO1FBQzNCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFBO1FBQ3BFLElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxFQUFFLENBQUE7UUFDbkMsSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUE7SUFDaEMsQ0FBQztJQUVNLFlBQVk7UUFDakIsSUFBSSxJQUFJLENBQUMsV0FBVztZQUFFLE9BQU07UUFDNUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQyxDQUFBO0lBQ3JDLENBQUM7SUFFTSxRQUFRO1FBQ2IsSUFBSSxJQUFJLENBQUMsVUFBVTtZQUFFLE9BQU07UUFDM0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQyxDQUFBO0lBQ3JDLENBQUM7OEdBN0RVLGtCQUFrQjtrR0FBbEIsa0JBQWtCLDhPQUlLLFVBQVUsK0lDekI5Qyw0aEJBb0JBLCtTRERZLFlBQVk7OzJGQUVYLGtCQUFrQjtrQkFSOUIsU0FBUzsrQkFDRSxrQkFBa0IsbUJBR1gsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1AsQ0FBQyxZQUFZLENBQUM7d0dBR2QsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLHdCQUF3QjtzQkFBaEMsS0FBSztnQkFDMEMsTUFBTTtzQkFBckQsZUFBZTt1QkFBQyxPQUFPLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFO2dCQUdqQixjQUFjO3NCQUExQyxTQUFTO3VCQUFDLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIEVsZW1lbnRSZWYsXG4gIElucHV0LFxuICBRdWVyeUxpc3QsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ24tdWktYmxvY2stbGlzdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9ibG9jay1saXN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYmxvY2stbGlzdC5jb21wb25lbnQuY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbn0pXG5leHBvcnQgY2xhc3MgQmxvY2tMaXN0Q29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gIEBJbnB1dCgpIHBhZ2VTaXplID0gNVxuICBASW5wdXQoKSBjb250YWluZXJDbGFzcyA9ICcnXG4gIEBJbnB1dCgpIHBhZ2luYXRpb25Db250YWluZXJDbGFzcyA9ICd3LWZ1bGwgYm90dG9tLTAgdG9wLWF1dG8nXG4gIEBDb250ZW50Q2hpbGRyZW4oJ2Jsb2NrJywgeyByZWFkOiBFbGVtZW50UmVmIH0pIGJsb2NrczogUXVlcnlMaXN0PFxuICAgIEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+XG4gID5cbiAgQFZpZXdDaGlsZCgnYmxvY2tDb250YWluZXInKSBibG9ja0NvbnRhaW5lcjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD5cblxuICBwcm90ZWN0ZWQgbWluSGVpZ2h0ID0gMFxuXG4gIHByb3RlY3RlZCBjdXJyZW50UGFnZSA9IDBcbiAgcHJvdGVjdGVkIGdldCBwYWdlcygpIHtcbiAgICByZXR1cm4gbmV3IEFycmF5KHRoaXMucGFnZXNDb3VudCkuZmlsbCgwKS5tYXAoKF8sIGkpID0+IGkpXG4gIH1cblxuICBnZXQgaXNGaXJzdFBhZ2UoKSB7XG4gICAgcmV0dXJuIHRoaXMuY3VycmVudFBhZ2UgPT09IDBcbiAgfVxuICBnZXQgaXNMYXN0UGFnZSgpIHtcbiAgICByZXR1cm4gdGhpcy5jdXJyZW50UGFnZSA9PT0gdGhpcy5wYWdlc0NvdW50IC0gMVxuICB9XG4gIGdldCBwYWdlc0NvdW50KCkge1xuICAgIHJldHVybiB0aGlzLmJsb2NrcyA/IE1hdGguY2VpbCh0aGlzLmJsb2Nrcy5sZW5ndGggLyB0aGlzLnBhZ2VTaXplKSA6IDFcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLmJsb2Nrcy5jaGFuZ2VzLnN1YnNjcmliZSh0aGlzLnJlZnJlc2hCbG9ja3NWaXNpYmlsaXR5KVxuICAgIHRoaXMucmVmcmVzaEJsb2Nrc1Zpc2liaWxpdHkoKVxuXG4gICAgLy8gd2Ugc3RvcmUgdGhlIGZpcnN0IGhlaWdodCBhcyB0aGUgbWluLWhlaWdodCBvZiB0aGUgbGlzdCBjb250YWluZXJcbiAgICB0aGlzLm1pbkhlaWdodCA9IHRoaXMuYmxvY2tDb250YWluZXIubmF0aXZlRWxlbWVudC5jbGllbnRIZWlnaHRcbiAgICB0aGlzLmNoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKVxuICB9XG5cbiAgcHJvdGVjdGVkIHJlZnJlc2hCbG9ja3NWaXNpYmlsaXR5ID0gKCkgPT4ge1xuICAgIHRoaXMuYmxvY2tzLmZvckVhY2goKGJsb2NrLCBpbmRleCkgPT4ge1xuICAgICAgYmxvY2submF0aXZlRWxlbWVudC5zdHlsZS5kaXNwbGF5ID1cbiAgICAgICAgaW5kZXggPj0gdGhpcy5jdXJyZW50UGFnZSAqIHRoaXMucGFnZVNpemUgJiZcbiAgICAgICAgaW5kZXggPCAodGhpcy5jdXJyZW50UGFnZSArIDEpICogdGhpcy5wYWdlU2l6ZVxuICAgICAgICAgID8gbnVsbFxuICAgICAgICAgIDogJ25vbmUnXG4gICAgfSlcbiAgfVxuXG4gIHB1YmxpYyBnb1RvUGFnZShpbmRleDogbnVtYmVyKSB7XG4gICAgdGhpcy5jdXJyZW50UGFnZSA9IE1hdGgubWF4KE1hdGgubWluKGluZGV4LCB0aGlzLnBhZ2VzQ291bnQgLSAxKSwgMClcbiAgICB0aGlzLmNoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKVxuICAgIHRoaXMucmVmcmVzaEJsb2Nrc1Zpc2liaWxpdHkoKVxuICB9XG5cbiAgcHVibGljIHByZXZpb3VzUGFnZSgpIHtcbiAgICBpZiAodGhpcy5pc0ZpcnN0UGFnZSkgcmV0dXJuXG4gICAgdGhpcy5nb1RvUGFnZSh0aGlzLmN1cnJlbnRQYWdlIC0gMSlcbiAgfVxuXG4gIHB1YmxpYyBuZXh0UGFnZSgpIHtcbiAgICBpZiAodGhpcy5pc0xhc3RQYWdlKSByZXR1cm5cbiAgICB0aGlzLmdvVG9QYWdlKHRoaXMuY3VycmVudFBhZ2UgKyAxKVxuICB9XG59XG4iLCI8ZGl2XG4gIGNsYXNzPVwiYmxvY2stbGlzdC1jb250YWluZXIgZmxleCBmbGV4LWNvbFwiXG4gICNibG9ja0NvbnRhaW5lclxuICBbbmdDbGFzc109XCJjb250YWluZXJDbGFzc1wiXG4gIFtuZ1N0eWxlXT1cInsgbWluSGVpZ2h0OiBtaW5IZWlnaHQgKyAncHgnIH1cIlxuPlxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L2Rpdj5cbjxkaXZcbiAgKm5nSWY9XCJwYWdlc0NvdW50ID4gMVwiXG4gIGNsYXNzPVwiYWJzb2x1dGUgZmxleCBmbGV4LXJvdyBqdXN0aWZ5LWNlbnRlciBnYXAtWzE0cHhdIHAtMVwiXG4gIFtuZ0NsYXNzXT1cInBhZ2luYXRpb25Db250YWluZXJDbGFzc1wiXG4+XG4gIDxidXR0b25cbiAgICAqbmdGb3I9XCJsZXQgcGFnZSBvZiBwYWdlc1wiXG4gICAgY2xhc3M9XCJsaXN0LXBhZ2UtZG90XCJcbiAgICAoY2xpY2spPVwiZ29Ub1BhZ2UocGFnZSlcIlxuICAgIFtuZ0NsYXNzXT1cImN1cnJlbnRQYWdlID09PSBwYWdlID8gJ2JnLXByaW1hcnknIDogJ2JnLWdyYXktNDAwJ1wiXG4gID48L2J1dHRvbj5cbjwvZGl2PlxuIl19
@@ -1,44 +1,68 @@
1
- import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, Input, ViewChild, } from '@angular/core';
1
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, Input, Output, ViewChild, } from '@angular/core';
2
2
  import EmblaCarousel from 'embla-carousel';
3
+ import { CommonModule } from '@angular/common';
3
4
  import * as i0 from "@angular/core";
4
5
  import * as i1 from "@angular/common";
5
6
  export class CarouselComponent {
7
+ get isFirstStep() {
8
+ return this.currentStep === 0;
9
+ }
10
+ get isLastStep() {
11
+ return this.currentStep === this.steps.length - 1;
12
+ }
13
+ get stepsCount() {
14
+ return this.steps.length;
15
+ }
6
16
  constructor(changeDetector) {
7
17
  this.changeDetector = changeDetector;
8
18
  this.containerClass = '';
9
- this.stepsContainerClass = '';
19
+ this.stepsContainerClass = 'w-full bottom-0 top-auto';
20
+ this.currentStepChange = new EventEmitter();
10
21
  this.steps = [];
11
- this.selectedStep = -1;
22
+ this.currentStep = 0;
23
+ this.refreshSteps = () => {
24
+ this.steps = this.emblaApi.scrollSnapList();
25
+ this.currentStep = this.emblaApi.selectedScrollSnap();
26
+ this.currentStepChange.emit(this.currentStep);
27
+ this.changeDetector.detectChanges();
28
+ };
12
29
  }
13
30
  ngAfterViewInit() {
14
31
  this.emblaApi = EmblaCarousel(this.carouselOverflowContainer.nativeElement, {
15
32
  duration: 15,
16
33
  });
17
- const refreshSteps = () => {
18
- this.steps = this.emblaApi.scrollSnapList();
19
- this.selectedStep = this.emblaApi.selectedScrollSnap();
20
- this.changeDetector.detectChanges();
21
- };
22
34
  this.emblaApi
23
- .on('init', refreshSteps)
24
- .on('reInit', refreshSteps)
25
- .on('select', refreshSteps);
35
+ .on('init', this.refreshSteps)
36
+ .on('reInit', this.refreshSteps)
37
+ .on('select', this.refreshSteps);
26
38
  }
27
39
  scrollToStep(stepIndex) {
28
40
  this.emblaApi.scrollTo(stepIndex);
29
41
  }
42
+ slideToPrevious() {
43
+ if (this.isFirstStep)
44
+ return;
45
+ this.emblaApi.scrollPrev();
46
+ }
47
+ slideToNext() {
48
+ if (this.isLastStep)
49
+ return;
50
+ this.emblaApi.scrollNext();
51
+ }
30
52
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: CarouselComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
31
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: CarouselComponent, selector: "gn-ui-carousel", inputs: { containerClass: "containerClass", stepsContainerClass: "stepsContainerClass" }, viewQueries: [{ propertyName: "carouselOverflowContainer", first: true, predicate: ["carouselOverflowContainer"], descendants: true }], ngImport: i0, template: "<div #carouselOverflowContainer class=\"overflow-hidden h-full w-full\">\n <div class=\"carousel-container flex flex-row\" [ngClass]=\"containerClass\">\n <ng-content></ng-content>\n </div>\n</div>\n<div\n *ngIf=\"steps.length > 1\"\n class=\"absolute right-0 top-0 flex flex-row justify-center gap-[10px] p-1\"\n [ngClass]=\"stepsContainerClass\"\n>\n <button\n *ngFor=\"let step of steps; let i = index\"\n class=\"carousel-step-dot\"\n (click)=\"scrollToStep(i)\"\n [ngClass]=\"selectedStep === i ? 'bg-secondary' : 'bg-gray-400'\"\n ></button>\n</div>\n", styles: [":host .carousel-container ::ng-deep>*{flex-shrink:0}:host{position:relative}.carousel-step-dot{width:6px;height:6px;border-radius:6px;position:relative}.carousel-step-dot:after{content:\"\";position:absolute;left:-4px;top:-4px;width:14px;height:14px}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
53
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: CarouselComponent, isStandalone: true, selector: "gn-ui-carousel", inputs: { containerClass: "containerClass", stepsContainerClass: "stepsContainerClass" }, outputs: { currentStepChange: "currentStepChange" }, viewQueries: [{ propertyName: "carouselOverflowContainer", first: true, predicate: ["carouselOverflowContainer"], descendants: true }], ngImport: i0, template: "<div #carouselOverflowContainer class=\"w-full\">\n <div class=\"carousel-container flex\" [ngClass]=\"containerClass\">\n <ng-content></ng-content>\n </div>\n</div>\n<div\n *ngIf=\"steps.length > 1\"\n class=\"absolute flex flex-row justify-center gap-[14px] p-1\"\n [ngClass]=\"stepsContainerClass\"\n>\n <button\n *ngFor=\"let step of steps; let i = index\"\n class=\"carousel-step-dot\"\n (click)=\"scrollToStep(i)\"\n [ngClass]=\"currentStep === i ? 'bg-primary' : 'bg-gray-400'\"\n ></button>\n</div>\n", styles: [":host .carousel-container ::ng-deep>*{flex-shrink:0}:host{position:relative;display:block}.carousel-step-dot{width:6px;height:6px;border-radius:6px;position:relative}.carousel-step-dot:after{content:\"\";position:absolute;left:-7px;top:-7px;width:20px;height:20px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
32
54
  }
33
55
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: CarouselComponent, decorators: [{
34
56
  type: Component,
35
- args: [{ selector: 'gn-ui-carousel', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div #carouselOverflowContainer class=\"overflow-hidden h-full w-full\">\n <div class=\"carousel-container flex flex-row\" [ngClass]=\"containerClass\">\n <ng-content></ng-content>\n </div>\n</div>\n<div\n *ngIf=\"steps.length > 1\"\n class=\"absolute right-0 top-0 flex flex-row justify-center gap-[10px] p-1\"\n [ngClass]=\"stepsContainerClass\"\n>\n <button\n *ngFor=\"let step of steps; let i = index\"\n class=\"carousel-step-dot\"\n (click)=\"scrollToStep(i)\"\n [ngClass]=\"selectedStep === i ? 'bg-secondary' : 'bg-gray-400'\"\n ></button>\n</div>\n", styles: [":host .carousel-container ::ng-deep>*{flex-shrink:0}:host{position:relative}.carousel-step-dot{width:6px;height:6px;border-radius:6px;position:relative}.carousel-step-dot:after{content:\"\";position:absolute;left:-4px;top:-4px;width:14px;height:14px}\n"] }]
36
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { containerClass: [{
57
+ args: [{ selector: 'gn-ui-carousel', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [CommonModule], template: "<div #carouselOverflowContainer class=\"w-full\">\n <div class=\"carousel-container flex\" [ngClass]=\"containerClass\">\n <ng-content></ng-content>\n </div>\n</div>\n<div\n *ngIf=\"steps.length > 1\"\n class=\"absolute flex flex-row justify-center gap-[14px] p-1\"\n [ngClass]=\"stepsContainerClass\"\n>\n <button\n *ngFor=\"let step of steps; let i = index\"\n class=\"carousel-step-dot\"\n (click)=\"scrollToStep(i)\"\n [ngClass]=\"currentStep === i ? 'bg-primary' : 'bg-gray-400'\"\n ></button>\n</div>\n", styles: [":host .carousel-container ::ng-deep>*{flex-shrink:0}:host{position:relative;display:block}.carousel-step-dot{width:6px;height:6px;border-radius:6px;position:relative}.carousel-step-dot:after{content:\"\";position:absolute;left:-7px;top:-7px;width:20px;height:20px}\n"] }]
58
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { carouselOverflowContainer: [{
59
+ type: ViewChild,
60
+ args: ['carouselOverflowContainer']
61
+ }], containerClass: [{
37
62
  type: Input
38
63
  }], stepsContainerClass: [{
39
64
  type: Input
40
- }], carouselOverflowContainer: [{
41
- type: ViewChild,
42
- args: ['carouselOverflowContainer']
65
+ }], currentStepChange: [{
66
+ type: Output
43
67
  }] } });
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2Fyb3VzZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS9sYXlvdXQvc3JjL2xpYi9jYXJvdXNlbC9jYXJvdXNlbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2xheW91dC9zcmMvbGliL2Nhcm91c2VsL2Nhcm91c2VsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsS0FBSyxFQUNMLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQTtBQUN0QixPQUFPLGFBQW9DLE1BQU0sZ0JBQWdCLENBQUE7OztBQVFqRSxNQUFNLE9BQU8saUJBQWlCO0lBUzVCLFlBQW9CLGNBQWlDO1FBQWpDLG1CQUFjLEdBQWQsY0FBYyxDQUFtQjtRQVI1QyxtQkFBYyxHQUFHLEVBQUUsQ0FBQTtRQUNuQix3QkFBbUIsR0FBRyxFQUFFLENBQUE7UUFHakMsVUFBSyxHQUFhLEVBQUUsQ0FBQTtRQUNwQixpQkFBWSxHQUFHLENBQUMsQ0FBQyxDQUFBO0lBR3VDLENBQUM7SUFFekQsZUFBZTtRQUNiLElBQUksQ0FBQyxRQUFRLEdBQUcsYUFBYSxDQUMzQixJQUFJLENBQUMseUJBQXlCLENBQUMsYUFBYSxFQUM1QztZQUNFLFFBQVEsRUFBRSxFQUFFO1NBQ2IsQ0FDRixDQUFBO1FBQ0QsTUFBTSxZQUFZLEdBQUcsR0FBRyxFQUFFO1lBQ3hCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxjQUFjLEVBQUUsQ0FBQTtZQUMzQyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsa0JBQWtCLEVBQUUsQ0FBQTtZQUN0RCxJQUFJLENBQUMsY0FBYyxDQUFDLGFBQWEsRUFBRSxDQUFBO1FBQ3JDLENBQUMsQ0FBQTtRQUNELElBQUksQ0FBQyxRQUFRO2FBQ1YsRUFBRSxDQUFDLE1BQU0sRUFBRSxZQUFZLENBQUM7YUFDeEIsRUFBRSxDQUFDLFFBQVEsRUFBRSxZQUFZLENBQUM7YUFDMUIsRUFBRSxDQUFDLFFBQVEsRUFBRSxZQUFZLENBQUMsQ0FBQTtJQUMvQixDQUFDO0lBRUQsWUFBWSxDQUFDLFNBQWlCO1FBQzVCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFBO0lBQ25DLENBQUM7OEdBL0JVLGlCQUFpQjtrR0FBakIsaUJBQWlCLHdSQ2pCOUIscWtCQWlCQTs7MkZEQWEsaUJBQWlCO2tCQU43QixTQUFTOytCQUNFLGdCQUFnQixtQkFHVCx1QkFBdUIsQ0FBQyxNQUFNO3dHQUd0QyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFFTix5QkFBeUI7c0JBRHhCLFNBQVM7dUJBQUMsMkJBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIElucHV0LFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgRW1ibGFDYXJvdXNlbCwgeyBFbWJsYUNhcm91c2VsVHlwZSB9IGZyb20gJ2VtYmxhLWNhcm91c2VsJ1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdnbi11aS1jYXJvdXNlbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9jYXJvdXNlbC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Nhcm91c2VsLmNvbXBvbmVudC5jc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIENhcm91c2VsQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gIEBJbnB1dCgpIGNvbnRhaW5lckNsYXNzID0gJydcbiAgQElucHV0KCkgc3RlcHNDb250YWluZXJDbGFzcyA9ICcnXG4gIEBWaWV3Q2hpbGQoJ2Nhcm91c2VsT3ZlcmZsb3dDb250YWluZXInKVxuICBjYXJvdXNlbE92ZXJmbG93Q29udGFpbmVyOiBFbGVtZW50UmVmXG4gIHN0ZXBzOiBudW1iZXJbXSA9IFtdXG4gIHNlbGVjdGVkU3RlcCA9IC0xXG4gIGVtYmxhQXBpOiBFbWJsYUNhcm91c2VsVHlwZVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLmVtYmxhQXBpID0gRW1ibGFDYXJvdXNlbChcbiAgICAgIHRoaXMuY2Fyb3VzZWxPdmVyZmxvd0NvbnRhaW5lci5uYXRpdmVFbGVtZW50LFxuICAgICAge1xuICAgICAgICBkdXJhdGlvbjogMTUsXG4gICAgICB9XG4gICAgKVxuICAgIGNvbnN0IHJlZnJlc2hTdGVwcyA9ICgpID0+IHtcbiAgICAgIHRoaXMuc3RlcHMgPSB0aGlzLmVtYmxhQXBpLnNjcm9sbFNuYXBMaXN0KClcbiAgICAgIHRoaXMuc2VsZWN0ZWRTdGVwID0gdGhpcy5lbWJsYUFwaS5zZWxlY3RlZFNjcm9sbFNuYXAoKVxuICAgICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKClcbiAgICB9XG4gICAgdGhpcy5lbWJsYUFwaVxuICAgICAgLm9uKCdpbml0JywgcmVmcmVzaFN0ZXBzKVxuICAgICAgLm9uKCdyZUluaXQnLCByZWZyZXNoU3RlcHMpXG4gICAgICAub24oJ3NlbGVjdCcsIHJlZnJlc2hTdGVwcylcbiAgfVxuXG4gIHNjcm9sbFRvU3RlcChzdGVwSW5kZXg6IG51bWJlcikge1xuICAgIHRoaXMuZW1ibGFBcGkuc2Nyb2xsVG8oc3RlcEluZGV4KVxuICB9XG59XG4iLCI8ZGl2ICNjYXJvdXNlbE92ZXJmbG93Q29udGFpbmVyIGNsYXNzPVwib3ZlcmZsb3ctaGlkZGVuIGgtZnVsbCB3LWZ1bGxcIj5cbiAgPGRpdiBjbGFzcz1cImNhcm91c2VsLWNvbnRhaW5lciBmbGV4IGZsZXgtcm93XCIgW25nQ2xhc3NdPVwiY29udGFpbmVyQ2xhc3NcIj5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gIDwvZGl2PlxuPC9kaXY+XG48ZGl2XG4gICpuZ0lmPVwic3RlcHMubGVuZ3RoID4gMVwiXG4gIGNsYXNzPVwiYWJzb2x1dGUgcmlnaHQtMCB0b3AtMCBmbGV4IGZsZXgtcm93IGp1c3RpZnktY2VudGVyIGdhcC1bMTBweF0gcC0xXCJcbiAgW25nQ2xhc3NdPVwic3RlcHNDb250YWluZXJDbGFzc1wiXG4+XG4gIDxidXR0b25cbiAgICAqbmdGb3I9XCJsZXQgc3RlcCBvZiBzdGVwczsgbGV0IGkgPSBpbmRleFwiXG4gICAgY2xhc3M9XCJjYXJvdXNlbC1zdGVwLWRvdFwiXG4gICAgKGNsaWNrKT1cInNjcm9sbFRvU3RlcChpKVwiXG4gICAgW25nQ2xhc3NdPVwic2VsZWN0ZWRTdGVwID09PSBpID8gJ2JnLXNlY29uZGFyeScgOiAnYmctZ3JheS00MDAnXCJcbiAgPjwvYnV0dG9uPlxuPC9kaXY+XG4iXX0=
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2Fyb3VzZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS9sYXlvdXQvc3JjL2xpYi9jYXJvdXNlbC9jYXJvdXNlbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2xheW91dC9zcmMvbGliL2Nhcm91c2VsL2Nhcm91c2VsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFBO0FBQ3RCLE9BQU8sYUFBb0MsTUFBTSxnQkFBZ0IsQ0FBQTtBQUNqRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUE7OztBQVU5QyxNQUFNLE9BQU8saUJBQWlCO0lBa0I1QixJQUFJLFdBQVc7UUFDYixPQUFPLElBQUksQ0FBQyxXQUFXLEtBQUssQ0FBQyxDQUFBO0lBQy9CLENBQUM7SUFDRCxJQUFJLFVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxXQUFXLEtBQUssSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFBO0lBQ25ELENBQUM7SUFDRCxJQUFJLFVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFBO0lBQzFCLENBQUM7SUFFRCxZQUFvQixjQUFpQztRQUFqQyxtQkFBYyxHQUFkLGNBQWMsQ0FBbUI7UUF6QjVDLG1CQUFjLEdBQUcsRUFBRSxDQUFBO1FBQ25CLHdCQUFtQixHQUFHLDBCQUEwQixDQUFBO1FBQy9DLHNCQUFpQixHQUFHLElBQUksWUFBWSxFQUFVLENBQUE7UUFFOUMsVUFBSyxHQUFhLEVBQUUsQ0FBQTtRQUVwQixnQkFBVyxHQUFHLENBQUMsQ0FBQTtRQUVmLGlCQUFZLEdBQUcsR0FBRyxFQUFFO1lBQzVCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxjQUFjLEVBQUUsQ0FBQTtZQUMzQyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsa0JBQWtCLEVBQUUsQ0FBQTtZQUNyRCxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQTtZQUM3QyxJQUFJLENBQUMsY0FBYyxDQUFDLGFBQWEsRUFBRSxDQUFBO1FBQ3JDLENBQUMsQ0FBQTtJQVl1RCxDQUFDO0lBRXpELGVBQWU7UUFDYixJQUFJLENBQUMsUUFBUSxHQUFHLGFBQWEsQ0FDM0IsSUFBSSxDQUFDLHlCQUF5QixDQUFDLGFBQWEsRUFDNUM7WUFDRSxRQUFRLEVBQUUsRUFBRTtTQUNiLENBQ0YsQ0FBQTtRQUVELElBQUksQ0FBQyxRQUFRO2FBQ1YsRUFBRSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDO2FBQzdCLEVBQUUsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQzthQUMvQixFQUFFLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQTtJQUNwQyxDQUFDO0lBRU0sWUFBWSxDQUFDLFNBQWlCO1FBQ25DLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFBO0lBQ25DLENBQUM7SUFFTSxlQUFlO1FBQ3BCLElBQUksSUFBSSxDQUFDLFdBQVc7WUFBRSxPQUFNO1FBQzVCLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFFLENBQUE7SUFDNUIsQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxJQUFJLENBQUMsVUFBVTtZQUFFLE9BQU07UUFDM0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsQ0FBQTtJQUM1QixDQUFDOzhHQXhEVSxpQkFBaUI7a0dBQWpCLGlCQUFpQixpV0N0QjlCLG9oQkFpQkEsbVVER1ksWUFBWTs7MkZBRVgsaUJBQWlCO2tCQVI3QixTQUFTOytCQUNFLGdCQUFnQixtQkFHVCx1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUCxDQUFDLFlBQVksQ0FBQzt3R0FHaUIseUJBQXlCO3NCQUFoRSxTQUFTO3VCQUFDLDJCQUEyQjtnQkFFN0IsY0FBYztzQkFBdEIsS0FBSztnQkFDRyxtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBQ0ksaUJBQWlCO3NCQUExQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IEVtYmxhQ2Fyb3VzZWwsIHsgRW1ibGFDYXJvdXNlbFR5cGUgfSBmcm9tICdlbWJsYS1jYXJvdXNlbCdcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ24tdWktY2Fyb3VzZWwnLFxuICB0ZW1wbGF0ZVVybDogJy4vY2Fyb3VzZWwuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jYXJvdXNlbC5jb21wb25lbnQuY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbn0pXG5leHBvcnQgY2xhc3MgQ2Fyb3VzZWxDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgQFZpZXdDaGlsZCgnY2Fyb3VzZWxPdmVyZmxvd0NvbnRhaW5lcicpIGNhcm91c2VsT3ZlcmZsb3dDb250YWluZXI6IEVsZW1lbnRSZWZcblxuICBASW5wdXQoKSBjb250YWluZXJDbGFzcyA9ICcnXG4gIEBJbnB1dCgpIHN0ZXBzQ29udGFpbmVyQ2xhc3MgPSAndy1mdWxsIGJvdHRvbS0wIHRvcC1hdXRvJ1xuICBAT3V0cHV0KCkgY3VycmVudFN0ZXBDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKVxuXG4gIHByb3RlY3RlZCBzdGVwczogbnVtYmVyW10gPSBbXVxuICBwcm90ZWN0ZWQgZW1ibGFBcGk6IEVtYmxhQ2Fyb3VzZWxUeXBlXG4gIHByb3RlY3RlZCBjdXJyZW50U3RlcCA9IDBcblxuICBwcm90ZWN0ZWQgcmVmcmVzaFN0ZXBzID0gKCkgPT4ge1xuICAgIHRoaXMuc3RlcHMgPSB0aGlzLmVtYmxhQXBpLnNjcm9sbFNuYXBMaXN0KClcbiAgICB0aGlzLmN1cnJlbnRTdGVwID0gdGhpcy5lbWJsYUFwaS5zZWxlY3RlZFNjcm9sbFNuYXAoKVxuICAgIHRoaXMuY3VycmVudFN0ZXBDaGFuZ2UuZW1pdCh0aGlzLmN1cnJlbnRTdGVwKVxuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpXG4gIH1cblxuICBnZXQgaXNGaXJzdFN0ZXAoKSB7XG4gICAgcmV0dXJuIHRoaXMuY3VycmVudFN0ZXAgPT09IDBcbiAgfVxuICBnZXQgaXNMYXN0U3RlcCgpIHtcbiAgICByZXR1cm4gdGhpcy5jdXJyZW50U3RlcCA9PT0gdGhpcy5zdGVwcy5sZW5ndGggLSAxXG4gIH1cbiAgZ2V0IHN0ZXBzQ291bnQoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RlcHMubGVuZ3RoXG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZikge31cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgdGhpcy5lbWJsYUFwaSA9IEVtYmxhQ2Fyb3VzZWwoXG4gICAgICB0aGlzLmNhcm91c2VsT3ZlcmZsb3dDb250YWluZXIubmF0aXZlRWxlbWVudCxcbiAgICAgIHtcbiAgICAgICAgZHVyYXRpb246IDE1LFxuICAgICAgfVxuICAgIClcblxuICAgIHRoaXMuZW1ibGFBcGlcbiAgICAgIC5vbignaW5pdCcsIHRoaXMucmVmcmVzaFN0ZXBzKVxuICAgICAgLm9uKCdyZUluaXQnLCB0aGlzLnJlZnJlc2hTdGVwcylcbiAgICAgIC5vbignc2VsZWN0JywgdGhpcy5yZWZyZXNoU3RlcHMpXG4gIH1cblxuICBwdWJsaWMgc2Nyb2xsVG9TdGVwKHN0ZXBJbmRleDogbnVtYmVyKSB7XG4gICAgdGhpcy5lbWJsYUFwaS5zY3JvbGxUbyhzdGVwSW5kZXgpXG4gIH1cblxuICBwdWJsaWMgc2xpZGVUb1ByZXZpb3VzKCkge1xuICAgIGlmICh0aGlzLmlzRmlyc3RTdGVwKSByZXR1cm5cbiAgICB0aGlzLmVtYmxhQXBpLnNjcm9sbFByZXYoKVxuICB9XG5cbiAgcHVibGljIHNsaWRlVG9OZXh0KCkge1xuICAgIGlmICh0aGlzLmlzTGFzdFN0ZXApIHJldHVyblxuICAgIHRoaXMuZW1ibGFBcGkuc2Nyb2xsTmV4dCgpXG4gIH1cbn1cbiIsIjxkaXYgI2Nhcm91c2VsT3ZlcmZsb3dDb250YWluZXIgY2xhc3M9XCJ3LWZ1bGxcIj5cbiAgPGRpdiBjbGFzcz1cImNhcm91c2VsLWNvbnRhaW5lciBmbGV4XCIgW25nQ2xhc3NdPVwiY29udGFpbmVyQ2xhc3NcIj5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gIDwvZGl2PlxuPC9kaXY+XG48ZGl2XG4gICpuZ0lmPVwic3RlcHMubGVuZ3RoID4gMVwiXG4gIGNsYXNzPVwiYWJzb2x1dGUgZmxleCBmbGV4LXJvdyBqdXN0aWZ5LWNlbnRlciBnYXAtWzE0cHhdIHAtMVwiXG4gIFtuZ0NsYXNzXT1cInN0ZXBzQ29udGFpbmVyQ2xhc3NcIlxuPlxuICA8YnV0dG9uXG4gICAgKm5nRm9yPVwibGV0IHN0ZXAgb2Ygc3RlcHM7IGxldCBpID0gaW5kZXhcIlxuICAgIGNsYXNzPVwiY2Fyb3VzZWwtc3RlcC1kb3RcIlxuICAgIChjbGljayk9XCJzY3JvbGxUb1N0ZXAoaSlcIlxuICAgIFtuZ0NsYXNzXT1cImN1cnJlbnRTdGVwID09PSBpID8gJ2JnLXByaW1hcnknIDogJ2JnLWdyYXktNDAwJ1wiXG4gID48L2J1dHRvbj5cbjwvZGl2PlxuIl19