@indice/ng-components 0.2.175 → 0.3.1

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 (243) hide show
  1. package/README.md +4 -4
  2. package/_styles.scss +4323 -4275
  3. package/{esm2020 → esm2022}/indice-ng-components.mjs +4 -4
  4. package/esm2022/lib/controls/advanced-search/advanced-search.component.mjs +156 -0
  5. package/esm2022/lib/controls/advanced-search/models.mjs +109 -0
  6. package/esm2022/lib/controls/avatar-initials/avatar-initials.component.mjs +48 -0
  7. package/{esm2020 → esm2022}/lib/controls/breadcrumb/breadcrumb-item.mjs +14 -14
  8. package/esm2022/lib/controls/breadcrumb/breadcrumb.component.mjs +26 -0
  9. package/esm2022/lib/controls/collapsible-panel/collapsible-panel.component.mjs +20 -0
  10. package/esm2022/lib/controls/combobox/combobox.component.mjs +121 -0
  11. package/esm2022/lib/controls/content-tile/content-tile-header/content-tile-header.component.mjs +17 -0
  12. package/esm2022/lib/controls/content-tile/content-tile-item/content-tile-item.component.mjs +19 -0
  13. package/esm2022/lib/controls/content-tile/content-tile.component.mjs +63 -0
  14. package/esm2022/lib/controls/date-picker/date-picker.component.mjs +300 -0
  15. package/esm2022/lib/controls/drop-down-menu/drop-down-menu.component.mjs +72 -0
  16. package/esm2022/lib/controls/kpi-tile/kpi-tile.component.mjs +43 -0
  17. package/esm2022/lib/controls/language-selection/language-selection.component.mjs +31 -0
  18. package/{esm2020 → esm2022}/lib/controls/list-view/list-column.component.mjs +25 -25
  19. package/esm2022/lib/controls/list-view/list-details-section.component.mjs +17 -0
  20. package/{esm2020 → esm2022}/lib/controls/list-view/list-tile.component.mjs +17 -17
  21. package/esm2022/lib/controls/list-view/list-view-empty-state.component.mjs +29 -0
  22. package/esm2022/lib/controls/list-view/list-view.component.mjs +210 -0
  23. package/esm2022/lib/controls/nav-links-list/nav-links-list.component.mjs +54 -0
  24. package/esm2022/lib/controls/notifications-indicator/notifications-indicator.component.mjs +79 -0
  25. package/esm2022/lib/controls/pager/pager.component.mjs +130 -0
  26. package/esm2022/lib/controls/progress-bar/progress-bar.component.mjs +46 -0
  27. package/esm2022/lib/controls/side-pane/side-pane.component.mjs +87 -0
  28. package/esm2022/lib/controls/skeleton-loader/skeleton-loader.component.mjs +29 -0
  29. package/esm2022/lib/controls/stats-grid/stats-grid.component.mjs +49 -0
  30. package/{esm2020 → esm2022}/lib/controls/stepper/lib-step-info.directive.mjs +16 -16
  31. package/{esm2020 → esm2022}/lib/controls/stepper/lib-step-label.directive.mjs +16 -16
  32. package/esm2022/lib/controls/stepper/lib-step.component.mjs +81 -0
  33. package/esm2022/lib/controls/stepper/lib-stepper.component.mjs +108 -0
  34. package/esm2022/lib/controls/stepper/types/step-selected-event.mjs +4 -0
  35. package/{esm2020 → esm2022}/lib/controls/stepper/types/stepper-type.mjs +12 -12
  36. package/esm2022/lib/controls/tabs/lib-tab-group.component.mjs +66 -0
  37. package/{esm2020 → esm2022}/lib/controls/tabs/lib-tab-label.directive.mjs +16 -16
  38. package/{esm2020 → esm2022}/lib/controls/tabs/lib-tab.component.mjs +64 -64
  39. package/esm2022/lib/controls/toaster/toaster-container.component.mjs +28 -0
  40. package/esm2022/lib/controls/toaster/toaster.component.mjs +31 -0
  41. package/esm2022/lib/controls/toggle/toggle.component.mjs +64 -0
  42. package/esm2022/lib/controls/toggle-button/toggle-button.component.mjs +87 -0
  43. package/esm2022/lib/controls/toggle-buttons-list/toggle-buttons-list.component.mjs +34 -0
  44. package/esm2022/lib/controls/user-profile-menu/user-profile-menu.component.mjs +71 -0
  45. package/esm2022/lib/directives/click-outside.directive.mjs +189 -0
  46. package/esm2022/lib/directives/dynamic-component-host.directive.mjs +17 -0
  47. package/esm2022/lib/helpers/base-list.component.mjs +230 -0
  48. package/esm2022/lib/icons.mjs +36 -0
  49. package/esm2022/lib/layouts/shell/shell-footer/shell-footer.component.mjs +19 -0
  50. package/esm2022/lib/layouts/shell/shell-header/shell-header.component.mjs +130 -0
  51. package/esm2022/lib/layouts/shell/shell-layout/shell-layout.component.mjs +90 -0
  52. package/esm2022/lib/layouts/shell/shell-sidebar/shell-sidebar.component.mjs +54 -0
  53. package/esm2022/lib/layouts/shell/shell-sidebar-header/shell-sidebar-header.component.mjs +45 -0
  54. package/esm2022/lib/layouts/shell/shell-sidebar-layout/shell-sidebar-layout.component.mjs +30 -0
  55. package/esm2022/lib/layouts/shell/shell-stacked-layout/shell-stacked-layout.component.mjs +20 -0
  56. package/esm2022/lib/layouts/views/form-layout/form-layout.component.mjs +86 -0
  57. package/esm2022/lib/layouts/views/model-view-layout/model-view-layout.component.mjs +101 -0
  58. package/esm2022/lib/layouts/views/side-view-layout/side-view-layout.component.mjs +106 -0
  59. package/esm2022/lib/layouts/views/view-layout/view-layout.component.mjs +104 -0
  60. package/esm2022/lib/ng-components.module.mjs +320 -0
  61. package/esm2022/lib/pages/auth/auth-callback/auth-callback.component.mjs +30 -0
  62. package/esm2022/lib/pages/auth/auth-renew/auth-renew.component.mjs +31 -0
  63. package/esm2022/lib/pages/auth/logged-out/logged-out.component.mjs +28 -0
  64. package/esm2022/lib/pages/http-status/error/error.component.mjs +17 -0
  65. package/esm2022/lib/pages/http-status/page-not-found/page-not-found.component.mjs +15 -0
  66. package/esm2022/lib/pages/http-status/unauthorized/unauthorized.component.mjs +14 -0
  67. package/esm2022/lib/pipes/address.pipe.mjs +21 -0
  68. package/esm2022/lib/pipes/duration-format.pipe.mjs +64 -0
  69. package/esm2022/lib/pipes/short-number.pipe.mjs +43 -0
  70. package/esm2022/lib/services/breadcrumb.service.mjs +174 -0
  71. package/esm2022/lib/services/component-loader/component-loader-options.class.mjs +8 -0
  72. package/esm2022/lib/services/component-loader/component-loader.class.mjs +188 -0
  73. package/esm2022/lib/services/component-loader/component-loader.factory.mjs +32 -0
  74. package/{esm2020 → esm2022}/lib/services/component-loader/content-ref.class.mjs +13 -13
  75. package/esm2022/lib/services/modal-service/modal-backdrop-component.mjs +44 -0
  76. package/esm2022/lib/services/modal-service/modal-container-component.mjs +126 -0
  77. package/esm2022/lib/services/modal-service/modal-options.class.mjs +35 -0
  78. package/esm2022/lib/services/modal-service/modal-service.mjs +220 -0
  79. package/{esm2020 → esm2022}/lib/services/modal-service/modal-styles.class.mjs +11 -11
  80. package/esm2022/lib/services/modal-service/modal.class.mjs +27 -0
  81. package/{esm2020 → esm2022}/lib/services/toaster.service.mjs +26 -26
  82. package/esm2022/lib/services/user-settings.service.mjs +35 -0
  83. package/esm2022/lib/services/utilities.service.mjs +47 -0
  84. package/{esm2020 → esm2022}/lib/tokens.mjs +8 -8
  85. package/esm2022/lib/types.mjs +133 -0
  86. package/esm2022/public-api.mjs +78 -0
  87. package/fesm2022/indice-ng-components.mjs +5069 -0
  88. package/fesm2022/indice-ng-components.mjs.map +1 -0
  89. package/index.d.ts +5 -5
  90. package/lib/controls/advanced-search/advanced-search.component.d.ts +40 -40
  91. package/lib/controls/advanced-search/models.d.ts +91 -91
  92. package/lib/controls/avatar-initials/avatar-initials.component.d.ts +14 -14
  93. package/lib/controls/breadcrumb/breadcrumb-item.d.ts +7 -7
  94. package/lib/controls/breadcrumb/breadcrumb.component.d.ts +12 -12
  95. package/lib/controls/collapsible-panel/collapsible-panel.component.d.ts +10 -10
  96. package/lib/controls/combobox/combobox.component.d.ts +35 -34
  97. package/lib/controls/content-tile/content-tile-header/content-tile-header.component.d.ts +7 -0
  98. package/lib/controls/content-tile/content-tile-item/content-tile-item.component.d.ts +8 -0
  99. package/lib/controls/content-tile/content-tile.component.d.ts +23 -0
  100. package/lib/controls/date-picker/date-picker.component.d.ts +53 -53
  101. package/lib/controls/drop-down-menu/drop-down-menu.component.d.ts +26 -26
  102. package/lib/controls/kpi-tile/kpi-tile.component.d.ts +15 -15
  103. package/lib/controls/language-selection/language-selection.component.d.ts +14 -14
  104. package/lib/controls/list-view/list-column.component.d.ts +9 -9
  105. package/lib/controls/list-view/list-details-section.component.d.ts +7 -7
  106. package/lib/controls/list-view/list-tile.component.d.ts +7 -7
  107. package/lib/controls/list-view/list-view-empty-state.component.d.ts +11 -11
  108. package/lib/controls/list-view/list-view.component.d.ts +62 -61
  109. package/lib/controls/nav-links-list/nav-links-list.component.d.ts +21 -21
  110. package/lib/controls/notifications-indicator/notifications-indicator.component.d.ts +22 -22
  111. package/lib/controls/pager/pager.component.d.ts +36 -36
  112. package/lib/controls/progress-bar/progress-bar.component.d.ts +16 -0
  113. package/lib/controls/side-pane/side-pane.component.d.ts +22 -18
  114. package/lib/controls/skeleton-loader/skeleton-loader.component.d.ts +12 -11
  115. package/lib/controls/stats-grid/stats-grid.component.d.ts +16 -0
  116. package/lib/controls/stepper/lib-step-info.directive.d.ts +8 -8
  117. package/lib/controls/stepper/lib-step-label.directive.d.ts +8 -8
  118. package/lib/controls/stepper/lib-step.component.d.ts +34 -34
  119. package/lib/controls/stepper/lib-stepper.component.d.ts +43 -43
  120. package/lib/controls/stepper/types/step-selected-event.d.ts +12 -12
  121. package/lib/controls/stepper/types/stepper-type.d.ts +10 -10
  122. package/lib/controls/tabs/lib-tab-group.component.d.ts +21 -21
  123. package/lib/controls/tabs/lib-tab-label.directive.d.ts +8 -8
  124. package/lib/controls/tabs/lib-tab.component.d.ts +24 -24
  125. package/lib/controls/toaster/toaster-container.component.d.ts +13 -13
  126. package/lib/controls/toaster/toaster.component.d.ts +15 -15
  127. package/lib/controls/toggle/toggle.component.d.ts +19 -19
  128. package/lib/controls/toggle-button/toggle-button.component.d.ts +25 -25
  129. package/lib/controls/toggle-buttons-list/toggle-buttons-list.component.d.ts +15 -14
  130. package/lib/controls/user-profile-menu/user-profile-menu.component.d.ts +24 -24
  131. package/lib/directives/click-outside.directive.d.ts +40 -40
  132. package/lib/directives/dynamic-component-host.directive.d.ts +9 -9
  133. package/lib/helpers/base-list.component.d.ts +54 -53
  134. package/lib/icons.d.ts +34 -34
  135. package/lib/layouts/shell/shell-footer/shell-footer.component.d.ts +8 -8
  136. package/lib/layouts/shell/shell-header/shell-header.component.d.ts +39 -39
  137. package/lib/layouts/shell/shell-layout/shell-layout.component.d.ts +26 -26
  138. package/lib/layouts/shell/shell-sidebar/shell-sidebar.component.d.ts +20 -20
  139. package/lib/layouts/shell/shell-sidebar-header/shell-sidebar-header.component.d.ts +14 -14
  140. package/lib/layouts/shell/shell-sidebar-layout/shell-sidebar-layout.component.d.ts +15 -15
  141. package/lib/layouts/shell/shell-stacked-layout/shell-stacked-layout.component.d.ts +10 -10
  142. package/lib/layouts/views/form-layout/form-layout.component.d.ts +26 -24
  143. package/lib/layouts/views/model-view-layout/model-view-layout.component.d.ts +42 -42
  144. package/lib/layouts/views/side-view-layout/side-view-layout.component.d.ts +29 -28
  145. package/lib/layouts/views/view-layout/view-layout.component.d.ts +31 -31
  146. package/lib/ng-components.module.d.ts +71 -65
  147. package/lib/pages/auth/auth-callback/auth-callback.component.d.ts +13 -13
  148. package/lib/pages/auth/auth-renew/auth-renew.component.d.ts +12 -12
  149. package/lib/pages/auth/logged-out/logged-out.component.d.ts +12 -12
  150. package/lib/pages/http-status/error/error.component.d.ts +8 -8
  151. package/lib/pages/http-status/page-not-found/page-not-found.component.d.ts +8 -8
  152. package/lib/pages/http-status/unauthorized/unauthorized.component.d.ts +8 -8
  153. package/lib/pipes/address.pipe.d.ts +8 -8
  154. package/lib/pipes/duration-format.pipe.d.ts +8 -8
  155. package/lib/pipes/short-number.pipe.d.ts +7 -0
  156. package/lib/services/breadcrumb.service.d.ts +29 -29
  157. package/lib/services/component-loader/component-loader-options.class.d.ts +30 -30
  158. package/lib/services/component-loader/component-loader.class.d.ts +92 -92
  159. package/lib/services/component-loader/component-loader.factory.d.ts +24 -24
  160. package/lib/services/component-loader/content-ref.class.d.ts +12 -12
  161. package/lib/services/modal-service/modal-backdrop-component.d.ts +20 -20
  162. package/lib/services/modal-service/modal-container-component.d.ts +33 -33
  163. package/lib/services/modal-service/modal-options.class.d.ts +81 -81
  164. package/lib/services/modal-service/modal-service.d.ts +58 -58
  165. package/lib/services/modal-service/modal-styles.class.d.ts +10 -10
  166. package/lib/services/modal-service/modal.class.d.ts +43 -43
  167. package/lib/services/toaster.service.d.ts +11 -11
  168. package/lib/services/user-settings.service.d.ts +13 -13
  169. package/lib/services/utilities.service.d.ts +11 -11
  170. package/lib/tokens.d.ts +10 -10
  171. package/lib/types.d.ts +179 -177
  172. package/modal.css +157 -157
  173. package/package.json +13 -19
  174. package/public-api.d.ts +68 -60
  175. package/esm2020/lib/controls/advanced-search/advanced-search.component.mjs +0 -156
  176. package/esm2020/lib/controls/advanced-search/models.mjs +0 -109
  177. package/esm2020/lib/controls/avatar-initials/avatar-initials.component.mjs +0 -48
  178. package/esm2020/lib/controls/breadcrumb/breadcrumb.component.mjs +0 -26
  179. package/esm2020/lib/controls/collapsible-panel/collapsible-panel.component.mjs +0 -20
  180. package/esm2020/lib/controls/combobox/combobox.component.mjs +0 -117
  181. package/esm2020/lib/controls/date-picker/date-picker.component.mjs +0 -292
  182. package/esm2020/lib/controls/drop-down-menu/drop-down-menu.component.mjs +0 -72
  183. package/esm2020/lib/controls/kpi-tile/kpi-tile.component.mjs +0 -43
  184. package/esm2020/lib/controls/language-selection/language-selection.component.mjs +0 -31
  185. package/esm2020/lib/controls/list-view/list-details-section.component.mjs +0 -17
  186. package/esm2020/lib/controls/list-view/list-view-empty-state.component.mjs +0 -29
  187. package/esm2020/lib/controls/list-view/list-view.component.mjs +0 -206
  188. package/esm2020/lib/controls/nav-links-list/nav-links-list.component.mjs +0 -54
  189. package/esm2020/lib/controls/notifications-indicator/notifications-indicator.component.mjs +0 -79
  190. package/esm2020/lib/controls/pager/pager.component.mjs +0 -130
  191. package/esm2020/lib/controls/side-pane/side-pane.component.mjs +0 -72
  192. package/esm2020/lib/controls/skeleton-loader/skeleton-loader.component.mjs +0 -25
  193. package/esm2020/lib/controls/stepper/lib-step.component.mjs +0 -81
  194. package/esm2020/lib/controls/stepper/lib-stepper.component.mjs +0 -108
  195. package/esm2020/lib/controls/stepper/types/step-selected-event.mjs +0 -4
  196. package/esm2020/lib/controls/tabs/lib-tab-group.component.mjs +0 -66
  197. package/esm2020/lib/controls/toaster/toaster-container.component.mjs +0 -28
  198. package/esm2020/lib/controls/toaster/toaster.component.mjs +0 -31
  199. package/esm2020/lib/controls/toggle/toggle.component.mjs +0 -64
  200. package/esm2020/lib/controls/toggle-button/toggle-button.component.mjs +0 -87
  201. package/esm2020/lib/controls/toggle-buttons-list/toggle-buttons-list.component.mjs +0 -31
  202. package/esm2020/lib/controls/user-profile-menu/user-profile-menu.component.mjs +0 -71
  203. package/esm2020/lib/directives/click-outside.directive.mjs +0 -189
  204. package/esm2020/lib/directives/dynamic-component-host.directive.mjs +0 -17
  205. package/esm2020/lib/helpers/base-list.component.mjs +0 -226
  206. package/esm2020/lib/icons.mjs +0 -36
  207. package/esm2020/lib/layouts/shell/shell-footer/shell-footer.component.mjs +0 -19
  208. package/esm2020/lib/layouts/shell/shell-header/shell-header.component.mjs +0 -130
  209. package/esm2020/lib/layouts/shell/shell-layout/shell-layout.component.mjs +0 -90
  210. package/esm2020/lib/layouts/shell/shell-sidebar/shell-sidebar.component.mjs +0 -54
  211. package/esm2020/lib/layouts/shell/shell-sidebar-header/shell-sidebar-header.component.mjs +0 -45
  212. package/esm2020/lib/layouts/shell/shell-sidebar-layout/shell-sidebar-layout.component.mjs +0 -30
  213. package/esm2020/lib/layouts/shell/shell-stacked-layout/shell-stacked-layout.component.mjs +0 -20
  214. package/esm2020/lib/layouts/views/form-layout/form-layout.component.mjs +0 -80
  215. package/esm2020/lib/layouts/views/model-view-layout/model-view-layout.component.mjs +0 -101
  216. package/esm2020/lib/layouts/views/side-view-layout/side-view-layout.component.mjs +0 -98
  217. package/esm2020/lib/layouts/views/view-layout/view-layout.component.mjs +0 -104
  218. package/esm2020/lib/ng-components.module.mjs +0 -288
  219. package/esm2020/lib/pages/auth/auth-callback/auth-callback.component.mjs +0 -30
  220. package/esm2020/lib/pages/auth/auth-renew/auth-renew.component.mjs +0 -31
  221. package/esm2020/lib/pages/auth/logged-out/logged-out.component.mjs +0 -28
  222. package/esm2020/lib/pages/http-status/error/error.component.mjs +0 -17
  223. package/esm2020/lib/pages/http-status/page-not-found/page-not-found.component.mjs +0 -15
  224. package/esm2020/lib/pages/http-status/unauthorized/unauthorized.component.mjs +0 -14
  225. package/esm2020/lib/pipes/address.pipe.mjs +0 -21
  226. package/esm2020/lib/pipes/duration-format.pipe.mjs +0 -64
  227. package/esm2020/lib/services/breadcrumb.service.mjs +0 -174
  228. package/esm2020/lib/services/component-loader/component-loader-options.class.mjs +0 -8
  229. package/esm2020/lib/services/component-loader/component-loader.class.mjs +0 -188
  230. package/esm2020/lib/services/component-loader/component-loader.factory.mjs +0 -32
  231. package/esm2020/lib/services/modal-service/modal-backdrop-component.mjs +0 -44
  232. package/esm2020/lib/services/modal-service/modal-container-component.mjs +0 -126
  233. package/esm2020/lib/services/modal-service/modal-options.class.mjs +0 -35
  234. package/esm2020/lib/services/modal-service/modal-service.mjs +0 -220
  235. package/esm2020/lib/services/modal-service/modal.class.mjs +0 -27
  236. package/esm2020/lib/services/user-settings.service.mjs +0 -35
  237. package/esm2020/lib/services/utilities.service.mjs +0 -47
  238. package/esm2020/lib/types.mjs +0 -132
  239. package/esm2020/public-api.mjs +0 -70
  240. package/fesm2015/indice-ng-components.mjs +0 -4852
  241. package/fesm2015/indice-ng-components.mjs.map +0 -1
  242. package/fesm2020/indice-ng-components.mjs +0 -4763
  243. package/fesm2020/indice-ng-components.mjs.map +0 -1
