@ti-tecnologico-de-monterrey-oficial/ds-ng 1.5.1020 → 1.5.1118

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 (435) hide show
  1. package/assets/images/gif/mitecLogoIntroMobile.gif +0 -0
  2. package/assets/images/gif/mitecLogoIntroWeb.gif +0 -0
  3. package/assets/images/lang-flags/mx.svg +392 -0
  4. package/assets/images/lang-flags/us.svg +13 -0
  5. package/assets/styles/main.min.css +1 -1
  6. package/assets/styles/main.min.css.map +1 -1
  7. package/assets/svg/neutral_fill.svg +1 -0
  8. package/assets/svg/primary_fill.svg +1 -0
  9. package/esm2022/lib/components/bmb-academic-progress/bmb-academic-progress.component.mjs +87 -0
  10. package/esm2022/lib/components/bmb-accordion/bmb-accordion.component.mjs +159 -0
  11. package/esm2022/lib/components/bmb-account-statement/bmb-account-statement.component.mjs +150 -0
  12. package/esm2022/lib/components/bmb-action-icon/bmb-action-icon.component.mjs +49 -0
  13. package/esm2022/lib/components/bmb-action-menu/bmb-action-menu.component.mjs +31 -0
  14. package/esm2022/lib/components/bmb-advertisement-card/bmb-advertisement-card.component.mjs +35 -0
  15. package/esm2022/lib/components/bmb-advertisement-card/types.mjs +2 -0
  16. package/esm2022/lib/components/bmb-alert-center/bmb-alert-center-ads/bmb-alert-center-ads.component.mjs +40 -0
  17. package/esm2022/lib/components/bmb-alert-center/bmb-alert-center-empty/bmb-alert-center-empty.component.mjs +18 -0
  18. package/esm2022/lib/components/bmb-alert-center/bmb-alert-center-form/bmb-alert-center-form.component.mjs +148 -0
  19. package/esm2022/lib/components/bmb-alert-center/bmb-alert-center-list/bmb-alert-center-list.component.mjs +52 -0
  20. package/esm2022/lib/components/bmb-alert-center/bmb-alert-center.component.mjs +196 -0
  21. package/esm2022/lib/components/bmb-alert-center/bmb-alert-center.service.mjs +62 -0
  22. package/esm2022/lib/components/bmb-alert-center/types.mjs +2 -0
  23. package/esm2022/lib/components/bmb-badge/bmb-badge.component.mjs +26 -0
  24. package/esm2022/lib/components/bmb-balance-overview/bmb-balance-overview.component.mjs +26 -0
  25. package/esm2022/lib/components/bmb-bookmark/bmb-bookmark.component.mjs +27 -0
  26. package/esm2022/lib/components/bmb-bottom-navigation-bar/bmb-bottom-navigation-bar.component.mjs +42 -0
  27. package/esm2022/lib/components/bmb-breadcrumb/bmb-breadcrumb.component.mjs +55 -0
  28. package/esm2022/lib/components/bmb-button-icon/bmb-button-icon.component.mjs +30 -0
  29. package/esm2022/lib/components/bmb-calendar/bmb-calendar.component.mjs +262 -0
  30. package/esm2022/lib/components/bmb-calendar/common/bmb-calendar-header/bmb-calendar-header.component.mjs +95 -0
  31. package/esm2022/lib/components/bmb-calendar/common/bmb-calendar-hour-view/bmb-calendar-hour-view.component.mjs +40 -0
  32. package/esm2022/lib/components/bmb-calendar/common/bmb-calendar-schedule-cards/bmb-calendar-schedule-cards.component.mjs +68 -0
  33. package/esm2022/lib/components/bmb-calendar/common/bmb-calendar-template-day/bmb-calendar-template-day.component.mjs +41 -0
  34. package/esm2022/lib/components/bmb-calendar/common/bmb-calendar-template-event-list/bmb-calendar-template-event-list.component.mjs +63 -0
  35. package/esm2022/lib/components/bmb-calendar/common/bmb-calendar-template-mobile/bmb-calendar-template-mobile.component.mjs +95 -0
  36. package/esm2022/lib/components/bmb-calendar/common/bmb-calendar-template-month/bmb-calendar-template-month.component.mjs +45 -0
  37. package/esm2022/lib/components/bmb-calendar/common/bmb-calendar-template-week/bmb-calendar-template-week.component.mjs +54 -0
  38. package/esm2022/lib/components/bmb-calendar/common/bmb-calendar-time-indicator/bmb-calendar-time-indicator.component.mjs +24 -0
  39. package/esm2022/lib/components/bmb-calendar/types.mjs +2 -0
  40. package/esm2022/lib/components/bmb-calendar/utils.mjs +96 -0
  41. package/esm2022/lib/components/bmb-card/bmb-card.component.mjs +154 -0
  42. package/esm2022/lib/components/bmb-card-button/bmb-card-button.component.mjs +76 -0
  43. package/esm2022/lib/components/bmb-carousel/bmb-carousel.component.mjs +80 -0
  44. package/esm2022/lib/components/bmb-chat-bar/bmb-chat-bar.component.mjs +175 -0
  45. package/esm2022/lib/components/bmb-chat-bar/bot_list.mjs +57 -0
  46. package/esm2022/lib/components/bmb-chat-bar/types.mjs +2 -0
  47. package/esm2022/lib/components/bmb-chat-bubbles/bmb-chat-bubbles.component.mjs +56 -0
  48. package/esm2022/lib/components/bmb-chat-bubbles/types.mjs +2 -0
  49. package/esm2022/lib/components/bmb-check-external-link-button/bmb-check-external-link-button.component.mjs +46 -0
  50. package/esm2022/lib/components/bmb-checkbox/bmb-checkbox.component.mjs +80 -0
  51. package/esm2022/lib/components/bmb-chevron-title-selector/bmb-chevron-title-selector.component.mjs +36 -0
  52. package/esm2022/lib/components/bmb-container/bmb-container.component.mjs +27 -0
  53. package/esm2022/lib/components/bmb-container-button/bmb-container-button.component.mjs +83 -0
  54. package/esm2022/lib/components/bmb-date-range/bmb-date-range.component.mjs +69 -0
  55. package/esm2022/lib/components/bmb-datepicker/bmb-datepicker-modal/bmb-datepicker-modal.component.mjs +211 -0
  56. package/esm2022/lib/components/bmb-datepicker/bmb-datepicker.component.mjs +123 -0
  57. package/esm2022/lib/components/bmb-digital-id/bmb-digital-id.component.mjs +54 -0
  58. package/esm2022/lib/components/bmb-divider/bmb-divider.component.mjs +25 -0
  59. package/esm2022/lib/components/bmb-dot-paginator/bmb-dot-paginator.component.mjs +34 -0
  60. package/esm2022/lib/components/bmb-drawer-overlay/bmb-drawer-overlay.component.mjs +54 -0
  61. package/esm2022/lib/components/bmb-dropdown/bmb-dropdown.component.mjs +200 -0
  62. package/esm2022/lib/components/bmb-dropdown-menu/bmb-dropdown-menu.component.mjs +28 -0
  63. package/esm2022/lib/components/bmb-dropzone/bmb-dropzone.component.mjs +175 -0
  64. package/esm2022/lib/components/bmb-evaluation-rubric/bmb-evaluation-rubric.component.mjs +76 -0
  65. package/esm2022/lib/components/bmb-external-link/bmb-external-link.component.mjs +78 -0
  66. package/esm2022/lib/components/bmb-fab/bmb-fab-.interface.mjs +9 -0
  67. package/esm2022/lib/components/bmb-fab/bmb-fab.component.mjs +37 -0
  68. package/esm2022/lib/components/bmb-filter-card/bmb-filter-card.component.mjs +154 -0
  69. package/esm2022/lib/components/bmb-filter-card/bmb-filter-card.interface.mjs +2 -0
  70. package/esm2022/lib/components/bmb-focus-element/bmb-focus-element.component.mjs +36 -0
  71. package/esm2022/lib/components/bmb-form-validation/bmb-form-validation.component.mjs +159 -0
  72. package/esm2022/lib/components/bmb-form-validator/bmb-form-validator.component.mjs +159 -0
  73. package/esm2022/lib/components/bmb-frequent-apps-selector/bmb-frequent-apps-selector.component.mjs +29 -0
  74. package/esm2022/lib/components/bmb-grade-value/bmb-grade-value.component.mjs +22 -0
  75. package/esm2022/lib/components/bmb-grades/bmb-grades.component.mjs +181 -0
  76. package/esm2022/lib/components/bmb-grades/types.mjs +2 -0
  77. package/esm2022/lib/components/bmb-header-mitec/bmb-header-mitec.component.mjs +55 -0
  78. package/esm2022/lib/components/bmb-header-mobile/bmb-header-mobile.component.mjs +49 -0
  79. package/esm2022/lib/components/bmb-hito-card/bmb-hito-card.component.mjs +77 -0
  80. package/esm2022/lib/components/bmb-hito-list/bmb-hito-list.component.mjs +59 -0
  81. package/esm2022/lib/components/bmb-home-card/bmb-home-card-header/bmb-home-card-header.component.mjs +76 -0
  82. package/esm2022/lib/components/bmb-home-card/bmb-home-card.component.mjs +41 -0
  83. package/esm2022/lib/components/bmb-home-card-chat/bmb-home-card-chat.component.mjs +39 -0
  84. package/esm2022/lib/components/bmb-home-section/bmb-home-section.component.mjs +20 -0
  85. package/esm2022/lib/components/bmb-icon/bmb-icon.component.mjs +49 -0
  86. package/esm2022/lib/components/bmb-icon/types.mjs +2 -0
  87. package/esm2022/lib/components/bmb-icon-item/bmb-icon-item.component.mjs +23 -0
  88. package/esm2022/lib/components/bmb-icon-status/bmb-icon-status.component.mjs +24 -0
  89. package/esm2022/lib/components/bmb-iframe/bmb-iframe.component.mjs +19 -0
  90. package/esm2022/lib/components/bmb-iframe/bmb-iframe.pipe.mjs +21 -0
  91. package/esm2022/lib/components/bmb-image/bmb-image.component.mjs +33 -0
  92. package/esm2022/lib/components/bmb-inner-header/bmb-inner-header.component.mjs +77 -0
  93. package/esm2022/lib/components/bmb-input/bmb-input-content/bmb-input-content.component.mjs +147 -0
  94. package/esm2022/lib/components/bmb-input/bmb-input-validation/bmb-input-validation.component.mjs +162 -0
  95. package/esm2022/lib/components/bmb-input/bmb-input-validation/bmb-input-validation.service.mjs +116 -0
  96. package/esm2022/lib/components/bmb-input/bmb-input-validator/bmb-input-validator.component.mjs +178 -0
  97. package/esm2022/lib/components/bmb-input/bmb-input.component.mjs +85 -0
  98. package/esm2022/lib/components/bmb-input-phone-number/bmb-input-phone-number.component.mjs +219 -0
  99. package/esm2022/lib/components/bmb-input-tags/bmb-input-tags.component.mjs +191 -0
  100. package/esm2022/lib/components/bmb-interactive-icon/bmb-interactive-icon.component.mjs +54 -0
  101. package/esm2022/lib/components/bmb-invoice/bmb-invoice.component.mjs +34 -0
  102. package/esm2022/lib/components/bmb-item/bmb-item.component.mjs +28 -0
  103. package/esm2022/lib/components/bmb-legend/bmb-legend.component.mjs +23 -0
  104. package/esm2022/lib/components/bmb-list-group/bmb-list-group-item/bmb-list-group-item.component.mjs +83 -0
  105. package/esm2022/lib/components/bmb-list-group/bmb-list-group.component.mjs +60 -0
  106. package/esm2022/lib/components/bmb-list-group/bmb-list-group.service.mjs +55 -0
  107. package/esm2022/lib/components/bmb-list-group/types.mjs +2 -0
  108. package/esm2022/lib/components/bmb-list-items/bmb-list-items.component.mjs +83 -0
  109. package/esm2022/lib/components/bmb-loader/bmb-loader.component.mjs +77 -0
  110. package/esm2022/lib/components/bmb-login/bmb-login-content/bmb-login-content.component.mjs +55 -0
  111. package/esm2022/lib/components/bmb-login/bmb-login.component.mjs +66 -0
  112. package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding-logged/bmb-login-onboarding-logged.component.mjs +40 -0
  113. package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding-login/bmb-login-onboarding-login.component.mjs +20 -0
  114. package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding-logout/bmb-login-onboarding-logout.component.mjs +33 -0
  115. package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding-stepper/bmb-login-onboarding-stepper-steps/bmb-login-onboarding-stepper-step-four.component.mjs +87 -0
  116. package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding-stepper/bmb-login-onboarding-stepper-steps/bmb-login-onboarding-stepper-step-one.component.mjs +88 -0
  117. package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding-stepper/bmb-login-onboarding-stepper-steps/bmb-login-onboarding-stepper-step-three.component.mjs +57 -0
  118. package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding-stepper/bmb-login-onboarding-stepper-steps/bmb-login-onboarding-stepper-step-two.component.mjs +99 -0
  119. package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding-stepper/bmb-login-onboarding-stepper-steps/bmb-login-onboarding-stepper-step.component.mjs +39 -0
  120. package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding-stepper/bmb-login-onboarding-stepper.component.mjs +44 -0
  121. package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding.component.mjs +52 -0
  122. package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding.service.mjs +70 -0
  123. package/esm2022/lib/components/bmb-login-onboarding/types.mjs +2 -0
  124. package/esm2022/lib/components/bmb-logo/bmb-logo.component.mjs +43 -0
  125. package/esm2022/lib/components/bmb-media-card/bmb-media-card.component.mjs +64 -0
  126. package/esm2022/lib/components/bmb-mitec-logo-animation/bmb-mitec-logo-animation.component.mjs +14 -0
  127. package/esm2022/lib/components/bmb-mobile-templates/bmb-mobile-templates.component.mjs +88 -0
  128. package/esm2022/lib/components/bmb-modal/bmb-modal.component.mjs +139 -0
  129. package/esm2022/lib/components/bmb-modal/bmb-modal.interface.mjs +2 -0
  130. package/esm2022/lib/components/bmb-modal/bmb-native-modal.component.mjs +84 -0
  131. package/esm2022/lib/components/bmb-multi-dot-paginator/bmb-multi-dot-paginator-item/bmb-multi-dot-paginator-item.component.mjs +15 -0
  132. package/esm2022/lib/components/bmb-multi-dot-paginator/bmb-multi-dot-paginator.component.mjs +59 -0
  133. package/esm2022/lib/components/bmb-navigation-bar/bmb-navigation-bar.component.mjs +30 -0
  134. package/esm2022/lib/components/bmb-notice-card/bmb-notice-card.component.mjs +43 -0
  135. package/esm2022/lib/components/bmb-notification-card/bmb-notification-card.component.mjs +86 -0
  136. package/esm2022/lib/components/bmb-overlay/bmb-overlay.component.mjs +22 -0
  137. package/esm2022/lib/components/bmb-paginator/bmb-paginator.component.mjs +52 -0
  138. package/esm2022/lib/components/bmb-portal/bmb-portal.component.mjs +52 -0
  139. package/esm2022/lib/components/bmb-profile/bmb-profile.component.mjs +153 -0
  140. package/esm2022/lib/components/bmb-progress-bar/bmb-progress-bar.component.mjs +39 -0
  141. package/esm2022/lib/components/bmb-progress-cirlce/bmb-progress-circle.component.mjs +196 -0
  142. package/esm2022/lib/components/bmb-progress-cirlce/bmb-progress-circle.interface.mjs +2 -0
  143. package/esm2022/lib/components/bmb-pull-wedge/bmb-pull-wedge.component.mjs +88 -0
  144. package/esm2022/lib/components/bmb-push-notification/bmb-push-notification-item/bmb-push-notification-item.component.mjs +75 -0
  145. package/esm2022/lib/components/bmb-push-notification/bmb-push-notification.component.mjs +24 -0
  146. package/esm2022/lib/components/bmb-push-notification/types.mjs +2 -0
  147. package/esm2022/lib/components/bmb-radial/bmb-radial.component.mjs +78 -0
  148. package/esm2022/lib/components/bmb-search-input/bmb-search-input.component.mjs +117 -0
  149. package/esm2022/lib/components/bmb-select/bmb-select-item/bmb-select-item.component.mjs +16 -0
  150. package/esm2022/lib/components/bmb-select/bmb-select.component.mjs +55 -0
  151. package/esm2022/lib/components/bmb-server-table/bmb-server-table.component.mjs +82 -0
  152. package/esm2022/lib/components/bmb-sidebar/bmb-sidebar.component.mjs +103 -0
  153. package/esm2022/lib/components/bmb-sidebar/bmb-sidebar.interface.mjs +2 -0
  154. package/esm2022/lib/components/bmb-simple-header/bmb-simple-header.component.mjs +64 -0
  155. package/esm2022/lib/components/bmb-skeleton/bmb-skeleton.component.mjs +16 -0
  156. package/esm2022/lib/components/bmb-sounds-card/bmb-sounds-card.component.mjs +64 -0
  157. package/esm2022/lib/components/bmb-stat-counter/bmb-stat-counter.component.mjs +32 -0
  158. package/esm2022/lib/components/bmb-step-progress-bar/bmb-step-progress-bar.component.mjs +53 -0
  159. package/esm2022/lib/components/bmb-student-activity-card/bmb-student-activity-card.component.mjs +53 -0
  160. package/esm2022/lib/components/bmb-student-activity-selector/bmb-student-activity-tab/bmb-student-activity-tab.component.mjs +27 -0
  161. package/esm2022/lib/components/bmb-switch/bmb-switch.component.mjs +88 -0
  162. package/esm2022/lib/components/bmb-tables/bmb-tables.component.mjs +545 -0
  163. package/esm2022/lib/components/bmb-tables/bmb-tables.interface.mjs +2 -0
  164. package/esm2022/lib/components/bmb-tabs/bmb-tabs.component.mjs +127 -0
  165. package/esm2022/lib/components/bmb-tags/bmb-tags.component.mjs +65 -0
  166. package/esm2022/lib/components/bmb-text-editor/bmb-text-editor.component.mjs +135 -0
  167. package/esm2022/lib/components/bmb-text-link/bmb-text-link.component.mjs +43 -0
  168. package/esm2022/lib/components/bmb-theme/bmb-theme.component.mjs +65 -0
  169. package/esm2022/lib/components/bmb-three-cols/bmb-three-cols.component.mjs +30 -0
  170. package/esm2022/lib/components/bmb-timestream/bmb-timestream-detail/bmb-timestream-detail.component.mjs +74 -0
  171. package/esm2022/lib/components/bmb-timestream/bmb-timestream-error/bmb-timestream-error.component.mjs +13 -0
  172. package/esm2022/lib/components/bmb-timestream/bmb-timestream.component.mjs +238 -0
  173. package/esm2022/lib/components/bmb-timestream/types.mjs +2 -0
  174. package/esm2022/lib/components/bmb-timestream-card/bmb-timestream-card.component.mjs +139 -0
  175. package/esm2022/lib/components/bmb-title-content/bmb-title-content.component.mjs +61 -0
  176. package/esm2022/lib/components/bmb-toast/bmb-toast.component.mjs +47 -0
  177. package/esm2022/lib/components/bmb-tooltip/bmb-tooltip.component.mjs +26 -0
  178. package/esm2022/lib/components/bmb-top-bar/bmb-top-bar-item/bmb-top-bar-item.component.mjs +31 -0
  179. package/esm2022/lib/components/bmb-top-bar/bmb-top-bar-user-section/bmb-top-bar-user-section.component.mjs +70 -0
  180. package/esm2022/lib/components/bmb-top-bar/bmb-top-bar.component.mjs +122 -0
  181. package/esm2022/lib/components/bmb-top-bar/types.mjs +2 -0
  182. package/esm2022/lib/components/bmb-totp/bmb-totp.component.mjs +138 -0
  183. package/esm2022/lib/components/bmb-user-image/bmb-user-image.component.mjs +44 -0
  184. package/esm2022/lib/components/bmb-user-profile/bmb-user-profile-content/bmb-user-profile-content.component.mjs +19 -0
  185. package/esm2022/lib/components/bmb-user-profile/bmb-user-profile.component.mjs +71 -0
  186. package/esm2022/lib/components/bmb-user-summary/bmb-user-summary-content/bmb-user-summary-content.component.mjs +51 -0
  187. package/esm2022/lib/components/bmb-user-summary/bmb-user-summary.component.mjs +28 -0
  188. package/esm2022/lib/components/bmb-value-counter/bmb-value-counter.component.mjs +23 -0
  189. package/esm2022/lib/components/bmb-web-templates/bmb-web-templates.component.mjs +85 -0
  190. package/esm2022/lib/components/bmb-wheel-menu/bmb-wheel-menu.component.mjs +128 -0
  191. package/esm2022/lib/components/utils/bmb-dropdown-content/bmb-dropdown-content.component.mjs +55 -0
  192. package/esm2022/lib/directives/bmb-accordion/bmb-accordion-control.directive.mjs +88 -0
  193. package/esm2022/lib/directives/bmb-button/button.directive.mjs +84 -0
  194. package/esm2022/lib/directives/bmb-button-group/bmb-button-group.directive.mjs +29 -0
  195. package/esm2022/lib/directives/bmb-layout/bmb-layout-item.directive.mjs +51 -0
  196. package/esm2022/lib/directives/bmb-layout/bmb-layout.directive.mjs +36 -0
  197. package/esm2022/lib/directives/bmb-layout/bmb-vertical-layout/bmb-vertical-layout-item.directive.mjs +34 -0
  198. package/esm2022/lib/directives/bmb-layout/bmb-vertical-layout/bmb-vertical-layout.directive.mjs +37 -0
  199. package/esm2022/lib/directives/bmb-layout-grid/bmb-layout-grid.directive.mjs +89 -0
  200. package/esm2022/lib/directives/utils/clickoutside.directive.mjs +41 -0
  201. package/esm2022/lib/ds-ng.component.mjs +11 -0
  202. package/esm2022/lib/ds-ng.service.mjs +14 -0
  203. package/esm2022/lib/services/calendar.service.mjs +51 -0
  204. package/esm2022/lib/services/index.mjs +3 -0
  205. package/esm2022/lib/services/native-modal.service.mjs +69 -0
  206. package/esm2022/lib/services/notification.service.mjs +77 -0
  207. package/esm2022/lib/services/tabs.service.mjs +30 -0
  208. package/esm2022/lib/services/theme.service.mjs +30 -0
  209. package/esm2022/lib/services/toast.service.mjs +24 -0
  210. package/esm2022/lib/services/user/profile.service.mjs +26 -0
  211. package/esm2022/lib/types/colors.mjs +2 -0
  212. package/esm2022/lib/types/index.mjs +11 -0
  213. package/esm2022/lib/utils/countryCodes.mjs +1089 -0
  214. package/esm2022/lib/utils/currencyFormat.mjs +7 -0
  215. package/esm2022/lib/utils/dropdown.mjs +85 -0
  216. package/esm2022/lib/utils/formControl.mjs +25 -0
  217. package/esm2022/lib/utils/timestreamFilters.mjs +32 -0
  218. package/esm2022/lib/utils/utils.mjs +66 -0
  219. package/esm2022/public-api.mjs +151 -0
  220. package/esm2022/ti-tecnologico-de-monterrey-oficial-ds-ng.mjs +5 -0
  221. package/fesm2022/ti-tecnologico-de-monterrey-oficial-ds-ng.mjs +3714 -3147
  222. package/fesm2022/ti-tecnologico-de-monterrey-oficial-ds-ng.mjs.map +1 -1
  223. package/index.d.ts +5 -3573
  224. package/lib/components/bmb-academic-progress/bmb-academic-progress.component.d.ts +21 -0
  225. package/lib/components/bmb-accordion/bmb-accordion.component.d.ts +37 -0
  226. package/lib/components/bmb-account-statement/bmb-account-statement.component.d.ts +54 -0
  227. package/lib/components/bmb-action-icon/bmb-action-icon.component.d.ts +23 -0
  228. package/lib/components/bmb-action-menu/bmb-action-menu.component.d.ts +17 -0
  229. package/lib/components/bmb-advertisement-card/bmb-advertisement-card.component.d.ts +13 -0
  230. package/lib/components/bmb-advertisement-card/types.d.ts +21 -0
  231. package/lib/components/bmb-alert-center/bmb-alert-center-ads/bmb-alert-center-ads.component.d.ts +10 -0
  232. package/lib/components/bmb-alert-center/bmb-alert-center-empty/bmb-alert-center-empty.component.d.ts +7 -0
  233. package/lib/components/bmb-alert-center/bmb-alert-center-form/bmb-alert-center-form.component.d.ts +31 -0
  234. package/lib/components/bmb-alert-center/bmb-alert-center-list/bmb-alert-center-list.component.d.ts +20 -0
  235. package/lib/components/bmb-alert-center/bmb-alert-center.component.d.ts +46 -0
  236. package/lib/components/bmb-alert-center/bmb-alert-center.service.d.ts +20 -0
  237. package/lib/components/bmb-alert-center/types.d.ts +64 -0
  238. package/lib/components/bmb-badge/bmb-badge.component.d.ts +11 -0
  239. package/lib/components/bmb-balance-overview/bmb-balance-overview.component.d.ts +15 -0
  240. package/lib/components/bmb-bookmark/bmb-bookmark.component.d.ts +8 -0
  241. package/lib/components/bmb-bottom-navigation-bar/bmb-bottom-navigation-bar.component.d.ts +25 -0
  242. package/lib/components/bmb-breadcrumb/bmb-breadcrumb.component.d.ts +27 -0
  243. package/lib/components/bmb-button-icon/bmb-button-icon.component.d.ts +16 -0
  244. package/lib/components/bmb-calendar/bmb-calendar.component.d.ts +65 -0
  245. package/lib/components/bmb-calendar/common/bmb-calendar-header/bmb-calendar-header.component.d.ts +20 -0
  246. package/lib/components/bmb-calendar/common/bmb-calendar-hour-view/bmb-calendar-hour-view.component.d.ts +13 -0
  247. package/lib/components/bmb-calendar/common/bmb-calendar-schedule-cards/bmb-calendar-schedule-cards.component.d.ts +16 -0
  248. package/lib/components/bmb-calendar/common/bmb-calendar-template-day/bmb-calendar-template-day.component.d.ts +18 -0
  249. package/lib/components/bmb-calendar/common/bmb-calendar-template-event-list/bmb-calendar-template-event-list.component.d.ts +17 -0
  250. package/lib/components/bmb-calendar/common/bmb-calendar-template-mobile/bmb-calendar-template-mobile.component.d.ts +31 -0
  251. package/lib/components/bmb-calendar/common/bmb-calendar-template-month/bmb-calendar-template-month.component.d.ts +18 -0
  252. package/lib/components/bmb-calendar/common/bmb-calendar-template-week/bmb-calendar-template-week.component.d.ts +23 -0
  253. package/lib/components/bmb-calendar/common/bmb-calendar-time-indicator/bmb-calendar-time-indicator.component.d.ts +9 -0
  254. package/lib/components/bmb-calendar/types.d.ts +43 -0
  255. package/lib/components/bmb-calendar/utils.d.ts +12 -0
  256. package/lib/components/bmb-card/bmb-card.component.d.ts +42 -0
  257. package/lib/components/bmb-card-button/bmb-card-button.component.d.ts +50 -0
  258. package/lib/components/bmb-carousel/bmb-carousel.component.d.ts +20 -0
  259. package/lib/components/bmb-chat-bar/bmb-chat-bar.component.d.ts +62 -0
  260. package/lib/components/bmb-chat-bar/bot_list.d.ts +6 -0
  261. package/lib/components/bmb-chat-bar/types.d.ts +9 -0
  262. package/lib/components/bmb-chat-bubbles/bmb-chat-bubbles.component.d.ts +23 -0
  263. package/lib/components/bmb-chat-bubbles/types.d.ts +23 -0
  264. package/lib/components/bmb-check-external-link-button/bmb-check-external-link-button.component.d.ts +21 -0
  265. package/lib/components/bmb-checkbox/bmb-checkbox.component.d.ts +33 -0
  266. package/lib/components/bmb-chevron-title-selector/bmb-chevron-title-selector.component.d.ts +17 -0
  267. package/lib/components/bmb-container/bmb-container.component.d.ts +9 -0
  268. package/lib/components/bmb-container-button/bmb-container-button.component.d.ts +30 -0
  269. package/lib/components/bmb-date-range/bmb-date-range.component.d.ts +35 -0
  270. package/lib/components/bmb-datepicker/bmb-datepicker-modal/bmb-datepicker-modal.component.d.ts +40 -0
  271. package/lib/components/bmb-datepicker/bmb-datepicker.component.d.ts +44 -0
  272. package/lib/components/bmb-digital-id/bmb-digital-id.component.d.ts +26 -0
  273. package/lib/components/bmb-divider/bmb-divider.component.d.ts +8 -0
  274. package/lib/components/bmb-dot-paginator/bmb-dot-paginator.component.d.ts +17 -0
  275. package/lib/components/bmb-drawer-overlay/bmb-drawer-overlay.component.d.ts +24 -0
  276. package/lib/components/bmb-dropdown/bmb-dropdown.component.d.ts +61 -0
  277. package/lib/components/bmb-dropdown-menu/bmb-dropdown-menu.component.d.ts +10 -0
  278. package/lib/components/bmb-dropzone/bmb-dropzone.component.d.ts +49 -0
  279. package/lib/components/bmb-evaluation-rubric/bmb-evaluation-rubric.component.d.ts +45 -0
  280. package/lib/components/bmb-external-link/bmb-external-link.component.d.ts +22 -0
  281. package/lib/components/bmb-fab/bmb-fab-.interface.d.ts +10 -0
  282. package/lib/components/bmb-fab/bmb-fab.component.d.ts +15 -0
  283. package/lib/components/bmb-filter-card/bmb-filter-card.component.d.ts +33 -0
  284. package/lib/components/bmb-filter-card/bmb-filter-card.interface.d.ts +10 -0
  285. package/lib/components/bmb-focus-element/bmb-focus-element.component.d.ts +14 -0
  286. package/lib/components/bmb-form-validation/bmb-form-validation.component.d.ts +34 -0
  287. package/lib/components/bmb-form-validator/bmb-form-validator.component.d.ts +34 -0
  288. package/lib/components/bmb-frequent-apps-selector/bmb-frequent-apps-selector.component.d.ts +13 -0
  289. package/lib/components/bmb-grade-value/bmb-grade-value.component.d.ts +11 -0
  290. package/lib/components/bmb-grades/bmb-grades.component.d.ts +43 -0
  291. package/lib/components/bmb-grades/types.d.ts +25 -0
  292. package/lib/components/bmb-header-mitec/bmb-header-mitec.component.d.ts +17 -0
  293. package/lib/components/bmb-header-mobile/bmb-header-mobile.component.d.ts +23 -0
  294. package/lib/components/bmb-hito-card/bmb-hito-card.component.d.ts +23 -0
  295. package/lib/components/bmb-hito-list/bmb-hito-list.component.d.ts +24 -0
  296. package/lib/components/bmb-home-card/bmb-home-card-header/bmb-home-card-header.component.d.ts +28 -0
  297. package/lib/components/bmb-home-card/bmb-home-card.component.d.ts +27 -0
  298. package/lib/components/bmb-home-card-chat/bmb-home-card-chat.component.d.ts +25 -0
  299. package/lib/components/bmb-home-section/bmb-home-section.component.d.ts +9 -0
  300. package/lib/components/bmb-icon/bmb-icon.component.d.ts +23 -0
  301. package/lib/components/bmb-icon/types.d.ts +1 -0
  302. package/lib/components/bmb-icon-item/bmb-icon-item.component.d.ts +13 -0
  303. package/lib/components/bmb-icon-status/bmb-icon-status.component.d.ts +10 -0
  304. package/lib/components/bmb-iframe/bmb-iframe.component.d.ts +11 -0
  305. package/lib/components/bmb-iframe/bmb-iframe.pipe.d.ts +10 -0
  306. package/lib/components/bmb-image/bmb-image.component.d.ts +19 -0
  307. package/lib/components/bmb-inner-header/bmb-inner-header.component.d.ts +29 -0
  308. package/lib/components/bmb-input/bmb-input-content/bmb-input-content.component.d.ts +53 -0
  309. package/lib/components/bmb-input/bmb-input-validation/bmb-input-validation.component.d.ts +46 -0
  310. package/lib/components/bmb-input/bmb-input-validation/bmb-input-validation.service.d.ts +16 -0
  311. package/lib/components/bmb-input/bmb-input-validator/bmb-input-validator.component.d.ts +45 -0
  312. package/lib/components/bmb-input/bmb-input.component.d.ts +68 -0
  313. package/lib/components/bmb-input-phone-number/bmb-input-phone-number.component.d.ts +52 -0
  314. package/lib/components/bmb-input-tags/bmb-input-tags.component.d.ts +55 -0
  315. package/lib/components/bmb-interactive-icon/bmb-interactive-icon.component.d.ts +23 -0
  316. package/lib/components/bmb-invoice/bmb-invoice.component.d.ts +31 -0
  317. package/lib/components/bmb-item/bmb-item.component.d.ts +16 -0
  318. package/lib/components/bmb-legend/bmb-legend.component.d.ts +9 -0
  319. package/lib/components/bmb-list-group/bmb-list-group-item/bmb-list-group-item.component.d.ts +33 -0
  320. package/lib/components/bmb-list-group/bmb-list-group.component.d.ts +27 -0
  321. package/lib/components/bmb-list-group/bmb-list-group.service.d.ts +18 -0
  322. package/lib/components/bmb-list-group/types.d.ts +1 -0
  323. package/lib/components/bmb-list-items/bmb-list-items.component.d.ts +33 -0
  324. package/lib/components/bmb-loader/bmb-loader.component.d.ts +31 -0
  325. package/lib/components/bmb-login/bmb-login-content/bmb-login-content.component.d.ts +27 -0
  326. package/lib/components/bmb-login/bmb-login.component.d.ts +33 -0
  327. package/lib/components/bmb-login-onboarding/bmb-login-onboarding-logged/bmb-login-onboarding-logged.component.d.ts +14 -0
  328. package/lib/components/bmb-login-onboarding/bmb-login-onboarding-login/bmb-login-onboarding-login.component.d.ts +8 -0
  329. package/lib/components/bmb-login-onboarding/bmb-login-onboarding-logout/bmb-login-onboarding-logout.component.d.ts +12 -0
  330. package/lib/components/bmb-login-onboarding/bmb-login-onboarding-stepper/bmb-login-onboarding-stepper-steps/bmb-login-onboarding-stepper-step-four.component.d.ts +18 -0
  331. package/lib/components/bmb-login-onboarding/bmb-login-onboarding-stepper/bmb-login-onboarding-stepper-steps/bmb-login-onboarding-stepper-step-one.component.d.ts +17 -0
  332. package/lib/components/bmb-login-onboarding/bmb-login-onboarding-stepper/bmb-login-onboarding-stepper-steps/bmb-login-onboarding-stepper-step-three.component.d.ts +11 -0
  333. package/lib/components/bmb-login-onboarding/bmb-login-onboarding-stepper/bmb-login-onboarding-stepper-steps/bmb-login-onboarding-stepper-step-two.component.d.ts +19 -0
  334. package/lib/components/bmb-login-onboarding/bmb-login-onboarding-stepper/bmb-login-onboarding-stepper-steps/bmb-login-onboarding-stepper-step.component.d.ts +19 -0
  335. package/lib/components/bmb-login-onboarding/bmb-login-onboarding-stepper/bmb-login-onboarding-stepper.component.d.ts +15 -0
  336. package/lib/components/bmb-login-onboarding/bmb-login-onboarding.component.d.ts +20 -0
  337. package/lib/components/bmb-login-onboarding/bmb-login-onboarding.service.d.ts +25 -0
  338. package/lib/components/bmb-login-onboarding/types.d.ts +15 -0
  339. package/lib/components/bmb-logo/bmb-logo.component.d.ts +19 -0
  340. package/lib/components/bmb-media-card/bmb-media-card.component.d.ts +34 -0
  341. package/lib/components/bmb-mitec-logo-animation/bmb-mitec-logo-animation.component.d.ts +6 -0
  342. package/lib/components/bmb-mobile-templates/bmb-mobile-templates.component.d.ts +47 -0
  343. package/lib/components/bmb-modal/bmb-modal.component.d.ts +31 -0
  344. package/lib/components/bmb-modal/bmb-modal.interface.d.ts +37 -0
  345. package/lib/components/bmb-modal/bmb-native-modal.component.d.ts +37 -0
  346. package/lib/components/bmb-multi-dot-paginator/bmb-multi-dot-paginator-item/bmb-multi-dot-paginator-item.component.d.ts +7 -0
  347. package/lib/components/bmb-multi-dot-paginator/bmb-multi-dot-paginator.component.d.ts +15 -0
  348. package/lib/components/bmb-navigation-bar/bmb-navigation-bar.component.d.ts +13 -0
  349. package/lib/components/bmb-notice-card/bmb-notice-card.component.d.ts +21 -0
  350. package/lib/components/bmb-notification-card/bmb-notification-card.component.d.ts +27 -0
  351. package/lib/components/bmb-overlay/bmb-overlay.component.d.ts +9 -0
  352. package/lib/components/bmb-paginator/bmb-paginator.component.d.ts +14 -0
  353. package/lib/components/bmb-portal/bmb-portal.component.d.ts +18 -0
  354. package/lib/components/bmb-profile/bmb-profile.component.d.ts +34 -0
  355. package/lib/components/bmb-progress-bar/bmb-progress-bar.component.d.ts +19 -0
  356. package/lib/components/bmb-progress-cirlce/bmb-progress-circle.component.d.ts +51 -0
  357. package/lib/components/bmb-progress-cirlce/bmb-progress-circle.interface.d.ts +12 -0
  358. package/lib/components/bmb-pull-wedge/bmb-pull-wedge.component.d.ts +23 -0
  359. package/lib/components/bmb-push-notification/bmb-push-notification-item/bmb-push-notification-item.component.d.ts +18 -0
  360. package/lib/components/bmb-push-notification/bmb-push-notification.component.d.ts +11 -0
  361. package/lib/components/bmb-push-notification/types.d.ts +46 -0
  362. package/lib/components/bmb-radial/bmb-radial.component.d.ts +33 -0
  363. package/lib/components/bmb-search-input/bmb-search-input.component.d.ts +33 -0
  364. package/lib/components/bmb-select/bmb-select-item/bmb-select-item.component.d.ts +6 -0
  365. package/lib/components/bmb-select/bmb-select.component.d.ts +17 -0
  366. package/lib/components/bmb-server-table/bmb-server-table.component.d.ts +26 -0
  367. package/lib/components/bmb-sidebar/bmb-sidebar.component.d.ts +27 -0
  368. package/lib/components/bmb-sidebar/bmb-sidebar.interface.d.ts +10 -0
  369. package/lib/components/bmb-simple-header/bmb-simple-header.component.d.ts +10 -0
  370. package/lib/components/bmb-skeleton/bmb-skeleton.component.d.ts +7 -0
  371. package/lib/components/bmb-sounds-card/bmb-sounds-card.component.d.ts +24 -0
  372. package/lib/components/bmb-stat-counter/bmb-stat-counter.component.d.ts +11 -0
  373. package/lib/components/bmb-step-progress-bar/bmb-step-progress-bar.component.d.ts +26 -0
  374. package/lib/components/bmb-student-activity-card/bmb-student-activity-card.component.d.ts +23 -0
  375. package/lib/components/bmb-student-activity-selector/bmb-student-activity-tab/bmb-student-activity-tab.component.d.ts +10 -0
  376. package/lib/components/bmb-switch/bmb-switch.component.d.ts +25 -0
  377. package/lib/components/bmb-tables/bmb-tables.component.d.ts +104 -0
  378. package/lib/components/bmb-tables/bmb-tables.interface.d.ts +21 -0
  379. package/lib/components/bmb-tabs/bmb-tabs.component.d.ts +41 -0
  380. package/lib/components/bmb-tags/bmb-tags.component.d.ts +25 -0
  381. package/lib/components/bmb-text-editor/bmb-text-editor.component.d.ts +34 -0
  382. package/lib/components/bmb-text-link/bmb-text-link.component.d.ts +17 -0
  383. package/lib/components/bmb-theme/bmb-theme.component.d.ts +19 -0
  384. package/lib/components/bmb-three-cols/bmb-three-cols.component.d.ts +15 -0
  385. package/lib/components/bmb-timestream/bmb-timestream-detail/bmb-timestream-detail.component.d.ts +25 -0
  386. package/lib/components/bmb-timestream/bmb-timestream-error/bmb-timestream-error.component.d.ts +5 -0
  387. package/lib/components/bmb-timestream/bmb-timestream.component.d.ts +67 -0
  388. package/lib/components/bmb-timestream/types.d.ts +54 -0
  389. package/lib/components/bmb-timestream-card/bmb-timestream-card.component.d.ts +29 -0
  390. package/lib/components/bmb-title-content/bmb-title-content.component.d.ts +26 -0
  391. package/lib/components/bmb-toast/bmb-toast.component.d.ts +16 -0
  392. package/lib/components/bmb-tooltip/bmb-tooltip.component.d.ts +15 -0
  393. package/lib/components/bmb-top-bar/bmb-top-bar-item/bmb-top-bar-item.component.d.ts +7 -0
  394. package/lib/components/bmb-top-bar/bmb-top-bar-user-section/bmb-top-bar-user-section.component.d.ts +30 -0
  395. package/lib/components/bmb-top-bar/bmb-top-bar.component.d.ts +45 -0
  396. package/lib/components/bmb-top-bar/types.d.ts +6 -0
  397. package/lib/components/bmb-totp/bmb-totp.component.d.ts +30 -0
  398. package/lib/components/bmb-user-image/bmb-user-image.component.d.ts +19 -0
  399. package/lib/components/bmb-user-profile/bmb-user-profile-content/bmb-user-profile-content.component.d.ts +10 -0
  400. package/lib/components/bmb-user-profile/bmb-user-profile.component.d.ts +19 -0
  401. package/lib/components/bmb-user-summary/bmb-user-summary-content/bmb-user-summary-content.component.d.ts +24 -0
  402. package/lib/components/bmb-user-summary/bmb-user-summary.component.d.ts +14 -0
  403. package/lib/components/bmb-value-counter/bmb-value-counter.component.d.ts +8 -0
  404. package/lib/components/bmb-web-templates/bmb-web-templates.component.d.ts +42 -0
  405. package/lib/components/bmb-wheel-menu/bmb-wheel-menu.component.d.ts +40 -0
  406. package/lib/components/utils/bmb-dropdown-content/bmb-dropdown-content.component.d.ts +16 -0
  407. package/lib/directives/bmb-accordion/bmb-accordion-control.directive.d.ts +22 -0
  408. package/lib/directives/bmb-button/button.directive.d.ts +29 -0
  409. package/lib/directives/bmb-button-group/bmb-button-group.directive.d.ts +10 -0
  410. package/lib/directives/bmb-layout/bmb-layout-item.directive.d.ts +20 -0
  411. package/lib/directives/bmb-layout/bmb-layout.directive.d.ts +15 -0
  412. package/lib/directives/bmb-layout/bmb-vertical-layout/bmb-vertical-layout-item.directive.d.ts +9 -0
  413. package/lib/directives/bmb-layout/bmb-vertical-layout/bmb-vertical-layout.directive.d.ts +14 -0
  414. package/lib/directives/bmb-layout-grid/bmb-layout-grid.directive.d.ts +29 -0
  415. package/lib/directives/utils/clickoutside.directive.d.ts +15 -0
  416. package/lib/ds-ng.component.d.ts +5 -0
  417. package/lib/ds-ng.service.d.ts +6 -0
  418. package/lib/services/calendar.service.d.ts +15 -0
  419. package/lib/services/index.d.ts +2 -0
  420. package/lib/services/native-modal.service.d.ts +18 -0
  421. package/lib/services/notification.service.d.ts +20 -0
  422. package/lib/services/tabs.service.d.ts +13 -0
  423. package/lib/services/theme.service.d.ts +11 -0
  424. package/lib/services/toast.service.d.ts +9 -0
  425. package/lib/services/user/profile.service.d.ts +9 -0
  426. package/lib/types/colors.d.ts +2 -0
  427. package/lib/types/index.d.ts +127 -0
  428. package/lib/utils/countryCodes.d.ts +7 -0
  429. package/lib/utils/currencyFormat.d.ts +1 -0
  430. package/lib/utils/dropdown.d.ts +6 -0
  431. package/lib/utils/formControl.d.ts +7 -0
  432. package/lib/utils/timestreamFilters.d.ts +2 -0
  433. package/lib/utils/utils.d.ts +12 -0
  434. package/package.json +4 -2
  435. package/public-api.d.ts +142 -0
