1/******/ (function() { // webpackBootstrap 2/******/ var __webpack_modules__ = ({ 3
4/***/ "./assets/js/Components/_Anchor.js": 5/*!*****************************************!*\ 6 !*** ./assets/js/Components/_Anchor.js ***! 7 \*****************************************/ 8/*! namespace exports */ 9/*! exports [not provided] [no usage info] */ 10/*! runtime requirements: __webpack_require__, __webpack_require__.n, __webpack_require__.r, __webpack_exports__, __webpack_require__.* */ 11/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 12 13"use strict"; 14__webpack_require__.r(__webpack_exports__); 15/* harmony import */ var core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.regexp.exec.js */ "./node_modules/core-js/modules/es.regexp.exec.js"); 16/* harmony import */ var core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_0__); 17/* harmony import */ var core_js_modules_es_string_replace_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.string.replace.js */ "./node_modules/core-js/modules/es.string.replace.js"); 18/* harmony import */ var core_js_modules_es_string_replace_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_replace_js__WEBPACK_IMPORTED_MODULE_1__); 19/* harmony import */ var core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.array.slice.js */ "./node_modules/core-js/modules/es.array.slice.js"); 20/* harmony import */ var core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_2__); 21/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! jquery */ "./node_modules/jquery/dist/jquery.js"); 22/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_3__); 23; 24 25 26 27jquery__WEBPACK_IMPORTED_MODULE_3___default()(document).delegate('a[href*=\\#]:not([href=\\#])', 'click', function () { 28 if (location.pathname.replace(/^\//, '') == this.pathname.replace(/^\//, '') && location.hostname == this.hostname) { 29 var $target = jquery__WEBPACK_IMPORTED_MODULE_3___default()(this.hash); 30 $target = $target.length && $target || jquery__WEBPACK_IMPORTED_MODULE_3___default()('[name=' + this.hash.slice(1) + ']'); 31 var offsetTop = jquery__WEBPACK_IMPORTED_MODULE_3___default()('.c-header').height(); 32 var navi = jquery__WEBPACK_IMPORTED_MODULE_3___default()('.js-navi.is-clone').outerHeight(); 33 34 if ($target.length) { 35 if (navi > 0) { 36 var targetOffset = $target.offset().top - navi; 37 } else { 38 var targetOffset = $target.offset().top; 39 } 40 41 jquery__WEBPACK_IMPORTED_MODULE_3___default()('html,body').animate({ 42 scrollTop: targetOffset 43 }, 1000); 44 return false; 45 } 46 } 47}); 48 49/***/ }), 50
51/***/ "./assets/js/Components/_Header.js": 52/*!*****************************************!*\ 53 !*** ./assets/js/Components/_Header.js ***! 54 \*****************************************/ 55/*! namespace exports */ 56/*! exports [not provided] [no usage info] */ 57/*! runtime requirements: __webpack_require__, __webpack_require__.n, __webpack_require__.r, __webpack_exports__, __webpack_require__.* */ 58/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 59 60"use strict"; 61__webpack_require__.r(__webpack_exports__); 62/* harmony import */ var core_js_modules_es_array_includes_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.includes.js */ "./node_modules/core-js/modules/es.array.includes.js"); 63/* harmony import */ var core_js_modules_es_array_includes_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_includes_js__WEBPACK_IMPORTED_MODULE_0__); 64/* harmony import */ var core_js_modules_es_string_includes_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.string.includes.js */ "./node_modules/core-js/modules/es.string.includes.js"); 65/* harmony import */ var core_js_modules_es_string_includes_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_includes_js__WEBPACK_IMPORTED_MODULE_1__); 66/* harmony import */ var core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.regexp.exec.js */ "./node_modules/core-js/modules/es.regexp.exec.js"); 67/* harmony import */ var core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_2__); 68/* harmony import */ var core_js_modules_es_string_match_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/es.string.match.js */ "./node_modules/core-js/modules/es.string.match.js"); 69/* harmony import */ var core_js_modules_es_string_match_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_match_js__WEBPACK_IMPORTED_MODULE_3__); 70/* harmony import */ var core_js_modules_es_parse_int_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/es.parse-int.js */ "./node_modules/core-js/modules/es.parse-int.js"); 71/* harmony import */ var core_js_modules_es_parse_int_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_parse_int_js__WEBPACK_IMPORTED_MODULE_4__); 72/* harmony import */ var core_js_modules_es_array_join_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! core-js/modules/es.array.join.js */ "./node_modules/core-js/modules/es.array.join.js"); 73/* harmony import */ var core_js_modules_es_array_join_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_join_js__WEBPACK_IMPORTED_MODULE_5__); 74/* harmony import */ var core_js_modules_es_number_constructor_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! core-js/modules/es.number.constructor.js */ "./node_modules/core-js/modules/es.number.constructor.js"); 75/* harmony import */ var core_js_modules_es_number_constructor_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_number_constructor_js__WEBPACK_IMPORTED_MODULE_6__); 76/* harmony import */ var core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! core-js/modules/es.array.slice.js */ "./node_modules/core-js/modules/es.array.slice.js"); 77/* harmony import */ var core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_7__); 78/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! jquery */ "./node_modules/jquery/dist/jquery.js"); 79/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_8__); 80; 81 82 83 84 85 86 87 88 89var bodyHtml = jquery__WEBPACK_IMPORTED_MODULE_8___default()('body,html'); 90var body = jquery__WEBPACK_IMPORTED_MODULE_8___default()('body'); 91/* ====================================== 92body fix 93====================================== */ 94 95var scrollPosi; 96 97function bodyFix() { 98 scrollPosi = jquery__WEBPACK_IMPORTED_MODULE_8___default()(window).scrollTop(); 99 body.addClass('is-fixed'); 100 body.css({ 101 top: -scrollPosi 102 }); 103} 104 105function bodyFixReset() { 106 body.removeClass('is-fixed'); 107 body.removeAttr('style'); 108 bodyHtml.scrollTop(scrollPosi); 109} // $(window).on('scroll', function () {
110// $('.js-header').css('left', -$(window).scrollLeft()) 111// }) 112 113 114jquery__WEBPACK_IMPORTED_MODULE_8___default()(function () { 115 var btnMenu = jquery__WEBPACK_IMPORTED_MODULE_8___default()('.js-header-btn'); 116 var header = jquery__WEBPACK_IMPORTED_MODULE_8___default()('.js-header'); 117 var btnMenuText = jquery__WEBPACK_IMPORTED_MODULE_8___default()('.js-header-btntext'); 118 var menus = jquery__WEBPACK_IMPORTED_MODULE_8___default()('.c-header__menus'); 119 120 if (btnMenu.length) { 121 btnMenu.on('click', function () { 122 header.toggleClass('is-active'); 123 btnMenu.toggleClass('is-active'); 124 125 if (btnMenu.hasClass('is-active')) { 126 btnMenuText.text('éãã'); 127 } else { 128 btnMenuText.text('ã¡ãã¥ã¼'); 129 } 130 131 if (btnMenu.hasClass('is-active')) { 132 if (jquery__WEBPACK_IMPORTED_MODULE_8___default()(window).outerWidth() < 751) { 133 bodyFix(); 134 } 135 } else { 136 if (jquery__WEBPACK_IMPORTED_MODULE_8___default()(window).outerWidth() < 751) { 137 bodyFixReset(); 138 } 139 } 140 }); 141 142 if (jquery__WEBPACK_IMPORTED_MODULE_8___default()('.js-header-bottom').length) { 143 header.addClass('u-style2'); 144 } 145 146 jquery__WEBPACK_IMPORTED_MODULE_8___default()(window).on('click', function (e) { 147 if (jquery__WEBPACK_IMPORTED_MODULE_8___default()(e.target).is('.c-header__menus')) { 148 bodyFixReset(); 149 btnMenu.removeClass('is-active'); 150 header.removeClass('is-active'); 151 btnMenuText.text('ã¡ãã¥ã¼'); 152 } 153 }); 154 jquery__WEBPACK_IMPORTED_MODULE_8___default()(window).on('resize scroll', function () { 155 if (jquery__WEBPACK_IMPORTED_MODULE_8___default()(window).outerWidth() > 749) { 156 bodyFixReset(); 157 btnMenu.removeClass('is-active'); 158 header.removeClass('is-active'); 159 btnMenuText.text('ã¡ãã¥ã¼'); 160 } 161 }); 162 jquery__WEBPACK_IMPORTED_MODULE_8___default()(window).on('load resize', function () { 163 var hWindow = jquery__WEBPACK_IMPORTED_MODULE_8___default()(window).innerHeight(); 164 menus.css('height', hWindow); 165 166 if (jquery__WEBPACK_IMPORTED_MODULE_8___default()(window).outerWidth() > 749) { 167 menus.removeAttr('style'); 168 } 169 }); 170 } 171 172 function iPad() { 173 return ['iPad Simulator', 'iPad'].includes(navigator.platform) || navigator.userAgent.includes('Mac') && 'ontouchend' in document; 174 } 175 176 function getiOSVersion() { 177 var match = navigator.appVersion.match(/OS (\d+)_(\d+)_?(\d+)?/); 178 179 if (match !== null) { 180 var version = [parseInt(match[1], 10), parseInt(match[2], 10), parseInt(match[3] || 0, 10)]; 181 return version.join('.'); 182 } 183 184 return 'Not an iOS device'; 185 } 186 187 var iOSVersion = Number(getiOSVersion().slice(0, 2)); 188 189 if (iPad()) { 190 if (iOSVersion === 13) { 191 jquery__WEBPACK_IMPORTED_MODULE_8___default()('body').addClass('is-ios-old'); 192 } 193 } 194}); 195 196/***/ }), 197
198/***/ "./assets/js/Components/_Modal.js": 199/*!****************************************!*\ 200 !*** ./assets/js/Components/_Modal.js ***! 201 \****************************************/ 202/*! namespace exports */ 203/*! exports [not provided] [no usage info] */ 204/*! runtime requirements: __webpack_require__, __webpack_require__.n, __webpack_require__.r, __webpack_exports__, __webpack_require__.* */ 205/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 206 207"use strict"; 208__webpack_require__.r(__webpack_exports__); 209/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ "./node_modules/jquery/dist/jquery.js"); 210/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__); 211; 212var bodyHtml = jquery__WEBPACK_IMPORTED_MODULE_0___default()('body,html'); 213var body = jquery__WEBPACK_IMPORTED_MODULE_0___default()('body'); 214/* ====================================== 215body fix 216====================================== */ 217 218var scrollPosi; 219 220function bodyFix() { 221 scrollPosi = jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).scrollTop(); 222 body.addClass('is-fixed'); 223 body.css({ 224 top: -scrollPosi 225 }); 226} 227 228function bodyFixReset() { 229 body.removeClass('is-fixed'); 230 body.removeAttr('style'); 231 bodyHtml.scrollTop(scrollPosi); 232} 233 234jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).on('load', function () { 235 var btnOpenModal = jquery__WEBPACK_IMPORTED_MODULE_0___default()('.js-open-modal'); 236 var btnCloseModal = jquery__WEBPACK_IMPORTED_MODULE_0___default()('.js-close-modal'); 237 238 function closemodal() { 239 jquery__WEBPACK_IMPORTED_MODULE_0___default()('[data-modal]').removeClass('is-active'); 240 } 241 242 btnOpenModal.on('click', function (e) { 243 if (jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).outerWidth() > 750) { 244 e.preventDefault(); 245 jquery__WEBPACK_IMPORTED_MODULE_0___default()("[data-modal=".concat(jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).data('open-modal'), "]")).addClass('is-active'); 246 } 247 }); 248 btnCloseModal.on('click', function () { 249 return closemodal(); 250 }); 251 jquery__WEBPACK_IMPORTED_MODULE_0___default()('[data-modal]').on('click', function (e) { 252 if (jquery__WEBPACK_IMPORTED_MODULE_0___default()(e.target).is('.c-modal') || jquery__WEBPACK_IMPORTED_MODULE_0___default()(e.target).is('.c-modal__wrap')) { 253 closemodal(); 254 } 255 }); 256 jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).on('scroll', function () { 257 jquery__WEBPACK_IMPORTED_MODULE_0___default()('.c-modal.is-active').css('left', -jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).scrollLeft()); 258 }); 259}); 260 261/***/ }), 262
263/***/ "./assets/js/Components/_Navi.js": 264/*!***************************************!*\ 265 !*** ./assets/js/Components/_Navi.js ***! 266 \***************************************/ 267/*! namespace exports */ 268/*! exports [not provided] [no usage info] */ 269/*! runtime requirements: __webpack_require__, __webpack_require__.n, __webpack_require__.r, __webpack_exports__, __webpack_require__.* */ 270/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 271 272"use strict"; 273__webpack_require__.r(__webpack_exports__); 274/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ "./node_modules/jquery/dist/jquery.js"); 275/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__); 276; 277jquery__WEBPACK_IMPORTED_MODULE_0___default()('.js-navi').each(function () { 278 jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).clone().addClass('is-clone').appendTo(this); 279}); 280jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).scroll(function () { 281 var scrollDistance = jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).scrollTop(); 282 var offsetTop = jquery__WEBPACK_IMPORTED_MODULE_0___default()('.c-header').outerHeight(); 283 var anchorBar = jquery__WEBPACK_IMPORTED_MODULE_0___default()('.js-navi.is-clone').outerHeight() + 1; 284 285 if (jquery__WEBPACK_IMPORTED_MODULE_0___default()('.js-navi').length > 0) { 286 if (scrollDistance > jquery__WEBPACK_IMPORTED_MODULE_0___default()('.js-navi').position().top) { 287 jquery__WEBPACK_IMPORTED_MODULE_0___default()('.js-navi.is-clone').addClass('is-show'); 288 } else { 289 jquery__WEBPACK_IMPORTED_MODULE_0___default()('.js-navi.is-clone').removeClass('is-show'); 290 } 291 292 jquery__WEBPACK_IMPORTED_MODULE_0___default()('.jsAnchor').each(function () { 293 var el = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this), 294 className = el.attr('id'); 295 296 if (el.offset().top - anchorBar < scrollDistance) { 297 jquery__WEBPACK_IMPORTED_MODULE_0___default()('.c-navi__item').removeClass('is-active'); 298 jquery__WEBPACK_IMPORTED_MODULE_0___default()(".c-navi__txt[href='#".concat(className, "']")).parent().addClass('is-active'); 299 } else {} 300 }); 301 } 302}).scroll(); 303jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).on('scroll', function () { 304 jquery__WEBPACK_IMPORTED_MODULE_0___default()('.js-navi').css('left', -jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).scrollLeft()); 305}); 306 307/***/ }), 308
309/***/ "./assets/js/Components/_Readmore.js": 310/*!*******************************************!*\ 311 !*** ./assets/js/Components/_Readmore.js ***! 312 \*******************************************/ 313/*! namespace exports */ 314/*! exports [not provided] [no usage info] */ 315/*! runtime requirements: __webpack_require__, __webpack_require__.n, __webpack_require__.r, __webpack_exports__, __webpack_require__.* */ 316/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 317 318"use strict"; 319__webpack_require__.r(__webpack_exports__); 320/* harmony import */ var core_js_modules_es_array_find_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.find.js */ "./node_modules/core-js/modules/es.array.find.js"); 321/* harmony import */ var core_js_modules_es_array_find_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_find_js__WEBPACK_IMPORTED_MODULE_0__); 322/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.object.to-string.js */ "./node_modules/core-js/modules/es.object.to-string.js"); 323/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_1__); 324/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! jquery */ "./node_modules/jquery/dist/jquery.js"); 325/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_2__); 326; 327 328 329jquery__WEBPACK_IMPORTED_MODULE_2___default()('.js-readmore').each(function () { 330 var defaultHeight = jquery__WEBPACK_IMPORTED_MODULE_2___default()('.js-readmore-content', this).outerHeight(); 331 var text = jquery__WEBPACK_IMPORTED_MODULE_2___default()('.js-readmore-content', this);; 332 var textHeight = text[0].scrollHeight; 333 var button = jquery__WEBPACK_IMPORTED_MODULE_2___default()('.js-readmore-btn', this); 334 335 if (textHeight < 32) { 336 button.hide(); 337 } else { 338 button.show(); 339 } 340 341 if (jquery__WEBPACK_IMPORTED_MODULE_2___default()(this).hasClass('c-imgtext1__info')) { 342 if (textHeight <= 240) { 343 button.hide(); 344 } else { 345 button.show(); 346 } 347 } 348 349 if (jquery__WEBPACK_IMPORTED_MODULE_2___default()(this).hasClass('c-detail__box2')) { 350 if (textHeight <= 132) { 351 button.hide(); 352 } else { 353 button.show(); 354 } 355 } 356 if (jquery__WEBPACK_IMPORTED_MODULE_2___default()(this).hasClass('c-box2')) { 357 if (textHeight <= 228) { 358 button.hide(); 359 } else { 360 button.show(); 361 } 362 } 363 364 button.on('click', function () { 365 var newHeight = 0; 366 367 if (jquery__WEBPACK_IMPORTED_MODULE_2___default()(this).hasClass('is-open')) { 368 newHeight = defaultHeight; 369 jquery__WEBPACK_IMPORTED_MODULE_2___default()(this).removeClass('is-open'); 370 jquery__WEBPACK_IMPORTED_MODULE_2___default()(this).find('span').text('ç¶ããèªã'); 371 } else { 372 newHeight = textHeight; 373 jquery__WEBPACK_IMPORTED_MODULE_2___default()(this).addClass('is-open'); 374 jquery__WEBPACK_IMPORTED_MODULE_2___default()(this).find('span').text('éãã'); 375 } 376 377 text.animate({ 378 'max-height': newHeight 379 }, 500); 380 }); 381}); 382 383/***/ }), 384
385/***/ "./assets/js/Components/_Side.js": 386/*!***************************************!*\ 387 !*** ./assets/js/Components/_Side.js ***! 388 \***************************************/ 389/*! namespace exports */ 390/*! exports [not provided] [no usage info] */ 391/*! runtime requirements: __webpack_require__, __webpack_require__.n, __webpack_require__.r, __webpack_exports__, __webpack_require__.* */ 392/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 393 394"use strict"; 395__webpack_require__.r(__webpack_exports__); 396/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ "./node_modules/jquery/dist/jquery.js"); 397/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__); 398; 399jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).scroll(function () { 400 var scrollDistance = jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).scrollTop(); 401 var offsetTop = jquery__WEBPACK_IMPORTED_MODULE_0___default()('.c-header').outerHeight(); 402 403 if (jquery__WEBPACK_IMPORTED_MODULE_0___default()('.js-side').length > 0) { 404 if (jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).outerWidth() < 751) { 405 if (scrollDistance > jquery__WEBPACK_IMPORTED_MODULE_0___default()('.js-navi').position().top - offsetTop) { 406 jquery__WEBPACK_IMPORTED_MODULE_0___default()('.js-side').addClass('is-show'); 407 } else { 408 jquery__WEBPACK_IMPORTED_MODULE_0___default()('.js-side').removeClass('is-show'); 409 } 410 } 411 } 412}).scroll(); 413 414/***/ }), 415
416/***/ "./assets/js/Components/_Slider.js": 417/*!*****************************************!*\ 418 !*** ./assets/js/Components/_Slider.js ***! 419 \*****************************************/ 420/*! namespace exports */ 421/*! exports [not provided] [no usage info] */ 422/*! runtime requirements: __webpack_require__, __webpack_require__.n, __webpack_require__.r, __webpack_exports__, __webpack_require__.* */ 423/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 424 425"use strict"; 426__webpack_require__.r(__webpack_exports__); 427/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ "./node_modules/jquery/dist/jquery.js"); 428/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__); 429/* harmony import */ var swiper_bundle__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! swiper/bundle */ "./node_modules/swiper/swiper-bundle.esm.js"); 430/* harmony import */ var swiper_swiper_bundle_css__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! swiper/swiper-bundle.css */ "./node_modules/swiper/swiper-bundle.css"); 431; 432 433 // const slider1 = new Swiper('.c-slider01', { 434// loop: true, 435// pagination: { 436// el: '.swiper-pagination', 437// }, 438// navigation: { 439// nextEl: '.swiper-button-next', 440// prevEl: '.swiper-button-prev', 441// }, 442// }); 443 444jquery__WEBPACK_IMPORTED_MODULE_0___default()('.js-slide1').each(function () { 445 var thumbs = new swiper_bundle__WEBPACK_IMPORTED_MODULE_1__.default('.js-slide1-thumbs', { 446 loop: false, 447 spaceBetween: 4, 448 slidesPerView: 3.85, 449 navigation: { 450 nextEl: '.js-slide1 .js-slide1-thumbs .swiper-button-next', 451 prevEl: '.js-slide1 .js-slide1-thumbs .swiper-button-prev' 452 }, 453 breakpoints: { 454 751: { 455 slidesPerView: 6, 456 allowTouchMove: false 457 } 458 } 459 }); 460 var main = new swiper_bundle__WEBPACK_IMPORTED_MODULE_1__.default('.js-slide1 .js-slide1-main .swiper', { 461 loop: true, 462 spaceBetween: 10, 463 effect: 'fade', 464 navigation: { 465 nextEl: '.js-slide1 .js-slide1-main .c-slide1__main__btn.next', 466 prevEl: '.js-slide1 .js-slide1-main .c-slide1__main__btn.prev' 467 }, 468 thumbs: { 469 swiper: thumbs 470 }, 471 pagination: { 472 el: '.js-slide1 .js-slide1-main .swiper-pagination', 473 type: 'fraction' 474 } 475 }); 476}); 477 478function initSlide2() { 479 var list2 = jquery__WEBPACK_IMPORTED_MODULE_0___default()('.js-slide2'); 480 481 if (list2.length) { 482 list2.each(function () { 483 var _this = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this); 484 485 new swiper_bundle__WEBPACK_IMPORTED_MODULE_1__.default(_this[0], { 486 loop: false, 487 slidesPerView: 1.53, 488 paginationClickable: true, 489 spaceBetween: 14 490 }); 491 }); 492 } 493} 494 495function destroySlide2() { 496 var slide2 = jquery__WEBPACK_IMPORTED_MODULE_0___default()('.js-slide2'); 497 498 if (slide2.length) { 499 slide2.each(function () { 500 var _this = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this); 501 502 if (jquery__WEBPACK_IMPORTED_MODULE_0___default()(_this[0]).hasClass('swiper-initialized')) { 503 _this[0].swiper.destroy(); 504 } 505 }); 506 } 507} 508 509function initSlide3() { 510 var list2 = jquery__WEBPACK_IMPORTED_MODULE_0___default()('.js-slide3'); 511 512 if (list2.length) { 513 list2.each(function () { 514 var _this = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this); 515 516 new swiper_bundle__WEBPACK_IMPORTED_MODULE_1__.default(_this[0], { 517 loop: false, 518 slidesPerView: 1.53, 519 paginationClickable: true, 520 spaceBetween: 14 521 }); 522 }); 523 } 524} 525 526function destroySlide3() { 527 var slide3 = jquery__WEBPACK_IMPORTED_MODULE_0___default()('.js-slide3'); 528 529 if (slide3.length) { 530 slide3.each(function () { 531 var _this = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this); 532 533 if (jquery__WEBPACK_IMPORTED_MODULE_0___default()(_this[0]).hasClass('swiper-initialized')) { 534 _this[0].swiper.destroy(); 535 } 536 }); 537 } 538} 539 540function checkScreenSize() { 541 if (jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).outerWidth() <= 750) { 542 initSlide2(); 543 initSlide3(); 544 } else { 545 destroySlide2(); 546 destroySlide3(); 547 } 548} 549 550jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).on('load resize', function () { 551 checkScreenSize(); 552}); 553 554/***/ }), 555
556/***/ "./assets/js/Components/_Table.js": 557/*!****************************************!*\ 558 !*** ./assets/js/Components/_Table.js ***! 559 \****************************************/ 560/*! namespace exports */ 561/*! exports [not provided] [no usage info] */ 562/*! runtime requirements: __webpack_require__, __webpack_require__.n, __webpack_require__.r, __webpack_exports__, __webpack_require__.* */ 563/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 564 565"use strict"; 566__webpack_require__.r(__webpack_exports__); 567/* harmony import */ var core_js_modules_es_array_find_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.find.js */ "./node_modules/core-js/modules/es.array.find.js"); 568/* harmony import */ var core_js_modules_es_array_find_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_find_js__WEBPACK_IMPORTED_MODULE_0__); 569/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.object.to-string.js */ "./node_modules/core-js/modules/es.object.to-string.js"); 570/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_1__); 571/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! jquery */ "./node_modules/jquery/dist/jquery.js"); 572/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_2__); 573; 574 575 576jquery__WEBPACK_IMPORTED_MODULE_2___default()('.js-table').each(function () { 577 jquery__WEBPACK_IMPORTED_MODULE_2___default()('.js-table-btn', this).on('click', function () { 578 jquery__WEBPACK_IMPORTED_MODULE_2___default()(this).toggleClass('is-open'); 579 if (jquery__WEBPACK_IMPORTED_MODULE_2___default()(this).hasClass('is-open')) { 580 jquery__WEBPACK_IMPORTED_MODULE_2___default()('span', this).text('éãã'); 581 } else { 582 jquery__WEBPACK_IMPORTED_MODULE_2___default()('span', this).text('å 訳ãè¦ã'); 583 } 584 585 jquery__WEBPACK_IMPORTED_MODULE_2___default()(this).closest('.js-table-row').toggleClass('is-open'); 586 jquery__WEBPACK_IMPORTED_MODULE_2___default()(this).closest('.js-table').find('.js-table-content').slideToggle(); 587 }); 588}); 589 590/***/ }), 591
592/***/ "./assets/js/Components/_Tooltip.js": 593/*!******************************************!*\ 594 !*** ./assets/js/Components/_Tooltip.js ***! 595 \******************************************/ 596/*! namespace exports */ 597/*! exports [not provided] [no usage info] */ 598/*! runtime requirements: __webpack_require__, __webpack_require__.n, __webpack_require__.r, __webpack_exports__, __webpack_require__.* */ 599/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 600 601"use strict"; 602__webpack_require__.r(__webpack_exports__); 603/* harmony import */ var core_js_modules_es_array_find_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.find.js */ "./node_modules/core-js/modules/es.array.find.js"); 604/* harmony import */ var core_js_modules_es_array_find_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_find_js__WEBPACK_IMPORTED_MODULE_0__); 605/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.object.to-string.js */ "./node_modules/core-js/modules/es.object.to-string.js"); 606/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_1__); 607/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! jquery */ "./node_modules/jquery/dist/jquery.js"); 608/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_2__); 609; 610 611 612jquery__WEBPACK_IMPORTED_MODULE_2___default()(window).on('load resize', function () { 613 jquery__WEBPACK_IMPORTED_MODULE_2___default()('.js-tooltip').each(function (index) { 614 if (jquery__WEBPACK_IMPORTED_MODULE_2___default()(window).outerWidth() > 750) { 615 var target = jquery__WEBPACK_IMPORTED_MODULE_2___default()(this).offset().left + jquery__WEBPACK_IMPORTED_MODULE_2___default()(this).outerWidth(); 616 var content = jquery__WEBPACK_IMPORTED_MODULE_2___default()(this).find('.js-tooltip-info').outerWidth() / 3 * 2; 617 var wrap = jquery__WEBPACK_IMPORTED_MODULE_2___default()(this).closest('.js-tooltip-wrap'); 618 var targetRight = wrap.offset().left + wrap.outerWidth() - target; 619 var targetLeft = target - wrap.offset().left; 620 621 if (targetRight < content) { 622 jquery__WEBPACK_IMPORTED_MODULE_2___default()(this).find('.js-tooltip-info').css({ 623 left: 'auto', 624 right: 0 625 }); 626 jquery__WEBPACK_IMPORTED_MODULE_2___default()(this).addClass('is-right'); 627 } else if (targetLeft < content) { 628 jquery__WEBPACK_IMPORTED_MODULE_2___default()(this).find('.js-tooltip-info').css({ 629 left: 0 630 }); 631 } 632 } else { 633 var tooltip = jquery__WEBPACK_IMPORTED_MODULE_2___default()(this).find('.js-tooltip-info'); 634 if (tooltip.length) { 635 var _targetRight = tooltip.offset().left + tooltip.outerWidth(); 636 637 if (_targetRight > jquery__WEBPACK_IMPORTED_MODULE_2___default()(window).outerWidth()) { 638 var parentWidth = jquery__WEBPACK_IMPORTED_MODULE_2___default()(this).outerWidth(); 639 var tooltipWidth = tooltip.outerWidth(); 640 var leftPosition = (parentWidth - tooltipWidth) / 2; 641 tooltip.css('left', leftPosition); 642 643 var _targetLeft = tooltip.offset().left + tooltip.outerWidth(); 644 645 if (_targetLeft > jquery__WEBPACK_IMPORTED_MODULE_2___default()(window).outerWidth()) { 646 var tru = _targetLeft - jquery__WEBPACK_IMPORTED_MODULE_2___default()(window).outerWidth(); 647 648 tooltip.css('left', leftPosition - tru - 12); 649 } else if (tooltip.offset().left < 12) { 650 tooltip.css('left', leftPosition - tooltip.offset().left + 12); 651 } 652 } 653 } 654 } 655 656 jquery__WEBPACK_IMPORTED_MODULE_2___default()(this).on('click', function () { 657 if (jquery__WEBPACK_IMPORTED_MODULE_2___default()(window).outerWidth() < 751) { 658 if (jquery__WEBPACK_IMPORTED_MODULE_2___default()(this).hasClass('is-open')) { 659 jquery__WEBPACK_IMPORTED_MODULE_2___default()(this).removeClass('is-open'); 660 } else { 661 jquery__WEBPACK_IMPORTED_MODULE_2___default()('.js-tooltip').removeClass('is-open'); 662 jquery__WEBPACK_IMPORTED_MODULE_2___default()(this).addClass('is-open'); 663 } 664 } 665 }); 666 }); 667 jquery__WEBPACK_IMPORTED_MODULE_2___default()(document).on('click', function (event) { 668 if (jquery__WEBPACK_IMPORTED_MODULE_2___default()(window).outerWidth() < 751) { 669 if (!jquery__WEBPACK_IMPORTED_MODULE_2___default()(event.target).closest('.js-tooltip').length) { 670 jquery__WEBPACK_IMPORTED_MODULE_2___default()('.js-tooltip').removeClass('is-open'); 671 } 672 } 673 }); 674 jquery__WEBPACK_IMPORTED_MODULE_2___default()('.js-tooltip-info').click(function (event) { 675 if (jquery__WEBPACK_IMPORTED_MODULE_2___default()(window).outerWidth() < 751) { 676 event.stopPropagation(); 677 } 678 }); 679}); 680 681/***/ }), 682
683/***/ "./assets/js/common/index.js": 684/*!***********************************!*\ 685 !*** ./assets/js/common/index.js ***! 686 \***********************************/ 687/*! namespace exports */ 688/*! exports [not provided] [no usage info] */ 689/*! runtime requirements: __webpack_require__, __webpack_require__.n, __webpack_require__.r, __webpack_exports__, __webpack_require__.* */ 690/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 691 692"use strict"; 693__webpack_require__.r(__webpack_exports__); 694/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ "./node_modules/jquery/dist/jquery.js"); 695/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__); 696/* harmony import */ var _Components_Anchor_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Components/_Anchor.js */ "./assets/js/Components/_Anchor.js"); 697/* harmony import */ var _Components_Header_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../Components/_Header.js */ "./assets/js/Components/_Header.js"); 698/* harmony import */ var _Components_Slider__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../Components/_Slider */ "./assets/js/Components/_Slider.js"); 699/* harmony import */ var _Components_Table_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../Components/_Table.js */ "./assets/js/Components/_Table.js"); 700/* harmony import */ var _Components_Tooltip_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../Components/_Tooltip.js */ "./assets/js/Components/_Tooltip.js"); 701/* harmony import */ var _Components_Modal_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../Components/_Modal.js */ "./assets/js/Components/_Modal.js"); 702/* harmony import */ var _Components_Readmore_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../Components/_Readmore.js */ "./assets/js/Components/_Readmore.js"); 703/* harmony import */ var _Components_Navi_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../Components/_Navi.js */ "./assets/js/Components/_Navi.js"); 704/* harmony import */ var _Components_Side_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../Components/_Side.js */ "./assets/js/Components/_Side.js"); 705; 706 707 708 709 710 711 712 713 714 715jquery__WEBPACK_IMPORTED_MODULE_0___default()('.js-star').on('click', function (e) { 716 jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).toggleClass('is-active'); 717}); 718 719if (!jquery__WEBPACK_IMPORTED_MODULE_0___default()('.c-detail__action .c-box4').length && jquery__WEBPACK_IMPORTED_MODULE_0___default()('.c-detail__action').find('.top_favorite').length) { 720 jquery__WEBPACK_IMPORTED_MODULE_0___default()('.c-detail__action').addClass('no-box4'); 721} 722 723var pagetop = jquery__WEBPACK_IMPORTED_MODULE_0___default()('.js-gotop'); 724jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).scroll(function () { 725 if (jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).scrollTop() > 50) { 726 pagetop.addClass('is-show'); 727 } else { 728 pagetop.removeClass('is-show'); 729 } 730 731 var w_stop = jquery__WEBPACK_IMPORTED_MODULE_0___default()('.c-footer').offset().top - jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).innerHeight(); 732 733 if (jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).scrollTop() > w_stop) { 734 pagetop.addClass('is-absolute'); 735 } else { 736 pagetop.removeClass('is-absolute'); 737 } 738}); 739pagetop.click(function () { 740 jquery__WEBPACK_IMPORTED_MODULE_0___default()('body, html').animate({ 741 scrollTop: 0 742 }, 500); 743}); 744 745/***/ }), 746
vendor: 959 bytes, lines 747-769
747/***/ "./node_modules/core-js/internals/a-callable.js": 748/*!******************************************************!*\ 749 !*** ./node_modules/core-js/internals/a-callable.js ***! 750 \******************************************************/ 751/*! unknown exports (runtime-defined) */ 752/*! runtime requirements: module, __webpack_require__ */ 753/*! CommonJS bailout: module.exports is used directly at 7:0-14 */ 754/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 755 756var isCallable = __webpack_require__(/*! ../internals/is-callable */ "./node_modules/core-js/internals/is-callable.js"); 757var tryToString = __webpack_require__(/*! ../internals/try-to-string */ "./node_modules/core-js/internals/try-to-string.js"); 758 759var $TypeError = TypeError; 760 761// `Assert: IsCallable(argument) is true` 762module.exports = function (argument) { 763 if (isCallable(argument)) return argument; 764 throw $TypeError(tryToString(argument) + ' is not a function'); 765}; 766 767 768/***/ }), 769
vendor: 892 bytes, lines 770-791
770/***/ "./node_modules/core-js/internals/a-possible-prototype.js": 771/*!****************************************************************!*\ 772 !*** ./node_modules/core-js/internals/a-possible-prototype.js ***! 773 \****************************************************************/ 774/*! unknown exports (runtime-defined) */ 775/*! runtime requirements: module, __webpack_require__ */ 776/*! CommonJS bailout: module.exports is used directly at 6:0-14 */ 777/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 778 779var isCallable = __webpack_require__(/*! ../internals/is-callable */ "./node_modules/core-js/internals/is-callable.js"); 780 781var $String = String; 782var $TypeError = TypeError; 783 784module.exports = function (argument) { 785 if (typeof argument == 'object' || isCallable(argument)) return argument; 786 throw $TypeError("Can't set " + $String(argument) + ' as a prototype'); 787}; 788 789 790/***/ }), 791
vendor: 1,394 bytes, lines 792-824
792/***/ "./node_modules/core-js/internals/add-to-unscopables.js": 793/*!**************************************************************!*\ 794 !*** ./node_modules/core-js/internals/add-to-unscopables.js ***! 795 \**************************************************************/ 796/*! unknown exports (runtime-defined) */ 797/*! runtime requirements: __webpack_require__, module */ 798/*! CommonJS bailout: module.exports is used directly at 18:0-14 */ 799/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 800 801var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js"); 802var create = __webpack_require__(/*! ../internals/object-create */ "./node_modules/core-js/internals/object-create.js"); 803var defineProperty = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js").f; 804 805var UNSCOPABLES = wellKnownSymbol('unscopables'); 806var ArrayPrototype = Array.prototype; 807 808// Array.prototype[@@unscopables] 809// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables 810if (ArrayPrototype[UNSCOPABLES] == undefined) { 811 defineProperty(ArrayPrototype, UNSCOPABLES, { 812 configurable: true, 813 value: create(null) 814 }); 815} 816 817// add a key to Array.prototype[@@unscopables] 818module.exports = function (key) { 819 ArrayPrototype[UNSCOPABLES][key] = true; 820}; 821 822 823/***/ }), 824
vendor: 880 bytes, lines 825-846
825/***/ "./node_modules/core-js/internals/advance-string-index.js": 826/*!****************************************************************!*\ 827 !*** ./node_modules/core-js/internals/advance-string-index.js ***! 828 \****************************************************************/ 829/*! unknown exports (runtime-defined) */ 830/*! runtime requirements: __webpack_require__, module */ 831/*! CommonJS bailout: module.exports is used directly at 6:0-14 */ 832/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 833 834"use strict"; 835 836var charAt = __webpack_require__(/*! ../internals/string-multibyte */ "./node_modules/core-js/internals/string-multibyte.js").charAt; 837 838// `AdvanceStringIndex` abstract operation 839// https://tc39.es/ecma262/#sec-advancestringindex 840module.exports = function (S, index, unicode) { 841 return index + (unicode ? charAt(S, index).length : 1); 842}; 843 844 845/***/ }), 846
vendor: 834 bytes, lines 847-869
847/***/ "./node_modules/core-js/internals/an-object.js": 848/*!*****************************************************!*\ 849 !*** ./node_modules/core-js/internals/an-object.js ***! 850 \*****************************************************/ 851/*! unknown exports (runtime-defined) */ 852/*! runtime requirements: module, __webpack_require__ */ 853/*! CommonJS bailout: module.exports is used directly at 7:0-14 */ 854/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 855 856var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js"); 857 858var $String = String; 859var $TypeError = TypeError; 860 861// `Assert: Type(argument) is Object` 862module.exports = function (argument) { 863 if (isObject(argument)) return argument; 864 throw $TypeError($String(argument) + ' is not an object'); 865}; 866 867 868/***/ }), 869
vendor: 2,043 bytes, lines 870-914
870/***/ "./node_modules/core-js/internals/array-includes.js": 871/*!**********************************************************!*\ 872 !*** ./node_modules/core-js/internals/array-includes.js ***! 873 \**********************************************************/ 874/*! unknown exports (runtime-defined) */ 875/*! runtime requirements: module, __webpack_require__ */ 876/*! CommonJS bailout: module.exports is used directly at 25:0-14 */ 877/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 878 879var toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ "./node_modules/core-js/internals/to-indexed-object.js"); 880var toAbsoluteIndex = __webpack_require__(/*! ../internals/to-absolute-index */ "./node_modules/core-js/internals/to-absolute-index.js"); 881var lengthOfArrayLike = __webpack_require__(/*! ../internals/length-of-array-like */ "./node_modules/core-js/internals/length-of-array-like.js"); 882 883// `Array.prototype.{ indexOf, includes }` methods implementation 884var createMethod = function (IS_INCLUDES) { 885 return function ($this, el, fromIndex) { 886 var O = toIndexedObject($this); 887 var length = lengthOfArrayLike(O); 888 var index = toAbsoluteIndex(fromIndex, length); 889 var value; 890 // Array#includes uses SameValueZero equality algorithm 891 // eslint-disable-next-line no-self-compare -- NaN check 892 if (IS_INCLUDES && el != el) while (length > index) { 893 value = O[index++]; 894 // eslint-disable-next-line no-self-compare -- NaN check 895 if (value != value) return true; 896 // Array#indexOf ignores holes, Array#includes - not 897 } else for (;length > index; index++) { 898 if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0; 899 } return !IS_INCLUDES && -1; 900 }; 901}; 902 903module.exports = { 904 // `Array.prototype.includes` method 905 // https://tc39.es/ecma262/#sec-array.prototype.includes 906 includes: createMethod(true), 907 // `Array.prototype.indexOf` method 908 // https://tc39.es/ecma262/#sec-array.prototype.indexof 909 indexOf: createMethod(false) 910}; 911 912 913/***/ }), 914
vendor: 3,858 bytes, lines 915-1000
915/***/ "./node_modules/core-js/internals/array-iteration.js": 916/*!***********************************************************!*\ 917 !*** ./node_modules/core-js/internals/array-iteration.js ***! 918 \***********************************************************/ 919/*! unknown exports (runtime-defined) */ 920/*! runtime requirements: module, __webpack_require__ */ 921/*! CommonJS bailout: module.exports is used directly at 48:0-14 */ 922/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 923 924var bind = __webpack_require__(/*! ../internals/function-bind-context */ "./node_modules/core-js/internals/function-bind-context.js"); 925var uncurryThis = __webpack_require__(/*! ../internals/function-uncurry-this */ "./node_modules/core-js/internals/function-uncurry-this.js"); 926var IndexedObject = __webpack_require__(/*! ../internals/indexed-object */ "./node_modules/core-js/internals/indexed-object.js"); 927var toObject = __webpack_require__(/*! ../internals/to-object */ "./node_modules/core-js/internals/to-object.js"); 928var lengthOfArrayLike = __webpack_require__(/*! ../internals/length-of-array-like */ "./node_modules/core-js/internals/length-of-array-like.js"); 929var arraySpeciesCreate = __webpack_require__(/*! ../internals/array-species-create */ "./node_modules/core-js/internals/array-species-create.js"); 930 931var push = uncurryThis([].push); 932 933// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterReject }` methods implementation 934var createMethod = function (TYPE) { 935 var IS_MAP = TYPE == 1; 936 var IS_FILTER = TYPE == 2; 937 var IS_SOME = TYPE == 3; 938 var IS_EVERY = TYPE == 4; 939 var IS_FIND_INDEX = TYPE == 6; 940 var IS_FILTER_REJECT = TYPE == 7; 941 var NO_HOLES = TYPE == 5 || IS_FIND_INDEX; 942 return function ($this, callbackfn, that, specificCreate) { 943 var O = toObject($this); 944 var self = IndexedObject(O); 945 var boundFunction = bind(callbackfn, that); 946 var length = lengthOfArrayLike(self); 947 var index = 0; 948 var create = specificCreate || arraySpeciesCreate; 949 var target = IS_MAP ? create($this, length) : IS_FILTER || IS_FILTER_REJECT ? create($this, 0) : undefined; 950 var value, result; 951 for (;length > index; index++) if (NO_HOLES || index in self) { 952 value = self[index]; 953 result = boundFunction(value, index, O); 954 if (TYPE) { 955 if (IS_MAP) target[index] = result; // map 956 else if (result) switch (TYPE) { 957 case 3: return true; // some 958 case 5: return value; // find 959 case 6: return index; // findIndex 960 case 2: push(target, value); // filter 961 } else switch (TYPE) { 962 case 4: return false; // every 963 case 7: push(target, value); // filterReject 964 } 965 } 966 } 967 return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target; 968 }; 969}; 970 971module.exports = { 972 // `Array.prototype.forEach` method 973 // https://tc39.es/ecma262/#sec-array.prototype.foreach 974 forEach: createMethod(0), 975 // `Array.prototype.map` method 976 // https://tc39.es/ecma262/#sec-array.prototype.map 977 map: createMethod(1), 978 // `Array.prototype.filter` method 979 // https://tc39.es/ecma262/#sec-array.prototype.filter 980 filter: createMethod(2), 981 // `Array.prototype.some` method 982 // https://tc39.es/ecma262/#sec-array.prototype.some 983 some: createMethod(3), 984 // `Array.prototype.every` method 985 // https://tc39.es/ecma262/#sec-array.prototype.every 986 every: createMethod(4), 987 // `Array.prototype.find` method 988 // https://tc39.es/ecma262/#sec-array.prototype.find 989 find: createMethod(5), 990 // `Array.prototype.findIndex` method 991 // https://tc39.es/ecma262/#sec-array.prototype.findIndex 992 findIndex: createMethod(6), 993 // `Array.prototype.filterReject` method 994 // https://github.com/tc39/proposal-array-filtering 995 filterReject: createMethod(7) 996}; 997 998 999/***/ }), 1000
vendor: 1,455 bytes, lines 1001-1032
1001/***/ "./node_modules/core-js/internals/array-method-has-species-support.js": 1002/*!****************************************************************************!*\ 1003 !*** ./node_modules/core-js/internals/array-method-has-species-support.js ***! 1004 \****************************************************************************/ 1005/*! unknown exports (runtime-defined) */ 1006/*! runtime requirements: module, __webpack_require__ */ 1007/*! CommonJS bailout: module.exports is used directly at 7:0-14 */ 1008/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 1009 1010var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); 1011var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js"); 1012var V8_VERSION = __webpack_require__(/*! ../internals/engine-v8-version */ "./node_modules/core-js/internals/engine-v8-version.js"); 1013 1014var SPECIES = wellKnownSymbol('species'); 1015 1016module.exports = function (METHOD_NAME) { 1017 // We can't use this feature detection in V8 since it causes 1018 // deoptimization and serious performance degradation 1019 // https://github.com/zloirock/core-js/issues/677 1020 return V8_VERSION >= 51 || !fails(function () { 1021 var array = []; 1022 var constructor = array.constructor = {}; 1023 constructor[SPECIES] = function () { 1024 return { foo: 1 }; 1025 }; 1026 return array[METHOD_NAME](Boolean).foo !== 1; 1027 }); 1028}; 1029 1030 1031/***/ }), 1032
vendor: 926 bytes, lines 1033-1056
1033/***/ "./node_modules/core-js/internals/array-method-is-strict.js": 1034/*!******************************************************************!*\ 1035 !*** ./node_modules/core-js/internals/array-method-is-strict.js ***! 1036 \******************************************************************/ 1037/*! unknown exports (runtime-defined) */ 1038/*! runtime requirements: module, __webpack_require__ */ 1039/*! CommonJS bailout: module.exports is used directly at 4:0-14 */ 1040/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 1041 1042"use strict"; 1043 1044var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); 1045 1046module.exports = function (METHOD_NAME, argument) { 1047 var method = [][METHOD_NAME]; 1048 return !!method && fails(function () { 1049 // eslint-disable-next-line no-useless-call -- required for testing 1050 method.call(null, argument || function () { return 1; }, 1); 1051 }); 1052}; 1053 1054 1055/***/ }), 1056
vendor: 674 bytes, lines 1057-1072
1057/***/ "./node_modules/core-js/internals/array-slice.js": 1058/*!*******************************************************!*\ 1059 !*** ./node_modules/core-js/internals/array-slice.js ***! 1060 \*******************************************************/ 1061/*! unknown exports (runtime-defined) */ 1062/*! runtime requirements: module, __webpack_require__ */ 1063/*! CommonJS bailout: module.exports is used directly at 3:0-14 */ 1064/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 1065 1066var uncurryThis = __webpack_require__(/*! ../internals/function-uncurry-this */ "./node_modules/core-js/internals/function-uncurry-this.js"); 1067 1068module.exports = uncurryThis([].slice); 1069 1070 1071/***/ }), 1072
vendor: 1,579 bytes, lines 1073-1107
1073/***/ "./node_modules/core-js/internals/array-species-constructor.js": 1074/*!*********************************************************************!*\ 1075 !*** ./node_modules/core-js/internals/array-species-constructor.js ***! 1076 \*********************************************************************/ 1077/*! unknown exports (runtime-defined) */ 1078/*! runtime requirements: module, __webpack_require__ */ 1079/*! CommonJS bailout: module.exports is used directly at 11:0-14 */ 1080/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 1081 1082var isArray = __webpack_require__(/*! ../internals/is-array */ "./node_modules/core-js/internals/is-array.js"); 1083var isConstructor = __webpack_require__(/*! ../internals/is-constructor */ "./node_modules/core-js/internals/is-constructor.js"); 1084var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js"); 1085var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js"); 1086 1087var SPECIES = wellKnownSymbol('species'); 1088var $Array = Array; 1089 1090// a part of `ArraySpeciesCreate` abstract operation 1091// https://tc39.es/ecma262/#sec-arrayspeciescreate 1092module.exports = function (originalArray) { 1093 var C; 1094 if (isArray(originalArray)) { 1095 C = originalArray.constructor; 1096 // cross-realm fallback 1097 if (isConstructor(C) && (C === $Array || isArray(C.prototype))) C = undefined; 1098 else if (isObject(C)) { 1099 C = C[SPECIES]; 1100 if (C === null) C = undefined; 1101 } 1102 } return C === undefined ? $Array : C; 1103}; 1104 1105 1106/***/ }), 1107
vendor: 921 bytes, lines 1108-1127
1108/***/ "./node_modules/core-js/internals/array-species-create.js": 1109/*!****************************************************************!*\ 1110 !*** ./node_modules/core-js/internals/array-species-create.js ***! 1111 \****************************************************************/ 1112/*! unknown exports (runtime-defined) */ 1113/*! runtime requirements: module, __webpack_require__ */ 1114/*! CommonJS bailout: module.exports is used directly at 5:0-14 */ 1115/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 1116 1117var arraySpeciesConstructor = __webpack_require__(/*! ../internals/array-species-constructor */ "./node_modules/core-js/internals/array-species-constructor.js"); 1118 1119// `ArraySpeciesCreate` abstract operation 1120// https://tc39.es/ecma262/#sec-arrayspeciescreate 1121module.exports = function (originalArray, length) { 1122 return new (arraySpeciesConstructor(originalArray))(length === 0 ? 0 : length); 1123}; 1124 1125 1126/***/ }), 1127
vendor: 796 bytes, lines 1128-1148
1128/***/ "./node_modules/core-js/internals/classof-raw.js": 1129/*!*******************************************************!*\ 1130 !*** ./node_modules/core-js/internals/classof-raw.js ***! 1131 \*******************************************************/ 1132/*! unknown exports (runtime-defined) */ 1133/*! runtime requirements: module, __webpack_require__ */ 1134/*! CommonJS bailout: module.exports is used directly at 6:0-14 */ 1135/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 1136 1137var uncurryThis = __webpack_require__(/*! ../internals/function-uncurry-this */ "./node_modules/core-js/internals/function-uncurry-this.js"); 1138 1139var toString = uncurryThis({}.toString); 1140var stringSlice = uncurryThis(''.slice); 1141 1142module.exports = function (it) { 1143 return stringSlice(toString(it), 8, -1); 1144}; 1145 1146 1147/***/ }), 1148
vendor: 1,838 bytes, lines 1149-1190
1149/***/ "./node_modules/core-js/internals/classof.js": 1150/*!***************************************************!*\ 1151 !*** ./node_modules/core-js/internals/classof.js ***! 1152 \***************************************************/ 1153/*! unknown exports (runtime-defined) */ 1154/*! runtime requirements: module, __webpack_require__ */ 1155/*! CommonJS bailout: module.exports is used directly at 20:0-14 */ 1156/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 1157 1158var TO_STRING_TAG_SUPPORT = __webpack_require__(/*! ../internals/to-string-tag-support */ "./node_modules/core-js/internals/to-string-tag-support.js"); 1159var isCallable = __webpack_require__(/*! ../internals/is-callable */ "./node_modules/core-js/internals/is-callable.js"); 1160var classofRaw = __webpack_require__(/*! ../internals/classof-raw */ "./node_modules/core-js/internals/classof-raw.js"); 1161var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js"); 1162 1163var TO_STRING_TAG = wellKnownSymbol('toStringTag'); 1164var $Object = Object; 1165 1166// ES3 wrong here 1167var CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments'; 1168 1169// fallback for IE11 Script Access Denied error 1170var tryGet = function (it, key) { 1171 try { 1172 return it[key]; 1173 } catch (error) { /* empty */ } 1174}; 1175 1176// getting tag from ES6+ `Object.prototype.toString` 1177module.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) { 1178 var O, tag, result; 1179 return it === undefined ? 'Undefined' : it === null ? 'Null' 1180 // @@toStringTag case 1181 : typeof (tag = tryGet(O = $Object(it), TO_STRING_TAG)) == 'string' ? tag 1182 // builtinTag case 1183 : CORRECT_ARGUMENTS ? classofRaw(O) 1184 // ES3 arguments fallback 1185 : (result = classofRaw(O)) == 'Object' && isCallable(O.callee) ? 'Arguments' : result; 1186}; 1187 1188 1189/***/ }), 1190
vendor: 1,564 bytes, lines 1191-1219
1191/***/ "./node_modules/core-js/internals/copy-constructor-properties.js": 1192/*!***********************************************************************!*\ 1193 !*** ./node_modules/core-js/internals/copy-constructor-properties.js ***! 1194 \***********************************************************************/ 1195/*! unknown exports (runtime-defined) */ 1196/*! runtime requirements: module, __webpack_require__ */ 1197/*! CommonJS bailout: module.exports is used directly at 6:0-14 */ 1198/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 1199 1200var hasOwn = __webpack_require__(/*! ../internals/has-own-property */ "./node_modules/core-js/internals/has-own-property.js"); 1201var ownKeys = __webpack_require__(/*! ../internals/own-keys */ "./node_modules/core-js/internals/own-keys.js"); 1202var getOwnPropertyDescriptorModule = __webpack_require__(/*! ../internals/object-get-own-property-descriptor */ "./node_modules/core-js/internals/object-get-own-property-descriptor.js"); 1203var definePropertyModule = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js"); 1204 1205module.exports = function (target, source, exceptions) { 1206 var keys = ownKeys(source); 1207 var defineProperty = definePropertyModule.f; 1208 var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f; 1209 for (var i = 0; i < keys.length; i++) { 1210 var key = keys[i]; 1211 if (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) { 1212 defineProperty(target, key, getOwnPropertyDescriptor(source, key)); 1213 } 1214 } 1215}; 1216 1217 1218/***/ }), 1219
vendor: 978 bytes, lines 1220-1247
1220/***/ "./node_modules/core-js/internals/correct-is-regexp-logic.js": 1221/*!*******************************************************************!*\ 1222 !*** ./node_modules/core-js/internals/correct-is-regexp-logic.js ***! 1223 \*******************************************************************/ 1224/*! unknown exports (runtime-defined) */ 1225/*! runtime requirements: module, __webpack_require__ */ 1226/*! CommonJS bailout: module.exports is used directly at 5:0-14 */ 1227/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 1228 1229var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js"); 1230 1231var MATCH = wellKnownSymbol('match'); 1232 1233module.exports = function (METHOD_NAME) { 1234 var regexp = /./; 1235 try { 1236 '/./'[METHOD_NAME](regexp); 1237 } catch (error1) { 1238 try { 1239 regexp[MATCH] = false; 1240 return '/./'[METHOD_NAME](regexp); 1241 } catch (error2) { /* empty */ } 1242 } return false; 1243}; 1244 1245 1246/***/ }), 1247
vendor: 1,232 bytes, lines 1248-1270
1248/***/ "./node_modules/core-js/internals/create-non-enumerable-property.js": 1249/*!**************************************************************************!*\ 1250 !*** ./node_modules/core-js/internals/create-non-enumerable-property.js ***! 1251 \**************************************************************************/ 1252/*! unknown exports (runtime-defined) */ 1253/*! runtime requirements: module, __webpack_require__ */ 1254/*! CommonJS bailout: module.exports is used directly at 5:0-14 */ 1255/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 1256 1257var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js"); 1258var definePropertyModule = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js"); 1259var createPropertyDescriptor = __webpack_require__(/*! ../internals/create-property-descriptor */ "./node_modules/core-js/internals/create-property-descriptor.js"); 1260 1261module.exports = DESCRIPTORS ? function (object, key, value) { 1262 return definePropertyModule.f(object, key, createPropertyDescriptor(1, value)); 1263} : function (object, key, value) { 1264 object[key] = value; 1265 return object; 1266}; 1267 1268 1269/***/ }), 1270
vendor: 656 bytes, lines 1271-1291
1271/***/ "./node_modules/core-js/internals/create-property-descriptor.js": 1272/*!**********************************************************************!*\ 1273 !*** ./node_modules/core-js/internals/create-property-descriptor.js ***! 1274 \**********************************************************************/ 1275/*! unknown exports (runtime-defined) */ 1276/*! runtime requirements: module */ 1277/*! CommonJS bailout: module.exports is used directly at 1:0-14 */ 1278/***/ (function(module) { 1279 1280module.exports = function (bitmap, value) { 1281 return { 1282 enumerable: !(bitmap & 1), 1283 configurable: !(bitmap & 2), 1284 writable: !(bitmap & 4), 1285 value: value 1286 }; 1287}; 1288 1289 1290/***/ }), 1291
vendor: 1,211 bytes, lines 1292-1315
1292/***/ "./node_modules/core-js/internals/create-property.js": 1293/*!***********************************************************!*\ 1294 !*** ./node_modules/core-js/internals/create-property.js ***! 1295 \***********************************************************/ 1296/*! unknown exports (runtime-defined) */ 1297/*! runtime requirements: module, __webpack_require__ */ 1298/*! CommonJS bailout: module.exports is used directly at 6:0-14 */ 1299/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 1300 1301"use strict"; 1302 1303var toPropertyKey = __webpack_require__(/*! ../internals/to-property-key */ "./node_modules/core-js/internals/to-property-key.js"); 1304var definePropertyModule = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js"); 1305var createPropertyDescriptor = __webpack_require__(/*! ../internals/create-property-descriptor */ "./node_modules/core-js/internals/create-property-descriptor.js"); 1306 1307module.exports = function (object, key, value) { 1308 var propertyKey = toPropertyKey(key); 1309 if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value)); 1310 else object[propertyKey] = value; 1311}; 1312 1313 1314/***/ }), 1315
vendor: 1,612 bytes, lines 1316-1348
1316/***/ "./node_modules/core-js/internals/define-built-in.js": 1317/*!***********************************************************!*\ 1318 !*** ./node_modules/core-js/internals/define-built-in.js ***! 1319 \***********************************************************/ 1320/*! unknown exports (runtime-defined) */ 1321/*! runtime requirements: module, __webpack_require__ */ 1322/*! CommonJS bailout: module.exports is used directly at 6:0-14 */ 1323/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 1324 1325var isCallable = __webpack_require__(/*! ../internals/is-callable */ "./node_modules/core-js/internals/is-callable.js"); 1326var createNonEnumerableProperty = __webpack_require__(/*! ../internals/create-non-enumerable-property */ "./node_modules/core-js/internals/create-non-enumerable-property.js"); 1327var makeBuiltIn = __webpack_require__(/*! ../internals/make-built-in */ "./node_modules/core-js/internals/make-built-in.js"); 1328var defineGlobalProperty = __webpack_require__(/*! ../internals/define-global-property */ "./node_modules/core-js/internals/define-global-property.js"); 1329 1330module.exports = function (O, key, value, options) { 1331 if (!options) options = {}; 1332 var simple = options.enumerable; 1333 var name = options.name !== undefined ? options.name : key; 1334 if (isCallable(value)) makeBuiltIn(value, name, options); 1335 if (options.global) { 1336 if (simple) O[key] = value; 1337 else defineGlobalProperty(key, value); 1338 } else { 1339 if (!options.unsafe) delete O[key]; 1340 else if (O[key]) simple = true; 1341 if (simple) O[key] = value; 1342 else createNonEnumerableProperty(O, key, value); 1343 } return O; 1344}; 1345 1346 1347/***/ }), 1348
vendor: 956 bytes, lines 1349-1373
1349/***/ "./node_modules/core-js/internals/define-global-property.js": 1350/*!******************************************************************!*\ 1351 !*** ./node_modules/core-js/internals/define-global-property.js ***! 1352 \******************************************************************/ 1353/*! unknown exports (runtime-defined) */ 1354/*! runtime requirements: module, __webpack_require__ */ 1355/*! CommonJS bailout: module.exports is used directly at 6:0-14 */ 1356/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 1357 1358var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); 1359 1360// eslint-disable-next-line es-x/no-object-defineproperty -- safe 1361var defineProperty = Object.defineProperty; 1362 1363module.exports = function (key, value) { 1364 try { 1365 defineProperty(global, key, { value: value, configurable: true, writable: true }); 1366 } catch (error) { 1367 global[key] = value; 1368 } return value; 1369}; 1370 1371 1372/***/ }), 1373
vendor: 862 bytes, lines 1374-1393
1374/***/ "./node_modules/core-js/internals/descriptors.js": 1375/*!*******************************************************!*\ 1376 !*** ./node_modules/core-js/internals/descriptors.js ***! 1377 \*******************************************************/ 1378/*! unknown exports (runtime-defined) */ 1379/*! runtime requirements: module, __webpack_require__ */ 1380/*! CommonJS bailout: module.exports is used directly at 4:0-14 */ 1381/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 1382 1383var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); 1384 1385// Detect IE8's incomplete defineProperty implementation 1386module.exports = !fails(function () { 1387 // eslint-disable-next-line es-x/no-object-defineproperty -- required for testing 1388 return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7; 1389}); 1390 1391 1392/***/ }), 1393
vendor: 1,006 bytes, lines 1394-1416
1394/***/ "./node_modules/core-js/internals/document-create-element.js": 1395/*!*******************************************************************!*\ 1396 !*** ./node_modules/core-js/internals/document-create-element.js ***! 1397 \*******************************************************************/ 1398/*! unknown exports (runtime-defined) */ 1399/*! runtime requirements: module, __webpack_require__ */ 1400/*! CommonJS bailout: module.exports is used directly at 8:0-14 */ 1401/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 1402 1403var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); 1404var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js"); 1405 1406var document = global.document; 1407// typeof document.createElement is 'object' in old IE 1408var EXISTS = isObject(document) && isObject(document.createElement); 1409 1410module.exports = function (it) { 1411 return EXISTS ? document.createElement(it) : {}; 1412}; 1413 1414 1415/***/ }), 1416
vendor: 700 bytes, lines 1417-1432
1417/***/ "./node_modules/core-js/internals/engine-user-agent.js": 1418/*!*************************************************************!*\ 1419 !*** ./node_modules/core-js/internals/engine-user-agent.js ***! 1420 \*************************************************************/ 1421/*! unknown exports (runtime-defined) */ 1422/*! runtime requirements: module, __webpack_require__ */ 1423/*! CommonJS bailout: module.exports is used directly at 3:0-14 */ 1424/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 1425 1426var getBuiltIn = __webpack_require__(/*! ../internals/get-built-in */ "./node_modules/core-js/internals/get-built-in.js"); 1427 1428module.exports = getBuiltIn('navigator', 'userAgent') || ''; 1429 1430 1431/***/ }), 1432
vendor: 1,501 bytes, lines 1433-1472
1433/***/ "./node_modules/core-js/internals/engine-v8-version.js": 1434/*!*************************************************************!*\ 1435 !*** ./node_modules/core-js/internals/engine-v8-version.js ***! 1436 \*************************************************************/ 1437/*! unknown exports (runtime-defined) */ 1438/*! runtime requirements: module, __webpack_require__ */ 1439/*! CommonJS bailout: module.exports is used directly at 27:0-14 */ 1440/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 1441 1442var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); 1443var userAgent = __webpack_require__(/*! ../internals/engine-user-agent */ "./node_modules/core-js/internals/engine-user-agent.js"); 1444 1445var process = global.process; 1446var Deno = global.Deno; 1447var versions = process && process.versions || Deno && Deno.version; 1448var v8 = versions && versions.v8; 1449var match, version; 1450 1451if (v8) { 1452 match = v8.split('.'); 1453 // in old Chrome, versions of V8 isn't V8 = Chrome / 10 1454 // but their correct versions are not interesting for us 1455 version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]); 1456} 1457 1458// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0` 1459// so check `userAgent` even if `.v8` exists, but 0 1460if (!version && userAgent) { 1461 match = userAgent.match(/Edge\/(\d+)/); 1462 if (!match || match[1] >= 74) { 1463 match = userAgent.match(/Chrome\/(\d+)/); 1464 if (match) version = +match[1]; 1465 } 1466} 1467 1468module.exports = version; 1469 1470 1471/***/ }), 1472
vendor: 609 bytes, lines 1473-1495
1473/***/ "./node_modules/core-js/internals/enum-bug-keys.js": 1474/*!*********************************************************!*\ 1475 !*** ./node_modules/core-js/internals/enum-bug-keys.js ***! 1476 \*********************************************************/ 1477/*! unknown exports (runtime-defined) */ 1478/*! runtime requirements: module */ 1479/*! CommonJS bailout: module.exports is used directly at 2:0-14 */ 1480/***/ (function(module) { 1481 1482// IE8- don't enum bug keys 1483module.exports = [ 1484 'constructor', 1485 'hasOwnProperty', 1486 'isPrototypeOf', 1487 'propertyIsEnumerable', 1488 'toLocaleString', 1489 'toString', 1490 'valueOf' 1491]; 1492 1493 1494/***/ }), 1495
vendor: 3,676 bytes, lines 1496-1562
1496/***/ "./node_modules/core-js/internals/export.js": 1497/*!**************************************************!*\ 1498 !*** ./node_modules/core-js/internals/export.js ***! 1499 \**************************************************/ 1500/*! unknown exports (runtime-defined) */ 1501/*! runtime requirements: __webpack_require__, module */ 1502/*! CommonJS bailout: module.exports is used directly at 24:0-14 */ 1503/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 1504 1505var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); 1506var getOwnPropertyDescriptor = __webpack_require__(/*! ../internals/object-get-own-property-descriptor */ "./node_modules/core-js/internals/object-get-own-property-descriptor.js").f; 1507var createNonEnumerableProperty = __webpack_require__(/*! ../internals/create-non-enumerable-property */ "./node_modules/core-js/internals/create-non-enumerable-property.js"); 1508var defineBuiltIn = __webpack_require__(/*! ../internals/define-built-in */ "./node_modules/core-js/internals/define-built-in.js"); 1509var defineGlobalProperty = __webpack_require__(/*! ../internals/define-global-property */ "./node_modules/core-js/internals/define-global-property.js"); 1510var copyConstructorProperties = __webpack_require__(/*! ../internals/copy-constructor-properties */ "./node_modules/core-js/internals/copy-constructor-properties.js"); 1511var isForced = __webpack_require__(/*! ../internals/is-forced */ "./node_modules/core-js/internals/is-forced.js"); 1512 1513/* 1514 options.target - name of the target object 1515 options.global - target is the global object 1516 options.stat - export as static methods of target 1517 options.proto - export as prototype methods of target 1518 options.real - real prototype method for the `pure` version 1519 options.forced - export even if the native feature is available 1520 options.bind - bind methods to the target, required for the `pure` version 1521 options.wrap - wrap constructors to preventing global pollution, required for the `pure` version 1522 options.unsafe - use the simple assignment of property instead of delete + defineProperty 1523 options.sham - add a flag to not completely full polyfills 1524 options.enumerable - export as enumerable property 1525 options.dontCallGetSet - prevent calling a getter on target 1526 options.name - the .name of the function if it does not match the key 1527*/ 1528module.exports = function (options, source) { 1529 var TARGET = options.target; 1530 var GLOBAL = options.global; 1531 var STATIC = options.stat; 1532 var FORCED, target, key, targetProperty, sourceProperty, descriptor; 1533 if (GLOBAL) { 1534 target = global; 1535 } else if (STATIC) { 1536 target = global[TARGET] || defineGlobalProperty(TARGET, {}); 1537 } else { 1538 target = (global[TARGET] || {}).prototype; 1539 } 1540 if (target) for (key in source) { 1541 sourceProperty = source[key]; 1542 if (options.dontCallGetSet) { 1543 descriptor = getOwnPropertyDescriptor(target, key); 1544 targetProperty = descriptor && descriptor.value; 1545 } else targetProperty = target[key]; 1546 FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced); 1547 // contained in target 1548 if (!FORCED && targetProperty !== undefined) { 1549 if (typeof sourceProperty == typeof targetProperty) continue; 1550 copyConstructorProperties(sourceProperty, targetProperty); 1551 } 1552 // add a flag to not completely full polyfills 1553 if (options.sham || (targetProperty && targetProperty.sham)) { 1554 createNonEnumerableProperty(sourceProperty, 'sham', true); 1555 } 1556 defineBuiltIn(target, key, sourceProperty, options); 1557 } 1558}; 1559 1560 1561/***/ }), 1562
vendor: 507 bytes, lines 1563-1582
1563/***/ "./node_modules/core-js/internals/fails.js": 1564/*!*************************************************!*\ 1565 !*** ./node_modules/core-js/internals/fails.js ***! 1566 \*************************************************/ 1567/*! unknown exports (runtime-defined) */ 1568/*! runtime requirements: module */ 1569/*! CommonJS bailout: module.exports is used directly at 1:0-14 */ 1570/***/ (function(module) { 1571 1572module.exports = function (exec) { 1573 try { 1574 return !!exec(); 1575 } catch (error) { 1576 return true; 1577 } 1578}; 1579 1580 1581/***/ }), 1582
vendor: 3,863 bytes, lines 1583-1670
1583/***/ "./node_modules/core-js/internals/fix-regexp-well-known-symbol-logic.js": 1584/*!******************************************************************************!*\ 1585 !*** ./node_modules/core-js/internals/fix-regexp-well-known-symbol-logic.js ***! 1586 \******************************************************************************/ 1587/*! unknown exports (runtime-defined) */ 1588/*! runtime requirements: module, __webpack_require__ */ 1589/*! CommonJS bailout: module.exports is used directly at 14:0-14 */ 1590/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 1591 1592"use strict"; 1593 1594// TODO: Remove from `core-js@4` since it's moved to entry points 1595__webpack_require__(/*! ../modules/es.regexp.exec */ "./node_modules/core-js/modules/es.regexp.exec.js"); 1596var uncurryThis = __webpack_require__(/*! ../internals/function-uncurry-this */ "./node_modules/core-js/internals/function-uncurry-this.js"); 1597var defineBuiltIn = __webpack_require__(/*! ../internals/define-built-in */ "./node_modules/core-js/internals/define-built-in.js"); 1598var regexpExec = __webpack_require__(/*! ../internals/regexp-exec */ "./node_modules/core-js/internals/regexp-exec.js"); 1599var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); 1600var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js"); 1601var createNonEnumerableProperty = __webpack_require__(/*! ../internals/create-non-enumerable-property */ "./node_modules/core-js/internals/create-non-enumerable-property.js"); 1602 1603var SPECIES = wellKnownSymbol('species'); 1604var RegExpPrototype = RegExp.prototype; 1605 1606module.exports = function (KEY, exec, FORCED, SHAM) { 1607 var SYMBOL = wellKnownSymbol(KEY); 1608 1609 var DELEGATES_TO_SYMBOL = !fails(function () { 1610 // String methods call symbol-named RegEp methods 1611 var O = {}; 1612 O[SYMBOL] = function () { return 7; }; 1613 return ''[KEY](O) != 7; 1614 }); 1615 1616 var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails(function () { 1617 // Symbol-named RegExp methods call .exec 1618 var execCalled = false; 1619 var re = /a/; 1620 1621 if (KEY === 'split') { 1622 // We can't use real regex here since it causes deoptimization 1623 // and serious performance degradation in V8 1624 // https://github.com/zloirock/core-js/issues/306 1625 re = {}; 1626 // RegExp[@@split] doesn't call the regex's exec method, but first creates 1627 // a new one. We need to return the patched regex when creating the new one. 1628 re.constructor = {}; 1629 re.constructor[SPECIES] = function () { return re; }; 1630 re.flags = ''; 1631 re[SYMBOL] = /./[SYMBOL]; 1632 } 1633 1634 re.exec = function () { execCalled = true; return null; }; 1635 1636 re[SYMBOL](''); 1637 return !execCalled; 1638 }); 1639 1640 if ( 1641 !DELEGATES_TO_SYMBOL || 1642 !DELEGATES_TO_EXEC || 1643 FORCED 1644 ) { 1645 var uncurriedNativeRegExpMethod = uncurryThis(/./[SYMBOL]); 1646 var methods = exec(SYMBOL, ''[KEY], function (nativeMethod, regexp, str, arg2, forceStringMethod) { 1647 var uncurriedNativeMethod = uncurryThis(nativeMethod); 1648 var $exec = regexp.exec; 1649 if ($exec === regexpExec || $exec === RegExpPrototype.exec) { 1650 if (DELEGATES_TO_SYMBOL && !forceStringMethod) { 1651 // The native String method already delegates to @@method (this 1652 // polyfilled function), leasing to infinite recursion. 1653 // We avoid it by directly calling the native @@method method. 1654 return { done: true, value: uncurriedNativeRegExpMethod(regexp, str, arg2) }; 1655 } 1656 return { done: true, value: uncurriedNativeMethod(str, regexp, arg2) }; 1657 } 1658 return { done: false }; 1659 }); 1660 1661 defineBuiltIn(String.prototype, KEY, methods[0]); 1662 defineBuiltIn(RegExpPrototype, SYMBOL, methods[1]); 1663 } 1664 1665 if (SHAM) createNonEnumerableProperty(RegExpPrototype[SYMBOL], 'sham', true); 1666}; 1667 1668 1669/***/ }), 1670
vendor: 968 bytes, lines 1671-1693
1671/***/ "./node_modules/core-js/internals/function-apply.js": 1672/*!**********************************************************!*\ 1673 !*** ./node_modules/core-js/internals/function-apply.js ***! 1674 \**********************************************************/ 1675/*! unknown exports (runtime-defined) */ 1676/*! runtime requirements: module, __webpack_require__ */ 1677/*! CommonJS bailout: module.exports is used directly at 8:0-14 */ 1678/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 1679 1680var NATIVE_BIND = __webpack_require__(/*! ../internals/function-bind-native */ "./node_modules/core-js/internals/function-bind-native.js"); 1681 1682var FunctionPrototype = Function.prototype; 1683var apply = FunctionPrototype.apply; 1684var call = FunctionPrototype.call; 1685 1686// eslint-disable-next-line es-x/no-reflect -- safe 1687module.exports = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call.bind(apply) : function () { 1688 return call.apply(apply, arguments); 1689}); 1690 1691 1692/***/ }), 1693
vendor: 1,207 bytes, lines 1694-1719
1694/***/ "./node_modules/core-js/internals/function-bind-context.js": 1695/*!*****************************************************************!*\ 1696 !*** ./node_modules/core-js/internals/function-bind-context.js ***! 1697 \*****************************************************************/ 1698/*! unknown exports (runtime-defined) */ 1699/*! runtime requirements: module, __webpack_require__ */ 1700/*! CommonJS bailout: module.exports is used directly at 8:0-14 */ 1701/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 1702 1703var uncurryThis = __webpack_require__(/*! ../internals/function-uncurry-this */ "./node_modules/core-js/internals/function-uncurry-this.js"); 1704var aCallable = __webpack_require__(/*! ../internals/a-callable */ "./node_modules/core-js/internals/a-callable.js"); 1705var NATIVE_BIND = __webpack_require__(/*! ../internals/function-bind-native */ "./node_modules/core-js/internals/function-bind-native.js"); 1706 1707var bind = uncurryThis(uncurryThis.bind); 1708 1709// optional / simple context binding 1710module.exports = function (fn, that) { 1711 aCallable(fn); 1712 return that === undefined ? fn : NATIVE_BIND ? bind(fn, that) : function (/* ...args */) { 1713 return fn.apply(that, arguments); 1714 }; 1715}; 1716 1717 1718/***/ }), 1719
vendor: 927 bytes, lines 1720-1740
1720/***/ "./node_modules/core-js/internals/function-bind-native.js": 1721/*!****************************************************************!*\ 1722 !*** ./node_modules/core-js/internals/function-bind-native.js ***! 1723 \****************************************************************/ 1724/*! unknown exports (runtime-defined) */ 1725/*! runtime requirements: module, __webpack_require__ */ 1726/*! CommonJS bailout: module.exports is used directly at 3:0-14 */ 1727/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 1728 1729var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); 1730 1731module.exports = !fails(function () { 1732 // eslint-disable-next-line es-x/no-function-prototype-bind -- safe 1733 var test = (function () { /* empty */ }).bind(); 1734 // eslint-disable-next-line no-prototype-builtins -- safe 1735 return typeof test != 'function' || test.hasOwnProperty('prototype'); 1736}); 1737 1738 1739/***/ }), 1740
vendor: 781 bytes, lines 1741-1760
1741/***/ "./node_modules/core-js/internals/function-call.js": 1742/*!*********************************************************!*\ 1743 !*** ./node_modules/core-js/internals/function-call.js ***! 1744 \*********************************************************/ 1745/*! unknown exports (runtime-defined) */ 1746/*! runtime requirements: module, __webpack_require__ */ 1747/*! CommonJS bailout: module.exports is used directly at 5:0-14 */ 1748/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 1749 1750var NATIVE_BIND = __webpack_require__(/*! ../internals/function-bind-native */ "./node_modules/core-js/internals/function-bind-native.js"); 1751 1752var call = Function.prototype.call; 1753 1754module.exports = NATIVE_BIND ? call.bind(call) : function () { 1755 return call.apply(call, arguments); 1756}; 1757 1758 1759/***/ }), 1760
vendor: 1,352 bytes, lines 1761-1790
1761/***/ "./node_modules/core-js/internals/function-name.js": 1762/*!*********************************************************!*\ 1763 !*** ./node_modules/core-js/internals/function-name.js ***! 1764 \*********************************************************/ 1765/*! unknown exports (runtime-defined) */ 1766/*! runtime requirements: module, __webpack_require__ */ 1767/*! CommonJS bailout: module.exports is used directly at 13:0-14 */ 1768/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 1769 1770var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js"); 1771var hasOwn = __webpack_require__(/*! ../internals/has-own-property */ "./node_modules/core-js/internals/has-own-property.js"); 1772 1773var FunctionPrototype = Function.prototype; 1774// eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe 1775var getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor; 1776 1777var EXISTS = hasOwn(FunctionPrototype, 'name'); 1778// additional protection from minified / mangled / dropped function names 1779var PROPER = EXISTS && (function something() { /* empty */ }).name === 'something'; 1780var CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable)); 1781 1782module.exports = { 1783 EXISTS: EXISTS, 1784 PROPER: PROPER, 1785 CONFIGURABLE: CONFIGURABLE 1786}; 1787 1788 1789/***/ }), 1790
vendor: 1,017 bytes, lines 1791-1817
1791/***/ "./node_modules/core-js/internals/function-uncurry-this.js": 1792/*!*****************************************************************!*\ 1793 !*** ./node_modules/core-js/internals/function-uncurry-this.js ***! 1794 \*****************************************************************/ 1795/*! unknown exports (runtime-defined) */ 1796/*! runtime requirements: module, __webpack_require__ */ 1797/*! CommonJS bailout: module.exports is used directly at 8:0-14 */ 1798/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 1799 1800var NATIVE_BIND = __webpack_require__(/*! ../internals/function-bind-native */ "./node_modules/core-js/internals/function-bind-native.js"); 1801 1802var FunctionPrototype = Function.prototype; 1803var bind = FunctionPrototype.bind; 1804var call = FunctionPrototype.call; 1805var uncurryThis = NATIVE_BIND && bind.bind(call, call); 1806 1807module.exports = NATIVE_BIND ? function (fn) { 1808 return fn && uncurryThis(fn); 1809} : function (fn) { 1810 return fn && function () { 1811 return call.apply(fn, arguments); 1812 }; 1813}; 1814 1815 1816/***/ }), 1817
vendor: 982 bytes, lines 1818-1840
1818/***/ "./node_modules/core-js/internals/get-built-in.js": 1819/*!********************************************************!*\ 1820 !*** ./node_modules/core-js/internals/get-built-in.js ***! 1821 \********************************************************/ 1822/*! unknown exports (runtime-defined) */ 1823/*! runtime requirements: module, __webpack_require__ */ 1824/*! CommonJS bailout: module.exports is used directly at 8:0-14 */ 1825/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 1826 1827var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); 1828var isCallable = __webpack_require__(/*! ../internals/is-callable */ "./node_modules/core-js/internals/is-callable.js"); 1829 1830var aFunction = function (argument) { 1831 return isCallable(argument) ? argument : undefined; 1832}; 1833 1834module.exports = function (namespace, method) { 1835 return arguments.length < 2 ? aFunction(global[namespace]) : global[namespace] && global[namespace][method]; 1836}; 1837 1838 1839/***/ }), 1840
vendor: 792 bytes, lines 1841-1861
1841/***/ "./node_modules/core-js/internals/get-method.js": 1842/*!******************************************************!*\ 1843 !*** ./node_modules/core-js/internals/get-method.js ***! 1844 \******************************************************/ 1845/*! unknown exports (runtime-defined) */ 1846/*! runtime requirements: module, __webpack_require__ */ 1847/*! CommonJS bailout: module.exports is used directly at 5:0-14 */ 1848/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 1849 1850var aCallable = __webpack_require__(/*! ../internals/a-callable */ "./node_modules/core-js/internals/a-callable.js"); 1851 1852// `GetMethod` abstract operation 1853// https://tc39.es/ecma262/#sec-getmethod 1854module.exports = function (V, P) { 1855 var func = V[P]; 1856 return func == null ? undefined : aCallable(func); 1857}; 1858 1859 1860/***/ }), 1861
vendor: 2,221 bytes, lines 1862-1918
1862/***/ "./node_modules/core-js/internals/get-substitution.js": 1863/*!************************************************************!*\ 1864 !*** ./node_modules/core-js/internals/get-substitution.js ***! 1865 \************************************************************/ 1866/*! unknown exports (runtime-defined) */ 1867/*! runtime requirements: module, __webpack_require__ */ 1868/*! CommonJS bailout: module.exports is used directly at 13:0-14 */ 1869/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 1870 1871var uncurryThis = __webpack_require__(/*! ../internals/function-uncurry-this */ "./node_modules/core-js/internals/function-uncurry-this.js"); 1872var toObject = __webpack_require__(/*! ../internals/to-object */ "./node_modules/core-js/internals/to-object.js"); 1873 1874var floor = Math.floor; 1875var charAt = uncurryThis(''.charAt); 1876var replace = uncurryThis(''.replace); 1877var stringSlice = uncurryThis(''.slice); 1878var SUBSTITUTION_SYMBOLS = /\$([$&'`]|\d{1,2}|<[^>]*>)/g; 1879var SUBSTITUTION_SYMBOLS_NO_NAMED = /\$([$&'`]|\d{1,2})/g; 1880 1881// `GetSubstitution` abstract operation 1882// https://tc39.es/ecma262/#sec-getsubstitution 1883module.exports = function (matched, str, position, captures, namedCaptures, replacement) { 1884 var tailPos = position + matched.length; 1885 var m = captures.length; 1886 var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED; 1887 if (namedCaptures !== undefined) { 1888 namedCaptures = toObject(namedCaptures); 1889 symbols = SUBSTITUTION_SYMBOLS; 1890 } 1891 return replace(replacement, symbols, function (match, ch) { 1892 var capture; 1893 switch (charAt(ch, 0)) { 1894 case '$': return '$'; 1895 case '&': return matched; 1896 case '`': return stringSlice(str, 0, position); 1897 case "'": return stringSlice(str, tailPos); 1898 case '<': 1899 capture = namedCaptures[stringSlice(ch, 1, -1)]; 1900 break; 1901 default: // \d\d? 1902 var n = +ch; 1903 if (n === 0) return match; 1904 if (n > m) { 1905 var f = floor(n / 10); 1906 if (f === 0) return match; 1907 if (f <= m) return captures[f - 1] === undefined ? charAt(ch, 1) : captures[f - 1] + charAt(ch, 1); 1908 return match; 1909 } 1910 capture = captures[n - 1]; 1911 } 1912 return capture === undefined ? '' : capture; 1913 }); 1914}; 1915 1916 1917/***/ }), 1918
vendor: 1,118 bytes, lines 1919-1945
1919/***/ "./node_modules/core-js/internals/global.js": 1920/*!**************************************************!*\ 1921 !*** ./node_modules/core-js/internals/global.js ***! 1922 \**************************************************/ 1923/*! unknown exports (runtime-defined) */ 1924/*! runtime requirements: module, __webpack_require__.g, __webpack_require__.* */ 1925/*! CommonJS bailout: module.exports is used directly at 6:0-14 */ 1926/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 1927 1928var check = function (it) { 1929 return it && it.Math == Math && it; 1930}; 1931 1932// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028 1933module.exports = 1934 // eslint-disable-next-line es-x/no-global-this -- safe 1935 check(typeof globalThis == 'object' && globalThis) || 1936 check(typeof window == 'object' && window) || 1937 // eslint-disable-next-line no-restricted-globals -- safe 1938 check(typeof self == 'object' && self) || 1939 check(typeof __webpack_require__.g == 'object' && __webpack_require__.g) || 1940 // eslint-disable-next-line no-new-func -- fallback 1941 (function () { return this; })() || Function('return this')(); 1942 1943 1944/***/ }), 1945
vendor: 1,075 bytes, lines 1946-1969
1946/***/ "./node_modules/core-js/internals/has-own-property.js": 1947/*!************************************************************!*\ 1948 !*** ./node_modules/core-js/internals/has-own-property.js ***! 1949 \************************************************************/ 1950/*! unknown exports (runtime-defined) */ 1951/*! runtime requirements: module, __webpack_require__ */ 1952/*! CommonJS bailout: module.exports is used directly at 9:0-14 */ 1953/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 1954 1955var uncurryThis = __webpack_require__(/*! ../internals/function-uncurry-this */ "./node_modules/core-js/internals/function-uncurry-this.js"); 1956var toObject = __webpack_require__(/*! ../internals/to-object */ "./node_modules/core-js/internals/to-object.js"); 1957 1958var hasOwnProperty = uncurryThis({}.hasOwnProperty); 1959 1960// `HasOwnProperty` abstract operation 1961// https://tc39.es/ecma262/#sec-hasownproperty 1962// eslint-disable-next-line es-x/no-object-hasown -- safe 1963module.exports = Object.hasOwn || function hasOwn(it, key) { 1964 return hasOwnProperty(toObject(it), key); 1965}; 1966 1967 1968/***/ }), 1969
vendor: 444 bytes, lines 1970-1983
1970/***/ "./node_modules/core-js/internals/hidden-keys.js": 1971/*!*******************************************************!*\ 1972 !*** ./node_modules/core-js/internals/hidden-keys.js ***! 1973 \*******************************************************/ 1974/*! unknown exports (runtime-defined) */ 1975/*! runtime requirements: module */ 1976/*! CommonJS bailout: module.exports is used directly at 1:0-14 */ 1977/***/ (function(module) { 1978 1979module.exports = {}; 1980 1981 1982/***/ }), 1983
vendor: 647 bytes, lines 1984-1999
1984/***/ "./node_modules/core-js/internals/html.js": 1985/*!************************************************!*\ 1986 !*** ./node_modules/core-js/internals/html.js ***! 1987 \************************************************/ 1988/*! unknown exports (runtime-defined) */ 1989/*! runtime requirements: module, __webpack_require__ */ 1990/*! CommonJS bailout: module.exports is used directly at 3:0-14 */ 1991/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 1992 1993var getBuiltIn = __webpack_require__(/*! ../internals/get-built-in */ "./node_modules/core-js/internals/get-built-in.js"); 1994 1995module.exports = getBuiltIn('document', 'documentElement'); 1996 1997 1998/***/ }), 1999
vendor: 1,174 bytes, lines 2000-2023
2000/***/ "./node_modules/core-js/internals/ie8-dom-define.js": 2001/*!**********************************************************!*\ 2002 !*** ./node_modules/core-js/internals/ie8-dom-define.js ***! 2003 \**********************************************************/ 2004/*! unknown exports (runtime-defined) */ 2005/*! runtime requirements: module, __webpack_require__ */ 2006/*! CommonJS bailout: module.exports is used directly at 6:0-14 */ 2007/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 2008 2009var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js"); 2010var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); 2011var createElement = __webpack_require__(/*! ../internals/document-create-element */ "./node_modules/core-js/internals/document-create-element.js"); 2012 2013// Thanks to IE8 for its funny defineProperty 2014module.exports = !DESCRIPTORS && !fails(function () { 2015 // eslint-disable-next-line es-x/no-object-defineproperty -- required for testing 2016 return Object.defineProperty(createElement('div'), 'a', { 2017 get: function () { return 7; } 2018 }).a != 7; 2019}); 2020 2021 2022/***/ }), 2023
vendor: 1,317 bytes, lines 2024-2051
2024/***/ "./node_modules/core-js/internals/indexed-object.js": 2025/*!**********************************************************!*\ 2026 !*** ./node_modules/core-js/internals/indexed-object.js ***! 2027 \**********************************************************/ 2028/*! unknown exports (runtime-defined) */ 2029/*! runtime requirements: module, __webpack_require__ */ 2030/*! CommonJS bailout: module.exports is used directly at 9:0-14 */ 2031/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 2032 2033var uncurryThis = __webpack_require__(/*! ../internals/function-uncurry-this */ "./node_modules/core-js/internals/function-uncurry-this.js"); 2034var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); 2035var classof = __webpack_require__(/*! ../internals/classof-raw */ "./node_modules/core-js/internals/classof-raw.js"); 2036 2037var $Object = Object; 2038var split = uncurryThis(''.split); 2039 2040// fallback for non-array-like ES3 and non-enumerable old V8 strings 2041module.exports = fails(function () { 2042 // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346 2043 // eslint-disable-next-line no-prototype-builtins -- safe 2044 return !$Object('z').propertyIsEnumerable(0); 2045}) ? function (it) { 2046 return classof(it) == 'String' ? split(it, '') : $Object(it); 2047} : $Object; 2048 2049 2050/***/ }), 2051
vendor: 1,470 bytes, lines 2052-2082
2052/***/ "./node_modules/core-js/internals/inherit-if-required.js": 2053/*!***************************************************************!*\ 2054 !*** ./node_modules/core-js/internals/inherit-if-required.js ***! 2055 \***************************************************************/ 2056/*! unknown exports (runtime-defined) */ 2057/*! runtime requirements: module, __webpack_require__ */ 2058/*! CommonJS bailout: module.exports is used directly at 6:0-14 */ 2059/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 2060 2061var isCallable = __webpack_require__(/*! ../internals/is-callable */ "./node_modules/core-js/internals/is-callable.js"); 2062var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js"); 2063var setPrototypeOf = __webpack_require__(/*! ../internals/object-set-prototype-of */ "./node_modules/core-js/internals/object-set-prototype-of.js"); 2064 2065// makes subclassing work correct for wrapped built-ins 2066module.exports = function ($this, dummy, Wrapper) { 2067 var NewTarget, NewTargetPrototype; 2068 if ( 2069 // it can work only with native `setPrototypeOf` 2070 setPrototypeOf && 2071 // we haven't completely correct pre-ES6 way for getting `new.target`, so use this 2072 isCallable(NewTarget = dummy.constructor) && 2073 NewTarget !== Wrapper && 2074 isObject(NewTargetPrototype = NewTarget.prototype) && 2075 NewTargetPrototype !== Wrapper.prototype 2076 ) setPrototypeOf($this, NewTargetPrototype); 2077 return $this; 2078}; 2079 2080 2081/***/ }), 2082
vendor: 1,181 bytes, lines 2083-2109
2083/***/ "./node_modules/core-js/internals/inspect-source.js": 2084/*!**********************************************************!*\ 2085 !*** ./node_modules/core-js/internals/inspect-source.js ***! 2086 \**********************************************************/ 2087/*! unknown exports (runtime-defined) */ 2088/*! runtime requirements: module, __webpack_require__ */ 2089/*! CommonJS bailout: module.exports is used directly at 14:0-14 */ 2090/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 2091 2092var uncurryThis = __webpack_require__(/*! ../internals/function-uncurry-this */ "./node_modules/core-js/internals/function-uncurry-this.js"); 2093var isCallable = __webpack_require__(/*! ../internals/is-callable */ "./node_modules/core-js/internals/is-callable.js"); 2094var store = __webpack_require__(/*! ../internals/shared-store */ "./node_modules/core-js/internals/shared-store.js"); 2095 2096var functionToString = uncurryThis(Function.toString); 2097 2098// this helper broken in `[email protected]`, so we can't use `shared` helper 2099if (!isCallable(store.inspectSource)) { 2100 store.inspectSource = function (it) { 2101 return functionToString(it); 2102 }; 2103} 2104 2105module.exports = store.inspectSource; 2106 2107 2108/***/ }), 2109
vendor: 3,177 bytes, lines 2110-2191
2110/***/ "./node_modules/core-js/internals/internal-state.js": 2111/*!**********************************************************!*\ 2112 !*** ./node_modules/core-js/internals/internal-state.js ***! 2113 \**********************************************************/ 2114/*! unknown exports (runtime-defined) */ 2115/*! runtime requirements: module, __webpack_require__ */ 2116/*! CommonJS bailout: module.exports is used directly at 63:0-14 */ 2117/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 2118 2119var NATIVE_WEAK_MAP = __webpack_require__(/*! ../internals/native-weak-map */ "./node_modules/core-js/internals/native-weak-map.js"); 2120var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); 2121var uncurryThis = __webpack_require__(/*! ../internals/function-uncurry-this */ "./node_modules/core-js/internals/function-uncurry-this.js"); 2122var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js"); 2123var createNonEnumerableProperty = __webpack_require__(/*! ../internals/create-non-enumerable-property */ "./node_modules/core-js/internals/create-non-enumerable-property.js"); 2124var hasOwn = __webpack_require__(/*! ../internals/has-own-property */ "./node_modules/core-js/internals/has-own-property.js"); 2125var shared = __webpack_require__(/*! ../internals/shared-store */ "./node_modules/core-js/internals/shared-store.js"); 2126var sharedKey = __webpack_require__(/*! ../internals/shared-key */ "./node_modules/core-js/internals/shared-key.js"); 2127var hiddenKeys = __webpack_require__(/*! ../internals/hidden-keys */ "./node_modules/core-js/internals/hidden-keys.js"); 2128 2129var OBJECT_ALREADY_INITIALIZED = 'Object already initialized'; 2130var TypeError = global.TypeError; 2131var WeakMap = global.WeakMap; 2132var set, get, has; 2133 2134var enforce = function (it) { 2135 return has(it) ? get(it) : set(it, {}); 2136}; 2137 2138var getterFor = function (TYPE) { 2139 return function (it) { 2140 var state; 2141 if (!isObject(it) || (state = get(it)).type !== TYPE) { 2142 throw TypeError('Incompatible receiver, ' + TYPE + ' required'); 2143 } return state; 2144 }; 2145}; 2146 2147if (NATIVE_WEAK_MAP || shared.state) { 2148 var store = shared.state || (shared.state = new WeakMap()); 2149 var wmget = uncurryThis(store.get); 2150 var wmhas = uncurryThis(store.has); 2151 var wmset = uncurryThis(store.set); 2152 set = function (it, metadata) { 2153 if (wmhas(store, it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED); 2154 metadata.facade = it; 2155 wmset(store, it, metadata); 2156 return metadata; 2157 }; 2158 get = function (it) { 2159 return wmget(store, it) || {}; 2160 }; 2161 has = function (it) { 2162 return wmhas(store, it); 2163 }; 2164} else { 2165 var STATE = sharedKey('state'); 2166 hiddenKeys[STATE] = true; 2167 set = function (it, metadata) { 2168 if (hasOwn(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED); 2169 metadata.facade = it; 2170 createNonEnumerableProperty(it, STATE, metadata); 2171 return metadata; 2172 }; 2173 get = function (it) { 2174 return hasOwn(it, STATE) ? it[STATE] : {}; 2175 }; 2176 has = function (it) { 2177 return hasOwn(it, STATE); 2178 }; 2179} 2180 2181module.exports = { 2182 set: set, 2183 get: get, 2184 has: has, 2185 enforce: enforce, 2186 getterFor: getterFor 2187}; 2188 2189 2190/***/ }), 2191
vendor: 833 bytes, lines 2192-2212
2192/***/ "./node_modules/core-js/internals/is-array.js": 2193/*!****************************************************!*\ 2194 !*** ./node_modules/core-js/internals/is-array.js ***! 2195 \****************************************************/ 2196/*! unknown exports (runtime-defined) */ 2197/*! runtime requirements: module, __webpack_require__ */ 2198/*! CommonJS bailout: module.exports is used directly at 6:0-14 */ 2199/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 2200 2201var classof = __webpack_require__(/*! ../internals/classof-raw */ "./node_modules/core-js/internals/classof-raw.js"); 2202 2203// `IsArray` abstract operation 2204// https://tc39.es/ecma262/#sec-isarray 2205// eslint-disable-next-line es-x/no-array-isarray -- safe 2206module.exports = Array.isArray || function isArray(argument) { 2207 return classof(argument) == 'Array'; 2208}; 2209 2210 2211/***/ }), 2212
vendor: 583 bytes, lines 2213-2230
2213/***/ "./node_modules/core-js/internals/is-callable.js": 2214/*!*******************************************************!*\ 2215 !*** ./node_modules/core-js/internals/is-callable.js ***! 2216 \*******************************************************/ 2217/*! unknown exports (runtime-defined) */ 2218/*! runtime requirements: module */ 2219/*! CommonJS bailout: module.exports is used directly at 3:0-14 */ 2220/***/ (function(module) { 2221 2222// `IsCallable` abstract operation 2223// https://tc39.es/ecma262/#sec-iscallable 2224module.exports = function (argument) { 2225 return typeof argument == 'function'; 2226}; 2227 2228 2229/***/ }), 2230
vendor: 2,711 bytes, lines 2231-2295
2231/***/ "./node_modules/core-js/internals/is-constructor.js": 2232/*!**********************************************************!*\ 2233 !*** ./node_modules/core-js/internals/is-constructor.js ***! 2234 \**********************************************************/ 2235/*! unknown exports (runtime-defined) */ 2236/*! runtime requirements: module, __webpack_require__ */ 2237/*! CommonJS bailout: module.exports is used directly at 46:0-14 */ 2238/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 2239 2240var uncurryThis = __webpack_require__(/*! ../internals/function-uncurry-this */ "./node_modules/core-js/internals/function-uncurry-this.js"); 2241var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); 2242var isCallable = __webpack_require__(/*! ../internals/is-callable */ "./node_modules/core-js/internals/is-callable.js"); 2243var classof = __webpack_require__(/*! ../internals/classof */ "./node_modules/core-js/internals/classof.js"); 2244var getBuiltIn = __webpack_require__(/*! ../internals/get-built-in */ "./node_modules/core-js/internals/get-built-in.js"); 2245var inspectSource = __webpack_require__(/*! ../internals/inspect-source */ "./node_modules/core-js/internals/inspect-source.js"); 2246 2247var noop = function () { /* empty */ }; 2248var empty = []; 2249var construct = getBuiltIn('Reflect', 'construct'); 2250var constructorRegExp = /^\s*(?:class|function)\b/; 2251var exec = uncurryThis(constructorRegExp.exec); 2252var INCORRECT_TO_STRING = !constructorRegExp.exec(noop); 2253 2254var isConstructorModern = function isConstructor(argument) { 2255 if (!isCallable(argument)) return false; 2256 try { 2257 construct(noop, empty, argument); 2258 return true; 2259 } catch (error) { 2260 return false; 2261 } 2262}; 2263 2264var isConstructorLegacy = function isConstructor(argument) { 2265 if (!isCallable(argument)) return false; 2266 switch (classof(argument)) { 2267 case 'AsyncFunction': 2268 case 'GeneratorFunction': 2269 case 'AsyncGeneratorFunction': return false; 2270 } 2271 try { 2272 // we can't check .prototype since constructors produced by .bind haven't it 2273 // `Function#toString` throws on some built-it function in some legacy engines 2274 // (for example, `DOMQuad` and similar in FF41-) 2275 return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument)); 2276 } catch (error) { 2277 return true; 2278 } 2279}; 2280 2281isConstructorLegacy.sham = true; 2282 2283// `IsConstructor` abstract operation 2284// https://tc39.es/ecma262/#sec-isconstructor 2285module.exports = !construct || fails(function () { 2286 var called; 2287 return isConstructorModern(isConstructorModern.call) 2288 || !isConstructorModern(Object) 2289 || !isConstructorModern(function () { called = true; }) 2290 || called; 2291}) ? isConstructorLegacy : isConstructorModern; 2292 2293 2294/***/ }), 2295
vendor: 1,230 bytes, lines 2296-2330
2296/***/ "./node_modules/core-js/internals/is-forced.js": 2297/*!*****************************************************!*\ 2298 !*** ./node_modules/core-js/internals/is-forced.js ***! 2299 \*****************************************************/ 2300/*! unknown exports (runtime-defined) */ 2301/*! runtime requirements: module, __webpack_require__ */ 2302/*! CommonJS bailout: module.exports is used directly at 22:0-14 */ 2303/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 2304 2305var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); 2306var isCallable = __webpack_require__(/*! ../internals/is-callable */ "./node_modules/core-js/internals/is-callable.js"); 2307 2308var replacement = /#|\.prototype\./; 2309 2310var isForced = function (feature, detection) { 2311 var value = data[normalize(feature)]; 2312 return value == POLYFILL ? true 2313 : value == NATIVE ? false 2314 : isCallable(detection) ? fails(detection) 2315 : !!detection; 2316}; 2317 2318var normalize = isForced.normalize = function (string) { 2319 return String(string).replace(replacement, '.').toLowerCase(); 2320}; 2321 2322var data = isForced.data = {}; 2323var NATIVE = isForced.NATIVE = 'N'; 2324var POLYFILL = isForced.POLYFILL = 'P'; 2325 2326module.exports = isForced; 2327 2328 2329/***/ }), 2330
vendor: 704 bytes, lines 2331-2348
2331/***/ "./node_modules/core-js/internals/is-object.js": 2332/*!*****************************************************!*\ 2333 !*** ./node_modules/core-js/internals/is-object.js ***! 2334 \*****************************************************/ 2335/*! unknown exports (runtime-defined) */ 2336/*! runtime requirements: module, __webpack_require__ */ 2337/*! CommonJS bailout: module.exports is used directly at 3:0-14 */ 2338/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 2339 2340var isCallable = __webpack_require__(/*! ../internals/is-callable */ "./node_modules/core-js/internals/is-callable.js"); 2341 2342module.exports = function (it) { 2343 return typeof it == 'object' ? it !== null : isCallable(it); 2344}; 2345 2346 2347/***/ }), 2348
vendor: 431 bytes, lines 2349-2362
2349/***/ "./node_modules/core-js/internals/is-pure.js": 2350/*!***************************************************!*\ 2351 !*** ./node_modules/core-js/internals/is-pure.js ***! 2352 \***************************************************/ 2353/*! unknown exports (runtime-defined) */ 2354/*! runtime requirements: module */ 2355/*! CommonJS bailout: module.exports is used directly at 1:0-14 */ 2356/***/ (function(module) { 2357 2358module.exports = false; 2359 2360 2361/***/ }), 2362
vendor: 1,124 bytes, lines 2363-2387
2363/***/ "./node_modules/core-js/internals/is-regexp.js": 2364/*!*****************************************************!*\ 2365 !*** ./node_modules/core-js/internals/is-regexp.js ***! 2366 \*****************************************************/ 2367/*! unknown exports (runtime-defined) */ 2368/*! runtime requirements: module, __webpack_require__ */ 2369/*! CommonJS bailout: module.exports is used directly at 9:0-14 */ 2370/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 2371 2372var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js"); 2373var classof = __webpack_require__(/*! ../internals/classof-raw */ "./node_modules/core-js/internals/classof-raw.js"); 2374var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js"); 2375 2376var MATCH = wellKnownSymbol('match'); 2377 2378// `IsRegExp` abstract operation 2379// https://tc39.es/ecma262/#sec-isregexp 2380module.exports = function (it) { 2381 var isRegExp; 2382 return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) == 'RegExp'); 2383}; 2384 2385 2386/***/ }), 2387
vendor: 1,262 bytes, lines 2388-2413
2388/***/ "./node_modules/core-js/internals/is-symbol.js": 2389/*!*****************************************************!*\ 2390 !*** ./node_modules/core-js/internals/is-symbol.js ***! 2391 \*****************************************************/ 2392/*! unknown exports (runtime-defined) */ 2393/*! runtime requirements: module, __webpack_require__ */ 2394/*! CommonJS bailout: module.exports is used directly at 8:0-14 */ 2395/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 2396 2397var getBuiltIn = __webpack_require__(/*! ../internals/get-built-in */ "./node_modules/core-js/internals/get-built-in.js"); 2398var isCallable = __webpack_require__(/*! ../internals/is-callable */ "./node_modules/core-js/internals/is-callable.js"); 2399var isPrototypeOf = __webpack_require__(/*! ../internals/object-is-prototype-of */ "./node_modules/core-js/internals/object-is-prototype-of.js"); 2400var USE_SYMBOL_AS_UID = __webpack_require__(/*! ../internals/use-symbol-as-uid */ "./node_modules/core-js/internals/use-symbol-as-uid.js"); 2401 2402var $Object = Object; 2403 2404module.exports = USE_SYMBOL_AS_UID ? function (it) { 2405 return typeof it == 'symbol'; 2406} : function (it) { 2407 var $Symbol = getBuiltIn('Symbol'); 2408 return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it)); 2409}; 2410 2411 2412/***/ }), 2413
vendor: 803 bytes, lines 2414-2433
2414/***/ "./node_modules/core-js/internals/length-of-array-like.js": 2415/*!****************************************************************!*\ 2416 !*** ./node_modules/core-js/internals/length-of-array-like.js ***! 2417 \****************************************************************/ 2418/*! unknown exports (runtime-defined) */ 2419/*! runtime requirements: module, __webpack_require__ */ 2420/*! CommonJS bailout: module.exports is used directly at 5:0-14 */ 2421/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 2422 2423var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/core-js/internals/to-length.js"); 2424 2425// `LengthOfArrayLike` abstract operation 2426// https://tc39.es/ecma262/#sec-lengthofarraylike 2427module.exports = function (obj) { 2428 return toLength(obj.length); 2429}; 2430 2431 2432/***/ }), 2433
vendor: 3,316 bytes, lines 2434-2494
2434/***/ "./node_modules/core-js/internals/make-built-in.js": 2435/*!*********************************************************!*\ 2436 !*** ./node_modules/core-js/internals/make-built-in.js ***! 2437 \*********************************************************/ 2438/*! unknown exports (runtime-defined) */ 2439/*! runtime requirements: __webpack_require__, module */ 2440/*! CommonJS bailout: module.exports is used directly at 20:18-32 */ 2441/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 2442 2443var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); 2444var isCallable = __webpack_require__(/*! ../internals/is-callable */ "./node_modules/core-js/internals/is-callable.js"); 2445var hasOwn = __webpack_require__(/*! ../internals/has-own-property */ "./node_modules/core-js/internals/has-own-property.js"); 2446var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js"); 2447var CONFIGURABLE_FUNCTION_NAME = __webpack_require__(/*! ../internals/function-name */ "./node_modules/core-js/internals/function-name.js").CONFIGURABLE; 2448var inspectSource = __webpack_require__(/*! ../internals/inspect-source */ "./node_modules/core-js/internals/inspect-source.js"); 2449var InternalStateModule = __webpack_require__(/*! ../internals/internal-state */ "./node_modules/core-js/internals/internal-state.js"); 2450 2451var enforceInternalState = InternalStateModule.enforce; 2452var getInternalState = InternalStateModule.get; 2453// eslint-disable-next-line es-x/no-object-defineproperty -- safe 2454var defineProperty = Object.defineProperty; 2455 2456var CONFIGURABLE_LENGTH = DESCRIPTORS && !fails(function () { 2457 return defineProperty(function () { /* empty */ }, 'length', { value: 8 }).length !== 8; 2458}); 2459 2460var TEMPLATE = String(String).split('String'); 2461 2462var makeBuiltIn = module.exports = function (value, name, options) { 2463 if (String(name).slice(0, 7) === 'Symbol(') { 2464 name = '[' + String(name).replace(/^Symbol\(([^)]*)\)/, '$1') + ']'; 2465 } 2466 if (options && options.getter) name = 'get ' + name; 2467 if (options && options.setter) name = 'set ' + name; 2468 if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) { 2469 defineProperty(value, 'name', { value: name, configurable: true }); 2470 } 2471 if (CONFIGURABLE_LENGTH && options && hasOwn(options, 'arity') && value.length !== options.arity) { 2472 defineProperty(value, 'length', { value: options.arity }); 2473 } 2474 try { 2475 if (options && hasOwn(options, 'constructor') && options.constructor) { 2476 if (DESCRIPTORS) defineProperty(value, 'prototype', { writable: false }); 2477 // in V8 ~ Chrome 53, prototypes of some methods, like `Array.prototype.values`, are non-writable 2478 } else if (value.prototype) value.prototype = undefined; 2479 } catch (error) { /* empty */ } 2480 var state = enforceInternalState(value); 2481 if (!hasOwn(state, 'source')) { 2482 state.source = TEMPLATE.join(typeof name == 'string' ? name : ''); 2483 } return value; 2484}; 2485 2486// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative 2487// eslint-disable-next-line no-extend-native -- required 2488Function.prototype.toString = makeBuiltIn(function toString() { 2489 return isCallable(this) && getInternalState(this).source || inspectSource(this); 2490}, 'toString'); 2491 2492 2493/***/ }), 2494
vendor: 691 bytes, lines 2495-2517
2495/***/ "./node_modules/core-js/internals/math-trunc.js": 2496/*!******************************************************!*\ 2497 !*** ./node_modules/core-js/internals/math-trunc.js ***! 2498 \******************************************************/ 2499/*! unknown exports (runtime-defined) */ 2500/*! runtime requirements: module */ 2501/*! CommonJS bailout: module.exports is used directly at 7:0-14 */ 2502/***/ (function(module) { 2503 2504var ceil = Math.ceil; 2505var floor = Math.floor; 2506 2507// `Math.trunc` method 2508// https://tc39.es/ecma262/#sec-math.trunc 2509// eslint-disable-next-line es-x/no-math-trunc -- safe 2510module.exports = Math.trunc || function trunc(x) { 2511 var n = +x; 2512 return (n > 0 ? floor : ceil)(n); 2513}; 2514 2515 2516/***/ }), 2517
vendor: 1,346 bytes, lines 2518-2543
2518/***/ "./node_modules/core-js/internals/native-symbol.js": 2519/*!*********************************************************!*\ 2520 !*** ./node_modules/core-js/internals/native-symbol.js ***! 2521 \*********************************************************/ 2522/*! unknown exports (runtime-defined) */ 2523/*! runtime requirements: module, __webpack_require__ */ 2524/*! CommonJS bailout: module.exports is used directly at 6:0-14 */ 2525/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 2526 2527/* eslint-disable es-x/no-symbol -- required for testing */ 2528var V8_VERSION = __webpack_require__(/*! ../internals/engine-v8-version */ "./node_modules/core-js/internals/engine-v8-version.js"); 2529var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); 2530 2531// eslint-disable-next-line es-x/no-object-getownpropertysymbols -- required for testing 2532module.exports = !!Object.getOwnPropertySymbols && !fails(function () { 2533 var symbol = Symbol(); 2534 // Chrome 38 Symbol has incorrect toString conversion 2535 // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances 2536 return !String(symbol) || !(Object(symbol) instanceof Symbol) || 2537 // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances 2538 !Symbol.sham && V8_VERSION && V8_VERSION < 41; 2539}); 2540 2541 2542/***/ }), 2543
vendor: 981 bytes, lines 2544-2563
2544/***/ "./node_modules/core-js/internals/native-weak-map.js": 2545/*!***********************************************************!*\ 2546 !*** ./node_modules/core-js/internals/native-weak-map.js ***! 2547 \***********************************************************/ 2548/*! unknown exports (runtime-defined) */ 2549/*! runtime requirements: module, __webpack_require__ */ 2550/*! CommonJS bailout: module.exports is used directly at 7:0-14 */ 2551/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 2552 2553var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); 2554var isCallable = __webpack_require__(/*! ../internals/is-callable */ "./node_modules/core-js/internals/is-callable.js"); 2555var inspectSource = __webpack_require__(/*! ../internals/inspect-source */ "./node_modules/core-js/internals/inspect-source.js"); 2556 2557var WeakMap = global.WeakMap; 2558 2559module.exports = isCallable(WeakMap) && /native code/.test(inspectSource(WeakMap)); 2560 2561 2562/***/ }), 2563
vendor: 784 bytes, lines 2564-2585
2564/***/ "./node_modules/core-js/internals/not-a-regexp.js": 2565/*!********************************************************!*\ 2566 !*** ./node_modules/core-js/internals/not-a-regexp.js ***! 2567 \********************************************************/ 2568/*! unknown exports (runtime-defined) */ 2569/*! runtime requirements: module, __webpack_require__ */ 2570/*! CommonJS bailout: module.exports is used directly at 5:0-14 */ 2571/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 2572 2573var isRegExp = __webpack_require__(/*! ../internals/is-regexp */ "./node_modules/core-js/internals/is-regexp.js"); 2574 2575var $TypeError = TypeError; 2576 2577module.exports = function (it) { 2578 if (isRegExp(it)) { 2579 throw $TypeError("The method doesn't accept regular expressions"); 2580 } return it; 2581}; 2582 2583 2584/***/ }), 2585
vendor: 1,842 bytes, lines 2586-2620
2586/***/ "./node_modules/core-js/internals/number-parse-int.js": 2587/*!************************************************************!*\ 2588 !*** ./node_modules/core-js/internals/number-parse-int.js ***! 2589 \************************************************************/ 2590/*! unknown exports (runtime-defined) */ 2591/*! runtime requirements: __webpack_require__, module */ 2592/*! CommonJS bailout: module.exports is used directly at 19:0-14 */ 2593/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 2594 2595var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); 2596var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); 2597var uncurryThis = __webpack_require__(/*! ../internals/function-uncurry-this */ "./node_modules/core-js/internals/function-uncurry-this.js"); 2598var toString = __webpack_require__(/*! ../internals/to-string */ "./node_modules/core-js/internals/to-string.js"); 2599var trim = __webpack_require__(/*! ../internals/string-trim */ "./node_modules/core-js/internals/string-trim.js").trim; 2600var whitespaces = __webpack_require__(/*! ../internals/whitespaces */ "./node_modules/core-js/internals/whitespaces.js"); 2601 2602var $parseInt = global.parseInt; 2603var Symbol = global.Symbol; 2604var ITERATOR = Symbol && Symbol.iterator; 2605var hex = /^[+-]?0x/i; 2606var exec = uncurryThis(hex.exec); 2607var FORCED = $parseInt(whitespaces + '08') !== 8 || $parseInt(whitespaces + '0x16') !== 22 2608 // MS Edge 18- broken with boxed symbols 2609 || (ITERATOR && !fails(function () { $parseInt(Object(ITERATOR)); })); 2610 2611// `parseInt` method 2612// https://tc39.es/ecma262/#sec-parseint-string-radix 2613module.exports = FORCED ? function parseInt(string, radix) { 2614 var S = trim(toString(string)); 2615 return $parseInt(S, (radix >>> 0) || (exec(hex, S) ? 16 : 10)); 2616} : $parseInt; 2617 2618 2619/***/ }), 2620
vendor: 4,059 bytes, lines 2621-2716
2621/***/ "./node_modules/core-js/internals/object-create.js": 2622/*!*********************************************************!*\ 2623 !*** ./node_modules/core-js/internals/object-create.js ***! 2624 \*********************************************************/ 2625/*! unknown exports (runtime-defined) */ 2626/*! runtime requirements: module, __webpack_require__ */ 2627/*! CommonJS bailout: module.exports is used directly at 73:0-14 */ 2628/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 2629 2630/* global ActiveXObject -- old IE, WSH */ 2631var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js"); 2632var definePropertiesModule = __webpack_require__(/*! ../internals/object-define-properties */ "./node_modules/core-js/internals/object-define-properties.js"); 2633var enumBugKeys = __webpack_require__(/*! ../internals/enum-bug-keys */ "./node_modules/core-js/internals/enum-bug-keys.js"); 2634var hiddenKeys = __webpack_require__(/*! ../internals/hidden-keys */ "./node_modules/core-js/internals/hidden-keys.js"); 2635var html = __webpack_require__(/*! ../internals/html */ "./node_modules/core-js/internals/html.js"); 2636var documentCreateElement = __webpack_require__(/*! ../internals/document-create-element */ "./node_modules/core-js/internals/document-create-element.js"); 2637var sharedKey = __webpack_require__(/*! ../internals/shared-key */ "./node_modules/core-js/internals/shared-key.js"); 2638 2639var GT = '>'; 2640var LT = '<'; 2641var PROTOTYPE = 'prototype'; 2642var SCRIPT = 'script'; 2643var IE_PROTO = sharedKey('IE_PROTO'); 2644 2645var EmptyConstructor = function () { /* empty */ }; 2646 2647var scriptTag = function (content) { 2648 return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT; 2649}; 2650 2651// Create object with fake `null` prototype: use ActiveX Object with cleared prototype 2652var NullProtoObjectViaActiveX = function (activeXDocument) { 2653 activeXDocument.write(scriptTag('')); 2654 activeXDocument.close(); 2655 var temp = activeXDocument.parentWindow.Object; 2656 activeXDocument = null; // avoid memory leak 2657 return temp; 2658}; 2659 2660// Create object with fake `null` prototype: use iframe Object with cleared prototype 2661var NullProtoObjectViaIFrame = function () { 2662 // Thrash, waste and sodomy: IE GC bug 2663 var iframe = documentCreateElement('iframe'); 2664 var JS = 'java' + SCRIPT + ':'; 2665 var iframeDocument; 2666 iframe.style.display = 'none'; 2667 html.appendChild(iframe); 2668 // https://github.com/zloirock/core-js/issues/475 2669 iframe.src = String(JS); 2670 iframeDocument = iframe.contentWindow.document; 2671 iframeDocument.open(); 2672 iframeDocument.write(scriptTag('document.F=Object')); 2673 iframeDocument.close(); 2674 return iframeDocument.F; 2675}; 2676 2677// Check for document.domain and active x support 2678// No need to use active x approach when document.domain is not set 2679// see https://github.com/es-shims/es5-shim/issues/150 2680// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346 2681// avoid IE GC bug 2682var activeXDocument; 2683var NullProtoObject = function () { 2684 try { 2685 activeXDocument = new ActiveXObject('htmlfile'); 2686 } catch (error) { /* ignore */ } 2687 NullProtoObject = typeof document != 'undefined' 2688 ? document.domain && activeXDocument 2689 ? NullProtoObjectViaActiveX(activeXDocument) // old IE 2690 : NullProtoObjectViaIFrame() 2691 : NullProtoObjectViaActiveX(activeXDocument); // WSH 2692 var length = enumBugKeys.length; 2693 while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]]; 2694 return NullProtoObject(); 2695}; 2696 2697hiddenKeys[IE_PROTO] = true; 2698 2699// `Object.create` method 2700// https://tc39.es/ecma262/#sec-object.create 2701// eslint-disable-next-line es-x/no-object-create -- safe 2702module.exports = Object.create || function create(O, Properties) { 2703 var result; 2704 if (O !== null) { 2705 EmptyConstructor[PROTOTYPE] = anObject(O); 2706 result = new EmptyConstructor(); 2707 EmptyConstructor[PROTOTYPE] = null; 2708 // add "__proto__" for Object.getPrototypeOf polyfill 2709 result[IE_PROTO] = O; 2710 } else result = NullProtoObject(); 2711 return Properties === undefined ? result : definePropertiesModule.f(result, Properties); 2712}; 2713 2714 2715/***/ }), 2716
vendor: 1,947 bytes, lines 2717-2750
2717/***/ "./node_modules/core-js/internals/object-define-properties.js": 2718/*!********************************************************************!*\ 2719 !*** ./node_modules/core-js/internals/object-define-properties.js ***! 2720 \********************************************************************/ 2721/*! default exports */ 2722/*! export f [provided] [no usage info] [missing usage info prevents renaming] */ 2723/*! other exports [not provided] [no usage info] */ 2724/*! runtime requirements: __webpack_exports__, __webpack_require__ */ 2725/***/ (function(__unused_webpack_module, exports, __webpack_require__) { 2726 2727var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js"); 2728var V8_PROTOTYPE_DEFINE_BUG = __webpack_require__(/*! ../internals/v8-prototype-define-bug */ "./node_modules/core-js/internals/v8-prototype-define-bug.js"); 2729var definePropertyModule = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js"); 2730var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js"); 2731var toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ "./node_modules/core-js/internals/to-indexed-object.js"); 2732var objectKeys = __webpack_require__(/*! ../internals/object-keys */ "./node_modules/core-js/internals/object-keys.js"); 2733 2734// `Object.defineProperties` method 2735// https://tc39.es/ecma262/#sec-object.defineproperties 2736// eslint-disable-next-line es-x/no-object-defineproperties -- safe 2737exports.f = DESCRIPTORS && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) { 2738 anObject(O); 2739 var props = toIndexedObject(Properties); 2740 var keys = objectKeys(Properties); 2741 var length = keys.length; 2742 var index = 0; 2743 var key; 2744 while (length > index) definePropertyModule.f(O, key = keys[index++], props[key]); 2745 return O; 2746}; 2747 2748 2749/***/ }), 2750
vendor: 2,830 bytes, lines 2751-2807
2751/***/ "./node_modules/core-js/internals/object-define-property.js": 2752/*!******************************************************************!*\ 2753 !*** ./node_modules/core-js/internals/object-define-property.js ***! 2754 \******************************************************************/ 2755/*! default exports */ 2756/*! export f [provided] [no usage info] [missing usage info prevents renaming] */ 2757/*! other exports [not provided] [no usage info] */ 2758/*! runtime requirements: __webpack_exports__, __webpack_require__ */ 2759/***/ (function(__unused_webpack_module, exports, __webpack_require__) { 2760 2761var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js"); 2762var IE8_DOM_DEFINE = __webpack_require__(/*! ../internals/ie8-dom-define */ "./node_modules/core-js/internals/ie8-dom-define.js"); 2763var V8_PROTOTYPE_DEFINE_BUG = __webpack_require__(/*! ../internals/v8-prototype-define-bug */ "./node_modules/core-js/internals/v8-prototype-define-bug.js"); 2764var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js"); 2765var toPropertyKey = __webpack_require__(/*! ../internals/to-property-key */ "./node_modules/core-js/internals/to-property-key.js"); 2766 2767var $TypeError = TypeError; 2768// eslint-disable-next-line es-x/no-object-defineproperty -- safe 2769var $defineProperty = Object.defineProperty; 2770// eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe 2771var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; 2772var ENUMERABLE = 'enumerable'; 2773var CONFIGURABLE = 'configurable'; 2774var WRITABLE = 'writable'; 2775 2776// `Object.defineProperty` method 2777// https://tc39.es/ecma262/#sec-object.defineproperty 2778exports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) { 2779 anObject(O); 2780 P = toPropertyKey(P); 2781 anObject(Attributes); 2782 if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) { 2783 var current = $getOwnPropertyDescriptor(O, P); 2784 if (current && current[WRITABLE]) { 2785 O[P] = Attributes.value; 2786 Attributes = { 2787 configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE], 2788 enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE], 2789 writable: false 2790 }; 2791 } 2792 } return $defineProperty(O, P, Attributes); 2793} : $defineProperty : function defineProperty(O, P, Attributes) { 2794 anObject(O); 2795 P = toPropertyKey(P); 2796 anObject(Attributes); 2797 if (IE8_DOM_DEFINE) try { 2798 return $defineProperty(O, P, Attributes); 2799 } catch (error) { /* empty */ } 2800 if ('get' in Attributes || 'set' in Attributes) throw $TypeError('Accessors not supported'); 2801 if ('value' in Attributes) O[P] = Attributes.value; 2802 return O; 2803}; 2804 2805 2806/***/ }), 2807
vendor: 2,360 bytes, lines 2808-2843
2808/***/ "./node_modules/core-js/internals/object-get-own-property-descriptor.js": 2809/*!******************************************************************************!*\ 2810 !*** ./node_modules/core-js/internals/object-get-own-property-descriptor.js ***! 2811 \******************************************************************************/ 2812/*! default exports */ 2813/*! export f [provided] [no usage info] [missing usage info prevents renaming] */ 2814/*! other exports [not provided] [no usage info] */ 2815/*! runtime requirements: __webpack_exports__, __webpack_require__ */ 2816/***/ (function(__unused_webpack_module, exports, __webpack_require__) { 2817 2818var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js"); 2819var call = __webpack_require__(/*! ../internals/function-call */ "./node_modules/core-js/internals/function-call.js"); 2820var propertyIsEnumerableModule = __webpack_require__(/*! ../internals/object-property-is-enumerable */ "./node_modules/core-js/internals/object-property-is-enumerable.js"); 2821var createPropertyDescriptor = __webpack_require__(/*! ../internals/create-property-descriptor */ "./node_modules/core-js/internals/create-property-descriptor.js"); 2822var toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ "./node_modules/core-js/internals/to-indexed-object.js"); 2823var toPropertyKey = __webpack_require__(/*! ../internals/to-property-key */ "./node_modules/core-js/internals/to-property-key.js"); 2824var hasOwn = __webpack_require__(/*! ../internals/has-own-property */ "./node_modules/core-js/internals/has-own-property.js"); 2825var IE8_DOM_DEFINE = __webpack_require__(/*! ../internals/ie8-dom-define */ "./node_modules/core-js/internals/ie8-dom-define.js"); 2826 2827// eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe 2828var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; 2829 2830// `Object.getOwnPropertyDescriptor` method 2831// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor 2832exports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) { 2833 O = toIndexedObject(O); 2834 P = toPropertyKey(P); 2835 if (IE8_DOM_DEFINE) try { 2836 return $getOwnPropertyDescriptor(O, P); 2837 } catch (error) { /* empty */ } 2838 if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]); 2839}; 2840 2841 2842/***/ }), 2843
vendor: 1,252 bytes, lines 2844-2868
2844/***/ "./node_modules/core-js/internals/object-get-own-property-names.js": 2845/*!*************************************************************************!*\ 2846 !*** ./node_modules/core-js/internals/object-get-own-property-names.js ***! 2847 \*************************************************************************/ 2848/*! default exports */ 2849/*! export f [provided] [no usage info] [missing usage info prevents renaming] */ 2850/*! other exports [not provided] [no usage info] */ 2851/*! runtime requirements: __webpack_exports__, __webpack_require__ */ 2852/***/ (function(__unused_webpack_module, exports, __webpack_require__) { 2853 2854var internalObjectKeys = __webpack_require__(/*! ../internals/object-keys-internal */ "./node_modules/core-js/internals/object-keys-internal.js"); 2855var enumBugKeys = __webpack_require__(/*! ../internals/enum-bug-keys */ "./node_modules/core-js/internals/enum-bug-keys.js"); 2856 2857var hiddenKeys = enumBugKeys.concat('length', 'prototype'); 2858 2859// `Object.getOwnPropertyNames` method 2860// https://tc39.es/ecma262/#sec-object.getownpropertynames 2861// eslint-disable-next-line es-x/no-object-getownpropertynames -- safe 2862exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) { 2863 return internalObjectKeys(O, hiddenKeys); 2864}; 2865 2866 2867/***/ }), 2868
vendor: 706 bytes, lines 2869-2884
2869/***/ "./node_modules/core-js/internals/object-get-own-property-symbols.js": 2870/*!***************************************************************************!*\ 2871 !*** ./node_modules/core-js/internals/object-get-own-property-symbols.js ***! 2872 \***************************************************************************/ 2873/*! default exports */ 2874/*! export f [provided] [no usage info] [missing usage info prevents renaming] */ 2875/*! other exports [not provided] [no usage info] */ 2876/*! runtime requirements: __webpack_exports__ */ 2877/***/ (function(__unused_webpack_module, exports) { 2878 2879// eslint-disable-next-line es-x/no-object-getownpropertysymbols -- safe 2880exports.f = Object.getOwnPropertySymbols; 2881 2882 2883/***/ }), 2884
vendor: 726 bytes, lines 2885-2900
2885/***/ "./node_modules/core-js/internals/object-is-prototype-of.js": 2886/*!******************************************************************!*\ 2887 !*** ./node_modules/core-js/internals/object-is-prototype-of.js ***! 2888 \******************************************************************/ 2889/*! unknown exports (runtime-defined) */ 2890/*! runtime requirements: module, __webpack_require__ */ 2891/*! CommonJS bailout: module.exports is used directly at 3:0-14 */ 2892/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 2893 2894var uncurryThis = __webpack_require__(/*! ../internals/function-uncurry-this */ "./node_modules/core-js/internals/function-uncurry-this.js"); 2895 2896module.exports = uncurryThis({}.isPrototypeOf); 2897 2898 2899/***/ }), 2900
vendor: 1,594 bytes, lines 2901-2933
2901/***/ "./node_modules/core-js/internals/object-keys-internal.js": 2902/*!****************************************************************!*\ 2903 !*** ./node_modules/core-js/internals/object-keys-internal.js ***! 2904 \****************************************************************/ 2905/*! unknown exports (runtime-defined) */ 2906/*! runtime requirements: __webpack_require__, module */ 2907/*! CommonJS bailout: module.exports is used directly at 9:0-14 */ 2908/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 2909 2910var uncurryThis = __webpack_require__(/*! ../internals/function-uncurry-this */ "./node_modules/core-js/internals/function-uncurry-this.js"); 2911var hasOwn = __webpack_require__(/*! ../internals/has-own-property */ "./node_modules/core-js/internals/has-own-property.js"); 2912var toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ "./node_modules/core-js/internals/to-indexed-object.js"); 2913var indexOf = __webpack_require__(/*! ../internals/array-includes */ "./node_modules/core-js/internals/array-includes.js").indexOf; 2914var hiddenKeys = __webpack_require__(/*! ../internals/hidden-keys */ "./node_modules/core-js/internals/hidden-keys.js"); 2915 2916var push = uncurryThis([].push); 2917 2918module.exports = function (object, names) { 2919 var O = toIndexedObject(object); 2920 var i = 0; 2921 var result = []; 2922 var key; 2923 for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key); 2924 // Don't enum bug & hidden keys 2925 while (names.length > i) if (hasOwn(O, key = names[i++])) { 2926 ~indexOf(result, key) || push(result, key); 2927 } 2928 return result; 2929}; 2930 2931 2932/***/ }), 2933
vendor: 988 bytes, lines 2934-2955
2934/***/ "./node_modules/core-js/internals/object-keys.js": 2935/*!*******************************************************!*\ 2936 !*** ./node_modules/core-js/internals/object-keys.js ***! 2937 \*******************************************************/ 2938/*! unknown exports (runtime-defined) */ 2939/*! runtime requirements: module, __webpack_require__ */ 2940/*! CommonJS bailout: module.exports is used directly at 7:0-14 */ 2941/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 2942 2943var internalObjectKeys = __webpack_require__(/*! ../internals/object-keys-internal */ "./node_modules/core-js/internals/object-keys-internal.js"); 2944var enumBugKeys = __webpack_require__(/*! ../internals/enum-bug-keys */ "./node_modules/core-js/internals/enum-bug-keys.js"); 2945 2946// `Object.keys` method 2947// https://tc39.es/ecma262/#sec-object.keys 2948// eslint-disable-next-line es-x/no-object-keys -- safe 2949module.exports = Object.keys || function keys(O) { 2950 return internalObjectKeys(O, enumBugKeys); 2951}; 2952 2953 2954/***/ }), 2955
vendor: 1,228 bytes, lines 2956-2984
2956/***/ "./node_modules/core-js/internals/object-property-is-enumerable.js": 2957/*!*************************************************************************!*\ 2958 !*** ./node_modules/core-js/internals/object-property-is-enumerable.js ***! 2959 \*************************************************************************/ 2960/*! default exports */ 2961/*! export f [provided] [no usage info] [missing usage info prevents renaming] */ 2962/*! other exports [not provided] [no usage info] */ 2963/*! runtime requirements: __webpack_exports__ */ 2964/***/ (function(__unused_webpack_module, exports) { 2965 2966"use strict"; 2967 2968var $propertyIsEnumerable = {}.propertyIsEnumerable; 2969// eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe 2970var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; 2971 2972// Nashorn ~ JDK8 bug 2973var NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1); 2974 2975// `Object.prototype.propertyIsEnumerable` method implementation 2976// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable 2977exports.f = NASHORN_BUG ? function propertyIsEnumerable(V) { 2978 var descriptor = getOwnPropertyDescriptor(this, V); 2979 return !!descriptor && descriptor.enumerable; 2980} : $propertyIsEnumerable; 2981 2982 2983/***/ }), 2984
vendor: 1,832 bytes, lines 2985-3024
2985/***/ "./node_modules/core-js/internals/object-set-prototype-of.js": 2986/*!*******************************************************************!*\ 2987 !*** ./node_modules/core-js/internals/object-set-prototype-of.js ***! 2988 \*******************************************************************/ 2989/*! unknown exports (runtime-defined) */ 2990/*! runtime requirements: module, __webpack_require__ */ 2991/*! CommonJS bailout: module.exports is used directly at 10:0-14 */ 2992/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 2993 2994/* eslint-disable no-proto -- safe */ 2995var uncurryThis = __webpack_require__(/*! ../internals/function-uncurry-this */ "./node_modules/core-js/internals/function-uncurry-this.js"); 2996var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js"); 2997var aPossiblePrototype = __webpack_require__(/*! ../internals/a-possible-prototype */ "./node_modules/core-js/internals/a-possible-prototype.js"); 2998 2999// `Object.setPrototypeOf` method 3000// https://tc39.es/ecma262/#sec-object.setprototypeof 3001// Works with __proto__ only. Old v8 can't work with null proto objects. 3002// eslint-disable-next-line es-x/no-object-setprototypeof -- safe 3003module.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () { 3004 var CORRECT_SETTER = false; 3005 var test = {}; 3006 var setter; 3007 try { 3008 // eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe 3009 setter = uncurryThis(Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set); 3010 setter(test, []); 3011 CORRECT_SETTER = test instanceof Array; 3012 } catch (error) { /* empty */ } 3013 return function setPrototypeOf(O, proto) { 3014 anObject(O); 3015 aPossiblePrototype(proto); 3016 if (CORRECT_SETTER) setter(O, proto); 3017 else O.__proto__ = proto; 3018 return O; 3019 }; 3020}() : undefined); 3021 3022 3023/***/ }), 3024
vendor: 1,023 bytes, lines 3025-3047
3025/***/ "./node_modules/core-js/internals/object-to-string.js": 3026/*!************************************************************!*\ 3027 !*** ./node_modules/core-js/internals/object-to-string.js ***! 3028 \************************************************************/ 3029/*! unknown exports (runtime-defined) */ 3030/*! runtime requirements: module, __webpack_require__ */ 3031/*! CommonJS bailout: module.exports is used directly at 7:0-14 */ 3032/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 3033 3034"use strict"; 3035 3036var TO_STRING_TAG_SUPPORT = __webpack_require__(/*! ../internals/to-string-tag-support */ "./node_modules/core-js/internals/to-string-tag-support.js"); 3037var classof = __webpack_require__(/*! ../internals/classof */ "./node_modules/core-js/internals/classof.js"); 3038 3039// `Object.prototype.toString` method implementation 3040// https://tc39.es/ecma262/#sec-object.prototype.tostring 3041module.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() { 3042 return '[object ' + classof(this) + ']'; 3043}; 3044 3045 3046/***/ }), 3047
vendor: 1,437 bytes, lines 3048-3075
3048/***/ "./node_modules/core-js/internals/ordinary-to-primitive.js": 3049/*!*****************************************************************!*\ 3050 !*** ./node_modules/core-js/internals/ordinary-to-primitive.js ***! 3051 \*****************************************************************/ 3052/*! unknown exports (runtime-defined) */ 3053/*! runtime requirements: module, __webpack_require__ */ 3054/*! CommonJS bailout: module.exports is used directly at 9:0-14 */ 3055/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 3056 3057var call = __webpack_require__(/*! ../internals/function-call */ "./node_modules/core-js/internals/function-call.js"); 3058var isCallable = __webpack_require__(/*! ../internals/is-callable */ "./node_modules/core-js/internals/is-callable.js"); 3059var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js"); 3060 3061var $TypeError = TypeError; 3062 3063// `OrdinaryToPrimitive` abstract operation 3064// https://tc39.es/ecma262/#sec-ordinarytoprimitive 3065module.exports = function (input, pref) { 3066 var fn, val; 3067 if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val; 3068 if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val; 3069 if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val; 3070 throw $TypeError("Can't convert object to primitive value"); 3071}; 3072 3073 3074/***/ }), 3075
vendor: 1,582 bytes, lines 3076-3102
3076/***/ "./node_modules/core-js/internals/own-keys.js": 3077/*!****************************************************!*\ 3078 !*** ./node_modules/core-js/internals/own-keys.js ***! 3079 \****************************************************/ 3080/*! unknown exports (runtime-defined) */ 3081/*! runtime requirements: module, __webpack_require__ */ 3082/*! CommonJS bailout: module.exports is used directly at 10:0-14 */ 3083/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 3084 3085var getBuiltIn = __webpack_require__(/*! ../internals/get-built-in */ "./node_modules/core-js/internals/get-built-in.js"); 3086var uncurryThis = __webpack_require__(/*! ../internals/function-uncurry-this */ "./node_modules/core-js/internals/function-uncurry-this.js"); 3087var getOwnPropertyNamesModule = __webpack_require__(/*! ../internals/object-get-own-property-names */ "./node_modules/core-js/internals/object-get-own-property-names.js"); 3088var getOwnPropertySymbolsModule = __webpack_require__(/*! ../internals/object-get-own-property-symbols */ "./node_modules/core-js/internals/object-get-own-property-symbols.js"); 3089var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js"); 3090 3091var concat = uncurryThis([].concat); 3092 3093// all object keys, includes non-enumerable and symbols 3094module.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) { 3095 var keys = getOwnPropertyNamesModule.f(anObject(it)); 3096 var getOwnPropertySymbols = getOwnPropertySymbolsModule.f; 3097 return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys; 3098}; 3099 3100 3101/***/ }), 3102
vendor: 1,545 bytes, lines 3103-3135
3103/***/ "./node_modules/core-js/internals/regexp-exec-abstract.js": 3104/*!****************************************************************!*\ 3105 !*** ./node_modules/core-js/internals/regexp-exec-abstract.js ***! 3106 \****************************************************************/ 3107/*! unknown exports (runtime-defined) */ 3108/*! runtime requirements: module, __webpack_require__ */ 3109/*! CommonJS bailout: module.exports is used directly at 11:0-14 */ 3110/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 3111 3112var call = __webpack_require__(/*! ../internals/function-call */ "./node_modules/core-js/internals/function-call.js"); 3113var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js"); 3114var isCallable = __webpack_require__(/*! ../internals/is-callable */ "./node_modules/core-js/internals/is-callable.js"); 3115var classof = __webpack_require__(/*! ../internals/classof-raw */ "./node_modules/core-js/internals/classof-raw.js"); 3116var regexpExec = __webpack_require__(/*! ../internals/regexp-exec */ "./node_modules/core-js/internals/regexp-exec.js"); 3117 3118var $TypeError = TypeError; 3119 3120// `RegExpExec` abstract operation 3121// https://tc39.es/ecma262/#sec-regexpexec 3122module.exports = function (R, S) { 3123 var exec = R.exec; 3124 if (isCallable(exec)) { 3125 var result = call(exec, R, S); 3126 if (result !== null) anObject(result); 3127 return result; 3128 } 3129 if (classof(R) === 'RegExp') return call(regexpExec, R, S); 3130 throw $TypeError('RegExp#exec called on incompatible receiver'); 3131}; 3132 3133 3134/***/ }), 3135
vendor: 5,245 bytes, lines 3136-3266
3136/***/ "./node_modules/core-js/internals/regexp-exec.js": 3137/*!*******************************************************!*\ 3138 !*** ./node_modules/core-js/internals/regexp-exec.js ***! 3139 \*******************************************************/ 3140/*! unknown exports (runtime-defined) */ 3141/*! runtime requirements: __webpack_require__, module */ 3142/*! CommonJS bailout: module.exports is used directly at 117:0-14 */ 3143/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 3144 3145"use strict"; 3146 3147/* eslint-disable regexp/no-empty-capturing-group, regexp/no-empty-group, regexp/no-lazy-ends -- testing */ 3148/* eslint-disable regexp/no-useless-quantifier -- testing */ 3149var call = __webpack_require__(/*! ../internals/function-call */ "./node_modules/core-js/internals/function-call.js"); 3150var uncurryThis = __webpack_require__(/*! ../internals/function-uncurry-this */ "./node_modules/core-js/internals/function-uncurry-this.js"); 3151var toString = __webpack_require__(/*! ../internals/to-string */ "./node_modules/core-js/internals/to-string.js"); 3152var regexpFlags = __webpack_require__(/*! ../internals/regexp-flags */ "./node_modules/core-js/internals/regexp-flags.js"); 3153var stickyHelpers = __webpack_require__(/*! ../internals/regexp-sticky-helpers */ "./node_modules/core-js/internals/regexp-sticky-helpers.js"); 3154var shared = __webpack_require__(/*! ../internals/shared */ "./node_modules/core-js/internals/shared.js"); 3155var create = __webpack_require__(/*! ../internals/object-create */ "./node_modules/core-js/internals/object-create.js"); 3156var getInternalState = __webpack_require__(/*! ../internals/internal-state */ "./node_modules/core-js/internals/internal-state.js").get; 3157var UNSUPPORTED_DOT_ALL = __webpack_require__(/*! ../internals/regexp-unsupported-dot-all */ "./node_modules/core-js/internals/regexp-unsupported-dot-all.js"); 3158var UNSUPPORTED_NCG = __webpack_require__(/*! ../internals/regexp-unsupported-ncg */ "./node_modules/core-js/internals/regexp-unsupported-ncg.js"); 3159 3160var nativeReplace = shared('native-string-replace', String.prototype.replace); 3161var nativeExec = RegExp.prototype.exec; 3162var patchedExec = nativeExec; 3163var charAt = uncurryThis(''.charAt); 3164var indexOf = uncurryThis(''.indexOf); 3165var replace = uncurryThis(''.replace); 3166var stringSlice = uncurryThis(''.slice); 3167 3168var UPDATES_LAST_INDEX_WRONG = (function () { 3169 var re1 = /a/; 3170 var re2 = /b*/g; 3171 call(nativeExec, re1, 'a'); 3172 call(nativeExec, re2, 'a'); 3173 return re1.lastIndex !== 0 || re2.lastIndex !== 0; 3174})(); 3175 3176var UNSUPPORTED_Y = stickyHelpers.BROKEN_CARET; 3177 3178// nonparticipating capturing group, copied from es5-shim's String#split patch. 3179var NPCG_INCLUDED = /()??/.exec('')[1] !== undefined; 3180 3181var PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y || UNSUPPORTED_DOT_ALL || UNSUPPORTED_NCG; 3182 3183if (PATCH) { 3184 patchedExec = function exec(string) { 3185 var re = this; 3186 var state = getInternalState(re); 3187 var str = toString(string); 3188 var raw = state.raw; 3189 var result, reCopy, lastIndex, match, i, object, group; 3190 3191 if (raw) { 3192 raw.lastIndex = re.lastIndex; 3193 result = call(patchedExec, raw, str); 3194 re.lastIndex = raw.lastIndex; 3195 return result; 3196 } 3197 3198 var groups = state.groups; 3199 var sticky = UNSUPPORTED_Y && re.sticky; 3200 var flags = call(regexpFlags, re); 3201 var source = re.source; 3202 var charsAdded = 0; 3203 var strCopy = str; 3204 3205 if (sticky) { 3206 flags = replace(flags, 'y', ''); 3207 if (indexOf(flags, 'g') === -1) { 3208 flags += 'g'; 3209 } 3210 3211 strCopy = stringSlice(str, re.lastIndex); 3212 // Support anchored sticky behavior. 3213 if (re.lastIndex > 0 && (!re.multiline || re.multiline && charAt(str, re.lastIndex - 1) !== '\n')) { 3214 source = '(?: ' + source + ')'; 3215 strCopy = ' ' + strCopy; 3216 charsAdded++; 3217 } 3218 // ^(? + rx + ) is needed, in combination with some str slicing, to 3219 // simulate the 'y' flag. 3220 reCopy = new RegExp('^(?:' + source + ')', flags); 3221 } 3222 3223 if (NPCG_INCLUDED) { 3224 reCopy = new RegExp('^' + source + '$(?!\\s)', flags); 3225 } 3226 if (UPDATES_LAST_INDEX_WRONG) lastIndex = re.lastIndex; 3227 3228 match = call(nativeExec, sticky ? reCopy : re, strCopy); 3229 3230 if (sticky) { 3231 if (match) { 3232 match.input = stringSlice(match.input, charsAdded); 3233 match[0] = stringSlice(match[0], charsAdded); 3234 match.index = re.lastIndex; 3235 re.lastIndex += match[0].length; 3236 } else re.lastIndex = 0; 3237 } else if (UPDATES_LAST_INDEX_WRONG && match) { 3238 re.lastIndex = re.global ? match.index + match[0].length : lastIndex; 3239 } 3240 if (NPCG_INCLUDED && match && match.length > 1) { 3241 // Fix browsers whose `exec` methods don't consistently return `undefined` 3242 // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/ 3243 call(nativeReplace, match[0], reCopy, function () { 3244 for (i = 1; i < arguments.length - 2; i++) { 3245 if (arguments[i] === undefined) match[i] = undefined; 3246 } 3247 }); 3248 } 3249 3250 if (match && groups) { 3251 match.groups = object = create(null); 3252 for (i = 0; i < groups.length; i++) { 3253 group = groups[i]; 3254 object[group[0]] = match[group[1]]; 3255 } 3256 } 3257 3258 return match; 3259 }; 3260} 3261 3262module.exports = patchedExec; 3263 3264 3265/***/ }), 3266
vendor: 1,084 bytes, lines 3267-3297
3267/***/ "./node_modules/core-js/internals/regexp-flags.js": 3268/*!********************************************************!*\ 3269 !*** ./node_modules/core-js/internals/regexp-flags.js ***! 3270 \********************************************************/ 3271/*! unknown exports (runtime-defined) */ 3272/*! runtime requirements: module, __webpack_require__ */ 3273/*! CommonJS bailout: module.exports is used directly at 6:0-14 */ 3274/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 3275 3276"use strict"; 3277 3278var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js"); 3279 3280// `RegExp.prototype.flags` getter implementation 3281// https://tc39.es/ecma262/#sec-get-regexp.prototype.flags 3282module.exports = function () { 3283 var that = anObject(this); 3284 var result = ''; 3285 if (that.hasIndices) result += 'd'; 3286 if (that.global) result += 'g'; 3287 if (that.ignoreCase) result += 'i'; 3288 if (that.multiline) result += 'm'; 3289 if (that.dotAll) result += 's'; 3290 if (that.unicode) result += 'u'; 3291 if (that.sticky) result += 'y'; 3292 return result; 3293}; 3294 3295 3296/***/ }), 3297
vendor: 1,487 bytes, lines 3298-3340
3298/***/ "./node_modules/core-js/internals/regexp-sticky-helpers.js": 3299/*!*****************************************************************!*\ 3300 !*** ./node_modules/core-js/internals/regexp-sticky-helpers.js ***! 3301 \*****************************************************************/ 3302/*! unknown exports (runtime-defined) */ 3303/*! runtime requirements: module, __webpack_require__ */ 3304/*! CommonJS bailout: module.exports is used directly at 26:0-14 */ 3305/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 3306 3307var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); 3308var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); 3309 3310// babel-minify and Closure Compiler transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError 3311var $RegExp = global.RegExp; 3312 3313var UNSUPPORTED_Y = fails(function () { 3314 var re = $RegExp('a', 'y'); 3315 re.lastIndex = 2; 3316 return re.exec('abcd') != null; 3317}); 3318 3319// UC Browser bug 3320// https://github.com/zloirock/core-js/issues/1008 3321var MISSED_STICKY = UNSUPPORTED_Y || fails(function () { 3322 return !$RegExp('a', 'y').sticky; 3323}); 3324 3325var BROKEN_CARET = UNSUPPORTED_Y || fails(function () { 3326 // https://bugzilla.mozilla.org/show_bug.cgi?id=773687 3327 var re = $RegExp('^r', 'gy'); 3328 re.lastIndex = 2; 3329 return re.exec('str') != null; 3330}); 3331 3332module.exports = { 3333 BROKEN_CARET: BROKEN_CARET, 3334 MISSED_STICKY: MISSED_STICKY, 3335 UNSUPPORTED_Y: UNSUPPORTED_Y 3336}; 3337 3338 3339/***/ }), 3340
vendor: 1,023 bytes, lines 3341-3363
3341/***/ "./node_modules/core-js/internals/regexp-unsupported-dot-all.js": 3342/*!**********************************************************************!*\ 3343 !*** ./node_modules/core-js/internals/regexp-unsupported-dot-all.js ***! 3344 \**********************************************************************/ 3345/*! unknown exports (runtime-defined) */ 3346/*! runtime requirements: module, __webpack_require__ */ 3347/*! CommonJS bailout: module.exports is used directly at 7:0-14 */ 3348/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 3349 3350var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); 3351var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); 3352 3353// babel-minify and Closure Compiler transpiles RegExp('.', 's') -> /./s and it causes SyntaxError 3354var $RegExp = global.RegExp; 3355 3356module.exports = fails(function () { 3357 var re = $RegExp('.', 's'); 3358 return !(re.dotAll && re.exec('\n') && re.flags === 's'); 3359}); 3360 3361 3362/***/ }), 3363
vendor: 1,046 bytes, lines 3364-3387
3364/***/ "./node_modules/core-js/internals/regexp-unsupported-ncg.js": 3365/*!******************************************************************!*\ 3366 !*** ./node_modules/core-js/internals/regexp-unsupported-ncg.js ***! 3367 \******************************************************************/ 3368/*! unknown exports (runtime-defined) */ 3369/*! runtime requirements: module, __webpack_require__ */ 3370/*! CommonJS bailout: module.exports is used directly at 7:0-14 */ 3371/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 3372 3373var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); 3374var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); 3375 3376// babel-minify and Closure Compiler transpiles RegExp('(?<a>b)', 'g') -> /(?<a>b)/g and it causes SyntaxError 3377var $RegExp = global.RegExp; 3378 3379module.exports = fails(function () { 3380 var re = $RegExp('(?<a>b)', 'g'); 3381 return re.exec('b').groups.a !== 'b' || 3382 'b'.replace(re, '$<a>c') !== 'bc'; 3383}); 3384 3385 3386/***/ }), 3387
vendor: 726 bytes, lines 3388-3408
3388/***/ "./node_modules/core-js/internals/require-object-coercible.js": 3389/*!********************************************************************!*\ 3390 !*** ./node_modules/core-js/internals/require-object-coercible.js ***! 3391 \********************************************************************/ 3392/*! unknown exports (runtime-defined) */ 3393/*! runtime requirements: module */ 3394/*! CommonJS bailout: module.exports is used directly at 5:0-14 */ 3395/***/ (function(module) { 3396 3397var $TypeError = TypeError; 3398 3399// `RequireObjectCoercible` abstract operation 3400// https://tc39.es/ecma262/#sec-requireobjectcoercible 3401module.exports = function (it) { 3402 if (it == undefined) throw $TypeError("Can't call method on " + it); 3403 return it; 3404}; 3405 3406 3407/***/ }), 3408
vendor: 804 bytes, lines 3409-3429
3409/***/ "./node_modules/core-js/internals/shared-key.js": 3410/*!******************************************************!*\ 3411 !*** ./node_modules/core-js/internals/shared-key.js ***! 3412 \******************************************************/ 3413/*! unknown exports (runtime-defined) */ 3414/*! runtime requirements: module, __webpack_require__ */ 3415/*! CommonJS bailout: module.exports is used directly at 6:0-14 */ 3416/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 3417 3418var shared = __webpack_require__(/*! ../internals/shared */ "./node_modules/core-js/internals/shared.js"); 3419var uid = __webpack_require__(/*! ../internals/uid */ "./node_modules/core-js/internals/uid.js"); 3420 3421var keys = shared('keys'); 3422 3423module.exports = function (key) { 3424 return keys[key] || (keys[key] = uid(key)); 3425}; 3426 3427 3428/***/ }), 3429
vendor: 880 bytes, lines 3430-3449
3430/***/ "./node_modules/core-js/internals/shared-store.js": 3431/*!********************************************************!*\ 3432 !*** ./node_modules/core-js/internals/shared-store.js ***! 3433 \********************************************************/ 3434/*! unknown exports (runtime-defined) */ 3435/*! runtime requirements: module, __webpack_require__ */ 3436/*! CommonJS bailout: module.exports is used directly at 7:0-14 */ 3437/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 3438 3439var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); 3440var defineGlobalProperty = __webpack_require__(/*! ../internals/define-global-property */ "./node_modules/core-js/internals/define-global-property.js"); 3441 3442var SHARED = '__core-js_shared__'; 3443var store = global[SHARED] || defineGlobalProperty(SHARED, {}); 3444 3445module.exports = store; 3446 3447 3448/***/ }), 3449
vendor: 1,080 bytes, lines 3450-3474
3450/***/ "./node_modules/core-js/internals/shared.js": 3451/*!**************************************************!*\ 3452 !*** ./node_modules/core-js/internals/shared.js ***! 3453 \**************************************************/ 3454/*! unknown exports (runtime-defined) */ 3455/*! runtime requirements: module, __webpack_require__ */ 3456/*! CommonJS bailout: module.exports is used directly at 4:1-15 */ 3457/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 3458 3459var IS_PURE = __webpack_require__(/*! ../internals/is-pure */ "./node_modules/core-js/internals/is-pure.js"); 3460var store = __webpack_require__(/*! ../internals/shared-store */ "./node_modules/core-js/internals/shared-store.js"); 3461 3462(module.exports = function (key, value) { 3463 return store[key] || (store[key] = value !== undefined ? value : {}); 3464})('versions', []).push({ 3465 version: '3.22.8', 3466 mode: IS_PURE ? 'pure' : 'global', 3467 copyright: '© 2014-2022 Denis Pushkarev (zloirock.ru)', 3468 license: 'https://github.com/zloirock/core-js/blob/v3.22.8/LICENSE', 3469 source: 'https://github.com/zloirock/core-js' 3470}); 3471 3472 3473/***/ }), 3474
vendor: 2,213 bytes, lines 3475-3523
3475/***/ "./node_modules/core-js/internals/string-multibyte.js": 3476/*!************************************************************!*\ 3477 !*** ./node_modules/core-js/internals/string-multibyte.js ***! 3478 \************************************************************/ 3479/*! unknown exports (runtime-defined) */ 3480/*! runtime requirements: module, __webpack_require__ */ 3481/*! CommonJS bailout: module.exports is used directly at 29:0-14 */ 3482/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 3483 3484var uncurryThis = __webpack_require__(/*! ../internals/function-uncurry-this */ "./node_modules/core-js/internals/function-uncurry-this.js"); 3485var toIntegerOrInfinity = __webpack_require__(/*! ../internals/to-integer-or-infinity */ "./node_modules/core-js/internals/to-integer-or-infinity.js"); 3486var toString = __webpack_require__(/*! ../internals/to-string */ "./node_modules/core-js/internals/to-string.js"); 3487var requireObjectCoercible = __webpack_require__(/*! ../internals/require-object-coercible */ "./node_modules/core-js/internals/require-object-coercible.js"); 3488 3489var charAt = uncurryThis(''.charAt); 3490var charCodeAt = uncurryThis(''.charCodeAt); 3491var stringSlice = uncurryThis(''.slice); 3492 3493var createMethod = function (CONVERT_TO_STRING) { 3494 return function ($this, pos) { 3495 var S = toString(requireObjectCoercible($this)); 3496 var position = toIntegerOrInfinity(pos); 3497 var size = S.length; 3498 var first, second; 3499 if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined; 3500 first = charCodeAt(S, position); 3501 return first < 0xD800 || first > 0xDBFF || position + 1 === size 3502 || (second = charCodeAt(S, position + 1)) < 0xDC00 || second > 0xDFFF 3503 ? CONVERT_TO_STRING 3504 ? charAt(S, position) 3505 : first 3506 : CONVERT_TO_STRING 3507 ? stringSlice(S, position, position + 2) 3508 : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000; 3509 }; 3510}; 3511 3512module.exports = { 3513 // `String.prototype.codePointAt` method 3514 // https://tc39.es/ecma262/#sec-string.prototype.codepointat 3515 codeAt: createMethod(false), 3516 // `String.prototype.at` method 3517 // https://github.com/mathiasbynens/String.prototype.at 3518 charAt: createMethod(true) 3519}; 3520 3521 3522/***/ }), 3523
vendor: 1,997 bytes, lines 3524-3567
3524/***/ "./node_modules/core-js/internals/string-trim.js": 3525/*!*******************************************************!*\ 3526 !*** ./node_modules/core-js/internals/string-trim.js ***! 3527 \*******************************************************/ 3528/*! unknown exports (runtime-defined) */ 3529/*! runtime requirements: module, __webpack_require__ */ 3530/*! CommonJS bailout: module.exports is used directly at 21:0-14 */ 3531/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 3532 3533var uncurryThis = __webpack_require__(/*! ../internals/function-uncurry-this */ "./node_modules/core-js/internals/function-uncurry-this.js"); 3534var requireObjectCoercible = __webpack_require__(/*! ../internals/require-object-coercible */ "./node_modules/core-js/internals/require-object-coercible.js"); 3535var toString = __webpack_require__(/*! ../internals/to-string */ "./node_modules/core-js/internals/to-string.js"); 3536var whitespaces = __webpack_require__(/*! ../internals/whitespaces */ "./node_modules/core-js/internals/whitespaces.js"); 3537 3538var replace = uncurryThis(''.replace); 3539var whitespace = '[' + whitespaces + ']'; 3540var ltrim = RegExp('^' + whitespace + whitespace + '*'); 3541var rtrim = RegExp(whitespace + whitespace + '*$'); 3542 3543// `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation 3544var createMethod = function (TYPE) { 3545 return function ($this) { 3546 var string = toString(requireObjectCoercible($this)); 3547 if (TYPE & 1) string = replace(string, ltrim, ''); 3548 if (TYPE & 2) string = replace(string, rtrim, ''); 3549 return string; 3550 }; 3551}; 3552 3553module.exports = { 3554 // `String.prototype.{ trimLeft, trimStart }` methods 3555 // https://tc39.es/ecma262/#sec-string.prototype.trimstart 3556 start: createMethod(1), 3557 // `String.prototype.{ trimRight, trimEnd }` methods 3558 // https://tc39.es/ecma262/#sec-string.prototype.trimend 3559 end: createMethod(2), 3560 // `String.prototype.trim` method 3561 // https://tc39.es/ecma262/#sec-string.prototype.trim 3562 trim: createMethod(3) 3563}; 3564 3565 3566/***/ }), 3567
vendor: 789 bytes, lines 3568-3585
3568/***/ "./node_modules/core-js/internals/this-number-value.js": 3569/*!*************************************************************!*\ 3570 !*** ./node_modules/core-js/internals/this-number-value.js ***! 3571 \*************************************************************/ 3572/*! unknown exports (runtime-defined) */ 3573/*! runtime requirements: module, __webpack_require__ */ 3574/*! CommonJS bailout: module.exports is used directly at 5:0-14 */ 3575/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 3576 3577var uncurryThis = __webpack_require__(/*! ../internals/function-uncurry-this */ "./node_modules/core-js/internals/function-uncurry-this.js"); 3578 3579// `thisNumberValue` abstract operation 3580// https://tc39.es/ecma262/#sec-thisnumbervalue 3581module.exports = uncurryThis(1.0.valueOf); 3582 3583 3584/***/ }), 3585
vendor: 1,064 bytes, lines 3586-3610
3586/***/ "./node_modules/core-js/internals/to-absolute-index.js": 3587/*!*************************************************************!*\ 3588 !*** ./node_modules/core-js/internals/to-absolute-index.js ***! 3589 \*************************************************************/ 3590/*! unknown exports (runtime-defined) */ 3591/*! runtime requirements: module, __webpack_require__ */ 3592/*! CommonJS bailout: module.exports is used directly at 9:0-14 */ 3593/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 3594 3595var toIntegerOrInfinity = __webpack_require__(/*! ../internals/to-integer-or-infinity */ "./node_modules/core-js/internals/to-integer-or-infinity.js"); 3596 3597var max = Math.max; 3598var min = Math.min; 3599 3600// Helper for a popular repeating case of the spec: 3601// Let integer be ? ToInteger(index). 3602// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length). 3603module.exports = function (index, length) { 3604 var integer = toIntegerOrInfinity(index); 3605 return integer < 0 ? max(integer + length, 0) : min(integer, length); 3606}; 3607 3608 3609/***/ }), 3610
vendor: 950 bytes, lines 3611-3630
3611/***/ "./node_modules/core-js/internals/to-indexed-object.js": 3612/*!*************************************************************!*\ 3613 !*** ./node_modules/core-js/internals/to-indexed-object.js ***! 3614 \*************************************************************/ 3615/*! unknown exports (runtime-defined) */ 3616/*! runtime requirements: module, __webpack_require__ */ 3617/*! CommonJS bailout: module.exports is used directly at 5:0-14 */ 3618/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 3619 3620// toObject with fallback for non-array-like ES3 strings 3621var IndexedObject = __webpack_require__(/*! ../internals/indexed-object */ "./node_modules/core-js/internals/indexed-object.js"); 3622var requireObjectCoercible = __webpack_require__(/*! ../internals/require-object-coercible */ "./node_modules/core-js/internals/require-object-coercible.js"); 3623 3624module.exports = function (it) { 3625 return IndexedObject(requireObjectCoercible(it)); 3626}; 3627 3628 3629/***/ }), 3630
vendor: 937 bytes, lines 3631-3652
3631/***/ "./node_modules/core-js/internals/to-integer-or-infinity.js": 3632/*!******************************************************************!*\ 3633 !*** ./node_modules/core-js/internals/to-integer-or-infinity.js ***! 3634 \******************************************************************/ 3635/*! unknown exports (runtime-defined) */ 3636/*! runtime requirements: module, __webpack_require__ */ 3637/*! CommonJS bailout: module.exports is used directly at 5:0-14 */ 3638/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 3639 3640var trunc = __webpack_require__(/*! ../internals/math-trunc */ "./node_modules/core-js/internals/math-trunc.js"); 3641 3642// `ToIntegerOrInfinity` abstract operation 3643// https://tc39.es/ecma262/#sec-tointegerorinfinity 3644module.exports = function (argument) { 3645 var number = +argument; 3646 // eslint-disable-next-line no-self-compare -- NaN check 3647 return number !== number || number === 0 ? 0 : trunc(number); 3648}; 3649 3650 3651/***/ }), 3652
vendor: 890 bytes, lines 3653-3674
3653/***/ "./node_modules/core-js/internals/to-length.js": 3654/*!*****************************************************!*\ 3655 !*** ./node_modules/core-js/internals/to-length.js ***! 3656 \*****************************************************/ 3657/*! unknown exports (runtime-defined) */ 3658/*! runtime requirements: module, __webpack_require__ */ 3659/*! CommonJS bailout: module.exports is used directly at 7:0-14 */ 3660/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 3661 3662var toIntegerOrInfinity = __webpack_require__(/*! ../internals/to-integer-or-infinity */ "./node_modules/core-js/internals/to-integer-or-infinity.js"); 3663 3664var min = Math.min; 3665 3666// `ToLength` abstract operation 3667// https://tc39.es/ecma262/#sec-tolength 3668module.exports = function (argument) { 3669 return argument > 0 ? min(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991 3670}; 3671 3672 3673/***/ }), 3674
vendor: 834 bytes, lines 3675-3696
3675/***/ "./node_modules/core-js/internals/to-object.js": 3676/*!*****************************************************!*\ 3677 !*** ./node_modules/core-js/internals/to-object.js ***! 3678 \*****************************************************/ 3679/*! unknown exports (runtime-defined) */ 3680/*! runtime requirements: module, __webpack_require__ */ 3681/*! CommonJS bailout: module.exports is used directly at 7:0-14 */ 3682/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 3683 3684var requireObjectCoercible = __webpack_require__(/*! ../internals/require-object-coercible */ "./node_modules/core-js/internals/require-object-coercible.js"); 3685 3686var $Object = Object; 3687 3688// `ToObject` abstract operation 3689// https://tc39.es/ecma262/#sec-toobject 3690module.exports = function (argument) { 3691 return $Object(requireObjectCoercible(argument)); 3692}; 3693 3694 3695/***/ }), 3696
vendor: 1,912 bytes, lines 3697-3734
3697/***/ "./node_modules/core-js/internals/to-primitive.js": 3698/*!********************************************************!*\ 3699 !*** ./node_modules/core-js/internals/to-primitive.js ***! 3700 \********************************************************/ 3701/*! unknown exports (runtime-defined) */ 3702/*! runtime requirements: module, __webpack_require__ */ 3703/*! CommonJS bailout: module.exports is used directly at 13:0-14 */ 3704/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 3705 3706var call = __webpack_require__(/*! ../internals/function-call */ "./node_modules/core-js/internals/function-call.js"); 3707var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js"); 3708var isSymbol = __webpack_require__(/*! ../internals/is-symbol */ "./node_modules/core-js/internals/is-symbol.js"); 3709var getMethod = __webpack_require__(/*! ../internals/get-method */ "./node_modules/core-js/internals/get-method.js"); 3710var ordinaryToPrimitive = __webpack_require__(/*! ../internals/ordinary-to-primitive */ "./node_modules/core-js/internals/ordinary-to-primitive.js"); 3711var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js"); 3712 3713var $TypeError = TypeError; 3714var TO_PRIMITIVE = wellKnownSymbol('toPrimitive'); 3715 3716// `ToPrimitive` abstract operation 3717// https://tc39.es/ecma262/#sec-toprimitive 3718module.exports = function (input, pref) { 3719 if (!isObject(input) || isSymbol(input)) return input; 3720 var exoticToPrim = getMethod(input, TO_PRIMITIVE); 3721 var result; 3722 if (exoticToPrim) { 3723 if (pref === undefined) pref = 'default'; 3724 result = call(exoticToPrim, input, pref); 3725 if (!isObject(result) || isSymbol(result)) return result; 3726 throw $TypeError("Can't convert object to primitive value"); 3727 } 3728 if (pref === undefined) pref = 'number'; 3729 return ordinaryToPrimitive(input, pref); 3730}; 3731 3732 3733/***/ }), 3734
vendor: 959 bytes, lines 3735-3756
3735/***/ "./node_modules/core-js/internals/to-property-key.js": 3736/*!***********************************************************!*\ 3737 !*** ./node_modules/core-js/internals/to-property-key.js ***! 3738 \***********************************************************/ 3739/*! unknown exports (runtime-defined) */ 3740/*! runtime requirements: module, __webpack_require__ */ 3741/*! CommonJS bailout: module.exports is used directly at 6:0-14 */ 3742/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 3743 3744var toPrimitive = __webpack_require__(/*! ../internals/to-primitive */ "./node_modules/core-js/internals/to-primitive.js"); 3745var isSymbol = __webpack_require__(/*! ../internals/is-symbol */ "./node_modules/core-js/internals/is-symbol.js"); 3746 3747// `ToPropertyKey` abstract operation 3748// https://tc39.es/ecma262/#sec-topropertykey 3749module.exports = function (argument) { 3750 var key = toPrimitive(argument, 'string'); 3751 return isSymbol(key) ? key : key + ''; 3752}; 3753 3754 3755/***/ }), 3756
vendor: 814 bytes, lines 3757-3777
3757/***/ "./node_modules/core-js/internals/to-string-tag-support.js": 3758/*!*****************************************************************!*\ 3759 !*** ./node_modules/core-js/internals/to-string-tag-support.js ***! 3760 \*****************************************************************/ 3761/*! unknown exports (runtime-defined) */ 3762/*! runtime requirements: module, __webpack_require__ */ 3763/*! CommonJS bailout: module.exports is used directly at 8:0-14 */ 3764/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 3765 3766var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js"); 3767 3768var TO_STRING_TAG = wellKnownSymbol('toStringTag'); 3769var test = {}; 3770 3771test[TO_STRING_TAG] = 'z'; 3772 3773module.exports = String(test) === '[object z]'; 3774 3775 3776/***/ }), 3777
vendor: 787 bytes, lines 3778-3798
3778/***/ "./node_modules/core-js/internals/to-string.js": 3779/*!*****************************************************!*\ 3780 !*** ./node_modules/core-js/internals/to-string.js ***! 3781 \*****************************************************/ 3782/*! unknown exports (runtime-defined) */ 3783/*! runtime requirements: module, __webpack_require__ */ 3784/*! CommonJS bailout: module.exports is used directly at 5:0-14 */ 3785/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 3786 3787var classof = __webpack_require__(/*! ../internals/classof */ "./node_modules/core-js/internals/classof.js"); 3788 3789var $String = String; 3790 3791module.exports = function (argument) { 3792 if (classof(argument) === 'Symbol') throw TypeError('Cannot convert a Symbol value to a string'); 3793 return $String(argument); 3794}; 3795 3796 3797/***/ }), 3798
vendor: 579 bytes, lines 3799-3820
3799/***/ "./node_modules/core-js/internals/try-to-string.js": 3800/*!*********************************************************!*\ 3801 !*** ./node_modules/core-js/internals/try-to-string.js ***! 3802 \*********************************************************/ 3803/*! unknown exports (runtime-defined) */ 3804/*! runtime requirements: module */ 3805/*! CommonJS bailout: module.exports is used directly at 3:0-14 */ 3806/***/ (function(module) { 3807 3808var $String = String; 3809 3810module.exports = function (argument) { 3811 try { 3812 return $String(argument); 3813 } catch (error) { 3814 return 'Object'; 3815 } 3816}; 3817 3818 3819/***/ }), 3820
vendor: 814 bytes, lines 3821-3842
3821/***/ "./node_modules/core-js/internals/uid.js": 3822/*!***********************************************!*\ 3823 !*** ./node_modules/core-js/internals/uid.js ***! 3824 \***********************************************/ 3825/*! unknown exports (runtime-defined) */ 3826/*! runtime requirements: module, __webpack_require__ */ 3827/*! CommonJS bailout: module.exports is used directly at 7:0-14 */ 3828/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 3829 3830var uncurryThis = __webpack_require__(/*! ../internals/function-uncurry-this */ "./node_modules/core-js/internals/function-uncurry-this.js"); 3831 3832var id = 0; 3833var postfix = Math.random(); 3834var toString = uncurryThis(1.0.toString); 3835 3836module.exports = function (key) { 3837 return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36); 3838}; 3839 3840 3841/***/ }), 3842
vendor: 794 bytes, lines 3843-3861
3843/***/ "./node_modules/core-js/internals/use-symbol-as-uid.js": 3844/*!*************************************************************!*\ 3845 !*** ./node_modules/core-js/internals/use-symbol-as-uid.js ***! 3846 \*************************************************************/ 3847/*! unknown exports (runtime-defined) */ 3848/*! runtime requirements: module, __webpack_require__ */ 3849/*! CommonJS bailout: module.exports is used directly at 4:0-14 */ 3850/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 3851 3852/* eslint-disable es-x/no-symbol -- required for testing */ 3853var NATIVE_SYMBOL = __webpack_require__(/*! ../internals/native-symbol */ "./node_modules/core-js/internals/native-symbol.js"); 3854 3855module.exports = NATIVE_SYMBOL 3856 && !Symbol.sham 3857 && typeof Symbol.iterator == 'symbol'; 3858 3859 3860/***/ }), 3861
vendor: 1,113 bytes, lines 3862-3886
3862/***/ "./node_modules/core-js/internals/v8-prototype-define-bug.js": 3863/*!*******************************************************************!*\ 3864 !*** ./node_modules/core-js/internals/v8-prototype-define-bug.js ***! 3865 \*******************************************************************/ 3866/*! unknown exports (runtime-defined) */ 3867/*! runtime requirements: module, __webpack_require__ */ 3868/*! CommonJS bailout: module.exports is used directly at 6:0-14 */ 3869/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 3870 3871var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js"); 3872var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); 3873 3874// V8 ~ Chrome 36- 3875// https://bugs.chromium.org/p/v8/issues/detail?id=3334 3876module.exports = DESCRIPTORS && fails(function () { 3877 // eslint-disable-next-line es-x/no-object-defineproperty -- required for testing 3878 return Object.defineProperty(function () { /* empty */ }, 'prototype', { 3879 value: 42, 3880 writable: false 3881 }).prototype != 42; 3882}); 3883 3884 3885/***/ }), 3886
vendor: 1,966 bytes, lines 3887-3923
3887/***/ "./node_modules/core-js/internals/well-known-symbol.js": 3888/*!*************************************************************!*\ 3889 !*** ./node_modules/core-js/internals/well-known-symbol.js ***! 3890 \*************************************************************/ 3891/*! unknown exports (runtime-defined) */ 3892/*! runtime requirements: module, __webpack_require__ */ 3893/*! CommonJS bailout: module.exports is used directly at 13:0-14 */ 3894/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 3895 3896var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); 3897var shared = __webpack_require__(/*! ../internals/shared */ "./node_modules/core-js/internals/shared.js"); 3898var hasOwn = __webpack_require__(/*! ../internals/has-own-property */ "./node_modules/core-js/internals/has-own-property.js"); 3899var uid = __webpack_require__(/*! ../internals/uid */ "./node_modules/core-js/internals/uid.js"); 3900var NATIVE_SYMBOL = __webpack_require__(/*! ../internals/native-symbol */ "./node_modules/core-js/internals/native-symbol.js"); 3901var USE_SYMBOL_AS_UID = __webpack_require__(/*! ../internals/use-symbol-as-uid */ "./node_modules/core-js/internals/use-symbol-as-uid.js"); 3902 3903var WellKnownSymbolsStore = shared('wks'); 3904var Symbol = global.Symbol; 3905var symbolFor = Symbol && Symbol['for']; 3906var createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid; 3907 3908module.exports = function (name) { 3909 if (!hasOwn(WellKnownSymbolsStore, name) || !(NATIVE_SYMBOL || typeof WellKnownSymbolsStore[name] == 'string')) { 3910 var description = 'Symbol.' + name; 3911 if (NATIVE_SYMBOL && hasOwn(Symbol, name)) { 3912 WellKnownSymbolsStore[name] = Symbol[name]; 3913 } else if (USE_SYMBOL_AS_UID && symbolFor) { 3914 WellKnownSymbolsStore[name] = symbolFor(description); 3915 } else { 3916 WellKnownSymbolsStore[name] = createWellKnownSymbol(description); 3917 } 3918 } return WellKnownSymbolsStore[name]; 3919}; 3920 3921 3922/***/ }), 3923
vendor: 646 bytes, lines 3924-3939
3924/***/ "./node_modules/core-js/internals/whitespaces.js": 3925/*!*******************************************************!*\ 3926 !*** ./node_modules/core-js/internals/whitespaces.js ***! 3927 \*******************************************************/ 3928/*! unknown exports (runtime-defined) */ 3929/*! runtime requirements: module */ 3930/*! CommonJS bailout: module.exports is used directly at 2:0-14 */ 3931/***/ (function(module) { 3932 3933// a string of all valid unicode whitespaces 3934module.exports = '\u0009\u000A\u000B\u000C\u000D\u0020\u00A0\u1680\u2000\u2001\u2002' + 3935 '\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF'; 3936 3937 3938/***/ }), 3939
vendor: 1,346 bytes, lines 3940-3973
3940/***/ "./node_modules/core-js/modules/es.array.find.js": 3941/*!*******************************************************!*\ 3942 !*** ./node_modules/core-js/modules/es.array.find.js ***! 3943 \*******************************************************/ 3944/*! unknown exports (runtime-defined) */ 3945/*! runtime requirements: __webpack_require__ */ 3946/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 3947 3948"use strict"; 3949 3950var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 3951var $find = __webpack_require__(/*! ../internals/array-iteration */ "./node_modules/core-js/internals/array-iteration.js").find; 3952var addToUnscopables = __webpack_require__(/*! ../internals/add-to-unscopables */ "./node_modules/core-js/internals/add-to-unscopables.js"); 3953 3954var FIND = 'find'; 3955var SKIPS_HOLES = true; 3956 3957// Shouldn't skip holes 3958if (FIND in []) Array(1)[FIND](function () { SKIPS_HOLES = false; }); 3959 3960// `Array.prototype.find` method 3961// https://tc39.es/ecma262/#sec-array.prototype.find 3962$({ target: 'Array', proto: true, forced: SKIPS_HOLES }, { 3963 find: function find(callbackfn /* , that = undefined */) { 3964 return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); 3965 } 3966}); 3967 3968// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables 3969addToUnscopables(FIND); 3970 3971 3972/***/ }), 3973
vendor: 1,437 bytes, lines 3974-4007
3974/***/ "./node_modules/core-js/modules/es.array.includes.js": 3975/*!***********************************************************!*\ 3976 !*** ./node_modules/core-js/modules/es.array.includes.js ***! 3977 \***********************************************************/ 3978/*! unknown exports (runtime-defined) */ 3979/*! runtime requirements: __webpack_require__ */ 3980/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 3981 3982"use strict"; 3983 3984var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 3985var $includes = __webpack_require__(/*! ../internals/array-includes */ "./node_modules/core-js/internals/array-includes.js").includes; 3986var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); 3987var addToUnscopables = __webpack_require__(/*! ../internals/add-to-unscopables */ "./node_modules/core-js/internals/add-to-unscopables.js"); 3988 3989// FF99+ bug 3990var BROKEN_ON_SPARSE = fails(function () { 3991 return !Array(1).includes(); 3992}); 3993 3994// `Array.prototype.includes` method 3995// https://tc39.es/ecma262/#sec-array.prototype.includes 3996$({ target: 'Array', proto: true, forced: BROKEN_ON_SPARSE }, { 3997 includes: function includes(el /* , fromIndex = 0 */) { 3998 return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined); 3999 } 4000}); 4001 4002// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables 4003addToUnscopables('includes'); 4004 4005 4006/***/ }), 4007
vendor: 1,540 bytes, lines 4008-4039
4008/***/ "./node_modules/core-js/modules/es.array.join.js": 4009/*!*******************************************************!*\ 4010 !*** ./node_modules/core-js/modules/es.array.join.js ***! 4011 \*******************************************************/ 4012/*! unknown exports (runtime-defined) */ 4013/*! runtime requirements: __webpack_require__ */ 4014/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 4015 4016"use strict"; 4017 4018var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 4019var uncurryThis = __webpack_require__(/*! ../internals/function-uncurry-this */ "./node_modules/core-js/internals/function-uncurry-this.js"); 4020var IndexedObject = __webpack_require__(/*! ../internals/indexed-object */ "./node_modules/core-js/internals/indexed-object.js"); 4021var toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ "./node_modules/core-js/internals/to-indexed-object.js"); 4022var arrayMethodIsStrict = __webpack_require__(/*! ../internals/array-method-is-strict */ "./node_modules/core-js/internals/array-method-is-strict.js"); 4023 4024var un$Join = uncurryThis([].join); 4025 4026var ES3_STRINGS = IndexedObject != Object; 4027var STRICT_METHOD = arrayMethodIsStrict('join', ','); 4028 4029// `Array.prototype.join` method 4030// https://tc39.es/ecma262/#sec-array.prototype.join 4031$({ target: 'Array', proto: true, forced: ES3_STRINGS || !STRICT_METHOD }, { 4032 join: function join(separator) { 4033 return un$Join(toIndexedObject(this), separator === undefined ? ',' : separator); 4034 } 4035}); 4036 4037 4038/***/ }), 4039
vendor: 3,322 bytes, lines 4040-4101
4040/***/ "./node_modules/core-js/modules/es.array.slice.js": 4041/*!********************************************************!*\ 4042 !*** ./node_modules/core-js/modules/es.array.slice.js ***! 4043 \********************************************************/ 4044/*! unknown exports (runtime-defined) */ 4045/*! runtime requirements: __webpack_require__ */ 4046/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 4047 4048"use strict"; 4049 4050var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 4051var isArray = __webpack_require__(/*! ../internals/is-array */ "./node_modules/core-js/internals/is-array.js"); 4052var isConstructor = __webpack_require__(/*! ../internals/is-constructor */ "./node_modules/core-js/internals/is-constructor.js"); 4053var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js"); 4054var toAbsoluteIndex = __webpack_require__(/*! ../internals/to-absolute-index */ "./node_modules/core-js/internals/to-absolute-index.js"); 4055var lengthOfArrayLike = __webpack_require__(/*! ../internals/length-of-array-like */ "./node_modules/core-js/internals/length-of-array-like.js"); 4056var toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ "./node_modules/core-js/internals/to-indexed-object.js"); 4057var createProperty = __webpack_require__(/*! ../internals/create-property */ "./node_modules/core-js/internals/create-property.js"); 4058var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js"); 4059var arrayMethodHasSpeciesSupport = __webpack_require__(/*! ../internals/array-method-has-species-support */ "./node_modules/core-js/internals/array-method-has-species-support.js"); 4060var un$Slice = __webpack_require__(/*! ../internals/array-slice */ "./node_modules/core-js/internals/array-slice.js"); 4061 4062var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('slice'); 4063 4064var SPECIES = wellKnownSymbol('species'); 4065var $Array = Array; 4066var max = Math.max; 4067 4068// `Array.prototype.slice` method 4069// https://tc39.es/ecma262/#sec-array.prototype.slice 4070// fallback for not array-like ES3 strings and DOM objects 4071$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, { 4072 slice: function slice(start, end) { 4073 var O = toIndexedObject(this); 4074 var length = lengthOfArrayLike(O); 4075 var k = toAbsoluteIndex(start, length); 4076 var fin = toAbsoluteIndex(end === undefined ? length : end, length); 4077 // inline `ArraySpeciesCreate` for usage native `Array#slice` where it's possible 4078 var Constructor, result, n; 4079 if (isArray(O)) { 4080 Constructor = O.constructor; 4081 // cross-realm fallback 4082 if (isConstructor(Constructor) && (Constructor === $Array || isArray(Constructor.prototype))) { 4083 Constructor = undefined; 4084 } else if (isObject(Constructor)) { 4085 Constructor = Constructor[SPECIES]; 4086 if (Constructor === null) Constructor = undefined; 4087 } 4088 if (Constructor === $Array || Constructor === undefined) { 4089 return un$Slice(O, k, fin); 4090 } 4091 } 4092 result = new (Constructor === undefined ? $Array : Constructor)(max(fin - k, 0)); 4093 for (n = 0; k < fin; k++, n++) if (k in O) createProperty(result, n, O[k]); 4094 result.length = n; 4095 return result; 4096 } 4097}); 4098 4099 4100/***/ }), 4101
vendor: 5,640 bytes, lines 4102-4202
4102/***/ "./node_modules/core-js/modules/es.number.constructor.js": 4103/*!***************************************************************!*\ 4104 !*** ./node_modules/core-js/modules/es.number.constructor.js ***! 4105 \***************************************************************/ 4106/*! unknown exports (runtime-defined) */ 4107/*! runtime requirements: __webpack_require__ */ 4108/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 4109 4110"use strict"; 4111 4112var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js"); 4113var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); 4114var uncurryThis = __webpack_require__(/*! ../internals/function-uncurry-this */ "./node_modules/core-js/internals/function-uncurry-this.js"); 4115var isForced = __webpack_require__(/*! ../internals/is-forced */ "./node_modules/core-js/internals/is-forced.js"); 4116var defineBuiltIn = __webpack_require__(/*! ../internals/define-built-in */ "./node_modules/core-js/internals/define-built-in.js"); 4117var hasOwn = __webpack_require__(/*! ../internals/has-own-property */ "./node_modules/core-js/internals/has-own-property.js"); 4118var inheritIfRequired = __webpack_require__(/*! ../internals/inherit-if-required */ "./node_modules/core-js/internals/inherit-if-required.js"); 4119var isPrototypeOf = __webpack_require__(/*! ../internals/object-is-prototype-of */ "./node_modules/core-js/internals/object-is-prototype-of.js"); 4120var isSymbol = __webpack_require__(/*! ../internals/is-symbol */ "./node_modules/core-js/internals/is-symbol.js"); 4121var toPrimitive = __webpack_require__(/*! ../internals/to-primitive */ "./node_modules/core-js/internals/to-primitive.js"); 4122var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); 4123var getOwnPropertyNames = __webpack_require__(/*! ../internals/object-get-own-property-names */ "./node_modules/core-js/internals/object-get-own-property-names.js").f; 4124var getOwnPropertyDescriptor = __webpack_require__(/*! ../internals/object-get-own-property-descriptor */ "./node_modules/core-js/internals/object-get-own-property-descriptor.js").f; 4125var defineProperty = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js").f; 4126var thisNumberValue = __webpack_require__(/*! ../internals/this-number-value */ "./node_modules/core-js/internals/this-number-value.js"); 4127var trim = __webpack_require__(/*! ../internals/string-trim */ "./node_modules/core-js/internals/string-trim.js").trim; 4128 4129var NUMBER = 'Number'; 4130var NativeNumber = global[NUMBER]; 4131var NumberPrototype = NativeNumber.prototype; 4132var TypeError = global.TypeError; 4133var arraySlice = uncurryThis(''.slice); 4134var charCodeAt = uncurryThis(''.charCodeAt); 4135 4136// `ToNumeric` abstract operation 4137// https://tc39.es/ecma262/#sec-tonumeric 4138var toNumeric = function (value) { 4139 var primValue = toPrimitive(value, 'number'); 4140 return typeof primValue == 'bigint' ? primValue : toNumber(primValue); 4141}; 4142 4143// `ToNumber` abstract operation 4144// https://tc39.es/ecma262/#sec-tonumber 4145var toNumber = function (argument) { 4146 var it = toPrimitive(argument, 'number'); 4147 var first, third, radix, maxCode, digits, length, index, code; 4148 if (isSymbol(it)) throw TypeError('Cannot convert a Symbol value to a number'); 4149 if (typeof it == 'string' && it.length > 2) { 4150 it = trim(it); 4151 first = charCodeAt(it, 0); 4152 if (first === 43 || first === 45) { 4153 third = charCodeAt(it, 2); 4154 if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix 4155 } else if (first === 48) { 4156 switch (charCodeAt(it, 1)) { 4157 case 66: case 98: radix = 2; maxCode = 49; break; // fast equal of /^0b[01]+$/i 4158 case 79: case 111: radix = 8; maxCode = 55; break; // fast equal of /^0o[0-7]+$/i 4159 default: return +it; 4160 } 4161 digits = arraySlice(it, 2); 4162 length = digits.length; 4163 for (index = 0; index < length; index++) { 4164 code = charCodeAt(digits, index); 4165 // parseInt parses a string to a first unavailable symbol 4166 // but ToNumber should return NaN if a string contains unavailable symbols 4167 if (code < 48 || code > maxCode) return NaN; 4168 } return parseInt(digits, radix); 4169 } 4170 } return +it; 4171}; 4172 4173// `Number` constructor 4174// https://tc39.es/ecma262/#sec-number-constructor 4175if (isForced(NUMBER, !NativeNumber(' 0o1') || !NativeNumber('0b1') || NativeNumber('+0x1'))) { 4176 var NumberWrapper = function Number(value) { 4177 var n = arguments.length < 1 ? 0 : NativeNumber(toNumeric(value)); 4178 var dummy = this; 4179 // check on 1..constructor(foo) case 4180 return isPrototypeOf(NumberPrototype, dummy) && fails(function () { thisNumberValue(dummy); }) 4181 ? inheritIfRequired(Object(n), dummy, NumberWrapper) : n; 4182 }; 4183 for (var keys = DESCRIPTORS ? getOwnPropertyNames(NativeNumber) : ( 4184 // ES3: 4185 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' + 4186 // ES2015 (in case, if modules with ES2015 Number statics required before): 4187 'EPSILON,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,isFinite,isInteger,isNaN,isSafeInteger,parseFloat,parseInt,' + 4188 // ESNext 4189 'fromString,range' 4190 ).split(','), j = 0, key; keys.length > j; j++) { 4191 if (hasOwn(NativeNumber, key = keys[j]) && !hasOwn(NumberWrapper, key)) { 4192 defineProperty(NumberWrapper, key, getOwnPropertyDescriptor(NativeNumber, key)); 4193 } 4194 } 4195 NumberWrapper.prototype = NumberPrototype; 4196 NumberPrototype.constructor = NumberWrapper; 4197 defineBuiltIn(global, NUMBER, NumberWrapper, { constructor: true }); 4198} 4199 4200 4201/***/ }), 4202
vendor: 1,074 bytes, lines 4203-4223
4203/***/ "./node_modules/core-js/modules/es.object.to-string.js": 4204/*!*************************************************************!*\ 4205 !*** ./node_modules/core-js/modules/es.object.to-string.js ***! 4206 \*************************************************************/ 4207/*! unknown exports (runtime-defined) */ 4208/*! runtime requirements: __webpack_require__ */ 4209/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 4210 4211var TO_STRING_TAG_SUPPORT = __webpack_require__(/*! ../internals/to-string-tag-support */ "./node_modules/core-js/internals/to-string-tag-support.js"); 4212var defineBuiltIn = __webpack_require__(/*! ../internals/define-built-in */ "./node_modules/core-js/internals/define-built-in.js"); 4213var toString = __webpack_require__(/*! ../internals/object-to-string */ "./node_modules/core-js/internals/object-to-string.js"); 4214 4215// `Object.prototype.toString` method 4216// https://tc39.es/ecma262/#sec-object.prototype.tostring 4217if (!TO_STRING_TAG_SUPPORT) { 4218 defineBuiltIn(Object.prototype, 'toString', toString, { unsafe: true }); 4219} 4220 4221 4222/***/ }), 4223
vendor: 816 bytes, lines 4224-4243
4224/***/ "./node_modules/core-js/modules/es.parse-int.js": 4225/*!******************************************************!*\ 4226 !*** ./node_modules/core-js/modules/es.parse-int.js ***! 4227 \******************************************************/ 4228/*! unknown exports (runtime-defined) */ 4229/*! runtime requirements: __webpack_require__ */ 4230/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 4231 4232var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 4233var $parseInt = __webpack_require__(/*! ../internals/number-parse-int */ "./node_modules/core-js/internals/number-parse-int.js"); 4234 4235// `parseInt` method 4236// https://tc39.es/ecma262/#sec-parseint-string-radix 4237$({ global: true, forced: parseInt != $parseInt }, { 4238 parseInt: $parseInt 4239}); 4240 4241 4242/***/ }), 4243
vendor: 841 bytes, lines 4244-4265
4244/***/ "./node_modules/core-js/modules/es.regexp.exec.js": 4245/*!********************************************************!*\ 4246 !*** ./node_modules/core-js/modules/es.regexp.exec.js ***! 4247 \********************************************************/ 4248/*! unknown exports (runtime-defined) */ 4249/*! runtime requirements: __webpack_require__ */ 4250/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 4251 4252"use strict"; 4253 4254var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 4255var exec = __webpack_require__(/*! ../internals/regexp-exec */ "./node_modules/core-js/internals/regexp-exec.js"); 4256 4257// `RegExp.prototype.exec` method 4258// https://tc39.es/ecma262/#sec-regexp.prototype.exec 4259$({ target: 'RegExp', proto: true, forced: /./.exec !== exec }, { 4260 exec: exec 4261}); 4262 4263 4264/***/ }), 4265
vendor: 1,742 bytes, lines 4266-4299
4266/***/ "./node_modules/core-js/modules/es.string.includes.js": 4267/*!************************************************************!*\ 4268 !*** ./node_modules/core-js/modules/es.string.includes.js ***! 4269 \************************************************************/ 4270/*! unknown exports (runtime-defined) */ 4271/*! runtime requirements: __webpack_require__ */ 4272/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 4273 4274"use strict"; 4275 4276var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js"); 4277var uncurryThis = __webpack_require__(/*! ../internals/function-uncurry-this */ "./node_modules/core-js/internals/function-uncurry-this.js"); 4278var notARegExp = __webpack_require__(/*! ../internals/not-a-regexp */ "./node_modules/core-js/internals/not-a-regexp.js"); 4279var requireObjectCoercible = __webpack_require__(/*! ../internals/require-object-coercible */ "./node_modules/core-js/internals/require-object-coercible.js"); 4280var toString = __webpack_require__(/*! ../internals/to-string */ "./node_modules/core-js/internals/to-string.js"); 4281var correctIsRegExpLogic = __webpack_require__(/*! ../internals/correct-is-regexp-logic */ "./node_modules/core-js/internals/correct-is-regexp-logic.js"); 4282 4283var stringIndexOf = uncurryThis(''.indexOf); 4284 4285// `String.prototype.includes` method 4286// https://tc39.es/ecma262/#sec-string.prototype.includes 4287$({ target: 'String', proto: true, forced: !correctIsRegExpLogic('includes') }, { 4288 includes: function includes(searchString /* , position = 0 */) { 4289 return !!~stringIndexOf( 4290 toString(requireObjectCoercible(this)), 4291 toString(notARegExp(searchString)), 4292 arguments.length > 1 ? arguments[1] : undefined 4293 ); 4294 } 4295}); 4296 4297 4298/***/ }), 4299
vendor: 2,875 bytes, lines 4300-4359
4300/***/ "./node_modules/core-js/modules/es.string.match.js": 4301/*!*********************************************************!*\ 4302 !*** ./node_modules/core-js/modules/es.string.match.js ***! 4303 \*********************************************************/ 4304/*! unknown exports (runtime-defined) */ 4305/*! runtime requirements: __webpack_require__ */ 4306/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 4307 4308"use strict"; 4309 4310var call = __webpack_require__(/*! ../internals/function-call */ "./node_modules/core-js/internals/function-call.js"); 4311var fixRegExpWellKnownSymbolLogic = __webpack_require__(/*! ../internals/fix-regexp-well-known-symbol-logic */ "./node_modules/core-js/internals/fix-regexp-well-known-symbol-logic.js"); 4312var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js"); 4313var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/core-js/internals/to-length.js"); 4314var toString = __webpack_require__(/*! ../internals/to-string */ "./node_modules/core-js/internals/to-string.js"); 4315var requireObjectCoercible = __webpack_require__(/*! ../internals/require-object-coercible */ "./node_modules/core-js/internals/require-object-coercible.js"); 4316var getMethod = __webpack_require__(/*! ../internals/get-method */ "./node_modules/core-js/internals/get-method.js"); 4317var advanceStringIndex = __webpack_require__(/*! ../internals/advance-string-index */ "./node_modules/core-js/internals/advance-string-index.js"); 4318var regExpExec = __webpack_require__(/*! ../internals/regexp-exec-abstract */ "./node_modules/core-js/internals/regexp-exec-abstract.js"); 4319 4320// @@match logic 4321fixRegExpWellKnownSymbolLogic('match', function (MATCH, nativeMatch, maybeCallNative) { 4322 return [ 4323 // `String.prototype.match` method 4324 // https://tc39.es/ecma262/#sec-string.prototype.match 4325 function match(regexp) { 4326 var O = requireObjectCoercible(this); 4327 var matcher = regexp == undefined ? undefined : getMethod(regexp, MATCH); 4328 return matcher ? call(matcher, regexp, O) : new RegExp(regexp)[MATCH](toString(O)); 4329 }, 4330 // `RegExp.prototype[@@match]` method 4331 // https://tc39.es/ecma262/#sec-regexp.prototype-@@match 4332 function (string) { 4333 var rx = anObject(this); 4334 var S = toString(string); 4335 var res = maybeCallNative(nativeMatch, rx, S); 4336 4337 if (res.done) return res.value; 4338 4339 if (!rx.global) return regExpExec(rx, S); 4340 4341 var fullUnicode = rx.unicode; 4342 rx.lastIndex = 0; 4343 var A = []; 4344 var n = 0; 4345 var result; 4346 while ((result = regExpExec(rx, S)) !== null) { 4347 var matchStr = toString(result[0]); 4348 A[n] = matchStr; 4349 if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode); 4350 n++; 4351 } 4352 return n === 0 ? null : A; 4353 } 4354 ]; 4355}); 4356 4357 4358/***/ }), 4359
vendor: 54,306 bytes, lines 4360-4536
4360/***/ "./node_modules/core-js/modules/es.string.replace.js": 4361/*!***********************************************************!*\ 4362 !*** ./node_modules/core-js/modules/es.string.replace.js ***! 4363 \***********************************************************/ 4364/*! unknown exports (runtime-defined) */ 4365/*! runtime requirements: __webpack_require__ */ 4366/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 4367 4368"use strict"; 4369 4370var apply = __webpack_require__(/*! ../internals/function-apply */ "./node_modules/core-js/internals/function-apply.js"); 4371var call = __webpack_require__(/*! ../internals/function-call */ "./node_modules/core-js/internals/function-call.js"); 4372var uncurryThis = __webpack_require__(/*! ../internals/function-uncurry-this */ "./node_modules/core-js/internals/function-uncurry-this.js"); 4373var fixRegExpWellKnownSymbolLogic = __webpack_require__(/*! ../internals/fix-regexp-well-known-symbol-logic */ "./node_modules/core-js/internals/fix-regexp-well-known-symbol-logic.js"); 4374var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); 4375var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js"); 4376var isCallable = __webpack_require__(/*! ../internals/is-callable */ "./node_modules/core-js/internals/is-callable.js"); 4377var toIntegerOrInfinity = __webpack_require__(/*! ../internals/to-integer-or-infinity */ "./node_modules/core-js/internals/to-integer-or-infinity.js"); 4378var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/core-js/internals/to-length.js"); 4379var toString = __webpack_require__(/*! ../internals/to-string */ "./node_modules/core-js/internals/to-string.js"); 4380var requireObjectCoercible = __webpack_require__(/*! ../internals/require-object-coercible */ "./node_modules/core-js/internals/require-object-coercible.js"); 4381var advanceStringIndex = __webpack_require__(/*! ../internals/advance-string-index */ "./node_modules/core-js/internals/advance-string-index.js"); 4382var getMethod = __webpack_require__(/*! ../internals/get-method */ "./node_modules/core-js/internals/get-method.js"); 4383var getSubstitution = __webpack_require__(/*! ../internals/get-substitution */ "./node_modules/core-js/internals/get-substitution.js"); 4384var regExpExec = __webpack_require__(/*! ../internals/regexp-exec-abstract */ "./node_modules/core-js/internals/regexp-exec-abstract.js"); 4385var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js"); 4386 4387var REPLACE = wellKnownSymbol('replace'); 4388var max = Math.max; 4389var min = Math.min; 4390var concat = uncurryThis([].concat); 4391var push = uncurryThis([].push); 4392var stringIndexOf = uncurryThis(''.indexOf); 4393var stringSlice = uncurryThis(''.slice); 4394 4395var maybeToString = function (it) { 4396 return it === undefined ? it : String(it); 4397}; 4398 4399// IE <= 11 replaces $0 with the whole match, as if it was $& 4400// https://stackoverflow.com/questions/6024666/getting-ie-to-replace-a-regex-with-the-literal-string-0 4401var REPLACE_KEEPS_$0 = (function () { 4402 // eslint-disable-next-line regexp/prefer-escape-replacement-dollar-char -- required for testing 4403 return 'a'.replace(/./, '$0') === '$0'; 4404})(); 4405 4406// Safari <= 13.0.3(?) substitutes nth capture where n>m with an empty string 4407var REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = (function () { 4408 if (/./[REPLACE]) { 4409 return /./[REPLACE]('a', '$0') === ''; 4410 } 4411 return false; 4412})(); 4413 4414var REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () { 4415 var re = /./; 4416 re.exec = function () { 4417 var result = []; 4418 result.groups = { a: '7' }; 4419 return result; 4420 }; 4421 // eslint-disable-next-line regexp/no-useless-dollar-replacements -- false positive 4422 return ''.replace(re, '$<a>') !== '7'; 4423}); 4424 4425// @@replace logic 4426fixRegExpWellKnownSymbolLogic('replace', function (_, nativeReplace, maybeCallNative) { 4427 var UNSAFE_SUBSTITUTE = REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE ? '$' : '$0'; 4428 4429 return [ 4430 // `String.prototype.replace` method 4431 // https://tc39.es/ecma262/#sec-string.prototype.replace 4432 function replace(searchValue, replaceValue) { 4433 var O = requireObjectCoercible(this); 4434 var replacer = searchValue == undefined ? undefined : getMethod(searchValue, REPLACE); 4435 return replacer 4436 ? call(replacer, searchValue, O, replaceValue) 4437 : call(nativeReplace, toString(O), searchValue, replaceValue); 4438 }, 4439 // `RegExp.prototype[@@replace]` method 4440 // https://tc39.es/ecma262/#sec-regexp.prototype-@@replace 4441 function (string, replaceValue) { 4442 var rx = anObject(this); 4443 var S = toString(string); 4444 4445 if ( 4446 typeof replaceValue == 'string' && 4447 stringIndexOf(replaceValue, UNSAFE_SUBSTITUTE) === -1 && 4448 stringIndexOf(replaceValue, '$<') === -1 4449 ) { 4450 var res = maybeCallNative(nativeReplace, rx, S, replaceValue); 4451 if (res.done) return res.value; 4452 } 4453 4454 var functionalReplace = isCallable(replaceValue); 4455 if (!functionalReplace) replaceValue = toString(replaceValue); 4456 4457 var global = rx.global; 4458 if (global) { 4459 var fullUnicode = rx.unicode; 4460 rx.lastIndex = 0; 4461 } 4462 var results = []; 4463 while (true) { 4464 var result = regExpExec(rx, S); 4465 if (result === null) break; 4466 4467 push(results, result); 4468 if (!global) break; 4469 4470 var matchStr = toString(result[0]); 4471 if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode); 4472 } 4473 4474 var accumulatedResult = ''; 4475 var nextSourcePosition = 0; 4476 for (var i = 0; i < results.length; i++) { 4477 result = results[i]; 4478 4479 var matched = toString(result[0]); 4480 var position = max(min(toIntegerOrInfinity(result.index), S.length), 0); 4481 var captures = []; 4482 // NOTE: This is equivalent to 4483 // captures = result.slice(1).map(maybeToString) 4484 // but for some reason `nativeSlice.call(result, 1, result.length)` (called in 4485 // the slice polyfill when slicing native arrays) "doesn't work" in safari 9 and 4486 // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it. 4487 for (var j = 1; j < result.length; j++) push(captures, maybeToString(result[j])); 4488 var namedCaptures = result.groups; 4489 if (functionalReplace) { 4490 var replacerArgs = concat([matched], captures, position, S); 4491 if (namedCaptures !== undefined) push(replacerArgs, namedCaptures); 4492 var replacement = toString(apply(replaceValue, undefined, replacerArgs)); 4493 } else { 4494 replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue); 4495 } 4496 if (position >= nextSourcePosition) { 4497 accumulatedResult += stringSlice(S, nextSourcePosition, position) + replacement; 4498 nextSourcePosition = position + matched.length; 4499 } 4500 } 4501 return accumulatedResult + stringSlice(S, nextSourcePosition); 4502 } 4503 ]; 4504}, !REPLACE_SUPPORTS_NAMED_GROUPS || !REPLACE_KEEPS_$0 || REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE); 4505 4506 4507/***/ }), 4508 4509/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/swiper/swiper-bundle.css": 4510/*!*************************************************************************************!*\ 4511 !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/swiper/swiper-bundle.css ***! 4512 \*************************************************************************************/ 4513/*! namespace exports */ 4514/*! export default [provided] [no usage info] [missing usage info prevents renaming] */ 4515/*! other exports [not provided] [no usage info] */ 4516/*! runtime requirements: __webpack_require__, __webpack_require__.n, __webpack_exports__, __webpack_require__.r, module.id, __webpack_require__.*, module */ 4517/***/ (function(module, __webpack_exports__, __webpack_require__) { 4518 4519"use strict"; 4520__webpack_require__.r(__webpack_exports__); 4521/* harmony import */ var _css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../css-loader/dist/runtime/sourceMaps.js */ "./node_modules/css-loader/dist/runtime/sourceMaps.js"); 4522/* harmony import */ var _css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0__); 4523/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../css-loader/dist/runtime/api.js */ "./node_modules/css-loader/dist/runtime/api.js"); 4524/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__); 4525// Imports 4526; 4527 4528var ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default())); 4529// Module 4530___CSS_LOADER_EXPORT___.push([module.id, "/**\n * Swiper 8.4.7\n * Most modern mobile touch slider and framework with hardware accelerated transitions\n * https://swiperjs.com\n *\n * Copyright 2014-2023 Vladimir Kharlampidi\n *\n * Released under the MIT License\n *\n * Released on: January 30, 2023\n */\n\n@font-face {\n font-family: 'swiper-icons';\n src: url('data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA');\n font-weight: 400;\n font-style: normal;\n}\n:root {\n --swiper-theme-color: #007aff;\n}\n.swiper {\n margin-left: auto;\n margin-right: auto;\n position: relative;\n overflow: hidden;\n list-style: none;\n padding: 0;\n /* Fix of Webkit flickering */\n z-index: 1;\n}\n.swiper-vertical > .swiper-wrapper {\n flex-direction: column;\n}\n.swiper-wrapper {\n position: relative;\n width: 100%;\n height: 100%;\n z-index: 1;\n display: flex;\n transition-property: transform;\n box-sizing: content-box;\n}\n.swiper-android .swiper-slide,\n.swiper-wrapper {\n transform: translate3d(0px, 0, 0);\n}\n.swiper-pointer-events {\n touch-action: pan-y;\n}\n.swiper-pointer-events.swiper-vertical {\n touch-action: pan-x;\n}\n.swiper-slide {\n flex-shrink: 0;\n width: 100%;\n height: 100%;\n position: relative;\n transition-property: transform;\n}\n.swiper-slide-invisible-blank {\n visibility: hidden;\n}\n/* Auto Height */\n.swiper-autoheight,\n.swiper-autoheight .swiper-slide {\n height: auto;\n}\n.swiper-autoheight .swiper-wrapper {\n align-items: flex-start;\n transition-property: transform, height;\n}\n.swiper-backface-hidden .swiper-slide {\n transform: translateZ(0);\n -webkit-backface-visibility: hidden;\n backface-visibility: hidden;\n}\n/* 3D Effects */\n.swiper-3d,\n.swiper-3d.swiper-css-mode .swiper-wrapper {\n perspective: 1200px;\n}\n.swiper-3d .swiper-wrapper,\n.swiper-3d .swiper-slide,\n.swiper-3d .swiper-slide-shadow,\n.swiper-3d .swiper-slide-shadow-left,\n.swiper-3d .swiper-slide-shadow-right,\n.swiper-3d .swiper-slide-shadow-top,\n.swiper-3d .swiper-slide-shadow-bottom,\n.swiper-3d .swiper-cube-shadow {\n transform-style: preserve-3d;\n}\n.swiper-3d .swiper-slide-shadow,\n.swiper-3d .swiper-slide-shadow-left,\n.swiper-3d .swiper-slide-shadow-right,\n.swiper-3d .swiper-slide-shadow-top,\n.swiper-3d .swiper-slide-shadow-bottom {\n position: absolute;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n pointer-events: none;\n z-index: 10;\n}\n.swiper-3d .swiper-slide-shadow {\n background: rgba(0, 0, 0, 0.15);\n}\n.swiper-3d .swiper-slide-shadow-left {\n background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));\n}\n.swiper-3d .swiper-slide-shadow-right {\n background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));\n}\n.swiper-3d .swiper-slide-shadow-top {\n background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));\n}\n.swiper-3d .swiper-slide-shadow-bottom {\n background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));\n}\n/* CSS Mode */\n.swiper-css-mode > .swiper-wrapper {\n overflow: auto;\n scrollbar-width: none;\n /* For Firefox */\n -ms-overflow-style: none;\n /* For Internet Explorer and Edge */\n}\n.swiper-css-mode > .swiper-wrapper::-webkit-scrollbar {\n display: none;\n}\n.swiper-css-mode > .swiper-wrapper > .swiper-slide {\n scroll-snap-align: start start;\n}\n.swiper-horizontal.swiper-css-mode > .swiper-wrapper {\n scroll-snap-type: x mandatory;\n}\n.swiper-vertical.swiper-css-mode > .swiper-wrapper {\n scroll-snap-type: y mandatory;\n}\n.swiper-centered > .swiper-wrapper::before {\n content: '';\n flex-shrink: 0;\n order: 9999;\n}\n.swiper-centered.swiper-horizontal > .swiper-wrapper > .swiper-slide:first-child {\n margin-inline-start: var(--swiper-centered-offset-before);\n}\n.swiper-centered.swiper-horizontal > .swiper-wrapper::before {\n height: 100%;\n min-height: 1px;\n width: var(--swiper-centered-offset-after);\n}\n.swiper-centered.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child {\n margin-block-start: var(--swiper-centered-offset-before);\n}\n.swiper-centered.swiper-vertical > .swiper-wrapper::before {\n width: 100%;\n min-width: 1px;\n height: var(--swiper-centered-offset-after);\n}\n.swiper-centered > .swiper-wrapper > .swiper-slide {\n scroll-snap-align: center center;\n scroll-snap-stop: always;\n}\n.swiper-virtual .swiper-slide {\n -webkit-backface-visibility: hidden;\n transform: translateZ(0);\n}\n.swiper-virtual.swiper-css-mode .swiper-wrapper::after {\n content: '';\n position: absolute;\n left: 0;\n top: 0;\n pointer-events: none;\n}\n.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper::after {\n height: 1px;\n width: var(--swiper-virtual-size);\n}\n.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper::after {\n width: 1px;\n height: var(--swiper-virtual-size);\n}\n:root {\n --swiper-navigation-size: 44px;\n /*\n --swiper-navigation-color: var(--swiper-theme-color);\n */\n}\n.swiper-button-prev,\n.swiper-button-next {\n position: absolute;\n top: 50%;\n width: calc(var(--swiper-navigation-size) / 44 * 27);\n height: var(--swiper-navigation-size);\n margin-top: calc(0px - (var(--swiper-navigation-size) / 2));\n z-index: 10;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n color: var(--swiper-navigation-color, var(--swiper-theme-color));\n}\n.swiper-button-prev.swiper-button-disabled,\n.swiper-button-next.swiper-button-disabled {\n opacity: 0.35;\n cursor: auto;\n pointer-events: none;\n}\n.swiper-button-prev.swiper-button-hidden,\n.swiper-button-next.swiper-button-hidden {\n opacity: 0;\n cursor: auto;\n pointer-events: none;\n}\n.swiper-navigation-disabled .swiper-button-prev,\n.swiper-navigation-disabled .swiper-button-next {\n display: none !important;\n}\n.swiper-button-prev:after,\n.swiper-button-next:after {\n font-family: swiper-icons;\n font-size: var(--swiper-navigation-size);\n text-transform: none !important;\n letter-spacing: 0;\n font-variant: initial;\n line-height: 1;\n}\n.swiper-button-prev,\n.swiper-rtl .swiper-button-next {\n left: 10px;\n right: auto;\n}\n.swiper-button-prev:after,\n.swiper-rtl .swiper-button-next:after {\n content: 'prev';\n}\n.swiper-button-next,\n.swiper-rtl .swiper-button-prev {\n right: 10px;\n left: auto;\n}\n.swiper-button-next:after,\n.swiper-rtl .swiper-button-prev:after {\n content: 'next';\n}\n.swiper-button-lock {\n display: none;\n}\n:root {\n /*\n --swiper-pagination-color: var(--swiper-theme-color);\n --swiper-pagination-bullet-size: 8px;\n --swiper-pagination-bullet-width: 8px;\n --swiper-pagination-bullet-height: 8px;\n --swiper-pagination-bullet-inactive-color: #000;\n --swiper-pagination-bullet-inactive-opacity: 0.2;\n --swiper-pagination-bullet-opacity: 1;\n --swiper-pagination-bullet-horizontal-gap: 4px;\n --swiper-pagination-bullet-vertical-gap: 6px;\n */\n}\n.swiper-pagination {\n position: absolute;\n text-align: center;\n transition: 300ms opacity;\n transform: translate3d(0, 0, 0);\n z-index: 10;\n}\n.swiper-pagination.swiper-pagination-hidden {\n opacity: 0;\n}\n.swiper-pagination-disabled > .swiper-pagination,\n.swiper-pagination.swiper-pagination-disabled {\n display: none !important;\n}\n/* Common Styles */\n.swiper-pagination-fraction,\n.swiper-pagination-custom,\n.swiper-horizontal > .swiper-pagination-bullets,\n.swiper-pagination-bullets.swiper-pagination-horizontal {\n bottom: 10px;\n left: 0;\n width: 100%;\n}\n/* Bullets */\n.swiper-pagination-bullets-dynamic {\n overflow: hidden;\n font-size: 0;\n}\n.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {\n transform: scale(0.33);\n position: relative;\n}\n.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active {\n transform: scale(1);\n}\n.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {\n transform: scale(1);\n}\n.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {\n transform: scale(0.66);\n}\n.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {\n transform: scale(0.33);\n}\n.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {\n transform: scale(0.66);\n}\n.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {\n transform: scale(0.33);\n}\n.swiper-pagination-bullet {\n width: var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));\n height: var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));\n display: inline-block;\n border-radius: 50%;\n background: var(--swiper-pagination-bullet-inactive-color, #000);\n opacity: var(--swiper-pagination-bullet-inactive-opacity, 0.2);\n}\nbutton.swiper-pagination-bullet {\n border: none;\n margin: 0;\n padding: 0;\n box-shadow: none;\n -webkit-appearance: none;\n appearance: none;\n}\n.swiper-pagination-clickable .swiper-pagination-bullet {\n cursor: pointer;\n}\n.swiper-pagination-bullet:only-child {\n display: none !important;\n}\n.swiper-pagination-bullet-active {\n opacity: var(--swiper-pagination-bullet-opacity, 1);\n background: var(--swiper-pagination-color, var(--swiper-theme-color));\n}\n.swiper-vertical > .swiper-pagination-bullets,\n.swiper-pagination-vertical.swiper-pagination-bullets {\n right: 10px;\n top: 50%;\n transform: translate3d(0px, -50%, 0);\n}\n.swiper-vertical > .swiper-pagination-bullets .swiper-pagination-bullet,\n.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet {\n margin: var(--swiper-pagination-bullet-vertical-gap, 6px) 0;\n display: block;\n}\n.swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic,\n.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {\n top: 50%;\n transform: translateY(-50%);\n width: 8px;\n}\n.swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,\n.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {\n display: inline-block;\n transition: 200ms transform, 200ms top;\n}\n.swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet,\n.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {\n margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 4px);\n}\n.swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic,\n.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {\n left: 50%;\n transform: translateX(-50%);\n white-space: nowrap;\n}\n.swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,\n.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {\n transition: 200ms transform, 200ms left;\n}\n.swiper-horizontal.swiper-rtl > .swiper-pagination-bullets-dynamic .swiper-pagination-bullet {\n transition: 200ms transform, 200ms right;\n}\n/* Progress */\n.swiper-pagination-progressbar {\n background: rgba(0, 0, 0, 0.25);\n position: absolute;\n}\n.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {\n background: var(--swiper-pagination-color, var(--swiper-theme-color));\n position: absolute;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n transform: scale(0);\n transform-origin: left top;\n}\n.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {\n transform-origin: right top;\n}\n.swiper-horizontal > .swiper-pagination-progressbar,\n.swiper-pagination-progressbar.swiper-pagination-horizontal,\n.swiper-vertical > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,\n.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite {\n width: 100%;\n height: 4px;\n left: 0;\n top: 0;\n}\n.swiper-vertical > .swiper-pagination-progressbar,\n.swiper-pagination-progressbar.swiper-pagination-vertical,\n.swiper-horizontal > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,\n.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite {\n width: 4px;\n height: 100%;\n left: 0;\n top: 0;\n}\n.swiper-pagination-lock {\n display: none;\n}\n/* Scrollbar */\n.swiper-scrollbar {\n border-radius: 10px;\n position: relative;\n -ms-touch-action: none;\n background: rgba(0, 0, 0, 0.1);\n}\n.swiper-scrollbar-disabled > .swiper-scrollbar,\n.swiper-scrollbar.swiper-scrollbar-disabled {\n display: none !important;\n}\n.swiper-horizontal > .swiper-scrollbar,\n.swiper-scrollbar.swiper-scrollbar-horizontal {\n position: absolute;\n left: 1%;\n bottom: 3px;\n z-index: 50;\n height: 5px;\n width: 98%;\n}\n.swiper-vertical > .swiper-scrollbar,\n.swiper-scrollbar.swiper-scrollbar-vertical {\n position: absolute;\n right: 3px;\n top: 1%;\n z-index: 50;\n width: 5px;\n height: 98%;\n}\n.swiper-scrollbar-drag {\n height: 100%;\n width: 100%;\n position: relative;\n background: rgba(0, 0, 0, 0.5);\n border-radius: 10px;\n left: 0;\n top: 0;\n}\n.swiper-scrollbar-cursor-drag {\n cursor: move;\n}\n.swiper-scrollbar-lock {\n display: none;\n}\n.swiper-zoom-container {\n width: 100%;\n height: 100%;\n display: flex;\n justify-content: center;\n align-items: center;\n text-align: center;\n}\n.swiper-zoom-container > img,\n.swiper-zoom-container > svg,\n.swiper-zoom-container > canvas {\n max-width: 100%;\n max-height: 100%;\n object-fit: contain;\n}\n.swiper-slide-zoomed {\n cursor: move;\n}\n/* Preloader */\n:root {\n /*\n --swiper-preloader-color: var(--swiper-theme-color);\n */\n}\n.swiper-lazy-preloader {\n width: 42px;\n height: 42px;\n position: absolute;\n left: 50%;\n top: 50%;\n margin-left: -21px;\n margin-top: -21px;\n z-index: 10;\n transform-origin: 50%;\n box-sizing: border-box;\n border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));\n border-radius: 50%;\n border-top-color: transparent;\n}\n.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader,\n.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader {\n animation: swiper-preloader-spin 1s infinite linear;\n}\n.swiper-lazy-preloader-white {\n --swiper-preloader-color: #fff;\n}\n.swiper-lazy-preloader-black {\n --swiper-preloader-color: #000;\n}\n@keyframes swiper-preloader-spin {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n}\n/* a11y */\n.swiper .swiper-notification {\n position: absolute;\n left: 0;\n top: 0;\n pointer-events: none;\n opacity: 0;\n z-index: -1000;\n}\n.swiper-free-mode > .swiper-wrapper {\n transition-timing-function: ease-out;\n margin: 0 auto;\n}\n.swiper-grid > .swiper-wrapper {\n flex-wrap: wrap;\n}\n.swiper-grid-column > .swiper-wrapper {\n flex-wrap: wrap;\n flex-direction: column;\n}\n.swiper-fade.swiper-free-mode .swiper-slide {\n transition-timing-function: ease-out;\n}\n.swiper-fade .swiper-slide {\n pointer-events: none;\n transition-property: opacity;\n}\n.swiper-fade .swiper-slide .swiper-slide {\n pointer-events: none;\n}\n.swiper-fade .swiper-slide-active,\n.swiper-fade .swiper-slide-active .swiper-slide-active {\n pointer-events: auto;\n}\n.swiper-cube {\n overflow: visible;\n}\n.swiper-cube .swiper-slide {\n pointer-events: none;\n -webkit-backface-visibility: hidden;\n backface-visibility: hidden;\n z-index: 1;\n visibility: hidden;\n transform-origin: 0 0;\n width: 100%;\n height: 100%;\n}\n.swiper-cube .swiper-slide .swiper-slide {\n pointer-events: none;\n}\n.swiper-cube.swiper-rtl .swiper-slide {\n transform-origin: 100% 0;\n}\n.swiper-cube .swiper-slide-active,\n.swiper-cube .swiper-slide-active .swiper-slide-active {\n pointer-events: auto;\n}\n.swiper-cube .swiper-slide-active,\n.swiper-cube .swiper-slide-next,\n.swiper-cube .swiper-slide-prev,\n.swiper-cube .swiper-slide-next + .swiper-slide {\n pointer-events: auto;\n visibility: visible;\n}\n.swiper-cube .swiper-slide-shadow-top,\n.swiper-cube .swiper-slide-shadow-bottom,\n.swiper-cube .swiper-slide-shadow-left,\n.swiper-cube .swiper-slide-shadow-right {\n z-index: 0;\n -webkit-backface-visibility: hidden;\n backface-visibility: hidden;\n}\n.swiper-cube .swiper-cube-shadow {\n position: absolute;\n left: 0;\n bottom: 0px;\n width: 100%;\n height: 100%;\n opacity: 0.6;\n z-index: 0;\n}\n.swiper-cube .swiper-cube-shadow:before {\n content: '';\n background: #000;\n position: absolute;\n left: 0;\n top: 0;\n bottom: 0;\n right: 0;\n filter: blur(50px);\n}\n.swiper-flip {\n overflow: visible;\n}\n.swiper-flip .swiper-slide {\n pointer-events: none;\n -webkit-backface-visibility: hidden;\n backface-visibility: hidden;\n z-index: 1;\n}\n.swiper-flip .swiper-slide .swiper-slide {\n pointer-events: none;\n}\n.swiper-flip .swiper-slide-active,\n.swiper-flip .swiper-slide-active .swiper-slide-active {\n pointer-events: auto;\n}\n.swiper-flip .swiper-slide-shadow-top,\n.swiper-flip .swiper-slide-shadow-bottom,\n.swiper-flip .swiper-slide-shadow-left,\n.swiper-flip .swiper-slide-shadow-right {\n z-index: 0;\n -webkit-backface-visibility: hidden;\n backface-visibility: hidden;\n}\n.swiper-creative .swiper-slide {\n -webkit-backface-visibility: hidden;\n backface-visibility: hidden;\n overflow: hidden;\n transition-property: transform, opacity, height;\n}\n.swiper-cards {\n overflow: visible;\n}\n.swiper-cards .swiper-slide {\n transform-origin: center bottom;\n -webkit-backface-visibility: hidden;\n backface-visibility: hidden;\n overflow: hidden;\n}\n", "",{"version":3,"sources":["webpack://./node_modules/swiper/swiper-bundle.css"],"names":[],"mappings":"AAAA;;;;;;;;;;EAUE;;AAEF;EACE,2BAA2B;EAC3B,6rEAA6rE;EAC7rE,gBAAgB;EAChB,kBAAkB;AACpB;AACA;EACE,6BAA6B;AAC/B;AACA;EACE,iBAAiB;EACjB,kBAAkB;EAClB,kBAAkB;EAClB,gBAAgB;EAChB,gBAAgB;EAChB,UAAU;EACV,6BAA6B;EAC7B,UAAU;AACZ;AACA;EACE,sBAAsB;AACxB;AACA;EACE,kBAAkB;EAClB,WAAW;EACX,YAAY;EACZ,UAAU;EACV,aAAa;EACb,8BAA8B;EAC9B,uBAAuB;AACzB;AACA;;EAEE,iCAAiC;AACnC;AACA;EACE,mBAAmB;AACrB;AACA;EACE,mBAAmB;AACrB;AACA;EACE,cAAc;EACd,WAAW;EACX,YAAY;EACZ,kBAAkB;EAClB,8BAA8B;AAChC;AACA;EACE,kBAAkB;AACpB;AACA,gBAAgB;AAChB;;EAEE,YAAY;AACd;AACA;EACE,uBAAuB;EACvB,sCAAsC;AACxC;AACA;EACE,wBAAwB;EACxB,mCAAmC;UAC3B,2BAA2B;AACrC;AACA,eAAe;AACf;;EAEE,mBAAmB;AACrB;AACA;;;;;;;;EAQE,4BAA4B;AAC9B;AACA;;;;;EAKE,kBAAkB;EAClB,OAAO;EACP,MAAM;EACN,WAAW;EACX,YAAY;EACZ,oBAAoB;EACpB,WAAW;AACb;AACA;EACE,+BAA+B;AACjC;AACA;EACE,gFAAgF;AAClF;AACA;EACE,iFAAiF;AACnF;AACA;EACE,+EAA+E;AACjF;AACA;EACE,kFAAkF;AACpF;AACA,aAAa;AACb;EACE,cAAc;EACd,qBAAqB;EACrB,gBAAgB;EAChB,wBAAwB;EACxB,mCAAmC;AACrC;AACA;EACE,aAAa;AACf;AACA;EACE,8BAA8B;AAChC;AACA;EACE,6BAA6B;AAC/B;AACA;EACE,6BAA6B;AAC/B;AACA;EACE,WAAW;EACX,cAAc;EACd,WAAW;AACb;AACA;EACE,yDAAyD;AAC3D;AACA;EACE,YAAY;EACZ,eAAe;EACf,0CAA0C;AAC5C;AACA;EACE,wDAAwD;AAC1D;AACA;EACE,WAAW;EACX,cAAc;EACd,2CAA2C;AAC7C;AACA;EACE,gCAAgC;EAChC,wBAAwB;AAC1B;AACA;EACE,mCAAmC;EACnC,wBAAwB;AAC1B;AACA;EACE,WAAW;EACX,kBAAkB;EAClB,OAAO;EACP,MAAM;EACN,oBAAoB;AACtB;AACA;EACE,WAAW;EACX,iCAAiC;AACnC;AACA;EACE,UAAU;EACV,kCAAkC;AACpC;AACA;EACE,8BAA8B;EAC9B;;GAEC;AACH;AACA;;EAEE,kBAAkB;EAClB,QAAQ;EACR,oDAAoD;EACpD,qCAAqC;EACrC,2DAA2D;EAC3D,WAAW;EACX,eAAe;EACf,aAAa;EACb,mBAAmB;EACnB,uBAAuB;EACvB,gEAAgE;AAClE;AACA;;EAEE,aAAa;EACb,YAAY;EACZ,oBAAoB;AACtB;AACA;;EAEE,UAAU;EACV,YAAY;EACZ,oBAAoB;AACtB;AACA;;EAEE,wBAAwB;AAC1B;AACA;;EAEE,yBAAyB;EACzB,wCAAwC;EACxC,+BAA+B;EAC/B,iBAAiB;EACjB,qBAAqB;EACrB,cAAc;AAChB;AACA;;EAEE,UAAU;EACV,WAAW;AACb;AACA;;EAEE,eAAe;AACjB;AACA;;EAEE,WAAW;EACX,UAAU;AACZ;AACA;;EAEE,eAAe;AACjB;AACA;EACE,aAAa;AACf;AACA;EACE;;;;;;;;;;GAUC;AACH;AACA;EACE,kBAAkB;EAClB,kBAAkB;EAClB,yBAAyB;EACzB,+BAA+B;EAC/B,WAAW;AACb;AACA;EACE,UAAU;AACZ;AACA;;EAEE,wBAAwB;AAC1B;AACA,kBAAkB;AAClB;;;;EAIE,YAAY;EACZ,OAAO;EACP,WAAW;AACb;AACA,YAAY;AACZ;EACE,gBAAgB;EAChB,YAAY;AACd;AACA;EACE,sBAAsB;EACtB,kBAAkB;AACpB;AACA;EACE,mBAAmB;AACrB;AACA;EACE,mBAAmB;AACrB;AACA;EACE,sBAAsB;AACxB;AACA;EACE,sBAAsB;AACxB;AACA;EACE,sBAAsB;AACxB;AACA;EACE,sBAAsB;AACxB;AACA;EACE,uFAAuF;EACvF,yFAAyF;EACzF,qBAAqB;EACrB,kBAAkB;EAClB,gEAAgE;EAChE,8DAA8D;AAChE;AACA;EACE,YAAY;EACZ,SAAS;EACT,UAAU;EACV,gBAAgB;EAChB,wBAAwB;UAChB,gBAAgB;AAC1B;AACA;EACE,eAAe;AACjB;AACA;EACE,wBAAwB;AAC1B;AACA;EACE,mDAAmD;EACnD,qEAAqE;AACvE;AACA;;EAEE,WAAW;EACX,QAAQ;EACR,oCAAoC;AACtC;AACA;;EAEE,2DAA2D;EAC3D,cAAc;AAChB;AACA;;EAEE,QAAQ;EACR,2BAA2B;EAC3B,UAAU;AACZ;AACA;;EAEE,qBAAqB;EACrB,sCAAsC;AACxC;AACA;;EAEE,6DAA6D;AAC/D;AACA;;EAEE,SAAS;EACT,2BAA2B;EAC3B,mBAAmB;AACrB;AACA;;EAEE,uCAAuC;AACzC;AACA;EACE,wCAAwC;AAC1C;AACA,aAAa;AACb;EACE,+BAA+B;EAC/B,kBAAkB;AACpB;AACA;EACE,qEAAqE;EACrE,kBAAkB;EAClB,OAAO;EACP,MAAM;EACN,WAAW;EACX,YAAY;EACZ,mBAAmB;EACnB,0BAA0B;AAC5B;AACA;EACE,2BAA2B;AAC7B;AACA;;;;EAIE,WAAW;EACX,WAAW;EACX,OAAO;EACP,MAAM;AACR;AACA;;;;EAIE,UAAU;EACV,YAAY;EACZ,OAAO;EACP,MAAM;AACR;AACA;EACE,aAAa;AACf;AACA,cAAc;AACd;EACE,mBAAmB;EACnB,kBAAkB;EAClB,sBAAsB;EACtB,8BAA8B;AAChC;AACA;;EAEE,wBAAwB;AAC1B;AACA;;EAEE,kBAAkB;EAClB,QAAQ;EACR,WAAW;EACX,WAAW;EACX,WAAW;EACX,UAAU;AACZ;AACA;;EAEE,kBAAkB;EAClB,UAAU;EACV,OAAO;EACP,WAAW;EACX,UAAU;EACV,WAAW;AACb;AACA;EACE,YAAY;EACZ,WAAW;EACX,kBAAkB;EAClB,8BAA8B;EAC9B,mBAAmB;EACnB,OAAO;EACP,MAAM;AACR;AACA;EACE,YAAY;AACd;AACA;EACE,aAAa;AACf;AACA;EACE,WAAW;EACX,YAAY;EACZ,aAAa;EACb,uBAAuB;EACvB,mBAAmB;EACnB,kBAAkB;AACpB;AACA;;;EAGE,eAAe;EACf,gBAAgB;EAChB,mBAAmB;AACrB;AACA;EACE,YAAY;AACd;AACA,cAAc;AACd;EACE;;GAEC;AACH;AACA;EACE,WAAW;EACX,YAAY;EACZ,kBAAkB;EAClB,SAAS;EACT,QAAQ;EACR,kBAAkB;EAClB,iBAAiB;EACjB,WAAW;EACX,qBAAqB;EACrB,sBAAsB;EACtB,0EAA0E;EAC1E,kBAAkB;EAClB,6BAA6B;AAC/B;AACA;;EAEE,mDAAmD;AACrD;AACA;EACE,8BAA8B;AAChC;AACA;EACE,8BAA8B;AAChC;AACA;EACE;IACE,uBAAuB;EACzB;EACA;IACE,yBAAyB;EAC3B;AACF;AACA,SAAS;AACT;EACE,kBAAkB;EAClB,OAAO;EACP,MAAM;EACN,oBAAoB;EACpB,UAAU;EACV,cAAc;AAChB;AACA;EACE,oCAAoC;EACpC,cAAc;AAChB;AACA;EACE,eAAe;AACjB;AACA;EACE,eAAe;EACf,sBAAsB;AACxB;AACA;EACE,oCAAoC;AACtC;AACA;EACE,oBAAoB;EACpB,4BAA4B;AAC9B;AACA;EACE,oBAAoB;AACtB;AACA;;EAEE,oBAAoB;AACtB;AACA;EACE,iBAAiB;AACnB;AACA;EACE,oBAAoB;EACpB,mCAAmC;UAC3B,2BAA2B;EACnC,UAAU;EACV,kBAAkB;EAClB,qBAAqB;EACrB,WAAW;EACX,YAAY;AACd;AACA;EACE,oBAAoB;AACtB;AACA;EACE,wBAAwB;AAC1B;AACA;;EAEE,oBAAoB;AACtB;AACA;;;;EAIE,oBAAoB;EACpB,mBAAmB;AACrB;AACA;;;;EAIE,UAAU;EACV,mCAAmC;UAC3B,2BAA2B;AACrC;AACA;EACE,kBAAkB;EAClB,OAAO;EACP,WAAW;EACX,WAAW;EACX,YAAY;EACZ,YAAY;EACZ,UAAU;AACZ;AACA;EACE,WAAW;EACX,gBAAgB;EAChB,kBAAkB;EAClB,OAAO;EACP,MAAM;EACN,SAAS;EACT,QAAQ;EACR,kBAAkB;AACpB;AACA;EACE,iBAAiB;AACnB;AACA;EACE,oBAAoB;EACpB,mCAAmC;UAC3B,2BAA2B;EACnC,UAAU;AACZ;AACA;EACE,oBAAoB;AACtB;AACA;;EAEE,oBAAoB;AACtB;AACA;;;;EAIE,UAAU;EACV,mCAAmC;UAC3B,2BAA2B;AACrC;AACA;EACE,mCAAmC;UAC3B,2BAA2B;EACnC,gBAAgB;EAChB,+CAA+C;AACjD;AACA;EACE,iBAAiB;AACnB;AACA;EACE,+BAA+B;EAC/B,mCAAmC;UAC3B,2BAA2B;EACnC,gBAAgB;AAClB","sourcesContent":["/**\n * Swiper 8.4.7\n * Most modern mobile touch slider and framework with hardware accelerated transitions\n * https://swiperjs.com\n *\n * Copyright 2014-2023 Vladimir Kharlampidi\n *\n * Released under the MIT License\n *\n * Released on: January 30, 2023\n */\n\n@font-face {\n font-family: 'swiper-icons';\n src: url('data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA');\n font-weight: 400;\n font-style: normal;\n}\n:root {\n --swiper-theme-color: #007aff;\n}\n.swiper {\n margin-left: auto;\n margin-right: auto;\n position: relative;\n overflow: hidden;\n list-style: none;\n padding: 0;\n /* Fix of Webkit flickering */\n z-index: 1;\n}\n.swiper-vertical > .swiper-wrapper {\n flex-direction: column;\n}\n.swiper-wrapper {\n position: relative;\n width: 100%;\n height: 100%;\n z-index: 1;\n display: flex;\n transition-property: transform;\n box-sizing: content-box;\n}\n.swiper-android .swiper-slide,\n.swiper-wrapper {\n transform: translate3d(0px, 0, 0);\n}\n.swiper-pointer-events {\n touch-action: pan-y;\n}\n.swiper-pointer-events.swiper-vertical {\n touch-action: pan-x;\n}\n.swiper-slide {\n flex-shrink: 0;\n width: 100%;\n height: 100%;\n position: relative;\n transition-property: transform;\n}\n.swiper-slide-invisible-blank {\n visibility: hidden;\n}\n/* Auto Height */\n.swiper-autoheight,\n.swiper-autoheight .swiper-slide {\n height: auto;\n}\n.swiper-autoheight .swiper-wrapper {\n align-items: flex-start;\n transition-property: transform, height;\n}\n.swiper-backface-hidden .swiper-slide {\n transform: translateZ(0);\n -webkit-backface-visibility: hidden;\n backface-visibility: hidden;\n}\n/* 3D Effects */\n.swiper-3d,\n.swiper-3d.swiper-css-mode .swiper-wrapper {\n perspective: 1200px;\n}\n.swiper-3d .swiper-wrapper,\n.swiper-3d .swiper-slide,\n.swiper-3d .swiper-slide-shadow,\n.swiper-3d .swiper-slide-shadow-left,\n.swiper-3d .swiper-slide-shadow-right,\n.swiper-3d .swiper-slide-shadow-top,\n.swiper-3d .swiper-slide-shadow-bottom,\n.swiper-3d .swiper-cube-shadow {\n transform-style: preserve-3d;\n}\n.swiper-3d .swiper-slide-shadow,\n.swiper-3d .swiper-slide-shadow-left,\n.swiper-3d .swiper-slide-shadow-right,\n.swiper-3d .swiper-slide-shadow-top,\n.swiper-3d .swiper-slide-shadow-bottom {\n position: absolute;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n pointer-events: none;\n z-index: 10;\n}\n.swiper-3d .swiper-slide-shadow {\n background: rgba(0, 0, 0, 0.15);\n}\n.swiper-3d .swiper-slide-shadow-left {\n background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));\n}\n.swiper-3d .swiper-slide-shadow-right {\n background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));\n}\n.swiper-3d .swiper-slide-shadow-top {\n background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));\n}\n.swiper-3d .swiper-slide-shadow-bottom {\n background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));\n}\n/* CSS Mode */\n.swiper-css-mode > .swiper-wrapper {\n overflow: auto;\n scrollbar-width: none;\n /* For Firefox */\n -ms-overflow-style: none;\n /* For Internet Explorer and Edge */\n}\n.swiper-css-mode > .swiper-wrapper::-webkit-scrollbar {\n display: none;\n}\n.swiper-css-mode > .swiper-wrapper > .swiper-slide {\n scroll-snap-align: start start;\n}\n.swiper-horizontal.swiper-css-mode > .swiper-wrapper {\n scroll-snap-type: x mandatory;\n}\n.swiper-vertical.swiper-css-mode > .swiper-wrapper {\n scroll-snap-type: y mandatory;\n}\n.swiper-centered > .swiper-wrapper::before {\n content: '';\n flex-shrink: 0;\n order: 9999;\n}\n.swiper-centered.swiper-horizontal > .swiper-wrapper > .swiper-slide:first-child {\n margin-inline-start: var(--swiper-centered-offset-before);\n}\n.swiper-centered.swiper-horizontal > .swiper-wrapper::before {\n height: 100%;\n min-height: 1px;\n width: var(--swiper-centered-offset-after);\n}\n.swiper-centered.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child {\n margin-block-start: var(--swiper-centered-offset-before);\n}\n.swiper-centered.swiper-vertical > .swiper-wrapper::before {\n width: 100%;\n min-width: 1px;\n height: var(--swiper-centered-offset-after);\n}\n.swiper-centered > .swiper-wrapper > .swiper-slide {\n scroll-snap-align: center center;\n scroll-snap-stop: always;\n}\n.swiper-virtual .swiper-slide {\n -webkit-backface-visibility: hidden;\n transform: translateZ(0);\n}\n.swiper-virtual.swiper-css-mode .swiper-wrapper::after {\n content: '';\n position: absolute;\n left: 0;\n top: 0;\n pointer-events: none;\n}\n.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper::after {\n height: 1px;\n width: var(--swiper-virtual-size);\n}\n.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper::after {\n width: 1px;\n height: var(--swiper-virtual-size);\n}\n:root {\n --swiper-navigation-size: 44px;\n /*\n --swiper-navigation-color: var(--swiper-theme-color);\n */\n}\n.swiper-button-prev,\n.swiper-button-next {\n position: absolute;\n top: 50%;\n width: calc(var(--swiper-navigation-size) / 44 * 27);\n height: var(--swiper-navigation-size);\n margin-top: calc(0px - (var(--swiper-navigation-size) / 2));\n z-index: 10;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n color: var(--swiper-navigation-color, var(--swiper-theme-color));\n}\n.swiper-button-prev.swiper-button-disabled,\n.swiper-button-next.swiper-button-disabled {\n opacity: 0.35;\n cursor: auto;\n pointer-events: none;\n}\n.swiper-button-prev.swiper-button-hidden,\n.swiper-button-next.swiper-button-hidden {\n opacity: 0;\n cursor: auto;\n pointer-events: none;\n}\n.swiper-navigation-disabled .swiper-button-prev,\n.swiper-navigation-disabled .swiper-button-next {\n display: none !important;\n}\n.swiper-button-prev:after,\n.swiper-button-next:after {\n font-family: swiper-icons;\n font-size: var(--swiper-navigation-size);\n text-transform: none !important;\n letter-spacing: 0;\n font-variant: initial;\n line-height: 1;\n}\n.swiper-button-prev,\n.swiper-rtl .swiper-button-next {\n left: 10px;\n right: auto;\n}\n.swiper-button-prev:after,\n.swiper-rtl .swiper-button-next:after {\n content: 'prev';\n}\n.swiper-button-next,\n.swiper-rtl .swiper-button-prev {\n right: 10px;\n left: auto;\n}\n.swiper-button-next:after,\n.swiper-rtl .swiper-button-prev:after {\n content: 'next';\n}\n.swiper-button-lock {\n display: none;\n}\n:root {\n /*\n --swiper-pagination-color: var(--swiper-theme-color);\n --swiper-pagination-bullet-size: 8px;\n --swiper-pagination-bullet-width: 8px;\n --swiper-pagination-bullet-height: 8px;\n --swiper-pagination-bullet-inactive-color: #000;\n --swiper-pagination-bullet-inactive-opacity: 0.2;\n --swiper-pagination-bullet-opacity: 1;\n --swiper-pagination-bullet-horizontal-gap: 4px;\n --swiper-pagination-bullet-vertical-gap: 6px;\n */\n}\n.swiper-pagination {\n position: absolute;\n text-align: center;\n transition: 300ms opacity;\n transform: translate3d(0, 0, 0);\n z-index: 10;\n}\n.swiper-pagination.swiper-pagination-hidden {\n opacity: 0;\n}\n.swiper-pagination-disabled > .swiper-pagination,\n.swiper-pagination.swiper-pagination-disabled {\n display: none !important;\n}\n/* Common Styles */\n.swiper-pagination-fraction,\n.swiper-pagination-custom,\n.swiper-horizontal > .swiper-pagination-bullets,\n.swiper-pagination-bullets.swiper-pagination-horizontal {\n bottom: 10px;\n left: 0;\n width: 100%;\n}\n/* Bullets */\n.swiper-pagination-bullets-dynamic {\n overflow: hidden;\n font-size: 0;\n}\n.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {\n transform: scale(0.33);\n position: relative;\n}\n.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active {\n transform: scale(1);\n}\n.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {\n transform: scale(1);\n}\n.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {\n transform: scale(0.66);\n}\n.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {\n transform: scale(0.33);\n}\n.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {\n transform: scale(0.66);\n}\n.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {\n transform: scale(0.33);\n}\n.swiper-pagination-bullet {\n width: var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));\n height: var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));\n display: inline-block;\n border-radius: 50%;\n background: var(--swiper-pagination-bullet-inactive-color, #000);\n opacity: var(--swiper-pagination-bullet-inactive-opacity, 0.2);\n}\nbutton.swiper-pagination-bullet {\n border: none;\n margin: 0;\n padding: 0;\n box-shadow: none;\n -webkit-appearance: none;\n appearance: none;\n}\n.swiper-pagination-clickable .swiper-pagination-bullet {\n cursor: pointer;\n}\n.swiper-pagination-bullet:only-child {\n display: none !important;\n}\n.swiper-pagination-bullet-active {\n opacity: var(--swiper-pagination-bullet-opacity, 1);\n background: var(--swiper-pagination-color, var(--swiper-theme-color));\n}\n.swiper-vertical > .swiper-pagination-bullets,\n.swiper-pagination-vertical.swiper-pagination-bullets {\n right: 10px;\n top: 50%;\n transform: translate3d(0px, -50%, 0);\n}\n.swiper-vertical > .swiper-pagination-bullets .swiper-pagination-bullet,\n.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet {\n margin: var(--swiper-pagination-bullet-vertical-gap, 6px) 0;\n display: block;\n}\n.swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic,\n.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {\n top: 50%;\n transform: translateY(-50%);\n width: 8px;\n}\n.swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,\n.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {\n display: inline-block;\n transition: 200ms transform, 200ms top;\n}\n.swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet,\n.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {\n margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 4px);\n}\n.swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic,\n.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {\n left: 50%;\n transform: translateX(-50%);\n white-space: nowrap;\n}\n.swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,\n.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {\n transition: 200ms transform, 200ms left;\n}\n.swiper-horizontal.swiper-rtl > .swiper-pagination-bullets-dynamic .swiper-pagination-bullet {\n transition: 200ms transform, 200ms right;\n}\n/* Progress */\n.swiper-pagination-progressbar {\n background: rgba(0, 0, 0, 0.25);\n position: absolute;\n}\n.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {\n background: var(--swiper-pagination-color, var(--swiper-theme-color));\n position: absolute;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n transform: scale(0);\n transform-origin: left top;\n}\n.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {\n transform-origin: right top;\n}\n.swiper-horizontal > .swiper-pagination-progressbar,\n.swiper-pagination-progressbar.swiper-pagination-horizontal,\n.swiper-vertical > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,\n.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite {\n width: 100%;\n height: 4px;\n left: 0;\n top: 0;\n}\n.swiper-vertical > .swiper-pagination-progressbar,\n.swiper-pagination-progressbar.swiper-pagination-vertical,\n.swiper-horizontal > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,\n.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite {\n width: 4px;\n height: 100%;\n left: 0;\n top: 0;\n}\n.swiper-pagination-lock {\n display: none;\n}\n/* Scrollbar */\n.swiper-scrollbar {\n border-radius: 10px;\n position: relative;\n -ms-touch-action: none;\n background: rgba(0, 0, 0, 0.1);\n}\n.swiper-scrollbar-disabled > .swiper-scrollbar,\n.swiper-scrollbar.swiper-scrollbar-disabled {\n display: none !important;\n}\n.swiper-horizontal > .swiper-scrollbar,\n.swiper-scrollbar.swiper-scrollbar-horizontal {\n position: absolute;\n left: 1%;\n bottom: 3px;\n z-index: 50;\n height: 5px;\n width: 98%;\n}\n.swiper-vertical > .swiper-scrollbar,\n.swiper-scrollbar.swiper-scrollbar-vertical {\n position: absolute;\n right: 3px;\n top: 1%;\n z-index: 50;\n width: 5px;\n height: 98%;\n}\n.swiper-scrollbar-drag {\n height: 100%;\n width: 100%;\n position: relative;\n background: rgba(0, 0, 0, 0.5);\n border-radius: 10px;\n left: 0;\n top: 0;\n}\n.swiper-scrollbar-cursor-drag {\n cursor: move;\n}\n.swiper-scrollbar-lock {\n display: none;\n}\n.swiper-zoom-container {\n width: 100%;\n height: 100%;\n display: flex;\n justify-content: center;\n align-items: center;\n text-align: center;\n}\n.swiper-zoom-container > img,\n.swiper-zoom-container > svg,\n.swiper-zoom-container > canvas {\n max-width: 100%;\n max-height: 100%;\n object-fit: contain;\n}\n.swiper-slide-zoomed {\n cursor: move;\n}\n/* Preloader */\n:root {\n /*\n --swiper-preloader-color: var(--swiper-theme-color);\n */\n}\n.swiper-lazy-preloader {\n width: 42px;\n height: 42px;\n position: absolute;\n left: 50%;\n top: 50%;\n margin-left: -21px;\n margin-top: -21px;\n z-index: 10;\n transform-origin: 50%;\n box-sizing: border-box;\n border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));\n border-radius: 50%;\n border-top-color: transparent;\n}\n.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader,\n.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader {\n animation: swiper-preloader-spin 1s infinite linear;\n}\n.swiper-lazy-preloader-white {\n --swiper-preloader-color: #fff;\n}\n.swiper-lazy-preloader-black {\n --swiper-preloader-color: #000;\n}\n@keyframes swiper-preloader-spin {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n}\n/* a11y */\n.swiper .swiper-notification {\n position: absolute;\n left: 0;\n top: 0;\n pointer-events: none;\n opacity: 0;\n z-index: -1000;\n}\n.swiper-free-mode > .swiper-wrapper {\n transition-timing-function: ease-out;\n margin: 0 auto;\n}\n.swiper-grid > .swiper-wrapper {\n flex-wrap: wrap;\n}\n.swiper-grid-column > .swiper-wrapper {\n flex-wrap: wrap;\n flex-direction: column;\n}\n.swiper-fade.swiper-free-mode .swiper-slide {\n transition-timing-function: ease-out;\n}\n.swiper-fade .swiper-slide {\n pointer-events: none;\n transition-property: opacity;\n}\n.swiper-fade .swiper-slide .swiper-slide {\n pointer-events: none;\n}\n.swiper-fade .swiper-slide-active,\n.swiper-fade .swiper-slide-active .swiper-slide-active {\n pointer-events: auto;\n}\n.swiper-cube {\n overflow: visible;\n}\n.swiper-cube .swiper-slide {\n pointer-events: none;\n -webkit-backface-visibility: hidden;\n backface-visibility: hidden;\n z-index: 1;\n visibility: hidden;\n transform-origin: 0 0;\n width: 100%;\n height: 100%;\n}\n.swiper-cube .swiper-slide .swiper-slide {\n pointer-events: none;\n}\n.swiper-cube.swiper-rtl .swiper-slide {\n transform-origin: 100% 0;\n}\n.swiper-cube .swiper-slide-active,\n.swiper-cube .swiper-slide-active .swiper-slide-active {\n pointer-events: auto;\n}\n.swiper-cube .swiper-slide-active,\n.swiper-cube .swiper-slide-next,\n.swiper-cube .swiper-slide-prev,\n.swiper-cube .swiper-slide-next + .swiper-slide {\n pointer-events: auto;\n visibility: visible;\n}\n.swiper-cube .swiper-slide-shadow-top,\n.swiper-cube .swiper-slide-shadow-bottom,\n.swiper-cube .swiper-slide-shadow-left,\n.swiper-cube .swiper-slide-shadow-right {\n z-index: 0;\n -webkit-backface-visibility: hidden;\n backface-visibility: hidden;\n}\n.swiper-cube .swiper-cube-shadow {\n position: absolute;\n left: 0;\n bottom: 0px;\n width: 100%;\n height: 100%;\n opacity: 0.6;\n z-index: 0;\n}\n.swiper-cube .swiper-cube-shadow:before {\n content: '';\n background: #000;\n position: absolute;\n left: 0;\n top: 0;\n bottom: 0;\n right: 0;\n filter: blur(50px);\n}\n.swiper-flip {\n overflow: visible;\n}\n.swiper-flip .swiper-slide {\n pointer-events: none;\n -webkit-backface-visibility: hidden;\n backface-visibility: hidden;\n z-index: 1;\n}\n.swiper-flip .swiper-slide .swiper-slide {\n pointer-events: none;\n}\n.swiper-flip .swiper-slide-active,\n.swiper-flip .swiper-slide-active .swiper-slide-active {\n pointer-events: auto;\n}\n.swiper-flip .swiper-slide-shadow-top,\n.swiper-flip .swiper-slide-shadow-bottom,\n.swiper-flip .swiper-slide-shadow-left,\n.swiper-flip .swiper-slide-shadow-right {\n z-index: 0;\n -webkit-backface-visibility: hidden;\n backface-visibility: hidden;\n}\n.swiper-creative .swiper-slide {\n -webkit-backface-visibility: hidden;\n backface-visibility: hidden;\n overflow: hidden;\n transition-property: transform, opacity, height;\n}\n.swiper-cards {\n overflow: visible;\n}\n.swiper-cards .swiper-slide {\n transform-origin: center bottom;\n -webkit-backface-visibility: hidden;\n backface-visibility: hidden;\n overflow: hidden;\n}\n"],"sourceRoot":""}]); 4531// Exports 4532/* harmony default export */ __webpack_exports__["default"] = (___CSS_LOADER_EXPORT___); 4533 4534 4535/***/ }), 4536
vendor: 2,719 bytes, lines 4537-4634
4537/***/ "./node_modules/css-loader/dist/runtime/api.js": 4538/*!*****************************************************!*\ 4539 !*** ./node_modules/css-loader/dist/runtime/api.js ***! 4540 \*****************************************************/ 4541/*! unknown exports (runtime-defined) */ 4542/*! runtime requirements: module */ 4543/*! CommonJS bailout: module.exports is used directly at 7:0-14 */ 4544/***/ (function(module) { 4545 4546"use strict"; 4547 4548 4549/* 4550 MIT License http://www.opensource.org/licenses/mit-license.php 4551 Author Tobias Koppers @sokra 4552*/ 4553module.exports = function (cssWithMappingToString) { 4554 var list = []; 4555 4556 // return the list of modules as css string 4557 list.toString = function toString() { 4558 return this.map(function (item) { 4559 var content = ""; 4560 var needLayer = typeof item[5] !== "undefined"; 4561 if (item[4]) { 4562 content += "@supports (".concat(item[4], ") {"); 4563 } 4564 if (item[2]) { 4565 content += "@media ".concat(item[2], " {"); 4566 } 4567 if (needLayer) { 4568 content += "@layer".concat(item[5].length > 0 ? " ".concat(item[5]) : "", " {"); 4569 } 4570 content += cssWithMappingToString(item); 4571 if (needLayer) { 4572 content += "}"; 4573 } 4574 if (item[2]) { 4575 content += "}"; 4576 } 4577 if (item[4]) { 4578 content += "}"; 4579 } 4580 return content; 4581 }).join(""); 4582 }; 4583 4584 // import a list of modules into the list 4585 list.i = function i(modules, media, dedupe, supports, layer) { 4586 if (typeof modules === "string") { 4587 modules = [[null, modules, undefined]]; 4588 } 4589 var alreadyImportedModules = {}; 4590 if (dedupe) { 4591 for (var k = 0; k < this.length; k++) { 4592 var id = this[k][0]; 4593 if (id != null) { 4594 alreadyImportedModules[id] = true; 4595 } 4596 } 4597 } 4598 for (var _k = 0; _k < modules.length; _k++) { 4599 var item = [].concat(modules[_k]); 4600 if (dedupe && alreadyImportedModules[item[0]]) { 4601 continue; 4602 } 4603 if (typeof layer !== "undefined") { 4604 if (typeof item[5] === "undefined") { 4605 item[5] = layer; 4606 } else { 4607 item[1] = "@layer".concat(item[5].length > 0 ? " ".concat(item[5]) : "", " {").concat(item[1], "}"); 4608 item[5] = layer; 4609 } 4610 } 4611 if (media) { 4612 if (!item[2]) { 4613 item[2] = media; 4614 } else { 4615 item[1] = "@media ".concat(item[2], " {").concat(item[1], "}"); 4616 item[2] = media; 4617 } 4618 } 4619 if (supports) { 4620 if (!item[4]) { 4621 item[4] = "".concat(supports); 4622 } else { 4623 item[1] = "@supports (".concat(item[4], ") {").concat(item[1], "}"); 4624 item[4] = supports; 4625 } 4626 } 4627 list.push(item); 4628 } 4629 }; 4630 return list; 4631}; 4632 4633/***/ }), 4634
vendor: 949 bytes, lines 4635-4663
4635/***/ "./node_modules/css-loader/dist/runtime/sourceMaps.js": 4636/*!************************************************************!*\ 4637 !*** ./node_modules/css-loader/dist/runtime/sourceMaps.js ***! 4638 \************************************************************/ 4639/*! unknown exports (runtime-defined) */ 4640/*! runtime requirements: module */ 4641/*! CommonJS bailout: module.exports is used directly at 3:0-14 */ 4642/***/ (function(module) { 4643 4644"use strict"; 4645 4646 4647module.exports = function (item) { 4648 var content = item[1]; 4649 var cssMapping = item[3]; 4650 if (!cssMapping) { 4651 return content; 4652 } 4653 if (typeof btoa === "function") { 4654 var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(cssMapping)))); 4655 var data = "sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(base64); 4656 var sourceMapping = "/*# ".concat(data, " */"); 4657 return [content].concat([sourceMapping]).join("\n"); 4658 } 4659 return [content].join("\n"); 4660}; 4661 4662/***/ }), 4663
vendor: 50,582 bytes, lines 4664-6350
4664/***/ "./node_modules/dom7/dom7.esm.js": 4665/*!***************************************!*\ 4666 !*** ./node_modules/dom7/dom7.esm.js ***! 4667 \***************************************/ 4668/*! namespace exports */ 4669/*! export $ [provided] [no usage info] [missing usage info prevents renaming] */ 4670/*! export add [provided] [no usage info] [missing usage info prevents renaming] */ 4671/*! export addClass [provided] [no usage info] [missing usage info prevents renaming] */ 4672/*! export animate [provided] [no usage info] [missing usage info prevents renaming] */ 4673/*! export animationEnd [provided] [no usage info] [missing usage info prevents renaming] */ 4674/*! export append [provided] [no usage info] [missing usage info prevents renaming] */ 4675/*! export appendTo [provided] [no usage info] [missing usage info prevents renaming] */ 4676/*! export attr [provided] [no usage info] [missing usage info prevents renaming] */ 4677/*! export blur [provided] [no usage info] [missing usage info prevents renaming] */ 4678/*! export change [provided] [no usage info] [missing usage info prevents renaming] */ 4679/*! export children [provided] [no usage info] [missing usage info prevents renaming] */ 4680/*! export click [provided] [no usage info] [missing usage info prevents renaming] */ 4681/*! export closest [provided] [no usage info] [missing usage info prevents renaming] */ 4682/*! export css [provided] [no usage info] [missing usage info prevents renaming] */ 4683/*! export data [provided] [no usage info] [missing usage info prevents renaming] */ 4684/*! export dataset [provided] [no usage info] [missing usage info prevents renaming] */ 4685/*! export default [provided] [no usage info] [missing usage info prevents renaming] */ 4686/*! export detach [provided] [no usage info] [missing usage info prevents renaming] */ 4687/*! export each [provided] [no usage info] [missing usage info prevents renaming] */ 4688/*! export empty [provided] [no usage info] [missing usage info prevents renaming] */ 4689/*! export eq [provided] [no usage info] [missing usage info prevents renaming] */ 4690/*! export filter [provided] [no usage info] [missing usage info prevents renaming] */ 4691/*! export find [provided] [no usage info] [missing usage info prevents renaming] */ 4692/*! export focus [provided] [no usage info] [missing usage info prevents renaming] */ 4693/*! export focusin [provided] [no usage info] [missing usage info prevents renaming] */ 4694/*! export focusout [provided] [no usage info] [missing usage info prevents renaming] */ 4695/*! export hasClass [provided] [no usage info] [missing usage info prevents renaming] */ 4696/*! export height [provided] [no usage info] [missing usage info prevents renaming] */ 4697/*! export hide [provided] [no usage info] [missing usage info prevents renaming] */ 4698/*! export html [provided] [no usage info] [missing usage info prevents renaming] */ 4699/*! export index [provided] [no usage info] [missing usage info prevents renaming] */ 4700/*! export insertAfter [provided] [no usage info] [missing usage info prevents renaming] */ 4701/*! export insertBefore [provided] [no usage info] [missing usage info prevents renaming] */ 4702/*! export is [provided] [no usage info] [missing usage info prevents renaming] */ 4703/*! export keydown [provided] [no usage info] [missing usage info prevents renaming] */ 4704/*! export keypress [provided] [no usage info] [missing usage info prevents renaming] */ 4705/*! export keyup [provided] [no usage info] [missing usage info prevents renaming] */ 4706/*! export mousedown [provided] [no usage info] [missing usage info prevents renaming] */ 4707/*! export mouseenter [provided] [no usage info] [missing usage info prevents renaming] */ 4708/*! export mouseleave [provided] [no usage info] [missing usage info prevents renaming] */ 4709/*! export mousemove [provided] [no usage info] [missing usage info prevents renaming] */ 4710/*! export mouseout [provided] [no usage info] [missing usage info prevents renaming] */ 4711/*! export mouseover [provided] [no usage info] [missing usage info prevents renaming] */ 4712/*! export mouseup [provided] [no usage info] [missing usage info prevents renaming] */ 4713/*! export next [provided] [no usage info] [missing usage info prevents renaming] */ 4714/*! export nextAll [provided] [no usage info] [missing usage info prevents renaming] */ 4715/*! export off [provided] [no usage info] [missing usage info prevents renaming] */ 4716/*! export offset [provided] [no usage info] [missing usage info prevents renaming] */ 4717/*! export on [provided] [no usage info] [missing usage info prevents renaming] */ 4718/*! export once [provided] [no usage info] [missing usage info prevents renaming] */ 4719/*! export outerHeight [provided] [no usage info] [missing usage info prevents renaming] */ 4720/*! export outerWidth [provided] [no usage info] [missing usage info prevents renaming] */ 4721/*! export parent [provided] [no usage info] [missing usage info prevents renaming] */ 4722/*! export parents [provided] [no usage info] [missing usage info prevents renaming] */ 4723/*! export prepend [provided] [no usage info] [missing usage info prevents renaming] */ 4724/*! export prependTo [provided] [no usage info] [missing usage info prevents renaming] */ 4725/*! export prev [provided] [no usage info] [missing usage info prevents renaming] */ 4726/*! export prevAll [provided] [no usage info] [missing usage info prevents renaming] */ 4727/*! export prop [provided] [no usage info] [missing usage info prevents renaming] */ 4728/*! export remove [provided] [no usage info] [missing usage info prevents renaming] */ 4729/*! export removeAttr [provided] [no usage info] [missing usage info prevents renaming] */ 4730/*! export removeClass [provided] [no usage info] [missing usage info prevents renaming] */ 4731/*! export removeData [provided] [no usage info] [missing usage info prevents renaming] */ 4732/*! export resize [provided] [no usage info] [missing usage info prevents renaming] */ 4733/*! export scroll [provided] [no usage info] [missing usage info prevents renaming] */ 4734/*! export scrollLeft [provided] [no usage info] [missing usage info prevents renaming] */ 4735/*! export scrollTo [provided] [no usage info] [missing usage info prevents renaming] */ 4736/*! export scrollTop [provided] [no usage info] [missing usage info prevents renaming] */ 4737/*! export show [provided] [no usage info] [missing usage info prevents renaming] */ 4738/*! export siblings [provided] [no usage info] [missing usage info prevents renaming] */ 4739/*! export stop [provided] [no usage info] [missing usage info prevents renaming] */ 4740/*! export styles [provided] [no usage info] [missing usage info prevents renaming] */ 4741/*! export submit [provided] [no usage info] [missing usage info prevents renaming] */ 4742/*! export text [provided] [no usage info] [missing usage info prevents renaming] */ 4743/*! export toggleClass [provided] [no usage info] [missing usage info prevents renaming] */ 4744/*! export touchend [provided] [no usage info] [missing usage info prevents renaming] */ 4745/*! export touchmove [provided] [no usage info] [missing usage info prevents renaming] */ 4746/*! export touchstart [provided] [no usage info] [missing usage info prevents renaming] */ 4747/*! export transform [provided] [no usage info] [missing usage info prevents renaming] */ 4748/*! export transition [provided] [no usage info] [missing usage info prevents renaming] */ 4749/*! export transitionEnd [provided] [no usage info] [missing usage info prevents renaming] */ 4750/*! export transitionStart [provided] [no usage info] [missing usage info prevents renaming] */ 4751/*! export trigger [provided] [no usage info] [missing usage info prevents renaming] */ 4752/*! export val [provided] [no usage info] [missing usage info prevents renaming] */ 4753/*! export value [provided] [no usage info] [missing usage info prevents renaming] */ 4754/*! export width [provided] [no usage info] [missing usage info prevents renaming] */ 4755/*! other exports [not provided] [no usage info] */ 4756/*! runtime requirements: __webpack_require__, __webpack_exports__, __webpack_require__.r, __webpack_require__.d, __webpack_require__.* */ 4757/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 4758 4759"use strict"; 4760__webpack_require__.r(__webpack_exports__); 4761/* harmony export */ __webpack_require__.d(__webpack_exports__, { 4762/* harmony export */ "$": function() { return /* binding */ $; }, 4763/* harmony export */ "add": function() { return /* binding */ add; }, 4764/* harmony export */ "addClass": function() { return /* binding */ addClass; }, 4765/* harmony export */ "animate": function() { return /* binding */ animate; }, 4766/* harmony export */ "animationEnd": function() { return /* binding */ animationEnd; }, 4767/* harmony export */ "append": function() { return /* binding */ append; }, 4768/* harmony export */ "appendTo": function() { return /* binding */ appendTo; }, 4769/* harmony export */ "attr": function() { return /* binding */ attr; }, 4770/* harmony export */ "blur": function() { return /* binding */ blur; }, 4771/* harmony export */ "change": function() { return /* binding */ change; }, 4772/* harmony export */ "children": function() { return /* binding */ children; }, 4773/* harmony export */ "click": function() { return /* binding */ click; }, 4774/* harmony export */ "closest": function() { return /* binding */ closest; }, 4775/* harmony export */ "css": function() { return /* binding */ css; }, 4776/* harmony export */ "data": function() { return /* binding */ data; }, 4777/* harmony export */ "dataset": function() { return /* binding */ dataset; }, 4778/* harmony export */ "detach": function() { return /* binding */ detach; }, 4779/* harmony export */ "each": function() { return /* binding */ each; }, 4780/* harmony export */ "empty": function() { return /* binding */ empty; }, 4781/* harmony export */ "eq": function() { return /* binding */ eq; }, 4782/* harmony export */ "filter": function() { return /* binding */ filter; }, 4783/* harmony export */ "find": function() { return /* binding */ find; }, 4784/* harmony export */ "focus": function() { return /* binding */ focus; }, 4785/* harmony export */ "focusin": function() { return /* binding */ focusin; }, 4786/* harmony export */ "focusout": function() { return /* binding */ focusout; }, 4787/* harmony export */ "hasClass": function() { return /* binding */ hasClass; }, 4788/* harmony export */ "height": function() { return /* binding */ height; }, 4789/* harmony export */ "hide": function() { return /* binding */ hide; }, 4790/* harmony export */ "html": function() { return /* binding */ html; }, 4791/* harmony export */ "index": function() { return /* binding */ index; }, 4792/* harmony export */ "insertAfter": function() { return /* binding */ insertAfter; }, 4793/* harmony export */ "insertBefore": function() { return /* binding */ insertBefore; }, 4794/* harmony export */ "is": function() { return /* binding */ is; }, 4795/* harmony export */ "keydown": function() { return /* binding */ keydown; }, 4796/* harmony export */ "keypress": function() { return /* binding */ keypress; }, 4797/* harmony export */ "keyup": function() { return /* binding */ keyup; }, 4798/* harmony export */ "mousedown": function() { return /* binding */ mousedown; }, 4799/* harmony export */ "mouseenter": function() { return /* binding */ mouseenter; }, 4800/* harmony export */ "mouseleave": function() { return /* binding */ mouseleave; }, 4801/* harmony export */ "mousemove": function() { return /* binding */ mousemove; }, 4802/* harmony export */ "mouseout": function() { return /* binding */ mouseout; }, 4803/* harmony export */ "mouseover": function() { return /* binding */ mouseover; }, 4804/* harmony export */ "mouseup": function() { return /* binding */ mouseup; }, 4805/* harmony export */ "next": function() { return /* binding */ next; }, 4806/* harmony export */ "nextAll": function() { return /* binding */ nextAll; }, 4807/* harmony export */ "off": function() { return /* binding */ off; }, 4808/* harmony export */ "offset": function() { return /* binding */ offset; }, 4809/* harmony export */ "on": function() { return /* binding */ on; }, 4810/* harmony export */ "once": function() { return /* binding */ once; }, 4811/* harmony export */ "outerHeight": function() { return /* binding */ outerHeight; }, 4812/* harmony export */ "outerWidth": function() { return /* binding */ outerWidth; }, 4813/* harmony export */ "parent": function() { return /* binding */ parent; }, 4814/* harmony export */ "parents": function() { return /* binding */ parents; }, 4815/* harmony export */ "prepend": function() { return /* binding */ prepend; }, 4816/* harmony export */ "prependTo": function() { return /* binding */ prependTo; }, 4817/* harmony export */ "prev": function() { return /* binding */ prev; }, 4818/* harmony export */ "prevAll": function() { return /* binding */ prevAll; }, 4819/* harmony export */ "prop": function() { return /* binding */ prop; }, 4820/* harmony export */ "remove": function() { return /* binding */ remove; }, 4821/* harmony export */ "removeAttr": function() { return /* binding */ removeAttr; }, 4822/* harmony export */ "removeClass": function() { return /* binding */ removeClass; }, 4823/* harmony export */ "removeData": function() { return /* binding */ removeData; }, 4824/* harmony export */ "resize": function() { return /* binding */ resize; }, 4825/* harmony export */ "scroll": function() { return /* binding */ scroll; }, 4826/* harmony export */ "scrollLeft": function() { return /* binding */ scrollLeft; }, 4827/* harmony export */ "scrollTo": function() { return /* binding */ scrollTo; }, 4828/* harmony export */ "scrollTop": function() { return /* binding */ scrollTop; }, 4829/* harmony export */ "show": function() { return /* binding */ show; }, 4830/* harmony export */ "siblings": function() { return /* binding */ siblings; }, 4831/* harmony export */ "stop": function() { return /* binding */ stop; }, 4832/* harmony export */ "styles": function() { return /* binding */ styles; }, 4833/* harmony export */ "submit": function() { return /* binding */ submit; }, 4834/* harmony export */ "text": function() { return /* binding */ text; }, 4835/* harmony export */ "toggleClass": function() { return /* binding */ toggleClass; }, 4836/* harmony export */ "touchend": function() { return /* binding */ touchend; }, 4837/* harmony export */ "touchmove": function() { return /* binding */ touchmove; }, 4838/* harmony export */ "touchstart": function() { return /* binding */ touchstart; }, 4839/* harmony export */ "transform": function() { return /* binding */ transform; }, 4840/* harmony export */ "transition": function() { return /* binding */ transition; }, 4841/* harmony export */ "transitionEnd": function() { return /* binding */ transitionEnd; }, 4842/* harmony export */ "transitionStart": function() { return /* binding */ transitionStart; }, 4843/* harmony export */ "trigger": function() { return /* binding */ trigger; }, 4844/* harmony export */ "val": function() { return /* binding */ val; }, 4845/* harmony export */ "value": function() { return /* binding */ value; }, 4846/* harmony export */ "width": function() { return /* binding */ width; } 4847/* harmony export */ }); 4848/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ "./node_modules/ssr-window/ssr-window.esm.js"); 4849/** 4850 * Dom7 4.0.6 4851 * Minimalistic JavaScript library for DOM manipulation, with a jQuery-compatible API 4852 * https://framework7.io/docs/dom7.html 4853 * 4854 * Copyright 2023, Vladimir Kharlampidi 4855 * 4856 * Licensed under MIT 4857 * 4858 * Released on: February 2, 2023 4859 */ 4860; 4861 4862/* eslint-disable no-proto */ 4863function makeReactive(obj) { 4864 const proto = obj.__proto__; 4865 Object.defineProperty(obj, '__proto__', { 4866 get() { 4867 return proto; 4868 }, 4869 4870 set(value) { 4871 proto.__proto__ = value; 4872 } 4873 4874 }); 4875} 4876 4877class Dom7 extends Array { 4878 constructor(items) { 4879 if (typeof items === 'number') { 4880 super(items); 4881 } else { 4882 super(...(items || [])); 4883 makeReactive(this); 4884 } 4885 } 4886 4887} 4888 4889function arrayFlat(arr = []) { 4890 const res = []; 4891 arr.forEach(el => { 4892 if (Array.isArray(el)) { 4893 res.push(...arrayFlat(el)); 4894 } else { 4895 res.push(el); 4896 } 4897 }); 4898 return res; 4899} 4900function arrayFilter(arr, callback) { 4901 return Array.prototype.filter.call(arr, callback); 4902} 4903function arrayUnique(arr) { 4904 const uniqueArray = []; 4905 4906 for (let i = 0; i < arr.length; i += 1) { 4907 if (uniqueArray.indexOf(arr[i]) === -1) uniqueArray.push(arr[i]); 4908 } 4909 4910 return uniqueArray; 4911} 4912function toCamelCase(string) { 4913 return string.toLowerCase().replace(/-(.)/g, (match, group) => group.toUpperCase()); 4914} 4915 4916// eslint-disable-next-line 4917 4918function qsa(selector, context) { 4919 if (typeof selector !== 'string') { 4920 return [selector]; 4921 } 4922 4923 const a = []; 4924 const res = context.querySelectorAll(selector); 4925 4926 for (let i = 0; i < res.length; i += 1) { 4927 a.push(res[i]); 4928 } 4929 4930 return a; 4931} 4932 4933function $(selector, context) { 4934 const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)(); 4935 const document = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getDocument)(); 4936 let arr = []; 4937 4938 if (!context && selector instanceof Dom7) { 4939 return selector; 4940 } 4941 4942 if (!selector) { 4943 return new Dom7(arr); 4944 } 4945 4946 if (typeof selector === 'string') { 4947 const html = selector.trim(); 4948 4949 if (html.indexOf('<') >= 0 && html.indexOf('>') >= 0) { 4950 let toCreate = 'div'; 4951 if (html.indexOf('<li') === 0) toCreate = 'ul'; 4952 if (html.indexOf('<tr') === 0) toCreate = 'tbody'; 4953 if (html.indexOf('<td') === 0 || html.indexOf('<th') === 0) toCreate = 'tr'; 4954 if (html.indexOf('<tbody') === 0) toCreate = 'table'; 4955 if (html.indexOf('<option') === 0) toCreate = 'select'; 4956 const tempParent = document.createElement(toCreate); 4957 tempParent.innerHTML = html; 4958 4959 for (let i = 0; i < tempParent.childNodes.length; i += 1) { 4960 arr.push(tempParent.childNodes[i]); 4961 } 4962 } else { 4963 arr = qsa(selector.trim(), context || document); 4964 } // arr = qsa(selector, document); 4965 4966 } else if (selector.nodeType || selector === window || selector === document) { 4967 arr.push(selector); 4968 } else if (Array.isArray(selector)) { 4969 if (selector instanceof Dom7) return selector; 4970 arr = selector; 4971 } 4972 4973 return new Dom7(arrayUnique(arr)); 4974} 4975 4976$.fn = Dom7.prototype; 4977 4978// eslint-disable-next-line 4979 4980function addClass(...classes) { 4981 const classNames = arrayFlat(classes.map(c => c.split(' '))); 4982 this.forEach(el => { 4983 el.classList.add(...classNames); 4984 }); 4985 return this; 4986} 4987 4988function removeClass(...classes) { 4989 const classNames = arrayFlat(classes.map(c => c.split(' '))); 4990 this.forEach(el => { 4991 el.classList.remove(...classNames); 4992 }); 4993 return this; 4994} 4995 4996function toggleClass(...classes) { 4997 const classNames = arrayFlat(classes.map(c => c.split(' '))); 4998 this.forEach(el => { 4999 classNames.forEach(className => { 5000 el.classList.toggle(className); 5001 }); 5002 }); 5003} 5004 5005function hasClass(...classes) { 5006 const classNames = arrayFlat(classes.map(c => c.split(' '))); 5007 return arrayFilter(this, el => { 5008 return classNames.filter(className => el.classList.contains(className)).length > 0; 5009 }).length > 0; 5010} 5011 5012function attr(attrs, value) { 5013 if (arguments.length === 1 && typeof attrs === 'string') { 5014 // Get attr 5015 if (this[0]) return this[0].getAttribute(attrs); 5016 return undefined; 5017 } // Set attrs 5018 5019 5020 for (let i = 0; i < this.length; i += 1) { 5021 if (arguments.length === 2) { 5022 // String 5023 this[i].setAttribute(attrs, value); 5024 } else { 5025 // Object 5026 for (const attrName in attrs) { 5027 this[i][attrName] = attrs[attrName]; 5028 this[i].setAttribute(attrName, attrs[attrName]); 5029 } 5030 } 5031 } 5032 5033 return this; 5034} 5035 5036function removeAttr(attr) { 5037 for (let i = 0; i < this.length; i += 1) { 5038 this[i].removeAttribute(attr); 5039 } 5040 5041 return this; 5042} 5043 5044function prop(props, value) { 5045 if (arguments.length === 1 && typeof props === 'string') { 5046 // Get prop 5047 if (this[0]) return this[0][props]; 5048 } else { 5049 // Set props 5050 for (let i = 0; i < this.length; i += 1) { 5051 if (arguments.length === 2) { 5052 // String 5053 this[i][props] = value; 5054 } else { 5055 // Object 5056 for (const propName in props) { 5057 this[i][propName] = props[propName]; 5058 } 5059 } 5060 } 5061 5062 return this; 5063 } 5064 5065 return this; 5066} 5067 5068function data(key, value) { 5069 let el; 5070 5071 if (typeof value === 'undefined') { 5072 el = this[0]; 5073 if (!el) return undefined; // Get value 5074 5075 if (el.dom7ElementDataStorage && key in el.dom7ElementDataStorage) { 5076 return el.dom7ElementDataStorage[key]; 5077 } 5078 5079 const dataKey = el.getAttribute(`data-${key}`); 5080 5081 if (dataKey) { 5082 return dataKey; 5083 } 5084 5085 return undefined; 5086 } // Set value 5087 5088 5089 for (let i = 0; i < this.length; i += 1) { 5090 el = this[i]; 5091 if (!el.dom7ElementDataStorage) el.dom7ElementDataStorage = {}; 5092 el.dom7ElementDataStorage[key] = value; 5093 } 5094 5095 return this; 5096} 5097 5098function removeData(key) { 5099 for (let i = 0; i < this.length; i += 1) { 5100 const el = this[i]; 5101 5102 if (el.dom7ElementDataStorage && el.dom7ElementDataStorage[key]) { 5103 el.dom7ElementDataStorage[key] = null; 5104 delete el.dom7ElementDataStorage[key]; 5105 } 5106 } 5107} 5108 5109function dataset() { 5110 const el = this[0]; 5111 if (!el) return undefined; 5112 const dataset = {}; // eslint-disable-line 5113 5114 if (el.dataset) { 5115 for (const dataKey in el.dataset) { 5116 dataset[dataKey] = el.dataset[dataKey]; 5117 } 5118 } else { 5119 for (let i = 0; i < el.attributes.length; i += 1) { 5120 const attr = el.attributes[i]; 5121 5122 if (attr.name.indexOf('data-') >= 0) { 5123 dataset[toCamelCase(attr.name.split('data-')[1])] = attr.value; 5124 } 5125 } 5126 } 5127 5128 for (const key in dataset) { 5129 if (dataset[key] === 'false') dataset[key] = false;else if (dataset[key] === 'true') dataset[key] = true;else if (parseFloat(dataset[key]) === dataset[key] * 1) dataset[key] *= 1; 5130 } 5131 5132 return dataset; 5133} 5134 5135function val(value) { 5136 if (typeof value === 'undefined') { 5137 // get value 5138 const el = this[0]; 5139 if (!el) return undefined; 5140 5141 if (el.multiple && el.nodeName.toLowerCase() === 'select') { 5142 const values = []; 5143 5144 for (let i = 0; i < el.selectedOptions.length; i += 1) { 5145 values.push(el.selectedOptions[i].value); 5146 } 5147 5148 return values; 5149 } 5150 5151 return el.value; 5152 } // set value 5153 5154 5155 for (let i = 0; i < this.length; i += 1) { 5156 const el = this[i]; 5157 5158 if (Array.isArray(value) && el.multiple && el.nodeName.toLowerCase() === 'select') { 5159 for (let j = 0; j < el.options.length; j += 1) { 5160 el.options[j].selected = value.indexOf(el.options[j].value) >= 0; 5161 } 5162 } else { 5163 el.value = value; 5164 } 5165 } 5166 5167 return this; 5168} 5169 5170function value(value) { 5171 return this.val(value); 5172} 5173 5174function transform(transform) { 5175 for (let i = 0; i < this.length; i += 1) { 5176 this[i].style.transform = transform; 5177 } 5178 5179 return this; 5180} 5181 5182function transition(duration) { 5183 for (let i = 0; i < this.length; i += 1) { 5184 this[i].style.transitionDuration = typeof duration !== 'string' ? `${duration}ms` : duration; 5185 } 5186 5187 return this; 5188} 5189 5190function on(...args) { 5191 let [eventType, targetSelector, listener, capture] = args; 5192 5193 if (typeof args[1] === 'function') { 5194 [eventType, listener, capture] = args; 5195 targetSelector = undefined; 5196 } 5197 5198 if (!capture) capture = false; 5199 5200 function handleLiveEvent(e) { 5201 const target = e.target; 5202 if (!target) return; 5203 const eventData = e.target.dom7EventData || []; 5204 5205 if (eventData.indexOf(e) < 0) { 5206 eventData.unshift(e); 5207 } 5208 5209 if ($(target).is(targetSelector)) listener.apply(target, eventData);else { 5210 const parents = $(target).parents(); // eslint-disable-line 5211 5212 for (let k = 0; k < parents.length; k += 1) { 5213 if ($(parents[k]).is(targetSelector)) listener.apply(parents[k], eventData); 5214 } 5215 } 5216 } 5217 5218 function handleEvent(e) { 5219 const eventData = e && e.target ? e.target.dom7EventData || [] : []; 5220 5221 if (eventData.indexOf(e) < 0) { 5222 eventData.unshift(e); 5223 } 5224 5225 listener.apply(this, eventData); 5226 } 5227 5228 const events = eventType.split(' '); 5229 let j; 5230 5231 for (let i = 0; i < this.length; i += 1) { 5232 const el = this[i]; 5233 5234 if (!targetSelector) { 5235 for (j = 0; j < events.length; j += 1) { 5236 const event = events[j]; 5237 if (!el.dom7Listeners) el.dom7Listeners = {}; 5238 if (!el.dom7Listeners[event]) el.dom7Listeners[event] = []; 5239 el.dom7Listeners[event].push({ 5240 listener, 5241 proxyListener: handleEvent 5242 }); 5243 el.addEventListener(event, handleEvent, capture); 5244 } 5245 } else { 5246 // Live events 5247 for (j = 0; j < events.length; j += 1) { 5248 const event = events[j]; 5249 if (!el.dom7LiveListeners) el.dom7LiveListeners = {}; 5250 if (!el.dom7LiveListeners[event]) el.dom7LiveListeners[event] = []; 5251 el.dom7LiveListeners[event].push({ 5252 listener, 5253 proxyListener: handleLiveEvent 5254 }); 5255 el.addEventListener(event, handleLiveEvent, capture); 5256 } 5257 } 5258 } 5259 5260 return this; 5261} 5262 5263function off(...args) { 5264 let [eventType, targetSelector, listener, capture] = args; 5265 5266 if (typeof args[1] === 'function') { 5267 [eventType, listener, capture] = args; 5268 targetSelector = undefined; 5269 } 5270 5271 if (!capture) capture = false; 5272 const events = eventType.split(' '); 5273 5274 for (let i = 0; i < events.length; i += 1) { 5275 const event = events[i]; 5276 5277 for (let j = 0; j < this.length; j += 1) { 5278 const el = this[j]; 5279 let handlers; 5280 5281 if (!targetSelector && el.dom7Listeners) { 5282 handlers = el.dom7Listeners[event]; 5283 } else if (targetSelector && el.dom7LiveListeners) { 5284 handlers = el.dom7LiveListeners[event]; 5285 } 5286 5287 if (handlers && handlers.length) { 5288 for (let k = handlers.length - 1; k >= 0; k -= 1) { 5289 const handler = handlers[k]; 5290 5291 if (listener && handler.listener === listener) { 5292 el.removeEventListener(event, handler.proxyListener, capture); 5293 handlers.splice(k, 1); 5294 } else if (listener && handler.listener && handler.listener.dom7proxy && handler.listener.dom7proxy === listener) { 5295 el.removeEventListener(event, handler.proxyListener, capture); 5296 handlers.splice(k, 1); 5297 } else if (!listener) { 5298 el.removeEventListener(event, handler.proxyListener, capture); 5299 handlers.splice(k, 1); 5300 } 5301 } 5302 } 5303 } 5304 } 5305 5306 return this; 5307} 5308 5309function once(...args) { 5310 const dom = this; 5311 let [eventName, targetSelector, listener, capture] = args; 5312 5313 if (typeof args[1] === 'function') { 5314 [eventName, listener, capture] = args; 5315 targetSelector = undefined; 5316 } 5317 5318 function onceHandler(...eventArgs) { 5319 listener.apply(this, eventArgs); 5320 dom.off(eventName, targetSelector, onceHandler, capture); 5321 5322 if (onceHandler.dom7proxy) { 5323 delete onceHandler.dom7proxy; 5324 } 5325 } 5326 5327 onceHandler.dom7proxy = listener; 5328 return dom.on(eventName, targetSelector, onceHandler, capture); 5329} 5330 5331function trigger(...args) { 5332 const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)(); 5333 const events = args[0].split(' '); 5334 const eventData = args[1]; 5335 5336 for (let i = 0; i < events.length; i += 1) { 5337 const event = events[i]; 5338 5339 for (let j = 0; j < this.length; j += 1) { 5340 const el = this[j]; 5341 5342 if (window.CustomEvent) { 5343 const evt = new window.CustomEvent(event, { 5344 detail: eventData, 5345 bubbles: true, 5346 cancelable: true 5347 }); 5348 el.dom7EventData = args.filter((data, dataIndex) => dataIndex > 0); 5349 el.dispatchEvent(evt); 5350 el.dom7EventData = []; 5351 delete el.dom7EventData; 5352 } 5353 } 5354 } 5355 5356 return this; 5357} 5358 5359function transitionStart(callback) { 5360 const dom = this; 5361 5362 function fireCallBack(e) { 5363 if (e.target !== this) return; 5364 callback.call(this, e); 5365 dom.off('transitionstart', fireCallBack); 5366 } 5367 5368 if (callback) { 5369 dom.on('transitionstart', fireCallBack); 5370 } 5371 5372 return this; 5373} 5374 5375function transitionEnd(callback) { 5376 const dom = this; 5377 5378 function fireCallBack(e) { 5379 if (e.target !== this) return; 5380 callback.call(this, e); 5381 dom.off('transitionend', fireCallBack); 5382 } 5383 5384 if (callback) { 5385 dom.on('transitionend', fireCallBack); 5386 } 5387 5388 return this; 5389} 5390 5391function animationEnd(callback) { 5392 const dom = this; 5393 5394 function fireCallBack(e) { 5395 if (e.target !== this) return; 5396 callback.call(this, e); 5397 dom.off('animationend', fireCallBack); 5398 } 5399 5400 if (callback) { 5401 dom.on('animationend', fireCallBack); 5402 } 5403 5404 return this; 5405} 5406 5407function width() { 5408 const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)(); 5409 5410 if (this[0] === window) { 5411 return window.innerWidth; 5412 } 5413 5414 if (this.length > 0) { 5415 return parseFloat(this.css('width')); 5416 } 5417 5418 return null; 5419} 5420 5421function outerWidth(includeMargins) { 5422 if (this.length > 0) { 5423 if (includeMargins) { 5424 const styles = this.styles(); 5425 return this[0].offsetWidth + parseFloat(styles.getPropertyValue('margin-right')) + parseFloat(styles.getPropertyValue('margin-left')); 5426 } 5427 5428 return this[0].offsetWidth; 5429 } 5430 5431 return null; 5432} 5433 5434function height() { 5435 const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)(); 5436 5437 if (this[0] === window) { 5438 return window.innerHeight; 5439 } 5440 5441 if (this.length > 0) { 5442 return parseFloat(this.css('height')); 5443 } 5444 5445 return null; 5446} 5447 5448function outerHeight(includeMargins) { 5449 if (this.length > 0) { 5450 if (includeMargins) { 5451 const styles = this.styles(); 5452 return this[0].offsetHeight + parseFloat(styles.getPropertyValue('margin-top')) + parseFloat(styles.getPropertyValue('margin-bottom')); 5453 } 5454 5455 return this[0].offsetHeight; 5456 } 5457 5458 return null; 5459} 5460 5461function offset() { 5462 if (this.length > 0) { 5463 const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)(); 5464 const document = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getDocument)(); 5465 const el = this[0]; 5466 const box = el.getBoundingClientRect(); 5467 const body = document.body; 5468 const clientTop = el.clientTop || body.clientTop || 0; 5469 const clientLeft = el.clientLeft || body.clientLeft || 0; 5470 const scrollTop = el === window ? window.scrollY : el.scrollTop; 5471 const scrollLeft = el === window ? window.scrollX : el.scrollLeft; 5472 return { 5473 top: box.top + scrollTop - clientTop, 5474 left: box.left + scrollLeft - clientLeft 5475 }; 5476 } 5477 5478 return null; 5479} 5480 5481function hide() { 5482 for (let i = 0; i < this.length; i += 1) { 5483 this[i].style.display = 'none'; 5484 } 5485 5486 return this; 5487} 5488 5489function show() { 5490 const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)(); 5491 5492 for (let i = 0; i < this.length; i += 1) { 5493 const el = this[i]; 5494 5495 if (el.style.display === 'none') { 5496 el.style.display = ''; 5497 } 5498 5499 if (window.getComputedStyle(el, null).getPropertyValue('display') === 'none') { 5500 // Still not visible 5501 el.style.display = 'block'; 5502 } 5503 } 5504 5505 return this; 5506} 5507 5508function styles() { 5509 const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)(); 5510 if (this[0]) return window.getComputedStyle(this[0], null); 5511 return {}; 5512} 5513 5514function css(props, value) { 5515 const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)(); 5516 let i; 5517 5518 if (arguments.length === 1) { 5519 if (typeof props === 'string') { 5520 // .css('width') 5521 if (this[0]) return window.getComputedStyle(this[0], null).getPropertyValue(props); 5522 } else { 5523 // .css({ width: '100px' }) 5524 for (i = 0; i < this.length; i += 1) { 5525 for (const prop in props) { 5526 this[i].style[prop] = props[prop]; 5527 } 5528 } 5529 5530 return this; 5531 } 5532 } 5533 5534 if (arguments.length === 2 && typeof props === 'string') { 5535 // .css('width', '100px') 5536 for (i = 0; i < this.length; i += 1) { 5537 this[i].style[props] = value; 5538 } 5539 5540 return this; 5541 } 5542 5543 return this; 5544} 5545 5546function each(callback) { 5547 if (!callback) return this; 5548 this.forEach((el, index) => { 5549 callback.apply(el, [el, index]); 5550 }); 5551 return this; 5552} 5553 5554function filter(callback) { 5555 const result = arrayFilter(this, callback); 5556 return $(result); 5557} 5558 5559function html(html) { 5560 if (typeof html === 'undefined') { 5561 return this[0] ? this[0].innerHTML : null; 5562 } 5563 5564 for (let i = 0; i < this.length; i += 1) { 5565 this[i].innerHTML = html; 5566 } 5567 5568 return this; 5569} 5570 5571function text(text) { 5572 if (typeof text === 'undefined') { 5573 return this[0] ? this[0].textContent.trim() : null; 5574 } 5575 5576 for (let i = 0; i < this.length; i += 1) { 5577 this[i].textContent = text; 5578 } 5579 5580 return this; 5581} 5582 5583function is(selector) { 5584 const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)(); 5585 const document = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getDocument)(); 5586 const el = this[0]; 5587 let compareWith; 5588 let i; 5589 if (!el || typeof selector === 'undefined') return false; 5590 5591 if (typeof selector === 'string') { 5592 if (el.matches) return el.matches(selector); 5593 if (el.webkitMatchesSelector) return el.webkitMatchesSelector(selector); 5594 if (el.msMatchesSelector) return el.msMatchesSelector(selector); 5595 compareWith = $(selector); 5596 5597 for (i = 0; i < compareWith.length; i += 1) { 5598 if (compareWith[i] === el) return true; 5599 } 5600 5601 return false; 5602 } 5603 5604 if (selector === document) { 5605 return el === document; 5606 } 5607 5608 if (selector === window) { 5609 return el === window; 5610 } 5611 5612 if (selector.nodeType || selector instanceof Dom7) { 5613 compareWith = selector.nodeType ? [selector] : selector; 5614 5615 for (i = 0; i < compareWith.length; i += 1) { 5616 if (compareWith[i] === el) return true; 5617 } 5618 5619 return false; 5620 } 5621 5622 return false; 5623} 5624 5625function index() { 5626 let child = this[0]; 5627 let i; 5628 5629 if (child) { 5630 i = 0; // eslint-disable-next-line 5631 5632 while ((child = child.previousSibling) !== null) { 5633 if (child.nodeType === 1) i += 1; 5634 } 5635 5636 return i; 5637 } 5638 5639 return undefined; 5640} 5641 5642function eq(index) { 5643 if (typeof index === 'undefined') return this; 5644 const length = this.length; 5645 5646 if (index > length - 1) { 5647 return $([]); 5648 } 5649 5650 if (index < 0) { 5651 const returnIndex = length + index; 5652 if (returnIndex < 0) return $([]); 5653 return $([this[returnIndex]]); 5654 } 5655 5656 return $([this[index]]); 5657} 5658 5659function append(...els) { 5660 let newChild; 5661 const document = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getDocument)(); 5662 5663 for (let k = 0; k < els.length; k += 1) { 5664 newChild = els[k]; 5665 5666 for (let i = 0; i < this.length; i += 1) { 5667 if (typeof newChild === 'string') { 5668 const tempDiv = document.createElement('div'); 5669 tempDiv.innerHTML = newChild; 5670 5671 while (tempDiv.firstChild) { 5672 this[i].appendChild(tempDiv.firstChild); 5673 } 5674 } else if (newChild instanceof Dom7) { 5675 for (let j = 0; j < newChild.length; j += 1) { 5676 this[i].appendChild(newChild[j]); 5677 } 5678 } else { 5679 this[i].appendChild(newChild); 5680 } 5681 } 5682 } 5683 5684 return this; 5685} 5686 5687function appendTo(parent) { 5688 $(parent).append(this); 5689 return this; 5690} 5691 5692function prepend(newChild) { 5693 const document = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getDocument)(); 5694 let i; 5695 let j; 5696 5697 for (i = 0; i < this.length; i += 1) { 5698 if (typeof newChild === 'string') { 5699 const tempDiv = document.createElement('div'); 5700 tempDiv.innerHTML = newChild; 5701 5702 for (j = tempDiv.childNodes.length - 1; j >= 0; j -= 1) { 5703 this[i].insertBefore(tempDiv.childNodes[j], this[i].childNodes[0]); 5704 } 5705 } else if (newChild instanceof Dom7) { 5706 for (j = 0; j < newChild.length; j += 1) { 5707 this[i].insertBefore(newChild[j], this[i].childNodes[0]); 5708 } 5709 } else { 5710 this[i].insertBefore(newChild, this[i].childNodes[0]); 5711 } 5712 } 5713 5714 return this; 5715} 5716 5717function prependTo(parent) { 5718 $(parent).prepend(this); 5719 return this; 5720} 5721 5722function insertBefore(selector) { 5723 const before = $(selector); 5724 5725 for (let i = 0; i < this.length; i += 1) { 5726 if (before.length === 1) { 5727 before[0].parentNode.insertBefore(this[i], before[0]); 5728 } else if (before.length > 1) { 5729 for (let j = 0; j < before.length; j += 1) { 5730 before[j].parentNode.insertBefore(this[i].cloneNode(true), before[j]); 5731 } 5732 } 5733 } 5734} 5735 5736function insertAfter(selector) { 5737 const after = $(selector); 5738 5739 for (let i = 0; i < this.length; i += 1) { 5740 if (after.length === 1) { 5741 after[0].parentNode.insertBefore(this[i], after[0].nextSibling); 5742 } else if (after.length > 1) { 5743 for (let j = 0; j < after.length; j += 1) { 5744 after[j].parentNode.insertBefore(this[i].cloneNode(true), after[j].nextSibling); 5745 } 5746 } 5747 } 5748} 5749 5750function next(selector) { 5751 if (this.length > 0) { 5752 if (selector) { 5753 if (this[0].nextElementSibling && $(this[0].nextElementSibling).is(selector)) { 5754 return $([this[0].nextElementSibling]); 5755 } 5756 5757 return $([]); 5758 } 5759 5760 if (this[0].nextElementSibling) return $([this[0].nextElementSibling]); 5761 return $([]); 5762 } 5763 5764 return $([]); 5765} 5766 5767function nextAll(selector) { 5768 const nextEls = []; 5769 let el = this[0]; 5770 if (!el) return $([]); 5771 5772 while (el.nextElementSibling) { 5773 const next = el.nextElementSibling; // eslint-disable-line 5774 5775 if (selector) { 5776 if ($(next).is(selector)) nextEls.push(next); 5777 } else nextEls.push(next); 5778 5779 el = next; 5780 } 5781 5782 return $(nextEls); 5783} 5784 5785function prev(selector) { 5786 if (this.length > 0) { 5787 const el = this[0]; 5788 5789 if (selector) { 5790 if (el.previousElementSibling && $(el.previousElementSibling).is(selector)) { 5791 return $([el.previousElementSibling]); 5792 } 5793 5794 return $([]); 5795 } 5796 5797 if (el.previousElementSibling) return $([el.previousElementSibling]); 5798 return $([]); 5799 } 5800 5801 return $([]); 5802} 5803 5804function prevAll(selector) { 5805 const prevEls = []; 5806 let el = this[0]; 5807 if (!el) return $([]); 5808 5809 while (el.previousElementSibling) { 5810 const prev = el.previousElementSibling; // eslint-disable-line 5811 5812 if (selector) { 5813 if ($(prev).is(selector)) prevEls.push(prev); 5814 } else prevEls.push(prev); 5815 5816 el = prev; 5817 } 5818 5819 return $(prevEls); 5820} 5821 5822function siblings(selector) { 5823 return this.nextAll(selector).add(this.prevAll(selector)); 5824} 5825 5826function parent(selector) { 5827 const parents = []; // eslint-disable-line 5828 5829 for (let i = 0; i < this.length; i += 1) { 5830 if (this[i].parentNode !== null) { 5831 if (selector) { 5832 if ($(this[i].parentNode).is(selector)) parents.push(this[i].parentNode); 5833 } else { 5834 parents.push(this[i].parentNode); 5835 } 5836 } 5837 } 5838 5839 return $(parents); 5840} 5841 5842function parents(selector) { 5843 const parents = []; // eslint-disable-line 5844 5845 for (let i = 0; i < this.length; i += 1) { 5846 let parent = this[i].parentNode; // eslint-disable-line 5847 5848 while (parent) { 5849 if (selector) { 5850 if ($(parent).is(selector)) parents.push(parent); 5851 } else { 5852 parents.push(parent); 5853 } 5854 5855 parent = parent.parentNode; 5856 } 5857 } 5858 5859 return $(parents); 5860} 5861 5862function closest(selector) { 5863 let closest = this; // eslint-disable-line 5864 5865 if (typeof selector === 'undefined') { 5866 return $([]); 5867 } 5868 5869 if (!closest.is(selector)) { 5870 closest = closest.parents(selector).eq(0); 5871 } 5872 5873 return closest; 5874} 5875 5876function find(selector) { 5877 const foundElements = []; 5878 5879 for (let i = 0; i < this.length; i += 1) { 5880 const found = this[i].querySelectorAll(selector); 5881 5882 for (let j = 0; j < found.length; j += 1) { 5883 foundElements.push(found[j]); 5884 } 5885 } 5886 5887 return $(foundElements); 5888} 5889 5890function children(selector) { 5891 const children = []; // eslint-disable-line 5892 5893 for (let i = 0; i < this.length; i += 1) { 5894 const childNodes = this[i].children; 5895 5896 for (let j = 0; j < childNodes.length; j += 1) { 5897 if (!selector || $(childNodes[j]).is(selector)) { 5898 children.push(childNodes[j]); 5899 } 5900 } 5901 } 5902 5903 return $(children); 5904} 5905 5906function remove() { 5907 for (let i = 0; i < this.length; i += 1) { 5908 if (this[i].parentNode) this[i].parentNode.removeChild(this[i]); 5909 } 5910 5911 return this; 5912} 5913 5914function detach() { 5915 return this.remove(); 5916} 5917 5918function add(...els) { 5919 const dom = this; 5920 let i; 5921 let j; 5922 5923 for (i = 0; i < els.length; i += 1) { 5924 const toAdd = $(els[i]); 5925 5926 for (j = 0; j < toAdd.length; j += 1) { 5927 dom.push(toAdd[j]); 5928 } 5929 } 5930 5931 return dom; 5932} 5933 5934function empty() { 5935 for (let i = 0; i < this.length; i += 1) { 5936 const el = this[i]; 5937 5938 if (el.nodeType === 1) { 5939 for (let j = 0; j < el.childNodes.length; j += 1) { 5940 if (el.childNodes[j].parentNode) { 5941 el.childNodes[j].parentNode.removeChild(el.childNodes[j]); 5942 } 5943 } 5944 5945 el.textContent = ''; 5946 } 5947 } 5948 5949 return this; 5950} 5951 5952// eslint-disable-next-line 5953 5954function scrollTo(...args) { 5955 const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)(); 5956 let [left, top, duration, easing, callback] = args; 5957 5958 if (args.length === 4 && typeof easing === 'function') { 5959 callback = easing; 5960 [left, top, duration, callback, easing] = args; 5961 } 5962 5963 if (typeof easing === 'undefined') easing = 'swing'; 5964 return this.each(function animate() { 5965 const el = this; 5966 let currentTop; 5967 let currentLeft; 5968 let maxTop; 5969 let maxLeft; 5970 let newTop; 5971 let newLeft; 5972 let scrollTop; // eslint-disable-line 5973 5974 let scrollLeft; // eslint-disable-line 5975 5976 let animateTop = top > 0 || top === 0; 5977 let animateLeft = left > 0 || left === 0; 5978 5979 if (typeof easing === 'undefined') { 5980 easing = 'swing'; 5981 } 5982 5983 if (animateTop) { 5984 currentTop = el.scrollTop; 5985 5986 if (!duration) { 5987 el.scrollTop = top; 5988 } 5989 } 5990 5991 if (animateLeft) { 5992 currentLeft = el.scrollLeft; 5993 5994 if (!duration) { 5995 el.scrollLeft = left; 5996 } 5997 } 5998 5999 if (!duration) return; 6000 6001 if (animateTop) { 6002 maxTop = el.scrollHeight - el.offsetHeight; 6003 newTop = Math.max(Math.min(top, maxTop), 0); 6004 } 6005 6006 if (animateLeft) { 6007 maxLeft = el.scrollWidth - el.offsetWidth; 6008 newLeft = Math.max(Math.min(left, maxLeft), 0); 6009 } 6010 6011 let startTime = null; 6012 if (animateTop && newTop === currentTop) animateTop = false; 6013 if (animateLeft && newLeft === currentLeft) animateLeft = false; 6014 6015 function render(time = new Date().getTime()) { 6016 if (startTime === null) { 6017 startTime = time; 6018 } 6019 6020 const progress = Math.max(Math.min((time - startTime) / duration, 1), 0); 6021 const easeProgress = easing === 'linear' ? progress : 0.5 - Math.cos(progress * Math.PI) / 2; 6022 let done; 6023 if (animateTop) scrollTop = currentTop + easeProgress * (newTop - currentTop); 6024 if (animateLeft) scrollLeft = currentLeft + easeProgress * (newLeft - currentLeft); 6025 6026 if (animateTop && newTop > currentTop && scrollTop >= newTop) { 6027 el.scrollTop = newTop; 6028 done = true; 6029 } 6030 6031 if (animateTop && newTop < currentTop && scrollTop <= newTop) { 6032 el.scrollTop = newTop; 6033 done = true; 6034 } 6035 6036 if (animateLeft && newLeft > currentLeft && scrollLeft >= newLeft) { 6037 el.scrollLeft = newLeft; 6038 done = true; 6039 } 6040 6041 if (animateLeft && newLeft < currentLeft && scrollLeft <= newLeft) { 6042 el.scrollLeft = newLeft; 6043 done = true; 6044 } 6045 6046 if (done) { 6047 if (callback) callback(); 6048 return; 6049 } 6050 6051 if (animateTop) el.scrollTop = scrollTop; 6052 if (animateLeft) el.scrollLeft = scrollLeft; 6053 window.requestAnimationFrame(render); 6054 } 6055 6056 window.requestAnimationFrame(render); 6057 }); 6058} // scrollTop(top, duration, easing, callback) { 6059 6060 6061function scrollTop(...args) { 6062 let [top, duration, easing, callback] = args; 6063 6064 if (args.length === 3 && typeof easing === 'function') { 6065 [top, duration, callback, easing] = args; 6066 } 6067 6068 const dom = this; 6069 6070 if (typeof top === 'undefined') { 6071 if (dom.length > 0) return dom[0].scrollTop; 6072 return null; 6073 } 6074 6075 return dom.scrollTo(undefined, top, duration, easing, callback); 6076} 6077 6078function scrollLeft(...args) { 6079 let [left, duration, easing, callback] = args; 6080 6081 if (args.length === 3 && typeof easing === 'function') { 6082 [left, duration, callback, easing] = args; 6083 } 6084 6085 const dom = this; 6086 6087 if (typeof left === 'undefined') { 6088 if (dom.length > 0) return dom[0].scrollLeft; 6089 return null; 6090 } 6091 6092 return dom.scrollTo(left, undefined, duration, easing, callback); 6093} 6094 6095// eslint-disable-next-line 6096 6097function animate(initialProps, initialParams) { 6098 const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)(); 6099 const els = this; 6100 const a = { 6101 props: Object.assign({}, initialProps), 6102 params: Object.assign({ 6103 duration: 300, 6104 easing: 'swing' // or 'linear' 6105 6106 /* Callbacks 6107 begin(elements) 6108 complete(elements) 6109 progress(elements, complete, remaining, start, tweenValue) 6110 */ 6111 6112 }, initialParams), 6113 elements: els, 6114 animating: false, 6115 que: [], 6116 6117 easingProgress(easing, progress) { 6118 if (easing === 'swing') { 6119 return 0.5 - Math.cos(progress * Math.PI) / 2; 6120 } 6121 6122 if (typeof easing === 'function') { 6123 return easing(progress); 6124 } 6125 6126 return progress; 6127 }, 6128 6129 stop() { 6130 if (a.frameId) { 6131 window.cancelAnimationFrame(a.frameId); 6132 } 6133 6134 a.animating = false; 6135 a.elements.each(el => { 6136 const element = el; 6137 delete element.dom7AnimateInstance; 6138 }); 6139 a.que = []; 6140 }, 6141 6142 done(complete) { 6143 a.animating = false; 6144 a.elements.each(el => { 6145 const element = el; 6146 delete element.dom7AnimateInstance; 6147 }); 6148 if (complete) complete(els); 6149 6150 if (a.que.length > 0) { 6151 const que = a.que.shift(); 6152 a.animate(que[0], que[1]); 6153 } 6154 }, 6155 6156 animate(props, params) { 6157 if (a.animating) { 6158 a.que.push([props, params]); 6159 return a; 6160 } 6161 6162 const elements = []; // Define & Cache Initials & Units 6163 6164 a.elements.each((el, index) => { 6165 let initialFullValue; 6166 let initialValue; 6167 let unit; 6168 let finalValue; 6169 let finalFullValue; 6170 if (!el.dom7AnimateInstance) a.elements[index].dom7AnimateInstance = a; 6171 elements[index] = { 6172 container: el 6173 }; 6174 Object.keys(props).forEach(prop => { 6175 initialFullValue = window.getComputedStyle(el, null).getPropertyValue(prop).replace(',', '.'); 6176 initialValue = parseFloat(initialFullValue); 6177 unit = initialFullValue.replace(initialValue, ''); 6178 finalValue = parseFloat(props[prop]); 6179 finalFullValue = props[prop] + unit; 6180 elements[index][prop] = { 6181 initialFullValue, 6182 initialValue, 6183 unit, 6184 finalValue, 6185 finalFullValue, 6186 currentValue: initialValue 6187 }; 6188 }); 6189 }); 6190 let startTime = null; 6191 let time; 6192 let elementsDone = 0; 6193 let propsDone = 0; 6194 let done; 6195 let began = false; 6196 a.animating = true; 6197 6198 function render() { 6199 time = new Date().getTime(); 6200 let progress; 6201 let easeProgress; // let el; 6202 6203 if (!began) { 6204 began = true; 6205 if (params.begin) params.begin(els); 6206 } 6207 6208 if (startTime === null) { 6209 startTime = time; 6210 } 6211 6212 if (params.progress) { 6213 // eslint-disable-next-line 6214 params.progress(els, Math.max(Math.min((time - startTime) / params.duration, 1), 0), startTime + params.duration - time < 0 ? 0 : startTime + params.duration - time, startTime); 6215 } 6216 6217 elements.forEach(element => { 6218 const el = element; 6219 if (done || el.done) return; 6220 Object.keys(props).forEach(prop => { 6221 if (done || el.done) return; 6222 progress = Math.max(Math.min((time - startTime) / params.duration, 1), 0); 6223 easeProgress = a.easingProgress(params.easing, progress); 6224 const { 6225 initialValue, 6226 finalValue, 6227 unit 6228 } = el[prop]; 6229 el[prop].currentValue = initialValue + easeProgress * (finalValue - initialValue); 6230 const currentValue = el[prop].currentValue; 6231 6232 if (finalValue > initialValue && currentValue >= finalValue || finalValue < initialValue && currentValue <= finalValue) { 6233 el.container.style[prop] = finalValue + unit; 6234 propsDone += 1; 6235 6236 if (propsDone === Object.keys(props).length) { 6237 el.done = true; 6238 elementsDone += 1; 6239 } 6240 6241 if (elementsDone === elements.length) { 6242 done = true; 6243 } 6244 } 6245 6246 if (done) { 6247 a.done(params.complete); 6248 return; 6249 } 6250 6251 el.container.style[prop] = currentValue + unit; 6252 }); 6253 }); 6254 if (done) return; // Then call 6255 6256 a.frameId = window.requestAnimationFrame(render); 6257 } 6258 6259 a.frameId = window.requestAnimationFrame(render); 6260 return a; 6261 } 6262 6263 }; 6264 6265 if (a.elements.length === 0) { 6266 return els; 6267 } 6268 6269 let animateInstance; 6270 6271 for (let i = 0; i < a.elements.length; i += 1) { 6272 if (a.elements[i].dom7AnimateInstance) { 6273 animateInstance = a.elements[i].dom7AnimateInstance; 6274 } else a.elements[i].dom7AnimateInstance = a; 6275 } 6276 6277 if (!animateInstance) { 6278 animateInstance = a; 6279 } 6280 6281 if (initialProps === 'stop') { 6282 animateInstance.stop(); 6283 } else { 6284 animateInstance.animate(a.props, a.params); 6285 } 6286 6287 return els; 6288} 6289 6290function stop() { 6291 const els = this; 6292 6293 for (let i = 0; i < els.length; i += 1) { 6294 if (els[i].dom7AnimateInstance) { 6295 els[i].dom7AnimateInstance.stop(); 6296 } 6297 } 6298} 6299 6300const noTrigger = 'resize scroll'.split(' '); 6301 6302function shortcut(name) { 6303 function eventHandler(...args) { 6304 if (typeof args[0] === 'undefined') { 6305 for (let i = 0; i < this.length; i += 1) { 6306 if (noTrigger.indexOf(name) < 0) { 6307 if (name in this[i]) this[i][name]();else { 6308 $(this[i]).trigger(name); 6309 } 6310 } 6311 } 6312 6313 return this; 6314 } 6315 6316 return this.on(name, ...args); 6317 } 6318 6319 return eventHandler; 6320} 6321 6322const click = shortcut('click'); 6323const blur = shortcut('blur'); 6324const focus = shortcut('focus'); 6325const focusin = shortcut('focusin'); 6326const focusout = shortcut('focusout'); 6327const keyup = shortcut('keyup'); 6328const keydown = shortcut('keydown'); 6329const keypress = shortcut('keypress'); 6330const submit = shortcut('submit'); 6331const change = shortcut('change'); 6332const mousedown = shortcut('mousedown'); 6333const mousemove = shortcut('mousemove'); 6334const mouseup = shortcut('mouseup'); 6335const mouseenter = shortcut('mouseenter'); 6336const mouseleave = shortcut('mouseleave'); 6337const mouseout = shortcut('mouseout'); 6338const mouseover = shortcut('mouseover'); 6339const touchstart = shortcut('touchstart'); 6340const touchend = shortcut('touchend'); 6341const touchmove = shortcut('touchmove'); 6342const resize = shortcut('resize'); 6343const scroll = shortcut('scroll'); 6344 6345/* harmony default export */ __webpack_exports__["default"] = ($); 6346 6347 6348 6349/***/ }), 6350
vendor: 289,339 bytes, lines 6351-17247
6351/***/ "./node_modules/jquery/dist/jquery.js": 6352/*!********************************************!*\ 6353 !*** ./node_modules/jquery/dist/jquery.js ***! 6354 \********************************************/ 6355/*! unknown exports (runtime-defined) */ 6356/*! runtime requirements: module, top-level-this-exports, __webpack_exports__ */ 6357/*! CommonJS bailout: this is used directly at 40:46-50 */ 6358/*! CommonJS bailout: module.exports is used directly at 18:43-57 */ 6359/*! CommonJS bailout: module.exports is used directly at 27:2-16 */ 6360/***/ (function(module, exports) { 6361 6362var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*! 6363 * jQuery JavaScript Library v3.6.0 6364 * https://jquery.com/ 6365 * 6366 * Includes Sizzle.js 6367 * https://sizzlejs.com/ 6368 * 6369 * Copyright OpenJS Foundation and other contributors 6370 * Released under the MIT license 6371 * https://jquery.org/license 6372 * 6373 * Date: 2021-03-02T17:08Z 6374 */ 6375( function( global, factory ) { 6376 6377 "use strict"; 6378 6379 if ( true && typeof module.exports === "object" ) { 6380 6381 // For CommonJS and CommonJS-like environments where a proper `window` 6382 // is present, execute the factory and get jQuery. 6383 // For environments that do not have a `window` with a `document` 6384 // (such as Node.js), expose a factory as module.exports. 6385 // This accentuates the need for the creation of a real `window`. 6386 // e.g. var jQuery = require("jquery")(window); 6387 // See ticket #14549 for more info. 6388 module.exports = global.document ? 6389 factory( global, true ) : 6390 function( w ) { 6391 if ( !w.document ) { 6392 throw new Error( "jQuery requires a window with a document" ); 6393 } 6394 return factory( w ); 6395 }; 6396 } else { 6397 factory( global ); 6398 } 6399 6400// Pass this if window is not defined yet 6401} )( typeof window !== "undefined" ? window : this, function( window, noGlobal ) { 6402 6403// Edge <= 12 - 13+, Firefox <=18 - 45+, IE 10 - 11, Safari 5.1 - 9+, iOS 6 - 9.1 6404// throw exceptions when non-strict code (e.g., ASP.NET 4.5) accesses strict mode 6405// arguments.callee.caller (trac-13335). But as of jQuery 3.0 (2016), strict mode should be common 6406// enough that all such attempts are guarded in a try block. 6407"use strict"; 6408 6409var arr = []; 6410 6411var getProto = Object.getPrototypeOf; 6412 6413var slice = arr.slice; 6414 6415var flat = arr.flat ? function( array ) { 6416 return arr.flat.call( array ); 6417} : function( array ) { 6418 return arr.concat.apply( [], array ); 6419}; 6420 6421 6422var push = arr.push; 6423 6424var indexOf = arr.indexOf; 6425 6426var class2type = {}; 6427 6428var toString = class2type.toString; 6429 6430var hasOwn = class2type.hasOwnProperty; 6431 6432var fnToString = hasOwn.toString; 6433 6434var ObjectFunctionString = fnToString.call( Object ); 6435 6436var support = {}; 6437 6438var isFunction = function isFunction( obj ) { 6439 6440 // Support: Chrome <=57, Firefox <=52 6441 // In some browsers, typeof returns "function" for HTML <object> elements 6442 // (i.e., `typeof document.createElement( "object" ) === "function"`). 6443 // We don't want to classify *any* DOM node as a function. 6444 // Support: QtWeb <=3.8.5, WebKit <=534.34, wkhtmltopdf tool <=0.12.5 6445 // Plus for old WebKit, typeof returns "function" for HTML collections 6446 // (e.g., `typeof document.getElementsByTagName("div") === "function"`). (gh-4756) 6447 return typeof obj === "function" && typeof obj.nodeType !== "number" && 6448 typeof obj.item !== "function"; 6449 }; 6450 6451 6452var isWindow = function isWindow( obj ) { 6453 return obj != null && obj === obj.window; 6454 }; 6455 6456 6457var document = window.document; 6458 6459 6460 6461 var preservedScriptAttributes = { 6462 type: true, 6463 src: true, 6464 nonce: true, 6465 noModule: true 6466 }; 6467 6468 function DOMEval( code, node, doc ) { 6469 doc = doc || document; 6470 6471 var i, val, 6472 script = doc.createElement( "script" ); 6473 6474 script.text = code; 6475 if ( node ) { 6476 for ( i in preservedScriptAttributes ) { 6477 6478 // Support: Firefox 64+, Edge 18+ 6479 // Some browsers don't support the "nonce" property on scripts. 6480 // On the other hand, just using `getAttribute` is not enough as 6481 // the `nonce` attribute is reset to an empty string whenever it 6482 // becomes browsing-context connected. 6483 // See https://github.com/whatwg/html/issues/2369 6484 // See https://html.spec.whatwg.org/#nonce-attributes 6485 // The `node.getAttribute` check was added for the sake of 6486 // `jQuery.globalEval` so that it can fake a nonce-containing node 6487 // via an object. 6488 val = node[ i ] || node.getAttribute && node.getAttribute( i ); 6489 if ( val ) { 6490 script.setAttribute( i, val ); 6491 } 6492 } 6493 } 6494 doc.head.appendChild( script ).parentNode.removeChild( script ); 6495 } 6496 6497 6498function toType( obj ) { 6499 if ( obj == null ) { 6500 return obj + ""; 6501 } 6502 6503 // Support: Android <=2.3 only (functionish RegExp) 6504 return typeof obj === "object" || typeof obj === "function" ? 6505 class2type[ toString.call( obj ) ] || "object" : 6506 typeof obj; 6507} 6508/* global Symbol */ 6509// Defining this global in .eslintrc.json would create a danger of using the global 6510// unguarded in another place, it seems safer to define global only for this module 6511 6512 6513 6514var 6515 version = "3.6.0", 6516 6517 // Define a local copy of jQuery 6518 jQuery = function( selector, context ) { 6519 6520 // The jQuery object is actually just the init constructor 'enhanced' 6521 // Need init if jQuery is called (just allow error to be thrown if not included) 6522 return new jQuery.fn.init( selector, context ); 6523 }; 6524 6525jQuery.fn = jQuery.prototype = { 6526 6527 // The current version of jQuery being used 6528 jquery: version, 6529 6530 constructor: jQuery, 6531 6532 // The default length of a jQuery object is 0 6533 length: 0, 6534 6535 toArray: function() { 6536 return slice.call( this ); 6537 }, 6538 6539 // Get the Nth element in the matched element set OR 6540 // Get the whole matched element set as a clean array 6541 get: function( num ) { 6542 6543 // Return all the elements in a clean array 6544 if ( num == null ) { 6545 return slice.call( this ); 6546 } 6547 6548 // Return just the one element from the set 6549 return num < 0 ? this[ num + this.length ] : this[ num ]; 6550 }, 6551 6552 // Take an array of elements and push it onto the stack 6553 // (returning the new matched element set) 6554 pushStack: function( elems ) { 6555 6556 // Build a new jQuery matched element set 6557 var ret = jQuery.merge( this.constructor(), elems ); 6558 6559 // Add the old object onto the stack (as a reference) 6560 ret.prevObject = this; 6561 6562 // Return the newly-formed element set 6563 return ret; 6564 }, 6565 6566 // Execute a callback for every element in the matched set. 6567 each: function( callback ) { 6568 return jQuery.each( this, callback ); 6569 }, 6570 6571 map: function( callback ) { 6572 return this.pushStack( jQuery.map( this, function( elem, i ) { 6573 return callback.call( elem, i, elem ); 6574 } ) ); 6575 }, 6576 6577 slice: function() { 6578 return this.pushStack( slice.apply( this, arguments ) ); 6579 }, 6580 6581 first: function() { 6582 return this.eq( 0 ); 6583 }, 6584 6585 last: function() { 6586 return this.eq( -1 ); 6587 }, 6588 6589 even: function() { 6590 return this.pushStack( jQuery.grep( this, function( _elem, i ) { 6591 return ( i + 1 ) % 2; 6592 } ) ); 6593 }, 6594 6595 odd: function() { 6596 return this.pushStack( jQuery.grep( this, function( _elem, i ) { 6597 return i % 2; 6598 } ) ); 6599 }, 6600 6601 eq: function( i ) { 6602 var len = this.length, 6603 j = +i + ( i < 0 ? len : 0 ); 6604 return this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] ); 6605 }, 6606 6607 end: function() { 6608 return this.prevObject || this.constructor(); 6609 }, 6610 6611 // For internal use only. 6612 // Behaves like an Array's method, not like a jQuery method. 6613 push: push, 6614 sort: arr.sort, 6615 splice: arr.splice 6616}; 6617 6618jQuery.extend = jQuery.fn.extend = function() { 6619 var options, name, src, copy, copyIsArray, clone, 6620 target = arguments[ 0 ] || {}, 6621 i = 1, 6622 length = arguments.length, 6623 deep = false; 6624 6625 // Handle a deep copy situation 6626 if ( typeof target === "boolean" ) { 6627 deep = target; 6628 6629 // Skip the boolean and the target 6630 target = arguments[ i ] || {}; 6631 i++; 6632 } 6633 6634 // Handle case when target is a string or something (possible in deep copy) 6635 if ( typeof target !== "object" && !isFunction( target ) ) { 6636 target = {}; 6637 } 6638 6639 // Extend jQuery itself if only one argument is passed 6640 if ( i === length ) { 6641 target = this; 6642 i--; 6643 } 6644 6645 for ( ; i < length; i++ ) { 6646 6647 // Only deal with non-null/undefined values 6648 if ( ( options = arguments[ i ] ) != null ) { 6649 6650 // Extend the base object 6651 for ( name in options ) { 6652 copy = options[ name ]; 6653 6654 // Prevent Object.prototype pollution 6655 // Prevent never-ending loop 6656 if ( name === "__proto__" || target === copy ) { 6657 continue; 6658 } 6659 6660 // Recurse if we're merging plain objects or arrays 6661 if ( deep && copy && ( jQuery.isPlainObject( copy ) || 6662 ( copyIsArray = Array.isArray( copy ) ) ) ) { 6663 src = target[ name ]; 6664 6665 // Ensure proper type for the source value 6666 if ( copyIsArray && !Array.isArray( src ) ) { 6667 clone = []; 6668 } else if ( !copyIsArray && !jQuery.isPlainObject( src ) ) { 6669 clone = {}; 6670 } else { 6671 clone = src; 6672 } 6673 copyIsArray = false; 6674 6675 // Never move original objects, clone them 6676 target[ name ] = jQuery.extend( deep, clone, copy ); 6677 6678 // Don't bring in undefined values 6679 } else if ( copy !== undefined ) { 6680 target[ name ] = copy; 6681 } 6682 } 6683 } 6684 } 6685 6686 // Return the modified object 6687 return target; 6688}; 6689 6690jQuery.extend( { 6691 6692 // Unique for each copy of jQuery on the page 6693 expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ), 6694 6695 // Assume jQuery is ready without the ready module 6696 isReady: true, 6697 6698 error: function( msg ) { 6699 throw new Error( msg ); 6700 }, 6701 6702 noop: function() {}, 6703 6704 isPlainObject: function( obj ) { 6705 var proto, Ctor; 6706 6707 // Detect obvious negatives 6708 // Use toString instead of jQuery.type to catch host objects 6709 if ( !obj || toString.call( obj ) !== "[object Object]" ) { 6710 return false; 6711 } 6712 6713 proto = getProto( obj ); 6714 6715 // Objects with no prototype (e.g., `Object.create( null )`) are plain 6716 if ( !proto ) { 6717 return true; 6718 } 6719 6720 // Objects with prototype are plain iff they were constructed by a global Object function 6721 Ctor = hasOwn.call( proto, "constructor" ) && proto.constructor; 6722 return typeof Ctor === "function" && fnToString.call( Ctor ) === ObjectFunctionString; 6723 }, 6724 6725 isEmptyObject: function( obj ) { 6726 var name; 6727 6728 for ( name in obj ) { 6729 return false; 6730 } 6731 return true; 6732 }, 6733 6734 // Evaluates a script in a provided context; falls back to the global one 6735 // if not specified. 6736 globalEval: function( code, options, doc ) { 6737 DOMEval( code, { nonce: options && options.nonce }, doc ); 6738 }, 6739 6740 each: function( obj, callback ) { 6741 var length, i = 0; 6742 6743 if ( isArrayLike( obj ) ) { 6744 length = obj.length; 6745 for ( ; i < length; i++ ) { 6746 if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { 6747 break; 6748 } 6749 } 6750 } else { 6751 for ( i in obj ) { 6752 if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { 6753 break; 6754 } 6755 } 6756 } 6757 6758 return obj; 6759 }, 6760 6761 // results is for internal usage only 6762 makeArray: function( arr, results ) { 6763 var ret = results || []; 6764 6765 if ( arr != null ) { 6766 if ( isArrayLike( Object( arr ) ) ) { 6767 jQuery.merge( ret, 6768 typeof arr === "string" ? 6769 [ arr ] : arr 6770 ); 6771 } else { 6772 push.call( ret, arr ); 6773 } 6774 } 6775 6776 return ret; 6777 }, 6778 6779 inArray: function( elem, arr, i ) { 6780 return arr == null ? -1 : indexOf.call( arr, elem, i ); 6781 }, 6782 6783 // Support: Android <=4.0 only, PhantomJS 1 only 6784 // push.apply(_, arraylike) throws on ancient WebKit 6785 merge: function( first, second ) { 6786 var len = +second.length, 6787 j = 0, 6788 i = first.length; 6789 6790 for ( ; j < len; j++ ) { 6791 first[ i++ ] = second[ j ]; 6792 } 6793 6794 first.length = i; 6795 6796 return first; 6797 }, 6798 6799 grep: function( elems, callback, invert ) { 6800 var callbackInverse, 6801 matches = [], 6802 i = 0, 6803 length = elems.length, 6804 callbackExpect = !invert; 6805 6806 // Go through the array, only saving the items 6807 // that pass the validator function 6808 for ( ; i < length; i++ ) { 6809 callbackInverse = !callback( elems[ i ], i ); 6810 if ( callbackInverse !== callbackExpect ) { 6811 matches.push( elems[ i ] ); 6812 } 6813 } 6814 6815 return matches; 6816 }, 6817 6818 // arg is for internal usage only 6819 map: function( elems, callback, arg ) { 6820 var length, value, 6821 i = 0, 6822 ret = []; 6823 6824 // Go through the array, translating each of the items to their new values 6825 if ( isArrayLike( elems ) ) { 6826 length = elems.length; 6827 for ( ; i < length; i++ ) { 6828 value = callback( elems[ i ], i, arg ); 6829 6830 if ( value != null ) { 6831 ret.push( value ); 6832 } 6833 } 6834 6835 // Go through every key on the object, 6836 } else { 6837 for ( i in elems ) { 6838 value = callback( elems[ i ], i, arg ); 6839 6840 if ( value != null ) { 6841 ret.push( value ); 6842 } 6843 } 6844 } 6845 6846 // Flatten any nested arrays 6847 return flat( ret ); 6848 }, 6849 6850 // A global GUID counter for objects 6851 guid: 1, 6852 6853 // jQuery.support is not used in Core but other projects attach their 6854 // properties to it so it needs to exist. 6855 support: support 6856} ); 6857 6858if ( typeof Symbol === "function" ) { 6859 jQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ]; 6860} 6861 6862// Populate the class2type map 6863jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ), 6864 function( _i, name ) { 6865 class2type[ "[object " + name + "]" ] = name.toLowerCase(); 6866 } ); 6867 6868function isArrayLike( obj ) { 6869 6870 // Support: real iOS 8.2 only (not reproducible in simulator) 6871 // `in` check used to prevent JIT error (gh-2145) 6872 // hasOwn isn't used here due to false negatives 6873 // regarding Nodelist length in IE 6874 var length = !!obj && "length" in obj && obj.length, 6875 type = toType( obj ); 6876 6877 if ( isFunction( obj ) || isWindow( obj ) ) { 6878 return false; 6879 } 6880 6881 return type === "array" || length === 0 || 6882 typeof length === "number" && length > 0 && ( length - 1 ) in obj; 6883} 6884var Sizzle = 6885/*! 6886 * Sizzle CSS Selector Engine v2.3.6 6887 * https://sizzlejs.com/ 6888 * 6889 * Copyright JS Foundation and other contributors 6890 * Released under the MIT license 6891 * https://js.foundation/ 6892 * 6893 * Date: 2021-02-16 6894 */ 6895( function( window ) { 6896var i, 6897 support, 6898 Expr, 6899 getText, 6900 isXML, 6901 tokenize, 6902 compile, 6903 select, 6904 outermostContext, 6905 sortInput, 6906 hasDuplicate, 6907 6908 // Local document vars 6909 setDocument, 6910 document, 6911 docElem, 6912 documentIsHTML, 6913 rbuggyQSA, 6914 rbuggyMatches, 6915 matches, 6916 contains, 6917 6918 // Instance-specific data 6919 expando = "sizzle" + 1 * new Date(), 6920 preferredDoc = window.document, 6921 dirruns = 0, 6922 done = 0, 6923 classCache = createCache(), 6924 tokenCache = createCache(), 6925 compilerCache = createCache(), 6926 nonnativeSelectorCache = createCache(), 6927 sortOrder = function( a, b ) { 6928 if ( a === b ) { 6929 hasDuplicate = true; 6930 } 6931 return 0; 6932 }, 6933 6934 // Instance methods 6935 hasOwn = ( {} ).hasOwnProperty, 6936 arr = [], 6937 pop = arr.pop, 6938 pushNative = arr.push, 6939 push = arr.push, 6940 slice = arr.slice, 6941 6942 // Use a stripped-down indexOf as it's faster than native 6943 // https://jsperf.com/thor-indexof-vs-for/5 6944 indexOf = function( list, elem ) { 6945 var i = 0, 6946 len = list.length; 6947 for ( ; i < len; i++ ) { 6948 if ( list[ i ] === elem ) { 6949 return i; 6950 } 6951 } 6952 return -1; 6953 }, 6954 6955 booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|" + 6956 "ismap|loop|multiple|open|readonly|required|scoped", 6957 6958 // Regular expressions 6959 6960 // http://www.w3.org/TR/css3-selectors/#whitespace 6961 whitespace = "[\\x20\\t\\r\\n\\f]", 6962 6963 // https://www.w3.org/TR/css-syntax-3/#ident-token-diagram 6964 identifier = "(?:\\\\[\\da-fA-F]{1,6}" + whitespace + 6965 "?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+", 6966 6967 // Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors 6968 attributes = "\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace + 6969 6970 // Operator (capture 2) 6971 "*([*^$|!~]?=)" + whitespace + 6972 6973 // "Attribute values must be CSS identifiers [capture 5] 6974 // or strings [capture 3 or capture 4]" 6975 "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + 6976 whitespace + "*\\]", 6977 6978 pseudos = ":(" + identifier + ")(?:\\((" + 6979 6980 // To reduce the number of selectors needing tokenize in the preFilter, prefer arguments: 6981 // 1. quoted (capture 3; capture 4 or capture 5) 6982 "('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" + 6983 6984 // 2. simple (capture 6) 6985 "((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" + 6986 6987 // 3. anything else (capture 2) 6988 ".*" + 6989 ")\\)|)", 6990 6991 // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter 6992 rwhitespace = new RegExp( whitespace + "+", "g" ), 6993 rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + 6994 whitespace + "+$", "g" ), 6995 6996 rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ), 6997 rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + 6998 "*" ), 6999 rdescend = new RegExp( whitespace + "|>" ), 7000 7001 rpseudo = new RegExp( pseudos ), 7002 ridentifier = new RegExp( "^" + identifier + "$" ), 7003 7004 matchExpr = { 7005 "ID": new RegExp( "^#(" + identifier + ")" ), 7006 "CLASS": new RegExp( "^\\.(" + identifier + ")" ), 7007 "TAG": new RegExp( "^(" + identifier + "|[*])" ), 7008 "ATTR": new RegExp( "^" + attributes ), 7009 "PSEUDO": new RegExp( "^" + pseudos ), 7010 "CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + 7011 whitespace + "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + 7012 whitespace + "*(\\d+)|))" + whitespace + "*\\)|)", "i" ), 7013 "bool": new RegExp( "^(?:" + booleans + ")$", "i" ), 7014 7015 // For use in libraries implementing .is() 7016 // We use this for POS matching in `select` 7017 "needsContext": new RegExp( "^" + whitespace + 7018 "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + whitespace + 7019 "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" ) 7020 }, 7021 7022 rhtml = /HTML$/i, 7023 rinputs = /^(?:input|select|textarea|button)$/i, 7024 rheader = /^h\d$/i, 7025 7026 rnative = /^[^{]+\{\s*\[native \w/, 7027 7028 // Easily-parseable/retrievable ID or TAG or CLASS selectors 7029 rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, 7030 7031 rsibling = /[+~]/, 7032 7033 // CSS escapes 7034 // http://www.w3.org/TR/CSS21/syndata.html#escaped-characters 7035 runescape = new RegExp( "\\\\[\\da-fA-F]{1,6}" + whitespace + "?|\\\\([^\\r\\n\\f])", "g" ), 7036 funescape = function( escape, nonHex ) { 7037 var high = "0x" + escape.slice( 1 ) - 0x10000; 7038 7039 return nonHex ? 7040 7041 // Strip the backslash prefix from a non-hex escape sequence 7042 nonHex : 7043 7044 // Replace a hexadecimal escape sequence with the encoded Unicode code point 7045 // Support: IE <=11+ 7046 // For values outside the Basic Multilingual Plane (BMP), manually construct a 7047 // surrogate pair 7048 high < 0 ? 7049 String.fromCharCode( high + 0x10000 ) : 7050 String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 ); 7051 }, 7052 7053 // CSS string/identifier serialization 7054 // https://drafts.csswg.org/cssom/#common-serializing-idioms 7055 rcssescape = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g, 7056 fcssescape = function( ch, asCodePoint ) { 7057 if ( asCodePoint ) { 7058 7059 // U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER 7060 if ( ch === "\0" ) { 7061 return "\uFFFD"; 7062 } 7063 7064 // Control characters and (dependent upon position) numbers get escaped as code points 7065 return ch.slice( 0, -1 ) + "\\" + 7066 ch.charCodeAt( ch.length - 1 ).toString( 16 ) + " "; 7067 } 7068 7069 // Other potentially-special ASCII characters get backslash-escaped 7070 return "\\" + ch; 7071 }, 7072 7073 // Used for iframes 7074 // See setDocument() 7075 // Removing the function wrapper causes a "Permission Denied" 7076 // error in IE 7077 unloadHandler = function() { 7078 setDocument(); 7079 }, 7080 7081 inDisabledFieldset = addCombinator( 7082 function( elem ) { 7083 return elem.disabled === true && elem.nodeName.toLowerCase() === "fieldset"; 7084 }, 7085 { dir: "parentNode", next: "legend" } 7086 ); 7087 7088// Optimize for push.apply( _, NodeList ) 7089try { 7090 push.apply( 7091 ( arr = slice.call( preferredDoc.childNodes ) ), 7092 preferredDoc.childNodes 7093 ); 7094 7095 // Support: Android<4.0 7096 // Detect silently failing push.apply 7097 // eslint-disable-next-line no-unused-expressions 7098 arr[ preferredDoc.childNodes.length ].nodeType; 7099} catch ( e ) { 7100 push = { apply: arr.length ? 7101 7102 // Leverage slice if possible 7103 function( target, els ) { 7104 pushNative.apply( target, slice.call( els ) ); 7105 } : 7106 7107 // Support: IE<9 7108 // Otherwise append directly 7109 function( target, els ) { 7110 var j = target.length, 7111 i = 0; 7112 7113 // Can't trust NodeList.length 7114 while ( ( target[ j++ ] = els[ i++ ] ) ) {} 7115 target.length = j - 1; 7116 } 7117 }; 7118} 7119 7120function Sizzle( selector, context, results, seed ) { 7121 var m, i, elem, nid, match, groups, newSelector, 7122 newContext = context && context.ownerDocument, 7123 7124 // nodeType defaults to 9, since context defaults to document 7125 nodeType = context ? context.nodeType : 9; 7126 7127 results = results || []; 7128 7129 // Return early from calls with invalid selector or context 7130 if ( typeof selector !== "string" || !selector || 7131 nodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) { 7132 7133 return results; 7134 } 7135 7136 // Try to shortcut find operations (as opposed to filters) in HTML documents 7137 if ( !seed ) { 7138 setDocument( context ); 7139 context = context || document; 7140 7141 if ( documentIsHTML ) { 7142 7143 // If the selector is sufficiently simple, try using a "get*By*" DOM method 7144 // (excepting DocumentFragment context, where the methods don't exist) 7145 if ( nodeType !== 11 && ( match = rquickExpr.exec( selector ) ) ) { 7146 7147 // ID selector 7148 if ( ( m = match[ 1 ] ) ) { 7149 7150 // Document context 7151 if ( nodeType === 9 ) { 7152 if ( ( elem = context.getElementById( m ) ) ) { 7153 7154 // Support: IE, Opera, Webkit 7155 // TODO: identify versions 7156 // getElementById can match elements by name instead of ID 7157 if ( elem.id === m ) { 7158 results.push( elem ); 7159 return results; 7160 } 7161 } else { 7162 return results; 7163 } 7164 7165 // Element context 7166 } else { 7167 7168 // Support: IE, Opera, Webkit 7169 // TODO: identify versions 7170 // getElementById can match elements by name instead of ID 7171 if ( newContext && ( elem = newContext.getElementById( m ) ) && 7172 contains( context, elem ) && 7173 elem.id === m ) { 7174 7175 results.push( elem ); 7176 return results; 7177 } 7178 } 7179 7180 // Type selector 7181 } else if ( match[ 2 ] ) { 7182 push.apply( results, context.getElementsByTagName( selector ) ); 7183 return results; 7184 7185 // Class selector 7186 } else if ( ( m = match[ 3 ] ) && support.getElementsByClassName && 7187 context.getElementsByClassName ) { 7188 7189 push.apply( results, context.getElementsByClassName( m ) ); 7190 return results; 7191 } 7192 } 7193 7194 // Take advantage of querySelectorAll 7195 if ( support.qsa && 7196 !nonnativeSelectorCache[ selector + " " ] && 7197 ( !rbuggyQSA || !rbuggyQSA.test( selector ) ) && 7198 7199 // Support: IE 8 only 7200 // Exclude object elements 7201 ( nodeType !== 1 || context.nodeName.toLowerCase() !== "object" ) ) { 7202 7203 newSelector = selector; 7204 newContext = context; 7205 7206 // qSA considers elements outside a scoping root when evaluating child or 7207 // descendant combinators, which is not what we want. 7208 // In such cases, we work around the behavior by prefixing every selector in the 7209 // list with an ID selector referencing the scope context. 7210 // The technique has to be used as well when a leading combinator is used 7211 // as such selectors are not recognized by querySelectorAll. 7212 // Thanks to Andrew Dupont for this technique. 7213 if ( nodeType === 1 && 7214 ( rdescend.test( selector ) || rcombinators.test( selector ) ) ) { 7215 7216 // Expand context for sibling selectors 7217 newContext = rsibling.test( selector ) && testContext( context.parentNode ) || 7218 context; 7219 7220 // We can use :scope instead of the ID hack if the browser 7221 // supports it & if we're not changing the context. 7222 if ( newContext !== context || !support.scope ) { 7223 7224 // Capture the context ID, setting it first if necessary 7225 if ( ( nid = context.getAttribute( "id" ) ) ) { 7226 nid = nid.replace( rcssescape, fcssescape ); 7227 } else { 7228 context.setAttribute( "id", ( nid = expando ) ); 7229 } 7230 } 7231 7232 // Prefix every selector in the list 7233 groups = tokenize( selector ); 7234 i = groups.length; 7235 while ( i-- ) { 7236 groups[ i ] = ( nid ? "#" + nid : ":scope" ) + " " + 7237 toSelector( groups[ i ] ); 7238 } 7239 newSelector = groups.join( "," ); 7240 } 7241 7242 try { 7243 push.apply( results, 7244 newContext.querySelectorAll( newSelector ) 7245 ); 7246 return results; 7247 } catch ( qsaError ) { 7248 nonnativeSelectorCache( selector, true ); 7249 } finally { 7250 if ( nid === expando ) { 7251 context.removeAttribute( "id" ); 7252 } 7253 } 7254 } 7255 } 7256 } 7257 7258 // All others 7259 return select( selector.replace( rtrim, "$1" ), context, results, seed ); 7260} 7261 7262/** 7263 * Create key-value caches of limited size 7264 * @returns {function(string, object)} Returns the Object data after storing it on itself with 7265 * property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength) 7266 * deleting the oldest entry 7267 */ 7268function createCache() { 7269 var keys = []; 7270 7271 function cache( key, value ) { 7272 7273 // Use (key + " ") to avoid collision with native prototype properties (see Issue #157) 7274 if ( keys.push( key + " " ) > Expr.cacheLength ) { 7275 7276 // Only keep the most recent entries 7277 delete cache[ keys.shift() ]; 7278 } 7279 return ( cache[ key + " " ] = value ); 7280 } 7281 return cache; 7282} 7283 7284/** 7285 * Mark a function for special use by Sizzle 7286 * @param {Function} fn The function to mark 7287 */ 7288function markFunction( fn ) { 7289 fn[ expando ] = true; 7290 return fn; 7291} 7292 7293/** 7294 * Support testing using an element 7295 * @param {Function} fn Passed the created element and returns a boolean result 7296 */ 7297function assert( fn ) { 7298 var el = document.createElement( "fieldset" ); 7299 7300 try { 7301 return !!fn( el ); 7302 } catch ( e ) { 7303 return false; 7304 } finally { 7305 7306 // Remove from its parent by default 7307 if ( el.parentNode ) { 7308 el.parentNode.removeChild( el ); 7309 } 7310 7311 // release memory in IE 7312 el = null; 7313 } 7314} 7315 7316/** 7317 * Adds the same handler for all of the specified attrs 7318 * @param {String} attrs Pipe-separated list of attributes 7319 * @param {Function} handler The method that will be applied 7320 */ 7321function addHandle( attrs, handler ) { 7322 var arr = attrs.split( "|" ), 7323 i = arr.length; 7324 7325 while ( i-- ) { 7326 Expr.attrHandle[ arr[ i ] ] = handler; 7327 } 7328} 7329 7330/** 7331 * Checks document order of two siblings 7332 * @param {Element} a 7333 * @param {Element} b 7334 * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b 7335 */ 7336function siblingCheck( a, b ) { 7337 var cur = b && a, 7338 diff = cur && a.nodeType === 1 && b.nodeType === 1 && 7339 a.sourceIndex - b.sourceIndex; 7340 7341 // Use IE sourceIndex if available on both nodes 7342 if ( diff ) { 7343 return diff; 7344 } 7345 7346 // Check if b follows a 7347 if ( cur ) { 7348 while ( ( cur = cur.nextSibling ) ) { 7349 if ( cur === b ) { 7350 return -1; 7351 } 7352 } 7353 } 7354 7355 return a ? 1 : -1; 7356} 7357 7358/** 7359 * Returns a function to use in pseudos for input types 7360 * @param {String} type 7361 */ 7362function createInputPseudo( type ) { 7363 return function( elem ) { 7364 var name = elem.nodeName.toLowerCase(); 7365 return name === "input" && elem.type === type; 7366 }; 7367} 7368 7369/** 7370 * Returns a function to use in pseudos for buttons 7371 * @param {String} type 7372 */ 7373function createButtonPseudo( type ) { 7374 return function( elem ) { 7375 var name = elem.nodeName.toLowerCase(); 7376 return ( name === "input" || name === "button" ) && elem.type === type; 7377 }; 7378} 7379 7380/** 7381 * Returns a function to use in pseudos for :enabled/:disabled 7382 * @param {Boolean} disabled true for :disabled; false for :enabled 7383 */ 7384function createDisabledPseudo( disabled ) { 7385 7386 // Known :disabled false positives: fieldset[disabled] > legend:nth-of-type(n+2) :can-disable 7387 return function( elem ) { 7388 7389 // Only certain elements can match :enabled or :disabled 7390 // https://html.spec.whatwg.org/multipage/scripting.html#selector-enabled 7391 // https://html.spec.whatwg.org/multipage/scripting.html#selector-disabled 7392 if ( "form" in elem ) { 7393 7394 // Check for inherited disabledness on relevant non-disabled elements: 7395 // * listed form-associated elements in a disabled fieldset 7396 // https://html.spec.whatwg.org/multipage/forms.html#category-listed 7397 // https://html.spec.whatwg.org/multipage/forms.html#concept-fe-disabled 7398 // * option elements in a disabled optgroup 7399 // https://html.spec.whatwg.org/multipage/forms.html#concept-option-disabled 7400 // All such elements have a "form" property. 7401 if ( elem.parentNode && elem.disabled === false ) { 7402 7403 // Option elements defer to a parent optgroup if present 7404 if ( "label" in elem ) { 7405 if ( "label" in elem.parentNode ) { 7406 return elem.parentNode.disabled === disabled; 7407 } else { 7408 return elem.disabled === disabled; 7409 } 7410 } 7411 7412 // Support: IE 6 - 11 7413 // Use the isDisabled shortcut property to check for disabled fieldset ancestors 7414 return elem.isDisabled === disabled || 7415 7416 // Where there is no isDisabled, check manually 7417 /* jshint -W018 */ 7418 elem.isDisabled !== !disabled && 7419 inDisabledFieldset( elem ) === disabled; 7420 } 7421 7422 return elem.disabled === disabled; 7423 7424 // Try to winnow out elements that can't be disabled before trusting the disabled property. 7425 // Some victims get caught in our net (label, legend, menu, track), but it shouldn't 7426 // even exist on them, let alone have a boolean value. 7427 } else if ( "label" in elem ) { 7428 return elem.disabled === disabled; 7429 } 7430 7431 // Remaining elements are neither :enabled nor :disabled 7432 return false; 7433 }; 7434} 7435 7436/** 7437 * Returns a function to use in pseudos for positionals 7438 * @param {Function} fn 7439 */ 7440function createPositionalPseudo( fn ) { 7441 return markFunction( function( argument ) { 7442 argument = +argument; 7443 return markFunction( function( seed, matches ) { 7444 var j, 7445 matchIndexes = fn( [], seed.length, argument ), 7446 i = matchIndexes.length; 7447 7448 // Match elements found at the specified indexes 7449 while ( i-- ) { 7450 if ( seed[ ( j = matchIndexes[ i ] ) ] ) { 7451 seed[ j ] = !( matches[ j ] = seed[ j ] ); 7452 } 7453 } 7454 } ); 7455 } ); 7456} 7457 7458/** 7459 * Checks a node for validity as a Sizzle context 7460 * @param {Element|Object=} context 7461 * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value 7462 */ 7463function testContext( context ) { 7464 return context && typeof context.getElementsByTagName !== "undefined" && context; 7465} 7466 7467// Expose support vars for convenience 7468support = Sizzle.support = {}; 7469 7470/** 7471 * Detects XML nodes 7472 * @param {Element|Object} elem An element or a document 7473 * @returns {Boolean} True iff elem is a non-HTML XML node 7474 */ 7475isXML = Sizzle.isXML = function( elem ) { 7476 var namespace = elem && elem.namespaceURI, 7477 docElem = elem && ( elem.ownerDocument || elem ).documentElement; 7478 7479 // Support: IE <=8 7480 // Assume HTML when documentElement doesn't yet exist, such as inside loading iframes 7481 // https://bugs.jquery.com/ticket/4833 7482 return !rhtml.test( namespace || docElem && docElem.nodeName || "HTML" ); 7483}; 7484 7485/** 7486 * Sets document-related variables once based on the current document 7487 * @param {Element|Object} [doc] An element or document object to use to set the document 7488 * @returns {Object} Returns the current document 7489 */ 7490setDocument = Sizzle.setDocument = function( node ) { 7491 var hasCompare, subWindow, 7492 doc = node ? node.ownerDocument || node : preferredDoc; 7493 7494 // Return early if doc is invalid or already selected 7495 // Support: IE 11+, Edge 17 - 18+ 7496 // IE/Edge sometimes throw a "Permission denied" error when strict-comparing 7497 // two documents; shallow comparisons work. 7498 // eslint-disable-next-line eqeqeq 7499 if ( doc == document || doc.nodeType !== 9 || !doc.documentElement ) { 7500 return document; 7501 } 7502 7503 // Update global variables 7504 document = doc; 7505 docElem = document.documentElement; 7506 documentIsHTML = !isXML( document ); 7507 7508 // Support: IE 9 - 11+, Edge 12 - 18+ 7509 // Accessing iframe documents after unload throws "permission denied" errors (jQuery #13936) 7510 // Support: IE 11+, Edge 17 - 18+ 7511 // IE/Edge sometimes throw a "Permission denied" error when strict-comparing 7512 // two documents; shallow comparisons work. 7513 // eslint-disable-next-line eqeqeq 7514 if ( preferredDoc != document && 7515 ( subWindow = document.defaultView ) && subWindow.top !== subWindow ) { 7516 7517 // Support: IE 11, Edge 7518 if ( subWindow.addEventListener ) { 7519 subWindow.addEventListener( "unload", unloadHandler, false ); 7520 7521 // Support: IE 9 - 10 only 7522 } else if ( subWindow.attachEvent ) { 7523 subWindow.attachEvent( "onunload", unloadHandler ); 7524 } 7525 } 7526 7527 // Support: IE 8 - 11+, Edge 12 - 18+, Chrome <=16 - 25 only, Firefox <=3.6 - 31 only, 7528 // Safari 4 - 5 only, Opera <=11.6 - 12.x only 7529 // IE/Edge & older browsers don't support the :scope pseudo-class. 7530 // Support: Safari 6.0 only 7531 // Safari 6.0 supports :scope but it's an alias of :root there. 7532 support.scope = assert( function( el ) { 7533 docElem.appendChild( el ).appendChild( document.createElement( "div" ) ); 7534 return typeof el.querySelectorAll !== "undefined" && 7535 !el.querySelectorAll( ":scope fieldset div" ).length; 7536 } ); 7537 7538 /* Attributes 7539 ---------------------------------------------------------------------- */ 7540 7541 // Support: IE<8 7542 // Verify that getAttribute really returns attributes and not properties 7543 // (excepting IE8 booleans) 7544 support.attributes = assert( function( el ) { 7545 el.className = "i"; 7546 return !el.getAttribute( "className" ); 7547 } ); 7548 7549 /* getElement(s)By* 7550 ---------------------------------------------------------------------- */ 7551 7552 // Check if getElementsByTagName("*") returns only elements 7553 support.getElementsByTagName = assert( function( el ) { 7554 el.appendChild( document.createComment( "" ) ); 7555 return !el.getElementsByTagName( "*" ).length; 7556 } ); 7557 7558 // Support: IE<9 7559 support.getElementsByClassName = rnative.test( document.getElementsByClassName ); 7560 7561 // Support: IE<10 7562 // Check if getElementById returns elements by name 7563 // The broken getElementById methods don't pick up programmatically-set names, 7564 // so use a roundabout getElementsByName test 7565 support.getById = assert( function( el ) { 7566 docElem.appendChild( el ).id = expando; 7567 return !document.getElementsByName || !document.getElementsByName( expando ).length; 7568 } ); 7569 7570 // ID filter and find 7571 if ( support.getById ) { 7572 Expr.filter[ "ID" ] = function( id ) { 7573 var attrId = id.replace( runescape, funescape ); 7574 return function( elem ) { 7575 return elem.getAttribute( "id" ) === attrId; 7576 }; 7577 }; 7578 Expr.find[ "ID" ] = function( id, context ) { 7579 if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { 7580 var elem = context.getElementById( id ); 7581 return elem ? [ elem ] : []; 7582 } 7583 }; 7584 } else { 7585 Expr.filter[ "ID" ] = function( id ) { 7586 var attrId = id.replace( runescape, funescape ); 7587 return function( elem ) { 7588 var node = typeof elem.getAttributeNode !== "undefined" && 7589 elem.getAttributeNode( "id" ); 7590 return node && node.value === attrId; 7591 }; 7592 }; 7593 7594 // Support: IE 6 - 7 only 7595 // getElementById is not reliable as a find shortcut 7596 Expr.find[ "ID" ] = function( id, context ) { 7597 if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { 7598 var node, i, elems, 7599 elem = context.getElementById( id ); 7600 7601 if ( elem ) { 7602 7603 // Verify the id attribute 7604 node = elem.getAttributeNode( "id" ); 7605 if ( node && node.value === id ) { 7606 return [ elem ]; 7607 } 7608 7609 // Fall back on getElementsByName 7610 elems = context.getElementsByName( id ); 7611 i = 0; 7612 while ( ( elem = elems[ i++ ] ) ) { 7613 node = elem.getAttributeNode( "id" ); 7614 if ( node && node.value === id ) { 7615 return [ elem ]; 7616 } 7617 } 7618 } 7619 7620 return []; 7621 } 7622 }; 7623 } 7624 7625 // Tag 7626 Expr.find[ "TAG" ] = support.getElementsByTagName ? 7627 function( tag, context ) { 7628 if ( typeof context.getElementsByTagName !== "undefined" ) { 7629 return context.getElementsByTagName( tag ); 7630 7631 // DocumentFragment nodes don't have gEBTN 7632 } else if ( support.qsa ) { 7633 return context.querySelectorAll( tag ); 7634 } 7635 } : 7636 7637 function( tag, context ) { 7638 var elem, 7639 tmp = [], 7640 i = 0, 7641 7642 // By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too 7643 results = context.getElementsByTagName( tag ); 7644 7645 // Filter out possible comments 7646 if ( tag === "*" ) { 7647 while ( ( elem = results[ i++ ] ) ) { 7648 if ( elem.nodeType === 1 ) { 7649 tmp.push( elem ); 7650 } 7651 } 7652 7653 return tmp; 7654 } 7655 return results; 7656 }; 7657 7658 // Class 7659 Expr.find[ "CLASS" ] = support.getElementsByClassName && function( className, context ) { 7660 if ( typeof context.getElementsByClassName !== "undefined" && documentIsHTML ) { 7661 return context.getElementsByClassName( className ); 7662 } 7663 }; 7664 7665 /* QSA/matchesSelector 7666 ---------------------------------------------------------------------- */ 7667 7668 // QSA and matchesSelector support 7669 7670 // matchesSelector(:active) reports false when true (IE9/Opera 11.5) 7671 rbuggyMatches = []; 7672 7673 // qSa(:focus) reports false when true (Chrome 21) 7674 // We allow this because of a bug in IE8/9 that throws an error 7675 // whenever `document.activeElement` is accessed on an iframe 7676 // So, we allow :focus to pass through QSA all the time to avoid the IE error 7677 // See https://bugs.jquery.com/ticket/13378 7678 rbuggyQSA = []; 7679 7680 if ( ( support.qsa = rnative.test( document.querySelectorAll ) ) ) { 7681 7682 // Build QSA regex 7683 // Regex strategy adopted from Diego Perini 7684 assert( function( el ) { 7685 7686 var input; 7687 7688 // Select is set to empty string on purpose 7689 // This is to test IE's treatment of not explicitly 7690 // setting a boolean content attribute, 7691 // since its presence should be enough 7692 // https://bugs.jquery.com/ticket/12359 7693 docElem.appendChild( el ).innerHTML = "<a id='" + expando + "'></a>" + 7694 "<select id='" + expando + "-\r\\' msallowcapture=''>" + 7695 "<option selected=''></option></select>"; 7696 7697 // Support: IE8, Opera 11-12.16 7698 // Nothing should be selected when empty strings follow ^= or $= or *= 7699 // The test attribute must be unknown in Opera but "safe" for WinRT 7700 // https://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section 7701 if ( el.querySelectorAll( "[msallowcapture^='']" ).length ) { 7702 rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" ); 7703 } 7704 7705 // Support: IE8 7706 // Boolean attributes and "value" are not treated correctly 7707 if ( !el.querySelectorAll( "[selected]" ).length ) { 7708 rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" ); 7709 } 7710 7711 // Support: Chrome<29, Android<4.4, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.8+ 7712 if ( !el.querySelectorAll( "[id~=" + expando + "-]" ).length ) { 7713 rbuggyQSA.push( "~=" ); 7714 } 7715 7716 // Support: IE 11+, Edge 15 - 18+ 7717 // IE 11/Edge don't find elements on a `[name='']` query in some cases. 7718 // Adding a temporary attribute to the document before the selection works 7719 // around the issue. 7720 // Interestingly, IE 10 & older don't seem to have the issue. 7721 input = document.createElement( "input" ); 7722 input.setAttribute( "name", "" ); 7723 el.appendChild( input ); 7724 if ( !el.querySelectorAll( "[name='']" ).length ) { 7725 rbuggyQSA.push( "\\[" + whitespace + "*name" + whitespace + "*=" + 7726 whitespace + "*(?:''|\"\")" ); 7727 } 7728 7729 // Webkit/Opera - :checked should return selected option elements 7730 // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked 7731 // IE8 throws error here and will not see later tests 7732 if ( !el.querySelectorAll( ":checked" ).length ) { 7733 rbuggyQSA.push( ":checked" ); 7734 } 7735 7736 // Support: Safari 8+, iOS 8+ 7737 // https://bugs.webkit.org/show_bug.cgi?id=136851 7738 // In-page `selector#id sibling-combinator selector` fails 7739 if ( !el.querySelectorAll( "a#" + expando + "+*" ).length ) { 7740 rbuggyQSA.push( ".#.+[+~]" ); 7741 } 7742 7743 // Support: Firefox <=3.6 - 5 only 7744 // Old Firefox doesn't throw on a badly-escaped identifier. 7745 el.querySelectorAll( "\\\f" ); 7746 rbuggyQSA.push( "[\\r\\n\\f]" ); 7747 } ); 7748 7749 assert( function( el ) { 7750 el.innerHTML = "<a href='' disabled='disabled'></a>" + 7751 "<select disabled='disabled'><option/></select>"; 7752 7753 // Support: Windows 8 Native Apps 7754 // The type and name attributes are restricted during .innerHTML assignment 7755 var input = document.createElement( "input" ); 7756 input.setAttribute( "type", "hidden" ); 7757 el.appendChild( input ).setAttribute( "name", "D" ); 7758 7759 // Support: IE8 7760 // Enforce case-sensitivity of name attribute 7761 if ( el.querySelectorAll( "[name=d]" ).length ) { 7762 rbuggyQSA.push( "name" + whitespace + "*[*^$|!~]?=" ); 7763 } 7764 7765 // FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled) 7766 // IE8 throws error here and will not see later tests 7767 if ( el.querySelectorAll( ":enabled" ).length !== 2 ) { 7768 rbuggyQSA.push( ":enabled", ":disabled" ); 7769 } 7770 7771 // Support: IE9-11+ 7772 // IE's :disabled selector does not pick up the children of disabled fieldsets 7773 docElem.appendChild( el ).disabled = true; 7774 if ( el.querySelectorAll( ":disabled" ).length !== 2 ) { 7775 rbuggyQSA.push( ":enabled", ":disabled" ); 7776 } 7777 7778 // Support: Opera 10 - 11 only 7779 // Opera 10-11 does not throw on post-comma invalid pseudos 7780 el.querySelectorAll( "*,:x" ); 7781 rbuggyQSA.push( ",.*:" ); 7782 } ); 7783 } 7784 7785 if ( ( support.matchesSelector = rnative.test( ( matches = docElem.matches || 7786 docElem.webkitMatchesSelector || 7787 docElem.mozMatchesSelector || 7788 docElem.oMatchesSelector || 7789 docElem.msMatchesSelector ) ) ) ) { 7790 7791 assert( function( el ) { 7792 7793 // Check to see if it's possible to do matchesSelector 7794 // on a disconnected node (IE 9) 7795 support.disconnectedMatch = matches.call( el, "*" ); 7796 7797 // This should fail with an exception 7798 // Gecko does not error, returns false instead 7799 matches.call( el, "[s!='']:x" ); 7800 rbuggyMatches.push( "!=", pseudos ); 7801 } ); 7802 } 7803 7804 rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join( "|" ) ); 7805 rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join( "|" ) ); 7806 7807 /* Contains 7808 ---------------------------------------------------------------------- */ 7809 hasCompare = rnative.test( docElem.compareDocumentPosition ); 7810 7811 // Element contains another 7812 // Purposefully self-exclusive 7813 // As in, an element does not contain itself 7814 contains = hasCompare || rnative.test( docElem.contains ) ? 7815 function( a, b ) { 7816 var adown = a.nodeType === 9 ? a.documentElement : a, 7817 bup = b && b.parentNode; 7818 return a === bup || !!( bup && bup.nodeType === 1 && ( 7819 adown.contains ? 7820 adown.contains( bup ) : 7821 a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16 7822 ) ); 7823 } : 7824 function( a, b ) { 7825 if ( b ) { 7826 while ( ( b = b.parentNode ) ) { 7827 if ( b === a ) { 7828 return true; 7829 } 7830 } 7831 } 7832 return false; 7833 }; 7834 7835 /* Sorting 7836 ---------------------------------------------------------------------- */ 7837 7838 // Document order sorting 7839 sortOrder = hasCompare ? 7840 function( a, b ) { 7841 7842 // Flag for duplicate removal 7843 if ( a === b ) { 7844 hasDuplicate = true; 7845 return 0; 7846 } 7847 7848 // Sort on method existence if only one input has compareDocumentPosition 7849 var compare = !a.compareDocumentPosition - !b.compareDocumentPosition; 7850 if ( compare ) { 7851 return compare; 7852 } 7853 7854 // Calculate position if both inputs belong to the same document 7855 // Support: IE 11+, Edge 17 - 18+ 7856 // IE/Edge sometimes throw a "Permission denied" error when strict-comparing 7857 // two documents; shallow comparisons work. 7858 // eslint-disable-next-line eqeqeq 7859 compare = ( a.ownerDocument || a ) == ( b.ownerDocument || b ) ? 7860 a.compareDocumentPosition( b ) : 7861 7862 // Otherwise we know they are disconnected 7863 1; 7864 7865 // Disconnected nodes 7866 if ( compare & 1 || 7867 ( !support.sortDetached && b.compareDocumentPosition( a ) === compare ) ) { 7868 7869 // Choose the first element that is related to our preferred document 7870 // Support: IE 11+, Edge 17 - 18+ 7871 // IE/Edge sometimes throw a "Permission denied" error when strict-comparing 7872 // two documents; shallow comparisons work. 7873 // eslint-disable-next-line eqeqeq 7874 if ( a == document || a.ownerDocument == preferredDoc && 7875 contains( preferredDoc, a ) ) { 7876 return -1; 7877 } 7878 7879 // Support: IE 11+, Edge 17 - 18+ 7880 // IE/Edge sometimes throw a "Permission denied" error when strict-comparing 7881 // two documents; shallow comparisons work. 7882 // eslint-disable-next-line eqeqeq 7883 if ( b == document || b.ownerDocument == preferredDoc && 7884 contains( preferredDoc, b ) ) { 7885 return 1; 7886 } 7887 7888 // Maintain original order 7889 return sortInput ? 7890 ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : 7891 0; 7892 } 7893 7894 return compare & 4 ? -1 : 1; 7895 } : 7896 function( a, b ) { 7897 7898 // Exit early if the nodes are identical 7899 if ( a === b ) { 7900 hasDuplicate = true; 7901 return 0; 7902 } 7903 7904 var cur, 7905 i = 0, 7906 aup = a.parentNode, 7907 bup = b.parentNode, 7908 ap = [ a ], 7909 bp = [ b ]; 7910 7911 // Parentless nodes are either documents or disconnected 7912 if ( !aup || !bup ) { 7913 7914 // Support: IE 11+, Edge 17 - 18+ 7915 // IE/Edge sometimes throw a "Permission denied" error when strict-comparing 7916 // two documents; shallow comparisons work. 7917 /* eslint-disable eqeqeq */ 7918 return a == document ? -1 : 7919 b == document ? 1 : 7920 /* eslint-enable eqeqeq */ 7921 aup ? -1 : 7922 bup ? 1 : 7923 sortInput ? 7924 ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : 7925 0; 7926 7927 // If the nodes are siblings, we can do a quick check 7928 } else if ( aup === bup ) { 7929 return siblingCheck( a, b ); 7930 } 7931 7932 // Otherwise we need full lists of their ancestors for comparison 7933 cur = a; 7934 while ( ( cur = cur.parentNode ) ) { 7935 ap.unshift( cur ); 7936 } 7937 cur = b; 7938 while ( ( cur = cur.parentNode ) ) { 7939 bp.unshift( cur ); 7940 } 7941 7942 // Walk down the tree looking for a discrepancy 7943 while ( ap[ i ] === bp[ i ] ) { 7944 i++; 7945 } 7946 7947 return i ? 7948 7949 // Do a sibling check if the nodes have a common ancestor 7950 siblingCheck( ap[ i ], bp[ i ] ) : 7951 7952 // Otherwise nodes in our document sort first 7953 // Support: IE 11+, Edge 17 - 18+ 7954 // IE/Edge sometimes throw a "Permission denied" error when strict-comparing 7955 // two documents; shallow comparisons work. 7956 /* eslint-disable eqeqeq */ 7957 ap[ i ] == preferredDoc ? -1 : 7958 bp[ i ] == preferredDoc ? 1 : 7959 /* eslint-enable eqeqeq */ 7960 0; 7961 }; 7962 7963 return document; 7964}; 7965 7966Sizzle.matches = function( expr, elements ) { 7967 return Sizzle( expr, null, null, elements ); 7968}; 7969 7970Sizzle.matchesSelector = function( elem, expr ) { 7971 setDocument( elem ); 7972 7973 if ( support.matchesSelector && documentIsHTML && 7974 !nonnativeSelectorCache[ expr + " " ] && 7975 ( !rbuggyMatches || !rbuggyMatches.test( expr ) ) && 7976 ( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) { 7977 7978 try { 7979 var ret = matches.call( elem, expr ); 7980 7981 // IE 9's matchesSelector returns false on disconnected nodes 7982 if ( ret || support.disconnectedMatch || 7983 7984 // As well, disconnected nodes are said to be in a document 7985 // fragment in IE 9 7986 elem.document && elem.document.nodeType !== 11 ) { 7987 return ret; 7988 } 7989 } catch ( e ) { 7990 nonnativeSelectorCache( expr, true ); 7991 } 7992 } 7993 7994 return Sizzle( expr, document, null, [ elem ] ).length > 0; 7995}; 7996 7997Sizzle.contains = function( context, elem ) { 7998 7999 // Set document vars if needed 8000 // Support: IE 11+, Edge 17 - 18+ 8001 // IE/Edge sometimes throw a "Permission denied" error when strict-comparing 8002 // two documents; shallow comparisons work. 8003 // eslint-disable-next-line eqeqeq 8004 if ( ( context.ownerDocument || context ) != document ) { 8005 setDocument( context ); 8006 } 8007 return contains( context, elem ); 8008}; 8009 8010Sizzle.attr = function( elem, name ) { 8011 8012 // Set document vars if needed 8013 // Support: IE 11+, Edge 17 - 18+ 8014 // IE/Edge sometimes throw a "Permission denied" error when strict-comparing 8015 // two documents; shallow comparisons work. 8016 // eslint-disable-next-line eqeqeq 8017 if ( ( elem.ownerDocument || elem ) != document ) { 8018 setDocument( elem ); 8019 } 8020 8021 var fn = Expr.attrHandle[ name.toLowerCase() ], 8022 8023 // Don't get fooled by Object.prototype properties (jQuery #13807) 8024 val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ? 8025 fn( elem, name, !documentIsHTML ) : 8026 undefined; 8027 8028 return val !== undefined ? 8029 val : 8030 support.attributes || !documentIsHTML ? 8031 elem.getAttribute( name ) : 8032 ( val = elem.getAttributeNode( name ) ) && val.specified ? 8033 val.value : 8034 null; 8035}; 8036 8037Sizzle.escape = function( sel ) { 8038 return ( sel + "" ).replace( rcssescape, fcssescape ); 8039}; 8040 8041Sizzle.error = function( msg ) { 8042 throw new Error( "Syntax error, unrecognized expression: " + msg ); 8043}; 8044 8045/** 8046 * Document sorting and removing duplicates 8047 * @param {ArrayLike} results 8048 */ 8049Sizzle.uniqueSort = function( results ) { 8050 var elem, 8051 duplicates = [], 8052 j = 0, 8053 i = 0; 8054 8055 // Unless we *know* we can detect duplicates, assume their presence 8056 hasDuplicate = !support.detectDuplicates; 8057 sortInput = !support.sortStable && results.slice( 0 ); 8058 results.sort( sortOrder ); 8059 8060 if ( hasDuplicate ) { 8061 while ( ( elem = results[ i++ ] ) ) { 8062 if ( elem === results[ i ] ) { 8063 j = duplicates.push( i ); 8064 } 8065 } 8066 while ( j-- ) { 8067 results.splice( duplicates[ j ], 1 ); 8068 } 8069 } 8070 8071 // Clear input after sorting to release objects 8072 // See https://github.com/jquery/sizzle/pull/225 8073 sortInput = null; 8074 8075 return results; 8076}; 8077 8078/** 8079 * Utility function for retrieving the text value of an array of DOM nodes 8080 * @param {Array|Element} elem 8081 */ 8082getText = Sizzle.getText = function( elem ) { 8083 var node, 8084 ret = "", 8085 i = 0, 8086 nodeType = elem.nodeType; 8087 8088 if ( !nodeType ) { 8089 8090 // If no nodeType, this is expected to be an array 8091 while ( ( node = elem[ i++ ] ) ) { 8092 8093 // Do not traverse comment nodes 8094 ret += getText( node ); 8095 } 8096 } else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) { 8097 8098 // Use textContent for elements 8099 // innerText usage removed for consistency of new lines (jQuery #11153) 8100 if ( typeof elem.textContent === "string" ) { 8101 return elem.textContent; 8102 } else { 8103 8104 // Traverse its children 8105 for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { 8106 ret += getText( elem ); 8107 } 8108 } 8109 } else if ( nodeType === 3 || nodeType === 4 ) { 8110 return elem.nodeValue; 8111 } 8112 8113 // Do not include comment or processing instruction nodes 8114 8115 return ret; 8116}; 8117 8118Expr = Sizzle.selectors = { 8119 8120 // Can be adjusted by the user 8121 cacheLength: 50, 8122 8123 createPseudo: markFunction, 8124 8125 match: matchExpr, 8126 8127 attrHandle: {}, 8128 8129 find: {}, 8130 8131 relative: { 8132 ">": { dir: "parentNode", first: true }, 8133 " ": { dir: "parentNode" }, 8134 "+": { dir: "previousSibling", first: true }, 8135 "~": { dir: "previousSibling" } 8136 }, 8137 8138 preFilter: { 8139 "ATTR": function( match ) { 8140 match[ 1 ] = match[ 1 ].replace( runescape, funescape ); 8141 8142 // Move the given value to match[3] whether quoted or unquoted 8143 match[ 3 ] = ( match[ 3 ] || match[ 4 ] || 8144 match[ 5 ] || "" ).replace( runescape, funescape ); 8145 8146 if ( match[ 2 ] === "~=" ) { 8147 match[ 3 ] = " " + match[ 3 ] + " "; 8148 } 8149 8150 return match.slice( 0, 4 ); 8151 }, 8152 8153 "CHILD": function( match ) { 8154 8155 /* matches from matchExpr["CHILD"] 8156 1 type (only|nth|...) 8157 2 what (child|of-type) 8158 3 argument (even|odd|\d*|\d*n([+-]\d+)?|...) 8159 4 xn-component of xn+y argument ([+-]?\d*n|) 8160 5 sign of xn-component 8161 6 x of xn-component 8162 7 sign of y-component 8163 8 y of y-component 8164 */ 8165 match[ 1 ] = match[ 1 ].toLowerCase(); 8166 8167 if ( match[ 1 ].slice( 0, 3 ) === "nth" ) { 8168 8169 // nth-* requires argument 8170 if ( !match[ 3 ] ) { 8171 Sizzle.error( match[ 0 ] ); 8172 } 8173 8174 // numeric x and y parameters for Expr.filter.CHILD 8175 // remember that false/true cast respectively to 0/1 8176 match[ 4 ] = +( match[ 4 ] ? 8177 match[ 5 ] + ( match[ 6 ] || 1 ) : 8178 2 * ( match[ 3 ] === "even" || match[ 3 ] === "odd" ) ); 8179 match[ 5 ] = +( ( match[ 7 ] + match[ 8 ] ) || match[ 3 ] === "odd" ); 8180 8181 // other types prohibit arguments 8182 } else if ( match[ 3 ] ) { 8183 Sizzle.error( match[ 0 ] ); 8184 } 8185 8186 return match; 8187 }, 8188 8189 "PSEUDO": function( match ) { 8190 var excess, 8191 unquoted = !match[ 6 ] && match[ 2 ]; 8192 8193 if ( matchExpr[ "CHILD" ].test( match[ 0 ] ) ) { 8194 return null; 8195 } 8196 8197 // Accept quoted arguments as-is 8198 if ( match[ 3 ] ) { 8199 match[ 2 ] = match[ 4 ] || match[ 5 ] || ""; 8200 8201 // Strip excess characters from unquoted arguments 8202 } else if ( unquoted && rpseudo.test( unquoted ) && 8203 8204 // Get excess from tokenize (recursively) 8205 ( excess = tokenize( unquoted, true ) ) && 8206 8207 // advance to the next closing parenthesis 8208 ( excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length ) ) { 8209 8210 // excess is a negative index 8211 match[ 0 ] = match[ 0 ].slice( 0, excess ); 8212 match[ 2 ] = unquoted.slice( 0, excess ); 8213 } 8214 8215 // Return only captures needed by the pseudo filter method (type and argument) 8216 return match.slice( 0, 3 ); 8217 } 8218 }, 8219 8220 filter: { 8221 8222 "TAG": function( nodeNameSelector ) { 8223 var nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase(); 8224 return nodeNameSelector === "*" ? 8225 function() { 8226 return true; 8227 } : 8228 function( elem ) { 8229 return elem.nodeName && elem.nodeName.toLowerCase() === nodeName; 8230 }; 8231 }, 8232 8233 "CLASS": function( className ) { 8234 var pattern = classCache[ className + " " ]; 8235 8236 return pattern || 8237 ( pattern = new RegExp( "(^|" + whitespace + 8238 ")" + className + "(" + whitespace + "|$)" ) ) && classCache( 8239 className, function( elem ) { 8240 return pattern.test( 8241 typeof elem.className === "string" && elem.className || 8242 typeof elem.getAttribute !== "undefined" && 8243 elem.getAttribute( "class" ) || 8244 "" 8245 ); 8246 } ); 8247 }, 8248 8249 "ATTR": function( name, operator, check ) { 8250 return function( elem ) { 8251 var result = Sizzle.attr( elem, name ); 8252 8253 if ( result == null ) { 8254 return operator === "!="; 8255 } 8256 if ( !operator ) { 8257 return true; 8258 } 8259 8260 result += ""; 8261 8262 /* eslint-disable max-len */ 8263 8264 return operator === "=" ? result === check : 8265 operator === "!=" ? result !== check : 8266 operator === "^=" ? check && result.indexOf( check ) === 0 : 8267 operator === "*=" ? check && result.indexOf( check ) > -1 : 8268 operator === "$=" ? check && result.slice( -check.length ) === check : 8269 operator === "~=" ? ( " " + result.replace( rwhitespace, " " ) + " " ).indexOf( check ) > -1 : 8270 operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" : 8271 false; 8272 /* eslint-enable max-len */ 8273 8274 }; 8275 }, 8276 8277 "CHILD": function( type, what, _argument, first, last ) { 8278 var simple = type.slice( 0, 3 ) !== "nth", 8279 forward = type.slice( -4 ) !== "last", 8280 ofType = what === "of-type"; 8281 8282 return first === 1 && last === 0 ? 8283 8284 // Shortcut for :nth-*(n) 8285 function( elem ) { 8286 return !!elem.parentNode; 8287 } : 8288 8289 function( elem, _context, xml ) { 8290 var cache, uniqueCache, outerCache, node, nodeIndex, start, 8291 dir = simple !== forward ? "nextSibling" : "previousSibling", 8292 parent = elem.parentNode, 8293 name = ofType && elem.nodeName.toLowerCase(), 8294 useCache = !xml && !ofType, 8295 diff = false; 8296 8297 if ( parent ) { 8298 8299 // :(first|last|only)-(child|of-type) 8300 if ( simple ) { 8301 while ( dir ) { 8302 node = elem; 8303 while ( ( node = node[ dir ] ) ) { 8304 if ( ofType ? 8305 node.nodeName.toLowerCase() === name : 8306 node.nodeType === 1 ) { 8307 8308 return false; 8309 } 8310 } 8311 8312 // Reverse direction for :only-* (if we haven't yet done so) 8313 start = dir = type === "only" && !start && "nextSibling"; 8314 } 8315 return true; 8316 } 8317 8318 start = [ forward ? parent.firstChild : parent.lastChild ]; 8319 8320 // non-xml :nth-child(...) stores cache data on `parent` 8321 if ( forward && useCache ) { 8322 8323 // Seek `elem` from a previously-cached index 8324 8325 // ...in a gzip-friendly way 8326 node = parent; 8327 outerCache = node[ expando ] || ( node[ expando ] = {} ); 8328 8329 // Support: IE <9 only 8330 // Defend against cloned attroperties (jQuery gh-1709) 8331 uniqueCache = outerCache[ node.uniqueID ] || 8332 ( outerCache[ node.uniqueID ] = {} ); 8333 8334 cache = uniqueCache[ type ] || []; 8335 nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; 8336 diff = nodeIndex && cache[ 2 ]; 8337 node = nodeIndex && parent.childNodes[ nodeIndex ]; 8338 8339 while ( ( node = ++nodeIndex && node && node[ dir ] || 8340 8341 // Fallback to seeking `elem` from the start 8342 ( diff = nodeIndex = 0 ) || start.pop() ) ) { 8343 8344 // When found, cache indexes on `parent` and break 8345 if ( node.nodeType === 1 && ++diff && node === elem ) { 8346 uniqueCache[ type ] = [ dirruns, nodeIndex, diff ]; 8347 break; 8348 } 8349 } 8350 8351 } else { 8352 8353 // Use previously-cached element index if available 8354 if ( useCache ) { 8355 8356 // ...in a gzip-friendly way 8357 node = elem; 8358 outerCache = node[ expando ] || ( node[ expando ] = {} ); 8359 8360 // Support: IE <9 only 8361 // Defend against cloned attroperties (jQuery gh-1709) 8362 uniqueCache = outerCache[ node.uniqueID ] || 8363 ( outerCache[ node.uniqueID ] = {} ); 8364 8365 cache = uniqueCache[ type ] || []; 8366 nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; 8367 diff = nodeIndex; 8368 } 8369 8370 // xml :nth-child(...) 8371 // or :nth-last-child(...) or :nth(-last)?-of-type(...) 8372 if ( diff === false ) { 8373 8374 // Use the same loop as above to seek `elem` from the start 8375 while ( ( node = ++nodeIndex && node && node[ dir ] || 8376 ( diff = nodeIndex = 0 ) || start.pop() ) ) { 8377 8378 if ( ( ofType ? 8379 node.nodeName.toLowerCase() === name : 8380 node.nodeType === 1 ) && 8381 ++diff ) { 8382 8383 // Cache the index of each encountered element 8384 if ( useCache ) { 8385 outerCache = node[ expando ] || 8386 ( node[ expando ] = {} ); 8387 8388 // Support: IE <9 only 8389 // Defend against cloned attroperties (jQuery gh-1709) 8390 uniqueCache = outerCache[ node.uniqueID ] || 8391 ( outerCache[ node.uniqueID ] = {} ); 8392 8393 uniqueCache[ type ] = [ dirruns, diff ]; 8394 } 8395 8396 if ( node === elem ) { 8397 break; 8398 } 8399 } 8400 } 8401 } 8402 } 8403 8404 // Incorporate the offset, then check against cycle size 8405 diff -= last; 8406 return diff === first || ( diff % first === 0 && diff / first >= 0 ); 8407 } 8408 }; 8409 }, 8410 8411 "PSEUDO": function( pseudo, argument ) { 8412 8413 // pseudo-class names are case-insensitive 8414 // http://www.w3.org/TR/selectors/#pseudo-classes 8415 // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters 8416 // Remember that setFilters inherits from pseudos 8417 var args, 8418 fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] || 8419 Sizzle.error( "unsupported pseudo: " + pseudo ); 8420 8421 // The user may use createPseudo to indicate that 8422 // arguments are needed to create the filter function 8423 // just as Sizzle does 8424 if ( fn[ expando ] ) { 8425 return fn( argument ); 8426 } 8427 8428 // But maintain support for old signatures 8429 if ( fn.length > 1 ) { 8430 args = [ pseudo, pseudo, "", argument ]; 8431 return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ? 8432 markFunction( function( seed, matches ) { 8433 var idx, 8434 matched = fn( seed, argument ), 8435 i = matched.length; 8436 while ( i-- ) { 8437 idx = indexOf( seed, matched[ i ] ); 8438 seed[ idx ] = !( matches[ idx ] = matched[ i ] ); 8439 } 8440 } ) : 8441 function( elem ) { 8442 return fn( elem, 0, args ); 8443 }; 8444 } 8445 8446 return fn; 8447 } 8448 }, 8449 8450 pseudos: { 8451 8452 // Potentially complex pseudos 8453 "not": markFunction( function( selector ) { 8454 8455 // Trim the selector passed to compile 8456 // to avoid treating leading and trailing 8457 // spaces as combinators 8458 var input = [], 8459 results = [], 8460 matcher = compile( selector.replace( rtrim, "$1" ) ); 8461 8462 return matcher[ expando ] ? 8463 markFunction( function( seed, matches, _context, xml ) { 8464 var elem, 8465 unmatched = matcher( seed, null, xml, [] ), 8466 i = seed.length; 8467 8468 // Match elements unmatched by `matcher` 8469 while ( i-- ) { 8470 if ( ( elem = unmatched[ i ] ) ) { 8471 seed[ i ] = !( matches[ i ] = elem ); 8472 } 8473 } 8474 } ) : 8475 function( elem, _context, xml ) { 8476 input[ 0 ] = elem; 8477 matcher( input, null, xml, results ); 8478 8479 // Don't keep the element (issue #299) 8480 input[ 0 ] = null; 8481 return !results.pop(); 8482 }; 8483 } ), 8484 8485 "has": markFunction( function( selector ) { 8486 return function( elem ) { 8487 return Sizzle( selector, elem ).length > 0; 8488 }; 8489 } ), 8490 8491 "contains": markFunction( function( text ) { 8492 text = text.replace( runescape, funescape ); 8493 return function( elem ) { 8494 return ( elem.textContent || getText( elem ) ).indexOf( text ) > -1; 8495 }; 8496 } ), 8497 8498 // "Whether an element is represented by a :lang() selector 8499 // is based solely on the element's language value 8500 // being equal to the identifier C, 8501 // or beginning with the identifier C immediately followed by "-". 8502 // The matching of C against the element's language value is performed case-insensitively. 8503 // The identifier C does not have to be a valid language name." 8504 // http://www.w3.org/TR/selectors/#lang-pseudo 8505 "lang": markFunction( function( lang ) { 8506 8507 // lang value must be a valid identifier 8508 if ( !ridentifier.test( lang || "" ) ) { 8509 Sizzle.error( "unsupported lang: " + lang ); 8510 } 8511 lang = lang.replace( runescape, funescape ).toLowerCase(); 8512 return function( elem ) { 8513 var elemLang; 8514 do { 8515 if ( ( elemLang = documentIsHTML ? 8516 elem.lang : 8517 elem.getAttribute( "xml:lang" ) || elem.getAttribute( "lang" ) ) ) { 8518 8519 elemLang = elemLang.toLowerCase(); 8520 return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0; 8521 } 8522 } while ( ( elem = elem.parentNode ) && elem.nodeType === 1 ); 8523 return false; 8524 }; 8525 } ), 8526 8527 // Miscellaneous 8528 "target": function( elem ) { 8529 var hash = window.location && window.location.hash; 8530 return hash && hash.slice( 1 ) === elem.id; 8531 }, 8532 8533 "root": function( elem ) { 8534 return elem === docElem; 8535 }, 8536 8537 "focus": function( elem ) { 8538 return elem === document.activeElement && 8539 ( !document.hasFocus || document.hasFocus() ) && 8540 !!( elem.type || elem.href || ~elem.tabIndex ); 8541 }, 8542 8543 // Boolean properties 8544 "enabled": createDisabledPseudo( false ), 8545 "disabled": createDisabledPseudo( true ), 8546 8547 "checked": function( elem ) { 8548 8549 // In CSS3, :checked should return both checked and selected elements 8550 // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked 8551 var nodeName = elem.nodeName.toLowerCase(); 8552 return ( nodeName === "input" && !!elem.checked ) || 8553 ( nodeName === "option" && !!elem.selected ); 8554 }, 8555 8556 "selected": function( elem ) { 8557 8558 // Accessing this property makes selected-by-default 8559 // options in Safari work properly 8560 if ( elem.parentNode ) { 8561 // eslint-disable-next-line no-unused-expressions 8562 elem.parentNode.selectedIndex; 8563 } 8564 8565 return elem.selected === true; 8566 }, 8567 8568 // Contents 8569 "empty": function( elem ) { 8570 8571 // http://www.w3.org/TR/selectors/#empty-pseudo 8572 // :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5), 8573 // but not by others (comment: 8; processing instruction: 7; etc.) 8574 // nodeType < 6 works because attributes (2) do not appear as children 8575 for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { 8576 if ( elem.nodeType < 6 ) { 8577 return false; 8578 } 8579 } 8580 return true; 8581 }, 8582 8583 "parent": function( elem ) { 8584 return !Expr.pseudos[ "empty" ]( elem ); 8585 }, 8586 8587 // Element/input types 8588 "header": function( elem ) { 8589 return rheader.test( elem.nodeName ); 8590 }, 8591 8592 "input": function( elem ) { 8593 return rinputs.test( elem.nodeName ); 8594 }, 8595 8596 "button": function( elem ) { 8597 var name = elem.nodeName.toLowerCase(); 8598 return name === "input" && elem.type === "button" || name === "button"; 8599 }, 8600 8601 "text": function( elem ) { 8602 var attr; 8603 return elem.nodeName.toLowerCase() === "input" && 8604 elem.type === "text" && 8605 8606 // Support: IE<8 8607 // New HTML5 attribute values (e.g., "search") appear with elem.type === "text" 8608 ( ( attr = elem.getAttribute( "type" ) ) == null || 8609 attr.toLowerCase() === "text" ); 8610 }, 8611 8612 // Position-in-collection 8613 "first": createPositionalPseudo( function() { 8614 return [ 0 ]; 8615 } ), 8616 8617 "last": createPositionalPseudo( function( _matchIndexes, length ) { 8618 return [ length - 1 ]; 8619 } ), 8620 8621 "eq": createPositionalPseudo( function( _matchIndexes, length, argument ) { 8622 return [ argument < 0 ? argument + length : argument ]; 8623 } ), 8624 8625 "even": createPositionalPseudo( function( matchIndexes, length ) { 8626 var i = 0; 8627 for ( ; i < length; i += 2 ) { 8628 matchIndexes.push( i ); 8629 } 8630 return matchIndexes; 8631 } ), 8632 8633 "odd": createPositionalPseudo( function( matchIndexes, length ) { 8634 var i = 1; 8635 for ( ; i < length; i += 2 ) { 8636 matchIndexes.push( i ); 8637 } 8638 return matchIndexes; 8639 } ), 8640 8641 "lt": createPositionalPseudo( function( matchIndexes, length, argument ) { 8642 var i = argument < 0 ? 8643 argument + length : 8644 argument > length ? 8645 length : 8646 argument; 8647 for ( ; --i >= 0; ) { 8648 matchIndexes.push( i ); 8649 } 8650 return matchIndexes; 8651 } ), 8652 8653 "gt": createPositionalPseudo( function( matchIndexes, length, argument ) { 8654 var i = argument < 0 ? argument + length : argument; 8655 for ( ; ++i < length; ) { 8656 matchIndexes.push( i ); 8657 } 8658 return matchIndexes; 8659 } ) 8660 } 8661}; 8662 8663Expr.pseudos[ "nth" ] = Expr.pseudos[ "eq" ]; 8664 8665// Add button/input type pseudos 8666for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) { 8667 Expr.pseudos[ i ] = createInputPseudo( i ); 8668} 8669for ( i in { submit: true, reset: true } ) { 8670 Expr.pseudos[ i ] = createButtonPseudo( i ); 8671} 8672 8673// Easy API for creating new setFilters 8674function setFilters() {} 8675setFilters.prototype = Expr.filters = Expr.pseudos; 8676Expr.setFilters = new setFilters(); 8677 8678tokenize = Sizzle.tokenize = function( selector, parseOnly ) { 8679 var matched, match, tokens, type, 8680 soFar, groups, preFilters, 8681 cached = tokenCache[ selector + " " ]; 8682 8683 if ( cached ) { 8684 return parseOnly ? 0 : cached.slice( 0 ); 8685 } 8686 8687 soFar = selector; 8688 groups = []; 8689 preFilters = Expr.preFilter; 8690 8691 while ( soFar ) { 8692 8693 // Comma and first run 8694 if ( !matched || ( match = rcomma.exec( soFar ) ) ) { 8695 if ( match ) { 8696 8697 // Don't consume trailing commas as valid 8698 soFar = soFar.slice( match[ 0 ].length ) || soFar; 8699 } 8700 groups.push( ( tokens = [] ) ); 8701 } 8702 8703 matched = false; 8704 8705 // Combinators 8706 if ( ( match = rcombinators.exec( soFar ) ) ) { 8707 matched = match.shift(); 8708 tokens.push( { 8709 value: matched, 8710 8711 // Cast descendant combinators to space 8712 type: match[ 0 ].replace( rtrim, " " ) 8713 } ); 8714 soFar = soFar.slice( matched.length ); 8715 } 8716 8717 // Filters 8718 for ( type in Expr.filter ) { 8719 if ( ( match = matchExpr[ type ].exec( soFar ) ) && ( !preFilters[ type ] || 8720 ( match = preFilters[ type ]( match ) ) ) ) { 8721 matched = match.shift(); 8722 tokens.push( { 8723 value: matched, 8724 type: type, 8725 matches: match 8726 } ); 8727 soFar = soFar.slice( matched.length ); 8728 } 8729 } 8730 8731 if ( !matched ) { 8732 break; 8733 } 8734 } 8735 8736 // Return the length of the invalid excess 8737 // if we're just parsing 8738 // Otherwise, throw an error or return tokens 8739 return parseOnly ? 8740 soFar.length : 8741 soFar ? 8742 Sizzle.error( selector ) : 8743 8744 // Cache the tokens 8745 tokenCache( selector, groups ).slice( 0 ); 8746}; 8747 8748function toSelector( tokens ) { 8749 var i = 0, 8750 len = tokens.length, 8751 selector = ""; 8752 for ( ; i < len; i++ ) { 8753 selector += tokens[ i ].value; 8754 } 8755 return selector; 8756} 8757 8758function addCombinator( matcher, combinator, base ) { 8759 var dir = combinator.dir, 8760 skip = combinator.next, 8761 key = skip || dir, 8762 checkNonElements = base && key === "parentNode", 8763 doneName = done++; 8764 8765 return combinator.first ? 8766 8767 // Check against closest ancestor/preceding element 8768 function( elem, context, xml ) { 8769 while ( ( elem = elem[ dir ] ) ) { 8770 if ( elem.nodeType === 1 || checkNonElements ) { 8771 return matcher( elem, context, xml ); 8772 } 8773 } 8774 return false; 8775 } : 8776 8777 // Check against all ancestor/preceding elements 8778 function( elem, context, xml ) { 8779 var oldCache, uniqueCache, outerCache, 8780 newCache = [ dirruns, doneName ]; 8781 8782 // We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching 8783 if ( xml ) { 8784 while ( ( elem = elem[ dir ] ) ) { 8785 if ( elem.nodeType === 1 || checkNonElements ) { 8786 if ( matcher( elem, context, xml ) ) { 8787 return true; 8788 } 8789 } 8790 } 8791 } else { 8792 while ( ( elem = elem[ dir ] ) ) { 8793 if ( elem.nodeType === 1 || checkNonElements ) { 8794 outerCache = elem[ expando ] || ( elem[ expando ] = {} ); 8795 8796 // Support: IE <9 only 8797 // Defend against cloned attroperties (jQuery gh-1709) 8798 uniqueCache = outerCache[ elem.uniqueID ] || 8799 ( outerCache[ elem.uniqueID ] = {} ); 8800 8801 if ( skip && skip === elem.nodeName.toLowerCase() ) { 8802 elem = elem[ dir ] || elem; 8803 } else if ( ( oldCache = uniqueCache[ key ] ) && 8804 oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) { 8805 8806 // Assign to newCache so results back-propagate to previous elements 8807 return ( newCache[ 2 ] = oldCache[ 2 ] ); 8808 } else { 8809 8810 // Reuse newcache so results back-propagate to previous elements 8811 uniqueCache[ key ] = newCache; 8812 8813 // A match means we're done; a fail means we have to keep checking 8814 if ( ( newCache[ 2 ] = matcher( elem, context, xml ) ) ) { 8815 return true; 8816 } 8817 } 8818 } 8819 } 8820 } 8821 return false; 8822 }; 8823} 8824 8825function elementMatcher( matchers ) { 8826 return matchers.length > 1 ? 8827 function( elem, context, xml ) { 8828 var i = matchers.length; 8829 while ( i-- ) { 8830 if ( !matchers[ i ]( elem, context, xml ) ) { 8831 return false; 8832 } 8833 } 8834 return true; 8835 } : 8836 matchers[ 0 ]; 8837} 8838 8839function multipleContexts( selector, contexts, results ) { 8840 var i = 0, 8841 len = contexts.length; 8842 for ( ; i < len; i++ ) { 8843 Sizzle( selector, contexts[ i ], results ); 8844 } 8845 return results; 8846} 8847 8848function condense( unmatched, map, filter, context, xml ) { 8849 var elem, 8850 newUnmatched = [], 8851 i = 0, 8852 len = unmatched.length, 8853 mapped = map != null; 8854 8855 for ( ; i < len; i++ ) { 8856 if ( ( elem = unmatched[ i ] ) ) { 8857 if ( !filter || filter( elem, context, xml ) ) { 8858 newUnmatched.push( elem ); 8859 if ( mapped ) { 8860 map.push( i ); 8861 } 8862 } 8863 } 8864 } 8865 8866 return newUnmatched; 8867} 8868 8869function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) { 8870 if ( postFilter && !postFilter[ expando ] ) { 8871 postFilter = setMatcher( postFilter ); 8872 } 8873 if ( postFinder && !postFinder[ expando ] ) { 8874 postFinder = setMatcher( postFinder, postSelector ); 8875 } 8876 return markFunction( function( seed, results, context, xml ) { 8877 var temp, i, elem, 8878 preMap = [], 8879 postMap = [], 8880 preexisting = results.length, 8881 8882 // Get initial elements from seed or context 8883 elems = seed || multipleContexts( 8884 selector || "*", 8885 context.nodeType ? [ context ] : context, 8886 [] 8887 ), 8888 8889 // Prefilter to get matcher input, preserving a map for seed-results synchronization 8890 matcherIn = preFilter && ( seed || !selector ) ? 8891 condense( elems, preMap, preFilter, context, xml ) : 8892 elems, 8893 8894 matcherOut = matcher ? 8895 8896 // If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results, 8897 postFinder || ( seed ? preFilter : preexisting || postFilter ) ? 8898 8899 // ...intermediate processing is necessary 8900 [] : 8901 8902 // ...otherwise use results directly 8903 results : 8904 matcherIn; 8905 8906 // Find primary matches 8907 if ( matcher ) { 8908 matcher( matcherIn, matcherOut, context, xml ); 8909 } 8910 8911 // Apply postFilter 8912 if ( postFilter ) { 8913 temp = condense( matcherOut, postMap ); 8914 postFilter( temp, [], context, xml ); 8915 8916 // Un-match failing elements by moving them back to matcherIn 8917 i = temp.length; 8918 while ( i-- ) { 8919 if ( ( elem = temp[ i ] ) ) { 8920 matcherOut[ postMap[ i ] ] = !( matcherIn[ postMap[ i ] ] = elem ); 8921 } 8922 } 8923 } 8924 8925 if ( seed ) { 8926 if ( postFinder || preFilter ) { 8927 if ( postFinder ) { 8928 8929 // Get the final matcherOut by condensing this intermediate into postFinder contexts 8930 temp = []; 8931 i = matcherOut.length; 8932 while ( i-- ) { 8933 if ( ( elem = matcherOut[ i ] ) ) { 8934 8935 // Restore matcherIn since elem is not yet a final match 8936 temp.push( ( matcherIn[ i ] = elem ) ); 8937 } 8938 } 8939 postFinder( null, ( matcherOut = [] ), temp, xml ); 8940 } 8941 8942 // Move matched elements from seed to results to keep them synchronized 8943 i = matcherOut.length; 8944 while ( i-- ) { 8945 if ( ( elem = matcherOut[ i ] ) && 8946 ( temp = postFinder ? indexOf( seed, elem ) : preMap[ i ] ) > -1 ) { 8947 8948 seed[ temp ] = !( results[ temp ] = elem ); 8949 } 8950 } 8951 } 8952 8953 // Add elements to results, through postFinder if defined 8954 } else { 8955 matcherOut = condense( 8956 matcherOut === results ? 8957 matcherOut.splice( preexisting, matcherOut.length ) : 8958 matcherOut 8959 ); 8960 if ( postFinder ) { 8961 postFinder( null, results, matcherOut, xml ); 8962 } else { 8963 push.apply( results, matcherOut ); 8964 } 8965 } 8966 } ); 8967} 8968 8969function matcherFromTokens( tokens ) { 8970 var checkContext, matcher, j, 8971 len = tokens.length, 8972 leadingRelative = Expr.relative[ tokens[ 0 ].type ], 8973 implicitRelative = leadingRelative || Expr.relative[ " " ], 8974 i = leadingRelative ? 1 : 0, 8975 8976 // The foundational matcher ensures that elements are reachable from top-level context(s) 8977 matchContext = addCombinator( function( elem ) { 8978 return elem === checkContext; 8979 }, implicitRelative, true ), 8980 matchAnyContext = addCombinator( function( elem ) { 8981 return indexOf( checkContext, elem ) > -1; 8982 }, implicitRelative, true ), 8983 matchers = [ function( elem, context, xml ) { 8984 var ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || ( 8985 ( checkContext = context ).nodeType ? 8986 matchContext( elem, context, xml ) : 8987 matchAnyContext( elem, context, xml ) ); 8988 8989 // Avoid hanging onto element (issue #299) 8990 checkContext = null; 8991 return ret; 8992 } ]; 8993 8994 for ( ; i < len; i++ ) { 8995 if ( ( matcher = Expr.relative[ tokens[ i ].type ] ) ) { 8996 matchers = [ addCombinator( elementMatcher( matchers ), matcher ) ]; 8997 } else { 8998 matcher = Expr.filter[ tokens[ i ].type ].apply( null, tokens[ i ].matches ); 8999 9000 // Return special upon seeing a positional matcher 9001 if ( matcher[ expando ] ) { 9002 9003 // Find the next relative operator (if any) for proper handling 9004 j = ++i; 9005 for ( ; j < len; j++ ) { 9006 if ( Expr.relative[ tokens[ j ].type ] ) { 9007 break; 9008 } 9009 } 9010 return setMatcher( 9011 i > 1 && elementMatcher( matchers ), 9012 i > 1 && toSelector( 9013 9014 // If the preceding token was a descendant combinator, insert an implicit any-element `*` 9015 tokens 9016 .slice( 0, i - 1 ) 9017 .concat( { value: tokens[ i - 2 ].type === " " ? "*" : "" } ) 9018 ).replace( rtrim, "$1" ), 9019 matcher, 9020 i < j && matcherFromTokens( tokens.slice( i, j ) ), 9021 j < len && matcherFromTokens( ( tokens = tokens.slice( j ) ) ), 9022 j < len && toSelector( tokens ) 9023 ); 9024 } 9025 matchers.push( matcher ); 9026 } 9027 } 9028 9029 return elementMatcher( matchers ); 9030} 9031 9032function matcherFromGroupMatchers( elementMatchers, setMatchers ) { 9033 var bySet = setMatchers.length > 0, 9034 byElement = elementMatchers.length > 0, 9035 superMatcher = function( seed, context, xml, results, outermost ) { 9036 var elem, j, matcher, 9037 matchedCount = 0, 9038 i = "0", 9039 unmatched = seed && [], 9040 setMatched = [], 9041 contextBackup = outermostContext, 9042 9043 // We must always have either seed elements or outermost context 9044 elems = seed || byElement && Expr.find[ "TAG" ]( "*", outermost ), 9045 9046 // Use integer dirruns iff this is the outermost matcher 9047 dirrunsUnique = ( dirruns += contextBackup == null ? 1 : Math.random() || 0.1 ), 9048 len = elems.length; 9049 9050 if ( outermost ) { 9051 9052 // Support: IE 11+, Edge 17 - 18+ 9053 // IE/Edge sometimes throw a "Permission denied" error when strict-comparing 9054 // two documents; shallow comparisons work. 9055 // eslint-disable-next-line eqeqeq 9056 outermostContext = context == document || context || outermost; 9057 } 9058 9059 // Add elements passing elementMatchers directly to results 9060 // Support: IE<9, Safari 9061 // Tolerate NodeList properties (IE: "length"; Safari: <number>) matching elements by id 9062 for ( ; i !== len && ( elem = elems[ i ] ) != null; i++ ) { 9063 if ( byElement && elem ) { 9064 j = 0; 9065 9066 // Support: IE 11+, Edge 17 - 18+ 9067 // IE/Edge sometimes throw a "Permission denied" error when strict-comparing 9068 // two documents; shallow comparisons work. 9069 // eslint-disable-next-line eqeqeq 9070 if ( !context && elem.ownerDocument != document ) { 9071 setDocument( elem ); 9072 xml = !documentIsHTML; 9073 } 9074 while ( ( matcher = elementMatchers[ j++ ] ) ) { 9075 if ( matcher( elem, context || document, xml ) ) { 9076 results.push( elem ); 9077 break; 9078 } 9079 } 9080 if ( outermost ) { 9081 dirruns = dirrunsUnique; 9082 } 9083 } 9084 9085 // Track unmatched elements for set filters 9086 if ( bySet ) { 9087 9088 // They will have gone through all possible matchers 9089 if ( ( elem = !matcher && elem ) ) { 9090 matchedCount--; 9091 } 9092 9093 // Lengthen the array for every element, matched or not 9094 if ( seed ) { 9095 unmatched.push( elem ); 9096 } 9097 } 9098 } 9099 9100 // `i` is now the count of elements visited above, and adding it to `matchedCount` 9101 // makes the latter nonnegative. 9102 matchedCount += i; 9103 9104 // Apply set filters to unmatched elements 9105 // NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount` 9106 // equals `i`), unless we didn't visit _any_ elements in the above loop because we have 9107 // no element matchers and no seed. 9108 // Incrementing an initially-string "0" `i` allows `i` to remain a string only in that 9109 // case, which will result in a "00" `matchedCount` that differs from `i` but is also 9110 // numerically zero. 9111 if ( bySet && i !== matchedCount ) { 9112 j = 0; 9113 while ( ( matcher = setMatchers[ j++ ] ) ) { 9114 matcher( unmatched, setMatched, context, xml ); 9115 } 9116 9117 if ( seed ) { 9118 9119 // Reintegrate element matches to eliminate the need for sorting 9120 if ( matchedCount > 0 ) { 9121 while ( i-- ) { 9122 if ( !( unmatched[ i ] || setMatched[ i ] ) ) { 9123 setMatched[ i ] = pop.call( results ); 9124 } 9125 } 9126 } 9127 9128 // Discard index placeholder values to get only actual matches 9129 setMatched = condense( setMatched ); 9130 } 9131 9132 // Add matches to results 9133 push.apply( results, setMatched ); 9134 9135 // Seedless set matches succeeding multiple successful matchers stipulate sorting 9136 if ( outermost && !seed && setMatched.length > 0 && 9137 ( matchedCount + setMatchers.length ) > 1 ) { 9138 9139 Sizzle.uniqueSort( results ); 9140 } 9141 } 9142 9143 // Override manipulation of globals by nested matchers 9144 if ( outermost ) { 9145 dirruns = dirrunsUnique; 9146 outermostContext = contextBackup; 9147 } 9148 9149 return unmatched; 9150 }; 9151 9152 return bySet ? 9153 markFunction( superMatcher ) : 9154 superMatcher; 9155} 9156 9157compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) { 9158 var i, 9159 setMatchers = [], 9160 elementMatchers = [], 9161 cached = compilerCache[ selector + " " ]; 9162 9163 if ( !cached ) { 9164 9165 // Generate a function of recursive functions that can be used to check each element 9166 if ( !match ) { 9167 match = tokenize( selector ); 9168 } 9169 i = match.length; 9170 while ( i-- ) { 9171 cached = matcherFromTokens( match[ i ] ); 9172 if ( cached[ expando ] ) { 9173 setMatchers.push( cached ); 9174 } else { 9175 elementMatchers.push( cached ); 9176 } 9177 } 9178 9179 // Cache the compiled function 9180 cached = compilerCache( 9181 selector, 9182 matcherFromGroupMatchers( elementMatchers, setMatchers ) 9183 ); 9184 9185 // Save selector and tokenization 9186 cached.selector = selector; 9187 } 9188 return cached; 9189}; 9190 9191/** 9192 * A low-level selection function that works with Sizzle's compiled 9193 * selector functions 9194 * @param {String|Function} selector A selector or a pre-compiled 9195 * selector function built with Sizzle.compile 9196 * @param {Element} context 9197 * @param {Array} [results] 9198 * @param {Array} [seed] A set of elements to match against 9199 */ 9200select = Sizzle.select = function( selector, context, results, seed ) { 9201 var i, tokens, token, type, find, 9202 compiled = typeof selector === "function" && selector, 9203 match = !seed && tokenize( ( selector = compiled.selector || selector ) ); 9204 9205 results = results || []; 9206 9207 // Try to minimize operations if there is only one selector in the list and no seed 9208 // (the latter of which guarantees us context) 9209 if ( match.length === 1 ) { 9210 9211 // Reduce context if the leading compound selector is an ID 9212 tokens = match[ 0 ] = match[ 0 ].slice( 0 ); 9213 if ( tokens.length > 2 && ( token = tokens[ 0 ] ).type === "ID" && 9214 context.nodeType === 9 && documentIsHTML && Expr.relative[ tokens[ 1 ].type ] ) { 9215 9216 context = ( Expr.find[ "ID" ]( token.matches[ 0 ] 9217 .replace( runescape, funescape ), context ) || [] )[ 0 ]; 9218 if ( !context ) { 9219 return results; 9220 9221 // Precompiled matchers will still verify ancestry, so step up a level 9222 } else if ( compiled ) { 9223 context = context.parentNode; 9224 } 9225 9226 selector = selector.slice( tokens.shift().value.length ); 9227 } 9228 9229 // Fetch a seed set for right-to-left matching 9230 i = matchExpr[ "needsContext" ].test( selector ) ? 0 : tokens.length; 9231 while ( i-- ) { 9232 token = tokens[ i ]; 9233 9234 // Abort if we hit a combinator 9235 if ( Expr.relative[ ( type = token.type ) ] ) { 9236 break; 9237 } 9238 if ( ( find = Expr.find[ type ] ) ) { 9239 9240 // Search, expanding context for leading sibling combinators 9241 if ( ( seed = find( 9242 token.matches[ 0 ].replace( runescape, funescape ), 9243 rsibling.test( tokens[ 0 ].type ) && testContext( context.parentNode ) || 9244 context 9245 ) ) ) { 9246 9247 // If seed is empty or no tokens remain, we can return early 9248 tokens.splice( i, 1 ); 9249 selector = seed.length && toSelector( tokens ); 9250 if ( !selector ) { 9251 push.apply( results, seed ); 9252 return results; 9253 } 9254 9255 break; 9256 } 9257 } 9258 } 9259 } 9260 9261 // Compile and execute a filtering function if one is not provided 9262 // Provide `match` to avoid retokenization if we modified the selector above 9263 ( compiled || compile( selector, match ) )( 9264 seed, 9265 context, 9266 !documentIsHTML, 9267 results, 9268 !context || rsibling.test( selector ) && testContext( context.parentNode ) || context 9269 ); 9270 return results; 9271}; 9272 9273// One-time assignments 9274 9275// Sort stability 9276support.sortStable = expando.split( "" ).sort( sortOrder ).join( "" ) === expando; 9277 9278// Support: Chrome 14-35+ 9279// Always assume duplicates if they aren't passed to the comparison function 9280support.detectDuplicates = !!hasDuplicate; 9281 9282// Initialize against the default document 9283setDocument(); 9284 9285// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27) 9286// Detached nodes confoundingly follow *each other* 9287support.sortDetached = assert( function( el ) { 9288 9289 // Should return 1, but returns 4 (following) 9290 return el.compareDocumentPosition( document.createElement( "fieldset" ) ) & 1; 9291} ); 9292 9293// Support: IE<8 9294// Prevent attribute/property "interpolation" 9295// https://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx 9296if ( !assert( function( el ) { 9297 el.innerHTML = "<a href='#'></a>"; 9298 return el.firstChild.getAttribute( "href" ) === "#"; 9299} ) ) { 9300 addHandle( "type|href|height|width", function( elem, name, isXML ) { 9301 if ( !isXML ) { 9302 return elem.getAttribute( name, name.toLowerCase() === "type" ? 1 : 2 ); 9303 } 9304 } ); 9305} 9306 9307// Support: IE<9 9308// Use defaultValue in place of getAttribute("value") 9309if ( !support.attributes || !assert( function( el ) { 9310 el.innerHTML = "<input/>"; 9311 el.firstChild.setAttribute( "value", "" ); 9312 return el.firstChild.getAttribute( "value" ) === ""; 9313} ) ) { 9314 addHandle( "value", function( elem, _name, isXML ) { 9315 if ( !isXML && elem.nodeName.toLowerCase() === "input" ) { 9316 return elem.defaultValue; 9317 } 9318 } ); 9319} 9320 9321// Support: IE<9 9322// Use getAttributeNode to fetch booleans when getAttribute lies 9323if ( !assert( function( el ) { 9324 return el.getAttribute( "disabled" ) == null; 9325} ) ) { 9326 addHandle( booleans, function( elem, name, isXML ) { 9327 var val; 9328 if ( !isXML ) { 9329 return elem[ name ] === true ? name.toLowerCase() : 9330 ( val = elem.getAttributeNode( name ) ) && val.specified ? 9331 val.value : 9332 null; 9333 } 9334 } ); 9335} 9336 9337return Sizzle; 9338 9339} )( window ); 9340 9341 9342 9343jQuery.find = Sizzle; 9344jQuery.expr = Sizzle.selectors; 9345 9346// Deprecated 9347jQuery.expr[ ":" ] = jQuery.expr.pseudos; 9348jQuery.uniqueSort = jQuery.unique = Sizzle.uniqueSort; 9349jQuery.text = Sizzle.getText; 9350jQuery.isXMLDoc = Sizzle.isXML; 9351jQuery.contains = Sizzle.contains; 9352jQuery.escapeSelector = Sizzle.escape; 9353 9354 9355 9356 9357var dir = function( elem, dir, until ) { 9358 var matched = [], 9359 truncate = until !== undefined; 9360 9361 while ( ( elem = elem[ dir ] ) && elem.nodeType !== 9 ) { 9362 if ( elem.nodeType === 1 ) { 9363 if ( truncate && jQuery( elem ).is( until ) ) { 9364 break; 9365 } 9366 matched.push( elem ); 9367 } 9368 } 9369 return matched; 9370}; 9371 9372 9373var siblings = function( n, elem ) { 9374 var matched = []; 9375 9376 for ( ; n; n = n.nextSibling ) { 9377 if ( n.nodeType === 1 && n !== elem ) { 9378 matched.push( n ); 9379 } 9380 } 9381 9382 return matched; 9383}; 9384 9385 9386var rneedsContext = jQuery.expr.match.needsContext; 9387 9388 9389 9390function nodeName( elem, name ) { 9391 9392 return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase(); 9393 9394} 9395var rsingleTag = ( /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i ); 9396 9397 9398 9399// Implement the identical functionality for filter and not 9400function winnow( elements, qualifier, not ) { 9401 if ( isFunction( qualifier ) ) { 9402 return jQuery.grep( elements, function( elem, i ) { 9403 return !!qualifier.call( elem, i, elem ) !== not; 9404 } ); 9405 } 9406 9407 // Single element 9408 if ( qualifier.nodeType ) { 9409 return jQuery.grep( elements, function( elem ) { 9410 return ( elem === qualifier ) !== not; 9411 } ); 9412 } 9413 9414 // Arraylike of elements (jQuery, arguments, Array) 9415 if ( typeof qualifier !== "string" ) { 9416 return jQuery.grep( elements, function( elem ) { 9417 return ( indexOf.call( qualifier, elem ) > -1 ) !== not; 9418 } ); 9419 } 9420 9421 // Filtered directly for both simple and complex selectors 9422 return jQuery.filter( qualifier, elements, not ); 9423} 9424 9425jQuery.filter = function( expr, elems, not ) { 9426 var elem = elems[ 0 ]; 9427 9428 if ( not ) { 9429 expr = ":not(" + expr + ")"; 9430 } 9431 9432 if ( elems.length === 1 && elem.nodeType === 1 ) { 9433 return jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : []; 9434 } 9435 9436 return jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) { 9437 return elem.nodeType === 1; 9438 } ) ); 9439}; 9440 9441jQuery.fn.extend( { 9442 find: function( selector ) { 9443 var i, ret, 9444 len = this.length, 9445 self = this; 9446 9447 if ( typeof selector !== "string" ) { 9448 return this.pushStack( jQuery( selector ).filter( function() { 9449 for ( i = 0; i < len; i++ ) { 9450 if ( jQuery.contains( self[ i ], this ) ) { 9451 return true; 9452 } 9453 } 9454 } ) ); 9455 } 9456 9457 ret = this.pushStack( [] ); 9458 9459 for ( i = 0; i < len; i++ ) { 9460 jQuery.find( selector, self[ i ], ret ); 9461 } 9462 9463 return len > 1 ? jQuery.uniqueSort( ret ) : ret; 9464 }, 9465 filter: function( selector ) { 9466 return this.pushStack( winnow( this, selector || [], false ) ); 9467 }, 9468 not: function( selector ) { 9469 return this.pushStack( winnow( this, selector || [], true ) ); 9470 }, 9471 is: function( selector ) { 9472 return !!winnow( 9473 this, 9474 9475 // If this is a positional/relative selector, check membership in the returned set 9476 // so $("p:first").is("p:last") won't return true for a doc with two "p". 9477 typeof selector === "string" && rneedsContext.test( selector ) ? 9478 jQuery( selector ) : 9479 selector || [], 9480 false 9481 ).length; 9482 } 9483} ); 9484 9485 9486// Initialize a jQuery object 9487 9488 9489// A central reference to the root jQuery(document) 9490var rootjQuery, 9491 9492 // A simple way to check for HTML strings 9493 // Prioritize #id over <tag> to avoid XSS via location.hash (#9521) 9494 // Strict HTML recognition (#11290: must start with <) 9495 // Shortcut simple #id case for speed 9496 rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/, 9497 9498 init = jQuery.fn.init = function( selector, context, root ) { 9499 var match, elem; 9500 9501 // HANDLE: $(""), $(null), $(undefined), $(false) 9502 if ( !selector ) { 9503 return this; 9504 } 9505 9506 // Method init() accepts an alternate rootjQuery 9507 // so migrate can support jQuery.sub (gh-2101) 9508 root = root || rootjQuery; 9509 9510 // Handle HTML strings 9511 if ( typeof selector === "string" ) { 9512 if ( selector[ 0 ] === "<" && 9513 selector[ selector.length - 1 ] === ">" && 9514 selector.length >= 3 ) { 9515 9516 // Assume that strings that start and end with <> are HTML and skip the regex check 9517 match = [ null, selector, null ]; 9518 9519 } else { 9520 match = rquickExpr.exec( selector ); 9521 } 9522 9523 // Match html or make sure no context is specified for #id 9524 if ( match && ( match[ 1 ] || !context ) ) { 9525 9526 // HANDLE: $(html) -> $(array) 9527 if ( match[ 1 ] ) { 9528 context = context instanceof jQuery ? context[ 0 ] : context; 9529 9530 // Option to run scripts is true for back-compat 9531 // Intentionally let the error be thrown if parseHTML is not present 9532 jQuery.merge( this, jQuery.parseHTML( 9533 match[ 1 ], 9534 context && context.nodeType ? context.ownerDocument || context : document, 9535 true 9536 ) ); 9537 9538 // HANDLE: $(html, props) 9539 if ( rsingleTag.test( match[ 1 ] ) && jQuery.isPlainObject( context ) ) { 9540 for ( match in context ) { 9541 9542 // Properties of context are called as methods if possible 9543 if ( isFunction( this[ match ] ) ) { 9544 this[ match ]( context[ match ] ); 9545 9546 // ...and otherwise set as attributes 9547 } else { 9548 this.attr( match, context[ match ] ); 9549 } 9550 } 9551 } 9552 9553 return this; 9554 9555 // HANDLE: $(#id) 9556 } else { 9557 elem = document.getElementById( match[ 2 ] ); 9558 9559 if ( elem ) { 9560 9561 // Inject the element directly into the jQuery object 9562 this[ 0 ] = elem; 9563 this.length = 1; 9564 } 9565 return this; 9566 } 9567 9568 // HANDLE: $(expr, $(...)) 9569 } else if ( !context || context.jquery ) { 9570 return ( context || root ).find( selector ); 9571 9572 // HANDLE: $(expr, context) 9573 // (which is just equivalent to: $(context).find(expr) 9574 } else { 9575 return this.constructor( context ).find( selector ); 9576 } 9577 9578 // HANDLE: $(DOMElement) 9579 } else if ( selector.nodeType ) { 9580 this[ 0 ] = selector; 9581 this.length = 1; 9582 return this; 9583 9584 // HANDLE: $(function) 9585 // Shortcut for document ready 9586 } else if ( isFunction( selector ) ) { 9587 return root.ready !== undefined ? 9588 root.ready( selector ) : 9589 9590 // Execute immediately if ready is not present 9591 selector( jQuery ); 9592 } 9593 9594 return jQuery.makeArray( selector, this ); 9595 }; 9596 9597// Give the init function the jQuery prototype for later instantiation 9598init.prototype = jQuery.fn; 9599 9600// Initialize central reference 9601rootjQuery = jQuery( document ); 9602 9603 9604var rparentsprev = /^(?:parents|prev(?:Until|All))/, 9605 9606 // Methods guaranteed to produce a unique set when starting from a unique set 9607 guaranteedUnique = { 9608 children: true, 9609 contents: true, 9610 next: true, 9611 prev: true 9612 }; 9613 9614jQuery.fn.extend( { 9615 has: function( target ) { 9616 var targets = jQuery( target, this ), 9617 l = targets.length; 9618 9619 return this.filter( function() { 9620 var i = 0; 9621 for ( ; i < l; i++ ) { 9622 if ( jQuery.contains( this, targets[ i ] ) ) { 9623 return true; 9624 } 9625 } 9626 } ); 9627 }, 9628 9629 closest: function( selectors, context ) { 9630 var cur, 9631 i = 0, 9632 l = this.length, 9633 matched = [], 9634 targets = typeof selectors !== "string" && jQuery( selectors ); 9635 9636 // Positional selectors never match, since there's no _selection_ context 9637 if ( !rneedsContext.test( selectors ) ) { 9638 for ( ; i < l; i++ ) { 9639 for ( cur = this[ i ]; cur && cur !== context; cur = cur.parentNode ) { 9640 9641 // Always skip document fragments 9642 if ( cur.nodeType < 11 && ( targets ? 9643 targets.index( cur ) > -1 : 9644 9645 // Don't pass non-elements to Sizzle 9646 cur.nodeType === 1 && 9647 jQuery.find.matchesSelector( cur, selectors ) ) ) { 9648 9649 matched.push( cur ); 9650 break; 9651 } 9652 } 9653 } 9654 } 9655 9656 return this.pushStack( matched.length > 1 ? jQuery.uniqueSort( matched ) : matched ); 9657 }, 9658 9659 // Determine the position of an element within the set 9660 index: function( elem ) { 9661 9662 // No argument, return index in parent 9663 if ( !elem ) { 9664 return ( this[ 0 ] && this[ 0 ].parentNode ) ? this.first().prevAll().length : -1; 9665 } 9666 9667 // Index in selector 9668 if ( typeof elem === "string" ) { 9669 return indexOf.call( jQuery( elem ), this[ 0 ] ); 9670 } 9671 9672 // Locate the position of the desired element 9673 return indexOf.call( this, 9674 9675 // If it receives a jQuery object, the first element is used 9676 elem.jquery ? elem[ 0 ] : elem 9677 ); 9678 }, 9679 9680 add: function( selector, context ) { 9681 return this.pushStack( 9682 jQuery.uniqueSort( 9683 jQuery.merge( this.get(), jQuery( selector, context ) ) 9684 ) 9685 ); 9686 }, 9687 9688 addBack: function( selector ) { 9689 return this.add( selector == null ? 9690 this.prevObject : this.prevObject.filter( selector ) 9691 ); 9692 } 9693} ); 9694 9695function sibling( cur, dir ) { 9696 while ( ( cur = cur[ dir ] ) && cur.nodeType !== 1 ) {} 9697 return cur; 9698} 9699 9700jQuery.each( { 9701 parent: function( elem ) { 9702 var parent = elem.parentNode; 9703 return parent && parent.nodeType !== 11 ? parent : null; 9704 }, 9705 parents: function( elem ) { 9706 return dir( elem, "parentNode" ); 9707 }, 9708 parentsUntil: function( elem, _i, until ) { 9709 return dir( elem, "parentNode", until ); 9710 }, 9711 next: function( elem ) { 9712 return sibling( elem, "nextSibling" ); 9713 }, 9714 prev: function( elem ) { 9715 return sibling( elem, "previousSibling" ); 9716 }, 9717 nextAll: function( elem ) { 9718 return dir( elem, "nextSibling" ); 9719 }, 9720 prevAll: function( elem ) { 9721 return dir( elem, "previousSibling" ); 9722 }, 9723 nextUntil: function( elem, _i, until ) { 9724 return dir( elem, "nextSibling", until ); 9725 }, 9726 prevUntil: function( elem, _i, until ) { 9727 return dir( elem, "previousSibling", until ); 9728 }, 9729 siblings: function( elem ) { 9730 return siblings( ( elem.parentNode || {} ).firstChild, elem ); 9731 }, 9732 children: function( elem ) { 9733 return siblings( elem.firstChild ); 9734 }, 9735 contents: function( elem ) { 9736 if ( elem.contentDocument != null && 9737 9738 // Support: IE 11+ 9739 // <object> elements with no `data` attribute has an object 9740 // `contentDocument` with a `null` prototype. 9741 getProto( elem.contentDocument ) ) { 9742 9743 return elem.contentDocument; 9744 } 9745 9746 // Support: IE 9 - 11 only, iOS 7 only, Android Browser <=4.3 only 9747 // Treat the template element as a regular one in browsers that 9748 // don't support it. 9749 if ( nodeName( elem, "template" ) ) { 9750 elem = elem.content || elem; 9751 } 9752 9753 return jQuery.merge( [], elem.childNodes ); 9754 } 9755}, function( name, fn ) { 9756 jQuery.fn[ name ] = function( until, selector ) { 9757 var matched = jQuery.map( this, fn, until ); 9758 9759 if ( name.slice( -5 ) !== "Until" ) { 9760 selector = until; 9761 } 9762 9763 if ( selector && typeof selector === "string" ) { 9764 matched = jQuery.filter( selector, matched ); 9765 } 9766 9767 if ( this.length > 1 ) { 9768 9769 // Remove duplicates 9770 if ( !guaranteedUnique[ name ] ) { 9771 jQuery.uniqueSort( matched ); 9772 } 9773 9774 // Reverse order for parents* and prev-derivatives 9775 if ( rparentsprev.test( name ) ) { 9776 matched.reverse(); 9777 } 9778 } 9779 9780 return this.pushStack( matched ); 9781 }; 9782} ); 9783var rnothtmlwhite = ( /[^\x20\t\r\n\f]+/g ); 9784 9785 9786 9787// Convert String-formatted options into Object-formatted ones 9788function createOptions( options ) { 9789 var object = {}; 9790 jQuery.each( options.match( rnothtmlwhite ) || [], function( _, flag ) { 9791 object[ flag ] = true; 9792 } ); 9793 return object; 9794} 9795 9796/* 9797 * Create a callback list using the following parameters: 9798 * 9799 * options: an optional list of space-separated options that will change how 9800 * the callback list behaves or a more traditional option object 9801 * 9802 * By default a callback list will act like an event callback list and can be 9803 * "fired" multiple times. 9804 * 9805 * Possible options: 9806 * 9807 * once: will ensure the callback list can only be fired once (like a Deferred) 9808 * 9809 * memory: will keep track of previous values and will call any callback added 9810 * after the list has been fired right away with the latest "memorized" 9811 * values (like a Deferred) 9812 * 9813 * unique: will ensure a callback can only be added once (no duplicate in the list) 9814 * 9815 * stopOnFalse: interrupt callings when a callback returns false 9816 * 9817 */ 9818jQuery.Callbacks = function( options ) { 9819 9820 // Convert options from String-formatted to Object-formatted if needed 9821 // (we check in cache first) 9822 options = typeof options === "string" ? 9823 createOptions( options ) : 9824 jQuery.extend( {}, options ); 9825 9826 var // Flag to know if list is currently firing 9827 firing, 9828 9829 // Last fire value for non-forgettable lists 9830 memory, 9831 9832 // Flag to know if list was already fired 9833 fired, 9834 9835 // Flag to prevent firing 9836 locked, 9837 9838 // Actual callback list 9839 list = [], 9840 9841 // Queue of execution data for repeatable lists 9842 queue = [], 9843 9844 // Index of currently firing callback (modified by add/remove as needed) 9845 firingIndex = -1, 9846 9847 // Fire callbacks 9848 fire = function() { 9849 9850 // Enforce single-firing 9851 locked = locked || options.once; 9852 9853 // Execute callbacks for all pending executions, 9854 // respecting firingIndex overrides and runtime changes 9855 fired = firing = true; 9856 for ( ; queue.length; firingIndex = -1 ) { 9857 memory = queue.shift(); 9858 while ( ++firingIndex < list.length ) { 9859 9860 // Run callback and check for early termination 9861 if ( list[ firingIndex ].apply( memory[ 0 ], memory[ 1 ] ) === false && 9862 options.stopOnFalse ) { 9863 9864 // Jump to end and forget the data so .add doesn't re-fire 9865 firingIndex = list.length; 9866 memory = false; 9867 } 9868 } 9869 } 9870 9871 // Forget the data if we're done with it 9872 if ( !options.memory ) { 9873 memory = false; 9874 } 9875 9876 firing = false; 9877 9878 // Clean up if we're done firing for good 9879 if ( locked ) { 9880 9881 // Keep an empty list if we have data for future add calls 9882 if ( memory ) { 9883 list = []; 9884 9885 // Otherwise, this object is spent 9886 } else { 9887 list = ""; 9888 } 9889 } 9890 }, 9891 9892 // Actual Callbacks object 9893 self = { 9894 9895 // Add a callback or a collection of callbacks to the list 9896 add: function() { 9897 if ( list ) { 9898 9899 // If we have memory from a past run, we should fire after adding 9900 if ( memory && !firing ) { 9901 firingIndex = list.length - 1; 9902 queue.push( memory ); 9903 } 9904 9905 ( function add( args ) { 9906 jQuery.each( args, function( _, arg ) { 9907 if ( isFunction( arg ) ) { 9908 if ( !options.unique || !self.has( arg ) ) { 9909 list.push( arg ); 9910 } 9911 } else if ( arg && arg.length && toType( arg ) !== "string" ) { 9912 9913 // Inspect recursively 9914 add( arg ); 9915 } 9916 } ); 9917 } )( arguments ); 9918 9919 if ( memory && !firing ) { 9920 fire(); 9921 } 9922 } 9923 return this; 9924 }, 9925 9926 // Remove a callback from the list 9927 remove: function() { 9928 jQuery.each( arguments, function( _, arg ) { 9929 var index; 9930 while ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) { 9931 list.splice( index, 1 ); 9932 9933 // Handle firing indexes 9934 if ( index <= firingIndex ) { 9935 firingIndex--; 9936 } 9937 } 9938 } ); 9939 return this; 9940 }, 9941 9942 // Check if a given callback is in the list. 9943 // If no argument is given, return whether or not list has callbacks attached. 9944 has: function( fn ) { 9945 return fn ? 9946 jQuery.inArray( fn, list ) > -1 : 9947 list.length > 0; 9948 }, 9949 9950 // Remove all callbacks from the list 9951 empty: function() { 9952 if ( list ) { 9953 list = []; 9954 } 9955 return this; 9956 }, 9957 9958 // Disable .fire and .add 9959 // Abort any current/pending executions 9960 // Clear all callbacks and values 9961 disable: function() { 9962 locked = queue = []; 9963 list = memory = ""; 9964 return this; 9965 }, 9966 disabled: function() { 9967 return !list; 9968 }, 9969 9970 // Disable .fire 9971 // Also disable .add unless we have memory (since it would have no effect) 9972 // Abort any pending executions 9973 lock: function() { 9974 locked = queue = []; 9975 if ( !memory && !firing ) { 9976 list = memory = ""; 9977 } 9978 return this; 9979 }, 9980 locked: function() { 9981 return !!locked; 9982 }, 9983 9984 // Call all callbacks with the given context and arguments 9985 fireWith: function( context, args ) { 9986 if ( !locked ) { 9987 args = args || []; 9988 args = [ context, args.slice ? args.slice() : args ]; 9989 queue.push( args ); 9990 if ( !firing ) { 9991 fire(); 9992 } 9993 } 9994 return this; 9995 }, 9996 9997 // Call all the callbacks with the given arguments 9998 fire: function() { 9999 self.fireWith( this, arguments ); 10000 return this; 10001 }, 10002 10003 // To know if the callbacks have already been called at least once 10004 fired: function() { 10005 return !!fired; 10006 } 10007 }; 10008 10009 return self; 10010}; 10011 10012 10013function Identity( v ) { 10014 return v; 10015} 10016function Thrower( ex ) { 10017 throw ex; 10018} 10019 10020function adoptValue( value, resolve, reject, noValue ) { 10021 var method; 10022 10023 try { 10024 10025 // Check for promise aspect first to privilege synchronous behavior 10026 if ( value && isFunction( ( method = value.promise ) ) ) { 10027 method.call( value ).done( resolve ).fail( reject ); 10028 10029 // Other thenables 10030 } else if ( value && isFunction( ( method = value.then ) ) ) { 10031 method.call( value, resolve, reject ); 10032 10033 // Other non-thenables 10034 } else { 10035 10036 // Control `resolve` arguments by letting Array#slice cast boolean `noValue` to integer: 10037 // * false: [ value ].slice( 0 ) => resolve( value ) 10038 // * true: [ value ].slice( 1 ) => resolve() 10039 resolve.apply( undefined, [ value ].slice( noValue ) ); 10040 } 10041 10042 // For Promises/A+, convert exceptions into rejections 10043 // Since jQuery.when doesn't unwrap thenables, we can skip the extra checks appearing in 10044 // Deferred#then to conditionally suppress rejection. 10045 } catch ( value ) { 10046 10047 // Support: Android 4.0 only 10048 // Strict mode functions invoked without .call/.apply get global-object context 10049 reject.apply( undefined, [ value ] ); 10050 } 10051} 10052 10053jQuery.extend( { 10054 10055 Deferred: function( func ) { 10056 var tuples = [ 10057 10058 // action, add listener, callbacks, 10059 // ... .then handlers, argument index, [final state] 10060 [ "notify", "progress", jQuery.Callbacks( "memory" ), 10061 jQuery.Callbacks( "memory" ), 2 ], 10062 [ "resolve", "done", jQuery.Callbacks( "once memory" ), 10063 jQuery.Callbacks( "once memory" ), 0, "resolved" ], 10064 [ "reject", "fail", jQuery.Callbacks( "once memory" ), 10065 jQuery.Callbacks( "once memory" ), 1, "rejected" ] 10066 ], 10067 state = "pending", 10068 promise = { 10069 state: function() { 10070 return state; 10071 }, 10072 always: function() { 10073 deferred.done( arguments ).fail( arguments ); 10074 return this; 10075 }, 10076 "catch": function( fn ) { 10077 return promise.then( null, fn ); 10078 }, 10079 10080 // Keep pipe for back-compat 10081 pipe: function( /* fnDone, fnFail, fnProgress */ ) { 10082 var fns = arguments; 10083 10084 return jQuery.Deferred( function( newDefer ) { 10085 jQuery.each( tuples, function( _i, tuple ) { 10086 10087 // Map tuples (progress, done, fail) to arguments (done, fail, progress) 10088 var fn = isFunction( fns[ tuple[ 4 ] ] ) && fns[ tuple[ 4 ] ]; 10089 10090 // deferred.progress(function() { bind to newDefer or newDefer.notify }) 10091 // deferred.done(function() { bind to newDefer or newDefer.resolve }) 10092 // deferred.fail(function() { bind to newDefer or newDefer.reject }) 10093 deferred[ tuple[ 1 ] ]( function() { 10094 var returned = fn && fn.apply( this, arguments ); 10095 if ( returned && isFunction( returned.promise ) ) { 10096 returned.promise() 10097 .progress( newDefer.notify ) 10098 .done( newDefer.resolve ) 10099 .fail( newDefer.reject ); 10100 } else { 10101 newDefer[ tuple[ 0 ] + "With" ]( 10102 this, 10103 fn ? [ returned ] : arguments 10104 ); 10105 } 10106 } ); 10107 } ); 10108 fns = null; 10109 } ).promise(); 10110 }, 10111 then: function( onFulfilled, onRejected, onProgress ) { 10112 var maxDepth = 0; 10113 function resolve( depth, deferred, handler, special ) { 10114 return function() { 10115 var that = this, 10116 args = arguments, 10117 mightThrow = function() { 10118 var returned, then; 10119 10120 // Support: Promises/A+ section 2.3.3.3.3 10121 // https://promisesaplus.com/#point-59 10122 // Ignore double-resolution attempts 10123 if ( depth < maxDepth ) { 10124 return; 10125 } 10126 10127 returned = handler.apply( that, args ); 10128 10129 // Support: Promises/A+ section 2.3.1 10130 // https://promisesaplus.com/#point-48 10131 if ( returned === deferred.promise() ) { 10132 throw new TypeError( "Thenable self-resolution" ); 10133 } 10134 10135 // Support: Promises/A+ sections 2.3.3.1, 3.5 10136 // https://promisesaplus.com/#point-54 10137 // https://promisesaplus.com/#point-75 10138 // Retrieve `then` only once 10139 then = returned && 10140 10141 // Support: Promises/A+ section 2.3.4 10142 // https://promisesaplus.com/#point-64 10143 // Only check objects and functions for thenability 10144 ( typeof returned === "object" || 10145 typeof returned === "function" ) && 10146 returned.then; 10147 10148 // Handle a returned thenable 10149 if ( isFunction( then ) ) { 10150 10151 // Special processors (notify) just wait for resolution 10152 if ( special ) { 10153 then.call( 10154 returned, 10155 resolve( maxDepth, deferred, Identity, special ), 10156 resolve( maxDepth, deferred, Thrower, special ) 10157 ); 10158 10159 // Normal processors (resolve) also hook into progress 10160 } else { 10161 10162 // ...and disregard older resolution values 10163 maxDepth++; 10164 10165 then.call( 10166 returned, 10167 resolve( maxDepth, deferred, Identity, special ), 10168 resolve( maxDepth, deferred, Thrower, special ), 10169 resolve( maxDepth, deferred, Identity, 10170 deferred.notifyWith ) 10171 ); 10172 } 10173 10174 // Handle all other returned values 10175 } else { 10176 10177 // Only substitute handlers pass on context 10178 // and multiple values (non-spec behavior) 10179 if ( handler !== Identity ) { 10180 that = undefined; 10181 args = [ returned ]; 10182 } 10183 10184 // Process the value(s) 10185 // Default process is resolve 10186 ( special || deferred.resolveWith )( that, args ); 10187 } 10188 }, 10189 10190 // Only normal processors (resolve) catch and reject exceptions 10191 process = special ? 10192 mightThrow : 10193 function() { 10194 try { 10195 mightThrow(); 10196 } catch ( e ) { 10197 10198 if ( jQuery.Deferred.exceptionHook ) { 10199 jQuery.Deferred.exceptionHook( e, 10200 process.stackTrace ); 10201 } 10202 10203 // Support: Promises/A+ section 2.3.3.3.4.1 10204 // https://promisesaplus.com/#point-61 10205 // Ignore post-resolution exceptions 10206 if ( depth + 1 >= maxDepth ) { 10207 10208 // Only substitute handlers pass on context 10209 // and multiple values (non-spec behavior) 10210 if ( handler !== Thrower ) { 10211 that = undefined; 10212 args = [ e ]; 10213 } 10214 10215 deferred.rejectWith( that, args ); 10216 } 10217 } 10218 }; 10219 10220 // Support: Promises/A+ section 2.3.3.3.1 10221 // https://promisesaplus.com/#point-57 10222 // Re-resolve promises immediately to dodge false rejection from 10223 // subsequent errors 10224 if ( depth ) { 10225 process(); 10226 } else { 10227 10228 // Call an optional hook to record the stack, in case of exception 10229 // since it's otherwise lost when execution goes async 10230 if ( jQuery.Deferred.getStackHook ) { 10231 process.stackTrace = jQuery.Deferred.getStackHook(); 10232 } 10233 window.setTimeout( process ); 10234 } 10235 }; 10236 } 10237 10238 return jQuery.Deferred( function( newDefer ) { 10239 10240 // progress_handlers.add( ... ) 10241 tuples[ 0 ][ 3 ].add( 10242 resolve( 10243 0, 10244 newDefer, 10245 isFunction( onProgress ) ? 10246 onProgress : 10247 Identity, 10248 newDefer.notifyWith 10249 ) 10250 ); 10251 10252 // fulfilled_handlers.add( ... ) 10253 tuples[ 1 ][ 3 ].add( 10254 resolve( 10255 0, 10256 newDefer, 10257 isFunction( onFulfilled ) ? 10258 onFulfilled : 10259 Identity 10260 ) 10261 ); 10262 10263 // rejected_handlers.add( ... ) 10264 tuples[ 2 ][ 3 ].add( 10265 resolve( 10266 0, 10267 newDefer, 10268 isFunction( onRejected ) ? 10269 onRejected : 10270 Thrower 10271 ) 10272 ); 10273 } ).promise(); 10274 }, 10275 10276 // Get a promise for this deferred 10277 // If obj is provided, the promise aspect is added to the object 10278 promise: function( obj ) { 10279 return obj != null ? jQuery.extend( obj, promise ) : promise; 10280 } 10281 }, 10282 deferred = {}; 10283 10284 // Add list-specific methods 10285 jQuery.each( tuples, function( i, tuple ) { 10286 var list = tuple[ 2 ], 10287 stateString = tuple[ 5 ]; 10288 10289 // promise.progress = list.add 10290 // promise.done = list.add 10291 // promise.fail = list.add 10292 promise[ tuple[ 1 ] ] = list.add; 10293 10294 // Handle state 10295 if ( stateString ) { 10296 list.add( 10297 function() { 10298 10299 // state = "resolved" (i.e., fulfilled) 10300 // state = "rejected" 10301 state = stateString; 10302 }, 10303 10304 // rejected_callbacks.disable 10305 // fulfilled_callbacks.disable 10306 tuples[ 3 - i ][ 2 ].disable, 10307 10308 // rejected_handlers.disable 10309 // fulfilled_handlers.disable 10310 tuples[ 3 - i ][ 3 ].disable, 10311 10312 // progress_callbacks.lock 10313 tuples[ 0 ][ 2 ].lock, 10314 10315 // progress_handlers.lock 10316 tuples[ 0 ][ 3 ].lock 10317 ); 10318 } 10319 10320 // progress_handlers.fire 10321 // fulfilled_handlers.fire 10322 // rejected_handlers.fire 10323 list.add( tuple[ 3 ].fire ); 10324 10325 // deferred.notify = function() { deferred.notifyWith(...) } 10326 // deferred.resolve = function() { deferred.resolveWith(...) } 10327 // deferred.reject = function() { deferred.rejectWith(...) } 10328 deferred[ tuple[ 0 ] ] = function() { 10329 deferred[ tuple[ 0 ] + "With" ]( this === deferred ? undefined : this, arguments ); 10330 return this; 10331 }; 10332 10333 // deferred.notifyWith = list.fireWith 10334 // deferred.resolveWith = list.fireWith 10335 // deferred.rejectWith = list.fireWith 10336 deferred[ tuple[ 0 ] + "With" ] = list.fireWith; 10337 } ); 10338 10339 // Make the deferred a promise 10340 promise.promise( deferred ); 10341 10342 // Call given func if any 10343 if ( func ) { 10344 func.call( deferred, deferred ); 10345 } 10346 10347 // All done! 10348 return deferred; 10349 }, 10350 10351 // Deferred helper 10352 when: function( singleValue ) { 10353 var 10354 10355 // count of uncompleted subordinates 10356 remaining = arguments.length, 10357 10358 // count of unprocessed arguments 10359 i = remaining, 10360 10361 // subordinate fulfillment data 10362 resolveContexts = Array( i ), 10363 resolveValues = slice.call( arguments ), 10364 10365 // the primary Deferred 10366 primary = jQuery.Deferred(), 10367 10368 // subordinate callback factory 10369 updateFunc = function( i ) { 10370 return function( value ) { 10371 resolveContexts[ i ] = this; 10372 resolveValues[ i ] = arguments.length > 1 ? slice.call( arguments ) : value; 10373 if ( !( --remaining ) ) { 10374 primary.resolveWith( resolveContexts, resolveValues ); 10375 } 10376 }; 10377 }; 10378 10379 // Single- and empty arguments are adopted like Promise.resolve 10380 if ( remaining <= 1 ) { 10381 adoptValue( singleValue, primary.done( updateFunc( i ) ).resolve, primary.reject, 10382 !remaining ); 10383 10384 // Use .then() to unwrap secondary thenables (cf. gh-3000) 10385 if ( primary.state() === "pending" || 10386 isFunction( resolveValues[ i ] && resolveValues[ i ].then ) ) { 10387 10388 return primary.then(); 10389 } 10390 } 10391 10392 // Multiple arguments are aggregated like Promise.all array elements 10393 while ( i-- ) { 10394 adoptValue( resolveValues[ i ], updateFunc( i ), primary.reject ); 10395 } 10396 10397 return primary.promise(); 10398 } 10399} ); 10400 10401 10402// These usually indicate a programmer mistake during development, 10403// warn about them ASAP rather than swallowing them by default. 10404var rerrorNames = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/; 10405 10406jQuery.Deferred.exceptionHook = function( error, stack ) { 10407 10408 // Support: IE 8 - 9 only 10409 // Console exists when dev tools are open, which can happen at any time 10410 if ( window.console && window.console.warn && error && rerrorNames.test( error.name ) ) { 10411 window.console.warn( "jQuery.Deferred exception: " + error.message, error.stack, stack ); 10412 } 10413}; 10414 10415 10416 10417 10418jQuery.readyException = function( error ) { 10419 window.setTimeout( function() { 10420 throw error; 10421 } ); 10422}; 10423 10424 10425 10426 10427// The deferred used on DOM ready 10428var readyList = jQuery.Deferred(); 10429 10430jQuery.fn.ready = function( fn ) { 10431 10432 readyList 10433 .then( fn ) 10434 10435 // Wrap jQuery.readyException in a function so that the lookup 10436 // happens at the time of error handling instead of callback 10437 // registration. 10438 .catch( function( error ) { 10439 jQuery.readyException( error ); 10440 } ); 10441 10442 return this; 10443}; 10444 10445jQuery.extend( { 10446 10447 // Is the DOM ready to be used? Set to true once it occurs. 10448 isReady: false, 10449 10450 // A counter to track how many items to wait for before 10451 // the ready event fires. See #6781 10452 readyWait: 1, 10453 10454 // Handle when the DOM is ready 10455 ready: function( wait ) { 10456 10457 // Abort if there are pending holds or we're already ready 10458 if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) { 10459 return; 10460 } 10461 10462 // Remember that the DOM is ready 10463 jQuery.isReady = true; 10464 10465 // If a normal DOM Ready event fired, decrement, and wait if need be 10466 if ( wait !== true && --jQuery.readyWait > 0 ) { 10467 return; 10468 } 10469 10470 // If there are functions bound, to execute 10471 readyList.resolveWith( document, [ jQuery ] ); 10472 } 10473} ); 10474 10475jQuery.ready.then = readyList.then; 10476 10477// The ready event handler and self cleanup method 10478function completed() { 10479 document.removeEventListener( "DOMContentLoaded", completed ); 10480 window.removeEventListener( "load", completed ); 10481 jQuery.ready(); 10482} 10483 10484// Catch cases where $(document).ready() is called 10485// after the browser event has already occurred. 10486// Support: IE <=9 - 10 only 10487// Older IE sometimes signals "interactive" too soon 10488if ( document.readyState === "complete" || 10489 ( document.readyState !== "loading" && !document.documentElement.doScroll ) ) { 10490 10491 // Handle it asynchronously to allow scripts the opportunity to delay ready 10492 window.setTimeout( jQuery.ready ); 10493 10494} else { 10495 10496 // Use the handy event callback 10497 document.addEventListener( "DOMContentLoaded", completed ); 10498 10499 // A fallback to window.onload, that will always work 10500 window.addEventListener( "load", completed ); 10501} 10502 10503 10504 10505 10506// Multifunctional method to get and set values of a collection 10507// The value/s can optionally be executed if it's a function 10508var access = function( elems, fn, key, value, chainable, emptyGet, raw ) { 10509 var i = 0, 10510 len = elems.length, 10511 bulk = key == null; 10512 10513 // Sets many values 10514 if ( toType( key ) === "object" ) { 10515 chainable = true; 10516 for ( i in key ) { 10517 access( elems, fn, i, key[ i ], true, emptyGet, raw ); 10518 } 10519 10520 // Sets one value 10521 } else if ( value !== undefined ) { 10522 chainable = true; 10523 10524 if ( !isFunction( value ) ) { 10525 raw = true; 10526 } 10527 10528 if ( bulk ) { 10529 10530 // Bulk operations run against the entire set 10531 if ( raw ) { 10532 fn.call( elems, value ); 10533 fn = null; 10534 10535 // ...except when executing function values 10536 } else { 10537 bulk = fn; 10538 fn = function( elem, _key, value ) { 10539 return bulk.call( jQuery( elem ), value ); 10540 }; 10541 } 10542 } 10543 10544 if ( fn ) { 10545 for ( ; i < len; i++ ) { 10546 fn( 10547 elems[ i ], key, raw ? 10548 value : 10549 value.call( elems[ i ], i, fn( elems[ i ], key ) ) 10550 ); 10551 } 10552 } 10553 } 10554 10555 if ( chainable ) { 10556 return elems; 10557 } 10558 10559 // Gets 10560 if ( bulk ) { 10561 return fn.call( elems ); 10562 } 10563 10564 return len ? fn( elems[ 0 ], key ) : emptyGet; 10565}; 10566 10567 10568// Matches dashed string for camelizing 10569var rmsPrefix = /^-ms-/, 10570 rdashAlpha = /-([a-z])/g; 10571 10572// Used by camelCase as callback to replace() 10573function fcamelCase( _all, letter ) { 10574 return letter.toUpperCase(); 10575} 10576 10577// Convert dashed to camelCase; used by the css and data modules 10578// Support: IE <=9 - 11, Edge 12 - 15 10579// Microsoft forgot to hump their vendor prefix (#9572) 10580function camelCase( string ) { 10581 return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase ); 10582} 10583var acceptData = function( owner ) { 10584 10585 // Accepts only: 10586 // - Node 10587 // - Node.ELEMENT_NODE 10588 // - Node.DOCUMENT_NODE 10589 // - Object 10590 // - Any 10591 return owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType ); 10592}; 10593 10594 10595 10596 10597function Data() { 10598 this.expando = jQuery.expando + Data.uid++; 10599} 10600 10601Data.uid = 1; 10602 10603Data.prototype = { 10604 10605 cache: function( owner ) { 10606 10607 // Check if the owner object already has a cache 10608 var value = owner[ this.expando ]; 10609 10610 // If not, create one 10611 if ( !value ) { 10612 value = {}; 10613 10614 // We can accept data for non-element nodes in modern browsers, 10615 // but we should not, see #8335. 10616 // Always return an empty object. 10617 if ( acceptData( owner ) ) { 10618 10619 // If it is a node unlikely to be stringify-ed or looped over 10620 // use plain assignment 10621 if ( owner.nodeType ) { 10622 owner[ this.expando ] = value; 10623 10624 // Otherwise secure it in a non-enumerable property 10625 // configurable must be true to allow the property to be 10626 // deleted when data is removed 10627 } else { 10628 Object.defineProperty( owner, this.expando, { 10629 value: value, 10630 configurable: true 10631 } ); 10632 } 10633 } 10634 } 10635 10636 return value; 10637 }, 10638 set: function( owner, data, value ) { 10639 var prop, 10640 cache = this.cache( owner ); 10641 10642 // Handle: [ owner, key, value ] args 10643 // Always use camelCase key (gh-2257) 10644 if ( typeof data === "string" ) { 10645 cache[ camelCase( data ) ] = value; 10646 10647 // Handle: [ owner, { properties } ] args 10648 } else { 10649 10650 // Copy the properties one-by-one to the cache object 10651 for ( prop in data ) { 10652 cache[ camelCase( prop ) ] = data[ prop ]; 10653 } 10654 } 10655 return cache; 10656 }, 10657 get: function( owner, key ) { 10658 return key === undefined ? 10659 this.cache( owner ) : 10660 10661 // Always use camelCase key (gh-2257) 10662 owner[ this.expando ] && owner[ this.expando ][ camelCase( key ) ]; 10663 }, 10664 access: function( owner, key, value ) { 10665 10666 // In cases where either: 10667 // 10668 // 1. No key was specified 10669 // 2. A string key was specified, but no value provided 10670 // 10671 // Take the "read" path and allow the get method to determine 10672 // which value to return, respectively either: 10673 // 10674 // 1. The entire cache object 10675 // 2. The data stored at the key 10676 // 10677 if ( key === undefined || 10678 ( ( key && typeof key === "string" ) && value === undefined ) ) { 10679 10680 return this.get( owner, key ); 10681 } 10682 10683 // When the key is not a string, or both a key and value 10684 // are specified, set or extend (existing objects) with either: 10685 // 10686 // 1. An object of properties 10687 // 2. A key and value 10688 // 10689 this.set( owner, key, value ); 10690 10691 // Since the "set" path can have two possible entry points 10692 // return the expected data based on which path was taken[*] 10693 return value !== undefined ? value : key; 10694 }, 10695 remove: function( owner, key ) { 10696 var i, 10697 cache = owner[ this.expando ]; 10698 10699 if ( cache === undefined ) { 10700 return; 10701 } 10702 10703 if ( key !== undefined ) { 10704 10705 // Support array or space separated string of keys 10706 if ( Array.isArray( key ) ) { 10707 10708 // If key is an array of keys... 10709 // We always set camelCase keys, so remove that. 10710 key = key.map( camelCase ); 10711 } else { 10712 key = camelCase( key ); 10713 10714 // If a key with the spaces exists, use it. 10715 // Otherwise, create an array by matching non-whitespace 10716 key = key in cache ? 10717 [ key ] : 10718 ( key.match( rnothtmlwhite ) || [] ); 10719 } 10720 10721 i = key.length; 10722 10723 while ( i-- ) { 10724 delete cache[ key[ i ] ]; 10725 } 10726 } 10727 10728 // Remove the expando if there's no more data 10729 if ( key === undefined || jQuery.isEmptyObject( cache ) ) { 10730 10731 // Support: Chrome <=35 - 45 10732 // Webkit & Blink performance suffers when deleting properties 10733 // from DOM nodes, so set to undefined instead 10734 // https://bugs.chromium.org/p/chromium/issues/detail?id=378607 (bug restricted) 10735 if ( owner.nodeType ) { 10736 owner[ this.expando ] = undefined; 10737 } else { 10738 delete owner[ this.expando ]; 10739 } 10740 } 10741 }, 10742 hasData: function( owner ) { 10743 var cache = owner[ this.expando ]; 10744 return cache !== undefined && !jQuery.isEmptyObject( cache ); 10745 } 10746}; 10747var dataPriv = new Data(); 10748 10749var dataUser = new Data(); 10750 10751 10752 10753// Implementation Summary 10754// 10755// 1. Enforce API surface and semantic compatibility with 1.9.x branch 10756// 2. Improve the module's maintainability by reducing the storage 10757// paths to a single mechanism. 10758// 3. Use the same single mechanism to support "private" and "user" data. 10759// 4. _Never_ expose "private" data to user code (TODO: Drop _data, _removeData) 10760// 5. Avoid exposing implementation details on user objects (eg. expando properties) 10761// 6. Provide a clear path for implementation upgrade to WeakMap in 2014 10762 10763var rbrace = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/, 10764 rmultiDash = /[A-Z]/g; 10765 10766function getData( data ) { 10767 if ( data === "true" ) { 10768 return true; 10769 } 10770 10771 if ( data === "false" ) { 10772 return false; 10773 } 10774 10775 if ( data === "null" ) { 10776 return null; 10777 } 10778 10779 // Only convert to a number if it doesn't change the string 10780 if ( data === +data + "" ) { 10781 return +data; 10782 } 10783 10784 if ( rbrace.test( data ) ) { 10785 return JSON.parse( data ); 10786 } 10787 10788 return data; 10789} 10790 10791function dataAttr( elem, key, data ) { 10792 var name; 10793 10794 // If nothing was found internally, try to fetch any 10795 // data from the HTML5 data-* attribute 10796 if ( data === undefined && elem.nodeType === 1 ) { 10797 name = "data-" + key.replace( rmultiDash, "-$&" ).toLowerCase(); 10798 data = elem.getAttribute( name ); 10799 10800 if ( typeof data === "string" ) { 10801 try { 10802 data = getData( data ); 10803 } catch ( e ) {} 10804 10805 // Make sure we set the data so it isn't changed later 10806 dataUser.set( elem, key, data ); 10807 } else { 10808 data = undefined; 10809 } 10810 } 10811 return data; 10812} 10813 10814jQuery.extend( { 10815 hasData: function( elem ) { 10816 return dataUser.hasData( elem ) || dataPriv.hasData( elem ); 10817 }, 10818 10819 data: function( elem, name, data ) { 10820 return dataUser.access( elem, name, data ); 10821 }, 10822 10823 removeData: function( elem, name ) { 10824 dataUser.remove( elem, name ); 10825 }, 10826 10827 // TODO: Now that all calls to _data and _removeData have been replaced 10828 // with direct calls to dataPriv methods, these can be deprecated. 10829 _data: function( elem, name, data ) { 10830 return dataPriv.access( elem, name, data ); 10831 }, 10832 10833 _removeData: function( elem, name ) { 10834 dataPriv.remove( elem, name ); 10835 } 10836} ); 10837 10838jQuery.fn.extend( { 10839 data: function( key, value ) { 10840 var i, name, data, 10841 elem = this[ 0 ], 10842 attrs = elem && elem.attributes; 10843 10844 // Gets all values 10845 if ( key === undefined ) { 10846 if ( this.length ) { 10847 data = dataUser.get( elem ); 10848 10849 if ( elem.nodeType === 1 && !dataPriv.get( elem, "hasDataAttrs" ) ) { 10850 i = attrs.length; 10851 while ( i-- ) { 10852 10853 // Support: IE 11 only 10854 // The attrs elements can be null (#14894) 10855 if ( attrs[ i ] ) { 10856 name = attrs[ i ].name; 10857 if ( name.indexOf( "data-" ) === 0 ) { 10858 name = camelCase( name.slice( 5 ) ); 10859 dataAttr( elem, name, data[ name ] ); 10860 } 10861 } 10862 } 10863 dataPriv.set( elem, "hasDataAttrs", true ); 10864 } 10865 } 10866 10867 return data; 10868 } 10869 10870 // Sets multiple values 10871 if ( typeof key === "object" ) { 10872 return this.each( function() { 10873 dataUser.set( this, key ); 10874 } ); 10875 } 10876 10877 return access( this, function( value ) { 10878 var data; 10879 10880 // The calling jQuery object (element matches) is not empty 10881 // (and therefore has an element appears at this[ 0 ]) and the 10882 // `value` parameter was not undefined. An empty jQuery object 10883 // will result in `undefined` for elem = this[ 0 ] which will 10884 // throw an exception if an attempt to read a data cache is made. 10885 if ( elem && value === undefined ) { 10886 10887 // Attempt to get data from the cache 10888 // The key will always be camelCased in Data 10889 data = dataUser.get( elem, key ); 10890 if ( data !== undefined ) { 10891 return data; 10892 } 10893 10894 // Attempt to "discover" the data in 10895 // HTML5 custom data-* attrs 10896 data = dataAttr( elem, key ); 10897 if ( data !== undefined ) { 10898 return data; 10899 } 10900 10901 // We tried really hard, but the data doesn't exist. 10902 return; 10903 } 10904 10905 // Set the data... 10906 this.each( function() { 10907 10908 // We always store the camelCased key 10909 dataUser.set( this, key, value ); 10910 } ); 10911 }, null, value, arguments.length > 1, null, true ); 10912 }, 10913 10914 removeData: function( key ) { 10915 return this.each( function() { 10916 dataUser.remove( this, key ); 10917 } ); 10918 } 10919} ); 10920 10921 10922jQuery.extend( { 10923 queue: function( elem, type, data ) { 10924 var queue; 10925 10926 if ( elem ) { 10927 type = ( type || "fx" ) + "queue"; 10928 queue = dataPriv.get( elem, type ); 10929 10930 // Speed up dequeue by getting out quickly if this is just a lookup 10931 if ( data ) { 10932 if ( !queue || Array.isArray( data ) ) { 10933 queue = dataPriv.access( elem, type, jQuery.makeArray( data ) ); 10934 } else { 10935 queue.push( data ); 10936 } 10937 } 10938 return queue || []; 10939 } 10940 }, 10941 10942 dequeue: function( elem, type ) { 10943 type = type || "fx"; 10944 10945 var queue = jQuery.queue( elem, type ), 10946 startLength = queue.length, 10947 fn = queue.shift(), 10948 hooks = jQuery._queueHooks( elem, type ), 10949 next = function() { 10950 jQuery.dequeue( elem, type ); 10951 }; 10952 10953 // If the fx queue is dequeued, always remove the progress sentinel 10954 if ( fn === "inprogress" ) { 10955 fn = queue.shift(); 10956 startLength--; 10957 } 10958 10959 if ( fn ) { 10960 10961 // Add a progress sentinel to prevent the fx queue from being 10962 // automatically dequeued 10963 if ( type === "fx" ) { 10964 queue.unshift( "inprogress" ); 10965 } 10966 10967 // Clear up the last queue stop function 10968 delete hooks.stop; 10969 fn.call( elem, next, hooks ); 10970 } 10971 10972 if ( !startLength && hooks ) { 10973 hooks.empty.fire(); 10974 } 10975 }, 10976 10977 // Not public - generate a queueHooks object, or return the current one 10978 _queueHooks: function( elem, type ) { 10979 var key = type + "queueHooks"; 10980 return dataPriv.get( elem, key ) || dataPriv.access( elem, key, { 10981 empty: jQuery.Callbacks( "once memory" ).add( function() { 10982 dataPriv.remove( elem, [ type + "queue", key ] ); 10983 } ) 10984 } ); 10985 } 10986} ); 10987 10988jQuery.fn.extend( { 10989 queue: function( type, data ) { 10990 var setter = 2; 10991 10992 if ( typeof type !== "string" ) { 10993 data = type; 10994 type = "fx"; 10995 setter--; 10996 } 10997 10998 if ( arguments.length < setter ) { 10999 return jQuery.queue( this[ 0 ], type ); 11000 } 11001 11002 return data === undefined ? 11003 this : 11004 this.each( function() { 11005 var queue = jQuery.queue( this, type, data ); 11006 11007 // Ensure a hooks for this queue 11008 jQuery._queueHooks( this, type ); 11009 11010 if ( type === "fx" && queue[ 0 ] !== "inprogress" ) { 11011 jQuery.dequeue( this, type ); 11012 } 11013 } ); 11014 }, 11015 dequeue: function( type ) { 11016 return this.each( function() { 11017 jQuery.dequeue( this, type ); 11018 } ); 11019 }, 11020 clearQueue: function( type ) { 11021 return this.queue( type || "fx", [] ); 11022 }, 11023 11024 // Get a promise resolved when queues of a certain type 11025 // are emptied (fx is the type by default) 11026 promise: function( type, obj ) { 11027 var tmp, 11028 count = 1, 11029 defer = jQuery.Deferred(), 11030 elements = this, 11031 i = this.length, 11032 resolve = function() { 11033 if ( !( --count ) ) { 11034 defer.resolveWith( elements, [ elements ] ); 11035 } 11036 }; 11037 11038 if ( typeof type !== "string" ) { 11039 obj = type; 11040 type = undefined; 11041 } 11042 type = type || "fx"; 11043 11044 while ( i-- ) { 11045 tmp = dataPriv.get( elements[ i ], type + "queueHooks" ); 11046 if ( tmp && tmp.empty ) { 11047 count++; 11048 tmp.empty.add( resolve ); 11049 } 11050 } 11051 resolve(); 11052 return defer.promise( obj ); 11053 } 11054} ); 11055var pnum = ( /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/ ).source; 11056 11057var rcssNum = new RegExp( "^(?:([+-])=|)(" + pnum + ")([a-z%]*)$", "i" ); 11058 11059 11060var cssExpand = [ "Top", "Right", "Bottom", "Left" ]; 11061 11062var documentElement = document.documentElement; 11063 11064 11065 11066 var isAttached = function( elem ) { 11067 return jQuery.contains( elem.ownerDocument, elem ); 11068 }, 11069 composed = { composed: true }; 11070 11071 // Support: IE 9 - 11+, Edge 12 - 18+, iOS 10.0 - 10.2 only 11072 // Check attachment across shadow DOM boundaries when possible (gh-3504) 11073 // Support: iOS 10.0-10.2 only 11074 // Early iOS 10 versions support `attachShadow` but not `getRootNode`, 11075 // leading to errors. We need to check for `getRootNode`. 11076 if ( documentElement.getRootNode ) { 11077 isAttached = function( elem ) { 11078 return jQuery.contains( elem.ownerDocument, elem ) || 11079 elem.getRootNode( composed ) === elem.ownerDocument; 11080 }; 11081 } 11082var isHiddenWithinTree = function( elem, el ) { 11083 11084 // isHiddenWithinTree might be called from jQuery#filter function; 11085 // in that case, element will be second argument 11086 elem = el || elem; 11087 11088 // Inline style trumps all 11089 return elem.style.display === "none" || 11090 elem.style.display === "" && 11091 11092 // Otherwise, check computed style 11093 // Support: Firefox <=43 - 45 11094 // Disconnected elements can have computed display: none, so first confirm that elem is 11095 // in the document. 11096 isAttached( elem ) && 11097 11098 jQuery.css( elem, "display" ) === "none"; 11099 }; 11100 11101 11102 11103function adjustCSS( elem, prop, valueParts, tween ) { 11104 var adjusted, scale, 11105 maxIterations = 20, 11106 currentValue = tween ? 11107 function() { 11108 return tween.cur(); 11109 } : 11110 function() { 11111 return jQuery.css( elem, prop, "" ); 11112 }, 11113 initial = currentValue(), 11114 unit = valueParts && valueParts[ 3 ] || ( jQuery.cssNumber[ prop ] ? "" : "px" ), 11115 11116 // Starting value computation is required for potential unit mismatches 11117 initialInUnit = elem.nodeType && 11118 ( jQuery.cssNumber[ prop ] || unit !== "px" && +initial ) && 11119 rcssNum.exec( jQuery.css( elem, prop ) ); 11120 11121 if ( initialInUnit && initialInUnit[ 3 ] !== unit ) { 11122 11123 // Support: Firefox <=54 11124 // Halve the iteration target value to prevent interference from CSS upper bounds (gh-2144) 11125 initial = initial / 2; 11126 11127 // Trust units reported by jQuery.css 11128 unit = unit || initialInUnit[ 3 ]; 11129 11130 // Iteratively approximate from a nonzero starting point 11131 initialInUnit = +initial || 1; 11132 11133 while ( maxIterations-- ) { 11134 11135 // Evaluate and update our best guess (doubling guesses that zero out). 11136 // Finish if the scale equals or crosses 1 (making the old*new product non-positive). 11137 jQuery.style( elem, prop, initialInUnit + unit ); 11138 if ( ( 1 - scale ) * ( 1 - ( scale = currentValue() / initial || 0.5 ) ) <= 0 ) { 11139 maxIterations = 0; 11140 } 11141 initialInUnit = initialInUnit / scale; 11142 11143 } 11144 11145 initialInUnit = initialInUnit * 2; 11146 jQuery.style( elem, prop, initialInUnit + unit ); 11147 11148 // Make sure we update the tween properties later on 11149 valueParts = valueParts || []; 11150 } 11151 11152 if ( valueParts ) { 11153 initialInUnit = +initialInUnit || +initial || 0; 11154 11155 // Apply relative offset (+=/-=) if specified 11156 adjusted = valueParts[ 1 ] ? 11157 initialInUnit + ( valueParts[ 1 ] + 1 ) * valueParts[ 2 ] : 11158 +valueParts[ 2 ]; 11159 if ( tween ) { 11160 tween.unit = unit; 11161 tween.start = initialInUnit; 11162 tween.end = adjusted; 11163 } 11164 } 11165 return adjusted; 11166} 11167 11168 11169var defaultDisplayMap = {}; 11170 11171function getDefaultDisplay( elem ) { 11172 var temp, 11173 doc = elem.ownerDocument, 11174 nodeName = elem.nodeName, 11175 display = defaultDisplayMap[ nodeName ]; 11176 11177 if ( display ) { 11178 return display; 11179 } 11180 11181 temp = doc.body.appendChild( doc.createElement( nodeName ) ); 11182 display = jQuery.css( temp, "display" ); 11183 11184 temp.parentNode.removeChild( temp ); 11185 11186 if ( display === "none" ) { 11187 display = "block"; 11188 } 11189 defaultDisplayMap[ nodeName ] = display; 11190 11191 return display; 11192} 11193 11194function showHide( elements, show ) { 11195 var display, elem, 11196 values = [], 11197 index = 0, 11198 length = elements.length; 11199 11200 // Determine new display value for elements that need to change 11201 for ( ; index < length; index++ ) { 11202 elem = elements[ index ]; 11203 if ( !elem.style ) { 11204 continue; 11205 } 11206 11207 display = elem.style.display; 11208 if ( show ) { 11209 11210 // Since we force visibility upon cascade-hidden elements, an immediate (and slow) 11211 // check is required in this first loop unless we have a nonempty display value (either 11212 // inline or about-to-be-restored) 11213 if ( display === "none" ) { 11214 values[ index ] = dataPriv.get( elem, "display" ) || null; 11215 if ( !values[ index ] ) { 11216 elem.style.display = ""; 11217 } 11218 } 11219 if ( elem.style.display === "" && isHiddenWithinTree( elem ) ) { 11220 values[ index ] = getDefaultDisplay( elem ); 11221 } 11222 } else { 11223 if ( display !== "none" ) { 11224 values[ index ] = "none"; 11225 11226 // Remember what we're overwriting 11227 dataPriv.set( elem, "display", display ); 11228 } 11229 } 11230 } 11231 11232 // Set the display of the elements in a second loop to avoid constant reflow 11233 for ( index = 0; index < length; index++ ) { 11234 if ( values[ index ] != null ) { 11235 elements[ index ].style.display = values[ index ]; 11236 } 11237 } 11238 11239 return elements; 11240} 11241 11242jQuery.fn.extend( { 11243 show: function() { 11244 return showHide( this, true ); 11245 }, 11246 hide: function() { 11247 return showHide( this ); 11248 }, 11249 toggle: function( state ) { 11250 if ( typeof state === "boolean" ) { 11251 return state ? this.show() : this.hide(); 11252 } 11253 11254 return this.each( function() { 11255 if ( isHiddenWithinTree( this ) ) { 11256 jQuery( this ).show(); 11257 } else { 11258 jQuery( this ).hide(); 11259 } 11260 } ); 11261 } 11262} ); 11263var rcheckableType = ( /^(?:checkbox|radio)$/i ); 11264 11265var rtagName = ( /<([a-z][^\/\0>\x20\t\r\n\f]*)/i ); 11266 11267var rscriptType = ( /^$|^module$|\/(?:java|ecma)script/i ); 11268 11269 11270 11271( function() { 11272 var fragment = document.createDocumentFragment(), 11273 div = fragment.appendChild( document.createElement( "div" ) ), 11274 input = document.createElement( "input" ); 11275 11276 // Support: Android 4.0 - 4.3 only 11277 // Check state lost if the name is set (#11217) 11278 // Support: Windows Web Apps (WWA) 11279 // `name` and `type` must use .setAttribute for WWA (#14901) 11280 input.setAttribute( "type", "radio" ); 11281 input.setAttribute( "checked", "checked" ); 11282 input.setAttribute( "name", "t" ); 11283 11284 div.appendChild( input ); 11285 11286 // Support: Android <=4.1 only 11287 // Older WebKit doesn't clone checked state correctly in fragments 11288 support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked; 11289 11290 // Support: IE <=11 only 11291 // Make sure textarea (and checkbox) defaultValue is properly cloned 11292 div.innerHTML = "<textarea>x</textarea>"; 11293 support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue; 11294 11295 // Support: IE <=9 only 11296 // IE <=9 replaces <option> tags with their contents when inserted outside of 11297 // the select element. 11298 div.innerHTML = "<option></option>"; 11299 support.option = !!div.lastChild; 11300} )(); 11301 11302 11303// We have to close these tags to support XHTML (#13200) 11304var wrapMap = { 11305 11306 // XHTML parsers do not magically insert elements in the 11307 // same way that tag soup parsers do. So we cannot shorten 11308 // this by omitting <tbody> or other required elements. 11309 thead: [ 1, "<table>", "</table>" ], 11310 col: [ 2, "<table><colgroup>", "</colgroup></table>" ], 11311 tr: [ 2, "<table><tbody>", "</tbody></table>" ], 11312 td: [ 3, "<table><tbody><tr>", "</tr></tbody></table>" ], 11313 11314 _default: [ 0, "", "" ] 11315}; 11316 11317wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; 11318wrapMap.th = wrapMap.td; 11319 11320// Support: IE <=9 only 11321if ( !support.option ) { 11322 wrapMap.optgroup = wrapMap.option = [ 1, "<select multiple='multiple'>", "</select>" ]; 11323} 11324 11325 11326function getAll( context, tag ) { 11327 11328 // Support: IE <=9 - 11 only 11329 // Use typeof to avoid zero-argument method invocation on host objects (#15151) 11330 var ret; 11331 11332 if ( typeof context.getElementsByTagName !== "undefined" ) { 11333 ret = context.getElementsByTagName( tag || "*" ); 11334 11335 } else if ( typeof context.querySelectorAll !== "undefined" ) { 11336 ret = context.querySelectorAll( tag || "*" ); 11337 11338 } else { 11339 ret = []; 11340 } 11341 11342 if ( tag === undefined || tag && nodeName( context, tag ) ) { 11343 return jQuery.merge( [ context ], ret ); 11344 } 11345 11346 return ret; 11347} 11348 11349 11350// Mark scripts as having already been evaluated 11351function setGlobalEval( elems, refElements ) { 11352 var i = 0, 11353 l = elems.length; 11354 11355 for ( ; i < l; i++ ) { 11356 dataPriv.set( 11357 elems[ i ], 11358 "globalEval", 11359 !refElements || dataPriv.get( refElements[ i ], "globalEval" ) 11360 ); 11361 } 11362} 11363 11364 11365var rhtml = /<|&#?\w+;/; 11366 11367function buildFragment( elems, context, scripts, selection, ignored ) { 11368 var elem, tmp, tag, wrap, attached, j, 11369 fragment = context.createDocumentFragment(), 11370 nodes = [], 11371 i = 0, 11372 l = elems.length; 11373 11374 for ( ; i < l; i++ ) { 11375 elem = elems[ i ]; 11376 11377 if ( elem || elem === 0 ) { 11378 11379 // Add nodes directly 11380 if ( toType( elem ) === "object" ) { 11381 11382 // Support: Android <=4.0 only, PhantomJS 1 only 11383 // push.apply(_, arraylike) throws on ancient WebKit 11384 jQuery.merge( nodes, elem.nodeType ? [ elem ] : elem ); 11385 11386 // Convert non-html into a text node 11387 } else if ( !rhtml.test( elem ) ) { 11388 nodes.push( context.createTextNode( elem ) ); 11389 11390 // Convert html into DOM nodes 11391 } else { 11392 tmp = tmp || fragment.appendChild( context.createElement( "div" ) ); 11393 11394 // Deserialize a standard representation 11395 tag = ( rtagName.exec( elem ) || [ "", "" ] )[ 1 ].toLowerCase(); 11396 wrap = wrapMap[ tag ] || wrapMap._default; 11397 tmp.innerHTML = wrap[ 1 ] + jQuery.htmlPrefilter( elem ) + wrap[ 2 ]; 11398 11399 // Descend through wrappers to the right content 11400 j = wrap[ 0 ]; 11401 while ( j-- ) { 11402 tmp = tmp.lastChild; 11403 } 11404 11405 // Support: Android <=4.0 only, PhantomJS 1 only 11406 // push.apply(_, arraylike) throws on ancient WebKit 11407 jQuery.merge( nodes, tmp.childNodes ); 11408 11409 // Remember the top-level container 11410 tmp = fragment.firstChild; 11411 11412 // Ensure the created nodes are orphaned (#12392) 11413 tmp.textContent = ""; 11414 } 11415 } 11416 } 11417 11418 // Remove wrapper from fragment 11419 fragment.textContent = ""; 11420 11421 i = 0; 11422 while ( ( elem = nodes[ i++ ] ) ) { 11423 11424 // Skip elements already in the context collection (trac-4087) 11425 if ( selection && jQuery.inArray( elem, selection ) > -1 ) { 11426 if ( ignored ) { 11427 ignored.push( elem ); 11428 } 11429 continue; 11430 } 11431 11432 attached = isAttached( elem ); 11433 11434 // Append to fragment 11435 tmp = getAll( fragment.appendChild( elem ), "script" ); 11436 11437 // Preserve script evaluation history 11438 if ( attached ) { 11439 setGlobalEval( tmp ); 11440 } 11441 11442 // Capture executables 11443 if ( scripts ) { 11444 j = 0; 11445 while ( ( elem = tmp[ j++ ] ) ) { 11446 if ( rscriptType.test( elem.type || "" ) ) { 11447 scripts.push( elem ); 11448 } 11449 } 11450 } 11451 } 11452 11453 return fragment; 11454} 11455 11456 11457var rtypenamespace = /^([^.]*)(?:\.(.+)|)/; 11458 11459function returnTrue() { 11460 return true; 11461} 11462 11463function returnFalse() { 11464 return false; 11465} 11466 11467// Support: IE <=9 - 11+ 11468// focus() and blur() are asynchronous, except when they are no-op. 11469// So expect focus to be synchronous when the element is already active, 11470// and blur to be synchronous when the element is not already active. 11471// (focus and blur are always synchronous in other supported browsers, 11472// this just defines when we can count on it). 11473function expectSync( elem, type ) { 11474 return ( elem === safeActiveElement() ) === ( type === "focus" ); 11475} 11476 11477// Support: IE <=9 only 11478// Accessing document.activeElement can throw unexpectedly 11479// https://bugs.jquery.com/ticket/13393 11480function safeActiveElement() { 11481 try { 11482 return document.activeElement; 11483 } catch ( err ) { } 11484} 11485 11486function on( elem, types, selector, data, fn, one ) { 11487 var origFn, type; 11488 11489 // Types can be a map of types/handlers 11490 if ( typeof types === "object" ) { 11491 11492 // ( types-Object, selector, data ) 11493 if ( typeof selector !== "string" ) { 11494 11495 // ( types-Object, data ) 11496 data = data || selector; 11497 selector = undefined; 11498 } 11499 for ( type in types ) { 11500 on( elem, type, selector, data, types[ type ], one ); 11501 } 11502 return elem; 11503 } 11504 11505 if ( data == null && fn == null ) { 11506 11507 // ( types, fn ) 11508 fn = selector; 11509 data = selector = undefined; 11510 } else if ( fn == null ) { 11511 if ( typeof selector === "string" ) { 11512 11513 // ( types, selector, fn ) 11514 fn = data; 11515 data = undefined; 11516 } else { 11517 11518 // ( types, data, fn ) 11519 fn = data; 11520 data = selector; 11521 selector = undefined; 11522 } 11523 } 11524 if ( fn === false ) { 11525 fn = returnFalse; 11526 } else if ( !fn ) { 11527 return elem; 11528 } 11529 11530 if ( one === 1 ) { 11531 origFn = fn; 11532 fn = function( event ) { 11533 11534 // Can use an empty set, since event contains the info 11535 jQuery().off( event ); 11536 return origFn.apply( this, arguments ); 11537 }; 11538 11539 // Use same guid so caller can remove using origFn 11540 fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ ); 11541 } 11542 return elem.each( function() { 11543 jQuery.event.add( this, types, fn, data, selector ); 11544 } ); 11545} 11546 11547/* 11548 * Helper functions for managing events -- not part of the public interface. 11549 * Props to Dean Edwards' addEvent library for many of the ideas. 11550 */ 11551jQuery.event = { 11552 11553 global: {}, 11554 11555 add: function( elem, types, handler, data, selector ) { 11556 11557 var handleObjIn, eventHandle, tmp, 11558 events, t, handleObj, 11559 special, handlers, type, namespaces, origType, 11560 elemData = dataPriv.get( elem ); 11561 11562 // Only attach events to objects that accept data 11563 if ( !acceptData( elem ) ) { 11564 return; 11565 } 11566 11567 // Caller can pass in an object of custom data in lieu of the handler 11568 if ( handler.handler ) { 11569 handleObjIn = handler; 11570 handler = handleObjIn.handler; 11571 selector = handleObjIn.selector; 11572 } 11573 11574 // Ensure that invalid selectors throw exceptions at attach time 11575 // Evaluate against documentElement in case elem is a non-element node (e.g., document) 11576 if ( selector ) { 11577 jQuery.find.matchesSelector( documentElement, selector ); 11578 } 11579 11580 // Make sure that the handler has a unique ID, used to find/remove it later 11581 if ( !handler.guid ) { 11582 handler.guid = jQuery.guid++; 11583 } 11584 11585 // Init the element's event structure and main handler, if this is the first 11586 if ( !( events = elemData.events ) ) { 11587 events = elemData.events = Object.create( null ); 11588 } 11589 if ( !( eventHandle = elemData.handle ) ) { 11590 eventHandle = elemData.handle = function( e ) { 11591 11592 // Discard the second event of a jQuery.event.trigger() and 11593 // when an event is called after a page has unloaded 11594 return typeof jQuery !== "undefined" && jQuery.event.triggered !== e.type ? 11595 jQuery.event.dispatch.apply( elem, arguments ) : undefined; 11596 }; 11597 } 11598 11599 // Handle multiple events separated by a space 11600 types = ( types || "" ).match( rnothtmlwhite ) || [ "" ]; 11601 t = types.length; 11602 while ( t-- ) { 11603 tmp = rtypenamespace.exec( types[ t ] ) || []; 11604 type = origType = tmp[ 1 ]; 11605 namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); 11606 11607 // There *must* be a type, no attaching namespace-only handlers 11608 if ( !type ) { 11609 continue; 11610 } 11611 11612 // If event changes its type, use the special event handlers for the changed type 11613 special = jQuery.event.special[ type ] || {}; 11614 11615 // If selector defined, determine special event api type, otherwise given type 11616 type = ( selector ? special.delegateType : special.bindType ) || type; 11617 11618 // Update special based on newly reset type 11619 special = jQuery.event.special[ type ] || {}; 11620 11621 // handleObj is passed to all event handlers 11622 handleObj = jQuery.extend( { 11623 type: type, 11624 origType: origType, 11625 data: data, 11626 handler: handler, 11627 guid: handler.guid, 11628 selector: selector, 11629 needsContext: selector && jQuery.expr.match.needsContext.test( selector ), 11630 namespace: namespaces.join( "." ) 11631 }, handleObjIn ); 11632 11633 // Init the event handler queue if we're the first 11634 if ( !( handlers = events[ type ] ) ) { 11635 handlers = events[ type ] = []; 11636 handlers.delegateCount = 0; 11637 11638 // Only use addEventListener if the special events handler returns false 11639 if ( !special.setup || 11640 special.setup.call( elem, data, namespaces, eventHandle ) === false ) { 11641 11642 if ( elem.addEventListener ) { 11643 elem.addEventListener( type, eventHandle ); 11644 } 11645 } 11646 } 11647 11648 if ( special.add ) { 11649 special.add.call( elem, handleObj ); 11650 11651 if ( !handleObj.handler.guid ) { 11652 handleObj.handler.guid = handler.guid; 11653 } 11654 } 11655 11656 // Add to the element's handler list, delegates in front 11657 if ( selector ) { 11658 handlers.splice( handlers.delegateCount++, 0, handleObj ); 11659 } else { 11660 handlers.push( handleObj ); 11661 } 11662 11663 // Keep track of which events have ever been used, for event optimization 11664 jQuery.event.global[ type ] = true; 11665 } 11666 11667 }, 11668 11669 // Detach an event or set of events from an element 11670 remove: function( elem, types, handler, selector, mappedTypes ) { 11671 11672 var j, origCount, tmp, 11673 events, t, handleObj, 11674 special, handlers, type, namespaces, origType, 11675 elemData = dataPriv.hasData( elem ) && dataPriv.get( elem ); 11676 11677 if ( !elemData || !( events = elemData.events ) ) { 11678 return; 11679 } 11680 11681 // Once for each type.namespace in types; type may be omitted 11682 types = ( types || "" ).match( rnothtmlwhite ) || [ "" ]; 11683 t = types.length; 11684 while ( t-- ) { 11685 tmp = rtypenamespace.exec( types[ t ] ) || []; 11686 type = origType = tmp[ 1 ]; 11687 namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); 11688 11689 // Unbind all events (on this namespace, if provided) for the element 11690 if ( !type ) { 11691 for ( type in events ) { 11692 jQuery.event.remove( elem, type + types[ t ], handler, selector, true ); 11693 } 11694 continue; 11695 } 11696 11697 special = jQuery.event.special[ type ] || {}; 11698 type = ( selector ? special.delegateType : special.bindType ) || type; 11699 handlers = events[ type ] || []; 11700 tmp = tmp[ 2 ] && 11701 new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ); 11702 11703 // Remove matching events 11704 origCount = j = handlers.length; 11705 while ( j-- ) { 11706 handleObj = handlers[ j ]; 11707 11708 if ( ( mappedTypes || origType === handleObj.origType ) && 11709 ( !handler || handler.guid === handleObj.guid ) && 11710 ( !tmp || tmp.test( handleObj.namespace ) ) && 11711 ( !selector || selector === handleObj.selector || 11712 selector === "**" && handleObj.selector ) ) { 11713 handlers.splice( j, 1 ); 11714 11715 if ( handleObj.selector ) { 11716 handlers.delegateCount--; 11717 } 11718 if ( special.remove ) { 11719 special.remove.call( elem, handleObj ); 11720 } 11721 } 11722 } 11723 11724 // Remove generic event handler if we removed something and no more handlers exist 11725 // (avoids potential for endless recursion during removal of special event handlers) 11726 if ( origCount && !handlers.length ) { 11727 if ( !special.teardown || 11728 special.teardown.call( elem, namespaces, elemData.handle ) === false ) { 11729 11730 jQuery.removeEvent( elem, type, elemData.handle ); 11731 } 11732 11733 delete events[ type ]; 11734 } 11735 } 11736 11737 // Remove data and the expando if it's no longer used 11738 if ( jQuery.isEmptyObject( events ) ) { 11739 dataPriv.remove( elem, "handle events" ); 11740 } 11741 }, 11742 11743 dispatch: function( nativeEvent ) { 11744 11745 var i, j, ret, matched, handleObj, handlerQueue, 11746 args = new Array( arguments.length ), 11747 11748 // Make a writable jQuery.Event from the native event object 11749 event = jQuery.event.fix( nativeEvent ), 11750 11751 handlers = ( 11752 dataPriv.get( this, "events" ) || Object.create( null ) 11753 )[ event.type ] || [], 11754 special = jQuery.event.special[ event.type ] || {}; 11755 11756 // Use the fix-ed jQuery.Event rather than the (read-only) native event 11757 args[ 0 ] = event; 11758 11759 for ( i = 1; i < arguments.length; i++ ) { 11760 args[ i ] = arguments[ i ]; 11761 } 11762 11763 event.delegateTarget = this; 11764 11765 // Call the preDispatch hook for the mapped type, and let it bail if desired 11766 if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) { 11767 return; 11768 } 11769 11770 // Determine handlers 11771 handlerQueue = jQuery.event.handlers.call( this, event, handlers ); 11772 11773 // Run delegates first; they may want to stop propagation beneath us 11774 i = 0; 11775 while ( ( matched = handlerQueue[ i++ ] ) && !event.isPropagationStopped() ) { 11776 event.currentTarget = matched.elem; 11777 11778 j = 0; 11779 while ( ( handleObj = matched.handlers[ j++ ] ) && 11780 !event.isImmediatePropagationStopped() ) { 11781 11782 // If the event is namespaced, then each handler is only invoked if it is 11783 // specially universal or its namespaces are a superset of the event's. 11784 if ( !event.rnamespace || handleObj.namespace === false || 11785 event.rnamespace.test( handleObj.namespace ) ) { 11786 11787 event.handleObj = handleObj; 11788 event.data = handleObj.data; 11789 11790 ret = ( ( jQuery.event.special[ handleObj.origType ] || {} ).handle || 11791 handleObj.handler ).apply( matched.elem, args ); 11792 11793 if ( ret !== undefined ) { 11794 if ( ( event.result = ret ) === false ) { 11795 event.preventDefault(); 11796 event.stopPropagation(); 11797 } 11798 } 11799 } 11800 } 11801 } 11802 11803 // Call the postDispatch hook for the mapped type 11804 if ( special.postDispatch ) { 11805 special.postDispatch.call( this, event ); 11806 } 11807 11808 return event.result; 11809 }, 11810 11811 handlers: function( event, handlers ) { 11812 var i, handleObj, sel, matchedHandlers, matchedSelectors, 11813 handlerQueue = [], 11814 delegateCount = handlers.delegateCount, 11815 cur = event.target; 11816 11817 // Find delegate handlers 11818 if ( delegateCount && 11819 11820 // Support: IE <=9 11821 // Black-hole SVG <use> instance trees (trac-13180) 11822 cur.nodeType && 11823 11824 // Support: Firefox <=42 11825 // Suppress spec-violating clicks indicating a non-primary pointer button (trac-3861) 11826 // https://www.w3.org/TR/DOM-Level-3-Events/#event-type-click 11827 // Support: IE 11 only 11828 // ...but not arrow key "clicks" of radio inputs, which can have `button` -1 (gh-2343) 11829 !( event.type === "click" && event.button >= 1 ) ) { 11830 11831 for ( ; cur !== this; cur = cur.parentNode || this ) { 11832 11833 // Don't check non-elements (#13208) 11834 // Don't process clicks on disabled elements (#6911, #8165, #11382, #11764) 11835 if ( cur.nodeType === 1 && !( event.type === "click" && cur.disabled === true ) ) { 11836 matchedHandlers = []; 11837 matchedSelectors = {}; 11838 for ( i = 0; i < delegateCount; i++ ) { 11839 handleObj = handlers[ i ]; 11840 11841 // Don't conflict with Object.prototype properties (#13203) 11842 sel = handleObj.selector + " "; 11843 11844 if ( matchedSelectors[ sel ] === undefined ) { 11845 matchedSelectors[ sel ] = handleObj.needsContext ? 11846 jQuery( sel, this ).index( cur ) > -1 : 11847 jQuery.find( sel, this, null, [ cur ] ).length; 11848 } 11849 if ( matchedSelectors[ sel ] ) { 11850 matchedHandlers.push( handleObj ); 11851 } 11852 } 11853 if ( matchedHandlers.length ) { 11854 handlerQueue.push( { elem: cur, handlers: matchedHandlers } ); 11855 } 11856 } 11857 } 11858 } 11859 11860 // Add the remaining (directly-bound) handlers 11861 cur = this; 11862 if ( delegateCount < handlers.length ) { 11863 handlerQueue.push( { elem: cur, handlers: handlers.slice( delegateCount ) } ); 11864 } 11865 11866 return handlerQueue; 11867 }, 11868 11869 addProp: function( name, hook ) { 11870 Object.defineProperty( jQuery.Event.prototype, name, { 11871 enumerable: true, 11872 configurable: true, 11873 11874 get: isFunction( hook ) ? 11875 function() { 11876 if ( this.originalEvent ) { 11877 return hook( this.originalEvent ); 11878 } 11879 } : 11880 function() { 11881 if ( this.originalEvent ) { 11882 return this.originalEvent[ name ]; 11883 } 11884 }, 11885 11886 set: function( value ) { 11887 Object.defineProperty( this, name, { 11888 enumerable: true, 11889 configurable: true, 11890 writable: true, 11891 value: value 11892 } ); 11893 } 11894 } ); 11895 }, 11896 11897 fix: function( originalEvent ) { 11898 return originalEvent[ jQuery.expando ] ? 11899 originalEvent : 11900 new jQuery.Event( originalEvent ); 11901 }, 11902 11903 special: { 11904 load: { 11905 11906 // Prevent triggered image.load events from bubbling to window.load 11907 noBubble: true 11908 }, 11909 click: { 11910 11911 // Utilize native event to ensure correct state for checkable inputs 11912 setup: function( data ) { 11913 11914 // For mutual compressibility with _default, replace `this` access with a local var. 11915 // `|| data` is dead code meant only to preserve the variable through minification. 11916 var el = this || data; 11917 11918 // Claim the first handler 11919 if ( rcheckableType.test( el.type ) && 11920 el.click && nodeName( el, "input" ) ) { 11921 11922 // dataPriv.set( el, "click", ... ) 11923 leverageNative( el, "click", returnTrue ); 11924 } 11925 11926 // Return false to allow normal processing in the caller 11927 return false; 11928 }, 11929 trigger: function( data ) { 11930 11931 // For mutual compressibility with _default, replace `this` access with a local var. 11932 // `|| data` is dead code meant only to preserve the variable through minification. 11933 var el = this || data; 11934 11935 // Force setup before triggering a click 11936 if ( rcheckableType.test( el.type ) && 11937 el.click && nodeName( el, "input" ) ) { 11938 11939 leverageNative( el, "click" ); 11940 } 11941 11942 // Return non-false to allow normal event-path propagation 11943 return true; 11944 }, 11945 11946 // For cross-browser consistency, suppress native .click() on links 11947 // Also prevent it if we're currently inside a leveraged native-event stack 11948 _default: function( event ) { 11949 var target = event.target; 11950 return rcheckableType.test( target.type ) && 11951 target.click && nodeName( target, "input" ) && 11952 dataPriv.get( target, "click" ) || 11953 nodeName( target, "a" ); 11954 } 11955 }, 11956 11957 beforeunload: { 11958 postDispatch: function( event ) { 11959 11960 // Support: Firefox 20+ 11961 // Firefox doesn't alert if the returnValue field is not set. 11962 if ( event.result !== undefined && event.originalEvent ) { 11963 event.originalEvent.returnValue = event.result; 11964 } 11965 } 11966 } 11967 } 11968}; 11969 11970// Ensure the presence of an event listener that handles manually-triggered 11971// synthetic events by interrupting progress until reinvoked in response to 11972// *native* events that it fires directly, ensuring that state changes have 11973// already occurred before other listeners are invoked. 11974function leverageNative( el, type, expectSync ) { 11975 11976 // Missing expectSync indicates a trigger call, which must force setup through jQuery.event.add 11977 if ( !expectSync ) { 11978 if ( dataPriv.get( el, type ) === undefined ) { 11979 jQuery.event.add( el, type, returnTrue ); 11980 } 11981 return; 11982 } 11983 11984 // Register the controller as a special universal handler for all event namespaces 11985 dataPriv.set( el, type, false ); 11986 jQuery.event.add( el, type, { 11987 namespace: false, 11988 handler: function( event ) { 11989 var notAsync, result, 11990 saved = dataPriv.get( this, type ); 11991 11992 if ( ( event.isTrigger & 1 ) && this[ type ] ) { 11993 11994 // Interrupt processing of the outer synthetic .trigger()ed event 11995 // Saved data should be false in such cases, but might be a leftover capture object 11996 // from an async native handler (gh-4350) 11997 if ( !saved.length ) { 11998 11999 // Store arguments for use when handling the inner native event 12000 // There will always be at least one argument (an event object), so this array 12001 // will not be confused with a leftover capture object. 12002 saved = slice.call( arguments ); 12003 dataPriv.set( this, type, saved ); 12004 12005 // Trigger the native event and capture its result 12006 // Support: IE <=9 - 11+ 12007 // focus() and blur() are asynchronous 12008 notAsync = expectSync( this, type ); 12009 this[ type ](); 12010 result = dataPriv.get( this, type ); 12011 if ( saved !== result || notAsync ) { 12012 dataPriv.set( this, type, false ); 12013 } else { 12014 result = {}; 12015 } 12016 if ( saved !== result ) { 12017 12018 // Cancel the outer synthetic event 12019 event.stopImmediatePropagation(); 12020 event.preventDefault(); 12021 12022 // Support: Chrome 86+ 12023 // In Chrome, if an element having a focusout handler is blurred by 12024 // clicking outside of it, it invokes the handler synchronously. If 12025 // that handler calls `.remove()` on the element, the data is cleared, 12026 // leaving `result` undefined. We need to guard against this. 12027 return result && result.value; 12028 } 12029 12030 // If this is an inner synthetic event for an event with a bubbling surrogate 12031 // (focus or blur), assume that the surrogate already propagated from triggering the 12032 // native event and prevent that from happening again here. 12033 // This technically gets the ordering wrong w.r.t. to `.trigger()` (in which the 12034 // bubbling surrogate propagates *after* the non-bubbling base), but that seems 12035 // less bad than duplication. 12036 } else if ( ( jQuery.event.special[ type ] || {} ).delegateType ) { 12037 event.stopPropagation(); 12038 } 12039 12040 // If this is a native event triggered above, everything is now in order 12041 // Fire an inner synthetic event with the original arguments 12042 } else if ( saved.length ) { 12043 12044 // ...and capture the result 12045 dataPriv.set( this, type, { 12046 value: jQuery.event.trigger( 12047 12048 // Support: IE <=9 - 11+ 12049 // Extend with the prototype to reset the above stopImmediatePropagation() 12050 jQuery.extend( saved[ 0 ], jQuery.Event.prototype ), 12051 saved.slice( 1 ), 12052 this 12053 ) 12054 } ); 12055 12056 // Abort handling of the native event 12057 event.stopImmediatePropagation(); 12058 } 12059 } 12060 } ); 12061} 12062 12063jQuery.removeEvent = function( elem, type, handle ) { 12064 12065 // This "if" is needed for plain objects 12066 if ( elem.removeEventListener ) { 12067 elem.removeEventListener( type, handle ); 12068 } 12069}; 12070 12071jQuery.Event = function( src, props ) { 12072 12073 // Allow instantiation without the 'new' keyword 12074 if ( !( this instanceof jQuery.Event ) ) { 12075 return new jQuery.Event( src, props ); 12076 } 12077 12078 // Event object 12079 if ( src && src.type ) { 12080 this.originalEvent = src; 12081 this.type = src.type; 12082 12083 // Events bubbling up the document may have been marked as prevented 12084 // by a handler lower down the tree; reflect the correct value. 12085 this.isDefaultPrevented = src.defaultPrevented || 12086 src.defaultPrevented === undefined && 12087 12088 // Support: Android <=2.3 only 12089 src.returnValue === false ? 12090 returnTrue : 12091 returnFalse; 12092 12093 // Create target properties 12094 // Support: Safari <=6 - 7 only 12095 // Target should not be a text node (#504, #13143) 12096 this.target = ( src.target && src.target.nodeType === 3 ) ? 12097 src.target.parentNode : 12098 src.target; 12099 12100 this.currentTarget = src.currentTarget; 12101 this.relatedTarget = src.relatedTarget; 12102 12103 // Event type 12104 } else { 12105 this.type = src; 12106 } 12107 12108 // Put explicitly provided properties onto the event object 12109 if ( props ) { 12110 jQuery.extend( this, props ); 12111 } 12112 12113 // Create a timestamp if incoming event doesn't have one 12114 this.timeStamp = src && src.timeStamp || Date.now(); 12115 12116 // Mark it as fixed 12117 this[ jQuery.expando ] = true; 12118}; 12119 12120// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding 12121// https://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html 12122jQuery.Event.prototype = { 12123 constructor: jQuery.Event, 12124 isDefaultPrevented: returnFalse, 12125 isPropagationStopped: returnFalse, 12126 isImmediatePropagationStopped: returnFalse, 12127 isSimulated: false, 12128 12129 preventDefault: function() { 12130 var e = this.originalEvent; 12131 12132 this.isDefaultPrevented = returnTrue; 12133 12134 if ( e && !this.isSimulated ) { 12135 e.preventDefault(); 12136 } 12137 }, 12138 stopPropagation: function() { 12139 var e = this.originalEvent; 12140 12141 this.isPropagationStopped = returnTrue; 12142 12143 if ( e && !this.isSimulated ) { 12144 e.stopPropagation(); 12145 } 12146 }, 12147 stopImmediatePropagation: function() { 12148 var e = this.originalEvent; 12149 12150 this.isImmediatePropagationStopped = returnTrue; 12151 12152 if ( e && !this.isSimulated ) { 12153 e.stopImmediatePropagation(); 12154 } 12155 12156 this.stopPropagation(); 12157 } 12158}; 12159 12160// Includes all common event props including KeyEvent and MouseEvent specific props 12161jQuery.each( { 12162 altKey: true, 12163 bubbles: true, 12164 cancelable: true, 12165 changedTouches: true, 12166 ctrlKey: true, 12167 detail: true, 12168 eventPhase: true, 12169 metaKey: true, 12170 pageX: true, 12171 pageY: true, 12172 shiftKey: true, 12173 view: true, 12174 "char": true, 12175 code: true, 12176 charCode: true, 12177 key: true, 12178 keyCode: true, 12179 button: true, 12180 buttons: true, 12181 clientX: true, 12182 clientY: true, 12183 offsetX: true, 12184 offsetY: true, 12185 pointerId: true, 12186 pointerType: true, 12187 screenX: true, 12188 screenY: true, 12189 targetTouches: true, 12190 toElement: true, 12191 touches: true, 12192 which: true 12193}, jQuery.event.addProp ); 12194 12195jQuery.each( { focus: "focusin", blur: "focusout" }, function( type, delegateType ) { 12196 jQuery.event.special[ type ] = { 12197 12198 // Utilize native event if possible so blur/focus sequence is correct 12199 setup: function() { 12200 12201 // Claim the first handler 12202 // dataPriv.set( this, "focus", ... ) 12203 // dataPriv.set( this, "blur", ... ) 12204 leverageNative( this, type, expectSync ); 12205 12206 // Return false to allow normal processing in the caller 12207 return false; 12208 }, 12209 trigger: function() { 12210 12211 // Force setup before trigger 12212 leverageNative( this, type ); 12213 12214 // Return non-false to allow normal event-path propagation 12215 return true; 12216 }, 12217 12218 // Suppress native focus or blur as it's already being fired 12219 // in leverageNative. 12220 _default: function() { 12221 return true; 12222 }, 12223 12224 delegateType: delegateType 12225 }; 12226} ); 12227 12228// Create mouseenter/leave events using mouseover/out and event-time checks 12229// so that event delegation works in jQuery. 12230// Do the same for pointerenter/pointerleave and pointerover/pointerout 12231// 12232// Support: Safari 7 only 12233// Safari sends mouseenter too often; see: 12234// https://bugs.chromium.org/p/chromium/issues/detail?id=470258 12235// for the description of the bug (it existed in older Chrome versions as well). 12236jQuery.each( { 12237 mouseenter: "mouseover", 12238 mouseleave: "mouseout", 12239 pointerenter: "pointerover", 12240 pointerleave: "pointerout" 12241}, function( orig, fix ) { 12242 jQuery.event.special[ orig ] = { 12243 delegateType: fix, 12244 bindType: fix, 12245 12246 handle: function( event ) { 12247 var ret, 12248 target = this, 12249 related = event.relatedTarget, 12250 handleObj = event.handleObj; 12251 12252 // For mouseenter/leave call the handler if related is outside the target. 12253 // NB: No relatedTarget if the mouse left/entered the browser window 12254 if ( !related || ( related !== target && !jQuery.contains( target, related ) ) ) { 12255 event.type = handleObj.origType; 12256 ret = handleObj.handler.apply( this, arguments ); 12257 event.type = fix; 12258 } 12259 return ret; 12260 } 12261 }; 12262} ); 12263 12264jQuery.fn.extend( { 12265 12266 on: function( types, selector, data, fn ) { 12267 return on( this, types, selector, data, fn ); 12268 }, 12269 one: function( types, selector, data, fn ) { 12270 return on( this, types, selector, data, fn, 1 ); 12271 }, 12272 off: function( types, selector, fn ) { 12273 var handleObj, type; 12274 if ( types && types.preventDefault && types.handleObj ) { 12275 12276 // ( event ) dispatched jQuery.Event 12277 handleObj = types.handleObj; 12278 jQuery( types.delegateTarget ).off( 12279 handleObj.namespace ? 12280 handleObj.origType + "." + handleObj.namespace : 12281 handleObj.origType, 12282 handleObj.selector, 12283 handleObj.handler 12284 ); 12285 return this; 12286 } 12287 if ( typeof types === "object" ) { 12288 12289 // ( types-object [, selector] ) 12290 for ( type in types ) { 12291 this.off( type, selector, types[ type ] ); 12292 } 12293 return this; 12294 } 12295 if ( selector === false || typeof selector === "function" ) { 12296 12297 // ( types [, fn] ) 12298 fn = selector; 12299 selector = undefined; 12300 } 12301 if ( fn === false ) { 12302 fn = returnFalse; 12303 } 12304 return this.each( function() { 12305 jQuery.event.remove( this, types, fn, selector ); 12306 } ); 12307 } 12308} ); 12309 12310 12311var 12312 12313 // Support: IE <=10 - 11, Edge 12 - 13 only 12314 // In IE/Edge using regex groups here causes severe slowdowns. 12315 // See https://connect.microsoft.com/IE/feedback/details/1736512/ 12316 rnoInnerhtml = /<script|<style|<link/i, 12317 12318 // checked="checked" or checked 12319 rchecked = /checked\s*(?:[^=]|=\s*.checked.)/i, 12320 rcleanScript = /^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g; 12321 12322// Prefer a tbody over its parent table for containing new rows 12323function manipulationTarget( elem, content ) { 12324 if ( nodeName( elem, "table" ) && 12325 nodeName( content.nodeType !== 11 ? content : content.firstChild, "tr" ) ) { 12326 12327 return jQuery( elem ).children( "tbody" )[ 0 ] || elem; 12328 } 12329 12330 return elem; 12331} 12332 12333// Replace/restore the type attribute of script elements for safe DOM manipulation 12334function disableScript( elem ) { 12335 elem.type = ( elem.getAttribute( "type" ) !== null ) + "/" + elem.type; 12336 return elem; 12337} 12338function restoreScript( elem ) { 12339 if ( ( elem.type || "" ).slice( 0, 5 ) === "true/" ) { 12340 elem.type = elem.type.slice( 5 ); 12341 } else { 12342 elem.removeAttribute( "type" ); 12343 } 12344 12345 return elem; 12346} 12347 12348function cloneCopyEvent( src, dest ) { 12349 var i, l, type, pdataOld, udataOld, udataCur, events; 12350 12351 if ( dest.nodeType !== 1 ) { 12352 return; 12353 } 12354 12355 // 1. Copy private data: events, handlers, etc. 12356 if ( dataPriv.hasData( src ) ) { 12357 pdataOld = dataPriv.get( src ); 12358 events = pdataOld.events; 12359 12360 if ( events ) { 12361 dataPriv.remove( dest, "handle events" ); 12362 12363 for ( type in events ) { 12364 for ( i = 0, l = events[ type ].length; i < l; i++ ) { 12365 jQuery.event.add( dest, type, events[ type ][ i ] ); 12366 } 12367 } 12368 } 12369 } 12370 12371 // 2. Copy user data 12372 if ( dataUser.hasData( src ) ) { 12373 udataOld = dataUser.access( src ); 12374 udataCur = jQuery.extend( {}, udataOld ); 12375 12376 dataUser.set( dest, udataCur ); 12377 } 12378} 12379 12380// Fix IE bugs, see support tests 12381function fixInput( src, dest ) { 12382 var nodeName = dest.nodeName.toLowerCase(); 12383 12384 // Fails to persist the checked state of a cloned checkbox or radio button. 12385 if ( nodeName === "input" && rcheckableType.test( src.type ) ) { 12386 dest.checked = src.checked; 12387 12388 // Fails to return the selected option to the default selected state when cloning options 12389 } else if ( nodeName === "input" || nodeName === "textarea" ) { 12390 dest.defaultValue = src.defaultValue; 12391 } 12392} 12393 12394function domManip( collection, args, callback, ignored ) { 12395 12396 // Flatten any nested arrays 12397 args = flat( args ); 12398 12399 var fragment, first, scripts, hasScripts, node, doc, 12400 i = 0, 12401 l = collection.length, 12402 iNoClone = l - 1, 12403 value = args[ 0 ], 12404 valueIsFunction = isFunction( value ); 12405 12406 // We can't cloneNode fragments that contain checked, in WebKit 12407 if ( valueIsFunction || 12408 ( l > 1 && typeof value === "string" && 12409 !support.checkClone && rchecked.test( value ) ) ) { 12410 return collection.each( function( index ) { 12411 var self = collection.eq( index ); 12412 if ( valueIsFunction ) { 12413 args[ 0 ] = value.call( this, index, self.html() ); 12414 } 12415 domManip( self, args, callback, ignored ); 12416 } ); 12417 } 12418 12419 if ( l ) { 12420 fragment = buildFragment( args, collection[ 0 ].ownerDocument, false, collection, ignored ); 12421 first = fragment.firstChild; 12422 12423 if ( fragment.childNodes.length === 1 ) { 12424 fragment = first; 12425 } 12426 12427 // Require either new content or an interest in ignored elements to invoke the callback 12428 if ( first || ignored ) { 12429 scripts = jQuery.map( getAll( fragment, "script" ), disableScript ); 12430 hasScripts = scripts.length; 12431 12432 // Use the original fragment for the last item 12433 // instead of the first because it can end up 12434 // being emptied incorrectly in certain situations (#8070). 12435 for ( ; i < l; i++ ) { 12436 node = fragment; 12437 12438 if ( i !== iNoClone ) { 12439 node = jQuery.clone( node, true, true ); 12440 12441 // Keep references to cloned scripts for later restoration 12442 if ( hasScripts ) { 12443 12444 // Support: Android <=4.0 only, PhantomJS 1 only 12445 // push.apply(_, arraylike) throws on ancient WebKit 12446 jQuery.merge( scripts, getAll( node, "script" ) ); 12447 } 12448 } 12449 12450 callback.call( collection[ i ], node, i ); 12451 } 12452 12453 if ( hasScripts ) { 12454 doc = scripts[ scripts.length - 1 ].ownerDocument; 12455 12456 // Reenable scripts 12457 jQuery.map( scripts, restoreScript ); 12458 12459 // Evaluate executable scripts on first document insertion 12460 for ( i = 0; i < hasScripts; i++ ) { 12461 node = scripts[ i ]; 12462 if ( rscriptType.test( node.type || "" ) && 12463 !dataPriv.access( node, "globalEval" ) && 12464 jQuery.contains( doc, node ) ) { 12465 12466 if ( node.src && ( node.type || "" ).toLowerCase() !== "module" ) { 12467 12468 // Optional AJAX dependency, but won't run scripts if not present 12469 if ( jQuery._evalUrl && !node.noModule ) { 12470 jQuery._evalUrl( node.src, { 12471 nonce: node.nonce || node.getAttribute( "nonce" ) 12472 }, doc ); 12473 } 12474 } else { 12475 DOMEval( node.textContent.replace( rcleanScript, "" ), node, doc ); 12476 } 12477 } 12478 } 12479 } 12480 } 12481 } 12482 12483 return collection; 12484} 12485 12486function remove( elem, selector, keepData ) { 12487 var node, 12488 nodes = selector ? jQuery.filter( selector, elem ) : elem, 12489 i = 0; 12490 12491 for ( ; ( node = nodes[ i ] ) != null; i++ ) { 12492 if ( !keepData && node.nodeType === 1 ) { 12493 jQuery.cleanData( getAll( node ) ); 12494 } 12495 12496 if ( node.parentNode ) { 12497 if ( keepData && isAttached( node ) ) { 12498 setGlobalEval( getAll( node, "script" ) ); 12499 } 12500 node.parentNode.removeChild( node ); 12501 } 12502 } 12503 12504 return elem; 12505} 12506 12507jQuery.extend( { 12508 htmlPrefilter: function( html ) { 12509 return html; 12510 }, 12511 12512 clone: function( elem, dataAndEvents, deepDataAndEvents ) { 12513 var i, l, srcElements, destElements, 12514 clone = elem.cloneNode( true ), 12515 inPage = isAttached( elem ); 12516 12517 // Fix IE cloning issues 12518 if ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) && 12519 !jQuery.isXMLDoc( elem ) ) { 12520 12521 // We eschew Sizzle here for performance reasons: https://jsperf.com/getall-vs-sizzle/2 12522 destElements = getAll( clone ); 12523 srcElements = getAll( elem ); 12524 12525 for ( i = 0, l = srcElements.length; i < l; i++ ) { 12526 fixInput( srcElements[ i ], destElements[ i ] ); 12527 } 12528 } 12529 12530 // Copy the events from the original to the clone 12531 if ( dataAndEvents ) { 12532 if ( deepDataAndEvents ) { 12533 srcElements = srcElements || getAll( elem ); 12534 destElements = destElements || getAll( clone ); 12535 12536 for ( i = 0, l = srcElements.length; i < l; i++ ) { 12537 cloneCopyEvent( srcElements[ i ], destElements[ i ] ); 12538 } 12539 } else { 12540 cloneCopyEvent( elem, clone ); 12541 } 12542 } 12543 12544 // Preserve script evaluation history 12545 destElements = getAll( clone, "script" ); 12546 if ( destElements.length > 0 ) { 12547 setGlobalEval( destElements, !inPage && getAll( elem, "script" ) ); 12548 } 12549 12550 // Return the cloned set 12551 return clone; 12552 }, 12553 12554 cleanData: function( elems ) { 12555 var data, elem, type, 12556 special = jQuery.event.special, 12557 i = 0; 12558 12559 for ( ; ( elem = elems[ i ] ) !== undefined; i++ ) { 12560 if ( acceptData( elem ) ) { 12561 if ( ( data = elem[ dataPriv.expando ] ) ) { 12562 if ( data.events ) { 12563 for ( type in data.events ) { 12564 if ( special[ type ] ) { 12565 jQuery.event.remove( elem, type ); 12566 12567 // This is a shortcut to avoid jQuery.event.remove's overhead 12568 } else { 12569 jQuery.removeEvent( elem, type, data.handle ); 12570 } 12571 } 12572 } 12573 12574 // Support: Chrome <=35 - 45+ 12575 // Assign undefined instead of using delete, see Data#remove 12576 elem[ dataPriv.expando ] = undefined; 12577 } 12578 if ( elem[ dataUser.expando ] ) { 12579 12580 // Support: Chrome <=35 - 45+ 12581 // Assign undefined instead of using delete, see Data#remove 12582 elem[ dataUser.expando ] = undefined; 12583 } 12584 } 12585 } 12586 } 12587} ); 12588 12589jQuery.fn.extend( { 12590 detach: function( selector ) { 12591 return remove( this, selector, true ); 12592 }, 12593 12594 remove: function( selector ) { 12595 return remove( this, selector ); 12596 }, 12597 12598 text: function( value ) { 12599 return access( this, function( value ) { 12600 return value === undefined ? 12601 jQuery.text( this ) : 12602 this.empty().each( function() { 12603 if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { 12604 this.textContent = value; 12605 } 12606 } ); 12607 }, null, value, arguments.length ); 12608 }, 12609 12610 append: function() { 12611 return domManip( this, arguments, function( elem ) { 12612 if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { 12613 var target = manipulationTarget( this, elem ); 12614 target.appendChild( elem ); 12615 } 12616 } ); 12617 }, 12618 12619 prepend: function() { 12620 return domManip( this, arguments, function( elem ) { 12621 if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { 12622 var target = manipulationTarget( this, elem ); 12623 target.insertBefore( elem, target.firstChild ); 12624 } 12625 } ); 12626 }, 12627 12628 before: function() { 12629 return domManip( this, arguments, function( elem ) { 12630 if ( this.parentNode ) { 12631 this.parentNode.insertBefore( elem, this ); 12632 } 12633 } ); 12634 }, 12635 12636 after: function() { 12637 return domManip( this, arguments, function( elem ) { 12638 if ( this.parentNode ) { 12639 this.parentNode.insertBefore( elem, this.nextSibling ); 12640 } 12641 } ); 12642 }, 12643 12644 empty: function() { 12645 var elem, 12646 i = 0; 12647 12648 for ( ; ( elem = this[ i ] ) != null; i++ ) { 12649 if ( elem.nodeType === 1 ) { 12650 12651 // Prevent memory leaks 12652 jQuery.cleanData( getAll( elem, false ) ); 12653 12654 // Remove any remaining nodes 12655 elem.textContent = ""; 12656 } 12657 } 12658 12659 return this; 12660 }, 12661 12662 clone: function( dataAndEvents, deepDataAndEvents ) { 12663 dataAndEvents = dataAndEvents == null ? false : dataAndEvents; 12664 deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents; 12665 12666 return this.map( function() { 12667 return jQuery.clone( this, dataAndEvents, deepDataAndEvents ); 12668 } ); 12669 }, 12670 12671 html: function( value ) { 12672 return access( this, function( value ) { 12673 var elem = this[ 0 ] || {}, 12674 i = 0, 12675 l = this.length; 12676 12677 if ( value === undefined && elem.nodeType === 1 ) { 12678 return elem.innerHTML; 12679 } 12680 12681 // See if we can take a shortcut and just use innerHTML 12682 if ( typeof value === "string" && !rnoInnerhtml.test( value ) && 12683 !wrapMap[ ( rtagName.exec( value ) || [ "", "" ] )[ 1 ].toLowerCase() ] ) { 12684 12685 value = jQuery.htmlPrefilter( value ); 12686 12687 try { 12688 for ( ; i < l; i++ ) { 12689 elem = this[ i ] || {}; 12690 12691 // Remove element nodes and prevent memory leaks 12692 if ( elem.nodeType === 1 ) { 12693 jQuery.cleanData( getAll( elem, false ) ); 12694 elem.innerHTML = value; 12695 } 12696 } 12697 12698 elem = 0; 12699 12700 // If using innerHTML throws an exception, use the fallback method 12701 } catch ( e ) {} 12702 } 12703 12704 if ( elem ) { 12705 this.empty().append( value ); 12706 } 12707 }, null, value, arguments.length ); 12708 }, 12709 12710 replaceWith: function() { 12711 var ignored = []; 12712 12713 // Make the changes, replacing each non-ignored context element with the new content 12714 return domManip( this, arguments, function( elem ) { 12715 var parent = this.parentNode; 12716 12717 if ( jQuery.inArray( this, ignored ) < 0 ) { 12718 jQuery.cleanData( getAll( this ) ); 12719 if ( parent ) { 12720 parent.replaceChild( elem, this ); 12721 } 12722 } 12723 12724 // Force callback invocation 12725 }, ignored ); 12726 } 12727} ); 12728 12729jQuery.each( { 12730 appendTo: "append", 12731 prependTo: "prepend", 12732 insertBefore: "before", 12733 insertAfter: "after", 12734 replaceAll: "replaceWith" 12735}, function( name, original ) { 12736 jQuery.fn[ name ] = function( selector ) { 12737 var elems, 12738 ret = [], 12739 insert = jQuery( selector ), 12740 last = insert.length - 1, 12741 i = 0; 12742 12743 for ( ; i <= last; i++ ) { 12744 elems = i === last ? this : this.clone( true ); 12745 jQuery( insert[ i ] )[ original ]( elems ); 12746 12747 // Support: Android <=4.0 only, PhantomJS 1 only 12748 // .get() because push.apply(_, arraylike) throws on ancient WebKit 12749 push.apply( ret, elems.get() ); 12750 } 12751 12752 return this.pushStack( ret ); 12753 }; 12754} ); 12755var rnumnonpx = new RegExp( "^(" + pnum + ")(?!px)[a-z%]+$", "i" ); 12756 12757var getStyles = function( elem ) { 12758 12759 // Support: IE <=11 only, Firefox <=30 (#15098, #14150) 12760 // IE throws on elements created in popups 12761 // FF meanwhile throws on frame elements through "defaultView.getComputedStyle" 12762 var view = elem.ownerDocument.defaultView; 12763 12764 if ( !view || !view.opener ) { 12765 view = window; 12766 } 12767 12768 return view.getComputedStyle( elem ); 12769 }; 12770 12771var swap = function( elem, options, callback ) { 12772 var ret, name, 12773 old = {}; 12774 12775 // Remember the old values, and insert the new ones 12776 for ( name in options ) { 12777 old[ name ] = elem.style[ name ]; 12778 elem.style[ name ] = options[ name ]; 12779 } 12780 12781 ret = callback.call( elem ); 12782 12783 // Revert the old values 12784 for ( name in options ) { 12785 elem.style[ name ] = old[ name ]; 12786 } 12787 12788 return ret; 12789}; 12790 12791 12792var rboxStyle = new RegExp( cssExpand.join( "|" ), "i" ); 12793 12794 12795 12796( function() { 12797 12798 // Executing both pixelPosition & boxSizingReliable tests require only one layout 12799 // so they're executed at the same time to save the second computation. 12800 function computeStyleTests() { 12801 12802 // This is a singleton, we need to execute it only once 12803 if ( !div ) { 12804 return; 12805 } 12806 12807 container.style.cssText = "position:absolute;left:-11111px;width:60px;" + 12808 "margin-top:1px;padding:0;border:0"; 12809 div.style.cssText = 12810 "position:relative;display:block;box-sizing:border-box;overflow:scroll;" + 12811 "margin:auto;border:1px;padding:1px;" + 12812 "width:60%;top:1%"; 12813 documentElement.appendChild( container ).appendChild( div ); 12814 12815 var divStyle = window.getComputedStyle( div ); 12816 pixelPositionVal = divStyle.top !== "1%"; 12817 12818 // Support: Android 4.0 - 4.3 only, Firefox <=3 - 44 12819 reliableMarginLeftVal = roundPixelMeasures( divStyle.marginLeft ) === 12; 12820 12821 // Support: Android 4.0 - 4.3 only, Safari <=9.1 - 10.1, iOS <=7.0 - 9.3 12822 // Some styles come back with percentage values, even though they shouldn't 12823 div.style.right = "60%"; 12824 pixelBoxStylesVal = roundPixelMeasures( divStyle.right ) === 36; 12825 12826 // Support: IE 9 - 11 only 12827 // Detect misreporting of content dimensions for box-sizing:border-box elements 12828 boxSizingReliableVal = roundPixelMeasures( divStyle.width ) === 36; 12829 12830 // Support: IE 9 only 12831 // Detect overflow:scroll screwiness (gh-3699) 12832 // Support: Chrome <=64 12833 // Don't get tricked when zoom affects offsetWidth (gh-4029) 12834 div.style.position = "absolute"; 12835 scrollboxSizeVal = roundPixelMeasures( div.offsetWidth / 3 ) === 12; 12836 12837 documentElement.removeChild( container ); 12838 12839 // Nullify the div so it wouldn't be stored in the memory and 12840 // it will also be a sign that checks already performed 12841 div = null; 12842 } 12843 12844 function roundPixelMeasures( measure ) { 12845 return Math.round( parseFloat( measure ) ); 12846 } 12847 12848 var pixelPositionVal, boxSizingReliableVal, scrollboxSizeVal, pixelBoxStylesVal, 12849 reliableTrDimensionsVal, reliableMarginLeftVal, 12850 container = document.createElement( "div" ), 12851 div = document.createElement( "div" ); 12852 12853 // Finish early in limited (non-browser) environments 12854 if ( !div.style ) { 12855 return; 12856 } 12857 12858 // Support: IE <=9 - 11 only 12859 // Style of cloned element affects source element cloned (#8908) 12860 div.style.backgroundClip = "content-box"; 12861 div.cloneNode( true ).style.backgroundClip = ""; 12862 support.clearCloneStyle = div.style.backgroundClip === "content-box"; 12863 12864 jQuery.extend( support, { 12865 boxSizingReliable: function() { 12866 computeStyleTests(); 12867 return boxSizingReliableVal; 12868 }, 12869 pixelBoxStyles: function() { 12870 computeStyleTests(); 12871 return pixelBoxStylesVal; 12872 }, 12873 pixelPosition: function() { 12874 computeStyleTests(); 12875 return pixelPositionVal; 12876 }, 12877 reliableMarginLeft: function() { 12878 computeStyleTests(); 12879 return reliableMarginLeftVal; 12880 }, 12881 scrollboxSize: function() { 12882 computeStyleTests(); 12883 return scrollboxSizeVal; 12884 }, 12885 12886 // Support: IE 9 - 11+, Edge 15 - 18+ 12887 // IE/Edge misreport `getComputedStyle` of table rows with width/height 12888 // set in CSS while `offset*` properties report correct values. 12889 // Behavior in IE 9 is more subtle than in newer versions & it passes 12890 // some versions of this test; make sure not to make it pass there! 12891 // 12892 // Support: Firefox 70+ 12893 // Only Firefox includes border widths 12894 // in computed dimensions. (gh-4529) 12895 reliableTrDimensions: function() { 12896 var table, tr, trChild, trStyle; 12897 if ( reliableTrDimensionsVal == null ) { 12898 table = document.createElement( "table" ); 12899 tr = document.createElement( "tr" ); 12900 trChild = document.createElement( "div" ); 12901 12902 table.style.cssText = "position:absolute;left:-11111px;border-collapse:separate"; 12903 tr.style.cssText = "border:1px solid"; 12904 12905 // Support: Chrome 86+ 12906 // Height set through cssText does not get applied. 12907 // Computed height then comes back as 0. 12908 tr.style.height = "1px"; 12909 trChild.style.height = "9px"; 12910 12911 // Support: Android 8 Chrome 86+ 12912 // In our bodyBackground.html iframe, 12913 // display for all div elements is set to "inline", 12914 // which causes a problem only in Android 8 Chrome 86. 12915 // Ensuring the div is display: block 12916 // gets around this issue. 12917 trChild.style.display = "block"; 12918 12919 documentElement 12920 .appendChild( table ) 12921 .appendChild( tr ) 12922 .appendChild( trChild ); 12923 12924 trStyle = window.getComputedStyle( tr ); 12925 reliableTrDimensionsVal = ( parseInt( trStyle.height, 10 ) + 12926 parseInt( trStyle.borderTopWidth, 10 ) + 12927 parseInt( trStyle.borderBottomWidth, 10 ) ) === tr.offsetHeight; 12928 12929 documentElement.removeChild( table ); 12930 } 12931 return reliableTrDimensionsVal; 12932 } 12933 } ); 12934} )(); 12935 12936 12937function curCSS( elem, name, computed ) { 12938 var width, minWidth, maxWidth, ret, 12939 12940 // Support: Firefox 51+ 12941 // Retrieving style before computed somehow 12942 // fixes an issue with getting wrong values 12943 // on detached elements 12944 style = elem.style; 12945 12946 computed = computed || getStyles( elem ); 12947 12948 // getPropertyValue is needed for: 12949 // .css('filter') (IE 9 only, #12537) 12950 // .css('--customProperty) (#3144) 12951 if ( computed ) { 12952 ret = computed.getPropertyValue( name ) || computed[ name ]; 12953 12954 if ( ret === "" && !isAttached( elem ) ) { 12955 ret = jQuery.style( elem, name ); 12956 } 12957 12958 // A tribute to the "awesome hack by Dean Edwards" 12959 // Android Browser returns percentage for some values, 12960 // but width seems to be reliably pixels. 12961 // This is against the CSSOM draft spec: 12962 // https://drafts.csswg.org/cssom/#resolved-values 12963 if ( !support.pixelBoxStyles() && rnumnonpx.test( ret ) && rboxStyle.test( name ) ) { 12964 12965 // Remember the original values 12966 width = style.width; 12967 minWidth = style.minWidth; 12968 maxWidth = style.maxWidth; 12969 12970 // Put in the new values to get a computed value out 12971 style.minWidth = style.maxWidth = style.width = ret; 12972 ret = computed.width; 12973 12974 // Revert the changed values 12975 style.width = width; 12976 style.minWidth = minWidth; 12977 style.maxWidth = maxWidth; 12978 } 12979 } 12980 12981 return ret !== undefined ? 12982 12983 // Support: IE <=9 - 11 only 12984 // IE returns zIndex value as an integer. 12985 ret + "" : 12986 ret; 12987} 12988 12989 12990function addGetHookIf( conditionFn, hookFn ) { 12991 12992 // Define the hook, we'll check on the first run if it's really needed. 12993 return { 12994 get: function() { 12995 if ( conditionFn() ) { 12996 12997 // Hook not needed (or it's not possible to use it due 12998 // to missing dependency), remove it. 12999 delete this.get; 13000 return; 13001 } 13002 13003 // Hook needed; redefine it so that the support test is not executed again. 13004 return ( this.get = hookFn ).apply( this, arguments ); 13005 } 13006 }; 13007} 13008 13009 13010var cssPrefixes = [ "Webkit", "Moz", "ms" ], 13011 emptyStyle = document.createElement( "div" ).style, 13012 vendorProps = {}; 13013 13014// Return a vendor-prefixed property or undefined 13015function vendorPropName( name ) { 13016 13017 // Check for vendor prefixed names 13018 var capName = name[ 0 ].toUpperCase() + name.slice( 1 ), 13019 i = cssPrefixes.length; 13020 13021 while ( i-- ) { 13022 name = cssPrefixes[ i ] + capName; 13023 if ( name in emptyStyle ) { 13024 return name; 13025 } 13026 } 13027} 13028 13029// Return a potentially-mapped jQuery.cssProps or vendor prefixed property 13030function finalPropName( name ) { 13031 var final = jQuery.cssProps[ name ] || vendorProps[ name ]; 13032 13033 if ( final ) { 13034 return final; 13035 } 13036 if ( name in emptyStyle ) { 13037 return name; 13038 } 13039 return vendorProps[ name ] = vendorPropName( name ) || name; 13040} 13041 13042 13043var 13044 13045 // Swappable if display is none or starts with table 13046 // except "table", "table-cell", or "table-caption" 13047 // See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display 13048 rdisplayswap = /^(none|table(?!-c[ea]).+)/, 13049 rcustomProp = /^--/, 13050 cssShow = { position: "absolute", visibility: "hidden", display: "block" }, 13051 cssNormalTransform = { 13052 letterSpacing: "0", 13053 fontWeight: "400" 13054 }; 13055 13056function setPositiveNumber( _elem, value, subtract ) { 13057 13058 // Any relative (+/-) values have already been 13059 // normalized at this point 13060 var matches = rcssNum.exec( value ); 13061 return matches ? 13062 13063 // Guard against undefined "subtract", e.g., when used as in cssHooks 13064 Math.max( 0, matches[ 2 ] - ( subtract || 0 ) ) + ( matches[ 3 ] || "px" ) : 13065 value; 13066} 13067 13068function boxModelAdjustment( elem, dimension, box, isBorderBox, styles, computedVal ) { 13069 var i = dimension === "width" ? 1 : 0, 13070 extra = 0, 13071 delta = 0; 13072 13073 // Adjustment may not be necessary 13074 if ( box === ( isBorderBox ? "border" : "content" ) ) { 13075 return 0; 13076 } 13077 13078 for ( ; i < 4; i += 2 ) { 13079 13080 // Both box models exclude margin 13081 if ( box === "margin" ) { 13082 delta += jQuery.css( elem, box + cssExpand[ i ], true, styles ); 13083 } 13084 13085 // If we get here with a content-box, we're seeking "padding" or "border" or "margin" 13086 if ( !isBorderBox ) { 13087 13088 // Add padding 13089 delta += jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); 13090 13091 // For "border" or "margin", add border 13092 if ( box !== "padding" ) { 13093 delta += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); 13094 13095 // But still keep track of it otherwise 13096 } else { 13097 extra += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); 13098 } 13099 13100 // If we get here with a border-box (content + padding + border), we're seeking "content" or 13101 // "padding" or "margin" 13102 } else { 13103 13104 // For "content", subtract padding 13105 if ( box === "content" ) { 13106 delta -= jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); 13107 } 13108 13109 // For "content" or "padding", subtract border 13110 if ( box !== "margin" ) { 13111 delta -= jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); 13112 } 13113 } 13114 } 13115 13116 // Account for positive content-box scroll gutter when requested by providing computedVal 13117 if ( !isBorderBox && computedVal >= 0 ) { 13118 13119 // offsetWidth/offsetHeight is a rounded sum of content, padding, scroll gutter, and border 13120 // Assuming integer scroll gutter, subtract the rest and round down 13121 delta += Math.max( 0, Math.ceil( 13122 elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] - 13123 computedVal - 13124 delta - 13125 extra - 13126 0.5 13127 13128 // If offsetWidth/offsetHeight is unknown, then we can't determine content-box scroll gutter 13129 // Use an explicit zero to avoid NaN (gh-3964) 13130 ) ) || 0; 13131 } 13132 13133 return delta; 13134} 13135 13136function getWidthOrHeight( elem, dimension, extra ) { 13137 13138 // Start with computed style 13139 var styles = getStyles( elem ), 13140 13141 // To avoid forcing a reflow, only fetch boxSizing if we need it (gh-4322). 13142 // Fake content-box until we know it's needed to know the true value. 13143 boxSizingNeeded = !support.boxSizingReliable() || extra, 13144 isBorderBox = boxSizingNeeded && 13145 jQuery.css( elem, "boxSizing", false, styles ) === "border-box", 13146 valueIsBorderBox = isBorderBox, 13147 13148 val = curCSS( elem, dimension, styles ), 13149 offsetProp = "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ); 13150 13151 // Support: Firefox <=54 13152 // Return a confounding non-pixel value or feign ignorance, as appropriate. 13153 if ( rnumnonpx.test( val ) ) { 13154 if ( !extra ) { 13155 return val; 13156 } 13157 val = "auto"; 13158 } 13159 13160 13161 // Support: IE 9 - 11 only 13162 // Use offsetWidth/offsetHeight for when box sizing is unreliable. 13163 // In those cases, the computed value can be trusted to be border-box. 13164 if ( ( !support.boxSizingReliable() && isBorderBox || 13165 13166 // Support: IE 10 - 11+, Edge 15 - 18+ 13167 // IE/Edge misreport `getComputedStyle` of table rows with width/height 13168 // set in CSS while `offset*` properties report correct values. 13169 // Interestingly, in some cases IE 9 doesn't suffer from this issue. 13170 !support.reliableTrDimensions() && nodeName( elem, "tr" ) || 13171 13172 // Fall back to offsetWidth/offsetHeight when value is "auto" 13173 // This happens for inline elements with no explicit setting (gh-3571) 13174 val === "auto" || 13175 13176 // Support: Android <=4.1 - 4.3 only 13177 // Also use offsetWidth/offsetHeight for misreported inline dimensions (gh-3602) 13178 !parseFloat( val ) && jQuery.css( elem, "display", false, styles ) === "inline" ) && 13179 13180 // Make sure the element is visible & connected 13181 elem.getClientRects().length ) { 13182 13183 isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box"; 13184 13185 // Where available, offsetWidth/offsetHeight approximate border box dimensions. 13186 // Where not available (e.g., SVG), assume unreliable box-sizing and interpret the 13187 // retrieved value as a content box dimension. 13188 valueIsBorderBox = offsetProp in elem; 13189 if ( valueIsBorderBox ) { 13190 val = elem[ offsetProp ]; 13191 } 13192 } 13193 13194 // Normalize "" and auto 13195 val = parseFloat( val ) || 0; 13196 13197 // Adjust for the element's box model 13198 return ( val + 13199 boxModelAdjustment( 13200 elem, 13201 dimension, 13202 extra || ( isBorderBox ? "border" : "content" ), 13203 valueIsBorderBox, 13204 styles, 13205 13206 // Provide the current computed size to request scroll gutter calculation (gh-3589) 13207 val 13208 ) 13209 ) + "px"; 13210} 13211 13212jQuery.extend( { 13213 13214 // Add in style property hooks for overriding the default 13215 // behavior of getting and setting a style property 13216 cssHooks: { 13217 opacity: { 13218 get: function( elem, computed ) { 13219 if ( computed ) { 13220 13221 // We should always get a number back from opacity 13222 var ret = curCSS( elem, "opacity" ); 13223 return ret === "" ? "1" : ret; 13224 } 13225 } 13226 } 13227 }, 13228 13229 // Don't automatically add "px" to these possibly-unitless properties 13230 cssNumber: { 13231 "animationIterationCount": true, 13232 "columnCount": true, 13233 "fillOpacity": true, 13234 "flexGrow": true, 13235 "flexShrink": true, 13236 "fontWeight": true, 13237 "gridArea": true, 13238 "gridColumn": true, 13239 "gridColumnEnd": true, 13240 "gridColumnStart": true, 13241 "gridRow": true, 13242 "gridRowEnd": true, 13243 "gridRowStart": true, 13244 "lineHeight": true, 13245 "opacity": true, 13246 "order": true, 13247 "orphans": true, 13248 "widows": true, 13249 "zIndex": true, 13250 "zoom": true 13251 }, 13252 13253 // Add in properties whose names you wish to fix before 13254 // setting or getting the value 13255 cssProps: {}, 13256 13257 // Get and set the style property on a DOM Node 13258 style: function( elem, name, value, extra ) { 13259 13260 // Don't set styles on text and comment nodes 13261 if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) { 13262 return; 13263 } 13264 13265 // Make sure that we're working with the right name 13266 var ret, type, hooks, 13267 origName = camelCase( name ), 13268 isCustomProp = rcustomProp.test( name ), 13269 style = elem.style; 13270 13271 // Make sure that we're working with the right name. We don't 13272 // want to query the value if it is a CSS custom property 13273 // since they are user-defined. 13274 if ( !isCustomProp ) { 13275 name = finalPropName( origName ); 13276 } 13277 13278 // Gets hook for the prefixed version, then unprefixed version 13279 hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; 13280 13281 // Check if we're setting a value 13282 if ( value !== undefined ) { 13283 type = typeof value; 13284 13285 // Convert "+=" or "-=" to relative numbers (#7345) 13286 if ( type === "string" && ( ret = rcssNum.exec( value ) ) && ret[ 1 ] ) { 13287 value = adjustCSS( elem, name, ret ); 13288 13289 // Fixes bug #9237 13290 type = "number"; 13291 } 13292 13293 // Make sure that null and NaN values aren't set (#7116) 13294 if ( value == null || value !== value ) { 13295 return; 13296 } 13297 13298 // If a number was passed in, add the unit (except for certain CSS properties) 13299 // The isCustomProp check can be removed in jQuery 4.0 when we only auto-append 13300 // "px" to a few hardcoded values. 13301 if ( type === "number" && !isCustomProp ) { 13302 value += ret && ret[ 3 ] || ( jQuery.cssNumber[ origName ] ? "" : "px" ); 13303 } 13304 13305 // background-* props affect original clone's values 13306 if ( !support.clearCloneStyle && value === "" && name.indexOf( "background" ) === 0 ) { 13307 style[ name ] = "inherit"; 13308 } 13309 13310 // If a hook was provided, use that value, otherwise just set the specified value 13311 if ( !hooks || !( "set" in hooks ) || 13312 ( value = hooks.set( elem, value, extra ) ) !== undefined ) { 13313 13314 if ( isCustomProp ) { 13315 style.setProperty( name, value ); 13316 } else { 13317 style[ name ] = value; 13318 } 13319 } 13320 13321 } else { 13322 13323 // If a hook was provided get the non-computed value from there 13324 if ( hooks && "get" in hooks && 13325 ( ret = hooks.get( elem, false, extra ) ) !== undefined ) { 13326 13327 return ret; 13328 } 13329 13330 // Otherwise just get the value from the style object 13331 return style[ name ]; 13332 } 13333 }, 13334 13335 css: function( elem, name, extra, styles ) { 13336 var val, num, hooks, 13337 origName = camelCase( name ), 13338 isCustomProp = rcustomProp.test( name ); 13339 13340 // Make sure that we're working with the right name. We don't 13341 // want to modify the value if it is a CSS custom property 13342 // since they are user-defined. 13343 if ( !isCustomProp ) { 13344 name = finalPropName( origName ); 13345 } 13346 13347 // Try prefixed name followed by the unprefixed name 13348 hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; 13349 13350 // If a hook was provided get the computed value from there 13351 if ( hooks && "get" in hooks ) { 13352 val = hooks.get( elem, true, extra ); 13353 } 13354 13355 // Otherwise, if a way to get the computed value exists, use that 13356 if ( val === undefined ) { 13357 val = curCSS( elem, name, styles ); 13358 } 13359 13360 // Convert "normal" to computed value 13361 if ( val === "normal" && name in cssNormalTransform ) { 13362 val = cssNormalTransform[ name ]; 13363 } 13364 13365 // Make numeric if forced or a qualifier was provided and val looks numeric 13366 if ( extra === "" || extra ) { 13367 num = parseFloat( val ); 13368 return extra === true || isFinite( num ) ? num || 0 : val; 13369 } 13370 13371 return val; 13372 } 13373} ); 13374 13375jQuery.each( [ "height", "width" ], function( _i, dimension ) { 13376 jQuery.cssHooks[ dimension ] = { 13377 get: function( elem, computed, extra ) { 13378 if ( computed ) { 13379 13380 // Certain elements can have dimension info if we invisibly show them 13381 // but it must have a current display style that would benefit 13382 return rdisplayswap.test( jQuery.css( elem, "display" ) ) && 13383 13384 // Support: Safari 8+ 13385 // Table columns in Safari have non-zero offsetWidth & zero 13386 // getBoundingClientRect().width unless display is changed. 13387 // Support: IE <=11 only 13388 // Running getBoundingClientRect on a disconnected node 13389 // in IE throws an error. 13390 ( !elem.getClientRects().length || !elem.getBoundingClientRect().width ) ? 13391 swap( elem, cssShow, function() { 13392 return getWidthOrHeight( elem, dimension, extra ); 13393 } ) : 13394 getWidthOrHeight( elem, dimension, extra ); 13395 } 13396 }, 13397 13398 set: function( elem, value, extra ) { 13399 var matches, 13400 styles = getStyles( elem ), 13401 13402 // Only read styles.position if the test has a chance to fail 13403 // to avoid forcing a reflow. 13404 scrollboxSizeBuggy = !support.scrollboxSize() && 13405 styles.position === "absolute", 13406 13407 // To avoid forcing a reflow, only fetch boxSizing if we need it (gh-3991) 13408 boxSizingNeeded = scrollboxSizeBuggy || extra, 13409 isBorderBox = boxSizingNeeded && 13410 jQuery.css( elem, "boxSizing", false, styles ) === "border-box", 13411 subtract = extra ? 13412 boxModelAdjustment( 13413 elem, 13414 dimension, 13415 extra, 13416 isBorderBox, 13417 styles 13418 ) : 13419 0; 13420 13421 // Account for unreliable border-box dimensions by comparing offset* to computed and 13422 // faking a content-box to get border and padding (gh-3699) 13423 if ( isBorderBox && scrollboxSizeBuggy ) { 13424 subtract -= Math.ceil( 13425 elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] - 13426 parseFloat( styles[ dimension ] ) - 13427 boxModelAdjustment( elem, dimension, "border", false, styles ) - 13428 0.5 13429 ); 13430 } 13431 13432 // Convert to pixels if value adjustment is needed 13433 if ( subtract && ( matches = rcssNum.exec( value ) ) && 13434 ( matches[ 3 ] || "px" ) !== "px" ) { 13435 13436 elem.style[ dimension ] = value; 13437 value = jQuery.css( elem, dimension ); 13438 } 13439 13440 return setPositiveNumber( elem, value, subtract ); 13441 } 13442 }; 13443} ); 13444 13445jQuery.cssHooks.marginLeft = addGetHookIf( support.reliableMarginLeft, 13446 function( elem, computed ) { 13447 if ( computed ) { 13448 return ( parseFloat( curCSS( elem, "marginLeft" ) ) || 13449 elem.getBoundingClientRect().left - 13450 swap( elem, { marginLeft: 0 }, function() { 13451 return elem.getBoundingClientRect().left; 13452 } ) 13453 ) + "px"; 13454 } 13455 } 13456); 13457 13458// These hooks are used by animate to expand properties 13459jQuery.each( { 13460 margin: "", 13461 padding: "", 13462 border: "Width" 13463}, function( prefix, suffix ) { 13464 jQuery.cssHooks[ prefix + suffix ] = { 13465 expand: function( value ) { 13466 var i = 0, 13467 expanded = {}, 13468 13469 // Assumes a single number if not a string 13470 parts = typeof value === "string" ? value.split( " " ) : [ value ]; 13471 13472 for ( ; i < 4; i++ ) { 13473 expanded[ prefix + cssExpand[ i ] + suffix ] = 13474 parts[ i ] || parts[ i - 2 ] || parts[ 0 ]; 13475 } 13476 13477 return expanded; 13478 } 13479 }; 13480 13481 if ( prefix !== "margin" ) { 13482 jQuery.cssHooks[ prefix + suffix ].set = setPositiveNumber; 13483 } 13484} ); 13485 13486jQuery.fn.extend( { 13487 css: function( name, value ) { 13488 return access( this, function( elem, name, value ) { 13489 var styles, len, 13490 map = {}, 13491 i = 0; 13492 13493 if ( Array.isArray( name ) ) { 13494 styles = getStyles( elem ); 13495 len = name.length; 13496 13497 for ( ; i < len; i++ ) { 13498 map[ name[ i ] ] = jQuery.css( elem, name[ i ], false, styles ); 13499 } 13500 13501 return map; 13502 } 13503 13504 return value !== undefined ? 13505 jQuery.style( elem, name, value ) : 13506 jQuery.css( elem, name ); 13507 }, name, value, arguments.length > 1 ); 13508 } 13509} ); 13510 13511 13512function Tween( elem, options, prop, end, easing ) { 13513 return new Tween.prototype.init( elem, options, prop, end, easing ); 13514} 13515jQuery.Tween = Tween; 13516 13517Tween.prototype = { 13518 constructor: Tween, 13519 init: function( elem, options, prop, end, easing, unit ) { 13520 this.elem = elem; 13521 this.prop = prop; 13522 this.easing = easing || jQuery.easing._default; 13523 this.options = options; 13524 this.start = this.now = this.cur(); 13525 this.end = end; 13526 this.unit = unit || ( jQuery.cssNumber[ prop ] ? "" : "px" ); 13527 }, 13528 cur: function() { 13529 var hooks = Tween.propHooks[ this.prop ]; 13530 13531 return hooks && hooks.get ? 13532 hooks.get( this ) : 13533 Tween.propHooks._default.get( this ); 13534 }, 13535 run: function( percent ) { 13536 var eased, 13537 hooks = Tween.propHooks[ this.prop ]; 13538 13539 if ( this.options.duration ) { 13540 this.pos = eased = jQuery.easing[ this.easing ]( 13541 percent, this.options.duration * percent, 0, 1, this.options.duration 13542 ); 13543 } else { 13544 this.pos = eased = percent; 13545 } 13546 this.now = ( this.end - this.start ) * eased + this.start; 13547 13548 if ( this.options.step ) { 13549 this.options.step.call( this.elem, this.now, this ); 13550 } 13551 13552 if ( hooks && hooks.set ) { 13553 hooks.set( this ); 13554 } else { 13555 Tween.propHooks._default.set( this ); 13556 } 13557 return this; 13558 } 13559}; 13560 13561Tween.prototype.init.prototype = Tween.prototype; 13562 13563Tween.propHooks = { 13564 _default: { 13565 get: function( tween ) { 13566 var result; 13567 13568 // Use a property on the element directly when it is not a DOM element, 13569 // or when there is no matching style property that exists. 13570 if ( tween.elem.nodeType !== 1 || 13571 tween.elem[ tween.prop ] != null && tween.elem.style[ tween.prop ] == null ) { 13572 return tween.elem[ tween.prop ]; 13573 } 13574 13575 // Passing an empty string as a 3rd parameter to .css will automatically 13576 // attempt a parseFloat and fallback to a string if the parse fails. 13577 // Simple values such as "10px" are parsed to Float; 13578 // complex values such as "rotate(1rad)" are returned as-is. 13579 result = jQuery.css( tween.elem, tween.prop, "" ); 13580 13581 // Empty strings, null, undefined and "auto" are converted to 0. 13582 return !result || result === "auto" ? 0 : result; 13583 }, 13584 set: function( tween ) { 13585 13586 // Use step hook for back compat. 13587 // Use cssHook if its there. 13588 // Use .style if available and use plain properties where available. 13589 if ( jQuery.fx.step[ tween.prop ] ) { 13590 jQuery.fx.step[ tween.prop ]( tween ); 13591 } else if ( tween.elem.nodeType === 1 && ( 13592 jQuery.cssHooks[ tween.prop ] || 13593 tween.elem.style[ finalPropName( tween.prop ) ] != null ) ) { 13594 jQuery.style( tween.elem, tween.prop, tween.now + tween.unit ); 13595 } else { 13596 tween.elem[ tween.prop ] = tween.now; 13597 } 13598 } 13599 } 13600}; 13601 13602// Support: IE <=9 only 13603// Panic based approach to setting things on disconnected nodes 13604Tween.propHooks.scrollTop = Tween.propHooks.scrollLeft = { 13605 set: function( tween ) { 13606 if ( tween.elem.nodeType && tween.elem.parentNode ) { 13607 tween.elem[ tween.prop ] = tween.now; 13608 } 13609 } 13610}; 13611 13612jQuery.easing = { 13613 linear: function( p ) { 13614 return p; 13615 }, 13616 swing: function( p ) { 13617 return 0.5 - Math.cos( p * Math.PI ) / 2; 13618 }, 13619 _default: "swing" 13620}; 13621 13622jQuery.fx = Tween.prototype.init; 13623 13624// Back compat <1.8 extension point 13625jQuery.fx.step = {}; 13626 13627 13628 13629 13630var 13631 fxNow, inProgress, 13632 rfxtypes = /^(?:toggle|show|hide)$/, 13633 rrun = /queueHooks$/; 13634 13635function schedule() { 13636 if ( inProgress ) { 13637 if ( document.hidden === false && window.requestAnimationFrame ) { 13638 window.requestAnimationFrame( schedule ); 13639 } else { 13640 window.setTimeout( schedule, jQuery.fx.interval ); 13641 } 13642 13643 jQuery.fx.tick(); 13644 } 13645} 13646 13647// Animations created synchronously will run synchronously 13648function createFxNow() { 13649 window.setTimeout( function() { 13650 fxNow = undefined; 13651 } ); 13652 return ( fxNow = Date.now() ); 13653} 13654 13655// Generate parameters to create a standard animation 13656function genFx( type, includeWidth ) { 13657 var which, 13658 i = 0, 13659 attrs = { height: type }; 13660 13661 // If we include width, step value is 1 to do all cssExpand values, 13662 // otherwise step value is 2 to skip over Left and Right 13663 includeWidth = includeWidth ? 1 : 0; 13664 for ( ; i < 4; i += 2 - includeWidth ) { 13665 which = cssExpand[ i ]; 13666 attrs[ "margin" + which ] = attrs[ "padding" + which ] = type; 13667 } 13668 13669 if ( includeWidth ) { 13670 attrs.opacity = attrs.width = type; 13671 } 13672 13673 return attrs; 13674} 13675 13676function createTween( value, prop, animation ) { 13677 var tween, 13678 collection = ( Animation.tweeners[ prop ] || [] ).concat( Animation.tweeners[ "*" ] ), 13679 index = 0, 13680 length = collection.length; 13681 for ( ; index < length; index++ ) { 13682 if ( ( tween = collection[ index ].call( animation, prop, value ) ) ) { 13683 13684 // We're done with this property 13685 return tween; 13686 } 13687 } 13688} 13689 13690function defaultPrefilter( elem, props, opts ) { 13691 var prop, value, toggle, hooks, oldfire, propTween, restoreDisplay, display, 13692 isBox = "width" in props || "height" in props, 13693 anim = this, 13694 orig = {}, 13695 style = elem.style, 13696 hidden = elem.nodeType && isHiddenWithinTree( elem ), 13697 dataShow = dataPriv.get( elem, "fxshow" ); 13698 13699 // Queue-skipping animations hijack the fx hooks 13700 if ( !opts.queue ) { 13701 hooks = jQuery._queueHooks( elem, "fx" ); 13702 if ( hooks.unqueued == null ) { 13703 hooks.unqueued = 0; 13704 oldfire = hooks.empty.fire; 13705 hooks.empty.fire = function() { 13706 if ( !hooks.unqueued ) { 13707 oldfire(); 13708 } 13709 }; 13710 } 13711 hooks.unqueued++; 13712 13713 anim.always( function() { 13714 13715 // Ensure the complete handler is called before this completes 13716 anim.always( function() { 13717 hooks.unqueued--; 13718 if ( !jQuery.queue( elem, "fx" ).length ) { 13719 hooks.empty.fire(); 13720 } 13721 } ); 13722 } ); 13723 } 13724 13725 // Detect show/hide animations 13726 for ( prop in props ) { 13727 value = props[ prop ]; 13728 if ( rfxtypes.test( value ) ) { 13729 delete props[ prop ]; 13730 toggle = toggle || value === "toggle"; 13731 if ( value === ( hidden ? "hide" : "show" ) ) { 13732 13733 // Pretend to be hidden if this is a "show" and 13734 // there is still data from a stopped show/hide 13735 if ( value === "show" && dataShow && dataShow[ prop ] !== undefined ) { 13736 hidden = true; 13737 13738 // Ignore all other no-op show/hide data 13739 } else { 13740 continue; 13741 } 13742 } 13743 orig[ prop ] = dataShow && dataShow[ prop ] || jQuery.style( elem, prop ); 13744 } 13745 } 13746 13747 // Bail out if this is a no-op like .hide().hide() 13748 propTween = !jQuery.isEmptyObject( props ); 13749 if ( !propTween && jQuery.isEmptyObject( orig ) ) { 13750 return; 13751 } 13752 13753 // Restrict "overflow" and "display" styles during box animations 13754 if ( isBox && elem.nodeType === 1 ) { 13755 13756 // Support: IE <=9 - 11, Edge 12 - 15 13757 // Record all 3 overflow attributes because IE does not infer the shorthand 13758 // from identically-valued overflowX and overflowY and Edge just mirrors 13759 // the overflowX value there. 13760 opts.overflow = [ style.overflow, style.overflowX, style.overflowY ]; 13761 13762 // Identify a display type, preferring old show/hide data over the CSS cascade 13763 restoreDisplay = dataShow && dataShow.display; 13764 if ( restoreDisplay == null ) { 13765 restoreDisplay = dataPriv.get( elem, "display" ); 13766 } 13767 display = jQuery.css( elem, "display" ); 13768 if ( display === "none" ) { 13769 if ( restoreDisplay ) { 13770 display = restoreDisplay; 13771 } else { 13772 13773 // Get nonempty value(s) by temporarily forcing visibility 13774 showHide( [ elem ], true ); 13775 restoreDisplay = elem.style.display || restoreDisplay; 13776 display = jQuery.css( elem, "display" ); 13777 showHide( [ elem ] ); 13778 } 13779 } 13780 13781 // Animate inline elements as inline-block 13782 if ( display === "inline" || display === "inline-block" && restoreDisplay != null ) { 13783 if ( jQuery.css( elem, "float" ) === "none" ) { 13784 13785 // Restore the original display value at the end of pure show/hide animations 13786 if ( !propTween ) { 13787 anim.done( function() { 13788 style.display = restoreDisplay; 13789 } ); 13790 if ( restoreDisplay == null ) { 13791 display = style.display; 13792 restoreDisplay = display === "none" ? "" : display; 13793 } 13794 } 13795 style.display = "inline-block"; 13796 } 13797 } 13798 } 13799 13800 if ( opts.overflow ) { 13801 style.overflow = "hidden"; 13802 anim.always( function() { 13803 style.overflow = opts.overflow[ 0 ]; 13804 style.overflowX = opts.overflow[ 1 ]; 13805 style.overflowY = opts.overflow[ 2 ]; 13806 } ); 13807 } 13808 13809 // Implement show/hide animations 13810 propTween = false; 13811 for ( prop in orig ) { 13812 13813 // General show/hide setup for this element animation 13814 if ( !propTween ) { 13815 if ( dataShow ) { 13816 if ( "hidden" in dataShow ) { 13817 hidden = dataShow.hidden; 13818 } 13819 } else { 13820 dataShow = dataPriv.access( elem, "fxshow", { display: restoreDisplay } ); 13821 } 13822 13823 // Store hidden/visible for toggle so `.stop().toggle()` "reverses" 13824 if ( toggle ) { 13825 dataShow.hidden = !hidden; 13826 } 13827 13828 // Show elements before animating them 13829 if ( hidden ) { 13830 showHide( [ elem ], true ); 13831 } 13832 13833 /* eslint-disable no-loop-func */ 13834 13835 anim.done( function() { 13836 13837 /* eslint-enable no-loop-func */ 13838 13839 // The final step of a "hide" animation is actually hiding the element 13840 if ( !hidden ) { 13841 showHide( [ elem ] ); 13842 } 13843 dataPriv.remove( elem, "fxshow" ); 13844 for ( prop in orig ) { 13845 jQuery.style( elem, prop, orig[ prop ] ); 13846 } 13847 } ); 13848 } 13849 13850 // Per-property setup 13851 propTween = createTween( hidden ? dataShow[ prop ] : 0, prop, anim ); 13852 if ( !( prop in dataShow ) ) { 13853 dataShow[ prop ] = propTween.start; 13854 if ( hidden ) { 13855 propTween.end = propTween.start; 13856 propTween.start = 0; 13857 } 13858 } 13859 } 13860} 13861 13862function propFilter( props, specialEasing ) { 13863 var index, name, easing, value, hooks; 13864 13865 // camelCase, specialEasing and expand cssHook pass 13866 for ( index in props ) { 13867 name = camelCase( index ); 13868 easing = specialEasing[ name ]; 13869 value = props[ index ]; 13870 if ( Array.isArray( value ) ) { 13871 easing = value[ 1 ]; 13872 value = props[ index ] = value[ 0 ]; 13873 } 13874 13875 if ( index !== name ) { 13876 props[ name ] = value; 13877 delete props[ index ]; 13878 } 13879 13880 hooks = jQuery.cssHooks[ name ]; 13881 if ( hooks && "expand" in hooks ) { 13882 value = hooks.expand( value ); 13883 delete props[ name ]; 13884 13885 // Not quite $.extend, this won't overwrite existing keys. 13886 // Reusing 'index' because we have the correct "name" 13887 for ( index in value ) { 13888 if ( !( index in props ) ) { 13889 props[ index ] = value[ index ]; 13890 specialEasing[ index ] = easing; 13891 } 13892 } 13893 } else { 13894 specialEasing[ name ] = easing; 13895 } 13896 } 13897} 13898 13899function Animation( elem, properties, options ) { 13900 var result, 13901 stopped, 13902 index = 0, 13903 length = Animation.prefilters.length, 13904 deferred = jQuery.Deferred().always( function() { 13905 13906 // Don't match elem in the :animated selector 13907 delete tick.elem; 13908 } ), 13909 tick = function() { 13910 if ( stopped ) { 13911 return false; 13912 } 13913 var currentTime = fxNow || createFxNow(), 13914 remaining = Math.max( 0, animation.startTime + animation.duration - currentTime ), 13915 13916 // Support: Android 2.3 only 13917 // Archaic crash bug won't allow us to use `1 - ( 0.5 || 0 )` (#12497) 13918 temp = remaining / animation.duration || 0, 13919 percent = 1 - temp, 13920 index = 0, 13921 length = animation.tweens.length; 13922 13923 for ( ; index < length; index++ ) { 13924 animation.tweens[ index ].run( percent ); 13925 } 13926 13927 deferred.notifyWith( elem, [ animation, percent, remaining ] ); 13928 13929 // If there's more to do, yield 13930 if ( percent < 1 && length ) { 13931 return remaining; 13932 } 13933 13934 // If this was an empty animation, synthesize a final progress notification 13935 if ( !length ) { 13936 deferred.notifyWith( elem, [ animation, 1, 0 ] ); 13937 } 13938 13939 // Resolve the animation and report its conclusion 13940 deferred.resolveWith( elem, [ animation ] ); 13941 return false; 13942 }, 13943 animation = deferred.promise( { 13944 elem: elem, 13945 props: jQuery.extend( {}, properties ), 13946 opts: jQuery.extend( true, { 13947 specialEasing: {}, 13948 easing: jQuery.easing._default 13949 }, options ), 13950 originalProperties: properties, 13951 originalOptions: options, 13952 startTime: fxNow || createFxNow(), 13953 duration: options.duration, 13954 tweens: [], 13955 createTween: function( prop, end ) { 13956 var tween = jQuery.Tween( elem, animation.opts, prop, end, 13957 animation.opts.specialEasing[ prop ] || animation.opts.easing ); 13958 animation.tweens.push( tween ); 13959 return tween; 13960 }, 13961 stop: function( gotoEnd ) { 13962 var index = 0, 13963 13964 // If we are going to the end, we want to run all the tweens 13965 // otherwise we skip this part 13966 length = gotoEnd ? animation.tweens.length : 0; 13967 if ( stopped ) { 13968 return this; 13969 } 13970 stopped = true; 13971 for ( ; index < length; index++ ) { 13972 animation.tweens[ index ].run( 1 ); 13973 } 13974 13975 // Resolve when we played the last frame; otherwise, reject 13976 if ( gotoEnd ) { 13977 deferred.notifyWith( elem, [ animation, 1, 0 ] ); 13978 deferred.resolveWith( elem, [ animation, gotoEnd ] ); 13979 } else { 13980 deferred.rejectWith( elem, [ animation, gotoEnd ] ); 13981 } 13982 return this; 13983 } 13984 } ), 13985 props = animation.props; 13986 13987 propFilter( props, animation.opts.specialEasing ); 13988 13989 for ( ; index < length; index++ ) { 13990 result = Animation.prefilters[ index ].call( animation, elem, props, animation.opts ); 13991 if ( result ) { 13992 if ( isFunction( result.stop ) ) { 13993 jQuery._queueHooks( animation.elem, animation.opts.queue ).stop = 13994 result.stop.bind( result ); 13995 } 13996 return result; 13997 } 13998 } 13999 14000 jQuery.map( props, createTween, animation ); 14001 14002 if ( isFunction( animation.opts.start ) ) { 14003 animation.opts.start.call( elem, animation ); 14004 } 14005 14006 // Attach callbacks from options 14007 animation 14008 .progress( animation.opts.progress ) 14009 .done( animation.opts.done, animation.opts.complete ) 14010 .fail( animation.opts.fail ) 14011 .always( animation.opts.always ); 14012 14013 jQuery.fx.timer( 14014 jQuery.extend( tick, { 14015 elem: elem, 14016 anim: animation, 14017 queue: animation.opts.queue 14018 } ) 14019 ); 14020 14021 return animation; 14022} 14023 14024jQuery.Animation = jQuery.extend( Animation, { 14025 14026 tweeners: { 14027 "*": [ function( prop, value ) { 14028 var tween = this.createTween( prop, value ); 14029 adjustCSS( tween.elem, prop, rcssNum.exec( value ), tween ); 14030 return tween; 14031 } ] 14032 }, 14033 14034 tweener: function( props, callback ) { 14035 if ( isFunction( props ) ) { 14036 callback = props; 14037 props = [ "*" ]; 14038 } else { 14039 props = props.match( rnothtmlwhite ); 14040 } 14041 14042 var prop, 14043 index = 0, 14044 length = props.length; 14045 14046 for ( ; index < length; index++ ) { 14047 prop = props[ index ]; 14048 Animation.tweeners[ prop ] = Animation.tweeners[ prop ] || []; 14049 Animation.tweeners[ prop ].unshift( callback ); 14050 } 14051 }, 14052 14053 prefilters: [ defaultPrefilter ], 14054 14055 prefilter: function( callback, prepend ) { 14056 if ( prepend ) { 14057 Animation.prefilters.unshift( callback ); 14058 } else { 14059 Animation.prefilters.push( callback ); 14060 } 14061 } 14062} ); 14063 14064jQuery.speed = function( speed, easing, fn ) { 14065 var opt = speed && typeof speed === "object" ? jQuery.extend( {}, speed ) : { 14066 complete: fn || !fn && easing || 14067 isFunction( speed ) && speed, 14068 duration: speed, 14069 easing: fn && easing || easing && !isFunction( easing ) && easing 14070 }; 14071 14072 // Go to the end state if fx are off 14073 if ( jQuery.fx.off ) { 14074 opt.duration = 0; 14075 14076 } else { 14077 if ( typeof opt.duration !== "number" ) { 14078 if ( opt.duration in jQuery.fx.speeds ) { 14079 opt.duration = jQuery.fx.speeds[ opt.duration ]; 14080 14081 } else { 14082 opt.duration = jQuery.fx.speeds._default; 14083 } 14084 } 14085 } 14086 14087 // Normalize opt.queue - true/undefined/null -> "fx" 14088 if ( opt.queue == null || opt.queue === true ) { 14089 opt.queue = "fx"; 14090 } 14091 14092 // Queueing 14093 opt.old = opt.complete; 14094 14095 opt.complete = function() { 14096 if ( isFunction( opt.old ) ) { 14097 opt.old.call( this ); 14098 } 14099 14100 if ( opt.queue ) { 14101 jQuery.dequeue( this, opt.queue ); 14102 } 14103 }; 14104 14105 return opt; 14106}; 14107 14108jQuery.fn.extend( { 14109 fadeTo: function( speed, to, easing, callback ) { 14110 14111 // Show any hidden elements after setting opacity to 0 14112 return this.filter( isHiddenWithinTree ).css( "opacity", 0 ).show() 14113 14114 // Animate to the value specified 14115 .end().animate( { opacity: to }, speed, easing, callback ); 14116 }, 14117 animate: function( prop, speed, easing, callback ) { 14118 var empty = jQuery.isEmptyObject( prop ), 14119 optall = jQuery.speed( speed, easing, callback ), 14120 doAnimation = function() { 14121 14122 // Operate on a copy of prop so per-property easing won't be lost 14123 var anim = Animation( this, jQuery.extend( {}, prop ), optall ); 14124 14125 // Empty animations, or finishing resolves immediately 14126 if ( empty || dataPriv.get( this, "finish" ) ) { 14127 anim.stop( true ); 14128 } 14129 }; 14130 14131 doAnimation.finish = doAnimation; 14132 14133 return empty || optall.queue === false ? 14134 this.each( doAnimation ) : 14135 this.queue( optall.queue, doAnimation ); 14136 }, 14137 stop: function( type, clearQueue, gotoEnd ) { 14138 var stopQueue = function( hooks ) { 14139 var stop = hooks.stop; 14140 delete hooks.stop; 14141 stop( gotoEnd ); 14142 }; 14143 14144 if ( typeof type !== "string" ) { 14145 gotoEnd = clearQueue; 14146 clearQueue = type; 14147 type = undefined; 14148 } 14149 if ( clearQueue ) { 14150 this.queue( type || "fx", [] ); 14151 } 14152 14153 return this.each( function() { 14154 var dequeue = true, 14155 index = type != null && type + "queueHooks", 14156 timers = jQuery.timers, 14157 data = dataPriv.get( this ); 14158 14159 if ( index ) { 14160 if ( data[ index ] && data[ index ].stop ) { 14161 stopQueue( data[ index ] ); 14162 } 14163 } else { 14164 for ( index in data ) { 14165 if ( data[ index ] && data[ index ].stop && rrun.test( index ) ) { 14166 stopQueue( data[ index ] ); 14167 } 14168 } 14169 } 14170 14171 for ( index = timers.length; index--; ) { 14172 if ( timers[ index ].elem === this && 14173 ( type == null || timers[ index ].queue === type ) ) { 14174 14175 timers[ index ].anim.stop( gotoEnd ); 14176 dequeue = false; 14177 timers.splice( index, 1 ); 14178 } 14179 } 14180 14181 // Start the next in the queue if the last step wasn't forced. 14182 // Timers currently will call their complete callbacks, which 14183 // will dequeue but only if they were gotoEnd. 14184 if ( dequeue || !gotoEnd ) { 14185 jQuery.dequeue( this, type ); 14186 } 14187 } ); 14188 }, 14189 finish: function( type ) { 14190 if ( type !== false ) { 14191 type = type || "fx"; 14192 } 14193 return this.each( function() { 14194 var index, 14195 data = dataPriv.get( this ), 14196 queue = data[ type + "queue" ], 14197 hooks = data[ type + "queueHooks" ], 14198 timers = jQuery.timers, 14199 length = queue ? queue.length : 0; 14200 14201 // Enable finishing flag on private data 14202 data.finish = true; 14203 14204 // Empty the queue first 14205 jQuery.queue( this, type, [] ); 14206 14207 if ( hooks && hooks.stop ) { 14208 hooks.stop.call( this, true ); 14209 } 14210 14211 // Look for any active animations, and finish them 14212 for ( index = timers.length; index--; ) { 14213 if ( timers[ index ].elem === this && timers[ index ].queue === type ) { 14214 timers[ index ].anim.stop( true ); 14215 timers.splice( index, 1 ); 14216 } 14217 } 14218 14219 // Look for any animations in the old queue and finish them 14220 for ( index = 0; index < length; index++ ) { 14221 if ( queue[ index ] && queue[ index ].finish ) { 14222 queue[ index ].finish.call( this ); 14223 } 14224 } 14225 14226 // Turn off finishing flag 14227 delete data.finish; 14228 } ); 14229 } 14230} ); 14231 14232jQuery.each( [ "toggle", "show", "hide" ], function( _i, name ) { 14233 var cssFn = jQuery.fn[ name ]; 14234 jQuery.fn[ name ] = function( speed, easing, callback ) { 14235 return speed == null || typeof speed === "boolean" ? 14236 cssFn.apply( this, arguments ) : 14237 this.animate( genFx( name, true ), speed, easing, callback ); 14238 }; 14239} ); 14240 14241// Generate shortcuts for custom animations 14242jQuery.each( { 14243 slideDown: genFx( "show" ), 14244 slideUp: genFx( "hide" ), 14245 slideToggle: genFx( "toggle" ), 14246 fadeIn: { opacity: "show" }, 14247 fadeOut: { opacity: "hide" }, 14248 fadeToggle: { opacity: "toggle" } 14249}, function( name, props ) { 14250 jQuery.fn[ name ] = function( speed, easing, callback ) { 14251 return this.animate( props, speed, easing, callback ); 14252 }; 14253} ); 14254 14255jQuery.timers = []; 14256jQuery.fx.tick = function() { 14257 var timer, 14258 i = 0, 14259 timers = jQuery.timers; 14260 14261 fxNow = Date.now(); 14262 14263 for ( ; i < timers.length; i++ ) { 14264 timer = timers[ i ]; 14265 14266 // Run the timer and safely remove it when done (allowing for external removal) 14267 if ( !timer() && timers[ i ] === timer ) { 14268 timers.splice( i--, 1 ); 14269 } 14270 } 14271 14272 if ( !timers.length ) { 14273 jQuery.fx.stop(); 14274 } 14275 fxNow = undefined; 14276}; 14277 14278jQuery.fx.timer = function( timer ) { 14279 jQuery.timers.push( timer ); 14280 jQuery.fx.start(); 14281}; 14282 14283jQuery.fx.interval = 13; 14284jQuery.fx.start = function() { 14285 if ( inProgress ) { 14286 return; 14287 } 14288 14289 inProgress = true; 14290 schedule(); 14291}; 14292 14293jQuery.fx.stop = function() { 14294 inProgress = null; 14295}; 14296 14297jQuery.fx.speeds = { 14298 slow: 600, 14299 fast: 200, 14300 14301 // Default speed 14302 _default: 400 14303}; 14304 14305 14306// Based off of the plugin by Clint Helfers, with permission. 14307// https://web.archive.org/web/20100324014747/http://blindsignals.com/index.php/2009/07/jquery-delay/ 14308jQuery.fn.delay = function( time, type ) { 14309 time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time; 14310 type = type || "fx"; 14311 14312 return this.queue( type, function( next, hooks ) { 14313 var timeout = window.setTimeout( next, time ); 14314 hooks.stop = function() { 14315 window.clearTimeout( timeout ); 14316 }; 14317 } ); 14318}; 14319 14320 14321( function() { 14322 var input = document.createElement( "input" ), 14323 select = document.createElement( "select" ), 14324 opt = select.appendChild( document.createElement( "option" ) ); 14325 14326 input.type = "checkbox"; 14327 14328 // Support: Android <=4.3 only 14329 // Default value for a checkbox should be "on" 14330 support.checkOn = input.value !== ""; 14331 14332 // Support: IE <=11 only 14333 // Must access selectedIndex to make default options select 14334 support.optSelected = opt.selected; 14335 14336 // Support: IE <=11 only 14337 // An input loses its value after becoming a radio 14338 input = document.createElement( "input" ); 14339 input.value = "t"; 14340 input.type = "radio"; 14341 support.radioValue = input.value === "t"; 14342} )(); 14343 14344 14345var boolHook, 14346 attrHandle = jQuery.expr.attrHandle; 14347 14348jQuery.fn.extend( { 14349 attr: function( name, value ) { 14350 return access( this, jQuery.attr, name, value, arguments.length > 1 ); 14351 }, 14352 14353 removeAttr: function( name ) { 14354 return this.each( function() { 14355 jQuery.removeAttr( this, name ); 14356 } ); 14357 } 14358} ); 14359 14360jQuery.extend( { 14361 attr: function( elem, name, value ) { 14362 var ret, hooks, 14363 nType = elem.nodeType; 14364 14365 // Don't get/set attributes on text, comment and attribute nodes 14366 if ( nType === 3 || nType === 8 || nType === 2 ) { 14367 return; 14368 } 14369 14370 // Fallback to prop when attributes are not supported 14371 if ( typeof elem.getAttribute === "undefined" ) { 14372 return jQuery.prop( elem, name, value ); 14373 } 14374 14375 // Attribute hooks are determined by the lowercase version 14376 // Grab necessary hook if one is defined 14377 if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) { 14378 hooks = jQuery.attrHooks[ name.toLowerCase() ] || 14379 ( jQuery.expr.match.bool.test( name ) ? boolHook : undefined ); 14380 } 14381 14382 if ( value !== undefined ) { 14383 if ( value === null ) { 14384 jQuery.removeAttr( elem, name ); 14385 return; 14386 } 14387 14388 if ( hooks && "set" in hooks && 14389 ( ret = hooks.set( elem, value, name ) ) !== undefined ) { 14390 return ret; 14391 } 14392 14393 elem.setAttribute( name, value + "" ); 14394 return value; 14395 } 14396 14397 if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) { 14398 return ret; 14399 } 14400 14401 ret = jQuery.find.attr( elem, name ); 14402 14403 // Non-existent attributes return null, we normalize to undefined 14404 return ret == null ? undefined : ret; 14405 }, 14406 14407 attrHooks: { 14408 type: { 14409 set: function( elem, value ) { 14410 if ( !support.radioValue && value === "radio" && 14411 nodeName( elem, "input" ) ) { 14412 var val = elem.value; 14413 elem.setAttribute( "type", value ); 14414 if ( val ) { 14415 elem.value = val; 14416 } 14417 return value; 14418 } 14419 } 14420 } 14421 }, 14422 14423 removeAttr: function( elem, value ) { 14424 var name, 14425 i = 0, 14426 14427 // Attribute names can contain non-HTML whitespace characters 14428 // https://html.spec.whatwg.org/multipage/syntax.html#attributes-2 14429 attrNames = value && value.match( rnothtmlwhite ); 14430 14431 if ( attrNames && elem.nodeType === 1 ) { 14432 while ( ( name = attrNames[ i++ ] ) ) { 14433 elem.removeAttribute( name ); 14434 } 14435 } 14436 } 14437} ); 14438 14439// Hooks for boolean attributes 14440boolHook = { 14441 set: function( elem, value, name ) { 14442 if ( value === false ) { 14443 14444 // Remove boolean attributes when set to false 14445 jQuery.removeAttr( elem, name ); 14446 } else { 14447 elem.setAttribute( name, name ); 14448 } 14449 return name; 14450 } 14451}; 14452 14453jQuery.each( jQuery.expr.match.bool.source.match( /\w+/g ), function( _i, name ) { 14454 var getter = attrHandle[ name ] || jQuery.find.attr; 14455 14456 attrHandle[ name ] = function( elem, name, isXML ) { 14457 var ret, handle, 14458 lowercaseName = name.toLowerCase(); 14459 14460 if ( !isXML ) { 14461 14462 // Avoid an infinite loop by temporarily removing this function from the getter 14463 handle = attrHandle[ lowercaseName ]; 14464 attrHandle[ lowercaseName ] = ret; 14465 ret = getter( elem, name, isXML ) != null ? 14466 lowercaseName : 14467 null; 14468 attrHandle[ lowercaseName ] = handle; 14469 } 14470 return ret; 14471 }; 14472} ); 14473 14474 14475 14476 14477var rfocusable = /^(?:input|select|textarea|button)$/i, 14478 rclickable = /^(?:a|area)$/i; 14479 14480jQuery.fn.extend( { 14481 prop: function( name, value ) { 14482 return access( this, jQuery.prop, name, value, arguments.length > 1 ); 14483 }, 14484 14485 removeProp: function( name ) { 14486 return this.each( function() { 14487 delete this[ jQuery.propFix[ name ] || name ]; 14488 } ); 14489 } 14490} ); 14491 14492jQuery.extend( { 14493 prop: function( elem, name, value ) { 14494 var ret, hooks, 14495 nType = elem.nodeType; 14496 14497 // Don't get/set properties on text, comment and attribute nodes 14498 if ( nType === 3 || nType === 8 || nType === 2 ) { 14499 return; 14500 } 14501 14502 if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) { 14503 14504 // Fix name and attach hooks 14505 name = jQuery.propFix[ name ] || name; 14506 hooks = jQuery.propHooks[ name ]; 14507 } 14508 14509 if ( value !== undefined ) { 14510 if ( hooks && "set" in hooks && 14511 ( ret = hooks.set( elem, value, name ) ) !== undefined ) { 14512 return ret; 14513 } 14514 14515 return ( elem[ name ] = value ); 14516 } 14517 14518 if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) { 14519 return ret; 14520 } 14521 14522 return elem[ name ]; 14523 }, 14524 14525 propHooks: { 14526 tabIndex: { 14527 get: function( elem ) { 14528 14529 // Support: IE <=9 - 11 only 14530 // elem.tabIndex doesn't always return the 14531 // correct value when it hasn't been explicitly set 14532 // https://web.archive.org/web/20141116233347/http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/ 14533 // Use proper attribute retrieval(#12072) 14534 var tabindex = jQuery.find.attr( elem, "tabindex" ); 14535 14536 if ( tabindex ) { 14537 return parseInt( tabindex, 10 ); 14538 } 14539 14540 if ( 14541 rfocusable.test( elem.nodeName ) || 14542 rclickable.test( elem.nodeName ) && 14543 elem.href 14544 ) { 14545 return 0; 14546 } 14547 14548 return -1; 14549 } 14550 } 14551 }, 14552 14553 propFix: { 14554 "for": "htmlFor", 14555 "class": "className" 14556 } 14557} ); 14558 14559// Support: IE <=11 only 14560// Accessing the selectedIndex property 14561// forces the browser to respect setting selected 14562// on the option 14563// The getter ensures a default option is selected 14564// when in an optgroup 14565// eslint rule "no-unused-expressions" is disabled for this code 14566// since it considers such accessions noop 14567if ( !support.optSelected ) { 14568 jQuery.propHooks.selected = { 14569 get: function( elem ) { 14570 14571 /* eslint no-unused-expressions: "off" */ 14572 14573 var parent = elem.parentNode; 14574 if ( parent && parent.parentNode ) { 14575 parent.parentNode.selectedIndex; 14576 } 14577 return null; 14578 }, 14579 set: function( elem ) { 14580 14581 /* eslint no-unused-expressions: "off" */ 14582 14583 var parent = elem.parentNode; 14584 if ( parent ) { 14585 parent.selectedIndex; 14586 14587 if ( parent.parentNode ) { 14588 parent.parentNode.selectedIndex; 14589 } 14590 } 14591 } 14592 }; 14593} 14594 14595jQuery.each( [ 14596 "tabIndex", 14597 "readOnly", 14598 "maxLength", 14599 "cellSpacing", 14600 "cellPadding", 14601 "rowSpan", 14602 "colSpan", 14603 "useMap", 14604 "frameBorder", 14605 "contentEditable" 14606], function() { 14607 jQuery.propFix[ this.toLowerCase() ] = this; 14608} ); 14609 14610 14611 14612 14613 // Strip and collapse whitespace according to HTML spec 14614 // https://infra.spec.whatwg.org/#strip-and-collapse-ascii-whitespace 14615 function stripAndCollapse( value ) { 14616 var tokens = value.match( rnothtmlwhite ) || []; 14617 return tokens.join( " " ); 14618 } 14619 14620 14621function getClass( elem ) { 14622 return elem.getAttribute && elem.getAttribute( "class" ) || ""; 14623} 14624 14625function classesToArray( value ) { 14626 if ( Array.isArray( value ) ) { 14627 return value; 14628 } 14629 if ( typeof value === "string" ) { 14630 return value.match( rnothtmlwhite ) || []; 14631 } 14632 return []; 14633} 14634 14635jQuery.fn.extend( { 14636 addClass: function( value ) { 14637 var classes, elem, cur, curValue, clazz, j, finalValue, 14638 i = 0; 14639 14640 if ( isFunction( value ) ) { 14641 return this.each( function( j ) { 14642 jQuery( this ).addClass( value.call( this, j, getClass( this ) ) ); 14643 } ); 14644 } 14645 14646 classes = classesToArray( value ); 14647 14648 if ( classes.length ) { 14649 while ( ( elem = this[ i++ ] ) ) { 14650 curValue = getClass( elem ); 14651 cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " ); 14652 14653 if ( cur ) { 14654 j = 0; 14655 while ( ( clazz = classes[ j++ ] ) ) { 14656 if ( cur.indexOf( " " + clazz + " " ) < 0 ) { 14657 cur += clazz + " "; 14658 } 14659 } 14660 14661 // Only assign if different to avoid unneeded rendering. 14662 finalValue = stripAndCollapse( cur ); 14663 if ( curValue !== finalValue ) { 14664 elem.setAttribute( "class", finalValue ); 14665 } 14666 } 14667 } 14668 } 14669 14670 return this; 14671 }, 14672 14673 removeClass: function( value ) { 14674 var classes, elem, cur, curValue, clazz, j, finalValue, 14675 i = 0; 14676 14677 if ( isFunction( value ) ) { 14678 return this.each( function( j ) { 14679 jQuery( this ).removeClass( value.call( this, j, getClass( this ) ) ); 14680 } ); 14681 } 14682 14683 if ( !arguments.length ) { 14684 return this.attr( "class", "" ); 14685 } 14686 14687 classes = classesToArray( value ); 14688 14689 if ( classes.length ) { 14690 while ( ( elem = this[ i++ ] ) ) { 14691 curValue = getClass( elem ); 14692 14693 // This expression is here for better compressibility (see addClass) 14694 cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " ); 14695 14696 if ( cur ) { 14697 j = 0; 14698 while ( ( clazz = classes[ j++ ] ) ) { 14699 14700 // Remove *all* instances 14701 while ( cur.indexOf( " " + clazz + " " ) > -1 ) { 14702 cur = cur.replace( " " + clazz + " ", " " ); 14703 } 14704 } 14705 14706 // Only assign if different to avoid unneeded rendering. 14707 finalValue = stripAndCollapse( cur ); 14708 if ( curValue !== finalValue ) { 14709 elem.setAttribute( "class", finalValue ); 14710 } 14711 } 14712 } 14713 } 14714 14715 return this; 14716 }, 14717 14718 toggleClass: function( value, stateVal ) { 14719 var type = typeof value, 14720 isValidValue = type === "string" || Array.isArray( value ); 14721 14722 if ( typeof stateVal === "boolean" && isValidValue ) { 14723 return stateVal ? this.addClass( value ) : this.removeClass( value ); 14724 } 14725 14726 if ( isFunction( value ) ) { 14727 return this.each( function( i ) { 14728 jQuery( this ).toggleClass( 14729 value.call( this, i, getClass( this ), stateVal ), 14730 stateVal 14731 ); 14732 } ); 14733 } 14734 14735 return this.each( function() { 14736 var className, i, self, classNames; 14737 14738 if ( isValidValue ) { 14739 14740 // Toggle individual class names 14741 i = 0; 14742 self = jQuery( this ); 14743 classNames = classesToArray( value ); 14744 14745 while ( ( className = classNames[ i++ ] ) ) { 14746 14747 // Check each className given, space separated list 14748 if ( self.hasClass( className ) ) { 14749 self.removeClass( className ); 14750 } else { 14751 self.addClass( className ); 14752 } 14753 } 14754 14755 // Toggle whole class name 14756 } else if ( value === undefined || type === "boolean" ) { 14757 className = getClass( this ); 14758 if ( className ) { 14759 14760 // Store className if set 14761 dataPriv.set( this, "__className__", className ); 14762 } 14763 14764 // If the element has a class name or if we're passed `false`, 14765 // then remove the whole classname (if there was one, the above saved it). 14766 // Otherwise bring back whatever was previously saved (if anything), 14767 // falling back to the empty string if nothing was stored. 14768 if ( this.setAttribute ) { 14769 this.setAttribute( "class", 14770 className || value === false ? 14771 "" : 14772 dataPriv.get( this, "__className__" ) || "" 14773 ); 14774 } 14775 } 14776 } ); 14777 }, 14778 14779 hasClass: function( selector ) { 14780 var className, elem, 14781 i = 0; 14782 14783 className = " " + selector + " "; 14784 while ( ( elem = this[ i++ ] ) ) { 14785 if ( elem.nodeType === 1 && 14786 ( " " + stripAndCollapse( getClass( elem ) ) + " " ).indexOf( className ) > -1 ) { 14787 return true; 14788 } 14789 } 14790 14791 return false; 14792 } 14793} ); 14794 14795 14796 14797 14798var rreturn = /\r/g; 14799 14800jQuery.fn.extend( { 14801 val: function( value ) { 14802 var hooks, ret, valueIsFunction, 14803 elem = this[ 0 ]; 14804 14805 if ( !arguments.length ) { 14806 if ( elem ) { 14807 hooks = jQuery.valHooks[ elem.type ] || 14808 jQuery.valHooks[ elem.nodeName.toLowerCase() ]; 14809 14810 if ( hooks && 14811 "get" in hooks && 14812 ( ret = hooks.get( elem, "value" ) ) !== undefined 14813 ) { 14814 return ret; 14815 } 14816 14817 ret = elem.value; 14818 14819 // Handle most common string cases 14820 if ( typeof ret === "string" ) { 14821 return ret.replace( rreturn, "" ); 14822 } 14823 14824 // Handle cases where value is null/undef or number 14825 return ret == null ? "" : ret; 14826 } 14827 14828 return; 14829 } 14830 14831 valueIsFunction = isFunction( value ); 14832 14833 return this.each( function( i ) { 14834 var val; 14835 14836 if ( this.nodeType !== 1 ) { 14837 return; 14838 } 14839 14840 if ( valueIsFunction ) { 14841 val = value.call( this, i, jQuery( this ).val() ); 14842 } else { 14843 val = value; 14844 } 14845 14846 // Treat null/undefined as ""; convert numbers to string 14847 if ( val == null ) { 14848 val = ""; 14849 14850 } else if ( typeof val === "number" ) { 14851 val += ""; 14852 14853 } else if ( Array.isArray( val ) ) { 14854 val = jQuery.map( val, function( value ) { 14855 return value == null ? "" : value + ""; 14856 } ); 14857 } 14858 14859 hooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ]; 14860 14861 // If set returns undefined, fall back to normal setting 14862 if ( !hooks || !( "set" in hooks ) || hooks.set( this, val, "value" ) === undefined ) { 14863 this.value = val; 14864 } 14865 } ); 14866 } 14867} ); 14868 14869jQuery.extend( { 14870 valHooks: { 14871 option: { 14872 get: function( elem ) { 14873 14874 var val = jQuery.find.attr( elem, "value" ); 14875 return val != null ? 14876 val : 14877 14878 // Support: IE <=10 - 11 only 14879 // option.text throws exceptions (#14686, #14858) 14880 // Strip and collapse whitespace 14881 // https://html.spec.whatwg.org/#strip-and-collapse-whitespace 14882 stripAndCollapse( jQuery.text( elem ) ); 14883 } 14884 }, 14885 select: { 14886 get: function( elem ) { 14887 var value, option, i, 14888 options = elem.options, 14889 index = elem.selectedIndex, 14890 one = elem.type === "select-one", 14891 values = one ? null : [], 14892 max = one ? index + 1 : options.length; 14893 14894 if ( index < 0 ) { 14895 i = max; 14896 14897 } else { 14898 i = one ? index : 0; 14899 } 14900 14901 // Loop through all the selected options 14902 for ( ; i < max; i++ ) { 14903 option = options[ i ]; 14904 14905 // Support: IE <=9 only 14906 // IE8-9 doesn't update selected after form reset (#2551) 14907 if ( ( option.selected || i === index ) && 14908 14909 // Don't return options that are disabled or in a disabled optgroup 14910 !option.disabled && 14911 ( !option.parentNode.disabled || 14912 !nodeName( option.parentNode, "optgroup" ) ) ) { 14913 14914 // Get the specific value for the option 14915 value = jQuery( option ).val(); 14916 14917 // We don't need an array for one selects 14918 if ( one ) { 14919 return value; 14920 } 14921 14922 // Multi-Selects return an array 14923 values.push( value ); 14924 } 14925 } 14926 14927 return values; 14928 }, 14929 14930 set: function( elem, value ) { 14931 var optionSet, option, 14932 options = elem.options, 14933 values = jQuery.makeArray( value ), 14934 i = options.length; 14935 14936 while ( i-- ) { 14937 option = options[ i ]; 14938 14939 /* eslint-disable no-cond-assign */ 14940 14941 if ( option.selected = 14942 jQuery.inArray( jQuery.valHooks.option.get( option ), values ) > -1 14943 ) { 14944 optionSet = true; 14945 } 14946 14947 /* eslint-enable no-cond-assign */ 14948 } 14949 14950 // Force browsers to behave consistently when non-matching value is set 14951 if ( !optionSet ) { 14952 elem.selectedIndex = -1; 14953 } 14954 return values; 14955 } 14956 } 14957 } 14958} ); 14959 14960// Radios and checkboxes getter/setter 14961jQuery.each( [ "radio", "checkbox" ], function() { 14962 jQuery.valHooks[ this ] = { 14963 set: function( elem, value ) { 14964 if ( Array.isArray( value ) ) { 14965 return ( elem.checked = jQuery.inArray( jQuery( elem ).val(), value ) > -1 ); 14966 } 14967 } 14968 }; 14969 if ( !support.checkOn ) { 14970 jQuery.valHooks[ this ].get = function( elem ) { 14971 return elem.getAttribute( "value" ) === null ? "on" : elem.value; 14972 }; 14973 } 14974} ); 14975 14976 14977 14978 14979// Return jQuery for attributes-only inclusion 14980 14981 14982support.focusin = "onfocusin" in window; 14983 14984 14985var rfocusMorph = /^(?:focusinfocus|focusoutblur)$/, 14986 stopPropagationCallback = function( e ) { 14987 e.stopPropagation(); 14988 }; 14989 14990jQuery.extend( jQuery.event, { 14991 14992 trigger: function( event, data, elem, onlyHandlers ) { 14993 14994 var i, cur, tmp, bubbleType, ontype, handle, special, lastElement, 14995 eventPath = [ elem || document ], 14996 type = hasOwn.call( event, "type" ) ? event.type : event, 14997 namespaces = hasOwn.call( event, "namespace" ) ? event.namespace.split( "." ) : []; 14998 14999 cur = lastElement = tmp = elem = elem || document; 15000 15001 // Don't do events on text and comment nodes 15002 if ( elem.nodeType === 3 || elem.nodeType === 8 ) { 15003 return; 15004 } 15005 15006 // focus/blur morphs to focusin/out; ensure we're not firing them right now 15007 if ( rfocusMorph.test( type + jQuery.event.triggered ) ) { 15008 return; 15009 } 15010 15011 if ( type.indexOf( "." ) > -1 ) { 15012 15013 // Namespaced trigger; create a regexp to match event type in handle() 15014 namespaces = type.split( "." ); 15015 type = namespaces.shift(); 15016 namespaces.sort(); 15017 } 15018 ontype = type.indexOf( ":" ) < 0 && "on" + type; 15019 15020 // Caller can pass in a jQuery.Event object, Object, or just an event type string 15021 event = event[ jQuery.expando ] ? 15022 event : 15023 new jQuery.Event( type, typeof event === "object" && event ); 15024 15025 // Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true) 15026 event.isTrigger = onlyHandlers ? 2 : 3; 15027 event.namespace = namespaces.join( "." ); 15028 event.rnamespace = event.namespace ? 15029 new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ) : 15030 null; 15031 15032 // Clean up the event in case it is being reused 15033 event.result = undefined; 15034 if ( !event.target ) { 15035 event.target = elem; 15036 } 15037 15038 // Clone any incoming data and prepend the event, creating the handler arg list 15039 data = data == null ? 15040 [ event ] : 15041 jQuery.makeArray( data, [ event ] ); 15042 15043 // Allow special events to draw outside the lines 15044 special = jQuery.event.special[ type ] || {}; 15045 if ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) { 15046 return; 15047 } 15048 15049 // Determine event propagation path in advance, per W3C events spec (#9951) 15050 // Bubble up to document, then to window; watch for a global ownerDocument var (#9724) 15051 if ( !onlyHandlers && !special.noBubble && !isWindow( elem ) ) { 15052 15053 bubbleType = special.delegateType || type; 15054 if ( !rfocusMorph.test( bubbleType + type ) ) { 15055 cur = cur.parentNode; 15056 } 15057 for ( ; cur; cur = cur.parentNode ) { 15058 eventPath.push( cur ); 15059 tmp = cur; 15060 } 15061 15062 // Only add window if we got to document (e.g., not plain obj or detached DOM) 15063 if ( tmp === ( elem.ownerDocument || document ) ) { 15064 eventPath.push( tmp.defaultView || tmp.parentWindow || window ); 15065 } 15066 } 15067 15068 // Fire handlers on the event path 15069 i = 0; 15070 while ( ( cur = eventPath[ i++ ] ) && !event.isPropagationStopped() ) { 15071 lastElement = cur; 15072 event.type = i > 1 ? 15073 bubbleType : 15074 special.bindType || type; 15075 15076 // jQuery handler 15077 handle = ( dataPriv.get( cur, "events" ) || Object.create( null ) )[ event.type ] && 15078 dataPriv.get( cur, "handle" ); 15079 if ( handle ) { 15080 handle.apply( cur, data ); 15081 } 15082 15083 // Native handler 15084 handle = ontype && cur[ ontype ]; 15085 if ( handle && handle.apply && acceptData( cur ) ) { 15086 event.result = handle.apply( cur, data ); 15087 if ( event.result === false ) { 15088 event.preventDefault(); 15089 } 15090 } 15091 } 15092 event.type = type; 15093 15094 // If nobody prevented the default action, do it now 15095 if ( !onlyHandlers && !event.isDefaultPrevented() ) { 15096 15097 if ( ( !special._default || 15098 special._default.apply( eventPath.pop(), data ) === false ) && 15099 acceptData( elem ) ) { 15100 15101 // Call a native DOM method on the target with the same name as the event. 15102 // Don't do default actions on window, that's where global variables be (#6170) 15103 if ( ontype && isFunction( elem[ type ] ) && !isWindow( elem ) ) { 15104 15105 // Don't re-trigger an onFOO event when we call its FOO() method 15106 tmp = elem[ ontype ]; 15107 15108 if ( tmp ) { 15109 elem[ ontype ] = null; 15110 } 15111 15112 // Prevent re-triggering of the same event, since we already bubbled it above 15113 jQuery.event.triggered = type; 15114 15115 if ( event.isPropagationStopped() ) { 15116 lastElement.addEventListener( type, stopPropagationCallback ); 15117 } 15118 15119 elem[ type ](); 15120 15121 if ( event.isPropagationStopped() ) { 15122 lastElement.removeEventListener( type, stopPropagationCallback ); 15123 } 15124 15125 jQuery.event.triggered = undefined; 15126 15127 if ( tmp ) { 15128 elem[ ontype ] = tmp; 15129 } 15130 } 15131 } 15132 } 15133 15134 return event.result; 15135 }, 15136 15137 // Piggyback on a donor event to simulate a different one 15138 // Used only for `focus(in | out)` events 15139 simulate: function( type, elem, event ) { 15140 var e = jQuery.extend( 15141 new jQuery.Event(), 15142 event, 15143 { 15144 type: type, 15145 isSimulated: true 15146 } 15147 ); 15148 15149 jQuery.event.trigger( e, null, elem ); 15150 } 15151 15152} ); 15153 15154jQuery.fn.extend( { 15155 15156 trigger: function( type, data ) { 15157 return this.each( function() { 15158 jQuery.event.trigger( type, data, this ); 15159 } ); 15160 }, 15161 triggerHandler: function( type, data ) { 15162 var elem = this[ 0 ]; 15163 if ( elem ) { 15164 return jQuery.event.trigger( type, data, elem, true ); 15165 } 15166 } 15167} ); 15168 15169 15170// Support: Firefox <=44 15171// Firefox doesn't have focus(in | out) events 15172// Related ticket - https://bugzilla.mozilla.org/show_bug.cgi?id=687787 15173// 15174// Support: Chrome <=48 - 49, Safari <=9.0 - 9.1 15175// focus(in | out) events fire after focus & blur events, 15176// which is spec violation - http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order 15177// Related ticket - https://bugs.chromium.org/p/chromium/issues/detail?id=449857 15178if ( !support.focusin ) { 15179 jQuery.each( { focus: "focusin", blur: "focusout" }, function( orig, fix ) { 15180 15181 // Attach a single capturing handler on the document while someone wants focusin/focusout 15182 var handler = function( event ) { 15183 jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ) ); 15184 }; 15185 15186 jQuery.event.special[ fix ] = { 15187 setup: function() { 15188 15189 // Handle: regular nodes (via `this.ownerDocument`), window 15190 // (via `this.document`) & document (via `this`). 15191 var doc = this.ownerDocument || this.document || this, 15192 attaches = dataPriv.access( doc, fix ); 15193 15194 if ( !attaches ) { 15195 doc.addEventListener( orig, handler, true ); 15196 } 15197 dataPriv.access( doc, fix, ( attaches || 0 ) + 1 ); 15198 }, 15199 teardown: function() { 15200 var doc = this.ownerDocument || this.document || this, 15201 attaches = dataPriv.access( doc, fix ) - 1; 15202 15203 if ( !attaches ) { 15204 doc.removeEventListener( orig, handler, true ); 15205 dataPriv.remove( doc, fix ); 15206 15207 } else { 15208 dataPriv.access( doc, fix, attaches ); 15209 } 15210 } 15211 }; 15212 } ); 15213} 15214var location = window.location; 15215 15216var nonce = { guid: Date.now() }; 15217 15218var rquery = ( /\?/ ); 15219 15220 15221 15222// Cross-browser xml parsing 15223jQuery.parseXML = function( data ) { 15224 var xml, parserErrorElem; 15225 if ( !data || typeof data !== "string" ) { 15226 return null; 15227 } 15228 15229 // Support: IE 9 - 11 only 15230 // IE throws on parseFromString with invalid input. 15231 try { 15232 xml = ( new window.DOMParser() ).parseFromString( data, "text/xml" ); 15233 } catch ( e ) {} 15234 15235 parserErrorElem = xml && xml.getElementsByTagName( "parsererror" )[ 0 ]; 15236 if ( !xml || parserErrorElem ) { 15237 jQuery.error( "Invalid XML: " + ( 15238 parserErrorElem ? 15239 jQuery.map( parserErrorElem.childNodes, function( el ) { 15240 return el.textContent; 15241 } ).join( "\n" ) : 15242 data 15243 ) ); 15244 } 15245 return xml; 15246}; 15247 15248 15249var 15250 rbracket = /\[\]$/, 15251 rCRLF = /\r?\n/g, 15252 rsubmitterTypes = /^(?:submit|button|image|reset|file)$/i, 15253 rsubmittable = /^(?:input|select|textarea|keygen)/i; 15254 15255function buildParams( prefix, obj, traditional, add ) { 15256 var name; 15257 15258 if ( Array.isArray( obj ) ) { 15259 15260 // Serialize array item. 15261 jQuery.each( obj, function( i, v ) { 15262 if ( traditional || rbracket.test( prefix ) ) { 15263 15264 // Treat each array item as a scalar. 15265 add( prefix, v ); 15266 15267 } else { 15268 15269 // Item is non-scalar (array or object), encode its numeric index. 15270 buildParams( 15271 prefix + "[" + ( typeof v === "object" && v != null ? i : "" ) + "]", 15272 v, 15273 traditional, 15274 add 15275 ); 15276 } 15277 } ); 15278 15279 } else if ( !traditional && toType( obj ) === "object" ) { 15280 15281 // Serialize object item. 15282 for ( name in obj ) { 15283 buildParams( prefix + "[" + name + "]", obj[ name ], traditional, add ); 15284 } 15285 15286 } else { 15287 15288 // Serialize scalar item. 15289 add( prefix, obj ); 15290 } 15291} 15292 15293// Serialize an array of form elements or a set of 15294// key/values into a query string 15295jQuery.param = function( a, traditional ) { 15296 var prefix, 15297 s = [], 15298 add = function( key, valueOrFunction ) { 15299 15300 // If value is a function, invoke it and use its return value 15301 var value = isFunction( valueOrFunction ) ? 15302 valueOrFunction() : 15303 valueOrFunction; 15304 15305 s[ s.length ] = encodeURIComponent( key ) + "=" + 15306 encodeURIComponent( value == null ? "" : value ); 15307 }; 15308 15309 if ( a == null ) { 15310 return ""; 15311 } 15312 15313 // If an array was passed in, assume that it is an array of form elements. 15314 if ( Array.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) { 15315 15316 // Serialize the form elements 15317 jQuery.each( a, function() { 15318 add( this.name, this.value ); 15319 } ); 15320 15321 } else { 15322 15323 // If traditional, encode the "old" way (the way 1.3.2 or older 15324 // did it), otherwise encode params recursively. 15325 for ( prefix in a ) { 15326 buildParams( prefix, a[ prefix ], traditional, add ); 15327 } 15328 } 15329 15330 // Return the resulting serialization 15331 return s.join( "&" ); 15332}; 15333 15334jQuery.fn.extend( { 15335 serialize: function() { 15336 return jQuery.param( this.serializeArray() ); 15337 }, 15338 serializeArray: function() { 15339 return this.map( function() { 15340 15341 // Can add propHook for "elements" to filter or add form elements 15342 var elements = jQuery.prop( this, "elements" ); 15343 return elements ? jQuery.makeArray( elements ) : this; 15344 } ).filter( function() { 15345 var type = this.type; 15346 15347 // Use .is( ":disabled" ) so that fieldset[disabled] works 15348 return this.name && !jQuery( this ).is( ":disabled" ) && 15349 rsubmittable.test( this.nodeName ) && !rsubmitterTypes.test( type ) && 15350 ( this.checked || !rcheckableType.test( type ) ); 15351 } ).map( function( _i, elem ) { 15352 var val = jQuery( this ).val(); 15353 15354 if ( val == null ) { 15355 return null; 15356 } 15357 15358 if ( Array.isArray( val ) ) { 15359 return jQuery.map( val, function( val ) { 15360 return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; 15361 } ); 15362 } 15363 15364 return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; 15365 } ).get(); 15366 } 15367} ); 15368 15369 15370var 15371 r20 = /%20/g, 15372 rhash = /#.*$/, 15373 rantiCache = /([?&])_=[^&]*/, 15374 rheaders = /^(.*?):[ \t]*([^\r\n]*)$/mg, 15375 15376 // #7653, #8125, #8152: local protocol detection 15377 rlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/, 15378 rnoContent = /^(?:GET|HEAD)$/, 15379 rprotocol = /^\/\//, 15380 15381 /* Prefilters 15382 * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example) 15383 * 2) These are called: 15384 * - BEFORE asking for a transport 15385 * - AFTER param serialization (s.data is a string if s.processData is true) 15386 * 3) key is the dataType 15387 * 4) the catchall symbol "*" can be used 15388 * 5) execution will start with transport dataType and THEN continue down to "*" if needed 15389 */ 15390 prefilters = {}, 15391 15392 /* Transports bindings 15393 * 1) key is the dataType 15394 * 2) the catchall symbol "*" can be used 15395 * 3) selection will start with transport dataType and THEN go to "*" if needed 15396 */ 15397 transports = {}, 15398 15399 // Avoid comment-prolog char sequence (#10098); must appease lint and evade compression 15400 allTypes = "*/".concat( "*" ), 15401 15402 // Anchor tag for parsing the document origin 15403 originAnchor = document.createElement( "a" ); 15404 15405originAnchor.href = location.href; 15406 15407// Base "constructor" for jQuery.ajaxPrefilter and jQuery.ajaxTransport 15408function addToPrefiltersOrTransports( structure ) { 15409 15410 // dataTypeExpression is optional and defaults to "*" 15411 return function( dataTypeExpression, func ) { 15412 15413 if ( typeof dataTypeExpression !== "string" ) { 15414 func = dataTypeExpression; 15415 dataTypeExpression = "*"; 15416 } 15417 15418 var dataType, 15419 i = 0, 15420 dataTypes = dataTypeExpression.toLowerCase().match( rnothtmlwhite ) || []; 15421 15422 if ( isFunction( func ) ) { 15423 15424 // For each dataType in the dataTypeExpression 15425 while ( ( dataType = dataTypes[ i++ ] ) ) { 15426 15427 // Prepend if requested 15428 if ( dataType[ 0 ] === "+" ) { 15429 dataType = dataType.slice( 1 ) || "*"; 15430 ( structure[ dataType ] = structure[ dataType ] || [] ).unshift( func ); 15431 15432 // Otherwise append 15433 } else { 15434 ( structure[ dataType ] = structure[ dataType ] || [] ).push( func ); 15435 } 15436 } 15437 } 15438 }; 15439} 15440 15441// Base inspection function for prefilters and transports 15442function inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR ) { 15443 15444 var inspected = {}, 15445 seekingTransport = ( structure === transports ); 15446 15447 function inspect( dataType ) { 15448 var selected; 15449 inspected[ dataType ] = true; 15450 jQuery.each( structure[ dataType ] || [], function( _, prefilterOrFactory ) { 15451 var dataTypeOrTransport = prefilterOrFactory( options, originalOptions, jqXHR ); 15452 if ( typeof dataTypeOrTransport === "string" && 15453 !seekingTransport && !inspected[ dataTypeOrTransport ] ) { 15454 15455 options.dataTypes.unshift( dataTypeOrTransport ); 15456 inspect( dataTypeOrTransport ); 15457 return false; 15458 } else if ( seekingTransport ) { 15459 return !( selected = dataTypeOrTransport ); 15460 } 15461 } ); 15462 return selected; 15463 } 15464 15465 return inspect( options.dataTypes[ 0 ] ) || !inspected[ "*" ] && inspect( "*" ); 15466} 15467 15468// A special extend for ajax options 15469// that takes "flat" options (not to be deep extended) 15470// Fixes #9887 15471function ajaxExtend( target, src ) { 15472 var key, deep, 15473 flatOptions = jQuery.ajaxSettings.flatOptions || {}; 15474 15475 for ( key in src ) { 15476 if ( src[ key ] !== undefined ) { 15477 ( flatOptions[ key ] ? target : ( deep || ( deep = {} ) ) )[ key ] = src[ key ]; 15478 } 15479 } 15480 if ( deep ) { 15481 jQuery.extend( true, target, deep ); 15482 } 15483 15484 return target; 15485} 15486 15487/* Handles responses to an ajax request: 15488 * - finds the right dataType (mediates between content-type and expected dataType) 15489 * - returns the corresponding response 15490 */ 15491function ajaxHandleResponses( s, jqXHR, responses ) { 15492 15493 var ct, type, finalDataType, firstDataType, 15494 contents = s.contents, 15495 dataTypes = s.dataTypes; 15496 15497 // Remove auto dataType and get content-type in the process 15498 while ( dataTypes[ 0 ] === "*" ) { 15499 dataTypes.shift(); 15500 if ( ct === undefined ) { 15501 ct = s.mimeType || jqXHR.getResponseHeader( "Content-Type" ); 15502 } 15503 } 15504 15505 // Check if we're dealing with a known content-type 15506 if ( ct ) { 15507 for ( type in contents ) { 15508 if ( contents[ type ] && contents[ type ].test( ct ) ) { 15509 dataTypes.unshift( type ); 15510 break; 15511 } 15512 } 15513 } 15514 15515 // Check to see if we have a response for the expected dataType 15516 if ( dataTypes[ 0 ] in responses ) { 15517 finalDataType = dataTypes[ 0 ]; 15518 } else { 15519 15520 // Try convertible dataTypes 15521 for ( type in responses ) { 15522 if ( !dataTypes[ 0 ] || s.converters[ type + " " + dataTypes[ 0 ] ] ) { 15523 finalDataType = type; 15524 break; 15525 } 15526 if ( !firstDataType ) { 15527 firstDataType = type; 15528 } 15529 } 15530 15531 // Or just use first one 15532 finalDataType = finalDataType || firstDataType; 15533 } 15534 15535 // If we found a dataType 15536 // We add the dataType to the list if needed 15537 // and return the corresponding response 15538 if ( finalDataType ) { 15539 if ( finalDataType !== dataTypes[ 0 ] ) { 15540 dataTypes.unshift( finalDataType ); 15541 } 15542 return responses[ finalDataType ]; 15543 } 15544} 15545 15546/* Chain conversions given the request and the original response 15547 * Also sets the responseXXX fields on the jqXHR instance 15548 */ 15549function ajaxConvert( s, response, jqXHR, isSuccess ) { 15550 var conv2, current, conv, tmp, prev, 15551 converters = {}, 15552 15553 // Work with a copy of dataTypes in case we need to modify it for conversion 15554 dataTypes = s.dataTypes.slice(); 15555 15556 // Create converters map with lowercased keys 15557 if ( dataTypes[ 1 ] ) { 15558 for ( conv in s.converters ) { 15559 converters[ conv.toLowerCase() ] = s.converters[ conv ]; 15560 } 15561 } 15562 15563 current = dataTypes.shift(); 15564 15565 // Convert to each sequential dataType 15566 while ( current ) { 15567 15568 if ( s.responseFields[ current ] ) { 15569 jqXHR[ s.responseFields[ current ] ] = response; 15570 } 15571 15572 // Apply the dataFilter if provided 15573 if ( !prev && isSuccess && s.dataFilter ) { 15574 response = s.dataFilter( response, s.dataType ); 15575 } 15576 15577 prev = current; 15578 current = dataTypes.shift(); 15579 15580 if ( current ) { 15581 15582 // There's only work to do if current dataType is non-auto 15583 if ( current === "*" ) { 15584 15585 current = prev; 15586 15587 // Convert response if prev dataType is non-auto and differs from current 15588 } else if ( prev !== "*" && prev !== current ) { 15589 15590 // Seek a direct converter 15591 conv = converters[ prev + " " + current ] || converters[ "* " + current ]; 15592 15593 // If none found, seek a pair 15594 if ( !conv ) { 15595 for ( conv2 in converters ) { 15596 15597 // If conv2 outputs current 15598 tmp = conv2.split( " " ); 15599 if ( tmp[ 1 ] === current ) { 15600 15601 // If prev can be converted to accepted input 15602 conv = converters[ prev + " " + tmp[ 0 ] ] || 15603 converters[ "* " + tmp[ 0 ] ]; 15604 if ( conv ) { 15605 15606 // Condense equivalence converters 15607 if ( conv === true ) { 15608 conv = converters[ conv2 ]; 15609 15610 // Otherwise, insert the intermediate dataType 15611 } else if ( converters[ conv2 ] !== true ) { 15612 current = tmp[ 0 ]; 15613 dataTypes.unshift( tmp[ 1 ] ); 15614 } 15615 break; 15616 } 15617 } 15618 } 15619 } 15620 15621 // Apply converter (if not an equivalence) 15622 if ( conv !== true ) { 15623 15624 // Unless errors are allowed to bubble, catch and return them 15625 if ( conv && s.throws ) { 15626 response = conv( response ); 15627 } else { 15628 try { 15629 response = conv( response ); 15630 } catch ( e ) { 15631 return { 15632 state: "parsererror", 15633 error: conv ? e : "No conversion from " + prev + " to " + current 15634 }; 15635 } 15636 } 15637 } 15638 } 15639 } 15640 } 15641 15642 return { state: "success", data: response }; 15643} 15644 15645jQuery.extend( { 15646 15647 // Counter for holding the number of active queries 15648 active: 0, 15649 15650 // Last-Modified header cache for next request 15651 lastModified: {}, 15652 etag: {}, 15653 15654 ajaxSettings: { 15655 url: location.href, 15656 type: "GET", 15657 isLocal: rlocalProtocol.test( location.protocol ), 15658 global: true, 15659 processData: true, 15660 async: true, 15661 contentType: "application/x-www-form-urlencoded; charset=UTF-8", 15662 15663 /* 15664 timeout: 0, 15665 data: null, 15666 dataType: null, 15667 username: null, 15668 password: null, 15669 cache: null, 15670 throws: false, 15671 traditional: false, 15672 headers: {}, 15673 */ 15674 15675 accepts: { 15676 "*": allTypes, 15677 text: "text/plain", 15678 html: "text/html", 15679 xml: "application/xml, text/xml", 15680 json: "application/json, text/javascript" 15681 }, 15682 15683 contents: { 15684 xml: /\bxml\b/, 15685 html: /\bhtml/, 15686 json: /\bjson\b/ 15687 }, 15688 15689 responseFields: { 15690 xml: "responseXML", 15691 text: "responseText", 15692 json: "responseJSON" 15693 }, 15694 15695 // Data converters 15696 // Keys separate source (or catchall "*") and destination types with a single space 15697 converters: { 15698 15699 // Convert anything to text 15700 "* text": String, 15701 15702 // Text to html (true = no transformation) 15703 "text html": true, 15704 15705 // Evaluate text as a json expression 15706 "text json": JSON.parse, 15707 15708 // Parse text as xml 15709 "text xml": jQuery.parseXML 15710 }, 15711 15712 // For options that shouldn't be deep extended: 15713 // you can add your own custom options here if 15714 // and when you create one that shouldn't be 15715 // deep extended (see ajaxExtend) 15716 flatOptions: { 15717 url: true, 15718 context: true 15719 } 15720 }, 15721 15722 // Creates a full fledged settings object into target 15723 // with both ajaxSettings and settings fields. 15724 // If target is omitted, writes into ajaxSettings. 15725 ajaxSetup: function( target, settings ) { 15726 return settings ? 15727 15728 // Building a settings object 15729 ajaxExtend( ajaxExtend( target, jQuery.ajaxSettings ), settings ) : 15730 15731 // Extending ajaxSettings 15732 ajaxExtend( jQuery.ajaxSettings, target ); 15733 }, 15734 15735 ajaxPrefilter: addToPrefiltersOrTransports( prefilters ), 15736 ajaxTransport: addToPrefiltersOrTransports( transports ), 15737 15738 // Main method 15739 ajax: function( url, options ) { 15740 15741 // If url is an object, simulate pre-1.5 signature 15742 if ( typeof url === "object" ) { 15743 options = url; 15744 url = undefined; 15745 } 15746 15747 // Force options to be an object 15748 options = options || {}; 15749 15750 var transport, 15751 15752 // URL without anti-cache param 15753 cacheURL, 15754 15755 // Response headers 15756 responseHeadersString, 15757 responseHeaders, 15758 15759 // timeout handle 15760 timeoutTimer, 15761 15762 // Url cleanup var 15763 urlAnchor, 15764 15765 // Request state (becomes false upon send and true upon completion) 15766 completed, 15767 15768 // To know if global events are to be dispatched 15769 fireGlobals, 15770 15771 // Loop variable 15772 i, 15773 15774 // uncached part of the url 15775 uncached, 15776 15777 // Create the final options object 15778 s = jQuery.ajaxSetup( {}, options ), 15779 15780 // Callbacks context 15781 callbackContext = s.context || s, 15782 15783 // Context for global events is callbackContext if it is a DOM node or jQuery collection 15784 globalEventContext = s.context && 15785 ( callbackContext.nodeType || callbackContext.jquery ) ? 15786 jQuery( callbackContext ) : 15787 jQuery.event, 15788 15789 // Deferreds 15790 deferred = jQuery.Deferred(), 15791 completeDeferred = jQuery.Callbacks( "once memory" ), 15792 15793 // Status-dependent callbacks 15794 statusCode = s.statusCode || {}, 15795 15796 // Headers (they are sent all at once) 15797 requestHeaders = {}, 15798 requestHeadersNames = {}, 15799 15800 // Default abort message 15801 strAbort = "canceled", 15802 15803 // Fake xhr 15804 jqXHR = { 15805 readyState: 0, 15806 15807 // Builds headers hashtable if needed 15808 getResponseHeader: function( key ) { 15809 var match; 15810 if ( completed ) { 15811 if ( !responseHeaders ) { 15812 responseHeaders = {}; 15813 while ( ( match = rheaders.exec( responseHeadersString ) ) ) { 15814 responseHeaders[ match[ 1 ].toLowerCase() + " " ] = 15815 ( responseHeaders[ match[ 1 ].toLowerCase() + " " ] || [] ) 15816 .concat( match[ 2 ] ); 15817 } 15818 } 15819 match = responseHeaders[ key.toLowerCase() + " " ]; 15820 } 15821 return match == null ? null : match.join( ", " ); 15822 }, 15823 15824 // Raw string 15825 getAllResponseHeaders: function() { 15826 return completed ? responseHeadersString : null; 15827 }, 15828 15829 // Caches the header 15830 setRequestHeader: function( name, value ) { 15831 if ( completed == null ) { 15832 name = requestHeadersNames[ name.toLowerCase() ] = 15833 requestHeadersNames[ name.toLowerCase() ] || name; 15834 requestHeaders[ name ] = value; 15835 } 15836 return this; 15837 }, 15838 15839 // Overrides response content-type header 15840 overrideMimeType: function( type ) { 15841 if ( completed == null ) { 15842 s.mimeType = type; 15843 } 15844 return this; 15845 }, 15846 15847 // Status-dependent callbacks 15848 statusCode: function( map ) { 15849 var code; 15850 if ( map ) { 15851 if ( completed ) { 15852 15853 // Execute the appropriate callbacks 15854 jqXHR.always( map[ jqXHR.status ] ); 15855 } else { 15856 15857 // Lazy-add the new callbacks in a way that preserves old ones 15858 for ( code in map ) { 15859 statusCode[ code ] = [ statusCode[ code ], map[ code ] ]; 15860 } 15861 } 15862 } 15863 return this; 15864 }, 15865 15866 // Cancel the request 15867 abort: function( statusText ) { 15868 var finalText = statusText || strAbort; 15869 if ( transport ) { 15870 transport.abort( finalText ); 15871 } 15872 done( 0, finalText ); 15873 return this; 15874 } 15875 }; 15876 15877 // Attach deferreds 15878 deferred.promise( jqXHR ); 15879 15880 // Add protocol if not provided (prefilters might expect it) 15881 // Handle falsy url in the settings object (#10093: consistency with old signature) 15882 // We also use the url parameter if available 15883 s.url = ( ( url || s.url || location.href ) + "" ) 15884 .replace( rprotocol, location.protocol + "//" ); 15885 15886 // Alias method option to type as per ticket #12004 15887 s.type = options.method || options.type || s.method || s.type; 15888 15889 // Extract dataTypes list 15890 s.dataTypes = ( s.dataType || "*" ).toLowerCase().match( rnothtmlwhite ) || [ "" ]; 15891 15892 // A cross-domain request is in order when the origin doesn't match the current origin. 15893 if ( s.crossDomain == null ) { 15894 urlAnchor = document.createElement( "a" ); 15895 15896 // Support: IE <=8 - 11, Edge 12 - 15 15897 // IE throws exception on accessing the href property if url is malformed, 15898 // e.g. http://example.com:80x/ 15899 try { 15900 urlAnchor.href = s.url; 15901 15902 // Support: IE <=8 - 11 only 15903 // Anchor's host property isn't correctly set when s.url is relative 15904 urlAnchor.href = urlAnchor.href; 15905 s.crossDomain = originAnchor.protocol + "//" + originAnchor.host !== 15906 urlAnchor.protocol + "//" + urlAnchor.host; 15907 } catch ( e ) { 15908 15909 // If there is an error parsing the URL, assume it is crossDomain, 15910 // it can be rejected by the transport if it is invalid 15911 s.crossDomain = true; 15912 } 15913 } 15914 15915 // Convert data if not already a string 15916 if ( s.data && s.processData && typeof s.data !== "string" ) { 15917 s.data = jQuery.param( s.data, s.traditional ); 15918 } 15919 15920 // Apply prefilters 15921 inspectPrefiltersOrTransports( prefilters, s, options, jqXHR ); 15922 15923 // If request was aborted inside a prefilter, stop there 15924 if ( completed ) { 15925 return jqXHR; 15926 } 15927 15928 // We can fire global events as of now if asked to 15929 // Don't fire events if jQuery.event is undefined in an AMD-usage scenario (#15118) 15930 fireGlobals = jQuery.event && s.global; 15931 15932 // Watch for a new set of requests 15933 if ( fireGlobals && jQuery.active++ === 0 ) { 15934 jQuery.event.trigger( "ajaxStart" ); 15935 } 15936 15937 // Uppercase the type 15938 s.type = s.type.toUpperCase(); 15939 15940 // Determine if request has content 15941 s.hasContent = !rnoContent.test( s.type ); 15942 15943 // Save the URL in case we're toying with the If-Modified-Since 15944 // and/or If-None-Match header later on 15945 // Remove hash to simplify url manipulation 15946 cacheURL = s.url.replace( rhash, "" ); 15947 15948 // More options handling for requests with no content 15949 if ( !s.hasContent ) { 15950 15951 // Remember the hash so we can put it back 15952 uncached = s.url.slice( cacheURL.length ); 15953 15954 // If data is available and should be processed, append data to url 15955 if ( s.data && ( s.processData || typeof s.data === "string" ) ) { 15956 cacheURL += ( rquery.test( cacheURL ) ? "&" : "?" ) + s.data; 15957 15958 // #9682: remove data so that it's not used in an eventual retry 15959 delete s.data; 15960 } 15961 15962 // Add or update anti-cache param if needed 15963 if ( s.cache === false ) { 15964 cacheURL = cacheURL.replace( rantiCache, "$1" ); 15965 uncached = ( rquery.test( cacheURL ) ? "&" : "?" ) + "_=" + ( nonce.guid++ ) + 15966 uncached; 15967 } 15968 15969 // Put hash and anti-cache on the URL that will be requested (gh-1732) 15970 s.url = cacheURL + uncached; 15971 15972 // Change '%20' to '+' if this is encoded form body content (gh-2658) 15973 } else if ( s.data && s.processData && 15974 ( s.contentType || "" ).indexOf( "application/x-www-form-urlencoded" ) === 0 ) { 15975 s.data = s.data.replace( r20, "+" ); 15976 } 15977 15978 // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. 15979 if ( s.ifModified ) { 15980 if ( jQuery.lastModified[ cacheURL ] ) { 15981 jqXHR.setRequestHeader( "If-Modified-Since", jQuery.lastModified[ cacheURL ] ); 15982 } 15983 if ( jQuery.etag[ cacheURL ] ) { 15984 jqXHR.setRequestHeader( "If-None-Match", jQuery.etag[ cacheURL ] ); 15985 } 15986 } 15987 15988 // Set the correct header, if data is being sent 15989 if ( s.data && s.hasContent && s.contentType !== false || options.contentType ) { 15990 jqXHR.setRequestHeader( "Content-Type", s.contentType ); 15991 } 15992 15993 // Set the Accepts header for the server, depending on the dataType 15994 jqXHR.setRequestHeader( 15995 "Accept", 15996 s.dataTypes[ 0 ] && s.accepts[ s.dataTypes[ 0 ] ] ? 15997 s.accepts[ s.dataTypes[ 0 ] ] + 15998 ( s.dataTypes[ 0 ] !== "*" ? ", " + allTypes + "; q=0.01" : "" ) : 15999 s.accepts[ "*" ] 16000 ); 16001 16002 // Check for headers option 16003 for ( i in s.headers ) { 16004 jqXHR.setRequestHeader( i, s.headers[ i ] ); 16005 } 16006 16007 // Allow custom headers/mimetypes and early abort 16008 if ( s.beforeSend && 16009 ( s.beforeSend.call( callbackContext, jqXHR, s ) === false || completed ) ) { 16010 16011 // Abort if not done already and return 16012 return jqXHR.abort(); 16013 } 16014 16015 // Aborting is no longer a cancellation 16016 strAbort = "abort"; 16017 16018 // Install callbacks on deferreds 16019 completeDeferred.add( s.complete ); 16020 jqXHR.done( s.success ); 16021 jqXHR.fail( s.error ); 16022 16023 // Get transport 16024 transport = inspectPrefiltersOrTransports( transports, s, options, jqXHR ); 16025 16026 // If no transport, we auto-abort 16027 if ( !transport ) { 16028 done( -1, "No Transport" ); 16029 } else { 16030 jqXHR.readyState = 1; 16031 16032 // Send global event 16033 if ( fireGlobals ) { 16034 globalEventContext.trigger( "ajaxSend", [ jqXHR, s ] ); 16035 } 16036 16037 // If request was aborted inside ajaxSend, stop there 16038 if ( completed ) { 16039 return jqXHR; 16040 } 16041 16042 // Timeout 16043 if ( s.async && s.timeout > 0 ) { 16044 timeoutTimer = window.setTimeout( function() { 16045 jqXHR.abort( "timeout" ); 16046 }, s.timeout ); 16047 } 16048 16049 try { 16050 completed = false; 16051 transport.send( requestHeaders, done ); 16052 } catch ( e ) { 16053 16054 // Rethrow post-completion exceptions 16055 if ( completed ) { 16056 throw e; 16057 } 16058 16059 // Propagate others as results 16060 done( -1, e ); 16061 } 16062 } 16063 16064 // Callback for when everything is done 16065 function done( status, nativeStatusText, responses, headers ) { 16066 var isSuccess, success, error, response, modified, 16067 statusText = nativeStatusText; 16068 16069 // Ignore repeat invocations 16070 if ( completed ) { 16071 return; 16072 } 16073 16074 completed = true; 16075 16076 // Clear timeout if it exists 16077 if ( timeoutTimer ) { 16078 window.clearTimeout( timeoutTimer ); 16079 } 16080 16081 // Dereference transport for early garbage collection 16082 // (no matter how long the jqXHR object will be used) 16083 transport = undefined; 16084 16085 // Cache response headers 16086 responseHeadersString = headers || ""; 16087 16088 // Set readyState 16089 jqXHR.readyState = status > 0 ? 4 : 0; 16090 16091 // Determine if successful 16092 isSuccess = status >= 200 && status < 300 || status === 304; 16093 16094 // Get response data 16095 if ( responses ) { 16096 response = ajaxHandleResponses( s, jqXHR, responses ); 16097 } 16098 16099 // Use a noop converter for missing script but not if jsonp 16100 if ( !isSuccess && 16101 jQuery.inArray( "script", s.dataTypes ) > -1 && 16102 jQuery.inArray( "json", s.dataTypes ) < 0 ) { 16103 s.converters[ "text script" ] = function() {}; 16104 } 16105 16106 // Convert no matter what (that way responseXXX fields are always set) 16107 response = ajaxConvert( s, response, jqXHR, isSuccess ); 16108 16109 // If successful, handle type chaining 16110 if ( isSuccess ) { 16111 16112 // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. 16113 if ( s.ifModified ) { 16114 modified = jqXHR.getResponseHeader( "Last-Modified" ); 16115 if ( modified ) { 16116 jQuery.lastModified[ cacheURL ] = modified; 16117 } 16118 modified = jqXHR.getResponseHeader( "etag" ); 16119 if ( modified ) { 16120 jQuery.etag[ cacheURL ] = modified; 16121 } 16122 } 16123 16124 // if no content 16125 if ( status === 204 || s.type === "HEAD" ) { 16126 statusText = "nocontent"; 16127 16128 // if not modified 16129 } else if ( status === 304 ) { 16130 statusText = "notmodified"; 16131 16132 // If we have data, let's convert it 16133 } else { 16134 statusText = response.state; 16135 success = response.data; 16136 error = response.error; 16137 isSuccess = !error; 16138 } 16139 } else { 16140 16141 // Extract error from statusText and normalize for non-aborts 16142 error = statusText; 16143 if ( status || !statusText ) { 16144 statusText = "error"; 16145 if ( status < 0 ) { 16146 status = 0; 16147 } 16148 } 16149 } 16150 16151 // Set data for the fake xhr object 16152 jqXHR.status = status; 16153 jqXHR.statusText = ( nativeStatusText || statusText ) + ""; 16154 16155 // Success/Error 16156 if ( isSuccess ) { 16157 deferred.resolveWith( callbackContext, [ success, statusText, jqXHR ] ); 16158 } else { 16159 deferred.rejectWith( callbackContext, [ jqXHR, statusText, error ] ); 16160 } 16161 16162 // Status-dependent callbacks 16163 jqXHR.statusCode( statusCode ); 16164 statusCode = undefined; 16165 16166 if ( fireGlobals ) { 16167 globalEventContext.trigger( isSuccess ? "ajaxSuccess" : "ajaxError", 16168 [ jqXHR, s, isSuccess ? success : error ] ); 16169 } 16170 16171 // Complete 16172 completeDeferred.fireWith( callbackContext, [ jqXHR, statusText ] ); 16173 16174 if ( fireGlobals ) { 16175 globalEventContext.trigger( "ajaxComplete", [ jqXHR, s ] ); 16176 16177 // Handle the global AJAX counter 16178 if ( !( --jQuery.active ) ) { 16179 jQuery.event.trigger( "ajaxStop" ); 16180 } 16181 } 16182 } 16183 16184 return jqXHR; 16185 }, 16186 16187 getJSON: function( url, data, callback ) { 16188 return jQuery.get( url, data, callback, "json" ); 16189 }, 16190 16191 getScript: function( url, callback ) { 16192 return jQuery.get( url, undefined, callback, "script" ); 16193 } 16194} ); 16195 16196jQuery.each( [ "get", "post" ], function( _i, method ) { 16197 jQuery[ method ] = function( url, data, callback, type ) { 16198 16199 // Shift arguments if data argument was omitted 16200 if ( isFunction( data ) ) { 16201 type = type || callback; 16202 callback = data; 16203 data = undefined; 16204 } 16205 16206 // The url can be an options object (which then must have .url) 16207 return jQuery.ajax( jQuery.extend( { 16208 url: url, 16209 type: method, 16210 dataType: type, 16211 data: data, 16212 success: callback 16213 }, jQuery.isPlainObject( url ) && url ) ); 16214 }; 16215} ); 16216 16217jQuery.ajaxPrefilter( function( s ) { 16218 var i; 16219 for ( i in s.headers ) { 16220 if ( i.toLowerCase() === "content-type" ) { 16221 s.contentType = s.headers[ i ] || ""; 16222 } 16223 } 16224} ); 16225 16226 16227jQuery._evalUrl = function( url, options, doc ) { 16228 return jQuery.ajax( { 16229 url: url, 16230 16231 // Make this explicit, since user can override this through ajaxSetup (#11264) 16232 type: "GET", 16233 dataType: "script", 16234 cache: true, 16235 async: false, 16236 global: false, 16237 16238 // Only evaluate the response if it is successful (gh-4126) 16239 // dataFilter is not invoked for failure responses, so using it instead 16240 // of the default converter is kludgy but it works. 16241 converters: { 16242 "text script": function() {} 16243 }, 16244 dataFilter: function( response ) { 16245 jQuery.globalEval( response, options, doc ); 16246 } 16247 } ); 16248}; 16249 16250 16251jQuery.fn.extend( { 16252 wrapAll: function( html ) { 16253 var wrap; 16254 16255 if ( this[ 0 ] ) { 16256 if ( isFunction( html ) ) { 16257 html = html.call( this[ 0 ] ); 16258 } 16259 16260 // The elements to wrap the target around 16261 wrap = jQuery( html, this[ 0 ].ownerDocument ).eq( 0 ).clone( true ); 16262 16263 if ( this[ 0 ].parentNode ) { 16264 wrap.insertBefore( this[ 0 ] ); 16265 } 16266 16267 wrap.map( function() { 16268 var elem = this; 16269 16270 while ( elem.firstElementChild ) { 16271 elem = elem.firstElementChild; 16272 } 16273 16274 return elem; 16275 } ).append( this ); 16276 } 16277 16278 return this; 16279 }, 16280 16281 wrapInner: function( html ) { 16282 if ( isFunction( html ) ) { 16283 return this.each( function( i ) { 16284 jQuery( this ).wrapInner( html.call( this, i ) ); 16285 } ); 16286 } 16287 16288 return this.each( function() { 16289 var self = jQuery( this ), 16290 contents = self.contents(); 16291 16292 if ( contents.length ) { 16293 contents.wrapAll( html ); 16294 16295 } else { 16296 self.append( html ); 16297 } 16298 } ); 16299 }, 16300 16301 wrap: function( html ) { 16302 var htmlIsFunction = isFunction( html ); 16303 16304 return this.each( function( i ) { 16305 jQuery( this ).wrapAll( htmlIsFunction ? html.call( this, i ) : html ); 16306 } ); 16307 }, 16308 16309 unwrap: function( selector ) { 16310 this.parent( selector ).not( "body" ).each( function() { 16311 jQuery( this ).replaceWith( this.childNodes ); 16312 } ); 16313 return this; 16314 } 16315} ); 16316 16317 16318jQuery.expr.pseudos.hidden = function( elem ) { 16319 return !jQuery.expr.pseudos.visible( elem ); 16320}; 16321jQuery.expr.pseudos.visible = function( elem ) { 16322 return !!( elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length ); 16323}; 16324 16325 16326 16327 16328jQuery.ajaxSettings.xhr = function() { 16329 try { 16330 return new window.XMLHttpRequest(); 16331 } catch ( e ) {} 16332}; 16333 16334var xhrSuccessStatus = { 16335 16336 // File protocol always yields status code 0, assume 200 16337 0: 200, 16338 16339 // Support: IE <=9 only 16340 // #1450: sometimes IE returns 1223 when it should be 204 16341 1223: 204 16342 }, 16343 xhrSupported = jQuery.ajaxSettings.xhr(); 16344 16345support.cors = !!xhrSupported && ( "withCredentials" in xhrSupported ); 16346support.ajax = xhrSupported = !!xhrSupported; 16347 16348jQuery.ajaxTransport( function( options ) { 16349 var callback, errorCallback; 16350 16351 // Cross domain only allowed if supported through XMLHttpRequest 16352 if ( support.cors || xhrSupported && !options.crossDomain ) { 16353 return { 16354 send: function( headers, complete ) { 16355 var i, 16356 xhr = options.xhr(); 16357 16358 xhr.open( 16359 options.type, 16360 options.url, 16361 options.async, 16362 options.username, 16363 options.password 16364 ); 16365 16366 // Apply custom fields if provided 16367 if ( options.xhrFields ) { 16368 for ( i in options.xhrFields ) { 16369 xhr[ i ] = options.xhrFields[ i ]; 16370 } 16371 } 16372 16373 // Override mime type if needed 16374 if ( options.mimeType && xhr.overrideMimeType ) { 16375 xhr.overrideMimeType( options.mimeType ); 16376 } 16377 16378 // X-Requested-With header 16379 // For cross-domain requests, seeing as conditions for a preflight are 16380 // akin to a jigsaw puzzle, we simply never set it to be sure. 16381 // (it can always be set on a per-request basis or even using ajaxSetup) 16382 // For same-domain requests, won't change header if already provided. 16383 if ( !options.crossDomain && !headers[ "X-Requested-With" ] ) { 16384 headers[ "X-Requested-With" ] = "XMLHttpRequest"; 16385 } 16386 16387 // Set headers 16388 for ( i in headers ) { 16389 xhr.setRequestHeader( i, headers[ i ] ); 16390 } 16391 16392 // Callback 16393 callback = function( type ) { 16394 return function() { 16395 if ( callback ) { 16396 callback = errorCallback = xhr.onload = 16397 xhr.onerror = xhr.onabort = xhr.ontimeout = 16398 xhr.onreadystatechange = null; 16399 16400 if ( type === "abort" ) { 16401 xhr.abort(); 16402 } else if ( type === "error" ) { 16403 16404 // Support: IE <=9 only 16405 // On a manual native abort, IE9 throws 16406 // errors on any property access that is not readyState 16407 if ( typeof xhr.status !== "number" ) { 16408 complete( 0, "error" ); 16409 } else { 16410 complete( 16411 16412 // File: protocol always yields status 0; see #8605, #14207 16413 xhr.status, 16414 xhr.statusText 16415 ); 16416 } 16417 } else { 16418 complete( 16419 xhrSuccessStatus[ xhr.status ] || xhr.status, 16420 xhr.statusText, 16421 16422 // Support: IE <=9 only 16423 // IE9 has no XHR2 but throws on binary (trac-11426) 16424 // For XHR2 non-text, let the caller handle it (gh-2498) 16425 ( xhr.responseType || "text" ) !== "text" || 16426 typeof xhr.responseText !== "string" ? 16427 { binary: xhr.response } : 16428 { text: xhr.responseText }, 16429 xhr.getAllResponseHeaders() 16430 ); 16431 } 16432 } 16433 }; 16434 }; 16435 16436 // Listen to events 16437 xhr.onload = callback(); 16438 errorCallback = xhr.onerror = xhr.ontimeout = callback( "error" ); 16439 16440 // Support: IE 9 only 16441 // Use onreadystatechange to replace onabort 16442 // to handle uncaught aborts 16443 if ( xhr.onabort !== undefined ) { 16444 xhr.onabort = errorCallback; 16445 } else { 16446 xhr.onreadystatechange = function() { 16447 16448 // Check readyState before timeout as it changes 16449 if ( xhr.readyState === 4 ) { 16450 16451 // Allow onerror to be called first, 16452 // but that will not handle a native abort 16453 // Also, save errorCallback to a variable 16454 // as xhr.onerror cannot be accessed 16455 window.setTimeout( function() { 16456 if ( callback ) { 16457 errorCallback(); 16458 } 16459 } ); 16460 } 16461 }; 16462 } 16463 16464 // Create the abort callback 16465 callback = callback( "abort" ); 16466 16467 try { 16468 16469 // Do send the request (this may raise an exception) 16470 xhr.send( options.hasContent && options.data || null ); 16471 } catch ( e ) { 16472 16473 // #14683: Only rethrow if this hasn't been notified as an error yet 16474 if ( callback ) { 16475 throw e; 16476 } 16477 } 16478 }, 16479 16480 abort: function() { 16481 if ( callback ) { 16482 callback(); 16483 } 16484 } 16485 }; 16486 } 16487} ); 16488 16489 16490 16491 16492// Prevent auto-execution of scripts when no explicit dataType was provided (See gh-2432) 16493jQuery.ajaxPrefilter( function( s ) { 16494 if ( s.crossDomain ) { 16495 s.contents.script = false; 16496 } 16497} ); 16498 16499// Install script dataType 16500jQuery.ajaxSetup( { 16501 accepts: { 16502 script: "text/javascript, application/javascript, " + 16503 "application/ecmascript, application/x-ecmascript" 16504 }, 16505 contents: { 16506 script: /\b(?:java|ecma)script\b/ 16507 }, 16508 converters: { 16509 "text script": function( text ) { 16510 jQuery.globalEval( text ); 16511 return text; 16512 } 16513 } 16514} ); 16515 16516// Handle cache's special case and crossDomain 16517jQuery.ajaxPrefilter( "script", function( s ) { 16518 if ( s.cache === undefined ) { 16519 s.cache = false; 16520 } 16521 if ( s.crossDomain ) { 16522 s.type = "GET"; 16523 } 16524} ); 16525 16526// Bind script tag hack transport 16527jQuery.ajaxTransport( "script", function( s ) { 16528 16529 // This transport only deals with cross domain or forced-by-attrs requests 16530 if ( s.crossDomain || s.scriptAttrs ) { 16531 var script, callback; 16532 return { 16533 send: function( _, complete ) { 16534 script = jQuery( "<script>" ) 16535 .attr( s.scriptAttrs || {} ) 16536 .prop( { charset: s.scriptCharset, src: s.url } ) 16537 .on( "load error", callback = function( evt ) { 16538 script.remove(); 16539 callback = null; 16540 if ( evt ) { 16541 complete( evt.type === "error" ? 404 : 200, evt.type ); 16542 } 16543 } ); 16544 16545 // Use native DOM manipulation to avoid our domManip AJAX trickery 16546 document.head.appendChild( script[ 0 ] ); 16547 }, 16548 abort: function() { 16549 if ( callback ) { 16550 callback(); 16551 } 16552 } 16553 }; 16554 } 16555} ); 16556 16557 16558 16559 16560var oldCallbacks = [], 16561 rjsonp = /(=)\?(?=&|$)|\?\?/; 16562 16563// Default jsonp settings 16564jQuery.ajaxSetup( { 16565 jsonp: "callback", 16566 jsonpCallback: function() { 16567 var callback = oldCallbacks.pop() || ( jQuery.expando + "_" + ( nonce.guid++ ) ); 16568 this[ callback ] = true; 16569 return callback; 16570 } 16571} ); 16572 16573// Detect, normalize options and install callbacks for jsonp requests 16574jQuery.ajaxPrefilter( "json jsonp", function( s, originalSettings, jqXHR ) { 16575 16576 var callbackName, overwritten, responseContainer, 16577 jsonProp = s.jsonp !== false && ( rjsonp.test( s.url ) ? 16578 "url" : 16579 typeof s.data === "string" && 16580 ( s.contentType || "" ) 16581 .indexOf( "application/x-www-form-urlencoded" ) === 0 && 16582 rjsonp.test( s.data ) && "data" 16583 ); 16584 16585 // Handle iff the expected data type is "jsonp" or we have a parameter to set 16586 if ( jsonProp || s.dataTypes[ 0 ] === "jsonp" ) { 16587 16588 // Get callback name, remembering preexisting value associated with it 16589 callbackName = s.jsonpCallback = isFunction( s.jsonpCallback ) ? 16590 s.jsonpCallback() : 16591 s.jsonpCallback; 16592 16593 // Insert callback into url or form data 16594 if ( jsonProp ) { 16595 s[ jsonProp ] = s[ jsonProp ].replace( rjsonp, "$1" + callbackName ); 16596 } else if ( s.jsonp !== false ) { 16597 s.url += ( rquery.test( s.url ) ? "&" : "?" ) + s.jsonp + "=" + callbackName; 16598 } 16599 16600 // Use data converter to retrieve json after script execution 16601 s.converters[ "script json" ] = function() { 16602 if ( !responseContainer ) { 16603 jQuery.error( callbackName + " was not called" ); 16604 } 16605 return responseContainer[ 0 ]; 16606 }; 16607 16608 // Force json dataType 16609 s.dataTypes[ 0 ] = "json"; 16610 16611 // Install callback 16612 overwritten = window[ callbackName ]; 16613 window[ callbackName ] = function() { 16614 responseContainer = arguments; 16615 }; 16616 16617 // Clean-up function (fires after converters) 16618 jqXHR.always( function() { 16619 16620 // If previous value didn't exist - remove it 16621 if ( overwritten === undefined ) { 16622 jQuery( window ).removeProp( callbackName ); 16623 16624 // Otherwise restore preexisting value 16625 } else { 16626 window[ callbackName ] = overwritten; 16627 } 16628 16629 // Save back as free 16630 if ( s[ callbackName ] ) { 16631 16632 // Make sure that re-using the options doesn't screw things around 16633 s.jsonpCallback = originalSettings.jsonpCallback; 16634 16635 // Save the callback name for future use 16636 oldCallbacks.push( callbackName ); 16637 } 16638 16639 // Call if it was a function and we have a response 16640 if ( responseContainer && isFunction( overwritten ) ) { 16641 overwritten( responseContainer[ 0 ] ); 16642 } 16643 16644 responseContainer = overwritten = undefined; 16645 } ); 16646 16647 // Delegate to script 16648 return "script"; 16649 } 16650} ); 16651 16652 16653 16654 16655// Support: Safari 8 only 16656// In Safari 8 documents created via document.implementation.createHTMLDocument 16657// collapse sibling forms: the second one becomes a child of the first one. 16658// Because of that, this security measure has to be disabled in Safari 8. 16659// https://bugs.webkit.org/show_bug.cgi?id=137337 16660support.createHTMLDocument = ( function() { 16661 var body = document.implementation.createHTMLDocument( "" ).body; 16662 body.innerHTML = "<form></form><form></form>"; 16663 return body.childNodes.length === 2; 16664} )(); 16665 16666 16667// Argument "data" should be string of html 16668// context (optional): If specified, the fragment will be created in this context, 16669// defaults to document 16670// keepScripts (optional): If true, will include scripts passed in the html string 16671jQuery.parseHTML = function( data, context, keepScripts ) { 16672 if ( typeof data !== "string" ) { 16673 return []; 16674 } 16675 if ( typeof context === "boolean" ) { 16676 keepScripts = context; 16677 context = false; 16678 } 16679 16680 var base, parsed, scripts; 16681 16682 if ( !context ) { 16683 16684 // Stop scripts or inline event handlers from being executed immediately 16685 // by using document.implementation 16686 if ( support.createHTMLDocument ) { 16687 context = document.implementation.createHTMLDocument( "" ); 16688 16689 // Set the base href for the created document 16690 // so any parsed elements with URLs 16691 // are based on the document's URL (gh-2965) 16692 base = context.createElement( "base" ); 16693 base.href = document.location.href; 16694 context.head.appendChild( base ); 16695 } else { 16696 context = document; 16697 } 16698 } 16699 16700 parsed = rsingleTag.exec( data ); 16701 scripts = !keepScripts && []; 16702 16703 // Single tag 16704 if ( parsed ) { 16705 return [ context.createElement( parsed[ 1 ] ) ]; 16706 } 16707 16708 parsed = buildFragment( [ data ], context, scripts ); 16709 16710 if ( scripts && scripts.length ) { 16711 jQuery( scripts ).remove(); 16712 } 16713 16714 return jQuery.merge( [], parsed.childNodes ); 16715}; 16716 16717 16718/** 16719 * Load a url into a page 16720 */ 16721jQuery.fn.load = function( url, params, callback ) { 16722 var selector, type, response, 16723 self = this, 16724 off = url.indexOf( " " ); 16725 16726 if ( off > -1 ) { 16727 selector = stripAndCollapse( url.slice( off ) ); 16728 url = url.slice( 0, off ); 16729 } 16730 16731 // If it's a function 16732 if ( isFunction( params ) ) { 16733 16734 // We assume that it's the callback 16735 callback = params; 16736 params = undefined; 16737 16738 // Otherwise, build a param string 16739 } else if ( params && typeof params === "object" ) { 16740 type = "POST"; 16741 } 16742 16743 // If we have elements to modify, make the request 16744 if ( self.length > 0 ) { 16745 jQuery.ajax( { 16746 url: url, 16747 16748 // If "type" variable is undefined, then "GET" method will be used. 16749 // Make value of this field explicit since 16750 // user can override it through ajaxSetup method 16751 type: type || "GET", 16752 dataType: "html", 16753 data: params 16754 } ).done( function( responseText ) { 16755 16756 // Save response for use in complete callback 16757 response = arguments; 16758 16759 self.html( selector ? 16760 16761 // If a selector was specified, locate the right elements in a dummy div 16762 // Exclude scripts to avoid IE 'Permission Denied' errors 16763 jQuery( "<div>" ).append( jQuery.parseHTML( responseText ) ).find( selector ) : 16764 16765 // Otherwise use the full result 16766 responseText ); 16767 16768 // If the request succeeds, this function gets "data", "status", "jqXHR" 16769 // but they are ignored because response was set above. 16770 // If it fails, this function gets "jqXHR", "status", "error" 16771 } ).always( callback && function( jqXHR, status ) { 16772 self.each( function() { 16773 callback.apply( this, response || [ jqXHR.responseText, status, jqXHR ] ); 16774 } ); 16775 } ); 16776 } 16777 16778 return this; 16779}; 16780 16781 16782 16783 16784jQuery.expr.pseudos.animated = function( elem ) { 16785 return jQuery.grep( jQuery.timers, function( fn ) { 16786 return elem === fn.elem; 16787 } ).length; 16788}; 16789 16790 16791 16792 16793jQuery.offset = { 16794 setOffset: function( elem, options, i ) { 16795 var curPosition, curLeft, curCSSTop, curTop, curOffset, curCSSLeft, calculatePosition, 16796 position = jQuery.css( elem, "position" ), 16797 curElem = jQuery( elem ), 16798 props = {}; 16799 16800 // Set position first, in-case top/left are set even on static elem 16801 if ( position === "static" ) { 16802 elem.style.position = "relative"; 16803 } 16804 16805 curOffset = curElem.offset(); 16806 curCSSTop = jQuery.css( elem, "top" ); 16807 curCSSLeft = jQuery.css( elem, "left" ); 16808 calculatePosition = ( position === "absolute" || position === "fixed" ) && 16809 ( curCSSTop + curCSSLeft ).indexOf( "auto" ) > -1; 16810 16811 // Need to be able to calculate position if either 16812 // top or left is auto and position is either absolute or fixed 16813 if ( calculatePosition ) { 16814 curPosition = curElem.position(); 16815 curTop = curPosition.top; 16816 curLeft = curPosition.left; 16817 16818 } else { 16819 curTop = parseFloat( curCSSTop ) || 0; 16820 curLeft = parseFloat( curCSSLeft ) || 0; 16821 } 16822 16823 if ( isFunction( options ) ) { 16824 16825 // Use jQuery.extend here to allow modification of coordinates argument (gh-1848) 16826 options = options.call( elem, i, jQuery.extend( {}, curOffset ) ); 16827 } 16828 16829 if ( options.top != null ) { 16830 props.top = ( options.top - curOffset.top ) + curTop; 16831 } 16832 if ( options.left != null ) { 16833 props.left = ( options.left - curOffset.left ) + curLeft; 16834 } 16835 16836 if ( "using" in options ) { 16837 options.using.call( elem, props ); 16838 16839 } else { 16840 curElem.css( props ); 16841 } 16842 } 16843}; 16844 16845jQuery.fn.extend( { 16846 16847 // offset() relates an element's border box to the document origin 16848 offset: function( options ) { 16849 16850 // Preserve chaining for setter 16851 if ( arguments.length ) { 16852 return options === undefined ? 16853 this : 16854 this.each( function( i ) { 16855 jQuery.offset.setOffset( this, options, i ); 16856 } ); 16857 } 16858 16859 var rect, win, 16860 elem = this[ 0 ]; 16861 16862 if ( !elem ) { 16863 return; 16864 } 16865 16866 // Return zeros for disconnected and hidden (display: none) elements (gh-2310) 16867 // Support: IE <=11 only 16868 // Running getBoundingClientRect on a 16869 // disconnected node in IE throws an error 16870 if ( !elem.getClientRects().length ) { 16871 return { top: 0, left: 0 }; 16872 } 16873 16874 // Get document-relative position by adding viewport scroll to viewport-relative gBCR 16875 rect = elem.getBoundingClientRect(); 16876 win = elem.ownerDocument.defaultView; 16877 return { 16878 top: rect.top + win.pageYOffset, 16879 left: rect.left + win.pageXOffset 16880 }; 16881 }, 16882 16883 // position() relates an element's margin box to its offset parent's padding box 16884 // This corresponds to the behavior of CSS absolute positioning 16885 position: function() { 16886 if ( !this[ 0 ] ) { 16887 return; 16888 } 16889 16890 var offsetParent, offset, doc, 16891 elem = this[ 0 ], 16892 parentOffset = { top: 0, left: 0 }; 16893 16894 // position:fixed elements are offset from the viewport, which itself always has zero offset 16895 if ( jQuery.css( elem, "position" ) === "fixed" ) { 16896 16897 // Assume position:fixed implies availability of getBoundingClientRect 16898 offset = elem.getBoundingClientRect(); 16899 16900 } else { 16901 offset = this.offset(); 16902 16903 // Account for the *real* offset parent, which can be the document or its root element 16904 // when a statically positioned element is identified 16905 doc = elem.ownerDocument; 16906 offsetParent = elem.offsetParent || doc.documentElement; 16907 while ( offsetParent && 16908 ( offsetParent === doc.body || offsetParent === doc.documentElement ) && 16909 jQuery.css( offsetParent, "position" ) === "static" ) { 16910 16911 offsetParent = offsetParent.parentNode; 16912 } 16913 if ( offsetParent && offsetParent !== elem && offsetParent.nodeType === 1 ) { 16914 16915 // Incorporate borders into its offset, since they are outside its content origin 16916 parentOffset = jQuery( offsetParent ).offset(); 16917 parentOffset.top += jQuery.css( offsetParent, "borderTopWidth", true ); 16918 parentOffset.left += jQuery.css( offsetParent, "borderLeftWidth", true ); 16919 } 16920 } 16921 16922 // Subtract parent offsets and element margins 16923 return { 16924 top: offset.top - parentOffset.top - jQuery.css( elem, "marginTop", true ), 16925 left: offset.left - parentOffset.left - jQuery.css( elem, "marginLeft", true ) 16926 }; 16927 }, 16928 16929 // This method will return documentElement in the following cases: 16930 // 1) For the element inside the iframe without offsetParent, this method will return 16931 // documentElement of the parent window 16932 // 2) For the hidden or detached element 16933 // 3) For body or html element, i.e. in case of the html node - it will return itself 16934 // 16935 // but those exceptions were never presented as a real life use-cases 16936 // and might be considered as more preferable results. 16937 // 16938 // This logic, however, is not guaranteed and can change at any point in the future 16939 offsetParent: function() { 16940 return this.map( function() { 16941 var offsetParent = this.offsetParent; 16942 16943 while ( offsetParent && jQuery.css( offsetParent, "position" ) === "static" ) { 16944 offsetParent = offsetParent.offsetParent; 16945 } 16946 16947 return offsetParent || documentElement; 16948 } ); 16949 } 16950} ); 16951 16952// Create scrollLeft and scrollTop methods 16953jQuery.each( { scrollLeft: "pageXOffset", scrollTop: "pageYOffset" }, function( method, prop ) { 16954 var top = "pageYOffset" === prop; 16955 16956 jQuery.fn[ method ] = function( val ) { 16957 return access( this, function( elem, method, val ) { 16958 16959 // Coalesce documents and windows 16960 var win; 16961 if ( isWindow( elem ) ) { 16962 win = elem; 16963 } else if ( elem.nodeType === 9 ) { 16964 win = elem.defaultView; 16965 } 16966 16967 if ( val === undefined ) { 16968 return win ? win[ prop ] : elem[ method ]; 16969 } 16970 16971 if ( win ) { 16972 win.scrollTo( 16973 !top ? val : win.pageXOffset, 16974 top ? val : win.pageYOffset 16975 ); 16976 16977 } else { 16978 elem[ method ] = val; 16979 } 16980 }, method, val, arguments.length ); 16981 }; 16982} ); 16983 16984// Support: Safari <=7 - 9.1, Chrome <=37 - 49 16985// Add the top/left cssHooks using jQuery.fn.position 16986// Webkit bug: https://bugs.webkit.org/show_bug.cgi?id=29084 16987// Blink bug: https://bugs.chromium.org/p/chromium/issues/detail?id=589347 16988// getComputedStyle returns percent when specified for top/left/bottom/right; 16989// rather than make the css module depend on the offset module, just check for it here 16990jQuery.each( [ "top", "left" ], function( _i, prop ) { 16991 jQuery.cssHooks[ prop ] = addGetHookIf( support.pixelPosition, 16992 function( elem, computed ) { 16993 if ( computed ) { 16994 computed = curCSS( elem, prop ); 16995 16996 // If curCSS returns percentage, fallback to offset 16997 return rnumnonpx.test( computed ) ? 16998 jQuery( elem ).position()[ prop ] + "px" : 16999 computed; 17000 } 17001 } 17002 ); 17003} ); 17004 17005 17006// Create innerHeight, innerWidth, height, width, outerHeight and outerWidth methods 17007jQuery.each( { Height: "height", Width: "width" }, function( name, type ) { 17008 jQuery.each( { 17009 padding: "inner" + name, 17010 content: type, 17011 "": "outer" + name 17012 }, function( defaultExtra, funcName ) { 17013 17014 // Margin is only for outerHeight, outerWidth 17015 jQuery.fn[ funcName ] = function( margin, value ) { 17016 var chainable = arguments.length && ( defaultExtra || typeof margin !== "boolean" ), 17017 extra = defaultExtra || ( margin === true || value === true ? "margin" : "border" ); 17018 17019 return access( this, function( elem, type, value ) { 17020 var doc; 17021 17022 if ( isWindow( elem ) ) { 17023 17024 // $( window ).outerWidth/Height return w/h including scrollbars (gh-1729) 17025 return funcName.indexOf( "outer" ) === 0 ? 17026 elem[ "inner" + name ] : 17027 elem.document.documentElement[ "client" + name ]; 17028 } 17029 17030 // Get document width or height 17031 if ( elem.nodeType === 9 ) { 17032 doc = elem.documentElement; 17033 17034 // Either scroll[Width/Height] or offset[Width/Height] or client[Width/Height], 17035 // whichever is greatest 17036 return Math.max( 17037 elem.body[ "scroll" + name ], doc[ "scroll" + name ], 17038 elem.body[ "offset" + name ], doc[ "offset" + name ], 17039 doc[ "client" + name ] 17040 ); 17041 } 17042 17043 return value === undefined ? 17044 17045 // Get width or height on the element, requesting but not forcing parseFloat 17046 jQuery.css( elem, type, extra ) : 17047 17048 // Set width or height on the element 17049 jQuery.style( elem, type, value, extra ); 17050 }, type, chainable ? margin : undefined, chainable ); 17051 }; 17052 } ); 17053} ); 17054 17055 17056jQuery.each( [ 17057 "ajaxStart", 17058 "ajaxStop", 17059 "ajaxComplete", 17060 "ajaxError", 17061 "ajaxSuccess", 17062 "ajaxSend" 17063], function( _i, type ) { 17064 jQuery.fn[ type ] = function( fn ) { 17065 return this.on( type, fn ); 17066 }; 17067} ); 17068 17069 17070 17071 17072jQuery.fn.extend( { 17073 17074 bind: function( types, data, fn ) { 17075 return this.on( types, null, data, fn ); 17076 }, 17077 unbind: function( types, fn ) { 17078 return this.off( types, null, fn ); 17079 }, 17080 17081 delegate: function( selector, types, data, fn ) { 17082 return this.on( types, selector, data, fn ); 17083 }, 17084 undelegate: function( selector, types, fn ) { 17085 17086 // ( namespace ) or ( selector, types [, fn] ) 17087 return arguments.length === 1 ? 17088 this.off( selector, "**" ) : 17089 this.off( types, selector || "**", fn ); 17090 }, 17091 17092 hover: function( fnOver, fnOut ) { 17093 return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver ); 17094 } 17095} ); 17096 17097jQuery.each( 17098 ( "blur focus focusin focusout resize scroll click dblclick " + 17099 "mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " + 17100 "change select submit keydown keypress keyup contextmenu" ).split( " " ), 17101 function( _i, name ) { 17102 17103 // Handle event binding 17104 jQuery.fn[ name ] = function( data, fn ) { 17105 return arguments.length > 0 ? 17106 this.on( name, null, data, fn ) : 17107 this.trigger( name ); 17108 }; 17109 } 17110); 17111 17112 17113 17114 17115// Support: Android <=4.0 only 17116// Make sure we trim BOM and NBSP 17117var rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g; 17118 17119// Bind a function to a context, optionally partially applying any 17120// arguments. 17121// jQuery.proxy is deprecated to promote standards (specifically Function#bind) 17122// However, it is not slated for removal any time soon 17123jQuery.proxy = function( fn, context ) { 17124 var tmp, args, proxy; 17125 17126 if ( typeof context === "string" ) { 17127 tmp = fn[ context ]; 17128 context = fn; 17129 fn = tmp; 17130 } 17131 17132 // Quick check to determine if target is callable, in the spec 17133 // this throws a TypeError, but we will just return undefined. 17134 if ( !isFunction( fn ) ) { 17135 return undefined; 17136 } 17137 17138 // Simulated bind 17139 args = slice.call( arguments, 2 ); 17140 proxy = function() { 17141 return fn.apply( context || this, args.concat( slice.call( arguments ) ) ); 17142 }; 17143 17144 // Set the guid of unique handler to the same of original handler, so it can be removed 17145 proxy.guid = fn.guid = fn.guid || jQuery.guid++; 17146 17147 return proxy; 17148}; 17149 17150jQuery.holdReady = function( hold ) { 17151 if ( hold ) { 17152 jQuery.readyWait++; 17153 } else { 17154 jQuery.ready( true ); 17155 } 17156}; 17157jQuery.isArray = Array.isArray; 17158jQuery.parseJSON = JSON.parse; 17159jQuery.nodeName = nodeName; 17160jQuery.isFunction = isFunction; 17161jQuery.isWindow = isWindow; 17162jQuery.camelCase = camelCase; 17163jQuery.type = toType; 17164 17165jQuery.now = Date.now; 17166 17167jQuery.isNumeric = function( obj ) { 17168 17169 // As of jQuery 3.0, isNumeric is limited to 17170 // strings and numbers (primitives or objects) 17171 // that can be coerced to finite numbers (gh-2662) 17172 var type = jQuery.type( obj ); 17173 return ( type === "number" || type === "string" ) && 17174 17175 // parseFloat NaNs numeric-cast false positives ("") 17176 // ...but misinterprets leading-number strings, particularly hex literals ("0x...") 17177 // subtraction forces infinities to NaN 17178 !isNaN( obj - parseFloat( obj ) ); 17179}; 17180 17181jQuery.trim = function( text ) { 17182 return text == null ? 17183 "" : 17184 ( text + "" ).replace( rtrim, "" ); 17185}; 17186 17187 17188 17189// Register as a named AMD module, since jQuery can be concatenated with other 17190// files that may use define, but not via a proper concatenation script that 17191// understands anonymous AMD modules. A named AMD is safest and most robust 17192// way to register. Lowercase jquery is used because AMD module names are 17193// derived from file names, and jQuery is normally delivered in a lowercase 17194// file name. Do this after creating the global so that if an AMD module wants 17195// to call noConflict to hide this version of jQuery, it will work. 17196 17197// Note that for maximum portability, libraries that are not jQuery should 17198// declare themselves as anonymous modules, and avoid setting a global if an 17199// AMD loader is present. jQuery is a special case. For more information, see 17200// https://github.com/jrburke/requirejs/wiki/Updating-existing-libraries#wiki-anon 17201 17202if ( true ) { 17203 !(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_RESULT__ = (function() { 17204 return jQuery; 17205 }).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), 17206 __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); 17207} 17208 17209 17210 17211 17212var 17213 17214 // Map over jQuery in case of overwrite 17215 _jQuery = window.jQuery, 17216 17217 // Map over the $ in case of overwrite 17218 _$ = window.$; 17219 17220jQuery.noConflict = function( deep ) { 17221 if ( window.$ === jQuery ) { 17222 window.$ = _$; 17223 } 17224 17225 if ( deep && window.jQuery === jQuery ) { 17226 window.jQuery = _jQuery; 17227 } 17228 17229 return jQuery; 17230}; 17231 17232// Expose jQuery and $ identifiers, even in AMD 17233// (#7102#comment:10, https://github.com/jquery/jquery/pull/557) 17234// and CommonJS for browser emulators (#13566) 17235if ( typeof noGlobal === "undefined" ) { 17236 window.jQuery = window.$ = jQuery; 17237} 17238 17239 17240 17241 17242return jQuery; 17243} ); 17244 17245 17246/***/ }), 17247
vendor: 4,669 bytes, lines 17248-17422
17248/***/ "./node_modules/ssr-window/ssr-window.esm.js": 17249/*!***************************************************!*\ 17250 !*** ./node_modules/ssr-window/ssr-window.esm.js ***! 17251 \***************************************************/ 17252/*! namespace exports */ 17253/*! export extend [provided] [no usage info] [missing usage info prevents renaming] */ 17254/*! export getDocument [provided] [no usage info] [missing usage info prevents renaming] */ 17255/*! export getWindow [provided] [no usage info] [missing usage info prevents renaming] */ 17256/*! export ssrDocument [provided] [no usage info] [missing usage info prevents renaming] */ 17257/*! export ssrWindow [provided] [no usage info] [missing usage info prevents renaming] */ 17258/*! other exports [not provided] [no usage info] */ 17259/*! runtime requirements: __webpack_require__.r, __webpack_exports__, __webpack_require__.d, __webpack_require__.* */ 17260/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 17261 17262"use strict"; 17263__webpack_require__.r(__webpack_exports__); 17264/* harmony export */ __webpack_require__.d(__webpack_exports__, { 17265/* harmony export */ "extend": function() { return /* binding */ extend; }, 17266/* harmony export */ "getDocument": function() { return /* binding */ getDocument; }, 17267/* harmony export */ "getWindow": function() { return /* binding */ getWindow; }, 17268/* harmony export */ "ssrDocument": function() { return /* binding */ ssrDocument; }, 17269/* harmony export */ "ssrWindow": function() { return /* binding */ ssrWindow; } 17270/* harmony export */ }); 17271/** 17272 * SSR Window 4.0.2 17273 * Better handling for window object in SSR environment 17274 * https://github.com/nolimits4web/ssr-window 17275 * 17276 * Copyright 2021, Vladimir Kharlampidi 17277 * 17278 * Licensed under MIT 17279 * 17280 * Released on: December 13, 2021 17281 */ 17282/* eslint-disable no-param-reassign */ 17283function isObject(obj) { 17284 return (obj !== null && 17285 typeof obj === 'object' && 17286 'constructor' in obj && 17287 obj.constructor === Object); 17288} 17289function extend(target = {}, src = {}) { 17290 Object.keys(src).forEach((key) => { 17291 if (typeof target[key] === 'undefined') 17292 target[key] = src[key]; 17293 else if (isObject(src[key]) && 17294 isObject(target[key]) && 17295 Object.keys(src[key]).length > 0) { 17296 extend(target[key], src[key]); 17297 } 17298 }); 17299} 17300 17301const ssrDocument = { 17302 body: {}, 17303 addEventListener() { }, 17304 removeEventListener() { }, 17305 activeElement: { 17306 blur() { }, 17307 nodeName: '', 17308 }, 17309 querySelector() { 17310 return null; 17311 }, 17312 querySelectorAll() { 17313 return []; 17314 }, 17315 getElementById() { 17316 return null; 17317 }, 17318 createEvent() { 17319 return { 17320 initEvent() { }, 17321 }; 17322 }, 17323 createElement() { 17324 return { 17325 children: [], 17326 childNodes: [], 17327 style: {}, 17328 setAttribute() { }, 17329 getElementsByTagName() { 17330 return []; 17331 }, 17332 }; 17333 }, 17334 createElementNS() { 17335 return {}; 17336 }, 17337 importNode() { 17338 return null; 17339 }, 17340 location: { 17341 hash: '', 17342 host: '', 17343 hostname: '', 17344 href: '', 17345 origin: '', 17346 pathname: '', 17347 protocol: '', 17348 search: '', 17349 }, 17350}; 17351function getDocument() { 17352 const doc = typeof document !== 'undefined' ? document : {}; 17353 extend(doc, ssrDocument); 17354 return doc; 17355} 17356 17357const ssrWindow = { 17358 document: ssrDocument, 17359 navigator: { 17360 userAgent: '', 17361 }, 17362 location: { 17363 hash: '', 17364 host: '', 17365 hostname: '', 17366 href: '', 17367 origin: '', 17368 pathname: '', 17369 protocol: '', 17370 search: '', 17371 }, 17372 history: { 17373 replaceState() { }, 17374 pushState() { }, 17375 go() { }, 17376 back() { }, 17377 }, 17378 CustomEvent: function CustomEvent() { 17379 return this; 17380 }, 17381 addEventListener() { }, 17382 removeEventListener() { }, 17383 getComputedStyle() { 17384 return { 17385 getPropertyValue() { 17386 return ''; 17387 }, 17388 }; 17389 }, 17390 Image() { }, 17391 Date() { }, 17392 screen: {}, 17393 setTimeout() { }, 17394 clearTimeout() { }, 17395 matchMedia() { 17396 return {}; 17397 }, 17398 requestAnimationFrame(callback) { 17399 if (typeof setTimeout === 'undefined') { 17400 callback(); 17401 return null; 17402 } 17403 return setTimeout(callback, 0); 17404 }, 17405 cancelAnimationFrame(id) { 17406 if (typeof setTimeout === 'undefined') { 17407 return; 17408 } 17409 clearTimeout(id); 17410 }, 17411}; 17412function getWindow() { 17413 const win = typeof window !== 'undefined' ? window : {}; 17414 extend(win, ssrWindow); 17415 return win; 17416} 17417 17418 17419 17420 17421/***/ }), 17422
vendor: 5,013 bytes, lines 17423-17478
17423/***/ "./node_modules/swiper/swiper-bundle.css": 17424/*!***********************************************!*\ 17425 !*** ./node_modules/swiper/swiper-bundle.css ***! 17426 \***********************************************/ 17427/*! namespace exports */ 17428/*! export default [provided] [no usage info] [missing usage info prevents renaming] */ 17429/*! other exports [not provided] [no usage info] */ 17430/*! runtime requirements: __webpack_require__, __webpack_require__.n, __webpack_exports__, __webpack_require__.r, __webpack_require__.* */ 17431/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 17432 17433"use strict"; 17434__webpack_require__.r(__webpack_exports__); 17435/* harmony import */ var _style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../style-loader/dist/runtime/injectStylesIntoStyleTag.js */ "./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"); 17436/* harmony import */ var _style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__); 17437/* harmony import */ var _style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../style-loader/dist/runtime/styleDomAPI.js */ "./node_modules/style-loader/dist/runtime/styleDomAPI.js"); 17438/* harmony import */ var _style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__); 17439/* harmony import */ var _style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! !../style-loader/dist/runtime/insertBySelector.js */ "./node_modules/style-loader/dist/runtime/insertBySelector.js"); 17440/* harmony import */ var _style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__); 17441/* harmony import */ var _style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! !../style-loader/dist/runtime/setAttributesWithoutAttributes.js */ "./node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js"); 17442/* harmony import */ var _style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__); 17443/* harmony import */ var _style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! !../style-loader/dist/runtime/insertStyleElement.js */ "./node_modules/style-loader/dist/runtime/insertStyleElement.js"); 17444/* harmony import */ var _style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__); 17445/* harmony import */ var _style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! !../style-loader/dist/runtime/styleTagTransform.js */ "./node_modules/style-loader/dist/runtime/styleTagTransform.js"); 17446/* harmony import */ var _style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__); 17447/* harmony import */ var _css_loader_dist_cjs_js_swiper_bundle_css__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! !!../css-loader/dist/cjs.js!./swiper-bundle.css */ "./node_modules/css-loader/dist/cjs.js!./node_modules/swiper/swiper-bundle.css"); 17448 17449 ; 17450 17451 17452 17453 17454 17455 17456 17457 17458 17459var options = {}; 17460 17461options.styleTagTransform = (_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default()); 17462options.setAttributes = (_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default()); 17463 17464 options.insert = _style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default().bind(null, "head"); 17465 17466options.domAPI = (_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default()); 17467options.insertStyleElement = (_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default()); 17468 17469var update = _style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_css_loader_dist_cjs_js_swiper_bundle_css__WEBPACK_IMPORTED_MODULE_6__.default, options); 17470 17471 17472 17473 17474 /* harmony default export */ __webpack_exports__["default"] = (_css_loader_dist_cjs_js_swiper_bundle_css__WEBPACK_IMPORTED_MODULE_6__.default && _css_loader_dist_cjs_js_swiper_bundle_css__WEBPACK_IMPORTED_MODULE_6__.default.locals ? _css_loader_dist_cjs_js_swiper_bundle_css__WEBPACK_IMPORTED_MODULE_6__.default.locals : undefined); 17475 17476 17477/***/ }), 17478
vendor: 3,009 bytes, lines 17479-17595
17479/***/ "./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js": 17480/*!****************************************************************************!*\ 17481 !*** ./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js ***! 17482 \****************************************************************************/ 17483/*! unknown exports (runtime-defined) */ 17484/*! runtime requirements: module */ 17485/*! CommonJS bailout: module.exports is used directly at 75:0-14 */ 17486/***/ (function(module) { 17487 17488"use strict"; 17489 17490 17491var stylesInDOM = []; 17492 17493function getIndexByIdentifier(identifier) { 17494 var result = -1; 17495 17496 for (var i = 0; i < stylesInDOM.length; i++) { 17497 if (stylesInDOM[i].identifier === identifier) { 17498 result = i; 17499 break; 17500 } 17501 } 17502 17503 return result; 17504} 17505 17506function modulesToDom(list, options) { 17507 var idCountMap = {}; 17508 var identifiers = []; 17509 17510 for (var i = 0; i < list.length; i++) { 17511 var item = list[i]; 17512 var id = options.base ? item[0] + options.base : item[0]; 17513 var count = idCountMap[id] || 0; 17514 var identifier = "".concat(id, " ").concat(count); 17515 idCountMap[id] = count + 1; 17516 var indexByIdentifier = getIndexByIdentifier(identifier); 17517 var obj = { 17518 css: item[1], 17519 media: item[2], 17520 sourceMap: item[3], 17521 supports: item[4], 17522 layer: item[5] 17523 }; 17524 17525 if (indexByIdentifier !== -1) { 17526 stylesInDOM[indexByIdentifier].references++; 17527 stylesInDOM[indexByIdentifier].updater(obj); 17528 } else { 17529 var updater = addElementStyle(obj, options); 17530 options.byIndex = i; 17531 stylesInDOM.splice(i, 0, { 17532 identifier: identifier, 17533 updater: updater, 17534 references: 1 17535 }); 17536 } 17537 17538 identifiers.push(identifier); 17539 } 17540 17541 return identifiers; 17542} 17543 17544function addElementStyle(obj, options) { 17545 var api = options.domAPI(options); 17546 api.update(obj); 17547 17548 var updater = function updater(newObj) { 17549 if (newObj) { 17550 if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap && newObj.supports === obj.supports && newObj.layer === obj.layer) { 17551 return; 17552 } 17553 17554 api.update(obj = newObj); 17555 } else { 17556 api.remove(); 17557 } 17558 }; 17559 17560 return updater; 17561} 17562 17563module.exports = function (list, options) { 17564 options = options || {}; 17565 list = list || []; 17566 var lastIdentifiers = modulesToDom(list, options); 17567 return function update(newList) { 17568 newList = newList || []; 17569 17570 for (var i = 0; i < lastIdentifiers.length; i++) { 17571 var identifier = lastIdentifiers[i]; 17572 var index = getIndexByIdentifier(identifier); 17573 stylesInDOM[index].references--; 17574 } 17575 17576 var newLastIdentifiers = modulesToDom(newList, options); 17577 17578 for (var _i = 0; _i < lastIdentifiers.length; _i++) { 17579 var _identifier = lastIdentifiers[_i]; 17580 17581 var _index = getIndexByIdentifier(_identifier); 17582 17583 if (stylesInDOM[_index].references === 0) { 17584 stylesInDOM[_index].updater(); 17585 17586 stylesInDOM.splice(_index, 1); 17587 } 17588 } 17589 17590 lastIdentifiers = newLastIdentifiers; 17591 }; 17592}; 17593 17594/***/ }), 17595
vendor: 1,482 bytes, lines 17596-17647
17596/***/ "./node_modules/style-loader/dist/runtime/insertBySelector.js": 17597/*!********************************************************************!*\ 17598 !*** ./node_modules/style-loader/dist/runtime/insertBySelector.js ***! 17599 \********************************************************************/ 17600/*! unknown exports (runtime-defined) */ 17601/*! runtime requirements: module */ 17602/*! CommonJS bailout: module.exports is used directly at 39:0-14 */ 17603/***/ (function(module) { 17604 17605"use strict"; 17606 17607 17608var memo = {}; 17609/* istanbul ignore next */ 17610 17611function getTarget(target) { 17612 if (typeof memo[target] === "undefined") { 17613 var styleTarget = document.querySelector(target); // Special case to return head of iframe instead of iframe itself 17614 17615 if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) { 17616 try { 17617 // This will throw an exception if access to iframe is blocked 17618 // due to cross-origin restrictions 17619 styleTarget = styleTarget.contentDocument.head; 17620 } catch (e) { 17621 // istanbul ignore next 17622 styleTarget = null; 17623 } 17624 } 17625 17626 memo[target] = styleTarget; 17627 } 17628 17629 return memo[target]; 17630} 17631/* istanbul ignore next */ 17632 17633 17634function insertBySelector(insert, style) { 17635 var target = getTarget(insert); 17636 17637 if (!target) { 17638 throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid."); 17639 } 17640 17641 target.appendChild(style); 17642} 17643 17644module.exports = insertBySelector; 17645 17646/***/ }), 17647
vendor: 771 bytes, lines 17648-17671
17648/***/ "./node_modules/style-loader/dist/runtime/insertStyleElement.js": 17649/*!**********************************************************************!*\ 17650 !*** ./node_modules/style-loader/dist/runtime/insertStyleElement.js ***! 17651 \**********************************************************************/ 17652/*! unknown exports (runtime-defined) */ 17653/*! runtime requirements: module */ 17654/*! CommonJS bailout: module.exports is used directly at 11:0-14 */ 17655/***/ (function(module) { 17656 17657"use strict"; 17658 17659 17660/* istanbul ignore next */ 17661function insertStyleElement(options) { 17662 var element = document.createElement("style"); 17663 options.setAttributes(element, options.attributes); 17664 options.insert(element, options.options); 17665 return element; 17666} 17667 17668module.exports = insertStyleElement; 17669 17670/***/ }), 17671
vendor: 894 bytes, lines 17672-17696
17672/***/ "./node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js": 17673/*!**********************************************************************************!*\ 17674 !*** ./node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js ***! 17675 \**********************************************************************************/ 17676/*! unknown exports (runtime-defined) */ 17677/*! runtime requirements: module, __webpack_require__.nc, __webpack_require__.* */ 17678/*! CommonJS bailout: module.exports is used directly at 12:0-14 */ 17679/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 17680 17681"use strict"; 17682 17683 17684/* istanbul ignore next */ 17685function setAttributesWithoutAttributes(styleElement) { 17686 var nonce = true ? __webpack_require__.nc : 0; 17687 17688 if (nonce) { 17689 styleElement.setAttribute("nonce", nonce); 17690 } 17691} 17692 17693module.exports = setAttributesWithoutAttributes; 17694 17695/***/ }), 17696
vendor: 1,869 bytes, lines 17697-17779
17697/***/ "./node_modules/style-loader/dist/runtime/styleDomAPI.js": 17698/*!***************************************************************!*\ 17699 !*** ./node_modules/style-loader/dist/runtime/styleDomAPI.js ***! 17700 \***************************************************************/ 17701/*! unknown exports (runtime-defined) */ 17702/*! runtime requirements: module */ 17703/*! CommonJS bailout: module.exports is used directly at 70:0-14 */ 17704/***/ (function(module) { 17705 17706"use strict"; 17707 17708 17709/* istanbul ignore next */ 17710function apply(styleElement, options, obj) { 17711 var css = ""; 17712 17713 if (obj.supports) { 17714 css += "@supports (".concat(obj.supports, ") {"); 17715 } 17716 17717 if (obj.media) { 17718 css += "@media ".concat(obj.media, " {"); 17719 } 17720 17721 var needLayer = typeof obj.layer !== "undefined"; 17722 17723 if (needLayer) { 17724 css += "@layer".concat(obj.layer.length > 0 ? " ".concat(obj.layer) : "", " {"); 17725 } 17726 17727 css += obj.css; 17728 17729 if (needLayer) { 17730 css += "}"; 17731 } 17732 17733 if (obj.media) { 17734 css += "}"; 17735 } 17736 17737 if (obj.supports) { 17738 css += "}"; 17739 } 17740 17741 var sourceMap = obj.sourceMap; 17742 17743 if (sourceMap && typeof btoa !== "undefined") { 17744 css += "\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), " */"); 17745 } // For old IE 17746 17747 /* istanbul ignore if */ 17748 17749 17750 options.styleTagTransform(css, styleElement, options.options); 17751} 17752 17753function removeStyleElement(styleElement) { 17754 // istanbul ignore if 17755 if (styleElement.parentNode === null) { 17756 return false; 17757 } 17758 17759 styleElement.parentNode.removeChild(styleElement); 17760} 17761/* istanbul ignore next */ 17762 17763 17764function domAPI(options) { 17765 var styleElement = options.insertStyleElement(options); 17766 return { 17767 update: function update(obj) { 17768 apply(styleElement, options, obj); 17769 }, 17770 remove: function remove() { 17771 removeStyleElement(styleElement); 17772 } 17773 }; 17774} 17775 17776module.exports = domAPI; 17777 17778/***/ }), 17779
vendor: 863 bytes, lines 17780-17808
17780/***/ "./node_modules/style-loader/dist/runtime/styleTagTransform.js": 17781/*!*********************************************************************!*\ 17782 !*** ./node_modules/style-loader/dist/runtime/styleTagTransform.js ***! 17783 \*********************************************************************/ 17784/*! unknown exports (runtime-defined) */ 17785/*! runtime requirements: module */ 17786/*! CommonJS bailout: module.exports is used directly at 16:0-14 */ 17787/***/ (function(module) { 17788 17789"use strict"; 17790 17791 17792/* istanbul ignore next */ 17793function styleTagTransform(css, styleElement) { 17794 if (styleElement.styleSheet) { 17795 styleElement.styleSheet.cssText = css; 17796 } else { 17797 while (styleElement.firstChild) { 17798 styleElement.removeChild(styleElement.firstChild); 17799 } 17800 17801 styleElement.appendChild(document.createTextNode(css)); 17802 } 17803} 17804 17805module.exports = styleTagTransform; 17806 17807/***/ }), 17808
vendor: 2,177 bytes, lines 17809-17867
17809/***/ "./node_modules/swiper/core/breakpoints/getBreakpoint.js": 17810/*!***************************************************************!*\ 17811 !*** ./node_modules/swiper/core/breakpoints/getBreakpoint.js ***! 17812 \***************************************************************/ 17813/*! namespace exports */ 17814/*! export default [provided] [no usage info] [missing usage info prevents renaming] */ 17815/*! other exports [not provided] [no usage info] */ 17816/*! runtime requirements: __webpack_require__, __webpack_require__.r, __webpack_exports__, __webpack_require__.d, __webpack_require__.* */ 17817/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 17818 17819"use strict"; 17820__webpack_require__.r(__webpack_exports__); 17821/* harmony export */ __webpack_require__.d(__webpack_exports__, { 17822/* harmony export */ "default": function() { return /* binding */ getBreakpoint; } 17823/* harmony export */ }); 17824/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ "./node_modules/ssr-window/ssr-window.esm.js"); 17825; 17826function getBreakpoint(breakpoints, base = 'window', containerEl) { 17827 if (!breakpoints || base === 'container' && !containerEl) return undefined; 17828 let breakpoint = false; 17829 const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)(); 17830 const currentHeight = base === 'window' ? window.innerHeight : containerEl.clientHeight; 17831 const points = Object.keys(breakpoints).map(point => { 17832 if (typeof point === 'string' && point.indexOf('@') === 0) { 17833 const minRatio = parseFloat(point.substr(1)); 17834 const value = currentHeight * minRatio; 17835 return { 17836 value, 17837 point 17838 }; 17839 } 17840 17841 return { 17842 value: point, 17843 point 17844 }; 17845 }); 17846 points.sort((a, b) => parseInt(a.value, 10) - parseInt(b.value, 10)); 17847 17848 for (let i = 0; i < points.length; i += 1) { 17849 const { 17850 point, 17851 value 17852 } = points[i]; 17853 17854 if (base === 'window') { 17855 if (window.matchMedia(`(min-width: ${value}px)`).matches) { 17856 breakpoint = point; 17857 } 17858 } else if (value <= containerEl.clientWidth) { 17859 breakpoint = point; 17860 } 17861 } 17862 17863 return breakpoint || 'max'; 17864} 17865 17866/***/ }), 17867
vendor: 1,265 bytes, lines 17868-17890
17868/***/ "./node_modules/swiper/core/breakpoints/index.js": 17869/*!*******************************************************!*\ 17870 !*** ./node_modules/swiper/core/breakpoints/index.js ***! 17871 \*******************************************************/ 17872/*! namespace exports */ 17873/*! export default [provided] [no usage info] [missing usage info prevents renaming] */ 17874/*! other exports [not provided] [no usage info] */ 17875/*! runtime requirements: __webpack_require__, __webpack_exports__, __webpack_require__.r, __webpack_require__.* */ 17876/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 17877 17878"use strict"; 17879__webpack_require__.r(__webpack_exports__); 17880/* harmony import */ var _setBreakpoint_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./setBreakpoint.js */ "./node_modules/swiper/core/breakpoints/setBreakpoint.js"); 17881/* harmony import */ var _getBreakpoint_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./getBreakpoint.js */ "./node_modules/swiper/core/breakpoints/getBreakpoint.js"); 17882; 17883 17884/* harmony default export */ __webpack_exports__["default"] = ({ 17885 setBreakpoint: _setBreakpoint_js__WEBPACK_IMPORTED_MODULE_0__.default, 17886 getBreakpoint: _getBreakpoint_js__WEBPACK_IMPORTED_MODULE_1__.default 17887}); 17888 17889/***/ }), 17890
vendor: 4,076 bytes, lines 17891-17994
17891/***/ "./node_modules/swiper/core/breakpoints/setBreakpoint.js": 17892/*!***************************************************************!*\ 17893 !*** ./node_modules/swiper/core/breakpoints/setBreakpoint.js ***! 17894 \***************************************************************/ 17895/*! namespace exports */ 17896/*! export default [provided] [no usage info] [missing usage info prevents renaming] */ 17897/*! other exports [not provided] [no usage info] */ 17898/*! runtime requirements: __webpack_require__, __webpack_require__.r, __webpack_exports__, __webpack_require__.d, __webpack_require__.* */ 17899/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 17900 17901"use strict"; 17902__webpack_require__.r(__webpack_exports__); 17903/* harmony export */ __webpack_require__.d(__webpack_exports__, { 17904/* harmony export */ "default": function() { return /* binding */ setBreakpoint; } 17905/* harmony export */ }); 17906/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/utils.js */ "./node_modules/swiper/shared/utils.js"); 17907; 17908 17909const isGridEnabled = (swiper, params) => { 17910 return swiper.grid && params.grid && params.grid.rows > 1; 17911}; 17912 17913function setBreakpoint() { 17914 const swiper = this; 17915 const { 17916 activeIndex, 17917 initialized, 17918 loopedSlides = 0, 17919 params, 17920 $el 17921 } = swiper; 17922 const breakpoints = params.breakpoints; 17923 if (!breakpoints || breakpoints && Object.keys(breakpoints).length === 0) return; // Get breakpoint for window width and update parameters 17924 17925 const breakpoint = swiper.getBreakpoint(breakpoints, swiper.params.breakpointsBase, swiper.el); 17926 if (!breakpoint || swiper.currentBreakpoint === breakpoint) return; 17927 const breakpointOnlyParams = breakpoint in breakpoints ? breakpoints[breakpoint] : undefined; 17928 const breakpointParams = breakpointOnlyParams || swiper.originalParams; 17929 const wasMultiRow = isGridEnabled(swiper, params); 17930 const isMultiRow = isGridEnabled(swiper, breakpointParams); 17931 const wasEnabled = params.enabled; 17932 17933 if (wasMultiRow && !isMultiRow) { 17934 $el.removeClass(`${params.containerModifierClass}grid ${params.containerModifierClass}grid-column`); 17935 swiper.emitContainerClasses(); 17936 } else if (!wasMultiRow && isMultiRow) { 17937 $el.addClass(`${params.containerModifierClass}grid`); 17938 17939 if (breakpointParams.grid.fill && breakpointParams.grid.fill === 'column' || !breakpointParams.grid.fill && params.grid.fill === 'column') { 17940 $el.addClass(`${params.containerModifierClass}grid-column`); 17941 } 17942 17943 swiper.emitContainerClasses(); 17944 } // Toggle navigation, pagination, scrollbar 17945 17946 17947 ['navigation', 'pagination', 'scrollbar'].forEach(prop => { 17948 const wasModuleEnabled = params[prop] && params[prop].enabled; 17949 const isModuleEnabled = breakpointParams[prop] && breakpointParams[prop].enabled; 17950 17951 if (wasModuleEnabled && !isModuleEnabled) { 17952 swiper[prop].disable(); 17953 } 17954 17955 if (!wasModuleEnabled && isModuleEnabled) { 17956 swiper[prop].enable(); 17957 } 17958 }); 17959 const directionChanged = breakpointParams.direction && breakpointParams.direction !== params.direction; 17960 const needsReLoop = params.loop && (breakpointParams.slidesPerView !== params.slidesPerView || directionChanged); 17961 17962 if (directionChanged && initialized) { 17963 swiper.changeDirection(); 17964 } 17965 17966 (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.extend)(swiper.params, breakpointParams); 17967 const isEnabled = swiper.params.enabled; 17968 Object.assign(swiper, { 17969 allowTouchMove: swiper.params.allowTouchMove, 17970 allowSlideNext: swiper.params.allowSlideNext, 17971 allowSlidePrev: swiper.params.allowSlidePrev 17972 }); 17973 17974 if (wasEnabled && !isEnabled) { 17975 swiper.disable(); 17976 } else if (!wasEnabled && isEnabled) { 17977 swiper.enable(); 17978 } 17979 17980 swiper.currentBreakpoint = breakpoint; 17981 swiper.emit('_beforeBreakpoint', breakpointParams); 17982 17983 if (needsReLoop && initialized) { 17984 swiper.loopDestroy(); 17985 swiper.loopCreate(); 17986 swiper.updateSlides(); 17987 swiper.slideTo(activeIndex - loopedSlides + swiper.loopedSlides, 0, false); 17988 } 17989 17990 swiper.emit('breakpoint', breakpointParams); 17991} 17992 17993/***/ }), 17994
vendor: 1,624 bytes, lines 17995-18047
17995/***/ "./node_modules/swiper/core/check-overflow/index.js": 17996/*!**********************************************************!*\ 17997 !*** ./node_modules/swiper/core/check-overflow/index.js ***! 17998 \**********************************************************/ 17999/*! namespace exports */ 18000/*! export default [provided] [no usage info] [missing usage info prevents renaming] */ 18001/*! other exports [not provided] [no usage info] */ 18002/*! runtime requirements: __webpack_exports__, __webpack_require__.r, __webpack_require__.* */ 18003/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 18004 18005"use strict"; 18006__webpack_require__.r(__webpack_exports__); 18007function checkOverflow() { 18008 const swiper = this; 18009 const { 18010 isLocked: wasLocked, 18011 params 18012 } = swiper; 18013 const { 18014 slidesOffsetBefore 18015 } = params; 18016 18017 if (slidesOffsetBefore) { 18018 const lastSlideIndex = swiper.slides.length - 1; 18019 const lastSlideRightEdge = swiper.slidesGrid[lastSlideIndex] + swiper.slidesSizesGrid[lastSlideIndex] + slidesOffsetBefore * 2; 18020 swiper.isLocked = swiper.size > lastSlideRightEdge; 18021 } else { 18022 swiper.isLocked = swiper.snapGrid.length === 1; 18023 } 18024 18025 if (params.allowSlideNext === true) { 18026 swiper.allowSlideNext = !swiper.isLocked; 18027 } 18028 18029 if (params.allowSlidePrev === true) { 18030 swiper.allowSlidePrev = !swiper.isLocked; 18031 } 18032 18033 if (wasLocked && wasLocked !== swiper.isLocked) { 18034 swiper.isEnd = false; 18035 } 18036 18037 if (wasLocked !== swiper.isLocked) { 18038 swiper.emit(swiper.isLocked ? 'lock' : 'unlock'); 18039 } 18040} 18041 18042/* harmony default export */ __webpack_exports__["default"] = ({ 18043 checkOverflow 18044}); 18045 18046/***/ }), 18047
vendor: 2,204 bytes, lines 18048-18119
18048/***/ "./node_modules/swiper/core/classes/addClasses.js": 18049/*!********************************************************!*\ 18050 !*** ./node_modules/swiper/core/classes/addClasses.js ***! 18051 \********************************************************/ 18052/*! namespace exports */ 18053/*! export default [provided] [no usage info] [missing usage info prevents renaming] */ 18054/*! other exports [not provided] [no usage info] */ 18055/*! runtime requirements: __webpack_require__.r, __webpack_exports__, __webpack_require__.d, __webpack_require__.* */ 18056/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 18057 18058"use strict"; 18059__webpack_require__.r(__webpack_exports__); 18060/* harmony export */ __webpack_require__.d(__webpack_exports__, { 18061/* harmony export */ "default": function() { return /* binding */ addClasses; } 18062/* harmony export */ }); 18063function prepareClasses(entries, prefix) { 18064 const resultClasses = []; 18065 entries.forEach(item => { 18066 if (typeof item === 'object') { 18067 Object.keys(item).forEach(classNames => { 18068 if (item[classNames]) { 18069 resultClasses.push(prefix + classNames); 18070 } 18071 }); 18072 } else if (typeof item === 'string') { 18073 resultClasses.push(prefix + item); 18074 } 18075 }); 18076 return resultClasses; 18077} 18078 18079function addClasses() { 18080 const swiper = this; 18081 const { 18082 classNames, 18083 params, 18084 rtl, 18085 $el, 18086 device, 18087 support 18088 } = swiper; // prettier-ignore 18089 18090 const suffixes = prepareClasses(['initialized', params.direction, { 18091 'pointer-events': !support.touch 18092 }, { 18093 'free-mode': swiper.params.freeMode && params.freeMode.enabled 18094 }, { 18095 'autoheight': params.autoHeight 18096 }, { 18097 'rtl': rtl 18098 }, { 18099 'grid': params.grid && params.grid.rows > 1 18100 }, { 18101 'grid-column': params.grid && params.grid.rows > 1 && params.grid.fill === 'column' 18102 }, { 18103 'android': device.android 18104 }, { 18105 'ios': device.ios 18106 }, { 18107 'css-mode': params.cssMode 18108 }, { 18109 'centered': params.cssMode && params.centeredSlides 18110 }, { 18111 'watch-progress': params.watchSlidesProgress 18112 }], params.containerModifierClass); 18113 classNames.push(...suffixes); 18114 $el.addClass([...classNames].join(' ')); 18115 swiper.emitContainerClasses(); 18116} 18117 18118/***/ }), 18119
vendor: 1,226 bytes, lines 18120-18142
18120/***/ "./node_modules/swiper/core/classes/index.js": 18121/*!***************************************************!*\ 18122 !*** ./node_modules/swiper/core/classes/index.js ***! 18123 \***************************************************/ 18124/*! namespace exports */ 18125/*! export default [provided] [no usage info] [missing usage info prevents renaming] */ 18126/*! other exports [not provided] [no usage info] */ 18127/*! runtime requirements: __webpack_require__, __webpack_exports__, __webpack_require__.r, __webpack_require__.* */ 18128/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 18129 18130"use strict"; 18131__webpack_require__.r(__webpack_exports__); 18132/* harmony import */ var _addClasses_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./addClasses.js */ "./node_modules/swiper/core/classes/addClasses.js"); 18133/* harmony import */ var _removeClasses_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./removeClasses.js */ "./node_modules/swiper/core/classes/removeClasses.js"); 18134; 18135 18136/* harmony default export */ __webpack_exports__["default"] = ({ 18137 addClasses: _addClasses_js__WEBPACK_IMPORTED_MODULE_0__.default, 18138 removeClasses: _removeClasses_js__WEBPACK_IMPORTED_MODULE_1__.default 18139}); 18140 18141/***/ }), 18142
vendor: 1,056 bytes, lines 18143-18169
18143/***/ "./node_modules/swiper/core/classes/removeClasses.js": 18144/*!***********************************************************!*\ 18145 !*** ./node_modules/swiper/core/classes/removeClasses.js ***! 18146 \***********************************************************/ 18147/*! namespace exports */ 18148/*! export default [provided] [no usage info] [missing usage info prevents renaming] */ 18149/*! other exports [not provided] [no usage info] */ 18150/*! runtime requirements: __webpack_require__.r, __webpack_exports__, __webpack_require__.d, __webpack_require__.* */ 18151/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 18152 18153"use strict"; 18154__webpack_require__.r(__webpack_exports__); 18155/* harmony export */ __webpack_require__.d(__webpack_exports__, { 18156/* harmony export */ "default": function() { return /* binding */ removeClasses; } 18157/* harmony export */ }); 18158function removeClasses() { 18159 const swiper = this; 18160 const { 18161 $el, 18162 classNames 18163 } = swiper; 18164 $el.removeClass(classNames.join(' ')); 18165 swiper.emitContainerClasses(); 18166} 18167 18168/***/ }), 18169
vendor: 22,697 bytes, lines 18170-18840
18170/***/ "./node_modules/swiper/core/core.js": 18171/*!******************************************!*\ 18172 !*** ./node_modules/swiper/core/core.js ***! 18173 \******************************************/ 18174/*! namespace exports */ 18175/*! export default [provided] [no usage info] [missing usage info prevents renaming] */ 18176/*! other exports [not provided] [no usage info] */ 18177/*! runtime requirements: __webpack_require__, __webpack_exports__, __webpack_require__.r, __webpack_require__.* */ 18178/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 18179 18180"use strict"; 18181__webpack_require__.r(__webpack_exports__); 18182/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ "./node_modules/ssr-window/ssr-window.esm.js"); 18183/* harmony import */ var _shared_dom_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../shared/dom.js */ "./node_modules/swiper/shared/dom.js"); 18184/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../shared/utils.js */ "./node_modules/swiper/shared/utils.js"); 18185/* harmony import */ var _shared_get_support_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../shared/get-support.js */ "./node_modules/swiper/shared/get-support.js"); 18186/* harmony import */ var _shared_get_device_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../shared/get-device.js */ "./node_modules/swiper/shared/get-device.js"); 18187/* harmony import */ var _shared_get_browser_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../shared/get-browser.js */ "./node_modules/swiper/shared/get-browser.js"); 18188/* harmony import */ var _modules_resize_resize_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./modules/resize/resize.js */ "./node_modules/swiper/core/modules/resize/resize.js"); 18189/* harmony import */ var _modules_observer_observer_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./modules/observer/observer.js */ "./node_modules/swiper/core/modules/observer/observer.js"); 18190/* harmony import */ var _events_emitter_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./events-emitter.js */ "./node_modules/swiper/core/events-emitter.js"); 18191/* harmony import */ var _update_index_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./update/index.js */ "./node_modules/swiper/core/update/index.js"); 18192/* harmony import */ var _translate_index_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./translate/index.js */ "./node_modules/swiper/core/translate/index.js"); 18193/* harmony import */ var _transition_index_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./transition/index.js */ "./node_modules/swiper/core/transition/index.js"); 18194/* harmony import */ var _slide_index_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./slide/index.js */ "./node_modules/swiper/core/slide/index.js"); 18195/* harmony import */ var _loop_index_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./loop/index.js */ "./node_modules/swiper/core/loop/index.js"); 18196/* harmony import */ var _grab_cursor_index_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./grab-cursor/index.js */ "./node_modules/swiper/core/grab-cursor/index.js"); 18197/* harmony import */ var _events_index_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./events/index.js */ "./node_modules/swiper/core/events/index.js"); 18198/* harmony import */ var _breakpoints_index_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./breakpoints/index.js */ "./node_modules/swiper/core/breakpoints/index.js"); 18199/* harmony import */ var _classes_index_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./classes/index.js */ "./node_modules/swiper/core/classes/index.js"); 18200/* harmony import */ var _images_index_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./images/index.js */ "./node_modules/swiper/core/images/index.js"); 18201/* harmony import */ var _check_overflow_index_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./check-overflow/index.js */ "./node_modules/swiper/core/check-overflow/index.js"); 18202/* harmony import */ var _defaults_js__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./defaults.js */ "./node_modules/swiper/core/defaults.js"); 18203/* harmony import */ var _moduleExtendParams_js__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./moduleExtendParams.js */ "./node_modules/swiper/core/moduleExtendParams.js"); 18204/* eslint no-param-reassign: "off" */ 18205; 18206 18207 18208 18209 18210 18211 18212 18213 18214 18215 18216 18217 18218 18219 18220 18221 18222 18223 18224 18225 18226 18227const prototypes = { 18228 eventsEmitter: _events_emitter_js__WEBPACK_IMPORTED_MODULE_8__.default, 18229 update: _update_index_js__WEBPACK_IMPORTED_MODULE_9__.default, 18230 translate: _translate_index_js__WEBPACK_IMPORTED_MODULE_10__.default, 18231 transition: _transition_index_js__WEBPACK_IMPORTED_MODULE_11__.default, 18232 slide: _slide_index_js__WEBPACK_IMPORTED_MODULE_12__.default, 18233 loop: _loop_index_js__WEBPACK_IMPORTED_MODULE_13__.default, 18234 grabCursor: _grab_cursor_index_js__WEBPACK_IMPORTED_MODULE_14__.default, 18235 events: _events_index_js__WEBPACK_IMPORTED_MODULE_15__.default, 18236 breakpoints: _breakpoints_index_js__WEBPACK_IMPORTED_MODULE_16__.default, 18237 checkOverflow: _check_overflow_index_js__WEBPACK_IMPORTED_MODULE_19__.default, 18238 classes: _classes_index_js__WEBPACK_IMPORTED_MODULE_17__.default, 18239 images: _images_index_js__WEBPACK_IMPORTED_MODULE_18__.default 18240}; 18241const extendedDefaults = {}; 18242 18243class Swiper { 18244 constructor(...args) { 18245 let el; 18246 let params; 18247 18248 if (args.length === 1 && args[0].constructor && Object.prototype.toString.call(args[0]).slice(8, -1) === 'Object') { 18249 params = args[0]; 18250 } else { 18251 [el, params] = args; 18252 } 18253 18254 if (!params) params = {}; 18255 params = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_2__.extend)({}, params); 18256 if (el && !params.el) params.el = el; 18257 18258 if (params.el && (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__.default)(params.el).length > 1) { 18259 const swipers = []; 18260 (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__.default)(params.el).each(containerEl => { 18261 const newParams = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_2__.extend)({}, params, { 18262 el: containerEl 18263 }); 18264 swipers.push(new Swiper(newParams)); 18265 }); // eslint-disable-next-line no-constructor-return 18266 18267 return swipers; 18268 } // Swiper Instance 18269 18270 18271 const swiper = this; 18272 swiper.__swiper__ = true; 18273 swiper.support = (0,_shared_get_support_js__WEBPACK_IMPORTED_MODULE_3__.getSupport)(); 18274 swiper.device = (0,_shared_get_device_js__WEBPACK_IMPORTED_MODULE_4__.getDevice)({ 18275 userAgent: params.userAgent 18276 }); 18277 swiper.browser = (0,_shared_get_browser_js__WEBPACK_IMPORTED_MODULE_5__.getBrowser)(); 18278 swiper.eventsListeners = {}; 18279 swiper.eventsAnyListeners = []; 18280 swiper.modules = [...swiper.__modules__]; 18281 18282 if (params.modules && Array.isArray(params.modules)) { 18283 swiper.modules.push(...params.modules); 18284 } 18285 18286 const allModulesParams = {}; 18287 swiper.modules.forEach(mod => { 18288 mod({ 18289 swiper, 18290 extendParams: (0,_moduleExtendParams_js__WEBPACK_IMPORTED_MODULE_21__.default)(params, allModulesParams), 18291 on: swiper.on.bind(swiper), 18292 once: swiper.once.bind(swiper), 18293 off: swiper.off.bind(swiper), 18294 emit: swiper.emit.bind(swiper) 18295 }); 18296 }); // Extend defaults with modules params 18297 18298 const swiperParams = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_2__.extend)({}, _defaults_js__WEBPACK_IMPORTED_MODULE_20__.default, allModulesParams); // Extend defaults with passed params 18299 18300 swiper.params = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_2__.extend)({}, swiperParams, extendedDefaults, params); 18301 swiper.originalParams = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_2__.extend)({}, swiper.params); 18302 swiper.passedParams = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_2__.extend)({}, params); // add event listeners 18303 18304 if (swiper.params && swiper.params.on) { 18305 Object.keys(swiper.params.on).forEach(eventName => { 18306 swiper.on(eventName, swiper.params.on[eventName]); 18307 }); 18308 } 18309 18310 if (swiper.params && swiper.params.onAny) { 18311 swiper.onAny(swiper.params.onAny); 18312 } // Save Dom lib 18313 18314 18315 swiper.$ = _shared_dom_js__WEBPACK_IMPORTED_MODULE_1__.default; // Extend Swiper 18316 18317 Object.assign(swiper, { 18318 enabled: swiper.params.enabled, 18319 el, 18320 // Classes 18321 classNames: [], 18322 // Slides 18323 slides: (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__.default)(), 18324 slidesGrid: [], 18325 snapGrid: [], 18326 slidesSizesGrid: [], 18327 18328 // isDirection 18329 isHorizontal() { 18330 return swiper.params.direction === 'horizontal'; 18331 }, 18332 18333 isVertical() { 18334 return swiper.params.direction === 'vertical'; 18335 }, 18336 18337 // Indexes 18338 activeIndex: 0, 18339 realIndex: 0, 18340 // 18341 isBeginning: true, 18342 isEnd: false, 18343 // Props 18344 translate: 0, 18345 previousTranslate: 0, 18346 progress: 0, 18347 velocity: 0, 18348 animating: false, 18349 // Locks 18350 allowSlideNext: swiper.params.allowSlideNext, 18351 allowSlidePrev: swiper.params.allowSlidePrev, 18352 // Touch Events 18353 touchEvents: function touchEvents() { 18354 const touch = ['touchstart', 'touchmove', 'touchend', 'touchcancel']; 18355 const desktop = ['pointerdown', 'pointermove', 'pointerup']; 18356 swiper.touchEventsTouch = { 18357 start: touch[0], 18358 move: touch[1], 18359 end: touch[2], 18360 cancel: touch[3] 18361 }; 18362 swiper.touchEventsDesktop = { 18363 start: desktop[0], 18364 move: desktop[1], 18365 end: desktop[2] 18366 }; 18367 return swiper.support.touch || !swiper.params.simulateTouch ? swiper.touchEventsTouch : swiper.touchEventsDesktop; 18368 }(), 18369 touchEventsData: { 18370 isTouched: undefined, 18371 isMoved: undefined, 18372 allowTouchCallbacks: undefined, 18373 touchStartTime: undefined, 18374 isScrolling: undefined, 18375 currentTranslate: undefined, 18376 startTranslate: undefined, 18377 allowThresholdMove: undefined, 18378 // Form elements to match 18379 focusableElements: swiper.params.focusableElements, 18380 // Last click time 18381 lastClickTime: (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_2__.now)(), 18382 clickTimeout: undefined, 18383 // Velocities 18384 velocities: [], 18385 allowMomentumBounce: undefined, 18386 isTouchEvent: undefined, 18387 startMoving: undefined 18388 }, 18389 // Clicks 18390 allowClick: true, 18391 // Touches 18392 allowTouchMove: swiper.params.allowTouchMove, 18393 touches: { 18394 startX: 0, 18395 startY: 0, 18396 currentX: 0, 18397 currentY: 0, 18398 diff: 0 18399 }, 18400 // Images 18401 imagesToLoad: [], 18402 imagesLoaded: 0 18403 }); 18404 swiper.emit('_swiper'); // Init 18405 18406 if (swiper.params.init) { 18407 swiper.init(); 18408 } // Return app instance 18409 // eslint-disable-next-line no-constructor-return 18410 18411 18412 return swiper; 18413 } 18414 18415 enable() { 18416 const swiper = this; 18417 if (swiper.enabled) return; 18418 swiper.enabled = true; 18419 18420 if (swiper.params.grabCursor) { 18421 swiper.setGrabCursor(); 18422 } 18423 18424 swiper.emit('enable'); 18425 } 18426 18427 disable() { 18428 const swiper = this; 18429 if (!swiper.enabled) return; 18430 swiper.enabled = false; 18431 18432 if (swiper.params.grabCursor) { 18433 swiper.unsetGrabCursor(); 18434 } 18435 18436 swiper.emit('disable'); 18437 } 18438 18439 setProgress(progress, speed) { 18440 const swiper = this; 18441 progress = Math.min(Math.max(progress, 0), 1); 18442 const min = swiper.minTranslate(); 18443 const max = swiper.maxTranslate(); 18444 const current = (max - min) * progress + min; 18445 swiper.translateTo(current, typeof speed === 'undefined' ? 0 : speed); 18446 swiper.updateActiveIndex(); 18447 swiper.updateSlidesClasses(); 18448 } 18449 18450 emitContainerClasses() { 18451 const swiper = this; 18452 if (!swiper.params._emitClasses || !swiper.el) return; 18453 const cls = swiper.el.className.split(' ').filter(className => { 18454 return className.indexOf('swiper') === 0 || className.indexOf(swiper.params.containerModifierClass) === 0; 18455 }); 18456 swiper.emit('_containerClasses', cls.join(' ')); 18457 } 18458 18459 getSlideClasses(slideEl) { 18460 const swiper = this; 18461 if (swiper.destroyed) return ''; 18462 return slideEl.className.split(' ').filter(className => { 18463 return className.indexOf('swiper-slide') === 0 || className.indexOf(swiper.params.slideClass) === 0; 18464 }).join(' '); 18465 } 18466 18467 emitSlidesClasses() { 18468 const swiper = this; 18469 if (!swiper.params._emitClasses || !swiper.el) return; 18470 const updates = []; 18471 swiper.slides.each(slideEl => { 18472 const classNames = swiper.getSlideClasses(slideEl); 18473 updates.push({ 18474 slideEl, 18475 classNames 18476 }); 18477 swiper.emit('_slideClass', slideEl, classNames); 18478 }); 18479 swiper.emit('_slideClasses', updates); 18480 } 18481 18482 slidesPerViewDynamic(view = 'current', exact = false) { 18483 const swiper = this; 18484 const { 18485 params, 18486 slides, 18487 slidesGrid, 18488 slidesSizesGrid, 18489 size: swiperSize, 18490 activeIndex 18491 } = swiper; 18492 let spv = 1; 18493 18494 if (params.centeredSlides) { 18495 let slideSize = slides[activeIndex].swiperSlideSize; 18496 let breakLoop; 18497 18498 for (let i = activeIndex + 1; i < slides.length; i += 1) { 18499 if (slides[i] && !breakLoop) { 18500 slideSize += slides[i].swiperSlideSize; 18501 spv += 1; 18502 if (slideSize > swiperSize) breakLoop = true; 18503 } 18504 } 18505 18506 for (let i = activeIndex - 1; i >= 0; i -= 1) { 18507 if (slides[i] && !breakLoop) { 18508 slideSize += slides[i].swiperSlideSize; 18509 spv += 1; 18510 if (slideSize > swiperSize) breakLoop = true; 18511 } 18512 } 18513 } else { 18514 // eslint-disable-next-line 18515 if (view === 'current') { 18516 for (let i = activeIndex + 1; i < slides.length; i += 1) { 18517 const slideInView = exact ? slidesGrid[i] + slidesSizesGrid[i] - slidesGrid[activeIndex] < swiperSize : slidesGrid[i] - slidesGrid[activeIndex] < swiperSize; 18518 18519 if (slideInView) { 18520 spv += 1; 18521 } 18522 } 18523 } else { 18524 // previous 18525 for (let i = activeIndex - 1; i >= 0; i -= 1) { 18526 const slideInView = slidesGrid[activeIndex] - slidesGrid[i] < swiperSize; 18527 18528 if (slideInView) { 18529 spv += 1; 18530 } 18531 } 18532 } 18533 } 18534 18535 return spv; 18536 } 18537 18538 update() { 18539 const swiper = this; 18540 if (!swiper || swiper.destroyed) return; 18541 const { 18542 snapGrid, 18543 params 18544 } = swiper; // Breakpoints 18545 18546 if (params.breakpoints) { 18547 swiper.setBreakpoint(); 18548 } 18549 18550 swiper.updateSize(); 18551 swiper.updateSlides(); 18552 swiper.updateProgress(); 18553 swiper.updateSlidesClasses(); 18554 18555 function setTranslate() { 18556 const translateValue = swiper.rtlTranslate ? swiper.translate * -1 : swiper.translate; 18557 const newTranslate = Math.min(Math.max(translateValue, swiper.maxTranslate()), swiper.minTranslate()); 18558 swiper.setTranslate(newTranslate); 18559 swiper.updateActiveIndex(); 18560 swiper.updateSlidesClasses(); 18561 } 18562 18563 let translated; 18564 18565 if (swiper.params.freeMode && swiper.params.freeMode.enabled) { 18566 setTranslate(); 18567 18568 if (swiper.params.autoHeight) { 18569 swiper.updateAutoHeight(); 18570 } 18571 } else { 18572 if ((swiper.params.slidesPerView === 'auto' || swiper.params.slidesPerView > 1) && swiper.isEnd && !swiper.params.centeredSlides) { 18573 translated = swiper.slideTo(swiper.slides.length - 1, 0, false, true); 18574 } else { 18575 translated = swiper.slideTo(swiper.activeIndex, 0, false, true); 18576 } 18577 18578 if (!translated) { 18579 setTranslate(); 18580 } 18581 } 18582 18583 if (params.watchOverflow && snapGrid !== swiper.snapGrid) { 18584 swiper.checkOverflow(); 18585 } 18586 18587 swiper.emit('update'); 18588 } 18589 18590 changeDirection(newDirection, needUpdate = true) { 18591 const swiper = this; 18592 const currentDirection = swiper.params.direction; 18593 18594 if (!newDirection) { 18595 // eslint-disable-next-line 18596 newDirection = currentDirection === 'horizontal' ? 'vertical' : 'horizontal'; 18597 } 18598 18599 if (newDirection === currentDirection || newDirection !== 'horizontal' && newDirection !== 'vertical') { 18600 return swiper; 18601 } 18602 18603 swiper.$el.removeClass(`${swiper.params.containerModifierClass}${currentDirection}`).addClass(`${swiper.params.containerModifierClass}${newDirection}`); 18604 swiper.emitContainerClasses(); 18605 swiper.params.direction = newDirection; 18606 swiper.slides.each(slideEl => { 18607 if (newDirection === 'vertical') { 18608 slideEl.style.width = ''; 18609 } else { 18610 slideEl.style.height = ''; 18611 } 18612 }); 18613 swiper.emit('changeDirection'); 18614 if (needUpdate) swiper.update(); 18615 return swiper; 18616 } 18617 18618 changeLanguageDirection(direction) { 18619 const swiper = this; 18620 if (swiper.rtl && direction === 'rtl' || !swiper.rtl && direction === 'ltr') return; 18621 swiper.rtl = direction === 'rtl'; 18622 swiper.rtlTranslate = swiper.params.direction === 'horizontal' && swiper.rtl; 18623 18624 if (swiper.rtl) { 18625 swiper.$el.addClass(`${swiper.params.containerModifierClass}rtl`); 18626 swiper.el.dir = 'rtl'; 18627 } else { 18628 swiper.$el.removeClass(`${swiper.params.containerModifierClass}rtl`); 18629 swiper.el.dir = 'ltr'; 18630 } 18631 18632 swiper.update(); 18633 } 18634 18635 mount(el) { 18636 const swiper = this; 18637 if (swiper.mounted) return true; // Find el 18638 18639 const $el = (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__.default)(el || swiper.params.el); 18640 el = $el[0]; 18641 18642 if (!el) { 18643 return false; 18644 } 18645 18646 el.swiper = swiper; 18647 18648 const getWrapperSelector = () => { 18649 return `.${(swiper.params.wrapperClass || '').trim().split(' ').join('.')}`; 18650 }; 18651 18652 const getWrapper = () => { 18653 if (el && el.shadowRoot && el.shadowRoot.querySelector) { 18654 const res = (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__.default)(el.shadowRoot.querySelector(getWrapperSelector())); // Children needs to return slot items 18655 18656 res.children = options => $el.children(options); 18657 18658 return res; 18659 } 18660 18661 if (!$el.children) { 18662 return (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__.default)($el).children(getWrapperSelector()); 18663 } 18664 18665 return $el.children(getWrapperSelector()); 18666 }; // Find Wrapper 18667 18668 18669 let $wrapperEl = getWrapper(); 18670 18671 if ($wrapperEl.length === 0 && swiper.params.createElements) { 18672 const document = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getDocument)(); 18673 const wrapper = document.createElement('div'); 18674 $wrapperEl = (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__.default)(wrapper); 18675 wrapper.className = swiper.params.wrapperClass; 18676 $el.append(wrapper); 18677 $el.children(`.${swiper.params.slideClass}`).each(slideEl => { 18678 $wrapperEl.append(slideEl); 18679 }); 18680 } 18681 18682 Object.assign(swiper, { 18683 $el, 18684 el, 18685 $wrapperEl, 18686 wrapperEl: $wrapperEl[0], 18687 mounted: true, 18688 // RTL 18689 rtl: el.dir.toLowerCase() === 'rtl' || $el.css('direction') === 'rtl', 18690 rtlTranslate: swiper.params.direction === 'horizontal' && (el.dir.toLowerCase() === 'rtl' || $el.css('direction') === 'rtl'), 18691 wrongRTL: $wrapperEl.css('display') === '-webkit-box' 18692 }); 18693 return true; 18694 } 18695 18696 init(el) { 18697 const swiper = this; 18698 if (swiper.initialized) return swiper; 18699 const mounted = swiper.mount(el); 18700 if (mounted === false) return swiper; 18701 swiper.emit('beforeInit'); // Set breakpoint 18702 18703 if (swiper.params.breakpoints) { 18704 swiper.setBreakpoint(); 18705 } // Add Classes 18706 18707 18708 swiper.addClasses(); // Create loop 18709 18710 if (swiper.params.loop) { 18711 swiper.loopCreate(); 18712 } // Update size 18713 18714 18715 swiper.updateSize(); // Update slides 18716 18717 swiper.updateSlides(); 18718 18719 if (swiper.params.watchOverflow) { 18720 swiper.checkOverflow(); 18721 } // Set Grab Cursor 18722 18723 18724 if (swiper.params.grabCursor && swiper.enabled) { 18725 swiper.setGrabCursor(); 18726 } 18727 18728 if (swiper.params.preloadImages) { 18729 swiper.preloadImages(); 18730 } // Slide To Initial Slide 18731 18732 18733 if (swiper.params.loop) { 18734 swiper.slideTo(swiper.params.initialSlide + swiper.loopedSlides, 0, swiper.params.runCallbacksOnInit, false, true); 18735 } else { 18736 swiper.slideTo(swiper.params.initialSlide, 0, swiper.params.runCallbacksOnInit, false, true); 18737 } // Attach events 18738 18739 18740 swiper.attachEvents(); // Init Flag 18741 18742 swiper.initialized = true; // Emit 18743 18744 swiper.emit('init'); 18745 swiper.emit('afterInit'); 18746 return swiper; 18747 } 18748 18749 destroy(deleteInstance = true, cleanStyles = true) { 18750 const swiper = this; 18751 const { 18752 params, 18753 $el, 18754 $wrapperEl, 18755 slides 18756 } = swiper; 18757 18758 if (typeof swiper.params === 'undefined' || swiper.destroyed) { 18759 return null; 18760 } 18761 18762 swiper.emit('beforeDestroy'); // Init Flag 18763 18764 swiper.initialized = false; // Detach events 18765 18766 swiper.detachEvents(); // Destroy loop 18767 18768 if (params.loop) { 18769 swiper.loopDestroy(); 18770 } // Cleanup styles 18771 18772 18773 if (cleanStyles) { 18774 swiper.removeClasses(); 18775 $el.removeAttr('style'); 18776 $wrapperEl.removeAttr('style'); 18777 18778 if (slides && slides.length) { 18779 slides.removeClass([params.slideVisibleClass, params.slideActiveClass, params.slideNextClass, params.slidePrevClass].join(' ')).removeAttr('style').removeAttr('data-swiper-slide-index'); 18780 } 18781 } 18782 18783 swiper.emit('destroy'); // Detach emitter events 18784 18785 Object.keys(swiper.eventsListeners).forEach(eventName => { 18786 swiper.off(eventName); 18787 }); 18788 18789 if (deleteInstance !== false) { 18790 swiper.$el[0].swiper = null; 18791 (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_2__.deleteProps)(swiper); 18792 } 18793 18794 swiper.destroyed = true; 18795 return null; 18796 } 18797 18798 static extendDefaults(newDefaults) { 18799 (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_2__.extend)(extendedDefaults, newDefaults); 18800 } 18801 18802 static get extendedDefaults() { 18803 return extendedDefaults; 18804 } 18805 18806 static get defaults() { 18807 return _defaults_js__WEBPACK_IMPORTED_MODULE_20__.default; 18808 } 18809 18810 static installModule(mod) { 18811 if (!Swiper.prototype.__modules__) Swiper.prototype.__modules__ = []; 18812 const modules = Swiper.prototype.__modules__; 18813 18814 if (typeof mod === 'function' && modules.indexOf(mod) < 0) { 18815 modules.push(mod); 18816 } 18817 } 18818 18819 static use(module) { 18820 if (Array.isArray(module)) { 18821 module.forEach(m => Swiper.installModule(m)); 18822 return Swiper; 18823 } 18824 18825 Swiper.installModule(module); 18826 return Swiper; 18827 } 18828 18829} 18830 18831Object.keys(prototypes).forEach(prototypeGroup => { 18832 Object.keys(prototypes[prototypeGroup]).forEach(protoMethod => { 18833 Swiper.prototype[protoMethod] = prototypes[prototypeGroup][protoMethod]; 18834 }); 18835}); 18836Swiper.use([_modules_resize_resize_js__WEBPACK_IMPORTED_MODULE_6__.default, _modules_observer_observer_js__WEBPACK_IMPORTED_MODULE_7__.default]); 18837/* harmony default export */ __webpack_exports__["default"] = (Swiper); 18838 18839/***/ }), 18840
vendor: 3,859 bytes, lines 18841-18979
18841/***/ "./node_modules/swiper/core/defaults.js": 18842/*!**********************************************!*\ 18843 !*** ./node_modules/swiper/core/defaults.js ***! 18844 \**********************************************/ 18845/*! namespace exports */ 18846/*! export default [provided] [no usage info] [missing usage info prevents renaming] */ 18847/*! other exports [not provided] [no usage info] */ 18848/*! runtime requirements: __webpack_exports__, __webpack_require__.r, __webpack_require__.* */ 18849/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 18850 18851"use strict"; 18852__webpack_require__.r(__webpack_exports__); 18853/* harmony default export */ __webpack_exports__["default"] = ({ 18854 init: true, 18855 direction: 'horizontal', 18856 touchEventsTarget: 'wrapper', 18857 initialSlide: 0, 18858 speed: 300, 18859 cssMode: false, 18860 updateOnWindowResize: true, 18861 resizeObserver: true, 18862 nested: false, 18863 createElements: false, 18864 enabled: true, 18865 focusableElements: 'input, select, option, textarea, button, video, label', 18866 // Overrides 18867 width: null, 18868 height: null, 18869 // 18870 preventInteractionOnTransition: false, 18871 // ssr 18872 userAgent: null, 18873 url: null, 18874 // To support iOS's swipe-to-go-back gesture (when being used in-app). 18875 edgeSwipeDetection: false, 18876 edgeSwipeThreshold: 20, 18877 // Autoheight 18878 autoHeight: false, 18879 // Set wrapper width 18880 setWrapperSize: false, 18881 // Virtual Translate 18882 virtualTranslate: false, 18883 // Effects 18884 effect: 'slide', 18885 // 'slide' or 'fade' or 'cube' or 'coverflow' or 'flip' 18886 // Breakpoints 18887 breakpoints: undefined, 18888 breakpointsBase: 'window', 18889 // Slides grid 18890 spaceBetween: 0, 18891 slidesPerView: 1, 18892 slidesPerGroup: 1, 18893 slidesPerGroupSkip: 0, 18894 slidesPerGroupAuto: false, 18895 centeredSlides: false, 18896 centeredSlidesBounds: false, 18897 slidesOffsetBefore: 0, 18898 // in px 18899 slidesOffsetAfter: 0, 18900 // in px 18901 normalizeSlideIndex: true, 18902 centerInsufficientSlides: false, 18903 // Disable swiper and hide navigation when container not overflow 18904 watchOverflow: true, 18905 // Round length 18906 roundLengths: false, 18907 // Touches 18908 touchRatio: 1, 18909 touchAngle: 45, 18910 simulateTouch: true, 18911 shortSwipes: true, 18912 longSwipes: true, 18913 longSwipesRatio: 0.5, 18914 longSwipesMs: 300, 18915 followFinger: true, 18916 allowTouchMove: true, 18917 threshold: 0, 18918 touchMoveStopPropagation: false, 18919 touchStartPreventDefault: true, 18920 touchStartForcePreventDefault: false, 18921 touchReleaseOnEdges: false, 18922 // Unique Navigation Elements 18923 uniqueNavElements: true, 18924 // Resistance 18925 resistance: true, 18926 resistanceRatio: 0.85, 18927 // Progress 18928 watchSlidesProgress: false, 18929 // Cursor 18930 grabCursor: false, 18931 // Clicks 18932 preventClicks: true, 18933 preventClicksPropagation: true, 18934 slideToClickedSlide: false, 18935 // Images 18936 preloadImages: true, 18937 updateOnImagesReady: true, 18938 // loop 18939 loop: false, 18940 loopAdditionalSlides: 0, 18941 loopedSlides: null, 18942 loopedSlidesLimit: true, 18943 loopFillGroupWithBlank: false, 18944 loopPreventsSlide: true, 18945 // rewind 18946 rewind: false, 18947 // Swiping/no swiping 18948 allowSlidePrev: true, 18949 allowSlideNext: true, 18950 swipeHandler: null, 18951 // '.swipe-handler', 18952 noSwiping: true, 18953 noSwipingClass: 'swiper-no-swiping', 18954 noSwipingSelector: null, 18955 // Passive Listeners 18956 passiveListeners: true, 18957 maxBackfaceHiddenSlides: 10, 18958 // NS 18959 containerModifierClass: 'swiper-', 18960 // NEW 18961 slideClass: 'swiper-slide', 18962 slideBlankClass: 'swiper-slide-invisible-blank', 18963 slideActiveClass: 'swiper-slide-active', 18964 slideDuplicateActiveClass: 'swiper-slide-duplicate-active', 18965 slideVisibleClass: 'swiper-slide-visible', 18966 slideDuplicateClass: 'swiper-slide-duplicate', 18967 slideNextClass: 'swiper-slide-next', 18968 slideDuplicateNextClass: 'swiper-slide-duplicate-next', 18969 slidePrevClass: 'swiper-slide-prev', 18970 slideDuplicatePrevClass: 'swiper-slide-duplicate-prev', 18971 wrapperClass: 'swiper-wrapper', 18972 // Callbacks 18973 runCallbacksOnInit: true, 18974 // Internals 18975 _emitClasses: false 18976}); 18977 18978/***/ }), 18979
vendor: 3,998 bytes, lines 18980-19108
18980/***/ "./node_modules/swiper/core/events-emitter.js": 18981/*!****************************************************!*\ 18982 !*** ./node_modules/swiper/core/events-emitter.js ***! 18983 \****************************************************/ 18984/*! namespace exports */ 18985/*! export default [provided] [no usage info] [missing usage info prevents renaming] */ 18986/*! other exports [not provided] [no usage info] */ 18987/*! runtime requirements: __webpack_exports__, __webpack_require__.r, __webpack_require__.* */ 18988/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 18989 18990"use strict"; 18991__webpack_require__.r(__webpack_exports__); 18992/* eslint-disable no-underscore-dangle */ 18993/* harmony default export */ __webpack_exports__["default"] = ({ 18994 on(events, handler, priority) { 18995 const self = this; 18996 if (!self.eventsListeners || self.destroyed) return self; 18997 if (typeof handler !== 'function') return self; 18998 const method = priority ? 'unshift' : 'push'; 18999 events.split(' ').forEach(event => { 19000 if (!self.eventsListeners[event]) self.eventsListeners[event] = []; 19001 self.eventsListeners[event][method](handler); 19002 }); 19003 return self; 19004 }, 19005 19006 once(events, handler, priority) { 19007 const self = this; 19008 if (!self.eventsListeners || self.destroyed) return self; 19009 if (typeof handler !== 'function') return self; 19010 19011 function onceHandler(...args) { 19012 self.off(events, onceHandler); 19013 19014 if (onceHandler.__emitterProxy) { 19015 delete onceHandler.__emitterProxy; 19016 } 19017 19018 handler.apply(self, args); 19019 } 19020 19021 onceHandler.__emitterProxy = handler; 19022 return self.on(events, onceHandler, priority); 19023 }, 19024 19025 onAny(handler, priority) { 19026 const self = this; 19027 if (!self.eventsListeners || self.destroyed) return self; 19028 if (typeof handler !== 'function') return self; 19029 const method = priority ? 'unshift' : 'push'; 19030 19031 if (self.eventsAnyListeners.indexOf(handler) < 0) { 19032 self.eventsAnyListeners[method](handler); 19033 } 19034 19035 return self; 19036 }, 19037 19038 offAny(handler) { 19039 const self = this; 19040 if (!self.eventsListeners || self.destroyed) return self; 19041 if (!self.eventsAnyListeners) return self; 19042 const index = self.eventsAnyListeners.indexOf(handler); 19043 19044 if (index >= 0) { 19045 self.eventsAnyListeners.splice(index, 1); 19046 } 19047 19048 return self; 19049 }, 19050 19051 off(events, handler) { 19052 const self = this; 19053 if (!self.eventsListeners || self.destroyed) return self; 19054 if (!self.eventsListeners) return self; 19055 events.split(' ').forEach(event => { 19056 if (typeof handler === 'undefined') { 19057 self.eventsListeners[event] = []; 19058 } else if (self.eventsListeners[event]) { 19059 self.eventsListeners[event].forEach((eventHandler, index) => { 19060 if (eventHandler === handler || eventHandler.__emitterProxy && eventHandler.__emitterProxy === handler) { 19061 self.eventsListeners[event].splice(index, 1); 19062 } 19063 }); 19064 } 19065 }); 19066 return self; 19067 }, 19068 19069 emit(...args) { 19070 const self = this; 19071 if (!self.eventsListeners || self.destroyed) return self; 19072 if (!self.eventsListeners) return self; 19073 let events; 19074 let data; 19075 let context; 19076 19077 if (typeof args[0] === 'string' || Array.isArray(args[0])) { 19078 events = args[0]; 19079 data = args.slice(1, args.length); 19080 context = self; 19081 } else { 19082 events = args[0].events; 19083 data = args[0].data; 19084 context = args[0].context || self; 19085 } 19086 19087 data.unshift(context); 19088 const eventsArray = Array.isArray(events) ? events : events.split(' '); 19089 eventsArray.forEach(event => { 19090 if (self.eventsAnyListeners && self.eventsAnyListeners.length) { 19091 self.eventsAnyListeners.forEach(eventHandler => { 19092 eventHandler.apply(context, [event, ...data]); 19093 }); 19094 } 19095 19096 if (self.eventsListeners && self.eventsListeners[event]) { 19097 self.eventsListeners[event].forEach(eventHandler => { 19098 eventHandler.apply(context, data); 19099 }); 19100 } 19101 }); 19102 return self; 19103 } 19104 19105}); 19106 19107/***/ }), 19108
vendor: 4,665 bytes, lines 19109-19227
19109/***/ "./node_modules/swiper/core/events/index.js": 19110/*!**************************************************!*\ 19111 !*** ./node_modules/swiper/core/events/index.js ***! 19112 \**************************************************/ 19113/*! namespace exports */ 19114/*! export default [provided] [no usage info] [missing usage info prevents renaming] */ 19115/*! other exports [not provided] [no usage info] */ 19116/*! runtime requirements: __webpack_require__, __webpack_exports__, __webpack_require__.r, __webpack_require__.* */ 19117/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 19118 19119"use strict"; 19120__webpack_require__.r(__webpack_exports__); 19121/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ "./node_modules/ssr-window/ssr-window.esm.js"); 19122/* harmony import */ var _onTouchStart_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./onTouchStart.js */ "./node_modules/swiper/core/events/onTouchStart.js"); 19123/* harmony import */ var _onTouchMove_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./onTouchMove.js */ "./node_modules/swiper/core/events/onTouchMove.js"); 19124/* harmony import */ var _onTouchEnd_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./onTouchEnd.js */ "./node_modules/swiper/core/events/onTouchEnd.js"); 19125/* harmony import */ var _onResize_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./onResize.js */ "./node_modules/swiper/core/events/onResize.js"); 19126/* harmony import */ var _onClick_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./onClick.js */ "./node_modules/swiper/core/events/onClick.js"); 19127/* harmony import */ var _onScroll_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./onScroll.js */ "./node_modules/swiper/core/events/onScroll.js"); 19128; 19129 19130 19131 19132 19133 19134 19135let dummyEventAttached = false; 19136 19137function dummyEventListener() {} 19138 19139const events = (swiper, method) => { 19140 const document = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getDocument)(); 19141 const { 19142 params, 19143 touchEvents, 19144 el, 19145 wrapperEl, 19146 device, 19147 support 19148 } = swiper; 19149 const capture = !!params.nested; 19150 const domMethod = method === 'on' ? 'addEventListener' : 'removeEventListener'; 19151 const swiperMethod = method; // Touch Events 19152 19153 if (!support.touch) { 19154 el[domMethod](touchEvents.start, swiper.onTouchStart, false); 19155 document[domMethod](touchEvents.move, swiper.onTouchMove, capture); 19156 document[domMethod](touchEvents.end, swiper.onTouchEnd, false); 19157 } else { 19158 const passiveListener = touchEvents.start === 'touchstart' && support.passiveListener && params.passiveListeners ? { 19159 passive: true, 19160 capture: false 19161 } : false; 19162 el[domMethod](touchEvents.start, swiper.onTouchStart, passiveListener); 19163 el[domMethod](touchEvents.move, swiper.onTouchMove, support.passiveListener ? { 19164 passive: false, 19165 capture 19166 } : capture); 19167 el[domMethod](touchEvents.end, swiper.onTouchEnd, passiveListener); 19168 19169 if (touchEvents.cancel) { 19170 el[domMethod](touchEvents.cancel, swiper.onTouchEnd, passiveListener); 19171 } 19172 } // Prevent Links Clicks 19173 19174 19175 if (params.preventClicks || params.preventClicksPropagation) { 19176 el[domMethod]('click', swiper.onClick, true); 19177 } 19178 19179 if (params.cssMode) { 19180 wrapperEl[domMethod]('scroll', swiper.onScroll); 19181 } // Resize handler 19182 19183 19184 if (params.updateOnWindowResize) { 19185 swiper[swiperMethod](device.ios || device.android ? 'resize orientationchange observerUpdate' : 'resize observerUpdate', _onResize_js__WEBPACK_IMPORTED_MODULE_4__.default, true); 19186 } else { 19187 swiper[swiperMethod]('observerUpdate', _onResize_js__WEBPACK_IMPORTED_MODULE_4__.default, true); 19188 } 19189}; 19190 19191function attachEvents() { 19192 const swiper = this; 19193 const document = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getDocument)(); 19194 const { 19195 params, 19196 support 19197 } = swiper; 19198 swiper.onTouchStart = _onTouchStart_js__WEBPACK_IMPORTED_MODULE_1__.default.bind(swiper); 19199 swiper.onTouchMove = _onTouchMove_js__WEBPACK_IMPORTED_MODULE_2__.default.bind(swiper); 19200 swiper.onTouchEnd = _onTouchEnd_js__WEBPACK_IMPORTED_MODULE_3__.default.bind(swiper); 19201 19202 if (params.cssMode) { 19203 swiper.onScroll = _onScroll_js__WEBPACK_IMPORTED_MODULE_6__.default.bind(swiper); 19204 } 19205 19206 swiper.onClick = _onClick_js__WEBPACK_IMPORTED_MODULE_5__.default.bind(swiper); 19207 19208 if (support.touch && !dummyEventAttached) { 19209 document.addEventListener('touchstart', dummyEventListener); 19210 dummyEventAttached = true; 19211 } 19212 19213 events(swiper, 'on'); 19214} 19215 19216function detachEvents() { 19217 const swiper = this; 19218 events(swiper, 'off'); 19219} 19220 19221/* harmony default export */ __webpack_exports__["default"] = ({ 19222 attachEvents, 19223 detachEvents 19224}); 19225 19226/***/ }), 19227
vendor: 1,156 bytes, lines 19228-19258
19228/***/ "./node_modules/swiper/core/events/onClick.js": 19229/*!****************************************************!*\ 19230 !*** ./node_modules/swiper/core/events/onClick.js ***! 19231 \****************************************************/ 19232/*! namespace exports */ 19233/*! export default [provided] [no usage info] [missing usage info prevents renaming] */ 19234/*! other exports [not provided] [no usage info] */ 19235/*! runtime requirements: __webpack_require__.r, __webpack_exports__, __webpack_require__.d, __webpack_require__.* */ 19236/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 19237 19238"use strict"; 19239__webpack_require__.r(__webpack_exports__); 19240/* harmony export */ __webpack_require__.d(__webpack_exports__, { 19241/* harmony export */ "default": function() { return /* binding */ onClick; } 19242/* harmony export */ }); 19243function onClick(e) { 19244 const swiper = this; 19245 if (!swiper.enabled) return; 19246 19247 if (!swiper.allowClick) { 19248 if (swiper.params.preventClicks) e.preventDefault(); 19249 19250 if (swiper.params.preventClicksPropagation && swiper.animating) { 19251 e.stopPropagation(); 19252 e.stopImmediatePropagation(); 19253 } 19254 } 19255} 19256 19257/***/ }), 19258
vendor: 1,930 bytes, lines 19259-19319
19259/***/ "./node_modules/swiper/core/events/onResize.js": 19260/*!*****************************************************!*\ 19261 !*** ./node_modules/swiper/core/events/onResize.js ***! 19262 \*****************************************************/ 19263/*! namespace exports */ 19264/*! export default [provided] [no usage info] [missing usage info prevents renaming] */ 19265/*! other exports [not provided] [no usage info] */ 19266/*! runtime requirements: __webpack_require__.r, __webpack_exports__, __webpack_require__.d, __webpack_require__.* */ 19267/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 19268 19269"use strict"; 19270__webpack_require__.r(__webpack_exports__); 19271/* harmony export */ __webpack_require__.d(__webpack_exports__, { 19272/* harmony export */ "default": function() { return /* binding */ onResize; } 19273/* harmony export */ }); 19274function onResize() { 19275 const swiper = this; 19276 const { 19277 params, 19278 el 19279 } = swiper; 19280 if (el && el.offsetWidth === 0) return; // Breakpoints 19281 19282 if (params.breakpoints) { 19283 swiper.setBreakpoint(); 19284 } // Save locks 19285 19286 19287 const { 19288 allowSlideNext, 19289 allowSlidePrev, 19290 snapGrid 19291 } = swiper; // Disable locks on resize 19292 19293 swiper.allowSlideNext = true; 19294 swiper.allowSlidePrev = true; 19295 swiper.updateSize(); 19296 swiper.updateSlides(); 19297 swiper.updateSlidesClasses(); 19298 19299 if ((params.slidesPerView === 'auto' || params.slidesPerView > 1) && swiper.isEnd && !swiper.isBeginning && !swiper.params.centeredSlides) { 19300 swiper.slideTo(swiper.slides.length - 1, 0, false, true); 19301 } else { 19302 swiper.slideTo(swiper.activeIndex, 0, false, true); 19303 } 19304 19305 if (swiper.autoplay && swiper.autoplay.running && swiper.autoplay.paused) { 19306 swiper.autoplay.run(); 19307 } // Return locks after resize 19308 19309 19310 swiper.allowSlidePrev = allowSlidePrev; 19311 swiper.allowSlideNext = allowSlideNext; 19312 19313 if (swiper.params.watchOverflow && snapGrid !== swiper.snapGrid) { 19314 swiper.checkOverflow(); 19315 } 19316} 19317 19318/***/ }), 19319
vendor: 1,742 bytes, lines 19320-19372
19320/***/ "./node_modules/swiper/core/events/onScroll.js": 19321/*!*****************************************************!*\ 19322 !*** ./node_modules/swiper/core/events/onScroll.js ***! 19323 \*****************************************************/ 19324/*! namespace exports */ 19325/*! export default [provided] [no usage info] [missing usage info prevents renaming] */ 19326/*! other exports [not provided] [no usage info] */ 19327/*! runtime requirements: __webpack_require__.r, __webpack_exports__, __webpack_require__.d, __webpack_require__.* */ 19328/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 19329 19330"use strict"; 19331__webpack_require__.r(__webpack_exports__); 19332/* harmony export */ __webpack_require__.d(__webpack_exports__, { 19333/* harmony export */ "default": function() { return /* binding */ onScroll; } 19334/* harmony export */ }); 19335function onScroll() { 19336 const swiper = this; 19337 const { 19338 wrapperEl, 19339 rtlTranslate, 19340 enabled 19341 } = swiper; 19342 if (!enabled) return; 19343 swiper.previousTranslate = swiper.translate; 19344 19345 if (swiper.isHorizontal()) { 19346 swiper.translate = -wrapperEl.scrollLeft; 19347 } else { 19348 swiper.translate = -wrapperEl.scrollTop; 19349 } // eslint-disable-next-line 19350 19351 19352 if (swiper.translate === 0) swiper.translate = 0; 19353 swiper.updateActiveIndex(); 19354 swiper.updateSlidesClasses(); 19355 let newProgress; 19356 const translatesDiff = swiper.maxTranslate() - swiper.minTranslate(); 19357 19358 if (translatesDiff === 0) { 19359 newProgress = 0; 19360 } else { 19361 newProgress = (swiper.translate - swiper.minTranslate()) / translatesDiff; 19362 } 19363 19364 if (newProgress !== swiper.progress) { 19365 swiper.updateProgress(rtlTranslate ? -swiper.translate : swiper.translate); 19366 } 19367 19368 swiper.emit('setTranslate', swiper.translate, false); 19369} 19370 19371/***/ }), 19372
vendor: 5,841 bytes, lines 19373-19552
19373/***/ "./node_modules/swiper/core/events/onTouchEnd.js": 19374/*!*******************************************************!*\ 19375 !*** ./node_modules/swiper/core/events/onTouchEnd.js ***! 19376 \*******************************************************/ 19377/*! namespace exports */ 19378/*! export default [provided] [no usage info] [missing usage info prevents renaming] */ 19379/*! other exports [not provided] [no usage info] */ 19380/*! runtime requirements: __webpack_require__, __webpack_require__.r, __webpack_exports__, __webpack_require__.d, __webpack_require__.* */ 19381/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 19382 19383"use strict"; 19384__webpack_require__.r(__webpack_exports__); 19385/* harmony export */ __webpack_require__.d(__webpack_exports__, { 19386/* harmony export */ "default": function() { return /* binding */ onTouchEnd; } 19387/* harmony export */ }); 19388/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/utils.js */ "./node_modules/swiper/shared/utils.js"); 19389; 19390function onTouchEnd(event) { 19391 const swiper = this; 19392 const data = swiper.touchEventsData; 19393 const { 19394 params, 19395 touches, 19396 rtlTranslate: rtl, 19397 slidesGrid, 19398 enabled 19399 } = swiper; 19400 if (!enabled) return; 19401 let e = event; 19402 if (e.originalEvent) e = e.originalEvent; 19403 19404 if (data.allowTouchCallbacks) { 19405 swiper.emit('touchEnd', e); 19406 } 19407 19408 data.allowTouchCallbacks = false; 19409 19410 if (!data.isTouched) { 19411 if (data.isMoved && params.grabCursor) { 19412 swiper.setGrabCursor(false); 19413 } 19414 19415 data.isMoved = false; 19416 data.startMoving = false; 19417 return; 19418 } // Return Grab Cursor 19419 19420 19421 if (params.grabCursor && data.isMoved && data.isTouched && (swiper.allowSlideNext === true || swiper.allowSlidePrev === true)) { 19422 swiper.setGrabCursor(false); 19423 } // Time diff 19424 19425 19426 const touchEndTime = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.now)(); 19427 const timeDiff = touchEndTime - data.touchStartTime; // Tap, doubleTap, Click 19428 19429 if (swiper.allowClick) { 19430 const pathTree = e.path || e.composedPath && e.composedPath(); 19431 swiper.updateClickedSlide(pathTree && pathTree[0] || e.target); 19432 swiper.emit('tap click', e); 19433 19434 if (timeDiff < 300 && touchEndTime - data.lastClickTime < 300) { 19435 swiper.emit('doubleTap doubleClick', e); 19436 } 19437 } 19438 19439 data.lastClickTime = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.now)(); 19440 (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.nextTick)(() => { 19441 if (!swiper.destroyed) swiper.allowClick = true; 19442 }); 19443 19444 if (!data.isTouched || !data.isMoved || !swiper.swipeDirection || touches.diff === 0 || data.currentTranslate === data.startTranslate) { 19445 data.isTouched = false; 19446 data.isMoved = false; 19447 data.startMoving = false; 19448 return; 19449 } 19450 19451 data.isTouched = false; 19452 data.isMoved = false; 19453 data.startMoving = false; 19454 let currentPos; 19455 19456 if (params.followFinger) { 19457 currentPos = rtl ? swiper.translate : -swiper.translate; 19458 } else { 19459 currentPos = -data.currentTranslate; 19460 } 19461 19462 if (params.cssMode) { 19463 return; 19464 } 19465 19466 if (swiper.params.freeMode && params.freeMode.enabled) { 19467 swiper.freeMode.onTouchEnd({ 19468 currentPos 19469 }); 19470 return; 19471 } // Find current slide 19472 19473 19474 let stopIndex = 0; 19475 let groupSize = swiper.slidesSizesGrid[0]; 19476 19477 for (let i = 0; i < slidesGrid.length; i += i < params.slidesPerGroupSkip ? 1 : params.slidesPerGroup) { 19478 const increment = i < params.slidesPerGroupSkip - 1 ? 1 : params.slidesPerGroup; 19479 19480 if (typeof slidesGrid[i + increment] !== 'undefined') { 19481 if (currentPos >= slidesGrid[i] && currentPos < slidesGrid[i + increment]) { 19482 stopIndex = i; 19483 groupSize = slidesGrid[i + increment] - slidesGrid[i]; 19484 } 19485 } else if (currentPos >= slidesGrid[i]) { 19486 stopIndex = i; 19487 groupSize = slidesGrid[slidesGrid.length - 1] - slidesGrid[slidesGrid.length - 2]; 19488 } 19489 } 19490 19491 let rewindFirstIndex = null; 19492 let rewindLastIndex = null; 19493 19494 if (params.rewind) { 19495 if (swiper.isBeginning) { 19496 rewindLastIndex = swiper.params.virtual && swiper.params.virtual.enabled && swiper.virtual ? swiper.virtual.slides.length - 1 : swiper.slides.length - 1; 19497 } else if (swiper.isEnd) { 19498 rewindFirstIndex = 0; 19499 } 19500 } // Find current slide size 19501 19502 19503 const ratio = (currentPos - slidesGrid[stopIndex]) / groupSize; 19504 const increment = stopIndex < params.slidesPerGroupSkip - 1 ? 1 : params.slidesPerGroup; 19505 19506 if (timeDiff > params.longSwipesMs) { 19507 // Long touches 19508 if (!params.longSwipes) { 19509 swiper.slideTo(swiper.activeIndex); 19510 return; 19511 } 19512 19513 if (swiper.swipeDirection === 'next') { 19514 if (ratio >= params.longSwipesRatio) swiper.slideTo(params.rewind && swiper.isEnd ? rewindFirstIndex : stopIndex + increment);else swiper.slideTo(stopIndex); 19515 } 19516 19517 if (swiper.swipeDirection === 'prev') { 19518 if (ratio > 1 - params.longSwipesRatio) { 19519 swiper.slideTo(stopIndex + increment); 19520 } else if (rewindLastIndex !== null && ratio < 0 && Math.abs(ratio) > params.longSwipesRatio) { 19521 swiper.slideTo(rewindLastIndex); 19522 } else { 19523 swiper.slideTo(stopIndex); 19524 } 19525 } 19526 } else { 19527 // Short swipes 19528 if (!params.shortSwipes) { 19529 swiper.slideTo(swiper.activeIndex); 19530 return; 19531 } 19532 19533 const isNavButtonTarget = swiper.navigation && (e.target === swiper.navigation.nextEl || e.target === swiper.navigation.prevEl); 19534 19535 if (!isNavButtonTarget) { 19536 if (swiper.swipeDirection === 'next') { 19537 swiper.slideTo(rewindFirstIndex !== null ? rewindFirstIndex : stopIndex + increment); 19538 } 19539 19540 if (swiper.swipeDirection === 'prev') { 19541 swiper.slideTo(rewindLastIndex !== null ? rewindLastIndex : stopIndex); 19542 } 19543 } else if (e.target === swiper.navigation.nextEl) { 19544 swiper.slideTo(stopIndex + increment); 19545 } else { 19546 swiper.slideTo(stopIndex); 19547 } 19548 } 19549} 19550 19551/***/ }), 19552
vendor: 8,143 bytes, lines 19553-19796
19553/***/ "./node_modules/swiper/core/events/onTouchMove.js": 19554/*!********************************************************!*\ 19555 !*** ./node_modules/swiper/core/events/onTouchMove.js ***! 19556 \********************************************************/ 19557/*! namespace exports */ 19558/*! export default [provided] [no usage info] [missing usage info prevents renaming] */ 19559/*! other exports [not provided] [no usage info] */ 19560/*! runtime requirements: __webpack_require__, __webpack_require__.r, __webpack_exports__, __webpack_require__.d, __webpack_require__.* */ 19561/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 19562 19563"use strict"; 19564__webpack_require__.r(__webpack_exports__); 19565/* harmony export */ __webpack_require__.d(__webpack_exports__, { 19566/* harmony export */ "default": function() { return /* binding */ onTouchMove; } 19567/* harmony export */ }); 19568/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ "./node_modules/ssr-window/ssr-window.esm.js"); 19569/* harmony import */ var _shared_dom_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/dom.js */ "./node_modules/swiper/shared/dom.js"); 19570/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../shared/utils.js */ "./node_modules/swiper/shared/utils.js"); 19571; 19572 19573 19574function onTouchMove(event) { 19575 const document = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getDocument)(); 19576 const swiper = this; 19577 const data = swiper.touchEventsData; 19578 const { 19579 params, 19580 touches, 19581 rtlTranslate: rtl, 19582 enabled 19583 } = swiper; 19584 if (!enabled) return; 19585 let e = event; 19586 if (e.originalEvent) e = e.originalEvent; 19587 19588 if (!data.isTouched) { 19589 if (data.startMoving && data.isScrolling) { 19590 swiper.emit('touchMoveOpposite', e); 19591 } 19592 19593 return; 19594 } 19595 19596 if (data.isTouchEvent && e.type !== 'touchmove') return; 19597 const targetTouch = e.type === 'touchmove' && e.targetTouches && (e.targetTouches[0] || e.changedTouches[0]); 19598 const pageX = e.type === 'touchmove' ? targetTouch.pageX : e.pageX; 19599 const pageY = e.type === 'touchmove' ? targetTouch.pageY : e.pageY; 19600 19601 if (e.preventedByNestedSwiper) { 19602 touches.startX = pageX; 19603 touches.startY = pageY; 19604 return; 19605 } 19606 19607 if (!swiper.allowTouchMove) { 19608 if (!(0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__.default)(e.target).is(data.focusableElements)) { 19609 swiper.allowClick = false; 19610 } 19611 19612 if (data.isTouched) { 19613 Object.assign(touches, { 19614 startX: pageX, 19615 startY: pageY, 19616 currentX: pageX, 19617 currentY: pageY 19618 }); 19619 data.touchStartTime = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_2__.now)(); 19620 } 19621 19622 return; 19623 } 19624 19625 if (data.isTouchEvent && params.touchReleaseOnEdges && !params.loop) { 19626 if (swiper.isVertical()) { 19627 // Vertical 19628 if (pageY < touches.startY && swiper.translate <= swiper.maxTranslate() || pageY > touches.startY && swiper.translate >= swiper.minTranslate()) { 19629 data.isTouched = false; 19630 data.isMoved = false; 19631 return; 19632 } 19633 } else if (pageX < touches.startX && swiper.translate <= swiper.maxTranslate() || pageX > touches.startX && swiper.translate >= swiper.minTranslate()) { 19634 return; 19635 } 19636 } 19637 19638 if (data.isTouchEvent && document.activeElement) { 19639 if (e.target === document.activeElement && (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__.default)(e.target).is(data.focusableElements)) { 19640 data.isMoved = true; 19641 swiper.allowClick = false; 19642 return; 19643 } 19644 } 19645 19646 if (data.allowTouchCallbacks) { 19647 swiper.emit('touchMove', e); 19648 } 19649 19650 if (e.targetTouches && e.targetTouches.length > 1) return; 19651 touches.currentX = pageX; 19652 touches.currentY = pageY; 19653 const diffX = touches.currentX - touches.startX; 19654 const diffY = touches.currentY - touches.startY; 19655 if (swiper.params.threshold && Math.sqrt(diffX ** 2 + diffY ** 2) < swiper.params.threshold) return; 19656 19657 if (typeof data.isScrolling === 'undefined') { 19658 let touchAngle; 19659 19660 if (swiper.isHorizontal() && touches.currentY === touches.startY || swiper.isVertical() && touches.currentX === touches.startX) { 19661 data.isScrolling = false; 19662 } else { 19663 // eslint-disable-next-line 19664 if (diffX * diffX + diffY * diffY >= 25) { 19665 touchAngle = Math.atan2(Math.abs(diffY), Math.abs(diffX)) * 180 / Math.PI; 19666 data.isScrolling = swiper.isHorizontal() ? touchAngle > params.touchAngle : 90 - touchAngle > params.touchAngle; 19667 } 19668 } 19669 } 19670 19671 if (data.isScrolling) { 19672 swiper.emit('touchMoveOpposite', e); 19673 } 19674 19675 if (typeof data.startMoving === 'undefined') { 19676 if (touches.currentX !== touches.startX || touches.currentY !== touches.startY) { 19677 data.startMoving = true; 19678 } 19679 } 19680 19681 if (data.isScrolling) { 19682 data.isTouched = false; 19683 return; 19684 } 19685 19686 if (!data.startMoving) { 19687 return; 19688 } 19689 19690 swiper.allowClick = false; 19691 19692 if (!params.cssMode && e.cancelable) { 19693 e.preventDefault(); 19694 } 19695 19696 if (params.touchMoveStopPropagation && !params.nested) { 19697 e.stopPropagation(); 19698 } 19699 19700 if (!data.isMoved) { 19701 if (params.loop && !params.cssMode) { 19702 swiper.loopFix(); 19703 } 19704 19705 data.startTranslate = swiper.getTranslate(); 19706 swiper.setTransition(0); 19707 19708 if (swiper.animating) { 19709 swiper.$wrapperEl.trigger('webkitTransitionEnd transitionend'); 19710 } 19711 19712 data.allowMomentumBounce = false; // Grab Cursor 19713 19714 if (params.grabCursor && (swiper.allowSlideNext === true || swiper.allowSlidePrev === true)) { 19715 swiper.setGrabCursor(true); 19716 } 19717 19718 swiper.emit('sliderFirstMove', e); 19719 } 19720 19721 swiper.emit('sliderMove', e); 19722 data.isMoved = true; 19723 let diff = swiper.isHorizontal() ? diffX : diffY; 19724 touches.diff = diff; 19725 diff *= params.touchRatio; 19726 if (rtl) diff = -diff; 19727 swiper.swipeDirection = diff > 0 ? 'prev' : 'next'; 19728 data.currentTranslate = diff + data.startTranslate; 19729 let disableParentSwiper = true; 19730 let resistanceRatio = params.resistanceRatio; 19731 19732 if (params.touchReleaseOnEdges) { 19733 resistanceRatio = 0; 19734 } 19735 19736 if (diff > 0 && data.currentTranslate > swiper.minTranslate()) { 19737 disableParentSwiper = false; 19738 if (params.resistance) data.currentTranslate = swiper.minTranslate() - 1 + (-swiper.minTranslate() + data.startTranslate + diff) ** resistanceRatio; 19739 } else if (diff < 0 && data.currentTranslate < swiper.maxTranslate()) { 19740 disableParentSwiper = false; 19741 if (params.resistance) data.currentTranslate = swiper.maxTranslate() + 1 - (swiper.maxTranslate() - data.startTranslate - diff) ** resistanceRatio; 19742 } 19743 19744 if (disableParentSwiper) { 19745 e.preventedByNestedSwiper = true; 19746 } // Directions locks 19747 19748 19749 if (!swiper.allowSlideNext && swiper.swipeDirection === 'next' && data.currentTranslate < data.startTranslate) { 19750 data.currentTranslate = data.startTranslate; 19751 } 19752 19753 if (!swiper.allowSlidePrev && swiper.swipeDirection === 'prev' && data.currentTranslate > data.startTranslate) { 19754 data.currentTranslate = data.startTranslate; 19755 } 19756 19757 if (!swiper.allowSlidePrev && !swiper.allowSlideNext) { 19758 data.currentTranslate = data.startTranslate; 19759 } // Threshold 19760 19761 19762 if (params.threshold > 0) { 19763 if (Math.abs(diff) > params.threshold || data.allowThresholdMove) { 19764 if (!data.allowThresholdMove) { 19765 data.allowThresholdMove = true; 19766 touches.startX = touches.currentX; 19767 touches.startY = touches.currentY; 19768 data.currentTranslate = data.startTranslate; 19769 touches.diff = swiper.isHorizontal() ? touches.currentX - touches.startX : touches.currentY - touches.startY; 19770 return; 19771 } 19772 } else { 19773 data.currentTranslate = data.startTranslate; 19774 return; 19775 } 19776 } 19777 19778 if (!params.followFinger || params.cssMode) return; // Update active index in free mode 19779 19780 if (params.freeMode && params.freeMode.enabled && swiper.freeMode || params.watchSlidesProgress) { 19781 swiper.updateActiveIndex(); 19782 swiper.updateSlidesClasses(); 19783 } 19784 19785 if (swiper.params.freeMode && params.freeMode.enabled && swiper.freeMode) { 19786 swiper.freeMode.onTouchMove(); 19787 } // Update progress 19788 19789 19790 swiper.updateProgress(data.currentTranslate); // Update translate 19791 19792 swiper.setTranslate(data.currentTranslate); 19793} 19794 19795/***/ }), 19796
vendor: 6,061 bytes, lines 19797-19949
19797/***/ "./node_modules/swiper/core/events/onTouchStart.js": 19798/*!*********************************************************!*\ 19799 !*** ./node_modules/swiper/core/events/onTouchStart.js ***! 19800 \*********************************************************/ 19801/*! namespace exports */ 19802/*! export default [provided] [no usage info] [missing usage info prevents renaming] */ 19803/*! other exports [not provided] [no usage info] */ 19804/*! runtime requirements: __webpack_require__, __webpack_require__.r, __webpack_exports__, __webpack_require__.d, __webpack_require__.* */ 19805/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 19806 19807"use strict"; 19808__webpack_require__.r(__webpack_exports__); 19809/* harmony export */ __webpack_require__.d(__webpack_exports__, { 19810/* harmony export */ "default": function() { return /* binding */ onTouchStart; } 19811/* harmony export */ }); 19812/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ "./node_modules/ssr-window/ssr-window.esm.js"); 19813/* harmony import */ var _shared_dom_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/dom.js */ "./node_modules/swiper/shared/dom.js"); 19814/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../shared/utils.js */ "./node_modules/swiper/shared/utils.js"); 19815; 19816 19817 // Modified from https://stackoverflow.com/questions/54520554/custom-element-getrootnode-closest-function-crossing-multiple-parent-shadowd 19818 19819function closestElement(selector, base = this) { 19820 function __closestFrom(el) { 19821 if (!el || el === (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getDocument)() || el === (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)()) return null; 19822 if (el.assignedSlot) el = el.assignedSlot; 19823 const found = el.closest(selector); 19824 19825 if (!found && !el.getRootNode) { 19826 return null; 19827 } 19828 19829 return found || __closestFrom(el.getRootNode().host); 19830 } 19831 19832 return __closestFrom(base); 19833} 19834 19835function onTouchStart(event) { 19836 const swiper = this; 19837 const document = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getDocument)(); 19838 const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)(); 19839 const data = swiper.touchEventsData; 19840 const { 19841 params, 19842 touches, 19843 enabled 19844 } = swiper; 19845 if (!enabled) return; 19846 19847 if (swiper.animating && params.preventInteractionOnTransition) { 19848 return; 19849 } 19850 19851 if (!swiper.animating && params.cssMode && params.loop) { 19852 swiper.loopFix(); 19853 } 19854 19855 let e = event; 19856 if (e.originalEvent) e = e.originalEvent; 19857 let $targetEl = (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__.default)(e.target); 19858 19859 if (params.touchEventsTarget === 'wrapper') { 19860 if (!$targetEl.closest(swiper.wrapperEl).length) return; 19861 } 19862 19863 data.isTouchEvent = e.type === 'touchstart'; 19864 if (!data.isTouchEvent && 'which' in e && e.which === 3) return; 19865 if (!data.isTouchEvent && 'button' in e && e.button > 0) return; 19866 if (data.isTouched && data.isMoved) return; // change target el for shadow root component 19867 19868 const swipingClassHasValue = !!params.noSwipingClass && params.noSwipingClass !== ''; // eslint-disable-next-line 19869 19870 const eventPath = event.composedPath ? event.composedPath() : event.path; 19871 19872 if (swipingClassHasValue && e.target && e.target.shadowRoot && eventPath) { 19873 $targetEl = (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__.default)(eventPath[0]); 19874 } 19875 19876 const noSwipingSelector = params.noSwipingSelector ? params.noSwipingSelector : `.${params.noSwipingClass}`; 19877 const isTargetShadow = !!(e.target && e.target.shadowRoot); // use closestElement for shadow root element to get the actual closest for nested shadow root element 19878 19879 if (params.noSwiping && (isTargetShadow ? closestElement(noSwipingSelector, $targetEl[0]) : $targetEl.closest(noSwipingSelector)[0])) { 19880 swiper.allowClick = true; 19881 return; 19882 } 19883 19884 if (params.swipeHandler) { 19885 if (!$targetEl.closest(params.swipeHandler)[0]) return; 19886 } 19887 19888 touches.currentX = e.type === 'touchstart' ? e.targetTouches[0].pageX : e.pageX; 19889 touches.currentY = e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY; 19890 const startX = touches.currentX; 19891 const startY = touches.currentY; // Do NOT start if iOS edge swipe is detected. Otherwise iOS app cannot swipe-to-go-back anymore 19892 19893 const edgeSwipeDetection = params.edgeSwipeDetection || params.iOSEdgeSwipeDetection; 19894 const edgeSwipeThreshold = params.edgeSwipeThreshold || params.iOSEdgeSwipeThreshold; 19895 19896 if (edgeSwipeDetection && (startX <= edgeSwipeThreshold || startX >= window.innerWidth - edgeSwipeThreshold)) { 19897 if (edgeSwipeDetection === 'prevent') { 19898 event.preventDefault(); 19899 } else { 19900 return; 19901 } 19902 } 19903 19904 Object.assign(data, { 19905 isTouched: true, 19906 isMoved: false, 19907 allowTouchCallbacks: true, 19908 isScrolling: undefined, 19909 startMoving: undefined 19910 }); 19911 touches.startX = startX; 19912 touches.startY = startY; 19913 data.touchStartTime = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_2__.now)(); 19914 swiper.allowClick = true; 19915 swiper.updateSize(); 19916 swiper.swipeDirection = undefined; 19917 if (params.threshold > 0) data.allowThresholdMove = false; 19918 19919 if (e.type !== 'touchstart') { 19920 let preventDefault = true; 19921 19922 if ($targetEl.is(data.focusableElements)) { 19923 preventDefault = false; 19924 19925 if ($targetEl[0].nodeName === 'SELECT') { 19926 data.isTouched = false; 19927 } 19928 } 19929 19930 if (document.activeElement && (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__.default)(document.activeElement).is(data.focusableElements) && document.activeElement !== $targetEl[0]) { 19931 document.activeElement.blur(); 19932 } 19933 19934 const shouldPreventDefault = preventDefault && swiper.allowTouchMove && params.touchStartPreventDefault; 19935 19936 if ((params.touchStartForcePreventDefault || shouldPreventDefault) && !$targetEl[0].isContentEditable) { 19937 e.preventDefault(); 19938 } 19939 } 19940 19941 if (swiper.params.freeMode && swiper.params.freeMode.enabled && swiper.freeMode && swiper.animating && !params.cssMode) { 19942 swiper.freeMode.onTouchStart(); 19943 } 19944 19945 swiper.emit('touchStart', e); 19946} 19947 19948/***/ }), 19949
vendor: 1,275 bytes, lines 19950-19972
19950/***/ "./node_modules/swiper/core/grab-cursor/index.js": 19951/*!*******************************************************!*\ 19952 !*** ./node_modules/swiper/core/grab-cursor/index.js ***! 19953 \*******************************************************/ 19954/*! namespace exports */ 19955/*! export default [provided] [no usage info] [missing usage info prevents renaming] */ 19956/*! other exports [not provided] [no usage info] */ 19957/*! runtime requirements: __webpack_require__, __webpack_exports__, __webpack_require__.r, __webpack_require__.* */ 19958/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 19959 19960"use strict"; 19961__webpack_require__.r(__webpack_exports__); 19962/* harmony import */ var _setGrabCursor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./setGrabCursor.js */ "./node_modules/swiper/core/grab-cursor/setGrabCursor.js"); 19963/* harmony import */ var _unsetGrabCursor_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./unsetGrabCursor.js */ "./node_modules/swiper/core/grab-cursor/unsetGrabCursor.js"); 19964; 19965 19966/* harmony default export */ __webpack_exports__["default"] = ({ 19967 setGrabCursor: _setGrabCursor_js__WEBPACK_IMPORTED_MODULE_0__.default, 19968 unsetGrabCursor: _unsetGrabCursor_js__WEBPACK_IMPORTED_MODULE_1__.default 19969}); 19970 19971/***/ }), 19972
vendor: 1,270 bytes, lines 19973-19997
19973/***/ "./node_modules/swiper/core/grab-cursor/setGrabCursor.js": 19974/*!***************************************************************!*\ 19975 !*** ./node_modules/swiper/core/grab-cursor/setGrabCursor.js ***! 19976 \***************************************************************/ 19977/*! namespace exports */ 19978/*! export default [provided] [no usage info] [missing usage info prevents renaming] */ 19979/*! other exports [not provided] [no usage info] */ 19980/*! runtime requirements: __webpack_require__.r, __webpack_exports__, __webpack_require__.d, __webpack_require__.* */ 19981/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 19982 19983"use strict"; 19984__webpack_require__.r(__webpack_exports__); 19985/* harmony export */ __webpack_require__.d(__webpack_exports__, { 19986/* harmony export */ "default": function() { return /* binding */ setGrabCursor; } 19987/* harmony export */ }); 19988function setGrabCursor(moving) { 19989 const swiper = this; 19990 if (swiper.support.touch || !swiper.params.simulateTouch || swiper.params.watchOverflow && swiper.isLocked || swiper.params.cssMode) return; 19991 const el = swiper.params.touchEventsTarget === 'container' ? swiper.el : swiper.wrapperEl; 19992 el.style.cursor = 'move'; 19993 el.style.cursor = moving ? 'grabbing' : 'grab'; 19994} 19995 19996/***/ }), 19997
vendor: 1,183 bytes, lines 19998-20024
19998/***/ "./node_modules/swiper/core/grab-cursor/unsetGrabCursor.js": 19999/*!*****************************************************************!*\ 20000 !*** ./node_modules/swiper/core/grab-cursor/unsetGrabCursor.js ***! 20001 \*****************************************************************/ 20002/*! namespace exports */ 20003/*! export default [provided] [no usage info] [missing usage info prevents renaming] */ 20004/*! other exports [not provided] [no usage info] */ 20005/*! runtime requirements: __webpack_require__.r, __webpack_exports__, __webpack_require__.d, __webpack_require__.* */ 20006/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 20007 20008"use strict"; 20009__webpack_require__.r(__webpack_exports__); 20010/* harmony export */ __webpack_require__.d(__webpack_exports__, { 20011/* harmony export */ "default": function() { return /* binding */ unsetGrabCursor; } 20012/* harmony export */ }); 20013function unsetGrabCursor() { 20014 const swiper = this; 20015 20016 if (swiper.support.touch || swiper.params.watchOverflow && swiper.isLocked || swiper.params.cssMode) { 20017 return; 20018 } 20019 20020 swiper[swiper.params.touchEventsTarget === 'container' ? 'el' : 'wrapperEl'].style.cursor = ''; 20021} 20022 20023/***/ }), 20024
vendor: 1,215 bytes, lines 20025-20047
20025/***/ "./node_modules/swiper/core/images/index.js": 20026/*!**************************************************!*\ 20027 !*** ./node_modules/swiper/core/images/index.js ***! 20028 \**************************************************/ 20029/*! namespace exports */ 20030/*! export default [provided] [no usage info] [missing usage info prevents renaming] */ 20031/*! other exports [not provided] [no usage info] */ 20032/*! runtime requirements: __webpack_require__, __webpack_exports__, __webpack_require__.r, __webpack_require__.* */ 20033/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 20034 20035"use strict"; 20036__webpack_require__.r(__webpack_exports__); 20037/* harmony import */ var _loadImage_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./loadImage.js */ "./node_modules/swiper/core/images/loadImage.js"); 20038/* harmony import */ var _preloadImages_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./preloadImages.js */ "./node_modules/swiper/core/images/preloadImages.js"); 20039; 20040 20041/* harmony default export */ __webpack_exports__["default"] = ({ 20042 loadImage: _loadImage_js__WEBPACK_IMPORTED_MODULE_0__.default, 20043 preloadImages: _preloadImages_js__WEBPACK_IMPORTED_MODULE_1__.default 20044}); 20045 20046/***/ }), 20047
vendor: 1,966 bytes, lines 20048-20104
20048/***/ "./node_modules/swiper/core/images/loadImage.js": 20049/*!******************************************************!*\ 20050 !*** ./node_modules/swiper/core/images/loadImage.js ***! 20051 \******************************************************/ 20052/*! namespace exports */ 20053/*! export default [provided] [no usage info] [missing usage info prevents renaming] */ 20054/*! other exports [not provided] [no usage info] */ 20055/*! runtime requirements: __webpack_require__, __webpack_require__.r, __webpack_exports__, __webpack_require__.d, __webpack_require__.* */ 20056/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 20057 20058"use strict"; 20059__webpack_require__.r(__webpack_exports__); 20060/* harmony export */ __webpack_require__.d(__webpack_exports__, { 20061/* harmony export */ "default": function() { return /* binding */ loadImage; } 20062/* harmony export */ }); 20063/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ "./node_modules/ssr-window/ssr-window.esm.js"); 20064/* harmony import */ var _shared_dom_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/dom.js */ "./node_modules/swiper/shared/dom.js"); 20065; 20066 20067function loadImage(imageEl, src, srcset, sizes, checkForComplete, callback) { 20068 const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)(); 20069 let image; 20070 20071 function onReady() { 20072 if (callback) callback(); 20073 } 20074 20075 const isPicture = (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__.default)(imageEl).parent('picture')[0]; 20076 20077 if (!isPicture && (!imageEl.complete || !checkForComplete)) { 20078 if (src) { 20079 image = new window.Image(); 20080 image.onload = onReady; 20081 image.onerror = onReady; 20082 20083 if (sizes) { 20084 image.sizes = sizes; 20085 } 20086 20087 if (srcset) { 20088 image.srcset = srcset; 20089 } 20090 20091 if (src) { 20092 image.src = src; 20093 } 20094 } else { 20095 onReady(); 20096 } 20097 } else { 20098 // image already loaded... 20099 onReady(); 20100 } 20101} 20102 20103/***/ }), 20104
vendor: 1,641 bytes, lines 20105-20141
20105/***/ "./node_modules/swiper/core/images/preloadImages.js": 20106/*!**********************************************************!*\ 20107 !*** ./node_modules/swiper/core/images/preloadImages.js ***! 20108 \**********************************************************/ 20109/*! namespace exports */ 20110/*! export default [provided] [no usage info] [missing usage info prevents renaming] */ 20111/*! other exports [not provided] [no usage info] */ 20112/*! runtime requirements: __webpack_require__.r, __webpack_exports__, __webpack_require__.d, __webpack_require__.* */ 20113/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 20114 20115"use strict"; 20116__webpack_require__.r(__webpack_exports__); 20117/* harmony export */ __webpack_require__.d(__webpack_exports__, { 20118/* harmony export */ "default": function() { return /* binding */ preloadImages; } 20119/* harmony export */ }); 20120function preloadImages() { 20121 const swiper = this; 20122 swiper.imagesToLoad = swiper.$el.find('img'); 20123 20124 function onReady() { 20125 if (typeof swiper === 'undefined' || swiper === null || !swiper || swiper.destroyed) return; 20126 if (swiper.imagesLoaded !== undefined) swiper.imagesLoaded += 1; 20127 20128 if (swiper.imagesLoaded === swiper.imagesToLoad.length) { 20129 if (swiper.params.updateOnImagesReady) swiper.update(); 20130 swiper.emit('imagesReady'); 20131 } 20132 } 20133 20134 for (let i = 0; i < swiper.imagesToLoad.length; i += 1) { 20135 const imageEl = swiper.imagesToLoad[i]; 20136 swiper.loadImage(imageEl, imageEl.currentSrc || imageEl.getAttribute('src'), imageEl.srcset || imageEl.getAttribute('srcset'), imageEl.sizes || imageEl.getAttribute('sizes'), true, onReady); 20137 } 20138} 20139 20140/***/ }), 20141
vendor: 1,415 bytes, lines 20142-20167
20142/***/ "./node_modules/swiper/core/loop/index.js": 20143/*!************************************************!*\ 20144 !*** ./node_modules/swiper/core/loop/index.js ***! 20145 \************************************************/ 20146/*! namespace exports */ 20147/*! export default [provided] [no usage info] [missing usage info prevents renaming] */ 20148/*! other exports [not provided] [no usage info] */ 20149/*! runtime requirements: __webpack_require__, __webpack_exports__, __webpack_require__.r, __webpack_require__.* */ 20150/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 20151 20152"use strict"; 20153__webpack_require__.r(__webpack_exports__); 20154/* harmony import */ var _loopCreate_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./loopCreate.js */ "./node_modules/swiper/core/loop/loopCreate.js"); 20155/* harmony import */ var _loopFix_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./loopFix.js */ "./node_modules/swiper/core/loop/loopFix.js"); 20156/* harmony import */ var _loopDestroy_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./loopDestroy.js */ "./node_modules/swiper/core/loop/loopDestroy.js"); 20157; 20158 20159 20160/* harmony default export */ __webpack_exports__["default"] = ({ 20161 loopCreate: _loopCreate_js__WEBPACK_IMPORTED_MODULE_0__.default, 20162 loopFix: _loopFix_js__WEBPACK_IMPORTED_MODULE_1__.default, 20163 loopDestroy: _loopDestroy_js__WEBPACK_IMPORTED_MODULE_2__.default 20164}); 20165 20166/***/ }), 20167
vendor: 3,489 bytes, lines 20168-20243
20168/***/ "./node_modules/swiper/core/loop/loopCreate.js": 20169/*!*****************************************************!*\ 20170 !*** ./node_modules/swiper/core/loop/loopCreate.js ***! 20171 \*****************************************************/ 20172/*! namespace exports */ 20173/*! export default [provided] [no usage info] [missing usage info prevents renaming] */ 20174/*! other exports [not provided] [no usage info] */ 20175/*! runtime requirements: __webpack_require__, __webpack_require__.r, __webpack_exports__, __webpack_require__.d, __webpack_require__.* */ 20176/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 20177 20178"use strict"; 20179__webpack_require__.r(__webpack_exports__); 20180/* harmony export */ __webpack_require__.d(__webpack_exports__, { 20181/* harmony export */ "default": function() { return /* binding */ loopCreate; } 20182/* harmony export */ }); 20183/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ "./node_modules/ssr-window/ssr-window.esm.js"); 20184/* harmony import */ var _shared_dom_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/dom.js */ "./node_modules/swiper/shared/dom.js"); 20185; 20186 20187function loopCreate() { 20188 const swiper = this; 20189 const document = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getDocument)(); 20190 const { 20191 params, 20192 $wrapperEl 20193 } = swiper; // Remove duplicated slides 20194 20195 const $selector = $wrapperEl.children().length > 0 ? (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__.default)($wrapperEl.children()[0].parentNode) : $wrapperEl; 20196 $selector.children(`.${params.slideClass}.${params.slideDuplicateClass}`).remove(); 20197 let slides = $selector.children(`.${params.slideClass}`); 20198 20199 if (params.loopFillGroupWithBlank) { 20200 const blankSlidesNum = params.slidesPerGroup - slides.length % params.slidesPerGroup; 20201 20202 if (blankSlidesNum !== params.slidesPerGroup) { 20203 for (let i = 0; i < blankSlidesNum; i += 1) { 20204 const blankNode = (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__.default)(document.createElement('div')).addClass(`${params.slideClass} ${params.slideBlankClass}`); 20205 $selector.append(blankNode); 20206 } 20207 20208 slides = $selector.children(`.${params.slideClass}`); 20209 } 20210 } 20211 20212 if (params.slidesPerView === 'auto' && !params.loopedSlides) params.loopedSlides = slides.length; 20213 swiper.loopedSlides = Math.ceil(parseFloat(params.loopedSlides || params.slidesPerView, 10)); 20214 swiper.loopedSlides += params.loopAdditionalSlides; 20215 20216 if (swiper.loopedSlides > slides.length && swiper.params.loopedSlidesLimit) { 20217 swiper.loopedSlides = slides.length; 20218 } 20219 20220 const prependSlides = []; 20221 const appendSlides = []; 20222 slides.each((el, index) => { 20223 const slide = (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__.default)(el); 20224 slide.attr('data-swiper-slide-index', index); 20225 }); 20226 20227 for (let i = 0; i < swiper.loopedSlides; i += 1) { 20228 const index = i - Math.floor(i / slides.length) * slides.length; 20229 appendSlides.push(slides.eq(index)[0]); 20230 prependSlides.unshift(slides.eq(slides.length - index - 1)[0]); 20231 } 20232 20233 for (let i = 0; i < appendSlides.length; i += 1) { 20234 $selector.append((0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__.default)(appendSlides[i].cloneNode(true)).addClass(params.slideDuplicateClass)); 20235 } 20236 20237 for (let i = prependSlides.length - 1; i >= 0; i -= 1) { 20238 $selector.prepend((0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__.default)(prependSlides[i].cloneNode(true)).addClass(params.slideDuplicateClass)); 20239 } 20240} 20241 20242/***/ }), 20243
vendor: 1,156 bytes, lines 20244-20271
20244/***/ "./node_modules/swiper/core/loop/loopDestroy.js": 20245/*!******************************************************!*\ 20246 !*** ./node_modules/swiper/core/loop/loopDestroy.js ***! 20247 \******************************************************/ 20248/*! namespace exports */ 20249/*! export default [provided] [no usage info] [missing usage info prevents renaming] */ 20250/*! other exports [not provided] [no usage info] */ 20251/*! runtime requirements: __webpack_require__.r, __webpack_exports__, __webpack_require__.d, __webpack_require__.* */ 20252/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 20253 20254"use strict"; 20255__webpack_require__.r(__webpack_exports__); 20256/* harmony export */ __webpack_require__.d(__webpack_exports__, { 20257/* harmony export */ "default": function() { return /* binding */ loopDestroy; } 20258/* harmony export */ }); 20259function loopDestroy() { 20260 const swiper = this; 20261 const { 20262 $wrapperEl, 20263 params, 20264 slides 20265 } = swiper; 20266 $wrapperEl.children(`.${params.slideClass}.${params.slideDuplicateClass},.${params.slideClass}.${params.slideBlankClass}`).remove(); 20267 slides.removeAttr('data-swiper-slide-index'); 20268} 20269 20270/***/ }), 20271
vendor: 2,094 bytes, lines 20272-20330
20272/***/ "./node_modules/swiper/core/loop/loopFix.js": 20273/*!**************************************************!*\ 20274 !*** ./node_modules/swiper/core/loop/loopFix.js ***! 20275 \**************************************************/ 20276/*! namespace exports */ 20277/*! export default [provided] [no usage info] [missing usage info prevents renaming] */ 20278/*! other exports [not provided] [no usage info] */ 20279/*! runtime requirements: __webpack_require__.r, __webpack_exports__, __webpack_require__.d, __webpack_require__.* */ 20280/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 20281 20282"use strict"; 20283__webpack_require__.r(__webpack_exports__); 20284/* harmony export */ __webpack_require__.d(__webpack_exports__, { 20285/* harmony export */ "default": function() { return /* binding */ loopFix; } 20286/* harmony export */ }); 20287function loopFix() { 20288 const swiper = this; 20289 swiper.emit('beforeLoopFix'); 20290 const { 20291 activeIndex, 20292 slides, 20293 loopedSlides, 20294 allowSlidePrev, 20295 allowSlideNext, 20296 snapGrid, 20297 rtlTranslate: rtl 20298 } = swiper; 20299 let newIndex; 20300 swiper.allowSlidePrev = true; 20301 swiper.allowSlideNext = true; 20302 const snapTranslate = -snapGrid[activeIndex]; 20303 const diff = snapTranslate - swiper.getTranslate(); // Fix For Negative Oversliding 20304 20305 if (activeIndex < loopedSlides) { 20306 newIndex = slides.length - loopedSlides * 3 + activeIndex; 20307 newIndex += loopedSlides; 20308 const slideChanged = swiper.slideTo(newIndex, 0, false, true); 20309 20310 if (slideChanged && diff !== 0) { 20311 swiper.setTranslate((rtl ? -swiper.translate : swiper.translate) - diff); 20312 } 20313 } else if (activeIndex >= slides.length - loopedSlides) { 20314 // Fix For Positive Oversliding 20315 newIndex = -slides.length + activeIndex + loopedSlides; 20316 newIndex += loopedSlides; 20317 const slideChanged = swiper.slideTo(newIndex, 0, false, true); 20318 20319 if (slideChanged && diff !== 0) { 20320 swiper.setTranslate((rtl ? -swiper.translate : swiper.translate) - diff); 20321 } 20322 } 20323 20324 swiper.allowSlidePrev = allowSlidePrev; 20325 swiper.allowSlideNext = allowSlideNext; 20326 swiper.emit('loopFix'); 20327} 20328 20329/***/ }), 20330
vendor: 2,246 bytes, lines 20331-20387
20331/***/ "./node_modules/swiper/core/moduleExtendParams.js": 20332/*!********************************************************!*\ 20333 !*** ./node_modules/swiper/core/moduleExtendParams.js ***! 20334 \********************************************************/ 20335/*! namespace exports */ 20336/*! export default [provided] [no usage info] [missing usage info prevents renaming] */ 20337/*! other exports [not provided] [no usage info] */ 20338/*! runtime requirements: __webpack_require__, __webpack_require__.r, __webpack_exports__, __webpack_require__.d, __webpack_require__.* */ 20339/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 20340 20341"use strict"; 20342__webpack_require__.r(__webpack_exports__); 20343/* harmony export */ __webpack_require__.d(__webpack_exports__, { 20344/* harmony export */ "default": function() { return /* binding */ moduleExtendParams; } 20345/* harmony export */ }); 20346/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../shared/utils.js */ "./node_modules/swiper/shared/utils.js"); 20347; 20348function moduleExtendParams(params, allModulesParams) { 20349 return function extendParams(obj = {}) { 20350 const moduleParamName = Object.keys(obj)[0]; 20351 const moduleParams = obj[moduleParamName]; 20352 20353 if (typeof moduleParams !== 'object' || moduleParams === null) { 20354 (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.extend)(allModulesParams, obj); 20355 return; 20356 } 20357 20358 if (['navigation', 'pagination', 'scrollbar'].indexOf(moduleParamName) >= 0 && params[moduleParamName] === true) { 20359 params[moduleParamName] = { 20360 auto: true 20361 }; 20362 } 20363 20364 if (!(moduleParamName in params && 'enabled' in moduleParams)) { 20365 (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.extend)(allModulesParams, obj); 20366 return; 20367 } 20368 20369 if (params[moduleParamName] === true) { 20370 params[moduleParamName] = { 20371 enabled: true 20372 }; 20373 } 20374 20375 if (typeof params[moduleParamName] === 'object' && !('enabled' in params[moduleParamName])) { 20376 params[moduleParamName].enabled = true; 20377 } 20378 20379 if (!params[moduleParamName]) params[moduleParamName] = { 20380 enabled: false 20381 }; 20382 (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.extend)(allModulesParams, obj); 20383 }; 20384} 20385 20386/***/ }), 20387
vendor: 3,097 bytes, lines 20388-20481
20388/***/ "./node_modules/swiper/core/modules/observer/observer.js": 20389/*!***************************************************************!*\ 20390 !*** ./node_modules/swiper/core/modules/observer/observer.js ***! 20391 \***************************************************************/ 20392/*! namespace exports */ 20393/*! export default [provided] [no usage info] [missing usage info prevents renaming] */ 20394/*! other exports [not provided] [no usage info] */ 20395/*! runtime requirements: __webpack_require__, __webpack_require__.r, __webpack_exports__, __webpack_require__.d, __webpack_require__.* */ 20396/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 20397 20398"use strict"; 20399__webpack_require__.r(__webpack_exports__); 20400/* harmony export */ __webpack_require__.d(__webpack_exports__, { 20401/* harmony export */ "default": function() { return /* binding */ Observer; } 20402/* harmony export */ }); 20403/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ "./node_modules/ssr-window/ssr-window.esm.js"); 20404; 20405function Observer({ 20406 swiper, 20407 extendParams, 20408 on, 20409 emit 20410}) { 20411 const observers = []; 20412 const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)(); 20413 20414 const attach = (target, options = {}) => { 20415 const ObserverFunc = window.MutationObserver || window.WebkitMutationObserver; 20416 const observer = new ObserverFunc(mutations => { 20417 // The observerUpdate event should only be triggered 20418 // once despite the number of mutations. Additional 20419 // triggers are redundant and are very costly 20420 if (mutations.length === 1) { 20421 emit('observerUpdate', mutations[0]); 20422 return; 20423 } 20424 20425 const observerUpdate = function observerUpdate() { 20426 emit('observerUpdate', mutations[0]); 20427 }; 20428 20429 if (window.requestAnimationFrame) { 20430 window.requestAnimationFrame(observerUpdate); 20431 } else { 20432 window.setTimeout(observerUpdate, 0); 20433 } 20434 }); 20435 observer.observe(target, { 20436 attributes: typeof options.attributes === 'undefined' ? true : options.attributes, 20437 childList: typeof options.childList === 'undefined' ? true : options.childList, 20438 characterData: typeof options.characterData === 'undefined' ? true : options.characterData 20439 }); 20440 observers.push(observer); 20441 }; 20442 20443 const init = () => { 20444 if (!swiper.params.observer) return; 20445 20446 if (swiper.params.observeParents) { 20447 const containerParents = swiper.$el.parents(); 20448 20449 for (let i = 0; i < containerParents.length; i += 1) { 20450 attach(containerParents[i]); 20451 } 20452 } // Observe container 20453 20454 20455 attach(swiper.$el[0], { 20456 childList: swiper.params.observeSlideChildren 20457 }); // Observe wrapper 20458 20459 attach(swiper.$wrapperEl[0], { 20460 attributes: false 20461 }); 20462 }; 20463 20464 const destroy = () => { 20465 observers.forEach(observer => { 20466 observer.disconnect(); 20467 }); 20468 observers.splice(0, observers.length); 20469 }; 20470 20471 extendParams({ 20472 observer: false, 20473 observeParents: false, 20474 observeSlideChildren: false 20475 }); 20476 on('init', init); 20477 on('destroy', destroy); 20478} 20479 20480/***/ }), 20481
vendor: 3,127 bytes, lines 20482-20575
20482/***/ "./node_modules/swiper/core/modules/resize/resize.js": 20483/*!***********************************************************!*\ 20484 !*** ./node_modules/swiper/core/modules/resize/resize.js ***! 20485 \***********************************************************/ 20486/*! namespace exports */ 20487/*! export default [provided] [no usage info] [missing usage info prevents renaming] */ 20488/*! other exports [not provided] [no usage info] */ 20489/*! runtime requirements: __webpack_require__, __webpack_require__.r, __webpack_exports__, __webpack_require__.d, __webpack_require__.* */ 20490/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 20491 20492"use strict"; 20493__webpack_require__.r(__webpack_exports__); 20494/* harmony export */ __webpack_require__.d(__webpack_exports__, { 20495/* harmony export */ "default": function() { return /* binding */ Resize; } 20496/* harmony export */ }); 20497/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ "./node_modules/ssr-window/ssr-window.esm.js"); 20498; 20499function Resize({ 20500 swiper, 20501 on, 20502 emit 20503}) { 20504 const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)(); 20505 let observer = null; 20506 let animationFrame = null; 20507 20508 const resizeHandler = () => { 20509 if (!swiper || swiper.destroyed || !swiper.initialized) return; 20510 emit('beforeResize'); 20511 emit('resize'); 20512 }; 20513 20514 const createObserver = () => { 20515 if (!swiper || swiper.destroyed || !swiper.initialized) return; 20516 observer = new ResizeObserver(entries => { 20517 animationFrame = window.requestAnimationFrame(() => { 20518 const { 20519 width, 20520 height 20521 } = swiper; 20522 let newWidth = width; 20523 let newHeight = height; 20524 entries.forEach(({ 20525 contentBoxSize, 20526 contentRect, 20527 target 20528 }) => { 20529 if (target && target !== swiper.el) return; 20530 newWidth = contentRect ? contentRect.width : (contentBoxSize[0] || contentBoxSize).inlineSize; 20531 newHeight = contentRect ? contentRect.height : (contentBoxSize[0] || contentBoxSize).blockSize; 20532 }); 20533 20534 if (newWidth !== width || newHeight !== height) { 20535 resizeHandler(); 20536 } 20537 }); 20538 }); 20539 observer.observe(swiper.el); 20540 }; 20541 20542 const removeObserver = () => { 20543 if (animationFrame) { 20544 window.cancelAnimationFrame(animationFrame); 20545 } 20546 20547 if (observer && observer.unobserve && swiper.el) { 20548 observer.unobserve(swiper.el); 20549 observer = null; 20550 } 20551 }; 20552 20553 const orientationChangeHandler = () => { 20554 if (!swiper || swiper.destroyed || !swiper.initialized) return; 20555 emit('orientationchange'); 20556 }; 20557 20558 on('init', () => { 20559 if (swiper.params.resizeObserver && typeof window.ResizeObserver !== 'undefined') { 20560 createObserver(); 20561 return; 20562 } 20563 20564 window.addEventListener('resize', resizeHandler); 20565 window.addEventListener('orientationchange', orientationChangeHandler); 20566 }); 20567 on('destroy', () => { 20568 removeObserver(); 20569 window.removeEventListener('resize', resizeHandler); 20570 window.removeEventListener('orientationchange', orientationChangeHandler); 20571 }); 20572} 20573 20574/***/ }), 20575
vendor: 2,409 bytes, lines 20576-20613
20576/***/ "./node_modules/swiper/core/slide/index.js": 20577/*!*************************************************!*\ 20578 !*** ./node_modules/swiper/core/slide/index.js ***! 20579 \*************************************************/ 20580/*! namespace exports */ 20581/*! export default [provided] [no usage info] [missing usage info prevents renaming] */ 20582/*! other exports [not provided] [no usage info] */ 20583/*! runtime requirements: __webpack_require__, __webpack_exports__, __webpack_require__.r, __webpack_require__.* */ 20584/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 20585 20586"use strict"; 20587__webpack_require__.r(__webpack_exports__); 20588/* harmony import */ var _slideTo_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./slideTo.js */ "./node_modules/swiper/core/slide/slideTo.js"); 20589/* harmony import */ var _slideToLoop_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./slideToLoop.js */ "./node_modules/swiper/core/slide/slideToLoop.js"); 20590/* harmony import */ var _slideNext_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./slideNext.js */ "./node_modules/swiper/core/slide/slideNext.js"); 20591/* harmony import */ var _slidePrev_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./slidePrev.js */ "./node_modules/swiper/core/slide/slidePrev.js"); 20592/* harmony import */ var _slideReset_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./slideReset.js */ "./node_modules/swiper/core/slide/slideReset.js"); 20593/* harmony import */ var _slideToClosest_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./slideToClosest.js */ "./node_modules/swiper/core/slide/slideToClosest.js"); 20594/* harmony import */ var _slideToClickedSlide_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./slideToClickedSlide.js */ "./node_modules/swiper/core/slide/slideToClickedSlide.js"); 20595; 20596 20597 20598 20599 20600 20601 20602/* harmony default export */ __webpack_exports__["default"] = ({ 20603 slideTo: _slideTo_js__WEBPACK_IMPORTED_MODULE_0__.default, 20604 slideToLoop: _slideToLoop_js__WEBPACK_IMPORTED_MODULE_1__.default, 20605 slideNext: _slideNext_js__WEBPACK_IMPORTED_MODULE_2__.default, 20606 slidePrev: _slidePrev_js__WEBPACK_IMPORTED_MODULE_3__.default, 20607 slideReset: _slideReset_js__WEBPACK_IMPORTED_MODULE_4__.default, 20608 slideToClosest: _slideToClosest_js__WEBPACK_IMPORTED_MODULE_5__.default, 20609 slideToClickedSlide: _slideToClickedSlide_js__WEBPACK_IMPORTED_MODULE_6__.default 20610}); 20611 20612/***/ }), 20613
vendor: 1,781 bytes, lines 20614-20661
20614/***/ "./node_modules/swiper/core/slide/slideNext.js": 20615/*!*****************************************************!*\ 20616 !*** ./node_modules/swiper/core/slide/slideNext.js ***! 20617 \*****************************************************/ 20618/*! namespace exports */ 20619/*! export default [provided] [no usage info] [missing usage info prevents renaming] */ 20620/*! other exports [not provided] [no usage info] */ 20621/*! runtime requirements: __webpack_require__.r, __webpack_exports__, __webpack_require__.d, __webpack_require__.* */ 20622/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 20623 20624"use strict"; 20625__webpack_require__.r(__webpack_exports__); 20626/* harmony export */ __webpack_require__.d(__webpack_exports__, { 20627/* harmony export */ "default": function() { return /* binding */ slideNext; } 20628/* harmony export */ }); 20629/* eslint no-unused-vars: "off" */ 20630function slideNext(speed = this.params.speed, runCallbacks = true, internal) { 20631 const swiper = this; 20632 const { 20633 animating, 20634 enabled, 20635 params 20636 } = swiper; 20637 if (!enabled) return swiper; 20638 let perGroup = params.slidesPerGroup; 20639 20640 if (params.slidesPerView === 'auto' && params.slidesPerGroup === 1 && params.slidesPerGroupAuto) { 20641 perGroup = Math.max(swiper.slidesPerViewDynamic('current', true), 1); 20642 } 20643 20644 const increment = swiper.activeIndex < params.slidesPerGroupSkip ? 1 : perGroup; 20645 20646 if (params.loop) { 20647 if (animating && params.loopPreventsSlide) return false; 20648 swiper.loopFix(); // eslint-disable-next-line 20649 20650 swiper._clientLeft = swiper.$wrapperEl[0].clientLeft; 20651 } 20652 20653 if (params.rewind && swiper.isEnd) { 20654 return swiper.slideTo(0, speed, runCallbacks, internal); 20655 } 20656 20657 return swiper.slideTo(swiper.activeIndex + increment, speed, runCallbacks, internal); 20658} 20659 20660/***/ }), 20661
vendor: 2,856 bytes, lines 20662-20743
20662/***/ "./node_modules/swiper/core/slide/slidePrev.js": 20663/*!*****************************************************!*\ 20664 !*** ./node_modules/swiper/core/slide/slidePrev.js ***! 20665 \*****************************************************/ 20666/*! namespace exports */ 20667/*! export default [provided] [no usage info] [missing usage info prevents renaming] */ 20668/*! other exports [not provided] [no usage info] */ 20669/*! runtime requirements: __webpack_require__.r, __webpack_exports__, __webpack_require__.d, __webpack_require__.* */ 20670/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 20671 20672"use strict"; 20673__webpack_require__.r(__webpack_exports__); 20674/* harmony export */ __webpack_require__.d(__webpack_exports__, { 20675/* harmony export */ "default": function() { return /* binding */ slidePrev; } 20676/* harmony export */ }); 20677/* eslint no-unused-vars: "off" */ 20678function slidePrev(speed = this.params.speed, runCallbacks = true, internal) { 20679 const swiper = this; 20680 const { 20681 params, 20682 animating, 20683 snapGrid, 20684 slidesGrid, 20685 rtlTranslate, 20686 enabled 20687 } = swiper; 20688 if (!enabled) return swiper; 20689 20690 if (params.loop) { 20691 if (animating && params.loopPreventsSlide) return false; 20692 swiper.loopFix(); // eslint-disable-next-line 20693 20694 swiper._clientLeft = swiper.$wrapperEl[0].clientLeft; 20695 } 20696 20697 const translate = rtlTranslate ? swiper.translate : -swiper.translate; 20698 20699 function normalize(val) { 20700 if (val < 0) return -Math.floor(Math.abs(val)); 20701 return Math.floor(val); 20702 } 20703 20704 const normalizedTranslate = normalize(translate); 20705 const normalizedSnapGrid = snapGrid.map(val => normalize(val)); 20706 let prevSnap = snapGrid[normalizedSnapGrid.indexOf(normalizedTranslate) - 1]; 20707 20708 if (typeof prevSnap === 'undefined' && params.cssMode) { 20709 let prevSnapIndex; 20710 snapGrid.forEach((snap, snapIndex) => { 20711 if (normalizedTranslate >= snap) { 20712 // prevSnap = snap; 20713 prevSnapIndex = snapIndex; 20714 } 20715 }); 20716 20717 if (typeof prevSnapIndex !== 'undefined') { 20718 prevSnap = snapGrid[prevSnapIndex > 0 ? prevSnapIndex - 1 : prevSnapIndex]; 20719 } 20720 } 20721 20722 let prevIndex = 0; 20723 20724 if (typeof prevSnap !== 'undefined') { 20725 prevIndex = slidesGrid.indexOf(prevSnap); 20726 if (prevIndex < 0) prevIndex = swiper.activeIndex - 1; 20727 20728 if (params.slidesPerView === 'auto' && params.slidesPerGroup === 1 && params.slidesPerGroupAuto) { 20729 prevIndex = prevIndex - swiper.slidesPerViewDynamic('previous', true) + 1; 20730 prevIndex = Math.max(prevIndex, 0); 20731 } 20732 } 20733 20734 if (params.rewind && swiper.isBeginning) { 20735 const lastIndex = swiper.params.virtual && swiper.params.virtual.enabled && swiper.virtual ? swiper.virtual.slides.length - 1 : swiper.slides.length - 1; 20736 return swiper.slideTo(lastIndex, speed, runCallbacks, internal); 20737 } 20738 20739 return swiper.slideTo(prevIndex, speed, runCallbacks, internal); 20740} 20741 20742/***/ }), 20743
vendor: 1,075 bytes, lines 20744-20766
20744/***/ "./node_modules/swiper/core/slide/slideReset.js": 20745/*!******************************************************!*\ 20746 !*** ./node_modules/swiper/core/slide/slideReset.js ***! 20747 \******************************************************/ 20748/*! namespace exports */ 20749/*! export default [provided] [no usage info] [missing usage info prevents renaming] */ 20750/*! other exports [not provided] [no usage info] */ 20751/*! runtime requirements: __webpack_require__.r, __webpack_exports__, __webpack_require__.d, __webpack_require__.* */ 20752/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 20753 20754"use strict"; 20755__webpack_require__.r(__webpack_exports__); 20756/* harmony export */ __webpack_require__.d(__webpack_exports__, { 20757/* harmony export */ "default": function() { return /* binding */ slideReset; } 20758/* harmony export */ }); 20759/* eslint no-unused-vars: "off" */ 20760function slideReset(speed = this.params.speed, runCallbacks = true, internal) { 20761 const swiper = this; 20762 return swiper.slideTo(swiper.activeIndex, speed, runCallbacks, internal); 20763} 20764 20765/***/ }), 20766
vendor: 6,807 bytes, lines 20767-20965
20767/***/ "./node_modules/swiper/core/slide/slideTo.js": 20768/*!***************************************************!*\ 20769 !*** ./node_modules/swiper/core/slide/slideTo.js ***! 20770 \***************************************************/ 20771/*! namespace exports */ 20772/*! export default [provided] [no usage info] [missing usage info prevents renaming] */ 20773/*! other exports [not provided] [no usage info] */ 20774/*! runtime requirements: __webpack_require__, __webpack_require__.r, __webpack_exports__, __webpack_require__.d, __webpack_require__.* */ 20775/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 20776 20777"use strict"; 20778__webpack_require__.r(__webpack_exports__); 20779/* harmony export */ __webpack_require__.d(__webpack_exports__, { 20780/* harmony export */ "default": function() { return /* binding */ slideTo; } 20781/* harmony export */ }); 20782/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/utils.js */ "./node_modules/swiper/shared/utils.js"); 20783; 20784function slideTo(index = 0, speed = this.params.speed, runCallbacks = true, internal, initial) { 20785 if (typeof index !== 'number' && typeof index !== 'string') { 20786 throw new Error(`The 'index' argument cannot have type other than 'number' or 'string'. [${typeof index}] given.`); 20787 } 20788 20789 if (typeof index === 'string') { 20790 /** 20791 * The `index` argument converted from `string` to `number`. 20792 * @type {number} 20793 */ 20794 const indexAsNumber = parseInt(index, 10); 20795 /** 20796 * Determines whether the `index` argument is a valid `number` 20797 * after being converted from the `string` type. 20798 * @type {boolean} 20799 */ 20800 20801 const isValidNumber = isFinite(indexAsNumber); 20802 20803 if (!isValidNumber) { 20804 throw new Error(`The passed-in 'index' (string) couldn't be converted to 'number'. [${index}] given.`); 20805 } // Knowing that the converted `index` is a valid number, 20806 // we can update the original argument's value. 20807 20808 20809 index = indexAsNumber; 20810 } 20811 20812 const swiper = this; 20813 let slideIndex = index; 20814 if (slideIndex < 0) slideIndex = 0; 20815 const { 20816 params, 20817 snapGrid, 20818 slidesGrid, 20819 previousIndex, 20820 activeIndex, 20821 rtlTranslate: rtl, 20822 wrapperEl, 20823 enabled 20824 } = swiper; 20825 20826 if (swiper.animating && params.preventInteractionOnTransition || !enabled && !internal && !initial) { 20827 return false; 20828 } 20829 20830 const skip = Math.min(swiper.params.slidesPerGroupSkip, slideIndex); 20831 let snapIndex = skip + Math.floor((slideIndex - skip) / swiper.params.slidesPerGroup); 20832 if (snapIndex >= snapGrid.length) snapIndex = snapGrid.length - 1; 20833 const translate = -snapGrid[snapIndex]; // Normalize slideIndex 20834 20835 if (params.normalizeSlideIndex) { 20836 for (let i = 0; i < slidesGrid.length; i += 1) { 20837 const normalizedTranslate = -Math.floor(translate * 100); 20838 const normalizedGrid = Math.floor(slidesGrid[i] * 100); 20839 const normalizedGridNext = Math.floor(slidesGrid[i + 1] * 100); 20840 20841 if (typeof slidesGrid[i + 1] !== 'undefined') { 20842 if (normalizedTranslate >= normalizedGrid && normalizedTranslate < normalizedGridNext - (normalizedGridNext - normalizedGrid) / 2) { 20843 slideIndex = i; 20844 } else if (normalizedTranslate >= normalizedGrid && normalizedTranslate < normalizedGridNext) { 20845 slideIndex = i + 1; 20846 } 20847 } else if (normalizedTranslate >= normalizedGrid) { 20848 slideIndex = i; 20849 } 20850 } 20851 } // Directions locks 20852 20853 20854 if (swiper.initialized && slideIndex !== activeIndex) { 20855 if (!swiper.allowSlideNext && translate < swiper.translate && translate < swiper.minTranslate()) { 20856 return false; 20857 } 20858 20859 if (!swiper.allowSlidePrev && translate > swiper.translate && translate > swiper.maxTranslate()) { 20860 if ((activeIndex || 0) !== slideIndex) return false; 20861 } 20862 } 20863 20864 if (slideIndex !== (previousIndex || 0) && runCallbacks) { 20865 swiper.emit('beforeSlideChangeStart'); 20866 } // Update progress 20867 20868 20869 swiper.updateProgress(translate); 20870 let direction; 20871 if (slideIndex > activeIndex) direction = 'next';else if (slideIndex < activeIndex) direction = 'prev';else direction = 'reset'; // Update Index 20872 20873 if (rtl && -translate === swiper.translate || !rtl && translate === swiper.translate) { 20874 swiper.updateActiveIndex(slideIndex); // Update Height 20875 20876 if (params.autoHeight) { 20877 swiper.updateAutoHeight(); 20878 } 20879 20880 swiper.updateSlidesClasses(); 20881 20882 if (params.effect !== 'slide') { 20883 swiper.setTranslate(translate); 20884 } 20885 20886 if (direction !== 'reset') { 20887 swiper.transitionStart(runCallbacks, direction); 20888 swiper.transitionEnd(runCallbacks, direction); 20889 } 20890 20891 return false; 20892 } 20893 20894 if (params.cssMode) { 20895 const isH = swiper.isHorizontal(); 20896 const t = rtl ? translate : -translate; 20897 20898 if (speed === 0) { 20899 const isVirtual = swiper.virtual && swiper.params.virtual.enabled; 20900 20901 if (isVirtual) { 20902 swiper.wrapperEl.style.scrollSnapType = 'none'; 20903 swiper._immediateVirtual = true; 20904 } 20905 20906 wrapperEl[isH ? 'scrollLeft' : 'scrollTop'] = t; 20907 20908 if (isVirtual) { 20909 requestAnimationFrame(() => { 20910 swiper.wrapperEl.style.scrollSnapType = ''; 20911 swiper._swiperImmediateVirtual = false; 20912 }); 20913 } 20914 } else { 20915 if (!swiper.support.smoothScroll) { 20916 (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.animateCSSModeScroll)({ 20917 swiper, 20918 targetPosition: t, 20919 side: isH ? 'left' : 'top' 20920 }); 20921 return true; 20922 } 20923 20924 wrapperEl.scrollTo({ 20925 [isH ? 'left' : 'top']: t, 20926 behavior: 'smooth' 20927 }); 20928 } 20929 20930 return true; 20931 } 20932 20933 swiper.setTransition(speed); 20934 swiper.setTranslate(translate); 20935 swiper.updateActiveIndex(slideIndex); 20936 swiper.updateSlidesClasses(); 20937 swiper.emit('beforeTransitionStart', speed, internal); 20938 swiper.transitionStart(runCallbacks, direction); 20939 20940 if (speed === 0) { 20941 swiper.transitionEnd(runCallbacks, direction); 20942 } else if (!swiper.animating) { 20943 swiper.animating = true; 20944 20945 if (!swiper.onSlideToWrapperTransitionEnd) { 20946 swiper.onSlideToWrapperTransitionEnd = function transitionEnd(e) { 20947 if (!swiper || swiper.destroyed) return; 20948 if (e.target !== this) return; 20949 swiper.$wrapperEl[0].removeEventListener('transitionend', swiper.onSlideToWrapperTransitionEnd); 20950 swiper.$wrapperEl[0].removeEventListener('webkitTransitionEnd', swiper.onSlideToWrapperTransitionEnd); 20951 swiper.onSlideToWrapperTransitionEnd = null; 20952 delete swiper.onSlideToWrapperTransitionEnd; 20953 swiper.transitionEnd(runCallbacks, direction); 20954 }; 20955 } 20956 20957 swiper.$wrapperEl[0].addEventListener('transitionend', swiper.onSlideToWrapperTransitionEnd); 20958 swiper.$wrapperEl[0].addEventListener('webkitTransitionEnd', swiper.onSlideToWrapperTransitionEnd); 20959 } 20960 20961 return true; 20962} 20963 20964/***/ }), 20965
vendor: 2,758 bytes, lines 20966-21024
20966/***/ "./node_modules/swiper/core/slide/slideToClickedSlide.js": 20967/*!***************************************************************!*\ 20968 !*** ./node_modules/swiper/core/slide/slideToClickedSlide.js ***! 20969 \***************************************************************/ 20970/*! namespace exports */ 20971/*! export default [provided] [no usage info] [missing usage info prevents renaming] */ 20972/*! other exports [not provided] [no usage info] */ 20973/*! runtime requirements: __webpack_require__, __webpack_require__.r, __webpack_exports__, __webpack_require__.d, __webpack_require__.* */ 20974/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 20975 20976"use strict"; 20977__webpack_require__.r(__webpack_exports__); 20978/* harmony export */ __webpack_require__.d(__webpack_exports__, { 20979/* harmony export */ "default": function() { return /* binding */ slideToClickedSlide; } 20980/* harmony export */ }); 20981/* harmony import */ var _shared_dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/dom.js */ "./node_modules/swiper/shared/dom.js"); 20982/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/utils.js */ "./node_modules/swiper/shared/utils.js"); 20983; 20984 20985function slideToClickedSlide() { 20986 const swiper = this; 20987 const { 20988 params, 20989 $wrapperEl 20990 } = swiper; 20991 const slidesPerView = params.slidesPerView === 'auto' ? swiper.slidesPerViewDynamic() : params.slidesPerView; 20992 let slideToIndex = swiper.clickedIndex; 20993 let realIndex; 20994 20995 if (params.loop) { 20996 if (swiper.animating) return; 20997 realIndex = parseInt((0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_0__.default)(swiper.clickedSlide).attr('data-swiper-slide-index'), 10); 20998 20999 if (params.centeredSlides) { 21000 if (slideToIndex < swiper.loopedSlides - slidesPerView / 2 || slideToIndex > swiper.slides.length - swiper.loopedSlides + slidesPerView / 2) { 21001 swiper.loopFix(); 21002 slideToIndex = $wrapperEl.children(`.${params.slideClass}[data-swiper-slide-index="${realIndex}"]:not(.${params.slideDuplicateClass})`).eq(0).index(); 21003 (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.nextTick)(() => { 21004 swiper.slideTo(slideToIndex); 21005 }); 21006 } else { 21007 swiper.slideTo(slideToIndex); 21008 } 21009 } else if (slideToIndex > swiper.slides.length - slidesPerView) { 21010 swiper.loopFix(); 21011 slideToIndex = $wrapperEl.children(`.${params.slideClass}[data-swiper-slide-index="${realIndex}"]:not(.${params.slideDuplicateClass})`).eq(0).index(); 21012 (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.nextTick)(() => { 21013 swiper.slideTo(slideToIndex); 21014 }); 21015 } else { 21016 swiper.slideTo(slideToIndex); 21017 } 21018 } else { 21019 swiper.slideTo(slideToIndex); 21020 } 21021} 21022 21023/***/ }), 21024
vendor: 2,258 bytes, lines 21025-21074
21025/***/ "./node_modules/swiper/core/slide/slideToClosest.js": 21026/*!**********************************************************!*\ 21027 !*** ./node_modules/swiper/core/slide/slideToClosest.js ***! 21028 \**********************************************************/ 21029/*! namespace exports */ 21030/*! export default [provided] [no usage info] [missing usage info prevents renaming] */ 21031/*! other exports [not provided] [no usage info] */ 21032/*! runtime requirements: __webpack_require__.r, __webpack_exports__, __webpack_require__.d, __webpack_require__.* */ 21033/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 21034 21035"use strict"; 21036__webpack_require__.r(__webpack_exports__); 21037/* harmony export */ __webpack_require__.d(__webpack_exports__, { 21038/* harmony export */ "default": function() { return /* binding */ slideToClosest; } 21039/* harmony export */ }); 21040/* eslint no-unused-vars: "off" */ 21041function slideToClosest(speed = this.params.speed, runCallbacks = true, internal, threshold = 0.5) { 21042 const swiper = this; 21043 let index = swiper.activeIndex; 21044 const skip = Math.min(swiper.params.slidesPerGroupSkip, index); 21045 const snapIndex = skip + Math.floor((index - skip) / swiper.params.slidesPerGroup); 21046 const translate = swiper.rtlTranslate ? swiper.translate : -swiper.translate; 21047 21048 if (translate >= swiper.snapGrid[snapIndex]) { 21049 // The current translate is on or after the current snap index, so the choice 21050 // is between the current index and the one after it. 21051 const currentSnap = swiper.snapGrid[snapIndex]; 21052 const nextSnap = swiper.snapGrid[snapIndex + 1]; 21053 21054 if (translate - currentSnap > (nextSnap - currentSnap) * threshold) { 21055 index += swiper.params.slidesPerGroup; 21056 } 21057 } else { 21058 // The current translate is before the current snap index, so the choice 21059 // is between the current index and the one before it. 21060 const prevSnap = swiper.snapGrid[snapIndex - 1]; 21061 const currentSnap = swiper.snapGrid[snapIndex]; 21062 21063 if (translate - prevSnap <= (currentSnap - prevSnap) * threshold) { 21064 index -= swiper.params.slidesPerGroup; 21065 } 21066 } 21067 21068 index = Math.max(index, 0); 21069 index = Math.min(index, swiper.slidesGrid.length - 1); 21070 return swiper.slideTo(index, speed, runCallbacks, internal); 21071} 21072 21073/***/ }), 21074
vendor: 1,824 bytes, lines 21075-21125
21075/***/ "./node_modules/swiper/core/slide/slideToLoop.js": 21076/*!*******************************************************!*\ 21077 !*** ./node_modules/swiper/core/slide/slideToLoop.js ***! 21078 \*******************************************************/ 21079/*! namespace exports */ 21080/*! export default [provided] [no usage info] [missing usage info prevents renaming] */ 21081/*! other exports [not provided] [no usage info] */ 21082/*! runtime requirements: __webpack_require__.r, __webpack_exports__, __webpack_require__.d, __webpack_require__.* */ 21083/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 21084 21085"use strict"; 21086__webpack_require__.r(__webpack_exports__); 21087/* harmony export */ __webpack_require__.d(__webpack_exports__, { 21088/* harmony export */ "default": function() { return /* binding */ slideToLoop; } 21089/* harmony export */ }); 21090function slideToLoop(index = 0, speed = this.params.speed, runCallbacks = true, internal) { 21091 if (typeof index === 'string') { 21092 /** 21093 * The `index` argument converted from `string` to `number`. 21094 * @type {number} 21095 */ 21096 const indexAsNumber = parseInt(index, 10); 21097 /** 21098 * Determines whether the `index` argument is a valid `number` 21099 * after being converted from the `string` type. 21100 * @type {boolean} 21101 */ 21102 21103 const isValidNumber = isFinite(indexAsNumber); 21104 21105 if (!isValidNumber) { 21106 throw new Error(`The passed-in 'index' (string) couldn't be converted to 'number'. [${index}] given.`); 21107 } // Knowing that the converted `index` is a valid number, 21108 // we can update the original argument's value. 21109 21110 21111 index = indexAsNumber; 21112 } 21113 21114 const swiper = this; 21115 let newIndex = index; 21116 21117 if (swiper.params.loop) { 21118 newIndex += swiper.loopedSlides; 21119 } 21120 21121 return swiper.slideTo(newIndex, speed, runCallbacks, internal); 21122} 21123 21124/***/ }), 21125
vendor: 1,522 bytes, lines 21126-21151
21126/***/ "./node_modules/swiper/core/transition/index.js": 21127/*!******************************************************!*\ 21128 !*** ./node_modules/swiper/core/transition/index.js ***! 21129 \******************************************************/ 21130/*! namespace exports */ 21131/*! export default [provided] [no usage info] [missing usage info prevents renaming] */ 21132/*! other exports [not provided] [no usage info] */ 21133/*! runtime requirements: __webpack_require__, __webpack_exports__, __webpack_require__.r, __webpack_require__.* */ 21134/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 21135 21136"use strict"; 21137__webpack_require__.r(__webpack_exports__); 21138/* harmony import */ var _setTransition_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./setTransition.js */ "./node_modules/swiper/core/transition/setTransition.js"); 21139/* harmony import */ var _transitionStart_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./transitionStart.js */ "./node_modules/swiper/core/transition/transitionStart.js"); 21140/* harmony import */ var _transitionEnd_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./transitionEnd.js */ "./node_modules/swiper/core/transition/transitionEnd.js"); 21141; 21142 21143 21144/* harmony default export */ __webpack_exports__["default"] = ({ 21145 setTransition: _setTransition_js__WEBPACK_IMPORTED_MODULE_0__.default, 21146 transitionStart: _transitionStart_js__WEBPACK_IMPORTED_MODULE_1__.default, 21147 transitionEnd: _transitionEnd_js__WEBPACK_IMPORTED_MODULE_2__.default 21148}); 21149 21150/***/ }), 21151
vendor: 1,106 bytes, lines 21152-21178
21152/***/ "./node_modules/swiper/core/transition/setTransition.js": 21153/*!**************************************************************!*\ 21154 !*** ./node_modules/swiper/core/transition/setTransition.js ***! 21155 \**************************************************************/ 21156/*! namespace exports */ 21157/*! export default [provided] [no usage info] [missing usage info prevents renaming] */ 21158/*! other exports [not provided] [no usage info] */ 21159/*! runtime requirements: __webpack_require__.r, __webpack_exports__, __webpack_require__.d, __webpack_require__.* */ 21160/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 21161 21162"use strict"; 21163__webpack_require__.r(__webpack_exports__); 21164/* harmony export */ __webpack_require__.d(__webpack_exports__, { 21165/* harmony export */ "default": function() { return /* binding */ setTransition; } 21166/* harmony export */ }); 21167function setTransition(duration, byController) { 21168 const swiper = this; 21169 21170 if (!swiper.params.cssMode) { 21171 swiper.$wrapperEl.transition(duration); 21172 } 21173 21174 swiper.emit('setTransition', duration, byController); 21175} 21176 21177/***/ }), 21178
vendor: 1,588 bytes, lines 21179-21229
21179/***/ "./node_modules/swiper/core/transition/transitionEmit.js": 21180/*!***************************************************************!*\ 21181 !*** ./node_modules/swiper/core/transition/transitionEmit.js ***! 21182 \***************************************************************/ 21183/*! namespace exports */ 21184/*! export default [provided] [no usage info] [missing usage info prevents renaming] */ 21185/*! other exports [not provided] [no usage info] */ 21186/*! runtime requirements: __webpack_require__.r, __webpack_exports__, __webpack_require__.d, __webpack_require__.* */ 21187/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 21188 21189"use strict"; 21190__webpack_require__.r(__webpack_exports__); 21191/* harmony export */ __webpack_require__.d(__webpack_exports__, { 21192/* harmony export */ "default": function() { return /* binding */ transitionEmit; } 21193/* harmony export */ }); 21194function transitionEmit({ 21195 swiper, 21196 runCallbacks, 21197 direction, 21198 step 21199}) { 21200 const { 21201 activeIndex, 21202 previousIndex 21203 } = swiper; 21204 let dir = direction; 21205 21206 if (!dir) { 21207 if (activeIndex > previousIndex) dir = 'next';else if (activeIndex < previousIndex) dir = 'prev';else dir = 'reset'; 21208 } 21209 21210 swiper.emit(`transition${step}`); 21211 21212 if (runCallbacks && activeIndex !== previousIndex) { 21213 if (dir === 'reset') { 21214 swiper.emit(`slideResetTransition${step}`); 21215 return; 21216 } 21217 21218 swiper.emit(`slideChangeTransition${step}`); 21219 21220 if (dir === 'next') { 21221 swiper.emit(`slideNextTransition${step}`); 21222 } else { 21223 swiper.emit(`slidePrevTransition${step}`); 21224 } 21225 } 21226} 21227 21228/***/ }), 21229
vendor: 1,432 bytes, lines 21230-21264
21230/***/ "./node_modules/swiper/core/transition/transitionEnd.js": 21231/*!**************************************************************!*\ 21232 !*** ./node_modules/swiper/core/transition/transitionEnd.js ***! 21233 \**************************************************************/ 21234/*! namespace exports */ 21235/*! export default [provided] [no usage info] [missing usage info prevents renaming] */ 21236/*! other exports [not provided] [no usage info] */ 21237/*! runtime requirements: __webpack_require__, __webpack_require__.r, __webpack_exports__, __webpack_require__.d, __webpack_require__.* */ 21238/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 21239 21240"use strict"; 21241__webpack_require__.r(__webpack_exports__); 21242/* harmony export */ __webpack_require__.d(__webpack_exports__, { 21243/* harmony export */ "default": function() { return /* binding */ transitionEnd; } 21244/* harmony export */ }); 21245/* harmony import */ var _transitionEmit_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./transitionEmit.js */ "./node_modules/swiper/core/transition/transitionEmit.js"); 21246; 21247function transitionEnd(runCallbacks = true, direction) { 21248 const swiper = this; 21249 const { 21250 params 21251 } = swiper; 21252 swiper.animating = false; 21253 if (params.cssMode) return; 21254 swiper.setTransition(0); 21255 (0,_transitionEmit_js__WEBPACK_IMPORTED_MODULE_0__.default)({ 21256 swiper, 21257 runCallbacks, 21258 direction, 21259 step: 'End' 21260 }); 21261} 21262 21263/***/ }), 21264
vendor: 1,455 bytes, lines 21265-21302
21265/***/ "./node_modules/swiper/core/transition/transitionStart.js": 21266/*!****************************************************************!*\ 21267 !*** ./node_modules/swiper/core/transition/transitionStart.js ***! 21268 \****************************************************************/ 21269/*! namespace exports */ 21270/*! export default [provided] [no usage info] [missing usage info prevents renaming] */ 21271/*! other exports [not provided] [no usage info] */ 21272/*! runtime requirements: __webpack_require__, __webpack_require__.r, __webpack_exports__, __webpack_require__.d, __webpack_require__.* */ 21273/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 21274 21275"use strict"; 21276__webpack_require__.r(__webpack_exports__); 21277/* harmony export */ __webpack_require__.d(__webpack_exports__, { 21278/* harmony export */ "default": function() { return /* binding */ transitionStart; } 21279/* harmony export */ }); 21280/* harmony import */ var _transitionEmit_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./transitionEmit.js */ "./node_modules/swiper/core/transition/transitionEmit.js"); 21281; 21282function transitionStart(runCallbacks = true, direction) { 21283 const swiper = this; 21284 const { 21285 params 21286 } = swiper; 21287 if (params.cssMode) return; 21288 21289 if (params.autoHeight) { 21290 swiper.updateAutoHeight(); 21291 } 21292 21293 (0,_transitionEmit_js__WEBPACK_IMPORTED_MODULE_0__.default)({ 21294 swiper, 21295 runCallbacks, 21296 direction, 21297 step: 'Start' 21298 }); 21299} 21300 21301/***/ }), 21302
vendor: 1,584 bytes, lines 21303-21343
21303/***/ "./node_modules/swiper/core/translate/getTranslate.js": 21304/*!************************************************************!*\ 21305 !*** ./node_modules/swiper/core/translate/getTranslate.js ***! 21306 \************************************************************/ 21307/*! namespace exports */ 21308/*! export default [provided] [no usage info] [missing usage info prevents renaming] */ 21309/*! other exports [not provided] [no usage info] */ 21310/*! runtime requirements: __webpack_require__, __webpack_require__.r, __webpack_exports__, __webpack_require__.d, __webpack_require__.* */ 21311/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 21312 21313"use strict"; 21314__webpack_require__.r(__webpack_exports__); 21315/* harmony export */ __webpack_require__.d(__webpack_exports__, { 21316/* harmony export */ "default": function() { return /* binding */ getSwiperTranslate; } 21317/* harmony export */ }); 21318/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/utils.js */ "./node_modules/swiper/shared/utils.js"); 21319; 21320function getSwiperTranslate(axis = this.isHorizontal() ? 'x' : 'y') { 21321 const swiper = this; 21322 const { 21323 params, 21324 rtlTranslate: rtl, 21325 translate, 21326 $wrapperEl 21327 } = swiper; 21328 21329 if (params.virtualTranslate) { 21330 return rtl ? -translate : translate; 21331 } 21332 21333 if (params.cssMode) { 21334 return translate; 21335 } 21336 21337 let currentTranslate = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.getTranslate)($wrapperEl[0], axis); 21338 if (rtl) currentTranslate = -currentTranslate; 21339 return currentTranslate || 0; 21340} 21341 21342/***/ }), 21343
vendor: 1,979 bytes, lines 21344-21375
21344/***/ "./node_modules/swiper/core/translate/index.js": 21345/*!*****************************************************!*\ 21346 !*** ./node_modules/swiper/core/translate/index.js ***! 21347 \*****************************************************/ 21348/*! namespace exports */ 21349/*! export default [provided] [no usage info] [missing usage info prevents renaming] */ 21350/*! other exports [not provided] [no usage info] */ 21351/*! runtime requirements: __webpack_require__, __webpack_exports__, __webpack_require__.r, __webpack_require__.* */ 21352/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 21353 21354"use strict"; 21355__webpack_require__.r(__webpack_exports__); 21356/* harmony import */ var _getTranslate_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getTranslate.js */ "./node_modules/swiper/core/translate/getTranslate.js"); 21357/* harmony import */ var _setTranslate_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./setTranslate.js */ "./node_modules/swiper/core/translate/setTranslate.js"); 21358/* harmony import */ var _minTranslate_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./minTranslate.js */ "./node_modules/swiper/core/translate/minTranslate.js"); 21359/* harmony import */ var _maxTranslate_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./maxTranslate.js */ "./node_modules/swiper/core/translate/maxTranslate.js"); 21360/* harmony import */ var _translateTo_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./translateTo.js */ "./node_modules/swiper/core/translate/translateTo.js"); 21361; 21362 21363 21364 21365 21366/* harmony default export */ __webpack_exports__["default"] = ({ 21367 getTranslate: _getTranslate_js__WEBPACK_IMPORTED_MODULE_0__.default, 21368 setTranslate: _setTranslate_js__WEBPACK_IMPORTED_MODULE_1__.default, 21369 minTranslate: _minTranslate_js__WEBPACK_IMPORTED_MODULE_2__.default, 21370 maxTranslate: _maxTranslate_js__WEBPACK_IMPORTED_MODULE_3__.default, 21371 translateTo: _translateTo_js__WEBPACK_IMPORTED_MODULE_4__.default 21372}); 21373 21374/***/ }), 21375
vendor: 964 bytes, lines 21376-21396
21376/***/ "./node_modules/swiper/core/translate/maxTranslate.js": 21377/*!************************************************************!*\ 21378 !*** ./node_modules/swiper/core/translate/maxTranslate.js ***! 21379 \************************************************************/ 21380/*! namespace exports */ 21381/*! export default [provided] [no usage info] [missing usage info prevents renaming] */ 21382/*! other exports [not provided] [no usage info] */ 21383/*! runtime requirements: __webpack_require__.r, __webpack_exports__, __webpack_require__.d, __webpack_require__.* */ 21384/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 21385 21386"use strict"; 21387__webpack_require__.r(__webpack_exports__); 21388/* harmony export */ __webpack_require__.d(__webpack_exports__, { 21389/* harmony export */ "default": function() { return /* binding */ maxTranslate; } 21390/* harmony export */ }); 21391function maxTranslate() { 21392 return -this.snapGrid[this.snapGrid.length - 1]; 21393} 21394 21395/***/ }), 21396
vendor: 941 bytes, lines 21397-21417
21397/***/ "./node_modules/swiper/core/translate/minTranslate.js": 21398/*!************************************************************!*\ 21399 !*** ./node_modules/swiper/core/translate/minTranslate.js ***! 21400 \************************************************************/ 21401/*! namespace exports */ 21402/*! export default [provided] [no usage info] [missing usage info prevents renaming] */ 21403/*! other exports [not provided] [no usage info] */ 21404/*! runtime requirements: __webpack_require__.r, __webpack_exports__, __webpack_require__.d, __webpack_require__.* */ 21405/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 21406 21407"use strict"; 21408__webpack_require__.r(__webpack_exports__); 21409/* harmony export */ __webpack_require__.d(__webpack_exports__, { 21410/* harmony export */ "default": function() { return /* binding */ minTranslate; } 21411/* harmony export */ }); 21412function minTranslate() { 21413 return -this.snapGrid[0]; 21414} 21415 21416/***/ }), 21417
vendor: 2,034 bytes, lines 21418-21483
21418/***/ "./node_modules/swiper/core/translate/setTranslate.js": 21419/*!************************************************************!*\ 21420 !*** ./node_modules/swiper/core/translate/setTranslate.js ***! 21421 \************************************************************/ 21422/*! namespace exports */ 21423/*! export default [provided] [no usage info] [missing usage info prevents renaming] */ 21424/*! other exports [not provided] [no usage info] */ 21425/*! runtime requirements: __webpack_require__.r, __webpack_exports__, __webpack_require__.d, __webpack_require__.* */ 21426/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 21427 21428"use strict"; 21429__webpack_require__.r(__webpack_exports__); 21430/* harmony export */ __webpack_require__.d(__webpack_exports__, { 21431/* harmony export */ "default": function() { return /* binding */ setTranslate; } 21432/* harmony export */ }); 21433function setTranslate(translate, byController) { 21434 const swiper = this; 21435 const { 21436 rtlTranslate: rtl, 21437 params, 21438 $wrapperEl, 21439 wrapperEl, 21440 progress 21441 } = swiper; 21442 let x = 0; 21443 let y = 0; 21444 const z = 0; 21445 21446 if (swiper.isHorizontal()) { 21447 x = rtl ? -translate : translate; 21448 } else { 21449 y = translate; 21450 } 21451 21452 if (params.roundLengths) { 21453 x = Math.floor(x); 21454 y = Math.floor(y); 21455 } 21456 21457 if (params.cssMode) { 21458 wrapperEl[swiper.isHorizontal() ? 'scrollLeft' : 'scrollTop'] = swiper.isHorizontal() ? -x : -y; 21459 } else if (!params.virtualTranslate) { 21460 $wrapperEl.transform(`translate3d(${x}px, ${y}px, ${z}px)`); 21461 } 21462 21463 swiper.previousTranslate = swiper.translate; 21464 swiper.translate = swiper.isHorizontal() ? x : y; // Check if we need to update progress 21465 21466 let newProgress; 21467 const translatesDiff = swiper.maxTranslate() - swiper.minTranslate(); 21468 21469 if (translatesDiff === 0) { 21470 newProgress = 0; 21471 } else { 21472 newProgress = (translate - swiper.minTranslate()) / translatesDiff; 21473 } 21474 21475 if (newProgress !== progress) { 21476 swiper.updateProgress(translate); 21477 } 21478 21479 swiper.emit('setTranslate', swiper.translate, byController); 21480} 21481 21482/***/ }), 21483
vendor: 3,694 bytes, lines 21484-21587
21484/***/ "./node_modules/swiper/core/translate/translateTo.js": 21485/*!***********************************************************!*\ 21486 !*** ./node_modules/swiper/core/translate/translateTo.js ***! 21487 \***********************************************************/ 21488/*! namespace exports */ 21489/*! export default [provided] [no usage info] [missing usage info prevents renaming] */ 21490/*! other exports [not provided] [no usage info] */ 21491/*! runtime requirements: __webpack_require__, __webpack_require__.r, __webpack_exports__, __webpack_require__.d, __webpack_require__.* */ 21492/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 21493 21494"use strict"; 21495__webpack_require__.r(__webpack_exports__); 21496/* harmony export */ __webpack_require__.d(__webpack_exports__, { 21497/* harmony export */ "default": function() { return /* binding */ translateTo; } 21498/* harmony export */ }); 21499/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/utils.js */ "./node_modules/swiper/shared/utils.js"); 21500; 21501function translateTo(translate = 0, speed = this.params.speed, runCallbacks = true, translateBounds = true, internal) { 21502 const swiper = this; 21503 const { 21504 params, 21505 wrapperEl 21506 } = swiper; 21507 21508 if (swiper.animating && params.preventInteractionOnTransition) { 21509 return false; 21510 } 21511 21512 const minTranslate = swiper.minTranslate(); 21513 const maxTranslate = swiper.maxTranslate(); 21514 let newTranslate; 21515 if (translateBounds && translate > minTranslate) newTranslate = minTranslate;else if (translateBounds && translate < maxTranslate) newTranslate = maxTranslate;else newTranslate = translate; // Update progress 21516 21517 swiper.updateProgress(newTranslate); 21518 21519 if (params.cssMode) { 21520 const isH = swiper.isHorizontal(); 21521 21522 if (speed === 0) { 21523 wrapperEl[isH ? 'scrollLeft' : 'scrollTop'] = -newTranslate; 21524 } else { 21525 if (!swiper.support.smoothScroll) { 21526 (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.animateCSSModeScroll)({ 21527 swiper, 21528 targetPosition: -newTranslate, 21529 side: isH ? 'left' : 'top' 21530 }); 21531 return true; 21532 } 21533 21534 wrapperEl.scrollTo({ 21535 [isH ? 'left' : 'top']: -newTranslate, 21536 behavior: 'smooth' 21537 }); 21538 } 21539 21540 return true; 21541 } 21542 21543 if (speed === 0) { 21544 swiper.setTransition(0); 21545 swiper.setTranslate(newTranslate); 21546 21547 if (runCallbacks) { 21548 swiper.emit('beforeTransitionStart', speed, internal); 21549 swiper.emit('transitionEnd'); 21550 } 21551 } else { 21552 swiper.setTransition(speed); 21553 swiper.setTranslate(newTranslate); 21554 21555 if (runCallbacks) { 21556 swiper.emit('beforeTransitionStart', speed, internal); 21557 swiper.emit('transitionStart'); 21558 } 21559 21560 if (!swiper.animating) { 21561 swiper.animating = true; 21562 21563 if (!swiper.onTranslateToWrapperTransitionEnd) { 21564 swiper.onTranslateToWrapperTransitionEnd = function transitionEnd(e) { 21565 if (!swiper || swiper.destroyed) return; 21566 if (e.target !== this) return; 21567 swiper.$wrapperEl[0].removeEventListener('transitionend', swiper.onTranslateToWrapperTransitionEnd); 21568 swiper.$wrapperEl[0].removeEventListener('webkitTransitionEnd', swiper.onTranslateToWrapperTransitionEnd); 21569 swiper.onTranslateToWrapperTransitionEnd = null; 21570 delete swiper.onTranslateToWrapperTransitionEnd; 21571 21572 if (runCallbacks) { 21573 swiper.emit('transitionEnd'); 21574 } 21575 }; 21576 } 21577 21578 swiper.$wrapperEl[0].addEventListener('transitionend', swiper.onTranslateToWrapperTransitionEnd); 21579 swiper.$wrapperEl[0].addEventListener('webkitTransitionEnd', swiper.onTranslateToWrapperTransitionEnd); 21580 } 21581 } 21582 21583 return true; 21584} 21585 21586/***/ }), 21587
vendor: 3,113 bytes, lines 21588-21631
21588/***/ "./node_modules/swiper/core/update/index.js": 21589/*!**************************************************!*\ 21590 !*** ./node_modules/swiper/core/update/index.js ***! 21591 \**************************************************/ 21592/*! namespace exports */ 21593/*! export default [provided] [no usage info] [missing usage info prevents renaming] */ 21594/*! other exports [not provided] [no usage info] */ 21595/*! runtime requirements: __webpack_require__, __webpack_exports__, __webpack_require__.r, __webpack_require__.* */ 21596/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 21597 21598"use strict"; 21599__webpack_require__.r(__webpack_exports__); 21600/* harmony import */ var _updateSize_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./updateSize.js */ "./node_modules/swiper/core/update/updateSize.js"); 21601/* harmony import */ var _updateSlides_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./updateSlides.js */ "./node_modules/swiper/core/update/updateSlides.js"); 21602/* harmony import */ var _updateAutoHeight_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./updateAutoHeight.js */ "./node_modules/swiper/core/update/updateAutoHeight.js"); 21603/* harmony import */ var _updateSlidesOffset_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./updateSlidesOffset.js */ "./node_modules/swiper/core/update/updateSlidesOffset.js"); 21604/* harmony import */ var _updateSlidesProgress_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./updateSlidesProgress.js */ "./node_modules/swiper/core/update/updateSlidesProgress.js"); 21605/* harmony import */ var _updateProgress_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./updateProgress.js */ "./node_modules/swiper/core/update/updateProgress.js"); 21606/* harmony import */ var _updateSlidesClasses_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./updateSlidesClasses.js */ "./node_modules/swiper/core/update/updateSlidesClasses.js"); 21607/* harmony import */ var _updateActiveIndex_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./updateActiveIndex.js */ "./node_modules/swiper/core/update/updateActiveIndex.js"); 21608/* harmony import */ var _updateClickedSlide_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./updateClickedSlide.js */ "./node_modules/swiper/core/update/updateClickedSlide.js"); 21609; 21610 21611 21612 21613 21614 21615 21616 21617 21618/* harmony default export */ __webpack_exports__["default"] = ({ 21619 updateSize: _updateSize_js__WEBPACK_IMPORTED_MODULE_0__.default, 21620 updateSlides: _updateSlides_js__WEBPACK_IMPORTED_MODULE_1__.default, 21621 updateAutoHeight: _updateAutoHeight_js__WEBPACK_IMPORTED_MODULE_2__.default, 21622 updateSlidesOffset: _updateSlidesOffset_js__WEBPACK_IMPORTED_MODULE_3__.default, 21623 updateSlidesProgress: _updateSlidesProgress_js__WEBPACK_IMPORTED_MODULE_4__.default, 21624 updateProgress: _updateProgress_js__WEBPACK_IMPORTED_MODULE_5__.default, 21625 updateSlidesClasses: _updateSlidesClasses_js__WEBPACK_IMPORTED_MODULE_6__.default, 21626 updateActiveIndex: _updateActiveIndex_js__WEBPACK_IMPORTED_MODULE_7__.default, 21627 updateClickedSlide: _updateClickedSlide_js__WEBPACK_IMPORTED_MODULE_8__.default 21628}); 21629 21630/***/ }), 21631
vendor: 2,910 bytes, lines 21632-21719
21632/***/ "./node_modules/swiper/core/update/updateActiveIndex.js": 21633/*!**************************************************************!*\ 21634 !*** ./node_modules/swiper/core/update/updateActiveIndex.js ***! 21635 \**************************************************************/ 21636/*! namespace exports */ 21637/*! export default [provided] [no usage info] [missing usage info prevents renaming] */ 21638/*! other exports [not provided] [no usage info] */ 21639/*! runtime requirements: __webpack_require__.r, __webpack_exports__, __webpack_require__.d, __webpack_require__.* */ 21640/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 21641 21642"use strict"; 21643__webpack_require__.r(__webpack_exports__); 21644/* harmony export */ __webpack_require__.d(__webpack_exports__, { 21645/* harmony export */ "default": function() { return /* binding */ updateActiveIndex; } 21646/* harmony export */ }); 21647function updateActiveIndex(newActiveIndex) { 21648 const swiper = this; 21649 const translate = swiper.rtlTranslate ? swiper.translate : -swiper.translate; 21650 const { 21651 slidesGrid, 21652 snapGrid, 21653 params, 21654 activeIndex: previousIndex, 21655 realIndex: previousRealIndex, 21656 snapIndex: previousSnapIndex 21657 } = swiper; 21658 let activeIndex = newActiveIndex; 21659 let snapIndex; 21660 21661 if (typeof activeIndex === 'undefined') { 21662 for (let i = 0; i < slidesGrid.length; i += 1) { 21663 if (typeof slidesGrid[i + 1] !== 'undefined') { 21664 if (translate >= slidesGrid[i] && translate < slidesGrid[i + 1] - (slidesGrid[i + 1] - slidesGrid[i]) / 2) { 21665 activeIndex = i; 21666 } else if (translate >= slidesGrid[i] && translate < slidesGrid[i + 1]) { 21667 activeIndex = i + 1; 21668 } 21669 } else if (translate >= slidesGrid[i]) { 21670 activeIndex = i; 21671 } 21672 } // Normalize slideIndex 21673 21674 21675 if (params.normalizeSlideIndex) { 21676 if (activeIndex < 0 || typeof activeIndex === 'undefined') activeIndex = 0; 21677 } 21678 } 21679 21680 if (snapGrid.indexOf(translate) >= 0) { 21681 snapIndex = snapGrid.indexOf(translate); 21682 } else { 21683 const skip = Math.min(params.slidesPerGroupSkip, activeIndex); 21684 snapIndex = skip + Math.floor((activeIndex - skip) / params.slidesPerGroup); 21685 } 21686 21687 if (snapIndex >= snapGrid.length) snapIndex = snapGrid.length - 1; 21688 21689 if (activeIndex === previousIndex) { 21690 if (snapIndex !== previousSnapIndex) { 21691 swiper.snapIndex = snapIndex; 21692 swiper.emit('snapIndexChange'); 21693 } 21694 21695 return; 21696 } // Get real index 21697 21698 21699 const realIndex = parseInt(swiper.slides.eq(activeIndex).attr('data-swiper-slide-index') || activeIndex, 10); 21700 Object.assign(swiper, { 21701 snapIndex, 21702 realIndex, 21703 previousIndex, 21704 activeIndex 21705 }); 21706 swiper.emit('activeIndexChange'); 21707 swiper.emit('snapIndexChange'); 21708 21709 if (previousRealIndex !== realIndex) { 21710 swiper.emit('realIndexChange'); 21711 } 21712 21713 if (swiper.initialized || swiper.params.runCallbacksOnInit) { 21714 swiper.emit('slideChange'); 21715 } 21716} 21717 21718/***/ }), 21719
vendor: 2,650 bytes, lines 21720-21788
21720/***/ "./node_modules/swiper/core/update/updateAutoHeight.js": 21721/*!*************************************************************!*\ 21722 !*** ./node_modules/swiper/core/update/updateAutoHeight.js ***! 21723 \*************************************************************/ 21724/*! namespace exports */ 21725/*! export default [provided] [no usage info] [missing usage info prevents renaming] */ 21726/*! other exports [not provided] [no usage info] */ 21727/*! runtime requirements: __webpack_require__, __webpack_require__.r, __webpack_exports__, __webpack_require__.d, __webpack_require__.* */ 21728/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 21729 21730"use strict"; 21731__webpack_require__.r(__webpack_exports__); 21732/* harmony export */ __webpack_require__.d(__webpack_exports__, { 21733/* harmony export */ "default": function() { return /* binding */ updateAutoHeight; } 21734/* harmony export */ }); 21735/* harmony import */ var _shared_dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/dom.js */ "./node_modules/swiper/shared/dom.js"); 21736; 21737function updateAutoHeight(speed) { 21738 const swiper = this; 21739 const activeSlides = []; 21740 const isVirtual = swiper.virtual && swiper.params.virtual.enabled; 21741 let newHeight = 0; 21742 let i; 21743 21744 if (typeof speed === 'number') { 21745 swiper.setTransition(speed); 21746 } else if (speed === true) { 21747 swiper.setTransition(swiper.params.speed); 21748 } 21749 21750 const getSlideByIndex = index => { 21751 if (isVirtual) { 21752 return swiper.slides.filter(el => parseInt(el.getAttribute('data-swiper-slide-index'), 10) === index)[0]; 21753 } 21754 21755 return swiper.slides.eq(index)[0]; 21756 }; // Find slides currently in view 21757 21758 21759 if (swiper.params.slidesPerView !== 'auto' && swiper.params.slidesPerView > 1) { 21760 if (swiper.params.centeredSlides) { 21761 (swiper.visibleSlides || (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_0__.default)([])).each(slide => { 21762 activeSlides.push(slide); 21763 }); 21764 } else { 21765 for (i = 0; i < Math.ceil(swiper.params.slidesPerView); i += 1) { 21766 const index = swiper.activeIndex + i; 21767 if (index > swiper.slides.length && !isVirtual) break; 21768 activeSlides.push(getSlideByIndex(index)); 21769 } 21770 } 21771 } else { 21772 activeSlides.push(getSlideByIndex(swiper.activeIndex)); 21773 } // Find new height from highest slide in view 21774 21775 21776 for (i = 0; i < activeSlides.length; i += 1) { 21777 if (typeof activeSlides[i] !== 'undefined') { 21778 const height = activeSlides[i].offsetHeight; 21779 newHeight = height > newHeight ? height : newHeight; 21780 } 21781 } // Update Height 21782 21783 21784 if (newHeight || newHeight === 0) swiper.$wrapperEl.css('height', `${newHeight}px`); 21785} 21786 21787/***/ }), 21788
vendor: 2,105 bytes, lines 21789-21843
21789/***/ "./node_modules/swiper/core/update/updateClickedSlide.js": 21790/*!***************************************************************!*\ 21791 !*** ./node_modules/swiper/core/update/updateClickedSlide.js ***! 21792 \***************************************************************/ 21793/*! namespace exports */ 21794/*! export default [provided] [no usage info] [missing usage info prevents renaming] */ 21795/*! other exports [not provided] [no usage info] */ 21796/*! runtime requirements: __webpack_require__, __webpack_require__.r, __webpack_exports__, __webpack_require__.d, __webpack_require__.* */ 21797/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 21798 21799"use strict"; 21800__webpack_require__.r(__webpack_exports__); 21801/* harmony export */ __webpack_require__.d(__webpack_exports__, { 21802/* harmony export */ "default": function() { return /* binding */ updateClickedSlide; } 21803/* harmony export */ }); 21804/* harmony import */ var _shared_dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/dom.js */ "./node_modules/swiper/shared/dom.js"); 21805; 21806function updateClickedSlide(e) { 21807 const swiper = this; 21808 const params = swiper.params; 21809 const slide = (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_0__.default)(e).closest(`.${params.slideClass}`)[0]; 21810 let slideFound = false; 21811 let slideIndex; 21812 21813 if (slide) { 21814 for (let i = 0; i < swiper.slides.length; i += 1) { 21815 if (swiper.slides[i] === slide) { 21816 slideFound = true; 21817 slideIndex = i; 21818 break; 21819 } 21820 } 21821 } 21822 21823 if (slide && slideFound) { 21824 swiper.clickedSlide = slide; 21825 21826 if (swiper.virtual && swiper.params.virtual.enabled) { 21827 swiper.clickedIndex = parseInt((0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_0__.default)(slide).attr('data-swiper-slide-index'), 10); 21828 } else { 21829 swiper.clickedIndex = slideIndex; 21830 } 21831 } else { 21832 swiper.clickedSlide = undefined; 21833 swiper.clickedIndex = undefined; 21834 return; 21835 } 21836 21837 if (params.slideToClickedSlide && swiper.clickedIndex !== undefined && swiper.clickedIndex !== swiper.activeIndex) { 21838 swiper.slideToClickedSlide(); 21839 } 21840} 21841 21842/***/ }), 21843
vendor: 2,095 bytes, lines 21844-21911
21844/***/ "./node_modules/swiper/core/update/updateProgress.js": 21845/*!***********************************************************!*\ 21846 !*** ./node_modules/swiper/core/update/updateProgress.js ***! 21847 \***********************************************************/ 21848/*! namespace exports */ 21849/*! export default [provided] [no usage info] [missing usage info prevents renaming] */ 21850/*! other exports [not provided] [no usage info] */ 21851/*! runtime requirements: __webpack_require__.r, __webpack_exports__, __webpack_require__.d, __webpack_require__.* */ 21852/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 21853 21854"use strict"; 21855__webpack_require__.r(__webpack_exports__); 21856/* harmony export */ __webpack_require__.d(__webpack_exports__, { 21857/* harmony export */ "default": function() { return /* binding */ updateProgress; } 21858/* harmony export */ }); 21859function updateProgress(translate) { 21860 const swiper = this; 21861 21862 if (typeof translate === 'undefined') { 21863 const multiplier = swiper.rtlTranslate ? -1 : 1; // eslint-disable-next-line 21864 21865 translate = swiper && swiper.translate && swiper.translate * multiplier || 0; 21866 } 21867 21868 const params = swiper.params; 21869 const translatesDiff = swiper.maxTranslate() - swiper.minTranslate(); 21870 let { 21871 progress, 21872 isBeginning, 21873 isEnd 21874 } = swiper; 21875 const wasBeginning = isBeginning; 21876 const wasEnd = isEnd; 21877 21878 if (translatesDiff === 0) { 21879 progress = 0; 21880 isBeginning = true; 21881 isEnd = true; 21882 } else { 21883 progress = (translate - swiper.minTranslate()) / translatesDiff; 21884 isBeginning = progress <= 0; 21885 isEnd = progress >= 1; 21886 } 21887 21888 Object.assign(swiper, { 21889 progress, 21890 isBeginning, 21891 isEnd 21892 }); 21893 if (params.watchSlidesProgress || params.centeredSlides && params.autoHeight) swiper.updateSlidesProgress(translate); 21894 21895 if (isBeginning && !wasBeginning) { 21896 swiper.emit('reachBeginning toEdge'); 21897 } 21898 21899 if (isEnd && !wasEnd) { 21900 swiper.emit('reachEnd toEdge'); 21901 } 21902 21903 if (wasBeginning && !isBeginning || wasEnd && !isEnd) { 21904 swiper.emit('fromEdge'); 21905 } 21906 21907 swiper.emit('progress', progress); 21908} 21909 21910/***/ }), 21911
vendor: 1,826 bytes, lines 21912-21962
21912/***/ "./node_modules/swiper/core/update/updateSize.js": 21913/*!*******************************************************!*\ 21914 !*** ./node_modules/swiper/core/update/updateSize.js ***! 21915 \*******************************************************/ 21916/*! namespace exports */ 21917/*! export default [provided] [no usage info] [missing usage info prevents renaming] */ 21918/*! other exports [not provided] [no usage info] */ 21919/*! runtime requirements: __webpack_require__.r, __webpack_exports__, __webpack_require__.d, __webpack_require__.* */ 21920/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 21921 21922"use strict"; 21923__webpack_require__.r(__webpack_exports__); 21924/* harmony export */ __webpack_require__.d(__webpack_exports__, { 21925/* harmony export */ "default": function() { return /* binding */ updateSize; } 21926/* harmony export */ }); 21927function updateSize() { 21928 const swiper = this; 21929 let width; 21930 let height; 21931 const $el = swiper.$el; 21932 21933 if (typeof swiper.params.width !== 'undefined' && swiper.params.width !== null) { 21934 width = swiper.params.width; 21935 } else { 21936 width = $el[0].clientWidth; 21937 } 21938 21939 if (typeof swiper.params.height !== 'undefined' && swiper.params.height !== null) { 21940 height = swiper.params.height; 21941 } else { 21942 height = $el[0].clientHeight; 21943 } 21944 21945 if (width === 0 && swiper.isHorizontal() || height === 0 && swiper.isVertical()) { 21946 return; 21947 } // Subtract paddings 21948 21949 21950 width = width - parseInt($el.css('padding-left') || 0, 10) - parseInt($el.css('padding-right') || 0, 10); 21951 height = height - parseInt($el.css('padding-top') || 0, 10) - parseInt($el.css('padding-bottom') || 0, 10); 21952 if (Number.isNaN(width)) width = 0; 21953 if (Number.isNaN(height)) height = 0; 21954 Object.assign(swiper, { 21955 width, 21956 height, 21957 size: swiper.isHorizontal() ? width : height 21958 }); 21959} 21960 21961/***/ }), 21962
vendor: 11,704 bytes, lines 21963-22301
21963/***/ "./node_modules/swiper/core/update/updateSlides.js": 21964/*!*********************************************************!*\ 21965 !*** ./node_modules/swiper/core/update/updateSlides.js ***! 21966 \*********************************************************/ 21967/*! namespace exports */ 21968/*! export default [provided] [no usage info] [missing usage info prevents renaming] */ 21969/*! other exports [not provided] [no usage info] */ 21970/*! runtime requirements: __webpack_require__, __webpack_require__.r, __webpack_exports__, __webpack_require__.d, __webpack_require__.* */ 21971/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 21972 21973"use strict"; 21974__webpack_require__.r(__webpack_exports__); 21975/* harmony export */ __webpack_require__.d(__webpack_exports__, { 21976/* harmony export */ "default": function() { return /* binding */ updateSlides; } 21977/* harmony export */ }); 21978/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/utils.js */ "./node_modules/swiper/shared/utils.js"); 21979; 21980function updateSlides() { 21981 const swiper = this; 21982 21983 function getDirectionLabel(property) { 21984 if (swiper.isHorizontal()) { 21985 return property; 21986 } // prettier-ignore 21987 21988 21989 return { 21990 'width': 'height', 21991 'margin-top': 'margin-left', 21992 'margin-bottom ': 'margin-right', 21993 'margin-left': 'margin-top', 21994 'margin-right': 'margin-bottom', 21995 'padding-left': 'padding-top', 21996 'padding-right': 'padding-bottom', 21997 'marginRight': 'marginBottom' 21998 }[property]; 21999 } 22000 22001 function getDirectionPropertyValue(node, label) { 22002 return parseFloat(node.getPropertyValue(getDirectionLabel(label)) || 0); 22003 } 22004 22005 const params = swiper.params; 22006 const { 22007 $wrapperEl, 22008 size: swiperSize, 22009 rtlTranslate: rtl, 22010 wrongRTL 22011 } = swiper; 22012 const isVirtual = swiper.virtual && params.virtual.enabled; 22013 const previousSlidesLength = isVirtual ? swiper.virtual.slides.length : swiper.slides.length; 22014 const slides = $wrapperEl.children(`.${swiper.params.slideClass}`); 22015 const slidesLength = isVirtual ? swiper.virtual.slides.length : slides.length; 22016 let snapGrid = []; 22017 const slidesGrid = []; 22018 const slidesSizesGrid = []; 22019 let offsetBefore = params.slidesOffsetBefore; 22020 22021 if (typeof offsetBefore === 'function') { 22022 offsetBefore = params.slidesOffsetBefore.call(swiper); 22023 } 22024 22025 let offsetAfter = params.slidesOffsetAfter; 22026 22027 if (typeof offsetAfter === 'function') { 22028 offsetAfter = params.slidesOffsetAfter.call(swiper); 22029 } 22030 22031 const previousSnapGridLength = swiper.snapGrid.length; 22032 const previousSlidesGridLength = swiper.slidesGrid.length; 22033 let spaceBetween = params.spaceBetween; 22034 let slidePosition = -offsetBefore; 22035 let prevSlideSize = 0; 22036 let index = 0; 22037 22038 if (typeof swiperSize === 'undefined') { 22039 return; 22040 } 22041 22042 if (typeof spaceBetween === 'string' && spaceBetween.indexOf('%') >= 0) { 22043 spaceBetween = parseFloat(spaceBetween.replace('%', '')) / 100 * swiperSize; 22044 } 22045 22046 swiper.virtualSize = -spaceBetween; // reset margins 22047 22048 if (rtl) slides.css({ 22049 marginLeft: '', 22050 marginBottom: '', 22051 marginTop: '' 22052 });else slides.css({ 22053 marginRight: '', 22054 marginBottom: '', 22055 marginTop: '' 22056 }); // reset cssMode offsets 22057 22058 if (params.centeredSlides && params.cssMode) { 22059 (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.setCSSProperty)(swiper.wrapperEl, '--swiper-centered-offset-before', ''); 22060 (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.setCSSProperty)(swiper.wrapperEl, '--swiper-centered-offset-after', ''); 22061 } 22062 22063 const gridEnabled = params.grid && params.grid.rows > 1 && swiper.grid; 22064 22065 if (gridEnabled) { 22066 swiper.grid.initSlides(slidesLength); 22067 } // Calc slides 22068 22069 22070 let slideSize; 22071 const shouldResetSlideSize = params.slidesPerView === 'auto' && params.breakpoints && Object.keys(params.breakpoints).filter(key => { 22072 return typeof params.breakpoints[key].slidesPerView !== 'undefined'; 22073 }).length > 0; 22074 22075 for (let i = 0; i < slidesLength; i += 1) { 22076 slideSize = 0; 22077 const slide = slides.eq(i); 22078 22079 if (gridEnabled) { 22080 swiper.grid.updateSlide(i, slide, slidesLength, getDirectionLabel); 22081 } 22082 22083 if (slide.css('display') === 'none') continue; // eslint-disable-line 22084 22085 if (params.slidesPerView === 'auto') { 22086 if (shouldResetSlideSize) { 22087 slides[i].style[getDirectionLabel('width')] = ``; 22088 } 22089 22090 const slideStyles = getComputedStyle(slide[0]); 22091 const currentTransform = slide[0].style.transform; 22092 const currentWebKitTransform = slide[0].style.webkitTransform; 22093 22094 if (currentTransform) { 22095 slide[0].style.transform = 'none'; 22096 } 22097 22098 if (currentWebKitTransform) { 22099 slide[0].style.webkitTransform = 'none'; 22100 } 22101 22102 if (params.roundLengths) { 22103 slideSize = swiper.isHorizontal() ? slide.outerWidth(true) : slide.outerHeight(true); 22104 } else { 22105 // eslint-disable-next-line 22106 const width = getDirectionPropertyValue(slideStyles, 'width'); 22107 const paddingLeft = getDirectionPropertyValue(slideStyles, 'padding-left'); 22108 const paddingRight = getDirectionPropertyValue(slideStyles, 'padding-right'); 22109 const marginLeft = getDirectionPropertyValue(slideStyles, 'margin-left'); 22110 const marginRight = getDirectionPropertyValue(slideStyles, 'margin-right'); 22111 const boxSizing = slideStyles.getPropertyValue('box-sizing'); 22112 22113 if (boxSizing && boxSizing === 'border-box') { 22114 slideSize = width + marginLeft + marginRight; 22115 } else { 22116 const { 22117 clientWidth, 22118 offsetWidth 22119 } = slide[0]; 22120 slideSize = width + paddingLeft + paddingRight + marginLeft + marginRight + (offsetWidth - clientWidth); 22121 } 22122 } 22123 22124 if (currentTransform) { 22125 slide[0].style.transform = currentTransform; 22126 } 22127 22128 if (currentWebKitTransform) { 22129 slide[0].style.webkitTransform = currentWebKitTransform; 22130 } 22131 22132 if (params.roundLengths) slideSize = Math.floor(slideSize); 22133 } else { 22134 slideSize = (swiperSize - (params.slidesPerView - 1) * spaceBetween) / params.slidesPerView; 22135 if (params.roundLengths) slideSize = Math.floor(slideSize); 22136 22137 if (slides[i]) { 22138 slides[i].style[getDirectionLabel('width')] = `${slideSize}px`; 22139 } 22140 } 22141 22142 if (slides[i]) { 22143 slides[i].swiperSlideSize = slideSize; 22144 } 22145 22146 slidesSizesGrid.push(slideSize); 22147 22148 if (params.centeredSlides) { 22149 slidePosition = slidePosition + slideSize / 2 + prevSlideSize / 2 + spaceBetween; 22150 if (prevSlideSize === 0 && i !== 0) slidePosition = slidePosition - swiperSize / 2 - spaceBetween; 22151 if (i === 0) slidePosition = slidePosition - swiperSize / 2 - spaceBetween; 22152 if (Math.abs(slidePosition) < 1 / 1000) slidePosition = 0; 22153 if (params.roundLengths) slidePosition = Math.floor(slidePosition); 22154 if (index % params.slidesPerGroup === 0) snapGrid.push(slidePosition); 22155 slidesGrid.push(slidePosition); 22156 } else { 22157 if (params.roundLengths) slidePosition = Math.floor(slidePosition); 22158 if ((index - Math.min(swiper.params.slidesPerGroupSkip, index)) % swiper.params.slidesPerGroup === 0) snapGrid.push(slidePosition); 22159 slidesGrid.push(slidePosition); 22160 slidePosition = slidePosition + slideSize + spaceBetween; 22161 } 22162 22163 swiper.virtualSize += slideSize + spaceBetween; 22164 prevSlideSize = slideSize; 22165 index += 1; 22166 } 22167 22168 swiper.virtualSize = Math.max(swiper.virtualSize, swiperSize) + offsetAfter; 22169 22170 if (rtl && wrongRTL && (params.effect === 'slide' || params.effect === 'coverflow')) { 22171 $wrapperEl.css({ 22172 width: `${swiper.virtualSize + params.spaceBetween}px` 22173 }); 22174 } 22175 22176 if (params.setWrapperSize) { 22177 $wrapperEl.css({ 22178 [getDirectionLabel('width')]: `${swiper.virtualSize + params.spaceBetween}px` 22179 }); 22180 } 22181 22182 if (gridEnabled) { 22183 swiper.grid.updateWrapperSize(slideSize, snapGrid, getDirectionLabel); 22184 } // Remove last grid elements depending on width 22185 22186 22187 if (!params.centeredSlides) { 22188 const newSlidesGrid = []; 22189 22190 for (let i = 0; i < snapGrid.length; i += 1) { 22191 let slidesGridItem = snapGrid[i]; 22192 if (params.roundLengths) slidesGridItem = Math.floor(slidesGridItem); 22193 22194 if (snapGrid[i] <= swiper.virtualSize - swiperSize) { 22195 newSlidesGrid.push(slidesGridItem); 22196 } 22197 } 22198 22199 snapGrid = newSlidesGrid; 22200 22201 if (Math.floor(swiper.virtualSize - swiperSize) - Math.floor(snapGrid[snapGrid.length - 1]) > 1) { 22202 snapGrid.push(swiper.virtualSize - swiperSize); 22203 } 22204 } 22205 22206 if (snapGrid.length === 0) snapGrid = [0]; 22207 22208 if (params.spaceBetween !== 0) { 22209 const key = swiper.isHorizontal() && rtl ? 'marginLeft' : getDirectionLabel('marginRight'); 22210 slides.filter((_, slideIndex) => { 22211 if (!params.cssMode) return true; 22212 22213 if (slideIndex === slides.length - 1) { 22214 return false; 22215 } 22216 22217 return true; 22218 }).css({ 22219 [key]: `${spaceBetween}px` 22220 }); 22221 } 22222 22223 if (params.centeredSlides && params.centeredSlidesBounds) { 22224 let allSlidesSize = 0; 22225 slidesSizesGrid.forEach(slideSizeValue => { 22226 allSlidesSize += slideSizeValue + (params.spaceBetween ? params.spaceBetween : 0); 22227 }); 22228 allSlidesSize -= params.spaceBetween; 22229 const maxSnap = allSlidesSize - swiperSize; 22230 snapGrid = snapGrid.map(snap => { 22231 if (snap < 0) return -offsetBefore; 22232 if (snap > maxSnap) return maxSnap + offsetAfter; 22233 return snap; 22234 }); 22235 } 22236 22237 if (params.centerInsufficientSlides) { 22238 let allSlidesSize = 0; 22239 slidesSizesGrid.forEach(slideSizeValue => { 22240 allSlidesSize += slideSizeValue + (params.spaceBetween ? params.spaceBetween : 0); 22241 }); 22242 allSlidesSize -= params.spaceBetween; 22243 22244 if (allSlidesSize < swiperSize) { 22245 const allSlidesOffset = (swiperSize - allSlidesSize) / 2; 22246 snapGrid.forEach((snap, snapIndex) => { 22247 snapGrid[snapIndex] = snap - allSlidesOffset; 22248 }); 22249 slidesGrid.forEach((snap, snapIndex) => { 22250 slidesGrid[snapIndex] = snap + allSlidesOffset; 22251 }); 22252 } 22253 } 22254 22255 Object.assign(swiper, { 22256 slides, 22257 snapGrid, 22258 slidesGrid, 22259 slidesSizesGrid 22260 }); 22261 22262 if (params.centeredSlides && params.cssMode && !params.centeredSlidesBounds) { 22263 (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.setCSSProperty)(swiper.wrapperEl, '--swiper-centered-offset-before', `${-snapGrid[0]}px`); 22264 (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.setCSSProperty)(swiper.wrapperEl, '--swiper-centered-offset-after', `${swiper.size / 2 - slidesSizesGrid[slidesSizesGrid.length - 1] / 2}px`); 22265 const addToSnapGrid = -swiper.snapGrid[0]; 22266 const addToSlidesGrid = -swiper.slidesGrid[0]; 22267 swiper.snapGrid = swiper.snapGrid.map(v => v + addToSnapGrid); 22268 swiper.slidesGrid = swiper.slidesGrid.map(v => v + addToSlidesGrid); 22269 } 22270 22271 if (slidesLength !== previousSlidesLength) { 22272 swiper.emit('slidesLengthChange'); 22273 } 22274 22275 if (snapGrid.length !== previousSnapGridLength) { 22276 if (swiper.params.watchOverflow) swiper.checkOverflow(); 22277 swiper.emit('snapGridLengthChange'); 22278 } 22279 22280 if (slidesGrid.length !== previousSlidesGridLength) { 22281 swiper.emit('slidesGridLengthChange'); 22282 } 22283 22284 if (params.watchSlidesProgress) { 22285 swiper.updateSlidesOffset(); 22286 } 22287 22288 if (!isVirtual && !params.cssMode && (params.effect === 'slide' || params.effect === 'fade')) { 22289 const backFaceHiddenClass = `${params.containerModifierClass}backface-hidden`; 22290 const hasClassBackfaceClassAdded = swiper.$el.hasClass(backFaceHiddenClass); 22291 22292 if (slidesLength <= params.maxBackfaceHiddenSlides) { 22293 if (!hasClassBackfaceClassAdded) swiper.$el.addClass(backFaceHiddenClass); 22294 } else if (hasClassBackfaceClassAdded) { 22295 swiper.$el.removeClass(backFaceHiddenClass); 22296 } 22297 } 22298} 22299 22300/***/ }), 22301
vendor: 3,619 bytes, lines 22302-22383
22302/***/ "./node_modules/swiper/core/update/updateSlidesClasses.js": 22303/*!****************************************************************!*\ 22304 !*** ./node_modules/swiper/core/update/updateSlidesClasses.js ***! 22305 \****************************************************************/ 22306/*! namespace exports */ 22307/*! export default [provided] [no usage info] [missing usage info prevents renaming] */ 22308/*! other exports [not provided] [no usage info] */ 22309/*! runtime requirements: __webpack_require__.r, __webpack_exports__, __webpack_require__.d, __webpack_require__.* */ 22310/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 22311 22312"use strict"; 22313__webpack_require__.r(__webpack_exports__); 22314/* harmony export */ __webpack_require__.d(__webpack_exports__, { 22315/* harmony export */ "default": function() { return /* binding */ updateSlidesClasses; } 22316/* harmony export */ }); 22317function updateSlidesClasses() { 22318 const swiper = this; 22319 const { 22320 slides, 22321 params, 22322 $wrapperEl, 22323 activeIndex, 22324 realIndex 22325 } = swiper; 22326 const isVirtual = swiper.virtual && params.virtual.enabled; 22327 slides.removeClass(`${params.slideActiveClass} ${params.slideNextClass} ${params.slidePrevClass} ${params.slideDuplicateActiveClass} ${params.slideDuplicateNextClass} ${params.slideDuplicatePrevClass}`); 22328 let activeSlide; 22329 22330 if (isVirtual) { 22331 activeSlide = swiper.$wrapperEl.find(`.${params.slideClass}[data-swiper-slide-index="${activeIndex}"]`); 22332 } else { 22333 activeSlide = slides.eq(activeIndex); 22334 } // Active classes 22335 22336 22337 activeSlide.addClass(params.slideActiveClass); 22338 22339 if (params.loop) { 22340 // Duplicate to all looped slides 22341 if (activeSlide.hasClass(params.slideDuplicateClass)) { 22342 $wrapperEl.children(`.${params.slideClass}:not(.${params.slideDuplicateClass})[data-swiper-slide-index="${realIndex}"]`).addClass(params.slideDuplicateActiveClass); 22343 } else { 22344 $wrapperEl.children(`.${params.slideClass}.${params.slideDuplicateClass}[data-swiper-slide-index="${realIndex}"]`).addClass(params.slideDuplicateActiveClass); 22345 } 22346 } // Next Slide 22347 22348 22349 let nextSlide = activeSlide.nextAll(`.${params.slideClass}`).eq(0).addClass(params.slideNextClass); 22350 22351 if (params.loop && nextSlide.length === 0) { 22352 nextSlide = slides.eq(0); 22353 nextSlide.addClass(params.slideNextClass); 22354 } // Prev Slide 22355 22356 22357 let prevSlide = activeSlide.prevAll(`.${params.slideClass}`).eq(0).addClass(params.slidePrevClass); 22358 22359 if (params.loop && prevSlide.length === 0) { 22360 prevSlide = slides.eq(-1); 22361 prevSlide.addClass(params.slidePrevClass); 22362 } 22363 22364 if (params.loop) { 22365 // Duplicate to all looped slides 22366 if (nextSlide.hasClass(params.slideDuplicateClass)) { 22367 $wrapperEl.children(`.${params.slideClass}:not(.${params.slideDuplicateClass})[data-swiper-slide-index="${nextSlide.attr('data-swiper-slide-index')}"]`).addClass(params.slideDuplicateNextClass); 22368 } else { 22369 $wrapperEl.children(`.${params.slideClass}.${params.slideDuplicateClass}[data-swiper-slide-index="${nextSlide.attr('data-swiper-slide-index')}"]`).addClass(params.slideDuplicateNextClass); 22370 } 22371 22372 if (prevSlide.hasClass(params.slideDuplicateClass)) { 22373 $wrapperEl.children(`.${params.slideClass}:not(.${params.slideDuplicateClass})[data-swiper-slide-index="${prevSlide.attr('data-swiper-slide-index')}"]`).addClass(params.slideDuplicatePrevClass); 22374 } else { 22375 $wrapperEl.children(`.${params.slideClass}.${params.slideDuplicateClass}[data-swiper-slide-index="${prevSlide.attr('data-swiper-slide-index')}"]`).addClass(params.slideDuplicatePrevClass); 22376 } 22377 } 22378 22379 swiper.emitSlidesClasses(); 22380} 22381 22382/***/ }), 22383
vendor: 1,146 bytes, lines 22384-22409
22384/***/ "./node_modules/swiper/core/update/updateSlidesOffset.js": 22385/*!***************************************************************!*\ 22386 !*** ./node_modules/swiper/core/update/updateSlidesOffset.js ***! 22387 \***************************************************************/ 22388/*! namespace exports */ 22389/*! export default [provided] [no usage info] [missing usage info prevents renaming] */ 22390/*! other exports [not provided] [no usage info] */ 22391/*! runtime requirements: __webpack_require__.r, __webpack_exports__, __webpack_require__.d, __webpack_require__.* */ 22392/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 22393 22394"use strict"; 22395__webpack_require__.r(__webpack_exports__); 22396/* harmony export */ __webpack_require__.d(__webpack_exports__, { 22397/* harmony export */ "default": function() { return /* binding */ updateSlidesOffset; } 22398/* harmony export */ }); 22399function updateSlidesOffset() { 22400 const swiper = this; 22401 const slides = swiper.slides; 22402 22403 for (let i = 0; i < slides.length; i += 1) { 22404 slides[i].swiperSlideOffset = swiper.isHorizontal() ? slides[i].offsetLeft : slides[i].offsetTop; 22405 } 22406} 22407 22408/***/ }), 22409
vendor: 2,897 bytes, lines 22410-22472
22410/***/ "./node_modules/swiper/core/update/updateSlidesProgress.js": 22411/*!*****************************************************************!*\ 22412 !*** ./node_modules/swiper/core/update/updateSlidesProgress.js ***! 22413 \*****************************************************************/ 22414/*! namespace exports */ 22415/*! export default [provided] [no usage info] [missing usage info prevents renaming] */ 22416/*! other exports [not provided] [no usage info] */ 22417/*! runtime requirements: __webpack_require__, __webpack_require__.r, __webpack_exports__, __webpack_require__.d, __webpack_require__.* */ 22418/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 22419 22420"use strict"; 22421__webpack_require__.r(__webpack_exports__); 22422/* harmony export */ __webpack_require__.d(__webpack_exports__, { 22423/* harmony export */ "default": function() { return /* binding */ updateSlidesProgress; } 22424/* harmony export */ }); 22425/* harmony import */ var _shared_dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/dom.js */ "./node_modules/swiper/shared/dom.js"); 22426; 22427function updateSlidesProgress(translate = this && this.translate || 0) { 22428 const swiper = this; 22429 const params = swiper.params; 22430 const { 22431 slides, 22432 rtlTranslate: rtl, 22433 snapGrid 22434 } = swiper; 22435 if (slides.length === 0) return; 22436 if (typeof slides[0].swiperSlideOffset === 'undefined') swiper.updateSlidesOffset(); 22437 let offsetCenter = -translate; 22438 if (rtl) offsetCenter = translate; // Visible Slides 22439 22440 slides.removeClass(params.slideVisibleClass); 22441 swiper.visibleSlidesIndexes = []; 22442 swiper.visibleSlides = []; 22443 22444 for (let i = 0; i < slides.length; i += 1) { 22445 const slide = slides[i]; 22446 let slideOffset = slide.swiperSlideOffset; 22447 22448 if (params.cssMode && params.centeredSlides) { 22449 slideOffset -= slides[0].swiperSlideOffset; 22450 } 22451 22452 const slideProgress = (offsetCenter + (params.centeredSlides ? swiper.minTranslate() : 0) - slideOffset) / (slide.swiperSlideSize + params.spaceBetween); 22453 const originalSlideProgress = (offsetCenter - snapGrid[0] + (params.centeredSlides ? swiper.minTranslate() : 0) - slideOffset) / (slide.swiperSlideSize + params.spaceBetween); 22454 const slideBefore = -(offsetCenter - slideOffset); 22455 const slideAfter = slideBefore + swiper.slidesSizesGrid[i]; 22456 const isVisible = slideBefore >= 0 && slideBefore < swiper.size - 1 || slideAfter > 1 && slideAfter <= swiper.size || slideBefore <= 0 && slideAfter >= swiper.size; 22457 22458 if (isVisible) { 22459 swiper.visibleSlides.push(slide); 22460 swiper.visibleSlidesIndexes.push(i); 22461 slides.eq(i).addClass(params.slideVisibleClass); 22462 } 22463 22464 slide.progress = rtl ? -slideProgress : slideProgress; 22465 slide.originalProgress = rtl ? -originalSlideProgress : originalSlideProgress; 22466 } 22467 22468 swiper.visibleSlides = (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_0__.default)(swiper.visibleSlides); 22469} 22470 22471/***/ }), 22472
vendor: 11,350 bytes, lines 22473-22843
22473/***/ "./node_modules/swiper/modules/a11y/a11y.js": 22474/*!**************************************************!*\ 22475 !*** ./node_modules/swiper/modules/a11y/a11y.js ***! 22476 \**************************************************/ 22477/*! namespace exports */ 22478/*! export default [provided] [no usage info] [missing usage info prevents renaming] */ 22479/*! other exports [not provided] [no usage info] */ 22480/*! runtime requirements: __webpack_require__, __webpack_require__.r, __webpack_exports__, __webpack_require__.d, __webpack_require__.* */ 22481/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 22482 22483"use strict"; 22484__webpack_require__.r(__webpack_exports__); 22485/* harmony export */ __webpack_require__.d(__webpack_exports__, { 22486/* harmony export */ "default": function() { return /* binding */ A11y; } 22487/* harmony export */ }); 22488/* harmony import */ var _shared_classes_to_selector_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/classes-to-selector.js */ "./node_modules/swiper/shared/classes-to-selector.js"); 22489/* harmony import */ var _shared_dom_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/dom.js */ "./node_modules/swiper/shared/dom.js"); 22490; 22491 22492function A11y({ 22493 swiper, 22494 extendParams, 22495 on 22496}) { 22497 extendParams({ 22498 a11y: { 22499 enabled: true, 22500 notificationClass: 'swiper-notification', 22501 prevSlideMessage: 'Previous slide', 22502 nextSlideMessage: 'Next slide', 22503 firstSlideMessage: 'This is the first slide', 22504 lastSlideMessage: 'This is the last slide', 22505 paginationBulletMessage: 'Go to slide {{index}}', 22506 slideLabelMessage: '{{index}} / {{slidesLength}}', 22507 containerMessage: null, 22508 containerRoleDescriptionMessage: null, 22509 itemRoleDescriptionMessage: null, 22510 slideRole: 'group', 22511 id: null 22512 } 22513 }); 22514 swiper.a11y = { 22515 clicked: false 22516 }; 22517 let liveRegion = null; 22518 22519 function notify(message) { 22520 const notification = liveRegion; 22521 if (notification.length === 0) return; 22522 notification.html(''); 22523 notification.html(message); 22524 } 22525 22526 function getRandomNumber(size = 16) { 22527 const randomChar = () => Math.round(16 * Math.random()).toString(16); 22528 22529 return 'x'.repeat(size).replace(/x/g, randomChar); 22530 } 22531 22532 function makeElFocusable($el) { 22533 $el.attr('tabIndex', '0'); 22534 } 22535 22536 function makeElNotFocusable($el) { 22537 $el.attr('tabIndex', '-1'); 22538 } 22539 22540 function addElRole($el, role) { 22541 $el.attr('role', role); 22542 } 22543 22544 function addElRoleDescription($el, description) { 22545 $el.attr('aria-roledescription', description); 22546 } 22547 22548 function addElControls($el, controls) { 22549 $el.attr('aria-controls', controls); 22550 } 22551 22552 function addElLabel($el, label) { 22553 $el.attr('aria-label', label); 22554 } 22555 22556 function addElId($el, id) { 22557 $el.attr('id', id); 22558 } 22559 22560 function addElLive($el, live) { 22561 $el.attr('aria-live', live); 22562 } 22563 22564 function disableEl($el) { 22565 $el.attr('aria-disabled', true); 22566 } 22567 22568 function enableEl($el) { 22569 $el.attr('aria-disabled', false); 22570 } 22571 22572 function onEnterOrSpaceKey(e) { 22573 if (e.keyCode !== 13 && e.keyCode !== 32) return; 22574 const params = swiper.params.a11y; 22575 const $targetEl = (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__.default)(e.target); 22576 22577 if (swiper.navigation && swiper.navigation.$nextEl && $targetEl.is(swiper.navigation.$nextEl)) { 22578 if (!(swiper.isEnd && !swiper.params.loop)) { 22579 swiper.slideNext(); 22580 } 22581 22582 if (swiper.isEnd) { 22583 notify(params.lastSlideMessage); 22584 } else { 22585 notify(params.nextSlideMessage); 22586 } 22587 } 22588 22589 if (swiper.navigation && swiper.navigation.$prevEl && $targetEl.is(swiper.navigation.$prevEl)) { 22590 if (!(swiper.isBeginning && !swiper.params.loop)) { 22591 swiper.slidePrev(); 22592 } 22593 22594 if (swiper.isBeginning) { 22595 notify(params.firstSlideMessage); 22596 } else { 22597 notify(params.prevSlideMessage); 22598 } 22599 } 22600 22601 if (swiper.pagination && $targetEl.is((0,_shared_classes_to_selector_js__WEBPACK_IMPORTED_MODULE_0__.default)(swiper.params.pagination.bulletClass))) { 22602 $targetEl[0].click(); 22603 } 22604 } 22605 22606 function updateNavigation() { 22607 if (swiper.params.loop || swiper.params.rewind || !swiper.navigation) return; 22608 const { 22609 $nextEl, 22610 $prevEl 22611 } = swiper.navigation; 22612 22613 if ($prevEl && $prevEl.length > 0) { 22614 if (swiper.isBeginning) { 22615 disableEl($prevEl); 22616 makeElNotFocusable($prevEl); 22617 } else { 22618 enableEl($prevEl); 22619 makeElFocusable($prevEl); 22620 } 22621 } 22622 22623 if ($nextEl && $nextEl.length > 0) { 22624 if (swiper.isEnd) { 22625 disableEl($nextEl); 22626 makeElNotFocusable($nextEl); 22627 } else { 22628 enableEl($nextEl); 22629 makeElFocusable($nextEl); 22630 } 22631 } 22632 } 22633 22634 function hasPagination() { 22635 return swiper.pagination && swiper.pagination.bullets && swiper.pagination.bullets.length; 22636 } 22637 22638 function hasClickablePagination() { 22639 return hasPagination() && swiper.params.pagination.clickable; 22640 } 22641 22642 function updatePagination() { 22643 const params = swiper.params.a11y; 22644 if (!hasPagination()) return; 22645 swiper.pagination.bullets.each(bulletEl => { 22646 const $bulletEl = (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__.default)(bulletEl); 22647 22648 if (swiper.params.pagination.clickable) { 22649 makeElFocusable($bulletEl); 22650 22651 if (!swiper.params.pagination.renderBullet) { 22652 addElRole($bulletEl, 'button'); 22653 addElLabel($bulletEl, params.paginationBulletMessage.replace(/\{\{index\}\}/, $bulletEl.index() + 1)); 22654 } 22655 } 22656 22657 if ($bulletEl.is(`.${swiper.params.pagination.bulletActiveClass}`)) { 22658 $bulletEl.attr('aria-current', 'true'); 22659 } else { 22660 $bulletEl.removeAttr('aria-current'); 22661 } 22662 }); 22663 } 22664 22665 const initNavEl = ($el, wrapperId, message) => { 22666 makeElFocusable($el); 22667 22668 if ($el[0].tagName !== 'BUTTON') { 22669 addElRole($el, 'button'); 22670 $el.on('keydown', onEnterOrSpaceKey); 22671 } 22672 22673 addElLabel($el, message); 22674 addElControls($el, wrapperId); 22675 }; 22676 22677 const handlePointerDown = () => { 22678 swiper.a11y.clicked = true; 22679 }; 22680 22681 const handlePointerUp = () => { 22682 requestAnimationFrame(() => { 22683 requestAnimationFrame(() => { 22684 if (!swiper.destroyed) { 22685 swiper.a11y.clicked = false; 22686 } 22687 }); 22688 }); 22689 }; 22690 22691 const handleFocus = e => { 22692 if (swiper.a11y.clicked) return; 22693 const slideEl = e.target.closest(`.${swiper.params.slideClass}`); 22694 if (!slideEl || !swiper.slides.includes(slideEl)) return; 22695 const isActive = swiper.slides.indexOf(slideEl) === swiper.activeIndex; 22696 const isVisible = swiper.params.watchSlidesProgress && swiper.visibleSlides && swiper.visibleSlides.includes(slideEl); 22697 if (isActive || isVisible) return; 22698 if (e.sourceCapabilities && e.sourceCapabilities.firesTouchEvents) return; 22699 22700 if (swiper.isHorizontal()) { 22701 swiper.el.scrollLeft = 0; 22702 } else { 22703 swiper.el.scrollTop = 0; 22704 } 22705 22706 swiper.slideTo(swiper.slides.indexOf(slideEl), 0); 22707 }; 22708 22709 const initSlides = () => { 22710 const params = swiper.params.a11y; 22711 22712 if (params.itemRoleDescriptionMessage) { 22713 addElRoleDescription((0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__.default)(swiper.slides), params.itemRoleDescriptionMessage); 22714 } 22715 22716 if (params.slideRole) { 22717 addElRole((0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__.default)(swiper.slides), params.slideRole); 22718 } 22719 22720 const slidesLength = swiper.params.loop ? swiper.slides.filter(el => !el.classList.contains(swiper.params.slideDuplicateClass)).length : swiper.slides.length; 22721 22722 if (params.slideLabelMessage) { 22723 swiper.slides.each((slideEl, index) => { 22724 const $slideEl = (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__.default)(slideEl); 22725 const slideIndex = swiper.params.loop ? parseInt($slideEl.attr('data-swiper-slide-index'), 10) : index; 22726 const ariaLabelMessage = params.slideLabelMessage.replace(/\{\{index\}\}/, slideIndex + 1).replace(/\{\{slidesLength\}\}/, slidesLength); 22727 addElLabel($slideEl, ariaLabelMessage); 22728 }); 22729 } 22730 }; 22731 22732 const init = () => { 22733 const params = swiper.params.a11y; 22734 swiper.$el.append(liveRegion); // Container 22735 22736 const $containerEl = swiper.$el; 22737 22738 if (params.containerRoleDescriptionMessage) { 22739 addElRoleDescription($containerEl, params.containerRoleDescriptionMessage); 22740 } 22741 22742 if (params.containerMessage) { 22743 addElLabel($containerEl, params.containerMessage); 22744 } // Wrapper 22745 22746 22747 const $wrapperEl = swiper.$wrapperEl; 22748 const wrapperId = params.id || $wrapperEl.attr('id') || `swiper-wrapper-${getRandomNumber(16)}`; 22749 const live = swiper.params.autoplay && swiper.params.autoplay.enabled ? 'off' : 'polite'; 22750 addElId($wrapperEl, wrapperId); 22751 addElLive($wrapperEl, live); // Slide 22752 22753 initSlides(); // Navigation 22754 22755 let $nextEl; 22756 let $prevEl; 22757 22758 if (swiper.navigation && swiper.navigation.$nextEl) { 22759 $nextEl = swiper.navigation.$nextEl; 22760 } 22761 22762 if (swiper.navigation && swiper.navigation.$prevEl) { 22763 $prevEl = swiper.navigation.$prevEl; 22764 } 22765 22766 if ($nextEl && $nextEl.length) { 22767 initNavEl($nextEl, wrapperId, params.nextSlideMessage); 22768 } 22769 22770 if ($prevEl && $prevEl.length) { 22771 initNavEl($prevEl, wrapperId, params.prevSlideMessage); 22772 } // Pagination 22773 22774 22775 if (hasClickablePagination()) { 22776 swiper.pagination.$el.on('keydown', (0,_shared_classes_to_selector_js__WEBPACK_IMPORTED_MODULE_0__.default)(swiper.params.pagination.bulletClass), onEnterOrSpaceKey); 22777 } // Tab focus 22778 22779 22780 swiper.$el.on('focus', handleFocus, true); 22781 swiper.$el.on('pointerdown', handlePointerDown, true); 22782 swiper.$el.on('pointerup', handlePointerUp, true); 22783 }; 22784 22785 function destroy() { 22786 if (liveRegion && liveRegion.length > 0) liveRegion.remove(); 22787 let $nextEl; 22788 let $prevEl; 22789 22790 if (swiper.navigation && swiper.navigation.$nextEl) { 22791 $nextEl = swiper.navigation.$nextEl; 22792 } 22793 22794 if (swiper.navigation && swiper.navigation.$prevEl) { 22795 $prevEl = swiper.navigation.$prevEl; 22796 } 22797 22798 if ($nextEl) { 22799 $nextEl.off('keydown', onEnterOrSpaceKey); 22800 } 22801 22802 if ($prevEl) { 22803 $prevEl.off('keydown', onEnterOrSpaceKey); 22804 } // Pagination 22805 22806 22807 if (hasClickablePagination()) { 22808 swiper.pagination.$el.off('keydown', (0,_shared_classes_to_selector_js__WEBPACK_IMPORTED_MODULE_0__.default)(swiper.params.pagination.bulletClass), onEnterOrSpaceKey); 22809 } // Tab focus 22810 22811 22812 swiper.$el.off('focus', handleFocus, true); 22813 swiper.$el.off('pointerdown', handlePointerDown, true); 22814 swiper.$el.off('pointerup', handlePointerUp, true); 22815 } 22816 22817 on('beforeInit', () => { 22818 liveRegion = (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__.default)(`<span class="${swiper.params.a11y.notificationClass}" aria-live="assertive" aria-atomic="true"></span>`); 22819 }); 22820 on('afterInit', () => { 22821 if (!swiper.params.a11y.enabled) return; 22822 init(); 22823 }); 22824 on('slidesLengthChange snapGridLengthChange slidesGridLengthChange', () => { 22825 if (!swiper.params.a11y.enabled) return; 22826 initSlides(); 22827 }); 22828 on('fromEdge toEdge afterInit lock unlock', () => { 22829 if (!swiper.params.a11y.enabled) return; 22830 updateNavigation(); 22831 }); 22832 on('paginationUpdate', () => { 22833 if (!swiper.params.a11y.enabled) return; 22834 updatePagination(); 22835 }); 22836 on('destroy', () => { 22837 if (!swiper.params.a11y.enabled) return; 22838 destroy(); 22839 }); 22840} 22841 22842/***/ }), 22843
vendor: 7,278 bytes, lines 22844-23093
22844/***/ "./node_modules/swiper/modules/autoplay/autoplay.js": 22845/*!**********************************************************!*\ 22846 !*** ./node_modules/swiper/modules/autoplay/autoplay.js ***! 22847 \**********************************************************/ 22848/*! namespace exports */ 22849/*! export default [provided] [no usage info] [missing usage info prevents renaming] */ 22850/*! other exports [not provided] [no usage info] */ 22851/*! runtime requirements: __webpack_require__, __webpack_require__.r, __webpack_exports__, __webpack_require__.d, __webpack_require__.* */ 22852/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 22853 22854"use strict"; 22855__webpack_require__.r(__webpack_exports__); 22856/* harmony export */ __webpack_require__.d(__webpack_exports__, { 22857/* harmony export */ "default": function() { return /* binding */ Autoplay; } 22858/* harmony export */ }); 22859/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ "./node_modules/ssr-window/ssr-window.esm.js"); 22860/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/utils.js */ "./node_modules/swiper/shared/utils.js"); 22861/* eslint no-underscore-dangle: "off" */ 22862 22863/* eslint no-use-before-define: "off" */ 22864; 22865 22866function Autoplay({ 22867 swiper, 22868 extendParams, 22869 on, 22870 emit 22871}) { 22872 let timeout; 22873 swiper.autoplay = { 22874 running: false, 22875 paused: false 22876 }; 22877 extendParams({ 22878 autoplay: { 22879 enabled: false, 22880 delay: 3000, 22881 waitForTransition: true, 22882 disableOnInteraction: true, 22883 stopOnLastSlide: false, 22884 reverseDirection: false, 22885 pauseOnMouseEnter: false 22886 } 22887 }); 22888 22889 function run() { 22890 if (!swiper.size) { 22891 swiper.autoplay.running = false; 22892 swiper.autoplay.paused = false; 22893 return; 22894 } 22895 22896 const $activeSlideEl = swiper.slides.eq(swiper.activeIndex); 22897 let delay = swiper.params.autoplay.delay; 22898 22899 if ($activeSlideEl.attr('data-swiper-autoplay')) { 22900 delay = $activeSlideEl.attr('data-swiper-autoplay') || swiper.params.autoplay.delay; 22901 } 22902 22903 clearTimeout(timeout); 22904 timeout = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.nextTick)(() => { 22905 let autoplayResult; 22906 22907 if (swiper.params.autoplay.reverseDirection) { 22908 if (swiper.params.loop) { 22909 swiper.loopFix(); 22910 autoplayResult = swiper.slidePrev(swiper.params.speed, true, true); 22911 emit('autoplay'); 22912 } else if (!swiper.isBeginning) { 22913 autoplayResult = swiper.slidePrev(swiper.params.speed, true, true); 22914 emit('autoplay'); 22915 } else if (!swiper.params.autoplay.stopOnLastSlide) { 22916 autoplayResult = swiper.slideTo(swiper.slides.length - 1, swiper.params.speed, true, true); 22917 emit('autoplay'); 22918 } else { 22919 stop(); 22920 } 22921 } else if (swiper.params.loop) { 22922 swiper.loopFix(); 22923 autoplayResult = swiper.slideNext(swiper.params.speed, true, true); 22924 emit('autoplay'); 22925 } else if (!swiper.isEnd) { 22926 autoplayResult = swiper.slideNext(swiper.params.speed, true, true); 22927 emit('autoplay'); 22928 } else if (!swiper.params.autoplay.stopOnLastSlide) { 22929 autoplayResult = swiper.slideTo(0, swiper.params.speed, true, true); 22930 emit('autoplay'); 22931 } else { 22932 stop(); 22933 } 22934 22935 if (swiper.params.cssMode && swiper.autoplay.running) run();else if (autoplayResult === false) { 22936 run(); 22937 } 22938 }, delay); 22939 } 22940 22941 function start() { 22942 if (typeof timeout !== 'undefined') return false; 22943 if (swiper.autoplay.running) return false; 22944 swiper.autoplay.running = true; 22945 emit('autoplayStart'); 22946 run(); 22947 return true; 22948 } 22949 22950 function stop() { 22951 if (!swiper.autoplay.running) return false; 22952 if (typeof timeout === 'undefined') return false; 22953 22954 if (timeout) { 22955 clearTimeout(timeout); 22956 timeout = undefined; 22957 } 22958 22959 swiper.autoplay.running = false; 22960 emit('autoplayStop'); 22961 return true; 22962 } 22963 22964 function pause(speed) { 22965 if (!swiper.autoplay.running) return; 22966 if (swiper.autoplay.paused) return; 22967 if (timeout) clearTimeout(timeout); 22968 swiper.autoplay.paused = true; 22969 22970 if (speed === 0 || !swiper.params.autoplay.waitForTransition) { 22971 swiper.autoplay.paused = false; 22972 run(); 22973 } else { 22974 ['transitionend', 'webkitTransitionEnd'].forEach(event => { 22975 swiper.$wrapperEl[0].addEventListener(event, onTransitionEnd); 22976 }); 22977 } 22978 } 22979 22980 function onVisibilityChange() { 22981 const document = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getDocument)(); 22982 22983 if (document.visibilityState === 'hidden' && swiper.autoplay.running) { 22984 pause(); 22985 } 22986 22987 if (document.visibilityState === 'visible' && swiper.autoplay.paused) { 22988 run(); 22989 swiper.autoplay.paused = false; 22990 } 22991 } 22992 22993 function onTransitionEnd(e) { 22994 if (!swiper || swiper.destroyed || !swiper.$wrapperEl) return; 22995 if (e.target !== swiper.$wrapperEl[0]) return; 22996 ['transitionend', 'webkitTransitionEnd'].forEach(event => { 22997 swiper.$wrapperEl[0].removeEventListener(event, onTransitionEnd); 22998 }); 22999 swiper.autoplay.paused = false; 23000 23001 if (!swiper.autoplay.running) { 23002 stop(); 23003 } else { 23004 run(); 23005 } 23006 } 23007 23008 function onMouseEnter() { 23009 if (swiper.params.autoplay.disableOnInteraction) { 23010 stop(); 23011 } else { 23012 emit('autoplayPause'); 23013 pause(); 23014 } 23015 23016 ['transitionend', 'webkitTransitionEnd'].forEach(event => { 23017 swiper.$wrapperEl[0].removeEventListener(event, onTransitionEnd); 23018 }); 23019 } 23020 23021 function onMouseLeave() { 23022 if (swiper.params.autoplay.disableOnInteraction) { 23023 return; 23024 } 23025 23026 swiper.autoplay.paused = false; 23027 emit('autoplayResume'); 23028 run(); 23029 } 23030 23031 function attachMouseEvents() { 23032 if (swiper.params.autoplay.pauseOnMouseEnter) { 23033 swiper.$el.on('mouseenter', onMouseEnter); 23034 swiper.$el.on('mouseleave', onMouseLeave); 23035 } 23036 } 23037 23038 function detachMouseEvents() { 23039 swiper.$el.off('mouseenter', onMouseEnter); 23040 swiper.$el.off('mouseleave', onMouseLeave); 23041 } 23042 23043 on('init', () => { 23044 if (swiper.params.autoplay.enabled) { 23045 start(); 23046 const document = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getDocument)(); 23047 document.addEventListener('visibilitychange', onVisibilityChange); 23048 attachMouseEvents(); 23049 } 23050 }); 23051 on('beforeTransitionStart', (_s, speed, internal) => { 23052 if (swiper.autoplay.running) { 23053 if (internal || !swiper.params.autoplay.disableOnInteraction) { 23054 swiper.autoplay.pause(speed); 23055 } else { 23056 stop(); 23057 } 23058 } 23059 }); 23060 on('sliderFirstMove', () => { 23061 if (swiper.autoplay.running) { 23062 if (swiper.params.autoplay.disableOnInteraction) { 23063 stop(); 23064 } else { 23065 pause(); 23066 } 23067 } 23068 }); 23069 on('touchEnd', () => { 23070 if (swiper.params.cssMode && swiper.autoplay.paused && !swiper.params.autoplay.disableOnInteraction) { 23071 run(); 23072 } 23073 }); 23074 on('destroy', () => { 23075 detachMouseEvents(); 23076 23077 if (swiper.autoplay.running) { 23078 stop(); 23079 } 23080 23081 const document = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getDocument)(); 23082 document.removeEventListener('visibilitychange', onVisibilityChange); 23083 }); 23084 Object.assign(swiper.autoplay, { 23085 pause, 23086 run, 23087 start, 23088 stop 23089 }); 23090} 23091 23092/***/ }), 23093
vendor: 6,727 bytes, lines 23094-23303
23094/***/ "./node_modules/swiper/modules/controller/controller.js": 23095/*!**************************************************************!*\ 23096 !*** ./node_modules/swiper/modules/controller/controller.js ***! 23097 \**************************************************************/ 23098/*! namespace exports */ 23099/*! export default [provided] [no usage info] [missing usage info prevents renaming] */ 23100/*! other exports [not provided] [no usage info] */ 23101/*! runtime requirements: __webpack_require__, __webpack_require__.r, __webpack_exports__, __webpack_require__.d, __webpack_require__.* */ 23102/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 23103 23104"use strict"; 23105__webpack_require__.r(__webpack_exports__); 23106/* harmony export */ __webpack_require__.d(__webpack_exports__, { 23107/* harmony export */ "default": function() { return /* binding */ Controller; } 23108/* harmony export */ }); 23109/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/utils.js */ "./node_modules/swiper/shared/utils.js"); 23110/* eslint no-bitwise: ["error", { "allow": [">>"] }] */ 23111; 23112function Controller({ 23113 swiper, 23114 extendParams, 23115 on 23116}) { 23117 extendParams({ 23118 controller: { 23119 control: undefined, 23120 inverse: false, 23121 by: 'slide' // or 'container' 23122 23123 } 23124 }); 23125 swiper.controller = { 23126 control: undefined 23127 }; 23128 23129 function LinearSpline(x, y) { 23130 const binarySearch = function search() { 23131 let maxIndex; 23132 let minIndex; 23133 let guess; 23134 return (array, val) => { 23135 minIndex = -1; 23136 maxIndex = array.length; 23137 23138 while (maxIndex - minIndex > 1) { 23139 guess = maxIndex + minIndex >> 1; 23140 23141 if (array[guess] <= val) { 23142 minIndex = guess; 23143 } else { 23144 maxIndex = guess; 23145 } 23146 } 23147 23148 return maxIndex; 23149 }; 23150 }(); 23151 23152 this.x = x; 23153 this.y = y; 23154 this.lastIndex = x.length - 1; // Given an x value (x2), return the expected y2 value: 23155 // (x1,y1) is the known point before given value, 23156 // (x3,y3) is the known point after given value. 23157 23158 let i1; 23159 let i3; 23160 23161 this.interpolate = function interpolate(x2) { 23162 if (!x2) return 0; // Get the indexes of x1 and x3 (the array indexes before and after given x2): 23163 23164 i3 = binarySearch(this.x, x2); 23165 i1 = i3 - 1; // We have our indexes i1 & i3, so we can calculate already: 23166 // y2 := ((x2âx1) à (y3ây1)) ÷ (x3âx1) + y1 23167 23168 return (x2 - this.x[i1]) * (this.y[i3] - this.y[i1]) / (this.x[i3] - this.x[i1]) + this.y[i1]; 23169 }; 23170 23171 return this; 23172 } // xxx: for now i will just save one spline function to to 23173 23174 23175 function getInterpolateFunction(c) { 23176 if (!swiper.controller.spline) { 23177 swiper.controller.spline = swiper.params.loop ? new LinearSpline(swiper.slidesGrid, c.slidesGrid) : new LinearSpline(swiper.snapGrid, c.snapGrid); 23178 } 23179 } 23180 23181 function setTranslate(_t, byController) { 23182 const controlled = swiper.controller.control; 23183 let multiplier; 23184 let controlledTranslate; 23185 const Swiper = swiper.constructor; 23186 23187 function setControlledTranslate(c) { 23188 // this will create an Interpolate function based on the snapGrids 23189 // x is the Grid of the scrolled scroller and y will be the controlled scroller 23190 // it makes sense to create this only once and recall it for the interpolation 23191 // the function does a lot of value caching for performance 23192 const translate = swiper.rtlTranslate ? -swiper.translate : swiper.translate; 23193 23194 if (swiper.params.controller.by === 'slide') { 23195 getInterpolateFunction(c); // i am not sure why the values have to be multiplicated this way, tried to invert the snapGrid 23196 // but it did not work out 23197 23198 controlledTranslate = -swiper.controller.spline.interpolate(-translate); 23199 } 23200 23201 if (!controlledTranslate || swiper.params.controller.by === 'container') { 23202 multiplier = (c.maxTranslate() - c.minTranslate()) / (swiper.maxTranslate() - swiper.minTranslate()); 23203 controlledTranslate = (translate - swiper.minTranslate()) * multiplier + c.minTranslate(); 23204 } 23205 23206 if (swiper.params.controller.inverse) { 23207 controlledTranslate = c.maxTranslate() - controlledTranslate; 23208 } 23209 23210 c.updateProgress(controlledTranslate); 23211 c.setTranslate(controlledTranslate, swiper); 23212 c.updateActiveIndex(); 23213 c.updateSlidesClasses(); 23214 } 23215 23216 if (Array.isArray(controlled)) { 23217 for (let i = 0; i < controlled.length; i += 1) { 23218 if (controlled[i] !== byController && controlled[i] instanceof Swiper) { 23219 setControlledTranslate(controlled[i]); 23220 } 23221 } 23222 } else if (controlled instanceof Swiper && byController !== controlled) { 23223 setControlledTranslate(controlled); 23224 } 23225 } 23226 23227 function setTransition(duration, byController) { 23228 const Swiper = swiper.constructor; 23229 const controlled = swiper.controller.control; 23230 let i; 23231 23232 function setControlledTransition(c) { 23233 c.setTransition(duration, swiper); 23234 23235 if (duration !== 0) { 23236 c.transitionStart(); 23237 23238 if (c.params.autoHeight) { 23239 (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.nextTick)(() => { 23240 c.updateAutoHeight(); 23241 }); 23242 } 23243 23244 c.$wrapperEl.transitionEnd(() => { 23245 if (!controlled) return; 23246 23247 if (c.params.loop && swiper.params.controller.by === 'slide') { 23248 c.loopFix(); 23249 } 23250 23251 c.transitionEnd(); 23252 }); 23253 } 23254 } 23255 23256 if (Array.isArray(controlled)) { 23257 for (i = 0; i < controlled.length; i += 1) { 23258 if (controlled[i] !== byController && controlled[i] instanceof Swiper) { 23259 setControlledTransition(controlled[i]); 23260 } 23261 } 23262 } else if (controlled instanceof Swiper && byController !== controlled) { 23263 setControlledTransition(controlled); 23264 } 23265 } 23266 23267 function removeSpline() { 23268 if (!swiper.controller.control) return; 23269 23270 if (swiper.controller.spline) { 23271 swiper.controller.spline = undefined; 23272 delete swiper.controller.spline; 23273 } 23274 } 23275 23276 on('beforeInit', () => { 23277 swiper.controller.control = swiper.params.controller.control; 23278 }); 23279 on('update', () => { 23280 removeSpline(); 23281 }); 23282 on('resize', () => { 23283 removeSpline(); 23284 }); 23285 on('observerUpdate', () => { 23286 removeSpline(); 23287 }); 23288 on('setTranslate', (_s, translate, byController) => { 23289 if (!swiper.controller.control) return; 23290 swiper.controller.setTranslate(translate, byController); 23291 }); 23292 on('setTransition', (_s, duration, byController) => { 23293 if (!swiper.controller.control) return; 23294 swiper.controller.setTransition(duration, byController); 23295 }); 23296 Object.assign(swiper.controller, { 23297 setTranslate, 23298 setTransition 23299 }); 23300} 23301 23302/***/ }), 23303
vendor: 5,901 bytes, lines 23304-23454
23304/***/ "./node_modules/swiper/modules/effect-cards/effect-cards.js": 23305/*!******************************************************************!*\ 23306 !*** ./node_modules/swiper/modules/effect-cards/effect-cards.js ***! 23307 \******************************************************************/ 23308/*! namespace exports */ 23309/*! export default [provided] [no usage info] [missing usage info prevents renaming] */ 23310/*! other exports [not provided] [no usage info] */ 23311/*! runtime requirements: __webpack_require__, __webpack_require__.r, __webpack_exports__, __webpack_require__.d, __webpack_require__.* */ 23312/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 23313 23314"use strict"; 23315__webpack_require__.r(__webpack_exports__); 23316/* harmony export */ __webpack_require__.d(__webpack_exports__, { 23317/* harmony export */ "default": function() { return /* binding */ EffectCards; } 23318/* harmony export */ }); 23319/* harmony import */ var _shared_create_shadow_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/create-shadow.js */ "./node_modules/swiper/shared/create-shadow.js"); 23320/* harmony import */ var _shared_effect_init_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/effect-init.js */ "./node_modules/swiper/shared/effect-init.js"); 23321/* harmony import */ var _shared_effect_target_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../shared/effect-target.js */ "./node_modules/swiper/shared/effect-target.js"); 23322/* harmony import */ var _shared_effect_virtual_transition_end_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../shared/effect-virtual-transition-end.js */ "./node_modules/swiper/shared/effect-virtual-transition-end.js"); 23323; 23324 23325 23326 23327function EffectCards({ 23328 swiper, 23329 extendParams, 23330 on 23331}) { 23332 extendParams({ 23333 cardsEffect: { 23334 slideShadows: true, 23335 transformEl: null, 23336 rotate: true, 23337 perSlideRotate: 2, 23338 perSlideOffset: 8 23339 } 23340 }); 23341 23342 const setTranslate = () => { 23343 const { 23344 slides, 23345 activeIndex 23346 } = swiper; 23347 const params = swiper.params.cardsEffect; 23348 const { 23349 startTranslate, 23350 isTouched 23351 } = swiper.touchEventsData; 23352 const currentTranslate = swiper.translate; 23353 23354 for (let i = 0; i < slides.length; i += 1) { 23355 const $slideEl = slides.eq(i); 23356 const slideProgress = $slideEl[0].progress; 23357 const progress = Math.min(Math.max(slideProgress, -4), 4); 23358 let offset = $slideEl[0].swiperSlideOffset; 23359 23360 if (swiper.params.centeredSlides && !swiper.params.cssMode) { 23361 swiper.$wrapperEl.transform(`translateX(${swiper.minTranslate()}px)`); 23362 } 23363 23364 if (swiper.params.centeredSlides && swiper.params.cssMode) { 23365 offset -= slides[0].swiperSlideOffset; 23366 } 23367 23368 let tX = swiper.params.cssMode ? -offset - swiper.translate : -offset; 23369 let tY = 0; 23370 const tZ = -100 * Math.abs(progress); 23371 let scale = 1; 23372 let rotate = -params.perSlideRotate * progress; 23373 let tXAdd = params.perSlideOffset - Math.abs(progress) * 0.75; 23374 const slideIndex = swiper.virtual && swiper.params.virtual.enabled ? swiper.virtual.from + i : i; 23375 const isSwipeToNext = (slideIndex === activeIndex || slideIndex === activeIndex - 1) && progress > 0 && progress < 1 && (isTouched || swiper.params.cssMode) && currentTranslate < startTranslate; 23376 const isSwipeToPrev = (slideIndex === activeIndex || slideIndex === activeIndex + 1) && progress < 0 && progress > -1 && (isTouched || swiper.params.cssMode) && currentTranslate > startTranslate; 23377 23378 if (isSwipeToNext || isSwipeToPrev) { 23379 const subProgress = (1 - Math.abs((Math.abs(progress) - 0.5) / 0.5)) ** 0.5; 23380 rotate += -28 * progress * subProgress; 23381 scale += -0.5 * subProgress; 23382 tXAdd += 96 * subProgress; 23383 tY = `${-25 * subProgress * Math.abs(progress)}%`; 23384 } 23385 23386 if (progress < 0) { 23387 // next 23388 tX = `calc(${tX}px + (${tXAdd * Math.abs(progress)}%))`; 23389 } else if (progress > 0) { 23390 // prev 23391 tX = `calc(${tX}px + (-${tXAdd * Math.abs(progress)}%))`; 23392 } else { 23393 tX = `${tX}px`; 23394 } 23395 23396 if (!swiper.isHorizontal()) { 23397 const prevY = tY; 23398 tY = tX; 23399 tX = prevY; 23400 } 23401 23402 const scaleString = progress < 0 ? `${1 + (1 - scale) * progress}` : `${1 - (1 - scale) * progress}`; 23403 const transform = ` 23404 translate3d(${tX}, ${tY}, ${tZ}px) 23405 rotateZ(${params.rotate ? rotate : 0}deg) 23406 scale(${scaleString}) 23407 `; 23408 23409 if (params.slideShadows) { 23410 // Set shadows 23411 let $shadowEl = $slideEl.find('.swiper-slide-shadow'); 23412 23413 if ($shadowEl.length === 0) { 23414 $shadowEl = (0,_shared_create_shadow_js__WEBPACK_IMPORTED_MODULE_0__.default)(params, $slideEl); 23415 } 23416 23417 if ($shadowEl.length) $shadowEl[0].style.opacity = Math.min(Math.max((Math.abs(progress) - 0.5) / 0.5, 0), 1); 23418 } 23419 23420 $slideEl[0].style.zIndex = -Math.abs(Math.round(slideProgress)) + slides.length; 23421 const $targetEl = (0,_shared_effect_target_js__WEBPACK_IMPORTED_MODULE_2__.default)(params, $slideEl); 23422 $targetEl.transform(transform); 23423 } 23424 }; 23425 23426 const setTransition = duration => { 23427 const { 23428 transformEl 23429 } = swiper.params.cardsEffect; 23430 const $transitionElements = transformEl ? swiper.slides.find(transformEl) : swiper.slides; 23431 $transitionElements.transition(duration).find('.swiper-slide-shadow').transition(duration); 23432 (0,_shared_effect_virtual_transition_end_js__WEBPACK_IMPORTED_MODULE_3__.default)({ 23433 swiper, 23434 duration, 23435 transformEl 23436 }); 23437 }; 23438 23439 (0,_shared_effect_init_js__WEBPACK_IMPORTED_MODULE_1__.default)({ 23440 effect: 'cards', 23441 swiper, 23442 on, 23443 setTranslate, 23444 setTransition, 23445 perspective: () => true, 23446 overwriteParams: () => ({ 23447 watchSlidesProgress: true, 23448 virtualTranslate: !swiper.params.cssMode 23449 }) 23450 }); 23451} 23452 23453/***/ }), 23454
vendor: 5,756 bytes, lines 23455-23579
23455/***/ "./node_modules/swiper/modules/effect-coverflow/effect-coverflow.js": 23456/*!**************************************************************************!*\ 23457 !*** ./node_modules/swiper/modules/effect-coverflow/effect-coverflow.js ***! 23458 \**************************************************************************/ 23459/*! namespace exports */ 23460/*! export default [provided] [no usage info] [missing usage info prevents renaming] */ 23461/*! other exports [not provided] [no usage info] */ 23462/*! runtime requirements: __webpack_require__, __webpack_require__.r, __webpack_exports__, __webpack_require__.d, __webpack_require__.* */ 23463/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 23464 23465"use strict"; 23466__webpack_require__.r(__webpack_exports__); 23467/* harmony export */ __webpack_require__.d(__webpack_exports__, { 23468/* harmony export */ "default": function() { return /* binding */ EffectCoverflow; } 23469/* harmony export */ }); 23470/* harmony import */ var _shared_create_shadow_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/create-shadow.js */ "./node_modules/swiper/shared/create-shadow.js"); 23471/* harmony import */ var _shared_effect_init_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/effect-init.js */ "./node_modules/swiper/shared/effect-init.js"); 23472/* harmony import */ var _shared_effect_target_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../shared/effect-target.js */ "./node_modules/swiper/shared/effect-target.js"); 23473; 23474 23475 23476function EffectCoverflow({ 23477 swiper, 23478 extendParams, 23479 on 23480}) { 23481 extendParams({ 23482 coverflowEffect: { 23483 rotate: 50, 23484 stretch: 0, 23485 depth: 100, 23486 scale: 1, 23487 modifier: 1, 23488 slideShadows: true, 23489 transformEl: null 23490 } 23491 }); 23492 23493 const setTranslate = () => { 23494 const { 23495 width: swiperWidth, 23496 height: swiperHeight, 23497 slides, 23498 slidesSizesGrid 23499 } = swiper; 23500 const params = swiper.params.coverflowEffect; 23501 const isHorizontal = swiper.isHorizontal(); 23502 const transform = swiper.translate; 23503 const center = isHorizontal ? -transform + swiperWidth / 2 : -transform + swiperHeight / 2; 23504 const rotate = isHorizontal ? params.rotate : -params.rotate; 23505 const translate = params.depth; // Each slide offset from center 23506 23507 for (let i = 0, length = slides.length; i < length; i += 1) { 23508 const $slideEl = slides.eq(i); 23509 const slideSize = slidesSizesGrid[i]; 23510 const slideOffset = $slideEl[0].swiperSlideOffset; 23511 const centerOffset = (center - slideOffset - slideSize / 2) / slideSize; 23512 const offsetMultiplier = typeof params.modifier === 'function' ? params.modifier(centerOffset) : centerOffset * params.modifier; 23513 let rotateY = isHorizontal ? rotate * offsetMultiplier : 0; 23514 let rotateX = isHorizontal ? 0 : rotate * offsetMultiplier; // var rotateZ = 0 23515 23516 let translateZ = -translate * Math.abs(offsetMultiplier); 23517 let stretch = params.stretch; // Allow percentage to make a relative stretch for responsive sliders 23518 23519 if (typeof stretch === 'string' && stretch.indexOf('%') !== -1) { 23520 stretch = parseFloat(params.stretch) / 100 * slideSize; 23521 } 23522 23523 let translateY = isHorizontal ? 0 : stretch * offsetMultiplier; 23524 let translateX = isHorizontal ? stretch * offsetMultiplier : 0; 23525 let scale = 1 - (1 - params.scale) * Math.abs(offsetMultiplier); // Fix for ultra small values 23526 23527 if (Math.abs(translateX) < 0.001) translateX = 0; 23528 if (Math.abs(translateY) < 0.001) translateY = 0; 23529 if (Math.abs(translateZ) < 0.001) translateZ = 0; 23530 if (Math.abs(rotateY) < 0.001) rotateY = 0; 23531 if (Math.abs(rotateX) < 0.001) rotateX = 0; 23532 if (Math.abs(scale) < 0.001) scale = 0; 23533 const slideTransform = `translate3d(${translateX}px,${translateY}px,${translateZ}px) rotateX(${rotateX}deg) rotateY(${rotateY}deg) scale(${scale})`; 23534 const $targetEl = (0,_shared_effect_target_js__WEBPACK_IMPORTED_MODULE_2__.default)(params, $slideEl); 23535 $targetEl.transform(slideTransform); 23536 $slideEl[0].style.zIndex = -Math.abs(Math.round(offsetMultiplier)) + 1; 23537 23538 if (params.slideShadows) { 23539 // Set shadows 23540 let $shadowBeforeEl = isHorizontal ? $slideEl.find('.swiper-slide-shadow-left') : $slideEl.find('.swiper-slide-shadow-top'); 23541 let $shadowAfterEl = isHorizontal ? $slideEl.find('.swiper-slide-shadow-right') : $slideEl.find('.swiper-slide-shadow-bottom'); 23542 23543 if ($shadowBeforeEl.length === 0) { 23544 $shadowBeforeEl = (0,_shared_create_shadow_js__WEBPACK_IMPORTED_MODULE_0__.default)(params, $slideEl, isHorizontal ? 'left' : 'top'); 23545 } 23546 23547 if ($shadowAfterEl.length === 0) { 23548 $shadowAfterEl = (0,_shared_create_shadow_js__WEBPACK_IMPORTED_MODULE_0__.default)(params, $slideEl, isHorizontal ? 'right' : 'bottom'); 23549 } 23550 23551 if ($shadowBeforeEl.length) $shadowBeforeEl[0].style.opacity = offsetMultiplier > 0 ? offsetMultiplier : 0; 23552 if ($shadowAfterEl.length) $shadowAfterEl[0].style.opacity = -offsetMultiplier > 0 ? -offsetMultiplier : 0; 23553 } 23554 } 23555 }; 23556 23557 const setTransition = duration => { 23558 const { 23559 transformEl 23560 } = swiper.params.coverflowEffect; 23561 const $transitionElements = transformEl ? swiper.slides.find(transformEl) : swiper.slides; 23562 $transitionElements.transition(duration).find('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left').transition(duration); 23563 }; 23564 23565 (0,_shared_effect_init_js__WEBPACK_IMPORTED_MODULE_1__.default)({ 23566 effect: 'coverflow', 23567 swiper, 23568 on, 23569 setTranslate, 23570 setTransition, 23571 perspective: () => true, 23572 overwriteParams: () => ({ 23573 watchSlidesProgress: true 23574 }) 23575 }); 23576} 23577 23578/***/ }), 23579
vendor: 6,482 bytes, lines 23580-23755
23580/***/ "./node_modules/swiper/modules/effect-creative/effect-creative.js": 23581/*!************************************************************************!*\ 23582 !*** ./node_modules/swiper/modules/effect-creative/effect-creative.js ***! 23583 \************************************************************************/ 23584/*! namespace exports */ 23585/*! export default [provided] [no usage info] [missing usage info prevents renaming] */ 23586/*! other exports [not provided] [no usage info] */ 23587/*! runtime requirements: __webpack_require__, __webpack_require__.r, __webpack_exports__, __webpack_require__.d, __webpack_require__.* */ 23588/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 23589 23590"use strict"; 23591__webpack_require__.r(__webpack_exports__); 23592/* harmony export */ __webpack_require__.d(__webpack_exports__, { 23593/* harmony export */ "default": function() { return /* binding */ EffectCreative; } 23594/* harmony export */ }); 23595/* harmony import */ var _shared_create_shadow_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/create-shadow.js */ "./node_modules/swiper/shared/create-shadow.js"); 23596/* harmony import */ var _shared_effect_init_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/effect-init.js */ "./node_modules/swiper/shared/effect-init.js"); 23597/* harmony import */ var _shared_effect_target_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../shared/effect-target.js */ "./node_modules/swiper/shared/effect-target.js"); 23598/* harmony import */ var _shared_effect_virtual_transition_end_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../shared/effect-virtual-transition-end.js */ "./node_modules/swiper/shared/effect-virtual-transition-end.js"); 23599; 23600 23601 23602 23603function EffectCreative({ 23604 swiper, 23605 extendParams, 23606 on 23607}) { 23608 extendParams({ 23609 creativeEffect: { 23610 transformEl: null, 23611 limitProgress: 1, 23612 shadowPerProgress: false, 23613 progressMultiplier: 1, 23614 perspective: true, 23615 prev: { 23616 translate: [0, 0, 0], 23617 rotate: [0, 0, 0], 23618 opacity: 1, 23619 scale: 1 23620 }, 23621 next: { 23622 translate: [0, 0, 0], 23623 rotate: [0, 0, 0], 23624 opacity: 1, 23625 scale: 1 23626 } 23627 } 23628 }); 23629 23630 const getTranslateValue = value => { 23631 if (typeof value === 'string') return value; 23632 return `${value}px`; 23633 }; 23634 23635 const setTranslate = () => { 23636 const { 23637 slides, 23638 $wrapperEl, 23639 slidesSizesGrid 23640 } = swiper; 23641 const params = swiper.params.creativeEffect; 23642 const { 23643 progressMultiplier: multiplier 23644 } = params; 23645 const isCenteredSlides = swiper.params.centeredSlides; 23646 23647 if (isCenteredSlides) { 23648 const margin = slidesSizesGrid[0] / 2 - swiper.params.slidesOffsetBefore || 0; 23649 $wrapperEl.transform(`translateX(calc(50% - ${margin}px))`); 23650 } 23651 23652 for (let i = 0; i < slides.length; i += 1) { 23653 const $slideEl = slides.eq(i); 23654 const slideProgress = $slideEl[0].progress; 23655 const progress = Math.min(Math.max($slideEl[0].progress, -params.limitProgress), params.limitProgress); 23656 let originalProgress = progress; 23657 23658 if (!isCenteredSlides) { 23659 originalProgress = Math.min(Math.max($slideEl[0].originalProgress, -params.limitProgress), params.limitProgress); 23660 } 23661 23662 const offset = $slideEl[0].swiperSlideOffset; 23663 const t = [swiper.params.cssMode ? -offset - swiper.translate : -offset, 0, 0]; 23664 const r = [0, 0, 0]; 23665 let custom = false; 23666 23667 if (!swiper.isHorizontal()) { 23668 t[1] = t[0]; 23669 t[0] = 0; 23670 } 23671 23672 let data = { 23673 translate: [0, 0, 0], 23674 rotate: [0, 0, 0], 23675 scale: 1, 23676 opacity: 1 23677 }; 23678 23679 if (progress < 0) { 23680 data = params.next; 23681 custom = true; 23682 } else if (progress > 0) { 23683 data = params.prev; 23684 custom = true; 23685 } // set translate 23686 23687 23688 t.forEach((value, index) => { 23689 t[index] = `calc(${value}px + (${getTranslateValue(data.translate[index])} * ${Math.abs(progress * multiplier)}))`; 23690 }); // set rotates 23691 23692 r.forEach((value, index) => { 23693 r[index] = data.rotate[index] * Math.abs(progress * multiplier); 23694 }); 23695 $slideEl[0].style.zIndex = -Math.abs(Math.round(slideProgress)) + slides.length; 23696 const translateString = t.join(', '); 23697 const rotateString = `rotateX(${r[0]}deg) rotateY(${r[1]}deg) rotateZ(${r[2]}deg)`; 23698 const scaleString = originalProgress < 0 ? `scale(${1 + (1 - data.scale) * originalProgress * multiplier})` : `scale(${1 - (1 - data.scale) * originalProgress * multiplier})`; 23699 const opacityString = originalProgress < 0 ? 1 + (1 - data.opacity) * originalProgress * multiplier : 1 - (1 - data.opacity) * originalProgress * multiplier; 23700 const transform = `translate3d(${translateString}) ${rotateString} ${scaleString}`; // Set shadows 23701 23702 if (custom && data.shadow || !custom) { 23703 let $shadowEl = $slideEl.children('.swiper-slide-shadow'); 23704 23705 if ($shadowEl.length === 0 && data.shadow) { 23706 $shadowEl = (0,_shared_create_shadow_js__WEBPACK_IMPORTED_MODULE_0__.default)(params, $slideEl); 23707 } 23708 23709 if ($shadowEl.length) { 23710 const shadowOpacity = params.shadowPerProgress ? progress * (1 / params.limitProgress) : progress; 23711 $shadowEl[0].style.opacity = Math.min(Math.max(Math.abs(shadowOpacity), 0), 1); 23712 } 23713 } 23714 23715 const $targetEl = (0,_shared_effect_target_js__WEBPACK_IMPORTED_MODULE_2__.default)(params, $slideEl); 23716 $targetEl.transform(transform).css({ 23717 opacity: opacityString 23718 }); 23719 23720 if (data.origin) { 23721 $targetEl.css('transform-origin', data.origin); 23722 } 23723 } 23724 }; 23725 23726 const setTransition = duration => { 23727 const { 23728 transformEl 23729 } = swiper.params.creativeEffect; 23730 const $transitionElements = transformEl ? swiper.slides.find(transformEl) : swiper.slides; 23731 $transitionElements.transition(duration).find('.swiper-slide-shadow').transition(duration); 23732 (0,_shared_effect_virtual_transition_end_js__WEBPACK_IMPORTED_MODULE_3__.default)({ 23733 swiper, 23734 duration, 23735 transformEl, 23736 allSlides: true 23737 }); 23738 }; 23739 23740 (0,_shared_effect_init_js__WEBPACK_IMPORTED_MODULE_1__.default)({ 23741 effect: 'creative', 23742 swiper, 23743 on, 23744 setTranslate, 23745 setTransition, 23746 perspective: () => swiper.params.creativeEffect.perspective, 23747 overwriteParams: () => ({ 23748 watchSlidesProgress: true, 23749 virtualTranslate: !swiper.params.cssMode 23750 }) 23751 }); 23752} 23753 23754/***/ }), 23755
vendor: 7,693 bytes, lines 23756-23970
23756/***/ "./node_modules/swiper/modules/effect-cube/effect-cube.js": 23757/*!****************************************************************!*\ 23758 !*** ./node_modules/swiper/modules/effect-cube/effect-cube.js ***! 23759 \****************************************************************/ 23760/*! namespace exports */ 23761/*! export default [provided] [no usage info] [missing usage info prevents renaming] */ 23762/*! other exports [not provided] [no usage info] */ 23763/*! runtime requirements: __webpack_require__, __webpack_require__.r, __webpack_exports__, __webpack_require__.d, __webpack_require__.* */ 23764/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 23765 23766"use strict"; 23767__webpack_require__.r(__webpack_exports__); 23768/* harmony export */ __webpack_require__.d(__webpack_exports__, { 23769/* harmony export */ "default": function() { return /* binding */ EffectCube; } 23770/* harmony export */ }); 23771/* harmony import */ var _shared_dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/dom.js */ "./node_modules/swiper/shared/dom.js"); 23772/* harmony import */ var _shared_effect_init_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/effect-init.js */ "./node_modules/swiper/shared/effect-init.js"); 23773; 23774 23775function EffectCube({ 23776 swiper, 23777 extendParams, 23778 on 23779}) { 23780 extendParams({ 23781 cubeEffect: { 23782 slideShadows: true, 23783 shadow: true, 23784 shadowOffset: 20, 23785 shadowScale: 0.94 23786 } 23787 }); 23788 23789 const createSlideShadows = ($slideEl, progress, isHorizontal) => { 23790 let shadowBefore = isHorizontal ? $slideEl.find('.swiper-slide-shadow-left') : $slideEl.find('.swiper-slide-shadow-top'); 23791 let shadowAfter = isHorizontal ? $slideEl.find('.swiper-slide-shadow-right') : $slideEl.find('.swiper-slide-shadow-bottom'); 23792 23793 if (shadowBefore.length === 0) { 23794 shadowBefore = (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_0__.default)(`<div class="swiper-slide-shadow-${isHorizontal ? 'left' : 'top'}"></div>`); 23795 $slideEl.append(shadowBefore); 23796 } 23797 23798 if (shadowAfter.length === 0) { 23799 shadowAfter = (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_0__.default)(`<div class="swiper-slide-shadow-${isHorizontal ? 'right' : 'bottom'}"></div>`); 23800 $slideEl.append(shadowAfter); 23801 } 23802 23803 if (shadowBefore.length) shadowBefore[0].style.opacity = Math.max(-progress, 0); 23804 if (shadowAfter.length) shadowAfter[0].style.opacity = Math.max(progress, 0); 23805 }; 23806 23807 const recreateShadows = () => { 23808 // create new ones 23809 const isHorizontal = swiper.isHorizontal(); 23810 swiper.slides.each(slideEl => { 23811 const progress = Math.max(Math.min(slideEl.progress, 1), -1); 23812 createSlideShadows((0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_0__.default)(slideEl), progress, isHorizontal); 23813 }); 23814 }; 23815 23816 const setTranslate = () => { 23817 const { 23818 $el, 23819 $wrapperEl, 23820 slides, 23821 width: swiperWidth, 23822 height: swiperHeight, 23823 rtlTranslate: rtl, 23824 size: swiperSize, 23825 browser 23826 } = swiper; 23827 const params = swiper.params.cubeEffect; 23828 const isHorizontal = swiper.isHorizontal(); 23829 const isVirtual = swiper.virtual && swiper.params.virtual.enabled; 23830 let wrapperRotate = 0; 23831 let $cubeShadowEl; 23832 23833 if (params.shadow) { 23834 if (isHorizontal) { 23835 $cubeShadowEl = $wrapperEl.find('.swiper-cube-shadow'); 23836 23837 if ($cubeShadowEl.length === 0) { 23838 $cubeShadowEl = (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_0__.default)('<div class="swiper-cube-shadow"></div>'); 23839 $wrapperEl.append($cubeShadowEl); 23840 } 23841 23842 $cubeShadowEl.css({ 23843 height: `${swiperWidth}px` 23844 }); 23845 } else { 23846 $cubeShadowEl = $el.find('.swiper-cube-shadow'); 23847 23848 if ($cubeShadowEl.length === 0) { 23849 $cubeShadowEl = (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_0__.default)('<div class="swiper-cube-shadow"></div>'); 23850 $el.append($cubeShadowEl); 23851 } 23852 } 23853 } 23854 23855 for (let i = 0; i < slides.length; i += 1) { 23856 const $slideEl = slides.eq(i); 23857 let slideIndex = i; 23858 23859 if (isVirtual) { 23860 slideIndex = parseInt($slideEl.attr('data-swiper-slide-index'), 10); 23861 } 23862 23863 let slideAngle = slideIndex * 90; 23864 let round = Math.floor(slideAngle / 360); 23865 23866 if (rtl) { 23867 slideAngle = -slideAngle; 23868 round = Math.floor(-slideAngle / 360); 23869 } 23870 23871 const progress = Math.max(Math.min($slideEl[0].progress, 1), -1); 23872 let tx = 0; 23873 let ty = 0; 23874 let tz = 0; 23875 23876 if (slideIndex % 4 === 0) { 23877 tx = -round * 4 * swiperSize; 23878 tz = 0; 23879 } else if ((slideIndex - 1) % 4 === 0) { 23880 tx = 0; 23881 tz = -round * 4 * swiperSize; 23882 } else if ((slideIndex - 2) % 4 === 0) { 23883 tx = swiperSize + round * 4 * swiperSize; 23884 tz = swiperSize; 23885 } else if ((slideIndex - 3) % 4 === 0) { 23886 tx = -swiperSize; 23887 tz = 3 * swiperSize + swiperSize * 4 * round; 23888 } 23889 23890 if (rtl) { 23891 tx = -tx; 23892 } 23893 23894 if (!isHorizontal) { 23895 ty = tx; 23896 tx = 0; 23897 } 23898 23899 const transform = `rotateX(${isHorizontal ? 0 : -slideAngle}deg) rotateY(${isHorizontal ? slideAngle : 0}deg) translate3d(${tx}px, ${ty}px, ${tz}px)`; 23900 23901 if (progress <= 1 && progress > -1) { 23902 wrapperRotate = slideIndex * 90 + progress * 90; 23903 if (rtl) wrapperRotate = -slideIndex * 90 - progress * 90; 23904 } 23905 23906 $slideEl.transform(transform); 23907 23908 if (params.slideShadows) { 23909 createSlideShadows($slideEl, progress, isHorizontal); 23910 } 23911 } 23912 23913 $wrapperEl.css({ 23914 '-webkit-transform-origin': `50% 50% -${swiperSize / 2}px`, 23915 'transform-origin': `50% 50% -${swiperSize / 2}px` 23916 }); 23917 23918 if (params.shadow) { 23919 if (isHorizontal) { 23920 $cubeShadowEl.transform(`translate3d(0px, ${swiperWidth / 2 + params.shadowOffset}px, ${-swiperWidth / 2}px) rotateX(90deg) rotateZ(0deg) scale(${params.shadowScale})`); 23921 } else { 23922 const shadowAngle = Math.abs(wrapperRotate) - Math.floor(Math.abs(wrapperRotate) / 90) * 90; 23923 const multiplier = 1.5 - (Math.sin(shadowAngle * 2 * Math.PI / 360) / 2 + Math.cos(shadowAngle * 2 * Math.PI / 360) / 2); 23924 const scale1 = params.shadowScale; 23925 const scale2 = params.shadowScale / multiplier; 23926 const offset = params.shadowOffset; 23927 $cubeShadowEl.transform(`scale3d(${scale1}, 1, ${scale2}) translate3d(0px, ${swiperHeight / 2 + offset}px, ${-swiperHeight / 2 / scale2}px) rotateX(-90deg)`); 23928 } 23929 } 23930 23931 const zFactor = browser.isSafari || browser.isWebView ? -swiperSize / 2 : 0; 23932 $wrapperEl.transform(`translate3d(0px,0,${zFactor}px) rotateX(${swiper.isHorizontal() ? 0 : wrapperRotate}deg) rotateY(${swiper.isHorizontal() ? -wrapperRotate : 0}deg)`); 23933 $wrapperEl[0].style.setProperty('--swiper-cube-translate-z', `${zFactor}px`); 23934 }; 23935 23936 const setTransition = duration => { 23937 const { 23938 $el, 23939 slides 23940 } = swiper; 23941 slides.transition(duration).find('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left').transition(duration); 23942 23943 if (swiper.params.cubeEffect.shadow && !swiper.isHorizontal()) { 23944 $el.find('.swiper-cube-shadow').transition(duration); 23945 } 23946 }; 23947 23948 (0,_shared_effect_init_js__WEBPACK_IMPORTED_MODULE_1__.default)({ 23949 effect: 'cube', 23950 swiper, 23951 on, 23952 setTranslate, 23953 setTransition, 23954 recreateShadows, 23955 getEffectParams: () => swiper.params.cubeEffect, 23956 perspective: () => true, 23957 overwriteParams: () => ({ 23958 slidesPerView: 1, 23959 slidesPerGroup: 1, 23960 watchSlidesProgress: true, 23961 resistanceRatio: 0, 23962 spaceBetween: 0, 23963 centeredSlides: false, 23964 virtualTranslate: true 23965 }) 23966 }); 23967} 23968 23969/***/ }), 23970
vendor: 3,291 bytes, lines 23971-24061
23971/***/ "./node_modules/swiper/modules/effect-fade/effect-fade.js": 23972/*!****************************************************************!*\ 23973 !*** ./node_modules/swiper/modules/effect-fade/effect-fade.js ***! 23974 \****************************************************************/ 23975/*! namespace exports */ 23976/*! export default [provided] [no usage info] [missing usage info prevents renaming] */ 23977/*! other exports [not provided] [no usage info] */ 23978/*! runtime requirements: __webpack_require__, __webpack_require__.r, __webpack_exports__, __webpack_require__.d, __webpack_require__.* */ 23979/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 23980 23981"use strict"; 23982__webpack_require__.r(__webpack_exports__); 23983/* harmony export */ __webpack_require__.d(__webpack_exports__, { 23984/* harmony export */ "default": function() { return /* binding */ EffectFade; } 23985/* harmony export */ }); 23986/* harmony import */ var _shared_effect_init_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/effect-init.js */ "./node_modules/swiper/shared/effect-init.js"); 23987/* harmony import */ var _shared_effect_target_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/effect-target.js */ "./node_modules/swiper/shared/effect-target.js"); 23988/* harmony import */ var _shared_effect_virtual_transition_end_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../shared/effect-virtual-transition-end.js */ "./node_modules/swiper/shared/effect-virtual-transition-end.js"); 23989; 23990 23991 23992function EffectFade({ 23993 swiper, 23994 extendParams, 23995 on 23996}) { 23997 extendParams({ 23998 fadeEffect: { 23999 crossFade: false, 24000 transformEl: null 24001 } 24002 }); 24003 24004 const setTranslate = () => { 24005 const { 24006 slides 24007 } = swiper; 24008 const params = swiper.params.fadeEffect; 24009 24010 for (let i = 0; i < slides.length; i += 1) { 24011 const $slideEl = swiper.slides.eq(i); 24012 const offset = $slideEl[0].swiperSlideOffset; 24013 let tx = -offset; 24014 if (!swiper.params.virtualTranslate) tx -= swiper.translate; 24015 let ty = 0; 24016 24017 if (!swiper.isHorizontal()) { 24018 ty = tx; 24019 tx = 0; 24020 } 24021 24022 const slideOpacity = swiper.params.fadeEffect.crossFade ? Math.max(1 - Math.abs($slideEl[0].progress), 0) : 1 + Math.min(Math.max($slideEl[0].progress, -1), 0); 24023 const $targetEl = (0,_shared_effect_target_js__WEBPACK_IMPORTED_MODULE_1__.default)(params, $slideEl); 24024 $targetEl.css({ 24025 opacity: slideOpacity 24026 }).transform(`translate3d(${tx}px, ${ty}px, 0px)`); 24027 } 24028 }; 24029 24030 const setTransition = duration => { 24031 const { 24032 transformEl 24033 } = swiper.params.fadeEffect; 24034 const $transitionElements = transformEl ? swiper.slides.find(transformEl) : swiper.slides; 24035 $transitionElements.transition(duration); 24036 (0,_shared_effect_virtual_transition_end_js__WEBPACK_IMPORTED_MODULE_2__.default)({ 24037 swiper, 24038 duration, 24039 transformEl, 24040 allSlides: true 24041 }); 24042 }; 24043 24044 (0,_shared_effect_init_js__WEBPACK_IMPORTED_MODULE_0__.default)({ 24045 effect: 'fade', 24046 swiper, 24047 on, 24048 setTranslate, 24049 setTransition, 24050 overwriteParams: () => ({ 24051 slidesPerView: 1, 24052 slidesPerGroup: 1, 24053 watchSlidesProgress: true, 24054 spaceBetween: 0, 24055 virtualTranslate: !swiper.params.cssMode 24056 }) 24057 }); 24058} 24059 24060/***/ }), 24061
vendor: 5,655 bytes, lines 24062-24207
24062/***/ "./node_modules/swiper/modules/effect-flip/effect-flip.js": 24063/*!****************************************************************!*\ 24064 !*** ./node_modules/swiper/modules/effect-flip/effect-flip.js ***! 24065 \****************************************************************/ 24066/*! namespace exports */ 24067/*! export default [provided] [no usage info] [missing usage info prevents renaming] */ 24068/*! other exports [not provided] [no usage info] */ 24069/*! runtime requirements: __webpack_require__, __webpack_require__.r, __webpack_exports__, __webpack_require__.d, __webpack_require__.* */ 24070/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 24071 24072"use strict"; 24073__webpack_require__.r(__webpack_exports__); 24074/* harmony export */ __webpack_require__.d(__webpack_exports__, { 24075/* harmony export */ "default": function() { return /* binding */ EffectFlip; } 24076/* harmony export */ }); 24077/* harmony import */ var _shared_dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/dom.js */ "./node_modules/swiper/shared/dom.js"); 24078/* harmony import */ var _shared_create_shadow_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/create-shadow.js */ "./node_modules/swiper/shared/create-shadow.js"); 24079/* harmony import */ var _shared_effect_init_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../shared/effect-init.js */ "./node_modules/swiper/shared/effect-init.js"); 24080/* harmony import */ var _shared_effect_target_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../shared/effect-target.js */ "./node_modules/swiper/shared/effect-target.js"); 24081/* harmony import */ var _shared_effect_virtual_transition_end_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../shared/effect-virtual-transition-end.js */ "./node_modules/swiper/shared/effect-virtual-transition-end.js"); 24082; 24083 24084 24085 24086 24087function EffectFlip({ 24088 swiper, 24089 extendParams, 24090 on 24091}) { 24092 extendParams({ 24093 flipEffect: { 24094 slideShadows: true, 24095 limitRotation: true, 24096 transformEl: null 24097 } 24098 }); 24099 24100 const createSlideShadows = ($slideEl, progress, params) => { 24101 let shadowBefore = swiper.isHorizontal() ? $slideEl.find('.swiper-slide-shadow-left') : $slideEl.find('.swiper-slide-shadow-top'); 24102 let shadowAfter = swiper.isHorizontal() ? $slideEl.find('.swiper-slide-shadow-right') : $slideEl.find('.swiper-slide-shadow-bottom'); 24103 24104 if (shadowBefore.length === 0) { 24105 shadowBefore = (0,_shared_create_shadow_js__WEBPACK_IMPORTED_MODULE_1__.default)(params, $slideEl, swiper.isHorizontal() ? 'left' : 'top'); 24106 } 24107 24108 if (shadowAfter.length === 0) { 24109 shadowAfter = (0,_shared_create_shadow_js__WEBPACK_IMPORTED_MODULE_1__.default)(params, $slideEl, swiper.isHorizontal() ? 'right' : 'bottom'); 24110 } 24111 24112 if (shadowBefore.length) shadowBefore[0].style.opacity = Math.max(-progress, 0); 24113 if (shadowAfter.length) shadowAfter[0].style.opacity = Math.max(progress, 0); 24114 }; 24115 24116 const recreateShadows = () => { 24117 // Set shadows 24118 const params = swiper.params.flipEffect; 24119 swiper.slides.each(slideEl => { 24120 const $slideEl = (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_0__.default)(slideEl); 24121 let progress = $slideEl[0].progress; 24122 24123 if (swiper.params.flipEffect.limitRotation) { 24124 progress = Math.max(Math.min(slideEl.progress, 1), -1); 24125 } 24126 24127 createSlideShadows($slideEl, progress, params); 24128 }); 24129 }; 24130 24131 const setTranslate = () => { 24132 const { 24133 slides, 24134 rtlTranslate: rtl 24135 } = swiper; 24136 const params = swiper.params.flipEffect; 24137 24138 for (let i = 0; i < slides.length; i += 1) { 24139 const $slideEl = slides.eq(i); 24140 let progress = $slideEl[0].progress; 24141 24142 if (swiper.params.flipEffect.limitRotation) { 24143 progress = Math.max(Math.min($slideEl[0].progress, 1), -1); 24144 } 24145 24146 const offset = $slideEl[0].swiperSlideOffset; 24147 const rotate = -180 * progress; 24148 let rotateY = rotate; 24149 let rotateX = 0; 24150 let tx = swiper.params.cssMode ? -offset - swiper.translate : -offset; 24151 let ty = 0; 24152 24153 if (!swiper.isHorizontal()) { 24154 ty = tx; 24155 tx = 0; 24156 rotateX = -rotateY; 24157 rotateY = 0; 24158 } else if (rtl) { 24159 rotateY = -rotateY; 24160 } 24161 24162 $slideEl[0].style.zIndex = -Math.abs(Math.round(progress)) + slides.length; 24163 24164 if (params.slideShadows) { 24165 createSlideShadows($slideEl, progress, params); 24166 } 24167 24168 const transform = `translate3d(${tx}px, ${ty}px, 0px) rotateX(${rotateX}deg) rotateY(${rotateY}deg)`; 24169 const $targetEl = (0,_shared_effect_target_js__WEBPACK_IMPORTED_MODULE_3__.default)(params, $slideEl); 24170 $targetEl.transform(transform); 24171 } 24172 }; 24173 24174 const setTransition = duration => { 24175 const { 24176 transformEl 24177 } = swiper.params.flipEffect; 24178 const $transitionElements = transformEl ? swiper.slides.find(transformEl) : swiper.slides; 24179 $transitionElements.transition(duration).find('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left').transition(duration); 24180 (0,_shared_effect_virtual_transition_end_js__WEBPACK_IMPORTED_MODULE_4__.default)({ 24181 swiper, 24182 duration, 24183 transformEl 24184 }); 24185 }; 24186 24187 (0,_shared_effect_init_js__WEBPACK_IMPORTED_MODULE_2__.default)({ 24188 effect: 'flip', 24189 swiper, 24190 on, 24191 setTranslate, 24192 setTransition, 24193 recreateShadows, 24194 getEffectParams: () => swiper.params.flipEffect, 24195 perspective: () => true, 24196 overwriteParams: () => ({ 24197 slidesPerView: 1, 24198 slidesPerGroup: 1, 24199 watchSlidesProgress: true, 24200 spaceBetween: 0, 24201 virtualTranslate: !swiper.params.cssMode 24202 }) 24203 }); 24204} 24205 24206/***/ }), 24207
vendor: 9,284 bytes, lines 24208-24482
24208/***/ "./node_modules/swiper/modules/free-mode/free-mode.js": 24209/*!************************************************************!*\ 24210 !*** ./node_modules/swiper/modules/free-mode/free-mode.js ***! 24211 \************************************************************/ 24212/*! namespace exports */ 24213/*! export default [provided] [no usage info] [missing usage info prevents renaming] */ 24214/*! other exports [not provided] [no usage info] */ 24215/*! runtime requirements: __webpack_require__, __webpack_require__.r, __webpack_exports__, __webpack_require__.d, __webpack_require__.* */ 24216/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 24217 24218"use strict"; 24219__webpack_require__.r(__webpack_exports__); 24220/* harmony export */ __webpack_require__.d(__webpack_exports__, { 24221/* harmony export */ "default": function() { return /* binding */ freeMode; } 24222/* harmony export */ }); 24223/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/utils.js */ "./node_modules/swiper/shared/utils.js"); 24224; 24225function freeMode({ 24226 swiper, 24227 extendParams, 24228 emit, 24229 once 24230}) { 24231 extendParams({ 24232 freeMode: { 24233 enabled: false, 24234 momentum: true, 24235 momentumRatio: 1, 24236 momentumBounce: true, 24237 momentumBounceRatio: 1, 24238 momentumVelocityRatio: 1, 24239 sticky: false, 24240 minimumVelocity: 0.02 24241 } 24242 }); 24243 24244 function onTouchStart() { 24245 const translate = swiper.getTranslate(); 24246 swiper.setTranslate(translate); 24247 swiper.setTransition(0); 24248 swiper.touchEventsData.velocities.length = 0; 24249 swiper.freeMode.onTouchEnd({ 24250 currentPos: swiper.rtl ? swiper.translate : -swiper.translate 24251 }); 24252 } 24253 24254 function onTouchMove() { 24255 const { 24256 touchEventsData: data, 24257 touches 24258 } = swiper; // Velocity 24259 24260 if (data.velocities.length === 0) { 24261 data.velocities.push({ 24262 position: touches[swiper.isHorizontal() ? 'startX' : 'startY'], 24263 time: data.touchStartTime 24264 }); 24265 } 24266 24267 data.velocities.push({ 24268 position: touches[swiper.isHorizontal() ? 'currentX' : 'currentY'], 24269 time: (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.now)() 24270 }); 24271 } 24272 24273 function onTouchEnd({ 24274 currentPos 24275 }) { 24276 const { 24277 params, 24278 $wrapperEl, 24279 rtlTranslate: rtl, 24280 snapGrid, 24281 touchEventsData: data 24282 } = swiper; // Time diff 24283 24284 const touchEndTime = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.now)(); 24285 const timeDiff = touchEndTime - data.touchStartTime; 24286 24287 if (currentPos < -swiper.minTranslate()) { 24288 swiper.slideTo(swiper.activeIndex); 24289 return; 24290 } 24291 24292 if (currentPos > -swiper.maxTranslate()) { 24293 if (swiper.slides.length < snapGrid.length) { 24294 swiper.slideTo(snapGrid.length - 1); 24295 } else { 24296 swiper.slideTo(swiper.slides.length - 1); 24297 } 24298 24299 return; 24300 } 24301 24302 if (params.freeMode.momentum) { 24303 if (data.velocities.length > 1) { 24304 const lastMoveEvent = data.velocities.pop(); 24305 const velocityEvent = data.velocities.pop(); 24306 const distance = lastMoveEvent.position - velocityEvent.position; 24307 const time = lastMoveEvent.time - velocityEvent.time; 24308 swiper.velocity = distance / time; 24309 swiper.velocity /= 2; 24310 24311 if (Math.abs(swiper.velocity) < params.freeMode.minimumVelocity) { 24312 swiper.velocity = 0; 24313 } // this implies that the user stopped moving a finger then released. 24314 // There would be no events with distance zero, so the last event is stale. 24315 24316 24317 if (time > 150 || (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.now)() - lastMoveEvent.time > 300) { 24318 swiper.velocity = 0; 24319 } 24320 } else { 24321 swiper.velocity = 0; 24322 } 24323 24324 swiper.velocity *= params.freeMode.momentumVelocityRatio; 24325 data.velocities.length = 0; 24326 let momentumDuration = 1000 * params.freeMode.momentumRatio; 24327 const momentumDistance = swiper.velocity * momentumDuration; 24328 let newPosition = swiper.translate + momentumDistance; 24329 if (rtl) newPosition = -newPosition; 24330 let doBounce = false; 24331 let afterBouncePosition; 24332 const bounceAmount = Math.abs(swiper.velocity) * 20 * params.freeMode.momentumBounceRatio; 24333 let needsLoopFix; 24334 24335 if (newPosition < swiper.maxTranslate()) { 24336 if (params.freeMode.momentumBounce) { 24337 if (newPosition + swiper.maxTranslate() < -bounceAmount) { 24338 newPosition = swiper.maxTranslate() - bounceAmount; 24339 } 24340 24341 afterBouncePosition = swiper.maxTranslate(); 24342 doBounce = true; 24343 data.allowMomentumBounce = true; 24344 } else { 24345 newPosition = swiper.maxTranslate(); 24346 } 24347 24348 if (params.loop && params.centeredSlides) needsLoopFix = true; 24349 } else if (newPosition > swiper.minTranslate()) { 24350 if (params.freeMode.momentumBounce) { 24351 if (newPosition - swiper.minTranslate() > bounceAmount) { 24352 newPosition = swiper.minTranslate() + bounceAmount; 24353 } 24354 24355 afterBouncePosition = swiper.minTranslate(); 24356 doBounce = true; 24357 data.allowMomentumBounce = true; 24358 } else { 24359 newPosition = swiper.minTranslate(); 24360 } 24361 24362 if (params.loop && params.centeredSlides) needsLoopFix = true; 24363 } else if (params.freeMode.sticky) { 24364 let nextSlide; 24365 24366 for (let j = 0; j < snapGrid.length; j += 1) { 24367 if (snapGrid[j] > -newPosition) { 24368 nextSlide = j; 24369 break; 24370 } 24371 } 24372 24373 if (Math.abs(snapGrid[nextSlide] - newPosition) < Math.abs(snapGrid[nextSlide - 1] - newPosition) || swiper.swipeDirection === 'next') { 24374 newPosition = snapGrid[nextSlide]; 24375 } else { 24376 newPosition = snapGrid[nextSlide - 1]; 24377 } 24378 24379 newPosition = -newPosition; 24380 } 24381 24382 if (needsLoopFix) { 24383 once('transitionEnd', () => { 24384 swiper.loopFix(); 24385 }); 24386 } // Fix duration 24387 24388 24389 if (swiper.velocity !== 0) { 24390 if (rtl) { 24391 momentumDuration = Math.abs((-newPosition - swiper.translate) / swiper.velocity); 24392 } else { 24393 momentumDuration = Math.abs((newPosition - swiper.translate) / swiper.velocity); 24394 } 24395 24396 if (params.freeMode.sticky) { 24397 // If freeMode.sticky is active and the user ends a swipe with a slow-velocity 24398 // event, then durations can be 20+ seconds to slide one (or zero!) slides. 24399 // It's easy to see this when simulating touch with mouse events. To fix this, 24400 // limit single-slide swipes to the default slide duration. This also has the 24401 // nice side effect of matching slide speed if the user stopped moving before 24402 // lifting finger or mouse vs. moving slowly before lifting the finger/mouse. 24403 // For faster swipes, also apply limits (albeit higher ones). 24404 const moveDistance = Math.abs((rtl ? -newPosition : newPosition) - swiper.translate); 24405 const currentSlideSize = swiper.slidesSizesGrid[swiper.activeIndex]; 24406 24407 if (moveDistance < currentSlideSize) { 24408 momentumDuration = params.speed; 24409 } else if (moveDistance < 2 * currentSlideSize) { 24410 momentumDuration = params.speed * 1.5; 24411 } else { 24412 momentumDuration = params.speed * 2.5; 24413 } 24414 } 24415 } else if (params.freeMode.sticky) { 24416 swiper.slideToClosest(); 24417 return; 24418 } 24419 24420 if (params.freeMode.momentumBounce && doBounce) { 24421 swiper.updateProgress(afterBouncePosition); 24422 swiper.setTransition(momentumDuration); 24423 swiper.setTranslate(newPosition); 24424 swiper.transitionStart(true, swiper.swipeDirection); 24425 swiper.animating = true; 24426 $wrapperEl.transitionEnd(() => { 24427 if (!swiper || swiper.destroyed || !data.allowMomentumBounce) return; 24428 emit('momentumBounce'); 24429 swiper.setTransition(params.speed); 24430 setTimeout(() => { 24431 swiper.setTranslate(afterBouncePosition); 24432 $wrapperEl.transitionEnd(() => { 24433 if (!swiper || swiper.destroyed) return; 24434 swiper.transitionEnd(); 24435 }); 24436 }, 0); 24437 }); 24438 } else if (swiper.velocity) { 24439 emit('_freeModeNoMomentumRelease'); 24440 swiper.updateProgress(newPosition); 24441 swiper.setTransition(momentumDuration); 24442 swiper.setTranslate(newPosition); 24443 swiper.transitionStart(true, swiper.swipeDirection); 24444 24445 if (!swiper.animating) { 24446 swiper.animating = true; 24447 $wrapperEl.transitionEnd(() => { 24448 if (!swiper || swiper.destroyed) return; 24449 swiper.transitionEnd(); 24450 }); 24451 } 24452 } else { 24453 swiper.updateProgress(newPosition); 24454 } 24455 24456 swiper.updateActiveIndex(); 24457 swiper.updateSlidesClasses(); 24458 } else if (params.freeMode.sticky) { 24459 swiper.slideToClosest(); 24460 return; 24461 } else if (params.freeMode) { 24462 emit('_freeModeNoMomentumRelease'); 24463 } 24464 24465 if (!params.freeMode.momentum || timeDiff >= params.longSwipesMs) { 24466 swiper.updateProgress(); 24467 swiper.updateActiveIndex(); 24468 swiper.updateSlidesClasses(); 24469 } 24470 } 24471 24472 Object.assign(swiper, { 24473 freeMode: { 24474 onTouchStart, 24475 onTouchMove, 24476 onTouchEnd 24477 } 24478 }); 24479} 24480 24481/***/ }), 24482
vendor: 4,115 bytes, lines 24483-24616
24483/***/ "./node_modules/swiper/modules/grid/grid.js": 24484/*!**************************************************!*\ 24485 !*** ./node_modules/swiper/modules/grid/grid.js ***! 24486 \**************************************************/ 24487/*! namespace exports */ 24488/*! export default [provided] [no usage info] [missing usage info prevents renaming] */ 24489/*! other exports [not provided] [no usage info] */ 24490/*! runtime requirements: __webpack_require__.r, __webpack_exports__, __webpack_require__.d, __webpack_require__.* */ 24491/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 24492 24493"use strict"; 24494__webpack_require__.r(__webpack_exports__); 24495/* harmony export */ __webpack_require__.d(__webpack_exports__, { 24496/* harmony export */ "default": function() { return /* binding */ Grid; } 24497/* harmony export */ }); 24498function Grid({ 24499 swiper, 24500 extendParams 24501}) { 24502 extendParams({ 24503 grid: { 24504 rows: 1, 24505 fill: 'column' 24506 } 24507 }); 24508 let slidesNumberEvenToRows; 24509 let slidesPerRow; 24510 let numFullColumns; 24511 24512 const initSlides = slidesLength => { 24513 const { 24514 slidesPerView 24515 } = swiper.params; 24516 const { 24517 rows, 24518 fill 24519 } = swiper.params.grid; 24520 slidesPerRow = slidesNumberEvenToRows / rows; 24521 numFullColumns = Math.floor(slidesLength / rows); 24522 24523 if (Math.floor(slidesLength / rows) === slidesLength / rows) { 24524 slidesNumberEvenToRows = slidesLength; 24525 } else { 24526 slidesNumberEvenToRows = Math.ceil(slidesLength / rows) * rows; 24527 } 24528 24529 if (slidesPerView !== 'auto' && fill === 'row') { 24530 slidesNumberEvenToRows = Math.max(slidesNumberEvenToRows, slidesPerView * rows); 24531 } 24532 }; 24533 24534 const updateSlide = (i, slide, slidesLength, getDirectionLabel) => { 24535 const { 24536 slidesPerGroup, 24537 spaceBetween 24538 } = swiper.params; 24539 const { 24540 rows, 24541 fill 24542 } = swiper.params.grid; // Set slides order 24543 24544 let newSlideOrderIndex; 24545 let column; 24546 let row; 24547 24548 if (fill === 'row' && slidesPerGroup > 1) { 24549 const groupIndex = Math.floor(i / (slidesPerGroup * rows)); 24550 const slideIndexInGroup = i - rows * slidesPerGroup * groupIndex; 24551 const columnsInGroup = groupIndex === 0 ? slidesPerGroup : Math.min(Math.ceil((slidesLength - groupIndex * rows * slidesPerGroup) / rows), slidesPerGroup); 24552 row = Math.floor(slideIndexInGroup / columnsInGroup); 24553 column = slideIndexInGroup - row * columnsInGroup + groupIndex * slidesPerGroup; 24554 newSlideOrderIndex = column + row * slidesNumberEvenToRows / rows; 24555 slide.css({ 24556 '-webkit-order': newSlideOrderIndex, 24557 order: newSlideOrderIndex 24558 }); 24559 } else if (fill === 'column') { 24560 column = Math.floor(i / rows); 24561 row = i - column * rows; 24562 24563 if (column > numFullColumns || column === numFullColumns && row === rows - 1) { 24564 row += 1; 24565 24566 if (row >= rows) { 24567 row = 0; 24568 column += 1; 24569 } 24570 } 24571 } else { 24572 row = Math.floor(i / slidesPerRow); 24573 column = i - row * slidesPerRow; 24574 } 24575 24576 slide.css(getDirectionLabel('margin-top'), row !== 0 ? spaceBetween && `${spaceBetween}px` : ''); 24577 }; 24578 24579 const updateWrapperSize = (slideSize, snapGrid, getDirectionLabel) => { 24580 const { 24581 spaceBetween, 24582 centeredSlides, 24583 roundLengths 24584 } = swiper.params; 24585 const { 24586 rows 24587 } = swiper.params.grid; 24588 swiper.virtualSize = (slideSize + spaceBetween) * slidesNumberEvenToRows; 24589 swiper.virtualSize = Math.ceil(swiper.virtualSize / rows) - spaceBetween; 24590 swiper.$wrapperEl.css({ 24591 [getDirectionLabel('width')]: `${swiper.virtualSize + spaceBetween}px` 24592 }); 24593 24594 if (centeredSlides) { 24595 snapGrid.splice(0, snapGrid.length); 24596 const newSlidesGrid = []; 24597 24598 for (let i = 0; i < snapGrid.length; i += 1) { 24599 let slidesGridItem = snapGrid[i]; 24600 if (roundLengths) slidesGridItem = Math.floor(slidesGridItem); 24601 if (snapGrid[i] < swiper.virtualSize + snapGrid[0]) newSlidesGrid.push(slidesGridItem); 24602 } 24603 24604 snapGrid.push(...newSlidesGrid); 24605 } 24606 }; 24607 24608 swiper.grid = { 24609 initSlides, 24610 updateSlide, 24611 updateWrapperSize 24612 }; 24613} 24614 24615/***/ }), 24616
vendor: 4,115 bytes, lines 24617-24732
24617/***/ "./node_modules/swiper/modules/hash-navigation/hash-navigation.js": 24618/*!************************************************************************!*\ 24619 !*** ./node_modules/swiper/modules/hash-navigation/hash-navigation.js ***! 24620 \************************************************************************/ 24621/*! namespace exports */ 24622/*! export default [provided] [no usage info] [missing usage info prevents renaming] */ 24623/*! other exports [not provided] [no usage info] */ 24624/*! runtime requirements: __webpack_require__, __webpack_require__.r, __webpack_exports__, __webpack_require__.d, __webpack_require__.* */ 24625/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 24626 24627"use strict"; 24628__webpack_require__.r(__webpack_exports__); 24629/* harmony export */ __webpack_require__.d(__webpack_exports__, { 24630/* harmony export */ "default": function() { return /* binding */ HashNavigation; } 24631/* harmony export */ }); 24632/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ "./node_modules/ssr-window/ssr-window.esm.js"); 24633/* harmony import */ var _shared_dom_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/dom.js */ "./node_modules/swiper/shared/dom.js"); 24634; 24635 24636function HashNavigation({ 24637 swiper, 24638 extendParams, 24639 emit, 24640 on 24641}) { 24642 let initialized = false; 24643 const document = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getDocument)(); 24644 const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)(); 24645 extendParams({ 24646 hashNavigation: { 24647 enabled: false, 24648 replaceState: false, 24649 watchState: false 24650 } 24651 }); 24652 24653 const onHashChange = () => { 24654 emit('hashChange'); 24655 const newHash = document.location.hash.replace('#', ''); 24656 const activeSlideHash = swiper.slides.eq(swiper.activeIndex).attr('data-hash'); 24657 24658 if (newHash !== activeSlideHash) { 24659 const newIndex = swiper.$wrapperEl.children(`.${swiper.params.slideClass}[data-hash="${newHash}"]`).index(); 24660 if (typeof newIndex === 'undefined') return; 24661 swiper.slideTo(newIndex); 24662 } 24663 }; 24664 24665 const setHash = () => { 24666 if (!initialized || !swiper.params.hashNavigation.enabled) return; 24667 24668 if (swiper.params.hashNavigation.replaceState && window.history && window.history.replaceState) { 24669 window.history.replaceState(null, null, `#${swiper.slides.eq(swiper.activeIndex).attr('data-hash')}` || ''); 24670 emit('hashSet'); 24671 } else { 24672 const slide = swiper.slides.eq(swiper.activeIndex); 24673 const hash = slide.attr('data-hash') || slide.attr('data-history'); 24674 document.location.hash = hash || ''; 24675 emit('hashSet'); 24676 } 24677 }; 24678 24679 const init = () => { 24680 if (!swiper.params.hashNavigation.enabled || swiper.params.history && swiper.params.history.enabled) return; 24681 initialized = true; 24682 const hash = document.location.hash.replace('#', ''); 24683 24684 if (hash) { 24685 const speed = 0; 24686 24687 for (let i = 0, length = swiper.slides.length; i < length; i += 1) { 24688 const slide = swiper.slides.eq(i); 24689 const slideHash = slide.attr('data-hash') || slide.attr('data-history'); 24690 24691 if (slideHash === hash && !slide.hasClass(swiper.params.slideDuplicateClass)) { 24692 const index = slide.index(); 24693 swiper.slideTo(index, speed, swiper.params.runCallbacksOnInit, true); 24694 } 24695 } 24696 } 24697 24698 if (swiper.params.hashNavigation.watchState) { 24699 (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__.default)(window).on('hashchange', onHashChange); 24700 } 24701 }; 24702 24703 const destroy = () => { 24704 if (swiper.params.hashNavigation.watchState) { 24705 (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__.default)(window).off('hashchange', onHashChange); 24706 } 24707 }; 24708 24709 on('init', () => { 24710 if (swiper.params.hashNavigation.enabled) { 24711 init(); 24712 } 24713 }); 24714 on('destroy', () => { 24715 if (swiper.params.hashNavigation.enabled) { 24716 destroy(); 24717 } 24718 }); 24719 on('transitionEnd _freeModeNoMomentumRelease', () => { 24720 if (initialized) { 24721 setHash(); 24722 } 24723 }); 24724 on('slideChange', () => { 24725 if (initialized && swiper.params.cssMode) { 24726 setHash(); 24727 } 24728 }); 24729} 24730 24731/***/ }), 24732
vendor: 5,138 bytes, lines 24733-24906
24733/***/ "./node_modules/swiper/modules/history/history.js": 24734/*!********************************************************!*\ 24735 !*** ./node_modules/swiper/modules/history/history.js ***! 24736 \********************************************************/ 24737/*! namespace exports */ 24738/*! export default [provided] [no usage info] [missing usage info prevents renaming] */ 24739/*! other exports [not provided] [no usage info] */ 24740/*! runtime requirements: __webpack_require__, __webpack_require__.r, __webpack_exports__, __webpack_require__.d, __webpack_require__.* */ 24741/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 24742 24743"use strict"; 24744__webpack_require__.r(__webpack_exports__); 24745/* harmony export */ __webpack_require__.d(__webpack_exports__, { 24746/* harmony export */ "default": function() { return /* binding */ History; } 24747/* harmony export */ }); 24748/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ "./node_modules/ssr-window/ssr-window.esm.js"); 24749; 24750function History({ 24751 swiper, 24752 extendParams, 24753 on 24754}) { 24755 extendParams({ 24756 history: { 24757 enabled: false, 24758 root: '', 24759 replaceState: false, 24760 key: 'slides', 24761 keepQuery: false 24762 } 24763 }); 24764 let initialized = false; 24765 let paths = {}; 24766 24767 const slugify = text => { 24768 return text.toString().replace(/\s+/g, '-').replace(/[^\w-]+/g, '').replace(/--+/g, '-').replace(/^-+/, '').replace(/-+$/, ''); 24769 }; 24770 24771 const getPathValues = urlOverride => { 24772 const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)(); 24773 let location; 24774 24775 if (urlOverride) { 24776 location = new URL(urlOverride); 24777 } else { 24778 location = window.location; 24779 } 24780 24781 const pathArray = location.pathname.slice(1).split('/').filter(part => part !== ''); 24782 const total = pathArray.length; 24783 const key = pathArray[total - 2]; 24784 const value = pathArray[total - 1]; 24785 return { 24786 key, 24787 value 24788 }; 24789 }; 24790 24791 const setHistory = (key, index) => { 24792 const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)(); 24793 if (!initialized || !swiper.params.history.enabled) return; 24794 let location; 24795 24796 if (swiper.params.url) { 24797 location = new URL(swiper.params.url); 24798 } else { 24799 location = window.location; 24800 } 24801 24802 const slide = swiper.slides.eq(index); 24803 let value = slugify(slide.attr('data-history')); 24804 24805 if (swiper.params.history.root.length > 0) { 24806 let root = swiper.params.history.root; 24807 if (root[root.length - 1] === '/') root = root.slice(0, root.length - 1); 24808 value = `${root}/${key}/${value}`; 24809 } else if (!location.pathname.includes(key)) { 24810 value = `${key}/${value}`; 24811 } 24812 24813 if (swiper.params.history.keepQuery) { 24814 value += location.search; 24815 } 24816 24817 const currentState = window.history.state; 24818 24819 if (currentState && currentState.value === value) { 24820 return; 24821 } 24822 24823 if (swiper.params.history.replaceState) { 24824 window.history.replaceState({ 24825 value 24826 }, null, value); 24827 } else { 24828 window.history.pushState({ 24829 value 24830 }, null, value); 24831 } 24832 }; 24833 24834 const scrollToSlide = (speed, value, runCallbacks) => { 24835 if (value) { 24836 for (let i = 0, length = swiper.slides.length; i < length; i += 1) { 24837 const slide = swiper.slides.eq(i); 24838 const slideHistory = slugify(slide.attr('data-history')); 24839 24840 if (slideHistory === value && !slide.hasClass(swiper.params.slideDuplicateClass)) { 24841 const index = slide.index(); 24842 swiper.slideTo(index, speed, runCallbacks); 24843 } 24844 } 24845 } else { 24846 swiper.slideTo(0, speed, runCallbacks); 24847 } 24848 }; 24849 24850 const setHistoryPopState = () => { 24851 paths = getPathValues(swiper.params.url); 24852 scrollToSlide(swiper.params.speed, paths.value, false); 24853 }; 24854 24855 const init = () => { 24856 const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)(); 24857 if (!swiper.params.history) return; 24858 24859 if (!window.history || !window.history.pushState) { 24860 swiper.params.history.enabled = false; 24861 swiper.params.hashNavigation.enabled = true; 24862 return; 24863 } 24864 24865 initialized = true; 24866 paths = getPathValues(swiper.params.url); 24867 if (!paths.key && !paths.value) return; 24868 scrollToSlide(0, paths.value, swiper.params.runCallbacksOnInit); 24869 24870 if (!swiper.params.history.replaceState) { 24871 window.addEventListener('popstate', setHistoryPopState); 24872 } 24873 }; 24874 24875 const destroy = () => { 24876 const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)(); 24877 24878 if (!swiper.params.history.replaceState) { 24879 window.removeEventListener('popstate', setHistoryPopState); 24880 } 24881 }; 24882 24883 on('init', () => { 24884 if (swiper.params.history.enabled) { 24885 init(); 24886 } 24887 }); 24888 on('destroy', () => { 24889 if (swiper.params.history.enabled) { 24890 destroy(); 24891 } 24892 }); 24893 on('transitionEnd _freeModeNoMomentumRelease', () => { 24894 if (initialized) { 24895 setHistory(swiper.params.history.key, swiper.activeIndex); 24896 } 24897 }); 24898 on('slideChange', () => { 24899 if (initialized && swiper.params.cssMode) { 24900 setHistory(swiper.params.history.key, swiper.activeIndex); 24901 } 24902 }); 24903} 24904 24905/***/ }), 24906
vendor: 5,513 bytes, lines 24907-25057
24907/***/ "./node_modules/swiper/modules/keyboard/keyboard.js": 24908/*!**********************************************************!*\ 24909 !*** ./node_modules/swiper/modules/keyboard/keyboard.js ***! 24910 \**********************************************************/ 24911/*! namespace exports */ 24912/*! export default [provided] [no usage info] [missing usage info prevents renaming] */ 24913/*! other exports [not provided] [no usage info] */ 24914/*! runtime requirements: __webpack_require__, __webpack_require__.r, __webpack_exports__, __webpack_require__.d, __webpack_require__.* */ 24915/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 24916 24917"use strict"; 24918__webpack_require__.r(__webpack_exports__); 24919/* harmony export */ __webpack_require__.d(__webpack_exports__, { 24920/* harmony export */ "default": function() { return /* binding */ Keyboard; } 24921/* harmony export */ }); 24922/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ "./node_modules/ssr-window/ssr-window.esm.js"); 24923/* harmony import */ var _shared_dom_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/dom.js */ "./node_modules/swiper/shared/dom.js"); 24924/* eslint-disable consistent-return */ 24925; 24926 24927function Keyboard({ 24928 swiper, 24929 extendParams, 24930 on, 24931 emit 24932}) { 24933 const document = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getDocument)(); 24934 const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)(); 24935 swiper.keyboard = { 24936 enabled: false 24937 }; 24938 extendParams({ 24939 keyboard: { 24940 enabled: false, 24941 onlyInViewport: true, 24942 pageUpDown: true 24943 } 24944 }); 24945 24946 function handle(event) { 24947 if (!swiper.enabled) return; 24948 const { 24949 rtlTranslate: rtl 24950 } = swiper; 24951 let e = event; 24952 if (e.originalEvent) e = e.originalEvent; // jquery fix 24953 24954 const kc = e.keyCode || e.charCode; 24955 const pageUpDown = swiper.params.keyboard.pageUpDown; 24956 const isPageUp = pageUpDown && kc === 33; 24957 const isPageDown = pageUpDown && kc === 34; 24958 const isArrowLeft = kc === 37; 24959 const isArrowRight = kc === 39; 24960 const isArrowUp = kc === 38; 24961 const isArrowDown = kc === 40; // Directions locks 24962 24963 if (!swiper.allowSlideNext && (swiper.isHorizontal() && isArrowRight || swiper.isVertical() && isArrowDown || isPageDown)) { 24964 return false; 24965 } 24966 24967 if (!swiper.allowSlidePrev && (swiper.isHorizontal() && isArrowLeft || swiper.isVertical() && isArrowUp || isPageUp)) { 24968 return false; 24969 } 24970 24971 if (e.shiftKey || e.altKey || e.ctrlKey || e.metaKey) { 24972 return undefined; 24973 } 24974 24975 if (document.activeElement && document.activeElement.nodeName && (document.activeElement.nodeName.toLowerCase() === 'input' || document.activeElement.nodeName.toLowerCase() === 'textarea')) { 24976 return undefined; 24977 } 24978 24979 if (swiper.params.keyboard.onlyInViewport && (isPageUp || isPageDown || isArrowLeft || isArrowRight || isArrowUp || isArrowDown)) { 24980 let inView = false; // Check that swiper should be inside of visible area of window 24981 24982 if (swiper.$el.parents(`.${swiper.params.slideClass}`).length > 0 && swiper.$el.parents(`.${swiper.params.slideActiveClass}`).length === 0) { 24983 return undefined; 24984 } 24985 24986 const $el = swiper.$el; 24987 const swiperWidth = $el[0].clientWidth; 24988 const swiperHeight = $el[0].clientHeight; 24989 const windowWidth = window.innerWidth; 24990 const windowHeight = window.innerHeight; 24991 const swiperOffset = swiper.$el.offset(); 24992 if (rtl) swiperOffset.left -= swiper.$el[0].scrollLeft; 24993 const swiperCoord = [[swiperOffset.left, swiperOffset.top], [swiperOffset.left + swiperWidth, swiperOffset.top], [swiperOffset.left, swiperOffset.top + swiperHeight], [swiperOffset.left + swiperWidth, swiperOffset.top + swiperHeight]]; 24994 24995 for (let i = 0; i < swiperCoord.length; i += 1) { 24996 const point = swiperCoord[i]; 24997 24998 if (point[0] >= 0 && point[0] <= windowWidth && point[1] >= 0 && point[1] <= windowHeight) { 24999 if (point[0] === 0 && point[1] === 0) continue; // eslint-disable-line 25000 25001 inView = true; 25002 } 25003 } 25004 25005 if (!inView) return undefined; 25006 } 25007 25008 if (swiper.isHorizontal()) { 25009 if (isPageUp || isPageDown || isArrowLeft || isArrowRight) { 25010 if (e.preventDefault) e.preventDefault();else e.returnValue = false; 25011 } 25012 25013 if ((isPageDown || isArrowRight) && !rtl || (isPageUp || isArrowLeft) && rtl) swiper.slideNext(); 25014 if ((isPageUp || isArrowLeft) && !rtl || (isPageDown || isArrowRight) && rtl) swiper.slidePrev(); 25015 } else { 25016 if (isPageUp || isPageDown || isArrowUp || isArrowDown) { 25017 if (e.preventDefault) e.preventDefault();else e.returnValue = false; 25018 } 25019 25020 if (isPageDown || isArrowDown) swiper.slideNext(); 25021 if (isPageUp || isArrowUp) swiper.slidePrev(); 25022 } 25023 25024 emit('keyPress', kc); 25025 return undefined; 25026 } 25027 25028 function enable() { 25029 if (swiper.keyboard.enabled) return; 25030 (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__.default)(document).on('keydown', handle); 25031 swiper.keyboard.enabled = true; 25032 } 25033 25034 function disable() { 25035 if (!swiper.keyboard.enabled) return; 25036 (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__.default)(document).off('keydown', handle); 25037 swiper.keyboard.enabled = false; 25038 } 25039 25040 on('init', () => { 25041 if (swiper.params.keyboard.enabled) { 25042 enable(); 25043 } 25044 }); 25045 on('destroy', () => { 25046 if (swiper.keyboard.enabled) { 25047 disable(); 25048 } 25049 }); 25050 Object.assign(swiper.keyboard, { 25051 enable, 25052 disable 25053 }); 25054} 25055 25056/***/ }), 25057
vendor: 11,250 bytes, lines 25058-25364
25058/***/ "./node_modules/swiper/modules/lazy/lazy.js": 25059/*!**************************************************!*\ 25060 !*** ./node_modules/swiper/modules/lazy/lazy.js ***! 25061 \**************************************************/ 25062/*! namespace exports */ 25063/*! export default [provided] [no usage info] [missing usage info prevents renaming] */ 25064/*! other exports [not provided] [no usage info] */ 25065/*! runtime requirements: __webpack_require__, __webpack_require__.r, __webpack_exports__, __webpack_require__.d, __webpack_require__.* */ 25066/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 25067 25068"use strict"; 25069__webpack_require__.r(__webpack_exports__); 25070/* harmony export */ __webpack_require__.d(__webpack_exports__, { 25071/* harmony export */ "default": function() { return /* binding */ Lazy; } 25072/* harmony export */ }); 25073/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ "./node_modules/ssr-window/ssr-window.esm.js"); 25074/* harmony import */ var _shared_dom_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/dom.js */ "./node_modules/swiper/shared/dom.js"); 25075; 25076 25077function Lazy({ 25078 swiper, 25079 extendParams, 25080 on, 25081 emit 25082}) { 25083 extendParams({ 25084 lazy: { 25085 checkInView: false, 25086 enabled: false, 25087 loadPrevNext: false, 25088 loadPrevNextAmount: 1, 25089 loadOnTransitionStart: false, 25090 scrollingElement: '', 25091 elementClass: 'swiper-lazy', 25092 loadingClass: 'swiper-lazy-loading', 25093 loadedClass: 'swiper-lazy-loaded', 25094 preloaderClass: 'swiper-lazy-preloader' 25095 } 25096 }); 25097 swiper.lazy = {}; 25098 let scrollHandlerAttached = false; 25099 let initialImageLoaded = false; 25100 25101 function loadInSlide(index, loadInDuplicate = true) { 25102 const params = swiper.params.lazy; 25103 if (typeof index === 'undefined') return; 25104 if (swiper.slides.length === 0) return; 25105 const isVirtual = swiper.virtual && swiper.params.virtual.enabled; 25106 const $slideEl = isVirtual ? swiper.$wrapperEl.children(`.${swiper.params.slideClass}[data-swiper-slide-index="${index}"]`) : swiper.slides.eq(index); 25107 const $images = $slideEl.find(`.${params.elementClass}:not(.${params.loadedClass}):not(.${params.loadingClass})`); 25108 25109 if ($slideEl.hasClass(params.elementClass) && !$slideEl.hasClass(params.loadedClass) && !$slideEl.hasClass(params.loadingClass)) { 25110 $images.push($slideEl[0]); 25111 } 25112 25113 if ($images.length === 0) return; 25114 $images.each(imageEl => { 25115 const $imageEl = (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__.default)(imageEl); 25116 $imageEl.addClass(params.loadingClass); 25117 const background = $imageEl.attr('data-background'); 25118 const src = $imageEl.attr('data-src'); 25119 const srcset = $imageEl.attr('data-srcset'); 25120 const sizes = $imageEl.attr('data-sizes'); 25121 const $pictureEl = $imageEl.parent('picture'); 25122 swiper.loadImage($imageEl[0], src || background, srcset, sizes, false, () => { 25123 if (typeof swiper === 'undefined' || swiper === null || !swiper || swiper && !swiper.params || swiper.destroyed) return; 25124 25125 if (background) { 25126 $imageEl.css('background-image', `url("${background}")`); 25127 $imageEl.removeAttr('data-background'); 25128 } else { 25129 if (srcset) { 25130 $imageEl.attr('srcset', srcset); 25131 $imageEl.removeAttr('data-srcset'); 25132 } 25133 25134 if (sizes) { 25135 $imageEl.attr('sizes', sizes); 25136 $imageEl.removeAttr('data-sizes'); 25137 } 25138 25139 if ($pictureEl.length) { 25140 $pictureEl.children('source').each(sourceEl => { 25141 const $source = (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__.default)(sourceEl); 25142 25143 if ($source.attr('data-srcset')) { 25144 $source.attr('srcset', $source.attr('data-srcset')); 25145 $source.removeAttr('data-srcset'); 25146 } 25147 }); 25148 } 25149 25150 if (src) { 25151 $imageEl.attr('src', src); 25152 $imageEl.removeAttr('data-src'); 25153 } 25154 } 25155 25156 $imageEl.addClass(params.loadedClass).removeClass(params.loadingClass); 25157 $slideEl.find(`.${params.preloaderClass}`).remove(); 25158 25159 if (swiper.params.loop && loadInDuplicate) { 25160 const slideOriginalIndex = $slideEl.attr('data-swiper-slide-index'); 25161 25162 if ($slideEl.hasClass(swiper.params.slideDuplicateClass)) { 25163 const originalSlide = swiper.$wrapperEl.children(`[data-swiper-slide-index="${slideOriginalIndex}"]:not(.${swiper.params.slideDuplicateClass})`); 25164 loadInSlide(originalSlide.index(), false); 25165 } else { 25166 const duplicatedSlide = swiper.$wrapperEl.children(`.${swiper.params.slideDuplicateClass}[data-swiper-slide-index="${slideOriginalIndex}"]`); 25167 loadInSlide(duplicatedSlide.index(), false); 25168 } 25169 } 25170 25171 emit('lazyImageReady', $slideEl[0], $imageEl[0]); 25172 25173 if (swiper.params.autoHeight) { 25174 swiper.updateAutoHeight(); 25175 } 25176 }); 25177 emit('lazyImageLoad', $slideEl[0], $imageEl[0]); 25178 }); 25179 } 25180 25181 function load() { 25182 const { 25183 $wrapperEl, 25184 params: swiperParams, 25185 slides, 25186 activeIndex 25187 } = swiper; 25188 const isVirtual = swiper.virtual && swiperParams.virtual.enabled; 25189 const params = swiperParams.lazy; 25190 let slidesPerView = swiperParams.slidesPerView; 25191 25192 if (slidesPerView === 'auto') { 25193 slidesPerView = 0; 25194 } 25195 25196 function slideExist(index) { 25197 if (isVirtual) { 25198 if ($wrapperEl.children(`.${swiperParams.slideClass}[data-swiper-slide-index="${index}"]`).length) { 25199 return true; 25200 } 25201 } else if (slides[index]) return true; 25202 25203 return false; 25204 } 25205 25206 function slideIndex(slideEl) { 25207 if (isVirtual) { 25208 return (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__.default)(slideEl).attr('data-swiper-slide-index'); 25209 } 25210 25211 return (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__.default)(slideEl).index(); 25212 } 25213 25214 if (!initialImageLoaded) initialImageLoaded = true; 25215 25216 if (swiper.params.watchSlidesProgress) { 25217 $wrapperEl.children(`.${swiperParams.slideVisibleClass}`).each(slideEl => { 25218 const index = isVirtual ? (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__.default)(slideEl).attr('data-swiper-slide-index') : (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__.default)(slideEl).index(); 25219 loadInSlide(index); 25220 }); 25221 } else if (slidesPerView > 1) { 25222 for (let i = activeIndex; i < activeIndex + slidesPerView; i += 1) { 25223 if (slideExist(i)) loadInSlide(i); 25224 } 25225 } else { 25226 loadInSlide(activeIndex); 25227 } 25228 25229 if (params.loadPrevNext) { 25230 if (slidesPerView > 1 || params.loadPrevNextAmount && params.loadPrevNextAmount > 1) { 25231 const amount = params.loadPrevNextAmount; 25232 const spv = Math.ceil(slidesPerView); 25233 const maxIndex = Math.min(activeIndex + spv + Math.max(amount, spv), slides.length); 25234 const minIndex = Math.max(activeIndex - Math.max(spv, amount), 0); // Next Slides 25235 25236 for (let i = activeIndex + spv; i < maxIndex; i += 1) { 25237 if (slideExist(i)) loadInSlide(i); 25238 } // Prev Slides 25239 25240 25241 for (let i = minIndex; i < activeIndex; i += 1) { 25242 if (slideExist(i)) loadInSlide(i); 25243 } 25244 } else { 25245 const nextSlide = $wrapperEl.children(`.${swiperParams.slideNextClass}`); 25246 if (nextSlide.length > 0) loadInSlide(slideIndex(nextSlide)); 25247 const prevSlide = $wrapperEl.children(`.${swiperParams.slidePrevClass}`); 25248 if (prevSlide.length > 0) loadInSlide(slideIndex(prevSlide)); 25249 } 25250 } 25251 } 25252 25253 function checkInViewOnLoad() { 25254 const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)(); 25255 if (!swiper || swiper.destroyed) return; 25256 const $scrollElement = swiper.params.lazy.scrollingElement ? (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__.default)(swiper.params.lazy.scrollingElement) : (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__.default)(window); 25257 const isWindow = $scrollElement[0] === window; 25258 const scrollElementWidth = isWindow ? window.innerWidth : $scrollElement[0].offsetWidth; 25259 const scrollElementHeight = isWindow ? window.innerHeight : $scrollElement[0].offsetHeight; 25260 const swiperOffset = swiper.$el.offset(); 25261 const { 25262 rtlTranslate: rtl 25263 } = swiper; 25264 let inView = false; 25265 if (rtl) swiperOffset.left -= swiper.$el[0].scrollLeft; 25266 const swiperCoord = [[swiperOffset.left, swiperOffset.top], [swiperOffset.left + swiper.width, swiperOffset.top], [swiperOffset.left, swiperOffset.top + swiper.height], [swiperOffset.left + swiper.width, swiperOffset.top + swiper.height]]; 25267 25268 for (let i = 0; i < swiperCoord.length; i += 1) { 25269 const point = swiperCoord[i]; 25270 25271 if (point[0] >= 0 && point[0] <= scrollElementWidth && point[1] >= 0 && point[1] <= scrollElementHeight) { 25272 if (point[0] === 0 && point[1] === 0) continue; // eslint-disable-line 25273 25274 inView = true; 25275 } 25276 } 25277 25278 const passiveListener = swiper.touchEvents.start === 'touchstart' && swiper.support.passiveListener && swiper.params.passiveListeners ? { 25279 passive: true, 25280 capture: false 25281 } : false; 25282 25283 if (inView) { 25284 load(); 25285 $scrollElement.off('scroll', checkInViewOnLoad, passiveListener); 25286 } else if (!scrollHandlerAttached) { 25287 scrollHandlerAttached = true; 25288 $scrollElement.on('scroll', checkInViewOnLoad, passiveListener); 25289 } 25290 } 25291 25292 on('beforeInit', () => { 25293 if (swiper.params.lazy.enabled && swiper.params.preloadImages) { 25294 swiper.params.preloadImages = false; 25295 } 25296 }); 25297 on('init', () => { 25298 if (swiper.params.lazy.enabled) { 25299 if (swiper.params.lazy.checkInView) { 25300 checkInViewOnLoad(); 25301 } else { 25302 load(); 25303 } 25304 } 25305 }); 25306 on('scroll', () => { 25307 if (swiper.params.freeMode && swiper.params.freeMode.enabled && !swiper.params.freeMode.sticky) { 25308 load(); 25309 } 25310 }); 25311 on('scrollbarDragMove resize _freeModeNoMomentumRelease', () => { 25312 if (swiper.params.lazy.enabled) { 25313 if (swiper.params.lazy.checkInView) { 25314 checkInViewOnLoad(); 25315 } else { 25316 load(); 25317 } 25318 } 25319 }); 25320 on('transitionStart', () => { 25321 if (swiper.params.lazy.enabled) { 25322 if (swiper.params.lazy.loadOnTransitionStart || !swiper.params.lazy.loadOnTransitionStart && !initialImageLoaded) { 25323 if (swiper.params.lazy.checkInView) { 25324 checkInViewOnLoad(); 25325 } else { 25326 load(); 25327 } 25328 } 25329 } 25330 }); 25331 on('transitionEnd', () => { 25332 if (swiper.params.lazy.enabled && !swiper.params.lazy.loadOnTransitionStart) { 25333 if (swiper.params.lazy.checkInView) { 25334 checkInViewOnLoad(); 25335 } else { 25336 load(); 25337 } 25338 } 25339 }); 25340 on('slideChange', () => { 25341 const { 25342 lazy, 25343 cssMode, 25344 watchSlidesProgress, 25345 touchReleaseOnEdges, 25346 resistanceRatio 25347 } = swiper.params; 25348 25349 if (lazy.enabled && (cssMode || watchSlidesProgress && (touchReleaseOnEdges || resistanceRatio === 0))) { 25350 load(); 25351 } 25352 }); 25353 on('destroy', () => { 25354 if (!swiper.$el) return; 25355 swiper.$el.find(`.${swiper.params.lazy.loadingClass}`).removeClass(swiper.params.lazy.loadingClass); 25356 }); 25357 Object.assign(swiper.lazy, { 25358 load, 25359 loadInSlide 25360 }); 25361} 25362 25363/***/ }), 25364
vendor: 2,487 bytes, lines 25365-25403
25365/***/ "./node_modules/swiper/modules/manipulation/manipulation.js": 25366/*!******************************************************************!*\ 25367 !*** ./node_modules/swiper/modules/manipulation/manipulation.js ***! 25368 \******************************************************************/ 25369/*! namespace exports */ 25370/*! export default [provided] [no usage info] [missing usage info prevents renaming] */ 25371/*! other exports [not provided] [no usage info] */ 25372/*! runtime requirements: __webpack_require__, __webpack_require__.r, __webpack_exports__, __webpack_require__.d, __webpack_require__.* */ 25373/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 25374 25375"use strict"; 25376__webpack_require__.r(__webpack_exports__); 25377/* harmony export */ __webpack_require__.d(__webpack_exports__, { 25378/* harmony export */ "default": function() { return /* binding */ Manipulation; } 25379/* harmony export */ }); 25380/* harmony import */ var _methods_appendSlide_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./methods/appendSlide.js */ "./node_modules/swiper/modules/manipulation/methods/appendSlide.js"); 25381/* harmony import */ var _methods_prependSlide_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./methods/prependSlide.js */ "./node_modules/swiper/modules/manipulation/methods/prependSlide.js"); 25382/* harmony import */ var _methods_addSlide_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./methods/addSlide.js */ "./node_modules/swiper/modules/manipulation/methods/addSlide.js"); 25383/* harmony import */ var _methods_removeSlide_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./methods/removeSlide.js */ "./node_modules/swiper/modules/manipulation/methods/removeSlide.js"); 25384/* harmony import */ var _methods_removeAllSlides_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./methods/removeAllSlides.js */ "./node_modules/swiper/modules/manipulation/methods/removeAllSlides.js"); 25385; 25386 25387 25388 25389 25390function Manipulation({ 25391 swiper 25392}) { 25393 Object.assign(swiper, { 25394 appendSlide: _methods_appendSlide_js__WEBPACK_IMPORTED_MODULE_0__.default.bind(swiper), 25395 prependSlide: _methods_prependSlide_js__WEBPACK_IMPORTED_MODULE_1__.default.bind(swiper), 25396 addSlide: _methods_addSlide_js__WEBPACK_IMPORTED_MODULE_2__.default.bind(swiper), 25397 removeSlide: _methods_removeSlide_js__WEBPACK_IMPORTED_MODULE_3__.default.bind(swiper), 25398 removeAllSlides: _methods_removeAllSlides_js__WEBPACK_IMPORTED_MODULE_4__.default.bind(swiper) 25399 }); 25400} 25401 25402/***/ }), 25403
vendor: 2,405 bytes, lines 25404-25485
25404/***/ "./node_modules/swiper/modules/manipulation/methods/addSlide.js": 25405/*!**********************************************************************!*\ 25406 !*** ./node_modules/swiper/modules/manipulation/methods/addSlide.js ***! 25407 \**********************************************************************/ 25408/*! namespace exports */ 25409/*! export default [provided] [no usage info] [missing usage info prevents renaming] */ 25410/*! other exports [not provided] [no usage info] */ 25411/*! runtime requirements: __webpack_require__.r, __webpack_exports__, __webpack_require__.d, __webpack_require__.* */ 25412/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 25413 25414"use strict"; 25415__webpack_require__.r(__webpack_exports__); 25416/* harmony export */ __webpack_require__.d(__webpack_exports__, { 25417/* harmony export */ "default": function() { return /* binding */ addSlide; } 25418/* harmony export */ }); 25419function addSlide(index, slides) { 25420 const swiper = this; 25421 const { 25422 $wrapperEl, 25423 params, 25424 activeIndex 25425 } = swiper; 25426 let activeIndexBuffer = activeIndex; 25427 25428 if (params.loop) { 25429 activeIndexBuffer -= swiper.loopedSlides; 25430 swiper.loopDestroy(); 25431 swiper.slides = $wrapperEl.children(`.${params.slideClass}`); 25432 } 25433 25434 const baseLength = swiper.slides.length; 25435 25436 if (index <= 0) { 25437 swiper.prependSlide(slides); 25438 return; 25439 } 25440 25441 if (index >= baseLength) { 25442 swiper.appendSlide(slides); 25443 return; 25444 } 25445 25446 let newActiveIndex = activeIndexBuffer > index ? activeIndexBuffer + 1 : activeIndexBuffer; 25447 const slidesBuffer = []; 25448 25449 for (let i = baseLength - 1; i >= index; i -= 1) { 25450 const currentSlide = swiper.slides.eq(i); 25451 currentSlide.remove(); 25452 slidesBuffer.unshift(currentSlide); 25453 } 25454 25455 if (typeof slides === 'object' && 'length' in slides) { 25456 for (let i = 0; i < slides.length; i += 1) { 25457 if (slides[i]) $wrapperEl.append(slides[i]); 25458 } 25459 25460 newActiveIndex = activeIndexBuffer > index ? activeIndexBuffer + slides.length : activeIndexBuffer; 25461 } else { 25462 $wrapperEl.append(slides); 25463 } 25464 25465 for (let i = 0; i < slidesBuffer.length; i += 1) { 25466 $wrapperEl.append(slidesBuffer[i]); 25467 } 25468 25469 if (params.loop) { 25470 swiper.loopCreate(); 25471 } 25472 25473 if (!params.observer) { 25474 swiper.update(); 25475 } 25476 25477 if (params.loop) { 25478 swiper.slideTo(newActiveIndex + swiper.loopedSlides, 0, false); 25479 } else { 25480 swiper.slideTo(newActiveIndex, 0, false); 25481 } 25482} 25483 25484/***/ }), 25485
vendor: 1,409 bytes, lines 25486-25530
25486/***/ "./node_modules/swiper/modules/manipulation/methods/appendSlide.js": 25487/*!*************************************************************************!*\ 25488 !*** ./node_modules/swiper/modules/manipulation/methods/appendSlide.js ***! 25489 \*************************************************************************/ 25490/*! namespace exports */ 25491/*! export default [provided] [no usage info] [missing usage info prevents renaming] */ 25492/*! other exports [not provided] [no usage info] */ 25493/*! runtime requirements: __webpack_require__.r, __webpack_exports__, __webpack_require__.d, __webpack_require__.* */ 25494/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 25495 25496"use strict"; 25497__webpack_require__.r(__webpack_exports__); 25498/* harmony export */ __webpack_require__.d(__webpack_exports__, { 25499/* harmony export */ "default": function() { return /* binding */ appendSlide; } 25500/* harmony export */ }); 25501function appendSlide(slides) { 25502 const swiper = this; 25503 const { 25504 $wrapperEl, 25505 params 25506 } = swiper; 25507 25508 if (params.loop) { 25509 swiper.loopDestroy(); 25510 } 25511 25512 if (typeof slides === 'object' && 'length' in slides) { 25513 for (let i = 0; i < slides.length; i += 1) { 25514 if (slides[i]) $wrapperEl.append(slides[i]); 25515 } 25516 } else { 25517 $wrapperEl.append(slides); 25518 } 25519 25520 if (params.loop) { 25521 swiper.loopCreate(); 25522 } 25523 25524 if (!params.observer) { 25525 swiper.update(); 25526 } 25527} 25528 25529/***/ }), 25530
vendor: 1,571 bytes, lines 25531-25582
25531/***/ "./node_modules/swiper/modules/manipulation/methods/prependSlide.js": 25532/*!**************************************************************************!*\ 25533 !*** ./node_modules/swiper/modules/manipulation/methods/prependSlide.js ***! 25534 \**************************************************************************/ 25535/*! namespace exports */ 25536/*! export default [provided] [no usage info] [missing usage info prevents renaming] */ 25537/*! other exports [not provided] [no usage info] */ 25538/*! runtime requirements: __webpack_require__.r, __webpack_exports__, __webpack_require__.d, __webpack_require__.* */ 25539/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 25540 25541"use strict"; 25542__webpack_require__.r(__webpack_exports__); 25543/* harmony export */ __webpack_require__.d(__webpack_exports__, { 25544/* harmony export */ "default": function() { return /* binding */ prependSlide; } 25545/* harmony export */ }); 25546function prependSlide(slides) { 25547 const swiper = this; 25548 const { 25549 params, 25550 $wrapperEl, 25551 activeIndex 25552 } = swiper; 25553 25554 if (params.loop) { 25555 swiper.loopDestroy(); 25556 } 25557 25558 let newActiveIndex = activeIndex + 1; 25559 25560 if (typeof slides === 'object' && 'length' in slides) { 25561 for (let i = 0; i < slides.length; i += 1) { 25562 if (slides[i]) $wrapperEl.prepend(slides[i]); 25563 } 25564 25565 newActiveIndex = activeIndex + slides.length; 25566 } else { 25567 $wrapperEl.prepend(slides); 25568 } 25569 25570 if (params.loop) { 25571 swiper.loopCreate(); 25572 } 25573 25574 if (!params.observer) { 25575 swiper.update(); 25576 } 25577 25578 swiper.slideTo(newActiveIndex, 0, false); 25579} 25580 25581/***/ }), 25582
vendor: 1,162 bytes, lines 25583-25610
25583/***/ "./node_modules/swiper/modules/manipulation/methods/removeAllSlides.js": 25584/*!*****************************************************************************!*\ 25585 !*** ./node_modules/swiper/modules/manipulation/methods/removeAllSlides.js ***! 25586 \*****************************************************************************/ 25587/*! namespace exports */ 25588/*! export default [provided] [no usage info] [missing usage info prevents renaming] */ 25589/*! other exports [not provided] [no usage info] */ 25590/*! runtime requirements: __webpack_require__.r, __webpack_exports__, __webpack_require__.d, __webpack_require__.* */ 25591/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 25592 25593"use strict"; 25594__webpack_require__.r(__webpack_exports__); 25595/* harmony export */ __webpack_require__.d(__webpack_exports__, { 25596/* harmony export */ "default": function() { return /* binding */ removeAllSlides; } 25597/* harmony export */ }); 25598function removeAllSlides() { 25599 const swiper = this; 25600 const slidesIndexes = []; 25601 25602 for (let i = 0; i < swiper.slides.length; i += 1) { 25603 slidesIndexes.push(i); 25604 } 25605 25606 swiper.removeSlide(slidesIndexes); 25607} 25608 25609/***/ }), 25610
vendor: 2,200 bytes, lines 25611-25675
25611/***/ "./node_modules/swiper/modules/manipulation/methods/removeSlide.js": 25612/*!*************************************************************************!*\ 25613 !*** ./node_modules/swiper/modules/manipulation/methods/removeSlide.js ***! 25614 \*************************************************************************/ 25615/*! namespace exports */ 25616/*! export default [provided] [no usage info] [missing usage info prevents renaming] */ 25617/*! other exports [not provided] [no usage info] */ 25618/*! runtime requirements: __webpack_require__.r, __webpack_exports__, __webpack_require__.d, __webpack_require__.* */ 25619/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 25620 25621"use strict"; 25622__webpack_require__.r(__webpack_exports__); 25623/* harmony export */ __webpack_require__.d(__webpack_exports__, { 25624/* harmony export */ "default": function() { return /* binding */ removeSlide; } 25625/* harmony export */ }); 25626function removeSlide(slidesIndexes) { 25627 const swiper = this; 25628 const { 25629 params, 25630 $wrapperEl, 25631 activeIndex 25632 } = swiper; 25633 let activeIndexBuffer = activeIndex; 25634 25635 if (params.loop) { 25636 activeIndexBuffer -= swiper.loopedSlides; 25637 swiper.loopDestroy(); 25638 swiper.slides = $wrapperEl.children(`.${params.slideClass}`); 25639 } 25640 25641 let newActiveIndex = activeIndexBuffer; 25642 let indexToRemove; 25643 25644 if (typeof slidesIndexes === 'object' && 'length' in slidesIndexes) { 25645 for (let i = 0; i < slidesIndexes.length; i += 1) { 25646 indexToRemove = slidesIndexes[i]; 25647 if (swiper.slides[indexToRemove]) swiper.slides.eq(indexToRemove).remove(); 25648 if (indexToRemove < newActiveIndex) newActiveIndex -= 1; 25649 } 25650 25651 newActiveIndex = Math.max(newActiveIndex, 0); 25652 } else { 25653 indexToRemove = slidesIndexes; 25654 if (swiper.slides[indexToRemove]) swiper.slides.eq(indexToRemove).remove(); 25655 if (indexToRemove < newActiveIndex) newActiveIndex -= 1; 25656 newActiveIndex = Math.max(newActiveIndex, 0); 25657 } 25658 25659 if (params.loop) { 25660 swiper.loopCreate(); 25661 } 25662 25663 if (!params.observer) { 25664 swiper.update(); 25665 } 25666 25667 if (params.loop) { 25668 swiper.slideTo(newActiveIndex + swiper.loopedSlides, 0, false); 25669 } else { 25670 swiper.slideTo(newActiveIndex, 0, false); 25671 } 25672} 25673 25674/***/ }), 25675
vendor: 15,901 bytes, lines 25676-26118
25676/***/ "./node_modules/swiper/modules/mousewheel/mousewheel.js": 25677/*!**************************************************************!*\ 25678 !*** ./node_modules/swiper/modules/mousewheel/mousewheel.js ***! 25679 \**************************************************************/ 25680/*! namespace exports */ 25681/*! export default [provided] [no usage info] [missing usage info prevents renaming] */ 25682/*! other exports [not provided] [no usage info] */ 25683/*! runtime requirements: __webpack_require__, __webpack_require__.r, __webpack_exports__, __webpack_require__.d, __webpack_require__.* */ 25684/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 25685 25686"use strict"; 25687__webpack_require__.r(__webpack_exports__); 25688/* harmony export */ __webpack_require__.d(__webpack_exports__, { 25689/* harmony export */ "default": function() { return /* binding */ Mousewheel; } 25690/* harmony export */ }); 25691/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ "./node_modules/ssr-window/ssr-window.esm.js"); 25692/* harmony import */ var _shared_dom_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/dom.js */ "./node_modules/swiper/shared/dom.js"); 25693/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../shared/utils.js */ "./node_modules/swiper/shared/utils.js"); 25694/* eslint-disable consistent-return */ 25695; 25696 25697 25698function Mousewheel({ 25699 swiper, 25700 extendParams, 25701 on, 25702 emit 25703}) { 25704 const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)(); 25705 extendParams({ 25706 mousewheel: { 25707 enabled: false, 25708 releaseOnEdges: false, 25709 invert: false, 25710 forceToAxis: false, 25711 sensitivity: 1, 25712 eventsTarget: 'container', 25713 thresholdDelta: null, 25714 thresholdTime: null 25715 } 25716 }); 25717 swiper.mousewheel = { 25718 enabled: false 25719 }; 25720 let timeout; 25721 let lastScrollTime = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_2__.now)(); 25722 let lastEventBeforeSnap; 25723 const recentWheelEvents = []; 25724 25725 function normalize(e) { 25726 // Reasonable defaults 25727 const PIXEL_STEP = 10; 25728 const LINE_HEIGHT = 40; 25729 const PAGE_HEIGHT = 800; 25730 let sX = 0; 25731 let sY = 0; // spinX, spinY 25732 25733 let pX = 0; 25734 let pY = 0; // pixelX, pixelY 25735 // Legacy 25736 25737 if ('detail' in e) { 25738 sY = e.detail; 25739 } 25740 25741 if ('wheelDelta' in e) { 25742 sY = -e.wheelDelta / 120; 25743 } 25744 25745 if ('wheelDeltaY' in e) { 25746 sY = -e.wheelDeltaY / 120; 25747 } 25748 25749 if ('wheelDeltaX' in e) { 25750 sX = -e.wheelDeltaX / 120; 25751 } // side scrolling on FF with DOMMouseScroll 25752 25753 25754 if ('axis' in e && e.axis === e.HORIZONTAL_AXIS) { 25755 sX = sY; 25756 sY = 0; 25757 } 25758 25759 pX = sX * PIXEL_STEP; 25760 pY = sY * PIXEL_STEP; 25761 25762 if ('deltaY' in e) { 25763 pY = e.deltaY; 25764 } 25765 25766 if ('deltaX' in e) { 25767 pX = e.deltaX; 25768 } 25769 25770 if (e.shiftKey && !pX) { 25771 // if user scrolls with shift he wants horizontal scroll 25772 pX = pY; 25773 pY = 0; 25774 } 25775 25776 if ((pX || pY) && e.deltaMode) { 25777 if (e.deltaMode === 1) { 25778 // delta in LINE units 25779 pX *= LINE_HEIGHT; 25780 pY *= LINE_HEIGHT; 25781 } else { 25782 // delta in PAGE units 25783 pX *= PAGE_HEIGHT; 25784 pY *= PAGE_HEIGHT; 25785 } 25786 } // Fall-back if spin cannot be determined 25787 25788 25789 if (pX && !sX) { 25790 sX = pX < 1 ? -1 : 1; 25791 } 25792 25793 if (pY && !sY) { 25794 sY = pY < 1 ? -1 : 1; 25795 } 25796 25797 return { 25798 spinX: sX, 25799 spinY: sY, 25800 pixelX: pX, 25801 pixelY: pY 25802 }; 25803 } 25804 25805 function handleMouseEnter() { 25806 if (!swiper.enabled) return; 25807 swiper.mouseEntered = true; 25808 } 25809 25810 function handleMouseLeave() { 25811 if (!swiper.enabled) return; 25812 swiper.mouseEntered = false; 25813 } 25814 25815 function animateSlider(newEvent) { 25816 if (swiper.params.mousewheel.thresholdDelta && newEvent.delta < swiper.params.mousewheel.thresholdDelta) { 25817 // Prevent if delta of wheel scroll delta is below configured threshold 25818 return false; 25819 } 25820 25821 if (swiper.params.mousewheel.thresholdTime && (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_2__.now)() - lastScrollTime < swiper.params.mousewheel.thresholdTime) { 25822 // Prevent if time between scrolls is below configured threshold 25823 return false; 25824 } // If the movement is NOT big enough and 25825 // if the last time the user scrolled was too close to the current one (avoid continuously triggering the slider): 25826 // Don't go any further (avoid insignificant scroll movement). 25827 25828 25829 if (newEvent.delta >= 6 && (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_2__.now)() - lastScrollTime < 60) { 25830 // Return false as a default 25831 return true; 25832 } // If user is scrolling towards the end: 25833 // If the slider hasn't hit the latest slide or 25834 // if the slider is a loop and 25835 // if the slider isn't moving right now: 25836 // Go to next slide and 25837 // emit a scroll event. 25838 // Else (the user is scrolling towards the beginning) and 25839 // if the slider hasn't hit the first slide or 25840 // if the slider is a loop and 25841 // if the slider isn't moving right now: 25842 // Go to prev slide and 25843 // emit a scroll event. 25844 25845 25846 if (newEvent.direction < 0) { 25847 if ((!swiper.isEnd || swiper.params.loop) && !swiper.animating) { 25848 swiper.slideNext(); 25849 emit('scroll', newEvent.raw); 25850 } 25851 } else if ((!swiper.isBeginning || swiper.params.loop) && !swiper.animating) { 25852 swiper.slidePrev(); 25853 emit('scroll', newEvent.raw); 25854 } // If you got here is because an animation has been triggered so store the current time 25855 25856 25857 lastScrollTime = new window.Date().getTime(); // Return false as a default 25858 25859 return false; 25860 } 25861 25862 function releaseScroll(newEvent) { 25863 const params = swiper.params.mousewheel; 25864 25865 if (newEvent.direction < 0) { 25866 if (swiper.isEnd && !swiper.params.loop && params.releaseOnEdges) { 25867 // Return true to animate scroll on edges 25868 return true; 25869 } 25870 } else if (swiper.isBeginning && !swiper.params.loop && params.releaseOnEdges) { 25871 // Return true to animate scroll on edges 25872 return true; 25873 } 25874 25875 return false; 25876 } 25877 25878 function handle(event) { 25879 let e = event; 25880 let disableParentSwiper = true; 25881 if (!swiper.enabled) return; 25882 const params = swiper.params.mousewheel; 25883 25884 if (swiper.params.cssMode) { 25885 e.preventDefault(); 25886 } 25887 25888 let target = swiper.$el; 25889 25890 if (swiper.params.mousewheel.eventsTarget !== 'container') { 25891 target = (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__.default)(swiper.params.mousewheel.eventsTarget); 25892 } 25893 25894 if (!swiper.mouseEntered && !target[0].contains(e.target) && !params.releaseOnEdges) return true; 25895 if (e.originalEvent) e = e.originalEvent; // jquery fix 25896 25897 let delta = 0; 25898 const rtlFactor = swiper.rtlTranslate ? -1 : 1; 25899 const data = normalize(e); 25900 25901 if (params.forceToAxis) { 25902 if (swiper.isHorizontal()) { 25903 if (Math.abs(data.pixelX) > Math.abs(data.pixelY)) delta = -data.pixelX * rtlFactor;else return true; 25904 } else if (Math.abs(data.pixelY) > Math.abs(data.pixelX)) delta = -data.pixelY;else return true; 25905 } else { 25906 delta = Math.abs(data.pixelX) > Math.abs(data.pixelY) ? -data.pixelX * rtlFactor : -data.pixelY; 25907 } 25908 25909 if (delta === 0) return true; 25910 if (params.invert) delta = -delta; // Get the scroll positions 25911 25912 let positions = swiper.getTranslate() + delta * params.sensitivity; 25913 if (positions >= swiper.minTranslate()) positions = swiper.minTranslate(); 25914 if (positions <= swiper.maxTranslate()) positions = swiper.maxTranslate(); // When loop is true: 25915 // the disableParentSwiper will be true. 25916 // When loop is false: 25917 // if the scroll positions is not on edge, 25918 // then the disableParentSwiper will be true. 25919 // if the scroll on edge positions, 25920 // then the disableParentSwiper will be false. 25921 25922 disableParentSwiper = swiper.params.loop ? true : !(positions === swiper.minTranslate() || positions === swiper.maxTranslate()); 25923 if (disableParentSwiper && swiper.params.nested) e.stopPropagation(); 25924 25925 if (!swiper.params.freeMode || !swiper.params.freeMode.enabled) { 25926 // Register the new event in a variable which stores the relevant data 25927 const newEvent = { 25928 time: (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_2__.now)(), 25929 delta: Math.abs(delta), 25930 direction: Math.sign(delta), 25931 raw: event 25932 }; // Keep the most recent events 25933 25934 if (recentWheelEvents.length >= 2) { 25935 recentWheelEvents.shift(); // only store the last N events 25936 } 25937 25938 const prevEvent = recentWheelEvents.length ? recentWheelEvents[recentWheelEvents.length - 1] : undefined; 25939 recentWheelEvents.push(newEvent); // If there is at least one previous recorded event: 25940 // If direction has changed or 25941 // if the scroll is quicker than the previous one: 25942 // Animate the slider. 25943 // Else (this is the first time the wheel is moved): 25944 // Animate the slider. 25945 25946 if (prevEvent) { 25947 if (newEvent.direction !== prevEvent.direction || newEvent.delta > prevEvent.delta || newEvent.time > prevEvent.time + 150) { 25948 animateSlider(newEvent); 25949 } 25950 } else { 25951 animateSlider(newEvent); 25952 } // If it's time to release the scroll: 25953 // Return now so you don't hit the preventDefault. 25954 25955 25956 if (releaseScroll(newEvent)) { 25957 return true; 25958 } 25959 } else { 25960 // Freemode or scrollContainer: 25961 // If we recently snapped after a momentum scroll, then ignore wheel events 25962 // to give time for the deceleration to finish. Stop ignoring after 500 msecs 25963 // or if it's a new scroll (larger delta or inverse sign as last event before 25964 // an end-of-momentum snap). 25965 const newEvent = { 25966 time: (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_2__.now)(), 25967 delta: Math.abs(delta), 25968 direction: Math.sign(delta) 25969 }; 25970 const ignoreWheelEvents = lastEventBeforeSnap && newEvent.time < lastEventBeforeSnap.time + 500 && newEvent.delta <= lastEventBeforeSnap.delta && newEvent.direction === lastEventBeforeSnap.direction; 25971 25972 if (!ignoreWheelEvents) { 25973 lastEventBeforeSnap = undefined; 25974 25975 if (swiper.params.loop) { 25976 swiper.loopFix(); 25977 } 25978 25979 let position = swiper.getTranslate() + delta * params.sensitivity; 25980 const wasBeginning = swiper.isBeginning; 25981 const wasEnd = swiper.isEnd; 25982 if (position >= swiper.minTranslate()) position = swiper.minTranslate(); 25983 if (position <= swiper.maxTranslate()) position = swiper.maxTranslate(); 25984 swiper.setTransition(0); 25985 swiper.setTranslate(position); 25986 swiper.updateProgress(); 25987 swiper.updateActiveIndex(); 25988 swiper.updateSlidesClasses(); 25989 25990 if (!wasBeginning && swiper.isBeginning || !wasEnd && swiper.isEnd) { 25991 swiper.updateSlidesClasses(); 25992 } 25993 25994 if (swiper.params.freeMode.sticky) { 25995 // When wheel scrolling starts with sticky (aka snap) enabled, then detect 25996 // the end of a momentum scroll by storing recent (N=15?) wheel events. 25997 // 1. do all N events have decreasing or same (absolute value) delta? 25998 // 2. did all N events arrive in the last M (M=500?) msecs? 25999 // 3. does the earliest event have an (absolute value) delta that's 26000 // at least P (P=1?) larger than the most recent event's delta? 26001 // 4. does the latest event have a delta that's smaller than Q (Q=6?) pixels? 26002 // If 1-4 are "yes" then we're near the end of a momentum scroll deceleration. 26003 // Snap immediately and ignore remaining wheel events in this scroll. 26004 // See comment above for "remaining wheel events in this scroll" determination. 26005 // If 1-4 aren't satisfied, then wait to snap until 500ms after the last event. 26006 clearTimeout(timeout); 26007 timeout = undefined; 26008 26009 if (recentWheelEvents.length >= 15) { 26010 recentWheelEvents.shift(); // only store the last N events 26011 } 26012 26013 const prevEvent = recentWheelEvents.length ? recentWheelEvents[recentWheelEvents.length - 1] : undefined; 26014 const firstEvent = recentWheelEvents[0]; 26015 recentWheelEvents.push(newEvent); 26016 26017 if (prevEvent && (newEvent.delta > prevEvent.delta || newEvent.direction !== prevEvent.direction)) { 26018 // Increasing or reverse-sign delta means the user started scrolling again. Clear the wheel event log. 26019 recentWheelEvents.splice(0); 26020 } else if (recentWheelEvents.length >= 15 && newEvent.time - firstEvent.time < 500 && firstEvent.delta - newEvent.delta >= 1 && newEvent.delta <= 6) { 26021 // We're at the end of the deceleration of a momentum scroll, so there's no need 26022 // to wait for more events. Snap ASAP on the next tick. 26023 // Also, because there's some remaining momentum we'll bias the snap in the 26024 // direction of the ongoing scroll because it's better UX for the scroll to snap 26025 // in the same direction as the scroll instead of reversing to snap. Therefore, 26026 // if it's already scrolled more than 20% in the current direction, keep going. 26027 const snapToThreshold = delta > 0 ? 0.8 : 0.2; 26028 lastEventBeforeSnap = newEvent; 26029 recentWheelEvents.splice(0); 26030 timeout = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_2__.nextTick)(() => { 26031 swiper.slideToClosest(swiper.params.speed, true, undefined, snapToThreshold); 26032 }, 0); // no delay; move on next tick 26033 } 26034 26035 if (!timeout) { 26036 // if we get here, then we haven't detected the end of a momentum scroll, so 26037 // we'll consider a scroll "complete" when there haven't been any wheel events 26038 // for 500ms. 26039 timeout = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_2__.nextTick)(() => { 26040 const snapToThreshold = 0.5; 26041 lastEventBeforeSnap = newEvent; 26042 recentWheelEvents.splice(0); 26043 swiper.slideToClosest(swiper.params.speed, true, undefined, snapToThreshold); 26044 }, 500); 26045 } 26046 } // Emit event 26047 26048 26049 if (!ignoreWheelEvents) emit('scroll', e); // Stop autoplay 26050 26051 if (swiper.params.autoplay && swiper.params.autoplayDisableOnInteraction) swiper.autoplay.stop(); // Return page scroll on edge positions 26052 26053 if (position === swiper.minTranslate() || position === swiper.maxTranslate()) return true; 26054 } 26055 } 26056 26057 if (e.preventDefault) e.preventDefault();else e.returnValue = false; 26058 return false; 26059 } 26060 26061 function events(method) { 26062 let target = swiper.$el; 26063 26064 if (swiper.params.mousewheel.eventsTarget !== 'container') { 26065 target = (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__.default)(swiper.params.mousewheel.eventsTarget); 26066 } 26067 26068 target[method]('mouseenter', handleMouseEnter); 26069 target[method]('mouseleave', handleMouseLeave); 26070 target[method]('wheel', handle); 26071 } 26072 26073 function enable() { 26074 if (swiper.params.cssMode) { 26075 swiper.wrapperEl.removeEventListener('wheel', handle); 26076 return true; 26077 } 26078 26079 if (swiper.mousewheel.enabled) return false; 26080 events('on'); 26081 swiper.mousewheel.enabled = true; 26082 return true; 26083 } 26084 26085 function disable() { 26086 if (swiper.params.cssMode) { 26087 swiper.wrapperEl.addEventListener(event, handle); 26088 return true; 26089 } 26090 26091 if (!swiper.mousewheel.enabled) return false; 26092 events('off'); 26093 swiper.mousewheel.enabled = false; 26094 return true; 26095 } 26096 26097 on('init', () => { 26098 if (!swiper.params.mousewheel.enabled && swiper.params.cssMode) { 26099 disable(); 26100 } 26101 26102 if (swiper.params.mousewheel.enabled) enable(); 26103 }); 26104 on('destroy', () => { 26105 if (swiper.params.cssMode) { 26106 enable(); 26107 } 26108 26109 if (swiper.mousewheel.enabled) disable(); 26110 }); 26111 Object.assign(swiper.mousewheel, { 26112 enable, 26113 disable 26114 }); 26115} 26116 26117/***/ }), 26118
vendor: 6,612 bytes, lines 26119-26345
26119/***/ "./node_modules/swiper/modules/navigation/navigation.js": 26120/*!**************************************************************!*\ 26121 !*** ./node_modules/swiper/modules/navigation/navigation.js ***! 26122 \**************************************************************/ 26123/*! namespace exports */ 26124/*! export default [provided] [no usage info] [missing usage info prevents renaming] */ 26125/*! other exports [not provided] [no usage info] */ 26126/*! runtime requirements: __webpack_require__, __webpack_require__.r, __webpack_exports__, __webpack_require__.d, __webpack_require__.* */ 26127/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 26128 26129"use strict"; 26130__webpack_require__.r(__webpack_exports__); 26131/* harmony export */ __webpack_require__.d(__webpack_exports__, { 26132/* harmony export */ "default": function() { return /* binding */ Navigation; } 26133/* harmony export */ }); 26134/* harmony import */ var _shared_create_element_if_not_defined_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/create-element-if-not-defined.js */ "./node_modules/swiper/shared/create-element-if-not-defined.js"); 26135/* harmony import */ var _shared_dom_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/dom.js */ "./node_modules/swiper/shared/dom.js"); 26136; 26137 26138function Navigation({ 26139 swiper, 26140 extendParams, 26141 on, 26142 emit 26143}) { 26144 extendParams({ 26145 navigation: { 26146 nextEl: null, 26147 prevEl: null, 26148 hideOnClick: false, 26149 disabledClass: 'swiper-button-disabled', 26150 hiddenClass: 'swiper-button-hidden', 26151 lockClass: 'swiper-button-lock', 26152 navigationDisabledClass: 'swiper-navigation-disabled' 26153 } 26154 }); 26155 swiper.navigation = { 26156 nextEl: null, 26157 $nextEl: null, 26158 prevEl: null, 26159 $prevEl: null 26160 }; 26161 26162 function getEl(el) { 26163 let $el; 26164 26165 if (el) { 26166 $el = (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__.default)(el); 26167 26168 if (swiper.params.uniqueNavElements && typeof el === 'string' && $el.length > 1 && swiper.$el.find(el).length === 1) { 26169 $el = swiper.$el.find(el); 26170 } 26171 } 26172 26173 return $el; 26174 } 26175 26176 function toggleEl($el, disabled) { 26177 const params = swiper.params.navigation; 26178 26179 if ($el && $el.length > 0) { 26180 $el[disabled ? 'addClass' : 'removeClass'](params.disabledClass); 26181 if ($el[0] && $el[0].tagName === 'BUTTON') $el[0].disabled = disabled; 26182 26183 if (swiper.params.watchOverflow && swiper.enabled) { 26184 $el[swiper.isLocked ? 'addClass' : 'removeClass'](params.lockClass); 26185 } 26186 } 26187 } 26188 26189 function update() { 26190 // Update Navigation Buttons 26191 if (swiper.params.loop) return; 26192 const { 26193 $nextEl, 26194 $prevEl 26195 } = swiper.navigation; 26196 toggleEl($prevEl, swiper.isBeginning && !swiper.params.rewind); 26197 toggleEl($nextEl, swiper.isEnd && !swiper.params.rewind); 26198 } 26199 26200 function onPrevClick(e) { 26201 e.preventDefault(); 26202 if (swiper.isBeginning && !swiper.params.loop && !swiper.params.rewind) return; 26203 swiper.slidePrev(); 26204 emit('navigationPrev'); 26205 } 26206 26207 function onNextClick(e) { 26208 e.preventDefault(); 26209 if (swiper.isEnd && !swiper.params.loop && !swiper.params.rewind) return; 26210 swiper.slideNext(); 26211 emit('navigationNext'); 26212 } 26213 26214 function init() { 26215 const params = swiper.params.navigation; 26216 swiper.params.navigation = (0,_shared_create_element_if_not_defined_js__WEBPACK_IMPORTED_MODULE_0__.default)(swiper, swiper.originalParams.navigation, swiper.params.navigation, { 26217 nextEl: 'swiper-button-next', 26218 prevEl: 'swiper-button-prev' 26219 }); 26220 if (!(params.nextEl || params.prevEl)) return; 26221 const $nextEl = getEl(params.nextEl); 26222 const $prevEl = getEl(params.prevEl); 26223 26224 if ($nextEl && $nextEl.length > 0) { 26225 $nextEl.on('click', onNextClick); 26226 } 26227 26228 if ($prevEl && $prevEl.length > 0) { 26229 $prevEl.on('click', onPrevClick); 26230 } 26231 26232 Object.assign(swiper.navigation, { 26233 $nextEl, 26234 nextEl: $nextEl && $nextEl[0], 26235 $prevEl, 26236 prevEl: $prevEl && $prevEl[0] 26237 }); 26238 26239 if (!swiper.enabled) { 26240 if ($nextEl) $nextEl.addClass(params.lockClass); 26241 if ($prevEl) $prevEl.addClass(params.lockClass); 26242 } 26243 } 26244 26245 function destroy() { 26246 const { 26247 $nextEl, 26248 $prevEl 26249 } = swiper.navigation; 26250 26251 if ($nextEl && $nextEl.length) { 26252 $nextEl.off('click', onNextClick); 26253 $nextEl.removeClass(swiper.params.navigation.disabledClass); 26254 } 26255 26256 if ($prevEl && $prevEl.length) { 26257 $prevEl.off('click', onPrevClick); 26258 $prevEl.removeClass(swiper.params.navigation.disabledClass); 26259 } 26260 } 26261 26262 on('init', () => { 26263 if (swiper.params.navigation.enabled === false) { 26264 // eslint-disable-next-line 26265 disable(); 26266 } else { 26267 init(); 26268 update(); 26269 } 26270 }); 26271 on('toEdge fromEdge lock unlock', () => { 26272 update(); 26273 }); 26274 on('destroy', () => { 26275 destroy(); 26276 }); 26277 on('enable disable', () => { 26278 const { 26279 $nextEl, 26280 $prevEl 26281 } = swiper.navigation; 26282 26283 if ($nextEl) { 26284 $nextEl[swiper.enabled ? 'removeClass' : 'addClass'](swiper.params.navigation.lockClass); 26285 } 26286 26287 if ($prevEl) { 26288 $prevEl[swiper.enabled ? 'removeClass' : 'addClass'](swiper.params.navigation.lockClass); 26289 } 26290 }); 26291 on('click', (_s, e) => { 26292 const { 26293 $nextEl, 26294 $prevEl 26295 } = swiper.navigation; 26296 const targetEl = e.target; 26297 26298 if (swiper.params.navigation.hideOnClick && !(0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__.default)(targetEl).is($prevEl) && !(0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__.default)(targetEl).is($nextEl)) { 26299 if (swiper.pagination && swiper.params.pagination && swiper.params.pagination.clickable && (swiper.pagination.el === targetEl || swiper.pagination.el.contains(targetEl))) return; 26300 let isHidden; 26301 26302 if ($nextEl) { 26303 isHidden = $nextEl.hasClass(swiper.params.navigation.hiddenClass); 26304 } else if ($prevEl) { 26305 isHidden = $prevEl.hasClass(swiper.params.navigation.hiddenClass); 26306 } 26307 26308 if (isHidden === true) { 26309 emit('navigationShow'); 26310 } else { 26311 emit('navigationHide'); 26312 } 26313 26314 if ($nextEl) { 26315 $nextEl.toggleClass(swiper.params.navigation.hiddenClass); 26316 } 26317 26318 if ($prevEl) { 26319 $prevEl.toggleClass(swiper.params.navigation.hiddenClass); 26320 } 26321 } 26322 }); 26323 26324 const enable = () => { 26325 swiper.$el.removeClass(swiper.params.navigation.navigationDisabledClass); 26326 init(); 26327 update(); 26328 }; 26329 26330 const disable = () => { 26331 swiper.$el.addClass(swiper.params.navigation.navigationDisabledClass); 26332 destroy(); 26333 }; 26334 26335 Object.assign(swiper.navigation, { 26336 enable, 26337 disable, 26338 update, 26339 init, 26340 destroy 26341 }); 26342} 26343 26344/***/ }), 26345
vendor: 16,449 bytes, lines 26346-26807
26346/***/ "./node_modules/swiper/modules/pagination/pagination.js": 26347/*!**************************************************************!*\ 26348 !*** ./node_modules/swiper/modules/pagination/pagination.js ***! 26349 \**************************************************************/ 26350/*! namespace exports */ 26351/*! export default [provided] [no usage info] [missing usage info prevents renaming] */ 26352/*! other exports [not provided] [no usage info] */ 26353/*! runtime requirements: __webpack_require__, __webpack_require__.r, __webpack_exports__, __webpack_require__.d, __webpack_require__.* */ 26354/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 26355 26356"use strict"; 26357__webpack_require__.r(__webpack_exports__); 26358/* harmony export */ __webpack_require__.d(__webpack_exports__, { 26359/* harmony export */ "default": function() { return /* binding */ Pagination; } 26360/* harmony export */ }); 26361/* harmony import */ var _shared_dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/dom.js */ "./node_modules/swiper/shared/dom.js"); 26362/* harmony import */ var _shared_classes_to_selector_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/classes-to-selector.js */ "./node_modules/swiper/shared/classes-to-selector.js"); 26363/* harmony import */ var _shared_create_element_if_not_defined_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../shared/create-element-if-not-defined.js */ "./node_modules/swiper/shared/create-element-if-not-defined.js"); 26364; 26365 26366 26367function Pagination({ 26368 swiper, 26369 extendParams, 26370 on, 26371 emit 26372}) { 26373 const pfx = 'swiper-pagination'; 26374 extendParams({ 26375 pagination: { 26376 el: null, 26377 bulletElement: 'span', 26378 clickable: false, 26379 hideOnClick: false, 26380 renderBullet: null, 26381 renderProgressbar: null, 26382 renderFraction: null, 26383 renderCustom: null, 26384 progressbarOpposite: false, 26385 type: 'bullets', 26386 // 'bullets' or 'progressbar' or 'fraction' or 'custom' 26387 dynamicBullets: false, 26388 dynamicMainBullets: 1, 26389 formatFractionCurrent: number => number, 26390 formatFractionTotal: number => number, 26391 bulletClass: `${pfx}-bullet`, 26392 bulletActiveClass: `${pfx}-bullet-active`, 26393 modifierClass: `${pfx}-`, 26394 currentClass: `${pfx}-current`, 26395 totalClass: `${pfx}-total`, 26396 hiddenClass: `${pfx}-hidden`, 26397 progressbarFillClass: `${pfx}-progressbar-fill`, 26398 progressbarOppositeClass: `${pfx}-progressbar-opposite`, 26399 clickableClass: `${pfx}-clickable`, 26400 lockClass: `${pfx}-lock`, 26401 horizontalClass: `${pfx}-horizontal`, 26402 verticalClass: `${pfx}-vertical`, 26403 paginationDisabledClass: `${pfx}-disabled` 26404 } 26405 }); 26406 swiper.pagination = { 26407 el: null, 26408 $el: null, 26409 bullets: [] 26410 }; 26411 let bulletSize; 26412 let dynamicBulletIndex = 0; 26413 26414 function isPaginationDisabled() { 26415 return !swiper.params.pagination.el || !swiper.pagination.el || !swiper.pagination.$el || swiper.pagination.$el.length === 0; 26416 } 26417 26418 function setSideBullets($bulletEl, position) { 26419 const { 26420 bulletActiveClass 26421 } = swiper.params.pagination; 26422 $bulletEl[position]().addClass(`${bulletActiveClass}-${position}`)[position]().addClass(`${bulletActiveClass}-${position}-${position}`); 26423 } 26424 26425 function update() { 26426 // Render || Update Pagination bullets/items 26427 const rtl = swiper.rtl; 26428 const params = swiper.params.pagination; 26429 if (isPaginationDisabled()) return; 26430 const slidesLength = swiper.virtual && swiper.params.virtual.enabled ? swiper.virtual.slides.length : swiper.slides.length; 26431 const $el = swiper.pagination.$el; // Current/Total 26432 26433 let current; 26434 const total = swiper.params.loop ? Math.ceil((slidesLength - swiper.loopedSlides * 2) / swiper.params.slidesPerGroup) : swiper.snapGrid.length; 26435 26436 if (swiper.params.loop) { 26437 current = Math.ceil((swiper.activeIndex - swiper.loopedSlides) / swiper.params.slidesPerGroup); 26438 26439 if (current > slidesLength - 1 - swiper.loopedSlides * 2) { 26440 current -= slidesLength - swiper.loopedSlides * 2; 26441 } 26442 26443 if (current > total - 1) current -= total; 26444 if (current < 0 && swiper.params.paginationType !== 'bullets') current = total + current; 26445 } else if (typeof swiper.snapIndex !== 'undefined') { 26446 current = swiper.snapIndex; 26447 } else { 26448 current = swiper.activeIndex || 0; 26449 } // Types 26450 26451 26452 if (params.type === 'bullets' && swiper.pagination.bullets && swiper.pagination.bullets.length > 0) { 26453 const bullets = swiper.pagination.bullets; 26454 let firstIndex; 26455 let lastIndex; 26456 let midIndex; 26457 26458 if (params.dynamicBullets) { 26459 bulletSize = bullets.eq(0)[swiper.isHorizontal() ? 'outerWidth' : 'outerHeight'](true); 26460 $el.css(swiper.isHorizontal() ? 'width' : 'height', `${bulletSize * (params.dynamicMainBullets + 4)}px`); 26461 26462 if (params.dynamicMainBullets > 1 && swiper.previousIndex !== undefined) { 26463 dynamicBulletIndex += current - (swiper.previousIndex - swiper.loopedSlides || 0); 26464 26465 if (dynamicBulletIndex > params.dynamicMainBullets - 1) { 26466 dynamicBulletIndex = params.dynamicMainBullets - 1; 26467 } else if (dynamicBulletIndex < 0) { 26468 dynamicBulletIndex = 0; 26469 } 26470 } 26471 26472 firstIndex = Math.max(current - dynamicBulletIndex, 0); 26473 lastIndex = firstIndex + (Math.min(bullets.length, params.dynamicMainBullets) - 1); 26474 midIndex = (lastIndex + firstIndex) / 2; 26475 } 26476 26477 bullets.removeClass(['', '-next', '-next-next', '-prev', '-prev-prev', '-main'].map(suffix => `${params.bulletActiveClass}${suffix}`).join(' ')); 26478 26479 if ($el.length > 1) { 26480 bullets.each(bullet => { 26481 const $bullet = (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_0__.default)(bullet); 26482 const bulletIndex = $bullet.index(); 26483 26484 if (bulletIndex === current) { 26485 $bullet.addClass(params.bulletActiveClass); 26486 } 26487 26488 if (params.dynamicBullets) { 26489 if (bulletIndex >= firstIndex && bulletIndex <= lastIndex) { 26490 $bullet.addClass(`${params.bulletActiveClass}-main`); 26491 } 26492 26493 if (bulletIndex === firstIndex) { 26494 setSideBullets($bullet, 'prev'); 26495 } 26496 26497 if (bulletIndex === lastIndex) { 26498 setSideBullets($bullet, 'next'); 26499 } 26500 } 26501 }); 26502 } else { 26503 const $bullet = bullets.eq(current); 26504 const bulletIndex = $bullet.index(); 26505 $bullet.addClass(params.bulletActiveClass); 26506 26507 if (params.dynamicBullets) { 26508 const $firstDisplayedBullet = bullets.eq(firstIndex); 26509 const $lastDisplayedBullet = bullets.eq(lastIndex); 26510 26511 for (let i = firstIndex; i <= lastIndex; i += 1) { 26512 bullets.eq(i).addClass(`${params.bulletActiveClass}-main`); 26513 } 26514 26515 if (swiper.params.loop) { 26516 if (bulletIndex >= bullets.length) { 26517 for (let i = params.dynamicMainBullets; i >= 0; i -= 1) { 26518 bullets.eq(bullets.length - i).addClass(`${params.bulletActiveClass}-main`); 26519 } 26520 26521 bullets.eq(bullets.length - params.dynamicMainBullets - 1).addClass(`${params.bulletActiveClass}-prev`); 26522 } else { 26523 setSideBullets($firstDisplayedBullet, 'prev'); 26524 setSideBullets($lastDisplayedBullet, 'next'); 26525 } 26526 } else { 26527 setSideBullets($firstDisplayedBullet, 'prev'); 26528 setSideBullets($lastDisplayedBullet, 'next'); 26529 } 26530 } 26531 } 26532 26533 if (params.dynamicBullets) { 26534 const dynamicBulletsLength = Math.min(bullets.length, params.dynamicMainBullets + 4); 26535 const bulletsOffset = (bulletSize * dynamicBulletsLength - bulletSize) / 2 - midIndex * bulletSize; 26536 const offsetProp = rtl ? 'right' : 'left'; 26537 bullets.css(swiper.isHorizontal() ? offsetProp : 'top', `${bulletsOffset}px`); 26538 } 26539 } 26540 26541 if (params.type === 'fraction') { 26542 $el.find((0,_shared_classes_to_selector_js__WEBPACK_IMPORTED_MODULE_1__.default)(params.currentClass)).text(params.formatFractionCurrent(current + 1)); 26543 $el.find((0,_shared_classes_to_selector_js__WEBPACK_IMPORTED_MODULE_1__.default)(params.totalClass)).text(params.formatFractionTotal(total)); 26544 } 26545 26546 if (params.type === 'progressbar') { 26547 let progressbarDirection; 26548 26549 if (params.progressbarOpposite) { 26550 progressbarDirection = swiper.isHorizontal() ? 'vertical' : 'horizontal'; 26551 } else { 26552 progressbarDirection = swiper.isHorizontal() ? 'horizontal' : 'vertical'; 26553 } 26554 26555 const scale = (current + 1) / total; 26556 let scaleX = 1; 26557 let scaleY = 1; 26558 26559 if (progressbarDirection === 'horizontal') { 26560 scaleX = scale; 26561 } else { 26562 scaleY = scale; 26563 } 26564 26565 $el.find((0,_shared_classes_to_selector_js__WEBPACK_IMPORTED_MODULE_1__.default)(params.progressbarFillClass)).transform(`translate3d(0,0,0) scaleX(${scaleX}) scaleY(${scaleY})`).transition(swiper.params.speed); 26566 } 26567 26568 if (params.type === 'custom' && params.renderCustom) { 26569 $el.html(params.renderCustom(swiper, current + 1, total)); 26570 emit('paginationRender', $el[0]); 26571 } else { 26572 emit('paginationUpdate', $el[0]); 26573 } 26574 26575 if (swiper.params.watchOverflow && swiper.enabled) { 26576 $el[swiper.isLocked ? 'addClass' : 'removeClass'](params.lockClass); 26577 } 26578 } 26579 26580 function render() { 26581 // Render Container 26582 const params = swiper.params.pagination; 26583 if (isPaginationDisabled()) return; 26584 const slidesLength = swiper.virtual && swiper.params.virtual.enabled ? swiper.virtual.slides.length : swiper.slides.length; 26585 const $el = swiper.pagination.$el; 26586 let paginationHTML = ''; 26587 26588 if (params.type === 'bullets') { 26589 let numberOfBullets = swiper.params.loop ? Math.ceil((slidesLength - swiper.loopedSlides * 2) / swiper.params.slidesPerGroup) : swiper.snapGrid.length; 26590 26591 if (swiper.params.freeMode && swiper.params.freeMode.enabled && !swiper.params.loop && numberOfBullets > slidesLength) { 26592 numberOfBullets = slidesLength; 26593 } 26594 26595 for (let i = 0; i < numberOfBullets; i += 1) { 26596 if (params.renderBullet) { 26597 paginationHTML += params.renderBullet.call(swiper, i, params.bulletClass); 26598 } else { 26599 paginationHTML += `<${params.bulletElement} class="${params.bulletClass}"></${params.bulletElement}>`; 26600 } 26601 } 26602 26603 $el.html(paginationHTML); 26604 swiper.pagination.bullets = $el.find((0,_shared_classes_to_selector_js__WEBPACK_IMPORTED_MODULE_1__.default)(params.bulletClass)); 26605 } 26606 26607 if (params.type === 'fraction') { 26608 if (params.renderFraction) { 26609 paginationHTML = params.renderFraction.call(swiper, params.currentClass, params.totalClass); 26610 } else { 26611 paginationHTML = `<span class="${params.currentClass}"></span>` + ' / ' + `<span class="${params.totalClass}"></span>`; 26612 } 26613 26614 $el.html(paginationHTML); 26615 } 26616 26617 if (params.type === 'progressbar') { 26618 if (params.renderProgressbar) { 26619 paginationHTML = params.renderProgressbar.call(swiper, params.progressbarFillClass); 26620 } else { 26621 paginationHTML = `<span class="${params.progressbarFillClass}"></span>`; 26622 } 26623 26624 $el.html(paginationHTML); 26625 } 26626 26627 if (params.type !== 'custom') { 26628 emit('paginationRender', swiper.pagination.$el[0]); 26629 } 26630 } 26631 26632 function init() { 26633 swiper.params.pagination = (0,_shared_create_element_if_not_defined_js__WEBPACK_IMPORTED_MODULE_2__.default)(swiper, swiper.originalParams.pagination, swiper.params.pagination, { 26634 el: 'swiper-pagination' 26635 }); 26636 const params = swiper.params.pagination; 26637 if (!params.el) return; 26638 let $el = (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_0__.default)(params.el); 26639 if ($el.length === 0) return; 26640 26641 if (swiper.params.uniqueNavElements && typeof params.el === 'string' && $el.length > 1) { 26642 $el = swiper.$el.find(params.el); // check if it belongs to another nested Swiper 26643 26644 if ($el.length > 1) { 26645 $el = $el.filter(el => { 26646 if ((0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_0__.default)(el).parents('.swiper')[0] !== swiper.el) return false; 26647 return true; 26648 }); 26649 } 26650 } 26651 26652 if (params.type === 'bullets' && params.clickable) { 26653 $el.addClass(params.clickableClass); 26654 } 26655 26656 $el.addClass(params.modifierClass + params.type); 26657 $el.addClass(swiper.isHorizontal() ? params.horizontalClass : params.verticalClass); 26658 26659 if (params.type === 'bullets' && params.dynamicBullets) { 26660 $el.addClass(`${params.modifierClass}${params.type}-dynamic`); 26661 dynamicBulletIndex = 0; 26662 26663 if (params.dynamicMainBullets < 1) { 26664 params.dynamicMainBullets = 1; 26665 } 26666 } 26667 26668 if (params.type === 'progressbar' && params.progressbarOpposite) { 26669 $el.addClass(params.progressbarOppositeClass); 26670 } 26671 26672 if (params.clickable) { 26673 $el.on('click', (0,_shared_classes_to_selector_js__WEBPACK_IMPORTED_MODULE_1__.default)(params.bulletClass), function onClick(e) { 26674 e.preventDefault(); 26675 let index = (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_0__.default)(this).index() * swiper.params.slidesPerGroup; 26676 if (swiper.params.loop) index += swiper.loopedSlides; 26677 swiper.slideTo(index); 26678 }); 26679 } 26680 26681 Object.assign(swiper.pagination, { 26682 $el, 26683 el: $el[0] 26684 }); 26685 26686 if (!swiper.enabled) { 26687 $el.addClass(params.lockClass); 26688 } 26689 } 26690 26691 function destroy() { 26692 const params = swiper.params.pagination; 26693 if (isPaginationDisabled()) return; 26694 const $el = swiper.pagination.$el; 26695 $el.removeClass(params.hiddenClass); 26696 $el.removeClass(params.modifierClass + params.type); 26697 $el.removeClass(swiper.isHorizontal() ? params.horizontalClass : params.verticalClass); 26698 if (swiper.pagination.bullets && swiper.pagination.bullets.removeClass) swiper.pagination.bullets.removeClass(params.bulletActiveClass); 26699 26700 if (params.clickable) { 26701 $el.off('click', (0,_shared_classes_to_selector_js__WEBPACK_IMPORTED_MODULE_1__.default)(params.bulletClass)); 26702 } 26703 } 26704 26705 on('init', () => { 26706 if (swiper.params.pagination.enabled === false) { 26707 // eslint-disable-next-line 26708 disable(); 26709 } else { 26710 init(); 26711 render(); 26712 update(); 26713 } 26714 }); 26715 on('activeIndexChange', () => { 26716 if (swiper.params.loop) { 26717 update(); 26718 } else if (typeof swiper.snapIndex === 'undefined') { 26719 update(); 26720 } 26721 }); 26722 on('snapIndexChange', () => { 26723 if (!swiper.params.loop) { 26724 update(); 26725 } 26726 }); 26727 on('slidesLengthChange', () => { 26728 if (swiper.params.loop) { 26729 render(); 26730 update(); 26731 } 26732 }); 26733 on('snapGridLengthChange', () => { 26734 if (!swiper.params.loop) { 26735 render(); 26736 update(); 26737 } 26738 }); 26739 on('destroy', () => { 26740 destroy(); 26741 }); 26742 on('enable disable', () => { 26743 const { 26744 $el 26745 } = swiper.pagination; 26746 26747 if ($el) { 26748 $el[swiper.enabled ? 'removeClass' : 'addClass'](swiper.params.pagination.lockClass); 26749 } 26750 }); 26751 on('lock unlock', () => { 26752 update(); 26753 }); 26754 on('click', (_s, e) => { 26755 const targetEl = e.target; 26756 const { 26757 $el 26758 } = swiper.pagination; 26759 26760 if (swiper.params.pagination.el && swiper.params.pagination.hideOnClick && $el && $el.length > 0 && !(0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_0__.default)(targetEl).hasClass(swiper.params.pagination.bulletClass)) { 26761 if (swiper.navigation && (swiper.navigation.nextEl && targetEl === swiper.navigation.nextEl || swiper.navigation.prevEl && targetEl === swiper.navigation.prevEl)) return; 26762 const isHidden = $el.hasClass(swiper.params.pagination.hiddenClass); 26763 26764 if (isHidden === true) { 26765 emit('paginationShow'); 26766 } else { 26767 emit('paginationHide'); 26768 } 26769 26770 $el.toggleClass(swiper.params.pagination.hiddenClass); 26771 } 26772 }); 26773 26774 const enable = () => { 26775 swiper.$el.removeClass(swiper.params.pagination.paginationDisabledClass); 26776 26777 if (swiper.pagination.$el) { 26778 swiper.pagination.$el.removeClass(swiper.params.pagination.paginationDisabledClass); 26779 } 26780 26781 init(); 26782 render(); 26783 update(); 26784 }; 26785 26786 const disable = () => { 26787 swiper.$el.addClass(swiper.params.pagination.paginationDisabledClass); 26788 26789 if (swiper.pagination.$el) { 26790 swiper.pagination.$el.addClass(swiper.params.pagination.paginationDisabledClass); 26791 } 26792 26793 destroy(); 26794 }; 26795 26796 Object.assign(swiper.pagination, { 26797 enable, 26798 disable, 26799 render, 26800 update, 26801 init, 26802 destroy 26803 }); 26804} 26805 26806/***/ }), 26807
vendor: 4,632 bytes, lines 26808-26940
26808/***/ "./node_modules/swiper/modules/parallax/parallax.js": 26809/*!**********************************************************!*\ 26810 !*** ./node_modules/swiper/modules/parallax/parallax.js ***! 26811 \**********************************************************/ 26812/*! namespace exports */ 26813/*! export default [provided] [no usage info] [missing usage info prevents renaming] */ 26814/*! other exports [not provided] [no usage info] */ 26815/*! runtime requirements: __webpack_require__, __webpack_require__.r, __webpack_exports__, __webpack_require__.d, __webpack_require__.* */ 26816/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 26817 26818"use strict"; 26819__webpack_require__.r(__webpack_exports__); 26820/* harmony export */ __webpack_require__.d(__webpack_exports__, { 26821/* harmony export */ "default": function() { return /* binding */ Parallax; } 26822/* harmony export */ }); 26823/* harmony import */ var _shared_dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/dom.js */ "./node_modules/swiper/shared/dom.js"); 26824; 26825function Parallax({ 26826 swiper, 26827 extendParams, 26828 on 26829}) { 26830 extendParams({ 26831 parallax: { 26832 enabled: false 26833 } 26834 }); 26835 26836 const setTransform = (el, progress) => { 26837 const { 26838 rtl 26839 } = swiper; 26840 const $el = (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_0__.default)(el); 26841 const rtlFactor = rtl ? -1 : 1; 26842 const p = $el.attr('data-swiper-parallax') || '0'; 26843 let x = $el.attr('data-swiper-parallax-x'); 26844 let y = $el.attr('data-swiper-parallax-y'); 26845 const scale = $el.attr('data-swiper-parallax-scale'); 26846 const opacity = $el.attr('data-swiper-parallax-opacity'); 26847 26848 if (x || y) { 26849 x = x || '0'; 26850 y = y || '0'; 26851 } else if (swiper.isHorizontal()) { 26852 x = p; 26853 y = '0'; 26854 } else { 26855 y = p; 26856 x = '0'; 26857 } 26858 26859 if (x.indexOf('%') >= 0) { 26860 x = `${parseInt(x, 10) * progress * rtlFactor}%`; 26861 } else { 26862 x = `${x * progress * rtlFactor}px`; 26863 } 26864 26865 if (y.indexOf('%') >= 0) { 26866 y = `${parseInt(y, 10) * progress}%`; 26867 } else { 26868 y = `${y * progress}px`; 26869 } 26870 26871 if (typeof opacity !== 'undefined' && opacity !== null) { 26872 const currentOpacity = opacity - (opacity - 1) * (1 - Math.abs(progress)); 26873 $el[0].style.opacity = currentOpacity; 26874 } 26875 26876 if (typeof scale === 'undefined' || scale === null) { 26877 $el.transform(`translate3d(${x}, ${y}, 0px)`); 26878 } else { 26879 const currentScale = scale - (scale - 1) * (1 - Math.abs(progress)); 26880 $el.transform(`translate3d(${x}, ${y}, 0px) scale(${currentScale})`); 26881 } 26882 }; 26883 26884 const setTranslate = () => { 26885 const { 26886 $el, 26887 slides, 26888 progress, 26889 snapGrid 26890 } = swiper; 26891 $el.children('[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]').each(el => { 26892 setTransform(el, progress); 26893 }); 26894 slides.each((slideEl, slideIndex) => { 26895 let slideProgress = slideEl.progress; 26896 26897 if (swiper.params.slidesPerGroup > 1 && swiper.params.slidesPerView !== 'auto') { 26898 slideProgress += Math.ceil(slideIndex / 2) - progress * (snapGrid.length - 1); 26899 } 26900 26901 slideProgress = Math.min(Math.max(slideProgress, -1), 1); 26902 (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_0__.default)(slideEl).find('[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]').each(el => { 26903 setTransform(el, slideProgress); 26904 }); 26905 }); 26906 }; 26907 26908 const setTransition = (duration = swiper.params.speed) => { 26909 const { 26910 $el 26911 } = swiper; 26912 $el.find('[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]').each(parallaxEl => { 26913 const $parallaxEl = (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_0__.default)(parallaxEl); 26914 let parallaxDuration = parseInt($parallaxEl.attr('data-swiper-parallax-duration'), 10) || duration; 26915 if (duration === 0) parallaxDuration = 0; 26916 $parallaxEl.transition(parallaxDuration); 26917 }); 26918 }; 26919 26920 on('beforeInit', () => { 26921 if (!swiper.params.parallax.enabled) return; 26922 swiper.params.watchSlidesProgress = true; 26923 swiper.originalParams.watchSlidesProgress = true; 26924 }); 26925 on('init', () => { 26926 if (!swiper.params.parallax.enabled) return; 26927 setTranslate(); 26928 }); 26929 on('setTranslate', () => { 26930 if (!swiper.params.parallax.enabled) return; 26931 setTranslate(); 26932 }); 26933 on('setTransition', (_swiper, duration) => { 26934 if (!swiper.params.parallax.enabled) return; 26935 setTransition(duration); 26936 }); 26937} 26938 26939/***/ }), 26940
vendor: 12,082 bytes, lines 26941-27365
26941/***/ "./node_modules/swiper/modules/scrollbar/scrollbar.js": 26942/*!************************************************************!*\ 26943 !*** ./node_modules/swiper/modules/scrollbar/scrollbar.js ***! 26944 \************************************************************/ 26945/*! namespace exports */ 26946/*! export default [provided] [no usage info] [missing usage info prevents renaming] */ 26947/*! other exports [not provided] [no usage info] */ 26948/*! runtime requirements: __webpack_require__, __webpack_require__.r, __webpack_exports__, __webpack_require__.d, __webpack_require__.* */ 26949/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 26950 26951"use strict"; 26952__webpack_require__.r(__webpack_exports__); 26953/* harmony export */ __webpack_require__.d(__webpack_exports__, { 26954/* harmony export */ "default": function() { return /* binding */ Scrollbar; } 26955/* harmony export */ }); 26956/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ "./node_modules/ssr-window/ssr-window.esm.js"); 26957/* harmony import */ var _shared_dom_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/dom.js */ "./node_modules/swiper/shared/dom.js"); 26958/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../shared/utils.js */ "./node_modules/swiper/shared/utils.js"); 26959/* harmony import */ var _shared_create_element_if_not_defined_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../shared/create-element-if-not-defined.js */ "./node_modules/swiper/shared/create-element-if-not-defined.js"); 26960; 26961 26962 26963 26964function Scrollbar({ 26965 swiper, 26966 extendParams, 26967 on, 26968 emit 26969}) { 26970 const document = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getDocument)(); 26971 let isTouched = false; 26972 let timeout = null; 26973 let dragTimeout = null; 26974 let dragStartPos; 26975 let dragSize; 26976 let trackSize; 26977 let divider; 26978 extendParams({ 26979 scrollbar: { 26980 el: null, 26981 dragSize: 'auto', 26982 hide: false, 26983 draggable: false, 26984 snapOnRelease: true, 26985 lockClass: 'swiper-scrollbar-lock', 26986 dragClass: 'swiper-scrollbar-drag', 26987 scrollbarDisabledClass: 'swiper-scrollbar-disabled', 26988 horizontalClass: `swiper-scrollbar-horizontal`, 26989 verticalClass: `swiper-scrollbar-vertical` 26990 } 26991 }); 26992 swiper.scrollbar = { 26993 el: null, 26994 dragEl: null, 26995 $el: null, 26996 $dragEl: null 26997 }; 26998 26999 function setTranslate() { 27000 if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return; 27001 const { 27002 scrollbar, 27003 rtlTranslate: rtl, 27004 progress 27005 } = swiper; 27006 const { 27007 $dragEl, 27008 $el 27009 } = scrollbar; 27010 const params = swiper.params.scrollbar; 27011 let newSize = dragSize; 27012 let newPos = (trackSize - dragSize) * progress; 27013 27014 if (rtl) { 27015 newPos = -newPos; 27016 27017 if (newPos > 0) { 27018 newSize = dragSize - newPos; 27019 newPos = 0; 27020 } else if (-newPos + dragSize > trackSize) { 27021 newSize = trackSize + newPos; 27022 } 27023 } else if (newPos < 0) { 27024 newSize = dragSize + newPos; 27025 newPos = 0; 27026 } else if (newPos + dragSize > trackSize) { 27027 newSize = trackSize - newPos; 27028 } 27029 27030 if (swiper.isHorizontal()) { 27031 $dragEl.transform(`translate3d(${newPos}px, 0, 0)`); 27032 $dragEl[0].style.width = `${newSize}px`; 27033 } else { 27034 $dragEl.transform(`translate3d(0px, ${newPos}px, 0)`); 27035 $dragEl[0].style.height = `${newSize}px`; 27036 } 27037 27038 if (params.hide) { 27039 clearTimeout(timeout); 27040 $el[0].style.opacity = 1; 27041 timeout = setTimeout(() => { 27042 $el[0].style.opacity = 0; 27043 $el.transition(400); 27044 }, 1000); 27045 } 27046 } 27047 27048 function setTransition(duration) { 27049 if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return; 27050 swiper.scrollbar.$dragEl.transition(duration); 27051 } 27052 27053 function updateSize() { 27054 if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return; 27055 const { 27056 scrollbar 27057 } = swiper; 27058 const { 27059 $dragEl, 27060 $el 27061 } = scrollbar; 27062 $dragEl[0].style.width = ''; 27063 $dragEl[0].style.height = ''; 27064 trackSize = swiper.isHorizontal() ? $el[0].offsetWidth : $el[0].offsetHeight; 27065 divider = swiper.size / (swiper.virtualSize + swiper.params.slidesOffsetBefore - (swiper.params.centeredSlides ? swiper.snapGrid[0] : 0)); 27066 27067 if (swiper.params.scrollbar.dragSize === 'auto') { 27068 dragSize = trackSize * divider; 27069 } else { 27070 dragSize = parseInt(swiper.params.scrollbar.dragSize, 10); 27071 } 27072 27073 if (swiper.isHorizontal()) { 27074 $dragEl[0].style.width = `${dragSize}px`; 27075 } else { 27076 $dragEl[0].style.height = `${dragSize}px`; 27077 } 27078 27079 if (divider >= 1) { 27080 $el[0].style.display = 'none'; 27081 } else { 27082 $el[0].style.display = ''; 27083 } 27084 27085 if (swiper.params.scrollbar.hide) { 27086 $el[0].style.opacity = 0; 27087 } 27088 27089 if (swiper.params.watchOverflow && swiper.enabled) { 27090 scrollbar.$el[swiper.isLocked ? 'addClass' : 'removeClass'](swiper.params.scrollbar.lockClass); 27091 } 27092 } 27093 27094 function getPointerPosition(e) { 27095 if (swiper.isHorizontal()) { 27096 return e.type === 'touchstart' || e.type === 'touchmove' ? e.targetTouches[0].clientX : e.clientX; 27097 } 27098 27099 return e.type === 'touchstart' || e.type === 'touchmove' ? e.targetTouches[0].clientY : e.clientY; 27100 } 27101 27102 function setDragPosition(e) { 27103 const { 27104 scrollbar, 27105 rtlTranslate: rtl 27106 } = swiper; 27107 const { 27108 $el 27109 } = scrollbar; 27110 let positionRatio; 27111 positionRatio = (getPointerPosition(e) - $el.offset()[swiper.isHorizontal() ? 'left' : 'top'] - (dragStartPos !== null ? dragStartPos : dragSize / 2)) / (trackSize - dragSize); 27112 positionRatio = Math.max(Math.min(positionRatio, 1), 0); 27113 27114 if (rtl) { 27115 positionRatio = 1 - positionRatio; 27116 } 27117 27118 const position = swiper.minTranslate() + (swiper.maxTranslate() - swiper.minTranslate()) * positionRatio; 27119 swiper.updateProgress(position); 27120 swiper.setTranslate(position); 27121 swiper.updateActiveIndex(); 27122 swiper.updateSlidesClasses(); 27123 } 27124 27125 function onDragStart(e) { 27126 const params = swiper.params.scrollbar; 27127 const { 27128 scrollbar, 27129 $wrapperEl 27130 } = swiper; 27131 const { 27132 $el, 27133 $dragEl 27134 } = scrollbar; 27135 isTouched = true; 27136 dragStartPos = e.target === $dragEl[0] || e.target === $dragEl ? getPointerPosition(e) - e.target.getBoundingClientRect()[swiper.isHorizontal() ? 'left' : 'top'] : null; 27137 e.preventDefault(); 27138 e.stopPropagation(); 27139 $wrapperEl.transition(100); 27140 $dragEl.transition(100); 27141 setDragPosition(e); 27142 clearTimeout(dragTimeout); 27143 $el.transition(0); 27144 27145 if (params.hide) { 27146 $el.css('opacity', 1); 27147 } 27148 27149 if (swiper.params.cssMode) { 27150 swiper.$wrapperEl.css('scroll-snap-type', 'none'); 27151 } 27152 27153 emit('scrollbarDragStart', e); 27154 } 27155 27156 function onDragMove(e) { 27157 const { 27158 scrollbar, 27159 $wrapperEl 27160 } = swiper; 27161 const { 27162 $el, 27163 $dragEl 27164 } = scrollbar; 27165 if (!isTouched) return; 27166 if (e.preventDefault) e.preventDefault();else e.returnValue = false; 27167 setDragPosition(e); 27168 $wrapperEl.transition(0); 27169 $el.transition(0); 27170 $dragEl.transition(0); 27171 emit('scrollbarDragMove', e); 27172 } 27173 27174 function onDragEnd(e) { 27175 const params = swiper.params.scrollbar; 27176 const { 27177 scrollbar, 27178 $wrapperEl 27179 } = swiper; 27180 const { 27181 $el 27182 } = scrollbar; 27183 if (!isTouched) return; 27184 isTouched = false; 27185 27186 if (swiper.params.cssMode) { 27187 swiper.$wrapperEl.css('scroll-snap-type', ''); 27188 $wrapperEl.transition(''); 27189 } 27190 27191 if (params.hide) { 27192 clearTimeout(dragTimeout); 27193 dragTimeout = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_2__.nextTick)(() => { 27194 $el.css('opacity', 0); 27195 $el.transition(400); 27196 }, 1000); 27197 } 27198 27199 emit('scrollbarDragEnd', e); 27200 27201 if (params.snapOnRelease) { 27202 swiper.slideToClosest(); 27203 } 27204 } 27205 27206 function events(method) { 27207 const { 27208 scrollbar, 27209 touchEventsTouch, 27210 touchEventsDesktop, 27211 params, 27212 support 27213 } = swiper; 27214 const $el = scrollbar.$el; 27215 if (!$el) return; 27216 const target = $el[0]; 27217 const activeListener = support.passiveListener && params.passiveListeners ? { 27218 passive: false, 27219 capture: false 27220 } : false; 27221 const passiveListener = support.passiveListener && params.passiveListeners ? { 27222 passive: true, 27223 capture: false 27224 } : false; 27225 if (!target) return; 27226 const eventMethod = method === 'on' ? 'addEventListener' : 'removeEventListener'; 27227 27228 if (!support.touch) { 27229 target[eventMethod](touchEventsDesktop.start, onDragStart, activeListener); 27230 document[eventMethod](touchEventsDesktop.move, onDragMove, activeListener); 27231 document[eventMethod](touchEventsDesktop.end, onDragEnd, passiveListener); 27232 } else { 27233 target[eventMethod](touchEventsTouch.start, onDragStart, activeListener); 27234 target[eventMethod](touchEventsTouch.move, onDragMove, activeListener); 27235 target[eventMethod](touchEventsTouch.end, onDragEnd, passiveListener); 27236 } 27237 } 27238 27239 function enableDraggable() { 27240 if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return; 27241 events('on'); 27242 } 27243 27244 function disableDraggable() { 27245 if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return; 27246 events('off'); 27247 } 27248 27249 function init() { 27250 const { 27251 scrollbar, 27252 $el: $swiperEl 27253 } = swiper; 27254 swiper.params.scrollbar = (0,_shared_create_element_if_not_defined_js__WEBPACK_IMPORTED_MODULE_3__.default)(swiper, swiper.originalParams.scrollbar, swiper.params.scrollbar, { 27255 el: 'swiper-scrollbar' 27256 }); 27257 const params = swiper.params.scrollbar; 27258 if (!params.el) return; 27259 let $el = (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__.default)(params.el); 27260 27261 if (swiper.params.uniqueNavElements && typeof params.el === 'string' && $el.length > 1 && $swiperEl.find(params.el).length === 1) { 27262 $el = $swiperEl.find(params.el); 27263 } 27264 27265 $el.addClass(swiper.isHorizontal() ? params.horizontalClass : params.verticalClass); 27266 let $dragEl = $el.find(`.${swiper.params.scrollbar.dragClass}`); 27267 27268 if ($dragEl.length === 0) { 27269 $dragEl = (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__.default)(`<div class="${swiper.params.scrollbar.dragClass}"></div>`); 27270 $el.append($dragEl); 27271 } 27272 27273 Object.assign(scrollbar, { 27274 $el, 27275 el: $el[0], 27276 $dragEl, 27277 dragEl: $dragEl[0] 27278 }); 27279 27280 if (params.draggable) { 27281 enableDraggable(); 27282 } 27283 27284 if ($el) { 27285 $el[swiper.enabled ? 'removeClass' : 'addClass'](swiper.params.scrollbar.lockClass); 27286 } 27287 } 27288 27289 function destroy() { 27290 const params = swiper.params.scrollbar; 27291 const $el = swiper.scrollbar.$el; 27292 27293 if ($el) { 27294 $el.removeClass(swiper.isHorizontal() ? params.horizontalClass : params.verticalClass); 27295 } 27296 27297 disableDraggable(); 27298 } 27299 27300 on('init', () => { 27301 if (swiper.params.scrollbar.enabled === false) { 27302 // eslint-disable-next-line 27303 disable(); 27304 } else { 27305 init(); 27306 updateSize(); 27307 setTranslate(); 27308 } 27309 }); 27310 on('update resize observerUpdate lock unlock', () => { 27311 updateSize(); 27312 }); 27313 on('setTranslate', () => { 27314 setTranslate(); 27315 }); 27316 on('setTransition', (_s, duration) => { 27317 setTransition(duration); 27318 }); 27319 on('enable disable', () => { 27320 const { 27321 $el 27322 } = swiper.scrollbar; 27323 27324 if ($el) { 27325 $el[swiper.enabled ? 'removeClass' : 'addClass'](swiper.params.scrollbar.lockClass); 27326 } 27327 }); 27328 on('destroy', () => { 27329 destroy(); 27330 }); 27331 27332 const enable = () => { 27333 swiper.$el.removeClass(swiper.params.scrollbar.scrollbarDisabledClass); 27334 27335 if (swiper.scrollbar.$el) { 27336 swiper.scrollbar.$el.removeClass(swiper.params.scrollbar.scrollbarDisabledClass); 27337 } 27338 27339 init(); 27340 updateSize(); 27341 setTranslate(); 27342 }; 27343 27344 const disable = () => { 27345 swiper.$el.addClass(swiper.params.scrollbar.scrollbarDisabledClass); 27346 27347 if (swiper.scrollbar.$el) { 27348 swiper.scrollbar.$el.addClass(swiper.params.scrollbar.scrollbarDisabledClass); 27349 } 27350 27351 destroy(); 27352 }; 27353 27354 Object.assign(swiper.scrollbar, { 27355 enable, 27356 disable, 27357 updateSize, 27358 setTranslate, 27359 init, 27360 destroy 27361 }); 27362} 27363 27364/***/ }), 27365
vendor: 8,828 bytes, lines 27366-27588
27366/***/ "./node_modules/swiper/modules/thumbs/thumbs.js": 27367/*!******************************************************!*\ 27368 !*** ./node_modules/swiper/modules/thumbs/thumbs.js ***! 27369 \******************************************************/ 27370/*! namespace exports */ 27371/*! export default [provided] [no usage info] [missing usage info prevents renaming] */ 27372/*! other exports [not provided] [no usage info] */ 27373/*! runtime requirements: __webpack_require__, __webpack_require__.r, __webpack_exports__, __webpack_require__.d, __webpack_require__.* */ 27374/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 27375 27376"use strict"; 27377__webpack_require__.r(__webpack_exports__); 27378/* harmony export */ __webpack_require__.d(__webpack_exports__, { 27379/* harmony export */ "default": function() { return /* binding */ Thumb; } 27380/* harmony export */ }); 27381/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/utils.js */ "./node_modules/swiper/shared/utils.js"); 27382/* harmony import */ var _shared_dom_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/dom.js */ "./node_modules/swiper/shared/dom.js"); 27383; 27384 27385function Thumb({ 27386 swiper, 27387 extendParams, 27388 on 27389}) { 27390 extendParams({ 27391 thumbs: { 27392 swiper: null, 27393 multipleActiveThumbs: true, 27394 autoScrollOffset: 0, 27395 slideThumbActiveClass: 'swiper-slide-thumb-active', 27396 thumbsContainerClass: 'swiper-thumbs' 27397 } 27398 }); 27399 let initialized = false; 27400 let swiperCreated = false; 27401 swiper.thumbs = { 27402 swiper: null 27403 }; 27404 27405 function onThumbClick() { 27406 const thumbsSwiper = swiper.thumbs.swiper; 27407 if (!thumbsSwiper || thumbsSwiper.destroyed) return; 27408 const clickedIndex = thumbsSwiper.clickedIndex; 27409 const clickedSlide = thumbsSwiper.clickedSlide; 27410 if (clickedSlide && (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__.default)(clickedSlide).hasClass(swiper.params.thumbs.slideThumbActiveClass)) return; 27411 if (typeof clickedIndex === 'undefined' || clickedIndex === null) return; 27412 let slideToIndex; 27413 27414 if (thumbsSwiper.params.loop) { 27415 slideToIndex = parseInt((0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__.default)(thumbsSwiper.clickedSlide).attr('data-swiper-slide-index'), 10); 27416 } else { 27417 slideToIndex = clickedIndex; 27418 } 27419 27420 if (swiper.params.loop) { 27421 let currentIndex = swiper.activeIndex; 27422 27423 if (swiper.slides.eq(currentIndex).hasClass(swiper.params.slideDuplicateClass)) { 27424 swiper.loopFix(); // eslint-disable-next-line 27425 27426 swiper._clientLeft = swiper.$wrapperEl[0].clientLeft; 27427 currentIndex = swiper.activeIndex; 27428 } 27429 27430 const prevIndex = swiper.slides.eq(currentIndex).prevAll(`[data-swiper-slide-index="${slideToIndex}"]`).eq(0).index(); 27431 const nextIndex = swiper.slides.eq(currentIndex).nextAll(`[data-swiper-slide-index="${slideToIndex}"]`).eq(0).index(); 27432 if (typeof prevIndex === 'undefined') slideToIndex = nextIndex;else if (typeof nextIndex === 'undefined') slideToIndex = prevIndex;else if (nextIndex - currentIndex < currentIndex - prevIndex) slideToIndex = nextIndex;else slideToIndex = prevIndex; 27433 } 27434 27435 swiper.slideTo(slideToIndex); 27436 } 27437 27438 function init() { 27439 const { 27440 thumbs: thumbsParams 27441 } = swiper.params; 27442 if (initialized) return false; 27443 initialized = true; 27444 const SwiperClass = swiper.constructor; 27445 27446 if (thumbsParams.swiper instanceof SwiperClass) { 27447 swiper.thumbs.swiper = thumbsParams.swiper; 27448 Object.assign(swiper.thumbs.swiper.originalParams, { 27449 watchSlidesProgress: true, 27450 slideToClickedSlide: false 27451 }); 27452 Object.assign(swiper.thumbs.swiper.params, { 27453 watchSlidesProgress: true, 27454 slideToClickedSlide: false 27455 }); 27456 } else if ((0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.isObject)(thumbsParams.swiper)) { 27457 const thumbsSwiperParams = Object.assign({}, thumbsParams.swiper); 27458 Object.assign(thumbsSwiperParams, { 27459 watchSlidesProgress: true, 27460 slideToClickedSlide: false 27461 }); 27462 swiper.thumbs.swiper = new SwiperClass(thumbsSwiperParams); 27463 swiperCreated = true; 27464 } 27465 27466 swiper.thumbs.swiper.$el.addClass(swiper.params.thumbs.thumbsContainerClass); 27467 swiper.thumbs.swiper.on('tap', onThumbClick); 27468 return true; 27469 } 27470 27471 function update(initial) { 27472 const thumbsSwiper = swiper.thumbs.swiper; 27473 if (!thumbsSwiper || thumbsSwiper.destroyed) return; 27474 const slidesPerView = thumbsSwiper.params.slidesPerView === 'auto' ? thumbsSwiper.slidesPerViewDynamic() : thumbsSwiper.params.slidesPerView; // Activate thumbs 27475 27476 let thumbsToActivate = 1; 27477 const thumbActiveClass = swiper.params.thumbs.slideThumbActiveClass; 27478 27479 if (swiper.params.slidesPerView > 1 && !swiper.params.centeredSlides) { 27480 thumbsToActivate = swiper.params.slidesPerView; 27481 } 27482 27483 if (!swiper.params.thumbs.multipleActiveThumbs) { 27484 thumbsToActivate = 1; 27485 } 27486 27487 thumbsToActivate = Math.floor(thumbsToActivate); 27488 thumbsSwiper.slides.removeClass(thumbActiveClass); 27489 27490 if (thumbsSwiper.params.loop || thumbsSwiper.params.virtual && thumbsSwiper.params.virtual.enabled) { 27491 for (let i = 0; i < thumbsToActivate; i += 1) { 27492 thumbsSwiper.$wrapperEl.children(`[data-swiper-slide-index="${swiper.realIndex + i}"]`).addClass(thumbActiveClass); 27493 } 27494 } else { 27495 for (let i = 0; i < thumbsToActivate; i += 1) { 27496 thumbsSwiper.slides.eq(swiper.realIndex + i).addClass(thumbActiveClass); 27497 } 27498 } 27499 27500 const autoScrollOffset = swiper.params.thumbs.autoScrollOffset; 27501 const useOffset = autoScrollOffset && !thumbsSwiper.params.loop; 27502 27503 if (swiper.realIndex !== thumbsSwiper.realIndex || useOffset) { 27504 let currentThumbsIndex = thumbsSwiper.activeIndex; 27505 let newThumbsIndex; 27506 let direction; 27507 27508 if (thumbsSwiper.params.loop) { 27509 if (thumbsSwiper.slides.eq(currentThumbsIndex).hasClass(thumbsSwiper.params.slideDuplicateClass)) { 27510 thumbsSwiper.loopFix(); // eslint-disable-next-line 27511 27512 thumbsSwiper._clientLeft = thumbsSwiper.$wrapperEl[0].clientLeft; 27513 currentThumbsIndex = thumbsSwiper.activeIndex; 27514 } // Find actual thumbs index to slide to 27515 27516 27517 const prevThumbsIndex = thumbsSwiper.slides.eq(currentThumbsIndex).prevAll(`[data-swiper-slide-index="${swiper.realIndex}"]`).eq(0).index(); 27518 const nextThumbsIndex = thumbsSwiper.slides.eq(currentThumbsIndex).nextAll(`[data-swiper-slide-index="${swiper.realIndex}"]`).eq(0).index(); 27519 27520 if (typeof prevThumbsIndex === 'undefined') { 27521 newThumbsIndex = nextThumbsIndex; 27522 } else if (typeof nextThumbsIndex === 'undefined') { 27523 newThumbsIndex = prevThumbsIndex; 27524 } else if (nextThumbsIndex - currentThumbsIndex === currentThumbsIndex - prevThumbsIndex) { 27525 newThumbsIndex = thumbsSwiper.params.slidesPerGroup > 1 ? nextThumbsIndex : currentThumbsIndex; 27526 } else if (nextThumbsIndex - currentThumbsIndex < currentThumbsIndex - prevThumbsIndex) { 27527 newThumbsIndex = nextThumbsIndex; 27528 } else { 27529 newThumbsIndex = prevThumbsIndex; 27530 } 27531 27532 direction = swiper.activeIndex > swiper.previousIndex ? 'next' : 'prev'; 27533 } else { 27534 newThumbsIndex = swiper.realIndex; 27535 direction = newThumbsIndex > swiper.previousIndex ? 'next' : 'prev'; 27536 } 27537 27538 if (useOffset) { 27539 newThumbsIndex += direction === 'next' ? autoScrollOffset : -1 * autoScrollOffset; 27540 } 27541 27542 if (thumbsSwiper.visibleSlidesIndexes && thumbsSwiper.visibleSlidesIndexes.indexOf(newThumbsIndex) < 0) { 27543 if (thumbsSwiper.params.centeredSlides) { 27544 if (newThumbsIndex > currentThumbsIndex) { 27545 newThumbsIndex = newThumbsIndex - Math.floor(slidesPerView / 2) + 1; 27546 } else { 27547 newThumbsIndex = newThumbsIndex + Math.floor(slidesPerView / 2) - 1; 27548 } 27549 } else if (newThumbsIndex > currentThumbsIndex && thumbsSwiper.params.slidesPerGroup === 1) {// newThumbsIndex = newThumbsIndex - slidesPerView + 1; 27550 } 27551 27552 thumbsSwiper.slideTo(newThumbsIndex, initial ? 0 : undefined); 27553 } 27554 } 27555 } 27556 27557 on('beforeInit', () => { 27558 const { 27559 thumbs 27560 } = swiper.params; 27561 if (!thumbs || !thumbs.swiper) return; 27562 init(); 27563 update(true); 27564 }); 27565 on('slideChange update resize observerUpdate', () => { 27566 update(); 27567 }); 27568 on('setTransition', (_s, duration) => { 27569 const thumbsSwiper = swiper.thumbs.swiper; 27570 if (!thumbsSwiper || thumbsSwiper.destroyed) return; 27571 thumbsSwiper.setTransition(duration); 27572 }); 27573 on('beforeDestroy', () => { 27574 const thumbsSwiper = swiper.thumbs.swiper; 27575 if (!thumbsSwiper || thumbsSwiper.destroyed) return; 27576 27577 if (swiperCreated) { 27578 thumbsSwiper.destroy(); 27579 } 27580 }); 27581 Object.assign(swiper.thumbs, { 27582 init, 27583 update 27584 }); 27585} 27586 27587/***/ }), 27588
vendor: 9,388 bytes, lines 27589-27905
27589/***/ "./node_modules/swiper/modules/virtual/virtual.js": 27590/*!********************************************************!*\ 27591 !*** ./node_modules/swiper/modules/virtual/virtual.js ***! 27592 \********************************************************/ 27593/*! namespace exports */ 27594/*! export default [provided] [no usage info] [missing usage info prevents renaming] */ 27595/*! other exports [not provided] [no usage info] */ 27596/*! runtime requirements: __webpack_require__, __webpack_require__.r, __webpack_exports__, __webpack_require__.d, __webpack_require__.* */ 27597/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 27598 27599"use strict"; 27600__webpack_require__.r(__webpack_exports__); 27601/* harmony export */ __webpack_require__.d(__webpack_exports__, { 27602/* harmony export */ "default": function() { return /* binding */ Virtual; } 27603/* harmony export */ }); 27604/* harmony import */ var _shared_dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/dom.js */ "./node_modules/swiper/shared/dom.js"); 27605/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/utils.js */ "./node_modules/swiper/shared/utils.js"); 27606; 27607 27608function Virtual({ 27609 swiper, 27610 extendParams, 27611 on, 27612 emit 27613}) { 27614 extendParams({ 27615 virtual: { 27616 enabled: false, 27617 slides: [], 27618 cache: true, 27619 renderSlide: null, 27620 renderExternal: null, 27621 renderExternalUpdate: true, 27622 addSlidesBefore: 0, 27623 addSlidesAfter: 0 27624 } 27625 }); 27626 let cssModeTimeout; 27627 swiper.virtual = { 27628 cache: {}, 27629 from: undefined, 27630 to: undefined, 27631 slides: [], 27632 offset: 0, 27633 slidesGrid: [] 27634 }; 27635 27636 function renderSlide(slide, index) { 27637 const params = swiper.params.virtual; 27638 27639 if (params.cache && swiper.virtual.cache[index]) { 27640 return swiper.virtual.cache[index]; 27641 } 27642 27643 const $slideEl = params.renderSlide ? (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_0__.default)(params.renderSlide.call(swiper, slide, index)) : (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_0__.default)(`<div class="${swiper.params.slideClass}" data-swiper-slide-index="${index}">${slide}</div>`); 27644 if (!$slideEl.attr('data-swiper-slide-index')) $slideEl.attr('data-swiper-slide-index', index); 27645 if (params.cache) swiper.virtual.cache[index] = $slideEl; 27646 return $slideEl; 27647 } 27648 27649 function update(force) { 27650 const { 27651 slidesPerView, 27652 slidesPerGroup, 27653 centeredSlides 27654 } = swiper.params; 27655 const { 27656 addSlidesBefore, 27657 addSlidesAfter 27658 } = swiper.params.virtual; 27659 const { 27660 from: previousFrom, 27661 to: previousTo, 27662 slides, 27663 slidesGrid: previousSlidesGrid, 27664 offset: previousOffset 27665 } = swiper.virtual; 27666 27667 if (!swiper.params.cssMode) { 27668 swiper.updateActiveIndex(); 27669 } 27670 27671 const activeIndex = swiper.activeIndex || 0; 27672 let offsetProp; 27673 if (swiper.rtlTranslate) offsetProp = 'right';else offsetProp = swiper.isHorizontal() ? 'left' : 'top'; 27674 let slidesAfter; 27675 let slidesBefore; 27676 27677 if (centeredSlides) { 27678 slidesAfter = Math.floor(slidesPerView / 2) + slidesPerGroup + addSlidesAfter; 27679 slidesBefore = Math.floor(slidesPerView / 2) + slidesPerGroup + addSlidesBefore; 27680 } else { 27681 slidesAfter = slidesPerView + (slidesPerGroup - 1) + addSlidesAfter; 27682 slidesBefore = slidesPerGroup + addSlidesBefore; 27683 } 27684 27685 const from = Math.max((activeIndex || 0) - slidesBefore, 0); 27686 const to = Math.min((activeIndex || 0) + slidesAfter, slides.length - 1); 27687 const offset = (swiper.slidesGrid[from] || 0) - (swiper.slidesGrid[0] || 0); 27688 Object.assign(swiper.virtual, { 27689 from, 27690 to, 27691 offset, 27692 slidesGrid: swiper.slidesGrid 27693 }); 27694 27695 function onRendered() { 27696 swiper.updateSlides(); 27697 swiper.updateProgress(); 27698 swiper.updateSlidesClasses(); 27699 27700 if (swiper.lazy && swiper.params.lazy.enabled) { 27701 swiper.lazy.load(); 27702 } 27703 27704 emit('virtualUpdate'); 27705 } 27706 27707 if (previousFrom === from && previousTo === to && !force) { 27708 if (swiper.slidesGrid !== previousSlidesGrid && offset !== previousOffset) { 27709 swiper.slides.css(offsetProp, `${offset}px`); 27710 } 27711 27712 swiper.updateProgress(); 27713 emit('virtualUpdate'); 27714 return; 27715 } 27716 27717 if (swiper.params.virtual.renderExternal) { 27718 swiper.params.virtual.renderExternal.call(swiper, { 27719 offset, 27720 from, 27721 to, 27722 slides: function getSlides() { 27723 const slidesToRender = []; 27724 27725 for (let i = from; i <= to; i += 1) { 27726 slidesToRender.push(slides[i]); 27727 } 27728 27729 return slidesToRender; 27730 }() 27731 }); 27732 27733 if (swiper.params.virtual.renderExternalUpdate) { 27734 onRendered(); 27735 } else { 27736 emit('virtualUpdate'); 27737 } 27738 27739 return; 27740 } 27741 27742 const prependIndexes = []; 27743 const appendIndexes = []; 27744 27745 if (force) { 27746 swiper.$wrapperEl.find(`.${swiper.params.slideClass}`).remove(); 27747 } else { 27748 for (let i = previousFrom; i <= previousTo; i += 1) { 27749 if (i < from || i > to) { 27750 swiper.$wrapperEl.find(`.${swiper.params.slideClass}[data-swiper-slide-index="${i}"]`).remove(); 27751 } 27752 } 27753 } 27754 27755 for (let i = 0; i < slides.length; i += 1) { 27756 if (i >= from && i <= to) { 27757 if (typeof previousTo === 'undefined' || force) { 27758 appendIndexes.push(i); 27759 } else { 27760 if (i > previousTo) appendIndexes.push(i); 27761 if (i < previousFrom) prependIndexes.push(i); 27762 } 27763 } 27764 } 27765 27766 appendIndexes.forEach(index => { 27767 swiper.$wrapperEl.append(renderSlide(slides[index], index)); 27768 }); 27769 prependIndexes.sort((a, b) => b - a).forEach(index => { 27770 swiper.$wrapperEl.prepend(renderSlide(slides[index], index)); 27771 }); 27772 swiper.$wrapperEl.children('.swiper-slide').css(offsetProp, `${offset}px`); 27773 onRendered(); 27774 } 27775 27776 function appendSlide(slides) { 27777 if (typeof slides === 'object' && 'length' in slides) { 27778 for (let i = 0; i < slides.length; i += 1) { 27779 if (slides[i]) swiper.virtual.slides.push(slides[i]); 27780 } 27781 } else { 27782 swiper.virtual.slides.push(slides); 27783 } 27784 27785 update(true); 27786 } 27787 27788 function prependSlide(slides) { 27789 const activeIndex = swiper.activeIndex; 27790 let newActiveIndex = activeIndex + 1; 27791 let numberOfNewSlides = 1; 27792 27793 if (Array.isArray(slides)) { 27794 for (let i = 0; i < slides.length; i += 1) { 27795 if (slides[i]) swiper.virtual.slides.unshift(slides[i]); 27796 } 27797 27798 newActiveIndex = activeIndex + slides.length; 27799 numberOfNewSlides = slides.length; 27800 } else { 27801 swiper.virtual.slides.unshift(slides); 27802 } 27803 27804 if (swiper.params.virtual.cache) { 27805 const cache = swiper.virtual.cache; 27806 const newCache = {}; 27807 Object.keys(cache).forEach(cachedIndex => { 27808 const $cachedEl = cache[cachedIndex]; 27809 const cachedElIndex = $cachedEl.attr('data-swiper-slide-index'); 27810 27811 if (cachedElIndex) { 27812 $cachedEl.attr('data-swiper-slide-index', parseInt(cachedElIndex, 10) + numberOfNewSlides); 27813 } 27814 27815 newCache[parseInt(cachedIndex, 10) + numberOfNewSlides] = $cachedEl; 27816 }); 27817 swiper.virtual.cache = newCache; 27818 } 27819 27820 update(true); 27821 swiper.slideTo(newActiveIndex, 0); 27822 } 27823 27824 function removeSlide(slidesIndexes) { 27825 if (typeof slidesIndexes === 'undefined' || slidesIndexes === null) return; 27826 let activeIndex = swiper.activeIndex; 27827 27828 if (Array.isArray(slidesIndexes)) { 27829 for (let i = slidesIndexes.length - 1; i >= 0; i -= 1) { 27830 swiper.virtual.slides.splice(slidesIndexes[i], 1); 27831 27832 if (swiper.params.virtual.cache) { 27833 delete swiper.virtual.cache[slidesIndexes[i]]; 27834 } 27835 27836 if (slidesIndexes[i] < activeIndex) activeIndex -= 1; 27837 activeIndex = Math.max(activeIndex, 0); 27838 } 27839 } else { 27840 swiper.virtual.slides.splice(slidesIndexes, 1); 27841 27842 if (swiper.params.virtual.cache) { 27843 delete swiper.virtual.cache[slidesIndexes]; 27844 } 27845 27846 if (slidesIndexes < activeIndex) activeIndex -= 1; 27847 activeIndex = Math.max(activeIndex, 0); 27848 } 27849 27850 update(true); 27851 swiper.slideTo(activeIndex, 0); 27852 } 27853 27854 function removeAllSlides() { 27855 swiper.virtual.slides = []; 27856 27857 if (swiper.params.virtual.cache) { 27858 swiper.virtual.cache = {}; 27859 } 27860 27861 update(true); 27862 swiper.slideTo(0, 0); 27863 } 27864 27865 on('beforeInit', () => { 27866 if (!swiper.params.virtual.enabled) return; 27867 swiper.virtual.slides = swiper.params.virtual.slides; 27868 swiper.classNames.push(`${swiper.params.containerModifierClass}virtual`); 27869 swiper.params.watchSlidesProgress = true; 27870 swiper.originalParams.watchSlidesProgress = true; 27871 27872 if (!swiper.params.initialSlide) { 27873 update(); 27874 } 27875 }); 27876 on('setTranslate', () => { 27877 if (!swiper.params.virtual.enabled) return; 27878 27879 if (swiper.params.cssMode && !swiper._immediateVirtual) { 27880 clearTimeout(cssModeTimeout); 27881 cssModeTimeout = setTimeout(() => { 27882 update(); 27883 }, 100); 27884 } else { 27885 update(); 27886 } 27887 }); 27888 on('init update resize', () => { 27889 if (!swiper.params.virtual.enabled) return; 27890 27891 if (swiper.params.cssMode) { 27892 (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.setCSSProperty)(swiper.wrapperEl, '--swiper-virtual-size', `${swiper.virtualSize}px`); 27893 } 27894 }); 27895 Object.assign(swiper.virtual, { 27896 appendSlide, 27897 prependSlide, 27898 removeSlide, 27899 removeAllSlides, 27900 update 27901 }); 27902} 27903 27904/***/ }), 27905
vendor: 21,981 bytes, lines 27906-28538
27906/***/ "./node_modules/swiper/modules/zoom/zoom.js": 27907/*!**************************************************!*\ 27908 !*** ./node_modules/swiper/modules/zoom/zoom.js ***! 27909 \**************************************************/ 27910/*! namespace exports */ 27911/*! export default [provided] [no usage info] [missing usage info prevents renaming] */ 27912/*! other exports [not provided] [no usage info] */ 27913/*! runtime requirements: __webpack_require__, __webpack_require__.r, __webpack_exports__, __webpack_require__.d, __webpack_require__.* */ 27914/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 27915 27916"use strict"; 27917__webpack_require__.r(__webpack_exports__); 27918/* harmony export */ __webpack_require__.d(__webpack_exports__, { 27919/* harmony export */ "default": function() { return /* binding */ Zoom; } 27920/* harmony export */ }); 27921/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ "./node_modules/ssr-window/ssr-window.esm.js"); 27922/* harmony import */ var _shared_dom_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/dom.js */ "./node_modules/swiper/shared/dom.js"); 27923/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../shared/utils.js */ "./node_modules/swiper/shared/utils.js"); 27924; 27925 27926 27927function Zoom({ 27928 swiper, 27929 extendParams, 27930 on, 27931 emit 27932}) { 27933 const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)(); 27934 extendParams({ 27935 zoom: { 27936 enabled: false, 27937 maxRatio: 3, 27938 minRatio: 1, 27939 toggle: true, 27940 containerClass: 'swiper-zoom-container', 27941 zoomedSlideClass: 'swiper-slide-zoomed' 27942 } 27943 }); 27944 swiper.zoom = { 27945 enabled: false 27946 }; 27947 let currentScale = 1; 27948 let isScaling = false; 27949 let gesturesEnabled; 27950 let fakeGestureTouched; 27951 let fakeGestureMoved; 27952 const gesture = { 27953 $slideEl: undefined, 27954 slideWidth: undefined, 27955 slideHeight: undefined, 27956 $imageEl: undefined, 27957 $imageWrapEl: undefined, 27958 maxRatio: 3 27959 }; 27960 const image = { 27961 isTouched: undefined, 27962 isMoved: undefined, 27963 currentX: undefined, 27964 currentY: undefined, 27965 minX: undefined, 27966 minY: undefined, 27967 maxX: undefined, 27968 maxY: undefined, 27969 width: undefined, 27970 height: undefined, 27971 startX: undefined, 27972 startY: undefined, 27973 touchesStart: {}, 27974 touchesCurrent: {} 27975 }; 27976 const velocity = { 27977 x: undefined, 27978 y: undefined, 27979 prevPositionX: undefined, 27980 prevPositionY: undefined, 27981 prevTime: undefined 27982 }; 27983 let scale = 1; 27984 Object.defineProperty(swiper.zoom, 'scale', { 27985 get() { 27986 return scale; 27987 }, 27988 27989 set(value) { 27990 if (scale !== value) { 27991 const imageEl = gesture.$imageEl ? gesture.$imageEl[0] : undefined; 27992 const slideEl = gesture.$slideEl ? gesture.$slideEl[0] : undefined; 27993 emit('zoomChange', value, imageEl, slideEl); 27994 } 27995 27996 scale = value; 27997 } 27998 27999 }); 28000 28001 function getDistanceBetweenTouches(e) { 28002 if (e.targetTouches.length < 2) return 1; 28003 const x1 = e.targetTouches[0].pageX; 28004 const y1 = e.targetTouches[0].pageY; 28005 const x2 = e.targetTouches[1].pageX; 28006 const y2 = e.targetTouches[1].pageY; 28007 const distance = Math.sqrt((x2 - x1) ** 2 + (y2 - y1) ** 2); 28008 return distance; 28009 } // Events 28010 28011 28012 function onGestureStart(e) { 28013 const support = swiper.support; 28014 const params = swiper.params.zoom; 28015 fakeGestureTouched = false; 28016 fakeGestureMoved = false; 28017 28018 if (!support.gestures) { 28019 if (e.type !== 'touchstart' || e.type === 'touchstart' && e.targetTouches.length < 2) { 28020 return; 28021 } 28022 28023 fakeGestureTouched = true; 28024 gesture.scaleStart = getDistanceBetweenTouches(e); 28025 } 28026 28027 if (!gesture.$slideEl || !gesture.$slideEl.length) { 28028 gesture.$slideEl = (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__.default)(e.target).closest(`.${swiper.params.slideClass}`); 28029 if (gesture.$slideEl.length === 0) gesture.$slideEl = swiper.slides.eq(swiper.activeIndex); 28030 gesture.$imageEl = gesture.$slideEl.find(`.${params.containerClass}`).eq(0).find('picture, img, svg, canvas, .swiper-zoom-target').eq(0); 28031 gesture.$imageWrapEl = gesture.$imageEl.parent(`.${params.containerClass}`); 28032 gesture.maxRatio = gesture.$imageWrapEl.attr('data-swiper-zoom') || params.maxRatio; 28033 28034 if (gesture.$imageWrapEl.length === 0) { 28035 gesture.$imageEl = undefined; 28036 return; 28037 } 28038 } 28039 28040 if (gesture.$imageEl) { 28041 gesture.$imageEl.transition(0); 28042 } 28043 28044 isScaling = true; 28045 } 28046 28047 function onGestureChange(e) { 28048 const support = swiper.support; 28049 const params = swiper.params.zoom; 28050 const zoom = swiper.zoom; 28051 28052 if (!support.gestures) { 28053 if (e.type !== 'touchmove' || e.type === 'touchmove' && e.targetTouches.length < 2) { 28054 return; 28055 } 28056 28057 fakeGestureMoved = true; 28058 gesture.scaleMove = getDistanceBetweenTouches(e); 28059 } 28060 28061 if (!gesture.$imageEl || gesture.$imageEl.length === 0) { 28062 if (e.type === 'gesturechange') onGestureStart(e); 28063 return; 28064 } 28065 28066 if (support.gestures) { 28067 zoom.scale = e.scale * currentScale; 28068 } else { 28069 zoom.scale = gesture.scaleMove / gesture.scaleStart * currentScale; 28070 } 28071 28072 if (zoom.scale > gesture.maxRatio) { 28073 zoom.scale = gesture.maxRatio - 1 + (zoom.scale - gesture.maxRatio + 1) ** 0.5; 28074 } 28075 28076 if (zoom.scale < params.minRatio) { 28077 zoom.scale = params.minRatio + 1 - (params.minRatio - zoom.scale + 1) ** 0.5; 28078 } 28079 28080 gesture.$imageEl.transform(`translate3d(0,0,0) scale(${zoom.scale})`); 28081 } 28082 28083 function onGestureEnd(e) { 28084 const device = swiper.device; 28085 const support = swiper.support; 28086 const params = swiper.params.zoom; 28087 const zoom = swiper.zoom; 28088 28089 if (!support.gestures) { 28090 if (!fakeGestureTouched || !fakeGestureMoved) { 28091 return; 28092 } 28093 28094 if (e.type !== 'touchend' || e.type === 'touchend' && e.changedTouches.length < 2 && !device.android) { 28095 return; 28096 } 28097 28098 fakeGestureTouched = false; 28099 fakeGestureMoved = false; 28100 } 28101 28102 if (!gesture.$imageEl || gesture.$imageEl.length === 0) return; 28103 zoom.scale = Math.max(Math.min(zoom.scale, gesture.maxRatio), params.minRatio); 28104 gesture.$imageEl.transition(swiper.params.speed).transform(`translate3d(0,0,0) scale(${zoom.scale})`); 28105 currentScale = zoom.scale; 28106 isScaling = false; 28107 if (zoom.scale === 1) gesture.$slideEl = undefined; 28108 } 28109 28110 function onTouchStart(e) { 28111 const device = swiper.device; 28112 if (!gesture.$imageEl || gesture.$imageEl.length === 0) return; 28113 if (image.isTouched) return; 28114 if (device.android && e.cancelable) e.preventDefault(); 28115 image.isTouched = true; 28116 image.touchesStart.x = e.type === 'touchstart' ? e.targetTouches[0].pageX : e.pageX; 28117 image.touchesStart.y = e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY; 28118 } 28119 28120 function onTouchMove(e) { 28121 const zoom = swiper.zoom; 28122 if (!gesture.$imageEl || gesture.$imageEl.length === 0) return; 28123 swiper.allowClick = false; 28124 if (!image.isTouched || !gesture.$slideEl) return; 28125 28126 if (!image.isMoved) { 28127 image.width = gesture.$imageEl[0].offsetWidth; 28128 image.height = gesture.$imageEl[0].offsetHeight; 28129 image.startX = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_2__.getTranslate)(gesture.$imageWrapEl[0], 'x') || 0; 28130 image.startY = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_2__.getTranslate)(gesture.$imageWrapEl[0], 'y') || 0; 28131 gesture.slideWidth = gesture.$slideEl[0].offsetWidth; 28132 gesture.slideHeight = gesture.$slideEl[0].offsetHeight; 28133 gesture.$imageWrapEl.transition(0); 28134 } // Define if we need image drag 28135 28136 28137 const scaledWidth = image.width * zoom.scale; 28138 const scaledHeight = image.height * zoom.scale; 28139 if (scaledWidth < gesture.slideWidth && scaledHeight < gesture.slideHeight) return; 28140 image.minX = Math.min(gesture.slideWidth / 2 - scaledWidth / 2, 0); 28141 image.maxX = -image.minX; 28142 image.minY = Math.min(gesture.slideHeight / 2 - scaledHeight / 2, 0); 28143 image.maxY = -image.minY; 28144 image.touchesCurrent.x = e.type === 'touchmove' ? e.targetTouches[0].pageX : e.pageX; 28145 image.touchesCurrent.y = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY; 28146 28147 if (!image.isMoved && !isScaling) { 28148 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)) { 28149 image.isTouched = false; 28150 return; 28151 } 28152 28153 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)) { 28154 image.isTouched = false; 28155 return; 28156 } 28157 } 28158 28159 if (e.cancelable) { 28160 e.preventDefault(); 28161 } 28162 28163 e.stopPropagation(); 28164 image.isMoved = true; 28165 image.currentX = image.touchesCurrent.x - image.touchesStart.x + image.startX; 28166 image.currentY = image.touchesCurrent.y - image.touchesStart.y + image.startY; 28167 28168 if (image.currentX < image.minX) { 28169 image.currentX = image.minX + 1 - (image.minX - image.currentX + 1) ** 0.8; 28170 } 28171 28172 if (image.currentX > image.maxX) { 28173 image.currentX = image.maxX - 1 + (image.currentX - image.maxX + 1) ** 0.8; 28174 } 28175 28176 if (image.currentY < image.minY) { 28177 image.currentY = image.minY + 1 - (image.minY - image.currentY + 1) ** 0.8; 28178 } 28179 28180 if (image.currentY > image.maxY) { 28181 image.currentY = image.maxY - 1 + (image.currentY - image.maxY + 1) ** 0.8; 28182 } // Velocity 28183 28184 28185 if (!velocity.prevPositionX) velocity.prevPositionX = image.touchesCurrent.x; 28186 if (!velocity.prevPositionY) velocity.prevPositionY = image.touchesCurrent.y; 28187 if (!velocity.prevTime) velocity.prevTime = Date.now(); 28188 velocity.x = (image.touchesCurrent.x - velocity.prevPositionX) / (Date.now() - velocity.prevTime) / 2; 28189 velocity.y = (image.touchesCurrent.y - velocity.prevPositionY) / (Date.now() - velocity.prevTime) / 2; 28190 if (Math.abs(image.touchesCurrent.x - velocity.prevPositionX) < 2) velocity.x = 0; 28191 if (Math.abs(image.touchesCurrent.y - velocity.prevPositionY) < 2) velocity.y = 0; 28192 velocity.prevPositionX = image.touchesCurrent.x; 28193 velocity.prevPositionY = image.touchesCurrent.y; 28194 velocity.prevTime = Date.now(); 28195 gesture.$imageWrapEl.transform(`translate3d(${image.currentX}px, ${image.currentY}px,0)`); 28196 } 28197 28198 function onTouchEnd() { 28199 const zoom = swiper.zoom; 28200 if (!gesture.$imageEl || gesture.$imageEl.length === 0) return; 28201 28202 if (!image.isTouched || !image.isMoved) { 28203 image.isTouched = false; 28204 image.isMoved = false; 28205 return; 28206 } 28207 28208 image.isTouched = false; 28209 image.isMoved = false; 28210 let momentumDurationX = 300; 28211 let momentumDurationY = 300; 28212 const momentumDistanceX = velocity.x * momentumDurationX; 28213 const newPositionX = image.currentX + momentumDistanceX; 28214 const momentumDistanceY = velocity.y * momentumDurationY; 28215 const newPositionY = image.currentY + momentumDistanceY; // Fix duration 28216 28217 if (velocity.x !== 0) momentumDurationX = Math.abs((newPositionX - image.currentX) / velocity.x); 28218 if (velocity.y !== 0) momentumDurationY = Math.abs((newPositionY - image.currentY) / velocity.y); 28219 const momentumDuration = Math.max(momentumDurationX, momentumDurationY); 28220 image.currentX = newPositionX; 28221 image.currentY = newPositionY; // Define if we need image drag 28222 28223 const scaledWidth = image.width * zoom.scale; 28224 const scaledHeight = image.height * zoom.scale; 28225 image.minX = Math.min(gesture.slideWidth / 2 - scaledWidth / 2, 0); 28226 image.maxX = -image.minX; 28227 image.minY = Math.min(gesture.slideHeight / 2 - scaledHeight / 2, 0); 28228 image.maxY = -image.minY; 28229 image.currentX = Math.max(Math.min(image.currentX, image.maxX), image.minX); 28230 image.currentY = Math.max(Math.min(image.currentY, image.maxY), image.minY); 28231 gesture.$imageWrapEl.transition(momentumDuration).transform(`translate3d(${image.currentX}px, ${image.currentY}px,0)`); 28232 } 28233 28234 function onTransitionEnd() { 28235 const zoom = swiper.zoom; 28236 28237 if (gesture.$slideEl && swiper.previousIndex !== swiper.activeIndex) { 28238 if (gesture.$imageEl) { 28239 gesture.$imageEl.transform('translate3d(0,0,0) scale(1)'); 28240 } 28241 28242 if (gesture.$imageWrapEl) { 28243 gesture.$imageWrapEl.transform('translate3d(0,0,0)'); 28244 } 28245 28246 zoom.scale = 1; 28247 currentScale = 1; 28248 gesture.$slideEl = undefined; 28249 gesture.$imageEl = undefined; 28250 gesture.$imageWrapEl = undefined; 28251 } 28252 } 28253 28254 function zoomIn(e) { 28255 const zoom = swiper.zoom; 28256 const params = swiper.params.zoom; 28257 28258 if (!gesture.$slideEl) { 28259 if (e && e.target) { 28260 gesture.$slideEl = (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__.default)(e.target).closest(`.${swiper.params.slideClass}`); 28261 } 28262 28263 if (!gesture.$slideEl) { 28264 if (swiper.params.virtual && swiper.params.virtual.enabled && swiper.virtual) { 28265 gesture.$slideEl = swiper.$wrapperEl.children(`.${swiper.params.slideActiveClass}`); 28266 } else { 28267 gesture.$slideEl = swiper.slides.eq(swiper.activeIndex); 28268 } 28269 } 28270 28271 gesture.$imageEl = gesture.$slideEl.find(`.${params.containerClass}`).eq(0).find('picture, img, svg, canvas, .swiper-zoom-target').eq(0); 28272 gesture.$imageWrapEl = gesture.$imageEl.parent(`.${params.containerClass}`); 28273 } 28274 28275 if (!gesture.$imageEl || gesture.$imageEl.length === 0 || !gesture.$imageWrapEl || gesture.$imageWrapEl.length === 0) return; 28276 28277 if (swiper.params.cssMode) { 28278 swiper.wrapperEl.style.overflow = 'hidden'; 28279 swiper.wrapperEl.style.touchAction = 'none'; 28280 } 28281 28282 gesture.$slideEl.addClass(`${params.zoomedSlideClass}`); 28283 let touchX; 28284 let touchY; 28285 let offsetX; 28286 let offsetY; 28287 let diffX; 28288 let diffY; 28289 let translateX; 28290 let translateY; 28291 let imageWidth; 28292 let imageHeight; 28293 let scaledWidth; 28294 let scaledHeight; 28295 let translateMinX; 28296 let translateMinY; 28297 let translateMaxX; 28298 let translateMaxY; 28299 let slideWidth; 28300 let slideHeight; 28301 28302 if (typeof image.touchesStart.x === 'undefined' && e) { 28303 touchX = e.type === 'touchend' ? e.changedTouches[0].pageX : e.pageX; 28304 touchY = e.type === 'touchend' ? e.changedTouches[0].pageY : e.pageY; 28305 } else { 28306 touchX = image.touchesStart.x; 28307 touchY = image.touchesStart.y; 28308 } 28309 28310 zoom.scale = gesture.$imageWrapEl.attr('data-swiper-zoom') || params.maxRatio; 28311 currentScale = gesture.$imageWrapEl.attr('data-swiper-zoom') || params.maxRatio; 28312 28313 if (e) { 28314 slideWidth = gesture.$slideEl[0].offsetWidth; 28315 slideHeight = gesture.$slideEl[0].offsetHeight; 28316 offsetX = gesture.$slideEl.offset().left + window.scrollX; 28317 offsetY = gesture.$slideEl.offset().top + window.scrollY; 28318 diffX = offsetX + slideWidth / 2 - touchX; 28319 diffY = offsetY + slideHeight / 2 - touchY; 28320 imageWidth = gesture.$imageEl[0].offsetWidth; 28321 imageHeight = gesture.$imageEl[0].offsetHeight; 28322 scaledWidth = imageWidth * zoom.scale; 28323 scaledHeight = imageHeight * zoom.scale; 28324 translateMinX = Math.min(slideWidth / 2 - scaledWidth / 2, 0); 28325 translateMinY = Math.min(slideHeight / 2 - scaledHeight / 2, 0); 28326 translateMaxX = -translateMinX; 28327 translateMaxY = -translateMinY; 28328 translateX = diffX * zoom.scale; 28329 translateY = diffY * zoom.scale; 28330 28331 if (translateX < translateMinX) { 28332 translateX = translateMinX; 28333 } 28334 28335 if (translateX > translateMaxX) { 28336 translateX = translateMaxX; 28337 } 28338 28339 if (translateY < translateMinY) { 28340 translateY = translateMinY; 28341 } 28342 28343 if (translateY > translateMaxY) { 28344 translateY = translateMaxY; 28345 } 28346 } else { 28347 translateX = 0; 28348 translateY = 0; 28349 } 28350 28351 gesture.$imageWrapEl.transition(300).transform(`translate3d(${translateX}px, ${translateY}px,0)`); 28352 gesture.$imageEl.transition(300).transform(`translate3d(0,0,0) scale(${zoom.scale})`); 28353 } 28354 28355 function zoomOut() { 28356 const zoom = swiper.zoom; 28357 const params = swiper.params.zoom; 28358 28359 if (!gesture.$slideEl) { 28360 if (swiper.params.virtual && swiper.params.virtual.enabled && swiper.virtual) { 28361 gesture.$slideEl = swiper.$wrapperEl.children(`.${swiper.params.slideActiveClass}`); 28362 } else { 28363 gesture.$slideEl = swiper.slides.eq(swiper.activeIndex); 28364 } 28365 28366 gesture.$imageEl = gesture.$slideEl.find(`.${params.containerClass}`).eq(0).find('picture, img, svg, canvas, .swiper-zoom-target').eq(0); 28367 gesture.$imageWrapEl = gesture.$imageEl.parent(`.${params.containerClass}`); 28368 } 28369 28370 if (!gesture.$imageEl || gesture.$imageEl.length === 0 || !gesture.$imageWrapEl || gesture.$imageWrapEl.length === 0) return; 28371 28372 if (swiper.params.cssMode) { 28373 swiper.wrapperEl.style.overflow = ''; 28374 swiper.wrapperEl.style.touchAction = ''; 28375 } 28376 28377 zoom.scale = 1; 28378 currentScale = 1; 28379 gesture.$imageWrapEl.transition(300).transform('translate3d(0,0,0)'); 28380 gesture.$imageEl.transition(300).transform('translate3d(0,0,0) scale(1)'); 28381 gesture.$slideEl.removeClass(`${params.zoomedSlideClass}`); 28382 gesture.$slideEl = undefined; 28383 } // Toggle Zoom 28384 28385 28386 function zoomToggle(e) { 28387 const zoom = swiper.zoom; 28388 28389 if (zoom.scale && zoom.scale !== 1) { 28390 // Zoom Out 28391 zoomOut(); 28392 } else { 28393 // Zoom In 28394 zoomIn(e); 28395 } 28396 } 28397 28398 function getListeners() { 28399 const support = swiper.support; 28400 const passiveListener = swiper.touchEvents.start === 'touchstart' && support.passiveListener && swiper.params.passiveListeners ? { 28401 passive: true, 28402 capture: false 28403 } : false; 28404 const activeListenerWithCapture = support.passiveListener ? { 28405 passive: false, 28406 capture: true 28407 } : true; 28408 return { 28409 passiveListener, 28410 activeListenerWithCapture 28411 }; 28412 } 28413 28414 function getSlideSelector() { 28415 return `.${swiper.params.slideClass}`; 28416 } 28417 28418 function toggleGestures(method) { 28419 const { 28420 passiveListener 28421 } = getListeners(); 28422 const slideSelector = getSlideSelector(); 28423 swiper.$wrapperEl[method]('gesturestart', slideSelector, onGestureStart, passiveListener); 28424 swiper.$wrapperEl[method]('gesturechange', slideSelector, onGestureChange, passiveListener); 28425 swiper.$wrapperEl[method]('gestureend', slideSelector, onGestureEnd, passiveListener); 28426 } 28427 28428 function enableGestures() { 28429 if (gesturesEnabled) return; 28430 gesturesEnabled = true; 28431 toggleGestures('on'); 28432 } 28433 28434 function disableGestures() { 28435 if (!gesturesEnabled) return; 28436 gesturesEnabled = false; 28437 toggleGestures('off'); 28438 } // Attach/Detach Events 28439 28440 28441 function enable() { 28442 const zoom = swiper.zoom; 28443 if (zoom.enabled) return; 28444 zoom.enabled = true; 28445 const support = swiper.support; 28446 const { 28447 passiveListener, 28448 activeListenerWithCapture 28449 } = getListeners(); 28450 const slideSelector = getSlideSelector(); // Scale image 28451 28452 if (support.gestures) { 28453 swiper.$wrapperEl.on(swiper.touchEvents.start, enableGestures, passiveListener); 28454 swiper.$wrapperEl.on(swiper.touchEvents.end, disableGestures, passiveListener); 28455 } else if (swiper.touchEvents.start === 'touchstart') { 28456 swiper.$wrapperEl.on(swiper.touchEvents.start, slideSelector, onGestureStart, passiveListener); 28457 swiper.$wrapperEl.on(swiper.touchEvents.move, slideSelector, onGestureChange, activeListenerWithCapture); 28458 swiper.$wrapperEl.on(swiper.touchEvents.end, slideSelector, onGestureEnd, passiveListener); 28459 28460 if (swiper.touchEvents.cancel) { 28461 swiper.$wrapperEl.on(swiper.touchEvents.cancel, slideSelector, onGestureEnd, passiveListener); 28462 } 28463 } // Move image 28464 28465 28466 swiper.$wrapperEl.on(swiper.touchEvents.move, `.${swiper.params.zoom.containerClass}`, onTouchMove, activeListenerWithCapture); 28467 } 28468 28469 function disable() { 28470 const zoom = swiper.zoom; 28471 if (!zoom.enabled) return; 28472 const support = swiper.support; 28473 zoom.enabled = false; 28474 const { 28475 passiveListener, 28476 activeListenerWithCapture 28477 } = getListeners(); 28478 const slideSelector = getSlideSelector(); // Scale image 28479 28480 if (support.gestures) { 28481 swiper.$wrapperEl.off(swiper.touchEvents.start, enableGestures, passiveListener); 28482 swiper.$wrapperEl.off(swiper.touchEvents.end, disableGestures, passiveListener); 28483 } else if (swiper.touchEvents.start === 'touchstart') { 28484 swiper.$wrapperEl.off(swiper.touchEvents.start, slideSelector, onGestureStart, passiveListener); 28485 swiper.$wrapperEl.off(swiper.touchEvents.move, slideSelector, onGestureChange, activeListenerWithCapture); 28486 swiper.$wrapperEl.off(swiper.touchEvents.end, slideSelector, onGestureEnd, passiveListener); 28487 28488 if (swiper.touchEvents.cancel) { 28489 swiper.$wrapperEl.off(swiper.touchEvents.cancel, slideSelector, onGestureEnd, passiveListener); 28490 } 28491 } // Move image 28492 28493 28494 swiper.$wrapperEl.off(swiper.touchEvents.move, `.${swiper.params.zoom.containerClass}`, onTouchMove, activeListenerWithCapture); 28495 } 28496 28497 on('init', () => { 28498 if (swiper.params.zoom.enabled) { 28499 enable(); 28500 } 28501 }); 28502 on('destroy', () => { 28503 disable(); 28504 }); 28505 on('touchStart', (_s, e) => { 28506 if (!swiper.zoom.enabled) return; 28507 onTouchStart(e); 28508 }); 28509 on('touchEnd', (_s, e) => { 28510 if (!swiper.zoom.enabled) return; 28511 onTouchEnd(e); 28512 }); 28513 on('doubleTap', (_s, e) => { 28514 if (!swiper.animating && swiper.params.zoom.enabled && swiper.zoom.enabled && swiper.params.zoom.toggle) { 28515 zoomToggle(e); 28516 } 28517 }); 28518 on('transitionEnd', () => { 28519 if (swiper.zoom.enabled && swiper.params.zoom.enabled) { 28520 onTransitionEnd(); 28521 } 28522 }); 28523 on('slideChange', () => { 28524 if (swiper.zoom.enabled && swiper.params.zoom.enabled && swiper.params.cssMode) { 28525 onTransitionEnd(); 28526 } 28527 }); 28528 Object.assign(swiper.zoom, { 28529 enable, 28530 disable, 28531 in: zoomIn, 28532 out: zoomOut, 28533 toggle: zoomToggle 28534 }); 28535} 28536 28537/***/ }), 28538
vendor: 1,038 bytes, lines 28539-28560
28539/***/ "./node_modules/swiper/shared/classes-to-selector.js": 28540/*!***********************************************************!*\ 28541 !*** ./node_modules/swiper/shared/classes-to-selector.js ***! 28542 \***********************************************************/ 28543/*! namespace exports */ 28544/*! export default [provided] [no usage info] [missing usage info prevents renaming] */ 28545/*! other exports [not provided] [no usage info] */ 28546/*! runtime requirements: __webpack_require__.r, __webpack_exports__, __webpack_require__.d, __webpack_require__.* */ 28547/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 28548 28549"use strict"; 28550__webpack_require__.r(__webpack_exports__); 28551/* harmony export */ __webpack_require__.d(__webpack_exports__, { 28552/* harmony export */ "default": function() { return /* binding */ classesToSelector; } 28553/* harmony export */ }); 28554function classesToSelector(classes = '') { 28555 return `.${classes.trim().replace(/([\.:!\/])/g, '\\$1') // eslint-disable-line 28556 .replace(/ /g, '.')}`; 28557} 28558 28559/***/ }), 28560
vendor: 1,754 bytes, lines 28561-28602
28561/***/ "./node_modules/swiper/shared/create-element-if-not-defined.js": 28562/*!*********************************************************************!*\ 28563 !*** ./node_modules/swiper/shared/create-element-if-not-defined.js ***! 28564 \*********************************************************************/ 28565/*! namespace exports */ 28566/*! export default [provided] [no usage info] [missing usage info prevents renaming] */ 28567/*! other exports [not provided] [no usage info] */ 28568/*! runtime requirements: __webpack_require__, __webpack_require__.r, __webpack_exports__, __webpack_require__.d, __webpack_require__.* */ 28569/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 28570 28571"use strict"; 28572__webpack_require__.r(__webpack_exports__); 28573/* harmony export */ __webpack_require__.d(__webpack_exports__, { 28574/* harmony export */ "default": function() { return /* binding */ createElementIfNotDefined; } 28575/* harmony export */ }); 28576/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ "./node_modules/ssr-window/ssr-window.esm.js"); 28577; 28578function createElementIfNotDefined(swiper, originalParams, params, checkProps) { 28579 const document = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getDocument)(); 28580 28581 if (swiper.params.createElements) { 28582 Object.keys(checkProps).forEach(key => { 28583 if (!params[key] && params.auto === true) { 28584 let element = swiper.$el.children(`.${checkProps[key]}`)[0]; 28585 28586 if (!element) { 28587 element = document.createElement('div'); 28588 element.className = checkProps[key]; 28589 swiper.$el.append(element); 28590 } 28591 28592 params[key] = element; 28593 originalParams[key] = element; 28594 } 28595 }); 28596 } 28597 28598 return params; 28599} 28600 28601/***/ }), 28602
vendor: 1,525 bytes, lines 28603-28634
28603/***/ "./node_modules/swiper/shared/create-shadow.js": 28604/*!*****************************************************!*\ 28605 !*** ./node_modules/swiper/shared/create-shadow.js ***! 28606 \*****************************************************/ 28607/*! namespace exports */ 28608/*! export default [provided] [no usage info] [missing usage info prevents renaming] */ 28609/*! other exports [not provided] [no usage info] */ 28610/*! runtime requirements: __webpack_require__, __webpack_require__.r, __webpack_exports__, __webpack_require__.d, __webpack_require__.* */ 28611/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 28612 28613"use strict"; 28614__webpack_require__.r(__webpack_exports__); 28615/* harmony export */ __webpack_require__.d(__webpack_exports__, { 28616/* harmony export */ "default": function() { return /* binding */ createShadow; } 28617/* harmony export */ }); 28618/* harmony import */ var _dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./dom.js */ "./node_modules/swiper/shared/dom.js"); 28619; 28620function createShadow(params, $slideEl, side) { 28621 const shadowClass = `swiper-slide-shadow${side ? `-${side}` : ''}`; 28622 const $shadowContainer = params.transformEl ? $slideEl.find(params.transformEl) : $slideEl; 28623 let $shadowEl = $shadowContainer.children(`.${shadowClass}`); 28624 28625 if (!$shadowEl.length) { 28626 $shadowEl = (0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.default)(`<div class="swiper-slide-shadow${side ? `-${side}` : ''}"></div>`); 28627 $shadowContainer.append($shadowEl); 28628 } 28629 28630 return $shadowEl; 28631} 28632 28633/***/ }), 28634
vendor: 2,980 bytes, lines 28635-28696
28635/***/ "./node_modules/swiper/shared/dom.js": 28636/*!*******************************************!*\ 28637 !*** ./node_modules/swiper/shared/dom.js ***! 28638 \*******************************************/ 28639/*! namespace exports */ 28640/*! export default [provided] [no usage info] [missing usage info prevents renaming] */ 28641/*! other exports [not provided] [no usage info] */ 28642/*! runtime requirements: __webpack_require__, __webpack_exports__, __webpack_require__.r, __webpack_require__.* */ 28643/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 28644 28645"use strict"; 28646__webpack_require__.r(__webpack_exports__); 28647/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ "./node_modules/dom7/dom7.esm.js"); 28648; 28649const Methods = { 28650 addClass: dom7__WEBPACK_IMPORTED_MODULE_0__.addClass, 28651 removeClass: dom7__WEBPACK_IMPORTED_MODULE_0__.removeClass, 28652 hasClass: dom7__WEBPACK_IMPORTED_MODULE_0__.hasClass, 28653 toggleClass: dom7__WEBPACK_IMPORTED_MODULE_0__.toggleClass, 28654 attr: dom7__WEBPACK_IMPORTED_MODULE_0__.attr, 28655 removeAttr: dom7__WEBPACK_IMPORTED_MODULE_0__.removeAttr, 28656 transform: dom7__WEBPACK_IMPORTED_MODULE_0__.transform, 28657 transition: dom7__WEBPACK_IMPORTED_MODULE_0__.transition, 28658 on: dom7__WEBPACK_IMPORTED_MODULE_0__.on, 28659 off: dom7__WEBPACK_IMPORTED_MODULE_0__.off, 28660 trigger: dom7__WEBPACK_IMPORTED_MODULE_0__.trigger, 28661 transitionEnd: dom7__WEBPACK_IMPORTED_MODULE_0__.transitionEnd, 28662 outerWidth: dom7__WEBPACK_IMPORTED_MODULE_0__.outerWidth, 28663 outerHeight: dom7__WEBPACK_IMPORTED_MODULE_0__.outerHeight, 28664 styles: dom7__WEBPACK_IMPORTED_MODULE_0__.styles, 28665 offset: dom7__WEBPACK_IMPORTED_MODULE_0__.offset, 28666 css: dom7__WEBPACK_IMPORTED_MODULE_0__.css, 28667 each: dom7__WEBPACK_IMPORTED_MODULE_0__.each, 28668 html: dom7__WEBPACK_IMPORTED_MODULE_0__.html, 28669 text: dom7__WEBPACK_IMPORTED_MODULE_0__.text, 28670 is: dom7__WEBPACK_IMPORTED_MODULE_0__.is, 28671 index: dom7__WEBPACK_IMPORTED_MODULE_0__.index, 28672 eq: dom7__WEBPACK_IMPORTED_MODULE_0__.eq, 28673 append: dom7__WEBPACK_IMPORTED_MODULE_0__.append, 28674 prepend: dom7__WEBPACK_IMPORTED_MODULE_0__.prepend, 28675 next: dom7__WEBPACK_IMPORTED_MODULE_0__.next, 28676 nextAll: dom7__WEBPACK_IMPORTED_MODULE_0__.nextAll, 28677 prev: dom7__WEBPACK_IMPORTED_MODULE_0__.prev, 28678 prevAll: dom7__WEBPACK_IMPORTED_MODULE_0__.prevAll, 28679 parent: dom7__WEBPACK_IMPORTED_MODULE_0__.parent, 28680 parents: dom7__WEBPACK_IMPORTED_MODULE_0__.parents, 28681 closest: dom7__WEBPACK_IMPORTED_MODULE_0__.closest, 28682 find: dom7__WEBPACK_IMPORTED_MODULE_0__.find, 28683 children: dom7__WEBPACK_IMPORTED_MODULE_0__.children, 28684 filter: dom7__WEBPACK_IMPORTED_MODULE_0__.filter, 28685 remove: dom7__WEBPACK_IMPORTED_MODULE_0__.remove 28686}; 28687Object.keys(Methods).forEach(methodName => { 28688 Object.defineProperty(dom7__WEBPACK_IMPORTED_MODULE_0__.$.fn, methodName, { 28689 value: Methods[methodName], 28690 writable: true 28691 }); 28692}); 28693/* harmony default export */ __webpack_exports__["default"] = (dom7__WEBPACK_IMPORTED_MODULE_0__.$); 28694 28695/***/ }), 28696
vendor: 2,637 bytes, lines 28697-28776
28697/***/ "./node_modules/swiper/shared/effect-init.js": 28698/*!***************************************************!*\ 28699 !*** ./node_modules/swiper/shared/effect-init.js ***! 28700 \***************************************************/ 28701/*! namespace exports */ 28702/*! export default [provided] [no usage info] [missing usage info prevents renaming] */ 28703/*! other exports [not provided] [no usage info] */ 28704/*! runtime requirements: __webpack_require__.r, __webpack_exports__, __webpack_require__.d, __webpack_require__.* */ 28705/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 28706 28707"use strict"; 28708__webpack_require__.r(__webpack_exports__); 28709/* harmony export */ __webpack_require__.d(__webpack_exports__, { 28710/* harmony export */ "default": function() { return /* binding */ effectInit; } 28711/* harmony export */ }); 28712function effectInit(params) { 28713 const { 28714 effect, 28715 swiper, 28716 on, 28717 setTranslate, 28718 setTransition, 28719 overwriteParams, 28720 perspective, 28721 recreateShadows, 28722 getEffectParams 28723 } = params; 28724 on('beforeInit', () => { 28725 if (swiper.params.effect !== effect) return; 28726 swiper.classNames.push(`${swiper.params.containerModifierClass}${effect}`); 28727 28728 if (perspective && perspective()) { 28729 swiper.classNames.push(`${swiper.params.containerModifierClass}3d`); 28730 } 28731 28732 const overwriteParamsResult = overwriteParams ? overwriteParams() : {}; 28733 Object.assign(swiper.params, overwriteParamsResult); 28734 Object.assign(swiper.originalParams, overwriteParamsResult); 28735 }); 28736 on('setTranslate', () => { 28737 if (swiper.params.effect !== effect) return; 28738 setTranslate(); 28739 }); 28740 on('setTransition', (_s, duration) => { 28741 if (swiper.params.effect !== effect) return; 28742 setTransition(duration); 28743 }); 28744 on('transitionEnd', () => { 28745 if (swiper.params.effect !== effect) return; 28746 28747 if (recreateShadows) { 28748 if (!getEffectParams || !getEffectParams().slideShadows) return; // remove shadows 28749 28750 swiper.slides.each(slideEl => { 28751 const $slideEl = swiper.$(slideEl); 28752 $slideEl.find('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left').remove(); 28753 }); // create new one 28754 28755 recreateShadows(); 28756 } 28757 }); 28758 let requireUpdateOnVirtual; 28759 on('virtualUpdate', () => { 28760 if (swiper.params.effect !== effect) return; 28761 28762 if (!swiper.slides.length) { 28763 requireUpdateOnVirtual = true; 28764 } 28765 28766 requestAnimationFrame(() => { 28767 if (requireUpdateOnVirtual && swiper.slides && swiper.slides.length) { 28768 setTranslate(); 28769 requireUpdateOnVirtual = false; 28770 } 28771 }); 28772 }); 28773} 28774 28775/***/ }), 28776
vendor: 1,115 bytes, lines 28777-28804
28777/***/ "./node_modules/swiper/shared/effect-target.js": 28778/*!*****************************************************!*\ 28779 !*** ./node_modules/swiper/shared/effect-target.js ***! 28780 \*****************************************************/ 28781/*! namespace exports */ 28782/*! export default [provided] [no usage info] [missing usage info prevents renaming] */ 28783/*! other exports [not provided] [no usage info] */ 28784/*! runtime requirements: __webpack_require__.r, __webpack_exports__, __webpack_require__.d, __webpack_require__.* */ 28785/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 28786 28787"use strict"; 28788__webpack_require__.r(__webpack_exports__); 28789/* harmony export */ __webpack_require__.d(__webpack_exports__, { 28790/* harmony export */ "default": function() { return /* binding */ effectTarget; } 28791/* harmony export */ }); 28792function effectTarget(effectParams, $slideEl) { 28793 if (effectParams.transformEl) { 28794 return $slideEl.find(effectParams.transformEl).css({ 28795 'backface-visibility': 'hidden', 28796 '-webkit-backface-visibility': 'hidden' 28797 }); 28798 } 28799 28800 return $slideEl; 28801} 28802 28803/***/ }), 28804
vendor: 1,832 bytes, lines 28805-28857
28805/***/ "./node_modules/swiper/shared/effect-virtual-transition-end.js": 28806/*!*********************************************************************!*\ 28807 !*** ./node_modules/swiper/shared/effect-virtual-transition-end.js ***! 28808 \*********************************************************************/ 28809/*! namespace exports */ 28810/*! export default [provided] [no usage info] [missing usage info prevents renaming] */ 28811/*! other exports [not provided] [no usage info] */ 28812/*! runtime requirements: __webpack_require__.r, __webpack_exports__, __webpack_require__.d, __webpack_require__.* */ 28813/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 28814 28815"use strict"; 28816__webpack_require__.r(__webpack_exports__); 28817/* harmony export */ __webpack_require__.d(__webpack_exports__, { 28818/* harmony export */ "default": function() { return /* binding */ effectVirtualTransitionEnd; } 28819/* harmony export */ }); 28820function effectVirtualTransitionEnd({ 28821 swiper, 28822 duration, 28823 transformEl, 28824 allSlides 28825}) { 28826 const { 28827 slides, 28828 activeIndex, 28829 $wrapperEl 28830 } = swiper; 28831 28832 if (swiper.params.virtualTranslate && duration !== 0) { 28833 let eventTriggered = false; 28834 let $transitionEndTarget; 28835 28836 if (allSlides) { 28837 $transitionEndTarget = transformEl ? slides.find(transformEl) : slides; 28838 } else { 28839 $transitionEndTarget = transformEl ? slides.eq(activeIndex).find(transformEl) : slides.eq(activeIndex); 28840 } 28841 28842 $transitionEndTarget.transitionEnd(() => { 28843 if (eventTriggered) return; 28844 if (!swiper || swiper.destroyed) return; 28845 eventTriggered = true; 28846 swiper.animating = false; 28847 const triggerEvents = ['webkitTransitionEnd', 'transitionend']; 28848 28849 for (let i = 0; i < triggerEvents.length; i += 1) { 28850 $wrapperEl.trigger(triggerEvents[i]); 28851 } 28852 }); 28853 } 28854} 28855 28856/***/ }), 28857
vendor: 1,562 bytes, lines 28858-28902
28858/***/ "./node_modules/swiper/shared/get-browser.js": 28859/*!***************************************************!*\ 28860 !*** ./node_modules/swiper/shared/get-browser.js ***! 28861 \***************************************************/ 28862/*! namespace exports */ 28863/*! export getBrowser [provided] [no usage info] [missing usage info prevents renaming] */ 28864/*! other exports [not provided] [no usage info] */ 28865/*! runtime requirements: __webpack_require__, __webpack_require__.r, __webpack_exports__, __webpack_require__.d, __webpack_require__.* */ 28866/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 28867 28868"use strict"; 28869__webpack_require__.r(__webpack_exports__); 28870/* harmony export */ __webpack_require__.d(__webpack_exports__, { 28871/* harmony export */ "getBrowser": function() { return /* binding */ getBrowser; } 28872/* harmony export */ }); 28873/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ "./node_modules/ssr-window/ssr-window.esm.js"); 28874; 28875let browser; 28876 28877function calcBrowser() { 28878 const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)(); 28879 28880 function isSafari() { 28881 const ua = window.navigator.userAgent.toLowerCase(); 28882 return ua.indexOf('safari') >= 0 && ua.indexOf('chrome') < 0 && ua.indexOf('android') < 0; 28883 } 28884 28885 return { 28886 isSafari: isSafari(), 28887 isWebView: /(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(window.navigator.userAgent) 28888 }; 28889} 28890 28891function getBrowser() { 28892 if (!browser) { 28893 browser = calcBrowser(); 28894 } 28895 28896 return browser; 28897} 28898 28899 28900 28901/***/ }), 28902
vendor: 2,734 bytes, lines 28903-28979
28903/***/ "./node_modules/swiper/shared/get-device.js": 28904/*!**************************************************!*\ 28905 !*** ./node_modules/swiper/shared/get-device.js ***! 28906 \**************************************************/ 28907/*! namespace exports */ 28908/*! export getDevice [provided] [no usage info] [missing usage info prevents renaming] */ 28909/*! other exports [not provided] [no usage info] */ 28910/*! runtime requirements: __webpack_require__, __webpack_require__.r, __webpack_exports__, __webpack_require__.d, __webpack_require__.* */ 28911/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 28912 28913"use strict"; 28914__webpack_require__.r(__webpack_exports__); 28915/* harmony export */ __webpack_require__.d(__webpack_exports__, { 28916/* harmony export */ "getDevice": function() { return /* binding */ getDevice; } 28917/* harmony export */ }); 28918/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ "./node_modules/ssr-window/ssr-window.esm.js"); 28919/* harmony import */ var _get_support_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./get-support.js */ "./node_modules/swiper/shared/get-support.js"); 28920; 28921 28922let deviceCached; 28923 28924function calcDevice({ 28925 userAgent 28926} = {}) { 28927 const support = (0,_get_support_js__WEBPACK_IMPORTED_MODULE_1__.getSupport)(); 28928 const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)(); 28929 const platform = window.navigator.platform; 28930 const ua = userAgent || window.navigator.userAgent; 28931 const device = { 28932 ios: false, 28933 android: false 28934 }; 28935 const screenWidth = window.screen.width; 28936 const screenHeight = window.screen.height; 28937 const android = ua.match(/(Android);?[\s\/]+([\d.]+)?/); // eslint-disable-line 28938 28939 let ipad = ua.match(/(iPad).*OS\s([\d_]+)/); 28940 const ipod = ua.match(/(iPod)(.*OS\s([\d_]+))?/); 28941 const iphone = !ipad && ua.match(/(iPhone\sOS|iOS)\s([\d_]+)/); 28942 const windows = platform === 'Win32'; 28943 let macos = platform === 'MacIntel'; // iPadOs 13 fix 28944 28945 const iPadScreens = ['1024x1366', '1366x1024', '834x1194', '1194x834', '834x1112', '1112x834', '768x1024', '1024x768', '820x1180', '1180x820', '810x1080', '1080x810']; 28946 28947 if (!ipad && macos && support.touch && iPadScreens.indexOf(`${screenWidth}x${screenHeight}`) >= 0) { 28948 ipad = ua.match(/(Version)\/([\d.]+)/); 28949 if (!ipad) ipad = [0, 1, '13_0_0']; 28950 macos = false; 28951 } // Android 28952 28953 28954 if (android && !windows) { 28955 device.os = 'android'; 28956 device.android = true; 28957 } 28958 28959 if (ipad || iphone || ipod) { 28960 device.os = 'ios'; 28961 device.ios = true; 28962 } // Export object 28963 28964 28965 return device; 28966} 28967 28968function getDevice(overrides = {}) { 28969 if (!deviceCached) { 28970 deviceCached = calcDevice(overrides); 28971 } 28972 28973 return deviceCached; 28974} 28975 28976 28977 28978/***/ }), 28979
vendor: 2,063 bytes, lines 28980-29039
28980/***/ "./node_modules/swiper/shared/get-support.js": 28981/*!***************************************************!*\ 28982 !*** ./node_modules/swiper/shared/get-support.js ***! 28983 \***************************************************/ 28984/*! namespace exports */ 28985/*! export getSupport [provided] [no usage info] [missing usage info prevents renaming] */ 28986/*! other exports [not provided] [no usage info] */ 28987/*! runtime requirements: __webpack_require__, __webpack_require__.r, __webpack_exports__, __webpack_require__.d, __webpack_require__.* */ 28988/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 28989 28990"use strict"; 28991__webpack_require__.r(__webpack_exports__); 28992/* harmony export */ __webpack_require__.d(__webpack_exports__, { 28993/* harmony export */ "getSupport": function() { return /* binding */ getSupport; } 28994/* harmony export */ }); 28995/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ "./node_modules/ssr-window/ssr-window.esm.js"); 28996; 28997let support; 28998 28999function calcSupport() { 29000 const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)(); 29001 const document = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getDocument)(); 29002 return { 29003 smoothScroll: document.documentElement && 'scrollBehavior' in document.documentElement.style, 29004 touch: !!('ontouchstart' in window || window.DocumentTouch && document instanceof window.DocumentTouch), 29005 passiveListener: function checkPassiveListener() { 29006 let supportsPassive = false; 29007 29008 try { 29009 const opts = Object.defineProperty({}, 'passive', { 29010 // eslint-disable-next-line 29011 get() { 29012 supportsPassive = true; 29013 } 29014 29015 }); 29016 window.addEventListener('testPassiveListener', null, opts); 29017 } catch (e) {// No support 29018 } 29019 29020 return supportsPassive; 29021 }(), 29022 gestures: function checkGestures() { 29023 return 'ongesturestart' in window; 29024 }() 29025 }; 29026} 29027 29028function getSupport() { 29029 if (!support) { 29030 support = calcSupport(); 29031 } 29032 29033 return support; 29034} 29035 29036 29037 29038/***/ }), 29039
vendor: 8,159 bytes, lines 29040-29271
29040/***/ "./node_modules/swiper/shared/utils.js": 29041/*!*********************************************!*\ 29042 !*** ./node_modules/swiper/shared/utils.js ***! 29043 \*********************************************/ 29044/*! namespace exports */ 29045/*! export animateCSSModeScroll [provided] [no usage info] [missing usage info prevents renaming] */ 29046/*! export deleteProps [provided] [no usage info] [missing usage info prevents renaming] */ 29047/*! export extend [provided] [no usage info] [missing usage info prevents renaming] */ 29048/*! export getComputedStyle [provided] [no usage info] [missing usage info prevents renaming] */ 29049/*! export getTranslate [provided] [no usage info] [missing usage info prevents renaming] */ 29050/*! export isObject [provided] [no usage info] [missing usage info prevents renaming] */ 29051/*! export nextTick [provided] [no usage info] [missing usage info prevents renaming] */ 29052/*! export now [provided] [no usage info] [missing usage info prevents renaming] */ 29053/*! export setCSSProperty [provided] [no usage info] [missing usage info prevents renaming] */ 29054/*! other exports [not provided] [no usage info] */ 29055/*! runtime requirements: __webpack_require__, __webpack_require__.r, __webpack_exports__, __webpack_require__.d, __webpack_require__.* */ 29056/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 29057 29058"use strict"; 29059__webpack_require__.r(__webpack_exports__); 29060/* harmony export */ __webpack_require__.d(__webpack_exports__, { 29061/* harmony export */ "animateCSSModeScroll": function() { return /* binding */ animateCSSModeScroll; }, 29062/* harmony export */ "deleteProps": function() { return /* binding */ deleteProps; }, 29063/* harmony export */ "nextTick": function() { return /* binding */ nextTick; }, 29064/* harmony export */ "now": function() { return /* binding */ now; }, 29065/* harmony export */ "getTranslate": function() { return /* binding */ getTranslate; }, 29066/* harmony export */ "isObject": function() { return /* binding */ isObject; }, 29067/* harmony export */ "extend": function() { return /* binding */ extend; }, 29068/* harmony export */ "getComputedStyle": function() { return /* binding */ getComputedStyle; }, 29069/* harmony export */ "setCSSProperty": function() { return /* binding */ setCSSProperty; } 29070/* harmony export */ }); 29071/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ "./node_modules/ssr-window/ssr-window.esm.js"); 29072; 29073 29074function deleteProps(obj) { 29075 const object = obj; 29076 Object.keys(object).forEach(key => { 29077 try { 29078 object[key] = null; 29079 } catch (e) {// no getter for object 29080 } 29081 29082 try { 29083 delete object[key]; 29084 } catch (e) {// something got wrong 29085 } 29086 }); 29087} 29088 29089function nextTick(callback, delay = 0) { 29090 return setTimeout(callback, delay); 29091} 29092 29093function now() { 29094 return Date.now(); 29095} 29096 29097function getComputedStyle(el) { 29098 const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)(); 29099 let style; 29100 29101 if (window.getComputedStyle) { 29102 style = window.getComputedStyle(el, null); 29103 } 29104 29105 if (!style && el.currentStyle) { 29106 style = el.currentStyle; 29107 } 29108 29109 if (!style) { 29110 style = el.style; 29111 } 29112 29113 return style; 29114} 29115 29116function getTranslate(el, axis = 'x') { 29117 const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)(); 29118 let matrix; 29119 let curTransform; 29120 let transformMatrix; 29121 const curStyle = getComputedStyle(el, null); 29122 29123 if (window.WebKitCSSMatrix) { 29124 curTransform = curStyle.transform || curStyle.webkitTransform; 29125 29126 if (curTransform.split(',').length > 6) { 29127 curTransform = curTransform.split(', ').map(a => a.replace(',', '.')).join(', '); 29128 } // Some old versions of Webkit choke when 'none' is passed; pass 29129 // empty string instead in this case 29130 29131 29132 transformMatrix = new window.WebKitCSSMatrix(curTransform === 'none' ? '' : curTransform); 29133 } else { 29134 transformMatrix = curStyle.MozTransform || curStyle.OTransform || curStyle.MsTransform || curStyle.msTransform || curStyle.transform || curStyle.getPropertyValue('transform').replace('translate(', 'matrix(1, 0, 0, 1,'); 29135 matrix = transformMatrix.toString().split(','); 29136 } 29137 29138 if (axis === 'x') { 29139 // Latest Chrome and webkits Fix 29140 if (window.WebKitCSSMatrix) curTransform = transformMatrix.m41; // Crazy IE10 Matrix 29141 else if (matrix.length === 16) curTransform = parseFloat(matrix[12]); // Normal Browsers 29142 else curTransform = parseFloat(matrix[4]); 29143 } 29144 29145 if (axis === 'y') { 29146 // Latest Chrome and webkits Fix 29147 if (window.WebKitCSSMatrix) curTransform = transformMatrix.m42; // Crazy IE10 Matrix 29148 else if (matrix.length === 16) curTransform = parseFloat(matrix[13]); // Normal Browsers 29149 else curTransform = parseFloat(matrix[5]); 29150 } 29151 29152 return curTransform || 0; 29153} 29154 29155function isObject(o) { 29156 return typeof o === 'object' && o !== null && o.constructor && Object.prototype.toString.call(o).slice(8, -1) === 'Object'; 29157} 29158 29159function isNode(node) { 29160 // eslint-disable-next-line 29161 if (typeof window !== 'undefined' && typeof window.HTMLElement !== 'undefined') { 29162 return node instanceof HTMLElement; 29163 } 29164 29165 return node && (node.nodeType === 1 || node.nodeType === 11); 29166} 29167 29168function extend(...args) { 29169 const to = Object(args[0]); 29170 const noExtend = ['__proto__', 'constructor', 'prototype']; 29171 29172 for (let i = 1; i < args.length; i += 1) { 29173 const nextSource = args[i]; 29174 29175 if (nextSource !== undefined && nextSource !== null && !isNode(nextSource)) { 29176 const keysArray = Object.keys(Object(nextSource)).filter(key => noExtend.indexOf(key) < 0); 29177 29178 for (let nextIndex = 0, len = keysArray.length; nextIndex < len; nextIndex += 1) { 29179 const nextKey = keysArray[nextIndex]; 29180 const desc = Object.getOwnPropertyDescriptor(nextSource, nextKey); 29181 29182 if (desc !== undefined && desc.enumerable) { 29183 if (isObject(to[nextKey]) && isObject(nextSource[nextKey])) { 29184 if (nextSource[nextKey].__swiper__) { 29185 to[nextKey] = nextSource[nextKey]; 29186 } else { 29187 extend(to[nextKey], nextSource[nextKey]); 29188 } 29189 } else if (!isObject(to[nextKey]) && isObject(nextSource[nextKey])) { 29190 to[nextKey] = {}; 29191 29192 if (nextSource[nextKey].__swiper__) { 29193 to[nextKey] = nextSource[nextKey]; 29194 } else { 29195 extend(to[nextKey], nextSource[nextKey]); 29196 } 29197 } else { 29198 to[nextKey] = nextSource[nextKey]; 29199 } 29200 } 29201 } 29202 } 29203 } 29204 29205 return to; 29206} 29207 29208function setCSSProperty(el, varName, varValue) { 29209 el.style.setProperty(varName, varValue); 29210} 29211 29212function animateCSSModeScroll({ 29213 swiper, 29214 targetPosition, 29215 side 29216}) { 29217 const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)(); 29218 const startPosition = -swiper.translate; 29219 let startTime = null; 29220 let time; 29221 const duration = swiper.params.speed; 29222 swiper.wrapperEl.style.scrollSnapType = 'none'; 29223 window.cancelAnimationFrame(swiper.cssModeFrameID); 29224 const dir = targetPosition > startPosition ? 'next' : 'prev'; 29225 29226 const isOutOfBound = (current, target) => { 29227 return dir === 'next' && current >= target || dir === 'prev' && current <= target; 29228 }; 29229 29230 const animate = () => { 29231 time = new Date().getTime(); 29232 29233 if (startTime === null) { 29234 startTime = time; 29235 } 29236 29237 const progress = Math.max(Math.min((time - startTime) / duration, 1), 0); 29238 const easeProgress = 0.5 - Math.cos(progress * Math.PI) / 2; 29239 let currentPosition = startPosition + easeProgress * (targetPosition - startPosition); 29240 29241 if (isOutOfBound(currentPosition, targetPosition)) { 29242 currentPosition = targetPosition; 29243 } 29244 29245 swiper.wrapperEl.scrollTo({ 29246 [side]: currentPosition 29247 }); 29248 29249 if (isOutOfBound(currentPosition, targetPosition)) { 29250 swiper.wrapperEl.style.overflow = 'hidden'; 29251 swiper.wrapperEl.style.scrollSnapType = ''; 29252 setTimeout(() => { 29253 swiper.wrapperEl.style.overflow = ''; 29254 swiper.wrapperEl.scrollTo({ 29255 [side]: currentPosition 29256 }); 29257 }); 29258 window.cancelAnimationFrame(swiper.cssModeFrameID); 29259 return; 29260 } 29261 29262 swiper.cssModeFrameID = window.requestAnimationFrame(animate); 29263 }; 29264 29265 animate(); 29266} 29267 29268 29269 29270/***/ }), 29271
vendor: 8,421 bytes, lines 29272-29358
29272/***/ "./node_modules/swiper/swiper-bundle.esm.js": 29273/*!**************************************************!*\ 29274 !*** ./node_modules/swiper/swiper-bundle.esm.js ***! 29275 \**************************************************/ 29276/*! namespace exports */ 29277/*! export Swiper [provided] [no usage info] [missing usage info prevents renaming] -> ./node_modules/swiper/core/core.js .default */ 29278/*! export default [provided] [no usage info] [missing usage info prevents renaming] -> ./node_modules/swiper/core/core.js .default */ 29279/*! other exports [not provided] [no usage info] */ 29280/*! runtime requirements: __webpack_require__, __webpack_exports__, __webpack_require__.d, __webpack_require__.r, __webpack_require__.* */ 29281/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 29282 29283"use strict"; 29284__webpack_require__.r(__webpack_exports__); 29285/* harmony export */ __webpack_require__.d(__webpack_exports__, { 29286/* harmony export */ "Swiper": function() { return /* reexport safe */ _core_core_js__WEBPACK_IMPORTED_MODULE_0__.default; }, 29287/* harmony export */ "default": function() { return /* reexport safe */ _core_core_js__WEBPACK_IMPORTED_MODULE_0__.default; } 29288/* harmony export */ }); 29289/* harmony import */ var _core_core_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./core/core.js */ "./node_modules/swiper/core/core.js"); 29290/* harmony import */ var _modules_virtual_virtual_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./modules/virtual/virtual.js */ "./node_modules/swiper/modules/virtual/virtual.js"); 29291/* harmony import */ var _modules_keyboard_keyboard_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./modules/keyboard/keyboard.js */ "./node_modules/swiper/modules/keyboard/keyboard.js"); 29292/* harmony import */ var _modules_mousewheel_mousewheel_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./modules/mousewheel/mousewheel.js */ "./node_modules/swiper/modules/mousewheel/mousewheel.js"); 29293/* harmony import */ var _modules_navigation_navigation_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./modules/navigation/navigation.js */ "./node_modules/swiper/modules/navigation/navigation.js"); 29294/* harmony import */ var _modules_pagination_pagination_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./modules/pagination/pagination.js */ "./node_modules/swiper/modules/pagination/pagination.js"); 29295/* harmony import */ var _modules_scrollbar_scrollbar_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./modules/scrollbar/scrollbar.js */ "./node_modules/swiper/modules/scrollbar/scrollbar.js"); 29296/* harmony import */ var _modules_parallax_parallax_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./modules/parallax/parallax.js */ "./node_modules/swiper/modules/parallax/parallax.js"); 29297/* harmony import */ var _modules_zoom_zoom_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./modules/zoom/zoom.js */ "./node_modules/swiper/modules/zoom/zoom.js"); 29298/* harmony import */ var _modules_lazy_lazy_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./modules/lazy/lazy.js */ "./node_modules/swiper/modules/lazy/lazy.js"); 29299/* harmony import */ var _modules_controller_controller_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./modules/controller/controller.js */ "./node_modules/swiper/modules/controller/controller.js"); 29300/* harmony import */ var _modules_a11y_a11y_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./modules/a11y/a11y.js */ "./node_modules/swiper/modules/a11y/a11y.js"); 29301/* harmony import */ var _modules_history_history_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./modules/history/history.js */ "./node_modules/swiper/modules/history/history.js"); 29302/* harmony import */ var _modules_hash_navigation_hash_navigation_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./modules/hash-navigation/hash-navigation.js */ "./node_modules/swiper/modules/hash-navigation/hash-navigation.js"); 29303/* harmony import */ var _modules_autoplay_autoplay_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./modules/autoplay/autoplay.js */ "./node_modules/swiper/modules/autoplay/autoplay.js"); 29304/* harmony import */ var _modules_thumbs_thumbs_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./modules/thumbs/thumbs.js */ "./node_modules/swiper/modules/thumbs/thumbs.js"); 29305/* harmony import */ var _modules_free_mode_free_mode_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./modules/free-mode/free-mode.js */ "./node_modules/swiper/modules/free-mode/free-mode.js"); 29306/* harmony import */ var _modules_grid_grid_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./modules/grid/grid.js */ "./node_modules/swiper/modules/grid/grid.js"); 29307/* harmony import */ var _modules_manipulation_manipulation_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./modules/manipulation/manipulation.js */ "./node_modules/swiper/modules/manipulation/manipulation.js"); 29308/* harmony import */ var _modules_effect_fade_effect_fade_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./modules/effect-fade/effect-fade.js */ "./node_modules/swiper/modules/effect-fade/effect-fade.js"); 29309/* harmony import */ var _modules_effect_cube_effect_cube_js__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./modules/effect-cube/effect-cube.js */ "./node_modules/swiper/modules/effect-cube/effect-cube.js"); 29310/* harmony import */ var _modules_effect_flip_effect_flip_js__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./modules/effect-flip/effect-flip.js */ "./node_modules/swiper/modules/effect-flip/effect-flip.js"); 29311/* harmony import */ var _modules_effect_coverflow_effect_coverflow_js__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./modules/effect-coverflow/effect-coverflow.js */ "./node_modules/swiper/modules/effect-coverflow/effect-coverflow.js"); 29312/* harmony import */ var _modules_effect_creative_effect_creative_js__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./modules/effect-creative/effect-creative.js */ "./node_modules/swiper/modules/effect-creative/effect-creative.js"); 29313/* harmony import */ var _modules_effect_cards_effect_cards_js__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./modules/effect-cards/effect-cards.js */ "./node_modules/swiper/modules/effect-cards/effect-cards.js"); 29314/** 29315 * Swiper 8.4.7 29316 * Most modern mobile touch slider and framework with hardware accelerated transitions 29317 * https://swiperjs.com 29318 * 29319 * Copyright 2014-2023 Vladimir Kharlampidi 29320 * 29321 * Released under the MIT License 29322 * 29323 * Released on: January 30, 2023 29324 */ 29325 29326; 29327 29328 29329 29330 29331 29332 29333 29334 29335 29336 29337 29338 29339 29340 29341 29342 29343 29344 29345 29346 29347 29348 29349 29350 29351 29352 29353// Swiper Class 29354const modules = [_modules_virtual_virtual_js__WEBPACK_IMPORTED_MODULE_1__.default, _modules_keyboard_keyboard_js__WEBPACK_IMPORTED_MODULE_2__.default, _modules_mousewheel_mousewheel_js__WEBPACK_IMPORTED_MODULE_3__.default, _modules_navigation_navigation_js__WEBPACK_IMPORTED_MODULE_4__.default, _modules_pagination_pagination_js__WEBPACK_IMPORTED_MODULE_5__.default, _modules_scrollbar_scrollbar_js__WEBPACK_IMPORTED_MODULE_6__.default, _modules_parallax_parallax_js__WEBPACK_IMPORTED_MODULE_7__.default, _modules_zoom_zoom_js__WEBPACK_IMPORTED_MODULE_8__.default, _modules_lazy_lazy_js__WEBPACK_IMPORTED_MODULE_9__.default, _modules_controller_controller_js__WEBPACK_IMPORTED_MODULE_10__.default, _modules_a11y_a11y_js__WEBPACK_IMPORTED_MODULE_11__.default, _modules_history_history_js__WEBPACK_IMPORTED_MODULE_12__.default, _modules_hash_navigation_hash_navigation_js__WEBPACK_IMPORTED_MODULE_13__.default, _modules_autoplay_autoplay_js__WEBPACK_IMPORTED_MODULE_14__.default, _modules_thumbs_thumbs_js__WEBPACK_IMPORTED_MODULE_15__.default, _modules_free_mode_free_mode_js__WEBPACK_IMPORTED_MODULE_16__.default, _modules_grid_grid_js__WEBPACK_IMPORTED_MODULE_17__.default, _modules_manipulation_manipulation_js__WEBPACK_IMPORTED_MODULE_18__.default, _modules_effect_fade_effect_fade_js__WEBPACK_IMPORTED_MODULE_19__.default, _modules_effect_cube_effect_cube_js__WEBPACK_IMPORTED_MODULE_20__.default, _modules_effect_flip_effect_flip_js__WEBPACK_IMPORTED_MODULE_21__.default, _modules_effect_coverflow_effect_coverflow_js__WEBPACK_IMPORTED_MODULE_22__.default, _modules_effect_creative_effect_creative_js__WEBPACK_IMPORTED_MODULE_23__.default, _modules_effect_cards_effect_cards_js__WEBPACK_IMPORTED_MODULE_24__.default]; 29355_core_core_js__WEBPACK_IMPORTED_MODULE_0__.default.use(modules); 29356 29357 29358/***/ })
vendor: 3,390 bytes, lines 29358-29445
29358 29359 29360/******/ }); 29361/************************************************************************/ 29362/******/ // The module cache 29363/******/ var __webpack_module_cache__ = {}; 29364/******/ 29365/******/ // The require function 29366/******/ function __webpack_require__(moduleId) { 29367/******/ // Check if module is in cache 29368/******/ if(__webpack_module_cache__[moduleId]) { 29369/******/ return __webpack_module_cache__[moduleId].exports; 29370/******/ } 29371/******/ // Create a new module (and put it into the cache) 29372/******/ var module = __webpack_module_cache__[moduleId] = { 29373/******/ id: moduleId, 29374/******/ // no module.loaded needed 29375/******/ exports: {} 29376/******/ }; 29377/******/ 29378/******/ // Execute the module function 29379/******/ __webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__); 29380/******/ 29381/******/ // Return the exports of the module 29382/******/ return module.exports; 29383/******/ } 29384/******/ 29385/************************************************************************/ 29386/******/ /* webpack/runtime/compat get default export */ 29387/******/ !function() { 29388/******/ // getDefaultExport function for compatibility with non-harmony modules 29389/******/ __webpack_require__.n = function(module) { 29390/******/ var getter = module && module.__esModule ? 29391/******/ function() { return module['default']; } : 29392/******/ function() { return module; }; 29393/******/ __webpack_require__.d(getter, { a: getter }); 29394/******/ return getter; 29395/******/ }; 29396/******/ }(); 29397/******/ 29398/******/ /* webpack/runtime/define property getters */ 29399/******/ !function() { 29400/******/ // define getter functions for harmony exports 29401/******/ __webpack_require__.d = function(exports, definition) { 29402/******/ for(var key in definition) { 29403/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { 29404/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); 29405/******/ } 29406/******/ } 29407/******/ }; 29408/******/ }(); 29409/******/ 29410/******/ /* webpack/runtime/global */ 29411/******/ !function() { 29412/******/ __webpack_require__.g = (function() { 29413/******/ if (typeof globalThis === 'object') return globalThis; 29414/******/ try { 29415/******/ return this || new Function('return this')(); 29416/******/ } catch (e) { 29417/******/ if (typeof window === 'object') return window; 29418/******/ } 29419/******/ })(); 29420/******/ }(); 29421/******/ 29422/******/ /* webpack/runtime/hasOwnProperty shorthand */ 29423/******/ !function() { 29424/******/ __webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); } 29425/******/ }(); 29426/******/ 29427/******/ /* webpack/runtime/make namespace object */ 29428/******/ !function() { 29429/******/ // define __esModule on exports 29430/******/ __webpack_require__.r = function(exports) { 29431/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { 29432/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); 29433/******/ } 29434/******/ Object.defineProperty(exports, '__esModule', { value: true }); 29435/******/ }; 29436/******/ }(); 29437/******/ 29438/************************************************************************/ 29439/******/ // startup 29440/******/ // Load entry module 29441/******/ __webpack_require__("./assets/js/common/index.js"); 29442/******/ // This entry module used 'exports' so it can't be inlined 29443/******/ })() 29444; 29445//# sourceMappingURL=index.js.map
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.