1(function(){"use strict";class a{constructor(){this.queue=[],this.processing=!1,this.pendingTasks=new Set}enqueue(a,b=null){return b&&this.pendingTasks.has(b)?Promise.reject():new Promise((c,d)=>{this.queue.push({task:a,resolve:c,reject:d,taskId:b}),this.processing||this.processQueue()})}async processQueue(){if(!(this.processing||0===this.queue.length)){for(this.processing=!0;0<this.queue.length;){const{task:a,resolve:b,reject:c,taskId:d}=this.queue.shift();d&&this.pendingTasks.add(d);try{const c=await a();b(c)}catch(a){c(a)}finally{d&&this.pendingTasks.delete(d)}}this.processing=!1}}clear(){this.queue=[],this.pendingTasks.clear()}size(){return this.queue.length}}new a,(()=>{const b=function(b){this.sentBannerIds=new Set,this.sentPromotionIds=new Set,this.analyticsQueue=new a,this.getPromotionPayload=a=>{const b=a?.dataset?.promotion;try{return b?JSON.parse(b):null}catch(a){return null}},this.trackItemSelection=a=>{if("1"!==a?.items[0]?.id&&a?.items[0]?.price){const c=b.getAttribute("aria-label");window.GtagService.trackSelectItem(c,a?.items)}},this.loadSlide=function(a){const c=b.querySelectorAll(a);c.forEach(a=>{const b=a.querySelectorAll("[data-srcset]"),c=a.querySelectorAll("[data-src]");b.forEach(a=>{a.setAttribute("srcset",a.getAttribute("data-srcset"))}),c.forEach(a=>{a.setAttribute("src",a.getAttribute("data-src")),a.classList.add("loaded")})})},this.sendAnalytics=(a,b)=>{const c=a.filter(a=>!this.sentBannerIds.has(a));if(0===c.length)return Promise.resolve();const d=c.sort().join("_");return this.analyticsQueue.enqueue((async()=>{const a=await fetch("/api/v1/banners/show",{method:"POST",cache:"no-cache",headers:{[b.header]:b.token},body:JSON.stringify({ids:c})});return a.ok?(c.forEach(a=>this.sentBannerIds.add(a)),{success:!0,ids:c}):void console.error("Banner show analytics error")}).bind(this),d)},this.initClickAnalytics=(a,b,c)=>{a.addEventListener("click",()=>{const d=a.closest(".swiper-slide"),e=this.getPromotionPayload(d),f=e?.promotion_id||b;e&&f&&window.GtagService&&(window.GtagService.trackSelectPromotion(e),this.trackItemSelection(e)),fetch(`/api/v1/banners/${b}/click`,{method:"POST",cache:"no-cache",headers:{[c.header]:c.token}}).then(a=>{a.ok||console.error("Banner click analytics error")})})},this.getVisibleSlideElements=()=>{const{slider:a}=this._data;if(!a)return[];const b=Array.from(a.visibleSlides||[]);if(b.length)return b;const c=Array.from(a.slides||[]),d=+(a.activeIndex||0),e=Math.max(1,+a.params?.slidesPerView||1),f=Math.min(c.length,d+Math.ceil(e));return c.slice(d,f)},this.sendVisibleSlidesAnalytics=()=>{if(!this._data.banners||!window.APP?.stateStore?.csrf||!this._data.isIntersect)return;const a=window.APP.stateStore.csrf,b=[],c=this.getVisibleSlideElements();c.forEach(a=>{const c=a.querySelector("[data-banner-id]");if(c){const{bannerId:d}=c.dataset,e=this.getPromotionPayload(a),f=e?.promotion_id||d;e&&f&&!this.sentPromotionIds.has(f)&&(this.sentPromotionIds.add(f),window.GtagService&&window.GtagService.trackViewPromotion(e)),d&&!this.sentBannerIds.has(d)&&b.push(d)}}),b.length&&this.sendAnalytics(b,a),this.observer&&this.sentBannerIds.size===c.length&&(this.observer.disconnect(),this.observer=null,this._data.isIntersect=!0)},this.initAnalytics=()=>{this._data.banners=this._data.container.querySelectorAll("[data-banner-id]");const a=window.APP?.stateStore?.csrf;this._data.banners?.length&&a?.token&&this._data.banners.forEach(b=>{const{bannerId:c}=b.dataset;c&&this.initClickAnalytics(b,c,a)})},this.initSlider=function(){const a=this._data.container.querySelector(".swiper-button-prev"),b=this._data.container.querySelector(".swiper-button-next"),c=this._data.container.querySelector(".swiper-pagination"),d=this._data.container.parentElement.querySelector(".banner-skeleton");this._data.slider=new Swiper(this._data.container,{observer:!0,autoplay:!0,watchSlidesProgress:!0,slidesPerView:2,slidesPerGroup:1,loop:!0,speed:600,navigation:{nextEl:b,prevEl:a},pagination:{el:c,clickable:!0,dynamicBullets:!1},breakpoints:{1560:{spaceBetween:24},991:{spaceBetween:18},690:{spaceBetween:10},575:{pagination:{dynamicBullets:!1}},0:{pagination:{dynamicBullets:!0}}},on:{init:()=>{this._data.initialized=!0,requestAnimationFrame(()=>{this.sendVisibleSlidesAnalytics()})},slideChangeTransitionEnd:()=>{this.sendVisibleSlidesAnalytics()}}}),this._data.container.classList.remove("slider-hidden"),d&&d.remove();this._data.container?.classList.contains("first-slider")&&window.innerWidth<768?this._data.slider.on("slideChange",()=>{this.loadSlide(".swiper-slide")}):this.loadSlide(".swiper-slide"),this.initAnalytics()},this.initObserver=function(){this.observer=new IntersectionObserver(a=>{a.forEach(a=>{this._data.isIntersect=a.isIntersecting,a.isIntersecting&&(this.sendVisibleSlidesAnalytics(),!this._data.initialized&&this.initSlider())})},{rootMargin:"10px"}),this.observer.observe(this._data.container)},this.initParams=function(){this._data={container:b,slider:null,timer:null,banners:null,isIntersect:!1,initialized:!1}},this.init=function(){this.initParams(),this.initObserver()}};window.addEventListener("global-state-mounted",()=>{const a=document.getElementsByClassName("js-sl-ban");for(let c=0;c<a.length;c++)new b(a[c]).init()})})()})();
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.