{"version":3,"file":"portal/layouts/AV9NY/layout.f97662e1995f032a4d1e.bundle.js","mappings":"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","sources":["webpack://portal/./implementation/api/announcement-api.js","webpack://portal/./node_modules/vue-youtube-embed/lib/vue-youtube-embed.js","webpack://portal/./implementation/common/js/add-youtube-plugin.js","webpack://portal/./implementation/common/js/plugins/plugins.js","webpack://portal/./implementation/common/js/referer/referer.js","webpack://portal/./implementation/common/js/campaign/campaign.js","webpack://portal/./implementation/common/js/before-directive/before-directive.js","webpack://portal/./implementation/common/js/android-phone-href/android-phone-href.js","webpack://portal/./implementation/common/js/iphone-href/iphone-href.js","webpack://portal/./implementation/common/components/rco-single-package-picker/rco-single-package-picker.js","webpack://portal/./implementation/common/components/rco-single-package-picker/rco-single-package-picker-button/rco-single-package-picker-button.vue","webpack://portal/./implementation/common/components/rco-single-package-picker/rco-single-package-picker-button/rco-single-package-picker-button.vue?1b57","webpack://portal/./implementation/common/components/rco-single-package-picker/rco-single-package-picker-button/rco-single-package-picker-button.vue?f354","webpack://portal/./implementation/api/slayer-api.js","webpack://portal/./implementation/common/components/slayer/composables/layers.js","webpack://portal/./implementation/common/components/slayer/components/technical-error.vue","webpack://portal/./implementation/common/components/slayer/components/technical-error.vue?62c6","webpack://portal/./implementation/common/components/slayer/components/technical-error.vue?b5fc","webpack://portal/./implementation/common/components/slayer/slayer.vue","webpack://portal/./implementation/common/components/slayer/slayer.vue?f042","webpack://portal/./implementation/common/components/slayer/composables/gtm.js","webpack://portal/./implementation/common/components/slayer/slayer.vue?11b6","webpack://portal/./implementation/common/js/common.js","webpack://portal/./implementation/common/js/currency-filter/currency-filter.js","webpack://portal/./implementation/common/js/number-filter/number-filter.js","webpack://portal/./implementation/common/js/date-filter/date-filter.js","webpack://portal/./implementation/common/js/zero-fill-filter/zero-fill-filter.js","webpack://portal/./implementation/common/js/capitalize/capitalize.js","webpack://portal/./implementation/common/js/composables/is-mobile.js","webpack://portal/./implementation/api/personalization-api.js","webpack://portal/./implementation/common/js/composables/personalization.js","webpack://portal/./implementation/common/js/lang/i18n.js","webpack://portal/./implementation/common/js/media-query/media-query.js","webpack://portal/./implementation/common/js/svg-contains-polyfill/svg-contains-polyfill.js","webpack://portal/./implementation/layouts/AV9NY/layout.js","webpack://portal/./implementation/common/js/get-exchange-marzs/get-exchange-marzs.js","webpack://portal/./implementation/common/components/exchange-marzs/exchange-marzs.vue","webpack://portal/./implementation/common/components/exchange-marzs/exchange-marzs.vue?3085","webpack://portal/./implementation/common/components/exchange-marzs/exchange-marzs.vue?1bef","webpack://portal/./implementation/common/components/announcement/announcement-vuex.js","webpack://portal/./implementation/common/components/announcement/announcement.vue","webpack://portal/./implementation/common/components/announcement/announcement.vue?178e","webpack://portal/./implementation/common/components/announcement/announcement.vue?1267","webpack://portal/./implementation/common/components/visibility-container/visibility-container.js","webpack://portal/./implementation/modules/MHER/mher.vue","webpack://portal/./implementation/modules/MHER/mher.vue?d89b","webpack://portal/./implementation/modules/MHER/mher.vue?86d4","webpack://portal/./node_modules/swiper/shared/create-element-if-not-defined.mjs","webpack://portal/./node_modules/swiper/shared/classes-to-selector.mjs","webpack://portal/./node_modules/swiper/modules/manipulation.mjs","webpack://portal/./node_modules/swiper/shared/effect-init.mjs","webpack://portal/./node_modules/swiper/shared/effect-target.mjs","webpack://portal/./node_modules/swiper/shared/effect-virtual-transition-end.mjs","webpack://portal/./node_modules/swiper/shared/create-shadow.mjs","webpack://portal/./node_modules/swiper/swiper-bundle.mjs","webpack://portal/./node_modules/swiper/modules/virtual.mjs","webpack://portal/./node_modules/swiper/modules/keyboard.mjs","webpack://portal/./node_modules/swiper/modules/mousewheel.mjs","webpack://portal/./node_modules/swiper/modules/navigation.mjs","webpack://portal/./node_modules/swiper/modules/pagination.mjs","webpack://portal/./node_modules/swiper/modules/scrollbar.mjs","webpack://portal/./node_modules/swiper/modules/parallax.mjs","webpack://portal/./node_modules/swiper/modules/zoom.mjs","webpack://portal/./node_modules/swiper/modules/controller.mjs","webpack://portal/./node_modules/swiper/modules/a11y.mjs","webpack://portal/./node_modules/swiper/modules/history.mjs","webpack://portal/./node_modules/swiper/modules/hash-navigation.mjs","webpack://portal/./node_modules/swiper/modules/autoplay.mjs","webpack://portal/./node_modules/swiper/modules/thumbs.mjs","webpack://portal/./node_modules/swiper/modules/free-mode.mjs","webpack://portal/./node_modules/swiper/modules/grid.mjs","webpack://portal/./node_modules/swiper/modules/effect-fade.mjs","webpack://portal/./node_modules/swiper/modules/effect-cube.mjs","webpack://portal/./node_modules/swiper/modules/effect-flip.mjs","webpack://portal/./node_modules/swiper/modules/effect-coverflow.mjs","webpack://portal/./node_modules/swiper/modules/effect-creative.mjs","webpack://portal/./node_modules/swiper/modules/effect-cards.mjs","webpack://portal/./node_modules/swiper/shared/update-swiper.mjs","webpack://portal/./node_modules/swiper/shared/get-element-params.mjs","webpack://portal/./node_modules/swiper/swiper-element-bundle.mjs","webpack://portal/./implementation/layouts/layout-base.js","webpack://portal/./implementation/modules/MACC/macc.js","webpack://portal/./implementation/modules/MSTB/mstb.js","webpack://portal/./implementation/modules/MSUP/msup.js","webpack://portal/./node_modules/@ui-common/vue-accordion/dist/vue-accordion.umd.js","webpack://portal/./node_modules/@ui-common/vue-call-request-modal-glue/dist/vue-call-request-modal-glue.umd.js","webpack://portal/./node_modules/@ui-common/vue-live-announcer/dist/vue-live-announcer.umd.js","webpack://portal/./node_modules/@ui-common/vue-table-of-content/dist/vue-table-of-content.umd.js","webpack://portal/./node_modules/define-data-property/index.js","webpack://portal/./node_modules/es-define-property/index.js","webpack://portal/./node_modules/es-errors/eval.js","webpack://portal/./node_modules/es-errors/index.js","webpack://portal/./node_modules/es-errors/range.js","webpack://portal/./node_modules/es-errors/ref.js","webpack://portal/./node_modules/es-errors/syntax.js","webpack://portal/./node_modules/es-errors/type.js","webpack://portal/./node_modules/es-errors/uri.js","webpack://portal/./node_modules/function-bind/implementation.js","webpack://portal/./node_modules/function-bind/index.js","webpack://portal/./node_modules/get-intrinsic/index.js","webpack://portal/./node_modules/get-query-param/index.js","webpack://portal/./node_modules/gopd/index.js","webpack://portal/./node_modules/hammerjs/hammer.js","webpack://portal/./node_modules/has-property-descriptors/index.js","webpack://portal/./node_modules/has-proto/index.js","webpack://portal/./node_modules/has-symbols/index.js","webpack://portal/./node_modules/has-symbols/shams.js","webpack://portal/./node_modules/hasown/index.js","webpack://portal/./node_modules/is-plain-obj/index.js","webpack://portal/./node_modules/is-url/index.js","webpack://portal/./node_modules/left-pad/index.js","webpack://portal/./node_modules/normalize-url/index.js","webpack://portal/./node_modules/normalize-url/node_modules/query-string/index.js","webpack://portal/./node_modules/outerwidth/index.js","webpack://portal/./node_modules/portal-vue/dist/portal-vue.common.js","webpack://portal/./node_modules/prepend-http/index.js","webpack://portal/./node_modules/set-function-length/index.js","webpack://portal/./node_modules/sort-keys/index.js","webpack://portal/./node_modules/tiny-cookie/tiny-cookie.js","webpack://portal/./node_modules/url/node_modules/call-bind/callBound.js","webpack://portal/./node_modules/url/node_modules/call-bind/index.js","webpack://portal/./node_modules/url/node_modules/object-inspect/index.js","webpack://portal/./node_modules/url/node_modules/qs/lib/formats.js","webpack://portal/./node_modules/url/node_modules/qs/lib/index.js","webpack://portal/./node_modules/url/node_modules/qs/lib/parse.js","webpack://portal/./node_modules/url/node_modules/qs/lib/stringify.js","webpack://portal/./node_modules/url/node_modules/qs/lib/utils.js","webpack://portal/./node_modules/url/node_modules/side-channel/index.js","webpack://portal/./node_modules/url/url.js","webpack://portal/./node_modules/vue-cookie/src/vue-cookie.js","webpack://portal/./node_modules/vue-dom-portal/dist/vue-dom-portal.common.js","webpack://portal/./node_modules/vue-focus/dist/vue-focus.common.js","webpack://portal/./node_modules/vue-gtm/dist/vue-gtm.min.js","webpack://portal/./node_modules/vue-media-queries/dist/vue-media-queries.js","webpack://portal/./node_modules/vue-scrollto/vue-scrollto.js","webpack://portal/./node_modules/vue-touch/dist/vue-touch.js","webpack://portal/./node_modules/wicg-inert/dist/inert.js","webpack://portal/./node_modules/moment/locale/ sync en%7Chu","webpack://portal/./implementation/applications/branch-atm-widget-wrapper/branch-atm-widget-wrapper.vue","webpack://portal/./implementation/applications/branch-atm-widget-wrapper/branch-atm-widget-wrapper.vue?81d8","webpack://portal/./implementation/applications/branch-atm-widget-wrapper/branch-atm-widget-wrapper.vue?c1a8","webpack://portal/./implementation/common/components/accept-pdf-modal/accept-pdf-modal.vue","webpack://portal/./implementation/common/components/accept-pdf-modal/accept-pdf-modal.vue?1044","webpack://portal/./implementation/common/components/accept-pdf-modal/accept-pdf-modal.vue?f51b","webpack://portal/./implementation/common/components/rco-foreign-currency-account-picker-button/rco-foreign-currency-account-picker-button.vue","webpack://portal/./implementation/common/components/rco-foreign-currency-account-picker-button/rco-foreign-currency-account-picker-button.vue?b084","webpack://portal/./implementation/common/components/rco-foreign-currency-account-picker-button/rco-foreign-currency-account-picker-button.vue?8e7a","webpack://portal/./implementation/common/components/tabs/tabs.js","webpack://portal/./implementation/common/components/tabs/tabs.js?0d2c","webpack://portal/./implementation/common/components/tabs/tabs.vue","webpack://portal/./implementation/common/components/video-player/video-player.vue","webpack://portal/./implementation/common/components/video-player/video-player-youtube/video-player-youtube.vue","webpack://portal/./implementation/common/components/video-player/video-player-youtube/video-player-youtube.vue?a657","webpack://portal/./implementation/common/components/video-player/video-player-youtube/video-player-youtube.vue?39cb","webpack://portal/./implementation/common/components/video-player/video-player-playlist/video-player-playlist.vue","webpack://portal/./implementation/common/components/video-player/video-player-playlist/video-player-playlist.vue?60ee","webpack://portal/./implementation/common/components/video-player/video-player-playlist/video-player-playlist.vue?32af","webpack://portal/./implementation/common/components/video-player/video-player-recommended/video-player-recommended.vue","webpack://portal/./implementation/common/components/video-player/video-player-recommended/video-player-recommended.vue?6be3","webpack://portal/./implementation/common/components/video-player/video-player-recommended/video-player-recommended.vue?2c6d","webpack://portal/./implementation/common/components/video-player/video-player-full-text/video-player-full-text.vue?efb6","webpack://portal/./implementation/common/components/video-player/video-player-full-text/video-player-full-text.vue","webpack://portal/./implementation/common/components/video-player/video-player.vue?94b4","webpack://portal/./implementation/common/components/video-player/video-player.vue?316c","webpack://portal/./implementation/common/components/video-preview/video-preview.vue","webpack://portal/./implementation/common/components/video-preview/video-preview.vue?e000","webpack://portal/./implementation/common/components/video-preview/video-preview.vue?55bd","webpack://portal/./implementation/modules/MASD/masd.vue","webpack://portal/./implementation/modules/MASD/masd.vue?315d","webpack://portal/./implementation/modules/MASD/masd.vue?1624","webpack://portal/./implementation/modules/MHAP/mhap.vue","webpack://portal/./implementation/modules/MHAP/mhap.vue?bce5","webpack://portal/./implementation/modules/MHAP/mhap.vue?5b84","webpack://portal/./implementation/modules/MJBL/mjbl.pug","webpack://portal/./implementation/modules/MJBL/mjbl.js","webpack://portal/./implementation/modules/MJBL/mjbl.js?f29b","webpack://portal/./implementation/modules/MJBL/mjbl.vue","webpack://portal/./node_modules/swiper/shared/ssr-window.esm.mjs","webpack://portal/./node_modules/swiper/shared/swiper-core.mjs","webpack://portal/./node_modules/swiper/shared/utils.mjs","webpack://portal/./node_modules/vue-i18n-composable/dist/index.mjs"],"sourcesContent":["import axios from 'axios';\r\nexport default {\r\n\tgetAnnouncements(params) {\r\n\t\treturn axios.post('/announcement/api/query', params);\r\n\t}\r\n};\r\n","/*!\n * Vue YouTube Embed version 2.2.1\n * under MIT License copyright 2018 kaorun343\n */\n// fork from https://github.com/brandly/angular-youtube-embed\n\nif (!String.prototype.includes) {\n String.prototype.includes = function () {\n return String.prototype.indexOf.apply(this, arguments) !== -1\n };\n}\n\nvar youtubeRegexp = /https?:\\/\\/(?:[0-9A-Z-]+\\.)?(?:youtu\\.be\\/|youtube(?:-nocookie)?\\.com\\S*[^\\w\\s-])([\\w-]{11})(?=[^\\w-]|$)(?![?=&+%\\w.-]*(?:['\"][^<>]*>|<\\/a>))[?=&+%\\w.-]*/ig;\nvar timeRegexp = /t=(\\d+)[ms]?(\\d+)?s?/;\n\n/**\n * get id from url\n * @param {string} url url\n * @return {string} id\n */\nfunction getIdFromURL (url) {\n var id = url.replace(youtubeRegexp, '$1');\n\n if (id.includes(';')) {\n var pieces = id.split(';');\n\n if (pieces[1].includes('%')) {\n var uriComponent = decodeURIComponent(pieces[1]);\n id = (\"http://youtube.com\" + uriComponent).replace(youtubeRegexp, '$1');\n } else {\n id = pieces[0];\n }\n } else if (id.includes('#')) {\n id = id.split('#')[0];\n }\n\n return id\n}\n\n/**\n * get time from url\n * @param {string} url url\n * @return {number} time\n */\nfunction getTimeFromURL (url) {\n if ( url === void 0 ) url = '';\n\n var times = url.match(timeRegexp);\n\n if (!times) {\n return 0\n }\n\n var full = times[0];\n var minutes = times[1];\n var seconds = times[2];\n\n if (typeof seconds !== 'undefined') {\n seconds = parseInt(seconds, 10);\n minutes = parseInt(minutes, 10);\n } else if (full.includes('m')) {\n minutes = parseInt(minutes, 10);\n seconds = 0;\n } else {\n seconds = parseInt(minutes, 10);\n minutes = 0;\n }\n\n return seconds + (minutes * 60)\n}\n\nvar container = {\n scripts: [],\n events: {},\n\n run: function run () {\n var this$1 = this;\n\n this.scripts.forEach(function (callback) {\n callback(this$1.YT);\n });\n this.scripts = [];\n },\n\n register: function register (callback) {\n var this$1 = this;\n\n if (this.YT) {\n this.Vue.nextTick(function () {\n callback(this$1.YT);\n });\n } else {\n this.scripts.push(callback);\n }\n }\n};\n\nvar pid = 0;\n\nvar YouTubePlayer = {\n props: {\n playerHeight: {\n type: [String, Number],\n default: '390'\n },\n playerWidth: {\n type: [String, Number],\n default: '640'\n },\n playerVars: {\n type: Object,\n default: function () { return ({ autoplay: 0, time: 0 }); }\n },\n videoId: {\n type: String\n },\n mute: {\n type: Boolean,\n default: false\n }\n },\n render: function render (h) {\n return h('div', [\n h('div', { attrs: { id: this.elementId }})\n ])\n },\n template: '
',\n watch: {\n playerWidth: 'setSize',\n playerHeight: 'setSize',\n videoId: 'update',\n mute: 'setMute'\n },\n data: function data () {\n pid += 1;\n return {\n elementId: (\"youtube-player-\" + pid),\n player: {}\n }\n },\n methods: {\n setSize: function setSize () {\n this.player.setSize(this.playerWidth, this.playerHeight);\n },\n setMute: function setMute (value) {\n if (value) {\n this.player.mute();\n } else {\n this.player.unMute();\n }\n },\n update: function update (videoId) {\n var name = (this.playerVars.autoplay ? 'load' : 'cue') + \"VideoById\";\n if (this.player.hasOwnProperty(name)) {\n this.player[name](videoId);\n } else {\n setTimeout(function () {\n this.update(videoId);\n }.bind(this), 100);\n }\n }\n },\n mounted: function mounted () {\n var this$1 = this;\n\n container.register(function (YouTube) {\n var ref = this$1;\n var playerHeight = ref.playerHeight;\n var playerWidth = ref.playerWidth;\n var playerVars = ref.playerVars;\n var videoId = ref.videoId;\n\n this$1.player = new YouTube.Player(this$1.elementId, {\n height: playerHeight,\n width: playerWidth,\n playerVars: playerVars,\n videoId: videoId,\n events: {\n onReady: function (event) {\n this$1.setMute(this$1.mute);\n this$1.$emit('ready', event);\n },\n onStateChange: function (event) {\n if (event.data !== -1) {\n this$1.$emit(container.events[event.data], event);\n }\n },\n onError: function (event) {\n this$1.$emit('error', event);\n }\n }\n });\n });\n },\n beforeDestroy: function beforeDestroy () {\n if (this.player !== null && this.player.destroy) {\n this.player.destroy();\n }\n delete this.player;\n }\n};\n\nvar index = {\n install: function install (Vue, options) {\n if ( options === void 0 ) options = {};\n\n container.Vue = Vue;\n YouTubePlayer.ready = YouTubePlayer.mounted;\n var global = options.global; if ( global === void 0 ) global = true;\n var componentId = options.componentId; if ( componentId === void 0 ) componentId = 'youtube';\n\n if (global) {\n // if there is a global component with \"youtube\" identifier already taken\n // then we should let user to pass a new identifier.\n Vue.component(componentId, YouTubePlayer);\n }\n Vue.prototype.$youtube = { getIdFromURL: getIdFromURL, getTimeFromURL: getTimeFromURL };\n\n if (typeof window !== 'undefined' && typeof document !== 'undefined') {\n var tag = document.createElement('script');\n tag.src = 'https://www.youtube.com/player_api';\n var firstScriptTag = document.getElementsByTagName('script')[0];\n firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);\n\n window.onYouTubeIframeAPIReady = function () {\n container.YT = YT;\n var PlayerState = YT.PlayerState;\n\n container.events[PlayerState.ENDED] = 'ended';\n container.events[PlayerState.PLAYING] = 'playing';\n container.events[PlayerState.PAUSED] = 'paused';\n container.events[PlayerState.BUFFERING] = 'buffering';\n container.events[PlayerState.CUED] = 'cued';\n\n container.Vue.nextTick(function () {\n container.run();\n });\n };\n }\n }\n};\n\nexport default index;\nexport { YouTubePlayer, getIdFromURL, getTimeFromURL };\n","import Vue from 'vue';\r\nimport VueYouTubeEmbed from 'vue-youtube-embed';\r\nexport const addYoutubePlugin = () => {\r\n\tVue.use(VueYouTubeEmbed);\r\n};\r\n","import Vue from 'vue';\r\n\r\nimport VueScrollTo from 'vue-scrollto';\r\nimport Vuelidate from 'vuelidate';\r\nimport VueGtm from 'vue-gtm';\r\nimport { mediaQueries } from '../media-query/media-query';\r\nimport VueCookie from 'vue-cookie';\r\nimport VueModal from '@ui-common/vue-modal';\r\nimport VueLiveAnnouncerPlugin from '@ui-common/vue-live-announcer';\r\nimport Vuex from 'vuex';\r\nimport DomPortal from 'vue-dom-portal';\r\n\r\nVue.use(VueModal);\r\nVue.use(VueScrollTo);\r\nVue.use(VueGtm, {\r\n\t// debug: true\r\n});\r\nVue.use(Vuelidate);\r\nVue.use(VueCookie);\r\nVue.use(mediaQueries);\r\nVue.use(DomPortal);\r\nVue.use(Vuex);\r\nVue.use(VueLiveAnnouncerPlugin);\r\n","import Vue from 'vue';\r\nimport { COOKIE_GDPR_LEVEL, GDPR_LEVELS } from '../constants/constants';\r\nconst COOKIE_PORTAL_REFERER = 'portal_referer';\r\n\r\nexport const initReferer = () => {\r\n\tlet gdprLevel = Vue.cookie.get(COOKIE_GDPR_LEVEL);\r\n\tif (gdprLevel == GDPR_LEVELS.HIGH) {\r\n\t\tlet refererCookie = Vue.cookie.get(COOKIE_PORTAL_REFERER);\r\n\t\tif (!refererCookie && document.referrer) {\r\n\t\t\tVue.cookie.set(COOKIE_PORTAL_REFERER, document.referrer, { path: '/' });\r\n\t\t}\r\n\t}\r\n};\r\n\r\nexport const deleteReferer = () => {\r\n\tVue.cookie.delete(COOKIE_PORTAL_REFERER);\r\n};\r\n","import queryString from 'query-string';\r\nimport Vue from 'vue';\r\nconst COOKIE_PORTAL_KAMPANY_SOURCE = 'portal_kampany_source';\r\nconst COOKIE_PORTAL_KAMPANY_MEDIUM = 'portal_kampany_medium';\r\nconst COOKIE_PORTAL_KAMPANY_CAMPAIGN = 'portal_kampany_campaign';\r\nconst COOKIE_PORTAL_KAMPANY_TERM = 'portal_kampany_term';\r\nconst COOKIE_PORTAL_KAMPANY_CONTENT = 'portal_kampany_content';\r\nexport const initCampaign = () => {\r\n\tlet isUtm = true;\r\n\tlet parsed = queryString.parse(location.search);\r\n\tlet campaign = parsed.utm_source;\r\n\tif (!campaign) {\r\n\t\tcampaign = parsed.otpkampany_source;\r\n\t\tisUtm = false;\r\n\t}\r\n\tif (campaign) {\r\n\t\tif (isUtm) {\r\n\t\t\tVue.cookie.set(COOKIE_PORTAL_KAMPANY_SOURCE, parsed.utm_source?.substring(0, 255), { path: '/' });\r\n\t\t\tVue.cookie.set(COOKIE_PORTAL_KAMPANY_MEDIUM, parsed.utm_medium?.substring(0, 255), { path: '/' });\r\n\t\t\tVue.cookie.set(COOKIE_PORTAL_KAMPANY_CAMPAIGN, parsed.utm_campaign?.substring(0, 255), { path: '/' });\r\n\t\t\tVue.cookie.set(COOKIE_PORTAL_KAMPANY_TERM, parsed.utm_term?.substring(0, 255), { path: '/' });\r\n\t\t\tVue.cookie.set(COOKIE_PORTAL_KAMPANY_CONTENT, parsed.utm_content?.substring(0, 255), { path: '/' });\r\n\t\t} else {\r\n\t\t\tVue.cookie.set(COOKIE_PORTAL_KAMPANY_SOURCE, parsed.otpkampany_source?.substring(0, 255), { path: '/' });\r\n\t\t\tVue.cookie.set(COOKIE_PORTAL_KAMPANY_MEDIUM, parsed.otpkampany_medium?.substring(0, 255), { path: '/' });\r\n\t\t\tVue.cookie.set(COOKIE_PORTAL_KAMPANY_CAMPAIGN, parsed.otpkampany_campaign?.substring(0, 255), { path: '/' });\r\n\t\t}\r\n\t}\r\n};\r\n\r\nexport const deleteCampaign = () => {\r\n\tVue.cookie.delete(COOKIE_PORTAL_KAMPANY_SOURCE);\r\n\tVue.cookie.delete(COOKIE_PORTAL_KAMPANY_MEDIUM);\r\n\tVue.cookie.delete(COOKIE_PORTAL_KAMPANY_CAMPAIGN);\r\n\tVue.cookie.delete(COOKIE_PORTAL_KAMPANY_TERM);\r\n\tVue.cookie.delete(COOKIE_PORTAL_KAMPANY_CONTENT);\r\n};\r\n","export default {\r\n\tbind(el, binding) {\r\n\t\tconst redirect = () => {\r\n\t\t\tlet url = el.getAttribute('href');\r\n\t\t\twindow.location.href = url;\r\n\t\t};\r\n\t\tel.addEventListener('click', (e) => {\r\n\t\t\te.preventDefault();\r\n\t\t\tbinding\r\n\t\t\t\t.value()\r\n\t\t\t\t.then(() => {\r\n\t\t\t\t\tredirect();\r\n\t\t\t\t})\r\n\t\t\t\t.catch(() => {\r\n\t\t\t\t\tredirect();\r\n\t\t\t\t});\r\n\t\t});\r\n\t}\r\n};\r\n","import { ANDROID_PHONE_REGEX } from '../constants/constants';\r\n\r\nexport default {\r\n\tbind: function (el, binding) {\r\n\t\tif (ANDROID_PHONE_REGEX.test(navigator.userAgent)) {\r\n\t\t\tel.setAttribute('href', binding.value);\r\n\t\t}\r\n\t}\r\n};\r\n","import { IPHONE_REGEX } from '../constants/constants';\r\n\r\nexport default {\r\n\tbind: function (el, binding) {\r\n\t\tif (IPHONE_REGEX.test(navigator.userAgent)) {\r\n\t\t\tel.setAttribute('href', binding.value);\r\n\t\t}\r\n\t}\r\n};\r\n","import EventBus from '../../../common/js/event-bus/event-bus';\r\nimport rcoApi from '../../../api/rco-api';\r\nexport default {\r\n\tname: 'rcoSingleCardSelector',\r\n\tprops: {\r\n\t\tpackageId: {\r\n\t\t\ttype: String,\r\n\t\t\trequired: true\r\n\t\t}\r\n\t},\r\n\tdata: () => ({\r\n\t\tmodel: {\r\n\t\t\tcardLimit: null,\r\n\t\t\tcardShoppingLimit: null,\r\n\t\t\tcardVirtualShoppingLimit: null,\r\n\t\t\tpackageId: null,\r\n\t\t\twithoutCard: false,\r\n\t\t\tchoosedCardId: null,\r\n\t\t\tfromLanding: true\r\n\t\t}\r\n\t}),\r\n\tcreated() {\r\n\t\tthis.init();\r\n\t\tEventBus.$on('singleCardData', () => {\r\n\t\t\tthis.sendData();\r\n\t\t});\r\n\t},\r\n\tmethods: {\r\n\t\tasync sendData() {\r\n\t\t\ttry {\r\n\t\t\t\tlet packageData = Object.assign({}, this.model);\r\n\t\t\t\tif (this.model.withoutCard) {\r\n\t\t\t\t\tdelete packageData.choosedCardId;\r\n\t\t\t\t}\r\n\t\t\t\tconst response = await rcoApi.sendPackageData(packageData);\r\n\t\t\t\tconst url = response.data.url;\r\n\t\t\t\twindow.location.href = url;\r\n\t\t\t\tconsole.log(url);\r\n\t\t\t} catch (err) {\r\n\t\t\t\tEventBus.$emit('technicalError');\r\n\t\t\t}\r\n\t\t},\r\n\t\tasync init() {\r\n\t\t\tconst chosenCard = window.context.rcoSingleCardPickerData.packages[this.packageId].availableCards[0];\r\n\t\t\tconst cards = window.context.rcoSingleCardPickerData.cards[chosenCard];\r\n\t\t\tthis.model = { ...this.model, ...cards, packageId: this.packageId, choosedCardId: chosenCard };\r\n\t\t\ttry {\r\n\t\t\t\tawait rcoApi.getWebsalesId();\r\n\t\t\t} catch (err) {\r\n\t\t\t\tconsole.log(err);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n};\r\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"rco-single-card-selector-button\"},[_c('vue-button',{attrs:{\"id\":_vm.buttonId,\"aria-labelledby\":_vm.buttonLabelledBy,\"disabled\":_vm.sending},on:{\"click\":_vm.getCookie}},[_vm._t(\"default\")],2),(_vm.technicalError)?_c('vue-error-message',[_vm._v(\"Technikai hiba történt, kérjük próbálja újra később!\")]):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/esbuild-loader/dist/index.cjs??clonedRuleSet-4.use[0]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./rco-single-package-picker-button.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/esbuild-loader/dist/index.cjs??clonedRuleSet-4.use[0]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./rco-single-package-picker-button.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./rco-single-package-picker-button.vue?vue&type=template&id=3a9ce934&lang=pug\"\nimport script from \"./rco-single-package-picker-button.vue?vue&type=script&lang=js\"\nexport * from \"./rco-single-package-picker-button.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import axios from 'axios';\r\n\r\nexport default {\r\n\tgetSlayer() {\r\n\t\treturn axios.get('/static/portal/sw/json/sales-layer.json');\r\n\t}\r\n};\r\n","import { computed, ref, readonly } from 'vue';\r\nimport slayerApi from '../../../../api/slayer-api';\r\n\r\nconst STATES = {\r\n\tINIT: Symbol('INIT'),\r\n\tSUCCESS: Symbol('SUCCESS'),\r\n\tERROR: Symbol('ERROR')\r\n};\r\nexport const useLayers = () => {\r\n\tconst state = ref(STATES.INIT);\r\n\tconst layers = ref(null);\r\n\tconst layer = ref(null);\r\n\tconst getLayers = async () => {\r\n\t\ttry {\r\n\t\t\tconst { data } = await slayerApi.getSlayer();\r\n\t\t\tlayers.value = data;\r\n\t\t} catch (err) {\r\n\t\t\tthrow new Error('Could not get layers.json!');\r\n\t\t}\r\n\t};\r\n\tconst getLayer = async (id) => {\r\n\t\ttry {\r\n\t\t\tif (!layers.value) {\r\n\t\t\t\tawait getLayers();\r\n\t\t\t}\r\n\t\t\tstate.value = STATES.SUCCESS;\r\n\t\t\tif (!layers.value[id]) {\r\n\t\t\t\tthrow new Error('Layer not found!');\r\n\t\t\t} else {\r\n\t\t\t\tlayer.value = layers.value[id];\r\n\t\t\t}\r\n\t\t} catch (err) {\r\n\t\t\tstate.value = STATES.ERROR;\r\n\t\t\tthrow err;\r\n\t\t}\r\n\t};\r\n\tconst resetLayer = () => {\r\n\t\tlayer.value = null;\r\n\t};\r\n\tconst technicalError = computed(() => state.value == STATES.ERROR);\r\n\treturn {\r\n\t\tlayer: readonly(layer),\r\n\t\ttechnicalError: readonly(technicalError),\r\n\t\tgetLayer,\r\n\t\tresetLayer\r\n\t};\r\n};\r\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('VueFeedback',{attrs:{\"type\":\"error\"}},[_c('template',{slot:\"feedback-title\"},[_vm._v(\"Hoppá!\")]),_c('template',{slot:\"feedback-content\"},[_c('p',{staticClass:\"sf-text\"},[_vm._v(\"Technikai hiba történt!\")])])],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/esbuild-loader/dist/index.cjs??clonedRuleSet-4.use[0]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./technical-error.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/esbuild-loader/dist/index.cjs??clonedRuleSet-4.use[0]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./technical-error.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./technical-error.vue?vue&type=template&id=0e1327af&scoped=true&lang=pug\"\nimport script from \"./technical-error.vue?vue&type=script&lang=js\"\nexport * from \"./technical-error.vue?vue&type=script&lang=js\"\nimport style0 from \"./technical-error.vue?vue&type=style&index=0&id=0e1327af&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0e1327af\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('vue-modal',{attrs:{\"modal-id\":_vm.MODAL_ID,\"width\":\"narrow\"}},[_c('template',{slot:\"modal-header\"},[_c('div',{staticClass:\"sales-layer__header\"},[(_vm.layer)?_c('div',{domProps:{\"innerHTML\":_vm._s(_vm.layer.header)}}):_vm._e()])]),_c('template',{slot:\"modal-body\"},[(_vm.technicalError)?_c('TechnicalError'):_vm._e(),(_vm.layer)?_c('div',{staticClass:\"sales-layer__body\",domProps:{\"innerHTML\":_vm._s(_vm.layer.body)}}):_vm._e()],1)],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/esbuild-loader/dist/index.cjs??clonedRuleSet-4.use[0]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./slayer.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/esbuild-loader/dist/index.cjs??clonedRuleSet-4.use[0]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./slayer.vue?vue&type=script&lang=js\"","import { getCurrentInstance, ref } from 'vue';\r\n\r\nexport const useGtm = () => {\r\n\tconst vm = getCurrentInstance().proxy;\r\n\tconst modalId = ref(null);\r\n\tconst openLayerGtm = (id) => {\r\n\t\tmodalId.value = id;\r\n\t\tvm.$gtm.trackEvent({\r\n\t\t\tevent: 'popupShown',\r\n\t\t\tpopupName: id\r\n\t\t});\r\n\t};\r\n\tconst closeLayerGtm = () => {\r\n\t\tvm.$gtm.trackEvent({\r\n\t\t\tevent: 'popupClosed',\r\n\t\t\tpopupName: modalId.value\r\n\t\t});\r\n\t\tmodalId.value = null;\r\n\t};\r\n\treturn {\r\n\t\topenLayerGtm,\r\n\t\tcloseLayerGtm\r\n\t};\r\n};\r\n","import { render, staticRenderFns } from \"./slayer.vue?vue&type=template&id=b15441c0&lang=pug\"\nimport script from \"./slayer.vue?vue&type=script&lang=js\"\nexport * from \"./slayer.vue?vue&type=script&lang=js\"\nimport style0 from \"./slayer.vue?vue&type=style&index=0&id=b15441c0&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Vue from 'vue';\r\nimport './plugins/plugins';\r\nimport axios from 'axios';\r\nimport 'moment';\r\nimport 'wicg-inert';\r\nimport currencyFilter from './currency-filter/currency-filter';\r\nimport numberFilter from './number-filter/number-filter';\r\nimport eventBus from './event-bus/event-bus';\r\nimport zeroFillFilter from './zero-fill-filter/zero-fill-filter';\r\nimport dateFilter from './date-filter/date-filter';\r\nimport capitalize from './capitalize/capitalize';\r\nimport { initReferer } from './referer/referer';\r\nimport { initCampaign } from './campaign/campaign';\r\nimport before from './before-directive/before-directive';\r\nimport VueCallRequestModalGlue from '@ui-common/vue-call-request-modal-glue';\r\nimport VueFormInfo from '@ui-common/vue-form-info';\r\nimport VueFormNotification from '@ui-common/vue-form-notification';\r\nimport VueTooltip from '@ui-common/vue-tooltip';\r\nimport VueButton from '@ui-common/vue-button';\r\nimport './svg-contains-polyfill/svg-contains-polyfill';\r\nimport androidPhoneHref from './android-phone-href/android-phone-href';\r\nimport iphoneHref from './iphone-href/iphone-href';\r\nimport rcoSinglePackagePicker from '../../common/components/rco-single-package-picker/rco-single-package-picker';\r\nimport rcoSinglePackagePickerButton from '../../common/components/rco-single-package-picker/rco-single-package-picker-button/rco-single-package-picker-button';\r\nimport rcoForeignCurrencyAccountPickerButton from '../../common/components/rco-foreign-currency-account-picker-button/rco-foreign-currency-account-picker-button';\r\nimport Slayer from '../components/slayer/slayer.vue';\r\n\r\nVue.prototype.env = window.env;\r\nVue.component('Slayer', Slayer);\r\nVue.component('vue-form-info', VueFormInfo);\r\nVue.component('vue-form-notification', VueFormNotification);\r\nVue.component('vue-tooltip', VueTooltip);\r\nVue.component('VueButton', VueButton);\r\nVue.component('rco-single-package-picker', rcoSinglePackagePicker);\r\nVue.component('rco-single-card-selector-button', rcoSinglePackagePickerButton);\r\nVue.component('rco-foreign-currency-account-picker-button', rcoForeignCurrencyAccountPickerButton);\r\n\r\nVue.prototype.openModal = (e, modalId, options) => {\r\n\teventBus.$emit('openModal', e, modalId, options);\r\n};\r\nVue.prototype.closeModal = (modalId, options) => {\r\n\teventBus.$emit('closeModal', modalId, options);\r\n};\r\nVue.prototype.openOrsi = (orsiFeature) => {\r\n\teventBus.$emit('openOrsi', orsiFeature);\r\n};\r\nVue.prototype.sendEvent = (event, options) => {\r\n\teventBus.$emit(event, options);\r\n};\r\naxios.defaults.headers.common['Cache-Control'] = 'no-store';\r\naxios.defaults.headers.common.Pragma = 'no-cache';\r\naxios.defaults.headers.common.Expires = 0;\r\nVue.prototype.$http = axios;\r\nVue.filter('currency', currencyFilter);\r\nVue.filter('number', numberFilter);\r\nVue.filter('date', dateFilter);\r\nVue.filter('zero', zeroFillFilter);\r\nVue.filter('capitalize', capitalize);\r\ninitReferer();\r\ninitCampaign();\r\nVue.component('vue-call-request-modal-glue', VueCallRequestModalGlue);\r\nVue.directive('before', before);\r\nVue.directive('android-phone-href', androidPhoneHref);\r\nVue.directive('iphone-href', iphoneHref);\r\nVue.config.ignoredElements = [\r\n\t'picture',\r\n\t/^call-request-component-/,\r\n\t/^call-request-business/,\r\n\t'app-webrtc-rco',\r\n\t'otp-adatbiztonsagi-kviz',\r\n\t'branch-atm-widget-wc',\r\n\t'branch-atm-locator-wc'\r\n];\r\n","import i18n from '../lang/i18n';\r\nexport default function (value, currency) {\r\n\tlet fixed = currency == 'HUF' ? 0 : 2;\r\n\tvalue = parseFloat(value);\r\n\tif (typeof value != 'undefined' && value != null) {\r\n\t\treturn new Intl.NumberFormat(i18n.locale, { minimumFractionDigits: fixed, maximumFractionDigits: fixed }).format(value);\r\n\t} else {\r\n\t\treturn '';\r\n\t}\r\n}\r\n","import i18n from '../lang/i18n';\r\nexport default function (value, maxDigits = 2, minDigits = 0) {\r\n\tvalue = parseFloat(value);\r\n\tif (typeof value != 'undefined' && value != null) {\r\n\t\treturn new Intl.NumberFormat(i18n.locale, { minimumFractionDigits: minDigits, maximumFractionDigits: maxDigits, useGrouping: false }).format(value);\r\n\t} else {\r\n\t\treturn '';\r\n\t}\r\n}\r\n","import moment from 'moment';\r\nexport default function (value, format) {\r\n\tif (value) {\r\n\t\treturn moment(value).format(format);\r\n\t} else {\r\n\t\treturn '';\r\n\t}\r\n}\r\n","import leftPad from 'left-pad';\r\nexport default function (value, length) {\r\n\tif (value) {\r\n\t\treturn leftPad(value, length, '0');\r\n\t} else {\r\n\t\treturn '';\r\n\t}\r\n}\r\n","export default function (value) {\r\n\tlet capStr = '';\r\n\tif (value) {\r\n\t\tcapStr = value.charAt(0) + value.slice(1).toLowerCase();\r\n\t}\r\n\treturn capStr;\r\n}\r\n","import { ref, computed, onUnmounted } from 'vue';\r\n\r\nconst BREAKPOINTS = {\r\n\tMOBILE: 767,\r\n\tTABLET: 995,\r\n\tDESKTOP: 1135\r\n};\r\nexport const useIsMobile = () => {\r\n\tconst viewportWidth = ref(null);\r\n\r\n\tconst setViewportWidth = () => {\r\n\t\tviewportWidth.value = window.innerWidth;\r\n\t};\r\n\r\n\tconst isMobile = computed(() => viewportWidth.value <= BREAKPOINTS.MOBILE);\r\n\tconst isTablet = computed(() => viewportWidth.value > BREAKPOINTS.MOBILE && viewportWidth.value <= BREAKPOINTS.TABLET);\r\n\tconst isDesktop = computed(() => viewportWidth.value > BREAKPOINTS.TABLET && viewportWidth.value <= BREAKPOINTS.DESKTOP);\r\n\tconst isLargeDesktop = computed(() => viewportWidth.value > BREAKPOINTS.DESKTOP);\r\n\r\n\twindow.addEventListener('resize', setViewportWidth);\r\n\tsetViewportWidth();\r\n\r\n\tonUnmounted(() => {\r\n\t\twindow.removeEventListener('resize', setViewportWidth);\r\n\t});\r\n\r\n\treturn {\r\n\t\tisMobile,\r\n\t\tisTablet,\r\n\t\tisDesktop,\r\n\t\tisLargeDesktop\r\n\t};\r\n};\r\n","import axios from 'axios';\r\n\r\nconst httpClient = axios.create({\r\n\tbaseURL: window.context.recommUrl\r\n});\r\n\r\nexport default {\r\n\tgetRecommendations(portalId) {\r\n\t\treturn httpClient.get('', {\r\n\t\t\theaders: {\r\n\t\t\t\t'X-Request-ID': window.crypto.randomUUID(),\r\n\t\t\t\t'X-Log-Parameters': '{\"channel\": \"PORTAL\"}',\r\n\t\t\t\t...(portalId && { portalId })\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n};\r\n","import Vue, { getCurrentInstance, nextTick, watch } from 'vue';\r\nimport { computed, ref } from 'vue';\r\nimport personalizationApi from '../../../api/personalization-api';\r\nimport { COOKIE_PORTAL_ID_NAME } from '../constants/constants';\r\n\r\nconst PERSONALIZATION_STATE = {\r\n\tINIT: 'INIT',\r\n\tSUCCESS: 'SUCCESS',\r\n\tERROR: 'ERROR'\r\n};\r\n\r\nconst STATUSES = {\r\n\tHIDDEN: 'hidden',\r\n\tERROR: 'error'\r\n};\r\n\r\nconst fragments = { ...window.context.defaultFragments, ...window.context.personalizedFragments };\r\n\r\nconst personalizationState = ref(PERSONALIZATION_STATE.INIT);\r\nconst isSuccess = computed(() => personalizationState.value == PERSONALIZATION_STATE.SUCCESS);\r\nconst isError = computed(() => personalizationState.value == PERSONALIZATION_STATE.ERROR);\r\nconst portalId = Vue.cookie.get(COOKIE_PORTAL_ID_NAME);\r\nconst recommData = ref(null);\r\n\r\nconst getDataAttributes = (moduleId) => {\r\n\tconst attributes = recommData.value[moduleId].map((data, index) => ({\r\n\t\t'data-item_id': data.recommId,\r\n\t\t'data-item_model': data.model,\r\n\t\t'data-item_position': index,\r\n\t\t'data-item_module': moduleId\r\n\t}));\r\n\treturn attributes;\r\n};\r\n\r\nconst initPersonalization = async () => {\r\n\ttry {\r\n\t\tif (window.context.hasPersonalization) {\r\n\t\t\tconst { data } = await personalizationApi.getRecommendations(portalId);\r\n\t\t\trecommData.value = data;\r\n\t\t}\r\n\t\tpersonalizationState.value = PERSONALIZATION_STATE.SUCCESS;\r\n\t} catch {\r\n\t\tpersonalizationState.value = PERSONALIZATION_STATE.ERROR;\r\n\t}\r\n};\r\n\r\nexport const useMherPersonalization = (params) => {\r\n\tconst mherFragment = ref(null);\r\n\tconst needsMherPlaceholder = ref(true);\r\n\tconst dataAttributes = ref(null);\r\n\r\n\tconst setPersonalizedMher = () => {\r\n\t\ttry {\r\n\t\t\tconst mher = recommData.value[params.moduleId][0];\r\n\t\t\tmherFragment.value = fragments[mher.recommId].mher;\r\n\t\t\tdataAttributes.value = getDataAttributes(params.moduleId)[0];\r\n\t\t\tif (!mherFragment.value) {\r\n\t\t\t\tsetDefaultMher();\r\n\t\t\t} else {\r\n\t\t\t\thideMherPlaceholder();\r\n\t\t\t}\r\n\t\t} catch {\r\n\t\t\tsetDefaultMher();\r\n\t\t}\r\n\t};\r\n\r\n\tconst setDefaultMher = () => {\r\n\t\tmherFragment.value = fragments[params.defaultId].mher;\r\n\t\tif (mherFragment.value) {\r\n\t\t\thideMherPlaceholder();\r\n\t\t}\r\n\t};\r\n\r\n\tconst hideMherPlaceholder = () => {\r\n\t\tnextTick(() => {\r\n\t\t\tneedsMherPlaceholder.value = false;\r\n\t\t\tdocument.querySelector('#mher-placeholder').style.display = 'none';\r\n\t\t});\r\n\t};\r\n\r\n\twatch(\r\n\t\tpersonalizationState,\r\n\t\t() => {\r\n\t\t\tif (isSuccess.value && params.personalized) {\r\n\t\t\t\tsetPersonalizedMher();\r\n\t\t\t} else if (isError.value || !params.personalized) {\r\n\t\t\t\tsetDefaultMher();\r\n\t\t\t}\r\n\t\t},\r\n\t\t{ immediate: true }\r\n\t);\r\n\r\n\treturn {\r\n\t\tmherFragment,\r\n\t\tneedsMherPlaceholder,\r\n\t\tdataAttributes\r\n\t};\r\n};\r\n\r\nexport const useMhapPersonalization = (params) => {\r\n\tconst mhapFragments = ref(null);\r\n\tconst needsMhapPlaceholder = ref(true);\r\n\tconst dataAttributes = ref([null, null, null]);\r\n\r\n\tconst mhap = ref([null, null, null]);\r\n\r\n\tconst setPersonalizedMhap = () => {\r\n\t\ttry {\r\n\t\t\tmhap.value = recommData.value[params.moduleId];\r\n\t\t\tmhapFragments.value = mhap.value.map((_fragment, index) => fragments[mhap.value[index].recommId].mhap);\r\n\t\t\tdataAttributes.value = getDataAttributes(params.moduleId);\r\n\t\t\tif (!mhapFragments.value) {\r\n\t\t\t\tsetDefaultMhap();\r\n\t\t\t} else {\r\n\t\t\t\thideMhapPlaceholder();\r\n\t\t\t}\r\n\t\t} catch {\r\n\t\t\tsetDefaultMhap();\r\n\t\t}\r\n\t};\r\n\r\n\tconst setDefaultMhap = () => {\r\n\t\tmhapFragments.value = mhap.value.map((_fragment, index) => fragments[params.defaultIds[index]].mhap);\r\n\t\tif (mhapFragments.value) {\r\n\t\t\thideMhapPlaceholder();\r\n\t\t}\r\n\t};\r\n\r\n\tconst hideMhapPlaceholder = () => {\r\n\t\tnextTick(() => {\r\n\t\t\tneedsMhapPlaceholder.value = false;\r\n\t\t\tdocument.querySelector('#mhap-placeholder').style.display = 'none';\r\n\t\t});\r\n\t};\r\n\r\n\twatch(\r\n\t\tpersonalizationState,\r\n\t\t() => {\r\n\t\t\tif (isSuccess.value && params.personalized) {\r\n\t\t\t\tsetPersonalizedMhap();\r\n\t\t\t} else if (isError.value || !params.personalized) {\r\n\t\t\t\tsetDefaultMhap();\r\n\t\t\t}\r\n\t\t},\r\n\t\t{ immediate: true }\r\n\t);\r\n\r\n\treturn {\r\n\t\tmhapFragments,\r\n\t\tneedsMhapPlaceholder,\r\n\t\tdataAttributes\r\n\t};\r\n};\r\n\r\nexport const useMasdPersonalization = (params) => {\r\n\tconst vm = getCurrentInstance().proxy;\r\n\r\n\tconst masdFragments = ref(null);\r\n\tconst needsMasdPlaceholder = ref(true);\r\n\tconst dataAttributes = ref(null);\r\n\r\n\tconst setPersonalizedMasd = () => {\r\n\t\ttry {\r\n\t\t\tconst masd = recommData.value[params.moduleId];\r\n\t\t\tif (masd?.visibility == STATUSES.HIDDEN) {\r\n\t\t\t\tsendGtm(STATUSES.HIDDEN);\r\n\t\t\t\tneedsMasdPlaceholder.value = false;\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tmasdFragments.value = masd.map((masdIds) => fragments[masdIds.recommId].masd);\r\n\t\t\tdataAttributes.value = getDataAttributes(params.moduleId);\r\n\t\t\tif (!masdFragments.value) {\r\n\t\t\t\tsetDefaultMasd();\r\n\t\t\t} else {\r\n\t\t\t\tneedsMasdPlaceholder.value = false;\r\n\t\t\t}\r\n\t\t} catch {\r\n\t\t\tsendGtm(STATUSES.ERROR);\r\n\t\t\tsetDefaultMasd();\r\n\t\t}\r\n\t};\r\n\r\n\tconst setDefaultMasd = () => {\r\n\t\ttry {\r\n\t\t\tmasdFragments.value = [fragments[params.defaultId].masd];\r\n\t\t} catch {\r\n\t\t\tconsole.warn('defaultId for masd module is not available');\r\n\t\t} finally {\r\n\t\t\tneedsMasdPlaceholder.value = false;\r\n\t\t}\r\n\t};\r\n\r\n\tconst sendGtm = (status) => {\r\n\t\tvm.$gtm.trackEvent({\r\n\t\t\tevent: 'recom_failed',\r\n\t\t\trecom_status: status,\r\n\t\t\tmodul: params.moduleId\r\n\t\t});\r\n\t};\r\n\r\n\twatch(\r\n\t\tpersonalizationState,\r\n\t\t() => {\r\n\t\t\tif (isSuccess.value && params.personalized) {\r\n\t\t\t\tsetPersonalizedMasd();\r\n\t\t\t} else if (isError.value || !params.personalized) {\r\n\t\t\t\tsetDefaultMasd();\r\n\t\t\t}\r\n\t\t},\r\n\t\t{ immediate: true }\r\n\t);\r\n\r\n\treturn {\r\n\t\tmasdFragments,\r\n\t\tneedsMasdPlaceholder,\r\n\t\tdataAttributes\r\n\t};\r\n};\r\n\r\nexport const usePersonalization = () => {\r\n\tinitPersonalization();\r\n};\r\n","import VueI18n from 'vue-i18n';\r\nimport { createI18n } from 'vue-i18n-composable';\r\nimport moment from 'moment';\r\nimport Vue from 'vue';\r\nVue.use(VueI18n);\r\nmoment.locale(document.documentElement.lang);\r\nconst i18n = createI18n({\r\n\tlocale: document.documentElement.lang\r\n});\r\n\r\nexport default i18n;\r\n","import { MediaQueries } from 'vue-media-queries';\r\nexport const mediaQueries = new MediaQueries();\r\n","SVGElement.prototype.contains = function contains(node) {\r\n\tif (!(0 in arguments)) {\r\n\t\tthrow new TypeError('1 argument is required');\r\n\t}\r\n\r\n\tdo {\r\n\t\tif (this === node) {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t} while ((node = node && node.parentNode));\r\n\r\n\treturn false;\r\n};\r\n","import './layout.scss';\r\nimport Vue from 'vue';\r\nimport VueTableOfContent from '@ui-common/vue-table-of-content';\r\nimport macc from '../../modules/MACC/macc';\r\nimport mhap from '../../modules/MHAP/mhap.vue';\r\nimport msup from '../../modules/MSUP/msup';\r\nimport mjbl from '../../modules/MJBL/mjbl.vue';\r\nimport mstb from '../../modules/MSTB/mstb';\r\nimport masd from '../../modules/MASD/masd.vue';\r\nimport BranchAtmWidgetWrapper from '../../applications/branch-atm-widget-wrapper/branch-atm-widget-wrapper.vue';\r\nimport layoutBase from '../layout-base';\r\n\r\nVue.component('macc', macc);\r\nVue.component('mhap', mhap);\r\nVue.component('mjbl', mjbl);\r\nVue.component('mstb', mstb);\r\nVue.component('msup', msup);\r\nVue.component('masd', masd);\r\nVue.component('vue-table-of-content', VueTableOfContent);\r\nVue.component('branch-atm-widget-wrapper', BranchAtmWidgetWrapper);\r\n\r\n/* eslint-disable no-new*/\r\nnew Vue({\r\n\textends: layoutBase,\r\n\tel: '[data-layout-id=AV9NY-app]'\r\n});\r\n/* eslint-enable*/\r\n","import exchangeApi from '../../../api/exchange-api';\r\nlet exchangeMarzs;\r\nlet callDispatched;\r\nconst getExchangeMarzs = async () => {\r\n\ttry {\r\n\t\tif (!callDispatched) {\r\n\t\t\tconst response = await exchangeApi.getEcbDifference();\r\n\t\t\tif (response && response.data && response.data.ecbDifference) {\r\n\t\t\t\texchangeMarzs = response.data.ecbDifference;\r\n\t\t\t}\r\n\t\t}\r\n\t\tcallDispatched = true;\r\n\t\tif (!exchangeMarzs && callDispatched) {\r\n\t\t\tsetTimeout(() => {\r\n\t\t\t\tgetExchangeMarzs();\r\n\t\t\t}, 500);\r\n\t\t}\r\n\t} catch (error) {\r\n\t\tconsole.error(error);\r\n\t}\r\n\treturn exchangeMarzs;\r\n};\r\n\r\nexport default getExchangeMarzs;\r\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',{staticClass:\"exchange-marzs\"},[_c('strong',[(_vm.ecbDifference)?[_vm._v(_vm._s(_vm._f(\"number\")(_vm.ecbDifference))+\"%\")]:[_vm._v(\"N/A\")]],2)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/esbuild-loader/dist/index.cjs??clonedRuleSet-4.use[0]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./exchange-marzs.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/esbuild-loader/dist/index.cjs??clonedRuleSet-4.use[0]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./exchange-marzs.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./exchange-marzs.vue?vue&type=template&id=39211324&lang=pug\"\nimport script from \"./exchange-marzs.vue?vue&type=script&lang=js\"\nexport * from \"./exchange-marzs.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import announcementApi from '../../../api/announcement-api';\r\nconst ANNOUNCEMENT_SET_ANNOUNCEMENTS = 'ANNOUNCEMENT_SET_ANNOUNCEMENTS';\r\nconst ANNOUNCEMENT_SET_TECHNICAL_ERROR = 'ANNOUNCEMENT_SET_TECHNICAL_ERROR';\r\n\r\nconst announcementState = {\r\n\ttechnicalError: false,\r\n\tannouncements: []\r\n};\r\n\r\nconst announcementActions = {\r\n\tasync getAnnouncements({ commit }, params) {\r\n\t\ttry {\r\n\t\t\tlet { data } = await announcementApi.getAnnouncements(params);\r\n\t\t\tcommit(ANNOUNCEMENT_SET_ANNOUNCEMENTS, data);\r\n\t\t} catch (err) {\r\n\t\t\tcommit(ANNOUNCEMENT_SET_TECHNICAL_ERROR);\r\n\t\t}\r\n\t}\r\n};\r\n\r\nconst announcementMutations = {\r\n\t[ANNOUNCEMENT_SET_ANNOUNCEMENTS](state, announcements) {\r\n\t\tstate.announcements = announcements;\r\n\t},\r\n\t[ANNOUNCEMENT_SET_TECHNICAL_ERROR](state) {\r\n\t\tstate.technicalError = true;\r\n\t}\r\n};\r\n\r\nexport default {\r\n\tnamespaced: true,\r\n\tstate: announcementState,\r\n\tmutations: announcementMutations,\r\n\tactions: announcementActions\r\n};\r\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"announcement-wrap\",class:{ 'content-placeholder-active': !_vm.loaded }},[_c('div',{staticClass:\"announcement\",class:{ 'announcement--inline': _vm.inline, 'announcement--hide-bullet': _vm.hideBullet, 'announcement--accept-pdf': _vm.acceptanceNeeded }},[(_vm.inline)?[(_vm.loaded)?[_vm._l((_vm.filteredAnnouncements),function(announcement){return [(_vm.acceptanceNeeded)?_c('AcceptPdfModal',{attrs:{\"id\":`${announcement.announcementSelection}-${announcement.documentId}`,\"pdf-url\":announcement.url},model:{value:(_vm.modelValue),callback:function ($$v) {_vm.modelValue=$$v},expression:\"modelValue\"}},[_c('template',{slot:\"title\"},[_vm._v(_vm._s(_vm.text || announcement.selection.longname))])],2):[_c('a',{staticClass:\"announcement__item announcement__item--inline\",attrs:{\"href\":announcement.url,\"aria-label\":announcement.selection.longname + ' hirdetmény',\"target\":_vm.target,\"rel\":\"nofollow\"}},[_vm._v(_vm._s(_vm.text || announcement.selection.longname))]),(announcement.validityStart && !_vm.hideDate)?_c('span',{staticClass:\"item-date\"},[_vm._v(_vm._s(_vm._f(\"date\")(announcement.validityStart,_vm.displayDateFormat))+\". - \"),(announcement.validityEnd)?[_vm._v(_vm._s(_vm._f(\"date\")(announcement.validityEnd,_vm.displayDateFormat))+\".\")]:_vm._e()],2):_vm._e()]]})]:[(_vm.acceptanceNeeded)?_c('div',{staticClass:\"announcement-placeholder content-placeholder-content\"},[_c('div',{staticClass:\"announcement-placeholder-item sf-btn\"},[_c('svg',{attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"10\",\"height\":\"18\",\"viewbox\":\"0 0 10 18\",\"fill\":\"none\",\"aria-hidden\":\"true\"}},[_c('path',{attrs:{\"d\":\"M1 1L9 9L0.999997 17\",\"stroke\":\"#ababab\",\"stroke-width\":\"2\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}})]),_c('div',{staticClass:\"announcement-placeholder-text content-placeholder-animated-background content-placeholder-animated-background--gray\"}),_c('div',{staticClass:\"announcement-placeholder-link content-placeholder-animated-background content-placeholder-animated-background--gray\"})])]):_c('span',{staticClass:\"announcement-placeholder content-placeholder-content\"},[_vm._m(0)])]]:[(_vm.loaded)?[_c('p',{staticClass:\"sr-only\"},[_vm._v(\"Hirdetmények listája\")]),_c('ul',{staticClass:\"list list--primary\"},_vm._l((_vm.filteredAnnouncements),function(announcement){return _c('li',{staticClass:\"announcement__item list-item list-item--primary\"},[_c('a',{attrs:{\"href\":announcement.url,\"aria-label\":announcement.selection.longname + ' hirdetmény',\"target\":\"_blank\",\"rel\":\"nofollow\"}},[_vm._v(_vm._s(announcement.selection.longname))]),_c('span',[_vm._v(_vm._s(_vm._f(\"date\")(announcement.validityStart,_vm.displayDateFormat))+\". - \"),(announcement.validityEnd)?[_vm._v(_vm._s(_vm._f(\"date\")(announcement.validityEnd,_vm.displayDateFormat))+\".\")]:_vm._e()],2)])}),0)]:_c('div',{staticClass:\"announcement-placeholder content-placeholder-content\"},_vm._l((3),function(n){return _c('div',{staticClass:\"announcement-placeholder-item\"},[_c('div',{staticClass:\"announcement-placeholder-link content-placeholder-animated-background content-placeholder-animated-background--green\"}),_c('div',{staticClass:\"announcement-placeholder-date content-placeholder-animated-background content-placeholder-animated-background--gray\"})])}),0)]],2)])\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c;return _c('span',{staticClass:\"announcement-placeholder-item\"},[_c('span',{staticClass:\"announcement-placeholder-link content-placeholder-animated-background content-placeholder-animated-background--green\"}),_c('span',{staticClass:\"announcement-placeholder-date content-placeholder-animated-background content-placeholder-animated-background--gray\"})])\n}]\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/esbuild-loader/dist/index.cjs??clonedRuleSet-4.use[0]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./announcement.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/esbuild-loader/dist/index.cjs??clonedRuleSet-4.use[0]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./announcement.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./announcement.vue?vue&type=template&id=504c9af9&scoped=true&lang=pug\"\nimport script from \"./announcement.vue?vue&type=script&lang=js\"\nexport * from \"./announcement.vue?vue&type=script&lang=js\"\nimport style0 from \"./announcement.vue?vue&type=style&index=0&id=504c9af9&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"504c9af9\",\n null\n \n)\n\nexport default component.exports","export default {\r\n\tdata: () => ({\r\n\t\tisVisible: true\r\n\t}),\r\n\tcomputed: {\r\n\t\tisMobile() {\r\n\t\t\treturn this.$resize && this.$mq.below(767);\r\n\t\t},\r\n\t\tisTablet() {\r\n\t\t\treturn this.$resize && this.$mq.above(768);\r\n\t\t}\r\n\t},\r\n\trender() {\r\n\t\treturn this.$scopedSlots.default({\r\n\t\t\tisMobile: this.isMobile,\r\n\t\t\tisTablet: this.isTablet\r\n\t\t});\r\n\t}\r\n};\r\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return (!_setup.needsMherPlaceholder)?_c('div',{staticClass:\"mher-container\"},[_c('div',_vm._b({staticClass:\"mher-wrapper\",domProps:{\"innerHTML\":_vm._s(_setup.mherFragment)}},'div',_setup.dataAttributes,false))]):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../node_modules/esbuild-loader/dist/index.cjs??clonedRuleSet-4.use[0]!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./mher.vue?vue&type=script&setup=true&lang=js\"; export default mod; export * from \"-!../../../node_modules/esbuild-loader/dist/index.cjs??clonedRuleSet-4.use[0]!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./mher.vue?vue&type=script&setup=true&lang=js\"","import { render, staticRenderFns } from \"./mher.vue?vue&type=template&id=23ffe7f5&lang=pug\"\nimport script from \"./mher.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./mher.vue?vue&type=script&setup=true&lang=js\"\nimport style0 from \"./mher.vue?vue&type=style&index=0&id=23ffe7f5&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { e as elementChildren, c as createElement } from './utils.mjs';\n\nfunction createElementIfNotDefined(swiper, originalParams, params, checkProps) {\n if (swiper.params.createElements) {\n Object.keys(checkProps).forEach(key => {\n if (!params[key] && params.auto === true) {\n let element = elementChildren(swiper.el, `.${checkProps[key]}`)[0];\n if (!element) {\n element = createElement('div', checkProps[key]);\n element.className = checkProps[key];\n swiper.el.append(element);\n }\n params[key] = element;\n originalParams[key] = element;\n }\n });\n }\n return params;\n}\n\nexport { createElementIfNotDefined as c };\n","function classesToSelector(classes) {\n if (classes === void 0) {\n classes = '';\n }\n return `.${classes.trim().replace(/([\\.:!+\\/])/g, '\\\\$1') // eslint-disable-line\n .replace(/ /g, '.')}`;\n}\n\nexport { classesToSelector as c };\n","function appendSlide(slides) {\n const swiper = this;\n const {\n params,\n slidesEl\n } = swiper;\n if (params.loop) {\n swiper.loopDestroy();\n }\n const appendElement = slideEl => {\n if (typeof slideEl === 'string') {\n const tempDOM = document.createElement('div');\n tempDOM.innerHTML = slideEl;\n slidesEl.append(tempDOM.children[0]);\n tempDOM.innerHTML = '';\n } else {\n slidesEl.append(slideEl);\n }\n };\n if (typeof slides === 'object' && 'length' in slides) {\n for (let i = 0; i < slides.length; i += 1) {\n if (slides[i]) appendElement(slides[i]);\n }\n } else {\n appendElement(slides);\n }\n swiper.recalcSlides();\n if (params.loop) {\n swiper.loopCreate();\n }\n if (!params.observer || swiper.isElement) {\n swiper.update();\n }\n}\n\nfunction prependSlide(slides) {\n const swiper = this;\n const {\n params,\n activeIndex,\n slidesEl\n } = swiper;\n if (params.loop) {\n swiper.loopDestroy();\n }\n let newActiveIndex = activeIndex + 1;\n const prependElement = slideEl => {\n if (typeof slideEl === 'string') {\n const tempDOM = document.createElement('div');\n tempDOM.innerHTML = slideEl;\n slidesEl.prepend(tempDOM.children[0]);\n tempDOM.innerHTML = '';\n } else {\n slidesEl.prepend(slideEl);\n }\n };\n if (typeof slides === 'object' && 'length' in slides) {\n for (let i = 0; i < slides.length; i += 1) {\n if (slides[i]) prependElement(slides[i]);\n }\n newActiveIndex = activeIndex + slides.length;\n } else {\n prependElement(slides);\n }\n swiper.recalcSlides();\n if (params.loop) {\n swiper.loopCreate();\n }\n if (!params.observer || swiper.isElement) {\n swiper.update();\n }\n swiper.slideTo(newActiveIndex, 0, false);\n}\n\nfunction addSlide(index, slides) {\n const swiper = this;\n const {\n params,\n activeIndex,\n slidesEl\n } = swiper;\n let activeIndexBuffer = activeIndex;\n if (params.loop) {\n activeIndexBuffer -= swiper.loopedSlides;\n swiper.loopDestroy();\n swiper.recalcSlides();\n }\n const baseLength = swiper.slides.length;\n if (index <= 0) {\n swiper.prependSlide(slides);\n return;\n }\n if (index >= baseLength) {\n swiper.appendSlide(slides);\n return;\n }\n let newActiveIndex = activeIndexBuffer > index ? activeIndexBuffer + 1 : activeIndexBuffer;\n const slidesBuffer = [];\n for (let i = baseLength - 1; i >= index; i -= 1) {\n const currentSlide = swiper.slides[i];\n currentSlide.remove();\n slidesBuffer.unshift(currentSlide);\n }\n if (typeof slides === 'object' && 'length' in slides) {\n for (let i = 0; i < slides.length; i += 1) {\n if (slides[i]) slidesEl.append(slides[i]);\n }\n newActiveIndex = activeIndexBuffer > index ? activeIndexBuffer + slides.length : activeIndexBuffer;\n } else {\n slidesEl.append(slides);\n }\n for (let i = 0; i < slidesBuffer.length; i += 1) {\n slidesEl.append(slidesBuffer[i]);\n }\n swiper.recalcSlides();\n if (params.loop) {\n swiper.loopCreate();\n }\n if (!params.observer || swiper.isElement) {\n swiper.update();\n }\n if (params.loop) {\n swiper.slideTo(newActiveIndex + swiper.loopedSlides, 0, false);\n } else {\n swiper.slideTo(newActiveIndex, 0, false);\n }\n}\n\nfunction removeSlide(slidesIndexes) {\n const swiper = this;\n const {\n params,\n activeIndex\n } = swiper;\n let activeIndexBuffer = activeIndex;\n if (params.loop) {\n activeIndexBuffer -= swiper.loopedSlides;\n swiper.loopDestroy();\n }\n let newActiveIndex = activeIndexBuffer;\n let indexToRemove;\n if (typeof slidesIndexes === 'object' && 'length' in slidesIndexes) {\n for (let i = 0; i < slidesIndexes.length; i += 1) {\n indexToRemove = slidesIndexes[i];\n if (swiper.slides[indexToRemove]) swiper.slides[indexToRemove].remove();\n if (indexToRemove < newActiveIndex) newActiveIndex -= 1;\n }\n newActiveIndex = Math.max(newActiveIndex, 0);\n } else {\n indexToRemove = slidesIndexes;\n if (swiper.slides[indexToRemove]) swiper.slides[indexToRemove].remove();\n if (indexToRemove < newActiveIndex) newActiveIndex -= 1;\n newActiveIndex = Math.max(newActiveIndex, 0);\n }\n swiper.recalcSlides();\n if (params.loop) {\n swiper.loopCreate();\n }\n if (!params.observer || swiper.isElement) {\n swiper.update();\n }\n if (params.loop) {\n swiper.slideTo(newActiveIndex + swiper.loopedSlides, 0, false);\n } else {\n swiper.slideTo(newActiveIndex, 0, false);\n }\n}\n\nfunction removeAllSlides() {\n const swiper = this;\n const slidesIndexes = [];\n for (let i = 0; i < swiper.slides.length; i += 1) {\n slidesIndexes.push(i);\n }\n swiper.removeSlide(slidesIndexes);\n}\n\nfunction Manipulation(_ref) {\n let {\n swiper\n } = _ref;\n Object.assign(swiper, {\n appendSlide: appendSlide.bind(swiper),\n prependSlide: prependSlide.bind(swiper),\n addSlide: addSlide.bind(swiper),\n removeSlide: removeSlide.bind(swiper),\n removeAllSlides: removeAllSlides.bind(swiper)\n });\n}\n\nexport { Manipulation as default };\n","function effectInit(params) {\n const {\n effect,\n swiper,\n on,\n setTranslate,\n setTransition,\n overwriteParams,\n perspective,\n recreateShadows,\n getEffectParams\n } = params;\n on('beforeInit', () => {\n if (swiper.params.effect !== effect) return;\n swiper.classNames.push(`${swiper.params.containerModifierClass}${effect}`);\n if (perspective && perspective()) {\n swiper.classNames.push(`${swiper.params.containerModifierClass}3d`);\n }\n const overwriteParamsResult = overwriteParams ? overwriteParams() : {};\n Object.assign(swiper.params, overwriteParamsResult);\n Object.assign(swiper.originalParams, overwriteParamsResult);\n });\n on('setTranslate', () => {\n if (swiper.params.effect !== effect) return;\n setTranslate();\n });\n on('setTransition', (_s, duration) => {\n if (swiper.params.effect !== effect) return;\n setTransition(duration);\n });\n on('transitionEnd', () => {\n if (swiper.params.effect !== effect) return;\n if (recreateShadows) {\n if (!getEffectParams || !getEffectParams().slideShadows) return;\n // remove shadows\n swiper.slides.forEach(slideEl => {\n slideEl.querySelectorAll('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left').forEach(shadowEl => shadowEl.remove());\n });\n // create new one\n recreateShadows();\n }\n });\n let requireUpdateOnVirtual;\n on('virtualUpdate', () => {\n if (swiper.params.effect !== effect) return;\n if (!swiper.slides.length) {\n requireUpdateOnVirtual = true;\n }\n requestAnimationFrame(() => {\n if (requireUpdateOnVirtual && swiper.slides && swiper.slides.length) {\n setTranslate();\n requireUpdateOnVirtual = false;\n }\n });\n });\n}\n\nexport { effectInit as e };\n","import { g as getSlideTransformEl } from './utils.mjs';\n\nfunction effectTarget(effectParams, slideEl) {\n const transformEl = getSlideTransformEl(slideEl);\n if (transformEl !== slideEl) {\n transformEl.style.backfaceVisibility = 'hidden';\n transformEl.style['-webkit-backface-visibility'] = 'hidden';\n }\n return transformEl;\n}\n\nexport { effectTarget as e };\n","import { k as elementTransitionEnd } from './utils.mjs';\n\nfunction effectVirtualTransitionEnd(_ref) {\n let {\n swiper,\n duration,\n transformElements,\n allSlides\n } = _ref;\n const {\n activeIndex\n } = swiper;\n const getSlide = el => {\n if (!el.parentElement) {\n // assume shadow root\n const slide = swiper.slides.find(slideEl => slideEl.shadowRoot && slideEl.shadowRoot === el.parentNode);\n return slide;\n }\n return el.parentElement;\n };\n if (swiper.params.virtualTranslate && duration !== 0) {\n let eventTriggered = false;\n let transitionEndTarget;\n if (allSlides) {\n transitionEndTarget = transformElements;\n } else {\n transitionEndTarget = transformElements.filter(transformEl => {\n const el = transformEl.classList.contains('swiper-slide-transform') ? getSlide(transformEl) : transformEl;\n return swiper.getSlideIndex(el) === activeIndex;\n });\n }\n transitionEndTarget.forEach(el => {\n elementTransitionEnd(el, () => {\n if (eventTriggered) return;\n if (!swiper || swiper.destroyed) return;\n eventTriggered = true;\n swiper.animating = false;\n const evt = new window.CustomEvent('transitionend', {\n bubbles: true,\n cancelable: true\n });\n swiper.wrapperEl.dispatchEvent(evt);\n });\n });\n }\n}\n\nexport { effectVirtualTransitionEnd as e };\n","import { g as getSlideTransformEl, c as createElement } from './utils.mjs';\n\nfunction createShadow(suffix, slideEl, side) {\n const shadowClass = `swiper-slide-shadow${side ? `-${side}` : ''}${suffix ? ` swiper-slide-shadow-${suffix}` : ''}`;\n const shadowContainer = getSlideTransformEl(slideEl);\n let shadowEl = shadowContainer.querySelector(`.${shadowClass.split(' ').join('.')}`);\n if (!shadowEl) {\n shadowEl = createElement('div', shadowClass.split(' '));\n shadowContainer.append(shadowEl);\n }\n return shadowEl;\n}\n\nexport { createShadow as c };\n","/**\n * Swiper 11.2.0\n * Most modern mobile touch slider and framework with hardware accelerated transitions\n * https://swiperjs.com\n *\n * Copyright 2014-2025 Vladimir Kharlampidi\n *\n * Released under the MIT License\n *\n * Released on: January 2, 2025\n */\n\nimport { S as Swiper } from './shared/swiper-core.mjs';\nimport Virtual from './modules/virtual.mjs';\nimport Keyboard from './modules/keyboard.mjs';\nimport Mousewheel from './modules/mousewheel.mjs';\nimport Navigation from './modules/navigation.mjs';\nimport Pagination from './modules/pagination.mjs';\nimport Scrollbar from './modules/scrollbar.mjs';\nimport Parallax from './modules/parallax.mjs';\nimport Zoom from './modules/zoom.mjs';\nimport Controller from './modules/controller.mjs';\nimport A11y from './modules/a11y.mjs';\nimport History from './modules/history.mjs';\nimport HashNavigation from './modules/hash-navigation.mjs';\nimport Autoplay from './modules/autoplay.mjs';\nimport Thumb from './modules/thumbs.mjs';\nimport freeMode from './modules/free-mode.mjs';\nimport Grid from './modules/grid.mjs';\nimport Manipulation from './modules/manipulation.mjs';\nimport EffectFade from './modules/effect-fade.mjs';\nimport EffectCube from './modules/effect-cube.mjs';\nimport EffectFlip from './modules/effect-flip.mjs';\nimport EffectCoverflow from './modules/effect-coverflow.mjs';\nimport EffectCreative from './modules/effect-creative.mjs';\nimport EffectCards from './modules/effect-cards.mjs';\n\n// Swiper Class\nconst modules = [Virtual, Keyboard, Mousewheel, Navigation, Pagination, Scrollbar, Parallax, Zoom, Controller, A11y, History, HashNavigation, Autoplay, Thumb, freeMode, Grid, Manipulation, EffectFade, EffectCube, EffectFlip, EffectCoverflow, EffectCreative, EffectCards];\nSwiper.use(modules);\n\nexport { Swiper, Swiper as default };\n","import { g as getDocument } from '../shared/ssr-window.esm.mjs';\nimport { s as setCSSProperty, e as elementChildren, c as createElement } from '../shared/utils.mjs';\n\nfunction Virtual(_ref) {\n let {\n swiper,\n extendParams,\n on,\n emit\n } = _ref;\n extendParams({\n virtual: {\n enabled: false,\n slides: [],\n cache: true,\n renderSlide: null,\n renderExternal: null,\n renderExternalUpdate: true,\n addSlidesBefore: 0,\n addSlidesAfter: 0\n }\n });\n let cssModeTimeout;\n const document = getDocument();\n swiper.virtual = {\n cache: {},\n from: undefined,\n to: undefined,\n slides: [],\n offset: 0,\n slidesGrid: []\n };\n const tempDOM = document.createElement('div');\n function renderSlide(slide, index) {\n const params = swiper.params.virtual;\n if (params.cache && swiper.virtual.cache[index]) {\n return swiper.virtual.cache[index];\n }\n // eslint-disable-next-line\n let slideEl;\n if (params.renderSlide) {\n slideEl = params.renderSlide.call(swiper, slide, index);\n if (typeof slideEl === 'string') {\n tempDOM.innerHTML = slideEl;\n slideEl = tempDOM.children[0];\n }\n } else if (swiper.isElement) {\n slideEl = createElement('swiper-slide');\n } else {\n slideEl = createElement('div', swiper.params.slideClass);\n }\n slideEl.setAttribute('data-swiper-slide-index', index);\n if (!params.renderSlide) {\n slideEl.innerHTML = slide;\n }\n if (params.cache) {\n swiper.virtual.cache[index] = slideEl;\n }\n return slideEl;\n }\n function update(force, beforeInit) {\n const {\n slidesPerView,\n slidesPerGroup,\n centeredSlides,\n loop: isLoop,\n initialSlide\n } = swiper.params;\n if (beforeInit && !isLoop && initialSlide > 0) {\n return;\n }\n const {\n addSlidesBefore,\n addSlidesAfter\n } = swiper.params.virtual;\n const {\n from: previousFrom,\n to: previousTo,\n slides,\n slidesGrid: previousSlidesGrid,\n offset: previousOffset\n } = swiper.virtual;\n if (!swiper.params.cssMode) {\n swiper.updateActiveIndex();\n }\n const activeIndex = swiper.activeIndex || 0;\n let offsetProp;\n if (swiper.rtlTranslate) offsetProp = 'right';else offsetProp = swiper.isHorizontal() ? 'left' : 'top';\n let slidesAfter;\n let slidesBefore;\n if (centeredSlides) {\n slidesAfter = Math.floor(slidesPerView / 2) + slidesPerGroup + addSlidesAfter;\n slidesBefore = Math.floor(slidesPerView / 2) + slidesPerGroup + addSlidesBefore;\n } else {\n slidesAfter = slidesPerView + (slidesPerGroup - 1) + addSlidesAfter;\n slidesBefore = (isLoop ? slidesPerView : slidesPerGroup) + addSlidesBefore;\n }\n let from = activeIndex - slidesBefore;\n let to = activeIndex + slidesAfter;\n if (!isLoop) {\n from = Math.max(from, 0);\n to = Math.min(to, slides.length - 1);\n }\n let offset = (swiper.slidesGrid[from] || 0) - (swiper.slidesGrid[0] || 0);\n if (isLoop && activeIndex >= slidesBefore) {\n from -= slidesBefore;\n if (!centeredSlides) offset += swiper.slidesGrid[0];\n } else if (isLoop && activeIndex < slidesBefore) {\n from = -slidesBefore;\n if (centeredSlides) offset += swiper.slidesGrid[0];\n }\n Object.assign(swiper.virtual, {\n from,\n to,\n offset,\n slidesGrid: swiper.slidesGrid,\n slidesBefore,\n slidesAfter\n });\n function onRendered() {\n swiper.updateSlides();\n swiper.updateProgress();\n swiper.updateSlidesClasses();\n emit('virtualUpdate');\n }\n if (previousFrom === from && previousTo === to && !force) {\n if (swiper.slidesGrid !== previousSlidesGrid && offset !== previousOffset) {\n swiper.slides.forEach(slideEl => {\n slideEl.style[offsetProp] = `${offset - Math.abs(swiper.cssOverflowAdjustment())}px`;\n });\n }\n swiper.updateProgress();\n emit('virtualUpdate');\n return;\n }\n if (swiper.params.virtual.renderExternal) {\n swiper.params.virtual.renderExternal.call(swiper, {\n offset,\n from,\n to,\n slides: function getSlides() {\n const slidesToRender = [];\n for (let i = from; i <= to; i += 1) {\n slidesToRender.push(slides[i]);\n }\n return slidesToRender;\n }()\n });\n if (swiper.params.virtual.renderExternalUpdate) {\n onRendered();\n } else {\n emit('virtualUpdate');\n }\n return;\n }\n const prependIndexes = [];\n const appendIndexes = [];\n const getSlideIndex = index => {\n let slideIndex = index;\n if (index < 0) {\n slideIndex = slides.length + index;\n } else if (slideIndex >= slides.length) {\n // eslint-disable-next-line\n slideIndex = slideIndex - slides.length;\n }\n return slideIndex;\n };\n if (force) {\n swiper.slides.filter(el => el.matches(`.${swiper.params.slideClass}, swiper-slide`)).forEach(slideEl => {\n slideEl.remove();\n });\n } else {\n for (let i = previousFrom; i <= previousTo; i += 1) {\n if (i < from || i > to) {\n const slideIndex = getSlideIndex(i);\n swiper.slides.filter(el => el.matches(`.${swiper.params.slideClass}[data-swiper-slide-index=\"${slideIndex}\"], swiper-slide[data-swiper-slide-index=\"${slideIndex}\"]`)).forEach(slideEl => {\n slideEl.remove();\n });\n }\n }\n }\n const loopFrom = isLoop ? -slides.length : 0;\n const loopTo = isLoop ? slides.length * 2 : slides.length;\n for (let i = loopFrom; i < loopTo; i += 1) {\n if (i >= from && i <= to) {\n const slideIndex = getSlideIndex(i);\n if (typeof previousTo === 'undefined' || force) {\n appendIndexes.push(slideIndex);\n } else {\n if (i > previousTo) appendIndexes.push(slideIndex);\n if (i < previousFrom) prependIndexes.push(slideIndex);\n }\n }\n }\n appendIndexes.forEach(index => {\n swiper.slidesEl.append(renderSlide(slides[index], index));\n });\n if (isLoop) {\n for (let i = prependIndexes.length - 1; i >= 0; i -= 1) {\n const index = prependIndexes[i];\n swiper.slidesEl.prepend(renderSlide(slides[index], index));\n }\n } else {\n prependIndexes.sort((a, b) => b - a);\n prependIndexes.forEach(index => {\n swiper.slidesEl.prepend(renderSlide(slides[index], index));\n });\n }\n elementChildren(swiper.slidesEl, '.swiper-slide, swiper-slide').forEach(slideEl => {\n slideEl.style[offsetProp] = `${offset - Math.abs(swiper.cssOverflowAdjustment())}px`;\n });\n onRendered();\n }\n function appendSlide(slides) {\n if (typeof slides === 'object' && 'length' in slides) {\n for (let i = 0; i < slides.length; i += 1) {\n if (slides[i]) swiper.virtual.slides.push(slides[i]);\n }\n } else {\n swiper.virtual.slides.push(slides);\n }\n update(true);\n }\n function prependSlide(slides) {\n const activeIndex = swiper.activeIndex;\n let newActiveIndex = activeIndex + 1;\n let numberOfNewSlides = 1;\n if (Array.isArray(slides)) {\n for (let i = 0; i < slides.length; i += 1) {\n if (slides[i]) swiper.virtual.slides.unshift(slides[i]);\n }\n newActiveIndex = activeIndex + slides.length;\n numberOfNewSlides = slides.length;\n } else {\n swiper.virtual.slides.unshift(slides);\n }\n if (swiper.params.virtual.cache) {\n const cache = swiper.virtual.cache;\n const newCache = {};\n Object.keys(cache).forEach(cachedIndex => {\n const cachedEl = cache[cachedIndex];\n const cachedElIndex = cachedEl.getAttribute('data-swiper-slide-index');\n if (cachedElIndex) {\n cachedEl.setAttribute('data-swiper-slide-index', parseInt(cachedElIndex, 10) + numberOfNewSlides);\n }\n newCache[parseInt(cachedIndex, 10) + numberOfNewSlides] = cachedEl;\n });\n swiper.virtual.cache = newCache;\n }\n update(true);\n swiper.slideTo(newActiveIndex, 0);\n }\n function removeSlide(slidesIndexes) {\n if (typeof slidesIndexes === 'undefined' || slidesIndexes === null) return;\n let activeIndex = swiper.activeIndex;\n if (Array.isArray(slidesIndexes)) {\n for (let i = slidesIndexes.length - 1; i >= 0; i -= 1) {\n if (swiper.params.virtual.cache) {\n delete swiper.virtual.cache[slidesIndexes[i]];\n // shift cache indexes\n Object.keys(swiper.virtual.cache).forEach(key => {\n if (key > slidesIndexes) {\n swiper.virtual.cache[key - 1] = swiper.virtual.cache[key];\n swiper.virtual.cache[key - 1].setAttribute('data-swiper-slide-index', key - 1);\n delete swiper.virtual.cache[key];\n }\n });\n }\n swiper.virtual.slides.splice(slidesIndexes[i], 1);\n if (slidesIndexes[i] < activeIndex) activeIndex -= 1;\n activeIndex = Math.max(activeIndex, 0);\n }\n } else {\n if (swiper.params.virtual.cache) {\n delete swiper.virtual.cache[slidesIndexes];\n // shift cache indexes\n Object.keys(swiper.virtual.cache).forEach(key => {\n if (key > slidesIndexes) {\n swiper.virtual.cache[key - 1] = swiper.virtual.cache[key];\n swiper.virtual.cache[key - 1].setAttribute('data-swiper-slide-index', key - 1);\n delete swiper.virtual.cache[key];\n }\n });\n }\n swiper.virtual.slides.splice(slidesIndexes, 1);\n if (slidesIndexes < activeIndex) activeIndex -= 1;\n activeIndex = Math.max(activeIndex, 0);\n }\n update(true);\n swiper.slideTo(activeIndex, 0);\n }\n function removeAllSlides() {\n swiper.virtual.slides = [];\n if (swiper.params.virtual.cache) {\n swiper.virtual.cache = {};\n }\n update(true);\n swiper.slideTo(0, 0);\n }\n on('beforeInit', () => {\n if (!swiper.params.virtual.enabled) return;\n let domSlidesAssigned;\n if (typeof swiper.passedParams.virtual.slides === 'undefined') {\n const slides = [...swiper.slidesEl.children].filter(el => el.matches(`.${swiper.params.slideClass}, swiper-slide`));\n if (slides && slides.length) {\n swiper.virtual.slides = [...slides];\n domSlidesAssigned = true;\n slides.forEach((slideEl, slideIndex) => {\n slideEl.setAttribute('data-swiper-slide-index', slideIndex);\n swiper.virtual.cache[slideIndex] = slideEl;\n slideEl.remove();\n });\n }\n }\n if (!domSlidesAssigned) {\n swiper.virtual.slides = swiper.params.virtual.slides;\n }\n swiper.classNames.push(`${swiper.params.containerModifierClass}virtual`);\n swiper.params.watchSlidesProgress = true;\n swiper.originalParams.watchSlidesProgress = true;\n update(false, true);\n });\n on('setTranslate', () => {\n if (!swiper.params.virtual.enabled) return;\n if (swiper.params.cssMode && !swiper._immediateVirtual) {\n clearTimeout(cssModeTimeout);\n cssModeTimeout = setTimeout(() => {\n update();\n }, 100);\n } else {\n update();\n }\n });\n on('init update resize', () => {\n if (!swiper.params.virtual.enabled) return;\n if (swiper.params.cssMode) {\n setCSSProperty(swiper.wrapperEl, '--swiper-virtual-size', `${swiper.virtualSize}px`);\n }\n });\n Object.assign(swiper.virtual, {\n appendSlide,\n prependSlide,\n removeSlide,\n removeAllSlides,\n update\n });\n}\n\nexport { Virtual as default };\n","import { g as getDocument, a as getWindow } from '../shared/ssr-window.esm.mjs';\nimport { a as elementParents, b as elementOffset } from '../shared/utils.mjs';\n\n/* eslint-disable consistent-return */\nfunction Keyboard(_ref) {\n let {\n swiper,\n extendParams,\n on,\n emit\n } = _ref;\n const document = getDocument();\n const window = getWindow();\n swiper.keyboard = {\n enabled: false\n };\n extendParams({\n keyboard: {\n enabled: false,\n onlyInViewport: true,\n pageUpDown: true\n }\n });\n function handle(event) {\n if (!swiper.enabled) return;\n const {\n rtlTranslate: rtl\n } = swiper;\n let e = event;\n if (e.originalEvent) e = e.originalEvent; // jquery fix\n const kc = e.keyCode || e.charCode;\n const pageUpDown = swiper.params.keyboard.pageUpDown;\n const isPageUp = pageUpDown && kc === 33;\n const isPageDown = pageUpDown && kc === 34;\n const isArrowLeft = kc === 37;\n const isArrowRight = kc === 39;\n const isArrowUp = kc === 38;\n const isArrowDown = kc === 40;\n // Directions locks\n if (!swiper.allowSlideNext && (swiper.isHorizontal() && isArrowRight || swiper.isVertical() && isArrowDown || isPageDown)) {\n return false;\n }\n if (!swiper.allowSlidePrev && (swiper.isHorizontal() && isArrowLeft || swiper.isVertical() && isArrowUp || isPageUp)) {\n return false;\n }\n if (e.shiftKey || e.altKey || e.ctrlKey || e.metaKey) {\n return undefined;\n }\n if (document.activeElement && document.activeElement.nodeName && (document.activeElement.nodeName.toLowerCase() === 'input' || document.activeElement.nodeName.toLowerCase() === 'textarea')) {\n return undefined;\n }\n if (swiper.params.keyboard.onlyInViewport && (isPageUp || isPageDown || isArrowLeft || isArrowRight || isArrowUp || isArrowDown)) {\n let inView = false;\n // Check that swiper should be inside of visible area of window\n if (elementParents(swiper.el, `.${swiper.params.slideClass}, swiper-slide`).length > 0 && elementParents(swiper.el, `.${swiper.params.slideActiveClass}`).length === 0) {\n return undefined;\n }\n const el = swiper.el;\n const swiperWidth = el.clientWidth;\n const swiperHeight = el.clientHeight;\n const windowWidth = window.innerWidth;\n const windowHeight = window.innerHeight;\n const swiperOffset = elementOffset(el);\n if (rtl) swiperOffset.left -= el.scrollLeft;\n const swiperCoord = [[swiperOffset.left, swiperOffset.top], [swiperOffset.left + swiperWidth, swiperOffset.top], [swiperOffset.left, swiperOffset.top + swiperHeight], [swiperOffset.left + swiperWidth, swiperOffset.top + swiperHeight]];\n for (let i = 0; i < swiperCoord.length; i += 1) {\n const point = swiperCoord[i];\n if (point[0] >= 0 && point[0] <= windowWidth && point[1] >= 0 && point[1] <= windowHeight) {\n if (point[0] === 0 && point[1] === 0) continue; // eslint-disable-line\n inView = true;\n }\n }\n if (!inView) return undefined;\n }\n if (swiper.isHorizontal()) {\n if (isPageUp || isPageDown || isArrowLeft || isArrowRight) {\n if (e.preventDefault) e.preventDefault();else e.returnValue = false;\n }\n if ((isPageDown || isArrowRight) && !rtl || (isPageUp || isArrowLeft) && rtl) swiper.slideNext();\n if ((isPageUp || isArrowLeft) && !rtl || (isPageDown || isArrowRight) && rtl) swiper.slidePrev();\n } else {\n if (isPageUp || isPageDown || isArrowUp || isArrowDown) {\n if (e.preventDefault) e.preventDefault();else e.returnValue = false;\n }\n if (isPageDown || isArrowDown) swiper.slideNext();\n if (isPageUp || isArrowUp) swiper.slidePrev();\n }\n emit('keyPress', kc);\n return undefined;\n }\n function enable() {\n if (swiper.keyboard.enabled) return;\n document.addEventListener('keydown', handle);\n swiper.keyboard.enabled = true;\n }\n function disable() {\n if (!swiper.keyboard.enabled) return;\n document.removeEventListener('keydown', handle);\n swiper.keyboard.enabled = false;\n }\n on('init', () => {\n if (swiper.params.keyboard.enabled) {\n enable();\n }\n });\n on('destroy', () => {\n if (swiper.keyboard.enabled) {\n disable();\n }\n });\n Object.assign(swiper.keyboard, {\n enable,\n disable\n });\n}\n\nexport { Keyboard as default };\n","import { a as getWindow } from '../shared/ssr-window.esm.mjs';\nimport { n as nextTick, d as now } from '../shared/utils.mjs';\n\n/* eslint-disable consistent-return */\nfunction Mousewheel(_ref) {\n let {\n swiper,\n extendParams,\n on,\n emit\n } = _ref;\n const window = getWindow();\n extendParams({\n mousewheel: {\n enabled: false,\n releaseOnEdges: false,\n invert: false,\n forceToAxis: false,\n sensitivity: 1,\n eventsTarget: 'container',\n thresholdDelta: null,\n thresholdTime: null,\n noMousewheelClass: 'swiper-no-mousewheel'\n }\n });\n swiper.mousewheel = {\n enabled: false\n };\n let timeout;\n let lastScrollTime = now();\n let lastEventBeforeSnap;\n const recentWheelEvents = [];\n function normalize(e) {\n // Reasonable defaults\n const PIXEL_STEP = 10;\n const LINE_HEIGHT = 40;\n const PAGE_HEIGHT = 800;\n let sX = 0;\n let sY = 0; // spinX, spinY\n let pX = 0;\n let pY = 0; // pixelX, pixelY\n\n // Legacy\n if ('detail' in e) {\n sY = e.detail;\n }\n if ('wheelDelta' in e) {\n sY = -e.wheelDelta / 120;\n }\n if ('wheelDeltaY' in e) {\n sY = -e.wheelDeltaY / 120;\n }\n if ('wheelDeltaX' in e) {\n sX = -e.wheelDeltaX / 120;\n }\n\n // side scrolling on FF with DOMMouseScroll\n if ('axis' in e && e.axis === e.HORIZONTAL_AXIS) {\n sX = sY;\n sY = 0;\n }\n pX = sX * PIXEL_STEP;\n pY = sY * PIXEL_STEP;\n if ('deltaY' in e) {\n pY = e.deltaY;\n }\n if ('deltaX' in e) {\n pX = e.deltaX;\n }\n if (e.shiftKey && !pX) {\n // if user scrolls with shift he wants horizontal scroll\n pX = pY;\n pY = 0;\n }\n if ((pX || pY) && e.deltaMode) {\n if (e.deltaMode === 1) {\n // delta in LINE units\n pX *= LINE_HEIGHT;\n pY *= LINE_HEIGHT;\n } else {\n // delta in PAGE units\n pX *= PAGE_HEIGHT;\n pY *= PAGE_HEIGHT;\n }\n }\n\n // Fall-back if spin cannot be determined\n if (pX && !sX) {\n sX = pX < 1 ? -1 : 1;\n }\n if (pY && !sY) {\n sY = pY < 1 ? -1 : 1;\n }\n return {\n spinX: sX,\n spinY: sY,\n pixelX: pX,\n pixelY: pY\n };\n }\n function handleMouseEnter() {\n if (!swiper.enabled) return;\n swiper.mouseEntered = true;\n }\n function handleMouseLeave() {\n if (!swiper.enabled) return;\n swiper.mouseEntered = false;\n }\n function animateSlider(newEvent) {\n if (swiper.params.mousewheel.thresholdDelta && newEvent.delta < swiper.params.mousewheel.thresholdDelta) {\n // Prevent if delta of wheel scroll delta is below configured threshold\n return false;\n }\n if (swiper.params.mousewheel.thresholdTime && now() - lastScrollTime < swiper.params.mousewheel.thresholdTime) {\n // Prevent if time between scrolls is below configured threshold\n return false;\n }\n\n // If the movement is NOT big enough and\n // if the last time the user scrolled was too close to the current one (avoid continuously triggering the slider):\n // Don't go any further (avoid insignificant scroll movement).\n if (newEvent.delta >= 6 && now() - lastScrollTime < 60) {\n // Return false as a default\n return true;\n }\n // If user is scrolling towards the end:\n // If the slider hasn't hit the latest slide or\n // if the slider is a loop and\n // if the slider isn't moving right now:\n // Go to next slide and\n // emit a scroll event.\n // Else (the user is scrolling towards the beginning) and\n // if the slider hasn't hit the first slide or\n // if the slider is a loop and\n // if the slider isn't moving right now:\n // Go to prev slide and\n // emit a scroll event.\n if (newEvent.direction < 0) {\n if ((!swiper.isEnd || swiper.params.loop) && !swiper.animating) {\n swiper.slideNext();\n emit('scroll', newEvent.raw);\n }\n } else if ((!swiper.isBeginning || swiper.params.loop) && !swiper.animating) {\n swiper.slidePrev();\n emit('scroll', newEvent.raw);\n }\n // If you got here is because an animation has been triggered so store the current time\n lastScrollTime = new window.Date().getTime();\n // Return false as a default\n return false;\n }\n function releaseScroll(newEvent) {\n const params = swiper.params.mousewheel;\n if (newEvent.direction < 0) {\n if (swiper.isEnd && !swiper.params.loop && params.releaseOnEdges) {\n // Return true to animate scroll on edges\n return true;\n }\n } else if (swiper.isBeginning && !swiper.params.loop && params.releaseOnEdges) {\n // Return true to animate scroll on edges\n return true;\n }\n return false;\n }\n function handle(event) {\n let e = event;\n let disableParentSwiper = true;\n if (!swiper.enabled) return;\n\n // Ignore event if the target or its parents have the swiper-no-mousewheel class\n if (event.target.closest(`.${swiper.params.mousewheel.noMousewheelClass}`)) return;\n const params = swiper.params.mousewheel;\n if (swiper.params.cssMode) {\n e.preventDefault();\n }\n let targetEl = swiper.el;\n if (swiper.params.mousewheel.eventsTarget !== 'container') {\n targetEl = document.querySelector(swiper.params.mousewheel.eventsTarget);\n }\n const targetElContainsTarget = targetEl && targetEl.contains(e.target);\n if (!swiper.mouseEntered && !targetElContainsTarget && !params.releaseOnEdges) return true;\n if (e.originalEvent) e = e.originalEvent; // jquery fix\n let delta = 0;\n const rtlFactor = swiper.rtlTranslate ? -1 : 1;\n const data = normalize(e);\n if (params.forceToAxis) {\n if (swiper.isHorizontal()) {\n if (Math.abs(data.pixelX) > Math.abs(data.pixelY)) delta = -data.pixelX * rtlFactor;else return true;\n } else if (Math.abs(data.pixelY) > Math.abs(data.pixelX)) delta = -data.pixelY;else return true;\n } else {\n delta = Math.abs(data.pixelX) > Math.abs(data.pixelY) ? -data.pixelX * rtlFactor : -data.pixelY;\n }\n if (delta === 0) return true;\n if (params.invert) delta = -delta;\n\n // Get the scroll positions\n let positions = swiper.getTranslate() + delta * params.sensitivity;\n if (positions >= swiper.minTranslate()) positions = swiper.minTranslate();\n if (positions <= swiper.maxTranslate()) positions = swiper.maxTranslate();\n\n // When loop is true:\n // the disableParentSwiper will be true.\n // When loop is false:\n // if the scroll positions is not on edge,\n // then the disableParentSwiper will be true.\n // if the scroll on edge positions,\n // then the disableParentSwiper will be false.\n disableParentSwiper = swiper.params.loop ? true : !(positions === swiper.minTranslate() || positions === swiper.maxTranslate());\n if (disableParentSwiper && swiper.params.nested) e.stopPropagation();\n if (!swiper.params.freeMode || !swiper.params.freeMode.enabled) {\n // Register the new event in a variable which stores the relevant data\n const newEvent = {\n time: now(),\n delta: Math.abs(delta),\n direction: Math.sign(delta),\n raw: event\n };\n\n // Keep the most recent events\n if (recentWheelEvents.length >= 2) {\n recentWheelEvents.shift(); // only store the last N events\n }\n\n const prevEvent = recentWheelEvents.length ? recentWheelEvents[recentWheelEvents.length - 1] : undefined;\n recentWheelEvents.push(newEvent);\n\n // If there is at least one previous recorded event:\n // If direction has changed or\n // if the scroll is quicker than the previous one:\n // Animate the slider.\n // Else (this is the first time the wheel is moved):\n // Animate the slider.\n if (prevEvent) {\n if (newEvent.direction !== prevEvent.direction || newEvent.delta > prevEvent.delta || newEvent.time > prevEvent.time + 150) {\n animateSlider(newEvent);\n }\n } else {\n animateSlider(newEvent);\n }\n\n // If it's time to release the scroll:\n // Return now so you don't hit the preventDefault.\n if (releaseScroll(newEvent)) {\n return true;\n }\n } else {\n // Freemode or scrollContainer:\n\n // If we recently snapped after a momentum scroll, then ignore wheel events\n // to give time for the deceleration to finish. Stop ignoring after 500 msecs\n // or if it's a new scroll (larger delta or inverse sign as last event before\n // an end-of-momentum snap).\n const newEvent = {\n time: now(),\n delta: Math.abs(delta),\n direction: Math.sign(delta)\n };\n const ignoreWheelEvents = lastEventBeforeSnap && newEvent.time < lastEventBeforeSnap.time + 500 && newEvent.delta <= lastEventBeforeSnap.delta && newEvent.direction === lastEventBeforeSnap.direction;\n if (!ignoreWheelEvents) {\n lastEventBeforeSnap = undefined;\n let position = swiper.getTranslate() + delta * params.sensitivity;\n const wasBeginning = swiper.isBeginning;\n const wasEnd = swiper.isEnd;\n if (position >= swiper.minTranslate()) position = swiper.minTranslate();\n if (position <= swiper.maxTranslate()) position = swiper.maxTranslate();\n swiper.setTransition(0);\n swiper.setTranslate(position);\n swiper.updateProgress();\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n if (!wasBeginning && swiper.isBeginning || !wasEnd && swiper.isEnd) {\n swiper.updateSlidesClasses();\n }\n if (swiper.params.loop) {\n swiper.loopFix({\n direction: newEvent.direction < 0 ? 'next' : 'prev',\n byMousewheel: true\n });\n }\n if (swiper.params.freeMode.sticky) {\n // When wheel scrolling starts with sticky (aka snap) enabled, then detect\n // the end of a momentum scroll by storing recent (N=15?) wheel events.\n // 1. do all N events have decreasing or same (absolute value) delta?\n // 2. did all N events arrive in the last M (M=500?) msecs?\n // 3. does the earliest event have an (absolute value) delta that's\n // at least P (P=1?) larger than the most recent event's delta?\n // 4. does the latest event have a delta that's smaller than Q (Q=6?) pixels?\n // If 1-4 are \"yes\" then we're near the end of a momentum scroll deceleration.\n // Snap immediately and ignore remaining wheel events in this scroll.\n // See comment above for \"remaining wheel events in this scroll\" determination.\n // If 1-4 aren't satisfied, then wait to snap until 500ms after the last event.\n clearTimeout(timeout);\n timeout = undefined;\n if (recentWheelEvents.length >= 15) {\n recentWheelEvents.shift(); // only store the last N events\n }\n\n const prevEvent = recentWheelEvents.length ? recentWheelEvents[recentWheelEvents.length - 1] : undefined;\n const firstEvent = recentWheelEvents[0];\n recentWheelEvents.push(newEvent);\n if (prevEvent && (newEvent.delta > prevEvent.delta || newEvent.direction !== prevEvent.direction)) {\n // Increasing or reverse-sign delta means the user started scrolling again. Clear the wheel event log.\n recentWheelEvents.splice(0);\n } else if (recentWheelEvents.length >= 15 && newEvent.time - firstEvent.time < 500 && firstEvent.delta - newEvent.delta >= 1 && newEvent.delta <= 6) {\n // We're at the end of the deceleration of a momentum scroll, so there's no need\n // to wait for more events. Snap ASAP on the next tick.\n // Also, because there's some remaining momentum we'll bias the snap in the\n // direction of the ongoing scroll because it's better UX for the scroll to snap\n // in the same direction as the scroll instead of reversing to snap. Therefore,\n // if it's already scrolled more than 20% in the current direction, keep going.\n const snapToThreshold = delta > 0 ? 0.8 : 0.2;\n lastEventBeforeSnap = newEvent;\n recentWheelEvents.splice(0);\n timeout = nextTick(() => {\n if (swiper.destroyed || !swiper.params) return;\n swiper.slideToClosest(swiper.params.speed, true, undefined, snapToThreshold);\n }, 0); // no delay; move on next tick\n }\n\n if (!timeout) {\n // if we get here, then we haven't detected the end of a momentum scroll, so\n // we'll consider a scroll \"complete\" when there haven't been any wheel events\n // for 500ms.\n timeout = nextTick(() => {\n if (swiper.destroyed || !swiper.params) return;\n const snapToThreshold = 0.5;\n lastEventBeforeSnap = newEvent;\n recentWheelEvents.splice(0);\n swiper.slideToClosest(swiper.params.speed, true, undefined, snapToThreshold);\n }, 500);\n }\n }\n\n // Emit event\n if (!ignoreWheelEvents) emit('scroll', e);\n\n // Stop autoplay\n if (swiper.params.autoplay && swiper.params.autoplayDisableOnInteraction) swiper.autoplay.stop();\n // Return page scroll on edge positions\n if (params.releaseOnEdges && (position === swiper.minTranslate() || position === swiper.maxTranslate())) {\n return true;\n }\n }\n }\n if (e.preventDefault) e.preventDefault();else e.returnValue = false;\n return false;\n }\n function events(method) {\n let targetEl = swiper.el;\n if (swiper.params.mousewheel.eventsTarget !== 'container') {\n targetEl = document.querySelector(swiper.params.mousewheel.eventsTarget);\n }\n targetEl[method]('mouseenter', handleMouseEnter);\n targetEl[method]('mouseleave', handleMouseLeave);\n targetEl[method]('wheel', handle);\n }\n function enable() {\n if (swiper.params.cssMode) {\n swiper.wrapperEl.removeEventListener('wheel', handle);\n return true;\n }\n if (swiper.mousewheel.enabled) return false;\n events('addEventListener');\n swiper.mousewheel.enabled = true;\n return true;\n }\n function disable() {\n if (swiper.params.cssMode) {\n swiper.wrapperEl.addEventListener(event, handle);\n return true;\n }\n if (!swiper.mousewheel.enabled) return false;\n events('removeEventListener');\n swiper.mousewheel.enabled = false;\n return true;\n }\n on('init', () => {\n if (!swiper.params.mousewheel.enabled && swiper.params.cssMode) {\n disable();\n }\n if (swiper.params.mousewheel.enabled) enable();\n });\n on('destroy', () => {\n if (swiper.params.cssMode) {\n enable();\n }\n if (swiper.mousewheel.enabled) disable();\n });\n Object.assign(swiper.mousewheel, {\n enable,\n disable\n });\n}\n\nexport { Mousewheel as default };\n","import { c as createElementIfNotDefined } from '../shared/create-element-if-not-defined.mjs';\nimport { m as makeElementsArray } from '../shared/utils.mjs';\n\nfunction Navigation(_ref) {\n let {\n swiper,\n extendParams,\n on,\n emit\n } = _ref;\n extendParams({\n navigation: {\n nextEl: null,\n prevEl: null,\n hideOnClick: false,\n disabledClass: 'swiper-button-disabled',\n hiddenClass: 'swiper-button-hidden',\n lockClass: 'swiper-button-lock',\n navigationDisabledClass: 'swiper-navigation-disabled'\n }\n });\n swiper.navigation = {\n nextEl: null,\n prevEl: null\n };\n function getEl(el) {\n let res;\n if (el && typeof el === 'string' && swiper.isElement) {\n res = swiper.el.querySelector(el) || swiper.hostEl.querySelector(el);\n if (res) return res;\n }\n if (el) {\n if (typeof el === 'string') res = [...document.querySelectorAll(el)];\n if (swiper.params.uniqueNavElements && typeof el === 'string' && res && res.length > 1 && swiper.el.querySelectorAll(el).length === 1) {\n res = swiper.el.querySelector(el);\n } else if (res && res.length === 1) {\n res = res[0];\n }\n }\n if (el && !res) return el;\n // if (Array.isArray(res) && res.length === 1) res = res[0];\n return res;\n }\n function toggleEl(el, disabled) {\n const params = swiper.params.navigation;\n el = makeElementsArray(el);\n el.forEach(subEl => {\n if (subEl) {\n subEl.classList[disabled ? 'add' : 'remove'](...params.disabledClass.split(' '));\n if (subEl.tagName === 'BUTTON') subEl.disabled = disabled;\n if (swiper.params.watchOverflow && swiper.enabled) {\n subEl.classList[swiper.isLocked ? 'add' : 'remove'](params.lockClass);\n }\n }\n });\n }\n function update() {\n // Update Navigation Buttons\n const {\n nextEl,\n prevEl\n } = swiper.navigation;\n if (swiper.params.loop) {\n toggleEl(prevEl, false);\n toggleEl(nextEl, false);\n return;\n }\n toggleEl(prevEl, swiper.isBeginning && !swiper.params.rewind);\n toggleEl(nextEl, swiper.isEnd && !swiper.params.rewind);\n }\n function onPrevClick(e) {\n e.preventDefault();\n if (swiper.isBeginning && !swiper.params.loop && !swiper.params.rewind) return;\n swiper.slidePrev();\n emit('navigationPrev');\n }\n function onNextClick(e) {\n e.preventDefault();\n if (swiper.isEnd && !swiper.params.loop && !swiper.params.rewind) return;\n swiper.slideNext();\n emit('navigationNext');\n }\n function init() {\n const params = swiper.params.navigation;\n swiper.params.navigation = createElementIfNotDefined(swiper, swiper.originalParams.navigation, swiper.params.navigation, {\n nextEl: 'swiper-button-next',\n prevEl: 'swiper-button-prev'\n });\n if (!(params.nextEl || params.prevEl)) return;\n let nextEl = getEl(params.nextEl);\n let prevEl = getEl(params.prevEl);\n Object.assign(swiper.navigation, {\n nextEl,\n prevEl\n });\n nextEl = makeElementsArray(nextEl);\n prevEl = makeElementsArray(prevEl);\n const initButton = (el, dir) => {\n if (el) {\n el.addEventListener('click', dir === 'next' ? onNextClick : onPrevClick);\n }\n if (!swiper.enabled && el) {\n el.classList.add(...params.lockClass.split(' '));\n }\n };\n nextEl.forEach(el => initButton(el, 'next'));\n prevEl.forEach(el => initButton(el, 'prev'));\n }\n function destroy() {\n let {\n nextEl,\n prevEl\n } = swiper.navigation;\n nextEl = makeElementsArray(nextEl);\n prevEl = makeElementsArray(prevEl);\n const destroyButton = (el, dir) => {\n el.removeEventListener('click', dir === 'next' ? onNextClick : onPrevClick);\n el.classList.remove(...swiper.params.navigation.disabledClass.split(' '));\n };\n nextEl.forEach(el => destroyButton(el, 'next'));\n prevEl.forEach(el => destroyButton(el, 'prev'));\n }\n on('init', () => {\n if (swiper.params.navigation.enabled === false) {\n // eslint-disable-next-line\n disable();\n } else {\n init();\n update();\n }\n });\n on('toEdge fromEdge lock unlock', () => {\n update();\n });\n on('destroy', () => {\n destroy();\n });\n on('enable disable', () => {\n let {\n nextEl,\n prevEl\n } = swiper.navigation;\n nextEl = makeElementsArray(nextEl);\n prevEl = makeElementsArray(prevEl);\n if (swiper.enabled) {\n update();\n return;\n }\n [...nextEl, ...prevEl].filter(el => !!el).forEach(el => el.classList.add(swiper.params.navigation.lockClass));\n });\n on('click', (_s, e) => {\n let {\n nextEl,\n prevEl\n } = swiper.navigation;\n nextEl = makeElementsArray(nextEl);\n prevEl = makeElementsArray(prevEl);\n const targetEl = e.target;\n let targetIsButton = prevEl.includes(targetEl) || nextEl.includes(targetEl);\n if (swiper.isElement && !targetIsButton) {\n const path = e.path || e.composedPath && e.composedPath();\n if (path) {\n targetIsButton = path.find(pathEl => nextEl.includes(pathEl) || prevEl.includes(pathEl));\n }\n }\n if (swiper.params.navigation.hideOnClick && !targetIsButton) {\n if (swiper.pagination && swiper.params.pagination && swiper.params.pagination.clickable && (swiper.pagination.el === targetEl || swiper.pagination.el.contains(targetEl))) return;\n let isHidden;\n if (nextEl.length) {\n isHidden = nextEl[0].classList.contains(swiper.params.navigation.hiddenClass);\n } else if (prevEl.length) {\n isHidden = prevEl[0].classList.contains(swiper.params.navigation.hiddenClass);\n }\n if (isHidden === true) {\n emit('navigationShow');\n } else {\n emit('navigationHide');\n }\n [...nextEl, ...prevEl].filter(el => !!el).forEach(el => el.classList.toggle(swiper.params.navigation.hiddenClass));\n }\n });\n const enable = () => {\n swiper.el.classList.remove(...swiper.params.navigation.navigationDisabledClass.split(' '));\n init();\n update();\n };\n const disable = () => {\n swiper.el.classList.add(...swiper.params.navigation.navigationDisabledClass.split(' '));\n destroy();\n };\n Object.assign(swiper.navigation, {\n enable,\n disable,\n update,\n init,\n destroy\n });\n}\n\nexport { Navigation as default };\n","import { c as classesToSelector } from '../shared/classes-to-selector.mjs';\nimport { c as createElementIfNotDefined } from '../shared/create-element-if-not-defined.mjs';\nimport { m as makeElementsArray, f as elementOuterSize, h as elementIndex, a as elementParents } from '../shared/utils.mjs';\n\nfunction Pagination(_ref) {\n let {\n swiper,\n extendParams,\n on,\n emit\n } = _ref;\n const pfx = 'swiper-pagination';\n extendParams({\n pagination: {\n el: null,\n bulletElement: 'span',\n clickable: false,\n hideOnClick: false,\n renderBullet: null,\n renderProgressbar: null,\n renderFraction: null,\n renderCustom: null,\n progressbarOpposite: false,\n type: 'bullets',\n // 'bullets' or 'progressbar' or 'fraction' or 'custom'\n dynamicBullets: false,\n dynamicMainBullets: 1,\n formatFractionCurrent: number => number,\n formatFractionTotal: number => number,\n bulletClass: `${pfx}-bullet`,\n bulletActiveClass: `${pfx}-bullet-active`,\n modifierClass: `${pfx}-`,\n currentClass: `${pfx}-current`,\n totalClass: `${pfx}-total`,\n hiddenClass: `${pfx}-hidden`,\n progressbarFillClass: `${pfx}-progressbar-fill`,\n progressbarOppositeClass: `${pfx}-progressbar-opposite`,\n clickableClass: `${pfx}-clickable`,\n lockClass: `${pfx}-lock`,\n horizontalClass: `${pfx}-horizontal`,\n verticalClass: `${pfx}-vertical`,\n paginationDisabledClass: `${pfx}-disabled`\n }\n });\n swiper.pagination = {\n el: null,\n bullets: []\n };\n let bulletSize;\n let dynamicBulletIndex = 0;\n function isPaginationDisabled() {\n return !swiper.params.pagination.el || !swiper.pagination.el || Array.isArray(swiper.pagination.el) && swiper.pagination.el.length === 0;\n }\n function setSideBullets(bulletEl, position) {\n const {\n bulletActiveClass\n } = swiper.params.pagination;\n if (!bulletEl) return;\n bulletEl = bulletEl[`${position === 'prev' ? 'previous' : 'next'}ElementSibling`];\n if (bulletEl) {\n bulletEl.classList.add(`${bulletActiveClass}-${position}`);\n bulletEl = bulletEl[`${position === 'prev' ? 'previous' : 'next'}ElementSibling`];\n if (bulletEl) {\n bulletEl.classList.add(`${bulletActiveClass}-${position}-${position}`);\n }\n }\n }\n function getMoveDirection(prevIndex, nextIndex, length) {\n prevIndex = prevIndex % length;\n nextIndex = nextIndex % length;\n if (nextIndex === prevIndex + 1) {\n return 'next';\n } else if (nextIndex === prevIndex - 1) {\n return 'previous';\n }\n return;\n }\n function onBulletClick(e) {\n const bulletEl = e.target.closest(classesToSelector(swiper.params.pagination.bulletClass));\n if (!bulletEl) {\n return;\n }\n e.preventDefault();\n const index = elementIndex(bulletEl) * swiper.params.slidesPerGroup;\n if (swiper.params.loop) {\n if (swiper.realIndex === index) return;\n const moveDirection = getMoveDirection(swiper.realIndex, index, swiper.slides.length);\n if (moveDirection === 'next') {\n swiper.slideNext();\n } else if (moveDirection === 'previous') {\n swiper.slidePrev();\n } else {\n swiper.slideToLoop(index);\n }\n } else {\n swiper.slideTo(index);\n }\n }\n function update() {\n // Render || Update Pagination bullets/items\n const rtl = swiper.rtl;\n const params = swiper.params.pagination;\n if (isPaginationDisabled()) return;\n let el = swiper.pagination.el;\n el = makeElementsArray(el);\n // Current/Total\n let current;\n let previousIndex;\n const slidesLength = swiper.virtual && swiper.params.virtual.enabled ? swiper.virtual.slides.length : swiper.slides.length;\n const total = swiper.params.loop ? Math.ceil(slidesLength / swiper.params.slidesPerGroup) : swiper.snapGrid.length;\n if (swiper.params.loop) {\n previousIndex = swiper.previousRealIndex || 0;\n current = swiper.params.slidesPerGroup > 1 ? Math.floor(swiper.realIndex / swiper.params.slidesPerGroup) : swiper.realIndex;\n } else if (typeof swiper.snapIndex !== 'undefined') {\n current = swiper.snapIndex;\n previousIndex = swiper.previousSnapIndex;\n } else {\n previousIndex = swiper.previousIndex || 0;\n current = swiper.activeIndex || 0;\n }\n // Types\n if (params.type === 'bullets' && swiper.pagination.bullets && swiper.pagination.bullets.length > 0) {\n const bullets = swiper.pagination.bullets;\n let firstIndex;\n let lastIndex;\n let midIndex;\n if (params.dynamicBullets) {\n bulletSize = elementOuterSize(bullets[0], swiper.isHorizontal() ? 'width' : 'height', true);\n el.forEach(subEl => {\n subEl.style[swiper.isHorizontal() ? 'width' : 'height'] = `${bulletSize * (params.dynamicMainBullets + 4)}px`;\n });\n if (params.dynamicMainBullets > 1 && previousIndex !== undefined) {\n dynamicBulletIndex += current - (previousIndex || 0);\n if (dynamicBulletIndex > params.dynamicMainBullets - 1) {\n dynamicBulletIndex = params.dynamicMainBullets - 1;\n } else if (dynamicBulletIndex < 0) {\n dynamicBulletIndex = 0;\n }\n }\n firstIndex = Math.max(current - dynamicBulletIndex, 0);\n lastIndex = firstIndex + (Math.min(bullets.length, params.dynamicMainBullets) - 1);\n midIndex = (lastIndex + firstIndex) / 2;\n }\n bullets.forEach(bulletEl => {\n const classesToRemove = [...['', '-next', '-next-next', '-prev', '-prev-prev', '-main'].map(suffix => `${params.bulletActiveClass}${suffix}`)].map(s => typeof s === 'string' && s.includes(' ') ? s.split(' ') : s).flat();\n bulletEl.classList.remove(...classesToRemove);\n });\n if (el.length > 1) {\n bullets.forEach(bullet => {\n const bulletIndex = elementIndex(bullet);\n if (bulletIndex === current) {\n bullet.classList.add(...params.bulletActiveClass.split(' '));\n } else if (swiper.isElement) {\n bullet.setAttribute('part', 'bullet');\n }\n if (params.dynamicBullets) {\n if (bulletIndex >= firstIndex && bulletIndex <= lastIndex) {\n bullet.classList.add(...`${params.bulletActiveClass}-main`.split(' '));\n }\n if (bulletIndex === firstIndex) {\n setSideBullets(bullet, 'prev');\n }\n if (bulletIndex === lastIndex) {\n setSideBullets(bullet, 'next');\n }\n }\n });\n } else {\n const bullet = bullets[current];\n if (bullet) {\n bullet.classList.add(...params.bulletActiveClass.split(' '));\n }\n if (swiper.isElement) {\n bullets.forEach((bulletEl, bulletIndex) => {\n bulletEl.setAttribute('part', bulletIndex === current ? 'bullet-active' : 'bullet');\n });\n }\n if (params.dynamicBullets) {\n const firstDisplayedBullet = bullets[firstIndex];\n const lastDisplayedBullet = bullets[lastIndex];\n for (let i = firstIndex; i <= lastIndex; i += 1) {\n if (bullets[i]) {\n bullets[i].classList.add(...`${params.bulletActiveClass}-main`.split(' '));\n }\n }\n setSideBullets(firstDisplayedBullet, 'prev');\n setSideBullets(lastDisplayedBullet, 'next');\n }\n }\n if (params.dynamicBullets) {\n const dynamicBulletsLength = Math.min(bullets.length, params.dynamicMainBullets + 4);\n const bulletsOffset = (bulletSize * dynamicBulletsLength - bulletSize) / 2 - midIndex * bulletSize;\n const offsetProp = rtl ? 'right' : 'left';\n bullets.forEach(bullet => {\n bullet.style[swiper.isHorizontal() ? offsetProp : 'top'] = `${bulletsOffset}px`;\n });\n }\n }\n el.forEach((subEl, subElIndex) => {\n if (params.type === 'fraction') {\n subEl.querySelectorAll(classesToSelector(params.currentClass)).forEach(fractionEl => {\n fractionEl.textContent = params.formatFractionCurrent(current + 1);\n });\n subEl.querySelectorAll(classesToSelector(params.totalClass)).forEach(totalEl => {\n totalEl.textContent = params.formatFractionTotal(total);\n });\n }\n if (params.type === 'progressbar') {\n let progressbarDirection;\n if (params.progressbarOpposite) {\n progressbarDirection = swiper.isHorizontal() ? 'vertical' : 'horizontal';\n } else {\n progressbarDirection = swiper.isHorizontal() ? 'horizontal' : 'vertical';\n }\n const scale = (current + 1) / total;\n let scaleX = 1;\n let scaleY = 1;\n if (progressbarDirection === 'horizontal') {\n scaleX = scale;\n } else {\n scaleY = scale;\n }\n subEl.querySelectorAll(classesToSelector(params.progressbarFillClass)).forEach(progressEl => {\n progressEl.style.transform = `translate3d(0,0,0) scaleX(${scaleX}) scaleY(${scaleY})`;\n progressEl.style.transitionDuration = `${swiper.params.speed}ms`;\n });\n }\n if (params.type === 'custom' && params.renderCustom) {\n subEl.innerHTML = params.renderCustom(swiper, current + 1, total);\n if (subElIndex === 0) emit('paginationRender', subEl);\n } else {\n if (subElIndex === 0) emit('paginationRender', subEl);\n emit('paginationUpdate', subEl);\n }\n if (swiper.params.watchOverflow && swiper.enabled) {\n subEl.classList[swiper.isLocked ? 'add' : 'remove'](params.lockClass);\n }\n });\n }\n function render() {\n // Render Container\n const params = swiper.params.pagination;\n if (isPaginationDisabled()) return;\n const slidesLength = swiper.virtual && swiper.params.virtual.enabled ? swiper.virtual.slides.length : swiper.grid && swiper.params.grid.rows > 1 ? swiper.slides.length / Math.ceil(swiper.params.grid.rows) : swiper.slides.length;\n let el = swiper.pagination.el;\n el = makeElementsArray(el);\n let paginationHTML = '';\n if (params.type === 'bullets') {\n let numberOfBullets = swiper.params.loop ? Math.ceil(slidesLength / swiper.params.slidesPerGroup) : swiper.snapGrid.length;\n if (swiper.params.freeMode && swiper.params.freeMode.enabled && numberOfBullets > slidesLength) {\n numberOfBullets = slidesLength;\n }\n for (let i = 0; i < numberOfBullets; i += 1) {\n if (params.renderBullet) {\n paginationHTML += params.renderBullet.call(swiper, i, params.bulletClass);\n } else {\n // prettier-ignore\n paginationHTML += `<${params.bulletElement} ${swiper.isElement ? 'part=\"bullet\"' : ''} class=\"${params.bulletClass}\">`;\n }\n }\n }\n if (params.type === 'fraction') {\n if (params.renderFraction) {\n paginationHTML = params.renderFraction.call(swiper, params.currentClass, params.totalClass);\n } else {\n paginationHTML = `` + ' / ' + ``;\n }\n }\n if (params.type === 'progressbar') {\n if (params.renderProgressbar) {\n paginationHTML = params.renderProgressbar.call(swiper, params.progressbarFillClass);\n } else {\n paginationHTML = ``;\n }\n }\n swiper.pagination.bullets = [];\n el.forEach(subEl => {\n if (params.type !== 'custom') {\n subEl.innerHTML = paginationHTML || '';\n }\n if (params.type === 'bullets') {\n swiper.pagination.bullets.push(...subEl.querySelectorAll(classesToSelector(params.bulletClass)));\n }\n });\n if (params.type !== 'custom') {\n emit('paginationRender', el[0]);\n }\n }\n function init() {\n swiper.params.pagination = createElementIfNotDefined(swiper, swiper.originalParams.pagination, swiper.params.pagination, {\n el: 'swiper-pagination'\n });\n const params = swiper.params.pagination;\n if (!params.el) return;\n let el;\n if (typeof params.el === 'string' && swiper.isElement) {\n el = swiper.el.querySelector(params.el);\n }\n if (!el && typeof params.el === 'string') {\n el = [...document.querySelectorAll(params.el)];\n }\n if (!el) {\n el = params.el;\n }\n if (!el || el.length === 0) return;\n if (swiper.params.uniqueNavElements && typeof params.el === 'string' && Array.isArray(el) && el.length > 1) {\n el = [...swiper.el.querySelectorAll(params.el)];\n // check if it belongs to another nested Swiper\n if (el.length > 1) {\n el = el.find(subEl => {\n if (elementParents(subEl, '.swiper')[0] !== swiper.el) return false;\n return true;\n });\n }\n }\n if (Array.isArray(el) && el.length === 1) el = el[0];\n Object.assign(swiper.pagination, {\n el\n });\n el = makeElementsArray(el);\n el.forEach(subEl => {\n if (params.type === 'bullets' && params.clickable) {\n subEl.classList.add(...(params.clickableClass || '').split(' '));\n }\n subEl.classList.add(params.modifierClass + params.type);\n subEl.classList.add(swiper.isHorizontal() ? params.horizontalClass : params.verticalClass);\n if (params.type === 'bullets' && params.dynamicBullets) {\n subEl.classList.add(`${params.modifierClass}${params.type}-dynamic`);\n dynamicBulletIndex = 0;\n if (params.dynamicMainBullets < 1) {\n params.dynamicMainBullets = 1;\n }\n }\n if (params.type === 'progressbar' && params.progressbarOpposite) {\n subEl.classList.add(params.progressbarOppositeClass);\n }\n if (params.clickable) {\n subEl.addEventListener('click', onBulletClick);\n }\n if (!swiper.enabled) {\n subEl.classList.add(params.lockClass);\n }\n });\n }\n function destroy() {\n const params = swiper.params.pagination;\n if (isPaginationDisabled()) return;\n let el = swiper.pagination.el;\n if (el) {\n el = makeElementsArray(el);\n el.forEach(subEl => {\n subEl.classList.remove(params.hiddenClass);\n subEl.classList.remove(params.modifierClass + params.type);\n subEl.classList.remove(swiper.isHorizontal() ? params.horizontalClass : params.verticalClass);\n if (params.clickable) {\n subEl.classList.remove(...(params.clickableClass || '').split(' '));\n subEl.removeEventListener('click', onBulletClick);\n }\n });\n }\n if (swiper.pagination.bullets) swiper.pagination.bullets.forEach(subEl => subEl.classList.remove(...params.bulletActiveClass.split(' ')));\n }\n on('changeDirection', () => {\n if (!swiper.pagination || !swiper.pagination.el) return;\n const params = swiper.params.pagination;\n let {\n el\n } = swiper.pagination;\n el = makeElementsArray(el);\n el.forEach(subEl => {\n subEl.classList.remove(params.horizontalClass, params.verticalClass);\n subEl.classList.add(swiper.isHorizontal() ? params.horizontalClass : params.verticalClass);\n });\n });\n on('init', () => {\n if (swiper.params.pagination.enabled === false) {\n // eslint-disable-next-line\n disable();\n } else {\n init();\n render();\n update();\n }\n });\n on('activeIndexChange', () => {\n if (typeof swiper.snapIndex === 'undefined') {\n update();\n }\n });\n on('snapIndexChange', () => {\n update();\n });\n on('snapGridLengthChange', () => {\n render();\n update();\n });\n on('destroy', () => {\n destroy();\n });\n on('enable disable', () => {\n let {\n el\n } = swiper.pagination;\n if (el) {\n el = makeElementsArray(el);\n el.forEach(subEl => subEl.classList[swiper.enabled ? 'remove' : 'add'](swiper.params.pagination.lockClass));\n }\n });\n on('lock unlock', () => {\n update();\n });\n on('click', (_s, e) => {\n const targetEl = e.target;\n const el = makeElementsArray(swiper.pagination.el);\n if (swiper.params.pagination.el && swiper.params.pagination.hideOnClick && el && el.length > 0 && !targetEl.classList.contains(swiper.params.pagination.bulletClass)) {\n if (swiper.navigation && (swiper.navigation.nextEl && targetEl === swiper.navigation.nextEl || swiper.navigation.prevEl && targetEl === swiper.navigation.prevEl)) return;\n const isHidden = el[0].classList.contains(swiper.params.pagination.hiddenClass);\n if (isHidden === true) {\n emit('paginationShow');\n } else {\n emit('paginationHide');\n }\n el.forEach(subEl => subEl.classList.toggle(swiper.params.pagination.hiddenClass));\n }\n });\n const enable = () => {\n swiper.el.classList.remove(swiper.params.pagination.paginationDisabledClass);\n let {\n el\n } = swiper.pagination;\n if (el) {\n el = makeElementsArray(el);\n el.forEach(subEl => subEl.classList.remove(swiper.params.pagination.paginationDisabledClass));\n }\n init();\n render();\n update();\n };\n const disable = () => {\n swiper.el.classList.add(swiper.params.pagination.paginationDisabledClass);\n let {\n el\n } = swiper.pagination;\n if (el) {\n el = makeElementsArray(el);\n el.forEach(subEl => subEl.classList.add(swiper.params.pagination.paginationDisabledClass));\n }\n destroy();\n };\n Object.assign(swiper.pagination, {\n enable,\n disable,\n render,\n update,\n init,\n destroy\n });\n}\n\nexport { Pagination as default };\n","import { g as getDocument } from '../shared/ssr-window.esm.mjs';\nimport { m as makeElementsArray, i as classesToTokens, c as createElement, n as nextTick, b as elementOffset } from '../shared/utils.mjs';\nimport { c as createElementIfNotDefined } from '../shared/create-element-if-not-defined.mjs';\nimport { c as classesToSelector } from '../shared/classes-to-selector.mjs';\n\nfunction Scrollbar(_ref) {\n let {\n swiper,\n extendParams,\n on,\n emit\n } = _ref;\n const document = getDocument();\n let isTouched = false;\n let timeout = null;\n let dragTimeout = null;\n let dragStartPos;\n let dragSize;\n let trackSize;\n let divider;\n extendParams({\n scrollbar: {\n el: null,\n dragSize: 'auto',\n hide: false,\n draggable: false,\n snapOnRelease: true,\n lockClass: 'swiper-scrollbar-lock',\n dragClass: 'swiper-scrollbar-drag',\n scrollbarDisabledClass: 'swiper-scrollbar-disabled',\n horizontalClass: `swiper-scrollbar-horizontal`,\n verticalClass: `swiper-scrollbar-vertical`\n }\n });\n swiper.scrollbar = {\n el: null,\n dragEl: null\n };\n function setTranslate() {\n if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return;\n const {\n scrollbar,\n rtlTranslate: rtl\n } = swiper;\n const {\n dragEl,\n el\n } = scrollbar;\n const params = swiper.params.scrollbar;\n const progress = swiper.params.loop ? swiper.progressLoop : swiper.progress;\n let newSize = dragSize;\n let newPos = (trackSize - dragSize) * progress;\n if (rtl) {\n newPos = -newPos;\n if (newPos > 0) {\n newSize = dragSize - newPos;\n newPos = 0;\n } else if (-newPos + dragSize > trackSize) {\n newSize = trackSize + newPos;\n }\n } else if (newPos < 0) {\n newSize = dragSize + newPos;\n newPos = 0;\n } else if (newPos + dragSize > trackSize) {\n newSize = trackSize - newPos;\n }\n if (swiper.isHorizontal()) {\n dragEl.style.transform = `translate3d(${newPos}px, 0, 0)`;\n dragEl.style.width = `${newSize}px`;\n } else {\n dragEl.style.transform = `translate3d(0px, ${newPos}px, 0)`;\n dragEl.style.height = `${newSize}px`;\n }\n if (params.hide) {\n clearTimeout(timeout);\n el.style.opacity = 1;\n timeout = setTimeout(() => {\n el.style.opacity = 0;\n el.style.transitionDuration = '400ms';\n }, 1000);\n }\n }\n function setTransition(duration) {\n if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return;\n swiper.scrollbar.dragEl.style.transitionDuration = `${duration}ms`;\n }\n function updateSize() {\n if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return;\n const {\n scrollbar\n } = swiper;\n const {\n dragEl,\n el\n } = scrollbar;\n dragEl.style.width = '';\n dragEl.style.height = '';\n trackSize = swiper.isHorizontal() ? el.offsetWidth : el.offsetHeight;\n divider = swiper.size / (swiper.virtualSize + swiper.params.slidesOffsetBefore - (swiper.params.centeredSlides ? swiper.snapGrid[0] : 0));\n if (swiper.params.scrollbar.dragSize === 'auto') {\n dragSize = trackSize * divider;\n } else {\n dragSize = parseInt(swiper.params.scrollbar.dragSize, 10);\n }\n if (swiper.isHorizontal()) {\n dragEl.style.width = `${dragSize}px`;\n } else {\n dragEl.style.height = `${dragSize}px`;\n }\n if (divider >= 1) {\n el.style.display = 'none';\n } else {\n el.style.display = '';\n }\n if (swiper.params.scrollbar.hide) {\n el.style.opacity = 0;\n }\n if (swiper.params.watchOverflow && swiper.enabled) {\n scrollbar.el.classList[swiper.isLocked ? 'add' : 'remove'](swiper.params.scrollbar.lockClass);\n }\n }\n function getPointerPosition(e) {\n return swiper.isHorizontal() ? e.clientX : e.clientY;\n }\n function setDragPosition(e) {\n const {\n scrollbar,\n rtlTranslate: rtl\n } = swiper;\n const {\n el\n } = scrollbar;\n let positionRatio;\n positionRatio = (getPointerPosition(e) - elementOffset(el)[swiper.isHorizontal() ? 'left' : 'top'] - (dragStartPos !== null ? dragStartPos : dragSize / 2)) / (trackSize - dragSize);\n positionRatio = Math.max(Math.min(positionRatio, 1), 0);\n if (rtl) {\n positionRatio = 1 - positionRatio;\n }\n const position = swiper.minTranslate() + (swiper.maxTranslate() - swiper.minTranslate()) * positionRatio;\n swiper.updateProgress(position);\n swiper.setTranslate(position);\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n }\n function onDragStart(e) {\n const params = swiper.params.scrollbar;\n const {\n scrollbar,\n wrapperEl\n } = swiper;\n const {\n el,\n dragEl\n } = scrollbar;\n isTouched = true;\n dragStartPos = e.target === dragEl ? getPointerPosition(e) - e.target.getBoundingClientRect()[swiper.isHorizontal() ? 'left' : 'top'] : null;\n e.preventDefault();\n e.stopPropagation();\n wrapperEl.style.transitionDuration = '100ms';\n dragEl.style.transitionDuration = '100ms';\n setDragPosition(e);\n clearTimeout(dragTimeout);\n el.style.transitionDuration = '0ms';\n if (params.hide) {\n el.style.opacity = 1;\n }\n if (swiper.params.cssMode) {\n swiper.wrapperEl.style['scroll-snap-type'] = 'none';\n }\n emit('scrollbarDragStart', e);\n }\n function onDragMove(e) {\n const {\n scrollbar,\n wrapperEl\n } = swiper;\n const {\n el,\n dragEl\n } = scrollbar;\n if (!isTouched) return;\n if (e.preventDefault && e.cancelable) e.preventDefault();else e.returnValue = false;\n setDragPosition(e);\n wrapperEl.style.transitionDuration = '0ms';\n el.style.transitionDuration = '0ms';\n dragEl.style.transitionDuration = '0ms';\n emit('scrollbarDragMove', e);\n }\n function onDragEnd(e) {\n const params = swiper.params.scrollbar;\n const {\n scrollbar,\n wrapperEl\n } = swiper;\n const {\n el\n } = scrollbar;\n if (!isTouched) return;\n isTouched = false;\n if (swiper.params.cssMode) {\n swiper.wrapperEl.style['scroll-snap-type'] = '';\n wrapperEl.style.transitionDuration = '';\n }\n if (params.hide) {\n clearTimeout(dragTimeout);\n dragTimeout = nextTick(() => {\n el.style.opacity = 0;\n el.style.transitionDuration = '400ms';\n }, 1000);\n }\n emit('scrollbarDragEnd', e);\n if (params.snapOnRelease) {\n swiper.slideToClosest();\n }\n }\n function events(method) {\n const {\n scrollbar,\n params\n } = swiper;\n const el = scrollbar.el;\n if (!el) return;\n const target = el;\n const activeListener = params.passiveListeners ? {\n passive: false,\n capture: false\n } : false;\n const passiveListener = params.passiveListeners ? {\n passive: true,\n capture: false\n } : false;\n if (!target) return;\n const eventMethod = method === 'on' ? 'addEventListener' : 'removeEventListener';\n target[eventMethod]('pointerdown', onDragStart, activeListener);\n document[eventMethod]('pointermove', onDragMove, activeListener);\n document[eventMethod]('pointerup', onDragEnd, passiveListener);\n }\n function enableDraggable() {\n if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return;\n events('on');\n }\n function disableDraggable() {\n if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return;\n events('off');\n }\n function init() {\n const {\n scrollbar,\n el: swiperEl\n } = swiper;\n swiper.params.scrollbar = createElementIfNotDefined(swiper, swiper.originalParams.scrollbar, swiper.params.scrollbar, {\n el: 'swiper-scrollbar'\n });\n const params = swiper.params.scrollbar;\n if (!params.el) return;\n let el;\n if (typeof params.el === 'string' && swiper.isElement) {\n el = swiper.el.querySelector(params.el);\n }\n if (!el && typeof params.el === 'string') {\n el = document.querySelectorAll(params.el);\n if (!el.length) return;\n } else if (!el) {\n el = params.el;\n }\n if (swiper.params.uniqueNavElements && typeof params.el === 'string' && el.length > 1 && swiperEl.querySelectorAll(params.el).length === 1) {\n el = swiperEl.querySelector(params.el);\n }\n if (el.length > 0) el = el[0];\n el.classList.add(swiper.isHorizontal() ? params.horizontalClass : params.verticalClass);\n let dragEl;\n if (el) {\n dragEl = el.querySelector(classesToSelector(swiper.params.scrollbar.dragClass));\n if (!dragEl) {\n dragEl = createElement('div', swiper.params.scrollbar.dragClass);\n el.append(dragEl);\n }\n }\n Object.assign(scrollbar, {\n el,\n dragEl\n });\n if (params.draggable) {\n enableDraggable();\n }\n if (el) {\n el.classList[swiper.enabled ? 'remove' : 'add'](...classesToTokens(swiper.params.scrollbar.lockClass));\n }\n }\n function destroy() {\n const params = swiper.params.scrollbar;\n const el = swiper.scrollbar.el;\n if (el) {\n el.classList.remove(...classesToTokens(swiper.isHorizontal() ? params.horizontalClass : params.verticalClass));\n }\n disableDraggable();\n }\n on('changeDirection', () => {\n if (!swiper.scrollbar || !swiper.scrollbar.el) return;\n const params = swiper.params.scrollbar;\n let {\n el\n } = swiper.scrollbar;\n el = makeElementsArray(el);\n el.forEach(subEl => {\n subEl.classList.remove(params.horizontalClass, params.verticalClass);\n subEl.classList.add(swiper.isHorizontal() ? params.horizontalClass : params.verticalClass);\n });\n });\n on('init', () => {\n if (swiper.params.scrollbar.enabled === false) {\n // eslint-disable-next-line\n disable();\n } else {\n init();\n updateSize();\n setTranslate();\n }\n });\n on('update resize observerUpdate lock unlock changeDirection', () => {\n updateSize();\n });\n on('setTranslate', () => {\n setTranslate();\n });\n on('setTransition', (_s, duration) => {\n setTransition(duration);\n });\n on('enable disable', () => {\n const {\n el\n } = swiper.scrollbar;\n if (el) {\n el.classList[swiper.enabled ? 'remove' : 'add'](...classesToTokens(swiper.params.scrollbar.lockClass));\n }\n });\n on('destroy', () => {\n destroy();\n });\n const enable = () => {\n swiper.el.classList.remove(...classesToTokens(swiper.params.scrollbar.scrollbarDisabledClass));\n if (swiper.scrollbar.el) {\n swiper.scrollbar.el.classList.remove(...classesToTokens(swiper.params.scrollbar.scrollbarDisabledClass));\n }\n init();\n updateSize();\n setTranslate();\n };\n const disable = () => {\n swiper.el.classList.add(...classesToTokens(swiper.params.scrollbar.scrollbarDisabledClass));\n if (swiper.scrollbar.el) {\n swiper.scrollbar.el.classList.add(...classesToTokens(swiper.params.scrollbar.scrollbarDisabledClass));\n }\n destroy();\n };\n Object.assign(swiper.scrollbar, {\n enable,\n disable,\n updateSize,\n setTranslate,\n init,\n destroy\n });\n}\n\nexport { Scrollbar as default };\n","import { e as elementChildren } from '../shared/utils.mjs';\n\nfunction Parallax(_ref) {\n let {\n swiper,\n extendParams,\n on\n } = _ref;\n extendParams({\n parallax: {\n enabled: false\n }\n });\n const elementsSelector = '[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]';\n const setTransform = (el, progress) => {\n const {\n rtl\n } = swiper;\n const rtlFactor = rtl ? -1 : 1;\n const p = el.getAttribute('data-swiper-parallax') || '0';\n let x = el.getAttribute('data-swiper-parallax-x');\n let y = el.getAttribute('data-swiper-parallax-y');\n const scale = el.getAttribute('data-swiper-parallax-scale');\n const opacity = el.getAttribute('data-swiper-parallax-opacity');\n const rotate = el.getAttribute('data-swiper-parallax-rotate');\n if (x || y) {\n x = x || '0';\n y = y || '0';\n } else if (swiper.isHorizontal()) {\n x = p;\n y = '0';\n } else {\n y = p;\n x = '0';\n }\n if (x.indexOf('%') >= 0) {\n x = `${parseInt(x, 10) * progress * rtlFactor}%`;\n } else {\n x = `${x * progress * rtlFactor}px`;\n }\n if (y.indexOf('%') >= 0) {\n y = `${parseInt(y, 10) * progress}%`;\n } else {\n y = `${y * progress}px`;\n }\n if (typeof opacity !== 'undefined' && opacity !== null) {\n const currentOpacity = opacity - (opacity - 1) * (1 - Math.abs(progress));\n el.style.opacity = currentOpacity;\n }\n let transform = `translate3d(${x}, ${y}, 0px)`;\n if (typeof scale !== 'undefined' && scale !== null) {\n const currentScale = scale - (scale - 1) * (1 - Math.abs(progress));\n transform += ` scale(${currentScale})`;\n }\n if (rotate && typeof rotate !== 'undefined' && rotate !== null) {\n const currentRotate = rotate * progress * -1;\n transform += ` rotate(${currentRotate}deg)`;\n }\n el.style.transform = transform;\n };\n const setTranslate = () => {\n const {\n el,\n slides,\n progress,\n snapGrid,\n isElement\n } = swiper;\n const elements = elementChildren(el, elementsSelector);\n if (swiper.isElement) {\n elements.push(...elementChildren(swiper.hostEl, elementsSelector));\n }\n elements.forEach(subEl => {\n setTransform(subEl, progress);\n });\n slides.forEach((slideEl, slideIndex) => {\n let slideProgress = slideEl.progress;\n if (swiper.params.slidesPerGroup > 1 && swiper.params.slidesPerView !== 'auto') {\n slideProgress += Math.ceil(slideIndex / 2) - progress * (snapGrid.length - 1);\n }\n slideProgress = Math.min(Math.max(slideProgress, -1), 1);\n slideEl.querySelectorAll(`${elementsSelector}, [data-swiper-parallax-rotate]`).forEach(subEl => {\n setTransform(subEl, slideProgress);\n });\n });\n };\n const setTransition = function (duration) {\n if (duration === void 0) {\n duration = swiper.params.speed;\n }\n const {\n el,\n hostEl\n } = swiper;\n const elements = [...el.querySelectorAll(elementsSelector)];\n if (swiper.isElement) {\n elements.push(...hostEl.querySelectorAll(elementsSelector));\n }\n elements.forEach(parallaxEl => {\n let parallaxDuration = parseInt(parallaxEl.getAttribute('data-swiper-parallax-duration'), 10) || duration;\n if (duration === 0) parallaxDuration = 0;\n parallaxEl.style.transitionDuration = `${parallaxDuration}ms`;\n });\n };\n on('beforeInit', () => {\n if (!swiper.params.parallax.enabled) return;\n swiper.params.watchSlidesProgress = true;\n swiper.originalParams.watchSlidesProgress = true;\n });\n on('init', () => {\n if (!swiper.params.parallax.enabled) return;\n setTranslate();\n });\n on('setTranslate', () => {\n if (!swiper.params.parallax.enabled) return;\n setTranslate();\n });\n on('setTransition', (_swiper, duration) => {\n if (!swiper.params.parallax.enabled) return;\n setTransition(duration);\n });\n}\n\nexport { Parallax as default };\n","import { a as getWindow } from '../shared/ssr-window.esm.mjs';\nimport { e as elementChildren, a as elementParents, b as elementOffset, j as getTranslate } from '../shared/utils.mjs';\n\nfunction Zoom(_ref) {\n let {\n swiper,\n extendParams,\n on,\n emit\n } = _ref;\n const window = getWindow();\n extendParams({\n zoom: {\n enabled: false,\n limitToOriginalSize: false,\n maxRatio: 3,\n minRatio: 1,\n panOnMouseMove: false,\n toggle: true,\n containerClass: 'swiper-zoom-container',\n zoomedSlideClass: 'swiper-slide-zoomed'\n }\n });\n swiper.zoom = {\n enabled: false\n };\n let currentScale = 1;\n let isScaling = false;\n let isPanningWithMouse = false;\n let mousePanStart = {\n x: 0,\n y: 0\n };\n const mousePanSensitivity = -3; // Negative to invert pan direction\n let fakeGestureTouched;\n let fakeGestureMoved;\n const evCache = [];\n const gesture = {\n originX: 0,\n originY: 0,\n slideEl: undefined,\n slideWidth: undefined,\n slideHeight: undefined,\n imageEl: undefined,\n imageWrapEl: undefined,\n maxRatio: 3\n };\n const image = {\n isTouched: undefined,\n isMoved: undefined,\n currentX: undefined,\n currentY: undefined,\n minX: undefined,\n minY: undefined,\n maxX: undefined,\n maxY: undefined,\n width: undefined,\n height: undefined,\n startX: undefined,\n startY: undefined,\n touchesStart: {},\n touchesCurrent: {}\n };\n const velocity = {\n x: undefined,\n y: undefined,\n prevPositionX: undefined,\n prevPositionY: undefined,\n prevTime: undefined\n };\n let scale = 1;\n Object.defineProperty(swiper.zoom, 'scale', {\n get() {\n return scale;\n },\n set(value) {\n if (scale !== value) {\n const imageEl = gesture.imageEl;\n const slideEl = gesture.slideEl;\n emit('zoomChange', value, imageEl, slideEl);\n }\n scale = value;\n }\n });\n function getDistanceBetweenTouches() {\n if (evCache.length < 2) return 1;\n const x1 = evCache[0].pageX;\n const y1 = evCache[0].pageY;\n const x2 = evCache[1].pageX;\n const y2 = evCache[1].pageY;\n const distance = Math.sqrt((x2 - x1) ** 2 + (y2 - y1) ** 2);\n return distance;\n }\n function getMaxRatio() {\n const params = swiper.params.zoom;\n const maxRatio = gesture.imageWrapEl.getAttribute('data-swiper-zoom') || params.maxRatio;\n if (params.limitToOriginalSize && gesture.imageEl && gesture.imageEl.naturalWidth) {\n const imageMaxRatio = gesture.imageEl.naturalWidth / gesture.imageEl.offsetWidth;\n return Math.min(imageMaxRatio, maxRatio);\n }\n return maxRatio;\n }\n function getScaleOrigin() {\n if (evCache.length < 2) return {\n x: null,\n y: null\n };\n const box = gesture.imageEl.getBoundingClientRect();\n return [(evCache[0].pageX + (evCache[1].pageX - evCache[0].pageX) / 2 - box.x - window.scrollX) / currentScale, (evCache[0].pageY + (evCache[1].pageY - evCache[0].pageY) / 2 - box.y - window.scrollY) / currentScale];\n }\n function getSlideSelector() {\n return swiper.isElement ? `swiper-slide` : `.${swiper.params.slideClass}`;\n }\n function eventWithinSlide(e) {\n const slideSelector = getSlideSelector();\n if (e.target.matches(slideSelector)) return true;\n if (swiper.slides.filter(slideEl => slideEl.contains(e.target)).length > 0) return true;\n return false;\n }\n function eventWithinZoomContainer(e) {\n const selector = `.${swiper.params.zoom.containerClass}`;\n if (e.target.matches(selector)) return true;\n if ([...swiper.hostEl.querySelectorAll(selector)].filter(containerEl => containerEl.contains(e.target)).length > 0) return true;\n return false;\n }\n\n // Events\n function onGestureStart(e) {\n if (e.pointerType === 'mouse') {\n evCache.splice(0, evCache.length);\n }\n if (!eventWithinSlide(e)) return;\n const params = swiper.params.zoom;\n fakeGestureTouched = false;\n fakeGestureMoved = false;\n evCache.push(e);\n if (evCache.length < 2) {\n return;\n }\n fakeGestureTouched = true;\n gesture.scaleStart = getDistanceBetweenTouches();\n if (!gesture.slideEl) {\n gesture.slideEl = e.target.closest(`.${swiper.params.slideClass}, swiper-slide`);\n if (!gesture.slideEl) gesture.slideEl = swiper.slides[swiper.activeIndex];\n let imageEl = gesture.slideEl.querySelector(`.${params.containerClass}`);\n if (imageEl) {\n imageEl = imageEl.querySelectorAll('picture, img, svg, canvas, .swiper-zoom-target')[0];\n }\n gesture.imageEl = imageEl;\n if (imageEl) {\n gesture.imageWrapEl = elementParents(gesture.imageEl, `.${params.containerClass}`)[0];\n } else {\n gesture.imageWrapEl = undefined;\n }\n if (!gesture.imageWrapEl) {\n gesture.imageEl = undefined;\n return;\n }\n gesture.maxRatio = getMaxRatio();\n }\n if (gesture.imageEl) {\n const [originX, originY] = getScaleOrigin();\n gesture.originX = originX;\n gesture.originY = originY;\n gesture.imageEl.style.transitionDuration = '0ms';\n }\n isScaling = true;\n }\n function onGestureChange(e) {\n if (!eventWithinSlide(e)) return;\n const params = swiper.params.zoom;\n const zoom = swiper.zoom;\n const pointerIndex = evCache.findIndex(cachedEv => cachedEv.pointerId === e.pointerId);\n if (pointerIndex >= 0) evCache[pointerIndex] = e;\n if (evCache.length < 2) {\n return;\n }\n fakeGestureMoved = true;\n gesture.scaleMove = getDistanceBetweenTouches();\n if (!gesture.imageEl) {\n return;\n }\n zoom.scale = gesture.scaleMove / gesture.scaleStart * currentScale;\n if (zoom.scale > gesture.maxRatio) {\n zoom.scale = gesture.maxRatio - 1 + (zoom.scale - gesture.maxRatio + 1) ** 0.5;\n }\n if (zoom.scale < params.minRatio) {\n zoom.scale = params.minRatio + 1 - (params.minRatio - zoom.scale + 1) ** 0.5;\n }\n gesture.imageEl.style.transform = `translate3d(0,0,0) scale(${zoom.scale})`;\n }\n function onGestureEnd(e) {\n if (!eventWithinSlide(e)) return;\n if (e.pointerType === 'mouse' && e.type === 'pointerout') return;\n const params = swiper.params.zoom;\n const zoom = swiper.zoom;\n const pointerIndex = evCache.findIndex(cachedEv => cachedEv.pointerId === e.pointerId);\n if (pointerIndex >= 0) evCache.splice(pointerIndex, 1);\n if (!fakeGestureTouched || !fakeGestureMoved) {\n return;\n }\n fakeGestureTouched = false;\n fakeGestureMoved = false;\n if (!gesture.imageEl) return;\n zoom.scale = Math.max(Math.min(zoom.scale, gesture.maxRatio), params.minRatio);\n gesture.imageEl.style.transitionDuration = `${swiper.params.speed}ms`;\n gesture.imageEl.style.transform = `translate3d(0,0,0) scale(${zoom.scale})`;\n currentScale = zoom.scale;\n isScaling = false;\n if (zoom.scale > 1 && gesture.slideEl) {\n gesture.slideEl.classList.add(`${params.zoomedSlideClass}`);\n } else if (zoom.scale <= 1 && gesture.slideEl) {\n gesture.slideEl.classList.remove(`${params.zoomedSlideClass}`);\n }\n if (zoom.scale === 1) {\n gesture.originX = 0;\n gesture.originY = 0;\n gesture.slideEl = undefined;\n }\n }\n let allowTouchMoveTimeout;\n function allowTouchMove() {\n swiper.touchEventsData.preventTouchMoveFromPointerMove = false;\n }\n function preventTouchMove() {\n clearTimeout(allowTouchMoveTimeout);\n swiper.touchEventsData.preventTouchMoveFromPointerMove = true;\n allowTouchMoveTimeout = setTimeout(() => {\n if (swiper.destroyed) return;\n allowTouchMove();\n });\n }\n function onTouchStart(e) {\n const device = swiper.device;\n if (!gesture.imageEl) return;\n if (image.isTouched) return;\n if (device.android && e.cancelable) e.preventDefault();\n image.isTouched = true;\n const event = evCache.length > 0 ? evCache[0] : e;\n image.touchesStart.x = event.pageX;\n image.touchesStart.y = event.pageY;\n }\n function onTouchMove(e) {\n const isMouseEvent = e.pointerType === 'mouse';\n const isMousePan = isMouseEvent && swiper.params.zoom.panOnMouseMove;\n if (!eventWithinSlide(e) || !eventWithinZoomContainer(e)) {\n return;\n }\n const zoom = swiper.zoom;\n if (!gesture.imageEl) {\n return;\n }\n if (!image.isTouched || !gesture.slideEl) {\n if (isMousePan) onMouseMove(e);\n return;\n }\n if (isMousePan) {\n onMouseMove(e);\n return;\n }\n if (!image.isMoved) {\n image.width = gesture.imageEl.offsetWidth || gesture.imageEl.clientWidth;\n image.height = gesture.imageEl.offsetHeight || gesture.imageEl.clientHeight;\n image.startX = getTranslate(gesture.imageWrapEl, 'x') || 0;\n image.startY = getTranslate(gesture.imageWrapEl, 'y') || 0;\n gesture.slideWidth = gesture.slideEl.offsetWidth;\n gesture.slideHeight = gesture.slideEl.offsetHeight;\n gesture.imageWrapEl.style.transitionDuration = '0ms';\n }\n // Define if we need image drag\n const scaledWidth = image.width * zoom.scale;\n const scaledHeight = image.height * zoom.scale;\n image.minX = Math.min(gesture.slideWidth / 2 - scaledWidth / 2, 0);\n image.maxX = -image.minX;\n image.minY = Math.min(gesture.slideHeight / 2 - scaledHeight / 2, 0);\n image.maxY = -image.minY;\n image.touchesCurrent.x = evCache.length > 0 ? evCache[0].pageX : e.pageX;\n image.touchesCurrent.y = evCache.length > 0 ? evCache[0].pageY : e.pageY;\n const touchesDiff = Math.max(Math.abs(image.touchesCurrent.x - image.touchesStart.x), Math.abs(image.touchesCurrent.y - image.touchesStart.y));\n if (touchesDiff > 5) {\n swiper.allowClick = false;\n }\n if (!image.isMoved && !isScaling) {\n if (swiper.isHorizontal() && (Math.floor(image.minX) === Math.floor(image.startX) && image.touchesCurrent.x < image.touchesStart.x || Math.floor(image.maxX) === Math.floor(image.startX) && image.touchesCurrent.x > image.touchesStart.x)) {\n image.isTouched = false;\n allowTouchMove();\n return;\n }\n if (!swiper.isHorizontal() && (Math.floor(image.minY) === Math.floor(image.startY) && image.touchesCurrent.y < image.touchesStart.y || Math.floor(image.maxY) === Math.floor(image.startY) && image.touchesCurrent.y > image.touchesStart.y)) {\n image.isTouched = false;\n allowTouchMove();\n return;\n }\n }\n if (e.cancelable) {\n e.preventDefault();\n }\n e.stopPropagation();\n preventTouchMove();\n image.isMoved = true;\n const scaleRatio = (zoom.scale - currentScale) / (gesture.maxRatio - swiper.params.zoom.minRatio);\n const {\n originX,\n originY\n } = gesture;\n image.currentX = image.touchesCurrent.x - image.touchesStart.x + image.startX + scaleRatio * (image.width - originX * 2);\n image.currentY = image.touchesCurrent.y - image.touchesStart.y + image.startY + scaleRatio * (image.height - originY * 2);\n if (image.currentX < image.minX) {\n image.currentX = image.minX + 1 - (image.minX - image.currentX + 1) ** 0.8;\n }\n if (image.currentX > image.maxX) {\n image.currentX = image.maxX - 1 + (image.currentX - image.maxX + 1) ** 0.8;\n }\n if (image.currentY < image.minY) {\n image.currentY = image.minY + 1 - (image.minY - image.currentY + 1) ** 0.8;\n }\n if (image.currentY > image.maxY) {\n image.currentY = image.maxY - 1 + (image.currentY - image.maxY + 1) ** 0.8;\n }\n\n // Velocity\n if (!velocity.prevPositionX) velocity.prevPositionX = image.touchesCurrent.x;\n if (!velocity.prevPositionY) velocity.prevPositionY = image.touchesCurrent.y;\n if (!velocity.prevTime) velocity.prevTime = Date.now();\n velocity.x = (image.touchesCurrent.x - velocity.prevPositionX) / (Date.now() - velocity.prevTime) / 2;\n velocity.y = (image.touchesCurrent.y - velocity.prevPositionY) / (Date.now() - velocity.prevTime) / 2;\n if (Math.abs(image.touchesCurrent.x - velocity.prevPositionX) < 2) velocity.x = 0;\n if (Math.abs(image.touchesCurrent.y - velocity.prevPositionY) < 2) velocity.y = 0;\n velocity.prevPositionX = image.touchesCurrent.x;\n velocity.prevPositionY = image.touchesCurrent.y;\n velocity.prevTime = Date.now();\n gesture.imageWrapEl.style.transform = `translate3d(${image.currentX}px, ${image.currentY}px,0)`;\n }\n function onTouchEnd() {\n const zoom = swiper.zoom;\n evCache.length = 0;\n if (!gesture.imageEl) return;\n if (!image.isTouched || !image.isMoved) {\n image.isTouched = false;\n image.isMoved = false;\n return;\n }\n image.isTouched = false;\n image.isMoved = false;\n let momentumDurationX = 300;\n let momentumDurationY = 300;\n const momentumDistanceX = velocity.x * momentumDurationX;\n const newPositionX = image.currentX + momentumDistanceX;\n const momentumDistanceY = velocity.y * momentumDurationY;\n const newPositionY = image.currentY + momentumDistanceY;\n\n // Fix duration\n if (velocity.x !== 0) momentumDurationX = Math.abs((newPositionX - image.currentX) / velocity.x);\n if (velocity.y !== 0) momentumDurationY = Math.abs((newPositionY - image.currentY) / velocity.y);\n const momentumDuration = Math.max(momentumDurationX, momentumDurationY);\n image.currentX = newPositionX;\n image.currentY = newPositionY;\n // Define if we need image drag\n const scaledWidth = image.width * zoom.scale;\n const scaledHeight = image.height * zoom.scale;\n image.minX = Math.min(gesture.slideWidth / 2 - scaledWidth / 2, 0);\n image.maxX = -image.minX;\n image.minY = Math.min(gesture.slideHeight / 2 - scaledHeight / 2, 0);\n image.maxY = -image.minY;\n image.currentX = Math.max(Math.min(image.currentX, image.maxX), image.minX);\n image.currentY = Math.max(Math.min(image.currentY, image.maxY), image.minY);\n gesture.imageWrapEl.style.transitionDuration = `${momentumDuration}ms`;\n gesture.imageWrapEl.style.transform = `translate3d(${image.currentX}px, ${image.currentY}px,0)`;\n }\n function onTransitionEnd() {\n const zoom = swiper.zoom;\n if (gesture.slideEl && swiper.activeIndex !== swiper.slides.indexOf(gesture.slideEl)) {\n if (gesture.imageEl) {\n gesture.imageEl.style.transform = 'translate3d(0,0,0) scale(1)';\n }\n if (gesture.imageWrapEl) {\n gesture.imageWrapEl.style.transform = 'translate3d(0,0,0)';\n }\n gesture.slideEl.classList.remove(`${swiper.params.zoom.zoomedSlideClass}`);\n zoom.scale = 1;\n currentScale = 1;\n gesture.slideEl = undefined;\n gesture.imageEl = undefined;\n gesture.imageWrapEl = undefined;\n gesture.originX = 0;\n gesture.originY = 0;\n }\n }\n function onMouseMove(e) {\n // Only pan if zoomed in and mouse panning is enabled\n if (currentScale <= 1 || !gesture.imageWrapEl) return;\n if (!eventWithinSlide(e) || !eventWithinZoomContainer(e)) return;\n const currentTransform = window.getComputedStyle(gesture.imageWrapEl).transform;\n const matrix = new window.DOMMatrix(currentTransform);\n if (!isPanningWithMouse) {\n isPanningWithMouse = true;\n mousePanStart.x = e.clientX;\n mousePanStart.y = e.clientY;\n image.startX = matrix.e;\n image.startY = matrix.f;\n image.width = gesture.imageEl.offsetWidth || gesture.imageEl.clientWidth;\n image.height = gesture.imageEl.offsetHeight || gesture.imageEl.clientHeight;\n gesture.slideWidth = gesture.slideEl.offsetWidth;\n gesture.slideHeight = gesture.slideEl.offsetHeight;\n return;\n }\n const deltaX = (e.clientX - mousePanStart.x) * mousePanSensitivity;\n const deltaY = (e.clientY - mousePanStart.y) * mousePanSensitivity;\n const scaledWidth = image.width * currentScale;\n const scaledHeight = image.height * currentScale;\n const slideWidth = gesture.slideWidth;\n const slideHeight = gesture.slideHeight;\n const minX = Math.min(slideWidth / 2 - scaledWidth / 2, 0);\n const maxX = -minX;\n const minY = Math.min(slideHeight / 2 - scaledHeight / 2, 0);\n const maxY = -minY;\n const newX = Math.max(Math.min(image.startX + deltaX, maxX), minX);\n const newY = Math.max(Math.min(image.startY + deltaY, maxY), minY);\n gesture.imageWrapEl.style.transitionDuration = '0ms';\n gesture.imageWrapEl.style.transform = `translate3d(${newX}px, ${newY}px, 0)`;\n mousePanStart.x = e.clientX;\n mousePanStart.y = e.clientY;\n image.startX = newX;\n image.startY = newY;\n }\n function zoomIn(e) {\n const zoom = swiper.zoom;\n const params = swiper.params.zoom;\n if (!gesture.slideEl) {\n if (e && e.target) {\n gesture.slideEl = e.target.closest(`.${swiper.params.slideClass}, swiper-slide`);\n }\n if (!gesture.slideEl) {\n if (swiper.params.virtual && swiper.params.virtual.enabled && swiper.virtual) {\n gesture.slideEl = elementChildren(swiper.slidesEl, `.${swiper.params.slideActiveClass}`)[0];\n } else {\n gesture.slideEl = swiper.slides[swiper.activeIndex];\n }\n }\n let imageEl = gesture.slideEl.querySelector(`.${params.containerClass}`);\n if (imageEl) {\n imageEl = imageEl.querySelectorAll('picture, img, svg, canvas, .swiper-zoom-target')[0];\n }\n gesture.imageEl = imageEl;\n if (imageEl) {\n gesture.imageWrapEl = elementParents(gesture.imageEl, `.${params.containerClass}`)[0];\n } else {\n gesture.imageWrapEl = undefined;\n }\n }\n if (!gesture.imageEl || !gesture.imageWrapEl) return;\n if (swiper.params.cssMode) {\n swiper.wrapperEl.style.overflow = 'hidden';\n swiper.wrapperEl.style.touchAction = 'none';\n }\n gesture.slideEl.classList.add(`${params.zoomedSlideClass}`);\n let touchX;\n let touchY;\n let offsetX;\n let offsetY;\n let diffX;\n let diffY;\n let translateX;\n let translateY;\n let imageWidth;\n let imageHeight;\n let scaledWidth;\n let scaledHeight;\n let translateMinX;\n let translateMinY;\n let translateMaxX;\n let translateMaxY;\n let slideWidth;\n let slideHeight;\n if (typeof image.touchesStart.x === 'undefined' && e) {\n touchX = e.pageX;\n touchY = e.pageY;\n } else {\n touchX = image.touchesStart.x;\n touchY = image.touchesStart.y;\n }\n const forceZoomRatio = typeof e === 'number' ? e : null;\n if (currentScale === 1 && forceZoomRatio) {\n touchX = undefined;\n touchY = undefined;\n image.touchesStart.x = undefined;\n image.touchesStart.y = undefined;\n }\n const maxRatio = getMaxRatio();\n zoom.scale = forceZoomRatio || maxRatio;\n currentScale = forceZoomRatio || maxRatio;\n if (e && !(currentScale === 1 && forceZoomRatio)) {\n slideWidth = gesture.slideEl.offsetWidth;\n slideHeight = gesture.slideEl.offsetHeight;\n offsetX = elementOffset(gesture.slideEl).left + window.scrollX;\n offsetY = elementOffset(gesture.slideEl).top + window.scrollY;\n diffX = offsetX + slideWidth / 2 - touchX;\n diffY = offsetY + slideHeight / 2 - touchY;\n imageWidth = gesture.imageEl.offsetWidth || gesture.imageEl.clientWidth;\n imageHeight = gesture.imageEl.offsetHeight || gesture.imageEl.clientHeight;\n scaledWidth = imageWidth * zoom.scale;\n scaledHeight = imageHeight * zoom.scale;\n translateMinX = Math.min(slideWidth / 2 - scaledWidth / 2, 0);\n translateMinY = Math.min(slideHeight / 2 - scaledHeight / 2, 0);\n translateMaxX = -translateMinX;\n translateMaxY = -translateMinY;\n translateX = diffX * zoom.scale;\n translateY = diffY * zoom.scale;\n if (translateX < translateMinX) {\n translateX = translateMinX;\n }\n if (translateX > translateMaxX) {\n translateX = translateMaxX;\n }\n if (translateY < translateMinY) {\n translateY = translateMinY;\n }\n if (translateY > translateMaxY) {\n translateY = translateMaxY;\n }\n } else {\n translateX = 0;\n translateY = 0;\n }\n if (forceZoomRatio && zoom.scale === 1) {\n gesture.originX = 0;\n gesture.originY = 0;\n }\n gesture.imageWrapEl.style.transitionDuration = '300ms';\n gesture.imageWrapEl.style.transform = `translate3d(${translateX}px, ${translateY}px,0)`;\n gesture.imageEl.style.transitionDuration = '300ms';\n gesture.imageEl.style.transform = `translate3d(0,0,0) scale(${zoom.scale})`;\n }\n function zoomOut() {\n const zoom = swiper.zoom;\n const params = swiper.params.zoom;\n if (!gesture.slideEl) {\n if (swiper.params.virtual && swiper.params.virtual.enabled && swiper.virtual) {\n gesture.slideEl = elementChildren(swiper.slidesEl, `.${swiper.params.slideActiveClass}`)[0];\n } else {\n gesture.slideEl = swiper.slides[swiper.activeIndex];\n }\n let imageEl = gesture.slideEl.querySelector(`.${params.containerClass}`);\n if (imageEl) {\n imageEl = imageEl.querySelectorAll('picture, img, svg, canvas, .swiper-zoom-target')[0];\n }\n gesture.imageEl = imageEl;\n if (imageEl) {\n gesture.imageWrapEl = elementParents(gesture.imageEl, `.${params.containerClass}`)[0];\n } else {\n gesture.imageWrapEl = undefined;\n }\n }\n if (!gesture.imageEl || !gesture.imageWrapEl) return;\n if (swiper.params.cssMode) {\n swiper.wrapperEl.style.overflow = '';\n swiper.wrapperEl.style.touchAction = '';\n }\n zoom.scale = 1;\n currentScale = 1;\n image.touchesStart.x = undefined;\n image.touchesStart.y = undefined;\n gesture.imageWrapEl.style.transitionDuration = '300ms';\n gesture.imageWrapEl.style.transform = 'translate3d(0,0,0)';\n gesture.imageEl.style.transitionDuration = '300ms';\n gesture.imageEl.style.transform = 'translate3d(0,0,0) scale(1)';\n gesture.slideEl.classList.remove(`${params.zoomedSlideClass}`);\n gesture.slideEl = undefined;\n gesture.originX = 0;\n gesture.originY = 0;\n if (swiper.params.zoom.panOnMouseMove) {\n mousePanStart = {\n x: 0,\n y: 0\n };\n if (isPanningWithMouse) {\n isPanningWithMouse = false;\n image.startX = 0;\n image.startY = 0;\n }\n }\n }\n\n // Toggle Zoom\n function zoomToggle(e) {\n const zoom = swiper.zoom;\n if (zoom.scale && zoom.scale !== 1) {\n // Zoom Out\n zoomOut();\n } else {\n // Zoom In\n zoomIn(e);\n }\n }\n function getListeners() {\n const passiveListener = swiper.params.passiveListeners ? {\n passive: true,\n capture: false\n } : false;\n const activeListenerWithCapture = swiper.params.passiveListeners ? {\n passive: false,\n capture: true\n } : true;\n return {\n passiveListener,\n activeListenerWithCapture\n };\n }\n\n // Attach/Detach Events\n function enable() {\n const zoom = swiper.zoom;\n if (zoom.enabled) return;\n zoom.enabled = true;\n const {\n passiveListener,\n activeListenerWithCapture\n } = getListeners();\n\n // Scale image\n swiper.wrapperEl.addEventListener('pointerdown', onGestureStart, passiveListener);\n swiper.wrapperEl.addEventListener('pointermove', onGestureChange, activeListenerWithCapture);\n ['pointerup', 'pointercancel', 'pointerout'].forEach(eventName => {\n swiper.wrapperEl.addEventListener(eventName, onGestureEnd, passiveListener);\n });\n\n // Move image\n swiper.wrapperEl.addEventListener('pointermove', onTouchMove, activeListenerWithCapture);\n }\n function disable() {\n const zoom = swiper.zoom;\n if (!zoom.enabled) return;\n zoom.enabled = false;\n const {\n passiveListener,\n activeListenerWithCapture\n } = getListeners();\n\n // Scale image\n swiper.wrapperEl.removeEventListener('pointerdown', onGestureStart, passiveListener);\n swiper.wrapperEl.removeEventListener('pointermove', onGestureChange, activeListenerWithCapture);\n ['pointerup', 'pointercancel', 'pointerout'].forEach(eventName => {\n swiper.wrapperEl.removeEventListener(eventName, onGestureEnd, passiveListener);\n });\n\n // Move image\n swiper.wrapperEl.removeEventListener('pointermove', onTouchMove, activeListenerWithCapture);\n }\n on('init', () => {\n if (swiper.params.zoom.enabled) {\n enable();\n }\n });\n on('destroy', () => {\n disable();\n });\n on('touchStart', (_s, e) => {\n if (!swiper.zoom.enabled) return;\n onTouchStart(e);\n });\n on('touchEnd', (_s, e) => {\n if (!swiper.zoom.enabled) return;\n onTouchEnd();\n });\n on('doubleTap', (_s, e) => {\n if (!swiper.animating && swiper.params.zoom.enabled && swiper.zoom.enabled && swiper.params.zoom.toggle) {\n zoomToggle(e);\n }\n });\n on('transitionEnd', () => {\n if (swiper.zoom.enabled && swiper.params.zoom.enabled) {\n onTransitionEnd();\n }\n });\n on('slideChange', () => {\n if (swiper.zoom.enabled && swiper.params.zoom.enabled && swiper.params.cssMode) {\n onTransitionEnd();\n }\n });\n Object.assign(swiper.zoom, {\n enable,\n disable,\n in: zoomIn,\n out: zoomOut,\n toggle: zoomToggle\n });\n}\n\nexport { Zoom as default };\n","import { n as nextTick, k as elementTransitionEnd } from '../shared/utils.mjs';\n\n/* eslint no-bitwise: [\"error\", { \"allow\": [\">>\"] }] */\nfunction Controller(_ref) {\n let {\n swiper,\n extendParams,\n on\n } = _ref;\n extendParams({\n controller: {\n control: undefined,\n inverse: false,\n by: 'slide' // or 'container'\n }\n });\n\n swiper.controller = {\n control: undefined\n };\n function LinearSpline(x, y) {\n const binarySearch = function search() {\n let maxIndex;\n let minIndex;\n let guess;\n return (array, val) => {\n minIndex = -1;\n maxIndex = array.length;\n while (maxIndex - minIndex > 1) {\n guess = maxIndex + minIndex >> 1;\n if (array[guess] <= val) {\n minIndex = guess;\n } else {\n maxIndex = guess;\n }\n }\n return maxIndex;\n };\n }();\n this.x = x;\n this.y = y;\n this.lastIndex = x.length - 1;\n // Given an x value (x2), return the expected y2 value:\n // (x1,y1) is the known point before given value,\n // (x3,y3) is the known point after given value.\n let i1;\n let i3;\n this.interpolate = function interpolate(x2) {\n if (!x2) return 0;\n\n // Get the indexes of x1 and x3 (the array indexes before and after given x2):\n i3 = binarySearch(this.x, x2);\n i1 = i3 - 1;\n\n // We have our indexes i1 & i3, so we can calculate already:\n // y2 := ((x2−x1) × (y3−y1)) ÷ (x3−x1) + y1\n return (x2 - this.x[i1]) * (this.y[i3] - this.y[i1]) / (this.x[i3] - this.x[i1]) + this.y[i1];\n };\n return this;\n }\n function getInterpolateFunction(c) {\n swiper.controller.spline = swiper.params.loop ? new LinearSpline(swiper.slidesGrid, c.slidesGrid) : new LinearSpline(swiper.snapGrid, c.snapGrid);\n }\n function setTranslate(_t, byController) {\n const controlled = swiper.controller.control;\n let multiplier;\n let controlledTranslate;\n const Swiper = swiper.constructor;\n function setControlledTranslate(c) {\n if (c.destroyed) return;\n\n // this will create an Interpolate function based on the snapGrids\n // x is the Grid of the scrolled scroller and y will be the controlled scroller\n // it makes sense to create this only once and recall it for the interpolation\n // the function does a lot of value caching for performance\n const translate = swiper.rtlTranslate ? -swiper.translate : swiper.translate;\n if (swiper.params.controller.by === 'slide') {\n getInterpolateFunction(c);\n // i am not sure why the values have to be multiplicated this way, tried to invert the snapGrid\n // but it did not work out\n controlledTranslate = -swiper.controller.spline.interpolate(-translate);\n }\n if (!controlledTranslate || swiper.params.controller.by === 'container') {\n multiplier = (c.maxTranslate() - c.minTranslate()) / (swiper.maxTranslate() - swiper.minTranslate());\n if (Number.isNaN(multiplier) || !Number.isFinite(multiplier)) {\n multiplier = 1;\n }\n controlledTranslate = (translate - swiper.minTranslate()) * multiplier + c.minTranslate();\n }\n if (swiper.params.controller.inverse) {\n controlledTranslate = c.maxTranslate() - controlledTranslate;\n }\n c.updateProgress(controlledTranslate);\n c.setTranslate(controlledTranslate, swiper);\n c.updateActiveIndex();\n c.updateSlidesClasses();\n }\n if (Array.isArray(controlled)) {\n for (let i = 0; i < controlled.length; i += 1) {\n if (controlled[i] !== byController && controlled[i] instanceof Swiper) {\n setControlledTranslate(controlled[i]);\n }\n }\n } else if (controlled instanceof Swiper && byController !== controlled) {\n setControlledTranslate(controlled);\n }\n }\n function setTransition(duration, byController) {\n const Swiper = swiper.constructor;\n const controlled = swiper.controller.control;\n let i;\n function setControlledTransition(c) {\n if (c.destroyed) return;\n c.setTransition(duration, swiper);\n if (duration !== 0) {\n c.transitionStart();\n if (c.params.autoHeight) {\n nextTick(() => {\n c.updateAutoHeight();\n });\n }\n elementTransitionEnd(c.wrapperEl, () => {\n if (!controlled) return;\n c.transitionEnd();\n });\n }\n }\n if (Array.isArray(controlled)) {\n for (i = 0; i < controlled.length; i += 1) {\n if (controlled[i] !== byController && controlled[i] instanceof Swiper) {\n setControlledTransition(controlled[i]);\n }\n }\n } else if (controlled instanceof Swiper && byController !== controlled) {\n setControlledTransition(controlled);\n }\n }\n function removeSpline() {\n if (!swiper.controller.control) return;\n if (swiper.controller.spline) {\n swiper.controller.spline = undefined;\n delete swiper.controller.spline;\n }\n }\n on('beforeInit', () => {\n if (typeof window !== 'undefined' && (\n // eslint-disable-line\n typeof swiper.params.controller.control === 'string' || swiper.params.controller.control instanceof HTMLElement)) {\n const controlElements = typeof swiper.params.controller.control === 'string' ? [...document.querySelectorAll(swiper.params.controller.control)] : [swiper.params.controller.control];\n controlElements.forEach(controlElement => {\n if (!swiper.controller.control) swiper.controller.control = [];\n if (controlElement && controlElement.swiper) {\n swiper.controller.control.push(controlElement.swiper);\n } else if (controlElement) {\n const eventName = `${swiper.params.eventsPrefix}init`;\n const onControllerSwiper = e => {\n swiper.controller.control.push(e.detail[0]);\n swiper.update();\n controlElement.removeEventListener(eventName, onControllerSwiper);\n };\n controlElement.addEventListener(eventName, onControllerSwiper);\n }\n });\n return;\n }\n swiper.controller.control = swiper.params.controller.control;\n });\n on('update', () => {\n removeSpline();\n });\n on('resize', () => {\n removeSpline();\n });\n on('observerUpdate', () => {\n removeSpline();\n });\n on('setTranslate', (_s, translate, byController) => {\n if (!swiper.controller.control || swiper.controller.control.destroyed) return;\n swiper.controller.setTranslate(translate, byController);\n });\n on('setTransition', (_s, duration, byController) => {\n if (!swiper.controller.control || swiper.controller.control.destroyed) return;\n swiper.controller.setTransition(duration, byController);\n });\n Object.assign(swiper.controller, {\n setTranslate,\n setTransition\n });\n}\n\nexport { Controller as default };\n","import { g as getDocument } from '../shared/ssr-window.esm.mjs';\nimport { c as classesToSelector } from '../shared/classes-to-selector.mjs';\nimport { c as createElement, h as elementIndex, m as makeElementsArray } from '../shared/utils.mjs';\n\nfunction A11y(_ref) {\n let {\n swiper,\n extendParams,\n on\n } = _ref;\n extendParams({\n a11y: {\n enabled: true,\n notificationClass: 'swiper-notification',\n prevSlideMessage: 'Previous slide',\n nextSlideMessage: 'Next slide',\n firstSlideMessage: 'This is the first slide',\n lastSlideMessage: 'This is the last slide',\n paginationBulletMessage: 'Go to slide {{index}}',\n slideLabelMessage: '{{index}} / {{slidesLength}}',\n containerMessage: null,\n containerRoleDescriptionMessage: null,\n containerRole: null,\n itemRoleDescriptionMessage: null,\n slideRole: 'group',\n id: null,\n scrollOnFocus: true\n }\n });\n swiper.a11y = {\n clicked: false\n };\n let liveRegion = null;\n let preventFocusHandler;\n let focusTargetSlideEl;\n let visibilityChangedTimestamp = new Date().getTime();\n function notify(message) {\n const notification = liveRegion;\n if (notification.length === 0) return;\n notification.innerHTML = '';\n notification.innerHTML = message;\n }\n function getRandomNumber(size) {\n if (size === void 0) {\n size = 16;\n }\n const randomChar = () => Math.round(16 * Math.random()).toString(16);\n return 'x'.repeat(size).replace(/x/g, randomChar);\n }\n function makeElFocusable(el) {\n el = makeElementsArray(el);\n el.forEach(subEl => {\n subEl.setAttribute('tabIndex', '0');\n });\n }\n function makeElNotFocusable(el) {\n el = makeElementsArray(el);\n el.forEach(subEl => {\n subEl.setAttribute('tabIndex', '-1');\n });\n }\n function addElRole(el, role) {\n el = makeElementsArray(el);\n el.forEach(subEl => {\n subEl.setAttribute('role', role);\n });\n }\n function addElRoleDescription(el, description) {\n el = makeElementsArray(el);\n el.forEach(subEl => {\n subEl.setAttribute('aria-roledescription', description);\n });\n }\n function addElControls(el, controls) {\n el = makeElementsArray(el);\n el.forEach(subEl => {\n subEl.setAttribute('aria-controls', controls);\n });\n }\n function addElLabel(el, label) {\n el = makeElementsArray(el);\n el.forEach(subEl => {\n subEl.setAttribute('aria-label', label);\n });\n }\n function addElId(el, id) {\n el = makeElementsArray(el);\n el.forEach(subEl => {\n subEl.setAttribute('id', id);\n });\n }\n function addElLive(el, live) {\n el = makeElementsArray(el);\n el.forEach(subEl => {\n subEl.setAttribute('aria-live', live);\n });\n }\n function disableEl(el) {\n el = makeElementsArray(el);\n el.forEach(subEl => {\n subEl.setAttribute('aria-disabled', true);\n });\n }\n function enableEl(el) {\n el = makeElementsArray(el);\n el.forEach(subEl => {\n subEl.setAttribute('aria-disabled', false);\n });\n }\n function onEnterOrSpaceKey(e) {\n if (e.keyCode !== 13 && e.keyCode !== 32) return;\n const params = swiper.params.a11y;\n const targetEl = e.target;\n if (swiper.pagination && swiper.pagination.el && (targetEl === swiper.pagination.el || swiper.pagination.el.contains(e.target))) {\n if (!e.target.matches(classesToSelector(swiper.params.pagination.bulletClass))) return;\n }\n if (swiper.navigation && swiper.navigation.prevEl && swiper.navigation.nextEl) {\n const prevEls = makeElementsArray(swiper.navigation.prevEl);\n const nextEls = makeElementsArray(swiper.navigation.nextEl);\n if (nextEls.includes(targetEl)) {\n if (!(swiper.isEnd && !swiper.params.loop)) {\n swiper.slideNext();\n }\n if (swiper.isEnd) {\n notify(params.lastSlideMessage);\n } else {\n notify(params.nextSlideMessage);\n }\n }\n if (prevEls.includes(targetEl)) {\n if (!(swiper.isBeginning && !swiper.params.loop)) {\n swiper.slidePrev();\n }\n if (swiper.isBeginning) {\n notify(params.firstSlideMessage);\n } else {\n notify(params.prevSlideMessage);\n }\n }\n }\n if (swiper.pagination && targetEl.matches(classesToSelector(swiper.params.pagination.bulletClass))) {\n targetEl.click();\n }\n }\n function updateNavigation() {\n if (swiper.params.loop || swiper.params.rewind || !swiper.navigation) return;\n const {\n nextEl,\n prevEl\n } = swiper.navigation;\n if (prevEl) {\n if (swiper.isBeginning) {\n disableEl(prevEl);\n makeElNotFocusable(prevEl);\n } else {\n enableEl(prevEl);\n makeElFocusable(prevEl);\n }\n }\n if (nextEl) {\n if (swiper.isEnd) {\n disableEl(nextEl);\n makeElNotFocusable(nextEl);\n } else {\n enableEl(nextEl);\n makeElFocusable(nextEl);\n }\n }\n }\n function hasPagination() {\n return swiper.pagination && swiper.pagination.bullets && swiper.pagination.bullets.length;\n }\n function hasClickablePagination() {\n return hasPagination() && swiper.params.pagination.clickable;\n }\n function updatePagination() {\n const params = swiper.params.a11y;\n if (!hasPagination()) return;\n swiper.pagination.bullets.forEach(bulletEl => {\n if (swiper.params.pagination.clickable) {\n makeElFocusable(bulletEl);\n if (!swiper.params.pagination.renderBullet) {\n addElRole(bulletEl, 'button');\n addElLabel(bulletEl, params.paginationBulletMessage.replace(/\\{\\{index\\}\\}/, elementIndex(bulletEl) + 1));\n }\n }\n if (bulletEl.matches(classesToSelector(swiper.params.pagination.bulletActiveClass))) {\n bulletEl.setAttribute('aria-current', 'true');\n } else {\n bulletEl.removeAttribute('aria-current');\n }\n });\n }\n const initNavEl = (el, wrapperId, message) => {\n makeElFocusable(el);\n if (el.tagName !== 'BUTTON') {\n addElRole(el, 'button');\n el.addEventListener('keydown', onEnterOrSpaceKey);\n }\n addElLabel(el, message);\n addElControls(el, wrapperId);\n };\n const handlePointerDown = e => {\n if (focusTargetSlideEl && focusTargetSlideEl !== e.target && !focusTargetSlideEl.contains(e.target)) {\n preventFocusHandler = true;\n }\n swiper.a11y.clicked = true;\n };\n const handlePointerUp = () => {\n preventFocusHandler = false;\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n if (!swiper.destroyed) {\n swiper.a11y.clicked = false;\n }\n });\n });\n };\n const onVisibilityChange = e => {\n visibilityChangedTimestamp = new Date().getTime();\n };\n const handleFocus = e => {\n if (swiper.a11y.clicked || !swiper.params.a11y.scrollOnFocus) return;\n if (new Date().getTime() - visibilityChangedTimestamp < 100) return;\n const slideEl = e.target.closest(`.${swiper.params.slideClass}, swiper-slide`);\n if (!slideEl || !swiper.slides.includes(slideEl)) return;\n focusTargetSlideEl = slideEl;\n const isActive = swiper.slides.indexOf(slideEl) === swiper.activeIndex;\n const isVisible = swiper.params.watchSlidesProgress && swiper.visibleSlides && swiper.visibleSlides.includes(slideEl);\n if (isActive || isVisible) return;\n if (e.sourceCapabilities && e.sourceCapabilities.firesTouchEvents) return;\n if (swiper.isHorizontal()) {\n swiper.el.scrollLeft = 0;\n } else {\n swiper.el.scrollTop = 0;\n }\n requestAnimationFrame(() => {\n if (preventFocusHandler) return;\n if (swiper.params.loop) {\n swiper.slideToLoop(parseInt(slideEl.getAttribute('data-swiper-slide-index')), 0);\n } else {\n swiper.slideTo(swiper.slides.indexOf(slideEl), 0);\n }\n preventFocusHandler = false;\n });\n };\n const initSlides = () => {\n const params = swiper.params.a11y;\n if (params.itemRoleDescriptionMessage) {\n addElRoleDescription(swiper.slides, params.itemRoleDescriptionMessage);\n }\n if (params.slideRole) {\n addElRole(swiper.slides, params.slideRole);\n }\n const slidesLength = swiper.slides.length;\n if (params.slideLabelMessage) {\n swiper.slides.forEach((slideEl, index) => {\n const slideIndex = swiper.params.loop ? parseInt(slideEl.getAttribute('data-swiper-slide-index'), 10) : index;\n const ariaLabelMessage = params.slideLabelMessage.replace(/\\{\\{index\\}\\}/, slideIndex + 1).replace(/\\{\\{slidesLength\\}\\}/, slidesLength);\n addElLabel(slideEl, ariaLabelMessage);\n });\n }\n };\n const init = () => {\n const params = swiper.params.a11y;\n swiper.el.append(liveRegion);\n\n // Container\n const containerEl = swiper.el;\n if (params.containerRoleDescriptionMessage) {\n addElRoleDescription(containerEl, params.containerRoleDescriptionMessage);\n }\n if (params.containerMessage) {\n addElLabel(containerEl, params.containerMessage);\n }\n if (params.containerRole) {\n addElRole(containerEl, params.containerRole);\n }\n\n // Wrapper\n const wrapperEl = swiper.wrapperEl;\n const wrapperId = params.id || wrapperEl.getAttribute('id') || `swiper-wrapper-${getRandomNumber(16)}`;\n const live = swiper.params.autoplay && swiper.params.autoplay.enabled ? 'off' : 'polite';\n addElId(wrapperEl, wrapperId);\n addElLive(wrapperEl, live);\n\n // Slide\n initSlides();\n\n // Navigation\n let {\n nextEl,\n prevEl\n } = swiper.navigation ? swiper.navigation : {};\n nextEl = makeElementsArray(nextEl);\n prevEl = makeElementsArray(prevEl);\n if (nextEl) {\n nextEl.forEach(el => initNavEl(el, wrapperId, params.nextSlideMessage));\n }\n if (prevEl) {\n prevEl.forEach(el => initNavEl(el, wrapperId, params.prevSlideMessage));\n }\n\n // Pagination\n if (hasClickablePagination()) {\n const paginationEl = makeElementsArray(swiper.pagination.el);\n paginationEl.forEach(el => {\n el.addEventListener('keydown', onEnterOrSpaceKey);\n });\n }\n\n // Tab focus\n const document = getDocument();\n document.addEventListener('visibilitychange', onVisibilityChange);\n swiper.el.addEventListener('focus', handleFocus, true);\n swiper.el.addEventListener('focus', handleFocus, true);\n swiper.el.addEventListener('pointerdown', handlePointerDown, true);\n swiper.el.addEventListener('pointerup', handlePointerUp, true);\n };\n function destroy() {\n if (liveRegion) liveRegion.remove();\n let {\n nextEl,\n prevEl\n } = swiper.navigation ? swiper.navigation : {};\n nextEl = makeElementsArray(nextEl);\n prevEl = makeElementsArray(prevEl);\n if (nextEl) {\n nextEl.forEach(el => el.removeEventListener('keydown', onEnterOrSpaceKey));\n }\n if (prevEl) {\n prevEl.forEach(el => el.removeEventListener('keydown', onEnterOrSpaceKey));\n }\n\n // Pagination\n if (hasClickablePagination()) {\n const paginationEl = makeElementsArray(swiper.pagination.el);\n paginationEl.forEach(el => {\n el.removeEventListener('keydown', onEnterOrSpaceKey);\n });\n }\n const document = getDocument();\n document.removeEventListener('visibilitychange', onVisibilityChange);\n // Tab focus\n if (swiper.el && typeof swiper.el !== 'string') {\n swiper.el.removeEventListener('focus', handleFocus, true);\n swiper.el.removeEventListener('pointerdown', handlePointerDown, true);\n swiper.el.removeEventListener('pointerup', handlePointerUp, true);\n }\n }\n on('beforeInit', () => {\n liveRegion = createElement('span', swiper.params.a11y.notificationClass);\n liveRegion.setAttribute('aria-live', 'assertive');\n liveRegion.setAttribute('aria-atomic', 'true');\n });\n on('afterInit', () => {\n if (!swiper.params.a11y.enabled) return;\n init();\n });\n on('slidesLengthChange snapGridLengthChange slidesGridLengthChange', () => {\n if (!swiper.params.a11y.enabled) return;\n initSlides();\n });\n on('fromEdge toEdge afterInit lock unlock', () => {\n if (!swiper.params.a11y.enabled) return;\n updateNavigation();\n });\n on('paginationUpdate', () => {\n if (!swiper.params.a11y.enabled) return;\n updatePagination();\n });\n on('destroy', () => {\n if (!swiper.params.a11y.enabled) return;\n destroy();\n });\n}\n\nexport { A11y as default };\n","import { a as getWindow } from '../shared/ssr-window.esm.mjs';\n\nfunction History(_ref) {\n let {\n swiper,\n extendParams,\n on\n } = _ref;\n extendParams({\n history: {\n enabled: false,\n root: '',\n replaceState: false,\n key: 'slides',\n keepQuery: false\n }\n });\n let initialized = false;\n let paths = {};\n const slugify = text => {\n return text.toString().replace(/\\s+/g, '-').replace(/[^\\w-]+/g, '').replace(/--+/g, '-').replace(/^-+/, '').replace(/-+$/, '');\n };\n const getPathValues = urlOverride => {\n const window = getWindow();\n let location;\n if (urlOverride) {\n location = new URL(urlOverride);\n } else {\n location = window.location;\n }\n const pathArray = location.pathname.slice(1).split('/').filter(part => part !== '');\n const total = pathArray.length;\n const key = pathArray[total - 2];\n const value = pathArray[total - 1];\n return {\n key,\n value\n };\n };\n const setHistory = (key, index) => {\n const window = getWindow();\n if (!initialized || !swiper.params.history.enabled) return;\n let location;\n if (swiper.params.url) {\n location = new URL(swiper.params.url);\n } else {\n location = window.location;\n }\n const slide = swiper.virtual && swiper.params.virtual.enabled ? swiper.slidesEl.querySelector(`[data-swiper-slide-index=\"${index}\"]`) : swiper.slides[index];\n let value = slugify(slide.getAttribute('data-history'));\n if (swiper.params.history.root.length > 0) {\n let root = swiper.params.history.root;\n if (root[root.length - 1] === '/') root = root.slice(0, root.length - 1);\n value = `${root}/${key ? `${key}/` : ''}${value}`;\n } else if (!location.pathname.includes(key)) {\n value = `${key ? `${key}/` : ''}${value}`;\n }\n if (swiper.params.history.keepQuery) {\n value += location.search;\n }\n const currentState = window.history.state;\n if (currentState && currentState.value === value) {\n return;\n }\n if (swiper.params.history.replaceState) {\n window.history.replaceState({\n value\n }, null, value);\n } else {\n window.history.pushState({\n value\n }, null, value);\n }\n };\n const scrollToSlide = (speed, value, runCallbacks) => {\n if (value) {\n for (let i = 0, length = swiper.slides.length; i < length; i += 1) {\n const slide = swiper.slides[i];\n const slideHistory = slugify(slide.getAttribute('data-history'));\n if (slideHistory === value) {\n const index = swiper.getSlideIndex(slide);\n swiper.slideTo(index, speed, runCallbacks);\n }\n }\n } else {\n swiper.slideTo(0, speed, runCallbacks);\n }\n };\n const setHistoryPopState = () => {\n paths = getPathValues(swiper.params.url);\n scrollToSlide(swiper.params.speed, paths.value, false);\n };\n const init = () => {\n const window = getWindow();\n if (!swiper.params.history) return;\n if (!window.history || !window.history.pushState) {\n swiper.params.history.enabled = false;\n swiper.params.hashNavigation.enabled = true;\n return;\n }\n initialized = true;\n paths = getPathValues(swiper.params.url);\n if (!paths.key && !paths.value) {\n if (!swiper.params.history.replaceState) {\n window.addEventListener('popstate', setHistoryPopState);\n }\n return;\n }\n scrollToSlide(0, paths.value, swiper.params.runCallbacksOnInit);\n if (!swiper.params.history.replaceState) {\n window.addEventListener('popstate', setHistoryPopState);\n }\n };\n const destroy = () => {\n const window = getWindow();\n if (!swiper.params.history.replaceState) {\n window.removeEventListener('popstate', setHistoryPopState);\n }\n };\n on('init', () => {\n if (swiper.params.history.enabled) {\n init();\n }\n });\n on('destroy', () => {\n if (swiper.params.history.enabled) {\n destroy();\n }\n });\n on('transitionEnd _freeModeNoMomentumRelease', () => {\n if (initialized) {\n setHistory(swiper.params.history.key, swiper.activeIndex);\n }\n });\n on('slideChange', () => {\n if (initialized && swiper.params.cssMode) {\n setHistory(swiper.params.history.key, swiper.activeIndex);\n }\n });\n}\n\nexport { History as default };\n","import { g as getDocument, a as getWindow } from '../shared/ssr-window.esm.mjs';\nimport { e as elementChildren } from '../shared/utils.mjs';\n\nfunction HashNavigation(_ref) {\n let {\n swiper,\n extendParams,\n emit,\n on\n } = _ref;\n let initialized = false;\n const document = getDocument();\n const window = getWindow();\n extendParams({\n hashNavigation: {\n enabled: false,\n replaceState: false,\n watchState: false,\n getSlideIndex(_s, hash) {\n if (swiper.virtual && swiper.params.virtual.enabled) {\n const slideWithHash = swiper.slides.find(slideEl => slideEl.getAttribute('data-hash') === hash);\n if (!slideWithHash) return 0;\n const index = parseInt(slideWithHash.getAttribute('data-swiper-slide-index'), 10);\n return index;\n }\n return swiper.getSlideIndex(elementChildren(swiper.slidesEl, `.${swiper.params.slideClass}[data-hash=\"${hash}\"], swiper-slide[data-hash=\"${hash}\"]`)[0]);\n }\n }\n });\n const onHashChange = () => {\n emit('hashChange');\n const newHash = document.location.hash.replace('#', '');\n const activeSlideEl = swiper.virtual && swiper.params.virtual.enabled ? swiper.slidesEl.querySelector(`[data-swiper-slide-index=\"${swiper.activeIndex}\"]`) : swiper.slides[swiper.activeIndex];\n const activeSlideHash = activeSlideEl ? activeSlideEl.getAttribute('data-hash') : '';\n if (newHash !== activeSlideHash) {\n const newIndex = swiper.params.hashNavigation.getSlideIndex(swiper, newHash);\n if (typeof newIndex === 'undefined' || Number.isNaN(newIndex)) return;\n swiper.slideTo(newIndex);\n }\n };\n const setHash = () => {\n if (!initialized || !swiper.params.hashNavigation.enabled) return;\n const activeSlideEl = swiper.virtual && swiper.params.virtual.enabled ? swiper.slidesEl.querySelector(`[data-swiper-slide-index=\"${swiper.activeIndex}\"]`) : swiper.slides[swiper.activeIndex];\n const activeSlideHash = activeSlideEl ? activeSlideEl.getAttribute('data-hash') || activeSlideEl.getAttribute('data-history') : '';\n if (swiper.params.hashNavigation.replaceState && window.history && window.history.replaceState) {\n window.history.replaceState(null, null, `#${activeSlideHash}` || '');\n emit('hashSet');\n } else {\n document.location.hash = activeSlideHash || '';\n emit('hashSet');\n }\n };\n const init = () => {\n if (!swiper.params.hashNavigation.enabled || swiper.params.history && swiper.params.history.enabled) return;\n initialized = true;\n const hash = document.location.hash.replace('#', '');\n if (hash) {\n const speed = 0;\n const index = swiper.params.hashNavigation.getSlideIndex(swiper, hash);\n swiper.slideTo(index || 0, speed, swiper.params.runCallbacksOnInit, true);\n }\n if (swiper.params.hashNavigation.watchState) {\n window.addEventListener('hashchange', onHashChange);\n }\n };\n const destroy = () => {\n if (swiper.params.hashNavigation.watchState) {\n window.removeEventListener('hashchange', onHashChange);\n }\n };\n on('init', () => {\n if (swiper.params.hashNavigation.enabled) {\n init();\n }\n });\n on('destroy', () => {\n if (swiper.params.hashNavigation.enabled) {\n destroy();\n }\n });\n on('transitionEnd _freeModeNoMomentumRelease', () => {\n if (initialized) {\n setHash();\n }\n });\n on('slideChange', () => {\n if (initialized && swiper.params.cssMode) {\n setHash();\n }\n });\n}\n\nexport { HashNavigation as default };\n","import { g as getDocument } from '../shared/ssr-window.esm.mjs';\n\n/* eslint no-underscore-dangle: \"off\" */\n/* eslint no-use-before-define: \"off\" */\nfunction Autoplay(_ref) {\n let {\n swiper,\n extendParams,\n on,\n emit,\n params\n } = _ref;\n swiper.autoplay = {\n running: false,\n paused: false,\n timeLeft: 0\n };\n extendParams({\n autoplay: {\n enabled: false,\n delay: 3000,\n waitForTransition: true,\n disableOnInteraction: false,\n stopOnLastSlide: false,\n reverseDirection: false,\n pauseOnMouseEnter: false\n }\n });\n let timeout;\n let raf;\n let autoplayDelayTotal = params && params.autoplay ? params.autoplay.delay : 3000;\n let autoplayDelayCurrent = params && params.autoplay ? params.autoplay.delay : 3000;\n let autoplayTimeLeft;\n let autoplayStartTime = new Date().getTime();\n let wasPaused;\n let isTouched;\n let pausedByTouch;\n let touchStartTimeout;\n let slideChanged;\n let pausedByInteraction;\n let pausedByPointerEnter;\n function onTransitionEnd(e) {\n if (!swiper || swiper.destroyed || !swiper.wrapperEl) return;\n if (e.target !== swiper.wrapperEl) return;\n swiper.wrapperEl.removeEventListener('transitionend', onTransitionEnd);\n if (pausedByPointerEnter || e.detail && e.detail.bySwiperTouchMove) {\n return;\n }\n resume();\n }\n const calcTimeLeft = () => {\n if (swiper.destroyed || !swiper.autoplay.running) return;\n if (swiper.autoplay.paused) {\n wasPaused = true;\n } else if (wasPaused) {\n autoplayDelayCurrent = autoplayTimeLeft;\n wasPaused = false;\n }\n const timeLeft = swiper.autoplay.paused ? autoplayTimeLeft : autoplayStartTime + autoplayDelayCurrent - new Date().getTime();\n swiper.autoplay.timeLeft = timeLeft;\n emit('autoplayTimeLeft', timeLeft, timeLeft / autoplayDelayTotal);\n raf = requestAnimationFrame(() => {\n calcTimeLeft();\n });\n };\n const getSlideDelay = () => {\n let activeSlideEl;\n if (swiper.virtual && swiper.params.virtual.enabled) {\n activeSlideEl = swiper.slides.find(slideEl => slideEl.classList.contains('swiper-slide-active'));\n } else {\n activeSlideEl = swiper.slides[swiper.activeIndex];\n }\n if (!activeSlideEl) return undefined;\n const currentSlideDelay = parseInt(activeSlideEl.getAttribute('data-swiper-autoplay'), 10);\n return currentSlideDelay;\n };\n const run = delayForce => {\n if (swiper.destroyed || !swiper.autoplay.running) return;\n cancelAnimationFrame(raf);\n calcTimeLeft();\n let delay = typeof delayForce === 'undefined' ? swiper.params.autoplay.delay : delayForce;\n autoplayDelayTotal = swiper.params.autoplay.delay;\n autoplayDelayCurrent = swiper.params.autoplay.delay;\n const currentSlideDelay = getSlideDelay();\n if (!Number.isNaN(currentSlideDelay) && currentSlideDelay > 0 && typeof delayForce === 'undefined') {\n delay = currentSlideDelay;\n autoplayDelayTotal = currentSlideDelay;\n autoplayDelayCurrent = currentSlideDelay;\n }\n autoplayTimeLeft = delay;\n const speed = swiper.params.speed;\n const proceed = () => {\n if (!swiper || swiper.destroyed) return;\n if (swiper.params.autoplay.reverseDirection) {\n if (!swiper.isBeginning || swiper.params.loop || swiper.params.rewind) {\n swiper.slidePrev(speed, true, true);\n emit('autoplay');\n } else if (!swiper.params.autoplay.stopOnLastSlide) {\n swiper.slideTo(swiper.slides.length - 1, speed, true, true);\n emit('autoplay');\n }\n } else {\n if (!swiper.isEnd || swiper.params.loop || swiper.params.rewind) {\n swiper.slideNext(speed, true, true);\n emit('autoplay');\n } else if (!swiper.params.autoplay.stopOnLastSlide) {\n swiper.slideTo(0, speed, true, true);\n emit('autoplay');\n }\n }\n if (swiper.params.cssMode) {\n autoplayStartTime = new Date().getTime();\n requestAnimationFrame(() => {\n run();\n });\n }\n };\n if (delay > 0) {\n clearTimeout(timeout);\n timeout = setTimeout(() => {\n proceed();\n }, delay);\n } else {\n requestAnimationFrame(() => {\n proceed();\n });\n }\n\n // eslint-disable-next-line\n return delay;\n };\n const start = () => {\n autoplayStartTime = new Date().getTime();\n swiper.autoplay.running = true;\n run();\n emit('autoplayStart');\n };\n const stop = () => {\n swiper.autoplay.running = false;\n clearTimeout(timeout);\n cancelAnimationFrame(raf);\n emit('autoplayStop');\n };\n const pause = (internal, reset) => {\n if (swiper.destroyed || !swiper.autoplay.running) return;\n clearTimeout(timeout);\n if (!internal) {\n pausedByInteraction = true;\n }\n const proceed = () => {\n emit('autoplayPause');\n if (swiper.params.autoplay.waitForTransition) {\n swiper.wrapperEl.addEventListener('transitionend', onTransitionEnd);\n } else {\n resume();\n }\n };\n swiper.autoplay.paused = true;\n if (reset) {\n if (slideChanged) {\n autoplayTimeLeft = swiper.params.autoplay.delay;\n }\n slideChanged = false;\n proceed();\n return;\n }\n const delay = autoplayTimeLeft || swiper.params.autoplay.delay;\n autoplayTimeLeft = delay - (new Date().getTime() - autoplayStartTime);\n if (swiper.isEnd && autoplayTimeLeft < 0 && !swiper.params.loop) return;\n if (autoplayTimeLeft < 0) autoplayTimeLeft = 0;\n proceed();\n };\n const resume = () => {\n if (swiper.isEnd && autoplayTimeLeft < 0 && !swiper.params.loop || swiper.destroyed || !swiper.autoplay.running) return;\n autoplayStartTime = new Date().getTime();\n if (pausedByInteraction) {\n pausedByInteraction = false;\n run(autoplayTimeLeft);\n } else {\n run();\n }\n swiper.autoplay.paused = false;\n emit('autoplayResume');\n };\n const onVisibilityChange = () => {\n if (swiper.destroyed || !swiper.autoplay.running) return;\n const document = getDocument();\n if (document.visibilityState === 'hidden') {\n pausedByInteraction = true;\n pause(true);\n }\n if (document.visibilityState === 'visible') {\n resume();\n }\n };\n const onPointerEnter = e => {\n if (e.pointerType !== 'mouse') return;\n pausedByInteraction = true;\n pausedByPointerEnter = true;\n if (swiper.animating || swiper.autoplay.paused) return;\n pause(true);\n };\n const onPointerLeave = e => {\n if (e.pointerType !== 'mouse') return;\n pausedByPointerEnter = false;\n if (swiper.autoplay.paused) {\n resume();\n }\n };\n const attachMouseEvents = () => {\n if (swiper.params.autoplay.pauseOnMouseEnter) {\n swiper.el.addEventListener('pointerenter', onPointerEnter);\n swiper.el.addEventListener('pointerleave', onPointerLeave);\n }\n };\n const detachMouseEvents = () => {\n if (swiper.el && typeof swiper.el !== 'string') {\n swiper.el.removeEventListener('pointerenter', onPointerEnter);\n swiper.el.removeEventListener('pointerleave', onPointerLeave);\n }\n };\n const attachDocumentEvents = () => {\n const document = getDocument();\n document.addEventListener('visibilitychange', onVisibilityChange);\n };\n const detachDocumentEvents = () => {\n const document = getDocument();\n document.removeEventListener('visibilitychange', onVisibilityChange);\n };\n on('init', () => {\n if (swiper.params.autoplay.enabled) {\n attachMouseEvents();\n attachDocumentEvents();\n start();\n }\n });\n on('destroy', () => {\n detachMouseEvents();\n detachDocumentEvents();\n if (swiper.autoplay.running) {\n stop();\n }\n });\n on('_freeModeStaticRelease', () => {\n if (pausedByTouch || pausedByInteraction) {\n resume();\n }\n });\n on('_freeModeNoMomentumRelease', () => {\n if (!swiper.params.autoplay.disableOnInteraction) {\n pause(true, true);\n } else {\n stop();\n }\n });\n on('beforeTransitionStart', (_s, speed, internal) => {\n if (swiper.destroyed || !swiper.autoplay.running) return;\n if (internal || !swiper.params.autoplay.disableOnInteraction) {\n pause(true, true);\n } else {\n stop();\n }\n });\n on('sliderFirstMove', () => {\n if (swiper.destroyed || !swiper.autoplay.running) return;\n if (swiper.params.autoplay.disableOnInteraction) {\n stop();\n return;\n }\n isTouched = true;\n pausedByTouch = false;\n pausedByInteraction = false;\n touchStartTimeout = setTimeout(() => {\n pausedByInteraction = true;\n pausedByTouch = true;\n pause(true);\n }, 200);\n });\n on('touchEnd', () => {\n if (swiper.destroyed || !swiper.autoplay.running || !isTouched) return;\n clearTimeout(touchStartTimeout);\n clearTimeout(timeout);\n if (swiper.params.autoplay.disableOnInteraction) {\n pausedByTouch = false;\n isTouched = false;\n return;\n }\n if (pausedByTouch && swiper.params.cssMode) resume();\n pausedByTouch = false;\n isTouched = false;\n });\n on('slideChange', () => {\n if (swiper.destroyed || !swiper.autoplay.running) return;\n slideChanged = true;\n });\n Object.assign(swiper.autoplay, {\n start,\n stop,\n pause,\n resume\n });\n}\n\nexport { Autoplay as default };\n","import { g as getDocument } from '../shared/ssr-window.esm.mjs';\nimport { l as isObject, e as elementChildren } from '../shared/utils.mjs';\n\nfunction Thumb(_ref) {\n let {\n swiper,\n extendParams,\n on\n } = _ref;\n extendParams({\n thumbs: {\n swiper: null,\n multipleActiveThumbs: true,\n autoScrollOffset: 0,\n slideThumbActiveClass: 'swiper-slide-thumb-active',\n thumbsContainerClass: 'swiper-thumbs'\n }\n });\n let initialized = false;\n let swiperCreated = false;\n swiper.thumbs = {\n swiper: null\n };\n function onThumbClick() {\n const thumbsSwiper = swiper.thumbs.swiper;\n if (!thumbsSwiper || thumbsSwiper.destroyed) return;\n const clickedIndex = thumbsSwiper.clickedIndex;\n const clickedSlide = thumbsSwiper.clickedSlide;\n if (clickedSlide && clickedSlide.classList.contains(swiper.params.thumbs.slideThumbActiveClass)) return;\n if (typeof clickedIndex === 'undefined' || clickedIndex === null) return;\n let slideToIndex;\n if (thumbsSwiper.params.loop) {\n slideToIndex = parseInt(thumbsSwiper.clickedSlide.getAttribute('data-swiper-slide-index'), 10);\n } else {\n slideToIndex = clickedIndex;\n }\n if (swiper.params.loop) {\n swiper.slideToLoop(slideToIndex);\n } else {\n swiper.slideTo(slideToIndex);\n }\n }\n function init() {\n const {\n thumbs: thumbsParams\n } = swiper.params;\n if (initialized) return false;\n initialized = true;\n const SwiperClass = swiper.constructor;\n if (thumbsParams.swiper instanceof SwiperClass) {\n swiper.thumbs.swiper = thumbsParams.swiper;\n Object.assign(swiper.thumbs.swiper.originalParams, {\n watchSlidesProgress: true,\n slideToClickedSlide: false\n });\n Object.assign(swiper.thumbs.swiper.params, {\n watchSlidesProgress: true,\n slideToClickedSlide: false\n });\n swiper.thumbs.swiper.update();\n } else if (isObject(thumbsParams.swiper)) {\n const thumbsSwiperParams = Object.assign({}, thumbsParams.swiper);\n Object.assign(thumbsSwiperParams, {\n watchSlidesProgress: true,\n slideToClickedSlide: false\n });\n swiper.thumbs.swiper = new SwiperClass(thumbsSwiperParams);\n swiperCreated = true;\n }\n swiper.thumbs.swiper.el.classList.add(swiper.params.thumbs.thumbsContainerClass);\n swiper.thumbs.swiper.on('tap', onThumbClick);\n return true;\n }\n function update(initial) {\n const thumbsSwiper = swiper.thumbs.swiper;\n if (!thumbsSwiper || thumbsSwiper.destroyed) return;\n const slidesPerView = thumbsSwiper.params.slidesPerView === 'auto' ? thumbsSwiper.slidesPerViewDynamic() : thumbsSwiper.params.slidesPerView;\n\n // Activate thumbs\n let thumbsToActivate = 1;\n const thumbActiveClass = swiper.params.thumbs.slideThumbActiveClass;\n if (swiper.params.slidesPerView > 1 && !swiper.params.centeredSlides) {\n thumbsToActivate = swiper.params.slidesPerView;\n }\n if (!swiper.params.thumbs.multipleActiveThumbs) {\n thumbsToActivate = 1;\n }\n thumbsToActivate = Math.floor(thumbsToActivate);\n thumbsSwiper.slides.forEach(slideEl => slideEl.classList.remove(thumbActiveClass));\n if (thumbsSwiper.params.loop || thumbsSwiper.params.virtual && thumbsSwiper.params.virtual.enabled) {\n for (let i = 0; i < thumbsToActivate; i += 1) {\n elementChildren(thumbsSwiper.slidesEl, `[data-swiper-slide-index=\"${swiper.realIndex + i}\"]`).forEach(slideEl => {\n slideEl.classList.add(thumbActiveClass);\n });\n }\n } else {\n for (let i = 0; i < thumbsToActivate; i += 1) {\n if (thumbsSwiper.slides[swiper.realIndex + i]) {\n thumbsSwiper.slides[swiper.realIndex + i].classList.add(thumbActiveClass);\n }\n }\n }\n const autoScrollOffset = swiper.params.thumbs.autoScrollOffset;\n const useOffset = autoScrollOffset && !thumbsSwiper.params.loop;\n if (swiper.realIndex !== thumbsSwiper.realIndex || useOffset) {\n const currentThumbsIndex = thumbsSwiper.activeIndex;\n let newThumbsIndex;\n let direction;\n if (thumbsSwiper.params.loop) {\n const newThumbsSlide = thumbsSwiper.slides.find(slideEl => slideEl.getAttribute('data-swiper-slide-index') === `${swiper.realIndex}`);\n newThumbsIndex = thumbsSwiper.slides.indexOf(newThumbsSlide);\n direction = swiper.activeIndex > swiper.previousIndex ? 'next' : 'prev';\n } else {\n newThumbsIndex = swiper.realIndex;\n direction = newThumbsIndex > swiper.previousIndex ? 'next' : 'prev';\n }\n if (useOffset) {\n newThumbsIndex += direction === 'next' ? autoScrollOffset : -1 * autoScrollOffset;\n }\n if (thumbsSwiper.visibleSlidesIndexes && thumbsSwiper.visibleSlidesIndexes.indexOf(newThumbsIndex) < 0) {\n if (thumbsSwiper.params.centeredSlides) {\n if (newThumbsIndex > currentThumbsIndex) {\n newThumbsIndex = newThumbsIndex - Math.floor(slidesPerView / 2) + 1;\n } else {\n newThumbsIndex = newThumbsIndex + Math.floor(slidesPerView / 2) - 1;\n }\n } else if (newThumbsIndex > currentThumbsIndex && thumbsSwiper.params.slidesPerGroup === 1) ;\n thumbsSwiper.slideTo(newThumbsIndex, initial ? 0 : undefined);\n }\n }\n }\n on('beforeInit', () => {\n const {\n thumbs\n } = swiper.params;\n if (!thumbs || !thumbs.swiper) return;\n if (typeof thumbs.swiper === 'string' || thumbs.swiper instanceof HTMLElement) {\n const document = getDocument();\n const getThumbsElementAndInit = () => {\n const thumbsElement = typeof thumbs.swiper === 'string' ? document.querySelector(thumbs.swiper) : thumbs.swiper;\n if (thumbsElement && thumbsElement.swiper) {\n thumbs.swiper = thumbsElement.swiper;\n init();\n update(true);\n } else if (thumbsElement) {\n const eventName = `${swiper.params.eventsPrefix}init`;\n const onThumbsSwiper = e => {\n thumbs.swiper = e.detail[0];\n thumbsElement.removeEventListener(eventName, onThumbsSwiper);\n init();\n update(true);\n thumbs.swiper.update();\n swiper.update();\n };\n thumbsElement.addEventListener(eventName, onThumbsSwiper);\n }\n return thumbsElement;\n };\n const watchForThumbsToAppear = () => {\n if (swiper.destroyed) return;\n const thumbsElement = getThumbsElementAndInit();\n if (!thumbsElement) {\n requestAnimationFrame(watchForThumbsToAppear);\n }\n };\n requestAnimationFrame(watchForThumbsToAppear);\n } else {\n init();\n update(true);\n }\n });\n on('slideChange update resize observerUpdate', () => {\n update();\n });\n on('setTransition', (_s, duration) => {\n const thumbsSwiper = swiper.thumbs.swiper;\n if (!thumbsSwiper || thumbsSwiper.destroyed) return;\n thumbsSwiper.setTransition(duration);\n });\n on('beforeDestroy', () => {\n const thumbsSwiper = swiper.thumbs.swiper;\n if (!thumbsSwiper || thumbsSwiper.destroyed) return;\n if (swiperCreated) {\n thumbsSwiper.destroy();\n }\n });\n Object.assign(swiper.thumbs, {\n init,\n update\n });\n}\n\nexport { Thumb as default };\n","import { d as now, k as elementTransitionEnd } from '../shared/utils.mjs';\n\nfunction freeMode(_ref) {\n let {\n swiper,\n extendParams,\n emit,\n once\n } = _ref;\n extendParams({\n freeMode: {\n enabled: false,\n momentum: true,\n momentumRatio: 1,\n momentumBounce: true,\n momentumBounceRatio: 1,\n momentumVelocityRatio: 1,\n sticky: false,\n minimumVelocity: 0.02\n }\n });\n function onTouchStart() {\n if (swiper.params.cssMode) return;\n const translate = swiper.getTranslate();\n swiper.setTranslate(translate);\n swiper.setTransition(0);\n swiper.touchEventsData.velocities.length = 0;\n swiper.freeMode.onTouchEnd({\n currentPos: swiper.rtl ? swiper.translate : -swiper.translate\n });\n }\n function onTouchMove() {\n if (swiper.params.cssMode) return;\n const {\n touchEventsData: data,\n touches\n } = swiper;\n // Velocity\n if (data.velocities.length === 0) {\n data.velocities.push({\n position: touches[swiper.isHorizontal() ? 'startX' : 'startY'],\n time: data.touchStartTime\n });\n }\n data.velocities.push({\n position: touches[swiper.isHorizontal() ? 'currentX' : 'currentY'],\n time: now()\n });\n }\n function onTouchEnd(_ref2) {\n let {\n currentPos\n } = _ref2;\n if (swiper.params.cssMode) return;\n const {\n params,\n wrapperEl,\n rtlTranslate: rtl,\n snapGrid,\n touchEventsData: data\n } = swiper;\n // Time diff\n const touchEndTime = now();\n const timeDiff = touchEndTime - data.touchStartTime;\n if (currentPos < -swiper.minTranslate()) {\n swiper.slideTo(swiper.activeIndex);\n return;\n }\n if (currentPos > -swiper.maxTranslate()) {\n if (swiper.slides.length < snapGrid.length) {\n swiper.slideTo(snapGrid.length - 1);\n } else {\n swiper.slideTo(swiper.slides.length - 1);\n }\n return;\n }\n if (params.freeMode.momentum) {\n if (data.velocities.length > 1) {\n const lastMoveEvent = data.velocities.pop();\n const velocityEvent = data.velocities.pop();\n const distance = lastMoveEvent.position - velocityEvent.position;\n const time = lastMoveEvent.time - velocityEvent.time;\n swiper.velocity = distance / time;\n swiper.velocity /= 2;\n if (Math.abs(swiper.velocity) < params.freeMode.minimumVelocity) {\n swiper.velocity = 0;\n }\n // this implies that the user stopped moving a finger then released.\n // There would be no events with distance zero, so the last event is stale.\n if (time > 150 || now() - lastMoveEvent.time > 300) {\n swiper.velocity = 0;\n }\n } else {\n swiper.velocity = 0;\n }\n swiper.velocity *= params.freeMode.momentumVelocityRatio;\n data.velocities.length = 0;\n let momentumDuration = 1000 * params.freeMode.momentumRatio;\n const momentumDistance = swiper.velocity * momentumDuration;\n let newPosition = swiper.translate + momentumDistance;\n if (rtl) newPosition = -newPosition;\n let doBounce = false;\n let afterBouncePosition;\n const bounceAmount = Math.abs(swiper.velocity) * 20 * params.freeMode.momentumBounceRatio;\n let needsLoopFix;\n if (newPosition < swiper.maxTranslate()) {\n if (params.freeMode.momentumBounce) {\n if (newPosition + swiper.maxTranslate() < -bounceAmount) {\n newPosition = swiper.maxTranslate() - bounceAmount;\n }\n afterBouncePosition = swiper.maxTranslate();\n doBounce = true;\n data.allowMomentumBounce = true;\n } else {\n newPosition = swiper.maxTranslate();\n }\n if (params.loop && params.centeredSlides) needsLoopFix = true;\n } else if (newPosition > swiper.minTranslate()) {\n if (params.freeMode.momentumBounce) {\n if (newPosition - swiper.minTranslate() > bounceAmount) {\n newPosition = swiper.minTranslate() + bounceAmount;\n }\n afterBouncePosition = swiper.minTranslate();\n doBounce = true;\n data.allowMomentumBounce = true;\n } else {\n newPosition = swiper.minTranslate();\n }\n if (params.loop && params.centeredSlides) needsLoopFix = true;\n } else if (params.freeMode.sticky) {\n let nextSlide;\n for (let j = 0; j < snapGrid.length; j += 1) {\n if (snapGrid[j] > -newPosition) {\n nextSlide = j;\n break;\n }\n }\n if (Math.abs(snapGrid[nextSlide] - newPosition) < Math.abs(snapGrid[nextSlide - 1] - newPosition) || swiper.swipeDirection === 'next') {\n newPosition = snapGrid[nextSlide];\n } else {\n newPosition = snapGrid[nextSlide - 1];\n }\n newPosition = -newPosition;\n }\n if (needsLoopFix) {\n once('transitionEnd', () => {\n swiper.loopFix();\n });\n }\n // Fix duration\n if (swiper.velocity !== 0) {\n if (rtl) {\n momentumDuration = Math.abs((-newPosition - swiper.translate) / swiper.velocity);\n } else {\n momentumDuration = Math.abs((newPosition - swiper.translate) / swiper.velocity);\n }\n if (params.freeMode.sticky) {\n // If freeMode.sticky is active and the user ends a swipe with a slow-velocity\n // event, then durations can be 20+ seconds to slide one (or zero!) slides.\n // It's easy to see this when simulating touch with mouse events. To fix this,\n // limit single-slide swipes to the default slide duration. This also has the\n // nice side effect of matching slide speed if the user stopped moving before\n // lifting finger or mouse vs. moving slowly before lifting the finger/mouse.\n // For faster swipes, also apply limits (albeit higher ones).\n const moveDistance = Math.abs((rtl ? -newPosition : newPosition) - swiper.translate);\n const currentSlideSize = swiper.slidesSizesGrid[swiper.activeIndex];\n if (moveDistance < currentSlideSize) {\n momentumDuration = params.speed;\n } else if (moveDistance < 2 * currentSlideSize) {\n momentumDuration = params.speed * 1.5;\n } else {\n momentumDuration = params.speed * 2.5;\n }\n }\n } else if (params.freeMode.sticky) {\n swiper.slideToClosest();\n return;\n }\n if (params.freeMode.momentumBounce && doBounce) {\n swiper.updateProgress(afterBouncePosition);\n swiper.setTransition(momentumDuration);\n swiper.setTranslate(newPosition);\n swiper.transitionStart(true, swiper.swipeDirection);\n swiper.animating = true;\n elementTransitionEnd(wrapperEl, () => {\n if (!swiper || swiper.destroyed || !data.allowMomentumBounce) return;\n emit('momentumBounce');\n swiper.setTransition(params.speed);\n setTimeout(() => {\n swiper.setTranslate(afterBouncePosition);\n elementTransitionEnd(wrapperEl, () => {\n if (!swiper || swiper.destroyed) return;\n swiper.transitionEnd();\n });\n }, 0);\n });\n } else if (swiper.velocity) {\n emit('_freeModeNoMomentumRelease');\n swiper.updateProgress(newPosition);\n swiper.setTransition(momentumDuration);\n swiper.setTranslate(newPosition);\n swiper.transitionStart(true, swiper.swipeDirection);\n if (!swiper.animating) {\n swiper.animating = true;\n elementTransitionEnd(wrapperEl, () => {\n if (!swiper || swiper.destroyed) return;\n swiper.transitionEnd();\n });\n }\n } else {\n swiper.updateProgress(newPosition);\n }\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n } else if (params.freeMode.sticky) {\n swiper.slideToClosest();\n return;\n } else if (params.freeMode) {\n emit('_freeModeNoMomentumRelease');\n }\n if (!params.freeMode.momentum || timeDiff >= params.longSwipesMs) {\n emit('_freeModeStaticRelease');\n swiper.updateProgress();\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n }\n }\n Object.assign(swiper, {\n freeMode: {\n onTouchStart,\n onTouchMove,\n onTouchEnd\n }\n });\n}\n\nexport { freeMode as default };\n","function Grid(_ref) {\n let {\n swiper,\n extendParams,\n on\n } = _ref;\n extendParams({\n grid: {\n rows: 1,\n fill: 'column'\n }\n });\n let slidesNumberEvenToRows;\n let slidesPerRow;\n let numFullColumns;\n let wasMultiRow;\n const getSpaceBetween = () => {\n let spaceBetween = swiper.params.spaceBetween;\n if (typeof spaceBetween === 'string' && spaceBetween.indexOf('%') >= 0) {\n spaceBetween = parseFloat(spaceBetween.replace('%', '')) / 100 * swiper.size;\n } else if (typeof spaceBetween === 'string') {\n spaceBetween = parseFloat(spaceBetween);\n }\n return spaceBetween;\n };\n const initSlides = slides => {\n const {\n slidesPerView\n } = swiper.params;\n const {\n rows,\n fill\n } = swiper.params.grid;\n const slidesLength = swiper.virtual && swiper.params.virtual.enabled ? swiper.virtual.slides.length : slides.length;\n numFullColumns = Math.floor(slidesLength / rows);\n if (Math.floor(slidesLength / rows) === slidesLength / rows) {\n slidesNumberEvenToRows = slidesLength;\n } else {\n slidesNumberEvenToRows = Math.ceil(slidesLength / rows) * rows;\n }\n if (slidesPerView !== 'auto' && fill === 'row') {\n slidesNumberEvenToRows = Math.max(slidesNumberEvenToRows, slidesPerView * rows);\n }\n slidesPerRow = slidesNumberEvenToRows / rows;\n };\n const unsetSlides = () => {\n if (swiper.slides) {\n swiper.slides.forEach(slide => {\n if (slide.swiperSlideGridSet) {\n slide.style.height = '';\n slide.style[swiper.getDirectionLabel('margin-top')] = '';\n }\n });\n }\n };\n const updateSlide = (i, slide, slides) => {\n const {\n slidesPerGroup\n } = swiper.params;\n const spaceBetween = getSpaceBetween();\n const {\n rows,\n fill\n } = swiper.params.grid;\n const slidesLength = swiper.virtual && swiper.params.virtual.enabled ? swiper.virtual.slides.length : slides.length;\n // Set slides order\n let newSlideOrderIndex;\n let column;\n let row;\n if (fill === 'row' && slidesPerGroup > 1) {\n const groupIndex = Math.floor(i / (slidesPerGroup * rows));\n const slideIndexInGroup = i - rows * slidesPerGroup * groupIndex;\n const columnsInGroup = groupIndex === 0 ? slidesPerGroup : Math.min(Math.ceil((slidesLength - groupIndex * rows * slidesPerGroup) / rows), slidesPerGroup);\n row = Math.floor(slideIndexInGroup / columnsInGroup);\n column = slideIndexInGroup - row * columnsInGroup + groupIndex * slidesPerGroup;\n newSlideOrderIndex = column + row * slidesNumberEvenToRows / rows;\n slide.style.order = newSlideOrderIndex;\n } else if (fill === 'column') {\n column = Math.floor(i / rows);\n row = i - column * rows;\n if (column > numFullColumns || column === numFullColumns && row === rows - 1) {\n row += 1;\n if (row >= rows) {\n row = 0;\n column += 1;\n }\n }\n } else {\n row = Math.floor(i / slidesPerRow);\n column = i - row * slidesPerRow;\n }\n slide.row = row;\n slide.column = column;\n slide.style.height = `calc((100% - ${(rows - 1) * spaceBetween}px) / ${rows})`;\n slide.style[swiper.getDirectionLabel('margin-top')] = row !== 0 ? spaceBetween && `${spaceBetween}px` : '';\n slide.swiperSlideGridSet = true;\n };\n const updateWrapperSize = (slideSize, snapGrid) => {\n const {\n centeredSlides,\n roundLengths\n } = swiper.params;\n const spaceBetween = getSpaceBetween();\n const {\n rows\n } = swiper.params.grid;\n swiper.virtualSize = (slideSize + spaceBetween) * slidesNumberEvenToRows;\n swiper.virtualSize = Math.ceil(swiper.virtualSize / rows) - spaceBetween;\n if (!swiper.params.cssMode) {\n swiper.wrapperEl.style[swiper.getDirectionLabel('width')] = `${swiper.virtualSize + spaceBetween}px`;\n }\n if (centeredSlides) {\n const newSlidesGrid = [];\n for (let i = 0; i < snapGrid.length; i += 1) {\n let slidesGridItem = snapGrid[i];\n if (roundLengths) slidesGridItem = Math.floor(slidesGridItem);\n if (snapGrid[i] < swiper.virtualSize + snapGrid[0]) newSlidesGrid.push(slidesGridItem);\n }\n snapGrid.splice(0, snapGrid.length);\n snapGrid.push(...newSlidesGrid);\n }\n };\n const onInit = () => {\n wasMultiRow = swiper.params.grid && swiper.params.grid.rows > 1;\n };\n const onUpdate = () => {\n const {\n params,\n el\n } = swiper;\n const isMultiRow = params.grid && params.grid.rows > 1;\n if (wasMultiRow && !isMultiRow) {\n el.classList.remove(`${params.containerModifierClass}grid`, `${params.containerModifierClass}grid-column`);\n numFullColumns = 1;\n swiper.emitContainerClasses();\n } else if (!wasMultiRow && isMultiRow) {\n el.classList.add(`${params.containerModifierClass}grid`);\n if (params.grid.fill === 'column') {\n el.classList.add(`${params.containerModifierClass}grid-column`);\n }\n swiper.emitContainerClasses();\n }\n wasMultiRow = isMultiRow;\n };\n on('init', onInit);\n on('update', onUpdate);\n swiper.grid = {\n initSlides,\n unsetSlides,\n updateSlide,\n updateWrapperSize\n };\n}\n\nexport { Grid as default };\n","import { e as effectInit } from '../shared/effect-init.mjs';\nimport { e as effectTarget } from '../shared/effect-target.mjs';\nimport { e as effectVirtualTransitionEnd } from '../shared/effect-virtual-transition-end.mjs';\nimport { g as getSlideTransformEl } from '../shared/utils.mjs';\n\nfunction EffectFade(_ref) {\n let {\n swiper,\n extendParams,\n on\n } = _ref;\n extendParams({\n fadeEffect: {\n crossFade: false\n }\n });\n const setTranslate = () => {\n const {\n slides\n } = swiper;\n const params = swiper.params.fadeEffect;\n for (let i = 0; i < slides.length; i += 1) {\n const slideEl = swiper.slides[i];\n const offset = slideEl.swiperSlideOffset;\n let tx = -offset;\n if (!swiper.params.virtualTranslate) tx -= swiper.translate;\n let ty = 0;\n if (!swiper.isHorizontal()) {\n ty = tx;\n tx = 0;\n }\n const slideOpacity = swiper.params.fadeEffect.crossFade ? Math.max(1 - Math.abs(slideEl.progress), 0) : 1 + Math.min(Math.max(slideEl.progress, -1), 0);\n const targetEl = effectTarget(params, slideEl);\n targetEl.style.opacity = slideOpacity;\n targetEl.style.transform = `translate3d(${tx}px, ${ty}px, 0px)`;\n }\n };\n const setTransition = duration => {\n const transformElements = swiper.slides.map(slideEl => getSlideTransformEl(slideEl));\n transformElements.forEach(el => {\n el.style.transitionDuration = `${duration}ms`;\n });\n effectVirtualTransitionEnd({\n swiper,\n duration,\n transformElements,\n allSlides: true\n });\n };\n effectInit({\n effect: 'fade',\n swiper,\n on,\n setTranslate,\n setTransition,\n overwriteParams: () => ({\n slidesPerView: 1,\n slidesPerGroup: 1,\n watchSlidesProgress: true,\n spaceBetween: 0,\n virtualTranslate: !swiper.params.cssMode\n })\n });\n}\n\nexport { EffectFade as default };\n","import { e as effectInit } from '../shared/effect-init.mjs';\nimport { c as createElement, o as getRotateFix } from '../shared/utils.mjs';\n\nfunction EffectCube(_ref) {\n let {\n swiper,\n extendParams,\n on\n } = _ref;\n extendParams({\n cubeEffect: {\n slideShadows: true,\n shadow: true,\n shadowOffset: 20,\n shadowScale: 0.94\n }\n });\n const createSlideShadows = (slideEl, progress, isHorizontal) => {\n let shadowBefore = isHorizontal ? slideEl.querySelector('.swiper-slide-shadow-left') : slideEl.querySelector('.swiper-slide-shadow-top');\n let shadowAfter = isHorizontal ? slideEl.querySelector('.swiper-slide-shadow-right') : slideEl.querySelector('.swiper-slide-shadow-bottom');\n if (!shadowBefore) {\n shadowBefore = createElement('div', `swiper-slide-shadow-cube swiper-slide-shadow-${isHorizontal ? 'left' : 'top'}`.split(' '));\n slideEl.append(shadowBefore);\n }\n if (!shadowAfter) {\n shadowAfter = createElement('div', `swiper-slide-shadow-cube swiper-slide-shadow-${isHorizontal ? 'right' : 'bottom'}`.split(' '));\n slideEl.append(shadowAfter);\n }\n if (shadowBefore) shadowBefore.style.opacity = Math.max(-progress, 0);\n if (shadowAfter) shadowAfter.style.opacity = Math.max(progress, 0);\n };\n const recreateShadows = () => {\n // create new ones\n const isHorizontal = swiper.isHorizontal();\n swiper.slides.forEach(slideEl => {\n const progress = Math.max(Math.min(slideEl.progress, 1), -1);\n createSlideShadows(slideEl, progress, isHorizontal);\n });\n };\n const setTranslate = () => {\n const {\n el,\n wrapperEl,\n slides,\n width: swiperWidth,\n height: swiperHeight,\n rtlTranslate: rtl,\n size: swiperSize,\n browser\n } = swiper;\n const r = getRotateFix(swiper);\n const params = swiper.params.cubeEffect;\n const isHorizontal = swiper.isHorizontal();\n const isVirtual = swiper.virtual && swiper.params.virtual.enabled;\n let wrapperRotate = 0;\n let cubeShadowEl;\n if (params.shadow) {\n if (isHorizontal) {\n cubeShadowEl = swiper.wrapperEl.querySelector('.swiper-cube-shadow');\n if (!cubeShadowEl) {\n cubeShadowEl = createElement('div', 'swiper-cube-shadow');\n swiper.wrapperEl.append(cubeShadowEl);\n }\n cubeShadowEl.style.height = `${swiperWidth}px`;\n } else {\n cubeShadowEl = el.querySelector('.swiper-cube-shadow');\n if (!cubeShadowEl) {\n cubeShadowEl = createElement('div', 'swiper-cube-shadow');\n el.append(cubeShadowEl);\n }\n }\n }\n for (let i = 0; i < slides.length; i += 1) {\n const slideEl = slides[i];\n let slideIndex = i;\n if (isVirtual) {\n slideIndex = parseInt(slideEl.getAttribute('data-swiper-slide-index'), 10);\n }\n let slideAngle = slideIndex * 90;\n let round = Math.floor(slideAngle / 360);\n if (rtl) {\n slideAngle = -slideAngle;\n round = Math.floor(-slideAngle / 360);\n }\n const progress = Math.max(Math.min(slideEl.progress, 1), -1);\n let tx = 0;\n let ty = 0;\n let tz = 0;\n if (slideIndex % 4 === 0) {\n tx = -round * 4 * swiperSize;\n tz = 0;\n } else if ((slideIndex - 1) % 4 === 0) {\n tx = 0;\n tz = -round * 4 * swiperSize;\n } else if ((slideIndex - 2) % 4 === 0) {\n tx = swiperSize + round * 4 * swiperSize;\n tz = swiperSize;\n } else if ((slideIndex - 3) % 4 === 0) {\n tx = -swiperSize;\n tz = 3 * swiperSize + swiperSize * 4 * round;\n }\n if (rtl) {\n tx = -tx;\n }\n if (!isHorizontal) {\n ty = tx;\n tx = 0;\n }\n const transform = `rotateX(${r(isHorizontal ? 0 : -slideAngle)}deg) rotateY(${r(isHorizontal ? slideAngle : 0)}deg) translate3d(${tx}px, ${ty}px, ${tz}px)`;\n if (progress <= 1 && progress > -1) {\n wrapperRotate = slideIndex * 90 + progress * 90;\n if (rtl) wrapperRotate = -slideIndex * 90 - progress * 90;\n }\n slideEl.style.transform = transform;\n if (params.slideShadows) {\n createSlideShadows(slideEl, progress, isHorizontal);\n }\n }\n wrapperEl.style.transformOrigin = `50% 50% -${swiperSize / 2}px`;\n wrapperEl.style['-webkit-transform-origin'] = `50% 50% -${swiperSize / 2}px`;\n if (params.shadow) {\n if (isHorizontal) {\n cubeShadowEl.style.transform = `translate3d(0px, ${swiperWidth / 2 + params.shadowOffset}px, ${-swiperWidth / 2}px) rotateX(89.99deg) rotateZ(0deg) scale(${params.shadowScale})`;\n } else {\n const shadowAngle = Math.abs(wrapperRotate) - Math.floor(Math.abs(wrapperRotate) / 90) * 90;\n const multiplier = 1.5 - (Math.sin(shadowAngle * 2 * Math.PI / 360) / 2 + Math.cos(shadowAngle * 2 * Math.PI / 360) / 2);\n const scale1 = params.shadowScale;\n const scale2 = params.shadowScale / multiplier;\n const offset = params.shadowOffset;\n cubeShadowEl.style.transform = `scale3d(${scale1}, 1, ${scale2}) translate3d(0px, ${swiperHeight / 2 + offset}px, ${-swiperHeight / 2 / scale2}px) rotateX(-89.99deg)`;\n }\n }\n const zFactor = (browser.isSafari || browser.isWebView) && browser.needPerspectiveFix ? -swiperSize / 2 : 0;\n wrapperEl.style.transform = `translate3d(0px,0,${zFactor}px) rotateX(${r(swiper.isHorizontal() ? 0 : wrapperRotate)}deg) rotateY(${r(swiper.isHorizontal() ? -wrapperRotate : 0)}deg)`;\n wrapperEl.style.setProperty('--swiper-cube-translate-z', `${zFactor}px`);\n };\n const setTransition = duration => {\n const {\n el,\n slides\n } = swiper;\n slides.forEach(slideEl => {\n slideEl.style.transitionDuration = `${duration}ms`;\n slideEl.querySelectorAll('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left').forEach(subEl => {\n subEl.style.transitionDuration = `${duration}ms`;\n });\n });\n if (swiper.params.cubeEffect.shadow && !swiper.isHorizontal()) {\n const shadowEl = el.querySelector('.swiper-cube-shadow');\n if (shadowEl) shadowEl.style.transitionDuration = `${duration}ms`;\n }\n };\n effectInit({\n effect: 'cube',\n swiper,\n on,\n setTranslate,\n setTransition,\n recreateShadows,\n getEffectParams: () => swiper.params.cubeEffect,\n perspective: () => true,\n overwriteParams: () => ({\n slidesPerView: 1,\n slidesPerGroup: 1,\n watchSlidesProgress: true,\n resistanceRatio: 0,\n spaceBetween: 0,\n centeredSlides: false,\n virtualTranslate: true\n })\n });\n}\n\nexport { EffectCube as default };\n","import { c as createShadow } from '../shared/create-shadow.mjs';\nimport { e as effectInit } from '../shared/effect-init.mjs';\nimport { e as effectTarget } from '../shared/effect-target.mjs';\nimport { e as effectVirtualTransitionEnd } from '../shared/effect-virtual-transition-end.mjs';\nimport { g as getSlideTransformEl, o as getRotateFix } from '../shared/utils.mjs';\n\nfunction EffectFlip(_ref) {\n let {\n swiper,\n extendParams,\n on\n } = _ref;\n extendParams({\n flipEffect: {\n slideShadows: true,\n limitRotation: true\n }\n });\n const createSlideShadows = (slideEl, progress) => {\n let shadowBefore = swiper.isHorizontal() ? slideEl.querySelector('.swiper-slide-shadow-left') : slideEl.querySelector('.swiper-slide-shadow-top');\n let shadowAfter = swiper.isHorizontal() ? slideEl.querySelector('.swiper-slide-shadow-right') : slideEl.querySelector('.swiper-slide-shadow-bottom');\n if (!shadowBefore) {\n shadowBefore = createShadow('flip', slideEl, swiper.isHorizontal() ? 'left' : 'top');\n }\n if (!shadowAfter) {\n shadowAfter = createShadow('flip', slideEl, swiper.isHorizontal() ? 'right' : 'bottom');\n }\n if (shadowBefore) shadowBefore.style.opacity = Math.max(-progress, 0);\n if (shadowAfter) shadowAfter.style.opacity = Math.max(progress, 0);\n };\n const recreateShadows = () => {\n // Set shadows\n swiper.params.flipEffect;\n swiper.slides.forEach(slideEl => {\n let progress = slideEl.progress;\n if (swiper.params.flipEffect.limitRotation) {\n progress = Math.max(Math.min(slideEl.progress, 1), -1);\n }\n createSlideShadows(slideEl, progress);\n });\n };\n const setTranslate = () => {\n const {\n slides,\n rtlTranslate: rtl\n } = swiper;\n const params = swiper.params.flipEffect;\n const rotateFix = getRotateFix(swiper);\n for (let i = 0; i < slides.length; i += 1) {\n const slideEl = slides[i];\n let progress = slideEl.progress;\n if (swiper.params.flipEffect.limitRotation) {\n progress = Math.max(Math.min(slideEl.progress, 1), -1);\n }\n const offset = slideEl.swiperSlideOffset;\n const rotate = -180 * progress;\n let rotateY = rotate;\n let rotateX = 0;\n let tx = swiper.params.cssMode ? -offset - swiper.translate : -offset;\n let ty = 0;\n if (!swiper.isHorizontal()) {\n ty = tx;\n tx = 0;\n rotateX = -rotateY;\n rotateY = 0;\n } else if (rtl) {\n rotateY = -rotateY;\n }\n slideEl.style.zIndex = -Math.abs(Math.round(progress)) + slides.length;\n if (params.slideShadows) {\n createSlideShadows(slideEl, progress);\n }\n const transform = `translate3d(${tx}px, ${ty}px, 0px) rotateX(${rotateFix(rotateX)}deg) rotateY(${rotateFix(rotateY)}deg)`;\n const targetEl = effectTarget(params, slideEl);\n targetEl.style.transform = transform;\n }\n };\n const setTransition = duration => {\n const transformElements = swiper.slides.map(slideEl => getSlideTransformEl(slideEl));\n transformElements.forEach(el => {\n el.style.transitionDuration = `${duration}ms`;\n el.querySelectorAll('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left').forEach(shadowEl => {\n shadowEl.style.transitionDuration = `${duration}ms`;\n });\n });\n effectVirtualTransitionEnd({\n swiper,\n duration,\n transformElements\n });\n };\n effectInit({\n effect: 'flip',\n swiper,\n on,\n setTranslate,\n setTransition,\n recreateShadows,\n getEffectParams: () => swiper.params.flipEffect,\n perspective: () => true,\n overwriteParams: () => ({\n slidesPerView: 1,\n slidesPerGroup: 1,\n watchSlidesProgress: true,\n spaceBetween: 0,\n virtualTranslate: !swiper.params.cssMode\n })\n });\n}\n\nexport { EffectFlip as default };\n","import { c as createShadow } from '../shared/create-shadow.mjs';\nimport { e as effectInit } from '../shared/effect-init.mjs';\nimport { e as effectTarget } from '../shared/effect-target.mjs';\nimport { g as getSlideTransformEl, o as getRotateFix } from '../shared/utils.mjs';\n\nfunction EffectCoverflow(_ref) {\n let {\n swiper,\n extendParams,\n on\n } = _ref;\n extendParams({\n coverflowEffect: {\n rotate: 50,\n stretch: 0,\n depth: 100,\n scale: 1,\n modifier: 1,\n slideShadows: true\n }\n });\n const setTranslate = () => {\n const {\n width: swiperWidth,\n height: swiperHeight,\n slides,\n slidesSizesGrid\n } = swiper;\n const params = swiper.params.coverflowEffect;\n const isHorizontal = swiper.isHorizontal();\n const transform = swiper.translate;\n const center = isHorizontal ? -transform + swiperWidth / 2 : -transform + swiperHeight / 2;\n const rotate = isHorizontal ? params.rotate : -params.rotate;\n const translate = params.depth;\n const r = getRotateFix(swiper);\n // Each slide offset from center\n for (let i = 0, length = slides.length; i < length; i += 1) {\n const slideEl = slides[i];\n const slideSize = slidesSizesGrid[i];\n const slideOffset = slideEl.swiperSlideOffset;\n const centerOffset = (center - slideOffset - slideSize / 2) / slideSize;\n const offsetMultiplier = typeof params.modifier === 'function' ? params.modifier(centerOffset) : centerOffset * params.modifier;\n let rotateY = isHorizontal ? rotate * offsetMultiplier : 0;\n let rotateX = isHorizontal ? 0 : rotate * offsetMultiplier;\n // var rotateZ = 0\n let translateZ = -translate * Math.abs(offsetMultiplier);\n let stretch = params.stretch;\n // Allow percentage to make a relative stretch for responsive sliders\n if (typeof stretch === 'string' && stretch.indexOf('%') !== -1) {\n stretch = parseFloat(params.stretch) / 100 * slideSize;\n }\n let translateY = isHorizontal ? 0 : stretch * offsetMultiplier;\n let translateX = isHorizontal ? stretch * offsetMultiplier : 0;\n let scale = 1 - (1 - params.scale) * Math.abs(offsetMultiplier);\n\n // Fix for ultra small values\n if (Math.abs(translateX) < 0.001) translateX = 0;\n if (Math.abs(translateY) < 0.001) translateY = 0;\n if (Math.abs(translateZ) < 0.001) translateZ = 0;\n if (Math.abs(rotateY) < 0.001) rotateY = 0;\n if (Math.abs(rotateX) < 0.001) rotateX = 0;\n if (Math.abs(scale) < 0.001) scale = 0;\n const slideTransform = `translate3d(${translateX}px,${translateY}px,${translateZ}px) rotateX(${r(rotateX)}deg) rotateY(${r(rotateY)}deg) scale(${scale})`;\n const targetEl = effectTarget(params, slideEl);\n targetEl.style.transform = slideTransform;\n slideEl.style.zIndex = -Math.abs(Math.round(offsetMultiplier)) + 1;\n if (params.slideShadows) {\n // Set shadows\n let shadowBeforeEl = isHorizontal ? slideEl.querySelector('.swiper-slide-shadow-left') : slideEl.querySelector('.swiper-slide-shadow-top');\n let shadowAfterEl = isHorizontal ? slideEl.querySelector('.swiper-slide-shadow-right') : slideEl.querySelector('.swiper-slide-shadow-bottom');\n if (!shadowBeforeEl) {\n shadowBeforeEl = createShadow('coverflow', slideEl, isHorizontal ? 'left' : 'top');\n }\n if (!shadowAfterEl) {\n shadowAfterEl = createShadow('coverflow', slideEl, isHorizontal ? 'right' : 'bottom');\n }\n if (shadowBeforeEl) shadowBeforeEl.style.opacity = offsetMultiplier > 0 ? offsetMultiplier : 0;\n if (shadowAfterEl) shadowAfterEl.style.opacity = -offsetMultiplier > 0 ? -offsetMultiplier : 0;\n }\n }\n };\n const setTransition = duration => {\n const transformElements = swiper.slides.map(slideEl => getSlideTransformEl(slideEl));\n transformElements.forEach(el => {\n el.style.transitionDuration = `${duration}ms`;\n el.querySelectorAll('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left').forEach(shadowEl => {\n shadowEl.style.transitionDuration = `${duration}ms`;\n });\n });\n };\n effectInit({\n effect: 'coverflow',\n swiper,\n on,\n setTranslate,\n setTransition,\n perspective: () => true,\n overwriteParams: () => ({\n watchSlidesProgress: true\n })\n });\n}\n\nexport { EffectCoverflow as default };\n","import { c as createShadow } from '../shared/create-shadow.mjs';\nimport { e as effectInit } from '../shared/effect-init.mjs';\nimport { e as effectTarget } from '../shared/effect-target.mjs';\nimport { e as effectVirtualTransitionEnd } from '../shared/effect-virtual-transition-end.mjs';\nimport { g as getSlideTransformEl, o as getRotateFix } from '../shared/utils.mjs';\n\nfunction EffectCreative(_ref) {\n let {\n swiper,\n extendParams,\n on\n } = _ref;\n extendParams({\n creativeEffect: {\n limitProgress: 1,\n shadowPerProgress: false,\n progressMultiplier: 1,\n perspective: true,\n prev: {\n translate: [0, 0, 0],\n rotate: [0, 0, 0],\n opacity: 1,\n scale: 1\n },\n next: {\n translate: [0, 0, 0],\n rotate: [0, 0, 0],\n opacity: 1,\n scale: 1\n }\n }\n });\n const getTranslateValue = value => {\n if (typeof value === 'string') return value;\n return `${value}px`;\n };\n const setTranslate = () => {\n const {\n slides,\n wrapperEl,\n slidesSizesGrid\n } = swiper;\n const params = swiper.params.creativeEffect;\n const {\n progressMultiplier: multiplier\n } = params;\n const isCenteredSlides = swiper.params.centeredSlides;\n const rotateFix = getRotateFix(swiper);\n if (isCenteredSlides) {\n const margin = slidesSizesGrid[0] / 2 - swiper.params.slidesOffsetBefore || 0;\n wrapperEl.style.transform = `translateX(calc(50% - ${margin}px))`;\n }\n for (let i = 0; i < slides.length; i += 1) {\n const slideEl = slides[i];\n const slideProgress = slideEl.progress;\n const progress = Math.min(Math.max(slideEl.progress, -params.limitProgress), params.limitProgress);\n let originalProgress = progress;\n if (!isCenteredSlides) {\n originalProgress = Math.min(Math.max(slideEl.originalProgress, -params.limitProgress), params.limitProgress);\n }\n const offset = slideEl.swiperSlideOffset;\n const t = [swiper.params.cssMode ? -offset - swiper.translate : -offset, 0, 0];\n const r = [0, 0, 0];\n let custom = false;\n if (!swiper.isHorizontal()) {\n t[1] = t[0];\n t[0] = 0;\n }\n let data = {\n translate: [0, 0, 0],\n rotate: [0, 0, 0],\n scale: 1,\n opacity: 1\n };\n if (progress < 0) {\n data = params.next;\n custom = true;\n } else if (progress > 0) {\n data = params.prev;\n custom = true;\n }\n // set translate\n t.forEach((value, index) => {\n t[index] = `calc(${value}px + (${getTranslateValue(data.translate[index])} * ${Math.abs(progress * multiplier)}))`;\n });\n // set rotates\n r.forEach((value, index) => {\n let val = data.rotate[index] * Math.abs(progress * multiplier);\n r[index] = val;\n });\n slideEl.style.zIndex = -Math.abs(Math.round(slideProgress)) + slides.length;\n const translateString = t.join(', ');\n const rotateString = `rotateX(${rotateFix(r[0])}deg) rotateY(${rotateFix(r[1])}deg) rotateZ(${rotateFix(r[2])}deg)`;\n const scaleString = originalProgress < 0 ? `scale(${1 + (1 - data.scale) * originalProgress * multiplier})` : `scale(${1 - (1 - data.scale) * originalProgress * multiplier})`;\n const opacityString = originalProgress < 0 ? 1 + (1 - data.opacity) * originalProgress * multiplier : 1 - (1 - data.opacity) * originalProgress * multiplier;\n const transform = `translate3d(${translateString}) ${rotateString} ${scaleString}`;\n\n // Set shadows\n if (custom && data.shadow || !custom) {\n let shadowEl = slideEl.querySelector('.swiper-slide-shadow');\n if (!shadowEl && data.shadow) {\n shadowEl = createShadow('creative', slideEl);\n }\n if (shadowEl) {\n const shadowOpacity = params.shadowPerProgress ? progress * (1 / params.limitProgress) : progress;\n shadowEl.style.opacity = Math.min(Math.max(Math.abs(shadowOpacity), 0), 1);\n }\n }\n const targetEl = effectTarget(params, slideEl);\n targetEl.style.transform = transform;\n targetEl.style.opacity = opacityString;\n if (data.origin) {\n targetEl.style.transformOrigin = data.origin;\n }\n }\n };\n const setTransition = duration => {\n const transformElements = swiper.slides.map(slideEl => getSlideTransformEl(slideEl));\n transformElements.forEach(el => {\n el.style.transitionDuration = `${duration}ms`;\n el.querySelectorAll('.swiper-slide-shadow').forEach(shadowEl => {\n shadowEl.style.transitionDuration = `${duration}ms`;\n });\n });\n effectVirtualTransitionEnd({\n swiper,\n duration,\n transformElements,\n allSlides: true\n });\n };\n effectInit({\n effect: 'creative',\n swiper,\n on,\n setTranslate,\n setTransition,\n perspective: () => swiper.params.creativeEffect.perspective,\n overwriteParams: () => ({\n watchSlidesProgress: true,\n virtualTranslate: !swiper.params.cssMode\n })\n });\n}\n\nexport { EffectCreative as default };\n","import { c as createShadow } from '../shared/create-shadow.mjs';\nimport { e as effectInit } from '../shared/effect-init.mjs';\nimport { e as effectTarget } from '../shared/effect-target.mjs';\nimport { e as effectVirtualTransitionEnd } from '../shared/effect-virtual-transition-end.mjs';\nimport { g as getSlideTransformEl } from '../shared/utils.mjs';\n\nfunction EffectCards(_ref) {\n let {\n swiper,\n extendParams,\n on\n } = _ref;\n extendParams({\n cardsEffect: {\n slideShadows: true,\n rotate: true,\n perSlideRotate: 2,\n perSlideOffset: 8\n }\n });\n const setTranslate = () => {\n const {\n slides,\n activeIndex,\n rtlTranslate: rtl\n } = swiper;\n const params = swiper.params.cardsEffect;\n const {\n startTranslate,\n isTouched\n } = swiper.touchEventsData;\n const currentTranslate = rtl ? -swiper.translate : swiper.translate;\n for (let i = 0; i < slides.length; i += 1) {\n const slideEl = slides[i];\n const slideProgress = slideEl.progress;\n const progress = Math.min(Math.max(slideProgress, -4), 4);\n let offset = slideEl.swiperSlideOffset;\n if (swiper.params.centeredSlides && !swiper.params.cssMode) {\n swiper.wrapperEl.style.transform = `translateX(${swiper.minTranslate()}px)`;\n }\n if (swiper.params.centeredSlides && swiper.params.cssMode) {\n offset -= slides[0].swiperSlideOffset;\n }\n let tX = swiper.params.cssMode ? -offset - swiper.translate : -offset;\n let tY = 0;\n const tZ = -100 * Math.abs(progress);\n let scale = 1;\n let rotate = -params.perSlideRotate * progress;\n let tXAdd = params.perSlideOffset - Math.abs(progress) * 0.75;\n const slideIndex = swiper.virtual && swiper.params.virtual.enabled ? swiper.virtual.from + i : i;\n const isSwipeToNext = (slideIndex === activeIndex || slideIndex === activeIndex - 1) && progress > 0 && progress < 1 && (isTouched || swiper.params.cssMode) && currentTranslate < startTranslate;\n const isSwipeToPrev = (slideIndex === activeIndex || slideIndex === activeIndex + 1) && progress < 0 && progress > -1 && (isTouched || swiper.params.cssMode) && currentTranslate > startTranslate;\n if (isSwipeToNext || isSwipeToPrev) {\n const subProgress = (1 - Math.abs((Math.abs(progress) - 0.5) / 0.5)) ** 0.5;\n rotate += -28 * progress * subProgress;\n scale += -0.5 * subProgress;\n tXAdd += 96 * subProgress;\n tY = `${-25 * subProgress * Math.abs(progress)}%`;\n }\n if (progress < 0) {\n // next\n tX = `calc(${tX}px ${rtl ? '-' : '+'} (${tXAdd * Math.abs(progress)}%))`;\n } else if (progress > 0) {\n // prev\n tX = `calc(${tX}px ${rtl ? '-' : '+'} (-${tXAdd * Math.abs(progress)}%))`;\n } else {\n tX = `${tX}px`;\n }\n if (!swiper.isHorizontal()) {\n const prevY = tY;\n tY = tX;\n tX = prevY;\n }\n const scaleString = progress < 0 ? `${1 + (1 - scale) * progress}` : `${1 - (1 - scale) * progress}`;\n\n /* eslint-disable */\n const transform = `\n translate3d(${tX}, ${tY}, ${tZ}px)\n rotateZ(${params.rotate ? rtl ? -rotate : rotate : 0}deg)\n scale(${scaleString})\n `;\n /* eslint-enable */\n\n if (params.slideShadows) {\n // Set shadows\n let shadowEl = slideEl.querySelector('.swiper-slide-shadow');\n if (!shadowEl) {\n shadowEl = createShadow('cards', slideEl);\n }\n if (shadowEl) shadowEl.style.opacity = Math.min(Math.max((Math.abs(progress) - 0.5) / 0.5, 0), 1);\n }\n slideEl.style.zIndex = -Math.abs(Math.round(slideProgress)) + slides.length;\n const targetEl = effectTarget(params, slideEl);\n targetEl.style.transform = transform;\n }\n };\n const setTransition = duration => {\n const transformElements = swiper.slides.map(slideEl => getSlideTransformEl(slideEl));\n transformElements.forEach(el => {\n el.style.transitionDuration = `${duration}ms`;\n el.querySelectorAll('.swiper-slide-shadow').forEach(shadowEl => {\n shadowEl.style.transitionDuration = `${duration}ms`;\n });\n });\n effectVirtualTransitionEnd({\n swiper,\n duration,\n transformElements\n });\n };\n effectInit({\n effect: 'cards',\n swiper,\n on,\n setTranslate,\n setTransition,\n perspective: () => true,\n overwriteParams: () => ({\n watchSlidesProgress: true,\n virtualTranslate: !swiper.params.cssMode\n })\n });\n}\n\nexport { EffectCards as default };\n","/* underscore in name -> watch for changes */\nconst paramsList = ['eventsPrefix', 'injectStyles', 'injectStylesUrls', 'modules', 'init', '_direction', 'oneWayMovement', 'swiperElementNodeName', 'touchEventsTarget', 'initialSlide', '_speed', 'cssMode', 'updateOnWindowResize', 'resizeObserver', 'nested', 'focusableElements', '_enabled', '_width', '_height', 'preventInteractionOnTransition', 'userAgent', 'url', '_edgeSwipeDetection', '_edgeSwipeThreshold', '_freeMode', '_autoHeight', 'setWrapperSize', 'virtualTranslate', '_effect', 'breakpoints', 'breakpointsBase', '_spaceBetween', '_slidesPerView', 'maxBackfaceHiddenSlides', '_grid', '_slidesPerGroup', '_slidesPerGroupSkip', '_slidesPerGroupAuto', '_centeredSlides', '_centeredSlidesBounds', '_slidesOffsetBefore', '_slidesOffsetAfter', 'normalizeSlideIndex', '_centerInsufficientSlides', '_watchOverflow', 'roundLengths', 'touchRatio', 'touchAngle', 'simulateTouch', '_shortSwipes', '_longSwipes', 'longSwipesRatio', 'longSwipesMs', '_followFinger', 'allowTouchMove', '_threshold', 'touchMoveStopPropagation', 'touchStartPreventDefault', 'touchStartForcePreventDefault', 'touchReleaseOnEdges', 'uniqueNavElements', '_resistance', '_resistanceRatio', '_watchSlidesProgress', '_grabCursor', 'preventClicks', 'preventClicksPropagation', '_slideToClickedSlide', '_loop', 'loopAdditionalSlides', 'loopAddBlankSlides', 'loopPreventsSliding', '_rewind', '_allowSlidePrev', '_allowSlideNext', '_swipeHandler', '_noSwiping', 'noSwipingClass', 'noSwipingSelector', 'passiveListeners', 'containerModifierClass', 'slideClass', 'slideActiveClass', 'slideVisibleClass', 'slideFullyVisibleClass', 'slideNextClass', 'slidePrevClass', 'slideBlankClass', 'wrapperClass', 'lazyPreloaderClass', 'lazyPreloadPrevNext', 'runCallbacksOnInit', 'observer', 'observeParents', 'observeSlideChildren',\n// modules\n'a11y', '_autoplay', '_controller', 'coverflowEffect', 'cubeEffect', 'fadeEffect', 'flipEffect', 'creativeEffect', 'cardsEffect', 'hashNavigation', 'history', 'keyboard', 'mousewheel', '_navigation', '_pagination', 'parallax', '_scrollbar', '_thumbs', 'virtual', 'zoom', 'control'];\n\nfunction isObject(o) {\n return typeof o === 'object' && o !== null && o.constructor && Object.prototype.toString.call(o).slice(8, -1) === 'Object' && !o.__swiper__;\n}\nfunction extend(target, src) {\n const noExtend = ['__proto__', 'constructor', 'prototype'];\n Object.keys(src).filter(key => noExtend.indexOf(key) < 0).forEach(key => {\n if (typeof target[key] === 'undefined') target[key] = src[key];else if (isObject(src[key]) && isObject(target[key]) && Object.keys(src[key]).length > 0) {\n if (src[key].__swiper__) target[key] = src[key];else extend(target[key], src[key]);\n } else {\n target[key] = src[key];\n }\n });\n}\nfunction needsNavigation(params) {\n if (params === void 0) {\n params = {};\n }\n return params.navigation && typeof params.navigation.nextEl === 'undefined' && typeof params.navigation.prevEl === 'undefined';\n}\nfunction needsPagination(params) {\n if (params === void 0) {\n params = {};\n }\n return params.pagination && typeof params.pagination.el === 'undefined';\n}\nfunction needsScrollbar(params) {\n if (params === void 0) {\n params = {};\n }\n return params.scrollbar && typeof params.scrollbar.el === 'undefined';\n}\nfunction uniqueClasses(classNames) {\n if (classNames === void 0) {\n classNames = '';\n }\n const classes = classNames.split(' ').map(c => c.trim()).filter(c => !!c);\n const unique = [];\n classes.forEach(c => {\n if (unique.indexOf(c) < 0) unique.push(c);\n });\n return unique.join(' ');\n}\nfunction attrToProp(attrName) {\n if (attrName === void 0) {\n attrName = '';\n }\n return attrName.replace(/-[a-z]/g, l => l.toUpperCase().replace('-', ''));\n}\nfunction wrapperClass(className) {\n if (className === void 0) {\n className = '';\n }\n if (!className) return 'swiper-wrapper';\n if (!className.includes('swiper-wrapper')) return `swiper-wrapper ${className}`;\n return className;\n}\n\nfunction updateSwiper(_ref) {\n let {\n swiper,\n slides,\n passedParams,\n changedParams,\n nextEl,\n prevEl,\n scrollbarEl,\n paginationEl\n } = _ref;\n const updateParams = changedParams.filter(key => key !== 'children' && key !== 'direction' && key !== 'wrapperClass');\n const {\n params: currentParams,\n pagination,\n navigation,\n scrollbar,\n virtual,\n thumbs\n } = swiper;\n let needThumbsInit;\n let needControllerInit;\n let needPaginationInit;\n let needScrollbarInit;\n let needNavigationInit;\n let loopNeedDestroy;\n let loopNeedEnable;\n let loopNeedReloop;\n if (changedParams.includes('thumbs') && passedParams.thumbs && passedParams.thumbs.swiper && !passedParams.thumbs.swiper.destroyed && currentParams.thumbs && (!currentParams.thumbs.swiper || currentParams.thumbs.swiper.destroyed)) {\n needThumbsInit = true;\n }\n if (changedParams.includes('controller') && passedParams.controller && passedParams.controller.control && currentParams.controller && !currentParams.controller.control) {\n needControllerInit = true;\n }\n if (changedParams.includes('pagination') && passedParams.pagination && (passedParams.pagination.el || paginationEl) && (currentParams.pagination || currentParams.pagination === false) && pagination && !pagination.el) {\n needPaginationInit = true;\n }\n if (changedParams.includes('scrollbar') && passedParams.scrollbar && (passedParams.scrollbar.el || scrollbarEl) && (currentParams.scrollbar || currentParams.scrollbar === false) && scrollbar && !scrollbar.el) {\n needScrollbarInit = true;\n }\n if (changedParams.includes('navigation') && passedParams.navigation && (passedParams.navigation.prevEl || prevEl) && (passedParams.navigation.nextEl || nextEl) && (currentParams.navigation || currentParams.navigation === false) && navigation && !navigation.prevEl && !navigation.nextEl) {\n needNavigationInit = true;\n }\n const destroyModule = mod => {\n if (!swiper[mod]) return;\n swiper[mod].destroy();\n if (mod === 'navigation') {\n if (swiper.isElement) {\n swiper[mod].prevEl.remove();\n swiper[mod].nextEl.remove();\n }\n currentParams[mod].prevEl = undefined;\n currentParams[mod].nextEl = undefined;\n swiper[mod].prevEl = undefined;\n swiper[mod].nextEl = undefined;\n } else {\n if (swiper.isElement) {\n swiper[mod].el.remove();\n }\n currentParams[mod].el = undefined;\n swiper[mod].el = undefined;\n }\n };\n if (changedParams.includes('loop') && swiper.isElement) {\n if (currentParams.loop && !passedParams.loop) {\n loopNeedDestroy = true;\n } else if (!currentParams.loop && passedParams.loop) {\n loopNeedEnable = true;\n } else {\n loopNeedReloop = true;\n }\n }\n updateParams.forEach(key => {\n if (isObject(currentParams[key]) && isObject(passedParams[key])) {\n Object.assign(currentParams[key], passedParams[key]);\n if ((key === 'navigation' || key === 'pagination' || key === 'scrollbar') && 'enabled' in passedParams[key] && !passedParams[key].enabled) {\n destroyModule(key);\n }\n } else {\n const newValue = passedParams[key];\n if ((newValue === true || newValue === false) && (key === 'navigation' || key === 'pagination' || key === 'scrollbar')) {\n if (newValue === false) {\n destroyModule(key);\n }\n } else {\n currentParams[key] = passedParams[key];\n }\n }\n });\n if (updateParams.includes('controller') && !needControllerInit && swiper.controller && swiper.controller.control && currentParams.controller && currentParams.controller.control) {\n swiper.controller.control = currentParams.controller.control;\n }\n if (changedParams.includes('children') && slides && virtual && currentParams.virtual.enabled) {\n virtual.slides = slides;\n virtual.update(true);\n } else if (changedParams.includes('virtual') && virtual && currentParams.virtual.enabled) {\n if (slides) virtual.slides = slides;\n virtual.update(true);\n }\n if (changedParams.includes('children') && slides && currentParams.loop) {\n loopNeedReloop = true;\n }\n if (needThumbsInit) {\n const initialized = thumbs.init();\n if (initialized) thumbs.update(true);\n }\n if (needControllerInit) {\n swiper.controller.control = currentParams.controller.control;\n }\n if (needPaginationInit) {\n if (swiper.isElement && (!paginationEl || typeof paginationEl === 'string')) {\n paginationEl = document.createElement('div');\n paginationEl.classList.add('swiper-pagination');\n paginationEl.part.add('pagination');\n swiper.el.appendChild(paginationEl);\n }\n if (paginationEl) currentParams.pagination.el = paginationEl;\n pagination.init();\n pagination.render();\n pagination.update();\n }\n if (needScrollbarInit) {\n if (swiper.isElement && (!scrollbarEl || typeof scrollbarEl === 'string')) {\n scrollbarEl = document.createElement('div');\n scrollbarEl.classList.add('swiper-scrollbar');\n scrollbarEl.part.add('scrollbar');\n swiper.el.appendChild(scrollbarEl);\n }\n if (scrollbarEl) currentParams.scrollbar.el = scrollbarEl;\n scrollbar.init();\n scrollbar.updateSize();\n scrollbar.setTranslate();\n }\n if (needNavigationInit) {\n if (swiper.isElement) {\n if (!nextEl || typeof nextEl === 'string') {\n nextEl = document.createElement('div');\n nextEl.classList.add('swiper-button-next');\n nextEl.innerHTML = swiper.hostEl.constructor.nextButtonSvg;\n nextEl.part.add('button-next');\n swiper.el.appendChild(nextEl);\n }\n if (!prevEl || typeof prevEl === 'string') {\n prevEl = document.createElement('div');\n prevEl.classList.add('swiper-button-prev');\n prevEl.innerHTML = swiper.hostEl.constructor.prevButtonSvg;\n prevEl.part.add('button-prev');\n swiper.el.appendChild(prevEl);\n }\n }\n if (nextEl) currentParams.navigation.nextEl = nextEl;\n if (prevEl) currentParams.navigation.prevEl = prevEl;\n navigation.init();\n navigation.update();\n }\n if (changedParams.includes('allowSlideNext')) {\n swiper.allowSlideNext = passedParams.allowSlideNext;\n }\n if (changedParams.includes('allowSlidePrev')) {\n swiper.allowSlidePrev = passedParams.allowSlidePrev;\n }\n if (changedParams.includes('direction')) {\n swiper.changeDirection(passedParams.direction, false);\n }\n if (loopNeedDestroy || loopNeedReloop) {\n swiper.loopDestroy();\n }\n if (loopNeedEnable || loopNeedReloop) {\n swiper.loopCreate();\n }\n swiper.update();\n}\n\nexport { needsPagination as a, needsScrollbar as b, attrToProp as c, uniqueClasses as d, extend as e, isObject as i, needsNavigation as n, paramsList as p, updateSwiper as u, wrapperClass as w };\n","import { e as extend, i as isObject, c as attrToProp, p as paramsList } from './update-swiper.mjs';\nimport { d as defaults } from './swiper-core.mjs';\n\nconst formatValue = val => {\n if (parseFloat(val) === Number(val)) return Number(val);\n if (val === 'true') return true;\n if (val === '') return true;\n if (val === 'false') return false;\n if (val === 'null') return null;\n if (val === 'undefined') return undefined;\n if (typeof val === 'string' && val.includes('{') && val.includes('}') && val.includes('\"')) {\n let v;\n try {\n v = JSON.parse(val);\n } catch (err) {\n v = val;\n }\n return v;\n }\n return val;\n};\nconst modulesParamsList = ['a11y', 'autoplay', 'controller', 'cards-effect', 'coverflow-effect', 'creative-effect', 'cube-effect', 'fade-effect', 'flip-effect', 'free-mode', 'grid', 'hash-navigation', 'history', 'keyboard', 'mousewheel', 'navigation', 'pagination', 'parallax', 'scrollbar', 'thumbs', 'virtual', 'zoom'];\nfunction getParams(element, propName, propValue) {\n const params = {};\n const passedParams = {};\n extend(params, defaults);\n const localParamsList = [...paramsList, 'on'];\n const allowedParams = localParamsList.map(key => key.replace(/_/, ''));\n\n // First check props\n localParamsList.forEach(paramName => {\n paramName = paramName.replace('_', '');\n if (typeof element[paramName] !== 'undefined') {\n passedParams[paramName] = element[paramName];\n }\n });\n\n // Attributes\n const attrsList = [...element.attributes];\n if (typeof propName === 'string' && typeof propValue !== 'undefined') {\n attrsList.push({\n name: propName,\n value: isObject(propValue) ? {\n ...propValue\n } : propValue\n });\n }\n attrsList.forEach(attr => {\n const moduleParam = modulesParamsList.find(mParam => attr.name.startsWith(`${mParam}-`));\n if (moduleParam) {\n const parentObjName = attrToProp(moduleParam);\n const subObjName = attrToProp(attr.name.split(`${moduleParam}-`)[1]);\n if (typeof passedParams[parentObjName] === 'undefined') passedParams[parentObjName] = {};\n if (passedParams[parentObjName] === true) {\n passedParams[parentObjName] = {\n enabled: true\n };\n }\n passedParams[parentObjName][subObjName] = formatValue(attr.value);\n } else {\n const name = attrToProp(attr.name);\n if (!allowedParams.includes(name)) return;\n const value = formatValue(attr.value);\n if (passedParams[name] && modulesParamsList.includes(attr.name) && !isObject(value)) {\n if (passedParams[name].constructor !== Object) {\n passedParams[name] = {};\n }\n passedParams[name].enabled = !!value;\n } else {\n passedParams[name] = value;\n }\n }\n });\n extend(params, passedParams);\n if (params.navigation) {\n params.navigation = {\n prevEl: '.swiper-button-prev',\n nextEl: '.swiper-button-next',\n ...(params.navigation !== true ? params.navigation : {})\n };\n } else if (params.navigation === false) {\n delete params.navigation;\n }\n if (params.scrollbar) {\n params.scrollbar = {\n el: '.swiper-scrollbar',\n ...(params.scrollbar !== true ? params.scrollbar : {})\n };\n } else if (params.scrollbar === false) {\n delete params.scrollbar;\n }\n if (params.pagination) {\n params.pagination = {\n el: '.swiper-pagination',\n ...(params.pagination !== true ? params.pagination : {})\n };\n } else if (params.pagination === false) {\n delete params.pagination;\n }\n return {\n params,\n passedParams\n };\n}\n\nexport { getParams as g };\n","/**\n * Swiper Custom Element 11.2.0\n * Most modern mobile touch slider and framework with hardware accelerated transitions\n * https://swiperjs.com\n *\n * Copyright 2014-2025 Vladimir Kharlampidi\n *\n * Released under the MIT License\n *\n * Released on: January 2, 2025\n */\n\nimport './swiper-bundle.mjs';\nimport { p as paramsList, n as needsNavigation, a as needsPagination, b as needsScrollbar, u as updateSwiper, c as attrToProp } from './shared/update-swiper.mjs';\nimport { g as getParams } from './shared/get-element-params.mjs';\nimport { S as Swiper } from './shared/swiper-core.mjs';\n\n/* eslint-disable spaced-comment */\n\nconst SwiperCSS = `:host{--swiper-theme-color:#007aff}:host{position:relative;display:block;margin-left:auto;margin-right:auto;z-index:1}.swiper{width:100%;height:100%;margin-left:auto;margin-right:auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1;display:block}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:transform;transition-timing-function:var(--swiper-wrapper-transition-timing-function,initial);box-sizing:content-box}.swiper-android ::slotted(swiper-slide),.swiper-ios ::slotted(swiper-slide),.swiper-wrapper{transform:translate3d(0px,0,0)}.swiper-horizontal{touch-action:pan-y}.swiper-vertical{touch-action:pan-x}::slotted(swiper-slide){flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform;display:block}::slotted(.swiper-slide-invisible-blank){visibility:hidden}.swiper-autoheight,.swiper-autoheight ::slotted(swiper-slide){height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden ::slotted(swiper-slide){transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d{perspective:1200px}.swiper-3d .swiper-cube-shadow,.swiper-3d ::slotted(swiper-slide){transform-style:preserve-3d}.swiper-css-mode>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-css-mode ::slotted(swiper-slide){scroll-snap-align:start start}.swiper-css-mode.swiper-horizontal>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-css-mode.swiper-vertical>.swiper-wrapper{scroll-snap-type:y mandatory}.swiper-css-mode.swiper-free-mode>.swiper-wrapper{scroll-snap-type:none}.swiper-css-mode.swiper-free-mode ::slotted(swiper-slide){scroll-snap-align:none}.swiper-css-mode.swiper-centered>.swiper-wrapper::before{content:'';flex-shrink:0;order:9999}.swiper-css-mode.swiper-centered ::slotted(swiper-slide){scroll-snap-align:center center;scroll-snap-stop:always}.swiper-css-mode.swiper-centered.swiper-horizontal ::slotted(swiper-slide):first-child{margin-inline-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper::before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}.swiper-css-mode.swiper-centered.swiper-vertical ::slotted(swiper-slide):first-child{margin-block-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper::before{width:100%;min-width:1px;height:var(--swiper-centered-offset-after)}.swiper-virtual ::slotted(swiper-slide){-webkit-backface-visibility:hidden;transform:translateZ(0)}.swiper-virtual.swiper-css-mode .swiper-wrapper::after{content:'';position:absolute;left:0;top:0;pointer-events:none}.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper::after{height:1px;width:var(--swiper-virtual-size)}.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper::after{width:1px;height:var(--swiper-virtual-size)}:host{--swiper-navigation-size:44px}.swiper-button-next,.swiper-button-prev{position:absolute;top:var(--swiper-navigation-top-offset,50%);width:calc(var(--swiper-navigation-size)/ 44 * 27);height:var(--swiper-navigation-size);margin-top:calc(0px - (var(--swiper-navigation-size)/ 2));z-index:10;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--swiper-navigation-color,var(--swiper-theme-color))}.swiper-button-next.swiper-button-disabled,.swiper-button-prev.swiper-button-disabled{opacity:.35;cursor:auto;pointer-events:none}.swiper-button-next.swiper-button-hidden,.swiper-button-prev.swiper-button-hidden{opacity:0;cursor:auto;pointer-events:none}.swiper-navigation-disabled .swiper-button-next,.swiper-navigation-disabled .swiper-button-prev{display:none!important}.swiper-button-next svg,.swiper-button-prev svg{width:100%;height:100%;object-fit:contain;transform-origin:center}.swiper-rtl .swiper-button-next svg,.swiper-rtl .swiper-button-prev svg{transform:rotate(180deg)}.swiper-button-prev,.swiper-rtl .swiper-button-next{left:var(--swiper-navigation-sides-offset,10px);right:auto}.swiper-button-next,.swiper-rtl .swiper-button-prev{right:var(--swiper-navigation-sides-offset,10px);left:auto}.swiper-button-lock{display:none}.swiper-pagination{position:absolute;text-align:center;transition:.3s opacity;transform:translate3d(0,0,0);z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-pagination-disabled>.swiper-pagination,.swiper-pagination.swiper-pagination-disabled{display:none!important}.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal,.swiper-pagination-custom,.swiper-pagination-fraction{bottom:var(--swiper-pagination-bottom,8px);top:var(--swiper-pagination-top,auto);left:0;width:100%}.swiper-pagination-bullets-dynamic{overflow:hidden;font-size:0}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transform:scale(.33);position:relative}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev{transform:scale(.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next{transform:scale(.33)}.swiper-pagination-bullet{width:var(--swiper-pagination-bullet-width,var(--swiper-pagination-bullet-size,8px));height:var(--swiper-pagination-bullet-height,var(--swiper-pagination-bullet-size,8px));display:inline-block;border-radius:var(--swiper-pagination-bullet-border-radius,50%);background:var(--swiper-pagination-bullet-inactive-color,#000);opacity:var(--swiper-pagination-bullet-inactive-opacity, .2)}button.swiper-pagination-bullet{border:none;margin:0;padding:0;box-shadow:none;-webkit-appearance:none;appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-bullet:only-child{display:none!important}.swiper-pagination-bullet-active{opacity:var(--swiper-pagination-bullet-opacity, 1);background:var(--swiper-pagination-color,var(--swiper-theme-color))}.swiper-pagination-vertical.swiper-pagination-bullets,.swiper-vertical>.swiper-pagination-bullets{right:var(--swiper-pagination-right,8px);left:var(--swiper-pagination-left,auto);top:50%;transform:translate3d(0px,-50%,0)}.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets .swiper-pagination-bullet{margin:var(--swiper-pagination-bullet-vertical-gap,6px) 0;display:block}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{top:50%;transform:translateY(-50%);width:8px}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{display:inline-block;transition:.2s transform,.2s top}.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet{margin:0 var(--swiper-pagination-bullet-horizontal-gap,4px)}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{left:50%;transform:translateX(-50%);white-space:nowrap}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s left}.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s right}.swiper-pagination-fraction{color:var(--swiper-pagination-fraction-color,inherit)}.swiper-pagination-progressbar{background:var(--swiper-pagination-progressbar-bg-color,rgba(0,0,0,.25));position:absolute}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:var(--swiper-pagination-color,var(--swiper-theme-color));position:absolute;left:0;top:0;width:100%;height:100%;transform:scale(0);transform-origin:left top}.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{transform-origin:right top}.swiper-horizontal>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-horizontal,.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite{width:100%;height:var(--swiper-pagination-progressbar-size,4px);left:0;top:0}.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-vertical,.swiper-vertical>.swiper-pagination-progressbar{width:var(--swiper-pagination-progressbar-size,4px);height:100%;left:0;top:0}.swiper-pagination-lock{display:none}.swiper-scrollbar{border-radius:var(--swiper-scrollbar-border-radius,10px);position:relative;touch-action:none;background:var(--swiper-scrollbar-bg-color,rgba(0,0,0,.1))}.swiper-scrollbar-disabled>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-disabled{display:none!important}.swiper-horizontal>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-horizontal{position:absolute;left:var(--swiper-scrollbar-sides-offset,1%);bottom:var(--swiper-scrollbar-bottom,4px);top:var(--swiper-scrollbar-top,auto);z-index:50;height:var(--swiper-scrollbar-size,4px);width:calc(100% - 2 * var(--swiper-scrollbar-sides-offset,1%))}.swiper-scrollbar.swiper-scrollbar-vertical,.swiper-vertical>.swiper-scrollbar{position:absolute;left:var(--swiper-scrollbar-left,auto);right:var(--swiper-scrollbar-right,4px);top:var(--swiper-scrollbar-sides-offset,1%);z-index:50;width:var(--swiper-scrollbar-size,4px);height:calc(100% - 2 * var(--swiper-scrollbar-sides-offset,1%))}.swiper-scrollbar-drag{height:100%;width:100%;position:relative;background:var(--swiper-scrollbar-drag-bg-color,rgba(0,0,0,.5));border-radius:var(--swiper-scrollbar-border-radius,10px);left:0;top:0}.swiper-scrollbar-cursor-drag{cursor:move}.swiper-scrollbar-lock{display:none}::slotted(.swiper-slide-zoomed){cursor:move;touch-action:none}.swiper .swiper-notification{position:absolute;left:0;top:0;pointer-events:none;opacity:0;z-index:-1000}.swiper-free-mode>.swiper-wrapper{transition-timing-function:ease-out;margin:0 auto}.swiper-grid>.swiper-wrapper{flex-wrap:wrap}.swiper-grid-column>.swiper-wrapper{flex-wrap:wrap;flex-direction:column}.swiper-fade.swiper-free-mode ::slotted(swiper-slide){transition-timing-function:ease-out}.swiper-fade ::slotted(swiper-slide){pointer-events:none;transition-property:opacity}.swiper-fade ::slotted(swiper-slide) ::slotted(swiper-slide){pointer-events:none}.swiper-fade ::slotted(.swiper-slide-active){pointer-events:auto}.swiper-fade ::slotted(.swiper-slide-active) ::slotted(.swiper-slide-active){pointer-events:auto}.swiper.swiper-cube{overflow:visible}.swiper-cube ::slotted(swiper-slide){pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1;visibility:hidden;transform-origin:0 0;width:100%;height:100%}.swiper-cube ::slotted(swiper-slide) ::slotted(swiper-slide){pointer-events:none}.swiper-cube.swiper-rtl ::slotted(swiper-slide){transform-origin:100% 0}.swiper-cube ::slotted(.swiper-slide-active),.swiper-cube ::slotted(.swiper-slide-active) ::slotted(.swiper-slide-active){pointer-events:auto}.swiper-cube ::slotted(.swiper-slide-active),.swiper-cube ::slotted(.swiper-slide-next),.swiper-cube ::slotted(.swiper-slide-prev){pointer-events:auto;visibility:visible}.swiper-cube .swiper-cube-shadow{position:absolute;left:0;bottom:0px;width:100%;height:100%;opacity:.6;z-index:0}.swiper-cube .swiper-cube-shadow:before{content:'';background:#000;position:absolute;left:0;top:0;bottom:0;right:0;filter:blur(50px)}.swiper-cube ::slotted(.swiper-slide-next)+::slotted(swiper-slide){pointer-events:auto;visibility:visible}.swiper.swiper-flip{overflow:visible}.swiper-flip ::slotted(swiper-slide){pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1}.swiper-flip ::slotted(swiper-slide) ::slotted(swiper-slide){pointer-events:none}.swiper-flip ::slotted(.swiper-slide-active),.swiper-flip ::slotted(.swiper-slide-active) ::slotted(.swiper-slide-active){pointer-events:auto}.swiper-creative ::slotted(swiper-slide){-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden;transition-property:transform,opacity,height}.swiper.swiper-cards{overflow:visible}.swiper-cards ::slotted(swiper-slide){transform-origin:center bottom;-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden}`\nconst SwiperSlideCSS = `::slotted(.swiper-slide-shadow),::slotted(.swiper-slide-shadow-bottom),::slotted(.swiper-slide-shadow-left),::slotted(.swiper-slide-shadow-right),::slotted(.swiper-slide-shadow-top){position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}::slotted(.swiper-slide-shadow){background:rgba(0,0,0,.15)}::slotted(.swiper-slide-shadow-left){background-image:linear-gradient(to left,rgba(0,0,0,.5),rgba(0,0,0,0))}::slotted(.swiper-slide-shadow-right){background-image:linear-gradient(to right,rgba(0,0,0,.5),rgba(0,0,0,0))}::slotted(.swiper-slide-shadow-top){background-image:linear-gradient(to top,rgba(0,0,0,.5),rgba(0,0,0,0))}::slotted(.swiper-slide-shadow-bottom){background-image:linear-gradient(to bottom,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-lazy-preloader{animation:swiper-preloader-spin 1s infinite linear;width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;transform-origin:50%;box-sizing:border-box;border:4px solid var(--swiper-preloader-color,var(--swiper-theme-color));border-radius:50%;border-top-color:transparent}@keyframes swiper-preloader-spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}::slotted(.swiper-slide-shadow-cube.swiper-slide-shadow-bottom),::slotted(.swiper-slide-shadow-cube.swiper-slide-shadow-left),::slotted(.swiper-slide-shadow-cube.swiper-slide-shadow-right),::slotted(.swiper-slide-shadow-cube.swiper-slide-shadow-top){z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}::slotted(.swiper-slide-shadow-flip.swiper-slide-shadow-bottom),::slotted(.swiper-slide-shadow-flip.swiper-slide-shadow-left),::slotted(.swiper-slide-shadow-flip.swiper-slide-shadow-right),::slotted(.swiper-slide-shadow-flip.swiper-slide-shadow-top){z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}::slotted(.swiper-zoom-container){width:100%;height:100%;display:flex;justify-content:center;align-items:center;text-align:center}::slotted(.swiper-zoom-container)>canvas,::slotted(.swiper-zoom-container)>img,::slotted(.swiper-zoom-container)>svg{max-width:100%;max-height:100%;object-fit:contain}`\n\nclass DummyHTMLElement {}\nconst ClassToExtend = typeof window === 'undefined' || typeof HTMLElement === 'undefined' ? DummyHTMLElement : HTMLElement;\nconst arrowSvg = `\n `;\nconst addStyle = (shadowRoot, styles) => {\n if (typeof CSSStyleSheet !== 'undefined' && shadowRoot.adoptedStyleSheets) {\n const styleSheet = new CSSStyleSheet();\n styleSheet.replaceSync(styles);\n shadowRoot.adoptedStyleSheets = [styleSheet];\n } else {\n const style = document.createElement('style');\n style.rel = 'stylesheet';\n style.textContent = styles;\n shadowRoot.appendChild(style);\n }\n};\nclass SwiperContainer extends ClassToExtend {\n constructor() {\n super();\n this.attachShadow({\n mode: 'open'\n });\n }\n static get nextButtonSvg() {\n return arrowSvg;\n }\n static get prevButtonSvg() {\n return arrowSvg.replace('/>', ' transform-origin=\"center\" transform=\"rotate(180)\"/>');\n }\n cssStyles() {\n return [SwiperCSS,\n // eslint-disable-line\n ...(this.injectStyles && Array.isArray(this.injectStyles) ? this.injectStyles : [])].join('\\n');\n }\n cssLinks() {\n return this.injectStylesUrls || [];\n }\n calcSlideSlots() {\n const currentSideSlots = this.slideSlots || 0;\n // slide slots\n const slideSlotChildren = [...this.querySelectorAll(`[slot^=slide-]`)].map(child => {\n return parseInt(child.getAttribute('slot').split('slide-')[1], 10);\n });\n this.slideSlots = slideSlotChildren.length ? Math.max(...slideSlotChildren) + 1 : 0;\n if (!this.rendered) return;\n if (this.slideSlots > currentSideSlots) {\n for (let i = currentSideSlots; i < this.slideSlots; i += 1) {\n const slideEl = document.createElement('swiper-slide');\n slideEl.setAttribute('part', `slide slide-${i + 1}`);\n const slotEl = document.createElement('slot');\n slotEl.setAttribute('name', `slide-${i + 1}`);\n slideEl.appendChild(slotEl);\n this.shadowRoot.querySelector('.swiper-wrapper').appendChild(slideEl);\n }\n } else if (this.slideSlots < currentSideSlots) {\n const slides = this.swiper.slides;\n for (let i = slides.length - 1; i >= 0; i -= 1) {\n if (i > this.slideSlots) {\n slides[i].remove();\n }\n }\n }\n }\n render() {\n if (this.rendered) return;\n this.calcSlideSlots();\n\n // local styles\n let localStyles = this.cssStyles();\n if (this.slideSlots > 0) {\n localStyles = localStyles.replace(/::slotted\\(([a-z-0-9.]*)\\)/g, '$1');\n }\n if (localStyles.length) {\n addStyle(this.shadowRoot, localStyles);\n }\n this.cssLinks().forEach(url => {\n const linkExists = this.shadowRoot.querySelector(`link[href=\"${url}\"]`);\n if (linkExists) return;\n const linkEl = document.createElement('link');\n linkEl.rel = 'stylesheet';\n linkEl.href = url;\n this.shadowRoot.appendChild(linkEl);\n });\n // prettier-ignore\n const el = document.createElement('div');\n el.classList.add('swiper');\n el.part = 'container';\n\n // prettier-ignore\n el.innerHTML = `\n \n
\n \n ${Array.from({\n length: this.slideSlots\n }).map((_, index) => `\n \n \n \n `).join('')}\n
\n \n ${needsNavigation(this.passedParams) ? `\n
${this.constructor.prevButtonSvg}
\n
${this.constructor.nextButtonSvg}
\n ` : ''}\n ${needsPagination(this.passedParams) ? `\n
\n ` : ''}\n ${needsScrollbar(this.passedParams) ? `\n
\n ` : ''}\n `;\n this.shadowRoot.appendChild(el);\n this.rendered = true;\n }\n initialize() {\n var _this = this;\n if (this.initialized) return;\n this.initialized = true;\n const {\n params: swiperParams,\n passedParams\n } = getParams(this);\n this.swiperParams = swiperParams;\n this.passedParams = passedParams;\n delete this.swiperParams.init;\n this.render();\n\n // eslint-disable-next-line\n this.swiper = new Swiper(this.shadowRoot.querySelector('.swiper'), {\n ...(swiperParams.virtual ? {} : {\n observer: true\n }),\n ...swiperParams,\n touchEventsTarget: 'container',\n onAny: function (name) {\n if (name === 'observerUpdate') {\n _this.calcSlideSlots();\n }\n const eventName = swiperParams.eventsPrefix ? `${swiperParams.eventsPrefix}${name.toLowerCase()}` : name.toLowerCase();\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n const event = new CustomEvent(eventName, {\n detail: args,\n bubbles: name !== 'hashChange',\n cancelable: true\n });\n _this.dispatchEvent(event);\n }\n });\n }\n connectedCallback() {\n if (this.initialized && this.nested && this.closest('swiper-slide') && this.closest('swiper-slide').swiperLoopMoveDOM) {\n return;\n }\n if (this.init === false || this.getAttribute('init') === 'false') {\n return;\n }\n this.initialize();\n }\n disconnectedCallback() {\n if (this.nested && this.closest('swiper-slide') && this.closest('swiper-slide').swiperLoopMoveDOM) {\n return;\n }\n if (this.swiper && this.swiper.destroy) {\n this.swiper.destroy();\n }\n this.initialized = false;\n }\n updateSwiperOnPropChange(propName, propValue) {\n const {\n params: swiperParams,\n passedParams\n } = getParams(this, propName, propValue);\n this.passedParams = passedParams;\n this.swiperParams = swiperParams;\n if (this.swiper && this.swiper.params[propName] === propValue) {\n return;\n }\n updateSwiper({\n swiper: this.swiper,\n passedParams: this.passedParams,\n changedParams: [attrToProp(propName)],\n ...(propName === 'navigation' && passedParams[propName] ? {\n prevEl: '.swiper-button-prev',\n nextEl: '.swiper-button-next'\n } : {}),\n ...(propName === 'pagination' && passedParams[propName] ? {\n paginationEl: '.swiper-pagination'\n } : {}),\n ...(propName === 'scrollbar' && passedParams[propName] ? {\n scrollbarEl: '.swiper-scrollbar'\n } : {})\n });\n }\n attributeChangedCallback(attr, prevValue, newValue) {\n if (!this.initialized) return;\n if (prevValue === 'true' && newValue === null) {\n newValue = false;\n }\n this.updateSwiperOnPropChange(attr, newValue);\n }\n static get observedAttributes() {\n const attrs = paramsList.filter(param => param.includes('_')).map(param => param.replace(/[A-Z]/g, v => `-${v}`).replace('_', '').toLowerCase());\n return attrs;\n }\n}\nparamsList.forEach(paramName => {\n if (paramName === 'init') return;\n paramName = paramName.replace('_', '');\n Object.defineProperty(SwiperContainer.prototype, paramName, {\n configurable: true,\n get() {\n return (this.passedParams || {})[paramName];\n },\n set(value) {\n if (!this.passedParams) this.passedParams = {};\n this.passedParams[paramName] = value;\n if (!this.initialized) return;\n this.updateSwiperOnPropChange(paramName, value);\n }\n });\n});\nclass SwiperSlide extends ClassToExtend {\n constructor() {\n super();\n this.attachShadow({\n mode: 'open'\n });\n }\n render() {\n const lazy = this.lazy || this.getAttribute('lazy') === '' || this.getAttribute('lazy') === 'true';\n addStyle(this.shadowRoot, SwiperSlideCSS);\n this.shadowRoot.appendChild(document.createElement('slot'));\n if (lazy) {\n const lazyDiv = document.createElement('div');\n lazyDiv.classList.add('swiper-lazy-preloader');\n lazyDiv.part.add('preloader');\n this.shadowRoot.appendChild(lazyDiv);\n }\n }\n initialize() {\n this.render();\n }\n connectedCallback() {\n this.initialize();\n }\n}\n\n// eslint-disable-next-line\nconst register = () => {\n if (typeof window === 'undefined') return;\n if (!window.customElements.get('swiper-container')) window.customElements.define('swiper-container', SwiperContainer);\n if (!window.customElements.get('swiper-slide')) window.customElements.define('swiper-slide', SwiperSlide);\n};\nif (typeof window !== 'undefined') {\n window.SwiperElementRegisterParams = params => {\n paramsList.push(...params);\n };\n}\n\nexport { SwiperContainer, SwiperSlide, register };\n","import '../common/js/common';\r\nimport eventBus from '../common/js/event-bus/event-bus';\r\nimport { mediaQueries } from '../common/js/media-query/media-query';\r\nimport exchangeMarzs from '../common/components/exchange-marzs/exchange-marzs.vue';\r\nimport Vue from 'vue';\r\nimport store from '../common/js/vuex/store';\r\nimport announcementStore from '../common/components/announcement/announcement-vuex';\r\nimport announcement from '../common/components/announcement/announcement.vue';\r\nimport VisibilityContainer from '../common/components/visibility-container/visibility-container';\r\nimport mher from '../modules/MHER/mher.vue';\r\nimport i18n from '../common/js/lang/i18n';\r\nimport { useDirektIbCookieHandler } from '../common/js/composables/direkt-ib-cookie-handler';\r\nimport { usePersonalization } from '../common/js/composables/personalization';\r\nimport PortalVue from 'portal-vue';\r\n\r\nimport { register } from 'swiper/element/bundle';\r\nregister();\r\n\r\nVue.use(PortalVue);\r\nVue.component('exchange-marzs', exchangeMarzs);\r\nVue.component('visibility-container', VisibilityContainer);\r\nVue.component('mher', mher);\r\nif (!store.hasModule(['announcements'])) {\r\n\tstore.registerModule('announcements', announcementStore);\r\n}\r\nif (window.context?.announcements?.length) {\r\n\tstore.dispatch('announcements/getAnnouncements', window.context.announcements);\r\n\tVue.component('announcement', announcement);\r\n}\r\nexport default {\r\n\ti18n,\r\n\tmediaQueries,\r\n\tdata: {\r\n\t\tariaHide: false,\r\n\t\tmodalVisible: null,\r\n\t\tallowAnchor: true,\r\n\t\theroTitle: null\r\n\t},\r\n\tsetup() {\r\n\t\tconst { provideDirektEbValues } = useDirektIbCookieHandler();\r\n\t\tusePersonalization();\r\n\t\tprovideDirektEbValues();\r\n\t},\r\n\tstore,\r\n\tcomputed: {\r\n\t\tisMobile() {\r\n\t\t\treturn this.$resize && this.$mq.below(767);\r\n\t\t}\r\n\t},\r\n\tmethods: {\r\n\t\twaitForFonts() {\r\n\t\t\tif (location.hash) {\r\n\t\t\t\tlet wait = setInterval(() => {\r\n\t\t\t\t\tif (document.documentElement.classList.contains('wf-active')) {\r\n\t\t\t\t\t\tvar elId = location.hash.replace('#', '');\r\n\t\t\t\t\t\tvar scrollToEl = document.getElementById(elId) || document.querySelector(`a[name=\"${elId}]\"`);\r\n\t\t\t\t\t\tif (scrollToEl) {\r\n\t\t\t\t\t\t\tscrollToEl.scrollIntoView(true);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tclearInterval(wait);\r\n\t\t\t\t\t}\r\n\t\t\t\t}, 500);\r\n\t\t\t\tsetTimeout(() => {\r\n\t\t\t\t\tclearInterval(wait);\r\n\t\t\t\t}, 5000);\r\n\t\t\t}\r\n\t\t},\r\n\t\tinitVhk() {\r\n\t\t\t// Inicializalja az osszes VHK webkomponenst\r\n\t\t\tconst event = new CustomEvent('call-request-init');\r\n\t\t\twindow.dispatchEvent(event);\r\n\t\t}\r\n\t},\r\n\tmounted() {\r\n\t\tthis.$nextTick(() => {\r\n\t\t\tthis.allowAnchor && this.waitForFonts();\r\n\t\t});\r\n\t\teventBus.$on('toggleAriaHidden', (hide) => {\r\n\t\t\tthis.ariaHide = hide;\r\n\t\t});\r\n\t\teventBus.$on('openOrsi', (orsiFeature) => {\r\n\t\t\tif (window.ORSI) {\r\n\t\t\t\tswitch (orsiFeature) {\r\n\t\t\t\t\tcase 'chat':\r\n\t\t\t\t\t\twindow.ORSI.chat.openChat();\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase 'callrequest':\r\n\t\t\t\t\t\twindow.ORSI.callrequest.openCallrequest();\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase 'writetous':\r\n\t\t\t\t\t\twindow.ORSI.writetous.openWritetous();\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tdefault:\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\t\tdocument.addEventListener('tooltip-toggle', this.handleTooltipToggle);\r\n\t\tdocument.addEventListener('select-value-change', this.handleSelectValueChange);\r\n\t\tthis.initVhk();\r\n\t},\r\n\tcreated() {\r\n\t\teventBus.$on('heroTitleChange', (heroTitle) => {\r\n\t\t\tthis.heroTitle = heroTitle;\r\n\t\t});\r\n\t},\r\n\tbeforeDestroy() {\r\n\t\tdocument.removeEventListener('tooltip-toggle', this.handleTooltipToggle);\r\n\t\tdocument.removeEventListener('select-value-change', this.handleSelectValueChange);\r\n\t}\r\n};\r\n","import { VueAccordion, VueAccordionItem } from '@ui-common/vue-accordion';\r\nexport default {\r\n\tdata: () => ({\r\n\t\tisOpen: null\r\n\t}),\r\n\tprops: {\r\n\t\tautoScroll: {\r\n\t\t\tdefault: false\r\n\t\t},\r\n\t\topened: {\r\n\t\t\trequired: false\r\n\t\t},\r\n\t\tinverse: {\r\n\t\t\trequired: false\r\n\t\t}\r\n\t},\r\n\tcomponents: {\r\n\t\tVueAccordion,\r\n\t\tVueAccordionItem\r\n\t},\r\n\tmounted() {\r\n\t\tthis.isOpen = this.opened;\r\n\t\tif (this.autoScroll) {\r\n\t\t\tthis.$scrollTo(this.$el);\r\n\t\t}\r\n\t}\r\n};\r\n","import Vue from 'vue';\r\nimport VueTouch from 'vue-touch';\r\nVue.use(VueTouch);\r\nexport default {\r\n\tdata() {\r\n\t\treturn {\r\n\t\t\tcurrentColumn: 0,\r\n\t\t\tcardWidth: null,\r\n\t\t\tdeviceWidth: null\r\n\t\t};\r\n\t},\r\n\tprops: {\r\n\t\tmodalId: {\r\n\t\t\trequired: false\r\n\t\t},\r\n\t\topenedTab: {\r\n\t\t\trequired: false\r\n\t\t}\r\n\t},\r\n\tcomputed: {\r\n\t\tisMobile() {\r\n\t\t\treturn this.$resize && this.$mq.below(767);\r\n\t\t},\r\n\t\tisTablet() {\r\n\t\t\treturn this.$resize && this.$mq.above(768) && this.$mq.below(959);\r\n\t\t},\r\n\t\tisDesktop() {\r\n\t\t\treturn this.$resize && this.$mq.above(960) && this.$mq.below(1279);\r\n\t\t},\r\n\t\tisLargeDesktop() {\r\n\t\t\treturn this.$resize && this.$mq.above(1280);\r\n\t\t}\r\n\t}\r\n};\r\n","import videoPreview from 'common/components/video-preview/video-preview.vue';\r\n\r\nexport default {\r\n\tcomponents: {\r\n\t\tvideoPreview\r\n\t}\r\n};\r\n","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"vue-accordion\"] = factory();\n\telse\n\t\troot[\"vue-accordion\"] = factory();\n})((typeof self !== 'undefined' ? self : this), () => {\nreturn /******/ (() => { // webpackBootstrap\n/******/ \tvar __webpack_modules__ = ({\n\n/***/ 965:\n/***/ ((__unused_webpack_module, exports, __webpack_require__) => {\n\n\n/**\n * Module dependencies.\n */\n\nvar trim = __webpack_require__(130);\n\n/**\n * Parse the given query `str`.\n *\n * @param {String} str\n * @return {Object}\n * @api public\n */\n\nexports.parse = function(str){\n if ('string' != typeof str) return {};\n\n str = trim(str);\n if ('' == str) return {};\n\n var obj = {};\n var pairs = str.split('&');\n for (var i = 0; i < pairs.length; i++) {\n var parts = pairs[i].split('=');\n obj[parts[0]] = null == parts[1]\n ? ''\n : decodeURIComponent(parts[1]);\n }\n\n return obj;\n};\n\n/**\n * Stringify the given `obj`.\n *\n * @param {Object} obj\n * @return {String}\n * @api public\n */\n\nexports.stringify = function(obj){\n if (!obj) return '';\n var pairs = [];\n for (var key in obj) {\n pairs.push(encodeURIComponent(key) + '=' + encodeURIComponent(obj[key]));\n }\n return pairs.join('&');\n};\n\n\n/***/ }),\n\n/***/ 130:\n/***/ ((module, exports) => {\n\nexports = module.exports = trim;\n\nfunction trim(str){\n if (str.trim) return str.trim();\n return exports.right(exports.left(str));\n}\n\nexports.left = function(str){\n if (str.trimLeft) return str.trimLeft();\n\n return str.replace(/^\\s\\s*/, '');\n};\n\nexports.right = function(str){\n if (str.trimRight) return str.trimRight();\n\n var whitespace_pattern = /\\s/,\n i = str.length;\n while (whitespace_pattern.test(str.charAt(--i)));\n\n return str.slice(0, i + 1);\n};\n\n\n/***/ })\n\n/******/ \t});\n/************************************************************************/\n/******/ \t// The module cache\n/******/ \tvar __webpack_module_cache__ = {};\n/******/ \t\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/ \t\t// Check if module is in cache\n/******/ \t\tvar cachedModule = __webpack_module_cache__[moduleId];\n/******/ \t\tif (cachedModule !== undefined) {\n/******/ \t\t\treturn cachedModule.exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = __webpack_module_cache__[moduleId] = {\n/******/ \t\t\t// no module.id needed\n/******/ \t\t\t// no module.loaded needed\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/ \t\n/******/ \t\t// Execute the module function\n/******/ \t\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n/******/ \t\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/ \t\n/************************************************************************/\n/******/ \t/* webpack/runtime/define property getters */\n/******/ \t(() => {\n/******/ \t\t// define getter functions for harmony exports\n/******/ \t\t__webpack_require__.d = (exports, definition) => {\n/******/ \t\t\tfor(var key in definition) {\n/******/ \t\t\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n/******/ \t\t\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n/******/ \t\t\t\t}\n/******/ \t\t\t}\n/******/ \t\t};\n/******/ \t})();\n/******/ \t\n/******/ \t/* webpack/runtime/hasOwnProperty shorthand */\n/******/ \t(() => {\n/******/ \t\t__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))\n/******/ \t})();\n/******/ \t\n/******/ \t/* webpack/runtime/make namespace object */\n/******/ \t(() => {\n/******/ \t\t// define __esModule on exports\n/******/ \t\t__webpack_require__.r = (exports) => {\n/******/ \t\t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t\t}\n/******/ \t\t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t\t};\n/******/ \t})();\n/******/ \t\n/******/ \t/* webpack/runtime/publicPath */\n/******/ \t(() => {\n/******/ \t\t__webpack_require__.p = \"\";\n/******/ \t})();\n/******/ \t\n/************************************************************************/\nvar __webpack_exports__ = {};\n// This entry need to be wrapped in an IIFE because it need to be in strict mode.\n(() => {\n\"use strict\";\n// ESM COMPAT FLAG\n__webpack_require__.r(__webpack_exports__);\n\n// EXPORTS\n__webpack_require__.d(__webpack_exports__, {\n VueAccordion: () => (/* reexport */ VueAccordion),\n VueAccordionItem: () => (/* reexport */ VueAccordionItem)\n});\n\n;// CONCATENATED MODULE: ../../node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js\n/* eslint-disable no-var */\n// This file is imported into lib/wc client bundles.\n\nif (typeof window !== 'undefined') {\n var currentScript = window.document.currentScript\n if (false) { var getCurrentScript; }\n\n var src = currentScript && currentScript.src.match(/(.+\\/)[^/]+\\.js(\\?.*)?$/)\n if (src) {\n __webpack_require__.p = src[1] // eslint-disable-line\n }\n}\n\n// Indicate to webpack that this file can be concatenated\n/* harmony default export */ const setPublicPath = (null);\n\n;// CONCATENATED MODULE: ../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!../../node_modules/pug-plain-loader/index.js!../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/VueAccordion.vue?vue&type=template&id=759cd74a&lang=pug&\nvar render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"el-collapse\"},[_vm._t(\"default\")],2)\n}\nvar staticRenderFns = []\n\n\n// EXTERNAL MODULE: ../../node_modules/querystring-component/index.js\nvar querystring_component = __webpack_require__(965);\n;// CONCATENATED MODULE: ../../node_modules/mitt/dist/mitt.mjs\n/* harmony default export */ function mitt(n){return{all:n=n||new Map,on:function(t,e){var i=n.get(t);i?i.push(e):n.set(t,[e])},off:function(t,e){var i=n.get(t);i&&(e?i.splice(i.indexOf(e)>>>0,1):n.set(t,[]))},emit:function(t,e){var i=n.get(t);i&&i.slice().map(function(n){n(e)}),(i=n.get(\"*\"))&&i.slice().map(function(n){n(t,e)})}}}\n//# sourceMappingURL=mitt.mjs.map\n\n;// CONCATENATED MODULE: ../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/VueAccordion.vue?vue&type=script&lang=js&\n\n\n\n/* harmony default export */ const VueAccordionvue_type_script_lang_js_ = ({\n\tname: 'VueAccordion',\n\tdata() {\n\t\treturn {\n\t\t\tactiveNames: [].concat(this.value),\n\t\t\temitter: null\n\t\t};\n\t},\n\tprops: {\n\t\tariaControls: {\n\t\t\trequired: false\n\t\t},\n\t\tid: {\n\t\t\trequired: false,\n\t\t\ttype: String,\n\t\t\tdefault: 'accordion-module'\n\t\t},\n\t\taccordion: Boolean,\n\t\tvalue: {\n\t\t\ttype: [Array, String, Number],\n\t\t\tdefault() {\n\t\t\t\treturn [];\n\t\t\t}\n\t\t}\n\t},\n\n\tprovide() {\n\t\treturn {\n\t\t\tcollapse: this,\n\t\t\tgetEmitter: () => this.emitter\n\t\t};\n\t},\n\twatch: {\n\t\tvalue(value) {\n\t\t\tthis.activeNames = [].concat(value);\n\t\t}\n\t},\n\n\tmethods: {\n\t\tactiveAccordionItemByUrl() {\n\t\t\tconst params = querystring_component.parse(window.location.search.substring(1));\n\t\t\tconst accordionIndexParam = params[`${this.id}-index`];\n\t\t\tif (typeof accordionIndexParam != 'undefined') {\n\t\t\t\tthis.setActiveNames(accordionIndexParam);\n\t\t\t}\n\t\t},\n\t\tsetActiveNames(activeNames) {\n\t\t\tactiveNames = [].concat(activeNames);\n\t\t\tlet value = this.accordion ? activeNames[0] : activeNames;\n\t\t\tthis.activeNames = activeNames;\n\t\t\tthis.$emit('input', value);\n\t\t\tthis.$emit('change', value);\n\t\t},\n\t\thandleItemClick(item) {\n\t\t\tif (this.accordion) {\n\t\t\t\tthis.setActiveNames((this.activeNames[0] || this.activeNames[0] === 0) && this.activeNames[0] === item.name ? '' : item.name);\n\t\t\t} else {\n\t\t\t\tlet activeNames = this.activeNames.slice(0);\n\t\t\t\tlet index = activeNames.indexOf(item.computedName);\n\n\t\t\t\tif (index > -1) {\n\t\t\t\t\tactiveNames.splice(index, 1);\n\t\t\t\t} else {\n\t\t\t\t\tactiveNames.push(item.computedName);\n\t\t\t\t}\n\t\t\t\tthis.setActiveNames(activeNames);\n\t\t\t}\n\t\t}\n\t},\n\tcreated() {\n\t\tthis.emitter = mitt();\n\t\tthis.emitter.on('item-click', this.handleItemClick);\n\t\tthis.activeAccordionItemByUrl();\n\t}\n});\n\n;// CONCATENATED MODULE: ./src/components/VueAccordion.vue?vue&type=script&lang=js&\n /* harmony default export */ const components_VueAccordionvue_type_script_lang_js_ = (VueAccordionvue_type_script_lang_js_); \n;// CONCATENATED MODULE: ../../node_modules/@vue/cli-service/node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-59.use[0]!../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??clonedRuleSet-59.use[1]!../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!../../node_modules/@vue/cli-service/node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-59.use[2]!../../node_modules/sass-loader/dist/cjs.js??clonedRuleSet-59.use[3]!../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/VueAccordion.vue?vue&type=style&index=0&id=759cd74a&prod&lang=scss&\n// extracted by mini-css-extract-plugin\n\n;// CONCATENATED MODULE: ./src/components/VueAccordion.vue?vue&type=style&index=0&id=759cd74a&prod&lang=scss&\n\n;// CONCATENATED MODULE: ../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\n/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nfunction normalizeComponent(\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier /* server only */,\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options =\n typeof scriptExports === 'function' ? scriptExports.options : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) {\n // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () {\n injectStyles.call(\n this,\n (options.functional ? this.parent : this).$root.$options.shadowRoot\n )\n }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functional component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection(h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n\n;// CONCATENATED MODULE: ./src/components/VueAccordion.vue\n\n\n\n;\n\n\n/* normalize component */\n\nvar component = normalizeComponent(\n components_VueAccordionvue_type_script_lang_js_,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* harmony default export */ const VueAccordion = (component.exports);\n;// CONCATENATED MODULE: ../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!../../node_modules/pug-plain-loader/index.js!../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/VueAccordionItem.vue?vue&type=template&id=b4a14ae2&lang=pug&\nvar VueAccordionItemvue_type_template_id_b4a14ae2_lang_pug_render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{class:_vm.rootClass,attrs:{\"name\":_vm.ariaControls}},[_c('h' + _vm.headingLevel,{tag:\"component\",staticClass:\"sf-accordion__heading\",on:{\"click\":_vm.handleAccordionHeadingClick}},[_c('button',{staticClass:\"sf-accordion__btn\",attrs:{\"aria-controls\":_vm.ariaControls,\"aria-expanded\":_vm.isActive.toString(),\"id\":_vm.uuid}},[_vm._t(\"img\"),_vm._t(\"title\"),_vm._t(\"subtitle\"),_c('svg',{staticClass:\"sf-accordion__chevron\",attrs:{\"width\":\"24\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"xmlns\":\"http://www.w3.org/2000/svg\"}},[_c('path',{attrs:{\"d\":\"M4 9L12 17L20 9\",\"stroke\":\"#52AE30\",\"stroke-width\":\"2\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}})])],2)]),_c('transition',{attrs:{\"name\":\"sf-accordion__animation\"}},[(_vm.isActive)?_c('div',{staticClass:\"sf-accordion__content el-collapse-item-content\",attrs:{\"role\":\"region\",\"aria-hidden\":(!_vm.isActive).toString(),\"id\":_vm.ariaControls,\"aria-labelledby\":_vm.uuid}},[_vm._t(\"default\")],2):_vm._e()])],1)\n}\nvar VueAccordionItemvue_type_template_id_b4a14ae2_lang_pug_staticRenderFns = []\n\n\n;// CONCATENATED MODULE: ../../node_modules/@ui-common/sf-js-utils/dist/sf-js-utils.esm.js\nvar t=Object.freeze({__proto__:null,ADDRESS_CARD:\"^\\\\d{6}[a-zA-Z]{2}$\",ALL_PHONE:[\"^1\\\\s\\\\d{3}\\\\s\\\\d{4}$\",\"^[02-9]\\\\d\\\\s\\\\d{3}\\\\s\\\\d{3,4}$\",\"^(70|20|30|31)\\\\s\\\\d{3}\\\\s\\\\d{4}$\"],BANK_ACCOUNT_SIXTEEN_NUMBERS:\"^\\\\d{8}-\\\\d{8}$\",BANK_ACCOUNT_THIRTEEN_NUMBERS:\"^\\\\d{5}-\\\\d{8}$\",BANK_ACCOUNT_TWENTY_FOUR_NUMBERS:\"^\\\\d{8}-\\\\d{8}-\\\\d{8}$\",DATE_SEPARATORS:/[.,\\/ -]/,DEVIZA_BANK_ACCOUNT_NUMBER_PATTERN:\"^75\\\\d{3}-\\\\d{5}88\\\\d$\",FOREIGN_PHONE_REGEX:/^\\d{1,3}-\\d{1,10}$/,FOREIGN_ZIP_CODE:/^[\\da-zA-Z]{1,10}$/g,FULLNAME:\"^(.+[ ].+)$|^$\",HEX:/#[0-9a-fA-F]{6}/,IDENTITYS:{\"personal-id\":\"^\\\\d{6}[a-zA-Z]{2}$\",\"drivers-license\":\"^[a-zA-Z]{2}\\\\d{6}$\",passport:\"[a-zA-Z]{2}\\\\d{7}$\"},IOS:/ipad|iphone/i,LANDLINE_PHONES:[\"^1\\\\s\\\\d{3}\\\\s\\\\d{4}$\",\"^[02-9]\\\\d\\\\s\\\\d{3}\\\\s\\\\d{3,4}$\"],LAST_FOUR_DIGITS:/^\\d{4}$/,MOBILE_PHONE:\"^(70|20|30|31)\\\\s\\\\d{3}\\\\s\\\\d{4}$\",NAME:\"^[\\\\p{L}\\\\s\\\\.\\\\-\\\\']*$\",PENSIONER_NUMBER:\"^\\\\d{3}-\\\\d{5}-\\\\d{1}$\",TAX_NUMBER:\"^\\\\d{8}-\\\\d{1}-\\\\d{2}$\",YEAR:\"^\\\\d{4}$\",ZIP_CODE:\"^\\\\d{4}$\"});var e=Object.freeze({__proto__:null,HUNGARIAN_PHONE_NUMBER_PREFIX:\"+36\",OTP_BANK_ACCOUNT_NUMBER_PREFIX:\"117\"});var r=Object.freeze({__proto__:null,COOKIE_GDPR_LEVEL:\"gdpr_level\",GDPR_LEVELS:{LOW:1,MEDIUM:2,HIGH:3}});var d=Object.freeze({__proto__:null,BACKEND_DATE:\"YYYY-MM-DD\",DISPLAY_DATE:{hu:\"YYYY.MM.DD.\",en:\"MM/DD/YYYY\"},DISPLAY_TIME:{hu:\"HH:mm\",en:\"hh:mm A\"}});function i(){window.onkeydown=function(t){\"Space\"===t.code&&t.target==document.body&&t.preventDefault()}}function o(t){for(var e=0,r=0;t;){if(\"BODY\"==t.tagName){var d=t.scrollLeft||document.documentElement.scrollLeft,i=t.scrollTop||document.documentElement.scrollTop;e+=t.offsetLeft-d+t.clientLeft,r+=t.offsetTop-i+t.clientTop}else e+=t.offsetLeft-t.scrollLeft+t.clientLeft,r+=t.offsetTop-t.scrollTop+t.clientTop;t=t.offsetParent}return{x:e,y:r}}function s(t){let e=[],r=t.parentNode.firstChild;for(;r;)1===r.nodeType&&r!==t&&e.push(r),r=r.nextSibling;return e}function n(t,e,r){return r=r?parseInt(r,10):0,\"number\"==typeof e?t.slice(r,r+e):t}function p(t){return void 0!==t&&null!=t?Math.floor(t/12)+\" év\":\"\"}const u=767,_=959,h=1279;var a={data:()=>({viewportWidth:null}),methods:{setViewportWidth(){this.viewportWidth=window.innerWidth}},computed:{isMobile(){return this.viewportWidth<=u},isTablet(){return this.viewportWidth>u&&this.viewportWidth<_},isDesktop(){return this.viewportWidth>_&&this.viewportWidthh}},created(){window.addEventListener(\"resize\",this.setViewportWidth),this.setViewportWidth()},mounted(){this.setViewportWidth()},beforeDestroy(){window.removeEventListener(\"resize\",this.setViewportWidth)}},E=(t=8)=>{let e=\"\";const r=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789\";for(let d=0;d -1;\n\t\t},\n\t\trootClass() {\n\t\t\tlet rootClass = this.isActive ? 'sf-accordion sf-accordion--active el-collapse-item' : 'sf-accordion el-collapse-item';\n\t\t\trootClass += this.$slots.img ? ' sf-accordion--extended' : '';\n\t\t\trootClass += this.inverse ? ' sf-accordion--inverse' : '';\n\t\t\treturn rootClass;\n\t\t}\n\t},\n\tmethods: {\n\t\taddGtmEvent() {\n\t\t\tif (this.gtmEvent && this.isActive) {\n\t\t\t\tthis.$gtm.trackEvent({\n\t\t\t\t\tevent: this.gtmEvent\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\thandleAccordionHeadingClick(e) {\n\t\t\te.preventDefault();\n\t\t\tthis.handleHeaderClick();\n\t\t\tthis.addGtmEvent();\n\t\t},\n\t\thandleFocus() {\n\t\t\tsetTimeout(() => {\n\t\t\t\tif (!this.isClick) {\n\t\t\t\t\tthis.focusing = true;\n\t\t\t\t} else {\n\t\t\t\t\tthis.isClick = false;\n\t\t\t\t}\n\t\t\t}, 50);\n\t\t},\n\t\thandleHeaderClick() {\n\t\t\tthis.getEmitter().emit('item-click', this);\n\t\t\tthis.focusing = false;\n\t\t\tthis.isClick = true;\n\t\t},\n\t\thandleEnterClick() {\n\t\t\tthis.getEmitter().emit('item-click', this);\n\t\t}\n\t},\n\tcreated() {\n\t\tthis.computedName = this.name || this.uuid;\n\t}\n});\n\n;// CONCATENATED MODULE: ./src/components/VueAccordionItem.vue?vue&type=script&lang=js&\n /* harmony default export */ const components_VueAccordionItemvue_type_script_lang_js_ = (VueAccordionItemvue_type_script_lang_js_); \n;// CONCATENATED MODULE: ../../node_modules/@vue/cli-service/node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-59.use[0]!../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??clonedRuleSet-59.use[1]!../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!../../node_modules/@vue/cli-service/node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-59.use[2]!../../node_modules/sass-loader/dist/cjs.js??clonedRuleSet-59.use[3]!../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/VueAccordionItem.vue?vue&type=style&index=0&id=b4a14ae2&prod&lang=scss&\n// extracted by mini-css-extract-plugin\n\n;// CONCATENATED MODULE: ./src/components/VueAccordionItem.vue?vue&type=style&index=0&id=b4a14ae2&prod&lang=scss&\n\n;// CONCATENATED MODULE: ./src/components/VueAccordionItem.vue\n\n\n\n;\n\n\n/* normalize component */\n\nvar VueAccordionItem_component = normalizeComponent(\n components_VueAccordionItemvue_type_script_lang_js_,\n VueAccordionItemvue_type_template_id_b4a14ae2_lang_pug_render,\n VueAccordionItemvue_type_template_id_b4a14ae2_lang_pug_staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* harmony default export */ const VueAccordionItem = (VueAccordionItem_component.exports);\n;// CONCATENATED MODULE: ./src/components-export.js\n\n\n\n\n\n;// CONCATENATED MODULE: ../../node_modules/@vue/cli-service/lib/commands/build/entry-lib-no-default.js\n\n\n\n})();\n\n/******/ \treturn __webpack_exports__;\n/******/ })()\n;\n});\n//# sourceMappingURL=vue-accordion.umd.js.map","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"vue-call-request-modal-glue\"] = factory();\n\telse\n\t\troot[\"vue-call-request-modal-glue\"] = factory();\n})((typeof self !== 'undefined' ? self : this), () => {\nreturn /******/ (() => { // webpackBootstrap\n/******/ \t\"use strict\";\n/******/ \t// The require scope\n/******/ \tvar __webpack_require__ = {};\n/******/ \t\n/************************************************************************/\n/******/ \t/* webpack/runtime/define property getters */\n/******/ \t(() => {\n/******/ \t\t// define getter functions for harmony exports\n/******/ \t\t__webpack_require__.d = (exports, definition) => {\n/******/ \t\t\tfor(var key in definition) {\n/******/ \t\t\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n/******/ \t\t\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n/******/ \t\t\t\t}\n/******/ \t\t\t}\n/******/ \t\t};\n/******/ \t})();\n/******/ \t\n/******/ \t/* webpack/runtime/hasOwnProperty shorthand */\n/******/ \t(() => {\n/******/ \t\t__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))\n/******/ \t})();\n/******/ \t\n/******/ \t/* webpack/runtime/make namespace object */\n/******/ \t(() => {\n/******/ \t\t// define __esModule on exports\n/******/ \t\t__webpack_require__.r = (exports) => {\n/******/ \t\t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t\t}\n/******/ \t\t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t\t};\n/******/ \t})();\n/******/ \t\n/******/ \t/* webpack/runtime/publicPath */\n/******/ \t(() => {\n/******/ \t\t__webpack_require__.p = \"\";\n/******/ \t})();\n/******/ \t\n/************************************************************************/\nvar __webpack_exports__ = {};\n// ESM COMPAT FLAG\n__webpack_require__.r(__webpack_exports__);\n\n// EXPORTS\n__webpack_require__.d(__webpack_exports__, {\n \"default\": () => (/* binding */ entry_lib)\n});\n\n;// CONCATENATED MODULE: ../../node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js\n/* eslint-disable no-var */\n// This file is imported into lib/wc client bundles.\n\nif (typeof window !== 'undefined') {\n var currentScript = window.document.currentScript\n if (false) { var getCurrentScript; }\n\n var src = currentScript && currentScript.src.match(/(.+\\/)[^/]+\\.js(\\?.*)?$/)\n if (src) {\n __webpack_require__.p = src[1] // eslint-disable-line\n }\n}\n\n// Indicate to webpack that this file can be concatenated\n/* harmony default export */ const setPublicPath = (null);\n\n;// CONCATENATED MODULE: ./src/components/VueCallRequestModalGlue.js\n/* harmony default export */ const VueCallRequestModalGlue = ({\n\tdata: () => ({\n\t\tformState: null\n\t}),\n\tprops: {\n\t\tmodalId: {\n\t\t\trequired: true\n\t\t},\n\t\tcallRequestId: {\n\t\t\trequired: true\n\t\t}\n\t},\n\trender() {\n\t\treturn this.$scopedSlots.default({\n\t\t\tformState: this.formState\n\t\t});\n\t},\n\tcreated() {\n\t\twindow.addEventListener('call-request-state-change', ({ detail: { state, id } }) => {\n\t\t\tif (this.callRequestId == id) {\n\t\t\t\tthis.formState = state;\n\t\t\t}\n\t\t});\n\t\twindow.addEventListener('call-request-close-modal', ({ detail: { id } }) => {\n\t\t\tif (this.callRequestId == id) {\n\t\t\t\tthis.$closeModal(this.modalId);\n\t\t\t}\n\t\t});\n\t\tthis.$modalEventBus.$on('modal-opened', (modalId) => {\n\t\t\tif (modalId == this.modalId) {\n\t\t\t\tconst event = new CustomEvent('call-request-init-form', { detail: { id: this.callRequestId } });\n\t\t\t\twindow.dispatchEvent(event);\n\t\t\t}\n\t\t});\n\t\tthis.$modalEventBus.$on('modal-closed', (modalId) => {\n\t\t\tif (modalId == this.modalId) {\n\t\t\t\tconst event = new CustomEvent('call-request-reset-form', { detail: { id: this.callRequestId } });\n\t\t\t\twindow.dispatchEvent(event);\n\t\t\t}\n\t\t});\n\t}\n});\n\n;// CONCATENATED MODULE: ../../node_modules/@vue/cli-service/lib/commands/build/entry-lib.js\n\n\n/* harmony default export */ const entry_lib = (VueCallRequestModalGlue);\n\n\n/******/ \treturn __webpack_exports__;\n/******/ })()\n;\n});\n//# sourceMappingURL=vue-call-request-modal-glue.umd.js.map","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"vue\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"vue-live-announcer\"] = factory(require(\"vue\"));\n\telse\n\t\troot[\"vue-live-announcer\"] = factory(root[\"Vue\"]);\n})((typeof self !== 'undefined' ? self : this), (__WEBPACK_EXTERNAL_MODULE__203__) => {\nreturn /******/ (() => { // webpackBootstrap\n/******/ \t\"use strict\";\n/******/ \tvar __webpack_modules__ = ({\n\n/***/ 203:\n/***/ ((module) => {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE__203__;\n\n/***/ })\n\n/******/ \t});\n/************************************************************************/\n/******/ \t// The module cache\n/******/ \tvar __webpack_module_cache__ = {};\n/******/ \t\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/ \t\t// Check if module is in cache\n/******/ \t\tvar cachedModule = __webpack_module_cache__[moduleId];\n/******/ \t\tif (cachedModule !== undefined) {\n/******/ \t\t\treturn cachedModule.exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = __webpack_module_cache__[moduleId] = {\n/******/ \t\t\t// no module.id needed\n/******/ \t\t\t// no module.loaded needed\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/ \t\n/******/ \t\t// Execute the module function\n/******/ \t\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n/******/ \t\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/ \t\n/************************************************************************/\n/******/ \t/* webpack/runtime/compat get default export */\n/******/ \t(() => {\n/******/ \t\t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t\t__webpack_require__.n = (module) => {\n/******/ \t\t\tvar getter = module && module.__esModule ?\n/******/ \t\t\t\t() => (module['default']) :\n/******/ \t\t\t\t() => (module);\n/******/ \t\t\t__webpack_require__.d(getter, { a: getter });\n/******/ \t\t\treturn getter;\n/******/ \t\t};\n/******/ \t})();\n/******/ \t\n/******/ \t/* webpack/runtime/define property getters */\n/******/ \t(() => {\n/******/ \t\t// define getter functions for harmony exports\n/******/ \t\t__webpack_require__.d = (exports, definition) => {\n/******/ \t\t\tfor(var key in definition) {\n/******/ \t\t\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n/******/ \t\t\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n/******/ \t\t\t\t}\n/******/ \t\t\t}\n/******/ \t\t};\n/******/ \t})();\n/******/ \t\n/******/ \t/* webpack/runtime/hasOwnProperty shorthand */\n/******/ \t(() => {\n/******/ \t\t__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))\n/******/ \t})();\n/******/ \t\n/******/ \t/* webpack/runtime/make namespace object */\n/******/ \t(() => {\n/******/ \t\t// define __esModule on exports\n/******/ \t\t__webpack_require__.r = (exports) => {\n/******/ \t\t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t\t}\n/******/ \t\t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t\t};\n/******/ \t})();\n/******/ \t\n/******/ \t/* webpack/runtime/publicPath */\n/******/ \t(() => {\n/******/ \t\t__webpack_require__.p = \"\";\n/******/ \t})();\n/******/ \t\n/************************************************************************/\nvar __webpack_exports__ = {};\n// This entry need to be wrapped in an IIFE because it need to be isolated against other modules in the chunk.\n(() => {\n// ESM COMPAT FLAG\n__webpack_require__.r(__webpack_exports__);\n\n// EXPORTS\n__webpack_require__.d(__webpack_exports__, {\n \"default\": () => (/* binding */ entry_lib)\n});\n\n;// CONCATENATED MODULE: ../../node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js\n/* eslint-disable no-var */\n// This file is imported into lib/wc client bundles.\n\nif (typeof window !== 'undefined') {\n var currentScript = window.document.currentScript\n if (false) { var getCurrentScript; }\n\n var src = currentScript && currentScript.src.match(/(.+\\/)[^/]+\\.js(\\?.*)?$/)\n if (src) {\n __webpack_require__.p = src[1] // eslint-disable-line\n }\n}\n\n// Indicate to webpack that this file can be concatenated\n/* harmony default export */ const setPublicPath = (null);\n\n;// CONCATENATED MODULE: ../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/VueLiveAnnouncer.vue?vue&type=template&id=abb58478&scoped=true&\nvar render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{ref:\"root\",staticClass:\"sr-only\"},[_c('div',{attrs:{\"id\":`v-announcer-assertive-${_vm._uid}`,\"aria-live\":\"assertive\",\"aria-atomic\":\"true\"}},[_vm._v(_vm._s(_vm.assertiveContent))]),_c('div',{attrs:{\"id\":`v-announcer-polite-${_vm._uid}`,\"aria-live\":\"polite\",\"aria-atomic\":\"true\"}},[_vm._v(_vm._s(_vm.politeContent))])])\n}\nvar staticRenderFns = []\n\n\n;// CONCATENATED MODULE: ./src/components/VueLiveAnnouncer.constants.js\nconst OPTIONS = {\n\tcomplementRoute: 'has loaded'\n};\nconst POLITENESS_SETTINGS = {\n\tASSERTIVE: 'assertive',\n\tPOLITE: 'polite'\n};\n\nconst EVENTS = {\n\tSET_MESSAGE: 'vue-live-announcer-set-message'\n};\n\n;// CONCATENATED MODULE: ../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/VueLiveAnnouncer.vue?vue&type=script&lang=js&\n\n\n/* harmony default export */ const VueLiveAnnouncervue_type_script_lang_js_ = ({\n\tname: 'VueLiveAnnouncer',\n\tdata() {\n\t\treturn {\n\t\t\tpoliteContent: '',\n\t\t\tassertiveContent: ''\n\t\t};\n\t},\n\tmethods: {\n\t\tsetAnnouncerMessage(payload) {\n\t\t\tconst { message, options } = payload;\n\t\t\tif (options && options.politeness === POLITENESS_SETTINGS.ASSERTIVE) {\n\t\t\t\tthis.assertiveContent = message;\n\t\t\t} else {\n\t\t\t\tthis.politeContent = message;\n\t\t\t}\n\t\t}\n\t},\n\tmounted() {\n\t\tthis.$VueLiveAnnouncerEventBus.$on(EVENTS.SET_MESSAGE, this.setAnnouncerMessage);\n\t}\n});\n\n;// CONCATENATED MODULE: ./src/components/VueLiveAnnouncer.vue?vue&type=script&lang=js&\n /* harmony default export */ const components_VueLiveAnnouncervue_type_script_lang_js_ = (VueLiveAnnouncervue_type_script_lang_js_); \n;// CONCATENATED MODULE: ../../node_modules/@vue/cli-service/node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-52.use[0]!../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??clonedRuleSet-52.use[1]!../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!../../node_modules/@vue/cli-service/node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-52.use[2]!../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/VueLiveAnnouncer.vue?vue&type=style&index=0&id=abb58478&prod&scoped=true&lang=css&\n// extracted by mini-css-extract-plugin\n\n;// CONCATENATED MODULE: ./src/components/VueLiveAnnouncer.vue?vue&type=style&index=0&id=abb58478&prod&scoped=true&lang=css&\n\n;// CONCATENATED MODULE: ../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\n/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nfunction normalizeComponent(\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier /* server only */,\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options =\n typeof scriptExports === 'function' ? scriptExports.options : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) {\n // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () {\n injectStyles.call(\n this,\n (options.functional ? this.parent : this).$root.$options.shadowRoot\n )\n }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functional component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection(h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n\n;// CONCATENATED MODULE: ./src/components/VueLiveAnnouncer.vue\n\n\n\n;\n\n\n/* normalize component */\n\nvar component = normalizeComponent(\n components_VueLiveAnnouncervue_type_script_lang_js_,\n render,\n staticRenderFns,\n false,\n null,\n \"abb58478\",\n null\n \n)\n\n/* harmony default export */ const VueLiveAnnouncer = (component.exports);\n// EXTERNAL MODULE: external {\"commonjs\":\"vue\",\"commonjs2\":\"vue\",\"root\":\"Vue\"}\nvar external_commonjs_vue_commonjs2_vue_root_Vue_ = __webpack_require__(203);\nvar external_commonjs_vue_commonjs2_vue_root_Vue_default = /*#__PURE__*/__webpack_require__.n(external_commonjs_vue_commonjs2_vue_root_Vue_);\n;// CONCATENATED MODULE: ./src/components/VueLiveAnnouncer.EventBus.js\n\n/* harmony default export */ const VueLiveAnnouncer_EventBus = (new (external_commonjs_vue_commonjs2_vue_root_Vue_default())());\n\n;// CONCATENATED MODULE: ./src/components/VueLiveAnnouncer.plugin.js\n\n\n\n\nfunction install(Vue, options = {}, router = null) {\n\toptions = { ...OPTIONS, ...options };\n\n\tVue.component('VueLiveAnnouncer', VueLiveAnnouncer);\n\tVue.prototype.$VueLiveAnnouncerEventBus = VueLiveAnnouncer_EventBus;\n\tVue.prototype.$VueLiveAnnouncer = {\n\t\tset(message, messageOptions) {\n\t\t\toptions = messageOptions || { politeness: POLITENESS_SETTINGS.POLITE };\n\t\t\tconst politenessValues = Object.values(POLITENESS_SETTINGS);\n\t\t\tif (options && options.politeness && !politenessValues.includes(options.politeness)) {\n\t\t\t\tthrow new Error(`Politeness level must be one of the following: ${politenessValues.join(', ')}`);\n\t\t\t}\n\t\t\tVueLiveAnnouncer_EventBus.$emit(EVENTS.SET_MESSAGE, { message, options });\n\t\t},\n\n\t\tsetComplementRoute(complementRoute) {\n\t\t\tif (typeof complementRoute !== 'string') {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\toptions.COMPLEMENT_ROUTE = complementRoute;\n\t\t}\n\t};\n\n\t// If set the router, will be announced the change of route\n\tif (router) {\n\t\trouter.afterEach((to) => {\n\t\t\tVue.prototype.$VueLiveAnnouncer.set(`${to.meta.announcer || document.title.trim()} ${options.COMPLEMENT_ROUTE}`);\n\t\t});\n\t}\n}\n\n// auto install\nif (typeof window !== 'undefined' && typeof window.Vue !== 'undefined') {\n\twindow.Vue.use(install);\n}\n\n;// CONCATENATED MODULE: ../../node_modules/@vue/cli-service/lib/commands/build/entry-lib.js\n\n\n/* harmony default export */ const entry_lib = (install);\n\n\n})();\n\n/******/ \treturn __webpack_exports__;\n/******/ })()\n;\n});\n//# sourceMappingURL=vue-live-announcer.umd.js.map","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"vue-table-of-content\"] = factory();\n\telse\n\t\troot[\"vue-table-of-content\"] = factory();\n})((typeof self !== 'undefined' ? self : this), () => {\nreturn /******/ (() => { // webpackBootstrap\n/******/ \t\"use strict\";\n/******/ \t// The require scope\n/******/ \tvar __webpack_require__ = {};\n/******/ \t\n/************************************************************************/\n/******/ \t/* webpack/runtime/define property getters */\n/******/ \t(() => {\n/******/ \t\t// define getter functions for harmony exports\n/******/ \t\t__webpack_require__.d = (exports, definition) => {\n/******/ \t\t\tfor(var key in definition) {\n/******/ \t\t\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n/******/ \t\t\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n/******/ \t\t\t\t}\n/******/ \t\t\t}\n/******/ \t\t};\n/******/ \t})();\n/******/ \t\n/******/ \t/* webpack/runtime/hasOwnProperty shorthand */\n/******/ \t(() => {\n/******/ \t\t__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))\n/******/ \t})();\n/******/ \t\n/******/ \t/* webpack/runtime/publicPath */\n/******/ \t(() => {\n/******/ \t\t__webpack_require__.p = \"\";\n/******/ \t})();\n/******/ \t\n/************************************************************************/\nvar __webpack_exports__ = {};\n\n// EXPORTS\n__webpack_require__.d(__webpack_exports__, {\n \"default\": () => (/* binding */ entry_lib)\n});\n\n;// CONCATENATED MODULE: ../../node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js\n/* eslint-disable no-var */\n// This file is imported into lib/wc client bundles.\n\nif (typeof window !== 'undefined') {\n var currentScript = window.document.currentScript\n if (false) { var getCurrentScript; }\n\n var src = currentScript && currentScript.src.match(/(.+\\/)[^/]+\\.js(\\?.*)?$/)\n if (src) {\n __webpack_require__.p = src[1] // eslint-disable-line\n }\n}\n\n// Indicate to webpack that this file can be concatenated\n/* harmony default export */ const setPublicPath = (null);\n\n;// CONCATENATED MODULE: ../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!../../node_modules/pug-plain-loader/index.js!../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/VueTableOfContent.vue?vue&type=template&id=8a9ffce4&scoped=true&lang=pug&\nvar render = function render(){var _vm=this,_c=_vm._self._c;return _c('nav',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.visible),expression:\"visible\"}],ref:\"tocNav\",staticClass:\"sf-mobile-toc\",class:{ 'sf-mobile-toc--open': _vm.tocOpened, 'sf-mobile-toc--top': _vm.position === 'top', 'sf-mobile-toc--bottom': _vm.position === 'bottom' },attrs:{\"id\":\"sf-mobile-toc\",\"aria-labelledby\":'toc_button' + _vm.uuid}},[_c('transition',{attrs:{\"name\":\"toc-slide\"}},[_c('ul',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.tocOpened),expression:\"tocOpened\"}],staticClass:\"sf-mobile-toc__list sf-list sf-list--empty\",attrs:{\"id\":'toc_menu' + _vm.uuid,\"role\":\"navigation\",\"aria-labelledby\":'toc_button' + _vm.uuid,\"aria-expanded\":'' + _vm.tocOpened,\"aria-hidden\":'' + !_vm.tocOpened}},_vm._l((_vm.items),function(item){return _c('li',{staticClass:\"sf-mobile-toc__list-item\"},[_c('a',{class:{ 'active' : _vm.activeElement == item.name },attrs:{\"id\":item.name,\"href\":`#${item.name}`},on:{\"click\":function($event){$event.preventDefault();return _vm.scrollToItem(item.name, item.pageIndex)}}},[_vm._v(_vm._s(item.text))])])}),0)]),_c('button',{ref:\"tocButton\",staticClass:\"sf-mobile-toc__button\",attrs:{\"id\":'toc_button' + _vm.uuid,\"type\":\"button\",\"aria-controls\":\"toc_menu\",\"aria-haspopup\":\"true\",\"aria-expanded\":'' + _vm.tocOpened},on:{\"click\":function($event){_vm.tocOpened = !_vm.tocOpened}}},[_c('span',{staticClass:\"sr-only\"},[_vm._v(_vm._s(_vm.$t('choosenBookmark')))]),_c('svg',{attrs:{\"width\":\"14\",\"height\":\"8\",\"viewBox\":\"0 0 14 8\",\"fill\":\"none\",\"xmlns\":\"http://www.w3.org/2000/svg\"}},[_c('path',{attrs:{\"d\":\"M0.999999 7L7 0.999999L13 7\",\"stroke\":\"#52AE30\",\"stroke-width\":\"2\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}})])])],1)\n}\nvar staticRenderFns = []\n\n\n;// CONCATENATED MODULE: ../../node_modules/@ui-common/sf-js-utils/dist/sf-js-utils.esm.js\nvar t=Object.freeze({__proto__:null,ADDRESS_CARD:\"^\\\\d{6}[a-zA-Z]{2}$\",ALL_PHONE:[\"^1\\\\s\\\\d{3}\\\\s\\\\d{4}$\",\"^[02-9]\\\\d\\\\s\\\\d{3}\\\\s\\\\d{3,4}$\",\"^(70|20|30|31)\\\\s\\\\d{3}\\\\s\\\\d{4}$\"],BANK_ACCOUNT_SIXTEEN_NUMBERS:\"^\\\\d{8}-\\\\d{8}$\",BANK_ACCOUNT_THIRTEEN_NUMBERS:\"^\\\\d{5}-\\\\d{8}$\",BANK_ACCOUNT_TWENTY_FOUR_NUMBERS:\"^\\\\d{8}-\\\\d{8}-\\\\d{8}$\",DATE_SEPARATORS:/[.,\\/ -]/,DEVIZA_BANK_ACCOUNT_NUMBER_PATTERN:\"^75\\\\d{3}-\\\\d{5}88\\\\d$\",FOREIGN_PHONE_REGEX:/^\\d{1,3}-\\d{1,10}$/,FOREIGN_ZIP_CODE:/^[\\da-zA-Z]{1,10}$/g,FULLNAME:\"^(.+[ ].+)$|^$\",HEX:/#[0-9a-fA-F]{6}/,IDENTITYS:{\"personal-id\":\"^\\\\d{6}[a-zA-Z]{2}$\",\"drivers-license\":\"^[a-zA-Z]{2}\\\\d{6}$\",passport:\"[a-zA-Z]{2}\\\\d{7}$\"},IOS:/ipad|iphone/i,LANDLINE_PHONES:[\"^1\\\\s\\\\d{3}\\\\s\\\\d{4}$\",\"^[02-9]\\\\d\\\\s\\\\d{3}\\\\s\\\\d{3,4}$\"],LAST_FOUR_DIGITS:/^\\d{4}$/,MOBILE_PHONE:\"^(70|20|30|31)\\\\s\\\\d{3}\\\\s\\\\d{4}$\",NAME:\"^[\\\\p{L}\\\\s\\\\.\\\\-\\\\']*$\",PENSIONER_NUMBER:\"^\\\\d{3}-\\\\d{5}-\\\\d{1}$\",TAX_NUMBER:\"^\\\\d{8}-\\\\d{1}-\\\\d{2}$\",YEAR:\"^\\\\d{4}$\",ZIP_CODE:\"^\\\\d{4}$\"});var e=Object.freeze({__proto__:null,HUNGARIAN_PHONE_NUMBER_PREFIX:\"+36\",OTP_BANK_ACCOUNT_NUMBER_PREFIX:\"117\"});var r=Object.freeze({__proto__:null,COOKIE_GDPR_LEVEL:\"gdpr_level\",GDPR_LEVELS:{LOW:1,MEDIUM:2,HIGH:3}});var d=Object.freeze({__proto__:null,BACKEND_DATE:\"YYYY-MM-DD\",DISPLAY_DATE:{hu:\"YYYY.MM.DD.\",en:\"MM/DD/YYYY\"},DISPLAY_TIME:{hu:\"HH:mm\",en:\"hh:mm A\"}});function i(){window.onkeydown=function(t){\"Space\"===t.code&&t.target==document.body&&t.preventDefault()}}function o(t){for(var e=0,r=0;t;){if(\"BODY\"==t.tagName){var d=t.scrollLeft||document.documentElement.scrollLeft,i=t.scrollTop||document.documentElement.scrollTop;e+=t.offsetLeft-d+t.clientLeft,r+=t.offsetTop-i+t.clientTop}else e+=t.offsetLeft-t.scrollLeft+t.clientLeft,r+=t.offsetTop-t.scrollTop+t.clientTop;t=t.offsetParent}return{x:e,y:r}}function s(t){let e=[],r=t.parentNode.firstChild;for(;r;)1===r.nodeType&&r!==t&&e.push(r),r=r.nextSibling;return e}function n(t,e,r){return r=r?parseInt(r,10):0,\"number\"==typeof e?t.slice(r,r+e):t}function p(t){return void 0!==t&&null!=t?Math.floor(t/12)+\" év\":\"\"}const u=767,_=959,h=1279;var a={data:()=>({viewportWidth:null}),methods:{setViewportWidth(){this.viewportWidth=window.innerWidth}},computed:{isMobile(){return this.viewportWidth<=u},isTablet(){return this.viewportWidth>u&&this.viewportWidth<_},isDesktop(){return this.viewportWidth>_&&this.viewportWidthh}},created(){window.addEventListener(\"resize\",this.setViewportWidth),this.setViewportWidth()},mounted(){this.setViewportWidth()},beforeDestroy(){window.removeEventListener(\"resize\",this.setViewportWidth)}},E=(t=8)=>{let e=\"\";const r=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789\";for(let d=0;d {}\n\t\t}\n\t},\n\tmethods: {\n\t\tonScroll() {\n\t\t\tlet bookmarks = [...document.querySelectorAll('.bookmark')].reverse();\n\t\t\tthis.bookmarkHeights = bookmarks.map((bookmark) => {\n\t\t\t\treturn {\n\t\t\t\t\tid: bookmark.getAttribute('id'),\n\t\t\t\t\theight: o(bookmark).y - this.computedOffsetHeight,\n\t\t\t\t\ttext: bookmark.getAttribute('data-text')\n\t\t\t\t};\n\t\t\t});\n\t\t\tlet scrollTop = window.scrollY || document.body.scrollTop;\n\t\t\tthis.visible = scrollTop > 40;\n\t\t\tif (this.bookmarkHeights[this.bookmarkHeights.length - 1].height > 0) {\n\t\t\t\tthis.bookmarkTitle = this.$t('defaultText');\n\t\t\t} else {\n\t\t\t\tlet i = 0;\n\t\t\t\tdo {\n\t\t\t\t\tthis.bookmarkTitle = this.bookmarkHeights[i].text;\n\t\t\t\t\ti++;\n\t\t\t\t} while (i < this.bookmarkHeights.length && this.bookmarkHeights[i - 1].height > 0);\n\t\t\t}\n\t\t\t++this.scroll;\n\t\t\tthis.$nextTick(() => {\n\t\t\t\tthis.setActiveElement();\n\t\t\t});\n\t\t},\n\t\tasync scrollToItem(id, itemPage) {\n\t\t\tawait this.jumpToPage(itemPage);\n\t\t\tthis.tocOpened = false;\n\t\t\tthis.doScroll(id);\n\t\t},\n\t\tdoScroll(id) {\n\t\t\tsetTimeout(() => {\n\t\t\t\tif (this.$refs.tocNav && this.$refs.tocNav.classList.contains('sf-mobile-toc--open')) {\n\t\t\t\t\tthis.doScroll(id);\n\t\t\t\t} else {\n\t\t\t\t\tif (this.$refs.tocButton) {\n\t\t\t\t\t\tthis.offsetHeight = parseInt(getComputedStyle(this.$refs.tocButton).height, 10);\n\t\t\t\t\t\tthis.$scrollTo(document.getElementById(id), {\n\t\t\t\t\t\t\toffset: -this.computedOffsetHeight,\n\t\t\t\t\t\t\tonDone: () => {\n\t\t\t\t\t\t\t\tthis.onScroll();\n\t\t\t\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\t\t\t\tthis.$scrollTo(document.getElementById(id), { offset: -this.computedOffsetHeight });\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t},\n\t\tsetActiveElement() {\n\t\t\tconst scrollTop = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0;\n\t\t\tconst scrollDirection = scrollTop > this.prevScrollTop ? 'down' : 'up';\n\t\t\tconst itemArray = scrollDirection == 'down' ? [...this.items].map((obj) => ({ ...obj })) : [...this.items].reverse().map((obj) => ({ ...obj }));\n\t\t\titemArray.forEach((item) => {\n\t\t\t\tconst element = document.getElementById(item.name);\n\t\t\t\tconst rect = element.getBoundingClientRect();\n\t\t\t\tconst offsetHeight = document.getElementById('sf-mobile-toc')?.offsetHeight || 0;\n\t\t\t\tif (\n\t\t\t\t\trect.top >= 0 &&\n\t\t\t\t\trect.left >= 0 &&\n\t\t\t\t\trect.bottom <= (window.innerHeight - offsetHeight || document.documentElement.clientHeight - offsetHeight) &&\n\t\t\t\t\trect.right <= (window.innerWidth || document.documentElement.clientWidth)\n\t\t\t\t) {\n\t\t\t\t\tthis.activeElement = item.name;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t});\n\t\t\tthis.prevScrollTop = scrollTop;\n\t\t},\n\t\tasync jumpToPage(itemPage) {\n\t\t\tif (itemPage === null || this.activePage == -1) return;\n\t\t\tif (itemPage != this.activePage) {\n\t\t\t\tthis.jumpToPageFn(itemPage);\n\t\t\t\tawait this.$nextTick();\n\t\t\t}\n\t\t}\n\t},\n\tcomputed: {\n\t\tcomputedOffsetHeight() {\n\t\t\treturn this.scroll && this.$refs.tocButton ? parseInt(getComputedStyle(this.$refs.tocButton).height, 10) : 0;\n\t\t}\n\t},\n\twatch: {\n\t\ttocOpened(value) {\n\t\t\tif (value === false) {\n\t\t\t\tthis.offsetHeight = this.$refs.tocButton ? parseInt(getComputedStyle(this.$refs.tocButton).height, 10) : 0;\n\t\t\t}\n\t\t}\n\t},\n\tmounted() {\n\t\tthis.bookmarkTitle = this.$t('defaultText');\n\t\tthis.prevScrollTop = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0;\n\t\tthis.setActiveElement();\n\t\twindow.addEventListener('scroll', this.onScroll);\n\t}\n});\n\n;// CONCATENATED MODULE: ./src/components/VueTableOfContent.vue?vue&type=script&lang=js&\n /* harmony default export */ const components_VueTableOfContentvue_type_script_lang_js_ = (VueTableOfContentvue_type_script_lang_js_); \n;// CONCATENATED MODULE: ../../node_modules/@vue/cli-service/node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-61.use[0]!../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??clonedRuleSet-61.use[1]!../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!../../node_modules/@vue/cli-service/node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-61.use[2]!../../node_modules/sass-loader/dist/cjs.js??clonedRuleSet-61.use[3]!../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/VueTableOfContent.vue?vue&type=style&index=0&id=8a9ffce4&prod&lang=scss&scoped=true&\n// extracted by mini-css-extract-plugin\n\n;// CONCATENATED MODULE: ./src/components/VueTableOfContent.vue?vue&type=style&index=0&id=8a9ffce4&prod&lang=scss&scoped=true&\n\n;// CONCATENATED MODULE: ../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\n/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nfunction normalizeComponent(\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier /* server only */,\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options =\n typeof scriptExports === 'function' ? scriptExports.options : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) {\n // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () {\n injectStyles.call(\n this,\n (options.functional ? this.parent : this).$root.$options.shadowRoot\n )\n }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functional component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection(h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n\n;// CONCATENATED MODULE: ./src/components/VueTableOfContent.vue\n\n\n\n;\n\n\n/* normalize component */\n\nvar component = normalizeComponent(\n components_VueTableOfContentvue_type_script_lang_js_,\n render,\n staticRenderFns,\n false,\n null,\n \"8a9ffce4\",\n null\n \n)\n\n/* harmony default export */ const VueTableOfContent = (component.exports);\n;// CONCATENATED MODULE: ../../node_modules/@vue/cli-service/lib/commands/build/entry-lib.js\n\n\n/* harmony default export */ const entry_lib = (VueTableOfContent);\n\n\n__webpack_exports__ = __webpack_exports__[\"default\"];\n/******/ \treturn __webpack_exports__;\n/******/ })()\n;\n});\n//# sourceMappingURL=vue-table-of-content.umd.js.map","'use strict';\n\nvar $defineProperty = require('es-define-property');\n\nvar $SyntaxError = require('es-errors/syntax');\nvar $TypeError = require('es-errors/type');\n\nvar gopd = require('gopd');\n\n/** @type {import('.')} */\nmodule.exports = function defineDataProperty(\n\tobj,\n\tproperty,\n\tvalue\n) {\n\tif (!obj || (typeof obj !== 'object' && typeof obj !== 'function')) {\n\t\tthrow new $TypeError('`obj` must be an object or a function`');\n\t}\n\tif (typeof property !== 'string' && typeof property !== 'symbol') {\n\t\tthrow new $TypeError('`property` must be a string or a symbol`');\n\t}\n\tif (arguments.length > 3 && typeof arguments[3] !== 'boolean' && arguments[3] !== null) {\n\t\tthrow new $TypeError('`nonEnumerable`, if provided, must be a boolean or null');\n\t}\n\tif (arguments.length > 4 && typeof arguments[4] !== 'boolean' && arguments[4] !== null) {\n\t\tthrow new $TypeError('`nonWritable`, if provided, must be a boolean or null');\n\t}\n\tif (arguments.length > 5 && typeof arguments[5] !== 'boolean' && arguments[5] !== null) {\n\t\tthrow new $TypeError('`nonConfigurable`, if provided, must be a boolean or null');\n\t}\n\tif (arguments.length > 6 && typeof arguments[6] !== 'boolean') {\n\t\tthrow new $TypeError('`loose`, if provided, must be a boolean');\n\t}\n\n\tvar nonEnumerable = arguments.length > 3 ? arguments[3] : null;\n\tvar nonWritable = arguments.length > 4 ? arguments[4] : null;\n\tvar nonConfigurable = arguments.length > 5 ? arguments[5] : null;\n\tvar loose = arguments.length > 6 ? arguments[6] : false;\n\n\t/* @type {false | TypedPropertyDescriptor} */\n\tvar desc = !!gopd && gopd(obj, property);\n\n\tif ($defineProperty) {\n\t\t$defineProperty(obj, property, {\n\t\t\tconfigurable: nonConfigurable === null && desc ? desc.configurable : !nonConfigurable,\n\t\t\tenumerable: nonEnumerable === null && desc ? desc.enumerable : !nonEnumerable,\n\t\t\tvalue: value,\n\t\t\twritable: nonWritable === null && desc ? desc.writable : !nonWritable\n\t\t});\n\t} else if (loose || (!nonEnumerable && !nonWritable && !nonConfigurable)) {\n\t\t// must fall back to [[Set]], and was not explicitly asked to make non-enumerable, non-writable, or non-configurable\n\t\tobj[property] = value; // eslint-disable-line no-param-reassign\n\t} else {\n\t\tthrow new $SyntaxError('This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.');\n\t}\n};\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\n/** @type {import('.')} */\nvar $defineProperty = GetIntrinsic('%Object.defineProperty%', true) || false;\nif ($defineProperty) {\n\ttry {\n\t\t$defineProperty({}, 'a', { value: 1 });\n\t} catch (e) {\n\t\t// IE 8 has a broken defineProperty\n\t\t$defineProperty = false;\n\t}\n}\n\nmodule.exports = $defineProperty;\n","'use strict';\n\n/** @type {import('./eval')} */\nmodule.exports = EvalError;\n","'use strict';\n\n/** @type {import('.')} */\nmodule.exports = Error;\n","'use strict';\n\n/** @type {import('./range')} */\nmodule.exports = RangeError;\n","'use strict';\n\n/** @type {import('./ref')} */\nmodule.exports = ReferenceError;\n","'use strict';\n\n/** @type {import('./syntax')} */\nmodule.exports = SyntaxError;\n","'use strict';\n\n/** @type {import('./type')} */\nmodule.exports = TypeError;\n","'use strict';\n\n/** @type {import('./uri')} */\nmodule.exports = URIError;\n","'use strict';\n\n/* eslint no-invalid-this: 1 */\n\nvar ERROR_MESSAGE = 'Function.prototype.bind called on incompatible ';\nvar toStr = Object.prototype.toString;\nvar max = Math.max;\nvar funcType = '[object Function]';\n\nvar concatty = function concatty(a, b) {\n var arr = [];\n\n for (var i = 0; i < a.length; i += 1) {\n arr[i] = a[i];\n }\n for (var j = 0; j < b.length; j += 1) {\n arr[j + a.length] = b[j];\n }\n\n return arr;\n};\n\nvar slicy = function slicy(arrLike, offset) {\n var arr = [];\n for (var i = offset || 0, j = 0; i < arrLike.length; i += 1, j += 1) {\n arr[j] = arrLike[i];\n }\n return arr;\n};\n\nvar joiny = function (arr, joiner) {\n var str = '';\n for (var i = 0; i < arr.length; i += 1) {\n str += arr[i];\n if (i + 1 < arr.length) {\n str += joiner;\n }\n }\n return str;\n};\n\nmodule.exports = function bind(that) {\n var target = this;\n if (typeof target !== 'function' || toStr.apply(target) !== funcType) {\n throw new TypeError(ERROR_MESSAGE + target);\n }\n var args = slicy(arguments, 1);\n\n var bound;\n var binder = function () {\n if (this instanceof bound) {\n var result = target.apply(\n this,\n concatty(args, arguments)\n );\n if (Object(result) === result) {\n return result;\n }\n return this;\n }\n return target.apply(\n that,\n concatty(args, arguments)\n );\n\n };\n\n var boundLength = max(0, target.length - args.length);\n var boundArgs = [];\n for (var i = 0; i < boundLength; i++) {\n boundArgs[i] = '$' + i;\n }\n\n bound = Function('binder', 'return function (' + joiny(boundArgs, ',') + '){ return binder.apply(this,arguments); }')(binder);\n\n if (target.prototype) {\n var Empty = function Empty() {};\n Empty.prototype = target.prototype;\n bound.prototype = new Empty();\n Empty.prototype = null;\n }\n\n return bound;\n};\n","'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = Function.prototype.bind || implementation;\n","'use strict';\n\nvar undefined;\n\nvar $Error = require('es-errors');\nvar $EvalError = require('es-errors/eval');\nvar $RangeError = require('es-errors/range');\nvar $ReferenceError = require('es-errors/ref');\nvar $SyntaxError = require('es-errors/syntax');\nvar $TypeError = require('es-errors/type');\nvar $URIError = require('es-errors/uri');\n\nvar $Function = Function;\n\n// eslint-disable-next-line consistent-return\nvar getEvalledConstructor = function (expressionSyntax) {\n\ttry {\n\t\treturn $Function('\"use strict\"; return (' + expressionSyntax + ').constructor;')();\n\t} catch (e) {}\n};\n\nvar $gOPD = Object.getOwnPropertyDescriptor;\nif ($gOPD) {\n\ttry {\n\t\t$gOPD({}, '');\n\t} catch (e) {\n\t\t$gOPD = null; // this is IE 8, which has a broken gOPD\n\t}\n}\n\nvar throwTypeError = function () {\n\tthrow new $TypeError();\n};\nvar ThrowTypeError = $gOPD\n\t? (function () {\n\t\ttry {\n\t\t\t// eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties\n\t\t\targuments.callee; // IE 8 does not throw here\n\t\t\treturn throwTypeError;\n\t\t} catch (calleeThrows) {\n\t\t\ttry {\n\t\t\t\t// IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '')\n\t\t\t\treturn $gOPD(arguments, 'callee').get;\n\t\t\t} catch (gOPDthrows) {\n\t\t\t\treturn throwTypeError;\n\t\t\t}\n\t\t}\n\t}())\n\t: throwTypeError;\n\nvar hasSymbols = require('has-symbols')();\nvar hasProto = require('has-proto')();\n\nvar getProto = Object.getPrototypeOf || (\n\thasProto\n\t\t? function (x) { return x.__proto__; } // eslint-disable-line no-proto\n\t\t: null\n);\n\nvar needsEval = {};\n\nvar TypedArray = typeof Uint8Array === 'undefined' || !getProto ? undefined : getProto(Uint8Array);\n\nvar INTRINSICS = {\n\t__proto__: null,\n\t'%AggregateError%': typeof AggregateError === 'undefined' ? undefined : AggregateError,\n\t'%Array%': Array,\n\t'%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer,\n\t'%ArrayIteratorPrototype%': hasSymbols && getProto ? getProto([][Symbol.iterator]()) : undefined,\n\t'%AsyncFromSyncIteratorPrototype%': undefined,\n\t'%AsyncFunction%': needsEval,\n\t'%AsyncGenerator%': needsEval,\n\t'%AsyncGeneratorFunction%': needsEval,\n\t'%AsyncIteratorPrototype%': needsEval,\n\t'%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics,\n\t'%BigInt%': typeof BigInt === 'undefined' ? undefined : BigInt,\n\t'%BigInt64Array%': typeof BigInt64Array === 'undefined' ? undefined : BigInt64Array,\n\t'%BigUint64Array%': typeof BigUint64Array === 'undefined' ? undefined : BigUint64Array,\n\t'%Boolean%': Boolean,\n\t'%DataView%': typeof DataView === 'undefined' ? undefined : DataView,\n\t'%Date%': Date,\n\t'%decodeURI%': decodeURI,\n\t'%decodeURIComponent%': decodeURIComponent,\n\t'%encodeURI%': encodeURI,\n\t'%encodeURIComponent%': encodeURIComponent,\n\t'%Error%': $Error,\n\t'%eval%': eval, // eslint-disable-line no-eval\n\t'%EvalError%': $EvalError,\n\t'%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array,\n\t'%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array,\n\t'%FinalizationRegistry%': typeof FinalizationRegistry === 'undefined' ? undefined : FinalizationRegistry,\n\t'%Function%': $Function,\n\t'%GeneratorFunction%': needsEval,\n\t'%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array,\n\t'%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array,\n\t'%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array,\n\t'%isFinite%': isFinite,\n\t'%isNaN%': isNaN,\n\t'%IteratorPrototype%': hasSymbols && getProto ? getProto(getProto([][Symbol.iterator]())) : undefined,\n\t'%JSON%': typeof JSON === 'object' ? JSON : undefined,\n\t'%Map%': typeof Map === 'undefined' ? undefined : Map,\n\t'%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols || !getProto ? undefined : getProto(new Map()[Symbol.iterator]()),\n\t'%Math%': Math,\n\t'%Number%': Number,\n\t'%Object%': Object,\n\t'%parseFloat%': parseFloat,\n\t'%parseInt%': parseInt,\n\t'%Promise%': typeof Promise === 'undefined' ? undefined : Promise,\n\t'%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy,\n\t'%RangeError%': $RangeError,\n\t'%ReferenceError%': $ReferenceError,\n\t'%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect,\n\t'%RegExp%': RegExp,\n\t'%Set%': typeof Set === 'undefined' ? undefined : Set,\n\t'%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols || !getProto ? undefined : getProto(new Set()[Symbol.iterator]()),\n\t'%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer,\n\t'%String%': String,\n\t'%StringIteratorPrototype%': hasSymbols && getProto ? getProto(''[Symbol.iterator]()) : undefined,\n\t'%Symbol%': hasSymbols ? Symbol : undefined,\n\t'%SyntaxError%': $SyntaxError,\n\t'%ThrowTypeError%': ThrowTypeError,\n\t'%TypedArray%': TypedArray,\n\t'%TypeError%': $TypeError,\n\t'%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array,\n\t'%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray,\n\t'%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array,\n\t'%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array,\n\t'%URIError%': $URIError,\n\t'%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap,\n\t'%WeakRef%': typeof WeakRef === 'undefined' ? undefined : WeakRef,\n\t'%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet\n};\n\nif (getProto) {\n\ttry {\n\t\tnull.error; // eslint-disable-line no-unused-expressions\n\t} catch (e) {\n\t\t// https://github.com/tc39/proposal-shadowrealm/pull/384#issuecomment-1364264229\n\t\tvar errorProto = getProto(getProto(e));\n\t\tINTRINSICS['%Error.prototype%'] = errorProto;\n\t}\n}\n\nvar doEval = function doEval(name) {\n\tvar value;\n\tif (name === '%AsyncFunction%') {\n\t\tvalue = getEvalledConstructor('async function () {}');\n\t} else if (name === '%GeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('function* () {}');\n\t} else if (name === '%AsyncGeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('async function* () {}');\n\t} else if (name === '%AsyncGenerator%') {\n\t\tvar fn = doEval('%AsyncGeneratorFunction%');\n\t\tif (fn) {\n\t\t\tvalue = fn.prototype;\n\t\t}\n\t} else if (name === '%AsyncIteratorPrototype%') {\n\t\tvar gen = doEval('%AsyncGenerator%');\n\t\tif (gen && getProto) {\n\t\t\tvalue = getProto(gen.prototype);\n\t\t}\n\t}\n\n\tINTRINSICS[name] = value;\n\n\treturn value;\n};\n\nvar LEGACY_ALIASES = {\n\t__proto__: null,\n\t'%ArrayBufferPrototype%': ['ArrayBuffer', 'prototype'],\n\t'%ArrayPrototype%': ['Array', 'prototype'],\n\t'%ArrayProto_entries%': ['Array', 'prototype', 'entries'],\n\t'%ArrayProto_forEach%': ['Array', 'prototype', 'forEach'],\n\t'%ArrayProto_keys%': ['Array', 'prototype', 'keys'],\n\t'%ArrayProto_values%': ['Array', 'prototype', 'values'],\n\t'%AsyncFunctionPrototype%': ['AsyncFunction', 'prototype'],\n\t'%AsyncGenerator%': ['AsyncGeneratorFunction', 'prototype'],\n\t'%AsyncGeneratorPrototype%': ['AsyncGeneratorFunction', 'prototype', 'prototype'],\n\t'%BooleanPrototype%': ['Boolean', 'prototype'],\n\t'%DataViewPrototype%': ['DataView', 'prototype'],\n\t'%DatePrototype%': ['Date', 'prototype'],\n\t'%ErrorPrototype%': ['Error', 'prototype'],\n\t'%EvalErrorPrototype%': ['EvalError', 'prototype'],\n\t'%Float32ArrayPrototype%': ['Float32Array', 'prototype'],\n\t'%Float64ArrayPrototype%': ['Float64Array', 'prototype'],\n\t'%FunctionPrototype%': ['Function', 'prototype'],\n\t'%Generator%': ['GeneratorFunction', 'prototype'],\n\t'%GeneratorPrototype%': ['GeneratorFunction', 'prototype', 'prototype'],\n\t'%Int8ArrayPrototype%': ['Int8Array', 'prototype'],\n\t'%Int16ArrayPrototype%': ['Int16Array', 'prototype'],\n\t'%Int32ArrayPrototype%': ['Int32Array', 'prototype'],\n\t'%JSONParse%': ['JSON', 'parse'],\n\t'%JSONStringify%': ['JSON', 'stringify'],\n\t'%MapPrototype%': ['Map', 'prototype'],\n\t'%NumberPrototype%': ['Number', 'prototype'],\n\t'%ObjectPrototype%': ['Object', 'prototype'],\n\t'%ObjProto_toString%': ['Object', 'prototype', 'toString'],\n\t'%ObjProto_valueOf%': ['Object', 'prototype', 'valueOf'],\n\t'%PromisePrototype%': ['Promise', 'prototype'],\n\t'%PromiseProto_then%': ['Promise', 'prototype', 'then'],\n\t'%Promise_all%': ['Promise', 'all'],\n\t'%Promise_reject%': ['Promise', 'reject'],\n\t'%Promise_resolve%': ['Promise', 'resolve'],\n\t'%RangeErrorPrototype%': ['RangeError', 'prototype'],\n\t'%ReferenceErrorPrototype%': ['ReferenceError', 'prototype'],\n\t'%RegExpPrototype%': ['RegExp', 'prototype'],\n\t'%SetPrototype%': ['Set', 'prototype'],\n\t'%SharedArrayBufferPrototype%': ['SharedArrayBuffer', 'prototype'],\n\t'%StringPrototype%': ['String', 'prototype'],\n\t'%SymbolPrototype%': ['Symbol', 'prototype'],\n\t'%SyntaxErrorPrototype%': ['SyntaxError', 'prototype'],\n\t'%TypedArrayPrototype%': ['TypedArray', 'prototype'],\n\t'%TypeErrorPrototype%': ['TypeError', 'prototype'],\n\t'%Uint8ArrayPrototype%': ['Uint8Array', 'prototype'],\n\t'%Uint8ClampedArrayPrototype%': ['Uint8ClampedArray', 'prototype'],\n\t'%Uint16ArrayPrototype%': ['Uint16Array', 'prototype'],\n\t'%Uint32ArrayPrototype%': ['Uint32Array', 'prototype'],\n\t'%URIErrorPrototype%': ['URIError', 'prototype'],\n\t'%WeakMapPrototype%': ['WeakMap', 'prototype'],\n\t'%WeakSetPrototype%': ['WeakSet', 'prototype']\n};\n\nvar bind = require('function-bind');\nvar hasOwn = require('hasown');\nvar $concat = bind.call(Function.call, Array.prototype.concat);\nvar $spliceApply = bind.call(Function.apply, Array.prototype.splice);\nvar $replace = bind.call(Function.call, String.prototype.replace);\nvar $strSlice = bind.call(Function.call, String.prototype.slice);\nvar $exec = bind.call(Function.call, RegExp.prototype.exec);\n\n/* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */\nvar rePropName = /[^%.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|%$))/g;\nvar reEscapeChar = /\\\\(\\\\)?/g; /** Used to match backslashes in property paths. */\nvar stringToPath = function stringToPath(string) {\n\tvar first = $strSlice(string, 0, 1);\n\tvar last = $strSlice(string, -1);\n\tif (first === '%' && last !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected closing `%`');\n\t} else if (last === '%' && first !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected opening `%`');\n\t}\n\tvar result = [];\n\t$replace(string, rePropName, function (match, number, quote, subString) {\n\t\tresult[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : number || match;\n\t});\n\treturn result;\n};\n/* end adaptation */\n\nvar getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) {\n\tvar intrinsicName = name;\n\tvar alias;\n\tif (hasOwn(LEGACY_ALIASES, intrinsicName)) {\n\t\talias = LEGACY_ALIASES[intrinsicName];\n\t\tintrinsicName = '%' + alias[0] + '%';\n\t}\n\n\tif (hasOwn(INTRINSICS, intrinsicName)) {\n\t\tvar value = INTRINSICS[intrinsicName];\n\t\tif (value === needsEval) {\n\t\t\tvalue = doEval(intrinsicName);\n\t\t}\n\t\tif (typeof value === 'undefined' && !allowMissing) {\n\t\t\tthrow new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!');\n\t\t}\n\n\t\treturn {\n\t\t\talias: alias,\n\t\t\tname: intrinsicName,\n\t\t\tvalue: value\n\t\t};\n\t}\n\n\tthrow new $SyntaxError('intrinsic ' + name + ' does not exist!');\n};\n\nmodule.exports = function GetIntrinsic(name, allowMissing) {\n\tif (typeof name !== 'string' || name.length === 0) {\n\t\tthrow new $TypeError('intrinsic name must be a non-empty string');\n\t}\n\tif (arguments.length > 1 && typeof allowMissing !== 'boolean') {\n\t\tthrow new $TypeError('\"allowMissing\" argument must be a boolean');\n\t}\n\n\tif ($exec(/^%?[^%]*%?$/, name) === null) {\n\t\tthrow new $SyntaxError('`%` may not be present anywhere but at the beginning and end of the intrinsic name');\n\t}\n\tvar parts = stringToPath(name);\n\tvar intrinsicBaseName = parts.length > 0 ? parts[0] : '';\n\n\tvar intrinsic = getBaseIntrinsic('%' + intrinsicBaseName + '%', allowMissing);\n\tvar intrinsicRealName = intrinsic.name;\n\tvar value = intrinsic.value;\n\tvar skipFurtherCaching = false;\n\n\tvar alias = intrinsic.alias;\n\tif (alias) {\n\t\tintrinsicBaseName = alias[0];\n\t\t$spliceApply(parts, $concat([0, 1], alias));\n\t}\n\n\tfor (var i = 1, isOwn = true; i < parts.length; i += 1) {\n\t\tvar part = parts[i];\n\t\tvar first = $strSlice(part, 0, 1);\n\t\tvar last = $strSlice(part, -1);\n\t\tif (\n\t\t\t(\n\t\t\t\t(first === '\"' || first === \"'\" || first === '`')\n\t\t\t\t|| (last === '\"' || last === \"'\" || last === '`')\n\t\t\t)\n\t\t\t&& first !== last\n\t\t) {\n\t\t\tthrow new $SyntaxError('property names with quotes must have matching quotes');\n\t\t}\n\t\tif (part === 'constructor' || !isOwn) {\n\t\t\tskipFurtherCaching = true;\n\t\t}\n\n\t\tintrinsicBaseName += '.' + part;\n\t\tintrinsicRealName = '%' + intrinsicBaseName + '%';\n\n\t\tif (hasOwn(INTRINSICS, intrinsicRealName)) {\n\t\t\tvalue = INTRINSICS[intrinsicRealName];\n\t\t} else if (value != null) {\n\t\t\tif (!(part in value)) {\n\t\t\t\tif (!allowMissing) {\n\t\t\t\t\tthrow new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.');\n\t\t\t\t}\n\t\t\t\treturn void undefined;\n\t\t\t}\n\t\t\tif ($gOPD && (i + 1) >= parts.length) {\n\t\t\t\tvar desc = $gOPD(value, part);\n\t\t\t\tisOwn = !!desc;\n\n\t\t\t\t// By convention, when a data property is converted to an accessor\n\t\t\t\t// property to emulate a data property that does not suffer from\n\t\t\t\t// the override mistake, that accessor's getter is marked with\n\t\t\t\t// an `originalValue` property. Here, when we detect this, we\n\t\t\t\t// uphold the illusion by pretending to see that original data\n\t\t\t\t// property, i.e., returning the value rather than the getter\n\t\t\t\t// itself.\n\t\t\t\tif (isOwn && 'get' in desc && !('originalValue' in desc.get)) {\n\t\t\t\t\tvalue = desc.get;\n\t\t\t\t} else {\n\t\t\t\t\tvalue = value[part];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tisOwn = hasOwn(value, part);\n\t\t\t\tvalue = value[part];\n\t\t\t}\n\n\t\t\tif (isOwn && !skipFurtherCaching) {\n\t\t\t\tINTRINSICS[intrinsicRealName] = value;\n\t\t\t}\n\t\t}\n\t}\n\treturn value;\n};\n","'use strict'\n\nvar isUrl = require('is-url')\nvar queryString = require('query-string')\nvar normalizeUrl = require('normalize-url')\n\nmodule.exports = function(queryParam, url) {\n if (typeof queryParam !== 'string' || typeof url !== 'string') {\n throw new TypeError('get-query-param expected two strings')\n }\n\n var fullUrl = /^[\\/\\?]/.test(url) ? `foo.bar${url}` : url\n var normalizedUrl = normalizeUrl(fullUrl)\n\n if (!isUrl(normalizedUrl)) { return }\n\n var parsed = queryString.parse(normalizedUrl.split('?')[1])\n\n return parsed[queryParam]\n}\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar $gOPD = GetIntrinsic('%Object.getOwnPropertyDescriptor%', true);\n\nif ($gOPD) {\n\ttry {\n\t\t$gOPD([], 'length');\n\t} catch (e) {\n\t\t// IE 8 has a broken gOPD\n\t\t$gOPD = null;\n\t}\n}\n\nmodule.exports = $gOPD;\n","/*! Hammer.JS - v2.0.7 - 2016-04-22\n * http://hammerjs.github.io/\n *\n * Copyright (c) 2016 Jorik Tangelder;\n * Licensed under the MIT license */\n(function(window, document, exportName, undefined) {\n 'use strict';\n\nvar VENDOR_PREFIXES = ['', 'webkit', 'Moz', 'MS', 'ms', 'o'];\nvar TEST_ELEMENT = document.createElement('div');\n\nvar TYPE_FUNCTION = 'function';\n\nvar round = Math.round;\nvar abs = Math.abs;\nvar now = Date.now;\n\n/**\n * set a timeout with a given scope\n * @param {Function} fn\n * @param {Number} timeout\n * @param {Object} context\n * @returns {number}\n */\nfunction setTimeoutContext(fn, timeout, context) {\n return setTimeout(bindFn(fn, context), timeout);\n}\n\n/**\n * if the argument is an array, we want to execute the fn on each entry\n * if it aint an array we don't want to do a thing.\n * this is used by all the methods that accept a single and array argument.\n * @param {*|Array} arg\n * @param {String} fn\n * @param {Object} [context]\n * @returns {Boolean}\n */\nfunction invokeArrayArg(arg, fn, context) {\n if (Array.isArray(arg)) {\n each(arg, context[fn], context);\n return true;\n }\n return false;\n}\n\n/**\n * walk objects and arrays\n * @param {Object} obj\n * @param {Function} iterator\n * @param {Object} context\n */\nfunction each(obj, iterator, context) {\n var i;\n\n if (!obj) {\n return;\n }\n\n if (obj.forEach) {\n obj.forEach(iterator, context);\n } else if (obj.length !== undefined) {\n i = 0;\n while (i < obj.length) {\n iterator.call(context, obj[i], i, obj);\n i++;\n }\n } else {\n for (i in obj) {\n obj.hasOwnProperty(i) && iterator.call(context, obj[i], i, obj);\n }\n }\n}\n\n/**\n * wrap a method with a deprecation warning and stack trace\n * @param {Function} method\n * @param {String} name\n * @param {String} message\n * @returns {Function} A new function wrapping the supplied method.\n */\nfunction deprecate(method, name, message) {\n var deprecationMessage = 'DEPRECATED METHOD: ' + name + '\\n' + message + ' AT \\n';\n return function() {\n var e = new Error('get-stack-trace');\n var stack = e && e.stack ? e.stack.replace(/^[^\\(]+?[\\n$]/gm, '')\n .replace(/^\\s+at\\s+/gm, '')\n .replace(/^Object.\\s*\\(/gm, '{anonymous}()@') : 'Unknown Stack Trace';\n\n var log = window.console && (window.console.warn || window.console.log);\n if (log) {\n log.call(window.console, deprecationMessage, stack);\n }\n return method.apply(this, arguments);\n };\n}\n\n/**\n * extend object.\n * means that properties in dest will be overwritten by the ones in src.\n * @param {Object} target\n * @param {...Object} objects_to_assign\n * @returns {Object} target\n */\nvar assign;\nif (typeof Object.assign !== 'function') {\n assign = function assign(target) {\n if (target === undefined || target === null) {\n throw new TypeError('Cannot convert undefined or null to object');\n }\n\n var output = Object(target);\n for (var index = 1; index < arguments.length; index++) {\n var source = arguments[index];\n if (source !== undefined && source !== null) {\n for (var nextKey in source) {\n if (source.hasOwnProperty(nextKey)) {\n output[nextKey] = source[nextKey];\n }\n }\n }\n }\n return output;\n };\n} else {\n assign = Object.assign;\n}\n\n/**\n * extend object.\n * means that properties in dest will be overwritten by the ones in src.\n * @param {Object} dest\n * @param {Object} src\n * @param {Boolean} [merge=false]\n * @returns {Object} dest\n */\nvar extend = deprecate(function extend(dest, src, merge) {\n var keys = Object.keys(src);\n var i = 0;\n while (i < keys.length) {\n if (!merge || (merge && dest[keys[i]] === undefined)) {\n dest[keys[i]] = src[keys[i]];\n }\n i++;\n }\n return dest;\n}, 'extend', 'Use `assign`.');\n\n/**\n * merge the values from src in the dest.\n * means that properties that exist in dest will not be overwritten by src\n * @param {Object} dest\n * @param {Object} src\n * @returns {Object} dest\n */\nvar merge = deprecate(function merge(dest, src) {\n return extend(dest, src, true);\n}, 'merge', 'Use `assign`.');\n\n/**\n * simple class inheritance\n * @param {Function} child\n * @param {Function} base\n * @param {Object} [properties]\n */\nfunction inherit(child, base, properties) {\n var baseP = base.prototype,\n childP;\n\n childP = child.prototype = Object.create(baseP);\n childP.constructor = child;\n childP._super = baseP;\n\n if (properties) {\n assign(childP, properties);\n }\n}\n\n/**\n * simple function bind\n * @param {Function} fn\n * @param {Object} context\n * @returns {Function}\n */\nfunction bindFn(fn, context) {\n return function boundFn() {\n return fn.apply(context, arguments);\n };\n}\n\n/**\n * let a boolean value also be a function that must return a boolean\n * this first item in args will be used as the context\n * @param {Boolean|Function} val\n * @param {Array} [args]\n * @returns {Boolean}\n */\nfunction boolOrFn(val, args) {\n if (typeof val == TYPE_FUNCTION) {\n return val.apply(args ? args[0] || undefined : undefined, args);\n }\n return val;\n}\n\n/**\n * use the val2 when val1 is undefined\n * @param {*} val1\n * @param {*} val2\n * @returns {*}\n */\nfunction ifUndefined(val1, val2) {\n return (val1 === undefined) ? val2 : val1;\n}\n\n/**\n * addEventListener with multiple events at once\n * @param {EventTarget} target\n * @param {String} types\n * @param {Function} handler\n */\nfunction addEventListeners(target, types, handler) {\n each(splitStr(types), function(type) {\n target.addEventListener(type, handler, false);\n });\n}\n\n/**\n * removeEventListener with multiple events at once\n * @param {EventTarget} target\n * @param {String} types\n * @param {Function} handler\n */\nfunction removeEventListeners(target, types, handler) {\n each(splitStr(types), function(type) {\n target.removeEventListener(type, handler, false);\n });\n}\n\n/**\n * find if a node is in the given parent\n * @method hasParent\n * @param {HTMLElement} node\n * @param {HTMLElement} parent\n * @return {Boolean} found\n */\nfunction hasParent(node, parent) {\n while (node) {\n if (node == parent) {\n return true;\n }\n node = node.parentNode;\n }\n return false;\n}\n\n/**\n * small indexOf wrapper\n * @param {String} str\n * @param {String} find\n * @returns {Boolean} found\n */\nfunction inStr(str, find) {\n return str.indexOf(find) > -1;\n}\n\n/**\n * split string on whitespace\n * @param {String} str\n * @returns {Array} words\n */\nfunction splitStr(str) {\n return str.trim().split(/\\s+/g);\n}\n\n/**\n * find if a array contains the object using indexOf or a simple polyFill\n * @param {Array} src\n * @param {String} find\n * @param {String} [findByKey]\n * @return {Boolean|Number} false when not found, or the index\n */\nfunction inArray(src, find, findByKey) {\n if (src.indexOf && !findByKey) {\n return src.indexOf(find);\n } else {\n var i = 0;\n while (i < src.length) {\n if ((findByKey && src[i][findByKey] == find) || (!findByKey && src[i] === find)) {\n return i;\n }\n i++;\n }\n return -1;\n }\n}\n\n/**\n * convert array-like objects to real arrays\n * @param {Object} obj\n * @returns {Array}\n */\nfunction toArray(obj) {\n return Array.prototype.slice.call(obj, 0);\n}\n\n/**\n * unique array with objects based on a key (like 'id') or just by the array's value\n * @param {Array} src [{id:1},{id:2},{id:1}]\n * @param {String} [key]\n * @param {Boolean} [sort=False]\n * @returns {Array} [{id:1},{id:2}]\n */\nfunction uniqueArray(src, key, sort) {\n var results = [];\n var values = [];\n var i = 0;\n\n while (i < src.length) {\n var val = key ? src[i][key] : src[i];\n if (inArray(values, val) < 0) {\n results.push(src[i]);\n }\n values[i] = val;\n i++;\n }\n\n if (sort) {\n if (!key) {\n results = results.sort();\n } else {\n results = results.sort(function sortUniqueArray(a, b) {\n return a[key] > b[key];\n });\n }\n }\n\n return results;\n}\n\n/**\n * get the prefixed property\n * @param {Object} obj\n * @param {String} property\n * @returns {String|Undefined} prefixed\n */\nfunction prefixed(obj, property) {\n var prefix, prop;\n var camelProp = property[0].toUpperCase() + property.slice(1);\n\n var i = 0;\n while (i < VENDOR_PREFIXES.length) {\n prefix = VENDOR_PREFIXES[i];\n prop = (prefix) ? prefix + camelProp : property;\n\n if (prop in obj) {\n return prop;\n }\n i++;\n }\n return undefined;\n}\n\n/**\n * get a unique id\n * @returns {number} uniqueId\n */\nvar _uniqueId = 1;\nfunction uniqueId() {\n return _uniqueId++;\n}\n\n/**\n * get the window object of an element\n * @param {HTMLElement} element\n * @returns {DocumentView|Window}\n */\nfunction getWindowForElement(element) {\n var doc = element.ownerDocument || element;\n return (doc.defaultView || doc.parentWindow || window);\n}\n\nvar MOBILE_REGEX = /mobile|tablet|ip(ad|hone|od)|android/i;\n\nvar SUPPORT_TOUCH = ('ontouchstart' in window);\nvar SUPPORT_POINTER_EVENTS = prefixed(window, 'PointerEvent') !== undefined;\nvar SUPPORT_ONLY_TOUCH = SUPPORT_TOUCH && MOBILE_REGEX.test(navigator.userAgent);\n\nvar INPUT_TYPE_TOUCH = 'touch';\nvar INPUT_TYPE_PEN = 'pen';\nvar INPUT_TYPE_MOUSE = 'mouse';\nvar INPUT_TYPE_KINECT = 'kinect';\n\nvar COMPUTE_INTERVAL = 25;\n\nvar INPUT_START = 1;\nvar INPUT_MOVE = 2;\nvar INPUT_END = 4;\nvar INPUT_CANCEL = 8;\n\nvar DIRECTION_NONE = 1;\nvar DIRECTION_LEFT = 2;\nvar DIRECTION_RIGHT = 4;\nvar DIRECTION_UP = 8;\nvar DIRECTION_DOWN = 16;\n\nvar DIRECTION_HORIZONTAL = DIRECTION_LEFT | DIRECTION_RIGHT;\nvar DIRECTION_VERTICAL = DIRECTION_UP | DIRECTION_DOWN;\nvar DIRECTION_ALL = DIRECTION_HORIZONTAL | DIRECTION_VERTICAL;\n\nvar PROPS_XY = ['x', 'y'];\nvar PROPS_CLIENT_XY = ['clientX', 'clientY'];\n\n/**\n * create new input type manager\n * @param {Manager} manager\n * @param {Function} callback\n * @returns {Input}\n * @constructor\n */\nfunction Input(manager, callback) {\n var self = this;\n this.manager = manager;\n this.callback = callback;\n this.element = manager.element;\n this.target = manager.options.inputTarget;\n\n // smaller wrapper around the handler, for the scope and the enabled state of the manager,\n // so when disabled the input events are completely bypassed.\n this.domHandler = function(ev) {\n if (boolOrFn(manager.options.enable, [manager])) {\n self.handler(ev);\n }\n };\n\n this.init();\n\n}\n\nInput.prototype = {\n /**\n * should handle the inputEvent data and trigger the callback\n * @virtual\n */\n handler: function() { },\n\n /**\n * bind the events\n */\n init: function() {\n this.evEl && addEventListeners(this.element, this.evEl, this.domHandler);\n this.evTarget && addEventListeners(this.target, this.evTarget, this.domHandler);\n this.evWin && addEventListeners(getWindowForElement(this.element), this.evWin, this.domHandler);\n },\n\n /**\n * unbind the events\n */\n destroy: function() {\n this.evEl && removeEventListeners(this.element, this.evEl, this.domHandler);\n this.evTarget && removeEventListeners(this.target, this.evTarget, this.domHandler);\n this.evWin && removeEventListeners(getWindowForElement(this.element), this.evWin, this.domHandler);\n }\n};\n\n/**\n * create new input type manager\n * called by the Manager constructor\n * @param {Hammer} manager\n * @returns {Input}\n */\nfunction createInputInstance(manager) {\n var Type;\n var inputClass = manager.options.inputClass;\n\n if (inputClass) {\n Type = inputClass;\n } else if (SUPPORT_POINTER_EVENTS) {\n Type = PointerEventInput;\n } else if (SUPPORT_ONLY_TOUCH) {\n Type = TouchInput;\n } else if (!SUPPORT_TOUCH) {\n Type = MouseInput;\n } else {\n Type = TouchMouseInput;\n }\n return new (Type)(manager, inputHandler);\n}\n\n/**\n * handle input events\n * @param {Manager} manager\n * @param {String} eventType\n * @param {Object} input\n */\nfunction inputHandler(manager, eventType, input) {\n var pointersLen = input.pointers.length;\n var changedPointersLen = input.changedPointers.length;\n var isFirst = (eventType & INPUT_START && (pointersLen - changedPointersLen === 0));\n var isFinal = (eventType & (INPUT_END | INPUT_CANCEL) && (pointersLen - changedPointersLen === 0));\n\n input.isFirst = !!isFirst;\n input.isFinal = !!isFinal;\n\n if (isFirst) {\n manager.session = {};\n }\n\n // source event is the normalized value of the domEvents\n // like 'touchstart, mouseup, pointerdown'\n input.eventType = eventType;\n\n // compute scale, rotation etc\n computeInputData(manager, input);\n\n // emit secret event\n manager.emit('hammer.input', input);\n\n manager.recognize(input);\n manager.session.prevInput = input;\n}\n\n/**\n * extend the data with some usable properties like scale, rotate, velocity etc\n * @param {Object} manager\n * @param {Object} input\n */\nfunction computeInputData(manager, input) {\n var session = manager.session;\n var pointers = input.pointers;\n var pointersLength = pointers.length;\n\n // store the first input to calculate the distance and direction\n if (!session.firstInput) {\n session.firstInput = simpleCloneInputData(input);\n }\n\n // to compute scale and rotation we need to store the multiple touches\n if (pointersLength > 1 && !session.firstMultiple) {\n session.firstMultiple = simpleCloneInputData(input);\n } else if (pointersLength === 1) {\n session.firstMultiple = false;\n }\n\n var firstInput = session.firstInput;\n var firstMultiple = session.firstMultiple;\n var offsetCenter = firstMultiple ? firstMultiple.center : firstInput.center;\n\n var center = input.center = getCenter(pointers);\n input.timeStamp = now();\n input.deltaTime = input.timeStamp - firstInput.timeStamp;\n\n input.angle = getAngle(offsetCenter, center);\n input.distance = getDistance(offsetCenter, center);\n\n computeDeltaXY(session, input);\n input.offsetDirection = getDirection(input.deltaX, input.deltaY);\n\n var overallVelocity = getVelocity(input.deltaTime, input.deltaX, input.deltaY);\n input.overallVelocityX = overallVelocity.x;\n input.overallVelocityY = overallVelocity.y;\n input.overallVelocity = (abs(overallVelocity.x) > abs(overallVelocity.y)) ? overallVelocity.x : overallVelocity.y;\n\n input.scale = firstMultiple ? getScale(firstMultiple.pointers, pointers) : 1;\n input.rotation = firstMultiple ? getRotation(firstMultiple.pointers, pointers) : 0;\n\n input.maxPointers = !session.prevInput ? input.pointers.length : ((input.pointers.length >\n session.prevInput.maxPointers) ? input.pointers.length : session.prevInput.maxPointers);\n\n computeIntervalInputData(session, input);\n\n // find the correct target\n var target = manager.element;\n if (hasParent(input.srcEvent.target, target)) {\n target = input.srcEvent.target;\n }\n input.target = target;\n}\n\nfunction computeDeltaXY(session, input) {\n var center = input.center;\n var offset = session.offsetDelta || {};\n var prevDelta = session.prevDelta || {};\n var prevInput = session.prevInput || {};\n\n if (input.eventType === INPUT_START || prevInput.eventType === INPUT_END) {\n prevDelta = session.prevDelta = {\n x: prevInput.deltaX || 0,\n y: prevInput.deltaY || 0\n };\n\n offset = session.offsetDelta = {\n x: center.x,\n y: center.y\n };\n }\n\n input.deltaX = prevDelta.x + (center.x - offset.x);\n input.deltaY = prevDelta.y + (center.y - offset.y);\n}\n\n/**\n * velocity is calculated every x ms\n * @param {Object} session\n * @param {Object} input\n */\nfunction computeIntervalInputData(session, input) {\n var last = session.lastInterval || input,\n deltaTime = input.timeStamp - last.timeStamp,\n velocity, velocityX, velocityY, direction;\n\n if (input.eventType != INPUT_CANCEL && (deltaTime > COMPUTE_INTERVAL || last.velocity === undefined)) {\n var deltaX = input.deltaX - last.deltaX;\n var deltaY = input.deltaY - last.deltaY;\n\n var v = getVelocity(deltaTime, deltaX, deltaY);\n velocityX = v.x;\n velocityY = v.y;\n velocity = (abs(v.x) > abs(v.y)) ? v.x : v.y;\n direction = getDirection(deltaX, deltaY);\n\n session.lastInterval = input;\n } else {\n // use latest velocity info if it doesn't overtake a minimum period\n velocity = last.velocity;\n velocityX = last.velocityX;\n velocityY = last.velocityY;\n direction = last.direction;\n }\n\n input.velocity = velocity;\n input.velocityX = velocityX;\n input.velocityY = velocityY;\n input.direction = direction;\n}\n\n/**\n * create a simple clone from the input used for storage of firstInput and firstMultiple\n * @param {Object} input\n * @returns {Object} clonedInputData\n */\nfunction simpleCloneInputData(input) {\n // make a simple copy of the pointers because we will get a reference if we don't\n // we only need clientXY for the calculations\n var pointers = [];\n var i = 0;\n while (i < input.pointers.length) {\n pointers[i] = {\n clientX: round(input.pointers[i].clientX),\n clientY: round(input.pointers[i].clientY)\n };\n i++;\n }\n\n return {\n timeStamp: now(),\n pointers: pointers,\n center: getCenter(pointers),\n deltaX: input.deltaX,\n deltaY: input.deltaY\n };\n}\n\n/**\n * get the center of all the pointers\n * @param {Array} pointers\n * @return {Object} center contains `x` and `y` properties\n */\nfunction getCenter(pointers) {\n var pointersLength = pointers.length;\n\n // no need to loop when only one touch\n if (pointersLength === 1) {\n return {\n x: round(pointers[0].clientX),\n y: round(pointers[0].clientY)\n };\n }\n\n var x = 0, y = 0, i = 0;\n while (i < pointersLength) {\n x += pointers[i].clientX;\n y += pointers[i].clientY;\n i++;\n }\n\n return {\n x: round(x / pointersLength),\n y: round(y / pointersLength)\n };\n}\n\n/**\n * calculate the velocity between two points. unit is in px per ms.\n * @param {Number} deltaTime\n * @param {Number} x\n * @param {Number} y\n * @return {Object} velocity `x` and `y`\n */\nfunction getVelocity(deltaTime, x, y) {\n return {\n x: x / deltaTime || 0,\n y: y / deltaTime || 0\n };\n}\n\n/**\n * get the direction between two points\n * @param {Number} x\n * @param {Number} y\n * @return {Number} direction\n */\nfunction getDirection(x, y) {\n if (x === y) {\n return DIRECTION_NONE;\n }\n\n if (abs(x) >= abs(y)) {\n return x < 0 ? DIRECTION_LEFT : DIRECTION_RIGHT;\n }\n return y < 0 ? DIRECTION_UP : DIRECTION_DOWN;\n}\n\n/**\n * calculate the absolute distance between two points\n * @param {Object} p1 {x, y}\n * @param {Object} p2 {x, y}\n * @param {Array} [props] containing x and y keys\n * @return {Number} distance\n */\nfunction getDistance(p1, p2, props) {\n if (!props) {\n props = PROPS_XY;\n }\n var x = p2[props[0]] - p1[props[0]],\n y = p2[props[1]] - p1[props[1]];\n\n return Math.sqrt((x * x) + (y * y));\n}\n\n/**\n * calculate the angle between two coordinates\n * @param {Object} p1\n * @param {Object} p2\n * @param {Array} [props] containing x and y keys\n * @return {Number} angle\n */\nfunction getAngle(p1, p2, props) {\n if (!props) {\n props = PROPS_XY;\n }\n var x = p2[props[0]] - p1[props[0]],\n y = p2[props[1]] - p1[props[1]];\n return Math.atan2(y, x) * 180 / Math.PI;\n}\n\n/**\n * calculate the rotation degrees between two pointersets\n * @param {Array} start array of pointers\n * @param {Array} end array of pointers\n * @return {Number} rotation\n */\nfunction getRotation(start, end) {\n return getAngle(end[1], end[0], PROPS_CLIENT_XY) + getAngle(start[1], start[0], PROPS_CLIENT_XY);\n}\n\n/**\n * calculate the scale factor between two pointersets\n * no scale is 1, and goes down to 0 when pinched together, and bigger when pinched out\n * @param {Array} start array of pointers\n * @param {Array} end array of pointers\n * @return {Number} scale\n */\nfunction getScale(start, end) {\n return getDistance(end[0], end[1], PROPS_CLIENT_XY) / getDistance(start[0], start[1], PROPS_CLIENT_XY);\n}\n\nvar MOUSE_INPUT_MAP = {\n mousedown: INPUT_START,\n mousemove: INPUT_MOVE,\n mouseup: INPUT_END\n};\n\nvar MOUSE_ELEMENT_EVENTS = 'mousedown';\nvar MOUSE_WINDOW_EVENTS = 'mousemove mouseup';\n\n/**\n * Mouse events input\n * @constructor\n * @extends Input\n */\nfunction MouseInput() {\n this.evEl = MOUSE_ELEMENT_EVENTS;\n this.evWin = MOUSE_WINDOW_EVENTS;\n\n this.pressed = false; // mousedown state\n\n Input.apply(this, arguments);\n}\n\ninherit(MouseInput, Input, {\n /**\n * handle mouse events\n * @param {Object} ev\n */\n handler: function MEhandler(ev) {\n var eventType = MOUSE_INPUT_MAP[ev.type];\n\n // on start we want to have the left mouse button down\n if (eventType & INPUT_START && ev.button === 0) {\n this.pressed = true;\n }\n\n if (eventType & INPUT_MOVE && ev.which !== 1) {\n eventType = INPUT_END;\n }\n\n // mouse must be down\n if (!this.pressed) {\n return;\n }\n\n if (eventType & INPUT_END) {\n this.pressed = false;\n }\n\n this.callback(this.manager, eventType, {\n pointers: [ev],\n changedPointers: [ev],\n pointerType: INPUT_TYPE_MOUSE,\n srcEvent: ev\n });\n }\n});\n\nvar POINTER_INPUT_MAP = {\n pointerdown: INPUT_START,\n pointermove: INPUT_MOVE,\n pointerup: INPUT_END,\n pointercancel: INPUT_CANCEL,\n pointerout: INPUT_CANCEL\n};\n\n// in IE10 the pointer types is defined as an enum\nvar IE10_POINTER_TYPE_ENUM = {\n 2: INPUT_TYPE_TOUCH,\n 3: INPUT_TYPE_PEN,\n 4: INPUT_TYPE_MOUSE,\n 5: INPUT_TYPE_KINECT // see https://twitter.com/jacobrossi/status/480596438489890816\n};\n\nvar POINTER_ELEMENT_EVENTS = 'pointerdown';\nvar POINTER_WINDOW_EVENTS = 'pointermove pointerup pointercancel';\n\n// IE10 has prefixed support, and case-sensitive\nif (window.MSPointerEvent && !window.PointerEvent) {\n POINTER_ELEMENT_EVENTS = 'MSPointerDown';\n POINTER_WINDOW_EVENTS = 'MSPointerMove MSPointerUp MSPointerCancel';\n}\n\n/**\n * Pointer events input\n * @constructor\n * @extends Input\n */\nfunction PointerEventInput() {\n this.evEl = POINTER_ELEMENT_EVENTS;\n this.evWin = POINTER_WINDOW_EVENTS;\n\n Input.apply(this, arguments);\n\n this.store = (this.manager.session.pointerEvents = []);\n}\n\ninherit(PointerEventInput, Input, {\n /**\n * handle mouse events\n * @param {Object} ev\n */\n handler: function PEhandler(ev) {\n var store = this.store;\n var removePointer = false;\n\n var eventTypeNormalized = ev.type.toLowerCase().replace('ms', '');\n var eventType = POINTER_INPUT_MAP[eventTypeNormalized];\n var pointerType = IE10_POINTER_TYPE_ENUM[ev.pointerType] || ev.pointerType;\n\n var isTouch = (pointerType == INPUT_TYPE_TOUCH);\n\n // get index of the event in the store\n var storeIndex = inArray(store, ev.pointerId, 'pointerId');\n\n // start and mouse must be down\n if (eventType & INPUT_START && (ev.button === 0 || isTouch)) {\n if (storeIndex < 0) {\n store.push(ev);\n storeIndex = store.length - 1;\n }\n } else if (eventType & (INPUT_END | INPUT_CANCEL)) {\n removePointer = true;\n }\n\n // it not found, so the pointer hasn't been down (so it's probably a hover)\n if (storeIndex < 0) {\n return;\n }\n\n // update the event in the store\n store[storeIndex] = ev;\n\n this.callback(this.manager, eventType, {\n pointers: store,\n changedPointers: [ev],\n pointerType: pointerType,\n srcEvent: ev\n });\n\n if (removePointer) {\n // remove from the store\n store.splice(storeIndex, 1);\n }\n }\n});\n\nvar SINGLE_TOUCH_INPUT_MAP = {\n touchstart: INPUT_START,\n touchmove: INPUT_MOVE,\n touchend: INPUT_END,\n touchcancel: INPUT_CANCEL\n};\n\nvar SINGLE_TOUCH_TARGET_EVENTS = 'touchstart';\nvar SINGLE_TOUCH_WINDOW_EVENTS = 'touchstart touchmove touchend touchcancel';\n\n/**\n * Touch events input\n * @constructor\n * @extends Input\n */\nfunction SingleTouchInput() {\n this.evTarget = SINGLE_TOUCH_TARGET_EVENTS;\n this.evWin = SINGLE_TOUCH_WINDOW_EVENTS;\n this.started = false;\n\n Input.apply(this, arguments);\n}\n\ninherit(SingleTouchInput, Input, {\n handler: function TEhandler(ev) {\n var type = SINGLE_TOUCH_INPUT_MAP[ev.type];\n\n // should we handle the touch events?\n if (type === INPUT_START) {\n this.started = true;\n }\n\n if (!this.started) {\n return;\n }\n\n var touches = normalizeSingleTouches.call(this, ev, type);\n\n // when done, reset the started state\n if (type & (INPUT_END | INPUT_CANCEL) && touches[0].length - touches[1].length === 0) {\n this.started = false;\n }\n\n this.callback(this.manager, type, {\n pointers: touches[0],\n changedPointers: touches[1],\n pointerType: INPUT_TYPE_TOUCH,\n srcEvent: ev\n });\n }\n});\n\n/**\n * @this {TouchInput}\n * @param {Object} ev\n * @param {Number} type flag\n * @returns {undefined|Array} [all, changed]\n */\nfunction normalizeSingleTouches(ev, type) {\n var all = toArray(ev.touches);\n var changed = toArray(ev.changedTouches);\n\n if (type & (INPUT_END | INPUT_CANCEL)) {\n all = uniqueArray(all.concat(changed), 'identifier', true);\n }\n\n return [all, changed];\n}\n\nvar TOUCH_INPUT_MAP = {\n touchstart: INPUT_START,\n touchmove: INPUT_MOVE,\n touchend: INPUT_END,\n touchcancel: INPUT_CANCEL\n};\n\nvar TOUCH_TARGET_EVENTS = 'touchstart touchmove touchend touchcancel';\n\n/**\n * Multi-user touch events input\n * @constructor\n * @extends Input\n */\nfunction TouchInput() {\n this.evTarget = TOUCH_TARGET_EVENTS;\n this.targetIds = {};\n\n Input.apply(this, arguments);\n}\n\ninherit(TouchInput, Input, {\n handler: function MTEhandler(ev) {\n var type = TOUCH_INPUT_MAP[ev.type];\n var touches = getTouches.call(this, ev, type);\n if (!touches) {\n return;\n }\n\n this.callback(this.manager, type, {\n pointers: touches[0],\n changedPointers: touches[1],\n pointerType: INPUT_TYPE_TOUCH,\n srcEvent: ev\n });\n }\n});\n\n/**\n * @this {TouchInput}\n * @param {Object} ev\n * @param {Number} type flag\n * @returns {undefined|Array} [all, changed]\n */\nfunction getTouches(ev, type) {\n var allTouches = toArray(ev.touches);\n var targetIds = this.targetIds;\n\n // when there is only one touch, the process can be simplified\n if (type & (INPUT_START | INPUT_MOVE) && allTouches.length === 1) {\n targetIds[allTouches[0].identifier] = true;\n return [allTouches, allTouches];\n }\n\n var i,\n targetTouches,\n changedTouches = toArray(ev.changedTouches),\n changedTargetTouches = [],\n target = this.target;\n\n // get target touches from touches\n targetTouches = allTouches.filter(function(touch) {\n return hasParent(touch.target, target);\n });\n\n // collect touches\n if (type === INPUT_START) {\n i = 0;\n while (i < targetTouches.length) {\n targetIds[targetTouches[i].identifier] = true;\n i++;\n }\n }\n\n // filter changed touches to only contain touches that exist in the collected target ids\n i = 0;\n while (i < changedTouches.length) {\n if (targetIds[changedTouches[i].identifier]) {\n changedTargetTouches.push(changedTouches[i]);\n }\n\n // cleanup removed touches\n if (type & (INPUT_END | INPUT_CANCEL)) {\n delete targetIds[changedTouches[i].identifier];\n }\n i++;\n }\n\n if (!changedTargetTouches.length) {\n return;\n }\n\n return [\n // merge targetTouches with changedTargetTouches so it contains ALL touches, including 'end' and 'cancel'\n uniqueArray(targetTouches.concat(changedTargetTouches), 'identifier', true),\n changedTargetTouches\n ];\n}\n\n/**\n * Combined touch and mouse input\n *\n * Touch has a higher priority then mouse, and while touching no mouse events are allowed.\n * This because touch devices also emit mouse events while doing a touch.\n *\n * @constructor\n * @extends Input\n */\n\nvar DEDUP_TIMEOUT = 2500;\nvar DEDUP_DISTANCE = 25;\n\nfunction TouchMouseInput() {\n Input.apply(this, arguments);\n\n var handler = bindFn(this.handler, this);\n this.touch = new TouchInput(this.manager, handler);\n this.mouse = new MouseInput(this.manager, handler);\n\n this.primaryTouch = null;\n this.lastTouches = [];\n}\n\ninherit(TouchMouseInput, Input, {\n /**\n * handle mouse and touch events\n * @param {Hammer} manager\n * @param {String} inputEvent\n * @param {Object} inputData\n */\n handler: function TMEhandler(manager, inputEvent, inputData) {\n var isTouch = (inputData.pointerType == INPUT_TYPE_TOUCH),\n isMouse = (inputData.pointerType == INPUT_TYPE_MOUSE);\n\n if (isMouse && inputData.sourceCapabilities && inputData.sourceCapabilities.firesTouchEvents) {\n return;\n }\n\n // when we're in a touch event, record touches to de-dupe synthetic mouse event\n if (isTouch) {\n recordTouches.call(this, inputEvent, inputData);\n } else if (isMouse && isSyntheticEvent.call(this, inputData)) {\n return;\n }\n\n this.callback(manager, inputEvent, inputData);\n },\n\n /**\n * remove the event listeners\n */\n destroy: function destroy() {\n this.touch.destroy();\n this.mouse.destroy();\n }\n});\n\nfunction recordTouches(eventType, eventData) {\n if (eventType & INPUT_START) {\n this.primaryTouch = eventData.changedPointers[0].identifier;\n setLastTouch.call(this, eventData);\n } else if (eventType & (INPUT_END | INPUT_CANCEL)) {\n setLastTouch.call(this, eventData);\n }\n}\n\nfunction setLastTouch(eventData) {\n var touch = eventData.changedPointers[0];\n\n if (touch.identifier === this.primaryTouch) {\n var lastTouch = {x: touch.clientX, y: touch.clientY};\n this.lastTouches.push(lastTouch);\n var lts = this.lastTouches;\n var removeLastTouch = function() {\n var i = lts.indexOf(lastTouch);\n if (i > -1) {\n lts.splice(i, 1);\n }\n };\n setTimeout(removeLastTouch, DEDUP_TIMEOUT);\n }\n}\n\nfunction isSyntheticEvent(eventData) {\n var x = eventData.srcEvent.clientX, y = eventData.srcEvent.clientY;\n for (var i = 0; i < this.lastTouches.length; i++) {\n var t = this.lastTouches[i];\n var dx = Math.abs(x - t.x), dy = Math.abs(y - t.y);\n if (dx <= DEDUP_DISTANCE && dy <= DEDUP_DISTANCE) {\n return true;\n }\n }\n return false;\n}\n\nvar PREFIXED_TOUCH_ACTION = prefixed(TEST_ELEMENT.style, 'touchAction');\nvar NATIVE_TOUCH_ACTION = PREFIXED_TOUCH_ACTION !== undefined;\n\n// magical touchAction value\nvar TOUCH_ACTION_COMPUTE = 'compute';\nvar TOUCH_ACTION_AUTO = 'auto';\nvar TOUCH_ACTION_MANIPULATION = 'manipulation'; // not implemented\nvar TOUCH_ACTION_NONE = 'none';\nvar TOUCH_ACTION_PAN_X = 'pan-x';\nvar TOUCH_ACTION_PAN_Y = 'pan-y';\nvar TOUCH_ACTION_MAP = getTouchActionProps();\n\n/**\n * Touch Action\n * sets the touchAction property or uses the js alternative\n * @param {Manager} manager\n * @param {String} value\n * @constructor\n */\nfunction TouchAction(manager, value) {\n this.manager = manager;\n this.set(value);\n}\n\nTouchAction.prototype = {\n /**\n * set the touchAction value on the element or enable the polyfill\n * @param {String} value\n */\n set: function(value) {\n // find out the touch-action by the event handlers\n if (value == TOUCH_ACTION_COMPUTE) {\n value = this.compute();\n }\n\n if (NATIVE_TOUCH_ACTION && this.manager.element.style && TOUCH_ACTION_MAP[value]) {\n this.manager.element.style[PREFIXED_TOUCH_ACTION] = value;\n }\n this.actions = value.toLowerCase().trim();\n },\n\n /**\n * just re-set the touchAction value\n */\n update: function() {\n this.set(this.manager.options.touchAction);\n },\n\n /**\n * compute the value for the touchAction property based on the recognizer's settings\n * @returns {String} value\n */\n compute: function() {\n var actions = [];\n each(this.manager.recognizers, function(recognizer) {\n if (boolOrFn(recognizer.options.enable, [recognizer])) {\n actions = actions.concat(recognizer.getTouchAction());\n }\n });\n return cleanTouchActions(actions.join(' '));\n },\n\n /**\n * this method is called on each input cycle and provides the preventing of the browser behavior\n * @param {Object} input\n */\n preventDefaults: function(input) {\n var srcEvent = input.srcEvent;\n var direction = input.offsetDirection;\n\n // if the touch action did prevented once this session\n if (this.manager.session.prevented) {\n srcEvent.preventDefault();\n return;\n }\n\n var actions = this.actions;\n var hasNone = inStr(actions, TOUCH_ACTION_NONE) && !TOUCH_ACTION_MAP[TOUCH_ACTION_NONE];\n var hasPanY = inStr(actions, TOUCH_ACTION_PAN_Y) && !TOUCH_ACTION_MAP[TOUCH_ACTION_PAN_Y];\n var hasPanX = inStr(actions, TOUCH_ACTION_PAN_X) && !TOUCH_ACTION_MAP[TOUCH_ACTION_PAN_X];\n\n if (hasNone) {\n //do not prevent defaults if this is a tap gesture\n\n var isTapPointer = input.pointers.length === 1;\n var isTapMovement = input.distance < 2;\n var isTapTouchTime = input.deltaTime < 250;\n\n if (isTapPointer && isTapMovement && isTapTouchTime) {\n return;\n }\n }\n\n if (hasPanX && hasPanY) {\n // `pan-x pan-y` means browser handles all scrolling/panning, do not prevent\n return;\n }\n\n if (hasNone ||\n (hasPanY && direction & DIRECTION_HORIZONTAL) ||\n (hasPanX && direction & DIRECTION_VERTICAL)) {\n return this.preventSrc(srcEvent);\n }\n },\n\n /**\n * call preventDefault to prevent the browser's default behavior (scrolling in most cases)\n * @param {Object} srcEvent\n */\n preventSrc: function(srcEvent) {\n this.manager.session.prevented = true;\n srcEvent.preventDefault();\n }\n};\n\n/**\n * when the touchActions are collected they are not a valid value, so we need to clean things up. *\n * @param {String} actions\n * @returns {*}\n */\nfunction cleanTouchActions(actions) {\n // none\n if (inStr(actions, TOUCH_ACTION_NONE)) {\n return TOUCH_ACTION_NONE;\n }\n\n var hasPanX = inStr(actions, TOUCH_ACTION_PAN_X);\n var hasPanY = inStr(actions, TOUCH_ACTION_PAN_Y);\n\n // if both pan-x and pan-y are set (different recognizers\n // for different directions, e.g. horizontal pan but vertical swipe?)\n // we need none (as otherwise with pan-x pan-y combined none of these\n // recognizers will work, since the browser would handle all panning\n if (hasPanX && hasPanY) {\n return TOUCH_ACTION_NONE;\n }\n\n // pan-x OR pan-y\n if (hasPanX || hasPanY) {\n return hasPanX ? TOUCH_ACTION_PAN_X : TOUCH_ACTION_PAN_Y;\n }\n\n // manipulation\n if (inStr(actions, TOUCH_ACTION_MANIPULATION)) {\n return TOUCH_ACTION_MANIPULATION;\n }\n\n return TOUCH_ACTION_AUTO;\n}\n\nfunction getTouchActionProps() {\n if (!NATIVE_TOUCH_ACTION) {\n return false;\n }\n var touchMap = {};\n var cssSupports = window.CSS && window.CSS.supports;\n ['auto', 'manipulation', 'pan-y', 'pan-x', 'pan-x pan-y', 'none'].forEach(function(val) {\n\n // If css.supports is not supported but there is native touch-action assume it supports\n // all values. This is the case for IE 10 and 11.\n touchMap[val] = cssSupports ? window.CSS.supports('touch-action', val) : true;\n });\n return touchMap;\n}\n\n/**\n * Recognizer flow explained; *\n * All recognizers have the initial state of POSSIBLE when a input session starts.\n * The definition of a input session is from the first input until the last input, with all it's movement in it. *\n * Example session for mouse-input: mousedown -> mousemove -> mouseup\n *\n * On each recognizing cycle (see Manager.recognize) the .recognize() method is executed\n * which determines with state it should be.\n *\n * If the recognizer has the state FAILED, CANCELLED or RECOGNIZED (equals ENDED), it is reset to\n * POSSIBLE to give it another change on the next cycle.\n *\n * Possible\n * |\n * +-----+---------------+\n * | |\n * +-----+-----+ |\n * | | |\n * Failed Cancelled |\n * +-------+------+\n * | |\n * Recognized Began\n * |\n * Changed\n * |\n * Ended/Recognized\n */\nvar STATE_POSSIBLE = 1;\nvar STATE_BEGAN = 2;\nvar STATE_CHANGED = 4;\nvar STATE_ENDED = 8;\nvar STATE_RECOGNIZED = STATE_ENDED;\nvar STATE_CANCELLED = 16;\nvar STATE_FAILED = 32;\n\n/**\n * Recognizer\n * Every recognizer needs to extend from this class.\n * @constructor\n * @param {Object} options\n */\nfunction Recognizer(options) {\n this.options = assign({}, this.defaults, options || {});\n\n this.id = uniqueId();\n\n this.manager = null;\n\n // default is enable true\n this.options.enable = ifUndefined(this.options.enable, true);\n\n this.state = STATE_POSSIBLE;\n\n this.simultaneous = {};\n this.requireFail = [];\n}\n\nRecognizer.prototype = {\n /**\n * @virtual\n * @type {Object}\n */\n defaults: {},\n\n /**\n * set options\n * @param {Object} options\n * @return {Recognizer}\n */\n set: function(options) {\n assign(this.options, options);\n\n // also update the touchAction, in case something changed about the directions/enabled state\n this.manager && this.manager.touchAction.update();\n return this;\n },\n\n /**\n * recognize simultaneous with an other recognizer.\n * @param {Recognizer} otherRecognizer\n * @returns {Recognizer} this\n */\n recognizeWith: function(otherRecognizer) {\n if (invokeArrayArg(otherRecognizer, 'recognizeWith', this)) {\n return this;\n }\n\n var simultaneous = this.simultaneous;\n otherRecognizer = getRecognizerByNameIfManager(otherRecognizer, this);\n if (!simultaneous[otherRecognizer.id]) {\n simultaneous[otherRecognizer.id] = otherRecognizer;\n otherRecognizer.recognizeWith(this);\n }\n return this;\n },\n\n /**\n * drop the simultaneous link. it doesnt remove the link on the other recognizer.\n * @param {Recognizer} otherRecognizer\n * @returns {Recognizer} this\n */\n dropRecognizeWith: function(otherRecognizer) {\n if (invokeArrayArg(otherRecognizer, 'dropRecognizeWith', this)) {\n return this;\n }\n\n otherRecognizer = getRecognizerByNameIfManager(otherRecognizer, this);\n delete this.simultaneous[otherRecognizer.id];\n return this;\n },\n\n /**\n * recognizer can only run when an other is failing\n * @param {Recognizer} otherRecognizer\n * @returns {Recognizer} this\n */\n requireFailure: function(otherRecognizer) {\n if (invokeArrayArg(otherRecognizer, 'requireFailure', this)) {\n return this;\n }\n\n var requireFail = this.requireFail;\n otherRecognizer = getRecognizerByNameIfManager(otherRecognizer, this);\n if (inArray(requireFail, otherRecognizer) === -1) {\n requireFail.push(otherRecognizer);\n otherRecognizer.requireFailure(this);\n }\n return this;\n },\n\n /**\n * drop the requireFailure link. it does not remove the link on the other recognizer.\n * @param {Recognizer} otherRecognizer\n * @returns {Recognizer} this\n */\n dropRequireFailure: function(otherRecognizer) {\n if (invokeArrayArg(otherRecognizer, 'dropRequireFailure', this)) {\n return this;\n }\n\n otherRecognizer = getRecognizerByNameIfManager(otherRecognizer, this);\n var index = inArray(this.requireFail, otherRecognizer);\n if (index > -1) {\n this.requireFail.splice(index, 1);\n }\n return this;\n },\n\n /**\n * has require failures boolean\n * @returns {boolean}\n */\n hasRequireFailures: function() {\n return this.requireFail.length > 0;\n },\n\n /**\n * if the recognizer can recognize simultaneous with an other recognizer\n * @param {Recognizer} otherRecognizer\n * @returns {Boolean}\n */\n canRecognizeWith: function(otherRecognizer) {\n return !!this.simultaneous[otherRecognizer.id];\n },\n\n /**\n * You should use `tryEmit` instead of `emit` directly to check\n * that all the needed recognizers has failed before emitting.\n * @param {Object} input\n */\n emit: function(input) {\n var self = this;\n var state = this.state;\n\n function emit(event) {\n self.manager.emit(event, input);\n }\n\n // 'panstart' and 'panmove'\n if (state < STATE_ENDED) {\n emit(self.options.event + stateStr(state));\n }\n\n emit(self.options.event); // simple 'eventName' events\n\n if (input.additionalEvent) { // additional event(panleft, panright, pinchin, pinchout...)\n emit(input.additionalEvent);\n }\n\n // panend and pancancel\n if (state >= STATE_ENDED) {\n emit(self.options.event + stateStr(state));\n }\n },\n\n /**\n * Check that all the require failure recognizers has failed,\n * if true, it emits a gesture event,\n * otherwise, setup the state to FAILED.\n * @param {Object} input\n */\n tryEmit: function(input) {\n if (this.canEmit()) {\n return this.emit(input);\n }\n // it's failing anyway\n this.state = STATE_FAILED;\n },\n\n /**\n * can we emit?\n * @returns {boolean}\n */\n canEmit: function() {\n var i = 0;\n while (i < this.requireFail.length) {\n if (!(this.requireFail[i].state & (STATE_FAILED | STATE_POSSIBLE))) {\n return false;\n }\n i++;\n }\n return true;\n },\n\n /**\n * update the recognizer\n * @param {Object} inputData\n */\n recognize: function(inputData) {\n // make a new copy of the inputData\n // so we can change the inputData without messing up the other recognizers\n var inputDataClone = assign({}, inputData);\n\n // is is enabled and allow recognizing?\n if (!boolOrFn(this.options.enable, [this, inputDataClone])) {\n this.reset();\n this.state = STATE_FAILED;\n return;\n }\n\n // reset when we've reached the end\n if (this.state & (STATE_RECOGNIZED | STATE_CANCELLED | STATE_FAILED)) {\n this.state = STATE_POSSIBLE;\n }\n\n this.state = this.process(inputDataClone);\n\n // the recognizer has recognized a gesture\n // so trigger an event\n if (this.state & (STATE_BEGAN | STATE_CHANGED | STATE_ENDED | STATE_CANCELLED)) {\n this.tryEmit(inputDataClone);\n }\n },\n\n /**\n * return the state of the recognizer\n * the actual recognizing happens in this method\n * @virtual\n * @param {Object} inputData\n * @returns {Const} STATE\n */\n process: function(inputData) { }, // jshint ignore:line\n\n /**\n * return the preferred touch-action\n * @virtual\n * @returns {Array}\n */\n getTouchAction: function() { },\n\n /**\n * called when the gesture isn't allowed to recognize\n * like when another is being recognized or it is disabled\n * @virtual\n */\n reset: function() { }\n};\n\n/**\n * get a usable string, used as event postfix\n * @param {Const} state\n * @returns {String} state\n */\nfunction stateStr(state) {\n if (state & STATE_CANCELLED) {\n return 'cancel';\n } else if (state & STATE_ENDED) {\n return 'end';\n } else if (state & STATE_CHANGED) {\n return 'move';\n } else if (state & STATE_BEGAN) {\n return 'start';\n }\n return '';\n}\n\n/**\n * direction cons to string\n * @param {Const} direction\n * @returns {String}\n */\nfunction directionStr(direction) {\n if (direction == DIRECTION_DOWN) {\n return 'down';\n } else if (direction == DIRECTION_UP) {\n return 'up';\n } else if (direction == DIRECTION_LEFT) {\n return 'left';\n } else if (direction == DIRECTION_RIGHT) {\n return 'right';\n }\n return '';\n}\n\n/**\n * get a recognizer by name if it is bound to a manager\n * @param {Recognizer|String} otherRecognizer\n * @param {Recognizer} recognizer\n * @returns {Recognizer}\n */\nfunction getRecognizerByNameIfManager(otherRecognizer, recognizer) {\n var manager = recognizer.manager;\n if (manager) {\n return manager.get(otherRecognizer);\n }\n return otherRecognizer;\n}\n\n/**\n * This recognizer is just used as a base for the simple attribute recognizers.\n * @constructor\n * @extends Recognizer\n */\nfunction AttrRecognizer() {\n Recognizer.apply(this, arguments);\n}\n\ninherit(AttrRecognizer, Recognizer, {\n /**\n * @namespace\n * @memberof AttrRecognizer\n */\n defaults: {\n /**\n * @type {Number}\n * @default 1\n */\n pointers: 1\n },\n\n /**\n * Used to check if it the recognizer receives valid input, like input.distance > 10.\n * @memberof AttrRecognizer\n * @param {Object} input\n * @returns {Boolean} recognized\n */\n attrTest: function(input) {\n var optionPointers = this.options.pointers;\n return optionPointers === 0 || input.pointers.length === optionPointers;\n },\n\n /**\n * Process the input and return the state for the recognizer\n * @memberof AttrRecognizer\n * @param {Object} input\n * @returns {*} State\n */\n process: function(input) {\n var state = this.state;\n var eventType = input.eventType;\n\n var isRecognized = state & (STATE_BEGAN | STATE_CHANGED);\n var isValid = this.attrTest(input);\n\n // on cancel input and we've recognized before, return STATE_CANCELLED\n if (isRecognized && (eventType & INPUT_CANCEL || !isValid)) {\n return state | STATE_CANCELLED;\n } else if (isRecognized || isValid) {\n if (eventType & INPUT_END) {\n return state | STATE_ENDED;\n } else if (!(state & STATE_BEGAN)) {\n return STATE_BEGAN;\n }\n return state | STATE_CHANGED;\n }\n return STATE_FAILED;\n }\n});\n\n/**\n * Pan\n * Recognized when the pointer is down and moved in the allowed direction.\n * @constructor\n * @extends AttrRecognizer\n */\nfunction PanRecognizer() {\n AttrRecognizer.apply(this, arguments);\n\n this.pX = null;\n this.pY = null;\n}\n\ninherit(PanRecognizer, AttrRecognizer, {\n /**\n * @namespace\n * @memberof PanRecognizer\n */\n defaults: {\n event: 'pan',\n threshold: 10,\n pointers: 1,\n direction: DIRECTION_ALL\n },\n\n getTouchAction: function() {\n var direction = this.options.direction;\n var actions = [];\n if (direction & DIRECTION_HORIZONTAL) {\n actions.push(TOUCH_ACTION_PAN_Y);\n }\n if (direction & DIRECTION_VERTICAL) {\n actions.push(TOUCH_ACTION_PAN_X);\n }\n return actions;\n },\n\n directionTest: function(input) {\n var options = this.options;\n var hasMoved = true;\n var distance = input.distance;\n var direction = input.direction;\n var x = input.deltaX;\n var y = input.deltaY;\n\n // lock to axis?\n if (!(direction & options.direction)) {\n if (options.direction & DIRECTION_HORIZONTAL) {\n direction = (x === 0) ? DIRECTION_NONE : (x < 0) ? DIRECTION_LEFT : DIRECTION_RIGHT;\n hasMoved = x != this.pX;\n distance = Math.abs(input.deltaX);\n } else {\n direction = (y === 0) ? DIRECTION_NONE : (y < 0) ? DIRECTION_UP : DIRECTION_DOWN;\n hasMoved = y != this.pY;\n distance = Math.abs(input.deltaY);\n }\n }\n input.direction = direction;\n return hasMoved && distance > options.threshold && direction & options.direction;\n },\n\n attrTest: function(input) {\n return AttrRecognizer.prototype.attrTest.call(this, input) &&\n (this.state & STATE_BEGAN || (!(this.state & STATE_BEGAN) && this.directionTest(input)));\n },\n\n emit: function(input) {\n\n this.pX = input.deltaX;\n this.pY = input.deltaY;\n\n var direction = directionStr(input.direction);\n\n if (direction) {\n input.additionalEvent = this.options.event + direction;\n }\n this._super.emit.call(this, input);\n }\n});\n\n/**\n * Pinch\n * Recognized when two or more pointers are moving toward (zoom-in) or away from each other (zoom-out).\n * @constructor\n * @extends AttrRecognizer\n */\nfunction PinchRecognizer() {\n AttrRecognizer.apply(this, arguments);\n}\n\ninherit(PinchRecognizer, AttrRecognizer, {\n /**\n * @namespace\n * @memberof PinchRecognizer\n */\n defaults: {\n event: 'pinch',\n threshold: 0,\n pointers: 2\n },\n\n getTouchAction: function() {\n return [TOUCH_ACTION_NONE];\n },\n\n attrTest: function(input) {\n return this._super.attrTest.call(this, input) &&\n (Math.abs(input.scale - 1) > this.options.threshold || this.state & STATE_BEGAN);\n },\n\n emit: function(input) {\n if (input.scale !== 1) {\n var inOut = input.scale < 1 ? 'in' : 'out';\n input.additionalEvent = this.options.event + inOut;\n }\n this._super.emit.call(this, input);\n }\n});\n\n/**\n * Press\n * Recognized when the pointer is down for x ms without any movement.\n * @constructor\n * @extends Recognizer\n */\nfunction PressRecognizer() {\n Recognizer.apply(this, arguments);\n\n this._timer = null;\n this._input = null;\n}\n\ninherit(PressRecognizer, Recognizer, {\n /**\n * @namespace\n * @memberof PressRecognizer\n */\n defaults: {\n event: 'press',\n pointers: 1,\n time: 251, // minimal time of the pointer to be pressed\n threshold: 9 // a minimal movement is ok, but keep it low\n },\n\n getTouchAction: function() {\n return [TOUCH_ACTION_AUTO];\n },\n\n process: function(input) {\n var options = this.options;\n var validPointers = input.pointers.length === options.pointers;\n var validMovement = input.distance < options.threshold;\n var validTime = input.deltaTime > options.time;\n\n this._input = input;\n\n // we only allow little movement\n // and we've reached an end event, so a tap is possible\n if (!validMovement || !validPointers || (input.eventType & (INPUT_END | INPUT_CANCEL) && !validTime)) {\n this.reset();\n } else if (input.eventType & INPUT_START) {\n this.reset();\n this._timer = setTimeoutContext(function() {\n this.state = STATE_RECOGNIZED;\n this.tryEmit();\n }, options.time, this);\n } else if (input.eventType & INPUT_END) {\n return STATE_RECOGNIZED;\n }\n return STATE_FAILED;\n },\n\n reset: function() {\n clearTimeout(this._timer);\n },\n\n emit: function(input) {\n if (this.state !== STATE_RECOGNIZED) {\n return;\n }\n\n if (input && (input.eventType & INPUT_END)) {\n this.manager.emit(this.options.event + 'up', input);\n } else {\n this._input.timeStamp = now();\n this.manager.emit(this.options.event, this._input);\n }\n }\n});\n\n/**\n * Rotate\n * Recognized when two or more pointer are moving in a circular motion.\n * @constructor\n * @extends AttrRecognizer\n */\nfunction RotateRecognizer() {\n AttrRecognizer.apply(this, arguments);\n}\n\ninherit(RotateRecognizer, AttrRecognizer, {\n /**\n * @namespace\n * @memberof RotateRecognizer\n */\n defaults: {\n event: 'rotate',\n threshold: 0,\n pointers: 2\n },\n\n getTouchAction: function() {\n return [TOUCH_ACTION_NONE];\n },\n\n attrTest: function(input) {\n return this._super.attrTest.call(this, input) &&\n (Math.abs(input.rotation) > this.options.threshold || this.state & STATE_BEGAN);\n }\n});\n\n/**\n * Swipe\n * Recognized when the pointer is moving fast (velocity), with enough distance in the allowed direction.\n * @constructor\n * @extends AttrRecognizer\n */\nfunction SwipeRecognizer() {\n AttrRecognizer.apply(this, arguments);\n}\n\ninherit(SwipeRecognizer, AttrRecognizer, {\n /**\n * @namespace\n * @memberof SwipeRecognizer\n */\n defaults: {\n event: 'swipe',\n threshold: 10,\n velocity: 0.3,\n direction: DIRECTION_HORIZONTAL | DIRECTION_VERTICAL,\n pointers: 1\n },\n\n getTouchAction: function() {\n return PanRecognizer.prototype.getTouchAction.call(this);\n },\n\n attrTest: function(input) {\n var direction = this.options.direction;\n var velocity;\n\n if (direction & (DIRECTION_HORIZONTAL | DIRECTION_VERTICAL)) {\n velocity = input.overallVelocity;\n } else if (direction & DIRECTION_HORIZONTAL) {\n velocity = input.overallVelocityX;\n } else if (direction & DIRECTION_VERTICAL) {\n velocity = input.overallVelocityY;\n }\n\n return this._super.attrTest.call(this, input) &&\n direction & input.offsetDirection &&\n input.distance > this.options.threshold &&\n input.maxPointers == this.options.pointers &&\n abs(velocity) > this.options.velocity && input.eventType & INPUT_END;\n },\n\n emit: function(input) {\n var direction = directionStr(input.offsetDirection);\n if (direction) {\n this.manager.emit(this.options.event + direction, input);\n }\n\n this.manager.emit(this.options.event, input);\n }\n});\n\n/**\n * A tap is ecognized when the pointer is doing a small tap/click. Multiple taps are recognized if they occur\n * between the given interval and position. The delay option can be used to recognize multi-taps without firing\n * a single tap.\n *\n * The eventData from the emitted event contains the property `tapCount`, which contains the amount of\n * multi-taps being recognized.\n * @constructor\n * @extends Recognizer\n */\nfunction TapRecognizer() {\n Recognizer.apply(this, arguments);\n\n // previous time and center,\n // used for tap counting\n this.pTime = false;\n this.pCenter = false;\n\n this._timer = null;\n this._input = null;\n this.count = 0;\n}\n\ninherit(TapRecognizer, Recognizer, {\n /**\n * @namespace\n * @memberof PinchRecognizer\n */\n defaults: {\n event: 'tap',\n pointers: 1,\n taps: 1,\n interval: 300, // max time between the multi-tap taps\n time: 250, // max time of the pointer to be down (like finger on the screen)\n threshold: 9, // a minimal movement is ok, but keep it low\n posThreshold: 10 // a multi-tap can be a bit off the initial position\n },\n\n getTouchAction: function() {\n return [TOUCH_ACTION_MANIPULATION];\n },\n\n process: function(input) {\n var options = this.options;\n\n var validPointers = input.pointers.length === options.pointers;\n var validMovement = input.distance < options.threshold;\n var validTouchTime = input.deltaTime < options.time;\n\n this.reset();\n\n if ((input.eventType & INPUT_START) && (this.count === 0)) {\n return this.failTimeout();\n }\n\n // we only allow little movement\n // and we've reached an end event, so a tap is possible\n if (validMovement && validTouchTime && validPointers) {\n if (input.eventType != INPUT_END) {\n return this.failTimeout();\n }\n\n var validInterval = this.pTime ? (input.timeStamp - this.pTime < options.interval) : true;\n var validMultiTap = !this.pCenter || getDistance(this.pCenter, input.center) < options.posThreshold;\n\n this.pTime = input.timeStamp;\n this.pCenter = input.center;\n\n if (!validMultiTap || !validInterval) {\n this.count = 1;\n } else {\n this.count += 1;\n }\n\n this._input = input;\n\n // if tap count matches we have recognized it,\n // else it has began recognizing...\n var tapCount = this.count % options.taps;\n if (tapCount === 0) {\n // no failing requirements, immediately trigger the tap event\n // or wait as long as the multitap interval to trigger\n if (!this.hasRequireFailures()) {\n return STATE_RECOGNIZED;\n } else {\n this._timer = setTimeoutContext(function() {\n this.state = STATE_RECOGNIZED;\n this.tryEmit();\n }, options.interval, this);\n return STATE_BEGAN;\n }\n }\n }\n return STATE_FAILED;\n },\n\n failTimeout: function() {\n this._timer = setTimeoutContext(function() {\n this.state = STATE_FAILED;\n }, this.options.interval, this);\n return STATE_FAILED;\n },\n\n reset: function() {\n clearTimeout(this._timer);\n },\n\n emit: function() {\n if (this.state == STATE_RECOGNIZED) {\n this._input.tapCount = this.count;\n this.manager.emit(this.options.event, this._input);\n }\n }\n});\n\n/**\n * Simple way to create a manager with a default set of recognizers.\n * @param {HTMLElement} element\n * @param {Object} [options]\n * @constructor\n */\nfunction Hammer(element, options) {\n options = options || {};\n options.recognizers = ifUndefined(options.recognizers, Hammer.defaults.preset);\n return new Manager(element, options);\n}\n\n/**\n * @const {string}\n */\nHammer.VERSION = '2.0.7';\n\n/**\n * default settings\n * @namespace\n */\nHammer.defaults = {\n /**\n * set if DOM events are being triggered.\n * But this is slower and unused by simple implementations, so disabled by default.\n * @type {Boolean}\n * @default false\n */\n domEvents: false,\n\n /**\n * The value for the touchAction property/fallback.\n * When set to `compute` it will magically set the correct value based on the added recognizers.\n * @type {String}\n * @default compute\n */\n touchAction: TOUCH_ACTION_COMPUTE,\n\n /**\n * @type {Boolean}\n * @default true\n */\n enable: true,\n\n /**\n * EXPERIMENTAL FEATURE -- can be removed/changed\n * Change the parent input target element.\n * If Null, then it is being set the to main element.\n * @type {Null|EventTarget}\n * @default null\n */\n inputTarget: null,\n\n /**\n * force an input class\n * @type {Null|Function}\n * @default null\n */\n inputClass: null,\n\n /**\n * Default recognizer setup when calling `Hammer()`\n * When creating a new Manager these will be skipped.\n * @type {Array}\n */\n preset: [\n // RecognizerClass, options, [recognizeWith, ...], [requireFailure, ...]\n [RotateRecognizer, {enable: false}],\n [PinchRecognizer, {enable: false}, ['rotate']],\n [SwipeRecognizer, {direction: DIRECTION_HORIZONTAL}],\n [PanRecognizer, {direction: DIRECTION_HORIZONTAL}, ['swipe']],\n [TapRecognizer],\n [TapRecognizer, {event: 'doubletap', taps: 2}, ['tap']],\n [PressRecognizer]\n ],\n\n /**\n * Some CSS properties can be used to improve the working of Hammer.\n * Add them to this method and they will be set when creating a new Manager.\n * @namespace\n */\n cssProps: {\n /**\n * Disables text selection to improve the dragging gesture. Mainly for desktop browsers.\n * @type {String}\n * @default 'none'\n */\n userSelect: 'none',\n\n /**\n * Disable the Windows Phone grippers when pressing an element.\n * @type {String}\n * @default 'none'\n */\n touchSelect: 'none',\n\n /**\n * Disables the default callout shown when you touch and hold a touch target.\n * On iOS, when you touch and hold a touch target such as a link, Safari displays\n * a callout containing information about the link. This property allows you to disable that callout.\n * @type {String}\n * @default 'none'\n */\n touchCallout: 'none',\n\n /**\n * Specifies whether zooming is enabled. Used by IE10>\n * @type {String}\n * @default 'none'\n */\n contentZooming: 'none',\n\n /**\n * Specifies that an entire element should be draggable instead of its contents. Mainly for desktop browsers.\n * @type {String}\n * @default 'none'\n */\n userDrag: 'none',\n\n /**\n * Overrides the highlight color shown when the user taps a link or a JavaScript\n * clickable element in iOS. This property obeys the alpha value, if specified.\n * @type {String}\n * @default 'rgba(0,0,0,0)'\n */\n tapHighlightColor: 'rgba(0,0,0,0)'\n }\n};\n\nvar STOP = 1;\nvar FORCED_STOP = 2;\n\n/**\n * Manager\n * @param {HTMLElement} element\n * @param {Object} [options]\n * @constructor\n */\nfunction Manager(element, options) {\n this.options = assign({}, Hammer.defaults, options || {});\n\n this.options.inputTarget = this.options.inputTarget || element;\n\n this.handlers = {};\n this.session = {};\n this.recognizers = [];\n this.oldCssProps = {};\n\n this.element = element;\n this.input = createInputInstance(this);\n this.touchAction = new TouchAction(this, this.options.touchAction);\n\n toggleCssProps(this, true);\n\n each(this.options.recognizers, function(item) {\n var recognizer = this.add(new (item[0])(item[1]));\n item[2] && recognizer.recognizeWith(item[2]);\n item[3] && recognizer.requireFailure(item[3]);\n }, this);\n}\n\nManager.prototype = {\n /**\n * set options\n * @param {Object} options\n * @returns {Manager}\n */\n set: function(options) {\n assign(this.options, options);\n\n // Options that need a little more setup\n if (options.touchAction) {\n this.touchAction.update();\n }\n if (options.inputTarget) {\n // Clean up existing event listeners and reinitialize\n this.input.destroy();\n this.input.target = options.inputTarget;\n this.input.init();\n }\n return this;\n },\n\n /**\n * stop recognizing for this session.\n * This session will be discarded, when a new [input]start event is fired.\n * When forced, the recognizer cycle is stopped immediately.\n * @param {Boolean} [force]\n */\n stop: function(force) {\n this.session.stopped = force ? FORCED_STOP : STOP;\n },\n\n /**\n * run the recognizers!\n * called by the inputHandler function on every movement of the pointers (touches)\n * it walks through all the recognizers and tries to detect the gesture that is being made\n * @param {Object} inputData\n */\n recognize: function(inputData) {\n var session = this.session;\n if (session.stopped) {\n return;\n }\n\n // run the touch-action polyfill\n this.touchAction.preventDefaults(inputData);\n\n var recognizer;\n var recognizers = this.recognizers;\n\n // this holds the recognizer that is being recognized.\n // so the recognizer's state needs to be BEGAN, CHANGED, ENDED or RECOGNIZED\n // if no recognizer is detecting a thing, it is set to `null`\n var curRecognizer = session.curRecognizer;\n\n // reset when the last recognizer is recognized\n // or when we're in a new session\n if (!curRecognizer || (curRecognizer && curRecognizer.state & STATE_RECOGNIZED)) {\n curRecognizer = session.curRecognizer = null;\n }\n\n var i = 0;\n while (i < recognizers.length) {\n recognizer = recognizers[i];\n\n // find out if we are allowed try to recognize the input for this one.\n // 1. allow if the session is NOT forced stopped (see the .stop() method)\n // 2. allow if we still haven't recognized a gesture in this session, or the this recognizer is the one\n // that is being recognized.\n // 3. allow if the recognizer is allowed to run simultaneous with the current recognized recognizer.\n // this can be setup with the `recognizeWith()` method on the recognizer.\n if (session.stopped !== FORCED_STOP && ( // 1\n !curRecognizer || recognizer == curRecognizer || // 2\n recognizer.canRecognizeWith(curRecognizer))) { // 3\n recognizer.recognize(inputData);\n } else {\n recognizer.reset();\n }\n\n // if the recognizer has been recognizing the input as a valid gesture, we want to store this one as the\n // current active recognizer. but only if we don't already have an active recognizer\n if (!curRecognizer && recognizer.state & (STATE_BEGAN | STATE_CHANGED | STATE_ENDED)) {\n curRecognizer = session.curRecognizer = recognizer;\n }\n i++;\n }\n },\n\n /**\n * get a recognizer by its event name.\n * @param {Recognizer|String} recognizer\n * @returns {Recognizer|Null}\n */\n get: function(recognizer) {\n if (recognizer instanceof Recognizer) {\n return recognizer;\n }\n\n var recognizers = this.recognizers;\n for (var i = 0; i < recognizers.length; i++) {\n if (recognizers[i].options.event == recognizer) {\n return recognizers[i];\n }\n }\n return null;\n },\n\n /**\n * add a recognizer to the manager\n * existing recognizers with the same event name will be removed\n * @param {Recognizer} recognizer\n * @returns {Recognizer|Manager}\n */\n add: function(recognizer) {\n if (invokeArrayArg(recognizer, 'add', this)) {\n return this;\n }\n\n // remove existing\n var existing = this.get(recognizer.options.event);\n if (existing) {\n this.remove(existing);\n }\n\n this.recognizers.push(recognizer);\n recognizer.manager = this;\n\n this.touchAction.update();\n return recognizer;\n },\n\n /**\n * remove a recognizer by name or instance\n * @param {Recognizer|String} recognizer\n * @returns {Manager}\n */\n remove: function(recognizer) {\n if (invokeArrayArg(recognizer, 'remove', this)) {\n return this;\n }\n\n recognizer = this.get(recognizer);\n\n // let's make sure this recognizer exists\n if (recognizer) {\n var recognizers = this.recognizers;\n var index = inArray(recognizers, recognizer);\n\n if (index !== -1) {\n recognizers.splice(index, 1);\n this.touchAction.update();\n }\n }\n\n return this;\n },\n\n /**\n * bind event\n * @param {String} events\n * @param {Function} handler\n * @returns {EventEmitter} this\n */\n on: function(events, handler) {\n if (events === undefined) {\n return;\n }\n if (handler === undefined) {\n return;\n }\n\n var handlers = this.handlers;\n each(splitStr(events), function(event) {\n handlers[event] = handlers[event] || [];\n handlers[event].push(handler);\n });\n return this;\n },\n\n /**\n * unbind event, leave emit blank to remove all handlers\n * @param {String} events\n * @param {Function} [handler]\n * @returns {EventEmitter} this\n */\n off: function(events, handler) {\n if (events === undefined) {\n return;\n }\n\n var handlers = this.handlers;\n each(splitStr(events), function(event) {\n if (!handler) {\n delete handlers[event];\n } else {\n handlers[event] && handlers[event].splice(inArray(handlers[event], handler), 1);\n }\n });\n return this;\n },\n\n /**\n * emit event to the listeners\n * @param {String} event\n * @param {Object} data\n */\n emit: function(event, data) {\n // we also want to trigger dom events\n if (this.options.domEvents) {\n triggerDomEvent(event, data);\n }\n\n // no handlers, so skip it all\n var handlers = this.handlers[event] && this.handlers[event].slice();\n if (!handlers || !handlers.length) {\n return;\n }\n\n data.type = event;\n data.preventDefault = function() {\n data.srcEvent.preventDefault();\n };\n\n var i = 0;\n while (i < handlers.length) {\n handlers[i](data);\n i++;\n }\n },\n\n /**\n * destroy the manager and unbinds all events\n * it doesn't unbind dom events, that is the user own responsibility\n */\n destroy: function() {\n this.element && toggleCssProps(this, false);\n\n this.handlers = {};\n this.session = {};\n this.input.destroy();\n this.element = null;\n }\n};\n\n/**\n * add/remove the css properties as defined in manager.options.cssProps\n * @param {Manager} manager\n * @param {Boolean} add\n */\nfunction toggleCssProps(manager, add) {\n var element = manager.element;\n if (!element.style) {\n return;\n }\n var prop;\n each(manager.options.cssProps, function(value, name) {\n prop = prefixed(element.style, name);\n if (add) {\n manager.oldCssProps[prop] = element.style[prop];\n element.style[prop] = value;\n } else {\n element.style[prop] = manager.oldCssProps[prop] || '';\n }\n });\n if (!add) {\n manager.oldCssProps = {};\n }\n}\n\n/**\n * trigger dom event\n * @param {String} event\n * @param {Object} data\n */\nfunction triggerDomEvent(event, data) {\n var gestureEvent = document.createEvent('Event');\n gestureEvent.initEvent(event, true, true);\n gestureEvent.gesture = data;\n data.target.dispatchEvent(gestureEvent);\n}\n\nassign(Hammer, {\n INPUT_START: INPUT_START,\n INPUT_MOVE: INPUT_MOVE,\n INPUT_END: INPUT_END,\n INPUT_CANCEL: INPUT_CANCEL,\n\n STATE_POSSIBLE: STATE_POSSIBLE,\n STATE_BEGAN: STATE_BEGAN,\n STATE_CHANGED: STATE_CHANGED,\n STATE_ENDED: STATE_ENDED,\n STATE_RECOGNIZED: STATE_RECOGNIZED,\n STATE_CANCELLED: STATE_CANCELLED,\n STATE_FAILED: STATE_FAILED,\n\n DIRECTION_NONE: DIRECTION_NONE,\n DIRECTION_LEFT: DIRECTION_LEFT,\n DIRECTION_RIGHT: DIRECTION_RIGHT,\n DIRECTION_UP: DIRECTION_UP,\n DIRECTION_DOWN: DIRECTION_DOWN,\n DIRECTION_HORIZONTAL: DIRECTION_HORIZONTAL,\n DIRECTION_VERTICAL: DIRECTION_VERTICAL,\n DIRECTION_ALL: DIRECTION_ALL,\n\n Manager: Manager,\n Input: Input,\n TouchAction: TouchAction,\n\n TouchInput: TouchInput,\n MouseInput: MouseInput,\n PointerEventInput: PointerEventInput,\n TouchMouseInput: TouchMouseInput,\n SingleTouchInput: SingleTouchInput,\n\n Recognizer: Recognizer,\n AttrRecognizer: AttrRecognizer,\n Tap: TapRecognizer,\n Pan: PanRecognizer,\n Swipe: SwipeRecognizer,\n Pinch: PinchRecognizer,\n Rotate: RotateRecognizer,\n Press: PressRecognizer,\n\n on: addEventListeners,\n off: removeEventListeners,\n each: each,\n merge: merge,\n extend: extend,\n assign: assign,\n inherit: inherit,\n bindFn: bindFn,\n prefixed: prefixed\n});\n\n// this prevents errors when Hammer is loaded in the presence of an AMD\n// style loader but by script tag, not by the loader.\nvar freeGlobal = (typeof window !== 'undefined' ? window : (typeof self !== 'undefined' ? self : {})); // jshint ignore:line\nfreeGlobal.Hammer = Hammer;\n\nif (typeof define === 'function' && define.amd) {\n define(function() {\n return Hammer;\n });\n} else if (typeof module != 'undefined' && module.exports) {\n module.exports = Hammer;\n} else {\n window[exportName] = Hammer;\n}\n\n})(window, document, 'Hammer');\n","'use strict';\n\nvar $defineProperty = require('es-define-property');\n\nvar hasPropertyDescriptors = function hasPropertyDescriptors() {\n\treturn !!$defineProperty;\n};\n\nhasPropertyDescriptors.hasArrayLengthDefineBug = function hasArrayLengthDefineBug() {\n\t// node v0.6 has a bug where array lengths can be Set but not Defined\n\tif (!$defineProperty) {\n\t\treturn null;\n\t}\n\ttry {\n\t\treturn $defineProperty([], 'length', { value: 1 }).length !== 1;\n\t} catch (e) {\n\t\t// In Firefox 4-22, defining length on an array throws an exception.\n\t\treturn true;\n\t}\n};\n\nmodule.exports = hasPropertyDescriptors;\n","'use strict';\n\nvar test = {\n\tfoo: {}\n};\n\nvar $Object = Object;\n\nmodule.exports = function hasProto() {\n\treturn { __proto__: test }.foo === test.foo && !({ __proto__: null } instanceof $Object);\n};\n","'use strict';\n\nvar origSymbol = typeof Symbol !== 'undefined' && Symbol;\nvar hasSymbolSham = require('./shams');\n\nmodule.exports = function hasNativeSymbols() {\n\tif (typeof origSymbol !== 'function') { return false; }\n\tif (typeof Symbol !== 'function') { return false; }\n\tif (typeof origSymbol('foo') !== 'symbol') { return false; }\n\tif (typeof Symbol('bar') !== 'symbol') { return false; }\n\n\treturn hasSymbolSham();\n};\n","'use strict';\n\n/* eslint complexity: [2, 18], max-statements: [2, 33] */\nmodule.exports = function hasSymbols() {\n\tif (typeof Symbol !== 'function' || typeof Object.getOwnPropertySymbols !== 'function') { return false; }\n\tif (typeof Symbol.iterator === 'symbol') { return true; }\n\n\tvar obj = {};\n\tvar sym = Symbol('test');\n\tvar symObj = Object(sym);\n\tif (typeof sym === 'string') { return false; }\n\n\tif (Object.prototype.toString.call(sym) !== '[object Symbol]') { return false; }\n\tif (Object.prototype.toString.call(symObj) !== '[object Symbol]') { return false; }\n\n\t// temp disabled per https://github.com/ljharb/object.assign/issues/17\n\t// if (sym instanceof Symbol) { return false; }\n\t// temp disabled per https://github.com/WebReflection/get-own-property-symbols/issues/4\n\t// if (!(symObj instanceof Symbol)) { return false; }\n\n\t// if (typeof Symbol.prototype.toString !== 'function') { return false; }\n\t// if (String(sym) !== Symbol.prototype.toString.call(sym)) { return false; }\n\n\tvar symVal = 42;\n\tobj[sym] = symVal;\n\tfor (sym in obj) { return false; } // eslint-disable-line no-restricted-syntax, no-unreachable-loop\n\tif (typeof Object.keys === 'function' && Object.keys(obj).length !== 0) { return false; }\n\n\tif (typeof Object.getOwnPropertyNames === 'function' && Object.getOwnPropertyNames(obj).length !== 0) { return false; }\n\n\tvar syms = Object.getOwnPropertySymbols(obj);\n\tif (syms.length !== 1 || syms[0] !== sym) { return false; }\n\n\tif (!Object.prototype.propertyIsEnumerable.call(obj, sym)) { return false; }\n\n\tif (typeof Object.getOwnPropertyDescriptor === 'function') {\n\t\tvar descriptor = Object.getOwnPropertyDescriptor(obj, sym);\n\t\tif (descriptor.value !== symVal || descriptor.enumerable !== true) { return false; }\n\t}\n\n\treturn true;\n};\n","'use strict';\n\nvar call = Function.prototype.call;\nvar $hasOwn = Object.prototype.hasOwnProperty;\nvar bind = require('function-bind');\n\n/** @type {import('.')} */\nmodule.exports = bind.call(call, $hasOwn);\n","'use strict';\nvar toString = Object.prototype.toString;\n\nmodule.exports = function (x) {\n\tvar prototype;\n\treturn toString.call(x) === '[object Object]' && (prototype = Object.getPrototypeOf(x), prototype === null || prototype === Object.getPrototypeOf({}));\n};\n","\n/**\n * Expose `isUrl`.\n */\n\nmodule.exports = isUrl;\n\n/**\n * RegExps.\n * A URL must match #1 and then at least one of #2/#3.\n * Use two levels of REs to avoid REDOS.\n */\n\nvar protocolAndDomainRE = /^(?:\\w+:)?\\/\\/(\\S+)$/;\n\nvar localhostDomainRE = /^localhost[\\:?\\d]*(?:[^\\:?\\d]\\S*)?$/\nvar nonLocalhostDomainRE = /^[^\\s\\.]+\\.\\S{2,}$/;\n\n/**\n * Loosely validate a URL `string`.\n *\n * @param {String} string\n * @return {Boolean}\n */\n\nfunction isUrl(string){\n if (typeof string !== 'string') {\n return false;\n }\n\n var match = string.match(protocolAndDomainRE);\n if (!match) {\n return false;\n }\n\n var everythingAfterProtocol = match[1];\n if (!everythingAfterProtocol) {\n return false;\n }\n\n if (localhostDomainRE.test(everythingAfterProtocol) ||\n nonLocalhostDomainRE.test(everythingAfterProtocol)) {\n return true;\n }\n\n return false;\n}\n","/* This program is free software. It comes without any warranty, to\n * the extent permitted by applicable law. You can redistribute it\n * and/or modify it under the terms of the Do What The Fuck You Want\n * To Public License, Version 2, as published by Sam Hocevar. See\n * http://www.wtfpl.net/ for more details. */\n'use strict';\nmodule.exports = leftPad;\n\nvar cache = [\n '',\n ' ',\n ' ',\n ' ',\n ' ',\n ' ',\n ' ',\n ' ',\n ' ',\n ' '\n];\n\nfunction leftPad (str, len, ch) {\n // convert `str` to a `string`\n str = str + '';\n // `len` is the `pad`'s length now\n len = len - str.length;\n // doesn't need to pad\n if (len <= 0) return str;\n // `ch` defaults to `' '`\n if (!ch && ch !== 0) ch = ' ';\n // convert `ch` to a `string` cuz it could be a number\n ch = ch + '';\n // cache common use cases\n if (ch === ' ' && len < 10) return cache[len] + str;\n // `pad` starts with an empty string\n var pad = '';\n // loop\n while (true) {\n // add `ch` to `pad` if `len` is odd\n if (len & 1) pad += ch;\n // divide `len` by 2, ditch the remainder\n len >>= 1;\n // \"double\" the `ch` so this operation count grows logarithmically on `len`\n // each time `ch` is \"doubled\", the `len` would need to be \"doubled\" too\n // similar to finding a value in binary search tree, hence O(log(n))\n if (len) ch += ch;\n // `len` is 0, exit the loop\n else break;\n }\n // pad `str`!\n return pad + str;\n}\n","'use strict';\nvar url = require('url');\nvar punycode = require('punycode');\nvar queryString = require('query-string');\nvar prependHttp = require('prepend-http');\nvar sortKeys = require('sort-keys');\nvar objectAssign = require('object-assign');\n\nvar DEFAULT_PORTS = {\n\t'http:': 80,\n\t'https:': 443,\n\t'ftp:': 21\n};\n\n// protocols that always contain a `//`` bit\nvar slashedProtocol = {\n\t'http': true,\n\t'https': true,\n\t'ftp': true,\n\t'gopher': true,\n\t'file': true,\n\t'http:': true,\n\t'https:': true,\n\t'ftp:': true,\n\t'gopher:': true,\n\t'file:': true\n};\n\nfunction testParameter(name, filters) {\n\treturn filters.some(function (filter) {\n\t\treturn filter instanceof RegExp ? filter.test(name) : filter === name;\n\t});\n}\n\nmodule.exports = function (str, opts) {\n\topts = objectAssign({\n\t\tnormalizeProtocol: true,\n\t\tnormalizeHttps: false,\n\t\tstripFragment: true,\n\t\tstripWWW: true,\n\t\tremoveQueryParameters: [/^utm_\\w+/i],\n\t\tremoveTrailingSlash: true,\n\t\tremoveDirectoryIndex: false\n\t}, opts);\n\n\tif (typeof str !== 'string') {\n\t\tthrow new TypeError('Expected a string');\n\t}\n\n\tvar hasRelativeProtocol = str.indexOf('//') === 0;\n\n\t// prepend protocol\n\tstr = prependHttp(str.trim()).replace(/^\\/\\//, 'http://');\n\n\tvar urlObj = url.parse(str);\n\n\tif (opts.normalizeHttps && urlObj.protocol === 'https:') {\n\t\turlObj.protocol = 'http:';\n\t}\n\n\tif (!urlObj.hostname && !urlObj.pathname) {\n\t\tthrow new Error('Invalid URL');\n\t}\n\n\t// prevent these from being used by `url.format`\n\tdelete urlObj.host;\n\tdelete urlObj.query;\n\n\t// remove fragment\n\tif (opts.stripFragment) {\n\t\tdelete urlObj.hash;\n\t}\n\n\t// remove default port\n\tvar port = DEFAULT_PORTS[urlObj.protocol];\n\tif (Number(urlObj.port) === port) {\n\t\tdelete urlObj.port;\n\t}\n\n\t// remove duplicate slashes\n\tif (urlObj.pathname) {\n\t\turlObj.pathname = urlObj.pathname.replace(/\\/{2,}/g, '/');\n\t}\n\n\t// decode URI octets\n\tif (urlObj.pathname) {\n\t\turlObj.pathname = decodeURI(urlObj.pathname);\n\t}\n\n\t// remove directory index\n\tif (opts.removeDirectoryIndex === true) {\n\t\topts.removeDirectoryIndex = [/^index\\.[a-z]+$/];\n\t}\n\n\tif (Array.isArray(opts.removeDirectoryIndex) && opts.removeDirectoryIndex.length) {\n\t\tvar pathComponents = urlObj.pathname.split('/');\n\t\tvar lastComponent = pathComponents[pathComponents.length - 1];\n\n\t\tif (testParameter(lastComponent, opts.removeDirectoryIndex)) {\n\t\t\tpathComponents = pathComponents.slice(0, pathComponents.length - 1);\n\t\t\turlObj.pathname = pathComponents.slice(1).join('/') + '/';\n\t\t}\n\t}\n\n\t// resolve relative paths, but only for slashed protocols\n\tif (slashedProtocol[urlObj.protocol]) {\n\t\tvar domain = urlObj.protocol + '//' + urlObj.hostname;\n\t\tvar relative = url.resolve(domain, urlObj.pathname);\n\t\turlObj.pathname = relative.replace(domain, '');\n\t}\n\n\tif (urlObj.hostname) {\n\t\t// IDN to Unicode\n\t\turlObj.hostname = punycode.toUnicode(urlObj.hostname).toLowerCase();\n\n\t\t// remove trailing dot\n\t\turlObj.hostname = urlObj.hostname.replace(/\\.$/, '');\n\n\t\t// remove `www.`\n\t\tif (opts.stripWWW) {\n\t\t\turlObj.hostname = urlObj.hostname.replace(/^www\\./, '');\n\t\t}\n\t}\n\n\t// remove URL with empty query string\n\tif (urlObj.search === '?') {\n\t\tdelete urlObj.search;\n\t}\n\n\tvar queryParameters = queryString.parse(urlObj.search);\n\n\t// remove query unwanted parameters\n\tif (Array.isArray(opts.removeQueryParameters)) {\n\t\tfor (var key in queryParameters) {\n\t\t\tif (testParameter(key, opts.removeQueryParameters)) {\n\t\t\t\tdelete queryParameters[key];\n\t\t\t}\n\t\t}\n\t}\n\n\t// sort query parameters\n\turlObj.search = queryString.stringify(sortKeys(queryParameters));\n\n\t// decode query parameters\n\turlObj.search = decodeURIComponent(urlObj.search);\n\n\t// take advantage of many of the Node `url` normalizations\n\tstr = url.format(urlObj);\n\n\t// remove ending `/`\n\tif (opts.removeTrailingSlash || urlObj.pathname === '/') {\n\t\tstr = str.replace(/\\/$/, '');\n\t}\n\n\t// restore relative protocol, if applicable\n\tif (hasRelativeProtocol && !opts.normalizeProtocol) {\n\t\tstr = str.replace(/^http:\\/\\//, '//');\n\t}\n\n\treturn str;\n};\n","'use strict';\nvar strictUriEncode = require('strict-uri-encode');\nvar objectAssign = require('object-assign');\n\nfunction encoderForArrayFormat(opts) {\n\tswitch (opts.arrayFormat) {\n\t\tcase 'index':\n\t\t\treturn function (key, value, index) {\n\t\t\t\treturn value === null ? [\n\t\t\t\t\tencode(key, opts),\n\t\t\t\t\t'[',\n\t\t\t\t\tindex,\n\t\t\t\t\t']'\n\t\t\t\t].join('') : [\n\t\t\t\t\tencode(key, opts),\n\t\t\t\t\t'[',\n\t\t\t\t\tencode(index, opts),\n\t\t\t\t\t']=',\n\t\t\t\t\tencode(value, opts)\n\t\t\t\t].join('');\n\t\t\t};\n\n\t\tcase 'bracket':\n\t\t\treturn function (key, value) {\n\t\t\t\treturn value === null ? encode(key, opts) : [\n\t\t\t\t\tencode(key, opts),\n\t\t\t\t\t'[]=',\n\t\t\t\t\tencode(value, opts)\n\t\t\t\t].join('');\n\t\t\t};\n\n\t\tdefault:\n\t\t\treturn function (key, value) {\n\t\t\t\treturn value === null ? encode(key, opts) : [\n\t\t\t\t\tencode(key, opts),\n\t\t\t\t\t'=',\n\t\t\t\t\tencode(value, opts)\n\t\t\t\t].join('');\n\t\t\t};\n\t}\n}\n\nfunction parserForArrayFormat(opts) {\n\tvar result;\n\n\tswitch (opts.arrayFormat) {\n\t\tcase 'index':\n\t\t\treturn function (key, value, accumulator) {\n\t\t\t\tresult = /\\[(\\d*)\\]$/.exec(key);\n\n\t\t\t\tkey = key.replace(/\\[\\d*\\]$/, '');\n\n\t\t\t\tif (!result) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = {};\n\t\t\t\t}\n\n\t\t\t\taccumulator[key][result[1]] = value;\n\t\t\t};\n\n\t\tcase 'bracket':\n\t\t\treturn function (key, value, accumulator) {\n\t\t\t\tresult = /(\\[\\])$/.exec(key);\n\t\t\t\tkey = key.replace(/\\[\\]$/, '');\n\n\t\t\t\tif (!result) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t} else if (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = [value];\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [].concat(accumulator[key], value);\n\t\t\t};\n\n\t\tdefault:\n\t\t\treturn function (key, value, accumulator) {\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [].concat(accumulator[key], value);\n\t\t\t};\n\t}\n}\n\nfunction encode(value, opts) {\n\tif (opts.encode) {\n\t\treturn opts.strict ? strictUriEncode(value) : encodeURIComponent(value);\n\t}\n\n\treturn value;\n}\n\nfunction keysSorter(input) {\n\tif (Array.isArray(input)) {\n\t\treturn input.sort();\n\t} else if (typeof input === 'object') {\n\t\treturn keysSorter(Object.keys(input)).sort(function (a, b) {\n\t\t\treturn Number(a) - Number(b);\n\t\t}).map(function (key) {\n\t\t\treturn input[key];\n\t\t});\n\t}\n\n\treturn input;\n}\n\nexports.extract = function (str) {\n\treturn str.split('?')[1] || '';\n};\n\nexports.parse = function (str, opts) {\n\topts = objectAssign({arrayFormat: 'none'}, opts);\n\n\tvar formatter = parserForArrayFormat(opts);\n\n\t// Create an object with no prototype\n\t// https://github.com/sindresorhus/query-string/issues/47\n\tvar ret = Object.create(null);\n\n\tif (typeof str !== 'string') {\n\t\treturn ret;\n\t}\n\n\tstr = str.trim().replace(/^(\\?|#|&)/, '');\n\n\tif (!str) {\n\t\treturn ret;\n\t}\n\n\tstr.split('&').forEach(function (param) {\n\t\tvar parts = param.replace(/\\+/g, ' ').split('=');\n\t\t// Firefox (pre 40) decodes `%3D` to `=`\n\t\t// https://github.com/sindresorhus/query-string/pull/37\n\t\tvar key = parts.shift();\n\t\tvar val = parts.length > 0 ? parts.join('=') : undefined;\n\n\t\t// missing `=` should be `null`:\n\t\t// http://w3.org/TR/2012/WD-url-20120524/#collect-url-parameters\n\t\tval = val === undefined ? null : decodeURIComponent(val);\n\n\t\tformatter(decodeURIComponent(key), val, ret);\n\t});\n\n\treturn Object.keys(ret).sort().reduce(function (result, key) {\n\t\tvar val = ret[key];\n\t\tif (Boolean(val) && typeof val === 'object' && !Array.isArray(val)) {\n\t\t\t// Sort object keys, not values\n\t\t\tresult[key] = keysSorter(val);\n\t\t} else {\n\t\t\tresult[key] = val;\n\t\t}\n\n\t\treturn result;\n\t}, Object.create(null));\n};\n\nexports.stringify = function (obj, opts) {\n\tvar defaults = {\n\t\tencode: true,\n\t\tstrict: true,\n\t\tarrayFormat: 'none'\n\t};\n\n\topts = objectAssign(defaults, opts);\n\n\tvar formatter = encoderForArrayFormat(opts);\n\n\treturn obj ? Object.keys(obj).sort().map(function (key) {\n\t\tvar val = obj[key];\n\n\t\tif (val === undefined) {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (val === null) {\n\t\t\treturn encode(key, opts);\n\t\t}\n\n\t\tif (Array.isArray(val)) {\n\t\t\tvar result = [];\n\n\t\t\tval.slice().forEach(function (val2) {\n\t\t\t\tif (val2 === undefined) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tresult.push(formatter(key, val2, result.length));\n\t\t\t});\n\n\t\t\treturn result.join('&');\n\t\t}\n\n\t\treturn encode(key, opts) + '=' + encode(val, opts);\n\t}).filter(function (x) {\n\t\treturn x.length > 0;\n\t}).join('&') : '';\n};\n","module.exports = function (element) {\n \n var computed = window.getComputedStyle(element);\n var left = computed.marginLeft.replace('px', '');\n var right = computed.marginRight.replace('px', '');\n \n return +element.offsetWidth + +left + +right;\n};","\n /*! \n * portal-vue © Thorsten Lünborg, 2019 \n * \n * Version: 2.1.7\n * \n * LICENCE: MIT \n * \n * https://github.com/linusborg/portal-vue\n * \n */\n\n'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nfunction _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }\n\nvar Vue = _interopDefault(require('vue'));\n\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n return arr2;\n }\n}\n\nfunction _iterableToArray(iter) {\n if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n}\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n}\n\nvar inBrowser = typeof window !== 'undefined';\nfunction freeze(item) {\n if (Array.isArray(item) || _typeof(item) === 'object') {\n return Object.freeze(item);\n }\n\n return item;\n}\nfunction combinePassengers(transports) {\n var slotProps = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return transports.reduce(function (passengers, transport) {\n var temp = transport.passengers[0];\n var newPassengers = typeof temp === 'function' ? temp(slotProps) : transport.passengers;\n return passengers.concat(newPassengers);\n }, []);\n}\nfunction stableSort(array, compareFn) {\n return array.map(function (v, idx) {\n return [idx, v];\n }).sort(function (a, b) {\n return compareFn(a[1], b[1]) || a[0] - b[0];\n }).map(function (c) {\n return c[1];\n });\n}\nfunction pick(obj, keys) {\n return keys.reduce(function (acc, key) {\n if (obj.hasOwnProperty(key)) {\n acc[key] = obj[key];\n }\n\n return acc;\n }, {});\n}\n\nvar transports = {};\nvar targets = {};\nvar sources = {};\nvar Wormhole = Vue.extend({\n data: function data() {\n return {\n transports: transports,\n targets: targets,\n sources: sources,\n trackInstances: inBrowser\n };\n },\n methods: {\n open: function open(transport) {\n if (!inBrowser) return;\n var to = transport.to,\n from = transport.from,\n passengers = transport.passengers,\n _transport$order = transport.order,\n order = _transport$order === void 0 ? Infinity : _transport$order;\n if (!to || !from || !passengers) return;\n var newTransport = {\n to: to,\n from: from,\n passengers: freeze(passengers),\n order: order\n };\n var keys = Object.keys(this.transports);\n\n if (keys.indexOf(to) === -1) {\n Vue.set(this.transports, to, []);\n }\n\n var currentIndex = this.$_getTransportIndex(newTransport); // Copying the array here so that the PortalTarget change event will actually contain two distinct arrays\n\n var newTransports = this.transports[to].slice(0);\n\n if (currentIndex === -1) {\n newTransports.push(newTransport);\n } else {\n newTransports[currentIndex] = newTransport;\n }\n\n this.transports[to] = stableSort(newTransports, function (a, b) {\n return a.order - b.order;\n });\n },\n close: function close(transport) {\n var force = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var to = transport.to,\n from = transport.from;\n if (!to || !from && force === false) return;\n\n if (!this.transports[to]) {\n return;\n }\n\n if (force) {\n this.transports[to] = [];\n } else {\n var index = this.$_getTransportIndex(transport);\n\n if (index >= 0) {\n // Copying the array here so that the PortalTarget change event will actually contain two distinct arrays\n var newTransports = this.transports[to].slice(0);\n newTransports.splice(index, 1);\n this.transports[to] = newTransports;\n }\n }\n },\n registerTarget: function registerTarget(target, vm, force) {\n if (!inBrowser) return;\n\n if (this.trackInstances && !force && this.targets[target]) {\n console.warn(\"[portal-vue]: Target \".concat(target, \" already exists\"));\n }\n\n this.$set(this.targets, target, Object.freeze([vm]));\n },\n unregisterTarget: function unregisterTarget(target) {\n this.$delete(this.targets, target);\n },\n registerSource: function registerSource(source, vm, force) {\n if (!inBrowser) return;\n\n if (this.trackInstances && !force && this.sources[source]) {\n console.warn(\"[portal-vue]: source \".concat(source, \" already exists\"));\n }\n\n this.$set(this.sources, source, Object.freeze([vm]));\n },\n unregisterSource: function unregisterSource(source) {\n this.$delete(this.sources, source);\n },\n hasTarget: function hasTarget(to) {\n return !!(this.targets[to] && this.targets[to][0]);\n },\n hasSource: function hasSource(to) {\n return !!(this.sources[to] && this.sources[to][0]);\n },\n hasContentFor: function hasContentFor(to) {\n return !!this.transports[to] && !!this.transports[to].length;\n },\n // Internal\n $_getTransportIndex: function $_getTransportIndex(_ref) {\n var to = _ref.to,\n from = _ref.from;\n\n for (var i in this.transports[to]) {\n if (this.transports[to][i].from === from) {\n return +i;\n }\n }\n\n return -1;\n }\n }\n});\nvar wormhole = new Wormhole(transports);\n\nvar _id = 1;\nvar Portal = Vue.extend({\n name: 'portal',\n props: {\n disabled: {\n type: Boolean\n },\n name: {\n type: String,\n default: function _default() {\n return String(_id++);\n }\n },\n order: {\n type: Number,\n default: 0\n },\n slim: {\n type: Boolean\n },\n slotProps: {\n type: Object,\n default: function _default() {\n return {};\n }\n },\n tag: {\n type: String,\n default: 'DIV'\n },\n to: {\n type: String,\n default: function _default() {\n return String(Math.round(Math.random() * 10000000));\n }\n }\n },\n created: function created() {\n var _this = this;\n\n this.$nextTick(function () {\n wormhole.registerSource(_this.name, _this);\n });\n },\n mounted: function mounted() {\n if (!this.disabled) {\n this.sendUpdate();\n }\n },\n updated: function updated() {\n if (this.disabled) {\n this.clear();\n } else {\n this.sendUpdate();\n }\n },\n beforeDestroy: function beforeDestroy() {\n wormhole.unregisterSource(this.name);\n this.clear();\n },\n watch: {\n to: function to(newValue, oldValue) {\n oldValue && oldValue !== newValue && this.clear(oldValue);\n this.sendUpdate();\n }\n },\n methods: {\n clear: function clear(target) {\n var closer = {\n from: this.name,\n to: target || this.to\n };\n wormhole.close(closer);\n },\n normalizeSlots: function normalizeSlots() {\n return this.$scopedSlots.default ? [this.$scopedSlots.default] : this.$slots.default;\n },\n normalizeOwnChildren: function normalizeOwnChildren(children) {\n return typeof children === 'function' ? children(this.slotProps) : children;\n },\n sendUpdate: function sendUpdate() {\n var slotContent = this.normalizeSlots();\n\n if (slotContent) {\n var transport = {\n from: this.name,\n to: this.to,\n passengers: _toConsumableArray(slotContent),\n order: this.order\n };\n wormhole.open(transport);\n } else {\n this.clear();\n }\n }\n },\n render: function render(h) {\n var children = this.$slots.default || this.$scopedSlots.default || [];\n var Tag = this.tag;\n\n if (children && this.disabled) {\n return children.length <= 1 && this.slim ? this.normalizeOwnChildren(children)[0] : h(Tag, [this.normalizeOwnChildren(children)]);\n } else {\n return this.slim ? h() : h(Tag, {\n class: {\n 'v-portal': true\n },\n style: {\n display: 'none'\n },\n key: 'v-portal-placeholder'\n });\n }\n }\n});\n\nvar PortalTarget = Vue.extend({\n name: 'portalTarget',\n props: {\n multiple: {\n type: Boolean,\n default: false\n },\n name: {\n type: String,\n required: true\n },\n slim: {\n type: Boolean,\n default: false\n },\n slotProps: {\n type: Object,\n default: function _default() {\n return {};\n }\n },\n tag: {\n type: String,\n default: 'div'\n },\n transition: {\n type: [String, Object, Function]\n }\n },\n data: function data() {\n return {\n transports: wormhole.transports,\n firstRender: true\n };\n },\n created: function created() {\n var _this = this;\n\n this.$nextTick(function () {\n wormhole.registerTarget(_this.name, _this);\n });\n },\n watch: {\n ownTransports: function ownTransports() {\n this.$emit('change', this.children().length > 0);\n },\n name: function name(newVal, oldVal) {\n /**\r\n * TODO\r\n * This should warn as well ...\r\n */\n wormhole.unregisterTarget(oldVal);\n wormhole.registerTarget(newVal, this);\n }\n },\n mounted: function mounted() {\n var _this2 = this;\n\n if (this.transition) {\n this.$nextTick(function () {\n // only when we have a transition, because it causes a re-render\n _this2.firstRender = false;\n });\n }\n },\n beforeDestroy: function beforeDestroy() {\n wormhole.unregisterTarget(this.name);\n },\n computed: {\n ownTransports: function ownTransports() {\n var transports = this.transports[this.name] || [];\n\n if (this.multiple) {\n return transports;\n }\n\n return transports.length === 0 ? [] : [transports[transports.length - 1]];\n },\n passengers: function passengers() {\n return combinePassengers(this.ownTransports, this.slotProps);\n }\n },\n methods: {\n // can't be a computed prop because it has to \"react\" to $slot changes.\n children: function children() {\n return this.passengers.length !== 0 ? this.passengers : this.$scopedSlots.default ? this.$scopedSlots.default(this.slotProps) : this.$slots.default || [];\n },\n // can't be a computed prop because it has to \"react\" to this.children().\n noWrapper: function noWrapper() {\n var noWrapper = this.slim && !this.transition;\n\n if (noWrapper && this.children().length > 1) {\n console.warn('[portal-vue]: PortalTarget with `slim` option received more than one child element.');\n }\n\n return noWrapper;\n }\n },\n render: function render(h) {\n var noWrapper = this.noWrapper();\n var children = this.children();\n var Tag = this.transition || this.tag;\n return noWrapper ? children[0] : this.slim && !Tag ? h() : h(Tag, {\n props: {\n // if we have a transition component, pass the tag if it exists\n tag: this.transition && this.tag ? this.tag : undefined\n },\n class: {\n 'vue-portal-target': true\n }\n }, children);\n }\n});\n\nvar _id$1 = 0;\nvar portalProps = ['disabled', 'name', 'order', 'slim', 'slotProps', 'tag', 'to'];\nvar targetProps = ['multiple', 'transition'];\nvar MountingPortal = Vue.extend({\n name: 'MountingPortal',\n inheritAttrs: false,\n props: {\n append: {\n type: [Boolean, String]\n },\n bail: {\n type: Boolean\n },\n mountTo: {\n type: String,\n required: true\n },\n // Portal\n disabled: {\n type: Boolean\n },\n // name for the portal\n name: {\n type: String,\n default: function _default() {\n return 'mounted_' + String(_id$1++);\n }\n },\n order: {\n type: Number,\n default: 0\n },\n slim: {\n type: Boolean\n },\n slotProps: {\n type: Object,\n default: function _default() {\n return {};\n }\n },\n tag: {\n type: String,\n default: 'DIV'\n },\n // name for the target\n to: {\n type: String,\n default: function _default() {\n return String(Math.round(Math.random() * 10000000));\n }\n },\n // Target\n multiple: {\n type: Boolean,\n default: false\n },\n targetSlim: {\n type: Boolean\n },\n targetSlotProps: {\n type: Object,\n default: function _default() {\n return {};\n }\n },\n targetTag: {\n type: String,\n default: 'div'\n },\n transition: {\n type: [String, Object, Function]\n }\n },\n created: function created() {\n if (typeof document === 'undefined') return;\n var el = document.querySelector(this.mountTo);\n\n if (!el) {\n console.error(\"[portal-vue]: Mount Point '\".concat(this.mountTo, \"' not found in document\"));\n return;\n }\n\n var props = this.$props; // Target already exists\n\n if (wormhole.targets[props.name]) {\n if (props.bail) {\n console.warn(\"[portal-vue]: Target \".concat(props.name, \" is already mounted.\\n Aborting because 'bail: true' is set\"));\n } else {\n this.portalTarget = wormhole.targets[props.name];\n }\n\n return;\n }\n\n var append = props.append;\n\n if (append) {\n var type = typeof append === 'string' ? append : 'DIV';\n var mountEl = document.createElement(type);\n el.appendChild(mountEl);\n el = mountEl;\n } // get props for target from $props\n // we have to rename a few of them\n\n\n var _props = pick(this.$props, targetProps);\n\n _props.slim = this.targetSlim;\n _props.tag = this.targetTag;\n _props.slotProps = this.targetSlotProps;\n _props.name = this.to;\n this.portalTarget = new PortalTarget({\n el: el,\n parent: this.$parent || this,\n propsData: _props\n });\n },\n beforeDestroy: function beforeDestroy() {\n var target = this.portalTarget;\n\n if (this.append) {\n var el = target.$el;\n el.parentNode.removeChild(el);\n }\n\n target.$destroy();\n },\n render: function render(h) {\n if (!this.portalTarget) {\n console.warn(\"[portal-vue] Target wasn't mounted\");\n return h();\n } // if there's no \"manual\" scoped slot, so we create a ourselves\n\n\n if (!this.$scopedSlots.manual) {\n var props = pick(this.$props, portalProps);\n return h(Portal, {\n props: props,\n attrs: this.$attrs,\n on: this.$listeners,\n scopedSlots: this.$scopedSlots\n }, this.$slots.default);\n } // else, we render the scoped slot\n\n\n var content = this.$scopedSlots.manual({\n to: this.to\n }); // if user used