@recursyve/nice-ui-kit.v2 13.2.0-beta.97 → 13.2.0-beta.98
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/esm2020/lib/api/interceptors/transform-response.interceptor.mjs +3 -3
- package/esm2020/lib/components/alert/alert.component.mjs +26 -14
- package/esm2020/lib/components/alert/alert.module.mjs +7 -9
- package/esm2020/lib/components/alert/alert.service.mjs +3 -3
- package/esm2020/lib/components/alert/alert.types.mjs +1 -1
- package/esm2020/lib/components/assets-carousel/assets-carousel.component.mjs +11 -11
- package/esm2020/lib/components/assets-carousel/assets-carousel.module.mjs +11 -13
- package/esm2020/lib/components/async-typeahead/async-typeahead.component.mjs +12 -12
- package/esm2020/lib/components/async-typeahead/async-typeahead.module.mjs +13 -15
- package/esm2020/lib/components/async-typeahead/providers/async-typeahead.service.mjs +3 -3
- package/esm2020/lib/components/base-form/base-form.component.mjs +16 -5
- package/esm2020/lib/components/base-form/base-form.module.mjs +4 -4
- package/esm2020/lib/components/base-form/form-submit.directive.mjs +3 -3
- package/esm2020/lib/components/card/card.component.mjs +4 -4
- package/esm2020/lib/components/card/card.module.mjs +5 -7
- package/esm2020/lib/components/carousel/carousel.component.mjs +3 -3
- package/esm2020/lib/components/carousel/carousel.module.mjs +9 -11
- package/esm2020/lib/components/carousel/picture-modal/picture-modal.component.mjs +3 -3
- package/esm2020/lib/components/carousel/picture-modal/picture-modal.service.mjs +3 -3
- package/esm2020/lib/components/carousel/pipe/carousel-layout.pipe.mjs +3 -3
- package/esm2020/lib/components/drawer/drawer.component.mjs +4 -4
- package/esm2020/lib/components/drawer/drawer.module.mjs +6 -8
- package/esm2020/lib/components/drawer/drawer.service.mjs +3 -3
- package/esm2020/lib/components/export-bottom-sheet/export-bottom-sheet.component.mjs +5 -5
- package/esm2020/lib/components/export-bottom-sheet/export-bottom-sheet.module.mjs +6 -6
- package/esm2020/lib/components/export-bottom-sheet/providers/export-bottom-sheet.service.mjs +6 -6
- package/esm2020/lib/components/form-error/control-status.directive.mjs +3 -3
- package/esm2020/lib/components/form-error/form-error.component.mjs +5 -5
- package/esm2020/lib/components/form-error/form-error.module.mjs +5 -5
- package/esm2020/lib/components/horizontal-stepper/horizontal-stepper.component.mjs +4 -4
- package/esm2020/lib/components/horizontal-stepper/horizontal-stepper.module.mjs +7 -9
- package/esm2020/lib/components/horizontal-stepper/step.component.mjs +3 -3
- package/esm2020/lib/components/image-cropper/image-cropper.component.mjs +11 -11
- package/esm2020/lib/components/image-cropper/image-cropper.module.mjs +5 -5
- package/esm2020/lib/components/layout/layout.component.mjs +3 -3
- package/esm2020/lib/components/layout/layout.module.mjs +5 -5
- package/esm2020/lib/components/loading-spinner/loading-spinner.component.mjs +3 -3
- package/esm2020/lib/components/loading-spinner/loading-spinner.module.mjs +6 -8
- package/esm2020/lib/components/loading-spinner/loading.directive.mjs +3 -3
- package/esm2020/lib/components/lottie/lottie.component.mjs +3 -3
- package/esm2020/lib/components/lottie/lottie.module.mjs +5 -5
- package/esm2020/lib/components/navigation/horizontal/components/basic/basic.component.mjs +9 -9
- package/esm2020/lib/components/navigation/horizontal/components/branch/branch.component.mjs +10 -10
- package/esm2020/lib/components/navigation/horizontal/components/divider/divider.component.mjs +5 -5
- package/esm2020/lib/components/navigation/horizontal/components/spacer/spacer.component.mjs +5 -5
- package/esm2020/lib/components/navigation/horizontal/horizontal.component.mjs +8 -8
- package/esm2020/lib/components/navigation/navigation.component.mjs +3 -3
- package/esm2020/lib/components/navigation/navigation.module.mjs +13 -15
- package/esm2020/lib/components/navigation/navigation.service.mjs +3 -3
- package/esm2020/lib/components/navigation/vertical/components/aside/aside.component.mjs +12 -12
- package/esm2020/lib/components/navigation/vertical/components/basic/basic.component.mjs +7 -7
- package/esm2020/lib/components/navigation/vertical/components/collapsable/collapsable.component.mjs +10 -10
- package/esm2020/lib/components/navigation/vertical/components/divider/divider.component.mjs +5 -5
- package/esm2020/lib/components/navigation/vertical/components/group/group.component.mjs +11 -11
- package/esm2020/lib/components/navigation/vertical/components/spacer/spacer.component.mjs +5 -5
- package/esm2020/lib/components/navigation/vertical/vertical.component.mjs +12 -12
- package/esm2020/lib/components/search-bar/search-bar.component.mjs +8 -8
- package/esm2020/lib/components/search-bar/search-bar.module.mjs +9 -11
- package/esm2020/lib/components/sweet-alert/sweet-alert.component.mjs +5 -5
- package/esm2020/lib/components/sweet-alert/sweet-alert.module.mjs +5 -5
- package/esm2020/lib/components/sweet-alert/sweet-alert.service.mjs +3 -3
- package/esm2020/lib/components/toast/toast.component.mjs +5 -5
- package/esm2020/lib/components/toast/toast.module.mjs +5 -5
- package/esm2020/lib/components/toast/toast.service.mjs +3 -3
- package/esm2020/lib/components/toggle-button-group/toggle-button-group.component.mjs +4 -4
- package/esm2020/lib/components/toggle-button-group/toggle-button-group.module.mjs +6 -8
- package/esm2020/lib/components/toggle-button-group/toggle-button.component.mjs +3 -3
- package/esm2020/lib/components/typeahead/directives/options-scroll.directive.mjs +3 -3
- package/esm2020/lib/components/typeahead/directives/options-scroll.module.mjs +4 -4
- package/esm2020/lib/components/typeahead/typeahead.component.mjs +12 -12
- package/esm2020/lib/components/typeahead/typeahead.module.mjs +15 -17
- package/esm2020/lib/directives/autofocus/autofocus.directive.mjs +3 -3
- package/esm2020/lib/directives/autofocus/autofocus.module.mjs +4 -4
- package/esm2020/lib/directives/autogrow/autogrow.directive.mjs +3 -3
- package/esm2020/lib/directives/autogrow/autogrow.module.mjs +4 -4
- package/esm2020/lib/directives/dropzone/dropzone.directive.mjs +3 -3
- package/esm2020/lib/directives/dropzone/dropzone.module.mjs +5 -5
- package/esm2020/lib/directives/image-error-placeholder/image-error-placeholder.directive.mjs +3 -3
- package/esm2020/lib/directives/image-error-placeholder/image-error-placeholder.module.mjs +4 -4
- package/esm2020/lib/directives/material/material.module.mjs +4 -4
- package/esm2020/lib/directives/material/nice-material-style.directive.mjs +3 -3
- package/esm2020/lib/directives/material/nice-rounded-style.directive.mjs +3 -3
- package/esm2020/lib/directives/modals/modal-on-click.directive.mjs +3 -3
- package/esm2020/lib/directives/modals/modal-opener.directive.mjs +3 -3
- package/esm2020/lib/directives/scroll-reset/scroll-reset.directive.mjs +3 -3
- package/esm2020/lib/directives/scroll-reset/scroll-reset.module.mjs +4 -4
- package/esm2020/lib/directives/scrollbar/scrollbar.directive.mjs +3 -3
- package/esm2020/lib/directives/scrollbar/scrollbar.module.mjs +4 -4
- package/esm2020/lib/directives/stop-propagation/click-stop-propagation.directive.mjs +3 -3
- package/esm2020/lib/directives/stop-propagation/stop-propagation.module.mjs +4 -4
- package/esm2020/lib/directives/window/prevent-close-window.directive.mjs +3 -3
- package/esm2020/lib/directives/window/window-directive.module.mjs +4 -4
- package/esm2020/lib/nice.module.mjs +8 -10
- package/esm2020/lib/pipes/boolean.pipe.mjs +3 -3
- package/esm2020/lib/pipes/capitalize-first-letter.pipe.mjs +3 -3
- package/esm2020/lib/pipes/ceil.pipe.mjs +3 -3
- package/esm2020/lib/pipes/entries.pipe.mjs +3 -3
- package/esm2020/lib/pipes/find-by-key.pipe.mjs +3 -3
- package/esm2020/lib/pipes/first-letter.pipe.mjs +3 -3
- package/esm2020/lib/pipes/floor.pipe.mjs +3 -3
- package/esm2020/lib/pipes/join-if-defined.pipe.mjs +3 -3
- package/esm2020/lib/pipes/link.pipe.mjs +3 -3
- package/esm2020/lib/pipes/localized-boolean.pipe.mjs +3 -3
- package/esm2020/lib/pipes/localized-currency.pipe.mjs +3 -3
- package/esm2020/lib/pipes/localized-date-only.pipe.mjs +3 -3
- package/esm2020/lib/pipes/localized-date.pipe.mjs +3 -3
- package/esm2020/lib/pipes/minutes-to-time.pipe.mjs +3 -3
- package/esm2020/lib/pipes/number-to-ordinal-indicator.pipe.mjs +3 -3
- package/esm2020/lib/pipes/pad.pipe.mjs +3 -3
- package/esm2020/lib/pipes/phone.pipe.mjs +3 -3
- package/esm2020/lib/pipes/pipes.module.mjs +4 -4
- package/esm2020/lib/pipes/postal-code.pipe.mjs +3 -3
- package/esm2020/lib/pipes/range.pipe.mjs +3 -3
- package/esm2020/lib/pipes/round.pipe.mjs +3 -3
- package/esm2020/lib/pipes/sanitize-bypass.pipe.mjs +3 -3
- package/esm2020/lib/pipes/seconds-to-time.pipe.mjs +3 -3
- package/esm2020/lib/providers/config/config.module.mjs +4 -4
- package/esm2020/lib/providers/config/config.service.mjs +3 -3
- package/esm2020/lib/providers/media-watcher/media-watcher.module.mjs +4 -4
- package/esm2020/lib/providers/media-watcher/media-watcher.service.mjs +3 -3
- package/esm2020/lib/providers/overlay/dynamic-overlay-container.service.mjs +3 -3
- package/esm2020/lib/providers/overlay/dynamic-overlay.service.mjs +3 -3
- package/esm2020/lib/providers/splash-screen/splash-screen.module.mjs +4 -4
- package/esm2020/lib/providers/splash-screen/splash-screen.service.mjs +3 -3
- package/esm2020/lib/providers/utils/utils.module.mjs +4 -4
- package/esm2020/lib/providers/utils/utils.service.mjs +3 -3
- package/fesm2015/recursyve-nice-ui-kit.v2.mjs +562 -575
- package/fesm2015/recursyve-nice-ui-kit.v2.mjs.map +1 -1
- package/fesm2020/recursyve-nice-ui-kit.v2.mjs +571 -575
- package/fesm2020/recursyve-nice-ui-kit.v2.mjs.map +1 -1
- package/{recursyve-nice-ui-kit.v2.d.ts → index.d.ts} +0 -0
- package/lib/components/alert/alert.component.d.ts +3 -2
- package/lib/components/alert/alert.types.d.ts +1 -0
- package/lib/components/assets-carousel/assets-carousel.component.d.ts +1 -1
- package/lib/components/async-typeahead/async-typeahead.component.d.ts +2 -2
- package/lib/components/base-form/base-form.component.d.ts +2 -1
- package/lib/components/base-form/form-submit.directive.d.ts +1 -1
- package/lib/components/card/card.component.d.ts +1 -1
- package/lib/components/carousel/carousel.component.d.ts +1 -1
- package/lib/components/carousel/picture-modal/picture-modal.component.d.ts +1 -1
- package/lib/components/carousel/pipe/carousel-layout.pipe.d.ts +1 -1
- package/lib/components/drawer/drawer.component.d.ts +1 -1
- package/lib/components/export-bottom-sheet/export-bottom-sheet.component.d.ts +1 -1
- package/lib/components/form-error/control-status.directive.d.ts +1 -1
- package/lib/components/form-error/form-error.component.d.ts +1 -1
- package/lib/components/horizontal-stepper/horizontal-stepper.component.d.ts +1 -1
- package/lib/components/horizontal-stepper/step.component.d.ts +1 -1
- package/lib/components/image-cropper/image-cropper.component.d.ts +2 -2
- package/lib/components/layout/layout.component.d.ts +1 -1
- package/lib/components/loading-spinner/loading-spinner.component.d.ts +1 -1
- package/lib/components/loading-spinner/loading.directive.d.ts +1 -1
- package/lib/components/lottie/lottie.component.d.ts +1 -1
- package/lib/components/navigation/horizontal/components/basic/basic.component.d.ts +1 -1
- package/lib/components/navigation/horizontal/components/branch/branch.component.d.ts +1 -1
- package/lib/components/navigation/horizontal/components/divider/divider.component.d.ts +1 -1
- package/lib/components/navigation/horizontal/components/spacer/spacer.component.d.ts +1 -1
- package/lib/components/navigation/horizontal/horizontal.component.d.ts +1 -1
- package/lib/components/navigation/navigation.component.d.ts +1 -1
- package/lib/components/navigation/vertical/components/aside/aside.component.d.ts +1 -1
- package/lib/components/navigation/vertical/components/basic/basic.component.d.ts +1 -1
- package/lib/components/navigation/vertical/components/collapsable/collapsable.component.d.ts +1 -1
- package/lib/components/navigation/vertical/components/divider/divider.component.d.ts +1 -1
- package/lib/components/navigation/vertical/components/group/group.component.d.ts +1 -1
- package/lib/components/navigation/vertical/components/spacer/spacer.component.d.ts +1 -1
- package/lib/components/navigation/vertical/vertical.component.d.ts +1 -1
- package/lib/components/search-bar/search-bar.component.d.ts +1 -1
- package/lib/components/sweet-alert/sweet-alert.component.d.ts +1 -1
- package/lib/components/toast/toast.component.d.ts +1 -1
- package/lib/components/toggle-button-group/toggle-button-group.component.d.ts +1 -1
- package/lib/components/toggle-button-group/toggle-button.component.d.ts +1 -1
- package/lib/components/typeahead/directives/options-scroll.directive.d.ts +1 -1
- package/lib/components/typeahead/typeahead.component.d.ts +2 -2
- package/lib/directives/autofocus/autofocus.directive.d.ts +1 -1
- package/lib/directives/autogrow/autogrow.directive.d.ts +1 -1
- package/lib/directives/dropzone/dropzone.directive.d.ts +1 -1
- package/lib/directives/image-error-placeholder/image-error-placeholder.directive.d.ts +1 -1
- package/lib/directives/material/nice-material-style.directive.d.ts +1 -1
- package/lib/directives/material/nice-rounded-style.directive.d.ts +1 -1
- package/lib/directives/modals/modal-on-click.directive.d.ts +1 -1
- package/lib/directives/modals/modal-opener.directive.d.ts +1 -1
- package/lib/directives/scroll-reset/scroll-reset.directive.d.ts +1 -1
- package/lib/directives/scrollbar/scrollbar.directive.d.ts +1 -1
- package/lib/directives/stop-propagation/click-stop-propagation.directive.d.ts +1 -1
- package/lib/directives/window/prevent-close-window.directive.d.ts +1 -1
- package/lib/pipes/boolean.pipe.d.ts +1 -1
- package/lib/pipes/capitalize-first-letter.pipe.d.ts +1 -1
- package/lib/pipes/ceil.pipe.d.ts +1 -1
- package/lib/pipes/entries.pipe.d.ts +1 -1
- package/lib/pipes/find-by-key.pipe.d.ts +1 -1
- package/lib/pipes/first-letter.pipe.d.ts +1 -1
- package/lib/pipes/floor.pipe.d.ts +1 -1
- package/lib/pipes/join-if-defined.pipe.d.ts +1 -1
- package/lib/pipes/link.pipe.d.ts +1 -1
- package/lib/pipes/localized-boolean.pipe.d.ts +1 -1
- package/lib/pipes/localized-currency.pipe.d.ts +1 -1
- package/lib/pipes/localized-date-only.pipe.d.ts +1 -1
- package/lib/pipes/localized-date.pipe.d.ts +1 -1
- package/lib/pipes/minutes-to-time.pipe.d.ts +1 -1
- package/lib/pipes/number-to-ordinal-indicator.pipe.d.ts +1 -1
- package/lib/pipes/pad.pipe.d.ts +1 -1
- package/lib/pipes/phone.pipe.d.ts +1 -1
- package/lib/pipes/postal-code.pipe.d.ts +1 -1
- package/lib/pipes/range.pipe.d.ts +1 -1
- package/lib/pipes/round.pipe.d.ts +1 -1
- package/lib/pipes/sanitize-bypass.pipe.d.ts +1 -1
- package/lib/pipes/seconds-to-time.pipe.d.ts +1 -1
- package/package.json +3 -3
|
@@ -20,9 +20,9 @@ export class NiceTransformResponseInterceptor {
|
|
|
20
20
|
}));
|
|
21
21
|
}
|
|
22
22
|
}
|
|
23
|
-
NiceTransformResponseInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
24
|
-
NiceTransformResponseInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
25
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
23
|
+
NiceTransformResponseInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: NiceTransformResponseInterceptor, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
24
|
+
NiceTransformResponseInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: NiceTransformResponseInterceptor });
|
|
25
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: NiceTransformResponseInterceptor, decorators: [{
|
|
26
26
|
type: Injectable
|
|
27
27
|
}] });
|
|
28
28
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmb3JtLXJlc3BvbnNlLmludGVyY2VwdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmljZS11aS1raXQtdjIvc3JjL2xpYi9hcGkvaW50ZXJjZXB0b3JzL3RyYW5zZm9ybS1yZXNwb25zZS5pbnRlcmNlcHRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQTZDLFlBQVksRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2pILE9BQU8sRUFBRSxVQUFVLEVBQVEsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFFckMsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLElBQUksZ0JBQWdCLENBQVksR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7QUFHMUUsTUFBTSxPQUFPLGdDQUFnQztJQUNsQyxTQUFTLENBQUMsR0FBcUIsRUFBRSxJQUFpQjtRQUNyRCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUN4QixHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDUixJQUFJLEtBQUssWUFBWSxZQUFZLEVBQUU7Z0JBQy9CLE1BQU0sSUFBSSxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDO2dCQUM3QyxJQUFJLENBQUMsSUFBSSxFQUFFO29CQUNQLE9BQU8sS0FBSyxDQUFDO2lCQUNoQjtnQkFFRCxPQUFPLEtBQUssQ0FBQyxLQUFLLENBQUM7b0JBQ2YsSUFBSSxFQUFFLGVBQWUsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQztpQkFDMUMsQ0FBQyxDQUFDO2FBQ047WUFFRCxPQUFPLEtBQUssQ0FBQztRQUNqQixDQUFDLENBQUMsQ0FDTCxDQUFDO0lBQ04sQ0FBQzs7NkhBbEJRLGdDQUFnQztpSUFBaEMsZ0NBQWdDOzJGQUFoQyxnQ0FBZ0M7a0JBRDVDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ29udGV4dFRva2VuLCBIdHRwSGFuZGxlciwgSHR0cEludGVyY2VwdG9yLCBIdHRwUmVxdWVzdCwgSHR0cFJlc3BvbnNlIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vbi9odHRwXCI7XG5pbXBvcnQgeyBJbmplY3RhYmxlLCBUeXBlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IHBsYWluVG9JbnN0YW5jZSB9IGZyb20gXCJjbGFzcy10cmFuc2Zvcm1lclwiO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XG5cbmV4cG9ydCBjb25zdCBUUkFOU0ZPUk1fVFlQRSA9IG5ldyBIdHRwQ29udGV4dFRva2VuPFR5cGU8YW55Pj4oKCkgPT4gbnVsbCk7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBOaWNlVHJhbnNmb3JtUmVzcG9uc2VJbnRlcmNlcHRvciBpbXBsZW1lbnRzIEh0dHBJbnRlcmNlcHRvciB7XG4gICAgcHVibGljIGludGVyY2VwdChyZXE6IEh0dHBSZXF1ZXN0PGFueT4sIG5leHQ6IEh0dHBIYW5kbGVyKSB7XG4gICAgICAgIHJldHVybiBuZXh0LmhhbmRsZShyZXEpLnBpcGUoXG4gICAgICAgICAgICBtYXAoZXZlbnQgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChldmVudCBpbnN0YW5jZW9mIEh0dHBSZXNwb25zZSkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB0eXBlID0gcmVxLmNvbnRleHQuZ2V0KFRSQU5TRk9STV9UWVBFKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCF0eXBlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZXZlbnQ7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZXZlbnQuY2xvbmUoe1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9keTogcGxhaW5Ub0luc3RhbmNlKHR5cGUsIGV2ZW50LmJvZHkpXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHJldHVybiBldmVudDtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxufVxuIl19
|
|
@@ -8,9 +8,9 @@ import { NiceAlertService } from "./alert.service";
|
|
|
8
8
|
import * as i0 from "@angular/core";
|
|
9
9
|
import * as i1 from "./alert.service";
|
|
10
10
|
import * as i2 from "../../providers/utils";
|
|
11
|
-
import * as i3 from "@angular/
|
|
11
|
+
import * as i3 from "@angular/common";
|
|
12
12
|
import * as i4 from "@angular/material/button";
|
|
13
|
-
import * as i5 from "@angular/
|
|
13
|
+
import * as i5 from "@angular/material/icon";
|
|
14
14
|
export class NiceAlertComponent {
|
|
15
15
|
/**
|
|
16
16
|
* Constructor
|
|
@@ -36,14 +36,7 @@ export class NiceAlertComponent {
|
|
|
36
36
|
* Host binding for component classes
|
|
37
37
|
*/
|
|
38
38
|
get classList() {
|
|
39
|
-
|
|
40
|
-
"nice-alert-appearance-border": this.appearance === "border",
|
|
41
|
-
"nice-alert-appearance-fill": this.appearance === "fill",
|
|
42
|
-
"nice-alert-appearance-outline": this.appearance === "outline",
|
|
43
|
-
"nice-alert-appearance-soft": this.appearance === "soft",
|
|
44
|
-
"nice-alert-dismissed": this.dismissed,
|
|
45
|
-
"nice-alert-dismissible": this.dismissible,
|
|
46
|
-
"nice-alert-show-icon": this.showIcon,
|
|
39
|
+
let types = {
|
|
47
40
|
"nice-alert-type-primary": this.type === "primary",
|
|
48
41
|
"nice-alert-type-accent": this.type === "accent",
|
|
49
42
|
"nice-alert-type-warn": this.type === "warn",
|
|
@@ -53,6 +46,23 @@ export class NiceAlertComponent {
|
|
|
53
46
|
"nice-alert-type-warning": this.type === "warning",
|
|
54
47
|
"nice-alert-type-error": this.type === "error"
|
|
55
48
|
};
|
|
49
|
+
if (this.color) {
|
|
50
|
+
types = {
|
|
51
|
+
"nice-alert-type-primary": this.color === "primary",
|
|
52
|
+
"nice-alert-type-accent": this.color === "accent",
|
|
53
|
+
"nice-alert-type-warn": this.color === "warn"
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
return {
|
|
57
|
+
"nice-alert-appearance-border": this.appearance === "border",
|
|
58
|
+
"nice-alert-appearance-fill": this.appearance === "fill",
|
|
59
|
+
"nice-alert-appearance-outline": this.appearance === "outline",
|
|
60
|
+
"nice-alert-appearance-soft": this.appearance === "soft",
|
|
61
|
+
"nice-alert-dismissed": this.dismissed,
|
|
62
|
+
"nice-alert-dismissible": this.dismissible,
|
|
63
|
+
"nice-alert-show-icon": this.showIcon,
|
|
64
|
+
...types
|
|
65
|
+
};
|
|
56
66
|
}
|
|
57
67
|
// -----------------------------------------------------------------------------------------------------
|
|
58
68
|
// @ Lifecycle hooks
|
|
@@ -160,9 +170,9 @@ export class NiceAlertComponent {
|
|
|
160
170
|
this._changeDetectorRef.markForCheck();
|
|
161
171
|
}
|
|
162
172
|
}
|
|
163
|
-
NiceAlertComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
164
|
-
NiceAlertComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
165
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
173
|
+
NiceAlertComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: NiceAlertComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.NiceAlertService }, { token: i2.NiceUtilsService }], target: i0.ɵɵFactoryTarget.Component });
|
|
174
|
+
NiceAlertComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.3", type: NiceAlertComponent, selector: "nice-alert", inputs: { appearance: "appearance", dismissed: "dismissed", dismissible: "dismissible", disableAnimation: "disableAnimation", name: "name", showIcon: "showIcon", type: "type", color: "color" }, outputs: { dismissedChanged: "dismissedChanged" }, host: { properties: { "class": "this.classList" } }, exportAs: ["niceAlert"], usesOnChanges: true, ngImport: i0, template: "<div\n class=\"nice-alert-container\"\n *ngIf=\"!dismissible || dismissible && !dismissed\"\n [@fadeIn]=\"!dismissed && !disableAnimation\"\n [@fadeOut]=\"!dismissed && !disableAnimation\">\n\n <!-- Border -->\n <div\n class=\"nice-alert-border\"\n *ngIf=\"appearance === 'border'\"></div>\n\n <!-- Icon -->\n <div\n class=\"nice-alert-icon\"\n *ngIf=\"showIcon\">\n\n <!-- Custom icon -->\n <div class=\"nice-alert-custom-icon\">\n <ng-content select=\"[niceAlertIcon]\"></ng-content>\n </div>\n\n <!-- Default icons -->\n <div class=\"nice-alert-default-icon\">\n\n <mat-icon\n *ngIf=\"type === 'primary'\"\n [svgIcon]=\"'heroicons_solid:check-circle'\"></mat-icon>\n\n <mat-icon\n *ngIf=\"type === 'accent'\"\n [svgIcon]=\"'heroicons_solid:check-circle'\"></mat-icon>\n\n <mat-icon\n *ngIf=\"type === 'warn'\"\n [svgIcon]=\"'heroicons_solid:x-circle'\"></mat-icon>\n\n <mat-icon\n *ngIf=\"type === 'basic'\"\n [svgIcon]=\"'heroicons_solid:check-circle'\"></mat-icon>\n\n <mat-icon\n *ngIf=\"type === 'info'\"\n [svgIcon]=\"'heroicons_solid:information-circle'\"></mat-icon>\n\n <mat-icon\n *ngIf=\"type === 'success'\"\n [svgIcon]=\"'heroicons_solid:check-circle'\"></mat-icon>\n\n <mat-icon\n *ngIf=\"type === 'warning'\"\n [svgIcon]=\"'heroicons_solid:exclamation'\"></mat-icon>\n\n <mat-icon\n *ngIf=\"type === 'error'\"\n [svgIcon]=\"'heroicons_solid:x-circle'\"></mat-icon>\n\n </div>\n\n </div>\n\n <!-- Content -->\n <div class=\"nice-alert-content\">\n\n <div class=\"nice-alert-title\">\n <ng-content select=\"[niceAlertTitle]\"></ng-content>\n </div>\n\n <div class=\"nice-alert-message\">\n <ng-content></ng-content>\n </div>\n\n </div>\n\n <!-- Dismiss button -->\n <button\n class=\"nice-alert-dismiss-button\"\n mat-icon-button\n (click)=\"dismiss()\">\n <mat-icon [svgIcon]=\"'heroicons_solid:x'\"></mat-icon>\n </button>\n\n</div>\n", dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], animations: niceAnimations, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
175
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: NiceAlertComponent, decorators: [{
|
|
166
176
|
type: Component,
|
|
167
177
|
args: [{ selector: "nice-alert", encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, animations: niceAnimations, exportAs: "niceAlert", template: "<div\n class=\"nice-alert-container\"\n *ngIf=\"!dismissible || dismissible && !dismissed\"\n [@fadeIn]=\"!dismissed && !disableAnimation\"\n [@fadeOut]=\"!dismissed && !disableAnimation\">\n\n <!-- Border -->\n <div\n class=\"nice-alert-border\"\n *ngIf=\"appearance === 'border'\"></div>\n\n <!-- Icon -->\n <div\n class=\"nice-alert-icon\"\n *ngIf=\"showIcon\">\n\n <!-- Custom icon -->\n <div class=\"nice-alert-custom-icon\">\n <ng-content select=\"[niceAlertIcon]\"></ng-content>\n </div>\n\n <!-- Default icons -->\n <div class=\"nice-alert-default-icon\">\n\n <mat-icon\n *ngIf=\"type === 'primary'\"\n [svgIcon]=\"'heroicons_solid:check-circle'\"></mat-icon>\n\n <mat-icon\n *ngIf=\"type === 'accent'\"\n [svgIcon]=\"'heroicons_solid:check-circle'\"></mat-icon>\n\n <mat-icon\n *ngIf=\"type === 'warn'\"\n [svgIcon]=\"'heroicons_solid:x-circle'\"></mat-icon>\n\n <mat-icon\n *ngIf=\"type === 'basic'\"\n [svgIcon]=\"'heroicons_solid:check-circle'\"></mat-icon>\n\n <mat-icon\n *ngIf=\"type === 'info'\"\n [svgIcon]=\"'heroicons_solid:information-circle'\"></mat-icon>\n\n <mat-icon\n *ngIf=\"type === 'success'\"\n [svgIcon]=\"'heroicons_solid:check-circle'\"></mat-icon>\n\n <mat-icon\n *ngIf=\"type === 'warning'\"\n [svgIcon]=\"'heroicons_solid:exclamation'\"></mat-icon>\n\n <mat-icon\n *ngIf=\"type === 'error'\"\n [svgIcon]=\"'heroicons_solid:x-circle'\"></mat-icon>\n\n </div>\n\n </div>\n\n <!-- Content -->\n <div class=\"nice-alert-content\">\n\n <div class=\"nice-alert-title\">\n <ng-content select=\"[niceAlertTitle]\"></ng-content>\n </div>\n\n <div class=\"nice-alert-message\">\n <ng-content></ng-content>\n </div>\n\n </div>\n\n <!-- Dismiss button -->\n <button\n class=\"nice-alert-dismiss-button\"\n mat-icon-button\n (click)=\"dismiss()\">\n <mat-icon [svgIcon]=\"'heroicons_solid:x'\"></mat-icon>\n </button>\n\n</div>\n" }]
|
|
168
178
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.NiceAlertService }, { type: i2.NiceUtilsService }]; }, propDecorators: { appearance: [{
|
|
@@ -179,10 +189,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImpor
|
|
|
179
189
|
type: Input
|
|
180
190
|
}], type: [{
|
|
181
191
|
type: Input
|
|
192
|
+
}], color: [{
|
|
193
|
+
type: Input
|
|
182
194
|
}], dismissedChanged: [{
|
|
183
195
|
type: Output
|
|
184
196
|
}], classList: [{
|
|
185
197
|
type: HostBinding,
|
|
186
198
|
args: ["class"]
|
|
187
199
|
}] } });
|
|
188
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmljZS11aS1raXQtdjIvc3JjL2xpYi9jb21wb25lbnRzL2FsZXJ0L2FsZXJ0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25pY2UtdWkta2l0LXYyL3NyYy9saWIvY29tcG9uZW50cy9hbGVydC9hbGVydC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWdCLHFCQUFxQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDNUUsT0FBTyxFQUNILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFlBQVksRUFDWixXQUFXLEVBQ1gsS0FBSyxFQUlMLE1BQU0sRUFFTixpQkFBaUIsRUFDcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7OztBQVduRCxNQUFNLE9BQU8sa0JBQWtCO0lBb0MzQjs7T0FFRztJQUNILFlBQ1ksa0JBQXFDLEVBQ3JDLGlCQUFtQyxFQUNuQyxpQkFBbUM7UUFGbkMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFtQjtRQUNyQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQWtCO1FBQ25DLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBa0I7UUEvQnhDLGVBQVUsR0FBd0IsTUFBTSxDQUFDO1FBR3pDLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFH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Y0FBYyxDQUFDLFNBQWtCO1FBQ3JDLHlDQUF5QztRQUN6QyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNuQixPQUFPO1NBQ1Y7UUFFRCxvQkFBb0I7UUFDcEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7UUFFM0IseUJBQXlCO1FBQ3pCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRTNDLDZCQUE2QjtRQUM3QixJQUFJLENBQUMsa0JBQWtCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDM0MsQ0FBQzs7K0dBM01RLGtCQUFrQjttR0FBbEIsa0JBQWtCLDBYQzlCL0IsaTFFQWtGQSxzaUJEdkRnQixjQUFjOzJGQUdqQixrQkFBa0I7a0JBUjlCLFNBQVM7K0JBQ0ksWUFBWSxpQkFFUCxpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLGNBQWMsWUFDaEIsV0FBVztzS0FhZCxVQUFVO3NCQURoQixLQUFLO2dCQUlDLFNBQVM7c0JBRGYsS0FBSztnQkFJQyxXQUFXO3NCQURqQixLQUFLO2dCQUlDLGdCQUFnQjtzQkFEdEIsS0FBSztnQkFJQyxJQUFJO3NCQURWLEtBQUs7Z0JBSUMsUUFBUTtzQkFEZCxLQUFLO2dCQUlDLElBQUk7c0JBRFYsS0FBSztnQkFJVSxnQkFBZ0I7c0JBRC9CLE1BQU07Z0JBc0JJLFNBQVM7c0JBRG5CLFdBQVc7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJvb2xlYW5JbnB1dCwgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSBcIkBhbmd1bGFyL2Nkay9jb2VyY2lvblwiO1xuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIElucHV0LFxuICAgIE9uQ2hhbmdlcyxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT25Jbml0LFxuICAgIE91dHB1dCxcbiAgICBTaW1wbGVDaGFuZ2VzLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IGZpbHRlciwgdGFrZVVudGlsIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XG5pbXBvcnQgeyBuaWNlQW5pbWF0aW9ucyB9IGZyb20gXCIuLi8uLi9hbmltYXRpb25zXCI7XG5pbXBvcnQgeyBOaWNlVXRpbHNTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL3Byb3ZpZGVycy91dGlsc1wiO1xuaW1wb3J0IHsgTmljZUFsZXJ0U2VydmljZSB9IGZyb20gXCIuL2FsZXJ0LnNlcnZpY2VcIjtcbmltcG9ydCB7IE5pY2VBbGVydFR5cGUsIE5pY2VBbGVydEFwcGVhcmFuY2UgfSBmcm9tIFwiLi9hbGVydC50eXBlc1wiO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogXCJuaWNlLWFsZXJ0XCIsXG4gICAgdGVtcGxhdGVVcmw6IFwiLi9hbGVydC5jb21wb25lbnQuaHRtbFwiLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgYW5pbWF0aW9uczogbmljZUFuaW1hdGlvbnMsXG4gICAgZXhwb3J0QXM6IFwibmljZUFsZXJ0XCJcbn0pXG5leHBvcnQgY2xhc3MgTmljZUFsZXJ0Q29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOnZhcmlhYmxlLW5hbWVcbiAgICBwdWJsaWMgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX2Rpc21pc3NpYmxlOiBCb29sZWFuSW5wdXQ7XG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOnZhcmlhYmxlLW5hbWVcbiAgICBwdWJsaWMgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX2Rpc21pc3NlZDogQm9vbGVhbklucHV0O1xuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTp2YXJpYWJsZS1uYW1lXG4gICAgcHVibGljIHN0YXRpYyBuZ0FjY2VwdElucHV0VHlwZV9kaXNhYmxlQW5pbWF0aW9uOiBCb29sZWFuSW5wdXQ7XG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOnZhcmlhYmxlLW5hbWVcbiAgICBwdWJsaWMgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX3Nob3dJY29uOiBCb29sZWFuSW5wdXQ7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBhcHBlYXJhbmNlOiBOaWNlQWxlcnRBcHBlYXJhbmNlID0gXCJzb2Z0XCI7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBkaXNtaXNzZWQgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGRpc21pc3NpYmxlID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBkaXNhYmxlQW5pbWF0aW9uID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBuYW1lOiBzdHJpbmcgPSB0aGlzLl9uaWNlVXRpbHNTZXJ2aWNlLnJhbmRvbUlkKCk7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzaG93SWNvbiA9IHRydWU7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyB0eXBlOiBOaWNlQWxlcnRUeXBlID0gXCJwcmltYXJ5XCI7XG5cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgcmVhZG9ubHkgZGlzbWlzc2VkQ2hhbmdlZDogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gICAgcHJpdmF0ZSBfdW5zdWJzY3JpYmVBbGw6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgLyoqXG4gICAgICogQ29uc3RydWN0b3JcbiAgICAgKi9cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBfY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBwcml2YXRlIF9uaWNlQWxlcnRTZXJ2aWNlOiBOaWNlQWxlcnRTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIF9uaWNlVXRpbHNTZXJ2aWNlOiBOaWNlVXRpbHNTZXJ2aWNlXG4gICAgKSB7fVxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvLyBAIEFjY2Vzc29yc1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICAvKipcbiAgICAgKiBIb3N0IGJpbmRpbmcgZm9yIGNvbXBvbmVudCBjbGFzc2VzXG4gICAgICovXG4gICAgQEhvc3RCaW5kaW5nKFwiY2xhc3NcIilcbiAgICBwdWJsaWMgZ2V0IGNsYXNzTGlzdCgpOiBhbnkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgXCJuaWNlLWFsZXJ0LWFwcGVhcmFuY2UtYm9yZGVyXCI6IHRoaXMuYXBwZWFyYW5jZSA9PT0gXCJib3JkZXJcIixcbiAgICAgICAgICAgIFwibmljZS1hbGVydC1hcHBlYXJhbmNlLWZpbGxcIjogdGhpcy5hcHBlYXJhbmNlID09PSBcImZpbGxcIixcbiAgICAgICAgICAgIFwibmljZS1hbGVydC1hcHBlYXJhbmNlLW91dGxpbmVcIjogdGhpcy5hcHBlYXJhbmNlID09PSBcIm91dGxpbmVcIixcbiAgICAgICAgICAgIFwibmljZS1hbGVydC1hcHBlYXJhbmNlLXNvZnRcIjogdGhpcy5hcHBlYXJhbmNlID09PSBcInNvZnRcIixcbiAgICAgICAgICAgIFwibmljZS1hbGVydC1kaXNtaXNzZWRcIjogdGhpcy5kaXNtaXNzZWQsXG4gICAgICAgICAgICBcIm5pY2UtYWxlcnQtZGlzbWlzc2libGVcIjogdGhpcy5kaXNtaXNzaWJsZSxcbiAgICAgICAgICAgIFwibmljZS1hbGVydC1zaG93LWljb25cIjogdGhpcy5zaG93SWNvbixcbiAgICAgICAgICAgIFwibmljZS1hbGVydC10eXBlLXByaW1hcnlcIjogdGhpcy50eXBlID09PSBcInByaW1hcnlcIixcbiAgICAgICAgICAgIFwibmljZS1hbGVydC10eXBlLWFjY2VudFwiOiB0aGlzLnR5cGUgPT09IFwiYWNjZW50XCIsXG4gICAgICAgICAgICBcIm5pY2UtYWxlcnQtdHlwZS13YXJuXCI6IHRoaXMudHlwZSA9PT0gXCJ3YXJuXCIsXG4gICAgICAgICAgICBcIm5pY2UtYWxlcnQtdHlwZS1iYXNpY1wiOiB0aGlzLnR5cGUgPT09IFwiYmFzaWNcIixcbiAgICAgICAgICAgIFwibmljZS1hbGVydC10eXBlLWluZm9cIjogdGhpcy50eXBlID09PSBcImluZm9cIixcbiAgICAgICAgICAgIFwibmljZS1hbGVydC10eXBlLXN1Y2Nlc3NcIjogdGhpcy50eXBlID09PSBcInN1Y2Nlc3NcIixcbiAgICAgICAgICAgIFwibmljZS1hbGVydC10eXBlLXdhcm5pbmdcIjogdGhpcy50eXBlID09PSBcIndhcm5pbmdcIixcbiAgICAgICAgICAgIFwibmljZS1hbGVydC10eXBlLWVycm9yXCI6IHRoaXMudHlwZSA9PT0gXCJlcnJvclwiXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvLyBAIExpZmVjeWNsZSBob29rc1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICAvKipcbiAgICAgKiBPbiBjaGFuZ2VzXG4gICAgICpcbiAgICAgKiBAcGFyYW0gY2hhbmdlc1xuICAgICAqL1xuICAgIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIC8vIERpc21pc3NlZFxuICAgICAgICBpZiAoXCJkaXNtaXNzZWRcIiBpbiBjaGFuZ2VzKSB7XG4gICAgICAgICAgICAvLyBDb2VyY2UgdGhlIHZhbHVlIHRvIGEgYm9vbGVhblxuICAgICAgICAgICAgdGhpcy5kaXNtaXNzZWQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkoY2hhbmdlcy5kaXNtaXNzZWQuY3VycmVudFZhbHVlKTtcblxuICAgICAgICAgICAgLy8gRGlzbWlzcy9zaG93IHRoZSBhbGVydFxuICAgICAgICAgICAgdGhpcy5fdG9nZ2xlRGlzbWlzcyh0aGlzLmRpc21pc3NlZCk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBEaXNtaXNzaWJsZVxuICAgICAgICBpZiAoXCJkaXNtaXNzaWJsZVwiIGluIGNoYW5nZXMpIHtcbiAgICAgICAgICAgIC8vIENvZXJjZSB0aGUgdmFsdWUgdG8gYSBib29sZWFuXG4gICAgICAgICAgICB0aGlzLmRpc21pc3NpYmxlID0gY29lcmNlQm9vbGVhblByb3BlcnR5KGNoYW5nZXMuZGlzbWlzc2libGUuY3VycmVudFZhbHVlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIERpc2FibGUgYW5pbWF0aW9uXG4gICAgICAgIGlmIChcImRpc2FibGVBbmltYXRpb25cIiBpbiBjaGFuZ2VzKSB7XG4gICAgICAgICAgICAvLyBDb2VyY2UgdGhlIHZhbHVlIHRvIGEgYm9vbGVhblxuICAgICAgICAgICAgdGhpcy5kaXNhYmxlQW5pbWF0aW9uID0gY29lcmNlQm9vbGVhblByb3BlcnR5KGNoYW5nZXMuZGlzYWJsZUFuaW1hdGlvbi5jdXJyZW50VmFsdWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gU2hvdyBpY29uXG4gICAgICAgIGlmIChcInNob3dJY29uXCIgaW4gY2hhbmdlcykge1xuICAgICAgICAgICAgLy8gQ29lcmNlIHRoZSB2YWx1ZSB0byBhIGJvb2xlYW5cbiAgICAgICAgICAgIHRoaXMuc2hvd0ljb24gPSBjb2VyY2VCb29sZWFuUHJvcGVydHkoY2hhbmdlcy5zaG93SWNvbi5jdXJyZW50VmFsdWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogT24gaW5pdFxuICAgICAqL1xuICAgIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgLy8gU3Vic2NyaWJlIHRvIHRoZSBkaXNtaXNzIGNhbGxzXG4gICAgICAgIHRoaXMuX25pY2VBbGVydFNlcnZpY2Uub25EaXNtaXNzXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBmaWx0ZXIoKG5hbWUpID0+IHRoaXMubmFtZSA9PT0gbmFtZSksXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuX3Vuc3Vic2NyaWJlQWxsKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG5cbiAgICAgICAgICAgICAgICAvLyBEaXNtaXNzIHRoZSBhbGVydFxuICAgICAgICAgICAgICAgIHRoaXMuZGlzbWlzcygpO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgLy8gU3Vic2NyaWJlIHRvIHRoZSBzaG93IGNhbGxzXG4gICAgICAgIHRoaXMuX25pY2VBbGVydFNlcnZpY2Uub25TaG93XG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBmaWx0ZXIoKG5hbWUpID0+IHRoaXMubmFtZSA9PT0gbmFtZSksXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuX3Vuc3Vic2NyaWJlQWxsKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG5cbiAgICAgICAgICAgICAgICAvLyBTaG93IHRoZSBhbGVydFxuICAgICAgICAgICAgICAgIHRoaXMuc2hvdygpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogT24gZGVzdHJveVxuICAgICAqL1xuICAgIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgLy8gVW5zdWJzY3JpYmUgZnJvbSBhbGwgc3Vic2NyaXB0aW9uc1xuICAgICAgICB0aGlzLl91bnN1YnNjcmliZUFsbC5uZXh0KCk7XG4gICAgICAgIHRoaXMuX3Vuc3Vic2NyaWJlQWxsLmNvbXBsZXRlKCk7XG4gICAgfVxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvLyBAIFB1YmxpYyBtZXRob2RzXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIC8qKlxuICAgICAqIERpc21pc3MgdGhlIGFsZXJ0XG4gICAgICovXG4gICAgcHVibGljIGRpc21pc3MoKTogdm9pZCB7XG4gICAgICAgIC8vIFJldHVybiBpZiB0aGUgYWxlcnQgaXMgYWxyZWFkeSBkaXNtaXNzZWRcbiAgICAgICAgaWYgKHRoaXMuZGlzbWlzc2VkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICAvLyBEaXNtaXNzIHRoZSBhbGVydFxuICAgICAgICB0aGlzLl90b2dnbGVEaXNtaXNzKHRydWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNob3cgdGhlIGRpc21pc3NlZCBhbGVydFxuICAgICAqL1xuICAgIHB1YmxpYyBzaG93KCk6IHZvaWQge1xuICAgICAgICAvLyBSZXR1cm4gaWYgdGhlIGFsZXJ0IGlzIGFscmVhZHkgc2hvd2luZ1xuICAgICAgICBpZiAoIXRoaXMuZGlzbWlzc2VkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICAvLyBTaG93IHRoZSBhbGVydFxuICAgICAgICB0aGlzLl90b2dnbGVEaXNtaXNzKGZhbHNlKTtcbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vIEAgUHJpdmF0ZSBtZXRob2RzXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIC8qKlxuICAgICAqIERpc21pc3Mvc2hvdyB0aGUgYWxlcnRcbiAgICAgKlxuICAgICAqIEBwYXJhbSBkaXNtaXNzZWRcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqL1xuICAgIHByaXZhdGUgX3RvZ2dsZURpc21pc3MoZGlzbWlzc2VkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIC8vIFJldHVybiBpZiB0aGUgYWxlcnQgaXMgbm90IGRpc21pc3NpYmxlXG4gICAgICAgIGlmICghdGhpcy5kaXNtaXNzaWJsZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gU2V0IHRoZSBkaXNtaXNzZWRcbiAgICAgICAgdGhpcy5kaXNtaXNzZWQgPSBkaXNtaXNzZWQ7XG5cbiAgICAgICAgLy8gRXhlY3V0ZSB0aGUgb2JzZXJ2YWJsZVxuICAgICAgICB0aGlzLmRpc21pc3NlZENoYW5nZWQubmV4dCh0aGlzLmRpc21pc3NlZCk7XG5cbiAgICAgICAgLy8gTm90aWZ5IHRoZSBjaGFuZ2UgZGV0ZWN0b3JcbiAgICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgfVxufVxuIiwiPGRpdlxuICAgIGNsYXNzPVwibmljZS1hbGVydC1jb250YWluZXJcIlxuICAgICpuZ0lmPVwiIWRpc21pc3NpYmxlIHx8IGRpc21pc3NpYmxlICYmICFkaXNtaXNzZWRcIlxuICAgIFtAZmFkZUluXT1cIiFkaXNtaXNzZWQgJiYgIWRpc2FibGVBbmltYXRpb25cIlxuICAgIFtAZmFkZU91dF09XCIhZGlzbWlzc2VkICYmICFkaXNhYmxlQW5pbWF0aW9uXCI+XG5cbiAgICA8IS0tIEJvcmRlciAtLT5cbiAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwibmljZS1hbGVydC1ib3JkZXJcIlxuICAgICAgICAqbmdJZj1cImFwcGVhcmFuY2UgPT09ICdib3JkZXInXCI+PC9kaXY+XG5cbiAgICA8IS0tIEljb24gLS0+XG4gICAgPGRpdlxuICAgICAgICBjbGFzcz1cIm5pY2UtYWxlcnQtaWNvblwiXG4gICAgICAgICpuZ0lmPVwic2hvd0ljb25cIj5cblxuICAgICAgICA8IS0tIEN1c3RvbSBpY29uIC0tPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibmljZS1hbGVydC1jdXN0b20taWNvblwiPlxuICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW25pY2VBbGVydEljb25dXCI+PC9uZy1jb250ZW50PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8IS0tIERlZmF1bHQgaWNvbnMgLS0+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJuaWNlLWFsZXJ0LWRlZmF1bHQtaWNvblwiPlxuXG4gICAgICAgICAgICA8bWF0LWljb25cbiAgICAgICAgICAgICAgICAqbmdJZj1cInR5cGUgPT09ICdwcmltYXJ5J1wiXG4gICAgICAgICAgICAgICAgW3N2Z0ljb25dPVwiJ2hlcm9pY29uc19zb2xpZDpjaGVjay1jaXJjbGUnXCI+PC9tYXQtaWNvbj5cblxuICAgICAgICAgICAgPG1hdC1pY29uXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJ0eXBlID09PSAnYWNjZW50J1wiXG4gICAgICAgICAgICAgICAgW3N2Z0ljb25dPVwiJ2hlcm9pY29uc19zb2xpZDpjaGVjay1jaXJjbGUnXCI+PC9tYXQtaWNvbj5cblxuICAgICAgICAgICAgPG1hdC1pY29uXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJ0eXBlID09PSAnd2FybidcIlxuICAgICAgICAgICAgICAgIFtzdmdJY29uXT1cIidoZXJvaWNvbnNfc29saWQ6eC1jaXJjbGUnXCI+PC9tYXQtaWNvbj5cblxuICAgICAgICAgICAgPG1hdC1pY29uXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJ0eXBlID09PSAnYmFzaWMnXCJcbiAgICAgICAgICAgICAgICBbc3ZnSWNvbl09XCInaGVyb2ljb25zX3NvbGlkOmNoZWNrLWNpcmNsZSdcIj48L21hdC1pY29uPlxuXG4gICAgICAgICAgICA8bWF0LWljb25cbiAgICAgICAgICAgICAgICAqbmdJZj1cInR5cGUgPT09ICdpbmZvJ1wiXG4gICAgICAgICAgICAgICAgW3N2Z0ljb25dPVwiJ2hlcm9pY29uc19zb2xpZDppbmZvcm1hdGlvbi1jaXJjbGUnXCI+PC9tYXQtaWNvbj5cblxuICAgICAgICAgICAgPG1hdC1pY29uXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJ0eXBlID09PSAnc3VjY2VzcydcIlxuICAgICAgICAgICAgICAgIFtzdmdJY29uXT1cIidoZXJvaWNvbnNfc29saWQ6Y2hlY2stY2lyY2xlJ1wiPjwvbWF0LWljb24+XG5cbiAgICAgICAgICAgIDxtYXQtaWNvblxuICAgICAgICAgICAgICAgICpuZ0lmPVwidHlwZSA9PT0gJ3dhcm5pbmcnXCJcbiAgICAgICAgICAgICAgICBbc3ZnSWNvbl09XCInaGVyb2ljb25zX3NvbGlkOmV4Y2xhbWF0aW9uJ1wiPjwvbWF0LWljb24+XG5cbiAgICAgICAgICAgIDxtYXQtaWNvblxuICAgICAgICAgICAgICAgICpuZ0lmPVwidHlwZSA9PT0gJ2Vycm9yJ1wiXG4gICAgICAgICAgICAgICAgW3N2Z0ljb25dPVwiJ2hlcm9pY29uc19zb2xpZDp4LWNpcmNsZSdcIj48L21hdC1pY29uPlxuXG4gICAgICAgIDwvZGl2PlxuXG4gICAgPC9kaXY+XG5cbiAgICA8IS0tIENvbnRlbnQgLS0+XG4gICAgPGRpdiBjbGFzcz1cIm5pY2UtYWxlcnQtY29udGVudFwiPlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJuaWNlLWFsZXJ0LXRpdGxlXCI+XG4gICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbbmljZUFsZXJ0VGl0bGVdXCI+PC9uZy1jb250ZW50PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwibmljZS1hbGVydC1tZXNzYWdlXCI+XG4gICAgICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgPC9kaXY+XG5cbiAgICA8IS0tIERpc21pc3MgYnV0dG9uIC0tPlxuICAgIDxidXR0b25cbiAgICAgICAgY2xhc3M9XCJuaWNlLWFsZXJ0LWRpc21pc3MtYnV0dG9uXCJcbiAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgIChjbGljayk9XCJkaXNtaXNzKClcIj5cbiAgICAgICAgPG1hdC1pY29uIFtzdmdJY29uXT1cIidoZXJvaWNvbnNfc29saWQ6eCdcIj48L21hdC1pY29uPlxuICAgIDwvYnV0dG9uPlxuXG48L2Rpdj5cbiJdfQ==
|
|
200
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmljZS11aS1raXQtdjIvc3JjL2xpYi9jb21wb25lbnRzL2FsZXJ0L2FsZXJ0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25pY2UtdWkta2l0LXYyL3NyYy9saWIvY29tcG9uZW50cy9hbGVydC9hbGVydC50ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0IscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM1RSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLFdBQVcsRUFDWCxLQUFLLEVBSUwsTUFBTSxFQUVOLGlCQUFpQixFQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7Ozs7O0FBV25ELE1BQU0sT0FBTyxrQkFBa0I7SUF1QzNCOztPQUVHO0lBQ0gsWUFDWSxrQkFBcUMsRUFDckMsaUJBQW1DLEVBQ25DLGlCQUFtQztRQUZuQyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW1CO1FBQ3JDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBa0I7UUFDbkMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFrQjtRQWxDeEMsZUFBVSxHQUF3QixNQUFNLENBQUM7UUFHekMsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUds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V0FBVzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQm9vbGVhbklucHV0LCBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL2NvZXJjaW9uXCI7XG5pbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5wdXQsXG4gICAgT25DaGFuZ2VzLFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXQsXG4gICAgT3V0cHV0LFxuICAgIFNpbXBsZUNoYW5nZXMsXG4gICAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHsgZmlsdGVyLCB0YWtlVW50aWwgfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcbmltcG9ydCB7IG5pY2VBbmltYXRpb25zIH0gZnJvbSBcIi4uLy4uL2FuaW1hdGlvbnNcIjtcbmltcG9ydCB7IE5pY2VVdGlsc1NlcnZpY2UgfSBmcm9tIFwiLi4vLi4vcHJvdmlkZXJzL3V0aWxzXCI7XG5pbXBvcnQgeyBOaWNlQWxlcnRTZXJ2aWNlIH0gZnJvbSBcIi4vYWxlcnQuc2VydmljZVwiO1xuaW1wb3J0IHsgTmljZUFsZXJ0VHlwZSwgTmljZUFsZXJ0QXBwZWFyYW5jZSwgTmljZUFsZXJ0Q29sb3IgfSBmcm9tIFwiLi9hbGVydC50eXBlc1wiO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogXCJuaWNlLWFsZXJ0XCIsXG4gICAgdGVtcGxhdGVVcmw6IFwiLi9hbGVydC50ZW1wbGF0ZS5odG1sXCIsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBhbmltYXRpb25zOiBuaWNlQW5pbWF0aW9ucyxcbiAgICBleHBvcnRBczogXCJuaWNlQWxlcnRcIlxufSlcbmV4cG9ydCBjbGFzcyBOaWNlQWxlcnRDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6dmFyaWFibGUtbmFtZVxuICAgIHB1YmxpYyBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfZGlzbWlzc2libGU6IEJvb2xlYW5JbnB1dDtcbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6dmFyaWFibGUtbmFtZVxuICAgIHB1YmxpYyBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfZGlzbWlzc2VkOiBCb29sZWFuSW5wdXQ7XG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOnZhcmlhYmxlLW5hbWVcbiAgICBwdWJsaWMgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX2Rpc2FibGVBbmltYXRpb246IEJvb2xlYW5JbnB1dDtcbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6dmFyaWFibGUtbmFtZVxuICAgIHB1YmxpYyBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfc2hvd0ljb246IEJvb2xlYW5JbnB1dDtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGFwcGVhcmFuY2U6IE5pY2VBbGVydEFwcGVhcmFuY2UgPSBcInNvZnRcIjtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGRpc21pc3NlZCA9IGZhbHNlO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZGlzbWlzc2libGUgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGRpc2FibGVBbmltYXRpb24gPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIG5hbWU6IHN0cmluZyA9IHRoaXMuX25pY2VVdGlsc1NlcnZpY2UucmFuZG9tSWQoKTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNob3dJY29uID0gdHJ1ZTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHR5cGU6IE5pY2VBbGVydFR5cGUgPSBcInByaW1hcnlcIjtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGNvbG9yPzogTmljZUFsZXJ0Q29sb3I7XG5cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgcmVhZG9ubHkgZGlzbWlzc2VkQ2hhbmdlZDogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gICAgcHJpdmF0ZSBfdW5zdWJzY3JpYmVBbGw6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgLyoqXG4gICAgICogQ29uc3RydWN0b3JcbiAgICAgKi9cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBfY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBwcml2YXRlIF9uaWNlQWxlcnRTZXJ2aWNlOiBOaWNlQWxlcnRTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIF9uaWNlVXRpbHNTZXJ2aWNlOiBOaWNlVXRpbHNTZXJ2aWNlXG4gICAgKSB7fVxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvLyBAIEFjY2Vzc29yc1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICAvKipcbiAgICAgKiBIb3N0IGJpbmRpbmcgZm9yIGNvbXBvbmVudCBjbGFzc2VzXG4gICAgICovXG4gICAgQEhvc3RCaW5kaW5nKFwiY2xhc3NcIilcbiAgICBwdWJsaWMgZ2V0IGNsYXNzTGlzdCgpOiBhbnkge1xuICAgICAgICBsZXQgdHlwZXM6IHsgW2NsYXNzTmFtZTogc3RyaW5nXTogYm9vbGVhbiB9ID0ge1xuICAgICAgICAgICAgXCJuaWNlLWFsZXJ0LXR5cGUtcHJpbWFyeVwiOiB0aGlzLnR5cGUgPT09IFwicHJpbWFyeVwiLFxuICAgICAgICAgICAgXCJuaWNlLWFsZXJ0LXR5cGUtYWNjZW50XCI6IHRoaXMudHlwZSA9PT0gXCJhY2NlbnRcIixcbiAgICAgICAgICAgIFwibmljZS1hbGVydC10eXBlLXdhcm5cIjogdGhpcy50eXBlID09PSBcIndhcm5cIixcbiAgICAgICAgICAgIFwibmljZS1hbGVydC10eXBlLWJhc2ljXCI6IHRoaXMudHlwZSA9PT0gXCJiYXNpY1wiLFxuICAgICAgICAgICAgXCJuaWNlLWFsZXJ0LXR5cGUtaW5mb1wiOiB0aGlzLnR5cGUgPT09IFwiaW5mb1wiLFxuICAgICAgICAgICAgXCJuaWNlLWFsZXJ0LXR5cGUtc3VjY2Vzc1wiOiB0aGlzLnR5cGUgPT09IFwic3VjY2Vzc1wiLFxuICAgICAgICAgICAgXCJuaWNlLWFsZXJ0LXR5cGUtd2FybmluZ1wiOiB0aGlzLnR5cGUgPT09IFwid2FybmluZ1wiLFxuICAgICAgICAgICAgXCJuaWNlLWFsZXJ0LXR5cGUtZXJyb3JcIjogdGhpcy50eXBlID09PSBcImVycm9yXCJcbiAgICAgICAgfTtcblxuICAgICAgICBpZiAodGhpcy5jb2xvcikge1xuICAgICAgICAgICB0eXBlcyA9IHtcbiAgICAgICAgICAgICAgICBcIm5pY2UtYWxlcnQtdHlwZS1wcmltYXJ5XCI6IHRoaXMuY29sb3IgPT09IFwicHJpbWFyeVwiLFxuICAgICAgICAgICAgICAgIFwibmljZS1hbGVydC10eXBlLWFjY2VudFwiOiB0aGlzLmNvbG9yID09PSBcImFjY2VudFwiLFxuICAgICAgICAgICAgICAgIFwibmljZS1hbGVydC10eXBlLXdhcm5cIjogdGhpcy5jb2xvciA9PT0gXCJ3YXJuXCJcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgXCJuaWNlLWFsZXJ0LWFwcGVhcmFuY2UtYm9yZGVyXCI6IHRoaXMuYXBwZWFyYW5jZSA9PT0gXCJib3JkZXJcIixcbiAgICAgICAgICAgIFwibmljZS1hbGVydC1hcHBlYXJhbmNlLWZpbGxcIjogdGhpcy5hcHBlYXJhbmNlID09PSBcImZpbGxcIixcbiAgICAgICAgICAgIFwibmljZS1hbGVydC1hcHBlYXJhbmNlLW91dGxpbmVcIjogdGhpcy5hcHBlYXJhbmNlID09PSBcIm91dGxpbmVcIixcbiAgICAgICAgICAgIFwibmljZS1hbGVydC1hcHBlYXJhbmNlLXNvZnRcIjogdGhpcy5hcHBlYXJhbmNlID09PSBcInNvZnRcIixcbiAgICAgICAgICAgIFwibmljZS1hbGVydC1kaXNtaXNzZWRcIjogdGhpcy5kaXNtaXNzZWQsXG4gICAgICAgICAgICBcIm5pY2UtYWxlcnQtZGlzbWlzc2libGVcIjogdGhpcy5kaXNtaXNzaWJsZSxcbiAgICAgICAgICAgIFwibmljZS1hbGVydC1zaG93LWljb25cIjogdGhpcy5zaG93SWNvbixcbiAgICAgICAgICAgIC4uLnR5cGVzXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvLyBAIExpZmVjeWNsZSBob29rc1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICAvKipcbiAgICAgKiBPbiBjaGFuZ2VzXG4gICAgICpcbiAgICAgKiBAcGFyYW0gY2hhbmdlc1xuICAgICAqL1xuICAgIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIC8vIERpc21pc3NlZFxuICAgICAgICBpZiAoXCJkaXNtaXNzZWRcIiBpbiBjaGFuZ2VzKSB7XG4gICAgICAgICAgICAvLyBDb2VyY2UgdGhlIHZhbHVlIHRvIGEgYm9vbGVhblxuICAgICAgICAgICAgdGhpcy5kaXNtaXNzZWQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkoY2hhbmdlcy5kaXNtaXNzZWQuY3VycmVudFZhbHVlKTtcblxuICAgICAgICAgICAgLy8gRGlzbWlzcy9zaG93IHRoZSBhbGVydFxuICAgICAgICAgICAgdGhpcy5fdG9nZ2xlRGlzbWlzcyh0aGlzLmRpc21pc3NlZCk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBEaXNtaXNzaWJsZVxuICAgICAgICBpZiAoXCJkaXNtaXNzaWJsZVwiIGluIGNoYW5nZXMpIHtcbiAgICAgICAgICAgIC8vIENvZXJjZSB0aGUgdmFsdWUgdG8gYSBib29sZWFuXG4gICAgICAgICAgICB0aGlzLmRpc21pc3NpYmxlID0gY29lcmNlQm9vbGVhblByb3BlcnR5KGNoYW5nZXMuZGlzbWlzc2libGUuY3VycmVudFZhbHVlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIERpc2FibGUgYW5pbWF0aW9uXG4gICAgICAgIGlmIChcImRpc2FibGVBbmltYXRpb25cIiBpbiBjaGFuZ2VzKSB7XG4gICAgICAgICAgICAvLyBDb2VyY2UgdGhlIHZhbHVlIHRvIGEgYm9vbGVhblxuICAgICAgICAgICAgdGhpcy5kaXNhYmxlQW5pbWF0aW9uID0gY29lcmNlQm9vbGVhblByb3BlcnR5KGNoYW5nZXMuZGlzYWJsZUFuaW1hdGlvbi5jdXJyZW50VmFsdWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gU2hvdyBpY29uXG4gICAgICAgIGlmIChcInNob3dJY29uXCIgaW4gY2hhbmdlcykge1xuICAgICAgICAgICAgLy8gQ29lcmNlIHRoZSB2YWx1ZSB0byBhIGJvb2xlYW5cbiAgICAgICAgICAgIHRoaXMuc2hvd0ljb24gPSBjb2VyY2VCb29sZWFuUHJvcGVydHkoY2hhbmdlcy5zaG93SWNvbi5jdXJyZW50VmFsdWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogT24gaW5pdFxuICAgICAqL1xuICAgIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgLy8gU3Vic2NyaWJlIHRvIHRoZSBkaXNtaXNzIGNhbGxzXG4gICAgICAgIHRoaXMuX25pY2VBbGVydFNlcnZpY2Uub25EaXNtaXNzXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBmaWx0ZXIoKG5hbWUpID0+IHRoaXMubmFtZSA9PT0gbmFtZSksXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuX3Vuc3Vic2NyaWJlQWxsKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG5cbiAgICAgICAgICAgICAgICAvLyBEaXNtaXNzIHRoZSBhbGVydFxuICAgICAgICAgICAgICAgIHRoaXMuZGlzbWlzcygpO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgLy8gU3Vic2NyaWJlIHRvIHRoZSBzaG93IGNhbGxzXG4gICAgICAgIHRoaXMuX25pY2VBbGVydFNlcnZpY2Uub25TaG93XG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBmaWx0ZXIoKG5hbWUpID0+IHRoaXMubmFtZSA9PT0gbmFtZSksXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuX3Vuc3Vic2NyaWJlQWxsKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG5cbiAgICAgICAgICAgICAgICAvLyBTaG93IHRoZSBhbGVydFxuICAgICAgICAgICAgICAgIHRoaXMuc2hvdygpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogT24gZGVzdHJveVxuICAgICAqL1xuICAgIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgLy8gVW5zdWJzY3JpYmUgZnJvbSBhbGwgc3Vic2NyaXB0aW9uc1xuICAgICAgICB0aGlzLl91bnN1YnNjcmliZUFsbC5uZXh0KCk7XG4gICAgICAgIHRoaXMuX3Vuc3Vic2NyaWJlQWxsLmNvbXBsZXRlKCk7XG4gICAgfVxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvLyBAIFB1YmxpYyBtZXRob2RzXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIC8qKlxuICAgICAqIERpc21pc3MgdGhlIGFsZXJ0XG4gICAgICovXG4gICAgcHVibGljIGRpc21pc3MoKTogdm9pZCB7XG4gICAgICAgIC8vIFJldHVybiBpZiB0aGUgYWxlcnQgaXMgYWxyZWFkeSBkaXNtaXNzZWRcbiAgICAgICAgaWYgKHRoaXMuZGlzbWlzc2VkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICAvLyBEaXNtaXNzIHRoZSBhbGVydFxuICAgICAgICB0aGlzLl90b2dnbGVEaXNtaXNzKHRydWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNob3cgdGhlIGRpc21pc3NlZCBhbGVydFxuICAgICAqL1xuICAgIHB1YmxpYyBzaG93KCk6IHZvaWQge1xuICAgICAgICAvLyBSZXR1cm4gaWYgdGhlIGFsZXJ0IGlzIGFscmVhZHkgc2hvd2luZ1xuICAgICAgICBpZiAoIXRoaXMuZGlzbWlzc2VkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICAvLyBTaG93IHRoZSBhbGVydFxuICAgICAgICB0aGlzLl90b2dnbGVEaXNtaXNzKGZhbHNlKTtcbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vIEAgUHJpdmF0ZSBtZXRob2RzXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIC8qKlxuICAgICAqIERpc21pc3Mvc2hvdyB0aGUgYWxlcnRcbiAgICAgKlxuICAgICAqIEBwYXJhbSBkaXNtaXNzZWRcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqL1xuICAgIHByaXZhdGUgX3RvZ2dsZURpc21pc3MoZGlzbWlzc2VkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIC8vIFJldHVybiBpZiB0aGUgYWxlcnQgaXMgbm90IGRpc21pc3NpYmxlXG4gICAgICAgIGlmICghdGhpcy5kaXNtaXNzaWJsZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gU2V0IHRoZSBkaXNtaXNzZWRcbiAgICAgICAgdGhpcy5kaXNtaXNzZWQgPSBkaXNtaXNzZWQ7XG5cbiAgICAgICAgLy8gRXhlY3V0ZSB0aGUgb2JzZXJ2YWJsZVxuICAgICAgICB0aGlzLmRpc21pc3NlZENoYW5nZWQubmV4dCh0aGlzLmRpc21pc3NlZCk7XG5cbiAgICAgICAgLy8gTm90aWZ5IHRoZSBjaGFuZ2UgZGV0ZWN0b3JcbiAgICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgfVxufVxuIiwiPGRpdlxuICAgIGNsYXNzPVwibmljZS1hbGVydC1jb250YWluZXJcIlxuICAgICpuZ0lmPVwiIWRpc21pc3NpYmxlIHx8IGRpc21pc3NpYmxlICYmICFkaXNtaXNzZWRcIlxuICAgIFtAZmFkZUluXT1cIiFkaXNtaXNzZWQgJiYgIWRpc2FibGVBbmltYXRpb25cIlxuICAgIFtAZmFkZU91dF09XCIhZGlzbWlzc2VkICYmICFkaXNhYmxlQW5pbWF0aW9uXCI+XG5cbiAgICA8IS0tIEJvcmRlciAtLT5cbiAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwibmljZS1hbGVydC1ib3JkZXJcIlxuICAgICAgICAqbmdJZj1cImFwcGVhcmFuY2UgPT09ICdib3JkZXInXCI+PC9kaXY+XG5cbiAgICA8IS0tIEljb24gLS0+XG4gICAgPGRpdlxuICAgICAgICBjbGFzcz1cIm5pY2UtYWxlcnQtaWNvblwiXG4gICAgICAgICpuZ0lmPVwic2hvd0ljb25cIj5cblxuICAgICAgICA8IS0tIEN1c3RvbSBpY29uIC0tPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibmljZS1hbGVydC1jdXN0b20taWNvblwiPlxuICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW25pY2VBbGVydEljb25dXCI+PC9uZy1jb250ZW50PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8IS0tIERlZmF1bHQgaWNvbnMgLS0+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJuaWNlLWFsZXJ0LWRlZmF1bHQtaWNvblwiPlxuXG4gICAgICAgICAgICA8bWF0LWljb25cbiAgICAgICAgICAgICAgICAqbmdJZj1cInR5cGUgPT09ICdwcmltYXJ5J1wiXG4gICAgICAgICAgICAgICAgW3N2Z0ljb25dPVwiJ2hlcm9pY29uc19zb2xpZDpjaGVjay1jaXJjbGUnXCI+PC9tYXQtaWNvbj5cblxuICAgICAgICAgICAgPG1hdC1pY29uXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJ0eXBlID09PSAnYWNjZW50J1wiXG4gICAgICAgICAgICAgICAgW3N2Z0ljb25dPVwiJ2hlcm9pY29uc19zb2xpZDpjaGVjay1jaXJjbGUnXCI+PC9tYXQtaWNvbj5cblxuICAgICAgICAgICAgPG1hdC1pY29uXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJ0eXBlID09PSAnd2FybidcIlxuICAgICAgICAgICAgICAgIFtzdmdJY29uXT1cIidoZXJvaWNvbnNfc29saWQ6eC1jaXJjbGUnXCI+PC9tYXQtaWNvbj5cblxuICAgICAgICAgICAgPG1hdC1pY29uXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJ0eXBlID09PSAnYmFzaWMnXCJcbiAgICAgICAgICAgICAgICBbc3ZnSWNvbl09XCInaGVyb2ljb25zX3NvbGlkOmNoZWNrLWNpcmNsZSdcIj48L21hdC1pY29uPlxuXG4gICAgICAgICAgICA8bWF0LWljb25cbiAgICAgICAgICAgICAgICAqbmdJZj1cInR5cGUgPT09ICdpbmZvJ1wiXG4gICAgICAgICAgICAgICAgW3N2Z0ljb25dPVwiJ2hlcm9pY29uc19zb2xpZDppbmZvcm1hdGlvbi1jaXJjbGUnXCI+PC9tYXQtaWNvbj5cblxuICAgICAgICAgICAgPG1hdC1pY29uXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJ0eXBlID09PSAnc3VjY2VzcydcIlxuICAgICAgICAgICAgICAgIFtzdmdJY29uXT1cIidoZXJvaWNvbnNfc29saWQ6Y2hlY2stY2lyY2xlJ1wiPjwvbWF0LWljb24+XG5cbiAgICAgICAgICAgIDxtYXQtaWNvblxuICAgICAgICAgICAgICAgICpuZ0lmPVwidHlwZSA9PT0gJ3dhcm5pbmcnXCJcbiAgICAgICAgICAgICAgICBbc3ZnSWNvbl09XCInaGVyb2ljb25zX3NvbGlkOmV4Y2xhbWF0aW9uJ1wiPjwvbWF0LWljb24+XG5cbiAgICAgICAgICAgIDxtYXQtaWNvblxuICAgICAgICAgICAgICAgICpuZ0lmPVwidHlwZSA9PT0gJ2Vycm9yJ1wiXG4gICAgICAgICAgICAgICAgW3N2Z0ljb25dPVwiJ2hlcm9pY29uc19zb2xpZDp4LWNpcmNsZSdcIj48L21hdC1pY29uPlxuXG4gICAgICAgIDwvZGl2PlxuXG4gICAgPC9kaXY+XG5cbiAgICA8IS0tIENvbnRlbnQgLS0+XG4gICAgPGRpdiBjbGFzcz1cIm5pY2UtYWxlcnQtY29udGVudFwiPlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJuaWNlLWFsZXJ0LXRpdGxlXCI+XG4gICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbbmljZUFsZXJ0VGl0bGVdXCI+PC9uZy1jb250ZW50PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwibmljZS1hbGVydC1tZXNzYWdlXCI+XG4gICAgICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgPC9kaXY+XG5cbiAgICA8IS0tIERpc21pc3MgYnV0dG9uIC0tPlxuICAgIDxidXR0b25cbiAgICAgICAgY2xhc3M9XCJuaWNlLWFsZXJ0LWRpc21pc3MtYnV0dG9uXCJcbiAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgIChjbGljayk9XCJkaXNtaXNzKClcIj5cbiAgICAgICAgPG1hdC1pY29uIFtzdmdJY29uXT1cIidoZXJvaWNvbnNfc29saWQ6eCdcIj48L21hdC1pY29uPlxuICAgIDwvYnV0dG9uPlxuXG48L2Rpdj5cbiJdfQ==
|
|
@@ -6,16 +6,14 @@ import { NiceAlertComponent } from "./alert.component";
|
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
7
|
export class NiceAlertModule {
|
|
8
8
|
}
|
|
9
|
-
NiceAlertModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
10
|
-
NiceAlertModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "
|
|
9
|
+
NiceAlertModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: NiceAlertModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
10
|
+
NiceAlertModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.3", ngImport: i0, type: NiceAlertModule, declarations: [NiceAlertComponent], imports: [CommonModule,
|
|
11
11
|
MatButtonModule,
|
|
12
12
|
MatIconModule], exports: [NiceAlertComponent] });
|
|
13
|
-
NiceAlertModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
]] });
|
|
18
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: NiceAlertModule, decorators: [{
|
|
13
|
+
NiceAlertModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: NiceAlertModule, imports: [CommonModule,
|
|
14
|
+
MatButtonModule,
|
|
15
|
+
MatIconModule] });
|
|
16
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: NiceAlertModule, decorators: [{
|
|
19
17
|
type: NgModule,
|
|
20
18
|
args: [{
|
|
21
19
|
imports: [
|
|
@@ -31,4 +29,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImpor
|
|
|
31
29
|
]
|
|
32
30
|
}]
|
|
33
31
|
}] });
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmljZS11aS1raXQtdjIvc3JjL2xpYi9jb21wb25lbnRzL2FsZXJ0L2FsZXJ0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDOztBQWV2RCxNQUFNLE9BQU8sZUFBZTs7NEdBQWYsZUFBZTs2R0FBZixlQUFlLGlCQU5wQixrQkFBa0IsYUFMbEIsWUFBWTtRQUNaLGVBQWU7UUFDZixhQUFhLGFBTWIsa0JBQWtCOzZHQUdiLGVBQWUsWUFYcEIsWUFBWTtRQUNaLGVBQWU7UUFDZixhQUFhOzJGQVNSLGVBQWU7a0JBYjNCLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFO3dCQUNMLFlBQVk7d0JBQ1osZUFBZTt3QkFDZixhQUFhO3FCQUNoQjtvQkFDRCxZQUFZLEVBQUU7d0JBQ1Ysa0JBQWtCO3FCQUNyQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ0wsa0JBQWtCO3FCQUNyQjtpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9idXR0b25cIjtcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvblwiO1xuaW1wb3J0IHsgTmljZUFsZXJ0Q29tcG9uZW50IH0gZnJvbSBcIi4vYWxlcnQuY29tcG9uZW50XCI7XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICAgICAgTWF0SWNvbk1vZHVsZVxuICAgIF0sXG4gICAgZGVjbGFyYXRpb25zOiBbXG4gICAgICAgIE5pY2VBbGVydENvbXBvbmVudFxuICAgIF0sXG4gICAgZXhwb3J0czogW1xuICAgICAgICBOaWNlQWxlcnRDb21wb25lbnRcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIE5pY2VBbGVydE1vZHVsZSB7XG59XG4iXX0=
|
|
@@ -47,9 +47,9 @@ export class NiceAlertService {
|
|
|
47
47
|
this._onShow.next(name);
|
|
48
48
|
}
|
|
49
49
|
}
|
|
50
|
-
NiceAlertService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
51
|
-
NiceAlertService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
52
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
50
|
+
NiceAlertService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: NiceAlertService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
51
|
+
NiceAlertService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: NiceAlertService, providedIn: "root" });
|
|
52
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: NiceAlertService, decorators: [{
|
|
53
53
|
type: Injectable,
|
|
54
54
|
args: [{
|
|
55
55
|
providedIn: "root"
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQudHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uaWNlLXVpLWtpdC12Mi9zcmMvbGliL2NvbXBvbmVudHMvYWxlcnQvYWxlcnQudHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIE5pY2VBbGVydEFwcGVhcmFuY2UgPVxuICAgIHwgXCJib3JkZXJcIlxuICAgIHwgXCJmaWxsXCJcbiAgICB8IFwib3V0bGluZVwiXG4gICAgfCBcInNvZnRcIjtcblxuZXhwb3J0IHR5cGUgTmljZUFsZXJ0VHlwZSA9XG4gICAgfCBcInByaW1hcnlcIlxuICAgIHwgXCJhY2NlbnRcIlxuICAgIHwgXCJ3YXJuXCJcbiAgICB8IFwiYmFzaWNcIlxuICAgIHwgXCJpbmZvXCJcbiAgICB8IFwic3VjY2Vzc1wiXG4gICAgfCBcIndhcm5pbmdcIlxuICAgIHwgXCJlcnJvclwiO1xuXG5leHBvcnQgdHlwZSBOaWNlQWxlcnRDb2xvciA9XG4gICAgfCBcInByaW1hcnlcIlxuICAgIHwgXCJhY2NlbnRcIlxuICAgIHwgXCJ3YXJuXCI7XG4iXX0=
|
|
@@ -4,12 +4,12 @@ import { niceAnimations } from "../../animations";
|
|
|
4
4
|
import { FileUtils } from "../../utils";
|
|
5
5
|
import { NICE_ASSETS_CAROUSEL_OPTIONS } from "./assets-carousel.constant";
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "@angular/
|
|
8
|
-
import * as i2 from "@angular/material/
|
|
9
|
-
import * as i3 from "@angular/material/
|
|
10
|
-
import * as i4 from "
|
|
7
|
+
import * as i1 from "@angular/common";
|
|
8
|
+
import * as i2 from "@angular/material/icon";
|
|
9
|
+
import * as i3 from "@angular/material/button";
|
|
10
|
+
import * as i4 from "@angular/material/menu";
|
|
11
11
|
import * as i5 from "@angular/material/core";
|
|
12
|
-
import * as i6 from "
|
|
12
|
+
import * as i6 from "../../directives/dropzone/dropzone.directive";
|
|
13
13
|
import * as i7 from "@ngx-translate/core";
|
|
14
14
|
export class NiceAssetsCarouselComponent {
|
|
15
15
|
constructor(options) {
|
|
@@ -178,15 +178,15 @@ export class NiceAssetsCarouselComponent {
|
|
|
178
178
|
await this._assetsElement.get(this._active).nativeElement.firstElementChild.play();
|
|
179
179
|
}
|
|
180
180
|
}
|
|
181
|
-
NiceAssetsCarouselComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
182
|
-
NiceAssetsCarouselComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
181
|
+
NiceAssetsCarouselComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: NiceAssetsCarouselComponent, deps: [{ token: NICE_ASSETS_CAROUSEL_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
182
|
+
NiceAssetsCarouselComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.3", type: NiceAssetsCarouselComponent, selector: "nice-assets-carousel", inputs: { color: "color", edit: "edit", accept: "accept", customActions: "customActions", assets: "assets" }, outputs: { activeChange: "activeChange" }, providers: [
|
|
183
183
|
{
|
|
184
184
|
provide: NG_VALUE_ACCESSOR,
|
|
185
185
|
useExisting: forwardRef(() => NiceAssetsCarouselComponent),
|
|
186
186
|
multi: true
|
|
187
187
|
}
|
|
188
|
-
], viewQueries: [{ propertyName: "inputElement", first: true, predicate: ["fileInput"], descendants: true }, { propertyName: "activeVideoElement", first: true, predicate: ["activeVideo"], descendants: true }, { propertyName: "assetsElement", predicate: ["assets"], descendants: true }], ngImport: i0, template: "<div class=\"carousel-container\" niceDropzone (filesDropped)=\"onFilesDrop($event)\">\n <div class=\"active-image\" [class.empty-state]=\"!_activeAsset\" matRipple [matRippleDisabled]=\"!!_activeAsset\" (click)=\"!_activeAsset && fileInput.click()\">\n <img *ngIf=\"_activeAsset?.type === 'image'\" draggable=\"false\" [src]=\"_activeAsset.url ?? _activeAsset.base64\">\n <video #activeVideo *ngIf=\"_activeAsset?.type === 'video'\" draggable=\"false\" loop [src]=\"_activeAsset.url ?? _activeAsset.base64\"></video>\n\n <div class=\"empty-state-content\" *ngIf=\"!_activeAsset\">\n <mat-icon *ngIf=\"options.upload.matIcon\">{{ options.upload.matIcon }}</mat-icon>\n <mat-icon *ngIf=\"options.upload.svgIcon\" [svgIcon]=\"options.upload.svgIcon\"></mat-icon>\n\n <div class=\"text\">\n {{ \"nice_ui_kit.assets_carousel.upload_here\" | translate }}\n </div>\n </div>\n\n <div class=\"active-buttons\" *ngIf=\"edit\">\n <button mat-icon-button (click)=\"fileInput.click()\">\n <mat-icon *ngIf=\"options.actionButtons.addPhoto.matIcon\">{{ options.actionButtons.addPhoto.matIcon }}</mat-icon>\n <mat-icon *ngIf=\"options.actionButtons.addPhoto.svgIcon\" [svgIcon]=\"options.actionButtons.addPhoto.svgIcon\"></mat-icon>\n </button>\n <button mat-icon-button [matMenuTriggerFor]=\"assetActions\" [disabled]=\"!_activeAsset\">\n <mat-icon *ngIf=\"options.actionButtons.moreOptions.matIcon\">{{ options.actionButtons.moreOptions.matIcon }}</mat-icon>\n <mat-icon *ngIf=\"options.actionButtons.moreOptions.svgIcon\" [svgIcon]=\"options.actionButtons.moreOptions.svgIcon\"></mat-icon>\n </button>\n\n <mat-menu class=\"nice-asset-options-menu\" [xPosition]=\"'before'\" #assetActions=\"matMenu\">\n <button mat-menu-item *ngFor=\"let action of customActions\" (click)=\"clickCustom(action)\">\n <mat-icon *ngIf=\"action.icon.matIcon\">{{ action.icon.matIcon }}</mat-icon>\n <mat-icon [svgIcon]=\"action.icon.svgIcon\" *ngIf=\"action.icon.svgIcon\"></mat-icon>\n <span>{{ action.name | translate }}</span>\n </button>\n <button mat-menu-item (click)=\"clickRemove()\">\n <mat-icon *ngIf=\"options.actionButtons.remove.matIcon\">{{ options.actionButtons.remove.matIcon }}</mat-icon>\n <mat-icon *ngIf=\"options.actionButtons.remove.svgIcon\" [svgIcon]=\"options.actionButtons.remove.svgIcon\"></mat-icon>\n <span>{{ \"nice_ui_kit.assets_carousel.delete\" | translate }}</span>\n </button>\n </mat-menu>\n </div>\n\n <div class=\"upload-overlay\">\n <mat-icon *ngIf=\"options.upload.matIcon\">{{ options.upload.matIcon }}</mat-icon>\n <mat-icon *ngIf=\"options.upload.svgIcon\" [svgIcon]=\"options.upload.svgIcon\"></mat-icon>\n </div>\n </div>\n\n <div class=\"carousel\">\n <button class=\"action-button\" mat-icon-button [disabled]=\"!_active\" (click)=\"clickLeft()\">\n <mat-icon *ngIf=\"options.leftArrow.matIcon\">{{ options.leftArrow.matIcon }}</mat-icon>\n <mat-icon class=\"arrows\" *ngIf=\"options.leftArrow.svgIcon\" [svgIcon]=\"options.leftArrow.svgIcon\"></mat-icon>\n </button>\n\n <div class=\"asset-list-container\">\n <div class=\"add-asset-container\" *ngIf=\"edit\">\n <div class=\"add-asset\" matRipple (click)=\"fileInput.click()\">\n <mat-icon *ngIf=\"options.addPhoto.matIcon\">{{ options.addPhoto.matIcon }}</mat-icon>\n <mat-icon *ngIf=\"options.addPhoto.svgIcon\" [svgIcon]=\"options.addPhoto.svgIcon\"></mat-icon>\n </div>\n </div>\n\n <div class=\"asset-list\" [ngStyle]=\"listStyle\">\n <div #assets class=\"asset\" *ngFor=\"let asset of _assets; let i = index\" (click)=\"clickAsset(i)\" [ngClass]=\"color\" [class.active]=\"_active === i\">\n <img *ngIf=\"asset.type === 'image'\" draggable=\"false\" [src]=\"asset.url ?? asset.base64\">\n <video *ngIf=\"asset.type === 'video'\" draggable=\"false\" loop [src]=\"asset.url ?? asset.base64\"></video>\n </div>\n </div>\n </div>\n\n <button class=\"action-button\" mat-icon-button [disabled]=\"_lastAsset\" (click)=\"clickRight()\">\n <mat-icon *ngIf=\"options.rightArrow.matIcon\">{{ options.rightArrow.matIcon }}</mat-icon>\n <mat-icon class=\"arrows\" *ngIf=\"options.rightArrow.svgIcon\" [svgIcon]=\"options.rightArrow.svgIcon\"></mat-icon>\n </button>\n </div>\n</div>\n\n<input #fileInput type=\"file\" hidden [accept]=\"accept\" (change)=\"onFilesChange($event)\">\n", styles: [""],
|
|
189
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
188
|
+
], viewQueries: [{ propertyName: "inputElement", first: true, predicate: ["fileInput"], descendants: true }, { propertyName: "activeVideoElement", first: true, predicate: ["activeVideo"], descendants: true }, { propertyName: "assetsElement", predicate: ["assets"], descendants: true }], ngImport: i0, template: "<div class=\"carousel-container\" niceDropzone (filesDropped)=\"onFilesDrop($event)\">\n <div class=\"active-image\" [class.empty-state]=\"!_activeAsset\" matRipple [matRippleDisabled]=\"!!_activeAsset\" (click)=\"!_activeAsset && fileInput.click()\">\n <img *ngIf=\"_activeAsset?.type === 'image'\" draggable=\"false\" [src]=\"_activeAsset.url ?? _activeAsset.base64\">\n <video #activeVideo *ngIf=\"_activeAsset?.type === 'video'\" draggable=\"false\" loop [src]=\"_activeAsset.url ?? _activeAsset.base64\"></video>\n\n <div class=\"empty-state-content\" *ngIf=\"!_activeAsset\">\n <mat-icon *ngIf=\"options.upload.matIcon\">{{ options.upload.matIcon }}</mat-icon>\n <mat-icon *ngIf=\"options.upload.svgIcon\" [svgIcon]=\"options.upload.svgIcon\"></mat-icon>\n\n <div class=\"text\">\n {{ \"nice_ui_kit.assets_carousel.upload_here\" | translate }}\n </div>\n </div>\n\n <div class=\"active-buttons\" *ngIf=\"edit\">\n <button mat-icon-button (click)=\"fileInput.click()\">\n <mat-icon *ngIf=\"options.actionButtons.addPhoto.matIcon\">{{ options.actionButtons.addPhoto.matIcon }}</mat-icon>\n <mat-icon *ngIf=\"options.actionButtons.addPhoto.svgIcon\" [svgIcon]=\"options.actionButtons.addPhoto.svgIcon\"></mat-icon>\n </button>\n <button mat-icon-button [matMenuTriggerFor]=\"assetActions\" [disabled]=\"!_activeAsset\">\n <mat-icon *ngIf=\"options.actionButtons.moreOptions.matIcon\">{{ options.actionButtons.moreOptions.matIcon }}</mat-icon>\n <mat-icon *ngIf=\"options.actionButtons.moreOptions.svgIcon\" [svgIcon]=\"options.actionButtons.moreOptions.svgIcon\"></mat-icon>\n </button>\n\n <mat-menu class=\"nice-asset-options-menu\" [xPosition]=\"'before'\" #assetActions=\"matMenu\">\n <button mat-menu-item *ngFor=\"let action of customActions\" (click)=\"clickCustom(action)\">\n <mat-icon *ngIf=\"action.icon.matIcon\">{{ action.icon.matIcon }}</mat-icon>\n <mat-icon [svgIcon]=\"action.icon.svgIcon\" *ngIf=\"action.icon.svgIcon\"></mat-icon>\n <span>{{ action.name | translate }}</span>\n </button>\n <button mat-menu-item (click)=\"clickRemove()\">\n <mat-icon *ngIf=\"options.actionButtons.remove.matIcon\">{{ options.actionButtons.remove.matIcon }}</mat-icon>\n <mat-icon *ngIf=\"options.actionButtons.remove.svgIcon\" [svgIcon]=\"options.actionButtons.remove.svgIcon\"></mat-icon>\n <span>{{ \"nice_ui_kit.assets_carousel.delete\" | translate }}</span>\n </button>\n </mat-menu>\n </div>\n\n <div class=\"upload-overlay\">\n <mat-icon *ngIf=\"options.upload.matIcon\">{{ options.upload.matIcon }}</mat-icon>\n <mat-icon *ngIf=\"options.upload.svgIcon\" [svgIcon]=\"options.upload.svgIcon\"></mat-icon>\n </div>\n </div>\n\n <div class=\"carousel\">\n <button class=\"action-button\" mat-icon-button [disabled]=\"!_active\" (click)=\"clickLeft()\">\n <mat-icon *ngIf=\"options.leftArrow.matIcon\">{{ options.leftArrow.matIcon }}</mat-icon>\n <mat-icon class=\"arrows\" *ngIf=\"options.leftArrow.svgIcon\" [svgIcon]=\"options.leftArrow.svgIcon\"></mat-icon>\n </button>\n\n <div class=\"asset-list-container\">\n <div class=\"add-asset-container\" *ngIf=\"edit\">\n <div class=\"add-asset\" matRipple (click)=\"fileInput.click()\">\n <mat-icon *ngIf=\"options.addPhoto.matIcon\">{{ options.addPhoto.matIcon }}</mat-icon>\n <mat-icon *ngIf=\"options.addPhoto.svgIcon\" [svgIcon]=\"options.addPhoto.svgIcon\"></mat-icon>\n </div>\n </div>\n\n <div class=\"asset-list\" [ngStyle]=\"listStyle\">\n <div #assets class=\"asset\" *ngFor=\"let asset of _assets; let i = index\" (click)=\"clickAsset(i)\" [ngClass]=\"color\" [class.active]=\"_active === i\">\n <img *ngIf=\"asset.type === 'image'\" draggable=\"false\" [src]=\"asset.url ?? asset.base64\">\n <video *ngIf=\"asset.type === 'video'\" draggable=\"false\" loop [src]=\"asset.url ?? asset.base64\"></video>\n </div>\n </div>\n </div>\n\n <button class=\"action-button\" mat-icon-button [disabled]=\"_lastAsset\" (click)=\"clickRight()\">\n <mat-icon *ngIf=\"options.rightArrow.matIcon\">{{ options.rightArrow.matIcon }}</mat-icon>\n <mat-icon class=\"arrows\" *ngIf=\"options.rightArrow.svgIcon\" [svgIcon]=\"options.rightArrow.svgIcon\"></mat-icon>\n </button>\n </div>\n</div>\n\n<input #fileInput type=\"file\" hidden [accept]=\"accept\" (change)=\"onFilesChange($event)\">\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i3.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i4.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i4.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i4.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "directive", type: i5.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { kind: "directive", type: i6.NiceDropzoneDirective, selector: "[niceDropzone]", outputs: ["filesDropped"] }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }], animations: niceAnimations, encapsulation: i0.ViewEncapsulation.None });
|
|
189
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: NiceAssetsCarouselComponent, decorators: [{
|
|
190
190
|
type: Component,
|
|
191
191
|
args: [{ selector: "nice-assets-carousel", encapsulation: ViewEncapsulation.None, animations: niceAnimations, providers: [
|
|
192
192
|
{
|
|
@@ -194,7 +194,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImpor
|
|
|
194
194
|
useExisting: forwardRef(() => NiceAssetsCarouselComponent),
|
|
195
195
|
multi: true
|
|
196
196
|
}
|
|
197
|
-
], template: "<div class=\"carousel-container\" niceDropzone (filesDropped)=\"onFilesDrop($event)\">\n <div class=\"active-image\" [class.empty-state]=\"!_activeAsset\" matRipple [matRippleDisabled]=\"!!_activeAsset\" (click)=\"!_activeAsset && fileInput.click()\">\n <img *ngIf=\"_activeAsset?.type === 'image'\" draggable=\"false\" [src]=\"_activeAsset.url ?? _activeAsset.base64\">\n <video #activeVideo *ngIf=\"_activeAsset?.type === 'video'\" draggable=\"false\" loop [src]=\"_activeAsset.url ?? _activeAsset.base64\"></video>\n\n <div class=\"empty-state-content\" *ngIf=\"!_activeAsset\">\n <mat-icon *ngIf=\"options.upload.matIcon\">{{ options.upload.matIcon }}</mat-icon>\n <mat-icon *ngIf=\"options.upload.svgIcon\" [svgIcon]=\"options.upload.svgIcon\"></mat-icon>\n\n <div class=\"text\">\n {{ \"nice_ui_kit.assets_carousel.upload_here\" | translate }}\n </div>\n </div>\n\n <div class=\"active-buttons\" *ngIf=\"edit\">\n <button mat-icon-button (click)=\"fileInput.click()\">\n <mat-icon *ngIf=\"options.actionButtons.addPhoto.matIcon\">{{ options.actionButtons.addPhoto.matIcon }}</mat-icon>\n <mat-icon *ngIf=\"options.actionButtons.addPhoto.svgIcon\" [svgIcon]=\"options.actionButtons.addPhoto.svgIcon\"></mat-icon>\n </button>\n <button mat-icon-button [matMenuTriggerFor]=\"assetActions\" [disabled]=\"!_activeAsset\">\n <mat-icon *ngIf=\"options.actionButtons.moreOptions.matIcon\">{{ options.actionButtons.moreOptions.matIcon }}</mat-icon>\n <mat-icon *ngIf=\"options.actionButtons.moreOptions.svgIcon\" [svgIcon]=\"options.actionButtons.moreOptions.svgIcon\"></mat-icon>\n </button>\n\n <mat-menu class=\"nice-asset-options-menu\" [xPosition]=\"'before'\" #assetActions=\"matMenu\">\n <button mat-menu-item *ngFor=\"let action of customActions\" (click)=\"clickCustom(action)\">\n <mat-icon *ngIf=\"action.icon.matIcon\">{{ action.icon.matIcon }}</mat-icon>\n <mat-icon [svgIcon]=\"action.icon.svgIcon\" *ngIf=\"action.icon.svgIcon\"></mat-icon>\n <span>{{ action.name | translate }}</span>\n </button>\n <button mat-menu-item (click)=\"clickRemove()\">\n <mat-icon *ngIf=\"options.actionButtons.remove.matIcon\">{{ options.actionButtons.remove.matIcon }}</mat-icon>\n <mat-icon *ngIf=\"options.actionButtons.remove.svgIcon\" [svgIcon]=\"options.actionButtons.remove.svgIcon\"></mat-icon>\n <span>{{ \"nice_ui_kit.assets_carousel.delete\" | translate }}</span>\n </button>\n </mat-menu>\n </div>\n\n <div class=\"upload-overlay\">\n <mat-icon *ngIf=\"options.upload.matIcon\">{{ options.upload.matIcon }}</mat-icon>\n <mat-icon *ngIf=\"options.upload.svgIcon\" [svgIcon]=\"options.upload.svgIcon\"></mat-icon>\n </div>\n </div>\n\n <div class=\"carousel\">\n <button class=\"action-button\" mat-icon-button [disabled]=\"!_active\" (click)=\"clickLeft()\">\n <mat-icon *ngIf=\"options.leftArrow.matIcon\">{{ options.leftArrow.matIcon }}</mat-icon>\n <mat-icon class=\"arrows\" *ngIf=\"options.leftArrow.svgIcon\" [svgIcon]=\"options.leftArrow.svgIcon\"></mat-icon>\n </button>\n\n <div class=\"asset-list-container\">\n <div class=\"add-asset-container\" *ngIf=\"edit\">\n <div class=\"add-asset\" matRipple (click)=\"fileInput.click()\">\n <mat-icon *ngIf=\"options.addPhoto.matIcon\">{{ options.addPhoto.matIcon }}</mat-icon>\n <mat-icon *ngIf=\"options.addPhoto.svgIcon\" [svgIcon]=\"options.addPhoto.svgIcon\"></mat-icon>\n </div>\n </div>\n\n <div class=\"asset-list\" [ngStyle]=\"listStyle\">\n <div #assets class=\"asset\" *ngFor=\"let asset of _assets; let i = index\" (click)=\"clickAsset(i)\" [ngClass]=\"color\" [class.active]=\"_active === i\">\n <img *ngIf=\"asset.type === 'image'\" draggable=\"false\" [src]=\"asset.url ?? asset.base64\">\n <video *ngIf=\"asset.type === 'video'\" draggable=\"false\" loop [src]=\"asset.url ?? asset.base64\"></video>\n </div>\n </div>\n </div>\n\n <button class=\"action-button\" mat-icon-button [disabled]=\"_lastAsset\" (click)=\"clickRight()\">\n <mat-icon *ngIf=\"options.rightArrow.matIcon\">{{ options.rightArrow.matIcon }}</mat-icon>\n <mat-icon class=\"arrows\" *ngIf=\"options.rightArrow.svgIcon\" [svgIcon]=\"options.rightArrow.svgIcon\"></mat-icon>\n </button>\n </div>\n</div>\n\n<input #fileInput type=\"file\" hidden [accept]=\"accept\" (change)=\"onFilesChange($event)\">\n"
|
|
197
|
+
], template: "<div class=\"carousel-container\" niceDropzone (filesDropped)=\"onFilesDrop($event)\">\n <div class=\"active-image\" [class.empty-state]=\"!_activeAsset\" matRipple [matRippleDisabled]=\"!!_activeAsset\" (click)=\"!_activeAsset && fileInput.click()\">\n <img *ngIf=\"_activeAsset?.type === 'image'\" draggable=\"false\" [src]=\"_activeAsset.url ?? _activeAsset.base64\">\n <video #activeVideo *ngIf=\"_activeAsset?.type === 'video'\" draggable=\"false\" loop [src]=\"_activeAsset.url ?? _activeAsset.base64\"></video>\n\n <div class=\"empty-state-content\" *ngIf=\"!_activeAsset\">\n <mat-icon *ngIf=\"options.upload.matIcon\">{{ options.upload.matIcon }}</mat-icon>\n <mat-icon *ngIf=\"options.upload.svgIcon\" [svgIcon]=\"options.upload.svgIcon\"></mat-icon>\n\n <div class=\"text\">\n {{ \"nice_ui_kit.assets_carousel.upload_here\" | translate }}\n </div>\n </div>\n\n <div class=\"active-buttons\" *ngIf=\"edit\">\n <button mat-icon-button (click)=\"fileInput.click()\">\n <mat-icon *ngIf=\"options.actionButtons.addPhoto.matIcon\">{{ options.actionButtons.addPhoto.matIcon }}</mat-icon>\n <mat-icon *ngIf=\"options.actionButtons.addPhoto.svgIcon\" [svgIcon]=\"options.actionButtons.addPhoto.svgIcon\"></mat-icon>\n </button>\n <button mat-icon-button [matMenuTriggerFor]=\"assetActions\" [disabled]=\"!_activeAsset\">\n <mat-icon *ngIf=\"options.actionButtons.moreOptions.matIcon\">{{ options.actionButtons.moreOptions.matIcon }}</mat-icon>\n <mat-icon *ngIf=\"options.actionButtons.moreOptions.svgIcon\" [svgIcon]=\"options.actionButtons.moreOptions.svgIcon\"></mat-icon>\n </button>\n\n <mat-menu class=\"nice-asset-options-menu\" [xPosition]=\"'before'\" #assetActions=\"matMenu\">\n <button mat-menu-item *ngFor=\"let action of customActions\" (click)=\"clickCustom(action)\">\n <mat-icon *ngIf=\"action.icon.matIcon\">{{ action.icon.matIcon }}</mat-icon>\n <mat-icon [svgIcon]=\"action.icon.svgIcon\" *ngIf=\"action.icon.svgIcon\"></mat-icon>\n <span>{{ action.name | translate }}</span>\n </button>\n <button mat-menu-item (click)=\"clickRemove()\">\n <mat-icon *ngIf=\"options.actionButtons.remove.matIcon\">{{ options.actionButtons.remove.matIcon }}</mat-icon>\n <mat-icon *ngIf=\"options.actionButtons.remove.svgIcon\" [svgIcon]=\"options.actionButtons.remove.svgIcon\"></mat-icon>\n <span>{{ \"nice_ui_kit.assets_carousel.delete\" | translate }}</span>\n </button>\n </mat-menu>\n </div>\n\n <div class=\"upload-overlay\">\n <mat-icon *ngIf=\"options.upload.matIcon\">{{ options.upload.matIcon }}</mat-icon>\n <mat-icon *ngIf=\"options.upload.svgIcon\" [svgIcon]=\"options.upload.svgIcon\"></mat-icon>\n </div>\n </div>\n\n <div class=\"carousel\">\n <button class=\"action-button\" mat-icon-button [disabled]=\"!_active\" (click)=\"clickLeft()\">\n <mat-icon *ngIf=\"options.leftArrow.matIcon\">{{ options.leftArrow.matIcon }}</mat-icon>\n <mat-icon class=\"arrows\" *ngIf=\"options.leftArrow.svgIcon\" [svgIcon]=\"options.leftArrow.svgIcon\"></mat-icon>\n </button>\n\n <div class=\"asset-list-container\">\n <div class=\"add-asset-container\" *ngIf=\"edit\">\n <div class=\"add-asset\" matRipple (click)=\"fileInput.click()\">\n <mat-icon *ngIf=\"options.addPhoto.matIcon\">{{ options.addPhoto.matIcon }}</mat-icon>\n <mat-icon *ngIf=\"options.addPhoto.svgIcon\" [svgIcon]=\"options.addPhoto.svgIcon\"></mat-icon>\n </div>\n </div>\n\n <div class=\"asset-list\" [ngStyle]=\"listStyle\">\n <div #assets class=\"asset\" *ngFor=\"let asset of _assets; let i = index\" (click)=\"clickAsset(i)\" [ngClass]=\"color\" [class.active]=\"_active === i\">\n <img *ngIf=\"asset.type === 'image'\" draggable=\"false\" [src]=\"asset.url ?? asset.base64\">\n <video *ngIf=\"asset.type === 'video'\" draggable=\"false\" loop [src]=\"asset.url ?? asset.base64\"></video>\n </div>\n </div>\n </div>\n\n <button class=\"action-button\" mat-icon-button [disabled]=\"_lastAsset\" (click)=\"clickRight()\">\n <mat-icon *ngIf=\"options.rightArrow.matIcon\">{{ options.rightArrow.matIcon }}</mat-icon>\n <mat-icon class=\"arrows\" *ngIf=\"options.rightArrow.svgIcon\" [svgIcon]=\"options.rightArrow.svgIcon\"></mat-icon>\n </button>\n </div>\n</div>\n\n<input #fileInput type=\"file\" hidden [accept]=\"accept\" (change)=\"onFilesChange($event)\">\n" }]
|
|
198
198
|
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
199
199
|
type: Optional
|
|
200
200
|
}, {
|
|
@@ -222,4 +222,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImpor
|
|
|
222
222
|
}], assets: [{
|
|
223
223
|
type: Input
|
|
224
224
|
}] } });
|
|
225
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXRzLWNhcm91c2VsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25pY2UtdWkta2l0LXYyL3NyYy9saWIvY29tcG9uZW50cy9hc3NldHMtY2Fyb3VzZWwvYXNzZXRzLWNhcm91c2VsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25pY2UtdWkta2l0LXYyL3NyYy9saWIvY29tcG9uZW50cy9hc3NldHMtY2Fyb3VzZWwvYXNzZXRzLWNhcm91c2VsLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLFVBQVUsRUFDVixNQUFNLEVBQ04sS0FBSyxFQUNMLFFBQVEsRUFDUixNQUFNLEVBQUUsU0FBUyxFQUNqQixTQUFTLEVBQUUsWUFBWSxFQUN2QixpQkFBaUIsRUFDcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXpFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7Ozs7Ozs7QUE0QzFFLE1BQU0sT0FBTywyQkFBMkI7SUEyRXBDLFlBQThFLE9BQWtDO1FBQWxDLFlBQU8sR0FBUCxPQUFPLENBQTJCO1FBMUV6RywrQkFBMEIsR0FBRyxDQUFDLENBQUM7UUFDL0IsWUFBTyxHQUFHLENBQUMsQ0FBQztRQUNaLFlBQU8sR0FBaUIsRUFBRSxDQUFDO1FBRTNCLGVBQVUsR0FBRyxJQUFJLENBQUM7UUFDbEIscUJBQWdCLEdBQUcsS0FBSyxDQUFDO1FBR3pCLGlCQUFZLEdBQWlCLFNBQVMsQ0FBQztRQU12QyxVQUFLLEdBQWlCLElBQUksQ0FBQyxZQUFZLENBQUM7UUFHeEMsU0FBSSxHQUFHLEtBQUssQ0FBQztRQUdiLFdBQU0sR0FBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRy9CLGtCQUFhLEdBQWdDLEVBQUUsQ0FBQztRQUdoRCxpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFFMUMsY0FBUyxHQUEwQixFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxDQUFDO1FBK0N2RSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNmLElBQUksQ0FBQyxPQUFPLEdBQUc7Z0JBQ1gsYUFBYSxFQUFFO29CQUNYLFFBQVEsRUFBRTt3QkFDTixPQUFPLEVBQUUsY0FBYztxQkFDMUI7b0JBQ0QsV0FBVyxFQUFFO3dCQUNULE9BQU8sRUFBRSxXQUFXO3FCQUN2QjtvQkFDRCxNQUFNLEVBQUU7d0JBQ0osT0FBTyxFQUFFLFFBQVE7cUJBQ3BCO2lCQUNKO2dCQUNELFFBQVEsRUFBRTtvQkFDTixPQUFPLEVBQUUsY0FBYztpQkFDMUI7Z0JBQ0QsU0FBUyxFQUFFO29CQUNQLE9BQU8sRUFBRSxjQUFjO2lCQUMxQjtnQkFDRCxVQUFVLEVBQUU7b0JBQ1IsT0FBTyxFQUFFLGVBQWU7aUJBQzNCO2dCQUNELE1BQU0sRUFBRTtvQkFDSixPQUFPLEVBQUUsYUFBYTtpQkFDekI7YUFDSixDQUFDO1NBQ0w7SUFDTCxDQUFDO0lBdEVELElBQ1csa0JBQWtCLENBQUMsa0JBQWdEO1FBQzFFLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxrQkFBa0IsQ0FBQztRQUM5QyxJQUFJLENBQUMsSUFBSSxDQUFDLG1CQUFtQixJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUNuRCxPQUFPO1NBQ1Y7UUFFRCxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVELElBQ1csYUFBYSxDQUFDLGFBQW9EO1FBQ3pFLElBQUksQ0FBQyxjQUFjLEdBQUcsYUFBYSxDQUFDO1FBQ3BDLElBQUksQ0FBQyxJQUFJLENBQUMsbUJBQW1CLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ25ELE9BQU87U0FDVjtRQUVELElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQsSUFDVyxNQUFNLENBQUMsTUFBb0I7UUFDbEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLElBQUksRUFBRSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVELElBQVkseUJBQXlCLENBQUMsUUFBZ0I7UUFDbEQsSUFBSSxDQUFDLDBCQUEwQixHQUFHLFFBQVEsQ0FBQztRQUMzQyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsR0FBRyxjQUFjLFFBQVEsS0FBSyxDQUFDO0lBQzNELENBQUM7SUFFRCxJQUFZLFdBQVcsQ0FBQyxRQUFnQjtRQUNwQyxJQUFJLFFBQVEsR0FBRyxDQUFDLEVBQUU7WUFDZCxRQUFRLEdBQUcsQ0FBQyxDQUFDO1NBQ2hCO1FBRUQsSUFBSSxDQUFDLE9BQU8sR0FBRyxRQUFRLENBQUM7UUFDeEIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMvQyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxPQUFPLEtBQUssSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUM7UUFDbkYsSUFBSSxDQUFDLGdCQUFnQixHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsT0FBTyxJQUFJLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxPQUFPLElBQUksQ0FBQyxDQUFDO1FBQzlFLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBZ0NNLFVBQVUsQ0FBQyxNQUFvQjtRQUNsQyxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sSUFBSSxFQUFFLENBQUM7UUFDNUIsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRTtZQUN0QixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQ2xEO2FBQU07WUFDSCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztTQUMxQjtJQUNMLENBQUM7SUFFTSxnQkFBZ0IsQ0FBQyxFQUFrQztRQUN0RCxJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRU0saUJBQWlCLENBQUMsRUFBa0MsSUFBUyxDQUFDO0lBRTlELFNBQVM7UUFDWixJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDZCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDO1NBQ3ZDO1FBRUQsSUFBSSxJQUFJLENBQUMsMEJBQTBCLEdBQUcsQ0FBQyxFQUFFO1lBQ3JDLElBQUksQ0FBQyx5QkFBeUIsR0FBRyxJQUFJLENBQUMsMEJBQTBCLEdBQUcsR0FBRyxDQUFDO1NBQzFFO0lBQ0wsQ0FBQztJQUVNLFVBQVU7UUFDYixJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDakIsT0FBTztTQUNWO1FBRUQsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQztRQUNwQyxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtZQUN2QixJQUFJLENBQUMseUJBQXlCLEdBQUcsSUFBSSxDQUFDLDBCQUEwQixHQUFHLEdBQUcsQ0FBQztTQUMxRTtJQUNMLENBQUM7SUFFTSxVQUFVLENBQUMsS0FBYTtRQUMzQixJQUFJLGFBQWEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN0QyxJQUFJLEtBQUssR0FBRyxhQUFhLEVBQUU7WUFDdkIsYUFBYSxHQUFHLEtBQUssQ0FBQztTQUN6QjtRQUVELElBQUksS0FBSyxJQUFJLENBQUMsRUFBRTtZQUNaLElBQUksQ0FBQyx5QkFBeUIsR0FBRyxDQUFDLEtBQUssR0FBRyxhQUFhLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQztTQUNuRTtRQUVELElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO0lBQzdCLENBQUM7SUFFTSxLQUFLLENBQUMsYUFBYSxDQUFDLEtBQVk7UUFDbkMsTUFBTSxLQUFLLEdBQUksS0FBSyxDQUFDLE1BQTJCLEVBQUUsS0FBSyxDQUFDO1FBQ3hELE1BQU0sSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUU5QixJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO0lBQ2pELENBQUM7SUFFTSxLQUFLLENBQUMsV0FBVyxDQUFDLEtBQWU7UUFDcEMsSUFBSSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUU7WUFDaEIsT0FBTztTQUNWO1FBRUQsSUFBSSxjQUFjLEdBQUcsS0FBSyxDQUFDO1FBQzNCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ25DLE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDM0IsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7Z0JBQzdCLElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRTtvQkFDdEIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO2lCQUN4RDtnQkFFRCxPQUFPLE1BQU0sS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDO1lBQ2hDLENBQUMsQ0FBQyxFQUFFO2dCQUNBLFNBQVM7YUFDWjtZQUVELGNBQWMsR0FBRyxJQUFJLENBQUM7WUFDdEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7Z0JBQ2QsSUFBSTtnQkFDSixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUF1QjtnQkFDdkQsTUFBTSxFQUFFLE1BQU0sU0FBUyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUM7YUFDM0MsQ0FBQyxDQUFDO1NBQ047UUFFRCxJQUFJLGNBQWMsRUFBRTtZQUNoQixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQ3pDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDbEM7SUFDTCxDQUFDO0lBRU0sV0FBVztRQUNkLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFFckMsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ2pCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7U0FDNUM7YUFBTTtZQUNILElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQ2pDO1FBRUQsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRU0sV0FBVyxDQUFDLE1BQWlDO1FBQ2hELE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFTSxLQUFLLENBQUMsY0FBYztRQUN0QixJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsYUFBYSxDQUFDLGlCQUFzQyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ25HLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxhQUFhLENBQUMsaUJBQXNDLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQztRQUU1RyxJQUFJLENBQUMsbUJBQW1CLENBQUMsYUFBYSxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUM7UUFDdkQsTUFBTSxJQUFJLENBQUMsbUJBQW1CLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3BELE1BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLGFBQWEsQ0FBQyxpQkFBc0MsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUM3RyxDQUFDOzt3SEF4TlEsMkJBQTJCLGtCQTJFSiw0QkFBNEI7NEdBM0VuRCwyQkFBMkIsd01BUnpCO1FBQ1A7WUFDSSxPQUFPLEVBQUUsaUJBQWlCO1lBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsMkJBQTJCLENBQUM7WUFDMUQsS0FBSyxFQUFFLElBQUk7U0FDZDtLQUNKLHNUQzFETCxnMkpBMEVBLHk5Q0R2QmdCLGNBQWM7MkZBU2pCLDJCQUEyQjtrQkFkdkMsU0FBUzsrQkFDSSxzQkFBc0IsaUJBR2pCLGlCQUFpQixDQUFDLElBQUksY0FDekIsY0FBYyxhQUNmO3dCQUNQOzRCQUNJLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLDRCQUE0QixDQUFDOzRCQUMxRCxLQUFLLEVBQUUsSUFBSTt5QkFDZDtxQkFDSjs7MEJBNkVZLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsNEJBQTRCOzRDQS9EckQsWUFBWTtzQkFEbEIsU0FBUzt1QkFBQyxXQUFXO2dCQUlmLEtBQUs7c0JBRFgsS0FBSztnQkFJQyxJQUFJO3NCQURWLEtBQUs7Z0JBSUMsTUFBTTtzQkFEWixLQUFLO2dCQUlDLGFBQWE7c0JBRG5CLEtBQUs7Z0JBSUMsWUFBWTtzQkFEbEIsTUFBTTtnQkFRSSxrQkFBa0I7c0JBRDVCLFNBQVM7dUJBQUMsYUFBYTtnQkFXYixhQUFhO3NCQUR2QixZQUFZO3VCQUFDLFFBQVE7Z0JBV1gsTUFBTTtzQkFEaEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIGZvcndhcmRSZWYsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIE9wdGlvbmFsLFxuICAgIE91dHB1dCwgUXVlcnlMaXN0LFxuICAgIFZpZXdDaGlsZCwgVmlld0NoaWxkcmVuLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcbmltcG9ydCB7IENhbkNvbG9yLCBUaGVtZVBhbGV0dGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZVwiO1xuaW1wb3J0IHsgbmljZUFuaW1hdGlvbnMgfSBmcm9tIFwiLi4vLi4vYW5pbWF0aW9uc1wiO1xuaW1wb3J0IHsgRmlsZVV0aWxzIH0gZnJvbSBcIi4uLy4uL3V0aWxzXCI7XG5pbXBvcnQgeyBOSUNFX0FTU0VUU19DQVJPVVNFTF9PUFRJT05TIH0gZnJvbSBcIi4vYXNzZXRzLWNhcm91c2VsLmNvbnN0YW50XCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmljZUFzc2V0cyB7XG4gICAgdHlwZTogXCJpbWFnZVwiIHwgXCJ2aWRlb1wiO1xuICAgIGlkPzogbnVtYmVyIHwgc3RyaW5nO1xuICAgIHVybD86IHN0cmluZztcbiAgICBiYXNlNjQ/OiBzdHJpbmc7XG4gICAgZmlsZT86IEZpbGU7XG59XG5cbmV4cG9ydCB0eXBlIE5pY2VBc3NldHNDYXJvdXNlbEFjdGlvbkljb24gPSB7IG1hdEljb246IHN0cmluZzsgc3ZnSWNvbj86IHN0cmluZzsgfSB8IHsgbWF0SWNvbj86IHN0cmluZzsgc3ZnSWNvbjogc3RyaW5nOyB9O1xuXG5leHBvcnQgaW50ZXJmYWNlIE5pY2VBc3NldHNDYXJvdXNlbEFjdGlvbnMge1xuICAgIGljb246IE5pY2VBc3NldHNDYXJvdXNlbEFjdGlvbkljb247XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIGFjdGlvbjogKGFjdGl2ZTogbnVtYmVyKSA9PiB2b2lkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE5pY2VBc3NldHNDYXJvdXNlbE9wdGlvbnMge1xuICAgIGFjdGlvbkJ1dHRvbnM/OiB7XG4gICAgICAgIG1vcmVPcHRpb25zPzogTmljZUFzc2V0c0Nhcm91c2VsQWN0aW9uSWNvbjtcbiAgICAgICAgYWRkUGhvdG8/OiBOaWNlQXNzZXRzQ2Fyb3VzZWxBY3Rpb25JY29uO1xuICAgICAgICByZW1vdmU/OiBOaWNlQXNzZXRzQ2Fyb3VzZWxBY3Rpb25JY29uO1xuICAgIH07XG4gICAgYWRkUGhvdG8/OiBOaWNlQXNzZXRzQ2Fyb3VzZWxBY3Rpb25JY29uO1xuICAgIGxlZnRBcnJvdz86IE5pY2VBc3NldHNDYXJvdXNlbEFjdGlvbkljb247XG4gICAgcmlnaHRBcnJvdz86IE5pY2VBc3NldHNDYXJvdXNlbEFjdGlvbkljb247XG4gICAgdXBsb2FkPzogTmljZUFzc2V0c0Nhcm91c2VsQWN0aW9uSWNvbjtcbn1cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6IFwibmljZS1hc3NldHMtY2Fyb3VzZWxcIixcbiAgICB0ZW1wbGF0ZVVybDogXCJhc3NldHMtY2Fyb3VzZWwudGVtcGxhdGUuaHRtbFwiLFxuICAgIHN0eWxlVXJsczogW1wiYXNzZXRzLWNhcm91c2VsLnRoZW1lLnNjc3NcIl0sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBhbmltYXRpb25zOiBuaWNlQW5pbWF0aW9ucyxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBOaWNlQXNzZXRzQ2Fyb3VzZWxDb21wb25lbnQpLFxuICAgICAgICAgICAgbXVsdGk6IHRydWVcbiAgICAgICAgfVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgTmljZUFzc2V0c0Nhcm91c2VsQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIENhbkNvbG9yIHtcbiAgICBwdWJsaWMgX2FjdGl2ZVRyYW5zbGF0aW9uUG9zaXRpb24gPSAwO1xuICAgIHB1YmxpYyBfYWN0aXZlID0gMDtcbiAgICBwdWJsaWMgX2Fzc2V0czogTmljZUFzc2V0c1tdID0gW107XG4gICAgcHVibGljIF9hY3RpdmVBc3NldDogTmljZUFzc2V0cztcbiAgICBwdWJsaWMgX2xhc3RBc3NldCA9IHRydWU7XG4gICAgcHVibGljIF9zaG91bGRUcmFuc2Zvcm0gPSBmYWxzZTtcbiAgICBwdWJsaWMgX2FjdGl2ZVZpZGVvRWxlbWVudDogRWxlbWVudFJlZjxIVE1MVmlkZW9FbGVtZW50PjtcbiAgICBwdWJsaWMgX2Fzc2V0c0VsZW1lbnQ6IFF1ZXJ5TGlzdDxFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50Pj47XG4gICAgcHVibGljIGRlZmF1bHRDb2xvcjogVGhlbWVQYWxldHRlID0gXCJwcmltYXJ5XCI7XG5cbiAgICBAVmlld0NoaWxkKFwiZmlsZUlucHV0XCIpXG4gICAgcHVibGljIGlucHV0RWxlbWVudDogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGNvbG9yOiBUaGVtZVBhbGV0dGUgPSB0aGlzLmRlZmF1bHRDb2xvcjtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGVkaXQgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGFjY2VwdDogc3RyaW5nW10gPSBbXCJpbWFnZS8qXCJdO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgY3VzdG9tQWN0aW9uczogTmljZUFzc2V0c0Nhcm91c2VsQWN0aW9uc1tdID0gW107XG5cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgYWN0aXZlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG5cbiAgICBwdWJsaWMgbGlzdFN0eWxlOiB7IHRyYW5zZm9ybTogc3RyaW5nIH0gPSB7IHRyYW5zZm9ybTogXCJ0cmFuc2xhdGVYKDBweClcIiB9O1xuXG4gICAgcHJpdmF0ZSBwcm9wYWdhdGU6IChhc3NldHM6IE5pY2VBc3NldHNbXSkgPT4gdm9pZDtcblxuICAgIEBWaWV3Q2hpbGQoXCJhY3RpdmVWaWRlb1wiKVxuICAgIHB1YmxpYyBzZXQgYWN0aXZlVmlkZW9FbGVtZW50KGFjdGl2ZVZpZGVvRWxlbWVudDogRWxlbWVudFJlZjxIVE1MVmlkZW9FbGVtZW50Pikge1xuICAgICAgICB0aGlzLl9hY3RpdmVWaWRlb0VsZW1lbnQgPSBhY3RpdmVWaWRlb0VsZW1lbnQ7XG4gICAgICAgIGlmICghdGhpcy5fYWN0aXZlVmlkZW9FbGVtZW50IHx8ICF0aGlzLl9hc3NldHNFbGVtZW50KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnN0YXJ0U3luY1ZpZGVvKCk7XG4gICAgfVxuXG4gICAgQFZpZXdDaGlsZHJlbihcImFzc2V0c1wiKVxuICAgIHB1YmxpYyBzZXQgYXNzZXRzRWxlbWVudChhc3NldHNFbGVtZW50OiBRdWVyeUxpc3Q8RWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD4+KSB7XG4gICAgICAgIHRoaXMuX2Fzc2V0c0VsZW1lbnQgPSBhc3NldHNFbGVtZW50O1xuICAgICAgICBpZiAoIXRoaXMuX2FjdGl2ZVZpZGVvRWxlbWVudCB8fCAhdGhpcy5fYXNzZXRzRWxlbWVudCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5zdGFydFN5bmNWaWRlbygpO1xuICAgIH1cblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNldCBhc3NldHMoYXNzZXRzOiBOaWNlQXNzZXRzW10pIHtcbiAgICAgICAgdGhpcy53cml0ZVZhbHVlKGFzc2V0cyA/PyBbXSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXQgYWN0aXZlVHJhbnNsYXRpb25Qb3NpdGlvbihwb3NpdGlvbjogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuX2FjdGl2ZVRyYW5zbGF0aW9uUG9zaXRpb24gPSBwb3NpdGlvbjtcbiAgICAgICAgdGhpcy5saXN0U3R5bGUudHJhbnNmb3JtID0gYHRyYW5zbGF0ZVgoJHtwb3NpdGlvbn1weClgO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0IGFjdGl2ZUFzc2V0KHBvc2l0aW9uOiBudW1iZXIpIHtcbiAgICAgICAgaWYgKHBvc2l0aW9uIDwgMCkge1xuICAgICAgICAgICAgcG9zaXRpb24gPSAwO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fYWN0aXZlID0gcG9zaXRpb247XG4gICAgICAgIHRoaXMuX2FjdGl2ZUFzc2V0ID0gdGhpcy5fYXNzZXRzW3RoaXMuX2FjdGl2ZV07XG4gICAgICAgIHRoaXMuX2xhc3RBc3NldCA9IHRoaXMuX2FjdGl2ZSA9PT0gdGhpcy5fYXNzZXRzLmxlbmd0aCAtIDEgfHwgIXRoaXMuX2Fzc2V0cy5sZW5ndGg7XG4gICAgICAgIHRoaXMuX3Nob3VsZFRyYW5zZm9ybSA9ICh0aGlzLmVkaXQgJiYgdGhpcy5fYWN0aXZlID49IDMpIHx8IHRoaXMuX2FjdGl2ZSA+PSA0O1xuICAgICAgICB0aGlzLmFjdGl2ZUNoYW5nZS5lbWl0KHRoaXMuX2FjdGl2ZSk7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoQE9wdGlvbmFsKCkgQEluamVjdChOSUNFX0FTU0VUU19DQVJPVVNFTF9PUFRJT05TKSBwdWJsaWMgcmVhZG9ubHkgb3B0aW9uczogTmljZUFzc2V0c0Nhcm91c2VsT3B0aW9ucykge1xuICAgICAgICBpZiAoIXRoaXMub3B0aW9ucykge1xuICAgICAgICAgICAgdGhpcy5vcHRpb25zID0ge1xuICAgICAgICAgICAgICAgIGFjdGlvbkJ1dHRvbnM6IHtcbiAgICAgICAgICAgICAgICAgICAgYWRkUGhvdG86IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdEljb246IFwicGhvdG9fY2FtZXJhXCJcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgbW9yZU9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdEljb246IFwibW9yZV92ZXJ0XCJcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgcmVtb3ZlOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRJY29uOiBcImRlbGV0ZVwiXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGFkZFBob3RvOiB7XG4gICAgICAgICAgICAgICAgICAgIG1hdEljb246IFwicGhvdG9fY2FtZXJhXCJcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGxlZnRBcnJvdzoge1xuICAgICAgICAgICAgICAgICAgICBtYXRJY29uOiBcImNoZXZyb25fbGVmdFwiXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICByaWdodEFycm93OiB7XG4gICAgICAgICAgICAgICAgICAgIG1hdEljb246IFwiY2hldnJvbl9yaWdodFwiXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB1cGxvYWQ6IHtcbiAgICAgICAgICAgICAgICAgICAgbWF0SWNvbjogXCJmaWxlX3VwbG9hZFwiXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyB3cml0ZVZhbHVlKGFzc2V0czogTmljZUFzc2V0c1tdKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2Fzc2V0cyA9IGFzc2V0cyA/PyBbXTtcbiAgICAgICAgaWYgKHRoaXMuX2Fzc2V0cz8ubGVuZ3RoKSB7XG4gICAgICAgICAgICB0aGlzLl9hY3RpdmVBc3NldCA9IHRoaXMuX2Fzc2V0c1t0aGlzLl9hY3RpdmVdO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5fbGFzdEFzc2V0ID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyByZWdpc3Rlck9uQ2hhbmdlKGZuOiAoYXNzZXRzOiBOaWNlQXNzZXRzW10pID0+IHZvaWQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5wcm9wYWdhdGUgPSBmbjtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVnaXN0ZXJPblRvdWNoZWQoZm46IChhc3NldHM6IE5pY2VBc3NldHNbXSkgPT4gdm9pZCk6IHZvaWQge31cblxuICAgIHB1YmxpYyBjbGlja0xlZnQoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLl9hY3RpdmUpIHtcbiAgICAgICAgICAgIHRoaXMuYWN0aXZlQXNzZXQgPSB0aGlzLl9hY3RpdmUgLSAxO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuX2FjdGl2ZVRyYW5zbGF0aW9uUG9zaXRpb24gPCAwKSB7XG4gICAgICAgICAgICB0aGlzLmFjdGl2ZVRyYW5zbGF0aW9uUG9zaXRpb24gPSB0aGlzLl9hY3RpdmVUcmFuc2xhdGlvblBvc2l0aW9uICsgMTAyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGNsaWNrUmlnaHQoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLl9sYXN0QXNzZXQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuYWN0aXZlQXNzZXQgPSB0aGlzLl9hY3RpdmUgKyAxO1xuICAgICAgICBpZiAodGhpcy5fc2hvdWxkVHJhbnNmb3JtKSB7XG4gICAgICAgICAgICB0aGlzLmFjdGl2ZVRyYW5zbGF0aW9uUG9zaXRpb24gPSB0aGlzLl9hY3RpdmVUcmFuc2xhdGlvblBvc2l0aW9uIC0gMTAyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGNsaWNrQXNzZXQoaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBsZXQgdmlzaWJsZUFzc2V0cyA9IHRoaXMuZWRpdCA/IDIgOiAzO1xuICAgICAgICBpZiAoaW5kZXggPCB2aXNpYmxlQXNzZXRzKSB7XG4gICAgICAgICAgICB2aXNpYmxlQXNzZXRzID0gaW5kZXg7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoaW5kZXggPj0gMCkge1xuICAgICAgICAgICAgdGhpcy5hY3RpdmVUcmFuc2xhdGlvblBvc2l0aW9uID0gKGluZGV4IC0gdmlzaWJsZUFzc2V0cykgKiAtMTAyO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5hY3RpdmVBc3NldCA9IGluZGV4O1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBvbkZpbGVzQ2hhbmdlKGV2ZW50OiBFdmVudCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBjb25zdCBmaWxlcyA9IChldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCk/LmZpbGVzO1xuICAgICAgICBhd2FpdCB0aGlzLm9uRmlsZXNEcm9wKGZpbGVzKTtcblxuICAgICAgICB0aGlzLmlucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50LmZpbGVzID0gbnVsbDtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgb25GaWxlc0Ryb3AoZmlsZXM6IEZpbGVMaXN0KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGlmICghZmlsZXM/Lmxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IG5ld0Fzc2V0c0FkZGVkID0gZmFsc2U7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZmlsZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGNvbnN0IGZpbGUgPSBmaWxlcy5pdGVtKGkpO1xuICAgICAgICAgICAgaWYgKCF0aGlzLmFjY2VwdC5zb21lKChhY2NlcHQpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoYWNjZXB0LmVuZHNXaXRoKFwiKlwiKSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmlsZS50eXBlLnN0YXJ0c1dpdGgoYWNjZXB0LnJlcGxhY2UoXCIqXCIsIFwiXCIpKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gYWNjZXB0ID09PSBmaWxlLnR5cGU7XG4gICAgICAgICAgICB9KSkge1xuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBuZXdBc3NldHNBZGRlZCA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLl9hc3NldHMucHVzaCh7XG4gICAgICAgICAgICAgICAgZmlsZSxcbiAgICAgICAgICAgICAgICB0eXBlOiBmaWxlLnR5cGUuc3BsaXQoXCIvXCIpLnNoaWZ0KCkgYXMgXCJpbWFnZVwiIHwgXCJ2aWRlb1wiLFxuICAgICAgICAgICAgICAgIGJhc2U2NDogYXdhaXQgRmlsZVV0aWxzLmdldERhdGFVcmwoZmlsZSlcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKG5ld0Fzc2V0c0FkZGVkKSB7XG4gICAgICAgICAgICB0aGlzLmNsaWNrQXNzZXQodGhpcy5fYXNzZXRzLmxlbmd0aCAtIDEpO1xuICAgICAgICAgICAgdGhpcy5wcm9wYWdhdGU/Lih0aGlzLl9hc3NldHMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGNsaWNrUmVtb3ZlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9hc3NldHMuc3BsaWNlKHRoaXMuX2FjdGl2ZSwgMSk7XG5cbiAgICAgICAgaWYgKHRoaXMuX2xhc3RBc3NldCkge1xuICAgICAgICAgICAgdGhpcy5jbGlja0Fzc2V0KHRoaXMuX2Fzc2V0cy5sZW5ndGggLSAxKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuY2xpY2tBc3NldCh0aGlzLl9hY3RpdmUpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5wcm9wYWdhdGU/Lih0aGlzLl9hc3NldHMpO1xuICAgIH1cblxuICAgIHB1YmxpYyBjbGlja0N1c3RvbShhY3Rpb246IE5pY2VBc3NldHNDYXJvdXNlbEFjdGlvbnMpOiB2b2lkIHtcbiAgICAgICAgYWN0aW9uLmFjdGlvbih0aGlzLl9hY3RpdmUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBzdGFydFN5bmNWaWRlbygpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgKHRoaXMuX2Fzc2V0c0VsZW1lbnQuZ2V0KHRoaXMuX2FjdGl2ZSkubmF0aXZlRWxlbWVudC5maXJzdEVsZW1lbnRDaGlsZCBhcyBIVE1MVmlkZW9FbGVtZW50KS5wYXVzZSgpO1xuICAgICAgICAodGhpcy5fYXNzZXRzRWxlbWVudC5nZXQodGhpcy5fYWN0aXZlKS5uYXRpdmVFbGVtZW50LmZpcnN0RWxlbWVudENoaWxkIGFzIEhUTUxWaWRlb0VsZW1lbnQpLmN1cnJlbnRUaW1lID0gMDtcblxuICAgICAgICB0aGlzLl9hY3RpdmVWaWRlb0VsZW1lbnQubmF0aXZlRWxlbWVudC5jdXJyZW50VGltZSA9IDA7XG4gICAgICAgIGF3YWl0IHRoaXMuX2FjdGl2ZVZpZGVvRWxlbWVudC5uYXRpdmVFbGVtZW50LnBsYXkoKTtcbiAgICAgICAgYXdhaXQgKHRoaXMuX2Fzc2V0c0VsZW1lbnQuZ2V0KHRoaXMuX2FjdGl2ZSkubmF0aXZlRWxlbWVudC5maXJzdEVsZW1lbnRDaGlsZCBhcyBIVE1MVmlkZW9FbGVtZW50KS5wbGF5KCk7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImNhcm91c2VsLWNvbnRhaW5lclwiIG5pY2VEcm9wem9uZSAoZmlsZXNEcm9wcGVkKT1cIm9uRmlsZXNEcm9wKCRldmVudClcIj5cbiAgICA8ZGl2IGNsYXNzPVwiYWN0aXZlLWltYWdlXCIgW2NsYXNzLmVtcHR5LXN0YXRlXT1cIiFfYWN0aXZlQXNzZXRcIiBtYXRSaXBwbGUgW21hdFJpcHBsZURpc2FibGVkXT1cIiEhX2FjdGl2ZUFzc2V0XCIgKGNsaWNrKT1cIiFfYWN0aXZlQXNzZXQgJiYgZmlsZUlucHV0LmNsaWNrKClcIj5cbiAgICAgICAgPGltZyAqbmdJZj1cIl9hY3RpdmVBc3NldD8udHlwZSA9PT0gJ2ltYWdlJ1wiIGRyYWdnYWJsZT1cImZhbHNlXCIgW3NyY109XCJfYWN0aXZlQXNzZXQudXJsID8/IF9hY3RpdmVBc3NldC5iYXNlNjRcIj5cbiAgICAgICAgPHZpZGVvICNhY3RpdmVWaWRlbyAqbmdJZj1cIl9hY3RpdmVBc3NldD8udHlwZSA9PT0gJ3ZpZGVvJ1wiIGRyYWdnYWJsZT1cImZhbHNlXCIgbG9vcCBbc3JjXT1cIl9hY3RpdmVBc3NldC51cmwgPz8gX2FjdGl2ZUFzc2V0LmJhc2U2NFwiPjwvdmlkZW8+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cImVtcHR5LXN0YXRlLWNvbnRlbnRcIiAqbmdJZj1cIiFfYWN0aXZlQXNzZXRcIj5cbiAgICAgICAgICAgIDxtYXQtaWNvbiAqbmdJZj1cIm9wdGlvbnMudXBsb2FkLm1hdEljb25cIj57eyBvcHRpb25zLnVwbG9hZC5tYXRJY29uIH19PC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDxtYXQtaWNvbiAqbmdJZj1cIm9wdGlvbnMudXBsb2FkLnN2Z0ljb25cIiBbc3ZnSWNvbl09XCJvcHRpb25zLnVwbG9hZC5zdmdJY29uXCI+PC9tYXQtaWNvbj5cblxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHRcIj5cbiAgICAgICAgICAgICAgICB7eyBcIm5pY2VfdWlfa2l0LmFzc2V0c19jYXJvdXNlbC51cGxvYWRfaGVyZVwiIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cImFjdGl2ZS1idXR0b25zXCIgKm5nSWY9XCJlZGl0XCI+XG4gICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwiZmlsZUlucHV0LmNsaWNrKClcIj5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24gKm5nSWY9XCJvcHRpb25zLmFjdGlvbkJ1dHRvbnMuYWRkUGhvdG8ubWF0SWNvblwiPnt7IG9wdGlvbnMuYWN0aW9uQnV0dG9ucy5hZGRQaG90by5tYXRJY29uIH19PC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24gKm5nSWY9XCJvcHRpb25zLmFjdGlvbkJ1dHRvbnMuYWRkUGhvdG8uc3ZnSWNvblwiIFtzdmdJY29uXT1cIm9wdGlvbnMuYWN0aW9uQnV0dG9ucy5hZGRQaG90by5zdmdJY29uXCI+PC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gW21hdE1lbnVUcmlnZ2VyRm9yXT1cImFzc2V0QWN0aW9uc1wiIFtkaXNhYmxlZF09XCIhX2FjdGl2ZUFzc2V0XCI+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uICpuZ0lmPVwib3B0aW9ucy5hY3Rpb25CdXR0b25zLm1vcmVPcHRpb25zLm1hdEljb25cIj57eyBvcHRpb25zLmFjdGlvbkJ1dHRvbnMubW9yZU9wdGlvbnMubWF0SWNvbiB9fTwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uICpuZ0lmPVwib3B0aW9ucy5hY3Rpb25CdXR0b25zLm1vcmVPcHRpb25zLnN2Z0ljb25cIiBbc3ZnSWNvbl09XCJvcHRpb25zLmFjdGlvbkJ1dHRvbnMubW9yZU9wdGlvbnMuc3ZnSWNvblwiPjwvbWF0LWljb24+XG4gICAgICAgICAgICA8L2J1dHRvbj5cblxuICAgICAgICAgICAgPG1hdC1tZW51IGNsYXNzPVwibmljZS1hc3NldC1vcHRpb25zLW1lbnVcIiBbeFBvc2l0aW9uXT1cIidiZWZvcmUnXCIgI2Fzc2V0QWN0aW9ucz1cIm1hdE1lbnVcIj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKm5nRm9yPVwibGV0IGFjdGlvbiBvZiBjdXN0b21BY3Rpb25zXCIgKGNsaWNrKT1cImNsaWNrQ3VzdG9tKGFjdGlvbilcIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uICpuZ0lmPVwiYWN0aW9uLmljb24ubWF0SWNvblwiPnt7IGFjdGlvbi5pY29uLm1hdEljb24gfX08L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gW3N2Z0ljb25dPVwiYWN0aW9uLmljb24uc3ZnSWNvblwiICpuZ0lmPVwiYWN0aW9uLmljb24uc3ZnSWNvblwiPjwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuPnt7IGFjdGlvbi5uYW1lIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbSAoY2xpY2spPVwiY2xpY2tSZW1vdmUoKVwiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gKm5nSWY9XCJvcHRpb25zLmFjdGlvbkJ1dHRvbnMucmVtb3ZlLm1hdEljb25cIj57eyBvcHRpb25zLmFjdGlvbkJ1dHRvbnMucmVtb3ZlLm1hdEljb24gfX08L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gKm5nSWY9XCJvcHRpb25zLmFjdGlvbkJ1dHRvbnMucmVtb3ZlLnN2Z0ljb25cIiBbc3ZnSWNvbl09XCJvcHRpb25zLmFjdGlvbkJ1dHRvbnMucmVtb3ZlLnN2Z0ljb25cIj48L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICA8c3Bhbj57eyBcIm5pY2VfdWlfa2l0LmFzc2V0c19jYXJvdXNlbC5kZWxldGVcIiB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvbWF0LW1lbnU+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ1cGxvYWQtb3ZlcmxheVwiPlxuICAgICAgICAgICAgPG1hdC1pY29uICpuZ0lmPVwib3B0aW9ucy51cGxvYWQubWF0SWNvblwiPnt7IG9wdGlvbnMudXBsb2FkLm1hdEljb24gfX08L21hdC1pY29uPlxuICAgICAgICAgICAgPG1hdC1pY29uICpuZ0lmPVwib3B0aW9ucy51cGxvYWQuc3ZnSWNvblwiIFtzdmdJY29uXT1cIm9wdGlvbnMudXBsb2FkLnN2Z0ljb25cIj48L21hdC1pY29uPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJjYXJvdXNlbFwiPlxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYWN0aW9uLWJ1dHRvblwiIG1hdC1pY29uLWJ1dHRvbiBbZGlzYWJsZWRdPVwiIV9hY3RpdmVcIiAoY2xpY2spPVwiY2xpY2tMZWZ0KClcIj5cbiAgICAgICAgICAgIDxtYXQtaWNvbiAqbmdJZj1cIm9wdGlvbnMubGVmdEFycm93Lm1hdEljb25cIj57eyBvcHRpb25zLmxlZnRBcnJvdy5tYXRJY29uIH19PC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImFycm93c1wiICpuZ0lmPVwib3B0aW9ucy5sZWZ0QXJyb3cuc3ZnSWNvblwiIFtzdmdJY29uXT1cIm9wdGlvbnMubGVmdEFycm93LnN2Z0ljb25cIj48L21hdC1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwiYXNzZXQtbGlzdC1jb250YWluZXJcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhZGQtYXNzZXQtY29udGFpbmVyXCIgKm5nSWY9XCJlZGl0XCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFkZC1hc3NldFwiIG1hdFJpcHBsZSAoY2xpY2spPVwiZmlsZUlucHV0LmNsaWNrKClcIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uICpuZ0lmPVwib3B0aW9ucy5hZGRQaG90by5tYXRJY29uXCI+e3sgb3B0aW9ucy5hZGRQaG90by5tYXRJY29uIH19PC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uICpuZ0lmPVwib3B0aW9ucy5hZGRQaG90by5zdmdJY29uXCIgW3N2Z0ljb25dPVwib3B0aW9ucy5hZGRQaG90by5zdmdJY29uXCI+PC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXNzZXQtbGlzdFwiIFtuZ1N0eWxlXT1cImxpc3RTdHlsZVwiPlxuICAgICAgICAgICAgICAgIDxkaXYgI2Fzc2V0cyBjbGFzcz1cImFzc2V0XCIgKm5nRm9yPVwibGV0IGFzc2V0IG9mIF9hc3NldHM7IGxldCBpID0gaW5kZXhcIiAoY2xpY2spPVwiY2xpY2tBc3NldChpKVwiIFtuZ0NsYXNzXT1cImNvbG9yXCIgW2NsYXNzLmFjdGl2ZV09XCJfYWN0aXZlID09PSBpXCI+XG4gICAgICAgICAgICAgICAgICAgIDxpbWcgKm5nSWY9XCJhc3NldC50eXBlID09PSAnaW1hZ2UnXCIgZHJhZ2dhYmxlPVwiZmFsc2VcIiBbc3JjXT1cImFzc2V0LnVybCA/PyBhc3NldC5iYXNlNjRcIj5cbiAgICAgICAgICAgICAgICAgICAgPHZpZGVvICpuZ0lmPVwiYXNzZXQudHlwZSA9PT0gJ3ZpZGVvJ1wiIGRyYWdnYWJsZT1cImZhbHNlXCIgbG9vcCBbc3JjXT1cImFzc2V0LnVybCA/PyBhc3NldC5iYXNlNjRcIj48L3ZpZGVvPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJhY3Rpb24tYnV0dG9uXCIgbWF0LWljb24tYnV0dG9uIFtkaXNhYmxlZF09XCJfbGFzdEFzc2V0XCIgKGNsaWNrKT1cImNsaWNrUmlnaHQoKVwiPlxuICAgICAgICAgICAgPG1hdC1pY29uICpuZ0lmPVwib3B0aW9ucy5yaWdodEFycm93Lm1hdEljb25cIj57eyBvcHRpb25zLnJpZ2h0QXJyb3cubWF0SWNvbiB9fTwvbWF0LWljb24+XG4gICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJhcnJvd3NcIiAqbmdJZj1cIm9wdGlvbnMucmlnaHRBcnJvdy5zdmdJY29uXCIgW3N2Z0ljb25dPVwib3B0aW9ucy5yaWdodEFycm93LnN2Z0ljb25cIj48L21hdC1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuXG48aW5wdXQgI2ZpbGVJbnB1dCB0eXBlPVwiZmlsZVwiIGhpZGRlbiBbYWNjZXB0XT1cImFjY2VwdFwiIChjaGFuZ2UpPVwib25GaWxlc0NoYW5nZSgkZXZlbnQpXCI+XG4iXX0=
|
|
225
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXRzLWNhcm91c2VsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25pY2UtdWkta2l0LXYyL3NyYy9saWIvY29tcG9uZW50cy9hc3NldHMtY2Fyb3VzZWwvYXNzZXRzLWNhcm91c2VsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25pY2UtdWkta2l0LXYyL3NyYy9saWIvY29tcG9uZW50cy9hc3NldHMtY2Fyb3VzZWwvYXNzZXRzLWNhcm91c2VsLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLFVBQVUsRUFDVixNQUFNLEVBQ04sS0FBSyxFQUNMLFFBQVEsRUFDUixNQUFNLEVBQUUsU0FBUyxFQUNqQixTQUFTLEVBQUUsWUFBWSxFQUN2QixpQkFBaUIsRUFDcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXpFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7Ozs7Ozs7QUE0QzFFLE1BQU0sT0FBTywyQkFBMkI7SUEyRXBDLFlBQThFLE9BQWtDO1FBQWxDLFlBQU8sR0FBUCxPQUFPLENBQTJCO1FBMUV6RywrQkFBMEIsR0FBRyxDQUFDLENBQUM7UUFDL0IsWUFBTyxHQUFHLENBQUMsQ0FBQztRQUNaLFlBQU8sR0FBaUIsRUFBRSxDQUFDO1FBRTNCLGVBQVUsR0FBRyxJQUFJLENBQUM7UUFDbEIscUJBQWdCLEdBQUcsS0FBSyxDQUFDO1FBR3pCLGlCQUFZLEdBQWlCLFNBQVMsQ0FBQztRQU12QyxVQUFLLEdBQWlCLElBQUksQ0FBQyxZQUFZLENBQUM7UUFHeEMsU0FBSSxHQUFHLEtBQUssQ0FBQztRQUdiLFdBQU0sR0FBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRy9CLGtCQUFhLEdBQWdDLEVBQUUsQ0FBQztRQUdoRCxpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFFMUMsY0FBUyxHQUEwQixFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxDQUFDO1FBK0N2RSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNmLElBQUksQ0FBQyxPQUFPLEdBQUc7Z0JBQ1gsYUFBYSxFQUFFO29CQUNYLFFBQVEsRUFBRTt3QkFDTixPQUFPLEVBQUUsY0FBYztxQkFDMUI7b0JBQ0QsV0FBVyxFQUFFO3dCQUNULE9BQU8sRUFBRSxXQUFXO3FCQUN2QjtvQkFDRCxNQUFNLEVBQUU7d0JBQ0osT0FBTyxFQUFFLFFBQVE7cUJBQ3BCO2lCQUNKO2dCQUNELFFBQVEsRUFBRTtvQkFDTixPQUFPLEVBQUUsY0FBYztpQkFDMUI7Z0JBQ0QsU0FBUyxFQUFFO29CQUNQLE9BQU8sRUFBRSxjQUFjO2lCQUMxQjtnQkFDRCxVQUFVLEVBQUU7b0JBQ1IsT0FBTyxFQUFFLGVBQWU7aUJBQzNCO2dCQUNELE1BQU0sRUFBRTtvQkFDSixPQUFPLEVBQUUsYUFBYTtpQkFDekI7YUFDSixDQUFDO1NBQ0w7SUFDTCxDQUFDO0lBdEVELElBQ1csa0JBQWtCLENBQUMsa0JBQWdEO1FBQzFFLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxrQkFBa0IsQ0FBQztRQUM5QyxJQUFJLENBQUMsSUFBSSxDQUFDLG1CQUFtQixJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUNuRCxPQUFPO1NBQ1Y7UUFFRCxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVELElBQ1csYUFBYSxDQUFDLGFBQW9EO1FBQ3pFLElBQUksQ0FBQyxjQUFjLEdBQUcsYUFBYSxDQUFDO1FBQ3BDLElBQUksQ0FBQyxJQUFJLENBQUMsbUJBQW1CLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ25ELE9BQU87U0FDVjtRQUVELElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQsSUFDVyxNQUFNLENBQUMsTUFBb0I7UUFDbEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLElBQUksRUFBRSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVELElBQVkseUJBQXlCLENBQUMsUUFBZ0I7UUFDbEQsSUFBSSxDQUFDLDBCQUEwQixHQUFHLFFBQVEsQ0FBQztRQUMzQyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsR0FBRyxjQUFjLFFBQVEsS0FBSyxDQUFDO0lBQzNELENBQUM7SUFFRCxJQUFZLFdBQVcsQ0FBQyxRQUFnQjtRQUNwQyxJQUFJLFFBQVEsR0FBRyxDQUFDLEVBQUU7WUFDZCxRQUFRLEdBQUcsQ0FBQyxDQUFDO1NBQ2hCO1FBRUQsSUFBSSxDQUFDLE9BQU8sR0FBRyxRQUFRLENBQUM7UUFDeEIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMvQyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxPQUFPLEtBQUssSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUM7UUFDbkYsSUFBSSxDQUFDLGdCQUFnQixHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsT0FBTyxJQUFJLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxPQUFPLElBQUksQ0FBQyxDQUFDO1FBQzlFLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBZ0NNLFVBQVUsQ0FBQyxNQUFvQjtRQUNsQyxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sSUFBSSxFQUFFLENBQUM7UUFDNUIsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRTtZQUN0QixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQ2xEO2FBQU07WUFDSCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztTQUMxQjtJQUNMLENBQUM7SUFFTSxnQkFBZ0IsQ0FBQyxFQUFrQztRQUN0RCxJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRU0saUJBQWlCLENBQUMsRUFBa0MsSUFBUyxDQUFDO0lBRTlELFNBQVM7UUFDWixJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDZCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDO1NBQ3ZDO1FBRUQsSUFBSSxJQUFJLENBQUMsMEJBQTBCLEdBQUcsQ0FBQyxFQUFFO1lBQ3JDLElBQUksQ0FBQyx5QkFBeUIsR0FBRyxJQUFJLENBQUMsMEJBQTBCLEdBQUcsR0FBRyxDQUFDO1NBQzFFO0lBQ0wsQ0FBQztJQUVNLFVBQVU7UUFDYixJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDakIsT0FBTztTQUNWO1FBRUQsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQztRQUNwQyxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtZQUN2QixJQUFJLENBQUMseUJBQXlCLEdBQUcsSUFBSSxDQUFDLDBCQUEwQixHQUFHLEdBQUcsQ0FBQztTQUMxRTtJQUNMLENBQUM7SUFFTSxVQUFVLENBQUMsS0FBYTtRQUMzQixJQUFJLGFBQWEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN0QyxJQUFJLEtBQUssR0FBRyxhQUFhLEVBQUU7WUFDdkIsYUFBYSxHQUFHLEtBQUssQ0FBQztTQUN6QjtRQUVELElBQUksS0FBSyxJQUFJLENBQUMsRUFBRTtZQUNaLElBQUksQ0FBQyx5QkFBeUIsR0FBRyxDQUFDLEtBQUssR0FBRyxhQUFhLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQztTQUNuRTtRQUVELElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO0lBQzdCLENBQUM7SUFFTSxLQUFLLENBQUMsYUFBYSxDQUFDLEtBQVk7UUFDbkMsTUFBTSxLQUFLLEdBQUksS0FBSyxDQUFDLE1BQTJCLEVBQUUsS0FBSyxDQUFDO1FBQ3hELE1BQU0sSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUU5QixJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO0lBQ2pELENBQUM7SUFFTSxLQUFLLENBQUMsV0FBVyxDQUFDLEtBQWU7UUFDcEMsSUFBSSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUU7WUFDaEIsT0FBTztTQUNWO1FBRUQsSUFBSSxjQUFjLEdBQUcsS0FBSyxDQUFDO1FBQzNCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ25DLE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDM0IsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7Z0JBQzdCLElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRTtvQkFDdEIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO2lCQUN4RDtnQkFFRCxPQUFPLE1BQU0sS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDO1lBQ2hDLENBQUMsQ0FBQyxFQUFFO2dCQUNBLFNBQVM7YUFDWjtZQUVELGNBQWMsR0FBRyxJQUFJLENBQUM7WUFDdEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7Z0JBQ2QsSUFBSTtnQkFDSixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUF1QjtnQkFDdkQsTUFBTSxFQUFFLE1BQU0sU0FBUyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUM7YUFDM0MsQ0FBQyxDQUFDO1NBQ047UUFFRCxJQUFJLGNBQWMsRUFBRTtZQUNoQixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQ3pDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDbEM7SUFDTCxDQUFDO0lBRU0sV0FBVztRQUNkLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFFckMsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ2pCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7U0FDNUM7YUFBTTtZQUNILElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQ2pDO1FBRUQsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRU0sV0FBVyxDQUFDLE1BQWlDO1FBQ2hELE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFTSxLQUFLLENBQUMsY0FBYztRQUN0QixJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsYUFBYSxDQUFDLGlCQUFzQyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ25HLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxhQUFhLENBQUMsaUJBQXNDLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQztRQUU1RyxJQUFJLENBQUMsbUJBQW1CLENBQUMsYUFBYSxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUM7UUFDdkQsTUFBTSxJQUFJLENBQUMsbUJBQW1CLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3BELE1BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLGFBQWEsQ0FBQyxpQkFBc0MsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUM3RyxDQUFDOzt3SEF4TlEsMkJBQTJCLGtCQTJFSiw0QkFBNEI7NEdBM0VuRCwyQkFBMkIsd01BUnpCO1FBQ1A7WUFDSSxPQUFPLEVBQUUsaUJBQWlCO1lBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsMkJBQTJCLENBQUM7WUFDMUQsS0FBSyxFQUFFLElBQUk7U0FDZDtLQUNKLHNUQzFETCxnMkpBMEVBLGlyRER2QmdCLGNBQWM7MkZBU2pCLDJCQUEyQjtrQkFkdkMsU0FBUzsrQkFDSSxzQkFBc0IsaUJBR2pCLGlCQUFpQixDQUFDLElBQUksY0FDekIsY0FBYyxhQUNmO3dCQUNQOzRCQUNJLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLDRCQUE0QixDQUFDOzRCQUMxRCxLQUFLLEVBQUUsSUFBSTt5QkFDZDtxQkFDSjs7MEJBNkVZLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsNEJBQTRCOzRDQS9EckQsWUFBWTtzQkFEbEIsU0FBUzt1QkFBQyxXQUFXO2dCQUlmLEtBQUs7c0JBRFgsS0FBSztnQkFJQyxJQUFJO3NCQURWLEtBQUs7Z0JBSUMsTUFBTTtzQkFEWixLQUFLO2dCQUlDLGFBQWE7c0JBRG5CLEtBQUs7Z0JBSUMsWUFBWTtzQkFEbEIsTUFBTTtnQkFRSSxrQkFBa0I7c0JBRDVCLFNBQVM7dUJBQUMsYUFBYTtnQkFXYixhQUFhO3NCQUR2QixZQUFZO3VCQUFDLFFBQVE7Z0JBV1gsTUFBTTtzQkFEaEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIGZvcndhcmRSZWYsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIE9wdGlvbmFsLFxuICAgIE91dHB1dCwgUXVlcnlMaXN0LFxuICAgIFZpZXdDaGlsZCwgVmlld0NoaWxkcmVuLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcbmltcG9ydCB7IENhbkNvbG9yLCBUaGVtZVBhbGV0dGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZVwiO1xuaW1wb3J0IHsgbmljZUFuaW1hdGlvbnMgfSBmcm9tIFwiLi4vLi4vYW5pbWF0aW9uc1wiO1xuaW1wb3J0IHsgRmlsZVV0aWxzIH0gZnJvbSBcIi4uLy4uL3V0aWxzXCI7XG5pbXBvcnQgeyBOSUNFX0FTU0VUU19DQVJPVVNFTF9PUFRJT05TIH0gZnJvbSBcIi4vYXNzZXRzLWNhcm91c2VsLmNvbnN0YW50XCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmljZUFzc2V0cyB7XG4gICAgdHlwZTogXCJpbWFnZVwiIHwgXCJ2aWRlb1wiO1xuICAgIGlkPzogbnVtYmVyIHwgc3RyaW5nO1xuICAgIHVybD86IHN0cmluZztcbiAgICBiYXNlNjQ/OiBzdHJpbmc7XG4gICAgZmlsZT86IEZpbGU7XG59XG5cbmV4cG9ydCB0eXBlIE5pY2VBc3NldHNDYXJvdXNlbEFjdGlvbkljb24gPSB7IG1hdEljb246IHN0cmluZzsgc3ZnSWNvbj86IHN0cmluZzsgfSB8IHsgbWF0SWNvbj86IHN0cmluZzsgc3ZnSWNvbjogc3RyaW5nOyB9O1xuXG5leHBvcnQgaW50ZXJmYWNlIE5pY2VBc3NldHNDYXJvdXNlbEFjdGlvbnMge1xuICAgIGljb246IE5pY2VBc3NldHNDYXJvdXNlbEFjdGlvbkljb247XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIGFjdGlvbjogKGFjdGl2ZTogbnVtYmVyKSA9PiB2b2lkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE5pY2VBc3NldHNDYXJvdXNlbE9wdGlvbnMge1xuICAgIGFjdGlvbkJ1dHRvbnM/OiB7XG4gICAgICAgIG1vcmVPcHRpb25zPzogTmljZUFzc2V0c0Nhcm91c2VsQWN0aW9uSWNvbjtcbiAgICAgICAgYWRkUGhvdG8/OiBOaWNlQXNzZXRzQ2Fyb3VzZWxBY3Rpb25JY29uO1xuICAgICAgICByZW1vdmU/OiBOaWNlQXNzZXRzQ2Fyb3VzZWxBY3Rpb25JY29uO1xuICAgIH07XG4gICAgYWRkUGhvdG8/OiBOaWNlQXNzZXRzQ2Fyb3VzZWxBY3Rpb25JY29uO1xuICAgIGxlZnRBcnJvdz86IE5pY2VBc3NldHNDYXJvdXNlbEFjdGlvbkljb247XG4gICAgcmlnaHRBcnJvdz86IE5pY2VBc3NldHNDYXJvdXNlbEFjdGlvbkljb247XG4gICAgdXBsb2FkPzogTmljZUFzc2V0c0Nhcm91c2VsQWN0aW9uSWNvbjtcbn1cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6IFwibmljZS1hc3NldHMtY2Fyb3VzZWxcIixcbiAgICB0ZW1wbGF0ZVVybDogXCJhc3NldHMtY2Fyb3VzZWwudGVtcGxhdGUuaHRtbFwiLFxuICAgIHN0eWxlVXJsczogW1wiYXNzZXRzLWNhcm91c2VsLnRoZW1lLnNjc3NcIl0sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBhbmltYXRpb25zOiBuaWNlQW5pbWF0aW9ucyxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBOaWNlQXNzZXRzQ2Fyb3VzZWxDb21wb25lbnQpLFxuICAgICAgICAgICAgbXVsdGk6IHRydWVcbiAgICAgICAgfVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgTmljZUFzc2V0c0Nhcm91c2VsQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIENhbkNvbG9yIHtcbiAgICBwdWJsaWMgX2FjdGl2ZVRyYW5zbGF0aW9uUG9zaXRpb24gPSAwO1xuICAgIHB1YmxpYyBfYWN0aXZlID0gMDtcbiAgICBwdWJsaWMgX2Fzc2V0czogTmljZUFzc2V0c1tdID0gW107XG4gICAgcHVibGljIF9hY3RpdmVBc3NldDogTmljZUFzc2V0cztcbiAgICBwdWJsaWMgX2xhc3RBc3NldCA9IHRydWU7XG4gICAgcHVibGljIF9zaG91bGRUcmFuc2Zvcm0gPSBmYWxzZTtcbiAgICBwdWJsaWMgX2FjdGl2ZVZpZGVvRWxlbWVudDogRWxlbWVudFJlZjxIVE1MVmlkZW9FbGVtZW50PjtcbiAgICBwdWJsaWMgX2Fzc2V0c0VsZW1lbnQ6IFF1ZXJ5TGlzdDxFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50Pj47XG4gICAgcHVibGljIGRlZmF1bHRDb2xvcjogVGhlbWVQYWxldHRlID0gXCJwcmltYXJ5XCI7XG5cbiAgICBAVmlld0NoaWxkKFwiZmlsZUlucHV0XCIpXG4gICAgcHVibGljIGlucHV0RWxlbWVudDogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGNvbG9yOiBUaGVtZVBhbGV0dGUgPSB0aGlzLmRlZmF1bHRDb2xvcjtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGVkaXQgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGFjY2VwdDogc3RyaW5nW10gPSBbXCJpbWFnZS8qXCJdO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgY3VzdG9tQWN0aW9uczogTmljZUFzc2V0c0Nhcm91c2VsQWN0aW9uc1tdID0gW107XG5cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgYWN0aXZlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG5cbiAgICBwdWJsaWMgbGlzdFN0eWxlOiB7IHRyYW5zZm9ybTogc3RyaW5nIH0gPSB7IHRyYW5zZm9ybTogXCJ0cmFuc2xhdGVYKDBweClcIiB9O1xuXG4gICAgcHJpdmF0ZSBwcm9wYWdhdGU6IChhc3NldHM6IE5pY2VBc3NldHNbXSkgPT4gdm9pZDtcblxuICAgIEBWaWV3Q2hpbGQoXCJhY3RpdmVWaWRlb1wiKVxuICAgIHB1YmxpYyBzZXQgYWN0aXZlVmlkZW9FbGVtZW50KGFjdGl2ZVZpZGVvRWxlbWVudDogRWxlbWVudFJlZjxIVE1MVmlkZW9FbGVtZW50Pikge1xuICAgICAgICB0aGlzLl9hY3RpdmVWaWRlb0VsZW1lbnQgPSBhY3RpdmVWaWRlb0VsZW1lbnQ7XG4gICAgICAgIGlmICghdGhpcy5fYWN0aXZlVmlkZW9FbGVtZW50IHx8ICF0aGlzLl9hc3NldHNFbGVtZW50KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnN0YXJ0U3luY1ZpZGVvKCk7XG4gICAgfVxuXG4gICAgQFZpZXdDaGlsZHJlbihcImFzc2V0c1wiKVxuICAgIHB1YmxpYyBzZXQgYXNzZXRzRWxlbWVudChhc3NldHNFbGVtZW50OiBRdWVyeUxpc3Q8RWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD4+KSB7XG4gICAgICAgIHRoaXMuX2Fzc2V0c0VsZW1lbnQgPSBhc3NldHNFbGVtZW50O1xuICAgICAgICBpZiAoIXRoaXMuX2FjdGl2ZVZpZGVvRWxlbWVudCB8fCAhdGhpcy5fYXNzZXRzRWxlbWVudCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5zdGFydFN5bmNWaWRlbygpO1xuICAgIH1cblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNldCBhc3NldHMoYXNzZXRzOiBOaWNlQXNzZXRzW10pIHtcbiAgICAgICAgdGhpcy53cml0ZVZhbHVlKGFzc2V0cyA/PyBbXSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXQgYWN0aXZlVHJhbnNsYXRpb25Qb3NpdGlvbihwb3NpdGlvbjogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuX2FjdGl2ZVRyYW5zbGF0aW9uUG9zaXRpb24gPSBwb3NpdGlvbjtcbiAgICAgICAgdGhpcy5saXN0U3R5bGUudHJhbnNmb3JtID0gYHRyYW5zbGF0ZVgoJHtwb3NpdGlvbn1weClgO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0IGFjdGl2ZUFzc2V0KHBvc2l0aW9uOiBudW1iZXIpIHtcbiAgICAgICAgaWYgKHBvc2l0aW9uIDwgMCkge1xuICAgICAgICAgICAgcG9zaXRpb24gPSAwO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fYWN0aXZlID0gcG9zaXRpb247XG4gICAgICAgIHRoaXMuX2FjdGl2ZUFzc2V0ID0gdGhpcy5fYXNzZXRzW3RoaXMuX2FjdGl2ZV07XG4gICAgICAgIHRoaXMuX2xhc3RBc3NldCA9IHRoaXMuX2FjdGl2ZSA9PT0gdGhpcy5fYXNzZXRzLmxlbmd0aCAtIDEgfHwgIXRoaXMuX2Fzc2V0cy5sZW5ndGg7XG4gICAgICAgIHRoaXMuX3Nob3VsZFRyYW5zZm9ybSA9ICh0aGlzLmVkaXQgJiYgdGhpcy5fYWN0aXZlID49IDMpIHx8IHRoaXMuX2FjdGl2ZSA+PSA0O1xuICAgICAgICB0aGlzLmFjdGl2ZUNoYW5nZS5lbWl0KHRoaXMuX2FjdGl2ZSk7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoQE9wdGlvbmFsKCkgQEluamVjdChOSUNFX0FTU0VUU19DQVJPVVNFTF9PUFRJT05TKSBwdWJsaWMgcmVhZG9ubHkgb3B0aW9uczogTmljZUFzc2V0c0Nhcm91c2VsT3B0aW9ucykge1xuICAgICAgICBpZiAoIXRoaXMub3B0aW9ucykge1xuICAgICAgICAgICAgdGhpcy5vcHRpb25zID0ge1xuICAgICAgICAgICAgICAgIGFjdGlvbkJ1dHRvbnM6IHtcbiAgICAgICAgICAgICAgICAgICAgYWRkUGhvdG86IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdEljb246IFwicGhvdG9fY2FtZXJhXCJcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgbW9yZU9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdEljb246IFwibW9yZV92ZXJ0XCJcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgcmVtb3ZlOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRJY29uOiBcImRlbGV0ZVwiXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGFkZFBob3RvOiB7XG4gICAgICAgICAgICAgICAgICAgIG1hdEljb246IFwicGhvdG9fY2FtZXJhXCJcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGxlZnRBcnJvdzoge1xuICAgICAgICAgICAgICAgICAgICBtYXRJY29uOiBcImNoZXZyb25fbGVmdFwiXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICByaWdodEFycm93OiB7XG4gICAgICAgICAgICAgICAgICAgIG1hdEljb246IFwiY2hldnJvbl9yaWdodFwiXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB1cGxvYWQ6IHtcbiAgICAgICAgICAgICAgICAgICAgbWF0SWNvbjogXCJmaWxlX3VwbG9hZFwiXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyB3cml0ZVZhbHVlKGFzc2V0czogTmljZUFzc2V0c1tdKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2Fzc2V0cyA9IGFzc2V0cyA/PyBbXTtcbiAgICAgICAgaWYgKHRoaXMuX2Fzc2V0cz8ubGVuZ3RoKSB7XG4gICAgICAgICAgICB0aGlzLl9hY3RpdmVBc3NldCA9IHRoaXMuX2Fzc2V0c1t0aGlzLl9hY3RpdmVdO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5fbGFzdEFzc2V0ID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyByZWdpc3Rlck9uQ2hhbmdlKGZuOiAoYXNzZXRzOiBOaWNlQXNzZXRzW10pID0+IHZvaWQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5wcm9wYWdhdGUgPSBmbjtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVnaXN0ZXJPblRvdWNoZWQoZm46IChhc3NldHM6IE5pY2VBc3NldHNbXSkgPT4gdm9pZCk6IHZvaWQge31cblxuICAgIHB1YmxpYyBjbGlja0xlZnQoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLl9hY3RpdmUpIHtcbiAgICAgICAgICAgIHRoaXMuYWN0aXZlQXNzZXQgPSB0aGlzLl9hY3RpdmUgLSAxO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuX2FjdGl2ZVRyYW5zbGF0aW9uUG9zaXRpb24gPCAwKSB7XG4gICAgICAgICAgICB0aGlzLmFjdGl2ZVRyYW5zbGF0aW9uUG9zaXRpb24gPSB0aGlzLl9hY3RpdmVUcmFuc2xhdGlvblBvc2l0aW9uICsgMTAyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGNsaWNrUmlnaHQoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLl9sYXN0QXNzZXQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuYWN0aXZlQXNzZXQgPSB0aGlzLl9hY3RpdmUgKyAxO1xuICAgICAgICBpZiAodGhpcy5fc2hvdWxkVHJhbnNmb3JtKSB7XG4gICAgICAgICAgICB0aGlzLmFjdGl2ZVRyYW5zbGF0aW9uUG9zaXRpb24gPSB0aGlzLl9hY3RpdmVUcmFuc2xhdGlvblBvc2l0aW9uIC0gMTAyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGNsaWNrQXNzZXQoaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBsZXQgdmlzaWJsZUFzc2V0cyA9IHRoaXMuZWRpdCA/IDIgOiAzO1xuICAgICAgICBpZiAoaW5kZXggPCB2aXNpYmxlQXNzZXRzKSB7XG4gICAgICAgICAgICB2aXNpYmxlQXNzZXRzID0gaW5kZXg7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoaW5kZXggPj0gMCkge1xuICAgICAgICAgICAgdGhpcy5hY3RpdmVUcmFuc2xhdGlvblBvc2l0aW9uID0gKGluZGV4IC0gdmlzaWJsZUFzc2V0cykgKiAtMTAyO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5hY3RpdmVBc3NldCA9IGluZGV4O1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBvbkZpbGVzQ2hhbmdlKGV2ZW50OiBFdmVudCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBjb25zdCBmaWxlcyA9IChldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCk/LmZpbGVzO1xuICAgICAgICBhd2FpdCB0aGlzLm9uRmlsZXNEcm9wKGZpbGVzKTtcblxuICAgICAgICB0aGlzLmlucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50LmZpbGVzID0gbnVsbDtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgb25GaWxlc0Ryb3AoZmlsZXM6IEZpbGVMaXN0KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGlmICghZmlsZXM/Lmxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IG5ld0Fzc2V0c0FkZGVkID0gZmFsc2U7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZmlsZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGNvbnN0IGZpbGUgPSBmaWxlcy5pdGVtKGkpO1xuICAgICAgICAgICAgaWYgKCF0aGlzLmFjY2VwdC5zb21lKChhY2NlcHQpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoYWNjZXB0LmVuZHNXaXRoKFwiKlwiKSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmlsZS50eXBlLnN0YXJ0c1dpdGgoYWNjZXB0LnJlcGxhY2UoXCIqXCIsIFwiXCIpKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gYWNjZXB0ID09PSBmaWxlLnR5cGU7XG4gICAgICAgICAgICB9KSkge1xuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBuZXdBc3NldHNBZGRlZCA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLl9hc3NldHMucHVzaCh7XG4gICAgICAgICAgICAgICAgZmlsZSxcbiAgICAgICAgICAgICAgICB0eXBlOiBmaWxlLnR5cGUuc3BsaXQoXCIvXCIpLnNoaWZ0KCkgYXMgXCJpbWFnZVwiIHwgXCJ2aWRlb1wiLFxuICAgICAgICAgICAgICAgIGJhc2U2NDogYXdhaXQgRmlsZVV0aWxzLmdldERhdGFVcmwoZmlsZSlcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKG5ld0Fzc2V0c0FkZGVkKSB7XG4gICAgICAgICAgICB0aGlzLmNsaWNrQXNzZXQodGhpcy5fYXNzZXRzLmxlbmd0aCAtIDEpO1xuICAgICAgICAgICAgdGhpcy5wcm9wYWdhdGU/Lih0aGlzLl9hc3NldHMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGNsaWNrUmVtb3ZlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9hc3NldHMuc3BsaWNlKHRoaXMuX2FjdGl2ZSwgMSk7XG5cbiAgICAgICAgaWYgKHRoaXMuX2xhc3RBc3NldCkge1xuICAgICAgICAgICAgdGhpcy5jbGlja0Fzc2V0KHRoaXMuX2Fzc2V0cy5sZW5ndGggLSAxKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuY2xpY2tBc3NldCh0aGlzLl9hY3RpdmUpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5wcm9wYWdhdGU/Lih0aGlzLl9hc3NldHMpO1xuICAgIH1cblxuICAgIHB1YmxpYyBjbGlja0N1c3RvbShhY3Rpb246IE5pY2VBc3NldHNDYXJvdXNlbEFjdGlvbnMpOiB2b2lkIHtcbiAgICAgICAgYWN0aW9uLmFjdGlvbih0aGlzLl9hY3RpdmUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBzdGFydFN5bmNWaWRlbygpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgKHRoaXMuX2Fzc2V0c0VsZW1lbnQuZ2V0KHRoaXMuX2FjdGl2ZSkubmF0aXZlRWxlbWVudC5maXJzdEVsZW1lbnRDaGlsZCBhcyBIVE1MVmlkZW9FbGVtZW50KS5wYXVzZSgpO1xuICAgICAgICAodGhpcy5fYXNzZXRzRWxlbWVudC5nZXQodGhpcy5fYWN0aXZlKS5uYXRpdmVFbGVtZW50LmZpcnN0RWxlbWVudENoaWxkIGFzIEhUTUxWaWRlb0VsZW1lbnQpLmN1cnJlbnRUaW1lID0gMDtcblxuICAgICAgICB0aGlzLl9hY3RpdmVWaWRlb0VsZW1lbnQubmF0aXZlRWxlbWVudC5jdXJyZW50VGltZSA9IDA7XG4gICAgICAgIGF3YWl0IHRoaXMuX2FjdGl2ZVZpZGVvRWxlbWVudC5uYXRpdmVFbGVtZW50LnBsYXkoKTtcbiAgICAgICAgYXdhaXQgKHRoaXMuX2Fzc2V0c0VsZW1lbnQuZ2V0KHRoaXMuX2FjdGl2ZSkubmF0aXZlRWxlbWVudC5maXJzdEVsZW1lbnRDaGlsZCBhcyBIVE1MVmlkZW9FbGVtZW50KS5wbGF5KCk7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImNhcm91c2VsLWNvbnRhaW5lclwiIG5pY2VEcm9wem9uZSAoZmlsZXNEcm9wcGVkKT1cIm9uRmlsZXNEcm9wKCRldmVudClcIj5cbiAgICA8ZGl2IGNsYXNzPVwiYWN0aXZlLWltYWdlXCIgW2NsYXNzLmVtcHR5LXN0YXRlXT1cIiFfYWN0aXZlQXNzZXRcIiBtYXRSaXBwbGUgW21hdFJpcHBsZURpc2FibGVkXT1cIiEhX2FjdGl2ZUFzc2V0XCIgKGNsaWNrKT1cIiFfYWN0aXZlQXNzZXQgJiYgZmlsZUlucHV0LmNsaWNrKClcIj5cbiAgICAgICAgPGltZyAqbmdJZj1cIl9hY3RpdmVBc3NldD8udHlwZSA9PT0gJ2ltYWdlJ1wiIGRyYWdnYWJsZT1cImZhbHNlXCIgW3NyY109XCJfYWN0aXZlQXNzZXQudXJsID8/IF9hY3RpdmVBc3NldC5iYXNlNjRcIj5cbiAgICAgICAgPHZpZGVvICNhY3RpdmVWaWRlbyAqbmdJZj1cIl9hY3RpdmVBc3NldD8udHlwZSA9PT0gJ3ZpZGVvJ1wiIGRyYWdnYWJsZT1cImZhbHNlXCIgbG9vcCBbc3JjXT1cIl9hY3RpdmVBc3NldC51cmwgPz8gX2FjdGl2ZUFzc2V0LmJhc2U2NFwiPjwvdmlkZW8+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cImVtcHR5LXN0YXRlLWNvbnRlbnRcIiAqbmdJZj1cIiFfYWN0aXZlQXNzZXRcIj5cbiAgICAgICAgICAgIDxtYXQtaWNvbiAqbmdJZj1cIm9wdGlvbnMudXBsb2FkLm1hdEljb25cIj57eyBvcHRpb25zLnVwbG9hZC5tYXRJY29uIH19PC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDxtYXQtaWNvbiAqbmdJZj1cIm9wdGlvbnMudXBsb2FkLnN2Z0ljb25cIiBbc3ZnSWNvbl09XCJvcHRpb25zLnVwbG9hZC5zdmdJY29uXCI+PC9tYXQtaWNvbj5cblxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHRcIj5cbiAgICAgICAgICAgICAgICB7eyBcIm5pY2VfdWlfa2l0LmFzc2V0c19jYXJvdXNlbC51cGxvYWRfaGVyZVwiIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cImFjdGl2ZS1idXR0b25zXCIgKm5nSWY9XCJlZGl0XCI+XG4gICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwiZmlsZUlucHV0LmNsaWNrKClcIj5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24gKm5nSWY9XCJvcHRpb25zLmFjdGlvbkJ1dHRvbnMuYWRkUGhvdG8ubWF0SWNvblwiPnt7IG9wdGlvbnMuYWN0aW9uQnV0dG9ucy5hZGRQaG90by5tYXRJY29uIH19PC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24gKm5nSWY9XCJvcHRpb25zLmFjdGlvbkJ1dHRvbnMuYWRkUGhvdG8uc3ZnSWNvblwiIFtzdmdJY29uXT1cIm9wdGlvbnMuYWN0aW9uQnV0dG9ucy5hZGRQaG90by5zdmdJY29uXCI+PC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gW21hdE1lbnVUcmlnZ2VyRm9yXT1cImFzc2V0QWN0aW9uc1wiIFtkaXNhYmxlZF09XCIhX2FjdGl2ZUFzc2V0XCI+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uICpuZ0lmPVwib3B0aW9ucy5hY3Rpb25CdXR0b25zLm1vcmVPcHRpb25zLm1hdEljb25cIj57eyBvcHRpb25zLmFjdGlvbkJ1dHRvbnMubW9yZU9wdGlvbnMubWF0SWNvbiB9fTwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uICpuZ0lmPVwib3B0aW9ucy5hY3Rpb25CdXR0b25zLm1vcmVPcHRpb25zLnN2Z0ljb25cIiBbc3ZnSWNvbl09XCJvcHRpb25zLmFjdGlvbkJ1dHRvbnMubW9yZU9wdGlvbnMuc3ZnSWNvblwiPjwvbWF0LWljb24+XG4gICAgICAgICAgICA8L2J1dHRvbj5cblxuICAgICAgICAgICAgPG1hdC1tZW51IGNsYXNzPVwibmljZS1hc3NldC1vcHRpb25zLW1lbnVcIiBbeFBvc2l0aW9uXT1cIidiZWZvcmUnXCIgI2Fzc2V0QWN0aW9ucz1cIm1hdE1lbnVcIj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKm5nRm9yPVwibGV0IGFjdGlvbiBvZiBjdXN0b21BY3Rpb25zXCIgKGNsaWNrKT1cImNsaWNrQ3VzdG9tKGFjdGlvbilcIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uICpuZ0lmPVwiYWN0aW9uLmljb24ubWF0SWNvblwiPnt7IGFjdGlvbi5pY29uLm1hdEljb24gfX08L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gW3N2Z0ljb25dPVwiYWN0aW9uLmljb24uc3ZnSWNvblwiICpuZ0lmPVwiYWN0aW9uLmljb24uc3ZnSWNvblwiPjwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuPnt7IGFjdGlvbi5uYW1lIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbSAoY2xpY2spPVwiY2xpY2tSZW1vdmUoKVwiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gKm5nSWY9XCJvcHRpb25zLmFjdGlvbkJ1dHRvbnMucmVtb3ZlLm1hdEljb25cIj57eyBvcHRpb25zLmFjdGlvbkJ1dHRvbnMucmVtb3ZlLm1hdEljb24gfX08L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gKm5nSWY9XCJvcHRpb25zLmFjdGlvbkJ1dHRvbnMucmVtb3ZlLnN2Z0ljb25cIiBbc3ZnSWNvbl09XCJvcHRpb25zLmFjdGlvbkJ1dHRvbnMucmVtb3ZlLnN2Z0ljb25cIj48L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICA8c3Bhbj57eyBcIm5pY2VfdWlfa2l0LmFzc2V0c19jYXJvdXNlbC5kZWxldGVcIiB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvbWF0LW1lbnU+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ1cGxvYWQtb3ZlcmxheVwiPlxuICAgICAgICAgICAgPG1hdC1pY29uICpuZ0lmPVwib3B0aW9ucy51cGxvYWQubWF0SWNvblwiPnt7IG9wdGlvbnMudXBsb2FkLm1hdEljb24gfX08L21hdC1pY29uPlxuICAgICAgICAgICAgPG1hdC1pY29uICpuZ0lmPVwib3B0aW9ucy51cGxvYWQuc3ZnSWNvblwiIFtzdmdJY29uXT1cIm9wdGlvbnMudXBsb2FkLnN2Z0ljb25cIj48L21hdC1pY29uPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJjYXJvdXNlbFwiPlxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYWN0aW9uLWJ1dHRvblwiIG1hdC1pY29uLWJ1dHRvbiBbZGlzYWJsZWRdPVwiIV9hY3RpdmVcIiAoY2xpY2spPVwiY2xpY2tMZWZ0KClcIj5cbiAgICAgICAgICAgIDxtYXQtaWNvbiAqbmdJZj1cIm9wdGlvbnMubGVmdEFycm93Lm1hdEljb25cIj57eyBvcHRpb25zLmxlZnRBcnJvdy5tYXRJY29uIH19PC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImFycm93c1wiICpuZ0lmPVwib3B0aW9ucy5sZWZ0QXJyb3cuc3ZnSWNvblwiIFtzdmdJY29uXT1cIm9wdGlvbnMubGVmdEFycm93LnN2Z0ljb25cIj48L21hdC1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwiYXNzZXQtbGlzdC1jb250YWluZXJcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhZGQtYXNzZXQtY29udGFpbmVyXCIgKm5nSWY9XCJlZGl0XCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFkZC1hc3NldFwiIG1hdFJpcHBsZSAoY2xpY2spPVwiZmlsZUlucHV0LmNsaWNrKClcIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uICpuZ0lmPVwib3B0aW9ucy5hZGRQaG90by5tYXRJY29uXCI+e3sgb3B0aW9ucy5hZGRQaG90by5tYXRJY29uIH19PC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uICpuZ0lmPVwib3B0aW9ucy5hZGRQaG90by5zdmdJY29uXCIgW3N2Z0ljb25dPVwib3B0aW9ucy5hZGRQaG90by5zdmdJY29uXCI+PC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXNzZXQtbGlzdFwiIFtuZ1N0eWxlXT1cImxpc3RTdHlsZVwiPlxuICAgICAgICAgICAgICAgIDxkaXYgI2Fzc2V0cyBjbGFzcz1cImFzc2V0XCIgKm5nRm9yPVwibGV0IGFzc2V0IG9mIF9hc3NldHM7IGxldCBpID0gaW5kZXhcIiAoY2xpY2spPVwiY2xpY2tBc3NldChpKVwiIFtuZ0NsYXNzXT1cImNvbG9yXCIgW2NsYXNzLmFjdGl2ZV09XCJfYWN0aXZlID09PSBpXCI+XG4gICAgICAgICAgICAgICAgICAgIDxpbWcgKm5nSWY9XCJhc3NldC50eXBlID09PSAnaW1hZ2UnXCIgZHJhZ2dhYmxlPVwiZmFsc2VcIiBbc3JjXT1cImFzc2V0LnVybCA/PyBhc3NldC5iYXNlNjRcIj5cbiAgICAgICAgICAgICAgICAgICAgPHZpZGVvICpuZ0lmPVwiYXNzZXQudHlwZSA9PT0gJ3ZpZGVvJ1wiIGRyYWdnYWJsZT1cImZhbHNlXCIgbG9vcCBbc3JjXT1cImFzc2V0LnVybCA/PyBhc3NldC5iYXNlNjRcIj48L3ZpZGVvPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJhY3Rpb24tYnV0dG9uXCIgbWF0LWljb24tYnV0dG9uIFtkaXNhYmxlZF09XCJfbGFzdEFzc2V0XCIgKGNsaWNrKT1cImNsaWNrUmlnaHQoKVwiPlxuICAgICAgICAgICAgPG1hdC1pY29uICpuZ0lmPVwib3B0aW9ucy5yaWdodEFycm93Lm1hdEljb25cIj57eyBvcHRpb25zLnJpZ2h0QXJyb3cubWF0SWNvbiB9fTwvbWF0LWljb24+XG4gICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJhcnJvd3NcIiAqbmdJZj1cIm9wdGlvbnMucmlnaHRBcnJvdy5zdmdJY29uXCIgW3N2Z0ljb25dPVwib3B0aW9ucy5yaWdodEFycm93LnN2Z0ljb25cIj48L21hdC1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuXG48aW5wdXQgI2ZpbGVJbnB1dCB0eXBlPVwiZmlsZVwiIGhpZGRlbiBbYWNjZXB0XT1cImFjY2VwdFwiIChjaGFuZ2UpPVwib25GaWxlc0NoYW5nZSgkZXZlbnQpXCI+XG4iXX0=
|
|
@@ -48,24 +48,22 @@ export class NiceAssetsCarouselModule {
|
|
|
48
48
|
};
|
|
49
49
|
}
|
|
50
50
|
}
|
|
51
|
-
NiceAssetsCarouselModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
52
|
-
NiceAssetsCarouselModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "
|
|
51
|
+
NiceAssetsCarouselModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: NiceAssetsCarouselModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
52
|
+
NiceAssetsCarouselModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.3", ngImport: i0, type: NiceAssetsCarouselModule, declarations: [NiceAssetsCarouselComponent], imports: [CommonModule,
|
|
53
53
|
MatIconModule,
|
|
54
54
|
MatButtonModule,
|
|
55
55
|
MatMenuModule,
|
|
56
56
|
MatRippleModule,
|
|
57
57
|
NiceDropzoneModule,
|
|
58
58
|
TranslateModule], exports: [NiceAssetsCarouselComponent] });
|
|
59
|
-
NiceAssetsCarouselModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
]] });
|
|
68
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: NiceAssetsCarouselModule, decorators: [{
|
|
59
|
+
NiceAssetsCarouselModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: NiceAssetsCarouselModule, imports: [CommonModule,
|
|
60
|
+
MatIconModule,
|
|
61
|
+
MatButtonModule,
|
|
62
|
+
MatMenuModule,
|
|
63
|
+
MatRippleModule,
|
|
64
|
+
NiceDropzoneModule,
|
|
65
|
+
TranslateModule] });
|
|
66
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: NiceAssetsCarouselModule, decorators: [{
|
|
69
67
|
type: NgModule,
|
|
70
68
|
args: [{
|
|
71
69
|
imports: [
|
|
@@ -82,4 +80,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImpor
|
|
|
82
80
|
exports: [NiceAssetsCarouselComponent]
|
|
83
81
|
}]
|
|
84
82
|
}] });
|
|
85
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
83
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXRzLWNhcm91c2VsLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25pY2UtdWkta2l0LXYyL3NyYy9saWIvY29tcG9uZW50cy9hc3NldHMtY2Fyb3VzZWwvYXNzZXRzLWNhcm91c2VsLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUUvRCxPQUFPLEVBQUUsMkJBQTJCLEVBQTZCLE1BQU0sNkJBQTZCLENBQUM7QUFDckcsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7O0FBZ0IxRSxNQUFNLE9BQU8sd0JBQXdCO0lBQzFCLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBbUM7UUFDckQsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNWLE9BQU8sR0FBRztnQkFDTixhQUFhLEVBQUUsRUFBRTthQUNwQixDQUFDO1NBQ0w7UUFDRCxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxXQUFXLEVBQUU7WUFDcEMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxXQUFXLEdBQUcsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLENBQUM7U0FDaEU7UUFDRCxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUU7WUFDakMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxRQUFRLEdBQUcsRUFBRSxPQUFPLEVBQUUsY0FBYyxFQUFFLENBQUM7U0FDaEU7UUFDRCxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUU7WUFDL0IsT0FBTyxDQUFDLGFBQWEsQ0FBQyxNQUFNLEdBQUcsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLENBQUM7U0FDeEQ7UUFDRCxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRTtZQUNuQixPQUFPLENBQUMsUUFBUSxHQUFHLEVBQUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxDQUFDO1NBQ2xEO1FBQ0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUU7WUFDcEIsT0FBTyxDQUFDLFNBQVMsR0FBRyxFQUFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsQ0FBQztTQUNuRDtRQUNELElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFO1lBQ3JCLE9BQU8sQ0FBQyxVQUFVLEdBQUcsRUFBRSxPQUFPLEVBQUUsZUFBZSxFQUFFLENBQUM7U0FDckQ7UUFDRCxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRTtZQUNqQixPQUFPLENBQUMsTUFBTSxHQUFHLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxDQUFDO1NBQy9DO1FBRUQsT0FBTztZQUNILFFBQVEsRUFBRSx3QkFBd0I7WUFDbEMsU0FBUyxFQUFFO2dCQUNQO29CQUNJLE9BQU8sRUFBRSw0QkFBNEI7b0JBQ3JDLFFBQVEsRUFBRSxPQUFPO2lCQUNwQjthQUNKO1NBQ0osQ0FBQztJQUNOLENBQUM7O3FIQXRDUSx3QkFBd0I7c0hBQXhCLHdCQUF3QixpQkFKbEIsMkJBQTJCLGFBUnRDLFlBQVk7UUFDWixhQUFhO1FBQ2IsZUFBZTtRQUNmLGFBQWE7UUFDYixlQUFlO1FBQ2Ysa0JBQWtCO1FBQ2xCLGVBQWUsYUFJVCwyQkFBMkI7c0hBRTVCLHdCQUF3QixZQVo3QixZQUFZO1FBQ1osYUFBYTtRQUNiLGVBQWU7UUFDZixhQUFhO1FBQ2IsZUFBZTtRQUNmLGtCQUFrQjtRQUNsQixlQUFlOzJGQU1WLHdCQUF3QjtrQkFkcEMsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUU7d0JBQ0wsWUFBWTt3QkFDWixhQUFhO3dCQUNiLGVBQWU7d0JBQ2YsYUFBYTt3QkFDYixlQUFlO3dCQUNmLGtCQUFrQjt3QkFDbEIsZUFBZTtxQkFDbEI7b0JBQ0QsWUFBWSxFQUFFLENBQUMsMkJBQTJCLENBQUM7b0JBQzNDLFNBQVMsRUFBRSxFQUFFO29CQUNiLE9BQU8sRUFBRSxDQUFDLDJCQUEyQixDQUFDO2lCQUN6QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcbmltcG9ydCB7IE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9idXR0b25cIjtcbmltcG9ydCB7IE1hdFJpcHBsZU1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9jb3JlXCI7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2ljb25cIjtcbmltcG9ydCB7IE1hdE1lbnVNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvbWVudVwiO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSBcIkBuZ3gtdHJhbnNsYXRlL2NvcmVcIjtcbmltcG9ydCB7IE5pY2VEcm9wem9uZU1vZHVsZSB9IGZyb20gXCIuLi8uLi9kaXJlY3RpdmVzL2Ryb3B6b25lXCI7XG5cbmltcG9ydCB7IE5pY2VBc3NldHNDYXJvdXNlbENvbXBvbmVudCwgTmljZUFzc2V0c0Nhcm91c2VsT3B0aW9ucyB9IGZyb20gXCIuL2Fzc2V0cy1jYXJvdXNlbC5jb21wb25lbnRcIjtcbmltcG9ydCB7IE5JQ0VfQVNTRVRTX0NBUk9VU0VMX09QVElPTlMgfSBmcm9tIFwiLi9hc3NldHMtY2Fyb3VzZWwuY29uc3RhbnRcIjtcblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgTWF0SWNvbk1vZHVsZSxcbiAgICAgICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgICAgICBNYXRNZW51TW9kdWxlLFxuICAgICAgICBNYXRSaXBwbGVNb2R1bGUsXG4gICAgICAgIE5pY2VEcm9wem9uZU1vZHVsZSxcbiAgICAgICAgVHJhbnNsYXRlTW9kdWxlXG4gICAgXSxcbiAgICBkZWNsYXJhdGlvbnM6IFtOaWNlQXNzZXRzQ2Fyb3VzZWxDb21wb25lbnRdLFxuICAgIHByb3ZpZGVyczogW10sXG4gICAgZXhwb3J0czogW05pY2VBc3NldHNDYXJvdXNlbENvbXBvbmVudF1cbn0pXG5leHBvcnQgY2xhc3MgTmljZUFzc2V0c0Nhcm91c2VsTW9kdWxlIHtcbiAgICBwdWJsaWMgc3RhdGljIGZvclJvb3Qob3B0aW9ucz86IE5pY2VBc3NldHNDYXJvdXNlbE9wdGlvbnMpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPE5pY2VBc3NldHNDYXJvdXNlbE1vZHVsZT4ge1xuICAgICAgICBpZiAoIW9wdGlvbnMpIHtcbiAgICAgICAgICAgIG9wdGlvbnMgPSB7XG4gICAgICAgICAgICAgICAgYWN0aW9uQnV0dG9uczoge31cbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFvcHRpb25zLmFjdGlvbkJ1dHRvbnMubW9yZU9wdGlvbnMpIHtcbiAgICAgICAgICAgIG9wdGlvbnMuYWN0aW9uQnV0dG9ucy5tb3JlT3B0aW9ucyA9IHsgbWF0SWNvbjogXCJtb3JlX3ZlcnRcIiB9O1xuICAgICAgICB9XG4gICAgICAgIGlmICghb3B0aW9ucy5hY3Rpb25CdXR0b25zLmFkZFBob3RvKSB7XG4gICAgICAgICAgICBvcHRpb25zLmFjdGlvbkJ1dHRvbnMuYWRkUGhvdG8gPSB7IG1hdEljb246IFwicGhvdG9fY2FtZXJhXCIgfTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIW9wdGlvbnMuYWN0aW9uQnV0dG9ucy5yZW1vdmUpIHtcbiAgICAgICAgICAgIG9wdGlvbnMuYWN0aW9uQnV0dG9ucy5yZW1vdmUgPSB7IG1hdEljb246IFwiZGVsZXRlXCIgfTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIW9wdGlvbnMuYWRkUGhvdG8pIHtcbiAgICAgICAgICAgIG9wdGlvbnMuYWRkUGhvdG8gPSB7IG1hdEljb246IFwicGhvdG9fY2FtZXJhXCIgfTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIW9wdGlvbnMubGVmdEFycm93KSB7XG4gICAgICAgICAgICBvcHRpb25zLmxlZnRBcnJvdyA9IHsgbWF0SWNvbjogXCJjaGV2cm9uX2xlZnRcIiB9O1xuICAgICAgICB9XG4gICAgICAgIGlmICghb3B0aW9ucy5yaWdodEFycm93KSB7XG4gICAgICAgICAgICBvcHRpb25zLnJpZ2h0QXJyb3cgPSB7IG1hdEljb246IFwiY2hldnJvbl9yaWdodFwiIH07XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFvcHRpb25zLnVwbG9hZCkge1xuICAgICAgICAgICAgb3B0aW9ucy51cGxvYWQgPSB7IG1hdEljb246IFwiZmlsZV91cGxvYWRcIiB9O1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIG5nTW9kdWxlOiBOaWNlQXNzZXRzQ2Fyb3VzZWxNb2R1bGUsXG4gICAgICAgICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHByb3ZpZGU6IE5JQ0VfQVNTRVRTX0NBUk9VU0VMX09QVElPTlMsXG4gICAgICAgICAgICAgICAgICAgIHVzZVZhbHVlOiBvcHRpb25zXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXVxuICAgICAgICB9O1xuICAgIH1cbn1cbiJdfQ==
|