1//ë¡ê·¸ì¸í¼ placeholder ì¶ê° 2if ($('.xans-member-login').val() != undefined) { 3 var login_id_type_text = $('#member_id').parent().attr('title'); 4 $('#member_id').attr('placeholder', login_id_type_text); 5 $('#member_passwd').attr('placeholder', 'í¨ì¤ìë'); 6} 7 8//í¤ë³´ë 미리보기 9$('.keyboard button').on('click', function(){ 10 if($(this).hasClass('selected')==true){ 11 $('.keyboard .btnKey').removeClass('selected'); 12 $('.view div').hide(); 13 } 14 else{ 15 $('.keyboard .btnKey').removeClass('selected'); 16 $('.view div').hide(); 17 $(this).addClass('selected'); 18 var key=$(this).attr('title'); 19 $(this).parent().next().children('.'+key+'').show(); 20 } 21}); 22 23// íì&ë¹íì í ê¸ 24$('.ec-base-tab').each(function(){ 25 var selected = $(this).find('> ul > li.selected > a'); 26}); 27 28$('body').on('click', '.ec-base-tab a', function(e){ 29 var _target = $(this).attr('href'); 30 if (_target == '#member') { 31 $('#member_login_module_id').show();
32 $('#order_history_nologin_id').hide(); 33 } else { 34 $('#member_login_module_id').hide(); 35 $('#order_history_nologin_id').show(); 36 } 37 e.preventDefault(); 38}); 39// iProductNo 미ì ì ì¤ë¥ ë°©ì§ (ì¹´í ê³ ë¦¬/ê²ì íì´ì§ìì 63% ì¤ë¥ ìì¸) 40if (typeof iProductNo === 'undefined') { 41 var iProductNo = (function() { 42 var m = location.search.match(/product_no=(\d+)/); 43 return m ? m[1] : (document.getElementById('productId') && document.getElementById('productId').textContent) || null; 44 })(); 45} 46 47// aBasketProductOrderData 미ì ì ì¤ë¥ ë°©ì§ (ì¥ë°êµ¬ë íì´ì§) 48if (typeof aBasketProductOrderData === 'undefined') { 49 var aBasketProductOrderData = []; 50} 51if (typeof aBasketProductData === 'undefined') { 52 var aBasketProductData = []; 53} 54 55// ì¸ë¤ì¼ ì´ë¯¸ì§ ìë°ì¼ê²½ì° ê¸°ë³¸ê° ì¤ì 56$(window).on('load', function() { 57 $(".thumbnail img, img.thumbImage, img.bigImage").each(function($i,$item){ 58 var $img = new Image(); 59 $img.onerror = function () { 60 $item.src="//img.echosting.cafe24.com/thumb/img_product_big.gif"; 61 } 62 $img.src = this.src; 63 }); 64}); 65 66$(function(){ 67 // í ê¸ 68 $('div.eToggle .title').on('click', function(){ 69 var toggle = $(this).parent('.eToggle'); 70 if(toggle.hasClass('disable') == false){ 71 $(this).parent('.eToggle').toggleClass('selected') 72 } 73 }); 74 75 $('dl.eToggle dt').on('click', function(){ 76 $(this).toggleClass('selected'); 77 $(this).next('dd').toggleClass('selected'); 78 }); 79 80 //ì¥ë°êµ¬ë íì´ì§ ìëí¼ Type ë³ê²½ 81 $('[id^="quantity"]').each(function() { 82 $(this).get(0).type = 'tel'; 83 }); 84 85 // 모ë°ì¼ìì ê³µê¸ì¬ í ì´ë¸ th ê°ì ì¡°ì 86 $('.xans-mall-supplyinfo, .supplyInfo').find('table > colgroup').find('col').eq(0).width(98); 87 $('.xans-mall-supplyinfo, .supplyInfo').find('th, td').css({padding:'13px 10px 12px'}); 88 89 /** 90 * ë©ì¸ì¹´í ê³ ë¦¬ toggle 91 */ 92 $('.xans-product-listmain h2').on('click', function() { 93 var bClosed = !!$(this).data('is_closed'); 94 var sUrl; 95 if (bClosed) { 96 sUrl = "//img.echosting.cafe24.com/skin/mobile_ko_KR/layout/bg_title_close.gif"; 97 } else { 98 sUrl = "//img.echosting.cafe24.com/skin/mobile_ko_KR/layout/bg_title_open.gif"; 99 } 100 $(this).css('background-image', 'url("'+ sUrl +'")'); 101 $(this).siblings().toggle(); 102 $(this).parent().find('div.ec-base-paginate').toggle(); 103 $(this).parent().next('div.xans-product-listmore').toggle(); 104 $(this).data('is_closed', !bClosed); 105 }); 106 107 /** 108 * ìë¨íë²í¼ 109 */ 110 var globalTopBtnScrollFunc = function() { 111 // íë²í¼ ê´ë ¨ë³ì 112 var $btnTop = $('#btnTop'); 113 114 $(window).on('scroll', function() { 115 try { 116 var iCurScrollPos = $(this).scrollTop(); 117 118 if (iCurScrollPos > ($(this).height() / 2)) { 119 $btnTop.fadeIn('fast'); 120 } else { 121 $btnTop.fadeOut('fast'); 122 } 123 } catch(e) { } 124 }); 125 }; 126 127 // /** 128 // * 구매ë²í¼ 129 // */ 130 // var globalBuyBtnScrollFunc = function() { 131 // // 구매ë²í¼ ê´ë ¨ë³ì 132 // var sFixId = $('#orderFixItem').length > 0 ? 'orderFixItem' : 'fixedActionButton', 133 // $area = $('#orderFixArea'), 134 // $item = $('#' + sFixId + '').not($area); 135 136 // $(window).on('scroll', function(){ 137 // try { 138 // // 구매ë²í¼ ê´ë ¨ë³ì 139 // var iCurrentHeightPos = $(this).scrollTop() + $(this).height(), 140 // iButtonHeightPos = $item.offset().top; 141 142 // if (iCurrentHeightPos > iButtonHeightPos || iButtonHeightPos < $(this).scrollTop() + $item.height()) { 143 // if (iButtonHeightPos < $(this).scrollTop() - $item.height()) { 144 // $area.fadeIn('fast'); 145 // } else { 146 // $area.hide(); 147 // } 148 // } else { 149 // $area.fadeIn('fast'); 150 // } 151 // } catch(e) { } 152 // }); 153 // }; 154 155 globalTopBtnScrollFunc(); 156 // globalBuyBtnScrollFunc(); // 주ì ì²ë¦¬ë¨ 157}); 158 159// ê³µíµë ì´ì´íì ì¤í 160var globalLayerOpenFunc = function(_this) { 161 this.id = $(_this).data('id'); 162 this.param = $(_this).data('param'); 163 this.basketType = $('#basket_type').val(); 164 this.url = $(_this).data('url'); 165 this.layerId = 'ec_temp_mobile_layer'; 166 this.layerIframeId = 'ec_temp_mobile_iframe_layer'; 167 168 var _this = this; 169 170 function paramSetUrl() { 171 if (this.param) { 172 // if isset param 173 } else { 174 this.url = this.basketType ? this.url + '?basket_type=' + this.basketType : this.url; 175 } 176 }; 177 178 if (this.url) { 179 window.ecScrollTop = $(window).scrollTop(); 180 $.ajax({ 181 url : this.url, 182 success : function (data) { 183 if (data.indexOf('404 íì´ì§ ìì') == -1) { 184 // ìë¤ë©´ ìì 185 try { $(_this).remove(); } catch ( e ) { } 186
187 var $layer = $('<div>', { 188 html: $("<iframe>", { src: _this.url, id: _this.layerIframeId, scrolling: 'auto', css: { width: '100%', height: '100%', overflowY: 'auto', border: 0 } } ), 189 id: _this.layerId, 190 css : { position: 'absolute', top: 0, left:0, width: '100%', height: $(window).height(), 'z-index': 9999 } 191 }); 192 193 $('body').append($layer); 194 $('html, body').css({'overflowY': 'hidden', height: '100%', width: '100%'}); 195 $('#' + this.layerId).show(); 196 } 197 } 198 }); 199 } 200}; 201 202// ê³µíµë ì´ì´íì ë«ê¸° 203var globalLayerCloseFunc = function() { 204 this.layerId = 'ec_temp_mobile_layer'; 205 206 if (window.parent === window) 207 self.close(); 208 else { 209 parent.$('html, body').css({'overflowY': 'auto', height: 'auto', width: '100%'}); 210 parent.$('html, body').scrollTop(parent.window.ecScrollTop); 211 parent.$('#' + this.layerId).remove(); 212 } 213}; 214 215/** 216 * document.location.href split 217 * return array Param 218 */ 219var getQueryString = function(sKey) 220{ 221 var sQueryString = document.location.search.substring(1); 222 var aParam = {}; 223 224 if (sQueryString) { 225 var aFields = sQueryString.split("&"); 226 var aField = []; 227 for (var i=0; i<aFields.length; i++) { 228 aField = aFields[i].split('='); 229 aParam[aField[0]] = aField[1]; 230 } 231 } 232 233 aParam.page = aParam.page ? aParam.page : 1; 234 return sKey ? aParam[sKey] : aParam; 235}; 236 237// PCë²ì ë°ë¡ ê°ê¸° 238var isPCver = function() { 239 var sUrl = window.location.hostname; 240 var aTemp = sUrl.split("."); 241 242 var pattern = /^(mobile[\-]{2}shop[0-9]+)$/; 243 244 if (aTemp[0] == 'm' || aTemp[0] == 'skin-mobile' || aTemp[0] == 'mobile') { 245 sUrl = sUrl.replace(aTemp[0]+'.', ''); 246 } else if (pattern.test(aTemp[0]) === true) { 247 var aExplode = aTemp[0].split('--'); 248 aTemp[0] = aExplode[1]; 249 sUrl = aTemp.join('.'); 250 } 251 window.location.href = '//'+sUrl+'/?is_pcver=T'; 252}; 253 254/* ëìë§ */ 255$('body').on('click', '.ec-base-tooltip-area .eTip', function(e){ 256 var findArea = $($(this).parents('.ec-base-tooltip-area')); 257 var findTarget = $($(this).siblings('.ec-base-tooltip')); 258 var findTooltip = $('.ec-base-tooltip'); 259 $('.ec-base-tooltip-area').removeClass('show'); 260 $(this).parents('.ec-base-tooltip-area').first().addClass('show'); 261 findTooltip.hide(); 262 findTarget.show(); 263 e.preventDefault(); 264}); 265 266$('body').on('click', '.ec-base-tooltip-area .eClose', function(e){ 267 var findTarget = $(this).parents('.ec-base-tooltip').first(); 268 $('.ec-base-tooltip-area').removeClass('show'); 269 findTarget.hide(); 270 e.preventDefault(); 271}); 272 273$('.ec-base-tooltip-area').find('input').on('focusout', function() { 274 var findTarget = $(this).parents('.ec-base-tooltip-area').find('.ec-base-tooltip'); 275 $('.ec-base-tooltip-area').removeClass('show'); 276 findTarget.hide(); 277}); 278/* ë¤ë¡ê°ê¸° ë²í¼ ì²ë¦¬ í¨ì */ 279function handleBackButton() { 280 // íì¤í ë¦¬ê° ìëì§ íì¸ (referrerê° ìê³ ê°ì ëë©ì¸ì´ê±°ë, history.length > 1) 281 var hasHistory = false; 282 283 // document.referrer íì¸ (ì´ì íì´ì§ê° ìëì§) 284 if (document.referrer && document.referrer.length > 0) { 285 try { 286 var referrerUrl = new URL(document.referrer); 287 var currentUrl = new URL(window.location.href); 288 // ê°ì ëë©ì¸ì´ë©´ íì¤í ë¦¬ê° ìë¤ê³ íë¨ 289 if (referrerUrl.hostname === currentUrl.hostname) { 290 hasHistory = true; 291 } 292 } catch(e) { 293 // URL íì± ì¤í¨ ì history.lengthë¡ íì¸ 294 hasHistory = window.history.length > 1; 295 } 296 } else { 297 // referrerê° ìì¼ë©´ history.lengthë¡ íì¸ 298 hasHistory = window.history.length > 1; 299 } 300 301 if (hasHistory) { 302 // íì¤í ë¦¬ê° ìì¼ë©´ ë¤ë¡ê°ê¸° 303 history.back(); 304 } else { 305 // íì¤í ë¦¬ê° ìì¼ë©´ ìµìì ì¹´í ê³ ë¦¬ë¡ ì´ë 306 var $topCategory = jQuery('.headcategory[module="product_headcategory"] .category_item:first a'); 307 if ($topCategory.length > 0) { 308 var topCategoryUrl = $topCategory.attr('href'); 309 if (topCategoryUrl) { 310 window.location.href = topCategoryUrl; 311 } else { 312 // ë§í¬ê° ìì¼ë©´ ë©ì¸ì¼ë¡ 313 window.location.href = '/'; 314 } 315 } else { 316 // ì¹´í ê³ ë¦¬ê° ìì¼ë©´ ë©ì¸ì¼ë¡ 317 window.location.href = '/'; 318 } 319 } 320} 321 322jQuery(document).ready(function() { 323 324 /* í¤ë ì 목 ëì ì¤ì */ 325 var titleAreaH2 = jQuery('#titleArea h2'); 326 if (titleAreaH2.length > 0) { 327 var pageTitle = titleAreaH2.text().trim(); 328 if (pageTitle) { 329 jQuery('.header-title-text').text(pageTitle); 330 } 331 } 332 333 /* morenvy.com ìë¨ ì¤í¬ë¡¤ ê³ ì */ 334 var last_scrollTop = 0; 335 var $headerInner = jQuery('#mheader .mh_sec01 .inner'); 336 if ($headerInner.length === 0) { 337 $headerInner = jQuery('.mh_sec01 .inner'); 338 } 339 340 if ($headerInner.length > 0) { 341 var top = $headerInner.offset().top; 342 var $swiperTop = jQuery('.swiper_top'); 343 var swiper_top_height = $swiperTop.outerHeight() || 50; // swiper_top ëì´ 344 var innerHeight = $headerInner.outerHeight(true) || 50; // inner ëì´ 345 346 // swiper_topì´ í¤ë ë´ë¶ì ìëì§ íì¸ (ë©ì¸ íì´ì§ì¸ ê²½ì°) 347 var isSwiperTopInHeader = $swiperTop.closest('#mheader .mh_sec01').length > 0 || 348 $swiperTop.closest('.mh_sec01').length > 0; 349 350 var scrollm = jQuery(window).scrollTop(); 351 if( scrollm > top ){ 352 $headerInner.addClass('fixed'); 353 // innerê° fixedëë©´ placeholder ì¶ê° (ì í ë°©ì§) 354 if ($headerInner.next('.inner-placeholder').length === 0) { 355 jQuery('<div class="inner-placeholder"></div>') 356 .css({
357 'height': innerHeight + 'px', 358 'width': '100%', 359 'display': 'block' 360 }) 361 .insertAfter($headerInner); 362 } 363 // swiper_topì´ í¤ë ì¸ë¶ì ìì ëë§ margin-top ì¶ê° (ë¤ë¥¸ íì´ì§) 364 if (!isSwiperTopInHeader && $swiperTop.length > 0) { 365 $swiperTop.css('margin-top', swiper_top_height + 'px'); 366 } 367 } 368 369 jQuery(window).scroll(function(){ 370 var scrollm = jQuery(window).scrollTop(); 371 if( scrollm > top ){ 372 if (!$headerInner.hasClass('fixed')) { 373 $headerInner.addClass('fixed'); 374 // innerê° fixedëë©´ placeholder ì¶ê° (ì í ë°©ì§) 375 if ($headerInner.next('.inner-placeholder').length === 0) { 376 jQuery('<div class="inner-placeholder"></div>') 377 .css({ 378 'height': innerHeight + 'px', 379 'width': '100%', 380 'display': 'block' 381 }) 382 .insertAfter($headerInner); 383 } 384 } 385 jQuery('body').addClass('h_fixed'); 386 // swiper_topì´ í¤ë ì¸ë¶ì ìì ëë§ margin-top ì¶ê° (ë¤ë¥¸ íì´ì§) 387 if (!isSwiperTopInHeader && $swiperTop.length > 0) { 388 $swiperTop.css('margin-top', swiper_top_height + 'px'); 389 } 390 391 if (scrollm > last_scrollTop) { 392 // íë¨ ë¤ë¹ê²ì´ì ì íì íìëëë¡ ê³ ì 393 // jQuery('#ft_nav').removeClass('nav_visible'); 394 jQuery('#right_quick').removeClass('up'); 395 } else { 396 // íë¨ ë¤ë¹ê²ì´ì ì íì íìëëë¡ ê³ ì 397 // jQuery('#ft_nav').addClass('nav_visible'); 398 jQuery('#right_quick').addClass('up'); 399 } 400 } else { 401 if ($headerInner.hasClass('fixed')) { 402 $headerInner.removeClass('fixed'); 403 // placeholder ì ê±° (í¤ë ë´ë¶ì ê²ë§) 404 $headerInner.next('.inner-placeholder').remove(); 405 } 406 // innerê° fixed í´ì ëë©´ margin-top ì ê±° 407 if ($swiperTop.length > 0) { 408 $swiperTop.css('margin-top', ''); 409 } 410 // íë¨ ë¤ë¹ê²ì´ì ì íì íìëëë¡ ê³ ì 411 // jQuery('#ft_nav').removeClass('nav_visible'); 412 jQuery('#right_quick').removeClass('up'); 413 jQuery('body').removeClass('h_fixed'); 414 } 415 last_scrollTop = scrollm; 416 }); 417 } 418 419 420 /* morenvy.com ìë¨ ë©ë´ */ 421 // ë°±ì : ì¤ìì´í¼ ê¸°ë¥ ì ê±°ë¨ (2024) 422 // var swiper_top = new Swiper('.swiper_top', { 423 // slidesPerView: 'auto', 424 // watchOverflow: 'true', 425 // spaceBetween:0, 426 // }); 427 428 // ìë¨ ë©ë´ active í´ëì¤ ì²ë¦¬ (íì¬ íì´ì§ì ë°ë¼) 429 jQuery('.swiper_top li a').each(function() { 430 var $link = jQuery(this); 431 var href = $link.attr('href'); 432 var currentPath = window.location.pathname; 433 var currentSearch = window.location.search; 434 435 // ë§í¬ê° íì¬ íì´ì§ì ì¼ì¹íëì§ íì¸ 436 if (href === currentPath || href === currentPath + currentSearch || 437 (currentPath === '/' && href === '/') || 438 (currentPath.includes('/product/list.html') && href.includes('/product/list.html'))) { 439 $link.addClass('active'); 440 $link.parent('li').addClass('active'); 441 } 442 }); 443 444 /* ì¹´í ê³ ë¦¬ ë©ë´ ì´ê¸° í¨ì */ 445 function openCategoryMenu() { 446 // .fold í´ë¦ì ì§ì í¸ë¦¬ê±° (ì¬ì´ëë° ì´ê¸°) 447 var $fold = jQuery('#mheader .fold'); 448 if ($fold.length > 0) { 449 $fold.trigger('click'); 450 } else { 451 // .foldê° ìì¼ë©´ ì¬ì´ëë° ì´ê¸° ê¸°ë¥ ì§ì ì¤í (slide_menu.jsì ê¸°ë¥ ë³µì ) 452 jQuery('#dimmedSlider').show(300); 453 jQuery('html').addClass('expand'); 454 // ì¬ì´ëë° íì 455 jQuery('#aside').css({ 456 'visibility': 'visible', 457 'display': 'block' 458 }); 459 // offCover.layout() í¸ì¶ 460 if (typeof offCover !== 'undefined' && typeof offCover.layout === 'function') { 461 offCover.layout(); 462 } 463 } 464 } 465 466 /* morenvy.com ìë¨ ë©ë´ ë²í¼ (íë²ê±°ë²í¼) */ 467 jQuery(' #ft_nav ul li.cate a').click(function(e){ 468 e.preventDefault(); 469 openCategoryMenu(); 470 }) 471 472 /* ë©ì¸ ì¹´í ê³ ë¦¬ ë©ë´ ë²í¼ í´ë¦ ì´ë²¤í¸ */ 473 jQuery('.category-menu-link').click(function(e){ 474 e.preventDefault(); 475 openCategoryMenu(); 476 }) 477 jQuery(document).on('click', '#dimmedSlider', function(e) { 478 $('#aside .btnClose').trigger('click'); 479 e.preventDefault(); 480 }); 481 482 483 /* morenvy.com ê²ì íì */ 484 jQuery('.top_search , #ft_nav ul li.search a').click(function(){ 485 jQuery('#search_box').addClass('search_fixed'); 486 $("body").addClass('notScroll'); 487 }) 488 jQuery('.search_form_empty').click(function(){ 489 jQuery('#search_box').addClass('search_fixed'); 490 $("body").addClass('notScroll'); 491 }) 492 jQuery('.search_close').click(function(){ 493 jQuery('#search_box').removeClass('search_fixed'); 494 $("body").removeClass('notScroll'); 495 }) 496 497 /* ìë¨ ì림 ìì ì ì²´ í´ë¦ ì´ë²¤í¸ (íìê°ì ë§í¬) */ 498 jQuery(document).on('click', '.header_notification', function(e) { 499 e.preventDefault(); 500
501 // íì¬ íì´ì§ URL ê°ì ¸ì¤ê¸° (pathname + search) 502 var currentUrl = window.location.pathname + window.location.search; 503 504 // returnUrl ì¸ì½ë© 505 var returnUrl = encodeURIComponent(currentUrl); 506 507 // ë¡ê·¸ì¸ íì´ì§ë¡ ì´ë (noMember=1, returnUrl, delvtype=A íë¼ë¯¸í° í¬í¨) 508 var loginUrl = '/member/agreement.html?noMember=1&returnUrl=' + returnUrl + '&delvtype=A'; 509 window.location.href = loginUrl; 510 }); 511 512 /* morenvy.com ê²ìì°½ 문구 */ 513 jQuery('.box_inner2 .xans-layout-searchheader fieldset').each(function() { 514 var searchheader_text = jQuery(this).attr('title'); 515 jQuery('.xans-layout-searchheader #keyword').attr('placeholder',searchheader_text) 516 }); 517 518 /* morenvy.com ê²ìì°½ 문구 ìì */ 519 jQuery('.xans-layout-searchheader').find('button.btn_delete').on('click', function() { 520 if (jQuery(this).closest('.withinInput').length === 0) { 521 var oForm = jQuery(this).parents('form'); 522 jQuery('#search_box #keyword').val('').focus(); 523 jQuery('#search_box #keyword').val(''); 524 jQuery('body').removeClass("eMobilePopup"); // eMobilePopup í´ëì¤ ìì 525 jQuery('body').css("width", ""); // width:100% ìì 526 oForm.find('#ec-product-searchdata-auto-list').hide(); 527 } 528 }); 529 530 /* ê²ììì : ì¶ì²ê²ìì´ */ 531 var swiper_recomm_word = new Swiper('.swiper_recomm_word', { 532 slidesPerView: 'auto', 533 spaceBetween: 8, 534 watchOverflow: 'true', 535 }); 536 537 /* morenvy.com ê²ìì°½ ìë ì¸ê¸°ê²ìì´ ë²í¸ */ 538 jQuery('.hot_keyword .keyword_sub a , .mm_keyword ul li').each(function(){ 539 var num = jQuery(this).index() + 1; 540 jQuery(this).find('.num').text(num); 541 }) 542 543 /* ë©ì¸ íì´ì§ ìµê·¼ 본 ìí ëì ë¡ë ë° ì¹ì ì¨ê¹ ì²ë¦¬ */ 544 if (jQuery('#main_recent_products').length > 0) { 545 var $section = jQuery('.mm_recent_products'); 546 547 // ìí ì¡´ì¬ ì¬ë¶ ì²´í¬ í¨ì (ê²½ëí) 548 function hasValidProducts($container) { 549 var $slides = $container.find('ul.swiper-wrapper li.swiper-slide, ul li'); 550 if ($slides.length === 0) return false; 551 552 var hasValid = false; 553 $slides.each(function() { 554 var $img = jQuery(this).find('img'); 555 if ($img.length > 0) { 556 var src = ($img.attr('src') || '').trim(); 557 if (src && src !== 'about:blank' && src.indexOf('{$') === -1 && !src.match(/^about:/)) { 558 hasValid = true; 559 return false; // break 560 } 561 } 562 }); 563 return hasValid; 564 } 565 566 // ì¹ì íì/ì¨ê¹ ì²ë¦¬ í¨ì 567 function toggleSection(show) { 568 if (show) { 569 $section.show(); 570 } else { 571 $section.hide(); 572 } 573 } 574 575 // ìµê·¼ 본 ìí ë¡ë ë° ì²´í¬ í¨ì 576 function loadAndCheckRecentProducts() { 577 var $searchBox = jQuery('#search_box'); 578 var $recentSection = $searchBox.find('.search_recent'); 579 var $swiperContainer = $recentSection.find('.ms_swiper, [module="Layout_productRecent"]'); 580 581 // íì ìì ì²´í¬ 582 if ($searchBox.length === 0 || $recentSection.length === 0 || $swiperContainer.length === 0) { 583 return false; 584 } 585 586 // 모ë ë ëë§ íì¸ (ì¤ì ìí ë°ì´í° ì²´í¬) 587 if (!hasValidProducts($swiperContainer)) { 588 // empty ë©ìì§ê° íìëì´ ìì¼ë©´ 모ëì ë ëë§ë ê²ì¼ë¡ ê°ì£¼ 589 var $emptyMsg = $recentSection.find('.empty'); 590 if ($emptyMsg.length === 0 || !$emptyMsg.is(':visible')) { 591 return false; // ìì§ ë ëë§ ì ë¨ 592 } 593 } 594 595 // ì¹ì ë³µì ë° ì½ì 596 var $clonedSection = $recentSection.clone(true); 597 var $clonedContainer = $clonedSection.find('.ms_swiper, [module="Layout_productRecent"]'); 598 var hasProducts = hasValidProducts($clonedContainer); 599 600 // ìíì´ ìì¼ë©´ ì¹ì ì¨ê¹ 601 if (!hasProducts) { 602 toggleSection(false); 603 return true; 604 } 605 606 // ìíì´ ìì¼ë©´ ì¹ì íì ë° ì½ì 607 jQuery('#main_recent_products').html($clonedSection); 608 $clonedSection.find('.empty').hide(); 609 toggleSection(true); 610
611 // Swiper ì´ê¸°í 612 setTimeout(function() { 613 var $swiperEl = jQuery('#main_recent_products .ms_swiper'); 614 if ($swiperEl.length > 0 && typeof Swiper !== 'undefined') { 615 if ($swiperEl[0].swiper) { 616 $swiperEl[0].swiper.destroy(true, true); 617 } 618 new Swiper($swiperEl[0], { 619 spaceBetween: 8, 620 roundLengths: true, 621 observer: true, 622 observeParents: true, 623 slidesPerView: 'auto', 624 speed: 500, 625 watchOverflow: 'true' 626 }); 627 } 628 }, 100); 629 630 return true; 631 } 632 633 // ì´ê¸° ë¡ë ìë (íì´ì§ ë¡ë ì í ë²ë§ ì²´í¬) 634 setTimeout(function() { 635 if (!loadAndCheckRecentProducts()) { 636 var retryCount = 0; 637 var retryInterval = setInterval(function() { 638 retryCount++; 639 if (loadAndCheckRecentProducts() || retryCount >= 30) { 640 clearInterval(retryInterval); 641 if (retryCount >= 30) { 642 toggleSection(false); 643 } 644 } 645 }, 300); 646 } 647 }, 500); 648 } 649 650 /* morenvy.com ê²ìì°½ ìµê·¼ 본 ìí */ 651 var ms_swiper = new Swiper('.ms_swiper', { 652 spaceBetween: 8, 653 roundLengths: true, 654 observer: true, 655 observeParents: true, 656 slidesPerView: 'auto', 657 speed: 500, 658 watchOverflow: 'true', 659 }); 660 661 /* ê²ìì°½ ìµê·¼ 본 ìí - ë´ì© ìì¼ë©´ ì¨ê¹ ì²ë¦¬ */ 662 function checkSearchRecentProducts() { 663 var $searchRecent = jQuery('#search_box .search_recent'); 664 if ($searchRecent.length > 0) { 665 var $swiperContainer = $searchRecent.find('.ms_swiper, [module="Layout_productRecent"]'); 666 var $listItems = $swiperContainer.find('ul li'); 667 var hasProducts = $listItems.length > 0 && $listItems.filter(function() { 668 return jQuery(this).css('display') !== 'none' && jQuery(this).is(':visible') && jQuery(this).find('img').attr('src') !== 'about:blank'; 669 }).length > 0; 670 671 if (!hasProducts) { 672 $searchRecent.hide(); 673 } else { 674 $searchRecent.show(); 675 } 676 } 677 } 678 679 // ì´ê¸° ì²´í¬ ë° ëª¨ë ë¡ë í ì²´í¬ 680 setTimeout(function() { 681 checkSearchRecentProducts(); 682 // 모ëì´ ëì ì¼ë¡ ì ë°ì´í¸ë ë를 ëë¹ 683 var searchObserver = new MutationObserver(function(mutations) { 684 checkSearchRecentProducts(); 685 }); 686 var $searchBox = jQuery('#search_box .search_recent'); 687 if ($searchBox.length > 0) { 688 searchObserver.observe($searchBox[0], { 689 childList: true, 690 subtree: true, 691 attributes: true, 692 attributeFilter: ['style', 'class'] 693 }); 694 } 695 }, 500); 696 697 /* morenvy.com íë¨ íµë° */ 698 jQuery(window).scroll(function(){ 699 s_t = jQuery(this).scrollTop(); 700 if (s_t >= jQuery(window).height() / 2){ // scrollTop ê°ì´ 100vh ëì¼ë©´ 701 jQuery('#right_quick .q_arrow_top').stop().fadeIn(200) 702 } else {jQuery('#right_quick .q_arrow_top').stop().fadeOut(200)} 703 }) 704 705 /* morenvy.com ìíëª©ë¡ ë² ì¤í¸ ë¶ë¥ ììì¶ë ¥ */ 706 jQuery('.list_recmd .num').each(function(index){ 707 jQuery(this).text(index+1); 708 }); 709 710 /* ì¹´í ê³ ë¦¬ ëª©ë¡ "ì ì²´" í목 ì í ìí ê´ë¦¬ (그리ë íì) */ 711 var $menuCategory = jQuery('.list_category_grid .menuCategory, .list_menupackage .menuCategory'); 712 if ($menuCategory.length > 0) { 713 var $allItem = $menuCategory.find('li[data-cate="all"]'); 714 715 if ($allItem.length > 0) { 716 // íì¬ URLìì cate_no íë¼ë¯¸í° ê°ì ¸ì¤ê¸° 717 var urlParams = new URLSearchParams(window.location.search); 718 var currentCateNo = urlParams.get('cate_no'); 719 720 // "ì ì²´" ë§í¬ìì ìì ì¹´í ê³ ë¦¬ ë²í¸ ì¶ì¶ 721 var $allLink = $allItem.find('a'); 722 var allHref = $allLink.attr('href'); 723 var parentCateNo = null; 724 725 if (allHref && allHref.indexOf('cate_no=') > -1) { 726 var allLinkParams = new URLSearchParams(allHref.split('?')[1] || ''); 727 parentCateNo = allLinkParams.get('cate_no'); 728 } else if (allHref && allHref.indexOf('?') === -1) { 729 // cate_noê° ìì¼ë©´ ìì ì¹´í ê³ ë¦¬ ìì 730 parentCateNo = null; 731 } 732 733 // "ì ì²´" íëª©ì´ ì íëì´ì¼ íëì§ íì¸ 734 // íì¬ cate_noê° ìì ì¹´í ê³ ë¦¬ì ê°ê±°ë, ì íë íëª©ì´ ìê±°ë, cate_noê° ìì¼ë©´ "ì ì²´" ì í 735 var hasSelected = jQuery('.list_category_grid .category-item.selected, .list_menupackage .swiper-slide.selected').not('[data-cate="all"]').length > 0; 736 var isSelected = (!currentCateNo || currentCateNo === parentCateNo) || !hasSelected; 737 738 if (isSelected) { 739 $allItem.addClass('selected'); 740 jQuery('.list_category_grid .category-item, .list_menupackage .swiper-slide').not('[data-cate="all"]').removeClass('selected'); 741 } else { 742 $allItem.removeClass('selected'); 743 } 744 } 745 } 746 747 /* morenvy.com ìíëª©ë¡ ì¤ë¶ë¥ í´ë¹ ì¹´í ê³ ë¦¬ ì í (그리ë íì) */ 748 jQuery('.list_category_grid .category-item, .list_menupackage .swiper-slide').each(function(index) { 749 jQuery(this).attr('id', index); 750 }); 751 var my_paramid = jQuery('.list_category_grid .category-item.selected, .list_menupackage .swiper-slide.selected').attr('id'); 752 if (typeof my_paramid === "undefined") { 753 var my_paramid = 0 754 } 755 756 /* morenvy.com ìíëª©ë¡ ì¶ì²ìí */ 757 if (jQuery('.list_recmd').length > 0 && jQuery('.list_recmd').hasClass('swiper-container')) { 758 var list_recmd = new Swiper('.list_recmd', {
759 roundLengths: true, 760 observer: true, 761 observeParents: true, 762 slidesPerView: 'auto', 763 speed: 500, 764 watchOverflow: 'true', 765 }); 766 } 767 768 /* morenvy.com ìíëª©ë¡ ì ìí */ 769 var list_new = new Swiper('.list_new', { 770 roundLengths: true, 771 observer: true, 772 observeParents: true, 773 slidesPerView: 'auto', 774 speed: 500, 775 watchOverflow: 'true', 776 }); 777 778 /* ì¹´í ê³ ë¦¬ ì 체보기 (ë°±ì : Swiper íìì©) */ 779 //console.log(('.xans-product-menupackage .list_menupackage .swiper-wrapper').length) 780 // if( jQuery('.xans-product-menupackage .list_menupackage .swiper-wrapper').length > 1 ){ 781 // jQuery('.xans-product-menupackage .list_menupackage').css('padding' , '0'); 782 // } 783 784 /* morenvy.com ìíëª©ë¡ ì¤ë¶ë¥ (ë°±ì : Swiper ì´ê¸°í ì ê±°ë¨ - 그리ë íìì¼ë¡ ë³ê²½) */ 785 // var list_menupackage = new Swiper('.list_menupackage', { 786 // slidesPerView: 'auto', 787 // spaceBetween: 0, 788 // }); 789 790 /* 리뷰ê²ìí */ 791 var swiper_best_review = new Swiper('.swiper_best_review', { 792 slidesPerView: '1.5', 793 spaceBetween: 16, 794 watchOverflow: 'true', 795 speed:800, 796 }); 797 798 /* 문ì ê²ìí Aì 공백ì ê±° */ 799 jQuery('.xans-board-list .subject, .xans-myshop-boardlist .subject').each(function(){ 800 jQuery(this).html(jQuery(this).html().replace(/ /gi,'')); 801 }); 802 803 /* íë¡í ì´ë¯¸ì§ ë¡ë ì¤í¨ ì 기본 íë¡í SVG íì */ 804 function setDefaultProfileImage() { 805 // íì´ì¤ë¶ ì¤íì¼ ê¸°ë³¸ íë¡í SVG (íì ë°°ê²½ + í°ì ì¤ë£¨ì£) 806 var defaultProfileSVG = '<svg width="200" height="200" viewBox="0 0 200 200" fill="none" xmlns="http://www.w3.org/2000/svg"><circle cx="100" cy="100" r="100" fill="#E4E6EB"/><circle cx="100" cy="75" r="35" fill="#FFFFFF"/><path d="M50 160C50 135 70 120 100 120C130 120 150 135 150 160L150 200L50 200L50 160Z" fill="#FFFFFF"/></svg>'; 807 808 // ì´ë¯¸ì§ ìë¬ ì²ë¦¬ í¨ì (리ì¤í¸ì©) 809 function handleImageError(img) { 810 var $img = jQuery(img); 811 var $thumbnail = $img.closest('.supply_thumbnail'); 812 813 // ììê° ì¡´ì¬íëì§ íì¸ 814 if (!$img.length || !$thumbnail.length) { 815 return; 816 } 817 818 // ì´ë¯¸ SVGê° ìì¼ë©´ ì²ë¦¬íì§ ìì 819 if ($thumbnail.find('.default-profile-svg').length > 0) { 820 return; 821 } 822 823 $img.hide(); 824 $thumbnail.prepend('<div class="default-profile-svg">' + defaultProfileSVG + '</div>'); 825 } 826 827 // ì´ë¯¸ì§ ì ì ë¡ë ì²ë¦¬ í¨ì (리ì¤í¸ì©) 828 function handleImageLoad(img) { 829 var $img = jQuery(img); 830 var $thumbnail = $img.closest('.supply_thumbnail'); 831 832 // ììê° ì¡´ì¬íëì§ íì¸ 833 if (!$img.length || !$thumbnail.length || !$img[0]) { 834 return; 835 } 836 837 // ì´ë¯¸ì§ê° ì ì ë¡ëëë©´ SVG ì¨ê¸°ê³ ì´ë¯¸ì§ íì 838 if ($img[0].naturalWidth > 0 && $img[0].naturalHeight > 0) { 839 $img.show(); 840 $thumbnail.find('.default-profile-svg').hide(); 841 } 842 } 843 844 // ì´ë¯¸ì§ ìë¬ ì²ë¦¬ í¨ì (ìì¸ íì´ì§ì©) 845 function handleProducerImageError(img) { 846 var $img = jQuery(img); 847 var $thumbnail = $img.closest('.producer_image'); 848 849 // ììê° ì¡´ì¬íëì§ íì¸ 850 if (!$img.length || !$thumbnail.length) { 851 return; 852 } 853 854 // ì´ë¯¸ SVGê° ìì¼ë©´ ì²ë¦¬íì§ ìì 855 if ($thumbnail.find('.default-profile-svg').length > 0) { 856 return; 857 } 858 859 $img.hide(); 860 $thumbnail.find('.default-profile-svg').show(); 861 } 862 863 // ì´ë¯¸ì§ ë¡ë ìë¬ ì´ë²¤í¸ ì²ë¦¬ (기존 + ëì ìì 모ë) 864 jQuery(document).on('error', '.supply_thumbnail img', function() { 865 handleImageError(this); 866 }); 867 868 // ì´ë¯¸ì§ ë¡ë ì±ê³µ ì´ë²¤í¸ ì²ë¦¬ (리ì¤í¸ì©) 869 jQuery(document).on('load', '.supply_thumbnail img', function() { 870 handleImageLoad(this); 871 }); 872 873 // ìì¸ íì´ì§ íë¡í ì´ë¯¸ì§ ìë¬ ì²ë¦¬ 874 jQuery(document).on('error', '.producer_image img', function() { 875 handleProducerImageError(this); 876 }); 877 878 // ìì¸ íì´ì§ íë¡í ì´ë¯¸ì§ ë¡ë ì±ê³µ ì²ë¦¬ 879 jQuery(document).on('load', '.producer_image img', function() { 880 var $img = jQuery(this); 881 var $thumbnail = $img.closest('.producer_image'); 882 883 // ììê° ì¡´ì¬íëì§ íì¸ 884 if (!$img.length || !$thumbnail.length || !$img[0]) { 885 return; 886 } 887
888 if ($img[0].naturalWidth > 0 && $img[0].naturalHeight > 0) { 889 $img.css('display', 'block'); 890 $thumbnail.find('.default-profile-svg').hide(); 891 } 892 }); 893 894 // 모ë íë¡í ì´ë¯¸ì§ ì²´í¬ (리ì¤í¸ì©) 895 jQuery('.supply_thumbnail img').each(function() { 896 var $img = jQuery(this); 897 var img = this; 898 var imgSrc = $img.attr('src'); 899 var $thumbnail = $img.closest('.supply_thumbnail'); 900 901 // ì´ë¯¸ì§ê° ë¡ë ìë£ë ê²½ì° 902 if (img.complete) { 903 // ì´ë¯¸ì§ í¬ê¸°ê° 0ì´ê±°ë ìë¬ì¸ ê²½ì° 904 if (img.naturalWidth === 0 || img.naturalHeight === 0) { 905 handleImageError(img); 906 return; 907 } else { 908 // ì´ë¯¸ì§ê° ì ì ë¡ëëë©´ SVG ì¨ê¸°ê³ ì´ë¯¸ì§ íì 909 handleImageLoad(img); 910 } 911 } else { 912 // ì´ë¯¸ì§ê° ìì§ ë¡ë ì¤ì¸ ê²½ì°, ë³ëë¡ ì²´í¬ 913 var testImg = new Image(); 914 var originalImgSrc = imgSrc; 915 916 testImg.onload = function() { 917 // í ì¤í¸ ì´ë¯¸ì§ ë¡ë ì±ê³µíì§ë§, ì본 ì´ë¯¸ì§ê° ì¬ì í ë¡ë ì ëì¼ë©´ ì²´í¬ 918 setTimeout(function() { 919 if (img.complete && (img.naturalWidth === 0 || img.naturalHeight === 0)) { 920 handleImageError(img); 921 } else if (img.complete && img.naturalWidth > 0 && img.naturalHeight > 0) { 922 // ì´ë¯¸ì§ê° ì ì ë¡ëëë©´ SVG ì¨ê¸°ê³ ì´ë¯¸ì§ íì 923 handleImageLoad(img); 924 } 925 }, 100); 926 }; 927 928 testImg.onerror = function() { 929 // í ì¤í¸ ì´ë¯¸ì§ ë¡ë ì¤í¨ = ì본ë ì¤í¨í ê°ë¥ì± ëì 930 handleImageError(img); 931 }; 932 933 // í ì¤í¸ ì´ë¯¸ì§ ë¡ë ìë 934 if (imgSrc) { 935 testImg.src = imgSrc; 936 } else { 937 // srcê° ìì¼ë©´ ë°ë¡ ìë¬ ì²ë¦¬ 938 handleImageError(img); 939 } 940 } 941 }); 942 943 // 모ë íë¡í ì´ë¯¸ì§ ì²´í¬ (ìì¸ íì´ì§ì©) 944 jQuery('.producer_image img').each(function() { 945 var $img = jQuery(this); 946 var img = this; 947 var imgSrc = $img.attr('src'); 948 var $thumbnail = $img.closest('.producer_image'); 949 950 // ì´ë¯¸ì§ê° ì²ììë ì¨ê¹ ìíë¡ ìì (CSSë¡ ì²ë¦¬) 951 $img.hide(); 952 953 // ì´ë¯¸ì§ê° ë¡ë ìë£ë ê²½ì° 954 if (img.complete) { 955 // ì´ë¯¸ì§ í¬ê¸°ê° 0ì´ê±°ë ìë¬ì¸ ê²½ì° 956 if (img.naturalWidth === 0 || img.naturalHeight === 0) { 957 handleProducerImageError(img); 958 return; 959 } else { 960 // ì´ë¯¸ì§ê° ì ì ë¡ëëë©´ SVG ì¨ê¸°ê³ ì´ë¯¸ì§ íì 961 $img.css('display', 'block'); 962 $thumbnail.find('.default-profile-svg').hide(); 963 } 964 } else { 965 // ì´ë¯¸ì§ê° ìì§ ë¡ë ì¤ì¸ ê²½ì°, ë³ëë¡ ì²´í¬ 966 var testImg = new Image(); 967 var originalImgSrc = imgSrc; 968 969 testImg.onload = function() { 970 // í ì¤í¸ ì´ë¯¸ì§ ë¡ë ì±ê³µíì§ë§, ì본 ì´ë¯¸ì§ê° ì¬ì í ë¡ë ì ëì¼ë©´ ì²´í¬ 971 setTimeout(function() { 972 if (img.complete && (img.naturalWidth === 0 || img.naturalHeight === 0)) { 973 handleProducerImageError(img); 974 } else if (img.complete && img.naturalWidth > 0 && img.naturalHeight > 0) { 975 // ì´ë¯¸ì§ê° ì ì ë¡ëëë©´ SVG ì¨ê¸°ê³ ì´ë¯¸ì§ íì 976 $img.css('display', 'block'); 977 $thumbnail.find('.default-profile-svg').hide(); 978 } 979 }, 100); 980 }; 981 982 testImg.onerror = function() { 983 // í ì¤í¸ ì´ë¯¸ì§ ë¡ë ì¤í¨ = ì본ë ì¤í¨í ê°ë¥ì± ëì 984 handleProducerImageError(img); 985 }; 986 987 // í ì¤í¸ ì´ë¯¸ì§ ë¡ë ìë 988 if (imgSrc) { 989 testImg.src = imgSrc; 990 } else { 991 // srcê° ìì¼ë©´ ë°ë¡ ìë¬ ì²ë¦¬ 992 handleProducerImageError(img); 993 } 994 } 995 }); 996 } 997 998 // ì´ê¸° ì¤í 999 setDefaultProfileImage(); 1000 1001 // DOM ë¡ë ìë£ íìë í ë² ë ì²´í¬ 1002 jQuery(window).on('load', function() { 1003 setTimeout(function() { 1004 setDefaultProfileImage(); 1005 }, 500); 1006 }); 1007 1008 /* íí° ëª¨ë¬ ë´ë¶ ë«ê¸° ë²í¼ ì²ë¦¬ */ 1009 jQuery(document).on('click', '#filterModal .btnClose', function(e) { 1010 e.preventDefault(); 1011 if (typeof window.SlideModal !== 'undefined') { 1012 window.SlideModal.close('#filterModal'); 1013 } 1014 }); 1015 1016 /* íí° ë¦¬ì¤í¸ ìì± í¨ì */ 1017 function createFilterList() { 1018 var $filterCamera = jQuery('#filterListCamera'); 1019 var $filterItems = jQuery('.searchDataResult li:visible'); 1020 1021 $filterCamera.empty(); 1022 1023 if ($filterItems.length === 0) { 1024 return; 1025 } 1026 1027 $filterItems.each(function() { 1028 var $item = jQuery(this); 1029 var $deleteBtn = $item.find('.btnSearchDelete'); 1030 var filterText = $item.clone().find('.btnSearchDelete').remove().end().text().trim(); 1031 filterText = filterText.replace(/ /g, '').trim(); 1032 1033 // "ì¡°ë¦¬ë°©ë² :", "조리ìê° :" ê°ì ë¼ë²¨ ì ê±° (ì½ë¡ ìì í ì¤í¸ ì ê±°) 1034 filterText = filterText.replace(/^[^:]+:\s*/, ''); 1035 1036 if (!filterText || !$deleteBtn.length) { 1037 return; 1038 } 1039 1040 var searchType = $deleteBtn.attr('search_type'); 1041 var searchValue = $deleteBtn.attr('search_value'); 1042 1043 // X ìì´ì½ SVG 1044 var closeIcon = '<svg width="12" height="12" viewBox="0 0 12 12" fill="none" xmlns="http://www.w3.org/2000/svg" class="filter_close_icon"><path d="M9 3L3 9M3 3L9 9" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg>'; 1045 1046 var $filterBtn = jQuery('<button>') 1047 .addClass('filter_list_btn') 1048 .attr('type', 'button') 1049 .attr('data-search-type', searchType || '') 1050 .attr('data-search-value', searchValue || '') 1051 .html('<span class="filter_btn_text">' + filterText + '</span><span class="filter_close_btn">' + closeIcon + '</span>'); 1052 1053 var $inner = jQuery('<div>').addClass('filter_list_inner').append($filterBtn); 1054 var $listItem = jQuery('<li>').addClass('filter_list_item').append($inner); 1055 1056 $filterCamera.append($listItem); 1057 }); 1058 } 1059 1060 /* íí° ê°ì ì ë°ì´í¸ í¨ì */ 1061 function updateFilterCount() { 1062 var $filterItems = jQuery('.searchDataResult li'); 1063 var visibleItems = $filterItems.filter(function() { 1064 var $item = jQuery(this); 1065 return $item.is(':visible') && $item.css('display') !== 'none' && $item.find('.btnSearchDelete').length > 0; 1066 }); 1067 var filterCount = visibleItems.length; 1068 1069 var $filterCount = jQuery('#filterCount'); 1070 var $filterBtn = jQuery('.filter_btn'); 1071 var $filterResetWrap = jQuery('#filterResetWrap'); 1072 1073 // íí° ë¦¬ì¤í¸ ìì± 1074 createFilterList(); 1075 1076 if (filterCount > 0) { 1077 $filterCount.text(filterCount).show(); 1078 $filterBtn.addClass('active'); 1079 $filterResetWrap.css('display', 'block').show(); 1080 } else { 1081 $filterCount.hide(); 1082 $filterBtn.removeClass('active'); 1083 $filterResetWrap.css('display', 'none').hide(); 1084 } 1085 } 1086 1087 // ì´ê¸° ë¡ë ì íí° ê°ì ì ë°ì´í¸ 1088 jQuery(document).ready(function() {
1089 // ì½ê°ì ì§ì°ì ëê³ ì¤í (ì¹´í24 모ë ë ëë§ ë기) 1090 setTimeout(function() { 1091 updateFilterCount(); 1092 }, 100); 1093 1094 // íí° ì¡°ê±´ ìì ë³ê²½ ê°ì§ 1095 var observer = new MutationObserver(function(mutations) { 1096 setTimeout(function() { 1097 updateFilterCount(); 1098 }, 50); 1099 }); 1100 1101 var filterArea = document.querySelector('.xans-product-searchconditiondata'); 1102 if (filterArea) { 1103 observer.observe(filterArea, { 1104 childList: true, 1105 subtree: true, 1106 attributes: true, 1107 attributeFilter: ['style'] 1108 }); 1109 } 1110 1111 // searchDataResult ììë ê°ì 1112 var searchResultArea = document.querySelector('.searchDataResult'); 1113 if (searchResultArea) { 1114 observer.observe(searchResultArea, { 1115 childList: true, 1116 subtree: true 1117 }); 1118 } 1119 }); 1120 1121 /* íí° ë¦¬ì¤í¸ ë²í¼ í´ë¦ ì´ë²¤í¸ (ìì ) */ 1122 jQuery(document).on('click', '.filter_list_btn .filter_close_btn', function(e) { 1123 e.preventDefault(); 1124 e.stopPropagation(); 1125 1126 var $btn = jQuery(this).closest('.filter_list_btn'); 1127 var searchType = $btn.attr('data-search-type'); 1128 var searchValue = $btn.attr('data-search-value'); 1129 1130 if (!searchType || !searchValue) { 1131 return; 1132 } 1133 1134 // í´ë¹ íí° ìì ë²í¼ ì°¾ìì í´ë¦ 1135 var $deleteBtn = jQuery('.btnSearchDelete[search_type="' + searchType + '"][search_value="' + searchValue + '"]'); 1136 if ($deleteBtn.length) { 1137 $deleteBtn.trigger('click'); 1138 } 1139 }); 1140 1141 /* íí° ìì ë²í¼ ì´ë²¤í¸ ì²ë¦¬ */ 1142 jQuery(document).on('click', '.btnSearchDelete', function(e) { 1143 e.preventDefault(); 1144 var $btn = jQuery(this); 1145 var searchType = $btn.attr('search_type'); 1146 var searchValue = $btn.attr('search_value'); 1147 1148 if (!searchType || !searchValue) { 1149 return; 1150 } 1151 1152 // URL íë¼ë¯¸í°ìì í´ë¹ íí° ì ê±° 1153 var urlParams = new URLSearchParams(window.location.search); 1154 var currentUrl = window.location.pathname; 1155 1156 // search_form[option_data][] ë°°ì´ìì í´ë¹ ê° ì ê±° 1157 if (searchType === 'eOptionSearch') { 1158 var optionDataParams = urlParams.getAll('search_form[option_data][]'); 1159 1160 // íí°ë§: searchValueì ì¼ì¹íë ê²ì 모ë ì ê±° 1161 var filteredParams = optionDataParams.filter(function(param) { 1162 // ì´ì¤ ì¸ì½ë©ë ê°ë ì²ë¦¬ 1163 try { 1164 // í ë² ëì½ë© 1165 var decoded1 = decodeURIComponent(param); 1166 // ë ë² ëì½ë© (ì´ì¤ ì¸ì½ë©ë ê²½ì°) 1167 var decoded2 = decodeURIComponent(decoded1); 1168 1169 // searchValueì ì¼ì¹íë©´ ì ê±° (false ë°í) 1170 if (param === searchValue || 1171 decoded1 === searchValue || 1172 decoded2 === searchValue) { 1173 return false; 1174 } 1175 1176 // ì¸ì½ë©ë ê°ê³¼ë ë¹êµ 1177 var encodedValue = encodeURIComponent(searchValue); 1178 if (param === encodedValue || decoded1 === encodedValue) { 1179 return false; 1180 } 1181 1182 return true; // ì¼ì¹íì§ ìì¼ë©´ ì ì§ 1183 } catch(e) { 1184 // ëì½ë© ì¤í¨ ì ì본과 ë¹êµ 1185 return param !== searchValue && param !== encodeURIComponent(searchValue); 1186 } 1187 }); 1188 1189 // 모ë search_form[option_data][] íë¼ë¯¸í° ì ê±° 1190 urlParams.delete('search_form[option_data][]'); 1191 1192 // íí°ë§ë íë¼ë¯¸í° ë¤ì ì¶ê° 1193 filteredParams.forEach(function(param) { 1194 urlParams.append('search_form[option_data][]', param); 1195 }); 1196 } 1197 1198 // ì URLë¡ ì´ë 1199 var newQueryString = urlParams.toString(); 1200 var newUrl = currentUrl + (newQueryString ? '?' + newQueryString : ''); 1201 window.location.href = newUrl; 1202 }); 1203 1204 /* ê²ì ê²°ê³¼ empty ë©ìì§ íì/ì¨ê¹ ì²ë¦¬ */ 1205 function updateSearchEmptyMessage() { 1206 var $searchData = jQuery('.xans-product-searchdata'); 1207 if ($searchData.length === 0) return; 1208 1209 var $emptyMsg = $searchData.find('.empty'); 1210 if ($emptyMsg.length === 0) return; 1211 1212 // ìí 리ì¤í¸ íì¸ (ì¬ë¬ 모ë íì¸) 1213 var $productList = jQuery('.ec-base-product[module="product_listnormal"] .prdList li, .ec-base-product[module="product_listrecommend"] .prdList li, .ec-base-product[module="Search_Result"] .prdList li'); 1214 var hasProducts = $productList.length > 0 && $productList.filter(function() { 1215 return jQuery(this).css('display') !== 'none' && jQuery(this).is(':visible'); 1216 }).length > 0; 1217 1218 if (hasProducts) { 1219 $emptyMsg.removeClass('show').hide(); 1220 } else { 1221 $emptyMsg.addClass('show').show(); 1222 } 1223 } 1224 1225 // ì´ê¸° ì¤í 1226 updateSearchEmptyMessage(); 1227 1228 // ìí 리ì¤í¸ ë³ê²½ ê°ì§ (MutationObserver) 1229 var productListObserver = new MutationObserver(function(mutations) { 1230 updateSearchEmptyMessage(); 1231 }); 1232 1233 // ìí 리ì¤í¸ 컨í ì´ëë¤ ê´ì°° 1234 jQuery('.ec-base-product[module="product_listnormal"], .ec-base-product[module="product_listrecommend"], .ec-base-product[module="Search_Result"]').each(function() { 1235 var $container = jQuery(this).find('.prdList'); 1236 if ($container.length > 0) { 1237 productListObserver.observe($container[0], { childList: true, subtree: true, attributes: true }); 1238 } 1239 }); 1240 1241 // ë보기 ë²í¼ í´ë¦ íìë íì¸ 1242 jQuery(document).on('click', '.btnMore, .more', function() { 1243 setTimeout(function() { 1244 updateSearchEmptyMessage(); 1245 }, 500); 1246 }); 1247 1248 /* morenvy.com ëª©ë¡ ë보기 í´ë¦ì í ì¸ì¨ ê³ì° */ 1249 cal_percent(); //í ì¸ì¨ 1250 jQuery('.ec-base-product ul.prdList').each(function(i){ 1251 const target = this; 1252 let observer = new MutationObserver((mutations) => { // ë ¸ëê° ë³ê²½ ëì ëì ìì 1253 cal_percent(); //í ì¸ì¨ 1254 setDefaultProfileImage(); // íë¡í ì´ë¯¸ì§ ì²ë¦¬ 1255 }); 1256 observer.observe(target, { attributes: true, childList: true }); // ì¤ì í ë³ê²½ì ê°ì§ ìì 1257 }); 1258 1259 setTimeout(function(){ 1260 noCart(); //ì¥ë°êµ¬ë,ìì´ì½ 1261 1262 /* íì ìì´ì½ í ì¤í¸ë¡ ëì²´ */ 1263 jQuery('.soldout_icon').each(function(){ 1264 if( jQuery(this).children().length != 0 ){ 1265 jQuery(this).html('íì ìí').addClass('on') 1266 jQuery(this).parents('.box').find('.pro_icon .cart').remove(); 1267 } 1268 }); 1269 },100); 1270
1271 jQuery(".more_btn , .prd_more").click( function( ){ 1272 setTimeout(function(){ 1273 noCart(); 1274 1275 jQuery('.list_best .num').each(function(index){ 1276 jQuery(this).text(index+1); 1277 }); 1278 1279 /* íì ìì´ì½ í ì¤í¸ë¡ ëì²´ */ 1280 jQuery('.soldout_icon').each(function(){ 1281 if( jQuery(this).children().length != 0 ){ 1282 jQuery(this).text('íì ìí').addClass('on') 1283 jQuery(this).siblings('.pro_icon').remove(); 1284 } 1285 }); 1286 },600); 1287 }); 1288}); 1289 1290// ì¤í¬ë¡¤ ì í ON 1291function scroll_on() { 1292 $('.body').on('scroll touchmove mousewheel', function(e) { 1293 e.preventDefault(); 1294 e.stopPropagation(); 1295 return false; 1296 }); 1297} 1298 1299// ì¤í¬ë¡¤ ì í OFF 1300function scroll_off() { 1301 $('.body').off('scroll touchmove mousewheel'); 1302} 1303 1304/* morenvy.com ìíì ë³´íì */ 1305function children_title () { 1306 jQuery('.description ul.spec li').not('.swiper_rel .description ul.spec li , .swiper_add .description ul.spec li').each(function(){ 1307 var isTitle = jQuery(this).children('.title').children('span').text() 1308 jQuery(this).attr('rel',isTitle) 1309 }) 1310} 1311 1312/* íí° ë²í¼ì í´ëì¤ ì¶ê° */ 1313jQuery(document).ready(function() { 1314 function addButtonClass() { 1315 jQuery('.filterList button').not('.filterButton').addClass('filterButton'); 1316 } 1317 addButtonClass(); 1318 // ëì ì¼ë¡ ì¶ê°ëë ë²í¼ë ì²ë¦¬ 1319 jQuery('.filterList').on('DOMNodeInserted', function() { 1320 addButtonClass(); 1321 }); 1322 // MutationObserver ì¬ì© (ë íëì ì¸ ë°©ë²) 1323 if (window.MutationObserver) { 1324 var observer = new MutationObserver(function(mutations) { 1325 addButtonClass(); 1326 }); 1327 jQuery('.filterList').each(function() { 1328 observer.observe(this, { childList: true, subtree: true }); 1329 }); 1330 } 1331}); 1332 1333/* morenvy.com í ì¸ì¨ ê³ì° */ 1334function cal_percent () { 1335 // ìíëª©ë¡ í ì¸ì¨ ê³ì° (data ìì± ê¸°ë°) 1336 jQuery('.price .discount_rate[data-prod-custom][data-prod-price]').each(function(){ 1337 var $discountSpan = jQuery(this); 1338 var prodCustom = parseInt($discountSpan.attr('data-prod-custom')) || 0; // ìë¹ìê° 1339 var prodPrice = parseInt($discountSpan.attr('data-prod-price')) || 0; // íë§¤ê° 1340 var salePrice = $discountSpan.attr('data-sale-price'); 1341 1342 // í ì¸í매ê°ê° ìì¼ë©´ í ì¸íë§¤ê° ê¸°ì¤ì¼ë¡ ê³ì°, ìì¼ë©´ íë§¤ê° ê¸°ì¤ 1343 var finalPrice = prodPrice; 1344 if (salePrice && salePrice.trim() !== '') { 1345 finalPrice = parseInt(salePrice.replace(/[^0-9]/g, '')) || prodPrice; 1346 } 1347 1348 // í ì¸ì¨ ê³ì°: (ìë¹ìê° - ìµì¢ ê°ê²©) / ìë¹ìê° * 100 1349 var $discountRateEm = $discountSpan.closest('.price').find('em.discount_rate'); 1350 if (prodCustom > 0 && prodCustom > finalPrice) { 1351 var discountPercent = Math.round((prodCustom - finalPrice) / prodCustom * 100); 1352 // ê°ì ë¶ëª¨ ë´ì em.discount_rateì í ì¸ì¨ íì 1353 $discountRateEm.text(discountPercent + '%'); 1354 } else { 1355 // í ì¸ì´ ìì¼ë©´ ìì ì ê±° 1356 $discountRateEm.remove(); 1357 } 1358 }); 1359} 1360 1361// /* morenvy.com í ì¸ì¨ (기존 주ì ì²ë¦¬ë í¨ì) */ 1362// function cal_percent_old () { 1363// jQuery("[rel='í매ê°']").each(function(){ 1364// var that = jQuery(this); 1365// var m_custom = that.siblings("[rel='ìë¹ìê°']").find('.m_item').text().replace(/[^0-9]/g,''); //ìë¹ìê° 1366// var m_price = that.find('.m_item').text().replace(/[^0-9]/g,''); // íë§¤ê° 1367// var m_sale = ''; 1368 1369// var sale_prd; 1370 1371// if (that.siblings("[rel='í ì¸í매ê°']").find('#span_product_price_sale').length != 0 ){ 1372// m_sale = that.siblings("[rel='í ì¸í매ê°']").find('#span_product_price_sale').html().split('<')[0].replace(/[^0-9]/g,''); //ìì¸íì´ì§ í ì¸íë§¤ê° 1373// sale_prd = that.siblings("[rel='í ì¸í매ê°']").find('#span_product_price_sale').html().split('<')[0] 1374// } else { 1375// m_sale = that.siblings("[rel='í ì¸í매ê°']").find('.m_item').text().replace(/[^0-9]/g,''); //ìíëª©ë¡ í ì¸íë§¤ê° 1376// sale_prd = that.siblings("[rel='í ì¸í매ê°']").find('.m_item').text() 1377// } 1378// if( typeof m_sale == "undefined" || m_sale == "" || m_sale == null ) { //í ì¸í매ê°ê° ê³µë°±ì¼ ë 1379// m_sale = m_price 1380// sale_prd = that.find('.m_item').text() 1381// } 1382 1383 1384// /* í ì¸ì¨ ê³ì° */ 1385// if(that.siblings("[rel='í ì¸í매ê°']").length != 0 && m_price != m_sale){ 1386// //var c_sale = Math.round( ( m_custom - m_sale ) / m_custom * 100 ); //ìë¹ìê°ì í ì¸íë§¤ê° 1387// var p_sale = Math.round( ( m_price - m_sale ) / m_price * 100 ); //í매ê°ì í ì¸íë§¤ê° 1388 1389 1390// if(that.parent().hasClass('spec')){ 1391// /* ìíëª©ë¡ */ 1392// that.parents('li').find('.sale_box').text(p_sale + '%').insertBefore(that.siblings("[rel='í ì¸í매ê°']")); // ìíëª©ë¡ í ì¸ì¨ ì¶ë ¥ 1393// that.addClass('through'); 1394// that.siblings("[rel='ìë¹ìê°']").hide(); 1395// that.siblings("[rel='í ì¸í매ê°']").addClass('msale'); 1396 1397 1398// }else{ 1399// /* ìì¸íì´ì§ */ 1400// that.parents('.detailArea').find('.headingArea .sale_box').show().text(p_sale + '%'); // ìì¸íì´ì§ í ì¸ì¨ ì¶ë ¥\ 1401// that.parents('.detailArea').find('.headingArea .sale').text(sale_prd).addClass('msale'); 1402// that.parents('.detailArea').find('.headingArea .custom').hide(); 1403// } 1404 1405// } else if (that.siblings("[rel='ìë¹ìê°']").length != 0){ 1406// if (m_custom != m_price){ 1407// var sale_cnt = Math.round( ( m_custom - m_price ) / m_custom * 100 ); //ìë¹ìê°ì íë§¤ê° 1408 1409 1410// if(that.parent().hasClass('spec')){ 1411// /* ìíëª©ë¡ */ 1412// that.parents('li').find('.sale_box').text(sale_cnt + '%').insertBefore(this); // ìíëª©ë¡ í ì¸ì¨ ì¶ë ¥ 1413// that.addClass('msale'); 1414// that.siblings("[rel='ìë¹ìê°']").addClass('through'); 1415// }else{ 1416// /* ìì¸íì´ì§ */ 1417// that.parents('.xans-product-detail').find('.price_box .sale_box').show().text(sale_cnt + '%'); // ìì¸íì´ì§ í ì¸ì¨ ì¶ë ¥ 1418// that.parents('.xans-product-detail').find('.price').addClass('msale'); 1419// that.parents('.xans-product-detail').find('.custom').addClass('through'); 1420// } 1421// } else { 1422 1423// if(that.parent().hasClass('spec')){ 1424// /* ìíëª©ë¡ */ 1425// that.addClass('msale'); 1426// that.siblings("[rel='ìë¹ìê°']").hide(); 1427// }else{ 1428// /* ìì¸íì´ì§ */ 1429// that.parents('.xans-product-detail').find('.price_box .sale_box').hide(); // ìì¸íì´ì§ í ì¸ì¨ ìì 1430// that.parents('.xans-product-detail').find('.price').addClass('msale'); 1431// that.parents('.xans-product-detail').find('.custom').hide(); 1432// } 1433// } 1434// } else { 1435// if(that.parent().hasClass('spec')){ 1436// /* ìíëª©ë¡ */ 1437// that.addClass('msale'); 1438// }else{ 1439// /* ìì¸íì´ì§ */ 1440// that.parents('.xans-product-detail').find('.price_box .sale_box').hide(); // ìì¸íì´ì§ í ì¸ì¨ ìì 1441// that.parents('.xans-product-detail').find('.price').addClass('msale'); 1442// } 1443// } 1444 1445// /* ìë¹ìê° 0ìì¼ë ìì */ 1446// if( that.parents('.xans-product-detail').find('.custom').text() == '0ì'){ 1447// that.parents('.xans-product-detail').find('.custom').hide(); 1448// } 1449// }) 1450// }; 1451 1452 1453/* morenvy.com ì¥ë°êµ¬ë ì¬ì©ìí ì ì¨ê¹ */ 1454function noCart () { 1455 jQuery(".pro_icon span , .icon").each(function(){ 1456 if (jQuery(this).children('img').length == 0){ 1457 jQuery(this).hide(); 1458 } 1459 }) 1460} 1461 1462/* morenvy.com ì¥ë°êµ¬ëìì í ì¸ê¸ì¡ 0ìì´ë©´ ì¨ê¹ */ 1463jQuery( ".xans-order-list .prdBox .info .txtWarn" ).each(function() { 1464 var discount_price = jQuery(this).text(); 1465 if( discount_price == '-0' ) { 1466 jQuery(this).parent().remove(); 1467 } 1468}); 1469 1470 1471 1472/* morenvy.com ì¿ í¤ ì¤í¬ë¦½í¸ */ 1473function setCookieM(cookie_name, cookie_value, expire_date) { 1474 var today = new Date(); 1475 var expire = new Date(); 1476 expire.setTime(today.getTime() + 3600000 * 24 * expire_date); 1477 cookies = cookie_name + '=' + cookie_value + '; path=/;'; 1478 if (expire_date != 0) cookies += 'expires=' + expire.toGMTString(); 1479 document.cookie = cookies; 1480} 1481 1482function delCookieM(cookie_name) { 1483 var _today = new Date(); 1484 var value = ''; 1485 _today.setDate(_today.getDate() - 1); 1486 document.cookie = cookie_name + "=" + value + '; path=/;' + "; expires=" + _today.toGMTString(); 1487} 1488 1489function getCookieM(name) { 1490 lims = document.cookie; 1491 var index = lims.indexOf(name + "="); 1492 if (index == -1) { 1493 return null; 1494 } 1495 index = lims.indexOf("=", index) + 1; 1496 var endstr = lims.indexOf(';', index); 1497 if (endstr == -1) { 1498 endstr = lims.length; 1499 } 1500 return unescape(lims.substring(index, endstr)); 1501} 1502(function (global, factory) { 1503 typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) : 1504 typeof define === 'function' && define.amd ? define(['exports'], factory) : 1505 (global = global || self, factory(global.window = global.window || {})); 1506}(this, (function (exports) { 'use strict'; 1507 1508 function _inheritsLoose(subClass, superClass) { 1509 subClass.prototype = Object.create(superClass.prototype); 1510 subClass.prototype.constructor = subClass; 1511 subClass.__proto__ = superClass; 1512 } 1513 1514 function _assertThisInitialized(self) { 1515 if (self === void 0) { 1516 throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); 1517 } 1518 1519 return self; 1520 } 1521 1522 /*! 1523 * GSAP 3.11.3 1524 * https://greensock.com 1525 * 1526 * @license Copyright 2008-2022, GreenSock. All rights reserved. 1527 * Subject to the terms at https://greensock.com/standard-license or for 1528 * Club GreenSock members, the agreement issued with that membership. 1529 * @author: Jack Doyle, [email protected] 1530 */ 1531 var _config = { 1532 autoSleep: 120, 1533 force3D: "auto", 1534 nullTargetWarn: 1, 1535 units: { 1536 lineHeight: "" 1537 } 1538 }, 1539 _defaults = { 1540 duration: .5, 1541 overwrite: false, 1542 delay: 0 1543 }, 1544 _suppressOverwrites, 1545 _reverting, 1546 _context, 1547 _bigNum = 1e8, 1548 _tinyNum = 1 / _bigNum, 1549 _2PI = Math.PI * 2, 1550 _HALF_PI = _2PI / 4, 1551 _gsID = 0, 1552 _sqrt = Math.sqrt, 1553 _cos = Math.cos, 1554 _sin = Math.sin, 1555 _isString = function _isString(value) { 1556 return typeof value === "string"; 1557 }, 1558 _isFunction = function _isFunction(value) { 1559 return typeof value === "function"; 1560 }, 1561 _isNumber = function _isNumber(value) { 1562 return typeof value === "number"; 1563 }, 1564 _isUndefined = function _isUndefined(value) { 1565 return typeof value === "undefined"; 1566 }, 1567 _isObject = function _isObject(value) { 1568 return typeof value === "object"; 1569 }, 1570 _isNotFalse = function _isNotFalse(value) { 1571 return value !== false; 1572 }, 1573 _windowExists = function _windowExists() { 1574 return typeof window !== "undefined"; 1575 }, 1576 _isFuncOrString = function _isFuncOrString(value) { 1577 return _isFunction(value) || _isString(value); 1578 }, 1579 _isTypedArray = typeof ArrayBuffer === "function" && ArrayBuffer.isView || function () {}, 1580 _isArray = Array.isArray, 1581 _strictNumExp = /(?:-?\.?\d|\.)+/gi, 1582 _numExp = /[-+=.]*\d+[.e\-+]*\d*[e\-+]*\d*/g, 1583 _numWithUnitExp = /[-+=.]*\d+[.e-]*\d*[a-z%]*/g, 1584 _complexStringNumExp = /[-+=.]*\d+\.?\d*(?:e-|e\+)?\d*/gi, 1585 _relExp = /[+-]=-?[.\d]+/, 1586 _delimitedValueExp = /[^,'"\[\]\s]+/gi, 1587 _unitExp = /^[+\-=e\s\d]*\d+[.\d]*([a-z]*|%)\s*$/i, 1588 _globalTimeline, 1589 _win, 1590 _coreInitted, 1591 _doc, 1592 _globals = {}, 1593 _installScope = {}, 1594 _coreReady, 1595 _install = function _install(scope) {
vendor: 9,330 bytes, lines 1596-1893
1596 return (_installScope = _merge(scope, _globals)) && gsap; 1597 }, 1598 _missingPlugin = function _missingPlugin(property, value) { 1599 return console.warn("Invalid property", property, "set to", value, "Missing plugin? gsap.registerPlugin()"); 1600 }, 1601 _warn = function _warn(message, suppress) { 1602 return !suppress && console.warn(message); 1603 }, 1604 _addGlobal = function _addGlobal(name, obj) { 1605 return name && (_globals[name] = obj) && _installScope && (_installScope[name] = obj) || _globals; 1606 }, 1607 _emptyFunc = function _emptyFunc() { 1608 return 0; 1609 }, 1610 _startAtRevertConfig = { 1611 suppressEvents: true, 1612 isStart: true, 1613 kill: false 1614 }, 1615 _revertConfigNoKill = { 1616 suppressEvents: true, 1617 kill: false 1618 }, 1619 _revertConfig = { 1620 suppressEvents: true 1621 }, 1622 _reservedProps = {}, 1623 _lazyTweens = [], 1624 _lazyLookup = {}, 1625 _lastRenderedFrame, 1626 _plugins = {}, 1627 _effects = {}, 1628 _nextGCFrame = 30, 1629 _harnessPlugins = [], 1630 _callbackNames = "", 1631 _harness = function _harness(targets) { 1632 var target = targets[0], 1633 harnessPlugin, 1634 i; 1635 _isObject(target) || _isFunction(target) || (targets = [targets]); 1636 1637 if (!(harnessPlugin = (target._gsap || {}).harness)) { 1638 i = _harnessPlugins.length; 1639 1640 while (i-- && !_harnessPlugins[i].targetTest(target)) {} 1641 1642 harnessPlugin = _harnessPlugins[i]; 1643 } 1644 1645 i = targets.length; 1646 1647 while (i--) { 1648 targets[i] && (targets[i]._gsap || (targets[i]._gsap = new GSCache(targets[i], harnessPlugin))) || targets.splice(i, 1); 1649 } 1650 1651 return targets; 1652 }, 1653 _getCache = function _getCache(target) { 1654 return target._gsap || _harness(toArray(target))[0]._gsap; 1655 }, 1656 _getProperty = function _getProperty(target, property, v) { 1657 return (v = target[property]) && _isFunction(v) ? target[property]() : _isUndefined(v) && target.getAttribute && target.getAttribute(property) || v; 1658 }, 1659 _forEachName = function _forEachName(names, func) { 1660 return (names = names.split(",")).forEach(func) || names; 1661 }, 1662 _round = function _round(value) { 1663 return Math.round(value * 100000) / 100000 || 0; 1664 }, 1665 _roundPrecise = function _roundPrecise(value) { 1666 return Math.round(value * 10000000) / 10000000 || 0; 1667 }, 1668 _parseRelative = function _parseRelative(start, value) { 1669 var operator = value.charAt(0), 1670 end = parseFloat(value.substr(2)); 1671 start = parseFloat(start); 1672 return operator === "+" ? start + end : operator === "-" ? start - end : operator === "*" ? start * end : start / end; 1673 }, 1674 _arrayContainsAny = function _arrayContainsAny(toSearch, toFind) { 1675 var l = toFind.length, 1676 i = 0; 1677 1678 for (; toSearch.indexOf(toFind[i]) < 0 && ++i < l;) {} 1679 1680 return i < l; 1681 }, 1682 _lazyRender = function _lazyRender() { 1683 var l = _lazyTweens.length, 1684 a = _lazyTweens.slice(0), 1685 i, 1686 tween; 1687 1688 _lazyLookup = {}; 1689 _lazyTweens.length = 0; 1690 1691 for (i = 0; i < l; i++) { 1692 tween = a[i]; 1693 tween && tween._lazy && (tween.render(tween._lazy[0], tween._lazy[1], true)._lazy = 0); 1694 } 1695 }, 1696 _lazySafeRender = function _lazySafeRender(animation, time, suppressEvents, force) { 1697 _lazyTweens.length && _lazyRender(); 1698 animation.render(time, suppressEvents, force || _reverting && time < 0 && (animation._initted || animation._startAt)); 1699 _lazyTweens.length && _lazyRender(); 1700 }, 1701 _numericIfPossible = function _numericIfPossible(value) { 1702 var n = parseFloat(value); 1703 return (n || n === 0) && (value + "").match(_delimitedValueExp).length < 2 ? n : _isString(value) ? value.trim() : value; 1704 }, 1705 _passThrough = function _passThrough(p) { 1706 return p; 1707 }, 1708 _setDefaults = function _setDefaults(obj, defaults) { 1709 for (var p in defaults) { 1710 p in obj || (obj[p] = defaults[p]); 1711 } 1712 1713 return obj; 1714 }, 1715 _setKeyframeDefaults = function _setKeyframeDefaults(excludeDuration) { 1716 return function (obj, defaults) { 1717 for (var p in defaults) { 1718 p in obj || p === "duration" && excludeDuration || p === "ease" || (obj[p] = defaults[p]); 1719 } 1720 }; 1721 }, 1722 _merge = function _merge(base, toMerge) { 1723 for (var p in toMerge) { 1724 base[p] = toMerge[p]; 1725 } 1726 1727 return base; 1728 }, 1729 _mergeDeep = function _mergeDeep(base, toMerge) { 1730 for (var p in toMerge) { 1731 p !== "__proto__" && p !== "constructor" && p !== "prototype" && (base[p] = _isObject(toMerge[p]) ? _mergeDeep(base[p] || (base[p] = {}), toMerge[p]) : toMerge[p]); 1732 } 1733 1734 return base; 1735 }, 1736 _copyExcluding = function _copyExcluding(obj, excluding) { 1737 var copy = {}, 1738 p; 1739 1740 for (p in obj) { 1741 p in excluding || (copy[p] = obj[p]); 1742 } 1743 1744 return copy; 1745 }, 1746 _inheritDefaults = function _inheritDefaults(vars) { 1747 var parent = vars.parent || _globalTimeline, 1748 func = vars.keyframes ? _setKeyframeDefaults(_isArray(vars.keyframes)) : _setDefaults; 1749 1750 if (_isNotFalse(vars.inherit)) { 1751 while (parent) { 1752 func(vars, parent.vars.defaults); 1753 parent = parent.parent || parent._dp; 1754 } 1755 } 1756 1757 return vars; 1758 }, 1759 _arraysMatch = function _arraysMatch(a1, a2) { 1760 var i = a1.length, 1761 match = i === a2.length; 1762 1763 while (match && i-- && a1[i] === a2[i]) {} 1764 1765 return i < 0; 1766 }, 1767 _addLinkedListItem = function _addLinkedListItem(parent, child, firstProp, lastProp, sortBy) { 1768 if (firstProp === void 0) { 1769 firstProp = "_first"; 1770 } 1771 1772 if (lastProp === void 0) { 1773 lastProp = "_last"; 1774 } 1775 1776 var prev = parent[lastProp], 1777 t; 1778 1779 if (sortBy) { 1780 t = child[sortBy]; 1781 1782 while (prev && prev[sortBy] > t) { 1783 prev = prev._prev; 1784 } 1785 } 1786 1787 if (prev) { 1788 child._next = prev._next; 1789 prev._next = child; 1790 } else { 1791 child._next = parent[firstProp]; 1792 parent[firstProp] = child; 1793 } 1794 1795 if (child._next) { 1796 child._next._prev = child; 1797 } else { 1798 parent[lastProp] = child; 1799 } 1800 1801 child._prev = prev; 1802 child.parent = child._dp = parent; 1803 return child; 1804 }, 1805 _removeLinkedListItem = function _removeLinkedListItem(parent, child, firstProp, lastProp) { 1806 if (firstProp === void 0) { 1807 firstProp = "_first"; 1808 } 1809 1810 if (lastProp === void 0) { 1811 lastProp = "_last"; 1812 } 1813 1814 var prev = child._prev, 1815 next = child._next; 1816 1817 if (prev) { 1818 prev._next = next; 1819 } else if (parent[firstProp] === child) { 1820 parent[firstProp] = next; 1821 } 1822 1823 if (next) { 1824 next._prev = prev; 1825 } else if (parent[lastProp] === child) { 1826 parent[lastProp] = prev; 1827 } 1828 1829 child._next = child._prev = child.parent = null; 1830 }, 1831 _removeFromParent = function _removeFromParent(child, onlyIfParentHasAutoRemove) { 1832 child.parent && (!onlyIfParentHasAutoRemove || child.parent.autoRemoveChildren) && child.parent.remove(child); 1833 child._act = 0; 1834 }, 1835 _uncache = function _uncache(animation, child) { 1836 if (animation && (!child || child._end > animation._dur || child._start < 0)) { 1837 var a = animation; 1838 1839 while (a) { 1840 a._dirty = 1; 1841 a = a.parent; 1842 } 1843 } 1844 1845 return animation; 1846 }, 1847 _recacheAncestors = function _recacheAncestors(animation) { 1848 var parent = animation.parent; 1849 1850 while (parent && parent.parent) { 1851 parent._dirty = 1; 1852 parent.totalDuration(); 1853 parent = parent.parent; 1854 } 1855 1856 return animation; 1857 }, 1858 _rewindStartAt = function _rewindStartAt(tween, totalTime, suppressEvents, force) { 1859 return tween._startAt && (_reverting ? tween._startAt.revert(_revertConfigNoKill) : tween.vars.immediateRender && !tween.vars.autoRevert || tween._startAt.render(totalTime, true, force)); 1860 }, 1861 _hasNoPausedAncestors = function _hasNoPausedAncestors(animation) { 1862 return !animation || animation._ts && _hasNoPausedAncestors(animation.parent); 1863 }, 1864 _elapsedCycleDuration = function _elapsedCycleDuration(animation) { 1865 return animation._repeat ? _animationCycle(animation._tTime, animation = animation.duration() + animation._rDelay) * animation : 0; 1866 }, 1867 _animationCycle = function _animationCycle(tTime, cycleDuration) { 1868 var whole = Math.floor(tTime /= cycleDuration); 1869 return tTime && whole === tTime ? whole - 1 : whole; 1870 }, 1871 _parentToChildTotalTime = function _parentToChildTotalTime(parentTime, child) { 1872 return (parentTime - child._start) * child._ts + (child._ts >= 0 ? 0 : child._dirty ? child.totalDuration() : child._tDur); 1873 }, 1874 _setEnd = function _setEnd(animation) { 1875 return animation._end = _roundPrecise(animation._start + (animation._tDur / Math.abs(animation._ts || animation._rts || _tinyNum) || 0)); 1876 }, 1877 _alignPlayhead = function _alignPlayhead(animation, totalTime) { 1878 var parent = animation._dp; 1879 1880 if (parent && parent.smoothChildTiming && animation._ts) { 1881 animation._start = _roundPrecise(parent._time - (animation._ts > 0 ? totalTime / animation._ts : ((animation._dirty ? animation.totalDuration() : animation._tDur) - totalTime) / -animation._ts)); 1882 1883 _setEnd(animation); 1884 1885 parent._dirty || _uncache(parent, animation); 1886 } 1887 1888 return animation; 1889 }, 1890 _postAddChecks = function _postAddChecks(timeline, child) { 1891 var t; 1892 1893 if (child._time || child._initted && !child._dur
vendor: 11,458 bytes, lines 1893-2205
1893) { 1894 t = _parentToChildTotalTime(timeline.rawTime(), child); 1895 1896 if (!child._dur || _clamp(0, child.totalDuration(), t) - child._tTime > _tinyNum) { 1897 child.render(t, true); 1898 } 1899 } 1900 1901 if (_uncache(timeline, child)._dp && timeline._initted && timeline._time >= timeline._dur && timeline._ts) { 1902 if (timeline._dur < timeline.duration()) { 1903 t = timeline; 1904 1905 while (t._dp) { 1906 t.rawTime() >= 0 && t.totalTime(t._tTime); 1907 t = t._dp; 1908 } 1909 } 1910 1911 timeline._zTime = -_tinyNum; 1912 } 1913 }, 1914 _addToTimeline = function _addToTimeline(timeline, child, position, skipChecks) { 1915 child.parent && _removeFromParent(child); 1916 child._start = _roundPrecise((_isNumber(position) ? position : position || timeline !== _globalTimeline ? _parsePosition(timeline, position, child) : timeline._time) + child._delay); 1917 child._end = _roundPrecise(child._start + (child.totalDuration() / Math.abs(child.timeScale()) || 0)); 1918 1919 _addLinkedListItem(timeline, child, "_first", "_last", timeline._sort ? "_start" : 0); 1920 1921 _isFromOrFromStart(child) || (timeline._recent = child); 1922 skipChecks || _postAddChecks(timeline, child); 1923 timeline._ts < 0 && _alignPlayhead(timeline, timeline._tTime); 1924 return timeline; 1925 }, 1926 _scrollTrigger = function _scrollTrigger(animation, trigger) { 1927 return (_globals.ScrollTrigger || _missingPlugin("scrollTrigger", trigger)) && _globals.ScrollTrigger.create(trigger, animation); 1928 }, 1929 _attemptInitTween = function _attemptInitTween(tween, time, force, suppressEvents, tTime) { 1930 _initTween(tween, time, tTime); 1931 1932 if (!tween._initted) { 1933 return 1; 1934 } 1935 1936 if (!force && tween._pt && !_reverting && (tween._dur && tween.vars.lazy !== false || !tween._dur && tween.vars.lazy) && _lastRenderedFrame !== _ticker.frame) { 1937 _lazyTweens.push(tween); 1938 1939 tween._lazy = [tTime, suppressEvents]; 1940 return 1; 1941 } 1942 }, 1943 _parentPlayheadIsBeforeStart = function _parentPlayheadIsBeforeStart(_ref) { 1944 var parent = _ref.parent; 1945 return parent && parent._ts && parent._initted && !parent._lock && (parent.rawTime() < 0 || _parentPlayheadIsBeforeStart(parent)); 1946 }, 1947 _isFromOrFromStart = function _isFromOrFromStart(_ref2) { 1948 var data = _ref2.data; 1949 return data === "isFromStart" || data === "isStart"; 1950 }, 1951 _renderZeroDurationTween = function _renderZeroDurationTween(tween, totalTime, suppressEvents, force) { 1952 var prevRatio = tween.ratio, 1953 ratio = totalTime < 0 || !totalTime && (!tween._start && _parentPlayheadIsBeforeStart(tween) && !(!tween._initted && _isFromOrFromStart(tween)) || (tween._ts < 0 || tween._dp._ts < 0) && !_isFromOrFromStart(tween)) ? 0 : 1, 1954 repeatDelay = tween._rDelay, 1955 tTime = 0, 1956 pt, 1957 iteration, 1958 prevIteration; 1959 1960 if (repeatDelay && tween._repeat) { 1961 tTime = _clamp(0, tween._tDur, totalTime); 1962 iteration = _animationCycle(tTime, repeatDelay); 1963 tween._yoyo && iteration & 1 && (ratio = 1 - ratio); 1964 1965 if (iteration !== _animationCycle(tween._tTime, repeatDelay)) { 1966 prevRatio = 1 - ratio; 1967 tween.vars.repeatRefresh && tween._initted && tween.invalidate(); 1968 } 1969 } 1970 1971 if (ratio !== prevRatio || _reverting || force || tween._zTime === _tinyNum || !totalTime && tween._zTime) { 1972 if (!tween._initted && _attemptInitTween(tween, totalTime, force, suppressEvents, tTime)) { 1973 return; 1974 } 1975 1976 prevIteration = tween._zTime; 1977 tween._zTime = totalTime || (suppressEvents ? _tinyNum : 0); 1978 suppressEvents || (suppressEvents = totalTime && !prevIteration); 1979 tween.ratio = ratio; 1980 tween._from && (ratio = 1 - ratio); 1981 tween._time = 0; 1982 tween._tTime = tTime; 1983 pt = tween._pt; 1984 1985 while (pt) { 1986 pt.r(ratio, pt.d); 1987 pt = pt._next; 1988 } 1989 1990 totalTime < 0 && _rewindStartAt(tween, totalTime, suppressEvents, true); 1991 tween._onUpdate && !suppressEvents && _callback(tween, "onUpdate"); 1992 tTime && tween._repeat && !suppressEvents && tween.parent && _callback(tween, "onRepeat"); 1993 1994 if ((totalTime >= tween._tDur || totalTime < 0) && tween.ratio === ratio) { 1995 ratio && _removeFromParent(tween, 1); 1996 1997 if (!suppressEvents && !_reverting) { 1998 _callback(tween, ratio ? "onComplete" : "onReverseComplete", true); 1999 2000 tween._prom && tween._prom(); 2001 } 2002 } 2003 } else if (!tween._zTime) { 2004 tween._zTime = totalTime; 2005 } 2006 }, 2007 _findNextPauseTween = function _findNextPauseTween(animation, prevTime, time) { 2008 var child; 2009 2010 if (time > prevTime) { 2011 child = animation._first; 2012 2013 while (child && child._start <= time) { 2014 if (child.data === "isPause" && child._start > prevTime) { 2015 return child; 2016 } 2017 2018 child = child._next; 2019 } 2020 } else { 2021 child = animation._last; 2022 2023 while (child && child._start >= time) { 2024 if (child.data === "isPause" && child._start < prevTime) { 2025 return child; 2026 } 2027 2028 child = child._prev; 2029 } 2030 } 2031 }, 2032 _setDuration = function _setDuration(animation, duration, skipUncache, leavePlayhead) { 2033 var repeat = animation._repeat, 2034 dur = _roundPrecise(duration) || 0, 2035 totalProgress = animation._tTime / animation._tDur; 2036 totalProgress && !leavePlayhead && (animation._time *= dur / animation._dur); 2037 animation._dur = dur; 2038 animation._tDur = !repeat ? dur : repeat < 0 ? 1e10 : _roundPrecise(dur * (repeat + 1) + animation._rDelay * repeat); 2039 totalProgress > 0 && !leavePlayhead && _alignPlayhead(animation, animation._tTime = animation._tDur * totalProgress); 2040 animation.parent && _setEnd(animation); 2041 skipUncache || _uncache(animation.parent, animation); 2042 return animation; 2043 }, 2044 _onUpdateTotalDuration = function _onUpdateTotalDuration(animation) { 2045 return animation instanceof Timeline ? _uncache(animation) : _setDuration(animation, animation._dur); 2046 }, 2047 _zeroPosition = { 2048 _start: 0, 2049 endTime: _emptyFunc, 2050 totalDuration: _emptyFunc 2051 }, 2052 _parsePosition = function _parsePosition(animation, position, percentAnimation) { 2053 var labels = animation.labels, 2054 recent = animation._recent || _zeroPosition, 2055 clippedDuration = animation.duration() >= _bigNum ? recent.endTime(false) : animation._dur, 2056 i, 2057 offset, 2058 isPercent; 2059 2060 if (_isString(position) && (isNaN(position) || position in labels)) { 2061 offset = position.charAt(0); 2062 isPercent = position.substr(-1) === "%"; 2063 i = position.indexOf("="); 2064 2065 if (offset === "<" || offset === ">") { 2066 i >= 0 && (position = position.replace(/=/, "")); 2067 return (offset === "<" ? recent._start : recent.endTime(recent._repeat >= 0)) + (parseFloat(position.substr(1)) || 0) * (isPercent ? (i < 0 ? recent : percentAnimation).totalDuration() / 100 : 1); 2068 } 2069 2070 if (i < 0) { 2071 position in labels || (labels[position] = clippedDuration); 2072 return labels[position]; 2073 } 2074 2075 offset = parseFloat(position.charAt(i - 1) + position.substr(i + 1)); 2076 2077 if (isPercent && percentAnimation) { 2078 offset = offset / 100 * (_isArray(percentAnimation) ? percentAnimation[0] : percentAnimation).totalDuration(); 2079 } 2080 2081 return i > 1 ? _parsePosition(animation, position.substr(0, i - 1), percentAnimation) + offset : clippedDuration + offset; 2082 } 2083 2084 return position == null ? clippedDuration : +position; 2085 }, 2086 _createTweenType = function _createTweenType(type, params, timeline) { 2087 var isLegacy = _isNumber(params[1]), 2088 varsIndex = (isLegacy ? 2 : 1) + (type < 2 ? 0 : 1), 2089 vars = params[varsIndex], 2090 irVars, 2091 parent; 2092 2093 isLegacy && (vars.duration = params[1]); 2094 vars.parent = timeline; 2095 2096 if (type) { 2097 irVars = vars; 2098 parent = timeline; 2099 2100 while (parent && !("immediateRender" in irVars)) { 2101 irVars = parent.vars.defaults || {}; 2102 parent = _isNotFalse(parent.vars.inherit) && parent.parent; 2103 } 2104 2105 vars.immediateRender = _isNotFalse(irVars.immediateRender); 2106 type < 2 ? vars.runBackwards = 1 : vars.startAt = params[varsIndex - 1]; 2107 } 2108 2109 return new Tween(params[0], vars, params[varsIndex + 1]); 2110 }, 2111 _conditionalReturn = function _conditionalReturn(value, func) { 2112 return value || value === 0 ? func(value) : func; 2113 }, 2114 _clamp = function _clamp(min, max, value) { 2115 return value < min ? min : value > max ? max : value; 2116 }, 2117 getUnit = function getUnit(value, v) { 2118 return !_isString(value) || !(v = _unitExp.exec(value)) ? "" : v[1]; 2119 }, 2120 clamp = function clamp(min, max, value) { 2121 return _conditionalReturn(value, function (v) { 2122 return _clamp(min, max, v); 2123 }); 2124 }, 2125 _slice = [].slice, 2126 _isArrayLike = function _isArrayLike(value, nonEmpty) { 2127 return value && _isObject(value) && "length" in value && (!nonEmpty && !value.length || value.length - 1 in value && _isObject(value[0])) && !value.nodeType && value !== _win; 2128 }, 2129 _flatten = function _flatten(ar, leaveStrings, accumulator) { 2130 if (accumulator === void 0) { 2131 accumulator = []; 2132 } 2133 2134 return ar.forEach(function (value) { 2135 var _accumulator; 2136 2137 return _isString(value) && !leaveStrings || _isArrayLike(value, 1) ? (_accumulator = accumulator).push.apply(_accumulator, toArray(value)) : accumulator.push(value); 2138 }) || accumulator; 2139 }, 2140 toArray = function toArray(value, scope, leaveStrings) { 2141 return _context && !scope && _context.selector ? _context.selector(value) : _isString(value) && !leaveStrings && (_coreInitted || !_wake()) ? _slice.call((scope || _doc).querySelectorAll(value), 0) : _isArray(value) ? _flatten(value, leaveStrings) : _isArrayLike(value) ? _slice.call(value, 0) : value ? [value] : []; 2142 }, 2143 selector = function selector(value) { 2144 value = toArray(value)[0] || _warn("Invalid scope") || {}; 2145 return function (v) { 2146 var el = value.current || value.nativeElement || value; 2147 return toArray(v, el.querySelectorAll ? el : el === value ? _warn("Invalid scope") || _doc.createElement("div") : value); 2148 }; 2149 }, 2150 shuffle = function shuffle(a) { 2151 return a.sort(function () { 2152 return .5 - Math.random(); 2153 }); 2154 }, 2155 distribute = function distribute(v) { 2156 if (_isFunction(v)) { 2157 return v; 2158 } 2159 2160 var vars = _isObject(v) ? v : { 2161 each: v 2162 }, 2163 ease = _parseEase(vars.ease), 2164 from = vars.from || 0, 2165 base = parseFloat(vars.base) || 0, 2166 cache = {}, 2167 isDecimal = from > 0 && from < 1, 2168 ratios = isNaN(from) || isDecimal, 2169 axis = vars.axis, 2170 ratioX = from, 2171 ratioY = from; 2172 2173 if (_isString(from)) { 2174 ratioX = ratioY = { 2175 center: .5, 2176 edges: .5, 2177 end: 1 2178 }[from] || 0; 2179 } else if (!isDecimal && ratios) { 2180 ratioX = from[0]; 2181 ratioY = from[1]; 2182 } 2183 2184 return function (i, target, a) { 2185 var l = (a || vars).length, 2186 distances = cache[l], 2187 originX, 2188 originY, 2189 x, 2190 y, 2191 d, 2192 j, 2193 max, 2194 min, 2195 wrapAt; 2196 2197 if (!distances) { 2198 wrapAt = vars.grid === "auto" ? 0 : (vars.grid || [1, _bigNum])[1]; 2199 2200 if (!wrapAt) { 2201 max = -_bigNum; 2202 2203 while (max < (max = a[wrapAt++].getBoundingClientRect().left) && wrapAt < l) {} 2204 2205 wrapAt
vendor: 3,154 bytes, lines 2205-2295
2205--; 2206 } 2207 2208 distances = cache[l] = []; 2209 originX = ratios ? Math.min(wrapAt, l) * ratioX - .5 : from % wrapAt; 2210 originY = wrapAt === _bigNum ? 0 : ratios ? l * ratioY / wrapAt - .5 : from / wrapAt | 0; 2211 max = 0; 2212 min = _bigNum; 2213 2214 for (j = 0; j < l; j++) { 2215 x = j % wrapAt - originX; 2216 y = originY - (j / wrapAt | 0); 2217 distances[j] = d = !axis ? _sqrt(x * x + y * y) : Math.abs(axis === "y" ? y : x); 2218 d > max && (max = d); 2219 d < min && (min = d); 2220 } 2221 2222 from === "random" && shuffle(distances); 2223 distances.max = max - min; 2224 distances.min = min; 2225 distances.v = l = (parseFloat(vars.amount) || parseFloat(vars.each) * (wrapAt > l ? l - 1 : !axis ? Math.max(wrapAt, l / wrapAt) : axis === "y" ? l / wrapAt : wrapAt) || 0) * (from === "edges" ? -1 : 1); 2226 distances.b = l < 0 ? base - l : base; 2227 distances.u = getUnit(vars.amount || vars.each) || 0; 2228 ease = ease && l < 0 ? _invertEase(ease) : ease; 2229 } 2230 2231 l = (distances[i] - distances.min) / distances.max || 0; 2232 return _roundPrecise(distances.b + (ease ? ease(l) : l) * distances.v) + distances.u; 2233 }; 2234 }, 2235 _roundModifier = function _roundModifier(v) { 2236 var p = Math.pow(10, ((v + "").split(".")[1] || "").length); 2237 return function (raw) { 2238 var n = _roundPrecise(Math.round(parseFloat(raw) / v) * v * p); 2239 2240 return (n - n % 1) / p + (_isNumber(raw) ? 0 : getUnit(raw)); 2241 }; 2242 }, 2243 snap = function snap(snapTo, value) { 2244 var isArray = _isArray(snapTo), 2245 radius, 2246 is2D; 2247 2248 if (!isArray && _isObject(snapTo)) { 2249 radius = isArray = snapTo.radius || _bigNum; 2250 2251 if (snapTo.values) { 2252 snapTo = toArray(snapTo.values); 2253 2254 if (is2D = !_isNumber(snapTo[0])) { 2255 radius *= radius; 2256 } 2257 } else { 2258 snapTo = _roundModifier(snapTo.increment); 2259 } 2260 } 2261 2262 return _conditionalReturn(value, !isArray ? _roundModifier(snapTo) : _isFunction(snapTo) ? function (raw) { 2263 is2D = snapTo(raw); 2264 return Math.abs(is2D - raw) <= radius ? is2D : raw; 2265 } : function (raw) { 2266 var x = parseFloat(is2D ? raw.x : raw), 2267 y = parseFloat(is2D ? raw.y : 0), 2268 min = _bigNum, 2269 closest = 0, 2270 i = snapTo.length, 2271 dx, 2272 dy; 2273 2274 while (i--) { 2275 if (is2D) { 2276 dx = snapTo[i].x - x; 2277 dy = snapTo[i].y - y; 2278 dx = dx * dx + dy * dy; 2279 } else { 2280 dx = Math.abs(snapTo[i] - x); 2281 } 2282 2283 if (dx < min) { 2284 min = dx; 2285 closest = i; 2286 } 2287 } 2288 2289 closest = !radius || min <= radius ? snapTo[closest] : raw; 2290 return is2D || closest === raw || _isNumber(raw) ? closest : closest + getUnit(raw); 2291 }); 2292 }, 2293 random = function random(min, max, roundingIncrement, returnFunction) { 2294 return _conditionalReturn(_isArray(min) ? !max : roundingIncrement === true ? !!(roundingIncrement = 0) : !returnFunction, function () { 2295 return _isArray(min) ? min[~~(Math.random() * min.length)] : (roundingIncrement = roundingIncrement || 1e
vendor: 4,891 bytes, lines 2295-2457
2295-5) && (returnFunction = roundingIncrement < 1 ? Math.pow(10, (roundingIncrement + "").length - 2) : 1) && Math.floor(Math.round((min - roundingIncrement / 2 + Math.random() * (max - min + roundingIncrement * .99)) / roundingIncrement) * roundingIncrement * returnFunction) / returnFunction; 2296 }); 2297 }, 2298 pipe = function pipe() { 2299 for (var _len = arguments.length, functions = new Array(_len), _key = 0; _key < _len; _key++) { 2300 functions[_key] = arguments[_key]; 2301 } 2302 2303 return function (value) { 2304 return functions.reduce(function (v, f) { 2305 return f(v); 2306 }, value); 2307 }; 2308 }, 2309 unitize = function unitize(func, unit) { 2310 return function (value) { 2311 return func(parseFloat(value)) + (unit || getUnit(value)); 2312 }; 2313 }, 2314 normalize = function normalize(min, max, value) { 2315 return mapRange(min, max, 0, 1, value); 2316 }, 2317 _wrapArray = function _wrapArray(a, wrapper, value) { 2318 return _conditionalReturn(value, function (index) { 2319 return a[~~wrapper(index)]; 2320 }); 2321 }, 2322 wrap = function wrap(min, max, value) { 2323 var range = max - min; 2324 return _isArray(min) ? _wrapArray(min, wrap(0, min.length), max) : _conditionalReturn(value, function (value) { 2325 return (range + (value - min) % range) % range + min; 2326 }); 2327 }, 2328 wrapYoyo = function wrapYoyo(min, max, value) { 2329 var range = max - min, 2330 total = range * 2; 2331 return _isArray(min) ? _wrapArray(min, wrapYoyo(0, min.length - 1), max) : _conditionalReturn(value, function (value) { 2332 value = (total + (value - min) % total) % total || 0; 2333 return min + (value > range ? total - value : value); 2334 }); 2335 }, 2336 _replaceRandom = function _replaceRandom(value) { 2337 var prev = 0, 2338 s = "", 2339 i, 2340 nums, 2341 end, 2342 isArray; 2343 2344 while (~(i = value.indexOf("random(", prev))) { 2345 end = value.indexOf(")", i); 2346 isArray = value.charAt(i + 7) === "["; 2347 nums = value.substr(i + 7, end - i - 7).match(isArray ? _delimitedValueExp : _strictNumExp); 2348 s += value.substr(prev, i - prev) + random(isArray ? nums : +nums[0], isArray ? 0 : +nums[1], +nums[2] || 1e-5); 2349 prev = end + 1; 2350 } 2351 2352 return s + value.substr(prev, value.length - prev); 2353 }, 2354 mapRange = function mapRange(inMin, inMax, outMin, outMax, value) { 2355 var inRange = inMax - inMin, 2356 outRange = outMax - outMin; 2357 return _conditionalReturn(value, function (value) { 2358 return outMin + ((value - inMin) / inRange * outRange || 0); 2359 }); 2360 }, 2361 interpolate = function interpolate(start, end, progress, mutate) { 2362 var func = isNaN(start + end) ? 0 : function (p) { 2363 return (1 - p) * start + p * end; 2364 }; 2365 2366 if (!func) { 2367 var isString = _isString(start), 2368 master = {}, 2369 p, 2370 i, 2371 interpolators, 2372 l, 2373 il; 2374 2375 progress === true && (mutate = 1) && (progress = null); 2376 2377 if (isString) { 2378 start = { 2379 p: start 2380 }; 2381 end = { 2382 p: end 2383 }; 2384 } else if (_isArray(start) && !_isArray(end)) { 2385 interpolators = []; 2386 l = start.length; 2387 il = l - 2; 2388 2389 for (i = 1; i < l; i++) { 2390 interpolators.push(interpolate(start[i - 1], start[i])); 2391 } 2392 2393 l--; 2394 2395 func = function func(p) { 2396 p *= l; 2397 var i = Math.min(il, ~~p); 2398 return interpolators[i](p - i); 2399 }; 2400 2401 progress = end; 2402 } else if (!mutate) { 2403 start = _merge(_isArray(start) ? [] : {}, start); 2404 } 2405 2406 if (!interpolators) { 2407 for (p in end) { 2408 _addPropTween.call(master, start, p, "get", end[p]); 2409 } 2410 2411 func = function func(p) { 2412 return _renderPropTweens(p, master) || (isString ? start.p : start); 2413 }; 2414 } 2415 } 2416 2417 return _conditionalReturn(progress, func); 2418 }, 2419 _getLabelInDirection = function _getLabelInDirection(timeline, fromTime, backward) { 2420 var labels = timeline.labels, 2421 min = _bigNum, 2422 p, 2423 distance, 2424 label; 2425 2426 for (p in labels) { 2427 distance = labels[p] - fromTime; 2428 2429 if (distance < 0 === !!backward && distance && min > (distance = Math.abs(distance))) { 2430 label = p; 2431 min = distance; 2432 } 2433 } 2434 2435 return label; 2436 }, 2437 _callback = function _callback(animation, type, executeLazyFirst) { 2438 var v = animation.vars, 2439 callback = v[type], 2440 prevContext = _context, 2441 context = animation._ctx, 2442 params, 2443 scope, 2444 result; 2445 2446 if (!callback) { 2447 return; 2448 } 2449 2450 params = v[type + "Params"]; 2451 scope = v.callbackScope || animation; 2452 executeLazyFirst && _lazyTweens.length && _lazyRender(); 2453 context && (_context = context); 2454 result = params ? callback.apply(scope, params) : callback.call(scope); 2455 _context = prevContext; 2456 return result; 2457 },
vendor: 7,656 bytes, lines 2458-2743
2458 _interrupt = function _interrupt(animation) { 2459 _removeFromParent(animation); 2460 2461 animation.scrollTrigger && animation.scrollTrigger.kill(!!_reverting); 2462 animation.progress() < 1 && _callback(animation, "onInterrupt"); 2463 return animation; 2464 }, 2465 _quickTween, 2466 _createPlugin = function _createPlugin(config) { 2467 config = !config.name && config["default"] || config; 2468 2469 var name = config.name, 2470 isFunc = _isFunction(config), 2471 Plugin = name && !isFunc && config.init ? function () { 2472 this._props = []; 2473 } : config, 2474 instanceDefaults = { 2475 init: _emptyFunc, 2476 render: _renderPropTweens, 2477 add: _addPropTween, 2478 kill: _killPropTweensOf, 2479 modifier: _addPluginModifier, 2480 rawVars: 0 2481 }, 2482 statics = { 2483 targetTest: 0, 2484 get: 0, 2485 getSetter: _getSetter, 2486 aliases: {}, 2487 register: 0 2488 }; 2489 2490 _wake(); 2491 2492 if (config !== Plugin) { 2493 if (_plugins[name]) { 2494 return; 2495 } 2496 2497 _setDefaults(Plugin, _setDefaults(_copyExcluding(config, instanceDefaults), statics)); 2498 2499 _merge(Plugin.prototype, _merge(instanceDefaults, _copyExcluding(config, statics))); 2500 2501 _plugins[Plugin.prop = name] = Plugin; 2502 2503 if (config.targetTest) { 2504 _harnessPlugins.push(Plugin); 2505 2506 _reservedProps[name] = 1; 2507 } 2508 2509 name = (name === "css" ? "CSS" : name.charAt(0).toUpperCase() + name.substr(1)) + "Plugin"; 2510 } 2511 2512 _addGlobal(name, Plugin); 2513 2514 config.register && config.register(gsap, Plugin, PropTween); 2515 }, 2516 _255 = 255, 2517 _colorLookup = { 2518 aqua: [0, _255, _255], 2519 lime: [0, _255, 0], 2520 silver: [192, 192, 192], 2521 black: [0, 0, 0], 2522 maroon: [128, 0, 0], 2523 teal: [0, 128, 128], 2524 blue: [0, 0, _255], 2525 navy: [0, 0, 128], 2526 white: [_255, _255, _255], 2527 olive: [128, 128, 0], 2528 yellow: [_255, _255, 0], 2529 orange: [_255, 165, 0], 2530 gray: [128, 128, 128], 2531 purple: [128, 0, 128], 2532 green: [0, 128, 0], 2533 red: [_255, 0, 0], 2534 pink: [_255, 192, 203], 2535 cyan: [0, _255, _255], 2536 transparent: [_255, _255, _255, 0] 2537 }, 2538 _hue = function _hue(h, m1, m2) { 2539 h += h < 0 ? 1 : h > 1 ? -1 : 0; 2540 return (h * 6 < 1 ? m1 + (m2 - m1) * h * 6 : h < .5 ? m2 : h * 3 < 2 ? m1 + (m2 - m1) * (2 / 3 - h) * 6 : m1) * _255 + .5 | 0; 2541 }, 2542 splitColor = function splitColor(v, toHSL, forceAlpha) { 2543 var a = !v ? _colorLookup.black : _isNumber(v) ? [v >> 16, v >> 8 & _255, v & _255] : 0, 2544 r, 2545 g, 2546 b, 2547 h, 2548 s, 2549 l, 2550 max, 2551 min, 2552 d, 2553 wasHSL; 2554 2555 if (!a) { 2556 if (v.substr(-1) === ",") { 2557 v = v.substr(0, v.length - 1); 2558 } 2559 2560 if (_colorLookup[v]) { 2561 a = _colorLookup[v]; 2562 } else if (v.charAt(0) === "#") { 2563 if (v.length < 6) { 2564 r = v.charAt(1); 2565 g = v.charAt(2); 2566 b = v.charAt(3); 2567 v = "#" + r + r + g + g + b + b + (v.length === 5 ? v.charAt(4) + v.charAt(4) : ""); 2568 } 2569 2570 if (v.length === 9) { 2571 a = parseInt(v.substr(1, 6), 16); 2572 return [a >> 16, a >> 8 & _255, a & _255, parseInt(v.substr(7), 16) / 255]; 2573 } 2574 2575 v = parseInt(v.substr(1), 16); 2576 a = [v >> 16, v >> 8 & _255, v & _255]; 2577 } else if (v.substr(0, 3) === "hsl") { 2578 a = wasHSL = v.match(_strictNumExp); 2579 2580 if (!toHSL) { 2581 h = +a[0] % 360 / 360; 2582 s = +a[1] / 100; 2583 l = +a[2] / 100; 2584 g = l <= .5 ? l * (s + 1) : l + s - l * s; 2585 r = l * 2 - g; 2586 a.length > 3 && (a[3] *= 1); 2587 a[0] = _hue(h + 1 / 3, r, g); 2588 a[1] = _hue(h, r, g); 2589 a[2] = _hue(h - 1 / 3, r, g); 2590 } else if (~v.indexOf("=")) { 2591 a = v.match(_numExp); 2592 forceAlpha && a.length < 4 && (a[3] = 1); 2593 return a; 2594 } 2595 } else { 2596 a = v.match(_strictNumExp) || _colorLookup.transparent; 2597 } 2598 2599 a = a.map(Number); 2600 } 2601 2602 if (toHSL && !wasHSL) { 2603 r = a[0] / _255; 2604 g = a[1] / _255; 2605 b = a[2] / _255; 2606 max = Math.max(r, g, b); 2607 min = Math.min(r, g, b); 2608 l = (max + min) / 2; 2609 2610 if (max === min) { 2611 h = s = 0; 2612 } else { 2613 d = max - min; 2614 s = l > 0.5 ? d / (2 - max - min) : d / (max + min); 2615 h = max === r ? (g - b) / d + (g < b ? 6 : 0) : max === g ? (b - r) / d + 2 : (r - g) / d + 4; 2616 h *= 60; 2617 } 2618 2619 a[0] = ~~(h + .5); 2620 a[1] = ~~(s * 100 + .5); 2621 a[2] = ~~(l * 100 + .5); 2622 } 2623 2624 forceAlpha && a.length < 4 && (a[3] = 1); 2625 return a; 2626 }, 2627 _colorOrderData = function _colorOrderData(v) { 2628 var values = [], 2629 c = [], 2630 i = -1; 2631 v.split(_colorExp).forEach(function (v) { 2632 var a = v.match(_numWithUnitExp) || []; 2633 values.push.apply(values, a); 2634 c.push(i += a.length + 1); 2635 }); 2636 values.c = c; 2637 return values; 2638 }, 2639 _formatColors = function _formatColors(s, toHSL, orderMatchData) { 2640 var result = "", 2641 colors = (s + result).match(_colorExp), 2642 type = toHSL ? "hsla(" : "rgba(", 2643 i = 0, 2644 c, 2645 shell, 2646 d, 2647 l; 2648 2649 if (!colors) { 2650 return s; 2651 } 2652 2653 colors = colors.map(function (color) { 2654 return (color = splitColor(color, toHSL, 1)) && type + (toHSL ? color[0] + "," + color[1] + "%," + color[2] + "%," + color[3] : color.join(",")) + ")"; 2655 }); 2656 2657 if (orderMatchData) { 2658 d = _colorOrderData(s); 2659 c = orderMatchData.c; 2660 2661 if (c.join(result) !== d.c.join(result)) { 2662 shell = s.replace(_colorExp, "1").split(_numWithUnitExp); 2663 l = shell.length - 1; 2664 2665 for (; i < l; i++) { 2666 result += shell[i] + (~c.indexOf(i) ? colors.shift() || type + "0,0,0,0)" : (d.length ? d : colors.length ? colors : orderMatchData).shift()); 2667 } 2668 } 2669 } 2670 2671 if (!shell) { 2672 shell = s.split(_colorExp); 2673 l = shell.length - 1; 2674 2675 for (; i < l; i++) { 2676 result += shell[i] + colors[i]; 2677 } 2678 } 2679 2680 return result + shell[l]; 2681 }, 2682 _colorExp = function () { 2683 var s = "(?:\\b(?:(?:rgb|rgba|hsl|hsla)\\(.+?\\))|\\B#(?:[0-9a-f]{3,4}){1,2}\\b", 2684 p; 2685 2686 for (p in _colorLookup) { 2687 s += "|" + p + "\\b"; 2688 } 2689 2690 return new RegExp(s + ")", "gi"); 2691 }(), 2692 _hslExp = /hsl[a]?\(/, 2693 _colorStringFilter = function _colorStringFilter(a) { 2694 var combined = a.join(" "), 2695 toHSL; 2696 _colorExp.lastIndex = 0; 2697 2698 if (_colorExp.test(combined)) { 2699 toHSL = _hslExp.test(combined); 2700 a[1] = _formatColors(a[1], toHSL); 2701 a[0] = _formatColors(a[0], toHSL, _colorOrderData(a[1])); 2702 return true; 2703 } 2704 }, 2705 _tickerActive, 2706 _ticker = function () { 2707 var _getTime = Date.now, 2708 _lagThreshold = 500, 2709 _adjustedLag = 33, 2710 _startTime = _getTime(), 2711 _lastUpdate = _startTime, 2712 _gap = 1000 / 240, 2713 _nextTime = _gap, 2714 _listeners = [], 2715 _id, 2716 _req, 2717 _raf, 2718 _self, 2719 _delta, 2720 _i, 2721 _tick = function _tick(v) { 2722 var elapsed = _getTime() - _lastUpdate, 2723 manual = v === true, 2724 overlap, 2725 dispatch, 2726 time, 2727 frame; 2728 2729 elapsed > _lagThreshold && (_startTime += elapsed - _adjustedLag); 2730 _lastUpdate += elapsed; 2731 time = _lastUpdate - _startTime; 2732 overlap = time - _nextTime; 2733 2734 if (overlap > 0 || manual) { 2735 frame = ++_self.frame; 2736 _delta = time - _self.time * 1000; 2737 _self.time = time = time / 1000; 2738 _nextTime += overlap + (overlap >= _gap ? 4 : _gap - overlap); 2739 dispatch = 1; 2740 } 2741 2742 manual || (_id = _req(_tick)); 2743
vendor: 4,239 bytes, lines 2744-2880
2744 if (dispatch) { 2745 for (_i = 0; _i < _listeners.length; _i++) { 2746 _listeners[_i](time, _delta, frame, v); 2747 } 2748 } 2749 }; 2750 2751 _self = { 2752 time: 0, 2753 frame: 0, 2754 tick: function tick() { 2755 _tick(true); 2756 }, 2757 deltaRatio: function deltaRatio(fps) { 2758 return _delta / (1000 / (fps || 60)); 2759 }, 2760 wake: function wake() { 2761 if (_coreReady) { 2762 if (!_coreInitted && _windowExists()) { 2763 _win = _coreInitted = window; 2764 _doc = _win.document || {}; 2765 _globals.gsap = gsap; 2766 (_win.gsapVersions || (_win.gsapVersions = [])).push(gsap.version); 2767 2768 _install(_installScope || _win.GreenSockGlobals || !_win.gsap && _win || {}); 2769 2770 _raf = _win.requestAnimationFrame; 2771 } 2772 2773 _id && _self.sleep(); 2774 2775 _req = _raf || function (f) { 2776 return setTimeout(f, _nextTime - _self.time * 1000 + 1 | 0); 2777 }; 2778 2779 _tickerActive = 1; 2780 2781 _tick(2); 2782 } 2783 }, 2784 sleep: function sleep() { 2785 (_raf ? _win.cancelAnimationFrame : clearTimeout)(_id); 2786 _tickerActive = 0; 2787 _req = _emptyFunc; 2788 }, 2789 lagSmoothing: function lagSmoothing(threshold, adjustedLag) { 2790 _lagThreshold = threshold || 1 / _tinyNum; 2791 _adjustedLag = Math.min(adjustedLag, _lagThreshold, 0); 2792 }, 2793 fps: function fps(_fps) { 2794 _gap = 1000 / (_fps || 240); 2795 _nextTime = _self.time * 1000 + _gap; 2796 }, 2797 add: function add(callback, once, prioritize) { 2798 var func = once ? function (t, d, f, v) { 2799 callback(t, d, f, v); 2800 2801 _self.remove(func); 2802 } : callback; 2803 2804 _self.remove(callback); 2805 2806 _listeners[prioritize ? "unshift" : "push"](func); 2807 2808 _wake(); 2809 2810 return func; 2811 }, 2812 remove: function remove(callback, i) { 2813 ~(i = _listeners.indexOf(callback)) && _listeners.splice(i, 1) && _i >= i && _i--; 2814 }, 2815 _listeners: _listeners 2816 }; 2817 return _self; 2818 }(), 2819 _wake = function _wake() { 2820 return !_tickerActive && _ticker.wake(); 2821 }, 2822 _easeMap = {}, 2823 _customEaseExp = /^[\d.\-M][\d.\-,\s]/, 2824 _quotesExp = /["']/g, 2825 _parseObjectInString = function _parseObjectInString(value) { 2826 var obj = {}, 2827 split = value.substr(1, value.length - 3).split(":"), 2828 key = split[0], 2829 i = 1, 2830 l = split.length, 2831 index, 2832 val, 2833 parsedVal; 2834 2835 for (; i < l; i++) { 2836 val = split[i]; 2837 index = i !== l - 1 ? val.lastIndexOf(",") : val.length; 2838 parsedVal = val.substr(0, index); 2839 obj[key] = isNaN(parsedVal) ? parsedVal.replace(_quotesExp, "").trim() : +parsedVal; 2840 key = val.substr(index + 1).trim(); 2841 } 2842 2843 return obj; 2844 }, 2845 _valueInParentheses = function _valueInParentheses(value) { 2846 var open = value.indexOf("(") + 1, 2847 close = value.indexOf(")"), 2848 nested = value.indexOf("(", open); 2849 return value.substring(open, ~nested && nested < close ? value.indexOf(")", close + 1) : close); 2850 }, 2851 _configEaseFromString = function _configEaseFromString(name) { 2852 var split = (name + "").split("("), 2853 ease = _easeMap[split[0]]; 2854 return ease && split.length > 1 && ease.config ? ease.config.apply(null, ~name.indexOf("{") ? [_parseObjectInString(split[1])] : _valueInParentheses(name).split(",").map(_numericIfPossible)) : _easeMap._CE && _customEaseExp.test(name) ? _easeMap._CE("", name) : ease; 2855 }, 2856 _invertEase = function _invertEase(ease) { 2857 return function (p) { 2858 return 1 - ease(1 - p); 2859 }; 2860 }, 2861 _propagateYoyoEase = function _propagateYoyoEase(timeline, isYoyo) { 2862 var child = timeline._first, 2863 ease; 2864 2865 while (child) { 2866 if (child instanceof Timeline) { 2867 _propagateYoyoEase(child, isYoyo); 2868 } else if (child.vars.yoyoEase && (!child._yoyo || !child._repeat) && child._yoyo !== isYoyo) { 2869 if (child.timeline) { 2870 _propagateYoyoEase(child.timeline, isYoyo); 2871 } else { 2872 ease = child._ease; 2873 child._ease = child._yEase; 2874 child._yEase = ease; 2875 child._yoyo = isYoyo; 2876 } 2877 } 2878 2879 child = child._next; 2880 }
vendor: 3,445 bytes, lines 2880-2991
2880 2881 }, 2882 _parseEase = function _parseEase(ease, defaultEase) { 2883 return !ease ? defaultEase : (_isFunction(ease) ? ease : _easeMap[ease] || _configEaseFromString(ease)) || defaultEase; 2884 }, 2885 _insertEase = function _insertEase(names, easeIn, easeOut, easeInOut) { 2886 if (easeOut === void 0) { 2887 easeOut = function easeOut(p) { 2888 return 1 - easeIn(1 - p); 2889 }; 2890 } 2891 2892 if (easeInOut === void 0) { 2893 easeInOut = function easeInOut(p) { 2894 return p < .5 ? easeIn(p * 2) / 2 : 1 - easeIn((1 - p) * 2) / 2; 2895 }; 2896 } 2897 2898 var ease = { 2899 easeIn: easeIn, 2900 easeOut: easeOut, 2901 easeInOut: easeInOut 2902 }, 2903 lowercaseName; 2904 2905 _forEachName(names, function (name) { 2906 _easeMap[name] = _globals[name] = ease; 2907 _easeMap[lowercaseName = name.toLowerCase()] = easeOut; 2908 2909 for (var p in ease) { 2910 _easeMap[lowercaseName + (p === "easeIn" ? ".in" : p === "easeOut" ? ".out" : ".inOut")] = _easeMap[name + "." + p] = ease[p]; 2911 } 2912 }); 2913 2914 return ease; 2915 }, 2916 _easeInOutFromOut = function _easeInOutFromOut(easeOut) { 2917 return function (p) { 2918 return p < .5 ? (1 - easeOut(1 - p * 2)) / 2 : .5 + easeOut((p - .5) * 2) / 2; 2919 }; 2920 }, 2921 _configElastic = function _configElastic(type, amplitude, period) { 2922 var p1 = amplitude >= 1 ? amplitude : 1, 2923 p2 = (period || (type ? .3 : .45)) / (amplitude < 1 ? amplitude : 1), 2924 p3 = p2 / _2PI * (Math.asin(1 / p1) || 0), 2925 easeOut = function easeOut(p) { 2926 return p === 1 ? 1 : p1 * Math.pow(2, -10 * p) * _sin((p - p3) * p2) + 1; 2927 }, 2928 ease = type === "out" ? easeOut : type === "in" ? function (p) { 2929 return 1 - easeOut(1 - p); 2930 } : _easeInOutFromOut(easeOut); 2931 2932 p2 = _2PI / p2; 2933 2934 ease.config = function (amplitude, period) { 2935 return _configElastic(type, amplitude, period); 2936 }; 2937 2938 return ease; 2939 }, 2940 _configBack = function _configBack(type, overshoot) { 2941 if (overshoot === void 0) { 2942 overshoot = 1.70158; 2943 } 2944 2945 var easeOut = function easeOut(p) { 2946 return p ? --p * p * ((overshoot + 1) * p + overshoot) + 1 : 0; 2947 }, 2948 ease = type === "out" ? easeOut : type === "in" ? function (p) { 2949 return 1 - easeOut(1 - p); 2950 } : _easeInOutFromOut(easeOut); 2951 2952 ease.config = function (overshoot) { 2953 return _configBack(type, overshoot); 2954 }; 2955 2956 return ease; 2957 }; 2958 2959 _forEachName("Linear,Quad,Cubic,Quart,Quint,Strong", function (name, i) { 2960 var power = i < 5 ? i + 1 : i; 2961 2962 _insertEase(name + ",Power" + (power - 1), i ? function (p) { 2963 return Math.pow(p, power); 2964 } : function (p) { 2965 return p; 2966 }, function (p) { 2967 return 1 - Math.pow(1 - p, power); 2968 }, function (p) { 2969 return p < .5 ? Math.pow(p * 2, power) / 2 : 1 - Math.pow((1 - p) * 2, power) / 2; 2970 }); 2971 }); 2972 2973 _easeMap.Linear.easeNone = _easeMap.none = _easeMap.Linear.easeIn; 2974 2975 _insertEase("Elastic", _configElastic("in"), _configElastic("out"), _configElastic()); 2976 2977 (function (n, c) { 2978 var n1 = 1 / c, 2979 n2 = 2 * n1, 2980 n3 = 2.5 * n1, 2981 easeOut = function easeOut(p) { 2982 return p < n1 ? n * p * p : p < n2 ? n * Math.pow(p - 1.5 / c, 2) + .75 : p < n3 ? n * (p -= 2.25 / c) * p + .9375 : n * Math.pow(p - 2.625 / c, 2) + .984375; 2983 }; 2984 2985 _insertEase("Bounce", function (p) { 2986 return 1 - easeOut(1 - p); 2987 }, easeOut); 2988 })(7.5625, 2.75); 2989 2990 _insertEase("Expo", function (p) { 2991 return
vendor: 6,314 bytes, lines 2991-3181
2991p ? Math.pow(2, 10 * (p - 1)) : 0; 2992 }); 2993 2994 _insertEase("Circ", function (p) { 2995 return -(_sqrt(1 - p * p) - 1); 2996 }); 2997 2998 _insertEase("Sine", function (p) { 2999 return p === 1 ? 1 : -_cos(p * _HALF_PI) + 1; 3000 }); 3001 3002 _insertEase("Back", _configBack("in"), _configBack("out"), _configBack()); 3003 3004 _easeMap.SteppedEase = _easeMap.steps = _globals.SteppedEase = { 3005 config: function config(steps, immediateStart) { 3006 if (steps === void 0) { 3007 steps = 1; 3008 } 3009 3010 var p1 = 1 / steps, 3011 p2 = steps + (immediateStart ? 0 : 1), 3012 p3 = immediateStart ? 1 : 0, 3013 max = 1 - _tinyNum; 3014 return function (p) { 3015 return ((p2 * _clamp(0, max, p) | 0) + p3) * p1; 3016 }; 3017 } 3018 }; 3019 _defaults.ease = _easeMap["quad.out"]; 3020 3021 _forEachName("onComplete,onUpdate,onStart,onRepeat,onReverseComplete,onInterrupt", function (name) { 3022 return _callbackNames += name + "," + name + "Params,"; 3023 }); 3024 3025 var GSCache = function GSCache(target, harness) { 3026 this.id = _gsID++; 3027 target._gsap = this; 3028 this.target = target; 3029 this.harness = harness; 3030 this.get = harness ? harness.get : _getProperty; 3031 this.set = harness ? harness.getSetter : _getSetter; 3032 }; 3033 var Animation = function () { 3034 function Animation(vars) { 3035 this.vars = vars; 3036 this._delay = +vars.delay || 0; 3037 3038 if (this._repeat = vars.repeat === Infinity ? -2 : vars.repeat || 0) { 3039 this._rDelay = vars.repeatDelay || 0; 3040 this._yoyo = !!vars.yoyo || !!vars.yoyoEase; 3041 } 3042 3043 this._ts = 1; 3044 3045 _setDuration(this, +vars.duration, 1, 1); 3046 3047 this.data = vars.data; 3048 3049 if (_context) { 3050 this._ctx = _context; 3051 3052 _context.data.push(this); 3053 } 3054 3055 _tickerActive || _ticker.wake(); 3056 } 3057 3058 var _proto = Animation.prototype; 3059 3060 _proto.delay = function delay(value) { 3061 if (value || value === 0) { 3062 this.parent && this.parent.smoothChildTiming && this.startTime(this._start + value - this._delay); 3063 this._delay = value; 3064 return this; 3065 } 3066 3067 return this._delay; 3068 }; 3069 3070 _proto.duration = function duration(value) { 3071 return arguments.length ? this.totalDuration(this._repeat > 0 ? value + (value + this._rDelay) * this._repeat : value) : this.totalDuration() && this._dur; 3072 }; 3073 3074 _proto.totalDuration = function totalDuration(value) { 3075 if (!arguments.length) { 3076 return this._tDur; 3077 } 3078 3079 this._dirty = 0; 3080 return _setDuration(this, this._repeat < 0 ? value : (value - this._repeat * this._rDelay) / (this._repeat + 1)); 3081 }; 3082 3083 _proto.totalTime = function totalTime(_totalTime, suppressEvents) { 3084 _wake(); 3085 3086 if (!arguments.length) { 3087 return this._tTime; 3088 } 3089 3090 var parent = this._dp; 3091 3092 if (parent && parent.smoothChildTiming && this._ts) { 3093 _alignPlayhead(this, _totalTime); 3094 3095 !parent._dp || parent.parent || _postAddChecks(parent, this); 3096 3097 while (parent && parent.parent) { 3098 if (parent.parent._time !== parent._start + (parent._ts >= 0 ? parent._tTime / parent._ts : (parent.totalDuration() - parent._tTime) / -parent._ts)) { 3099 parent.totalTime(parent._tTime, true); 3100 } 3101 3102 parent = parent.parent; 3103 } 3104 3105 if (!this.parent && this._dp.autoRemoveChildren && (this._ts > 0 && _totalTime < this._tDur || this._ts < 0 && _totalTime > 0 || !this._tDur && !_totalTime)) { 3106 _addToTimeline(this._dp, this, this._start - this._delay); 3107 } 3108 } 3109 3110 if (this._tTime !== _totalTime || !this._dur && !suppressEvents || this._initted && Math.abs(this._zTime) === _tinyNum || !_totalTime && !this._initted && (this.add || this._ptLookup)) { 3111 this._ts || (this._pTime = _totalTime); 3112 3113 _lazySafeRender(this, _totalTime, suppressEvents); 3114 } 3115 3116 return this; 3117 }; 3118 3119 _proto.time = function time(value, suppressEvents) { 3120 return arguments.length ? this.totalTime(Math.min(this.totalDuration(), value + _elapsedCycleDuration(this)) % (this._dur + this._rDelay) || (value ? this._dur : 0), suppressEvents) : this._time; 3121 }; 3122 3123 _proto.totalProgress = function totalProgress(value, suppressEvents) { 3124 return arguments.length ? this.totalTime(this.totalDuration() * value, suppressEvents) : this.totalDuration() ? Math.min(1, this._tTime / this._tDur) : this.ratio; 3125 }; 3126 3127 _proto.progress = function progress(value, suppressEvents) { 3128 return arguments.length ? this.totalTime(this.duration() * (this._yoyo && !(this.iteration() & 1) ? 1 - value : value) + _elapsedCycleDuration(this), suppressEvents) : this.duration() ? Math.min(1, this._time / this._dur) : this.ratio; 3129 }; 3130 3131 _proto.iteration = function iteration(value, suppressEvents) { 3132 var cycleDuration = this.duration() + this._rDelay; 3133 3134 return arguments.length ? this.totalTime(this._time + (value - 1) * cycleDuration, suppressEvents) : this._repeat ? _animationCycle(this._tTime, cycleDuration) + 1 : 1; 3135 }; 3136 3137 _proto.timeScale = function timeScale(value) { 3138 if (!arguments.length) { 3139 return this._rts === -_tinyNum ? 0 : this._rts; 3140 } 3141 3142 if (this._rts === value) { 3143 return this; 3144 } 3145 3146 var tTime = this.parent && this._ts ? _parentToChildTotalTime(this.parent._time, this) : this._tTime; 3147 this._rts = +value || 0; 3148 this._ts = this._ps || value === -_tinyNum ? 0 : this._rts; 3149 this.totalTime(_clamp(-this._delay, this._tDur, tTime), true); 3150 3151 _setEnd(this); 3152 3153 return _recacheAncestors(this); 3154 }; 3155 3156 _proto.paused = function paused(value) { 3157 if (!arguments.length) { 3158 return this._ps; 3159 } 3160 3161 if (this._ps !== value) { 3162 this._ps = value; 3163 3164 if (value) { 3165 this._pTime = this._tTime || Math.max(-this._delay, this.rawTime()); 3166 this._ts = this._act = 0; 3167 } else { 3168 _wake(); 3169 3170 this._ts = this._rts; 3171 this.totalTime(this.parent && !this.parent.smoothChildTiming ? this.rawTime() : this._tTime || this._pTime, this.progress() === 1 && Math.abs(this._zTime) !== _tinyNum && (this._tTime -= _tinyNum)); 3172 } 3173 } 3174 3175 return this; 3176 }; 3177 3178 _proto.startTime = function startTime(value) { 3179 if (arguments.length) { 3180 this._start = value; 3181 var parent = this.parent || this._dp;
vendor: 3,424 bytes, lines 3182-3294
3182 parent && (parent._sort || !this.parent) && _addToTimeline(parent, this, value - this._delay); 3183 return this; 3184 } 3185 3186 return this._start; 3187 }; 3188 3189 _proto.endTime = function endTime(includeRepeats) { 3190 return this._start + (_isNotFalse(includeRepeats) ? this.totalDuration() : this.duration()) / Math.abs(this._ts || 1); 3191 }; 3192 3193 _proto.rawTime = function rawTime(wrapRepeats) { 3194 var parent = this.parent || this._dp; 3195 return !parent ? this._tTime : wrapRepeats && (!this._ts || this._repeat && this._time && this.totalProgress() < 1) ? this._tTime % (this._dur + this._rDelay) : !this._ts ? this._tTime : _parentToChildTotalTime(parent.rawTime(wrapRepeats), this); 3196 }; 3197 3198 _proto.revert = function revert(config) { 3199 if (config === void 0) { 3200 config = _revertConfig; 3201 } 3202 3203 var prevIsReverting = _reverting; 3204 _reverting = config; 3205 3206 if (this._initted || this._startAt) { 3207 this.timeline && this.timeline.revert(config); 3208 this.totalTime(-0.01, config.suppressEvents); 3209 } 3210 3211 this.data !== "nested" && config.kill !== false && this.kill(); 3212 _reverting = prevIsReverting; 3213 return this; 3214 }; 3215 3216 _proto.globalTime = function globalTime(rawTime) { 3217 var animation = this, 3218 time = arguments.length ? rawTime : animation.rawTime(); 3219 3220 while (animation) { 3221 time = animation._start + time / (animation._ts || 1); 3222 animation = animation._dp; 3223 } 3224 3225 return !this.parent && this.vars.immediateRender ? -1 : time; 3226 }; 3227 3228 _proto.repeat = function repeat(value) { 3229 if (arguments.length) { 3230 this._repeat = value === Infinity ? -2 : value; 3231 return _onUpdateTotalDuration(this); 3232 } 3233 3234 return this._repeat === -2 ? Infinity : this._repeat; 3235 }; 3236 3237 _proto.repeatDelay = function repeatDelay(value) { 3238 if (arguments.length) { 3239 var time = this._time; 3240 this._rDelay = value; 3241 3242 _onUpdateTotalDuration(this); 3243 3244 return time ? this.time(time) : this; 3245 } 3246 3247 return this._rDelay; 3248 }; 3249 3250 _proto.yoyo = function yoyo(value) { 3251 if (arguments.length) { 3252 this._yoyo = value; 3253 return this; 3254 } 3255 3256 return this._yoyo; 3257 }; 3258 3259 _proto.seek = function seek(position, suppressEvents) { 3260 return this.totalTime(_parsePosition(this, position), _isNotFalse(suppressEvents)); 3261 }; 3262 3263 _proto.restart = function restart(includeDelay, suppressEvents) { 3264 return this.play().totalTime(includeDelay ? -this._delay : 0, _isNotFalse(suppressEvents)); 3265 }; 3266 3267 _proto.play = function play(from, suppressEvents) { 3268 from != null && this.seek(from, suppressEvents); 3269 return this.reversed(false).paused(false); 3270 }; 3271 3272 _proto.reverse = function reverse(from, suppressEvents) { 3273 from != null && this.seek(from || this.totalDuration(), suppressEvents); 3274 return this.reversed(true).paused(false); 3275 }; 3276 3277 _proto.pause = function pause(atTime, suppressEvents) { 3278 atTime != null && this.seek(atTime, suppressEvents); 3279 return this.paused(true); 3280 }; 3281 3282 _proto.resume = function resume() { 3283 return this.paused(false); 3284 }; 3285 3286 _proto.reversed = function reversed(value) { 3287 if (arguments.length) { 3288 !!value !== this.reversed() && this.timeScale(-this._rts || (value ? -_tinyNum : 0)); 3289 return this; 3290 } 3291 3292 return this._rts < 0; 3293 }; 3294
vendor: 8,586 bytes, lines 3295-3566
3295 _proto.invalidate = function invalidate() { 3296 this._initted = this._act = 0; 3297 this._zTime = -_tinyNum; 3298 return this; 3299 }; 3300 3301 _proto.isActive = function isActive() { 3302 var parent = this.parent || this._dp, 3303 start = this._start, 3304 rawTime; 3305 return !!(!parent || this._ts && this._initted && parent.isActive() && (rawTime = parent.rawTime(true)) >= start && rawTime < this.endTime(true) - _tinyNum); 3306 }; 3307 3308 _proto.eventCallback = function eventCallback(type, callback, params) { 3309 var vars = this.vars; 3310 3311 if (arguments.length > 1) { 3312 if (!callback) { 3313 delete vars[type]; 3314 } else { 3315 vars[type] = callback; 3316 params && (vars[type + "Params"] = params); 3317 type === "onUpdate" && (this._onUpdate = callback); 3318 } 3319 3320 return this; 3321 } 3322 3323 return vars[type]; 3324 }; 3325 3326 _proto.then = function then(onFulfilled) { 3327 var self = this; 3328 return new Promise(function (resolve) { 3329 var f = _isFunction(onFulfilled) ? onFulfilled : _passThrough, 3330 _resolve = function _resolve() { 3331 var _then = self.then; 3332 self.then = null; 3333 _isFunction(f) && (f = f(self)) && (f.then || f === self) && (self.then = _then); 3334 resolve(f); 3335 self.then = _then; 3336 }; 3337 3338 if (self._initted && self.totalProgress() === 1 && self._ts >= 0 || !self._tTime && self._ts < 0) { 3339 _resolve(); 3340 } else { 3341 self._prom = _resolve; 3342 } 3343 }); 3344 }; 3345 3346 _proto.kill = function kill() { 3347 _interrupt(this); 3348 }; 3349 3350 return Animation; 3351 }(); 3352 3353 _setDefaults(Animation.prototype, { 3354 _time: 0, 3355 _start: 0, 3356 _end: 0, 3357 _tTime: 0, 3358 _tDur: 0, 3359 _dirty: 0, 3360 _repeat: 0, 3361 _yoyo: false, 3362 parent: null, 3363 _initted: false, 3364 _rDelay: 0, 3365 _ts: 1, 3366 _dp: 0, 3367 ratio: 0, 3368 _zTime: -_tinyNum, 3369 _prom: 0, 3370 _ps: false, 3371 _rts: 1 3372 }); 3373 3374 var Timeline = function (_Animation) { 3375 _inheritsLoose(Timeline, _Animation); 3376 3377 function Timeline(vars, position) { 3378 var _this; 3379 3380 if (vars === void 0) { 3381 vars = {}; 3382 } 3383 3384 _this = _Animation.call(this, vars) || this; 3385 _this.labels = {}; 3386 _this.smoothChildTiming = !!vars.smoothChildTiming; 3387 _this.autoRemoveChildren = !!vars.autoRemoveChildren; 3388 _this._sort = _isNotFalse(vars.sortChildren); 3389 _globalTimeline && _addToTimeline(vars.parent || _globalTimeline, _assertThisInitialized(_this), position); 3390 vars.reversed && _this.reverse(); 3391 vars.paused && _this.paused(true); 3392 vars.scrollTrigger && _scrollTrigger(_assertThisInitialized(_this), vars.scrollTrigger); 3393 return _this; 3394 } 3395 3396 var _proto2 = Timeline.prototype; 3397 3398 _proto2.to = function to(targets, vars, position) { 3399 _createTweenType(0, arguments, this); 3400 3401 return this; 3402 }; 3403 3404 _proto2.from = function from(targets, vars, position) { 3405 _createTweenType(1, arguments, this); 3406 3407 return this; 3408 }; 3409 3410 _proto2.fromTo = function fromTo(targets, fromVars, toVars, position) { 3411 _createTweenType(2, arguments, this); 3412 3413 return this; 3414 }; 3415 3416 _proto2.set = function set(targets, vars, position) { 3417 vars.duration = 0; 3418 vars.parent = this; 3419 _inheritDefaults(vars).repeatDelay || (vars.repeat = 0); 3420 vars.immediateRender = !!vars.immediateRender; 3421 new Tween(targets, vars, _parsePosition(this, position), 1); 3422 return this; 3423 }; 3424 3425 _proto2.call = function call(callback, params, position) { 3426 return _addToTimeline(this, Tween.delayedCall(0, callback, params), position); 3427 }; 3428 3429 _proto2.staggerTo = function staggerTo(targets, duration, vars, stagger, position, onCompleteAll, onCompleteAllParams) { 3430 vars.duration = duration; 3431 vars.stagger = vars.stagger || stagger; 3432 vars.onComplete = onCompleteAll; 3433 vars.onCompleteParams = onCompleteAllParams; 3434 vars.parent = this; 3435 new Tween(targets, vars, _parsePosition(this, position)); 3436 return this; 3437 }; 3438 3439 _proto2.staggerFrom = function staggerFrom(targets, duration, vars, stagger, position, onCompleteAll, onCompleteAllParams) { 3440 vars.runBackwards = 1; 3441 _inheritDefaults(vars).immediateRender = _isNotFalse(vars.immediateRender); 3442 return this.staggerTo(targets, duration, vars, stagger, position, onCompleteAll, onCompleteAllParams); 3443 }; 3444 3445 _proto2.staggerFromTo = function staggerFromTo(targets, duration, fromVars, toVars, stagger, position, onCompleteAll, onCompleteAllParams) { 3446 toVars.startAt = fromVars; 3447 _inheritDefaults(toVars).immediateRender = _isNotFalse(toVars.immediateRender); 3448 return this.staggerTo(targets, duration, toVars, stagger, position, onCompleteAll, onCompleteAllParams); 3449 }; 3450 3451 _proto2.render = function render(totalTime, suppressEvents, force) { 3452 var prevTime = this._time, 3453 tDur = this._dirty ? this.totalDuration() : this._tDur, 3454 dur = this._dur, 3455 tTime = totalTime <= 0 ? 0 : _roundPrecise(totalTime), 3456 crossingStart = this._zTime < 0 !== totalTime < 0 && (this._initted || !dur), 3457 time, 3458 child, 3459 next, 3460 iteration, 3461 cycleDuration, 3462 prevPaused, 3463 pauseTween, 3464 timeScale, 3465 prevStart, 3466 prevIteration, 3467 yoyo, 3468 isYoyo; 3469 this !== _globalTimeline && tTime > tDur && totalTime >= 0 && (tTime = tDur); 3470 3471 if (tTime !== this._tTime || force || crossingStart) { 3472 if (prevTime !== this._time && dur) { 3473 tTime += this._time - prevTime; 3474 totalTime += this._time - prevTime; 3475 } 3476 3477 time = tTime; 3478 prevStart = this._start; 3479 timeScale = this._ts; 3480 prevPaused = !timeScale; 3481 3482 if (crossingStart) { 3483 dur || (prevTime = this._zTime); 3484 (totalTime || !suppressEvents) && (this._zTime = totalTime); 3485 } 3486 3487 if (this._repeat) { 3488 yoyo = this._yoyo; 3489 cycleDuration = dur + this._rDelay; 3490 3491 if (this._repeat < -1 && totalTime < 0) { 3492 return this.totalTime(cycleDuration * 100 + totalTime, suppressEvents, force); 3493 } 3494 3495 time = _roundPrecise(tTime % cycleDuration); 3496 3497 if (tTime === tDur) { 3498 iteration = this._repeat; 3499 time = dur; 3500 } else { 3501 iteration = ~~(tTime / cycleDuration); 3502 3503 if (iteration && iteration === tTime / cycleDuration) { 3504 time = dur; 3505 iteration--; 3506 } 3507 3508 time > dur && (time = dur); 3509 } 3510 3511 prevIteration = _animationCycle(this._tTime, cycleDuration); 3512 !prevTime && this._tTime && prevIteration !== iteration && (prevIteration = iteration); 3513 3514 if (yoyo && iteration & 1) { 3515 time = dur - time; 3516 isYoyo = 1; 3517 } 3518 3519 if (iteration !== prevIteration && !this._lock) { 3520 var rewinding = yoyo && prevIteration & 1, 3521 doesWrap = rewinding === (yoyo && iteration & 1); 3522 iteration < prevIteration && (rewinding = !rewinding); 3523 prevTime = rewinding ? 0 : dur; 3524 this._lock = 1; 3525 this.render(prevTime || (isYoyo ? 0 : _roundPrecise(iteration * cycleDuration)), suppressEvents, !dur)._lock = 0; 3526 this._tTime = tTime; 3527 !suppressEvents && this.parent && _callback(this, "onRepeat"); 3528 this.vars.repeatRefresh && !isYoyo && (this.invalidate()._lock = 1); 3529 3530 if (prevTime && prevTime !== this._time || prevPaused !== !this._ts || this.vars.onRepeat && !this.parent && !this._act) { 3531 return this; 3532 } 3533 3534 dur = this._dur; 3535 tDur = this._tDur; 3536 3537 if (doesWrap) { 3538 this._lock = 2; 3539 prevTime = rewinding ? dur : -0.0001; 3540 this.render(prevTime, true); 3541 this.vars.repeatRefresh && !isYoyo && this.invalidate(); 3542 } 3543 3544 this._lock = 0; 3545 3546 if (!this._ts && !prevPaused) { 3547 return this; 3548 } 3549 3550 _propagateYoyoEase(this, isYoyo); 3551 } 3552 } 3553 3554 if (this._hasPause && !this._forcing && this._lock < 2) { 3555 pauseTween = _findNextPauseTween(this, _roundPrecise(prevTime), _roundPrecise(time)); 3556 3557 if (pauseTween) { 3558 tTime -= time - (time = pauseTween._start); 3559 } 3560 } 3561 3562 this._tTime = tTime; 3563 this._time = time; 3564 this._act = !timeScale; 3565 3566 if (!this._initted) {
vendor: 15,188 bytes, lines 3567-4099
3567 this._onUpdate = this.vars.onUpdate; 3568 this._initted = 1; 3569 this._zTime = totalTime; 3570 prevTime = 0; 3571 } 3572 3573 if (!prevTime && time && !suppressEvents) { 3574 _callback(this, "onStart"); 3575 3576 if (this._tTime !== tTime) { 3577 return this; 3578 } 3579 } 3580 3581 if (time >= prevTime && totalTime >= 0) { 3582 child = this._first; 3583 3584 while (child) { 3585 next = child._next; 3586 3587 if ((child._act || time >= child._start) && child._ts && pauseTween !== child) { 3588 if (child.parent !== this) { 3589 return this.render(totalTime, suppressEvents, force); 3590 } 3591 3592 child.render(child._ts > 0 ? (time - child._start) * child._ts : (child._dirty ? child.totalDuration() : child._tDur) + (time - child._start) * child._ts, suppressEvents, force); 3593 3594 if (time !== this._time || !this._ts && !prevPaused) { 3595 pauseTween = 0; 3596 next && (tTime += this._zTime = -_tinyNum); 3597 break; 3598 } 3599 } 3600 3601 child = next; 3602 } 3603 } else { 3604 child = this._last; 3605 var adjustedTime = totalTime < 0 ? totalTime : time; 3606 3607 while (child) { 3608 next = child._prev; 3609 3610 if ((child._act || adjustedTime <= child._end) && child._ts && pauseTween !== child) { 3611 if (child.parent !== this) { 3612 return this.render(totalTime, suppressEvents, force); 3613 } 3614 3615 child.render(child._ts > 0 ? (adjustedTime - child._start) * child._ts : (child._dirty ? child.totalDuration() : child._tDur) + (adjustedTime - child._start) * child._ts, suppressEvents, force || _reverting && (child._initted || child._startAt)); 3616 3617 if (time !== this._time || !this._ts && !prevPaused) { 3618 pauseTween = 0; 3619 next && (tTime += this._zTime = adjustedTime ? -_tinyNum : _tinyNum); 3620 break; 3621 } 3622 } 3623 3624 child = next; 3625 } 3626 } 3627 3628 if (pauseTween && !suppressEvents) { 3629 this.pause(); 3630 pauseTween.render(time >= prevTime ? 0 : -_tinyNum)._zTime = time >= prevTime ? 1 : -1; 3631 3632 if (this._ts) { 3633 this._start = prevStart; 3634 3635 _setEnd(this); 3636 3637 return this.render(totalTime, suppressEvents, force); 3638 } 3639 } 3640 3641 this._onUpdate && !suppressEvents && _callback(this, "onUpdate", true); 3642 if (tTime === tDur && this._tTime >= this.totalDuration() || !tTime && prevTime) if (prevStart === this._start || Math.abs(timeScale) !== Math.abs(this._ts)) if (!this._lock) { 3643 (totalTime || !dur) && (tTime === tDur && this._ts > 0 || !tTime && this._ts < 0) && _removeFromParent(this, 1); 3644 3645 if (!suppressEvents && !(totalTime < 0 && !prevTime) && (tTime || prevTime || !tDur)) { 3646 _callback(this, tTime === tDur && totalTime >= 0 ? "onComplete" : "onReverseComplete", true); 3647 3648 this._prom && !(tTime < tDur && this.timeScale() > 0) && this._prom(); 3649 } 3650 } 3651 } 3652 3653 return this; 3654 }; 3655 3656 _proto2.add = function add(child, position) { 3657 var _this2 = this; 3658 3659 _isNumber(position) || (position = _parsePosition(this, position, child)); 3660 3661 if (!(child instanceof Animation)) { 3662 if (_isArray(child)) { 3663 child.forEach(function (obj) { 3664 return _this2.add(obj, position); 3665 }); 3666 return this; 3667 } 3668 3669 if (_isString(child)) { 3670 return this.addLabel(child, position); 3671 } 3672 3673 if (_isFunction(child)) { 3674 child = Tween.delayedCall(0, child); 3675 } else { 3676 return this; 3677 } 3678 } 3679 3680 return this !== child ? _addToTimeline(this, child, position) : this; 3681 }; 3682 3683 _proto2.getChildren = function getChildren(nested, tweens, timelines, ignoreBeforeTime) { 3684 if (nested === void 0) { 3685 nested = true; 3686 } 3687 3688 if (tweens === void 0) { 3689 tweens = true; 3690 } 3691 3692 if (timelines === void 0) { 3693 timelines = true; 3694 } 3695 3696 if (ignoreBeforeTime === void 0) { 3697 ignoreBeforeTime = -_bigNum; 3698 } 3699 3700 var a = [], 3701 child = this._first; 3702 3703 while (child) { 3704 if (child._start >= ignoreBeforeTime) { 3705 if (child instanceof Tween) { 3706 tweens && a.push(child); 3707 } else { 3708 timelines && a.push(child); 3709 nested && a.push.apply(a, child.getChildren(true, tweens, timelines)); 3710 } 3711 } 3712 3713 child = child._next; 3714 } 3715 3716 return a; 3717 }; 3718 3719 _proto2.getById = function getById(id) { 3720 var animations = this.getChildren(1, 1, 1), 3721 i = animations.length; 3722 3723 while (i--) { 3724 if (animations[i].vars.id === id) { 3725 return animations[i]; 3726 } 3727 } 3728 }; 3729 3730 _proto2.remove = function remove(child) { 3731 if (_isString(child)) { 3732 return this.removeLabel(child); 3733 } 3734 3735 if (_isFunction(child)) { 3736 return this.killTweensOf(child); 3737 } 3738 3739 _removeLinkedListItem(this, child); 3740 3741 if (child === this._recent) { 3742 this._recent = this._last; 3743 } 3744 3745 return _uncache(this); 3746 }; 3747 3748 _proto2.totalTime = function totalTime(_totalTime2, suppressEvents) { 3749 if (!arguments.length) { 3750 return this._tTime; 3751 } 3752 3753 this._forcing = 1; 3754 3755 if (!this._dp && this._ts) { 3756 this._start = _roundPrecise(_ticker.time - (this._ts > 0 ? _totalTime2 / this._ts : (this.totalDuration() - _totalTime2) / -this._ts)); 3757 } 3758 3759 _Animation.prototype.totalTime.call(this, _totalTime2, suppressEvents); 3760 3761 this._forcing = 0; 3762 return this; 3763 }; 3764 3765 _proto2.addLabel = function addLabel(label, position) { 3766 this.labels[label] = _parsePosition(this, position); 3767 return this; 3768 }; 3769 3770 _proto2.removeLabel = function removeLabel(label) { 3771 delete this.labels[label]; 3772 return this; 3773 }; 3774 3775 _proto2.addPause = function addPause(position, callback, params) { 3776 var t = Tween.delayedCall(0, callback || _emptyFunc, params); 3777 t.data = "isPause"; 3778 this._hasPause = 1; 3779 return _addToTimeline(this, t, _parsePosition(this, position)); 3780 }; 3781 3782 _proto2.removePause = function removePause(position) { 3783 var child = this._first; 3784 position = _parsePosition(this, position); 3785 3786 while (child) { 3787 if (child._start === position && child.data === "isPause") { 3788 _removeFromParent(child); 3789 } 3790 3791 child = child._next; 3792 } 3793 }; 3794 3795 _proto2.killTweensOf = function killTweensOf(targets, props, onlyActive) { 3796 var tweens = this.getTweensOf(targets, onlyActive), 3797 i = tweens.length; 3798 3799 while (i--) { 3800 _overwritingTween !== tweens[i] && tweens[i].kill(targets, props); 3801 } 3802 3803 return this; 3804 }; 3805 3806 _proto2.getTweensOf = function getTweensOf(targets, onlyActive) { 3807 var a = [], 3808 parsedTargets = toArray(targets), 3809 child = this._first, 3810 isGlobalTime = _isNumber(onlyActive), 3811 children; 3812 3813 while (child) { 3814 if (child instanceof Tween) { 3815 if (_arrayContainsAny(child._targets, parsedTargets) && (isGlobalTime ? (!_overwritingTween || child._initted && child._ts) && child.globalTime(0) <= onlyActive && child.globalTime(child.totalDuration()) > onlyActive : !onlyActive || child.isActive())) { 3816 a.push(child); 3817 } 3818 } else if ((children = child.getTweensOf(parsedTargets, onlyActive)).length) { 3819 a.push.apply(a, children); 3820 } 3821 3822 child = child._next; 3823 } 3824 3825 return a; 3826 }; 3827 3828 _proto2.tweenTo = function tweenTo(position, vars) { 3829 vars = vars || {}; 3830 3831 var tl = this, 3832 endTime = _parsePosition(tl, position), 3833 _vars = vars, 3834 startAt = _vars.startAt, 3835 _onStart = _vars.onStart, 3836 onStartParams = _vars.onStartParams, 3837 immediateRender = _vars.immediateRender, 3838 initted, 3839 tween = Tween.to(tl, _setDefaults({ 3840 ease: vars.ease || "none", 3841 lazy: false, 3842 immediateRender: false, 3843 time: endTime, 3844 overwrite: "auto", 3845 duration: vars.duration || Math.abs((endTime - (startAt && "time" in startAt ? startAt.time : tl._time)) / tl.timeScale()) || _tinyNum, 3846 onStart: function onStart() { 3847 tl.pause(); 3848 3849 if (!initted) { 3850 var duration = vars.duration || Math.abs((endTime - (startAt && "time" in startAt ? startAt.time : tl._time)) / tl.timeScale()); 3851 tween._dur !== duration && _setDuration(tween, duration, 0, 1).render(tween._time, true, true); 3852 initted = 1; 3853 } 3854 3855 _onStart && _onStart.apply(tween, onStartParams || []); 3856 } 3857 }, vars)); 3858 3859 return immediateRender ? tween.render(0) : tween; 3860 }; 3861 3862 _proto2.tweenFromTo = function tweenFromTo(fromPosition, toPosition, vars) { 3863 return this.tweenTo(toPosition, _setDefaults({ 3864 startAt: { 3865 time: _parsePosition(this, fromPosition) 3866 } 3867 }, vars)); 3868 }; 3869 3870 _proto2.recent = function recent() { 3871 return this._recent; 3872 }; 3873 3874 _proto2.nextLabel = function nextLabel(afterTime) { 3875 if (afterTime === void 0) { 3876 afterTime = this._time; 3877 } 3878 3879 return _getLabelInDirection(this, _parsePosition(this, afterTime)); 3880 }; 3881 3882 _proto2.previousLabel = function previousLabel(beforeTime) { 3883 if (beforeTime === void 0) { 3884 beforeTime = this._time; 3885 } 3886 3887 return _getLabelInDirection(this, _parsePosition(this, beforeTime), 1); 3888 }; 3889 3890 _proto2.currentLabel = function currentLabel(value) { 3891 return arguments.length ? this.seek(value, true) : this.previousLabel(this._time + _tinyNum); 3892 }; 3893 3894 _proto2.shiftChildren = function shiftChildren(amount, adjustLabels, ignoreBeforeTime) { 3895 if (ignoreBeforeTime === void 0) { 3896 ignoreBeforeTime = 0; 3897 } 3898 3899 var child = this._first, 3900 labels = this.labels, 3901 p; 3902 3903 while (child) { 3904 if (child._start >= ignoreBeforeTime) { 3905 child._start += amount; 3906 child._end += amount; 3907 } 3908 3909 child = child._next; 3910 } 3911 3912 if (adjustLabels) { 3913 for (p in labels) { 3914 if (labels[p] >= ignoreBeforeTime) { 3915 labels[p] += amount; 3916 } 3917 } 3918 } 3919 3920 return _uncache(this); 3921 }; 3922 3923 _proto2.invalidate = function invalidate(soft) { 3924 var child = this._first; 3925 this._lock = 0; 3926 3927 while (child) { 3928 child.invalidate(soft); 3929 child = child._next; 3930 } 3931 3932 return _Animation.prototype.invalidate.call(this, soft); 3933 }; 3934 3935 _proto2.clear = function clear(includeLabels) { 3936 if (includeLabels === void 0) { 3937 includeLabels = true; 3938 } 3939 3940 var child = this._first, 3941 next; 3942 3943 while (child) { 3944 next = child._next; 3945 this.remove(child); 3946 child = next; 3947 } 3948 3949 this._dp && (this._time = this._tTime = this._pTime = 0); 3950 includeLabels && (this.labels = {}); 3951 return _uncache(this); 3952 }; 3953 3954 _proto2.totalDuration = function totalDuration(value) { 3955 var max = 0, 3956 self = this, 3957 child = self._last, 3958 prevStart = _bigNum, 3959 prev, 3960 start, 3961 parent; 3962 3963 if (arguments.length) { 3964 return self.timeScale((self._repeat < 0 ? self.duration() : self.totalDuration()) / (self.reversed() ? -value : value)); 3965 } 3966 3967 if (self._dirty) { 3968 parent = self.parent; 3969 3970 while (child) { 3971 prev = child._prev; 3972 child._dirty && child.totalDuration(); 3973 start = child._start; 3974 3975 if (start > prevStart && self._sort && child._ts && !self._lock) { 3976 self._lock = 1; 3977 _addToTimeline(self, child, start - child._delay, 1)._lock = 0; 3978 } else { 3979 prevStart = start; 3980 } 3981 3982 if (start < 0 && child._ts) { 3983 max -= start; 3984 3985 if (!parent && !self._dp || parent && parent.smoothChildTiming) { 3986 self._start += start / self._ts; 3987 self._time -= start; 3988 self._tTime -= start; 3989 } 3990 3991 self.shiftChildren(-start, false, -1e999); 3992 prevStart = 0; 3993 } 3994 3995 child._end > max && child._ts && (max = child._end); 3996 child = prev; 3997 } 3998 3999 _setDuration(self, self === _globalTimeline && self._time > max ? self._time : max, 1, 1); 4000 4001 self._dirty = 0; 4002 } 4003 4004 return self._tDur; 4005 }; 4006 4007 Timeline.updateRoot = function updateRoot(time) { 4008 if (_globalTimeline._ts) { 4009 _lazySafeRender(_globalTimeline, _parentToChildTotalTime(time, _globalTimeline)); 4010 4011 _lastRenderedFrame = _ticker.frame; 4012 } 4013 4014 if (_ticker.frame >= _nextGCFrame) { 4015 _nextGCFrame += _config.autoSleep || 120; 4016 var child = _globalTimeline._first; 4017 if (!child || !child._ts) if (_config.autoSleep && _ticker._listeners.length < 2) { 4018 while (child && !child._ts) { 4019 child = child._next; 4020 } 4021 4022 child || _ticker.sleep(); 4023 } 4024 } 4025 }; 4026 4027 return Timeline; 4028 }(Animation); 4029 4030 _setDefaults(Timeline.prototype, { 4031 _lock: 0, 4032 _hasPause: 0, 4033 _forcing: 0 4034 }); 4035 4036 var _addComplexStringPropTween = function _addComplexStringPropTween(target, prop, start, end, setter, stringFilter, funcParam) { 4037 var pt = new PropTween(this._pt, target, prop, 0, 1, _renderComplexString, null, setter), 4038 index = 0, 4039 matchIndex = 0, 4040 result, 4041 startNums, 4042 color, 4043 endNum, 4044 chunk, 4045 startNum, 4046 hasRandom, 4047 a; 4048 pt.b = start; 4049 pt.e = end; 4050 start += ""; 4051 end += ""; 4052 4053 if (hasRandom = ~end.indexOf("random(")) { 4054 end = _replaceRandom(end); 4055 } 4056 4057 if (stringFilter) { 4058 a = [start, end]; 4059 stringFilter(a, target, prop); 4060 start = a[0]; 4061 end = a[1]; 4062 } 4063 4064 startNums = start.match(_complexStringNumExp) || []; 4065 4066 while (result = _complexStringNumExp.exec(end)) { 4067 endNum = result[0]; 4068 chunk = end.substring(index, result.index); 4069 4070 if (color) { 4071 color = (color + 1) % 5; 4072 } else if (chunk.substr(-5) === "rgba(") { 4073 color = 1; 4074 } 4075 4076 if (endNum !== startNums[matchIndex++]) { 4077 startNum = parseFloat(startNums[matchIndex - 1]) || 0; 4078 pt._pt = { 4079 _next: pt._pt, 4080 p: chunk || matchIndex === 1 ? chunk : ",", 4081 s: startNum, 4082 c: endNum.charAt(1) === "=" ? _parseRelative(startNum, endNum) - startNum : parseFloat(endNum) - startNum, 4083 m: color && color < 4 ? Math.round : 0 4084 }; 4085 index = _complexStringNumExp.lastIndex; 4086 } 4087 } 4088 4089 pt.c = index < end.length ? end.substring(index, end.length) : ""; 4090 pt.fp = funcParam; 4091 4092 if (_relExp.test(end) || hasRandom) { 4093 pt.e = 0; 4094 } 4095 4096 this._pt = pt; 4097 return pt; 4098 }, 4099 _addPropTween = function _addPropTween(target, prop, start, end, index, targets, modifier, stringFilter, funcParam, optional) {
vendor: 9,749 bytes, lines 4100-4386
4100 _isFunction(end) && (end = end(index || 0, target, targets)); 4101 var currentValue = target[prop], 4102 parsedStart = start !== "get" ? start : !_isFunction(currentValue) ? currentValue : funcParam ? target[prop.indexOf("set") || !_isFunction(target["get" + prop.substr(3)]) ? prop : "get" + prop.substr(3)](funcParam) : target[prop](), 4103 setter = !_isFunction(currentValue) ? _setterPlain : funcParam ? _setterFuncWithParam : _setterFunc, 4104 pt; 4105 4106 if (_isString(end)) { 4107 if (~end.indexOf("random(")) { 4108 end = _replaceRandom(end); 4109 } 4110 4111 if (end.charAt(1) === "=") { 4112 pt = _parseRelative(parsedStart, end) + (getUnit(parsedStart) || 0); 4113 4114 if (pt || pt === 0) { 4115 end = pt; 4116 } 4117 } 4118 } 4119 4120 if (!optional || parsedStart !== end || _forceAllPropTweens) { 4121 if (!isNaN(parsedStart * end) && end !== "") { 4122 pt = new PropTween(this._pt, target, prop, +parsedStart || 0, end - (parsedStart || 0), typeof currentValue === "boolean" ? _renderBoolean : _renderPlain, 0, setter); 4123 funcParam && (pt.fp = funcParam); 4124 modifier && pt.modifier(modifier, this, target); 4125 return this._pt = pt; 4126 } 4127 4128 !currentValue && !(prop in target) && _missingPlugin(prop, end); 4129 return _addComplexStringPropTween.call(this, target, prop, parsedStart, end, setter, stringFilter || _config.stringFilter, funcParam); 4130 } 4131 }, 4132 _processVars = function _processVars(vars, index, target, targets, tween) { 4133 _isFunction(vars) && (vars = _parseFuncOrString(vars, tween, index, target, targets)); 4134 4135 if (!_isObject(vars) || vars.style && vars.nodeType || _isArray(vars) || _isTypedArray(vars)) { 4136 return _isString(vars) ? _parseFuncOrString(vars, tween, index, target, targets) : vars; 4137 } 4138 4139 var copy = {}, 4140 p; 4141 4142 for (p in vars) { 4143 copy[p] = _parseFuncOrString(vars[p], tween, index, target, targets); 4144 } 4145 4146 return copy; 4147 }, 4148 _checkPlugin = function _checkPlugin(property, vars, tween, index, target, targets) { 4149 var plugin, pt, ptLookup, i; 4150 4151 if (_plugins[property] && (plugin = new _plugins[property]()).init(target, plugin.rawVars ? vars[property] : _processVars(vars[property], index, target, targets, tween), tween, index, targets) !== false) { 4152 tween._pt = pt = new PropTween(tween._pt, target, property, 0, 1, plugin.render, plugin, 0, plugin.priority); 4153 4154 if (tween !== _quickTween) { 4155 ptLookup = tween._ptLookup[tween._targets.indexOf(target)]; 4156 i = plugin._props.length; 4157 4158 while (i--) { 4159 ptLookup[plugin._props[i]] = pt; 4160 } 4161 } 4162 } 4163 4164 return plugin; 4165 }, 4166 _overwritingTween, 4167 _forceAllPropTweens, 4168 _initTween = function _initTween(tween, time, tTime) { 4169 var vars = tween.vars, 4170 ease = vars.ease, 4171 startAt = vars.startAt, 4172 immediateRender = vars.immediateRender, 4173 lazy = vars.lazy, 4174 onUpdate = vars.onUpdate, 4175 onUpdateParams = vars.onUpdateParams, 4176 callbackScope = vars.callbackScope, 4177 runBackwards = vars.runBackwards, 4178 yoyoEase = vars.yoyoEase, 4179 keyframes = vars.keyframes, 4180 autoRevert = vars.autoRevert, 4181 dur = tween._dur, 4182 prevStartAt = tween._startAt, 4183 targets = tween._targets, 4184 parent = tween.parent, 4185 fullTargets = parent && parent.data === "nested" ? parent.vars.targets : targets, 4186 autoOverwrite = tween._overwrite === "auto" && !_suppressOverwrites, 4187 tl = tween.timeline, 4188 cleanVars, 4189 i, 4190 p, 4191 pt, 4192 target, 4193 hasPriority, 4194 gsData, 4195 harness, 4196 plugin, 4197 ptLookup, 4198 index, 4199 harnessVars, 4200 overwritten; 4201 tl && (!keyframes || !ease) && (ease = "none"); 4202 tween._ease = _parseEase(ease, _defaults.ease); 4203 tween._yEase = yoyoEase ? _invertEase(_parseEase(yoyoEase === true ? ease : yoyoEase, _defaults.ease)) : 0; 4204 4205 if (yoyoEase && tween._yoyo && !tween._repeat) { 4206 yoyoEase = tween._yEase; 4207 tween._yEase = tween._ease; 4208 tween._ease = yoyoEase; 4209 } 4210 4211 tween._from = !tl && !!vars.runBackwards; 4212 4213 if (!tl || keyframes && !vars.stagger) { 4214 harness = targets[0] ? _getCache(targets[0]).harness : 0; 4215 harnessVars = harness && vars[harness.prop]; 4216 cleanVars = _copyExcluding(vars, _reservedProps); 4217 4218 if (prevStartAt) { 4219 prevStartAt._zTime < 0 && prevStartAt.progress(1); 4220 time < 0 && runBackwards && immediateRender && !autoRevert ? prevStartAt.render(-1, true) : prevStartAt.revert(runBackwards && dur ? _revertConfigNoKill : _startAtRevertConfig); 4221 prevStartAt._lazy = 0; 4222 } 4223 4224 if (startAt) { 4225 _removeFromParent(tween._startAt = Tween.set(targets, _setDefaults({ 4226 data: "isStart", 4227 overwrite: false, 4228 parent: parent, 4229 immediateRender: true, 4230 lazy: _isNotFalse(lazy), 4231 startAt: null, 4232 delay: 0, 4233 onUpdate: onUpdate, 4234 onUpdateParams: onUpdateParams, 4235 callbackScope: callbackScope, 4236 stagger: 0 4237 }, startAt))); 4238 4239 tween._startAt._dp = 0; 4240 time < 0 && (_reverting || !immediateRender && !autoRevert) && tween._startAt.revert(_revertConfigNoKill); 4241 4242 if (immediateRender) { 4243 if (dur && time <= 0 && tTime <= 0) { 4244 time && (tween._zTime = time); 4245 return; 4246 } 4247 } 4248 } else if (runBackwards && dur) { 4249 if (!prevStartAt) { 4250 time && (immediateRender = false); 4251 p = _setDefaults({ 4252 overwrite: false, 4253 data: "isFromStart", 4254 lazy: immediateRender && _isNotFalse(lazy), 4255 immediateRender: immediateRender, 4256 stagger: 0, 4257 parent: parent 4258 }, cleanVars); 4259 harnessVars && (p[harness.prop] = harnessVars); 4260 4261 _removeFromParent(tween._startAt = Tween.set(targets, p)); 4262 4263 tween._startAt._dp = 0; 4264 time < 0 && (_reverting ? tween._startAt.revert(_revertConfigNoKill) : tween._startAt.render(-1, true)); 4265 tween._zTime = time; 4266 4267 if (!immediateRender) { 4268 _initTween(tween._startAt, _tinyNum, _tinyNum); 4269 } else if (!time) { 4270 return; 4271 } 4272 } 4273 } 4274 4275 tween._pt = tween._ptCache = 0; 4276 lazy = dur && _isNotFalse(lazy) || lazy && !dur; 4277 4278 for (i = 0; i < targets.length; i++) { 4279 target = targets[i]; 4280 gsData = target._gsap || _harness(targets)[i]._gsap; 4281 tween._ptLookup[i] = ptLookup = {}; 4282 _lazyLookup[gsData.id] && _lazyTweens.length && _lazyRender(); 4283 index = fullTargets === targets ? i : fullTargets.indexOf(target); 4284 4285 if (harness && (plugin = new harness()).init(target, harnessVars || cleanVars, tween, index, fullTargets) !== false) { 4286 tween._pt = pt = new PropTween(tween._pt, target, plugin.name, 0, 1, plugin.render, plugin, 0, plugin.priority); 4287 4288 plugin._props.forEach(function (name) { 4289 ptLookup[name] = pt; 4290 }); 4291 4292 plugin.priority && (hasPriority = 1); 4293 } 4294 4295 if (!harness || harnessVars) { 4296 for (p in cleanVars) { 4297 if (_plugins[p] && (plugin = _checkPlugin(p, cleanVars, tween, index, target, fullTargets))) { 4298 plugin.priority && (hasPriority = 1); 4299 } else { 4300 ptLookup[p] = pt = _addPropTween.call(tween, target, p, "get", cleanVars[p], index, fullTargets, 0, vars.stringFilter); 4301 } 4302 } 4303 } 4304 4305 tween._op && tween._op[i] && tween.kill(target, tween._op[i]); 4306 4307 if (autoOverwrite && tween._pt) { 4308 _overwritingTween = tween; 4309 4310 _globalTimeline.killTweensOf(target, ptLookup, tween.globalTime(time)); 4311 4312 overwritten = !tween.parent; 4313 _overwritingTween = 0; 4314 } 4315 4316 tween._pt && lazy && (_lazyLookup[gsData.id] = 1); 4317 } 4318 4319 hasPriority && _sortPropTweensByPriority(tween); 4320 tween._onInit && tween._onInit(tween); 4321 } 4322 4323 tween._onUpdate = onUpdate; 4324 tween._initted = (!tween._op || tween._pt) && !overwritten; 4325 keyframes && time <= 0 && tl.render(_bigNum, true, true); 4326 }, 4327 _updatePropTweens = function _updatePropTweens(tween, property, value, start, startIsRelative, ratio, time) { 4328 var ptCache = (tween._pt && tween._ptCache || (tween._ptCache = {}))[property], 4329 pt, 4330 rootPT, 4331 lookup, 4332 i; 4333 4334 if (!ptCache) { 4335 ptCache = tween._ptCache[property] = []; 4336 lookup = tween._ptLookup; 4337 i = tween._targets.length; 4338 4339 while (i--) { 4340 pt = lookup[i][property]; 4341 4342 if (pt && pt.d && pt.d._pt) { 4343 pt = pt.d._pt; 4344 4345 while (pt && pt.p !== property && pt.fp !== property) { 4346 pt = pt._next; 4347 } 4348 } 4349 4350 if (!pt) { 4351 _forceAllPropTweens = 1; 4352 tween.vars[property] = "+=0"; 4353 4354 _initTween(tween, time); 4355 4356 _forceAllPropTweens = 0; 4357 return 1; 4358 } 4359 4360 ptCache.push(pt); 4361 } 4362 } 4363 4364 i = ptCache.length; 4365 4366 while (i--) { 4367 rootPT = ptCache[i]; 4368 pt = rootPT._pt || rootPT; 4369 pt.s = (start || start === 0) && !startIsRelative ? start : pt.s + (start || 0) + ratio * pt.c; 4370 pt.c = value - pt.s; 4371 rootPT.e && (rootPT.e = _round(value) + getUnit(rootPT.e)); 4372 rootPT.b && (rootPT.b = pt.s + getUnit(rootPT.b)); 4373 } 4374 }, 4375 _addAliasesToVars = function _addAliasesToVars(targets, vars) { 4376 var harness = targets[0] ? _getCache(targets[0]).harness : 0, 4377 propertyAliases = harness && harness.aliases, 4378 copy, 4379 p, 4380 i, 4381 aliases; 4382 4383 if (!propertyAliases) { 4384 return vars; 4385 } 4386
vendor: 4,989 bytes, lines 4387-4529
4387 copy = _merge({}, vars); 4388 4389 for (p in propertyAliases) { 4390 if (p in copy) { 4391 aliases = propertyAliases[p].split(","); 4392 i = aliases.length; 4393 4394 while (i--) { 4395 copy[aliases[i]] = copy[p]; 4396 } 4397 } 4398 } 4399 4400 return copy; 4401 }, 4402 _parseKeyframe = function _parseKeyframe(prop, obj, allProps, easeEach) { 4403 var ease = obj.ease || easeEach || "power1.inOut", 4404 p, 4405 a; 4406 4407 if (_isArray(obj)) { 4408 a = allProps[prop] || (allProps[prop] = []); 4409 obj.forEach(function (value, i) { 4410 return a.push({ 4411 t: i / (obj.length - 1) * 100, 4412 v: value, 4413 e: ease 4414 }); 4415 }); 4416 } else { 4417 for (p in obj) { 4418 a = allProps[p] || (allProps[p] = []); 4419 p === "ease" || a.push({ 4420 t: parseFloat(prop), 4421 v: obj[p], 4422 e: ease 4423 }); 4424 } 4425 } 4426 }, 4427 _parseFuncOrString = function _parseFuncOrString(value, tween, i, target, targets) { 4428 return _isFunction(value) ? value.call(tween, i, target, targets) : _isString(value) && ~value.indexOf("random(") ? _replaceRandom(value) : value; 4429 }, 4430 _staggerTweenProps = _callbackNames + "repeat,repeatDelay,yoyo,repeatRefresh,yoyoEase,autoRevert", 4431 _staggerPropsToSkip = {}; 4432 4433 _forEachName(_staggerTweenProps + ",id,stagger,delay,duration,paused,scrollTrigger", function (name) { 4434 return _staggerPropsToSkip[name] = 1; 4435 }); 4436 4437 var Tween = function (_Animation2) { 4438 _inheritsLoose(Tween, _Animation2); 4439 4440 function Tween(targets, vars, position, skipInherit) { 4441 var _this3; 4442 4443 if (typeof vars === "number") { 4444 position.duration = vars; 4445 vars = position; 4446 position = null; 4447 } 4448 4449 _this3 = _Animation2.call(this, skipInherit ? vars : _inheritDefaults(vars)) || this; 4450 var _this3$vars = _this3.vars, 4451 duration = _this3$vars.duration, 4452 delay = _this3$vars.delay, 4453 immediateRender = _this3$vars.immediateRender, 4454 stagger = _this3$vars.stagger, 4455 overwrite = _this3$vars.overwrite, 4456 keyframes = _this3$vars.keyframes, 4457 defaults = _this3$vars.defaults, 4458 scrollTrigger = _this3$vars.scrollTrigger, 4459 yoyoEase = _this3$vars.yoyoEase, 4460 parent = vars.parent || _globalTimeline, 4461 parsedTargets = (_isArray(targets) || _isTypedArray(targets) ? _isNumber(targets[0]) : "length" in vars) ? [targets] : toArray(targets), 4462 tl, 4463 i, 4464 copy, 4465 l, 4466 p, 4467 curTarget, 4468 staggerFunc, 4469 staggerVarsToMerge; 4470 _this3._targets = parsedTargets.length ? _harness(parsedTargets) : _warn("GSAP target " + targets + " not found. https://greensock.com", !_config.nullTargetWarn) || []; 4471 _this3._ptLookup = []; 4472 _this3._overwrite = overwrite; 4473 4474 if (keyframes || stagger || _isFuncOrString(duration) || _isFuncOrString(delay)) { 4475 vars = _this3.vars; 4476 tl = _this3.timeline = new Timeline({ 4477 data: "nested", 4478 defaults: defaults || {}, 4479 targets: parent && parent.data === "nested" ? parent.vars.targets : parsedTargets 4480 }); 4481 tl.kill(); 4482 tl.parent = tl._dp = _assertThisInitialized(_this3); 4483 tl._start = 0; 4484 4485 if (stagger || _isFuncOrString(duration) || _isFuncOrString(delay)) { 4486 l = parsedTargets.length; 4487 staggerFunc = stagger && distribute(stagger); 4488 4489 if (_isObject(stagger)) { 4490 for (p in stagger) { 4491 if (~_staggerTweenProps.indexOf(p)) { 4492 staggerVarsToMerge || (staggerVarsToMerge = {}); 4493 staggerVarsToMerge[p] = stagger[p]; 4494 } 4495 } 4496 } 4497 4498 for (i = 0; i < l; i++) { 4499 copy = _copyExcluding(vars, _staggerPropsToSkip); 4500 copy.stagger = 0; 4501 yoyoEase && (copy.yoyoEase = yoyoEase); 4502 staggerVarsToMerge && _merge(copy, staggerVarsToMerge); 4503 curTarget = parsedTargets[i]; 4504 copy.duration = +_parseFuncOrString(duration, _assertThisInitialized(_this3), i, curTarget, parsedTargets); 4505 copy.delay = (+_parseFuncOrString(delay, _assertThisInitialized(_this3), i, curTarget, parsedTargets) || 0) - _this3._delay; 4506 4507 if (!stagger && l === 1 && copy.delay) { 4508 _this3._delay = delay = copy.delay; 4509 _this3._start += delay; 4510 copy.delay = 0; 4511 } 4512 4513 tl.to(curTarget, copy, staggerFunc ? staggerFunc(i, curTarget, parsedTargets) : 0); 4514 tl._ease = _easeMap.none; 4515 } 4516 4517 tl.duration() ? duration = delay = 0 : _this3.timeline = 0; 4518 } else if (keyframes) { 4519 _inheritDefaults(_setDefaults(tl.vars.defaults, { 4520 ease: "none" 4521 })); 4522 4523 tl._ease = _parseEase(keyframes.ease || vars.ease || "none"); 4524 var time = 0, 4525 a, 4526 kf, 4527 v; 4528 4529 if (_isArray(keyframes)) {
vendor: 6,328 bytes, lines 4530-4736
4530 keyframes.forEach(function (frame) { 4531 return tl.to(parsedTargets, frame, ">"); 4532 }); 4533 tl.duration(); 4534 } else { 4535 copy = {}; 4536 4537 for (p in keyframes) { 4538 p === "ease" || p === "easeEach" || _parseKeyframe(p, keyframes[p], copy, keyframes.easeEach); 4539 } 4540 4541 for (p in copy) { 4542 a = copy[p].sort(function (a, b) { 4543 return a.t - b.t; 4544 }); 4545 time = 0; 4546 4547 for (i = 0; i < a.length; i++) { 4548 kf = a[i]; 4549 v = { 4550 ease: kf.e, 4551 duration: (kf.t - (i ? a[i - 1].t : 0)) / 100 * duration 4552 }; 4553 v[p] = kf.v; 4554 tl.to(parsedTargets, v, time); 4555 time += v.duration; 4556 } 4557 } 4558 4559 tl.duration() < duration && tl.to({}, { 4560 duration: duration - tl.duration() 4561 }); 4562 } 4563 } 4564 4565 duration || _this3.duration(duration = tl.duration()); 4566 } else { 4567 _this3.timeline = 0; 4568 } 4569 4570 if (overwrite === true && !_suppressOverwrites) { 4571 _overwritingTween = _assertThisInitialized(_this3); 4572 4573 _globalTimeline.killTweensOf(parsedTargets); 4574 4575 _overwritingTween = 0; 4576 } 4577 4578 _addToTimeline(parent, _assertThisInitialized(_this3), position); 4579 4580 vars.reversed && _this3.reverse(); 4581 vars.paused && _this3.paused(true); 4582 4583 if (immediateRender || !duration && !keyframes && _this3._start === _roundPrecise(parent._time) && _isNotFalse(immediateRender) && _hasNoPausedAncestors(_assertThisInitialized(_this3)) && parent.data !== "nested") { 4584 _this3._tTime = -_tinyNum; 4585 4586 _this3.render(Math.max(0, -delay) || 0); 4587 } 4588 4589 scrollTrigger && _scrollTrigger(_assertThisInitialized(_this3), scrollTrigger); 4590 return _this3; 4591 } 4592 4593 var _proto3 = Tween.prototype; 4594 4595 _proto3.render = function render(totalTime, suppressEvents, force) { 4596 var prevTime = this._time, 4597 tDur = this._tDur, 4598 dur = this._dur, 4599 isNegative = totalTime < 0, 4600 tTime = totalTime > tDur - _tinyNum && !isNegative ? tDur : totalTime < _tinyNum ? 0 : totalTime, 4601 time, 4602 pt, 4603 iteration, 4604 cycleDuration, 4605 prevIteration, 4606 isYoyo, 4607 ratio, 4608 timeline, 4609 yoyoEase; 4610 4611 if (!dur) { 4612 _renderZeroDurationTween(this, totalTime, suppressEvents, force); 4613 } else if (tTime !== this._tTime || !totalTime || force || !this._initted && this._tTime || this._startAt && this._zTime < 0 !== isNegative) { 4614 time = tTime; 4615 timeline = this.timeline; 4616 4617 if (this._repeat) { 4618 cycleDuration = dur + this._rDelay; 4619 4620 if (this._repeat < -1 && isNegative) { 4621 return this.totalTime(cycleDuration * 100 + totalTime, suppressEvents, force); 4622 } 4623 4624 time = _roundPrecise(tTime % cycleDuration); 4625 4626 if (tTime === tDur) { 4627 iteration = this._repeat; 4628 time = dur; 4629 } else { 4630 iteration = ~~(tTime / cycleDuration); 4631 4632 if (iteration && iteration === tTime / cycleDuration) { 4633 time = dur; 4634 iteration--; 4635 } 4636 4637 time > dur && (time = dur); 4638 } 4639 4640 isYoyo = this._yoyo && iteration & 1; 4641 4642 if (isYoyo) { 4643 yoyoEase = this._yEase; 4644 time = dur - time; 4645 } 4646 4647 prevIteration = _animationCycle(this._tTime, cycleDuration); 4648 4649 if (time === prevTime && !force && this._initted) { 4650 this._tTime = tTime; 4651 return this; 4652 } 4653 4654 if (iteration !== prevIteration) { 4655 timeline && this._yEase && _propagateYoyoEase(timeline, isYoyo); 4656 4657 if (this.vars.repeatRefresh && !isYoyo && !this._lock) { 4658 this._lock = force = 1; 4659 this.render(_roundPrecise(cycleDuration * iteration), true).invalidate()._lock = 0; 4660 } 4661 } 4662 } 4663 4664 if (!this._initted) { 4665 if (_attemptInitTween(this, isNegative ? totalTime : time, force, suppressEvents, tTime)) { 4666 this._tTime = 0; 4667 return this; 4668 } 4669 4670 if (prevTime !== this._time) { 4671 return this; 4672 } 4673 4674 if (dur !== this._dur) { 4675 return this.render(totalTime, suppressEvents, force); 4676 } 4677 } 4678 4679 this._tTime = tTime; 4680 this._time = time; 4681 4682 if (!this._act && this._ts) { 4683 this._act = 1; 4684 this._lazy = 0; 4685 } 4686 4687 this.ratio = ratio = (yoyoEase || this._ease)(time / dur); 4688 4689 if (this._from) { 4690 this.ratio = ratio = 1 - ratio; 4691 } 4692 4693 if (time && !prevTime && !suppressEvents) { 4694 _callback(this, "onStart"); 4695 4696 if (this._tTime !== tTime) { 4697 return this; 4698 } 4699 } 4700 4701 pt = this._pt; 4702 4703 while (pt) { 4704 pt.r(ratio, pt.d); 4705 pt = pt._next; 4706 } 4707 4708 timeline && timeline.render(totalTime < 0 ? totalTime : !time && isYoyo ? -_tinyNum : timeline._dur * timeline._ease(time / this._dur), suppressEvents, force) || this._startAt && (this._zTime = totalTime); 4709 4710 if (this._onUpdate && !suppressEvents) { 4711 isNegative && _rewindStartAt(this, totalTime, suppressEvents, force); 4712 4713 _callback(this, "onUpdate"); 4714 } 4715 4716 this._repeat && iteration !== prevIteration && this.vars.onRepeat && !suppressEvents && this.parent && _callback(this, "onRepeat"); 4717 4718 if ((tTime === this._tDur || !tTime) && this._tTime === tTime) { 4719 isNegative && !this._onUpdate && _rewindStartAt(this, totalTime, true, true); 4720 (totalTime || !dur) && (tTime === this._tDur && this._ts > 0 || !tTime && this._ts < 0) && _removeFromParent(this, 1); 4721 4722 if (!suppressEvents && !(isNegative && !prevTime) && (tTime || prevTime || isYoyo)) { 4723 _callback(this, tTime === tDur ? "onComplete" : "onReverseComplete", true); 4724 4725 this._prom && !(tTime < tDur && this.timeScale() > 0) && this._prom(); 4726 } 4727 } 4728 } 4729 4730 return this; 4731 }; 4732 4733 _proto3.targets = function targets() { 4734 return this._targets; 4735 }; 4736
vendor: 1,277 bytes, lines 4737-4770
4737 _proto3.invalidate = function invalidate(soft) { 4738 (!soft || !this.vars.runBackwards) && (this._startAt = 0); 4739 this._pt = this._op = this._onUpdate = this._lazy = this.ratio = 0; 4740 this._ptLookup = []; 4741 this.timeline && this.timeline.invalidate(soft); 4742 return _Animation2.prototype.invalidate.call(this, soft); 4743 }; 4744 4745 _proto3.resetTo = function resetTo(property, value, start, startIsRelative) { 4746 _tickerActive || _ticker.wake(); 4747 this._ts || this.play(); 4748 var time = Math.min(this._dur, (this._dp._time - this._start) * this._ts), 4749 ratio; 4750 this._initted || _initTween(this, time); 4751 ratio = this._ease(time / this._dur); 4752 4753 if (_updatePropTweens(this, property, value, start, startIsRelative, ratio, time)) { 4754 return this.resetTo(property, value, start, startIsRelative); 4755 } 4756 4757 _alignPlayhead(this, 0); 4758 4759 this.parent || _addLinkedListItem(this._dp, this, "_first", "_last", this._dp._sort ? "_start" : 0); 4760 return this.render(0); 4761 }; 4762 4763 _proto3.kill = function kill(targets, vars) { 4764 if (vars === void 0) { 4765 vars = "all"; 4766 } 4767 4768 if (!targets && (!vars || vars === "all")) { 4769 this._lazy = this._pt = 0; 4770 return this.parent ? _interrupt(this) :
vendor: 7,709 bytes, lines 4770-5050
4770 this; 4771 } 4772 4773 if (this.timeline) { 4774 var tDur = this.timeline.totalDuration(); 4775 this.timeline.killTweensOf(targets, vars, _overwritingTween && _overwritingTween.vars.overwrite !== true)._first || _interrupt(this); 4776 this.parent && tDur !== this.timeline.totalDuration() && _setDuration(this, this._dur * this.timeline._tDur / tDur, 0, 1); 4777 return this; 4778 } 4779 4780 var parsedTargets = this._targets, 4781 killingTargets = targets ? toArray(targets) : parsedTargets, 4782 propTweenLookup = this._ptLookup, 4783 firstPT = this._pt, 4784 overwrittenProps, 4785 curLookup, 4786 curOverwriteProps, 4787 props, 4788 p, 4789 pt, 4790 i; 4791 4792 if ((!vars || vars === "all") && _arraysMatch(parsedTargets, killingTargets)) { 4793 vars === "all" && (this._pt = 0); 4794 return _interrupt(this); 4795 } 4796 4797 overwrittenProps = this._op = this._op || []; 4798 4799 if (vars !== "all") { 4800 if (_isString(vars)) { 4801 p = {}; 4802 4803 _forEachName(vars, function (name) { 4804 return p[name] = 1; 4805 }); 4806 4807 vars = p; 4808 } 4809 4810 vars = _addAliasesToVars(parsedTargets, vars); 4811 } 4812 4813 i = parsedTargets.length; 4814 4815 while (i--) { 4816 if (~killingTargets.indexOf(parsedTargets[i])) { 4817 curLookup = propTweenLookup[i]; 4818 4819 if (vars === "all") { 4820 overwrittenProps[i] = vars; 4821 props = curLookup; 4822 curOverwriteProps = {}; 4823 } else { 4824 curOverwriteProps = overwrittenProps[i] = overwrittenProps[i] || {}; 4825 props = vars; 4826 } 4827 4828 for (p in props) { 4829 pt = curLookup && curLookup[p]; 4830 4831 if (pt) { 4832 if (!("kill" in pt.d) || pt.d.kill(p) === true) { 4833 _removeLinkedListItem(this, pt, "_pt"); 4834 } 4835 4836 delete curLookup[p]; 4837 } 4838 4839 if (curOverwriteProps !== "all") { 4840 curOverwriteProps[p] = 1; 4841 } 4842 } 4843 } 4844 } 4845 4846 this._initted && !this._pt && firstPT && _interrupt(this); 4847 return this; 4848 }; 4849 4850 Tween.to = function to(targets, vars) { 4851 return new Tween(targets, vars, arguments[2]); 4852 }; 4853 4854 Tween.from = function from(targets, vars) { 4855 return _createTweenType(1, arguments); 4856 }; 4857 4858 Tween.delayedCall = function delayedCall(delay, callback, params, scope) { 4859 return new Tween(callback, 0, { 4860 immediateRender: false, 4861 lazy: false, 4862 overwrite: false, 4863 delay: delay, 4864 onComplete: callback, 4865 onReverseComplete: callback, 4866 onCompleteParams: params, 4867 onReverseCompleteParams: params, 4868 callbackScope: scope 4869 }); 4870 }; 4871 4872 Tween.fromTo = function fromTo(targets, fromVars, toVars) { 4873 return _createTweenType(2, arguments); 4874 }; 4875 4876 Tween.set = function set(targets, vars) { 4877 vars.duration = 0; 4878 vars.repeatDelay || (vars.repeat = 0); 4879 return new Tween(targets, vars); 4880 }; 4881 4882 Tween.killTweensOf = function killTweensOf(targets, props, onlyActive) { 4883 return _globalTimeline.killTweensOf(targets, props, onlyActive); 4884 }; 4885 4886 return Tween; 4887 }(Animation); 4888 4889 _setDefaults(Tween.prototype, { 4890 _targets: [], 4891 _lazy: 0, 4892 _startAt: 0, 4893 _op: 0, 4894 _onInit: 0 4895 }); 4896 4897 _forEachName("staggerTo,staggerFrom,staggerFromTo", function (name) { 4898 Tween[name] = function () { 4899 var tl = new Timeline(), 4900 params = _slice.call(arguments, 0); 4901 4902 params.splice(name === "staggerFromTo" ? 5 : 4, 0, 0); 4903 return tl[name].apply(tl, params); 4904 }; 4905 }); 4906 4907 var _setterPlain = function _setterPlain(target, property, value) { 4908 return target[property] = value; 4909 }, 4910 _setterFunc = function _setterFunc(target, property, value) { 4911 return target[property](value); 4912 }, 4913 _setterFuncWithParam = function _setterFuncWithParam(target, property, value, data) { 4914 return target[property](data.fp, value); 4915 }, 4916 _setterAttribute = function _setterAttribute(target, property, value) { 4917 return target.setAttribute(property, value); 4918 }, 4919 _getSetter = function _getSetter(target, property) { 4920 return _isFunction(target[property]) ? _setterFunc : _isUndefined(target[property]) && target.setAttribute ? _setterAttribute : _setterPlain; 4921 }, 4922 _renderPlain = function _renderPlain(ratio, data) { 4923 return data.set(data.t, data.p, Math.round((data.s + data.c * ratio) * 1000000) / 1000000, data); 4924 }, 4925 _renderBoolean = function _renderBoolean(ratio, data) { 4926 return data.set(data.t, data.p, !!(data.s + data.c * ratio), data); 4927 }, 4928 _renderComplexString = function _renderComplexString(ratio, data) { 4929 var pt = data._pt, 4930 s = ""; 4931 4932 if (!ratio && data.b) { 4933 s = data.b; 4934 } else if (ratio === 1 && data.e) { 4935 s = data.e; 4936 } else { 4937 while (pt) { 4938 s = pt.p + (pt.m ? pt.m(pt.s + pt.c * ratio) : Math.round((pt.s + pt.c * ratio) * 10000) / 10000) + s; 4939 pt = pt._next; 4940 } 4941 4942 s += data.c; 4943 } 4944 4945 data.set(data.t, data.p, s, data); 4946 }, 4947 _renderPropTweens = function _renderPropTweens(ratio, data) { 4948 var pt = data._pt; 4949 4950 while (pt) { 4951 pt.r(ratio, pt.d); 4952 pt = pt._next; 4953 } 4954 }, 4955 _addPluginModifier = function _addPluginModifier(modifier, tween, target, property) { 4956 var pt = this._pt, 4957 next; 4958 4959 while (pt) { 4960 next = pt._next; 4961 pt.p === property && pt.modifier(modifier, tween, target); 4962 pt = next; 4963 } 4964 }, 4965 _killPropTweensOf = function _killPropTweensOf(property) { 4966 var pt = this._pt, 4967 hasNonDependentRemaining, 4968 next; 4969 4970 while (pt) { 4971 next = pt._next; 4972 4973 if (pt.p === property && !pt.op || pt.op === property) { 4974 _removeLinkedListItem(this, pt, "_pt"); 4975 } else if (!pt.dep) { 4976 hasNonDependentRemaining = 1; 4977 } 4978 4979 pt = next; 4980 } 4981 4982 return !hasNonDependentRemaining; 4983 }, 4984 _setterWithModifier = function _setterWithModifier(target, property, value, data) { 4985 data.mSet(target, property, data.m.call(data.tween, value, data.mt), data); 4986 }, 4987 _sortPropTweensByPriority = function _sortPropTweensByPriority(parent) { 4988 var pt = parent._pt, 4989 next, 4990 pt2, 4991 first, 4992 last; 4993 4994 while (pt) { 4995 next = pt._next; 4996 pt2 = first; 4997 4998 while (pt2 && pt2.pr > pt.pr) { 4999 pt2 = pt2._next; 5000 } 5001 5002 if (pt._prev = pt2 ? pt2._prev : last) { 5003 pt._prev._next = pt; 5004 } else { 5005 first = pt; 5006 } 5007 5008 if (pt._next = pt2) { 5009 pt2._prev = pt; 5010 } else { 5011 last = pt; 5012 } 5013 5014 pt = next; 5015 } 5016 5017 parent._pt = first; 5018 }; 5019 5020 var PropTween = function () { 5021 function PropTween(next, target, prop, start, change, renderer, data, setter, priority) { 5022 this.t = target; 5023 this.s = start; 5024 this.c = change; 5025 this.p = prop; 5026 this.r = renderer || _renderPlain; 5027 this.d = data || this; 5028 this.set = setter || _setterPlain; 5029 this.pr = priority || 0; 5030 this._next = next; 5031 5032 if (next) { 5033 next._prev = this; 5034 } 5035 } 5036 5037 var _proto4 = PropTween.prototype; 5038 5039 _proto4.modifier = function modifier(func, tween, target) { 5040 this.mSet = this.mSet || this.set; 5041 this.set = _setterWithModifier; 5042 this.m = func; 5043 this.mt = target; 5044 this.tween = tween; 5045 }; 5046 5047 return PropTween; 5048 }(); 5049 5050 _forEachName(_callbackNames + "parent,duration,ease,delay,overwrite,runBackwards,startAt,yoyo,immediateRender,repeat,repeatDelay,data,paused,reversed,lazy,callbackScope,stringFilter,id,yoyoEase,stagger,inherit,repeatRefresh,keyframes,autoRevert,scrollTrigger
vendor: 3,674 bytes, lines 5050-5193
5050", function (name) { 5051 return _reservedProps[name] = 1; 5052 }); 5053 5054 _globals.TweenMax = _globals.TweenLite = Tween; 5055 _globals.TimelineLite = _globals.TimelineMax = Timeline; 5056 _globalTimeline = new Timeline({ 5057 sortChildren: false, 5058 defaults: _defaults, 5059 autoRemoveChildren: true, 5060 id: "root", 5061 smoothChildTiming: true 5062 }); 5063 _config.stringFilter = _colorStringFilter; 5064 5065 var _media = [], 5066 _listeners = {}, 5067 _emptyArray = [], 5068 _lastMediaTime = 0, 5069 _dispatch = function _dispatch(type) { 5070 return (_listeners[type] || _emptyArray).map(function (f) { 5071 return f(); 5072 }); 5073 }, 5074 _onMediaChange = function _onMediaChange() { 5075 var time = Date.now(), 5076 matches = []; 5077 5078 if (time - _lastMediaTime > 2) { 5079 _dispatch("matchMediaInit"); 5080 5081 _media.forEach(function (c) { 5082 var queries = c.queries, 5083 conditions = c.conditions, 5084 match, 5085 p, 5086 anyMatch, 5087 toggled; 5088 5089 for (p in queries) { 5090 match = _win.matchMedia(queries[p]).matches; 5091 match && (anyMatch = 1); 5092 5093 if (match !== conditions[p]) { 5094 conditions[p] = match; 5095 toggled = 1; 5096 } 5097 } 5098 5099 if (toggled) { 5100 c.revert(); 5101 anyMatch && matches.push(c); 5102 } 5103 }); 5104 5105 _dispatch("matchMediaRevert"); 5106 5107 matches.forEach(function (c) { 5108 return c.onMatch(c); 5109 }); 5110 _lastMediaTime = time; 5111 5112 _dispatch("matchMedia"); 5113 } 5114 }; 5115 5116 var Context = function () { 5117 function Context(func, scope) { 5118 this.selector = scope && selector(scope); 5119 this.data = []; 5120 this._r = []; 5121 this.isReverted = false; 5122 func && this.add(func); 5123 } 5124 5125 var _proto5 = Context.prototype; 5126 5127 _proto5.add = function add(name, func, scope) { 5128 if (_isFunction(name)) { 5129 scope = func; 5130 func = name; 5131 name = _isFunction; 5132 } 5133 5134 var self = this, 5135 f = function f() { 5136 var prev = _context, 5137 prevSelector = self.selector, 5138 result; 5139 prev && prev !== self && prev.data.push(self); 5140 scope && (self.selector = selector(scope)); 5141 _context = self; 5142 result = func.apply(self, arguments); 5143 _isFunction(result) && self._r.push(result); 5144 _context = prev; 5145 self.selector = prevSelector; 5146 self.isReverted = false; 5147 return result; 5148 }; 5149 5150 self.last = f; 5151 return name === _isFunction ? f(self) : name ? self[name] = f : f; 5152 }; 5153 5154 _proto5.ignore = function ignore(func) { 5155 var prev = _context; 5156 _context = null; 5157 func(this); 5158 _context = prev; 5159 }; 5160 5161 _proto5.getTweens = function getTweens() { 5162 var a = []; 5163 this.data.forEach(function (e) { 5164 return e instanceof Context ? a.push.apply(a, e.getTweens()) : e instanceof Tween && !(e.parent && e.parent.data === "nested") && a.push(e); 5165 }); 5166 return a; 5167 }; 5168 5169 _proto5.clear = function clear() { 5170 this._r.length = this.data.length = 0; 5171 }; 5172 5173 _proto5.kill = function kill(revert, matchMedia) { 5174 var _this4 = this; 5175 5176 if (revert) { 5177 var tweens = this.getTweens(); 5178 this.data.forEach(function (t) { 5179 if (t.data === "isFlip") { 5180 t.revert(); 5181 t.getChildren(true, true, false).forEach(function (tween) { 5182 return tweens.splice(tweens.indexOf(tween), 1); 5183 }); 5184 } 5185 }); 5186 tweens.map(function (t) { 5187 return { 5188 g: t.globalTime(0), 5189 t: t 5190 }; 5191 }).sort(function (a, b) { 5192 return b.g - a.g || -1; 5193 }
5193).forEach(function (o) { 5194 return o.t.revert(revert); 5195 }); 5196 this.data.forEach(function (e) { 5197 return !(e instanceof Animation) && e.revert && e.revert(revert); 5198 }); 5199 5200 this._r.forEach(function (f) { 5201 return f(revert, _this4); 5202 }); 5203 5204 this.isReverted = true; 5205 } else { 5206 this.data.forEach(function (e) { 5207 return e.kill && e.kill(); 5208 }); 5209 } 5210 5211 this.clear(); 5212 5213 if (matchMedia) { 5214 var i = _media.indexOf(this); 5215 5216 !!~i && _media.splice(i, 1); 5217 } 5218 }; 5219 5220 _proto5.revert = function revert(config) { 5221 this.kill(config || {}); 5222 }; 5223 5224 return Context; 5225 }(); 5226 5227 var MatchMedia = function () { 5228 function MatchMedia(scope) { 5229 this.contexts = []; 5230 this.scope = scope; 5231 } 5232 5233 var _proto6 = MatchMedia.prototype; 5234 5235 _proto6.add = function add(conditions, func, scope) { 5236 _isObject(conditions) || (conditions = { 5237 matches: conditions 5238 }); 5239 var context = new Context(0, scope || this.scope), 5240 cond = context.conditions = {}, 5241 mq, 5242 p, 5243 active; 5244 this.contexts.push(context); 5245 func = context.add("onMatch", func); 5246 context.queries = conditions; 5247 5248 for (p in conditions) { 5249 if (p === "all") { 5250 active = 1; 5251 } else { 5252 mq = _win.matchMedia(conditions[p]); 5253 5254 if (mq) { 5255 _media.indexOf(context) < 0 && _media.push(context); 5256 (cond[p] = mq.matches) && (active = 1); 5257 mq.addListener ? mq.addListener(_onMediaChange) : mq.addEventListener("change", _onMediaChange); 5258 } 5259 } 5260 } 5261 5262 active && func(context); 5263 return this; 5264 }; 5265 5266 _proto6.revert = function revert(config) { 5267 this.kill(config || {}); 5268 }; 5269 5270 _proto6.kill = function kill(revert) {
vendor: 2,486 bytes, lines 5271-5343
5271 this.contexts.forEach(function (c) { 5272 return c.kill(revert, true); 5273 }); 5274 }; 5275 5276 return MatchMedia; 5277 }(); 5278 5279 var _gsap = { 5280 registerPlugin: function registerPlugin() { 5281 for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { 5282 args[_key2] = arguments[_key2]; 5283 } 5284 5285 args.forEach(function (config) { 5286 return _createPlugin(config); 5287 }); 5288 }, 5289 timeline: function timeline(vars) { 5290 return new Timeline(vars); 5291 }, 5292 getTweensOf: function getTweensOf(targets, onlyActive) { 5293 return _globalTimeline.getTweensOf(targets, onlyActive); 5294 }, 5295 getProperty: function getProperty(target, property, unit, uncache) { 5296 _isString(target) && (target = toArray(target)[0]); 5297 5298 var getter = _getCache(target || {}).get, 5299 format = unit ? _passThrough : _numericIfPossible; 5300 5301 unit === "native" && (unit = ""); 5302 return !target ? target : !property ? function (property, unit, uncache) { 5303 return format((_plugins[property] && _plugins[property].get || getter)(target, property, unit, uncache)); 5304 } : format((_plugins[property] && _plugins[property].get || getter)(target, property, unit, uncache)); 5305 }, 5306 quickSetter: function quickSetter(target, property, unit) { 5307 target = toArray(target); 5308 5309 if (target.length > 1) { 5310 var setters = target.map(function (t) { 5311 return gsap.quickSetter(t, property, unit); 5312 }), 5313 l = setters.length; 5314 return function (value) { 5315 var i = l; 5316 5317 while (i--) { 5318 setters[i](value); 5319 } 5320 }; 5321 } 5322 5323 target = target[0] || {}; 5324 5325 var Plugin = _plugins[property], 5326 cache = _getCache(target), 5327 p = cache.harness && (cache.harness.aliases || {})[property] || property, 5328 setter = Plugin ? function (value) { 5329 var p = new Plugin(); 5330 _quickTween._pt = 0; 5331 p.init(target, unit ? value + unit : value, _quickTween, 0, [target]); 5332 p.render(1, p); 5333 _quickTween._pt && _renderPropTweens(1, _quickTween); 5334 } : cache.set(target, p); 5335 5336 return Plugin ? setter : function (value) { 5337 return setter(target, p, unit ? value + unit : value, cache, 1); 5338 }; 5339 }, 5340 quickTo: function quickTo(target, property, vars) { 5341 var _merge2; 5342 5343 var tween = gsap.to(target, _merge((_merge2 = {}, _merge2[property] = "+=0.1", _merge2.paused = true, _merge
vendor: 5,649 bytes, lines 5343-5545
53432), vars || {})), 5344 func = function func(value, start, startIsRelative) { 5345 return tween.resetTo(property, value, start, startIsRelative); 5346 }; 5347 5348 func.tween = tween; 5349 return func; 5350 }, 5351 isTweening: function isTweening(targets) { 5352 return _globalTimeline.getTweensOf(targets, true).length > 0; 5353 }, 5354 defaults: function defaults(value) { 5355 value && value.ease && (value.ease = _parseEase(value.ease, _defaults.ease)); 5356 return _mergeDeep(_defaults, value || {}); 5357 }, 5358 config: function config(value) { 5359 return _mergeDeep(_config, value || {}); 5360 }, 5361 registerEffect: function registerEffect(_ref3) { 5362 var name = _ref3.name, 5363 effect = _ref3.effect, 5364 plugins = _ref3.plugins, 5365 defaults = _ref3.defaults, 5366 extendTimeline = _ref3.extendTimeline; 5367 (plugins || "").split(",").forEach(function (pluginName) { 5368 return pluginName && !_plugins[pluginName] && !_globals[pluginName] && _warn(name + " effect requires " + pluginName + " plugin."); 5369 }); 5370 5371 _effects[name] = function (targets, vars, tl) { 5372 return effect(toArray(targets), _setDefaults(vars || {}, defaults), tl); 5373 }; 5374 5375 if (extendTimeline) { 5376 Timeline.prototype[name] = function (targets, vars, position) { 5377 return this.add(_effects[name](targets, _isObject(vars) ? vars : (position = vars) && {}, this), position); 5378 }; 5379 } 5380 }, 5381 registerEase: function registerEase(name, ease) { 5382 _easeMap[name] = _parseEase(ease); 5383 }, 5384 parseEase: function parseEase(ease, defaultEase) { 5385 return arguments.length ? _parseEase(ease, defaultEase) : _easeMap; 5386 }, 5387 getById: function getById(id) { 5388 return _globalTimeline.getById(id); 5389 }, 5390 exportRoot: function exportRoot(vars, includeDelayedCalls) { 5391 if (vars === void 0) { 5392 vars = {}; 5393 } 5394 5395 var tl = new Timeline(vars), 5396 child, 5397 next; 5398 tl.smoothChildTiming = _isNotFalse(vars.smoothChildTiming); 5399 5400 _globalTimeline.remove(tl); 5401 5402 tl._dp = 0; 5403 tl._time = tl._tTime = _globalTimeline._time; 5404 child = _globalTimeline._first; 5405 5406 while (child) { 5407 next = child._next; 5408 5409 if (includeDelayedCalls || !(!child._dur && child instanceof Tween && child.vars.onComplete === child._targets[0])) { 5410 _addToTimeline(tl, child, child._start - child._delay); 5411 } 5412 5413 child = next; 5414 } 5415 5416 _addToTimeline(_globalTimeline, tl, 0); 5417 5418 return tl; 5419 }, 5420 context: function context(func, scope) { 5421 return func ? new Context(func, scope) : _context; 5422 }, 5423 matchMedia: function matchMedia(scope) { 5424 return new MatchMedia(scope); 5425 }, 5426 matchMediaRefresh: function matchMediaRefresh() { 5427 return _media.forEach(function (c) { 5428 var cond = c.conditions, 5429 found, 5430 p; 5431 5432 for (p in cond) { 5433 if (cond[p]) { 5434 cond[p] = false; 5435 found = 1; 5436 } 5437 } 5438 5439 found && c.revert(); 5440 }) || _onMediaChange(); 5441 }, 5442 addEventListener: function addEventListener(type, callback) { 5443 var a = _listeners[type] || (_listeners[type] = []); 5444 ~a.indexOf(callback) || a.push(callback); 5445 }, 5446 removeEventListener: function removeEventListener(type, callback) { 5447 var a = _listeners[type], 5448 i = a && a.indexOf(callback); 5449 i >= 0 && a.splice(i, 1); 5450 }, 5451 utils: { 5452 wrap: wrap, 5453 wrapYoyo: wrapYoyo, 5454 distribute: distribute, 5455 random: random, 5456 snap: snap, 5457 normalize: normalize, 5458 getUnit: getUnit, 5459 clamp: clamp, 5460 splitColor: splitColor, 5461 toArray: toArray, 5462 selector: selector, 5463 mapRange: mapRange, 5464 pipe: pipe, 5465 unitize: unitize, 5466 interpolate: interpolate, 5467 shuffle: shuffle 5468 }, 5469 install: _install, 5470 effects: _effects, 5471 ticker: _ticker, 5472 updateRoot: Timeline.updateRoot, 5473 plugins: _plugins, 5474 globalTimeline: _globalTimeline, 5475 core: { 5476 PropTween: PropTween, 5477 globals: _addGlobal, 5478 Tween: Tween, 5479 Timeline: Timeline, 5480 Animation: Animation, 5481 getCache: _getCache, 5482 _removeLinkedListItem: _removeLinkedListItem, 5483 reverting: function reverting() { 5484 return _reverting; 5485 }, 5486 context: function context(toAdd) { 5487 if (toAdd && _context) { 5488 _context.data.push(toAdd); 5489 5490 toAdd._ctx = _context; 5491 } 5492 5493 return _context; 5494 }, 5495 suppressOverwrites: function suppressOverwrites(value) { 5496 return _suppressOverwrites = value; 5497 } 5498 } 5499 }; 5500 5501 _forEachName("to,from,fromTo,delayedCall,set,killTweensOf", function (name) { 5502 return _gsap[name] = Tween[name]; 5503 }); 5504 5505 _ticker.add(Timeline.updateRoot); 5506 5507 _quickTween = _gsap.to({}, { 5508 duration: 0 5509 }); 5510 5511 var _getPluginPropTween = function _getPluginPropTween(plugin, prop) { 5512 var pt = plugin._pt; 5513 5514 while (pt && pt.p !== prop && pt.op !== prop && pt.fp !== prop) { 5515 pt = pt._next; 5516 } 5517 5518 return pt; 5519 }, 5520 _addModifiers = function _addModifiers(tween, modifiers) { 5521 var targets = tween._targets, 5522 p, 5523 i, 5524 pt; 5525 5526 for (p in modifiers) { 5527 i = targets.length; 5528 5529 while (i--) { 5530 pt = tween._ptLookup[i][p]; 5531 5532 if (pt && (pt = pt.d)) { 5533 if (pt._pt) { 5534 pt = _getPluginPropTween(pt, p); 5535 } 5536 5537 pt && pt.modifier && pt.modifier(modifiers[p], tween, targets[i], p); 5538 } 5539 } 5540 } 5541 }, 5542 _buildModifierPlugin = function _buildModifierPlugin(name, modifier) { 5543 return { 5544 name: name, 5545
vendor: 20,072 bytes, lines 5545-6172
5545rawVars: 1, 5546 init: function init(target, vars, tween) { 5547 tween._onInit = function (tween) { 5548 var temp, p; 5549 5550 if (_isString(vars)) { 5551 temp = {}; 5552 5553 _forEachName(vars, function (name) { 5554 return temp[name] = 1; 5555 }); 5556 5557 vars = temp; 5558 } 5559 5560 if (modifier) { 5561 temp = {}; 5562 5563 for (p in vars) { 5564 temp[p] = modifier(vars[p]); 5565 } 5566 5567 vars = temp; 5568 } 5569 5570 _addModifiers(tween, vars); 5571 }; 5572 } 5573 }; 5574 }; 5575 5576 var gsap = _gsap.registerPlugin({ 5577 name: "attr", 5578 init: function init(target, vars, tween, index, targets) { 5579 var p, pt, v; 5580 this.tween = tween; 5581 5582 for (p in vars) { 5583 v = target.getAttribute(p) || ""; 5584 pt = this.add(target, "setAttribute", (v || 0) + "", vars[p], index, targets, 0, 0, p); 5585 pt.op = p; 5586 pt.b = v; 5587 5588 this._props.push(p); 5589 } 5590 }, 5591 render: function render(ratio, data) { 5592 var pt = data._pt; 5593 5594 while (pt) { 5595 _reverting ? pt.set(pt.t, pt.p, pt.b, pt) : pt.r(ratio, pt.d); 5596 pt = pt._next; 5597 } 5598 } 5599 }, { 5600 name: "endArray", 5601 init: function init(target, value) { 5602 var i = value.length; 5603 5604 while (i--) { 5605 this.add(target, i, target[i] || 0, value[i], 0, 0, 0, 0, 0, 1); 5606 } 5607 } 5608 }, _buildModifierPlugin("roundProps", _roundModifier), _buildModifierPlugin("modifiers"), _buildModifierPlugin("snap", snap)) || _gsap; 5609 Tween.version = Timeline.version = gsap.version = "3.11.3"; 5610 _coreReady = 1; 5611 _windowExists() && _wake(); 5612 var Power0 = _easeMap.Power0, 5613 Power1 = _easeMap.Power1, 5614 Power2 = _easeMap.Power2, 5615 Power3 = _easeMap.Power3, 5616 Power4 = _easeMap.Power4, 5617 Linear = _easeMap.Linear, 5618 Quad = _easeMap.Quad, 5619 Cubic = _easeMap.Cubic, 5620 Quart = _easeMap.Quart, 5621 Quint = _easeMap.Quint, 5622 Strong = _easeMap.Strong, 5623 Elastic = _easeMap.Elastic, 5624 Back = _easeMap.Back, 5625 SteppedEase = _easeMap.SteppedEase, 5626 Bounce = _easeMap.Bounce, 5627 Sine = _easeMap.Sine, 5628 Expo = _easeMap.Expo, 5629 Circ = _easeMap.Circ; 5630 5631 var _win$1, 5632 _doc$1, 5633 _docElement, 5634 _pluginInitted, 5635 _tempDiv, 5636 _tempDivStyler, 5637 _recentSetterPlugin, 5638 _reverting$1, 5639 _windowExists$1 = function _windowExists() { 5640 return typeof window !== "undefined"; 5641 }, 5642 _transformProps = {}, 5643 _RAD2DEG = 180 / Math.PI, 5644 _DEG2RAD = Math.PI / 180, 5645 _atan2 = Math.atan2, 5646 _bigNum$1 = 1e8, 5647 _capsExp = /([A-Z])/g, 5648 _horizontalExp = /(left|right|width|margin|padding|x)/i, 5649 _complexExp = /[\s,\(]\S/, 5650 _propertyAliases = { 5651 autoAlpha: "opacity,visibility", 5652 scale: "scaleX,scaleY", 5653 alpha: "opacity" 5654 }, 5655 _renderCSSProp = function _renderCSSProp(ratio, data) { 5656 return data.set(data.t, data.p, Math.round((data.s + data.c * ratio) * 10000) / 10000 + data.u, data); 5657 }, 5658 _renderPropWithEnd = function _renderPropWithEnd(ratio, data) { 5659 return data.set(data.t, data.p, ratio === 1 ? data.e : Math.round((data.s + data.c * ratio) * 10000) / 10000 + data.u, data); 5660 }, 5661 _renderCSSPropWithBeginning = function _renderCSSPropWithBeginning(ratio, data) { 5662 return data.set(data.t, data.p, ratio ? Math.round((data.s + data.c * ratio) * 10000) / 10000 + data.u : data.b, data); 5663 }, 5664 _renderRoundedCSSProp = function _renderRoundedCSSProp(ratio, data) { 5665 var value = data.s + data.c * ratio; 5666 data.set(data.t, data.p, ~~(value + (value < 0 ? -.5 : .5)) + data.u, data); 5667 }, 5668 _renderNonTweeningValue = function _renderNonTweeningValue(ratio, data) { 5669 return data.set(data.t, data.p, ratio ? data.e : data.b, data); 5670 }, 5671 _renderNonTweeningValueOnlyAtEnd = function _renderNonTweeningValueOnlyAtEnd(ratio, data) { 5672 return data.set(data.t, data.p, ratio !== 1 ? data.b : data.e, data); 5673 }, 5674 _setterCSSStyle = function _setterCSSStyle(target, property, value) { 5675 return target.style[property] = value; 5676 }, 5677 _setterCSSProp = function _setterCSSProp(target, property, value) { 5678 return target.style.setProperty(property, value); 5679 }, 5680 _setterTransform = function _setterTransform(target, property, value) { 5681 return target._gsap[property] = value; 5682 }, 5683 _setterScale = function _setterScale(target, property, value) { 5684 return target._gsap.scaleX = target._gsap.scaleY = value; 5685 }, 5686 _setterScaleWithRender = function _setterScaleWithRender(target, property, value, data, ratio) { 5687 var cache = target._gsap; 5688 cache.scaleX = cache.scaleY = value; 5689 cache.renderTransform(ratio, cache); 5690 }, 5691 _setterTransformWithRender = function _setterTransformWithRender(target, property, value, data, ratio) { 5692 var cache = target._gsap; 5693 cache[property] = value; 5694 cache.renderTransform(ratio, cache); 5695 }, 5696 _transformProp = "transform", 5697 _transformOriginProp = _transformProp + "Origin", 5698 _saveStyle = function _saveStyle(property, isNotCSS) { 5699 var _this = this; 5700 5701 var target = this.target, 5702 style = target.style; 5703 5704 if (property in _transformProps) { 5705 this.tfm = this.tfm || {}; 5706 5707 if (property !== "transform") { 5708 property = _propertyAliases[property] || property; 5709 ~property.indexOf(",") ? property.split(",").forEach(function (a) { 5710 return _this.tfm[a] = _get(target, a); 5711 }) : this.tfm[property] = target._gsap.x ? target._gsap[property] : _get(target, property); 5712 } 5713 5714 if (this.props.indexOf(_transformProp) >= 0) { 5715 return; 5716 } 5717 5718 if (target._gsap.svg) { 5719 this.svgo = target.getAttribute("data-svg-origin"); 5720 this.props.push(_transformOriginProp, isNotCSS, ""); 5721 } 5722 5723 property = _transformProp; 5724 } 5725 5726 (style || isNotCSS) && this.props.push(property, isNotCSS, style[property]); 5727 }, 5728 _removeIndependentTransforms = function _removeIndependentTransforms(style) { 5729 if (style.translate) { 5730 style.removeProperty("translate"); 5731 style.removeProperty("scale"); 5732 style.removeProperty("rotate"); 5733 } 5734 }, 5735 _revertStyle = function _revertStyle() { 5736 var props = this.props, 5737 target = this.target, 5738 style = target.style, 5739 cache = target._gsap, 5740 i, 5741 p; 5742 5743 for (i = 0; i < props.length; i += 3) { 5744 props[i + 1] ? target[props[i]] = props[i + 2] : props[i + 2] ? style[props[i]] = props[i + 2] : style.removeProperty(props[i].replace(_capsExp, "-$1").toLowerCase()); 5745 } 5746 5747 if (this.tfm) { 5748 for (p in this.tfm) { 5749 cache[p] = this.tfm[p]; 5750 } 5751 5752 if (cache.svg) { 5753 cache.renderTransform(); 5754 target.setAttribute("data-svg-origin", this.svgo || ""); 5755 } 5756 5757 i = _reverting$1(); 5758 5759 if (i && !i.isStart && !style[_transformProp]) { 5760 _removeIndependentTransforms(style); 5761 5762 cache.uncache = 1; 5763 } 5764 } 5765 }, 5766 _getStyleSaver = function _getStyleSaver(target, properties) { 5767 var saver = { 5768 target: target, 5769 props: [], 5770 revert: _revertStyle, 5771 save: _saveStyle 5772 }; 5773 properties && properties.split(",").forEach(function (p) { 5774 return saver.save(p); 5775 }); 5776 return saver; 5777 }, 5778 _supports3D, 5779 _createElement = function _createElement(type, ns) { 5780 var e = _doc$1.createElementNS ? _doc$1.createElementNS((ns || "http://www.w3.org/1999/xhtml").replace(/^https/, "http"), type) : _doc$1.createElement(type); 5781 return e.style ? e : _doc$1.createElement(type); 5782 }, 5783 _getComputedProperty = function _getComputedProperty(target, property, skipPrefixFallback) { 5784 var cs = getComputedStyle(target); 5785 return cs[property] || cs.getPropertyValue(property.replace(_capsExp, "-$1").toLowerCase()) || cs.getPropertyValue(property) || !skipPrefixFallback && _getComputedProperty(target, _checkPropPrefix(property) || property, 1) || ""; 5786 }, 5787 _prefixes = "O,Moz,ms,Ms,Webkit".split(","), 5788 _checkPropPrefix = function _checkPropPrefix(property, element, preferPrefix) { 5789 var e = element || _tempDiv, 5790 s = e.style, 5791 i = 5; 5792 5793 if (property in s && !preferPrefix) { 5794 return property; 5795 } 5796 5797 property = property.charAt(0).toUpperCase() + property.substr(1); 5798 5799 while (i-- && !(_prefixes[i] + property in s)) {} 5800 5801 return i < 0 ? null : (i === 3 ? "ms" : i >= 0 ? _prefixes[i] : "") + property; 5802 }, 5803 _initCore = function _initCore() { 5804 if (_windowExists$1() && window.document) { 5805 _win$1 = window; 5806 _doc$1 = _win$1.document; 5807 _docElement = _doc$1.documentElement; 5808 _tempDiv = _createElement("div") || { 5809 style: {} 5810 }; 5811 _tempDivStyler = _createElement("div"); 5812 _transformProp = _checkPropPrefix(_transformProp); 5813 _transformOriginProp = _transformProp + "Origin"; 5814 _tempDiv.style.cssText = "border-width:0;line-height:0;position:absolute;padding:0"; 5815 _supports3D = !!_checkPropPrefix("perspective"); 5816 _reverting$1 = gsap.core.reverting; 5817 _pluginInitted = 1; 5818 } 5819 }, 5820 _getBBoxHack = function _getBBoxHack(swapIfPossible) { 5821 var svg = _createElement("svg", this.ownerSVGElement && this.ownerSVGElement.getAttribute("xmlns") || "http://www.w3.org/2000/svg"), 5822 oldParent = this.parentNode, 5823 oldSibling = this.nextSibling, 5824 oldCSS = this.style.cssText, 5825 bbox; 5826 5827 _docElement.appendChild(svg); 5828 5829 svg.appendChild(this); 5830 this.style.display = "block"; 5831 5832 if (swapIfPossible) { 5833 try { 5834 bbox = this.getBBox(); 5835 this._gsapBBox = this.getBBox; 5836 this.getBBox = _getBBoxHack; 5837 } catch (e) {} 5838 } else if (this._gsapBBox) { 5839 bbox = this._gsapBBox(); 5840 } 5841 5842 if (oldParent) { 5843 if (oldSibling) { 5844 oldParent.insertBefore(this, oldSibling); 5845 } else { 5846 oldParent.appendChild(this); 5847 } 5848 } 5849 5850 _docElement.removeChild(svg); 5851 5852 this.style.cssText = oldCSS; 5853 return bbox; 5854 }, 5855 _getAttributeFallbacks = function _getAttributeFallbacks(target, attributesArray) { 5856 var i = attributesArray.length; 5857 5858 while (i--) { 5859 if (target.hasAttribute(attributesArray[i])) { 5860 return target.getAttribute(attributesArray[i]); 5861 } 5862 } 5863 }, 5864 _getBBox = function _getBBox(target) { 5865 var bounds; 5866 5867 try { 5868 bounds = target.getBBox(); 5869 } catch (error) { 5870 bounds = _getBBoxHack.call(target, true); 5871 } 5872 5873 bounds && (bounds.width || bounds.height) || target.getBBox === _getBBoxHack || (bounds = _getBBoxHack.call(target, true)); 5874 return bounds && !bounds.width && !bounds.x && !bounds.y ? { 5875 x: +_getAttributeFallbacks(target, ["x", "cx", "x1"]) || 0, 5876 y: +_getAttributeFallbacks(target, ["y", "cy", "y1"]) || 0, 5877 width: 0, 5878 height: 0 5879 } : bounds; 5880 }, 5881 _isSVG = function _isSVG(e) { 5882 return !!(e.getCTM && (!e.parentNode || e.ownerSVGElement) && _getBBox(e)); 5883 }, 5884 _removeProperty = function _removeProperty(target, property) { 5885 if (property) { 5886 var style = target.style; 5887 5888 if (property in _transformProps && property !== _transformOriginProp) { 5889 property = _transformProp; 5890 } 5891 5892 if (style.removeProperty) { 5893 if (property.substr(0, 2) === "ms" || property.substr(0, 6) === "webkit") { 5894 property = "-" + property; 5895 } 5896 5897 style.removeProperty(property.replace(_capsExp, "-$1").toLowerCase()); 5898 } else { 5899 style.removeAttribute(property); 5900 } 5901 } 5902 }, 5903 _addNonTweeningPT = function _addNonTweeningPT(plugin, target, property, beginning, end, onlySetAtEnd) { 5904 var pt = new PropTween(plugin._pt, target, property, 0, 1, onlySetAtEnd ? _renderNonTweeningValueOnlyAtEnd : _renderNonTweeningValue); 5905 plugin._pt = pt; 5906 pt.b = beginning; 5907 pt.e = end; 5908 5909 plugin._props.push(property); 5910 5911 return pt; 5912 }, 5913 _nonConvertibleUnits = { 5914 deg: 1, 5915 rad: 1, 5916 turn: 1 5917 }, 5918 _nonStandardLayouts = { 5919 grid: 1, 5920 flex: 1 5921 }, 5922 _convertToUnit = function _convertToUnit(target, property, value, unit) { 5923 var curValue = parseFloat(value) || 0, 5924 curUnit = (value + "").trim().substr((curValue + "").length) || "px", 5925 style = _tempDiv.style, 5926 horizontal = _horizontalExp.test(property), 5927 isRootSVG = target.tagName.toLowerCase() === "svg", 5928 measureProperty = (isRootSVG ? "client" : "offset") + (horizontal ? "Width" : "Height"), 5929 amount = 100, 5930 toPixels = unit === "px", 5931 toPercent = unit === "%", 5932 px, 5933 parent, 5934 cache, 5935 isSVG; 5936 5937 if (unit === curUnit || !curValue || _nonConvertibleUnits[unit] || _nonConvertibleUnits[curUnit]) { 5938 return curValue; 5939 } 5940 5941 curUnit !== "px" && !toPixels && (curValue = _convertToUnit(target, property, value, "px")); 5942 isSVG = target.getCTM && _isSVG(target); 5943 5944 if ((toPercent || curUnit === "%") && (_transformProps[property] || ~property.indexOf("adius"))) { 5945 px = isSVG ? target.getBBox()[horizontal ? "width" : "height"] : target[measureProperty]; 5946 return _round(toPercent ? curValue / px * amount : curValue / 100 * px); 5947 } 5948 5949 style[horizontal ? "width" : "height"] = amount + (toPixels ? curUnit : unit); 5950 parent = ~property.indexOf("adius") || unit === "em" && target.appendChild && !isRootSVG ? target : target.parentNode; 5951 5952 if (isSVG) { 5953 parent = (target.ownerSVGElement || {}).parentNode; 5954 } 5955 5956 if (!parent || parent === _doc$1 || !parent.appendChild) { 5957 parent = _doc$1.body; 5958 } 5959 5960 cache = parent._gsap; 5961 5962 if (cache && toPercent && cache.width && horizontal && cache.time === _ticker.time && !cache.uncache) { 5963 return _round(curValue / cache.width * amount); 5964 } else { 5965 (toPercent || curUnit === "%") && !_nonStandardLayouts[_getComputedProperty(parent, "display")] && (style.position = _getComputedProperty(target, "position")); 5966 parent === target && (style.position = "static"); 5967 parent.appendChild(_tempDiv); 5968 px = _tempDiv[measureProperty]; 5969 parent.removeChild(_tempDiv); 5970 style.position = "absolute"; 5971 5972 if (horizontal && toPercent) { 5973 cache = _getCache(parent); 5974 cache.time = _ticker.time; 5975 cache.width = parent[measureProperty]; 5976 } 5977 } 5978 5979 return _round(toPixels ? px * curValue / amount : px && curValue ? amount / px * curValue : 0); 5980 }, 5981 _get = function _get(target, property, unit, uncache) { 5982 var value; 5983 _pluginInitted || _initCore(); 5984 5985 if (property in _propertyAliases && property !== "transform") { 5986 property = _propertyAliases[property]; 5987 5988 if (~property.indexOf(",")) { 5989 property = property.split(",")[0]; 5990 } 5991 } 5992 5993 if (_transformProps[property] && property !== "transform") { 5994 value = _parseTransform(target, uncache); 5995 value = property !== "transformOrigin" ? value[property] : value.svg ? value.origin : _firstTwoOnly(_getComputedProperty(target, _transformOriginProp)) + " " + value.zOrigin + "px"; 5996 } else { 5997 value = target.style[property]; 5998 5999 if (!value || value === "auto" || uncache || ~(value + "").indexOf("calc(")) { 6000 value = _specialProps[property] && _specialProps[property](target, property, unit) || _getComputedProperty(target, property) || _getProperty(target, property) || (property === "opacity" ? 1 : 0); 6001 } 6002 } 6003 6004 return unit && !~(value + "").trim().indexOf(" ") ? _convertToUnit(target, property, value, unit) + unit : value; 6005 }, 6006 _tweenComplexCSSString = function _tweenComplexCSSString(target, prop, start, end) { 6007 if (!start || start === "none") { 6008 var p = _checkPropPrefix(prop, target, 1), 6009 s = p && _getComputedProperty(target, p, 1); 6010 6011 if (s && s !== start) { 6012 prop = p; 6013 start = s; 6014 } else if (prop === "borderColor") { 6015 start = _getComputedProperty(target, "borderTopColor"); 6016 } 6017 } 6018 6019 var pt = new PropTween(this._pt, target.style, prop, 0, 1, _renderComplexString), 6020 index = 0, 6021 matchIndex = 0, 6022 a, 6023 result, 6024 startValues, 6025 startNum, 6026 color, 6027 startValue, 6028 endValue, 6029 endNum, 6030 chunk, 6031 endUnit, 6032 startUnit, 6033 endValues; 6034 pt.b = start; 6035 pt.e = end; 6036 start += ""; 6037 end += ""; 6038 6039 if (end === "auto") { 6040 target.style[prop] = end; 6041 end = _getComputedProperty(target, prop) || end; 6042 target.style[prop] = start; 6043 } 6044 6045 a = [start, end]; 6046 6047 _colorStringFilter(a); 6048 6049 start = a[0]; 6050 end = a[1]; 6051 startValues = start.match(_numWithUnitExp) || []; 6052 endValues = end.match(_numWithUnitExp) || []; 6053 6054 if (endValues.length) { 6055 while (result = _numWithUnitExp.exec(end)) { 6056 endValue = result[0]; 6057 chunk = end.substring(index, result.index); 6058 6059 if (color) { 6060 color = (color + 1) % 5; 6061 } else if (chunk.substr(-5) === "rgba(" || chunk.substr(-5) === "hsla(") { 6062 color = 1; 6063 } 6064 6065 if (endValue !== (startValue = startValues[matchIndex++] || "")) { 6066 startNum = parseFloat(startValue) || 0; 6067 startUnit = startValue.substr((startNum + "").length); 6068 endValue.charAt(1) === "=" && (endValue = _parseRelative(startNum, endValue) + startUnit); 6069 endNum = parseFloat(endValue); 6070 endUnit = endValue.substr((endNum + "").length); 6071 index = _numWithUnitExp.lastIndex - endUnit.length; 6072 6073 if (!endUnit) { 6074 endUnit = endUnit || _config.units[prop] || startUnit; 6075 6076 if (index === end.length) { 6077 end += endUnit; 6078 pt.e += endUnit; 6079 } 6080 } 6081 6082 if (startUnit !== endUnit) { 6083 startNum = _convertToUnit(target, prop, startValue, endUnit) || 0; 6084 } 6085 6086 pt._pt = { 6087 _next: pt._pt, 6088 p: chunk || matchIndex === 1 ? chunk : ",", 6089 s: startNum, 6090 c: endNum - startNum, 6091 m: color && color < 4 || prop === "zIndex" ? Math.round : 0 6092 }; 6093 } 6094 } 6095 6096 pt.c = index < end.length ? end.substring(index, end.length) : ""; 6097 } else { 6098 pt.r = prop === "display" && end === "none" ? _renderNonTweeningValueOnlyAtEnd : _renderNonTweeningValue; 6099 } 6100 6101 _relExp.test(end) && (pt.e = 0); 6102 this._pt = pt; 6103 return pt; 6104 }, 6105 _keywordToPercent = { 6106 top: "0%", 6107 bottom: "100%", 6108 left: "0%", 6109 right: "100%", 6110 center: "50%" 6111 }, 6112 _convertKeywordsToPercentages = function _convertKeywordsToPercentages(value) { 6113 var split = value.split(" "), 6114 x = split[0], 6115 y = split[1] || "50%"; 6116 6117 if (x === "top" || x === "bottom" || y === "left" || y === "right") { 6118 value = x; 6119 x = y; 6120 y = value; 6121 } 6122 6123 split[0] = _keywordToPercent[x] || x; 6124 split[1] = _keywordToPercent[y] || y; 6125 return split.join(" "); 6126 }, 6127 _renderClearProps = function _renderClearProps(ratio, data) { 6128 if (data.tween && data.tween._time === data.tween._dur) { 6129 var target = data.t, 6130 style = target.style, 6131 props = data.u, 6132 cache = target._gsap, 6133 prop, 6134 clearTransforms, 6135 i; 6136 6137 if (props === "all" || props === true) { 6138 style.cssText = ""; 6139 clearTransforms = 1; 6140 } else { 6141 props = props.split(","); 6142 i = props.length; 6143 6144 while (--i > -1) { 6145 prop = props[i]; 6146 6147 if (_transformProps[prop]) { 6148 clearTransforms = 1; 6149 prop = prop === "transformOrigin" ? _transformOriginProp : _transformProp; 6150 } 6151 6152 _removeProperty(target, prop); 6153 } 6154 } 6155 6156 if (clearTransforms) { 6157 _removeProperty(target, _transformProp); 6158 6159 if (cache) { 6160 cache.svg && target.removeAttribute("transform"); 6161 6162 _parseTransform(target, 1); 6163 6164 cache.uncache = 1; 6165 6166 _removeIndependentTransforms(style); 6167 } 6168 } 6169 } 6170 }, 6171 _specialProps = { 6172 clearProps: function clearProps(plugin, target, property, endValue, tween) {
vendor: 1,580 bytes, lines 6173-6213
6173 if (tween.data !== "isFromStart") { 6174 var pt = plugin._pt = new PropTween(plugin._pt, target, property, 0, 0, _renderClearProps); 6175 pt.u = endValue; 6176 pt.pr = -10; 6177 pt.tween = tween; 6178 6179 plugin._props.push(property); 6180 6181 return 1; 6182 } 6183 } 6184 }, 6185 _identity2DMatrix = [1, 0, 0, 1, 0, 0], 6186 _rotationalProperties = {}, 6187 _isNullTransform = function _isNullTransform(value) { 6188 return value === "matrix(1, 0, 0, 1, 0, 0)" || value === "none" || !value; 6189 }, 6190 _getComputedTransformMatrixAsArray = function _getComputedTransformMatrixAsArray(target) { 6191 var matrixString = _getComputedProperty(target, _transformProp); 6192 6193 return _isNullTransform(matrixString) ? _identity2DMatrix : matrixString.substr(7).match(_numExp).map(_round); 6194 }, 6195 _getMatrix = function _getMatrix(target, force2D) { 6196 var cache = target._gsap || _getCache(target), 6197 style = target.style, 6198 matrix = _getComputedTransformMatrixAsArray(target), 6199 parent, 6200 nextSibling, 6201 temp, 6202 addedToDOM; 6203 6204 if (cache.svg && target.getAttribute("transform")) { 6205 temp = target.transform.baseVal.consolidate().matrix; 6206 matrix = [temp.a, temp.b, temp.c, temp.d, temp.e, temp.f]; 6207 return matrix.join(",") === "1,0,0,1,0,0" ? _identity2DMatrix : matrix; 6208 } else if (matrix === _identity2DMatrix && !target.offsetParent && target !== _docElement && !cache.svg) { 6209 temp = style.display; 6210 style.display = "block"; 6211 parent = target.parentNode; 6212 6213 if (!parent || !target.offsetParent
vendor: 18,897 bytes, lines 6213-6810
6213) { 6214 addedToDOM = 1; 6215 nextSibling = target.nextElementSibling; 6216 6217 _docElement.appendChild(target); 6218 } 6219 6220 matrix = _getComputedTransformMatrixAsArray(target); 6221 temp ? style.display = temp : _removeProperty(target, "display"); 6222 6223 if (addedToDOM) { 6224 nextSibling ? parent.insertBefore(target, nextSibling) : parent ? parent.appendChild(target) : _docElement.removeChild(target); 6225 } 6226 } 6227 6228 return force2D && matrix.length > 6 ? [matrix[0], matrix[1], matrix[4], matrix[5], matrix[12], matrix[13]] : matrix; 6229 }, 6230 _applySVGOrigin = function _applySVGOrigin(target, origin, originIsAbsolute, smooth, matrixArray, pluginToAddPropTweensTo) { 6231 var cache = target._gsap, 6232 matrix = matrixArray || _getMatrix(target, true), 6233 xOriginOld = cache.xOrigin || 0, 6234 yOriginOld = cache.yOrigin || 0, 6235 xOffsetOld = cache.xOffset || 0, 6236 yOffsetOld = cache.yOffset || 0, 6237 a = matrix[0], 6238 b = matrix[1], 6239 c = matrix[2], 6240 d = matrix[3], 6241 tx = matrix[4], 6242 ty = matrix[5], 6243 originSplit = origin.split(" "), 6244 xOrigin = parseFloat(originSplit[0]) || 0, 6245 yOrigin = parseFloat(originSplit[1]) || 0, 6246 bounds, 6247 determinant, 6248 x, 6249 y; 6250 6251 if (!originIsAbsolute) { 6252 bounds = _getBBox(target); 6253 xOrigin = bounds.x + (~originSplit[0].indexOf("%") ? xOrigin / 100 * bounds.width : xOrigin); 6254 yOrigin = bounds.y + (~(originSplit[1] || originSplit[0]).indexOf("%") ? yOrigin / 100 * bounds.height : yOrigin); 6255 } else if (matrix !== _identity2DMatrix && (determinant = a * d - b * c)) { 6256 x = xOrigin * (d / determinant) + yOrigin * (-c / determinant) + (c * ty - d * tx) / determinant; 6257 y = xOrigin * (-b / determinant) + yOrigin * (a / determinant) - (a * ty - b * tx) / determinant; 6258 xOrigin = x; 6259 yOrigin = y; 6260 } 6261 6262 if (smooth || smooth !== false && cache.smooth) { 6263 tx = xOrigin - xOriginOld; 6264 ty = yOrigin - yOriginOld; 6265 cache.xOffset = xOffsetOld + (tx * a + ty * c) - tx; 6266 cache.yOffset = yOffsetOld + (tx * b + ty * d) - ty; 6267 } else { 6268 cache.xOffset = cache.yOffset = 0; 6269 } 6270 6271 cache.xOrigin = xOrigin; 6272 cache.yOrigin = yOrigin; 6273 cache.smooth = !!smooth; 6274 cache.origin = origin; 6275 cache.originIsAbsolute = !!originIsAbsolute; 6276 target.style[_transformOriginProp] = "0px 0px"; 6277 6278 if (pluginToAddPropTweensTo) { 6279 _addNonTweeningPT(pluginToAddPropTweensTo, cache, "xOrigin", xOriginOld, xOrigin); 6280 6281 _addNonTweeningPT(pluginToAddPropTweensTo, cache, "yOrigin", yOriginOld, yOrigin); 6282 6283 _addNonTweeningPT(pluginToAddPropTweensTo, cache, "xOffset", xOffsetOld, cache.xOffset); 6284 6285 _addNonTweeningPT(pluginToAddPropTweensTo, cache, "yOffset", yOffsetOld, cache.yOffset); 6286 } 6287 6288 target.setAttribute("data-svg-origin", xOrigin + " " + yOrigin); 6289 }, 6290 _parseTransform = function _parseTransform(target, uncache) { 6291 var cache = target._gsap || new GSCache(target); 6292 6293 if ("x" in cache && !uncache && !cache.uncache) { 6294 return cache; 6295 } 6296 6297 var style = target.style, 6298 invertedScaleX = cache.scaleX < 0, 6299 px = "px", 6300 deg = "deg", 6301 cs = getComputedStyle(target), 6302 origin = _getComputedProperty(target, _transformOriginProp) || "0", 6303 x, 6304 y, 6305 z, 6306 scaleX, 6307 scaleY, 6308 rotation, 6309 rotationX, 6310 rotationY, 6311 skewX, 6312 skewY, 6313 perspective, 6314 xOrigin, 6315 yOrigin, 6316 matrix, 6317 angle, 6318 cos, 6319 sin, 6320 a, 6321 b, 6322 c, 6323 d, 6324 a12, 6325 a22, 6326 t1, 6327 t2, 6328 t3, 6329 a13, 6330 a23, 6331 a33, 6332 a42, 6333 a43, 6334 a32; 6335 x = y = z = rotation = rotationX = rotationY = skewX = skewY = perspective = 0; 6336 scaleX = scaleY = 1; 6337 cache.svg = !!(target.getCTM && _isSVG(target)); 6338 6339 if (cs.translate) { 6340 if (cs.translate !== "none" || cs.scale !== "none" || cs.rotate !== "none") { 6341 style[_transformProp] = (cs.translate !== "none" ? "translate3d(" + (cs.translate + " 0 0").split(" ").slice(0, 3).join(", ") + ") " : "") + (cs.rotate !== "none" ? "rotate(" + cs.rotate + ") " : "") + (cs.scale !== "none" ? "scale(" + cs.scale.split(" ").join(",") + ") " : "") + (cs[_transformProp] !== "none" ? cs[_transformProp] : ""); 6342 } 6343 6344 style.scale = style.rotate = style.translate = "none"; 6345 } 6346 6347 matrix = _getMatrix(target, cache.svg); 6348 6349 if (cache.svg) { 6350 if (cache.uncache) { 6351 t2 = target.getBBox(); 6352 origin = cache.xOrigin - t2.x + "px " + (cache.yOrigin - t2.y) + "px"; 6353 t1 = ""; 6354 } else { 6355 t1 = !uncache && target.getAttribute("data-svg-origin"); 6356 } 6357 6358 _applySVGOrigin(target, t1 || origin, !!t1 || cache.originIsAbsolute, cache.smooth !== false, matrix); 6359 } 6360 6361 xOrigin = cache.xOrigin || 0; 6362 yOrigin = cache.yOrigin || 0; 6363 6364 if (matrix !== _identity2DMatrix) { 6365 a = matrix[0]; 6366 b = matrix[1]; 6367 c = matrix[2]; 6368 d = matrix[3]; 6369 x = a12 = matrix[4]; 6370 y = a22 = matrix[5]; 6371 6372 if (matrix.length === 6) { 6373 scaleX = Math.sqrt(a * a + b * b); 6374 scaleY = Math.sqrt(d * d + c * c); 6375 rotation = a || b ? _atan2(b, a) * _RAD2DEG : 0; 6376 skewX = c || d ? _atan2(c, d) * _RAD2DEG + rotation : 0; 6377 skewX && (scaleY *= Math.abs(Math.cos(skewX * _DEG2RAD))); 6378 6379 if (cache.svg) { 6380 x -= xOrigin - (xOrigin * a + yOrigin * c); 6381 y -= yOrigin - (xOrigin * b + yOrigin * d); 6382 } 6383 } else { 6384 a32 = matrix[6]; 6385 a42 = matrix[7]; 6386 a13 = matrix[8]; 6387 a23 = matrix[9]; 6388 a33 = matrix[10]; 6389 a43 = matrix[11]; 6390 x = matrix[12]; 6391 y = matrix[13]; 6392 z = matrix[14]; 6393 angle = _atan2(a32, a33); 6394 rotationX = angle * _RAD2DEG; 6395 6396 if (angle) { 6397 cos = Math.cos(-angle); 6398 sin = Math.sin(-angle); 6399 t1 = a12 * cos + a13 * sin; 6400 t2 = a22 * cos + a23 * sin; 6401 t3 = a32 * cos + a33 * sin; 6402 a13 = a12 * -sin + a13 * cos; 6403 a23 = a22 * -sin + a23 * cos; 6404 a33 = a32 * -sin + a33 * cos; 6405 a43 = a42 * -sin + a43 * cos; 6406 a12 = t1; 6407 a22 = t2; 6408 a32 = t3; 6409 } 6410 6411 angle = _atan2(-c, a33); 6412 rotationY = angle * _RAD2DEG; 6413 6414 if (angle) { 6415 cos = Math.cos(-angle); 6416 sin = Math.sin(-angle); 6417 t1 = a * cos - a13 * sin; 6418 t2 = b * cos - a23 * sin; 6419 t3 = c * cos - a33 * sin; 6420 a43 = d * sin + a43 * cos; 6421 a = t1; 6422 b = t2; 6423 c = t3; 6424 } 6425 6426 angle = _atan2(b, a); 6427 rotation = angle * _RAD2DEG; 6428 6429 if (angle) { 6430 cos = Math.cos(angle); 6431 sin = Math.sin(angle); 6432 t1 = a * cos + b * sin; 6433 t2 = a12 * cos + a22 * sin; 6434 b = b * cos - a * sin; 6435 a22 = a22 * cos - a12 * sin; 6436 a = t1; 6437 a12 = t2; 6438 } 6439 6440 if (rotationX && Math.abs(rotationX) + Math.abs(rotation) > 359.9) { 6441 rotationX = rotation = 0; 6442 rotationY = 180 - rotationY; 6443 } 6444 6445 scaleX = _round(Math.sqrt(a * a + b * b + c * c)); 6446 scaleY = _round(Math.sqrt(a22 * a22 + a32 * a32)); 6447 angle = _atan2(a12, a22); 6448 skewX = Math.abs(angle) > 0.0002 ? angle * _RAD2DEG : 0; 6449 perspective = a43 ? 1 / (a43 < 0 ? -a43 : a43) : 0; 6450 } 6451 6452 if (cache.svg) { 6453 t1 = target.getAttribute("transform"); 6454 cache.forceCSS = target.setAttribute("transform", "") || !_isNullTransform(_getComputedProperty(target, _transformProp)); 6455 t1 && target.setAttribute("transform", t1); 6456 } 6457 } 6458 6459 if (Math.abs(skewX) > 90 && Math.abs(skewX) < 270) { 6460 if (invertedScaleX) { 6461 scaleX *= -1; 6462 skewX += rotation <= 0 ? 180 : -180; 6463 rotation += rotation <= 0 ? 180 : -180; 6464 } else { 6465 scaleY *= -1; 6466 skewX += skewX <= 0 ? 180 : -180; 6467 } 6468 } 6469 6470 uncache = uncache || cache.uncache; 6471 cache.x = x - ((cache.xPercent = x && (!uncache && cache.xPercent || (Math.round(target.offsetWidth / 2) === Math.round(-x) ? -50 : 0))) ? target.offsetWidth * cache.xPercent / 100 : 0) + px; 6472 cache.y = y - ((cache.yPercent = y && (!uncache && cache.yPercent || (Math.round(target.offsetHeight / 2) === Math.round(-y) ? -50 : 0))) ? target.offsetHeight * cache.yPercent / 100 : 0) + px; 6473 cache.z = z + px; 6474 cache.scaleX = _round(scaleX); 6475 cache.scaleY = _round(scaleY); 6476 cache.rotation = _round(rotation) + deg; 6477 cache.rotationX = _round(rotationX) + deg; 6478 cache.rotationY = _round(rotationY) + deg; 6479 cache.skewX = skewX + deg; 6480 cache.skewY = skewY + deg; 6481 cache.transformPerspective = perspective + px; 6482 6483 if (cache.zOrigin = parseFloat(origin.split(" ")[2]) || 0) { 6484 style[_transformOriginProp] = _firstTwoOnly(origin); 6485 } 6486 6487 cache.xOffset = cache.yOffset = 0; 6488 cache.force3D = _config.force3D; 6489 cache.renderTransform = cache.svg ? _renderSVGTransforms : _supports3D ? _renderCSSTransforms : _renderNon3DTransforms; 6490 cache.uncache = 0; 6491 return cache; 6492 }, 6493 _firstTwoOnly = function _firstTwoOnly(value) { 6494 return (value = value.split(" "))[0] + " " + value[1]; 6495 }, 6496 _addPxTranslate = function _addPxTranslate(target, start, value) { 6497 var unit = getUnit(start); 6498 return _round(parseFloat(start) + parseFloat(_convertToUnit(target, "x", value + "px", unit))) + unit; 6499 }, 6500 _renderNon3DTransforms = function _renderNon3DTransforms(ratio, cache) { 6501 cache.z = "0px"; 6502 cache.rotationY = cache.rotationX = "0deg"; 6503 cache.force3D = 0; 6504 6505 _renderCSSTransforms(ratio, cache); 6506 }, 6507 _zeroDeg = "0deg", 6508 _zeroPx = "0px", 6509 _endParenthesis = ") ", 6510 _renderCSSTransforms = function _renderCSSTransforms(ratio, cache) { 6511 var _ref = cache || this, 6512 xPercent = _ref.xPercent, 6513 yPercent = _ref.yPercent, 6514 x = _ref.x, 6515 y = _ref.y, 6516 z = _ref.z, 6517 rotation = _ref.rotation, 6518 rotationY = _ref.rotationY, 6519 rotationX = _ref.rotationX, 6520 skewX = _ref.skewX, 6521 skewY = _ref.skewY, 6522 scaleX = _ref.scaleX, 6523 scaleY = _ref.scaleY, 6524 transformPerspective = _ref.transformPerspective, 6525 force3D = _ref.force3D, 6526 target = _ref.target, 6527 zOrigin = _ref.zOrigin, 6528 transforms = "", 6529 use3D = force3D === "auto" && ratio && ratio !== 1 || force3D === true; 6530 6531 if (zOrigin && (rotationX !== _zeroDeg || rotationY !== _zeroDeg)) { 6532 var angle = parseFloat(rotationY) * _DEG2RAD, 6533 a13 = Math.sin(angle), 6534 a33 = Math.cos(angle), 6535 cos; 6536 6537 angle = parseFloat(rotationX) * _DEG2RAD; 6538 cos = Math.cos(angle); 6539 x = _addPxTranslate(target, x, a13 * cos * -zOrigin); 6540 y = _addPxTranslate(target, y, -Math.sin(angle) * -zOrigin); 6541 z = _addPxTranslate(target, z, a33 * cos * -zOrigin + zOrigin); 6542 } 6543 6544 if (transformPerspective !== _zeroPx) { 6545 transforms += "perspective(" + transformPerspective + _endParenthesis; 6546 } 6547 6548 if (xPercent || yPercent) { 6549 transforms += "translate(" + xPercent + "%, " + yPercent + "%) "; 6550 } 6551 6552 if (use3D || x !== _zeroPx || y !== _zeroPx || z !== _zeroPx) { 6553 transforms += z !== _zeroPx || use3D ? "translate3d(" + x + ", " + y + ", " + z + ") " : "translate(" + x + ", " + y + _endParenthesis; 6554 } 6555 6556 if (rotation !== _zeroDeg) { 6557 transforms += "rotate(" + rotation + _endParenthesis; 6558 } 6559 6560 if (rotationY !== _zeroDeg) { 6561 transforms += "rotateY(" + rotationY + _endParenthesis; 6562 } 6563 6564 if (rotationX !== _zeroDeg) { 6565 transforms += "rotateX(" + rotationX + _endParenthesis; 6566 } 6567 6568 if (skewX !== _zeroDeg || skewY !== _zeroDeg) { 6569 transforms += "skew(" + skewX + ", " + skewY + _endParenthesis; 6570 } 6571 6572 if (scaleX !== 1 || scaleY !== 1) { 6573 transforms += "scale(" + scaleX + ", " + scaleY + _endParenthesis; 6574 } 6575 6576 target.style[_transformProp] = transforms || "translate(0, 0)"; 6577 }, 6578 _renderSVGTransforms = function _renderSVGTransforms(ratio, cache) { 6579 var _ref2 = cache || this, 6580 xPercent = _ref2.xPercent, 6581 yPercent = _ref2.yPercent, 6582 x = _ref2.x, 6583 y = _ref2.y, 6584 rotation = _ref2.rotation, 6585 skewX = _ref2.skewX, 6586 skewY = _ref2.skewY, 6587 scaleX = _ref2.scaleX, 6588 scaleY = _ref2.scaleY, 6589 target = _ref2.target, 6590 xOrigin = _ref2.xOrigin, 6591 yOrigin = _ref2.yOrigin, 6592 xOffset = _ref2.xOffset, 6593 yOffset = _ref2.yOffset, 6594 forceCSS = _ref2.forceCSS, 6595 tx = parseFloat(x), 6596 ty = parseFloat(y), 6597 a11, 6598 a21, 6599 a12, 6600 a22, 6601 temp; 6602 6603 rotation = parseFloat(rotation); 6604 skewX = parseFloat(skewX); 6605 skewY = parseFloat(skewY); 6606 6607 if (skewY) { 6608 skewY = parseFloat(skewY); 6609 skewX += skewY; 6610 rotation += skewY; 6611 } 6612 6613 if (rotation || skewX) { 6614 rotation *= _DEG2RAD; 6615 skewX *= _DEG2RAD; 6616 a11 = Math.cos(rotation) * scaleX; 6617 a21 = Math.sin(rotation) * scaleX; 6618 a12 = Math.sin(rotation - skewX) * -scaleY; 6619 a22 = Math.cos(rotation - skewX) * scaleY; 6620 6621 if (skewX) { 6622 skewY *= _DEG2RAD; 6623 temp = Math.tan(skewX - skewY); 6624 temp = Math.sqrt(1 + temp * temp); 6625 a12 *= temp; 6626 a22 *= temp; 6627 6628 if (skewY) { 6629 temp = Math.tan(skewY); 6630 temp = Math.sqrt(1 + temp * temp); 6631 a11 *= temp; 6632 a21 *= temp; 6633 } 6634 } 6635 6636 a11 = _round(a11); 6637 a21 = _round(a21); 6638 a12 = _round(a12); 6639 a22 = _round(a22); 6640 } else { 6641 a11 = scaleX; 6642 a22 = scaleY; 6643 a21 = a12 = 0; 6644 } 6645 6646 if (tx && !~(x + "").indexOf("px") || ty && !~(y + "").indexOf("px")) { 6647 tx = _convertToUnit(target, "x", x, "px"); 6648 ty = _convertToUnit(target, "y", y, "px"); 6649 } 6650 6651 if (xOrigin || yOrigin || xOffset || yOffset) { 6652 tx = _round(tx + xOrigin - (xOrigin * a11 + yOrigin * a12) + xOffset); 6653 ty = _round(ty + yOrigin - (xOrigin * a21 + yOrigin * a22) + yOffset); 6654 } 6655 6656 if (xPercent || yPercent) { 6657 temp = target.getBBox(); 6658 tx = _round(tx + xPercent / 100 * temp.width); 6659 ty = _round(ty + yPercent / 100 * temp.height); 6660 } 6661 6662 temp = "matrix(" + a11 + "," + a21 + "," + a12 + "," + a22 + "," + tx + "," + ty + ")"; 6663 target.setAttribute("transform", temp); 6664 forceCSS && (target.style[_transformProp] = temp); 6665 }, 6666 _addRotationalPropTween = function _addRotationalPropTween(plugin, target, property, startNum, endValue) { 6667 var cap = 360, 6668 isString = _isString(endValue), 6669 endNum = parseFloat(endValue) * (isString && ~endValue.indexOf("rad") ? _RAD2DEG : 1), 6670 change = endNum - startNum, 6671 finalValue = startNum + change + "deg", 6672 direction, 6673 pt; 6674 6675 if (isString) { 6676 direction = endValue.split("_")[1]; 6677 6678 if (direction === "short") { 6679 change %= cap; 6680 6681 if (change !== change % (cap / 2)) { 6682 change += change < 0 ? cap : -cap; 6683 } 6684 } 6685 6686 if (direction === "cw" && change < 0) { 6687 change = (change + cap * _bigNum$1) % cap - ~~(change / cap) * cap; 6688 } else if (direction === "ccw" && change > 0) { 6689 change = (change - cap * _bigNum$1) % cap - ~~(change / cap) * cap; 6690 } 6691 } 6692 6693 plugin._pt = pt = new PropTween(plugin._pt, target, property, startNum, change, _renderPropWithEnd); 6694 pt.e = finalValue; 6695 pt.u = "deg"; 6696 6697 plugin._props.push(property); 6698 6699 return pt; 6700 }, 6701 _assign = function _assign(target, source) { 6702 for (var p in source) { 6703 target[p] = source[p]; 6704 } 6705 6706 return target; 6707 }, 6708 _addRawTransformPTs = function _addRawTransformPTs(plugin, transforms, target) { 6709 var startCache = _assign({}, target._gsap), 6710 exclude = "perspective,force3D,transformOrigin,svgOrigin", 6711 style = target.style, 6712 endCache, 6713 p, 6714 startValue, 6715 endValue, 6716 startNum, 6717 endNum, 6718 startUnit, 6719 endUnit; 6720 6721 if (startCache.svg) { 6722 startValue = target.getAttribute("transform"); 6723 target.setAttribute("transform", ""); 6724 style[_transformProp] = transforms; 6725 endCache = _parseTransform(target, 1); 6726 6727 _removeProperty(target, _transformProp); 6728 6729 target.setAttribute("transform", startValue); 6730 } else { 6731 startValue = getComputedStyle(target)[_transformProp]; 6732 style[_transformProp] = transforms; 6733 endCache = _parseTransform(target, 1); 6734 style[_transformProp] = startValue; 6735 } 6736 6737 for (p in _transformProps) { 6738 startValue = startCache[p]; 6739 endValue = endCache[p]; 6740 6741 if (startValue !== endValue && exclude.indexOf(p) < 0) { 6742 startUnit = getUnit(startValue); 6743 endUnit = getUnit(endValue); 6744 startNum = startUnit !== endUnit ? _convertToUnit(target, p, startValue, endUnit) : parseFloat(startValue); 6745 endNum = parseFloat(endValue); 6746 plugin._pt = new PropTween(plugin._pt, endCache, p, startNum, endNum - startNum, _renderCSSProp); 6747 plugin._pt.u = endUnit || 0; 6748 6749 plugin._props.push(p); 6750 } 6751 } 6752 6753 _assign(endCache, startCache); 6754 }; 6755 6756 _forEachName("padding,margin,Width,Radius", function (name, index) { 6757 var t = "Top", 6758 r = "Right", 6759 b = "Bottom", 6760 l = "Left", 6761 props = (index < 3 ? [t, r, b, l] : [t + l, t + r, b + r, b + l]).map(function (side) { 6762 return index < 2 ? name + side : "border" + side + name; 6763 }); 6764 6765 _specialProps[index > 1 ? "border" + name : name] = function (plugin, target, property, endValue, tween) { 6766 var a, vars; 6767 6768 if (arguments.length < 4) { 6769 a = props.map(function (prop) { 6770 return _get(plugin, prop, property); 6771 }); 6772 vars = a.join(" "); 6773 return vars.split(a[0]).length === 5 ? a[0] : vars; 6774 } 6775 6776 a = (endValue + "").split(" "); 6777 vars = {}; 6778 props.forEach(function (prop, i) { 6779 return vars[prop] = a[i] = a[i] || a[(i - 1) / 2 | 0]; 6780 }); 6781 plugin.init(target, vars, tween); 6782 }; 6783 }); 6784 6785 var CSSPlugin = { 6786 name: "css", 6787 register: _initCore, 6788 targetTest: function targetTest(target) { 6789 return target.style && target.nodeType; 6790 }, 6791 init: function init(target, vars, tween, index, targets) { 6792 var props = this._props, 6793 style = target.style, 6794 startAt = tween.vars.startAt, 6795 startValue, 6796 endValue, 6797 endNum, 6798 startNum, 6799 type, 6800 specialProp, 6801 p, 6802 startUnit, 6803 endUnit, 6804 relative, 6805 isTransformRelated, 6806 transformPropTween, 6807 cache, 6808 smooth, 6809 hasPriority, 6810 inlineProps
vendor: 7,960 bytes, lines 6810-6997
6810; 6811 _pluginInitted || _initCore(); 6812 this.styles = this.styles || _getStyleSaver(target); 6813 inlineProps = this.styles.props; 6814 this.tween = tween; 6815 6816 for (p in vars) { 6817 if (p === "autoRound") { 6818 continue; 6819 } 6820 6821 endValue = vars[p]; 6822 6823 if (_plugins[p] && _checkPlugin(p, vars, tween, index, target, targets)) { 6824 continue; 6825 } 6826 6827 type = typeof endValue; 6828 specialProp = _specialProps[p]; 6829 6830 if (type === "function") { 6831 endValue = endValue.call(tween, index, target, targets); 6832 type = typeof endValue; 6833 } 6834 6835 if (type === "string" && ~endValue.indexOf("random(")) { 6836 endValue = _replaceRandom(endValue); 6837 } 6838 6839 if (specialProp) { 6840 specialProp(this, target, p, endValue, tween) && (hasPriority = 1); 6841 } else if (p.substr(0, 2) === "--") { 6842 startValue = (getComputedStyle(target).getPropertyValue(p) + "").trim(); 6843 endValue += ""; 6844 _colorExp.lastIndex = 0; 6845 6846 if (!_colorExp.test(startValue)) { 6847 startUnit = getUnit(startValue); 6848 endUnit = getUnit(endValue); 6849 } 6850 6851 endUnit ? startUnit !== endUnit && (startValue = _convertToUnit(target, p, startValue, endUnit) + endUnit) : startUnit && (endValue += startUnit); 6852 this.add(style, "setProperty", startValue, endValue, index, targets, 0, 0, p); 6853 props.push(p); 6854 inlineProps.push(p, 0, style[p]); 6855 } else if (type !== "undefined") { 6856 if (startAt && p in startAt) { 6857 startValue = typeof startAt[p] === "function" ? startAt[p].call(tween, index, target, targets) : startAt[p]; 6858 _isString(startValue) && ~startValue.indexOf("random(") && (startValue = _replaceRandom(startValue)); 6859 getUnit(startValue + "") || (startValue += _config.units[p] || getUnit(_get(target, p)) || ""); 6860 (startValue + "").charAt(1) === "=" && (startValue = _get(target, p)); 6861 } else { 6862 startValue = _get(target, p); 6863 } 6864 6865 startNum = parseFloat(startValue); 6866 relative = type === "string" && endValue.charAt(1) === "=" && endValue.substr(0, 2); 6867 relative && (endValue = endValue.substr(2)); 6868 endNum = parseFloat(endValue); 6869 6870 if (p in _propertyAliases) { 6871 if (p === "autoAlpha") { 6872 if (startNum === 1 && _get(target, "visibility") === "hidden" && endNum) { 6873 startNum = 0; 6874 } 6875 6876 inlineProps.push("visibility", 0, style.visibility); 6877 6878 _addNonTweeningPT(this, style, "visibility", startNum ? "inherit" : "hidden", endNum ? "inherit" : "hidden", !endNum); 6879 } 6880 6881 if (p !== "scale" && p !== "transform") { 6882 p = _propertyAliases[p]; 6883 ~p.indexOf(",") && (p = p.split(",")[0]); 6884 } 6885 } 6886 6887 isTransformRelated = p in _transformProps; 6888 6889 if (isTransformRelated) { 6890 this.styles.save(p); 6891 6892 if (!transformPropTween) { 6893 cache = target._gsap; 6894 cache.renderTransform && !vars.parseTransform || _parseTransform(target, vars.parseTransform); 6895 smooth = vars.smoothOrigin !== false && cache.smooth; 6896 transformPropTween = this._pt = new PropTween(this._pt, style, _transformProp, 0, 1, cache.renderTransform, cache, 0, -1); 6897 transformPropTween.dep = 1; 6898 } 6899 6900 if (p === "scale") { 6901 this._pt = new PropTween(this._pt, cache, "scaleY", startNum, (relative ? _parseRelative(startNum, relative + endNum) : endNum) - startNum || 0, _renderCSSProp); 6902 this._pt.u = 0; 6903 props.push("scaleY", p); 6904 p += "X"; 6905 } else if (p === "transformOrigin") { 6906 inlineProps.push(_transformOriginProp, 0, style[_transformOriginProp]); 6907 endValue = _convertKeywordsToPercentages(endValue); 6908 6909 if (cache.svg) { 6910 _applySVGOrigin(target, endValue, 0, smooth, 0, this); 6911 } else { 6912 endUnit = parseFloat(endValue.split(" ")[2]) || 0; 6913 endUnit !== cache.zOrigin && _addNonTweeningPT(this, cache, "zOrigin", cache.zOrigin, endUnit); 6914 6915 _addNonTweeningPT(this, style, p, _firstTwoOnly(startValue), _firstTwoOnly(endValue)); 6916 } 6917 6918 continue; 6919 } else if (p === "svgOrigin") { 6920 _applySVGOrigin(target, endValue, 1, smooth, 0, this); 6921 6922 continue; 6923 } else if (p in _rotationalProperties) { 6924 _addRotationalPropTween(this, cache, p, startNum, relative ? _parseRelative(startNum, relative + endValue) : endValue); 6925 6926 continue; 6927 } else if (p === "smoothOrigin") { 6928 _addNonTweeningPT(this, cache, "smooth", cache.smooth, endValue); 6929 6930 continue; 6931 } else if (p === "force3D") { 6932 cache[p] = endValue; 6933 continue; 6934 } else if (p === "transform") { 6935 _addRawTransformPTs(this, endValue, target); 6936 6937 continue; 6938 } 6939 } else if (!(p in style)) { 6940 p = _checkPropPrefix(p) || p; 6941 } 6942 6943 if (isTransformRelated || (endNum || endNum === 0) && (startNum || startNum === 0) && !_complexExp.test(endValue) && p in style) { 6944 startUnit = (startValue + "").substr((startNum + "").length); 6945 endNum || (endNum = 0); 6946 endUnit = getUnit(endValue) || (p in _config.units ? _config.units[p] : startUnit); 6947 startUnit !== endUnit && (startNum = _convertToUnit(target, p, startValue, endUnit)); 6948 this._pt = new PropTween(this._pt, isTransformRelated ? cache : style, p, startNum, (relative ? _parseRelative(startNum, relative + endNum) : endNum) - startNum, !isTransformRelated && (endUnit === "px" || p === "zIndex") && vars.autoRound !== false ? _renderRoundedCSSProp : _renderCSSProp); 6949 this._pt.u = endUnit || 0; 6950 6951 if (startUnit !== endUnit && endUnit !== "%") { 6952 this._pt.b = startValue; 6953 this._pt.r = _renderCSSPropWithBeginning; 6954 } 6955 } else if (!(p in style)) { 6956 if (p in target) { 6957 this.add(target, p, startValue || target[p], relative ? relative + endValue : endValue, index, targets); 6958 } else { 6959 _missingPlugin(p, endValue); 6960 6961 continue; 6962 } 6963 } else { 6964 _tweenComplexCSSString.call(this, target, p, startValue, relative ? relative + endValue : endValue); 6965 } 6966 6967 isTransformRelated || (p in style ? inlineProps.push(p, 0, style[p]) : inlineProps.push(p, 1, startValue || target[p])); 6968 props.push(p); 6969 } 6970 } 6971 6972 hasPriority && _sortPropTweensByPriority(this); 6973 }, 6974 render: function render(ratio, data) { 6975 if (data.tween._time || !_reverting$1()) { 6976 var pt = data._pt; 6977 6978 while (pt) { 6979 pt.r(ratio, pt.d); 6980 pt = pt._next; 6981 } 6982 } else { 6983 data.styles.revert(); 6984 } 6985 }, 6986 get: _get, 6987 aliases: _propertyAliases, 6988 getSetter: function getSetter(target, property, plugin) { 6989 var p = _propertyAliases[property]; 6990 p && p.indexOf(",") < 0 && (property = p); 6991 return property in _transformProps && property !== _transformOriginProp && (target._gsap.x || _get(target, "x")) ? plugin && _recentSetterPlugin === plugin ? property === "scale" ? _setterScale : _setterTransform : (_recentSetterPlugin = plugin || {}) && (property === "scale" ? _setterScaleWithRender : _setterTransformWithRender) : target.style && !_isUndefined(target.style[property]) ? _setterCSSStyle : ~property.indexOf("-") ? _setterCSSProp : _getSetter(target, property); 6992 }, 6993 core: { 6994 _removeProperty: _removeProperty, 6995 _getMatrix: _getMatrix 6996 } 6997 };
vendor: 2,057 bytes, lines 6998-7057
6998 gsap.utils.checkPrefix = _checkPropPrefix; 6999 gsap.core.getStyleSaver = _getStyleSaver; 7000 7001 (function (positionAndScale, rotation, others, aliases) { 7002 var all = _forEachName(positionAndScale + "," + rotation + "," + others, function (name) { 7003 _transformProps[name] = 1; 7004 }); 7005 7006 _forEachName(rotation, function (name) { 7007 _config.units[name] = "deg"; 7008 _rotationalProperties[name] = 1; 7009 }); 7010 7011 _propertyAliases[all[13]] = positionAndScale + "," + rotation; 7012 7013 _forEachName(aliases, function (name) { 7014 var split = name.split(":"); 7015 _propertyAliases[split[1]] = all[split[0]]; 7016 }); 7017 })("x,y,z,scale,scaleX,scaleY,xPercent,yPercent", "rotation,rotationX,rotationY,skewX,skewY", "transform,transformOrigin,svgOrigin,force3D,smoothOrigin,transformPerspective", "0:translateX,1:translateY,2:translateZ,8:rotate,8:rotationZ,8:rotateZ,9:rotateX,10:rotateY"); 7018 7019 _forEachName("x,y,z,top,right,bottom,left,width,height,fontSize,padding,margin,perspective", function (name) { 7020 _config.units[name] = "px"; 7021 }); 7022 7023 gsap.registerPlugin(CSSPlugin); 7024 7025 var gsapWithCSS = gsap.registerPlugin(CSSPlugin) || gsap, 7026 TweenMaxWithCSS = gsapWithCSS.core.Tween; 7027 7028 exports.Back = Back; 7029 exports.Bounce = Bounce; 7030 exports.CSSPlugin = CSSPlugin; 7031 exports.Circ = Circ; 7032 exports.Cubic = Cubic; 7033 exports.Elastic = Elastic; 7034 exports.Expo = Expo; 7035 exports.Linear = Linear; 7036 exports.Power0 = Power0; 7037 exports.Power1 = Power1; 7038 exports.Power2 = Power2; 7039 exports.Power3 = Power3; 7040 exports.Power4 = Power4; 7041 exports.Quad = Quad; 7042 exports.Quart = Quart; 7043 exports.Quint = Quint; 7044 exports.Sine = Sine; 7045 exports.SteppedEase = SteppedEase; 7046 exports.Strong = Strong; 7047 exports.TimelineLite = Timeline; 7048 exports.TimelineMax = Timeline; 7049 exports.TweenLite = Tween; 7050 exports.TweenMax = TweenMaxWithCSS; 7051 exports.default = gsapWithCSS; 7052 exports.gsap = gsapWithCSS; 7053 7054 if (typeof(window) === 'undefined' || window !== exports) {Object.defineProperty(exports, '__esModule', { value: true });} else {delete window.default;} 7055 7056}))); 7057
vendor: 146,326 bytes, lines 7058-7070
7058/** 7059 * Swiper 6.8.4 7060 * Most modern mobile touch slider and framework with hardware accelerated transitions 7061 * https://swiperjs.com 7062 * 7063 * Copyright 2014-2021 Vladimir Kharlampidi 7064 * 7065 * Released under the MIT License 7066 * 7067 * Released on: August 23, 2021 7068 */ 7069 7070!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).Swiper=t()}(this,(function(){"use strict";function e(e,t){for(var a=0;a<t.length;a++){var i=t[a];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}function t(){return(t=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var i in a)Object.prototype.hasOwnProperty.call(a,i)&&(e[i]=a[i])}return e}).apply(this,arguments)}function a(e){return null!==e&&"object"==typeof e&&"constructor"in e&&e.constructor===Object}function i(e,t){void 0===e&&(e={}),void 0===t&&(t={}),Object.keys(t).forEach((function(s){void 0===e[s]?e[s]=t[s]:a(t[s])&&a(e[s])&&Object.keys(t[s]).length>0&&i(e[s],t[s])}))}var s={body:{},addEventListener:function(){},removeEventListener:function(){},activeElement:{blur:function(){},nodeName:""},querySelector:function(){return null},querySelectorAll:function(){return[]},getElementById:function(){return null},createEvent:function(){return{initEvent:function(){}}},createElement:function(){return{children:[],childNodes:[],style:{},setAttribute:function(){},getElementsByTagName:function(){return[]}}},createElementNS:function(){return{}},importNode:function(){return null},location:{hash:"",host:"",hostname:"",href:"",origin:"",pathname:"",protocol:"",search:""}};function r(){var e="undefined"!=typeof document?document:{};return i(e,s),e}var n={document:s,navigator:{userAgent:""},location:{hash:"",host:"",hostname:"",href:"",origin:"",pathname:"",protocol:"",search:""},history:{replaceState:function(){},pushState:function(){},go:function(){},back:function(){}},CustomEvent:function(){return this},addEventListener:function(){},removeEventListener:function(){},getComputedStyle:function(){return{getPropertyValue:function(){return""}}},Image:function(){},Date:function(){},screen:{},setTimeout:function(){},clearTimeout:function(){},matchMedia:function(){return{}},requestAnimationFrame:function(e){return"undefined"==typeof setTimeout?(e(),null):setTimeout(e,0)},cancelAnimationFrame:function(e){"undefined"!=typeof setTimeout&&clearTimeout(e)}};function l(){var e="undefined"!=typeof window?window:{};return i(e,n),e}function o(e){return(o=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function d(e,t){return(d=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function p(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}function u(e,t,a){return(u=p()?Reflect.construct:function(e,t,a){var i=[null];i.push.apply(i,t);var s=new(Function.bind.apply(e,i));return a&&d(s,a.prototype),s}).apply(null,arguments)}function c(e){var t="function"==typeof Map?new Map:void 0;return(c=function(e){if(null===e||(a=e,-1===Function.toString.call(a).indexOf("[native code]")))return e;var a;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,i)}function i(){return u(e,arguments,o(this).constructor)}return i.prototype=Object.create(e.prototype,{constructor:{value:i,enumerable:!1,writable:!0,configurable:!0}}),d(i,e)})(e)}var h=function(e){var t,a;function i(t){var a,i,s;return a=e.call.apply(e,[this].concat(t))||this,i=function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(a),s=i.__proto__,Object.defineProperty(i,"__proto__",{get:function(){return s},set:function(e){s.__proto__=e}}),a}return a=e,(t=i).prototype=Object.create(a.prototype),t.prototype.constructor=t,t.__proto__=a,i}(c(Array));function v(e){void 0===e&&(e=[]);var t=[];return e.forEach((function(e){Array.isArray(e)?t.push.apply(t,v(e)):t.push(e)})),t}function f(e,t){return Array.prototype.filter.call(e,t)}function m(e,t){var a=l(),i=r(),s=[];if(!t&&e instanceof h)return e;if(!e)return new h(s);if("string"==typeof e){var n=e.trim();if(n.indexOf("<")>=0&&n.indexOf(">")>=0){var o="div";0===n.indexOf("<li")&&(o="ul"),0===n.indexOf("<tr")&&(o="tbody"),0!==n.indexOf("<td")&&0!==n.indexOf("<th")||(o="tr"),0===n.indexOf("<tbody")&&(o="table"),0===n.indexOf("<option")&&(o="select");var d=i.createElement(o);d.innerHTML=n;for(var p=0;p<d.childNodes.length;p+=1)s.push(d.childNodes[p])}else s=function(e,t){if("string"!=typeof e)return[e];for(var a=[],i=t.querySelectorAll(e),s=0;s<i.length;s+=1)a.push(i[s]);return a}(e.trim(),t||i)}else if(e.nodeType||e===a||e===i)s.push(e);else if(Array.isArray(e)){if(e instanceof h)return e;s=e}return new h(function(e){for(var t=[],a=0;a<e.length;a+=1)-1===t.indexOf(e[a])&&t.push(e[a]);return t}(s))}m.fn=h.prototype;var g,b,w,y={addClass:function(){for(var e=arguments.length,t=new Array(e),a=0;a<e;a++)t[a]=arguments[a];var i=v(t.map((function(e){return e.split(" ")})));return this.forEach((function(e){var t;(t=e.classList).add.apply(t,i)})),this},removeClass:function(){for(var e=arguments.length,t=new Array(e),a=0;a<e;a++)t[a]=arguments[a];var i=v(t.map((function(e){return e.split(" ")})));return this.forEach((function(e){var t;(t=e.classList).remove.apply(t,i)})),this},hasClass:function(){for(var e=arguments.length,t=new Array(e),a=0;a<e;a++)t[a]=arguments[a];var i=v(t.map((function(e){return e.split(" ")})));return f(this,(function(e){return i.filter((function(t){return e.classList.contains(t)})).length>0})).length>0},toggleClass:function(){for(var e=arguments.length,t=new Array(e),a=0;a<e;a++)t[a]=arguments[a];var i=v(t.map((function(e){return e.split(" ")})));this.forEach((function(e){i.forEach((function(t){e.classList.toggle(t)}))}))},attr:function(e,t){if(1===arguments.length&&"string"==typeof e)return this[0]?this[0].getAttribute(e):void 0;for(var a=0;a<this.length;a+=1)if(2===arguments.length)this[a].setAttribute(e,t);else for(var i in e)this[a][i]=e[i],this[a].setAttribute(i,e[i]);return this},removeAttr:function(e){for(var t=0;t<this.length;t+=1)this[t].removeAttribute(e);return this},transform:function(e){for(var t=0;t<this.length;t+=1)this[t].style.transform=e;return this},transition:function(e){for(var t=0;t<this.length;t+=1)this[t].style.transitionDuration="string"!=typeof e?e+"ms":e;return this},on:function(){for(var e=arguments.length,t=new Array(e),a=0;a<e;a++)t[a]=arguments[a];var i=t[0],s=t[1],r=t[2],n=t[3];function l(e){var t=e.target;if(t){var a=e.target.dom7EventData||[];if(a.indexOf(e)<0&&a.unshift(e),m(t).is(s))r.apply(t,a);else for(var i=m(t).parents(),n=0;n<i.length;n+=1)m(i[n]).is(s)&&r.apply(i[n],a)}}function o(e){var t=e&&e.target&&e.target.dom7EventData||[];t.indexOf(e)<0&&t.unshift(e),r.apply(this,t)}"function"==typeof t[1]&&(i=t[0],r=t[1],n=t[2],s=void 0),n||(n=!1);for(var d,p=i.split(" "),u=0;u<this.length;u+=1){var c=this[u];if(s)for(d=0;d<p.length;d+=1){var h=p[d];c.dom7LiveListeners||(c.dom7LiveListeners={}),c.dom7LiveListeners[h]||(c.dom7LiveListeners[h]=[]),c.dom7LiveListeners[h].push({listener:r,proxyListener:l}),c.addEventListener(h,l,n)}else for(d=0;d<p.length;d+=1){var v=p[d];c.dom7Listeners||(c.dom7Listeners={}),c.dom7Listeners[v]||(c.dom7Listeners[v]=[]),c.dom7Listeners[v].push({listener:r,proxyListener:o}),c.addEventListener(v,o,n)}}return this},off:function(){for(var e=arguments.length,t=new Array(e),a=0;a<e;a++)t[a]=arguments[a];var i=t[0],s=t[1],r=t[2],n=t[3];"function"==typeof t[1]&&(i=t[0],r=t[1],n=t[2],s=void 0),n||(n=!1);for(var l=i.split(" "),o=0;o<l.length;o+=1)for(var d=l[o],p=0;p<this.length;p+=1){var u=this[p],c=void 0;if(!s&&u.dom7Listeners?c=u.dom7Listeners[d]:s&&u.dom7LiveListeners&&(c=u.dom7LiveListeners[d]),c&&c.length)for(var h=c.length-1;h>=0;h-=1){var v=c[h];r&&v.listener===r||r&&v.listener&&v.listener.dom7proxy&&v.listener.dom7proxy===r?(u.removeEventListener(d,v.proxyListener,n),c.splice(h,1)):r||(u.removeEventListener(d,v.proxyListener,n),c.splice(h,1))}}return this},trigger:function(){for(var e=l(),t=arguments.length,a=new Array(t),i=0;i<t;i++)a[i]=arguments[i];for(var s=a[0].split(" "),r=a[1],n=0;n<s.length;n+=1)for(var o=s[n],d=0;d<this.length;d+=1){var p=this[d];if(e.CustomEvent){var u=new e.CustomEvent(o,{detail:r,bubbles:!0,cancelable:!0});p.dom7EventData=a.filter((function(e,t){return t>0})),p.dispatchEvent(u),p.dom7EventData=[],delete p.dom7EventData}}return this},transitionEnd:function(e){var t=this;return e&&t.on("transitionend",(function a(i){i.target===this&&(e.call(this,i),t.off("transitionend",a))})),this},outerWidth:function(e){if(this.length>0){if(e){var t=this.styles();return this[0].offsetWidth+parseFloat(t.getPropertyValue("margin-right"))+parseFloat(t.getPropertyValue("margin-left"))}return this[0].offsetWidth}return null},outerHeight:function(e){if(this.length>0){if(e){var t=this.styles();return this[0].offsetHeight+parseFloat(t.getPropertyValue("margin-top"))+parseFloat(t.getPropertyValue("margin-bottom"))}return this[0].offsetHeight}return null},styles:function(){var e=l();return this[0]?e.getComputedStyle(this[0],null):{}},offset:function(){if(this.length>0){var e=l(),t=r(),a=this[0],i=a.getBoundingClientRect(),s=t.body,n=a.clientTop||s.clientTop||0,o=a.clientLeft||s.clientLeft||0,d=a===e?e.scrollY:a.scrollTop,p=a===e?e.scrollX:a.scrollLeft;return{top:i.top+d-n,left:i.left+p-o}}return null},css:function(e,t){var a,i=l();if(1===arguments.length){if("string"!=typeof e){for(a=0;a<this.length;a+=1)for(var s in e)this[a].style[s]=e[s];return this}if(this[0])return i.getComputedStyle(this[0],null).getPropertyValue(e)}if(2===arguments.length&&"string"==typeof e){for(a=0;a<this.length;a+=1)this[a].style[e]=t;return this}return this},each:function(e){return e?(this.forEach((function(t,a){e.apply(t,[t,a])})),this):this},html:function(e){if(void 0===e)return this[0]?this[0].innerHTML:null;for(var t=0;t<this.length;t+=1)this[t].innerHTML=e;return this},text:function(e){if(void 0===e)return this[0]?this[0].textContent.trim():null;for(var t=0;t<this.length;t+=1)this[t].textContent=e;return this},is:function(e){var t,a,i=l(),s=r(),n=this[0];if(!n||void 0===e)return!1;if("string"==typeof e){if(n.matches)return n.matches(e);if(n.webkitMatchesSelector)return n.webkitMatchesSelector(e);if(n.msMatchesSelector)return n.msMatchesSelector(e);for(t=m(e),a=0;a<t.length;a+=1)if(t[a]===n)return!0;return!1}if(e===s)return n===s;if(e===i)return n===i;if(e.nodeType||e instanceof h){for(t=e.nodeType?[e]:e,a=0;a<t.length;a+=1)if(t[a]===n)return!0;return!1}return!1},index:function(){var e,t=this[0];if(t){for(e=0;null!==(t=t.previousSibling);)1===t.nodeType&&(e+=1);return e}},eq:function(e){if(void 0===e)return this;var t=this.length;if(e>t-1)return m([]);if(e<0){var a=t+e;return m(a<0?[]:[this[a]])}return m([this[e]])},append:function(){for(var e,t=r(),a=0;a<arguments.length;a+=1){e=a<0||arguments.length<=a?void 0:arguments[a];for(var i=0;i<this.length;i+=1)if("string"==typeof e){var s=t.createElement("div");for(s.innerHTML=e;s.firstChild;)this[i].appendChild(s.firstChild)}else if(e instanceof h)for(var n=0;n<e.length;n+=1)this[i].appendChild(e[n]);else this[i].appendChild(e)}return this},prepend:function(e){var t,a,i=r();for(t=0;t<this.length;t+=1)if("string"==typeof e){var s=i.createElement("div");for(s.innerHTML=e,a=s.childNodes.length-1;a>=0;a-=1)this[t].insertBefore(s.childNodes[a],this[t].childNodes[0])}else if(e instanceof h)for(a=0;a<e.length;a+=1)this[t].insertBefore(e[a],this[t].childNodes[0]);else this[t].insertBefore(e,this[t].childNodes[0]);return this},next:function(e){return this.length>0?e?this[0].nextElementSibling&&m(this[0].nextElementSibling).is(e)?m([this[0].nextElementSibling]):m([]):this[0].nextElementSibling?m([this[0].nextElementSibling]):m([]):m([])},nextAll:function(e){var t=[],a=this[0];if(!a)return m([]);for(;a.nextElementSibling;){var i=a.nextElementSibling;e?m(i).is(e)&&t.push(i):t.push(i),a=i}return m(t)},prev:function(e){if(this.length>0){var t=this[0];return e?t.previousElementSibling&&m(t.previousElementSibling).is(e)?m([t.previousElementSibling]):m([]):t.previousElementSibling?m([t.previousElementSibling]):m([])}return m([])},prevAll:function(e){var t=[],a=this[0];if(!a)return m([]);for(;a.previousElementSibling;){var i=a.previousElementSibling;e?m(i).is(e)&&t.push(i):t.push(i),a=i}return m(t)},parent:function(e){for(var t=[],a=0;a<this.length;a+=1)null!==this[a].parentNode&&(e?m(this[a].parentNode).is(e)&&t.push(this[a].parentNode):t.push(this[a].parentNode));return m(t)},parents:function(e){for(var t=[],a=0;a<this.length;a+=1)for(var i=this[a].parentNode;i;)e?m(i).is(e)&&t.push(i):t.push(i),i=i.parentNode;return m(t)},closest:function(e){var t=this;return void 0===e?m([]):(t.is(e)||(t=t.parents(e).eq(0)),t)},find:function(e){for(var t=[],a=0;a<this.length;a+=1)for(var i=this[a].querySelectorAll(e),s=0;s<i.length;s+=1)t.push(i[s]);return m(t)},children:function(e){for(var t=[],a=0;a<this.length;a+=1)for(var i=this[a].children,s=0;s<i.length;s+=1)e&&!m(i[s]).is(e)||t.push(i[s]);return m(t)},filter:function(e){return m(f(this,e))},remove:function(){for(var e=0;e<this.length;e+=1)this[e].parentNode&&this[e].parentNode.removeChild(this[e]);return this}};function E(e,t){return void 0===t&&(t=0),setTimeout(e,t)}function x(){return Date.now()}function T(e,t){void 0===t&&(t="x");var a,i,s,r=l(),n=function(e){var t,a=l();return a.getComputedStyle&&(t=a.getComputedStyle(e,null)),!t&&e.currentStyle&&(t=e.currentStyle),t||(t=e.style),t}(e);return r.WebKitCSSMatrix?((i=n.transform||n.webkitTransform).split(",").length>6&&(i=i.split(", ").map((function(e){return e.replace(",",".")})).join(", ")),s=new r.WebKitCSSMatrix("none"===i?"":i)):a=(s=n.MozTransform||n.OTransform||n.MsTransform||n.msTransform||n.transform||n.getPropertyValue("transform").replace("translate(","matrix(1, 0, 0, 1,")).toString().split(","),"x"===t&&(i=r.WebKitCSSMatrix?s.m41:16===a.length?parseFloat(a[12]):parseFloat(a[4])),"y"===t&&(i=r.WebKitCSSMatrix?s.m42:16===a.length?parseFloat(a[13]):parseFloat(a[5])),i||0}function C(e){return"object"==typeof e&&null!==e&&e.constructor&&"Object"===Object.prototype.toString.call(e).slice(8,-1)}function S(e){return"undefined"!=typeof window&&void 0!==window.HTMLElement?e instanceof HTMLElement:e&&(1===e.nodeType||11===e.nodeType)}function M(){for(var e=Object(arguments.length<=0?void 0:arguments[0]),t=["__proto__","constructor","prototype"],a=1;a<arguments.length;a+=1){var i=a<0||arguments.length<=a?void 0:arguments[a];if(null!=i&&!S(i))for(var s=Object.keys(Object(i)).filter((function(e){return t.indexOf(e)<0})),r=0,n=s.length;r<n;r+=1){var l=s[r],o=Object.getOwnPropertyDescriptor(i,l);void 0!==o&&o.enumerable&&(C(e[l])&&C(i[l])?i[l].__swiper__?e[l]=i[l]:M(e[l],i[l]):!C(e[l])&&C(i[l])?(e[l]={},i[l].__swiper__?e[l]=i[l]:M(e[l],i[l])):e[l]=i[l])}}return e}function z(e,t){Object.keys(t).forEach((function(a){C(t[a])&&Object.keys(t[a]).forEach((function(i){"function"==typeof t[a][i]&&(t[a][i]=t[a][i].bind(e))})),e[a]=t[a]}))}function P(e){return void 0===e&&(e=""),"."+e.trim().replace(/([\.:!\/])/g,"\\$1").replace(/ /g,".")}function k(e,t,a,i){var s=r();return a&&Object.keys(i).forEach((function(a){if(!t[a]&&!0===t.auto){var r=s.createElement("div");r.className=i[a],e.append(r),t[a]=r}})),t}function $(){return g||(g=function(){var e=l(),t=r();return{touch:!!("ontouchstart"in e||e.DocumentTouch&&t instanceof e.DocumentTouch),pointerEvents:!!e.PointerEvent&&"maxTouchPoints"in e.navigator&&e.navigator.maxTouchPoints>=0,observer:"MutationObserver"in e||"WebkitMutationObserver"in e,passiveListener:function(){var t=!1;try{var a=Object.defineProperty({},"passive",{get:function(){t=!0}});e.addEventListener("testPassiveListener",null,a)}catch(e){}return t}(),gestures:"ongesturestart"in e}}()),g}function L(e){return void 0===e&&(e={}),b||(b=function(e){var t=(void 0===e?{}:e).userAgent,a=$(),i=l(),s=i.navigator.platform,r=t||i.navigator.userAgent,n={ios:!1,android:!1},o=i.screen.width,d=i.screen.height,p=r.match(/(Android);?[\s\/]+([\d.]+)?/),u=r.match(/(iPad).*OS\s([\d_]+)/),c=r.match(/(iPod)(.*OS\s([\d_]+))?/),h=!u&&r.match(/(iPhone\sOS|iOS)\s([\d_]+)/),v="Win32"===s,f="MacIntel"===s;return!u&&f&&a.touch&&["1024x1366","1366x1024","834x1194","1194x834","834x1112","1112x834","768x1024","1024x768","820x1180","1180x820","810x1080","1080x810"].indexOf(o+"x"+d)>=0&&((u=r.match(/(Version)\/([\d.]+)/))||(u=[0,1,"13_0_0"]),f=!1),p&&!v&&(n.os="android",n.android=!0),(u||h||c)&&(n.os="ios",n.ios=!0),n}(e)),b}function I(){return w||(w=function(){var e,t=l();return{isEdge:!!t.navigator.userAgent.match(/Edge/g),isSafari:(e=t.navigator.userAgent.toLowerCase(),e.indexOf("safari")>=0&&e.indexOf("chrome")<0&&e.indexOf("android")<0),isWebView:/(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(t.navigator.userAgent)}}()),w}Object.keys(y).forEach((function(e){Object.defineProperty(m.fn,e,{value:y[e],writable:!0})}));var O={name:"resize",create:function(){var e=this;M(e,{resize:{observer:null,createObserver:function(){e&&!e.destroyed&&e.initialized&&(e.resize.observer=new ResizeObserver((function(t){var a=e.width,i=e.height,s=a,r=i;t.forEach((function(t){var a=t.contentBoxSize,i=t.contentRect,n=t.target;n&&n!==e.el||(s=i?i.width:(a[0]||a).inlineSize,r=i?i.height:(a[0]||a).blockSize)})),s===a&&r===i||e.resize.resizeHandler()})),e.resize.observer.observe(e.el))},removeObserver:function(){e.resize.observer&&e.resize.observer.unobserve&&e.el&&(e.resize.observer.unobserve(e.el),e.resize.observer=null)},resizeHandler:function(){e&&!e.destroyed&&e.initialized&&(e.emit("beforeResize"),e.emit("resize"))},orientationChangeHandler:function(){e&&!e.destroyed&&e.initialized&&e.emit("orientationchange")}}})},on:{init:function(e){var t=l();e.params.resizeObserver&&void 0!==l().ResizeObserver?e.resize.createObserver():(t.addEventListener("resize",e.resize.resizeHandler),t.addEventListener("orientationchange",e.resize.orientationChangeHandler))},destroy:function(e){var t=l();e.resize.removeObserver(),t.removeEventListener("resize",e.resize.resizeHandler),t.removeEventListener("orientationchange",e.resize.orientationChangeHandler)}}},A={attach:function(e,t){void 0===t&&(t={});var a=l(),i=this,s=new(a.MutationObserver||a.WebkitMutationObserver)((function(e){if(1!==e.length){var t=function(){i.emit("observerUpdate",e[0])};a.requestAnimationFrame?a.requestAnimationFrame(t):a.setTimeout(t,0)}else i.emit("observerUpdate",e[0])}));s.observe(e,{attributes:void 0===t.attributes||t.attributes,childList:void 0===t.childList||t.childList,characterData:void 0===t.characterData||t.characterData}),i.observer.observers.push(s)},init:function(){var e=this;if(e.support.observer&&e.params.observer){if(e.params.observeParents)for(var t=e.$el.parents(),a=0;a<t.length;a+=1)e.observer.attach(t[a]);e.observer.attach(e.$el[0],{childList:e.params.observeSlideChildren}),e.observer.attach(e.$wrapperEl[0],{attributes:!1})}},destroy:function(){this.observer.observers.forEach((function(e){e.disconnect()})),this.observer.observers=[]}},D={name:"observer",params:{observer:!1,observeParents:!1,observeSlideChildren:!1},create:function(){z(this,{observer:t({},A,{observers:[]})})},on:{init:function(e){e.observer.init()},destroy:function(e){e.observer.destroy()}}};function N(e){var t=this,a=r(),i=l(),s=t.touchEventsData,n=t.params,o=t.touches;if(t.enabled&&(!t.animating||!n.preventInteractionOnTransition)){var d=e;d.originalEvent&&(d=d.originalEvent);var p=m(d.target);if(("wrapper"!==n.touchEventsTarget||p.closest(t.wrapperEl).length)&&(s.isTouchEvent="touchstart"===d.type,(s.isTouchEvent||!("which"in d)||3!==d.which)&&!(!s.isTouchEvent&&"button"in d&&d.button>0||s.isTouched&&s.isMoved))){!!n.noSwipingClass&&""!==n.noSwipingClass&&d.target&&d.target.shadowRoot&&e.path&&e.path[0]&&(p=m(e.path[0]));var u=n.noSwipingSelector?n.noSwipingSelector:"."+n.noSwipingClass,c=!(!d.target||!d.target.shadowRoot);if(n.noSwiping&&(c?function(e,t){return void 0===t&&(t=this),function t(a){return a&&a!==r()&&a!==l()?(a.assignedSlot&&(a=a.assignedSlot),a.closest(e)||t(a.getRootNode().host)):null}(t)}(u,d.target):p.closest(u)[0]))t.allowClick=!0;else if(!n.swipeHandler||p.closest(n.swipeHandler)[0]){o.currentX="touchstart"===d.type?d.targetTouches[0].pageX:d.pageX,o.currentY="touchstart"===d.type?d.targetTouches[0].pageY:d.pageY;var h=o.currentX,v=o.currentY,f=n.edgeSwipeDetection||n.iOSEdgeSwipeDetection,g=n.edgeSwipeThreshold||n.iOSEdgeSwipeThreshold;if(f&&(h<=g||h>=i.innerWidth-g)){if("prevent"!==f)return;e.preventDefault()}if(M(s,{isTouched:!0,isMoved:!1,allowTouchCallbacks:!0,isScrolling:void 0,startMoving:void 0}),o.startX=h,o.startY=v,s.touchStartTime=x(),t.allowClick=!0,t.updateSize(),t.swipeDirection=void 0,n.threshold>0&&(s.allowThresholdMove=!1),"touchstart"!==d.type){var b=!0;p.is(s.focusableElements)&&(b=!1),a.activeElement&&m(a.activeElement).is(s.focusableElements)&&a.activeElement!==p[0]&&a.activeElement.blur();var w=b&&t.allowTouchMove&&n.touchStartPreventDefault;!n.touchStartForcePreventDefault&&!w||p[0].isContentEditable||d.preventDefault()}t.emit("touchStart",d)}}}}function G(e){var t=r(),a=this,i=a.touchEventsData,s=a.params,n=a.touches,l=a.rtlTranslate;if(a.enabled){var o=e;if(o.originalEvent&&(o=o.originalEvent),i.isTouched){if(!i.isTouchEvent||"touchmove"===o.type){var d="touchmove"===o.type&&o.targetTouches&&(o.targetTouches[0]||o.changedTouches[0]),p="touchmove"===o.type?d.pageX:o.pageX,u="touchmove"===o.type?d.pageY:o.pageY;if(o.preventedByNestedSwiper)return n.startX=p,void(n.startY=u);if(!a.allowTouchMove)return a.allowClick=!1,void(i.isTouched&&(M(n,{startX:p,startY:u,currentX:p,currentY:u}),i.touchStartTime=x()));if(i.isTouchEvent&&s.touchReleaseOnEdges&&!s.loop)if(a.isVertical()){if(u<n.startY&&a.translate<=a.maxTranslate()||u>n.startY&&a.translate>=a.minTranslate())return i.isTouched=!1,void(i.isMoved=!1)}else if(p<n.startX&&a.translate<=a.maxTranslate()||p>n.startX&&a.translate>=a.minTranslate())return;if(i.isTouchEvent&&t.activeElement&&o.target===t.activeElement&&m(o.target).is(i.focusableElements))return i.isMoved=!0,void(a.allowClick=!1);if(i.allowTouchCallbacks&&a.emit("touchMove",o),!(o.targetTouches&&o.targetTouches.length>1)){n.currentX=p,n.currentY=u;var c=n.currentX-n.startX,h=n.currentY-n.startY;if(!(a.params.threshold&&Math.sqrt(Math.pow(c,2)+Math.pow(h,2))<a.params.threshold)){var v;if(void 0===i.isScrolling)a.isHorizontal()&&n.currentY===n.startY||a.isVertical()&&n.currentX===n.startX?i.isScrolling=!1:c*c+h*h>=25&&(v=180*Math.atan2(Math.abs(h),Math.abs(c))/Math.PI,i.isScrolling=a.isHorizontal()?v>s.touchAngle:90-v>s.touchAngle);if(i.isScrolling&&a.emit("touchMoveOpposite",o),void 0===i.startMoving&&(n.currentX===n.startX&&n.currentY===n.startY||(i.startMoving=!0)),i.isScrolling)i.isTouched=!1;else if(i.startMoving){a.allowClick=!1,!s.cssMode&&o.cancelable&&o.preventDefault(),s.touchMoveStopPropagation&&!s.nested&&o.stopPropagation(),i.isMoved||(s.loop&&a.loopFix(),i.startTranslate=a.getTranslate(),a.setTransition(0),a.animating&&a.$wrapperEl.trigger("webkitTransitionEnd transitionend"),i.allowMomentumBounce=!1,!s.grabCursor||!0!==a.allowSlideNext&&!0!==a.allowSlidePrev||a.setGrabCursor(!0),a.emit("sliderFirstMove",o)),a.emit("sliderMove",o),i.isMoved=!0;var f=a.isHorizontal()?c:h;n.diff=f,f*=s.touchRatio,l&&(f=-f),a.swipeDirection=f>0?"prev":"next",i.currentTranslate=f+i.startTranslate;var g=!0,b=s.resistanceRatio;if(s.touchReleaseOnEdges&&(b=0),f>0&&i.currentTranslate>a.minTranslate()?(g=!1,s.resistance&&(i.currentTranslate=a.minTranslate()-1+Math.pow(-a.minTranslate()+i.startTranslate+f,b))):f<0&&i.currentTranslate<a.maxTranslate()&&(g=!1,s.resistance&&(i.currentTranslate=a.maxTranslate()+1-Math.pow(a.maxTranslate()-i.startTranslate-f,b))),g&&(o.preventedByNestedSwiper=!0),!a.allowSlideNext&&"next"===a.swipeDirection&&i.currentTranslate<i.startTranslate&&(i.currentTranslate=i.startTranslate),!a.allowSlidePrev&&"prev"===a.swipeDirection&&i.currentTranslate>i.startTranslate&&(i.currentTranslate=i.startTranslate),a.allowSlidePrev||a.allowSlideNext||(i.currentTranslate=i.startTranslate),s.threshold>0){if(!(Math.abs(f)>s.threshold||i.allowThresholdMove))return void(i.currentTranslate=i.startTranslate);if(!i.allowThresholdMove)return i.allowThresholdMove=!0,n.startX=n.currentX,n.startY=n.currentY,i.currentTranslate=i.startTranslate,void(n.diff=a.isHorizontal()?n.currentX-n.startX:n.currentY-n.startY)}s.followFinger&&!s.cssMode&&((s.freeMode||s.watchSlidesProgress||s.watchSlidesVisibility)&&(a.updateActiveIndex(),a.updateSlidesClasses()),s.freeMode&&(0===i.velocities.length&&i.velocities.push({position:n[a.isHorizontal()?"startX":"startY"],time:i.touchStartTime}),i.velocities.push({position:n[a.isHorizontal()?"currentX":"currentY"],time:x()})),a.updateProgress(i.currentTranslate),a.setTranslate(i.currentTranslate))}}}}}else i.startMoving&&i.isScrolling&&a.emit("touchMoveOpposite",o)}}function B(e){var t=this,a=t.touchEventsData,i=t.params,s=t.touches,r=t.rtlTranslate,n=t.$wrapperEl,l=t.slidesGrid,o=t.snapGrid;if(t.enabled){var d=e;if(d.originalEvent&&(d=d.originalEvent),a.allowTouchCallbacks&&t.emit("touchEnd",d),a.allowTouchCallbacks=!1,!a.isTouched)return a.isMoved&&i.grabCursor&&t.setGrabCursor(!1),a.isMoved=!1,void(a.startMoving=!1);i.grabCursor&&a.isMoved&&a.isTouched&&(!0===t.allowSlideNext||!0===t.allowSlidePrev)&&t.setGrabCursor(!1);var p,u=x(),c=u-a.touchStartTime;if(t.allowClick&&(t.updateClickedSlide(d),t.emit("tap click",d),c<300&&u-a.lastClickTime<300&&t.emit("doubleTap doubleClick",d)),a.lastClickTime=x(),E((function(){t.destroyed||(t.allowClick=!0)})),!a.isTouched||!a.isMoved||!t.swipeDirection||0===s.diff||a.currentTranslate===a.startTranslate)return a.isTouched=!1,a.isMoved=!1,void(a.startMoving=!1);if(a.isTouched=!1,a.isMoved=!1,a.startMoving=!1,p=i.followFinger?r?t.translate:-t.translate:-a.currentTranslate,!i.cssMode)if(i.freeMode){if(p<-t.minTranslate())return void t.slideTo(t.activeIndex);if(p>-t.maxTranslate())return void(t.slides.length<o.length?t.slideTo(o.length-1):t.slideTo(t.slides.length-1));if(i.freeModeMomentum){if(a.velocities.length>1){var h=a.velocities.pop(),v=a.velocities.pop(),f=h.position-v.position,m=h.time-v.time;t.velocity=f/m,t.velocity/=2,Math.abs(t.velocity)<i.freeModeMinimumVelocity&&(t.velocity=0),(m>150||x()-h.time>300)&&(t.velocity=0)}else t.velocity=0;t.velocity*=i.freeModeMomentumVelocityRatio,a.velocities.length=0;var g=1e3*i.freeModeMomentumRatio,b=t.velocity*g,w=t.translate+b;r&&(w=-w);var y,T,C=!1,S=20*Math.abs(t.velocity)*i.freeModeMomentumBounceRatio;if(w<t.maxTranslate())i.freeModeMomentumBounce?(w+t.maxTranslate()<-S&&(w=t.maxTranslate()-S),y=t.maxTranslate(),C=!0,a.allowMomentumBounce=!0):w=t.maxTranslate(),i.loop&&i.centeredSlides&&(T=!0);else if(w>t.minTranslate())i.freeModeMomentumBounce?(w-t.minTranslate()>S&&(w=t.minTranslate()+S),y=t.minTranslate(),C=!0,a.allowMomentumBounce=!0):w=t.minTranslate(),i.loop&&i.centeredSlides&&(T=!0);else if(i.freeModeSticky){for(var M,z=0;z<o.length;z+=1)if(o[z]>-w){M=z;break}w=-(w=Math.abs(o[M]-w)<Math.abs(o[M-1]-w)||"next"===t.swipeDirection?o[M]:o[M-1])}if(T&&t.once("transitionEnd",(function(){t.loopFix()})),0!==t.velocity){if(g=r?Math.abs((-w-t.translate)/t.velocity):Math.abs((w-t.translate)/t.velocity),i.freeModeSticky){var P=Math.abs((r?-w:w)-t.translate),k=t.slidesSizesGrid[t.activeIndex];g=P<k?i.speed:P<2*k?1.5*i.speed:2.5*i.speed}}else if(i.freeModeSticky)return void t.slideToClosest();i.freeModeMomentumBounce&&C?(t.updateProgress(y),t.setTransition(g),t.setTranslate(w),t.transitionStart(!0,t.swipeDirection),t.animating=!0,n.transitionEnd((function(){t&&!t.destroyed&&a.allowMomentumBounce&&(t.emit("momentumBounce"),t.setTransition(i.speed),setTimeout((function(){t.setTranslate(y),n.transitionEnd((function(){t&&!t.destroyed&&t.transitionEnd()}))}),0))}))):t.velocity?(t.updateProgress(w),t.setTransition(g),t.setTranslate(w),t.transitionStart(!0,t.swipeDirection),t.animating||(t.animating=!0,n.transitionEnd((function(){t&&!t.destroyed&&t.transitionEnd()})))):(t.emit("_freeModeNoMomentumRelease"),t.updateProgress(w)),t.updateActiveIndex(),t.updateSlidesClasses()}else{if(i.freeModeSticky)return void t.slideToClosest();i.freeMode&&t.emit("_freeModeNoMomentumRelease")}(!i.freeModeMomentum||c>=i.longSwipesMs)&&(t.updateProgress(),t.updateActiveIndex(),t.updateSlidesClasses())}else{for(var $=0,L=t.slidesSizesGrid[0],I=0;I<l.length;I+=I<i.slidesPerGroupSkip?1:i.slidesPerGroup){var O=I<i.slidesPerGroupSkip-1?1:i.slidesPerGroup;void 0!==l[I+O]?p>=l[I]&&p<l[I+O]&&($=I,L=l[I+O]-l[I]):p>=l[I]&&($=I,L=l[l.length-1]-l[l.length-2])}var A=(p-l[$])/L,D=$<i.slidesPerGroupSkip-1?1:i.slidesPerGroup;if(c>i.longSwipesMs){if(!i.longSwipes)return void t.slideTo(t.activeIndex);"next"===t.swipeDirection&&(A>=i.longSwipesRatio?t.slideTo($+D):t.slideTo($)),"prev"===t.swipeDirection&&(A>1-i.longSwipesRatio?t.slideTo($+D):t.slideTo($))}else{if(!i.shortSwipes)return void t.slideTo(t.activeIndex);t.navigation&&(d.target===t.navigation.nextEl||d.target===t.navigation.prevEl)?d.target===t.navigation.nextEl?t.slideTo($+D):t.slideTo($):("next"===t.swipeDirection&&t.slideTo($+D),"prev"===t.swipeDirection&&t.slideTo($))}}}}function H(){var e=this,t=e.params,a=e.el;if(!a||0!==a.offsetWidth){t.breakpoints&&e.setBreakpoint();var i=e.allowSlideNext,s=e.allowSlidePrev,r=e.snapGrid;e.allowSlideNext=!0,e.allowSlidePrev=!0,e.updateSize(),e.updateSlides(),e.updateSlidesClasses(),("auto"===t.slidesPerView||t.slidesPerView>1)&&e.isEnd&&!e.isBeginning&&!e.params.centeredSlides?e.slideTo(e.slides.length-1,0,!1,!0):e.slideTo(e.activeIndex,0,!1,!0),e.autoplay&&e.autoplay.running&&e.autoplay.paused&&e.autoplay.run(),e.allowSlidePrev=s,e.allowSlideNext=i,e.params.watchOverflow&&r!==e.snapGrid&&e.checkOverflow()}}function R(e){var t=this;t.enabled&&(t.allowClick||(t.params.preventClicks&&e.preventDefault(),t.params.preventClicksPropagation&&t.animating&&(e.stopPropagation(),e.stopImmediatePropagation())))}function X(){var e=this,t=e.wrapperEl,a=e.rtlTranslate;if(e.enabled){e.previousTranslate=e.translate,e.isHorizontal()?e.translate=a?t.scrollWidth-t.offsetWidth-t.scrollLeft:-t.scrollLeft:e.translate=-t.scrollTop,-0===e.translate&&(e.translate=0),e.updateActiveIndex(),e.updateSlidesClasses();var i=e.maxTranslate()-e.minTranslate();(0===i?0:(e.translate-e.minTranslate())/i)!==e.progress&&e.updateProgress(a?-e.translate:e.translate),e.emit("setTranslate",e.translate,!1)}}var Y=!1;function V(){}var W={init:!0,direction:"horizontal",touchEventsTarget:"container",initialSlide:0,speed:300,cssMode:!1,updateOnWindowResize:!0,resizeObserver:!1,nested:!1,createElements:!1,enabled:!0,focusableElements:"input, select, option, textarea, button, video, label",width:null,height:null,preventInteractionOnTransition:!1,userAgent:null,url:null,edgeSwipeDetection:!1,edgeSwipeThreshold:20,freeMode:!1,freeModeMomentum:!0,freeModeMomentumRatio:1,freeModeMomentumBounce:!0,freeModeMomentumBounceRatio:1,freeModeMomentumVelocityRatio:1,freeModeSticky:!1,freeModeMinimumVelocity:.02,autoHeight:!1,setWrapperSize:!1,virtualTranslate:!1,effect:"slide",breakpoints:void 0,breakpointsBase:"window",spaceBetween:0,slidesPerView:1,slidesPerColumn:1,slidesPerColumnFill:"column",slidesPerGroup:1,slidesPerGroupSkip:0,centeredSlides:!1,centeredSlidesBounds:!1,slidesOffsetBefore:0,slidesOffsetAfter:0,normalizeSlideIndex:!0,centerInsufficientSlides:!1,watchOverflow:!1,roundLengths:!1,touchRatio:1,touchAngle:45,simulateTouch:!0,shortSwipes:!0,longSwipes:!0,longSwipesRatio:.5,longSwipesMs:300,followFinger:!0,allowTouchMove:!0,threshold:0,touchMoveStopPropagation:!1,touchStartPreventDefault:!0,touchStartForcePreventDefault:!1,touchReleaseOnEdges:!1,uniqueNavElements:!0,resistance:!0,resistanceRatio:.85,watchSlidesProgress:!1,watchSlidesVisibility:!1,grabCursor:!1,preventClicks:!0,preventClicksPropagation:!0,slideToClickedSlide:!1,preloadImages:!0,updateOnImagesReady:!0,loop:!1,loopAdditionalSlides:0,loopedSlides:null,loopFillGroupWithBlank:!1,loopPreventsSlide:!0,allowSlidePrev:!0,allowSlideNext:!0,swipeHandler:null,noSwiping:!0,noSwipingClass:"swiper-no-swiping",noSwipingSelector:null,passiveListeners:!0,containerModifierClass:"swiper-container-",slideClass:"swiper-slide",slideBlankClass:"swiper-slide-invisible-blank",slideActiveClass:"swiper-slide-active",slideDuplicateActiveClass:"swiper-slide-duplicate-active",slideVisibleClass:"swiper-slide-visible",slideDuplicateClass:"swiper-slide-duplicate",slideNextClass:"swiper-slide-next",slideDuplicateNextClass:"swiper-slide-duplicate-next",slidePrevClass:"swiper-slide-prev",slideDuplicatePrevClass:"swiper-slide-duplicate-prev",wrapperClass:"swiper-wrapper",runCallbacksOnInit:!0,_emitClasses:!1},F={modular:{useParams:function(e){var t=this;t.modules&&Object.keys(t.modules).forEach((function(a){var i=t.modules[a];i.params&&M(e,i.params)}))},useModules:function(e){void 0===e&&(e={});var t=this;t.modules&&Object.keys(t.modules).forEach((function(a){var i=t.modules[a],s=e[a]||{};i.on&&t.on&&Object.keys(i.on).forEach((function(e){t.on(e,i.on[e])})),i.create&&i.create.bind(t)(s)}))}},eventsEmitter:{on:function(e,t,a){var i=this;if("function"!=typeof t)return i;var s=a?"unshift":"push";return e.split(" ").forEach((function(e){i.eventsListeners[e]||(i.eventsListeners[e]=[]),i.eventsListeners[e][s](t)})),i},once:function(e,t,a){var i=this;if("function"!=typeof t)return i;function s(){i.off(e,s),s.__emitterProxy&&delete s.__emitterProxy;for(var a=arguments.length,r=new Array(a),n=0;n<a;n++)r[n]=arguments[n];t.apply(i,r)}return s.__emitterProxy=t,i.on(e,s,a)},onAny:function(e,t){var a=this;if("function"!=typeof e)return a;var i=t?"unshift":"push";return a.eventsAnyListeners.indexOf(e)<0&&a.eventsAnyListeners[i](e),a},offAny:function(e){var t=this;if(!t.eventsAnyListeners)return t;var a=t.eventsAnyListeners.indexOf(e);return a>=0&&t.eventsAnyListeners.splice(a,1),t},off:function(e,t){var a=this;return a.eventsListeners?(e.split(" ").forEach((function(e){void 0===t?a.eventsListeners[e]=[]:a.eventsListeners[e]&&a.eventsListeners[e].forEach((function(i,s){(i===t||i.__emitterProxy&&i.__emitterProxy===t)&&a.eventsListeners[e].splice(s,1)}))})),a):a},emit:function(){var e,t,a,i=this;if(!i.eventsListeners)return i;for(var s=arguments.length,r=new Array(s),n=0;n<s;n++)r[n]=arguments[n];"string"==typeof r[0]||Array.isArray(r[0])?(e=r[0],t=r.slice(1,r.length),a=i):(e=r[0].events,t=r[0].data,a=r[0].context||i),t.unshift(a);var l=Array.isArray(e)?e:e.split(" ");return l.forEach((function(e){i.eventsAnyListeners&&i.eventsAnyListeners.length&&i.eventsAnyListeners.forEach((function(i){i.apply(a,[e].concat(t))})),i.eventsListeners&&i.eventsListeners[e]&&i.eventsListeners[e].forEach((function(e){e.apply(a,t)}))})),i}},update:{updateSize:function(){var e,t,a=this,i=a.$el;e=void 0!==a.params.width&&null!==a.params.width?a.params.width:i[0].clientWidth,t=void 0!==a.params.height&&null!==a.params.height?a.params.height:i[0].clientHeight,0===e&&a.isHorizontal()||0===t&&a.isVertical()||(e=e-parseInt(i.css("padding-left")||0,10)-parseInt(i.css("padding-right")||0,10),t=t-parseInt(i.css("padding-top")||0,10)-parseInt(i.css("padding-bottom")||0,10),Number.isNaN(e)&&(e=0),Number.isNaN(t)&&(t=0),M(a,{width:e,height:t,size:a.isHorizontal()?e:t}))},updateSlides:function(){var e=this;function t(t){return e.isHorizontal()?t:{width:"height","margin-top":"margin-left","margin-bottom ":"margin-right","margin-left":"margin-top","margin-right":"margin-bottom","padding-left":"padding-top","padding-right":"padding-bottom",marginRight:"marginBottom"}[t]}function a(e,a){return parseFloat(e.getPropertyValue(t(a))||0)}var i=e.params,s=e.$wrapperEl,r=e.size,n=e.rtlTranslate,l=e.wrongRTL,o=e.virtual&&i.virtual.enabled,d=o?e.virtual.slides.length:e.slides.length,p=s.children("."+e.params.slideClass),u=o?e.virtual.slides.length:p.length,c=[],h=[],v=[],f=i.slidesOffsetBefore;"function"==typeof f&&(f=i.slidesOffsetBefore.call(e));var m=i.slidesOffsetAfter;"function"==typeof m&&(m=i.slidesOffsetAfter.call(e));var g=e.snapGrid.length,b=e.slidesGrid.length,w=i.spaceBetween,y=-f,E=0,x=0;if(void 0!==r){var T,C;"string"==typeof w&&w.indexOf("%")>=0&&(w=parseFloat(w.replace("%",""))/100*r),e.virtualSize=-w,n?p.css({marginLeft:"",marginBottom:"",marginTop:""}):p.css({marginRight:"",marginBottom:"",marginTop:""}),i.slidesPerColumn>1&&(T=Math.floor(u/i.slidesPerColumn)===u/e.params.slidesPerColumn?u:Math.ceil(u/i.slidesPerColumn)*i.slidesPerColumn,"auto"!==i.slidesPerView&&"row"===i.slidesPerColumnFill&&(T=Math.max(T,i.slidesPerView*i.slidesPerColumn)));for(var S,z,P,k=i.slidesPerColumn,$=T/k,L=Math.floor(u/i.slidesPerColumn),I=0;I<u;I+=1){C=0;var O=p.eq(I);if(i.slidesPerColumn>1){var A=void 0,D=void 0,N=void 0;if("row"===i.slidesPerColumnFill&&i.slidesPerGroup>1){var G=Math.floor(I/(i.slidesPerGroup*i.slidesPerColumn)),B=I-i.slidesPerColumn*i.slidesPerGroup*G,H=0===G?i.slidesPerGroup:Math.min(Math.ceil((u-G*k*i.slidesPerGroup)/k),i.slidesPerGroup);A=(D=B-(N=Math.floor(B/H))*H+G*i.slidesPerGroup)+N*T/k,O.css({"-webkit-box-ordinal-group":A,"-moz-box-ordinal-group":A,"-ms-flex-order":A,"-webkit-order":A,order:A})}else"column"===i.slidesPerColumnFill?(N=I-(D=Math.floor(I/k))*k,(D>L||D===L&&N===k-1)&&(N+=1)>=k&&(N=0,D+=1)):D=I-(N=Math.floor(I/$))*$;O.css(t("margin-top"),0!==N?i.spaceBetween&&i.spaceBetween+"px":"")}if("none"!==O.css("display")){if("auto"===i.slidesPerView){var R=getComputedStyle(O[0]),X=O[0].style.transform,Y=O[0].style.webkitTransform;if(X&&(O[0].style.transform="none"),Y&&(O[0].style.webkitTransform="none"),i.roundLengths)C=e.isHorizontal()?O.outerWidth(!0):O.outerHeight(!0);else{var V=a(R,"width"),W=a(R,"padding-left"),F=a(R,"padding-right"),_=a(R,"margin-left"),q=a(R,"margin-right"),j=R.getPropertyValue("box-sizing");if(j&&"border-box"===j)C=V+_+q;else{var U=O[0],K=U.clientWidth;C=V+W+F+_+q+(U.offsetWidth-K)}}X&&(O[0].style.transform=X),Y&&(O[0].style.webkitTransform=Y),i.roundLengths&&(C=Math.floor(C))}else C=(r-(i.slidesPerView-1)*w)/i.slidesPerView,i.roundLengths&&(C=Math.floor(C)),p[I]&&(p[I].style[t("width")]=C+"px");p[I]&&(p[I].swiperSlideSize=C),v.push(C),i.centeredSlides?(y=y+C/2+E/2+w,0===E&&0!==I&&(y=y-r/2-w),0===I&&(y=y-r/2-w),Math.abs(y)<.001&&(y=0),i.roundLengths&&(y=Math.floor(y)),x%i.slidesPerGroup==0&&c.push(y),h.push(y)):(i.roundLengths&&(y=Math.floor(y)),(x-Math.min(e.params.slidesPerGroupSkip,x))%e.params.slidesPerGroup==0&&c.push(y),h.push(y),y=y+C+w),e.virtualSize+=C+w,E=C,x+=1}}if(e.virtualSize=Math.max(e.virtualSize,r)+m,n&&l&&("slide"===i.effect||"coverflow"===i.effect)&&s.css({width:e.virtualSize+i.spaceBetween+"px"}),i.setWrapperSize)s.css(((z={})[t("width")]=e.virtualSize+i.spaceBetween+"px",z));if(i.slidesPerColumn>1)if(e.virtualSize=(C+i.spaceBetween)*T,e.virtualSize=Math.ceil(e.virtualSize/i.slidesPerColumn)-i.spaceBetween,s.css(((P={})[t("width")]=e.virtualSize+i.spaceBetween+"px",P)),i.centeredSlides){S=[];for(var Z=0;Z<c.length;Z+=1){var J=c[Z];i.roundLengths&&(J=Math.floor(J)),c[Z]<e.virtualSize+c[0]&&S.push(J)}c=S}if(!i.centeredSlides){S=[];for(var Q=0;Q<c.length;Q+=1){var ee=c[Q];i.roundLengths&&(ee=Math.floor(ee)),c[Q]<=e.virtualSize-r&&S.push(ee)}c=S,Math.floor(e.virtualSize-r)-Math.floor(c[c.length-1])>1&&c.push(e.virtualSize-r)}if(0===c.length&&(c=[0]),0!==i.spaceBetween){var te,ae=e.isHorizontal()&&n?"marginLeft":t("marginRight");p.filter((function(e,t){return!i.cssMode||t!==p.length-1})).css(((te={})[ae]=w+"px",te))}if(i.centeredSlides&&i.centeredSlidesBounds){var ie=0;v.forEach((function(e){ie+=e+(i.spaceBetween?i.spaceBetween:0)}));var se=(ie-=i.spaceBetween)-r;c=c.map((function(e){return e<0?-f:e>se?se+m:e}))}if(i.centerInsufficientSlides){var re=0;if(v.forEach((function(e){re+=e+(i.spaceBetween?i.spaceBetween:0)})),(re-=i.spaceBetween)<r){var ne=(r-re)/2;c.forEach((function(e,t){c[t]=e-ne})),h.forEach((function(e,t){h[t]=e+ne}))}}M(e,{slides:p,snapGrid:c,slidesGrid:h,slidesSizesGrid:v}),u!==d&&e.emit("slidesLengthChange"),c.length!==g&&(e.params.watchOverflow&&e.checkOverflow(),e.emit("snapGridLengthChange")),h.length!==b&&e.emit("slidesGridLengthChange"),(i.watchSlidesProgress||i.watchSlidesVisibility)&&e.updateSlidesOffset()}},updateAutoHeight:function(e){var t,a=this,i=[],s=a.virtual&&a.params.virtual.enabled,r=0;"number"==typeof e?a.setTransition(e):!0===e&&a.setTransition(a.params.speed);var n=function(e){return s?a.slides.filter((function(t){return parseInt(t.getAttribute("data-swiper-slide-index"),10)===e}))[0]:a.slides.eq(e)[0]};if("auto"!==a.params.slidesPerView&&a.params.slidesPerView>1)if(a.params.centeredSlides)a.visibleSlides.each((function(e){i.push(e)}));else for(t=0;t<Math.ceil(a.params.slidesPerView);t+=1){var l=a.activeIndex+t;if(l>a.slides.length&&!s)break;i.push(n(l))}else i.push(n(a.activeIndex));for(t=0;t<i.length;t+=1)if(void 0!==i[t]){var o=i[t].offsetHeight;r=o>r?o:r}r&&a.$wrapperEl.css("height",r+"px")},updateSlidesOffset:function(){for(var e=this.slides,t=0;t<e.length;t+=1)e[t].swiperSlideOffset=this.isHorizontal()?e[t].offsetLeft:e[t].offsetTop},updateSlidesProgress:function(e){void 0===e&&(e=this&&this.translate||0);var t=this,a=t.params,i=t.slides,s=t.rtlTranslate;if(0!==i.length){void 0===i[0].swiperSlideOffset&&t.updateSlidesOffset();var r=-e;s&&(r=e),i.removeClass(a.slideVisibleClass),t.visibleSlidesIndexes=[],t.visibleSlides=[];for(var n=0;n<i.length;n+=1){var l=i[n],o=(r+(a.centeredSlides?t.minTranslate():0)-l.swiperSlideOffset)/(l.swiperSlideSize+a.spaceBetween);if(a.watchSlidesVisibility||a.centeredSlides&&a.autoHeight){var d=-(r-l.swiperSlideOffset),p=d+t.slidesSizesGrid[n];(d>=0&&d<t.size-1||p>1&&p<=t.size||d<=0&&p>=t.size)&&(t.visibleSlides.push(l),t.visibleSlidesIndexes.push(n),i.eq(n).addClass(a.slideVisibleClass))}l.progress=s?-o:o}t.visibleSlides=m(t.visibleSlides)}},updateProgress:function(e){var t=this;if(void 0===e){var a=t.rtlTranslate?-1:1;e=t&&t.translate&&t.translate*a||0}var i=t.params,s=t.maxTranslate()-t.minTranslate(),r=t.progress,n=t.isBeginning,l=t.isEnd,o=n,d=l;0===s?(r=0,n=!0,l=!0):(n=(r=(e-t.minTranslate())/s)<=0,l=r>=1),M(t,{progress:r,isBeginning:n,isEnd:l}),(i.watchSlidesProgress||i.watchSlidesVisibility||i.centeredSlides&&i.autoHeight)&&t.updateSlidesProgress(e),n&&!o&&t.emit("reachBeginning toEdge"),l&&!d&&t.emit("reachEnd toEdge"),(o&&!n||d&&!l)&&t.emit("fromEdge"),t.emit("progress",r)},updateSlidesClasses:function(){var e,t=this,a=t.slides,i=t.params,s=t.$wrapperEl,r=t.activeIndex,n=t.realIndex,l=t.virtual&&i.virtual.enabled;a.removeClass(i.slideActiveClass+" "+i.slideNextClass+" "+i.slidePrevClass+" "+i.slideDuplicateActiveClass+" "+i.slideDuplicateNextClass+" "+i.slideDuplicatePrevClass),(e=l?t.$wrapperEl.find("."+i.slideClass+'[data-swiper-slide-index="'+r+'"]'):a.eq(r)).addClass(i.slideActiveClass),i.loop&&(e.hasClass(i.slideDuplicateClass)?s.children("."+i.slideClass+":not(."+i.slideDuplicateClass+')[data-swiper-slide-index="'+n+'"]').addClass(i.slideDuplicateActiveClass):s.children("."+i.slideClass+"."+i.slideDuplicateClass+'[data-swiper-slide-index="'+n+'"]').addClass(i.slideDuplicateActiveClass));var o=e.nextAll("."+i.slideClass).eq(0).addClass(i.slideNextClass);i.loop&&0===o.length&&(o=a.eq(0)).addClass(i.slideNextClass);var d=e.prevAll("."+i.slideClass).eq(0).addClass(i.slidePrevClass);i.loop&&0===d.length&&(d=a.eq(-1)).addClass(i.slidePrevClass),i.loop&&(o.hasClass(i.slideDuplicateClass)?s.children("."+i.slideClass+":not(."+i.slideDuplicateClass+')[data-swiper-slide-index="'+o.attr("data-swiper-slide-index")+'"]').addClass(i.slideDuplicateNextClass):s.children("."+i.slideClass+"."+i.slideDuplicateClass+'[data-swiper-slide-index="'+o.attr("data-swiper-slide-index")+'"]').addClass(i.slideDuplicateNextClass),d.hasClass(i.slideDuplicateClass)?s.children("."+i.slideClass+":not(."+i.slideDuplicateClass+')[data-swiper-slide-index="'+d.attr("data-swiper-slide-index")+'"]').addClass(i.slideDuplicatePrevClass):s.children("."+i.slideClass+"."+i.slideDuplicateClass+'[data-swiper-slide-index="'+d.attr("data-swiper-slide-index")+'"]').addClass(i.slideDuplicatePrevClass)),t.emitSlidesClasses()},updateActiveIndex:function(e){var t,a=this,i=a.rtlTranslate?a.translate:-a.translate,s=a.slidesGrid,r=a.snapGrid,n=a.params,l=a.activeIndex,o=a.realIndex,d=a.snapIndex,p=e;if(void 0===p){for(var u=0;u<s.length;u+=1)void 0!==s[u+1]?i>=s[u]&&i<s[u+1]-(s[u+1]-s[u])/2?p=u:i>=s[u]&&i<s[u+1]&&(p=u+1):i>=s[u]&&(p=u);n.normalizeSlideIndex&&(p<0||void 0===p)&&(p=0)}if(r.indexOf(i)>=0)t=r.indexOf(i);else{var c=Math.min(n.slidesPerGroupSkip,p);t=c+Math.floor((p-c)/n.slidesPerGroup)}if(t>=r.length&&(t=r.length-1),p!==l){var h=parseInt(a.slides.eq(p).attr("data-swiper-slide-index")||p,10);M(a,{snapIndex:t,realIndex:h,previousIndex:l,activeIndex:p}),a.emit("activeIndexChange"),a.emit("snapIndexChange"),o!==h&&a.emit("realIndexChange"),(a.initialized||a.params.runCallbacksOnInit)&&a.emit("slideChange")}else t!==d&&(a.snapIndex=t,a.emit("snapIndexChange"))},updateClickedSlide:function(e){var t,a=this,i=a.params,s=m(e.target).closest("."+i.slideClass)[0],r=!1;if(s)for(var n=0;n<a.slides.length;n+=1)if(a.slides[n]===s){r=!0,t=n;break}if(!s||!r)return a.clickedSlide=void 0,void(a.clickedIndex=void 0);a.clickedSlide=s,a.virtual&&a.params.virtual.enabled?a.clickedIndex=parseInt(m(s).attr("data-swiper-slide-index"),10):a.clickedIndex=t,i.slideToClickedSlide&&void 0!==a.clickedIndex&&a.clickedIndex!==a.activeIndex&&a.slideToClickedSlide()}},translate:{getTranslate:function(e){void 0===e&&(e=this.isHorizontal()?"x":"y");var t=this,a=t.params,i=t.rtlTranslate,s=t.translate,r=t.$wrapperEl;if(a.virtualTranslate)return i?-s:s;if(a.cssMode)return s;var n=T(r[0],e);return i&&(n=-n),n||0},setTranslate:function(e,t){var a=this,i=a.rtlTranslate,s=a.params,r=a.$wrapperEl,n=a.wrapperEl,l=a.progress,o=0,d=0;a.isHorizontal()?o=i?-e:e:d=e,s.roundLengths&&(o=Math.floor(o),d=Math.floor(d)),s.cssMode?n[a.isHorizontal()?"scrollLeft":"scrollTop"]=a.isHorizontal()?-o:-d:s.virtualTranslate||r.transform("translate3d("+o+"px, "+d+"px, 0px)"),a.previousTranslate=a.translate,a.translate=a.isHorizontal()?o:d;var p=a.maxTranslate()-a.minTranslate();(0===p?0:(e-a.minTranslate())/p)!==l&&a.updateProgress(e),a.emit("setTranslate",a.translate,t)},minTranslate:function(){return-this.snapGrid[0]},maxTranslate:function(){return-this.snapGrid[this.snapGrid.length-1]},translateTo:function(e,t,a,i,s){void 0===e&&(e=0),void 0===t&&(t=this.params.speed),void 0===a&&(a=!0),void 0===i&&(i=!0);var r=this,n=r.params,l=r.wrapperEl;if(r.animating&&n.preventInteractionOnTransition)return!1;var o,d=r.minTranslate(),p=r.maxTranslate();if(o=i&&e>d?d:i&&e<p?p:e,r.updateProgress(o),n.cssMode){var u,c=r.isHorizontal();if(0===t)l[c?"scrollLeft":"scrollTop"]=-o;else if(l.scrollTo)l.scrollTo(((u={})[c?"left":"top"]=-o,u.behavior="smooth",u));else l[c?"scrollLeft":"scrollTop"]=-o;return!0}return 0===t?(r.setTransition(0),r.setTranslate(o),a&&(r.emit("beforeTransitionStart",t,s),r.emit("transitionEnd"))):(r.setTransition(t),r.setTranslate(o),a&&(r.emit("beforeTransitionStart",t,s),r.emit("transitionStart")),r.animating||(r.animating=!0,r.onTranslateToWrapperTransitionEnd||(r.onTranslateToWrapperTransitionEnd=function(e){r&&!r.destroyed&&e.target===this&&(r.$wrapperEl[0].removeEventListener("transitionend",r.onTranslateToWrapperTransitionEnd),r.$wrapperEl[0].removeEventListener("webkitTransitionEnd",r.onTranslateToWrapperTransitionEnd),r.onTranslateToWrapperTransitionEnd=null,delete r.onTranslateToWrapperTransitionEnd,a&&r.emit("transitionEnd"))}),r.$wrapperEl[0].addEventListener("transitionend",r.onTranslateToWrapperTransitionEnd),r.$wrapperEl[0].addEventListener("webkitTransitionEnd",r.onTranslateToWrapperTransitionEnd))),!0}},transition:{setTransition:function(e,t){var a=this;a.params.cssMode||a.$wrapperEl.transition(e),a.emit("setTransition",e,t)},transitionStart:function(e,t){void 0===e&&(e=!0);var a=this,i=a.activeIndex,s=a.params,r=a.previousIndex;if(!s.cssMode){s.autoHeight&&a.updateAutoHeight();var n=t;if(n||(n=i>r?"next":i<r?"prev":"reset"),a.emit("transitionStart"),e&&i!==r){if("reset"===n)return void a.emit("slideResetTransitionStart");a.emit("slideChangeTransitionStart"),"next"===n?a.emit("slideNextTransitionStart"):a.emit("slidePrevTransitionStart")}}},transitionEnd:function(e,t){void 0===e&&(e=!0);var a=this,i=a.activeIndex,s=a.previousIndex,r=a.params;if(a.animating=!1,!r.cssMode){a.setTransition(0);var n=t;if(n||(n=i>s?"next":i<s?"prev":"reset"),a.emit("transitionEnd"),e&&i!==s){if("reset"===n)return void a.emit("slideResetTransitionEnd");a.emit("slideChangeTransitionEnd"),"next"===n?a.emit("slideNextTransitionEnd"):a.emit("slidePrevTransitionEnd")}}}},slide:{slideTo:function(e,t,a,i,s){if(void 0===e&&(e=0),void 0===t&&(t=this.params.speed),void 0===a&&(a=!0),"number"!=typeof e&&"string"!=typeof e)throw new Error("The 'index' argument cannot have type other than 'number' or 'string'. ["+typeof e+"] given.");if("string"==typeof e){var r=parseInt(e,10);if(!isFinite(r))throw new Error("The passed-in 'index' (string) couldn't be converted to 'number'. ["+e+"] given.");e=r}var n=this,l=e;l<0&&(l=0);var o=n.params,d=n.snapGrid,p=n.slidesGrid,u=n.previousIndex,c=n.activeIndex,h=n.rtlTranslate,v=n.wrapperEl,f=n.enabled;if(n.animating&&o.preventInteractionOnTransition||!f&&!i&&!s)return!1;var m=Math.min(n.params.slidesPerGroupSkip,l),g=m+Math.floor((l-m)/n.params.slidesPerGroup);g>=d.length&&(g=d.length-1),(c||o.initialSlide||0)===(u||0)&&a&&n.emit("beforeSlideChangeStart");var b,w=-d[g];if(n.updateProgress(w),o.normalizeSlideIndex)for(var y=0;y<p.length;y+=1){var E=-Math.floor(100*w),x=Math.floor(100*p[y]),T=Math.floor(100*p[y+1]);void 0!==p[y+1]?E>=x&&E<T-(T-x)/2?l=y:E>=x&&E<T&&(l=y+1):E>=x&&(l=y)}if(n.initialized&&l!==c){if(!n.allowSlideNext&&w<n.translate&&w<n.minTranslate())return!1;if(!n.allowSlidePrev&&w>n.translate&&w>n.maxTranslate()&&(c||0)!==l)return!1}if(b=l>c?"next":l<c?"prev":"reset",h&&-w===n.translate||!h&&w===n.translate)return n.updateActiveIndex(l),o.autoHeight&&n.updateAutoHeight(),n.updateSlidesClasses(),"slide"!==o.effect&&n.setTranslate(w),"reset"!==b&&(n.transitionStart(a,b),n.transitionEnd(a,b)),!1;if(o.cssMode){var C,S=n.isHorizontal(),M=-w;if(h&&(M=v.scrollWidth-v.offsetWidth-M),0===t)v[S?"scrollLeft":"scrollTop"]=M;else if(v.scrollTo)v.scrollTo(((C={})[S?"left":"top"]=M,C.behavior="smooth",C));else v[S?"scrollLeft":"scrollTop"]=M;return!0}return 0===t?(n.setTransition(0),n.setTranslate(w),n.updateActiveIndex(l),n.updateSlidesClasses(),n.emit("beforeTransitionStart",t,i),n.transitionStart(a,b),n.transitionEnd(a,b)):(n.setTransition(t),n.setTranslate(w),n.updateActiveIndex(l),n.updateSlidesClasses(),n.emit("beforeTransitionStart",t,i),n.transitionStart(a,b),n.animating||(n.animating=!0,n.onSlideToWrapperTransitionEnd||(n.onSlideToWrapperTransitionEnd=function(e){n&&!n.destroyed&&e.target===this&&(n.$wrapperEl[0].removeEventListener("transitionend",n.onSlideToWrapperTransitionEnd),n.$wrapperEl[0].removeEventListener("webkitTransitionEnd",n.onSlideToWrapperTransitionEnd),n.onSlideToWrapperTransitionEnd=null,delete n.onSlideToWrapperTransitionEnd,n.transitionEnd(a,b))}),n.$wrapperEl[0].addEventListener("transitionend",n.onSlideToWrapperTransitionEnd),n.$wrapperEl[0].addEventListener("webkitTransitionEnd",n.onSlideToWrapperTransitionEnd))),!0},slideToLoop:function(e,t,a,i){void 0===e&&(e=0),void 0===t&&(t=this.params.speed),void 0===a&&(a=!0);var s=this,r=e;return s.params.loop&&(r+=s.loopedSlides),s.slideTo(r,t,a,i)},slideNext:function(e,t,a){void 0===e&&(e=this.params.speed),void 0===t&&(t=!0);var i=this,s=i.params,r=i.animating;if(!i.enabled)return i;var n=i.activeIndex<s.slidesPerGroupSkip?1:s.slidesPerGroup;if(s.loop){if(r&&s.loopPreventsSlide)return!1;i.loopFix(),i._clientLeft=i.$wrapperEl[0].clientLeft}return i.slideTo(i.activeIndex+n,e,t,a)},slidePrev:function(e,t,a){void 0===e&&(e=this.params.speed),void 0===t&&(t=!0);var i=this,s=i.params,r=i.animating,n=i.snapGrid,l=i.slidesGrid,o=i.rtlTranslate;if(!i.enabled)return i;if(s.loop){if(r&&s.loopPreventsSlide)return!1;i.loopFix(),i._clientLeft=i.$wrapperEl[0].clientLeft}function d(e){return e<0?-Math.floor(Math.abs(e)):Math.floor(e)}var p,u=d(o?i.translate:-i.translate),c=n.map((function(e){return d(e)})),h=n[c.indexOf(u)-1];return void 0===h&&s.cssMode&&n.forEach((function(e){!h&&u>=e&&(h=e)})),void 0!==h&&(p=l.indexOf(h))<0&&(p=i.activeIndex-1),i.slideTo(p,e,t,a)},slideReset:function(e,t,a){return void 0===e&&(e=this.params.speed),void 0===t&&(t=!0),this.slideTo(this.activeIndex,e,t,a)},slideToClosest:function(e,t,a,i){void 0===e&&(e=this.params.speed),void 0===t&&(t=!0),void 0===i&&(i=.5);var s=this,r=s.activeIndex,n=Math.min(s.params.slidesPerGroupSkip,r),l=n+Math.floor((r-n)/s.params.slidesPerGroup),o=s.rtlTranslate?s.translate:-s.translate;if(o>=s.snapGrid[l]){var d=s.snapGrid[l];o-d>(s.snapGrid[l+1]-d)*i&&(r+=s.params.slidesPerGroup)}else{var p=s.snapGrid[l-1];o-p<=(s.snapGrid[l]-p)*i&&(r-=s.params.slidesPerGroup)}return r=Math.max(r,0),r=Math.min(r,s.slidesGrid.length-1),s.slideTo(r,e,t,a)},slideToClickedSlide:function(){var e,t=this,a=t.params,i=t.$wrapperEl,s="auto"===a.slidesPerView?t.slidesPerViewDynamic():a.slidesPerView,r=t.clickedIndex;if(a.loop){if(t.animating)return;e=parseInt(m(t.clickedSlide).attr("data-swiper-slide-index"),10),a.centeredSlides?r<t.loopedSlides-s/2||r>t.slides.length-t.loopedSlides+s/2?(t.loopFix(),r=i.children("."+a.slideClass+'[data-swiper-slide-index="'+e+'"]:not(.'+a.slideDuplicateClass+")").eq(0).index(),E((function(){t.slideTo(r)}))):t.slideTo(r):r>t.slides.length-s?(t.loopFix(),r=i.children("."+a.slideClass+'[data-swiper-slide-index="'+e+'"]:not(.'+a.slideDuplicateClass+")").eq(0).index(),E((function(){t.slideTo(r)}))):t.slideTo(r)}else t.slideTo(r)}},loop:{loopCreate:function(){var e=this,t=r(),a=e.params,i=e.$wrapperEl;i.children("."+a.slideClass+"."+a.slideDuplicateClass).remove();var s=i.children("."+a.slideClass);if(a.loopFillGroupWithBlank){var n=a.slidesPerGroup-s.length%a.slidesPerGroup;if(n!==a.slidesPerGroup){for(var l=0;l<n;l+=1){var o=m(t.createElement("div")).addClass(a.slideClass+" "+a.slideBlankClass);i.append(o)}s=i.children("."+a.slideClass)}}"auto"!==a.slidesPerView||a.loopedSlides||(a.loopedSlides=s.length),e.loopedSlides=Math.ceil(parseFloat(a.loopedSlides||a.slidesPerView,10)),e.loopedSlides+=a.loopAdditionalSlides,e.loopedSlides>s.length&&(e.loopedSlides=s.length);var d=[],p=[];s.each((function(t,a){var i=m(t);a<e.loopedSlides&&p.push(t),a<s.length&&a>=s.length-e.loopedSlides&&d.push(t),i.attr("data-swiper-slide-index",a)}));for(var u=0;u<p.length;u+=1)i.append(m(p[u].cloneNode(!0)).addClass(a.slideDuplicateClass));for(var c=d.length-1;c>=0;c-=1)i.prepend(m(d[c].cloneNode(!0)).addClass(a.slideDuplicateClass))},loopFix:function(){var e=this;e.emit("beforeLoopFix");var t,a=e.activeIndex,i=e.slides,s=e.loopedSlides,r=e.allowSlidePrev,n=e.allowSlideNext,l=e.snapGrid,o=e.rtlTranslate;e.allowSlidePrev=!0,e.allowSlideNext=!0;var d=-l[a]-e.getTranslate();if(a<s)t=i.length-3*s+a,t+=s,e.slideTo(t,0,!1,!0)&&0!==d&&e.setTranslate((o?-e.translate:e.translate)-d);else if(a>=i.length-s){t=-i.length+a+s,t+=s,e.slideTo(t,0,!1,!0)&&0!==d&&e.setTranslate((o?-e.translate:e.translate)-d)}e.allowSlidePrev=r,e.allowSlideNext=n,e.emit("loopFix")},loopDestroy:function(){var e=this,t=e.$wrapperEl,a=e.params,i=e.slides;t.children("."+a.slideClass+"."+a.slideDuplicateClass+",."+a.slideClass+"."+a.slideBlankClass).remove(),i.removeAttr("data-swiper-slide-index")}},grabCursor:{setGrabCursor:function(e){var t=this;if(!(t.support.touch||!t.params.simulateTouch||t.params.watchOverflow&&t.isLocked||t.params.cssMode)){var a=t.el;a.style.cursor="move",a.style.cursor=e?"-webkit-grabbing":"-webkit-grab",a.style.cursor=e?"-moz-grabbin":"-moz-grab",a.style.cursor=e?"grabbing":"grab"}},unsetGrabCursor:function(){var e=this;e.support.touch||e.params.watchOverflow&&e.isLocked||e.params.cssMode||(e.el.style.cursor="")}},manipulation:{appendSlide:function(e){var t=this,a=t.$wrapperEl,i=t.params;if(i.loop&&t.loopDestroy(),"object"==typeof e&&"length"in e)for(var s=0;s<e.length;s+=1)e[s]&&a.append(e[s]);else a.append(e);i.loop&&t.loopCreate(),i.observer&&t.support.observer||t.update()},prependSlide:function(e){var t=this,a=t.params,i=t.$wrapperEl,s=t.activeIndex;a.loop&&t.loopDestroy();var r=s+1;if("object"==typeof e&&"length"in e){for(var n=0;n<e.length;n+=1)e[n]&&i.prepend(e[n]);r=s+e.length}else i.prepend(e);a.loop&&t.loopCreate(),a.observer&&t.support.observer||t.update(),t.slideTo(r,0,!1)},addSlide:function(e,t){var a=this,i=a.$wrapperEl,s=a.params,r=a.activeIndex;s.loop&&(r-=a.loopedSlides,a.loopDestroy(),a.slides=i.children("."+s.slideClass));var n=a.slides.length;if(e<=0)a.prependSlide(t);else if(e>=n)a.appendSlide(t);else{for(var l=r>e?r+1:r,o=[],d=n-1;d>=e;d-=1){var p=a.slides.eq(d);p.remove(),o.unshift(p)}if("object"==typeof t&&"length"in t){for(var u=0;u<t.length;u+=1)t[u]&&i.append(t[u]);l=r>e?r+t.length:r}else i.append(t);for(var c=0;c<o.length;c+=1)i.append(o[c]);s.loop&&a.loopCreate(),s.observer&&a.support.observer||a.update(),s.loop?a.slideTo(l+a.loopedSlides,0,!1):a.slideTo(l,0,!1)}},removeSlide:function(e){var t=this,a=t.params,i=t.$wrapperEl,s=t.activeIndex;a.loop&&(s-=t.loopedSlides,t.loopDestroy(),t.slides=i.children("."+a.slideClass));var r,n=s;if("object"==typeof e&&"length"in e){for(var l=0;l<e.length;l+=1)r=e[l],t.slides[r]&&t.slides.eq(r).remove(),r<n&&(n-=1);n=Math.max(n,0)}else r=e,t.slides[r]&&t.slides.eq(r).remove(),r<n&&(n-=1),n=Math.max(n,0);a.loop&&t.loopCreate(),a.observer&&t.support.observer||t.update(),a.loop?t.slideTo(n+t.loopedSlides,0,!1):t.slideTo(n,0,!1)},removeAllSlides:function(){for(var e=[],t=0;t<this.slides.length;t+=1)e.push(t);this.removeSlide(e)}},events:{attachEvents:function(){var e=this,t=r(),a=e.params,i=e.touchEvents,s=e.el,n=e.wrapperEl,l=e.device,o=e.support;e.onTouchStart=N.bind(e),e.onTouchMove=G.bind(e),e.onTouchEnd=B.bind(e),a.cssMode&&(e.onScroll=X.bind(e)),e.onClick=R.bind(e);var d=!!a.nested;if(!o.touch&&o.pointerEvents)s.addEventListener(i.start,e.onTouchStart,!1),t.addEventListener(i.move,e.onTouchMove,d),t.addEventListener(i.end,e.onTouchEnd,!1);else{if(o.touch){var p=!("touchstart"!==i.start||!o.passiveListener||!a.passiveListeners)&&{passive:!0,capture:!1};s.addEventListener(i.start,e.onTouchStart,p),s.addEventListener(i.move,e.onTouchMove,o.passiveListener?{passive:!1,capture:d}:d),s.addEventListener(i.end,e.onTouchEnd,p),i.cancel&&s.addEventListener(i.cancel,e.onTouchEnd,p),Y||(t.addEventListener("touchstart",V),Y=!0)}(a.simulateTouch&&!l.ios&&!l.android||a.simulateTouch&&!o.touch&&l.ios)&&(s.addEventListener("mousedown",e.onTouchStart,!1),t.addEventListener("mousemove",e.onTouchMove,d),t.addEventListener("mouseup",e.onTouchEnd,!1))}(a.preventClicks||a.preventClicksPropagation)&&s.addEventListener("click",e.onClick,!0),a.cssMode&&n.addEventListener("scroll",e.onScroll),a.updateOnWindowResize?e.on(l.ios||l.android?"resize orientationchange observerUpdate":"resize observerUpdate",H,!0):e.on("observerUpdate",H,!0)},detachEvents:function(){var e=this,t=r(),a=e.params,i=e.touchEvents,s=e.el,n=e.wrapperEl,l=e.device,o=e.support,d=!!a.nested;if(!o.touch&&o.pointerEvents)s.removeEventListener(i.start,e.onTouchStart,!1),t.removeEventListener(i.move,e.onTouchMove,d),t.removeEventListener(i.end,e.onTouchEnd,!1);else{if(o.touch){var p=!("onTouchStart"!==i.start||!o.passiveListener||!a.passiveListeners)&&{passive:!0,capture:!1};s.removeEventListener(i.start,e.onTouchStart,p),s.removeEventListener(i.move,e.onTouchMove,d),s.removeEventListener(i.end,e.onTouchEnd,p),i.cancel&&s.removeEventListener(i.cancel,e.onTouchEnd,p)}(a.simulateTouch&&!l.ios&&!l.android||a.simulateTouch&&!o.touch&&l.ios)&&(s.removeEventListener("mousedown",e.onTouchStart,!1),t.removeEventListener("mousemove",e.onTouchMove,d),t.removeEventListener("mouseup",e.onTouchEnd,!1))}(a.preventClicks||a.preventClicksPropagation)&&s.removeEventListener("click",e.onClick,!0),a.cssMode&&n.removeEventListener("scroll",e.onScroll),e.off(l.ios||l.android?"resize orientationchange observerUpdate":"resize observerUpdate",H)}},breakpoints:{setBreakpoint:function(){var e=this,t=e.activeIndex,a=e.initialized,i=e.loopedSlides,s=void 0===i?0:i,r=e.params,n=e.$el,l=r.breakpoints;if(l&&(!l||0!==Object.keys(l).length)){var o=e.getBreakpoint(l,e.params.breakpointsBase,e.el);if(o&&e.currentBreakpoint!==o){var d=o in l?l[o]:void 0;d&&["slidesPerView","spaceBetween","slidesPerGroup","slidesPerGroupSkip","slidesPerColumn"].forEach((function(e){var t=d[e];void 0!==t&&(d[e]="slidesPerView"!==e||"AUTO"!==t&&"auto"!==t?"slidesPerView"===e?parseFloat(t):parseInt(t,10):"auto")}));var p=d||e.originalParams,u=r.slidesPerColumn>1,c=p.slidesPerColumn>1,h=r.enabled;u&&!c?(n.removeClass(r.containerModifierClass+"multirow "+r.containerModifierClass+"multirow-column"),e.emitContainerClasses()):!u&&c&&(n.addClass(r.containerModifierClass+"multirow"),(p.slidesPerColumnFill&&"column"===p.slidesPerColumnFill||!p.slidesPerColumnFill&&"column"===r.slidesPerColumnFill)&&n.addClass(r.containerModifierClass+"multirow-column"),e.emitContainerClasses());var v=p.direction&&p.direction!==r.direction,f=r.loop&&(p.slidesPerView!==r.slidesPerView||v);v&&a&&e.changeDirection(),M(e.params,p);var m=e.params.enabled;M(e,{allowTouchMove:e.params.allowTouchMove,allowSlideNext:e.params.allowSlideNext,allowSlidePrev:e.params.allowSlidePrev}),h&&!m?e.disable():!h&&m&&e.enable(),e.currentBreakpoint=o,e.emit("_beforeBreakpoint",p),f&&a&&(e.loopDestroy(),e.loopCreate(),e.updateSlides(),e.slideTo(t-s+e.loopedSlides,0,!1)),e.emit("breakpoint",p)}}},getBreakpoint:function(e,t,a){if(void 0===t&&(t="window"),e&&("container"!==t||a)){var i=!1,s=l(),r="window"===t?s.innerHeight:a.clientHeight,n=Object.keys(e).map((function(e){if("string"==typeof e&&0===e.indexOf("@")){var t=parseFloat(e.substr(1));return{value:r*t,point:e}}return{value:e,point:e}}));n.sort((function(e,t){return parseInt(e.value,10)-parseInt(t.value,10)}));for(var o=0;o<n.length;o+=1){var d=n[o],p=d.point,u=d.value;"window"===t?s.matchMedia("(min-width: "+u+"px)").matches&&(i=p):u<=a.clientWidth&&(i=p)}return i||"max"}}},checkOverflow:{checkOverflow:function(){var e=this,t=e.params,a=e.isLocked,i=e.slides.length>0&&t.slidesOffsetBefore+t.spaceBetween*(e.slides.length-1)+e.slides[0].offsetWidth*e.slides.length;t.slidesOffsetBefore&&t.slidesOffsetAfter&&i?e.isLocked=i<=e.size:e.isLocked=1===e.snapGrid.length,e.allowSlideNext=!e.isLocked,e.allowSlidePrev=!e.isLocked,a!==e.isLocked&&e.emit(e.isLocked?"lock":"unlock"),a&&a!==e.isLocked&&(e.isEnd=!1,e.navigation&&e.navigation.update())}},classes:{addClasses:function(){var e,t,a,i=this,s=i.classNames,r=i.params,n=i.rtl,l=i.$el,o=i.device,d=i.support,p=(e=["initialized",r.direction,{"pointer-events":d.pointerEvents&&!d.touch},{"free-mode":r.freeMode},{autoheight:r.autoHeight},{rtl:n},{multirow:r.slidesPerColumn>1},{"multirow-column":r.slidesPerColumn>1&&"column"===r.slidesPerColumnFill},{android:o.android},{ios:o.ios},{"css-mode":r.cssMode}],t=r.containerModifierClass,a=[],e.forEach((function(e){"object"==typeof e?Object.keys(e).forEach((function(i){e[i]&&a.push(t+i)})):"string"==typeof e&&a.push(t+e)})),a);s.push.apply(s,p),l.addClass([].concat(s).join(" ")),i.emitContainerClasses()},removeClasses:function(){var e=this,t=e.$el,a=e.classNames;t.removeClass(a.join(" ")),e.emitContainerClasses()}},images:{loadImage:function(e,t,a,i,s,r){var n,o=l();function d(){r&&r()}m(e).parent("picture")[0]||e.complete&&s?d():t?((n=new o.Image).onload=d,n.onerror=d,i&&(n.sizes=i),a&&(n.srcset=a),t&&(n.src=t)):d()},preloadImages:function(){var e=this;function t(){null!=e&&e&&!e.destroyed&&(void 0!==e.imagesLoaded&&(e.imagesLoaded+=1),e.imagesLoaded===e.imagesToLoad.length&&(e.params.updateOnImagesReady&&e.update(),e.emit("imagesReady")))}e.imagesToLoad=e.$el.find("img");for(var a=0;a<e.imagesToLoad.length;a+=1){var i=e.imagesToLoad[a];e.loadImage(i,i.currentSrc||i.getAttribute("src"),i.srcset||i.getAttribute("srcset"),i.sizes||i.getAttribute("sizes"),!0,t)}}}},_={},q=function(){function t(){for(var e,a,i=arguments.length,s=new Array(i),r=0;r<i;r++)s[r]=arguments[r];if(1===s.length&&s[0].constructor&&"Object"===Object.prototype.toString.call(s[0]).slice(8,-1)?a=s[0]:(e=s[0],a=s[1]),a||(a={}),a=M({},a),e&&!a.el&&(a.el=e),a.el&&m(a.el).length>1){var n=[];return m(a.el).each((function(e){var i=M({},a,{el:e});n.push(new t(i))})),n}var l=this;l.__swiper__=!0,l.support=$(),l.device=L({userAgent:a.userAgent}),l.browser=I(),l.eventsListeners={},l.eventsAnyListeners=[],void 0===l.modules&&(l.modules={}),Object.keys(l.modules).forEach((function(e){var t=l.modules[e];if(t.params){var i=Object.keys(t.params)[0],s=t.params[i];if("object"!=typeof s||null===s)return;if(["navigation","pagination","scrollbar"].indexOf(i)>=0&&!0===a[i]&&(a[i]={auto:!0}),!(i in a)||!("enabled"in s))return;!0===a[i]&&(a[i]={enabled:!0}),"object"!=typeof a[i]||"enabled"in a[i]||(a[i].enabled=!0),a[i]||(a[i]={enabled:!1})}}));var o,d,p=M({},W);return l.useParams(p),l.params=M({},p,_,a),l.originalParams=M({},l.params),l.passedParams=M({},a),l.params&&l.params.on&&Object.keys(l.params.on).forEach((function(e){l.on(e,l.params.on[e])})),l.params&&l.params.onAny&&l.onAny(l.params.onAny),l.$=m,M(l,{enabled:l.params.enabled,el:e,classNames:[],slides:m(),slidesGrid:[],snapGrid:[],slidesSizesGrid:[],isHorizontal:function(){return"horizontal"===l.params.direction},isVertical:function(){return"vertical"===l.params.direction},activeIndex:0,realIndex:0,isBeginning:!0,isEnd:!1,translate:0,previousTranslate:0,progress:0,velocity:0,animating:!1,allowSlideNext:l.params.allowSlideNext,allowSlidePrev:l.params.allowSlidePrev,touchEvents:(o=["touchstart","touchmove","touchend","touchcancel"],d=["mousedown","mousemove","mouseup"],l.support.pointerEvents&&(d=["pointerdown","pointermove","pointerup"]),l.touchEventsTouch={start:o[0],move:o[1],end:o[2],cancel:o[3]},l.touchEventsDesktop={start:d[0],move:d[1],end:d[2]},l.support.touch||!l.params.simulateTouch?l.touchEventsTouch:l.touchEventsDesktop),touchEventsData:{isTouched:void 0,isMoved:void 0,allowTouchCallbacks:void 0,touchStartTime:void 0,isScrolling:void 0,currentTranslate:void 0,startTranslate:void 0,allowThresholdMove:void 0,focusableElements:l.params.focusableElements,lastClickTime:x(),clickTimeout:void 0,velocities:[],allowMomentumBounce:void 0,isTouchEvent:void 0,startMoving:void 0},allowClick:!0,allowTouchMove:l.params.allowTouchMove,touches:{startX:0,startY:0,currentX:0,currentY:0,diff:0},imagesToLoad:[],imagesLoaded:0}),l.useModules(),l.emit("_swiper"),l.params.init&&l.init(),l}var a,i,s,n=t.prototype;return n.enable=function(){var e=this;e.enabled||(e.enabled=!0,e.params.grabCursor&&e.setGrabCursor(),e.emit("enable"))},n.disable=function(){var e=this;e.enabled&&(e.enabled=!1,e.params.grabCursor&&e.unsetGrabCursor(),e.emit("disable"))},n.setProgress=function(e,t){var a=this;e=Math.min(Math.max(e,0),1);var i=a.minTranslate(),s=(a.maxTranslate()-i)*e+i;a.translateTo(s,void 0===t?0:t),a.updateActiveIndex(),a.updateSlidesClasses()},n.emitContainerClasses=function(){var e=this;if(e.params._emitClasses&&e.el){var t=e.el.className.split(" ").filter((function(t){return 0===t.indexOf("swiper-container")||0===t.indexOf(e.params.containerModifierClass)}));e.emit("_containerClasses",t.join(" "))}},n.getSlideClasses=function(e){var t=this;return e.className.split(" ").filter((function(e){return 0===e.indexOf("swiper-slide")||0===e.indexOf(t.params.slideClass)})).join(" ")},n.emitSlidesClasses=function(){var e=this;if(e.params._emitClasses&&e.el){var t=[];e.slides.each((function(a){var i=e.getSlideClasses(a);t.push({slideEl:a,classNames:i}),e.emit("_slideClass",a,i)})),e.emit("_slideClasses",t)}},n.slidesPerViewDynamic=function(){var e=this,t=e.params,a=e.slides,i=e.slidesGrid,s=e.size,r=e.activeIndex,n=1;if(t.centeredSlides){for(var l,o=a[r].swiperSlideSize,d=r+1;d<a.length;d+=1)a[d]&&!l&&(n+=1,(o+=a[d].swiperSlideSize)>s&&(l=!0));for(var p=r-1;p>=0;p-=1)a[p]&&!l&&(n+=1,(o+=a[p].swiperSlideSize)>s&&(l=!0))}else for(var u=r+1;u<a.length;u+=1)i[u]-i[r]<s&&(n+=1);return n},n.update=function(){var e=this;if(e&&!e.destroyed){var t=e.snapGrid,a=e.params;a.breakpoints&&e.setBreakpoint(),e.updateSize(),e.updateSlides(),e.updateProgress(),e.updateSlidesClasses(),e.params.freeMode?(i(),e.params.autoHeight&&e.updateAutoHeight()):(("auto"===e.params.slidesPerView||e.params.slidesPerView>1)&&e.isEnd&&!e.params.centeredSlides?e.slideTo(e.slides.length-1,0,!1,!0):e.slideTo(e.activeIndex,0,!1,!0))||i(),a.watchOverflow&&t!==e.snapGrid&&e.checkOverflow(),e.emit("update")}function i(){var t=e.rtlTranslate?-1*e.translate:e.translate,a=Math.min(Math.max(t,e.maxTranslate()),e.minTranslate());e.setTranslate(a),e.updateActiveIndex(),e.updateSlidesClasses()}},n.changeDirection=function(e,t){void 0===t&&(t=!0);var a=this,i=a.params.direction;return e||(e="horizontal"===i?"vertical":"horizontal"),e===i||"horizontal"!==e&&"vertical"!==e||(a.$el.removeClass(""+a.params.containerModifierClass+i).addClass(""+a.params.containerModifierClass+e),a.emitContainerClasses(),a.params.direction=e,a.slides.each((function(t){"vertical"===e?t.style.width="":t.style.height=""})),a.emit("changeDirection"),t&&a.update()),a},n.mount=function(e){var t=this;if(t.mounted)return!0;var a=m(e||t.params.el);if(!(e=a[0]))return!1;e.swiper=t;var i=function(){return"."+(t.params.wrapperClass||"").trim().split(" ").join(".")},s=function(){if(e&&e.shadowRoot&&e.shadowRoot.querySelector){var t=m(e.shadowRoot.querySelector(i()));return t.children=function(e){return a.children(e)},t}return a.children(i())}();if(0===s.length&&t.params.createElements){var n=r().createElement("div");s=m(n),n.className=t.params.wrapperClass,a.append(n),a.children("."+t.params.slideClass).each((function(e){s.append(e)}))}return M(t,{$el:a,el:e,$wrapperEl:s,wrapperEl:s[0],mounted:!0,rtl:"rtl"===e.dir.toLowerCase()||"rtl"===a.css("direction"),rtlTranslate:"horizontal"===t.params.direction&&("rtl"===e.dir.toLowerCase()||"rtl"===a.css("direction")),wrongRTL:"-webkit-box"===s.css("display")}),!0},n.init=function(e){var t=this;return t.initialized||!1===t.mount(e)||(t.emit("beforeInit"),t.params.breakpoints&&t.setBreakpoint(),t.addClasses(),t.params.loop&&t.loopCreate(),t.updateSize(),t.updateSlides(),t.params.watchOverflow&&t.checkOverflow(),t.params.grabCursor&&t.enabled&&t.setGrabCursor(),t.params.preloadImages&&t.preloadImages(),t.params.loop?t.slideTo(t.params.initialSlide+t.loopedSlides,0,t.params.runCallbacksOnInit,!1,!0):t.slideTo(t.params.initialSlide,0,t.params.runCallbacksOnInit,!1,!0),t.attachEvents(),t.initialized=!0,t.emit("init"),t.emit("afterInit")),t},n.destroy=function(e,t){void 0===e&&(e=!0),void 0===t&&(t=!0);var a,i=this,s=i.params,r=i.$el,n=i.$wrapperEl,l=i.slides;return void 0===i.params||i.destroyed||(i.emit("beforeDestroy"),i.initialized=!1,i.detachEvents(),s.loop&&i.loopDestroy(),t&&(i.removeClasses(),r.removeAttr("style"),n.removeAttr("style"),l&&l.length&&l.removeClass([s.slideVisibleClass,s.slideActiveClass,s.slideNextClass,s.slidePrevClass].join(" ")).removeAttr("style").removeAttr("data-swiper-slide-index")),i.emit("destroy"),Object.keys(i.eventsListeners).forEach((function(e){i.off(e)})),!1!==e&&(i.$el[0].swiper=null,a=i,Object.keys(a).forEach((function(e){try{a[e]=null}catch(e){}try{delete a[e]}catch(e){}}))),i.destroyed=!0),null},t.extendDefaults=function(e){M(_,e)},t.installModule=function(e){t.prototype.modules||(t.prototype.modules={});var a=e.name||Object.keys(t.prototype.modules).length+"_"+x();t.prototype.modules[a]=e},t.use=function(e){return Array.isArray(e)?(e.forEach((function(e){return t.installModule(e)})),t):(t.installModule(e),t)},a=t,s=[{key:"extendedDefaults",get:function(){return _}},{key:"defaults",get:function(){return W}}],(i=null)&&e(a.prototype,i),s&&e(a,s),t}();Object.keys(F).forEach((function(e){Object.keys(F[e]).forEach((function(t){q.prototype[t]=F[e][t]}))})),q.use([O,D]);var j={update:function(e){var t=this,a=t.params,i=a.slidesPerView,s=a.slidesPerGroup,r=a.centeredSlides,n=t.params.virtual,l=n.addSlidesBefore,o=n.addSlidesAfter,d=t.virtual,p=d.from,u=d.to,c=d.slides,h=d.slidesGrid,v=d.renderSlide,f=d.offset;t.updateActiveIndex();var m,g,b,w=t.activeIndex||0;m=t.rtlTranslate?"right":t.isHorizontal()?"left":"top",r?(g=Math.floor(i/2)+s+o,b=Math.floor(i/2)+s+l):(g=i+(s-1)+o,b=s+l);var y=Math.max((w||0)-b,0),E=Math.min((w||0)+g,c.length-1),x=(t.slidesGrid[y]||0)-(t.slidesGrid[0]||0);function T(){t.updateSlides(),t.updateProgress(),t.updateSlidesClasses(),t.lazy&&t.params.lazy.enabled&&t.lazy.load()}if(M(t.virtual,{from:y,to:E,offset:x,slidesGrid:t.slidesGrid}),p===y&&u===E&&!e)return t.slidesGrid!==h&&x!==f&&t.slides.css(m,x+"px"),void t.updateProgress();if(t.params.virtual.renderExternal)return t.params.virtual.renderExternal.call(t,{offset:x,from:y,to:E,slides:function(){for(var e=[],t=y;t<=E;t+=1)e.push(c[t]);return e}()}),void(t.params.virtual.renderExternalUpdate&&T());var C=[],S=[];if(e)t.$wrapperEl.find("."+t.params.slideClass).remove();else for(var z=p;z<=u;z+=1)(z<y||z>E)&&t.$wrapperEl.find("."+t.params.slideClass+'[data-swiper-slide-index="'+z+'"]').remove();for(var P=0;P<c.length;P+=1)P>=y&&P<=E&&(void 0===u||e?S.push(P):(P>u&&S.push(P),P<p&&C.push(P)));S.forEach((function(e){t.$wrapperEl.append(v(c[e],e))})),C.sort((function(e,t){return t-e})).forEach((function(e){t.$wrapperEl.prepend(v(c[e],e))})),t.$wrapperEl.children(".swiper-slide").css(m,x+"px"),T()},renderSlide:function(e,t){var a=this,i=a.params.virtual;if(i.cache&&a.virtual.cache[t])return a.virtual.cache[t];var s=i.renderSlide?m(i.renderSlide.call(a,e,t)):m('<div class="'+a.params.slideClass+'" data-swiper-slide-index="'+t+'">'+e+"</div>");return s.attr("data-swiper-slide-index")||s.attr("data-swiper-slide-index",t),i.cache&&(a.virtual.cache[t]=s),s},appendSlide:function(e){var t=this;if("object"==typeof e&&"length"in e)for(var a=0;a<e.length;a+=1)e[a]&&t.virtual.slides.push(e[a]);else t.virtual.slides.push(e);t.virtual.update(!0)},prependSlide:function(e){var t=this,a=t.activeIndex,i=a+1,s=1;if(Array.isArray(e)){for(var r=0;r<e.length;r+=1)e[r]&&t.virtual.slides.unshift(e[r]);i=a+e.length,s=e.length}else t.virtual.slides.unshift(e);if(t.params.virtual.cache){var n=t.virtual.cache,l={};Object.keys(n).forEach((function(e){var t=n[e],a=t.attr("data-swiper-slide-index");a&&t.attr("data-swiper-slide-index",parseInt(a,10)+1),l[parseInt(e,10)+s]=t})),t.virtual.cache=l}t.virtual.update(!0),t.slideTo(i,0)},removeSlide:function(e){var t=this;if(null!=e){var a=t.activeIndex;if(Array.isArray(e))for(var i=e.length-1;i>=0;i-=1)t.virtual.slides.splice(e[i],1),t.params.virtual.cache&&delete t.virtual.cache[e[i]],e[i]<a&&(a-=1),a=Math.max(a,0);else t.virtual.slides.splice(e,1),t.params.virtual.cache&&delete t.virtual.cache[e],e<a&&(a-=1),a=Math.max(a,0);t.virtual.update(!0),t.slideTo(a,0)}},removeAllSlides:function(){var e=this;e.virtual.slides=[],e.params.virtual.cache&&(e.virtual.cache={}),e.virtual.update(!0),e.slideTo(0,0)}},U={name:"virtual",params:{virtual:{enabled:!1,slides:[],cache:!0,renderSlide:null,renderExternal:null,renderExternalUpdate:!0,addSlidesBefore:0,addSlidesAfter:0}},create:function(){z(this,{virtual:t({},j,{slides:this.params.virtual.slides,cache:{}})})},on:{beforeInit:function(e){if(e.params.virtual.enabled){e.classNames.push(e.params.containerModifierClass+"virtual");var t={watchSlidesProgress:!0};M(e.params,t),M(e.originalParams,t),e.params.initialSlide||e.virtual.update()}},setTranslate:function(e){e.params.virtual.enabled&&e.virtual.update()}}},K={handle:function(e){var t=this;if(t.enabled){var a=l(),i=r(),s=t.rtlTranslate,n=e;n.originalEvent&&(n=n.originalEvent);var o=n.keyCode||n.charCode,d=t.params.keyboard.pageUpDown,p=d&&33===o,u=d&&34===o,c=37===o,h=39===o,v=38===o,f=40===o;if(!t.allowSlideNext&&(t.isHorizontal()&&h||t.isVertical()&&f||u))return!1;if(!t.allowSlidePrev&&(t.isHorizontal()&&c||t.isVertical()&&v||p))return!1;if(!(n.shiftKey||n.altKey||n.ctrlKey||n.metaKey||i.activeElement&&i.activeElement.nodeName&&("input"===i.activeElement.nodeName.toLowerCase()||"textarea"===i.activeElement.nodeName.toLowerCase()))){if(t.params.keyboard.onlyInViewport&&(p||u||c||h||v||f)){var m=!1;if(t.$el.parents("."+t.params.slideClass).length>0&&0===t.$el.parents("."+t.params.slideActiveClass).length)return;var g=t.$el,b=g[0].clientWidth,w=g[0].clientHeight,y=a.innerWidth,E=a.innerHeight,x=t.$el.offset();s&&(x.left-=t.$el[0].scrollLeft);for(var T=[[x.left,x.top],[x.left+b,x.top],[x.left,x.top+w],[x.left+b,x.top+w]],C=0;C<T.length;C+=1){var S=T[C];if(S[0]>=0&&S[0]<=y&&S[1]>=0&&S[1]<=E){if(0===S[0]&&0===S[1])continue;m=!0}}if(!m)return}t.isHorizontal()?((p||u||c||h)&&(n.preventDefault?n.preventDefault():n.returnValue=!1),((u||h)&&!s||(p||c)&&s)&&t.slideNext(),((p||c)&&!s||(u||h)&&s)&&t.slidePrev()):((p||u||v||f)&&(n.preventDefault?n.preventDefault():n.returnValue=!1),(u||f)&&t.slideNext(),(p||v)&&t.slidePrev()),t.emit("keyPress",o)}}},enable:function(){var e=this,t=r();e.keyboard.enabled||(m(t).on("keydown",e.keyboard.handle),e.keyboard.enabled=!0)},disable:function(){var e=this,t=r();e.keyboard.enabled&&(m(t).off("keydown",e.keyboard.handle),e.keyboard.enabled=!1)}},Z={name:"keyboard",params:{keyboard:{enabled:!1,onlyInViewport:!0,pageUpDown:!0}},create:function(){z(this,{keyboard:t({enabled:!1},K)})},on:{init:function(e){e.params.keyboard.enabled&&e.keyboard.enable()},destroy:function(e){e.keyboard.enabled&&e.keyboard.disable()}}};var J={lastScrollTime:x(),lastEventBeforeSnap:void 0,recentWheelEvents:[],event:function(){return l().navigator.userAgent.indexOf("firefox")>-1?"DOMMouseScroll":function(){var e=r(),t="onwheel",a=t in e;if(!a){var i=e.createElement("div");i.setAttribute(t,"return;"),a="function"==typeof i.onwheel}return!a&&e.implementation&&e.implementation.hasFeature&&!0!==e.implementation.hasFeature("","")&&(a=e.implementation.hasFeature("Events.wheel","3.0")),a}()?"wheel":"mousewheel"},normalize:function(e){var t=0,a=0,i=0,s=0;return"detail"in e&&(a=e.detail),"wheelDelta"in e&&(a=-e.wheelDelta/120),"wheelDeltaY"in e&&(a=-e.wheelDeltaY/120),"wheelDeltaX"in e&&(t=-e.wheelDeltaX/120),"axis"in e&&e.axis===e.HORIZONTAL_AXIS&&(t=a,a=0),i=10*t,s=10*a,"deltaY"in e&&(s=e.deltaY),"deltaX"in e&&(i=e.deltaX),e.shiftKey&&!i&&(i=s,s=0),(i||s)&&e.deltaMode&&(1===e.deltaMode?(i*=40,s*=40):(i*=800,s*=800)),i&&!t&&(t=i<1?-1:1),s&&!a&&(a=s<1?-1:1),{spinX:t,spinY:a,pixelX:i,pixelY:s}},handleMouseEnter:function(){this.enabled&&(this.mouseEntered=!0)},handleMouseLeave:function(){this.enabled&&(this.mouseEntered=!1)},handle:function(e){var t=e,a=this;if(a.enabled){var i=a.params.mousewheel;a.params.cssMode&&t.preventDefault();var s=a.$el;if("container"!==a.params.mousewheel.eventsTarget&&(s=m(a.params.mousewheel.eventsTarget)),!a.mouseEntered&&!s[0].contains(t.target)&&!i.releaseOnEdges)return!0;t.originalEvent&&(t=t.originalEvent);var r=0,n=a.rtlTranslate?-1:1,l=J.normalize(t);if(i.forceToAxis)if(a.isHorizontal()){if(!(Math.abs(l.pixelX)>Math.abs(l.pixelY)))return!0;r=-l.pixelX*n}else{if(!(Math.abs(l.pixelY)>Math.abs(l.pixelX)))return!0;r=-l.pixelY}else r=Math.abs(l.pixelX)>Math.abs(l.pixelY)?-l.pixelX*n:-l.pixelY;if(0===r)return!0;i.invert&&(r=-r);var o=a.getTranslate()+r*i.sensitivity;if(o>=a.minTranslate()&&(o=a.minTranslate()),o<=a.maxTranslate()&&(o=a.maxTranslate()),(!!a.params.loop||!(o===a.minTranslate()||o===a.maxTranslate()))&&a.params.nested&&t.stopPropagation(),a.params.freeMode){var d={time:x(),delta:Math.abs(r),direction:Math.sign(r)},p=a.mousewheel.lastEventBeforeSnap,u=p&&d.time<p.time+500&&d.delta<=p.delta&&d.direction===p.direction;if(!u){a.mousewheel.lastEventBeforeSnap=void 0,a.params.loop&&a.loopFix();var c=a.getTranslate()+r*i.sensitivity,h=a.isBeginning,v=a.isEnd;if(c>=a.minTranslate()&&(c=a.minTranslate()),c<=a.maxTranslate()&&(c=a.maxTranslate()),a.setTransition(0),a.setTranslate(c),a.updateProgress(),a.updateActiveIndex(),a.updateSlidesClasses(),(!h&&a.isBeginning||!v&&a.isEnd)&&a.updateSlidesClasses(),a.params.freeModeSticky){clearTimeout(a.mousewheel.timeout),a.mousewheel.timeout=void 0;var f=a.mousewheel.recentWheelEvents;f.length>=15&&f.shift();var g=f.length?f[f.length-1]:void 0,b=f[0];if(f.push(d),g&&(d.delta>g.delta||d.direction!==g.direction))f.splice(0);else if(f.length>=15&&d.time-b.time<500&&b.delta-d.delta>=1&&d.delta<=6){var w=r>0?.8:.2;a.mousewheel.lastEventBeforeSnap=d,f.splice(0),a.mousewheel.timeout=E((function(){a.slideToClosest(a.params.speed,!0,void 0,w)}),0)}a.mousewheel.timeout||(a.mousewheel.timeout=E((function(){a.mousewheel.lastEventBeforeSnap=d,f.splice(0),a.slideToClosest(a.params.speed,!0,void 0,.5)}),500))}if(u||a.emit("scroll",t),a.params.autoplay&&a.params.autoplayDisableOnInteraction&&a.autoplay.stop(),c===a.minTranslate()||c===a.maxTranslate())return!0}}else{var y={time:x(),delta:Math.abs(r),direction:Math.sign(r),raw:e},T=a.mousewheel.recentWheelEvents;T.length>=2&&T.shift();var C=T.length?T[T.length-1]:void 0;if(T.push(y),C?(y.direction!==C.direction||y.delta>C.delta||y.time>C.time+150)&&a.mousewheel.animateSlider(y):a.mousewheel.animateSlider(y),a.mousewheel.releaseScroll(y))return!0}return t.preventDefault?t.preventDefault():t.returnValue=!1,!1}},animateSlider:function(e){var t=this,a=l();return!(this.params.mousewheel.thresholdDelta&&e.delta<this.params.mousewheel.thresholdDelta)&&(!(this.params.mousewheel.thresholdTime&&x()-t.mousewheel.lastScrollTime<this.params.mousewheel.thresholdTime)&&(e.delta>=6&&x()-t.mousewheel.lastScrollTime<60||(e.direction<0?t.isEnd&&!t.params.loop||t.animating||(t.slideNext(),t.emit("scroll",e.raw)):t.isBeginning&&!t.params.loop||t.animating||(t.slidePrev(),t.emit("scroll",e.raw)),t.mousewheel.lastScrollTime=(new a.Date).getTime(),!1)))},releaseScroll:function(e){var t=this,a=t.params.mousewheel;if(e.direction<0){if(t.isEnd&&!t.params.loop&&a.releaseOnEdges)return!0}else if(t.isBeginning&&!t.params.loop&&a.releaseOnEdges)return!0;return!1},enable:function(){var e=this,t=J.event();if(e.params.cssMode)return e.wrapperEl.removeEventListener(t,e.mousewheel.handle),!0;if(!t)return!1;if(e.mousewheel.enabled)return!1;var a=e.$el;return"container"!==e.params.mousewheel.eventsTarget&&(a=m(e.params.mousewheel.eventsTarget)),a.on("mouseenter",e.mousewheel.handleMouseEnter),a.on("mouseleave",e.mousewheel.handleMouseLeave),a.on(t,e.mousewheel.handle),e.mousewheel.enabled=!0,!0},disable:function(){var e=this,t=J.event();if(e.params.cssMode)return e.wrapperEl.addEventListener(t,e.mousewheel.handle),!0;if(!t)return!1;if(!e.mousewheel.enabled)return!1;var a=e.$el;return"container"!==e.params.mousewheel.eventsTarget&&(a=m(e.params.mousewheel.eventsTarget)),a.off(t,e.mousewheel.handle),e.mousewheel.enabled=!1,!0}},Q={toggleEl:function(e,t){e[t?"addClass":"removeClass"](this.params.navigation.disabledClass),e[0]&&"BUTTON"===e[0].tagName&&(e[0].disabled=t)},update:function(){var e=this,t=e.params.navigation,a=e.navigation.toggleEl;if(!e.params.loop){var i=e.navigation,s=i.$nextEl,r=i.$prevEl;r&&r.length>0&&(e.isBeginning?a(r,!0):a(r,!1),e.params.watchOverflow&&e.enabled&&r[e.isLocked?"addClass":"removeClass"](t.lockClass)),s&&s.length>0&&(e.isEnd?a(s,!0):a(s,!1),e.params.watchOverflow&&e.enabled&&s[e.isLocked?"addClass":"removeClass"](t.lockClass))}},onPrevClick:function(e){var t=this;e.preventDefault(),t.isBeginning&&!t.params.loop||t.slidePrev()},onNextClick:function(e){var t=this;e.preventDefault(),t.isEnd&&!t.params.loop||t.slideNext()},init:function(){var e,t,a=this,i=a.params.navigation;(a.params.navigation=k(a.$el,a.params.navigation,a.params.createElements,{nextEl:"swiper-button-next",prevEl:"swiper-button-prev"}),i.nextEl||i.prevEl)&&(i.nextEl&&(e=m(i.nextEl),a.params.uniqueNavElements&&"string"==typeof i.nextEl&&e.length>1&&1===a.$el.find(i.nextEl).length&&(e=a.$el.find(i.nextEl))),i.prevEl&&(t=m(i.prevEl),a.params.uniqueNavElements&&"string"==typeof i.prevEl&&t.length>1&&1===a.$el.find(i.prevEl).length&&(t=a.$el.find(i.prevEl))),e&&e.length>0&&e.on("click",a.navigation.onNextClick),t&&t.length>0&&t.on("click",a.navigation.onPrevClick),M(a.navigation,{$nextEl:e,nextEl:e&&e[0],$prevEl:t,prevEl:t&&t[0]}),a.enabled||(e&&e.addClass(i.lockClass),t&&t.addClass(i.lockClass)))},destroy:function(){var e=this,t=e.navigation,a=t.$nextEl,i=t.$prevEl;a&&a.length&&(a.off("click",e.navigation.onNextClick),a.removeClass(e.params.navigation.disabledClass)),i&&i.length&&(i.off("click",e.navigation.onPrevClick),i.removeClass(e.params.navigation.disabledClass))}},ee={update:function(){var e=this,t=e.rtl,a=e.params.pagination;if(a.el&&e.pagination.el&&e.pagination.$el&&0!==e.pagination.$el.length){var i,s=e.virtual&&e.params.virtual.enabled?e.virtual.slides.length:e.slides.length,r=e.pagination.$el,n=e.params.loop?Math.ceil((s-2*e.loopedSlides)/e.params.slidesPerGroup):e.snapGrid.length;if(e.params.loop?((i=Math.ceil((e.activeIndex-e.loopedSlides)/e.params.slidesPerGroup))>s-1-2*e.loopedSlides&&(i-=s-2*e.loopedSlides),i>n-1&&(i-=n),i<0&&"bullets"!==e.params.paginationType&&(i=n+i)):i=void 0!==e.snapIndex?e.snapIndex:e.activeIndex||0,"bullets"===a.type&&e.pagination.bullets&&e.pagination.bullets.length>0){var l,o,d,p=e.pagination.bullets;if(a.dynamicBullets&&(e.pagination.bulletSize=p.eq(0)[e.isHorizontal()?"outerWidth":"outerHeight"](!0),r.css(e.isHorizontal()?"width":"height",e.pagination.bulletSize*(a.dynamicMainBullets+4)+"px"),a.dynamicMainBullets>1&&void 0!==e.previousIndex&&(e.pagination.dynamicBulletIndex+=i-e.previousIndex,e.pagination.dynamicBulletIndex>a.dynamicMainBullets-1?e.pagination.dynamicBulletIndex=a.dynamicMainBullets-1:e.pagination.dynamicBulletIndex<0&&(e.pagination.dynamicBulletIndex=0)),l=i-e.pagination.dynamicBulletIndex,d=((o=l+(Math.min(p.length,a.dynamicMainBullets)-1))+l)/2),p.removeClass(a.bulletActiveClass+" "+a.bulletActiveClass+"-next "+a.bulletActiveClass+"-next-next "+a.bulletActiveClass+"-prev "+a.bulletActiveClass+"-prev-prev "+a.bulletActiveClass+"-main"),r.length>1)p.each((function(e){var t=m(e),s=t.index();s===i&&t.addClass(a.bulletActiveClass),a.dynamicBullets&&(s>=l&&s<=o&&t.addClass(a.bulletActiveClass+"-main"),s===l&&t.prev().addClass(a.bulletActiveClass+"-prev").prev().addClass(a.bulletActiveClass+"-prev-prev"),s===o&&t.next().addClass(a.bulletActiveClass+"-next").next().addClass(a.bulletActiveClass+"-next-next"))}));else{var u=p.eq(i),c=u.index();if(u.addClass(a.bulletActiveClass),a.dynamicBullets){for(var h=p.eq(l),v=p.eq(o),f=l;f<=o;f+=1)p.eq(f).addClass(a.bulletActiveClass+"-main");if(e.params.loop)if(c>=p.length-a.dynamicMainBullets){for(var g=a.dynamicMainBullets;g>=0;g-=1)p.eq(p.length-g).addClass(a.bulletActiveClass+"-main");p.eq(p.length-a.dynamicMainBullets-1).addClass(a.bulletActiveClass+"-prev")}else h.prev().addClass(a.bulletActiveClass+"-prev").prev().addClass(a.bulletActiveClass+"-prev-prev"),v.next().addClass(a.bulletActiveClass+"-next").next().addClass(a.bulletActiveClass+"-next-next");else h.prev().addClass(a.bulletActiveClass+"-prev").prev().addClass(a.bulletActiveClass+"-prev-prev"),v.next().addClass(a.bulletActiveClass+"-next").next().addClass(a.bulletActiveClass+"-next-next")}}if(a.dynamicBullets){var b=Math.min(p.length,a.dynamicMainBullets+4),w=(e.pagination.bulletSize*b-e.pagination.bulletSize)/2-d*e.pagination.bulletSize,y=t?"right":"left";p.css(e.isHorizontal()?y:"top",w+"px")}}if("fraction"===a.type&&(r.find(P(a.currentClass)).text(a.formatFractionCurrent(i+1)),r.find(P(a.totalClass)).text(a.formatFractionTotal(n))),"progressbar"===a.type){var E;E=a.progressbarOpposite?e.isHorizontal()?"vertical":"horizontal":e.isHorizontal()?"horizontal":"vertical";var x=(i+1)/n,T=1,C=1;"horizontal"===E?T=x:C=x,r.find(P(a.progressbarFillClass)).transform("translate3d(0,0,0) scaleX("+T+") scaleY("+C+")").transition(e.params.speed)}"custom"===a.type&&a.renderCustom?(r.html(a.renderCustom(e,i+1,n)),e.emit("paginationRender",r[0])):e.emit("paginationUpdate",r[0]),e.params.watchOverflow&&e.enabled&&r[e.isLocked?"addClass":"removeClass"](a.lockClass)}},render:function(){var e=this,t=e.params.pagination;if(t.el&&e.pagination.el&&e.pagination.$el&&0!==e.pagination.$el.length){var a=e.virtual&&e.params.virtual.enabled?e.virtual.slides.length:e.slides.length,i=e.pagination.$el,s="";if("bullets"===t.type){var r=e.params.loop?Math.ceil((a-2*e.loopedSlides)/e.params.slidesPerGroup):e.snapGrid.length;e.params.freeMode&&!e.params.loop&&r>a&&(r=a);for(var n=0;n<r;n+=1)t.renderBullet?s+=t.renderBullet.call(e,n,t.bulletClass):s+="<"+t.bulletElement+' class="'+t.bulletClass+'"></'+t.bulletElement+">";i.html(s),e.pagination.bullets=i.find(P(t.bulletClass))}"fraction"===t.type&&(s=t.renderFraction?t.renderFraction.call(e,t.currentClass,t.totalClass):'<span class="'+t.currentClass+'"></span> / <span class="'+t.totalClass+'"></span>',i.html(s)),"progressbar"===t.type&&(s=t.renderProgressbar?t.renderProgressbar.call(e,t.progressbarFillClass):'<span class="'+t.progressbarFillClass+'"></span>',i.html(s)),"custom"!==t.type&&e.emit("paginationRender",e.pagination.$el[0])}},init:function(){var e=this;e.params.pagination=k(e.$el,e.params.pagination,e.params.createElements,{el:"swiper-pagination"});var t=e.params.pagination;if(t.el){var a=m(t.el);0!==a.length&&(e.params.uniqueNavElements&&"string"==typeof t.el&&a.length>1&&(a=e.$el.find(t.el)),"bullets"===t.type&&t.clickable&&a.addClass(t.clickableClass),a.addClass(t.modifierClass+t.type),"bullets"===t.type&&t.dynamicBullets&&(a.addClass(""+t.modifierClass+t.type+"-dynamic"),e.pagination.dynamicBulletIndex=0,t.dynamicMainBullets<1&&(t.dynamicMainBullets=1)),"progressbar"===t.type&&t.progressbarOpposite&&a.addClass(t.progressbarOppositeClass),t.clickable&&a.on("click",P(t.bulletClass),(function(t){t.preventDefault();var a=m(this).index()*e.params.slidesPerGroup;e.params.loop&&(a+=e.loopedSlides),e.slideTo(a)})),M(e.pagination,{$el:a,el:a[0]}),e.enabled||a.addClass(t.lockClass))}},destroy:function(){var e=this,t=e.params.pagination;if(t.el&&e.pagination.el&&e.pagination.$el&&0!==e.pagination.$el.length){var a=e.pagination.$el;a.removeClass(t.hiddenClass),a.removeClass(t.modifierClass+t.type),e.pagination.bullets&&e.pagination.bullets.removeClass(t.bulletActiveClass),t.clickable&&a.off("click",P(t.bulletClass))}}},te={setTranslate:function(){var e=this;if(e.params.scrollbar.el&&e.scrollbar.el){var t=e.scrollbar,a=e.rtlTranslate,i=e.progress,s=t.dragSize,r=t.trackSize,n=t.$dragEl,l=t.$el,o=e.params.scrollbar,d=s,p=(r-s)*i;a?(p=-p)>0?(d=s-p,p=0):-p+s>r&&(d=r+p):p<0?(d=s+p,p=0):p+s>r&&(d=r-p),e.isHorizontal()?(n.transform("translate3d("+p+"px, 0, 0)"),n[0].style.width=d+"px"):(n.transform("translate3d(0px, "+p+"px, 0)"),n[0].style.height=d+"px"),o.hide&&(clearTimeout(e.scrollbar.timeout),l[0].style.opacity=1,e.scrollbar.timeout=setTimeout((function(){l[0].style.opacity=0,l.transition(400)}),1e3))}},setTransition:function(e){var t=this;t.params.scrollbar.el&&t.scrollbar.el&&t.scrollbar.$dragEl.transition(e)},updateSize:function(){var e=this;if(e.params.scrollbar.el&&e.scrollbar.el){var t=e.scrollbar,a=t.$dragEl,i=t.$el;a[0].style.width="",a[0].style.height="";var s,r=e.isHorizontal()?i[0].offsetWidth:i[0].offsetHeight,n=e.size/e.virtualSize,l=n*(r/e.size);s="auto"===e.params.scrollbar.dragSize?r*n:parseInt(e.params.scrollbar.dragSize,10),e.isHorizontal()?a[0].style.width=s+"px":a[0].style.height=s+"px",i[0].style.display=n>=1?"none":"",e.params.scrollbar.hide&&(i[0].style.opacity=0),M(t,{trackSize:r,divider:n,moveDivider:l,dragSize:s}),e.params.watchOverflow&&e.enabled&&t.$el[e.isLocked?"addClass":"removeClass"](e.params.scrollbar.lockClass)}},getPointerPosition:function(e){return this.isHorizontal()?"touchstart"===e.type||"touchmove"===e.type?e.targetTouches[0].clientX:e.clientX:"touchstart"===e.type||"touchmove"===e.type?e.targetTouches[0].clientY:e.clientY},setDragPosition:function(e){var t,a=this,i=a.scrollbar,s=a.rtlTranslate,r=i.$el,n=i.dragSize,l=i.trackSize,o=i.dragStartPos;t=(i.getPointerPosition(e)-r.offset()[a.isHorizontal()?"left":"top"]-(null!==o?o:n/2))/(l-n),t=Math.max(Math.min(t,1),0),s&&(t=1-t);var d=a.minTranslate()+(a.maxTranslate()-a.minTranslate())*t;a.updateProgress(d),a.setTranslate(d),a.updateActiveIndex(),a.updateSlidesClasses()},onDragStart:function(e){var t=this,a=t.params.scrollbar,i=t.scrollbar,s=t.$wrapperEl,r=i.$el,n=i.$dragEl;t.scrollbar.isTouched=!0,t.scrollbar.dragStartPos=e.target===n[0]||e.target===n?i.getPointerPosition(e)-e.target.getBoundingClientRect()[t.isHorizontal()?"left":"top"]:null,e.preventDefault(),e.stopPropagation(),s.transition(100),n.transition(100),i.setDragPosition(e),clearTimeout(t.scrollbar.dragTimeout),r.transition(0),a.hide&&r.css("opacity",1),t.params.cssMode&&t.$wrapperEl.css("scroll-snap-type","none"),t.emit("scrollbarDragStart",e)},onDragMove:function(e){var t=this,a=t.scrollbar,i=t.$wrapperEl,s=a.$el,r=a.$dragEl;t.scrollbar.isTouched&&(e.preventDefault?e.preventDefault():e.returnValue=!1,a.setDragPosition(e),i.transition(0),s.transition(0),r.transition(0),t.emit("scrollbarDragMove",e))},onDragEnd:function(e){var t=this,a=t.params.scrollbar,i=t.scrollbar,s=t.$wrapperEl,r=i.$el;t.scrollbar.isTouched&&(t.scrollbar.isTouched=!1,t.params.cssMode&&(t.$wrapperEl.css("scroll-snap-type",""),s.transition("")),a.hide&&(clearTimeout(t.scrollbar.dragTimeout),t.scrollbar.dragTimeout=E((function(){r.css("opacity",0),r.transition(400)}),1e3)),t.emit("scrollbarDragEnd",e),a.snapOnRelease&&t.slideToClosest())},enableDraggable:function(){var e=this;if(e.params.scrollbar.el){var t=r(),a=e.scrollbar,i=e.touchEventsTouch,s=e.touchEventsDesktop,n=e.params,l=e.support,o=a.$el[0],d=!(!l.passiveListener||!n.passiveListeners)&&{passive:!1,capture:!1},p=!(!l.passiveListener||!n.passiveListeners)&&{passive:!0,capture:!1};o&&(l.touch?(o.addEventListener(i.start,e.scrollbar.onDragStart,d),o.addEventListener(i.move,e.scrollbar.onDragMove,d),o.addEventListener(i.end,e.scrollbar.onDragEnd,p)):(o.addEventListener(s.start,e.scrollbar.onDragStart,d),t.addEventListener(s.move,e.scrollbar.onDragMove,d),t.addEventListener(s.end,e.scrollbar.onDragEnd,p)))}},disableDraggable:function(){var e=this;if(e.params.scrollbar.el){var t=r(),a=e.scrollbar,i=e.touchEventsTouch,s=e.touchEventsDesktop,n=e.params,l=e.support,o=a.$el[0],d=!(!l.passiveListener||!n.passiveListeners)&&{passive:!1,capture:!1},p=!(!l.passiveListener||!n.passiveListeners)&&{passive:!0,capture:!1};o&&(l.touch?(o.removeEventListener(i.start,e.scrollbar.onDragStart,d),o.removeEventListener(i.move,e.scrollbar.onDragMove,d),o.removeEventListener(i.end,e.scrollbar.onDragEnd,p)):(o.removeEventListener(s.start,e.scrollbar.onDragStart,d),t.removeEventListener(s.move,e.scrollbar.onDragMove,d),t.removeEventListener(s.end,e.scrollbar.onDragEnd,p)))}},init:function(){var e=this,t=e.scrollbar,a=e.$el;e.params.scrollbar=k(a,e.params.scrollbar,e.params.createElements,{el:"swiper-scrollbar"});var i=e.params.scrollbar;if(i.el){var s=m(i.el);e.params.uniqueNavElements&&"string"==typeof i.el&&s.length>1&&1===a.find(i.el).length&&(s=a.find(i.el));var r=s.find("."+e.params.scrollbar.dragClass);0===r.length&&(r=m('<div class="'+e.params.scrollbar.dragClass+'"></div>'),s.append(r)),M(t,{$el:s,el:s[0],$dragEl:r,dragEl:r[0]}),i.draggable&&t.enableDraggable(),s&&s[e.enabled?"removeClass":"addClass"](e.params.scrollbar.lockClass)}},destroy:function(){this.scrollbar.disableDraggable()}},ae={setTransform:function(e,t){var a=this.rtl,i=m(e),s=a?-1:1,r=i.attr("data-swiper-parallax")||"0",n=i.attr("data-swiper-parallax-x"),l=i.attr("data-swiper-parallax-y"),o=i.attr("data-swiper-parallax-scale"),d=i.attr("data-swiper-parallax-opacity");if(n||l?(n=n||"0",l=l||"0"):this.isHorizontal()?(n=r,l="0"):(l=r,n="0"),n=n.indexOf("%")>=0?parseInt(n,10)*t*s+"%":n*t*s+"px",l=l.indexOf("%")>=0?parseInt(l,10)*t+"%":l*t+"px",null!=d){var p=d-(d-1)*(1-Math.abs(t));i[0].style.opacity=p}if(null==o)i.transform("translate3d("+n+", "+l+", 0px)");else{var u=o-(o-1)*(1-Math.abs(t));i.transform("translate3d("+n+", "+l+", 0px) scale("+u+")")}},setTranslate:function(){var e=this,t=e.$el,a=e.slides,i=e.progress,s=e.snapGrid;t.children("[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]").each((function(t){e.parallax.setTransform(t,i)})),a.each((function(t,a){var r=t.progress;e.params.slidesPerGroup>1&&"auto"!==e.params.slidesPerView&&(r+=Math.ceil(a/2)-i*(s.length-1)),r=Math.min(Math.max(r,-1),1),m(t).find("[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]").each((function(t){e.parallax.setTransform(t,r)}))}))},setTransition:function(e){void 0===e&&(e=this.params.speed);this.$el.find("[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]").each((function(t){var a=m(t),i=parseInt(a.attr("data-swiper-parallax-duration"),10)||e;0===e&&(i=0),a.transition(i)}))}},ie={getDistanceBetweenTouches:function(e){if(e.targetTouches.length<2)return 1;var t=e.targetTouches[0].pageX,a=e.targetTouches[0].pageY,i=e.targetTouches[1].pageX,s=e.targetTouches[1].pageY;return Math.sqrt(Math.pow(i-t,2)+Math.pow(s-a,2))},onGestureStart:function(e){var t=this,a=t.support,i=t.params.zoom,s=t.zoom,r=s.gesture;if(s.fakeGestureTouched=!1,s.fakeGestureMoved=!1,!a.gestures){if("touchstart"!==e.type||"touchstart"===e.type&&e.targetTouches.length<2)return;s.fakeGestureTouched=!0,r.scaleStart=ie.getDistanceBetweenTouches(e)}r.$slideEl&&r.$slideEl.length||(r.$slideEl=m(e.target).closest("."+t.params.slideClass),0===r.$slideEl.length&&(r.$slideEl=t.slides.eq(t.activeIndex)),r.$imageEl=r.$slideEl.find("img, svg, canvas, picture, .swiper-zoom-target"),r.$imageWrapEl=r.$imageEl.parent("."+i.containerClass),r.maxRatio=r.$imageWrapEl.attr("data-swiper-zoom")||i.maxRatio,0!==r.$imageWrapEl.length)?(r.$imageEl&&r.$imageEl.transition(0),t.zoom.isScaling=!0):r.$imageEl=void 0},onGestureChange:function(e){var t=this,a=t.support,i=t.params.zoom,s=t.zoom,r=s.gesture;if(!a.gestures){if("touchmove"!==e.type||"touchmove"===e.type&&e.targetTouches.length<2)return;s.fakeGestureMoved=!0,r.scaleMove=ie.getDistanceBetweenTouches(e)}r.$imageEl&&0!==r.$imageEl.length?(a.gestures?s.scale=e.scale*s.currentScale:s.scale=r.scaleMove/r.scaleStart*s.currentScale,s.scale>r.maxRatio&&(s.scale=r.maxRatio-1+Math.pow(s.scale-r.maxRatio+1,.5)),s.scale<i.minRatio&&(s.scale=i.minRatio+1-Math.pow(i.minRatio-s.scale+1,.5)),r.$imageEl.transform("translate3d(0,0,0) scale("+s.scale+")")):"gesturechange"===e.type&&s.onGestureStart(e)},onGestureEnd:function(e){var t=this,a=t.device,i=t.support,s=t.params.zoom,r=t.zoom,n=r.gesture;if(!i.gestures){if(!r.fakeGestureTouched||!r.fakeGestureMoved)return;if("touchend"!==e.type||"touchend"===e.type&&e.changedTouches.length<2&&!a.android)return;r.fakeGestureTouched=!1,r.fakeGestureMoved=!1}n.$imageEl&&0!==n.$imageEl.length&&(r.scale=Math.max(Math.min(r.scale,n.maxRatio),s.minRatio),n.$imageEl.transition(t.params.speed).transform("translate3d(0,0,0) scale("+r.scale+")"),r.currentScale=r.scale,r.isScaling=!1,1===r.scale&&(n.$slideEl=void 0))},onTouchStart:function(e){var t=this.device,a=this.zoom,i=a.gesture,s=a.image;i.$imageEl&&0!==i.$imageEl.length&&(s.isTouched||(t.android&&e.cancelable&&e.preventDefault(),s.isTouched=!0,s.touchesStart.x="touchstart"===e.type?e.targetTouches[0].pageX:e.pageX,s.touchesStart.y="touchstart"===e.type?e.targetTouches[0].pageY:e.pageY))},onTouchMove:function(e){var t=this,a=t.zoom,i=a.gesture,s=a.image,r=a.velocity;if(i.$imageEl&&0!==i.$imageEl.length&&(t.allowClick=!1,s.isTouched&&i.$slideEl)){s.isMoved||(s.width=i.$imageEl[0].offsetWidth,s.height=i.$imageEl[0].offsetHeight,s.startX=T(i.$imageWrapEl[0],"x")||0,s.startY=T(i.$imageWrapEl[0],"y")||0,i.slideWidth=i.$slideEl[0].offsetWidth,i.slideHeight=i.$slideEl[0].offsetHeight,i.$imageWrapEl.transition(0));var n=s.width*a.scale,l=s.height*a.scale;if(!(n<i.slideWidth&&l<i.slideHeight)){if(s.minX=Math.min(i.slideWidth/2-n/2,0),s.maxX=-s.minX,s.minY=Math.min(i.slideHeight/2-l/2,0),s.maxY=-s.minY,s.touchesCurrent.x="touchmove"===e.type?e.targetTouches[0].pageX:e.pageX,s.touchesCurrent.y="touchmove"===e.type?e.targetTouches[0].pageY:e.pageY,!s.isMoved&&!a.isScaling){if(t.isHorizontal()&&(Math.floor(s.minX)===Math.floor(s.startX)&&s.touchesCurrent.x<s.touchesStart.x||Math.floor(s.maxX)===Math.floor(s.startX)&&s.touchesCurrent.x>s.touchesStart.x))return void(s.isTouched=!1);if(!t.isHorizontal()&&(Math.floor(s.minY)===Math.floor(s.startY)&&s.touchesCurrent.y<s.touchesStart.y||Math.floor(s.maxY)===Math.floor(s.startY)&&s.touchesCurrent.y>s.touchesStart.y))return void(s.isTouched=!1)}e.cancelable&&e.preventDefault(),e.stopPropagation(),s.isMoved=!0,s.currentX=s.touchesCurrent.x-s.touchesStart.x+s.startX,s.currentY=s.touchesCurrent.y-s.touchesStart.y+s.startY,s.currentX<s.minX&&(s.currentX=s.minX+1-Math.pow(s.minX-s.currentX+1,.8)),s.currentX>s.maxX&&(s.currentX=s.maxX-1+Math.pow(s.currentX-s.maxX+1,.8)),s.currentY<s.minY&&(s.currentY=s.minY+1-Math.pow(s.minY-s.currentY+1,.8)),s.currentY>s.maxY&&(s.currentY=s.maxY-1+Math.pow(s.currentY-s.maxY+1,.8)),r.prevPositionX||(r.prevPositionX=s.touchesCurrent.x),r.prevPositionY||(r.prevPositionY=s.touchesCurrent.y),r.prevTime||(r.prevTime=Date.now()),r.x=(s.touchesCurrent.x-r.prevPositionX)/(Date.now()-r.prevTime)/2,r.y=(s.touchesCurrent.y-r.prevPositionY)/(Date.now()-r.prevTime)/2,Math.abs(s.touchesCurrent.x-r.prevPositionX)<2&&(r.x=0),Math.abs(s.touchesCurrent.y-r.prevPositionY)<2&&(r.y=0),r.prevPositionX=s.touchesCurrent.x,r.prevPositionY=s.touchesCurrent.y,r.prevTime=Date.now(),i.$imageWrapEl.transform("translate3d("+s.currentX+"px, "+s.currentY+"px,0)")}}},onTouchEnd:function(){var e=this.zoom,t=e.gesture,a=e.image,i=e.velocity;if(t.$imageEl&&0!==t.$imageEl.length){if(!a.isTouched||!a.isMoved)return a.isTouched=!1,void(a.isMoved=!1);a.isTouched=!1,a.isMoved=!1;var s=300,r=300,n=i.x*s,l=a.currentX+n,o=i.y*r,d=a.currentY+o;0!==i.x&&(s=Math.abs((l-a.currentX)/i.x)),0!==i.y&&(r=Math.abs((d-a.currentY)/i.y));var p=Math.max(s,r);a.currentX=l,a.currentY=d;var u=a.width*e.scale,c=a.height*e.scale;a.minX=Math.min(t.slideWidth/2-u/2,0),a.maxX=-a.minX,a.minY=Math.min(t.slideHeight/2-c/2,0),a.maxY=-a.minY,a.currentX=Math.max(Math.min(a.currentX,a.maxX),a.minX),a.currentY=Math.max(Math.min(a.currentY,a.maxY),a.minY),t.$imageWrapEl.transition(p).transform("translate3d("+a.currentX+"px, "+a.currentY+"px,0)")}},onTransitionEnd:function(){var e=this,t=e.zoom,a=t.gesture;a.$slideEl&&e.previousIndex!==e.activeIndex&&(a.$imageEl&&a.$imageEl.transform("translate3d(0,0,0) scale(1)"),a.$imageWrapEl&&a.$imageWrapEl.transform("translate3d(0,0,0)"),t.scale=1,t.currentScale=1,a.$slideEl=void 0,a.$imageEl=void 0,a.$imageWrapEl=void 0)},toggle:function(e){var t=this.zoom;t.scale&&1!==t.scale?t.out():t.in(e)},in:function(e){var t,a,i,s,r,n,o,d,p,u,c,h,v,f,g,b,w=this,y=l(),E=w.zoom,x=w.params.zoom,T=E.gesture,C=E.image;(T.$slideEl||(e&&e.target&&(T.$slideEl=m(e.target).closest("."+w.params.slideClass)),T.$slideEl||(w.params.virtual&&w.params.virtual.enabled&&w.virtual?T.$slideEl=w.$wrapperEl.children("."+w.params.slideActiveClass):T.$slideEl=w.slides.eq(w.activeIndex)),T.$imageEl=T.$slideEl.find("img, svg, canvas, picture, .swiper-zoom-target"),T.$imageWrapEl=T.$imageEl.parent("."+x.containerClass)),T.$imageEl&&0!==T.$imageEl.length&&T.$imageWrapEl&&0!==T.$imageWrapEl.length)&&(T.$slideEl.addClass(""+x.zoomedSlideClass),void 0===C.touchesStart.x&&e?(t="touchend"===e.type?e.changedTouches[0].pageX:e.pageX,a="touchend"===e.type?e.changedTouches[0].pageY:e.pageY):(t=C.touchesStart.x,a=C.touchesStart.y),E.scale=T.$imageWrapEl.attr("data-swiper-zoom")||x.maxRatio,E.currentScale=T.$imageWrapEl.attr("data-swiper-zoom")||x.maxRatio,e?(g=T.$slideEl[0].offsetWidth,b=T.$slideEl[0].offsetHeight,i=T.$slideEl.offset().left+y.scrollX+g/2-t,s=T.$slideEl.offset().top+y.scrollY+b/2-a,o=T.$imageEl[0].offsetWidth,d=T.$imageEl[0].offsetHeight,p=o*E.scale,u=d*E.scale,v=-(c=Math.min(g/2-p/2,0)),f=-(h=Math.min(b/2-u/2,0)),(r=i*E.scale)<c&&(r=c),r>v&&(r=v),(n=s*E.scale)<h&&(n=h),n>f&&(n=f)):(r=0,n=0),T.$imageWrapEl.transition(300).transform("translate3d("+r+"px, "+n+"px,0)"),T.$imageEl.transition(300).transform("translate3d(0,0,0) scale("+E.scale+")"))},out:function(){var e=this,t=e.zoom,a=e.params.zoom,i=t.gesture;i.$slideEl||(e.params.virtual&&e.params.virtual.enabled&&e.virtual?i.$slideEl=e.$wrapperEl.children("."+e.params.slideActiveClass):i.$slideEl=e.slides.eq(e.activeIndex),i.$imageEl=i.$slideEl.find("img, svg, canvas, picture, .swiper-zoom-target"),i.$imageWrapEl=i.$imageEl.parent("."+a.containerClass)),i.$imageEl&&0!==i.$imageEl.length&&i.$imageWrapEl&&0!==i.$imageWrapEl.length&&(t.scale=1,t.currentScale=1,i.$imageWrapEl.transition(300).transform("translate3d(0,0,0)"),i.$imageEl.transition(300).transform("translate3d(0,0,0) scale(1)"),i.$slideEl.removeClass(""+a.zoomedSlideClass),i.$slideEl=void 0)},toggleGestures:function(e){var t=this,a=t.zoom,i=a.slideSelector,s=a.passiveListener;t.$wrapperEl[e]("gesturestart",i,a.onGestureStart,s),t.$wrapperEl[e]("gesturechange",i,a.onGestureChange,s),t.$wrapperEl[e]("gestureend",i,a.onGestureEnd,s)},enableGestures:function(){this.zoom.gesturesEnabled||(this.zoom.gesturesEnabled=!0,this.zoom.toggleGestures("on"))},disableGestures:function(){this.zoom.gesturesEnabled&&(this.zoom.gesturesEnabled=!1,this.zoom.toggleGestures("off"))},enable:function(){var e=this,t=e.support,a=e.zoom;if(!a.enabled){a.enabled=!0;var i=!("touchstart"!==e.touchEvents.start||!t.passiveListener||!e.params.passiveListeners)&&{passive:!0,capture:!1},s=!t.passiveListener||{passive:!1,capture:!0},r="."+e.params.slideClass;e.zoom.passiveListener=i,e.zoom.slideSelector=r,t.gestures?(e.$wrapperEl.on(e.touchEvents.start,e.zoom.enableGestures,i),e.$wrapperEl.on(e.touchEvents.end,e.zoom.disableGestures,i)):"touchstart"===e.touchEvents.start&&(e.$wrapperEl.on(e.touchEvents.start,r,a.onGestureStart,i),e.$wrapperEl.on(e.touchEvents.move,r,a.onGestureChange,s),e.$wrapperEl.on(e.touchEvents.end,r,a.onGestureEnd,i),e.touchEvents.cancel&&e.$wrapperEl.on(e.touchEvents.cancel,r,a.onGestureEnd,i)),e.$wrapperEl.on(e.touchEvents.move,"."+e.params.zoom.containerClass,a.onTouchMove,s)}},disable:function(){var e=this,t=e.zoom;if(t.enabled){var a=e.support;e.zoom.enabled=!1;var i=!("touchstart"!==e.touchEvents.start||!a.passiveListener||!e.params.passiveListeners)&&{passive:!0,capture:!1},s=!a.passiveListener||{passive:!1,capture:!0},r="."+e.params.slideClass;a.gestures?(e.$wrapperEl.off(e.touchEvents.start,e.zoom.enableGestures,i),e.$wrapperEl.off(e.touchEvents.end,e.zoom.disableGestures,i)):"touchstart"===e.touchEvents.start&&(e.$wrapperEl.off(e.touchEvents.start,r,t.onGestureStart,i),e.$wrapperEl.off(e.touchEvents.move,r,t.onGestureChange,s),e.$wrapperEl.off(e.touchEvents.end,r,t.onGestureEnd,i),e.touchEvents.cancel&&e.$wrapperEl.off(e.touchEvents.cancel,r,t.onGestureEnd,i)),e.$wrapperEl.off(e.touchEvents.move,"."+e.params.zoom.containerClass,t.onTouchMove,s)}}},se={loadInSlide:function(e,t){void 0===t&&(t=!0);var a=this,i=a.params.lazy;if(void 0!==e&&0!==a.slides.length){var s=a.virtual&&a.params.virtual.enabled?a.$wrapperEl.children("."+a.params.slideClass+'[data-swiper-slide-index="'+e+'"]'):a.slides.eq(e),r=s.find("."+i.elementClass+":not(."+i.loadedClass+"):not(."+i.loadingClass+")");!s.hasClass(i.elementClass)||s.hasClass(i.loadedClass)||s.hasClass(i.loadingClass)||r.push(s[0]),0!==r.length&&r.each((function(e){var r=m(e);r.addClass(i.loadingClass);var n=r.attr("data-background"),l=r.attr("data-src"),o=r.attr("data-srcset"),d=r.attr("data-sizes"),p=r.parent("picture");a.loadImage(r[0],l||n,o,d,!1,(function(){if(null!=a&&a&&(!a||a.params)&&!a.destroyed){if(n?(r.css("background-image",'url("'+n+'")'),r.removeAttr("data-background")):(o&&(r.attr("srcset",o),r.removeAttr("data-srcset")),d&&(r.attr("sizes",d),r.removeAttr("data-sizes")),p.length&&p.children("source").each((function(e){var t=m(e);t.attr("data-srcset")&&(t.attr("srcset",t.attr("data-srcset")),t.removeAttr("data-srcset"))})),l&&(r.attr("src",l),r.removeAttr("data-src"))),r.addClass(i.loadedClass).removeClass(i.loadingClass),s.find("."+i.preloaderClass).remove(),a.params.loop&&t){var e=s.attr("data-swiper-slide-index");if(s.hasClass(a.params.slideDuplicateClass)){var u=a.$wrapperEl.children('[data-swiper-slide-index="'+e+'"]:not(.'+a.params.slideDuplicateClass+")");a.lazy.loadInSlide(u.index(),!1)}else{var c=a.$wrapperEl.children("."+a.params.slideDuplicateClass+'[data-swiper-slide-index="'+e+'"]');a.lazy.loadInSlide(c.index(),!1)}}a.emit("lazyImageReady",s[0],r[0]),a.params.autoHeight&&a.updateAutoHeight()}})),a.emit("lazyImageLoad",s[0],r[0])}))}},load:function(){var e=this,t=e.$wrapperEl,a=e.params,i=e.slides,s=e.activeIndex,r=e.virtual&&a.virtual.enabled,n=a.lazy,l=a.slidesPerView;function o(e){if(r){if(t.children("."+a.slideClass+'[data-swiper-slide-index="'+e+'"]').length)return!0}else if(i[e])return!0;return!1}function d(e){return r?m(e).attr("data-swiper-slide-index"):m(e).index()}if("auto"===l&&(l=0),e.lazy.initialImageLoaded||(e.lazy.initialImageLoaded=!0),e.params.watchSlidesVisibility)t.children("."+a.slideVisibleClass).each((function(t){var a=r?m(t).attr("data-swiper-slide-index"):m(t).index();e.lazy.loadInSlide(a)}));else if(l>1)for(var p=s;p<s+l;p+=1)o(p)&&e.lazy.loadInSlide(p);else e.lazy.loadInSlide(s);if(n.loadPrevNext)if(l>1||n.loadPrevNextAmount&&n.loadPrevNextAmount>1){for(var u=n.loadPrevNextAmount,c=l,h=Math.min(s+c+Math.max(u,c),i.length),v=Math.max(s-Math.max(c,u),0),f=s+l;f<h;f+=1)o(f)&&e.lazy.loadInSlide(f);for(var g=v;g<s;g+=1)o(g)&&e.lazy.loadInSlide(g)}else{var b=t.children("."+a.slideNextClass);b.length>0&&e.lazy.loadInSlide(d(b));var w=t.children("."+a.slidePrevClass);w.length>0&&e.lazy.loadInSlide(d(w))}},checkInViewOnLoad:function(){var e=l(),t=this;if(t&&!t.destroyed){var a=t.params.lazy.scrollingElement?m(t.params.lazy.scrollingElement):m(e),i=a[0]===e,s=i?e.innerWidth:a[0].offsetWidth,r=i?e.innerHeight:a[0].offsetHeight,n=t.$el.offset(),o=!1;t.rtlTranslate&&(n.left-=t.$el[0].scrollLeft);for(var d=[[n.left,n.top],[n.left+t.width,n.top],[n.left,n.top+t.height],[n.left+t.width,n.top+t.height]],p=0;p<d.length;p+=1){var u=d[p];if(u[0]>=0&&u[0]<=s&&u[1]>=0&&u[1]<=r){if(0===u[0]&&0===u[1])continue;o=!0}}var c=!("touchstart"!==t.touchEvents.start||!t.support.passiveListener||!t.params.passiveListeners)&&{passive:!0,capture:!1};o?(t.lazy.load(),a.off("scroll",t.lazy.checkInViewOnLoad,c)):t.lazy.scrollHandlerAttached||(t.lazy.scrollHandlerAttached=!0,a.on("scroll",t.lazy.checkInViewOnLoad,c))}}},re={LinearSpline:function(e,t){var a,i,s,r,n,l=function(e,t){for(i=-1,a=e.length;a-i>1;)e[s=a+i>>1]<=t?i=s:a=s;return a};return this.x=e,this.y=t,this.lastIndex=e.length-1,this.interpolate=function(e){return e?(n=l(this.x,e),r=n-1,(e-this.x[r])*(this.y[n]-this.y[r])/(this.x[n]-this.x[r])+this.y[r]):0},this},getInterpolateFunction:function(e){var t=this;t.controller.spline||(t.controller.spline=t.params.loop?new re.LinearSpline(t.slidesGrid,e.slidesGrid):new re.LinearSpline(t.snapGrid,e.snapGrid))},setTranslate:function(e,t){var a,i,s=this,r=s.controller.control,n=s.constructor;function l(e){var t=s.rtlTranslate?-s.translate:s.translate;"slide"===s.params.controller.by&&(s.controller.getInterpolateFunction(e),i=-s.controller.spline.interpolate(-t)),i&&"container"!==s.params.controller.by||(a=(e.maxTranslate()-e.minTranslate())/(s.maxTranslate()-s.minTranslate()),i=(t-s.minTranslate())*a+e.minTranslate()),s.params.controller.inverse&&(i=e.maxTranslate()-i),e.updateProgress(i),e.setTranslate(i,s),e.updateActiveIndex(),e.updateSlidesClasses()}if(Array.isArray(r))for(var o=0;o<r.length;o+=1)r[o]!==t&&r[o]instanceof n&&l(r[o]);else r instanceof n&&t!==r&&l(r)},setTransition:function(e,t){var a,i=this,s=i.constructor,r=i.controller.control;function n(t){t.setTransition(e,i),0!==e&&(t.transitionStart(),t.params.autoHeight&&E((function(){t.updateAutoHeight()})),t.$wrapperEl.transitionEnd((function(){r&&(t.params.loop&&"slide"===i.params.controller.by&&t.loopFix(),t.transitionEnd())})))}if(Array.isArray(r))for(a=0;a<r.length;a+=1)r[a]!==t&&r[a]instanceof s&&n(r[a]);else r instanceof s&&t!==r&&n(r)}},ne={getRandomNumber:function(e){void 0===e&&(e=16);return"x".repeat(e).replace(/x/g,(function(){return Math.round(16*Math.random()).toString(16)}))},makeElFocusable:function(e){return e.attr("tabIndex","0"),e},makeElNotFocusable:function(e){return e.attr("tabIndex","-1"),e},addElRole:function(e,t){return e.attr("role",t),e},addElRoleDescription:function(e,t){return e.attr("aria-roledescription",t),e},addElControls:function(e,t){return e.attr("aria-controls",t),e},addElLabel:function(e,t){return e.attr("aria-label",t),e},addElId:function(e,t){return e.attr("id",t),e},addElLive:function(e,t){return e.attr("aria-live",t),e},disableEl:function(e){return e.attr("aria-disabled",!0),e},enableEl:function(e){return e.attr("aria-disabled",!1),e},onEnterOrSpaceKey:function(e){if(13===e.keyCode||32===e.keyCode){var t=this,a=t.params.a11y,i=m(e.target);t.navigation&&t.navigation.$nextEl&&i.is(t.navigation.$nextEl)&&(t.isEnd&&!t.params.loop||t.slideNext(),t.isEnd?t.a11y.notify(a.lastSlideMessage):t.a11y.notify(a.nextSlideMessage)),t.navigation&&t.navigation.$prevEl&&i.is(t.navigation.$prevEl)&&(t.isBeginning&&!t.params.loop||t.slidePrev(),t.isBeginning?t.a11y.notify(a.firstSlideMessage):t.a11y.notify(a.prevSlideMessage)),t.pagination&&i.is(P(t.params.pagination.bulletClass))&&i[0].click()}},notify:function(e){var t=this.a11y.liveRegion;0!==t.length&&(t.html(""),t.html(e))},updateNavigation:function(){var e=this;if(!e.params.loop&&e.navigation){var t=e.navigation,a=t.$nextEl,i=t.$prevEl;i&&i.length>0&&(e.isBeginning?(e.a11y.disableEl(i),e.a11y.makeElNotFocusable(i)):(e.a11y.enableEl(i),e.a11y.makeElFocusable(i))),a&&a.length>0&&(e.isEnd?(e.a11y.disableEl(a),e.a11y.makeElNotFocusable(a)):(e.a11y.enableEl(a),e.a11y.makeElFocusable(a)))}},updatePagination:function(){var e=this,t=e.params.a11y;e.pagination&&e.params.pagination.clickable&&e.pagination.bullets&&e.pagination.bullets.length&&e.pagination.bullets.each((function(a){var i=m(a);e.a11y.makeElFocusable(i),e.params.pagination.renderBullet||(e.a11y.addElRole(i,"button"),e.a11y.addElLabel(i,t.paginationBulletMessage.replace(/\{\{index\}\}/,i.index()+1)))}))},init:function(){var e=this,t=e.params.a11y;e.$el.append(e.a11y.liveRegion);var a=e.$el;t.containerRoleDescriptionMessage&&e.a11y.addElRoleDescription(a,t.containerRoleDescriptionMessage),t.containerMessage&&e.a11y.addElLabel(a,t.containerMessage);var i=e.$wrapperEl,s=i.attr("id")||"swiper-wrapper-"+e.a11y.getRandomNumber(16),r=e.params.autoplay&&e.params.autoplay.enabled?"off":"polite";e.a11y.addElId(i,s),e.a11y.addElLive(i,r),t.itemRoleDescriptionMessage&&e.a11y.addElRoleDescription(m(e.slides),t.itemRoleDescriptionMessage),e.a11y.addElRole(m(e.slides),t.slideRole);var n,l,o=e.params.loop?e.slides.filter((function(t){return!t.classList.contains(e.params.slideDuplicateClass)})).length:e.slides.length;e.slides.each((function(a,i){var s=m(a),r=e.params.loop?parseInt(s.attr("data-swiper-slide-index"),10):i,n=t.slideLabelMessage.replace(/\{\{index\}\}/,r+1).replace(/\{\{slidesLength\}\}/,o);e.a11y.addElLabel(s,n)})),e.navigation&&e.navigation.$nextEl&&(n=e.navigation.$nextEl),e.navigation&&e.navigation.$prevEl&&(l=e.navigation.$prevEl),n&&n.length&&(e.a11y.makeElFocusable(n),"BUTTON"!==n[0].tagName&&(e.a11y.addElRole(n,"button"),n.on("keydown",e.a11y.onEnterOrSpaceKey)),e.a11y.addElLabel(n,t.nextSlideMessage),e.a11y.addElControls(n,s)),l&&l.length&&(e.a11y.makeElFocusable(l),"BUTTON"!==l[0].tagName&&(e.a11y.addElRole(l,"button"),l.on("keydown",e.a11y.onEnterOrSpaceKey)),e.a11y.addElLabel(l,t.prevSlideMessage),e.a11y.addElControls(l,s)),e.pagination&&e.params.pagination.clickable&&e.pagination.bullets&&e.pagination.bullets.length&&e.pagination.$el.on("keydown",P(e.params.pagination.bulletClass),e.a11y.onEnterOrSpaceKey)},destroy:function(){var e,t,a=this;a.a11y.liveRegion&&a.a11y.liveRegion.length>0&&a.a11y.liveRegion.remove(),a.navigation&&a.navigation.$nextEl&&(e=a.navigation.$nextEl),a.navigation&&a.navigation.$prevEl&&(t=a.navigation.$prevEl),e&&e.off("keydown",a.a11y.onEnterOrSpaceKey),t&&t.off("keydown",a.a11y.onEnterOrSpaceKey),a.pagination&&a.params.pagination.clickable&&a.pagination.bullets&&a.pagination.bullets.length&&a.pagination.$el.off("keydown",P(a.params.pagination.bulletClass),a.a11y.onEnterOrSpaceKey)}},le={init:function(){var e=this,t=l();if(e.params.history){if(!t.history||!t.history.pushState)return e.params.history.enabled=!1,void(e.params.hashNavigation.enabled=!0);var a=e.history;a.initialized=!0,a.paths=le.getPathValues(e.params.url),(a.paths.key||a.paths.value)&&(a.scrollToSlide(0,a.paths.value,e.params.runCallbacksOnInit),e.params.history.replaceState||t.addEventListener("popstate",e.history.setHistoryPopState))}},destroy:function(){var e=l();this.params.history.replaceState||e.removeEventListener("popstate",this.history.setHistoryPopState)},setHistoryPopState:function(){var e=this;e.history.paths=le.getPathValues(e.params.url),e.history.scrollToSlide(e.params.speed,e.history.paths.value,!1)},getPathValues:function(e){var t=l(),a=(e?new URL(e):t.location).pathname.slice(1).split("/").filter((function(e){return""!==e})),i=a.length;return{key:a[i-2],value:a[i-1]}},setHistory:function(e,t){var a=this,i=l();if(a.history.initialized&&a.params.history.enabled){var s;s=a.params.url?new URL(a.params.url):i.location;var r=a.slides.eq(t),n=le.slugify(r.attr("data-history"));if(a.params.history.root.length>0){var o=a.params.history.root;"/"===o[o.length-1]&&(o=o.slice(0,o.length-1)),n=o+"/"+e+"/"+n}else s.pathname.includes(e)||(n=e+"/"+n);var d=i.history.state;d&&d.value===n||(a.params.history.replaceState?i.history.replaceState({value:n},null,n):i.history.pushState({value:n},null,n))}},slugify:function(e){return e.toString().replace(/\s+/g,"-").replace(/[^\w-]+/g,"").replace(/--+/g,"-").replace(/^-+/,"").replace(/-+$/,"")},scrollToSlide:function(e,t,a){var i=this;if(t)for(var s=0,r=i.slides.length;s<r;s+=1){var n=i.slides.eq(s);if(le.slugify(n.attr("data-history"))===t&&!n.hasClass(i.params.slideDuplicateClass)){var l=n.index();i.slideTo(l,e,a)}}else i.slideTo(0,e,a)}},oe={onHashChange:function(){var e=this,t=r();e.emit("hashChange");var a=t.location.hash.replace("#","");if(a!==e.slides.eq(e.activeIndex).attr("data-hash")){var i=e.$wrapperEl.children("."+e.params.slideClass+'[data-hash="'+a+'"]').index();if(void 0===i)return;e.slideTo(i)}},setHash:function(){var e=this,t=l(),a=r();if(e.hashNavigation.initialized&&e.params.hashNavigation.enabled)if(e.params.hashNavigation.replaceState&&t.history&&t.history.replaceState)t.history.replaceState(null,null,"#"+e.slides.eq(e.activeIndex).attr("data-hash")||""),e.emit("hashSet");else{var i=e.slides.eq(e.activeIndex),s=i.attr("data-hash")||i.attr("data-history");a.location.hash=s||"",e.emit("hashSet")}},init:function(){var e=this,t=r(),a=l();if(!(!e.params.hashNavigation.enabled||e.params.history&&e.params.history.enabled)){e.hashNavigation.initialized=!0;var i=t.location.hash.replace("#","");if(i)for(var s=0,n=e.slides.length;s<n;s+=1){var o=e.slides.eq(s);if((o.attr("data-hash")||o.attr("data-history"))===i&&!o.hasClass(e.params.slideDuplicateClass)){var d=o.index();e.slideTo(d,0,e.params.runCallbacksOnInit,!0)}}e.params.hashNavigation.watchState&&m(a).on("hashchange",e.hashNavigation.onHashChange)}},destroy:function(){var e=l();this.params.hashNavigation.watchState&&m(e).off("hashchange",this.hashNavigation.onHashChange)}},de={run:function(){var e=this,t=e.slides.eq(e.activeIndex),a=e.params.autoplay.delay;t.attr("data-swiper-autoplay")&&(a=t.attr("data-swiper-autoplay")||e.params.autoplay.delay),clearTimeout(e.autoplay.timeout),e.autoplay.timeout=E((function(){var t;e.params.autoplay.reverseDirection?e.params.loop?(e.loopFix(),t=e.slidePrev(e.params.speed,!0,!0),e.emit("autoplay")):e.isBeginning?e.params.autoplay.stopOnLastSlide?e.autoplay.stop():(t=e.slideTo(e.slides.length-1,e.params.speed,!0,!0),e.emit("autoplay")):(t=e.slidePrev(e.params.speed,!0,!0),e.emit("autoplay")):e.params.loop?(e.loopFix(),t=e.slideNext(e.params.speed,!0,!0),e.emit("autoplay")):e.isEnd?e.params.autoplay.stopOnLastSlide?e.autoplay.stop():(t=e.slideTo(0,e.params.speed,!0,!0),e.emit("autoplay")):(t=e.slideNext(e.params.speed,!0,!0),e.emit("autoplay")),(e.params.cssMode&&e.autoplay.running||!1===t)&&e.autoplay.run()}),a)},start:function(){var e=this;return void 0===e.autoplay.timeout&&(!e.autoplay.running&&(e.autoplay.running=!0,e.emit("autoplayStart"),e.autoplay.run(),!0))},stop:function(){var e=this;return!!e.autoplay.running&&(void 0!==e.autoplay.timeout&&(e.autoplay.timeout&&(clearTimeout(e.autoplay.timeout),e.autoplay.timeout=void 0),e.autoplay.running=!1,e.emit("autoplayStop"),!0))},pause:function(e){var t=this;t.autoplay.running&&(t.autoplay.paused||(t.autoplay.timeout&&clearTimeout(t.autoplay.timeout),t.autoplay.paused=!0,0!==e&&t.params.autoplay.waitForTransition?["transitionend","webkitTransitionEnd"].forEach((function(e){t.$wrapperEl[0].addEventListener(e,t.autoplay.onTransitionEnd)})):(t.autoplay.paused=!1,t.autoplay.run())))},onVisibilityChange:function(){var e=this,t=r();"hidden"===t.visibilityState&&e.autoplay.running&&e.autoplay.pause(),"visible"===t.visibilityState&&e.autoplay.paused&&(e.autoplay.run(),e.autoplay.paused=!1)},onTransitionEnd:function(e){var t=this;t&&!t.destroyed&&t.$wrapperEl&&e.target===t.$wrapperEl[0]&&(["transitionend","webkitTransitionEnd"].forEach((function(e){t.$wrapperEl[0].removeEventListener(e,t.autoplay.onTransitionEnd)})),t.autoplay.paused=!1,t.autoplay.running?t.autoplay.run():t.autoplay.stop())},onMouseEnter:function(){var e=this;e.params.autoplay.disableOnInteraction?e.autoplay.stop():e.autoplay.pause(),["transitionend","webkitTransitionEnd"].forEach((function(t){e.$wrapperEl[0].removeEventListener(t,e.autoplay.onTransitionEnd)}))},onMouseLeave:function(){var e=this;e.params.autoplay.disableOnInteraction||(e.autoplay.paused=!1,e.autoplay.run())},attachMouseEvents:function(){var e=this;e.params.autoplay.pauseOnMouseEnter&&(e.$el.on("mouseenter",e.autoplay.onMouseEnter),e.$el.on("mouseleave",e.autoplay.onMouseLeave))},detachMouseEvents:function(){var e=this;e.$el.off("mouseenter",e.autoplay.onMouseEnter),e.$el.off("mouseleave",e.autoplay.onMouseLeave)}},pe={setTranslate:function(){for(var e=this,t=e.slides,a=0;a<t.length;a+=1){var i=e.slides.eq(a),s=-i[0].swiperSlideOffset;e.params.virtualTranslate||(s-=e.translate);var r=0;e.isHorizontal()||(r=s,s=0);var n=e.params.fadeEffect.crossFade?Math.max(1-Math.abs(i[0].progress),0):1+Math.min(Math.max(i[0].progress,-1),0);i.css({opacity:n}).transform("translate3d("+s+"px, "+r+"px, 0px)")}},setTransition:function(e){var t=this,a=t.slides,i=t.$wrapperEl;if(a.transition(e),t.params.virtualTranslate&&0!==e){var s=!1;a.transitionEnd((function(){if(!s&&t&&!t.destroyed){s=!0,t.animating=!1;for(var e=["webkitTransitionEnd","transitionend"],a=0;a<e.length;a+=1)i.trigger(e[a])}}))}}},ue={setTranslate:function(){var e,t=this,a=t.$el,i=t.$wrapperEl,s=t.slides,r=t.width,n=t.height,l=t.rtlTranslate,o=t.size,d=t.browser,p=t.params.cubeEffect,u=t.isHorizontal(),c=t.virtual&&t.params.virtual.enabled,h=0;p.shadow&&(u?(0===(e=i.find(".swiper-cube-shadow")).length&&(e=m('<div class="swiper-cube-shadow"></div>'),i.append(e)),e.css({height:r+"px"})):0===(e=a.find(".swiper-cube-shadow")).length&&(e=m('<div class="swiper-cube-shadow"></div>'),a.append(e)));for(var v=0;v<s.length;v+=1){var f=s.eq(v),g=v;c&&(g=parseInt(f.attr("data-swiper-slide-index"),10));var b=90*g,w=Math.floor(b/360);l&&(b=-b,w=Math.floor(-b/360));var y=Math.max(Math.min(f[0].progress,1),-1),E=0,x=0,T=0;g%4==0?(E=4*-w*o,T=0):(g-1)%4==0?(E=0,T=4*-w*o):(g-2)%4==0?(E=o+4*w*o,T=o):(g-3)%4==0&&(E=-o,T=3*o+4*o*w),l&&(E=-E),u||(x=E,E=0);var C="rotateX("+(u?0:-b)+"deg) rotateY("+(u?b:0)+"deg) translate3d("+E+"px, "+x+"px, "+T+"px)";if(y<=1&&y>-1&&(h=90*g+90*y,l&&(h=90*-g-90*y)),f.transform(C),p.slideShadows){var S=u?f.find(".swiper-slide-shadow-left"):f.find(".swiper-slide-shadow-top"),M=u?f.find(".swiper-slide-shadow-right"):f.find(".swiper-slide-shadow-bottom");0===S.length&&(S=m('<div class="swiper-slide-shadow-'+(u?"left":"top")+'"></div>'),f.append(S)),0===M.length&&(M=m('<div class="swiper-slide-shadow-'+(u?"right":"bottom")+'"></div>'),f.append(M)),S.length&&(S[0].style.opacity=Math.max(-y,0)),M.length&&(M[0].style.opacity=Math.max(y,0))}}if(i.css({"-webkit-transform-origin":"50% 50% -"+o/2+"px","-moz-transform-origin":"50% 50% -"+o/2+"px","-ms-transform-origin":"50% 50% -"+o/2+"px","transform-origin":"50% 50% -"+o/2+"px"}),p.shadow)if(u)e.transform("translate3d(0px, "+(r/2+p.shadowOffset)+"px, "+-r/2+"px) rotateX(90deg) rotateZ(0deg) scale("+p.shadowScale+")");else{var z=Math.abs(h)-90*Math.floor(Math.abs(h)/90),P=1.5-(Math.sin(2*z*Math.PI/360)/2+Math.cos(2*z*Math.PI/360)/2),k=p.shadowScale,$=p.shadowScale/P,L=p.shadowOffset;e.transform("scale3d("+k+", 1, "+$+") translate3d(0px, "+(n/2+L)+"px, "+-n/2/$+"px) rotateX(-90deg)")}var I=d.isSafari||d.isWebView?-o/2:0;i.transform("translate3d(0px,0,"+I+"px) rotateX("+(t.isHorizontal()?0:h)+"deg) rotateY("+(t.isHorizontal()?-h:0)+"deg)")},setTransition:function(e){var t=this,a=t.$el;t.slides.transition(e).find(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").transition(e),t.params.cubeEffect.shadow&&!t.isHorizontal()&&a.find(".swiper-cube-shadow").transition(e)}},ce={setTranslate:function(){for(var e=this,t=e.slides,a=e.rtlTranslate,i=0;i<t.length;i+=1){var s=t.eq(i),r=s[0].progress;e.params.flipEffect.limitRotation&&(r=Math.max(Math.min(s[0].progress,1),-1));var n=-180*r,l=0,o=-s[0].swiperSlideOffset,d=0;if(e.isHorizontal()?a&&(n=-n):(d=o,o=0,l=-n,n=0),s[0].style.zIndex=-Math.abs(Math.round(r))+t.length,e.params.flipEffect.slideShadows){var p=e.isHorizontal()?s.find(".swiper-slide-shadow-left"):s.find(".swiper-slide-shadow-top"),u=e.isHorizontal()?s.find(".swiper-slide-shadow-right"):s.find(".swiper-slide-shadow-bottom");0===p.length&&(p=m('<div class="swiper-slide-shadow-'+(e.isHorizontal()?"left":"top")+'"></div>'),s.append(p)),0===u.length&&(u=m('<div class="swiper-slide-shadow-'+(e.isHorizontal()?"right":"bottom")+'"></div>'),s.append(u)),p.length&&(p[0].style.opacity=Math.max(-r,0)),u.length&&(u[0].style.opacity=Math.max(r,0))}s.transform("translate3d("+o+"px, "+d+"px, 0px) rotateX("+l+"deg) rotateY("+n+"deg)")}},setTransition:function(e){var t=this,a=t.slides,i=t.activeIndex,s=t.$wrapperEl;if(a.transition(e).find(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").transition(e),t.params.virtualTranslate&&0!==e){var r=!1;a.eq(i).transitionEnd((function(){if(!r&&t&&!t.destroyed){r=!0,t.animating=!1;for(var e=["webkitTransitionEnd","transitionend"],a=0;a<e.length;a+=1)s.trigger(e[a])}}))}}},he={setTranslate:function(){for(var e=this,t=e.width,a=e.height,i=e.slides,s=e.slidesSizesGrid,r=e.params.coverflowEffect,n=e.isHorizontal(),l=e.translate,o=n?t/2-l:a/2-l,d=n?r.rotate:-r.rotate,p=r.depth,u=0,c=i.length;u<c;u+=1){var h=i.eq(u),v=s[u],f=(o-h[0].swiperSlideOffset-v/2)/v*r.modifier,g=n?d*f:0,b=n?0:d*f,w=-p*Math.abs(f),y=r.stretch;"string"==typeof y&&-1!==y.indexOf("%")&&(y=parseFloat(r.stretch)/100*v);var E=n?0:y*f,x=n?y*f:0,T=1-(1-r.scale)*Math.abs(f);Math.abs(x)<.001&&(x=0),Math.abs(E)<.001&&(E=0),Math.abs(w)<.001&&(w=0),Math.abs(g)<.001&&(g=0),Math.abs(b)<.001&&(b=0),Math.abs(T)<.001&&(T=0);var C="translate3d("+x+"px,"+E+"px,"+w+"px) rotateX("+b+"deg) rotateY("+g+"deg) scale("+T+")";if(h.transform(C),h[0].style.zIndex=1-Math.abs(Math.round(f)),r.slideShadows){var S=n?h.find(".swiper-slide-shadow-left"):h.find(".swiper-slide-shadow-top"),M=n?h.find(".swiper-slide-shadow-right"):h.find(".swiper-slide-shadow-bottom");0===S.length&&(S=m('<div class="swiper-slide-shadow-'+(n?"left":"top")+'"></div>'),h.append(S)),0===M.length&&(M=m('<div class="swiper-slide-shadow-'+(n?"right":"bottom")+'"></div>'),h.append(M)),S.length&&(S[0].style.opacity=f>0?f:0),M.length&&(M[0].style.opacity=-f>0?-f:0)}}},setTransition:function(e){this.slides.transition(e).find(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").transition(e)}},ve={init:function(){var e=this,t=e.params.thumbs;if(e.thumbs.initialized)return!1;e.thumbs.initialized=!0;var a=e.constructor;return t.swiper instanceof a?(e.thumbs.swiper=t.swiper,M(e.thumbs.swiper.originalParams,{watchSlidesProgress:!0,slideToClickedSlide:!1}),M(e.thumbs.swiper.params,{watchSlidesProgress:!0,slideToClickedSlide:!1})):C(t.swiper)&&(e.thumbs.swiper=new a(M({},t.swiper,{watchSlidesVisibility:!0,watchSlidesProgress:!0,slideToClickedSlide:!1})),e.thumbs.swiperCreated=!0),e.thumbs.swiper.$el.addClass(e.params.thumbs.thumbsContainerClass),e.thumbs.swiper.on("tap",e.thumbs.onThumbClick),!0},onThumbClick:function(){var e=this,t=e.thumbs.swiper;if(t){var a=t.clickedIndex,i=t.clickedSlide;if(!(i&&m(i).hasClass(e.params.thumbs.slideThumbActiveClass)||null==a)){var s;if(s=t.params.loop?parseInt(m(t.clickedSlide).attr("data-swiper-slide-index"),10):a,e.params.loop){var r=e.activeIndex;e.slides.eq(r).hasClass(e.params.slideDuplicateClass)&&(e.loopFix(),e._clientLeft=e.$wrapperEl[0].clientLeft,r=e.activeIndex);var n=e.slides.eq(r).prevAll('[data-swiper-slide-index="'+s+'"]').eq(0).index(),l=e.slides.eq(r).nextAll('[data-swiper-slide-index="'+s+'"]').eq(0).index();s=void 0===n?l:void 0===l?n:l-r<r-n?l:n}e.slideTo(s)}}},update:function(e){var t=this,a=t.thumbs.swiper;if(a){var i="auto"===a.params.slidesPerView?a.slidesPerViewDynamic():a.params.slidesPerView,s=t.params.thumbs.autoScrollOffset,r=s&&!a.params.loop;if(t.realIndex!==a.realIndex||r){var n,l,o=a.activeIndex;if(a.params.loop){a.slides.eq(o).hasClass(a.params.slideDuplicateClass)&&(a.loopFix(),a._clientLeft=a.$wrapperEl[0].clientLeft,o=a.activeIndex);var d=a.slides.eq(o).prevAll('[data-swiper-slide-index="'+t.realIndex+'"]').eq(0).index(),p=a.slides.eq(o).nextAll('[data-swiper-slide-index="'+t.realIndex+'"]').eq(0).index();n=void 0===d?p:void 0===p?d:p-o==o-d?a.params.slidesPerGroup>1?p:o:p-o<o-d?p:d,l=t.activeIndex>t.previousIndex?"next":"prev"}else l=(n=t.realIndex)>t.previousIndex?"next":"prev";r&&(n+="next"===l?s:-1*s),a.visibleSlidesIndexes&&a.visibleSlidesIndexes.indexOf(n)<0&&(a.params.centeredSlides?n=n>o?n-Math.floor(i/2)+1:n+Math.floor(i/2)-1:n>o&&a.params.slidesPerGroup,a.slideTo(n,e?0:void 0))}var u=1,c=t.params.thumbs.slideThumbActiveClass;if(t.params.slidesPerView>1&&!t.params.centeredSlides&&(u=t.params.slidesPerView),t.params.thumbs.multipleActiveThumbs||(u=1),u=Math.floor(u),a.slides.removeClass(c),a.params.loop||a.params.virtual&&a.params.virtual.enabled)for(var h=0;h<u;h+=1)a.$wrapperEl.children('[data-swiper-slide-index="'+(t.realIndex+h)+'"]').addClass(c);else for(var v=0;v<u;v+=1)a.slides.eq(t.realIndex+v).addClass(c)}}},fe=[U,Z,{name:"mousewheel",params:{mousewheel:{enabled:!1,releaseOnEdges:!1,invert:!1,forceToAxis:!1,sensitivity:1,eventsTarget:"container",thresholdDelta:null,thresholdTime:null}},create:function(){z(this,{mousewheel:{enabled:!1,lastScrollTime:x(),lastEventBeforeSnap:void 0,recentWheelEvents:[],enable:J.enable,disable:J.disable,handle:J.handle,handleMouseEnter:J.handleMouseEnter,handleMouseLeave:J.handleMouseLeave,animateSlider:J.animateSlider,releaseScroll:J.releaseScroll}})},on:{init:function(e){!e.params.mousewheel.enabled&&e.params.cssMode&&e.mousewheel.disable(),e.params.mousewheel.enabled&&e.mousewheel.enable()},destroy:function(e){e.params.cssMode&&e.mousewheel.enable(),e.mousewheel.enabled&&e.mousewheel.disable()}}},{name:"navigation",params:{navigation:{nextEl:null,prevEl:null,hideOnClick:!1,disabledClass:"swiper-button-disabled",hiddenClass:"swiper-button-hidden",lockClass:"swiper-button-lock"}},create:function(){z(this,{navigation:t({},Q)})},on:{init:function(e){e.navigation.init(),e.navigation.update()},toEdge:function(e){e.navigation.update()},fromEdge:function(e){e.navigation.update()},destroy:function(e){e.navigation.destroy()},"enable disable":function(e){var t=e.navigation,a=t.$nextEl,i=t.$prevEl;a&&a[e.enabled?"removeClass":"addClass"](e.params.navigation.lockClass),i&&i[e.enabled?"removeClass":"addClass"](e.params.navigation.lockClass)},click:function(e,t){var a=e.navigation,i=a.$nextEl,s=a.$prevEl,r=t.target;if(e.params.navigation.hideOnClick&&!m(r).is(s)&&!m(r).is(i)){if(e.pagination&&e.params.pagination&&e.params.pagination.clickable&&(e.pagination.el===r||e.pagination.el.contains(r)))return;var n;i?n=i.hasClass(e.params.navigation.hiddenClass):s&&(n=s.hasClass(e.params.navigation.hiddenClass)),!0===n?e.emit("navigationShow"):e.emit("navigationHide"),i&&i.toggleClass(e.params.navigation.hiddenClass),s&&s.toggleClass(e.params.navigation.hiddenClass)}}}},{name:"pagination",params:{pagination:{el:null,bulletElement:"span",clickable:!1,hideOnClick:!1,renderBullet:null,renderProgressbar:null,renderFraction:null,renderCustom:null,progressbarOpposite:!1,type:"bullets",dynamicBullets:!1,dynamicMainBullets:1,formatFractionCurrent:function(e){return e},formatFractionTotal:function(e){return e},bulletClass:"swiper-pagination-bullet",bulletActiveClass:"swiper-pagination-bullet-active",modifierClass:"swiper-pagination-",currentClass:"swiper-pagination-current",totalClass:"swiper-pagination-total",hiddenClass:"swiper-pagination-hidden",progressbarFillClass:"swiper-pagination-progressbar-fill",progressbarOppositeClass:"swiper-pagination-progressbar-opposite",clickableClass:"swiper-pagination-clickable",lockClass:"swiper-pagination-lock"}},create:function(){z(this,{pagination:t({dynamicBulletIndex:0},ee)})},on:{init:function(e){e.pagination.init(),e.pagination.render(),e.pagination.update()},activeIndexChange:function(e){(e.params.loop||void 0===e.snapIndex)&&e.pagination.update()},snapIndexChange:function(e){e.params.loop||e.pagination.update()},slidesLengthChange:function(e){e.params.loop&&(e.pagination.render(),e.pagination.update())},snapGridLengthChange:function(e){e.params.loop||(e.pagination.render(),e.pagination.update())},destroy:function(e){e.pagination.destroy()},"enable disable":function(e){var t=e.pagination.$el;t&&t[e.enabled?"removeClass":"addClass"](e.params.pagination.lockClass)},click:function(e,t){var a=t.target;if(e.params.pagination.el&&e.params.pagination.hideOnClick&&e.pagination.$el.length>0&&!m(a).hasClass(e.params.pagination.bulletClass)){if(e.navigation&&(e.navigation.nextEl&&a===e.navigation.nextEl||e.navigation.prevEl&&a===e.navigation.prevEl))return;!0===e.pagination.$el.hasClass(e.params.pagination.hiddenClass)?e.emit("paginationShow"):e.emit("paginationHide"),e.pagination.$el.toggleClass(e.params.pagination.hiddenClass)}}}},{name:"scrollbar",params:{scrollbar:{el:null,dragSize:"auto",hide:!1,draggable:!1,snapOnRelease:!0,lockClass:"swiper-scrollbar-lock",dragClass:"swiper-scrollbar-drag"}},create:function(){z(this,{scrollbar:t({isTouched:!1,timeout:null,dragTimeout:null},te)})},on:{init:function(e){e.scrollbar.init(),e.scrollbar.updateSize(),e.scrollbar.setTranslate()},update:function(e){e.scrollbar.updateSize()},resize:function(e){e.scrollbar.updateSize()},observerUpdate:function(e){e.scrollbar.updateSize()},setTranslate:function(e){e.scrollbar.setTranslate()},setTransition:function(e,t){e.scrollbar.setTransition(t)},"enable disable":function(e){var t=e.scrollbar.$el;t&&t[e.enabled?"removeClass":"addClass"](e.params.scrollbar.lockClass)},destroy:function(e){e.scrollbar.destroy()}}},{name:"parallax",params:{parallax:{enabled:!1}},create:function(){z(this,{parallax:t({},ae)})},on:{beforeInit:function(e){e.params.parallax.enabled&&(e.params.watchSlidesProgress=!0,e.originalParams.watchSlidesProgress=!0)},init:function(e){e.params.parallax.enabled&&e.parallax.setTranslate()},setTranslate:function(e){e.params.parallax.enabled&&e.parallax.setTranslate()},setTransition:function(e,t){e.params.parallax.enabled&&e.parallax.setTransition(t)}}},{name:"zoom",params:{zoom:{enabled:!1,maxRatio:3,minRatio:1,toggle:!0,containerClass:"swiper-zoom-container",zoomedSlideClass:"swiper-slide-zoomed"}},create:function(){var e=this;z(e,{zoom:t({enabled:!1,scale:1,currentScale:1,isScaling:!1,gesture:{$slideEl:void 0,slideWidth:void 0,slideHeight:void 0,$imageEl:void 0,$imageWrapEl:void 0,maxRatio:3},image:{isTouched:void 0,isMoved:void 0,currentX:void 0,currentY:void 0,minX:void 0,minY:void 0,maxX:void 0,maxY:void 0,width:void 0,height:void 0,startX:void 0,startY:void 0,touchesStart:{},touchesCurrent:{}},velocity:{x:void 0,y:void 0,prevPositionX:void 0,prevPositionY:void 0,prevTime:void 0}},ie)});var a=1;Object.defineProperty(e.zoom,"scale",{get:function(){return a},set:function(t){if(a!==t){var i=e.zoom.gesture.$imageEl?e.zoom.gesture.$imageEl[0]:void 0,s=e.zoom.gesture.$slideEl?e.zoom.gesture.$slideEl[0]:void 0;e.emit("zoomChange",t,i,s)}a=t}})},on:{init:function(e){e.params.zoom.enabled&&e.zoom.enable()},destroy:function(e){e.zoom.disable()},touchStart:function(e,t){e.zoom.enabled&&e.zoom.onTouchStart(t)},touchEnd:function(e,t){e.zoom.enabled&&e.zoom.onTouchEnd(t)},doubleTap:function(e,t){!e.animating&&e.params.zoom.enabled&&e.zoom.enabled&&e.params.zoom.toggle&&e.zoom.toggle(t)},transitionEnd:function(e){e.zoom.enabled&&e.params.zoom.enabled&&e.zoom.onTransitionEnd()},slideChange:function(e){e.zoom.enabled&&e.params.zoom.enabled&&e.params.cssMode&&e.zoom.onTransitionEnd()}}},{name:"lazy",params:{lazy:{checkInView:!1,enabled:!1,loadPrevNext:!1,loadPrevNextAmount:1,loadOnTransitionStart:!1,scrollingElement:"",elementClass:"swiper-lazy",loadingClass:"swiper-lazy-loading",loadedClass:"swiper-lazy-loaded",preloaderClass:"swiper-lazy-preloader"}},create:function(){z(this,{lazy:t({initialImageLoaded:!1},se)})},on:{beforeInit:function(e){e.params.lazy.enabled&&e.params.preloadImages&&(e.params.preloadImages=!1)},init:function(e){e.params.lazy.enabled&&!e.params.loop&&0===e.params.initialSlide&&(e.params.lazy.checkInView?e.lazy.checkInViewOnLoad():e.lazy.load())},scroll:function(e){e.params.freeMode&&!e.params.freeModeSticky&&e.lazy.load()},"scrollbarDragMove resize _freeModeNoMomentumRelease":function(e){e.params.lazy.enabled&&e.lazy.load()},transitionStart:function(e){e.params.lazy.enabled&&(e.params.lazy.loadOnTransitionStart||!e.params.lazy.loadOnTransitionStart&&!e.lazy.initialImageLoaded)&&e.lazy.load()},transitionEnd:function(e){e.params.lazy.enabled&&!e.params.lazy.loadOnTransitionStart&&e.lazy.load()},slideChange:function(e){var t=e.params,a=t.lazy,i=t.cssMode,s=t.watchSlidesVisibility,r=t.watchSlidesProgress,n=t.touchReleaseOnEdges,l=t.resistanceRatio;a.enabled&&(i||(s||r)&&(n||0===l))&&e.lazy.load()}}},{name:"controller",params:{controller:{control:void 0,inverse:!1,by:"slide"}},create:function(){z(this,{controller:t({control:this.params.controller.control},re)})},on:{update:function(e){e.controller.control&&e.controller.spline&&(e.controller.spline=void 0,delete e.controller.spline)},resize:function(e){e.controller.control&&e.controller.spline&&(e.controller.spline=void 0,delete e.controller.spline)},observerUpdate:function(e){e.controller.control&&e.controller.spline&&(e.controller.spline=void 0,delete e.controller.spline)},setTranslate:function(e,t,a){e.controller.control&&e.controller.setTranslate(t,a)},setTransition:function(e,t,a){e.controller.control&&e.controller.setTransition(t,a)}}},{name:"a11y",params:{a11y:{enabled:!0,notificationClass:"swiper-notification",prevSlideMessage:"Previous slide",nextSlideMessage:"Next slide",firstSlideMessage:"This is the first slide",lastSlideMessage:"This is the last slide",paginationBulletMessage:"Go to slide {{index}}",slideLabelMessage:"{{index}} / {{slidesLength}}",containerMessage:null,containerRoleDescriptionMessage:null,itemRoleDescriptionMessage:null,slideRole:"group"}},create:function(){z(this,{a11y:t({},ne,{liveRegion:m('<span class="'+this.params.a11y.notificationClass+'" aria-live="assertive" aria-atomic="true"></span>')})})},on:{afterInit:function(e){e.params.a11y.enabled&&(e.a11y.init(),e.a11y.updateNavigation())},toEdge:function(e){e.params.a11y.enabled&&e.a11y.updateNavigation()},fromEdge:function(e){e.params.a11y.enabled&&e.a11y.updateNavigation()},paginationUpdate:function(e){e.params.a11y.enabled&&e.a11y.updatePagination()},destroy:function(e){e.params.a11y.enabled&&e.a11y.destroy()}}},{name:"history",params:{history:{enabled:!1,root:"",replaceState:!1,key:"slides"}},create:function(){z(this,{history:t({},le)})},on:{init:function(e){e.params.history.enabled&&e.history.init()},destroy:function(e){e.params.history.enabled&&e.history.destroy()},"transitionEnd _freeModeNoMomentumRelease":function(e){e.history.initialized&&e.history.setHistory(e.params.history.key,e.activeIndex)},slideChange:function(e){e.history.initialized&&e.params.cssMode&&e.history.setHistory(e.params.history.key,e.activeIndex)}}},{name:"hash-navigation",params:{hashNavigation:{enabled:!1,replaceState:!1,watchState:!1}},create:function(){z(this,{hashNavigation:t({initialized:!1},oe)})},on:{init:function(e){e.params.hashNavigation.enabled&&e.hashNavigation.init()},destroy:function(e){e.params.hashNavigation.enabled&&e.hashNavigation.destroy()},"transitionEnd _freeModeNoMomentumRelease":function(e){e.hashNavigation.initialized&&e.hashNavigation.setHash()},slideChange:function(e){e.hashNavigation.initialized&&e.params.cssMode&&e.hashNavigation.setHash()}}},{name:"autoplay",params:{autoplay:{enabled:!1,delay:3e3,waitForTransition:!0,disableOnInteraction:!0,stopOnLastSlide:!1,reverseDirection:!1,pauseOnMouseEnter:!1}},create:function(){z(this,{autoplay:t({},de,{running:!1,paused:!1})})},on:{init:function(e){e.params.autoplay.enabled&&(e.autoplay.start(),r().addEventListener("visibilitychange",e.autoplay.onVisibilityChange),e.autoplay.attachMouseEvents())},beforeTransitionStart:function(e,t,a){e.autoplay.running&&(a||!e.params.autoplay.disableOnInteraction?e.autoplay.pause(t):e.autoplay.stop())},sliderFirstMove:function(e){e.autoplay.running&&(e.params.autoplay.disableOnInteraction?e.autoplay.stop():e.autoplay.pause())},touchEnd:function(e){e.params.cssMode&&e.autoplay.paused&&!e.params.autoplay.disableOnInteraction&&e.autoplay.run()},destroy:function(e){e.autoplay.detachMouseEvents(),e.autoplay.running&&e.autoplay.stop(),r().removeEventListener("visibilitychange",e.autoplay.onVisibilityChange)}}},{name:"effect-fade",params:{fadeEffect:{crossFade:!1}},create:function(){z(this,{fadeEffect:t({},pe)})},on:{beforeInit:function(e){if("fade"===e.params.effect){e.classNames.push(e.params.containerModifierClass+"fade");var t={slidesPerView:1,slidesPerColumn:1,slidesPerGroup:1,watchSlidesProgress:!0,spaceBetween:0,virtualTranslate:!0};M(e.params,t),M(e.originalParams,t)}},setTranslate:function(e){"fade"===e.params.effect&&e.fadeEffect.setTranslate()},setTransition:function(e,t){"fade"===e.params.effect&&e.fadeEffect.setTransition(t)}}},{name:"effect-cube",params:{cubeEffect:{slideShadows:!0,shadow:!0,shadowOffset:20,shadowScale:.94}},create:function(){z(this,{cubeEffect:t({},ue)})},on:{beforeInit:function(e){if("cube"===e.params.effect){e.classNames.push(e.params.containerModifierClass+"cube"),e.classNames.push(e.params.containerModifierClass+"3d");var t={slidesPerView:1,slidesPerColumn:1,slidesPerGroup:1,watchSlidesProgress:!0,resistanceRatio:0,spaceBetween:0,centeredSlides:!1,virtualTranslate:!0};M(e.params,t),M(e.originalParams,t)}},setTranslate:function(e){"cube"===e.params.effect&&e.cubeEffect.setTranslate()},setTransition:function(e,t){"cube"===e.params.effect&&e.cubeEffect.setTransition(t)}}},{name:"effect-flip",params:{flipEffect:{slideShadows:!0,limitRotation:!0}},create:function(){z(this,{flipEffect:t({},ce)})},on:{beforeInit:function(e){if("flip"===e.params.effect){e.classNames.push(e.params.containerModifierClass+"flip"),e.classNames.push(e.params.containerModifierClass+"3d");var t={slidesPerView:1,slidesPerColumn:1,slidesPerGroup:1,watchSlidesProgress:!0,spaceBetween:0,virtualTranslate:!0};M(e.params,t),M(e.originalParams,t)}},setTranslate:function(e){"flip"===e.params.effect&&e.flipEffect.setTranslate()},setTransition:function(e,t){"flip"===e.params.effect&&e.flipEffect.setTransition(t)}}},{name:"effect-coverflow",params:{coverflowEffect:{rotate:50,stretch:0,depth:100,scale:1,modifier:1,slideShadows:!0}},create:function(){z(this,{coverflowEffect:t({},he)})},on:{beforeInit:function(e){"coverflow"===e.params.effect&&(e.classNames.push(e.params.containerModifierClass+"coverflow"),e.classNames.push(e.params.containerModifierClass+"3d"),e.params.watchSlidesProgress=!0,e.originalParams.watchSlidesProgress=!0)},setTranslate:function(e){"coverflow"===e.params.effect&&e.coverflowEffect.setTranslate()},setTransition:function(e,t){"coverflow"===e.params.effect&&e.coverflowEffect.setTransition(t)}}},{name:"thumbs",params:{thumbs:{swiper:null,multipleActiveThumbs:!0,autoScrollOffset:0,slideThumbActiveClass:"swiper-slide-thumb-active",thumbsContainerClass:"swiper-container-thumbs"}},create:function(){z(this,{thumbs:t({swiper:null,initialized:!1},ve)})},on:{beforeInit:function(e){var t=e.params.thumbs;t&&t.swiper&&(e.thumbs.init(),e.thumbs.update(!0))},slideChange:function(e){e.thumbs.swiper&&e.thumbs.update()},update:function(e){e.thumbs.swiper&&e.thumbs.update()},resize:function(e){e.thumbs.swiper&&e.thumbs.update()},observerUpdate:function(e){e.thumbs.swiper&&e.thumbs.update()},setTransition:function(e,t){var a=e.thumbs.swiper;a&&a.setTransition(t)},beforeDestroy:function(e){var t=e.thumbs.swiper;t&&e.thumbs.swiperCreated&&t&&t.destroy()}}}];return q.use(fe),q}));
7071 7072/*================================================================================ 7073 * @name: bPopup - if you can't get it up, use bPopup 7074 * @author: (c)Bjoern Klinggaard (twitter@bklinggaard) 7075 * @demo: http://dinbror.dk/bpopup 7076 * @version: 0.11.0.min 7077 ================================================================================*/ 7078 (function(c){c.fn.bPopup=function(A,E){function L(){a.contentContainer=c(a.contentContainer||b);switch(a.content){case "iframe":var d=c('<iframe class="b-iframe" '+a.iframeAttr+"></iframe>");d.appendTo(a.contentContainer);t=b.outerHeight(!0);u=b.outerWidth(!0);B();d.attr("src",a.loadUrl);l(a.loadCallback);break;case "image":B();c("<img />").load(function(){l(a.loadCallback);F(c(this))}).attr("src",a.loadUrl).hide().appendTo(a.contentContainer);break;default:B(),c('<div class="b-ajax-wrapper"></div>').load(a.loadUrl,a.loadData,function(d,b,e){l(a.loadCallback,b);F(c(this))}).hide().appendTo(a.contentContainer)}}function B(){a.modal&&c('<div class="b-modal '+e+'"></div>').css({backgroundColor:a.modalColor,position:"fixed",top:0,right:0,bottom:0,left:0,opacity:0,zIndex:a.zIndex+v}).appendTo(a.appendTo).fadeTo(a.speed,a.opacity);C();b.data("bPopup",a).data("id",e).css({left:"slideIn"==a.transition||"slideBack"==a.transition?"slideBack"==a.transition?f.scrollLeft()+w:-1*(x+u):m(!(!a.follow[0]&&n||g)),position:a.positionStyle||"absolute",top:"slideDown"==a.transition||"slideUp"==a.transition?"slideUp"==a.transition?f.scrollTop()+y:z+-1*t:p(!(!a.follow[1]&&q||g)),"z-index":a.zIndex+v+1}).each(function(){a.appending&&c(this).appendTo(a.appendTo)});G(!0)}function r(){a.modal&&c(".b-modal."+b.data("id")).fadeTo(a.speed,0,function(){c(this).remove()});a.scrollBar||c("html").css("overflow","auto");c(".b-modal."+e).unbind("click");f.unbind("keydown."+e);k.unbind("."+e).data("bPopup",0<k.data("bPopup")-1?k.data("bPopup")-1:null);b.undelegate(".bClose, ."+a.closeClass,"click."+e,r).data("bPopup",
7078null);clearTimeout(H);G();return!1}function I(d){y=k.height();w=k.width();h=D();if(h.x||h.y)clearTimeout(J),J=setTimeout(function(){C();d=d||a.followSpeed;var e={};h.x&&(e.left=a.follow[0]?m(!0):"auto");h.y&&(e.top=a.follow[1]?p(!0):"auto");b.dequeue().each(function(){g?c(this).css({left:x,top:z}):c(this).animate(e,d,a.followEasing)})},50)}function F(d){var c=d.width(),e=d.height(),f={};a.contentContainer.css({height:e,width:c});e>=b.height()&&(f.height=b.height());c>=b.width()&&(f.width=b.width());t=b.outerHeight(!0);u=b.outerWidth(!0);C();a.contentContainer.css({height:"auto",width:"auto"});f.left=m(!(!a.follow[0]&&n||g));f.top=p(!(!a.follow[1]&&q||g));b.animate(f,250,function(){d.show();h=D()})}function M(){k.data("bPopup",v);b.delegate(".bClose, ."+a.closeClass,"click."+e,r);a.modalClose&&c(".b-modal."+e).css("cursor","pointer").bind("click",r);N||!a.follow[0]&&!a.follow[1]||k.bind("scroll."+e,function(){if(h.x||h.y){var d={};h.x&&(d.left=a.follow[0]?m(!g):"auto");h.y&&(d.top=a.follow[1]?p(!g):"auto");b.dequeue().animate(d,a.followSpeed,a.followEasing)}}).bind("resize."+e,function(){I()});a.escClose&&f.bind("keydown."+e,function(a){27==a.which&&r()})}function G(d){function c(e){b.css({display:"block",opacity:1}).animate(e,a.speed,a.easing,function(){K(d)})}switch(d?a.transition:a.transitionClose||a.transition){case "slideIn":c({left:d?m(!(!a.follow[0]&&n||g)):f.scrollLeft()-(u||b.outerWidth(!0))-200});break;case "slideBack":c({left:d?m(!(!a.follow[0]&&n||g)):f.scrollLeft()+w+200});break;case "slideDown":c({top:d?p(!(!a.follow[1]&&q||g)):f.scrollTop()-(t||b.outerHeight(!0))-200});break;case "slideUp":c({top:d?p(!(!a.follow[1]&&q||g)):f.scrollTop()+y+200});break;default:b.stop().fadeTo(a.speed,d?1:0,function(){K(d)})}}function K(d){d?(M(),l(E),a.autoClose&&(H=setTimeout(r,a.autoClose))):(b.hide(),l(a.onClose),a.loadUrl&&(a.contentContainer.empty(),b.css({height:"auto",width:"auto"})))}function m(a){return a?x+f.scrollLeft():x}function p(a){return a?z+f.scrollTop():z}function l(a,e){c.isFunction(a)&&a.call(b,e)}function C(){z=q?a.position[1]:Math.max(0,(y-b.outerHeight(!0))/2-a.amsl);x=n?a.position[0]:(w-b.outerWidth(!0))/2;h=D()}function D(){return{x:w>b.outerWidth(!0),y:y>b.outerHeight(!0)}}c.isFunction(A)&&(E=A,A=null);var a=c.extend({},c.fn.bPopup.defaults,A);a.scrollBar||c("html").css("overflow","hidden");var b=this,f=c(document),k=c(window),y=k.height(),w=k.width(),N=/OS 6(_\d)+/i.test(navigator.userAgent),v=0,e,h,q,n,g,z,x,t,u,J,H;b.close=function(){r()};b.reposition=function(a){I(a)};return b.each(function(){c(this).data("bPopup")||(l(a.onOpen),v=(k.data("bPopup")||0)+1,e="__b-popup"+v+"__",q="auto"!==a.position[1],n="auto"!==a.position[0],g="fixed"===a.positionStyle,t=b.outerHeight(!0),u=b.outerWidth(!0),a.loadUrl?L():B())})};c.fn.bPopup.defaults={amsl:50,appending:!0,appendTo:"body",autoClose:!1,closeClass:"b-close",content:"ajax",contentContainer:!1,easing:"swing",escClose:!0,follow:[!0,!0],followEasing:"swing",followSpeed:500,iframeAttr:'scrolling="no" frameborder="0"',loadCallback:!1,loadData:!1,loadUrl:!1,modal:!0,modalClose:!0,modalColor:"#000",onClose:!1,onOpen:!1,opacity:.7,position:["auto","auto"],positionStyle:"absolute",scrollBar:!0,speed:250,transition:"fadeIn",transitionClose:!1,zIndex:9997}})(jQuery); 7079 7080$(function(){ 7081 if (typeof(EC_SHOP_MULTISHOP_SHIPPING) != "undefined") { 7082 var sShippingCountryCode4Cookie = 'shippingCountryCode'; 7083 var bShippingCountryProc = false; 7084 7085 // ë°°ì¡êµê° ì í ì¤ì ì´ ì¬ì©ìí¨ì´ë©´ ì¨ê¹ 7086 if (EC_SHOP_MULTISHOP_SHIPPING.bMultishopShippingCountrySelection === false) { 7087 $('.xans-layout-multishopshipping .xans-layout-multishopshippingcountrylist').hide(); 7088 $('.xans-layout-multishoplist .countryTitle').hide(); 7089 $('.xans-layout-multishoplist .xans-layout-multishoplistmultioptioncountry').hide(); 7090 } else { // ë°°ì¡êµê° ì í ì¤ì ì´ ì¬ì©ì´ë©´ ì¿ í¤ê°ì´ë query stringì¼ë¡ ëì´ì¨ ë°°ì¡êµê° ê°ì ì¬ì© 7091 $('.xans-multishop-listitem').hide(); 7092 $('.xans-layout-multishoplist > h1').hide(); 7093 $('.xans-layout-multishoplist .languageTitle').show(); 7094 $('.xans-layout-multishoplist .xans-layout-multishoplistmultioptionlanguage').show(); 7095 $('.xans-layout-multishoplist .countryTitle').show(); 7096 $('.xans-layout-multishoplist .xans-layout-multishoplistmultioptioncountry').show(); 7097 7098 var aShippingCountryCode = document.cookie.match('(^|;) ?'+sShippingCountryCode4Cookie+'=([^;]*)(;|$)'); 7099 7100 if (typeof(aShippingCountryCode) != 'undefined' && aS
7100hippingCountryCode != null && aShippingCountryCode.length > 2) { 7101 var sShippingCountryValue = aShippingCountryCode[2]; 7102 } 7103 7104 // query stringì¼ë¡ ëì´ ì¨ ë°°ì¡êµê° ê°ì´ ìë¤ë©´, ê·¸ ê°ì ì ì©í¨ 7105 var aHrefCountryValue = decodeURIComponent(location.href).split("/?country="); 7106 7107 if (aHrefCountryValue.length == 2) { 7108 var sShippingCountryValue = aHrefCountryValue[1]; 7109 } 7110 7111 // ë©ì¸ íì´ì§ìì êµê°ì íì ìí ê²½ì°, ê·¸ ì¸ì íì´ì§ìì ì í ë ê°ì´ ì ëì¤ë íì ì²ë¦¬ 7112 if (location.href.split("/").length != 4 && $(".xans-layout-multishopshipping .xans-layout-multishopshippingcountrylist").val()) { 7113 $(".xans-layout-multishoplist .xans-layout-multishoplistmultioption a .ship span").text(" : "+$(".xans-layout-multishopshipping .xans-layout-multishopshippingcountrylist option:selected").text().split("SHIPPING TO : ").join("")); 7114 if ($("#f_country").length > 0 && location.href.indexOf("orderform.html") > -1) { 7115 $("#f_country").val($(".xans-layout-multishopshipping .xans-layout-multishopshippingcountrylist").val()); 7116 } 7117 } 7118 if (typeof(sShippingCountryValue) != "undefined" && sShippingCountryValue != "" && sShippingCountryValue != null) { 7119 sShippingCountryValue = sShippingCountryValue.split("#")[0]; 7120 var bShippingCountryProc = true; 7121 7122 $(".xans-layout-multishopshipping .xans-layout-multishopshippingcountrylist").val(sShippingCountryValue); 7123 $(".xans-layout-multishoplist .xans-multishop-listitem .countryLink").text($(".xans-layout-multishopshipping .xans-layout-multishopshippingcountrylist option:selected").text()); 7124 7125 var expires = new Date(); 7126 expires.setTime(expires.getTime() + (30 * 24 * 60 * 60 * 1000)); // 30ì¼ê° ì¿ í¤ ì ì§ 7127 document.cookie = sShippingCountryCode4Cookie+'=' + $(".xans-layout-multishopshipping .xans-layout-multishopshippingcountrylist").val() +';path=/'+ ';expires=' + expires.toUTCString(); 7128 7129 if ($("#f_country").length > 0 && location.href.indexOf("orderform.html") > -1) { 7130 $("#f_country").val(sShippingCountryValue).change(); 7131 } 7132 } 7133 } 7134 7135 // ì¸ì´ì í ì¤ì ì´ ì¬ì©ìí¨ì´ë©´ ì¨ê¹ 7136 if (EC_SHOP_MULTISHOP_SHIPPING.bMultishopShippingLanguageSelection === false) { 7137 $('.xans-layout-multishopshipping .xans-layout-multishopshippinglanguagelist').hide(); 7138 $('.xans-layout-multishoplist .languageTitle').hide(); 7139 $('.xans-layout-multishoplist .xans-layout-multishoplistmultioptionlanguage').hide(); 7140 } else { 7141 $('.xans-multishop-listitem').hide(); 7142 $('.xans-layout-multishoplist > h1').hide(); 7143 $('.xans-layout-multishoplist .languageTitle').show(); 7144 $('.xans-layout-multishoplist .xans-layout-multishoplistmultioptionlanguage').show(); 7145 $('.xans-layout-multishoplist .countryTitle').show(); 7146 $('.xans-layout-multishoplist .xans-layout-multishoplistmultioptioncountry').show(); 7147 } 7148 7149 // ë°°ì¡êµê° ë° ì¸ì´ ì¤ì ì´ ë ë¤ ì¬ì©ìí¨ì´ë©´ ì¨ê¹ 7150 if (EC_SHOP_MULTISHOP_SHIPPING.bMultishopShipping === false) { 7151 $(".xans-layout-multishopshipping").hide(); 7152 $('.xans-layout-multishoplist .countryTitle').hide(); 7153 $('.xans-layout-multishoplist .xans-layout-multishoplistmultioptioncountry').hide(); 7154 $('.xans-layout-multishoplist .languageTitle').hide(); 7155 $('.xans-layout-multishoplist .xans-layout-multishoplistmultioptionlanguage').hide(); 7156 } else if (bShippingCountryProc === false && location.href.split("/").length == 4) { // ë°°ì¡êµê° ê°ì ì²ë¦¬í ì ì´ ìê³ , ë©ì¸íë©´ì¼ ëë§ ì í ë ì´ì´ë¥¼ ëì 7157 var sShippingCountryValue = $(".xans-layout-multishopshipping .xans-layout-multishopshippingcountrylist").val(); 7158 $(".xans-layout-multishopshipping .xans-layout-multishopshippingcountrylist").val(sShippingCountryValue); 7159 $(".xans-layout-multishoplist .xans-multishop-listitem .countryLink").text($(".xans-layout-multishopshipping .xans-layout-multishopshippingcountrylist option:selected").text()); 7160 // ë°°ì¡êµê° ì íì ì¬ì©í´ì¼ ë ì´ì´ë¥¼ ë³´ì´ê² í¨ 7161 if (EC_SHOP_MULTISHOP_SHIPPING.bMultishopShippingCountrySelection === true) { 7162 $(".xans-layout-multishopshipping").show(); 7163 } 7164 } 7165 7166 $(".xans-layout-multishopshipping .btnClose").on("click", function() { 7167 $(".xans-layout-multishopshipping").hide(); 7168 }); 7169 7170 $(".xans-layout-multishopshipping .ec-base-button a").on("click", function() { 7171 var expires = new Date(); 7172 expires.setTime(expires.getTime() + (30 * 24 * 60 * 60 * 1000)); // 30ì¼ê° ì¿ í¤ ì ì§ 7173 document.cookie = sShippingCountryCode4Cookie+'=' + $(".xans-layout-multishopshipping .xans-layout-multishopshippingcountrylist").val() +';path=/'+ ';expires=' + expires.toUTCString(); 7174 7175 // ëë©ì¸ 문ì ë¡ ì¿ í¤ë¡ ë°°ì¡êµê° ì¤ì ì´ ì ëë ê²½ì°ë¥¼ ìí´ query stringì¼ë¡ ë°°ì¡êµê° ê°
7175ì ëê¹ 7176 var sQuerySting = (EC_SHOP_MULTISHOP_SHIPPING.bMultishopShippingCountrySelection === false) ? "" : "/?country="+encodeURIComponent($(".xans-layout-multishopshipping .xans-layout-multishopshippingcountrylist").val()); 7177 7178 location.href = '//'+$(".xans-layout-multishopshipping .xans-layout-multishopshippinglanguagelist").val()+sQuerySting; 7179 }); 7180 $(".xans-layout-multishoplist .xans-multishop-listitem .countryLink").on("click", function(e) { 7181 $('#dimmedSlider').toggle(); 7182 $('html').toggleClass('expand'); 7183 $(".xans-layout-multishopshipping").show(); 7184 e.preventDefault(); 7185 }); 7186 $(".xans-layout-multishoplist .xans-multishop-listitem .languageLink").on("click", function(e) { 7187 $('#dimmedSlider').toggle(); 7188 $('html').toggleClass('expand'); 7189 $(".xans-layout-multishopshipping").show(); 7190 e.preventDefault(); 7191 }); 7192 } 7193}); 7194 /** 7195 * 모ë°ì¼ì¼í몰 ì¬ë¼ì´ë©ë©ë´ */ 7196var aCategory = []; 7197$(function(){ 7198 $('body').append('<div id="dimmedSlider"></div>'); 7199 var methods = { 7200 aCategory : [], 7201 aSubCategory : {}, 7202 get: function() 7203 { 7204 $.ajax({ 7205 url : '/exec/front/Product/SubCategory', 7206 dataType: 'json', 7207 success: function(aData) { 7208 if (aData == null || aData == 'undefined') { 7209 methods.checkSub(); 7210 return; 7211 } 7212 for (var i=0; i<aData.length; i++) 7213 { 7214 var sParentCateNo = aData[i].parent_cate_no; 7215 var sCateNo = aData[i].cate_no; 7216 if (!methods.aSubCategory[sParentCateNo]) { 7217 methods.aSubCategory[sParentCateNo] = []; 7218 } 7219 if (!aCategory[sCateNo]) { 7220 aCategory[sCateNo] = []; 7221 } 7222 methods.aSubCategory[sParentCateNo].push( aData[i] ); 7223 aCategory[sCateNo] = aData[i]; 7224 } 7225 methods.checkSub(); 7226 methods.getMyCateList(); 7227 } 7228 }); 7229 }, 7230 getParam: function(sUrl, sKey) { 7231 if (typeof sUrl !== 'string') return; 7232 var aUrl = sUrl.split('?'); 7233 var sQueryString = aUrl[1]; 7234 var aParam = {}; 7235 if (sQueryString) { 7236 var aFields = sQueryString.split("&"); 7237 var aField = []; 7238 for (var i=0; i<aFields.length; i++) { 7239 aField = aFields[i].split('='); 7240 aParam[aField[0]] = aField[1]; 7241 } 7242 } 7243 return sKey ? aParam[sKey] : aParam; 7244 }, 7245 7246 show: function(overNode, iCateNo) { 7247 var oParentNode = overNode; 7248 var aHtml = []; 7249 var sMyCateList = localStorage.getItem("myCateList"); 7250 if (methods.aSubCategory[iCateNo] != undefined) { 7251 aHtml.push('<ul class="slideSubMenu">'); 7252 $(methods.aSubCategory[iCateNo]).each(function() { 7253 var sNextParentNo = this.cate_no; 7254 var sCateSelected = (checkInArray(sMyCateList, this.cate_no) == true) ? ' selected' : ''; 7255 if (methods.aSubCategory[sNextParentNo] == undefined) { 7256 aHtml.push('<li class="noChild" id="cate'+this.cate_no+'">'); 7257 var sHref = '/product/list.html'+this.param; 7258 } else { 7259 aHtml.push('<li id="cate'+this.cate_no+'">'); 7260 var sHref = '#none'; 7261 } 7262 aHtml.push('<a href="/product/list.html'+this.param+'" class="view">'+this.name+'</a>'); 7263 if (methods.aSubCategory[sNextParentNo] != undefined) aHtml.push('<a href="'+sHref+'" class="cate" cate="'+this.param+'" onclick="subMenuEvent(this);"></a>'); 7264 7265 if (methods.aSubCategory[sNextParentNo] != undefined) { 7266 aHtml.push('<ul>'); 7267 $(methods.aSubCategory[sNextParentNo]).each(function() { 7268 var sNextParentNo2 = this.cate_no; 7269 var sCateSelected = (checkInArray(sMyCateList, this.cate_no) == true) ? ' selected' : ''; 7270 if (methods.aSubCategory[sNextParentNo2] == undefined) { 7271 aHtml.push('<li class="noChild" id="cate'+this.cate_no+'">'); 7272 var sHref = '/product/list.html'+this.param; 7273 } else { 7274 aHtml.push('<li id="cate'+this.cate_no+'">'); 7275 var sHref = '#none'; 7276 } 7277 aHtml.push('<a href="/product/list.html'+this.param+'" class="view">'+this.name+'</a>'); 7278 if (methods.aSubCategory[sNextParentNo] != undefined) aHtml.push('<a href="'+sHref+'" class="cate" cate="'+this.param+'" onclick="subMenuEvent(this);"></a>'); 7279 7280 if (methods.aSubCategory[sNextParentNo2] != undefined) { 7281 aHtml.push('<ul>'); 7282 7283 $(methods.aSubCategory[sNextParentNo2]).each(function() { 7284 aHtml.push('<li class="noChild" id="cate'+this.cate_no+'">'); 7285 var sCateSelected = (checkInArray(sMyCateList, this.cate_no) == true) ? ' selected' : ''; 7286 aHtml.push('<a href="/product/list.html'+this.param+'" class="view">'+this.name+'</a>'); 7287 aHtml.push('</li>'); 7288 }); 7289 aHtml.push('</ul>'); 7290 } 7291 aHtml.push('</li>'); 7292 }); 7293 aHtml.push('</ul>'); 7294 } 7295 aHtml.push('</li>'); 7296 }); 7297 aHtml.push('</ul>'); 7298 } 7299 $(oParentNode).append(aHtml.join('')); 7300 }, 7301 close: function() { 7302 $('.slideSubMenu').remove(); 7303 }, 7304 checkSub: function() { 7305 $('.cate').each(function(){ 7306 var sParam = $(this).attr('cate'); 7307 if (!sParam) return; 7308 var iCateNo = Number(methods.getParam(sParam, 'cate_no')); 7309 var result = methods.aSubCategory[iCateNo]; 7310 if (result == undefined) { 7311 if ($(this).closest('#slideProjectList').length) { 7312 var sHref = '/product/project.html'+sParam; 7313 } else { 7314 var sHref = '/product/list.html'+sParam; 7315 } 7316 7317 $(this).attr('href', sHref); 7318 $(this).parent().attr('class', 'noChild'); 7319 } 7320 }); 7321 }, 7322 getMyCateList :function() { 7323 var sMyCateList = localStorage.getItem("myCateList"); 7324 if (sMyCateList != null && sMyCateList != "") { 7325 var aTempList = sMyCateList.split("|"); 7326 var aHtml = []; 7327 for (var i = 0; i < aTempList.length; i++) { 7328 if (aTempList[i] != "") { 7329 var iCateNo = aTempList[i]; 7330 var sCateName = aCategory[iCateNo].name; 7331 var sCateParam = aCategory[iCateNo].param; 7332 aHtml.push('<li id="bookmark'+iCateNo+'"><a href="/product/list.html'+sCateParam+'" book_mark="'+iCateNo+'">'+sCateName+'</a><button type="button" class="icoBookmark selected" onclick="setMyCateList('+iCateNo+');">ì¦ê²¨ì°¾ê¸° ìì </button></li>'); 7333 $("#cate"+iCateNo+" #icoBookmark").addClass("selected"); 7334 } 7335 } 7336 $('#bookmartCateArea').append('<ul>'+aHtml.join('')+'</ul>'); 7337 } 7338 chkMyCateList(); 7339 } 7340 }; 7341 7342 var offCover = { 7343 init : function() { 7344 $(function() {
7345 $('#wrap').append('<a href="#container" id="btnFoldLayout">ë©ë´ í ê¸</a>'); 7346 offCover.resize(); 7347 $(window).on('resize', function(){ 7348 offCover.resize(); 7349 }); 7350 }); 7351 }, 7352 layout : function(){ 7353 if ($('html').hasClass('expand')) { 7354 $('#btnFoldLayout').show(); 7355 $('#aside').css({'visibility':'visible', 'display':'block'}); 7356 $('html, body').css({"overflow-x":""}) 7357 7358 setTimeout(function(){ 7359 $('#btnFoldLayout').css({'background':'rgba(0,0,0,0.7)'}); 7360 }, 350); 7361 } else { 7362 $('#btnFoldLayout').hide(); 7363 $('#aside').css({'z-index':0}); 7364 setTimeout(function(){ 7365 $('#aside').css({'visibility':'', 'display':'none'}); 7366 }, 300); 7367 } 7368 $('#aside').css({'visibility':'visible'}); 7369 }, 7370 resize : function(){ 7371 var height = $('body').height(); 7372 $('#container').css({'min-height':height}); 7373 } 7374 }; 7375 methods.get(); 7376 7377 offCover.init(); 7378 7379 7380 $('#mheader .fold').on('click', function(e){ 7381 $('#dimmedSlider').show(300); 7382 $('html').toggleClass('expand'); 7383 offCover.layout(); 7384 e.preventDefault(); 7385 }); 7386 7387 7388 $('#aside .btnClose').on('click', function(e){ 7389 $('#dimmedSlider').hide(300); 7390 $('html').toggleClass('expand'); 7391 offCover.layout(); 7392 e.preventDefault(); 7393 }); 7394 7395 $(document).on('click', '#btnFoldLayout', function(e) { 7396 $('#aside .btnClose').trigger('click'); 7397 e.preventDefault(); 7398 }); 7399 7400 $('#slideCateList li > a.cate').on('click', function(e) { 7401 var sParam = $(this).attr('cate'); 7402 if (!sParam) return; 7403 var iCateNo = Number(methods.getParam(sParam, 'cate_no')); 7404 if ($(this).parent().attr('class') == 'xans-record- selected') { 7405 methods.close(); 7406 } else { 7407 if (!iCateNo) return; 7408 $('#aside #slideCateList li').removeClass('selected'); 7409 methods.close(); 7410 methods.show(this.parentNode, iCateNo); 7411 } 7412 }); 7413 7414 $('#aside ul a.cate').on('click', function(e){ 7415 $(this).parent().find('li').removeClass('selected'); 7416 $(this).parent().toggleClass('selected'); 7417 if (!$(this).parent('li').hasClass('noChild')){ 7418 e.preventDefault(); 7419 } 7420 }); 7421 7422 $(document).on('click', "#icoBookmark", function() { 7423 var sParam = $(this).parent().find('a').attr('cate'); 7424 if (!sParam) return; 7425 var iCateNo = Number(methods.getParam(sParam, 'cate_no')); 7426 setMyCateList(iCateNo, $(this)); 7427 }); 7428 7429 $('#slideCateList h2').on('click', function() { 7430 var oParentId = $(this).parent().attr('id'); 7431 if (oParentId == 'slideCateList' || oParentId == 'slideMultishopList' || oParentId == 'slideProjectList') { 7432 ($(this).attr('class') == 'selected') ? $(this).next().hide() : $(this).next().show(); 7433 } else if (oParentId == 'bookmarkCategory') { 7434 if ($(this).attr('class') == 'selected') { 7435 $(this).parent().find('#bookmarkEmpty').hide(); 7436 $(this).parent().find('#bookmartCateArea').hide(); 7437 } else { 7438 chkMyCateList(); 7439 $(this).parent().find('#bookmartCateArea').show(); 7440 } 7441 } 7442 $(this).toggleClass('selected'); 7443 }); 7444}); 7445function subMenuEvent(obj) { 7446 $(obj).parent().find('li').removeClass('selected'); 7447 $(obj).parent().toggleClass('selected'); 7448} 7449function setMyCateList(iCateNo, oObj) { 7450 $(oObj).toggleClass('selected'); 7451 var sMyCateList = localStorage.getItem("myCateList"); 7452 var aCateList = []; 7453 if (checkInArray(sMyCateList, iCateNo) == true) { 7454 var aTemp = sMyCateList.split("|"); 7455 for (var i = 0 ; i < aTemp.length ; i++) { 7456 if (aTemp[i] != iCateNo) { 7457 aCateList.push(aTemp[i]); 7458 } 7459 } 7460 var sCateList = aCateList.join('|'); 7461 localStorage.setItem("myCateList" , sCateList); 7462 $('#bookmartCateArea #bookmark'+iCateNo).remove(); 7463 if (aCateList.length == 0) { 7464 $('#bookmarkCategory #bookmartCateArea').find('ul').remove(); 7465 } 7466 $("#cate"+iCateNo+" > #icoBookmark").removeClass("selected"); 7467 } else { 7468 var sCateName = aCategory[iCateNo].name; 7469 var sCateParam = aCategory[iCateNo].param; 7470 var sHtml = ''; 7471 if (sMyCateList == null || sMyCateList == '') { 7472 sHtml = '<ul><li id="bookmark'+iCateNo+'"><a href="/product/list.html'+sCateParam+'" book_mark="'+iCateNo+'">'+sCateName+'</a><button type="button" class="icoBookmark selected" onclick="setMyCateList('+iCateNo+');">ì¦ê²¨ì°¾ê¸° ìì </button></li></ul>' 7473 $('#bookmarkCategory #bookmartCateArea').append(sHtml); 7474 } else { 7475 sHtml = '<li id="bookmark'+iCateNo+'"><a href="/product/list.html'+sCateParam+'" book_mark="'+iCateNo+'">'+sCateName+'</a><button type="button" class="icoBookmark selected" onclick="setMyCateList('+iCateNo+');">ì¦ê²¨ì°¾ê¸° ìì </button></li>' 7476 $('#bookmarkCategory #bookmartCateArea ul').append(sHtml); 7477 } 7478 $(this).addClass('selected'); 7479 if (sMyCateList == null || sMyCateList == '') { 7480 localStorage.setItem('myCateList' , iCateNo); 7481 } else { 7482 localStorage.setItem('myCateList' , sMyCateList + '|' + iCateNo); 7483 } 7484 } 7485 chkMyCateList(); 7486}
7487function checkInArray(sBookmarkList, iCateNo) { 7488 if (sBookmarkList == null) return false; 7489 var aBookmarkList = sBookmarkList.split("|"); 7490 for (var i = 0; i < aBookmarkList.length; i++) { 7491 if (aBookmarkList[i] == iCateNo) { 7492 return true; 7493 } 7494 } 7495 return false; 7496} 7497function chkMyCateList() { 7498 var sMyCateList = localStorage.getItem("myCateList"); 7499 if (sMyCateList == null || sMyCateList == '') { 7500 $('#bookmarkEmpty').show(); 7501 } else { 7502 $('#bookmarkEmpty').hide(); 7503 } 7504}
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.