@@ -0,0 +1,238 @@
1
+ import { ChangeDetectionStrategy, Component, input, signal, TemplateRef, ViewChild, ViewEncapsulation, } from '@angular/core';
2
+ import { DateTime, Info } from 'luxon';
3
+ import { BmbTimestreamErrorComponent } from './bmb-timestream-error/bmb-timestream-error.component';
4
+ import { BmbHitoListComponent } from '../bmb-hito-list/bmb-hito-list.component';
5
+ import { BmbTimestreamDetailsComponent } from './bmb-timestream-detail/bmb-timestream-detail.component';
6
+ import { CommonModule } from '@angular/common';
7
+ import { BmbModalComponent } from '../bmb-modal/bmb-modal.component';
8
+ import { BmbUserImageComponent } from '../bmb-user-image/bmb-user-image.component';
9
+ import { BmbTabsComponent } from '../bmb-tabs/bmb-tabs.component';
10
+ import { BmbButtonDirective } from '../../directives/bmb-button/button.directive';
11
+ import { BmbDividerComponent } from '../bmb-divider/bmb-divider.component';
12
+ import { BmbHitoCardComponent } from '../bmb-hito-card/bmb-hito-card.component';
13
+ import { BmbBadgeComponent } from '../bmb-badge/bmb-badge.component';
14
+ import * as i0 from "@angular/core";
15
+ import * as i1 from "@angular/material/dialog";
16
+ import * as i2 from "@angular/common";
17
+ export class BmbTimestreamComponent {
18
+ constructor(matDialog) {
19
+ this.matDialog = matDialog;
20
+ this.isMicro = input(false);
21
+ this.lang = input('es');
22
+ this.dateFormat = input('dd/MM/yyyy');
23
+ this.events = input([]);
24
+ this.clamp = input({ min: 100, max: '100dvh', size: '100%' });
25
+ // internal state
26
+ this.error = false;
27
+ this.now = DateTime.now();
28
+ this.start = null;
29
+ this.monthsNames = Info.months('long', { locale: this.lang() });
30
+ this.orderedEvents = signal([]);
31
+ this.selectedDate = {
32
+ day: '',
33
+ month: '',
34
+ date: this.now,
35
+ };
36
+ this.orderedMonths = [];
37
+ this.selectedEvent = null;
38
+ this.eventTabs = [
39
+ { id: 1, title: 'Descripción', isActive: true },
40
+ { id: 2, title: 'Instancias' },
41
+ ];
42
+ this.tabSelected = 1;
43
+ }
44
+ ngOnChanges(changes) {
45
+ this.parsedEvents = this.prepareEvents(changes['events'].currentValue);
46
+ this.orderedMonths = this.orderDates(this.parsedEvents, 'yyyy/MM');
47
+ this.selectedDate = this.selectAValidDate();
48
+ }
49
+ ngOnInit() {
50
+ this.parsedEvents = this.prepareEvents(this.events());
51
+ this.orderedMonths = this.orderDates(this.parsedEvents, 'yyyy/MM');
52
+ this.selectedDate = this.selectAValidDate();
53
+ }
54
+ ngAfterViewInit() {
55
+ if (this.modalTemplate) {
56
+ this.newModal = this.modalTemplate;
57
+ }
58
+ }
59
+ handleTabSelected(tab) {
60
+ this.tabSelected = tab.id;
61
+ }
62
+ prepareEvents(events) {
63
+ if (!events?.length) {
64
+ this.orderedEvents.set([]);
65
+ return {};
66
+ }
67
+ const objectEvent = {};
68
+ events.forEach((event) => {
69
+ const startDate = DateTime.fromFormat(event.start, this.dateFormat());
70
+ const endDate = DateTime.fromFormat(event.end, this.dateFormat());
71
+ const diff = endDate.diff(startDate, 'days').days + 1;
72
+ for (let index = 0; index < diff; index++) {
73
+ const currentDate = startDate.plus({ days: index });
74
+ const stringDate = currentDate.toFormat('yyyy/MM/dd');
75
+ const month = currentDate.toFormat('yyyy/MM');
76
+ objectEvent[month] ??= {
77
+ events: {},
78
+ name: this.monthsNames[currentDate.month - 1],
79
+ stringDate: month,
80
+ year: currentDate.year,
81
+ date: currentDate,
82
+ };
83
+ objectEvent[month].events[stringDate] ??= {
84
+ events: [],
85
+ date: currentDate,
86
+ stringDate,
87
+ selected: false,
88
+ };
89
+ objectEvent[month].events[stringDate].events.push({
90
+ ...event,
91
+ start: stringDate,
92
+ startEvent: currentDate,
93
+ endEvent: endDate,
94
+ selected: false,
95
+ diff: diff - 1,
96
+ originalStart: startDate,
97
+ });
98
+ }
99
+ });
100
+ const orderedEvents = this.orderDates(objectEvent, 'yyyy/MM');
101
+ if (orderedEvents.length) {
102
+ objectEvent['orderedEvents'] = orderedEvents;
103
+ objectEvent['orderedEvents'].forEach((date) => {
104
+ objectEvent[date]['orderedEvents'] = this.orderDates(objectEvent[date].events, 'yyyy/MM/dd');
105
+ });
106
+ this.orderedEvents.set(objectEvent['orderedEvents']
107
+ .map((month) => {
108
+ return objectEvent[month]['orderedEvents'].map((day) => objectEvent[month].events[day]);
109
+ })
110
+ .flat());
111
+ }
112
+ return objectEvent;
113
+ }
114
+ orderDates(events, format) {
115
+ const monthsList = Object.keys(events);
116
+ const monthsOrdered = monthsList.sort((dateA, dateB) => {
117
+ const parsedDateA = DateTime.fromFormat(dateA, format);
118
+ const parsedDateB = DateTime.fromFormat(dateB, format);
119
+ return parsedDateA.toMillis() - parsedDateB.toMillis();
120
+ });
121
+ return monthsOrdered;
122
+ }
123
+ selectAValidDate() {
124
+ if (!this.orderedMonths)
125
+ return {
126
+ month: this.now.month + '',
127
+ day: this.now.day + '',
128
+ date: this.now,
129
+ };
130
+ const month = this.orderedMonths.find((date) => {
131
+ if (date === 'orderedEvents')
132
+ return false;
133
+ const parsedDate = this.parsedEvents[date].date;
134
+ return (this.now.year <= parsedDate.year && this.now.month <= parsedDate.month);
135
+ }) ||
136
+ this.orderedMonths.at(-1) ||
137
+ '';
138
+ const orderedEvents = this.parsedEvents?.[month]?.orderedEvents;
139
+ const day = orderedEvents?.find((date) => {
140
+ const parsedDate = this.parsedEvents[month].events[date].date;
141
+ return (this.now.year <= parsedDate.year &&
142
+ this.now.month <= parsedDate.month &&
143
+ this.now.day <= parsedDate.day);
144
+ }) ||
145
+ orderedEvents?.at(-1) ||
146
+ '';
147
+ if (this.parsedEvents[month] && month !== 'orderedEvents') {
148
+ this.parsedEvents[month].selected = true;
149
+ this.parsedEvents[month].events[day].selected = true;
150
+ }
151
+ return {
152
+ month,
153
+ day,
154
+ date: this.parsedEvents?.[month]?.events?.[day]?.date,
155
+ };
156
+ }
157
+ handleSelectedDateChange({ month, day }) {
158
+ this.parsedEvents[this.selectedDate.month].selected = false;
159
+ this.parsedEvents[this.selectedDate.month].events[this.selectedDate.day].selected = false;
160
+ this.parsedEvents[month].selected = true;
161
+ this.parsedEvents[month].events[day].selected = true;
162
+ this.selectedDate = {
163
+ month,
164
+ day,
165
+ date: this.parsedEvents[month].events[day].date,
166
+ };
167
+ }
168
+ handleSelectedEventChange(event) {
169
+ this.selectedEvent = event;
170
+ const data = {
171
+ title: event.title,
172
+ content: this.newModal,
173
+ size: 'large',
174
+ hidePrimaryButton: true,
175
+ };
176
+ this.matDialog.open(BmbModalComponent, { data });
177
+ }
178
+ getMonthTitle(date) {
179
+ return date.setLocale(this.lang()).toFormat('cccc dd LLLL yyyy');
180
+ }
181
+ getInstances(event) {
182
+ const instances = [];
183
+ for (let index = 0; index < (event.diff || 0) + 1; index++) {
184
+ const date = event.originalStart.plus({ days: index });
185
+ instances.push(this.getMonthTitle(date));
186
+ }
187
+ return instances;
188
+ }
189
+ getDurationString(event) {
190
+ return `Duración: ${event.originalStart?.day} - ${event.endEvent?.setLocale(this.lang()).toFormat('dd LLLL yyyy')} (${(event.diff || 0) + 1} Días)`;
191
+ }
192
+ getDiffString(diff = 0) {
193
+ return diff + 1 > 1 ? `${diff + 1} Días` : `${diff + 1} Día`;
194
+ }
195
+ appearanceBadge(eventType) {
196
+ if (typeof eventType === 'string') {
197
+ switch (eventType) {
198
+ case 'active':
199
+ return 'mitec_blue';
200
+ case 'done':
201
+ return 'success';
202
+ case 'pending':
203
+ return 'normal';
204
+ case 'under_review':
205
+ return 'warning';
206
+ default:
207
+ return 'mitec_blue';
208
+ }
209
+ }
210
+ return eventType.type || 'normal';
211
+ }
212
+ getBadgeText(eventType) {
213
+ if (typeof eventType === 'string')
214
+ return eventType;
215
+ return eventType.text || '';
216
+ }
217
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BmbTimestreamComponent, deps: [{ token: i1.MatDialog }], target: i0.ɵɵFactoryTarget.Component }); }
218
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: BmbTimestreamComponent, isStandalone: true, selector: "bmb-timestream", inputs: { isMicro: { classPropertyName: "isMicro", publicName: "isMicro", isSignal: true, isRequired: false, transformFunction: null }, lang: { classPropertyName: "lang", publicName: "lang", isSignal: true, isRequired: false, transformFunction: null }, dateFormat: { classPropertyName: "dateFormat", publicName: "dateFormat", isSignal: true, isRequired: false, transformFunction: null }, events: { classPropertyName: "events", publicName: "events", isSignal: true, isRequired: false, transformFunction: null }, clamp: { classPropertyName: "clamp", publicName: "clamp", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "modalTemplate", first: true, predicate: ["modalTemplate"], descendants: true, read: TemplateRef }], usesOnChanges: true, ngImport: i0, template: "<section\n class=\"bmb_timestream\"\n [ngClass]=\"{ 'bmb_timestream-micro': isMicro() }\"\n>\n @if (error) {\n <div class=\"bmb_timestream-error\">\n <bmb-timestream-error />\n </div>\n } @else {\n @if (!isMicro()) {\n <aside class=\"bmb_timestream-aside\">\n <bmb-hito-list\n [dateFormat]=\"dateFormat()\"\n [lang]=\"lang()\"\n [now]=\"now\"\n [events]=\"parsedEvents\"\n [selectedDate]=\"selectedDate\"\n [orderedMonths]=\"orderedMonths\"\n (changeSelectedDate)=\"handleSelectedDateChange($event)\"\n />\n </aside>\n }\n <section class=\"bmb_timestream-main\">\n <bmb-timestream-detail\n [lang]=\"lang()\"\n [now]=\"now\"\n [selectedDate]=\"selectedDate\"\n (changeSelectedEvent)=\"handleSelectedEventChange($event)\"\n [orderedEvents]=\"orderedEvents()\"\n [isMicro]=\"isMicro()\"\n />\n </section>\n }\n</section>\n\n<ng-template #modalTemplate>\n @if (selectedEvent) {\n <section class=\"bmb_timestream-dialog\">\n <figure class=\"bmb_timestream-dialog-hero\">\n <img\n [src]=\"selectedEvent.image\"\n [alt]=\"selectedEvent.title\"\n class=\"bmb_timestream-dialog-hero-image\"\n />\n </figure>\n <div class=\"bmb_timestream-dialog-user\">\n <bmb-user-image\n size=\"mobile-small\"\n [image]=\"selectedEvent.picture_profile || ''\"\n [altImage]=\"selectedEvent.user_first_name || ''\"\n [bordered]=\"false\"\n />\n <span class=\"bmb_timestream-dialog-user-name\"\n >{{ selectedEvent.user_first_name }}\n {{ selectedEvent.user_last_name }}</span\n >\n <span class=\"bmb_timestream-dialog-user-date\">{{\n selectedEvent.startEvent?.toFormat(\"dd/MM/yyyy\")\n }}</span>\n </div>\n <bmb-tabs\n [tabs]=\"eventTabs\"\n (selected)=\"handleTabSelected($event)\"\n style=\"flex: 1\"\n >\n @switch (tabSelected) {\n @case (1) {\n <div class=\"bmb_timestream-dialog-tab\">\n <dl class=\"bmb_timestream-dialog-dual\">\n <dt class=\"bmb_timestream-dialog-dual-title\">Estado:</dt>\n <dd class=\"bmb_timestream-dialog-dual-data\">\n <bmb-badge\n [appearance]=\"appearanceBadge(selectedEvent.type)\"\n [text]=\"getBadgeText(selectedEvent.type)\"\n [container]=\"false\"\n />\n </dd>\n <dt class=\"bmb_timestream-dialog-dual-title\">\n Duraci\u00F3n total:\n </dt>\n <dd class=\"bmb_timestream-dialog-dual-data\">\n {{ getDiffString(selectedEvent.diff) }}\n </dd>\n </dl>\n <p>{{ selectedEvent.description }}</p>\n </div>\n }\n @case (2) {\n <div class=\"bmb_timestream-dialog-tab\">\n <h3 class=\"bmb_timestream-dialog-tab-title\">Instancias</h3>\n <bmb-divider type=\"simple\" />\n <section class=\"bmb_timestream-dialog-tab-hito-list\">\n @for (date of getInstances(selectedEvent); track $index) {\n <bmb-hito-card\n [icon]=\"selectedEvent.icon || 'app_badging'\"\n [title]=\"selectedEvent.title\"\n [type]=\"selectedEvent.type\"\n [id]=\"$index\"\n [enable_bullet]=\"false\"\n [alternative_appearance]=\"true\"\n [isCompact]=\"true\"\n />\n }\n @if (selectedEvent.diff) {\n <p class=\"bmb_timestream-dialog-tab-duration\">\n {{ getDurationString(selectedEvent) }}\n </p>\n }\n @if (selectedEvent.related_to) {\n <h3 class=\"bmb_timestream-dialog-container-tab-title\">\n Relacionado a\n </h3>\n @for (related of selectedEvent.related_to; track $index) {\n <bmb-hito-card\n [icon]=\"selectedEvent.icon || 'app_badging'\"\n [title]=\"related\"\n [type]=\"selectedEvent.type\"\n [id]=\"related\"\n [enable_bullet]=\"false\"\n [alternative_appearance]=\"true\"\n [isCompact]=\"true\"\n />\n }\n }\n </section>\n </div>\n }\n }\n </bmb-tabs>\n <section class=\"bmb_timestream-dialog-button-container\">\n <button bmbButton appearance=\"primary\" icon=\"fit_screen\">\n Ir a decisi\u00F3n\n </button>\n </section>\n </section>\n }\n</ng-template>\n", styles: ["@font-face{font-family:Poppins-Thin;font-style:normal;font-weight:100;src:url(/assets/fonts/Poppins/Poppins-Thin.ttf) format(\"truetype\")}@font-face{font-family:Poppins-Light;font-style:normal;font-weight:300;src:url(/assets/fonts/Poppins/Poppins-ExtraLight.ttf) format(\"truetype\")}@font-face{font-family:Poppins-Regular;font-style:normal;font-weight:400;src:url(/assets/fonts/Poppins/Poppins-Regular.ttf) format(\"truetype\")}@font-face{font-family:Poppins-Medium;font-style:normal;font-weight:500;src:url(/assets/fonts/Poppins/Poppins-Medium.ttf) format(\"truetype\")}@font-face{font-family:Poppins-Semibold;font-style:normal;font-weight:600;src:url(/assets/fonts/Poppins/Poppins-SemiBold.ttf) format(\"truetype\")}@font-face{font-family:Poppins-Bold;font-style:normal;font-weight:700;src:url(/assets/fonts/Poppins/Poppins-Bold.ttf) format(\"truetype\")}:root,:host{--font-display: \"Poppins-Regular\", sans-serif}.font-thin-1{font-family:Poppins-Thin,sans-serif;font-size:.625rem}.font-light-1{font-family:Poppins-Light,sans-serif;font-size:.625rem}.font-regular-1{font-family:Poppins-Regular,sans-serif;font-size:.625rem}.font-medium-1{font-family:Poppins-Medium,sans-serif;font-size:.625rem}.font-semibold-1{font-family:Poppins-Semibold,sans-serif;font-size:.625rem}.font-bold-1{font-family:Poppins-Bold,sans-serif;font-size:.625rem}.font-thin-2{font-family:Poppins-Thin,sans-serif;font-size:.6875rem}.font-light-2{font-family:Poppins-Light,sans-serif;font-size:.6875rem}.font-regular-2{font-family:Poppins-Regular,sans-serif;font-size:.6875rem}.font-medium-2{font-family:Poppins-Medium,sans-serif;font-size:.6875rem}.font-semibold-2{font-family:Poppins-Semibold,sans-serif;font-size:.6875rem}.font-bold-2{font-family:Poppins-Bold,sans-serif;font-size:.6875rem}.font-thin-3{font-family:Poppins-Thin,sans-serif;font-size:.75rem}.font-light-3{font-family:Poppins-Light,sans-serif;font-size:.75rem}.font-regular-3{font-family:Poppins-Regular,sans-serif;font-size:.75rem}.font-medium-3{font-family:Poppins-Medium,sans-serif;font-size:.75rem}.font-semibold-3{font-family:Poppins-Semibold,sans-serif;font-size:.75rem}.font-bold-3{font-family:Poppins-Bold,sans-serif;font-size:.75rem}.font-thin-4{font-family:Poppins-Thin,sans-serif;font-size:.875rem}.font-light-4{font-family:Poppins-Light,sans-serif;font-size:.875rem}.font-regular-4{font-family:Poppins-Regular,sans-serif;font-size:.875rem}.font-medium-4{font-family:Poppins-Medium,sans-serif;font-size:.875rem}.font-semibold-4{font-family:Poppins-Semibold,sans-serif;font-size:.875rem}.font-bold-4{font-family:Poppins-Bold,sans-serif;font-size:.875rem}.font-thin-4_5{font-family:Poppins-Thin,sans-serif;font-size:.9375rem}.font-light-4_5{font-family:Poppins-Light,sans-serif;font-size:.9375rem}.font-regular-4_5{font-family:Poppins-Regular,sans-serif;font-size:.9375rem}.font-medium-4_5{font-family:Poppins-Medium,sans-serif;font-size:.9375rem}.font-semibold-4_5{font-family:Poppins-Semibold,sans-serif;font-size:.9375rem}.font-bold-4_5{font-family:Poppins-Bold,sans-serif;font-size:.9375rem}.font-thin-5{font-family:Poppins-Thin,sans-serif;font-size:1rem}.font-light-5{font-family:Poppins-Light,sans-serif;font-size:1rem}.font-regular-5{font-family:Poppins-Regular,sans-serif;font-size:1rem}.font-medium-5{font-family:Poppins-Medium,sans-serif;font-size:1rem}.font-semibold-5{font-family:Poppins-Semibold,sans-serif;font-size:1rem}.font-bold-5{font-family:Poppins-Bold,sans-serif;font-size:1rem}.font-thin-6{font-family:Poppins-Thin,sans-serif;font-size:1.125rem}.font-light-6{font-family:Poppins-Light,sans-serif;font-size:1.125rem}.font-regular-6{font-family:Poppins-Regular,sans-serif;font-size:1.125rem}.font-medium-6{font-family:Poppins-Medium,sans-serif;font-size:1.125rem}.font-semibold-6{font-family:Poppins-Semibold,sans-serif;font-size:1.125rem}.font-bold-6{font-family:Poppins-Bold,sans-serif;font-size:1.125rem}.font-thin-7{font-family:Poppins-Thin,sans-serif;font-size:1.25rem}.font-light-7{font-family:Poppins-Light,sans-serif;font-size:1.25rem}.font-regular-7{font-family:Poppins-Regular,sans-serif;font-size:1.25rem}.font-medium-7{font-family:Poppins-Medium,sans-serif;font-size:1.25rem}.font-semibold-7{font-family:Poppins-Semibold,sans-serif;font-size:1.25rem}.font-bold-7{font-family:Poppins-Bold,sans-serif;font-size:1.25rem}.font-thin-8{font-family:Poppins-Thin,sans-serif;font-size:1.375rem}.font-light-8{font-family:Poppins-Light,sans-serif;font-size:1.375rem}.font-regular-8{font-family:Poppins-Regular,sans-serif;font-size:1.375rem}.font-medium-8{font-family:Poppins-Medium,sans-serif;font-size:1.375rem}.font-semibold-8{font-family:Poppins-Semibold,sans-serif;font-size:1.375rem}.font-bold-8{font-family:Poppins-Bold,sans-serif;font-size:1.375rem}.font-thin-9{font-family:Poppins-Thin,sans-serif;font-size:1.5rem}.font-light-9{font-family:Poppins-Light,sans-serif;font-size:1.5rem}.font-regular-9{font-family:Poppins-Regular,sans-serif;font-size:1.5rem}.font-medium-9{font-family:Poppins-Medium,sans-serif;font-size:1.5rem}.font-semibold-9{font-family:Poppins-Semibold,sans-serif;font-size:1.5rem}.font-bold-9{font-family:Poppins-Bold,sans-serif;font-size:1.5rem}.font-thin-10{font-family:Poppins-Thin,sans-serif;font-size:1.625rem}.font-light-10{font-family:Poppins-Light,sans-serif;font-size:1.625rem}.font-regular-10{font-family:Poppins-Regular,sans-serif;font-size:1.625rem}.font-medium-10{font-family:Poppins-Medium,sans-serif;font-size:1.625rem}.font-semibold-10{font-family:Poppins-Semibold,sans-serif;font-size:1.625rem}.font-bold-10{font-family:Poppins-Bold,sans-serif;font-size:1.625rem}.font-thin-11{font-family:Poppins-Thin,sans-serif;font-size:2.25rem}.font-light-11{font-family:Poppins-Light,sans-serif;font-size:2.25rem}.font-regular-11{font-family:Poppins-Regular,sans-serif;font-size:2.25rem}.font-medium-11{font-family:Poppins-Medium,sans-serif;font-size:2.25rem}.font-semibold-11{font-family:Poppins-Semibold,sans-serif;font-size:2.25rem}.font-bold-11{font-family:Poppins-Bold,sans-serif;font-size:2.25rem}.font-thin-12{font-family:Poppins-Thin,sans-serif;font-size:3rem}.font-light-12{font-family:Poppins-Light,sans-serif;font-size:3rem}.font-regular-12{font-family:Poppins-Regular,sans-serif;font-size:3rem}.font-medium-12{font-family:Poppins-Medium,sans-serif;font-size:3rem}.font-semibold-12{font-family:Poppins-Semibold,sans-serif;font-size:3rem}.font-bold-12{font-family:Poppins-Bold,sans-serif;font-size:3rem}.bmb_timestream{display:flex;container-type:inline-size;height:100%;background-color:var(--containers-background-fade);font-family:Poppins-Regular,sans-serif;font-size:.75rem;position:relative}.bmb_timestream-aside{display:none;background-color:var(--containers-main)}@container (min-width: 560px){.bmb_timestream-aside{width:50%;max-width:250px;display:block}}.bmb_timestream-main{width:100%}@container (min-width: 560px){.bmb_timestream-main{flex:1}}.bmb_timestream-error{flex:1}.bmb_timestream-dialog{display:flex;gap:var(--bmb-spacing-m);flex-direction:column;font-family:Poppins-Regular,sans-serif;font-size:.75rem}.bmb_timestream-dialog-hero{margin:0;line-height:0;overflow:hidden;border-radius:var(--bmb-radius-l)}.bmb_timestream-dialog-hero-image{width:100%;max-height:14.375rem;object-fit:cover}.bmb_timestream-dialog-user{display:flex;gap:var(--bmb-spacing-s);align-items:center}.bmb_timestream-dialog-user-name{color:var(--general_contrasts-75)}.bmb_timestream-dialog-user-date{color:RGBA(var(--color-charade-500))}.bmb_timestream-dialog-tab{padding:var(--bmb-spacing-m);color:var(--general_contrasts-75)}.bmb_timestream-dialog-tab-title{color:var(--general_contrasts-75);font-family:Poppins-Regular,sans-serif;font-size:.75rem;font-weight:400}.bmb_timestream-dialog-tab-hito-list{display:flex;gap:var(--bmb-spacing-s);flex-flow:column;padding:var(--bmb-spacing-m)}.bmb_timestream-dialog-tab-duration{text-align:right;margin:var(--bmb-spacing-s) 0}.bmb_timestream-dialog .bmb_tabs-item{width:calc(50% - 2rem)}.bmb_timestream-dialog-button-container{padding:var(--bmb-spacing-m)}.bmb_timestream-dialog-button-container button{width:100%}.bmb_timestream-dialog-dual{margin:0 0 var(--bmb-spacing-m);display:flex;flex-wrap:wrap;gap:var(--bmb-spacing-m)}.bmb_timestream-dialog-dual-title,.bmb_timestream-dialog-dual-data{width:calc(50% - var(--bmb-spacing-s))}.bmb_timestream-dialog-dual-data{text-align:right;margin:0}.bmb_timestream-micro{background-color:transparent;height:auto}.bmb_timestream-micro .bmb_hito-card-active:after{background-color:var(--general_contrasts-50)}\n"], dependencies: [{ kind: "component", type: BmbTimestreamErrorComponent, selector: "bmb-timestream-error" }, { kind: "component", type: BmbHitoListComponent, selector: "bmb-hito-list", inputs: ["dateFormat", "lang", "now", "events", "selectedDate", "orderedMonths"], outputs: ["changeSelectedDate"] }, { kind: "component", type: BmbTimestreamDetailsComponent, selector: "bmb-timestream-detail", inputs: ["lang", "now", "selectedDate", "orderedEvents", "isMicro"], outputs: ["changeSelectedEvent"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: BmbUserImageComponent, selector: "bmb-user-image", inputs: ["size", "image", "altImage", "link", "target", "bordered"], outputs: ["buttonPress", "buttonClick", "buttonKeyPress"] }, { kind: "component", type: BmbTabsComponent, selector: "bmb-tabs", inputs: ["appearanceContrast", "format", "tabs", "selectedTabId"], outputs: ["selectedTabIdChange", "selected"] }, { kind: "directive", type: BmbButtonDirective, selector: "[bmbButton]", inputs: ["icon", "iconSize", "position", "case", "appearance", "size", "isToggleActive", "enableButtonToggle", "isRounded", "isMobile", "iconAlt"] }, { kind: "component", type: BmbDividerComponent, selector: "bmb-divider", inputs: ["type"] }, { kind: "component", type: BmbHitoCardComponent, selector: "bmb-hito-card", inputs: ["icon", "title", "id", "short_description", "type", "sub_content", "enable_bullet", "is_active", "isCompact", "alternative_appearance"], outputs: ["handleClick"] }, { kind: "component", type: BmbBadgeComponent, selector: "bmb-badge", inputs: ["appearance", "text", "container"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
219
+ }
220
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BmbTimestreamComponent, decorators: [{
221
+ type: Component,
222
+ args: [{ selector: 'bmb-timestream', standalone: true, imports: [
223
+ BmbTimestreamErrorComponent,
224
+ BmbHitoListComponent,
225
+ BmbTimestreamDetailsComponent,
226
+ CommonModule,
227
+ BmbUserImageComponent,
228
+ BmbTabsComponent,
229
+ BmbButtonDirective,
230
+ BmbDividerComponent,
231
+ BmbHitoCardComponent,
232
+ BmbBadgeComponent,
233
+ ], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<section\n class=\"bmb_timestream\"\n [ngClass]=\"{ 'bmb_timestream-micro': isMicro() }\"\n>\n @if (error) {\n <div class=\"bmb_timestream-error\">\n <bmb-timestream-error />\n </div>\n } @else {\n @if (!isMicro()) {\n <aside class=\"bmb_timestream-aside\">\n <bmb-hito-list\n [dateFormat]=\"dateFormat()\"\n [lang]=\"lang()\"\n [now]=\"now\"\n [events]=\"parsedEvents\"\n [selectedDate]=\"selectedDate\"\n [orderedMonths]=\"orderedMonths\"\n (changeSelectedDate)=\"handleSelectedDateChange($event)\"\n />\n </aside>\n }\n <section class=\"bmb_timestream-main\">\n <bmb-timestream-detail\n [lang]=\"lang()\"\n [now]=\"now\"\n [selectedDate]=\"selectedDate\"\n (changeSelectedEvent)=\"handleSelectedEventChange($event)\"\n [orderedEvents]=\"orderedEvents()\"\n [isMicro]=\"isMicro()\"\n />\n </section>\n }\n</section>\n\n<ng-template #modalTemplate>\n @if (selectedEvent) {\n <section class=\"bmb_timestream-dialog\">\n <figure class=\"bmb_timestream-dialog-hero\">\n <img\n [src]=\"selectedEvent.image\"\n [alt]=\"selectedEvent.title\"\n class=\"bmb_timestream-dialog-hero-image\"\n />\n </figure>\n <div class=\"bmb_timestream-dialog-user\">\n <bmb-user-image\n size=\"mobile-small\"\n [image]=\"selectedEvent.picture_profile || ''\"\n [altImage]=\"selectedEvent.user_first_name || ''\"\n [bordered]=\"false\"\n />\n <span class=\"bmb_timestream-dialog-user-name\"\n >{{ selectedEvent.user_first_name }}\n {{ selectedEvent.user_last_name }}</span\n >\n <span class=\"bmb_timestream-dialog-user-date\">{{\n selectedEvent.startEvent?.toFormat(\"dd/MM/yyyy\")\n }}</span>\n </div>\n <bmb-tabs\n [tabs]=\"eventTabs\"\n (selected)=\"handleTabSelected($event)\"\n style=\"flex: 1\"\n >\n @switch (tabSelected) {\n @case (1) {\n <div class=\"bmb_timestream-dialog-tab\">\n <dl class=\"bmb_timestream-dialog-dual\">\n <dt class=\"bmb_timestream-dialog-dual-title\">Estado:</dt>\n <dd class=\"bmb_timestream-dialog-dual-data\">\n <bmb-badge\n [appearance]=\"appearanceBadge(selectedEvent.type)\"\n [text]=\"getBadgeText(selectedEvent.type)\"\n [container]=\"false\"\n />\n </dd>\n <dt class=\"bmb_timestream-dialog-dual-title\">\n Duraci\u00F3n total:\n </dt>\n <dd class=\"bmb_timestream-dialog-dual-data\">\n {{ getDiffString(selectedEvent.diff) }}\n </dd>\n </dl>\n <p>{{ selectedEvent.description }}</p>\n </div>\n }\n @case (2) {\n <div class=\"bmb_timestream-dialog-tab\">\n <h3 class=\"bmb_timestream-dialog-tab-title\">Instancias</h3>\n <bmb-divider type=\"simple\" />\n <section class=\"bmb_timestream-dialog-tab-hito-list\">\n @for (date of getInstances(selectedEvent); track $index) {\n <bmb-hito-card\n [icon]=\"selectedEvent.icon || 'app_badging'\"\n [title]=\"selectedEvent.title\"\n [type]=\"selectedEvent.type\"\n [id]=\"$index\"\n [enable_bullet]=\"false\"\n [alternative_appearance]=\"true\"\n [isCompact]=\"true\"\n />\n }\n @if (selectedEvent.diff) {\n <p class=\"bmb_timestream-dialog-tab-duration\">\n {{ getDurationString(selectedEvent) }}\n </p>\n }\n @if (selectedEvent.related_to) {\n <h3 class=\"bmb_timestream-dialog-container-tab-title\">\n Relacionado a\n </h3>\n @for (related of selectedEvent.related_to; track $index) {\n <bmb-hito-card\n [icon]=\"selectedEvent.icon || 'app_badging'\"\n [title]=\"related\"\n [type]=\"selectedEvent.type\"\n [id]=\"related\"\n [enable_bullet]=\"false\"\n [alternative_appearance]=\"true\"\n [isCompact]=\"true\"\n />\n }\n }\n </section>\n </div>\n }\n }\n </bmb-tabs>\n <section class=\"bmb_timestream-dialog-button-container\">\n <button bmbButton appearance=\"primary\" icon=\"fit_screen\">\n Ir a decisi\u00F3n\n </button>\n </section>\n </section>\n }\n</ng-template>\n", styles: ["@font-face{font-family:Poppins-Thin;font-style:normal;font-weight:100;src:url(/assets/fonts/Poppins/Poppins-Thin.ttf) format(\"truetype\")}@font-face{font-family:Poppins-Light;font-style:normal;font-weight:300;src:url(/assets/fonts/Poppins/Poppins-ExtraLight.ttf) format(\"truetype\")}@font-face{font-family:Poppins-Regular;font-style:normal;font-weight:400;src:url(/assets/fonts/Poppins/Poppins-Regular.ttf) format(\"truetype\")}@font-face{font-family:Poppins-Medium;font-style:normal;font-weight:500;src:url(/assets/fonts/Poppins/Poppins-Medium.ttf) format(\"truetype\")}@font-face{font-family:Poppins-Semibold;font-style:normal;font-weight:600;src:url(/assets/fonts/Poppins/Poppins-SemiBold.ttf) format(\"truetype\")}@font-face{font-family:Poppins-Bold;font-style:normal;font-weight:700;src:url(/assets/fonts/Poppins/Poppins-Bold.ttf) format(\"truetype\")}:root,:host{--font-display: \"Poppins-Regular\", sans-serif}.font-thin-1{font-family:Poppins-Thin,sans-serif;font-size:.625rem}.font-light-1{font-family:Poppins-Light,sans-serif;font-size:.625rem}.font-regular-1{font-family:Poppins-Regular,sans-serif;font-size:.625rem}.font-medium-1{font-family:Poppins-Medium,sans-serif;font-size:.625rem}.font-semibold-1{font-family:Poppins-Semibold,sans-serif;font-size:.625rem}.font-bold-1{font-family:Poppins-Bold,sans-serif;font-size:.625rem}.font-thin-2{font-family:Poppins-Thin,sans-serif;font-size:.6875rem}.font-light-2{font-family:Poppins-Light,sans-serif;font-size:.6875rem}.font-regular-2{font-family:Poppins-Regular,sans-serif;font-size:.6875rem}.font-medium-2{font-family:Poppins-Medium,sans-serif;font-size:.6875rem}.font-semibold-2{font-family:Poppins-Semibold,sans-serif;font-size:.6875rem}.font-bold-2{font-family:Poppins-Bold,sans-serif;font-size:.6875rem}.font-thin-3{font-family:Poppins-Thin,sans-serif;font-size:.75rem}.font-light-3{font-family:Poppins-Light,sans-serif;font-size:.75rem}.font-regular-3{font-family:Poppins-Regular,sans-serif;font-size:.75rem}.font-medium-3{font-family:Poppins-Medium,sans-serif;font-size:.75rem}.font-semibold-3{font-family:Poppins-Semibold,sans-serif;font-size:.75rem}.font-bold-3{font-family:Poppins-Bold,sans-serif;font-size:.75rem}.font-thin-4{font-family:Poppins-Thin,sans-serif;font-size:.875rem}.font-light-4{font-family:Poppins-Light,sans-serif;font-size:.875rem}.font-regular-4{font-family:Poppins-Regular,sans-serif;font-size:.875rem}.font-medium-4{font-family:Poppins-Medium,sans-serif;font-size:.875rem}.font-semibold-4{font-family:Poppins-Semibold,sans-serif;font-size:.875rem}.font-bold-4{font-family:Poppins-Bold,sans-serif;font-size:.875rem}.font-thin-4_5{font-family:Poppins-Thin,sans-serif;font-size:.9375rem}.font-light-4_5{font-family:Poppins-Light,sans-serif;font-size:.9375rem}.font-regular-4_5{font-family:Poppins-Regular,sans-serif;font-size:.9375rem}.font-medium-4_5{font-family:Poppins-Medium,sans-serif;font-size:.9375rem}.font-semibold-4_5{font-family:Poppins-Semibold,sans-serif;font-size:.9375rem}.font-bold-4_5{font-family:Poppins-Bold,sans-serif;font-size:.9375rem}.font-thin-5{font-family:Poppins-Thin,sans-serif;font-size:1rem}.font-light-5{font-family:Poppins-Light,sans-serif;font-size:1rem}.font-regular-5{font-family:Poppins-Regular,sans-serif;font-size:1rem}.font-medium-5{font-family:Poppins-Medium,sans-serif;font-size:1rem}.font-semibold-5{font-family:Poppins-Semibold,sans-serif;font-size:1rem}.font-bold-5{font-family:Poppins-Bold,sans-serif;font-size:1rem}.font-thin-6{font-family:Poppins-Thin,sans-serif;font-size:1.125rem}.font-light-6{font-family:Poppins-Light,sans-serif;font-size:1.125rem}.font-regular-6{font-family:Poppins-Regular,sans-serif;font-size:1.125rem}.font-medium-6{font-family:Poppins-Medium,sans-serif;font-size:1.125rem}.font-semibold-6{font-family:Poppins-Semibold,sans-serif;font-size:1.125rem}.font-bold-6{font-family:Poppins-Bold,sans-serif;font-size:1.125rem}.font-thin-7{font-family:Poppins-Thin,sans-serif;font-size:1.25rem}.font-light-7{font-family:Poppins-Light,sans-serif;font-size:1.25rem}.font-regular-7{font-family:Poppins-Regular,sans-serif;font-size:1.25rem}.font-medium-7{font-family:Poppins-Medium,sans-serif;font-size:1.25rem}.font-semibold-7{font-family:Poppins-Semibold,sans-serif;font-size:1.25rem}.font-bold-7{font-family:Poppins-Bold,sans-serif;font-size:1.25rem}.font-thin-8{font-family:Poppins-Thin,sans-serif;font-size:1.375rem}.font-light-8{font-family:Poppins-Light,sans-serif;font-size:1.375rem}.font-regular-8{font-family:Poppins-Regular,sans-serif;font-size:1.375rem}.font-medium-8{font-family:Poppins-Medium,sans-serif;font-size:1.375rem}.font-semibold-8{font-family:Poppins-Semibold,sans-serif;font-size:1.375rem}.font-bold-8{font-family:Poppins-Bold,sans-serif;font-size:1.375rem}.font-thin-9{font-family:Poppins-Thin,sans-serif;font-size:1.5rem}.font-light-9{font-family:Poppins-Light,sans-serif;font-size:1.5rem}.font-regular-9{font-family:Poppins-Regular,sans-serif;font-size:1.5rem}.font-medium-9{font-family:Poppins-Medium,sans-serif;font-size:1.5rem}.font-semibold-9{font-family:Poppins-Semibold,sans-serif;font-size:1.5rem}.font-bold-9{font-family:Poppins-Bold,sans-serif;font-size:1.5rem}.font-thin-10{font-family:Poppins-Thin,sans-serif;font-size:1.625rem}.font-light-10{font-family:Poppins-Light,sans-serif;font-size:1.625rem}.font-regular-10{font-family:Poppins-Regular,sans-serif;font-size:1.625rem}.font-medium-10{font-family:Poppins-Medium,sans-serif;font-size:1.625rem}.font-semibold-10{font-family:Poppins-Semibold,sans-serif;font-size:1.625rem}.font-bold-10{font-family:Poppins-Bold,sans-serif;font-size:1.625rem}.font-thin-11{font-family:Poppins-Thin,sans-serif;font-size:2.25rem}.font-light-11{font-family:Poppins-Light,sans-serif;font-size:2.25rem}.font-regular-11{font-family:Poppins-Regular,sans-serif;font-size:2.25rem}.font-medium-11{font-family:Poppins-Medium,sans-serif;font-size:2.25rem}.font-semibold-11{font-family:Poppins-Semibold,sans-serif;font-size:2.25rem}.font-bold-11{font-family:Poppins-Bold,sans-serif;font-size:2.25rem}.font-thin-12{font-family:Poppins-Thin,sans-serif;font-size:3rem}.font-light-12{font-family:Poppins-Light,sans-serif;font-size:3rem}.font-regular-12{font-family:Poppins-Regular,sans-serif;font-size:3rem}.font-medium-12{font-family:Poppins-Medium,sans-serif;font-size:3rem}.font-semibold-12{font-family:Poppins-Semibold,sans-serif;font-size:3rem}.font-bold-12{font-family:Poppins-Bold,sans-serif;font-size:3rem}.bmb_timestream{display:flex;container-type:inline-size;height:100%;background-color:var(--containers-background-fade);font-family:Poppins-Regular,sans-serif;font-size:.75rem;position:relative}.bmb_timestream-aside{display:none;background-color:var(--containers-main)}@container (min-width: 560px){.bmb_timestream-aside{width:50%;max-width:250px;display:block}}.bmb_timestream-main{width:100%}@container (min-width: 560px){.bmb_timestream-main{flex:1}}.bmb_timestream-error{flex:1}.bmb_timestream-dialog{display:flex;gap:var(--bmb-spacing-m);flex-direction:column;font-family:Poppins-Regular,sans-serif;font-size:.75rem}.bmb_timestream-dialog-hero{margin:0;line-height:0;overflow:hidden;border-radius:var(--bmb-radius-l)}.bmb_timestream-dialog-hero-image{width:100%;max-height:14.375rem;object-fit:cover}.bmb_timestream-dialog-user{display:flex;gap:var(--bmb-spacing-s);align-items:center}.bmb_timestream-dialog-user-name{color:var(--general_contrasts-75)}.bmb_timestream-dialog-user-date{color:RGBA(var(--color-charade-500))}.bmb_timestream-dialog-tab{padding:var(--bmb-spacing-m);color:var(--general_contrasts-75)}.bmb_timestream-dialog-tab-title{color:var(--general_contrasts-75);font-family:Poppins-Regular,sans-serif;font-size:.75rem;font-weight:400}.bmb_timestream-dialog-tab-hito-list{display:flex;gap:var(--bmb-spacing-s);flex-flow:column;padding:var(--bmb-spacing-m)}.bmb_timestream-dialog-tab-duration{text-align:right;margin:var(--bmb-spacing-s) 0}.bmb_timestream-dialog .bmb_tabs-item{width:calc(50% - 2rem)}.bmb_timestream-dialog-button-container{padding:var(--bmb-spacing-m)}.bmb_timestream-dialog-button-container button{width:100%}.bmb_timestream-dialog-dual{margin:0 0 var(--bmb-spacing-m);display:flex;flex-wrap:wrap;gap:var(--bmb-spacing-m)}.bmb_timestream-dialog-dual-title,.bmb_timestream-dialog-dual-data{width:calc(50% - var(--bmb-spacing-s))}.bmb_timestream-dialog-dual-data{text-align:right;margin:0}.bmb_timestream-micro{background-color:transparent;height:auto}.bmb_timestream-micro .bmb_hito-card-active:after{background-color:var(--general_contrasts-50)}\n"] }]
234
+ }], ctorParameters: () => [{ type: i1.MatDialog }], propDecorators: { modalTemplate: [{
235
+ type: ViewChild,
236
+ args: ['modalTemplate', { read: TemplateRef }]
237
+ }] } });
238
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm1iLXRpbWVzdHJlYW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZHMtbmcvc3JjL2xpYi9jb21wb25lbnRzL2JtYi10aW1lc3RyZWFtL2JtYi10aW1lc3RyZWFtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RzLW5nL3NyYy9saWIvY29tcG9uZW50cy9ibWItdGltZXN0cmVhbS9ibWItdGltZXN0cmVhbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxLQUFLLEVBQ0wsTUFBTSxFQUVOLFdBQVcsRUFDWCxTQUFTLEVBQ1QsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBQ3BHLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLHlEQUF5RCxDQUFDO0FBT3hHLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUVyRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUNuRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUNsRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNoRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7OztBQXdDckUsTUFBTSxPQUFPLHNCQUFzQjtJQStCakMsWUFBb0IsU0FBb0I7UUFBcEIsY0FBUyxHQUFULFNBQVMsQ0FBVztRQTlCeEMsWUFBTyxHQUFHLEtBQUssQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUNoQyxTQUFJLEdBQUcsS0FBSyxDQUFTLElBQUksQ0FBQyxDQUFDO1FBQzNCLGVBQVUsR0FBRyxLQUFLLENBQVMsWUFBWSxDQUFDLENBQUM7UUFDekMsV0FBTSxHQUFHLEtBQUssQ0FBbUIsRUFBRSxDQUFDLENBQUM7UUFDckMsVUFBSyxHQUFHLEtBQUssQ0FBWSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUtwRSxpQkFBaUI7UUFDakIsVUFBSyxHQUFHLEtBQUssQ0FBQztRQUNkLFFBQUcsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDckIsVUFBSyxHQUFvQixJQUFJLENBQUM7UUFFOUIsZ0JBQVcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQzNELGtCQUFhLEdBQUcsTUFBTSxDQUF5QixFQUFFLENBQUMsQ0FBQztRQUNuRCxpQkFBWSxHQUFrQjtZQUM1QixHQUFHLEVBQUUsRUFBRTtZQUNQLEtBQUssRUFBRSxFQUFFO1lBQ1QsSUFBSSxFQUFFLElBQUksQ0FBQyxHQUFHO1NBQ2YsQ0FBQztRQUNGLGtCQUFhLEdBQWEsRUFBRSxDQUFDO1FBRTdCLGtCQUFhLEdBQTBCLElBQUksQ0FBQztRQUM1QyxjQUFTLEdBQVU7WUFDakIsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxhQUFhLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtZQUMvQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRTtTQUMvQixDQUFDO1FBQ0YsZ0JBQVcsR0FBRyxDQUFDLENBQUM7SUFFMkIsQ0FBQztJQUU1QyxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUN2RSxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxTQUFTLENBQUMsQ0FBQztRQUNuRSxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO0lBQzlDLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBQ3RELElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQ25FLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDOUMsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUN2QixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUM7UUFDckMsQ0FBQztJQUNILENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxHQUFRO1FBQ3hCLElBQUksQ0FBQyxXQUFXLEdBQUcsR0FBRyxDQUFDLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQsYUFBYSxDQUFDLE1BQXlCO1FBQ3JDLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDcEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDM0IsT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDO1FBRUQsTUFBTSxXQUFXLEdBQXVCLEVBQUUsQ0FBQztRQUMzQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDdkIsTUFBTSxTQUFTLEdBQUcsUUFBUSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO1lBQ3RFLE1BQU0sT0FBTyxHQUFHLFFBQVEsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQztZQUNsRSxNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDO1lBRXRELEtBQUssSUFBSSxLQUFLLEdBQUcsQ0FBQyxFQUFFLEtBQUssR0FBRyxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQztnQkFDMUMsTUFBTSxXQUFXLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO2dCQUNwRCxNQUFNLFVBQVUsR0FBRyxXQUFXLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxDQUFDO2dCQUN0RCxNQUFNLEtBQUssR0FBRyxXQUFXLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDO2dCQUU5QyxXQUFXLENBQUMsS0FBSyxDQUFDLEtBQUs7b0JBQ3JCLE1BQU0sRUFBRSxFQUFFO29CQUNWLElBQUksRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDO29CQUM3QyxVQUFVLEVBQUUsS0FBSztvQkFDakIsSUFBSSxFQUFFLFdBQVcsQ0FBQyxJQUFJO29CQUN0QixJQUFJLEVBQUUsV0FBVztpQkFDbEIsQ0FBQztnQkFFRixXQUFXLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxLQUFLO29CQUN4QyxNQUFNLEVBQUUsRUFBRTtvQkFDVixJQUFJLEVBQUUsV0FBVztvQkFDakIsVUFBVTtvQkFDVixRQUFRLEVBQUUsS0FBSztpQkFDaEIsQ0FBQztnQkFFRixXQUFXLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUM7b0JBQ2hELEdBQUcsS0FBSztvQkFDUixLQUFLLEVBQUUsVUFBVTtvQkFDakIsVUFBVSxFQUFFLFdBQVc7b0JBQ3ZCLFFBQVEsRUFBRSxPQUFPO29CQUNqQixRQUFRLEVBQUUsS0FBSztvQkFDZixJQUFJLEVBQUUsSUFBSSxHQUFHLENBQUM7b0JBQ2QsYUFBYSxFQUFFLFNBQVM7aUJBQ3pCLENBQUMsQ0FBQztZQUNMLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUVILE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBRTlELElBQUksYUFBYSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ3pCLFdBQVcsQ0FBQyxlQUFlLENBQUMsR0FBRyxhQUFhLENBQUM7WUFFN0MsV0FBVyxDQUFDLGVBQWUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQVksRUFBRSxFQUFFO2dCQUNwRCxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsZUFBZSxDQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FDbEQsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sRUFDeEIsWUFBWSxDQUNiLENBQUM7WUFDSixDQUFDLENBQUMsQ0FBQztZQUVILElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUNwQixXQUFXLENBQUMsZUFBZSxDQUFDO2lCQUN6QixHQUFHLENBQUMsQ0FBQyxLQUFhLEVBQUUsRUFBRTtnQkFDckIsT0FBTyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsR0FBRyxDQUM1QyxDQUFDLEdBQVcsRUFBRSxFQUFFLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FDaEQsQ0FBQztZQUNKLENBQUMsQ0FBQztpQkFDRCxJQUFJLEVBQUUsQ0FDVixDQUFDO1FBQ0osQ0FBQztRQUVELE9BQU8sV0FBVyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxVQUFVLENBQUMsTUFBVyxFQUFFLE1BQWM7UUFDcEMsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN2QyxNQUFNLGFBQWEsR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBYSxFQUFFLEtBQWEsRUFBRSxFQUFFO1lBQ3JFLE1BQU0sV0FBVyxHQUFHLFFBQVEsQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBQ3ZELE1BQU0sV0FBVyxHQUFHLFFBQVEsQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBQ3ZELE9BQU8sV0FBVyxDQUFDLFFBQVEsRUFBRSxHQUFHLFdBQVcsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN6RCxDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sYUFBYSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxnQkFBZ0I7UUFDZCxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWE7WUFDckIsT0FBTztnQkFDTCxLQUFLLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEdBQUcsRUFBRTtnQkFDMUIsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxHQUFHLEVBQUU7Z0JBQ3RCLElBQUksRUFBRSxJQUFJLENBQUMsR0FBRzthQUNmLENBQUM7UUFFSixNQUFNLEtBQUssR0FDVCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQy9CLElBQUksSUFBSSxLQUFLLGVBQWU7Z0JBQUUsT0FBTyxLQUFLLENBQUM7WUFDM0MsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUM7WUFFaEQsT0FBTyxDQUNMLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxJQUFJLFVBQVUsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLElBQUksVUFBVSxDQUFDLEtBQUssQ0FDdkUsQ0FBQztRQUNKLENBQUMsQ0FBQztZQUNGLElBQUksQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3pCLEVBQUUsQ0FBQztRQUNMLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxhQUFhLENBQUM7UUFFaEUsTUFBTSxHQUFHLEdBQ1AsYUFBYSxFQUFFLElBQUksQ0FBQyxDQUFDLElBQVksRUFBRSxFQUFFO1lBQ25DLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQztZQUM5RCxPQUFPLENBQ0wsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLElBQUksVUFBVSxDQUFDLElBQUk7Z0JBQ2hDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxJQUFJLFVBQVUsQ0FBQyxLQUFLO2dCQUNsQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxVQUFVLENBQUMsR0FBRyxDQUMvQixDQUFDO1FBQ0osQ0FBQyxDQUFDO1lBQ0YsYUFBYSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNyQixFQUFFLENBQUM7UUFFTCxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxLQUFLLGVBQWUsRUFBRSxDQUFDO1lBQzFELElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztZQUN6QyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1FBQ3ZELENBQUM7UUFDRCxPQUFPO1lBQ0wsS0FBSztZQUNMLEdBQUc7WUFDSCxJQUFJLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLElBQUk7U0FDdEQsQ0FBQztJQUNKLENBQUM7SUFFRCx3QkFBd0IsQ0FBQyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQWtDO1FBQ3JFLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1FBQzVELElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQy9DLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUN0QixDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7UUFFbkIsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1FBQ3pDLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7UUFFckQsSUFBSSxDQUFDLFlBQVksR0FBRztZQUNsQixLQUFLO1lBQ0wsR0FBRztZQUNILElBQUksRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJO1NBQ2hELENBQUM7SUFDSixDQUFDO0lBRUQseUJBQXlCLENBQUMsS0FBcUI7UUFDN0MsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7UUFFM0IsTUFBTSxJQUFJLEdBQW9CO1lBQzVCLEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSztZQUNsQixPQUFPLEVBQUUsSUFBSSxDQUFDLFFBQVE7WUFDdEIsSUFBSSxFQUFFLE9BQU87WUFDYixpQkFBaUIsRUFBRSxJQUFJO1NBQ3hCLENBQUM7UUFFRixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVELGFBQWEsQ0FBQyxJQUFjO1FBQzFCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUNuRSxDQUFDO0lBRUQsWUFBWSxDQUFDLEtBQVU7UUFDckIsTUFBTSxTQUFTLEdBQUcsRUFBRSxDQUFDO1FBQ3JCLEtBQUssSUFBSSxLQUFLLEdBQUcsQ0FBQyxFQUFFLEtBQUssR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUM7WUFDM0QsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztZQUN2RCxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUMzQyxDQUFDO1FBQ0QsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUVELGlCQUFpQixDQUFDLEtBQXFCO1FBQ3JDLE9BQU8sYUFBYSxLQUFLLENBQUMsYUFBYSxFQUFFLEdBQUcsTUFBTSxLQUFLLENBQUMsUUFBUSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDO0lBQ3RKLENBQUM7SUFFRCxhQUFhLENBQUMsT0FBZSxDQUFDO1FBQzVCLE9BQU8sSUFBSSxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksR0FBRyxDQUFDLE1BQU0sQ0FBQztJQUMvRCxDQUFDO0lBRUQsZUFBZSxDQUNiLFNBQTJDO1FBRTNDLElBQUksT0FBTyxTQUFTLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDbEMsUUFBUSxTQUFTLEVBQUUsQ0FBQztnQkFDbEIsS0FBSyxRQUFRO29CQUNYLE9BQU8sWUFBWSxDQUFDO2dCQUN0QixLQUFLLE1BQU07b0JBQ1QsT0FBTyxTQUFTLENBQUM7Z0JBQ25CLEtBQUssU0FBUztvQkFDWixPQUFPLFFBQVEsQ0FBQztnQkFDbEIsS0FBSyxjQUFjO29CQUNqQixPQUFPLFNBQVMsQ0FBQztnQkFDbkI7b0JBQ0UsT0FBTyxZQUFZLENBQUM7WUFDeEIsQ0FBQztRQUNILENBQUM7UUFDRCxPQUFPLFNBQVMsQ0FBQyxJQUFJLElBQUksUUFBUSxDQUFDO0lBQ3BDLENBQUM7SUFFRCxZQUFZLENBQUMsU0FBMkM7UUFDdEQsSUFBSSxPQUFPLFNBQVMsS0FBSyxRQUFRO1lBQUUsT0FBTyxTQUFTLENBQUM7UUFDcEQsT0FBTyxTQUFTLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQztJQUM5QixDQUFDOytHQTdQVSxzQkFBc0I7bUdBQXRCLHNCQUFzQiw4eEJBT0csV0FBVyxrREM1RWpELG03SkF5SUEsZzNRRHBGSSwyQkFBMkIsaUVBQzNCLG9CQUFvQiw2S0FDcEIsNkJBQTZCLHdLQUM3QixZQUFZLDZIQUNaLHFCQUFxQiwyTEFDckIsZ0JBQWdCLHNLQUNoQixrQkFBa0IsNE1BQ2xCLG1CQUFtQiwwRUFDbkIsb0JBQW9CLHNPQUNwQixpQkFBaUI7OzRGQU9SLHNCQUFzQjtrQkFwQmxDLFNBQVM7K0JBQ0UsZ0JBQWdCLGNBQ2QsSUFBSSxXQUNQO3dCQUNQLDJCQUEyQjt3QkFDM0Isb0JBQW9CO3dCQUNwQiw2QkFBNkI7d0JBQzdCLFlBQVk7d0JBQ1oscUJBQXFCO3dCQUNyQixnQkFBZ0I7d0JBQ2hCLGtCQUFrQjt3QkFDbEIsbUJBQW1CO3dCQUNuQixvQkFBb0I7d0JBQ3BCLGlCQUFpQjtxQkFDbEIsaUJBR2MsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTTs4RUFVL0MsYUFBYTtzQkFEWixTQUFTO3VCQUFDLGVBQWUsRUFBRSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBpbnB1dCxcbiAgc2lnbmFsLFxuICBTaW1wbGVDaGFuZ2VzLFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NoaWxkLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEYXRlVGltZSwgSW5mbyB9IGZyb20gJ2x1eG9uJztcbmltcG9ydCB7IEJtYlRpbWVzdHJlYW1FcnJvckNvbXBvbmVudCB9IGZyb20gJy4vYm1iLXRpbWVzdHJlYW0tZXJyb3IvYm1iLXRpbWVzdHJlYW0tZXJyb3IuY29tcG9uZW50JztcbmltcG9ydCB7IEJtYkhpdG9MaXN0Q29tcG9uZW50IH0gZnJvbSAnLi4vYm1iLWhpdG8tbGlzdC9ibWItaGl0by1saXN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCbWJUaW1lc3RyZWFtRGV0YWlsc0NvbXBvbmVudCB9IGZyb20gJy4vYm1iLXRpbWVzdHJlYW0tZGV0YWlsL2JtYi10aW1lc3RyZWFtLWRldGFpbC5jb21wb25lbnQnO1xuaW1wb3J0IHtcbiAgSVRpbWVsaW5lRXZlbnQsXG4gIElTZWxlY3RlZERhdGUsXG4gIElUaW1lbGluZUV2ZW50UGFyc2VkLFxuICBJQm1iVGltZWxpbmVDdXN0b21FdmVudCxcbn0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTW9kYWxEYXRhQ29uZmlnIH0gZnJvbSAnLi4vYm1iLW1vZGFsL2JtYi1tb2RhbC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQm1iTW9kYWxDb21wb25lbnQgfSBmcm9tICcuLi9ibWItbW9kYWwvYm1iLW1vZGFsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNYXREaWFsb2cgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgQm1iVXNlckltYWdlQ29tcG9uZW50IH0gZnJvbSAnLi4vYm1iLXVzZXItaW1hZ2UvYm1iLXVzZXItaW1hZ2UuY29tcG9uZW50JztcbmltcG9ydCB7IEJtYlRhYnNDb21wb25lbnQgfSBmcm9tICcuLi9ibWItdGFicy9ibWItdGFicy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQm1iQnV0dG9uRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcy9ibWItYnV0dG9uL2J1dHRvbi5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQm1iRGl2aWRlckNvbXBvbmVudCB9IGZyb20gJy4uL2JtYi1kaXZpZGVyL2JtYi1kaXZpZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCbWJIaXRvQ2FyZENvbXBvbmVudCB9IGZyb20gJy4uL2JtYi1oaXRvLWNhcmQvYm1iLWhpdG8tY2FyZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQm1iQmFkZ2VDb21wb25lbnQgfSBmcm9tICcuLi9ibWItYmFkZ2UvYm1iLWJhZGdlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJQmJtQmdBcHBlYXJhbmNlIH0gZnJvbSAnLi4vYm1iLWFkdmVydGlzZW1lbnQtY2FyZC90eXBlcyc7XG5cbmludGVyZmFjZSBJUGxhY2Vob2xkZXJPYmplY3Qge1xuICBba2V5OiBzdHJpbmddOiBhbnkgfCBhbnlbXTtcbn1cblxuaW50ZXJmYWNlIFRhYiB7XG4gIGlkOiBudW1iZXI7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIGlzQWN0aXZlPzogYm9vbGVhbjtcbiAgYmFkZ2U/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUJtYkNsYW1wIHtcbiAgbWluOiBudW1iZXIgfCBzdHJpbmc7XG4gIG1heDogbnVtYmVyIHwgc3RyaW5nO1xuICBzaXplOiBudW1iZXIgfCBzdHJpbmc7XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JtYi10aW1lc3RyZWFtJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIEJtYlRpbWVzdHJlYW1FcnJvckNvbXBvbmVudCxcbiAgICBCbWJIaXRvTGlzdENvbXBvbmVudCxcbiAgICBCbWJUaW1lc3RyZWFtRGV0YWlsc0NvbXBvbmVudCxcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgQm1iVXNlckltYWdlQ29tcG9uZW50LFxuICAgIEJtYlRhYnNDb21wb25lbnQsXG4gICAgQm1iQnV0dG9uRGlyZWN0aXZlLFxuICAgIEJtYkRpdmlkZXJDb21wb25lbnQsXG4gICAgQm1iSGl0b0NhcmRDb21wb25lbnQsXG4gICAgQm1iQmFkZ2VDb21wb25lbnQsXG4gIF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9ibWItdGltZXN0cmVhbS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9ibWItdGltZXN0cmVhbS5jb21wb25lbnQuc2NzcycsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBCbWJUaW1lc3RyZWFtQ29tcG9uZW50IHtcbiAgaXNNaWNybyA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcbiAgbGFuZyA9IGlucHV0PHN0cmluZz4oJ2VzJyk7XG4gIGRhdGVGb3JtYXQgPSBpbnB1dDxzdHJpbmc+KCdkZC9NTS95eXl5Jyk7XG4gIGV2ZW50cyA9IGlucHV0PElUaW1lbGluZUV2ZW50W10+KFtdKTtcbiAgY2xhbXAgPSBpbnB1dDxJQm1iQ2xhbXA+KHsgbWluOiAxMDAsIG1heDogJzEwMGR2aCcsIHNpemU6ICcxMDAlJyB9KTtcblxuICBAVmlld0NoaWxkKCdtb2RhbFRlbXBsYXRlJywgeyByZWFkOiBUZW1wbGF0ZVJlZiB9KVxuICBtb2RhbFRlbXBsYXRlPzogVGVtcGxhdGVSZWY8YW55PjtcblxuICAvLyBpbnRlcm5hbCBzdGF0ZVxuICBlcnJvciA9IGZhbHNlO1xuICBub3cgPSBEYXRlVGltZS5ub3coKTtcbiAgc3RhcnQ6IERhdGVUaW1lIHwgbnVsbCA9IG51bGw7XG4gIHBhcnNlZEV2ZW50cz86IGFueTtcbiAgbW9udGhzTmFtZXMgPSBJbmZvLm1vbnRocygnbG9uZycsIHsgbG9jYWxlOiB0aGlzLmxhbmcoKSB9KTtcbiAgb3JkZXJlZEV2ZW50cyA9IHNpZ25hbDxJVGltZWxpbmVFdmVudFBhcnNlZFtdPihbXSk7XG4gIHNlbGVjdGVkRGF0ZTogSVNlbGVjdGVkRGF0ZSA9IHtcbiAgICBkYXk6ICcnLFxuICAgIG1vbnRoOiAnJyxcbiAgICBkYXRlOiB0aGlzLm5vdyxcbiAgfTtcbiAgb3JkZXJlZE1vbnRoczogc3RyaW5nW10gPSBbXTtcbiAgbmV3TW9kYWwhOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICBzZWxlY3RlZEV2ZW50OiBJVGltZWxpbmVFdmVudCB8IG51bGwgPSBudWxsO1xuICBldmVudFRhYnM6IFRhYltdID0gW1xuICAgIHsgaWQ6IDEsIHRpdGxlOiAnRGVzY3JpcGNpw7NuJywgaXNBY3RpdmU6IHRydWUgfSxcbiAgICB7IGlkOiAyLCB0aXRsZTogJ0luc3RhbmNpYXMnIH0sXG4gIF07XG4gIHRhYlNlbGVjdGVkID0gMTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIG1hdERpYWxvZzogTWF0RGlhbG9nKSB7fVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICB0aGlzLnBhcnNlZEV2ZW50cyA9IHRoaXMucHJlcGFyZUV2ZW50cyhjaGFuZ2VzWydldmVudHMnXS5jdXJyZW50VmFsdWUpO1xuICAgIHRoaXMub3JkZXJlZE1vbnRocyA9IHRoaXMub3JkZXJEYXRlcyh0aGlzLnBhcnNlZEV2ZW50cywgJ3l5eXkvTU0nKTtcbiAgICB0aGlzLnNlbGVjdGVkRGF0ZSA9IHRoaXMuc2VsZWN0QVZhbGlkRGF0ZSgpO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5wYXJzZWRFdmVudHMgPSB0aGlzLnByZXBhcmVFdmVudHModGhpcy5ldmVudHMoKSk7XG4gICAgdGhpcy5vcmRlcmVkTW9udGhzID0gdGhpcy5vcmRlckRhdGVzKHRoaXMucGFyc2VkRXZlbnRzLCAneXl5eS9NTScpO1xuICAgIHRoaXMuc2VsZWN0ZWREYXRlID0gdGhpcy5zZWxlY3RBVmFsaWREYXRlKCk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMubW9kYWxUZW1wbGF0ZSkge1xuICAgICAgdGhpcy5uZXdNb2RhbCA9IHRoaXMubW9kYWxUZW1wbGF0ZTtcbiAgICB9XG4gIH1cblxuICBoYW5kbGVUYWJTZWxlY3RlZCh0YWI6IFRhYikge1xuICAgIHRoaXMudGFiU2VsZWN0ZWQgPSB0YWIuaWQ7XG4gIH1cblxuICBwcmVwYXJlRXZlbnRzKGV2ZW50cz86IElUaW1lbGluZUV2ZW50W10pIHtcbiAgICBpZiAoIWV2ZW50cz8ubGVuZ3RoKSB7XG4gICAgICB0aGlzLm9yZGVyZWRFdmVudHMuc2V0KFtdKTtcbiAgICAgIHJldHVybiB7fTtcbiAgICB9XG5cbiAgICBjb25zdCBvYmplY3RFdmVudDogSVBsYWNlaG9sZGVyT2JqZWN0ID0ge307XG4gICAgZXZlbnRzLmZvckVhY2goKGV2ZW50KSA9PiB7XG4gICAgICBjb25zdCBzdGFydERhdGUgPSBEYXRlVGltZS5mcm9tRm9ybWF0KGV2ZW50LnN0YXJ0LCB0aGlzLmRhdGVGb3JtYXQoKSk7XG4gICAgICBjb25zdCBlbmREYXRlID0gRGF0ZVRpbWUuZnJvbUZvcm1hdChldmVudC5lbmQsIHRoaXMuZGF0ZUZvcm1hdCgpKTtcbiAgICAgIGNvbnN0IGRpZmYgPSBlbmREYXRlLmRpZmYoc3RhcnREYXRlLCAnZGF5cycpLmRheXMgKyAxO1xuXG4gICAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgZGlmZjsgaW5kZXgrKykge1xuICAgICAgICBjb25zdCBjdXJyZW50RGF0ZSA9IHN0YXJ0RGF0ZS5wbHVzKHsgZGF5czogaW5kZXggfSk7XG4gICAgICAgIGNvbnN0IHN0cmluZ0RhdGUgPSBjdXJyZW50RGF0ZS50b0Zvcm1hdCgneXl5eS9NTS9kZCcpO1xuICAgICAgICBjb25zdCBtb250aCA9IGN1cnJlbnREYXRlLnRvRm9ybWF0KCd5eXl5L01NJyk7XG5cbiAgICAgICAgb2JqZWN0RXZlbnRbbW9udGhdID8/PSB7XG4gICAgICAgICAgZXZlbnRzOiB7fSxcbiAgICAgICAgICBuYW1lOiB0aGlzLm1vbnRoc05hbWVzW2N1cnJlbnREYXRlLm1vbnRoIC0gMV0sXG4gICAgICAgICAgc3RyaW5nRGF0ZTogbW9udGgsXG4gICAgICAgICAgeWVhcjogY3VycmVudERhdGUueWVhcixcbiAgICAgICAgICBkYXRlOiBjdXJyZW50RGF0ZSxcbiAgICAgICAgfTtcblxuICAgICAgICBvYmplY3RFdmVudFttb250aF0uZXZlbnRzW3N0cmluZ0RhdGVdID8/PSB7XG4gICAgICAgICAgZXZlbnRzOiBbXSxcbiAgICAgICAgICBkYXRlOiBjdXJyZW50RGF0ZSxcbiAgICAgICAgICBzdHJpbmdEYXRlLFxuICAgICAgICAgIHNlbGVjdGVkOiBmYWxzZSxcbiAgICAgICAgfTtcblxuICAgICAgICBvYmplY3RFdmVudFttb250aF0uZXZlbnRzW3N0cmluZ0RhdGVdLmV2ZW50cy5wdXNoKHtcbiAgICAgICAgICAuLi5ldmVudCxcbiAgICAgICAgICBzdGFydDogc3RyaW5nRGF0ZSxcbiAgICAgICAgICBzdGFydEV2ZW50OiBjdXJyZW50RGF0ZSxcbiAgICAgICAgICBlbmRFdmVudDogZW5kRGF0ZSxcbiAgICAgICAgICBzZWxlY3RlZDogZmFsc2UsXG4gICAgICAgICAgZGlmZjogZGlmZiAtIDEsXG4gICAgICAgICAgb3JpZ2luYWxTdGFydDogc3RhcnREYXRlLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGNvbnN0IG9yZGVyZWRFdmVudHMgPSB0aGlzLm9yZGVyRGF0ZXMob2JqZWN0RXZlbnQsICd5eXl5L01NJyk7XG5cbiAgICBpZiAob3JkZXJlZEV2ZW50cy5sZW5ndGgpIHtcbiAgICAgIG9iamVjdEV2ZW50WydvcmRlcmVkRXZlbnRzJ10gPSBvcmRlcmVkRXZlbnRzO1xuXG4gICAgICBvYmplY3RFdmVudFsnb3JkZXJlZEV2ZW50cyddLmZvckVhY2goKGRhdGU6IHN0cmluZykgPT4ge1xuICAgICAgICBvYmplY3RFdmVudFtkYXRlXVsnb3JkZXJlZEV2ZW50cyddID0gdGhpcy5vcmRlckRhdGVzKFxuICAgICAgICAgIG9iamVjdEV2ZW50W2RhdGVdLmV2ZW50cyxcbiAgICAgICAgICAneXl5eS9NTS9kZCcsXG4gICAgICAgICk7XG4gICAgICB9KTtcblxuICAgICAgdGhpcy5vcmRlcmVkRXZlbnRzLnNldChcbiAgICAgICAgb2JqZWN0RXZlbnRbJ29yZGVyZWRFdmVudHMnXVxuICAgICAgICAgIC5tYXAoKG1vbnRoOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBvYmplY3RFdmVudFttb250aF1bJ29yZGVyZWRFdmVudHMnXS5tYXAoXG4gICAgICAgICAgICAgIChkYXk6IHN0cmluZykgPT4gb2JqZWN0RXZlbnRbbW9udGhdLmV2ZW50c1tkYXldLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9KVxuICAgICAgICAgIC5mbGF0KCksXG4gICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiBvYmplY3RFdmVudDtcbiAgfVxuXG4gIG9yZGVyRGF0ZXMoZXZlbnRzOiBhbnksIGZvcm1hdDogc3RyaW5nKTogc3RyaW5nW10ge1xuICAgIGNvbnN0IG1vbnRoc0xpc3QgPSBPYmplY3Qua2V5cyhldmVudHMpO1xuICAgIGNvbnN0IG1vbnRoc09yZGVyZWQgPSBtb250aHNMaXN0LnNvcnQoKGRhdGVBOiBzdHJpbmcsIGRhdGVCOiBzdHJpbmcpID0+IHtcbiAgICAgIGNvbnN0IHBhcnNlZERhdGVBID0gRGF0ZVRpbWUuZnJvbUZvcm1hdChkYXRlQSwgZm9ybWF0KTtcbiAgICAgIGNvbnN0IHBhcnNlZERhdGVCID0gRGF0ZVRpbWUuZnJvbUZvcm1hdChkYXRlQiwgZm9ybWF0KTtcbiAgICAgIHJldHVybiBwYXJzZWREYXRlQS50b01pbGxpcygpIC0gcGFyc2VkRGF0ZUIudG9NaWxsaXMoKTtcbiAgICB9KTtcblxuICAgIHJldHVybiBtb250aHNPcmRlcmVkO1xuICB9XG5cbiAgc2VsZWN0QVZhbGlkRGF0ZSgpOiB7IG1vbnRoOiBzdHJpbmc7IGRheTogc3RyaW5nOyBkYXRlOiBEYXRlVGltZSB9IHtcbiAgICBpZiAoIXRoaXMub3JkZXJlZE1vbnRocylcbiAgICAgIHJldHVybiB7XG4gICAgICAgIG1vbnRoOiB0aGlzLm5vdy5tb250aCArICcnLFxuICAgICAgICBkYXk6IHRoaXMubm93LmRheSArICcnLFxuICAgICAgICBkYXRlOiB0aGlzLm5vdyxcbiAgICAgIH07XG5cbiAgICBjb25zdCBtb250aCA9XG4gICAgICB0aGlzLm9yZGVyZWRNb250aHMuZmluZCgoZGF0ZSkgPT4ge1xuICAgICAgICBpZiAoZGF0ZSA9PT0gJ29yZGVyZWRFdmVudHMnKSByZXR1cm4gZmFsc2U7XG4gICAgICAgIGNvbnN0IHBhcnNlZERhdGUgPSB0aGlzLnBhcnNlZEV2ZW50c1tkYXRlXS5kYXRlO1xuXG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgdGhpcy5ub3cueWVhciA8PSBwYXJzZWREYXRlLnllYXIgJiYgdGhpcy5ub3cubW9udGggPD0gcGFyc2VkRGF0ZS5tb250aFxuICAgICAgICApO1xuICAgICAgfSkgfHxcbiAgICAgIHRoaXMub3JkZXJlZE1vbnRocy5hdCgtMSkgfHxcbiAgICAgICcnO1xuICAgIGNvbnN0IG9yZGVyZWRFdmVudHMgPSB0aGlzLnBhcnNlZEV2ZW50cz8uW21vbnRoXT8ub3JkZXJlZEV2ZW50cztcblxuICAgIGNvbnN0IGRheSA9XG4gICAgICBvcmRlcmVkRXZlbnRzPy5maW5kKChkYXRlOiBzdHJpbmcpID0+IHtcbiAgICAgICAgY29uc3QgcGFyc2VkRGF0ZSA9IHRoaXMucGFyc2VkRXZlbnRzW21vbnRoXS5ldmVudHNbZGF0ZV0uZGF0ZTtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICB0aGlzLm5vdy55ZWFyIDw9IHBhcnNlZERhdGUueWVhciAmJlxuICAgICAgICAgIHRoaXMubm93Lm1vbnRoIDw9IHBhcnNlZERhdGUubW9udGggJiZcbiAgICAgICAgICB0aGlzLm5vdy5kYXkgPD0gcGFyc2VkRGF0ZS5kYXlcbiAgICAgICAgKTtcbiAgICAgIH0pIHx8XG4gICAgICBvcmRlcmVkRXZlbnRzPy5hdCgtMSkgfHxcbiAgICAgICcnO1xuXG4gICAgaWYgKHRoaXMucGFyc2VkRXZlbnRzW21vbnRoXSAmJiBtb250aCAhPT0gJ29yZGVyZWRFdmVudHMnKSB7XG4gICAgICB0aGlzLnBhcnNlZEV2ZW50c1ttb250aF0uc2VsZWN0ZWQgPSB0cnVlO1xuICAgICAgdGhpcy5wYXJzZWRFdmVudHNbbW9udGhdLmV2ZW50c1tkYXldLnNlbGVjdGVkID0gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgIG1vbnRoLFxuICAgICAgZGF5LFxuICAgICAgZGF0ZTogdGhpcy5wYXJzZWRFdmVudHM/Llttb250aF0/LmV2ZW50cz8uW2RheV0/LmRhdGUsXG4gICAgfTtcbiAgfVxuXG4gIGhhbmRsZVNlbGVjdGVkRGF0ZUNoYW5nZSh7IG1vbnRoLCBkYXkgfTogeyBtb250aDogc3RyaW5nOyBkYXk6IHN0cmluZyB9KSB7XG4gICAgdGhpcy5wYXJzZWRFdmVudHNbdGhpcy5zZWxlY3RlZERhdGUubW9udGhdLnNlbGVjdGVkID0gZmFsc2U7XG4gICAgdGhpcy5wYXJzZWRFdmVudHNbdGhpcy5zZWxlY3RlZERhdGUubW9udGhdLmV2ZW50c1tcbiAgICAgIHRoaXMuc2VsZWN0ZWREYXRlLmRheVxuICAgIF0uc2VsZWN0ZWQgPSBmYWxzZTtcblxuICAgIHRoaXMucGFyc2VkRXZlbnRzW21vbnRoXS5zZWxlY3RlZCA9IHRydWU7XG4gICAgdGhpcy5wYXJzZWRFdmVudHNbbW9udGhdLmV2ZW50c1tkYXldLnNlbGVjdGVkID0gdHJ1ZTtcblxuICAgIHRoaXMuc2VsZWN0ZWREYXRlID0ge1xuICAgICAgbW9udGgsXG4gICAgICBkYXksXG4gICAgICBkYXRlOiB0aGlzLnBhcnNlZEV2ZW50c1ttb250aF0uZXZlbnRzW2RheV0uZGF0ZSxcbiAgICB9O1xuICB9XG5cbiAgaGFuZGxlU2VsZWN0ZWRFdmVudENoYW5nZShldmVudDogSVRpbWVsaW5lRXZlbnQpIHtcbiAgICB0aGlzLnNlbGVjdGVkRXZlbnQgPSBldmVudDtcblxuICAgIGNvbnN0IGRhdGE6IE1vZGFsRGF0YUNvbmZpZyA9IHtcbiAgICAgIHRpdGxlOiBldmVudC50aXRsZSxcbiAgICAgIGNvbnRlbnQ6IHRoaXMubmV3TW9kYWwsXG4gICAgICBzaXplOiAnbGFyZ2UnLFxuICAgICAgaGlkZVByaW1hcnlCdXR0b246IHRydWUsXG4gICAgfTtcblxuICAgIHRoaXMubWF0RGlhbG9nLm9wZW4oQm1iTW9kYWxDb21wb25lbnQsIHsgZGF0YSB9KTtcbiAgfVxuXG4gIGdldE1vbnRoVGl0bGUoZGF0ZTogRGF0ZVRpbWUpIHtcbiAgICByZXR1cm4gZGF0ZS5zZXRMb2NhbGUodGhpcy5sYW5nKCkpLnRvRm9ybWF0KCdjY2NjIGRkIExMTEwgeXl5eScpO1xuICB9XG5cbiAgZ2V0SW5zdGFuY2VzKGV2ZW50OiBhbnkpOiBzdHJpbmdbXSB7XG4gICAgY29uc3QgaW5zdGFuY2VzID0gW107XG4gICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IChldmVudC5kaWZmIHx8IDApICsgMTsgaW5kZXgrKykge1xuICAgICAgY29uc3QgZGF0ZSA9IGV2ZW50Lm9yaWdpbmFsU3RhcnQucGx1cyh7IGRheXM6IGluZGV4IH0pO1xuICAgICAgaW5zdGFuY2VzLnB1c2godGhpcy5nZXRNb250aFRpdGxlKGRhdGUpKTtcbiAgICB9XG4gICAgcmV0dXJuIGluc3RhbmNlcztcbiAgfVxuXG4gIGdldER1cmF0aW9uU3RyaW5nKGV2ZW50OiBJVGltZWxpbmVFdmVudCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGBEdXJhY2nDs246ICR7ZXZlbnQub3JpZ2luYWxTdGFydD8uZGF5fSAtICR7ZXZlbnQuZW5kRXZlbnQ/LnNldExvY2FsZSh0aGlzLmxhbmcoKSkudG9Gb3JtYXQoJ2RkIExMTEwgeXl5eScpfSAoJHsoZXZlbnQuZGlmZiB8fCAwKSArIDF9IETDrWFzKWA7XG4gIH1cblxuICBnZXREaWZmU3RyaW5nKGRpZmY6IG51bWJlciA9IDApOiBzdHJpbmcge1xuICAgIHJldHVybiBkaWZmICsgMSA+IDEgPyBgJHtkaWZmICsgMX0gRMOtYXNgIDogYCR7ZGlmZiArIDF9IETDrWFgO1xuICB9XG5cbiAgYXBwZWFyYW5jZUJhZGdlKFxuICAgIGV2ZW50VHlwZTogc3RyaW5nIHwgSUJtYlRpbWVsaW5lQ3VzdG9tRXZlbnQsXG4gICk6IElCYm1CZ0FwcGVhcmFuY2Uge1xuICAgIGlmICh0eXBlb2YgZXZlbnRUeXBlID09PSAnc3RyaW5nJykge1xuICAgICAgc3dpdGNoIChldmVudFR5cGUpIHtcbiAgICAgICAgY2FzZSAnYWN0aXZlJzpcbiAgICAgICAgICByZXR1cm4gJ21pdGVjX2JsdWUnO1xuICAgICAgICBjYXNlICdkb25lJzpcbiAgICAgICAgICByZXR1cm4gJ3N1Y2Nlc3MnO1xuICAgICAgICBjYXNlICdwZW5kaW5nJzpcbiAgICAgICAgICByZXR1cm4gJ25vcm1hbCc7XG4gICAgICAgIGNhc2UgJ3VuZGVyX3Jldmlldyc6XG4gICAgICAgICAgcmV0dXJuICd3YXJuaW5nJztcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICByZXR1cm4gJ21pdGVjX2JsdWUnO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZXZlbnRUeXBlLnR5cGUgfHwgJ25vcm1hbCc7XG4gIH1cblxuICBnZXRCYWRnZVRleHQoZXZlbnRUeXBlOiBzdHJpbmcgfCBJQm1iVGltZWxpbmVDdXN0b21FdmVudCk6IHN0cmluZyB7XG4gICAgaWYgKHR5cGVvZiBldmVudFR5cGUgPT09ICdzdHJpbmcnKSByZXR1cm4gZXZlbnRUeXBlO1xuICAgIHJldHVybiBldmVudFR5cGUudGV4dCB8fCAnJztcbiAgfVxufVxuIiwiPHNlY3Rpb25cbiAgY2xhc3M9XCJibWJfdGltZXN0cmVhbVwiXG4gIFtuZ0NsYXNzXT1cInsgJ2JtYl90aW1lc3RyZWFtLW1pY3JvJzogaXNNaWNybygpIH1cIlxuPlxuICBAaWYgKGVycm9yKSB7XG4gICAgPGRpdiBjbGFzcz1cImJtYl90aW1lc3RyZWFtLWVycm9yXCI+XG4gICAgICA8Ym1iLXRpbWVzdHJlYW0tZXJyb3IgLz5cbiAgICA8L2Rpdj5cbiAgfSBAZWxzZSB7XG4gICAgQGlmICghaXNNaWNybygpKSB7XG4gICAgICA8YXNpZGUgY2xhc3M9XCJibWJfdGltZXN0cmVhbS1hc2lkZVwiPlxuICAgICAgICA8Ym1iLWhpdG8tbGlzdFxuICAgICAgICAgIFtkYXRlRm9ybWF0XT1cImRhdGVGb3JtYXQoKVwiXG4gICAgICAgICAgW2xhbmddPVwibGFuZygpXCJcbiAgICAgICAgICBbbm93XT1cIm5vd1wiXG4gICAgICAgICAgW2V2ZW50c109XCJwYXJzZWRFdmVudHNcIlxuICAgICAgICAgIFtzZWxlY3RlZERhdGVdPVwic2VsZWN0ZWREYXRlXCJcbiAgICAgICAgICBbb3JkZXJlZE1vbnRoc109XCJvcmRlcmVkTW9udGhzXCJcbiAgICAgICAgICAoY2hhbmdlU2VsZWN0ZWREYXRlKT1cImhhbmRsZVNlbGVjdGVkRGF0ZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgLz5cbiAgICAgIDwvYXNpZGU+XG4gICAgfVxuICAgIDxzZWN0aW9uIGNsYXNzPVwiYm1iX3RpbWVzdHJlYW0tbWFpblwiPlxuICAgICAgPGJtYi10aW1lc3RyZWFtLWRldGFpbFxuICAgICAgICBbbGFuZ109XCJsYW5nKClcIlxuICAgICAgICBbbm93XT1cIm5vd1wiXG4gICAgICAgIFtzZWxlY3RlZERhdGVdPVwic2VsZWN0ZWREYXRlXCJcbiAgICAgICAgKGNoYW5nZVNlbGVjdGVkRXZlbnQpPVwiaGFuZGxlU2VsZWN0ZWRFdmVudENoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgW29yZGVyZWRFdmVudHNdPVwib3JkZXJlZEV2ZW50cygpXCJcbiAgICAgICAgW2lzTWljcm9dPVwiaXNNaWNybygpXCJcbiAgICAgIC8+XG4gICAgPC9zZWN0aW9uPlxuICB9XG48L3NlY3Rpb24+XG5cbjxuZy10ZW1wbGF0ZSAjbW9kYWxUZW1wbGF0ZT5cbiAgQGlmIChzZWxlY3RlZEV2ZW50KSB7XG4gICAgPHNlY3Rpb24gY2xhc3M9XCJibWJfdGltZXN0cmVhbS1kaWFsb2dcIj5cbiAgICAgIDxmaWd1cmUgY2xhc3M9XCJibWJfdGltZXN0cmVhbS1kaWFsb2ctaGVyb1wiPlxuICAgICAgICA8aW1nXG4gICAgICAgICAgW3NyY109XCJzZWxlY3RlZEV2ZW50LmltYWdlXCJcbiAgICAgICAgICBbYWx0XT1cInNlbGVjdGVkRXZlbnQudGl0bGVcIlxuICAgICAgICAgIGNsYXNzPVwiYm1iX3RpbWVzdHJlYW0tZGlhbG9nLWhlcm8taW1hZ2VcIlxuICAgICAgICAvPlxuICAgICAgPC9maWd1cmU+XG4gICAgICA8ZGl2IGNsYXNzPVwiYm1iX3RpbWVzdHJlYW0tZGlhbG9nLXVzZXJcIj5cbiAgICAgICAgPGJtYi11c2VyLWltYWdlXG4gICAgICAgICAgc2l6ZT1cIm1vYmlsZS1zbWFsbFwiXG4gICAgICAgICAgW2ltYWdlXT1cInNlbGVjdGVkRXZlbnQucGljdHVyZV9wcm9maWxlIHx8ICcnXCJcbiAgICAgICAgICBbYWx0SW1hZ2VdPVwic2VsZWN0ZWRFdmVudC51c2VyX2ZpcnN0X25hbWUgfHwgJydcIlxuICAgICAgICAgIFtib3JkZXJlZF09XCJmYWxzZVwiXG4gICAgICAgIC8+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiYm1iX3RpbWVzdHJlYW0tZGlhbG9nLXVzZXItbmFtZVwiXG4gICAgICAgICAgPnt7IHNlbGVjdGVkRXZlbnQudXNlcl9maXJzdF9uYW1lIH19XG4gICAgICAgICAge3sgc2VsZWN0ZWRFdmVudC51c2VyX2xhc3RfbmFtZSB9fTwvc3BhblxuICAgICAgICA+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiYm1iX3RpbWVzdHJlYW0tZGlhbG9nLXVzZXItZGF0ZVwiPnt7XG4gICAgICAgICAgc2VsZWN0ZWRFdmVudC5zdGFydEV2ZW50Py50b0Zvcm1hdChcImRkL01NL3l5eXlcIilcbiAgICAgICAgfX08L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxibWItdGFic1xuICAgICAgICBbdGFic109XCJldmVudFRhYnNcIlxuICAgICAgICAoc2VsZWN0ZWQpPVwiaGFuZGxlVGFiU2VsZWN0ZWQoJGV2ZW50KVwiXG4gICAgICAgIHN0eWxlPVwiZmxleDogMVwiXG4gICAgICA+XG4gICAgICAgIEBzd2l0Y2ggKHRhYlNlbGVjdGVkKSB7XG4gICAgICAgICAgQGNhc2UgKDEpIHtcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJibWJfdGltZXN0cmVhbS1kaWFsb2ctdGFiXCI+XG4gICAgICAgICAgICAgIDxkbCBjbGFzcz1cImJtYl90aW1lc3RyZWFtLWRpYWxvZy1kdWFsXCI+XG4gICAgICAgICAgICAgICAgPGR0IGNsYXNzPVwiYm1iX3RpbWVzdHJlYW0tZGlhbG9nLWR1YWwtdGl0bGVcIj5Fc3RhZG86PC9kdD5cbiAgICAgICAgICAgICAgICA8ZGQgY2xhc3M9XCJibWJfdGltZXN0cmVhbS1kaWFsb2ctZHVhbC1kYXRhXCI+XG4gICAgICAgICAgICAgICAgICA8Ym1iLWJhZGdlXG4gICAgICAgICAgICAgICAgICAgIFthcHBlYXJhbmNlXT1cImFwcGVhcmFuY2VCYWRnZShzZWxlY3RlZEV2ZW50LnR5cGUpXCJcbiAgICAgICAgICAgICAgICAgICAgW3RleHRdPVwiZ2V0QmFkZ2VUZXh0KHNlbGVjdGVkRXZlbnQudHlwZSlcIlxuICAgICAgICAgICAgICAgICAgICBbY29udGFpbmVyXT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPC9kZD5cbiAgICAgICAgICAgICAgICA8ZHQgY2xhc3M9XCJibWJfdGltZXN0cmVhbS1kaWFsb2ctZHVhbC10aXRsZVwiPlxuICAgICAgICAgICAgICAgICAgRHVyYWNpw7NuIHRvdGFsOlxuICAgICAgICAgICAgICAgIDwvZHQ+XG4gICAgICAgICAgICAgICAgPGRkIGNsYXNzPVwiYm1iX3RpbWVzdHJlYW0tZGlhbG9nLWR1YWwtZGF0YVwiPlxuICAgICAgICAgICAgICAgICAge3sgZ2V0RGlmZlN0cmluZyhzZWxlY3RlZEV2ZW50LmRpZmYpIH19XG4gICAgICAgICAgICAgICAgPC9kZD5cbiAgICAgICAgICAgICAgPC9kbD5cbiAgICAgICAgICAgICAgPHA+e3sgc2VsZWN0ZWRFdmVudC5kZXNjcmlwdGlvbiB9fTwvcD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIH1cbiAgICAgICAgICBAY2FzZSAoMikge1xuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJtYl90aW1lc3RyZWFtLWRpYWxvZy10YWJcIj5cbiAgICAgICAgICAgICAgPGgzIGNsYXNzPVwiYm1iX3RpbWVzdHJlYW0tZGlhbG9nLXRhYi10aXRsZVwiPkluc3RhbmNpYXM8L2gzPlxuICAgICAgICAgICAgICA8Ym1iLWRpdmlkZXIgdHlwZT1cInNpbXBsZVwiIC8+XG4gICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPVwiYm1iX3RpbWVzdHJlYW0tZGlhbG9nLXRhYi1oaXRvLWxpc3RcIj5cbiAgICAgICAgICAgICAgICBAZm9yIChkYXRlIG9mIGdldEluc3RhbmNlcyhzZWxlY3RlZEV2ZW50KTsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgICAgICAgICAgICA8Ym1iLWhpdG8tY2FyZFxuICAgICAgICAgICAgICAgICAgICBbaWNvbl09XCJzZWxlY3RlZEV2ZW50Lmljb24gfHwgJ2FwcF9iYWRnaW5nJ1wiXG4gICAgICAgICAgICAgICAgICAgIFt0aXRsZV09XCJzZWxlY3RlZEV2ZW50LnRpdGxlXCJcbiAgICAgICAgICAgICAgICAgICAgW3R5cGVdPVwic2VsZWN0ZWRFdmVudC50eXBlXCJcbiAgICAgICAgICAgICAgICAgICAgW2lkXT1cIiRpbmRleFwiXG4gICAgICAgICAgICAgICAgICAgIFtlbmFibGVfYnVsbGV0XT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgW2FsdGVybmF0aXZlX2FwcGVhcmFuY2VdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgIFtpc0NvbXBhY3RdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBAaWYgKHNlbGVjdGVkRXZlbnQuZGlmZikge1xuICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJibWJfdGltZXN0cmVhbS1kaWFsb2ctdGFiLWR1cmF0aW9uXCI+XG4gICAgICAgICAgICAgICAgICAgIHt7IGdldER1cmF0aW9uU3RyaW5nKHNlbGVjdGVkRXZlbnQpIH19XG4gICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBpZiAoc2VsZWN0ZWRFdmVudC5yZWxhdGVkX3RvKSB7XG4gICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJibWJfdGltZXN0cmVhbS1kaWFsb2ctY29udGFpbmVyLXRhYi10aXRsZVwiPlxuICAgICAgICAgICAgICAgICAgICBSZWxhY2lvbmFkbyBhXG4gICAgICAgICAgICAgICAgICA8L2gzPlxuICAgICAgICAgICAgICAgICAgQGZvciAocmVsYXRlZCBvZiBzZWxlY3RlZEV2ZW50LnJlbGF0ZWRfdG87IHRyYWNrICRpbmRleCkge1xuICAgICAgICAgICAgICAgICAgICA8Ym1iLWhpdG8tY2FyZFxuICAgICAgICAgICAgICAgICAgICAgIFtpY29uXT1cInNlbGVjdGVkRXZlbnQuaWNvbiB8fCAnYXBwX2JhZGdpbmcnXCJcbiAgICAgICAgICAgICAgICAgICAgICBbdGl0bGVdPVwicmVsYXRlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgW3R5cGVdPVwic2VsZWN0ZWRFdmVudC50eXBlXCJcbiAgICAgICAgICAgICAgICAgICAgICBbaWRdPVwicmVsYXRlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgW2VuYWJsZV9idWxsZXRdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICAgIFthbHRlcm5hdGl2ZV9hcHBlYXJhbmNlXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgIFtpc0NvbXBhY3RdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICA8L3NlY3Rpb24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIDwvYm1iLXRhYnM+XG4gICAgICA8c2VjdGlvbiBjbGFzcz1cImJtYl90aW1lc3RyZWFtLWRpYWxvZy1idXR0b24tY29udGFpbmVyXCI+XG4gICAgICAgIDxidXR0b24gYm1iQnV0dG9uIGFwcGVhcmFuY2U9XCJwcmltYXJ5XCIgaWNvbj1cImZpdF9zY3JlZW5cIj5cbiAgICAgICAgICBJciBhIGRlY2lzacOzblxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvc2VjdGlvbj5cbiAgICA8L3NlY3Rpb24+XG4gIH1cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kcy1uZy9zcmMvbGliL2NvbXBvbmVudHMvYm1iLXRpbWVzdHJlYW0vdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERhdGVUaW1lIH0gZnJvbSAnbHV4b24nO1xuaW1wb3J0IHsgSUJibUJnQXBwZWFyYW5jZSB9IGZyb20gJy4uL2JtYi1hZHZlcnRpc2VtZW50LWNhcmQvdHlwZXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIElTZWxlY3RlZERhdGUge1xuICBkYXk6IHN0cmluZztcbiAgbW9udGg6IHN0cmluZztcbiAgZGF0ZTogRGF0ZVRpbWU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVRpbWVsaW5lRGF5RXZlbnQge1xuICBkYXRlOiBEYXRlVGltZTtcbiAgZXZlbnRzOiBJVGltZWxpbmVFdmVudFtdO1xuICBzZWxlY3RlZDogYm9vbGVhbjtcbiAgc3RyaW5nRGF0ZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElUaW1lbGluZUV2ZW50IHtcbiAgaWQ6IG51bWJlciB8IHN0cmluZztcbiAgc3RhcnQ6IHN0cmluZztcbiAgZW5kOiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gIHNob3J0X2Rlc2NyaXB0aW9uOiBzdHJpbmc7XG4gIHR5cGU6IElUaW1lbGluZUV2ZW50VHlwZSB8IElCbWJUaW1lbGluZUN1c3RvbUV2ZW50O1xuICByZWxhdGVkX3RvPzogc3RyaW5nW107XG4gIGRlY2lzaW9uPzogc3RyaW5nO1xuICB0aXRsZTogc3RyaW5nO1xuICBpbWFnZTogc3RyaW5nO1xuICBwaWN0dXJlX3Byb2ZpbGU/OiBzdHJpbmc7XG4gIGRpZmY/OiBudW1iZXI7XG4gIHN0YXJ0RXZlbnQ/OiBEYXRlVGltZTtcbiAgZW5kRXZlbnQ/OiBEYXRlVGltZTtcbiAgb3JpZ2luYWxTdGFydD86IERhdGVUaW1lO1xuICB1c2VyX2ZpcnN0X25hbWU/OiBzdHJpbmc7XG4gIHVzZXJfbGFzdF9uYW1lPzogc3RyaW5nO1xuICB1c2VyX2VtYWlsPzogc3RyaW5nO1xuICB0YWdzPzogc3RyaW5nW107XG4gIGljb24/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCB0eXBlIElUaW1lbGluZUV2ZW50VHlwZSA9XG4gIHwgJ3BlbmRpbmcnXG4gIHwgJ2RvbmUnXG4gIHwgJ2FjdGl2ZSdcbiAgfCAndW5kZXJfcmV2aWV3J1xuICB8ICdjYW5jZWxlZCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUJtYlRpbWVsaW5lQ3VzdG9tRXZlbnQge1xuICB0ZXh0OiBzdHJpbmc7XG4gIHR5cGU6IElCYm1CZ0FwcGVhcmFuY2U7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVRpbWVsaW5lRXZlbnRQYXJzZWQgZXh0ZW5kcyBJVGltZWxpbmVFdmVudCB7XG4gIHN0YXJ0RXZlbnQ6IERhdGVUaW1lO1xuICBlbmRFdmVudDogRGF0ZVRpbWU7XG4gIHNlbGVjdGVkOiBib29sZWFuO1xuICBkaWZmOiBudW1iZXI7XG4gIG9yaWdpbmFsU3RhcnQ6IERhdGVUaW1lO1xuICBkYXRlOiBEYXRlVGltZTtcbiAgZXZlbnRzOiBJVGltZWxpbmVFdmVudFtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElCbWJUaW1lc3RyZWFtRmlsdGVycyB7XG4gIGluc3RhbmNlcz86IHN0cmluZztcbiAgdGV4dD86IHN0cmluZztcbiAgdHlwZT86IHN0cmluZ1tdO1xufVxuIl19
@@ -0,0 +1,139 @@
1
+ import { ChangeDetectionStrategy, Component, input, signal, ViewEncapsulation, } from '@angular/core';
2
+ import { BmbHomeCardComponent } from '../bmb-home-card/bmb-home-card.component';
3
+ import { BmbTimestreamComponent, } from '../bmb-timestream/bmb-timestream.component';
4
+ import { BmbFilterCardComponent } from '../bmb-filter-card/bmb-filter-card.component';
5
+ import { BmbCardComponent, BmbCardContentComponent, } from '../bmb-card/bmb-card.component';
6
+ import { BmbIconComponent } from '../bmb-icon/bmb-icon.component';
7
+ import { timestreamFilter } from '../../utils/timestreamFilters';
8
+ import { CommonModule } from '@angular/common';
9
+ import * as i0 from "@angular/core";
10
+ import * as i1 from "@angular/common";
11
+ export class BmbTimestreamCardComponent {
12
+ constructor() {
13
+ this.title = input.required();
14
+ this.subtitle = input();
15
+ this.dataLocalNav = input([]);
16
+ this.icon = input('trending_up');
17
+ this.bgIconAppearance = input('mitec-red');
18
+ this.lang = input('es');
19
+ this.dateFormat = input('dd/MM/yyyy');
20
+ this.events = input([]);
21
+ this.clamp = { min: 0, max: '100%', size: '100%' };
22
+ this.isMobile = false;
23
+ this.actionHeaders = [
24
+ {
25
+ icon: 'tune',
26
+ isToggleActive: false,
27
+ action: () => {
28
+ this.handleCloseFilters();
29
+ },
30
+ },
31
+ ];
32
+ this.isFiltersEnabled = false;
33
+ this.filteredEvents = signal([]);
34
+ this.filters = [
35
+ {
36
+ title: 'Tipo',
37
+ control: [
38
+ {
39
+ name: 'pending',
40
+ type: 'checkbox',
41
+ label: 'Pendiente',
42
+ checked: false,
43
+ },
44
+ {
45
+ name: 'done',
46
+ type: 'checkbox',
47
+ label: 'Finalizado',
48
+ checked: false,
49
+ },
50
+ {
51
+ name: 'active',
52
+ type: 'checkbox',
53
+ label: 'Iniciado',
54
+ checked: false,
55
+ },
56
+ {
57
+ name: 'under_review',
58
+ type: 'checkbox',
59
+ label: 'En revisión',
60
+ checked: false,
61
+ },
62
+ ],
63
+ },
64
+ {
65
+ title: 'Instacias',
66
+ control: [
67
+ {
68
+ name: 'instances',
69
+ type: 'radial',
70
+ label: 'Todas',
71
+ checked: true,
72
+ },
73
+ {
74
+ name: 'instances',
75
+ type: 'radial',
76
+ label: 'Múltiple',
77
+ checked: false,
78
+ },
79
+ {
80
+ name: 'instances',
81
+ type: 'radial',
82
+ label: 'Una',
83
+ checked: false,
84
+ },
85
+ ],
86
+ },
87
+ ];
88
+ }
89
+ ngOnInit() {
90
+ this.filteredEvents.set(this.events());
91
+ }
92
+ handleCloseFilters() {
93
+ this.isFiltersEnabled = !this.isFiltersEnabled;
94
+ }
95
+ handleFiltersChange(filters) {
96
+ this.isFiltersEnabled = !this.isFiltersEnabled;
97
+ const activeFilters = Object.keys(filters);
98
+ const validFilters = activeFilters.filter((filter) => {
99
+ if (typeof filters[filter] === 'string')
100
+ return filters[filter] !== '';
101
+ return filters[filter].checked;
102
+ });
103
+ if (!validFilters.length) {
104
+ this.filteredEvents.set(this.events());
105
+ }
106
+ else {
107
+ const filtersValue = validFilters.reduce((obj, filter) => {
108
+ if (filter === 'instances')
109
+ return { ...obj, instances: filters[filter].label };
110
+ if (filter === 'search')
111
+ return { ...obj, text: filters[filter] };
112
+ const types = obj?.type || [];
113
+ return { ...obj, type: [...types, filter] };
114
+ }, {});
115
+ this.filteredEvents.set(timestreamFilter(this.events(), filtersValue));
116
+ }
117
+ }
118
+ getClassList() {
119
+ const classList = ['bmb-timestream-card-filters'];
120
+ if (this.isFiltersEnabled)
121
+ classList.push('bmb-timestream-card-filters-active');
122
+ return classList;
123
+ }
124
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BmbTimestreamCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
125
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.13", type: BmbTimestreamCardComponent, isStandalone: true, selector: "bmb-timestream-card", inputs: { title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: true, transformFunction: null }, subtitle: { classPropertyName: "subtitle", publicName: "subtitle", isSignal: true, isRequired: false, transformFunction: null }, dataLocalNav: { classPropertyName: "dataLocalNav", publicName: "dataLocalNav", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, bgIconAppearance: { classPropertyName: "bgIconAppearance", publicName: "bgIconAppearance", isSignal: true, isRequired: false, transformFunction: null }, lang: { classPropertyName: "lang", publicName: "lang", isSignal: true, isRequired: false, transformFunction: null }, dateFormat: { classPropertyName: "dateFormat", publicName: "dateFormat", isSignal: true, isRequired: false, transformFunction: null }, events: { classPropertyName: "events", publicName: "events", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<section class=\"bmb-timestream-card\">\n <bmb-home-card\n [icon]=\"icon()\"\n [bgIconAppearance]=\"bgIconAppearance()\"\n [title]=\"title()\"\n [subtitle]=\"subtitle()\"\n [dataLocalNav]=\"dataLocalNav()\"\n [isMobile]=\"isMobile\"\n [actionHeaders]=\"actionHeaders\"\n contentPadding=\"none\"\n >\n <bmb-timestream\n [events]=\"filteredEvents()\"\n [dateFormat]=\"dateFormat()\"\n [clamp]=\"clamp\"\n [lang]=\"lang()\"\n />\n </bmb-home-card>\n <section [ngClass]=\"getClassList()\">\n <bmb-card>\n <bmb-card-content>\n <header class=\"bmb-timestream-card-filters-header\">\n <h2 class=\"bmb-timestream-card-filters-header-title\">\n Opciones de filtrado\n </h2>\n <button (click)=\"handleCloseFilters()\">\n <bmb-icon\n icon=\"close\"\n [size]=\"20\"\n [alt]=\"subtitle() || 'Cerrar filtros'\"\n />\n </button>\n </header>\n <bmb-filter-card\n [inLine]=\"true\"\n primaryBtnLabel=\"Aplicar filtros\"\n secondaryBtnLabel=\"Limpiar filtros\"\n [controlTypes]=\"filters\"\n (applyFilters)=\"handleFiltersChange($event)\"\n />\n </bmb-card-content>\n </bmb-card>\n </section>\n</section>\n", styles: [".bmb-timestream-card{width:100%;height:100%;position:relative}.bmb-timestream-card bmb-home-card{width:100%;height:100%;display:block}.bmb-timestream-card .bmb_home-card{display:flex;flex-direction:column;height:100%}.bmb-timestream-card .bmb_home-card .bmb_home-card-container{flex:1}.bmb-timestream-card .bmb_home-card .bmb_home-card-wrapper{display:flex;flex-direction:column;height:100%}.bmb-timestream-card-filters{position:absolute;right:0;top:0;max-width:100%;overflow:hidden;height:0}.bmb-timestream-card-filters-active{height:auto;z-index:1}.bmb-timestream-card-filters-header{display:flex;gap:var(--bmb-spacing-m);margin-bottom:var(--bmb-spacing-m)}.bmb-timestream-card-filters-header button{color:inherit}.bmb-timestream-card-filters-header-title{flex:1}\n"], dependencies: [{ kind: "component", type: BmbHomeCardComponent, selector: "bmb-home-card", inputs: ["title", "subtitle", "dataLocalNav", "leftIcon", "icon", "iconSize", "bgIconAppearance", "actionHeaders", "isMobile", "contentPadding", "showRightButton", "isExpanded", "useAutoExpand"], outputs: ["isExpandedChange", "onClose", "onBack", "onExpandClick"] }, { kind: "component", type: BmbIconComponent, selector: "bmb-icon", inputs: ["icon", "materialIcon", "styleIcon", "isFill", "fontWeight", "size", "alt", "dotNotification"] }, { kind: "component", type: BmbTimestreamComponent, selector: "bmb-timestream", inputs: ["isMicro", "lang", "dateFormat", "events", "clamp"] }, { kind: "component", type: BmbFilterCardComponent, selector: "bmb-filter-card", inputs: ["modalTitle", "primaryBtnLabel", "secondaryBtnLabel", "icon", "placeholderSearch", "controlTypes", "inLine", "showDropdown", "dropdownOptions"], outputs: ["applyFilters", "resetFilters"] }, { kind: "component", type: BmbCardComponent, selector: "bmb-card", inputs: ["borderRadius", "margin", "type", "state", "boxShadowStyle", "borderColor", "alternative"] }, { kind: "component", type: BmbCardContentComponent, selector: "bmb-card-content", inputs: ["padding", "colorBackground"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
126
+ }
127
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BmbTimestreamCardComponent, decorators: [{
128
+ type: Component,
129
+ args: [{ selector: 'bmb-timestream-card', standalone: true, imports: [
130
+ BmbHomeCardComponent,
131
+ BmbIconComponent,
132
+ BmbTimestreamComponent,
133
+ BmbFilterCardComponent,
134
+ BmbCardComponent,
135
+ BmbCardContentComponent,
136
+ CommonModule,
137
+ ], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<section class=\"bmb-timestream-card\">\n <bmb-home-card\n [icon]=\"icon()\"\n [bgIconAppearance]=\"bgIconAppearance()\"\n [title]=\"title()\"\n [subtitle]=\"subtitle()\"\n [dataLocalNav]=\"dataLocalNav()\"\n [isMobile]=\"isMobile\"\n [actionHeaders]=\"actionHeaders\"\n contentPadding=\"none\"\n >\n <bmb-timestream\n [events]=\"filteredEvents()\"\n [dateFormat]=\"dateFormat()\"\n [clamp]=\"clamp\"\n [lang]=\"lang()\"\n />\n </bmb-home-card>\n <section [ngClass]=\"getClassList()\">\n <bmb-card>\n <bmb-card-content>\n <header class=\"bmb-timestream-card-filters-header\">\n <h2 class=\"bmb-timestream-card-filters-header-title\">\n Opciones de filtrado\n </h2>\n <button (click)=\"handleCloseFilters()\">\n <bmb-icon\n icon=\"close\"\n [size]=\"20\"\n [alt]=\"subtitle() || 'Cerrar filtros'\"\n />\n </button>\n </header>\n <bmb-filter-card\n [inLine]=\"true\"\n primaryBtnLabel=\"Aplicar filtros\"\n secondaryBtnLabel=\"Limpiar filtros\"\n [controlTypes]=\"filters\"\n (applyFilters)=\"handleFiltersChange($event)\"\n />\n </bmb-card-content>\n </bmb-card>\n </section>\n</section>\n", styles: [".bmb-timestream-card{width:100%;height:100%;position:relative}.bmb-timestream-card bmb-home-card{width:100%;height:100%;display:block}.bmb-timestream-card .bmb_home-card{display:flex;flex-direction:column;height:100%}.bmb-timestream-card .bmb_home-card .bmb_home-card-container{flex:1}.bmb-timestream-card .bmb_home-card .bmb_home-card-wrapper{display:flex;flex-direction:column;height:100%}.bmb-timestream-card-filters{position:absolute;right:0;top:0;max-width:100%;overflow:hidden;height:0}.bmb-timestream-card-filters-active{height:auto;z-index:1}.bmb-timestream-card-filters-header{display:flex;gap:var(--bmb-spacing-m);margin-bottom:var(--bmb-spacing-m)}.bmb-timestream-card-filters-header button{color:inherit}.bmb-timestream-card-filters-header-title{flex:1}\n"] }]
138
+ }] });
139
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm1iLXRpbWVzdHJlYW0tY2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kcy1uZy9zcmMvbGliL2NvbXBvbmVudHMvYm1iLXRpbWVzdHJlYW0tY2FyZC9ibWItdGltZXN0cmVhbS1jYXJkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RzLW5nL3NyYy9saWIvY29tcG9uZW50cy9ibWItdGltZXN0cmVhbS1jYXJkL2JtYi10aW1lc3RyZWFtLWNhcmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsS0FBSyxFQUNMLE1BQU0sRUFDTixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFHaEYsT0FBTyxFQUNMLHNCQUFzQixHQUV2QixNQUFNLDRDQUE0QyxDQUFDO0FBRXBELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ3RGLE9BQU8sRUFDTCxnQkFBZ0IsRUFDaEIsdUJBQXVCLEdBQ3hCLE1BQU0sZ0NBQWdDLENBQUM7QUFDeEMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFbEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDakUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7QUFvQi9DLE1BQU0sT0FBTywwQkFBMEI7SUFqQnZDO1FBa0JFLFVBQUssR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFVLENBQUM7UUFDakMsYUFBUSxHQUFHLEtBQUssRUFBVSxDQUFDO1FBQzNCLGlCQUFZLEdBQUcsS0FBSyxDQUFtQixFQUFFLENBQUMsQ0FBQztRQUMzQyxTQUFJLEdBQUcs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QUNuQixDQUFDOytHQXRIVSwwQkFBMEI7bUdBQTFCLDBCQUEwQixxbUNDM0N2Qyw4ekNBNENBLHl6QkRkSSxvQkFBb0IsbVVBQ3BCLGdCQUFnQiw4SkFDaEIsc0JBQXNCLHlIQUN0QixzQkFBc0IsaVFBQ3RCLGdCQUFnQiwwSkFDaEIsdUJBQXVCLG9HQUN2QixZQUFZOzs0RkFPSCwwQkFBMEI7a0JBakJ0QyxTQUFTOytCQUNFLHFCQUFxQixjQUNuQixJQUFJLFdBQ1A7d0JBQ1Asb0JBQW9CO3dCQUNwQixnQkFBZ0I7d0JBQ2hCLHNCQUFzQjt3QkFDdEIsc0JBQXNCO3dCQUN0QixnQkFBZ0I7d0JBQ2hCLHVCQUF1Qjt3QkFDdkIsWUFBWTtxQkFDYixpQkFHYyxpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgaW5wdXQsXG4gIHNpZ25hbCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQm1iSG9tZUNhcmRDb21wb25lbnQgfSBmcm9tICcuLi9ibWItaG9tZS1jYXJkL2JtYi1ob21lLWNhcmQuY29tcG9uZW50JztcbmltcG9ydCB7IElCbWJDb2xvciB9IGZyb20gJy4uLy4uL3R5cGVzL2NvbG9ycyc7XG5pbXBvcnQgeyBJQm1iRGF0YVRvcEJhciB9IGZyb20gJy4uL2JtYi1icmVhZGNydW1iL2JtYi1icmVhZGNydW1iLmNvbXBvbmVudCc7XG5pbXBvcnQge1xuICBCbWJUaW1lc3RyZWFtQ29tcG9uZW50LFxuICBJQm1iQ2xhbXAsXG59IGZyb20gJy4uL2JtYi10aW1lc3RyZWFtL2JtYi10aW1lc3RyZWFtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJQm1iVGltZXN0cmVhbUZpbHRlcnMsIElUaW1lbGluZUV2ZW50IH0gZnJvbSAnLi4vYm1iLXRpbWVzdHJlYW0vdHlwZXMnO1xuaW1wb3J0IHsgQm1iRmlsdGVyQ2FyZENvbXBvbmVudCB9IGZyb20gJy4uL2JtYi1maWx0ZXItY2FyZC9ibWItZmlsdGVyLWNhcmQuY29tcG9uZW50JztcbmltcG9ydCB7XG4gIEJtYkNhcmRDb21wb25lbnQsXG4gIEJtYkNhcmRDb250ZW50Q29tcG9uZW50LFxufSBmcm9tICcuLi9ibWItY2FyZC9ibWItY2FyZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQm1iSWNvbkNvbXBvbmVudCB9IGZyb20gJy4uL2JtYi1pY29uL2JtYi1pY29uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJQm1iQ29udHJvbFR5cGUgfSBmcm9tICcuLi9ibWItZmlsdGVyLWNhcmQvYm1iLWZpbHRlci1jYXJkLmludGVyZmFjZSc7XG5pbXBvcnQgeyB0aW1lc3RyZWFtRmlsdGVyIH0gZnJvbSAnLi4vLi4vdXRpbHMvdGltZXN0cmVhbUZpbHRlcnMnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IElCbWJBY3Rpb25IZWFkZXIgfSBmcm9tICcuLi8uLi90eXBlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JtYi10aW1lc3RyZWFtLWNhcmQnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQm1iSG9tZUNhcmRDb21wb25lbnQsXG4gICAgQm1iSWNvbkNvbXBvbmVudCxcbiAgICBCbWJUaW1lc3RyZWFtQ29tcG9uZW50LFxuICAgIEJtYkZpbHRlckNhcmRDb21wb25lbnQsXG4gICAgQm1iQ2FyZENvbXBvbmVudCxcbiAgICBCbWJDYXJkQ29udGVudENvbXBvbmVudCxcbiAgICBDb21tb25Nb2R1bGUsXG4gIF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9ibWItdGltZXN0cmVhbS1jYXJkLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2JtYi10aW1lc3RyZWFtLWNhcmQuY29tcG9uZW50LnNjc3MnLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgQm1iVGltZXN0cmVhbUNhcmRDb21wb25lbnQge1xuICB0aXRsZSA9IGlucHV0LnJlcXVpcmVkPHN0cmluZz4oKTtcbiAgc3VidGl0bGUgPSBpbnB1dDxzdHJpbmc+KCk7XG4gIGRhdGFMb2NhbE5hdiA9IGlucHV0PElCbWJEYXRhVG9wQmFyW10+KFtdKTtcbiAgaWNvbiA9IGlucHV0PHN0cmluZz4oJ3RyZW5kaW5nX3VwJyk7XG4gIGJnSWNvbkFwcGVhcmFuY2UgPSBpbnB1dDxJQm1iQ29sb3I+KCdtaXRlYy1yZWQnKTtcblxuICBsYW5nID0gaW5wdXQ8c3RyaW5nPignZXMnKTtcbiAgZGF0ZUZvcm1hdCA9IGlucHV0PHN0cmluZz4oJ2RkL01NL3l5eXknKTtcbiAgZXZlbnRzID0gaW5wdXQ8SVRpbWVsaW5lRXZlbnRbXT4oW10pO1xuXG4gIGNsYW1wOiBJQm1iQ2xhbXAgPSB7IG1pbjogMCwgbWF4OiAnMTAwJScsIHNpemU6ICcxMDAlJyB9O1xuICBpc01vYmlsZTogYm9vbGVhbiA9IGZhbHNlO1xuICBhY3Rpb25IZWFkZXJzOiBJQm1iQWN0aW9uSGVhZGVyW10gPSBbXG4gICAge1xuICAgICAgaWNvbjogJ3R1bmUnLFxuICAgICAgaXNUb2dnbGVBY3RpdmU6IGZhbHNlLFxuICAgICAgYWN0aW9uOiAoKSA9PiB7XG4gICAgICAgIHRoaXMuaGFuZGxlQ2xvc2VGaWx0ZXJzKCk7XG4gICAgICB9LFxuICAgIH0sXG4gIF07XG4gIGlzRmlsdGVyc0VuYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgZmlsdGVyZWRFdmVudHMgPSBzaWduYWw8SVRpbWVsaW5lRXZlbnRbXT4oW10pO1xuICBmaWx0ZXJzOiBJQm1iQ29udHJvbFR5cGVbXSA9IFtcbiAgICB7XG4gICAgICB0aXRsZTogJ1RpcG8nLFxuICAgICAgY29udHJvbDogW1xuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogJ3BlbmRpbmcnLFxuICAgICAgICAgIHR5cGU6ICdjaGVja2JveCcsXG4gICAgICAgICAgbGFiZWw6ICdQZW5kaWVudGUnLFxuICAgICAgICAgIGNoZWNrZWQ6IGZhbHNlLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogJ2RvbmUnLFxuICAgICAgICAgIHR5cGU6ICdjaGVja2JveCcsXG4gICAgICAgICAgbGFiZWw6ICdGaW5hbGl6YWRvJyxcbiAgICAgICAgICBjaGVja2VkOiBmYWxzZSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6ICdhY3RpdmUnLFxuICAgICAgICAgIHR5cGU6ICdjaGVja2JveCcsXG4gICAgICAgICAgbGFiZWw6ICdJbmljaWFkbycsXG4gICAgICAgICAgY2hlY2tlZDogZmFsc2UsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiAndW5kZXJfcmV2aWV3JyxcbiAgICAgICAgICB0eXBlOiAnY2hlY2tib3gnLFxuICAgICAgICAgIGxhYmVsOiAnRW4gcmV2aXNpw7NuJyxcbiAgICAgICAgICBjaGVja2VkOiBmYWxzZSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSxcbiAgICB7XG4gICAgICB0aXRsZTogJ0luc3RhY2lhcycsXG4gICAgICBjb250cm9sOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiAnaW5zdGFuY2VzJyxcbiAgICAgICAgICB0eXBlOiAncmFkaWFsJyxcbiAgICAgICAgICBsYWJlbDogJ1RvZGFzJyxcbiAgICAgICAgICBjaGVja2VkOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogJ2luc3RhbmNlcycsXG4gICAgICAgICAgdHlwZTogJ3JhZGlhbCcsXG4gICAgICAgICAgbGFiZWw6ICdNw7psdGlwbGUnLFxuICAgICAgICAgIGNoZWNrZWQ6IGZhbHNlLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogJ2luc3RhbmNlcycsXG4gICAgICAgICAgdHlwZTogJ3JhZGlhbCcsXG4gICAgICAgICAgbGFiZWw6ICdVbmEnLFxuICAgICAgICAgIGNoZWNrZWQ6IGZhbHNlLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9LFxuICBdO1xuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuZmlsdGVyZWRFdmVudHMuc2V0KHRoaXMuZXZlbnRzKCkpO1xuICB9XG5cbiAgaGFuZGxlQ2xvc2VGaWx0ZXJzKCkge1xuICAgIHRoaXMuaXNGaWx0ZXJzRW5hYmxlZCA9ICF0aGlzLmlzRmlsdGVyc0VuYWJsZWQ7XG4gIH1cblxuICBoYW5kbGVGaWx0ZXJzQ2hhbmdlKGZpbHRlcnM6IGFueSkge1xuICAgIHRoaXMuaXNGaWx0ZXJzRW5hYmxlZCA9ICF0aGlzLmlzRmlsdGVyc0VuYWJsZWQ7XG4gICAgY29uc3QgYWN0aXZlRmlsdGVycyA9IE9iamVjdC5rZXlzKGZpbHRlcnMpO1xuICAgIGNvbnN0IHZhbGlkRmlsdGVycyA9IGFjdGl2ZUZpbHRlcnMuZmlsdGVyKChmaWx0ZXIpID0+IHtcbiAgICAgIGlmICh0eXBlb2YgZmlsdGVyc1tmaWx0ZXJdID09PSAnc3RyaW5nJykgcmV0dXJuIGZpbHRlcnNbZmlsdGVyXSAhPT0gJyc7XG4gICAgICByZXR1cm4gZmlsdGVyc1tmaWx0ZXJdLmNoZWNrZWQ7XG4gICAgfSk7XG5cbiAgICBpZiAoIXZhbGlkRmlsdGVycy5sZW5ndGgpIHtcbiAgICAgIHRoaXMuZmlsdGVyZWRFdmVudHMuc2V0KHRoaXMuZXZlbnRzKCkpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBmaWx0ZXJzVmFsdWUgPSB2YWxpZEZpbHRlcnMucmVkdWNlKFxuICAgICAgICAob2JqOiBJQm1iVGltZXN0cmVhbUZpbHRlcnMsIGZpbHRlcikgPT4ge1xuICAgICAgICAgIGlmIChmaWx0ZXIgPT09ICdpbnN0YW5jZXMnKVxuICAgICAgICAgICAgcmV0dXJuIHsgLi4ub2JqLCBpbnN0YW5jZXM6IGZpbHRlcnNbZmlsdGVyXS5sYWJlbCB9O1xuICAgICAgICAgIGlmIChmaWx0ZXIgPT09ICdzZWFyY2gnKSByZXR1cm4geyAuLi5vYmosIHRleHQ6IGZpbHRlcnNbZmlsdGVyXSB9O1xuICAgICAgICAgIGNvbnN0IHR5cGVzID0gb2JqPy50eXBlIHx8IFtdO1xuICAgICAgICAgIHJldHVybiB7IC4uLm9iaiwgdHlwZTogWy4uLnR5cGVzLCBmaWx0ZXJdIH07XG4gICAgICAgIH0sXG4gICAgICAgIHt9LFxuICAgICAgKTtcblxuICAgICAgdGhpcy5maWx0ZXJlZEV2ZW50cy5zZXQodGltZXN0cmVhbUZpbHRlcih0aGlzLmV2ZW50cygpLCBmaWx0ZXJzVmFsdWUpKTtcbiAgICB9XG4gIH1cblxuICBnZXRDbGFzc0xpc3QoKTogc3RyaW5nW10ge1xuICAgIGNvbnN0IGNsYXNzTGlzdCA9IFsnYm1iLXRpbWVzdHJlYW0tY2FyZC1maWx0ZXJzJ107XG4gICAgaWYgKHRoaXMuaXNGaWx0ZXJzRW5hYmxlZClcbiAgICAgIGNsYXNzTGlzdC5wdXNoKCdibWItdGltZXN0cmVhbS1jYXJkLWZpbHRlcnMtYWN0aXZlJyk7XG4gICAgcmV0dXJuIGNsYXNzTGlzdDtcbiAgfVxufVxuIiwiPHNlY3Rpb24gY2xhc3M9XCJibWItdGltZXN0cmVhbS1jYXJkXCI+XG4gIDxibWItaG9tZS1jYXJkXG4gICAgW2ljb25dPVwiaWNvbigpXCJcbiAgICBbYmdJY29uQXBwZWFyYW5jZV09XCJiZ0ljb25BcHBlYXJhbmNlKClcIlxuICAgIFt0aXRsZV09XCJ0aXRsZSgpXCJcbiAgICBbc3VidGl0bGVdPVwic3VidGl0bGUoKVwiXG4gICAgW2RhdGFMb2NhbE5hdl09XCJkYXRhTG9jYWxOYXYoKVwiXG4gICAgW2lzTW9iaWxlXT1cImlzTW9iaWxlXCJcbiAgICBbYWN0aW9uSGVhZGVyc109XCJhY3Rpb25IZWFkZXJzXCJcbiAgICBjb250ZW50UGFkZGluZz1cIm5vbmVcIlxuICA+XG4gICAgPGJtYi10aW1lc3RyZWFtXG4gICAgICBbZXZlbnRzXT1cImZpbHRlcmVkRXZlbnRzKClcIlxuICAgICAgW2RhdGVGb3JtYXRdPVwiZGF0ZUZvcm1hdCgpXCJcbiAgICAgIFtjbGFtcF09XCJjbGFtcFwiXG4gICAgICBbbGFuZ109XCJsYW5nKClcIlxuICAgIC8+XG4gIDwvYm1iLWhvbWUtY2FyZD5cbiAgPHNlY3Rpb24gW25nQ2xhc3NdPVwiZ2V0Q2xhc3NMaXN0KClcIj5cbiAgICA8Ym1iLWNhcmQ+XG4gICAgICA8Ym1iLWNhcmQtY29udGVudD5cbiAgICAgICAgPGhlYWRlciBjbGFzcz1cImJtYi10aW1lc3RyZWFtLWNhcmQtZmlsdGVycy1oZWFkZXJcIj5cbiAgICAgICAgICA8aDIgY2xhc3M9XCJibWItdGltZXN0cmVhbS1jYXJkLWZpbHRlcnMtaGVhZGVyLXRpdGxlXCI+XG4gICAgICAgICAgICBPcGNpb25lcyBkZSBmaWx0cmFkb1xuICAgICAgICAgIDwvaDI+XG4gICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwiaGFuZGxlQ2xvc2VGaWx0ZXJzKClcIj5cbiAgICAgICAgICAgIDxibWItaWNvblxuICAgICAgICAgICAgICBpY29uPVwiY2xvc2VcIlxuICAgICAgICAgICAgICBbc2l6ZV09XCIyMFwiXG4gICAgICAgICAgICAgIFthbHRdPVwic3VidGl0bGUoKSB8fCAnQ2VycmFyIGZpbHRyb3MnXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvaGVhZGVyPlxuICAgICAgICA8Ym1iLWZpbHRlci1jYXJkXG4gICAgICAgICAgW2luTGluZV09XCJ0cnVlXCJcbiAgICAgICAgICBwcmltYXJ5QnRuTGFiZWw9XCJBcGxpY2FyIGZpbHRyb3NcIlxuICAgICAgICAgIHNlY29uZGFyeUJ0bkxhYmVsPVwiTGltcGlhciBmaWx0cm9zXCJcbiAgICAgICAgICBbY29udHJvbFR5cGVzXT1cImZpbHRlcnNcIlxuICAgICAgICAgIChhcHBseUZpbHRlcnMpPVwiaGFuZGxlRmlsdGVyc0NoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgLz5cbiAgICAgIDwvYm1iLWNhcmQtY29udGVudD5cbiAgICA8L2JtYi1jYXJkPlxuICA8L3NlY3Rpb24+XG48L3NlY3Rpb24+XG4iXX0=