@coreui/angular-pro 4.1.0-next.4 → 4.2.0-next.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +174 -154
- package/esm2020/lib/accordion/accordion/accordion.component.mjs +4 -4
- package/esm2020/lib/accordion/accordion-button/accordion-button.directive.mjs +4 -4
- package/esm2020/lib/accordion/accordion-item/accordion-item.component.mjs +4 -4
- package/esm2020/lib/accordion/accordion.module.mjs +8 -10
- package/esm2020/lib/accordion/accordion.service.mjs +4 -4
- package/esm2020/lib/alert/alert-heading.directive.mjs +4 -4
- package/esm2020/lib/alert/alert-link.directive.mjs +4 -4
- package/esm2020/lib/alert/alert.component.mjs +11 -11
- package/esm2020/lib/alert/alert.module.mjs +6 -8
- package/esm2020/lib/avatar/avatar.component.mjs +5 -5
- package/esm2020/lib/avatar/avatar.module.mjs +5 -7
- package/esm2020/lib/backdrop/backdrop.service.mjs +4 -4
- package/esm2020/lib/badge/badge.component.mjs +5 -5
- package/esm2020/lib/badge/badge.module.mjs +5 -7
- package/esm2020/lib/breadcrumb/breadcrumb/breadcrumb.component.mjs +5 -5
- package/esm2020/lib/breadcrumb/breadcrumb-item/breadcrumb-item.component.mjs +4 -4
- package/esm2020/lib/breadcrumb/breadcrumb-router/breadcrumb-router.component.mjs +7 -7
- package/esm2020/lib/breadcrumb/breadcrumb-router/breadcrumb-router.service.mjs +4 -4
- package/esm2020/lib/breadcrumb/breadcrumb.module.mjs +5 -5
- package/esm2020/lib/button/button-close.directive.mjs +4 -4
- package/esm2020/lib/button/button.directive.mjs +4 -4
- package/esm2020/lib/button/button.module.mjs +5 -7
- package/esm2020/lib/button-group/button-group/button-group.component.mjs +4 -4
- package/esm2020/lib/button-group/button-group.module.mjs +5 -7
- package/esm2020/lib/button-group/button-toolbar/button-toolbar.component.mjs +4 -4
- package/esm2020/lib/calendar/calendar/calendar-class-view.pipe.mjs +4 -4
- package/esm2020/lib/calendar/calendar/calendar.component.mjs +7 -7
- package/esm2020/lib/calendar/calendar-month/calendar-class-day.pipe.mjs +4 -4
- package/esm2020/lib/calendar/calendar-month/calendar-class-month.pipe.mjs +4 -4
- package/esm2020/lib/calendar/calendar-month/calendar-class-year.pipe.mjs +4 -4
- package/esm2020/lib/calendar/calendar-month/calendar-day.directive.mjs +4 -4
- package/esm2020/lib/calendar/calendar-month/calendar-day.pipe.mjs +4 -4
- package/esm2020/lib/calendar/calendar-month/calendar-month.component.mjs +9 -9
- package/esm2020/lib/calendar/calendar-month/calendar-weekday.pipe.mjs +4 -4
- package/esm2020/lib/calendar/calendar-navigation/calendar-navigation.component.mjs +4 -4
- package/esm2020/lib/calendar/calendar.module.mjs +6 -8
- package/esm2020/lib/calendar/calendar.service.mjs +8 -6
- package/esm2020/lib/calendar/calendar.utils.mjs +5 -2
- package/esm2020/lib/callout/callout.component.mjs +4 -4
- package/esm2020/lib/callout/callout.module.mjs +5 -7
- package/esm2020/lib/card/card-body.component.mjs +4 -4
- package/esm2020/lib/card/card-footer.component.mjs +4 -4
- package/esm2020/lib/card/card-group.component.mjs +4 -4
- package/esm2020/lib/card/card-header-actions.component.mjs +4 -4
- package/esm2020/lib/card/card-header.component.mjs +4 -4
- package/esm2020/lib/card/card-img-overlay/card-img-overlay.component.mjs +4 -4
- package/esm2020/lib/card/card-img.directive.mjs +4 -4
- package/esm2020/lib/card/card-link.directive.mjs +4 -4
- package/esm2020/lib/card/card-subtitle.directive.mjs +4 -4
- package/esm2020/lib/card/card-text.directive.mjs +4 -4
- package/esm2020/lib/card/card-title.directive.mjs +4 -4
- package/esm2020/lib/card/card.component.mjs +4 -4
- package/esm2020/lib/card/card.module.mjs +5 -7
- package/esm2020/lib/carousel/carousel/carousel.component.mjs +4 -4
- package/esm2020/lib/carousel/carousel-caption/carousel-caption.component.mjs +4 -4
- package/esm2020/lib/carousel/carousel-control/carousel-control.component.mjs +5 -5
- package/esm2020/lib/carousel/carousel-indicators/carousel-indicators.component.mjs +5 -5
- package/esm2020/lib/carousel/carousel-inner/carousel-inner.component.mjs +4 -4
- package/esm2020/lib/carousel/carousel-item/carousel-item.component.mjs +4 -4
- package/esm2020/lib/carousel/carousel-state.mjs +4 -4
- package/esm2020/lib/carousel/carousel.config.mjs +4 -4
- package/esm2020/lib/carousel/carousel.module.mjs +5 -5
- package/esm2020/lib/carousel/carousel.service.mjs +4 -4
- package/esm2020/lib/collapse/collapse.animations.mjs +5 -5
- package/esm2020/lib/collapse/collapse.directive.mjs +4 -4
- package/esm2020/lib/collapse/collapse.module.mjs +5 -7
- package/esm2020/lib/date-range-picker/date-range-picker/date-range-picker.component.mjs +28 -21
- package/esm2020/lib/date-range-picker/date-range-picker.module.mjs +12 -14
- package/esm2020/lib/date-range-picker/end-date.directive.mjs +4 -4
- package/esm2020/lib/date-range-picker/start-date.directive.mjs +4 -4
- package/esm2020/lib/dropdown/dropdown/dropdown.component.mjs +7 -7
- package/esm2020/lib/dropdown/dropdown-close/dropdown-close.directive.mjs +4 -4
- package/esm2020/lib/dropdown/dropdown-divider/dropdown-divider.directive.mjs +4 -4
- package/esm2020/lib/dropdown/dropdown-header/dropdown-header.directive.mjs +4 -4
- package/esm2020/lib/dropdown/dropdown-item/dropdown-item-plain.directive.mjs +4 -4
- package/esm2020/lib/dropdown/dropdown-item/dropdown-item.directive.mjs +4 -4
- package/esm2020/lib/dropdown/dropdown-menu/dropdown-menu.directive.mjs +4 -4
- package/esm2020/lib/dropdown/dropdown.module.mjs +6 -8
- package/esm2020/lib/dropdown/dropdown.service.mjs +4 -4
- package/esm2020/lib/element-cover/element-cover.component.mjs +6 -6
- package/esm2020/lib/element-cover/element-cover.module.mjs +6 -8
- package/esm2020/lib/footer/footer.component.mjs +4 -4
- package/esm2020/lib/footer/footer.module.mjs +5 -7
- package/esm2020/lib/form/form/form.directive.mjs +4 -4
- package/esm2020/lib/form/form-check/form-check-input.directive.mjs +4 -4
- package/esm2020/lib/form/form-check/form-check-label.directive.mjs +4 -4
- package/esm2020/lib/form/form-check/form-check.component.mjs +4 -4
- package/esm2020/lib/form/form-control/form-control.directive.mjs +4 -4
- package/esm2020/lib/form/form-feedback/form-feedback.component.mjs +4 -4
- package/esm2020/lib/form/form-floating/form-floating.directive.mjs +4 -4
- package/esm2020/lib/form/form-label/form-label.directive.mjs +4 -4
- package/esm2020/lib/form/form-select/form-select.directive.mjs +4 -4
- package/esm2020/lib/form/form-text/form-text.directive.mjs +4 -4
- package/esm2020/lib/form/form.module.mjs +5 -5
- package/esm2020/lib/form/input-group/input-group.component.mjs +4 -4
- package/esm2020/lib/form/input-group-text/input-group-text.directive.mjs +4 -4
- package/esm2020/lib/grid/col.component.mjs +4 -4
- package/esm2020/lib/grid/col.directive.mjs +4 -4
- package/esm2020/lib/grid/container.component.mjs +4 -4
- package/esm2020/lib/grid/grid.module.mjs +5 -5
- package/esm2020/lib/grid/gutter.directive.mjs +4 -4
- package/esm2020/lib/grid/row.component.mjs +5 -5
- package/esm2020/lib/grid/row.directive.mjs +4 -4
- package/esm2020/lib/header/header/header.component.mjs +4 -4
- package/esm2020/lib/header/header-brand/header-brand.component.mjs +4 -4
- package/esm2020/lib/header/header-divider/header-divider.component.mjs +4 -4
- package/esm2020/lib/header/header-nav/header-nav.component.mjs +5 -5
- package/esm2020/lib/header/header-text/header-text.component.mjs +4 -4
- package/esm2020/lib/header/header-toggler/header-toggler.directive.mjs +4 -4
- package/esm2020/lib/header/header.module.mjs +5 -7
- package/esm2020/lib/image/img.directive.mjs +4 -4
- package/esm2020/lib/image/img.module.mjs +5 -7
- package/esm2020/lib/list-group/list-group-item.directive.mjs +4 -4
- package/esm2020/lib/list-group/list-group.directive.mjs +4 -4
- package/esm2020/lib/list-group/list-group.module.mjs +5 -7
- package/esm2020/lib/loading-button/loading-button.component.mjs +5 -5
- package/esm2020/lib/loading-button/loading-button.module.mjs +6 -8
- package/esm2020/lib/modal/modal/modal.component.mjs +7 -7
- package/esm2020/lib/modal/modal-body/modal-body.component.mjs +4 -4
- package/esm2020/lib/modal/modal-content/modal-content.component.mjs +4 -4
- package/esm2020/lib/modal/modal-dialog/modal-dialog.component.mjs +4 -4
- package/esm2020/lib/modal/modal-dismiss/modal-toggle.directive.mjs +4 -4
- package/esm2020/lib/modal/modal-footer/modal-footer.component.mjs +4 -4
- package/esm2020/lib/modal/modal-header/modal-header.component.mjs +4 -4
- package/esm2020/lib/modal/modal-title/modal-title.directive.mjs +4 -4
- package/esm2020/lib/modal/modal.module.mjs +7 -9
- package/esm2020/lib/modal/modal.service.mjs +4 -4
- package/esm2020/lib/multi-select/multi-select/multi-select.component.mjs +8 -8
- package/esm2020/lib/multi-select/multi-select-native-select/multi-select-native-select.component.mjs +4 -4
- package/esm2020/lib/multi-select/multi-select-optgroup/multi-select-optgroup-label.component.mjs +4 -4
- package/esm2020/lib/multi-select/multi-select-optgroup/multi-select-optgroup.component.mjs +6 -6
- package/esm2020/lib/multi-select/multi-select-option/multi-select-option.component.mjs +4 -4
- package/esm2020/lib/multi-select/multi-select-tag/multi-select-tag.component.mjs +4 -4
- package/esm2020/lib/multi-select/multi-select.module.mjs +5 -5
- package/esm2020/lib/multi-select/multi-select.service.mjs +4 -4
- package/esm2020/lib/nav/nav-item.component.mjs +4 -4
- package/esm2020/lib/nav/nav-link.directive.mjs +4 -4
- package/esm2020/lib/nav/nav.component.mjs +4 -4
- package/esm2020/lib/nav/nav.module.mjs +5 -7
- package/esm2020/lib/navbar/navbar-brand/navbar-brand.directive.mjs +4 -4
- package/esm2020/lib/navbar/navbar-nav/navbar-nav.component.mjs +4 -4
- package/esm2020/lib/navbar/navbar-text/navbar-text.component.mjs +4 -4
- package/esm2020/lib/navbar/navbar-toggler/navbar-toggler.directive.mjs +4 -4
- package/esm2020/lib/navbar/navbar.component.mjs +5 -5
- package/esm2020/lib/navbar/navbar.module.mjs +6 -8
- package/esm2020/lib/offcanvas/offcanvas/offcanvas.component.mjs +5 -5
- package/esm2020/lib/offcanvas/offcanvas-body/offcanvas-body.component.mjs +4 -4
- package/esm2020/lib/offcanvas/offcanvas-header/offcanvas-header.component.mjs +5 -5
- package/esm2020/lib/offcanvas/offcanvas-title/offcanvas-title.directive.mjs +4 -4
- package/esm2020/lib/offcanvas/offcanvas-toggle/offcanvas-toggle.directive.mjs +4 -4
- package/esm2020/lib/offcanvas/offcanvas.module.mjs +7 -9
- package/esm2020/lib/offcanvas/offcanvas.service.mjs +4 -4
- package/esm2020/lib/pagination/page-item/page-item.component.mjs +4 -4
- package/esm2020/lib/pagination/page-item/page-item.directive.mjs +4 -4
- package/esm2020/lib/pagination/page-link/page-link.directive.mjs +4 -4
- package/esm2020/lib/pagination/pagination/pagination.component.mjs +5 -5
- package/esm2020/lib/pagination/pagination.module.mjs +5 -7
- package/esm2020/lib/placeholder/placeholder-animation.directive.mjs +4 -4
- package/esm2020/lib/placeholder/placeholder.directive.mjs +4 -4
- package/esm2020/lib/placeholder/placeholder.module.mjs +5 -7
- package/esm2020/lib/popover/popover/popover.component.mjs +4 -4
- package/esm2020/lib/popover/popover.directive.mjs +4 -4
- package/esm2020/lib/popover/popover.module.mjs +5 -7
- package/esm2020/lib/progress/progress-bar.component.mjs +4 -4
- package/esm2020/lib/progress/progress.component.mjs +4 -4
- package/esm2020/lib/progress/progress.module.mjs +5 -7
- package/esm2020/lib/services/class-toggle.service.mjs +4 -4
- package/esm2020/lib/services/intersection.service.mjs +4 -4
- package/esm2020/lib/services/listeners.service.mjs +4 -4
- package/esm2020/lib/shared/html-attr.directive.mjs +4 -4
- package/esm2020/lib/shared/shared.module.mjs +5 -7
- package/esm2020/lib/shared/template-id.directive.mjs +4 -4
- package/esm2020/lib/sidebar/sidebar/sidebar.component.mjs +4 -4
- package/esm2020/lib/sidebar/sidebar-backdrop/sidebar-backdrop.service.mjs +4 -4
- package/esm2020/lib/sidebar/sidebar-brand/sidebar-brand.component.mjs +4 -4
- package/esm2020/lib/sidebar/sidebar-footer/sidebar-footer.component.mjs +5 -5
- package/esm2020/lib/sidebar/sidebar-header/sidebar-header.component.mjs +5 -5
- package/esm2020/lib/sidebar/sidebar-nav/sidebar-nav-badge.pipe.mjs +4 -4
- package/esm2020/lib/sidebar/sidebar-nav/sidebar-nav-divider.component.mjs +4 -4
- package/esm2020/lib/sidebar/sidebar-nav/sidebar-nav-icon.pipe.mjs +4 -4
- package/esm2020/lib/sidebar/sidebar-nav/sidebar-nav-item-class.pipe.mjs +4 -4
- package/esm2020/lib/sidebar/sidebar-nav/sidebar-nav-label.component.mjs +4 -4
- package/esm2020/lib/sidebar/sidebar-nav/sidebar-nav-link.component.mjs +11 -11
- package/esm2020/lib/sidebar/sidebar-nav/sidebar-nav-link.pipe.mjs +4 -4
- package/esm2020/lib/sidebar/sidebar-nav/sidebar-nav-title.component.mjs +4 -4
- package/esm2020/lib/sidebar/sidebar-nav/sidebar-nav.component.mjs +14 -14
- package/esm2020/lib/sidebar/sidebar-nav/sidebar-nav.service.mjs +7 -7
- package/esm2020/lib/sidebar/sidebar-toggle/sidebar-toggle.directive.mjs +4 -4
- package/esm2020/lib/sidebar/sidebar-toggler/sidebar-toggler.component.mjs +4 -4
- package/esm2020/lib/sidebar/sidebar.module.mjs +9 -11
- package/esm2020/lib/sidebar/sidebar.service.mjs +4 -4
- package/esm2020/lib/smart-pagination/smart-pagination.component.mjs +4 -4
- package/esm2020/lib/smart-pagination/smart-pagination.module.mjs +6 -8
- package/esm2020/lib/smart-table/smart-table/smart-table.component.mjs +16 -16
- package/esm2020/lib/smart-table/smart-table-filter/smart-table-filter.component.mjs +7 -7
- package/esm2020/lib/smart-table/smart-table-head/smart-table-head.component.mjs +8 -8
- package/esm2020/lib/smart-table/smart-table-items-per-page-selector/smart-table-items-per-page-selector.component.mjs +9 -9
- package/esm2020/lib/smart-table/smart-table.module.mjs +15 -17
- package/esm2020/lib/spinner/spinner.component.mjs +4 -4
- package/esm2020/lib/spinner/spinner.module.mjs +6 -8
- package/esm2020/lib/table/table-active.directive.mjs +4 -4
- package/esm2020/lib/table/table-color.directive.mjs +4 -4
- package/esm2020/lib/table/table.directive.mjs +4 -4
- package/esm2020/lib/table/table.module.mjs +5 -7
- package/esm2020/lib/tabs/tab-content/tab-content.component.mjs +4 -4
- package/esm2020/lib/tabs/tab-content-ref.directive.mjs +4 -4
- package/esm2020/lib/tabs/tab-pane/tab-pane.component.mjs +4 -4
- package/esm2020/lib/tabs/tab.service.mjs +4 -4
- package/esm2020/lib/tabs/tabs.module.mjs +6 -8
- package/esm2020/lib/time-picker/index.mjs +2 -0
- package/esm2020/lib/time-picker/public_api.mjs +3 -0
- package/esm2020/lib/time-picker/time-picker-roll-col/time-picker-roll-am-pm.component.mjs +103 -0
- package/esm2020/lib/time-picker/time-picker-roll-col/time-picker-roll-col.component.mjs +104 -0
- package/esm2020/lib/time-picker/time-picker.component.mjs +458 -0
- package/esm2020/lib/time-picker/time-picker.module.mjs +50 -0
- package/esm2020/lib/time-picker/time.utils.mjs +645 -0
- package/esm2020/lib/toast/toast/toast.component.mjs +10 -10
- package/esm2020/lib/toast/toast-body/toast-body.component.mjs +4 -4
- package/esm2020/lib/toast/toast-close.directive.mjs +4 -4
- package/esm2020/lib/toast/toast-header/toast-header.component.mjs +5 -5
- package/esm2020/lib/toast/toast.module.mjs +5 -5
- package/esm2020/lib/toast/toaster/toaster-host.directive.mjs +4 -4
- package/esm2020/lib/toast/toaster/toaster.component.mjs +4 -4
- package/esm2020/lib/toast/toaster/toaster.service.mjs +4 -4
- package/esm2020/lib/tooltip/tooltip/tooltip.component.mjs +4 -4
- package/esm2020/lib/tooltip/tooltip.directive.mjs +4 -4
- package/esm2020/lib/tooltip/tooltip.module.mjs +5 -7
- package/esm2020/lib/utilities/align.directive.mjs +4 -4
- package/esm2020/lib/utilities/bg-color.directive.mjs +4 -4
- package/esm2020/lib/utilities/border.directive.mjs +4 -4
- package/esm2020/lib/utilities/rounded.directive.mjs +4 -4
- package/esm2020/lib/utilities/text-color.directive.mjs +4 -4
- package/esm2020/lib/utilities/utilities.module.mjs +5 -7
- package/esm2020/lib/widget/widget-stat-a/widget-stat-a.component.mjs +7 -7
- package/esm2020/lib/widget/widget-stat-b/widget-stat-b.component.mjs +7 -7
- package/esm2020/lib/widget/widget-stat-c/widget-stat-c.component.mjs +7 -7
- package/esm2020/lib/widget/widget-stat-d/widget-stat-d.component.mjs +8 -8
- package/esm2020/lib/widget/widget-stat-e/widget-stat-e.component.mjs +7 -7
- package/esm2020/lib/widget/widget-stat-f/widget-stat-f.component.mjs +8 -8
- package/esm2020/lib/widget/widget.module.mjs +7 -9
- package/esm2020/public-api.mjs +2 -1
- package/fesm2015/coreui-angular-pro.mjs +2905 -1616
- package/fesm2015/coreui-angular-pro.mjs.map +1 -1
- package/fesm2020/coreui-angular-pro.mjs +2890 -1624
- package/fesm2020/coreui-angular-pro.mjs.map +1 -1
- package/{coreui-angular-pro.d.ts → index.d.ts} +0 -0
- package/lib/accordion/accordion/accordion.component.d.ts +1 -1
- package/lib/accordion/accordion-button/accordion-button.directive.d.ts +1 -1
- package/lib/accordion/accordion-item/accordion-item.component.d.ts +1 -1
- package/lib/alert/alert-heading.directive.d.ts +1 -1
- package/lib/alert/alert-link.directive.d.ts +1 -1
- package/lib/alert/alert.component.d.ts +1 -1
- package/lib/avatar/avatar.component.d.ts +1 -1
- package/lib/badge/badge.component.d.ts +1 -1
- package/lib/breadcrumb/breadcrumb/breadcrumb.component.d.ts +1 -1
- package/lib/breadcrumb/breadcrumb-item/breadcrumb-item.component.d.ts +1 -1
- package/lib/breadcrumb/breadcrumb-router/breadcrumb-router.component.d.ts +1 -1
- package/lib/button/button-close.directive.d.ts +1 -1
- package/lib/button/button.directive.d.ts +1 -1
- package/lib/button-group/button-group/button-group.component.d.ts +1 -1
- package/lib/button-group/button-toolbar/button-toolbar.component.d.ts +1 -1
- package/lib/calendar/calendar/calendar-class-view.pipe.d.ts +1 -1
- package/lib/calendar/calendar/calendar.component.d.ts +1 -1
- package/lib/calendar/calendar-month/calendar-class-day.pipe.d.ts +1 -1
- package/lib/calendar/calendar-month/calendar-class-month.pipe.d.ts +1 -1
- package/lib/calendar/calendar-month/calendar-class-year.pipe.d.ts +1 -1
- package/lib/calendar/calendar-month/calendar-day.directive.d.ts +1 -1
- package/lib/calendar/calendar-month/calendar-day.pipe.d.ts +1 -1
- package/lib/calendar/calendar-month/calendar-month.component.d.ts +1 -1
- package/lib/calendar/calendar-month/calendar-weekday.pipe.d.ts +1 -1
- package/lib/calendar/calendar-navigation/calendar-navigation.component.d.ts +1 -1
- package/lib/calendar/calendar.utils.d.ts +3 -3
- package/lib/callout/callout.component.d.ts +1 -1
- package/lib/card/card-body.component.d.ts +1 -1
- package/lib/card/card-footer.component.d.ts +1 -1
- package/lib/card/card-group.component.d.ts +1 -1
- package/lib/card/card-header-actions.component.d.ts +1 -1
- package/lib/card/card-header.component.d.ts +1 -1
- package/lib/card/card-img-overlay/card-img-overlay.component.d.ts +1 -1
- package/lib/card/card-img.directive.d.ts +1 -1
- package/lib/card/card-link.directive.d.ts +1 -1
- package/lib/card/card-subtitle.directive.d.ts +1 -1
- package/lib/card/card-text.directive.d.ts +1 -1
- package/lib/card/card-title.directive.d.ts +1 -1
- package/lib/card/card.component.d.ts +1 -1
- package/lib/carousel/carousel/carousel.component.d.ts +1 -1
- package/lib/carousel/carousel-caption/carousel-caption.component.d.ts +1 -1
- package/lib/carousel/carousel-control/carousel-control.component.d.ts +1 -1
- package/lib/carousel/carousel-indicators/carousel-indicators.component.d.ts +1 -1
- package/lib/carousel/carousel-inner/carousel-inner.component.d.ts +1 -1
- package/lib/carousel/carousel-item/carousel-item.component.d.ts +1 -1
- package/lib/collapse/collapse.directive.d.ts +1 -1
- package/lib/date-range-picker/date-range-picker/date-range-picker.component.d.ts +5 -3
- package/lib/date-range-picker/end-date.directive.d.ts +1 -1
- package/lib/date-range-picker/start-date.directive.d.ts +1 -1
- package/lib/dropdown/dropdown/dropdown.component.d.ts +2 -2
- package/lib/dropdown/dropdown-close/dropdown-close.directive.d.ts +1 -1
- package/lib/dropdown/dropdown-divider/dropdown-divider.directive.d.ts +1 -1
- package/lib/dropdown/dropdown-header/dropdown-header.directive.d.ts +1 -1
- package/lib/dropdown/dropdown-item/dropdown-item-plain.directive.d.ts +1 -1
- package/lib/dropdown/dropdown-item/dropdown-item.directive.d.ts +1 -1
- package/lib/dropdown/dropdown-menu/dropdown-menu.directive.d.ts +1 -1
- package/lib/element-cover/element-cover.component.d.ts +1 -1
- package/lib/footer/footer.component.d.ts +1 -1
- package/lib/form/form/form.directive.d.ts +1 -1
- package/lib/form/form-check/form-check-input.directive.d.ts +1 -1
- package/lib/form/form-check/form-check-label.directive.d.ts +1 -1
- package/lib/form/form-check/form-check.component.d.ts +1 -1
- package/lib/form/form-control/form-control.directive.d.ts +1 -1
- package/lib/form/form-feedback/form-feedback.component.d.ts +1 -1
- package/lib/form/form-floating/form-floating.directive.d.ts +1 -1
- package/lib/form/form-label/form-label.directive.d.ts +1 -1
- package/lib/form/form-select/form-select.directive.d.ts +1 -1
- package/lib/form/form-text/form-text.directive.d.ts +1 -1
- package/lib/form/input-group/input-group.component.d.ts +1 -1
- package/lib/form/input-group-text/input-group-text.directive.d.ts +1 -1
- package/lib/grid/col.component.d.ts +1 -1
- package/lib/grid/col.directive.d.ts +1 -1
- package/lib/grid/container.component.d.ts +1 -1
- package/lib/grid/gutter.directive.d.ts +1 -1
- package/lib/grid/row.component.d.ts +1 -1
- package/lib/grid/row.directive.d.ts +1 -1
- package/lib/header/header/header.component.d.ts +1 -1
- package/lib/header/header-brand/header-brand.component.d.ts +1 -1
- package/lib/header/header-divider/header-divider.component.d.ts +1 -1
- package/lib/header/header-nav/header-nav.component.d.ts +1 -1
- package/lib/header/header-text/header-text.component.d.ts +1 -1
- package/lib/header/header-toggler/header-toggler.directive.d.ts +1 -1
- package/lib/image/img.directive.d.ts +1 -1
- package/lib/list-group/list-group-item.directive.d.ts +1 -1
- package/lib/list-group/list-group.directive.d.ts +1 -1
- package/lib/loading-button/loading-button.component.d.ts +1 -1
- package/lib/modal/modal/modal.component.d.ts +1 -1
- package/lib/modal/modal-body/modal-body.component.d.ts +1 -1
- package/lib/modal/modal-content/modal-content.component.d.ts +1 -1
- package/lib/modal/modal-dialog/modal-dialog.component.d.ts +1 -1
- package/lib/modal/modal-dismiss/modal-toggle.directive.d.ts +1 -1
- package/lib/modal/modal-footer/modal-footer.component.d.ts +1 -1
- package/lib/modal/modal-header/modal-header.component.d.ts +1 -1
- package/lib/modal/modal-title/modal-title.directive.d.ts +1 -1
- package/lib/multi-select/multi-select/multi-select.component.d.ts +1 -1
- package/lib/multi-select/multi-select-native-select/multi-select-native-select.component.d.ts +1 -1
- package/lib/multi-select/multi-select-optgroup/multi-select-optgroup-label.component.d.ts +1 -1
- package/lib/multi-select/multi-select-optgroup/multi-select-optgroup.component.d.ts +1 -1
- package/lib/multi-select/multi-select-option/multi-select-option.component.d.ts +1 -1
- package/lib/multi-select/multi-select-tag/multi-select-tag.component.d.ts +1 -1
- package/lib/nav/nav-item.component.d.ts +1 -1
- package/lib/nav/nav-link.directive.d.ts +1 -1
- package/lib/nav/nav.component.d.ts +1 -1
- package/lib/navbar/navbar-brand/navbar-brand.directive.d.ts +1 -1
- package/lib/navbar/navbar-nav/navbar-nav.component.d.ts +1 -1
- package/lib/navbar/navbar-text/navbar-text.component.d.ts +1 -1
- package/lib/navbar/navbar-toggler/navbar-toggler.directive.d.ts +1 -1
- package/lib/navbar/navbar.component.d.ts +1 -1
- package/lib/offcanvas/offcanvas/offcanvas.component.d.ts +1 -1
- package/lib/offcanvas/offcanvas-body/offcanvas-body.component.d.ts +1 -1
- package/lib/offcanvas/offcanvas-header/offcanvas-header.component.d.ts +1 -1
- package/lib/offcanvas/offcanvas-title/offcanvas-title.directive.d.ts +1 -1
- package/lib/offcanvas/offcanvas-toggle/offcanvas-toggle.directive.d.ts +1 -1
- package/lib/pagination/page-item/page-item.component.d.ts +1 -1
- package/lib/pagination/page-item/page-item.directive.d.ts +1 -1
- package/lib/pagination/page-link/page-link.directive.d.ts +1 -1
- package/lib/pagination/pagination/pagination.component.d.ts +1 -1
- package/lib/placeholder/placeholder-animation.directive.d.ts +1 -1
- package/lib/placeholder/placeholder.directive.d.ts +1 -1
- package/lib/popover/popover/popover.component.d.ts +1 -1
- package/lib/popover/popover.directive.d.ts +1 -1
- package/lib/progress/progress-bar.component.d.ts +1 -1
- package/lib/progress/progress.component.d.ts +1 -1
- package/lib/shared/html-attr.directive.d.ts +1 -1
- package/lib/shared/template-id.directive.d.ts +1 -1
- package/lib/sidebar/sidebar/sidebar.component.d.ts +1 -1
- package/lib/sidebar/sidebar-brand/sidebar-brand.component.d.ts +1 -1
- package/lib/sidebar/sidebar-footer/sidebar-footer.component.d.ts +1 -1
- package/lib/sidebar/sidebar-header/sidebar-header.component.d.ts +1 -1
- package/lib/sidebar/sidebar-nav/sidebar-nav-badge.pipe.d.ts +1 -1
- package/lib/sidebar/sidebar-nav/sidebar-nav-divider.component.d.ts +1 -1
- package/lib/sidebar/sidebar-nav/sidebar-nav-icon.pipe.d.ts +1 -1
- package/lib/sidebar/sidebar-nav/sidebar-nav-item-class.pipe.d.ts +1 -1
- package/lib/sidebar/sidebar-nav/sidebar-nav-label.component.d.ts +1 -1
- package/lib/sidebar/sidebar-nav/sidebar-nav-link.component.d.ts +2 -2
- package/lib/sidebar/sidebar-nav/sidebar-nav-link.pipe.d.ts +1 -1
- package/lib/sidebar/sidebar-nav/sidebar-nav-title.component.d.ts +1 -1
- package/lib/sidebar/sidebar-nav/sidebar-nav.component.d.ts +2 -2
- package/lib/sidebar/sidebar-toggle/sidebar-toggle.directive.d.ts +1 -1
- package/lib/sidebar/sidebar-toggler/sidebar-toggler.component.d.ts +1 -1
- package/lib/smart-pagination/smart-pagination.component.d.ts +1 -1
- package/lib/smart-table/smart-table/smart-table.component.d.ts +1 -1
- package/lib/smart-table/smart-table-filter/smart-table-filter.component.d.ts +1 -1
- package/lib/smart-table/smart-table-head/smart-table-head.component.d.ts +1 -1
- package/lib/smart-table/smart-table-items-per-page-selector/smart-table-items-per-page-selector.component.d.ts +1 -1
- package/lib/spinner/spinner.component.d.ts +1 -1
- package/lib/table/table-active.directive.d.ts +1 -1
- package/lib/table/table-color.directive.d.ts +1 -1
- package/lib/table/table.directive.d.ts +1 -1
- package/lib/tabs/tab-content/tab-content.component.d.ts +1 -1
- package/lib/tabs/tab-content-ref.directive.d.ts +1 -1
- package/lib/tabs/tab-pane/tab-pane.component.d.ts +1 -1
- package/lib/time-picker/index.d.ts +1 -0
- package/lib/time-picker/public_api.d.ts +2 -0
- package/lib/time-picker/time-picker-roll-col/time-picker-roll-am-pm.component.d.ts +39 -0
- package/lib/time-picker/time-picker-roll-col/time-picker-roll-col.component.d.ts +38 -0
- package/lib/time-picker/time-picker.component.d.ts +183 -0
- package/lib/time-picker/time-picker.module.d.ts +14 -0
- package/lib/time-picker/time.utils.d.ts +57 -0
- package/lib/toast/toast/toast.component.d.ts +1 -1
- package/lib/toast/toast-body/toast-body.component.d.ts +1 -1
- package/lib/toast/toast-close.directive.d.ts +1 -1
- package/lib/toast/toast-header/toast-header.component.d.ts +1 -1
- package/lib/toast/toaster/toaster-host.directive.d.ts +1 -1
- package/lib/toast/toaster/toaster.component.d.ts +1 -1
- package/lib/tooltip/tooltip/tooltip.component.d.ts +1 -1
- package/lib/tooltip/tooltip.directive.d.ts +1 -1
- package/lib/utilities/align.directive.d.ts +1 -1
- package/lib/utilities/bg-color.directive.d.ts +1 -1
- package/lib/utilities/border.directive.d.ts +1 -1
- package/lib/utilities/rounded.directive.d.ts +1 -1
- package/lib/utilities/text-color.directive.d.ts +1 -1
- package/lib/widget/widget-stat-a/widget-stat-a.component.d.ts +1 -1
- package/lib/widget/widget-stat-b/widget-stat-b.component.d.ts +1 -1
- package/lib/widget/widget-stat-c/widget-stat-c.component.d.ts +1 -1
- package/lib/widget/widget-stat-d/widget-stat-d.component.d.ts +1 -1
- package/lib/widget/widget-stat-e/widget-stat-e.component.d.ts +1 -1
- package/lib/widget/widget-stat-f/widget-stat-f.component.d.ts +1 -1
- package/package.json +13 -8
- package/public-api.d.ts +1 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Component, EventEmitter, forwardRef, Input, Output, ViewChild } from '@angular/core';
|
|
1
|
+
import { Component, EventEmitter, forwardRef, HostListener, Input, Output, ViewChild } from '@angular/core';
|
|
2
2
|
import { FormControl, NG_VALUE_ACCESSOR, Validators } from '@angular/forms';
|
|
3
3
|
import { coerceBooleanProperty, coerceNumberProperty } from '@angular/cdk/coercion';
|
|
4
4
|
import { Breakpoints } from '@angular/cdk/layout';
|
|
@@ -8,17 +8,17 @@ import { StartDateDirective } from '../start-date.directive';
|
|
|
8
8
|
import { EndDateDirective } from '../end-date.directive';
|
|
9
9
|
import * as i0 from "@angular/core";
|
|
10
10
|
import * as i1 from "@angular/cdk/layout";
|
|
11
|
-
import * as i2 from "
|
|
12
|
-
import * as i3 from "
|
|
13
|
-
import * as i4 from "../../
|
|
14
|
-
import * as i5 from "../../
|
|
15
|
-
import * as i6 from "
|
|
16
|
-
import * as i7 from "
|
|
17
|
-
import * as i8 from "
|
|
18
|
-
import * as i9 from "../../
|
|
19
|
-
import * as i10 from "
|
|
20
|
-
import * as i11 from "
|
|
21
|
-
import * as i12 from "
|
|
11
|
+
import * as i2 from "@angular/common";
|
|
12
|
+
import * as i3 from "@angular/forms";
|
|
13
|
+
import * as i4 from "../../button/button.directive";
|
|
14
|
+
import * as i5 from "../../calendar/calendar/calendar.component";
|
|
15
|
+
import * as i6 from "../../form/form-control/form-control.directive";
|
|
16
|
+
import * as i7 from "../../form/input-group/input-group.component";
|
|
17
|
+
import * as i8 from "../../form/input-group-text/input-group-text.directive";
|
|
18
|
+
import * as i9 from "../../dropdown/dropdown/dropdown.component";
|
|
19
|
+
import * as i10 from "../../dropdown/dropdown-menu/dropdown-menu.directive";
|
|
20
|
+
import * as i11 from "../start-date.directive";
|
|
21
|
+
import * as i12 from "../end-date.directive";
|
|
22
22
|
/** Must be a valid date string */
|
|
23
23
|
// todo: validation
|
|
24
24
|
// export function invalidDateStringValidator(locale: string): ValidatorFn {
|
|
@@ -130,9 +130,8 @@ export class DateRangePickerComponent {
|
|
|
130
130
|
elementRef.nativeElement.value = date?.toLocaleDateString(this.locale) ?? '';
|
|
131
131
|
return;
|
|
132
132
|
};
|
|
133
|
-
this.onChange = (value) => {
|
|
134
|
-
|
|
135
|
-
};
|
|
133
|
+
this.onChange = (value) => { };
|
|
134
|
+
this.onTouched = () => { };
|
|
136
135
|
}
|
|
137
136
|
/**
|
|
138
137
|
* The number of calendars that render on desktop devices.
|
|
@@ -256,12 +255,16 @@ export class DateRangePickerComponent {
|
|
|
256
255
|
if (this._value.toString() !== newValue.toString()) {
|
|
257
256
|
this._value = newValue;
|
|
258
257
|
this.onChange(newValue);
|
|
258
|
+
this.onTouched();
|
|
259
259
|
this.valueChange.emit(this.value);
|
|
260
260
|
}
|
|
261
261
|
}
|
|
262
262
|
get value() {
|
|
263
263
|
return this._value;
|
|
264
264
|
}
|
|
265
|
+
onBlur() {
|
|
266
|
+
this.onTouched();
|
|
267
|
+
}
|
|
265
268
|
set startDateValue(value) {
|
|
266
269
|
this.startDateInput.setValue(value);
|
|
267
270
|
this._startDateValue = value;
|
|
@@ -378,6 +381,7 @@ export class DateRangePickerComponent {
|
|
|
378
381
|
this.onChange = fn;
|
|
379
382
|
}
|
|
380
383
|
registerOnTouched(fn) {
|
|
384
|
+
this.onTouched = fn;
|
|
381
385
|
}
|
|
382
386
|
setDisabledState(isDisabled) {
|
|
383
387
|
this.disabled = isDisabled;
|
|
@@ -388,15 +392,15 @@ export class DateRangePickerComponent {
|
|
|
388
392
|
}
|
|
389
393
|
}
|
|
390
394
|
}
|
|
391
|
-
DateRangePickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
392
|
-
DateRangePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
395
|
+
DateRangePickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: DateRangePickerComponent, deps: [{ token: i1.BreakpointObserver }], target: i0.ɵɵFactoryTarget.Component });
|
|
396
|
+
DateRangePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.0", type: DateRangePickerComponent, selector: "c-date-range-picker", inputs: { dayFormat: "dayFormat", calendars: "calendars", cleaner: "cleaner", format: "format", indicator: "indicator", inputReadOnly: "inputReadOnly", navYearFirst: "navYearFirst", placeholder: "placeholder", ranges: "ranges", rangesButtonsColor: "rangesButtonsColor", rangesButtonsSize: "rangesButtonsSize", rangesButtonsVariant: "rangesButtonsVariant", separator: "separator", size: "size", timepicker: "timepicker", todayButton: "todayButton", todayButtonColor: "todayButtonColor", todayButtonSize: "todayButtonSize", todayButtonVariant: "todayButtonVariant", visible: "visible", startDate: "startDate", endDate: "endDate", calendarDate: "calendarDate", disabledDates: "disabledDates", firstDayOfWeek: "firstDayOfWeek", locale: "locale", maxDate: "maxDate", minDate: "minDate", navigation: "navigation", range: "range", dateFilter: "dateFilter", disabled: "disabled", value: "value", weekdayFormat: "weekdayFormat" }, outputs: { valueChange: "valueChange", calendarCellHover: "calendarCellHover", calendarDateChange: "calendarDateChange", endDateChange: "endDateChange", startDateChange: "startDateChange" }, host: { listeners: { "blur": "onBlur()" } }, providers: [
|
|
393
397
|
{
|
|
394
398
|
provide: NG_VALUE_ACCESSOR,
|
|
395
399
|
useExisting: forwardRef(() => DateRangePickerComponent),
|
|
396
400
|
multi: true
|
|
397
401
|
}
|
|
398
|
-
], viewQueries: [{ propertyName: "calendarComponent", first: true, predicate: CalendarComponent, descendants: true }, { propertyName: "startDateDirective", first: true, predicate: StartDateDirective, descendants: true }, { propertyName: "endDateDirective", first: true, predicate: EndDateDirective, descendants: true }], exportAs: ["cDateRangePicker"], ngImport: i0, template: "<c-dropdown #dropdown=\"cDropdown\" [autoClose]=\"'outside'\" class=\"date-picker picker\">\r\n <c-input-group [caret]=\"false\"\r\n [disabled]=\"disabled ?? dropdown.visible\"\r\n [sizing]=\"size ?? ''\"\r\n cDropdownToggle\r\n class=\"picker-input-group\"\r\n >\r\n <input (change)=\"handleStartDateInputChange($event)\"\r\n [formControl]=\"startDateInput\"\r\n [ngClass]=\"{hover: !!inputStartHoverValue}\"\r\n [placeholder]=\"startDatePlaceholder ?? placeholder[0]\"\r\n cFormControl\r\n cStartDate\r\n [attr.tabindex]=\"disabled ? -1 : 0\"\r\n [attr.disabled]=\"disabled ? '' : null\"\r\n pattern=\"[1-9]*\"\r\n [readonly]=\"inputReadOnly ?? null\"\r\n >\r\n <span *ngIf=\"range && separator !== false\" cInputGroupText>\r\n <span class=\"picker-input-group-icon date-picker-arrow-icon\"></span>\r\n </span>\r\n <input (change)=\"handleEndDateInputChange($event)\"\r\n *ngIf=\"range\"\r\n [formControl]=\"endDateInput\"\r\n [ngClass]=\"{hover: !!inputEndHoverValue}\"\r\n [placeholder]=\"endDatePlaceholder ?? placeholder[1]\"\r\n cEndDate\r\n cFormControl\r\n [attr.tabindex]=\"disabled ? -1 : 0\"\r\n [attr.disabled]=\"disabled ? '' : null\"\r\n pattern=\"[1-9]*\"\r\n [readonly]=\"inputReadOnly ?? null\"\r\n >\r\n <span *ngIf=\"indicator || cleaner\" cInputGroupText>\r\n <span *ngIf=\"indicator\" class=\"picker-input-group-indicator\">\r\n <span class=\"picker-input-group-icon date-picker-input-icon\"></span>\r\n </span>\r\n <span (click)=\"!disabled && handleClear($event)\" *ngIf=\"cleaner && startDate &&!disabled\" class=\"picker-input-group-cleaner\"\r\n role=\"button\">\r\n <span class=\"picker-input-group-icon date-picker-cleaner-icon\"></span>\r\n </span>\r\n </span>\r\n\r\n </c-input-group>\r\n <div [visible]=\"true\" cDropdownMenu>\r\n <div class=\"date-picker-body\">\r\n <ng-template [ngIf]=\"!isMobile\">\r\n <div *ngIf=\"ranges\" class=\"date-picker-ranges\">\r\n <button (click)=\"setCustomRange(customRange)\"\r\n *ngFor=\"let customRange of customRanges\"\r\n [color]=\"rangesButtonsColor\"\r\n [size]=\"rangesButtonsSize\"\r\n [variant]=\"rangesButtonsVariant\"\r\n cButton>\r\n {{getCustomRangeKey(customRange)}}\r\n </button>\r\n </div>\r\n </ng-template>\r\n <c-calendar\r\n (calendarCellHover)=\"handleCalendarCellHover($event)\"\r\n (calendarDateChange)=\"handleCalendarDateChange($event)\"\r\n (endDateChange)=\"handleEndDateChange($event)\"\r\n (startDateChange)=\"handleStartDateChange($event)\"\r\n [calendarDate]=\"calendarDate\"\r\n [calendars]=\"isMobile ? 1 : calendars\"\r\n [dateFilter]=\"dateFilter\"\r\n [disabledDates]=\"disabledDates\"\r\n [endDate]=\"endDate\"\r\n [firstDayOfWeek]=\"firstDayOfWeek\"\r\n [locale]=\"locale\"\r\n [maxDate]=\"maxDate\"\r\n [minDate]=\"minDate\"\r\n [navigation]=\"navigation\"\r\n [range]=\"range\"\r\n [startDate]=\"startDate\"\r\n [navYearFirst]=\"navYearFirst\"\r\n [dayFormat]=\"dayFormat\"\r\n [weekdayFormat]=\"weekdayFormat\"\r\n class=\"date-picker-calendars\"\r\n ></c-calendar>\r\n </div>\r\n </div>\r\n <ng-content></ng-content>\r\n</c-dropdown>\r\n", styles: [""],
|
|
399
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
402
|
+
], viewQueries: [{ propertyName: "calendarComponent", first: true, predicate: CalendarComponent, descendants: true }, { propertyName: "startDateDirective", first: true, predicate: StartDateDirective, descendants: true }, { propertyName: "endDateDirective", first: true, predicate: EndDateDirective, descendants: true }], exportAs: ["cDateRangePicker"], ngImport: i0, template: "<c-dropdown #dropdown=\"cDropdown\" [autoClose]=\"'outside'\" class=\"date-picker picker\">\r\n <c-input-group [caret]=\"false\"\r\n [disabled]=\"disabled ?? dropdown.visible\"\r\n [sizing]=\"size ?? ''\"\r\n cDropdownToggle\r\n class=\"picker-input-group\"\r\n >\r\n <input (change)=\"handleStartDateInputChange($event)\"\r\n [formControl]=\"startDateInput\"\r\n [ngClass]=\"{hover: !!inputStartHoverValue}\"\r\n [placeholder]=\"startDatePlaceholder ?? placeholder[0]\"\r\n cFormControl\r\n cStartDate\r\n [attr.tabindex]=\"disabled ? -1 : 0\"\r\n [attr.disabled]=\"disabled ? '' : null\"\r\n pattern=\"[1-9]*\"\r\n [readonly]=\"inputReadOnly ?? null\"\r\n >\r\n <span *ngIf=\"range && separator !== false\" cInputGroupText>\r\n <span class=\"picker-input-group-icon date-picker-arrow-icon\"></span>\r\n </span>\r\n <input (change)=\"handleEndDateInputChange($event)\"\r\n *ngIf=\"range\"\r\n [formControl]=\"endDateInput\"\r\n [ngClass]=\"{hover: !!inputEndHoverValue}\"\r\n [placeholder]=\"endDatePlaceholder ?? placeholder[1]\"\r\n cEndDate\r\n cFormControl\r\n [attr.tabindex]=\"disabled ? -1 : 0\"\r\n [attr.disabled]=\"disabled ? '' : null\"\r\n pattern=\"[1-9]*\"\r\n [readonly]=\"inputReadOnly ?? null\"\r\n >\r\n <span *ngIf=\"indicator || cleaner\" cInputGroupText>\r\n <span *ngIf=\"indicator\" class=\"picker-input-group-indicator\">\r\n <span class=\"picker-input-group-icon date-picker-input-icon\"></span>\r\n </span>\r\n <span (click)=\"!disabled && handleClear($event)\" *ngIf=\"cleaner && startDate &&!disabled\" class=\"picker-input-group-cleaner\"\r\n role=\"button\">\r\n <span class=\"picker-input-group-icon date-picker-cleaner-icon\"></span>\r\n </span>\r\n </span>\r\n\r\n </c-input-group>\r\n <div [visible]=\"true\" cDropdownMenu>\r\n <div class=\"date-picker-body\">\r\n <ng-template [ngIf]=\"!isMobile\">\r\n <div *ngIf=\"ranges\" class=\"date-picker-ranges\">\r\n <button (click)=\"setCustomRange(customRange)\"\r\n *ngFor=\"let customRange of customRanges\"\r\n [color]=\"rangesButtonsColor\"\r\n [size]=\"rangesButtonsSize\"\r\n [variant]=\"rangesButtonsVariant\"\r\n cButton>\r\n {{getCustomRangeKey(customRange)}}\r\n </button>\r\n </div>\r\n </ng-template>\r\n <c-calendar\r\n (calendarCellHover)=\"handleCalendarCellHover($event)\"\r\n (calendarDateChange)=\"handleCalendarDateChange($event)\"\r\n (endDateChange)=\"handleEndDateChange($event)\"\r\n (startDateChange)=\"handleStartDateChange($event)\"\r\n [calendarDate]=\"calendarDate\"\r\n [calendars]=\"isMobile ? 1 : calendars\"\r\n [dateFilter]=\"dateFilter\"\r\n [disabledDates]=\"disabledDates\"\r\n [endDate]=\"endDate\"\r\n [firstDayOfWeek]=\"firstDayOfWeek\"\r\n [locale]=\"locale\"\r\n [maxDate]=\"maxDate\"\r\n [minDate]=\"minDate\"\r\n [navigation]=\"navigation\"\r\n [range]=\"range\"\r\n [startDate]=\"startDate\"\r\n [navYearFirst]=\"navYearFirst\"\r\n [dayFormat]=\"dayFormat\"\r\n [weekdayFormat]=\"weekdayFormat\"\r\n class=\"date-picker-calendars\"\r\n ></c-calendar>\r\n </div>\r\n </div>\r\n <ng-content></ng-content>\r\n</c-dropdown>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.ButtonDirective, selector: "[cButton]", inputs: ["active", "color", "disabled", "shape", "size", "type", "variant"], exportAs: ["cButton"] }, { kind: "component", type: i5.CalendarComponent, selector: "c-calendar", inputs: ["calendarDate", "calendars", "dayFormat", "disabledDates", "startDate", "endDate", "firstDayOfWeek", "locale", "maxDate", "minDate", "navigation", "navYearFirst", "range", "view", "weekdayFormat", "dateFilter"], outputs: ["calendarCellHover", "calendarDateChange", "endDateChange", "startDateChange", "viewChange"], exportAs: ["cCalendar"] }, { kind: "directive", type: i6.FormControlDirective, selector: "input[cFormControl], textarea[cFormControl]", inputs: ["sizing", "valid", "type", "plaintext"] }, { kind: "component", type: i7.InputGroupComponent, selector: "c-input-group", inputs: ["sizing"] }, { kind: "directive", type: i8.InputGroupTextDirective, selector: "[cInputGroupText]" }, { kind: "component", type: i9.DropdownComponent, selector: "c-dropdown", inputs: ["alignment", "autoClose", "dark", "direction", "placement", "popper", "popperOptions", "variant", "visible"], outputs: ["visibleChange"], exportAs: ["cDropdown"] }, { kind: "directive", type: i9.DropdownToggleDirective, selector: "[cDropdownToggle]", inputs: ["dropdownComponent", "disabled", "caret", "split"], exportAs: ["cDropdownToggle"] }, { kind: "directive", type: i10.DropdownMenuDirective, selector: "[cDropdownMenu]", inputs: ["alignment", "visible", "dark"], exportAs: ["cDropdownMenu"] }, { kind: "directive", type: i11.StartDateDirective, selector: "[cStartDate]", exportAs: ["cStartDate"] }, { kind: "directive", type: i12.EndDateDirective, selector: "[cEndDate]", exportAs: ["cEndDate"] }] });
|
|
403
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: DateRangePickerComponent, decorators: [{
|
|
400
404
|
type: Component,
|
|
401
405
|
args: [{ selector: 'c-date-range-picker', exportAs: 'cDateRangePicker', providers: [
|
|
402
406
|
{
|
|
@@ -404,7 +408,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
404
408
|
useExisting: forwardRef(() => DateRangePickerComponent),
|
|
405
409
|
multi: true
|
|
406
410
|
}
|
|
407
|
-
], template: "<c-dropdown #dropdown=\"cDropdown\" [autoClose]=\"'outside'\" class=\"date-picker picker\">\r\n <c-input-group [caret]=\"false\"\r\n [disabled]=\"disabled ?? dropdown.visible\"\r\n [sizing]=\"size ?? ''\"\r\n cDropdownToggle\r\n class=\"picker-input-group\"\r\n >\r\n <input (change)=\"handleStartDateInputChange($event)\"\r\n [formControl]=\"startDateInput\"\r\n [ngClass]=\"{hover: !!inputStartHoverValue}\"\r\n [placeholder]=\"startDatePlaceholder ?? placeholder[0]\"\r\n cFormControl\r\n cStartDate\r\n [attr.tabindex]=\"disabled ? -1 : 0\"\r\n [attr.disabled]=\"disabled ? '' : null\"\r\n pattern=\"[1-9]*\"\r\n [readonly]=\"inputReadOnly ?? null\"\r\n >\r\n <span *ngIf=\"range && separator !== false\" cInputGroupText>\r\n <span class=\"picker-input-group-icon date-picker-arrow-icon\"></span>\r\n </span>\r\n <input (change)=\"handleEndDateInputChange($event)\"\r\n *ngIf=\"range\"\r\n [formControl]=\"endDateInput\"\r\n [ngClass]=\"{hover: !!inputEndHoverValue}\"\r\n [placeholder]=\"endDatePlaceholder ?? placeholder[1]\"\r\n cEndDate\r\n cFormControl\r\n [attr.tabindex]=\"disabled ? -1 : 0\"\r\n [attr.disabled]=\"disabled ? '' : null\"\r\n pattern=\"[1-9]*\"\r\n [readonly]=\"inputReadOnly ?? null\"\r\n >\r\n <span *ngIf=\"indicator || cleaner\" cInputGroupText>\r\n <span *ngIf=\"indicator\" class=\"picker-input-group-indicator\">\r\n <span class=\"picker-input-group-icon date-picker-input-icon\"></span>\r\n </span>\r\n <span (click)=\"!disabled && handleClear($event)\" *ngIf=\"cleaner && startDate &&!disabled\" class=\"picker-input-group-cleaner\"\r\n role=\"button\">\r\n <span class=\"picker-input-group-icon date-picker-cleaner-icon\"></span>\r\n </span>\r\n </span>\r\n\r\n </c-input-group>\r\n <div [visible]=\"true\" cDropdownMenu>\r\n <div class=\"date-picker-body\">\r\n <ng-template [ngIf]=\"!isMobile\">\r\n <div *ngIf=\"ranges\" class=\"date-picker-ranges\">\r\n <button (click)=\"setCustomRange(customRange)\"\r\n *ngFor=\"let customRange of customRanges\"\r\n [color]=\"rangesButtonsColor\"\r\n [size]=\"rangesButtonsSize\"\r\n [variant]=\"rangesButtonsVariant\"\r\n cButton>\r\n {{getCustomRangeKey(customRange)}}\r\n </button>\r\n </div>\r\n </ng-template>\r\n <c-calendar\r\n (calendarCellHover)=\"handleCalendarCellHover($event)\"\r\n (calendarDateChange)=\"handleCalendarDateChange($event)\"\r\n (endDateChange)=\"handleEndDateChange($event)\"\r\n (startDateChange)=\"handleStartDateChange($event)\"\r\n [calendarDate]=\"calendarDate\"\r\n [calendars]=\"isMobile ? 1 : calendars\"\r\n [dateFilter]=\"dateFilter\"\r\n [disabledDates]=\"disabledDates\"\r\n [endDate]=\"endDate\"\r\n [firstDayOfWeek]=\"firstDayOfWeek\"\r\n [locale]=\"locale\"\r\n [maxDate]=\"maxDate\"\r\n [minDate]=\"minDate\"\r\n [navigation]=\"navigation\"\r\n [range]=\"range\"\r\n [startDate]=\"startDate\"\r\n [navYearFirst]=\"navYearFirst\"\r\n [dayFormat]=\"dayFormat\"\r\n [weekdayFormat]=\"weekdayFormat\"\r\n class=\"date-picker-calendars\"\r\n ></c-calendar>\r\n </div>\r\n </div>\r\n <ng-content></ng-content>\r\n</c-dropdown>\r\n"
|
|
411
|
+
], template: "<c-dropdown #dropdown=\"cDropdown\" [autoClose]=\"'outside'\" class=\"date-picker picker\">\r\n <c-input-group [caret]=\"false\"\r\n [disabled]=\"disabled ?? dropdown.visible\"\r\n [sizing]=\"size ?? ''\"\r\n cDropdownToggle\r\n class=\"picker-input-group\"\r\n >\r\n <input (change)=\"handleStartDateInputChange($event)\"\r\n [formControl]=\"startDateInput\"\r\n [ngClass]=\"{hover: !!inputStartHoverValue}\"\r\n [placeholder]=\"startDatePlaceholder ?? placeholder[0]\"\r\n cFormControl\r\n cStartDate\r\n [attr.tabindex]=\"disabled ? -1 : 0\"\r\n [attr.disabled]=\"disabled ? '' : null\"\r\n pattern=\"[1-9]*\"\r\n [readonly]=\"inputReadOnly ?? null\"\r\n >\r\n <span *ngIf=\"range && separator !== false\" cInputGroupText>\r\n <span class=\"picker-input-group-icon date-picker-arrow-icon\"></span>\r\n </span>\r\n <input (change)=\"handleEndDateInputChange($event)\"\r\n *ngIf=\"range\"\r\n [formControl]=\"endDateInput\"\r\n [ngClass]=\"{hover: !!inputEndHoverValue}\"\r\n [placeholder]=\"endDatePlaceholder ?? placeholder[1]\"\r\n cEndDate\r\n cFormControl\r\n [attr.tabindex]=\"disabled ? -1 : 0\"\r\n [attr.disabled]=\"disabled ? '' : null\"\r\n pattern=\"[1-9]*\"\r\n [readonly]=\"inputReadOnly ?? null\"\r\n >\r\n <span *ngIf=\"indicator || cleaner\" cInputGroupText>\r\n <span *ngIf=\"indicator\" class=\"picker-input-group-indicator\">\r\n <span class=\"picker-input-group-icon date-picker-input-icon\"></span>\r\n </span>\r\n <span (click)=\"!disabled && handleClear($event)\" *ngIf=\"cleaner && startDate &&!disabled\" class=\"picker-input-group-cleaner\"\r\n role=\"button\">\r\n <span class=\"picker-input-group-icon date-picker-cleaner-icon\"></span>\r\n </span>\r\n </span>\r\n\r\n </c-input-group>\r\n <div [visible]=\"true\" cDropdownMenu>\r\n <div class=\"date-picker-body\">\r\n <ng-template [ngIf]=\"!isMobile\">\r\n <div *ngIf=\"ranges\" class=\"date-picker-ranges\">\r\n <button (click)=\"setCustomRange(customRange)\"\r\n *ngFor=\"let customRange of customRanges\"\r\n [color]=\"rangesButtonsColor\"\r\n [size]=\"rangesButtonsSize\"\r\n [variant]=\"rangesButtonsVariant\"\r\n cButton>\r\n {{getCustomRangeKey(customRange)}}\r\n </button>\r\n </div>\r\n </ng-template>\r\n <c-calendar\r\n (calendarCellHover)=\"handleCalendarCellHover($event)\"\r\n (calendarDateChange)=\"handleCalendarDateChange($event)\"\r\n (endDateChange)=\"handleEndDateChange($event)\"\r\n (startDateChange)=\"handleStartDateChange($event)\"\r\n [calendarDate]=\"calendarDate\"\r\n [calendars]=\"isMobile ? 1 : calendars\"\r\n [dateFilter]=\"dateFilter\"\r\n [disabledDates]=\"disabledDates\"\r\n [endDate]=\"endDate\"\r\n [firstDayOfWeek]=\"firstDayOfWeek\"\r\n [locale]=\"locale\"\r\n [maxDate]=\"maxDate\"\r\n [minDate]=\"minDate\"\r\n [navigation]=\"navigation\"\r\n [range]=\"range\"\r\n [startDate]=\"startDate\"\r\n [navYearFirst]=\"navYearFirst\"\r\n [dayFormat]=\"dayFormat\"\r\n [weekdayFormat]=\"weekdayFormat\"\r\n class=\"date-picker-calendars\"\r\n ></c-calendar>\r\n </div>\r\n </div>\r\n <ng-content></ng-content>\r\n</c-dropdown>\r\n" }]
|
|
408
412
|
}], ctorParameters: function () { return [{ type: i1.BreakpointObserver }]; }, propDecorators: { dayFormat: [{
|
|
409
413
|
type: Input
|
|
410
414
|
}], calendars: [{
|
|
@@ -492,5 +496,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
492
496
|
}], endDateDirective: [{
|
|
493
497
|
type: ViewChild,
|
|
494
498
|
args: [EndDateDirective]
|
|
499
|
+
}], onBlur: [{
|
|
500
|
+
type: HostListener,
|
|
501
|
+
args: ['blur']
|
|
495
502
|
}] } });
|
|
496
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1yYW5nZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZXVpLWFuZ3VsYXIvc3JjL2xpYi9kYXRlLXJhbmdlLXBpY2tlci9kYXRlLXJhbmdlLXBpY2tlci9kYXRlLXJhbmdlLXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JldWktYW5ndWxhci9zcmMvbGliL2RhdGUtcmFuZ2UtcGlja2VyL2RhdGUtcmFuZ2UtcGlja2VyL2RhdGUtcmFuZ2UtcGlja2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBRVQsWUFBWSxFQUNaLFVBQVUsRUFDVixLQUFLLEVBR0wsTUFBTSxFQUNOLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLFdBQVcsRUFBYSxpQkFBaUIsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3RyxPQUFPLEVBQWdCLHFCQUFxQixFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDbEcsT0FBTyxFQUFzQixXQUFXLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUl0RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsY0FBYyxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFdkYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7Ozs7Ozs7Ozs7O0FBUXpELGtDQUFrQztBQUNsQyxtQkFBbUI7QUFDbkIsNEVBQTRFO0FBQzVFLG9FQUFvRTtBQUNwRSw4REFBOEQ7QUFDOUQsa0RBQWtEO0FBQ2xELHVEQUF1RDtBQUN2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T0FBTztzQkFBZixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFHRixVQUFVO3NCQURiLEtBQUs7Z0JBZUYsS0FBSztzQkFEUixLQUFLO2dCQVNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBR0YsUUFBUTtzQkFEWCxLQUFLO2dCQVVGLEtBQUs7c0JBRFIsS0FBSztnQkFtQkcsYUFBYTtzQkFBckIsS0FBSztnQkFFYSxXQUFXO3NCQUE3QixNQUFNO2dCQUVHLGlCQUFpQjtzQkFBMUIsTUFBTTtnQkFDRyxrQkFBa0I7c0JBQTNCLE1BQU07Z0JBQ0csYUFBYTtzQkFBdEIsTUFBTTtnQkFDRyxlQUFlO3NCQUF4QixNQUFNO2dCQUV1QixpQkFBaUI7c0JBQTlDLFNBQVM7dUJBQUMsaUJBQWlCO2dCQUNHLGtCQUFrQjtzQkFBaEQsU0FBUzt1QkFBQyxrQkFBa0I7Z0JBQ0EsZ0JBQWdCO3NCQUE1QyxTQUFTO3VCQUFDLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIGZvcndhcmRSZWYsXHJcbiAgSW5wdXQsXHJcbiAgT25EZXN0cm95LFxyXG4gIE9uSW5pdCxcclxuICBPdXRwdXQsXHJcbiAgVmlld0NoaWxkXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBOR19WQUxVRV9BQ0NFU1NPUiwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgQm9vbGVhbklucHV0LCBjb2VyY2VCb29sZWFuUHJvcGVydHksIGNvZXJjZU51bWJlclByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcclxuaW1wb3J0IHsgQnJlYWtwb2ludE9ic2VydmVyLCBCcmVha3BvaW50cyB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9sYXlvdXQnO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuXHJcbmltcG9ydCB7IENvbG9ycyB9IGZyb20gJy4uLy4uL2NvcmV1aS50eXBlcyc7XHJcbmltcG9ydCB7IENhbGVuZGFyQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY2FsZW5kYXInO1xyXG5pbXBvcnQgeyBnZXRMb2NhbERhdGVGcm9tU3RyaW5nLCBpc0RhdGVEaXNhYmxlZCB9IGZyb20gJy4uLy4uL2NhbGVuZGFyL2NhbGVuZGFyLnV0aWxzJztcclxuaW1wb3J0IHsgRGF0ZUZpbHRlclR5cGUsIERheUZvcm1hdFR5cGUsIFdlZWtkYXlGb3JtYXRUeXBlIH0gZnJvbSAnLi4vLi4vY2FsZW5kYXIvY2FsZW5kYXIuc2VydmljZSc7XHJcbmltcG9ydCB7IFN0YXJ0RGF0ZURpcmVjdGl2ZSB9IGZyb20gJy4uL3N0YXJ0LWRhdGUuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgRW5kRGF0ZURpcmVjdGl2ZSB9IGZyb20gJy4uL2VuZC1kYXRlLmRpcmVjdGl2ZSc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElDYWxlbmRhclJhbmdlIHtcclxuICBba2V5OiBzdHJpbmddOiBEYXRlW107XHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIFRDdXN0b21SYW5nZSA9IFtzdHJpbmcsIERhdGVbXV1cclxuXHJcbi8qKiBNdXN0IGJlIGEgdmFsaWQgZGF0ZSBzdHJpbmcgKi9cclxuLy8gdG9kbzogdmFsaWRhdGlvblxyXG4vLyBleHBvcnQgZnVuY3Rpb24gaW52YWxpZERhdGVTdHJpbmdWYWxpZGF0b3IobG9jYWxlOiBzdHJpbmcpOiBWYWxpZGF0b3JGbiB7XHJcbi8vICAgcmV0dXJuIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCA9PiB7XHJcbi8vICAgICAvLyBjb25zdCB2YWxpZERhdGUgPSAhaXNOYU4oRGF0ZS5wYXJzZShjb250cm9sLnZhbHVlKSk7XHJcbi8vICAgICBzdHJpbmdUb0RhdGVDb252ZXJ0KGNvbnRyb2wudmFsdWUsIGxvY2FsZSk7XHJcbi8vICAgICBjb25zdCBkYXRlU2hpbSA9IGN2dERhdGUoY29udHJvbC52YWx1ZSwgbG9jYWxlKTtcclxuLy8gICAgIC8vIEB0cy1pZ25vcmVcclxuLy8gICAgIC8vIGNvbnRyb2wuc2V0VmFsdWUobmV3IERhdGUoZGF0ZVNoaW0ueWVhciwgZGF0ZVNoaW0ubW9udGgsIGRhdGVTaGltLmRheSkpXHJcbi8vICAgICBjb25zb2xlLmxvZygnZGF0ZVNoaW0nLCBkYXRlU2hpbSwgbG9jYWxlKTtcclxuLy8gICAgIGNvbnN0IHZhbGlkRGF0ZSA9IGlzVmFsaWREYXRlKGNvbnRyb2wudmFsdWUpO1xyXG4vLyAgICAgY29uc29sZS5sb2coJ2ludmFsaWREYXRlU3RyaW5nVmFsaWRhdG9yJywgY29udHJvbCwgY29udHJvbC52YWx1ZSwgdmFsaWREYXRlKTtcclxuLy8gICAgIHJldHVybiB2YWxpZERhdGUgPyB7IGludmFsaWREYXRlU3RyaW5nVmFsaWRhdG9yOiB7IHZhbHVlOiBjb250cm9sLnZhbHVlIH0gfSA6IG51bGw7XHJcbi8vICAgfTtcclxuLy8gfVxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdjLWRhdGUtcmFuZ2UtcGlja2VyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZGF0ZS1yYW5nZS1waWNrZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2RhdGUtcmFuZ2UtcGlja2VyLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgZXhwb3J0QXM6ICdjRGF0ZVJhbmdlUGlja2VyJyxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IERhdGVSYW5nZVBpY2tlckNvbXBvbmVudCksXHJcbiAgICAgIG11bHRpOiB0cnVlXHJcbiAgICB9XHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRGF0ZVJhbmdlUGlja2VyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcclxuXHJcbiAgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX2Rpc2FibGVkOiBCb29sZWFuSW5wdXQ7XHJcbiAgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX25hdlllYXJGaXJzdDogQm9vbGVhbklucHV0O1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgYnJlYWtwb2ludE9ic2VydmVyOiBCcmVha3BvaW50T2JzZXJ2ZXJcclxuICApIHsgfVxyXG5cclxuICAvKipcclxuICAgKiBTZXQgdGhlIGZvcm1hdCBvZiBkYXkgbmFtZS5cclxuICAgKiBAZGVmYXVsdCAnbnVtZXJpYydcclxuICAgKiBAdHlwZSBEYXlGb3JtYXRUeXBlXHJcbiAgICovXHJcbiAgQElucHV0KCkgZGF5Rm9ybWF0OiBEYXlGb3JtYXRUeXBlID0gJ251bWVyaWMnO1xyXG5cclxuICAvKipcclxuICAgKiBUaGUgbnVtYmVyIG9mIGNhbGVuZGFycyB0aGF0IHJlbmRlciBvbiBkZXNrdG9wIGRldmljZXMuXHJcbiAgICogQHR5cGUgbnVtYmVyXHJcbiAgICogQGRlZmF1bHQgMlxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IGNhbGVuZGFycyh2YWx1ZTogbnVtYmVyKSB7XHJcbiAgICB0aGlzLl9jYWxlbmRhcnMgPSBjb2VyY2VOdW1iZXJQcm9wZXJ0eSh2YWx1ZSk7XHJcbiAgfVxyXG4gIGdldCBjYWxlbmRhcnMoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fY2FsZW5kYXJzO1xyXG4gIH1cclxuICBwcml2YXRlIF9jYWxlbmRhcnM6IG51bWJlciA9IDI7XHJcblxyXG4gIC8qKlxyXG4gICAqIFRvZ2dsZSB2aXNpYmlsaXR5IG9yIHNldCB0aGUgY29udGVudCBvZiB0aGUgY2xlYW5lciBidXR0b24uXHJcbiAgICogQHR5cGUgYm9vbGVhblxyXG4gICAqIEBkZWZhdWx0IHRydWVcclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHNldCBjbGVhbmVyKHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLl9jbGVhbmVyID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcclxuICB9XHJcbiAgZ2V0IGNsZWFuZXIoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fY2xlYW5lcjtcclxuICB9XHJcbiAgcHJpdmF0ZSBfY2xlYW5lcjogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIC8qKlxyXG4gICAqIFNldCBkYXRlIGZvcm1hdC5cclxuICAgKiBXZSB1c2UgZGF0ZS1mbnMgdG8gZm9ybWF0IGRhdGVzLiBWaXNpdCBodHRwczovL2RhdGUtZm5zLm9yZy92Mi4yOC4wL2RvY3MvZm9ybWF0IHRvIGNoZWNrIGFjY2VwdGVkIHBhdHRlcm5zLlxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgZm9ybWF0Pzogc3RyaW5nO1xyXG5cclxuICAvKipcclxuICAgKiBUb2dnbGUgdmlzaWJpbGl0eSBvciBzZXQgdGhlIGNvbnRlbnQgb2YgdGhlIGlucHV0IGluZGljYXRvci5cclxuICAgKiBAdHlwZSBib29sZWFuXHJcbiAgICogQGRlZmF1bHQgdHJ1ZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IGluZGljYXRvcih2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgdGhpcy5faW5kaWNhdG9yID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcclxuICB9XHJcbiAgZ2V0IGluZGljYXRvcigpIHtcclxuICAgIHJldHVybiB0aGlzLl9pbmRpY2F0b3I7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2luZGljYXRvcjogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIC8qKlxyXG4gICAqIFRvZ2dsZSB0aGUgcmVhZG9ubHkgc3RhdGUgZm9yIHRoZSBjb21wb25lbnQuXHJcbiAgICogQHR5cGUgYm9vbGVhblxyXG4gICAqIEBkZWZhdWx0IGZhbHNlXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBzZXQgaW5wdXRSZWFkT25seSh2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgdGhpcy5faW5wdXRSZWFkT25seSA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XHJcbiAgfVxyXG4gIGdldCBpbnB1dFJlYWRPbmx5KCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2lucHV0UmVhZE9ubHk7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2lucHV0UmVhZE9ubHk6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgLyoqXHJcbiAgICogUmVvcmRlciB5ZWFyLW1vbnRoIG5hdmlnYXRpb24sIGFuZCByZW5kZXIgeWVhciBmaXJzdC5cclxuICAgKiBAdHlwZSBib29sZWFuXHJcbiAgICogQGRlZmF1bHQgZmFsc2VcclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHNldCBuYXZZZWFyRmlyc3QodmFsdWU6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMuX25hdlllYXJGaXJzdCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XHJcbiAgfVxyXG4gIGdldCBuYXZZZWFyRmlyc3QoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fbmF2WWVhckZpcnN0O1xyXG4gIH1cclxuICBwcml2YXRlIF9uYXZZZWFyRmlyc3Q6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgLyoqXHJcbiAgICogU3BlY2lmaWVzIHNob3J0IGhpbnRzIHRoYXQgYXJlIHZpc2libGUgaW4gc3RhcnQgZGF0ZSBhbmQgZW5kIGRhdGUgaW5wdXRzLlxyXG4gICAqIHR5cGUgc3RyaW5nXHJcbiAgICovXHJcbiAgQElucHV0KCkgcGxhY2Vob2xkZXI6IHN0cmluZyB8IHN0cmluZ1tdID0gWydTdGFydCBkYXRlJywgJ0VuZCBkYXRlJ107XHJcblxyXG4gIC8qKlxyXG4gICAqIFByZWRlZmluZWQgZGF0ZSByYW5nZXMgdGhlIHVzZXIgY2FuIHNlbGVjdCBmcm9tLlxyXG4gICAqIEB0eXBlIElDYWxlbmRhclJhbmdlXHJcbiAgICovXHJcbiAgQElucHV0KCkgcmFuZ2VzPzogb2JqZWN0O1xyXG5cclxuICAvKipcclxuICAgKiBTZXRzIHRoZSBjb2xvciBjb250ZXh0IG9mIHRoZSBjYW5jZWwgYnV0dG9uIHRvIG9uZSBvZiBDb3JlVUnigJlzIHRoZW1lZCBjb2xvcnMuXHJcbiAgICogQHR5cGUgJ3ByaW1hcnknIHwgJ3NlY29uZGFyeScgfCAnc3VjY2VzcycgfCAnZGFuZ2VyJyB8ICd3YXJuaW5nJyB8ICdpbmZvJyB8ICdkYXJrJyB8ICdsaWdodCcgfCBzdHJpbmdcclxuICAgKiBAZGVmYXVsdCAnc2Vjb25kYXJ5J1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHJhbmdlc0J1dHRvbnNDb2xvcj86IENvbG9ycyA9ICdzZWNvbmRhcnknO1xyXG5cclxuICAvKipcclxuICAgKiBTaXplIHRoZSByYW5nZXMgYnV0dG9uIHNtYWxsIG9yIGxhcmdlLlxyXG4gICAqIEB0eXBlICdzbScgfCAnbGcnIHwgdW5kZWZpbmVkXHJcbiAgICovXHJcbiAgQElucHV0KCkgcmFuZ2VzQnV0dG9uc1NpemU/OiAnc20nIHwgJ2xnJztcclxuXHJcbiAgLyoqXHJcbiAgICogU2V0IHRoZSByYW5nZXMgYnV0dG9uIHZhcmlhbnQgdG8gYW4gb3V0bGluZWQgYnV0dG9uIG9yIGEgZ2hvc3QgYnV0dG9uLlxyXG4gICAqIEB0eXBlICdvdXRsaW5lJyB8ICdnaG9zdCcgfCB1bmRlZmluZWRcclxuICAgKi9cclxuICBASW5wdXQoKSByYW5nZXNCdXR0b25zVmFyaWFudD86ICdvdXRsaW5lJyB8ICdnaG9zdCcgPSAnZ2hvc3QnO1xyXG5cclxuICAvKipcclxuICAgKiBEZWZhdWx0IGljb24gb3IgY2hhcmFjdGVyIHRoYXQgc2VwYXJhdGVzIHR3byBkYXRlcy5cclxuICAgKiBAdHlwZSBib29sZWFuXHJcbiAgICogQGRlZmF1bHQgdHJ1ZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IHNlcGFyYXRvcih2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgdGhpcy5fc2VwYXJhdG9yID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcclxuICB9XHJcbiAgZ2V0IHNlcGFyYXRvcigpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLl9zZXBhcmF0b3I7XHJcbiAgfVxyXG4gIHByaXZhdGUgX3NlcGFyYXRvcjogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIC8qKlxyXG4gICAqIFNpemUgdGhlIGNvbXBvbmVudCBzbWFsbCBvciBsYXJnZS5cclxuICAgKiBAdHlwZSAnc20nIHwgJ2xnJyB8IHVuZGVmaW5lZFxyXG4gICAqIEBkZWZhdWx0IHVuZGVmaW5lZFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHNpemU/OiAnc20nIHwgJ2xnJztcclxuXHJcbiAgLyoqXHJcbiAgICogUHJvdmlkZSBhbiBhZGRpdGlvbmFsIHRpbWUgc2VsZWN0aW9uIGJ5IGFkZGluZyBzZWxlY3QgYm94ZXMgdG8gY2hvb3NlIHRpbWUuXHJcbiAgICogQHR5cGUgYm9vbGVhblxyXG4gICAqIEBkZWZhdWx0IGZhbHNlXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBzZXQgdGltZXBpY2tlcih2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgdGhpcy5fdGltZXBpY2tlciA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XHJcbiAgfVxyXG4gIGdldCB0aW1lcGlja2VyKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX3RpbWVwaWNrZXI7XHJcbiAgfVxyXG4gIHByaXZhdGUgX3RpbWVwaWNrZXI6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgLyoqXHJcbiAgICogVG9nZ2xlIHZpc2liaWxpdHkgb3Igc2V0IHRoZSBjb250ZW50IG9mIHRvZGF5IGJ1dHRvbi5cclxuICAgKiBAdHlwZSBzdHJpbmdcclxuICAgKiBAZGVmYXVsdCAnVG9kYXknXHJcbiAgICovXHJcbiAgQElucHV0KCkgdG9kYXlCdXR0b246IHN0cmluZyA9ICdUb2RheSc7XHJcblxyXG4gIC8qKlxyXG4gICAqIFNldHMgdGhlIGNvbG9yIGNvbnRleHQgb2YgdGhlIHRvZGF5IGJ1dHRvbiB0byBvbmUgb2YgQ29yZVVJ4oCZcyB0aGVtZWQgY29sb3JzLlxyXG4gICAqIEB0eXBlICdwcmltYXJ5JyB8ICdzZWNvbmRhcnknIHwgJ3N1Y2Nlc3MnIHwgJ2RhbmdlcicgfCAnd2FybmluZycgfCAnaW5mbycgfCAnZGFyaycgfCAnbGlnaHQnIHwgc3RyaW5nXHJcbiAgICogQGRlZmF1bHQgJ3ByaW1hcnknXHJcbiAgICovXHJcbiAgQElucHV0KCkgdG9kYXlCdXR0b25Db2xvcjogQ29sb3JzID0gJ3ByaW1hcnknO1xyXG5cclxuICAvKipcclxuICAgKiBTaXplIHRoZSB0b2RheSBidXR0b24gc21hbGwgb3IgbGFyZ2UuXHJcbiAgICogQHR5cGUgJ3NtJyB8ICdsZydcclxuICAgKiBAZGVmYXVsdCAnc20nXHJcbiAgICovXHJcbiAgQElucHV0KCkgdG9kYXlCdXR0b25TaXplOiAnc20nIHwgJ2xnJyA9ICdzbSc7XHJcblxyXG4gIC8qKlxyXG4gICAqIFNldCB0aGUgdG9kYXkgYnV0dG9uIHZhcmlhbnQgdG8gYW4gb3V0bGluZWQgYnV0dG9uIG9yIGEgZ2hvc3QgYnV0dG9uLlxyXG4gICAqIEB0eXBlICdvdXRsaW5lJyB8ICdnaG9zdCcgfCB1bmRlZmluZWRcclxuICAgKi9cclxuICBASW5wdXQoKSB0b2RheUJ1dHRvblZhcmlhbnQ/OiAnb3V0bGluZScgfCAnZ2hvc3QnO1xyXG5cclxuICAvKipcclxuICAgKiBUb2dnbGUgdGhlIHZpc2liaWxpdHkgb2YgdGhlIGNvbXBvbmVudC5cclxuICAgKiBAdHlwZSBib29sZWFuXHJcbiAgICogQGRlZmF1bHQgZmFsc2VcclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHNldCB2aXNpYmxlKHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLl92aXNpYmxlID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcclxuICB9XHJcbiAgZ2V0IHZpc2libGUoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5fdmlzaWJsZTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfdmlzaWJsZTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKSBzdGFydERhdGU/OiBEYXRlIHwgbnVsbDtcclxuICBASW5wdXQoKSBlbmREYXRlPzogRGF0ZSB8IG51bGw7XHJcbiAgQElucHV0KCkgY2FsZW5kYXJEYXRlPzogRGF0ZTtcclxuICBASW5wdXQoKSBkaXNhYmxlZERhdGVzOiBEYXRlW10gfCBEYXRlW11bXSA9IFtdO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHNldCBmaXJzdERheU9mV2Vlayh2YWx1ZTogbnVtYmVyKSB7XHJcbiAgICB0aGlzLl9maXJzdERheU9mV2VlayA9IGNvZXJjZU51bWJlclByb3BlcnR5KHZhbHVlKTtcclxuICB9XHJcbiAgZ2V0IGZpcnN0RGF5T2ZXZWVrKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2ZpcnN0RGF5T2ZXZWVrO1xyXG4gIH1cclxuICBwcml2YXRlIF9maXJzdERheU9mV2VlazogbnVtYmVyID0gMTtcclxuXHJcbiAgQElucHV0KCkgbG9jYWxlOiBzdHJpbmcgPSAnZGVmYXVsdCc7XHJcbiAgQElucHV0KCkgbWF4RGF0ZTogRGF0ZSB8IG51bGwgPSBudWxsO1xyXG4gIEBJbnB1dCgpIG1pbkRhdGU6IERhdGUgfCBudWxsID0gbnVsbDtcclxuXHJcbiAgQElucHV0KClcclxuICBzZXQgbmF2aWdhdGlvbih2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgdGhpcy5fbmF2aWdhdGlvbiA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XHJcbiAgfVxyXG4gIGdldCBuYXZpZ2F0aW9uKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX25hdmlnYXRpb247XHJcbiAgfVxyXG4gIHByaXZhdGUgX25hdmlnYXRpb246IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICAvKipcclxuICAgKiBBbGxvdyByYW5nZSBzZWxlY3Rpb24uXHJcbiAgICogQHR5cGUgYm9vbGVhblxyXG4gICAqIEBkZWZhdWx0IGZhbHNlXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBzZXQgcmFuZ2UodmFsdWU6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMuX3JhbmdlID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcclxuICB9XHJcbiAgZ2V0IHJhbmdlKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX3JhbmdlO1xyXG4gIH1cclxuICBwcml2YXRlIF9yYW5nZTogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIEBJbnB1dCgpIGRhdGVGaWx0ZXI/OiBEYXRlRmlsdGVyVHlwZTtcclxuXHJcbiAgQElucHV0KClcclxuICBzZXQgZGlzYWJsZWQodmFsdWU6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMuX2Rpc2FibGVkID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcclxuICB9XHJcbiAgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2Rpc2FibGVkO1xyXG4gIH1cclxuICBwcml2YXRlIF9kaXNhYmxlZCA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHNldCB2YWx1ZSh2YWx1ZTogRGF0ZVtdKSB7XHJcbiAgICBjb25zdCBuZXdWYWx1ZSA9IEFycmF5LmlzQXJyYXkodmFsdWUpID8gWy4uLnZhbHVlXSA6IFtdO1xyXG4gICAgaWYgKHRoaXMuX3ZhbHVlLnRvU3RyaW5nKCkgIT09IG5ld1ZhbHVlLnRvU3RyaW5nKCkpIHtcclxuICAgICAgdGhpcy5fdmFsdWUgPSBuZXdWYWx1ZTtcclxuICAgICAgdGhpcy5vbkNoYW5nZShuZXdWYWx1ZSk7XHJcbiAgICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh0aGlzLnZhbHVlKTtcclxuICAgIH1cclxuICB9XHJcbiAgZ2V0IHZhbHVlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX3ZhbHVlO1xyXG4gIH1cclxuICBwcml2YXRlIF92YWx1ZTogRGF0ZVtdID0gW107XHJcblxyXG4gIC8qKlxyXG4gICAqIFNldCBsZW5ndGggb3IgZm9ybWF0IG9mIGRheSBuYW1lLlxyXG4gICAqIEB0eXBlIFdlZWtkYXlGb3JtYXRUeXBlXHJcbiAgICogQGRlZmF1bHQgJ3Nob3J0J1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHdlZWtkYXlGb3JtYXQ6IFdlZWtkYXlGb3JtYXRUeXBlID0gJ3Nob3J0JztcclxuXHJcbiAgQE91dHB1dCgpIHJlYWRvbmx5IHZhbHVlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxEYXRlIHwgRGF0ZVtdIHwgdW5kZWZpbmVkPigpO1xyXG5cclxuICBAT3V0cHV0KCkgY2FsZW5kYXJDZWxsSG92ZXI6IEV2ZW50RW1pdHRlcjxEYXRlIHwgbnVsbD4gPSBuZXcgRXZlbnRFbWl0dGVyPERhdGUgfCBudWxsPigpO1xyXG4gIEBPdXRwdXQoKSBjYWxlbmRhckRhdGVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxEYXRlPiA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0ZT4oKTtcclxuICBAT3V0cHV0KCkgZW5kRGF0ZUNoYW5nZTogRXZlbnRFbWl0dGVyPERhdGUgfCBudWxsPiA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0ZSB8IG51bGw+KCk7XHJcbiAgQE91dHB1dCgpIHN0YXJ0RGF0ZUNoYW5nZTogRXZlbnRFbWl0dGVyPERhdGUgfCBudWxsPiA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0ZSB8IG51bGw+KCk7XHJcblxyXG4gIEBWaWV3Q2hpbGQoQ2FsZW5kYXJDb21wb25lbnQpIGNhbGVuZGFyQ29tcG9uZW50ITogQ2FsZW5kYXJDb21wb25lbnQ7XHJcbiAgQFZpZXdDaGlsZChTdGFydERhdGVEaXJlY3RpdmUpIHN0YXJ0RGF0ZURpcmVjdGl2ZSE6IFN0YXJ0RGF0ZURpcmVjdGl2ZTtcclxuICBAVmlld0NoaWxkKEVuZERhdGVEaXJlY3RpdmUpIGVuZERhdGVEaXJlY3RpdmUhOiBFbmREYXRlRGlyZWN0aXZlO1xyXG5cclxuICBwdWJsaWMgaXNNb2JpbGUgPSB0cnVlO1xyXG4gIHB1YmxpYyBjdXN0b21SYW5nZXMhOiBUQ3VzdG9tUmFuZ2VbXTtcclxuXHJcbiAgc2V0IHN0YXJ0RGF0ZVZhbHVlKHZhbHVlOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuc3RhcnREYXRlSW5wdXQuc2V0VmFsdWUodmFsdWUpO1xyXG4gICAgdGhpcy5fc3RhcnREYXRlVmFsdWUgPSB2YWx1ZTtcclxuICB9XHJcbiAgZ2V0IHN0YXJ0RGF0ZVZhbHVlKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5fc3RhcnREYXRlVmFsdWU7XHJcbiAgfVxyXG4gIHByaXZhdGUgX3N0YXJ0RGF0ZVZhbHVlOiBzdHJpbmcgPSB0aGlzLnN0YXJ0RGF0ZT8udG9Mb2NhbGVEYXRlU3RyaW5nKHRoaXMubG9jYWxlKSA/PyAnJztcclxuXHJcbiAgc2V0IGVuZERhdGVWYWx1ZSh2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLmVuZERhdGVJbnB1dC5zZXRWYWx1ZSh2YWx1ZSk7XHJcbiAgICB0aGlzLl9lbmREYXRlVmFsdWUgPSB2YWx1ZTtcclxuICB9XHJcbiAgZ2V0IGVuZERhdGVWYWx1ZSgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuX2VuZERhdGVWYWx1ZTtcclxuICB9XHJcbiAgcHVibGljIF9lbmREYXRlVmFsdWU6IHN0cmluZyA9IHRoaXMuZW5kRGF0ZT8udG9Mb2NhbGVEYXRlU3RyaW5nKHRoaXMubG9jYWxlKSA/PyAnJztcclxuXHJcbiAgcHVibGljIHN0YXJ0RGF0ZVBsYWNlaG9sZGVyOiBzdHJpbmcgPSB0aGlzLnBsYWNlaG9sZGVyWzBdO1xyXG4gIHB1YmxpYyBlbmREYXRlUGxhY2Vob2xkZXI6IHN0cmluZyA9IHRoaXMucGxhY2Vob2xkZXJbMV07XHJcblxyXG4gIHByaXZhdGUgbGF5b3V0Q2hhbmdlcyE6IFN1YnNjcmlwdGlvbjtcclxuXHJcbiAgLy8gdG9kbzogdmFsaWRhdGlvblxyXG4gIHN0YXJ0RGF0ZUlucHV0ID0gbmV3IEZvcm1Db250cm9sKHsgdmFsdWU6IHRoaXMuc3RhcnREYXRlVmFsdWUsIGRpc2FibGVkOiB0aGlzLmRpc2FibGVkIH0sIFtcclxuICAgIFZhbGlkYXRvcnMucmVxdWlyZWRcclxuICAgIC8vIFZhbGlkYXRvcnMubWluTGVuZ3RoKDgpLFxyXG4gICAgLy8gVmFsaWRhdG9ycy5tYXhMZW5ndGgoMTApLFxyXG4gICAgLy8gaW52YWxpZERhdGVTdHJpbmdWYWxpZGF0b3IodGhpcy5sb2NhbGUpXHJcbiAgXSk7XHJcbiAgZW5kRGF0ZUlucHV0ID0gbmV3IEZvcm1Db250cm9sKHsgdmFsdWU6IHRoaXMuZW5kRGF0ZVZhbHVlLCBkaXNhYmxlZDogdGhpcy5kaXNhYmxlZCB9LCBbXHJcbiAgICBWYWxpZGF0b3JzLnJlcXVpcmVkXHJcbiAgICAvLyBWYWxpZGF0b3JzLm1pbkxlbmd0aCg4KSxcclxuICAgIC8vIFZhbGlkYXRvcnMubWF4TGVuZ3RoKDEwKSxcclxuICAgIC8vIGludmFsaWREYXRlU3RyaW5nVmFsaWRhdG9yKHRoaXMubG9jYWxlKVxyXG4gIF0pO1xyXG4gIGRhdGVSYW5nZUdyb3VwITogRm9ybUdyb3VwO1xyXG5cclxuICBzZXQgaW5wdXRTdGFydEhvdmVyVmFsdWUodmFsdWUpIHtcclxuICAgIHRoaXMuX2lucHV0U3RhcnRIb3ZlclZhbHVlID0gdmFsdWU7XHJcbiAgfVxyXG4gIGdldCBpbnB1dFN0YXJ0SG92ZXJWYWx1ZSgpIHtcclxuICAgIHJldHVybiB0aGlzLl9pbnB1dFN0YXJ0SG92ZXJWYWx1ZTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfaW5wdXRTdGFydEhvdmVyVmFsdWUhOiBEYXRlIHwgbnVsbDtcclxuXHJcbiAgc2V0IGlucHV0RW5kSG92ZXJWYWx1ZSh2YWx1ZSkge1xyXG4gICAgdGhpcy5faW5wdXRFbmRIb3ZlclZhbHVlID0gdmFsdWU7XHJcbiAgfVxyXG4gIGdldCBpbnB1dEVuZEhvdmVyVmFsdWUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5faW5wdXRFbmRIb3ZlclZhbHVlO1xyXG4gIH1cclxuICBwcml2YXRlIF9pbnB1dEVuZEhvdmVyVmFsdWUhOiBEYXRlIHwgbnVsbDtcclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmxheW91dENoYW5nZXMgPSB0aGlzLmJyZWFrcG9pbnRPYnNlcnZlci5vYnNlcnZlKFtcclxuICAgICAgQnJlYWtwb2ludHMuSGFuZHNldCxcclxuICAgICAgQnJlYWtwb2ludHMuVGFibGV0XHJcbiAgICBdKS5zdWJzY3JpYmUocmVzdWx0ID0+IHtcclxuICAgICAgdGhpcy5pc01vYmlsZSA9IHJlc3VsdC5tYXRjaGVzO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLmN1c3RvbVJhbmdlcyA9IHRoaXMucmFuZ2VzID8gT2JqZWN0LmVudHJpZXModGhpcy5yYW5nZXMpIDogW107XHJcblxyXG4gICAgdGhpcy5zdGFydERhdGVWYWx1ZSA9IHRoaXMuc3RhcnREYXRlPy50b0xvY2FsZURhdGVTdHJpbmcodGhpcy5sb2NhbGUpID8/ICcnO1xyXG4gICAgdGhpcy5lbmREYXRlVmFsdWUgPSB0aGlzLmVuZERhdGU/LnRvTG9jYWxlRGF0ZVN0cmluZyh0aGlzLmxvY2FsZSkgPz8gJyc7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMubGF5b3V0Q2hhbmdlcy51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxuXHJcbiAgZ2V0Q3VzdG9tUmFuZ2VLZXkoY3VzdG9tUmFuZ2U6IGFueSkge1xyXG4gICAgcmV0dXJuIGN1c3RvbVJhbmdlWzBdO1xyXG4gIH1cclxuXHJcbiAgc2V0Q3VzdG9tUmFuZ2UoY3VzdG9tUmFuZ2U6IGFueSkge1xyXG4gICAgY29uc3Qga2V5ID0gdGhpcy5nZXRDdXN0b21SYW5nZUtleShjdXN0b21SYW5nZSk7XHJcbiAgICB0aGlzLnN0YXJ0RGF0ZSA9IGN1c3RvbVJhbmdlWzFdWzBdO1xyXG4gICAgdGhpcy5lbmREYXRlID0gY3VzdG9tUmFuZ2VbMV1bMV07XHJcbiAgfVxyXG5cclxuICBoYW5kbGVDYWxlbmRhckNlbGxIb3ZlcigkZXZlbnQ6IERhdGUgfCBudWxsKSB7XHJcbiAgICB0aGlzLmNhbGVuZGFyQ2VsbEhvdmVyLmVtaXQoJGV2ZW50KTtcclxuICAgIGlmICghdGhpcy5zdGFydERhdGUpIHtcclxuICAgICAgdGhpcy5zZXRJbnB1dFZhbHVlKHRoaXMuc3RhcnREYXRlRGlyZWN0aXZlPy5lbGVtZW50UmVmLCAkZXZlbnQpO1xyXG4gICAgICB0aGlzLmlucHV0U3RhcnRIb3ZlclZhbHVlID0gJGV2ZW50O1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBpZiAoIXRoaXMuZW5kRGF0ZSkge1xyXG4gICAgICB0aGlzLnNldElucHV0VmFsdWUodGhpcy5lbmREYXRlRGlyZWN0aXZlPy5lbGVtZW50UmVmLCAkZXZlbnQpO1xyXG4gICAgICB0aGlzLmlucHV0RW5kSG92ZXJWYWx1ZSA9ICRldmVudDtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaGFuZGxlQ2FsZW5kYXJEYXRlQ2hhbmdlKCRldmVudDogRGF0ZSkge1xyXG4gICAgdGhpcy5jYWxlbmRhckRhdGVDaGFuZ2UuZW1pdCgkZXZlbnQpO1xyXG4gIH1cclxuXHJcbiAgaGFuZGxlU3RhcnREYXRlQ2hhbmdlKGRhdGU6IERhdGUgfCBudWxsKSB7XHJcbiAgICAvLyBpZiAoZGF0ZT8uZ2V0VGltZSgpICE9PSB0aGlzLnN0YXJ0RGF0ZT8uZ2V0VGltZSgpKSB7XHJcbiAgICB0aGlzLnN0YXJ0RGF0ZUNoYW5nZS5lbWl0KGRhdGUpO1xyXG4gICAgdGhpcy5zdGFydERhdGVWYWx1ZSA9IGRhdGUgPyBkYXRlLnRvTG9jYWxlRGF0ZVN0cmluZyh0aGlzLmxvY2FsZSkgOiAnJztcclxuICAgIHRoaXMuaW5wdXRTdGFydEhvdmVyVmFsdWUgPSBudWxsO1xyXG4gICAgdGhpcy52YWx1ZSA9IHRoaXMuc3RhcnREYXRlICYmIHRoaXMuZW5kRGF0ZSA/IFt0aGlzLnN0YXJ0RGF0ZSwgdGhpcy5lbmREYXRlXSA6IFtdO1xyXG4gICAgLy8gfVxyXG4gIH1cclxuXHJcbiAgaGFuZGxlRW5kRGF0ZUNoYW5nZShkYXRlOiBEYXRlIHwgbnVsbCkge1xyXG4gICAgLy8gaWYgKGRhdGU/LmdldFRpbWUoKSAhPT0gdGhpcy5lbmREYXRlPy5nZXRUaW1lKCkpIHtcclxuICAgIHRoaXMuZW5kRGF0ZUNoYW5nZS5lbWl0KGRhdGUpO1xyXG4gICAgdGhpcy5lbmREYXRlVmFsdWUgPSBkYXRlID8gZGF0ZS50b0xvY2FsZURhdGVTdHJpbmcodGhpcy5sb2NhbGUpIDogJyc7XHJcbiAgICB0aGlzLmlucHV0RW5kSG92ZXJWYWx1ZSA9IG51bGw7XHJcbiAgICB0aGlzLnZhbHVlID0gdGhpcy5zdGFydERhdGUgJiYgdGhpcy5lbmREYXRlID8gW3RoaXMuc3RhcnREYXRlLCB0aGlzLmVuZERhdGVdIDogW107XHJcbiAgICAvLyB9XHJcbiAgfVxyXG5cclxuICBoYW5kbGVDbGVhcigkZXZlbnQ6IE1vdXNlRXZlbnQpIHtcclxuICAgIHRoaXMuY2FsZW5kYXJDb21wb25lbnQ/LmNsZWFyRGF0ZXMoKTtcclxuICB9XHJcblxyXG4gIGhhbmRsZVN0YXJ0RGF0ZUlucHV0Q2hhbmdlKCRldmVudDogYW55KSB7XHJcbiAgICBjb25zdCBkYXRlID0gZ2V0TG9jYWxEYXRlRnJvbVN0cmluZygkZXZlbnQudGFyZ2V0Py52YWx1ZSwgdGhpcy5sb2NhbGUsIHRoaXMudGltZXBpY2tlcik7XHJcbiAgICBpZiAoIWRhdGUpIHtcclxuICAgICAgdGhpcy5jYWxlbmRhckNvbXBvbmVudD8uY2xlYXJEYXRlcygpO1xyXG4gICAgfVxyXG4gICAgaWYgKGRhdGUgaW5zdGFuY2VvZiBEYXRlICYmIGRhdGUuZ2V0VGltZSgpKSB7XHJcbiAgICAgIGlmICghKHRoaXMuZm9yYmlkZGVuRGF0ZShkYXRlKSB8fCAodGhpcy5lbmREYXRlICYmIHRoaXMuZW5kRGF0ZSA8IGRhdGUpKSkge1xyXG4gICAgICAgIHRoaXMuY2FsZW5kYXJEYXRlID0gZGF0ZTtcclxuICAgICAgICB0aGlzLnN0YXJ0RGF0ZSA9IGRhdGU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHRoaXMuc3RhcnREYXRlVmFsdWUgPSB0aGlzLnN0YXJ0RGF0ZT8udG9Mb2NhbGVEYXRlU3RyaW5nKHRoaXMubG9jYWxlKSA/PyAnJztcclxuICB9XHJcblxyXG4gIGhhbmRsZUVuZERhdGVJbnB1dENoYW5nZSgkZXZlbnQ6IGFueSkge1xyXG4gICAgY29uc3QgZGF0ZSA9IGdldExvY2FsRGF0ZUZyb21TdHJpbmcoJGV2ZW50LnRhcmdldD8udmFsdWUsIHRoaXMubG9jYWxlLCB0aGlzLnRpbWVwaWNrZXIpO1xyXG4gICAgaWYgKCFkYXRlKSB7XHJcbiAgICAgIHRoaXMuZW5kRGF0ZSA9IG51bGw7XHJcbiAgICB9XHJcbiAgICBpZiAoZGF0ZSBpbnN0YW5jZW9mIERhdGUgJiYgZGF0ZS5nZXRUaW1lKCkpIHtcclxuICAgICAgaWYgKCEodGhpcy5mb3JiaWRkZW5EYXRlKGRhdGUpIHx8ICh0aGlzLnN0YXJ0RGF0ZSAmJiB0aGlzLnN0YXJ0RGF0ZSA+IGRhdGUpKSkge1xyXG4gICAgICAgIHRoaXMuY2FsZW5kYXJEYXRlID0gZGF0ZTtcclxuICAgICAgICB0aGlzLmVuZERhdGUgPSBkYXRlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICB0aGlzLmVuZERhdGVWYWx1ZSA9IHRoaXMuZW5kRGF0ZT8udG9Mb2NhbGVEYXRlU3RyaW5nKHRoaXMubG9jYWxlKSA/PyAnJztcclxuICB9XHJcblxyXG4gIGZvcmJpZGRlbkRhdGUoZGF0ZTogRGF0ZSkge1xyXG4gICAgcmV0dXJuIGlzRGF0ZURpc2FibGVkKGRhdGUsIHRoaXMubWluRGF0ZSwgdGhpcy5tYXhEYXRlLCB0aGlzLmRpc2FibGVkRGF0ZXMpICYmICh0aGlzLmRhdGVGaWx0ZXIgPyAhdGhpcy5kYXRlRmlsdGVyKGRhdGUpIDogZmFsc2UpO1xyXG4gIH1cclxuXHJcbiAgc2V0SW5wdXRWYWx1ZSA9IChlbGVtZW50UmVmOiBFbGVtZW50UmVmLCBkYXRlOiBEYXRlIHwgbnVsbCkgPT4ge1xyXG4gICAgaWYgKCFlbGVtZW50UmVmKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBlbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQudmFsdWUgPSBkYXRlPy50b0xvY2FsZURhdGVTdHJpbmcodGhpcy5sb2NhbGUpID8/ICcnO1xyXG4gICAgcmV0dXJuO1xyXG4gIH07XHJcblxyXG4gIG9uQ2hhbmdlOiBhbnkgPSAodmFsdWU6IGFueSkgPT4ge1xyXG4gICAgLy8gY29uc29sZS5sb2coJ29uQ2hhbmdlJywgdmFsdWUpO1xyXG4gIH07XHJcblxyXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xyXG4gIH1cclxuXHJcbiAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcclxuICB9XHJcblxyXG4gIHdyaXRlVmFsdWUodmFsdWU6IChEYXRlW10pKTogdm9pZCB7XHJcbiAgICBpZiAodmFsdWUgIT09IG51bGwpIHtcclxuICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8Yy1kcm9wZG93biAjZHJvcGRvd249XCJjRHJvcGRvd25cIiBbYXV0b0Nsb3NlXT1cIidvdXRzaWRlJ1wiIGNsYXNzPVwiZGF0ZS1waWNrZXIgcGlja2VyXCI+XHJcbiAgPGMtaW5wdXQtZ3JvdXAgW2NhcmV0XT1cImZhbHNlXCJcclxuICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQgPz8gZHJvcGRvd24udmlzaWJsZVwiXHJcbiAgICAgICAgICAgICAgICAgW3NpemluZ109XCJzaXplID8/ICcnXCJcclxuICAgICAgICAgICAgICAgICBjRHJvcGRvd25Ub2dnbGVcclxuICAgICAgICAgICAgICAgICBjbGFzcz1cInBpY2tlci1pbnB1dC1ncm91cFwiXHJcbiAgPlxyXG4gICAgPGlucHV0IChjaGFuZ2UpPVwiaGFuZGxlU3RhcnREYXRlSW5wdXRDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cInN0YXJ0RGF0ZUlucHV0XCJcclxuICAgICAgICAgICBbbmdDbGFzc109XCJ7aG92ZXI6ICEhaW5wdXRTdGFydEhvdmVyVmFsdWV9XCJcclxuICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwic3RhcnREYXRlUGxhY2Vob2xkZXIgPz8gcGxhY2Vob2xkZXJbMF1cIlxyXG4gICAgICAgICAgIGNGb3JtQ29udHJvbFxyXG4gICAgICAgICAgIGNTdGFydERhdGVcclxuICAgICAgICAgICBbYXR0ci50YWJpbmRleF09XCJkaXNhYmxlZCA/IC0xIDogMFwiXHJcbiAgICAgICAgICAgW2F0dHIuZGlzYWJsZWRdPVwiZGlzYWJsZWQgPyAnJyA6IG51bGxcIlxyXG4gICAgICAgICAgIHBhdHRlcm49XCJbMS05XSpcIlxyXG4gICAgICAgICAgIFtyZWFkb25seV09XCJpbnB1dFJlYWRPbmx5ID8/IG51bGxcIlxyXG4gICAgPlxyXG4gICAgPHNwYW4gKm5nSWY9XCJyYW5nZSAmJiBzZXBhcmF0b3IgIT09IGZhbHNlXCIgY0lucHV0R3JvdXBUZXh0PlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwicGlja2VyLWlucHV0LWdyb3VwLWljb24gZGF0ZS1waWNrZXItYXJyb3ctaWNvblwiPjwvc3Bhbj5cclxuICAgICAgPC9zcGFuPlxyXG4gICAgPGlucHV0IChjaGFuZ2UpPVwiaGFuZGxlRW5kRGF0ZUlucHV0Q2hhbmdlKCRldmVudClcIlxyXG4gICAgICAgICAgICpuZ0lmPVwicmFuZ2VcIlxyXG4gICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJlbmREYXRlSW5wdXRcIlxyXG4gICAgICAgICAgIFtuZ0NsYXNzXT1cIntob3ZlcjogISFpbnB1dEVuZEhvdmVyVmFsdWV9XCJcclxuICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiZW5kRGF0ZVBsYWNlaG9sZGVyID8/IHBsYWNlaG9sZGVyWzFdXCJcclxuICAgICAgICAgICBjRW5kRGF0ZVxyXG4gICAgICAgICAgIGNGb3JtQ29udHJvbFxyXG4gICAgICAgICAgIFthdHRyLnRhYmluZGV4XT1cImRpc2FibGVkID8gLTEgOiAwXCJcclxuICAgICAgICAgICBbYXR0ci5kaXNhYmxlZF09XCJkaXNhYmxlZCA/ICcnIDogbnVsbFwiXHJcbiAgICAgICAgICAgcGF0dGVybj1cIlsxLTldKlwiXHJcbiAgICAgICAgICAgW3JlYWRvbmx5XT1cImlucHV0UmVhZE9ubHkgPz8gbnVsbFwiXHJcbiAgICA+XHJcbiAgICA8c3BhbiAqbmdJZj1cImluZGljYXRvciB8fCBjbGVhbmVyXCIgY0lucHV0R3JvdXBUZXh0PlxyXG4gICAgICA8c3BhbiAqbmdJZj1cImluZGljYXRvclwiIGNsYXNzPVwicGlja2VyLWlucHV0LWdyb3VwLWluZGljYXRvclwiPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwicGlja2VyLWlucHV0LWdyb3VwLWljb24gZGF0ZS1waWNrZXItaW5wdXQtaWNvblwiPjwvc3Bhbj5cclxuICAgICAgPC9zcGFuPlxyXG4gICAgICA8c3BhbiAoY2xpY2spPVwiIWRpc2FibGVkICYmIGhhbmRsZUNsZWFyKCRldmVudClcIiAqbmdJZj1cImNsZWFuZXIgJiYgc3RhcnREYXRlICYmIWRpc2FibGVkXCIgY2xhc3M9XCJwaWNrZXItaW5wdXQtZ3JvdXAtY2xlYW5lclwiXHJcbiAgICAgICAgICAgIHJvbGU9XCJidXR0b25cIj5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cInBpY2tlci1pbnB1dC1ncm91cC1pY29uIGRhdGUtcGlja2VyLWNsZWFuZXItaWNvblwiPjwvc3Bhbj5cclxuICAgICAgPC9zcGFuPlxyXG4gICAgPC9zcGFuPlxyXG5cclxuICA8L2MtaW5wdXQtZ3JvdXA+XHJcbiAgPGRpdiBbdmlzaWJsZV09XCJ0cnVlXCIgY0Ryb3Bkb3duTWVudT5cclxuICAgIDxkaXYgY2xhc3M9XCJkYXRlLXBpY2tlci1ib2R5XCI+XHJcbiAgICAgIDxuZy10ZW1wbGF0ZSBbbmdJZl09XCIhaXNNb2JpbGVcIj5cclxuICAgICAgICA8ZGl2ICpuZ0lmPVwicmFuZ2VzXCIgY2xhc3M9XCJkYXRlLXBpY2tlci1yYW5nZXNcIj5cclxuICAgICAgICAgIDxidXR0b24gKGNsaWNrKT1cInNldEN1c3RvbVJhbmdlKGN1c3RvbVJhbmdlKVwiXHJcbiAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBjdXN0b21SYW5nZSBvZiBjdXN0b21SYW5nZXNcIlxyXG4gICAgICAgICAgICAgICAgICBbY29sb3JdPVwicmFuZ2VzQnV0dG9uc0NvbG9yXCJcclxuICAgICAgICAgICAgICAgICAgW3NpemVdPVwicmFuZ2VzQnV0dG9uc1NpemVcIlxyXG4gICAgICAgICAgICAgICAgICBbdmFyaWFudF09XCJyYW5nZXNCdXR0b25zVmFyaWFudFwiXHJcbiAgICAgICAgICAgICAgICAgIGNCdXR0b24+XHJcbiAgICAgICAgICAgIHt7Z2V0Q3VzdG9tUmFuZ2VLZXkoY3VzdG9tUmFuZ2UpfX1cclxuICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICA8Yy1jYWxlbmRhclxyXG4gICAgICAgIChjYWxlbmRhckNlbGxIb3Zlcik9XCJoYW5kbGVDYWxlbmRhckNlbGxIb3ZlcigkZXZlbnQpXCJcclxuICAgICAgICAoY2FsZW5kYXJEYXRlQ2hhbmdlKT1cImhhbmRsZUNhbGVuZGFyRGF0ZUNoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgICAoZW5kRGF0ZUNoYW5nZSk9XCJoYW5kbGVFbmREYXRlQ2hhbmdlKCRldmVudClcIlxyXG4gICAgICAgIChzdGFydERhdGVDaGFuZ2UpPVwiaGFuZGxlU3RhcnREYXRlQ2hhbmdlKCRldmVudClcIlxyXG4gICAgICAgIFtjYWxlbmRhckRhdGVdPVwiY2FsZW5kYXJEYXRlXCJcclxuICAgICAgICBbY2FsZW5kYXJzXT1cImlzTW9iaWxlID8gMSA6IGNhbGVuZGFyc1wiXHJcbiAgICAgICAgW2RhdGVGaWx0ZXJdPVwiZGF0ZUZpbHRlclwiXHJcbiAgICAgICAgW2Rpc2FibGVkRGF0ZXNdPVwiZGlzYWJsZWREYXRlc1wiXHJcbiAgICAgICAgW2VuZERhdGVdPVwiZW5kRGF0ZVwiXHJcbiAgICAgICAgW2ZpcnN0RGF5T2ZXZWVrXT1cImZpcnN0RGF5T2ZXZWVrXCJcclxuICAgICAgICBbbG9jYWxlXT1cImxvY2FsZVwiXHJcbiAgICAgICAgW21heERhdGVdPVwibWF4RGF0ZVwiXHJcbiAgICAgICAgW21pbkRhdGVdPVwibWluRGF0ZVwiXHJcbiAgICAgICAgW25hdmlnYXRpb25dPVwibmF2aWdhdGlvblwiXHJcbiAgICAgICAgW3JhbmdlXT1cInJhbmdlXCJcclxuICAgICAgICBbc3RhcnREYXRlXT1cInN0YXJ0RGF0ZVwiXHJcbiAgICAgICAgW25hdlllYXJGaXJzdF09XCJuYXZZZWFyRmlyc3RcIlxyXG4gICAgICAgIFtkYXlGb3JtYXRdPVwiZGF5Rm9ybWF0XCJcclxuICAgICAgICBbd2Vla2RheUZvcm1hdF09XCJ3ZWVrZGF5Rm9ybWF0XCJcclxuICAgICAgICBjbGFzcz1cImRhdGUtcGlja2VyLWNhbGVuZGFyc1wiXHJcbiAgICAgID48L2MtY2FsZW5kYXI+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcbjwvYy1kcm9wZG93bj5cclxuIl19
|
|
503
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1yYW5nZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZXVpLWFuZ3VsYXIvc3JjL2xpYi9kYXRlLXJhbmdlLXBpY2tlci9kYXRlLXJhbmdlLXBpY2tlci9kYXRlLXJhbmdlLXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JldWktYW5ndWxhci9zcmMvbGliL2RhdGUtcmFuZ2UtcGlja2VyL2RhdGUtcmFuZ2UtcGlja2VyL2RhdGUtcmFuZ2UtcGlja2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBRVQsWUFBWSxFQUNaLFVBQVUsRUFDVixZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sRUFDTixTQUFTLEVBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF3QixXQUFXLEVBQWEsaUJBQWlCLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0csT0FBTyxFQUFnQixxQkFBcUIsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2xHLE9BQU8sRUFBc0IsV0FBVyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFJdEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLGNBQWMsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRXZGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzdELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7Ozs7Ozs7Ozs7OztBQVF6RCxrQ0FBa0M7QUFDbEMsbUJBQW1CO0FBQ25CLDRFQUE0RTtBQUM1RSxvRUFBb0U7QUFDcEUsOERBQThEO0FBQzlELGtEQUFrRDtBQUNsRCx1REFBdUQ7QUFDdkQsb0JBQW9CO0FBQ3BCLGlGQUFpRjtBQUNqRixpREFBaUQ7QUFDakQsb0RBQW9EO0FBQ3BELG9GQUFvRjtBQUNwRiwwRkFBMEY7QUFDMUYsT0FBTztBQUNQLElBQUk7QUFlSixNQUFNLE9BQU8sd0JBQXdCO0lBS25DLFlBQ1Usa0JBQXNDO1FBQXRDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFHaEQ7Ozs7V0FJRztRQUNNLGNBQVMsR0FBa0IsU0FBUyxDQUFDO1FBY3RDLGVBQVUsR0FBVyxDQUFDLENBQUM7UUFjdkIsYUFBUSxHQUFZLElBQUksQ0FBQztRQXFCekIsZUFBVSxHQUFZLElBQUksQ0FBQztRQWMzQixtQkFBYyxHQUFZLEtBQUssQ0FBQztRQWNoQyxrQkFBYSxHQUFZLEtBQUssQ0FBQztRQUV2Qzs7O1dBR0c7UUFDTSxnQkFBVyxHQUFzQixDQUFDLFlBQVksRUFBRSxVQUFVLENBQUMsQ0FBQztRQVFyRTs7OztXQUlHO1FBQ00sdUJBQWtCLEdBQVksV0FBVyxDQUFDO1FBUW5EOzs7V0FHRztRQUNNLHlCQUFvQixHQUF5QixPQUFPLENBQUM7UUFjdEQsZUFBVSxHQUFZLElBQUksQ0FBQztRQXFCM0IsZ0JBQVcsR0FBWSxLQUFLLENBQUM7UUFFckM7Ozs7V0FJRztRQUNNLGdCQUFXLEdBQVcsT0FBTyxDQUFDO1FBRXZDOzs7O1dBSUc7UUFDTSxxQkFBZ0IsR0FBVyxTQUFTLENBQUM7UUFFOUM7Ozs7V0FJRztRQUNNLG9CQUFlLEdBQWdCLElBQUksQ0FBQztRQW9CckMsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUt6QixrQkFBYSxHQUFzQixFQUFFLENBQUM7UUFTdkMsb0JBQWUsR0FBVyxDQUFDLENBQUM7UUFFM0IsV0FBTSxHQUFXLFNBQVMsQ0FBQztRQUMzQixZQUFPLEdBQWdCLElBQUksQ0FBQztRQUM1QixZQUFPLEdBQWdCLElBQUksQ0FBQztRQVM3QixnQkFBVyxHQUFZLElBQUksQ0FBQztRQWM1QixXQUFNLEdBQVksSUFBSSxDQUFDO1FBV3ZCLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFlbEIsV0FBTSxHQUFXLEVBQUUsQ0FBQztRQUU1Qjs7OztXQUlHO1FBQ00sa0JBQWEsR0FBc0IsT0FBTyxDQUFDO1FBRWpDLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQTZCLENBQUM7UUFFckUsc0JBQWlCLEdBQThCLElBQUksWUFBWSxFQUFlLENBQUM7UUFDL0UsdUJBQWtCLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7UUFDbEUsa0JBQWEsR0FBOEIsSUFBSSxZQUFZLEVBQWUsQ0FBQztRQUMzRSxvQkFBZSxHQUE4QixJQUFJLFlBQVksRUFBZSxDQUFDO1FBVWhGLGFBQVEsR0FBRyxJQUFJLENBQUM7UUFVZixvQkFBZSxHQUFXLElBQUksQ0FBQyxTQUFTLEVBQUUsa0JBQWtCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQVNqRixrQkFBYSxHQUFXLElBQUksQ0FBQyxPQUFPLEVBQUUsa0JBQWtCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUU1RSx5QkFBb0IsR0FBVyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ25ELHVCQUFrQixHQUFXLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFJeEQsbUJBQW1CO1FBQ25CLG1CQUFjLEdBQUcsSUFBSSxXQUFXLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFO1lBQ3hGLFVBQVUsQ0FBQyxRQUFRO1lBQ25CLDJCQUEyQjtZQUMzQiw0QkFBNEI7WUFDNUIsMENBQTBDO1NBQzNDLENBQUMsQ0FBQztRQUNILGlCQUFZLEdBQUcsSUFBSSxXQUFXLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFO1lBQ3BGLFVBQVUsQ0FBQyxRQUFRO1lBQ25CLDJCQUEyQjtZQUMzQiw0QkFBNEI7WUFDNUIsMENBQTBDO1NBQzNDLENBQUMsQ0FBQztRQXNISCxrQkFBYSxHQUFHLENBQUMsVUFBc0IsRUFBRSxJQUFpQixFQUFFLEVBQUU7WUFDNUQsSUFBSSxDQUFDLFVBQVUsRUFBRTtnQkFDZixPQUFPO2FBQ1I7WUFFRCxVQUFVLENBQUMsYUFBYSxDQUFDLEtBQUssR0FBRyxJQUFJLEVBQUUsa0JBQWtCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUM3RSxPQUFPO1FBQ1QsQ0FBQyxDQUFDO1FBRUYsYUFBUSxHQUFRLENBQUMsS0FBVSxFQUFFLEVBQUUsR0FBRSxDQUFDLENBQUM7UUFDbkMsY0FBUyxHQUFRLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztJQWhjdEIsQ0FBQztJQVNMOzs7O09BSUc7SUFDSCxJQUNJLFNBQVMsQ0FBQyxLQUFhO1FBQ3pCLElBQUksQ0FBQyxVQUFVLEdBQUcsb0JBQW9CLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUNELElBQUksU0FBUztRQUNYLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUN6QixDQUFDO0lBR0Q7Ozs7T0FJRztJQUNILElBQ0ksT0FBTyxDQUFDLEtBQWM7UUFDeEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBQ0QsSUFBSSxPQUFPO1FBQ1QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7SUFVRDs7OztPQUlHO0lBQ0gsSUFDSSxTQUFTLENBQUMsS0FBYztRQUMxQixJQUFJLENBQUMsVUFBVSxHQUFHLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFDRCxJQUFJLFNBQVM7UUFDWCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDekIsQ0FBQztJQUdEOzs7O09BSUc7SUFDSCxJQUNJLGFBQWEsQ0FBQyxLQUFjO1FBQzlCLElBQUksQ0FBQyxjQUFjLEdBQUcscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUNELElBQUksYUFBYTtRQUNmLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQztJQUM3QixDQUFDO0lBR0Q7Ozs7T0FJRztJQUNILElBQ0ksWUFBWSxDQUFDLEtBQWM7UUFDN0IsSUFBSSxDQUFDLGFBQWEsR0FBRyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBQ0QsSUFBSSxZQUFZO1FBQ2QsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzVCLENBQUM7SUFrQ0Q7Ozs7T0FJRztJQUNILElBQ0ksU0FBUyxDQUFDLEtBQWM7UUFDMUIsSUFBSSxDQUFDLFVBQVUsR0FBRyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBQ0QsSUFBSSxTQUFTO1FBQ1gsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3pCLENBQUM7SUFVRDs7OztPQUlHO0lBQ0gsSUFDSSxVQUFVLENBQUMsS0FBYztRQUMzQixJQUFJLENBQUMsV0FBVyxHQUFHLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFDRCxJQUFJLFVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDMUIsQ0FBQztJQThCRDs7OztPQUlHO0lBQ0gsSUFDSSxPQUFPLENBQUMsS0FBYztRQUN4QixJQUFJLENBQUMsUUFBUSxHQUFHLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFDRCxJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztJQVFELElBQ0ksY0FBYyxDQUFDLEtBQWE7UUFDOUIsSUFBSSxDQUFDLGVBQWUsR0FBRyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBQ0QsSUFBSSxjQUFjO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQztJQUM5QixDQUFDO0lBT0QsSUFDSSxVQUFVLENBQUMsS0FBYztRQUMzQixJQUFJLENBQUMsV0FBVyxHQUFHLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFDRCxJQUFJLFVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDMUIsQ0FBQztJQUdEOzs7O09BSUc7SUFDSCxJQUNJLEtBQUssQ0FBQyxLQUFjO1FBQ3RCLElBQUksQ0FBQyxNQUFNLEdBQUcscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUNELElBQUksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBS0QsSUFDSSxRQUFRLENBQUMsS0FBYztRQUN6QixJQUFJLENBQUMsU0FBUyxHQUFHLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFDRCxJQUFJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUdELElBQ0ksS0FBSyxDQUFDLEtBQWE7UUFDckIsTUFBTSxRQUFRLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDeEQsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxLQUFLLFFBQVEsQ0FBQyxRQUFRLEVBQUUsRUFBRTtZQUNsRCxJQUFJLENBQUMsTUFBTSxHQUFHLFFBQVEsQ0FBQztZQUN2QixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3hCLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNqQixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDbkM7SUFDSCxDQUFDO0lBQ0QsSUFBSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7SUFxQnFCLE1BQU07UUFDMUIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFLRCxJQUFJLGNBQWMsQ0FBQyxLQUFhO1FBQzlCLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFDO0lBQy9CLENBQUM7SUFDRCxJQUFJLGNBQWM7UUFDaEIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDO0lBQzlCLENBQUM7SUFHRCxJQUFJLFlBQVksQ0FBQyxLQUFhO1FBQzVCLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO0lBQzdCLENBQUM7SUFDRCxJQUFJLFlBQVk7UUFDZCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDNUIsQ0FBQztJQXVCRCxJQUFJLG9CQUFvQixDQUFDLEtBQUs7UUFDNUIsSUFBSSxDQUFDLHFCQUFxQixHQUFHLEtBQUssQ0FBQztJQUNyQyxDQUFDO0lBQ0QsSUFBSSxvQkFBb0I7UUFDdEIsT0FBTyxJQUFJLENBQUMscUJBQXFCLENBQUM7SUFDcEMsQ0FBQztJQUdELElBQUksa0JBQWtCLENBQUMsS0FBSztRQUMxQixJQUFJLENBQUMsbUJBQW1CLEdBQUcsS0FBSyxDQUFDO0lBQ25DLENBQUM7SUFDRCxJQUFJLGtCQUFrQjtRQUNwQixPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQztJQUNsQyxDQUFDO0lBR0QsUUFBUTtRQUNOLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FBQztZQUNuRCxXQUFXLENBQUMsT0FBTztZQUNuQixXQUFXLENBQUMsTUFBTTtTQUNuQixDQUFDLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ3BCLElBQUksQ0FBQyxRQUFRLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQztRQUNqQyxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUVuRSxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsa0JBQWtCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUM1RSxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsa0JBQWtCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMxRSxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDbkMsQ0FBQztJQUVELGlCQUFpQixDQUFDLFdBQWdCO1FBQ2hDLE9BQU8sV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxjQUFjLENBQUMsV0FBZ0I7UUFDN0IsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ2hELElBQUksQ0FBQyxTQUFTLEdBQUcsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ25DLElBQUksQ0FBQyxPQUFPLEdBQUcsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRCx1QkFBdUIsQ0FBQyxNQUFtQjtRQUN6QyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ25CLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLFVBQVUsRUFBRSxNQUFNLENBQUMsQ0FBQztZQUNoRSxJQUFJLENBQUMsb0JBQW9CLEdBQUcsTUFBTSxDQUFDO1lBQ25DLE9BQU87U0FDUjtRQUNELElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2pCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLFVBQVUsRUFBRSxNQUFNLENBQUMsQ0FBQztZQUM5RCxJQUFJLENBQUMsa0JBQWtCLEdBQUcsTUFBTSxDQUFDO1lBQ2pDLE9BQU87U0FDUjtJQUNILENBQUM7SUFFRCx3QkFBd0IsQ0FBQyxNQUFZO1FBQ25DLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVELHFCQUFxQixDQUFDLElBQWlCO1FBQ3JDLHVEQUF1RDtRQUN2RCxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNoQyxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ3ZFLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLENBQUM7UUFDakMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUNsRixJQUFJO0lBQ04sQ0FBQztJQUVELG1CQUFtQixDQUFDLElBQWlCO1FBQ25DLHFEQUFxRDtRQUNyRCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM5QixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ3JFLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUM7UUFDL0IsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUNsRixJQUFJO0lBQ04sQ0FBQztJQUVELFdBQVcsQ0FBQyxNQUFrQjtRQUM1QixJQUFJLENBQUMsaUJBQWlCLEVBQUUsVUFBVSxFQUFFLENBQUM7SUFDdkMsQ0FBQztJQUVELDBCQUEwQixDQUFDLE1BQVc7UUFDcEMsTUFBTSxJQUFJLEdBQUcsc0JBQXNCLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDeEYsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNULElBQUksQ0FBQyxpQkFBaUIsRUFBRSxVQUFVLEVBQUUsQ0FBQztTQUN0QztRQUNELElBQUksSUFBSSxZQUFZLElBQUksSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDMUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsQ0FBQyxFQUFFO2dCQUN4RSxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztnQkFDekIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7YUFDdkI7U0FDRjtRQUNELElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzlFLENBQUM7SUFFRCx3QkFBd0IsQ0FBQyxNQUFXO1FBQ2xDLE1BQU0sSUFBSSxHQUFHLHNCQUFzQixDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3hGLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDVCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztTQUNyQjtRQUNELElBQUksSUFBSSxZQUFZLElBQUksSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDMUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsQ0FBQyxFQUFFO2dCQUM1RSxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztnQkFDekIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7YUFDckI7U0FDRjtRQUNELElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzFFLENBQUM7SUFFRCxhQUFhLENBQUMsSUFBVTtRQUN0QixPQUFPLGNBQWMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDcEksQ0FBQztJQWNELGdCQUFnQixDQUFDLEVBQU87UUFDdEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVELGlCQUFpQixDQUFDLEVBQU87UUFDdkIsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVELGdCQUFnQixDQUFDLFVBQW1CO1FBQ2xDLElBQUksQ0FBQyxRQUFRLEdBQUcsVUFBVSxDQUFDO0lBQzdCLENBQUM7SUFFRCxVQUFVLENBQUMsS0FBZTtRQUN4QixJQUFJLEtBQUssS0FBSyxJQUFJLEVBQUU7WUFDbEIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7U0FDcEI7SUFDSCxDQUFDOztxSEF6ZFUsd0JBQXdCO3lHQUF4Qix3QkFBd0Isb3JDQVJ4QjtRQUNUO1lBQ0UsT0FBTyxFQUFFLGlCQUFpQjtZQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHdCQUF3QixDQUFDO1lBQ3ZELEtBQUssRUFBRSxJQUFJO1NBQ1o7S0FDRiw2RUEyUlUsaUJBQWlCLHFGQUNqQixrQkFBa0IsbUZBQ2xCLGdCQUFnQixnRkN0VjdCLGltSEFvRkE7MkZEekJhLHdCQUF3QjtrQkFicEMsU0FBUzsrQkFDRSxxQkFBcUIsWUFHckIsa0JBQWtCLGFBQ2pCO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLHlCQUF5QixDQUFDOzRCQUN2RCxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjt5R0FnQlEsU0FBUztzQkFBakIsS0FBSztnQkFRRixTQUFTO3NCQURaLEtBQUs7Z0JBZUYsT0FBTztzQkFEVixLQUFLO2dCQWNOLE1BQU07c0JBREwsS0FBSztnQkFTRixTQUFTO3NCQURaLEtBQUs7Z0JBZUYsYUFBYTtzQkFEaEIsS0FBSztnQkFlRixZQUFZO3NCQURmLEtBQUs7Z0JBYUcsV0FBVztzQkFBbkIsS0FBSztnQkFNRyxNQUFNO3NCQUFkLEtBQUs7Z0JBT0csa0JBQWtCO3NCQUExQixLQUFLO2dCQU1HLGlCQUFpQjtzQkFBekIsS0FBSztnQkFNRyxvQkFBb0I7c0JBQTVCLEtBQUs7Z0JBUUYsU0FBUztzQkFEWixLQUFLO2dCQWNHLElBQUk7c0JBQVosS0FBSztnQkFRRixVQUFVO3NCQURiLEtBQUs7Z0JBY0csV0FBVztzQkFBbkIsS0FBSztnQkFPRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBT0csZUFBZTtzQkFBdkIsS0FBSztnQkFNRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBUUYsT0FBTztzQkFEVixLQUFLO2dCQVNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFHRixjQUFjO3NCQURqQixLQUFLO2dCQVNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUdGLFVBQVU7c0JBRGIsS0FBSztnQkFlRixLQUFLO3NCQURSLEtBQUs7Z0JBU0csVUFBVTtzQkFBbEIsS0FBSztnQkFHRixRQUFRO3NCQURYLEtBQUs7Z0JBVUYsS0FBSztzQkFEUixLQUFLO2dCQW9CRyxhQUFhO3NCQUFyQixLQUFLO2dCQUVhLFdBQVc7c0JBQTdCLE1BQU07Z0JBRUcsaUJBQWlCO3NCQUExQixNQUFNO2dCQUNHLGtCQUFrQjtzQkFBM0IsTUFBTTtnQkFDRyxhQUFhO3NCQUF0QixNQUFNO2dCQUNHLGVBQWU7c0JBQXhCLE1BQU07Z0JBRXVCLGlCQUFpQjtzQkFBOUMsU0FBUzt1QkFBQyxpQkFBaUI7Z0JBQ0csa0JBQWtCO3NCQUFoRCxTQUFTO3VCQUFDLGtCQUFrQjtnQkFDQSxnQkFBZ0I7c0JBQTVDLFNBQVM7dUJBQUMsZ0JBQWdCO2dCQUVMLE1BQU07c0JBQTNCLFlBQVk7dUJBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIGZvcndhcmRSZWYsXHJcbiAgSG9zdExpc3RlbmVyLFxyXG4gIElucHV0LFxyXG4gIE9uRGVzdHJveSxcclxuICBPbkluaXQsXHJcbiAgT3V0cHV0LFxyXG4gIFZpZXdDaGlsZFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCwgTkdfVkFMVUVfQUNDRVNTT1IsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IEJvb2xlYW5JbnB1dCwgY29lcmNlQm9vbGVhblByb3BlcnR5LCBjb2VyY2VOdW1iZXJQcm9wZXJ0eSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XHJcbmltcG9ydCB7IEJyZWFrcG9pbnRPYnNlcnZlciwgQnJlYWtwb2ludHMgfSBmcm9tICdAYW5ndWxhci9jZGsvbGF5b3V0JztcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcblxyXG5pbXBvcnQgeyBDb2xvcnMgfSBmcm9tICcuLi8uLi9jb3JldWkudHlwZXMnO1xyXG5pbXBvcnQgeyBDYWxlbmRhckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NhbGVuZGFyJztcclxuaW1wb3J0IHsgZ2V0TG9jYWxEYXRlRnJvbVN0cmluZywgaXNEYXRlRGlzYWJsZWQgfSBmcm9tICcuLi8uLi9jYWxlbmRhci9jYWxlbmRhci51dGlscyc7XHJcbmltcG9ydCB7IERhdGVGaWx0ZXJUeXBlLCBEYXlGb3JtYXRUeXBlLCBXZWVrZGF5Rm9ybWF0VHlwZSB9IGZyb20gJy4uLy4uL2NhbGVuZGFyL2NhbGVuZGFyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTdGFydERhdGVEaXJlY3RpdmUgfSBmcm9tICcuLi9zdGFydC1kYXRlLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IEVuZERhdGVEaXJlY3RpdmUgfSBmcm9tICcuLi9lbmQtZGF0ZS5kaXJlY3RpdmUnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJQ2FsZW5kYXJSYW5nZSB7XHJcbiAgW2tleTogc3RyaW5nXTogRGF0ZVtdO1xyXG59XHJcblxyXG5leHBvcnQgdHlwZSBUQ3VzdG9tUmFuZ2UgPSBbc3RyaW5nLCBEYXRlW11dXHJcblxyXG4vKiogTXVzdCBiZSBhIHZhbGlkIGRhdGUgc3RyaW5nICovXHJcbi8vIHRvZG86IHZhbGlkYXRpb25cclxuLy8gZXhwb3J0IGZ1bmN0aW9uIGludmFsaWREYXRlU3RyaW5nVmFsaWRhdG9yKGxvY2FsZTogc3RyaW5nKTogVmFsaWRhdG9yRm4ge1xyXG4vLyAgIHJldHVybiAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPT4ge1xyXG4vLyAgICAgLy8gY29uc3QgdmFsaWREYXRlID0gIWlzTmFOKERhdGUucGFyc2UoY29udHJvbC52YWx1ZSkpO1xyXG4vLyAgICAgc3RyaW5nVG9EYXRlQ29udmVydChjb250cm9sLnZhbHVlLCBsb2NhbGUpO1xyXG4vLyAgICAgY29uc3QgZGF0ZVNoaW0gPSBjdnREYXRlKGNvbnRyb2wudmFsdWUsIGxvY2FsZSk7XHJcbi8vICAgICAvLyBAdHMtaWdub3JlXHJcbi8vICAgICAvLyBjb250cm9sLnNldFZhbHVlKG5ldyBEYXRlKGRhdGVTaGltLnllYXIsIGRhdGVTaGltLm1vbnRoLCBkYXRlU2hpbS5kYXkpKVxyXG4vLyAgICAgY29uc29sZS5sb2coJ2RhdGVTaGltJywgZGF0ZVNoaW0sIGxvY2FsZSk7XHJcbi8vICAgICBjb25zdCB2YWxpZERhdGUgPSBpc1ZhbGlkRGF0ZShjb250cm9sLnZhbHVlKTtcclxuLy8gICAgIGNvbnNvbGUubG9nKCdpbnZhbGlkRGF0ZVN0cmluZ1ZhbGlkYXRvcicsIGNvbnRyb2wsIGNvbnRyb2wudmFsdWUsIHZhbGlkRGF0ZSk7XHJcbi8vICAgICByZXR1cm4gdmFsaWREYXRlID8geyBpbnZhbGlkRGF0ZVN0cmluZ1ZhbGlkYXRvcjogeyB2YWx1ZTogY29udHJvbC52YWx1ZSB9IH0gOiBudWxsO1xyXG4vLyAgIH07XHJcbi8vIH1cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYy1kYXRlLXJhbmdlLXBpY2tlcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGUtcmFuZ2UtcGlja2VyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9kYXRlLXJhbmdlLXBpY2tlci5jb21wb25lbnQuc2NzcyddLFxyXG4gIGV4cG9ydEFzOiAnY0RhdGVSYW5nZVBpY2tlcicsXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBEYXRlUmFuZ2VQaWNrZXJDb21wb25lbnQpLFxyXG4gICAgICBtdWx0aTogdHJ1ZVxyXG4gICAgfVxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEYXRlUmFuZ2VQaWNrZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xyXG5cclxuICBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfZGlzYWJsZWQ6IEJvb2xlYW5JbnB1dDtcclxuICBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfbmF2WWVhckZpcnN0OiBCb29sZWFuSW5wdXQ7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBicmVha3BvaW50T2JzZXJ2ZXI6IEJyZWFrcG9pbnRPYnNlcnZlclxyXG4gICkgeyB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNldCB0aGUgZm9ybWF0IG9mIGRheSBuYW1lLlxyXG4gICAqIEBkZWZhdWx0ICdudW1lcmljJ1xyXG4gICAqIEB0eXBlIERheUZvcm1hdFR5cGVcclxuICAgKi9cclxuICBASW5wdXQoKSBkYXlGb3JtYXQ6IERheUZvcm1hdFR5cGUgPSAnbnVtZXJpYyc7XHJcblxyXG4gIC8qKlxyXG4gICAqIFRoZSBudW1iZXIgb2YgY2FsZW5kYXJzIHRoYXQgcmVuZGVyIG9uIGRlc2t0b3AgZGV2aWNlcy5cclxuICAgKiBAdHlwZSBudW1iZXJcclxuICAgKiBAZGVmYXVsdCAyXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBzZXQgY2FsZW5kYXJzKHZhbHVlOiBudW1iZXIpIHtcclxuICAgIHRoaXMuX2NhbGVuZGFycyA9IGNvZXJjZU51bWJlclByb3BlcnR5KHZhbHVlKTtcclxuICB9XHJcbiAgZ2V0IGNhbGVuZGFycygpIHtcclxuICAgIHJldHVybiB0aGlzLl9jYWxlbmRhcnM7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2NhbGVuZGFyczogbnVtYmVyID0gMjtcclxuXHJcbiAgLyoqXHJcbiAgICogVG9nZ2xlIHZpc2liaWxpdHkgb3Igc2V0IHRoZSBjb250ZW50IG9mIHRoZSBjbGVhbmVyIGJ1dHRvbi5cclxuICAgKiBAdHlwZSBib29sZWFuXHJcbiAgICogQGRlZmF1bHQgdHJ1ZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IGNsZWFuZXIodmFsdWU6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMuX2NsZWFuZXIgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xyXG4gIH1cclxuICBnZXQgY2xlYW5lcigpIHtcclxuICAgIHJldHVybiB0aGlzLl9jbGVhbmVyO1xyXG4gIH1cclxuICBwcml2YXRlIF9jbGVhbmVyOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgLyoqXHJcbiAgICogU2V0IGRhdGUgZm9ybWF0LlxyXG4gICAqIFdlIHVzZSBkYXRlLWZucyB0byBmb3JtYXQgZGF0ZXMuIFZpc2l0IGh0dHBzOi8vZGF0ZS1mbnMub3JnL3YyLjI4LjAvZG9jcy9mb3JtYXQgdG8gY2hlY2sgYWNjZXB0ZWQgcGF0dGVybnMuXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBmb3JtYXQ/OiBzdHJpbmc7XHJcblxyXG4gIC8qKlxyXG4gICAqIFRvZ2dsZSB2aXNpYmlsaXR5IG9yIHNldCB0aGUgY29udGVudCBvZiB0aGUgaW5wdXQgaW5kaWNhdG9yLlxyXG4gICAqIEB0eXBlIGJvb2xlYW5cclxuICAgKiBAZGVmYXVsdCB0cnVlXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBzZXQgaW5kaWNhdG9yKHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLl9pbmRpY2F0b3IgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xyXG4gIH1cclxuICBnZXQgaW5kaWNhdG9yKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2luZGljYXRvcjtcclxuICB9XHJcbiAgcHJpdmF0ZSBfaW5kaWNhdG9yOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgLyoqXHJcbiAgICogVG9nZ2xlIHRoZSByZWFkb25seSBzdGF0ZSBmb3IgdGhlIGNvbXBvbmVudC5cclxuICAgKiBAdHlwZSBib29sZWFuXHJcbiAgICogQGRlZmF1bHQgZmFsc2VcclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHNldCBpbnB1dFJlYWRPbmx5KHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLl9pbnB1dFJlYWRPbmx5ID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcclxuICB9XHJcbiAgZ2V0IGlucHV0UmVhZE9ubHkoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5faW5wdXRSZWFkT25seTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfaW5wdXRSZWFkT25seTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAvKipcclxuICAgKiBSZW9yZGVyIHllYXItbW9udGggbmF2aWdhdGlvbiwgYW5kIHJlbmRlciB5ZWFyIGZpcnN0LlxyXG4gICAqIEB0eXBlIGJvb2xlYW5cclxuICAgKiBAZGVmYXVsdCBmYWxzZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IG5hdlllYXJGaXJzdCh2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgdGhpcy5fbmF2WWVhckZpcnN0ID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcclxuICB9XHJcbiAgZ2V0IG5hdlllYXJGaXJzdCgpIHtcclxuICAgIHJldHVybiB0aGlzLl9uYXZZZWFyRmlyc3Q7XHJcbiAgfVxyXG4gIHByaXZhdGUgX25hdlllYXJGaXJzdDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAvKipcclxuICAgKiBTcGVjaWZpZXMgc2hvcnQgaGludHMgdGhhdCBhcmUgdmlzaWJsZSBpbiBzdGFydCBkYXRlIGFuZCBlbmQgZGF0ZSBpbnB1dHMuXHJcbiAgICogdHlwZSBzdHJpbmdcclxuICAgKi9cclxuICBASW5wdXQoKSBwbGFjZWhvbGRlcjogc3RyaW5nIHwgc3RyaW5nW10gPSBbJ1N0YXJ0IGRhdGUnLCAnRW5kIGRhdGUnXTtcclxuXHJcbiAgLyoqXHJcbiAgICogUHJlZGVmaW5lZCBkYXRlIHJhbmdlcyB0aGUgdXNlciBjYW4gc2VsZWN0IGZyb20uXHJcbiAgICogQHR5cGUgSUNhbGVuZGFyUmFuZ2VcclxuICAgKi9cclxuICBASW5wdXQoKSByYW5nZXM/OiBvYmplY3Q7XHJcblxyXG4gIC8qKlxyXG4gICAqIFNldHMgdGhlIGNvbG9yIGNvbnRleHQgb2YgdGhlIGNhbmNlbCBidXR0b24gdG8gb25lIG9mIENvcmVVSeKAmXMgdGhlbWVkIGNvbG9ycy5cclxuICAgKiBAdHlwZSAncHJpbWFyeScgfCAnc2Vjb25kYXJ5JyB8ICdzdWNjZXNzJyB8ICdkYW5nZXInIHwgJ3dhcm5pbmcnIHwgJ2luZm8nIHwgJ2RhcmsnIHwgJ2xpZ2h0JyB8IHN0cmluZ1xyXG4gICAqIEBkZWZhdWx0ICdzZWNvbmRhcnknXHJcbiAgICovXHJcbiAgQElucHV0KCkgcmFuZ2VzQnV0dG9uc0NvbG9yPzogQ29sb3JzID0gJ3NlY29uZGFyeSc7XHJcblxyXG4gIC8qKlxyXG4gICAqIFNpemUgdGhlIHJhbmdlcyBidXR0b24gc21hbGwgb3IgbGFyZ2UuXHJcbiAgICogQHR5cGUgJ3NtJyB8ICdsZycgfCB1bmRlZmluZWRcclxuICAgKi9cclxuICBASW5wdXQoKSByYW5nZXNCdXR0b25zU2l6ZT86ICdzbScgfCAnbGcnO1xyXG5cclxuICAvKipcclxuICAgKiBTZXQgdGhlIHJhbmdlcyBidXR0b24gdmFyaWFudCB0byBhbiBvdXRsaW5lZCBidXR0b24gb3IgYSBnaG9zdCBidXR0b24uXHJcbiAgICogQHR5cGUgJ291dGxpbmUnIHwgJ2dob3N0JyB8IHVuZGVmaW5lZFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHJhbmdlc0J1dHRvbnNWYXJpYW50PzogJ291dGxpbmUnIHwgJ2dob3N0JyA9ICdnaG9zdCc7XHJcblxyXG4gIC8qKlxyXG4gICAqIERlZmF1bHQgaWNvbiBvciBjaGFyYWN0ZXIgdGhhdCBzZXBhcmF0ZXMgdHdvIGRhdGVzLlxyXG4gICAqIEB0eXBlIGJvb2xlYW5cclxuICAgKiBAZGVmYXVsdCB0cnVlXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBzZXQgc2VwYXJhdG9yKHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLl9zZXBhcmF0b3IgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xyXG4gIH1cclxuICBnZXQgc2VwYXJhdG9yKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX3NlcGFyYXRvcjtcclxuICB9XHJcbiAgcHJpdmF0ZSBfc2VwYXJhdG9yOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgLyoqXHJcbiAgICogU2l6ZSB0aGUgY29tcG9uZW50IHNtYWxsIG9yIGxhcmdlLlxyXG4gICAqIEB0eXBlICdzbScgfCAnbGcnIHwgdW5kZWZpbmVkXHJcbiAgICogQGRlZmF1bHQgdW5kZWZpbmVkXHJcbiAgICovXHJcbiAgQElucHV0KCkgc2l6ZT86ICdzbScgfCAnbGcnO1xyXG5cclxuICAvKipcclxuICAgKiBQcm92aWRlIGFuIGFkZGl0aW9uYWwgdGltZSBzZWxlY3Rpb24gYnkgYWRkaW5nIHNlbGVjdCBib3hlcyB0byBjaG9vc2UgdGltZS5cclxuICAgKiBAdHlwZSBib29sZWFuXHJcbiAgICogQGRlZmF1bHQgZmFsc2VcclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHNldCB0aW1lcGlja2VyKHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLl90aW1lcGlja2VyID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcclxuICB9XHJcbiAgZ2V0IHRpbWVwaWNrZXIoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5fdGltZXBpY2tlcjtcclxuICB9XHJcbiAgcHJpdmF0ZSBfdGltZXBpY2tlcjogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAvKipcclxuICAgKiBUb2dnbGUgdmlzaWJpbGl0eSBvciBzZXQgdGhlIGNvbnRlbnQgb2YgdG9kYXkgYnV0dG9uLlxyXG4gICAqIEB0eXBlIHN0cmluZ1xyXG4gICAqIEBkZWZhdWx0ICdUb2RheSdcclxuICAgKi9cclxuICBASW5wdXQoKSB0b2RheUJ1dHRvbjogc3RyaW5nID0gJ1RvZGF5JztcclxuXHJcbiAgLyoqXHJcbiAgICogU2V0cyB0aGUgY29sb3IgY29udGV4dCBvZiB0aGUgdG9kYXkgYnV0dG9uIHRvIG9uZSBvZiBDb3JlVUnigJlzIHRoZW1lZCBjb2xvcnMuXHJcbiAgICogQHR5cGUgJ3ByaW1hcnknIHwgJ3NlY29uZGFyeScgfCAnc3VjY2VzcycgfCAnZGFuZ2VyJyB8ICd3YXJuaW5nJyB8ICdpbmZvJyB8ICdkYXJrJyB8ICdsaWdodCcgfCBzdHJpbmdcclxuICAgKiBAZGVmYXVsdCAncHJpbWFyeSdcclxuICAgKi9cclxuICBASW5wdXQoKSB0b2RheUJ1dHRvbkNvbG9yOiBDb2xvcnMgPSAncHJpbWFyeSc7XHJcblxyXG4gIC8qKlxyXG4gICAqIFNpemUgdGhlIHRvZGF5IGJ1dHRvbiBzbWFsbCBvciBsYXJnZS5cclxuICAgKiBAdHlwZSAnc20nIHwgJ2xnJ1xyXG4gICAqIEBkZWZhdWx0ICdzbSdcclxuICAgKi9cclxuICBASW5wdXQoKSB0b2RheUJ1dHRvblNpemU6ICdzbScgfCAnbGcnID0gJ3NtJztcclxuXHJcbiAgLyoqXHJcbiAgICogU2V0IHRoZSB0b2RheSBidXR0b24gdmFyaWFudCB0byBhbiBvdXRsaW5lZCBidXR0b24gb3IgYSBnaG9zdCBidXR0b24uXHJcbiAgICogQHR5cGUgJ291dGxpbmUnIHwgJ2dob3N0JyB8IHVuZGVmaW5lZFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHRvZGF5QnV0dG9uVmFyaWFudD86ICdvdXRsaW5lJyB8ICdnaG9zdCc7XHJcblxyXG4gIC8qKlxyXG4gICAqIFRvZ2dsZSB0aGUgdmlzaWJpbGl0eSBvZiB0aGUgY29tcG9uZW50LlxyXG4gICAqIEB0eXBlIGJvb2xlYW5cclxuICAgKiBAZGVmYXVsdCBmYWxzZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IHZpc2libGUodmFsdWU6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMuX3Zpc2libGUgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xyXG4gIH1cclxuICBnZXQgdmlzaWJsZSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLl92aXNpYmxlO1xyXG4gIH1cclxuICBwcml2YXRlIF92aXNpYmxlOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpIHN0YXJ0RGF0ZT86IERhdGUgfCBudWxsO1xyXG4gIEBJbnB1dCgpIGVuZERhdGU/OiBEYXRlIHwgbnVsbDtcclxuICBASW5wdXQoKSBjYWxlbmRhckRhdGU/OiBEYXRlO1xyXG4gIEBJbnB1dCgpIGRpc2FibGVkRGF0ZXM6IERhdGVbXSB8IERhdGVbXVtdID0gW107XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IGZpcnN0RGF5T2ZXZWVrKHZhbHVlOiBudW1iZXIpIHtcclxuICAgIHRoaXMuX2ZpcnN0RGF5T2ZXZWVrID0gY29lcmNlTnVtYmVyUHJvcGVydHkodmFsdWUpO1xyXG4gIH1cclxuICBnZXQgZmlyc3REYXlPZldlZWsoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fZmlyc3REYXlPZldlZWs7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2ZpcnN0RGF5T2ZXZWVrOiBudW1iZXIgPSAxO1xyXG5cclxuICBASW5wdXQoKSBsb2NhbGU6IHN0cmluZyA9ICdkZWZhdWx0JztcclxuICBASW5wdXQoKSBtYXhEYXRlOiBEYXRlIHwgbnVsbCA9IG51bGw7XHJcbiAgQElucHV0KCkgbWluRGF0ZTogRGF0ZSB8IG51bGwgPSBudWxsO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHNldCBuYXZpZ2F0aW9uKHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLl9uYXZpZ2F0aW9uID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcclxuICB9XHJcbiAgZ2V0IG5hdmlnYXRpb24oKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fbmF2aWdhdGlvbjtcclxuICB9XHJcbiAgcHJpdmF0ZSBfbmF2aWdhdGlvbjogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIC8qKlxyXG4gICAqIEFsbG93IHJhbmdlIHNlbGVjdGlvbi5cclxuICAgKiBAdHlwZSBib29sZWFuXHJcbiAgICogQGRlZmF1bHQgZmFsc2VcclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHNldCByYW5nZSh2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgdGhpcy5fcmFuZ2UgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xyXG4gIH1cclxuICBnZXQgcmFuZ2UoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5fcmFuZ2U7XHJcbiAgfVxyXG4gIHByaXZhdGUgX3JhbmdlOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgQElucHV0KCkgZGF0ZUZpbHRlcj86IERhdGVGaWx0ZXJUeXBlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHNldCBkaXNhYmxlZCh2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgdGhpcy5fZGlzYWJsZWQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xyXG4gIH1cclxuICBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5fZGlzYWJsZWQ7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2Rpc2FibGVkID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IHZhbHVlKHZhbHVlOiBEYXRlW10pIHtcclxuICAgIGNvbnN0IG5ld1ZhbHVlID0gQXJyYXkuaXNBcnJheSh2YWx1ZSkgPyBbLi4udmFsdWVdIDogW107XHJcbiAgICBpZiAodGhpcy5fdmFsdWUudG9TdHJpbmcoKSAhPT0gbmV3VmFsdWUudG9TdHJpbmcoKSkge1xyXG4gICAgICB0aGlzLl92YWx1ZSA9IG5ld1ZhbHVlO1xyXG4gICAgICB0aGlzLm9uQ2hhbmdlKG5ld1ZhbHVlKTtcclxuICAgICAgdGhpcy5vblRvdWNoZWQoKTtcclxuICAgICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KHRoaXMudmFsdWUpO1xyXG4gICAgfVxyXG4gIH1cclxuICBnZXQgdmFsdWUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fdmFsdWU7XHJcbiAgfVxyXG4gIHByaXZhdGUgX3ZhbHVlOiBEYXRlW10gPSBbXTtcclxuXHJcbiAgLyoqXHJcbiAgICogU2V0IGxlbmd0aCBvciBmb3JtYXQgb2YgZGF5IG5hbWUuXHJcbiAgICogQHR5cGUgV2Vla2RheUZvcm1hdFR5cGVcclxuICAgKiBAZGVmYXVsdCAnc2hvcnQnXHJcbiAgICovXHJcbiAgQElucHV0KCkgd2Vla2RheUZvcm1hdDogV2Vla2RheUZvcm1hdFR5cGUgPSAnc2hvcnQnO1xyXG5cclxuICBAT3V0cHV0KCkgcmVhZG9ubHkgdmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPERhdGUgfCBEYXRlW10gfCB1bmRlZmluZWQ+KCk7XHJcblxyXG4gIEBPdXRwdXQoKSBjYWxlbmRhckNlbGxIb3ZlcjogRXZlbnRFbWl0dGVyPERhdGUgfCBudWxsPiA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0ZSB8IG51bGw+KCk7XHJcbiAgQE91dHB1dCgpIGNhbGVuZGFyRGF0ZUNoYW5nZTogRXZlbnRFbWl0dGVyPERhdGU+ID0gbmV3IEV2ZW50RW1pdHRlcjxEYXRlPigpO1xyXG4gIEBPdXRwdXQoKSBlbmREYXRlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8RGF0ZSB8IG51bGw+ID0gbmV3IEV2ZW50RW1pdHRlcjxEYXRlIHwgbnVsbD4oKTtcclxuICBAT3V0cHV0KCkgc3RhcnREYXRlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8RGF0ZSB8IG51bGw+ID0gbmV3IEV2ZW50RW1pdHRlcjxEYXRlIHwgbnVsbD4oKTtcclxuXHJcbiAgQFZpZXdDaGlsZChDYWxlbmRhckNvbXBvbmVudCkgY2FsZW5kYXJDb21wb25lbnQhOiBDYWxlbmRhckNvbXBvbmVudDtcclxuICBAVmlld0NoaWxkKFN0YXJ0RGF0ZURpcmVjdGl2ZSkgc3RhcnREYXRlRGlyZWN0aXZlITogU3RhcnREYXRlRGlyZWN0aXZlO1xyXG4gIEBWaWV3Q2hpbGQoRW5kRGF0ZURpcmVjdGl2ZSkgZW5kRGF0ZURpcmVjdGl2ZSE6IEVuZERhdGVEaXJlY3RpdmU7XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ2JsdXInKSBvbkJsdXIoKSB7XHJcbiAgICB0aGlzLm9uVG91Y2hlZCgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGlzTW9iaWxlID0gdHJ1ZTtcclxuICBwdWJsaWMgY3VzdG9tUmFuZ2VzITogVEN1c3RvbVJhbmdlW107XHJcblxyXG4gIHNldCBzdGFydERhdGVWYWx1ZSh2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLnN0YXJ0RGF0ZUlucHV0LnNldFZhbHVlKHZhbHVlKTtcclxuICAgIHRoaXMuX3N0YXJ0RGF0ZVZhbHVlID0gdmFsdWU7XHJcbiAgfVxyXG4gIGdldCBzdGFydERhdGVWYWx1ZSgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuX3N0YXJ0RGF0ZVZhbHVlO1xyXG4gIH1cclxuICBwcml2YXRlIF9zdGFydERhdGVWYWx1ZTogc3RyaW5nID0gdGhpcy5zdGFydERhdGU/LnRvTG9jYWxlRGF0ZVN0cmluZyh0aGlzLmxvY2FsZSkgPz8gJyc7XHJcblxyXG4gIHNldCBlbmREYXRlVmFsdWUodmFsdWU6IHN0cmluZykge1xyXG4gICAgdGhpcy5lbmREYXRlSW5wdXQuc2V0VmFsdWUodmFsdWUpO1xyXG4gICAgdGhpcy5fZW5kRGF0ZVZhbHVlID0gdmFsdWU7XHJcbiAgfVxyXG4gIGdldCBlbmREYXRlVmFsdWUoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLl9lbmREYXRlVmFsdWU7XHJcbiAgfVxyXG4gIHB1YmxpYyBfZW5kRGF0ZVZhbHVlOiBzdHJpbmcgPSB0aGlzLmVuZERhdGU/LnRvTG9jYWxlRGF0ZVN0cmluZyh0aGlzLmxvY2FsZSkgPz8gJyc7XHJcblxyXG4gIHB1YmxpYyBzdGFydERhdGVQbGFjZWhvbGRlcjogc3RyaW5nID0gdGhpcy5wbGFjZWhvbGRlclswXTtcclxuICBwdWJsaWMgZW5kRGF0ZVBsYWNlaG9sZGVyOiBzdHJpbmcgPSB0aGlzLnBsYWNlaG9sZGVyWzFdO1xyXG5cclxuICBwcml2YXRlIGxheW91dENoYW5nZXMhOiBTdWJzY3JpcHRpb247XHJcblxyXG4gIC8vIHRvZG86IHZhbGlkYXRpb25cclxuICBzdGFydERhdGVJbnB1dCA9IG5ldyBGb3JtQ29udHJvbCh7IHZhbHVlOiB0aGlzLnN0YXJ0RGF0ZVZhbHVlLCBkaXNhYmxlZDogdGhpcy5kaXNhYmxlZCB9LCBbXHJcbiAgICBWYWxpZGF0b3JzLnJlcXVpcmVkXHJcbiAgICAvLyBWYWxpZGF0b3JzLm1pbkxlbmd0aCg4KSxcclxuICAgIC8vIFZhbGlkYXRvcnMubWF4TGVuZ3RoKDEwKSxcclxuICAgIC8vIGludmFsaWREYXRlU3RyaW5nVmFsaWRhdG9yKHRoaXMubG9jYWxlKVxyXG4gIF0pO1xyXG4gIGVuZERhdGVJbnB1dCA9IG5ldyBGb3JtQ29udHJvbCh7IHZhbHVlOiB0aGlzLmVuZERhdGVWYWx1ZSwgZGlzYWJsZWQ6IHRoaXMuZGlzYWJsZWQgfSwgW1xyXG4gICAgVmFsaWRhdG9ycy5yZXF1aXJlZFxyXG4gICAgLy8gVmFsaWRhdG9ycy5taW5MZW5ndGgoOCksXHJcbiAgICAvLyBWYWxpZGF0b3JzLm1heExlbmd0aCgxMCksXHJcbiAgICAvLyBpbnZhbGlkRGF0ZVN0cmluZ1ZhbGlkYXRvcih0aGlzLmxvY2FsZSlcclxuICBdKTtcclxuICBkYXRlUmFuZ2VHcm91cCE6IEZvcm1Hcm91cDtcclxuXHJcbiAgc2V0IGlucHV0U3RhcnRIb3ZlclZhbHVlKHZhbHVlKSB7XHJcbiAgICB0aGlzLl9pbnB1dFN0YXJ0SG92ZXJWYWx1ZSA9IHZhbHVlO1xyXG4gIH1cclxuICBnZXQgaW5wdXRTdGFydEhvdmVyVmFsdWUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5faW5wdXRTdGFydEhvdmVyVmFsdWU7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2lucHV0U3RhcnRIb3ZlclZhbHVlITogRGF0ZSB8IG51bGw7XHJcblxyXG4gIHNldCBpbnB1dEVuZEhvdmVyVmFsdWUodmFsdWUpIHtcclxuICAgIHRoaXMuX2lucHV0RW5kSG92ZXJWYWx1ZSA9IHZhbHVlO1xyXG4gIH1cclxuICBnZXQgaW5wdXRFbmRIb3ZlclZhbHVlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2lucHV0RW5kSG92ZXJWYWx1ZTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfaW5wdXRFbmRIb3ZlclZhbHVlITogRGF0ZSB8IG51bGw7XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5sYXlvdXRDaGFuZ2VzID0gdGhpcy5icmVha3BvaW50T2JzZXJ2ZXIub2JzZXJ2ZShbXHJcbiAgICAgIEJyZWFrcG9pbnRzLkhhbmRzZXQsXHJcbiAgICAgIEJyZWFrcG9pbnRzLlRhYmxldFxyXG4gICAgXSkuc3Vic2NyaWJlKHJlc3VsdCA9PiB7XHJcbiAgICAgIHRoaXMuaXNNb2JpbGUgPSByZXN1bHQubWF0Y2hlcztcclxuICAgIH0pO1xyXG4gICAgdGhpcy5jdXN0b21SYW5nZXMgPSB0aGlzLnJhbmdlcyA/IE9iamVjdC5lbnRyaWVzKHRoaXMucmFuZ2VzKSA6IFtdO1xyXG5cclxuICAgIHRoaXMuc3RhcnREYXRlVmFsdWUgPSB0aGlzLnN0YXJ0RGF0ZT8udG9Mb2NhbGVEYXRlU3RyaW5nKHRoaXMubG9jYWxlKSA/PyAnJztcclxuICAgIHRoaXMuZW5kRGF0ZVZhbHVlID0gdGhpcy5lbmREYXRlPy50b0xvY2FsZURhdGVTdHJpbmcodGhpcy5sb2NhbGUpID8/ICcnO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLmxheW91dENoYW5nZXMudW5zdWJzY3JpYmUoKTtcclxuICB9XHJcblxyXG4gIGdldEN1c3RvbVJhbmdlS2V5KGN1c3RvbVJhbmdlOiBhbnkpIHtcclxuICAgIHJldHVybiBjdXN0b21SYW5nZVswXTtcclxuICB9XHJcblxyXG4gIHNldEN1c3RvbVJhbmdlKGN1c3RvbVJhbmdlOiBhbnkpIHtcclxuICAgIGNvbnN0IGtleSA9IHRoaXMuZ2V0Q3VzdG9tUmFuZ2VLZXkoY3VzdG9tUmFuZ2UpO1xyXG4gICAgdGhpcy5zdGFydERhdGUgPSBjdXN0b21SYW5nZVsxXVswXTtcclxuICAgIHRoaXMuZW5kRGF0ZSA9IGN1c3RvbVJhbmdlWzFdWzFdO1xyXG4gIH1cclxuXHJcbiAgaGFuZGxlQ2FsZW5kYXJDZWxsSG92ZXIoJGV2ZW50OiBEYXRlIHwgbnVsbCkge1xyXG4gICAgdGhpcy5jYWxlbmRhckNlbGxIb3Zlci5lbWl0KCRldmVudCk7XHJcbiAgICBpZiAoIXRoaXMuc3RhcnREYXRlKSB7XHJcbiAgICAgIHRoaXMuc2V0SW5wdXRWYWx1ZSh0aGlzLnN0YXJ0RGF0ZURpcmVjdGl2ZT8uZWxlbWVudFJlZiwgJGV2ZW50KTtcclxuICAgICAgdGhpcy5pbnB1dFN0YXJ0SG92ZXJWYWx1ZSA9ICRldmVudDtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgaWYgKCF0aGlzLmVuZERhdGUpIHtcclxuICAgICAgdGhpcy5zZXRJbnB1dFZhbHVlKHRoaXMuZW5kRGF0ZURpcmVjdGl2ZT8uZWxlbWVudFJlZiwgJGV2ZW50KTtcclxuICAgICAgdGhpcy5pbnB1dEVuZEhvdmVyVmFsdWUgPSAkZXZlbnQ7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGhhbmRsZUNhbGVuZGFyRGF0ZUNoYW5nZSgkZXZlbnQ6IERhdGUpIHtcclxuICAgIHRoaXMuY2FsZW5kYXJEYXRlQ2hhbmdlLmVtaXQoJGV2ZW50KTtcclxuICB9XHJcblxyXG4gIGhhbmRsZVN0YXJ0RGF0ZUNoYW5nZShkYXRlOiBEYXRlIHwgbnVsbCkge1xyXG4gICAgLy8gaWYgKGRhdGU/LmdldFRpbWUoKSAhPT0gdGhpcy5zdGFydERhdGU/LmdldFRpbWUoKSkge1xyXG4gICAgdGhpcy5zdGFydERhdGVDaGFuZ2UuZW1pdChkYXRlKTtcclxuICAgIHRoaXMuc3RhcnREYXRlVmFsdWUgPSBkYXRlID8gZGF0ZS50b0xvY2FsZURhdGVTdHJpbmcodGhpcy5sb2NhbGUpIDogJyc7XHJcbiAgICB0aGlzLmlucHV0U3RhcnRIb3ZlclZhbHVlID0gbnVsbDtcclxuICAgIHRoaXMudmFsdWUgPSB0aGlzLnN0YXJ0RGF0ZSAmJiB0aGlzLmVuZERhdGUgPyBbdGhpcy5zdGFydERhdGUsIHRoaXMuZW5kRGF0ZV0gOiBbXTtcclxuICAgIC8vIH1cclxuICB9XHJcblxyXG4gIGhhbmRsZUVuZERhdGVDaGFuZ2UoZGF0ZTogRGF0ZSB8IG51bGwpIHtcclxuICAgIC8vIGlmIChkYXRlPy5nZXRUaW1lKCkgIT09IHRoaXMuZW5kRGF0ZT8uZ2V0VGltZSgpKSB7XHJcbiAgICB0aGlzLmVuZERhdGVDaGFuZ2UuZW1pdChkYXRlKTtcclxuICAgIHRoaXMuZW5kRGF0ZVZhbHVlID0gZGF0ZSA/IGRhdGUudG9Mb2NhbGVEYXRlU3RyaW5nKHRoaXMubG9jYWxlKSA6ICcnO1xyXG4gICAgdGhpcy5pbnB1dEVuZEhvdmVyVmFsdWUgPSBudWxsO1xyXG4gICAgdGhpcy52YWx1ZSA9IHRoaXMuc3RhcnREYXRlICYmIHRoaXMuZW5kRGF0ZSA/IFt0aGlzLnN0YXJ0RGF0ZSwgdGhpcy5lbmREYXRlXSA6IFtdO1xyXG4gICAgLy8gfVxyXG4gIH1cclxuXHJcbiAgaGFuZGxlQ2xlYXIoJGV2ZW50OiBNb3VzZUV2ZW50KSB7XHJcbiAgICB0aGlzLmNhbGVuZGFyQ29tcG9uZW50Py5jbGVhckRhdGVzKCk7XHJcbiAgfVxyXG5cclxuICBoYW5kbGVTdGFydERhdGVJbnB1dENoYW5nZSgkZXZlbnQ6IGFueSkge1xyXG4gICAgY29uc3QgZGF0ZSA9IGdldExvY2FsRGF0ZUZyb21TdHJpbmcoJGV2ZW50LnRhcmdldD8udmFsdWUsIHRoaXMubG9jYWxlLCB0aGlzLnRpbWVwaWNrZXIpO1xyXG4gICAgaWYgKCFkYXRlKSB7XHJcbiAgICAgIHRoaXMuY2FsZW5kYXJDb21wb25lbnQ/LmNsZWFyRGF0ZXMoKTtcclxuICAgIH1cclxuICAgIGlmIChkYXRlIGluc3RhbmNlb2YgRGF0ZSAmJiBkYXRlLmdldFRpbWUoKSkge1xyXG4gICAgICBpZiAoISh0aGlzLmZvcmJpZGRlbkRhdGUoZGF0ZSkgfHwgKHRoaXMuZW5kRGF0ZSAmJiB0aGlzLmVuZERhdGUgPCBkYXRlKSkpIHtcclxuICAgICAgICB0aGlzLmNhbGVuZGFyRGF0ZSA9IGRhdGU7XHJcbiAgICAgICAgdGhpcy5zdGFydERhdGUgPSBkYXRlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICB0aGlzLnN0YXJ0RGF0ZVZhbHVlID0gdGhpcy5zdGFydERhdGU/LnRvTG9jYWxlRGF0ZVN0cmluZyh0aGlzLmxvY2FsZSkgPz8gJyc7XHJcbiAgfVxyXG5cclxuICBoYW5kbGVFbmREYXRlSW5wdXRDaGFuZ2UoJGV2ZW50OiBhbnkpIHtcclxuICAgIGNvbnN0IGRhdGUgPSBnZXRMb2NhbERhdGVGcm9tU3RyaW5nKCRldmVudC50YXJnZXQ/LnZhbHVlLCB0aGlzLmxvY2FsZSwgdGhpcy50aW1lcGlja2VyKTtcclxuICAgIGlmICghZGF0ZSkge1xyXG4gICAgICB0aGlzLmVuZERhdGUgPSBudWxsO1xyXG4gICAgfVxyXG4gICAgaWYgKGRhdGUgaW5zdGFuY2VvZiBEYXRlICYmIGRhdGUuZ2V0VGltZSgpKSB7XHJcbiAgICAgIGlmICghKHRoaXMuZm9yYmlkZGVuRGF0ZShkYXRlKSB8fCAodGhpcy5zdGFydERhdGUgJiYgdGhpcy5zdGFydERhdGUgPiBkYXRlKSkpIHtcclxuICAgICAgICB0aGlzLmNhbGVuZGFyRGF0ZSA9IGRhdGU7XHJcbiAgICAgICAgdGhpcy5lbmREYXRlID0gZGF0ZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGhpcy5lbmREYXRlVmFsdWUgPSB0aGlzLmVuZERhdGU/LnRvTG9jYWxlRGF0ZVN0cmluZyh0aGlzLmxvY2FsZSkgPz8gJyc7XHJcbiAgfVxyXG5cclxuICBmb3JiaWRkZW5EYXRlKGRhdGU6IERhdGUpIHtcclxuICAgIHJldHVybiBpc0RhdGVEaXNhYmxlZChkYXRlLCB0aGlzLm1pbkRhdGUsIHRoaXMubWF4RGF0ZSwgdGhpcy5kaXNhYmxlZERhdGVzKSAmJiAodGhpcy5kYXRlRmlsdGVyID8gIXRoaXMuZGF0ZUZpbHRlcihkYXRlKSA6IGZhbHNlKTtcclxuICB9XHJcblxyXG4gIHNldElucHV0VmFsdWUgPSAoZWxlbWVudFJlZjogRWxlbWVudFJlZiwgZGF0ZTogRGF0ZSB8IG51bGwpID0+IHtcclxuICAgIGlmICghZWxlbWVudFJlZikge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnZhbHVlID0gZGF0ZT8udG9Mb2NhbGVEYXRlU3RyaW5nKHRoaXMubG9jYWxlKSA/PyAnJztcclxuICAgIHJldHVybjtcclxuICB9O1xyXG5cclxuICBvbkNoYW5nZTogYW55ID0gKHZhbHVlOiBhbnkpID0+IHt9O1xyXG4gIG9uVG91Y2hlZDogYW55ID0gKCkgPT4ge307XHJcblxyXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcclxuICB9XHJcblxyXG4gIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XHJcbiAgfVxyXG5cclxuICB3cml0ZVZhbHVlKHZhbHVlOiAoRGF0ZVtdKSk6IHZvaWQge1xyXG4gICAgaWYgKHZhbHVlICE9PSBudWxsKSB7XHJcbiAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPGMtZHJvcGRvd24gI2Ryb3Bkb3duPVwiY0Ryb3Bkb3duXCIgW2F1dG9DbG9zZV09XCInb3V0c2lkZSdcIiBjbGFzcz1cImRhdGUtcGlja2VyIHBpY2tlclwiPlxyXG4gIDxjLWlucHV0LWdyb3VwIFtjYXJldF09XCJmYWxzZVwiXHJcbiAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkID8/IGRyb3Bkb3duLnZpc2libGVcIlxyXG4gICAgICAgICAgICAgICAgIFtzaXppbmddPVwic2l6ZSA/PyAnJ1wiXHJcbiAgICAgICAgICAgICAgICAgY0Ryb3Bkb3duVG9nZ2xlXHJcbiAgICAgICAgICAgICAgICAgY2xhc3M9XCJwaWNrZXItaW5wdXQtZ3JvdXBcIlxyXG4gID5cclxuICAgIDxpbnB1dCAoY2hhbmdlKT1cImhhbmRsZVN0YXJ0RGF0ZUlucHV0Q2hhbmdlKCRldmVudClcIlxyXG4gICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJzdGFydERhdGVJbnB1dFwiXHJcbiAgICAgICAgICAgW25nQ2xhc3NdPVwie2hvdmVyOiAhIWlucHV0U3RhcnRIb3ZlclZhbHVlfVwiXHJcbiAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cInN0YXJ0RGF0ZVBsYWNlaG9sZGVyID8/IHBsYWNlaG9sZGVyWzBdXCJcclxuICAgICAgICAgICBjRm9ybUNvbnRyb2xcclxuICAgICAgICAgICBjU3RhcnREYXRlXHJcbiAgICAgICAgICAgW2F0dHIudGFiaW5kZXhdPVwiZGlzYWJsZWQgPyAtMSA6IDBcIlxyXG4gICAgICAgICAgIFthdHRyLmRpc2FibGVkXT1cImRpc2FibGVkID8gJycgOiBudWxsXCJcclxuICAgICAgICAgICBwYXR0ZXJuPVwiWzEtOV0qXCJcclxuICAgICAgICAgICBbcmVhZG9ubHldPVwiaW5wdXRSZWFkT25seSA/PyBudWxsXCJcclxuICAgID5cclxuICAgIDxzcGFuICpuZ0lmPVwicmFuZ2UgJiYgc2VwYXJhdG9yICE9PSBmYWxzZVwiIGNJbnB1dEdyb3VwVGV4dD5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cInBpY2tlci1pbnB1dC1ncm91cC1pY29uIGRhdGUtcGlja2VyLWFycm93LWljb25cIj48L3NwYW4+XHJcbiAgICAgIDwvc3Bhbj5cclxuICAgIDxpbnB1dCAoY2hhbmdlKT1cImhhbmRsZUVuZERhdGVJbnB1dENoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgICAgICAqbmdJZj1cInJhbmdlXCJcclxuICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwiZW5kRGF0ZUlucHV0XCJcclxuICAgICAgICAgICBbbmdDbGFzc109XCJ7aG92ZXI6ICEhaW5wdXRFbmRIb3ZlclZhbHVlfVwiXHJcbiAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cImVuZERhdGVQbGFjZWhvbGRlciA/PyBwbGFjZWhvbGRlclsxXVwiXHJcbiAgICAgICAgICAgY0VuZERhdGVcclxuICAgICAgICAgICBjRm9ybUNvbnRyb2xcclxuICAgICAgICAgICBbYXR0ci50YWJpbmRleF09XCJkaXNhYmxlZCA/IC0xIDogMFwiXHJcbiAgICAgICAgICAgW2F0dHIuZGlzYWJsZWRdPVwiZGlzYWJsZWQgPyAnJyA6IG51bGxcIlxyXG4gICAgICAgICAgIHBhdHRlcm49XCJbMS05XSpcIlxyXG4gICAgICAgICAgIFtyZWFkb25seV09XCJpbnB1dFJlYWRPbmx5ID8/IG51bGxcIlxyXG4gICAgPlxyXG4gICAgPHNwYW4gKm5nSWY9XCJpbmRpY2F0b3IgfHwgY2xlYW5lclwiIGNJbnB1dEdyb3VwVGV4dD5cclxuICAgICAgPHNwYW4gKm5nSWY9XCJpbmRpY2F0b3JcIiBjbGFzcz1cInBpY2tlci1pbnB1dC1ncm91cC1pbmRpY2F0b3JcIj5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cInBpY2tlci1pbnB1dC1ncm91cC1pY29uIGRhdGUtcGlja2VyLWlucHV0LWljb25cIj48L3NwYW4+XHJcbiAgICAgIDwvc3Bhbj5cclxuICAgICAgPHNwYW4gKGNsaWNrKT1cIiFkaXNhYmxlZCAmJiBoYW5kbGVDbGVhcigkZXZlbnQpXCIgKm5nSWY9XCJjbGVhbmVyICYmIHN0YXJ0RGF0ZSAmJiFkaXNhYmxlZFwiIGNsYXNzPVwicGlja2VyLWlucHV0LWdyb3VwLWNsZWFuZXJcIlxyXG4gICAgICAgICAgICByb2xlPVwiYnV0dG9uXCI+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJwaWNrZXItaW5wdXQtZ3JvdXAtaWNvbiBkYXRlLXBpY2tlci1jbGVhbmVyLWljb25cIj48L3NwYW4+XHJcbiAgICAgIDwvc3Bhbj5cclxuICAgIDwvc3Bhbj5cclxuXHJcbiAgPC9jLWlucHV0LWdyb3VwPlxyXG4gIDxkaXYgW3Zpc2libGVdPVwidHJ1ZVwiIGNEcm9wZG93bk1lbnU+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZGF0ZS1waWNrZXItYm9keVwiPlxyXG4gICAgICA8bmctdGVtcGxhdGUgW25nSWZdPVwiIWlzTW9iaWxlXCI+XHJcbiAgICAgICAgPGRpdiAqbmdJZj1cInJhbmdlc1wiIGNsYXNzPVwiZGF0ZS1waWNrZXItcmFuZ2VzXCI+XHJcbiAgICAgICAgICA8YnV0dG9uIChjbGljayk9XCJzZXRDdXN0b21SYW5nZShjdXN0b21SYW5nZSlcIlxyXG4gICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgY3VzdG9tUmFuZ2Ugb2YgY3VzdG9tUmFuZ2VzXCJcclxuICAgICAgICAgICAgICAgICAgW2NvbG9yXT1cInJhbmdlc0J1dHRvbnNDb2xvclwiXHJcbiAgICAgICAgICAgICAgICAgIFtzaXplXT1cInJhbmdlc0J1dHRvbnNTaXplXCJcclxuICAgICAgICAgICAgICAgICAgW3ZhcmlhbnRdPVwicmFuZ2VzQnV0dG9uc1ZhcmlhbnRcIlxyXG4gICAgICAgICAgICAgICAgICBjQnV0dG9uPlxyXG4gICAgICAgICAgICB7e2dldEN1c3RvbVJhbmdlS2V5KGN1c3RvbVJhbmdlKX19XHJcbiAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgPGMtY2FsZW5kYXJcclxuICAgICAgICAoY2FsZW5kYXJDZWxsSG92ZXIpPVwiaGFuZGxlQ2FsZW5kYXJDZWxsSG92ZXIoJGV2ZW50KVwiXHJcbiAgICAgICAgKGNhbGVuZGFyRGF0ZUNoYW5nZSk9XCJoYW5kbGVDYWxlbmRhckRhdGVDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgICAgKGVuZERhdGVDaGFuZ2UpPVwiaGFuZGxlRW5kRGF0ZUNoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgICAoc3RhcnREYXRlQ2hhbmdlKT1cImhhbmRsZVN0YXJ0RGF0ZUNoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgICBbY2FsZW5kYXJEYXRlXT1cImNhbGVuZGFyRGF0ZVwiXHJcbiAgICAgICAgW2NhbGVuZGFyc109XCJpc01vYmlsZSA/IDEgOiBjYWxlbmRhcnNcIlxyXG4gICAgICAgIFtkYXRlRmlsdGVyXT1cImRhdGVGaWx0ZXJcIlxyXG4gICAgICAgIFtkaXNhYmxlZERhdGVzXT1cImRpc2FibGVkRGF0ZXNcIlxyXG4gICAgICAgIFtlbmREYXRlXT1cImVuZERhdGVcIlxyXG4gICAgICAgIFtmaXJzdERheU9mV2Vla109XCJmaXJzdERheU9mV2Vla1wiXHJcbiAgICAgICAgW2xvY2FsZV09XCJsb2NhbGVcIlxyXG4gICAgICAgIFttYXhEYXRlXT1cIm1heERhdGVcIlxyXG4gICAgICAgIFttaW5EYXRlXT1cIm1pbkRhdGVcIlxyXG4gICAgICAgIFtuYXZpZ2F0aW9uXT1cIm5hdmlnYXRpb25cIlxyXG4gICAgICAgIFtyYW5nZV09XCJyYW5nZVwiXHJcbiAgICAgICAgW3N0YXJ0RGF0ZV09XCJzdGFydERhdGVcIlxyXG4gICAgICAgIFtuYXZZZWFyRmlyc3RdPVwibmF2WWVhckZpcnN0XCJcclxuICAgICAgICBbZGF5Rm9ybWF0XT1cImRheUZvcm1hdFwiXHJcbiAgICAgICAgW3dlZWtkYXlGb3JtYXRdPVwid2Vla2RheUZvcm1hdFwiXHJcbiAgICAgICAgY2xhc3M9XCJkYXRlLXBpY2tlci1jYWxlbmRhcnNcIlxyXG4gICAgICA+PC9jLWNhbGVuZGFyPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG48L2MtZHJvcGRvd24+XHJcbiJdfQ==
|
|
@@ -12,8 +12,8 @@ import { EndDateDirective } from './end-date.directive';
|
|
|
12
12
|
import * as i0 from "@angular/core";
|
|
13
13
|
export class DateRangePickerModule {
|
|
14
14
|
}
|
|
15
|
-
DateRangePickerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
16
|
-
DateRangePickerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "
|
|
15
|
+
DateRangePickerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: DateRangePickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
16
|
+
DateRangePickerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.1.0", ngImport: i0, type: DateRangePickerModule, declarations: [DateRangePickerComponent,
|
|
17
17
|
StartDateDirective,
|
|
18
18
|
EndDateDirective], imports: [CommonModule,
|
|
19
19
|
FormsModule,
|
|
@@ -23,17 +23,15 @@ DateRangePickerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", v
|
|
|
23
23
|
SharedModule,
|
|
24
24
|
FormModule,
|
|
25
25
|
DropdownModule], exports: [DateRangePickerComponent] });
|
|
26
|
-
DateRangePickerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
]] });
|
|
36
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: DateRangePickerModule, decorators: [{
|
|
26
|
+
DateRangePickerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: DateRangePickerModule, imports: [CommonModule,
|
|
27
|
+
FormsModule,
|
|
28
|
+
ReactiveFormsModule,
|
|
29
|
+
ButtonModule,
|
|
30
|
+
CalendarModule,
|
|
31
|
+
SharedModule,
|
|
32
|
+
FormModule,
|
|
33
|
+
DropdownModule] });
|
|
34
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: DateRangePickerModule, decorators: [{
|
|
37
35
|
type: NgModule,
|
|
38
36
|
args: [{
|
|
39
37
|
declarations: [
|
|
@@ -56,4 +54,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
56
54
|
]
|
|
57
55
|
}]
|
|
58
56
|
}] });
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
57
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1yYW5nZS1waWNrZXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZXVpLWFuZ3VsYXIvc3JjL2xpYi9kYXRlLXJhbmdlLXBpY2tlci9kYXRlLXJhbmdlLXBpY2tlci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWxFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQzNGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDekMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM3QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDckMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM3QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7QUFzQnhELE1BQU0sT0FBTyxxQkFBcUI7O2tIQUFyQixxQkFBcUI7bUhBQXJCLHFCQUFxQixpQkFsQjlCLHdCQUF3QjtRQUN4QixrQkFBa0I7UUFDbEIsZ0JBQWdCLGFBR2hCLFlBQVk7UUFDWixXQUFXO1FBQ1gsbUJBQW1CO1FBQ25CLFlBQVk7UUFDWixjQUFjO1FBQ2QsWUFBWTtRQUNaLFVBQVU7UUFDVixjQUFjLGFBR2Qsd0JBQXdCO21IQUdmLHFCQUFxQixZQWI5QixZQUFZO1FBQ1osV0FBVztRQUNYLG1CQUFtQjtRQUNuQixZQUFZO1FBQ1osY0FBYztRQUNkLFlBQVk7UUFDWixVQUFVO1FBQ1YsY0FBYzsyRkFNTCxxQkFBcUI7a0JBcEJqQyxRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRTt3QkFDWix3QkFBd0I7d0JBQ3hCLGtCQUFrQjt3QkFDbEIsZ0JBQWdCO3FCQUNqQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixXQUFXO3dCQUNYLG1CQUFtQjt3QkFDbkIsWUFBWTt3QkFDWixjQUFjO3dCQUNkLFlBQVk7d0JBQ1osVUFBVTt3QkFDVixjQUFjO3FCQUNmO29CQUNELE9BQU8sRUFBRTt3QkFDUCx3QkFBd0I7cUJBQ3pCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcblxyXG5pbXBvcnQgeyBEYXRlUmFuZ2VQaWNrZXJDb21wb25lbnQgfSBmcm9tICcuL2RhdGUtcmFuZ2UtcGlja2VyL2RhdGUtcmFuZ2UtcGlja2VyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJ1dHRvbk1vZHVsZSB9IGZyb20gJy4uL2J1dHRvbic7XHJcbmltcG9ydCB7IENhbGVuZGFyTW9kdWxlIH0gZnJvbSAnLi4vY2FsZW5kYXInO1xyXG5pbXBvcnQgeyBTaGFyZWRNb2R1bGUgfSBmcm9tICcuLi9zaGFyZWQnO1xyXG5pbXBvcnQgeyBGb3JtTW9kdWxlIH0gZnJvbSAnLi4vZm9ybSc7XHJcbmltcG9ydCB7IERyb3Bkb3duTW9kdWxlIH0gZnJvbSAnLi4vZHJvcGRvd24nO1xyXG5pbXBvcnQgeyBTdGFydERhdGVEaXJlY3RpdmUgfSBmcm9tICcuL3N0YXJ0LWRhdGUuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgRW5kRGF0ZURpcmVjdGl2ZSB9IGZyb20gJy4vZW5kLWRhdGUuZGlyZWN0aXZlJztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICBEYXRlUmFuZ2VQaWNrZXJDb21wb25lbnQsXHJcbiAgICBTdGFydERhdGVEaXJlY3RpdmUsXHJcbiAgICBFbmREYXRlRGlyZWN0aXZlXHJcbiAgXSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICBCdXR0b25Nb2R1bGUsXHJcbiAgICBDYWxlbmRhck1vZHVsZSxcclxuICAgIFNoYXJlZE1vZHVsZSxcclxuICAgIEZvcm1Nb2R1bGUsXHJcbiAgICBEcm9wZG93bk1vZHVsZVxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgRGF0ZVJhbmdlUGlja2VyQ29tcG9uZW50XHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRGF0ZVJhbmdlUGlja2VyTW9kdWxlIHtcclxufVxyXG4iXX0=
|
|
@@ -5,13 +5,13 @@ export class EndDateDirective {
|
|
|
5
5
|
this.elementRef = elementRef;
|
|
6
6
|
}
|
|
7
7
|
}
|
|
8
|
-
EndDateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
9
|
-
EndDateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "
|
|
10
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
8
|
+
EndDateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: EndDateDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
9
|
+
EndDateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.1.0", type: EndDateDirective, selector: "[cEndDate]", exportAs: ["cEndDate"], ngImport: i0 });
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: EndDateDirective, decorators: [{
|
|
11
11
|
type: Directive,
|
|
12
12
|
args: [{
|
|
13
13
|
selector: '[cEndDate]',
|
|
14
14
|
exportAs: 'cEndDate'
|
|
15
15
|
}]
|
|
16
16
|
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; } });
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5kLWRhdGUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZXVpLWFuZ3VsYXIvc3JjL2xpYi9kYXRlLXJhbmdlLXBpY2tlci9lbmQtZGF0ZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxNQUFNLGVBQWUsQ0FBQzs7QUFNdEQsTUFBTSxPQUFPLGdCQUFnQjtJQUUzQixZQUNTLFVBQXNCO1FBQXRCLGVBQVUsR0FBVixVQUFVLENBQVk7SUFDM0IsQ0FBQzs7NkdBSk0sZ0JBQWdCO2lHQUFoQixnQkFBZ0I7MkZBQWhCLGdCQUFnQjtrQkFKNUIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsWUFBWTtvQkFDdEIsUUFBUSxFQUFFLFVBQVU7aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogJ1tjRW5kRGF0ZV0nLFxyXG4gIGV4cG9ydEFzOiAnY0VuZERhdGUnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFbmREYXRlRGlyZWN0aXZlIHtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgZWxlbWVudFJlZjogRWxlbWVudFJlZlxyXG4gICkgeyB9XHJcblxyXG59XHJcbiJdfQ==
|
|
@@ -5,13 +5,13 @@ export class StartDateDirective {
|
|
|
5
5
|
this.elementRef = elementRef;
|
|
6
6
|
}
|
|
7
7
|
}
|
|
8
|
-
StartDateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
9
|
-
StartDateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "
|
|
10
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
8
|
+
StartDateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: StartDateDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
9
|
+
StartDateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.1.0", type: StartDateDirective, selector: "[cStartDate]", exportAs: ["cStartDate"], ngImport: i0 });
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: StartDateDirective, decorators: [{
|
|
11
11
|
type: Directive,
|
|
12
12
|
args: [{
|
|
13
13
|
selector: '[cStartDate]',
|
|
14
14
|
exportAs: 'cStartDate'
|
|
15
15
|
}]
|
|
16
16
|
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; } });
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhcnQtZGF0ZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JldWktYW5ndWxhci9zcmMvbGliL2RhdGUtcmFuZ2UtcGlja2VyL3N0YXJ0LWRhdGUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsTUFBTSxlQUFlLENBQUM7O0FBTXRELE1BQU0sT0FBTyxrQkFBa0I7SUFFN0IsWUFDUyxVQUFzQjtRQUF0QixlQUFVLEdBQVYsVUFBVSxDQUFZO0lBQzNCLENBQUM7OytHQUpNLGtCQUFrQjttR0FBbEIsa0JBQWtCOzJGQUFsQixrQkFBa0I7a0JBSjlCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGNBQWM7b0JBQ3hCLFFBQVEsRUFBRSxZQUFZO2lCQUN2QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbY1N0YXJ0RGF0ZV0nLFxyXG4gIGV4cG9ydEFzOiAnY1N0YXJ0RGF0ZSdcclxufSlcclxuZXhwb3J0IGNsYXNzIFN0YXJ0RGF0ZURpcmVjdGl2ZSB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWZcclxuICApIHsgfVxyXG5cclxufVxyXG4iXX0=
|