@@ -1,16 +1,16 @@
1
- import { Directive } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class LibStepLabelDirective {
4
- constructor(template) {
5
- this.template = template;
6
- }
7
- }
8
- LibStepLabelDirectivefac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: LibStepLabelDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
9
- LibStepLabelDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.0.0", type: LibStepLabelDirective, selector: "[libStepLabel]", ngImport: i0 });
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: LibStepLabelDirective, decorators: [{
11
- type: Directive,
12
- args: [{
13
- selector: '[libStepLabel]'
14
- }]
15
- }], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliLXN0ZXAtbGFiZWwuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctY29tcG9uZW50cy9zcmMvbGliL2NvbnRyb2xzL3N0ZXBwZXIvbGliLXN0ZXAtbGFiZWwuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWUsTUFBTSxlQUFlLENBQUM7O0FBS3ZELE1BQU0sT0FBTyxxQkFBcUI7SUFDOUIsWUFBbUIsUUFBMEI7UUFBMUIsYUFBUSxHQUFSLFFBQVEsQ0FBa0I7SUFBSSxDQUFDOztrSEFEekMscUJBQXFCO3NHQUFyQixxQkFBcUI7MkZBQXJCLHFCQUFxQjtrQkFIakMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsZ0JBQWdCO2lCQUM3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gICAgc2VsZWN0b3I6ICdbbGliU3RlcExhYmVsXSdcclxufSlcclxuZXhwb3J0IGNsYXNzIExpYlN0ZXBMYWJlbERpcmVjdGl2ZSB7XHJcbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgdGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4pIHsgfVxyXG59XHJcbiJdfQ==
1
+ import { Directive } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class LibStepLabelDirective {
4
+ constructor(template) {
5
+ this.template = template;
6
+ }
7
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: LibStepLabelDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
8
+ static { thisdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.6", type: LibStepLabelDirective, selector: "[libStepLabel]", ngImport: i0 }); }
9
+ }
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: LibStepLabelDirective, decorators: [{
11
+ type: Directive,
12
+ args: [{
13
+ selector: '[libStepLabel]'
14
+ }]
15
+ }], ctorParameters: () => [{ type: i0.TemplateRef }] });
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliLXN0ZXAtbGFiZWwuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctY29tcG9uZW50cy9zcmMvbGliL2NvbnRyb2xzL3N0ZXBwZXIvbGliLXN0ZXAtbGFiZWwuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWUsTUFBTSxlQUFlLENBQUM7O0FBS3ZELE1BQU0sT0FBTyxxQkFBcUI7SUFDOUIsWUFBbUIsUUFBMEI7UUFBMUIsYUFBUSxHQUFSLFFBQVEsQ0FBa0I7SUFBSSxDQUFDOzhHQUR6QyxxQkFBcUI7a0dBQXJCLHFCQUFxQjs7MkZBQXJCLHFCQUFxQjtrQkFIakMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsZ0JBQWdCO2lCQUM3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbbGliU3RlcExhYmVsXSdcbn0pXG5leHBvcnQgY2xhc3MgTGliU3RlcExhYmVsRGlyZWN0aXZlIHtcbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgdGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4pIHsgfVxufVxuIl19
@@ -0,0 +1,81 @@
1
+ import { ChangeDetectionStrategy, Component, ContentChild, Inject, Input, Optional, TemplateRef, ViewChild, ViewEncapsulation } from '@angular/core';
2
+ import { LIBSTEPPER_ACCESSOR } from '../../tokens';
3
+ import { LibStepInfoDirective } from './lib-step-info.directive';
4
+ import { LibStepLabelDirective } from './lib-step-label.directive';
5
+ import * as i0 from "@angular/core";
6
+ export var StepState;
7
+ (function (StepState) {
8
+ StepState["Active"] = "Active";
9
+ StepState["Completed"] = "Completed";
10
+ StepState["Upcoming"] = "Upcoming";
11
+ })(StepState || (StepState = {}));
12
+ ;
13
+ export class LibStepComponent {
14
+ constructor(_stepper) {
15
+ this._stepper = _stepper;
16
+ }
17
+ /** Indicates the index of the step. */
18
+ get index() {
19
+ return this._stepper ? this._stepper.steps.toArray().indexOf(this) : -1;
20
+ }
21
+ /** Indicates whether this step is the last step. */
22
+ get isLast() {
23
+ return this._stepper ? this._stepper.steps.length - 1 === this.index : false;
24
+ }
25
+ /** Indicates whether you can navigate to the step or not. */
26
+ get isValid() {
27
+ if (!this.stepControl) {
28
+ return true;
29
+ }
30
+ return this.stepControl.valid;
31
+ }
32
+ /** Shows the current state of the step. */
33
+ get state() {
34
+ const currentIndex = this._stepper?.currentStepIndex;
35
+ if (currentIndex === this.index) {
36
+ return StepState.Active;
37
+ }
38
+ if (currentIndex > this.index) {
39
+ return StepState.Completed;
40
+ }
41
+ return StepState.Upcoming;
42
+ }
43
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: LibStepComponent, deps: [{ token: LIBSTEPPER_ACCESSOR, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
44
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.6", type: LibStepComponent, selector: "lib-step", inputs: { class: "class", stepControl: "stepControl" }, queries: [{ propertyName: "stepLabel", first: true, predicate: LibStepLabelDirective, descendants: true }, { propertyName: "stepInfo", first: true, predicate: LibStepInfoDirective, descendants: true }], viewQueries: [{ propertyName: "content", first: true, predicate: TemplateRef, descendants: true, static: true }], ngImport: i0, template: `
45
+ <ng-template>
46
+ <ng-content></ng-content>
47
+ </ng-template>
48
+ `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
49
+ }
50
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: LibStepComponent, decorators: [{
51
+ type: Component,
52
+ args: [{
53
+ selector: 'lib-step',
54
+ template: `
55
+ <ng-template>
56
+ <ng-content></ng-content>
57
+ </ng-template>
58
+ `,
59
+ encapsulation: ViewEncapsulation.None,
60
+ changeDetection: ChangeDetectionStrategy.OnPush
61
+ }]
62
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
63
+ type: Optional
64
+ }, {
65
+ type: Inject,
66
+ args: [LIBSTEPPER_ACCESSOR]
67
+ }] }], propDecorators: { content: [{
68
+ type: ViewChild,
69
+ args: [TemplateRef, { static: true }]
70
+ }], stepLabel: [{
71
+ type: ContentChild,
72
+ args: [LibStepLabelDirective]
73
+ }], stepInfo: [{
74
+ type: ContentChild,
75
+ args: [LibStepInfoDirective]
76
+ }], class: [{
77
+ type: Input
78
+ }], stepControl: [{
79
+ type: Input
80
+ }] } });
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliLXN0ZXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctY29tcG9uZW50cy9zcmMvbGliL2NvbnRyb2xzL3N0ZXBwZXIvbGliLXN0ZXAuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHckosT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ25ELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDOztBQUVuRSxNQUFNLENBQU4sSUFBWSxTQUlYO0FBSkQsV0FBWSxTQUFTO0lBQ2pCLDhCQUFpQixDQUFBO0lBQ2pCLG9DQUF1QixDQUFBO0lBQ3ZCLGtDQUFxQixDQUFBO0FBQ3pCLENBQUMsRUFKVyxTQUFTLEtBQVQsU0FBUyxRQUlwQjtBQUFBLENBQUM7QUFZRixNQUFNLE9BQU8sZ0JBQWdCO0lBQ3pCLFlBQzZELFFBQWM7UUFBZCxhQUFRLEdBQVIsUUFBUSxDQUFNO0lBQ3ZFLENBQUM7SUFhTCx1Q0FBdUM7SUFDdkMsSUFBVyxLQUFLO1FBQ1osT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzVFLENBQUM7SUFFRCxvREFBb0Q7SUFDcEQsSUFBVyxNQUFNO1FBQ2IsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxLQUFLLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUNqRixDQUFDO0lBRUQsNkRBQTZEO0lBQzdELElBQVcsT0FBTztRQUNkLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDcEIsT0FBTyxJQUFJLENBQUM7UUFDaEIsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUM7SUFDbEMsQ0FBQztJQUVELDJDQUEyQztJQUMzQyxJQUFXLEtBQUs7UUFDWixNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLGdCQUFnQixDQUFDO1FBQ3JELElBQUksWUFBWSxLQUFLLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUM5QixPQUFPLFNBQVMsQ0FBQyxNQUFNLENBQUM7UUFDNUIsQ0FBQztRQUNELElBQUksWUFBWSxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUM1QixPQUFPLFNBQVMsQ0FBQyxTQUFTLENBQUM7UUFDL0IsQ0FBQztRQUNELE9BQU8sU0FBUyxDQUFDLFFBQVEsQ0FBQztJQUM5QixDQUFDOzhHQTVDUSxnQkFBZ0Isa0JBRUQsbUJBQW1CO2tHQUZsQyxnQkFBZ0IsK0lBUVgscUJBQXFCLDJFQUVyQixvQkFBb0IseUZBSnZCLFdBQVcsOERBZFo7Ozs7S0FJVDs7MkZBSVEsZ0JBQWdCO2tCQVY1QixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxVQUFVO29CQUNwQixRQUFRLEVBQUU7Ozs7S0FJVDtvQkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtvQkFDckMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2xEOzswQkFHUSxRQUFROzswQkFBSSxNQUFNOzJCQUFDLG1CQUFtQjt5Q0FJTSxPQUFPO3NCQUF2RCxTQUFTO3VCQUFDLFdBQVcsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBRUksU0FBUztzQkFBcEQsWUFBWTt1QkFBQyxxQkFBcUI7Z0JBRVEsUUFBUTtzQkFBbEQsWUFBWTt1QkFBQyxvQkFBb0I7Z0JBRWxCLEtBQUs7c0JBQXBCLEtBQUs7Z0JBRVUsV0FBVztzQkFBMUIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIENvbnRlbnRDaGlsZCwgSW5qZWN0LCBJbnB1dCwgT3B0aW9uYWwsIFRlbXBsYXRlUmVmLCBWaWV3Q2hpbGQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IExJQlNURVBQRVJfQUNDRVNTT1IgfSBmcm9tICcuLi8uLi90b2tlbnMnO1xuaW1wb3J0IHsgTGliU3RlcEluZm9EaXJlY3RpdmUgfSBmcm9tICcuL2xpYi1zdGVwLWluZm8uZGlyZWN0aXZlJztcbmltcG9ydCB7IExpYlN0ZXBMYWJlbERpcmVjdGl2ZSB9IGZyb20gJy4vbGliLXN0ZXAtbGFiZWwuZGlyZWN0aXZlJztcblxuZXhwb3J0IGVudW0gU3RlcFN0YXRlIHtcbiAgICBBY3RpdmUgPSAnQWN0aXZlJyxcbiAgICBDb21wbGV0ZWQgPSAnQ29tcGxldGVkJyxcbiAgICBVcGNvbWluZyA9ICdVcGNvbWluZydcbn07XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbGliLXN0ZXAnLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgICAgIDxuZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICBgLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgTGliU3RlcENvbXBvbmVudCB7XG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoTElCU1RFUFBFUl9BQ0NFU1NPUikgcHVibGljIHJlYWRvbmx5IF9zdGVwcGVyPzogYW55XG4gICAgKSB7IH1cblxuICAgIC8qKiBUaGUgY29udGVudCBwcm92aWRlZCBmb3IgdGhlIHN0ZXAuICovXG4gICAgQFZpZXdDaGlsZChUZW1wbGF0ZVJlZiwgeyBzdGF0aWM6IHRydWUgfSkgcHVibGljIGNvbnRlbnQhOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICAgIC8qKiBUaGUgbGFiZWwgb2YgdGhlIHN0ZXAgZGlzcGxheWVkIGluIGhlYWRlciwgaWYgYXBwbGljYWJsZS4gKi9cbiAgICBAQ29udGVudENoaWxkKExpYlN0ZXBMYWJlbERpcmVjdGl2ZSkgcHVibGljIHN0ZXBMYWJlbDogTGliU3RlcExhYmVsRGlyZWN0aXZlIHwgdW5kZWZpbmVkO1xuICAgIC8qKiBUaGUgaW5mbyBvZiB0aGUgc3RlcCBkaXNwbGF5ZWQgaW4gaGVhZGVyLCBpZiBhcHBsaWNhYmxlLiAqL1xuICAgIEBDb250ZW50Q2hpbGQoTGliU3RlcEluZm9EaXJlY3RpdmUpIHB1YmxpYyBzdGVwSW5mbzogTGliU3RlcEluZm9EaXJlY3RpdmUgfCB1bmRlZmluZWQ7XG4gICAgLyoqIEFuIG9wdGlvbmFsIENTUyBjbGFzcyBmb3IgdGhlIHN0ZXAgaGVhZGVyLiAqL1xuICAgIEBJbnB1dCgpIHB1YmxpYyBjbGFzczogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIC8qKiBUaGUgYWJzdHJhY3QgY29udHJvbCBvZiB0aGUgc3RlcC4gKi9cbiAgICBASW5wdXQoKSBwdWJsaWMgc3RlcENvbnRyb2w6IEFic3RyYWN0Q29udHJvbCB8IHVuZGVmaW5lZDtcblxuICAgIC8qKiBJbmRpY2F0ZXMgdGhlIGluZGV4IG9mIHRoZSBzdGVwLiAqL1xuICAgIHB1YmxpYyBnZXQgaW5kZXgoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3N0ZXBwZXIgPyB0aGlzLl9zdGVwcGVyLnN0ZXBzLnRvQXJyYXkoKS5pbmRleE9mKHRoaXMpIDogLTE7XG4gICAgfVxuXG4gICAgLyoqIEluZGljYXRlcyB3aGV0aGVyIHRoaXMgc3RlcCBpcyB0aGUgbGFzdCBzdGVwLiAqL1xuICAgIHB1YmxpYyBnZXQgaXNMYXN0KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fc3RlcHBlciA/IHRoaXMuX3N0ZXBwZXIuc3RlcHMubGVuZ3RoIC0gMSA9PT0gdGhpcy5pbmRleCA6IGZhbHNlO1xuICAgIH1cblxuICAgIC8qKiBJbmRpY2F0ZXMgd2hldGhlciB5b3UgY2FuIG5hdmlnYXRlIHRvIHRoZSBzdGVwIG9yIG5vdC4gKi9cbiAgICBwdWJsaWMgZ2V0IGlzVmFsaWQoKTogYm9vbGVhbiB7XG4gICAgICAgIGlmICghdGhpcy5zdGVwQ29udHJvbCkge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuc3RlcENvbnRyb2wudmFsaWQ7XG4gICAgfVxuXG4gICAgLyoqIFNob3dzIHRoZSBjdXJyZW50IHN0YXRlIG9mIHRoZSBzdGVwLiAqL1xuICAgIHB1YmxpYyBnZXQgc3RhdGUoKTogU3RlcFN0YXRlIHtcbiAgICAgICAgY29uc3QgY3VycmVudEluZGV4ID0gdGhpcy5fc3RlcHBlcj8uY3VycmVudFN0ZXBJbmRleDtcbiAgICAgICAgaWYgKGN1cnJlbnRJbmRleCA9PT0gdGhpcy5pbmRleCkge1xuICAgICAgICAgICAgcmV0dXJuIFN0ZXBTdGF0ZS5BY3RpdmU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGN1cnJlbnRJbmRleCA+IHRoaXMuaW5kZXgpIHtcbiAgICAgICAgICAgIHJldHVybiBTdGVwU3RhdGUuQ29tcGxldGVkO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBTdGVwU3RhdGUuVXBjb21pbmc7XG4gICAgfVxufVxuIl19
@@ -0,0 +1,108 @@
1
+ import { Component, ContentChildren, EventEmitter, forwardRef, Input, Output } from '@angular/core';
2
+ import { LibStepComponent, StepState } from './lib-step.component';
3
+ import { LIBSTEPPER_ACCESSOR } from '../../tokens';
4
+ import { StepperType } from './types/stepper-type';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/common";
7
+ export class LibStepperComponent {
8
+ constructor(_changeDetectorRef) {
9
+ this._changeDetectorRef = _changeDetectorRef;
10
+ // Private properties.
11
+ this._currentStepIndex = 0;
12
+ this._isCompleted = false;
13
+ /** Emmited when a step change occurs. */
14
+ this.stepChanged = new EventEmitter();
15
+ /** Emmited when the stepper navigates away from the final step. Only emits once. */
16
+ this.completed = new EventEmitter();
17
+ /** Indicates whether each step has to be validated before proceeding to the next. */
18
+ this.linear = false;
19
+ /** The type of the stepper. */
20
+ this.type = StepperType.Panels;
21
+ this.StepState = StepState;
22
+ this.StepperType = StepperType;
23
+ }
24
+ /** The current wizard step. */
25
+ get currentStep() {
26
+ return this.steps?.get(this._currentStepIndex);
27
+ }
28
+ /** The index (starting from zero) of the current wizard step. */
29
+ get currentStepIndex() {
30
+ return this._currentStepIndex;
31
+ }
32
+ /** Indicates whether stepper can go a step back. */
33
+ get canGoBack() {
34
+ return this._currentStepIndex > 0;
35
+ }
36
+ /** Indicates whether stepper can go a step forward. */
37
+ get canGoForward() {
38
+ return this._currentStepIndex < this.steps?.length - 1;
39
+ }
40
+ /** Indicates whether */
41
+ get isCompleted() {
42
+ return this._isCompleted;
43
+ }
44
+ ngOnInit() { }
45
+ ngAfterViewChecked() {
46
+ this._changeDetectorRef.detectChanges();
47
+ }
48
+ /** Proceeds to the next step, if any. */
49
+ goToNextStep() {
50
+ if (this.currentStep?.isLast && !this._isCompleted) {
51
+ this._isCompleted = true;
52
+ this.completed.emit();
53
+ }
54
+ if (!this.canGoForward) {
55
+ return;
56
+ }
57
+ this.updateCurrentStepIndex(this._currentStepIndex + 1);
58
+ }
59
+ /** Proceeds to the previous step, if any. */
60
+ goToPreviousStep() {
61
+ if (!this.canGoBack) {
62
+ return;
63
+ }
64
+ this.updateCurrentStepIndex(this._currentStepIndex - 1);
65
+ }
66
+ onSelectStep(selectedStep) {
67
+ this.updateCurrentStepIndex(selectedStep.index);
68
+ }
69
+ updateCurrentStepIndex(newIndex) {
70
+ const stepsArray = this.steps.toArray();
71
+ const currentStep = stepsArray[this.currentStepIndex];
72
+ const shouldStop = this.linear && ((!currentStep.isValid && newIndex >= this.currentStepIndex) || // If current step is invalid and want to go forward, then stop.
73
+ (currentStep.isValid && newIndex > this.currentStepIndex + 1 && stepsArray.slice(this.currentStepIndex + 1, newIndex).some(x => !x.isValid)) // If going forward (more than 1 steps), check if there are any invalid steps in between.
74
+ );
75
+ if (shouldStop) {
76
+ return;
77
+ }
78
+ this.stepChanged.emit({
79
+ selectedIndex: newIndex,
80
+ previouslySelectedIndex: this.currentStepIndex,
81
+ selectedStep: stepsArray[newIndex],
82
+ previouslySelectedStep: currentStep
83
+ });
84
+ this._currentStepIndex = newIndex;
85
+ }
86
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: LibStepperComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
87
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.6", type: LibStepperComponent, selector: "lib-stepper", inputs: { linear: "linear", type: "type" }, outputs: { stepChanged: "stepChanged", completed: "completed" }, providers: [
88
+ { provide: LIBSTEPPER_ACCESSOR, useExisting: forwardRef(() => LibStepperComponent) }
89
+ ], queries: [{ propertyName: "steps", predicate: LibStepComponent, descendants: true }], ngImport: i0, template: "<ng-container [ngSwitch]=\"type\">\n <!-- Bullets -->\n <nav class=\"stepper-bullets-container\"\n aria-label=\"Progress\"\n *ngSwitchCase=\"StepperType.Bullets\">\n <p class=\"stepper-bullets-counter\">Step {{ currentStepIndex + 1 }} of {{ steps.length }}</p>\n <ol role=\"list\"\n class=\"stepper-bullets-ol\">\n <li class=\"cursor-pointer\"\n *ngFor=\"let step of steps\"\n (click)=\"onSelectStep(step)\">\n <!-- Completed Step -->\n <div class=\"stepper-bullets-completed-step\"\n *ngIf=\"step.state === StepState.Completed\">\n <span class=\"sr-only\">Step {{ step.index }}</span>\n </div>\n <!-- Active Step -->\n <div class=\"stepper-bullets-active-step\"\n aria-current=\"step\"\n *ngIf=\"step.state === StepState.Active\">\n <span class=\"stepper-bullets-active-step-level1\"\n aria-hidden=\"true\">\n <span class=\"stepper-bullets-active-step-level1\"></span>\n </span>\n <span class=\"stepper-bullets-active-step-bullet\"\n aria-hidden=\"true\">\n </span>\n <span class=\"sr-only\">Step {{ step.index }}</span>\n </div>\n <!-- Upcoming Step -->\n <div href=\"#\"\n class=\"stepper-bullets-upcoming-step\"\n *ngIf=\"step.state === StepState.Upcoming\">\n <span class=\"sr-only\">Step {{ step.index }}</span>\n </div>\n </li>\n </ol>\n </nav>\n <!-- Bullets & Text -->\n <div class=\"stepper-bullets-and-text-container\"\n aria-label=\"Progress\"\n *ngSwitchCase=\"StepperType.BulletsAndText\">\n <nav aria-label=\"Progress\">\n <ol role=\"list\"\n class=\"stepper-bullets-and-text-ol\">\n <li class=\"cursor-pointer\"\n *ngFor=\"let step of steps\"\n (click)=\"onSelectStep(step)\">\n <!-- Complete Step -->\n <div class=\"group\"\n *ngIf=\"step.state === StepState.Completed\">\n <span class=\"stepper-bullets-and-text-completed-step\">\n <span class=\"stepper-bullets-and-text-completed-step-level1\">\n <svg class=\"h-full w-full text-blue-600 group-hover:text-blue-800\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 20 20\"\n fill=\"currentColor\"\n aria-hidden=\"true\">\n <path fill-rule=\"evenodd\"\n d=\"M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z\"\n clip-rule=\"evenodd\" />\n </svg>\n </span>\n <span class=\"stepper-bullets-and-text-completed-step-container\"\n *ngIf=\"step.stepLabel\">\n <ng-container [ngTemplateOutlet]=\"step.stepLabel.template\"></ng-container>\n </span>\n </span>\n </div>\n <!-- Active Step -->\n <div class=\"stepper-bullets-and-text-active-step\"\n aria-current=\"step\"\n *ngIf=\"step.state === StepState.Active\">\n <span class=\"stepper-bullets-and-text-active-step-level1\"\n aria-hidden=\"true\">\n <span class=\"stepper-bullets-and-text-active-step-level11\"></span>\n <span class=\"stepper-bullets-and-text-active-step-level12\"></span>\n </span>\n <span class=\"stepper-bullets-and-text-active-step-container\"\n *ngIf=\"step.stepLabel\">\n <ng-container [ngTemplateOutlet]=\"step.stepLabel.template\"></ng-container>\n </span>\n </div>\n <!-- Upcoming Step -->\n <div class=\"group\"\n *ngIf=\"step.state === StepState.Upcoming\">\n <div class=\"stepper-bullets-and-text-upcoming-step\">\n <div class=\"stepper-bullets-and-text-upcoming-step-level1\"\n aria-hidden=\"true\">\n <div class=\"stepper-bullets-and-text-upcoming-step-level2\"></div>\n </div>\n <p class=\"stepper-bullets-and-text-upcoming-step-container\"\n *ngIf=\"step.stepLabel\">\n <ng-container [ngTemplateOutlet]=\"step.stepLabel.template\"></ng-container>\n </p>\n </div>\n </div>\n </li>\n </ol>\n </nav>\n </div>\n <!-- Circles -->\n <nav class=\"flex justify-center\"\n aria-label=\"Progress\"\n *ngSwitchCase=\"StepperType.Circles\">\n <ol class=\"flex items-center\"\n role=\"list\">\n <li *ngFor=\"let step of steps\"\n (click)=\"onSelectStep(step)\"\n class=\"relative pr-8 sm:pr-20 cursor-pointer\">\n <!-- Completed Step -->\n <ng-container *ngIf=\"step.state === StepState.Completed\">\n <div class=\"absolute inset-0 flex items-center\"\n aria-hidden=\"true\">\n <div class=\"h-0.5 w-full bg-blue-600\"></div>\n </div>\n <div class=\"relative w-8 h-8 flex items-center justify-center bg-blue-600 rounded-full hover:bg-blue-900\">\n <svg class=\"w-5 h-5 text-white\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 20 20\"\n fill=\"currentColor\"\n aria-hidden=\"true\">\n <path fill-rule=\"evenodd\"\n d=\"M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z\"\n clip-rule=\"evenodd\" />\n </svg>\n <span class=\"sr-only\">Step {{ step.index + 1 }}</span>\n </div>\n </ng-container>\n <!-- Active Step -->\n <ng-container *ngIf=\"step.state === StepState.Active\">\n <div class=\"absolute inset-0 flex items-center\"\n aria-hidden=\"true\">\n <div class=\"h-0.5 w-full bg-gray-200\"></div>\n </div>\n <div class=\"relative w-8 h-8 flex items-center justify-center bg-white border-2 border-blue-600 rounded-full\"\n aria-current=\"step\">\n <span class=\"h-2.5 w-2.5 bg-blue-600 rounded-full\"\n aria-hidden=\"true\"></span>\n <span class=\"sr-only\">Step {{ step.index + 1 }}</span>\n </div>\n </ng-container>\n <!-- Upcoming Step -->\n <ng-container *ngIf=\"step.state === StepState.Upcoming\">\n <div class=\"absolute inset-0 flex items-center\"\n aria-hidden=\"true\">\n <div class=\"h-0.5 w-full bg-gray-200\"></div>\n </div>\n <div class=\"group relative w-8 h-8 flex items-center justify-center bg-white border-2 border-gray-300 rounded-full hover:border-gray-400\">\n <span class=\"h-2.5 w-2.5 bg-transparent rounded-full group-hover:bg-gray-300\"\n aria-hidden=\"true\"></span>\n <span class=\"sr-only\">Step {{ step.index + 1 }}</span>\n </div>\n </ng-container>\n </li>\n </ol>\n </nav>\n <!-- Circles With Text -->\n <nav class=\"flex items-center justify-center\"\n aria-label=\"Progress\"\n *ngSwitchCase=\"StepperType.CirclesWithText\">\n <ol role=\"list\"\n class=\"overflow-hidden\">\n <li *ngFor=\"let step of steps\"\n (click)=\"onSelectStep(step)\"\n class=\"relative pb-10 cursor-pointer\">\n <!-- Complete Step -->\n <ng-container *ngIf=\"step.state === StepState.Completed\">\n <div class=\"-ml-px absolute mt-0.5 top-4 left-4 w-0.5 h-full bg-blue-600\"\n aria-hidden=\"true\"\n *ngIf=\"!step.isLast\"></div>\n <div class=\"relative flex items-start group\">\n <span class=\"h-9 flex items-center\">\n <span class=\"relative z-10 w-8 h-8 flex items-center justify-center bg-blue-600 rounded-full group-hover:bg-blue-800\">\n <svg class=\"w-5 h-5 text-white\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 20 20\"\n fill=\"currentColor\"\n aria-hidden=\"true\">\n <path fill-rule=\"evenodd\"\n d=\"M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z\"\n clip-rule=\"evenodd\" />\n </svg>\n </span>\n </span>\n <span class=\"ml-4 min-w-0 flex flex-col\">\n <span class=\"text-xs font-semibold tracking-wide uppercase\"\n *ngIf=\"step.stepLabel\">\n <ng-container [ngTemplateOutlet]=\"step.stepLabel.template\"></ng-container>\n </span>\n <span class=\"text-sm text-gray-500\"\n *ngIf=\"step.stepInfo\">\n <ng-container [ngTemplateOutlet]=\"step.stepInfo.template\"></ng-container>\n </span>\n </span>\n </div>\n </ng-container>\n <!-- Active Step -->\n <ng-container *ngIf=\"step.state === StepState.Active\">\n <div class=\"-ml-px absolute mt-0.5 top-4 left-4 w-0.5 h-full bg-gray-300\"\n aria-hidden=\"true\"\n *ngIf=\"!step.isLast\"></div>\n <div class=\"relative flex items-start group\"\n aria-current=\"step\">\n <span class=\"h-9 flex items-center\"\n aria-hidden=\"true\">\n <span class=\"relative z-10 w-8 h-8 flex items-center justify-center bg-white border-2 border-blue-600 rounded-full\">\n <span class=\"h-2.5 w-2.5 bg-blue-600 rounded-full\"></span>\n </span>\n </span>\n <span class=\"ml-4 min-w-0 flex flex-col\">\n <span class=\"text-xs font-semibold tracking-wide uppercase text-blue-600\"\n *ngIf=\"step.stepLabel\">\n <ng-container [ngTemplateOutlet]=\"step.stepLabel.template\"></ng-container>\n </span>\n <span class=\"text-sm text-gray-500\"\n *ngIf=\"step.stepInfo\">\n <ng-container [ngTemplateOutlet]=\"step.stepInfo.template\"></ng-container>\n </span>\n </span>\n </div>\n </ng-container>\n <!-- Upcoming Step -->\n <ng-container *ngIf=\"step.state === StepState.Upcoming\">\n <div class=\"-ml-px absolute mt-0.5 top-4 left-4 w-0.5 h-full bg-gray-300\"\n aria-hidden=\"true\"\n *ngIf=\"!step.isLast\"></div>\n <div href=\"#\"\n class=\"relative flex items-start group\">\n <span class=\"h-9 flex items-center\"\n aria-hidden=\"true\">\n <span class=\"relative z-10 w-8 h-8 flex items-center justify-center bg-white border-2 border-gray-300 rounded-full group-hover:border-gray-400\">\n <span class=\"h-2.5 w-2.5 bg-transparent rounded-full group-hover:bg-gray-300\"></span>\n </span>\n </span>\n <span class=\"ml-4 min-w-0 flex flex-col\">\n <span class=\"text-xs font-semibold tracking-wide uppercase text-gray-500\"\n *ngIf=\"step.stepLabel\">\n <ng-container [ngTemplateOutlet]=\"step.stepLabel.template\"></ng-container>\n </span>\n <span class=\"text-sm text-gray-500\"\n *ngIf=\"step.stepInfo\">\n <ng-container [ngTemplateOutlet]=\"step.stepInfo.template\"></ng-container>\n </span>\n </span>\n </div>\n </ng-container>\n </li>\n </ol>\n </nav>\n <!-- Panels -->\n <nav aria-label=\"Progress\"\n *ngSwitchCase=\"StepperType.Panels\">\n <ol role=\"list\"\n class=\"border border-gray-300 rounded-md divide-y divide-gray-300 md:flex md:divide-y-0\">\n <li *ngFor=\"let step of steps\"\n (click)=\"onSelectStep(step)\"\n class=\"relative md:flex-1 md:flex cursor-pointer\">\n <!-- Completed step -->\n <div class=\"group flex items-center w-full\"\n *ngIf=\"step.state === StepState.Completed\">\n <span class=\"px-6 py-4 flex items-center text-sm font-medium\">\n <span class=\"flex-shrink-0 w-10 h-10 flex items-center justify-center bg-blue-600 rounded-full group-hover:bg-blue-800\">\n <svg class=\"w-6 h-6 text-white\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 20 20\"\n fill=\"currentColor\"\n aria-hidden=\"true\">\n <path fill-rule=\"evenodd\"\n d=\"M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z\"\n clip-rule=\"evenodd\" />\n </svg>\n </span>\n <span class=\"ml-4 text-sm font-medium text-gray-900\"\n *ngIf=\"step.stepLabel\">\n <ng-container [ngTemplateOutlet]=\"step.stepLabel.template\"></ng-container>\n </span>\n </span>\n </div>\n <!-- Active step -->\n <div class=\"px-6 py-4 flex items-center text-sm font-medium\"\n *ngIf=\"step.state === StepState.Active\">\n <span class=\"flex-shrink-0 w-10 h-10 flex items-center justify-center border-2 border-blue-600 rounded-full\">\n <span class=\"text-blue-600\">{{ (step.index + 1) }}</span>\n </span>\n <span class=\"ml-4 text-sm font-medium text-blue-600\"\n *ngIf=\"step.stepLabel\">\n <ng-container [ngTemplateOutlet]=\"step.stepLabel.template\"></ng-container>\n </span>\n </div>\n <!-- Upcoming step -->\n <div class=\"group flex items-center\"\n *ngIf=\"step.state === StepState.Upcoming\">\n <span class=\"px-6 py-4 flex items-center text-sm font-medium\">\n <span class=\"flex-shrink-0 w-10 h-10 flex items-center justify-center border-2 border-gray-300 rounded-full group-hover:border-gray-400\">\n <span class=\"text-gray-500 group-hover:text-gray-900\">{{ (step.index + 1) }}</span>\n </span>\n <span class=\"ml-4 text-sm font-medium text-gray-500 group-hover:text-gray-900\"\n *ngIf=\"step.stepLabel\">\n <ng-container [ngTemplateOutlet]=\"step.stepLabel.template\"></ng-container>\n </span>\n </span>\n </div>\n <!-- Arrow separator for lg screens and up -->\n <div *ngIf=\"!step.isLast\"\n class=\"hidden md:block absolute top-0 right-0 h-full w-5\"\n aria-hidden=\"true\">\n <svg class=\"h-full w-full text-gray-300\"\n viewBox=\"0 0 22 80\"\n fill=\"none\"\n preserveAspectRatio=\"none\">\n <path d=\"M0 -2L20 40L0 82\"\n vector-effect=\"non-scaling-stroke\"\n stroke=\"currentcolor\"\n stroke-linejoin=\"round\" />\n </svg>\n </div>\n </li>\n </ol>\n </nav>\n <!-- Panels With Border -->\n <div class=\"panels-with-border-container\"\n *ngSwitchCase=\"StepperType.PanelsWithBorder\">\n <nav class=\"panels-with-border-nav\"\n aria-label=\"Progress\">\n <ol role=\"list\"\n class=\"panels-with-border-ol\">\n <li *ngFor=\"let step of steps\"\n (click)=\"onSelectStep(step)\"\n class=\"panels-with-border-li\">\n <!-- Completed Step -->\n <div class=\"panels-with-border-completed-step\"\n *ngIf=\"step.state === StepState.Completed\">\n <div class=\"group\">\n <span class=\"panels-with-border-completed-step-level1\"\n aria-hidden=\"true\">\n </span>\n <span class=\"panels-with-border-completed-step-level2\">\n <span class=\"panels-with-border-completed-step-level21\">\n <span class=\"panels-with-border-completed-step-level211\">\n <svg class=\"w-6 h-6 text-white\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 20 20\"\n fill=\"currentColor\"\n aria-hidden=\"true\">\n <path fill-rule=\"evenodd\"\n d=\"M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z\"\n clip-rule=\"evenodd\" />\n </svg>\n </span>\n </span>\n <span class=\"panels-with-border-completed-step-level22\">\n <span class=\"panels-with-border-completed-step-level221\"\n *ngIf=\"step.stepLabel\">\n <ng-container [ngTemplateOutlet]=\"step.stepLabel.template\"></ng-container>\n </span>\n <span class=\"panels-with-border-completed-step-level222\"\n *ngIf=\"step.stepInfo\">\n <ng-container [ngTemplateOutlet]=\"step.stepInfo.template\"></ng-container>\n </span>\n </span>\n </span>\n </div>\n </div>\n <!-- Active Step -->\n <div class=\"panels-with-border-active-step\"\n *ngIf=\"step.state === StepState.Active\">\n <div aria-current=\"step\">\n <span class=\"panels-with-border-active-step-level1\"\n aria-hidden=\"true\">\n </span>\n <span class=\"panels-with-border-active-step-level2\">\n <span class=\"panels-with-border-active-step-level21\">\n <span class=\"panels-with-border-active-step-level211\">\n <span class=\"panels-with-border-active-step-level211-text\">{{ step.index + 1 }}</span>\n </span>\n </span>\n <span class=\"panels-with-border-active-step-level22\">\n <span class=\"panels-with-border-active-step-level221\"\n *ngIf=\"step.stepLabel\">\n <ng-container [ngTemplateOutlet]=\"step.stepLabel.template\"></ng-container>\n </span>\n <span class=\"panels-with-border-active-step-level222\"\n *ngIf=\"step.stepInfo\">\n <ng-container [ngTemplateOutlet]=\"step.stepInfo.template\"></ng-container>\n </span>\n </span>\n </span>\n </div>\n <!-- Separator -->\n <div class=\"panels-with-border-step-separator\"\n aria-hidden=\"true\"\n *ngIf=\"step.index !== 0\">\n <svg class=\"h-full w-full text-gray-300\"\n viewBox=\"0 0 12 82\"\n fill=\"none\"\n preserveAspectRatio=\"none\">\n <path d=\"M0.5 0V31L10.5 41L0.5 51V82\"\n stroke=\"currentcolor\"\n vector-effect=\"non-scaling-stroke\" />\n </svg>\n </div>\n </div>\n <!-- Upcoming Step -->\n <div class=\"panels-with-border-upcoming-step\"\n *ngIf=\"step.state === StepState.Upcoming\">\n <div class=\"group\">\n <span class=\"panels-with-border-upcoming-step-level1\"\n aria-hidden=\"true\">\n </span>\n <span class=\"panels-with-border-upcoming-step-level2\">\n <span class=\"panels-with-border-upcoming-step-level21\">\n <span class=\"panels-with-border-upcoming-step-level211\">\n <span class=\"panels-with-border-upcoming-step-level211-text\">{{ step.index + 1 }}</span>\n </span>\n </span>\n <span class=\"panels-with-border-upcoming-step-level22\">\n <span class=\"panels-with-border-upcoming-step-level221\"\n *ngIf=\"step.stepLabel\">\n <ng-container [ngTemplateOutlet]=\"step.stepLabel.template\"></ng-container>\n </span>\n <span class=\"text-sm font-medium text-gray-500\"\n *ngIf=\"step.stepInfo\">\n <ng-container [ngTemplateOutlet]=\"step.stepInfo.template\"></ng-container>\n </span>\n </span>\n </span>\n </div>\n <!-- Separator -->\n <div class=\"panels-with-border-step-separator\"\n aria-hidden=\"true\"\n *ngIf=\"step.index !== 0\">\n <svg class=\"h-full w-full text-gray-300\"\n viewBox=\"0 0 12 82\"\n fill=\"none\"\n preserveAspectRatio=\"none\">\n <path d=\"M0.5 0V31L10.5 41L0.5 51V82\"\n stroke=\"currentcolor\"\n vector-effect=\"non-scaling-stroke\" />\n </svg>\n </div>\n </div>\n </li>\n </ol>\n </nav>\n </div>\n <!-- Progress -->\n <div *ngSwitchCase=\"StepperType.Progress\">\n <div class=\"mt-6\"\n aria-hidden=\"true\">\n <div class=\"bg-gray-200 rounded-full overflow-hidden\">\n <div class=\"h-2 bg-blue-600 rounded-full\"\n [style.width]=\"(((currentStepIndex + 1) / steps.length) * 100) + '%'\">\n </div>\n </div>\n <div class=\"hidden sm:grid grid-cols-4 text-sm font-medium text-gray-600 mt-6\">\n <div *ngFor=\"let step of steps\"\n (click)=\"onSelectStep(step)\"\n class=\"text-blue-600 cursor-pointer\">\n <ng-container *ngIf=\"step.stepLabel\"\n [ngTemplateOutlet]=\"step.stepLabel.template\">\n </ng-container>\n </div>\n </div>\n </div>\n </div>\n <!-- Simple -->\n <nav aria-label=\"Progress\"\n *ngSwitchCase=\"StepperType.Simple\">\n <ol role=\"list\"\n class=\"space-y-4 md:flex md:space-y-0 md:space-x-8\">\n <li *ngFor=\"let step of steps\"\n (click)=\"onSelectStep(step)\"\n class=\"md:flex-1 cursor-pointer\">\n <!-- Completed Step -->\n <div class=\"group pl-4 py-2 flex flex-col border-l-4 border-blue-600 hover:border-blue-800 md:pl-0 md:pt-4 md:pb-0 md:border-l-0 md:border-t-4\"\n *ngIf=\"step.state === StepState.Completed\">\n <span class=\"text-xs text-blue-600 font-semibold tracking-wide uppercase group-hover:text-blue-800\">Step {{ step.index + 1 }}</span>\n <span class=\"text-sm font-medium\"\n *ngIf=\"step.stepLabel\">\n <ng-container [ngTemplateOutlet]=\"step.stepLabel.template\"></ng-container>\n </span>\n </div>\n <!-- Active Step -->\n <div class=\"pl-4 py-2 flex flex-col border-l-4 border-blue-600 md:pl-0 md:pt-4 md:pb-0 md:border-l-0 md:border-t-4\"\n aria-current=\"step\"\n *ngIf=\"step.state === StepState.Active\">\n <span class=\"text-xs text-blue-600 font-semibold tracking-wide uppercase\">Step {{ step.index + 1 }}</span>\n <span class=\"text-sm font-medium\"\n *ngIf=\"step.stepLabel\">\n <ng-container [ngTemplateOutlet]=\"step.stepLabel.template\"></ng-container>\n </span>\n </div>\n <!-- Upcoming Step -->\n <div class=\"group pl-4 py-2 flex flex-col border-l-4 border-gray-200 hover:border-gray-300 md:pl-0 md:pt-4 md:pb-0 md:border-l-0 md:border-t-4\"\n *ngIf=\"step.state === StepState.Upcoming\">\n <span class=\"text-xs text-gray-500 font-semibold tracking-wide uppercase group-hover:text-gray-700\">Step {{ step.index + 1 }}</span>\n <span class=\"text-sm font-medium\"\n *ngIf=\"step.stepLabel\">\n <ng-container [ngTemplateOutlet]=\"step.stepLabel.template\"></ng-container>\n </span>\n </div>\n </li>\n </ol>\n </nav>\n</ng-container>\n<ng-container *ngFor=\"let step of steps\">\n <ng-container *ngIf=\"step.state === StepState.Active\"\n [ngTemplateOutlet]=\"step.content\">\n </ng-container>\n</ng-container>", dependencies: [{ 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.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }] }); }
90
+ }
91
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: LibStepperComponent, decorators: [{
92
+ type: Component,
93
+ args: [{ selector: 'lib-stepper', providers: [
94
+ { provide: LIBSTEPPER_ACCESSOR, useExisting: forwardRef(() => LibStepperComponent) }
95
+ ], template: "<ng-container [ngSwitch]=\"type\">\n <!-- Bullets -->\n <nav class=\"stepper-bullets-container\"\n aria-label=\"Progress\"\n *ngSwitchCase=\"StepperType.Bullets\">\n <p class=\"stepper-bullets-counter\">Step {{ currentStepIndex + 1 }} of {{ steps.length }}</p>\n <ol role=\"list\"\n class=\"stepper-bullets-ol\">\n <li class=\"cursor-pointer\"\n *ngFor=\"let step of steps\"\n (click)=\"onSelectStep(step)\">\n <!-- Completed Step -->\n <div class=\"stepper-bullets-completed-step\"\n *ngIf=\"step.state === StepState.Completed\">\n <span class=\"sr-only\">Step {{ step.index }}</span>\n </div>\n <!-- Active Step -->\n <div class=\"stepper-bullets-active-step\"\n aria-current=\"step\"\n *ngIf=\"step.state === StepState.Active\">\n <span class=\"stepper-bullets-active-step-level1\"\n aria-hidden=\"true\">\n <span class=\"stepper-bullets-active-step-level1\"></span>\n </span>\n <span class=\"stepper-bullets-active-step-bullet\"\n aria-hidden=\"true\">\n </span>\n <span class=\"sr-only\">Step {{ step.index }}</span>\n </div>\n <!-- Upcoming Step -->\n <div href=\"#\"\n class=\"stepper-bullets-upcoming-step\"\n *ngIf=\"step.state === StepState.Upcoming\">\n <span class=\"sr-only\">Step {{ step.index }}</span>\n </div>\n </li>\n </ol>\n </nav>\n <!-- Bullets & Text -->\n <div class=\"stepper-bullets-and-text-container\"\n aria-label=\"Progress\"\n *ngSwitchCase=\"StepperType.BulletsAndText\">\n <nav aria-label=\"Progress\">\n <ol role=\"list\"\n class=\"stepper-bullets-and-text-ol\">\n <li class=\"cursor-pointer\"\n *ngFor=\"let step of steps\"\n (click)=\"onSelectStep(step)\">\n <!-- Complete Step -->\n <div class=\"group\"\n *ngIf=\"step.state === StepState.Completed\">\n <span class=\"stepper-bullets-and-text-completed-step\">\n <span class=\"stepper-bullets-and-text-completed-step-level1\">\n <svg class=\"h-full w-full text-blue-600 group-hover:text-blue-800\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 20 20\"\n fill=\"currentColor\"\n aria-hidden=\"true\">\n <path fill-rule=\"evenodd\"\n d=\"M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z\"\n clip-rule=\"evenodd\" />\n </svg>\n </span>\n <span class=\"stepper-bullets-and-text-completed-step-container\"\n *ngIf=\"step.stepLabel\">\n <ng-container [ngTemplateOutlet]=\"step.stepLabel.template\"></ng-container>\n </span>\n </span>\n </div>\n <!-- Active Step -->\n <div class=\"stepper-bullets-and-text-active-step\"\n aria-current=\"step\"\n *ngIf=\"step.state === StepState.Active\">\n <span class=\"stepper-bullets-and-text-active-step-level1\"\n aria-hidden=\"true\">\n <span class=\"stepper-bullets-and-text-active-step-level11\"></span>\n <span class=\"stepper-bullets-and-text-active-step-level12\"></span>\n </span>\n <span class=\"stepper-bullets-and-text-active-step-container\"\n *ngIf=\"step.stepLabel\">\n <ng-container [ngTemplateOutlet]=\"step.stepLabel.template\"></ng-container>\n </span>\n </div>\n <!-- Upcoming Step -->\n <div class=\"group\"\n *ngIf=\"step.state === StepState.Upcoming\">\n <div class=\"stepper-bullets-and-text-upcoming-step\">\n <div class=\"stepper-bullets-and-text-upcoming-step-level1\"\n aria-hidden=\"true\">\n <div class=\"stepper-bullets-and-text-upcoming-step-level2\"></div>\n </div>\n <p class=\"stepper-bullets-and-text-upcoming-step-container\"\n *ngIf=\"step.stepLabel\">\n <ng-container [ngTemplateOutlet]=\"step.stepLabel.template\"></ng-container>\n </p>\n </div>\n </div>\n </li>\n </ol>\n </nav>\n </div>\n <!-- Circles -->\n <nav class=\"flex justify-center\"\n aria-label=\"Progress\"\n *ngSwitchCase=\"StepperType.Circles\">\n <ol class=\"flex items-center\"\n role=\"list\">\n <li *ngFor=\"let step of steps\"\n (click)=\"onSelectStep(step)\"\n class=\"relative pr-8 sm:pr-20 cursor-pointer\">\n <!-- Completed Step -->\n <ng-container *ngIf=\"step.state === StepState.Completed\">\n <div class=\"absolute inset-0 flex items-center\"\n aria-hidden=\"true\">\n <div class=\"h-0.5 w-full bg-blue-600\"></div>\n </div>\n <div class=\"relative w-8 h-8 flex items-center justify-center bg-blue-600 rounded-full hover:bg-blue-900\">\n <svg class=\"w-5 h-5 text-white\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 20 20\"\n fill=\"currentColor\"\n aria-hidden=\"true\">\n <path fill-rule=\"evenodd\"\n d=\"M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z\"\n clip-rule=\"evenodd\" />\n </svg>\n <span class=\"sr-only\">Step {{ step.index + 1 }}</span>\n </div>\n </ng-container>\n <!-- Active Step -->\n <ng-container *ngIf=\"step.state === StepState.Active\">\n <div class=\"absolute inset-0 flex items-center\"\n aria-hidden=\"true\">\n <div class=\"h-0.5 w-full bg-gray-200\"></div>\n </div>\n <div class=\"relative w-8 h-8 flex items-center justify-center bg-white border-2 border-blue-600 rounded-full\"\n aria-current=\"step\">\n <span class=\"h-2.5 w-2.5 bg-blue-600 rounded-full\"\n aria-hidden=\"true\"></span>\n <span class=\"sr-only\">Step {{ step.index + 1 }}</span>\n </div>\n </ng-container>\n <!-- Upcoming Step -->\n <ng-container *ngIf=\"step.state === StepState.Upcoming\">\n <div class=\"absolute inset-0 flex items-center\"\n aria-hidden=\"true\">\n <div class=\"h-0.5 w-full bg-gray-200\"></div>\n </div>\n <div class=\"group relative w-8 h-8 flex items-center justify-center bg-white border-2 border-gray-300 rounded-full hover:border-gray-400\">\n <span class=\"h-2.5 w-2.5 bg-transparent rounded-full group-hover:bg-gray-300\"\n aria-hidden=\"true\"></span>\n <span class=\"sr-only\">Step {{ step.index + 1 }}</span>\n </div>\n </ng-container>\n </li>\n </ol>\n </nav>\n <!-- Circles With Text -->\n <nav class=\"flex items-center justify-center\"\n aria-label=\"Progress\"\n *ngSwitchCase=\"StepperType.CirclesWithText\">\n <ol role=\"list\"\n class=\"overflow-hidden\">\n <li *ngFor=\"let step of steps\"\n (click)=\"onSelectStep(step)\"\n class=\"relative pb-10 cursor-pointer\">\n <!-- Complete Step -->\n <ng-container *ngIf=\"step.state === StepState.Completed\">\n <div class=\"-ml-px absolute mt-0.5 top-4 left-4 w-0.5 h-full bg-blue-600\"\n aria-hidden=\"true\"\n *ngIf=\"!step.isLast\"></div>\n <div class=\"relative flex items-start group\">\n <span class=\"h-9 flex items-center\">\n <span class=\"relative z-10 w-8 h-8 flex items-center justify-center bg-blue-600 rounded-full group-hover:bg-blue-800\">\n <svg class=\"w-5 h-5 text-white\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 20 20\"\n fill=\"currentColor\"\n aria-hidden=\"true\">\n <path fill-rule=\"evenodd\"\n d=\"M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z\"\n clip-rule=\"evenodd\" />\n </svg>\n </span>\n </span>\n <span class=\"ml-4 min-w-0 flex flex-col\">\n <span class=\"text-xs font-semibold tracking-wide uppercase\"\n *ngIf=\"step.stepLabel\">\n <ng-container [ngTemplateOutlet]=\"step.stepLabel.template\"></ng-container>\n </span>\n <span class=\"text-sm text-gray-500\"\n *ngIf=\"step.stepInfo\">\n <ng-container [ngTemplateOutlet]=\"step.stepInfo.template\"></ng-container>\n </span>\n </span>\n </div>\n </ng-container>\n <!-- Active Step -->\n <ng-container *ngIf=\"step.state === StepState.Active\">\n <div class=\"-ml-px absolute mt-0.5 top-4 left-4 w-0.5 h-full bg-gray-300\"\n aria-hidden=\"true\"\n *ngIf=\"!step.isLast\"></div>\n <div class=\"relative flex items-start group\"\n aria-current=\"step\">\n <span class=\"h-9 flex items-center\"\n aria-hidden=\"true\">\n <span class=\"relative z-10 w-8 h-8 flex items-center justify-center bg-white border-2 border-blue-600 rounded-full\">\n <span class=\"h-2.5 w-2.5 bg-blue-600 rounded-full\"></span>\n </span>\n </span>\n <span class=\"ml-4 min-w-0 flex flex-col\">\n <span class=\"text-xs font-semibold tracking-wide uppercase text-blue-600\"\n *ngIf=\"step.stepLabel\">\n <ng-container [ngTemplateOutlet]=\"step.stepLabel.template\"></ng-container>\n </span>\n <span class=\"text-sm text-gray-500\"\n *ngIf=\"step.stepInfo\">\n <ng-container [ngTemplateOutlet]=\"step.stepInfo.template\"></ng-container>\n </span>\n </span>\n </div>\n </ng-container>\n <!-- Upcoming Step -->\n <ng-container *ngIf=\"step.state === StepState.Upcoming\">\n <div class=\"-ml-px absolute mt-0.5 top-4 left-4 w-0.5 h-full bg-gray-300\"\n aria-hidden=\"true\"\n *ngIf=\"!step.isLast\"></div>\n <div href=\"#\"\n class=\"relative flex items-start group\">\n <span class=\"h-9 flex items-center\"\n aria-hidden=\"true\">\n <span class=\"relative z-10 w-8 h-8 flex items-center justify-center bg-white border-2 border-gray-300 rounded-full group-hover:border-gray-400\">\n <span class=\"h-2.5 w-2.5 bg-transparent rounded-full group-hover:bg-gray-300\"></span>\n </span>\n </span>\n <span class=\"ml-4 min-w-0 flex flex-col\">\n <span class=\"text-xs font-semibold tracking-wide uppercase text-gray-500\"\n *ngIf=\"step.stepLabel\">\n <ng-container [ngTemplateOutlet]=\"step.stepLabel.template\"></ng-container>\n </span>\n <span class=\"text-sm text-gray-500\"\n *ngIf=\"step.stepInfo\">\n <ng-container [ngTemplateOutlet]=\"step.stepInfo.template\"></ng-container>\n </span>\n </span>\n </div>\n </ng-container>\n </li>\n </ol>\n </nav>\n <!-- Panels -->\n <nav aria-label=\"Progress\"\n *ngSwitchCase=\"StepperType.Panels\">\n <ol role=\"list\"\n class=\"border border-gray-300 rounded-md divide-y divide-gray-300 md:flex md:divide-y-0\">\n <li *ngFor=\"let step of steps\"\n (click)=\"onSelectStep(step)\"\n class=\"relative md:flex-1 md:flex cursor-pointer\">\n <!-- Completed step -->\n <div class=\"group flex items-center w-full\"\n *ngIf=\"step.state === StepState.Completed\">\n <span class=\"px-6 py-4 flex items-center text-sm font-medium\">\n <span class=\"flex-shrink-0 w-10 h-10 flex items-center justify-center bg-blue-600 rounded-full group-hover:bg-blue-800\">\n <svg class=\"w-6 h-6 text-white\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 20 20\"\n fill=\"currentColor\"\n aria-hidden=\"true\">\n <path fill-rule=\"evenodd\"\n d=\"M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z\"\n clip-rule=\"evenodd\" />\n </svg>\n </span>\n <span class=\"ml-4 text-sm font-medium text-gray-900\"\n *ngIf=\"step.stepLabel\">\n <ng-container [ngTemplateOutlet]=\"step.stepLabel.template\"></ng-container>\n </span>\n </span>\n </div>\n <!-- Active step -->\n <div class=\"px-6 py-4 flex items-center text-sm font-medium\"\n *ngIf=\"step.state === StepState.Active\">\n <span class=\"flex-shrink-0 w-10 h-10 flex items-center justify-center border-2 border-blue-600 rounded-full\">\n <span class=\"text-blue-600\">{{ (step.index + 1) }}</span>\n </span>\n <span class=\"ml-4 text-sm font-medium text-blue-600\"\n *ngIf=\"step.stepLabel\">\n <ng-container [ngTemplateOutlet]=\"step.stepLabel.template\"></ng-container>\n </span>\n </div>\n <!-- Upcoming step -->\n <div class=\"group flex items-center\"\n *ngIf=\"step.state === StepState.Upcoming\">\n <span class=\"px-6 py-4 flex items-center text-sm font-medium\">\n <span class=\"flex-shrink-0 w-10 h-10 flex items-center justify-center border-2 border-gray-300 rounded-full group-hover:border-gray-400\">\n <span class=\"text-gray-500 group-hover:text-gray-900\">{{ (step.index + 1) }}</span>\n </span>\n <span class=\"ml-4 text-sm font-medium text-gray-500 group-hover:text-gray-900\"\n *ngIf=\"step.stepLabel\">\n <ng-container [ngTemplateOutlet]=\"step.stepLabel.template\"></ng-container>\n </span>\n </span>\n </div>\n <!-- Arrow separator for lg screens and up -->\n <div *ngIf=\"!step.isLast\"\n class=\"hidden md:block absolute top-0 right-0 h-full w-5\"\n aria-hidden=\"true\">\n <svg class=\"h-full w-full text-gray-300\"\n viewBox=\"0 0 22 80\"\n fill=\"none\"\n preserveAspectRatio=\"none\">\n <path d=\"M0 -2L20 40L0 82\"\n vector-effect=\"non-scaling-stroke\"\n stroke=\"currentcolor\"\n stroke-linejoin=\"round\" />\n </svg>\n </div>\n </li>\n </ol>\n </nav>\n <!-- Panels With Border -->\n <div class=\"panels-with-border-container\"\n *ngSwitchCase=\"StepperType.PanelsWithBorder\">\n <nav class=\"panels-with-border-nav\"\n aria-label=\"Progress\">\n <ol role=\"list\"\n class=\"panels-with-border-ol\">\n <li *ngFor=\"let step of steps\"\n (click)=\"onSelectStep(step)\"\n class=\"panels-with-border-li\">\n <!-- Completed Step -->\n <div class=\"panels-with-border-completed-step\"\n *ngIf=\"step.state === StepState.Completed\">\n <div class=\"group\">\n <span class=\"panels-with-border-completed-step-level1\"\n aria-hidden=\"true\">\n </span>\n <span class=\"panels-with-border-completed-step-level2\">\n <span class=\"panels-with-border-completed-step-level21\">\n <span class=\"panels-with-border-completed-step-level211\">\n <svg class=\"w-6 h-6 text-white\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 20 20\"\n fill=\"currentColor\"\n aria-hidden=\"true\">\n <path fill-rule=\"evenodd\"\n d=\"M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z\"\n clip-rule=\"evenodd\" />\n </svg>\n </span>\n </span>\n <span class=\"panels-with-border-completed-step-level22\">\n <span class=\"panels-with-border-completed-step-level221\"\n *ngIf=\"step.stepLabel\">\n <ng-container [ngTemplateOutlet]=\"step.stepLabel.template\"></ng-container>\n </span>\n <span class=\"panels-with-border-completed-step-level222\"\n *ngIf=\"step.stepInfo\">\n <ng-container [ngTemplateOutlet]=\"step.stepInfo.template\"></ng-container>\n </span>\n </span>\n </span>\n </div>\n </div>\n <!-- Active Step -->\n <div class=\"panels-with-border-active-step\"\n *ngIf=\"step.state === StepState.Active\">\n <div aria-current=\"step\">\n <span class=\"panels-with-border-active-step-level1\"\n aria-hidden=\"true\">\n </span>\n <span class=\"panels-with-border-active-step-level2\">\n <span class=\"panels-with-border-active-step-level21\">\n <span class=\"panels-with-border-active-step-level211\">\n <span class=\"panels-with-border-active-step-level211-text\">{{ step.index + 1 }}</span>\n </span>\n </span>\n <span class=\"panels-with-border-active-step-level22\">\n <span class=\"panels-with-border-active-step-level221\"\n *ngIf=\"step.stepLabel\">\n <ng-container [ngTemplateOutlet]=\"step.stepLabel.template\"></ng-container>\n </span>\n <span class=\"panels-with-border-active-step-level222\"\n *ngIf=\"step.stepInfo\">\n <ng-container [ngTemplateOutlet]=\"step.stepInfo.template\"></ng-container>\n </span>\n </span>\n </span>\n </div>\n <!-- Separator -->\n <div class=\"panels-with-border-step-separator\"\n aria-hidden=\"true\"\n *ngIf=\"step.index !== 0\">\n <svg class=\"h-full w-full text-gray-300\"\n viewBox=\"0 0 12 82\"\n fill=\"none\"\n preserveAspectRatio=\"none\">\n <path d=\"M0.5 0V31L10.5 41L0.5 51V82\"\n stroke=\"currentcolor\"\n vector-effect=\"non-scaling-stroke\" />\n </svg>\n </div>\n </div>\n <!-- Upcoming Step -->\n <div class=\"panels-with-border-upcoming-step\"\n *ngIf=\"step.state === StepState.Upcoming\">\n <div class=\"group\">\n <span class=\"panels-with-border-upcoming-step-level1\"\n aria-hidden=\"true\">\n </span>\n <span class=\"panels-with-border-upcoming-step-level2\">\n <span class=\"panels-with-border-upcoming-step-level21\">\n <span class=\"panels-with-border-upcoming-step-level211\">\n <span class=\"panels-with-border-upcoming-step-level211-text\">{{ step.index + 1 }}</span>\n </span>\n </span>\n <span class=\"panels-with-border-upcoming-step-level22\">\n <span class=\"panels-with-border-upcoming-step-level221\"\n *ngIf=\"step.stepLabel\">\n <ng-container [ngTemplateOutlet]=\"step.stepLabel.template\"></ng-container>\n </span>\n <span class=\"text-sm font-medium text-gray-500\"\n *ngIf=\"step.stepInfo\">\n <ng-container [ngTemplateOutlet]=\"step.stepInfo.template\"></ng-container>\n </span>\n </span>\n </span>\n </div>\n <!-- Separator -->\n <div class=\"panels-with-border-step-separator\"\n aria-hidden=\"true\"\n *ngIf=\"step.index !== 0\">\n <svg class=\"h-full w-full text-gray-300\"\n viewBox=\"0 0 12 82\"\n fill=\"none\"\n preserveAspectRatio=\"none\">\n <path d=\"M0.5 0V31L10.5 41L0.5 51V82\"\n stroke=\"currentcolor\"\n vector-effect=\"non-scaling-stroke\" />\n </svg>\n </div>\n </div>\n </li>\n </ol>\n </nav>\n </div>\n <!-- Progress -->\n <div *ngSwitchCase=\"StepperType.Progress\">\n <div class=\"mt-6\"\n aria-hidden=\"true\">\n <div class=\"bg-gray-200 rounded-full overflow-hidden\">\n <div class=\"h-2 bg-blue-600 rounded-full\"\n [style.width]=\"(((currentStepIndex + 1) / steps.length) * 100) + '%'\">\n </div>\n </div>\n <div class=\"hidden sm:grid grid-cols-4 text-sm font-medium text-gray-600 mt-6\">\n <div *ngFor=\"let step of steps\"\n (click)=\"onSelectStep(step)\"\n class=\"text-blue-600 cursor-pointer\">\n <ng-container *ngIf=\"step.stepLabel\"\n [ngTemplateOutlet]=\"step.stepLabel.template\">\n </ng-container>\n </div>\n </div>\n </div>\n </div>\n <!-- Simple -->\n <nav aria-label=\"Progress\"\n *ngSwitchCase=\"StepperType.Simple\">\n <ol role=\"list\"\n class=\"space-y-4 md:flex md:space-y-0 md:space-x-8\">\n <li *ngFor=\"let step of steps\"\n (click)=\"onSelectStep(step)\"\n class=\"md:flex-1 cursor-pointer\">\n <!-- Completed Step -->\n <div class=\"group pl-4 py-2 flex flex-col border-l-4 border-blue-600 hover:border-blue-800 md:pl-0 md:pt-4 md:pb-0 md:border-l-0 md:border-t-4\"\n *ngIf=\"step.state === StepState.Completed\">\n <span class=\"text-xs text-blue-600 font-semibold tracking-wide uppercase group-hover:text-blue-800\">Step {{ step.index + 1 }}</span>\n <span class=\"text-sm font-medium\"\n *ngIf=\"step.stepLabel\">\n <ng-container [ngTemplateOutlet]=\"step.stepLabel.template\"></ng-container>\n </span>\n </div>\n <!-- Active Step -->\n <div class=\"pl-4 py-2 flex flex-col border-l-4 border-blue-600 md:pl-0 md:pt-4 md:pb-0 md:border-l-0 md:border-t-4\"\n aria-current=\"step\"\n *ngIf=\"step.state === StepState.Active\">\n <span class=\"text-xs text-blue-600 font-semibold tracking-wide uppercase\">Step {{ step.index + 1 }}</span>\n <span class=\"text-sm font-medium\"\n *ngIf=\"step.stepLabel\">\n <ng-container [ngTemplateOutlet]=\"step.stepLabel.template\"></ng-container>\n </span>\n </div>\n <!-- Upcoming Step -->\n <div class=\"group pl-4 py-2 flex flex-col border-l-4 border-gray-200 hover:border-gray-300 md:pl-0 md:pt-4 md:pb-0 md:border-l-0 md:border-t-4\"\n *ngIf=\"step.state === StepState.Upcoming\">\n <span class=\"text-xs text-gray-500 font-semibold tracking-wide uppercase group-hover:text-gray-700\">Step {{ step.index + 1 }}</span>\n <span class=\"text-sm font-medium\"\n *ngIf=\"step.stepLabel\">\n <ng-container [ngTemplateOutlet]=\"step.stepLabel.template\"></ng-container>\n </span>\n </div>\n </li>\n </ol>\n </nav>\n</ng-container>\n<ng-container *ngFor=\"let step of steps\">\n <ng-container *ngIf=\"step.state === StepState.Active\"\n [ngTemplateOutlet]=\"step.content\">\n </ng-container>\n</ng-container>" }]
96
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { steps: [{
97
+ type: ContentChildren,
98
+ args: [LibStepComponent, { descendants: true }]
99
+ }], stepChanged: [{
100
+ type: Output
101
+ }], completed: [{
102
+ type: Output
103
+ }], linear: [{
104
+ type: Input
105
+ }], type: [{
106
+ type: Input
107
+ }] } });
108
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliLXN0ZXBwZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctY29tcG9uZW50cy9zcmMvbGliL2NvbnRyb2xzL3N0ZXBwZXIvbGliLXN0ZXBwZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctY29tcG9uZW50cy9zcmMvbGliL2NvbnRyb2xzL3N0ZXBwZXIvbGliLXN0ZXBwZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF1QyxTQUFTLEVBQUUsZUFBZSxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUU1SixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsU0FBUyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbkUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ25ELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7O0FBVW5ELE1BQU0sT0FBTyxtQkFBbUI7SUFLNUIsWUFBb0Isa0JBQXFDO1FBQXJDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBbUI7UUFKekQsc0JBQXNCO1FBQ2Qsc0JBQWlCLEdBQVcsQ0FBQyxDQUFDO1FBQzlCLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBTTdCLHlDQUF5QztRQUNmLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQXFCLENBQUM7UUFDOUUsb0ZBQW9GO1FBQzFELGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBQy9ELHFGQUFxRjtRQUNyRSxXQUFNLEdBQVksS0FBSyxDQUFDO1FBQ3hDLCtCQUErQjtRQUNmLFNBQUksR0FBZ0IsV0FBVyxDQUFDLE1BQU0sQ0FBQztRQUNoRCxjQUFTLEdBQUcsU0FBUyxDQUFDO1FBQ3RCLGdCQUFXLEdBQUcsV0FBVyxDQUFDO0lBYjRCLENBQUM7SUFlOUQsK0JBQStCO0lBQy9CLElBQVcsV0FBVztRQUNsQixPQUFPLElBQUksQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFRCxpRUFBaUU7SUFDakUsSUFBVyxnQkFBZ0I7UUFDdkIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUM7SUFDbEMsQ0FBQztJQUVELG9EQUFvRDtJQUNwRCxJQUFXLFNBQVM7UUFDaEIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCx1REFBdUQ7SUFDdkQsSUFBVyxZQUFZO1FBQ25CLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRUQseUJBQXlCO0lBQ3pCLElBQVcsV0FBVztRQUNsQixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDN0IsQ0FBQztJQUVNLFFBQVEsS0FBVyxDQUFDO0lBRXBCLGtCQUFrQjtRQUNyQixJQUFJLENBQUMsa0JBQWtCLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDNUMsQ0FBQztJQUVELHlDQUF5QztJQUNsQyxZQUFZO1FBQ2YsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUNqRCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztZQUN6QixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzFCLENBQUM7UUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3JCLE9BQU87UUFDWCxDQUFDO1FBQ0QsSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBRUQsNkNBQTZDO0lBQ3RDLGdCQUFnQjtRQUNuQixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ2xCLE9BQU87UUFDWCxDQUFDO1FBQ0QsSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBRU0sWUFBWSxDQUFDLFlBQThCO1FBQzlDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVPLHNCQUFzQixDQUFDLFFBQWdCO1FBQzNDLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDeEMsTUFBTSxXQUFXLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ3RELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxNQUFNLElBQUksQ0FDOUIsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxPQUFPLElBQUksUUFBUSxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLGdFQUFnRTtZQUMvSCxDQUFDLFdBQVcsQ0FBQyxPQUFPLElBQUksUUFBUSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxDQUFDLElBQUksVUFBVSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMseUZBQXlGO1NBQ3pPLENBQUM7UUFDRixJQUFJLFVBQVUsRUFBRSxDQUFDO1lBQ2IsT0FBTztRQUNYLENBQUM7UUFDRCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQztZQUNsQixhQUFhLEVBQUUsUUFBUTtZQUN2Qix1QkFBdUIsRUFBRSxJQUFJLENBQUMsZ0JBQWdCO1lBQzlDLFlBQVksRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO1lBQ2xDLHNCQUFzQixFQUFFLFdBQVc7U0FDdEMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLGlCQUFpQixHQUFHLFFBQVEsQ0FBQztJQUN0QyxDQUFDOzhHQTVGUSxtQkFBbUI7a0dBQW5CLG1CQUFtQixtSkFKakI7WUFDUCxFQUFFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLG1CQUFtQixDQUFDLEVBQUU7U0FDdkYsZ0RBVWdCLGdCQUFnQixnREN0QnJDLCtrN0JBOGZlOzsyRkRoZkYsbUJBQW1CO2tCQVAvQixTQUFTOytCQUNJLGFBQWEsYUFFWjt3QkFDUCxFQUFFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxvQkFBb0IsQ0FBQyxFQUFFO3FCQUN2RjtzRkFVZ0UsS0FBSztzQkFBckUsZUFBZTt1QkFBQyxnQkFBZ0IsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUU7Z0JBRTlCLFdBQVc7c0JBQXBDLE1BQU07Z0JBRW1CLFNBQVM7c0JBQWxDLE1BQU07Z0JBRVMsTUFBTTtzQkFBckIsS0FBSztnQkFFVSxJQUFJO3NCQUFuQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3Q2hlY2tlZCwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgQ29udGVudENoaWxkcmVuLCBFdmVudEVtaXR0ZXIsIGZvcndhcmRSZWYsIElucHV0LCBPbkluaXQsIE91dHB1dCwgUXVlcnlMaXN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IExpYlN0ZXBDb21wb25lbnQsIFN0ZXBTdGF0ZSB9IGZyb20gJy4vbGliLXN0ZXAuY29tcG9uZW50JztcbmltcG9ydCB7IExJQlNURVBQRVJfQUNDRVNTT1IgfSBmcm9tICcuLi8uLi90b2tlbnMnO1xuaW1wb3J0IHsgU3RlcHBlclR5cGUgfSBmcm9tICcuL3R5cGVzL3N0ZXBwZXItdHlwZSc7XG5pbXBvcnQgeyBTdGVwU2VsZWN0ZWRFdmVudCB9IGZyb20gJy4vdHlwZXMvc3RlcC1zZWxlY3RlZC1ldmVudCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbGliLXN0ZXBwZXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9saWItc3RlcHBlci5jb21wb25lbnQuaHRtbCcsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHsgcHJvdmlkZTogTElCU1RFUFBFUl9BQ0NFU1NPUiwgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gTGliU3RlcHBlckNvbXBvbmVudCkgfVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgTGliU3RlcHBlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3Q2hlY2tlZCB7XG4gICAgLy8gUHJpdmF0ZSBwcm9wZXJ0aWVzLlxuICAgIHByaXZhdGUgX2N1cnJlbnRTdGVwSW5kZXg6IG51bWJlciA9IDA7XG4gICAgcHJpdmF0ZSBfaXNDb21wbGV0ZWQgPSBmYWxzZTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgX2NoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZikgeyB9XG5cbiAgICAvKiogVGhlIGlubmVyIHN0ZXBzIG9mIHRoZSB3aXphcmQuICovXG4gICAgQENvbnRlbnRDaGlsZHJlbihMaWJTdGVwQ29tcG9uZW50LCB7IGRlc2NlbmRhbnRzOiB0cnVlIH0pIHB1YmxpYyBzdGVwcyE6IFF1ZXJ5TGlzdDxMaWJTdGVwQ29tcG9uZW50PjtcbiAgICAvKiogRW1taXRlZCB3aGVuIGEgc3RlcCBjaGFuZ2Ugb2NjdXJzLiAqL1xuICAgIEBPdXRwdXQoKSBwdWJsaWMgcmVhZG9ubHkgc3RlcENoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPFN0ZXBTZWxlY3RlZEV2ZW50PigpO1xuICAgIC8qKiBFbW1pdGVkIHdoZW4gdGhlIHN0ZXBwZXIgbmF2aWdhdGVzIGF3YXkgZnJvbSB0aGUgZmluYWwgc3RlcC4gT25seSBlbWl0cyBvbmNlLiAqL1xuICAgIEBPdXRwdXQoKSBwdWJsaWMgcmVhZG9ubHkgY29tcGxldGVkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICAgIC8qKiBJbmRpY2F0ZXMgd2hldGhlciBlYWNoIHN0ZXAgaGFzIHRvIGJlIHZhbGlkYXRlZCBiZWZvcmUgcHJvY2VlZGluZyB0byB0aGUgbmV4dC4gKi9cbiAgICBASW5wdXQoKSBwdWJsaWMgbGluZWFyOiBib29sZWFuID0gZmFsc2U7XG4gICAgLyoqIFRoZSB0eXBlIG9mIHRoZSBzdGVwcGVyLiAqL1xuICAgIEBJbnB1dCgpIHB1YmxpYyB0eXBlOiBTdGVwcGVyVHlwZSA9IFN0ZXBwZXJUeXBlLlBhbmVscztcbiAgICBwdWJsaWMgU3RlcFN0YXRlID0gU3RlcFN0YXRlO1xuICAgIHB1YmxpYyBTdGVwcGVyVHlwZSA9IFN0ZXBwZXJUeXBlO1xuXG4gICAgLyoqIFRoZSBjdXJyZW50IHdpemFyZCBzdGVwLiAqL1xuICAgIHB1YmxpYyBnZXQgY3VycmVudFN0ZXAoKTogTGliU3RlcENvbXBvbmVudCB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiB0aGlzLnN0ZXBzPy5nZXQodGhpcy5fY3VycmVudFN0ZXBJbmRleCk7XG4gICAgfVxuXG4gICAgLyoqIFRoZSBpbmRleCAoc3RhcnRpbmcgZnJvbSB6ZXJvKSBvZiB0aGUgY3VycmVudCB3aXphcmQgc3RlcC4gKi9cbiAgICBwdWJsaWMgZ2V0IGN1cnJlbnRTdGVwSW5kZXgoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2N1cnJlbnRTdGVwSW5kZXg7XG4gICAgfVxuXG4gICAgLyoqIEluZGljYXRlcyB3aGV0aGVyIHN0ZXBwZXIgY2FuIGdvIGEgc3RlcCBiYWNrLiAqL1xuICAgIHB1YmxpYyBnZXQgY2FuR29CYWNrKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fY3VycmVudFN0ZXBJbmRleCA+IDA7XG4gICAgfVxuXG4gICAgLyoqIEluZGljYXRlcyB3aGV0aGVyIHN0ZXBwZXIgY2FuIGdvIGEgc3RlcCBmb3J3YXJkLiAqL1xuICAgIHB1YmxpYyBnZXQgY2FuR29Gb3J3YXJkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fY3VycmVudFN0ZXBJbmRleCA8IHRoaXMuc3RlcHM/Lmxlbmd0aCAtIDE7XG4gICAgfVxuXG4gICAgLyoqIEluZGljYXRlcyB3aGV0aGVyICAqL1xuICAgIHB1YmxpYyBnZXQgaXNDb21wbGV0ZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pc0NvbXBsZXRlZDtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7IH1cblxuICAgIHB1YmxpYyBuZ0FmdGVyVmlld0NoZWNrZWQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICAvKiogUHJvY2VlZHMgdG8gdGhlIG5leHQgc3RlcCwgaWYgYW55LiAqL1xuICAgIHB1YmxpYyBnb1RvTmV4dFN0ZXAoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmN1cnJlbnRTdGVwPy5pc0xhc3QgJiYgIXRoaXMuX2lzQ29tcGxldGVkKSB7XG4gICAgICAgICAgICB0aGlzLl9pc0NvbXBsZXRlZCA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLmNvbXBsZXRlZC5lbWl0KCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCF0aGlzLmNhbkdvRm9yd2FyZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMudXBkYXRlQ3VycmVudFN0ZXBJbmRleCh0aGlzLl9jdXJyZW50U3RlcEluZGV4ICsgMSk7XG4gICAgfVxuXG4gICAgLyoqIFByb2NlZWRzIHRvIHRoZSBwcmV2aW91cyBzdGVwLCBpZiBhbnkuICovXG4gICAgcHVibGljIGdvVG9QcmV2aW91c1N0ZXAoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5jYW5Hb0JhY2spIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnVwZGF0ZUN1cnJlbnRTdGVwSW5kZXgodGhpcy5fY3VycmVudFN0ZXBJbmRleCAtIDEpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvblNlbGVjdFN0ZXAoc2VsZWN0ZWRTdGVwOiBMaWJTdGVwQ29tcG9uZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlQ3VycmVudFN0ZXBJbmRleChzZWxlY3RlZFN0ZXAuaW5kZXgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlQ3VycmVudFN0ZXBJbmRleChuZXdJbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHN0ZXBzQXJyYXkgPSB0aGlzLnN0ZXBzLnRvQXJyYXkoKTtcbiAgICAgICAgY29uc3QgY3VycmVudFN0ZXAgPSBzdGVwc0FycmF5W3RoaXMuY3VycmVudFN0ZXBJbmRleF07XG4gICAgICAgIGNvbnN0IHNob3VsZFN0b3AgPSB0aGlzLmxpbmVhciAmJiAoXG4gICAgICAgICAgICAoIWN1cnJlbnRTdGVwLmlzVmFsaWQgJiYgbmV3SW5kZXggPj0gdGhpcy5jdXJyZW50U3RlcEluZGV4KSB8fCAvLyBJZiBjdXJyZW50IHN0ZXAgaXMgaW52YWxpZCBhbmQgd2FudCB0byBnbyBmb3J3YXJkLCB0aGVuIHN0b3AuXG4gICAgICAgICAgICAoY3VycmVudFN0ZXAuaXNWYWxpZCAmJiBuZXdJbmRleCA+IHRoaXMuY3VycmVudFN0ZXBJbmRleCArIDEgJiYgc3RlcHNBcnJheS5zbGljZSh0aGlzLmN1cnJlbnRTdGVwSW5kZXggKyAxLCBuZXdJbmRleCkuc29tZSh4ID0+ICF4LmlzVmFsaWQpKSAvLyBJZiBnb2luZyBmb3J3YXJkIChtb3JlIHRoYW4gMSBzdGVwcyksIGNoZWNrIGlmIHRoZXJlIGFyZSBhbnkgaW52YWxpZCBzdGVwcyBpbiBiZXR3ZWVuLlxuICAgICAgICApO1xuICAgICAgICBpZiAoc2hvdWxkU3RvcCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuc3RlcENoYW5nZWQuZW1pdCh7XG4gICAgICAgICAgICBzZWxlY3RlZEluZGV4OiBuZXdJbmRleCxcbiAgICAgICAgICAgIHByZXZpb3VzbHlTZWxlY3RlZEluZGV4OiB0aGlzLmN1cnJlbnRTdGVwSW5kZXgsXG4gICAgICAgICAgICBzZWxlY3RlZFN0ZXA6IHN0ZXBzQXJyYXlbbmV3SW5kZXhdLFxuICAgICAgICAgICAgcHJldmlvdXNseVNlbGVjdGVkU3RlcDogY3VycmVudFN0ZXBcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuX2N1cnJlbnRTdGVwSW5kZXggPSBuZXdJbmRleDtcbiAgICB9XG59XG4iLCI8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJ0eXBlXCI+XG4gICAgPCEtLSBCdWxsZXRzIC0tPlxuICAgIDxuYXYgY2xhc3M9XCJzdGVwcGVyLWJ1bGxldHMtY29udGFpbmVyXCJcbiAgICAgICAgIGFyaWEtbGFiZWw9XCJQcm9ncmVzc1wiXG4gICAgICAgICAqbmdTd2l0Y2hDYXNlPVwiU3RlcHBlclR5cGUuQnVsbGV0c1wiPlxuICAgICAgICA8cCBjbGFzcz1cInN0ZXBwZXItYnVsbGV0cy1jb3VudGVyXCI+U3RlcCB7eyBjdXJyZW50U3RlcEluZGV4ICsgMSB9fSBvZiB7eyBzdGVwcy5sZW5ndGggfX08L3A+XG4gICAgICAgIDxvbCByb2xlPVwibGlzdFwiXG4gICAgICAgICAgICBjbGFzcz1cInN0ZXBwZXItYnVsbGV0cy1vbFwiPlxuICAgICAgICAgICAgPGxpIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIlxuICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBzdGVwIG9mIHN0ZXBzXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwib25TZWxlY3RTdGVwKHN0ZXApXCI+XG4gICAgICAgICAgICAgICAgPCEtLSBDb21wbGV0ZWQgU3RlcCAtLT5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3RlcHBlci1idWxsZXRzLWNvbXBsZXRlZC1zdGVwXCJcbiAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwic3RlcC5zdGF0ZSA9PT0gU3RlcFN0YXRlLkNvbXBsZXRlZFwiPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNyLW9ubHlcIj5TdGVwIHt7IHN0ZXAuaW5kZXggfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPCEtLSBBY3RpdmUgU3RlcCAtLT5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3RlcHBlci1idWxsZXRzLWFjdGl2ZS1zdGVwXCJcbiAgICAgICAgICAgICAgICAgICAgIGFyaWEtY3VycmVudD1cInN0ZXBcIlxuICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJzdGVwLnN0YXRlID09PSBTdGVwU3RhdGUuQWN0aXZlXCI+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3RlcHBlci1idWxsZXRzLWFjdGl2ZS1zdGVwLWxldmVsMVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzdGVwcGVyLWJ1bGxldHMtYWN0aXZlLXN0ZXAtbGV2ZWwxXCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3RlcHBlci1idWxsZXRzLWFjdGl2ZS1zdGVwLWJ1bGxldFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPlxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3Itb25seVwiPlN0ZXAge3sgc3RlcC5pbmRleCB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8IS0tIFVwY29taW5nIFN0ZXAgLS0+XG4gICAgICAgICAgICAgICAgPGRpdiBocmVmPVwiI1wiXG4gICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInN0ZXBwZXItYnVsbGV0cy11cGNvbWluZy1zdGVwXCJcbiAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwic3RlcC5zdGF0ZSA9PT0gU3RlcFN0YXRlLlVwY29taW5nXCI+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3Itb25seVwiPlN0ZXAge3sgc3RlcC5pbmRleCB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvbGk+XG4gICAgICAgIDwvb2w+XG4gICAgPC9uYXY+XG4gICAgPCEtLSBCdWxsZXRzICYgVGV4dCAtLT5cbiAgICA8ZGl2IGNsYXNzPVwic3RlcHBlci1idWxsZXRzLWFuZC10ZXh0LWNvbnRhaW5lclwiXG4gICAgICAgICBhcmlhLWxhYmVsPVwiUHJvZ3Jlc3NcIlxuICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIlN0ZXBwZXJUeXBlLkJ1bGxldHNBbmRUZXh0XCI+XG4gICAgICAgIDxuYXYgYXJpYS1sYWJlbD1cIlByb2dyZXNzXCI+XG4gICAgICAgICAgICA8b2wgcm9sZT1cImxpc3RcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwic3RlcHBlci1idWxsZXRzLWFuZC10ZXh0LW9sXCI+XG4gICAgICAgICAgICAgICAgPGxpIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIlxuICAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgc3RlcCBvZiBzdGVwc1wiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvblNlbGVjdFN0ZXAoc3RlcClcIj5cbiAgICAgICAgICAgICAgICAgICAgPCEtLSBDb21wbGV0ZSBTdGVwIC0tPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ3JvdXBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwic3RlcC5zdGF0ZSA9PT0gU3RlcFN0YXRlLkNvbXBsZXRlZFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzdGVwcGVyLWJ1bGxldHMtYW5kLXRleHQtY29tcGxldGVkLXN0ZXBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInN0ZXBwZXItYnVsbGV0cy1hbmQtdGV4dC1jb21wbGV0ZWQtc3RlcC1sZXZlbDFcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz1cImgtZnVsbCB3LWZ1bGwgdGV4dC1ibHVlLTYwMCBncm91cC1ob3Zlcjp0ZXh0LWJsdWUtODAwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDIwIDIwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwiY3VycmVudENvbG9yXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGZpbGwtcnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0xMCAxOGE4IDggMCAxMDAtMTYgOCA4IDAgMDAwIDE2em0zLjcwNy05LjI5M2ExIDEgMCAwMC0xLjQxNC0xLjQxNEw5IDEwLjU4NiA3LjcwNyA5LjI5M2ExIDEgMCAwMC0xLjQxNCAxLjQxNGwyIDJhMSAxIDAgMDAxLjQxNCAwbDQtNHpcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xpcC1ydWxlPVwiZXZlbm9kZFwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInN0ZXBwZXItYnVsbGV0cy1hbmQtdGV4dC1jb21wbGV0ZWQtc3RlcC1jb250YWluZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwic3RlcC5zdGVwTGFiZWxcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJzdGVwLnN0ZXBMYWJlbC50ZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwhLS0gQWN0aXZlIFN0ZXAgLS0+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdGVwcGVyLWJ1bGxldHMtYW5kLXRleHQtYWN0aXZlLXN0ZXBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtY3VycmVudD1cInN0ZXBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwic3RlcC5zdGF0ZSA9PT0gU3RlcFN0YXRlLkFjdGl2ZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzdGVwcGVyLWJ1bGxldHMtYW5kLXRleHQtYWN0aXZlLXN0ZXAtbGV2ZWwxXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3RlcHBlci1idWxsZXRzLWFuZC10ZXh0LWFjdGl2ZS1zdGVwLWxldmVsMTFcIj48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzdGVwcGVyLWJ1bGxldHMtYW5kLXRleHQtYWN0aXZlLXN0ZXAtbGV2ZWwxMlwiPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3RlcHBlci1idWxsZXRzLWFuZC10ZXh0LWFjdGl2ZS1zdGVwLWNvbnRhaW5lclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInN0ZXAuc3RlcExhYmVsXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJzdGVwLnN0ZXBMYWJlbC50ZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPCEtLSBVcGNvbWluZyBTdGVwIC0tPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ3JvdXBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwic3RlcC5zdGF0ZSA9PT0gU3RlcFN0YXRlLlVwY29taW5nXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3RlcHBlci1idWxsZXRzLWFuZC10ZXh0LXVwY29taW5nLXN0ZXBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3RlcHBlci1idWxsZXRzLWFuZC10ZXh0LXVwY29taW5nLXN0ZXAtbGV2ZWwxXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3RlcHBlci1idWxsZXRzLWFuZC10ZXh0LXVwY29taW5nLXN0ZXAtbGV2ZWwyXCI+PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJzdGVwcGVyLWJ1bGxldHMtYW5kLXRleHQtdXBjb21pbmctc3RlcC1jb250YWluZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwic3RlcC5zdGVwTGFiZWxcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJzdGVwLnN0ZXBMYWJlbC50ZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgPC9vbD5cbiAgICAgICAgPC9uYXY+XG4gICAgPC9kaXY+XG4gICAgPCEtLSBDaXJjbGVzIC0tPlxuICAgIDxuYXYgY2xhc3M9XCJmbGV4IGp1c3RpZnktY2VudGVyXCJcbiAgICAgICAgIGFyaWEtbGFiZWw9XCJQcm9ncmVzc1wiXG4gICAgICAgICAqbmdTd2l0Y2hDYXNlPVwiU3RlcHBlclR5cGUuQ2lyY2xlc1wiPlxuICAgICAgICA8b2wgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlclwiXG4gICAgICAgICAgICByb2xlPVwibGlzdFwiPlxuICAgICAgICAgICAgPGxpICpuZ0Zvcj1cImxldCBzdGVwIG9mIHN0ZXBzXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwib25TZWxlY3RTdGVwKHN0ZXApXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInJlbGF0aXZlIHByLTggc206cHItMjAgY3Vyc29yLXBvaW50ZXJcIj5cbiAgICAgICAgICAgICAgICA8IS0tIENvbXBsZXRlZCBTdGVwIC0tPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzdGVwLnN0YXRlID09PSBTdGVwU3RhdGUuQ29tcGxldGVkXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhYnNvbHV0ZSBpbnNldC0wIGZsZXggaXRlbXMtY2VudGVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoLTAuNSB3LWZ1bGwgYmctYmx1ZS02MDBcIj48L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyZWxhdGl2ZSB3LTggaC04IGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGJnLWJsdWUtNjAwIHJvdW5kZWQtZnVsbCBob3ZlcjpiZy1ibHVlLTkwMFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz1cInctNSBoLTUgdGV4dC13aGl0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDIwIDIwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cImN1cnJlbnRDb2xvclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGZpbGwtcnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMTYuNzA3IDUuMjkzYTEgMSAwIDAxMCAxLjQxNGwtOCA4YTEgMSAwIDAxLTEuNDE0IDBsLTQtNGExIDEgMCAwMTEuNDE0LTEuNDE0TDggMTIuNTg2bDcuMjkzLTcuMjkzYTEgMSAwIDAxMS40MTQgMHpcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsaXAtcnVsZT1cImV2ZW5vZGRcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNyLW9ubHlcIj5TdGVwIHt7IHN0ZXAuaW5kZXggKyAxIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8IS0tIEFjdGl2ZSBTdGVwIC0tPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzdGVwLnN0YXRlID09PSBTdGVwU3RhdGUuQWN0aXZlXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhYnNvbHV0ZSBpbnNldC0wIGZsZXggaXRlbXMtY2VudGVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoLTAuNSB3LWZ1bGwgYmctZ3JheS0yMDBcIj48L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyZWxhdGl2ZSB3LTggaC04IGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGJnLXdoaXRlIGJvcmRlci0yIGJvcmRlci1ibHVlLTYwMCByb3VuZGVkLWZ1bGxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtY3VycmVudD1cInN0ZXBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaC0yLjUgdy0yLjUgYmctYmx1ZS02MDAgcm91bmRlZC1mdWxsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3Itb25seVwiPlN0ZXAge3sgc3RlcC5pbmRleCArIDEgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDwhLS0gVXBjb21pbmcgU3RlcCAtLT5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic3RlcC5zdGF0ZSA9PT0gU3RlcFN0YXRlLlVwY29taW5nXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhYnNvbHV0ZSBpbnNldC0wIGZsZXggaXRlbXMtY2VudGVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoLTAuNSB3LWZ1bGwgYmctZ3JheS0yMDBcIj48L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJncm91cCByZWxhdGl2ZSB3LTggaC04IGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGJnLXdoaXRlIGJvcmRlci0yIGJvcmRlci1ncmF5LTMwMCByb3VuZGVkLWZ1bGwgaG92ZXI6Ym9yZGVyLWdyYXktNDAwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImgtMi41IHctMi41IGJnLXRyYW5zcGFyZW50IHJvdW5kZWQtZnVsbCBncm91cC1ob3ZlcjpiZy1ncmF5LTMwMFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIj48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNyLW9ubHlcIj5TdGVwIHt7IHN0ZXAuaW5kZXggKyAxIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvbGk+XG4gICAgICAgIDwvb2w+XG4gICAgPC9uYXY+XG4gICAgPCEtLSBDaXJjbGVzIFdpdGggVGV4dCAtLT5cbiAgICA8bmF2IGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXJcIlxuICAgICAgICAgYXJpYS1sYWJlbD1cIlByb2dyZXNzXCJcbiAgICAgICAgICpuZ1N3aXRjaENhc2U9XCJTdGVwcGVyVHlwZS5DaXJjbGVzV2l0aFRleHRcIj5cbiAgICAgICAgPG9sIHJvbGU9XCJsaXN0XCJcbiAgICAgICAgICAgIGNsYXNzPVwib3ZlcmZsb3ctaGlkZGVuXCI+XG4gICAgICAgICAgICA8bGkgKm5nRm9yPVwibGV0IHN0ZXAgb2Ygc3RlcHNcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJvblNlbGVjdFN0ZXAoc3RlcClcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwicmVsYXRpdmUgcGItMTAgY3Vyc29yLXBvaW50ZXJcIj5cbiAgICAgICAgICAgICAgICA8IS0tIENvbXBsZXRlIFN0ZXAgLS0+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInN0ZXAuc3RhdGUgPT09IFN0ZXBTdGF0ZS5Db21wbGV0ZWRcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIi1tbC1weCBhYnNvbHV0ZSBtdC0wLjUgdG9wLTQgbGVmdC00IHctMC41IGgtZnVsbCBiZy1ibHVlLTYwMFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIiFzdGVwLmlzTGFzdFwiPjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicmVsYXRpdmUgZmxleCBpdGVtcy1zdGFydCBncm91cFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJoLTkgZmxleCBpdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInJlbGF0aXZlIHotMTAgdy04IGgtOCBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBiZy1ibHVlLTYwMCByb3VuZGVkLWZ1bGwgZ3JvdXAtaG92ZXI6YmctYmx1ZS04MDBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz1cInctNSBoLTUgdGV4dC13aGl0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAyMCAyMFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cImN1cnJlbnRDb2xvclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBmaWxsLXJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMTYuNzA3IDUuMjkzYTEgMSAwIDAxMCAxLjQxNGwtOCA4YTEgMSAwIDAxLTEuNDE0IDBsLTQtNGExIDEgMCAwMTEuNDE0LTEuNDE0TDggMTIuNTg2bDcuMjkzLTcuMjkzYTEgMSAwIDAxMS40MTQgMHpcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xpcC1ydWxlPVwiZXZlbm9kZFwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWwtNCBtaW4tdy0wIGZsZXggZmxleC1jb2xcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQteHMgZm9udC1zZW1pYm9sZCB0cmFja2luZy13aWRlIHVwcGVyY2FzZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJzdGVwLnN0ZXBMYWJlbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInN0ZXAuc3RlcExhYmVsLnRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1zbSB0ZXh0LWdyYXktNTAwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInN0ZXAuc3RlcEluZm9cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJzdGVwLnN0ZXBJbmZvLnRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8IS0tIEFjdGl2ZSBTdGVwIC0tPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzdGVwLnN0YXRlID09PSBTdGVwU3RhdGUuQWN0aXZlXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCItbWwtcHggYWJzb2x1dGUgbXQtMC41IHRvcC00IGxlZnQtNCB3LTAuNSBoLWZ1bGwgYmctZ3JheS0zMDBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCIhc3RlcC5pc0xhc3RcIj48L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJlbGF0aXZlIGZsZXggaXRlbXMtc3RhcnQgZ3JvdXBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtY3VycmVudD1cInN0ZXBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaC05IGZsZXggaXRlbXMtY2VudGVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicmVsYXRpdmUgei0xMCB3LTggaC04IGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGJnLXdoaXRlIGJvcmRlci0yIGJvcmRlci1ibHVlLTYwMCByb3VuZGVkLWZ1bGxcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJoLTIuNSB3LTIuNSBiZy1ibHVlLTYwMCByb3VuZGVkLWZ1bGxcIj48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtbC00IG1pbi13LTAgZmxleCBmbGV4LWNvbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC14cyBmb250LXNlbWlib2xkIHRyYWNraW5nLXdpZGUgdXBwZXJjYXNlIHRleHQtYmx1ZS02MDBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwic3RlcC5zdGVwTGFiZWxcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJzdGVwLnN0ZXBMYWJlbC50ZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtc20gdGV4dC1ncmF5LTUwMFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJzdGVwLnN0ZXBJbmZvXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwic3RlcC5zdGVwSW5mby50ZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPCEtLSBVcGNvbWluZyBTdGVwIC0tPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzdGVwLnN0YXRlID09PSBTdGVwU3RhdGUuVXBjb21pbmdcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIi1tbC1weCBhYnNvbHV0ZSBtdC0wLjUgdG9wLTQgbGVmdC00IHctMC41IGgtZnVsbCBiZy1ncmF5LTMwMFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIiFzdGVwLmlzTGFzdFwiPjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGhyZWY9XCIjXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInJlbGF0aXZlIGZsZXggaXRlbXMtc3RhcnQgZ3JvdXBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaC05IGZsZXggaXRlbXMtY2VudGVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicmVsYXRpdmUgei0xMCB3LTggaC04IGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGJnLXdoaXRlIGJvcmRlci0yIGJvcmRlci1ncmF5LTMwMCByb3VuZGVkLWZ1bGwgZ3JvdXAtaG92ZXI6Ym9yZGVyLWdyYXktNDAwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaC0yLjUgdy0yLjUgYmctdHJhbnNwYXJlbnQgcm91bmRlZC1mdWxsIGdyb3VwLWhvdmVyOmJnLWdyYXktMzAwXCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWwtNCBtaW4tdy0wIGZsZXggZmxleC1jb2xcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQteHMgZm9udC1zZW1pYm9sZCB0cmFja2luZy13aWRlIHVwcGVyY2FzZSB0ZXh0LWdyYXktNTAwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInN0ZXAuc3RlcExhYmVsXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwic3RlcC5zdGVwTGFiZWwudGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXNtIHRleHQtZ3JheS01MDBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwic3RlcC5zdGVwSW5mb1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInN0ZXAuc3RlcEluZm8udGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9saT5cbiAgICAgICAgPC9vbD5cbiAgICA8L25hdj5cbiAgICA8IS0tIFBhbmVscyAtLT5cbiAgICA8bmF2IGFyaWEtbGFiZWw9XCJQcm9ncmVzc1wiXG4gICAgICAgICAqbmdTd2l0Y2hDYXNlPVwiU3RlcHBlclR5cGUuUGFuZWxzXCI+XG4gICAgICAgIDxvbCByb2xlPVwibGlzdFwiXG4gICAgICAgICAgICBjbGFzcz1cImJvcmRlciBib3JkZXItZ3JheS0zMDAgcm91bmRlZC1tZCBkaXZpZGUteSBkaXZpZGUtZ3JheS0zMDAgbWQ6ZmxleCBtZDpkaXZpZGUteS0wXCI+XG4gICAgICAgICAgICA8bGkgKm5nRm9yPVwibGV0IHN0ZXAgb2Ygc3RlcHNcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJvblNlbGVjdFN0ZXAoc3RlcClcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwicmVsYXRpdmUgbWQ6ZmxleC0xIG1kOmZsZXggY3Vyc29yLXBvaW50ZXJcIj5cbiAgICAgICAgICAgICAgICA8IS0tIENvbXBsZXRlZCBzdGVwIC0tPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJncm91cCBmbGV4IGl0ZW1zLWNlbnRlciB3LWZ1bGxcIlxuICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJzdGVwLnN0YXRlID09PSBTdGVwU3RhdGUuQ29tcGxldGVkXCI+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicHgtNiBweS00IGZsZXggaXRlbXMtY2VudGVyIHRleHQtc20gZm9udC1tZWRpdW1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZmxleC1zaHJpbmstMCB3LTEwIGgtMTAgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgYmctYmx1ZS02MDAgcm91bmRlZC1mdWxsIGdyb3VwLWhvdmVyOmJnLWJsdWUtODAwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz1cInctNiBoLTYgdGV4dC13aGl0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMjAgMjBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cImN1cnJlbnRDb2xvclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZmlsbC1ydWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMTYuNzA3IDUuMjkzYTEgMSAwIDAxMCAxLjQxNGwtOCA4YTEgMSAwIDAxLTEuNDE0IDBsLTQtNGExIDEgMCAwMTEuNDE0LTEuNDE0TDggMTIuNTg2bDcuMjkzLTcuMjkzYTEgMSAwIDAxMS40MTQgMHpcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGlwLXJ1bGU9XCJldmVub2RkXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWwtNCB0ZXh0LXNtIGZvbnQtbWVkaXVtIHRleHQtZ3JheS05MDBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJzdGVwLnN0ZXBMYWJlbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwic3RlcC5zdGVwTGFiZWwudGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwhLS0gQWN0aXZlIHN0ZXAgLS0+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInB4LTYgcHktNCBmbGV4IGl0ZW1zLWNlbnRlciB0ZXh0LXNtIGZvbnQtbWVkaXVtXCJcbiAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwic3RlcC5zdGF0ZSA9PT0gU3RlcFN0YXRlLkFjdGl2ZVwiPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZsZXgtc2hyaW5rLTAgdy0xMCBoLTEwIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGJvcmRlci0yIGJvcmRlci1ibHVlLTYwMCByb3VuZGVkLWZ1bGxcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1ibHVlLTYwMFwiPnt7IChzdGVwLmluZGV4ICsgMSkgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtbC00IHRleHQtc20gZm9udC1tZWRpdW0gdGV4dC1ibHVlLTYwMFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwic3RlcC5zdGVwTGFiZWxcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwic3RlcC5zdGVwTGFiZWwudGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwhLS0gVXBjb21pbmcgc3RlcCAtLT5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ3JvdXAgZmxleCBpdGVtcy1jZW50ZXJcIlxuICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJzdGVwLnN0YXRlID09PSBTdGVwU3RhdGUuVXBjb21pbmdcIj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJweC02IHB5LTQgZmxleCBpdGVtcy1jZW50ZXIgdGV4dC1zbSBmb250LW1lZGl1bVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmbGV4LXNocmluay0wIHctMTAgaC0xMCBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBib3JkZXItMiBib3JkZXItZ3JheS0zMDAgcm91bmRlZC1mdWxsIGdyb3VwLWhvdmVyOmJvcmRlci1ncmF5LTQwMFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1ncmF5LTUwMCBncm91cC1ob3Zlcjp0ZXh0LWdyYXktOTAwXCI+e3sgKHN0ZXAuaW5kZXggKyAxKSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWwtNCB0ZXh0LXNtIGZvbnQtbWVkaXVtIHRleHQtZ3JheS01MDAgZ3JvdXAtaG92ZXI6dGV4dC1ncmF5LTkwMFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInN0ZXAuc3RlcExhYmVsXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJzdGVwLnN0ZXBMYWJlbC50ZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPCEtLSBBcnJvdyBzZXBhcmF0b3IgZm9yIGxnIHNjcmVlbnMgYW5kIHVwIC0tPlxuICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIhc3RlcC5pc0xhc3RcIlxuICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJoaWRkZW4gbWQ6YmxvY2sgYWJzb2x1dGUgdG9wLTAgcmlnaHQtMCBoLWZ1bGwgdy01XCJcbiAgICAgICAgICAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPlxuICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPVwiaC1mdWxsIHctZnVsbCB0ZXh0LWdyYXktMzAwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDIyIDgwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgcHJlc2VydmVBc3BlY3RSYXRpbz1cIm5vbmVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMCAtMkwyMCA0MEwwIDgyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZlY3Rvci1lZmZlY3Q9XCJub24tc2NhbGluZy1zdHJva2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiY3VycmVudGNvbG9yXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2xpPlxuICAgICAgICA8L29sPlxuICAgIDwvbmF2PlxuICAgIDwhLS0gUGFuZWxzIFdpdGggQm9yZGVyIC0tPlxuICAgIDxkaXYgY2xhc3M9XCJwYW5lbHMtd2l0aC1ib3JkZXItY29udGFpbmVyXCJcbiAgICAgICAgICpuZ1N3aXRjaENhc2U9XCJTdGVwcGVyVHlwZS5QYW5lbHNXaXRoQm9yZGVyXCI+XG4gICAgICAgIDxuYXYgY2xhc3M9XCJwYW5lbHMtd2l0aC1ib3JkZXItbmF2XCJcbiAgICAgICAgICAgICBhcmlhLWxhYmVsPVwiUHJvZ3Jlc3NcIj5cbiAgICAgICAgICAgIDxvbCByb2xlPVwibGlzdFwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJwYW5lbHMtd2l0aC1ib3JkZXItb2xcIj5cbiAgICAgICAgICAgICAgICA8bGkgKm5nRm9yPVwibGV0IHN0ZXAgb2Ygc3RlcHNcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25TZWxlY3RTdGVwKHN0ZXApXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJwYW5lbHMtd2l0aC1ib3JkZXItbGlcIj5cbiAgICAgICAgICAgICAgICAgICAgPCEtLSBDb21wbGV0ZWQgU3RlcCAtLT5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBhbmVscy13aXRoLWJvcmRlci1jb21wbGV0ZWQtc3RlcFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJzdGVwLnN0YXRlID09PSBTdGVwU3RhdGUuQ29tcGxldGVkXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ3JvdXBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInBhbmVscy13aXRoLWJvcmRlci1jb21wbGV0ZWQtc3RlcC1sZXZlbDFcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInBhbmVscy13aXRoLWJvcmRlci1jb21wbGV0ZWQtc3RlcC1sZXZlbDJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJwYW5lbHMtd2l0aC1ib3JkZXItY29tcGxldGVkLXN0ZXAtbGV2ZWwyMVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJwYW5lbHMtd2l0aC1ib3JkZXItY29tcGxldGVkLXN0ZXAtbGV2ZWwyMTFcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPVwidy02IGgtNiB0ZXh0LXdoaXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAyMCAyMFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwiY3VycmVudENvbG9yXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBmaWxsLXJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0xNi43MDcgNS4yOTNhMSAxIDAgMDEwIDEuNDE0bC04IDhhMSAxIDAgMDEtMS40MTQgMGwtNC00YTEgMSAwIDAxMS40MTQtMS40MTRMOCAxMi41ODZsNy4yOTMtNy4yOTNhMSAxIDAgMDExLjQxNCAwelwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsaXAtcnVsZT1cImV2ZW5vZGRcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicGFuZWxzLXdpdGgtYm9yZGVyLWNvbXBsZXRlZC1zdGVwLWxldmVsMjJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicGFuZWxzLXdpdGgtYm9yZGVyLWNvbXBsZXRlZC1zdGVwLWxldmVsMjIxXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwic3RlcC5zdGVwTGFiZWxcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInN0ZXAuc3RlcExhYmVsLnRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInBhbmVscy13aXRoLWJvcmRlci1jb21wbGV0ZWQtc3RlcC1sZXZlbDIyMlwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInN0ZXAuc3RlcEluZm9cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInN0ZXAuc3RlcEluZm8udGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPCEtLSBBY3RpdmUgU3RlcCAtLT5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBhbmVscy13aXRoLWJvcmRlci1hY3RpdmUtc3RlcFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJzdGVwLnN0YXRlID09PSBTdGVwU3RhdGUuQWN0aXZlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGFyaWEtY3VycmVudD1cInN0ZXBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInBhbmVscy13aXRoLWJvcmRlci1hY3RpdmUtc3RlcC1sZXZlbDFcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInBhbmVscy13aXRoLWJvcmRlci1hY3RpdmUtc3RlcC1sZXZlbDJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJwYW5lbHMtd2l0aC1ib3JkZXItYWN0aXZlLXN0ZXAtbGV2ZWwyMVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJwYW5lbHMtd2l0aC1ib3JkZXItYWN0aXZlLXN0ZXAtbGV2ZWwyMTFcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInBhbmVscy13aXRoLWJvcmRlci1hY3RpdmUtc3RlcC1sZXZlbDIxMS10ZXh0XCI+e3sgc3RlcC5pbmRleCArIDEgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJwYW5lbHMtd2l0aC1ib3JkZXItYWN0aXZlLXN0ZXAtbGV2ZWwyMlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJwYW5lbHMtd2l0aC1ib3JkZXItYWN0aXZlLXN0ZXAtbGV2ZWwyMjFcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJzdGVwLnN0ZXBMYWJlbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwic3RlcC5zdGVwTGFiZWwudGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicGFuZWxzLXdpdGgtYm9yZGVyLWFjdGl2ZS1zdGVwLWxldmVsMjIyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwic3RlcC5zdGVwSW5mb1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwic3RlcC5zdGVwSW5mby50ZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8IS0tIFNlcGFyYXRvciAtLT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwYW5lbHMtd2l0aC1ib3JkZXItc3RlcC1zZXBhcmF0b3JcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInN0ZXAuaW5kZXggIT09IDBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPVwiaC1mdWxsIHctZnVsbCB0ZXh0LWdyYXktMzAwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMTIgODJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJlc2VydmVBc3BlY3RSYXRpbz1cIm5vbmVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0wLjUgMFYzMUwxMC41IDQxTDAuNSA1MVY4MlwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cImN1cnJlbnRjb2xvclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZlY3Rvci1lZmZlY3Q9XCJub24tc2NhbGluZy1zdHJva2VcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8IS0tIFVwY29taW5nIFN0ZXAgLS0+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwYW5lbHMtd2l0aC1ib3JkZXItdXBjb21pbmctc3RlcFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJzdGVwLnN0YXRlID09PSBTdGVwU3RhdGUuVXBjb21pbmdcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJncm91cFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicGFuZWxzLXdpdGgtYm9yZGVyLXVwY29taW5nLXN0ZXAtbGV2ZWwxXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJwYW5lbHMtd2l0aC1ib3JkZXItdXBjb21pbmctc3RlcC1sZXZlbDJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJwYW5lbHMtd2l0aC1ib3JkZXItdXBjb21pbmctc3RlcC1sZXZlbDIxXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInBhbmVscy13aXRoLWJvcmRlci11cGNvbWluZy1zdGVwLWxldmVsMjExXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJwYW5lbHMtd2l0aC1ib3JkZXItdXBjb21pbmctc3RlcC1sZXZlbDIxMS10ZXh0XCI+e3sgc3RlcC5pbmRleCArIDEgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJwYW5lbHMtd2l0aC1ib3JkZXItdXBjb21pbmctc3RlcC1sZXZlbDIyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInBhbmVscy13aXRoLWJvcmRlci11cGNvbWluZy1zdGVwLWxldmVsMjIxXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwic3RlcC5zdGVwTGFiZWxcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInN0ZXAuc3RlcExhYmVsLnRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtc20gZm9udC1tZWRpdW0gdGV4dC1ncmF5LTUwMFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInN0ZXAuc3RlcEluZm9cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInN0ZXAuc3RlcEluZm8udGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBTZXBhcmF0b3IgLS0+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicGFuZWxzLXdpdGgtYm9yZGVyLXN0ZXAtc2VwYXJhdG9yXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJzdGVwLmluZGV4ICE9PSAwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz1cImgtZnVsbCB3LWZ1bGwgdGV4dC1ncmF5LTMwMFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDEyIDgyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByZXNlcnZlQXNwZWN0UmF0aW89XCJub25lXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMC41IDBWMzFMMTAuNSA0MUwwLjUgNTFWODJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCJjdXJyZW50Y29sb3JcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2ZWN0b3ItZWZmZWN0PVwibm9uLXNjYWxpbmctc3Ryb2tlXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgPC9vbD5cbiAgICAgICAgPC9uYXY+XG4gICAgPC9kaXY+XG4gICAgPCEtLSBQcm9ncmVzcyAtLT5cbiAgICA8ZGl2ICpuZ1N3aXRjaENhc2U9XCJTdGVwcGVyVHlwZS5Qcm9ncmVzc1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibXQtNlwiXG4gICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYmctZ3JheS0yMDAgcm91bmRlZC1mdWxsIG92ZXJmbG93LWhpZGRlblwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoLTIgYmctYmx1ZS02MDAgcm91bmRlZC1mdWxsXCJcbiAgICAgICAgICAgICAgICAgICAgIFtzdHlsZS53aWR0aF09XCIoKChjdXJyZW50U3RlcEluZGV4ICsgMSkgLyBzdGVwcy5sZW5ndGgpICogMTAwKSArICclJ1wiPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaGlkZGVuIHNtOmdyaWQgZ3JpZC1jb2xzLTQgdGV4dC1zbSBmb250LW1lZGl1bSB0ZXh0LWdyYXktNjAwIG10LTZcIj5cbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBzdGVwIG9mIHN0ZXBzXCJcbiAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvblNlbGVjdFN0ZXAoc3RlcClcIlxuICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0ZXh0LWJsdWUtNjAwIGN1cnNvci1wb2ludGVyXCI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzdGVwLnN0ZXBMYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwic3RlcC5zdGVwTGFiZWwudGVtcGxhdGVcIj5cbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPCEtLSBTaW1wbGUgLS0+XG4gICAgPG5hdiBhcmlhLWxhYmVsPVwiUHJvZ3Jlc3NcIlxuICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIlN0ZXBwZXJUeXBlLlNpbXBsZVwiPlxuICAgICAgICA8b2wgcm9sZT1cImxpc3RcIlxuICAgICAgICAgICAgY2xhc3M9XCJzcGFjZS15LTQgbWQ6ZmxleCBtZDpzcGFjZS15LTAgbWQ6c3BhY2UteC04XCI+XG4gICAgICAgICAgICA8bGkgKm5nRm9yPVwibGV0IHN0ZXAgb2Ygc3RlcHNcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJvblNlbGVjdFN0ZXAoc3RlcClcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwibWQ6ZmxleC0xIGN1cnNvci1wb2ludGVyXCI+XG4gICAgICAgICAgICAgICAgPCEtLSBDb21wbGV0ZWQgU3RlcCAtLT5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ3JvdXAgcGwtNCBweS0yIGZsZXggZmxleC1jb2wgYm9yZGVyLWwtNCBib3JkZXItYmx1ZS02MDAgaG92ZXI6Ym9yZGVyLWJsdWUtODAwIG1kOnBsLTAgbWQ6cHQtNCBtZDpwYi0wIG1kOmJvcmRlci1sLTAgbWQ6Ym9yZGVyLXQtNFwiXG4gICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInN0ZXAuc3RhdGUgPT09IFN0ZXBTdGF0ZS5Db21wbGV0ZWRcIj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXhzIHRleHQtYmx1ZS02MDAgZm9udC1zZW1pYm9sZCB0cmFja2luZy13aWRlIHVwcGVyY2FzZSBncm91cC1ob3Zlcjp0ZXh0LWJsdWUtODAwXCI+U3RlcCB7eyBzdGVwLmluZGV4ICsgMSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXNtIGZvbnQtbWVkaXVtXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJzdGVwLnN0ZXBMYWJlbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJzdGVwLnN0ZXBMYWJlbC50ZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPCEtLSBBY3RpdmUgU3RlcCAtLT5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicGwtNCBweS0yIGZsZXggZmxleC1jb2wgYm9yZGVyLWwtNCBib3JkZXItYmx1ZS02MDAgbWQ6cGwtMCBtZDpwdC00IG1kOnBiLTAgbWQ6Ym9yZGVyLWwtMCBtZDpib3JkZXItdC00XCJcbiAgICAgICAgICAgICAgICAgICAgIGFyaWEtY3VycmVudD1cInN0ZXBcIlxuICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJzdGVwLnN0YXRlID09PSBTdGVwU3RhdGUuQWN0aXZlXCI+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC14cyB0ZXh0LWJsdWUtNjAwIGZvbnQtc2VtaWJvbGQgdHJhY2tpbmctd2lkZSB1cHBlcmNhc2VcIj5TdGVwIHt7IHN0ZXAuaW5kZXggKyAxIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtc20gZm9udC1tZWRpdW1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInN0ZXAuc3RlcExhYmVsXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInN0ZXAuc3RlcExhYmVsLnRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8IS0tIFVwY29taW5nIFN0ZXAgLS0+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImdyb3VwIHBsLTQgcHktMiBmbGV4IGZsZXgtY29sIGJvcmRlci1sLTQgYm9yZGVyLWdyYXktMjAwIGhvdmVyOmJvcmRlci1ncmF5LTMwMCBtZDpwbC0wIG1kOnB0LTQgbWQ6cGItMCBtZDpib3JkZXItbC0wIG1kOmJvcmRlci10LTRcIlxuICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJzdGVwLnN0YXRlID09PSBTdGVwU3RhdGUuVXBjb21pbmdcIj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXhzIHRleHQtZ3JheS01MDAgZm9udC1zZW1pYm9sZCB0cmFja2luZy13aWRlIHVwcGVyY2FzZSBncm91cC1ob3Zlcjp0ZXh0LWdyYXktNzAwXCI+U3RlcCB7eyBzdGVwLmluZGV4ICsgMSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXNtIGZvbnQtbWVkaXVtXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJzdGVwLnN0ZXBMYWJlbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJzdGVwLnN0ZXBMYWJlbC50ZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2xpPlxuICAgICAgICA8L29sPlxuICAgIDwvbmF2PlxuPC9uZy1jb250YWluZXI+XG48bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBzdGVwIG9mIHN0ZXBzXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInN0ZXAuc3RhdGUgPT09IFN0ZXBTdGF0ZS5BY3RpdmVcIlxuICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwic3RlcC5jb250ZW50XCI+XG4gICAgPC9uZy1jb250YWluZXI+XG48L25nLWNvbnRhaW5lcj4iXX0=
@@ -0,0 +1,4 @@
1
+ /** Change event emitted on step changes. */
2
+ export class StepSelectedEvent {
3
+ }
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcC1zZWxlY3RlZC1ldmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWNvbXBvbmVudHMvc3JjL2xpYi9jb250cm9scy9zdGVwcGVyL3R5cGVzL3N0ZXAtc2VsZWN0ZWQtZXZlbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsNENBQTRDO0FBQzVDLE1BQU0sT0FBTyxpQkFBaUI7Q0FTN0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMaWJTdGVwQ29tcG9uZW50IH0gZnJvbSAnLi4vbGliLXN0ZXAuY29tcG9uZW50JztcblxuLyoqIENoYW5nZSBldmVudCBlbWl0dGVkIG9uIHN0ZXAgY2hhbmdlcy4gKi9cbmV4cG9ydCBjbGFzcyBTdGVwU2VsZWN0ZWRFdmVudCB7XG4gICAgLyoqIEluZGV4IG9mIHRoZSBzdGVwIG5vdyBzZWxlY3RlZC4gKi9cbiAgICBwdWJsaWMgc2VsZWN0ZWRJbmRleCE6IG51bWJlcjtcbiAgICAvKiogSW5kZXggb2YgdGhlIHN0ZXAgcHJldmlvdXNseSBzZWxlY3RlZC4gKi9cbiAgICBwdWJsaWMgcHJldmlvdXNseVNlbGVjdGVkSW5kZXg6IG51bWJlciB8IHVuZGVmaW5lZDtcbiAgICAvKiogVGhlIHN0ZXAgaW5zdGFuY2Ugbm93IHNlbGVjdGVkLiAqL1xuICAgIHB1YmxpYyBzZWxlY3RlZFN0ZXAhOiBMaWJTdGVwQ29tcG9uZW50O1xuICAgIC8qKiBUaGUgc3RlcCBpbnN0YW5jZSBwcmV2aW91c2x5IHNlbGVjdGVkLiAqL1xuICAgIHB1YmxpYyBwcmV2aW91c2x5U2VsZWN0ZWRTdGVwOiBMaWJTdGVwQ29tcG9uZW50IHwgdW5kZWZpbmVkO1xufVxuIl19
@@ -1,12 +1,12 @@
1
- export var StepperType;
2
- (function (StepperType) {
3
- StepperType["Bullets"] = "Bullets";
4
- StepperType["BulletsAndText"] = "BulletsAndText";
5
- StepperType["Circles"] = "Circles";
6
- StepperType["CirclesWithText"] = "CirclesWithText";
7
- StepperType["Panels"] = "Panels";
8
- StepperType["PanelsWithBorder"] = "PanelsWithBorder";
9
- StepperType["Progress"] = "Progress";
10
- StepperType["Simple"] = "Simple";
11
- })(StepperType || (StepperType = {}));
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcHBlci10eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctY29tcG9uZW50cy9zcmMvbGliL2NvbnRyb2xzL3N0ZXBwZXIvdHlwZXMvc3RlcHBlci10eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLFdBU1g7QUFURCxXQUFZLFdBQVc7SUFDbkIsa0NBQW1CLENBQUE7SUFDbkIsZ0RBQWlDLENBQUE7SUFDakMsa0NBQW1CLENBQUE7SUFDbkIsa0RBQW1DLENBQUE7SUFDbkMsZ0NBQWlCLENBQUE7SUFDakIsb0RBQXFDLENBQUE7SUFDckMsb0NBQXFCLENBQUE7SUFDckIsZ0NBQWlCLENBQUE7QUFDckIsQ0FBQyxFQVRXLFdBQVcsS0FBWCxXQUFXLFFBU3RCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gU3RlcHBlclR5cGUge1xyXG4gICAgQnVsbGV0cyA9ICdCdWxsZXRzJyxcclxuICAgIEJ1bGxldHNBbmRUZXh0ID0gJ0J1bGxldHNBbmRUZXh0JyxcclxuICAgIENpcmNsZXMgPSAnQ2lyY2xlcycsXHJcbiAgICBDaXJjbGVzV2l0aFRleHQgPSAnQ2lyY2xlc1dpdGhUZXh0JyxcclxuICAgIFBhbmVscyA9ICdQYW5lbHMnLFxyXG4gICAgUGFuZWxzV2l0aEJvcmRlciA9ICdQYW5lbHNXaXRoQm9yZGVyJyxcclxuICAgIFByb2dyZXNzID0gJ1Byb2dyZXNzJyxcclxuICAgIFNpbXBsZSA9ICdTaW1wbGUnXHJcbn0iXX0=
1
+ export var StepperType;
2
+ (function (StepperType) {
3
+ StepperType["Bullets"] = "Bullets";
4
+ StepperType["BulletsAndText"] = "BulletsAndText";
5
+ StepperType["Circles"] = "Circles";
6
+ StepperType["CirclesWithText"] = "CirclesWithText";
7
+ StepperType["Panels"] = "Panels";
8
+ StepperType["PanelsWithBorder"] = "PanelsWithBorder";
9
+ StepperType["Progress"] = "Progress";
10
+ StepperType["Simple"] = "Simple";
11
+ })(StepperType || (StepperType = {}));
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcHBlci10eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctY29tcG9uZW50cy9zcmMvbGliL2NvbnRyb2xzL3N0ZXBwZXIvdHlwZXMvc3RlcHBlci10eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLFdBU1g7QUFURCxXQUFZLFdBQVc7SUFDbkIsa0NBQW1CLENBQUE7SUFDbkIsZ0RBQWlDLENBQUE7SUFDakMsa0NBQW1CLENBQUE7SUFDbkIsa0RBQW1DLENBQUE7SUFDbkMsZ0NBQWlCLENBQUE7SUFDakIsb0RBQXFDLENBQUE7SUFDckMsb0NBQXFCLENBQUE7SUFDckIsZ0NBQWlCLENBQUE7QUFDckIsQ0FBQyxFQVRXLFdBQVcsS0FBWCxXQUFXLFFBU3RCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gU3RlcHBlclR5cGUge1xuICAgIEJ1bGxldHMgPSAnQnVsbGV0cycsXG4gICAgQnVsbGV0c0FuZFRleHQgPSAnQnVsbGV0c0FuZFRleHQnLFxuICAgIENpcmNsZXMgPSAnQ2lyY2xlcycsXG4gICAgQ2lyY2xlc1dpdGhUZXh0ID0gJ0NpcmNsZXNXaXRoVGV4dCcsXG4gICAgUGFuZWxzID0gJ1BhbmVscycsXG4gICAgUGFuZWxzV2l0aEJvcmRlciA9ICdQYW5lbHNXaXRoQm9yZGVyJyxcbiAgICBQcm9ncmVzcyA9ICdQcm9ncmVzcycsXG4gICAgU2ltcGxlID0gJ1NpbXBsZSdcbn0iXX0=