ngx-bootstrap 5.4.0 → 5.6.2
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/CHANGELOG.md +138 -99
- package/accordion/bundles/ngx-bootstrap-accordion.umd.js +71 -2
- package/accordion/bundles/ngx-bootstrap-accordion.umd.js.map +1 -1
- package/accordion/bundles/ngx-bootstrap-accordion.umd.min.js +1 -1
- package/accordion/bundles/ngx-bootstrap-accordion.umd.min.js.map +1 -1
- package/accordion/fesm2015/ngx-bootstrap-accordion.js +79 -0
- package/accordion/fesm2015/ngx-bootstrap-accordion.js.map +1 -1
- package/accordion/fesm5/ngx-bootstrap-accordion.js +80 -1
- package/accordion/fesm5/ngx-bootstrap-accordion.js.map +1 -1
- package/accordion/package.json +2 -2
- package/alert/bundles/ngx-bootstrap-alert.umd.js +224 -2
- package/alert/bundles/ngx-bootstrap-alert.umd.js.map +1 -1
- package/alert/bundles/ngx-bootstrap-alert.umd.min.js +15 -1
- package/alert/bundles/ngx-bootstrap-alert.umd.min.js.map +1 -1
- package/alert/fesm2015/ngx-bootstrap-alert.js +71 -0
- package/alert/fesm2015/ngx-bootstrap-alert.js.map +1 -1
- package/alert/fesm5/ngx-bootstrap-alert.js +72 -1
- package/alert/fesm5/ngx-bootstrap-alert.js.map +1 -1
- package/alert/package.json +2 -2
- package/buttons/bundles/ngx-bootstrap-buttons.umd.js +208 -85
- package/buttons/bundles/ngx-bootstrap-buttons.umd.js.map +1 -1
- package/buttons/bundles/ngx-bootstrap-buttons.umd.min.js +1 -1
- package/buttons/bundles/ngx-bootstrap-buttons.umd.min.js.map +1 -1
- package/buttons/button-radio-group.directive.d.ts +4 -1
- package/buttons/esm2015/button-radio-group.directive.js +26 -2
- package/buttons/esm5/button-radio-group.directive.js +30 -2
- package/buttons/fesm2015/ngx-bootstrap-buttons.js +194 -65
- package/buttons/fesm2015/ngx-bootstrap-buttons.js.map +1 -1
- package/buttons/fesm5/ngx-bootstrap-buttons.js +216 -83
- package/buttons/fesm5/ngx-bootstrap-buttons.js.map +1 -1
- package/buttons/ngx-bootstrap-buttons.metadata.json +1 -1
- package/buttons/package.json +2 -2
- package/carousel/bundles/ngx-bootstrap-carousel.umd.js +295 -4
- package/carousel/bundles/ngx-bootstrap-carousel.umd.js.map +1 -1
- package/carousel/bundles/ngx-bootstrap-carousel.umd.min.js +15 -1
- package/carousel/bundles/ngx-bootstrap-carousel.umd.min.js.map +1 -1
- package/carousel/carousel.component.d.ts +2 -0
- package/carousel/esm2015/carousel.component.js +15 -2
- package/carousel/esm2015/slide.component.js +21 -2
- package/carousel/esm5/carousel.component.js +15 -2
- package/carousel/esm5/slide.component.js +6 -2
- package/carousel/fesm2015/ngx-bootstrap-carousel.js +169 -2
- package/carousel/fesm2015/ngx-bootstrap-carousel.js.map +1 -1
- package/carousel/fesm5/ngx-bootstrap-carousel.js +156 -4
- package/carousel/fesm5/ngx-bootstrap-carousel.js.map +1 -1
- package/carousel/ngx-bootstrap-carousel.metadata.json +1 -1
- package/carousel/package.json +2 -2
- package/carousel/slide.component.d.ts +1 -0
- package/chronos/bundles/ngx-bootstrap-chronos.umd.js +11172 -10061
- package/chronos/bundles/ngx-bootstrap-chronos.umd.js.map +1 -1
- package/chronos/bundles/ngx-bootstrap-chronos.umd.min.js +1 -1
- package/chronos/bundles/ngx-bootstrap-chronos.umd.min.js.map +1 -1
- package/chronos/esm2015/format/format.js +1 -1
- package/chronos/esm2015/i18n/ka.js +108 -0
- package/chronos/esm2015/i18n/kk.js +89 -0
- package/chronos/esm2015/i18n/sq.js +62 -0
- package/chronos/esm2015/i18n/th-be.js +85 -0
- package/chronos/esm2015/index.js +2 -2
- package/chronos/esm2015/locale/locale.class.js +16 -2
- package/chronos/esm2015/ngx-bootstrap-chronos.js +2 -2
- package/chronos/esm2015/public_api.js +5 -1
- package/chronos/esm2015/units/year.js +4 -1
- package/chronos/esm5/format/format.js +1 -1
- package/chronos/esm5/i18n/ka.js +108 -0
- package/chronos/esm5/i18n/kk.js +89 -0
- package/chronos/esm5/i18n/sq.js +62 -0
- package/chronos/esm5/i18n/th-be.js +86 -0
- package/chronos/esm5/index.js +2 -2
- package/chronos/esm5/locale/locale.class.js +22 -2
- package/chronos/esm5/ngx-bootstrap-chronos.js +2 -2
- package/chronos/esm5/public_api.js +5 -1
- package/chronos/esm5/units/year.js +4 -1
- package/chronos/fesm2015/ngx-bootstrap-chronos.js +1117 -13
- package/chronos/fesm2015/ngx-bootstrap-chronos.js.map +1 -1
- package/chronos/fesm5/ngx-bootstrap-chronos.js +1130 -13
- package/chronos/fesm5/ngx-bootstrap-chronos.js.map +1 -1
- package/chronos/i18n/ka.d.ts +2 -0
- package/chronos/i18n/kk.d.ts +2 -0
- package/chronos/i18n/sq.d.ts +2 -0
- package/chronos/i18n/th-be.d.ts +2 -0
- package/chronos/locale/locale.class.d.ts +2 -0
- package/chronos/ngx-bootstrap-chronos.metadata.json +1 -1
- package/chronos/package.json +2 -2
- package/chronos/public_api.d.ts +4 -0
- package/collapse/bundles/ngx-bootstrap-collapse.umd.js +100 -2
- package/collapse/bundles/ngx-bootstrap-collapse.umd.js.map +1 -1
- package/collapse/bundles/ngx-bootstrap-collapse.umd.min.js +1 -1
- package/collapse/bundles/ngx-bootstrap-collapse.umd.min.js.map +1 -1
- package/collapse/collapse.directive.d.ts +1 -0
- package/collapse/esm2015/collapse.directive.js +14 -1
- package/collapse/esm5/collapse.directive.js +14 -1
- package/collapse/fesm2015/ngx-bootstrap-collapse.js +108 -0
- package/collapse/fesm2015/ngx-bootstrap-collapse.js.map +1 -1
- package/collapse/fesm5/ngx-bootstrap-collapse.js +109 -1
- package/collapse/fesm5/ngx-bootstrap-collapse.js.map +1 -1
- package/collapse/ngx-bootstrap-collapse.metadata.json +1 -1
- package/collapse/package.json +2 -2
- package/component-loader/bundles/ngx-bootstrap-component-loader.umd.js +169 -2
- package/component-loader/bundles/ngx-bootstrap-component-loader.umd.js.map +1 -1
- package/component-loader/bundles/ngx-bootstrap-component-loader.umd.min.js +1 -1
- package/component-loader/bundles/ngx-bootstrap-component-loader.umd.min.js.map +1 -1
- package/component-loader/fesm2015/ngx-bootstrap-component-loader.js +177 -0
- package/component-loader/fesm2015/ngx-bootstrap-component-loader.js.map +1 -1
- package/component-loader/fesm5/ngx-bootstrap-component-loader.js +178 -1
- package/component-loader/fesm5/ngx-bootstrap-component-loader.js.map +1 -1
- package/component-loader/package.json +2 -2
- package/datepicker/base/bs-datepicker-container.d.ts +4 -1
- package/datepicker/bs-datepicker-inline.component.d.ts +4 -0
- package/datepicker/bs-datepicker-input.directive.d.ts +1 -0
- package/datepicker/bs-datepicker.component.d.ts +12 -3
- package/datepicker/bs-datepicker.config.d.ts +26 -0
- package/datepicker/bs-datepicker.css +19 -1
- package/datepicker/bs-datepicker.css.map +3 -3
- package/datepicker/bs-datepicker.scss +0 -1
- package/datepicker/bs-daterangepicker-inline.component.d.ts +8 -0
- package/datepicker/bs-daterangepicker-input.directive.d.ts +1 -0
- package/datepicker/bs-daterangepicker.component.d.ts +16 -3
- package/datepicker/bundles/ngx-bootstrap-datepicker.umd.js +2116 -106
- package/datepicker/bundles/ngx-bootstrap-datepicker.umd.js.map +1 -1
- package/datepicker/bundles/ngx-bootstrap-datepicker.umd.min.js +15 -1
- package/datepicker/bundles/ngx-bootstrap-datepicker.umd.min.js.map +1 -1
- package/datepicker/engine/flag-days-calendar.d.ts +1 -0
- package/datepicker/esm2015/base/bs-datepicker-container.js +18 -3
- package/datepicker/esm2015/bs-datepicker-inline.component.js +25 -9
- package/datepicker/esm2015/bs-datepicker-input.directive.js +19 -1
- package/datepicker/esm2015/bs-datepicker.component.js +55 -8
- package/datepicker/esm2015/bs-datepicker.config.js +36 -2
- package/datepicker/esm2015/bs-datepicker.module.js +23 -16
- package/datepicker/esm2015/bs-daterangepicker-inline.component.js +37 -7
- package/datepicker/esm2015/bs-daterangepicker-input.directive.js +34 -3
- package/datepicker/esm2015/bs-daterangepicker.component.js +66 -9
- package/datepicker/esm2015/engine/flag-days-calendar.js +6 -3
- package/datepicker/esm2015/reducer/bs-datepicker.actions.js +14 -1
- package/datepicker/esm2015/reducer/bs-datepicker.effects.js +15 -11
- package/datepicker/esm2015/reducer/bs-datepicker.reducer.js +25 -6
- package/datepicker/esm2015/reducer/bs-datepicker.state.js +5 -1
- package/datepicker/esm2015/themes/bs/bs-custom-dates-view.component.js +46 -8
- package/datepicker/esm2015/themes/bs/bs-datepicker-container.component.js +5 -2
- package/datepicker/esm2015/themes/bs/bs-datepicker-inline-container.component.js +2 -2
- package/datepicker/esm2015/themes/bs/bs-datepicker-navigation-view.component.js +8 -7
- package/datepicker/esm2015/themes/bs/bs-daterangepicker-container.component.js +21 -3
- package/datepicker/esm2015/themes/bs/bs-daterangepicker-inline-container.component.js +2 -2
- package/datepicker/esm2015/themes/bs/bs-days-calendar-view.component.js +22 -8
- package/datepicker/esm2015/utils/bs-calendar-utils.js +18 -3
- package/datepicker/esm5/base/bs-datepicker-container.js +26 -3
- package/datepicker/esm5/bs-datepicker-inline.component.js +25 -9
- package/datepicker/esm5/bs-datepicker-input.directive.js +23 -1
- package/datepicker/esm5/bs-datepicker.component.js +59 -8
- package/datepicker/esm5/bs-datepicker.config.js +36 -2
- package/datepicker/esm5/bs-datepicker.module.js +26 -19
- package/datepicker/esm5/bs-daterangepicker-inline.component.js +37 -7
- package/datepicker/esm5/bs-daterangepicker-input.directive.js +38 -3
- package/datepicker/esm5/bs-daterangepicker.component.js +70 -9
- package/datepicker/esm5/engine/flag-days-calendar.js +6 -3
- package/datepicker/esm5/reducer/bs-datepicker.actions.js +18 -1
- package/datepicker/esm5/reducer/bs-datepicker.effects.js +21 -17
- package/datepicker/esm5/reducer/bs-datepicker.reducer.js +25 -6
- package/datepicker/esm5/reducer/bs-datepicker.state.js +5 -1
- package/datepicker/esm5/themes/bs/bs-custom-dates-view.component.js +39 -7
- package/datepicker/esm5/themes/bs/bs-datepicker-container.component.js +5 -2
- package/datepicker/esm5/themes/bs/bs-datepicker-inline-container.component.js +2 -2
- package/datepicker/esm5/themes/bs/bs-datepicker-navigation-view.component.js +2 -2
- package/datepicker/esm5/themes/bs/bs-daterangepicker-container.component.js +25 -3
- package/datepicker/esm5/themes/bs/bs-daterangepicker-inline-container.component.js +2 -2
- package/datepicker/esm5/themes/bs/bs-days-calendar-view.component.js +22 -8
- package/datepicker/esm5/utils/bs-calendar-utils.js +18 -3
- package/datepicker/fesm2015/ngx-bootstrap-datepicker.js +1958 -91
- package/datepicker/fesm2015/ngx-bootstrap-datepicker.js.map +1 -1
- package/datepicker/fesm5/ngx-bootstrap-datepicker.js +1989 -93
- package/datepicker/fesm5/ngx-bootstrap-datepicker.js.map +1 -1
- package/datepicker/ngx-bootstrap-datepicker.metadata.json +1 -1
- package/datepicker/package.json +2 -2
- package/datepicker/reducer/bs-datepicker.actions.d.ts +2 -0
- package/datepicker/reducer/bs-datepicker.effects.d.ts +3 -2
- package/datepicker/reducer/bs-datepicker.state.d.ts +2 -0
- package/datepicker/themes/bs/bs-custom-dates-view.component.d.ts +6 -1
- package/datepicker/themes/bs/bs-daterangepicker-container.component.d.ts +3 -0
- package/datepicker/utils/bs-calendar-utils.d.ts +1 -0
- package/datepicker/utils/scss/mixins.css.map +1 -1
- package/datepicker/utils/scss/mixins.scss +9 -0
- package/dropdown/bundles/ngx-bootstrap-dropdown.umd.js +395 -5
- package/dropdown/bundles/ngx-bootstrap-dropdown.umd.js.map +1 -1
- package/dropdown/bundles/ngx-bootstrap-dropdown.umd.min.js +15 -1
- package/dropdown/bundles/ngx-bootstrap-dropdown.umd.min.js.map +1 -1
- package/dropdown/esm2015/bs-dropdown-container.component.js +2 -2
- package/dropdown/esm2015/bs-dropdown.directive.js +8 -3
- package/dropdown/esm5/bs-dropdown-container.component.js +2 -2
- package/dropdown/esm5/bs-dropdown.directive.js +9 -3
- package/dropdown/fesm2015/ngx-bootstrap-dropdown.js +241 -3
- package/dropdown/fesm2015/ngx-bootstrap-dropdown.js.map +1 -1
- package/dropdown/fesm5/ngx-bootstrap-dropdown.js +242 -3
- package/dropdown/fesm5/ngx-bootstrap-dropdown.js.map +1 -1
- package/dropdown/ngx-bootstrap-dropdown.metadata.json +1 -1
- package/dropdown/package.json +2 -2
- package/locale/bundles/ngx-bootstrap-locale.umd.js +36 -2
- package/locale/bundles/ngx-bootstrap-locale.umd.js.map +1 -1
- package/locale/bundles/ngx-bootstrap-locale.umd.min.js +1 -1
- package/locale/esm2015/ngx-bootstrap-locale.js +2 -2
- package/locale/esm2015/public_api.js +5 -1
- package/locale/esm5/ngx-bootstrap-locale.js +2 -2
- package/locale/esm5/public_api.js +5 -1
- package/locale/fesm2015/ngx-bootstrap-locale.js +11 -1
- package/locale/fesm2015/ngx-bootstrap-locale.js.map +1 -1
- package/locale/fesm5/ngx-bootstrap-locale.js +11 -1
- package/locale/fesm5/ngx-bootstrap-locale.js.map +1 -1
- package/locale/ngx-bootstrap-locale.metadata.json +1 -1
- package/locale/package.json +2 -2
- package/locale/public_api.d.ts +4 -0
- package/mini-ngrx/bundles/ngx-bootstrap-mini-ngrx.umd.js +187 -2
- package/mini-ngrx/bundles/ngx-bootstrap-mini-ngrx.umd.js.map +1 -1
- package/mini-ngrx/bundles/ngx-bootstrap-mini-ngrx.umd.min.js +15 -1
- package/mini-ngrx/bundles/ngx-bootstrap-mini-ngrx.umd.min.js.map +1 -1
- package/mini-ngrx/fesm2015/ngx-bootstrap-mini-ngrx.js +32 -0
- package/mini-ngrx/fesm2015/ngx-bootstrap-mini-ngrx.js.map +1 -1
- package/mini-ngrx/fesm5/ngx-bootstrap-mini-ngrx.js +32 -0
- package/mini-ngrx/fesm5/ngx-bootstrap-mini-ngrx.js.map +1 -1
- package/mini-ngrx/package.json +2 -2
- package/modal/bs-modal.service.d.ts +1 -2
- package/modal/bundles/ngx-bootstrap-modal.umd.js +558 -16
- package/modal/bundles/ngx-bootstrap-modal.umd.js.map +1 -1
- package/modal/bundles/ngx-bootstrap-modal.umd.min.js +15 -1
- package/modal/bundles/ngx-bootstrap-modal.umd.min.js.map +1 -1
- package/modal/esm2015/bs-modal.service.js +13 -4
- package/modal/esm2015/modal-container.component.js +24 -5
- package/modal/esm2015/modal-options.class.js +16 -1
- package/modal/esm2015/modal.directive.js +21 -4
- package/modal/esm2015/modal.module.js +10 -1
- package/modal/esm5/bs-modal.service.js +28 -8
- package/modal/esm5/modal-container.component.js +28 -5
- package/modal/esm5/modal-options.class.js +16 -1
- package/modal/esm5/modal.directive.js +25 -4
- package/modal/esm5/modal.module.js +13 -1
- package/modal/fesm2015/ngx-bootstrap-modal.js +354 -10
- package/modal/fesm2015/ngx-bootstrap-modal.js.map +1 -1
- package/modal/fesm5/ngx-bootstrap-modal.js +381 -15
- package/modal/fesm5/ngx-bootstrap-modal.js.map +1 -1
- package/modal/modal-container.component.d.ts +3 -1
- package/modal/modal-options.class.d.ts +13 -0
- package/modal/modal.directive.d.ts +3 -1
- package/modal/modal.module.d.ts +1 -0
- package/modal/ngx-bootstrap-modal.metadata.json +1 -1
- package/modal/package.json +2 -2
- package/package.json +2 -2
- package/pagination/bundles/ngx-bootstrap-pagination.umd.js +276 -4
- package/pagination/bundles/ngx-bootstrap-pagination.umd.js.map +1 -1
- package/pagination/bundles/ngx-bootstrap-pagination.umd.min.js +1 -1
- package/pagination/bundles/ngx-bootstrap-pagination.umd.min.js.map +1 -1
- package/pagination/esm2015/models/index.js +49 -4
- package/pagination/esm2015/pager.component.js +2 -2
- package/pagination/esm2015/pagination.component.js +33 -3
- package/pagination/esm2015/public_api.js +1 -1
- package/pagination/esm5/models/index.js +49 -4
- package/pagination/esm5/pager.component.js +2 -2
- package/pagination/esm5/pagination.component.js +33 -3
- package/pagination/esm5/public_api.js +1 -1
- package/pagination/fesm2015/ngx-bootstrap-pagination.js +284 -2
- package/pagination/fesm2015/ngx-bootstrap-pagination.js.map +1 -1
- package/pagination/fesm5/ngx-bootstrap-pagination.js +285 -3
- package/pagination/fesm5/ngx-bootstrap-pagination.js.map +1 -1
- package/pagination/models/index.d.ts +28 -0
- package/pagination/ngx-bootstrap-pagination.metadata.json +1 -1
- package/pagination/package.json +2 -2
- package/pagination/pagination.component.d.ts +12 -2
- package/pagination/public_api.d.ts +1 -0
- package/popover/bundles/ngx-bootstrap-popover.umd.js +215 -20
- package/popover/bundles/ngx-bootstrap-popover.umd.js.map +1 -1
- package/popover/bundles/ngx-bootstrap-popover.umd.min.js +1 -1
- package/popover/bundles/ngx-bootstrap-popover.umd.min.js.map +1 -1
- package/popover/esm2015/popover.config.js +10 -1
- package/popover/esm2015/popover.directive.js +97 -16
- package/popover/esm5/popover.config.js +10 -1
- package/popover/esm5/popover.directive.js +98 -16
- package/popover/fesm2015/ngx-bootstrap-popover.js +221 -16
- package/popover/fesm2015/ngx-bootstrap-popover.js.map +1 -1
- package/popover/fesm5/ngx-bootstrap-popover.js +222 -16
- package/popover/fesm5/ngx-bootstrap-popover.js.map +1 -1
- package/popover/ngx-bootstrap-popover.metadata.json +1 -1
- package/popover/package.json +2 -2
- package/popover/popover.config.d.ts +2 -0
- package/popover/popover.directive.d.ts +9 -1
- package/positioning/bundles/ngx-bootstrap-positioning.umd.js +286 -13
- package/positioning/bundles/ngx-bootstrap-positioning.umd.js.map +1 -1
- package/positioning/bundles/ngx-bootstrap-positioning.umd.min.js +15 -1
- package/positioning/bundles/ngx-bootstrap-positioning.umd.min.js.map +1 -1
- package/positioning/esm2015/modifiers/arrow.js +19 -5
- package/positioning/esm2015/modifiers/initData.js +12 -2
- package/positioning/esm2015/modifiers/shift.js +6 -4
- package/positioning/esm5/modifiers/arrow.js +19 -5
- package/positioning/esm5/modifiers/initData.js +12 -2
- package/positioning/esm5/modifiers/shift.js +8 -6
- package/positioning/fesm2015/ngx-bootstrap-positioning.js +128 -8
- package/positioning/fesm2015/ngx-bootstrap-positioning.js.map +1 -1
- package/positioning/fesm5/ngx-bootstrap-positioning.js +132 -10
- package/positioning/fesm5/ngx-bootstrap-positioning.js.map +1 -1
- package/positioning/package.json +2 -2
- package/progressbar/bundles/ngx-bootstrap-progressbar.umd.js +77 -2
- package/progressbar/bundles/ngx-bootstrap-progressbar.umd.js.map +1 -1
- package/progressbar/bundles/ngx-bootstrap-progressbar.umd.min.js +1 -1
- package/progressbar/bundles/ngx-bootstrap-progressbar.umd.min.js.map +1 -1
- package/progressbar/fesm2015/ngx-bootstrap-progressbar.js +85 -0
- package/progressbar/fesm2015/ngx-bootstrap-progressbar.js.map +1 -1
- package/progressbar/fesm5/ngx-bootstrap-progressbar.js +85 -0
- package/progressbar/fesm5/ngx-bootstrap-progressbar.js.map +1 -1
- package/progressbar/package.json +2 -2
- package/rating/bundles/ngx-bootstrap-rating.umd.js +92 -7
- package/rating/bundles/ngx-bootstrap-rating.umd.js.map +1 -1
- package/rating/bundles/ngx-bootstrap-rating.umd.min.js +1 -1
- package/rating/bundles/ngx-bootstrap-rating.umd.min.js.map +1 -1
- package/rating/esm2015/ngx-bootstrap-rating.js +2 -2
- package/rating/esm2015/public_api.js +2 -1
- package/rating/esm2015/rating.component.js +14 -5
- package/rating/esm2015/rating.config.js +27 -0
- package/rating/esm2015/rating.module.js +3 -2
- package/rating/esm5/ngx-bootstrap-rating.js +2 -2
- package/rating/esm5/public_api.js +2 -1
- package/rating/esm5/rating.component.js +13 -5
- package/rating/esm5/rating.config.js +29 -0
- package/rating/esm5/rating.module.js +3 -2
- package/rating/fesm2015/ngx-bootstrap-rating.js +101 -7
- package/rating/fesm2015/ngx-bootstrap-rating.js.map +1 -1
- package/rating/fesm5/ngx-bootstrap-rating.js +101 -7
- package/rating/fesm5/ngx-bootstrap-rating.js.map +1 -1
- package/rating/ngx-bootstrap-rating.metadata.json +1 -1
- package/rating/package.json +2 -2
- package/rating/public_api.d.ts +1 -0
- package/rating/rating.component.d.ts +4 -1
- package/rating/rating.config.d.ts +5 -0
- package/sortable/bundles/ngx-bootstrap-sortable.umd.js +254 -2
- package/sortable/bundles/ngx-bootstrap-sortable.umd.js.map +1 -1
- package/sortable/bundles/ngx-bootstrap-sortable.umd.min.js +15 -1
- package/sortable/bundles/ngx-bootstrap-sortable.umd.min.js.map +1 -1
- package/sortable/fesm2015/ngx-bootstrap-sortable.js +113 -0
- package/sortable/fesm2015/ngx-bootstrap-sortable.js.map +1 -1
- package/sortable/fesm5/ngx-bootstrap-sortable.js +114 -1
- package/sortable/fesm5/ngx-bootstrap-sortable.js.map +1 -1
- package/sortable/package.json +2 -2
- package/tabs/bundles/ngx-bootstrap-tabs.umd.js +153 -4
- package/tabs/bundles/ngx-bootstrap-tabs.umd.js.map +1 -1
- package/tabs/bundles/ngx-bootstrap-tabs.umd.min.js +1 -1
- package/tabs/bundles/ngx-bootstrap-tabs.umd.min.js.map +1 -1
- package/tabs/esm2015/tab.directive.js +13 -2
- package/tabs/esm2015/tabset.component.js +7 -2
- package/tabs/esm2015/tabset.config.js +10 -1
- package/tabs/esm5/tab.directive.js +17 -2
- package/tabs/esm5/tabset.component.js +7 -2
- package/tabs/esm5/tabset.config.js +10 -1
- package/tabs/fesm2015/ngx-bootstrap-tabs.js +157 -2
- package/tabs/fesm2015/ngx-bootstrap-tabs.js.map +1 -1
- package/tabs/fesm5/ngx-bootstrap-tabs.js +162 -3
- package/tabs/fesm5/ngx-bootstrap-tabs.js.map +1 -1
- package/tabs/ngx-bootstrap-tabs.metadata.json +1 -1
- package/tabs/package.json +2 -2
- package/tabs/tab.directive.d.ts +2 -0
- package/tabs/tabset.component.d.ts +2 -0
- package/tabs/tabset.config.d.ts +2 -0
- package/timepicker/bundles/ngx-bootstrap-timepicker.umd.js +464 -8
- package/timepicker/bundles/ngx-bootstrap-timepicker.umd.js.map +1 -1
- package/timepicker/bundles/ngx-bootstrap-timepicker.umd.min.js +15 -1
- package/timepicker/bundles/ngx-bootstrap-timepicker.umd.min.js.map +1 -1
- package/timepicker/esm2015/timepicker.component.js +8 -2
- package/timepicker/esm2015/timepicker.config.js +28 -1
- package/timepicker/esm2015/timepicker.utils.js +9 -6
- package/timepicker/esm5/timepicker.component.js +8 -2
- package/timepicker/esm5/timepicker.config.js +28 -1
- package/timepicker/esm5/timepicker.utils.js +9 -6
- package/timepicker/fesm2015/ngx-bootstrap-timepicker.js +311 -6
- package/timepicker/fesm2015/ngx-bootstrap-timepicker.js.map +1 -1
- package/timepicker/fesm5/ngx-bootstrap-timepicker.js +315 -7
- package/timepicker/fesm5/ngx-bootstrap-timepicker.js.map +1 -1
- package/timepicker/ngx-bootstrap-timepicker.metadata.json +1 -1
- package/timepicker/package.json +2 -2
- package/timepicker/timepicker.component.d.ts +3 -0
- package/timepicker/timepicker.config.d.ts +6 -0
- package/tooltip/bundles/ngx-bootstrap-tooltip.umd.js +355 -8
- package/tooltip/bundles/ngx-bootstrap-tooltip.umd.js.map +1 -1
- package/tooltip/bundles/ngx-bootstrap-tooltip.umd.min.js +15 -1
- package/tooltip/bundles/ngx-bootstrap-tooltip.umd.min.js.map +1 -1
- package/tooltip/esm2015/tooltip.directive.js +47 -10
- package/tooltip/esm5/tooltip.directive.js +50 -10
- package/tooltip/fesm2015/ngx-bootstrap-tooltip.js +200 -7
- package/tooltip/fesm2015/ngx-bootstrap-tooltip.js.map +1 -1
- package/tooltip/fesm5/ngx-bootstrap-tooltip.js +203 -7
- package/tooltip/fesm5/ngx-bootstrap-tooltip.js.map +1 -1
- package/tooltip/ngx-bootstrap-tooltip.metadata.json +1 -1
- package/tooltip/package.json +2 -2
- package/tooltip/tooltip.directive.d.ts +3 -1
- package/typeahead/bundles/ngx-bootstrap-typeahead.umd.js +719 -43
- package/typeahead/bundles/ngx-bootstrap-typeahead.umd.js.map +1 -1
- package/typeahead/bundles/ngx-bootstrap-typeahead.umd.min.js +15 -1
- package/typeahead/bundles/ngx-bootstrap-typeahead.umd.min.js.map +1 -1
- package/typeahead/esm2015/models/index.js +87 -0
- package/typeahead/esm2015/ngx-bootstrap-typeahead.js +2 -2
- package/typeahead/esm2015/public_api.js +2 -1
- package/typeahead/esm2015/typeahead-container.component.js +52 -11
- package/typeahead/esm2015/typeahead-order.class.js +19 -0
- package/typeahead/esm2015/typeahead.config.js +10 -1
- package/typeahead/esm2015/typeahead.directive.js +133 -30
- package/typeahead/esm5/models/index.js +87 -0
- package/typeahead/esm5/ngx-bootstrap-typeahead.js +2 -2
- package/typeahead/esm5/public_api.js +2 -1
- package/typeahead/esm5/typeahead-container.component.js +59 -11
- package/typeahead/esm5/typeahead-order.class.js +23 -0
- package/typeahead/esm5/typeahead.config.js +10 -1
- package/typeahead/esm5/typeahead.directive.js +140 -36
- package/typeahead/fesm2015/ngx-bootstrap-typeahead.js +550 -37
- package/typeahead/fesm2015/ngx-bootstrap-typeahead.js.map +1 -1
- package/typeahead/fesm5/ngx-bootstrap-typeahead.js +567 -43
- package/typeahead/fesm5/ngx-bootstrap-typeahead.js.map +1 -1
- package/typeahead/models/index.d.ts +41 -0
- package/typeahead/ngx-bootstrap-typeahead.metadata.json +1 -1
- package/typeahead/package.json +2 -2
- package/typeahead/public_api.d.ts +2 -0
- package/typeahead/typeahead-container.component.d.ts +10 -5
- package/typeahead/typeahead-order.class.d.ts +6 -0
- package/typeahead/typeahead.config.d.ts +2 -0
- package/typeahead/typeahead.directive.d.ts +28 -10
- package/utils/bundles/ngx-bootstrap-utils.umd.js +54 -2
- package/utils/bundles/ngx-bootstrap-utils.umd.js.map +1 -1
- package/utils/bundles/ngx-bootstrap-utils.umd.min.js +2 -2
- package/utils/bundles/ngx-bootstrap-utils.umd.min.js.map +1 -1
- package/utils/fesm2015/ngx-bootstrap-utils.js +62 -0
- package/utils/fesm2015/ngx-bootstrap-utils.js.map +1 -1
- package/utils/fesm5/ngx-bootstrap-utils.js +62 -0
- package/utils/fesm5/ngx-bootstrap-utils.js.map +1 -1
- package/utils/package.json +2 -2
- package/bundles/ngx-bootstrap.umd.js +0 -1037
- package/bundles/ngx-bootstrap.umd.js.map +0 -1
- package/bundles/ngx-bootstrap.umd.min.js +0 -2
- package/bundles/ngx-bootstrap.umd.min.js.map +0 -1
- package/esm2015/ngx-bootstrap.js +0 -9
- package/esm2015/public_api.js +0 -30
- package/esm5/ngx-bootstrap.js +0 -9
- package/esm5/public_api.js +0 -30
- package/fesm2015/ngx-bootstrap.js +0 -24
- package/fesm2015/ngx-bootstrap.js.map +0 -1
- package/fesm5/ngx-bootstrap.js +0 -24
- package/fesm5/ngx-bootstrap.js.map +0 -1
- package/ngx-bootstrap.d.ts +0 -4
- package/ngx-bootstrap.metadata.json +0 -1
- package/public_api.d.ts +0 -25
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ngx-bootstrap-typeahead.js","sources":["ng://ngx-bootstrap/typeahead/latin-map.ts","ng://ngx-bootstrap/typeahead/typeahead-options.class.ts","ng://ngx-bootstrap/typeahead/typeahead-match.class.ts","ng://ngx-bootstrap/typeahead/typeahead-utils.ts","ng://ngx-bootstrap/typeahead/typeahead-animations.ts","ng://ngx-bootstrap/typeahead/typeahead-container.component.ts","ng://ngx-bootstrap/typeahead/typeahead.config.ts","ng://ngx-bootstrap/typeahead/typeahead.directive.ts","ng://ngx-bootstrap/typeahead/typeahead.module.ts"],"sourcesContent":["/* tslint:disable */\nexport const latinMap: { [key: string]: string } = {\n 'Ã': 'A',\n 'Ä': 'A',\n 'Ắ': 'A',\n 'Ặ': 'A',\n 'Ằ': 'A',\n 'Ẳ': 'A',\n 'Ẵ': 'A',\n 'Ç': 'A',\n 'Ã': 'A',\n 'Ấ': 'A',\n 'Ậ': 'A',\n 'Ầ': 'A',\n 'Ẩ': 'A',\n 'Ẫ': 'A',\n 'Ã': 'A',\n 'Ç': 'A',\n 'Ȧ': 'A',\n 'Ç ': 'A',\n 'Ạ': 'A',\n 'È': 'A',\n 'Ã': 'A',\n 'Ả': 'A',\n 'È': 'A',\n 'Ä': 'A',\n 'Ä': 'A',\n 'Ã
': 'A',\n 'Ǻ': 'A',\n 'á¸': 'A',\n 'Ⱥ': 'A',\n 'Ã': 'A',\n 'ê²': 'AA',\n 'Ã': 'AE',\n 'Ǽ': 'AE',\n 'Ç¢': 'AE',\n 'ê´': 'AO',\n 'ê¶': 'AU',\n 'ê¸': 'AV',\n 'êº': 'AV',\n 'ê¼': 'AY',\n 'á¸': 'B',\n 'á¸': 'B',\n 'Æ': 'B',\n 'á¸': 'B',\n 'É': 'B',\n 'Æ': 'B',\n 'Ä': 'C',\n 'Ä': 'C',\n 'Ã': 'C',\n 'á¸': 'C',\n 'Ä': 'C',\n 'Ä': 'C',\n 'Æ': 'C',\n 'È»': 'C',\n 'Ä': 'D',\n 'á¸': 'D',\n 'á¸': 'D',\n 'á¸': 'D',\n 'á¸': 'D',\n 'Æ': 'D',\n 'á¸': 'D',\n 'Dz': 'D',\n 'Ç
': 'D',\n 'Ä': 'D',\n 'Æ': 'D',\n 'DZ': 'DZ',\n 'Ç': 'DZ',\n 'Ã': 'E',\n 'Ä': 'E',\n 'Ä': 'E',\n 'Ȩ': 'E',\n 'á¸': 'E',\n 'Ã': 'E',\n 'Ế': 'E',\n 'á»': 'E',\n 'á»': 'E',\n 'á»': 'E',\n 'á»': 'E',\n 'á¸': 'E',\n 'Ã': 'E',\n 'Ä': 'E',\n 'Ẹ': 'E',\n 'È': 'E',\n 'Ã': 'E',\n 'Ẻ': 'E',\n 'È': 'E',\n 'Ä': 'E',\n 'á¸': 'E',\n 'á¸': 'E',\n 'Ä': 'E',\n 'É': 'E',\n 'Ẽ': 'E',\n 'á¸': 'E',\n 'êª': 'ET',\n 'á¸': 'F',\n 'Æ': 'F',\n 'Ç´': 'G',\n 'Ä': 'G',\n 'Ǧ': 'G',\n 'Ä¢': 'G',\n 'Ä': 'G',\n 'Ä ': 'G',\n 'Æ': 'G',\n 'Ḡ': 'G',\n 'Ǥ': 'G',\n 'Ḫ': 'H',\n 'È': 'H',\n 'Ḩ': 'H',\n 'Ĥ': 'H',\n 'â±§': 'H',\n 'Ḧ': 'H',\n 'Ḣ': 'H',\n 'Ḥ': 'H',\n 'Ħ': 'H',\n 'Ã': 'I',\n 'Ĭ': 'I',\n 'Ç': 'I',\n 'Ã': 'I',\n 'Ã': 'I',\n 'Ḯ': 'I',\n 'İ': 'I',\n 'á»': 'I',\n 'È': 'I',\n 'Ã': 'I',\n 'á»': 'I',\n 'È': 'I',\n 'Ī': 'I',\n 'Ä®': 'I',\n 'Æ': 'I',\n 'Ĩ': 'I',\n 'Ḭ': 'I',\n 'ê¹': 'D',\n 'ê»': 'F',\n 'ê½': 'G',\n 'ê': 'R',\n 'ê': 'S',\n 'ê': 'T',\n 'ê¬': 'IS',\n 'Ä´': 'J',\n 'É': 'J',\n 'Ḱ': 'K',\n 'Ǩ': 'K',\n 'Ķ': 'K',\n 'Ⱪ': 'K',\n 'ê': 'K',\n 'Ḳ': 'K',\n 'Æ': 'K',\n 'Ḵ': 'K',\n 'ê': 'K',\n 'ê': 'K',\n 'Ĺ': 'L',\n 'Ƚ': 'L',\n 'Ľ': 'L',\n 'Ä»': 'L',\n 'Ḽ': 'L',\n 'Ḷ': 'L',\n 'Ḹ': 'L',\n 'â± ': 'L',\n 'ê': 'L',\n 'Ḻ': 'L',\n 'Ä¿': 'L',\n 'â±¢': 'L',\n 'Ç': 'L',\n 'Å': 'L',\n 'Ç': 'LJ',\n 'Ḿ': 'M',\n 'á¹': 'M',\n 'á¹': 'M',\n 'â±®': 'M',\n 'Å': 'N',\n 'Å': 'N',\n 'Å
': 'N',\n 'á¹': 'N',\n 'á¹': 'N',\n 'á¹': 'N',\n 'Ǹ': 'N',\n 'Æ': 'N',\n 'á¹': 'N',\n 'È ': 'N',\n 'Ç': 'N',\n 'Ã': 'N',\n 'Ç': 'NJ',\n 'Ã': 'O',\n 'Å': 'O',\n 'Ç': 'O',\n 'Ã': 'O',\n 'á»': 'O',\n 'á»': 'O',\n 'á»': 'O',\n 'á»': 'O',\n 'á»': 'O',\n 'Ã': 'O',\n 'Ȫ': 'O',\n 'È®': 'O',\n 'Ȱ': 'O',\n 'á»': 'O',\n 'Å': 'O',\n 'È': 'O',\n 'Ã': 'O',\n 'á»': 'O',\n 'Æ ': 'O',\n 'á»': 'O',\n 'Ợ': 'O',\n 'á»': 'O',\n 'á»': 'O',\n 'á» ': 'O',\n 'È': 'O',\n 'ê': 'O',\n 'ê': 'O',\n 'Å': 'O',\n 'á¹': 'O',\n 'á¹': 'O',\n 'Æ': 'O',\n 'Ǫ': 'O',\n 'Ǭ': 'O',\n 'Ã': 'O',\n 'Ǿ': 'O',\n 'Ã': 'O',\n 'á¹': 'O',\n 'á¹': 'O',\n 'Ȭ': 'O',\n 'Æ¢': 'OI',\n 'ê': 'OO',\n 'Æ': 'E',\n 'Æ': 'O',\n 'È¢': 'OU',\n 'á¹': 'P',\n 'á¹': 'P',\n 'ê': 'P',\n 'Ƥ': 'P',\n 'ê': 'P',\n 'â±£': 'P',\n 'ê': 'P',\n 'ê': 'Q',\n 'ê': 'Q',\n 'Å': 'R',\n 'Å': 'R',\n 'Å': 'R',\n 'á¹': 'R',\n 'á¹': 'R',\n 'á¹': 'R',\n 'È': 'R',\n 'È': 'R',\n 'á¹': 'R',\n 'É': 'R',\n 'Ɽ': 'R',\n 'ê¾': 'C',\n 'Æ': 'E',\n 'Å': 'S',\n 'Ṥ': 'S',\n 'Å ': 'S',\n 'Ṧ': 'S',\n 'Å': 'S',\n 'Å': 'S',\n 'È': 'S',\n 'á¹ ': 'S',\n 'á¹¢': 'S',\n 'Ṩ': 'S',\n 'Ť': 'T',\n 'Å¢': 'T',\n 'á¹°': 'T',\n 'È': 'T',\n 'Ⱦ': 'T',\n 'Ṫ': 'T',\n 'Ṭ': 'T',\n 'Ƭ': 'T',\n 'á¹®': 'T',\n 'Æ®': 'T',\n 'Ŧ': 'T',\n 'Ɐ': 'A',\n 'ê': 'L',\n 'Æ': 'M',\n 'É
': 'V',\n 'ê¨': 'TZ',\n 'Ã': 'U',\n 'Ŭ': 'U',\n 'Ç': 'U',\n 'Ã': 'U',\n 'á¹¶': 'U',\n 'Ã': 'U',\n 'Ç': 'U',\n 'Ç': 'U',\n 'Ç': 'U',\n 'Ç': 'U',\n 'á¹²': 'U',\n 'Ụ': 'U',\n 'Ű': 'U',\n 'È': 'U',\n 'Ã': 'U',\n 'Ủ': 'U',\n 'Ư': 'U',\n 'Ứ': 'U',\n 'á»°': 'U',\n 'Ừ': 'U',\n 'Ử': 'U',\n 'á»®': 'U',\n 'È': 'U',\n 'Ū': 'U',\n 'Ṻ': 'U',\n 'Ų': 'U',\n 'Å®': 'U',\n 'Ũ': 'U',\n 'Ṹ': 'U',\n 'á¹´': 'U',\n 'ê': 'V',\n 'á¹¾': 'V',\n 'Ʋ': 'V',\n 'á¹¼': 'V',\n 'ê ': 'VY',\n 'áº': 'W',\n 'Å´': 'W',\n 'áº': 'W',\n 'áº': 'W',\n 'áº': 'W',\n 'áº': 'W',\n 'â±²': 'W',\n 'áº': 'X',\n 'áº': 'X',\n 'Ã': 'Y',\n 'Ŷ': 'Y',\n 'Ÿ': 'Y',\n 'áº': 'Y',\n 'á»´': 'Y',\n 'Ỳ': 'Y',\n 'Ƴ': 'Y',\n 'á»¶': 'Y',\n 'Ỿ': 'Y',\n 'Ȳ': 'Y',\n 'É': 'Y',\n 'Ỹ': 'Y',\n 'Ź': 'Z',\n 'Ž': 'Z',\n 'áº': 'Z',\n 'Ⱬ': 'Z',\n 'Å»': 'Z',\n 'áº': 'Z',\n 'Ȥ': 'Z',\n 'áº': 'Z',\n 'Ƶ': 'Z',\n 'IJ': 'IJ',\n 'Å': 'OE',\n 'á´': 'A',\n 'á´': 'AE',\n 'Ê': 'B',\n 'á´': 'B',\n 'á´': 'C',\n 'á´
': 'D',\n 'á´': 'E',\n 'ê°': 'F',\n 'É¢': 'G',\n 'Ê': 'G',\n 'Ê': 'H',\n 'ɪ': 'I',\n 'Ê': 'R',\n 'á´': 'J',\n 'á´': 'K',\n 'Ê': 'L',\n 'á´': 'L',\n 'á´': 'M',\n 'É´': 'N',\n 'á´': 'O',\n 'ɶ': 'OE',\n 'á´': 'O',\n 'á´': 'OU',\n 'á´': 'P',\n 'Ê': 'R',\n 'á´': 'N',\n 'á´': 'R',\n 'ê±': 'S',\n 'á´': 'T',\n 'â±»': 'E',\n 'á´': 'R',\n 'á´': 'U',\n 'á´ ': 'V',\n 'á´¡': 'W',\n 'Ê': 'Y',\n 'á´¢': 'Z',\n 'á': 'a',\n 'Ä': 'a',\n 'ắ': 'a',\n 'ặ': 'a',\n 'ằ': 'a',\n 'ẳ': 'a',\n 'ẵ': 'a',\n 'Ç': 'a',\n 'â': 'a',\n 'ấ': 'a',\n 'áº': 'a',\n 'ầ': 'a',\n 'ẩ': 'a',\n 'ẫ': 'a',\n 'ä': 'a',\n 'Ç': 'a',\n 'ȧ': 'a',\n 'Ç¡': 'a',\n 'ạ': 'a',\n 'È': 'a',\n 'à ': 'a',\n 'ả': 'a',\n 'È': 'a',\n 'Ä': 'a',\n 'Ä
': 'a',\n 'á¶': 'a',\n 'áº': 'a',\n 'Ã¥': 'a',\n 'Ç»': 'a',\n 'á¸': 'a',\n 'â±¥': 'a',\n 'ã': 'a',\n 'ê³': 'aa',\n 'æ': 'ae',\n 'ǽ': 'ae',\n 'Ç£': 'ae',\n 'êµ': 'ao',\n 'ê·': 'au',\n 'ê¹': 'av',\n 'ê»': 'av',\n 'ê½': 'ay',\n 'á¸': 'b',\n 'á¸
': 'b',\n 'É': 'b',\n 'á¸': 'b',\n 'ᵬ': 'b',\n 'á¶': 'b',\n 'Æ': 'b',\n 'Æ': 'b',\n 'ɵ': 'o',\n 'Ä': 'c',\n 'Ä': 'c',\n 'ç': 'c',\n 'á¸': 'c',\n 'Ä': 'c',\n 'É': 'c',\n 'Ä': 'c',\n 'Æ': 'c',\n 'ȼ': 'c',\n 'Ä': 'd',\n 'á¸': 'd',\n 'á¸': 'd',\n 'È¡': 'd',\n 'á¸': 'd',\n 'á¸': 'd',\n 'É': 'd',\n 'á¶': 'd',\n 'á¸': 'd',\n 'áµ': 'd',\n 'á¶': 'd',\n 'Ä': 'd',\n 'É': 'd',\n 'Æ': 'd',\n 'ı': 'i',\n 'È·': 'j',\n 'É': 'j',\n 'Ê': 'j',\n 'dz': 'dz',\n 'Ç': 'dz',\n 'é': 'e',\n 'Ä': 'e',\n 'Ä': 'e',\n 'È©': 'e',\n 'á¸': 'e',\n 'ê': 'e',\n 'ế': 'e',\n 'á»': 'e',\n 'á»': 'e',\n 'á»': 'e',\n 'á»
': 'e',\n 'á¸': 'e',\n 'ë': 'e',\n 'Ä': 'e',\n 'ẹ': 'e',\n 'È
': 'e',\n 'è': 'e',\n 'ẻ': 'e',\n 'È': 'e',\n 'Ä': 'e',\n 'á¸': 'e',\n 'á¸': 'e',\n 'ⱸ': 'e',\n 'Ä': 'e',\n 'á¶': 'e',\n 'É': 'e',\n 'ẽ': 'e',\n 'á¸': 'e',\n 'ê«': 'et',\n 'á¸': 'f',\n 'Æ': 'f',\n 'áµ®': 'f',\n 'á¶': 'f',\n 'ǵ': 'g',\n 'Ä': 'g',\n 'ǧ': 'g',\n 'Ä£': 'g',\n 'Ä': 'g',\n 'Ä¡': 'g',\n 'É ': 'g',\n 'ḡ': 'g',\n 'á¶': 'g',\n 'Ç¥': 'g',\n 'ḫ': 'h',\n 'È': 'h',\n 'ḩ': 'h',\n 'Ä¥': 'h',\n 'ⱨ': 'h',\n 'ḧ': 'h',\n 'ḣ': 'h',\n 'ḥ': 'h',\n 'ɦ': 'h',\n 'áº': 'h',\n 'ħ': 'h',\n 'Æ': 'hv',\n 'Ã': 'i',\n 'Ä': 'i',\n 'Ç': 'i',\n 'î': 'i',\n 'ï': 'i',\n 'ḯ': 'i',\n 'á»': 'i',\n 'È': 'i',\n 'ì': 'i',\n 'á»': 'i',\n 'È': 'i',\n 'Ä«': 'i',\n 'į': 'i',\n 'á¶': 'i',\n 'ɨ': 'i',\n 'Ä©': 'i',\n 'á¸': 'i',\n 'êº': 'd',\n 'ê¼': 'f',\n 'áµ¹': 'g',\n 'ê': 'r',\n 'ê
': 's',\n 'ê': 't',\n 'ê': 'is',\n 'ǰ': 'j',\n 'ĵ': 'j',\n 'Ê': 'j',\n 'É': 'j',\n 'ḱ': 'k',\n 'Ç©': 'k',\n 'Ä·': 'k',\n 'ⱪ': 'k',\n 'ê': 'k',\n 'ḳ': 'k',\n 'Æ': 'k',\n 'ḵ': 'k',\n 'á¶': 'k',\n 'ê': 'k',\n 'ê
': 'k',\n 'ĺ': 'l',\n 'Æ': 'l',\n 'ɬ': 'l',\n 'ľ': 'l',\n 'ļ': 'l',\n 'ḽ': 'l',\n 'È´': 'l',\n 'ḷ': 'l',\n 'ḹ': 'l',\n 'ⱡ': 'l',\n 'ê': 'l',\n 'ḻ': 'l',\n 'Å': 'l',\n 'É«': 'l',\n 'á¶
': 'l',\n 'É': 'l',\n 'Å': 'l',\n 'Ç': 'lj',\n 'Å¿': 's',\n 'áº': 's',\n 'áº': 's',\n 'áº': 's',\n 'ḿ': 'm',\n 'á¹': 'm',\n 'á¹': 'm',\n 'ɱ': 'm',\n 'ᵯ': 'm',\n 'á¶': 'm',\n 'Å': 'n',\n 'Å': 'n',\n 'Å': 'n',\n 'á¹': 'n',\n 'ȵ': 'n',\n 'á¹
': 'n',\n 'á¹': 'n',\n 'ǹ': 'n',\n 'ɲ': 'n',\n 'á¹': 'n',\n 'Æ': 'n',\n 'áµ°': 'n',\n 'á¶': 'n',\n 'ɳ': 'n',\n 'ñ': 'n',\n 'Ç': 'nj',\n 'ó': 'o',\n 'Å': 'o',\n 'Ç': 'o',\n 'ô': 'o',\n 'á»': 'o',\n 'á»': 'o',\n 'á»': 'o',\n 'á»': 'o',\n 'á»': 'o',\n 'ö': 'o',\n 'È«': 'o',\n 'ȯ': 'o',\n 'ȱ': 'o',\n 'á»': 'o',\n 'Å': 'o',\n 'È': 'o',\n 'ò': 'o',\n 'á»': 'o',\n 'Æ¡': 'o',\n 'á»': 'o',\n 'ợ': 'o',\n 'á»': 'o',\n 'á»': 'o',\n 'ỡ': 'o',\n 'È': 'o',\n 'ê': 'o',\n 'ê': 'o',\n 'ⱺ': 'o',\n 'Å': 'o',\n 'á¹': 'o',\n 'á¹': 'o',\n 'Ç«': 'o',\n 'Ç': 'o',\n 'ø': 'o',\n 'Ç¿': 'o',\n 'õ': 'o',\n 'á¹': 'o',\n 'á¹': 'o',\n 'È': 'o',\n 'Æ£': 'oi',\n 'ê': 'oo',\n 'É': 'e',\n 'á¶': 'e',\n 'É': 'o',\n 'á¶': 'o',\n 'È£': 'ou',\n 'á¹': 'p',\n 'á¹': 'p',\n 'ê': 'p',\n 'Æ¥': 'p',\n 'áµ±': 'p',\n 'á¶': 'p',\n 'ê': 'p',\n 'áµ½': 'p',\n 'ê': 'p',\n 'ê': 'q',\n 'Ê ': 'q',\n 'É': 'q',\n 'ê': 'q',\n 'Å': 'r',\n 'Å': 'r',\n 'Å': 'r',\n 'á¹': 'r',\n 'á¹': 'r',\n 'á¹': 'r',\n 'È': 'r',\n 'ɾ': 'r',\n 'áµ³': 'r',\n 'È': 'r',\n 'á¹': 'r',\n 'ɼ': 'r',\n 'áµ²': 'r',\n 'á¶': 'r',\n 'É': 'r',\n 'ɽ': 'r',\n 'â': 'c',\n 'ê¿': 'c',\n 'É': 'e',\n 'É¿': 'r',\n 'Å': 's',\n 'á¹¥': 's',\n 'Å¡': 's',\n 'á¹§': 's',\n 'Å': 's',\n 'Å': 's',\n 'È': 's',\n 'ṡ': 's',\n 'á¹£': 's',\n 'ṩ': 's',\n 'Ê': 's',\n 'áµ´': 's',\n 'á¶': 's',\n 'È¿': 's',\n 'É¡': 'g',\n 'á´': 'o',\n 'á´': 'o',\n 'á´': 'u',\n 'Å¥': 't',\n 'Å£': 't',\n 'á¹±': 't',\n 'È': 't',\n 'ȶ': 't',\n 'áº': 't',\n 'ⱦ': 't',\n 'ṫ': 't',\n 'á¹': 't',\n 'Æ': 't',\n 'ṯ': 't',\n 'áµµ': 't',\n 'Æ«': 't',\n 'Ê': 't',\n 'ŧ': 't',\n 'ᵺ': 'th',\n 'É': 'a',\n 'á´': 'ae',\n 'Ç': 'e',\n 'áµ·': 'g',\n 'É¥': 'h',\n 'Ê®': 'h',\n 'ʯ': 'h',\n 'á´': 'i',\n 'Ê': 'k',\n 'ê': 'l',\n 'ɯ': 'm',\n 'ɰ': 'm',\n 'á´': 'oe',\n 'ɹ': 'r',\n 'É»': 'r',\n 'ɺ': 'r',\n 'â±¹': 'r',\n 'Ê': 't',\n 'Ê': 'v',\n 'Ê': 'w',\n 'Ê': 'y',\n 'ê©': 'tz',\n 'ú': 'u',\n 'Å': 'u',\n 'Ç': 'u',\n 'û': 'u',\n 'á¹·': 'u',\n 'ü': 'u',\n 'Ç': 'u',\n 'Ç': 'u',\n 'Ç': 'u',\n 'Ç': 'u',\n 'á¹³': 'u',\n 'ụ': 'u',\n 'ű': 'u',\n 'È': 'u',\n 'ù': 'u',\n 'á»§': 'u',\n 'ư': 'u',\n 'ứ': 'u',\n 'á»±': 'u',\n 'ừ': 'u',\n 'á»': 'u',\n 'ữ': 'u',\n 'È': 'u',\n 'Å«': 'u',\n 'á¹»': 'u',\n 'ų': 'u',\n 'á¶': 'u',\n 'ů': 'u',\n 'Å©': 'u',\n 'á¹¹': 'u',\n 'á¹µ': 'u',\n 'ᵫ': 'ue',\n 'ê¸': 'um',\n 'â±´': 'v',\n 'ê': 'v',\n 'ṿ': 'v',\n 'Ê': 'v',\n 'á¶': 'v',\n 'â±±': 'v',\n 'á¹½': 'v',\n 'ê¡': 'vy',\n 'áº': 'w',\n 'ŵ': 'w',\n 'áº
': 'w',\n 'áº': 'w',\n 'áº': 'w',\n 'áº': 'w',\n 'â±³': 'w',\n 'áº': 'w',\n 'áº': 'x',\n 'áº': 'x',\n 'á¶': 'x',\n 'ý': 'y',\n 'Å·': 'y',\n 'ÿ': 'y',\n 'áº': 'y',\n 'ỵ': 'y',\n 'ỳ': 'y',\n 'Æ´': 'y',\n 'á»·': 'y',\n 'ỿ': 'y',\n 'ȳ': 'y',\n 'áº': 'y',\n 'É': 'y',\n 'ỹ': 'y',\n 'ź': 'z',\n 'ž': 'z',\n 'áº': 'z',\n 'Ê': 'z',\n 'ⱬ': 'z',\n 'ż': 'z',\n 'áº': 'z',\n 'È¥': 'z',\n 'áº': 'z',\n 'áµ¶': 'z',\n 'á¶': 'z',\n 'Ê': 'z',\n 'ƶ': 'z',\n 'É': 'z',\n 'ï¬': 'ff',\n 'ï¬': 'ffi',\n 'ï¬': 'ffl',\n 'ï¬': 'fi',\n 'ï¬': 'fl',\n 'ij': 'ij',\n 'Å': 'oe',\n 'ï¬': 'st',\n 'â': 'a',\n 'â': 'e',\n 'áµ¢': 'i',\n 'â±¼': 'j',\n 'â': 'o',\n 'áµ£': 'r',\n 'ᵤ': 'u',\n 'áµ¥': 'v',\n 'â': 'x'\n};\n","import { TypeaheadDirective } from './typeahead.directive';\n\nexport class TypeaheadOptions {\n placement: string;\n animation: boolean;\n typeaheadRef: TypeaheadDirective;\n\n constructor(options: TypeaheadOptions) {\n Object.assign(this, options);\n }\n}\n","export class TypeaheadMatch {\n readonly value: string;\n\n// tslint:disable-next-line:no-any\n readonly item: any;\n protected header: boolean;\n\n// tslint:disable-next-line:no-any\n constructor(item: any, value: string = item, header = false) {\n this.item = item;\n this.value = value;\n this.header = header;\n }\n\n isHeader(): boolean {\n return this.header;\n }\n\n toString(): string {\n return this.value;\n }\n}\n","import { latinMap } from './latin-map';\n\nexport function latinize(str: string): string {\n if (!str) {\n return '';\n }\n\n return str.replace(/[^A-Za-z0-9\\[\\] ]/g, function (a: string): string {\n return latinMap[a] || a;\n });\n}\n\nexport function escapeRegexp(queryToEscape: string): string {\n // Regex: capture the whole query string and replace it with the string\n // that will be used to match the results, for example if the capture is\n // 'a' the result will be \\a\n return queryToEscape.replace(/([.?*+^$[\\]\\\\(){}|-])/g, '\\\\$1');\n}\n\n/* tslint:disable */\nexport function tokenize(str: string,\n wordRegexDelimiters = ' ',\n phraseRegexDelimiters = ''): Array<string> {\n /* tslint:enable */\n const regexStr = `(?:[${phraseRegexDelimiters}])([^${phraseRegexDelimiters}]+)` +\n `(?:[${phraseRegexDelimiters}])|([^${wordRegexDelimiters}]+)`;\n const preTokenized: string[] = str.split(new RegExp(regexStr, 'g'));\n const result: string[] = [];\n const preTokenizedLength: number = preTokenized.length;\n let token: string;\n const replacePhraseDelimiters = new RegExp(`[${phraseRegexDelimiters}]+`, 'g');\n\n for (let i = 0; i < preTokenizedLength; i += 1) {\n token = preTokenized[i];\n if (token && token.length && token !== wordRegexDelimiters) {\n result.push(token.replace(replacePhraseDelimiters, ''));\n }\n }\n\n return result;\n}\n\n// tslint:disable-next-line:no-any\nexport function getValueFromObject(object: any, option: string): string {\n if (!option || typeof object !== 'object') {\n return object.toString();\n }\n\n if (option.endsWith('()')) {\n const functionName = option.slice(0, option.length - 2);\n\n return object[functionName]().toString();\n }\n\n const properties: string = option\n .replace(/\\[(\\w+)\\]/g, '.$1')\n .replace(/^\\./, '');\n const propertiesArray: string[] = properties.split('.');\n\n for (const property of propertiesArray) {\n if (property in object) {\n // tslint:disable-next-line\n object = object[property];\n }\n }\n if (!object) {return ''; }\n\n return object.toString();\n}\n","import {\n animate,\n style,\n AnimationTriggerMetadata,\n state,\n transition,\n trigger\n} from '@angular/animations';\n\nexport const TYPEAHEAD_ANIMATION_TIMING = '220ms cubic-bezier(0, 0, 0.2, 1)';\n\nexport const typeaheadAnimation: AnimationTriggerMetadata =\n trigger('typeaheadAnimation', [\n state('animated-down', style({ height: '*', overflow: 'hidden'})),\n transition('* => animated-down', [\n style({ height: 0, overflow: 'hidden' }),\n animate(TYPEAHEAD_ANIMATION_TIMING)\n ]),\n state('animated-up', style({ height: '*', overflow: 'hidden'})),\n transition('* => animated-up', [\n style({ height: '*', overflow: 'hidden' }),\n animate(TYPEAHEAD_ANIMATION_TIMING)\n ]),\n transition('* => unanimated', animate('0s'))\n ]);\n","// tslint:disable:max-file-line-count max-line-length\nimport {\n ChangeDetectorRef,\n Component,\n ElementRef,\n HostListener,\n OnDestroy,\n QueryList,\n Renderer2,\n TemplateRef,\n ViewChild,\n ViewChildren\n} from '@angular/core';\n\nimport { isBs3, Utils } from 'ngx-bootstrap/utils';\nimport { PositioningService } from 'ngx-bootstrap/positioning';\n\nimport { latinize } from './typeahead-utils';\nimport { TypeaheadMatch } from './typeahead-match.class';\nimport { TypeaheadDirective } from './typeahead.directive';\nimport { typeaheadAnimation } from './typeahead-animations';\nimport { Subscription } from 'rxjs';\n\n@Component({\n selector: 'typeahead-container',\n templateUrl: './typeahead-container.component.html',\n host: {\n class: 'dropdown open bottom',\n '[class.dropdown-menu]': 'isBs4',\n '[style.height]': `isBs4 && needScrollbar ? guiHeight: 'auto'`,\n '[style.visibility]': 'hidden',\n '[class.dropup]': 'dropup',\n style: 'position: absolute;display: block;'\n },\n styles: [\n `\n :host.dropdown {\n z-index: 1000;\n }\n\n :host.dropdown-menu, .dropdown-menu {\n overflow-y: auto;\n height: 100px;\n }\n `\n ],\n animations: [typeaheadAnimation]\n})\nexport class TypeaheadContainerComponent implements OnDestroy {\n parent: TypeaheadDirective;\n query: string[] | string;\n isFocused = false;\n top: string;\n left: string;\n display: string;\n placement: string;\n dropup: boolean;\n guiHeight: string;\n needScrollbar: boolean;\n animationState: string;\n positionServiceSubscription: Subscription;\n height = 0;\n\n get isBs4(): boolean {\n return !isBs3();\n }\n\n protected _active: TypeaheadMatch;\n protected _matches: TypeaheadMatch[] = [];\n\n @ViewChild('ulElement', { static: false })\n private ulElement: ElementRef;\n\n @ViewChildren('liElements')\n private liElements: QueryList<ElementRef>;\n\n constructor(\n private positionService: PositioningService,\n private renderer: Renderer2,\n public element: ElementRef,\n private changeDetectorRef: ChangeDetectorRef\n ) {\n this.positionServiceSubscription = this.positionService.event$.subscribe(\n () => {\n if (this.isAnimated) {\n this.animationState = this.isTopPosition ? 'animated-up' : 'animated-down';\n this.changeDetectorRef.detectChanges();\n\n return;\n }\n\n this.animationState = 'unanimated';\n this.changeDetectorRef.detectChanges();\n }\n );\n }\n\n get active(): TypeaheadMatch {\n return this._active;\n }\n\n get matches(): TypeaheadMatch[] {\n return this._matches;\n }\n\n set matches(value: TypeaheadMatch[]) {\n this.positionService.setOptions({\n modifiers: { flip: { enabled: this.adaptivePosition } },\n allowedPositions: ['top', 'bottom']\n });\n\n this._matches = value;\n\n this.needScrollbar = this.typeaheadScrollable && this.typeaheadOptionsInScrollableView < this.matches.length;\n\n if (this.typeaheadScrollable) {\n setTimeout(() => {\n this.setScrollableMode();\n });\n }\n\n if (this.typeaheadIsFirstItemActive && this._matches.length > 0) {\n this._active = this._matches[0];\n\n if (this._active.isHeader()) {\n this.nextActiveMatch();\n }\n }\n\n if (this._active && !this.typeaheadIsFirstItemActive) {\n const concurrency = this._matches.find(match => match.value === this._active.value);\n\n if (concurrency) {\n this.selectActive(concurrency);\n\n return;\n }\n\n this._active = null;\n }\n }\n\n get isTopPosition(): boolean {\n return this.element.nativeElement.classList.contains('top');\n }\n\n // tslint:disable-next-line:no-any\n get optionsListTemplate(): TemplateRef<any> {\n return this.parent ? this.parent.optionsListTemplate : undefined;\n }\n\n get isAnimated(): boolean {\n return this.parent ? this.parent.isAnimated : false;\n }\n\n get adaptivePosition(): boolean {\n return this.parent ? this.parent.adaptivePosition : false;\n }\n\n get typeaheadScrollable(): boolean {\n return this.parent ? this.parent.typeaheadScrollable : false;\n }\n\n get typeaheadOptionsInScrollableView(): number {\n return this.parent ? this.parent.typeaheadOptionsInScrollableView : 5;\n }\n\n get typeaheadIsFirstItemActive(): boolean {\n return this.parent ? this.parent.typeaheadIsFirstItemActive : true;\n }\n// tslint:disable-next-line:no-any\n get itemTemplate(): TemplateRef<any> {\n return this.parent ? this.parent.typeaheadItemTemplate : undefined;\n }\n\n selectActiveMatch(isActiveItemChanged?: boolean): void {\n if (this._active && this.parent.typeaheadSelectFirstItem) {\n this.selectMatch(this._active);\n }\n\n if (!this.parent.typeaheadSelectFirstItem && isActiveItemChanged) {\n this.selectMatch(this._active);\n }\n }\n\n prevActiveMatch(): void {\n const index = this.matches.indexOf(this._active);\n\n this._active = this.matches[\n index - 1 < 0 ? this.matches.length - 1 : index - 1\n ];\n\n if (this._active.isHeader()) {\n this.prevActiveMatch();\n }\n\n if (this.typeaheadScrollable) {\n this.scrollPrevious(index);\n }\n }\n\n nextActiveMatch(): void {\n const index = this.matches.indexOf(this._active);\n\n this._active = this.matches[\n index + 1 > this.matches.length - 1 ? 0 : index + 1\n ];\n\n if (this._active.isHeader()) {\n this.nextActiveMatch();\n }\n\n if (this.typeaheadScrollable) {\n this.scrollNext(index);\n }\n }\n\n selectActive(value: TypeaheadMatch): void {\n this.isFocused = true;\n this._active = value;\n }\n\n highlight(match: TypeaheadMatch, query: string[] | string): string {\n let itemStr: string = match.value;\n let itemStrHelper: string = (this.parent && this.parent.typeaheadLatinize\n ? latinize(itemStr)\n : itemStr).toLowerCase();\n let startIdx: number;\n let tokenLen: number;\n // Replaces the capture string with the same string inside of a \"strong\" tag\n if (typeof query === 'object') {\n const queryLen: number = query.length;\n for (let i = 0; i < queryLen; i += 1) {\n // query[i] is already latinized and lower case\n startIdx = itemStrHelper.indexOf(query[i]);\n tokenLen = query[i].length;\n if (startIdx >= 0 && tokenLen > 0) {\n itemStr =\n `${itemStr.substring(0, startIdx)}<strong>${itemStr.substring(startIdx, startIdx + tokenLen)}</strong>` +\n `${itemStr.substring(startIdx + tokenLen)}`;\n itemStrHelper =\n `${itemStrHelper.substring(0, startIdx)} ${' '.repeat(tokenLen)} ` +\n `${itemStrHelper.substring(startIdx + tokenLen)}`;\n }\n }\n } else if (query) {\n // query is already latinized and lower case\n startIdx = itemStrHelper.indexOf(query);\n tokenLen = query.length;\n if (startIdx >= 0 && tokenLen > 0) {\n itemStr =\n `${itemStr.substring(0, startIdx)}<strong>${itemStr.substring(startIdx, startIdx + tokenLen)}</strong>` +\n `${itemStr.substring(startIdx + tokenLen)}`;\n }\n }\n\n return itemStr;\n }\n\n @HostListener('mouseleave')\n @HostListener('blur')\n focusLost(): void {\n this.isFocused = false;\n }\n\n isActive(value: TypeaheadMatch): boolean {\n return this._active === value;\n }\n\n selectMatch(value: TypeaheadMatch, e: Event = void 0): boolean {\n if (e) {\n e.stopPropagation();\n e.preventDefault();\n }\n this.parent.changeModel(value);\n setTimeout(() => this.parent.typeaheadOnSelect.emit(value), 0);\n\n return false;\n }\n\n setScrollableMode(): void {\n if (!this.ulElement) {\n this.ulElement = this.element;\n }\n\n if (this.liElements.first) {\n const ulStyles = Utils.getStyles(this.ulElement.nativeElement);\n const liStyles = Utils.getStyles(this.liElements.first.nativeElement);\n const ulPaddingBottom = parseFloat((ulStyles['padding-bottom'] ? ulStyles['padding-bottom'] : '')\n .replace('px', ''));\n const ulPaddingTop = parseFloat((ulStyles['padding-top'] ? ulStyles['padding-top'] : '0')\n .replace('px', ''));\n const optionHeight = parseFloat((liStyles.height ? liStyles.height : '0')\n .replace('px', ''));\n const height = this.typeaheadOptionsInScrollableView * optionHeight;\n this.guiHeight = `${height + ulPaddingTop + ulPaddingBottom}px`;\n }\n\n this.renderer.setStyle(this.element.nativeElement, 'visibility', 'visible');\n }\n\n scrollPrevious(index: number): void {\n if (index === 0) {\n this.scrollToBottom();\n\n return;\n }\n if (this.liElements) {\n const liElement = this.liElements.toArray()[index - 1];\n if (liElement && !this.isScrolledIntoView(liElement.nativeElement)) {\n this.ulElement.nativeElement.scrollTop = liElement.nativeElement.offsetTop;\n }\n }\n }\n\n scrollNext(index: number): void {\n if (index + 1 > this.matches.length - 1) {\n this.scrollToTop();\n\n return;\n }\n if (this.liElements) {\n const liElement = this.liElements.toArray()[index + 1];\n if (liElement && !this.isScrolledIntoView(liElement.nativeElement)) {\n this.ulElement.nativeElement.scrollTop =\n liElement.nativeElement.offsetTop -\n Number(this.ulElement.nativeElement.offsetHeight) +\n Number(liElement.nativeElement.offsetHeight);\n }\n }\n }\n\n ngOnDestroy(): void {\n this.positionServiceSubscription.unsubscribe();\n }\n\n\n private isScrolledIntoView = function (elem: HTMLElement) {\n const containerViewTop: number = this.ulElement.nativeElement.scrollTop;\n const containerViewBottom = containerViewTop + Number(this.ulElement.nativeElement.offsetHeight);\n const elemTop = elem.offsetTop;\n const elemBottom = elemTop + elem.offsetHeight;\n\n return ((elemBottom <= containerViewBottom) && (elemTop >= containerViewTop));\n };\n\n private scrollToBottom(): void {\n this.ulElement.nativeElement.scrollTop = this.ulElement.nativeElement.scrollHeight;\n }\n\n private scrollToTop(): void {\n this.ulElement.nativeElement.scrollTop = 0;\n }\n}\n","import { Injectable } from '@angular/core';\n\n/** Default values provider for typeahead */\n@Injectable()\nexport class TypeaheadConfig {\n /** sets use adaptive position */\n adaptivePosition = false;\n /** turn on/off animation */\n isAnimated = false;\n /** used to hide results on blur */\n hideResultsOnBlur = true;\n /** used to choose the first item in typeahead container */\n selectFirstItem = true;\n /** used to active/inactive the first item in typeahead container */\n isFirstItemActive = true;\n /** used to choose set minimal no of characters that needs to\n * be entered before typeahead kicks-in\n */\n minLength = 1;\n}\n","/* tslint:disable:max-file-line-count */\nimport {\n ChangeDetectorRef,\n Directive,\n ElementRef,\n EventEmitter,\n HostListener,\n Input,\n OnDestroy,\n OnInit,\n Output,\n Renderer2,\n TemplateRef,\n ViewContainerRef\n} from '@angular/core';\n\nimport { NgControl } from '@angular/forms';\n\nimport { from, Subscription, isObservable } from 'rxjs';\nimport { ComponentLoader, ComponentLoaderFactory } from 'ngx-bootstrap/component-loader';\nimport { TypeaheadContainerComponent } from './typeahead-container.component';\nimport { TypeaheadMatch } from './typeahead-match.class';\nimport { TypeaheadConfig } from './typeahead.config';\nimport { getValueFromObject, latinize, tokenize } from './typeahead-utils';\nimport { debounceTime, filter, mergeMap, switchMap, toArray } from 'rxjs/operators';\n\n@Directive({selector: '[typeahead]', exportAs: 'bs-typeahead'})\nexport class TypeaheadDirective implements OnInit, OnDestroy {\n /** options source, can be Array of strings, objects or\n * an Observable for external matching process\n */\n // tslint:disable-next-line:no-any\n @Input() typeahead: any;\n /** minimal no of characters that needs to be entered before\n * typeahead kicks-in. When set to 0, typeahead shows on focus with full\n * list of options (limited as normal by typeaheadOptionsLimit)\n */\n @Input() typeaheadMinLength: number = void 0;\n /** sets use adaptive position */\n @Input() adaptivePosition: boolean;\n /** turn on/off animation */\n @Input() isAnimated = false;\n /** minimal wait time after last character typed before typeahead kicks-in */\n @Input() typeaheadWaitMs: number;\n /** maximum length of options items list. The default value is 20 */\n @Input() typeaheadOptionsLimit: number;\n /** when options source is an array of objects, the name of field\n * that contains the options value, we use array item as option in case\n * of this field is missing. Supports nested properties and methods.\n */\n @Input() typeaheadOptionField: string;\n /** when options source is an array of objects, the name of field that\n * contains the group value, matches are grouped by this field when set.\n */\n @Input() typeaheadGroupField: string;\n /** should be used only in case of typeahead attribute is array.\n * If true - loading of options will be async, otherwise - sync.\n * true make sense if options array is large.\n */\n @Input() typeaheadAsync: boolean = void 0;\n /** match latin symbols.\n * If true the word súper would match super and vice versa.\n */\n @Input() typeaheadLatinize = true;\n /** Can be use to search words by inserting a single white space between each characters\n * for example 'C a l i f o r n i a' will match 'California'.\n */\n @Input() typeaheadSingleWords = true;\n /** should be used only in case typeaheadSingleWords attribute is true.\n * Sets the word delimiter to break words. Defaults to space.\n */\n @Input() typeaheadWordDelimiters = ' ';\n /** should be used only in case typeaheadSingleWords attribute is true.\n * Sets the word delimiter to match exact phrase.\n * Defaults to simple and double quotes.\n */\n @Input() typeaheadPhraseDelimiters = '\\'\"';\n /** used to specify a custom item template.\n * Template variables exposed are called item and index;\n */\n // tslint:disable-next-line:no-any\n @Input() typeaheadItemTemplate: TemplateRef<any>;\n /** used to specify a custom options list template.\n * Template variables: matches, itemTemplate, query\n */\n // tslint:disable-next-line:no-any\n @Input() optionsListTemplate: TemplateRef<any>;\n /** specifies if typeahead is scrollable */\n @Input() typeaheadScrollable = false;\n /** specifies number of options to show in scroll view */\n @Input() typeaheadOptionsInScrollableView = 5;\n /** used to hide result on blur */\n @Input() typeaheadHideResultsOnBlur: boolean;\n /** fired when an options list was opened and the user clicked Tab\n * If a value equal true, it will be chosen first or active item in the list\n * If value equal false, it will be chosen an active item in the list or nothing\n */\n @Input() typeaheadSelectFirstItem = true;\n /** makes active first item in a list */\n @Input() typeaheadIsFirstItemActive = true;\n /** fired when 'busy' state of this component was changed,\n * fired on async mode only, returns boolean\n */\n @Output() typeaheadLoading = new EventEmitter<boolean>();\n /** fired on every key event and returns true\n * in case of matches are not detected\n */\n @Output() typeaheadNoResults = new EventEmitter<boolean>();\n /** fired when option was selected, return object with data of this option */\n @Output() typeaheadOnSelect = new EventEmitter<TypeaheadMatch>();\n /** fired when blur event occurs. returns the active item */\n // tslint:disable-next-line:no-any\n @Output() typeaheadOnBlur = new EventEmitter<any>();\n\n /**\n * A selector specifying the element the typeahead should be appended to.\n */\n @Input() container: string;\n\n /** This attribute indicates that the dropdown should be opened upwards */\n @Input() dropup = false;\n\n // not yet implemented\n /** if false restrict model values to the ones selected from the popup only will be provided */\n // @Input() protected typeaheadEditable:boolean;\n /** if false the first match automatically will not be focused as you type */\n // @Input() protected typeaheadFocusFirst:boolean;\n /** format the ng-model result after selection */\n // @Input() protected typeaheadInputFormatter:any;\n /** if true automatically select an item when there is one option that exactly matches the user input */\n // @Input() protected typeaheadSelectOnExact:boolean;\n /** if true select the currently highlighted match on blur */\n // @Input() protected typeaheadSelectOnBlur:boolean;\n /** if false don't focus the input element the typeahead directive is associated with on selection */\n // @Input() protected typeaheadFocusOnSelect:boolean;\n\n _container: TypeaheadContainerComponent;\n isActiveItemChanged = false;\n isTypeaheadOptionsListActive = false;\n\n // tslint:disable-next-line:no-any\n protected keyUpEventEmitter: EventEmitter<any> = new EventEmitter();\n protected _matches: TypeaheadMatch[];\n protected placement = 'bottom-left';\n // protected popup:ComponentRef<TypeaheadContainerComponent>;\n\n private _typeahead: ComponentLoader<TypeaheadContainerComponent>;\n private _subscriptions: Subscription[] = [];\n private _outsideClickListener: Function;\n\n constructor(\n cis: ComponentLoaderFactory,\n config: TypeaheadConfig,\n private changeDetection: ChangeDetectorRef,\n private element: ElementRef,\n private ngControl: NgControl,\n private renderer: Renderer2,\n viewContainerRef: ViewContainerRef\n ) {\n\n this._typeahead = cis.createLoader<TypeaheadContainerComponent>(\n element,\n viewContainerRef,\n renderer\n )\n .provide({ provide: TypeaheadConfig, useValue: config });\n\n Object.assign(this,\n {\n typeaheadHideResultsOnBlur: config.hideResultsOnBlur,\n typeaheadSelectFirstItem: config.selectFirstItem,\n typeaheadIsFirstItemActive: config.isFirstItemActive,\n typeaheadMinLength: config.minLength,\n adaptivePosition: config.adaptivePosition,\n isAnimated: config.isAnimated\n }\n );\n }\n\n ngOnInit(): void {\n this.typeaheadOptionsLimit = this.typeaheadOptionsLimit || 20;\n\n this.typeaheadMinLength =\n this.typeaheadMinLength === void 0 ? 1 : this.typeaheadMinLength;\n\n this.typeaheadWaitMs = this.typeaheadWaitMs || 0;\n\n // async should be false in case of array\n if (\n this.typeaheadAsync === undefined &&\n !(isObservable(this.typeahead))\n ) {\n this.typeaheadAsync = false;\n }\n\n if (isObservable(this.typeahead)) {\n this.typeaheadAsync = true;\n }\n\n if (this.typeaheadAsync) {\n this.asyncActions();\n } else {\n this.syncActions();\n }\n }\n\n @HostListener('input', ['$event'])\n // tslint:disable-next-line:no-any\n onInput(e: any): void {\n // For `<input>`s, use the `value` property. For others that don't have a\n // `value` (such as `<span contenteditable=\"true\">`), use either\n // `textContent` or `innerText` (depending on which one is supported, i.e.\n // Firefox or IE).\n const value =\n e.target.value !== undefined\n ? e.target.value\n : e.target.textContent !== undefined\n ? e.target.textContent\n : e.target.innerText;\n if (value != null && value.trim().length >= this.typeaheadMinLength) {\n this.typeaheadLoading.emit(true);\n this.keyUpEventEmitter.emit(e.target.value);\n } else {\n this.typeaheadLoading.emit(false);\n this.typeaheadNoResults.emit(false);\n this.hide();\n }\n }\n\n @HostListener('keyup', ['$event'])\n onChange(event: KeyboardEvent): void {\n if (this._container) {\n // esc\n /* tslint:disable-next-line: deprecation */\n if (event.keyCode === 27 || event.key === 'Escape') {\n this.hide();\n\n return;\n }\n\n // up\n /* tslint:disable-next-line: deprecation */\n if (event.keyCode === 38 || event.key === 'ArrowUp') {\n this.isActiveItemChanged = true;\n this._container.prevActiveMatch();\n\n return;\n }\n\n // down\n /* tslint:disable-next-line: deprecation */\n if (event.keyCode === 40 || event.key === 'ArrowDown') {\n this.isActiveItemChanged = true;\n this._container.nextActiveMatch();\n\n return;\n }\n\n // enter\n /* tslint:disable-next-line: deprecation */\n if (event.keyCode === 13 || event.key === 'Enter') {\n this._container.selectActiveMatch();\n\n return;\n }\n }\n }\n\n @HostListener('click')\n @HostListener('focus')\n onFocus(): void {\n if (this.typeaheadMinLength === 0) {\n this.typeaheadLoading.emit(true);\n this.keyUpEventEmitter.emit(this.element.nativeElement.value || '');\n }\n }\n\n @HostListener('blur')\n onBlur(): void {\n if (this._container && !this._container.isFocused) {\n this.typeaheadOnBlur.emit(this._container.active);\n }\n }\n\n @HostListener('keydown', ['$event'])\n onKeydown(event: KeyboardEvent): void {\n // no container - no problems\n if (!this._container) {\n return;\n }\n\n /* tslint:disable-next-line: deprecation */\n if (event.keyCode === 9 || event.key === 'Tab' || event.keyCode === 13 || event.key === 'Enter') {\n event.preventDefault();\n if (this.typeaheadSelectFirstItem) {\n this._container.selectActiveMatch();\n\n return;\n }\n\n if (!this.typeaheadSelectFirstItem) {\n this._container.selectActiveMatch(this.isActiveItemChanged);\n this.isActiveItemChanged = false;\n this.hide();\n }\n }\n }\n\n changeModel(match: TypeaheadMatch): void {\n const valueStr: string = match.value;\n this.ngControl.viewToModelUpdate(valueStr);\n (this.ngControl.control).setValue(valueStr);\n this.changeDetection.markForCheck();\n this.hide();\n }\n\n get matches(): TypeaheadMatch[] {\n return this._matches;\n }\n\n show(): void {\n this._typeahead\n .attach(TypeaheadContainerComponent)\n .to(this.container)\n .position({attachment: `${this.dropup ? 'top' : 'bottom'} start`})\n .show({\n typeaheadRef: this,\n placement: this.placement,\n animation: false,\n dropup: this.dropup\n });\n\n this._outsideClickListener = this.renderer.listen('document', 'click', (e: MouseEvent) => {\n if (this.typeaheadMinLength === 0 && this.element.nativeElement.contains(e.target)) {\n return undefined;\n }\n if (!this.typeaheadHideResultsOnBlur || this.element.nativeElement.contains(e.target)) {\n return undefined;\n }\n this.onOutsideClick();\n });\n\n this._container = this._typeahead.instance;\n this._container.parent = this;\n // This improves the speed as it won't have to be done for each list item\n\n const normalizedQuery = (this.typeaheadLatinize\n ? latinize(this.ngControl.control.value)\n : this.ngControl.control.value)\n .toString()\n .toLowerCase();\n\n this._container.query = this.typeaheadSingleWords\n ? tokenize(\n normalizedQuery,\n this.typeaheadWordDelimiters,\n this.typeaheadPhraseDelimiters\n )\n : normalizedQuery;\n\n this._container.matches = this._matches;\n this.element.nativeElement.focus();\n }\n\n hide(): void {\n if (this._typeahead.isShown) {\n this._typeahead.hide();\n this._outsideClickListener();\n this._container = null;\n }\n }\n\n onOutsideClick(): void {\n if (this._container && !this._container.isFocused) {\n this.hide();\n }\n }\n\n ngOnDestroy() {\n // clean up subscriptions\n for (const sub of this._subscriptions) {\n sub.unsubscribe();\n }\n this._typeahead.dispose();\n }\n\n protected asyncActions(): void {\n this._subscriptions.push(\n this.keyUpEventEmitter\n .pipe(\n debounceTime(this.typeaheadWaitMs),\n switchMap(() => this.typeahead)\n )\n .subscribe((matches: TypeaheadMatch[]) => {\n this.finalizeAsyncCall(matches);\n })\n );\n }\n\n protected syncActions(): void {\n this._subscriptions.push(\n this.keyUpEventEmitter\n .pipe(\n debounceTime(this.typeaheadWaitMs),\n mergeMap((value: string) => {\n const normalizedQuery = this.normalizeQuery(value);\n\n return from(this.typeahead)\n .pipe(\n filter((option: TypeaheadMatch) => {\n\n return (\n option &&\n this.testMatch(this.normalizeOption(option), normalizedQuery)\n );\n }),\n toArray()\n );\n })\n )\n .subscribe((matches: TypeaheadMatch[]) => {\n this.finalizeAsyncCall(matches);\n })\n );\n }\n\n // tslint:disable-next-line:no-any\n protected normalizeOption(option: any): any {\n const optionValue: string = getValueFromObject(\n option,\n this.typeaheadOptionField\n );\n const normalizedOption = this.typeaheadLatinize\n ? latinize(optionValue)\n : optionValue;\n\n return normalizedOption.toLowerCase();\n }\n\n protected normalizeQuery(value: string): string | string[] {\n // If singleWords, break model here to not be doing extra work on each\n // iteration\n let normalizedQuery: string | string[] = (this.typeaheadLatinize\n ? latinize(value)\n : value)\n .toString()\n .toLowerCase();\n normalizedQuery = this.typeaheadSingleWords\n ? tokenize(\n normalizedQuery,\n this.typeaheadWordDelimiters,\n this.typeaheadPhraseDelimiters\n )\n : normalizedQuery;\n\n return normalizedQuery;\n }\n\n protected testMatch(match: string, test: string[] | string): boolean {\n let spaceLength: number;\n\n if (typeof test === 'object') {\n spaceLength = test.length;\n for (let i = 0; i < spaceLength; i += 1) {\n if (test[i].length > 0 && match.indexOf(test[i]) < 0) {\n return false;\n }\n }\n\n return true;\n }\n\n return match.indexOf(test) >= 0;\n }\n\n protected finalizeAsyncCall(matches: TypeaheadMatch[]): void {\n this.prepareMatches(matches || []);\n\n this.typeaheadLoading.emit(false);\n this.typeaheadNoResults.emit(!this.hasMatches());\n\n if (!this.hasMatches()) {\n this.hide();\n\n return;\n }\n\n if (this._container) {\n // fix: remove usage of ngControl internals\n const _controlValue = (this.typeaheadLatinize\n ? latinize(this.ngControl.control.value)\n : this.ngControl.control.value) || '';\n\n // This improves the speed as it won't have to be done for each list item\n const normalizedQuery = _controlValue.toString().toLowerCase();\n\n this._container.query = this.typeaheadSingleWords\n ? tokenize(\n normalizedQuery,\n this.typeaheadWordDelimiters,\n this.typeaheadPhraseDelimiters\n )\n : normalizedQuery;\n this._container.matches = this._matches;\n } else {\n this.show();\n }\n }\n\n protected prepareMatches(options: TypeaheadMatch[]): void {\n const limited: TypeaheadMatch[] = options.slice(0, this.typeaheadOptionsLimit);\n\n if (this.typeaheadGroupField) {\n let matches: TypeaheadMatch[] = [];\n\n // extract all group names\n const groups = limited\n .map((option: TypeaheadMatch) =>\n getValueFromObject(option, this.typeaheadGroupField)\n )\n .filter((v: string, i: number, a: string[]) => a.indexOf(v) === i);\n\n groups.forEach((group: string) => {\n // add group header to array of matches\n matches.push(new TypeaheadMatch(group, group, true));\n\n // add each item of group to array of matches\n matches = matches.concat(\n limited\n .filter(\n // tslint:disable-next-line:no-any\n (option: any) =>\n getValueFromObject(option, this.typeaheadGroupField) === group\n )\n .map(\n // tslint:disable-next-line:no-any\n (option: any) =>\n new TypeaheadMatch(\n option,\n getValueFromObject(option, this.typeaheadOptionField)\n )\n )\n );\n });\n\n this._matches = matches;\n } else {\n this._matches = limited.map(\n // tslint:disable-next-line:no-any\n (option: any) =>\n new TypeaheadMatch(\n option,\n getValueFromObject(option, this.typeaheadOptionField)\n )\n );\n }\n }\n\n protected hasMatches(): boolean {\n return this._matches.length > 0;\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule, ModuleWithProviders } from '@angular/core';\n\nimport { TypeaheadContainerComponent } from './typeahead-container.component';\nimport { TypeaheadDirective } from './typeahead.directive';\nimport { ComponentLoaderFactory } from 'ngx-bootstrap/component-loader';\nimport { PositioningService } from 'ngx-bootstrap/positioning';\nimport { TypeaheadConfig } from './typeahead.config';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [TypeaheadContainerComponent, TypeaheadDirective],\n exports: [TypeaheadContainerComponent, TypeaheadDirective],\n entryComponents: [TypeaheadContainerComponent]\n})\nexport class TypeaheadModule {\n static forRoot(): ModuleWithProviders {\n return {\n ngModule: TypeaheadModule,\n providers: [ComponentLoaderFactory, PositioningService, TypeaheadConfig]\n };\n }\n}\n"],"names":["tslib_1.__values"],"mappings":";;;;;;;;;;;;;;;;;AACA,IAAa,QAAQ,GAA8B;IAC/C,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;I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"}
|
1
|
+
{"version":3,"file":"ngx-bootstrap-typeahead.js","sources":["ng://ngx-bootstrap/typeahead/latin-map.ts","ng://ngx-bootstrap/typeahead/typeahead-options.class.ts","ng://ngx-bootstrap/typeahead/typeahead-match.class.ts","ng://ngx-bootstrap/typeahead/typeahead-order.class.ts","ng://ngx-bootstrap/typeahead/typeahead-utils.ts","ng://ngx-bootstrap/typeahead/typeahead-animations.ts","ng://ngx-bootstrap/typeahead/typeahead-container.component.ts","ng://ngx-bootstrap/typeahead/typeahead.config.ts","ng://ngx-bootstrap/typeahead/typeahead.directive.ts","ng://ngx-bootstrap/typeahead/typeahead.module.ts"],"sourcesContent":["/* tslint:disable */\nexport const latinMap: { [key: string]: string } = {\n 'Ã': 'A',\n 'Ä': 'A',\n 'Ắ': 'A',\n 'Ặ': 'A',\n 'Ằ': 'A',\n 'Ẳ': 'A',\n 'Ẵ': 'A',\n 'Ç': 'A',\n 'Ã': 'A',\n 'Ấ': 'A',\n 'Ậ': 'A',\n 'Ầ': 'A',\n 'Ẩ': 'A',\n 'Ẫ': 'A',\n 'Ã': 'A',\n 'Ç': 'A',\n 'Ȧ': 'A',\n 'Ç ': 'A',\n 'Ạ': 'A',\n 'È': 'A',\n 'Ã': 'A',\n 'Ả': 'A',\n 'È': 'A',\n 'Ä': 'A',\n 'Ä': 'A',\n 'Ã
': 'A',\n 'Ǻ': 'A',\n 'á¸': 'A',\n 'Ⱥ': 'A',\n 'Ã': 'A',\n 'ê²': 'AA',\n 'Ã': 'AE',\n 'Ǽ': 'AE',\n 'Ç¢': 'AE',\n 'ê´': 'AO',\n 'ê¶': 'AU',\n 'ê¸': 'AV',\n 'êº': 'AV',\n 'ê¼': 'AY',\n 'á¸': 'B',\n 'á¸': 'B',\n 'Æ': 'B',\n 'á¸': 'B',\n 'É': 'B',\n 'Æ': 'B',\n 'Ä': 'C',\n 'Ä': 'C',\n 'Ã': 'C',\n 'á¸': 'C',\n 'Ä': 'C',\n 'Ä': 'C',\n 'Æ': 'C',\n 'È»': 'C',\n 'Ä': 'D',\n 'á¸': 'D',\n 'á¸': 'D',\n 'á¸': 'D',\n 'á¸': 'D',\n 'Æ': 'D',\n 'á¸': 'D',\n 'Dz': 'D',\n 'Ç
': 'D',\n 'Ä': 'D',\n 'Æ': 'D',\n 'DZ': 'DZ',\n 'Ç': 'DZ',\n 'Ã': 'E',\n 'Ä': 'E',\n 'Ä': 'E',\n 'Ȩ': 'E',\n 'á¸': 'E',\n 'Ã': 'E',\n 'Ế': 'E',\n 'á»': 'E',\n 'á»': 'E',\n 'á»': 'E',\n 'á»': 'E',\n 'á¸': 'E',\n 'Ã': 'E',\n 'Ä': 'E',\n 'Ẹ': 'E',\n 'È': 'E',\n 'Ã': 'E',\n 'Ẻ': 'E',\n 'È': 'E',\n 'Ä': 'E',\n 'á¸': 'E',\n 'á¸': 'E',\n 'Ä': 'E',\n 'É': 'E',\n 'Ẽ': 'E',\n 'á¸': 'E',\n 'êª': 'ET',\n 'á¸': 'F',\n 'Æ': 'F',\n 'Ç´': 'G',\n 'Ä': 'G',\n 'Ǧ': 'G',\n 'Ä¢': 'G',\n 'Ä': 'G',\n 'Ä ': 'G',\n 'Æ': 'G',\n 'Ḡ': 'G',\n 'Ǥ': 'G',\n 'Ḫ': 'H',\n 'È': 'H',\n 'Ḩ': 'H',\n 'Ĥ': 'H',\n 'â±§': 'H',\n 'Ḧ': 'H',\n 'Ḣ': 'H',\n 'Ḥ': 'H',\n 'Ħ': 'H',\n 'Ã': 'I',\n 'Ĭ': 'I',\n 'Ç': 'I',\n 'Ã': 'I',\n 'Ã': 'I',\n 'Ḯ': 'I',\n 'İ': 'I',\n 'á»': 'I',\n 'È': 'I',\n 'Ã': 'I',\n 'á»': 'I',\n 'È': 'I',\n 'Ī': 'I',\n 'Ä®': 'I',\n 'Æ': 'I',\n 'Ĩ': 'I',\n 'Ḭ': 'I',\n 'ê¹': 'D',\n 'ê»': 'F',\n 'ê½': 'G',\n 'ê': 'R',\n 'ê': 'S',\n 'ê': 'T',\n 'ê¬': 'IS',\n 'Ä´': 'J',\n 'É': 'J',\n 'Ḱ': 'K',\n 'Ǩ': 'K',\n 'Ķ': 'K',\n 'Ⱪ': 'K',\n 'ê': 'K',\n 'Ḳ': 'K',\n 'Æ': 'K',\n 'Ḵ': 'K',\n 'ê': 'K',\n 'ê': 'K',\n 'Ĺ': 'L',\n 'Ƚ': 'L',\n 'Ľ': 'L',\n 'Ä»': 'L',\n 'Ḽ': 'L',\n 'Ḷ': 'L',\n 'Ḹ': 'L',\n 'â± ': 'L',\n 'ê': 'L',\n 'Ḻ': 'L',\n 'Ä¿': 'L',\n 'â±¢': 'L',\n 'Ç': 'L',\n 'Å': 'L',\n 'Ç': 'LJ',\n 'Ḿ': 'M',\n 'á¹': 'M',\n 'á¹': 'M',\n 'â±®': 'M',\n 'Å': 'N',\n 'Å': 'N',\n 'Å
': 'N',\n 'á¹': 'N',\n 'á¹': 'N',\n 'á¹': 'N',\n 'Ǹ': 'N',\n 'Æ': 'N',\n 'á¹': 'N',\n 'È ': 'N',\n 'Ç': 'N',\n 'Ã': 'N',\n 'Ç': 'NJ',\n 'Ã': 'O',\n 'Å': 'O',\n 'Ç': 'O',\n 'Ã': 'O',\n 'á»': 'O',\n 'á»': 'O',\n 'á»': 'O',\n 'á»': 'O',\n 'á»': 'O',\n 'Ã': 'O',\n 'Ȫ': 'O',\n 'È®': 'O',\n 'Ȱ': 'O',\n 'á»': 'O',\n 'Å': 'O',\n 'È': 'O',\n 'Ã': 'O',\n 'á»': 'O',\n 'Æ ': 'O',\n 'á»': 'O',\n 'Ợ': 'O',\n 'á»': 'O',\n 'á»': 'O',\n 'á» ': 'O',\n 'È': 'O',\n 'ê': 'O',\n 'ê': 'O',\n 'Å': 'O',\n 'á¹': 'O',\n 'á¹': 'O',\n 'Æ': 'O',\n 'Ǫ': 'O',\n 'Ǭ': 'O',\n 'Ã': 'O',\n 'Ǿ': 'O',\n 'Ã': 'O',\n 'á¹': 'O',\n 'á¹': 'O',\n 'Ȭ': 'O',\n 'Æ¢': 'OI',\n 'ê': 'OO',\n 'Æ': 'E',\n 'Æ': 'O',\n 'È¢': 'OU',\n 'á¹': 'P',\n 'á¹': 'P',\n 'ê': 'P',\n 'Ƥ': 'P',\n 'ê': 'P',\n 'â±£': 'P',\n 'ê': 'P',\n 'ê': 'Q',\n 'ê': 'Q',\n 'Å': 'R',\n 'Å': 'R',\n 'Å': 'R',\n 'á¹': 'R',\n 'á¹': 'R',\n 'á¹': 'R',\n 'È': 'R',\n 'È': 'R',\n 'á¹': 'R',\n 'É': 'R',\n 'Ɽ': 'R',\n 'ê¾': 'C',\n 'Æ': 'E',\n 'Å': 'S',\n 'Ṥ': 'S',\n 'Å ': 'S',\n 'Ṧ': 'S',\n 'Å': 'S',\n 'Å': 'S',\n 'È': 'S',\n 'á¹ ': 'S',\n 'á¹¢': 'S',\n 'Ṩ': 'S',\n 'Ť': 'T',\n 'Å¢': 'T',\n 'á¹°': 'T',\n 'È': 'T',\n 'Ⱦ': 'T',\n 'Ṫ': 'T',\n 'Ṭ': 'T',\n 'Ƭ': 'T',\n 'á¹®': 'T',\n 'Æ®': 'T',\n 'Ŧ': 'T',\n 'Ɐ': 'A',\n 'ê': 'L',\n 'Æ': 'M',\n 'É
': 'V',\n 'ê¨': 'TZ',\n 'Ã': 'U',\n 'Ŭ': 'U',\n 'Ç': 'U',\n 'Ã': 'U',\n 'á¹¶': 'U',\n 'Ã': 'U',\n 'Ç': 'U',\n 'Ç': 'U',\n 'Ç': 'U',\n 'Ç': 'U',\n 'á¹²': 'U',\n 'Ụ': 'U',\n 'Ű': 'U',\n 'È': 'U',\n 'Ã': 'U',\n 'Ủ': 'U',\n 'Ư': 'U',\n 'Ứ': 'U',\n 'á»°': 'U',\n 'Ừ': 'U',\n 'Ử': 'U',\n 'á»®': 'U',\n 'È': 'U',\n 'Ū': 'U',\n 'Ṻ': 'U',\n 'Ų': 'U',\n 'Å®': 'U',\n 'Ũ': 'U',\n 'Ṹ': 'U',\n 'á¹´': 'U',\n 'ê': 'V',\n 'á¹¾': 'V',\n 'Ʋ': 'V',\n 'á¹¼': 'V',\n 'ê ': 'VY',\n 'áº': 'W',\n 'Å´': 'W',\n 'áº': 'W',\n 'áº': 'W',\n 'áº': 'W',\n 'áº': 'W',\n 'â±²': 'W',\n 'áº': 'X',\n 'áº': 'X',\n 'Ã': 'Y',\n 'Ŷ': 'Y',\n 'Ÿ': 'Y',\n 'áº': 'Y',\n 'á»´': 'Y',\n 'Ỳ': 'Y',\n 'Ƴ': 'Y',\n 'á»¶': 'Y',\n 'Ỿ': 'Y',\n 'Ȳ': 'Y',\n 'É': 'Y',\n 'Ỹ': 'Y',\n 'Ź': 'Z',\n 'Ž': 'Z',\n 'áº': 'Z',\n 'Ⱬ': 'Z',\n 'Å»': 'Z',\n 'áº': 'Z',\n 'Ȥ': 'Z',\n 'áº': 'Z',\n 'Ƶ': 'Z',\n 'IJ': 'IJ',\n 'Å': 'OE',\n 'á´': 'A',\n 'á´': 'AE',\n 'Ê': 'B',\n 'á´': 'B',\n 'á´': 'C',\n 'á´
': 'D',\n 'á´': 'E',\n 'ê°': 'F',\n 'É¢': 'G',\n 'Ê': 'G',\n 'Ê': 'H',\n 'ɪ': 'I',\n 'Ê': 'R',\n 'á´': 'J',\n 'á´': 'K',\n 'Ê': 'L',\n 'á´': 'L',\n 'á´': 'M',\n 'É´': 'N',\n 'á´': 'O',\n 'ɶ': 'OE',\n 'á´': 'O',\n 'á´': 'OU',\n 'á´': 'P',\n 'Ê': 'R',\n 'á´': 'N',\n 'á´': 'R',\n 'ê±': 'S',\n 'á´': 'T',\n 'â±»': 'E',\n 'á´': 'R',\n 'á´': 'U',\n 'á´ ': 'V',\n 'á´¡': 'W',\n 'Ê': 'Y',\n 'á´¢': 'Z',\n 'á': 'a',\n 'Ä': 'a',\n 'ắ': 'a',\n 'ặ': 'a',\n 'ằ': 'a',\n 'ẳ': 'a',\n 'ẵ': 'a',\n 'Ç': 'a',\n 'â': 'a',\n 'ấ': 'a',\n 'áº': 'a',\n 'ầ': 'a',\n 'ẩ': 'a',\n 'ẫ': 'a',\n 'ä': 'a',\n 'Ç': 'a',\n 'ȧ': 'a',\n 'Ç¡': 'a',\n 'ạ': 'a',\n 'È': 'a',\n 'à ': 'a',\n 'ả': 'a',\n 'È': 'a',\n 'Ä': 'a',\n 'Ä
': 'a',\n 'á¶': 'a',\n 'áº': 'a',\n 'Ã¥': 'a',\n 'Ç»': 'a',\n 'á¸': 'a',\n 'â±¥': 'a',\n 'ã': 'a',\n 'ê³': 'aa',\n 'æ': 'ae',\n 'ǽ': 'ae',\n 'Ç£': 'ae',\n 'êµ': 'ao',\n 'ê·': 'au',\n 'ê¹': 'av',\n 'ê»': 'av',\n 'ê½': 'ay',\n 'á¸': 'b',\n 'á¸
': 'b',\n 'É': 'b',\n 'á¸': 'b',\n 'ᵬ': 'b',\n 'á¶': 'b',\n 'Æ': 'b',\n 'Æ': 'b',\n 'ɵ': 'o',\n 'Ä': 'c',\n 'Ä': 'c',\n 'ç': 'c',\n 'á¸': 'c',\n 'Ä': 'c',\n 'É': 'c',\n 'Ä': 'c',\n 'Æ': 'c',\n 'ȼ': 'c',\n 'Ä': 'd',\n 'á¸': 'd',\n 'á¸': 'd',\n 'È¡': 'd',\n 'á¸': 'd',\n 'á¸': 'd',\n 'É': 'd',\n 'á¶': 'd',\n 'á¸': 'd',\n 'áµ': 'd',\n 'á¶': 'd',\n 'Ä': 'd',\n 'É': 'd',\n 'Æ': 'd',\n 'ı': 'i',\n 'È·': 'j',\n 'É': 'j',\n 'Ê': 'j',\n 'dz': 'dz',\n 'Ç': 'dz',\n 'é': 'e',\n 'Ä': 'e',\n 'Ä': 'e',\n 'È©': 'e',\n 'á¸': 'e',\n 'ê': 'e',\n 'ế': 'e',\n 'á»': 'e',\n 'á»': 'e',\n 'á»': 'e',\n 'á»
': 'e',\n 'á¸': 'e',\n 'ë': 'e',\n 'Ä': 'e',\n 'ẹ': 'e',\n 'È
': 'e',\n 'è': 'e',\n 'ẻ': 'e',\n 'È': 'e',\n 'Ä': 'e',\n 'á¸': 'e',\n 'á¸': 'e',\n 'ⱸ': 'e',\n 'Ä': 'e',\n 'á¶': 'e',\n 'É': 'e',\n 'ẽ': 'e',\n 'á¸': 'e',\n 'ê«': 'et',\n 'á¸': 'f',\n 'Æ': 'f',\n 'áµ®': 'f',\n 'á¶': 'f',\n 'ǵ': 'g',\n 'Ä': 'g',\n 'ǧ': 'g',\n 'Ä£': 'g',\n 'Ä': 'g',\n 'Ä¡': 'g',\n 'É ': 'g',\n 'ḡ': 'g',\n 'á¶': 'g',\n 'Ç¥': 'g',\n 'ḫ': 'h',\n 'È': 'h',\n 'ḩ': 'h',\n 'Ä¥': 'h',\n 'ⱨ': 'h',\n 'ḧ': 'h',\n 'ḣ': 'h',\n 'ḥ': 'h',\n 'ɦ': 'h',\n 'áº': 'h',\n 'ħ': 'h',\n 'Æ': 'hv',\n 'Ã': 'i',\n 'Ä': 'i',\n 'Ç': 'i',\n 'î': 'i',\n 'ï': 'i',\n 'ḯ': 'i',\n 'á»': 'i',\n 'È': 'i',\n 'ì': 'i',\n 'á»': 'i',\n 'È': 'i',\n 'Ä«': 'i',\n 'į': 'i',\n 'á¶': 'i',\n 'ɨ': 'i',\n 'Ä©': 'i',\n 'á¸': 'i',\n 'êº': 'd',\n 'ê¼': 'f',\n 'áµ¹': 'g',\n 'ê': 'r',\n 'ê
': 's',\n 'ê': 't',\n 'ê': 'is',\n 'ǰ': 'j',\n 'ĵ': 'j',\n 'Ê': 'j',\n 'É': 'j',\n 'ḱ': 'k',\n 'Ç©': 'k',\n 'Ä·': 'k',\n 'ⱪ': 'k',\n 'ê': 'k',\n 'ḳ': 'k',\n 'Æ': 'k',\n 'ḵ': 'k',\n 'á¶': 'k',\n 'ê': 'k',\n 'ê
': 'k',\n 'ĺ': 'l',\n 'Æ': 'l',\n 'ɬ': 'l',\n 'ľ': 'l',\n 'ļ': 'l',\n 'ḽ': 'l',\n 'È´': 'l',\n 'ḷ': 'l',\n 'ḹ': 'l',\n 'ⱡ': 'l',\n 'ê': 'l',\n 'ḻ': 'l',\n 'Å': 'l',\n 'É«': 'l',\n 'á¶
': 'l',\n 'É': 'l',\n 'Å': 'l',\n 'Ç': 'lj',\n 'Å¿': 's',\n 'áº': 's',\n 'áº': 's',\n 'áº': 's',\n 'ḿ': 'm',\n 'á¹': 'm',\n 'á¹': 'm',\n 'ɱ': 'm',\n 'ᵯ': 'm',\n 'á¶': 'm',\n 'Å': 'n',\n 'Å': 'n',\n 'Å': 'n',\n 'á¹': 'n',\n 'ȵ': 'n',\n 'á¹
': 'n',\n 'á¹': 'n',\n 'ǹ': 'n',\n 'ɲ': 'n',\n 'á¹': 'n',\n 'Æ': 'n',\n 'áµ°': 'n',\n 'á¶': 'n',\n 'ɳ': 'n',\n 'ñ': 'n',\n 'Ç': 'nj',\n 'ó': 'o',\n 'Å': 'o',\n 'Ç': 'o',\n 'ô': 'o',\n 'á»': 'o',\n 'á»': 'o',\n 'á»': 'o',\n 'á»': 'o',\n 'á»': 'o',\n 'ö': 'o',\n 'È«': 'o',\n 'ȯ': 'o',\n 'ȱ': 'o',\n 'á»': 'o',\n 'Å': 'o',\n 'È': 'o',\n 'ò': 'o',\n 'á»': 'o',\n 'Æ¡': 'o',\n 'á»': 'o',\n 'ợ': 'o',\n 'á»': 'o',\n 'á»': 'o',\n 'ỡ': 'o',\n 'È': 'o',\n 'ê': 'o',\n 'ê': 'o',\n 'ⱺ': 'o',\n 'Å': 'o',\n 'á¹': 'o',\n 'á¹': 'o',\n 'Ç«': 'o',\n 'Ç': 'o',\n 'ø': 'o',\n 'Ç¿': 'o',\n 'õ': 'o',\n 'á¹': 'o',\n 'á¹': 'o',\n 'È': 'o',\n 'Æ£': 'oi',\n 'ê': 'oo',\n 'É': 'e',\n 'á¶': 'e',\n 'É': 'o',\n 'á¶': 'o',\n 'È£': 'ou',\n 'á¹': 'p',\n 'á¹': 'p',\n 'ê': 'p',\n 'Æ¥': 'p',\n 'áµ±': 'p',\n 'á¶': 'p',\n 'ê': 'p',\n 'áµ½': 'p',\n 'ê': 'p',\n 'ê': 'q',\n 'Ê ': 'q',\n 'É': 'q',\n 'ê': 'q',\n 'Å': 'r',\n 'Å': 'r',\n 'Å': 'r',\n 'á¹': 'r',\n 'á¹': 'r',\n 'á¹': 'r',\n 'È': 'r',\n 'ɾ': 'r',\n 'áµ³': 'r',\n 'È': 'r',\n 'á¹': 'r',\n 'ɼ': 'r',\n 'áµ²': 'r',\n 'á¶': 'r',\n 'É': 'r',\n 'ɽ': 'r',\n 'â': 'c',\n 'ê¿': 'c',\n 'É': 'e',\n 'É¿': 'r',\n 'Å': 's',\n 'á¹¥': 's',\n 'Å¡': 's',\n 'á¹§': 's',\n 'Å': 's',\n 'Å': 's',\n 'È': 's',\n 'ṡ': 's',\n 'á¹£': 's',\n 'ṩ': 's',\n 'Ê': 's',\n 'áµ´': 's',\n 'á¶': 's',\n 'È¿': 's',\n 'É¡': 'g',\n 'á´': 'o',\n 'á´': 'o',\n 'á´': 'u',\n 'Å¥': 't',\n 'Å£': 't',\n 'á¹±': 't',\n 'È': 't',\n 'ȶ': 't',\n 'áº': 't',\n 'ⱦ': 't',\n 'ṫ': 't',\n 'á¹': 't',\n 'Æ': 't',\n 'ṯ': 't',\n 'áµµ': 't',\n 'Æ«': 't',\n 'Ê': 't',\n 'ŧ': 't',\n 'ᵺ': 'th',\n 'É': 'a',\n 'á´': 'ae',\n 'Ç': 'e',\n 'áµ·': 'g',\n 'É¥': 'h',\n 'Ê®': 'h',\n 'ʯ': 'h',\n 'á´': 'i',\n 'Ê': 'k',\n 'ê': 'l',\n 'ɯ': 'm',\n 'ɰ': 'm',\n 'á´': 'oe',\n 'ɹ': 'r',\n 'É»': 'r',\n 'ɺ': 'r',\n 'â±¹': 'r',\n 'Ê': 't',\n 'Ê': 'v',\n 'Ê': 'w',\n 'Ê': 'y',\n 'ê©': 'tz',\n 'ú': 'u',\n 'Å': 'u',\n 'Ç': 'u',\n 'û': 'u',\n 'á¹·': 'u',\n 'ü': 'u',\n 'Ç': 'u',\n 'Ç': 'u',\n 'Ç': 'u',\n 'Ç': 'u',\n 'á¹³': 'u',\n 'ụ': 'u',\n 'ű': 'u',\n 'È': 'u',\n 'ù': 'u',\n 'á»§': 'u',\n 'ư': 'u',\n 'ứ': 'u',\n 'á»±': 'u',\n 'ừ': 'u',\n 'á»': 'u',\n 'ữ': 'u',\n 'È': 'u',\n 'Å«': 'u',\n 'á¹»': 'u',\n 'ų': 'u',\n 'á¶': 'u',\n 'ů': 'u',\n 'Å©': 'u',\n 'á¹¹': 'u',\n 'á¹µ': 'u',\n 'ᵫ': 'ue',\n 'ê¸': 'um',\n 'â±´': 'v',\n 'ê': 'v',\n 'ṿ': 'v',\n 'Ê': 'v',\n 'á¶': 'v',\n 'â±±': 'v',\n 'á¹½': 'v',\n 'ê¡': 'vy',\n 'áº': 'w',\n 'ŵ': 'w',\n 'áº
': 'w',\n 'áº': 'w',\n 'áº': 'w',\n 'áº': 'w',\n 'â±³': 'w',\n 'áº': 'w',\n 'áº': 'x',\n 'áº': 'x',\n 'á¶': 'x',\n 'ý': 'y',\n 'Å·': 'y',\n 'ÿ': 'y',\n 'áº': 'y',\n 'ỵ': 'y',\n 'ỳ': 'y',\n 'Æ´': 'y',\n 'á»·': 'y',\n 'ỿ': 'y',\n 'ȳ': 'y',\n 'áº': 'y',\n 'É': 'y',\n 'ỹ': 'y',\n 'ź': 'z',\n 'ž': 'z',\n 'áº': 'z',\n 'Ê': 'z',\n 'ⱬ': 'z',\n 'ż': 'z',\n 'áº': 'z',\n 'È¥': 'z',\n 'áº': 'z',\n 'áµ¶': 'z',\n 'á¶': 'z',\n 'Ê': 'z',\n 'ƶ': 'z',\n 'É': 'z',\n 'ï¬': 'ff',\n 'ï¬': 'ffi',\n 'ï¬': 'ffl',\n 'ï¬': 'fi',\n 'ï¬': 'fl',\n 'ij': 'ij',\n 'Å': 'oe',\n 'ï¬': 'st',\n 'â': 'a',\n 'â': 'e',\n 'áµ¢': 'i',\n 'â±¼': 'j',\n 'â': 'o',\n 'áµ£': 'r',\n 'ᵤ': 'u',\n 'áµ¥': 'v',\n 'â': 'x'\n};\n","import { TypeaheadDirective } from './typeahead.directive';\n\nexport class TypeaheadOptions {\n placement: string;\n animation: boolean;\n typeaheadRef: TypeaheadDirective;\n\n constructor(options: TypeaheadOptions) {\n Object.assign(this, options);\n }\n}\n","export class TypeaheadMatch {\n readonly value: string;\n\n// tslint:disable-next-line:no-any\n readonly item: any;\n protected header: boolean;\n\n// tslint:disable-next-line:no-any\n constructor(item: any, value: string = item, header = false) {\n this.item = item;\n this.value = value;\n this.header = header;\n }\n\n isHeader(): boolean {\n return this.header;\n }\n\n toString(): string {\n return this.value;\n }\n}\n","export class TypeaheadOrder {\n /** field for sorting */\n field?: string;\n /** ordering direction, could be 'asc' or 'desc' */\n direction: 'asc' | 'desc';\n}\n","import { latinMap } from './latin-map';\n\nexport function latinize(str: string): string {\n if (!str) {\n return '';\n }\n\n return str.replace(/[^A-Za-z0-9\\[\\] ]/g, function (a: string): string {\n return latinMap[a] || a;\n });\n}\n\nexport function escapeRegexp(queryToEscape: string): string {\n // Regex: capture the whole query string and replace it with the string\n // that will be used to match the results, for example if the capture is\n // 'a' the result will be \\a\n return queryToEscape.replace(/([.?*+^$[\\]\\\\(){}|-])/g, '\\\\$1');\n}\n\n/* tslint:disable */\nexport function tokenize(str: string,\n wordRegexDelimiters = ' ',\n phraseRegexDelimiters = ''): Array<string> {\n /* tslint:enable */\n const regexStr = `(?:[${phraseRegexDelimiters}])([^${phraseRegexDelimiters}]+)` +\n `(?:[${phraseRegexDelimiters}])|([^${wordRegexDelimiters}]+)`;\n const preTokenized: string[] = str.split(new RegExp(regexStr, 'g'));\n const result: string[] = [];\n const preTokenizedLength: number = preTokenized.length;\n let token: string;\n const replacePhraseDelimiters = new RegExp(`[${phraseRegexDelimiters}]+`, 'g');\n\n for (let i = 0; i < preTokenizedLength; i += 1) {\n token = preTokenized[i];\n if (token && token.length && token !== wordRegexDelimiters) {\n result.push(token.replace(replacePhraseDelimiters, ''));\n }\n }\n\n return result;\n}\n\n// tslint:disable-next-line:no-any\nexport function getValueFromObject(object: any, option: string): string {\n if (!option || typeof object !== 'object') {\n return object.toString();\n }\n\n if (option.endsWith('()')) {\n const functionName = option.slice(0, option.length - 2);\n\n return object[functionName]().toString();\n }\n\n const properties: string = option\n .replace(/\\[(\\w+)\\]/g, '.$1')\n .replace(/^\\./, '');\n const propertiesArray: string[] = properties.split('.');\n\n for (const property of propertiesArray) {\n if (property in object) {\n // tslint:disable-next-line\n object = object[property];\n }\n }\n if (!object) {return ''; }\n\n return object.toString();\n}\n","import {\n animate,\n style,\n AnimationTriggerMetadata,\n state,\n transition,\n trigger\n} from '@angular/animations';\n\nexport const TYPEAHEAD_ANIMATION_TIMING = '220ms cubic-bezier(0, 0, 0.2, 1)';\n\nexport const typeaheadAnimation: AnimationTriggerMetadata =\n trigger('typeaheadAnimation', [\n state('animated-down', style({ height: '*', overflow: 'hidden'})),\n transition('* => animated-down', [\n style({ height: 0, overflow: 'hidden' }),\n animate(TYPEAHEAD_ANIMATION_TIMING)\n ]),\n state('animated-up', style({ height: '*', overflow: 'hidden'})),\n transition('* => animated-up', [\n style({ height: '*', overflow: 'hidden' }),\n animate(TYPEAHEAD_ANIMATION_TIMING)\n ]),\n transition('* => unanimated', animate('0s'))\n ]);\n","// tslint:disable:max-file-line-count max-line-length\nimport {\n ChangeDetectorRef,\n Component,\n ElementRef,\n HostListener,\n OnDestroy,\n QueryList,\n Renderer2,\n TemplateRef,\n ViewChild,\n ViewChildren,\n Output,\n EventEmitter\n} from '@angular/core';\n\nimport { isBs3, Utils } from 'ngx-bootstrap/utils';\nimport { PositioningService } from 'ngx-bootstrap/positioning';\nimport { Subscription } from 'rxjs';\n\nimport { latinize } from './typeahead-utils';\nimport { TypeaheadMatch } from './typeahead-match.class';\nimport { TypeaheadDirective } from './typeahead.directive';\nimport { typeaheadAnimation } from './typeahead-animations';\nimport { TypeaheadOptionItemContext, TypeaheadOptionListContext, TypeaheadTemplateMethods } from './models';\n\nlet nextWindowId = 0;\n\n@Component({\n selector: 'typeahead-container',\n templateUrl: './typeahead-container.component.html',\n host: {\n class: 'dropdown open bottom',\n '[class.dropdown-menu]': 'isBs4',\n '[style.height]': `isBs4 && needScrollbar ? guiHeight: 'auto'`,\n '[style.visibility]': `'inherit'`,\n '[class.dropup]': 'dropup',\n style: 'position: absolute;display: block;',\n '[attr.role]': `isBs4 ? 'listbox' : null `\n },\n styles: [\n `\n :host.dropdown {\n z-index: 1000;\n }\n\n :host.dropdown-menu, .dropdown-menu {\n overflow-y: auto;\n height: 100px;\n }\n `\n ],\n animations: [typeaheadAnimation]\n})\n\nexport class TypeaheadContainerComponent implements OnDestroy {\n // tslint:disable-next-line: no-output-rename\n @Output('activeChange') activeChangeEvent = new EventEmitter();\n\n parent: TypeaheadDirective;\n query: string[] | string;\n isFocused = false;\n top: string;\n left: string;\n display: string;\n placement: string;\n dropup: boolean;\n guiHeight: string;\n needScrollbar: boolean;\n animationState: string;\n positionServiceSubscription: Subscription;\n height = 0;\n popupId = `ngb-typeahead-${nextWindowId++}`;\n\n get isBs4(): boolean {\n return !isBs3();\n }\n\n get typeaheadTemplateMethods(): TypeaheadTemplateMethods {\n /* tslint:disable:no-this-assignment */\n const _that = this;\n\n return {\n selectMatch: this.selectMatch.bind(_that),\n selectActive: this.selectActive.bind(_that),\n isActive: this.isActive.bind(_that)\n };\n }\n\n protected _active: TypeaheadMatch;\n protected _matches: TypeaheadMatch[] = [];\n\n @ViewChild('ulElement', { static: false })\n private ulElement: ElementRef;\n\n @ViewChildren('liElements')\n private liElements: QueryList<ElementRef>;\n\n constructor(\n private positionService: PositioningService,\n private renderer: Renderer2,\n public element: ElementRef,\n private changeDetectorRef: ChangeDetectorRef\n ) {\n this.renderer.setAttribute(this.element.nativeElement, 'id', this.popupId);\n this.positionServiceSubscription = this.positionService.event$.subscribe(\n () => {\n if (this.isAnimated) {\n this.animationState = this.isTopPosition ? 'animated-up' : 'animated-down';\n this.changeDetectorRef.detectChanges();\n\n return;\n }\n\n this.animationState = 'unanimated';\n this.changeDetectorRef.detectChanges();\n }\n );\n }\n\n get active(): TypeaheadMatch {\n return this._active;\n }\n\n set active(active: TypeaheadMatch) {\n this._active = active;\n this.activeChanged();\n }\n\n get matches(): TypeaheadMatch[] {\n return this._matches;\n }\n\n set matches(value: TypeaheadMatch[]) {\n this.positionService.setOptions({\n modifiers: { flip: { enabled: this.adaptivePosition } },\n allowedPositions: ['top', 'bottom']\n });\n\n this._matches = value;\n\n this.needScrollbar = this.typeaheadScrollable && this.typeaheadOptionsInScrollableView < this.matches.length;\n\n if (this.typeaheadScrollable) {\n setTimeout(() => {\n this.setScrollableMode();\n });\n }\n\n if (this.typeaheadIsFirstItemActive && this._matches.length > 0) {\n this.active = this._matches[0];\n\n if (this._active.isHeader()) {\n this.nextActiveMatch();\n }\n }\n\n if (this._active && !this.typeaheadIsFirstItemActive) {\n const concurrency = this._matches.find(match => match.value === this._active.value);\n\n if (concurrency) {\n this.selectActive(concurrency);\n\n return;\n }\n\n this.active = null;\n }\n }\n\n get isTopPosition(): boolean {\n return this.element.nativeElement.classList.contains('top');\n }\n\n // tslint:disable-next-line:no-any\n get optionsListTemplate(): TemplateRef<TypeaheadOptionListContext> {\n return this.parent ? this.parent.optionsListTemplate : undefined;\n }\n\n get isAnimated(): boolean {\n return this.parent ? this.parent.isAnimated : false;\n }\n\n get adaptivePosition(): boolean {\n return this.parent ? this.parent.adaptivePosition : false;\n }\n\n get typeaheadScrollable(): boolean {\n return this.parent ? this.parent.typeaheadScrollable : false;\n }\n\n get typeaheadOptionsInScrollableView(): number {\n return this.parent ? this.parent.typeaheadOptionsInScrollableView : 5;\n }\n\n get typeaheadIsFirstItemActive(): boolean {\n return this.parent ? this.parent.typeaheadIsFirstItemActive : true;\n }\n // tslint:disable-next-line:no-any\n get itemTemplate(): TemplateRef<TypeaheadOptionItemContext> {\n return this.parent ? this.parent.typeaheadItemTemplate : undefined;\n }\n\n selectActiveMatch(isActiveItemChanged?: boolean): void {\n if (this._active && this.parent.typeaheadSelectFirstItem) {\n this.selectMatch(this._active);\n }\n\n if (!this.parent.typeaheadSelectFirstItem && isActiveItemChanged) {\n this.selectMatch(this._active);\n }\n }\n\n activeChanged(): void {\n const index = this.matches.indexOf(this._active);\n this.activeChangeEvent.emit(`${this.popupId}-${index}`);\n }\n\n prevActiveMatch(): void {\n\n const index = this.matches.indexOf(this._active);\n\n this.active = this.matches[\n index - 1 < 0 ? this.matches.length - 1 : index - 1\n ];\n\n if (this._active.isHeader()) {\n this.prevActiveMatch();\n }\n\n if (this.typeaheadScrollable) {\n this.scrollPrevious(index);\n }\n }\n\n nextActiveMatch(): void {\n const index = this.matches.indexOf(this._active);\n\n this.active = this.matches[\n index + 1 > this.matches.length - 1 ? 0 : index + 1\n ];\n\n\n if (this._active.isHeader()) {\n this.nextActiveMatch();\n }\n\n if (this.typeaheadScrollable) {\n this.scrollNext(index);\n }\n }\n\n selectActive(value: TypeaheadMatch): void {\n this.isFocused = true;\n this.active = value;\n }\n\n highlight(match: TypeaheadMatch, query: string[] | string): string {\n let itemStr: string = match.value;\n let itemStrHelper: string = (this.parent && this.parent.typeaheadLatinize\n ? latinize(itemStr)\n : itemStr).toLowerCase();\n let startIdx: number;\n let tokenLen: number;\n // Replaces the capture string with the same string inside of a \"strong\" tag\n if (typeof query === 'object') {\n const queryLen: number = query.length;\n for (let i = 0; i < queryLen; i += 1) {\n // query[i] is already latinized and lower case\n startIdx = itemStrHelper.indexOf(query[i]);\n tokenLen = query[i].length;\n if (startIdx >= 0 && tokenLen > 0) {\n itemStr =\n `${itemStr.substring(0, startIdx)}<strong>${itemStr.substring(startIdx, startIdx + tokenLen)}</strong>` +\n `${itemStr.substring(startIdx + tokenLen)}`;\n itemStrHelper =\n `${itemStrHelper.substring(0, startIdx)} ${' '.repeat(tokenLen)} ` +\n `${itemStrHelper.substring(startIdx + tokenLen)}`;\n }\n }\n } else if (query) {\n // query is already latinized and lower case\n startIdx = itemStrHelper.indexOf(query);\n tokenLen = query.length;\n if (startIdx >= 0 && tokenLen > 0) {\n itemStr =\n `${itemStr.substring(0, startIdx)}<strong>${itemStr.substring(startIdx, startIdx + tokenLen)}</strong>` +\n `${itemStr.substring(startIdx + tokenLen)}`;\n }\n }\n\n return itemStr;\n }\n\n @HostListener('mouseleave')\n @HostListener('blur')\n focusLost(): void {\n this.isFocused = false;\n }\n\n isActive(value: TypeaheadMatch): boolean {\n return this.active === value;\n }\n\n selectMatch(value: TypeaheadMatch, e: Event = void 0): boolean {\n if (e) {\n e.stopPropagation();\n e.preventDefault();\n }\n this.parent.changeModel(value);\n setTimeout(() => this.parent.typeaheadOnSelect.emit(value), 0);\n\n return false;\n }\n\n setScrollableMode(): void {\n if (!this.ulElement) {\n this.ulElement = this.element;\n }\n\n if (this.liElements.first) {\n const ulStyles = Utils.getStyles(this.ulElement.nativeElement);\n const liStyles = Utils.getStyles(this.liElements.first.nativeElement);\n const ulPaddingBottom = parseFloat((ulStyles['padding-bottom'] ? ulStyles['padding-bottom'] : '')\n .replace('px', ''));\n const ulPaddingTop = parseFloat((ulStyles['padding-top'] ? ulStyles['padding-top'] : '0')\n .replace('px', ''));\n const optionHeight = parseFloat((liStyles.height ? liStyles.height : '0')\n .replace('px', ''));\n const height = this.typeaheadOptionsInScrollableView * optionHeight;\n this.guiHeight = `${height + ulPaddingTop + ulPaddingBottom}px`;\n }\n\n this.renderer.setStyle(this.element.nativeElement, 'visibility', 'visible');\n }\n\n scrollPrevious(index: number): void {\n if (index === 0) {\n this.scrollToBottom();\n\n return;\n }\n if (this.liElements) {\n const liElement = this.liElements.toArray()[index - 1];\n if (liElement && !this.isScrolledIntoView(liElement.nativeElement)) {\n this.ulElement.nativeElement.scrollTop = liElement.nativeElement.offsetTop;\n }\n }\n }\n\n scrollNext(index: number): void {\n if (index + 1 > this.matches.length - 1) {\n this.scrollToTop();\n\n return;\n }\n if (this.liElements) {\n const liElement = this.liElements.toArray()[index + 1];\n if (liElement && !this.isScrolledIntoView(liElement.nativeElement)) {\n this.ulElement.nativeElement.scrollTop =\n liElement.nativeElement.offsetTop -\n Number(this.ulElement.nativeElement.offsetHeight) +\n Number(liElement.nativeElement.offsetHeight);\n }\n }\n }\n\n ngOnDestroy(): void {\n this.positionServiceSubscription.unsubscribe();\n }\n\n\n private isScrolledIntoView = function (elem: HTMLElement) {\n const containerViewTop: number = this.ulElement.nativeElement.scrollTop;\n const containerViewBottom = containerViewTop + Number(this.ulElement.nativeElement.offsetHeight);\n const elemTop = elem.offsetTop;\n const elemBottom = elemTop + elem.offsetHeight;\n\n return ((elemBottom <= containerViewBottom) && (elemTop >= containerViewTop));\n };\n\n private scrollToBottom(): void {\n this.ulElement.nativeElement.scrollTop = this.ulElement.nativeElement.scrollHeight;\n }\n\n private scrollToTop(): void {\n this.ulElement.nativeElement.scrollTop = 0;\n }\n}\n","import { Injectable } from '@angular/core';\n\n/** Default values provider for typeahead */\n@Injectable()\nexport class TypeaheadConfig {\n /** sets use adaptive position */\n adaptivePosition = false;\n /** turn on/off animation */\n isAnimated = false;\n /** used to hide results on blur */\n hideResultsOnBlur = true;\n /** if true, typeahead will cancel async request on blur */\n cancelRequestOnFocusLost = false;\n /** used to choose the first item in typeahead container */\n selectFirstItem = true;\n /** used to active/inactive the first item in typeahead container */\n isFirstItemActive = true;\n /** used to choose set minimal no of characters that needs to\n * be entered before typeahead kicks-in\n */\n minLength = 1;\n}\n","/* tslint:disable:max-file-line-count */\nimport {\n ChangeDetectorRef,\n Directive,\n ElementRef,\n EventEmitter,\n HostListener,\n Input,\n OnDestroy,\n OnInit,\n Output,\n Renderer2,\n TemplateRef,\n ViewContainerRef\n} from '@angular/core';\nimport { NgControl } from '@angular/forms';\n\nimport { from, Subscription, isObservable, Observable } from 'rxjs';\nimport { ComponentLoader, ComponentLoaderFactory } from 'ngx-bootstrap/component-loader';\nimport { debounceTime, filter, mergeMap, switchMap, toArray } from 'rxjs/operators';\n\nimport { TypeaheadContainerComponent } from './typeahead-container.component';\nimport { TypeaheadMatch } from './typeahead-match.class';\nimport { TypeaheadConfig } from './typeahead.config';\nimport { getValueFromObject, latinize, tokenize } from './typeahead-utils';\nimport { TypeaheadOrder } from './typeahead-order.class';\nimport { TypeaheadOptionItemContext, TypeaheadOptionListContext } from './models';\n\ntype TypeaheadOption = string | {[key in string | number]: any};\ntype Typeahead = TypeaheadOption[] | Observable<TypeaheadOption[]>;\n\n@Directive({\n selector: '[typeahead]',\n exportAs: 'bs-typeahead',\n host: {\n '[attr.aria-activedescendant]': 'activeDescendant',\n '[attr.aria-aria-owns]': 'isOpen ? this._container.popupId : null',\n '[attr.aria-aria-expanded]': 'isOpen',\n '[attr.aria-autocomplete]': 'list'\n }\n})\nexport class TypeaheadDirective implements OnInit, OnDestroy {\n /** options source, can be Array of strings, objects or\n * an Observable for external matching process\n */\n @Input() typeahead: Typeahead;\n /** minimal no of characters that needs to be entered before\n * typeahead kicks-in. When set to 0, typeahead shows on focus with full\n * list of options (limited as normal by typeaheadOptionsLimit)\n */\n @Input() typeaheadMinLength: number = void 0;\n /** sets use adaptive position */\n @Input() adaptivePosition: boolean;\n /** turn on/off animation */\n @Input() isAnimated = false;\n /** minimal wait time after last character typed before typeahead kicks-in */\n @Input() typeaheadWaitMs: number;\n /** maximum length of options items list. The default value is 20 */\n @Input() typeaheadOptionsLimit: number;\n /** when options source is an array of objects, the name of field\n * that contains the options value, we use array item as option in case\n * of this field is missing. Supports nested properties and methods.\n */\n @Input() typeaheadOptionField: string;\n /** when options source is an array of objects, the name of field that\n * contains the group value, matches are grouped by this field when set.\n */\n @Input() typeaheadGroupField: string;\n /** Used to specify a custom order of matches. When options source is an array of objects\n * a field for sorting has to be set up. In case of options source is an array of string,\n * a field for sorting is absent. The ordering direction could be changed to ascending or descending.\n */\n @Input() typeaheadOrderBy: TypeaheadOrder;\n /** should be used only in case of typeahead attribute is Observable of array.\n * If true - loading of options will be async, otherwise - sync.\n * true make sense if options array is large.\n */\n @Input() typeaheadAsync: boolean = void 0;\n /** match latin symbols.\n * If true the word súper would match super and vice versa.\n */\n @Input() typeaheadLatinize = true;\n /** Can be use to search words by inserting a single white space between each characters\n * for example 'C a l i f o r n i a' will match 'California'.\n */\n @Input() typeaheadSingleWords = true;\n /** should be used only in case typeaheadSingleWords attribute is true.\n * Sets the word delimiter to break words. Defaults to space.\n */\n @Input() typeaheadWordDelimiters = ' ';\n /** should be used only in case typeaheadSingleWords attribute is true.\n * Sets the word delimiter to match exact phrase.\n * Defaults to simple and double quotes.\n */\n @Input() typeaheadPhraseDelimiters = '\\'\"';\n /** used to specify a custom item template.\n * Template variables exposed are called item and index;\n */\n @Input() typeaheadItemTemplate: TemplateRef<TypeaheadOptionItemContext>;\n /** used to specify a custom options list template.\n * Template variables: matches, itemTemplate, query\n */\n @Input() optionsListTemplate: TemplateRef<TypeaheadOptionListContext>;\n /** specifies if typeahead is scrollable */\n @Input() typeaheadScrollable = false;\n /** specifies number of options to show in scroll view */\n @Input() typeaheadOptionsInScrollableView = 5;\n /** used to hide result on blur */\n @Input() typeaheadHideResultsOnBlur: boolean;\n /** fired when an options list was opened and the user clicked Tab\n * If a value equal true, it will be chosen first or active item in the list\n * If value equal false, it will be chosen an active item in the list or nothing\n */\n @Input() typeaheadSelectFirstItem = true;\n /** makes active first item in a list */\n @Input() typeaheadIsFirstItemActive = true;\n /** fired when 'busy' state of this component was changed,\n * fired on async mode only, returns boolean\n */\n @Output() typeaheadLoading = new EventEmitter<boolean>();\n /** fired on every key event and returns true\n * in case of matches are not detected\n */\n @Output() typeaheadNoResults = new EventEmitter<boolean>();\n /** fired when option was selected, return object with data of this option */\n @Output() typeaheadOnSelect = new EventEmitter<TypeaheadMatch>();\n /** fired when blur event occurs. returns the active item */\n @Output() typeaheadOnBlur = new EventEmitter<TypeaheadMatch>();\n\n /**\n * A selector specifying the element the typeahead should be appended to.\n */\n @Input() container: string;\n\n /** This attribute indicates that the dropdown should be opened upwards */\n @Input() dropup = false;\n\n // not yet implemented\n /** if false restrict model values to the ones selected from the popup only will be provided */\n // @Input() protected typeaheadEditable:boolean;\n /** if false the first match automatically will not be focused as you type */\n // @Input() protected typeaheadFocusFirst:boolean;\n /** format the ng-model result after selection */\n // @Input() protected typeaheadInputFormatter:any;\n /** if true automatically select an item when there is one option that exactly matches the user input */\n // @Input() protected typeaheadSelectOnExact:boolean;\n /** if true select the currently highlighted match on blur */\n // @Input() protected typeaheadSelectOnBlur:boolean;\n /** if false don't focus the input element the typeahead directive is associated with on selection */\n // @Input() protected typeaheadFocusOnSelect:boolean;\n\n activeDescendant: string;\n isOpen = false;\n list = 'list';\n _container: TypeaheadContainerComponent;\n isActiveItemChanged = false;\n isFocused = false;\n cancelRequestOnFocusLost = false;\n\n // tslint:disable-next-line:no-any\n protected keyUpEventEmitter: EventEmitter<string> = new EventEmitter();\n protected _matches: TypeaheadMatch[];\n protected placement = 'bottom left';\n\n private _typeahead: ComponentLoader<TypeaheadContainerComponent>;\n private _subscriptions: Subscription[] = [];\n private _outsideClickListener: Function;\n\n constructor(\n cis: ComponentLoaderFactory,\n config: TypeaheadConfig,\n private changeDetection: ChangeDetectorRef,\n private element: ElementRef,\n private ngControl: NgControl,\n private renderer: Renderer2,\n viewContainerRef: ViewContainerRef\n ) {\n\n this._typeahead = cis.createLoader<TypeaheadContainerComponent>(\n element,\n viewContainerRef,\n renderer\n )\n .provide({ provide: TypeaheadConfig, useValue: config });\n\n Object.assign(this,\n {\n typeaheadHideResultsOnBlur: config.hideResultsOnBlur,\n typeaheadCancelRequestOnFocusLost: config.cancelRequestOnFocusLost,\n typeaheadSelectFirstItem: config.selectFirstItem,\n typeaheadIsFirstItemActive: config.isFirstItemActive,\n typeaheadMinLength: config.minLength,\n adaptivePosition: config.adaptivePosition,\n isAnimated: config.isAnimated\n }\n );\n }\n\n ngOnInit(): void {\n this.typeaheadOptionsLimit = this.typeaheadOptionsLimit || 20;\n\n this.typeaheadMinLength =\n this.typeaheadMinLength === void 0 ? 1 : this.typeaheadMinLength;\n\n this.typeaheadWaitMs = this.typeaheadWaitMs || 0;\n\n // async should be false in case of array\n if (this.typeaheadAsync === undefined && !(isObservable(this.typeahead))) {\n this.typeaheadAsync = false;\n }\n\n if (isObservable(this.typeahead)) {\n this.typeaheadAsync = true;\n }\n\n if (this.typeaheadAsync) {\n this.asyncActions();\n } else {\n this.syncActions();\n }\n }\n\n @HostListener('input', ['$event'])\n // tslint:disable-next-line:no-any\n onInput(e: any): void {\n // For `<input>`s, use the `value` property. For others that don't have a\n // `value` (such as `<span contenteditable=\"true\">`), use either\n // `textContent` or `innerText` (depending on which one is supported, i.e.\n // Firefox or IE).\n const value =\n e.target.value !== undefined\n ? e.target.value\n : e.target.textContent !== undefined\n ? e.target.textContent\n : e.target.innerText;\n if (value != null && value.trim().length >= this.typeaheadMinLength) {\n this.typeaheadLoading.emit(true);\n this.keyUpEventEmitter.emit(e.target.value);\n } else {\n this.typeaheadLoading.emit(false);\n this.typeaheadNoResults.emit(false);\n this.hide();\n }\n }\n\n @HostListener('keyup', ['$event'])\n onChange(event: KeyboardEvent): void {\n if (this._container) {\n // esc\n /* tslint:disable-next-line: deprecation */\n if (event.keyCode === 27 || event.key === 'Escape') {\n this.hide();\n\n return;\n }\n\n // up\n /* tslint:disable-next-line: deprecation */\n if (event.keyCode === 38 || event.key === 'ArrowUp') {\n this.isActiveItemChanged = true;\n this._container.prevActiveMatch();\n\n return;\n }\n\n // down\n /* tslint:disable-next-line: deprecation */\n if (event.keyCode === 40 || event.key === 'ArrowDown') {\n this.isActiveItemChanged = true;\n this._container.nextActiveMatch();\n\n return;\n }\n\n // enter\n /* tslint:disable-next-line: deprecation */\n if (event.keyCode === 13 || event.key === 'Enter') {\n this._container.selectActiveMatch();\n\n return;\n }\n }\n }\n\n @HostListener('click')\n @HostListener('focus')\n onFocus(): void {\n this.isFocused = true;\n // add setTimeout to fix issue #5251\n // to get and emit updated value if it's changed on focus\n setTimeout(() => {\n if (this.typeaheadMinLength === 0) {\n this.typeaheadLoading.emit(true);\n this.keyUpEventEmitter.emit(this.element.nativeElement.value || '');\n }\n }, 0);\n }\n\n @HostListener('blur')\n onBlur(): void {\n this.isFocused = false;\n if (this._container && !this._container.isFocused) {\n this.typeaheadOnBlur.emit(this._container.active);\n }\n\n if (!this.container && this._matches.length === 0) {\n this.typeaheadOnBlur.emit(new TypeaheadMatch(\n this.element.nativeElement.value,\n this.element.nativeElement.value,\n false));\n }\n }\n\n @HostListener('keydown', ['$event'])\n onKeydown(event: KeyboardEvent): void {\n // no container - no problems\n if (!this._container) {\n return;\n }\n\n /* tslint:disable-next-line: deprecation */\n if (event.keyCode === 9 || event.key === 'Tab') {\n this.onBlur();\n }\n\n /* tslint:disable-next-line: deprecation */\n if (event.keyCode === 9 || event.key === 'Tab' || event.keyCode === 13 || event.key === 'Enter') {\n event.preventDefault();\n if (this.typeaheadSelectFirstItem) {\n this._container.selectActiveMatch();\n\n return;\n }\n\n if (!this.typeaheadSelectFirstItem) {\n this._container.selectActiveMatch(this.isActiveItemChanged);\n this.isActiveItemChanged = false;\n this.hide();\n }\n }\n }\n\n changeModel(match: TypeaheadMatch): void {\n const valueStr: string = match.value;\n this.ngControl.viewToModelUpdate(valueStr);\n (this.ngControl.control).setValue(valueStr);\n this.changeDetection.markForCheck();\n this.hide();\n }\n\n get matches(): TypeaheadMatch[] {\n return this._matches;\n }\n\n show(): void {\n this._typeahead\n .attach(TypeaheadContainerComponent)\n .to(this.container)\n .position({attachment: `${this.dropup ? 'top' : 'bottom'} left`})\n .show({\n typeaheadRef: this,\n placement: this.placement,\n animation: false,\n dropup: this.dropup\n });\n\n this._outsideClickListener = this.renderer.listen('document', 'click', (e: MouseEvent) => {\n if (this.typeaheadMinLength === 0 && this.element.nativeElement.contains(e.target)) {\n return undefined;\n }\n if (!this.typeaheadHideResultsOnBlur || this.element.nativeElement.contains(e.target)) {\n return undefined;\n }\n this.onOutsideClick();\n });\n\n this._container = this._typeahead.instance;\n this._container.parent = this;\n // This improves the speed as it won't have to be done for each list item\n\n const normalizedQuery = (this.typeaheadLatinize\n ? latinize(this.ngControl.control.value)\n : this.ngControl.control.value)\n .toString()\n .toLowerCase();\n\n this._container.query = this.typeaheadSingleWords\n ? tokenize(\n normalizedQuery,\n this.typeaheadWordDelimiters,\n this.typeaheadPhraseDelimiters\n )\n : normalizedQuery;\n\n this._container.matches = this._matches;\n this.element.nativeElement.focus();\n\n this._container.activeChangeEvent.subscribe((activeId: string) => {\n this.activeDescendant = activeId;\n this.changeDetection.markForCheck();\n });\n this.isOpen = true;\n }\n\n hide(): void {\n if (this._typeahead.isShown) {\n this._typeahead.hide();\n this._outsideClickListener();\n this._container = null;\n this.isOpen = false;\n this.changeDetection.markForCheck();\n }\n }\n\n onOutsideClick(): void {\n if (this._container && !this._container.isFocused) {\n this.hide();\n }\n }\n\n ngOnDestroy() {\n // clean up subscriptions\n for (const sub of this._subscriptions) {\n sub.unsubscribe();\n }\n this._typeahead.dispose();\n }\n\n protected asyncActions(): void {\n this._subscriptions.push(\n this.keyUpEventEmitter\n .pipe(\n debounceTime<string>(this.typeaheadWaitMs),\n switchMap(() => this.typeahead)\n )\n .subscribe((matches: TypeaheadOption[]) => {\n this.finalizeAsyncCall(matches);\n })\n );\n }\n\n protected syncActions(): void {\n this._subscriptions.push(\n this.keyUpEventEmitter\n .pipe(\n debounceTime<string>(this.typeaheadWaitMs),\n mergeMap((value: string) => {\n const normalizedQuery = this.normalizeQuery(value);\n\n return from(this.typeahead)\n .pipe(\n filter((option: TypeaheadOption) => {\n return option && this.testMatch(this.normalizeOption(option), normalizedQuery);\n }),\n toArray()\n );\n })\n )\n .subscribe((matches: TypeaheadOption[]) => {\n this.finalizeAsyncCall(matches);\n })\n );\n }\n\n protected normalizeOption(option: TypeaheadOption): string {\n const optionValue: string = getValueFromObject(\n option,\n this.typeaheadOptionField\n );\n const normalizedOption = this.typeaheadLatinize\n ? latinize(optionValue)\n : optionValue;\n\n return normalizedOption.toLowerCase();\n }\n\n protected normalizeQuery(value: string): string | string[] {\n // If singleWords, break model here to not be doing extra work on each iteration\n let normalizedQuery: string | string[] = (this.typeaheadLatinize\n ? latinize(value)\n : value)\n .toString()\n .toLowerCase();\n normalizedQuery = this.typeaheadSingleWords\n ? tokenize(\n normalizedQuery,\n this.typeaheadWordDelimiters,\n this.typeaheadPhraseDelimiters\n )\n : normalizedQuery;\n\n return normalizedQuery;\n }\n\n protected testMatch(match: string, test: string[] | string): boolean {\n let spaceLength: number;\n\n if (typeof test === 'object') {\n spaceLength = test.length;\n for (let i = 0; i < spaceLength; i += 1) {\n if (test[i].length > 0 && match.indexOf(test[i]) < 0) {\n return false;\n }\n }\n\n return true;\n }\n\n return match.indexOf(test) >= 0;\n }\n\n protected finalizeAsyncCall(matches: TypeaheadOption[]): void {\n this.prepareMatches(matches || []);\n\n this.typeaheadLoading.emit(false);\n this.typeaheadNoResults.emit(!this.hasMatches());\n\n if (!this.hasMatches()) {\n this.hide();\n\n return;\n }\n\n if (!this.isFocused && this.cancelRequestOnFocusLost) {\n return;\n }\n\n if (this._container) {\n // fix: remove usage of ngControl internals\n const _controlValue = (this.typeaheadLatinize\n ? latinize(this.ngControl.control.value)\n : this.ngControl.control.value) || '';\n\n // This improves the speed as it won't have to be done for each list item\n const normalizedQuery = _controlValue.toString().toLowerCase();\n\n this._container.query = this.typeaheadSingleWords\n ? tokenize(\n normalizedQuery,\n this.typeaheadWordDelimiters,\n this.typeaheadPhraseDelimiters\n )\n : normalizedQuery;\n this._container.matches = this._matches;\n } else {\n this.show();\n }\n }\n\n protected prepareMatches(options: TypeaheadOption[]): void {\n const limited = options.slice(0, this.typeaheadOptionsLimit);\n const sorted = !this.typeaheadOrderBy ? limited : this.orderMatches(limited);\n\n if (this.typeaheadGroupField) {\n let matches: TypeaheadMatch[] = [];\n\n // extract all group names\n const groups = sorted\n .map((option: TypeaheadMatch) =>\n getValueFromObject(option, this.typeaheadGroupField)\n )\n .filter((v: string, i: number, a: string[]) => a.indexOf(v) === i);\n\n groups.forEach((group: string) => {\n // add group header to array of matches\n matches.push(new TypeaheadMatch(group, group, true));\n\n // add each item of group to array of matches\n matches = matches.concat(\n sorted\n .filter((option: TypeaheadOption) =>\n getValueFromObject(option, this.typeaheadGroupField) === group\n )\n .map((option: TypeaheadOption) =>\n new TypeaheadMatch(\n option,\n getValueFromObject(option, this.typeaheadOptionField)\n )\n )\n );\n });\n\n this._matches = matches;\n } else {\n this._matches = sorted.map(\n // tslint:disable-next-line:no-any\n (option: any) =>\n new TypeaheadMatch(\n option,\n getValueFromObject(option, this.typeaheadOptionField)\n )\n );\n }\n }\n\n protected orderMatches(options: TypeaheadOption[]): TypeaheadOption[] {\n if (!options.length) {\n return options;\n }\n\n if (this.typeaheadOrderBy !== null\n && this.typeaheadOrderBy !== undefined\n && typeof this.typeaheadOrderBy === 'object'\n && Object.keys(this.typeaheadOrderBy).length === 0) {\n // tslint:disable-next-line:no-console\n console.error('Field and direction properties for typeaheadOrderBy have to be set according to documentation!');\n\n return options;\n }\n\n const { field, direction } = this.typeaheadOrderBy;\n\n if (!direction || !(direction === 'asc' || direction === 'desc')) {\n // tslint:disable-next-line:no-console\n console.error('typeaheadOrderBy direction has to equal \"asc\" or \"desc\". Please follow the documentation.');\n\n return options;\n }\n\n if (typeof options[0] === 'string') {\n return direction === 'asc' ? options.sort() : options.sort().reverse();\n }\n\n if (!field || typeof field !== 'string') {\n // tslint:disable-next-line:no-console\n console.error('typeaheadOrderBy field has to set according to the documentation.');\n\n return options;\n }\n\n return options.sort((a: TypeaheadOption, b: TypeaheadOption) => {\n const stringA = getValueFromObject(a, field);\n const stringB = getValueFromObject(b, field);\n\n if (stringA < stringB) {\n return direction === 'asc' ? -1 : 1;\n }\n\n if (stringA > stringB) {\n return direction === 'asc' ? 1 : -1;\n }\n\n return 0;\n });\n }\n\n protected hasMatches(): boolean {\n return this._matches.length > 0;\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule, ModuleWithProviders } from '@angular/core';\n\nimport { TypeaheadContainerComponent } from './typeahead-container.component';\nimport { TypeaheadDirective } from './typeahead.directive';\nimport { ComponentLoaderFactory } from 'ngx-bootstrap/component-loader';\nimport { PositioningService } from 'ngx-bootstrap/positioning';\nimport { TypeaheadConfig } from './typeahead.config';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [TypeaheadContainerComponent, TypeaheadDirective],\n exports: [TypeaheadContainerComponent, TypeaheadDirective],\n entryComponents: [TypeaheadContainerComponent]\n})\nexport class TypeaheadModule {\n static forRoot(): ModuleWithProviders {\n return {\n ngModule: TypeaheadModule,\n providers: [ComponentLoaderFactory, PositioningService, TypeaheadConfig]\n };\n }\n}\n"],"names":["tslib_1.__values"],"mappings":";;;;;;;;;;;;;;;;;IACa,QAAQ,GAA8B;IAC/C,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,G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"}
|
@@ -0,0 +1,41 @@
|
|
1
|
+
import { TemplateRef } from '@angular/core';
|
2
|
+
import { TypeaheadMatch } from '../typeahead-match.class';
|
3
|
+
/**
|
4
|
+
* A context for the `optionsListTemplate`
|
5
|
+
* input template in case you want to override default one
|
6
|
+
*/
|
7
|
+
export interface TypeaheadOptionListContext {
|
8
|
+
/** All matches */
|
9
|
+
matches: TypeaheadMatch[];
|
10
|
+
/** Item template */
|
11
|
+
itemTemplate: TemplateRef<TypeaheadOptionItemContext>;
|
12
|
+
/** Search query */
|
13
|
+
query: string[] | string;
|
14
|
+
/** Typeahead template methods */
|
15
|
+
$implicit: TypeaheadTemplateMethods;
|
16
|
+
}
|
17
|
+
/**
|
18
|
+
* A context for the `typeaheadItemTemplate`
|
19
|
+
* input template in case you want to override default one
|
20
|
+
*/
|
21
|
+
export interface TypeaheadOptionItemContext {
|
22
|
+
/** Item */
|
23
|
+
item: any;
|
24
|
+
/** Item index */
|
25
|
+
index: number;
|
26
|
+
/** Typeahead match */
|
27
|
+
match: TypeaheadMatch;
|
28
|
+
/** Search query */
|
29
|
+
query: string[] | string;
|
30
|
+
}
|
31
|
+
/**
|
32
|
+
* Methods for `optionsListTemplate` context
|
33
|
+
*/
|
34
|
+
export interface TypeaheadTemplateMethods {
|
35
|
+
/** Function to select an option by click event */
|
36
|
+
selectMatch(value: TypeaheadMatch, e?: Event): void;
|
37
|
+
/** Function to select an option by mouseenter event */
|
38
|
+
selectActive(value: TypeaheadMatch): void;
|
39
|
+
/** Function to check if an option is active */
|
40
|
+
isActive(value: TypeaheadMatch): boolean;
|
41
|
+
}
|