slick-components 4.4.13 → 4.4.16
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/css/slick-components.css +598 -365
- package/css/slick-components.min.css +1 -1
- package/esm2020/public-api.mjs +43 -0
- package/esm2020/slick-accordion/slick-accordion-item-header.component.mjs +14 -0
- package/esm2020/slick-accordion/slick-accordion-item.component.mjs +86 -0
- package/esm2020/slick-accordion/slick-accordion.component.mjs +75 -0
- package/esm2020/slick-accordion/slick-accordion.module.mjs +23 -0
- package/esm2020/slick-auto-complete/slick-auto-complete-list-item-template.directive.mjs +22 -0
- package/esm2020/slick-auto-complete/slick-auto-complete.component.mjs +375 -0
- package/esm2020/slick-auto-complete/slick-auto-complete.module.mjs +24 -0
- package/esm2020/slick-button-spinner/slick-button-spinner.component.mjs +175 -0
- package/esm2020/slick-button-spinner/slick-button-spinner.module.mjs +19 -0
- package/esm2020/slick-calendar/slick-calendar.component.mjs +246 -0
- package/esm2020/slick-calendar/slick-calendar.module.mjs +19 -0
- package/esm2020/slick-card/slick-card-header.component.mjs +14 -0
- package/esm2020/slick-card/slick-card.component.mjs +42 -0
- package/esm2020/slick-card/slick-card.module.mjs +20 -0
- package/esm2020/slick-components.mjs +5 -0
- package/esm2020/slick-confirm-dialog/slick-confirm-dialog.component.mjs +65 -0
- package/esm2020/slick-confirm-dialog/slick-confirm-dialog.module.mjs +20 -0
- package/esm2020/slick-container/slick-container-body.component.mjs +24 -0
- package/esm2020/slick-container/slick-container-footer.component.mjs +20 -0
- package/esm2020/slick-container/slick-container-header.component.mjs +20 -0
- package/esm2020/slick-container/slick-container.component.mjs +21 -0
- package/esm2020/slick-container/slick-container.module.mjs +25 -0
- package/esm2020/slick-context-menu/slick-context-menu-item.component.mjs +14 -0
- package/esm2020/slick-context-menu/slick-context-menu.component.mjs +48 -0
- package/esm2020/slick-context-menu/slick-context-menu.module.mjs +20 -0
- package/{esm2015/slick-currency-mask/slick-currency-mask-options.model.js → esm2020/slick-currency-mask/slick-currency-mask-options.model.mjs} +0 -0
- package/esm2020/slick-currency-mask/slick-currency-mask.directive.mjs +233 -0
- package/esm2020/slick-currency-mask/slick-currency-mask.module.mjs +19 -0
- package/esm2020/slick-date-picker/slick-date-picker.component.mjs +278 -0
- package/esm2020/slick-date-picker/slick-date-picker.module.mjs +21 -0
- package/esm2020/slick-dialog/slick-dialog-footer.component.mjs +24 -0
- package/esm2020/slick-dialog/slick-dialog.component.mjs +294 -0
- package/esm2020/slick-dialog/slick-dialog.module.mjs +23 -0
- package/esm2020/slick-dialog/slick-dialog.service.mjs +68 -0
- package/esm2020/slick-drag-drop/slick-drag-drop.directive.mjs +13 -0
- package/esm2020/slick-drag-drop/slick-drag-drop.module.mjs +21 -0
- package/esm2020/slick-drag-drop/slick-draggable.directive.mjs +13 -0
- package/{esm2015/slick-drop-down/slick-drop-down-button.model.js → esm2020/slick-drop-down/slick-drop-down-button.model.mjs} +0 -0
- package/esm2020/slick-drop-down/slick-drop-down.component.mjs +479 -0
- package/esm2020/slick-drop-down/slick-drop-down.module.mjs +24 -0
- package/esm2020/slick-drop-down/slick-drop-down.service.mjs +55 -0
- package/esm2020/slick-drop-list/slick-drop-list-grab.directive.mjs +18 -0
- package/esm2020/slick-drop-list/slick-drop-list-item.directive.mjs +18 -0
- package/esm2020/slick-drop-list/slick-drop-list.directive.mjs +215 -0
- package/esm2020/slick-drop-list/slick-drop-list.module.mjs +23 -0
- package/esm2020/slick-email-viewer/slick-email-viewer-dialog.component.mjs +81 -0
- package/esm2020/slick-email-viewer/slick-email-viewer.component.mjs +42 -0
- package/esm2020/slick-email-viewer/slick-email-viewer.module.mjs +26 -0
- package/{esm2015/slick-emailer/slick-emailer-address.model.js → esm2020/slick-emailer/slick-emailer-address.model.mjs} +0 -0
- package/esm2020/slick-emailer/slick-emailer-dialog.component.mjs +153 -0
- package/esm2020/slick-emailer/slick-emailer.component.mjs +235 -0
- package/{esm2015/slick-emailer/slick-emailer.model.js → esm2020/slick-emailer/slick-emailer.model.mjs} +0 -0
- package/esm2020/slick-emailer/slick-emailer.module.mjs +29 -0
- package/esm2020/slick-file-drop/slick-file-drop.component.mjs +156 -0
- package/esm2020/slick-file-drop/slick-file-drop.module.mjs +20 -0
- package/esm2020/slick-file-list/slick-file-list-item.component.mjs +173 -0
- package/esm2020/slick-file-list/slick-file-list.component.mjs +130 -0
- package/esm2020/slick-file-list/slick-file-list.module.mjs +23 -0
- package/{esm2015/slick-file-model/slick-file.model.js → esm2020/slick-file-model/slick-file.model.mjs} +0 -0
- package/esm2020/slick-google-address-search/slick-google-address-search.directive.mjs +75 -0
- package/esm2020/slick-google-address-search/slick-google-address-search.module.mjs +19 -0
- package/esm2020/slick-google-map/slick-google-map-dialog.component.mjs +50 -0
- package/esm2020/slick-google-map/slick-google-map.component.mjs +48 -0
- package/esm2020/slick-google-map/slick-google-map.module.mjs +22 -0
- package/esm2020/slick-grid/slick-grid-column-template.directive.mjs +19 -0
- package/{esm2015/slick-grid/slick-grid-column.model.js → esm2020/slick-grid/slick-grid-column.model.mjs} +0 -0
- package/{esm2015/slick-grid/slick-grid-favorite.model.js → esm2020/slick-grid/slick-grid-favorite.model.mjs} +0 -0
- package/{esm2015/slick-grid/slick-grid-request.model.js → esm2020/slick-grid/slick-grid-request.model.mjs} +0 -0
- package/{esm2015/slick-grid/slick-grid-response.model.js → esm2020/slick-grid/slick-grid-response.model.mjs} +0 -0
- package/esm2020/slick-grid/slick-grid-sanitize.pipe.mjs +20 -0
- package/esm2020/slick-grid/slick-grid.component.mjs +793 -0
- package/esm2020/slick-grid/slick-grid.module.mjs +43 -0
- package/{esm2015/slick-grid/slick-grid.options.js → esm2020/slick-grid/slick-grid.options.mjs} +0 -0
- package/esm2020/slick-grid/slick-grid.service.mjs +66 -0
- package/esm2020/slick-multi-select/slick-multi-select.component.mjs +362 -0
- package/esm2020/slick-multi-select/slick-multi-select.module.mjs +20 -0
- package/esm2020/slick-multi-select/slick-multi-select.service.mjs +77 -0
- package/esm2020/slick-ordered-list/slick-ordered-list.component.mjs +200 -0
- package/esm2020/slick-ordered-list/slick-ordered-list.module.mjs +20 -0
- package/esm2020/slick-paging/slick-paging.component.mjs +185 -0
- package/esm2020/slick-paging/slick-paging.module.mjs +19 -0
- package/esm2020/slick-photo-gallery/slick-photo-gallery.component.mjs +98 -0
- package/{esm2015/slick-photo-gallery/slick-photo-gallery.model.js → esm2020/slick-photo-gallery/slick-photo-gallery.model.mjs} +0 -0
- package/esm2020/slick-photo-gallery/slick-photo-gallery.module.mjs +21 -0
- package/esm2020/slick-pick-list/slick-pick-list.component.mjs +84 -0
- package/esm2020/slick-pick-list/slick-pick-list.module.mjs +20 -0
- package/esm2020/slick-popover/slick-popover.component.mjs +204 -0
- package/esm2020/slick-popover/slick-popover.module.mjs +19 -0
- package/esm2020/slick-profile-picture/slick-profile-picture.component.mjs +267 -0
- package/esm2020/slick-profile-picture/slick-profile-picture.module.mjs +20 -0
- package/esm2020/slick-progress-bar/slick-progress-bar.module.mjs +18 -0
- package/esm2020/slick-progress-bar/slick-progress-bar.service.mjs +53 -0
- package/esm2020/slick-screen-blocker/slick-screen-blocker.module.mjs +18 -0
- package/esm2020/slick-screen-blocker/slick-screen-blocker.service.mjs +83 -0
- package/{esm2015/slick-slider/slick-slider-tick.model.js → esm2020/slick-slider/slick-slider-tick.model.mjs} +0 -0
- package/esm2020/slick-slider/slick-slider.component.mjs +90 -0
- package/esm2020/slick-slider/slick-slider.module.mjs +20 -0
- package/esm2020/slick-split-screen/slick-screen-split-left-content.component.mjs +15 -0
- package/esm2020/slick-split-screen/slick-screen-split-right-content.component.mjs +15 -0
- package/esm2020/slick-split-screen/slick-split-screen.component.mjs +159 -0
- package/esm2020/slick-split-screen/slick-split-screen.module.mjs +21 -0
- package/esm2020/slick-tabs/slick-tab-header.component.mjs +28 -0
- package/esm2020/slick-tabs/slick-tab.component.mjs +63 -0
- package/{esm2015/slick-tabs/slick-tab.model.js → esm2020/slick-tabs/slick-tab.model.mjs} +0 -0
- package/esm2020/slick-tabs/slick-tabs.component.mjs +107 -0
- package/esm2020/slick-tabs/slick-tabs.module.mjs +23 -0
- package/esm2020/slick-toast/slick-toast.module.mjs +18 -0
- package/esm2020/slick-toast/slick-toast.service.mjs +88 -0
- package/{esm2015/slick-tree-view/slick-tree-node.model.js → esm2020/slick-tree-view/slick-tree-node.model.mjs} +0 -0
- package/esm2020/slick-tree-view/slick-tree-view.component.mjs +293 -0
- package/esm2020/slick-tree-view/slick-tree-view.module.mjs +22 -0
- package/esm2020/slick-type-ahead/slick-type-ahead.directive.mjs +164 -0
- package/esm2020/slick-type-ahead/slick-type-ahead.module.mjs +18 -0
- package/esm2020/slick-validation-indicator/slick-validation-indicator.directive.mjs +63 -0
- package/esm2020/slick-validation-indicator/slick-validation-indicator.module.mjs +19 -0
- package/esm2020/utils/slick-function-lock.service.mjs +55 -0
- package/esm2020/utils/slick-init.service.mjs +49 -0
- package/esm2020/utils/slick-log.service.mjs +23 -0
- package/esm2020/utils/slick-sleep.service.mjs +14 -0
- package/esm2020/utils/slick-utils.service.mjs +247 -0
- package/fesm2015/{slick-components.js → slick-components.mjs} +2779 -2070
- package/fesm2015/slick-components.mjs.map +1 -0
- package/fesm2020/slick-components.mjs +8467 -0
- package/fesm2020/slick-components.mjs.map +1 -0
- package/package.json +20 -8
- package/public-api.d.ts +8 -8
- package/slick-accordion/slick-accordion-item-header.component.d.ts +3 -0
- package/slick-accordion/slick-accordion-item.component.d.ts +3 -0
- package/slick-accordion/slick-accordion.component.d.ts +3 -0
- package/slick-accordion/slick-accordion.module.d.ts +8 -0
- package/slick-auto-complete/slick-auto-complete-list-item-template.directive.d.ts +3 -0
- package/slick-auto-complete/slick-auto-complete.component.d.ts +3 -0
- package/slick-auto-complete/slick-auto-complete.module.d.ts +8 -0
- package/slick-button-spinner/slick-button-spinner.component.d.ts +3 -0
- package/slick-button-spinner/slick-button-spinner.module.d.ts +6 -0
- package/slick-calendar/slick-calendar.component.d.ts +3 -0
- package/slick-calendar/slick-calendar.module.d.ts +6 -0
- package/slick-card/slick-card-header.component.d.ts +3 -0
- package/slick-card/slick-card.component.d.ts +3 -0
- package/slick-card/slick-card.module.d.ts +10 -0
- package/slick-components.d.ts +1 -22
- package/slick-confirm-dialog/slick-confirm-dialog.component.d.ts +3 -0
- package/slick-confirm-dialog/slick-confirm-dialog.module.d.ts +7 -0
- package/slick-container/slick-container-body.component.d.ts +3 -0
- package/slick-container/slick-container-footer.component.d.ts +3 -0
- package/slick-container/slick-container-header.component.d.ts +3 -0
- package/slick-container/slick-container.component.d.ts +3 -0
- package/slick-container/slick-container.module.d.ts +9 -0
- package/slick-context-menu/slick-context-menu-item.component.d.ts +3 -0
- package/slick-context-menu/slick-context-menu.component.d.ts +3 -0
- package/slick-context-menu/slick-context-menu.module.d.ts +7 -0
- package/slick-currency-mask/slick-currency-mask.directive.d.ts +3 -0
- package/slick-currency-mask/slick-currency-mask.module.d.ts +5 -0
- package/slick-date-picker/slick-date-picker.component.d.ts +3 -0
- package/slick-date-picker/slick-date-picker.module.d.ts +8 -0
- package/slick-dialog/slick-dialog-footer.component.d.ts +3 -0
- package/slick-dialog/slick-dialog.component.d.ts +3 -0
- package/slick-dialog/slick-dialog.module.d.ts +10 -1
- package/slick-dialog/slick-dialog.service.d.ts +3 -0
- package/slick-drag-drop/slick-drag-drop.directive.d.ts +3 -0
- package/slick-drag-drop/slick-drag-drop.module.d.ts +11 -0
- package/slick-drag-drop/slick-draggable.directive.d.ts +3 -0
- package/slick-drop-down/slick-drop-down.component.d.ts +3 -0
- package/slick-drop-down/slick-drop-down.module.d.ts +9 -0
- package/slick-drop-down/slick-drop-down.service.d.ts +3 -0
- package/slick-drop-list/slick-drop-list-grab.directive.d.ts +3 -0
- package/slick-drop-list/slick-drop-list-item.directive.d.ts +3 -0
- package/slick-drop-list/slick-drop-list.directive.d.ts +13 -7
- package/slick-drop-list/slick-drop-list.module.d.ts +14 -0
- package/slick-email-viewer/slick-email-viewer-dialog.component.d.ts +3 -0
- package/slick-email-viewer/slick-email-viewer.component.d.ts +3 -0
- package/slick-email-viewer/slick-email-viewer.module.d.ts +10 -0
- package/slick-emailer/slick-emailer-dialog.component.d.ts +3 -0
- package/slick-emailer/slick-emailer.component.d.ts +3 -0
- package/slick-emailer/slick-emailer.module.d.ts +13 -0
- package/slick-file-drop/slick-file-drop.component.d.ts +3 -0
- package/slick-file-drop/slick-file-drop.module.d.ts +7 -0
- package/slick-file-list/slick-file-list-item.component.d.ts +3 -0
- package/slick-file-list/slick-file-list.component.d.ts +3 -0
- package/slick-file-list/slick-file-list.module.d.ts +10 -0
- package/slick-google-address-search/slick-google-address-search.directive.d.ts +3 -0
- package/slick-google-address-search/slick-google-address-search.module.d.ts +6 -0
- package/slick-google-map/slick-google-map-dialog.component.d.ts +3 -0
- package/slick-google-map/slick-google-map.component.d.ts +3 -0
- package/slick-google-map/slick-google-map.module.d.ts +8 -0
- package/slick-grid/slick-grid-column-template.directive.d.ts +3 -0
- package/slick-grid/slick-grid-sanitize.pipe.d.ts +3 -0
- package/slick-grid/slick-grid.component.d.ts +3 -0
- package/slick-grid/slick-grid.module.d.ts +16 -0
- package/slick-grid/slick-grid.service.d.ts +3 -0
- package/slick-multi-select/slick-multi-select.component.d.ts +3 -0
- package/slick-multi-select/slick-multi-select.module.d.ts +7 -0
- package/slick-multi-select/slick-multi-select.service.d.ts +3 -0
- package/slick-ordered-list/slick-ordered-list.component.d.ts +3 -0
- package/slick-ordered-list/slick-ordered-list.module.d.ts +7 -0
- package/slick-paging/slick-paging.component.d.ts +3 -0
- package/slick-paging/slick-paging.module.d.ts +6 -0
- package/slick-photo-gallery/slick-photo-gallery.component.d.ts +3 -0
- package/slick-photo-gallery/slick-photo-gallery.module.d.ts +6 -0
- package/slick-pick-list/slick-pick-list.component.d.ts +3 -0
- package/slick-pick-list/slick-pick-list.module.d.ts +7 -0
- package/slick-popover/slick-popover.component.d.ts +3 -0
- package/slick-popover/slick-popover.module.d.ts +6 -0
- package/slick-profile-picture/slick-profile-picture.component.d.ts +3 -0
- package/slick-profile-picture/slick-profile-picture.module.d.ts +7 -0
- package/slick-progress-bar/slick-progress-bar.module.d.ts +5 -0
- package/slick-progress-bar/slick-progress-bar.service.d.ts +3 -0
- package/slick-screen-blocker/slick-screen-blocker.module.d.ts +5 -0
- package/slick-screen-blocker/slick-screen-blocker.service.d.ts +3 -0
- package/slick-slider/slick-slider.component.d.ts +3 -0
- package/slick-slider/slick-slider.module.d.ts +6 -0
- package/slick-split-screen/slick-screen-split-left-content.component.d.ts +3 -0
- package/slick-split-screen/slick-screen-split-right-content.component.d.ts +3 -0
- package/slick-split-screen/slick-split-screen.component.d.ts +3 -0
- package/slick-split-screen/slick-split-screen.module.d.ts +8 -0
- package/slick-tabs/slick-tab-header.component.d.ts +3 -0
- package/slick-tabs/slick-tab.component.d.ts +3 -0
- package/slick-tabs/slick-tabs.component.d.ts +3 -0
- package/slick-tabs/slick-tabs.module.d.ts +10 -0
- package/slick-toast/slick-toast.module.d.ts +5 -0
- package/slick-toast/slick-toast.service.d.ts +3 -0
- package/slick-tree-view/slick-tree-view.component.d.ts +3 -0
- package/slick-tree-view/slick-tree-view.module.d.ts +8 -0
- package/slick-type-ahead/slick-type-ahead.directive.d.ts +3 -0
- package/slick-type-ahead/slick-type-ahead.module.d.ts +5 -0
- package/slick-validation-indicator/slick-validation-indicator.directive.d.ts +3 -0
- package/slick-validation-indicator/slick-validation-indicator.module.d.ts +6 -0
- package/utils/slick-function-lock.service.d.ts +3 -0
- package/utils/slick-init.service.d.ts +3 -0
- package/utils/slick-log.service.d.ts +3 -0
- package/utils/slick-sleep.service.d.ts +3 -0
- package/utils/slick-utils.service.d.ts +5 -0
- package/bundles/slick-components.umd.js +0 -9777
- package/bundles/slick-components.umd.js.map +0 -1
- package/esm2015/public-api.js +0 -43
- package/esm2015/slick-accordion/slick-accordion-item-header.component.js +0 -10
- package/esm2015/slick-accordion/slick-accordion-item.component.js +0 -80
- package/esm2015/slick-accordion/slick-accordion.component.js +0 -77
- package/esm2015/slick-accordion/slick-accordion.module.js +0 -18
- package/esm2015/slick-auto-complete/slick-auto-complete-list-item-template.directive.js +0 -21
- package/esm2015/slick-auto-complete/slick-auto-complete.component.js +0 -352
- package/esm2015/slick-auto-complete/slick-auto-complete.module.js +0 -19
- package/esm2015/slick-button-spinner/slick-button-spinner.component.js +0 -186
- package/esm2015/slick-button-spinner/slick-button-spinner.module.js +0 -14
- package/esm2015/slick-calendar/slick-calendar.component.js +0 -233
- package/esm2015/slick-calendar/slick-calendar.module.js +0 -14
- package/esm2015/slick-card/slick-card-header.component.js +0 -10
- package/esm2015/slick-card/slick-card.component.js +0 -37
- package/esm2015/slick-card/slick-card.module.js +0 -14
- package/esm2015/slick-components.js +0 -27
- package/esm2015/slick-confirm-dialog/slick-confirm-dialog.component.js +0 -62
- package/esm2015/slick-confirm-dialog/slick-confirm-dialog.module.js +0 -15
- package/esm2015/slick-container/slick-container-body.component.js +0 -18
- package/esm2015/slick-container/slick-container-footer.component.js +0 -16
- package/esm2015/slick-container/slick-container-header.component.js +0 -16
- package/esm2015/slick-container/slick-container.component.js +0 -19
- package/esm2015/slick-container/slick-container.module.js +0 -20
- package/esm2015/slick-context-menu/slick-context-menu-item.component.js +0 -10
- package/esm2015/slick-context-menu/slick-context-menu.component.js +0 -43
- package/esm2015/slick-context-menu/slick-context-menu.module.js +0 -15
- package/esm2015/slick-currency-mask/slick-currency-mask.directive.js +0 -234
- package/esm2015/slick-currency-mask/slick-currency-mask.module.js +0 -14
- package/esm2015/slick-date-picker/slick-date-picker.component.js +0 -267
- package/esm2015/slick-date-picker/slick-date-picker.module.js +0 -16
- package/esm2015/slick-dialog/slick-dialog-footer.component.js +0 -18
- package/esm2015/slick-dialog/slick-dialog.component.js +0 -282
- package/esm2015/slick-dialog/slick-dialog.module.js +0 -18
- package/esm2015/slick-dialog/slick-dialog.service.js +0 -67
- package/esm2015/slick-drag-drop/slick-drag-drop.directive.js +0 -9
- package/esm2015/slick-drag-drop/slick-drag-drop.module.js +0 -14
- package/esm2015/slick-drag-drop/slick-draggable.directive.js +0 -9
- package/esm2015/slick-drop-down/slick-drop-down.component.js +0 -465
- package/esm2015/slick-drop-down/slick-drop-down.module.js +0 -19
- package/esm2015/slick-drop-down/slick-drop-down.service.js +0 -59
- package/esm2015/slick-drop-list/slick-drop-list-grab.directive.js +0 -18
- package/esm2015/slick-drop-list/slick-drop-list-item.directive.js +0 -18
- package/esm2015/slick-drop-list/slick-drop-list.directive.js +0 -162
- package/esm2015/slick-drop-list/slick-drop-list.module.js +0 -15
- package/esm2015/slick-email-viewer/slick-email-viewer-dialog.component.js +0 -61
- package/esm2015/slick-email-viewer/slick-email-viewer.component.js +0 -39
- package/esm2015/slick-email-viewer/slick-email-viewer.module.js +0 -21
- package/esm2015/slick-emailer/slick-emailer-dialog.component.js +0 -122
- package/esm2015/slick-emailer/slick-emailer.component.js +0 -226
- package/esm2015/slick-emailer/slick-emailer.module.js +0 -24
- package/esm2015/slick-file-drop/slick-file-drop.component.js +0 -144
- package/esm2015/slick-file-drop/slick-file-drop.module.js +0 -15
- package/esm2015/slick-file-list/slick-file-list-item.component.js +0 -156
- package/esm2015/slick-file-list/slick-file-list.component.js +0 -114
- package/esm2015/slick-file-list/slick-file-list.module.js +0 -18
- package/esm2015/slick-google-address-search/slick-google-address-search.directive.js +0 -75
- package/esm2015/slick-google-address-search/slick-google-address-search.module.js +0 -14
- package/esm2015/slick-google-map/slick-google-map-dialog.component.js +0 -45
- package/esm2015/slick-google-map/slick-google-map.component.js +0 -45
- package/esm2015/slick-google-map/slick-google-map.module.js +0 -17
- package/esm2015/slick-grid/slick-grid-column-template.directive.js +0 -19
- package/esm2015/slick-grid/slick-grid-sanitize.pipe.js +0 -20
- package/esm2015/slick-grid/slick-grid.component.js +0 -792
- package/esm2015/slick-grid/slick-grid.module.js +0 -38
- package/esm2015/slick-grid/slick-grid.service.js +0 -72
- package/esm2015/slick-multi-select/slick-multi-select.component.js +0 -356
- package/esm2015/slick-multi-select/slick-multi-select.module.js +0 -15
- package/esm2015/slick-multi-select/slick-multi-select.service.js +0 -74
- package/esm2015/slick-ordered-list/slick-ordered-list.component.js +0 -198
- package/esm2015/slick-ordered-list/slick-ordered-list.module.js +0 -15
- package/esm2015/slick-paging/slick-paging.component.js +0 -180
- package/esm2015/slick-paging/slick-paging.module.js +0 -14
- package/esm2015/slick-photo-gallery/slick-photo-gallery.component.js +0 -101
- package/esm2015/slick-photo-gallery/slick-photo-gallery.module.js +0 -16
- package/esm2015/slick-pick-list/slick-pick-list.component.js +0 -78
- package/esm2015/slick-pick-list/slick-pick-list.module.js +0 -15
- package/esm2015/slick-popover/slick-popover.component.js +0 -199
- package/esm2015/slick-popover/slick-popover.module.js +0 -14
- package/esm2015/slick-profile-picture/slick-profile-picture.component.js +0 -242
- package/esm2015/slick-profile-picture/slick-profile-picture.module.js +0 -15
- package/esm2015/slick-progress-bar/slick-progress-bar.module.js +0 -13
- package/esm2015/slick-progress-bar/slick-progress-bar.service.js +0 -50
- package/esm2015/slick-screen-blocker/slick-screen-blocker.module.js +0 -13
- package/esm2015/slick-screen-blocker/slick-screen-blocker.service.js +0 -80
- package/esm2015/slick-slider/slick-slider.component.js +0 -88
- package/esm2015/slick-slider/slick-slider.module.js +0 -15
- package/esm2015/slick-split-screen/slick-screen-split-left-content.component.js +0 -13
- package/esm2015/slick-split-screen/slick-screen-split-right-content.component.js +0 -13
- package/esm2015/slick-split-screen/slick-split-screen.component.js +0 -148
- package/esm2015/slick-split-screen/slick-split-screen.module.js +0 -16
- package/esm2015/slick-tabs/slick-tab-header.component.js +0 -25
- package/esm2015/slick-tabs/slick-tab.component.js +0 -67
- package/esm2015/slick-tabs/slick-tabs.component.js +0 -104
- package/esm2015/slick-tabs/slick-tabs.module.js +0 -17
- package/esm2015/slick-toast/slick-toast.module.js +0 -13
- package/esm2015/slick-toast/slick-toast.service.js +0 -91
- package/esm2015/slick-tree-view/slick-tree-view.component.js +0 -287
- package/esm2015/slick-tree-view/slick-tree-view.module.js +0 -17
- package/esm2015/slick-type-ahead/slick-type-ahead.directive.js +0 -155
- package/esm2015/slick-type-ahead/slick-type-ahead.module.js +0 -13
- package/esm2015/slick-validation-indicator/slick-validation-indicator.directive.js +0 -61
- package/esm2015/slick-validation-indicator/slick-validation-indicator.module.js +0 -14
- package/esm2015/utils/slick-function-lock.service.js +0 -54
- package/esm2015/utils/slick-init.service.js +0 -48
- package/esm2015/utils/slick-log.service.js +0 -27
- package/esm2015/utils/slick-sleep.service.js +0 -14
- package/esm2015/utils/slick-utils.service.js +0 -229
- package/fesm2015/slick-components.js.map +0 -1
- package/slick-components.metadata.json +0 -1
|
@@ -1,226 +0,0 @@
|
|
|
1
|
-
import { __awaiter } from "tslib";
|
|
2
|
-
import { Component, Input, Output, EventEmitter, forwardRef, ChangeDetectorRef, ViewChild, ElementRef } from "@angular/core";
|
|
3
|
-
import { NG_VALUE_ACCESSOR } from "@angular/forms";
|
|
4
|
-
import { SlickUtilsService } from "../utils/slick-utils.service";
|
|
5
|
-
import { SlickFunctionLockService } from "../utils/slick-function-lock.service";
|
|
6
|
-
import { SlickEmailerAddressModel } from "./slick-emailer-address.model";
|
|
7
|
-
export class SlickEmailerComponent {
|
|
8
|
-
constructor(slickFunctionLockService, changeDetector) {
|
|
9
|
-
this.slickFunctionLockService = slickFunctionLockService;
|
|
10
|
-
this.changeDetector = changeDetector;
|
|
11
|
-
this.showButtons = true;
|
|
12
|
-
this.bodyHeight = "180px";
|
|
13
|
-
this.toAddressSearchEmitter = new EventEmitter();
|
|
14
|
-
this.sendEmailClickEmitter = new EventEmitter();
|
|
15
|
-
this.cancelEmailClickEmitter = new EventEmitter();
|
|
16
|
-
this.isSubmitted = false;
|
|
17
|
-
this.tinyMCEInitialized = false;
|
|
18
|
-
this.spinnerStatus = null;
|
|
19
|
-
this.propagateChange = (_) => { };
|
|
20
|
-
this.uuid = SlickUtilsService.newGuid();
|
|
21
|
-
}
|
|
22
|
-
ngAfterViewInit() {
|
|
23
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
24
|
-
yield this.initTinyMCE();
|
|
25
|
-
const body = (this.emailerModel) ? (this.emailerModel.body || '') : '';
|
|
26
|
-
tinymce.get(`emailer_tinymce_${this.tinyMCEUuid}`).setContent(body);
|
|
27
|
-
});
|
|
28
|
-
}
|
|
29
|
-
ngOnDestroy() {
|
|
30
|
-
this.removeTinyMCE();
|
|
31
|
-
}
|
|
32
|
-
// this is the initial value set to the component
|
|
33
|
-
writeValue(obj) {
|
|
34
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
35
|
-
if (obj) {
|
|
36
|
-
this.spinnerStatus = "reset";
|
|
37
|
-
this.emailerModel = obj;
|
|
38
|
-
if (!this.emailerModel.attachments)
|
|
39
|
-
this.emailerModel.attachments = [];
|
|
40
|
-
if (!this.emailerModel.toEmailAddresses)
|
|
41
|
-
this.emailerModel.toEmailAddresses = [];
|
|
42
|
-
}
|
|
43
|
-
else {
|
|
44
|
-
this.emailerModel = null;
|
|
45
|
-
}
|
|
46
|
-
yield this.initTinyMCE();
|
|
47
|
-
const body = (this.emailerModel) ? (this.emailerModel.body || '') : '';
|
|
48
|
-
tinymce.get(`emailer_tinymce_${this.tinyMCEUuid}`).setContent(body);
|
|
49
|
-
});
|
|
50
|
-
}
|
|
51
|
-
// registers 'fn' that will be fired when changes are made
|
|
52
|
-
// this is how we emit the changes back to the form
|
|
53
|
-
registerOnChange(fn) {
|
|
54
|
-
this.propagateChange = fn;
|
|
55
|
-
}
|
|
56
|
-
// not used, used for touch input
|
|
57
|
-
registerOnTouched() { }
|
|
58
|
-
toAddressSearch(searchText) {
|
|
59
|
-
this.toAddressSearchEmitter.emit(searchText);
|
|
60
|
-
}
|
|
61
|
-
onSelectEmailAddress(emailerAddressModel) {
|
|
62
|
-
this.emailerModel.toEmailAddresses.push(emailerAddressModel);
|
|
63
|
-
this.toEmailAddress = null;
|
|
64
|
-
}
|
|
65
|
-
onFreeformTextSelect(text) {
|
|
66
|
-
const freeformEmailAddress = new SlickEmailerAddressModel();
|
|
67
|
-
freeformEmailAddress.displayName = text;
|
|
68
|
-
freeformEmailAddress.emailAddress = text;
|
|
69
|
-
this.emailerModel.toEmailAddresses.push(freeformEmailAddress);
|
|
70
|
-
this.toEmailAddress = null;
|
|
71
|
-
}
|
|
72
|
-
deleteEmailAddress(idx) {
|
|
73
|
-
this.emailerModel.toEmailAddresses.splice(idx, 1);
|
|
74
|
-
}
|
|
75
|
-
onAttachmentsChanged(attachments) {
|
|
76
|
-
this.emailerModel.attachments = this.emailerModel.attachments.concat(attachments);
|
|
77
|
-
}
|
|
78
|
-
validate() {
|
|
79
|
-
this.isSubmitted = true;
|
|
80
|
-
if (this.emailerModel.toEmailAddresses.length === 0)
|
|
81
|
-
return false;
|
|
82
|
-
return true;
|
|
83
|
-
}
|
|
84
|
-
getEmailAddresses(emailerModel) {
|
|
85
|
-
let slickEmailerAddresses = emailerModel.toEmailAddresses || [];
|
|
86
|
-
if (this.toEmailAddress) {
|
|
87
|
-
const scrubbedToEmailAddress = this.toEmailAddress.replace(",", ";").replace(/\s/g, ";");
|
|
88
|
-
const emailAddressesToAddStrings = scrubbedToEmailAddress.split(";").filter(x => x !== '');
|
|
89
|
-
const emailAddressesToAdd = emailAddressesToAddStrings.map(x => {
|
|
90
|
-
const slickEmailerAddressModel = new SlickEmailerAddressModel();
|
|
91
|
-
slickEmailerAddressModel.contactId = 0;
|
|
92
|
-
slickEmailerAddressModel.displayName = x;
|
|
93
|
-
slickEmailerAddressModel.emailAddress = x;
|
|
94
|
-
return slickEmailerAddressModel;
|
|
95
|
-
});
|
|
96
|
-
slickEmailerAddresses = slickEmailerAddresses.concat(emailAddressesToAdd);
|
|
97
|
-
}
|
|
98
|
-
this.toEmailAddress = null;
|
|
99
|
-
return slickEmailerAddresses;
|
|
100
|
-
}
|
|
101
|
-
setBody(body) {
|
|
102
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
103
|
-
try {
|
|
104
|
-
yield this.slickFunctionLockService.lock("SLICK_EMAILER_SET_BODY");
|
|
105
|
-
yield this.initTinyMCE();
|
|
106
|
-
const tinyMCE = tinymce.get(`emailer_tinymce_${this.tinyMCEUuid}`);
|
|
107
|
-
if (!tinyMCE)
|
|
108
|
-
console.error("tinyMCE not initialized");
|
|
109
|
-
tinyMCE.setContent(body);
|
|
110
|
-
}
|
|
111
|
-
finally {
|
|
112
|
-
this.slickFunctionLockService.release("SLICK_EMAILER_SET_BODY");
|
|
113
|
-
}
|
|
114
|
-
});
|
|
115
|
-
}
|
|
116
|
-
getBody() {
|
|
117
|
-
return tinymce.get(`emailer_tinymce_${this.tinyMCEUuid}`).getContent();
|
|
118
|
-
}
|
|
119
|
-
onSendEmail() {
|
|
120
|
-
this.emailerModel.toEmailAddresses = this.getEmailAddresses(this.emailerModel);
|
|
121
|
-
if (this.validate() === false)
|
|
122
|
-
return;
|
|
123
|
-
this.emailerModel.body = this.getBody();
|
|
124
|
-
this.spinnerStatus = "spin";
|
|
125
|
-
if (this.sendEmailClickEmitter)
|
|
126
|
-
this.sendEmailClickEmitter.emit(this.emailerModel);
|
|
127
|
-
}
|
|
128
|
-
emailSent() {
|
|
129
|
-
this.spinnerStatus = "ok";
|
|
130
|
-
}
|
|
131
|
-
emailError() {
|
|
132
|
-
this.spinnerStatus = "error";
|
|
133
|
-
}
|
|
134
|
-
onCancelEmail() {
|
|
135
|
-
if (this.cancelEmailClickEmitter)
|
|
136
|
-
this.cancelEmailClickEmitter.emit();
|
|
137
|
-
}
|
|
138
|
-
dialogInit() {
|
|
139
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
140
|
-
this.removeTinyMCE();
|
|
141
|
-
yield this.initTinyMCE();
|
|
142
|
-
const body = (this.emailerModel) ? (this.emailerModel.body || '') : '';
|
|
143
|
-
tinymce.get(`emailer_tinymce_${this.tinyMCEUuid}`).setContent(body);
|
|
144
|
-
});
|
|
145
|
-
}
|
|
146
|
-
initTinyMCE() {
|
|
147
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
148
|
-
return new Promise((resolve) => __awaiter(this, void 0, void 0, function* () {
|
|
149
|
-
yield this.slickFunctionLockService.lock("SLICK_EMAILER_INIT_TINY_MCE");
|
|
150
|
-
if (this.tinyMCEUuid) {
|
|
151
|
-
this.slickFunctionLockService.release("SLICK_EMAILER_INIT_TINY_MCE");
|
|
152
|
-
resolve();
|
|
153
|
-
}
|
|
154
|
-
else {
|
|
155
|
-
this.tinyMCEUuid = SlickUtilsService.newGuid();
|
|
156
|
-
const tinyMCEContainer = this.tinyMCEContainerRef.nativeElement;
|
|
157
|
-
const tinyMCETextarea = document.createElement("textarea");
|
|
158
|
-
tinyMCETextarea.id = `emailer_tinymce_${this.tinyMCEUuid}`;
|
|
159
|
-
tinyMCETextarea.style.minHeight = "300px";
|
|
160
|
-
tinyMCETextarea.style.maxHeight = "300px";
|
|
161
|
-
tinyMCEContainer.appendChild(tinyMCETextarea);
|
|
162
|
-
tinymce.init({
|
|
163
|
-
selector: `#emailer_tinymce_${this.tinyMCEUuid}`,
|
|
164
|
-
branding: false,
|
|
165
|
-
menubar: 'edit insert format tools',
|
|
166
|
-
plugins: 'link image imagetools code',
|
|
167
|
-
toolbar: 'fontselect | fontsizeselect | styleselect | bold italic underline | indent outdent | bullist | alignleft aligncenter alignright | code | image',
|
|
168
|
-
fontsize_formats: "8px 10px 12px 14px 18px 24px 36px",
|
|
169
|
-
height: this.bodyHeight,
|
|
170
|
-
convert_urls: false,
|
|
171
|
-
setup: (ed) => {
|
|
172
|
-
ed.on('init', (args) => {
|
|
173
|
-
ed.setContent((this.emailerModel) ? (this.emailerModel.body || '') : '');
|
|
174
|
-
this.tinyMCEInitialized = true;
|
|
175
|
-
this.slickFunctionLockService.release("SLICK_EMAILER_INIT_TINY_MCE");
|
|
176
|
-
resolve();
|
|
177
|
-
});
|
|
178
|
-
}
|
|
179
|
-
});
|
|
180
|
-
}
|
|
181
|
-
}));
|
|
182
|
-
});
|
|
183
|
-
}
|
|
184
|
-
removeTinyMCE() {
|
|
185
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
186
|
-
if (this.tinyMCEUuid) {
|
|
187
|
-
const tinyMCE = tinymce.get(`emailer_tinymce_${this.tinyMCEUuid}`);
|
|
188
|
-
if (tinyMCE)
|
|
189
|
-
tinyMCE.remove();
|
|
190
|
-
const tinyMCEContainer = this.tinyMCEContainerRef.nativeElement;
|
|
191
|
-
tinyMCEContainer.innerHTML = "";
|
|
192
|
-
this.tinyMCEInitialized = false;
|
|
193
|
-
this.tinyMCEUuid = null;
|
|
194
|
-
}
|
|
195
|
-
});
|
|
196
|
-
}
|
|
197
|
-
}
|
|
198
|
-
SlickEmailerComponent.decorators = [
|
|
199
|
-
{ type: Component, args: [{
|
|
200
|
-
selector: 'slick-emailer',
|
|
201
|
-
template: "<div *ngIf=\"emailerModel\" id=\"slick-emailer_{{uuid}}\" class=\"slick-emailer\">\r\n\t<div class=\"row form-group\">\r\n\t\t<div class=\"col-12\">\r\n\t\t\t<div *ngIf=\"isSubmitted === true && emailerModel.toEmailAddresses.length === 0\" class=\"errorWrapper showIcons\"><div class=\"text-danger\">Email must have at least one email address</div></div>\r\n\t\t\t<div class=\"input-group\">\r\n\t\t\t\t<div class=\"input-group-prepend\">\r\n\t\t\t\t\t<span class=\"input-group-text\"><span class=\"fas fa-search\"></span></span>\r\n\t\t\t\t</div>\r\n\t\t\t\t<input class=\"form-control\" #emailAddressAutocomplete [(ngModel)]=\"toEmailAddress\" placeholder=\"Email Search...\" autofocus />\r\n\t\t\t</div>\r\n\t\t\t<slick-auto-complete [inputRef]=\"emailAddressAutocomplete\" textField=\"emailDisplay\" [items]=\"toEmailAddressList\" (onRefresh)=\"toAddressSearch($event)\" (onSelect)=\"onSelectEmailAddress($event)\" (onFreeformTextSelect)=\"onFreeformTextSelect($event)\">\r\n\t\t\t\t<ng-template let-emailDisplay [slickAutoCompleteListItemTemplate]>\r\n\t\t\t\t\t<div style='line-height: 1.1em; font-size: 12px;'>\r\n\t\t\t\t\t\t{{emailDisplay.displayName}} [{{emailDisplay.emailAddress}}]\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</ng-template>\r\n\t\t\t</slick-auto-complete>\r\n\r\n\t\t\t<label>To: </label>\r\n\t\t\t<div *ngFor=\"let emailAddress of emailerModel.toEmailAddresses; let idx = index;\" class=\"slick-emailer_email-address alert alert-secondary\">{{emailAddress.displayName}} [{{emailAddress.emailAddress}}]<i (click)=\"deleteEmailAddress(idx)\" class=\"fas fa-times-circle bg-white text-danger ml-1\"></i></div>\r\n\t\t</div>\r\n\t</div>\r\n\t<div class=\"row form-group\">\r\n\t\t<div class=\"col-12\">\r\n\t\t\t<label>Subject:</label>\r\n\t\t\t<input type=\"text\" class=\"form-control\" [(ngModel)]=\"emailerModel.subject\" />\r\n\t\t</div>\r\n\t</div>\r\n\r\n\t<div class=\"row form-group\">\r\n\t\t<div class=\"col-12\">\r\n\t\t\t<label>Body:</label>\r\n\t\t\t<div #tinyMCEContainerRef></div>\r\n\t\t</div>\r\n\t</div>\r\n\r\n\t<div class=\"row form-group\">\r\n\t\t<div class=\"col-12\">\r\n\t\t\t<label>Attachments:</label>\r\n\t\t\t<slick-file-drop (filesChanged)=\"onAttachmentsChanged($event)\"></slick-file-drop>\r\n\t\t\t<slick-file-list [(files)]=\"emailerModel.attachments\"></slick-file-list>\r\n\t\t</div>\r\n\t</div>\r\n\r\n\t<div *ngIf=\"showButtons\" class=\"row form-group\">\r\n\t\t<div class=\"col-12 text-center\">\r\n\t\t\t<button type=\"button\" style=\"width: 120px; margin-right: 10px;\" [slick-button-spinner]=\"spinnerStatus\" class=\"btn btn-outline-primary\" (click)=\"onSendEmail()\"><i class=\"far fa-envelope\"></i> Send</button>\r\n\t\t\t<button type=\"button\" style=\"width: 120px;\" class=\"btn btn-outline-danger\" (click)=\"onCancelEmail()\"><i class=\"far fa-times\"></i> Cancel</button>\r\n\t\t</div>\r\n\t</div>\r\n</div>\r\n",
|
|
202
|
-
providers: [
|
|
203
|
-
{
|
|
204
|
-
provide: NG_VALUE_ACCESSOR,
|
|
205
|
-
useExisting: forwardRef(() => SlickEmailerComponent),
|
|
206
|
-
multi: true,
|
|
207
|
-
},
|
|
208
|
-
SlickFunctionLockService
|
|
209
|
-
]
|
|
210
|
-
},] }
|
|
211
|
-
];
|
|
212
|
-
/** @nocollapse */
|
|
213
|
-
SlickEmailerComponent.ctorParameters = () => [
|
|
214
|
-
{ type: SlickFunctionLockService },
|
|
215
|
-
{ type: ChangeDetectorRef }
|
|
216
|
-
];
|
|
217
|
-
SlickEmailerComponent.propDecorators = {
|
|
218
|
-
toEmailAddressList: [{ type: Input, args: ["toEmailAddressList",] }],
|
|
219
|
-
showButtons: [{ type: Input, args: ["showButtons",] }],
|
|
220
|
-
bodyHeight: [{ type: Input, args: ["bodyHeight",] }],
|
|
221
|
-
toAddressSearchEmitter: [{ type: Output, args: ["toAddressSearch",] }],
|
|
222
|
-
sendEmailClickEmitter: [{ type: Output, args: ["sendEmailClick",] }],
|
|
223
|
-
cancelEmailClickEmitter: [{ type: Output, args: ["cancelEmailClick",] }],
|
|
224
|
-
tinyMCEContainerRef: [{ type: ViewChild, args: ["tinyMCEContainerRef",] }]
|
|
225
|
-
};
|
|
226
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpY2stZW1haWxlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9zbGljay1lbWFpbGVyL3NsaWNrLWVtYWlsZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBNEIsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2SixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVuRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUdoRixPQUFPLEVBQTZCLHdCQUF3QixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFnQnBHLE1BQU0sT0FBTyxxQkFBcUI7SUFvQmpDLFlBQW9CLHdCQUFrRCxFQUFVLGNBQWlDO1FBQTdGLDZCQUF3QixHQUF4Qix3QkFBd0IsQ0FBMEI7UUFBVSxtQkFBYyxHQUFkLGNBQWMsQ0FBbUI7UUFsQjNGLGdCQUFXLEdBQVksSUFBSSxDQUFDO1FBQzdCLGVBQVUsR0FBVyxPQUFPLENBQUM7UUFDdkIsMkJBQXNCLEdBQXlCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDbkUsMEJBQXFCLEdBQXFDLElBQUksWUFBWSxFQUFFLENBQUM7UUFDM0UsNEJBQXVCLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7UUFLbkcsZ0JBQVcsR0FBWSxLQUFLLENBQUM7UUFJN0IsdUJBQWtCLEdBQVksS0FBSyxDQUFDO1FBR3BDLGtCQUFhLEdBQVcsSUFBSSxDQUFDO1FBaUI3QixvQkFBZSxHQUFHLENBQUMsQ0FBTSxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFkakMs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LENBQUM7S0FBQTtJQUVLLGFBQWE7O1lBQ2xCLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtnQkFDckIsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7Z0JBRW5FLElBQUksT0FBTztvQkFDVixPQUFPLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBRWxCLE1BQU0sZ0JBQWdCLEdBQW1CLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxhQUFhLENBQUM7Z0JBQ2hGLGdCQUFnQixDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7Z0JBRWhDLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxLQUFLLENBQUM7Z0JBRWhDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO2FBQ3hCO1FBQ0YsQ0FBQztLQUFBOzs7WUF0UEQsU0FBUyxTQUFDO2dCQUNWLFFBQVEsRUFBRSxlQUFlO2dCQUN6QiwyMUZBQTJDO2dCQUMzQyxTQUFTLEVBQUU7b0JBQ1Y7d0JBQ0MsT0FBTyxFQUFFLGlCQUFpQjt3QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQzt3QkFDcEQsS0FBSyxFQUFFLElBQUk7cUJBQ1g7b0JBQ0Qsd0JBQXdCO2lCQUN4QjthQUNEOzs7O1lBbEJRLHdCQUF3QjtZQUpzRCxpQkFBaUI7OztpQ0F3QnRHLEtBQUssU0FBQyxvQkFBb0I7MEJBQzFCLEtBQUssU0FBQyxhQUFhO3lCQUNuQixLQUFLLFNBQUMsWUFBWTtxQ0FDbEIsTUFBTSxTQUFDLGlCQUFpQjtvQ0FDeEIsTUFBTSxTQUFDLGdCQUFnQjtzQ0FDdkIsTUFBTSxTQUFDLGtCQUFrQjtrQ0FFekIsU0FBUyxTQUFDLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBmb3J3YXJkUmVmLCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3ksIENoYW5nZURldGVjdG9yUmVmLCBWaWV3Q2hpbGQsIEVsZW1lbnRSZWYgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5pbXBvcnQgeyBTbGlja1NsZWVwU2VydmljZSB9IGZyb20gXCIuLi91dGlscy9zbGljay1zbGVlcC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFNsaWNrVXRpbHNTZXJ2aWNlIH0gZnJvbSBcIi4uL3V0aWxzL3NsaWNrLXV0aWxzLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgU2xpY2tGdW5jdGlvbkxvY2tTZXJ2aWNlIH0gZnJvbSBcIi4uL3V0aWxzL3NsaWNrLWZ1bmN0aW9uLWxvY2suc2VydmljZVwiO1xyXG5pbXBvcnQgeyBJU2xpY2tGaWxlTW9kZWwgfSBmcm9tIFwiLi4vc2xpY2stZmlsZS1tb2RlbC9zbGljay1maWxlLm1vZGVsXCI7XHJcbmltcG9ydCB7IElTbGlja0VtYWlsZXJNb2RlbCwgfSBmcm9tIFwiLi9zbGljay1lbWFpbGVyLm1vZGVsXCI7XHJcbmltcG9ydCB7IElTbGlja0VtYWlsZXJBZGRyZXNzTW9kZWwsIFNsaWNrRW1haWxlckFkZHJlc3NNb2RlbCB9IGZyb20gXCIuL3NsaWNrLWVtYWlsZXItYWRkcmVzcy5tb2RlbFwiO1xyXG5cclxuZGVjbGFyZSBjb25zdCB0aW55bWNlOiBhbnk7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuXHRzZWxlY3RvcjogJ3NsaWNrLWVtYWlsZXInLFxyXG5cdHRlbXBsYXRlVXJsOiAnc2xpY2stZW1haWxlci5jb21wb25lbnQuaHRtbCcsXHJcblx0cHJvdmlkZXJzOiBbXHJcblx0XHR7XHJcblx0XHRcdHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG5cdFx0XHR1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTbGlja0VtYWlsZXJDb21wb25lbnQpLFxyXG5cdFx0XHRtdWx0aTogdHJ1ZSxcclxuXHRcdH0sXHJcblx0XHRTbGlja0Z1bmN0aW9uTG9ja1NlcnZpY2VcclxuXHRdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTbGlja0VtYWlsZXJDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xyXG5cdEBJbnB1dChcInRvRW1haWxBZGRyZXNzTGlzdFwiKSB0b0VtYWlsQWRkcmVzc0xpc3Q6IElTbGlja0VtYWlsZXJBZGRyZXNzTW9kZWxbXTtcclxuXHRASW5wdXQoXCJzaG93QnV0dG9uc1wiKSBzaG93QnV0dG9uczogYm9vbGVhbiA9IHRydWU7XHJcblx0QElucHV0KFwiYm9keUhlaWdodFwiKSBib2R5SGVpZ2h0OiBzdHJpbmcgPSBcIjE4MHB4XCI7XHJcblx0QE91dHB1dChcInRvQWRkcmVzc1NlYXJjaFwiKSB0b0FkZHJlc3NTZWFyY2hFbWl0dGVyOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHRAT3V0cHV0KFwic2VuZEVtYWlsQ2xpY2tcIikgc2VuZEVtYWlsQ2xpY2tFbWl0dGVyOiBFdmVudEVtaXR0ZXI8SVNsaWNrRW1haWxlck1vZGVsPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHRAT3V0cHV0KFwiY2FuY2VsRW1haWxDbGlja1wiKSBjYW5jZWxFbWFpbENsaWNrRW1pdHRlcjogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG5cclxuXHRAVmlld0NoaWxkKFwidGlueU1DRUNvbnRhaW5lclJlZlwiKSB0aW55TUNFQ29udGFpbmVyUmVmOiBFbGVtZW50UmVmO1xyXG5cclxuXHRlbWFpbGVyTW9kZWw6IElTbGlja0VtYWlsZXJNb2RlbDtcclxuXHRpc1N1Ym1pdHRlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuXHR1dWlkOiBzdHJpbmc7XHJcblx0dGlueU1DRVV1aWQ6IHN0cmluZztcclxuXHR0aW55TUNFSW5pdGlhbGl6ZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHR0b0VtYWlsQWRkcmVzczogc3RyaW5nO1xyXG5cdGVkaXRvcjogYW55O1xyXG5cdHNwaW5uZXJTdGF0dXM6IHN0cmluZyA9IG51bGw7XHJcblxyXG5cdGNvbnN0cnVjdG9yKHByaXZhdGUgc2xpY2tGdW5jdGlvbkxvY2tTZXJ2aWNlOiBTbGlja0Z1bmN0aW9uTG9ja1NlcnZpY2UsIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmKSB7XHJcblx0XHR0aGlzLnV1aWQgPSBTbGlja1V0aWxzU2VydmljZS5uZXdHdWlkKCk7XHJcblxyXG5cdH1cclxuXHJcblx0YXN5bmMgbmdBZnRlclZpZXdJbml0KCkge1xyXG5cdFx0YXdhaXQgdGhpcy5pbml0VGlueU1DRSgpO1xyXG5cdFx0Y29uc3QgYm9keSA9ICh0aGlzLmVtYWlsZXJNb2RlbCkgPyAodGhpcy5lbWFpbGVyTW9kZWwuYm9keSB8fCAnJykgOiAnJztcclxuXHRcdHRpbnltY2UuZ2V0KGBlbWFpbGVyX3RpbnltY2VfJHt0aGlzLnRpbnlNQ0VVdWlkfWApLnNldENvbnRlbnQoYm9keSk7XHJcblx0fVxyXG5cclxuXHRuZ09uRGVzdHJveSgpIHtcclxuXHRcdHRoaXMucmVtb3ZlVGlueU1DRSgpO1xyXG5cdH1cclxuXHJcblx0cHJvcGFnYXRlQ2hhbmdlID0gKF86IGFueSkgPT4geyB9O1xyXG5cclxuXHQvLyB0aGlzIGlzIHRoZSBpbml0aWFsIHZhbHVlIHNldCB0byB0aGUgY29tcG9uZW50XHJcblx0cHVibGljIGFzeW5jIHdyaXRlVmFsdWUob2JqOiBJU2xpY2tFbWFpbGVyTW9kZWwpIHtcclxuXHRcdGlmIChvYmopIHtcclxuXHRcdFx0dGhpcy5zcGlubmVyU3RhdHVzID0gXCJyZXNldFwiO1xyXG5cdFx0XHR0aGlzLmVtYWlsZXJNb2RlbCA9IG9iajtcclxuXHJcblx0XHRcdGlmICghdGhpcy5lbWFpbGVyTW9kZWwuYXR0YWNobWVudHMpXHJcblx0XHRcdFx0dGhpcy5lbWFpbGVyTW9kZWwuYXR0YWNobWVudHMgPSBbXTtcclxuXHJcblx0XHRcdGlmICghdGhpcy5lbWFpbGVyTW9kZWwudG9FbWFpbEFkZHJlc3NlcylcclxuXHRcdFx0XHR0aGlzLmVtYWlsZXJNb2RlbC50b0VtYWlsQWRkcmVzc2VzID0gW107XHRcdFx0XHJcblx0XHR9XHJcblx0XHRlbHNlIHtcclxuXHRcdFx0dGhpcy5lbWFpbGVyTW9kZWwgPSBudWxsO1xyXG5cdFx0fVxyXG5cclxuXHRcdGF3YWl0IHRoaXMuaW5pdFRpbnlNQ0UoKTtcclxuXHRcdGNvbnN0IGJvZHkgPSAodGhpcy5lbWFpbGVyTW9kZWwpID8gKHRoaXMuZW1haWxlck1vZGVsLmJvZHkgfHwgJycpIDogJyc7XHJcblx0XHR0aW55bWNlLmdldChgZW1haWxlcl90aW55bWNlXyR7dGhpcy50aW55TUNFVXVpZH1gKS5zZXRDb250ZW50KGJvZHkpO1xyXG5cdH1cclxuXHJcblx0Ly8gcmVnaXN0ZXJzICdmbicgdGhhdCB3aWxsIGJlIGZpcmVkIHdoZW4gY2hhbmdlcyBhcmUgbWFkZVxyXG5cdC8vIHRoaXMgaXMgaG93IHdlIGVtaXQgdGhlIGNoYW5nZXMgYmFjayB0byB0aGUgZm9ybVxyXG5cdHB1YmxpYyByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpIHtcclxuXHRcdHRoaXMucHJvcGFnYXRlQ2hhbmdlID0gZm47XHJcblx0fVxyXG5cclxuXHQvLyBub3QgdXNlZCwgdXNlZCBmb3IgdG91Y2ggaW5wdXRcclxuXHRwdWJsaWMgcmVnaXN0ZXJPblRvdWNoZWQoKSB7IH1cclxuXHJcblx0dG9BZGRyZXNzU2VhcmNoKHNlYXJjaFRleHQpIHtcclxuXHRcdHRoaXMudG9BZGRyZXNzU2VhcmNoRW1pdHRlci5lbWl0KHNlYXJjaFRleHQpO1xyXG5cdH1cclxuXHJcblx0b25TZWxlY3RFbWFpbEFkZHJlc3MoZW1haWxlckFkZHJlc3NNb2RlbDogSVNsaWNrRW1haWxlckFkZHJlc3NNb2RlbCkge1xyXG5cdFx0dGhpcy5lbWFpbGVyTW9kZWwudG9FbWFpbEFkZHJlc3Nlcy5wdXNoKGVtYWlsZXJBZGRyZXNzTW9kZWwpO1xyXG5cclxuXHRcdHRoaXMudG9FbWFpbEFkZHJlc3MgPSBudWxsO1xyXG5cdH1cclxuXHJcblx0b25GcmVlZm9ybVRleHRTZWxlY3QodGV4dDogc3RyaW5nKSB7XHJcblx0XHRjb25zdCBmcmVlZm9ybUVtYWlsQWRkcmVzcyA9IG5ldyBTbGlja0VtYWlsZXJBZGRyZXNzTW9kZWwoKTtcclxuXHRcdGZyZWVmb3JtRW1haWxBZGRyZXNzLmRpc3BsYXlOYW1lID0gdGV4dDtcclxuXHRcdGZyZWVmb3JtRW1haWxBZGRyZXNzLmVtYWlsQWRkcmVzcyA9IHRleHQ7XHJcblxyXG5cdFx0dGhpcy5lbWFpbGVyTW9kZWwudG9FbWFpbEFkZHJlc3Nlcy5wdXNoKGZyZWVmb3JtRW1haWxBZGRyZXNzKTtcclxuXHRcdHRoaXMudG9FbWFpbEFkZHJlc3MgPSBudWxsO1xyXG5cdH1cclxuXHJcblx0ZGVsZXRlRW1haWxBZGRyZXNzKGlkeDogbnVtYmVyKSB7XHJcblx0XHR0aGlzLmVtYWlsZXJNb2RlbC50b0VtYWlsQWRkcmVzc2VzLnNwbGljZShpZHgsIDEpO1xyXG5cdH1cclxuXHJcblx0b25BdHRhY2htZW50c0NoYW5nZWQoYXR0YWNobWVudHM6IElTbGlja0ZpbGVNb2RlbFtdKSB7XHJcblx0XHR0aGlzLmVtYWlsZXJNb2RlbC5hdHRhY2htZW50cyA9IHRoaXMuZW1haWxlck1vZGVsLmF0dGFjaG1lbnRzLmNvbmNhdChhdHRhY2htZW50cyk7XHJcblx0fVxyXG5cclxuXHR2YWxpZGF0ZSgpIHtcclxuXHRcdHRoaXMuaXNTdWJtaXR0ZWQgPSB0cnVlO1xyXG5cdFx0aWYgKHRoaXMuZW1haWxlck1vZGVsLnRvRW1haWxBZGRyZXNzZXMubGVuZ3RoID09PSAwKVxyXG5cdFx0XHRyZXR1cm4gZmFsc2U7XHJcblxyXG5cdFx0cmV0dXJuIHRydWU7XHJcblx0fVxyXG5cclxuXHRnZXRFbWFpbEFkZHJlc3NlcyhlbWFpbGVyTW9kZWw6IElTbGlja0VtYWlsZXJNb2RlbCk6IElTbGlja0VtYWlsZXJBZGRyZXNzTW9kZWxbXSB7XHJcblx0XHRsZXQgc2xpY2tFbWFpbGVyQWRkcmVzc2VzID0gZW1haWxlck1vZGVsLnRvRW1haWxBZGRyZXNzZXMgfHwgW107XHJcblxyXG5cdFx0aWYgKHRoaXMudG9FbWFpbEFkZHJlc3MpIHtcclxuXHRcdFx0Y29uc3Qgc2NydWJiZWRUb0VtYWlsQWRkcmVzcyA9IHRoaXMudG9FbWFpbEFkZHJlc3MucmVwbGFjZShcIixcIiwgXCI7XCIpLnJlcGxhY2UoL1xccy9nLCBcIjtcIik7XHJcblx0XHRcdGNvbnN0IGVtYWlsQWRkcmVzc2VzVG9BZGRTdHJpbmdzID0gc2NydWJiZWRUb0VtYWlsQWRkcmVzcy5zcGxpdChcIjtcIikuZmlsdGVyKHggPT4geCAhPT0gJycpO1xyXG5cdFx0XHRjb25zdCBlbWFpbEFkZHJlc3Nlc1RvQWRkID0gZW1haWxBZGRyZXNzZXNUb0FkZFN0cmluZ3MubWFwKHggPT4ge1xyXG5cdFx0XHRcdGNvbnN0IHNsaWNrRW1haWxlckFkZHJlc3NNb2RlbCA9IG5ldyBTbGlja0VtYWlsZXJBZGRyZXNzTW9kZWwoKTtcclxuXHRcdFx0XHRzbGlja0VtYWlsZXJBZGRyZXNzTW9kZWwuY29udGFjdElkID0gMDtcclxuXHRcdFx0XHRzbGlja0VtYWlsZXJBZGRyZXNzTW9kZWwuZGlzcGxheU5hbWUgPSB4O1xyXG5cdFx0XHRcdHNsaWNrRW1haWxlckFkZHJlc3NNb2RlbC5lbWFpbEFkZHJlc3MgPSB4O1xyXG5cdFx0XHRcdHJldHVybiBzbGlja0VtYWlsZXJBZGRyZXNzTW9kZWw7XHJcblx0XHRcdH0pO1xyXG5cdFx0XHRzbGlja0VtYWlsZXJBZGRyZXNzZXMgPSBzbGlja0VtYWlsZXJBZGRyZXNzZXMuY29uY2F0KGVtYWlsQWRkcmVzc2VzVG9BZGQpO1xyXG5cdFx0fVxyXG5cclxuXHRcdHRoaXMudG9FbWFpbEFkZHJlc3MgPSBudWxsO1xyXG5cclxuXHRcdHJldHVybiBzbGlja0VtYWlsZXJBZGRyZXNzZXM7XHJcblx0fVxyXG5cclxuXHRhc3luYyBzZXRCb2R5KGJvZHk6IHN0cmluZykge1xyXG5cdFx0dHJ5IHtcclxuXHRcdFx0YXdhaXQgdGhpcy5zbGlja0Z1bmN0aW9uTG9ja1NlcnZpY2UubG9jayhcIlNMSUNLX0VNQUlMRVJfU0VUX0JPRFlcIik7XHJcblxyXG5cdFx0XHRhd2FpdCB0aGlzLmluaXRUaW55TUNFKCk7XHJcblx0XHRcdGNvbnN0IHRpbnlNQ0UgPSB0aW55bWNlLmdldChgZW1haWxlcl90aW55bWNlXyR7dGhpcy50aW55TUNFVXVpZH1gKTtcclxuXHJcblx0XHRcdGlmICghdGlueU1DRSlcclxuXHRcdFx0XHRjb25zb2xlLmVycm9yKFwidGlueU1DRSBub3QgaW5pdGlhbGl6ZWRcIik7XHJcblxyXG5cdFx0XHR0aW55TUNFLnNldENvbnRlbnQoYm9keSk7XHJcblxyXG5cdFx0fVxyXG5cdFx0ZmluYWxseSB7XHJcblx0XHRcdHRoaXMuc2xpY2tGdW5jdGlvbkxvY2tTZXJ2aWNlLnJlbGVhc2UoXCJTTElDS19FTUFJTEVSX1NFVF9CT0RZXCIpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Z2V0Qm9keSgpIHtcclxuXHRcdHJldHVybiB0aW55bWNlLmdldChgZW1haWxlcl90aW55bWNlXyR7dGhpcy50aW55TUNFVXVpZH1gKS5nZXRDb250ZW50KCk7XHJcblx0fVxyXG5cclxuXHRvblNlbmRFbWFpbCgpIHtcclxuXHRcdHRoaXMuZW1haWxlck1vZGVsLnRvRW1haWxBZGRyZXNzZXMgPSB0aGlzLmdldEVtYWlsQWRkcmVzc2VzKHRoaXMuZW1haWxlck1vZGVsKTtcclxuXHJcblx0XHRpZiAodGhpcy52YWxpZGF0ZSgpID09PSBmYWxzZSlcclxuXHRcdFx0cmV0dXJuO1xyXG5cclxuXHRcdHRoaXMuZW1haWxlck1vZGVsLmJvZHkgPSB0aGlzLmdldEJvZHkoKTtcclxuXHRcdHRoaXMuc3Bpbm5lclN0YXR1cyA9IFwic3BpblwiO1xyXG5cdFx0aWYgKHRoaXMuc2VuZEVtYWlsQ2xpY2tFbWl0dGVyKVxyXG5cdFx0XHR0aGlzLnNlbmRFbWFpbENsaWNrRW1pdHRlci5lbWl0KHRoaXMuZW1haWxlck1vZGVsKTtcclxuXHR9XHJcblxyXG5cdGVtYWlsU2VudCgpIHtcclxuXHRcdHRoaXMuc3Bpbm5lclN0YXR1cyA9IFwib2tcIjtcclxuXHR9XHJcblxyXG5cdGVtYWlsRXJyb3IoKSB7XHJcblx0XHR0aGlzLnNwaW5uZXJTdGF0dXMgPSBcImVycm9yXCI7XHJcblx0fVxyXG5cclxuXHRvbkNhbmNlbEVtYWlsKCkge1xyXG5cdFx0aWYgKHRoaXMuY2FuY2VsRW1haWxDbGlja0VtaXR0ZXIpXHJcblx0XHRcdHRoaXMuY2FuY2VsRW1haWxDbGlja0VtaXR0ZXIuZW1pdCgpO1xyXG5cdH1cclxuXHJcblx0YXN5bmMgZGlhbG9nSW5pdCgpIHtcclxuXHRcdHRoaXMucmVtb3ZlVGlueU1DRSgpO1xyXG5cclxuXHRcdGF3YWl0IHRoaXMuaW5pdFRpbnlNQ0UoKTtcclxuXHRcdGNvbnN0IGJvZHkgPSAodGhpcy5lbWFpbGVyTW9kZWwpID8gKHRoaXMuZW1haWxlck1vZGVsLmJvZHkgfHwgJycpIDogJyc7XHJcblx0XHR0aW55bWNlLmdldChgZW1haWxlcl90aW55bWNlXyR7dGhpcy50aW55TUNFVXVpZH1gKS5zZXRDb250ZW50KGJvZHkpO1xyXG5cdH1cclxuXHJcblx0YXN5bmMgaW5pdFRpbnlNQ0UoKTogUHJvbWlzZTx2b2lkPiB7XHJcblxyXG5cdFx0cmV0dXJuIG5ldyBQcm9taXNlPHZvaWQ+KGFzeW5jIChyZXNvbHZlKSA9PiB7XHJcblx0XHRcdGF3YWl0IHRoaXMuc2xpY2tGdW5jdGlvbkxvY2tTZXJ2aWNlLmxvY2soXCJTTElDS19FTUFJTEVSX0lOSVRfVElOWV9NQ0VcIik7XHJcblxyXG5cdFx0XHRpZiAodGhpcy50aW55TUNFVXVpZCkge1xyXG5cdFx0XHRcdHRoaXMuc2xpY2tGdW5jdGlvbkxvY2tTZXJ2aWNlLnJlbGVhc2UoXCJTTElDS19FTUFJTEVSX0lOSVRfVElOWV9NQ0VcIik7XHJcblx0XHRcdFx0cmVzb2x2ZSgpO1xyXG5cdFx0XHR9XHJcblx0XHRcdGVsc2Uge1xyXG5cdFx0XHRcdHRoaXMudGlueU1DRVV1aWQgPSBTbGlja1V0aWxzU2VydmljZS5uZXdHdWlkKCk7XHJcblxyXG5cdFx0XHRcdGNvbnN0IHRpbnlNQ0VDb250YWluZXIgPSA8SFRNTERpdkVsZW1lbnQ+dGhpcy50aW55TUNFQ29udGFpbmVyUmVmLm5hdGl2ZUVsZW1lbnQ7XHJcblx0XHRcdFx0Y29uc3QgdGlueU1DRVRleHRhcmVhID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcInRleHRhcmVhXCIpO1xyXG5cdFx0XHRcdHRpbnlNQ0VUZXh0YXJlYS5pZCA9IGBlbWFpbGVyX3RpbnltY2VfJHt0aGlzLnRpbnlNQ0VVdWlkfWA7XHJcblx0XHRcdFx0dGlueU1DRVRleHRhcmVhLnN0eWxlLm1pbkhlaWdodCA9IFwiMzAwcHhcIjtcclxuXHRcdFx0XHR0aW55TUNFVGV4dGFyZWEuc3R5bGUubWF4SGVpZ2h0ID0gXCIzMDBweFwiO1xyXG5cdFx0XHRcdHRpbnlNQ0VDb250YWluZXIuYXBwZW5kQ2hpbGQodGlueU1DRVRleHRhcmVhKTtcclxuXHJcblx0XHRcdFx0dGlueW1jZS5pbml0KHtcclxuXHRcdFx0XHRcdHNlbGVjdG9yOiBgI2VtYWlsZXJfdGlueW1jZV8ke3RoaXMudGlueU1DRVV1aWR9YCxcclxuXHRcdFx0XHRcdGJyYW5kaW5nOiBmYWxzZSxcclxuXHRcdFx0XHRcdG1lbnViYXI6ICdlZGl0IGluc2VydCBmb3JtYXQgdG9vbHMnLFxyXG5cdFx0XHRcdFx0cGx1Z2luczogJ2xpbmsgaW1hZ2UgaW1hZ2V0b29scyBjb2RlJyxcclxuXHRcdFx0XHRcdHRvb2xiYXI6ICdmb250c2VsZWN0IHwgZm9udHNpemVzZWxlY3QgfCBzdHlsZXNlbGVjdCB8IGJvbGQgaXRhbGljIHVuZGVybGluZSB8IGluZGVudCBvdXRkZW50IHwgYnVsbGlzdCB8IGFsaWdubGVmdCBhbGlnbmNlbnRlciBhbGlnbnJpZ2h0IHwgY29kZSB8IGltYWdlJyxcclxuXHRcdFx0XHRcdGZvbnRzaXplX2Zvcm1hdHM6IFwiOHB4IDEwcHggMTJweCAxNHB4IDE4cHggMjRweCAzNnB4XCIsXHJcblx0XHRcdFx0XHRoZWlnaHQ6IHRoaXMuYm9keUhlaWdodCxcclxuXHRcdFx0XHRcdGNvbnZlcnRfdXJsczogZmFsc2UsXHJcblx0XHRcdFx0XHRzZXR1cDogKGVkKSA9PiB7XHJcblx0XHRcdFx0XHRcdGVkLm9uKCdpbml0JywgKGFyZ3MpID0+IHtcclxuXHJcblx0XHRcdFx0XHRcdFx0ZWQuc2V0Q29udGVudCgodGhpcy5lbWFpbGVyTW9kZWwpID8gKHRoaXMuZW1haWxlck1vZGVsLmJvZHkgfHwgJycpIDogJycpO1xyXG5cdFx0XHRcdFx0XHRcdHRoaXMudGlueU1DRUluaXRpYWxpemVkID0gdHJ1ZTtcclxuXHRcdFx0XHRcdFx0XHR0aGlzLnNsaWNrRnVuY3Rpb25Mb2NrU2VydmljZS5yZWxlYXNlKFwiU0xJQ0tfRU1BSUxFUl9JTklUX1RJTllfTUNFXCIpO1xyXG5cdFx0XHRcdFx0XHRcdHJlc29sdmUoKTtcclxuXHRcdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fSlcclxuXHRcdFx0fVxyXG5cdFx0fSk7XHJcblx0fVxyXG5cclxuXHRhc3luYyByZW1vdmVUaW55TUNFKCkge1xyXG5cdFx0aWYgKHRoaXMudGlueU1DRVV1aWQpIHtcclxuXHRcdFx0Y29uc3QgdGlueU1DRSA9IHRpbnltY2UuZ2V0KGBlbWFpbGVyX3RpbnltY2VfJHt0aGlzLnRpbnlNQ0VVdWlkfWApO1xyXG5cclxuXHRcdFx0aWYgKHRpbnlNQ0UpXHJcblx0XHRcdFx0dGlueU1DRS5yZW1vdmUoKTtcclxuXHJcblx0XHRcdGNvbnN0IHRpbnlNQ0VDb250YWluZXIgPSA8SFRNTERpdkVsZW1lbnQ+dGhpcy50aW55TUNFQ29udGFpbmVyUmVmLm5hdGl2ZUVsZW1lbnQ7XHJcblx0XHRcdHRpbnlNQ0VDb250YWluZXIuaW5uZXJIVE1MID0gXCJcIjtcclxuXHJcblx0XHRcdHRoaXMudGlueU1DRUluaXRpYWxpemVkID0gZmFsc2U7XHJcblxyXG5cdFx0XHR0aGlzLnRpbnlNQ0VVdWlkID0gbnVsbDtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuIl19
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { CommonModule } from '@angular/common';
|
|
2
|
-
import { NgModule } from "@angular/core";
|
|
3
|
-
import { FormsModule } from "@angular/forms";
|
|
4
|
-
import { SlickDialogModule } from "../slick-dialog/slick-dialog.module";
|
|
5
|
-
import { SlickAutoCompleteModule } from "../slick-auto-complete/slick-auto-complete.module";
|
|
6
|
-
import { SlickButtonSpinnerModule } from "../slick-button-spinner/slick-button-spinner.module";
|
|
7
|
-
import { SlickFileDropModule } from "../slick-file-drop/slick-file-drop.module";
|
|
8
|
-
import { SlickFileListModule } from "../slick-file-list/slick-file-list.module";
|
|
9
|
-
import { SlickEmailerComponent } from "./slick-emailer.component";
|
|
10
|
-
import { SlickEmailerDialogComponent } from "./slick-emailer-dialog.component";
|
|
11
|
-
export class SlickEmailerModule {
|
|
12
|
-
}
|
|
13
|
-
SlickEmailerModule.decorators = [
|
|
14
|
-
{ type: NgModule, args: [{
|
|
15
|
-
imports: [CommonModule, FormsModule, SlickDialogModule, SlickAutoCompleteModule, SlickButtonSpinnerModule, SlickFileDropModule, SlickFileListModule],
|
|
16
|
-
declarations: [SlickEmailerComponent, SlickEmailerDialogComponent],
|
|
17
|
-
exports: [CommonModule, FormsModule, SlickEmailerComponent, SlickEmailerDialogComponent]
|
|
18
|
-
},] }
|
|
19
|
-
];
|
|
20
|
-
export { SlickEmailerComponent };
|
|
21
|
-
export { SlickEmailerDialogComponent };
|
|
22
|
-
export { SlickEmailerModel } from "./slick-emailer.model";
|
|
23
|
-
export { SlickEmailerAddressModel } from "./slick-emailer-address.model";
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpY2stZW1haWxlci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9zbGljay1lbWFpbGVyL3NsaWNrLWVtYWlsZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUN4RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUM1RixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUMvRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNoRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNoRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQU8vRSxNQUFNLE9BQU8sa0JBQWtCOzs7WUFMOUIsUUFBUSxTQUFDO2dCQUNULE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxXQUFXLEVBQUUsaUJBQWlCLEVBQUUsdUJBQXVCLEVBQUUsd0JBQXdCLEVBQUUsbUJBQW1CLEVBQUUsbUJBQW1CLENBQUM7Z0JBQ3BKLFlBQVksRUFBRSxDQUFDLHFCQUFxQixFQUFFLDJCQUEyQixDQUFDO2dCQUNsRSxPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsV0FBVyxFQUFFLHFCQUFxQixFQUFFLDJCQUEyQixDQUFDO2FBQ3hGOztBQUVELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxDQUFBO0FBQ2hDLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxDQUFBO0FBQ3RDLE9BQU8sRUFBc0IsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM5RSxPQUFPLEVBQTZCLHdCQUF3QixFQUFFLE1BQU0sK0JBQStCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7IFNsaWNrRGlhbG9nTW9kdWxlIH0gZnJvbSBcIi4uL3NsaWNrLWRpYWxvZy9zbGljay1kaWFsb2cubW9kdWxlXCI7XHJcbmltcG9ydCB7IFNsaWNrQXV0b0NvbXBsZXRlTW9kdWxlIH0gZnJvbSBcIi4uL3NsaWNrLWF1dG8tY29tcGxldGUvc2xpY2stYXV0by1jb21wbGV0ZS5tb2R1bGVcIjtcclxuaW1wb3J0IHsgU2xpY2tCdXR0b25TcGlubmVyTW9kdWxlIH0gZnJvbSBcIi4uL3NsaWNrLWJ1dHRvbi1zcGlubmVyL3NsaWNrLWJ1dHRvbi1zcGlubmVyLm1vZHVsZVwiO1xyXG5pbXBvcnQgeyBTbGlja0ZpbGVEcm9wTW9kdWxlIH0gZnJvbSBcIi4uL3NsaWNrLWZpbGUtZHJvcC9zbGljay1maWxlLWRyb3AubW9kdWxlXCI7XHJcbmltcG9ydCB7IFNsaWNrRmlsZUxpc3RNb2R1bGUgfSBmcm9tIFwiLi4vc2xpY2stZmlsZS1saXN0L3NsaWNrLWZpbGUtbGlzdC5tb2R1bGVcIjtcclxuaW1wb3J0IHsgU2xpY2tFbWFpbGVyQ29tcG9uZW50IH0gZnJvbSBcIi4vc2xpY2stZW1haWxlci5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgU2xpY2tFbWFpbGVyRGlhbG9nQ29tcG9uZW50IH0gZnJvbSBcIi4vc2xpY2stZW1haWxlci1kaWFsb2cuY29tcG9uZW50XCI7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG5cdGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEZvcm1zTW9kdWxlLCBTbGlja0RpYWxvZ01vZHVsZSwgU2xpY2tBdXRvQ29tcGxldGVNb2R1bGUsIFNsaWNrQnV0dG9uU3Bpbm5lck1vZHVsZSwgU2xpY2tGaWxlRHJvcE1vZHVsZSwgU2xpY2tGaWxlTGlzdE1vZHVsZV0sXHJcblx0ZGVjbGFyYXRpb25zOiBbU2xpY2tFbWFpbGVyQ29tcG9uZW50LCBTbGlja0VtYWlsZXJEaWFsb2dDb21wb25lbnRdLFxyXG5cdGV4cG9ydHM6IFtDb21tb25Nb2R1bGUsIEZvcm1zTW9kdWxlLCBTbGlja0VtYWlsZXJDb21wb25lbnQsIFNsaWNrRW1haWxlckRpYWxvZ0NvbXBvbmVudF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFNsaWNrRW1haWxlck1vZHVsZSB7IH1cclxuZXhwb3J0IHsgU2xpY2tFbWFpbGVyQ29tcG9uZW50IH1cclxuZXhwb3J0IHsgU2xpY2tFbWFpbGVyRGlhbG9nQ29tcG9uZW50IH1cclxuZXhwb3J0IHsgSVNsaWNrRW1haWxlck1vZGVsLCBTbGlja0VtYWlsZXJNb2RlbCB9IGZyb20gXCIuL3NsaWNrLWVtYWlsZXIubW9kZWxcIjtcclxuZXhwb3J0IHsgSVNsaWNrRW1haWxlckFkZHJlc3NNb2RlbCwgU2xpY2tFbWFpbGVyQWRkcmVzc01vZGVsIH0gZnJvbSBcIi4vc2xpY2stZW1haWxlci1hZGRyZXNzLm1vZGVsXCI7XHJcbiJdfQ==
|
|
@@ -1,144 +0,0 @@
|
|
|
1
|
-
import { __awaiter } from "tslib";
|
|
2
|
-
import { Component, Input, Output, EventEmitter, ElementRef, ViewChild, HostListener } from "@angular/core";
|
|
3
|
-
import { SlickUtilsService } from "../utils/slick-utils.service";
|
|
4
|
-
import { SlickFileModel } from "../slick-file-model/slick-file.model";
|
|
5
|
-
const imgExtensions = ['bmp', 'gif', 'jpeg', 'jpg', 'png', 'tif', 'tiff'];
|
|
6
|
-
export class SlickFileDropComponent {
|
|
7
|
-
constructor() {
|
|
8
|
-
this.displayText = "Drop Files Here...";
|
|
9
|
-
this.filesChangedEmitter = new EventEmitter();
|
|
10
|
-
this.fnOnFileInputChange = (e) => this.onFileInputChange(e);
|
|
11
|
-
this.uuid = SlickUtilsService.newGuid();
|
|
12
|
-
}
|
|
13
|
-
onClick(e) {
|
|
14
|
-
this.fileInput.nativeElement.click();
|
|
15
|
-
this.fileInput.nativeElement.removeEventListener("change", this.fnOnFileInputChange, true);
|
|
16
|
-
this.fileInput.nativeElement.addEventListener("change", this.fnOnFileInputChange, true);
|
|
17
|
-
}
|
|
18
|
-
ngOnDestroy() {
|
|
19
|
-
this.fileInput.nativeElement.removeEventListener("change", this.fnOnFileInputChange, true);
|
|
20
|
-
}
|
|
21
|
-
onFileInputChange(e) {
|
|
22
|
-
try {
|
|
23
|
-
this.processFileTimeout = setTimeout(() => {
|
|
24
|
-
alert("Processing files timed out");
|
|
25
|
-
}, 10000);
|
|
26
|
-
this.processFiles(this.fileInput.nativeElement.files);
|
|
27
|
-
// A validation to make sure the files all got processed
|
|
28
|
-
clearTimeout(this.processFileTimeout);
|
|
29
|
-
this.fileInput.nativeElement.value = '';
|
|
30
|
-
}
|
|
31
|
-
catch (err) {
|
|
32
|
-
alert("SlickFileDrop Error: " + err);
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
onDrop(e) {
|
|
36
|
-
e.preventDefault();
|
|
37
|
-
e.stopPropagation();
|
|
38
|
-
this.containerRef.nativeElement.classList.remove("slick-file-drop_drag-enter");
|
|
39
|
-
this.processFiles(e.dataTransfer.files);
|
|
40
|
-
}
|
|
41
|
-
onDragEnter(e) {
|
|
42
|
-
this.containerRef.nativeElement.classList.add("slick-file-drop_drag-enter");
|
|
43
|
-
}
|
|
44
|
-
onDragOver(e) {
|
|
45
|
-
e.preventDefault();
|
|
46
|
-
}
|
|
47
|
-
onDragLeave(e) {
|
|
48
|
-
this.containerRef.nativeElement.classList.remove("slick-file-drop_drag-enter");
|
|
49
|
-
}
|
|
50
|
-
processFiles(files) {
|
|
51
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
52
|
-
let slickFileModels = [];
|
|
53
|
-
let imageLoadPromises = [];
|
|
54
|
-
let imgPromises = [];
|
|
55
|
-
for (let i = 0; i < files.length; i++) {
|
|
56
|
-
imageLoadPromises.push(new Promise((resolve) => __awaiter(this, void 0, void 0, function* () {
|
|
57
|
-
let file = files.item(i);
|
|
58
|
-
let slickFileModel = new SlickFileModel();
|
|
59
|
-
slickFileModel.uuid = SlickUtilsService.newGuid();
|
|
60
|
-
slickFileModel.file = file;
|
|
61
|
-
slickFileModel.name = file.name;
|
|
62
|
-
slickFileModel.title = file.name;
|
|
63
|
-
let fileNameParts = slickFileModel.name.split('.');
|
|
64
|
-
let ext = fileNameParts[fileNameParts.length - 1].toLowerCase();
|
|
65
|
-
if (imgExtensions.indexOf(ext) >= 0) {
|
|
66
|
-
let img = new Image;
|
|
67
|
-
img.onload = () => {
|
|
68
|
-
slickFileModel.thumbnailBase64Image = this.resizeImageToBase64(img, 60, 60);
|
|
69
|
-
slickFileModel.base64Image = this.resizeImageToBase64(img, 1600, 1600);
|
|
70
|
-
slickFileModels.push(slickFileModel);
|
|
71
|
-
resolve(null);
|
|
72
|
-
};
|
|
73
|
-
img.src = yield this.getBase64(file);
|
|
74
|
-
}
|
|
75
|
-
else {
|
|
76
|
-
slickFileModels.push(slickFileModel);
|
|
77
|
-
resolve(null);
|
|
78
|
-
}
|
|
79
|
-
})));
|
|
80
|
-
}
|
|
81
|
-
yield Promise.all(imageLoadPromises);
|
|
82
|
-
this.filesChangedEmitter.emit(slickFileModels);
|
|
83
|
-
});
|
|
84
|
-
}
|
|
85
|
-
resizeImageToBase64(img, width, height) {
|
|
86
|
-
let scale = 1;
|
|
87
|
-
if (img.width > img.height) {
|
|
88
|
-
if (img.width > width)
|
|
89
|
-
scale = width / img.width;
|
|
90
|
-
}
|
|
91
|
-
else {
|
|
92
|
-
if (img.height > height)
|
|
93
|
-
scale = height / img.height;
|
|
94
|
-
}
|
|
95
|
-
let newWidth = img.width * scale;
|
|
96
|
-
let newHeight = img.height * scale;
|
|
97
|
-
// We create a canvas and get its context.
|
|
98
|
-
var canvas = document.createElement('canvas');
|
|
99
|
-
var ctx = canvas.getContext('2d');
|
|
100
|
-
// We set the dimensions at the wanted size.
|
|
101
|
-
canvas.width = newWidth;
|
|
102
|
-
canvas.height = newHeight;
|
|
103
|
-
// We resize the image with the canvas method drawImage();
|
|
104
|
-
ctx.drawImage(img, 0, 0, newWidth, newHeight);
|
|
105
|
-
return canvas.toDataURL("image/jpeg");
|
|
106
|
-
}
|
|
107
|
-
getBase64(file) {
|
|
108
|
-
return new Promise((resolve, reject) => {
|
|
109
|
-
// Capacitor fails on the FileReader, so we need to get _readReader
|
|
110
|
-
// See: https://github.com/ionic-team/ionic-native/issues/505#issuecomment-503316333
|
|
111
|
-
let fileReader = new FileReader();
|
|
112
|
-
// Get the original real FileReader. The polyfill saves a reference to it.
|
|
113
|
-
const realFileReader = fileReader._realReader;
|
|
114
|
-
// Make sure we were able to get the original FileReader
|
|
115
|
-
if (realFileReader) {
|
|
116
|
-
// Swap out the polyfill instance for the original instance.
|
|
117
|
-
fileReader = realFileReader;
|
|
118
|
-
}
|
|
119
|
-
fileReader.readAsDataURL(file);
|
|
120
|
-
fileReader.onload = () => resolve(fileReader.result);
|
|
121
|
-
fileReader.onerror = (error) => reject('Error: ' + error);
|
|
122
|
-
});
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
SlickFileDropComponent.decorators = [
|
|
126
|
-
{ type: Component, args: [{
|
|
127
|
-
selector: 'slick-file-drop',
|
|
128
|
-
template: "<p #containerRef id=\"slick-file-drop_{{uuid}}\" class=\"slick-file-drop card\">\r\n\t{{displayText}}\r\n</p>\r\n<input type=\"file\" #fileInput style=\"display: none\" multiple />\r\n"
|
|
129
|
-
},] }
|
|
130
|
-
];
|
|
131
|
-
/** @nocollapse */
|
|
132
|
-
SlickFileDropComponent.ctorParameters = () => [];
|
|
133
|
-
SlickFileDropComponent.propDecorators = {
|
|
134
|
-
displayText: [{ type: Input, args: ["displayText",] }],
|
|
135
|
-
filesChangedEmitter: [{ type: Output, args: ["filesChanged",] }],
|
|
136
|
-
containerRef: [{ type: ViewChild, args: ["containerRef",] }],
|
|
137
|
-
fileInput: [{ type: ViewChild, args: ["fileInput",] }],
|
|
138
|
-
onClick: [{ type: HostListener, args: ['click', ['$event'],] }],
|
|
139
|
-
onDrop: [{ type: HostListener, args: ['drop', ['$event'],] }],
|
|
140
|
-
onDragEnter: [{ type: HostListener, args: ['dragenter', ['$event'],] }],
|
|
141
|
-
onDragOver: [{ type: HostListener, args: ['dragover', ['$event'],] }],
|
|
142
|
-
onDragLeave: [{ type: HostListener, args: ['dragleave', ['$event'],] }]
|
|
143
|
-
};
|
|
144
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpY2stZmlsZS1kcm9wLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL3NsaWNrLWZpbGUtZHJvcC9zbGljay1maWxlLWRyb3AuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ3ZILE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2pFLE9BQU8sRUFBbUIsY0FBYyxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFFdkYsTUFBTSxhQUFhLEdBQWEsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQTtBQU1uRixNQUFNLE9BQU8sc0JBQXNCO0lBZ0VsQztRQS9Ec0IsZ0JBQVcsR0FBVyxvQkFBb0IsQ0FBQztRQUN6Qyx3QkFBbUIsR0FBb0MsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUkxRix3QkFBbUIsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDO1FBMkQ5RCxJQUFJLENBQUMsSUFBSSxHQUFHLGlCQUFpQixDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3pDLENBQUM7SUF4REQsT0FBTyxDQUFDLENBQUM7UUFDUixJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNsQixJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWMsQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLG1CQUFtQixFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzVGLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYyxDQUFDLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsbUJBQW1CLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDN0csQ0FBQztJQUVELFdBQVc7UUFDUyxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWMsQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLG1CQUFtQixFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ2hILENBQUM7SUFFTyxpQkFBaUIsQ0FBQyxDQUFDO1FBQzFCLElBQUk7WUFDSCxJQUFJLENBQUMsa0JBQWtCLEdBQUcsVUFBVSxDQUFDLEdBQUcsRUFBRTtnQkFDekMsS0FBSyxDQUFDLDRCQUE0QixDQUFDLENBQUM7WUFDckMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBRVYsSUFBSSxDQUFDLFlBQVksQ0FBb0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7WUFFMUUsd0RBQXdEO1lBQ3hELFlBQVksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztZQUNuQixJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWMsQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO1NBQzVEO1FBQ0QsT0FBTyxHQUFHLEVBQUU7WUFDWCxLQUFLLENBQUMsdUJBQXVCLEdBQUcsR0FBRyxDQUFDLENBQUM7U0FDckM7SUFDRixDQUFDO0lBR0QsTUFBTSxDQUFDLENBQUM7UUFDUCxDQUFDLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDbkIsQ0FBQyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBRXBCLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsNEJBQTRCLENBQUMsQ0FBQztRQUUvRSxJQUFJLENBQUMsWUFBWSxDQUFnQixDQUFDLENBQUMsWUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFHRCxXQUFXLENBQUMsQ0FBQztRQUNaLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsNEJBQTRCLENBQUMsQ0FBQztJQUM3RSxDQUFDO0lBR0QsVUFBVSxDQUFDLENBQUM7UUFDWCxDQUFDLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDcEIsQ0FBQztJQUdELFdBQVcsQ0FBQyxDQUFDO1FBQ1osSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO0lBQ2hGLENBQUM7SUFRYSxZQUFZLENBQUMsS0FBZTs7WUFDekMsSUFBSSxlQUFlLEdBQXNCLEVBQUUsQ0FBQztZQUM1QyxJQUFJLGlCQUFpQixHQUFHLEVBQUUsQ0FBQztZQUUzQixJQUFJLFdBQVcsR0FBc0IsRUFBRSxDQUFDO1lBQ3hDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO2dCQUN0QyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxPQUFPLENBQUMsQ0FBTyxPQUFPLEVBQUUsRUFBRTtvQkFDcEQsSUFBSSxJQUFJLEdBQVMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDL0IsSUFBSSxjQUFjLEdBQUcsSUFBSSxjQUFjLEVBQUUsQ0FBQztvQkFDMUMsY0FBYyxDQUFDLElBQUksR0FBRyxpQkFBaUIsQ0FBQyxPQUFPLEVBQUUsQ0FBQztvQkFDbEQsY0FBYyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7b0JBQzNCLGNBQWMsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztvQkFDaEMsY0FBYyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO29CQUVqQyxJQUFJLGFBQWEsR0FBRyxjQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztvQkFDbkQsSUFBSSxHQUFHLEdBQUcsYUFBYSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7b0JBRWhFLElBQUksYUFBYSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUU7d0JBQ3BDLElBQUksR0FBRyxHQUFHLElBQUksS0FBSyxDQUFDO3dCQUNwQixHQUFHLENBQUMsTUFBTSxHQUFHLEdBQUcsRUFBRTs0QkFDakIsY0FBYyxDQUFDLG9CQUFvQixHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDOzRCQUM1RSxjQUFjLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDOzRCQUN2RSxlQUFlLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDOzRCQUNyQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7d0JBQ2YsQ0FBQyxDQUFBO3dCQUNELEdBQUcsQ0FBQyxHQUFHLEdBQUcsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO3FCQUNyQzt5QkFDSTt3QkFDSixlQUFlLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO3dCQUNyQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7cUJBQ2Q7Z0JBQ0YsQ0FBQyxDQUFBLENBQUMsQ0FBQyxDQUFDO2FBQ0o7WUFFRCxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsQ0FBQztZQUNyQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ2hELENBQUM7S0FBQTtJQUVPLG1CQUFtQixDQUFDLEdBQXFCLEVBQUUsS0FBYSxFQUFFLE1BQWM7UUFDL0UsSUFBSSxLQUFLLEdBQVcsQ0FBQyxDQUFDO1FBQ3RCLElBQUksR0FBRyxDQUFDLEtBQUssR0FBRyxHQUFHLENBQUMsTUFBTSxFQUFFO1lBQzNCLElBQUksR0FBRyxDQUFDLEtBQUssR0FBRyxLQUFLO2dCQUNwQixLQUFLLEdBQUcsS0FBSyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUM7U0FDM0I7YUFDSTtZQUNKLElBQUksR0FBRyxDQUFDLE1BQU0sR0FBRyxNQUFNO2dCQUN0QixLQUFLLEdBQUcsTUFBTSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUM7U0FDN0I7UUFFRCxJQUFJLFFBQVEsR0FBRyxHQUFHLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNqQyxJQUFJLFNBQVMsR0FBRyxHQUFHLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUVuQywwQ0FBMEM7UUFDMUMsSUFBSSxNQUFNLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM5QyxJQUFJLEdBQUcsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRWxDLDRDQUE0QztRQUM1QyxNQUFNLENBQUMsS0FBSyxHQUFHLFFBQVEsQ0FBQztRQUN4QixNQUFNLENBQUMsTUFBTSxHQUFHLFNBQVMsQ0FBQztRQUUxQiwwREFBMEQ7UUFDMUQsR0FBRyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxRQUFRLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFFOUMsT0FBTyxNQUFNLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFTyxTQUFTLENBQUMsSUFBVTtRQUMzQixPQUFPLElBQUksT0FBTyxDQUFTLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1lBQzlDLG1FQUFtRTtZQUNuRSxvRkFBb0Y7WUFDcEYsSUFBSSxVQUFVLEdBQUcsSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUVsQywwRUFBMEU7WUFDMUUsTUFBTSxjQUFjLEdBQUksVUFBa0IsQ0FBQyxXQUFXLENBQUM7WUFFdkQseURBQXlEO1lBQ3pELElBQUksY0FBYyxFQUFFO2dCQUNuQiw0REFBNEQ7Z0JBQzVELFVBQVUsR0FBRyxjQUFjLENBQUM7YUFDNUI7WUFFRCxVQUFVLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQy9CLFVBQVUsQ0FBQyxNQUFNLEdBQUcsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFTLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUM3RCxVQUFVLENBQUMsT0FBTyxHQUFHLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQyxDQUFDO1FBQzNELENBQUMsQ0FBQyxDQUFDO0lBQ0osQ0FBQzs7O1lBN0pELFNBQVMsU0FBQztnQkFDVixRQUFRLEVBQUUsaUJBQWlCO2dCQUMzQixvTUFBNkM7YUFDN0M7Ozs7OzBCQUVDLEtBQUssU0FBQyxhQUFhO2tDQUNuQixNQUFNLFNBQUMsY0FBYzsyQkFDckIsU0FBUyxTQUFDLGNBQWM7d0JBQ3hCLFNBQVMsU0FBQyxXQUFXO3NCQUtyQixZQUFZLFNBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDO3FCQTRCaEMsWUFBWSxTQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQzswQkFVL0IsWUFBWSxTQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQzt5QkFLcEMsWUFBWSxTQUFDLFVBQVUsRUFBRSxDQUFDLFFBQVEsQ0FBQzswQkFLbkMsWUFBWSxTQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBFbGVtZW50UmVmLCBWaWV3Q2hpbGQsIEhvc3RMaXN0ZW5lciwgT25EZXN0cm95IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgU2xpY2tVdGlsc1NlcnZpY2UgfSBmcm9tIFwiLi4vdXRpbHMvc2xpY2stdXRpbHMuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBJU2xpY2tGaWxlTW9kZWwsIFNsaWNrRmlsZU1vZGVsIH0gZnJvbSBcIi4uL3NsaWNrLWZpbGUtbW9kZWwvc2xpY2stZmlsZS5tb2RlbFwiO1xyXG5cclxuY29uc3QgaW1nRXh0ZW5zaW9uczogc3RyaW5nW10gPSBbJ2JtcCcsICdnaWYnLCAnanBlZycsICdqcGcnLCAncG5nJywgJ3RpZicsICd0aWZmJ11cclxuXHJcbkBDb21wb25lbnQoe1xyXG5cdHNlbGVjdG9yOiAnc2xpY2stZmlsZS1kcm9wJyxcclxuXHR0ZW1wbGF0ZVVybDogJ3NsaWNrLWZpbGUtZHJvcC5jb21wb25lbnQuaHRtbCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFNsaWNrRmlsZURyb3BDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xyXG5cdEBJbnB1dChcImRpc3BsYXlUZXh0XCIpIGRpc3BsYXlUZXh0OiBzdHJpbmcgPSBcIkRyb3AgRmlsZXMgSGVyZS4uLlwiO1xyXG5cdEBPdXRwdXQoXCJmaWxlc0NoYW5nZWRcIikgZmlsZXNDaGFuZ2VkRW1pdHRlcjogRXZlbnRFbWl0dGVyPElTbGlja0ZpbGVNb2RlbFtdPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHRAVmlld0NoaWxkKFwiY29udGFpbmVyUmVmXCIpIGNvbnRhaW5lclJlZjogRWxlbWVudFJlZjtcclxuXHRAVmlld0NoaWxkKFwiZmlsZUlucHV0XCIpIGZpbGVJbnB1dDogRWxlbWVudFJlZjtcclxuXHJcblx0cHJpdmF0ZSBmbk9uRmlsZUlucHV0Q2hhbmdlID0gKGUpID0+IHRoaXMub25GaWxlSW5wdXRDaGFuZ2UoZSk7XHJcblx0cHJpdmF0ZSBwcm9jZXNzRmlsZVRpbWVvdXQ6IE5vZGVKUy5UaW1lcjtcclxuXHJcblx0QEhvc3RMaXN0ZW5lcignY2xpY2snLCBbJyRldmVudCddKVxyXG5cdG9uQ2xpY2soZSkge1xyXG5cdFx0dGhpcy5maWxlSW5wdXQubmF0aXZlRWxlbWVudC5jbGljaygpO1xyXG5cdFx0KDxIVE1MSW5wdXRFbGVtZW50PnRoaXMuZmlsZUlucHV0Lm5hdGl2ZUVsZW1lbnQpLnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJjaGFuZ2VcIiwgdGhpcy5mbk9uRmlsZUlucHV0Q2hhbmdlLCB0cnVlKTtcclxuXHRcdCg8SFRNTElucHV0RWxlbWVudD50aGlzLmZpbGVJbnB1dC5uYXRpdmVFbGVtZW50KS5hZGRFdmVudExpc3RlbmVyKFwiY2hhbmdlXCIsIHRoaXMuZm5PbkZpbGVJbnB1dENoYW5nZSwgdHJ1ZSk7XHJcblx0fVxyXG5cclxuXHRuZ09uRGVzdHJveSgpIHtcclxuXHRcdCg8SFRNTElucHV0RWxlbWVudD50aGlzLmZpbGVJbnB1dC5uYXRpdmVFbGVtZW50KS5yZW1vdmVFdmVudExpc3RlbmVyKFwiY2hhbmdlXCIsIHRoaXMuZm5PbkZpbGVJbnB1dENoYW5nZSwgdHJ1ZSk7XHJcblx0fVxyXG5cclxuXHRwcml2YXRlIG9uRmlsZUlucHV0Q2hhbmdlKGUpIHtcclxuXHRcdHRyeSB7XHJcblx0XHRcdHRoaXMucHJvY2Vzc0ZpbGVUaW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiB7XHJcblx0XHRcdFx0YWxlcnQoXCJQcm9jZXNzaW5nIGZpbGVzIHRpbWVkIG91dFwiKTtcclxuXHRcdFx0fSwgMTAwMDApO1xyXG5cclxuXHRcdFx0dGhpcy5wcm9jZXNzRmlsZXMoKDxIVE1MSW5wdXRFbGVtZW50PnRoaXMuZmlsZUlucHV0Lm5hdGl2ZUVsZW1lbnQpLmZpbGVzKTtcclxuXHJcblx0XHRcdC8vIEEgdmFsaWRhdGlvbiB0byBtYWtlIHN1cmUgdGhlIGZpbGVzIGFsbCBnb3QgcHJvY2Vzc2VkXHJcblx0XHRcdGNsZWFyVGltZW91dCh0aGlzLnByb2Nlc3NGaWxlVGltZW91dCk7XHJcblx0XHRcdCg8SFRNTElucHV0RWxlbWVudD50aGlzLmZpbGVJbnB1dC5uYXRpdmVFbGVtZW50KS52YWx1ZSA9ICcnO1xyXG5cdFx0fVxyXG5cdFx0Y2F0Y2ggKGVycikge1xyXG5cdFx0XHRhbGVydChcIlNsaWNrRmlsZURyb3AgRXJyb3I6IFwiICsgZXJyKTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdEBIb3N0TGlzdGVuZXIoJ2Ryb3AnLCBbJyRldmVudCddKVxyXG5cdG9uRHJvcChlKSB7XHJcblx0XHRlLnByZXZlbnREZWZhdWx0KCk7XHJcblx0XHRlLnN0b3BQcm9wYWdhdGlvbigpO1xyXG5cclxuXHRcdHRoaXMuY29udGFpbmVyUmVmLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZShcInNsaWNrLWZpbGUtZHJvcF9kcmFnLWVudGVyXCIpO1xyXG5cclxuXHRcdHRoaXMucHJvY2Vzc0ZpbGVzKCg8RGF0YVRyYW5zZmVyPmUuZGF0YVRyYW5zZmVyKS5maWxlcyk7XHJcblx0fVxyXG5cclxuXHRASG9zdExpc3RlbmVyKCdkcmFnZW50ZXInLCBbJyRldmVudCddKVxyXG5cdG9uRHJhZ0VudGVyKGUpIHtcclxuXHRcdHRoaXMuY29udGFpbmVyUmVmLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LmFkZChcInNsaWNrLWZpbGUtZHJvcF9kcmFnLWVudGVyXCIpO1xyXG5cdH1cclxuXHJcblx0QEhvc3RMaXN0ZW5lcignZHJhZ292ZXInLCBbJyRldmVudCddKVxyXG5cdG9uRHJhZ092ZXIoZSkge1xyXG5cdFx0ZS5wcmV2ZW50RGVmYXVsdCgpO1xyXG5cdH1cclxuXHJcblx0QEhvc3RMaXN0ZW5lcignZHJhZ2xlYXZlJywgWyckZXZlbnQnXSlcclxuXHRvbkRyYWdMZWF2ZShlKSB7XHJcblx0XHR0aGlzLmNvbnRhaW5lclJlZi5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoXCJzbGljay1maWxlLWRyb3BfZHJhZy1lbnRlclwiKTtcclxuXHR9XHJcblxyXG5cdHV1aWQ6IHN0cmluZztcclxuXHJcblx0Y29uc3RydWN0b3IoKSB7XHJcblx0XHR0aGlzLnV1aWQgPSBTbGlja1V0aWxzU2VydmljZS5uZXdHdWlkKCk7XHJcblx0fVxyXG5cclxuXHRwcml2YXRlIGFzeW5jIHByb2Nlc3NGaWxlcyhmaWxlczogRmlsZUxpc3QpIHtcclxuXHRcdGxldCBzbGlja0ZpbGVNb2RlbHM6IElTbGlja0ZpbGVNb2RlbFtdID0gW107XHJcblx0XHRsZXQgaW1hZ2VMb2FkUHJvbWlzZXMgPSBbXTtcclxuXHJcblx0XHRsZXQgaW1nUHJvbWlzZXM6IFByb21pc2U8c3RyaW5nPltdID0gW107XHJcblx0XHRmb3IgKGxldCBpID0gMDsgaSA8IGZpbGVzLmxlbmd0aDsgaSsrKSB7XHJcblx0XHRcdGltYWdlTG9hZFByb21pc2VzLnB1c2gobmV3IFByb21pc2UoYXN5bmMgKHJlc29sdmUpID0+IHtcclxuXHRcdFx0XHRsZXQgZmlsZTogRmlsZSA9IGZpbGVzLml0ZW0oaSk7XHJcblx0XHRcdFx0bGV0IHNsaWNrRmlsZU1vZGVsID0gbmV3IFNsaWNrRmlsZU1vZGVsKCk7XHJcblx0XHRcdFx0c2xpY2tGaWxlTW9kZWwudXVpZCA9IFNsaWNrVXRpbHNTZXJ2aWNlLm5ld0d1aWQoKTtcclxuXHRcdFx0XHRzbGlja0ZpbGVNb2RlbC5maWxlID0gZmlsZTtcclxuXHRcdFx0XHRzbGlja0ZpbGVNb2RlbC5uYW1lID0gZmlsZS5uYW1lO1xyXG5cdFx0XHRcdHNsaWNrRmlsZU1vZGVsLnRpdGxlID0gZmlsZS5uYW1lO1xyXG5cclxuXHRcdFx0XHRsZXQgZmlsZU5hbWVQYXJ0cyA9IHNsaWNrRmlsZU1vZGVsLm5hbWUuc3BsaXQoJy4nKTtcclxuXHRcdFx0XHRsZXQgZXh0ID0gZmlsZU5hbWVQYXJ0c1tmaWxlTmFtZVBhcnRzLmxlbmd0aCAtIDFdLnRvTG93ZXJDYXNlKCk7XHJcblxyXG5cdFx0XHRcdGlmIChpbWdFeHRlbnNpb25zLmluZGV4T2YoZXh0KSA+PSAwKSB7XHJcblx0XHRcdFx0XHRsZXQgaW1nID0gbmV3IEltYWdlO1xyXG5cdFx0XHRcdFx0aW1nLm9ubG9hZCA9ICgpID0+IHtcdFxyXG5cdFx0XHRcdFx0XHRzbGlja0ZpbGVNb2RlbC50aHVtYm5haWxCYXNlNjRJbWFnZSA9IHRoaXMucmVzaXplSW1hZ2VUb0Jhc2U2NChpbWcsIDYwLCA2MCk7XHJcblx0XHRcdFx0XHRcdHNsaWNrRmlsZU1vZGVsLmJhc2U2NEltYWdlID0gdGhpcy5yZXNpemVJbWFnZVRvQmFzZTY0KGltZywgMTYwMCwgMTYwMCk7XHJcblx0XHRcdFx0XHRcdHNsaWNrRmlsZU1vZGVscy5wdXNoKHNsaWNrRmlsZU1vZGVsKTtcclxuXHRcdFx0XHRcdFx0cmVzb2x2ZShudWxsKTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdGltZy5zcmMgPSBhd2FpdCB0aGlzLmdldEJhc2U2NChmaWxlKTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0ZWxzZSB7XHJcblx0XHRcdFx0XHRzbGlja0ZpbGVNb2RlbHMucHVzaChzbGlja0ZpbGVNb2RlbCk7XHJcblx0XHRcdFx0XHRyZXNvbHZlKG51bGwpO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSkpO1xyXG5cdFx0fVxyXG5cclxuXHRcdGF3YWl0IFByb21pc2UuYWxsKGltYWdlTG9hZFByb21pc2VzKTtcclxuXHRcdHRoaXMuZmlsZXNDaGFuZ2VkRW1pdHRlci5lbWl0KHNsaWNrRmlsZU1vZGVscyk7XHJcblx0fVxyXG5cclxuXHRwcml2YXRlIHJlc2l6ZUltYWdlVG9CYXNlNjQoaW1nOiBIVE1MSW1hZ2VFbGVtZW50LCB3aWR0aDogbnVtYmVyLCBoZWlnaHQ6IG51bWJlcik6IHN0cmluZyB7XHJcblx0XHRsZXQgc2NhbGU6IG51bWJlciA9IDE7XHJcblx0XHRpZiAoaW1nLndpZHRoID4gaW1nLmhlaWdodCkge1xyXG5cdFx0XHRpZiAoaW1nLndpZHRoID4gd2lkdGgpXHJcblx0XHRcdFx0c2NhbGUgPSB3aWR0aCAvIGltZy53aWR0aDtcclxuXHRcdH1cclxuXHRcdGVsc2Uge1xyXG5cdFx0XHRpZiAoaW1nLmhlaWdodCA+IGhlaWdodClcclxuXHRcdFx0XHRzY2FsZSA9IGhlaWdodCAvIGltZy5oZWlnaHQ7XHJcblx0XHR9XHJcblxyXG5cdFx0bGV0IG5ld1dpZHRoID0gaW1nLndpZHRoICogc2NhbGU7XHJcblx0XHRsZXQgbmV3SGVpZ2h0ID0gaW1nLmhlaWdodCAqIHNjYWxlO1xyXG5cclxuXHRcdC8vIFdlIGNyZWF0ZSBhIGNhbnZhcyBhbmQgZ2V0IGl0cyBjb250ZXh0LlxyXG5cdFx0dmFyIGNhbnZhcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2NhbnZhcycpO1xyXG5cdFx0dmFyIGN0eCA9IGNhbnZhcy5nZXRDb250ZXh0KCcyZCcpO1xyXG5cclxuXHRcdC8vIFdlIHNldCB0aGUgZGltZW5zaW9ucyBhdCB0aGUgd2FudGVkIHNpemUuXHJcblx0XHRjYW52YXMud2lkdGggPSBuZXdXaWR0aDtcclxuXHRcdGNhbnZhcy5oZWlnaHQgPSBuZXdIZWlnaHQ7XHJcblxyXG5cdFx0Ly8gV2UgcmVzaXplIHRoZSBpbWFnZSB3aXRoIHRoZSBjYW52YXMgbWV0aG9kIGRyYXdJbWFnZSgpO1xyXG5cdFx0Y3R4LmRyYXdJbWFnZShpbWcsIDAsIDAsIG5ld1dpZHRoLCBuZXdIZWlnaHQpO1xyXG5cclxuXHRcdHJldHVybiBjYW52YXMudG9EYXRhVVJMKFwiaW1hZ2UvanBlZ1wiKTtcclxuXHR9XHJcblxyXG5cdHByaXZhdGUgZ2V0QmFzZTY0KGZpbGU6IEZpbGUpOiBQcm9taXNlPHN0cmluZz4ge1xyXG5cdFx0cmV0dXJuIG5ldyBQcm9taXNlPHN0cmluZz4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xyXG5cdFx0XHQvLyBDYXBhY2l0b3IgZmFpbHMgb24gdGhlIEZpbGVSZWFkZXIsIHNvIHdlIG5lZWQgdG8gZ2V0IF9yZWFkUmVhZGVyXHJcblx0XHRcdC8vIFNlZTogaHR0cHM6Ly9naXRodWIuY29tL2lvbmljLXRlYW0vaW9uaWMtbmF0aXZlL2lzc3Vlcy81MDUjaXNzdWVjb21tZW50LTUwMzMxNjMzM1xyXG5cdFx0XHRsZXQgZmlsZVJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7XHJcblxyXG5cdFx0XHQvLyBHZXQgdGhlIG9yaWdpbmFsIHJlYWwgRmlsZVJlYWRlci4gVGhlIHBvbHlmaWxsIHNhdmVzIGEgcmVmZXJlbmNlIHRvIGl0LlxyXG5cdFx0XHRjb25zdCByZWFsRmlsZVJlYWRlciA9IChmaWxlUmVhZGVyIGFzIGFueSkuX3JlYWxSZWFkZXI7XHJcblxyXG5cdFx0XHQvLyBNYWtlIHN1cmUgd2Ugd2VyZSBhYmxlIHRvIGdldCB0aGUgb3JpZ2luYWwgRmlsZVJlYWRlciBcclxuXHRcdFx0aWYgKHJlYWxGaWxlUmVhZGVyKSB7XHJcblx0XHRcdFx0Ly8gU3dhcCBvdXQgdGhlIHBvbHlmaWxsIGluc3RhbmNlIGZvciB0aGUgb3JpZ2luYWwgaW5zdGFuY2UuXHJcblx0XHRcdFx0ZmlsZVJlYWRlciA9IHJlYWxGaWxlUmVhZGVyO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRmaWxlUmVhZGVyLnJlYWRBc0RhdGFVUkwoZmlsZSk7XHJcblx0XHRcdGZpbGVSZWFkZXIub25sb2FkID0gKCkgPT4gcmVzb2x2ZSg8c3RyaW5nPmZpbGVSZWFkZXIucmVzdWx0KTtcclxuXHRcdFx0ZmlsZVJlYWRlci5vbmVycm9yID0gKGVycm9yKSA9PiByZWplY3QoJ0Vycm9yOiAnICsgZXJyb3IpO1xyXG5cdFx0fSk7XHJcblx0fVxyXG59XHJcbiJdfQ==
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { CommonModule } from '@angular/common';
|
|
2
|
-
import { NgModule } from "@angular/core";
|
|
3
|
-
import { FormsModule } from "@angular/forms";
|
|
4
|
-
import { SlickFileDropComponent } from "./slick-file-drop.component";
|
|
5
|
-
export class SlickFileDropModule {
|
|
6
|
-
}
|
|
7
|
-
SlickFileDropModule.decorators = [
|
|
8
|
-
{ type: NgModule, args: [{
|
|
9
|
-
imports: [CommonModule, FormsModule],
|
|
10
|
-
declarations: [SlickFileDropComponent],
|
|
11
|
-
exports: [CommonModule, FormsModule, SlickFileDropComponent]
|
|
12
|
-
},] }
|
|
13
|
-
];
|
|
14
|
-
export { SlickFileDropComponent };
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpY2stZmlsZS1kcm9wLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL3NsaWNrLWZpbGUtZHJvcC9zbGljay1maWxlLWRyb3AubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQU9yRSxNQUFNLE9BQU8sbUJBQW1COzs7WUFML0IsUUFBUSxTQUFDO2dCQUNULE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxXQUFXLENBQUM7Z0JBQ3BDLFlBQVksRUFBRSxDQUFDLHNCQUFzQixDQUFDO2dCQUN0QyxPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsV0FBVyxFQUFFLHNCQUFzQixDQUFDO2FBQzVEOztBQUVELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5pbXBvcnQgeyBTbGlja0ZpbGVEcm9wQ29tcG9uZW50IH0gZnJvbSBcIi4vc2xpY2stZmlsZS1kcm9wLmNvbXBvbmVudFwiO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuXHRpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBGb3Jtc01vZHVsZV0sXHJcblx0ZGVjbGFyYXRpb25zOiBbU2xpY2tGaWxlRHJvcENvbXBvbmVudF0sXHJcblx0ZXhwb3J0czogW0NvbW1vbk1vZHVsZSwgRm9ybXNNb2R1bGUsIFNsaWNrRmlsZURyb3BDb21wb25lbnRdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTbGlja0ZpbGVEcm9wTW9kdWxlIHsgfVxyXG5leHBvcnQgeyBTbGlja0ZpbGVEcm9wQ29tcG9uZW50IH1cclxuIl19
|