jQuery(window).on("elementor/frontend/init", function (){
elementorFrontend.hooks.addAction("frontend/element_ready/rtm-navmenu.default",
function ($scope, $){
$.fn.isOutOfViewport=function (){
var element=$(this)[0];
var rect=element.getBoundingClientRect();
return (
rect.top < 0 ||
rect.left < 0 ||
rect.bottom > $(window).height() ||
rect.right > $(window).width()
);
};
function setPos(){
$scope
.find(".rkit-submenu-item .rkit-navmenu-dropdown")
.each(function (){
const $this=$(this);
if($this.isOutOfViewport()){
$this.css({
left: "auto",
right: "100%",
});
}else{
$this.css({
right: "auto",
left: "100%",
});
}});
}
setPos();
const $container=$scope.find(".rkit-navmenu-container");
let responsive=$container.data("responsive");
let widthResponsive=responsive=="tablet" ? 1024:768;
$screenWidth=jQuery(window).width();
function setElHeight(){
let d=3;
$scope.find(".rkit-navmenu-dropdown").each(function (){
var scrollHeight=$(this).prop("scrollHeight");
$(this).css("--height", scrollHeight * d + "px");
});
$scope.find(".rkit-responsive-menu").each(function (){
var scrollHeight=$(this).prop("scrollHeight");
$(this).css("--height", scrollHeight * d + "px");
});
}
setElHeight();
function fullwidth(){
var nav_container=$scope.find(".rkit-navmenu-container");
var elementorsection=$scope.closest(".elementor");
var responsive_navmenu=nav_container.find(".rkit-responsive-menu");
if(responsive_navmenu.hasClass("rkit-navmenu-fullwidth")){
var section_width=elementorsection.width();
$(".rkit-navmenu-fullwidth").css("width", section_width + "px");
var left=-1 * Math.round(nav_container.offset().left);
$(".rkit-navmenu-fullwidth").css("left", left + "px");
}}
if($screenWidth <=widthResponsive){
fullwidth();
$scope
.find(".rkit-dropdown-hover > a > .rkit-submenu-icon")
.click(function (e){
e.preventDefault();
});
}
jQuery(window).on("resize", function (){
setElHeight();
setPos();
$screenWidth=jQuery(window).width();
if($screenWidth <=widthResponsive){
fullwidth();
$scope
.find(".rkit-dropdown-hover > a > .rkit-submenu-icon")
.click(function (e){
e.preventDefault();
});
}else{
var nav_container=$scope.find(".rkit-navmenu-container");
var responsive_navmenu=nav_container.find(".rkit-responsive-menu");
if(responsive_navmenu.hasClass("rkit-navmenu-fullwidth")){
$scope.find(".rkit-navmenu-fullwidth").removeAttr("style");
}}
});
$scope.find(".rkit-btn-hamburger").click(function (e){
e.preventDefault();
$siblings=$(this).parent().siblings();
$siblings.toggleClass("rkit-menu-show");
$(this).toggleClass("rkit-hamburger-show");
});
$scope
.find(".rkit-menu-item.rkit-dropdown-click > a")
.click(function (e){
e.preventDefault();
const parentMenuItem=$(this).parent();
$scope
.find(".rkit-menu-item.rkit-dropdown-show")
.not(parentMenuItem)
.removeClass("rkit-dropdown-show");
if(parentMenuItem
.find(".rkit-dropdown-click")
.hasClass("rkit-dropdown-show")
){
parentMenuItem
.find(".rkit-dropdown-click")
.removeClass("rkit-dropdown-show");
}
parentMenuItem.toggleClass("rkit-dropdown-show");
});
$scope
.find(".rkit-submenu-item.rkit-dropdown-click > a")
.click(function (e){
e.preventDefault();
const parentMenuItem=$(this).parent();
parentMenuItem.toggleClass("rkit-dropdown-show");
if(parentMenuItem
.find(".rkit-dropdown-click")
.hasClass("rkit-dropdown-show")
){
parentMenuItem
.find(".rkit-dropdown-click")
.removeClass("rkit-dropdown-show");
}
parentMenuItem.siblings().removeClass("rkit-dropdown-show");
});
jQuery(document).on("click", function (e){
if(!$scope.is(e.target)&&$scope.has(e.target).length===0){
if($scope.find(".rkit-dropdown-click").hasClass("rkit-dropdown-show")
){
$scope
.find(".rkit-dropdown-click")
.removeClass("rkit-dropdown-show");
}
if($scope.find(".rkit-responsive-menu").hasClass("rkit-menu-show")){
$scope.find(".rkit-responsive-menu").removeClass("rkit-menu-show");
$scope
.find(".rkit-btn-hamburger")
.removeClass("rkit-hamburger-show");
}}
});
}
);
});
jQuery(window).on("elementor/frontend/init", function (){
elementorFrontend.hooks.addAction("frontend/element_ready/rtm-offcanvas.default",
function ($scope, $){
const $btn=$scope.find(".menu-button-rometheme");
const $closeBtn=$scope.find(".rkit-offcanvas-close");
const $overlay=$scope.find(".overlay-rometheme");
$btn.click(function (e){
e.preventDefault();
$(this).closest(".rkit-offcanvas").addClass("offcanvas-show");
$('body').css('overflow', 'hidden');
});
$closeBtn.click(function (e){
e.preventDefault();
$(this).closest(".rkit-offcanvas").removeClass("offcanvas-show");
$('body').css('overflow', '');
});
$overlay.click(function (e){
e.preventDefault();
$(this).closest(".rkit-offcanvas").removeClass("offcanvas-show");
$('body').css('overflow', '');
});
}
);
});
jQuery(window).on("elementor/frontend/init", function (){
elementorFrontend.hooks.addAction("frontend/element_ready/rtm-navmenu.default",
function ($scope, $){
$.fn.isOutOfViewport=function (){
var element=$(this)[0];
var rect=element.getBoundingClientRect();
return (
rect.top < 0 ||
rect.left < 0 ||
rect.bottom > $(window).height() ||
rect.right > $(window).width()
);
};
function setPos(){
$scope
.find(".rkit-submenu-item .rkit-navmenu-dropdown")
.each(function (){
const $this=$(this);
if($this.isOutOfViewport()){
$this.css({
left: "auto",
right: "100%",
});
}else{
$this.css({
right: "auto",
left: "100%",
});
}});
}
setPos();
const $container=$scope.find(".rkit-navmenu-container");
let responsive=$container.data("responsive");
let widthResponsive=responsive=="tablet" ? 1024:768;
$screenWidth=jQuery(window).width();
function setElHeight(){
let d=3;
$scope.find(".rkit-navmenu-dropdown").each(function (){
var scrollHeight=$(this).prop("scrollHeight");
$(this).css("--height", scrollHeight * d + "px");
});
$scope.find(".rkit-responsive-menu").each(function (){
var scrollHeight=$(this).prop("scrollHeight");
$(this).css("--height", scrollHeight * d + "px");
});
}
setElHeight();
function fullwidth(){
var nav_container=$scope.find(".rkit-navmenu-container");
var elementorsection=$scope.closest(".elementor");
var responsive_navmenu=nav_container.find(".rkit-responsive-menu");
if(responsive_navmenu.hasClass("rkit-navmenu-fullwidth")){
var section_width=elementorsection.width();
$(".rkit-navmenu-fullwidth").css("width", section_width + "px");
var left=-1 * Math.round(nav_container.offset().left);
$(".rkit-navmenu-fullwidth").css("left", left + "px");
}}
if($screenWidth <=widthResponsive){
fullwidth();
$scope
.find(".rkit-dropdown-hover > a > .rkit-submenu-icon")
.click(function (e){
e.preventDefault();
});
}
jQuery(window).on("resize", function (){
setElHeight();
setPos();
$screenWidth=jQuery(window).width();
if($screenWidth <=widthResponsive){
fullwidth();
$scope
.find(".rkit-dropdown-hover > a > .rkit-submenu-icon")
.click(function (e){
e.preventDefault();
});
}else{
var nav_container=$scope.find(".rkit-navmenu-container");
var responsive_navmenu=nav_container.find(".rkit-responsive-menu");
if(responsive_navmenu.hasClass("rkit-navmenu-fullwidth")){
$scope.find(".rkit-navmenu-fullwidth").removeAttr("style");
}}
});
$scope.find(".rkit-btn-hamburger").click(function (e){
e.preventDefault();
$siblings=$(this).parent().siblings();
$siblings.toggleClass("rkit-menu-show");
$(this).toggleClass("rkit-hamburger-show");
});
$scope
.find(".rkit-menu-item.rkit-dropdown-click > a")
.click(function (e){
e.preventDefault();
const parentMenuItem=$(this).parent();
$scope
.find(".rkit-menu-item.rkit-dropdown-show")
.not(parentMenuItem)
.removeClass("rkit-dropdown-show");
if(parentMenuItem
.find(".rkit-dropdown-click")
.hasClass("rkit-dropdown-show")
){
parentMenuItem
.find(".rkit-dropdown-click")
.removeClass("rkit-dropdown-show");
}
parentMenuItem.toggleClass("rkit-dropdown-show");
});
$scope
.find(".rkit-submenu-item.rkit-dropdown-click > a")
.click(function (e){
e.preventDefault();
const parentMenuItem=$(this).parent();
parentMenuItem.toggleClass("rkit-dropdown-show");
if(parentMenuItem
.find(".rkit-dropdown-click")
.hasClass("rkit-dropdown-show")
){
parentMenuItem
.find(".rkit-dropdown-click")
.removeClass("rkit-dropdown-show");
}
parentMenuItem.siblings().removeClass("rkit-dropdown-show");
});
jQuery(document).on("click", function (e){
if(!$scope.is(e.target)&&$scope.has(e.target).length===0){
if($scope.find(".rkit-dropdown-click").hasClass("rkit-dropdown-show")
){
$scope
.find(".rkit-dropdown-click")
.removeClass("rkit-dropdown-show");
}
if($scope.find(".rkit-responsive-menu").hasClass("rkit-menu-show")){
$scope.find(".rkit-responsive-menu").removeClass("rkit-menu-show");
$scope
.find(".rkit-btn-hamburger")
.removeClass("rkit-hamburger-show");
}}
});
}
);
});
jQuery(window).on("elementor/frontend/init", function (){
const elementor=window.elementor;
elementorFrontend.hooks.addAction("frontend/element_ready/rkit-accordion.default",
function ($scope, $){
const DURATION=100;
const EASING="swing";
const $items=$scope.find(".rkit-accordion-item");
$items.each(function (){
const $item=jQuery(this);
let $content=$item.find(".rkit-accordion-content");
if($content.children(".rkit-accordion-content-inner").length===0){
$content.wrapInner('<div class="rkit-accordion-content-inner"></div>',
);
}
$content.css({
overflow: "hidden",
});
const $inner=$content.find(".rkit-accordion-content-inner");
if($item.hasClass("open")){
$content.css("height", $inner[0].scrollHeight + "px");
window.setTimeout(function (){
$content.css("height", "auto");
}, 20);
}else{
$content.css("height", "0px");
}});
$scope.find(".rkit-accordion-header").on("click", function (e){
e.preventDefault();
const $header=jQuery(this);
const $item=$header.closest(".rkit-accordion-item");
const $content=$item.find(".rkit-accordion-content");
const $inner=$content.find(".rkit-accordion-content-inner");
const $openItem=$items.filter(".open").not($item);
const $openContent=$openItem.find(".rkit-accordion-content");
const $openInner=$openContent.find(".rkit-accordion-content-inner");
const targetOpenHeight=$openInner.length
? $openInner[0].scrollHeight
: 0;
const targetThisHeight=$inner.length ? $inner[0].scrollHeight:0;
$openContent.stop(true, true);
$content.stop(true, true);
if($item.hasClass("open")){
$content.css("height", $content.height() + "px");
$content[0].offsetHeight;
$content.animate({ height: 0 }, DURATION, EASING, function (){
$item.removeClass("open");
$content.css("height", "0px");
});
}else{
$content.css("height", $content.height() + "px");
$content[0].offsetHeight;
if($openItem.length){
$openContent.css("height", $openContent.height() + "px");
$openContent[0].offsetHeight;
}
if($openItem.length){
$openContent.animate({ height: 0 }, DURATION, EASING, function (){
$openItem.removeClass("open");
$openContent.css("height", "0px");
});
}
$content.animate({ height: targetThisHeight },
DURATION,
EASING,
function (){
$item.addClass("open");
$content.css("height", "auto");
},
);
}});
jQuery(document).on("click",
".accordion-edit-template-btn",
function (e){
e.preventDefault();
const targetUrl =
jQuery(this).attr("href")||jQuery(this).data("href");
if(!targetUrl) return console.warn("No target URL found.");
window.parent.postMessage({
action: "open-saved-template-editor",
url: targetUrl,
},
"*",
);
},
);
},
);
elementorFrontend.hooks.addAction("panel/open_editor/widget",
function (panel, model, view){
const settings=model.get("settings");
const showHeading=settings.get("show_subheading");
hideRepeaterField(showHeading);
const showIconHeading=settings.get("show_heading_icons");
hideRepeaterIconField(showIconHeading);
},
);
if(!window.elementor||!elementor.channels||!elementor.channels.editor){
return;
}
elementor.channels.editor.on("change", function (panel, model){
const currentWidget=elementor
.getPanelView()
.getCurrentPageView()
.getOption("editedElementView");
if(!currentWidget ||
currentWidget.model.get("widgetType")!=="rkit-accordion"
)
return;
const showHeading=currentWidget.model
.get("settings")
.get("show_subheading");
hideRepeaterField(showHeading);
const showIconHeading=currentWidget.model
.get("settings")
.get("show_heading_icons");
hideRepeaterIconField(showIconHeading);
});
function hideRepeaterField(showHeading){
const repeaterFields=parent.jQuery(".elementor-control-accordion_sub_title",
);
if(showHeading==="yes"){
repeaterFields.show();
}else{
repeaterFields.hide();
}}
function hideRepeaterIconField(showIconHeading){
const repeaterFields=parent.jQuery(".elementor-control-accordion_header_icon",
);
if(showIconHeading==="yes"){
repeaterFields.show();
}else{
repeaterFields.hide();
}}
});
jQuery(window).on("elementor/frontend/init", function (){
elementorFrontend.hooks.addAction("frontend/element_ready/rkit-animated-heading.default",
function ($scope, $){
$scope.find(".rkit-animated-heading").each(function (){
var duration=$(this).data("duration");
$scope.find(".text-writing").each(function (){
const $el=$(this);
var toRotate=JSON.parse($el.attr("data-type"));
var period=$el.attr("data-period");
const maxWordLength=Math.max(...toRotate.map((word)=> word.length)
);
let currentWordIndex=0;
let currentWord=toRotate[currentWordIndex];
let index=0;
function typeText(){
$el.find('.rkit-animated-heading__text').text(currentWord.slice(0, index++));
if(index <=currentWord.length){
setTimeout(typeText, duration /10);
}else{
setTimeout(eraseText, duration);
}}
function eraseText(){
$el.find('.rkit-animated-heading__text').text(currentWord.slice(0, index));
if(index > 0){
index--;
setTimeout(eraseText, duration /10);
}else{
currentWordIndex=(currentWordIndex + 1) % toRotate.length;
currentWord=toRotate[currentWordIndex];
setTimeout(typeText, maxWordLength * 50);
}}
typeText();
});
$scope.find(".text-flipping").each(function (){
var textElement=$(this);
var data=JSON.parse(textElement.attr("data-type"));
textElement.find('.rkit-animated-heading__text').text(data[0]);
var index=1;
function flipText(){
textElement.addClass("flip-out");
setTimeout(function (){
textElement.find('.rkit-animated-heading__text').text(data[index]);
textElement.removeClass("flip-out");
textElement.addClass("flip-in");
}, 500);
setTimeout(function (){
textElement.removeClass("flip-in");
index=(index + 1) % data.length;
}, 1000);
}
setInterval(flipText, duration);
});
$scope.find(".text-sliding_down").each(function (){
var textElement=$(this);
var data=JSON.parse(textElement.attr("data-type"));
textElement.find('.rkit-animated-heading__text').text(data[0]);
var index=1;
function slideUpText(){
textElement.addClass("slide-down_out");
setTimeout(function (){
textElement.find('.rkit-animated-heading__text').text(data[index]);
textElement.removeClass("slide-down_out");
textElement.addClass("slide-down_in");
}, 500);
setTimeout(function (){
textElement.removeClass("slide-down_in");
index=(index + 1) % data.length;
}, 1000);
}
setInterval(slideUpText, duration);
});
$scope.find(".text-sliding_up").each(function (){
var textElement=$(this);
var data=JSON.parse(textElement.attr("data-type"));
textElement.find('.rkit-animated-heading__text').text(data[0]);
var index=1;
function slideUpText(){
textElement.addClass("slide-up_out");
setTimeout(function (){
textElement.find('.rkit-animated-heading__text').text(data[index]);
textElement.removeClass("slide-up_out");
textElement.addClass("slide-up_in");
}, 500);
setTimeout(function (){
textElement.removeClass("slide-up_in");
index=(index + 1) % data.length;
}, 1000);
}
setInterval(slideUpText, duration);
});
$scope.find(".rkit-highlighted").each(function (){
var textElement=$(this);
var data=JSON.parse(textElement.attr("data-type"));
var txt=$("<p>" + data[0] + "</p>");
textElement.find('.rkit-animated-heading__text').append(txt);
textElement.addClass("highlighted_in");
var index=1;
function animation(){
setTimeout(function (){
textElement.removeClass("highlighted_in");
textElement.addClass("highlighted_out");
}, 1000);
setTimeout(function (){
textElement.find('.rkit-animated-heading__text').find("p").remove();
var text=$("<p>" + data[index] + "</p>");
textElement.find('.rkit-animated-heading__text').append(text);
textElement.removeClass("highlighted_out");
textElement.addClass("highlighted_in");
}, 1500);
setTimeout(function (){
index=(index + 1) % data.length;
}, 2000);
}
setInterval(animation, duration);
});
$scope.find(".text-drop-in").each(function (){
var textElement=$(this);
var data=JSON.parse(textElement.attr("data-type"));
textElement.find('.rkit-animated-heading__text').text(data[0]);
var index=1;
function dropInText(){
textElement.addClass("drop-in_out");
setTimeout(function (){
textElement.find('.rkit-animated-heading__text').text(data[index]);
textElement.removeClass("drop-in_out");
textElement.addClass("drop-in_in");
}, 500);
setTimeout(function (){
textElement.removeClass("drop-in_in");
index=(index + 1) % data.length;
}, 1000);
}
setInterval(dropInText, duration);
});
$scope.find(".text-drop-out").each(function (){
var textElement=$(this);
var data=JSON.parse(textElement.attr("data-type"));
textElement.find('.rkit-animated-heading__text').text(data[0]);
var index=1;
function dropOutText(){
textElement.addClass("drop-out_out");
setTimeout(function (){
textElement.find('.rkit-animated-heading__text').text(data[index]);
textElement.removeClass("drop-out_out");
textElement.addClass("drop-out_in");
}, 500);
setTimeout(function (){
textElement.removeClass("drop-out_in");
index=(index + 1) % data.length;
}, 1000);
}
setInterval(dropOutText, duration);
});
});
}
);
});
jQuery(window).on("elementor/frontend/init", function (){
elementorFrontend.hooks.addAction("frontend/element_ready/rkit-back-to-top.default",
function ($scope, $){
const container=$scope.find(".rkit-back-to-top-container");
let $settings=container.data("settings");
const button=$scope.find(".rkit-back-to-top-button");
let foreground=$settings.foreground;
let background=$settings.background;
if($settings.style=="progress"){
const canvas=$scope.find(".scroll-progress")[0];
const ctx=canvas.getContext("2d");
const radius=100;
function drawCircle(progress){
ctx.clearRect(0, 0, canvas.width, canvas.height);
ctx.beginPath();
ctx.arc(canvas.width / 2, canvas.height / 2, radius, 0, Math.PI * 2);
ctx.strokeStyle=background;
ctx.lineWidth=10;
ctx.stroke();
ctx.beginPath();
ctx.arc(canvas.width / 2,
canvas.height / 2,
radius,
-Math.PI / 2,
progress * 2 * Math.PI - Math.PI / 2
);
ctx.strokeStyle=foreground;
ctx.lineWidth=10;
ctx.stroke();
}
function updateCircle(){
const scrollTop=$(window).scrollTop();
const docHeight=$(document).height() - $(window).height();
const scrollPercent=scrollTop / docHeight;
drawCircle(scrollPercent);
}
$(window).on("scroll", updateCircle);
drawCircle(0);
}
button.on("click", function (e){
e.preventDefault();
window.scrollTo({ top: 0, behavior: "smooth" });
});
$(window).on("scroll", function (e){
button.removeClass("show");
});
$(window).on("scrollend", function (){
if($(this).scrollTop() > 100){
button.addClass("show");
}});
}
);
});
jQuery(window).on("elementor/frontend/init", function (){
elementorFrontend.hooks.addAction("frontend/element_ready/rkit-bar-chart.default",
function ($scope, $){
var $chart=$scope.find("#barChart");
var ctx=$chart[0].getContext("2d");
var labels=$chart.data("label");
var datasets=$chart.data("datasets");
var scales=$chart.data("scales");
var legend=$chart.data("legend");
var data={
labels: labels,
datasets: [datasets],
};
var options={
responsive: false,
maintainAspectRatio: true,
scales: scales,
plugins: {
legend: legend,
},
};
var myChart=new Chart(ctx, {
type: "bar",
data: data,
options: options,
});
myChart.resize();
const resizeObserver=new ResizeObserver(()=> {
myChart.resize();
});
resizeObserver.observe($scope[0]);
}
);
});
jQuery(window).on("elementor/frontend/init", function (){
elementorFrontend.hooks.addAction("frontend/element_ready/rkit-card-slider.default",
function ($scope, $){
const slider=$scope.find(".rkit-card-slider");
var config=slider.data("config");
var conf={
rtl: config.rtl,
arrows: config.arrows,
dots: config.dots,
autoplay: config.autoplay
? {
delay: 3000,
disableOnInteraction: false,
pauseOnMouseEnter: config.pauseOnHover,
}
: false,
loop: config.loop,
speed: config.speed,
slidesPerView: config.slidesPerView,
slidesPerGroup: config.slidesPerGroup,
breakpoints: config.breakpoints,
grabCursor: true,
initialSlide: config.initial_slide==null ? 0:config.initial_slide,
};
var pagination={
pagination: {
enabled: config.dots,
el: ".rkit-cardslider-pagination",
type: "bullets",
clickable: true,
bulletClass: "rkit-cardslider-bullet",
bulletActiveClass: "rkit-cardslider-bullet-active",
clickableClass: "rkit-cardslider-bullet-clickable",
},
};
var navigation={
navigation: {
enabled: config.arrows,
nextEl: ".rkit-swiper-button-next",
prevEl: ".rkit-swiper-button-prev",
},
};
var dataConfig={ ...conf, ...pagination, ...navigation };
let container=$scope.find(".rkit-swiper");
const swiper=new Swiper(container[0], dataConfig);
swiper.on("resize", function (e){
e.pagination.init();
e.navigation.init();
});
}
);
});
jQuery(window).on("elementor/frontend/init", function (){
elementorFrontend.hooks.addAction("frontend/element_ready/rkit-countdown.default",
function ($scope, $){
function formatDate(dateString){
var parts=dateString.split(" ");
if(parts.length===2){
var datePart=parts[0];
var timePart=parts[1];
var timeParts=timePart.split(":");
if(timeParts.length===3&&timeParts[2].length===1){
timeParts[2]="0" + timeParts[2];
}
return datePart + "T" + timeParts.join(":");
}
return "";
}
function initFlipCountdown($countdown, endDate){
if($countdown.data("skin")!=="flip") return;
if(!endDate) return;
const formattedDate=formatDate(endDate);
const countDownDate=new Date(formattedDate).getTime();
if(isNaN(countDownDate)) return;
const pieces={};
$countdown.find(".flip-clock__piece").each(function (){
const key=$(this).data("key");
const el=this;
const top=el.querySelector(".card__top");
const bottom=el.querySelector(".card__bottom");
const back=el.querySelector(".card__back");
const backBottom=el.querySelector(".card__back .card__bottom");
pieces[key]={
el,
update(val){
val=val < 10 ? "0" + val:String(val);
if(val!==el.dataset.value){
if(el.dataset.value){
back.setAttribute("data-value", el.dataset.value);
bottom.setAttribute("data-value", el.dataset.value);
}
el.dataset.value=val;
top.innerText=val;
backBottom.setAttribute("data-value", val);
el.classList.remove("flip");
void el.offsetWidth;
el.classList.add("flip");
}},
};});
const timer=setInterval(()=> {
const now=new Date().getTime();
const distance=countDownDate - now;
if(distance < 0){
clearInterval(timer);
Object.values(pieces).forEach((p)=> p.update(0));
var expiredSection=$scope.find(".expired-time-section");
var countdownWidget=$scope.find(".count");
if(expiredSection.length&&countdownWidget.length){
expiredSection.show();
countdownWidget.hide();
}
return;
}
const days=Math.floor(distance / (1000 * 60 * 60 * 24));
const hours=Math.floor((distance / (1000 * 60 * 60)) % 24);
const minutes=Math.floor((distance / (1000 * 60)) % 60);
const seconds=Math.floor((distance / 1000) % 60);
if(pieces.days) pieces.days.update(days);
if(pieces.hours) pieces.hours.update(hours);
if(pieces.minutes) pieces.minutes.update(minutes);
if(pieces.seconds) pieces.seconds.update(seconds);
}, 1000);
$countdown.data("interval", timer);
}
function updateCountdownNormal($element, endDate){
if(!endDate) return;
var formattedDate=formatDate(endDate);
var countDownDate=new Date(formattedDate).getTime();
if(isNaN(countDownDate)) return;
$element.find(".countdown-days").text("00");
$element.find(".countdown-hours").text("00");
$element.find(".countdown-minutes").text("00");
$element.find(".countdown-seconds").text("00");
var x=setInterval(function (){
var now=new Date().getTime();
var distance=countDownDate - now;
var days=Math.floor(distance / (1000 * 60 * 60 * 24));
var hours=Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60),
);
var minutes=Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));
var seconds=Math.floor((distance % (1000 * 60)) / 1000);
var daysStr=(days < 10 ? "0" + days:days).toString();
var hoursStr=(hours < 10 ? "0" + hours:hours).toString();
var minutesStr=(minutes < 10 ? "0" + minutes:minutes).toString();
var secondsStr=(seconds < 10 ? "0" + seconds:seconds).toString();
if($element.find(".countdown-days").text()!==daysStr)
$element.find(".countdown-days").text(daysStr);
if($element.find(".countdown-hours").text()!==hoursStr)
$element.find(".countdown-hours").text(hoursStr);
if($element.find(".countdown-minutes").text()!==minutesStr)
$element.find(".countdown-minutes").text(minutesStr);
if($element.find(".countdown-seconds").text()!==secondsStr)
$element.find(".countdown-seconds").text(secondsStr);
if(distance < 0){
clearInterval(x);
$element.find(".countdown-days").text("00");
$element.find(".countdown-hours").text("00");
$element.find(".countdown-minutes").text("00");
$element.find(".countdown-seconds").text("00");
var expiredSection=$scope.find(".expired-time-section");
var countdownWidget=$scope.find(".count");
if(expiredSection.length&&countdownWidget.length){
expiredSection.show();
countdownWidget.hide();
}}
}, 1000);
$element.data("interval", x);
}
const $countdown=$scope.find("#countdown");
const endDate=$countdown.data("date");
const skin=$countdown.data("skin");
const useFlip=skin==="flip";
const existingInterval=$countdown.data("interval");
if(existingInterval) clearInterval(existingInterval);
if(useFlip){
initFlipCountdown($countdown, endDate);
}else{
updateCountdownNormal($countdown, endDate);
}
$countdown.on("change", function (){
const newEndDate=$(this).data("date");
const prevInterval=$(this).data("interval");
if(prevInterval) clearInterval(prevInterval);
if(useFlip){
initFlipCountdown($(this), newEndDate);
}else{
updateCountdownNormal($(this), newEndDate);
}});
},
);
});
jQuery(window).on("elementor/frontend/init", function (){
elementorFrontend.hooks.addAction("frontend/element_ready/rkit-counter.default",
function ($scope, $){
const counterContainer=$scope.find(".rkit-counter");
const counter=counterContainer.find(".odometer");
let config=counter.data("config");
let counterEl=counter[0];
let opt={
root: null,
rootMargin: "0px",
threshold: 0.75,
};
let odo=new Odometer({
el: counterEl,
value: config.start_number,
format: config.format,
duration: config.duration,
theme: "minimal",
});
const callback=(entries, observer)=> {
entries.forEach(function (entry){
if(entry.isIntersecting){
odo.update(config.end_number);
observer.unobserve(entry.target);
}});
};
let observ=new IntersectionObserver(callback, opt);
observ.observe(counterEl);
}
);
});
jQuery(window).on('elementor/frontend/init', function (){
elementorFrontend.hooks.addAction('frontend/element_ready/rkit-home-slider.default', function ($scope, $){
const slider=$scope.find('.rkit-homeslider-slider');
var config=slider.data('config');
var conf={
rtl: config.rtl,
arrows: config.arrows,
dots: config.dots,
autoplay: (config.autoplay) ? {
delay: 3000,
disableOnInteraction: false,
pauseOnMouseEnter: config.pauseOnHover
}:false,
loop: config.loop,
speed: config.speed,
slidesPerView: config.slidesPerView,
slidesPerGroup: config.slidesPerGroup,
breakpoints: config.breakpoints,
grabCursor: true,
initialSlide: (config.initial_slide==null) ? 0:config.initial_slide,
}
if(config.slideStyle==='fade'){
conf.effect='fade';
conf.cardsEffect={
crossFade: true,
};}
var pagination={
pagination: {
enabled: config.dots,
el: '.rkit-homeslider-pagination',
type: 'bullets',
clickable: true,
bulletClass: 'rkit-homeslider-bullet',
bulletActiveClass: 'rkit-homeslider-bullet-active',
clickableClass: 'rkit-homeslider-bullet-clickable'
}}
var navigation={
navigation: {
enabled: config.arrows,
nextEl: '.rkit-swiper-hs-button-next',
prevEl: '.rkit-swiper-hs-button-prev',
}}
var dataConfig={ ...conf, ...pagination, ...navigation }
let container=$scope.find('.rkit-swiper-hs');
const swiper=new Swiper(container[0], dataConfig);
function splitTextToSpans(el, delayStep=0.2){
if(!el) return;
if(el.querySelector('span')) return;
const rawText=el.textContent.trim();
el.textContent='';
const words=rawText.split(/\s+/).filter(Boolean);
words.forEach((word, index)=> {
const span=document.createElement('span');
span.textContent=word;
span.style.animationDelay=`${(delayStep * (index + 1)).toFixed(2)}s`;
el.appendChild(span);
el.appendChild(document.createTextNode(' '));
});
}
swiper.on('slideChangeTransitionStart', function (){
$('.image-cover-hsl').removeClass('animate-zoom-out');
$('.swiper-slide-active .image-cover-hsl').addClass('animate-zoom-out');
const subTitle=document.querySelector('.swiper-slide-active .hs-subtitle-section .hs-sub-title');
splitTextToSpans(subTitle);
const title=document.querySelector('.swiper-slide-active .hs-animation-1-title');
splitTextToSpans(title);
const desc=document.querySelector('.swiper-slide-active .hs-animation-1-desc');
splitTextToSpans(desc);
const typeSub=document.querySelector('.swiper-slide-active .hs-animation-2-subtitle');
if(typeSub){
typeSub.style.animation='none';
void typeSub.offsetWidth;
typeSub.style.animation='typewritersubtitle 4s steps(30) 1s forwards, blink 0.7s step-end infinite';
}
const typeTitle=document.querySelector('.swiper-slide-active .hs-animation-2-title');
if(typeTitle){
typeTitle.style.animation='none';
void typeTitle.offsetWidth;
typeTitle.style.animation='typewritertitle 4s steps(30) 1s forwards, blink 0.7s step-end infinite';
}
const typeDesc=document.querySelector('.swiper-slide-active .hs-animation-2-desc');
if(typeDesc){
typeDesc.style.animation='none';
void typeDesc.offsetWidth;
typeDesc.style.animation='typewriterdesc 4s steps(30) 1s forwards, blink 0.7s step-end infinite';
}});
});
});
jQuery(window).on("elementor/frontend/init", function (){
elementorFrontend.hooks.addAction("frontend/element_ready/rkit_image_accordion.default",
function ($scope, $){
const accl=$scope.find(".item-ia-click");
const wrapper=$scope.find(".gallery-wrap");
const animate=wrapper.data('animate')
accl.on("click", function (){
accl
.removeClass("active")
.find(".text-title-ia")
.removeClass(animate);
accl
.removeClass("active")
.find(".text-description")
.removeClass(animate)
accl
.removeClass("active")
.find(".rkit-image-accordion-item-button")
.removeClass(animate);
$(this).addClass("active");
$(this).find(".text-title-ia").addClass(animate);
$(this).find(".text-description").addClass(animate);
$(this)
.find(".rkit-image-accordion-item-button")
.addClass("");
});
const acc=$scope.find(".item-ia-hover");
const dfa=$scope.find(".item-ia-hover.active");
acc.on("mouseenter", function (){
$(this).addClass("active");
$scope.find(".item-ia-hover").not($(this)).removeClass("active");
$(this).find(".text-title-ia").addClass(animate);
$(this).find(".text-description").addClass(animate);
$(this).find(".rkit-image-accordion-item-button").addClass(animate);
});
acc.on("mouseleave", function (){
$(this).removeClass("active");
$(this).find(".text-title-ia").removeClass(animate);
$(this).find(".text-description").removeClass(animate);
$(this).find(".rkit-image-accordion-item-button").removeClass(animate);
dfa.addClass("active");
});
}
);
});
jQuery(window).on('elementor/frontend/init', function (){
elementorFrontend.hooks.addAction('frontend/element_ready/rkit-imagecomparison.default', function ($scope, $){
let h, w;
const imgElement=$scope.find('.img-comp-img img');
function updateImageDimensions(){
const imgCompImgs=$scope.find('.img-comp-img img');
if(imgCompImgs.length===0) return;
const naturalWidth=imgCompImgs[0].naturalWidth;
const naturalHeight=imgCompImgs[0].naturalHeight;
console.log(naturalHeight, naturalWidth, imgCompImgs.length, imgCompImgs[0])
if(!naturalWidth||!naturalHeight){
console.error('Natural dimensions not available.');
return;
}
const parentContainer=$scope.find('.rkit-s-image').parent();
const containerWidth=parentContainer.width();
const containerHeight=parentContainer.height();
if(containerWidth===0){
return;
}
let finalWidth=containerWidth;
let finalHeight=containerHeight;
if(containerHeight===0){
const aspectRatio=naturalWidth / naturalHeight;
finalHeight=finalWidth / aspectRatio;
}
const aspectRatios=naturalWidth / naturalHeight;
w=finalWidth;
h=finalWidth / aspectRatios;
const conWrap=$scope.find('.con-wrap');
const imgcomp=$scope.find('.img-comp-img');
conWrap.css({ height: h + 'px', width: w + 'px' });
imgcomp.css({ height: h + 'px', width: w + 'px' });
imgCompImgs.css({ height: h + 'px', width: w + 'px' });
}
function initComparisons(){
const container=$scope.find('.img-comp-container');
const sliderMode=container.data('slider-mode');
const showIcon=container.data('show-icon');
const overlays=$scope.find('.img-comp-overlay');
overlays.each(function (){
compareImages($(this));
});
function compareImages($img){
let slider, clicked=0;
if(sliderMode==='vertical'){
$img.css('height', (h / 2) + "px");
$scope.find('.img-comp-slider.vertical').remove();
slider=$('<div>', { class: 'img-comp-slider vertical' });
if(showIcon==='yes'){
slider.append('<i class="eicon-caret-up"></i>');
slider.append('<i class="eicon-caret-down"></i>');
}
$img.before(slider);
slider.css({
top: (h / 2) - (slider.outerHeight() / 2) + "px",
left: (w / 2) - (slider.outerWidth() / 2) + "px"
});
}else{
$img.css('width', (w / 2) + "px");
$scope.find('.img-comp-slider').remove();
slider=$('<div>', { class: 'img-comp-slider' });
if(showIcon==='yes'){
slider.append('<i class="eicon-caret-left"></i>');
slider.append('<i class="eicon-caret-right"></i>');
}
$img.before(slider);
slider.css({
top: (h / 2) - (slider.outerHeight() / 2) + "px",
left: (w / 2) - (slider.outerWidth() / 2) + "px"
});
}
slider.on('mousedown touchstart', slideReady);
$(window).on('mouseup touchend', slideFinish);
function slideReady(e){
e.preventDefault();
clicked=1;
$(window).on('mousemove touchmove', slideMove);
}
function slideFinish(){
clicked=0;
$(window).off('mousemove touchmove', slideMove);
}
function slideMove(e){
if(clicked===0) return false;
let pos=(sliderMode==='vertical') ? getCursorPosVertical(e):getCursorPosHorizontal(e);
pos=Math.max(0, Math.min(pos, (sliderMode==='vertical' ? h:w)));
slide(pos);
}
function getCursorPosVertical(e){
e=(e.changedTouches) ? e.changedTouches[0]:e;
const imgOffset=$img.offset();
return e.pageY - imgOffset.top;
}
function getCursorPosHorizontal(e){
e=(e.changedTouches) ? e.changedTouches[0]:e;
const imgOffset=$img.offset();
return e.pageX - imgOffset.left;
}
function slide(pos){
if(sliderMode==='vertical'){
$img.css('height', pos + "px");
slider.css('top', pos - (slider.outerHeight() / 2) + "px");
}else{
$img.css('width', pos + "px");
slider.css('left', pos - (slider.outerWidth() / 2) + "px");
}}
}}
function initializeImage(){
updateImageDimensions();
initComparisons();
}
imgElement.on('load', function (){
setTimeout(initializeImage, 100);
});
if(imgElement[0].complete){
setTimeout(initializeImage, 100);
}
elementorFrontend.on('resize', function (){
setTimeout(initializeImage, 200);
});
new ResizeObserver(()=> {
setTimeout(initializeImage, 200);
}).observe($scope[0]);
});
});
jQuery(window).on('elementor/frontend/init', function (){
elementorFrontend.hooks.addAction('frontend/element_ready/rkit_image_gallery.default', function ($scope, $){
const galleryImages=$scope.find('.gallery_image');
galleryImages.each(function (){
var img=jQuery(this);
if(img[0].complete){
const skeleton=img.closest('.brick').find('.skeleton');
if(skeleton.length){
skeleton.hide();
}
img.css('opacity', '1');
}else{
img.on('load', function (){
const skeleton=img.closest('.brick').find('.skeleton');
if(skeleton.length){
skeleton.hide();
}
img.css('opacity', '1');
});
}});
$scope.find('a[data-elementor-open-lightbox="yes"]').each(function (){
jQuery(this).on('click', function (){
setTimeout(function (){
jQuery('.elementor-lightbox img.elementor-lightbox-image[data-src]').each(function (){
const $img=jQuery(this);
$img.attr('src', $img.attr('data-src')).removeAttr('data-src');
$img.removeClass('swiper-lazy');
const preloader=$img.closest('.swiper-zoom-container').find('.swiper-lazy-preloader');
if(preloader.length) preloader.remove();
});
}, 100);
});
});
});
});
jQuery(window).on("elementor/frontend/init", function (){
elementorFrontend.hooks.addAction("frontend/element_ready/rkit-line-chart.default",
function ($scope, $){
var ctx=$scope.find("#lineChart")[0].getContext("2d");
var labels=$scope.find("#lineChart").data("label");
var datasets=$scope.find("#lineChart").data("datasets");
var scales=$scope.find("#lineChart").data("scales");
var legend=$scope.find("#lineChart").data("legend");
var data={
labels: labels,
datasets: [datasets],
};
var options={
responsive: false,
maintainAspectRatio: true,
scales: scales,
plugins: {
legend: legend,
},
};
var myChart=new Chart(ctx, {
type: "line",
data: data,
options: options,
});
myChart.resize();
const resizeObserver=new ResizeObserver(()=> {
myChart.resize();
});
resizeObserver.observe($scope[0]);
},
);
});
function expand (i){
const expand_content=document.getElementById('expand-content-' + i);
const expand_list=document.getElementById('expand-list-' + i);
const collapse=document.getElementById('collapse' + i);
const icon=document.getElementById('icon' + i);
if(collapse.dataset.expanded=='true'){
collapse.dataset.expanded='false';
expand_content.style.maxHeight=0;
expand_content.style.transition='1s';
expand_content.style.transitionProperty='all';
expand_list.style.transition='1s'
icon.className=icon.dataset.opened;
}else{
collapse.dataset.expanded='true';
expand_content.style.transition='1s';
expand_list.style.transition='1s';
expand_content.style.transitionProperty='all';
expand_content.style.maxHeight=expand_content.scrollHeight + 'px';
icon.className=icon.dataset.closed;
}};
jQuery(window).on("elementor/frontend/init", function (){
elementorFrontend.hooks.addAction("frontend/element_ready/rtm-offcanvas.default",
function ($scope, $){
const $btn=$scope.find(".menu-button-rometheme");
const $closeBtn=$scope.find(".rkit-offcanvas-close");
const $overlay=$scope.find(".overlay-rometheme");
$btn.click(function (e){
e.preventDefault();
$(this).closest(".rkit-offcanvas").addClass("offcanvas-show");
$('body').css('overflow', 'hidden');
});
$closeBtn.click(function (e){
e.preventDefault();
$(this).closest(".rkit-offcanvas").removeClass("offcanvas-show");
$('body').css('overflow', '');
});
$overlay.click(function (e){
e.preventDefault();
$(this).closest(".rkit-offcanvas").removeClass("offcanvas-show");
$('body').css('overflow', '');
});
}
);
});
jQuery(window).on("elementor/frontend/init", function (){
elementorFrontend.hooks.addAction("frontend/element_ready/rkit-pie-chart.default",
function ($scope, $){
var ctx=$scope.find("#pieChart")[0].getContext("2d");
var labels=$scope.find("#pieChart").data("label");
var datasets=$scope.find("#pieChart").data("datasets");
var legend=$scope.find("#pieChart").data("legend");
var type=$scope.find("#pieChart").data("type");
var data={
labels: labels,
datasets: [datasets],
};
var options={
responsive: false,
maintainAspectRatio: true,
plugins: {
legend: legend,
},
};
var myChart=new Chart(ctx, {
type: type,
data: data,
options: options,
});
myChart.resize();
const resizeObserver=new ResizeObserver(()=> {
myChart.resize();
});
resizeObserver.observe($scope[0]);
},
);
});
jQuery(window).on("elementor/frontend/init", function (){
elementorFrontend.hooks.addAction("frontend/element_ready/rkit-post_carousel.default",
function ($scope, $){
const slider=$scope.find(".rkit-post_carousel-slider");
var config=slider.data("config");
var conf={
rtl: config.rtl,
arrows: config.arrows,
dots: config.dots,
autoplay: config.autoplay,
loop: config.loop,
speed: config.speed,
slidesPerView: config.slidesPerView,
slidesPerGroup: config.slidesPerGroup,
breakpoints: config.breakpoints,
grabCursor: true,
initialSlide: config.initial_slide==null ? 0:config.initial_slide,
};
var pagination={
pagination: {
enabled: config.dots,
el: ".rkit-postcarousel-pagination",
type: "bullets",
clickable: true,
bulletClass: "rkit-postcarousel-bullet",
bulletActiveClass: "rkit-postcarousel-bullet-active",
clickableClass: "rkit-postcarousel-bullet-clickable",
},
};
var navigation={
navigation: {
enabled: config.arrows,
nextEl: ".rkit-swiper-postcarousel-button-next",
prevEl: ".rkit-swiper-postcarousel-button-prev",
},
};
var dataConfig={ ...conf, ...pagination, ...navigation };
let container=$scope.find(".rkit-swiper-postcarousel");
const swiper=new Swiper(container[0], dataConfig);
swiper.on("resize", function (e){
console.log(`this ${e} resize`);
e.pagination.init();
e.navigation.init();
});
}
);
});
jQuery(window).on("elementor/frontend/init", function (){
elementorFrontend.hooks.addAction("frontend/element_ready/rkit-progress-bar.default",
function ($scope, $){
const container=$scope.find(".rkit-progress")[0];
if(!container) return;
const resizeobserver=new ResizeObserver((entries)=> {
for (const entry of entries){
const height=entry.contentRect.height;
$scope.css("height", height + "px");
}});
resizeobserver.observe(container);
const observer=new IntersectionObserver((entries, observer)=> {
entries.forEach((entry)=> {
if(entry.isIntersecting){
$(entry.target).addClass("rkit-progress-animation");
observer.unobserve(entry.target);
}});
});
$scope.find(".circular-progress").each(function (){
observer.observe(this);
});
$scope.find(".progress-value").each(function (){
observer.observe(this);
});
$scope.find(".progress-bar").each(function (){
observer.observe(this);
});
$scope.find(".half-circular-progress").each(function (){
observer.observe(this);
});
},
);
});
jQuery(window).on("elementor/frontend/init", function (){
elementorFrontend.hooks.addAction("frontend/element_ready/rtm-navmenu.default",
function ($scope, $){
$.fn.isOutOfViewport=function (){
var element=$(this)[0];
var rect=element.getBoundingClientRect();
return (
rect.top < 0 ||
rect.left < 0 ||
rect.bottom > $(window).height() ||
rect.right > $(window).width()
);
};
function setPos(){
$scope
.find(".rkit-submenu-item .rkit-navmenu-dropdown")
.each(function (){
const $this=$(this);
if($this.isOutOfViewport()){
$this.css({
left: "auto",
right: "100%",
});
}else{
$this.css({
right: "auto",
left: "100%",
});
}});
}
setPos();
const $container=$scope.find(".rkit-navmenu-container");
let responsive=$container.data("responsive");
let widthResponsive=responsive=="tablet" ? 1024:768;
$screenWidth=jQuery(window).width();
function setElHeight(){
let d=3;
$scope.find(".rkit-navmenu-dropdown").each(function (){
var scrollHeight=$(this).prop("scrollHeight");
$(this).css("--height", scrollHeight * d + "px");
});
$scope.find(".rkit-responsive-menu").each(function (){
var scrollHeight=$(this).prop("scrollHeight");
$(this).css("--height", scrollHeight * d + "px");
});
}
setElHeight();
function fullwidth(){
var nav_container=$scope.find(".rkit-navmenu-container");
var elementorsection=$scope.closest(".elementor");
var responsive_navmenu=nav_container.find(".rkit-responsive-menu");
if(responsive_navmenu.hasClass("rkit-navmenu-fullwidth")){
var section_width=elementorsection.width();
$(".rkit-navmenu-fullwidth").css("width", section_width + "px");
var left=-1 * Math.round(nav_container.offset().left);
$(".rkit-navmenu-fullwidth").css("left", left + "px");
}}
if($screenWidth <=widthResponsive){
fullwidth();
$scope
.find(".rkit-dropdown-hover > a > .rkit-submenu-icon")
.click(function (e){
e.preventDefault();
});
}
jQuery(window).on("resize", function (){
setElHeight();
setPos();
$screenWidth=jQuery(window).width();
if($screenWidth <=widthResponsive){
fullwidth();
$scope
.find(".rkit-dropdown-hover > a > .rkit-submenu-icon")
.click(function (e){
e.preventDefault();
});
}else{
var nav_container=$scope.find(".rkit-navmenu-container");
var responsive_navmenu=nav_container.find(".rkit-responsive-menu");
if(responsive_navmenu.hasClass("rkit-navmenu-fullwidth")){
$scope.find(".rkit-navmenu-fullwidth").removeAttr("style");
}}
});
$scope.find(".rkit-btn-hamburger").click(function (e){
e.preventDefault();
$siblings=$(this).parent().siblings();
$siblings.toggleClass("rkit-menu-show");
$(this).toggleClass("rkit-hamburger-show");
});
$scope
.find(".rkit-menu-item.rkit-dropdown-click > a")
.click(function (e){
e.preventDefault();
const parentMenuItem=$(this).parent();
$scope
.find(".rkit-menu-item.rkit-dropdown-show")
.not(parentMenuItem)
.removeClass("rkit-dropdown-show");
if(parentMenuItem
.find(".rkit-dropdown-click")
.hasClass("rkit-dropdown-show")
){
parentMenuItem
.find(".rkit-dropdown-click")
.removeClass("rkit-dropdown-show");
}
parentMenuItem.toggleClass("rkit-dropdown-show");
});
$scope
.find(".rkit-submenu-item.rkit-dropdown-click > a")
.click(function (e){
e.preventDefault();
const parentMenuItem=$(this).parent();
parentMenuItem.toggleClass("rkit-dropdown-show");
if(parentMenuItem
.find(".rkit-dropdown-click")
.hasClass("rkit-dropdown-show")
){
parentMenuItem
.find(".rkit-dropdown-click")
.removeClass("rkit-dropdown-show");
}
parentMenuItem.siblings().removeClass("rkit-dropdown-show");
});
jQuery(document).on("click", function (e){
if(!$scope.is(e.target)&&$scope.has(e.target).length===0){
if($scope.find(".rkit-dropdown-click").hasClass("rkit-dropdown-show")
){
$scope
.find(".rkit-dropdown-click")
.removeClass("rkit-dropdown-show");
}
if($scope.find(".rkit-responsive-menu").hasClass("rkit-menu-show")){
$scope.find(".rkit-responsive-menu").removeClass("rkit-menu-show");
$scope
.find(".rkit-btn-hamburger")
.removeClass("rkit-hamburger-show");
}}
});
}
);
});
jQuery(window).on("elementor/frontend/init", function (){
elementorFrontend.hooks.addAction("frontend/element_ready/rkit-running_text.default",
function ($scope, $){
const cont=$scope.find('.rkit-marquee-container');
const content=cont.find('.rkit-marquee-content');
const clone=content.clone();
const clone2=clone.clone();
cont.append(clone);
cont.append(clone2);
$scope.find('.rkit-marquee-content').addClass('rkit-marquee');
}
);
});
jQuery(document).ready(($)=> {
$('.rkit-social-share__link').click((event)=> {
var SocMed=$(event.currentTarget).data('social-media');
switch (SocMed){
case 'facebook':
var url=encodeURIComponent(window.location.href);
var title=encodeURIComponent(document.title);
window.open('https://www.facebook.com/sharer/sharer.php?u=' + url + '&title=' + title, 'facebook-share-dialog', 'width=626,height=436');
break;
case 'twitter':
var url=encodeURIComponent(window.location.href);
var text=encodeURIComponent(document.title);
window.open('https://twitter.com/intent/tweet?url=' + url + '&text=' + text, 'twitter-share-dialog', 'width=626,height=436');
break;
case 'whatsapp':
var text=encodeURIComponent(window.location.href);
window.open('https://api.whatsapp.com/send?text=' + text, 'wa-share-dialog', ' width=626,height=626 ');
break;
case 'pinterest':
var url=encodeURIComponent(window.location.href);
var media=(document.querySelector('meta[property="og:image"]')) ? encodeURIComponent(document.querySelector('meta[property="og:image"]').getAttribute('content')):'';
var description=(document.querySelector('meta[property="og:description"]')) ? encodeURIComponent(document.querySelector('meta[property="og:description"]').getAttribute('content')):'';
window.open('https://www.pinterest.com/pin/create/button/?url=' + url + '&media=' + media + '&description=' + description, 'pinterest-share-dialog', 'width=750,height=430');
break;
case 'linkedin':
var url=encodeURIComponent(window.location.href);
var title=encodeURIComponent(document.title);
window.open('https://www.linkedin.com/shareArticle?mini=true&url=' + url + '&title=' + title, 'linkedin-share-dialog', 'width=750,height=430');
break;
case 'reddit':
var url=encodeURIComponent(window.location.href);
var title=encodeURIComponent(document.title);
window.open('https://www.reddit.com/submit?url=' + url + '&title=' + title, 'reddit-share-dialog', 'width=500,height=500');
break;
case 'quora':
var url=encodeURIComponent(window.location.href);
var title=encodeURIComponent(document.title);
window.open('https://www.quora.com/share?url=' + url + '&title=' + title, 'quora-share-dialog', 'width=626,height=436');
break;
case 'telegram':
var url=encodeURIComponent(window.location.href);
window.open('https://t.me/share/url?url=' + url, 'telegram-share-dialog', 'width=626,height=626');
break;
case 'line':
var url=encodeURIComponent(window.location.href);
window.open('https://line.me/R/msg/text/' + url, 'line-share-dialog', 'width=626 , height=626');
break;
}});
});
jQuery(window).on("elementor/frontend/init", function (){
elementorFrontend.hooks.addAction("frontend/element_ready/rkit-tabs.default",
function ($scope, $){
var container=$scope.find(".rkit-tab-container");
var tabBtn=container.find(".rkit-tab-btn-item");
var tabContent=container.find(".rkit-tab-content");
tabBtn.click(function (){
var tabContentId=$(this).data("tab");
tabBtn.removeClass("active");
tabContent.removeClass("active");
var tabContentTarget=container.find("#" + tabContentId);
tabContentTarget.addClass("active");
$(this).addClass("active");
});
jQuery(document).on("click", ".tabs-edit-template-btn", function (e){
e.preventDefault();
const targetUrl =
jQuery(this).attr("href")||jQuery(this).data("href");
if(!targetUrl) return console.warn("No target URL found.");
window.parent.postMessage({
action: "open-saved-template-editor",
url: targetUrl,
},
"*"
);
});
}
);
});
jQuery(window).on("elementor/frontend/init", function (){
elementorFrontend.hooks.addAction("frontend/element_ready/rkit-testimonial-carousel.default",
function ($scope, $){
const slider=$scope.find(".rkit-testimonial-carousel");
var config=slider.data("config");
var conf={
rtl: config.rtl,
arrows: config.arrows,
dots: config.dots,
autoplay: config.autoplay
? {
delay: 3000,
disableOnInteraction: false,
pauseOnMouseEnter: config.pauseOnHover,
}
: false,
loop: config.loop,
speed: config.speed,
slidesPerView: config.slidesPerView,
slidesPerGroup: config.slidesPerGroup,
breakpoints: config.breakpoints,
grabCursor: true,
};
var pagination={
pagination: {
enabled: config.dots,
el: ".rkit-testimonial-pagination",
type: "bullets",
clickable: true,
bulletClass: "rkit-pagination-bullet",
bulletActiveClass: "rkit-pagination-bullet-active",
clickableClass: "rkit-pagination-bullet-clickable",
},
};
var navigation={
navigation: {
enabled: config.arrows,
nextEl: ".rkit-testimonial-button-next",
prevEl: ".rkit-testimonial-button-prev",
},
};
var dataConfig={ ...conf, ...pagination, ...navigation };
let container=$scope.find(".testimonial-container");
const swiper=new Swiper(container[0], dataConfig);
swiper.on("resize", function (e){
e.pagination.init();
e.navigation.init();
});
}
);
});
jQuery(window).on('elementor/frontend/init', function (){
elementorFrontend.hooks.addAction('frontend/element_ready/rtm_video_button.default', function ($scope, $){
let $button=$scope.find('#video-button');
if(!$button.length) return;
let autoplay=$button.attr('data-autoplay')==='yes';
let muted=$button.attr('data-muted')==='yes';
let loop=$button.attr('data-loop')==='yes';
let playerControl=$button.attr('data-player-control')==='yes';
GLightbox({
selector: '.glightbox',
autoplayVideos: autoplay,
plyr: {
config: {
autoplayVideos: autoplay,
muted: muted,
loop: { active: loop },
controls: playerControl
? ['play', 'progress', 'current-time', 'mute', 'volume', 'fullscreen']
: [],
}}
});
});
});
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).Chart=e()}(this,(function(){"use strict";var t=Object.freeze({__proto__:null,get Colors(){return Jo},get Decimation(){return ta},get Filler(){return ba},get Legend(){return Ma},get SubTitle(){return Pa},get Title(){return ka},get Tooltip(){return Na}});function e(){}const i=(()=>{let t=0;return()=>t++})();function s(t){return null==t}function n(t){if(Array.isArray&&Array.isArray(t))return!0;const e=Object.prototype.toString.call(t);return"[object"===e.slice(0,7)&&"Array]"===e.slice(-6)}function o(t){return null!==t&&"[object Object]"===Object.prototype.toString.call(t)}function a(t){return("number"==typeof t||t instanceof Number)&&isFinite(+t)}function r(t,e){return a(t)?t:e}function l(t,e){return void 0===t?e:t}const h=(t,e)=>"string"==typeof t&&t.endsWith("%")?parseFloat(t)/100:+t/e,c=(t,e)=>"string"==typeof t&&t.endsWith("%")?parseFloat(t)/100*e:+t;function d(t,e,i){if(t&&"function"==typeof t.call)return t.apply(i,e)}function u(t,e,i,s){let a,r,l;if(n(t))if(r=t.length,s)for(a=r-1;a>=0;a--)e.call(i,t[a],a);else for(a=0;a<r;a++)e.call(i,t[a],a);else if(o(t))for(l=Object.keys(t),r=l.length,a=0;a<r;a++)e.call(i,t[l[a]],l[a])}function f(t,e){let i,s,n,o;if(!t||!e||t.length!==e.length)return!1;for(i=0,s=t.length;i<s;++i)if(n=t[i],o=e[i],n.datasetIndex!==o.datasetIndex||n.index!==o.index)return!1;return!0}function g(t){if(n(t))return t.map(g);if(o(t)){const e=Object.create(null),i=Object.keys(t),s=i.length;let n=0;for(;n<s;++n)e[i[n]]=g(t[i[n]]);return e}return t}function p(t){return-1===["__proto__","prototype","constructor"].indexOf(t)}function m(t,e,i,s){if(!p(t))return;const n=e[t],a=i[t];o(n)&&o(a)?x(n,a,s):e[t]=g(a)}function x(t,e,i){const s=n(e)?e:[e],a=s.length;if(!o(t))return t;const r=(i=i||{}).merger||m;let l;for(let e=0;e<a;++e){if(l=s[e],!o(l))continue;const n=Object.keys(l);for(let e=0,s=n.length;e<s;++e)r(n[e],t,l,i)}return t}function b(t,e){return x(t,e,{merger:_})}function _(t,e,i){if(!p(t))return;const s=e[t],n=i[t];o(s)&&o(n)?b(s,n):Object.prototype.hasOwnProperty.call(e,t)||(e[t]=g(n))}const y={"":t=>t,x:t=>t.x,y:t=>t.y};function v(t){const e=t.split("."),i=[];let s="";for(const t of e)s+=t,s.endsWith("\\")?s=s.slice(0,-1)+".":(i.push(s),s="");return i}function M(t,e){const i=y[e]||(y[e]=function(t){const e=v(t);return t=>{for(const i of e){if(""===i)break;t=t&&t[i]}return t}}(e));return i(t)}function w(t){return t.charAt(0).toUpperCase()+t.slice(1)}const k=t=>void 0!==t,S=t=>"function"==typeof t,P=(t,e)=>{if(t.size!==e.size)return!1;for(const i of t)if(!e.has(i))return!1;return!0};function D(t){return"mouseup"===t.type||"click"===t.type||"contextmenu"===t.type}const C=Math.PI,O=2*C,A=O+C,T=Number.POSITIVE_INFINITY,L=C/180,E=C/2,R=C/4,I=2*C/3,z=Math.log10,F=Math.sign;function V(t,e,i){return Math.abs(t-e)<i}function B(t){const e=Math.round(t);t=V(t,e,t/1e3)?e:t;const i=Math.pow(10,Math.floor(z(t))),s=t/i;return(s<=1?1:s<=2?2:s<=5?5:10)*i}function W(t){const e=[],i=Math.sqrt(t);let s;for(s=1;s<i;s++)t%s==0&&(e.push(s),e.push(t/s));return i===(0|i)&&e.push(i),e.sort(((t,e)=>t-e)).pop(),e}function N(t){return!function(t){return"symbol"==typeof t||"object"==typeof t&&null!==t&&!(Symbol.toPrimitive in t||"toString"in t||"valueOf"in t)}(t)&&!isNaN(parseFloat(t))&&isFinite(t)}function H(t,e){const i=Math.round(t);return i-e<=t&&i+e>=t}function j(t,e,i){let s,n,o;for(s=0,n=t.length;s<n;s++)o=t[s][i],isNaN(o)||(e.min=Math.min(e.min,o),e.max=Math.max(e.max,o))}function $(t){return t*(C/180)}function Y(t){return t*(180/C)}function U(t){if(!a(t))return;let e=1,i=0;for(;Math.round(t*e)/e!==t;)e*=10,i++;return i}function X(t,e){const i=e.x-t.x,s=e.y-t.y,n=Math.sqrt(i*i+s*s);let o=Math.atan2(s,i);return o<-.5*C&&(o+=O),{angle:o,distance:n}}function q(t,e){return Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))}function K(t,e){return(t-e+A)%O-C}function G(t){return(t%O+O)%O}function J(t,e,i,s){const n=G(t),o=G(e),a=G(i),r=G(o-n),l=G(a-n),h=G(n-o),c=G(n-a);return n===o||n===a||s&&o===a||r>l&&h<c}function Z(t,e,i){return Math.max(e,Math.min(i,t))}function Q(t){return Z(t,-32768,32767)}function tt(t,e,i,s=1e-6){return t>=Math.min(e,i)-s&&t<=Math.max(e,i)+s}function et(t,e,i){i=i||(i=>t[i]<e);let s,n=t.length-1,o=0;for(;n-o>1;)s=o+n>>1,i(s)?o=s:n=s;return{lo:o,hi:n}}const it=(t,e,i,s)=>et(t,i,s?s=>{const n=t[s][e];return n<i||n===i&&t[s+1][e]===i}:s=>t[s][e]<i),st=(t,e,i)=>et(t,i,(s=>t[s][e]>=i));function nt(t,e,i){let s=0,n=t.length;for(;s<n&&t[s]<e;)s++;for(;n>s&&t[n-1]>i;)n--;return s>0||n<t.length?t.slice(s,n):t}const ot=["push","pop","shift","splice","unshift"];function at(t,e){t._chartjs?t._chartjs.listeners.push(e):(Object.defineProperty(t,"_chartjs",{configurable:!0,enumerable:!1,value:{listeners:[e]}}),ot.forEach((e=>{const i="_onData"+w(e),s=t[e];Object.defineProperty(t,e,{configurable:!0,enumerable:!1,value(...e){const n=s.apply(this,e);return t._chartjs.listeners.forEach((t=>{"function"==typeof t[i]&&t[i](...e)})),n}})})))}function rt(t,e){const i=t._chartjs;if(!i)return;const s=i.listeners,n=s.indexOf(e);-1!==n&&s.splice(n,1),s.length>0||(ot.forEach((e=>{delete t[e]})),delete t._chartjs)}function lt(t){const e=new Set(t);return e.size===t.length?t:Array.from(e)}const ht="undefined"==typeof window?function(t){return t()}:window.requestAnimationFrame;function ct(t,e){let i=[],s=!1;return function(...n){i=n,s||(s=!0,ht.call(window,(()=>{s=!1,t.apply(e,i)})))}}function dt(t,e){let i;return function(...s){return e?(clearTimeout(i),i=setTimeout(t,e,s)):t.apply(this,s),e}}const ut=t=>"start"===t?"left":"end"===t?"right":"center",ft=(t,e,i)=>"start"===t?e:"end"===t?i:(e+i)/2,gt=(t,e,i,s)=>t===(s?"left":"right")?i:"center"===t?(e+i)/2:e;function pt(t,e,i){const n=e.length;let o=0,a=n;if(t._sorted){const{iScale:r,vScale:l,_parsed:h}=t,c=t.dataset&&t.dataset.options?t.dataset.options.spanGaps:null,d=r.axis,{min:u,max:f,minDefined:g,maxDefined:p}=r.getUserBounds();if(g){if(o=Math.min(it(h,d,u).lo,i?n:it(e,d,r.getPixelForValue(u)).lo),c){const t=h.slice(0,o+1).reverse().findIndex((t=>!s(t[l.axis])));o-=Math.max(0,t)}o=Z(o,0,n-1)}if(p){let t=Math.max(it(h,r.axis,f,!0).hi+1,i?0:it(e,d,r.getPixelForValue(f),!0).hi+1);if(c){const e=h.slice(t-1).findIndex((t=>!s(t[l.axis])));t+=Math.max(0,e)}a=Z(t,o,n)-o}else a=n-o}return{start:o,count:a}}function mt(t){const{xScale:e,yScale:i,_scaleRanges:s}=t,n={xmin:e.min,xmax:e.max,ymin:i.min,ymax:i.max};if(!s)return t._scaleRanges=n,!0;const o=s.xmin!==e.min||s.xmax!==e.max||s.ymin!==i.min||s.ymax!==i.max;return Object.assign(s,n),o}class xt{constructor(){this._request=null,this._charts=new Map,this._running=!1,this._lastDate=void 0}_notify(t,e,i,s){const n=e.listeners[s],o=e.duration;n.forEach((s=>s({chart:t,initial:e.initial,numSteps:o,currentStep:Math.min(i-e.start,o)})))}_refresh(){this._request||(this._running=!0,this._request=ht.call(window,(()=>{this._update(),this._request=null,this._running&&this._refresh()})))}_update(t=Date.now()){let e=0;this._charts.forEach(((i,s)=>{if(!i.running||!i.items.length)return;const n=i.items;let o,a=n.length-1,r=!1;for(;a>=0;--a)o=n[a],o._active?(o._total>i.duration&&(i.duration=o._total),o.tick(t),r=!0):(n[a]=n[n.length-1],n.pop());r&&(s.draw(),this._notify(s,i,t,"progress")),n.length||(i.running=!1,this._notify(s,i,t,"complete"),i.initial=!1),e+=n.length})),this._lastDate=t,0===e&&(this._running=!1)}_getAnims(t){const e=this._charts;let i=e.get(t);return i||(i={running:!1,initial:!0,items:[],listeners:{complete:[],progress:[]}},e.set(t,i)),i}listen(t,e,i){this._getAnims(t).listeners[e].push(i)}add(t,e){e&&e.length&&this._getAnims(t).items.push(...e)}has(t){return this._getAnims(t).items.length>0}start(t){const e=this._charts.get(t);e&&(e.running=!0,e.start=Date.now(),e.duration=e.items.reduce(((t,e)=>Math.max(t,e._duration)),0),this._refresh())}running(t){if(!this._running)return!1;const e=this._charts.get(t);return!!(e&&e.running&&e.items.length)}stop(t){const e=this._charts.get(t);if(!e||!e.items.length)return;const i=e.items;let s=i.length-1;for(;s>=0;--s)i[s].cancel();e.items=[],this._notify(t,e,Date.now(),"complete")}remove(t){return this._charts.delete(t)}}var bt=new xt;
function _t(t){return t+.5|0}const yt=(t,e,i)=>Math.max(Math.min(t,i),e);function vt(t){return yt(_t(2.55*t),0,255)}function Mt(t){return yt(_t(255*t),0,255)}function wt(t){return yt(_t(t/2.55)/100,0,1)}function kt(t){return yt(_t(100*t),0,100)}const St={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15,a:10,b:11,c:12,d:13,e:14,f:15},Pt=[..."0123456789ABCDEF"],Dt=t=>Pt[15&t],Ct=t=>Pt[(240&t)>>4]+Pt[15&t],Ot=t=>(240&t)>>4==(15&t);function At(t){var e=(t=>Ot(t.r)&&Ot(t.g)&&Ot(t.b)&&Ot(t.a))(t)?Dt:Ct;return t?"#"+e(t.r)+e(t.g)+e(t.b)+((t,e)=>t<255?e(t):"")(t.a,e):void 0}const Tt=/^(hsla?|hwb|hsv)\(\s*([-+.e\d]+)(?:deg)?[\s,]+([-+.e\d]+)%[\s,]+([-+.e\d]+)%(?:[\s,]+([-+.e\d]+)(%)?)?\s*\)$/;function Lt(t,e,i){const s=e*Math.min(i,1-i),n=(e,n=(e+t/30)%12)=>i-s*Math.max(Math.min(n-3,9-n,1),-1);return[n(0),n(8),n(4)]}function Et(t,e,i){const s=(s,n=(s+t/60)%6)=>i-i*e*Math.max(Math.min(n,4-n,1),0);return[s(5),s(3),s(1)]}function Rt(t,e,i){const s=Lt(t,1,.5);let n;for(e+i>1&&(n=1/(e+i),e*=n,i*=n),n=0;n<3;n++)s[n]*=1-e-i,s[n]+=e;return s}function It(t){const e=t.r/255,i=t.g/255,s=t.b/255,n=Math.max(e,i,s),o=Math.min(e,i,s),a=(n+o)/2;let r,l,h;return n!==o&&(h=n-o,l=a>.5?h/(2-n-o):h/(n+o),r=function(t,e,i,s,n){return t===n?(e-i)/s+(e<i?6:0):e===n?(i-t)/s+2:(t-e)/s+4}(e,i,s,h,n),r=60*r+.5),[0|r,l||0,a]}function zt(t,e,i,s){return(Array.isArray(e)?t(e[0],e[1],e[2]):t(e,i,s)).map(Mt)}function Ft(t,e,i){return zt(Lt,t,e,i)}function Vt(t){return(t%360+360)%360}function Bt(t){const e=Tt.exec(t);let i,s=255;if(!e)return;e[5]!==i&&(s=e[6]?vt(+e[5]):Mt(+e[5]));const n=Vt(+e[2]),o=+e[3]/100,a=+e[4]/100;return i="hwb"===e[1]?function(t,e,i){return zt(Rt,t,e,i)}(n,o,a):"hsv"===e[1]?function(t,e,i){return zt(Et,t,e,i)}(n,o,a):Ft(n,o,a),{r:i[0],g:i[1],b:i[2],a:s}}const Wt={x:"dark",Z:"light",Y:"re",X:"blu",W:"gr",V:"medium",U:"slate",A:"ee",T:"ol",S:"or",B:"ra",C:"lateg",D:"ights",R:"in",Q:"turquois",E:"hi",P:"ro",O:"al",N:"le",M:"de",L:"yello",F:"en",K:"ch",G:"arks",H:"ea",I:"ightg",J:"wh"},Nt={OiceXe:"f0f8ff",antiquewEte:"faebd7",aqua:"ffff",aquamarRe:"7fffd4",azuY:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"0",blanKedOmond:"ffebcd",Xe:"ff",XeviTet:"8a2be2",bPwn:"a52a2a",burlywood:"deb887",caMtXe:"5f9ea0",KartYuse:"7fff00",KocTate:"d2691e",cSO:"ff7f50",cSnflowerXe:"6495ed",cSnsilk:"fff8dc",crimson:"dc143c",cyan:"ffff",xXe:"8b",xcyan:"8b8b",xgTMnPd:"b8860b",xWay:"a9a9a9",xgYF:"6400",xgYy:"a9a9a9",xkhaki:"bdb76b",xmagFta:"8b008b",xTivegYF:"556b2f",xSange:"ff8c00",xScEd:"9932cc",xYd:"8b0000",xsOmon:"e9967a",xsHgYF:"8fbc8f",xUXe:"483d8b",xUWay:"2f4f4f",xUgYy:"2f4f4f",xQe:"ced1",xviTet:"9400d3",dAppRk:"ff1493",dApskyXe:"bfff",dimWay:"696969",dimgYy:"696969",dodgerXe:"1e90ff",fiYbrick:"b22222",flSOwEte:"fffaf0",foYstWAn:"228b22",fuKsia:"ff00ff",gaRsbSo:"dcdcdc",ghostwEte:"f8f8ff",gTd:"ffd700",gTMnPd:"daa520",Way:"808080",gYF:"8000",gYFLw:"adff2f",gYy:"808080",honeyMw:"f0fff0",hotpRk:"ff69b4",RdianYd:"cd5c5c",Rdigo:"4b0082",ivSy:"fffff0",khaki:"f0e68c",lavFMr:"e6e6fa",lavFMrXsh:"fff0f5",lawngYF:"7cfc00",NmoncEffon:"fffacd",ZXe:"add8e6",ZcSO:"f08080",Zcyan:"e0ffff",ZgTMnPdLw:"fafad2",ZWay:"d3d3d3",ZgYF:"90ee90",ZgYy:"d3d3d3",ZpRk:"ffb6c1",ZsOmon:"ffa07a",ZsHgYF:"20b2aa",ZskyXe:"87cefa",ZUWay:"778899",ZUgYy:"778899",ZstAlXe:"b0c4de",ZLw:"ffffe0",lime:"ff00",limegYF:"32cd32",lRF:"faf0e6",magFta:"ff00ff",maPon:"800000",VaquamarRe:"66cdaa",VXe:"cd",VScEd:"ba55d3",VpurpN:"9370db",VsHgYF:"3cb371",VUXe:"7b68ee",VsprRggYF:"fa9a",VQe:"48d1cc",VviTetYd:"c71585",midnightXe:"191970",mRtcYam:"f5fffa",mistyPse:"ffe4e1",moccasR:"ffe4b5",navajowEte:"ffdead",navy:"80",Tdlace:"fdf5e6",Tive:"808000",TivedBb:"6b8e23",Sange:"ffa500",SangeYd:"ff4500",ScEd:"da70d6",pOegTMnPd:"eee8aa",pOegYF:"98fb98",pOeQe:"afeeee",pOeviTetYd:"db7093",papayawEp:"ffefd5",pHKpuff:"ffdab9",peru:"cd853f",pRk:"ffc0cb",plum:"dda0dd",powMrXe:"b0e0e6",purpN:"800080",YbeccapurpN:"663399",Yd:"ff0000",Psybrown:"bc8f8f",PyOXe:"4169e1",saddNbPwn:"8b4513",sOmon:"fa8072",sandybPwn:"f4a460",sHgYF:"2e8b57",sHshell:"fff5ee",siFna:"a0522d",silver:"c0c0c0",skyXe:"87ceeb",UXe:"6a5acd",UWay:"708090",UgYy:"708090",snow:"fffafa",sprRggYF:"ff7f",stAlXe:"4682b4",tan:"d2b48c",teO:"8080",tEstN:"d8bfd8",tomato:"ff6347",Qe:"40e0d0",viTet:"ee82ee",JHt:"f5deb3",wEte:"ffffff",wEtesmoke:"f5f5f5",Lw:"ffff00",LwgYF:"9acd32"};let Ht;function jt(t){Ht||(Ht=function(){const t={},e=Object.keys(Nt),i=Object.keys(Wt);let s,n,o,a,r;for(s=0;s<e.length;s++){for(a=r=e[s],n=0;n<i.length;n++)o=i[n],r=r.replace(o,Wt[o]);o=parseInt(Nt[a],16),t[r]=[o>>16&255,o>>8&255,255&o]}return t}(),Ht.transparent=[0,0,0,0]);const e=Ht[t.toLowerCase()];return e&&{r:e[0],g:e[1],b:e[2],a:4===e.length?e[3]:255}}const $t=/^rgba?\(\s*([-+.\d]+)(%)?[\s,]+([-+.e\d]+)(%)?[\s,]+([-+.e\d]+)(%)?(?:[\s,/]+([-+.e\d]+)(%)?)?\s*\)$/;const Yt=t=>t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055,Ut=t=>t<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4);function Xt(t,e,i){if(t){let s=It(t);s[e]=Math.max(0,Math.min(s[e]+s[e]*i,0===e?360:1)),s=Ft(s),t.r=s[0],t.g=s[1],t.b=s[2]}}function qt(t,e){return t?Object.assign(e||{},t):t}function Kt(t){var e={r:0,g:0,b:0,a:255};return Array.isArray(t)?t.length>=3&&(e={r:t[0],g:t[1],b:t[2],a:255},t.length>3&&(e.a=Mt(t[3]))):(e=qt(t,{r:0,g:0,b:0,a:1})).a=Mt(e.a),e}function Gt(t){return"r"===t.charAt(0)?function(t){const e=$t.exec(t);let i,s,n,o=255;if(e){if(e[7]!==i){const t=+e[7];o=e[8]?vt(t):yt(255*t,0,255)}return i=+e[1],s=+e[3],n=+e[5],i=255&(e[2]?vt(i):yt(i,0,255)),s=255&(e[4]?vt(s):yt(s,0,255)),n=255&(e[6]?vt(n):yt(n,0,255)),{r:i,g:s,b:n,a:o}}}(t):Bt(t)}class Jt{constructor(t){if(t instanceof Jt)return t;const e=typeof t;let i;var s,n,o;"object"===e?i=Kt(t):"string"===e&&(o=(s=t).length,"#"===s[0]&&(4===o||5===o?n={r:255&17*St[s[1]],g:255&17*St[s[2]],b:255&17*St[s[3]],a:5===o?17*St[s[4]]:255}:7!==o&&9!==o||(n={r:St[s[1]]<<4|St[s[2]],g:St[s[3]]<<4|St[s[4]],b:St[s[5]]<<4|St[s[6]],a:9===o?St[s[7]]<<4|St[s[8]]:255})),i=n||jt(t)||Gt(t)),this._rgb=i,this._valid=!!i}get valid(){return this._valid}get rgb(){var t=qt(this._rgb);return t&&(t.a=wt(t.a)),t}set rgb(t){this._rgb=Kt(t)}rgbString(){return this._valid?(t=this._rgb)&&(t.a<255?`rgba(${t.r}, ${t.g}, ${t.b}, ${wt(t.a)})`:`rgb(${t.r}, ${t.g}, ${t.b})`):void 0;var t}hexString(){return this._valid?At(this._rgb):void 0}hslString(){return this._valid?function(t){if(!t)return;const e=It(t),i=e[0],s=kt(e[1]),n=kt(e[2]);return t.a<255?`hsla(${i}, ${s}%, ${n}%, ${wt(t.a)})`:`hsl(${i}, ${s}%, ${n}%)`}(this._rgb):void 0}mix(t,e){if(t){const i=this.rgb,s=t.rgb;let n;const o=e===n?.5:e,a=2*o-1,r=i.a-s.a,l=((a*r==-1?a:(a+r)/(1+a*r))+1)/2;n=1-l,i.r=255&l*i.r+n*s.r+.5,i.g=255&l*i.g+n*s.g+.5,i.b=255&l*i.b+n*s.b+.5,i.a=o*i.a+(1-o)*s.a,this.rgb=i}return this}interpolate(t,e){return t&&(this._rgb=function(t,e,i){const s=Ut(wt(t.r)),n=Ut(wt(t.g)),o=Ut(wt(t.b));return{r:Mt(Yt(s+i*(Ut(wt(e.r))-s))),g:Mt(Yt(n+i*(Ut(wt(e.g))-n))),b:Mt(Yt(o+i*(Ut(wt(e.b))-o))),a:t.a+i*(e.a-t.a)}}(this._rgb,t._rgb,e)),this}clone(){return new Jt(this.rgb)}alpha(t){return this._rgb.a=Mt(t),this}clearer(t){return this._rgb.a*=1-t,this}greyscale(){const t=this._rgb,e=_t(.3*t.r+.59*t.g+.11*t.b);return t.r=t.g=t.b=e,this}opaquer(t){return this._rgb.a*=1+t,this}negate(){const t=this._rgb;return t.r=255-t.r,t.g=255-t.g,t.b=255-t.b,this}lighten(t){return Xt(this._rgb,2,t),this}darken(t){return Xt(this._rgb,2,-t),this}saturate(t){return Xt(this._rgb,1,t),this}desaturate(t){return Xt(this._rgb,1,-t),this}rotate(t){return function(t,e){var i=It(t);i[0]=Vt(i[0]+e),i=Ft(i),t.r=i[0],t.g=i[1],t.b=i[2]}(this._rgb,t),this}}function Zt(t){if(t&&"object"==typeof t){const e=t.toString();return"[object CanvasPattern]"===e||"[object CanvasGradient]"===e}return!1}function Qt(t){return Zt(t)?t:new Jt(t)}function te(t){return Zt(t)?t:new Jt(t).saturate(.5).darken(.1).hexString()}const ee=["x","y","borderWidth","radius","tension"],ie=["color","borderColor","backgroundColor"];const se=new Map;function ne(t,e,i){return function(t,e){e=e||{};const i=t+JSON.stringify(e);let s=se.get(i);return s||(s=new Intl.NumberFormat(t,e),se.set(i,s)),s}(e,i).format(t)}const oe={values:t=>n(t)?t:""+t,numeric(t,e,i){if(0===t)return"0";const s=this.chart.options.locale;let n,o=t;if(i.length>1){const e=Math.max(Math.abs(i[0].value),Math.abs(i[i.length-1].value));(e<1e-4||e>1e15)&&(n="scientific"),o=function(t,e){let i=e.length>3?e[2].value-e[1].value:e[1].value-e[0].value;Math.abs(i)>=1&&t!==Math.floor(t)&&(i=t-Math.floor(t));return i}(t,i)}const a=z(Math.abs(o)),r=isNaN(a)?1:Math.max(Math.min(-1*Math.floor(a),20),0),l={notation:n,minimumFractionDigits:r,maximumFractionDigits:r};return Object.assign(l,this.options.ticks.format),ne(t,s,l)},logarithmic(t,e,i){if(0===t)return"0";const s=i[e].significand||t/Math.pow(10,Math.floor(z(t)));return[1,2,3,5,10,15].includes(s)||e>.8*i.length?oe.numeric.call(this,t,e,i):""}};var ae={formatters:oe};const re=Object.create(null),le=Object.create(null);function he(t,e){if(!e)return t;const i=e.split(".");for(let e=0,s=i.length;e<s;++e){const s=i[e];t=t[s]||(t[s]=Object.create(null))}return t}function ce(t,e,i){return"string"==typeof e?x(he(t,e),i):x(he(t,""),e)}class de{constructor(t,e){this.animation=void 0,this.backgroundColor="rgba(0,0,0,0.1)",this.borderColor="rgba(0,0,0,0.1)",this.color="#666",this.datasets={},this.devicePixelRatio=t=>t.chart.platform.getDevicePixelRatio(),this.elements={},this.events=["mousemove","mouseout","click","touchstart","touchmove"],this.font={family:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",size:12,style:"normal",lineHeight:1.2,weight:null},this.hover={},this.hoverBackgroundColor=(t,e)=>te(e.backgroundColor),this.hoverBorderColor=(t,e)=>te(e.borderColor),this.hoverColor=(t,e)=>te(e.color),this.indexAxis="x",this.interaction={mode:"nearest",intersect:!0,includeInvisible:!1},this.maintainAspectRatio=!0,this.onHover=null,this.onClick=null,this.parsing=!0,this.plugins={},this.responsive=!0,this.scale=void 0,this.scales={},this.showLine=!0,this.drawActiveElementsOnTop=!0,this.describe(t),this.apply(e)}set(t,e){return ce(this,t,e)}get(t){return he(this,t)}describe(t,e){return ce(le,t,e)}override(t,e){return ce(re,t,e)}route(t,e,i,s){const n=he(this,t),a=he(this,i),r="_"+e;Object.defineProperties(n,{[r]:{value:n[e],writable:!0},[e]:{enumerable:!0,get(){const t=this[r],e=a[s];return o(t)?Object.assign({},e,t):l(t,e)},set(t){this[r]=t}}})}apply(t){t.forEach((t=>t(this)))}}var ue=new de({_scriptable:t=>!t.startsWith("on"),_indexable:t=>"events"!==t,hover:{_fallback:"interaction"},interaction:{_scriptable:!1,_indexable:!1}},[function(t){t.set("animation",{delay:void 0,duration:1e3,easing:"easeOutQuart",fn:void 0,from:void 0,loop:void 0,to:void 0,type:void 0}),t.describe("animation",{_fallback:!1,_indexable:!1,_scriptable:t=>"onProgress"!==t&&"onComplete"!==t&&"fn"!==t}),t.set("animations",{colors:{type:"color",properties:ie},numbers:{type:"number",properties:ee}}),t.describe("animations",{_fallback:"animation"}),t.set("transitions",{active:{animation:{duration:400}},resize:{animation:{duration:0}},show:{animations:{colors:{from:"transparent"},visible:{type:"boolean",duration:0}}},hide:{animations:{colors:{to:"transparent"},visible:{type:"boolean",easing:"linear",fn:t=>0|t}}}})},function(t){t.set("layout",{autoPadding:!0,padding:{top:0,right:0,bottom:0,left:0}})},function(t){t.set("scale",{display:!0,offset:!1,reverse:!1,beginAtZero:!1,bounds:"ticks",clip:!0,grace:0,grid:{display:!0,lineWidth:1,drawOnChartArea:!0,drawTicks:!0,tickLength:8,tickWidth:(t,e)=>e.lineWidth,tickColor:(t,e)=>e.color,offset:!1},border:{display:!0,dash:[],dashOffset:0,width:1},title:{display:!1,text:"",padding:{top:4,bottom:4}},ticks:{minRotation:0,maxRotation:50,mirror:!1,textStrokeWidth:0,textStrokeColor:"",padding:3,display:!0,autoSkip:!0,autoSkipPadding:3,labelOffset:0,callback:ae.formatters.values,minor:{},major:{},align:"center",crossAlign:"near",showLabelBackdrop:!1,backdropColor:"rgba(255, 255, 255, 0.75)",backdropPadding:2}}),t.route("scale.ticks","color","","color"),t.route("scale.grid","color","","borderColor"),t.route("scale.border","color","","borderColor"),t.route("scale.title","color","","color"),t.describe("scale",{_fallback:!1,_scriptable:t=>!t.startsWith("before")&&!t.startsWith("after")&&"callback"!==t&&"parser"!==t,_indexable:t=>"borderDash"!==t&&"tickBorderDash"!==t&&"dash"!==t}),t.describe("scales",{_fallback:"scale"}),t.describe("scale.ticks",{_scriptable:t=>"backdropPadding"!==t&&"callback"!==t,_indexable:t=>"backdropPadding"!==t})}]);function fe(){return"undefined"!=typeof window&&"undefined"!=typeof document}function ge(t){let e=t.parentNode;return e&&"[object ShadowRoot]"===e.toString()&&(e=e.host),e}function pe(t,e,i){let s;return"string"==typeof t?(s=parseInt(t,10),-1!==t.indexOf("%")&&(s=s/100*e.parentNode[i])):s=t,s}const me=t=>t.ownerDocument.defaultView.getComputedStyle(t,null);function xe(t,e){return me(t).getPropertyValue(e)}const be=["top","right","bottom","left"];function _e(t,e,i){const s={};i=i?"-"+i:"";for(let n=0;n<4;n++){const o=be[n];s[o]=parseFloat(t[e+"-"+o+i])||0}return s.width=s.left+s.right,s.height=s.top+s.bottom,s}const ye=(t,e,i)=>(t>0||e>0)&&(!i||!i.shadowRoot);function ve(t,e){if("native"in t)return t;const{canvas:i,currentDevicePixelRatio:s}=e,n=me(i),o="border-box"===n.boxSizing,a=_e(n,"padding"),r=_e(n,"border","width"),{x:l,y:h,box:c}=function(t,e){const i=t.touches,s=i&&i.length?i[0]:t,{offsetX:n,offsetY:o}=s;let a,r,l=!1;if(ye(n,o,t.target))a=n,r=o;else{const t=e.getBoundingClientRect();a=s.clientX-t.left,r=s.clientY-t.top,l=!0}return{x:a,y:r,box:l}}(t,i),d=a.left+(c&&r.left),u=a.top+(c&&r.top);let{width:f,height:g}=e;return o&&(f-=a.width+r.width,g-=a.height+r.height),{x:Math.round((l-d)/f*i.width/s),y:Math.round((h-u)/g*i.height/s)}}const Me=t=>Math.round(10*t)/10;function we(t,e,i,s){const n=me(t),o=_e(n,"margin"),a=pe(n.maxWidth,t,"clientWidth")||T,r=pe(n.maxHeight,t,"clientHeight")||T,l=function(t,e,i){let s,n;if(void 0===e||void 0===i){const o=t&&ge(t);if(o){const t=o.getBoundingClientRect(),a=me(o),r=_e(a,"border","width"),l=_e(a,"padding");e=t.width-l.width-r.width,i=t.height-l.height-r.height,s=pe(a.maxWidth,o,"clientWidth"),n=pe(a.maxHeight,o,"clientHeight")}else e=t.clientWidth,i=t.clientHeight}return{width:e,height:i,maxWidth:s||T,maxHeight:n||T}}(t,e,i);let{width:h,height:c}=l;if("content-box"===n.boxSizing){const t=_e(n,"border","width"),e=_e(n,"padding");h-=e.width+t.width,c-=e.height+t.height}h=Math.max(0,h-o.width),c=Math.max(0,s?h/s:c-o.height),h=Me(Math.min(h,a,l.maxWidth)),c=Me(Math.min(c,r,l.maxHeight)),h&&!c&&(c=Me(h/2));return(void 0!==e||void 0!==i)&&s&&l.height&&c>l.height&&(c=l.height,h=Me(Math.floor(c*s))),{width:h,height:c}}function ke(t,e,i){const s=e||1,n=Math.floor(t.height*s),o=Math.floor(t.width*s);t.height=Math.floor(t.height),t.width=Math.floor(t.width);const a=t.canvas;return a.style&&(i||!a.style.height&&!a.style.width)&&(a.style.height=`${t.height}px`,a.style.width=`${t.width}px`),(t.currentDevicePixelRatio!==s||a.height!==n||a.width!==o)&&(t.currentDevicePixelRatio=s,a.height=n,a.width=o,t.ctx.setTransform(s,0,0,s,0,0),!0)}const Se=function(){let t=!1;try{const e={get passive(){return t=!0,!1}};fe()&&(window.addEventListener("test",null,e),window.removeEventListener("test",null,e))}catch(t){}return t}();function Pe(t,e){const i=xe(t,e),s=i&&i.match(/^(\d+)(\.\d+)?px$/);return s?+s[1]:void 0}function De(t){return!t||s(t.size)||s(t.family)?null:(t.style?t.style+" ":"")+(t.weight?t.weight+" ":"")+t.size+"px "+t.family}function Ce(t,e,i,s,n){let o=e[n];return o||(o=e[n]=t.measureText(n).width,i.push(n)),o>s&&(s=o),s}function Oe(t,e,i,s){let o=(s=s||{}).data=s.data||{},a=s.garbageCollect=s.garbageCollect||[];s.font!==e&&(o=s.data={},a=s.garbageCollect=[],s.font=e),t.save(),t.font=e;let r=0;const l=i.length;let h,c,d,u,f;for(h=0;h<l;h++)if(u=i[h],null==u||n(u)){if(n(u))for(c=0,d=u.length;c<d;c++)f=u[c],null==f||n(f)||(r=Ce(t,o,a,r,f))}else r=Ce(t,o,a,r,u);t.restore();const g=a.length/2;if(g>i.length){for(h=0;h<g;h++)delete o[a[h]];a.splice(0,g)}return r}function Ae(t,e,i){const s=t.currentDevicePixelRatio,n=0!==i?Math.max(i/2,.5):0;return Math.round((e-n)*s)/s+n}function Te(t,e){(e||t)&&((e=e||t.getContext("2d")).save(),e.resetTransform(),e.clearRect(0,0,t.width,t.height),e.restore())}function Le(t,e,i,s){Ee(t,e,i,s,null)}function Ee(t,e,i,s,n){let o,a,r,l,h,c,d,u;const f=e.pointStyle,g=e.rotation,p=e.radius;let m=(g||0)*L;if(f&&"object"==typeof f&&(o=f.toString(),"[object HTMLImageElement]"===o||"[object HTMLCanvasElement]"===o))return t.save(),t.translate(i,s),t.rotate(m),t.drawImage(f,-f.width/2,-f.height/2,f.width,f.height),void t.restore();if(!(isNaN(p)||p<=0)){switch(t.beginPath(),f){default:n?t.ellipse(i,s,n/2,p,0,0,O):t.arc(i,s,p,0,O),t.closePath();break;case"triangle":c=n?n/2:p,t.moveTo(i+Math.sin(m)*c,s-Math.cos(m)*p),m+=I,t.lineTo(i+Math.sin(m)*c,s-Math.cos(m)*p),m+=I,t.lineTo(i+Math.sin(m)*c,s-Math.cos(m)*p),t.closePath();break;case"rectRounded":h=.516*p,l=p-h,a=Math.cos(m+R)*l,d=Math.cos(m+R)*(n?n/2-h:l),r=Math.sin(m+R)*l,u=Math.sin(m+R)*(n?n/2-h:l),t.arc(i-d,s-r,h,m-C,m-E),t.arc(i+u,s-a,h,m-E,m),t.arc(i+d,s+r,h,m,m+E),t.arc(i-u,s+a,h,m+E,m+C),t.closePath();break;case"rect":if(!g){l=Math.SQRT1_2*p,c=n?n/2:l,t.rect(i-c,s-l,2*c,2*l);break}m+=R;case"rectRot":d=Math.cos(m)*(n?n/2:p),a=Math.cos(m)*p,r=Math.sin(m)*p,u=Math.sin(m)*(n?n/2:p),t.moveTo(i-d,s-r),t.lineTo(i+u,s-a),t.lineTo(i+d,s+r),t.lineTo(i-u,s+a),t.closePath();break;case"crossRot":m+=R;case"cross":d=Math.cos(m)*(n?n/2:p),a=Math.cos(m)*p,r=Math.sin(m)*p,u=Math.sin(m)*(n?n/2:p),t.moveTo(i-d,s-r),t.lineTo(i+d,s+r),t.moveTo(i+u,s-a),t.lineTo(i-u,s+a);break;case"star":d=Math.cos(m)*(n?n/2:p),a=Math.cos(m)*p,r=Math.sin(m)*p,u=Math.sin(m)*(n?n/2:p),t.moveTo(i-d,s-r),t.lineTo(i+d,s+r),t.moveTo(i+u,s-a),t.lineTo(i-u,s+a),m+=R,d=Math.cos(m)*(n?n/2:p),a=Math.cos(m)*p,r=Math.sin(m)*p,u=Math.sin(m)*(n?n/2:p),t.moveTo(i-d,s-r),t.lineTo(i+d,s+r),t.moveTo(i+u,s-a),t.lineTo(i-u,s+a);break;case"line":a=n?n/2:Math.cos(m)*p,r=Math.sin(m)*p,t.moveTo(i-a,s-r),t.lineTo(i+a,s+r);break;case"dash":t.moveTo(i,s),t.lineTo(i+Math.cos(m)*(n?n/2:p),s+Math.sin(m)*p);break;case!1:t.closePath()}t.fill(),e.borderWidth>0&&t.stroke()}}function Re(t,e,i){return i=i||.5,!e||t&&t.x>e.left-i&&t.x<e.right+i&&t.y>e.top-i&&t.y<e.bottom+i}function Ie(t,e){t.save(),t.beginPath(),t.rect(e.left,e.top,e.right-e.left,e.bottom-e.top),t.clip()}function ze(t){t.restore()}function Fe(t,e,i,s,n){if(!e)return t.lineTo(i.x,i.y);if("middle"===n){const s=(e.x+i.x)/2;t.lineTo(s,e.y),t.lineTo(s,i.y)}else"after"===n!=!!s?t.lineTo(e.x,i.y):t.lineTo(i.x,e.y);t.lineTo(i.x,i.y)}function Ve(t,e,i,s){if(!e)return t.lineTo(i.x,i.y);t.bezierCurveTo(s?e.cp1x:e.cp2x,s?e.cp1y:e.cp2y,s?i.cp2x:i.cp1x,s?i.cp2y:i.cp1y,i.x,i.y)}function Be(t,e,i,s,n){if(n.strikethrough||n.underline){const o=t.measureText(s),a=e-o.actualBoundingBoxLeft,r=e+o.actualBoundingBoxRight,l=i-o.actualBoundingBoxAscent,h=i+o.actualBoundingBoxDescent,c=n.strikethrough?(l+h)/2:h;t.strokeStyle=t.fillStyle,t.beginPath(),t.lineWidth=n.decorationWidth||2,t.moveTo(a,c),t.lineTo(r,c),t.stroke()}}function We(t,e){const i=t.fillStyle;t.fillStyle=e.color,t.fillRect(e.left,e.top,e.width,e.height),t.fillStyle=i}function Ne(t,e,i,o,a,r={}){const l=n(e)?e:[e],h=r.strokeWidth>0&&""!==r.strokeColor;let c,d;for(t.save(),t.font=a.string,function(t,e){e.translation&&t.translate(e.translation[0],e.translation[1]),s(e.rotation)||t.rotate(e.rotation),e.color&&(t.fillStyle=e.color),e.textAlign&&(t.textAlign=e.textAlign),e.textBaseline&&(t.textBaseline=e.textBaseline)}(t,r),c=0;c<l.length;++c)d=l[c],r.backdrop&&We(t,r.backdrop),h&&(r.strokeColor&&(t.strokeStyle=r.strokeColor),s(r.strokeWidth)||(t.lineWidth=r.strokeWidth),t.strokeText(d,i,o,r.maxWidth)),t.fillText(d,i,o,r.maxWidth),Be(t,i,o,d,r),o+=Number(a.lineHeight);t.restore()}function He(t,e){const{x:i,y:s,w:n,h:o,radius:a}=e;t.arc(i+a.topLeft,s+a.topLeft,a.topLeft,1.5*C,C,!0),t.lineTo(i,s+o-a.bottomLeft),t.arc(i+a.bottomLeft,s+o-a.bottomLeft,a.bottomLeft,C,E,!0),t.lineTo(i+n-a.bottomRight,s+o),t.arc(i+n-a.bottomRight,s+o-a.bottomRight,a.bottomRight,E,0,!0),t.lineTo(i+n,s+a.topRight),t.arc(i+n-a.topRight,s+a.topRight,a.topRight,0,-E,!0),t.lineTo(i+a.topLeft,s)}function je(t,e=[""],i,s,n=(()=>t[0])){const o=i||t;void 0===s&&(s=ti("_fallback",t));const a={[Symbol.toStringTag]:"Object",_cacheable:!0,_scopes:t,_rootScopes:o,_fallback:s,_getTarget:n,override:i=>je([i,...t],e,o,s)};return new Proxy(a,{deleteProperty:(e,i)=>(delete e[i],delete e._keys,delete t[0][i],!0),get:(i,s)=>qe(i,s,(()=>function(t,e,i,s){let n;for(const o of e)if(n=ti(Ue(o,t),i),void 0!==n)return Xe(t,n)?Ze(i,s,t,n):n}(s,e,t,i))),getOwnPropertyDescriptor:(t,e)=>Reflect.getOwnPropertyDescriptor(t._scopes[0],e),getPrototypeOf:()=>Reflect.getPrototypeOf(t[0]),has:(t,e)=>ei(t).includes(e),ownKeys:t=>ei(t),set(t,e,i){const s=t._storage||(t._storage=n());return t[e]=s[e]=i,delete t._keys,!0}})}function $e(t,e,i,s){const a={_cacheable:!1,_proxy:t,_context:e,_subProxy:i,_stack:new Set,_descriptors:Ye(t,s),setContext:e=>$e(t,e,i,s),override:n=>$e(t.override(n),e,i,s)};return new Proxy(a,{deleteProperty:(e,i)=>(delete e[i],delete t[i],!0),get:(t,e,i)=>qe(t,e,(()=>function(t,e,i){const{_proxy:s,_context:a,_subProxy:r,_descriptors:l}=t;let h=s[e];S(h)&&l.isScriptable(e)&&(h=function(t,e,i,s){const{_proxy:n,_context:o,_subProxy:a,_stack:r}=i;if(r.has(t))throw new Error("Recursion detected: "+Array.from(r).join("->")+"->"+t);r.add(t);let l=e(o,a||s);r.delete(t),Xe(t,l)&&(l=Ze(n._scopes,n,t,l));return l}(e,h,t,i));n(h)&&h.length&&(h=function(t,e,i,s){const{_proxy:n,_context:a,_subProxy:r,_descriptors:l}=i;if(void 0!==a.index&&s(t))return e[a.index%e.length];if(o(e[0])){const i=e,s=n._scopes.filter((t=>t!==i));e=[];for(const o of i){const i=Ze(s,n,t,o);e.push($e(i,a,r&&r[t],l))}}return e}(e,h,t,l.isIndexable));Xe(e,h)&&(h=$e(h,a,r&&r[e],l));return h}(t,e,i))),getOwnPropertyDescriptor:(e,i)=>e._descriptors.allKeys?Reflect.has(t,i)?{enumerable:!0,configurable:!0}:void 0:Reflect.getOwnPropertyDescriptor(t,i),getPrototypeOf:()=>Reflect.getPrototypeOf(t),has:(e,i)=>Reflect.has(t,i),ownKeys:()=>Reflect.ownKeys(t),set:(e,i,s)=>(t[i]=s,delete e[i],!0)})}function Ye(t,e={scriptable:!0,indexable:!0}){const{_scriptable:i=e.scriptable,_indexable:s=e.indexable,_allKeys:n=e.allKeys}=t;return{allKeys:n,scriptable:i,indexable:s,isScriptable:S(i)?i:()=>i,isIndexable:S(s)?s:()=>s}}const Ue=(t,e)=>t?t+w(e):e,Xe=(t,e)=>o(e)&&"adapters"!==t&&(null===Object.getPrototypeOf(e)||e.constructor===Object);function qe(t,e,i){if(Object.prototype.hasOwnProperty.call(t,e)||"constructor"===e)return t[e];const s=i();return t[e]=s,s}function Ke(t,e,i){return S(t)?t(e,i):t}const Ge=(t,e)=>!0===t?e:"string"==typeof t?M(e,t):void 0;function Je(t,e,i,s,n){for(const o of e){const e=Ge(i,o);if(e){t.add(e);const o=Ke(e._fallback,i,n);if(void 0!==o&&o!==i&&o!==s)return o}else if(!1===e&&void 0!==s&&i!==s)return null}return!1}function Ze(t,e,i,s){const a=e._rootScopes,r=Ke(e._fallback,i,s),l=[...t,...a],h=new Set;h.add(s);let c=Qe(h,l,i,r||i,s);return null!==c&&((void 0===r||r===i||(c=Qe(h,l,r,c,s),null!==c))&&je(Array.from(h),[""],a,r,(()=>function(t,e,i){const s=t._getTarget();e in s||(s[e]={});const a=s[e];if(n(a)&&o(i))return i;return a||{}}(e,i,s))))}function Qe(t,e,i,s,n){for(;i;)i=Je(t,e,i,s,n);return i}function ti(t,e){for(const i of e){if(!i)continue;const e=i[t];if(void 0!==e)return e}}function ei(t){let e=t._keys;return e||(e=t._keys=function(t){const e=new Set;for(const i of t)for(const t of Object.keys(i).filter((t=>!t.startsWith("_"))))e.add(t);return Array.from(e)}(t._scopes)),e}function ii(t,e,i,s){const{iScale:n}=t,{key:o="r"}=this._parsing,a=new Array(s);let r,l,h,c;for(r=0,l=s;r<l;++r)h=r+i,c=e[h],a[r]={r:n.parse(M(c,o),h)};return a}const si=Number.EPSILON||1e-14,ni=(t,e)=>e<t.length&&!t[e].skip&&t[e],oi=t=>"x"===t?"y":"x";function ai(t,e,i,s){const n=t.skip?e:t,o=e,a=i.skip?e:i,r=q(o,n),l=q(a,o);let h=r/(r+l),c=l/(r+l);h=isNaN(h)?0:h,c=isNaN(c)?0:c;const d=s*h,u=s*c;return{previous:{x:o.x-d*(a.x-n.x),y:o.y-d*(a.y-n.y)},next:{x:o.x+u*(a.x-n.x),y:o.y+u*(a.y-n.y)}}}function ri(t,e="x"){const i=oi(e),s=t.length,n=Array(s).fill(0),o=Array(s);let a,r,l,h=ni(t,0);for(a=0;a<s;++a)if(r=l,l=h,h=ni(t,a+1),l){if(h){const t=h[e]-l[e];n[a]=0!==t?(h[i]-l[i])/t:0}o[a]=r?h?F(n[a-1])!==F(n[a])?0:(n[a-1]+n[a])/2:n[a-1]:n[a]}!function(t,e,i){const s=t.length;let n,o,a,r,l,h=ni(t,0);for(let c=0;c<s-1;++c)l=h,h=ni(t,c+1),l&&h&&(V(e[c],0,si)?i[c]=i[c+1]=0:(n=i[c]/e[c],o=i[c+1]/e[c],r=Math.pow(n,2)+Math.pow(o,2),r<=9||(a=3/Math.sqrt(r),i[c]=n*a*e[c],i[c+1]=o*a*e[c])))}(t,n,o),function(t,e,i="x"){const s=oi(i),n=t.length;let o,a,r,l=ni(t,0);for(let h=0;h<n;++h){if(a=r,r=l,l=ni(t,h+1),!r)continue;const n=r[i],c=r[s];a&&(o=(n-a[i])/3,r[`cp1${i}`]=n-o,r[`cp1${s}`]=c-o*e[h]),l&&(o=(l[i]-n)/3,r[`cp2${i}`]=n+o,r[`cp2${s}`]=c+o*e[h])}}(t,o,e)}function li(t,e,i){return Math.max(Math.min(t,i),e)}function hi(t,e,i,s,n){let o,a,r,l;if(e.spanGaps&&(t=t.filter((t=>!t.skip))),"monotone"===e.cubicInterpolationMode)ri(t,n);else{let i=s?t[t.length-1]:t[0];for(o=0,a=t.length;o<a;++o)r=t[o],l=ai(i,r,t[Math.min(o+1,a-(s?0:1))%a],e.tension),r.cp1x=l.previous.x,r.cp1y=l.previous.y,r.cp2x=l.next.x,r.cp2y=l.next.y,i=r}e.capBezierPoints&&function(t,e){let i,s,n,o,a,r=Re(t[0],e);for(i=0,s=t.length;i<s;++i)a=o,o=r,r=i<s-1&&Re(t[i+1],e),o&&(n=t[i],a&&(n.cp1x=li(n.cp1x,e.left,e.right),n.cp1y=li(n.cp1y,e.top,e.bottom)),r&&(n.cp2x=li(n.cp2x,e.left,e.right),n.cp2y=li(n.cp2y,e.top,e.bottom)))}(t,i)}const ci=t=>0===t||1===t,di=(t,e,i)=>-Math.pow(2,10*(t-=1))*Math.sin((t-e)*O/i),ui=(t,e,i)=>Math.pow(2,-10*t)*Math.sin((t-e)*O/i)+1,fi={linear:t=>t,easeInQuad:t=>t*t,easeOutQuad:t=>-t*(t-2),easeInOutQuad:t=>(t/=.5)<1?.5*t*t:-.5*(--t*(t-2)-1),easeInCubic:t=>t*t*t,easeOutCubic:t=>(t-=1)*t*t+1,easeInOutCubic:t=>(t/=.5)<1?.5*t*t*t:.5*((t-=2)*t*t+2),easeInQuart:t=>t*t*t*t,easeOutQuart:t=>-((t-=1)*t*t*t-1),easeInOutQuart:t=>(t/=.5)<1?.5*t*t*t*t:-.5*((t-=2)*t*t*t-2),easeInQuint:t=>t*t*t*t*t,easeOutQuint:t=>(t-=1)*t*t*t*t+1,easeInOutQuint:t=>(t/=.5)<1?.5*t*t*t*t*t:.5*((t-=2)*t*t*t*t+2),easeInSine:t=>1-Math.cos(t*E),easeOutSine:t=>Math.sin(t*E),easeInOutSine:t=>-.5*(Math.cos(C*t)-1),easeInExpo:t=>0===t?0:Math.pow(2,10*(t-1)),easeOutExpo:t=>1===t?1:1-Math.pow(2,-10*t),easeInOutExpo:t=>ci(t)?t:t<.5?.5*Math.pow(2,10*(2*t-1)):.5*(2-Math.pow(2,-10*(2*t-1))),easeInCirc:t=>t>=1?t:-(Math.sqrt(1-t*t)-1),easeOutCirc:t=>Math.sqrt(1-(t-=1)*t),easeInOutCirc:t=>(t/=.5)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1),easeInElastic:t=>ci(t)?t:di(t,.075,.3),easeOutElastic:t=>ci(t)?t:ui(t,.075,.3),easeInOutElastic(t){const e=.1125;return ci(t)?t:t<.5?.5*di(2*t,e,.45):.5+.5*ui(2*t-1,e,.45)},easeInBack(t){const e=1.70158;return t*t*((e+1)*t-e)},easeOutBack(t){const e=1.70158;return(t-=1)*t*((e+1)*t+e)+1},easeInOutBack(t){let e=1.70158;return(t/=.5)<1?t*t*((1+(e*=1.525))*t-e)*.5:.5*((t-=2)*t*((1+(e*=1.525))*t+e)+2)},easeInBounce:t=>1-fi.easeOutBounce(1-t),easeOutBounce(t){const e=7.5625,i=2.75;return t<1/i?e*t*t:t<2/i?e*(t-=1.5/i)*t+.75:t<2.5/i?e*(t-=2.25/i)*t+.9375:e*(t-=2.625/i)*t+.984375},easeInOutBounce:t=>t<.5?.5*fi.easeInBounce(2*t):.5*fi.easeOutBounce(2*t-1)+.5};function gi(t,e,i,s){return{x:t.x+i*(e.x-t.x),y:t.y+i*(e.y-t.y)}}function pi(t,e,i,s){return{x:t.x+i*(e.x-t.x),y:"middle"===s?i<.5?t.y:e.y:"after"===s?i<1?t.y:e.y:i>0?e.y:t.y}}function mi(t,e,i,s){const n={x:t.cp2x,y:t.cp2y},o={x:e.cp1x,y:e.cp1y},a=gi(t,n,i),r=gi(n,o,i),l=gi(o,e,i),h=gi(a,r,i),c=gi(r,l,i);return gi(h,c,i)}const xi=/^(normal|(\d+(?:\.\d+)?)(px|em|%)?)$/,bi=/^(normal|italic|initial|inherit|unset|(oblique(-?[0-9]?[0-9]deg)?))$/;function _i(t,e){const i=(""+t).match(xi);if(!i||"normal"===i[1])return 1.2*e;switch(t=+i[2],i[3]){case"px":return t;case"%":t/=100}return e*t}const yi=t=>+t||0;function vi(t,e){const i={},s=o(e),n=s?Object.keys(e):e,a=o(t)?s?i=>l(t[i],t[e[i]]):e=>t[e]:()=>t;for(const t of n)i[t]=yi(a(t));return i}function Mi(t){return vi(t,{top:"y",right:"x",bottom:"y",left:"x"})}function wi(t){return vi(t,["topLeft","topRight","bottomLeft","bottomRight"])}function ki(t){const e=Mi(t);return e.width=e.left+e.right,e.height=e.top+e.bottom,e}function Si(t,e){t=t||{},e=e||ue.font;let i=l(t.size,e.size);"string"==typeof i&&(i=parseInt(i,10));let s=l(t.style,e.style);s&&!(""+s).match(bi)&&(console.warn('Invalid font style specified: "'+s+'"'),s=void 0);const n={family:l(t.family,e.family),lineHeight:_i(l(t.lineHeight,e.lineHeight),i),size:i,style:s,weight:l(t.weight,e.weight),string:""};return n.string=De(n),n}function Pi(t,e,i,s){let o,a,r,l=!0;for(o=0,a=t.length;o<a;++o)if(r=t[o],void 0!==r&&(void 0!==e&&"function"==typeof r&&(r=r(e),l=!1),void 0!==i&&n(r)&&(r=r[i%r.length],l=!1),void 0!==r))return s&&!l&&(s.cacheable=!1),r}function Di(t,e,i){const{min:s,max:n}=t,o=c(e,(n-s)/2),a=(t,e)=>i&&0===t?0:t+e;return{min:a(s,-Math.abs(o)),max:a(n,o)}}function Ci(t,e){return Object.assign(Object.create(t),e)}function Oi(t,e,i){return t?function(t,e){return{x:i=>t+t+e-i,setWidth(t){e=t},textAlign:t=>"center"===t?t:"right"===t?"left":"right",xPlus:(t,e)=>t-e,leftForLtr:(t,e)=>t-e}}(e,i):{x:t=>t,setWidth(t){},textAlign:t=>t,xPlus:(t,e)=>t+e,leftForLtr:(t,e)=>t}}function Ai(t,e){let i,s;"ltr"!==e&&"rtl"!==e||(i=t.canvas.style,s=[i.getPropertyValue("direction"),i.getPropertyPriority("direction")],i.setProperty("direction",e,"important"),t.prevTextDirection=s)}function Ti(t,e){void 0!==e&&(delete t.prevTextDirection,t.canvas.style.setProperty("direction",e[0],e[1]))}function Li(t){return"angle"===t?{between:J,compare:K,normalize:G}:{between:tt,compare:(t,e)=>t-e,normalize:t=>t}}function Ei({start:t,end:e,count:i,loop:s,style:n}){return{start:t%i,end:e%i,loop:s&&(e-t+1)%i==0,style:n}}function Ri(t,e,i){if(!i)return[t];const{property:s,start:n,end:o}=i,a=e.length,{compare:r,between:l,normalize:h}=Li(s),{start:c,end:d,loop:u,style:f}=function(t,e,i){const{property:s,start:n,end:o}=i,{between:a,normalize:r}=Li(s),l=e.length;let h,c,{start:d,end:u,loop:f}=t;if(f){for(d+=l,u+=l,h=0,c=l;h<c&&a(r(e[d%l][s]),n,o);++h)d--,u--;d%=l,u%=l}return u<d&&(u+=l),{start:d,end:u,loop:f,style:t.style}}(t,e,i),g=[];let p,m,x,b=!1,_=null;const y=()=>b||l(n,x,p)&&0!==r(n,x),v=()=>!b||0===r(o,p)||l(o,x,p);for(let t=c,i=c;t<=d;++t)m=e[t%a],m.skip||(p=h(m[s]),p!==x&&(b=l(p,n,o),null===_&&y()&&(_=0===r(p,n)?t:i),null!==_&&v()&&(g.push(Ei({start:_,end:t,loop:u,count:a,style:f})),_=null),i=t,x=p));return null!==_&&g.push(Ei({start:_,end:d,loop:u,count:a,style:f})),g}function Ii(t,e){const i=[],s=t.segments;for(let n=0;n<s.length;n++){const o=Ri(s[n],t.points,e);o.length&&i.push(...o)}return i}function zi(t,e){const i=t.points,s=t.options.spanGaps,n=i.length;if(!n)return[];const o=!!t._loop,{start:a,end:r}=function(t,e,i,s){let n=0,o=e-1;if(i&&!s)for(;n<e&&!t[n].skip;)n++;for(;n<e&&t[n].skip;)n++;for(n%=e,i&&(o+=n);o>n&&t[o%e].skip;)o--;return o%=e,{start:n,end:o}}(i,n,o,s);if(!0===s)return Fi(t,[{start:a,end:r,loop:o}],i,e);return Fi(t,function(t,e,i,s){const n=t.length,o=[];let a,r=e,l=t[e];for(a=e+1;a<=i;++a){const i=t[a%n];i.skip||i.stop?l.skip||(s=!1,o.push({start:e%n,end:(a-1)%n,loop:s}),e=r=i.stop?a:null):(r=a,l.skip&&(e=a)),l=i}return null!==r&&o.push({start:e%n,end:r%n,loop:s}),o}(i,a,r<a?r+n:r,!!t._fullLoop&&0===a&&r===n-1),i,e)}function Fi(t,e,i,s){return s&&s.setContext&&i?function(t,e,i,s){const n=t._chart.getContext(),o=Vi(t.options),{_datasetIndex:a,options:{spanGaps:r}}=t,l=i.length,h=[];let c=o,d=e[0].start,u=d;function f(t,e,s,n){const o=r?-1:1;if(t!==e){for(t+=l;i[t%l].skip;)t-=o;for(;i[e%l].skip;)e+=o;t%l!=e%l&&(h.push({start:t%l,end:e%l,loop:s,style:n}),c=n,d=e%l)}}for(const t of e){d=r?d:t.start;let e,o=i[d%l];for(u=d+1;u<=t.end;u++){const r=i[u%l];e=Vi(s.setContext(Ci(n,{type:"segment",p0:o,p1:r,p0DataIndex:(u-1)%l,p1DataIndex:u%l,datasetIndex:a}))),Bi(e,c)&&f(d,u-1,t.loop,c),o=r,c=e}d<u-1&&f(d,u-1,t.loop,c)}return h}(t,e,i,s):e}function Vi(t){return{backgroundColor:t.backgroundColor,borderCapStyle:t.borderCapStyle,borderDash:t.borderDash,borderDashOffset:t.borderDashOffset,borderJoinStyle:t.borderJoinStyle,borderWidth:t.borderWidth,borderColor:t.borderColor}}function Bi(t,e){if(!e)return!1;const i=[],s=function(t,e){return Zt(e)?(i.includes(e)||i.push(e),i.indexOf(e)):e};return JSON.stringify(t,s)!==JSON.stringify(e,s)}function Wi(t,e,i){return t.options.clip?t[i]:e[i]}function Ni(t,e){const i=e._clip;if(i.disabled)return!1;const s=function(t,e){const{xScale:i,yScale:s}=t;return i&&s?{left:Wi(i,e,"left"),right:Wi(i,e,"right"),top:Wi(s,e,"top"),bottom:Wi(s,e,"bottom")}:e}(e,t.chartArea);return{left:!1===i.left?0:s.left-(!0===i.left?0:i.left),right:!1===i.right?t.width:s.right+(!0===i.right?0:i.right),top:!1===i.top?0:s.top-(!0===i.top?0:i.top),bottom:!1===i.bottom?t.height:s.bottom+(!0===i.bottom?0:i.bottom)}}var Hi=Object.freeze({__proto__:null,HALF_PI:E,INFINITY:T,PI:C,PITAU:A,QUARTER_PI:R,RAD_PER_DEG:L,TAU:O,TWO_THIRDS_PI:I,_addGrace:Di,_alignPixel:Ae,_alignStartEnd:ft,_angleBetween:J,_angleDiff:K,_arrayUnique:lt,_attachContext:$e,_bezierCurveTo:Ve,_bezierInterpolation:mi,_boundSegment:Ri,_boundSegments:Ii,_capitalize:w,_computeSegments:zi,_createResolver:je,_decimalPlaces:U,_deprecated:function(t,e,i,s){void 0!==e&&console.warn(t+': "'+i+'" is deprecated. Please use "'+s+'" instead')},_descriptors:Ye,_elementsEqual:f,_factorize:W,_filterBetween:nt,_getParentNode:ge,_getStartAndCountOfVisiblePoints:pt,_int16Range:Q,_isBetween:tt,_isClickEvent:D,_isDomSupported:fe,_isPointInArea:Re,_limitValue:Z,_longestText:Oe,_lookup:et,_lookupByKey:it,_measureText:Ce,_merger:m,_mergerIf:_,_normalizeAngle:G,_parseObjectDataRadialScale:ii,_pointInLine:gi,_readValueToProps:vi,_rlookupByKey:st,_scaleRangesChanged:mt,_setMinAndMaxByKey:j,_splitKey:v,_steppedInterpolation:pi,_steppedLineTo:Fe,_textX:gt,_toLeftRightCenter:ut,_updateBezierControlPoints:hi,addRoundedRectPath:He,almostEquals:V,almostWhole:H,callback:d,clearCanvas:Te,clipArea:Ie,clone:g,color:Qt,createContext:Ci,debounce:dt,defined:k,distanceBetweenPoints:q,drawPoint:Le,drawPointLegend:Ee,each:u,easingEffects:fi,finiteOrDefault:r,fontString:function(t,e,i){return e+" "+t+"px "+i},formatNumber:ne,getAngleFromPoint:X,getDatasetClipArea:Ni,getHoverColor:te,getMaximumSize:we,getRelativePosition:ve,getRtlAdapter:Oi,getStyle:xe,isArray:n,isFinite:a,isFunction:S,isNullOrUndef:s,isNumber:N,isObject:o,isPatternOrGradient:Zt,listenArrayEvents:at,log10:z,merge:x,mergeIf:b,niceNum:B,noop:e,overrideTextDirection:Ai,readUsedSize:Pe,renderText:Ne,requestAnimFrame:ht,resolve:Pi,resolveObjectKey:M,restoreTextDirection:Ti,retinaScale:ke,setsEqual:P,sign:F,splineCurve:ai,splineCurveMonotone:ri,supportsEventListenerOptions:Se,throttled:ct,toDegrees:Y,toDimension:c,toFont:Si,toFontString:De,toLineHeight:_i,toPadding:ki,toPercentage:h,toRadians:$,toTRBL:Mi,toTRBLCorners:wi,uid:i,unclipArea:ze,unlistenArrayEvents:rt,valueOrDefault:l});function ji(t,e,i,n){const{controller:o,data:a,_sorted:r}=t,l=o._cachedMeta.iScale,h=t.dataset&&t.dataset.options?t.dataset.options.spanGaps:null;if(l&&e===l.axis&&"r"!==e&&r&&a.length){const r=l._reversePixels?st:it;if(!n){const n=r(a,e,i);if(h){const{vScale:e}=o._cachedMeta,{_parsed:i}=t,a=i.slice(0,n.lo+1).reverse().findIndex((t=>!s(t[e.axis])));n.lo-=Math.max(0,a);const r=i.slice(n.hi).findIndex((t=>!s(t[e.axis])));n.hi+=Math.max(0,r)}return n}if(o._sharedOptions){const t=a[0],s="function"==typeof t.getRange&&t.getRange(e);if(s){const t=r(a,e,i-s),n=r(a,e,i+s);return{lo:t.lo,hi:n.hi}}}}return{lo:0,hi:a.length-1}}function $i(t,e,i,s,n){const o=t.getSortedVisibleDatasetMetas(),a=i[e];for(let t=0,i=o.length;t<i;++t){const{index:i,data:r}=o[t],{lo:l,hi:h}=ji(o[t],e,a,n);for(let t=l;t<=h;++t){const e=r[t];e.skip||s(e,i,t)}}}function Yi(t,e,i,s,n){const o=[];if(!n&&!t.isPointInArea(e))return o;return $i(t,i,e,(function(i,a,r){(n||Re(i,t.chartArea,0))&&i.inRange(e.x,e.y,s)&&o.push({element:i,datasetIndex:a,index:r})}),!0),o}function Ui(t,e,i,s,n,o){let a=[];const r=function(t){const e=-1!==t.indexOf("x"),i=-1!==t.indexOf("y");return function(t,s){const n=e?Math.abs(t.x-s.x):0,o=i?Math.abs(t.y-s.y):0;return Math.sqrt(Math.pow(n,2)+Math.pow(o,2))}}(i);let l=Number.POSITIVE_INFINITY;return $i(t,i,e,(function(i,h,c){const d=i.inRange(e.x,e.y,n);if(s&&!d)return;const u=i.getCenterPoint(n);if(!(!!o||t.isPointInArea(u))&&!d)return;const f=r(e,u);f<l?(a=[{element:i,datasetIndex:h,index:c}],l=f):f===l&&a.push({element:i,datasetIndex:h,index:c})})),a}function Xi(t,e,i,s,n,o){return o||t.isPointInArea(e)?"r"!==i||s?Ui(t,e,i,s,n,o):function(t,e,i,s){let n=[];return $i(t,i,e,(function(t,i,o){const{startAngle:a,endAngle:r}=t.getProps(["startAngle","endAngle"],s),{angle:l}=X(t,{x:e.x,y:e.y});J(l,a,r)&&n.push({element:t,datasetIndex:i,index:o})})),n}(t,e,i,n):[]}function qi(t,e,i,s,n){const o=[],a="x"===i?"inXRange":"inYRange";let r=!1;return $i(t,i,e,((t,s,l)=>{t[a]&&t[a](e[i],n)&&(o.push({element:t,datasetIndex:s,index:l}),r=r||t.inRange(e.x,e.y,n))})),s&&!r?[]:o}var Ki={evaluateInteractionItems:$i,modes:{index(t,e,i,s){const n=ve(e,t),o=i.axis||"x",a=i.includeInvisible||!1,r=i.intersect?Yi(t,n,o,s,a):Xi(t,n,o,!1,s,a),l=[];return r.length?(t.getSortedVisibleDatasetMetas().forEach((t=>{const e=r[0].index,i=t.data[e];i&&!i.skip&&l.push({element:i,datasetIndex:t.index,index:e})})),l):[]},dataset(t,e,i,s){const n=ve(e,t),o=i.axis||"xy",a=i.includeInvisible||!1;let r=i.intersect?Yi(t,n,o,s,a):Xi(t,n,o,!1,s,a);if(r.length>0){const e=r[0].datasetIndex,i=t.getDatasetMeta(e).data;r=[];for(let t=0;t<i.length;++t)r.push({element:i[t],datasetIndex:e,index:t})}return r},point:(t,e,i,s)=>Yi(t,ve(e,t),i.axis||"xy",s,i.includeInvisible||!1),nearest(t,e,i,s){const n=ve(e,t),o=i.axis||"xy",a=i.includeInvisible||!1;return Xi(t,n,o,i.intersect,s,a)},x:(t,e,i,s)=>qi(t,ve(e,t),"x",i.intersect,s),y:(t,e,i,s)=>qi(t,ve(e,t),"y",i.intersect,s)}};const Gi=["left","top","right","bottom"];function Ji(t,e){return t.filter((t=>t.pos===e))}function Zi(t,e){return t.filter((t=>-1===Gi.indexOf(t.pos)&&t.box.axis===e))}function Qi(t,e){return t.sort(((t,i)=>{const s=e?i:t,n=e?t:i;return s.weight===n.weight?s.index-n.index:s.weight-n.weight}))}function ts(t,e){const i=function(t){const e={};for(const i of t){const{stack:t,pos:s,stackWeight:n}=i;if(!t||!Gi.includes(s))continue;const o=e[t]||(e[t]={count:0,placed:0,weight:0,size:0});o.count++,o.weight+=n}return e}(t),{vBoxMaxWidth:s,hBoxMaxHeight:n}=e;let o,a,r;for(o=0,a=t.length;o<a;++o){r=t[o];const{fullSize:a}=r.box,l=i[r.stack],h=l&&r.stackWeight/l.weight;r.horizontal?(r.width=h?h*s:a&&e.availableWidth,r.height=n):(r.width=s,r.height=h?h*n:a&&e.availableHeight)}return i}function es(t,e,i,s){return Math.max(t[i],e[i])+Math.max(t[s],e[s])}function is(t,e){t.top=Math.max(t.top,e.top),t.left=Math.max(t.left,e.left),t.bottom=Math.max(t.bottom,e.bottom),t.right=Math.max(t.right,e.right)}function ss(t,e,i,s){const{pos:n,box:a}=i,r=t.maxPadding;if(!o(n)){i.size&&(t[n]-=i.size);const e=s[i.stack]||{size:0,count:1};e.size=Math.max(e.size,i.horizontal?a.height:a.width),i.size=e.size/e.count,t[n]+=i.size}a.getPadding&&is(r,a.getPadding());const l=Math.max(0,e.outerWidth-es(r,t,"left","right")),h=Math.max(0,e.outerHeight-es(r,t,"top","bottom")),c=l!==t.w,d=h!==t.h;return t.w=l,t.h=h,i.horizontal?{same:c,other:d}:{same:d,other:c}}function ns(t,e){const i=e.maxPadding;function s(t){const s={left:0,top:0,right:0,bottom:0};return t.forEach((t=>{s[t]=Math.max(e[t],i[t])})),s}return s(t?["left","right"]:["top","bottom"])}function os(t,e,i,s){const n=[];let o,a,r,l,h,c;for(o=0,a=t.length,h=0;o<a;++o){r=t[o],l=r.box,l.update(r.width||e.w,r.height||e.h,ns(r.horizontal,e));const{same:a,other:d}=ss(e,i,r,s);h|=a&&n.length,c=c||d,l.fullSize||n.push(r)}return h&&os(n,e,i,s)||c}function as(t,e,i,s,n){t.top=i,t.left=e,t.right=e+s,t.bottom=i+n,t.width=s,t.height=n}function rs(t,e,i,s){const n=i.padding;let{x:o,y:a}=e;for(const r of t){const t=r.box,l=s[r.stack]||{count:1,placed:0,weight:1},h=r.stackWeight/l.weight||1;if(r.horizontal){const s=e.w*h,o=l.size||t.height;k(l.start)&&(a=l.start),t.fullSize?as(t,n.left,a,i.outerWidth-n.right-n.left,o):as(t,e.left+l.placed,a,s,o),l.start=a,l.placed+=s,a=t.bottom}else{const s=e.h*h,a=l.size||t.width;k(l.start)&&(o=l.start),t.fullSize?as(t,o,n.top,a,i.outerHeight-n.bottom-n.top):as(t,o,e.top+l.placed,a,s),l.start=o,l.placed+=s,o=t.right}}e.x=o,e.y=a}var ls={addBox(t,e){t.boxes||(t.boxes=[]),e.fullSize=e.fullSize||!1,e.position=e.position||"top",e.weight=e.weight||0,e._layers=e._layers||function(){return[{z:0,draw(t){e.draw(t)}}]},t.boxes.push(e)},removeBox(t,e){const i=t.boxes?t.boxes.indexOf(e):-1;-1!==i&&t.boxes.splice(i,1)},configure(t,e,i){e.fullSize=i.fullSize,e.position=i.position,e.weight=i.weight},update(t,e,i,s){if(!t)return;const n=ki(t.options.layout.padding),o=Math.max(e-n.width,0),a=Math.max(i-n.height,0),r=function(t){const e=function(t){const e=[];let i,s,n,o,a,r;for(i=0,s=(t||[]).length;i<s;++i)n=t[i],({position:o,options:{stack:a,stackWeight:r=1}}=n),e.push({index:i,box:n,pos:o,horizontal:n.isHorizontal(),weight:n.weight,stack:a&&o+a,stackWeight:r});return e}(t),i=Qi(e.filter((t=>t.box.fullSize)),!0),s=Qi(Ji(e,"left"),!0),n=Qi(Ji(e,"right")),o=Qi(Ji(e,"top"),!0),a=Qi(Ji(e,"bottom")),r=Zi(e,"x"),l=Zi(e,"y");return{fullSize:i,leftAndTop:s.concat(o),rightAndBottom:n.concat(l).concat(a).concat(r),chartArea:Ji(e,"chartArea"),vertical:s.concat(n).concat(l),horizontal:o.concat(a).concat(r)}}(t.boxes),l=r.vertical,h=r.horizontal;u(t.boxes,(t=>{"function"==typeof t.beforeLayout&&t.beforeLayout()}));const c=l.reduce(((t,e)=>e.box.options&&!1===e.box.options.display?t:t+1),0)||1,d=Object.freeze({outerWidth:e,outerHeight:i,padding:n,availableWidth:o,availableHeight:a,vBoxMaxWidth:o/2/c,hBoxMaxHeight:a/2}),f=Object.assign({},n);is(f,ki(s));const g=Object.assign({maxPadding:f,w:o,h:a,x:n.left,y:n.top},n),p=ts(l.concat(h),d);os(r.fullSize,g,d,p),os(l,g,d,p),os(h,g,d,p)&&os(l,g,d,p),function(t){const e=t.maxPadding;function i(i){const s=Math.max(e[i]-t[i],0);return t[i]+=s,s}t.y+=i("top"),t.x+=i("left"),i("right"),i("bottom")}(g),rs(r.leftAndTop,g,d,p),g.x+=g.w,g.y+=g.h,rs(r.rightAndBottom,g,d,p),t.chartArea={left:g.left,top:g.top,right:g.left+g.w,bottom:g.top+g.h,height:g.h,width:g.w},u(r.chartArea,(e=>{const i=e.box;Object.assign(i,t.chartArea),i.update(g.w,g.h,{left:0,top:0,right:0,bottom:0})}))}};class hs{acquireContext(t,e){}releaseContext(t){return!1}addEventListener(t,e,i){}removeEventListener(t,e,i){}getDevicePixelRatio(){return 1}getMaximumSize(t,e,i,s){return e=Math.max(0,e||t.width),i=i||t.height,{width:e,height:Math.max(0,s?Math.floor(e/s):i)}}isAttached(t){return!0}updateConfig(t){}}class cs extends hs{acquireContext(t){return t&&t.getContext&&t.getContext("2d")||null}updateConfig(t){t.options.animation=!1}}const ds="$chartjs",us={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup",pointerenter:"mouseenter",pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointerleave:"mouseout",pointerout:"mouseout"},fs=t=>null===t||""===t;const gs=!!Se&&{passive:!0};function ps(t,e,i){t&&t.canvas&&t.canvas.removeEventListener(e,i,gs)}function ms(t,e){for(const i of t)if(i===e||i.contains(e))return!0}function xs(t,e,i){const s=t.canvas,n=new MutationObserver((t=>{let e=!1;for(const i of t)e=e||ms(i.addedNodes,s),e=e&&!ms(i.removedNodes,s);e&&i()}));return n.observe(document,{childList:!0,subtree:!0}),n}function bs(t,e,i){const s=t.canvas,n=new MutationObserver((t=>{let e=!1;for(const i of t)e=e||ms(i.removedNodes,s),e=e&&!ms(i.addedNodes,s);e&&i()}));return n.observe(document,{childList:!0,subtree:!0}),n}const _s=new Map;let ys=0;function vs(){const t=window.devicePixelRatio;t!==ys&&(ys=t,_s.forEach(((e,i)=>{i.currentDevicePixelRatio!==t&&e()})))}function Ms(t,e,i){const s=t.canvas,n=s&&ge(s);if(!n)return;const o=ct(((t,e)=>{const s=n.clientWidth;i(t,e),s<n.clientWidth&&i()}),window),a=new ResizeObserver((t=>{const e=t[0],i=e.contentRect.width,s=e.contentRect.height;0===i&&0===s||o(i,s)}));return a.observe(n),function(t,e){_s.size||window.addEventListener("resize",vs),_s.set(t,e)}(t,o),a}function ws(t,e,i){i&&i.disconnect(),"resize"===e&&function(t){_s.delete(t),_s.size||window.removeEventListener("resize",vs)}(t)}function ks(t,e,i){const s=t.canvas,n=ct((e=>{null!==t.ctx&&i(function(t,e){const i=us[t.type]||t.type,{x:s,y:n}=ve(t,e);return{type:i,chart:e,native:t,x:void 0!==s?s:null,y:void 0!==n?n:null}}(e,t))}),t);return function(t,e,i){t&&t.addEventListener(e,i,gs)}(s,e,n),n}class Ss extends hs{acquireContext(t,e){const i=t&&t.getContext&&t.getContext("2d");return i&&i.canvas===t?(function(t,e){const i=t.style,s=t.getAttribute("height"),n=t.getAttribute("width");if(t[ds]={initial:{height:s,width:n,style:{display:i.display,height:i.height,width:i.width}}},i.display=i.display||"block",i.boxSizing=i.boxSizing||"border-box",fs(n)){const e=Pe(t,"width");void 0!==e&&(t.width=e)}if(fs(s))if(""===t.style.height)t.height=t.width/(e||2);else{const e=Pe(t,"height");void 0!==e&&(t.height=e)}}(t,e),i):null}releaseContext(t){const e=t.canvas;if(!e[ds])return!1;const i=e[ds].initial;["height","width"].forEach((t=>{const n=i[t];s(n)?e.removeAttribute(t):e.setAttribute(t,n)}));const n=i.style||{};return Object.keys(n).forEach((t=>{e.style[t]=n[t]})),e.width=e.width,delete e[ds],!0}addEventListener(t,e,i){this.removeEventListener(t,e);const s=t.$proxies||(t.$proxies={}),n={attach:xs,detach:bs,resize:Ms}[e]||ks;s[e]=n(t,e,i)}removeEventListener(t,e){const i=t.$proxies||(t.$proxies={}),s=i[e];if(!s)return;({attach:ws,detach:ws,resize:ws}[e]||ps)(t,e,s),i[e]=void 0}getDevicePixelRatio(){return window.devicePixelRatio}getMaximumSize(t,e,i,s){return we(t,e,i,s)}isAttached(t){const e=t&&ge(t);return!(!e||!e.isConnected)}}function Ps(t){return!fe()||"undefined"!=typeof OffscreenCanvas&&t instanceof OffscreenCanvas?cs:Ss}var Ds=Object.freeze({__proto__:null,BasePlatform:hs,BasicPlatform:cs,DomPlatform:Ss,_detectPlatform:Ps});const Cs="transparent",Os={boolean:(t,e,i)=>i>.5?e:t,color(t,e,i){const s=Qt(t||Cs),n=s.valid&&Qt(e||Cs);return n&&n.valid?n.mix(s,i).hexString():e},number:(t,e,i)=>t+(e-t)*i};class As{constructor(t,e,i,s){const n=e[i];s=Pi([t.to,s,n,t.from]);const o=Pi([t.from,n,s]);this._active=!0,this._fn=t.fn||Os[t.type||typeof o],this._easing=fi[t.easing]||fi.linear,this._start=Math.floor(Date.now()+(t.delay||0)),this._duration=this._total=Math.floor(t.duration),this._loop=!!t.loop,this._target=e,this._prop=i,this._from=o,this._to=s,this._promises=void 0}active(){return this._active}update(t,e,i){if(this._active){this._notify(!1);const s=this._target[this._prop],n=i-this._start,o=this._duration-n;this._start=i,this._duration=Math.floor(Math.max(o,t.duration)),this._total+=n,this._loop=!!t.loop,this._to=Pi([t.to,e,s,t.from]),this._from=Pi([t.from,s,e])}}cancel(){this._active&&(this.tick(Date.now()),this._active=!1,this._notify(!1))}tick(t){const e=t-this._start,i=this._duration,s=this._prop,n=this._from,o=this._loop,a=this._to;let r;if(this._active=n!==a&&(o||e<i),!this._active)return this._target[s]=a,void this._notify(!0);e<0?this._target[s]=n:(r=e/i%2,r=o&&r>1?2-r:r,r=this._easing(Math.min(1,Math.max(0,r))),this._target[s]=this._fn(n,a,r))}wait(){const t=this._promises||(this._promises=[]);return new Promise(((e,i)=>{t.push({res:e,rej:i})}))}_notify(t){const e=t?"res":"rej",i=this._promises||[];for(let t=0;t<i.length;t++)i[t][e]()}}class Ts{constructor(t,e){this._chart=t,this._properties=new Map,this.configure(e)}configure(t){if(!o(t))return;const e=Object.keys(ue.animation),i=this._properties;Object.getOwnPropertyNames(t).forEach((s=>{const a=t[s];if(!o(a))return;const r={};for(const t of e)r[t]=a[t];(n(a.properties)&&a.properties||[s]).forEach((t=>{t!==s&&i.has(t)||i.set(t,r)}))}))}_animateOptions(t,e){const i=e.options,s=function(t,e){if(!e)return;let i=t.options;if(!i)return void(t.options=e);i.$shared&&(t.options=i=Object.assign({},i,{$shared:!1,$animations:{}}));return i}(t,i);if(!s)return[];const n=this._createAnimations(s,i);return i.$shared&&function(t,e){const i=[],s=Object.keys(e);for(let e=0;e<s.length;e++){const n=t[s[e]];n&&n.active()&&i.push(n.wait())}return Promise.all(i)}(t.options.$animations,i).then((()=>{t.options=i}),(()=>{})),n}_createAnimations(t,e){const i=this._properties,s=[],n=t.$animations||(t.$animations={}),o=Object.keys(e),a=Date.now();let r;for(r=o.length-1;r>=0;--r){const l=o[r];if("$"===l.charAt(0))continue;if("options"===l){s.push(...this._animateOptions(t,e));continue}const h=e[l];let c=n[l];const d=i.get(l);if(c){if(d&&c.active()){c.update(d,h,a);continue}c.cancel()}d&&d.duration?(n[l]=c=new As(d,t,l,h),s.push(c)):t[l]=h}return s}update(t,e){if(0===this._properties.size)return void Object.assign(t,e);const i=this._createAnimations(t,e);return i.length?(bt.add(this._chart,i),!0):void 0}}function Ls(t,e){const i=t&&t.options||{},s=i.reverse,n=void 0===i.min?e:0,o=void 0===i.max?e:0;return{start:s?o:n,end:s?n:o}}function Es(t,e){const i=[],s=t._getSortedDatasetMetas(e);let n,o;for(n=0,o=s.length;n<o;++n)i.push(s[n].index);return i}function Rs(t,e,i,s={}){const n=t.keys,o="single"===s.mode;let r,l,h,c;if(null===e)return;let d=!1;for(r=0,l=n.length;r<l;++r){if(h=+n[r],h===i){if(d=!0,s.all)continue;break}c=t.values[h],a(c)&&(o||0===e||F(e)===F(c))&&(e+=c)}return d||s.all?e:0}function Is(t,e){const i=t&&t.options.stacked;return i||void 0===i&&void 0!==e.stack}function zs(t,e,i){const s=t[e]||(t[e]={});return s[i]||(s[i]={})}function Fs(t,e,i,s){for(const n of e.getMatchingVisibleMetas(s).reverse()){const e=t[n.index];if(i&&e>0||!i&&e<0)return n.index}return null}function Vs(t,e){const{chart:i,_cachedMeta:s}=t,n=i._stacks||(i._stacks={}),{iScale:o,vScale:a,index:r}=s,l=o.axis,h=a.axis,c=function(t,e,i){return`${t.id}.${e.id}.${i.stack||i.type}`}(o,a,s),d=e.length;let u;for(let t=0;t<d;++t){const i=e[t],{[l]:o,[h]:d}=i;u=(i._stacks||(i._stacks={}))[h]=zs(n,c,o),u[r]=d,u._top=Fs(u,a,!0,s.type),u._bottom=Fs(u,a,!1,s.type);(u._visualValues||(u._visualValues={}))[r]=d}}function Bs(t,e){const i=t.scales;return Object.keys(i).filter((t=>i[t].axis===e)).shift()}function Ws(t,e){const i=t.controller.index,s=t.vScale&&t.vScale.axis;if(s){e=e||t._parsed;for(const t of e){const e=t._stacks;if(!e||void 0===e[s]||void 0===e[s][i])return;delete e[s][i],void 0!==e[s]._visualValues&&void 0!==e[s]._visualValues[i]&&delete e[s]._visualValues[i]}}}const Ns=t=>"reset"===t||"none"===t,Hs=(t,e)=>e?t:Object.assign({},t);class js{static defaults={};static datasetElementType=null;static dataElementType=null;constructor(t,e){this.chart=t,this._ctx=t.ctx,this.index=e,this._cachedDataOpts={},this._cachedMeta=this.getMeta(),this._type=this._cachedMeta.type,this.options=void 0,this._parsing=!1,this._data=void 0,this._objectData=void 0,this._sharedOptions=void 0,this._drawStart=void 0,this._drawCount=void 0,this.enableOptionSharing=!1,this.supportsDecimation=!1,this.$context=void 0,this._syncList=[],this.datasetElementType=new.target.datasetElementType,this.dataElementType=new.target.dataElementType,this.initialize()}initialize(){const t=this._cachedMeta;this.configure(),this.linkScales(),t._stacked=Is(t.vScale,t),this.addElements(),this.options.fill&&!this.chart.isPluginEnabled("filler")&&console.warn("Tried to use the 'fill' option without the 'Filler' plugin enabled. Please import and register the 'Filler' plugin and make sure it is not disabled in the options")}updateIndex(t){this.index!==t&&Ws(this._cachedMeta),this.index=t}linkScales(){const t=this.chart,e=this._cachedMeta,i=this.getDataset(),s=(t,e,i,s)=>"x"===t?e:"r"===t?s:i,n=e.xAxisID=l(i.xAxisID,Bs(t,"x")),o=e.yAxisID=l(i.yAxisID,Bs(t,"y")),a=e.rAxisID=l(i.rAxisID,Bs(t,"r")),r=e.indexAxis,h=e.iAxisID=s(r,n,o,a),c=e.vAxisID=s(r,o,n,a);e.xScale=this.getScaleForId(n),e.yScale=this.getScaleForId(o),e.rScale=this.getScaleForId(a),e.iScale=this.getScaleForId(h),e.vScale=this.getScaleForId(c)}getDataset(){return this.chart.data.datasets[this.index]}getMeta(){return this.chart.getDatasetMeta(this.index)}getScaleForId(t){return this.chart.scales[t]}_getOtherScale(t){const e=this._cachedMeta;return t===e.iScale?e.vScale:e.iScale}reset(){this._update("reset")}_destroy(){const t=this._cachedMeta;this._data&&rt(this._data,this),t._stacked&&Ws(t)}_dataCheck(){const t=this.getDataset(),e=t.data||(t.data=[]),i=this._data;if(o(e)){const t=this._cachedMeta;this._data=function(t,e){const{iScale:i,vScale:s}=e,n="x"===i.axis?"x":"y",o="x"===s.axis?"x":"y",a=Object.keys(t),r=new Array(a.length);let l,h,c;for(l=0,h=a.length;l<h;++l)c=a[l],r[l]={[n]:c,[o]:t[c]};return r}(e,t)}else if(i!==e){if(i){rt(i,this);const t=this._cachedMeta;Ws(t),t._parsed=[]}e&&Object.isExtensible(e)&&at(e,this),this._syncList=[],this._data=e}}addElements(){const t=this._cachedMeta;this._dataCheck(),this.datasetElementType&&(t.dataset=new this.datasetElementType)}buildOrUpdateElements(t){const e=this._cachedMeta,i=this.getDataset();let s=!1;this._dataCheck();const n=e._stacked;e._stacked=Is(e.vScale,e),e.stack!==i.stack&&(s=!0,Ws(e),e.stack=i.stack),this._resyncElements(t),(s||n!==e._stacked)&&(Vs(this,e._parsed),e._stacked=Is(e.vScale,e))}configure(){const t=this.chart.config,e=t.datasetScopeKeys(this._type),i=t.getOptionScopes(this.getDataset(),e,!0);this.options=t.createResolver(i,this.getContext()),this._parsing=this.options.parsing,this._cachedDataOpts={}}parse(t,e){const{_cachedMeta:i,_data:s}=this,{iScale:a,_stacked:r}=i,l=a.axis;let h,c,d,u=0===t&&e===s.length||i._sorted,f=t>0&&i._parsed[t-1];if(!1===this._parsing)i._parsed=s,i._sorted=!0,d=s;else{d=n(s[t])?this.parseArrayData(i,s,t,e):o(s[t])?this.parseObjectData(i,s,t,e):this.parsePrimitiveData(i,s,t,e);const a=()=>null===c[l]||f&&c[l]<f[l];for(h=0;h<e;++h)i._parsed[h+t]=c=d[h],u&&(a()&&(u=!1),f=c);i._sorted=u}r&&Vs(this,d)}parsePrimitiveData(t,e,i,s){const{iScale:n,vScale:o}=t,a=n.axis,r=o.axis,l=n.getLabels(),h=n===o,c=new Array(s);let d,u,f;for(d=0,u=s;d<u;++d)f=d+i,c[d]={[a]:h||n.parse(l[f],f),[r]:o.parse(e[f],f)};return c}parseArrayData(t,e,i,s){const{xScale:n,yScale:o}=t,a=new Array(s);let r,l,h,c;for(r=0,l=s;r<l;++r)h=r+i,c=e[h],a[r]={x:n.parse(c[0],h),y:o.parse(c[1],h)};return a}parseObjectData(t,e,i,s){const{xScale:n,yScale:o}=t,{xAxisKey:a="x",yAxisKey:r="y"}=this._parsing,l=new Array(s);let h,c,d,u;for(h=0,c=s;h<c;++h)d=h+i,u=e[d],l[h]={x:n.parse(M(u,a),d),y:o.parse(M(u,r),d)};return l}getParsed(t){return this._cachedMeta._parsed[t]}getDataElement(t){return this._cachedMeta.data[t]}applyStack(t,e,i){const s=this.chart,n=this._cachedMeta,o=e[t.axis];return Rs({keys:Es(s,!0),values:e._stacks[t.axis]._visualValues},o,n.index,{mode:i})}updateRangeFromParsed(t,e,i,s){const n=i[e.axis];let o=null===n?NaN:n;const a=s&&i._stacks[e.axis];s&&a&&(s.values=a,o=Rs(s,n,this._cachedMeta.index)),t.min=Math.min(t.min,o),t.max=Math.max(t.max,o)}getMinMax(t,e){const i=this._cachedMeta,s=i._parsed,n=i._sorted&&t===i.iScale,o=s.length,r=this._getOtherScale(t),l=((t,e,i)=>t&&!e.hidden&&e._stacked&&{keys:Es(i,!0),values:null})(e,i,this.chart),h={min:Number.POSITIVE_INFINITY,max:Number.NEGATIVE_INFINITY},{min:c,max:d}=function(t){const{min:e,max:i,minDefined:s,maxDefined:n}=t.getUserBounds();return{min:s?e:Number.NEGATIVE_INFINITY,max:n?i:Number.POSITIVE_INFINITY}}(r);let u,f;function g(){f=s[u];const e=f[r.axis];return!a(f[t.axis])||c>e||d<e}for(u=0;u<o&&(g()||(this.updateRangeFromParsed(h,t,f,l),!n));++u);if(n)for(u=o-1;u>=0;--u)if(!g()){this.updateRangeFromParsed(h,t,f,l);break}return h}getAllParsedValues(t){const e=this._cachedMeta._parsed,i=[];let s,n,o;for(s=0,n=e.length;s<n;++s)o=e[s][t.axis],a(o)&&i.push(o);return i}getMaxOverflow(){return!1}getLabelAndValue(t){const e=this._cachedMeta,i=e.iScale,s=e.vScale,n=this.getParsed(t);return{label:i?""+i.getLabelForValue(n[i.axis]):"",value:s?""+s.getLabelForValue(n[s.axis]):""}}_update(t){const e=this._cachedMeta;this.update(t||"default"),e._clip=function(t){let e,i,s,n;return o(t)?(e=t.top,i=t.right,s=t.bottom,n=t.left):e=i=s=n=t,{top:e,right:i,bottom:s,left:n,disabled:!1===t}}(l(this.options.clip,function(t,e,i){if(!1===i)return!1;const s=Ls(t,i),n=Ls(e,i);return{top:n.end,right:s.end,bottom:n.start,left:s.start}}(e.xScale,e.yScale,this.getMaxOverflow())))}update(t){}draw(){const t=this._ctx,e=this.chart,i=this._cachedMeta,s=i.data||[],n=e.chartArea,o=[],a=this._drawStart||0,r=this._drawCount||s.length-a,l=this.options.drawActiveElementsOnTop;let h;for(i.dataset&&i.dataset.draw(t,n,a,r),h=a;h<a+r;++h){const e=s[h];e.hidden||(e.active&&l?o.push(e):e.draw(t,n))}for(h=0;h<o.length;++h)o[h].draw(t,n)}getStyle(t,e){const i=e?"active":"default";return void 0===t&&this._cachedMeta.dataset?this.resolveDatasetElementOptions(i):this.resolveDataElementOptions(t||0,i)}getContext(t,e,i){const s=this.getDataset();let n;if(t>=0&&t<this._cachedMeta.data.length){const e=this._cachedMeta.data[t];n=e.$context||(e.$context=function(t,e,i){return Ci(t,{active:!1,dataIndex:e,parsed:void 0,raw:void 0,element:i,index:e,mode:"default",type:"data"})}(this.getContext(),t,e)),n.parsed=this.getParsed(t),n.raw=s.data[t],n.index=n.dataIndex=t}else n=this.$context||(this.$context=function(t,e){return Ci(t,{active:!1,dataset:void 0,datasetIndex:e,index:e,mode:"default",type:"dataset"})}(this.chart.getContext(),this.index)),n.dataset=s,n.index=n.datasetIndex=this.index;return n.active=!!e,n.mode=i,n}resolveDatasetElementOptions(t){return this._resolveElementOptions(this.datasetElementType.id,t)}resolveDataElementOptions(t,e){return this._resolveElementOptions(this.dataElementType.id,e,t)}_resolveElementOptions(t,e="default",i){const s="active"===e,n=this._cachedDataOpts,o=t+"-"+e,a=n[o],r=this.enableOptionSharing&&k(i);if(a)return Hs(a,r);const l=this.chart.config,h=l.datasetElementScopeKeys(this._type,t),c=s?[`${t}Hover`,"hover",t,""]:[t,""],d=l.getOptionScopes(this.getDataset(),h),u=Object.keys(ue.elements[t]),f=l.resolveNamedOptions(d,u,(()=>this.getContext(i,s,e)),c);return f.$shared&&(f.$shared=r,n[o]=Object.freeze(Hs(f,r))),f}_resolveAnimations(t,e,i){const s=this.chart,n=this._cachedDataOpts,o=`animation-${e}`,a=n[o];if(a)return a;let r;if(!1!==s.options.animation){const s=this.chart.config,n=s.datasetAnimationScopeKeys(this._type,e),o=s.getOptionScopes(this.getDataset(),n);r=s.createResolver(o,this.getContext(t,i,e))}const l=new Ts(s,r&&r.animations);return r&&r._cacheable&&(n[o]=Object.freeze(l)),l}getSharedOptions(t){if(t.$shared)return this._sharedOptions||(this._sharedOptions=Object.assign({},t))}includeOptions(t,e){return!e||Ns(t)||this.chart._animationsDisabled}_getSharedOptions(t,e){const i=this.resolveDataElementOptions(t,e),s=this._sharedOptions,n=this.getSharedOptions(i),o=this.includeOptions(e,n)||n!==s;return this.updateSharedOptions(n,e,i),{sharedOptions:n,includeOptions:o}}updateElement(t,e,i,s){Ns(s)?Object.assign(t,i):this._resolveAnimations(e,s).update(t,i)}updateSharedOptions(t,e,i){t&&!Ns(e)&&this._resolveAnimations(void 0,e).update(t,i)}_setStyle(t,e,i,s){t.active=s;const n=this.getStyle(e,s);this._resolveAnimations(e,i,s).update(t,{options:!s&&this.getSharedOptions(n)||n})}removeHoverStyle(t,e,i){this._setStyle(t,i,"active",!1)}setHoverStyle(t,e,i){this._setStyle(t,i,"active",!0)}_removeDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!1)}_setDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!0)}_resyncElements(t){const e=this._data,i=this._cachedMeta.data;for(const[t,e,i]of this._syncList)this[t](e,i);this._syncList=[];const s=i.length,n=e.length,o=Math.min(n,s);o&&this.parse(0,o),n>s?this._insertElements(s,n-s,t):n<s&&this._removeElements(n,s-n)}_insertElements(t,e,i=!0){const s=this._cachedMeta,n=s.data,o=t+e;let a;const r=t=>{for(t.length+=e,a=t.length-1;a>=o;a--)t[a]=t[a-e]};for(r(n),a=t;a<o;++a)n[a]=new this.dataElementType;this._parsing&&r(s._parsed),this.parse(t,e),i&&this.updateElements(n,t,e,"reset")}updateElements(t,e,i,s){}_removeElements(t,e){const i=this._cachedMeta;if(this._parsing){const s=i._parsed.splice(t,e);i._stacked&&Ws(i,s)}i.data.splice(t,e)}_sync(t){if(this._parsing)this._syncList.push(t);else{const[e,i,s]=t;this[e](i,s)}this.chart._dataChanges.push([this.index,...t])}_onDataPush(){const t=arguments.length;this._sync(["_insertElements",this.getDataset().data.length-t,t])}_onDataPop(){this._sync(["_removeElements",this._cachedMeta.data.length-1,1])}_onDataShift(){this._sync(["_removeElements",0,1])}_onDataSplice(t,e){e&&this._sync(["_removeElements",t,e]);const i=arguments.length-2;i&&this._sync(["_insertElements",t,i])}_onDataUnshift(){this._sync(["_insertElements",0,arguments.length])}}class $s{static defaults={};static defaultRoutes=void 0;x;y;active=!1;options;$animations;tooltipPosition(t){const{x:e,y:i}=this.getProps(["x","y"],t);return{x:e,y:i}}hasValue(){return N(this.x)&&N(this.y)}getProps(t,e){const i=this.$animations;if(!e||!i)return this;const s={};return t.forEach((t=>{s[t]=i[t]&&i[t].active()?i[t]._to:this[t]})),s}}function Ys(t,e){const i=t.options.ticks,n=function(t){const e=t.options.offset,i=t._tickSize(),s=t._length/i+(e?0:1),n=t._maxLength/i;return Math.floor(Math.min(s,n))}(t),o=Math.min(i.maxTicksLimit||n,n),a=i.major.enabled?function(t){const e=[];let i,s;for(i=0,s=t.length;i<s;i++)t[i].major&&e.push(i);return e}(e):[],r=a.length,l=a[0],h=a[r-1],c=[];if(r>o)return function(t,e,i,s){let n,o=0,a=i[0];for(s=Math.ceil(s),n=0;n<t.length;n++)n===a&&(e.push(t[n]),o++,a=i[o*s])}(e,c,a,r/o),c;const d=function(t,e,i){const s=function(t){const e=t.length;let i,s;if(e<2)return!1;for(s=t[0],i=1;i<e;++i)if(t[i]-t[i-1]!==s)return!1;return s}(t),n=e.length/i;if(!s)return Math.max(n,1);const o=W(s);for(let t=0,e=o.length-1;t<e;t++){const e=o[t];if(e>n)return e}return Math.max(n,1)}(a,e,o);if(r>0){let t,i;const n=r>1?Math.round((h-l)/(r-1)):null;for(Us(e,c,d,s(n)?0:l-n,l),t=0,i=r-1;t<i;t++)Us(e,c,d,a[t],a[t+1]);return Us(e,c,d,h,s(n)?e.length:h+n),c}return Us(e,c,d),c}function Us(t,e,i,s,n){const o=l(s,0),a=Math.min(l(n,t.length),t.length);let r,h,c,d=0;for(i=Math.ceil(i),n&&(r=n-s,i=r/Math.floor(r/i)),c=o;c<0;)d++,c=Math.round(o+d*i);for(h=Math.max(o,0);h<a;h++)h===c&&(e.push(t[h]),d++,c=Math.round(o+d*i))}const Xs=(t,e,i)=>"top"===e||"left"===e?t[e]+i:t[e]-i,qs=(t,e)=>Math.min(e||t,t);function Ks(t,e){const i=[],s=t.length/e,n=t.length;let o=0;for(;o<n;o+=s)i.push(t[Math.floor(o)]);return i}function Gs(t,e,i){const s=t.ticks.length,n=Math.min(e,s-1),o=t._startPixel,a=t._endPixel,r=1e-6;let l,h=t.getPixelForTick(n);if(!(i&&(l=1===s?Math.max(h-o,a-h):0===e?(t.getPixelForTick(1)-h)/2:(h-t.getPixelForTick(n-1))/2,h+=n<e?l:-l,h<o-r||h>a+r)))return h}function Js(t){return t.drawTicks?t.tickLength:0}function Zs(t,e){if(!t.display)return 0;const i=Si(t.font,e),s=ki(t.padding);return(n(t.text)?t.text.length:1)*i.lineHeight+s.height}function Qs(t,e,i){let s=ut(t);return(i&&"right"!==e||!i&&"right"===e)&&(s=(t=>"left"===t?"right":"right"===t?"left":t)(s)),s}class tn extends $s{constructor(t){super(),this.id=t.id,this.type=t.type,this.options=void 0,this.ctx=t.ctx,this.chart=t.chart,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this._margins={left:0,right:0,top:0,bottom:0},this.maxWidth=void 0,this.maxHeight=void 0,this.paddingTop=void 0,this.paddingBottom=void 0,this.paddingLeft=void 0,this.paddingRight=void 0,this.axis=void 0,this.labelRotation=void 0,this.min=void 0,this.max=void 0,this._range=void 0,this.ticks=[],this._gridLineItems=null,this._labelItems=null,this._labelSizes=null,this._length=0,this._maxLength=0,this._longestTextCache={},this._startPixel=void 0,this._endPixel=void 0,this._reversePixels=!1,this._userMax=void 0,this._userMin=void 0,this._suggestedMax=void 0,this._suggestedMin=void 0,this._ticksLength=0,this._borderValue=0,this._cache={},this._dataLimitsCached=!1,this.$context=void 0}init(t){this.options=t.setContext(this.getContext()),this.axis=t.axis,this._userMin=this.parse(t.min),this._userMax=this.parse(t.max),this._suggestedMin=this.parse(t.suggestedMin),this._suggestedMax=this.parse(t.suggestedMax)}parse(t,e){return t}getUserBounds(){let{_userMin:t,_userMax:e,_suggestedMin:i,_suggestedMax:s}=this;return t=r(t,Number.POSITIVE_INFINITY),e=r(e,Number.NEGATIVE_INFINITY),i=r(i,Number.POSITIVE_INFINITY),s=r(s,Number.NEGATIVE_INFINITY),{min:r(t,i),max:r(e,s),minDefined:a(t),maxDefined:a(e)}}getMinMax(t){let e,{min:i,max:s,minDefined:n,maxDefined:o}=this.getUserBounds();if(n&&o)return{min:i,max:s};const a=this.getMatchingVisibleMetas();for(let r=0,l=a.length;r<l;++r)e=a[r].controller.getMinMax(this,t),n||(i=Math.min(i,e.min)),o||(s=Math.max(s,e.max));return i=o&&i>s?s:i,s=n&&i>s?i:s,{min:r(i,r(s,i)),max:r(s,r(i,s))}}getPadding(){return{left:this.paddingLeft||0,top:this.paddingTop||0,right:this.paddingRight||0,bottom:this.paddingBottom||0}}getTicks(){return this.ticks}getLabels(){const t=this.chart.data;return this.options.labels||(this.isHorizontal()?t.xLabels:t.yLabels)||t.labels||[]}getLabelItems(t=this.chart.chartArea){return this._labelItems||(this._labelItems=this._computeLabelItems(t))}beforeLayout(){this._cache={},this._dataLimitsCached=!1}beforeUpdate(){d(this.options.beforeUpdate,[this])}update(t,e,i){const{beginAtZero:s,grace:n,ticks:o}=this.options,a=o.sampleSize;this.beforeUpdate(),this.maxWidth=t,this.maxHeight=e,this._margins=i=Object.assign({left:0,right:0,top:0,bottom:0},i),this.ticks=null,this._labelSizes=null,this._gridLineItems=null,this._labelItems=null,this.beforeSetDimensions(),this.setDimensions(),this.afterSetDimensions(),this._maxLength=this.isHorizontal()?this.width+i.left+i.right:this.height+i.top+i.bottom,this._dataLimitsCached||(this.beforeDataLimits(),this.determineDataLimits(),this.afterDataLimits(),this._range=Di(this,n,s),this._dataLimitsCached=!0),this.beforeBuildTicks(),this.ticks=this.buildTicks()||[],this.afterBuildTicks();const r=a<this.ticks.length;this._convertTicksToLabels(r?Ks(this.ticks,a):this.ticks),this.configure(),this.beforeCalculateLabelRotation(),this.calculateLabelRotation(),this.afterCalculateLabelRotation(),o.display&&(o.autoSkip||"auto"===o.source)&&(this.ticks=Ys(this,this.ticks),this._labelSizes=null,this.afterAutoSkip()),r&&this._convertTicksToLabels(this.ticks),this.beforeFit(),this.fit(),this.afterFit(),this.afterUpdate()}configure(){let t,e,i=this.options.reverse;this.isHorizontal()?(t=this.left,e=this.right):(t=this.top,e=this.bottom,i=!i),this._startPixel=t,this._endPixel=e,this._reversePixels=i,this._length=e-t,this._alignToPixels=this.options.alignToPixels}afterUpdate(){d(this.options.afterUpdate,[this])}beforeSetDimensions(){d(this.options.beforeSetDimensions,[this])}setDimensions(){this.isHorizontal()?(this.width=this.maxWidth,this.left=0,this.right=this.width):(this.height=this.maxHeight,this.top=0,this.bottom=this.height),this.paddingLeft=0,this.paddingTop=0,this.paddingRight=0,this.paddingBottom=0}afterSetDimensions(){d(this.options.afterSetDimensions,[this])}_callHooks(t){this.chart.notifyPlugins(t,this.getContext()),d(this.options[t],[this])}beforeDataLimits(){this._callHooks("beforeDataLimits")}determineDataLimits(){}afterDataLimits(){this._callHooks("afterDataLimits")}beforeBuildTicks(){this._callHooks("beforeBuildTicks")}buildTicks(){return[]}afterBuildTicks(){this._callHooks("afterBuildTicks")}beforeTickToLabelConversion(){d(this.options.beforeTickToLabelConversion,[this])}generateTickLabels(t){const e=this.options.ticks;let i,s,n;for(i=0,s=t.length;i<s;i++)n=t[i],n.label=d(e.callback,[n.value,i,t],this)}afterTickToLabelConversion(){d(this.options.afterTickToLabelConversion,[this])}beforeCalculateLabelRotation(){d(this.options.beforeCalculateLabelRotation,[this])}calculateLabelRotation(){const t=this.options,e=t.ticks,i=qs(this.ticks.length,t.ticks.maxTicksLimit),s=e.minRotation||0,n=e.maxRotation;let o,a,r,l=s;if(!this._isVisible()||!e.display||s>=n||i<=1||!this.isHorizontal())return void(this.labelRotation=s);const h=this._getLabelSizes(),c=h.widest.width,d=h.highest.height,u=Z(this.chart.width-c,0,this.maxWidth);o=t.offset?this.maxWidth/i:u/(i-1),c+6>o&&(o=u/(i-(t.offset?.5:1)),a=this.maxHeight-Js(t.grid)-e.padding-Zs(t.title,this.chart.options.font),r=Math.sqrt(c*c+d*d),l=Y(Math.min(Math.asin(Z((h.highest.height+6)/o,-1,1)),Math.asin(Z(a/r,-1,1))-Math.asin(Z(d/r,-1,1)))),l=Math.max(s,Math.min(n,l))),this.labelRotation=l}afterCalculateLabelRotation(){d(this.options.afterCalculateLabelRotation,[this])}afterAutoSkip(){}beforeFit(){d(this.options.beforeFit,[this])}fit(){const t={width:0,height:0},{chart:e,options:{ticks:i,title:s,grid:n}}=this,o=this._isVisible(),a=this.isHorizontal();if(o){const o=Zs(s,e.options.font);if(a?(t.width=this.maxWidth,t.height=Js(n)+o):(t.height=this.maxHeight,t.width=Js(n)+o),i.display&&this.ticks.length){const{first:e,last:s,widest:n,highest:o}=this._getLabelSizes(),r=2*i.padding,l=$(this.labelRotation),h=Math.cos(l),c=Math.sin(l);if(a){const e=i.mirror?0:c*n.width+h*o.height;t.height=Math.min(this.maxHeight,t.height+e+r)}else{const e=i.mirror?0:h*n.width+c*o.height;t.width=Math.min(this.maxWidth,t.width+e+r)}this._calculatePadding(e,s,c,h)}}this._handleMargins(),a?(this.width=this._length=e.width-this._margins.left-this._margins.right,this.height=t.height):(this.width=t.width,this.height=this._length=e.height-this._margins.top-this._margins.bottom)}_calculatePadding(t,e,i,s){const{ticks:{align:n,padding:o},position:a}=this.options,r=0!==this.labelRotation,l="top"!==a&&"x"===this.axis;if(this.isHorizontal()){const a=this.getPixelForTick(0)-this.left,h=this.right-this.getPixelForTick(this.ticks.length-1);let c=0,d=0;r?l?(c=s*t.width,d=i*e.height):(c=i*t.height,d=s*e.width):"start"===n?d=e.width:"end"===n?c=t.width:"inner"!==n&&(c=t.width/2,d=e.width/2),this.paddingLeft=Math.max((c-a+o)*this.width/(this.width-a),0),this.paddingRight=Math.max((d-h+o)*this.width/(this.width-h),0)}else{let i=e.height/2,s=t.height/2;"start"===n?(i=0,s=t.height):"end"===n&&(i=e.height,s=0),this.paddingTop=i+o,this.paddingBottom=s+o}}_handleMargins(){this._margins&&(this._margins.left=Math.max(this.paddingLeft,this._margins.left),this._margins.top=Math.max(this.paddingTop,this._margins.top),this._margins.right=Math.max(this.paddingRight,this._margins.right),this._margins.bottom=Math.max(this.paddingBottom,this._margins.bottom))}afterFit(){d(this.options.afterFit,[this])}isHorizontal(){const{axis:t,position:e}=this.options;return"top"===e||"bottom"===e||"x"===t}isFullSize(){return this.options.fullSize}_convertTicksToLabels(t){let e,i;for(this.beforeTickToLabelConversion(),this.generateTickLabels(t),e=0,i=t.length;e<i;e++)s(t[e].label)&&(t.splice(e,1),i--,e--);this.afterTickToLabelConversion()}_getLabelSizes(){let t=this._labelSizes;if(!t){const e=this.options.ticks.sampleSize;let i=this.ticks;e<i.length&&(i=Ks(i,e)),this._labelSizes=t=this._computeLabelSizes(i,i.length,this.options.ticks.maxTicksLimit)}return t}_computeLabelSizes(t,e,i){const{ctx:o,_longestTextCache:a}=this,r=[],l=[],h=Math.floor(e/qs(e,i));let c,d,f,g,p,m,x,b,_,y,v,M=0,w=0;for(c=0;c<e;c+=h){if(g=t[c].label,p=this._resolveTickFontOptions(c),o.font=m=p.string,x=a[m]=a[m]||{data:{},gc:[]},b=p.lineHeight,_=y=0,s(g)||n(g)){if(n(g))for(d=0,f=g.length;d<f;++d)v=g[d],s(v)||n(v)||(_=Ce(o,x.data,x.gc,_,v),y+=b)}else _=Ce(o,x.data,x.gc,_,g),y=b;r.push(_),l.push(y),M=Math.max(_,M),w=Math.max(y,w)}!function(t,e){u(t,(t=>{const i=t.gc,s=i.length/2;let n;if(s>e){for(n=0;n<s;++n)delete t.data[i[n]];i.splice(0,s)}}))}(a,e);const k=r.indexOf(M),S=l.indexOf(w),P=t=>({width:r[t]||0,height:l[t]||0});return{first:P(0),last:P(e-1),widest:P(k),highest:P(S),widths:r,heights:l}}getLabelForValue(t){return t}getPixelForValue(t,e){return NaN}getValueForPixel(t){}getPixelForTick(t){const e=this.ticks;return t<0||t>e.length-1?null:this.getPixelForValue(e[t].value)}getPixelForDecimal(t){this._reversePixels&&(t=1-t);const e=this._startPixel+t*this._length;return Q(this._alignToPixels?Ae(this.chart,e,0):e)}getDecimalForPixel(t){const e=(t-this._startPixel)/this._length;return this._reversePixels?1-e:e}getBasePixel(){return this.getPixelForValue(this.getBaseValue())}getBaseValue(){const{min:t,max:e}=this;return t<0&&e<0?e:t>0&&e>0?t:0}getContext(t){const e=this.ticks||[];if(t>=0&&t<e.length){const i=e[t];return i.$context||(i.$context=function(t,e,i){return Ci(t,{tick:i,index:e,type:"tick"})}(this.getContext(),t,i))}return this.$context||(this.$context=Ci(this.chart.getContext(),{scale:this,type:"scale"}))}_tickSize(){const t=this.options.ticks,e=$(this.labelRotation),i=Math.abs(Math.cos(e)),s=Math.abs(Math.sin(e)),n=this._getLabelSizes(),o=t.autoSkipPadding||0,a=n?n.widest.width+o:0,r=n?n.highest.height+o:0;return this.isHorizontal()?r*i>a*s?a/i:r/s:r*s<a*i?r/i:a/s}_isVisible(){const t=this.options.display;return"auto"!==t?!!t:this.getMatchingVisibleMetas().length>0}_computeGridLineItems(t){const e=this.axis,i=this.chart,s=this.options,{grid:n,position:a,border:r}=s,h=n.offset,c=this.isHorizontal(),d=this.ticks.length+(h?1:0),u=Js(n),f=[],g=r.setContext(this.getContext()),p=g.display?g.width:0,m=p/2,x=function(t){return Ae(i,t,p)};let b,_,y,v,M,w,k,S,P,D,C,O;if("top"===a)b=x(this.bottom),w=this.bottom-u,S=b-m,D=x(t.top)+m,O=t.bottom;else if("bottom"===a)b=x(this.top),D=t.top,O=x(t.bottom)-m,w=b+m,S=this.top+u;else if("left"===a)b=x(this.right),M=this.right-u,k=b-m,P=x(t.left)+m,C=t.right;else if("right"===a)b=x(this.left),P=t.left,C=x(t.right)-m,M=b+m,k=this.left+u;else if("x"===e){if("center"===a)b=x((t.top+t.bottom)/2+.5);else if(o(a)){const t=Object.keys(a)[0],e=a[t];b=x(this.chart.scales[t].getPixelForValue(e))}D=t.top,O=t.bottom,w=b+m,S=w+u}else if("y"===e){if("center"===a)b=x((t.left+t.right)/2);else if(o(a)){const t=Object.keys(a)[0],e=a[t];b=x(this.chart.scales[t].getPixelForValue(e))}M=b-m,k=M-u,P=t.left,C=t.right}const A=l(s.ticks.maxTicksLimit,d),T=Math.max(1,Math.ceil(d/A));for(_=0;_<d;_+=T){const t=this.getContext(_),e=n.setContext(t),s=r.setContext(t),o=e.lineWidth,a=e.color,l=s.dash||[],d=s.dashOffset,u=e.tickWidth,g=e.tickColor,p=e.tickBorderDash||[],m=e.tickBorderDashOffset;y=Gs(this,_,h),void 0!==y&&(v=Ae(i,y,o),c?M=k=P=C=v:w=S=D=O=v,f.push({tx1:M,ty1:w,tx2:k,ty2:S,x1:P,y1:D,x2:C,y2:O,width:o,color:a,borderDash:l,borderDashOffset:d,tickWidth:u,tickColor:g,tickBorderDash:p,tickBorderDashOffset:m}))}return this._ticksLength=d,this._borderValue=b,f}_computeLabelItems(t){const e=this.axis,i=this.options,{position:s,ticks:a}=i,r=this.isHorizontal(),l=this.ticks,{align:h,crossAlign:c,padding:d,mirror:u}=a,f=Js(i.grid),g=f+d,p=u?-d:g,m=-$(this.labelRotation),x=[];let b,_,y,v,M,w,k,S,P,D,C,O,A="middle";if("top"===s)w=this.bottom-p,k=this._getXAxisLabelAlignment();else if("bottom"===s)w=this.top+p,k=this._getXAxisLabelAlignment();else if("left"===s){const t=this._getYAxisLabelAlignment(f);k=t.textAlign,M=t.x}else if("right"===s){const t=this._getYAxisLabelAlignment(f);k=t.textAlign,M=t.x}else if("x"===e){if("center"===s)w=(t.top+t.bottom)/2+g;else if(o(s)){const t=Object.keys(s)[0],e=s[t];w=this.chart.scales[t].getPixelForValue(e)+g}k=this._getXAxisLabelAlignment()}else if("y"===e){if("center"===s)M=(t.left+t.right)/2-g;else if(o(s)){const t=Object.keys(s)[0],e=s[t];M=this.chart.scales[t].getPixelForValue(e)}k=this._getYAxisLabelAlignment(f).textAlign}"y"===e&&("start"===h?A="top":"end"===h&&(A="bottom"));const T=this._getLabelSizes();for(b=0,_=l.length;b<_;++b){y=l[b],v=y.label;const t=a.setContext(this.getContext(b));S=this.getPixelForTick(b)+a.labelOffset,P=this._resolveTickFontOptions(b),D=P.lineHeight,C=n(v)?v.length:1;const e=C/2,i=t.color,o=t.textStrokeColor,h=t.textStrokeWidth;let d,f=k;if(r?(M=S,"inner"===k&&(f=b===_-1?this.options.reverse?"left":"right":0===b?this.options.reverse?"right":"left":"center"),O="top"===s?"near"===c||0!==m?-C*D+D/2:"center"===c?-T.highest.height/2-e*D+D:-T.highest.height+D/2:"near"===c||0!==m?D/2:"center"===c?T.highest.height/2-e*D:T.highest.height-C*D,u&&(O*=-1),0===m||t.showLabelBackdrop||(M+=D/2*Math.sin(m))):(w=S,O=(1-C)*D/2),t.showLabelBackdrop){const e=ki(t.backdropPadding),i=T.heights[b],s=T.widths[b];let n=O-e.top,o=0-e.left;switch(A){case"middle":n-=i/2;break;case"bottom":n-=i}switch(k){case"center":o-=s/2;break;case"right":o-=s;break;case"inner":b===_-1?o-=s:b>0&&(o-=s/2)}d={left:o,top:n,width:s+e.width,height:i+e.height,color:t.backdropColor}}x.push({label:v,font:P,textOffset:O,options:{rotation:m,color:i,strokeColor:o,strokeWidth:h,textAlign:f,textBaseline:A,translation:[M,w],backdrop:d}})}return x}_getXAxisLabelAlignment(){const{position:t,ticks:e}=this.options;if(-$(this.labelRotation))return"top"===t?"left":"right";let i="center";return"start"===e.align?i="left":"end"===e.align?i="right":"inner"===e.align&&(i="inner"),i}_getYAxisLabelAlignment(t){const{position:e,ticks:{crossAlign:i,mirror:s,padding:n}}=this.options,o=t+n,a=this._getLabelSizes().widest.width;let r,l;return"left"===e?s?(l=this.right+n,"near"===i?r="left":"center"===i?(r="center",l+=a/2):(r="right",l+=a)):(l=this.right-o,"near"===i?r="right":"center"===i?(r="center",l-=a/2):(r="left",l=this.left)):"right"===e?s?(l=this.left+n,"near"===i?r="right":"center"===i?(r="center",l-=a/2):(r="left",l-=a)):(l=this.left+o,"near"===i?r="left":"center"===i?(r="center",l+=a/2):(r="right",l=this.right)):r="right",{textAlign:r,x:l}}_computeLabelArea(){if(this.options.ticks.mirror)return;const t=this.chart,e=this.options.position;return"left"===e||"right"===e?{top:0,left:this.left,bottom:t.height,right:this.right}:"top"===e||"bottom"===e?{top:this.top,left:0,bottom:this.bottom,right:t.width}:void 0}drawBackground(){const{ctx:t,options:{backgroundColor:e},left:i,top:s,width:n,height:o}=this;e&&(t.save(),t.fillStyle=e,t.fillRect(i,s,n,o),t.restore())}getLineWidthForValue(t){const e=this.options.grid;if(!this._isVisible()||!e.display)return 0;const i=this.ticks.findIndex((e=>e.value===t));if(i>=0){return e.setContext(this.getContext(i)).lineWidth}return 0}drawGrid(t){const e=this.options.grid,i=this.ctx,s=this._gridLineItems||(this._gridLineItems=this._computeGridLineItems(t));let n,o;const a=(t,e,s)=>{s.width&&s.color&&(i.save(),i.lineWidth=s.width,i.strokeStyle=s.color,i.setLineDash(s.borderDash||[]),i.lineDashOffset=s.borderDashOffset,i.beginPath(),i.moveTo(t.x,t.y),i.lineTo(e.x,e.y),i.stroke(),i.restore())};if(e.display)for(n=0,o=s.length;n<o;++n){const t=s[n];e.drawOnChartArea&&a({x:t.x1,y:t.y1},{x:t.x2,y:t.y2},t),e.drawTicks&&a({x:t.tx1,y:t.ty1},{x:t.tx2,y:t.ty2},{color:t.tickColor,width:t.tickWidth,borderDash:t.tickBorderDash,borderDashOffset:t.tickBorderDashOffset})}}drawBorder(){const{chart:t,ctx:e,options:{border:i,grid:s}}=this,n=i.setContext(this.getContext()),o=i.display?n.width:0;if(!o)return;const a=s.setContext(this.getContext(0)).lineWidth,r=this._borderValue;let l,h,c,d;this.isHorizontal()?(l=Ae(t,this.left,o)-o/2,h=Ae(t,this.right,a)+a/2,c=d=r):(c=Ae(t,this.top,o)-o/2,d=Ae(t,this.bottom,a)+a/2,l=h=r),e.save(),e.lineWidth=n.width,e.strokeStyle=n.color,e.beginPath(),e.moveTo(l,c),e.lineTo(h,d),e.stroke(),e.restore()}drawLabels(t){if(!this.options.ticks.display)return;const e=this.ctx,i=this._computeLabelArea();i&&Ie(e,i);const s=this.getLabelItems(t);for(const t of s){const i=t.options,s=t.font;Ne(e,t.label,0,t.textOffset,s,i)}i&&ze(e)}drawTitle(){const{ctx:t,options:{position:e,title:i,reverse:s}}=this;if(!i.display)return;const a=Si(i.font),r=ki(i.padding),l=i.align;let h=a.lineHeight/2;"bottom"===e||"center"===e||o(e)?(h+=r.bottom,n(i.text)&&(h+=a.lineHeight*(i.text.length-1))):h+=r.top;const{titleX:c,titleY:d,maxWidth:u,rotation:f}=function(t,e,i,s){const{top:n,left:a,bottom:r,right:l,chart:h}=t,{chartArea:c,scales:d}=h;let u,f,g,p=0;const m=r-n,x=l-a;if(t.isHorizontal()){if(f=ft(s,a,l),o(i)){const t=Object.keys(i)[0],s=i[t];g=d[t].getPixelForValue(s)+m-e}else g="center"===i?(c.bottom+c.top)/2+m-e:Xs(t,i,e);u=l-a}else{if(o(i)){const t=Object.keys(i)[0],s=i[t];f=d[t].getPixelForValue(s)-x+e}else f="center"===i?(c.left+c.right)/2-x+e:Xs(t,i,e);g=ft(s,r,n),p="left"===i?-E:E}return{titleX:f,titleY:g,maxWidth:u,rotation:p}}(this,h,e,l);Ne(t,i.text,0,0,a,{color:i.color,maxWidth:u,rotation:f,textAlign:Qs(l,e,s),textBaseline:"middle",translation:[c,d]})}draw(t){this._isVisible()&&(this.drawBackground(),this.drawGrid(t),this.drawBorder(),this.drawTitle(),this.drawLabels(t))}_layers(){const t=this.options,e=t.ticks&&t.ticks.z||0,i=l(t.grid&&t.grid.z,-1),s=l(t.border&&t.border.z,0);return this._isVisible()&&this.draw===tn.prototype.draw?[{z:i,draw:t=>{this.drawBackground(),this.drawGrid(t),this.drawTitle()}},{z:s,draw:()=>{this.drawBorder()}},{z:e,draw:t=>{this.drawLabels(t)}}]:[{z:e,draw:t=>{this.draw(t)}}]}getMatchingVisibleMetas(t){const e=this.chart.getSortedVisibleDatasetMetas(),i=this.axis+"AxisID",s=[];let n,o;for(n=0,o=e.length;n<o;++n){const o=e[n];o[i]!==this.id||t&&o.type!==t||s.push(o)}return s}_resolveTickFontOptions(t){return Si(this.options.ticks.setContext(this.getContext(t)).font)}_maxDigits(){const t=this._resolveTickFontOptions(0).lineHeight;return(this.isHorizontal()?this.width:this.height)/t}}class en{constructor(t,e,i){this.type=t,this.scope=e,this.override=i,this.items=Object.create(null)}isForType(t){return Object.prototype.isPrototypeOf.call(this.type.prototype,t.prototype)}register(t){const e=Object.getPrototypeOf(t);let i;(function(t){return"id"in t&&"defaults"in t})(e)&&(i=this.register(e));const s=this.items,n=t.id,o=this.scope+"."+n;if(!n)throw new Error("class does not have id: "+t);return n in s||(s[n]=t,function(t,e,i){const s=x(Object.create(null),[i?ue.get(i):{},ue.get(e),t.defaults]);ue.set(e,s),t.defaultRoutes&&function(t,e){Object.keys(e).forEach((i=>{const s=i.split("."),n=s.pop(),o=[t].concat(s).join("."),a=e[i].split("."),r=a.pop(),l=a.join(".");ue.route(o,n,l,r)}))}(e,t.defaultRoutes);t.descriptors&&ue.describe(e,t.descriptors)}(t,o,i),this.override&&ue.override(t.id,t.overrides)),o}get(t){return this.items[t]}unregister(t){const e=this.items,i=t.id,s=this.scope;i in e&&delete e[i],s&&i in ue[s]&&(delete ue[s][i],this.override&&delete re[i])}}class sn{constructor(){this.controllers=new en(js,"datasets",!0),this.elements=new en($s,"elements"),this.plugins=new en(Object,"plugins"),this.scales=new en(tn,"scales"),this._typedRegistries=[this.controllers,this.scales,this.elements]}add(...t){this._each("register",t)}remove(...t){this._each("unregister",t)}addControllers(...t){this._each("register",t,this.controllers)}addElements(...t){this._each("register",t,this.elements)}addPlugins(...t){this._each("register",t,this.plugins)}addScales(...t){this._each("register",t,this.scales)}getController(t){return this._get(t,this.controllers,"controller")}getElement(t){return this._get(t,this.elements,"element")}getPlugin(t){return this._get(t,this.plugins,"plugin")}getScale(t){return this._get(t,this.scales,"scale")}removeControllers(...t){this._each("unregister",t,this.controllers)}removeElements(...t){this._each("unregister",t,this.elements)}removePlugins(...t){this._each("unregister",t,this.plugins)}removeScales(...t){this._each("unregister",t,this.scales)}_each(t,e,i){[...e].forEach((e=>{const s=i||this._getRegistryForType(e);i||s.isForType(e)||s===this.plugins&&e.id?this._exec(t,s,e):u(e,(e=>{const s=i||this._getRegistryForType(e);this._exec(t,s,e)}))}))}_exec(t,e,i){const s=w(t);d(i["before"+s],[],i),e[t](i),d(i["after"+s],[],i)}_getRegistryForType(t){for(let e=0;e<this._typedRegistries.length;e++){const i=this._typedRegistries[e];if(i.isForType(t))return i}return this.plugins}_get(t,e,i){const s=e.get(t);if(void 0===s)throw new Error('"'+t+'" is not a registered '+i+".");return s}}var nn=new sn;class on{constructor(){this._init=[]}notify(t,e,i,s){"beforeInit"===e&&(this._init=this._createDescriptors(t,!0),this._notify(this._init,t,"install"));const n=s?this._descriptors(t).filter(s):this._descriptors(t),o=this._notify(n,t,e,i);return"afterDestroy"===e&&(this._notify(n,t,"stop"),this._notify(this._init,t,"uninstall")),o}_notify(t,e,i,s){s=s||{};for(const n of t){const t=n.plugin;if(!1===d(t[i],[e,s,n.options],t)&&s.cancelable)return!1}return!0}invalidate(){s(this._cache)||(this._oldCache=this._cache,this._cache=void 0)}_descriptors(t){if(this._cache)return this._cache;const e=this._cache=this._createDescriptors(t);return this._notifyStateChanges(t),e}_createDescriptors(t,e){const i=t&&t.config,s=l(i.options&&i.options.plugins,{}),n=function(t){const e={},i=[],s=Object.keys(nn.plugins.items);for(let t=0;t<s.length;t++)i.push(nn.getPlugin(s[t]));const n=t.plugins||[];for(let t=0;t<n.length;t++){const s=n[t];-1===i.indexOf(s)&&(i.push(s),e[s.id]=!0)}return{plugins:i,localIds:e}}(i);return!1!==s||e?function(t,{plugins:e,localIds:i},s,n){const o=[],a=t.getContext();for(const r of e){const e=r.id,l=an(s[e],n);null!==l&&o.push({plugin:r,options:rn(t.config,{plugin:r,local:i[e]},l,a)})}return o}(t,n,s,e):[]}_notifyStateChanges(t){const e=this._oldCache||[],i=this._cache,s=(t,e)=>t.filter((t=>!e.some((e=>t.plugin.id===e.plugin.id))));this._notify(s(e,i),t,"stop"),this._notify(s(i,e),t,"start")}}function an(t,e){return e||!1!==t?!0===t?{}:t:null}function rn(t,{plugin:e,local:i},s,n){const o=t.pluginScopeKeys(e),a=t.getOptionScopes(s,o);return i&&e.defaults&&a.push(e.defaults),t.createResolver(a,n,[""],{scriptable:!1,indexable:!1,allKeys:!0})}function ln(t,e){const i=ue.datasets[t]||{};return((e.datasets||{})[t]||{}).indexAxis||e.indexAxis||i.indexAxis||"x"}function hn(t){if("x"===t||"y"===t||"r"===t)return t}function cn(t,...e){if(hn(t))return t;for(const s of e){const e=s.axis||("top"===(i=s.position)||"bottom"===i?"x":"left"===i||"right"===i?"y":void 0)||t.length>1&&hn(t[0].toLowerCase());if(e)return e}var i;throw new Error(`Cannot determine type of '${t}' axis. Please provide 'axis' or 'position' option.`)}function dn(t,e,i){if(i[e+"AxisID"]===t)return{axis:e}}function un(t,e){const i=re[t.type]||{scales:{}},s=e.scales||{},n=ln(t.type,e),a=Object.create(null);return Object.keys(s).forEach((e=>{const r=s[e];if(!o(r))return console.error(`Invalid scale configuration for scale: ${e}`);if(r._proxy)return console.warn(`Ignoring resolver passed as options for scale: ${e}`);const l=cn(e,r,function(t,e){if(e.data&&e.data.datasets){const i=e.data.datasets.filter((e=>e.xAxisID===t||e.yAxisID===t));if(i.length)return dn(t,"x",i[0])||dn(t,"y",i[0])}return{}}(e,t),ue.scales[r.type]),h=function(t,e){return t===e?"_index_":"_value_"}(l,n),c=i.scales||{};a[e]=b(Object.create(null),[{axis:l},r,c[l],c[h]])})),t.data.datasets.forEach((i=>{const n=i.type||t.type,o=i.indexAxis||ln(n,e),r=(re[n]||{}).scales||{};Object.keys(r).forEach((t=>{const e=function(t,e){let i=t;return"_index_"===t?i=e:"_value_"===t&&(i="x"===e?"y":"x"),i}(t,o),n=i[e+"AxisID"]||e;a[n]=a[n]||Object.create(null),b(a[n],[{axis:e},s[n],r[t]])}))})),Object.keys(a).forEach((t=>{const e=a[t];b(e,[ue.scales[e.type],ue.scale])})),a}function fn(t){const e=t.options||(t.options={});e.plugins=l(e.plugins,{}),e.scales=un(t,e)}function gn(t){return(t=t||{}).datasets=t.datasets||[],t.labels=t.labels||[],t}const pn=new Map,mn=new Set;function xn(t,e){let i=pn.get(t);return i||(i=e(),pn.set(t,i),mn.add(i)),i}const bn=(t,e,i)=>{const s=M(e,i);void 0!==s&&t.add(s)};class _n{constructor(t){this._config=function(t){return(t=t||{}).data=gn(t.data),fn(t),t}(t),this._scopeCache=new Map,this._resolverCache=new Map}get platform(){return this._config.platform}get type(){return this._config.type}set type(t){this._config.type=t}get data(){return this._config.data}set data(t){this._config.data=gn(t)}get options(){return this._config.options}set options(t){this._config.options=t}get plugins(){return this._config.plugins}update(){const t=this._config;this.clearCache(),fn(t)}clearCache(){this._scopeCache.clear(),this._resolverCache.clear()}datasetScopeKeys(t){return xn(t,(()=>[[`datasets.${t}`,""]]))}datasetAnimationScopeKeys(t,e){return xn(`${t}.transition.${e}`,(()=>[[`datasets.${t}.transitions.${e}`,`transitions.${e}`],[`datasets.${t}`,""]]))}datasetElementScopeKeys(t,e){return xn(`${t}-${e}`,(()=>[[`datasets.${t}.elements.${e}`,`datasets.${t}`,`elements.${e}`,""]]))}pluginScopeKeys(t){const e=t.id;return xn(`${this.type}-plugin-${e}`,(()=>[[`plugins.${e}`,...t.additionalOptionScopes||[]]]))}_cachedScopes(t,e){const i=this._scopeCache;let s=i.get(t);return s&&!e||(s=new Map,i.set(t,s)),s}getOptionScopes(t,e,i){const{options:s,type:n}=this,o=this._cachedScopes(t,i),a=o.get(e);if(a)return a;const r=new Set;e.forEach((e=>{t&&(r.add(t),e.forEach((e=>bn(r,t,e)))),e.forEach((t=>bn(r,s,t))),e.forEach((t=>bn(r,re[n]||{},t))),e.forEach((t=>bn(r,ue,t))),e.forEach((t=>bn(r,le,t)))}));const l=Array.from(r);return 0===l.length&&l.push(Object.create(null)),mn.has(e)&&o.set(e,l),l}chartOptionScopes(){const{options:t,type:e}=this;return[t,re[e]||{},ue.datasets[e]||{},{type:e},ue,le]}resolveNamedOptions(t,e,i,s=[""]){const o={$shared:!0},{resolver:a,subPrefixes:r}=yn(this._resolverCache,t,s);let l=a;if(function(t,e){const{isScriptable:i,isIndexable:s}=Ye(t);for(const o of e){const e=i(o),a=s(o),r=(a||e)&&t[o];if(e&&(S(r)||vn(r))||a&&n(r))return!0}return!1}(a,e)){o.$shared=!1;l=$e(a,i=S(i)?i():i,this.createResolver(t,i,r))}for(const t of e)o[t]=l[t];return o}createResolver(t,e,i=[""],s){const{resolver:n}=yn(this._resolverCache,t,i);return o(e)?$e(n,e,void 0,s):n}}function yn(t,e,i){let s=t.get(e);s||(s=new Map,t.set(e,s));const n=i.join();let o=s.get(n);if(!o){o={resolver:je(e,i),subPrefixes:i.filter((t=>!t.toLowerCase().includes("hover")))},s.set(n,o)}return o}const vn=t=>o(t)&&Object.getOwnPropertyNames(t).some((e=>S(t[e])));const Mn=["top","bottom","left","right","chartArea"];function wn(t,e){return"top"===t||"bottom"===t||-1===Mn.indexOf(t)&&"x"===e}function kn(t,e){return function(i,s){return i[t]===s[t]?i[e]-s[e]:i[t]-s[t]}}function Sn(t){const e=t.chart,i=e.options.animation;e.notifyPlugins("afterRender"),d(i&&i.onComplete,[t],e)}function Pn(t){const e=t.chart,i=e.options.animation;d(i&&i.onProgress,[t],e)}function Dn(t){return fe()&&"string"==typeof t?t=document.getElementById(t):t&&t.length&&(t=t[0]),t&&t.canvas&&(t=t.canvas),t}const Cn={},On=t=>{const e=Dn(t);return Object.values(Cn).filter((t=>t.canvas===e)).pop()};function An(t,e,i){const s=Object.keys(t);for(const n of s){const s=+n;if(s>=e){const o=t[n];delete t[n],(i>0||s>e)&&(t[s+i]=o)}}}class Tn{static defaults=ue;static instances=Cn;static overrides=re;static registry=nn;static version="4.5.0";static getChart=On;static register(...t){nn.add(...t),Ln()}static unregister(...t){nn.remove(...t),Ln()}constructor(t,e){const s=this.config=new _n(e),n=Dn(t),o=On(n);if(o)throw new Error("Canvas is already in use. Chart with ID '"+o.id+"' must be destroyed before the canvas with ID '"+o.canvas.id+"' can be reused.");const a=s.createResolver(s.chartOptionScopes(),this.getContext());this.platform=new(s.platform||Ps(n)),this.platform.updateConfig(s);const r=this.platform.acquireContext(n,a.aspectRatio),l=r&&r.canvas,h=l&&l.height,c=l&&l.width;this.id=i(),this.ctx=r,this.canvas=l,this.width=c,this.height=h,this._options=a,this._aspectRatio=this.aspectRatio,this._layers=[],this._metasets=[],this._stacks=void 0,this.boxes=[],this.currentDevicePixelRatio=void 0,this.chartArea=void 0,this._active=[],this._lastEvent=void 0,this._listeners={},this._responsiveListeners=void 0,this._sortedMetasets=[],this.scales={},this._plugins=new on,this.$proxies={},this._hiddenIndices={},this.attached=!1,this._animationsDisabled=void 0,this.$context=void 0,this._doResize=dt((t=>this.update(t)),a.resizeDelay||0),this._dataChanges=[],Cn[this.id]=this,r&&l?(bt.listen(this,"complete",Sn),bt.listen(this,"progress",Pn),this._initialize(),this.attached&&this.update()):console.error("Failed to create chart: can't acquire context from the given item")}get aspectRatio(){const{options:{aspectRatio:t,maintainAspectRatio:e},width:i,height:n,_aspectRatio:o}=this;return s(t)?e&&o?o:n?i/n:null:t}get data(){return this.config.data}set data(t){this.config.data=t}get options(){return this._options}set options(t){this.config.options=t}get registry(){return nn}_initialize(){return this.notifyPlugins("beforeInit"),this.options.responsive?this.resize():ke(this,this.options.devicePixelRatio),this.bindEvents(),this.notifyPlugins("afterInit"),this}clear(){return Te(this.canvas,this.ctx),this}stop(){return bt.stop(this),this}resize(t,e){bt.running(this)?this._resizeBeforeDraw={width:t,height:e}:this._resize(t,e)}_resize(t,e){const i=this.options,s=this.canvas,n=i.maintainAspectRatio&&this.aspectRatio,o=this.platform.getMaximumSize(s,t,e,n),a=i.devicePixelRatio||this.platform.getDevicePixelRatio(),r=this.width?"resize":"attach";this.width=o.width,this.height=o.height,this._aspectRatio=this.aspectRatio,ke(this,a,!0)&&(this.notifyPlugins("resize",{size:o}),d(i.onResize,[this,o],this),this.attached&&this._doResize(r)&&this.render())}ensureScalesHaveIDs(){u(this.options.scales||{},((t,e)=>{t.id=e}))}buildOrUpdateScales(){const t=this.options,e=t.scales,i=this.scales,s=Object.keys(i).reduce(((t,e)=>(t[e]=!1,t)),{});let n=[];e&&(n=n.concat(Object.keys(e).map((t=>{const i=e[t],s=cn(t,i),n="r"===s,o="x"===s;return{options:i,dposition:n?"chartArea":o?"bottom":"left",dtype:n?"radialLinear":o?"category":"linear"}})))),u(n,(e=>{const n=e.options,o=n.id,a=cn(o,n),r=l(n.type,e.dtype);void 0!==n.position&&wn(n.position,a)===wn(e.dposition)||(n.position=e.dposition),s[o]=!0;let h=null;if(o in i&&i[o].type===r)h=i[o];else{h=new(nn.getScale(r))({id:o,type:r,ctx:this.ctx,chart:this}),i[h.id]=h}h.init(n,t)})),u(s,((t,e)=>{t||delete i[e]})),u(i,(t=>{ls.configure(this,t,t.options),ls.addBox(this,t)}))}_updateMetasets(){const t=this._metasets,e=this.data.datasets.length,i=t.length;if(t.sort(((t,e)=>t.index-e.index)),i>e){for(let t=e;t<i;++t)this._destroyDatasetMeta(t);t.splice(e,i-e)}this._sortedMetasets=t.slice(0).sort(kn("order","index"))}_removeUnreferencedMetasets(){const{_metasets:t,data:{datasets:e}}=this;t.length>e.length&&delete this._stacks,t.forEach(((t,i)=>{0===e.filter((e=>e===t._dataset)).length&&this._destroyDatasetMeta(i)}))}buildOrUpdateControllers(){const t=[],e=this.data.datasets;let i,s;for(this._removeUnreferencedMetasets(),i=0,s=e.length;i<s;i++){const s=e[i];let n=this.getDatasetMeta(i);const o=s.type||this.config.type;if(n.type&&n.type!==o&&(this._destroyDatasetMeta(i),n=this.getDatasetMeta(i)),n.type=o,n.indexAxis=s.indexAxis||ln(o,this.options),n.order=s.order||0,n.index=i,n.label=""+s.label,n.visible=this.isDatasetVisible(i),n.controller)n.controller.updateIndex(i),n.controller.linkScales();else{const e=nn.getController(o),{datasetElementType:s,dataElementType:a}=ue.datasets[o];Object.assign(e,{dataElementType:nn.getElement(a),datasetElementType:s&&nn.getElement(s)}),n.controller=new e(this,i),t.push(n.controller)}}return this._updateMetasets(),t}_resetElements(){u(this.data.datasets,((t,e)=>{this.getDatasetMeta(e).controller.reset()}),this)}reset(){this._resetElements(),this.notifyPlugins("reset")}update(t){const e=this.config;e.update();const i=this._options=e.createResolver(e.chartOptionScopes(),this.getContext()),s=this._animationsDisabled=!i.animation;if(this._updateScales(),this._checkEventBindings(),this._updateHiddenIndices(),this._plugins.invalidate(),!1===this.notifyPlugins("beforeUpdate",{mode:t,cancelable:!0}))return;const n=this.buildOrUpdateControllers();this.notifyPlugins("beforeElementsUpdate");let o=0;for(let t=0,e=this.data.datasets.length;t<e;t++){const{controller:e}=this.getDatasetMeta(t),i=!s&&-1===n.indexOf(e);e.buildOrUpdateElements(i),o=Math.max(+e.getMaxOverflow(),o)}o=this._minPadding=i.layout.autoPadding?o:0,this._updateLayout(o),s||u(n,(t=>{t.reset()})),this._updateDatasets(t),this.notifyPlugins("afterUpdate",{mode:t}),this._layers.sort(kn("z","_idx"));const{_active:a,_lastEvent:r}=this;r?this._eventHandler(r,!0):a.length&&this._updateHoverStyles(a,a,!0),this.render()}_updateScales(){u(this.scales,(t=>{ls.removeBox(this,t)})),this.ensureScalesHaveIDs(),this.buildOrUpdateScales()}_checkEventBindings(){const t=this.options,e=new Set(Object.keys(this._listeners)),i=new Set(t.events);P(e,i)&&!!this._responsiveListeners===t.responsive||(this.unbindEvents(),this.bindEvents())}_updateHiddenIndices(){const{_hiddenIndices:t}=this,e=this._getUniformDataChanges()||[];for(const{method:i,start:s,count:n}of e){An(t,s,"_removeElements"===i?-n:n)}}_getUniformDataChanges(){const t=this._dataChanges;if(!t||!t.length)return;this._dataChanges=[];const e=this.data.datasets.length,i=e=>new Set(t.filter((t=>t[0]===e)).map(((t,e)=>e+","+t.splice(1).join(",")))),s=i(0);for(let t=1;t<e;t++)if(!P(s,i(t)))return;return Array.from(s).map((t=>t.split(","))).map((t=>({method:t[1],start:+t[2],count:+t[3]})))}_updateLayout(t){if(!1===this.notifyPlugins("beforeLayout",{cancelable:!0}))return;ls.update(this,this.width,this.height,t);const e=this.chartArea,i=e.width<=0||e.height<=0;this._layers=[],u(this.boxes,(t=>{i&&"chartArea"===t.position||(t.configure&&t.configure(),this._layers.push(...t._layers()))}),this),this._layers.forEach(((t,e)=>{t._idx=e})),this.notifyPlugins("afterLayout")}_updateDatasets(t){if(!1!==this.notifyPlugins("beforeDatasetsUpdate",{mode:t,cancelable:!0})){for(let t=0,e=this.data.datasets.length;t<e;++t)this.getDatasetMeta(t).controller.configure();for(let e=0,i=this.data.datasets.length;e<i;++e)this._updateDataset(e,S(t)?t({datasetIndex:e}):t);this.notifyPlugins("afterDatasetsUpdate",{mode:t})}}_updateDataset(t,e){const i=this.getDatasetMeta(t),s={meta:i,index:t,mode:e,cancelable:!0};!1!==this.notifyPlugins("beforeDatasetUpdate",s)&&(i.controller._update(e),s.cancelable=!1,this.notifyPlugins("afterDatasetUpdate",s))}render(){!1!==this.notifyPlugins("beforeRender",{cancelable:!0})&&(bt.has(this)?this.attached&&!bt.running(this)&&bt.start(this):(this.draw(),Sn({chart:this})))}draw(){let t;if(this._resizeBeforeDraw){const{width:t,height:e}=this._resizeBeforeDraw;this._resizeBeforeDraw=null,this._resize(t,e)}if(this.clear(),this.width<=0||this.height<=0)return;if(!1===this.notifyPlugins("beforeDraw",{cancelable:!0}))return;const e=this._layers;for(t=0;t<e.length&&e[t].z<=0;++t)e[t].draw(this.chartArea);for(this._drawDatasets();t<e.length;++t)e[t].draw(this.chartArea);this.notifyPlugins("afterDraw")}_getSortedDatasetMetas(t){const e=this._sortedMetasets,i=[];let s,n;for(s=0,n=e.length;s<n;++s){const n=e[s];t&&!n.visible||i.push(n)}return i}getSortedVisibleDatasetMetas(){return this._getSortedDatasetMetas(!0)}_drawDatasets(){if(!1===this.notifyPlugins("beforeDatasetsDraw",{cancelable:!0}))return;const t=this.getSortedVisibleDatasetMetas();for(let e=t.length-1;e>=0;--e)this._drawDataset(t[e]);this.notifyPlugins("afterDatasetsDraw")}_drawDataset(t){const e=this.ctx,i={meta:t,index:t.index,cancelable:!0},s=Ni(this,t);!1!==this.notifyPlugins("beforeDatasetDraw",i)&&(s&&Ie(e,s),t.controller.draw(),s&&ze(e),i.cancelable=!1,this.notifyPlugins("afterDatasetDraw",i))}isPointInArea(t){return Re(t,this.chartArea,this._minPadding)}getElementsAtEventForMode(t,e,i,s){const n=Ki.modes[e];return"function"==typeof n?n(this,t,i,s):[]}getDatasetMeta(t){const e=this.data.datasets[t],i=this._metasets;let s=i.filter((t=>t&&t._dataset===e)).pop();return s||(s={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null,order:e&&e.order||0,index:t,_dataset:e,_parsed:[],_sorted:!1},i.push(s)),s}getContext(){return this.$context||(this.$context=Ci(null,{chart:this,type:"chart"}))}getVisibleDatasetCount(){return this.getSortedVisibleDatasetMetas().length}isDatasetVisible(t){const e=this.data.datasets[t];if(!e)return!1;const i=this.getDatasetMeta(t);return"boolean"==typeof i.hidden?!i.hidden:!e.hidden}setDatasetVisibility(t,e){this.getDatasetMeta(t).hidden=!e}toggleDataVisibility(t){this._hiddenIndices[t]=!this._hiddenIndices[t]}getDataVisibility(t){return!this._hiddenIndices[t]}_updateVisibility(t,e,i){const s=i?"show":"hide",n=this.getDatasetMeta(t),o=n.controller._resolveAnimations(void 0,s);k(e)?(n.data[e].hidden=!i,this.update()):(this.setDatasetVisibility(t,i),o.update(n,{visible:i}),this.update((e=>e.datasetIndex===t?s:void 0)))}hide(t,e){this._updateVisibility(t,e,!1)}show(t,e){this._updateVisibility(t,e,!0)}_destroyDatasetMeta(t){const e=this._metasets[t];e&&e.controller&&e.controller._destroy(),delete this._metasets[t]}_stop(){let t,e;for(this.stop(),bt.remove(this),t=0,e=this.data.datasets.length;t<e;++t)this._destroyDatasetMeta(t)}destroy(){this.notifyPlugins("beforeDestroy");const{canvas:t,ctx:e}=this;this._stop(),this.config.clearCache(),t&&(this.unbindEvents(),Te(t,e),this.platform.releaseContext(e),this.canvas=null,this.ctx=null),delete Cn[this.id],this.notifyPlugins("afterDestroy")}toBase64Image(...t){return this.canvas.toDataURL(...t)}bindEvents(){this.bindUserEvents(),this.options.responsive?this.bindResponsiveEvents():this.attached=!0}bindUserEvents(){const t=this._listeners,e=this.platform,i=(i,s)=>{e.addEventListener(this,i,s),t[i]=s},s=(t,e,i)=>{t.offsetX=e,t.offsetY=i,this._eventHandler(t)};u(this.options.events,(t=>i(t,s)))}bindResponsiveEvents(){this._responsiveListeners||(this._responsiveListeners={});const t=this._responsiveListeners,e=this.platform,i=(i,s)=>{e.addEventListener(this,i,s),t[i]=s},s=(i,s)=>{t[i]&&(e.removeEventListener(this,i,s),delete t[i])},n=(t,e)=>{this.canvas&&this.resize(t,e)};let o;const a=()=>{s("attach",a),this.attached=!0,this.resize(),i("resize",n),i("detach",o)};o=()=>{this.attached=!1,s("resize",n),this._stop(),this._resize(0,0),i("attach",a)},e.isAttached(this.canvas)?a():o()}unbindEvents(){u(this._listeners,((t,e)=>{this.platform.removeEventListener(this,e,t)})),this._listeners={},u(this._responsiveListeners,((t,e)=>{this.platform.removeEventListener(this,e,t)})),this._responsiveListeners=void 0}updateHoverStyle(t,e,i){const s=i?"set":"remove";let n,o,a,r;for("dataset"===e&&(n=this.getDatasetMeta(t[0].datasetIndex),n.controller["_"+s+"DatasetHoverStyle"]()),a=0,r=t.length;a<r;++a){o=t[a];const e=o&&this.getDatasetMeta(o.datasetIndex).controller;e&&e[s+"HoverStyle"](o.element,o.datasetIndex,o.index)}}getActiveElements(){return this._active||[]}setActiveElements(t){const e=this._active||[],i=t.map((({datasetIndex:t,index:e})=>{const i=this.getDatasetMeta(t);if(!i)throw new Error("No dataset found at index "+t);return{datasetIndex:t,element:i.data[e],index:e}}));!f(i,e)&&(this._active=i,this._lastEvent=null,this._updateHoverStyles(i,e))}notifyPlugins(t,e,i){return this._plugins.notify(this,t,e,i)}isPluginEnabled(t){return 1===this._plugins._cache.filter((e=>e.plugin.id===t)).length}_updateHoverStyles(t,e,i){const s=this.options.hover,n=(t,e)=>t.filter((t=>!e.some((e=>t.datasetIndex===e.datasetIndex&&t.index===e.index)))),o=n(e,t),a=i?t:n(t,e);o.length&&this.updateHoverStyle(o,s.mode,!1),a.length&&s.mode&&this.updateHoverStyle(a,s.mode,!0)}_eventHandler(t,e){const i={event:t,replay:e,cancelable:!0,inChartArea:this.isPointInArea(t)},s=e=>(e.options.events||this.options.events).includes(t.native.type);if(!1===this.notifyPlugins("beforeEvent",i,s))return;const n=this._handleEvent(t,e,i.inChartArea);return i.cancelable=!1,this.notifyPlugins("afterEvent",i,s),(n||i.changed)&&this.render(),this}_handleEvent(t,e,i){const{_active:s=[],options:n}=this,o=e,a=this._getActiveElements(t,s,i,o),r=D(t),l=function(t,e,i,s){return i&&"mouseout"!==t.type?s?e:t:null}(t,this._lastEvent,i,r);i&&(this._lastEvent=null,d(n.onHover,[t,a,this],this),r&&d(n.onClick,[t,a,this],this));const h=!f(a,s);return(h||e)&&(this._active=a,this._updateHoverStyles(a,s,e)),this._lastEvent=l,h}_getActiveElements(t,e,i,s){if("mouseout"===t.type)return[];if(!i)return e;const n=this.options.hover;return this.getElementsAtEventForMode(t,n.mode,n,s)}}function Ln(){return u(Tn.instances,(t=>t._plugins.invalidate()))}function En(){throw new Error("This method is not implemented: Check that a complete date adapter is provided.")}class Rn{static override(t){Object.assign(Rn.prototype,t)}options;constructor(t){this.options=t||{}}init(){}formats(){return En()}parse(){return En()}format(){return En()}add(){return En()}diff(){return En()}startOf(){return En()}endOf(){return En()}}var In={_date:Rn};function zn(t){const e=t.iScale,i=function(t,e){if(!t._cache.$bar){const i=t.getMatchingVisibleMetas(e);let s=[];for(let e=0,n=i.length;e<n;e++)s=s.concat(i[e].controller.getAllParsedValues(t));t._cache.$bar=lt(s.sort(((t,e)=>t-e)))}return t._cache.$bar}(e,t.type);let s,n,o,a,r=e._length;const l=()=>{32767!==o&&-32768!==o&&(k(a)&&(r=Math.min(r,Math.abs(o-a)||r)),a=o)};for(s=0,n=i.length;s<n;++s)o=e.getPixelForValue(i[s]),l();for(a=void 0,s=0,n=e.ticks.length;s<n;++s)o=e.getPixelForTick(s),l();return r}function Fn(t,e,i,s){return n(t)?function(t,e,i,s){const n=i.parse(t[0],s),o=i.parse(t[1],s),a=Math.min(n,o),r=Math.max(n,o);let l=a,h=r;Math.abs(a)>Math.abs(r)&&(l=r,h=a),e[i.axis]=h,e._custom={barStart:l,barEnd:h,start:n,end:o,min:a,max:r}}(t,e,i,s):e[i.axis]=i.parse(t,s),e}function Vn(t,e,i,s){const n=t.iScale,o=t.vScale,a=n.getLabels(),r=n===o,l=[];let h,c,d,u;for(h=i,c=i+s;h<c;++h)u=e[h],d={},d[n.axis]=r||n.parse(a[h],h),l.push(Fn(u,d,o,h));return l}function Bn(t){return t&&void 0!==t.barStart&&void 0!==t.barEnd}function Wn(t,e,i,s){let n=e.borderSkipped;const o={};if(!n)return void(t.borderSkipped=o);if(!0===n)return void(t.borderSkipped={top:!0,right:!0,bottom:!0,left:!0});const{start:a,end:r,reverse:l,top:h,bottom:c}=function(t){let e,i,s,n,o;return t.horizontal?(e=t.base>t.x,i="left",s="right"):(e=t.base<t.y,i="bottom",s="top"),e?(n="end",o="start"):(n="start",o="end"),{start:i,end:s,reverse:e,top:n,bottom:o}}(t);"middle"===n&&i&&(t.enableBorderRadius=!0,(i._top||0)===s?n=h:(i._bottom||0)===s?n=c:(o[Nn(c,a,r,l)]=!0,n=h)),o[Nn(n,a,r,l)]=!0,t.borderSkipped=o}function Nn(t,e,i,s){var n,o,a;return s?(a=i,t=Hn(t=(n=t)===(o=e)?a:n===a?o:n,i,e)):t=Hn(t,e,i),t}function Hn(t,e,i){return"start"===t?e:"end"===t?i:t}function jn(t,{inflateAmount:e},i){t.inflateAmount="auto"===e?1===i?.33:0:e}class $n extends js{static id="doughnut";static defaults={datasetElementType:!1,dataElementType:"arc",animation:{animateRotate:!0,animateScale:!1},animations:{numbers:{type:"number",properties:["circumference","endAngle","innerRadius","outerRadius","startAngle","x","y","offset","borderWidth","spacing"]}},cutout:"50%",rotation:0,circumference:360,radius:"100%",spacing:0,indexAxis:"r"};static descriptors={_scriptable:t=>"spacing"!==t,_indexable:t=>"spacing"!==t&&!t.startsWith("borderDash")&&!t.startsWith("hoverBorderDash")};static overrides={aspectRatio:1,plugins:{legend:{labels:{generateLabels(t){const e=t.data;if(e.labels.length&&e.datasets.length){const{labels:{pointStyle:i,color:s}}=t.legend.options;return e.labels.map(((e,n)=>{const o=t.getDatasetMeta(0).controller.getStyle(n);return{text:e,fillStyle:o.backgroundColor,strokeStyle:o.borderColor,fontColor:s,lineWidth:o.borderWidth,pointStyle:i,hidden:!t.getDataVisibility(n),index:n}}))}return[]}},onClick(t,e,i){i.chart.toggleDataVisibility(e.index),i.chart.update()}}}};constructor(t,e){super(t,e),this.enableOptionSharing=!0,this.innerRadius=void 0,this.outerRadius=void 0,this.offsetX=void 0,this.offsetY=void 0}linkScales(){}parse(t,e){const i=this.getDataset().data,s=this._cachedMeta;if(!1===this._parsing)s._parsed=i;else{let n,a,r=t=>+i[t];if(o(i[t])){const{key:t="value"}=this._parsing;r=e=>+M(i[e],t)}for(n=t,a=t+e;n<a;++n)s._parsed[n]=r(n)}}_getRotation(){return $(this.options.rotation-90)}_getCircumference(){return $(this.options.circumference)}_getRotationExtents(){let t=O,e=-O;for(let i=0;i<this.chart.data.datasets.length;++i)if(this.chart.isDatasetVisible(i)&&this.chart.getDatasetMeta(i).type===this._type){const s=this.chart.getDatasetMeta(i).controller,n=s._getRotation(),o=s._getCircumference();t=Math.min(t,n),e=Math.max(e,n+o)}return{rotation:t,circumference:e-t}}update(t){const e=this.chart,{chartArea:i}=e,s=this._cachedMeta,n=s.data,o=this.getMaxBorderWidth()+this.getMaxOffset(n)+this.options.spacing,a=Math.max((Math.min(i.width,i.height)-o)/2,0),r=Math.min(h(this.options.cutout,a),1),l=this._getRingWeight(this.index),{circumference:d,rotation:u}=this._getRotationExtents(),{ratioX:f,ratioY:g,offsetX:p,offsetY:m}=function(t,e,i){let s=1,n=1,o=0,a=0;if(e<O){const r=t,l=r+e,h=Math.cos(r),c=Math.sin(r),d=Math.cos(l),u=Math.sin(l),f=(t,e,s)=>J(t,r,l,!0)?1:Math.max(e,e*i,s,s*i),g=(t,e,s)=>J(t,r,l,!0)?-1:Math.min(e,e*i,s,s*i),p=f(0,h,d),m=f(E,c,u),x=g(C,h,d),b=g(C+E,c,u);s=(p-x)/2,n=(m-b)/2,o=-(p+x)/2,a=-(m+b)/2}return{ratioX:s,ratioY:n,offsetX:o,offsetY:a}}(u,d,r),x=(i.width-o)/f,b=(i.height-o)/g,_=Math.max(Math.min(x,b)/2,0),y=c(this.options.radius,_),v=(y-Math.max(y*r,0))/this._getVisibleDatasetWeightTotal();this.offsetX=p*y,this.offsetY=m*y,s.total=this.calculateTotal(),this.outerRadius=y-v*this._getRingWeightOffset(this.index),this.innerRadius=Math.max(this.outerRadius-v*l,0),this.updateElements(n,0,n.length,t)}_circumference(t,e){const i=this.options,s=this._cachedMeta,n=this._getCircumference();return e&&i.animation.animateRotate||!this.chart.getDataVisibility(t)||null===s._parsed[t]||s.data[t].hidden?0:this.calculateCircumference(s._parsed[t]*n/O)}updateElements(t,e,i,s){const n="reset"===s,o=this.chart,a=o.chartArea,r=o.options.animation,l=(a.left+a.right)/2,h=(a.top+a.bottom)/2,c=n&&r.animateScale,d=c?0:this.innerRadius,u=c?0:this.outerRadius,{sharedOptions:f,includeOptions:g}=this._getSharedOptions(e,s);let p,m=this._getRotation();for(p=0;p<e;++p)m+=this._circumference(p,n);for(p=e;p<e+i;++p){const e=this._circumference(p,n),i=t[p],o={x:l+this.offsetX,y:h+this.offsetY,startAngle:m,endAngle:m+e,circumference:e,outerRadius:u,innerRadius:d};g&&(o.options=f||this.resolveDataElementOptions(p,i.active?"active":s)),m+=e,this.updateElement(i,p,o,s)}}calculateTotal(){const t=this._cachedMeta,e=t.data;let i,s=0;for(i=0;i<e.length;i++){const n=t._parsed[i];null===n||isNaN(n)||!this.chart.getDataVisibility(i)||e[i].hidden||(s+=Math.abs(n))}return s}calculateCircumference(t){const e=this._cachedMeta.total;return e>0&&!isNaN(t)?O*(Math.abs(t)/e):0}getLabelAndValue(t){const e=this._cachedMeta,i=this.chart,s=i.data.labels||[],n=ne(e._parsed[t],i.options.locale);return{label:s[t]||"",value:n}}getMaxBorderWidth(t){let e=0;const i=this.chart;let s,n,o,a,r;if(!t)for(s=0,n=i.data.datasets.length;s<n;++s)if(i.isDatasetVisible(s)){o=i.getDatasetMeta(s),t=o.data,a=o.controller;break}if(!t)return 0;for(s=0,n=t.length;s<n;++s)r=a.resolveDataElementOptions(s),"inner"!==r.borderAlign&&(e=Math.max(e,r.borderWidth||0,r.hoverBorderWidth||0));return e}getMaxOffset(t){let e=0;for(let i=0,s=t.length;i<s;++i){const t=this.resolveDataElementOptions(i);e=Math.max(e,t.offset||0,t.hoverOffset||0)}return e}_getRingWeightOffset(t){let e=0;for(let i=0;i<t;++i)this.chart.isDatasetVisible(i)&&(e+=this._getRingWeight(i));return e}_getRingWeight(t){return Math.max(l(this.chart.data.datasets[t].weight,1),0)}_getVisibleDatasetWeightTotal(){return this._getRingWeightOffset(this.chart.data.datasets.length)||1}}class Yn extends js{static id="polarArea";static defaults={dataElementType:"arc",animation:{animateRotate:!0,animateScale:!0},animations:{numbers:{type:"number",properties:["x","y","startAngle","endAngle","innerRadius","outerRadius"]}},indexAxis:"r",startAngle:0};static overrides={aspectRatio:1,plugins:{legend:{labels:{generateLabels(t){const e=t.data;if(e.labels.length&&e.datasets.length){const{labels:{pointStyle:i,color:s}}=t.legend.options;return e.labels.map(((e,n)=>{const o=t.getDatasetMeta(0).controller.getStyle(n);return{text:e,fillStyle:o.backgroundColor,strokeStyle:o.borderColor,fontColor:s,lineWidth:o.borderWidth,pointStyle:i,hidden:!t.getDataVisibility(n),index:n}}))}return[]}},onClick(t,e,i){i.chart.toggleDataVisibility(e.index),i.chart.update()}}},scales:{r:{type:"radialLinear",angleLines:{display:!1},beginAtZero:!0,grid:{circular:!0},pointLabels:{display:!1},startAngle:0}}};constructor(t,e){super(t,e),this.innerRadius=void 0,this.outerRadius=void 0}getLabelAndValue(t){const e=this._cachedMeta,i=this.chart,s=i.data.labels||[],n=ne(e._parsed[t].r,i.options.locale);return{label:s[t]||"",value:n}}parseObjectData(t,e,i,s){return ii.bind(this)(t,e,i,s)}update(t){const e=this._cachedMeta.data;this._updateRadius(),this.updateElements(e,0,e.length,t)}getMinMax(){const t=this._cachedMeta,e={min:Number.POSITIVE_INFINITY,max:Number.NEGATIVE_INFINITY};return t.data.forEach(((t,i)=>{const s=this.getParsed(i).r;!isNaN(s)&&this.chart.getDataVisibility(i)&&(s<e.min&&(e.min=s),s>e.max&&(e.max=s))})),e}_updateRadius(){const t=this.chart,e=t.chartArea,i=t.options,s=Math.min(e.right-e.left,e.bottom-e.top),n=Math.max(s/2,0),o=(n-Math.max(i.cutoutPercentage?n/100*i.cutoutPercentage:1,0))/t.getVisibleDatasetCount();this.outerRadius=n-o*this.index,this.innerRadius=this.outerRadius-o}updateElements(t,e,i,s){const n="reset"===s,o=this.chart,a=o.options.animation,r=this._cachedMeta.rScale,l=r.xCenter,h=r.yCenter,c=r.getIndexAngle(0)-.5*C;let d,u=c;const f=360/this.countVisibleElements();for(d=0;d<e;++d)u+=this._computeAngle(d,s,f);for(d=e;d<e+i;d++){const e=t[d];let i=u,g=u+this._computeAngle(d,s,f),p=o.getDataVisibility(d)?r.getDistanceFromCenterForValue(this.getParsed(d).r):0;u=g,n&&(a.animateScale&&(p=0),a.animateRotate&&(i=g=c));const m={x:l,y:h,innerRadius:0,outerRadius:p,startAngle:i,endAngle:g,options:this.resolveDataElementOptions(d,e.active?"active":s)};this.updateElement(e,d,m,s)}}countVisibleElements(){const t=this._cachedMeta;let e=0;return t.data.forEach(((t,i)=>{!isNaN(this.getParsed(i).r)&&this.chart.getDataVisibility(i)&&e++})),e}_computeAngle(t,e,i){return this.chart.getDataVisibility(t)?$(this.resolveDataElementOptions(t,e).angle||i):0}}var Un=Object.freeze({__proto__:null,BarController:class extends js{static id="bar";static defaults={datasetElementType:!1,dataElementType:"bar",categoryPercentage:.8,barPercentage:.9,grouped:!0,animations:{numbers:{type:"number",properties:["x","y","base","width","height"]}}};static overrides={scales:{_index_:{type:"category",offset:!0,grid:{offset:!0}},_value_:{type:"linear",beginAtZero:!0}}};parsePrimitiveData(t,e,i,s){return Vn(t,e,i,s)}parseArrayData(t,e,i,s){return Vn(t,e,i,s)}parseObjectData(t,e,i,s){const{iScale:n,vScale:o}=t,{xAxisKey:a="x",yAxisKey:r="y"}=this._parsing,l="x"===n.axis?a:r,h="x"===o.axis?a:r,c=[];let d,u,f,g;for(d=i,u=i+s;d<u;++d)g=e[d],f={},f[n.axis]=n.parse(M(g,l),d),c.push(Fn(M(g,h),f,o,d));return c}updateRangeFromParsed(t,e,i,s){super.updateRangeFromParsed(t,e,i,s);const n=i._custom;n&&e===this._cachedMeta.vScale&&(t.min=Math.min(t.min,n.min),t.max=Math.max(t.max,n.max))}getMaxOverflow(){return 0}getLabelAndValue(t){const e=this._cachedMeta,{iScale:i,vScale:s}=e,n=this.getParsed(t),o=n._custom,a=Bn(o)?"["+o.start+", "+o.end+"]":""+s.getLabelForValue(n[s.axis]);return{label:""+i.getLabelForValue(n[i.axis]),value:a}}initialize(){this.enableOptionSharing=!0,super.initialize();this._cachedMeta.stack=this.getDataset().stack}update(t){const e=this._cachedMeta;this.updateElements(e.data,0,e.data.length,t)}updateElements(t,e,i,n){const o="reset"===n,{index:a,_cachedMeta:{vScale:r}}=this,l=r.getBasePixel(),h=r.isHorizontal(),c=this._getRuler(),{sharedOptions:d,includeOptions:u}=this._getSharedOptions(e,n);for(let f=e;f<e+i;f++){const e=this.getParsed(f),i=o||s(e[r.axis])?{base:l,head:l}:this._calculateBarValuePixels(f),g=this._calculateBarIndexPixels(f,c),p=(e._stacks||{})[r.axis],m={horizontal:h,base:i.base,enableBorderRadius:!p||Bn(e._custom)||a===p._top||a===p._bottom,x:h?i.head:g.center,y:h?g.center:i.head,height:h?g.size:Math.abs(i.size),width:h?Math.abs(i.size):g.size};u&&(m.options=d||this.resolveDataElementOptions(f,t[f].active?"active":n));const x=m.options||t[f].options;Wn(m,x,p,a),jn(m,x,c.ratio),this.updateElement(t[f],f,m,n)}}_getStacks(t,e){const{iScale:i}=this._cachedMeta,n=i.getMatchingVisibleMetas(this._type).filter((t=>t.controller.options.grouped)),o=i.options.stacked,a=[],r=this._cachedMeta.controller.getParsed(e),l=r&&r[i.axis],h=t=>{const e=t._parsed.find((t=>t[i.axis]===l)),n=e&&e[t.vScale.axis];if(s(n)||isNaN(n))return!0};for(const i of n)if((void 0===e||!h(i))&&((!1===o||-1===a.indexOf(i.stack)||void 0===o&&void 0===i.stack)&&a.push(i.stack),i.index===t))break;return a.length||a.push(void 0),a}_getStackCount(t){return this._getStacks(void 0,t).length}_getAxisCount(){return this._getAxis().length}getFirstScaleIdForIndexAxis(){const t=this.chart.scales,e=this.chart.options.indexAxis;return Object.keys(t).filter((i=>t[i].axis===e)).shift()}_getAxis(){const t={},e=this.getFirstScaleIdForIndexAxis();for(const i of this.chart.data.datasets)t[l("x"===this.chart.options.indexAxis?i.xAxisID:i.yAxisID,e)]=!0;return Object.keys(t)}_getStackIndex(t,e,i){const s=this._getStacks(t,i),n=void 0!==e?s.indexOf(e):-1;return-1===n?s.length-1:n}_getRuler(){const t=this.options,e=this._cachedMeta,i=e.iScale,s=[];let n,o;for(n=0,o=e.data.length;n<o;++n)s.push(i.getPixelForValue(this.getParsed(n)[i.axis],n));const a=t.barThickness;return{min:a||zn(e),pixels:s,start:i._startPixel,end:i._endPixel,stackCount:this._getStackCount(),scale:i,grouped:t.grouped,ratio:a?1:t.categoryPercentage*t.barPercentage}}_calculateBarValuePixels(t){const{_cachedMeta:{vScale:e,_stacked:i,index:n},options:{base:o,minBarLength:a}}=this,r=o||0,l=this.getParsed(t),h=l._custom,c=Bn(h);let d,u,f=l[e.axis],g=0,p=i?this.applyStack(e,l,i):f;p!==f&&(g=p-f,p=f),c&&(f=h.barStart,p=h.barEnd-h.barStart,0!==f&&F(f)!==F(h.barEnd)&&(g=0),g+=f);const m=s(o)||c?g:o;let x=e.getPixelForValue(m);if(d=this.chart.getDataVisibility(t)?e.getPixelForValue(g+p):x,u=d-x,Math.abs(u)<a){u=function(t,e,i){return 0!==t?F(t):(e.isHorizontal()?1:-1)*(e.min>=i?1:-1)}(u,e,r)*a,f===r&&(x-=u/2);const t=e.getPixelForDecimal(0),s=e.getPixelForDecimal(1),o=Math.min(t,s),h=Math.max(t,s);x=Math.max(Math.min(x,h),o),d=x+u,i&&!c&&(l._stacks[e.axis]._visualValues[n]=e.getValueForPixel(d)-e.getValueForPixel(x))}if(x===e.getPixelForValue(r)){const t=F(u)*e.getLineWidthForValue(r)/2;x+=t,u-=t}return{size:u,base:x,head:d,center:d+u/2}}_calculateBarIndexPixels(t,e){const i=e.scale,n=this.options,o=n.skipNull,a=l(n.maxBarThickness,1/0);let r,h;const c=this._getAxisCount();if(e.grouped){const i=o?this._getStackCount(t):e.stackCount,d="flex"===n.barThickness?function(t,e,i,s){const n=e.pixels,o=n[t];let a=t>0?n[t-1]:null,r=t<n.length-1?n[t+1]:null;const l=i.categoryPercentage;null===a&&(a=o-(null===r?e.end-e.start:r-o)),null===r&&(r=o+o-a);const h=o-(o-Math.min(a,r))/2*l;return{chunk:Math.abs(r-a)/2*l/s,ratio:i.barPercentage,start:h}}(t,e,n,i*c):function(t,e,i,n){const o=i.barThickness;let a,r;return s(o)?(a=e.min*i.categoryPercentage,r=i.barPercentage):(a=o*n,r=1),{chunk:a/n,ratio:r,start:e.pixels[t]-a/2}}(t,e,n,i*c),u="x"===this.chart.options.indexAxis?this.getDataset().xAxisID:this.getDataset().yAxisID,f=this._getAxis().indexOf(l(u,this.getFirstScaleIdForIndexAxis())),g=this._getStackIndex(this.index,this._cachedMeta.stack,o?t:void 0)+f;r=d.start+d.chunk*g+d.chunk/2,h=Math.min(a,d.chunk*d.ratio)}else r=i.getPixelForValue(this.getParsed(t)[i.axis],t),h=Math.min(a,e.min*e.ratio);return{base:r-h/2,head:r+h/2,center:r,size:h}}draw(){const t=this._cachedMeta,e=t.vScale,i=t.data,s=i.length;let n=0;for(;n<s;++n)null===this.getParsed(n)[e.axis]||i[n].hidden||i[n].draw(this._ctx)}},BubbleController:class extends js{static id="bubble";static defaults={datasetElementType:!1,dataElementType:"point",animations:{numbers:{type:"number",properties:["x","y","borderWidth","radius"]}}};static overrides={scales:{x:{type:"linear"},y:{type:"linear"}}};initialize(){this.enableOptionSharing=!0,super.initialize()}parsePrimitiveData(t,e,i,s){const n=super.parsePrimitiveData(t,e,i,s);for(let t=0;t<n.length;t++)n[t]._custom=this.resolveDataElementOptions(t+i).radius;return n}parseArrayData(t,e,i,s){const n=super.parseArrayData(t,e,i,s);for(let t=0;t<n.length;t++){const s=e[i+t];n[t]._custom=l(s[2],this.resolveDataElementOptions(t+i).radius)}return n}parseObjectData(t,e,i,s){const n=super.parseObjectData(t,e,i,s);for(let t=0;t<n.length;t++){const s=e[i+t];n[t]._custom=l(s&&s.r&&+s.r,this.resolveDataElementOptions(t+i).radius)}return n}getMaxOverflow(){const t=this._cachedMeta.data;let e=0;for(let i=t.length-1;i>=0;--i)e=Math.max(e,t[i].size(this.resolveDataElementOptions(i))/2);return e>0&&e}getLabelAndValue(t){const e=this._cachedMeta,i=this.chart.data.labels||[],{xScale:s,yScale:n}=e,o=this.getParsed(t),a=s.getLabelForValue(o.x),r=n.getLabelForValue(o.y),l=o._custom;return{label:i[t]||"",value:"("+a+", "+r+(l?", "+l:"")+")"}}update(t){const e=this._cachedMeta.data;this.updateElements(e,0,e.length,t)}updateElements(t,e,i,s){const n="reset"===s,{iScale:o,vScale:a}=this._cachedMeta,{sharedOptions:r,includeOptions:l}=this._getSharedOptions(e,s),h=o.axis,c=a.axis;for(let d=e;d<e+i;d++){const e=t[d],i=!n&&this.getParsed(d),u={},f=u[h]=n?o.getPixelForDecimal(.5):o.getPixelForValue(i[h]),g=u[c]=n?a.getBasePixel():a.getPixelForValue(i[c]);u.skip=isNaN(f)||isNaN(g),l&&(u.options=r||this.resolveDataElementOptions(d,e.active?"active":s),n&&(u.options.radius=0)),this.updateElement(e,d,u,s)}}resolveDataElementOptions(t,e){const i=this.getParsed(t);let s=super.resolveDataElementOptions(t,e);s.$shared&&(s=Object.assign({},s,{$shared:!1}));const n=s.radius;return"active"!==e&&(s.radius=0),s.radius+=l(i&&i._custom,n),s}},DoughnutController:$n,LineController:class extends js{static id="line";static defaults={datasetElementType:"line",dataElementType:"point",showLine:!0,spanGaps:!1};static overrides={scales:{_index_:{type:"category"},_value_:{type:"linear"}}};initialize(){this.enableOptionSharing=!0,this.supportsDecimation=!0,super.initialize()}update(t){const e=this._cachedMeta,{dataset:i,data:s=[],_dataset:n}=e,o=this.chart._animationsDisabled;let{start:a,count:r}=pt(e,s,o);this._drawStart=a,this._drawCount=r,mt(e)&&(a=0,r=s.length),i._chart=this.chart,i._datasetIndex=this.index,i._decimated=!!n._decimated,i.points=s;const l=this.resolveDatasetElementOptions(t);this.options.showLine||(l.borderWidth=0),l.segment=this.options.segment,this.updateElement(i,void 0,{animated:!o,options:l},t),this.updateElements(s,a,r,t)}updateElements(t,e,i,n){const o="reset"===n,{iScale:a,vScale:r,_stacked:l,_dataset:h}=this._cachedMeta,{sharedOptions:c,includeOptions:d}=this._getSharedOptions(e,n),u=a.axis,f=r.axis,{spanGaps:g,segment:p}=this.options,m=N(g)?g:Number.POSITIVE_INFINITY,x=this.chart._animationsDisabled||o||"none"===n,b=e+i,_=t.length;let y=e>0&&this.getParsed(e-1);for(let i=0;i<_;++i){const g=t[i],_=x?g:{};if(i<e||i>=b){_.skip=!0;continue}const v=this.getParsed(i),M=s(v[f]),w=_[u]=a.getPixelForValue(v[u],i),k=_[f]=o||M?r.getBasePixel():r.getPixelForValue(l?this.applyStack(r,v,l):v[f],i);_.skip=isNaN(w)||isNaN(k)||M,_.stop=i>0&&Math.abs(v[u]-y[u])>m,p&&(_.parsed=v,_.raw=h.data[i]),d&&(_.options=c||this.resolveDataElementOptions(i,g.active?"active":n)),x||this.updateElement(g,i,_,n),y=v}}getMaxOverflow(){const t=this._cachedMeta,e=t.dataset,i=e.options&&e.options.borderWidth||0,s=t.data||[];if(!s.length)return i;const n=s[0].size(this.resolveDataElementOptions(0)),o=s[s.length-1].size(this.resolveDataElementOptions(s.length-1));return Math.max(i,n,o)/2}draw(){const t=this._cachedMeta;t.dataset.updateControlPoints(this.chart.chartArea,t.iScale.axis),super.draw()}},PieController:class extends $n{static id="pie";static defaults={cutout:0,rotation:0,circumference:360,radius:"100%"}},PolarAreaController:Yn,RadarController:class extends js{static id="radar";static defaults={datasetElementType:"line",dataElementType:"point",indexAxis:"r",showLine:!0,elements:{line:{fill:"start"}}};static overrides={aspectRatio:1,scales:{r:{type:"radialLinear"}}};getLabelAndValue(t){const e=this._cachedMeta.vScale,i=this.getParsed(t);return{label:e.getLabels()[t],value:""+e.getLabelForValue(i[e.axis])}}parseObjectData(t,e,i,s){return ii.bind(this)(t,e,i,s)}update(t){const e=this._cachedMeta,i=e.dataset,s=e.data||[],n=e.iScale.getLabels();if(i.points=s,"resize"!==t){const e=this.resolveDatasetElementOptions(t);this.options.showLine||(e.borderWidth=0);const o={_loop:!0,_fullLoop:n.length===s.length,options:e};this.updateElement(i,void 0,o,t)}this.updateElements(s,0,s.length,t)}updateElements(t,e,i,s){const n=this._cachedMeta.rScale,o="reset"===s;for(let a=e;a<e+i;a++){const e=t[a],i=this.resolveDataElementOptions(a,e.active?"active":s),r=n.getPointPositionForValue(a,this.getParsed(a).r),l=o?n.xCenter:r.x,h=o?n.yCenter:r.y,c={x:l,y:h,angle:r.angle,skip:isNaN(l)||isNaN(h),options:i};this.updateElement(e,a,c,s)}}},ScatterController:class extends js{static id="scatter";static defaults={datasetElementType:!1,dataElementType:"point",showLine:!1,fill:!1};static overrides={interaction:{mode:"point"},scales:{x:{type:"linear"},y:{type:"linear"}}};getLabelAndValue(t){const e=this._cachedMeta,i=this.chart.data.labels||[],{xScale:s,yScale:n}=e,o=this.getParsed(t),a=s.getLabelForValue(o.x),r=n.getLabelForValue(o.y);return{label:i[t]||"",value:"("+a+", "+r+")"}}update(t){const e=this._cachedMeta,{data:i=[]}=e,s=this.chart._animationsDisabled;let{start:n,count:o}=pt(e,i,s);if(this._drawStart=n,this._drawCount=o,mt(e)&&(n=0,o=i.length),this.options.showLine){this.datasetElementType||this.addElements();const{dataset:n,_dataset:o}=e;n._chart=this.chart,n._datasetIndex=this.index,n._decimated=!!o._decimated,n.points=i;const a=this.resolveDatasetElementOptions(t);a.segment=this.options.segment,this.updateElement(n,void 0,{animated:!s,options:a},t)}else this.datasetElementType&&(delete e.dataset,this.datasetElementType=!1);this.updateElements(i,n,o,t)}addElements(){const{showLine:t}=this.options;!this.datasetElementType&&t&&(this.datasetElementType=this.chart.registry.getElement("line")),super.addElements()}updateElements(t,e,i,n){const o="reset"===n,{iScale:a,vScale:r,_stacked:l,_dataset:h}=this._cachedMeta,c=this.resolveDataElementOptions(e,n),d=this.getSharedOptions(c),u=this.includeOptions(n,d),f=a.axis,g=r.axis,{spanGaps:p,segment:m}=this.options,x=N(p)?p:Number.POSITIVE_INFINITY,b=this.chart._animationsDisabled||o||"none"===n;let _=e>0&&this.getParsed(e-1);for(let c=e;c<e+i;++c){const e=t[c],i=this.getParsed(c),p=b?e:{},y=s(i[g]),v=p[f]=a.getPixelForValue(i[f],c),M=p[g]=o||y?r.getBasePixel():r.getPixelForValue(l?this.applyStack(r,i,l):i[g],c);p.skip=isNaN(v)||isNaN(M)||y,p.stop=c>0&&Math.abs(i[f]-_[f])>x,m&&(p.parsed=i,p.raw=h.data[c]),u&&(p.options=d||this.resolveDataElementOptions(c,e.active?"active":n)),b||this.updateElement(e,c,p,n),_=i}this.updateSharedOptions(d,n,c)}getMaxOverflow(){const t=this._cachedMeta,e=t.data||[];if(!this.options.showLine){let t=0;for(let i=e.length-1;i>=0;--i)t=Math.max(t,e[i].size(this.resolveDataElementOptions(i))/2);return t>0&&t}const i=t.dataset,s=i.options&&i.options.borderWidth||0;if(!e.length)return s;const n=e[0].size(this.resolveDataElementOptions(0)),o=e[e.length-1].size(this.resolveDataElementOptions(e.length-1));return Math.max(s,n,o)/2}}});function Xn(t,e,i,s){const n=vi(t.options.borderRadius,["outerStart","outerEnd","innerStart","innerEnd"]);const o=(i-e)/2,a=Math.min(o,s*e/2),r=t=>{const e=(i-Math.min(o,t))*s/2;return Z(t,0,Math.min(o,e))};return{outerStart:r(n.outerStart),outerEnd:r(n.outerEnd),innerStart:Z(n.innerStart,0,a),innerEnd:Z(n.innerEnd,0,a)}}function qn(t,e,i,s){return{x:i+t*Math.cos(e),y:s+t*Math.sin(e)}}function Kn(t,e,i,s,n,o){const{x:a,y:r,startAngle:l,pixelMargin:h,innerRadius:c}=e,d=Math.max(e.outerRadius+s+i-h,0),u=c>0?c+s+i+h:0;let f=0;const g=n-l;if(s){const t=((c>0?c-s:0)+(d>0?d-s:0))/2;f=(g-(0!==t?g*t/(t+s):g))/2}const p=(g-Math.max(.001,g*d-i/C)/d)/2,m=l+p+f,x=n-p-f,{outerStart:b,outerEnd:_,innerStart:y,innerEnd:v}=Xn(e,u,d,x-m),M=d-b,w=d-_,k=m+b/M,S=x-_/w,P=u+y,D=u+v,O=m+y/P,A=x-v/D;if(t.beginPath(),o){const e=(k+S)/2;if(t.arc(a,r,d,k,e),t.arc(a,r,d,e,S),_>0){const e=qn(w,S,a,r);t.arc(e.x,e.y,_,S,x+E)}const i=qn(D,x,a,r);if(t.lineTo(i.x,i.y),v>0){const e=qn(D,A,a,r);t.arc(e.x,e.y,v,x+E,A+Math.PI)}const s=(x-v/u+(m+y/u))/2;if(t.arc(a,r,u,x-v/u,s,!0),t.arc(a,r,u,s,m+y/u,!0),y>0){const e=qn(P,O,a,r);t.arc(e.x,e.y,y,O+Math.PI,m-E)}const n=qn(M,m,a,r);if(t.lineTo(n.x,n.y),b>0){const e=qn(M,k,a,r);t.arc(e.x,e.y,b,m-E,k)}}else{t.moveTo(a,r);const e=Math.cos(k)*d+a,i=Math.sin(k)*d+r;t.lineTo(e,i);const s=Math.cos(S)*d+a,n=Math.sin(S)*d+r;t.lineTo(s,n)}t.closePath()}function Gn(t,e,i,s,n){const{fullCircles:o,startAngle:a,circumference:r,options:l}=e,{borderWidth:h,borderJoinStyle:c,borderDash:d,borderDashOffset:u,borderRadius:f}=l,g="inner"===l.borderAlign;if(!h)return;t.setLineDash(d||[]),t.lineDashOffset=u,g?(t.lineWidth=2*h,t.lineJoin=c||"round"):(t.lineWidth=h,t.lineJoin=c||"bevel");let p=e.endAngle;if(o){Kn(t,e,i,s,p,n);for(let e=0;e<o;++e)t.stroke();isNaN(r)||(p=a+(r%O||O))}g&&function(t,e,i){const{startAngle:s,pixelMargin:n,x:o,y:a,outerRadius:r,innerRadius:l}=e;let h=n/r;t.beginPath(),t.arc(o,a,r,s-h,i+h),l>n?(h=n/l,t.arc(o,a,l,i+h,s-h,!0)):t.arc(o,a,n,i+E,s-E),t.closePath(),t.clip()}(t,e,p),l.selfJoin&&p-a>=C&&0===f&&"miter"!==c&&function(t,e,i){const{startAngle:s,x:n,y:o,outerRadius:a,innerRadius:r,options:l}=e,{borderWidth:h,borderJoinStyle:c}=l,d=Math.min(h/a,G(s-i));if(t.beginPath(),t.arc(n,o,a-h/2,s+d/2,i-d/2),r>0){const e=Math.min(h/r,G(s-i));t.arc(n,o,r+h/2,i-e/2,s+e/2,!0)}else{const e=Math.min(h/2,a*G(s-i));if("round"===c)t.arc(n,o,e,i-C/2,s+C/2,!0);else if("bevel"===c){const a=2*e*e,r=-a*Math.cos(i+C/2)+n,l=-a*Math.sin(i+C/2)+o,h=a*Math.cos(s+C/2)+n,c=a*Math.sin(s+C/2)+o;t.lineTo(r,l),t.lineTo(h,c)}}t.closePath(),t.moveTo(0,0),t.rect(0,0,t.canvas.width,t.canvas.height),t.clip("evenodd")}(t,e,p),o||(Kn(t,e,i,s,p,n),t.stroke())}function Jn(t,e,i=e){t.lineCap=l(i.borderCapStyle,e.borderCapStyle),t.setLineDash(l(i.borderDash,e.borderDash)),t.lineDashOffset=l(i.borderDashOffset,e.borderDashOffset),t.lineJoin=l(i.borderJoinStyle,e.borderJoinStyle),t.lineWidth=l(i.borderWidth,e.borderWidth),t.strokeStyle=l(i.borderColor,e.borderColor)}function Zn(t,e,i){t.lineTo(i.x,i.y)}function Qn(t,e,i={}){const s=t.length,{start:n=0,end:o=s-1}=i,{start:a,end:r}=e,l=Math.max(n,a),h=Math.min(o,r),c=n<a&&o<a||n>r&&o>r;return{count:s,start:l,loop:e.loop,ilen:h<l&&!c?s+h-l:h-l}}function to(t,e,i,s){const{points:n,options:o}=e,{count:a,start:r,loop:l,ilen:h}=Qn(n,i,s),c=function(t){return t.stepped?Fe:t.tension||"monotone"===t.cubicInterpolationMode?Ve:Zn}(o);let d,u,f,{move:g=!0,reverse:p}=s||{};for(d=0;d<=h;++d)u=n[(r+(p?h-d:d))%a],u.skip||(g?(t.moveTo(u.x,u.y),g=!1):c(t,f,u,p,o.stepped),f=u);return l&&(u=n[(r+(p?h:0))%a],c(t,f,u,p,o.stepped)),!!l}function eo(t,e,i,s){const n=e.points,{count:o,start:a,ilen:r}=Qn(n,i,s),{move:l=!0,reverse:h}=s||{};let c,d,u,f,g,p,m=0,x=0;const b=t=>(a+(h?r-t:t))%o,_=()=>{f!==g&&(t.lineTo(m,g),t.lineTo(m,f),t.lineTo(m,p))};for(l&&(d=n[b(0)],t.moveTo(d.x,d.y)),c=0;c<=r;++c){if(d=n[b(c)],d.skip)continue;const e=d.x,i=d.y,s=0|e;s===u?(i<f?f=i:i>g&&(g=i),m=(x*m+e)/++x):(_(),t.lineTo(e,i),u=s,x=0,f=g=i),p=i}_()}function io(t){const e=t.options,i=e.borderDash&&e.borderDash.length;return!(t._decimated||t._loop||e.tension||"monotone"===e.cubicInterpolationMode||e.stepped||i)?eo:to}const so="function"==typeof Path2D;function no(t,e,i,s){so&&!e.options.segment?function(t,e,i,s){let n=e._path;n||(n=e._path=new Path2D,e.path(n,i,s)&&n.closePath()),Jn(t,e.options),t.stroke(n)}(t,e,i,s):function(t,e,i,s){const{segments:n,options:o}=e,a=io(e);for(const r of n)Jn(t,o,r.style),t.beginPath(),a(t,e,r,{start:i,end:i+s-1})&&t.closePath(),t.stroke()}(t,e,i,s)}class oo extends $s{static id="line";static defaults={borderCapStyle:"butt",borderDash:[],borderDashOffset:0,borderJoinStyle:"miter",borderWidth:3,capBezierPoints:!0,cubicInterpolationMode:"default",fill:!1,spanGaps:!1,stepped:!1,tension:0};static defaultRoutes={backgroundColor:"backgroundColor",borderColor:"borderColor"};static descriptors={_scriptable:!0,_indexable:t=>"borderDash"!==t&&"fill"!==t};constructor(t){super(),this.animated=!0,this.options=void 0,this._chart=void 0,this._loop=void 0,this._fullLoop=void 0,this._path=void 0,this._points=void 0,this._segments=void 0,this._decimated=!1,this._pointsUpdated=!1,this._datasetIndex=void 0,t&&Object.assign(this,t)}updateControlPoints(t,e){const i=this.options;if((i.tension||"monotone"===i.cubicInterpolationMode)&&!i.stepped&&!this._pointsUpdated){const s=i.spanGaps?this._loop:this._fullLoop;hi(this._points,i,t,s,e),this._pointsUpdated=!0}}set points(t){this._points=t,delete this._segments,delete this._path,this._pointsUpdated=!1}get points(){return this._points}get segments(){return this._segments||(this._segments=zi(this,this.options.segment))}first(){const t=this.segments,e=this.points;return t.length&&e[t[0].start]}last(){const t=this.segments,e=this.points,i=t.length;return i&&e[t[i-1].end]}interpolate(t,e){const i=this.options,s=t[e],n=this.points,o=Ii(this,{property:e,start:s,end:s});if(!o.length)return;const a=[],r=function(t){return t.stepped?pi:t.tension||"monotone"===t.cubicInterpolationMode?mi:gi}(i);let l,h;for(l=0,h=o.length;l<h;++l){const{start:h,end:c}=o[l],d=n[h],u=n[c];if(d===u){a.push(d);continue}const f=r(d,u,Math.abs((s-d[e])/(u[e]-d[e])),i.stepped);f[e]=t[e],a.push(f)}return 1===a.length?a[0]:a}pathSegment(t,e,i){return io(this)(t,this,e,i)}path(t,e,i){const s=this.segments,n=io(this);let o=this._loop;e=e||0,i=i||this.points.length-e;for(const a of s)o&=n(t,this,a,{start:e,end:e+i-1});return!!o}draw(t,e,i,s){const n=this.options||{};(this.points||[]).length&&n.borderWidth&&(t.save(),no(t,this,i,s),t.restore()),this.animated&&(this._pointsUpdated=!1,this._path=void 0)}}function ao(t,e,i,s){const n=t.options,{[i]:o}=t.getProps([i],s);return Math.abs(e-o)<n.radius+n.hitRadius}function ro(t,e){const{x:i,y:s,base:n,width:o,height:a}=t.getProps(["x","y","base","width","height"],e);let r,l,h,c,d;return t.horizontal?(d=a/2,r=Math.min(i,n),l=Math.max(i,n),h=s-d,c=s+d):(d=o/2,r=i-d,l=i+d,h=Math.min(s,n),c=Math.max(s,n)),{left:r,top:h,right:l,bottom:c}}function lo(t,e,i,s){return t?0:Z(e,i,s)}function ho(t){const e=ro(t),i=e.right-e.left,s=e.bottom-e.top,n=function(t,e,i){const s=t.options.borderWidth,n=t.borderSkipped,o=Mi(s);return{t:lo(n.top,o.top,0,i),r:lo(n.right,o.right,0,e),b:lo(n.bottom,o.bottom,0,i),l:lo(n.left,o.left,0,e)}}(t,i/2,s/2),a=function(t,e,i){const{enableBorderRadius:s}=t.getProps(["enableBorderRadius"]),n=t.options.borderRadius,a=wi(n),r=Math.min(e,i),l=t.borderSkipped,h=s||o(n);return{topLeft:lo(!h||l.top||l.left,a.topLeft,0,r),topRight:lo(!h||l.top||l.right,a.topRight,0,r),bottomLeft:lo(!h||l.bottom||l.left,a.bottomLeft,0,r),bottomRight:lo(!h||l.bottom||l.right,a.bottomRight,0,r)}}(t,i/2,s/2);return{outer:{x:e.left,y:e.top,w:i,h:s,radius:a},inner:{x:e.left+n.l,y:e.top+n.t,w:i-n.l-n.r,h:s-n.t-n.b,radius:{topLeft:Math.max(0,a.topLeft-Math.max(n.t,n.l)),topRight:Math.max(0,a.topRight-Math.max(n.t,n.r)),bottomLeft:Math.max(0,a.bottomLeft-Math.max(n.b,n.l)),bottomRight:Math.max(0,a.bottomRight-Math.max(n.b,n.r))}}}}function co(t,e,i,s){const n=null===e,o=null===i,a=t&&!(n&&o)&&ro(t,s);return a&&(n||tt(e,a.left,a.right))&&(o||tt(i,a.top,a.bottom))}function uo(t,e){t.rect(e.x,e.y,e.w,e.h)}function fo(t,e,i={}){const s=t.x!==i.x?-e:0,n=t.y!==i.y?-e:0,o=(t.x+t.w!==i.x+i.w?e:0)-s,a=(t.y+t.h!==i.y+i.h?e:0)-n;return{x:t.x+s,y:t.y+n,w:t.w+o,h:t.h+a,radius:t.radius}}var go=Object.freeze({__proto__:null,ArcElement:class extends $s{static id="arc";static defaults={borderAlign:"center",borderColor:"#fff",borderDash:[],borderDashOffset:0,borderJoinStyle:void 0,borderRadius:0,borderWidth:2,offset:0,spacing:0,angle:void 0,circular:!0,selfJoin:!1};static defaultRoutes={backgroundColor:"backgroundColor"};static descriptors={_scriptable:!0,_indexable:t=>"borderDash"!==t};circumference;endAngle;fullCircles;innerRadius;outerRadius;pixelMargin;startAngle;constructor(t){super(),this.options=void 0,this.circumference=void 0,this.startAngle=void 0,this.endAngle=void 0,this.innerRadius=void 0,this.outerRadius=void 0,this.pixelMargin=0,this.fullCircles=0,t&&Object.assign(this,t)}inRange(t,e,i){const s=this.getProps(["x","y"],i),{angle:n,distance:o}=X(s,{x:t,y:e}),{startAngle:a,endAngle:r,innerRadius:h,outerRadius:c,circumference:d}=this.getProps(["startAngle","endAngle","innerRadius","outerRadius","circumference"],i),u=(this.options.spacing+this.options.borderWidth)/2,f=l(d,r-a),g=J(n,a,r)&&a!==r,p=f>=O||g,m=tt(o,h+u,c+u);return p&&m}getCenterPoint(t){const{x:e,y:i,startAngle:s,endAngle:n,innerRadius:o,outerRadius:a}=this.getProps(["x","y","startAngle","endAngle","innerRadius","outerRadius"],t),{offset:r,spacing:l}=this.options,h=(s+n)/2,c=(o+a+l+r)/2;return{x:e+Math.cos(h)*c,y:i+Math.sin(h)*c}}tooltipPosition(t){return this.getCenterPoint(t)}draw(t){const{options:e,circumference:i}=this,s=(e.offset||0)/4,n=(e.spacing||0)/2,o=e.circular;if(this.pixelMargin="inner"===e.borderAlign?.33:0,this.fullCircles=i>O?Math.floor(i/O):0,0===i||this.innerRadius<0||this.outerRadius<0)return;t.save();const a=(this.startAngle+this.endAngle)/2;t.translate(Math.cos(a)*s,Math.sin(a)*s);const r=s*(1-Math.sin(Math.min(C,i||0)));t.fillStyle=e.backgroundColor,t.strokeStyle=e.borderColor,function(t,e,i,s,n){const{fullCircles:o,startAngle:a,circumference:r}=e;let l=e.endAngle;if(o){Kn(t,e,i,s,l,n);for(let e=0;e<o;++e)t.fill();isNaN(r)||(l=a+(r%O||O))}Kn(t,e,i,s,l,n),t.fill()}(t,this,r,n,o),Gn(t,this,r,n,o),t.restore()}},BarElement:class extends $s{static id="bar";static defaults={borderSkipped:"start",borderWidth:0,borderRadius:0,inflateAmount:"auto",pointStyle:void 0};static defaultRoutes={backgroundColor:"backgroundColor",borderColor:"borderColor"};constructor(t){super(),this.options=void 0,this.horizontal=void 0,this.base=void 0,this.width=void 0,this.height=void 0,this.inflateAmount=void 0,t&&Object.assign(this,t)}draw(t){const{inflateAmount:e,options:{borderColor:i,backgroundColor:s}}=this,{inner:n,outer:o}=ho(this),a=(r=o.radius).topLeft||r.topRight||r.bottomLeft||r.bottomRight?He:uo;var r;t.save(),o.w===n.w&&o.h===n.h||(t.beginPath(),a(t,fo(o,e,n)),t.clip(),a(t,fo(n,-e,o)),t.fillStyle=i,t.fill("evenodd")),t.beginPath(),a(t,fo(n,e)),t.fillStyle=s,t.fill(),t.restore()}inRange(t,e,i){return co(this,t,e,i)}inXRange(t,e){return co(this,t,null,e)}inYRange(t,e){return co(this,null,t,e)}getCenterPoint(t){const{x:e,y:i,base:s,horizontal:n}=this.getProps(["x","y","base","horizontal"],t);return{x:n?(e+s)/2:e,y:n?i:(i+s)/2}}getRange(t){return"x"===t?this.width/2:this.height/2}},LineElement:oo,PointElement:class extends $s{static id="point";parsed;skip;stop;static defaults={borderWidth:1,hitRadius:1,hoverBorderWidth:1,hoverRadius:4,pointStyle:"circle",radius:3,rotation:0};static defaultRoutes={backgroundColor:"backgroundColor",borderColor:"borderColor"};constructor(t){super(),this.options=void 0,this.parsed=void 0,this.skip=void 0,this.stop=void 0,t&&Object.assign(this,t)}inRange(t,e,i){const s=this.options,{x:n,y:o}=this.getProps(["x","y"],i);return Math.pow(t-n,2)+Math.pow(e-o,2)<Math.pow(s.hitRadius+s.radius,2)}inXRange(t,e){return ao(this,t,"x",e)}inYRange(t,e){return ao(this,t,"y",e)}getCenterPoint(t){const{x:e,y:i}=this.getProps(["x","y"],t);return{x:e,y:i}}size(t){let e=(t=t||this.options||{}).radius||0;e=Math.max(e,e&&t.hoverRadius||0);return 2*(e+(e&&t.borderWidth||0))}draw(t,e){const i=this.options;this.skip||i.radius<.1||!Re(this,e,this.size(i)/2)||(t.strokeStyle=i.borderColor,t.lineWidth=i.borderWidth,t.fillStyle=i.backgroundColor,Le(t,i,this.x,this.y))}getRange(){const t=this.options||{};return t.radius+t.hitRadius}}});function po(t,e,i,s){const n=t.indexOf(e);if(-1===n)return((t,e,i,s)=>("string"==typeof e?(i=t.push(e)-1,s.unshift({index:i,label:e})):isNaN(e)&&(i=null),i))(t,e,i,s);return n!==t.lastIndexOf(e)?i:n}function mo(t){const e=this.getLabels();return t>=0&&t<e.length?e[t]:t}function xo(t,e,{horizontal:i,minRotation:s}){const n=$(s),o=(i?Math.sin(n):Math.cos(n))||.001,a=.75*e*(""+t).length;return Math.min(e/o,a)}class bo extends tn{constructor(t){super(t),this.start=void 0,this.end=void 0,this._startValue=void 0,this._endValue=void 0,this._valueRange=0}parse(t,e){return s(t)||("number"==typeof t||t instanceof Number)&&!isFinite(+t)?null:+t}handleTickRangeOptions(){const{beginAtZero:t}=this.options,{minDefined:e,maxDefined:i}=this.getUserBounds();let{min:s,max:n}=this;const o=t=>s=e?s:t,a=t=>n=i?n:t;if(t){const t=F(s),e=F(n);t<0&&e<0?a(0):t>0&&e>0&&o(0)}if(s===n){let e=0===n?1:Math.abs(.05*n);a(n+e),t||o(s-e)}this.min=s,this.max=n}getTickLimit(){const t=this.options.ticks;let e,{maxTicksLimit:i,stepSize:s}=t;return s?(e=Math.ceil(this.max/s)-Math.floor(this.min/s)+1,e>1e3&&(console.warn(`scales.${this.id}.ticks.stepSize: ${s} would result generating up to ${e} ticks. Limiting to 1000.`),e=1e3)):(e=this.computeTickLimit(),i=i||11),i&&(e=Math.min(i,e)),e}computeTickLimit(){return Number.POSITIVE_INFINITY}buildTicks(){const t=this.options,e=t.ticks;let i=this.getTickLimit();i=Math.max(2,i);const n=function(t,e){const i=[],{bounds:n,step:o,min:a,max:r,precision:l,count:h,maxTicks:c,maxDigits:d,includeBounds:u}=t,f=o||1,g=c-1,{min:p,max:m}=e,x=!s(a),b=!s(r),_=!s(h),y=(m-p)/(d+1);let v,M,w,k,S=B((m-p)/g/f)*f;if(S<1e-14&&!x&&!b)return[{value:p},{value:m}];k=Math.ceil(m/S)-Math.floor(p/S),k>g&&(S=B(k*S/g/f)*f),s(l)||(v=Math.pow(10,l),S=Math.ceil(S*v)/v),"ticks"===n?(M=Math.floor(p/S)*S,w=Math.ceil(m/S)*S):(M=p,w=m),x&&b&&o&&H((r-a)/o,S/1e3)?(k=Math.round(Math.min((r-a)/S,c)),S=(r-a)/k,M=a,w=r):_?(M=x?a:M,w=b?r:w,k=h-1,S=(w-M)/k):(k=(w-M)/S,k=V(k,Math.round(k),S/1e3)?Math.round(k):Math.ceil(k));const P=Math.max(U(S),U(M));v=Math.pow(10,s(l)?P:l),M=Math.round(M*v)/v,w=Math.round(w*v)/v;let D=0;for(x&&(u&&M!==a?(i.push({value:a}),M<a&&D++,V(Math.round((M+D*S)*v)/v,a,xo(a,y,t))&&D++):M<a&&D++);D<k;++D){const t=Math.round((M+D*S)*v)/v;if(b&&t>r)break;i.push({value:t})}return b&&u&&w!==r?i.length&&V(i[i.length-1].value,r,xo(r,y,t))?i[i.length-1].value=r:i.push({value:r}):b&&w!==r||i.push({value:w}),i}({maxTicks:i,bounds:t.bounds,min:t.min,max:t.max,precision:e.precision,step:e.stepSize,count:e.count,maxDigits:this._maxDigits(),horizontal:this.isHorizontal(),minRotation:e.minRotation||0,includeBounds:!1!==e.includeBounds},this._range||this);return"ticks"===t.bounds&&j(n,this,"value"),t.reverse?(n.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),n}configure(){const t=this.ticks;let e=this.min,i=this.max;if(super.configure(),this.options.offset&&t.length){const s=(i-e)/Math.max(t.length-1,1)/2;e-=s,i+=s}this._startValue=e,this._endValue=i,this._valueRange=i-e}getLabelForValue(t){return ne(t,this.chart.options.locale,this.options.ticks.format)}}class _o extends bo{static id="linear";static defaults={ticks:{callback:ae.formatters.numeric}};determineDataLimits(){const{min:t,max:e}=this.getMinMax(!0);this.min=a(t)?t:0,this.max=a(e)?e:1,this.handleTickRangeOptions()}computeTickLimit(){const t=this.isHorizontal(),e=t?this.width:this.height,i=$(this.options.ticks.minRotation),s=(t?Math.sin(i):Math.cos(i))||.001,n=this._resolveTickFontOptions(0);return Math.ceil(e/Math.min(40,n.lineHeight/s))}getPixelForValue(t){return null===t?NaN:this.getPixelForDecimal((t-this._startValue)/this._valueRange)}getValueForPixel(t){return this._startValue+this.getDecimalForPixel(t)*this._valueRange}}const yo=t=>Math.floor(z(t)),vo=(t,e)=>Math.pow(10,yo(t)+e);function Mo(t){return 1===t/Math.pow(10,yo(t))}function wo(t,e,i){const s=Math.pow(10,i),n=Math.floor(t/s);return Math.ceil(e/s)-n}function ko(t,{min:e,max:i}){e=r(t.min,e);const s=[],n=yo(e);let o=function(t,e){let i=yo(e-t);for(;wo(t,e,i)>10;)i++;for(;wo(t,e,i)<10;)i--;return Math.min(i,yo(t))}(e,i),a=o<0?Math.pow(10,Math.abs(o)):1;const l=Math.pow(10,o),h=n>o?Math.pow(10,n):0,c=Math.round((e-h)*a)/a,d=Math.floor((e-h)/l/10)*l*10;let u=Math.floor((c-d)/Math.pow(10,o)),f=r(t.min,Math.round((h+d+u*Math.pow(10,o))*a)/a);for(;f<i;)s.push({value:f,major:Mo(f),significand:u}),u>=10?u=u<15?15:20:u++,u>=20&&(o++,u=2,a=o>=0?1:a),f=Math.round((h+d+u*Math.pow(10,o))*a)/a;const g=r(t.max,f);return s.push({value:g,major:Mo(g),significand:u}),s}class So extends tn{static id="logarithmic";static defaults={ticks:{callback:ae.formatters.logarithmic,major:{enabled:!0}}};constructor(t){super(t),this.start=void 0,this.end=void 0,this._startValue=void 0,this._valueRange=0}parse(t,e){const i=bo.prototype.parse.apply(this,[t,e]);if(0!==i)return a(i)&&i>0?i:null;this._zero=!0}determineDataLimits(){const{min:t,max:e}=this.getMinMax(!0);this.min=a(t)?Math.max(0,t):null,this.max=a(e)?Math.max(0,e):null,this.options.beginAtZero&&(this._zero=!0),this._zero&&this.min!==this._suggestedMin&&!a(this._userMin)&&(this.min=t===vo(this.min,0)?vo(this.min,-1):vo(this.min,0)),this.handleTickRangeOptions()}handleTickRangeOptions(){const{minDefined:t,maxDefined:e}=this.getUserBounds();let i=this.min,s=this.max;const n=e=>i=t?i:e,o=t=>s=e?s:t;i===s&&(i<=0?(n(1),o(10)):(n(vo(i,-1)),o(vo(s,1)))),i<=0&&n(vo(s,-1)),s<=0&&o(vo(i,1)),this.min=i,this.max=s}buildTicks(){const t=this.options,e=ko({min:this._userMin,max:this._userMax},this);return"ticks"===t.bounds&&j(e,this,"value"),t.reverse?(e.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),e}getLabelForValue(t){return void 0===t?"0":ne(t,this.chart.options.locale,this.options.ticks.format)}configure(){const t=this.min;super.configure(),this._startValue=z(t),this._valueRange=z(this.max)-z(t)}getPixelForValue(t){return void 0!==t&&0!==t||(t=this.min),null===t||isNaN(t)?NaN:this.getPixelForDecimal(t===this.min?0:(z(t)-this._startValue)/this._valueRange)}getValueForPixel(t){const e=this.getDecimalForPixel(t);return Math.pow(10,this._startValue+e*this._valueRange)}}function Po(t){const e=t.ticks;if(e.display&&t.display){const t=ki(e.backdropPadding);return l(e.font&&e.font.size,ue.font.size)+t.height}return 0}function Do(t,e,i,s,n){return t===s||t===n?{start:e-i/2,end:e+i/2}:t<s||t>n?{start:e-i,end:e}:{start:e,end:e+i}}function Co(t){const e={l:t.left+t._padding.left,r:t.right-t._padding.right,t:t.top+t._padding.top,b:t.bottom-t._padding.bottom},i=Object.assign({},e),s=[],o=[],a=t._pointLabels.length,r=t.options.pointLabels,l=r.centerPointLabels?C/a:0;for(let u=0;u<a;u++){const a=r.setContext(t.getPointLabelContext(u));o[u]=a.padding;const f=t.getPointPosition(u,t.drawingArea+o[u],l),g=Si(a.font),p=(h=t.ctx,c=g,d=n(d=t._pointLabels[u])?d:[d],{w:Oe(h,c.string,d),h:d.length*c.lineHeight});s[u]=p;const m=G(t.getIndexAngle(u)+l),x=Math.round(Y(m));Oo(i,e,m,Do(x,f.x,p.w,0,180),Do(x,f.y,p.h,90,270))}var h,c,d;t.setCenterPoint(e.l-i.l,i.r-e.r,e.t-i.t,i.b-e.b),t._pointLabelItems=function(t,e,i){const s=[],n=t._pointLabels.length,o=t.options,{centerPointLabels:a,display:r}=o.pointLabels,l={extra:Po(o)/2,additionalAngle:a?C/n:0};let h;for(let o=0;o<n;o++){l.padding=i[o],l.size=e[o];const n=Ao(t,o,l);s.push(n),"auto"===r&&(n.visible=To(n,h),n.visible&&(h=n))}return s}(t,s,o)}function Oo(t,e,i,s,n){const o=Math.abs(Math.sin(i)),a=Math.abs(Math.cos(i));let r=0,l=0;s.start<e.l?(r=(e.l-s.start)/o,t.l=Math.min(t.l,e.l-r)):s.end>e.r&&(r=(s.end-e.r)/o,t.r=Math.max(t.r,e.r+r)),n.start<e.t?(l=(e.t-n.start)/a,t.t=Math.min(t.t,e.t-l)):n.end>e.b&&(l=(n.end-e.b)/a,t.b=Math.max(t.b,e.b+l))}function Ao(t,e,i){const s=t.drawingArea,{extra:n,additionalAngle:o,padding:a,size:r}=i,l=t.getPointPosition(e,s+n+a,o),h=Math.round(Y(G(l.angle+E))),c=function(t,e,i){90===i||270===i?t-=e/2:(i>270||i<90)&&(t-=e);return t}(l.y,r.h,h),d=function(t){if(0===t||180===t)return"center";if(t<180)return"left";return"right"}(h),u=function(t,e,i){"right"===i?t-=e:"center"===i&&(t-=e/2);return t}(l.x,r.w,d);return{visible:!0,x:l.x,y:c,textAlign:d,left:u,top:c,right:u+r.w,bottom:c+r.h}}function To(t,e){if(!e)return!0;const{left:i,top:s,right:n,bottom:o}=t;return!(Re({x:i,y:s},e)||Re({x:i,y:o},e)||Re({x:n,y:s},e)||Re({x:n,y:o},e))}function Lo(t,e,i){const{left:n,top:o,right:a,bottom:r}=i,{backdropColor:l}=e;if(!s(l)){const i=wi(e.borderRadius),s=ki(e.backdropPadding);t.fillStyle=l;const h=n-s.left,c=o-s.top,d=a-n+s.width,u=r-o+s.height;Object.values(i).some((t=>0!==t))?(t.beginPath(),He(t,{x:h,y:c,w:d,h:u,radius:i}),t.fill()):t.fillRect(h,c,d,u)}}function Eo(t,e,i,s){const{ctx:n}=t;if(i)n.arc(t.xCenter,t.yCenter,e,0,O);else{let i=t.getPointPosition(0,e);n.moveTo(i.x,i.y);for(let o=1;o<s;o++)i=t.getPointPosition(o,e),n.lineTo(i.x,i.y)}}class Ro extends bo{static id="radialLinear";static defaults={display:!0,animate:!0,position:"chartArea",angleLines:{display:!0,lineWidth:1,borderDash:[],borderDashOffset:0},grid:{circular:!1},startAngle:0,ticks:{showLabelBackdrop:!0,callback:ae.formatters.numeric},pointLabels:{backdropColor:void 0,backdropPadding:2,display:!0,font:{size:10},callback:t=>t,padding:5,centerPointLabels:!1}};static defaultRoutes={"angleLines.color":"borderColor","pointLabels.color":"color","ticks.color":"color"};static descriptors={angleLines:{_fallback:"grid"}};constructor(t){super(t),this.xCenter=void 0,this.yCenter=void 0,this.drawingArea=void 0,this._pointLabels=[],this._pointLabelItems=[]}setDimensions(){const t=this._padding=ki(Po(this.options)/2),e=this.width=this.maxWidth-t.width,i=this.height=this.maxHeight-t.height;this.xCenter=Math.floor(this.left+e/2+t.left),this.yCenter=Math.floor(this.top+i/2+t.top),this.drawingArea=Math.floor(Math.min(e,i)/2)}determineDataLimits(){const{min:t,max:e}=this.getMinMax(!1);this.min=a(t)&&!isNaN(t)?t:0,this.max=a(e)&&!isNaN(e)?e:0,this.handleTickRangeOptions()}computeTickLimit(){return Math.ceil(this.drawingArea/Po(this.options))}generateTickLabels(t){bo.prototype.generateTickLabels.call(this,t),this._pointLabels=this.getLabels().map(((t,e)=>{const i=d(this.options.pointLabels.callback,[t,e],this);return i||0===i?i:""})).filter(((t,e)=>this.chart.getDataVisibility(e)))}fit(){const t=this.options;t.display&&t.pointLabels.display?Co(this):this.setCenterPoint(0,0,0,0)}setCenterPoint(t,e,i,s){this.xCenter+=Math.floor((t-e)/2),this.yCenter+=Math.floor((i-s)/2),this.drawingArea-=Math.min(this.drawingArea/2,Math.max(t,e,i,s))}getIndexAngle(t){return G(t*(O/(this._pointLabels.length||1))+$(this.options.startAngle||0))}getDistanceFromCenterForValue(t){if(s(t))return NaN;const e=this.drawingArea/(this.max-this.min);return this.options.reverse?(this.max-t)*e:(t-this.min)*e}getValueForDistanceFromCenter(t){if(s(t))return NaN;const e=t/(this.drawingArea/(this.max-this.min));return this.options.reverse?this.max-e:this.min+e}getPointLabelContext(t){const e=this._pointLabels||[];if(t>=0&&t<e.length){const i=e[t];return function(t,e,i){return Ci(t,{label:i,index:e,type:"pointLabel"})}(this.getContext(),t,i)}}getPointPosition(t,e,i=0){const s=this.getIndexAngle(t)-E+i;return{x:Math.cos(s)*e+this.xCenter,y:Math.sin(s)*e+this.yCenter,angle:s}}getPointPositionForValue(t,e){return this.getPointPosition(t,this.getDistanceFromCenterForValue(e))}getBasePosition(t){return this.getPointPositionForValue(t||0,this.getBaseValue())}getPointLabelPosition(t){const{left:e,top:i,right:s,bottom:n}=this._pointLabelItems[t];return{left:e,top:i,right:s,bottom:n}}drawBackground(){const{backgroundColor:t,grid:{circular:e}}=this.options;if(t){const i=this.ctx;i.save(),i.beginPath(),Eo(this,this.getDistanceFromCenterForValue(this._endValue),e,this._pointLabels.length),i.closePath(),i.fillStyle=t,i.fill(),i.restore()}}drawGrid(){const t=this.ctx,e=this.options,{angleLines:i,grid:s,border:n}=e,o=this._pointLabels.length;let a,r,l;if(e.pointLabels.display&&function(t,e){const{ctx:i,options:{pointLabels:s}}=t;for(let n=e-1;n>=0;n--){const e=t._pointLabelItems[n];if(!e.visible)continue;const o=s.setContext(t.getPointLabelContext(n));Lo(i,o,e);const a=Si(o.font),{x:r,y:l,textAlign:h}=e;Ne(i,t._pointLabels[n],r,l+a.lineHeight/2,a,{color:o.color,textAlign:h,textBaseline:"middle"})}}(this,o),s.display&&this.ticks.forEach(((t,e)=>{if(0!==e||0===e&&this.min<0){r=this.getDistanceFromCenterForValue(t.value);const i=this.getContext(e),a=s.setContext(i),l=n.setContext(i);!function(t,e,i,s,n){const o=t.ctx,a=e.circular,{color:r,lineWidth:l}=e;!a&&!s||!r||!l||i<0||(o.save(),o.strokeStyle=r,o.lineWidth=l,o.setLineDash(n.dash||[]),o.lineDashOffset=n.dashOffset,o.beginPath(),Eo(t,i,a,s),o.closePath(),o.stroke(),o.restore())}(this,a,r,o,l)}})),i.display){for(t.save(),a=o-1;a>=0;a--){const s=i.setContext(this.getPointLabelContext(a)),{color:n,lineWidth:o}=s;o&&n&&(t.lineWidth=o,t.strokeStyle=n,t.setLineDash(s.borderDash),t.lineDashOffset=s.borderDashOffset,r=this.getDistanceFromCenterForValue(e.reverse?this.min:this.max),l=this.getPointPosition(a,r),t.beginPath(),t.moveTo(this.xCenter,this.yCenter),t.lineTo(l.x,l.y),t.stroke())}t.restore()}}drawBorder(){}drawLabels(){const t=this.ctx,e=this.options,i=e.ticks;if(!i.display)return;const s=this.getIndexAngle(0);let n,o;t.save(),t.translate(this.xCenter,this.yCenter),t.rotate(s),t.textAlign="center",t.textBaseline="middle",this.ticks.forEach(((s,a)=>{if(0===a&&this.min>=0&&!e.reverse)return;const r=i.setContext(this.getContext(a)),l=Si(r.font);if(n=this.getDistanceFromCenterForValue(this.ticks[a].value),r.showLabelBackdrop){t.font=l.string,o=t.measureText(s.label).width,t.fillStyle=r.backdropColor;const e=ki(r.backdropPadding);t.fillRect(-o/2-e.left,-n-l.size/2-e.top,o+e.width,l.size+e.height)}Ne(t,s.label,0,-n,l,{color:r.color,strokeColor:r.textStrokeColor,strokeWidth:r.textStrokeWidth})})),t.restore()}drawTitle(){}}const Io={millisecond:{common:!0,size:1,steps:1e3},second:{common:!0,size:1e3,steps:60},minute:{common:!0,size:6e4,steps:60},hour:{common:!0,size:36e5,steps:24},day:{common:!0,size:864e5,steps:30},week:{common:!1,size:6048e5,steps:4},month:{common:!0,size:2628e6,steps:12},quarter:{common:!1,size:7884e6,steps:4},year:{common:!0,size:3154e7}},zo=Object.keys(Io);function Fo(t,e){return t-e}function Vo(t,e){if(s(e))return null;const i=t._adapter,{parser:n,round:o,isoWeekday:r}=t._parseOpts;let l=e;return"function"==typeof n&&(l=n(l)),a(l)||(l="string"==typeof n?i.parse(l,n):i.parse(l)),null===l?null:(o&&(l="week"!==o||!N(r)&&!0!==r?i.startOf(l,o):i.startOf(l,"isoWeek",r)),+l)}function Bo(t,e,i,s){const n=zo.length;for(let o=zo.indexOf(t);o<n-1;++o){const t=Io[zo[o]],n=t.steps?t.steps:Number.MAX_SAFE_INTEGER;if(t.common&&Math.ceil((i-e)/(n*t.size))<=s)return zo[o]}return zo[n-1]}function Wo(t,e,i){if(i){if(i.length){const{lo:s,hi:n}=et(i,e);t[i[s]>=e?i[s]:i[n]]=!0}}else t[e]=!0}function No(t,e,i){const s=[],n={},o=e.length;let a,r;for(a=0;a<o;++a)r=e[a],n[r]=a,s.push({value:r,major:!1});return 0!==o&&i?function(t,e,i,s){const n=t._adapter,o=+n.startOf(e[0].value,s),a=e[e.length-1].value;let r,l;for(r=o;r<=a;r=+n.add(r,1,s))l=i[r],l>=0&&(e[l].major=!0);return e}(t,s,n,i):s}class Ho extends tn{static id="time";static defaults={bounds:"data",adapters:{},time:{parser:!1,unit:!1,round:!1,isoWeekday:!1,minUnit:"millisecond",displayFormats:{}},ticks:{source:"auto",callback:!1,major:{enabled:!1}}};constructor(t){super(t),this._cache={data:[],labels:[],all:[]},this._unit="day",this._majorUnit=void 0,this._offsets={},this._normalized=!1,this._parseOpts=void 0}init(t,e={}){const i=t.time||(t.time={}),s=this._adapter=new In._date(t.adapters.date);s.init(e),b(i.displayFormats,s.formats()),this._parseOpts={parser:i.parser,round:i.round,isoWeekday:i.isoWeekday},super.init(t),this._normalized=e.normalized}parse(t,e){return void 0===t?null:Vo(this,t)}beforeLayout(){super.beforeLayout(),this._cache={data:[],labels:[],all:[]}}determineDataLimits(){const t=this.options,e=this._adapter,i=t.time.unit||"day";let{min:s,max:n,minDefined:o,maxDefined:r}=this.getUserBounds();function l(t){o||isNaN(t.min)||(s=Math.min(s,t.min)),r||isNaN(t.max)||(n=Math.max(n,t.max))}o&&r||(l(this._getLabelBounds()),"ticks"===t.bounds&&"labels"===t.ticks.source||l(this.getMinMax(!1))),s=a(s)&&!isNaN(s)?s:+e.startOf(Date.now(),i),n=a(n)&&!isNaN(n)?n:+e.endOf(Date.now(),i)+1,this.min=Math.min(s,n-1),this.max=Math.max(s+1,n)}_getLabelBounds(){const t=this.getLabelTimestamps();let e=Number.POSITIVE_INFINITY,i=Number.NEGATIVE_INFINITY;return t.length&&(e=t[0],i=t[t.length-1]),{min:e,max:i}}buildTicks(){const t=this.options,e=t.time,i=t.ticks,s="labels"===i.source?this.getLabelTimestamps():this._generate();"ticks"===t.bounds&&s.length&&(this.min=this._userMin||s[0],this.max=this._userMax||s[s.length-1]);const n=this.min,o=nt(s,n,this.max);return this._unit=e.unit||(i.autoSkip?Bo(e.minUnit,this.min,this.max,this._getLabelCapacity(n)):function(t,e,i,s,n){for(let o=zo.length-1;o>=zo.indexOf(i);o--){const i=zo[o];if(Io[i].common&&t._adapter.diff(n,s,i)>=e-1)return i}return zo[i?zo.indexOf(i):0]}(this,o.length,e.minUnit,this.min,this.max)),this._majorUnit=i.major.enabled&&"year"!==this._unit?function(t){for(let e=zo.indexOf(t)+1,i=zo.length;e<i;++e)if(Io[zo[e]].common)return zo[e]}(this._unit):void 0,this.initOffsets(s),t.reverse&&o.reverse(),No(this,o,this._majorUnit)}afterAutoSkip(){this.options.offsetAfterAutoskip&&this.initOffsets(this.ticks.map((t=>+t.value)))}initOffsets(t=[]){let e,i,s=0,n=0;this.options.offset&&t.length&&(e=this.getDecimalForValue(t[0]),s=1===t.length?1-e:(this.getDecimalForValue(t[1])-e)/2,i=this.getDecimalForValue(t[t.length-1]),n=1===t.length?i:(i-this.getDecimalForValue(t[t.length-2]))/2);const o=t.length<3?.5:.25;s=Z(s,0,o),n=Z(n,0,o),this._offsets={start:s,end:n,factor:1/(s+1+n)}}_generate(){const t=this._adapter,e=this.min,i=this.max,s=this.options,n=s.time,o=n.unit||Bo(n.minUnit,e,i,this._getLabelCapacity(e)),a=l(s.ticks.stepSize,1),r="week"===o&&n.isoWeekday,h=N(r)||!0===r,c={};let d,u,f=e;if(h&&(f=+t.startOf(f,"isoWeek",r)),f=+t.startOf(f,h?"day":o),t.diff(i,e,o)>1e5*a)throw new Error(e+" and "+i+" are too far apart with stepSize of "+a+" "+o);const g="data"===s.ticks.source&&this.getDataTimestamps();for(d=f,u=0;d<i;d=+t.add(d,a,o),u++)Wo(c,d,g);return d!==i&&"ticks"!==s.bounds&&1!==u||Wo(c,d,g),Object.keys(c).sort(Fo).map((t=>+t))}getLabelForValue(t){const e=this._adapter,i=this.options.time;return i.tooltipFormat?e.format(t,i.tooltipFormat):e.format(t,i.displayFormats.datetime)}format(t,e){const i=this.options.time.displayFormats,s=this._unit,n=e||i[s];return this._adapter.format(t,n)}_tickFormatFunction(t,e,i,s){const n=this.options,o=n.ticks.callback;if(o)return d(o,[t,e,i],this);const a=n.time.displayFormats,r=this._unit,l=this._majorUnit,h=r&&a[r],c=l&&a[l],u=i[e],f=l&&c&&u&&u.major;return this._adapter.format(t,s||(f?c:h))}generateTickLabels(t){let e,i,s;for(e=0,i=t.length;e<i;++e)s=t[e],s.label=this._tickFormatFunction(s.value,e,t)}getDecimalForValue(t){return null===t?NaN:(t-this.min)/(this.max-this.min)}getPixelForValue(t){const e=this._offsets,i=this.getDecimalForValue(t);return this.getPixelForDecimal((e.start+i)*e.factor)}getValueForPixel(t){const e=this._offsets,i=this.getDecimalForPixel(t)/e.factor-e.end;return this.min+i*(this.max-this.min)}_getLabelSize(t){const e=this.options.ticks,i=this.ctx.measureText(t).width,s=$(this.isHorizontal()?e.maxRotation:e.minRotation),n=Math.cos(s),o=Math.sin(s),a=this._resolveTickFontOptions(0).size;return{w:i*n+a*o,h:i*o+a*n}}_getLabelCapacity(t){const e=this.options.time,i=e.displayFormats,s=i[e.unit]||i.millisecond,n=this._tickFormatFunction(t,0,No(this,[t],this._majorUnit),s),o=this._getLabelSize(n),a=Math.floor(this.isHorizontal()?this.width/o.w:this.height/o.h)-1;return a>0?a:1}getDataTimestamps(){let t,e,i=this._cache.data||[];if(i.length)return i;const s=this.getMatchingVisibleMetas();if(this._normalized&&s.length)return this._cache.data=s[0].controller.getAllParsedValues(this);for(t=0,e=s.length;t<e;++t)i=i.concat(s[t].controller.getAllParsedValues(this));return this._cache.data=this.normalize(i)}getLabelTimestamps(){const t=this._cache.labels||[];let e,i;if(t.length)return t;const s=this.getLabels();for(e=0,i=s.length;e<i;++e)t.push(Vo(this,s[e]));return this._cache.labels=this._normalized?t:this.normalize(t)}normalize(t){return lt(t.sort(Fo))}}function jo(t,e,i){let s,n,o,a,r=0,l=t.length-1;i?(e>=t[r].pos&&e<=t[l].pos&&({lo:r,hi:l}=it(t,"pos",e)),({pos:s,time:o}=t[r]),({pos:n,time:a}=t[l])):(e>=t[r].time&&e<=t[l].time&&({lo:r,hi:l}=it(t,"time",e)),({time:s,pos:o}=t[r]),({time:n,pos:a}=t[l]));const h=n-s;return h?o+(a-o)*(e-s)/h:o}var $o=Object.freeze({__proto__:null,CategoryScale:class extends tn{static id="category";static defaults={ticks:{callback:mo}};constructor(t){super(t),this._startValue=void 0,this._valueRange=0,this._addedLabels=[]}init(t){const e=this._addedLabels;if(e.length){const t=this.getLabels();for(const{index:i,label:s}of e)t[i]===s&&t.splice(i,1);this._addedLabels=[]}super.init(t)}parse(t,e){if(s(t))return null;const i=this.getLabels();return((t,e)=>null===t?null:Z(Math.round(t),0,e))(e=isFinite(e)&&i[e]===t?e:po(i,t,l(e,t),this._addedLabels),i.length-1)}determineDataLimits(){const{minDefined:t,maxDefined:e}=this.getUserBounds();let{min:i,max:s}=this.getMinMax(!0);"ticks"===this.options.bounds&&(t||(i=0),e||(s=this.getLabels().length-1)),this.min=i,this.max=s}buildTicks(){const t=this.min,e=this.max,i=this.options.offset,s=[];let n=this.getLabels();n=0===t&&e===n.length-1?n:n.slice(t,e+1),this._valueRange=Math.max(n.length-(i?0:1),1),this._startValue=this.min-(i?.5:0);for(let i=t;i<=e;i++)s.push({value:i});return s}getLabelForValue(t){return mo.call(this,t)}configure(){super.configure(),this.isHorizontal()||(this._reversePixels=!this._reversePixels)}getPixelForValue(t){return"number"!=typeof t&&(t=this.parse(t)),null===t?NaN:this.getPixelForDecimal((t-this._startValue)/this._valueRange)}getPixelForTick(t){const e=this.ticks;return t<0||t>e.length-1?null:this.getPixelForValue(e[t].value)}getValueForPixel(t){return Math.round(this._startValue+this.getDecimalForPixel(t)*this._valueRange)}getBasePixel(){return this.bottom}},LinearScale:_o,LogarithmicScale:So,RadialLinearScale:Ro,TimeScale:Ho,TimeSeriesScale:class extends Ho{static id="timeseries";static defaults=Ho.defaults;constructor(t){super(t),this._table=[],this._minPos=void 0,this._tableRange=void 0}initOffsets(){const t=this._getTimestampsForTable(),e=this._table=this.buildLookupTable(t);this._minPos=jo(e,this.min),this._tableRange=jo(e,this.max)-this._minPos,super.initOffsets(t)}buildLookupTable(t){const{min:e,max:i}=this,s=[],n=[];let o,a,r,l,h;for(o=0,a=t.length;o<a;++o)l=t[o],l>=e&&l<=i&&s.push(l);if(s.length<2)return[{time:e,pos:0},{time:i,pos:1}];for(o=0,a=s.length;o<a;++o)h=s[o+1],r=s[o-1],l=s[o],Math.round((h+r)/2)!==l&&n.push({time:l,pos:o/(a-1)});return n}_generate(){const t=this.min,e=this.max;let i=super.getDataTimestamps();return i.includes(t)&&i.length||i.splice(0,0,t),i.includes(e)&&1!==i.length||i.push(e),i.sort(((t,e)=>t-e))}_getTimestampsForTable(){let t=this._cache.all||[];if(t.length)return t;const e=this.getDataTimestamps(),i=this.getLabelTimestamps();return t=e.length&&i.length?this.normalize(e.concat(i)):e.length?e:i,t=this._cache.all=t,t}getDecimalForValue(t){return(jo(this._table,t)-this._minPos)/this._tableRange}getValueForPixel(t){const e=this._offsets,i=this.getDecimalForPixel(t)/e.factor-e.end;return jo(this._table,i*this._tableRange+this._minPos,!0)}}});const Yo=["rgb(54, 162, 235)","rgb(255, 99, 132)","rgb(255, 159, 64)","rgb(255, 205, 86)","rgb(75, 192, 192)","rgb(153, 102, 255)","rgb(201, 203, 207)"],Uo=Yo.map((t=>t.replace("rgb(","rgba(").replace(")",", 0.5)")));function Xo(t){return Yo[t%Yo.length]}function qo(t){return Uo[t%Uo.length]}function Ko(t){let e=0;return(i,s)=>{const n=t.getDatasetMeta(s).controller;n instanceof $n?e=function(t,e){return t.backgroundColor=t.data.map((()=>Xo(e++))),e}(i,e):n instanceof Yn?e=function(t,e){return t.backgroundColor=t.data.map((()=>qo(e++))),e}(i,e):n&&(e=function(t,e){return t.borderColor=Xo(e),t.backgroundColor=qo(e),++e}(i,e))}}function Go(t){let e;for(e in t)if(t[e].borderColor||t[e].backgroundColor)return!0;return!1}var Jo={id:"colors",defaults:{enabled:!0,forceOverride:!1},beforeLayout(t,e,i){if(!i.enabled)return;const{data:{datasets:s},options:n}=t.config,{elements:o}=n,a=Go(s)||(r=n)&&(r.borderColor||r.backgroundColor)||o&&Go(o)||"rgba(0,0,0,0.1)"!==ue.borderColor||"rgba(0,0,0,0.1)"!==ue.backgroundColor;var r;if(!i.forceOverride&&a)return;const l=Ko(t);s.forEach(l)}};function Zo(t){if(t._decimated){const e=t._data;delete t._decimated,delete t._data,Object.defineProperty(t,"data",{configurable:!0,enumerable:!0,writable:!0,value:e})}}function Qo(t){t.data.datasets.forEach((t=>{Zo(t)}))}var ta={id:"decimation",defaults:{algorithm:"min-max",enabled:!1},beforeElementsUpdate:(t,e,i)=>{if(!i.enabled)return void Qo(t);const n=t.width;t.data.datasets.forEach(((e,o)=>{const{_data:a,indexAxis:r}=e,l=t.getDatasetMeta(o),h=a||e.data;if("y"===Pi([r,t.options.indexAxis]))return;if(!l.controller.supportsDecimation)return;const c=t.scales[l.xAxisID];if("linear"!==c.type&&"time"!==c.type)return;if(t.options.parsing)return;let{start:d,count:u}=function(t,e){const i=e.length;let s,n=0;const{iScale:o}=t,{min:a,max:r,minDefined:l,maxDefined:h}=o.getUserBounds();return l&&(n=Z(it(e,o.axis,a).lo,0,i-1)),s=h?Z(it(e,o.axis,r).hi+1,n,i)-n:i-n,{start:n,count:s}}(l,h);if(u<=(i.threshold||4*n))return void Zo(e);let f;switch(s(a)&&(e._data=h,delete e.data,Object.defineProperty(e,"data",{configurable:!0,enumerable:!0,get:function(){return this._decimated},set:function(t){this._data=t}})),i.algorithm){case"lttb":f=function(t,e,i,s,n){const o=n.samples||s;if(o>=i)return t.slice(e,e+i);const a=[],r=(i-2)/(o-2);let l=0;const h=e+i-1;let c,d,u,f,g,p=e;for(a[l++]=t[p],c=0;c<o-2;c++){let s,n=0,o=0;const h=Math.floor((c+1)*r)+1+e,m=Math.min(Math.floor((c+2)*r)+1,i)+e,x=m-h;for(s=h;s<m;s++)n+=t[s].x,o+=t[s].y;n/=x,o/=x;const b=Math.floor(c*r)+1+e,_=Math.min(Math.floor((c+1)*r)+1,i)+e,{x:y,y:v}=t[p];for(u=f=-1,s=b;s<_;s++)f=.5*Math.abs((y-n)*(t[s].y-v)-(y-t[s].x)*(o-v)),f>u&&(u=f,d=t[s],g=s);a[l++]=d,p=g}return a[l++]=t[h],a}(h,d,u,n,i);break;case"min-max":f=function(t,e,i,n){let o,a,r,l,h,c,d,u,f,g,p=0,m=0;const x=[],b=e+i-1,_=t[e].x,y=t[b].x-_;for(o=e;o<e+i;++o){a=t[o],r=(a.x-_)/y*n,l=a.y;const e=0|r;if(e===h)l<f?(f=l,c=o):l>g&&(g=l,d=o),p=(m*p+a.x)/++m;else{const i=o-1;if(!s(c)&&!s(d)){const e=Math.min(c,d),s=Math.max(c,d);e!==u&&e!==i&&x.push({...t[e],x:p}),s!==u&&s!==i&&x.push({...t[s],x:p})}o>0&&i!==u&&x.push(t[i]),x.push(a),h=e,m=0,f=g=l,c=d=u=o}}return x}(h,d,u,n);break;default:throw new Error(`Unsupported decimation algorithm '${i.algorithm}'`)}e._decimated=f}))},destroy(t){Qo(t)}};function ea(t,e,i,s){if(s)return;let n=e[t],o=i[t];return"angle"===t&&(n=G(n),o=G(o)),{property:t,start:n,end:o}}function ia(t,e,i){for(;e>t;e--){const t=i[e];if(!isNaN(t.x)&&!isNaN(t.y))break}return e}function sa(t,e,i,s){return t&&e?s(t[i],e[i]):t?t[i]:e?e[i]:0}function na(t,e){let i=[],s=!1;return n(t)?(s=!0,i=t):i=function(t,e){const{x:i=null,y:s=null}=t||{},n=e.points,o=[];return e.segments.forEach((({start:t,end:e})=>{e=ia(t,e,n);const a=n[t],r=n[e];null!==s?(o.push({x:a.x,y:s}),o.push({x:r.x,y:s})):null!==i&&(o.push({x:i,y:a.y}),o.push({x:i,y:r.y}))})),o}(t,e),i.length?new oo({points:i,options:{tension:0},_loop:s,_fullLoop:s}):null}function oa(t){return t&&!1!==t.fill}function aa(t,e,i){let s=t[e].fill;const n=[e];let o;if(!i)return s;for(;!1!==s&&-1===n.indexOf(s);){if(!a(s))return s;if(o=t[s],!o)return!1;if(o.visible)return s;n.push(s),s=o.fill}return!1}function ra(t,e,i){const s=function(t){const e=t.options,i=e.fill;let s=l(i&&i.target,i);void 0===s&&(s=!!e.backgroundColor);if(!1===s||null===s)return!1;if(!0===s)return"origin";return s}(t);if(o(s))return!isNaN(s.value)&&s;let n=parseFloat(s);return a(n)&&Math.floor(n)===n?function(t,e,i,s){"-"!==t&&"+"!==t||(i=e+i);if(i===e||i<0||i>=s)return!1;return i}(s[0],e,n,i):["origin","start","end","stack","shape"].indexOf(s)>=0&&s}function la(t,e,i){const s=[];for(let n=0;n<i.length;n++){const o=i[n],{first:a,last:r,point:l}=ha(o,e,"x");if(!(!l||a&&r))if(a)s.unshift(l);else if(t.push(l),!r)break}t.push(...s)}function ha(t,e,i){const s=t.interpolate(e,i);if(!s)return{};const n=s[i],o=t.segments,a=t.points;let r=!1,l=!1;for(let t=0;t<o.length;t++){const e=o[t],s=a[e.start][i],h=a[e.end][i];if(tt(n,s,h)){r=n===s,l=n===h;break}}return{first:r,last:l,point:s}}class ca{constructor(t){this.x=t.x,this.y=t.y,this.radius=t.radius}pathSegment(t,e,i){const{x:s,y:n,radius:o}=this;return e=e||{start:0,end:O},t.arc(s,n,o,e.end,e.start,!0),!i.bounds}interpolate(t){const{x:e,y:i,radius:s}=this,n=t.angle;return{x:e+Math.cos(n)*s,y:i+Math.sin(n)*s,angle:n}}}function da(t){const{chart:e,fill:i,line:s}=t;if(a(i))return function(t,e){const i=t.getDatasetMeta(e),s=i&&t.isDatasetVisible(e);return s?i.dataset:null}(e,i);if("stack"===i)return function(t){const{scale:e,index:i,line:s}=t,n=[],o=s.segments,a=s.points,r=function(t,e){const i=[],s=t.getMatchingVisibleMetas("line");for(let t=0;t<s.length;t++){const n=s[t];if(n.index===e)break;n.hidden||i.unshift(n.dataset)}return i}(e,i);r.push(na({x:null,y:e.bottom},s));for(let t=0;t<o.length;t++){const e=o[t];for(let t=e.start;t<=e.end;t++)la(n,a[t],r)}return new oo({points:n,options:{}})}(t);if("shape"===i)return!0;const n=function(t){const e=t.scale||{};if(e.getPointPositionForValue)return function(t){const{scale:e,fill:i}=t,s=e.options,n=e.getLabels().length,a=s.reverse?e.max:e.min,r=function(t,e,i){let s;return s="start"===t?i:"end"===t?e.options.reverse?e.min:e.max:o(t)?t.value:e.getBaseValue(),s}(i,e,a),l=[];if(s.grid.circular){const t=e.getPointPositionForValue(0,a);return new ca({x:t.x,y:t.y,radius:e.getDistanceFromCenterForValue(r)})}for(let t=0;t<n;++t)l.push(e.getPointPositionForValue(t,r));return l}(t);return function(t){const{scale:e={},fill:i}=t,s=function(t,e){let i=null;return"start"===t?i=e.bottom:"end"===t?i=e.top:o(t)?i=e.getPixelForValue(t.value):e.getBasePixel&&(i=e.getBasePixel()),i}(i,e);if(a(s)){const t=e.isHorizontal();return{x:t?s:null,y:t?null:s}}return null}(t)}(t);return n instanceof ca?n:na(n,s)}function ua(t,e,i){const s=da(e),{chart:n,index:o,line:a,scale:r,axis:l}=e,h=a.options,c=h.fill,d=h.backgroundColor,{above:u=d,below:f=d}=c||{},g=n.getDatasetMeta(o),p=Ni(n,g);s&&a.points.length&&(Ie(t,i),function(t,e){const{line:i,target:s,above:n,below:o,area:a,scale:r,clip:l}=e,h=i._loop?"angle":e.axis;t.save();let c=o;o!==n&&("x"===h?(fa(t,s,a.top),pa(t,{line:i,target:s,color:n,scale:r,property:h,clip:l}),t.restore(),t.save(),fa(t,s,a.bottom)):"y"===h&&(ga(t,s,a.left),pa(t,{line:i,target:s,color:o,scale:r,property:h,clip:l}),t.restore(),t.save(),ga(t,s,a.right),c=n));pa(t,{line:i,target:s,color:c,scale:r,property:h,clip:l}),t.restore()}(t,{line:a,target:s,above:u,below:f,area:i,scale:r,axis:l,clip:p}),ze(t))}function fa(t,e,i){const{segments:s,points:n}=e;let o=!0,a=!1;t.beginPath();for(const r of s){const{start:s,end:l}=r,h=n[s],c=n[ia(s,l,n)];o?(t.moveTo(h.x,h.y),o=!1):(t.lineTo(h.x,i),t.lineTo(h.x,h.y)),a=!!e.pathSegment(t,r,{move:a}),a?t.closePath():t.lineTo(c.x,i)}t.lineTo(e.first().x,i),t.closePath(),t.clip()}function ga(t,e,i){const{segments:s,points:n}=e;let o=!0,a=!1;t.beginPath();for(const r of s){const{start:s,end:l}=r,h=n[s],c=n[ia(s,l,n)];o?(t.moveTo(h.x,h.y),o=!1):(t.lineTo(i,h.y),t.lineTo(h.x,h.y)),a=!!e.pathSegment(t,r,{move:a}),a?t.closePath():t.lineTo(i,c.y)}t.lineTo(i,e.first().y),t.closePath(),t.clip()}function pa(t,e){const{line:i,target:s,property:n,color:o,scale:a,clip:r}=e,l=function(t,e,i){const s=t.segments,n=t.points,o=e.points,a=[];for(const t of s){let{start:s,end:r}=t;r=ia(s,r,n);const l=ea(i,n[s],n[r],t.loop);if(!e.segments){a.push({source:t,target:l,start:n[s],end:n[r]});continue}const h=Ii(e,l);for(const e of h){const s=ea(i,o[e.start],o[e.end],e.loop),r=Ri(t,n,s);for(const t of r)a.push({source:t,target:e,start:{[i]:sa(l,s,"start",Math.max)},end:{[i]:sa(l,s,"end",Math.min)}})}}return a}(i,s,n);for(const{source:e,target:h,start:c,end:d}of l){const{style:{backgroundColor:l=o}={}}=e,u=!0!==s;t.save(),t.fillStyle=l,ma(t,a,r,u&&ea(n,c,d)),t.beginPath();const f=!!i.pathSegment(t,e);let g;if(u){f?t.closePath():xa(t,s,d,n);const e=!!s.pathSegment(t,h,{move:f,reverse:!0});g=f&&e,g||xa(t,s,c,n)}t.closePath(),t.fill(g?"evenodd":"nonzero"),t.restore()}}function ma(t,e,i,s){const n=e.chart.chartArea,{property:o,start:a,end:r}=s||{};if("x"===o||"y"===o){let e,s,l,h;"x"===o?(e=a,s=n.top,l=r,h=n.bottom):(e=n.left,s=a,l=n.right,h=r),t.beginPath(),i&&(e=Math.max(e,i.left),l=Math.min(l,i.right),s=Math.max(s,i.top),h=Math.min(h,i.bottom)),t.rect(e,s,l-e,h-s),t.clip()}}function xa(t,e,i,s){const n=e.interpolate(i,s);n&&t.lineTo(n.x,n.y)}var ba={id:"filler",afterDatasetsUpdate(t,e,i){const s=(t.data.datasets||[]).length,n=[];let o,a,r,l;for(a=0;a<s;++a)o=t.getDatasetMeta(a),r=o.dataset,l=null,r&&r.options&&r instanceof oo&&(l={visible:t.isDatasetVisible(a),index:a,fill:ra(r,a,s),chart:t,axis:o.controller.options.indexAxis,scale:o.vScale,line:r}),o.$filler=l,n.push(l);for(a=0;a<s;++a)l=n[a],l&&!1!==l.fill&&(l.fill=aa(n,a,i.propagate))},beforeDraw(t,e,i){const s="beforeDraw"===i.drawTime,n=t.getSortedVisibleDatasetMetas(),o=t.chartArea;for(let e=n.length-1;e>=0;--e){const i=n[e].$filler;i&&(i.line.updateControlPoints(o,i.axis),s&&i.fill&&ua(t.ctx,i,o))}},beforeDatasetsDraw(t,e,i){if("beforeDatasetsDraw"!==i.drawTime)return;const s=t.getSortedVisibleDatasetMetas();for(let e=s.length-1;e>=0;--e){const i=s[e].$filler;oa(i)&&ua(t.ctx,i,t.chartArea)}},beforeDatasetDraw(t,e,i){const s=e.meta.$filler;oa(s)&&"beforeDatasetDraw"===i.drawTime&&ua(t.ctx,s,t.chartArea)},defaults:{propagate:!0,drawTime:"beforeDatasetDraw"}};const _a=(t,e)=>{let{boxHeight:i=e,boxWidth:s=e}=t;return t.usePointStyle&&(i=Math.min(i,e),s=t.pointStyleWidth||Math.min(s,e)),{boxWidth:s,boxHeight:i,itemHeight:Math.max(e,i)}};class ya extends $s{constructor(t){super(),this._added=!1,this.legendHitBoxes=[],this._hoveredItem=null,this.doughnutMode=!1,this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this.legendItems=void 0,this.columnSizes=void 0,this.lineWidths=void 0,this.maxHeight=void 0,this.maxWidth=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.height=void 0,this.width=void 0,this._margins=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,e,i){this.maxWidth=t,this.maxHeight=e,this._margins=i,this.setDimensions(),this.buildLabels(),this.fit()}setDimensions(){this.isHorizontal()?(this.width=this.maxWidth,this.left=this._margins.left,this.right=this.width):(this.height=this.maxHeight,this.top=this._margins.top,this.bottom=this.height)}buildLabels(){const t=this.options.labels||{};let e=d(t.generateLabels,[this.chart],this)||[];t.filter&&(e=e.filter((e=>t.filter(e,this.chart.data)))),t.sort&&(e=e.sort(((e,i)=>t.sort(e,i,this.chart.data)))),this.options.reverse&&e.reverse(),this.legendItems=e}fit(){const{options:t,ctx:e}=this;if(!t.display)return void(this.width=this.height=0);const i=t.labels,s=Si(i.font),n=s.size,o=this._computeTitleHeight(),{boxWidth:a,itemHeight:r}=_a(i,n);let l,h;e.font=s.string,this.isHorizontal()?(l=this.maxWidth,h=this._fitRows(o,n,a,r)+10):(h=this.maxHeight,l=this._fitCols(o,s,a,r)+10),this.width=Math.min(l,t.maxWidth||this.maxWidth),this.height=Math.min(h,t.maxHeight||this.maxHeight)}_fitRows(t,e,i,s){const{ctx:n,maxWidth:o,options:{labels:{padding:a}}}=this,r=this.legendHitBoxes=[],l=this.lineWidths=[0],h=s+a;let c=t;n.textAlign="left",n.textBaseline="middle";let d=-1,u=-h;return this.legendItems.forEach(((t,f)=>{const g=i+e/2+n.measureText(t.text).width;(0===f||l[l.length-1]+g+2*a>o)&&(c+=h,l[l.length-(f>0?0:1)]=0,u+=h,d++),r[f]={left:0,top:u,row:d,width:g,height:s},l[l.length-1]+=g+a})),c}_fitCols(t,e,i,s){const{ctx:n,maxHeight:o,options:{labels:{padding:a}}}=this,r=this.legendHitBoxes=[],l=this.columnSizes=[],h=o-t;let c=a,d=0,u=0,f=0,g=0;return this.legendItems.forEach(((t,o)=>{const{itemWidth:p,itemHeight:m}=function(t,e,i,s,n){const o=function(t,e,i,s){let n=t.text;n&&"string"!=typeof n&&(n=n.reduce(((t,e)=>t.length>e.length?t:e)));return e+i.size/2+s.measureText(n).width}(s,t,e,i),a=function(t,e,i){let s=t;"string"!=typeof e.text&&(s=va(e,i));return s}(n,s,e.lineHeight);return{itemWidth:o,itemHeight:a}}(i,e,n,t,s);o>0&&u+m+2*a>h&&(c+=d+a,l.push({width:d,height:u}),f+=d+a,g++,d=u=0),r[o]={left:f,top:u,col:g,width:p,height:m},d=Math.max(d,p),u+=m+a})),c+=d,l.push({width:d,height:u}),c}adjustHitBoxes(){if(!this.options.display)return;const t=this._computeTitleHeight(),{legendHitBoxes:e,options:{align:i,labels:{padding:s},rtl:n}}=this,o=Oi(n,this.left,this.width);if(this.isHorizontal()){let n=0,a=ft(i,this.left+s,this.right-this.lineWidths[n]);for(const r of e)n!==r.row&&(n=r.row,a=ft(i,this.left+s,this.right-this.lineWidths[n])),r.top+=this.top+t+s,r.left=o.leftForLtr(o.x(a),r.width),a+=r.width+s}else{let n=0,a=ft(i,this.top+t+s,this.bottom-this.columnSizes[n].height);for(const r of e)r.col!==n&&(n=r.col,a=ft(i,this.top+t+s,this.bottom-this.columnSizes[n].height)),r.top=a,r.left+=this.left+s,r.left=o.leftForLtr(o.x(r.left),r.width),a+=r.height+s}}isHorizontal(){return"top"===this.options.position||"bottom"===this.options.position}draw(){if(this.options.display){const t=this.ctx;Ie(t,this),this._draw(),ze(t)}}_draw(){const{options:t,columnSizes:e,lineWidths:i,ctx:s}=this,{align:n,labels:o}=t,a=ue.color,r=Oi(t.rtl,this.left,this.width),h=Si(o.font),{padding:c}=o,d=h.size,u=d/2;let f;this.drawTitle(),s.textAlign=r.textAlign("left"),s.textBaseline="middle",s.lineWidth=.5,s.font=h.string;const{boxWidth:g,boxHeight:p,itemHeight:m}=_a(o,d),x=this.isHorizontal(),b=this._computeTitleHeight();f=x?{x:ft(n,this.left+c,this.right-i[0]),y:this.top+c+b,line:0}:{x:this.left+c,y:ft(n,this.top+b+c,this.bottom-e[0].height),line:0},Ai(this.ctx,t.textDirection);const _=m+c;this.legendItems.forEach(((y,v)=>{s.strokeStyle=y.fontColor,s.fillStyle=y.fontColor;const M=s.measureText(y.text).width,w=r.textAlign(y.textAlign||(y.textAlign=o.textAlign)),k=g+u+M;let S=f.x,P=f.y;r.setWidth(this.width),x?v>0&&S+k+c>this.right&&(P=f.y+=_,f.line++,S=f.x=ft(n,this.left+c,this.right-i[f.line])):v>0&&P+_>this.bottom&&(S=f.x=S+e[f.line].width+c,f.line++,P=f.y=ft(n,this.top+b+c,this.bottom-e[f.line].height));if(function(t,e,i){if(isNaN(g)||g<=0||isNaN(p)||p<0)return;s.save();const n=l(i.lineWidth,1);if(s.fillStyle=l(i.fillStyle,a),s.lineCap=l(i.lineCap,"butt"),s.lineDashOffset=l(i.lineDashOffset,0),s.lineJoin=l(i.lineJoin,"miter"),s.lineWidth=n,s.strokeStyle=l(i.strokeStyle,a),s.setLineDash(l(i.lineDash,[])),o.usePointStyle){const a={radius:p*Math.SQRT2/2,pointStyle:i.pointStyle,rotation:i.rotation,borderWidth:n},l=r.xPlus(t,g/2);Ee(s,a,l,e+u,o.pointStyleWidth&&g)}else{const o=e+Math.max((d-p)/2,0),a=r.leftForLtr(t,g),l=wi(i.borderRadius);s.beginPath(),Object.values(l).some((t=>0!==t))?He(s,{x:a,y:o,w:g,h:p,radius:l}):s.rect(a,o,g,p),s.fill(),0!==n&&s.stroke()}s.restore()}(r.x(S),P,y),S=gt(w,S+g+u,x?S+k:this.right,t.rtl),function(t,e,i){Ne(s,i.text,t,e+m/2,h,{strikethrough:i.hidden,textAlign:r.textAlign(i.textAlign)})}(r.x(S),P,y),x)f.x+=k+c;else if("string"!=typeof y.text){const t=h.lineHeight;f.y+=va(y,t)+c}else f.y+=_})),Ti(this.ctx,t.textDirection)}drawTitle(){const t=this.options,e=t.title,i=Si(e.font),s=ki(e.padding);if(!e.display)return;const n=Oi(t.rtl,this.left,this.width),o=this.ctx,a=e.position,r=i.size/2,l=s.top+r;let h,c=this.left,d=this.width;if(this.isHorizontal())d=Math.max(...this.lineWidths),h=this.top+l,c=ft(t.align,c,this.right-d);else{const e=this.columnSizes.reduce(((t,e)=>Math.max(t,e.height)),0);h=l+ft(t.align,this.top,this.bottom-e-t.labels.padding-this._computeTitleHeight())}const u=ft(a,c,c+d);o.textAlign=n.textAlign(ut(a)),o.textBaseline="middle",o.strokeStyle=e.color,o.fillStyle=e.color,o.font=i.string,Ne(o,e.text,u,h,i)}_computeTitleHeight(){const t=this.options.title,e=Si(t.font),i=ki(t.padding);return t.display?e.lineHeight+i.height:0}_getLegendItemAt(t,e){let i,s,n;if(tt(t,this.left,this.right)&&tt(e,this.top,this.bottom))for(n=this.legendHitBoxes,i=0;i<n.length;++i)if(s=n[i],tt(t,s.left,s.left+s.width)&&tt(e,s.top,s.top+s.height))return this.legendItems[i];return null}handleEvent(t){const e=this.options;if(!function(t,e){if(("mousemove"===t||"mouseout"===t)&&(e.onHover||e.onLeave))return!0;if(e.onClick&&("click"===t||"mouseup"===t))return!0;return!1}(t.type,e))return;const i=this._getLegendItemAt(t.x,t.y);if("mousemove"===t.type||"mouseout"===t.type){const o=this._hoveredItem,a=(n=i,null!==(s=o)&&null!==n&&s.datasetIndex===n.datasetIndex&&s.index===n.index);o&&!a&&d(e.onLeave,[t,o,this],this),this._hoveredItem=i,i&&!a&&d(e.onHover,[t,i,this],this)}else i&&d(e.onClick,[t,i,this],this);var s,n}}function va(t,e){return e*(t.text?t.text.length:0)}var Ma={id:"legend",_element:ya,start(t,e,i){const s=t.legend=new ya({ctx:t.ctx,options:i,chart:t});ls.configure(t,s,i),ls.addBox(t,s)},stop(t){ls.removeBox(t,t.legend),delete t.legend},beforeUpdate(t,e,i){const s=t.legend;ls.configure(t,s,i),s.options=i},afterUpdate(t){const e=t.legend;e.buildLabels(),e.adjustHitBoxes()},afterEvent(t,e){e.replay||t.legend.handleEvent(e.event)},defaults:{display:!0,position:"top",align:"center",fullSize:!0,reverse:!1,weight:1e3,onClick(t,e,i){const s=e.datasetIndex,n=i.chart;n.isDatasetVisible(s)?(n.hide(s),e.hidden=!0):(n.show(s),e.hidden=!1)},onHover:null,onLeave:null,labels:{color:t=>t.chart.options.color,boxWidth:40,padding:10,generateLabels(t){const e=t.data.datasets,{labels:{usePointStyle:i,pointStyle:s,textAlign:n,color:o,useBorderRadius:a,borderRadius:r}}=t.legend.options;return t._getSortedDatasetMetas().map((t=>{const l=t.controller.getStyle(i?0:void 0),h=ki(l.borderWidth);return{text:e[t.index].label,fillStyle:l.backgroundColor,fontColor:o,hidden:!t.visible,lineCap:l.borderCapStyle,lineDash:l.borderDash,lineDashOffset:l.borderDashOffset,lineJoin:l.borderJoinStyle,lineWidth:(h.width+h.height)/4,strokeStyle:l.borderColor,pointStyle:s||l.pointStyle,rotation:l.rotation,textAlign:n||l.textAlign,borderRadius:a&&(r||l.borderRadius),datasetIndex:t.index}}),this)}},title:{color:t=>t.chart.options.color,display:!1,position:"center",text:""}},descriptors:{_scriptable:t=>!t.startsWith("on"),labels:{_scriptable:t=>!["generateLabels","filter","sort"].includes(t)}}};class wa extends $s{constructor(t){super(),this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this._padding=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,e){const i=this.options;if(this.left=0,this.top=0,!i.display)return void(this.width=this.height=this.right=this.bottom=0);this.width=this.right=t,this.height=this.bottom=e;const s=n(i.text)?i.text.length:1;this._padding=ki(i.padding);const o=s*Si(i.font).lineHeight+this._padding.height;this.isHorizontal()?this.height=o:this.width=o}isHorizontal(){const t=this.options.position;return"top"===t||"bottom"===t}_drawArgs(t){const{top:e,left:i,bottom:s,right:n,options:o}=this,a=o.align;let r,l,h,c=0;return this.isHorizontal()?(l=ft(a,i,n),h=e+t,r=n-i):("left"===o.position?(l=i+t,h=ft(a,s,e),c=-.5*C):(l=n-t,h=ft(a,e,s),c=.5*C),r=s-e),{titleX:l,titleY:h,maxWidth:r,rotation:c}}draw(){const t=this.ctx,e=this.options;if(!e.display)return;const i=Si(e.font),s=i.lineHeight/2+this._padding.top,{titleX:n,titleY:o,maxWidth:a,rotation:r}=this._drawArgs(s);Ne(t,e.text,0,0,i,{color:e.color,maxWidth:a,rotation:r,textAlign:ut(e.align),textBaseline:"middle",translation:[n,o]})}}var ka={id:"title",_element:wa,start(t,e,i){!function(t,e){const i=new wa({ctx:t.ctx,options:e,chart:t});ls.configure(t,i,e),ls.addBox(t,i),t.titleBlock=i}(t,i)},stop(t){const e=t.titleBlock;ls.removeBox(t,e),delete t.titleBlock},beforeUpdate(t,e,i){const s=t.titleBlock;ls.configure(t,s,i),s.options=i},defaults:{align:"center",display:!1,font:{weight:"bold"},fullSize:!0,padding:10,position:"top",text:"",weight:2e3},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}};const Sa=new WeakMap;var Pa={id:"subtitle",start(t,e,i){const s=new wa({ctx:t.ctx,options:i,chart:t});ls.configure(t,s,i),ls.addBox(t,s),Sa.set(t,s)},stop(t){ls.removeBox(t,Sa.get(t)),Sa.delete(t)},beforeUpdate(t,e,i){const s=Sa.get(t);ls.configure(t,s,i),s.options=i},defaults:{align:"center",display:!1,font:{weight:"normal"},fullSize:!0,padding:0,position:"top",text:"",weight:1500},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}};const Da={average(t){if(!t.length)return!1;let e,i,s=new Set,n=0,o=0;for(e=0,i=t.length;e<i;++e){const i=t[e].element;if(i&&i.hasValue()){const t=i.tooltipPosition();s.add(t.x),n+=t.y,++o}}if(0===o||0===s.size)return!1;return{x:[...s].reduce(((t,e)=>t+e))/s.size,y:n/o}},nearest(t,e){if(!t.length)return!1;let i,s,n,o=e.x,a=e.y,r=Number.POSITIVE_INFINITY;for(i=0,s=t.length;i<s;++i){const s=t[i].element;if(s&&s.hasValue()){const t=q(e,s.getCenterPoint());t<r&&(r=t,n=s)}}if(n){const t=n.tooltipPosition();o=t.x,a=t.y}return{x:o,y:a}}};function Ca(t,e){return e&&(n(e)?Array.prototype.push.apply(t,e):t.push(e)),t}function Oa(t){return("string"==typeof t||t instanceof String)&&t.indexOf("\n")>-1?t.split("\n"):t}function Aa(t,e){const{element:i,datasetIndex:s,index:n}=e,o=t.getDatasetMeta(s).controller,{label:a,value:r}=o.getLabelAndValue(n);return{chart:t,label:a,parsed:o.getParsed(n),raw:t.data.datasets[s].data[n],formattedValue:r,dataset:o.getDataset(),dataIndex:n,datasetIndex:s,element:i}}function Ta(t,e){const i=t.chart.ctx,{body:s,footer:n,title:o}=t,{boxWidth:a,boxHeight:r}=e,l=Si(e.bodyFont),h=Si(e.titleFont),c=Si(e.footerFont),d=o.length,f=n.length,g=s.length,p=ki(e.padding);let m=p.height,x=0,b=s.reduce(((t,e)=>t+e.before.length+e.lines.length+e.after.length),0);if(b+=t.beforeBody.length+t.afterBody.length,d&&(m+=d*h.lineHeight+(d-1)*e.titleSpacing+e.titleMarginBottom),b){m+=g*(e.displayColors?Math.max(r,l.lineHeight):l.lineHeight)+(b-g)*l.lineHeight+(b-1)*e.bodySpacing}f&&(m+=e.footerMarginTop+f*c.lineHeight+(f-1)*e.footerSpacing);let _=0;const y=function(t){x=Math.max(x,i.measureText(t).width+_)};return i.save(),i.font=h.string,u(t.title,y),i.font=l.string,u(t.beforeBody.concat(t.afterBody),y),_=e.displayColors?a+2+e.boxPadding:0,u(s,(t=>{u(t.before,y),u(t.lines,y),u(t.after,y)})),_=0,i.font=c.string,u(t.footer,y),i.restore(),x+=p.width,{width:x,height:m}}function La(t,e,i,s){const{x:n,width:o}=i,{width:a,chartArea:{left:r,right:l}}=t;let h="center";return"center"===s?h=n<=(r+l)/2?"left":"right":n<=o/2?h="left":n>=a-o/2&&(h="right"),function(t,e,i,s){const{x:n,width:o}=s,a=i.caretSize+i.caretPadding;return"left"===t&&n+o+a>e.width||"right"===t&&n-o-a<0||void 0}(h,t,e,i)&&(h="center"),h}function Ea(t,e,i){const s=i.yAlign||e.yAlign||function(t,e){const{y:i,height:s}=e;return i<s/2?"top":i>t.height-s/2?"bottom":"center"}(t,i);return{xAlign:i.xAlign||e.xAlign||La(t,e,i,s),yAlign:s}}function Ra(t,e,i,s){const{caretSize:n,caretPadding:o,cornerRadius:a}=t,{xAlign:r,yAlign:l}=i,h=n+o,{topLeft:c,topRight:d,bottomLeft:u,bottomRight:f}=wi(a);let g=function(t,e){let{x:i,width:s}=t;return"right"===e?i-=s:"center"===e&&(i-=s/2),i}(e,r);const p=function(t,e,i){let{y:s,height:n}=t;return"top"===e?s+=i:s-="bottom"===e?n+i:n/2,s}(e,l,h);return"center"===l?"left"===r?g+=h:"right"===r&&(g-=h):"left"===r?g-=Math.max(c,u)+n:"right"===r&&(g+=Math.max(d,f)+n),{x:Z(g,0,s.width-e.width),y:Z(p,0,s.height-e.height)}}function Ia(t,e,i){const s=ki(i.padding);return"center"===e?t.x+t.width/2:"right"===e?t.x+t.width-s.right:t.x+s.left}function za(t){return Ca([],Oa(t))}function Fa(t,e){const i=e&&e.dataset&&e.dataset.tooltip&&e.dataset.tooltip.callbacks;return i?t.override(i):t}const Va={beforeTitle:e,title(t){if(t.length>0){const e=t[0],i=e.chart.data.labels,s=i?i.length:0;if(this&&this.options&&"dataset"===this.options.mode)return e.dataset.label||"";if(e.label)return e.label;if(s>0&&e.dataIndex<s)return i[e.dataIndex]}return""},afterTitle:e,beforeBody:e,beforeLabel:e,label(t){if(this&&this.options&&"dataset"===this.options.mode)return t.label+": "+t.formattedValue||t.formattedValue;let e=t.dataset.label||"";e&&(e+=": ");const i=t.formattedValue;return s(i)||(e+=i),e},labelColor(t){const e=t.chart.getDatasetMeta(t.datasetIndex).controller.getStyle(t.dataIndex);return{borderColor:e.borderColor,backgroundColor:e.backgroundColor,borderWidth:e.borderWidth,borderDash:e.borderDash,borderDashOffset:e.borderDashOffset,borderRadius:0}},labelTextColor(){return this.options.bodyColor},labelPointStyle(t){const e=t.chart.getDatasetMeta(t.datasetIndex).controller.getStyle(t.dataIndex);return{pointStyle:e.pointStyle,rotation:e.rotation}},afterLabel:e,afterBody:e,beforeFooter:e,footer:e,afterFooter:e};function Ba(t,e,i,s){const n=t[e].call(i,s);return void 0===n?Va[e].call(i,s):n}class Wa extends $s{static positioners=Da;constructor(t){super(),this.opacity=0,this._active=[],this._eventPosition=void 0,this._size=void 0,this._cachedAnimations=void 0,this._tooltipItems=[],this.$animations=void 0,this.$context=void 0,this.chart=t.chart,this.options=t.options,this.dataPoints=void 0,this.title=void 0,this.beforeBody=void 0,this.body=void 0,this.afterBody=void 0,this.footer=void 0,this.xAlign=void 0,this.yAlign=void 0,this.x=void 0,this.y=void 0,this.height=void 0,this.width=void 0,this.caretX=void 0,this.caretY=void 0,this.labelColors=void 0,this.labelPointStyles=void 0,this.labelTextColors=void 0}initialize(t){this.options=t,this._cachedAnimations=void 0,this.$context=void 0}_resolveAnimations(){const t=this._cachedAnimations;if(t)return t;const e=this.chart,i=this.options.setContext(this.getContext()),s=i.enabled&&e.options.animation&&i.animations,n=new Ts(this.chart,s);return s._cacheable&&(this._cachedAnimations=Object.freeze(n)),n}getContext(){return this.$context||(this.$context=(t=this.chart.getContext(),e=this,i=this._tooltipItems,Ci(t,{tooltip:e,tooltipItems:i,type:"tooltip"})));var t,e,i}getTitle(t,e){const{callbacks:i}=e,s=Ba(i,"beforeTitle",this,t),n=Ba(i,"title",this,t),o=Ba(i,"afterTitle",this,t);let a=[];return a=Ca(a,Oa(s)),a=Ca(a,Oa(n)),a=Ca(a,Oa(o)),a}getBeforeBody(t,e){return za(Ba(e.callbacks,"beforeBody",this,t))}getBody(t,e){const{callbacks:i}=e,s=[];return u(t,(t=>{const e={before:[],lines:[],after:[]},n=Fa(i,t);Ca(e.before,Oa(Ba(n,"beforeLabel",this,t))),Ca(e.lines,Ba(n,"label",this,t)),Ca(e.after,Oa(Ba(n,"afterLabel",this,t))),s.push(e)})),s}getAfterBody(t,e){return za(Ba(e.callbacks,"afterBody",this,t))}getFooter(t,e){const{callbacks:i}=e,s=Ba(i,"beforeFooter",this,t),n=Ba(i,"footer",this,t),o=Ba(i,"afterFooter",this,t);let a=[];return a=Ca(a,Oa(s)),a=Ca(a,Oa(n)),a=Ca(a,Oa(o)),a}_createItems(t){const e=this._active,i=this.chart.data,s=[],n=[],o=[];let a,r,l=[];for(a=0,r=e.length;a<r;++a)l.push(Aa(this.chart,e[a]));return t.filter&&(l=l.filter(((e,s,n)=>t.filter(e,s,n,i)))),t.itemSort&&(l=l.sort(((e,s)=>t.itemSort(e,s,i)))),u(l,(e=>{const i=Fa(t.callbacks,e);s.push(Ba(i,"labelColor",this,e)),n.push(Ba(i,"labelPointStyle",this,e)),o.push(Ba(i,"labelTextColor",this,e))})),this.labelColors=s,this.labelPointStyles=n,this.labelTextColors=o,this.dataPoints=l,l}update(t,e){const i=this.options.setContext(this.getContext()),s=this._active;let n,o=[];if(s.length){const t=Da[i.position].call(this,s,this._eventPosition);o=this._createItems(i),this.title=this.getTitle(o,i),this.beforeBody=this.getBeforeBody(o,i),this.body=this.getBody(o,i),this.afterBody=this.getAfterBody(o,i),this.footer=this.getFooter(o,i);const e=this._size=Ta(this,i),a=Object.assign({},t,e),r=Ea(this.chart,i,a),l=Ra(i,a,r,this.chart);this.xAlign=r.xAlign,this.yAlign=r.yAlign,n={opacity:1,x:l.x,y:l.y,width:e.width,height:e.height,caretX:t.x,caretY:t.y}}else 0!==this.opacity&&(n={opacity:0});this._tooltipItems=o,this.$context=void 0,n&&this._resolveAnimations().update(this,n),t&&i.external&&i.external.call(this,{chart:this.chart,tooltip:this,replay:e})}drawCaret(t,e,i,s){const n=this.getCaretPosition(t,i,s);e.lineTo(n.x1,n.y1),e.lineTo(n.x2,n.y2),e.lineTo(n.x3,n.y3)}getCaretPosition(t,e,i){const{xAlign:s,yAlign:n}=this,{caretSize:o,cornerRadius:a}=i,{topLeft:r,topRight:l,bottomLeft:h,bottomRight:c}=wi(a),{x:d,y:u}=t,{width:f,height:g}=e;let p,m,x,b,_,y;return"center"===n?(_=u+g/2,"left"===s?(p=d,m=p-o,b=_+o,y=_-o):(p=d+f,m=p+o,b=_-o,y=_+o),x=p):(m="left"===s?d+Math.max(r,h)+o:"right"===s?d+f-Math.max(l,c)-o:this.caretX,"top"===n?(b=u,_=b-o,p=m-o,x=m+o):(b=u+g,_=b+o,p=m+o,x=m-o),y=b),{x1:p,x2:m,x3:x,y1:b,y2:_,y3:y}}drawTitle(t,e,i){const s=this.title,n=s.length;let o,a,r;if(n){const l=Oi(i.rtl,this.x,this.width);for(t.x=Ia(this,i.titleAlign,i),e.textAlign=l.textAlign(i.titleAlign),e.textBaseline="middle",o=Si(i.titleFont),a=i.titleSpacing,e.fillStyle=i.titleColor,e.font=o.string,r=0;r<n;++r)e.fillText(s[r],l.x(t.x),t.y+o.lineHeight/2),t.y+=o.lineHeight+a,r+1===n&&(t.y+=i.titleMarginBottom-a)}}_drawColorBox(t,e,i,s,n){const a=this.labelColors[i],r=this.labelPointStyles[i],{boxHeight:l,boxWidth:h}=n,c=Si(n.bodyFont),d=Ia(this,"left",n),u=s.x(d),f=l<c.lineHeight?(c.lineHeight-l)/2:0,g=e.y+f;if(n.usePointStyle){const e={radius:Math.min(h,l)/2,pointStyle:r.pointStyle,rotation:r.rotation,borderWidth:1},i=s.leftForLtr(u,h)+h/2,o=g+l/2;t.strokeStyle=n.multiKeyBackground,t.fillStyle=n.multiKeyBackground,Le(t,e,i,o),t.strokeStyle=a.borderColor,t.fillStyle=a.backgroundColor,Le(t,e,i,o)}else{t.lineWidth=o(a.borderWidth)?Math.max(...Object.values(a.borderWidth)):a.borderWidth||1,t.strokeStyle=a.borderColor,t.setLineDash(a.borderDash||[]),t.lineDashOffset=a.borderDashOffset||0;const e=s.leftForLtr(u,h),i=s.leftForLtr(s.xPlus(u,1),h-2),r=wi(a.borderRadius);Object.values(r).some((t=>0!==t))?(t.beginPath(),t.fillStyle=n.multiKeyBackground,He(t,{x:e,y:g,w:h,h:l,radius:r}),t.fill(),t.stroke(),t.fillStyle=a.backgroundColor,t.beginPath(),He(t,{x:i,y:g+1,w:h-2,h:l-2,radius:r}),t.fill()):(t.fillStyle=n.multiKeyBackground,t.fillRect(e,g,h,l),t.strokeRect(e,g,h,l),t.fillStyle=a.backgroundColor,t.fillRect(i,g+1,h-2,l-2))}t.fillStyle=this.labelTextColors[i]}drawBody(t,e,i){const{body:s}=this,{bodySpacing:n,bodyAlign:o,displayColors:a,boxHeight:r,boxWidth:l,boxPadding:h}=i,c=Si(i.bodyFont);let d=c.lineHeight,f=0;const g=Oi(i.rtl,this.x,this.width),p=function(i){e.fillText(i,g.x(t.x+f),t.y+d/2),t.y+=d+n},m=g.textAlign(o);let x,b,_,y,v,M,w;for(e.textAlign=o,e.textBaseline="middle",e.font=c.string,t.x=Ia(this,m,i),e.fillStyle=i.bodyColor,u(this.beforeBody,p),f=a&&"right"!==m?"center"===o?l/2+h:l+2+h:0,y=0,M=s.length;y<M;++y){for(x=s[y],b=this.labelTextColors[y],e.fillStyle=b,u(x.before,p),_=x.lines,a&&_.length&&(this._drawColorBox(e,t,y,g,i),d=Math.max(c.lineHeight,r)),v=0,w=_.length;v<w;++v)p(_[v]),d=c.lineHeight;u(x.after,p)}f=0,d=c.lineHeight,u(this.afterBody,p),t.y-=n}drawFooter(t,e,i){const s=this.footer,n=s.length;let o,a;if(n){const r=Oi(i.rtl,this.x,this.width);for(t.x=Ia(this,i.footerAlign,i),t.y+=i.footerMarginTop,e.textAlign=r.textAlign(i.footerAlign),e.textBaseline="middle",o=Si(i.footerFont),e.fillStyle=i.footerColor,e.font=o.string,a=0;a<n;++a)e.fillText(s[a],r.x(t.x),t.y+o.lineHeight/2),t.y+=o.lineHeight+i.footerSpacing}}drawBackground(t,e,i,s){const{xAlign:n,yAlign:o}=this,{x:a,y:r}=t,{width:l,height:h}=i,{topLeft:c,topRight:d,bottomLeft:u,bottomRight:f}=wi(s.cornerRadius);e.fillStyle=s.backgroundColor,e.strokeStyle=s.borderColor,e.lineWidth=s.borderWidth,e.beginPath(),e.moveTo(a+c,r),"top"===o&&this.drawCaret(t,e,i,s),e.lineTo(a+l-d,r),e.quadraticCurveTo(a+l,r,a+l,r+d),"center"===o&&"right"===n&&this.drawCaret(t,e,i,s),e.lineTo(a+l,r+h-f),e.quadraticCurveTo(a+l,r+h,a+l-f,r+h),"bottom"===o&&this.drawCaret(t,e,i,s),e.lineTo(a+u,r+h),e.quadraticCurveTo(a,r+h,a,r+h-u),"center"===o&&"left"===n&&this.drawCaret(t,e,i,s),e.lineTo(a,r+c),e.quadraticCurveTo(a,r,a+c,r),e.closePath(),e.fill(),s.borderWidth>0&&e.stroke()}_updateAnimationTarget(t){const e=this.chart,i=this.$animations,s=i&&i.x,n=i&&i.y;if(s||n){const i=Da[t.position].call(this,this._active,this._eventPosition);if(!i)return;const o=this._size=Ta(this,t),a=Object.assign({},i,this._size),r=Ea(e,t,a),l=Ra(t,a,r,e);s._to===l.x&&n._to===l.y||(this.xAlign=r.xAlign,this.yAlign=r.yAlign,this.width=o.width,this.height=o.height,this.caretX=i.x,this.caretY=i.y,this._resolveAnimations().update(this,l))}}_willRender(){return!!this.opacity}draw(t){const e=this.options.setContext(this.getContext());let i=this.opacity;if(!i)return;this._updateAnimationTarget(e);const s={width:this.width,height:this.height},n={x:this.x,y:this.y};i=Math.abs(i)<.001?0:i;const o=ki(e.padding),a=this.title.length||this.beforeBody.length||this.body.length||this.afterBody.length||this.footer.length;e.enabled&&a&&(t.save(),t.globalAlpha=i,this.drawBackground(n,t,s,e),Ai(t,e.textDirection),n.y+=o.top,this.drawTitle(n,t,e),this.drawBody(n,t,e),this.drawFooter(n,t,e),Ti(t,e.textDirection),t.restore())}getActiveElements(){return this._active||[]}setActiveElements(t,e){const i=this._active,s=t.map((({datasetIndex:t,index:e})=>{const i=this.chart.getDatasetMeta(t);if(!i)throw new Error("Cannot find a dataset at index "+t);return{datasetIndex:t,element:i.data[e],index:e}})),n=!f(i,s),o=this._positionChanged(s,e);(n||o)&&(this._active=s,this._eventPosition=e,this._ignoreReplayEvents=!0,this.update(!0))}handleEvent(t,e,i=!0){if(e&&this._ignoreReplayEvents)return!1;this._ignoreReplayEvents=!1;const s=this.options,n=this._active||[],o=this._getActiveElements(t,n,e,i),a=this._positionChanged(o,t),r=e||!f(o,n)||a;return r&&(this._active=o,(s.enabled||s.external)&&(this._eventPosition={x:t.x,y:t.y},this.update(!0,e))),r}_getActiveElements(t,e,i,s){const n=this.options;if("mouseout"===t.type)return[];if(!s)return e.filter((t=>this.chart.data.datasets[t.datasetIndex]&&void 0!==this.chart.getDatasetMeta(t.datasetIndex).controller.getParsed(t.index)));const o=this.chart.getElementsAtEventForMode(t,n.mode,n,i);return n.reverse&&o.reverse(),o}_positionChanged(t,e){const{caretX:i,caretY:s,options:n}=this,o=Da[n.position].call(this,t,e);return!1!==o&&(i!==o.x||s!==o.y)}}var Na={id:"tooltip",_element:Wa,positioners:Da,afterInit(t,e,i){i&&(t.tooltip=new Wa({chart:t,options:i}))},beforeUpdate(t,e,i){t.tooltip&&t.tooltip.initialize(i)},reset(t,e,i){t.tooltip&&t.tooltip.initialize(i)},afterDraw(t){const e=t.tooltip;if(e&&e._willRender()){const i={tooltip:e};if(!1===t.notifyPlugins("beforeTooltipDraw",{...i,cancelable:!0}))return;e.draw(t.ctx),t.notifyPlugins("afterTooltipDraw",i)}},afterEvent(t,e){if(t.tooltip){const i=e.replay;t.tooltip.handleEvent(e.event,i,e.inChartArea)&&(e.changed=!0)}},defaults:{enabled:!0,external:null,position:"average",backgroundColor:"rgba(0,0,0,0.8)",titleColor:"#fff",titleFont:{weight:"bold"},titleSpacing:2,titleMarginBottom:6,titleAlign:"left",bodyColor:"#fff",bodySpacing:2,bodyFont:{},bodyAlign:"left",footerColor:"#fff",footerSpacing:2,footerMarginTop:6,footerFont:{weight:"bold"},footerAlign:"left",padding:6,caretPadding:2,caretSize:5,cornerRadius:6,boxHeight:(t,e)=>e.bodyFont.size,boxWidth:(t,e)=>e.bodyFont.size,multiKeyBackground:"#fff",displayColors:!0,boxPadding:0,borderColor:"rgba(0,0,0,0)",borderWidth:0,animation:{duration:400,easing:"easeOutQuart"},animations:{numbers:{type:"number",properties:["x","y","width","height","caretX","caretY"]},opacity:{easing:"linear",duration:200}},callbacks:Va},defaultRoutes:{bodyFont:"font",footerFont:"font",titleFont:"font"},descriptors:{_scriptable:t=>"filter"!==t&&"itemSort"!==t&&"external"!==t,_indexable:!1,callbacks:{_scriptable:!1,_indexable:!1},animation:{_fallback:!1},animations:{_fallback:"animation"}},additionalOptionScopes:["interaction"]};return Tn.register(Un,$o,go,t),Tn.helpers={...Hi},Tn._adapters=In,Tn.Animation=As,Tn.Animations=Ts,Tn.animator=bt,Tn.controllers=nn.controllers.items,Tn.DatasetController=js,Tn.Element=$s,Tn.elements=go,Tn.Interaction=Ki,Tn.layouts=ls,Tn.platforms=Ds,Tn.Scale=tn,Tn.Ticks=ae,Object.assign(Tn,Un,$o,go,t,Ds),Tn.Chart=Tn,"undefined"!=typeof window&&(window.Chart=Tn),Tn}));
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e=e||self).GLightbox=t()}(this,(function(){"use strict";function e(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function t(e,t){for(var i=0;i<t.length;i++){var s=t[i];s.enumerable=s.enumerable||!1,s.configurable=!0,"value"in s&&(s.writable=!0),Object.defineProperty(e,n(s.key),s)}}function i(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function n(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var i=e[Symbol.toPrimitive];if(void 0!==i){var n=i.call(e,t||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}function s(e){return(s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var l=Date.now();function o(){var e={},t=!0,i=0,n=arguments.length;"[object Boolean]"===Object.prototype.toString.call(arguments[0])&&(t=arguments[0],i++);for(var s=function(i){for(var n in i)Object.prototype.hasOwnProperty.call(i,n)&&(t&&"[object Object]"===Object.prototype.toString.call(i[n])?e[n]=o(!0,e[n],i[n]):e[n]=i[n])};i<n;i++){var l=arguments[i];s(l)}return e}function r(e,t){if((E(e)||e===window||e===document)&&(e=[e]),L(e)||I(e)||(e=[e]),0!=M(e))if(L(e)&&!I(e))for(var i=e.length,n=0;n<i&&!1!==t.call(e[n],e[n],n,e);n++);else if(I(e))for(var s in e)if(P(e,s)&&!1===t.call(e[s],e[s],s,e))break}function a(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,n=e[l]=e[l]||[],s={all:n,evt:null,found:null};return t&&i&&M(n)>0&&r(n,(function(e,n){if(e.eventName==t&&e.fn.toString()==i.toString())return s.found=!0,s.evt=n,!1})),s}function h(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=t.onElement,n=t.withCallback,s=t.avoidDuplicate,l=void 0===s||s,o=t.once,h=void 0!==o&&o,d=t.useCapture,c=void 0!==d&&d,u=arguments.length>2?arguments[2]:void 0,g=i||[];function v(e){C(n)&&n.call(u,e,this),h&&v.destroy()}return k(g)&&(g=document.querySelectorAll(g)),v.destroy=function(){r(g,(function(t){var i=a(t,e,v);i.found&&i.all.splice(i.evt,1),t.removeEventListener&&t.removeEventListener(e,v,c)}))},r(g,(function(t){var i=a(t,e,v);(t.addEventListener&&l&&!i.found||!l)&&(t.addEventListener(e,v,c),i.all.push({eventName:e,fn:v}))})),v}function d(e,t){r(t.split(" "),(function(t){return e.classList.add(t)}))}function c(e,t){r(t.split(" "),(function(t){return e.classList.remove(t)}))}function u(e,t){return e.classList.contains(t)}function g(e,t){for(;e!==document.body;){if(!(e=e.parentElement))return!1;if("function"==typeof e.matches?e.matches(t):e.msMatchesSelector(t))return e}}function v(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(!e||""===t)return!1;if("none"===t)return C(i)&&i(),!1;var n=b(),s=t.split(" ");r(s,(function(t){d(e,"g"+t)})),h(n,{onElement:e,avoidDuplicate:!1,once:!0,withCallback:function(e,t){r(s,(function(e){c(t,"g"+e)})),C(i)&&i()}})}function f(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";if(""===t)return e.style.webkitTransform="",e.style.MozTransform="",e.style.msTransform="",e.style.OTransform="",e.style.transform="",!1;e.style.webkitTransform=t,e.style.MozTransform=t,e.style.msTransform=t,e.style.OTransform=t,e.style.transform=t}function p(e){e.style.display="block"}function m(e){e.style.display="none"}function y(e){var t=document.createDocumentFragment(),i=document.createElement("div");for(i.innerHTML=e;i.firstChild;)t.appendChild(i.firstChild);return t}function x(){return{width:window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth,height:window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight}}function b(){var e,t=document.createElement("fakeelement"),i={animation:"animationend",OAnimation:"oAnimationEnd",MozAnimation:"animationend",WebkitAnimation:"webkitAnimationEnd"};for(e in i)if(void 0!==t.style[e])return i[e]}function S(e,t,i,n){if(e())t();else{var s;i||(i=100);var l=setInterval((function(){e()&&(clearInterval(l),s&&clearTimeout(s),t())}),i);n&&(s=setTimeout((function(){clearInterval(l)}),n))}}function w(e,t,i){if(O(e))console.error("Inject assets error");else if(C(t)&&(i=t,t=!1),k(t)&&t in window)C(i)&&i();else{var n;if(-1!==e.indexOf(".css")){if((n=document.querySelectorAll('link[href="'+e+'"]'))&&n.length>0)return void(C(i)&&i());var s=document.getElementsByTagName("head")[0],l=s.querySelectorAll('link[rel="stylesheet"]'),o=document.createElement("link");return o.rel="stylesheet",o.type="text/css",o.href=e,o.media="all",l?s.insertBefore(o,l[0]):s.appendChild(o),void(C(i)&&i())}if((n=document.querySelectorAll('script[src="'+e+'"]'))&&n.length>0){if(C(i)){if(k(t))return S((function(){return void 0!==window[t]}),(function(){i()})),!1;i()}}else{var r=document.createElement("script");r.type="text/javascript",r.src=e,r.onload=function(){if(C(i)){if(k(t))return S((function(){return void 0!==window[t]}),(function(){i()})),!1;i()}},document.body.appendChild(r)}}}function T(){return"navigator"in window&&window.navigator.userAgent.match(/(iPad)|(iPhone)|(iPod)|(Android)|(PlayBook)|(BB10)|(BlackBerry)|(Opera Mini)|(IEMobile)|(webOS)|(MeeGo)/i)}function C(e){return"function"==typeof e}function k(e){return"string"==typeof e}function E(e){return!(!e||!e.nodeType||1!=e.nodeType)}function A(e){return Array.isArray(e)}function L(e){return e&&e.length&&isFinite(e.length)}function I(e){return"object"===s(e)&&null!=e&&!C(e)&&!A(e)}function O(e){return null==e}function P(e,t){return null!==e&&hasOwnProperty.call(e,t)}function M(e){if(I(e)){if(e.keys)return e.keys().length;var t=0;for(var i in e)P(e,i)&&t++;return t}return e.length}function z(e){return!isNaN(parseFloat(e))&&isFinite(e)}function X(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:-1,t=document.querySelectorAll(".gbtn[data-taborder]:not(.disabled)");if(!t.length)return!1;if(1==t.length)return t[0];"string"==typeof e&&(e=parseInt(e));var i=[];r(t,(function(e){i.push(e.getAttribute("data-taborder"))}));var n=Math.max.apply(Math,i.map((function(e){return parseInt(e)}))),s=e<0?1:e+1;s>n&&(s="1");var l=i.filter((function(e){return e>=parseInt(s)})),o=l.sort()[0];return document.querySelector('.gbtn[data-taborder="'.concat(o,'"]'))}function Y(e){if(e.events.hasOwnProperty("keyboard"))return!1;e.events.keyboard=h("keydown",{onElement:window,withCallback:function(t,i){var n=(t=t||window.event).keyCode;if(9==n){var s=document.querySelector(".gbtn.focused");if(!s){var l=!(!document.activeElement||!document.activeElement.nodeName)&&document.activeElement.nodeName.toLocaleLowerCase();if("input"==l||"textarea"==l||"button"==l)return}t.preventDefault();var o=document.querySelectorAll(".gbtn[data-taborder]");if(!o||o.length<=0)return;if(!s){var r=X();return void(r&&(r.focus(),d(r,"focused")))}var a=X(s.getAttribute("data-taborder"));c(s,"focused"),a&&(a.focus(),d(a,"focused"))}39==n&&e.nextSlide(),37==n&&e.prevSlide(),27==n&&e.close()}})}var q=i((function t(i,n){var s=this,l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;if(e(this,t),this.img=i,this.slide=n,this.onclose=l,this.img.setZoomEvents)return!1;this.active=!1,this.zoomedIn=!1,this.dragging=!1,this.currentX=null,this.currentY=null,this.initialX=null,this.initialY=null,this.xOffset=0,this.yOffset=0,this.img.addEventListener("mousedown",(function(e){return s.dragStart(e)}),!1),this.img.addEventListener("mouseup",(function(e){return s.dragEnd(e)}),!1),this.img.addEventListener("mousemove",(function(e){return s.drag(e)}),!1),this.img.addEventListener("click",(function(e){return s.slide.classList.contains("dragging-nav")?(s.zoomOut(),!1):s.zoomedIn?void(s.zoomedIn&&!s.dragging&&s.zoomOut()):s.zoomIn()}),!1),this.img.setZoomEvents=!0}),[{key:"zoomIn",value:function(){var e=this.widowWidth();if(!(this.zoomedIn||e<=768)){var t=this.img;if(t.setAttribute("data-style",t.getAttribute("style")),t.style.maxWidth=t.naturalWidth+"px",t.style.maxHeight=t.naturalHeight+"px",t.naturalWidth>e){var i=e/2-t.naturalWidth/2;this.setTranslate(this.img.parentNode,i,0)}this.slide.classList.add("zoomed"),this.zoomedIn=!0}}},{key:"zoomOut",value:function(){this.img.parentNode.setAttribute("style",""),this.img.setAttribute("style",this.img.getAttribute("data-style")),this.slide.classList.remove("zoomed"),this.zoomedIn=!1,this.currentX=null,this.currentY=null,this.initialX=null,this.initialY=null,this.xOffset=0,this.yOffset=0,this.onclose&&"function"==typeof this.onclose&&this.onclose()}},{key:"dragStart",value:function(e){e.preventDefault(),this.zoomedIn?("touchstart"===e.type?(this.initialX=e.touches[0].clientX-this.xOffset,this.initialY=e.touches[0].clientY-this.yOffset):(this.initialX=e.clientX-this.xOffset,this.initialY=e.clientY-this.yOffset),e.target===this.img&&(this.active=!0,this.img.classList.add("dragging"))):this.active=!1}},{key:"dragEnd",value:function(e){var t=this;e.preventDefault(),this.initialX=this.currentX,this.initialY=this.currentY,this.active=!1,setTimeout((function(){t.dragging=!1,t.img.isDragging=!1,t.img.classList.remove("dragging")}),100)}},{key:"drag",value:function(e){this.active&&(e.preventDefault(),"touchmove"===e.type?(this.currentX=e.touches[0].clientX-this.initialX,this.currentY=e.touches[0].clientY-this.initialY):(this.currentX=e.clientX-this.initialX,this.currentY=e.clientY-this.initialY),this.xOffset=this.currentX,this.yOffset=this.currentY,this.img.isDragging=!0,this.dragging=!0,this.setTranslate(this.img,this.currentX,this.currentY))}},{key:"onMove",value:function(e){if(this.zoomedIn){var t=e.clientX-this.img.naturalWidth/2,i=e.clientY-this.img.naturalHeight/2;this.setTranslate(this.img,t,i)}}},{key:"setTranslate",value:function(e,t,i){e.style.transform="translate3d("+t+"px, "+i+"px, 0)"}},{key:"widowWidth",value:function(){return window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth}}]),N=i((function t(){var i=this,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};e(this,t);var s=n.dragEl,l=n.toleranceX,o=void 0===l?40:l,r=n.toleranceY,a=void 0===r?65:r,h=n.slide,d=void 0===h?null:h,c=n.instance,u=void 0===c?null:c;this.el=s,this.active=!1,this.dragging=!1,this.currentX=null,this.currentY=null,this.initialX=null,this.initialY=null,this.xOffset=0,this.yOffset=0,this.direction=null,this.lastDirection=null,this.toleranceX=o,this.toleranceY=a,this.toleranceReached=!1,this.dragContainer=this.el,this.slide=d,this.instance=u,this.el.addEventListener("mousedown",(function(e){return i.dragStart(e)}),!1),this.el.addEventListener("mouseup",(function(e){return i.dragEnd(e)}),!1),this.el.addEventListener("mousemove",(function(e){return i.drag(e)}),!1)}),[{key:"dragStart",value:function(e){if(this.slide.classList.contains("zoomed"))this.active=!1;else{"touchstart"===e.type?(this.initialX=e.touches[0].clientX-this.xOffset,this.initialY=e.touches[0].clientY-this.yOffset):(this.initialX=e.clientX-this.xOffset,this.initialY=e.clientY-this.yOffset);var t=e.target.nodeName.toLowerCase();e.target.classList.contains("nodrag")||g(e.target,".nodrag")||-1!==["input","select","textarea","button","a"].indexOf(t)?this.active=!1:(e.preventDefault(),(e.target===this.el||"img"!==t&&g(e.target,".gslide-inline"))&&(this.active=!0,this.el.classList.add("dragging"),this.dragContainer=g(e.target,".ginner-container")))}}},{key:"dragEnd",value:function(e){var t=this;e&&e.preventDefault(),this.initialX=0,this.initialY=0,this.currentX=null,this.currentY=null,this.initialX=null,this.initialY=null,this.xOffset=0,this.yOffset=0,this.active=!1,this.doSlideChange&&(this.instance.preventOutsideClick=!0,"right"==this.doSlideChange&&this.instance.prevSlide(),"left"==this.doSlideChange&&this.instance.nextSlide()),this.doSlideClose&&this.instance.close(),this.toleranceReached||this.setTranslate(this.dragContainer,0,0,!0),setTimeout((function(){t.instance.preventOutsideClick=!1,t.toleranceReached=!1,t.lastDirection=null,t.dragging=!1,t.el.isDragging=!1,t.el.classList.remove("dragging"),t.slide.classList.remove("dragging-nav"),t.dragContainer.style.transform="",t.dragContainer.style.transition=""}),100)}},{key:"drag",value:function(e){if(this.active){e.preventDefault(),this.slide.classList.add("dragging-nav"),"touchmove"===e.type?(this.currentX=e.touches[0].clientX-this.initialX,this.currentY=e.touches[0].clientY-this.initialY):(this.currentX=e.clientX-this.initialX,this.currentY=e.clientY-this.initialY),this.xOffset=this.currentX,this.yOffset=this.currentY,this.el.isDragging=!0,this.dragging=!0,this.doSlideChange=!1,this.doSlideClose=!1;var t=Math.abs(this.currentX),i=Math.abs(this.currentY);if(t>0&&t>=Math.abs(this.currentY)&&(!this.lastDirection||"x"==this.lastDirection)){this.yOffset=0,this.lastDirection="x",this.setTranslate(this.dragContainer,this.currentX,0);var n=this.shouldChange();if(!this.instance.settings.dragAutoSnap&&n&&(this.doSlideChange=n),this.instance.settings.dragAutoSnap&&n)return this.instance.preventOutsideClick=!0,this.toleranceReached=!0,this.active=!1,this.instance.preventOutsideClick=!0,this.dragEnd(null),"right"==n&&this.instance.prevSlide(),void("left"==n&&this.instance.nextSlide())}if(this.toleranceY>0&&i>0&&i>=t&&(!this.lastDirection||"y"==this.lastDirection)){this.xOffset=0,this.lastDirection="y",this.setTranslate(this.dragContainer,0,this.currentY);var s=this.shouldClose();return!this.instance.settings.dragAutoSnap&&s&&(this.doSlideClose=!0),void(this.instance.settings.dragAutoSnap&&s&&this.instance.close())}}}},{key:"shouldChange",value:function(){var e=!1;if(Math.abs(this.currentX)>=this.toleranceX){var t=this.currentX>0?"right":"left";("left"==t&&this.slide!==this.slide.parentNode.lastChild||"right"==t&&this.slide!==this.slide.parentNode.firstChild)&&(e=t)}return e}},{key:"shouldClose",value:function(){var e=!1;return Math.abs(this.currentY)>=this.toleranceY&&(e=!0),e}},{key:"setTranslate",value:function(e,t,i){var n=arguments.length>3&&void 0!==arguments[3]&&arguments[3];e.style.transition=n?"all .2s ease":"",e.style.transform="translate3d(".concat(t,"px, ").concat(i,"px, 0)")}}]);function D(e,t,i,n){var s=e.querySelector(".gslide-media"),l=new Image,o="gSlideTitle_"+i,r="gSlideDesc_"+i;l.addEventListener("load",(function(){C(n)&&n()}),!1),l.src=t.href,""!=t.sizes&&""!=t.srcset&&(l.sizes=t.sizes,l.srcset=t.srcset),l.alt="",O(t.alt)||""===t.alt||(l.alt=t.alt),""!==t.title&&l.setAttribute("aria-labelledby",o),""!==t.description&&l.setAttribute("aria-describedby",r),t.hasOwnProperty("_hasCustomWidth")&&t._hasCustomWidth&&(l.style.width=t.width),t.hasOwnProperty("_hasCustomHeight")&&t._hasCustomHeight&&(l.style.height=t.height),s.insertBefore(l,s.firstChild)}function _(e,t,i,n){var s=this,l=e.querySelector(".ginner-container"),o="gvideo"+i,r=e.querySelector(".gslide-media"),a=this.getAllPlayers();d(l,"gvideo-container"),r.insertBefore(y('<div class="gvideo-wrapper"></div>'),r.firstChild);var h=e.querySelector(".gvideo-wrapper");w(this.settings.plyr.css,"Plyr");var c=t.href,u=null==t?void 0:t.videoProvider,g=!1;r.style.maxWidth=t.width,w(this.settings.plyr.js,"Plyr",(function(){if(!u&&c.match(/vimeo\.com\/([0-9]*)/)&&(u="vimeo"),!u&&(c.match(/(youtube\.com|youtube-nocookie\.com)\/watch\?v=([a-zA-Z0-9\-_]+)/)||c.match(/youtu\.be\/([a-zA-Z0-9\-_]+)/)||c.match(/(youtube\.com|youtube-nocookie\.com)\/embed\/([a-zA-Z0-9\-_]+)/)||c.match(/(youtube\.com|youtube-nocookie\.com)\/shorts\/([a-zA-Z0-9\-_]+)/))&&(u="youtube"),"local"===u||!u){u="local";var l='<video id="'+o+'" ';l+='style="background:#000; max-width: '.concat(t.width,';" '),l+='preload="metadata" ',l+='x-webkit-airplay="allow" ',l+="playsinline ",l+="controls ",l+='class="gvideo-local">',l+='<source src="'.concat(c,'">'),g=y(l+="</video>")}var r=g||y('<div id="'.concat(o,'" data-plyr-provider="').concat(u,'" data-plyr-embed-id="').concat(c,'"></div>'));d(h,"".concat(u,"-video gvideo")),h.appendChild(r),h.setAttribute("data-id",o),h.setAttribute("data-index",i);var v=P(s.settings.plyr,"config")?s.settings.plyr.config:{},f=new Plyr("#"+o,v);f.on("ready",(function(e){a[o]=e.detail.plyr,C(n)&&n()})),S((function(){return e.querySelector("iframe")&&"true"==e.querySelector("iframe").dataset.ready}),(function(){s.resize(e)})),f.on("enterfullscreen",W),f.on("exitfullscreen",W)}))}function W(e){var t=g(e.target,".gslide-media");"enterfullscreen"===e.type&&d(t,"fullscreen"),"exitfullscreen"===e.type&&c(t,"fullscreen")}function B(e,t,i,n){var s,l=this,o=e.querySelector(".gslide-media"),r=!(!P(t,"href")||!t.href)&&t.href.split("#").pop().trim(),a=!(!P(t,"content")||!t.content)&&t.content;if(a&&(k(a)&&(s=y('<div class="ginlined-content">'.concat(a,"</div>"))),E(a))){"none"==a.style.display&&(a.style.display="block");var c=document.createElement("div");c.className="ginlined-content",c.appendChild(a),s=c}if(r){var u=document.getElementById(r);if(!u)return!1;var g=u.cloneNode(!0);g.style.height=t.height,g.style.maxWidth=t.width,d(g,"ginlined-content"),s=g}if(!s)return console.error("Unable to append inline slide content",t),!1;o.style.height=t.height,o.style.width=t.width,o.appendChild(s),this.events["inlineclose"+r]=h("click",{onElement:o.querySelectorAll(".gtrigger-close"),withCallback:function(e){e.preventDefault(),l.close()}}),C(n)&&n()}function H(e,t,i,n){var s=e.querySelector(".gslide-media"),l=function(e){var t=e.url,i=e.allow,n=e.callback,s=e.appendTo,l=document.createElement("iframe");return l.className="vimeo-video gvideo",l.src=t,l.style.width="100%",l.style.height="100%",i&&l.setAttribute("allow",i),l.onload=function(){l.onload=null,d(l,"node-ready"),C(n)&&n()},s&&s.appendChild(l),l}({url:t.href,callback:n});s.parentNode.style.maxWidth=t.width,s.parentNode.style.height=t.height,s.appendChild(l)}var j=i((function t(){var i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};e(this,t),this.defaults={href:"",sizes:"",srcset:"",title:"",type:"",videoProvider:"",description:"",alt:"",descPosition:"bottom",effect:"",width:"",height:"",content:!1,zoomable:!0,draggable:!0},I(i)&&(this.defaults=o(this.defaults,i))}),[{key:"sourceType",value:function(e){var t=e;return null!==(e=e.toLowerCase()).match(/\.(jpeg|jpg|jpe|gif|png|apn|webp|avif|svg)/)?"image":e.match(/(youtube\.com|youtube-nocookie\.com)\/watch\?v=([a-zA-Z0-9\-_]+)/)||e.match(/youtu\.be\/([a-zA-Z0-9\-_]+)/)||e.match(/(youtube\.com|youtube-nocookie\.com)\/embed\/([a-zA-Z0-9\-_]+)/)||e.match(/(youtube\.com|youtube-nocookie\.com)\/shorts\/([a-zA-Z0-9\-_]+)/)||e.match(/vimeo\.com\/([0-9]*)/)||null!==e.match(/\.(mp4|ogg|webm|mov)/)?"video":null!==e.match(/\.(mp3|wav|wma|aac|ogg)/)?"audio":e.indexOf("#")>-1&&""!==t.split("#").pop().trim()?"inline":e.indexOf("goajax=true")>-1?"ajax":"external"}},{key:"parseConfig",value:function(e,t){var i=this,n=o({descPosition:t.descPosition},this.defaults);if(I(e)&&!E(e)){P(e,"type")||(P(e,"content")&&e.content?e.type="inline":P(e,"href")&&(e.type=this.sourceType(e.href)));var s=o(n,e);return this.setSize(s,t),s}var l="",a=e.getAttribute("data-glightbox"),h=e.nodeName.toLowerCase();if("a"===h&&(l=e.href),"img"===h&&(l=e.src,n.alt=e.alt),n.href=l,r(n,(function(s,l){P(t,l)&&"width"!==l&&(n[l]=t[l]);var o=e.dataset[l];O(o)||(n[l]=i.sanitizeValue(o))})),n.content&&(n.type="inline"),!n.type&&l&&(n.type=this.sourceType(l)),O(a)){if(!n.title&&"a"==h){var d=e.title;O(d)||""===d||(n.title=d)}if(!n.title&&"img"==h){var c=e.alt;O(c)||""===c||(n.title=c)}}else{var u=[];r(n,(function(e,t){u.push(";\\s?"+t)})),u=u.join("\\s?:|"),""!==a.trim()&&r(n,(function(e,t){var s=a,l=new RegExp("s?"+t+"s?:s?(.*?)("+u+"s?:|$)"),o=s.match(l);if(o&&o.length&&o[1]){var r=o[1].trim().replace(/;\s*$/,"");n[t]=i.sanitizeValue(r)}}))}if(n.description&&"."===n.description.substring(0,1)){var g;try{g=document.querySelector(n.description).innerHTML}catch(e){if(!(e instanceof DOMException))throw e}g&&(n.description=g)}if(!n.description){var v=e.querySelector(".glightbox-desc");v&&(n.description=v.innerHTML)}return this.setSize(n,t,e),this.slideConfig=n,n}},{key:"setSize",value:function(e,t){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,n="video"==e.type?this.checkSize(t.videosWidth):this.checkSize(t.width),s=this.checkSize(t.height);return e.width=P(e,"width")&&""!==e.width?this.checkSize(e.width):n,e.height=P(e,"height")&&""!==e.height?this.checkSize(e.height):s,i&&"image"==e.type&&(e._hasCustomWidth=!!i.dataset.width,e._hasCustomHeight=!!i.dataset.height),e}},{key:"checkSize",value:function(e){return z(e)?"".concat(e,"px"):e}},{key:"sanitizeValue",value:function(e){return"true"!==e&&"false"!==e?e:"true"===e}}]),V=i((function t(i,n,s){e(this,t),this.element=i,this.instance=n,this.index=s}),[{key:"setContent",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,i=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(u(t,"loaded"))return!1;var n=this.instance.settings,s=this.slideConfig,l=T();C(n.beforeSlideLoad)&&n.beforeSlideLoad({index:this.index,slide:t,player:!1});var o=s.type,r=s.descPosition,a=t.querySelector(".gslide-media"),h=t.querySelector(".gslide-title"),c=t.querySelector(".gslide-desc"),g=t.querySelector(".gdesc-inner"),v=i,f="gSlideTitle_"+this.index,p="gSlideDesc_"+this.index;if(C(n.afterSlideLoad)&&(v=function(){C(i)&&i(),n.afterSlideLoad({index:e.index,slide:t,player:e.instance.getSlidePlayerInstance(e.index)})}),""==s.title&&""==s.description?g&&g.parentNode.parentNode.removeChild(g.parentNode):(h&&""!==s.title?(h.id=f,h.innerHTML=s.title):h.parentNode.removeChild(h),c&&""!==s.description?(c.id=p,l&&n.moreLength>0?(s.smallDescription=this.slideShortDesc(s.description,n.moreLength,n.moreText),c.innerHTML=s.smallDescription,this.descriptionEvents(c,s)):c.innerHTML=s.description):c.parentNode.removeChild(c),d(a.parentNode,"desc-".concat(r)),d(g.parentNode,"description-".concat(r))),d(a,"gslide-".concat(o)),d(t,"loaded"),"video"!==o){if("external"!==o)return"inline"===o?(B.apply(this.instance,[t,s,this.index,v]),void(s.draggable&&new N({dragEl:t.querySelector(".gslide-inline"),toleranceX:n.dragToleranceX,toleranceY:n.dragToleranceY,slide:t,instance:this.instance}))):void("image"!==o?C(v)&&v():D(t,s,this.index,(function(){var i=t.querySelector("img");s.draggable&&new N({dragEl:i,toleranceX:n.dragToleranceX,toleranceY:n.dragToleranceY,slide:t,instance:e.instance}),s.zoomable&&i.naturalWidth>i.offsetWidth&&(d(i,"zoomable"),new q(i,t,(function(){e.instance.resize()}))),C(v)&&v()})));H.apply(this,[t,s,this.index,v])}else _.apply(this.instance,[t,s,this.index,v])}},{key:"slideShortDesc",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:50,i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=document.createElement("div");n.innerHTML=e;var s=n.innerText,l=i;if((e=s.trim()).length<=t)return e;var o=e.substr(0,t-1);return l?(n=null,o+'... <a href="#" class="desc-more">'+i+"</a>"):o}},{key:"descriptionEvents",value:function(e,t){var i=this,n=e.querySelector(".desc-more");if(!n)return!1;h("click",{onElement:n,withCallback:function(e,n){e.preventDefault();var s=document.body,l=g(n,".gslide-desc");if(!l)return!1;l.innerHTML=t.description,d(s,"gdesc-open");var o=h("click",{onElement:[s,g(l,".gslide-description")],withCallback:function(e,n){"a"!==e.target.nodeName.toLowerCase()&&(c(s,"gdesc-open"),d(s,"gdesc-closed"),l.innerHTML=t.smallDescription,i.descriptionEvents(l,t),setTimeout((function(){c(s,"gdesc-closed")}),400),o.destroy())}})}})}},{key:"create",value:function(){return y(this.instance.settings.slideHTML)}},{key:"getConfig",value:function(){E(this.element)||this.element.hasOwnProperty("draggable")||(this.element.draggable=this.instance.settings.draggable);var e=new j(this.instance.settings.slideExtraAttributes);return this.slideConfig=e.parseConfig(this.element,this.instance.settings),this.slideConfig}}]);function F(e){return Math.sqrt(e.x*e.x+e.y*e.y)}function R(e,t){var i=function(e,t){var i=F(e)*F(t);if(0===i)return 0;var n=function(e,t){return e.x*t.x+e.y*t.y}(e,t)/i;return n>1&&(n=1),Math.acos(n)}(e,t);return function(e,t){return e.x*t.y-t.x*e.y}(e,t)>0&&(i*=-1),180*i/Math.PI}var G=i((function t(i){e(this,t),this.handlers=[],this.el=i}),[{key:"add",value:function(e){this.handlers.push(e)}},{key:"del",value:function(e){e||(this.handlers=[]);for(var t=this.handlers.length;t>=0;t--)this.handlers[t]===e&&this.handlers.splice(t,1)}},{key:"dispatch",value:function(){for(var e=0,t=this.handlers.length;e<t;e++){var i=this.handlers[e];"function"==typeof i&&i.apply(this.el,arguments)}}}]);function Z(e,t){var i=new G(e);return i.add(t),i}var U=i((function t(i,n){e(this,t),this.element="string"==typeof i?document.querySelector(i):i,this.start=this.start.bind(this),this.move=this.move.bind(this),this.end=this.end.bind(this),this.cancel=this.cancel.bind(this),this.element.addEventListener("touchstart",this.start,!1),this.element.addEventListener("touchmove",this.move,!1),this.element.addEventListener("touchend",this.end,!1),this.element.addEventListener("touchcancel",this.cancel,!1),this.preV={x:null,y:null},this.pinchStartLen=null,this.zoom=1,this.isDoubleTap=!1;var s=function(){};this.rotate=Z(this.element,n.rotate||s),this.touchStart=Z(this.element,n.touchStart||s),this.multipointStart=Z(this.element,n.multipointStart||s),this.multipointEnd=Z(this.element,n.multipointEnd||s),this.pinch=Z(this.element,n.pinch||s),this.swipe=Z(this.element,n.swipe||s),this.tap=Z(this.element,n.tap||s),this.doubleTap=Z(this.element,n.doubleTap||s),this.longTap=Z(this.element,n.longTap||s),this.singleTap=Z(this.element,n.singleTap||s),this.pressMove=Z(this.element,n.pressMove||s),this.twoFingerPressMove=Z(this.element,n.twoFingerPressMove||s),this.touchMove=Z(this.element,n.touchMove||s),this.touchEnd=Z(this.element,n.touchEnd||s),this.touchCancel=Z(this.element,n.touchCancel||s),this.translateContainer=this.element,this._cancelAllHandler=this.cancelAll.bind(this),window.addEventListener("scroll",this._cancelAllHandler),this.delta=null,this.last=null,this.now=null,this.tapTimeout=null,this.singleTapTimeout=null,this.longTapTimeout=null,this.swipeTimeout=null,this.x1=this.x2=this.y1=this.y2=null,this.preTapPosition={x:null,y:null}}),[{key:"start",value:function(e){if(e.touches)if(e.target&&e.target.nodeName&&["a","button","input"].indexOf(e.target.nodeName.toLowerCase())>=0)console.log("ignore drag for this touched element",e.target.nodeName.toLowerCase());else{this.now=Date.now(),this.x1=e.touches[0].pageX,this.y1=e.touches[0].pageY,this.delta=this.now-(this.last||this.now),this.touchStart.dispatch(e,this.element),null!==this.preTapPosition.x&&(this.isDoubleTap=this.delta>0&&this.delta<=250&&Math.abs(this.preTapPosition.x-this.x1)<30&&Math.abs(this.preTapPosition.y-this.y1)<30,this.isDoubleTap&&clearTimeout(this.singleTapTimeout)),this.preTapPosition.x=this.x1,this.preTapPosition.y=this.y1,this.last=this.now;var t=this.preV;if(e.touches.length>1){this._cancelLongTap(),this._cancelSingleTap();var i={x:e.touches[1].pageX-this.x1,y:e.touches[1].pageY-this.y1};t.x=i.x,t.y=i.y,this.pinchStartLen=F(t),this.multipointStart.dispatch(e,this.element)}this._preventTap=!1,this.longTapTimeout=setTimeout(function(){this.longTap.dispatch(e,this.element),this._preventTap=!0}.bind(this),750)}}},{key:"move",value:function(e){if(e.touches){var t=this.preV,i=e.touches.length,n=e.touches[0].pageX,s=e.touches[0].pageY;if(this.isDoubleTap=!1,i>1){var l=e.touches[1].pageX,o=e.touches[1].pageY,r={x:e.touches[1].pageX-n,y:e.touches[1].pageY-s};null!==t.x&&(this.pinchStartLen>0&&(e.zoom=F(r)/this.pinchStartLen,this.pinch.dispatch(e,this.element)),e.angle=R(r,t),this.rotate.dispatch(e,this.element)),t.x=r.x,t.y=r.y,null!==this.x2&&null!==this.sx2?(e.deltaX=(n-this.x2+l-this.sx2)/2,e.deltaY=(s-this.y2+o-this.sy2)/2):(e.deltaX=0,e.deltaY=0),this.twoFingerPressMove.dispatch(e,this.element),this.sx2=l,this.sy2=o}else{if(null!==this.x2){e.deltaX=n-this.x2,e.deltaY=s-this.y2;var a=Math.abs(this.x1-this.x2),h=Math.abs(this.y1-this.y2);(a>10||h>10)&&(this._preventTap=!0)}else e.deltaX=0,e.deltaY=0;this.pressMove.dispatch(e,this.element)}this.touchMove.dispatch(e,this.element),this._cancelLongTap(),this.x2=n,this.y2=s,i>1&&e.preventDefault()}}},{key:"end",value:function(e){if(e.changedTouches){this._cancelLongTap();var t=this;e.touches.length<2&&(this.multipointEnd.dispatch(e,this.element),this.sx2=this.sy2=null),this.x2&&Math.abs(this.x1-this.x2)>30||this.y2&&Math.abs(this.y1-this.y2)>30?(e.direction=this._swipeDirection(this.x1,this.x2,this.y1,this.y2),this.swipeTimeout=setTimeout((function(){t.swipe.dispatch(e,t.element)}),0)):(this.tapTimeout=setTimeout((function(){t._preventTap||t.tap.dispatch(e,t.element),t.isDoubleTap&&(t.doubleTap.dispatch(e,t.element),t.isDoubleTap=!1)}),0),t.isDoubleTap||(t.singleTapTimeout=setTimeout((function(){t.singleTap.dispatch(e,t.element)}),250))),this.touchEnd.dispatch(e,this.element),this.preV.x=0,this.preV.y=0,this.zoom=1,this.pinchStartLen=null,this.x1=this.x2=this.y1=this.y2=null}}},{key:"cancelAll",value:function(){this._preventTap=!0,clearTimeout(this.singleTapTimeout),clearTimeout(this.tapTimeout),clearTimeout(this.longTapTimeout),clearTimeout(this.swipeTimeout)}},{key:"cancel",value:function(e){this.cancelAll(),this.touchCancel.dispatch(e,this.element)}},{key:"_cancelLongTap",value:function(){clearTimeout(this.longTapTimeout)}},{key:"_cancelSingleTap",value:function(){clearTimeout(this.singleTapTimeout)}},{key:"_swipeDirection",value:function(e,t,i,n){return Math.abs(e-t)>=Math.abs(i-n)?e-t>0?"Left":"Right":i-n>0?"Up":"Down"}},{key:"on",value:function(e,t){this[e]&&this[e].add(t)}},{key:"off",value:function(e,t){this[e]&&this[e].del(t)}},{key:"destroy",value:function(){return this.singleTapTimeout&&clearTimeout(this.singleTapTimeout),this.tapTimeout&&clearTimeout(this.tapTimeout),this.longTapTimeout&&clearTimeout(this.longTapTimeout),this.swipeTimeout&&clearTimeout(this.swipeTimeout),this.element.removeEventListener("touchstart",this.start),this.element.removeEventListener("touchmove",this.move),this.element.removeEventListener("touchend",this.end),this.element.removeEventListener("touchcancel",this.cancel),this.rotate.del(),this.touchStart.del(),this.multipointStart.del(),this.multipointEnd.del(),this.pinch.del(),this.swipe.del(),this.tap.del(),this.doubleTap.del(),this.longTap.del(),this.singleTap.del(),this.pressMove.del(),this.twoFingerPressMove.del(),this.touchMove.del(),this.touchEnd.del(),this.touchCancel.del(),this.preV=this.pinchStartLen=this.zoom=this.isDoubleTap=this.delta=this.last=this.now=this.tapTimeout=this.singleTapTimeout=this.longTapTimeout=this.swipeTimeout=this.x1=this.x2=this.y1=this.y2=this.preTapPosition=this.rotate=this.touchStart=this.multipointStart=this.multipointEnd=this.pinch=this.swipe=this.tap=this.doubleTap=this.longTap=this.singleTap=this.pressMove=this.touchMove=this.touchEnd=this.touchCancel=this.twoFingerPressMove=null,window.removeEventListener("scroll",this._cancelAllHandler),null}}]);function $(e){var t=function(){var e,t=document.createElement("fakeelement"),i={transition:"transitionend",OTransition:"oTransitionEnd",MozTransition:"transitionend",WebkitTransition:"webkitTransitionEnd"};for(e in i)if(void 0!==t.style[e])return i[e]}(),i=window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth,n=u(e,"gslide-media")?e:e.querySelector(".gslide-media"),s=g(n,".ginner-container"),l=e.querySelector(".gslide-description");i>769&&(n=s),d(n,"greset"),f(n,"translate3d(0, 0, 0)"),h(t,{onElement:n,once:!0,withCallback:function(e,t){c(n,"greset")}}),n.style.opacity="",l&&(l.style.opacity="")}function J(e){if(e.events.hasOwnProperty("touch"))return!1;var t,i,n,s=x(),l=s.width,o=s.height,r=!1,a=null,h=null,v=null,p=!1,m=1,y=1,b=!1,S=!1,w=null,T=null,C=null,k=null,E=0,A=0,L=!1,I=!1,O={},P={},M=0,z=0,X=document.getElementById("glightbox-slider"),Y=document.querySelector(".goverlay"),q=new U(X,{touchStart:function(t){if(r=!0,(u(t.targetTouches[0].target,"ginner-container")||g(t.targetTouches[0].target,".gslide-desc")||"a"==t.targetTouches[0].target.nodeName.toLowerCase())&&(r=!1),g(t.targetTouches[0].target,".gslide-inline")&&!u(t.targetTouches[0].target.parentNode,"gslide-inline")&&(r=!1),r){if(P=t.targetTouches[0],O.pageX=t.targetTouches[0].pageX,O.pageY=t.targetTouches[0].pageY,M=t.targetTouches[0].clientX,z=t.targetTouches[0].clientY,a=e.activeSlide,h=a.querySelector(".gslide-media"),n=a.querySelector(".gslide-inline"),v=null,u(h,"gslide-image")&&(v=h.querySelector("img")),(window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth)>769&&(h=a.querySelector(".ginner-container")),c(Y,"greset"),t.pageX>20&&t.pageX<window.innerWidth-20)return;t.preventDefault()}},touchMove:function(s){if(r&&(P=s.targetTouches[0],!b&&!S)){if(n&&n.offsetHeight>o){var a=O.pageX-P.pageX;if(Math.abs(a)<=13)return!1}p=!0;var d,c=s.targetTouches[0].clientX,u=s.targetTouches[0].clientY,g=M-c,m=z-u;if(Math.abs(g)>Math.abs(m)?(L=!1,I=!0):(I=!1,L=!0),t=P.pageX-O.pageX,E=100*t/l,i=P.pageY-O.pageY,A=100*i/o,L&&v&&(d=1-Math.abs(i)/o,Y.style.opacity=d,e.settings.touchFollowAxis&&(E=0)),I&&(d=1-Math.abs(t)/l,h.style.opacity=d,e.settings.touchFollowAxis&&(A=0)),!v)return f(h,"translate3d(".concat(E,"%, 0, 0)"));f(h,"translate3d(".concat(E,"%, ").concat(A,"%, 0)"))}},touchEnd:function(){if(r){if(p=!1,S||b)return C=w,void(k=T);var t=Math.abs(parseInt(A)),i=Math.abs(parseInt(E));if(!(t>29&&v))return t<29&&i<25?(d(Y,"greset"),Y.style.opacity=1,$(h)):void 0;e.close()}},multipointEnd:function(){setTimeout((function(){b=!1}),50)},multipointStart:function(){b=!0,m=y||1},pinch:function(e){if(!v||p)return!1;b=!0,v.scaleX=v.scaleY=m*e.zoom;var t=m*e.zoom;if(S=!0,t<=1)return S=!1,t=1,k=null,C=null,w=null,T=null,void v.setAttribute("style","");t>4.5&&(t=4.5),v.style.transform="scale3d(".concat(t,", ").concat(t,", 1)"),y=t},pressMove:function(e){if(S&&!b){var t=P.pageX-O.pageX,i=P.pageY-O.pageY;C&&(t+=C),k&&(i+=k),w=t,T=i;var n="translate3d(".concat(t,"px, ").concat(i,"px, 0)");y&&(n+=" scale3d(".concat(y,", ").concat(y,", 1)")),f(v,n)}},swipe:function(t){if(!S)if(b)b=!1;else{if("Left"==t.direction){if(e.index==e.elements.length-1)return $(h);e.nextSlide()}if("Right"==t.direction){if(0==e.index)return $(h);e.prevSlide()}}}});e.events.touch=q}var K=T(),Q=null!==T()||void 0!==document.createTouch||"ontouchstart"in window||"onmsgesturechange"in window||navigator.msMaxTouchPoints,ee=document.getElementsByTagName("html")[0],te={selector:".glightbox",elements:null,skin:"clean",theme:"clean",closeButton:!0,startAt:null,autoplayVideos:!0,autofocusVideos:!0,descPosition:"bottom",width:"900px",height:"506px",videosWidth:"960px",beforeSlideChange:null,afterSlideChange:null,beforeSlideLoad:null,afterSlideLoad:null,slideInserted:null,slideRemoved:null,slideExtraAttributes:null,onOpen:null,onClose:null,loop:!1,zoomable:!0,draggable:!0,dragAutoSnap:!1,dragToleranceX:40,dragToleranceY:65,preload:!0,oneSlidePerOpen:!1,touchNavigation:!0,touchFollowAxis:!0,keyboardNavigation:!0,closeOnOutsideClick:!0,plugins:!1,plyr:{css:"https://cdn.plyr.io/3.6.12/plyr.css",js:"https://cdn.plyr.io/3.6.12/plyr.js",config:{ratio:"16:9",fullscreen:{enabled:!0,iosNative:!0},youtube:{noCookie:!0,rel:0,showinfo:0,iv_load_policy:3},vimeo:{byline:!1,portrait:!1,title:!1,transparent:!1}}},openEffect:"zoom",closeEffect:"zoom",slideEffect:"slide",moreText:"See more",moreLength:60,cssEfects:{fade:{in:"fadeIn",out:"fadeOut"},zoom:{in:"zoomIn",out:"zoomOut"},slide:{in:"slideInRight",out:"slideOutLeft"},slideBack:{in:"slideInLeft",out:"slideOutRight"},none:{in:"none",out:"none"}},svg:{close:'<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 512 512" xml:space="preserve"><g><g><path d="M505.943,6.058c-8.077-8.077-21.172-8.077-29.249,0L6.058,476.693c-8.077,8.077-8.077,21.172,0,29.249C10.096,509.982,15.39,512,20.683,512c5.293,0,10.586-2.019,14.625-6.059L505.943,35.306C514.019,27.23,514.019,14.135,505.943,6.058z"/></g></g><g><g><path d="M505.942,476.694L35.306,6.059c-8.076-8.077-21.172-8.077-29.248,0c-8.077,8.076-8.077,21.171,0,29.248l470.636,470.636c4.038,4.039,9.332,6.058,14.625,6.058c5.293,0,10.587-2.019,14.624-6.057C514.018,497.866,514.018,484.771,505.942,476.694z"/></g></g></svg>',next:'<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 477.175 477.175" xml:space="preserve"> <g><path d="M360.731,229.075l-225.1-225.1c-5.3-5.3-13.8-5.3-19.1,0s-5.3,13.8,0,19.1l215.5,215.5l-215.5,215.5c-5.3,5.3-5.3,13.8,0,19.1c2.6,2.6,6.1,4,9.5,4c3.4,0,6.9-1.3,9.5-4l225.1-225.1C365.931,242.875,365.931,234.275,360.731,229.075z"/></g></svg>',prev:'<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 477.175 477.175" xml:space="preserve"><g><path d="M145.188,238.575l215.5-215.5c5.3-5.3,5.3-13.8,0-19.1s-13.8-5.3-19.1,0l-225.1,225.1c-5.3,5.3-5.3,13.8,0,19.1l225.1,225c2.6,2.6,6.1,4,9.5,4s6.9-1.3,9.5-4c5.3-5.3,5.3-13.8,0-19.1L145.188,238.575z"/></g></svg>'},slideHTML:'<div class="gslide">\n    <div class="gslide-inner-content">\n        <div class="ginner-container">\n            <div class="gslide-media">\n            </div>\n            <div class="gslide-description">\n                <div class="gdesc-inner">\n                    <h4 class="gslide-title"></h4>\n                    <div class="gslide-desc"></div>\n                </div>\n            </div>\n        </div>\n    </div>\n</div>',lightboxHTML:'<div id="glightbox-body" class="glightbox-container" tabindex="-1" role="dialog" aria-hidden="false">\n    <div class="gloader visible"></div>\n    <div class="goverlay"></div>\n    <div class="gcontainer">\n    <div id="glightbox-slider" class="gslider"></div>\n    <button class="gclose gbtn" aria-label="Close" data-taborder="3">{closeSVG}</button>\n    <button class="gprev gbtn" aria-label="Previous" data-taborder="2">{prevSVG}</button>\n    <button class="gnext gbtn" aria-label="Next" data-taborder="1">{nextSVG}</button>\n</div>\n</div>'},ie=i((function t(){var i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};e(this,t),this.customOptions=i,this.settings=o(te,i),this.effectsClasses=this.getAnimationClasses(),this.videoPlayers={},this.apiEvents=[],this.fullElementsList=!1}),[{key:"init",value:function(){var e=this,t=this.getSelector();t&&(this.baseEvents=h("click",{onElement:t,withCallback:function(t,i){t.preventDefault(),e.open(i)}})),this.elements=this.getElements()}},{key:"open",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;if(0===this.elements.length)return!1;this.activeSlide=null,this.prevActiveSlideIndex=null,this.prevActiveSlide=null;var i=z(t)?t:this.settings.startAt;if(E(e)){var n=e.getAttribute("data-gallery");n&&(this.fullElementsList=this.elements,this.elements=this.getGalleryElements(this.elements,n)),O(i)&&(i=this.getElementIndex(e))<0&&(i=0)}z(i)||(i=0),this.build(),v(this.overlay,"none"===this.settings.openEffect?"none":this.settings.cssEfects.fade.in);var s=document.body,l=window.innerWidth-document.documentElement.clientWidth;if(l>0){var o=document.createElement("style");o.type="text/css",o.className="gcss-styles",o.innerText=".gscrollbar-fixer {margin-right: ".concat(l,"px}"),document.head.appendChild(o),d(s,"gscrollbar-fixer")}d(s,"glightbox-open"),d(ee,"glightbox-open"),K&&(d(document.body,"glightbox-mobile"),this.settings.slideEffect="slide"),this.showSlide(i,!0),1===this.elements.length?(d(this.prevButton,"glightbox-button-hidden"),d(this.nextButton,"glightbox-button-hidden")):(c(this.prevButton,"glightbox-button-hidden"),c(this.nextButton,"glightbox-button-hidden")),this.lightboxOpen=!0,this.trigger("open"),C(this.settings.onOpen)&&this.settings.onOpen(),Q&&this.settings.touchNavigation&&J(this),this.settings.keyboardNavigation&&Y(this)}},{key:"openAt",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;this.open(null,e)}},{key:"showSlide",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,i=arguments.length>1&&void 0!==arguments[1]&&arguments[1];p(this.loader),this.index=parseInt(t);var n=this.slidesContainer.querySelector(".current");n&&c(n,"current"),this.slideAnimateOut();var s=this.slidesContainer.querySelectorAll(".gslide")[t];if(u(s,"loaded"))this.slideAnimateIn(s,i),m(this.loader);else{p(this.loader);var l=this.elements[t],o={index:this.index,slide:s,slideNode:s,slideConfig:l.slideConfig,slideIndex:this.index,trigger:l.node,player:null};this.trigger("slide_before_load",o),l.instance.setContent(s,(function(){m(e.loader),e.resize(),e.slideAnimateIn(s,i),e.trigger("slide_after_load",o)}))}this.slideDescription=s.querySelector(".gslide-description"),this.slideDescriptionContained=this.slideDescription&&u(this.slideDescription.parentNode,"gslide-media"),this.settings.preload&&(this.preloadSlide(t+1),this.preloadSlide(t-1)),this.updateNavigationClasses(),this.activeSlide=s}},{key:"preloadSlide",value:function(e){var t=this;if(e<0||e>this.elements.length-1)return!1;if(O(this.elements[e]))return!1;var i=this.slidesContainer.querySelectorAll(".gslide")[e];if(u(i,"loaded"))return!1;var n=this.elements[e],s=n.type,l={index:e,slide:i,slideNode:i,slideConfig:n.slideConfig,slideIndex:e,trigger:n.node,player:null};this.trigger("slide_before_load",l),"video"===s||"external"===s?setTimeout((function(){n.instance.setContent(i,(function(){t.trigger("slide_after_load",l)}))}),200):n.instance.setContent(i,(function(){t.trigger("slide_after_load",l)}))}},{key:"prevSlide",value:function(){this.goToSlide(this.index-1)}},{key:"nextSlide",value:function(){this.goToSlide(this.index+1)}},{key:"goToSlide",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(this.prevActiveSlide=this.activeSlide,this.prevActiveSlideIndex=this.index,!this.loop()&&(e<0||e>this.elements.length-1))return!1;e<0?e=this.elements.length-1:e>=this.elements.length&&(e=0),this.showSlide(e)}},{key:"insertSlide",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:-1;t<0&&(t=this.elements.length);var i=new V(e,this,t),n=i.getConfig(),s=o({},n),l=i.create(),r=this.elements.length-1;s.index=t,s.node=!1,s.instance=i,s.slideConfig=n,this.elements.splice(t,0,s);var a=null,h=null;if(this.slidesContainer){if(t>r)this.slidesContainer.appendChild(l);else{var d=this.slidesContainer.querySelectorAll(".gslide")[t];this.slidesContainer.insertBefore(l,d)}(this.settings.preload&&0==this.index&&0==t||this.index-1==t||this.index+1==t)&&this.preloadSlide(t),0===this.index&&0===t&&(this.index=1),this.updateNavigationClasses(),a=this.slidesContainer.querySelectorAll(".gslide")[t],h=this.getSlidePlayerInstance(t),s.slideNode=a}this.trigger("slide_inserted",{index:t,slide:a,slideNode:a,slideConfig:n,slideIndex:t,trigger:null,player:h}),C(this.settings.slideInserted)&&this.settings.slideInserted({index:t,slide:a,player:h})}},{key:"removeSlide",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:-1;if(e<0||e>this.elements.length-1)return!1;var t=this.slidesContainer&&this.slidesContainer.querySelectorAll(".gslide")[e];t&&(this.getActiveSlideIndex()==e&&(e==this.elements.length-1?this.prevSlide():this.nextSlide()),t.parentNode.removeChild(t)),this.elements.splice(e,1),this.trigger("slide_removed",e),C(this.settings.slideRemoved)&&this.settings.slideRemoved(e)}},{key:"slideAnimateIn",value:function(e,t){var i=this,n=e.querySelector(".gslide-media"),s=e.querySelector(".gslide-description"),l={index:this.prevActiveSlideIndex,slide:this.prevActiveSlide,slideNode:this.prevActiveSlide,slideIndex:this.prevActiveSlide,slideConfig:O(this.prevActiveSlideIndex)?null:this.elements[this.prevActiveSlideIndex].slideConfig,trigger:O(this.prevActiveSlideIndex)?null:this.elements[this.prevActiveSlideIndex].node,player:this.getSlidePlayerInstance(this.prevActiveSlideIndex)},o={index:this.index,slide:this.activeSlide,slideNode:this.activeSlide,slideConfig:this.elements[this.index].slideConfig,slideIndex:this.index,trigger:this.elements[this.index].node,player:this.getSlidePlayerInstance(this.index)};if(n.offsetWidth>0&&s&&(m(s),s.style.display=""),c(e,this.effectsClasses),t)v(e,this.settings.cssEfects[this.settings.openEffect].in,(function(){i.settings.autoplayVideos&&i.slidePlayerPlay(e),i.trigger("slide_changed",{prev:l,current:o}),C(i.settings.afterSlideChange)&&i.settings.afterSlideChange.apply(i,[l,o])}));else{var r=this.settings.slideEffect,a="none"!==r?this.settings.cssEfects[r].in:r;this.prevActiveSlideIndex>this.index&&"slide"==this.settings.slideEffect&&(a=this.settings.cssEfects.slideBack.in),v(e,a,(function(){i.settings.autoplayVideos&&i.slidePlayerPlay(e),i.trigger("slide_changed",{prev:l,current:o}),C(i.settings.afterSlideChange)&&i.settings.afterSlideChange.apply(i,[l,o])}))}setTimeout((function(){i.resize(e)}),100),d(e,"current")}},{key:"slideAnimateOut",value:function(){if(!this.prevActiveSlide)return!1;var e=this.prevActiveSlide;c(e,this.effectsClasses),d(e,"prev");var t=this.settings.slideEffect,i="none"!==t?this.settings.cssEfects[t].out:t;this.slidePlayerPause(e),this.trigger("slide_before_change",{prev:{index:this.prevActiveSlideIndex,slide:this.prevActiveSlide,slideNode:this.prevActiveSlide,slideIndex:this.prevActiveSlideIndex,slideConfig:O(this.prevActiveSlideIndex)?null:this.elements[this.prevActiveSlideIndex].slideConfig,trigger:O(this.prevActiveSlideIndex)?null:this.elements[this.prevActiveSlideIndex].node,player:this.getSlidePlayerInstance(this.prevActiveSlideIndex)},current:{index:this.index,slide:this.activeSlide,slideNode:this.activeSlide,slideIndex:this.index,slideConfig:this.elements[this.index].slideConfig,trigger:this.elements[this.index].node,player:this.getSlidePlayerInstance(this.index)}}),C(this.settings.beforeSlideChange)&&this.settings.beforeSlideChange.apply(this,[{index:this.prevActiveSlideIndex,slide:this.prevActiveSlide,player:this.getSlidePlayerInstance(this.prevActiveSlideIndex)},{index:this.index,slide:this.activeSlide,player:this.getSlidePlayerInstance(this.index)}]),this.prevActiveSlideIndex>this.index&&"slide"==this.settings.slideEffect&&(i=this.settings.cssEfects.slideBack.out),v(e,i,(function(){var t=e.querySelector(".ginner-container"),i=e.querySelector(".gslide-media"),n=e.querySelector(".gslide-description");t.style.transform="",i.style.transform="",c(i,"greset"),i.style.opacity="",n&&(n.style.opacity=""),c(e,"prev")}))}},{key:"getAllPlayers",value:function(){return this.videoPlayers}},{key:"getSlidePlayerInstance",value:function(e){var t="gvideo"+e,i=this.getAllPlayers();return!(!P(i,t)||!i[t])&&i[t]}},{key:"stopSlideVideo",value:function(e){if(E(e)){var t=e.querySelector(".gvideo-wrapper");t&&(e=t.getAttribute("data-index"))}console.log("stopSlideVideo is deprecated, use slidePlayerPause");var i=this.getSlidePlayerInstance(e);i&&i.playing&&i.pause()}},{key:"slidePlayerPause",value:function(e){if(E(e)){var t=e.querySelector(".gvideo-wrapper");t&&(e=t.getAttribute("data-index"))}var i=this.getSlidePlayerInstance(e);i&&i.playing&&i.pause()}},{key:"playSlideVideo",value:function(e){if(E(e)){var t=e.querySelector(".gvideo-wrapper");t&&(e=t.getAttribute("data-index"))}console.log("playSlideVideo is deprecated, use slidePlayerPlay");var i=this.getSlidePlayerInstance(e);i&&!i.playing&&i.play()}},{key:"slidePlayerPlay",value:function(e){var t;if(!K||null!==(t=this.settings.plyr.config)&&void 0!==t&&t.muted){if(E(e)){var i=e.querySelector(".gvideo-wrapper");i&&(e=i.getAttribute("data-index"))}var n=this.getSlidePlayerInstance(e);n&&!n.playing&&(n.play(),this.settings.autofocusVideos&&n.elements.container.focus())}}},{key:"setElements",value:function(e){var t=this;this.settings.elements=!1;var i=[];e&&e.length&&r(e,(function(e,n){var s=new V(e,t,n),l=s.getConfig(),r=o({},l);r.slideConfig=l,r.instance=s,r.index=n,i.push(r)})),this.elements=i,this.lightboxOpen&&(this.slidesContainer.innerHTML="",this.elements.length&&(r(this.elements,(function(){var e=y(t.settings.slideHTML);t.slidesContainer.appendChild(e)})),this.showSlide(0,!0)))}},{key:"getElementIndex",value:function(e){var t=!1;return r(this.elements,(function(i,n){if(P(i,"node")&&i.node==e)return t=n,!0})),t}},{key:"getElements",value:function(){var e=this,t=[];this.elements=this.elements?this.elements:[],!O(this.settings.elements)&&A(this.settings.elements)&&this.settings.elements.length&&r(this.settings.elements,(function(i,n){var s=new V(i,e,n),l=s.getConfig(),r=o({},l);r.node=!1,r.index=n,r.instance=s,r.slideConfig=l,t.push(r)}));var i=!1;return this.getSelector()&&(i=document.querySelectorAll(this.getSelector())),i?(r(i,(function(i,n){var s=new V(i,e,n),l=s.getConfig(),r=o({},l);r.node=i,r.index=n,r.instance=s,r.slideConfig=l,r.gallery=i.getAttribute("data-gallery"),t.push(r)})),t):t}},{key:"getGalleryElements",value:function(e,t){return e.filter((function(e){return e.gallery==t}))}},{key:"getSelector",value:function(){return!this.settings.elements&&(this.settings.selector&&"data-"==this.settings.selector.substring(0,5)?"*[".concat(this.settings.selector,"]"):this.settings.selector)}},{key:"getActiveSlide",value:function(){return this.slidesContainer.querySelectorAll(".gslide")[this.index]}},{key:"getActiveSlideIndex",value:function(){return this.index}},{key:"getAnimationClasses",value:function(){var e=[];for(var t in this.settings.cssEfects)if(this.settings.cssEfects.hasOwnProperty(t)){var i=this.settings.cssEfects[t];e.push("g".concat(i.in)),e.push("g".concat(i.out))}return e.join(" ")}},{key:"build",value:function(){var e=this;if(this.built)return!1;var t=document.body.childNodes,i=[];r(t,(function(e){e.parentNode==document.body&&"#"!==e.nodeName.charAt(0)&&e.hasAttribute&&!e.hasAttribute("aria-hidden")&&(i.push(e),e.setAttribute("aria-hidden","true"))}));var n=P(this.settings.svg,"next")?this.settings.svg.next:"",s=P(this.settings.svg,"prev")?this.settings.svg.prev:"",l=P(this.settings.svg,"close")?this.settings.svg.close:"",o=this.settings.lightboxHTML;o=y(o=(o=(o=o.replace(/{nextSVG}/g,n)).replace(/{prevSVG}/g,s)).replace(/{closeSVG}/g,l)),document.body.appendChild(o);var a=document.getElementById("glightbox-body");this.modal=a;var c=a.querySelector(".gclose");this.prevButton=a.querySelector(".gprev"),this.nextButton=a.querySelector(".gnext"),this.overlay=a.querySelector(".goverlay"),this.loader=a.querySelector(".gloader"),this.slidesContainer=document.getElementById("glightbox-slider"),this.bodyHiddenChildElms=i,this.events={},d(this.modal,"glightbox-"+this.settings.skin),this.settings.closeButton&&c&&(this.events.close=h("click",{onElement:c,withCallback:function(t,i){t.preventDefault(),e.close()}})),c&&!this.settings.closeButton&&c.parentNode.removeChild(c),this.nextButton&&(this.events.next=h("click",{onElement:this.nextButton,withCallback:function(t,i){t.preventDefault(),e.nextSlide()}})),this.prevButton&&(this.events.prev=h("click",{onElement:this.prevButton,withCallback:function(t,i){t.preventDefault(),e.prevSlide()}})),this.settings.closeOnOutsideClick&&(this.events.outClose=h("click",{onElement:a,withCallback:function(t,i){e.preventOutsideClick||u(document.body,"glightbox-mobile")||g(t.target,".ginner-container")||g(t.target,".gbtn")||u(t.target,"gnext")||u(t.target,"gprev")||e.close()}})),r(this.elements,(function(t,i){e.slidesContainer.appendChild(t.instance.create()),t.slideNode=e.slidesContainer.querySelectorAll(".gslide")[i]})),Q&&d(document.body,"glightbox-touch"),this.events.resize=h("resize",{onElement:window,withCallback:function(){e.resize()}}),this.built=!0}},{key:"resize",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;if((e=e||this.activeSlide)&&!u(e,"zoomed")){var t=x(),i=e.querySelector(".gvideo-wrapper"),n=e.querySelector(".gslide-image"),s=this.slideDescription,l=t.width,o=t.height;if(l<=768?d(document.body,"glightbox-mobile"):c(document.body,"glightbox-mobile"),i||n){var r=!1;if(s&&(u(s,"description-bottom")||u(s,"description-top"))&&!u(s,"gabsolute")&&(r=!0),n)if(l<=768)n.querySelector("img");else if(r){var a,h,g=s.offsetHeight,v=n.querySelector("img"),f=null===(a=this.elements[this.index])||void 0===a?void 0:a.node,p="100vh";f&&(p=null!==(h=f.getAttribute("data-height"))&&void 0!==h?h:p),v.setAttribute("style","max-height: calc(".concat(p," - ").concat(g,"px)")),s.setAttribute("style","max-width: ".concat(v.offsetWidth,"px;"))}if(i){var m=P(this.settings.plyr.config,"ratio")?this.settings.plyr.config.ratio:"";if(!m){var y=i.clientWidth,b=i.clientHeight,S=y/b;m="".concat(y/S,":").concat(b/S)}var w=m.split(":"),T=this.settings.videosWidth,C=this.settings.videosWidth,k=(C=z(T)||-1!==T.indexOf("px")?parseInt(T):-1!==T.indexOf("vw")?l*parseInt(T)/100:-1!==T.indexOf("vh")?o*parseInt(T)/100:-1!==T.indexOf("%")?l*parseInt(T)/100:parseInt(i.clientWidth))/(parseInt(w[0])/parseInt(w[1]));if(k=Math.floor(k),r&&(o-=s.offsetHeight),C>l||k>o||o<k&&l>C){var E=i.offsetWidth,A=i.offsetHeight,L=o/A,I={width:E*L,height:A*L};i.parentNode.setAttribute("style","max-width: ".concat(I.width,"px")),r&&s.setAttribute("style","max-width: ".concat(I.width,"px;"))}else i.parentNode.style.maxWidth="".concat(T),r&&s.setAttribute("style","max-width: ".concat(T,";"))}}}}},{key:"reload",value:function(){this.init()}},{key:"updateNavigationClasses",value:function(){var e=this.loop();c(this.nextButton,"disabled"),c(this.prevButton,"disabled"),0==this.index&&this.elements.length-1==0?(d(this.prevButton,"disabled"),d(this.nextButton,"disabled")):0!==this.index||e?this.index!==this.elements.length-1||e||d(this.nextButton,"disabled"):d(this.prevButton,"disabled")}},{key:"loop",value:function(){var e=P(this.settings,"loopAtEnd")?this.settings.loopAtEnd:null;return e=P(this.settings,"loop")?this.settings.loop:e,e}},{key:"close",value:function(){var e=this;if(!this.lightboxOpen){if(this.events){for(var t in this.events)this.events.hasOwnProperty(t)&&this.events[t].destroy();this.events=null}return!1}if(this.closing)return!1;this.closing=!0,this.slidePlayerPause(this.activeSlide),this.fullElementsList&&(this.elements=this.fullElementsList),this.bodyHiddenChildElms.length&&r(this.bodyHiddenChildElms,(function(e){e.removeAttribute("aria-hidden")})),d(this.modal,"glightbox-closing"),v(this.overlay,"none"==this.settings.openEffect?"none":this.settings.cssEfects.fade.out),v(this.activeSlide,this.settings.cssEfects[this.settings.closeEffect].out,(function(){if(e.activeSlide=null,e.prevActiveSlideIndex=null,e.prevActiveSlide=null,e.built=!1,e.events){for(var t in e.events)e.events.hasOwnProperty(t)&&e.events[t].destroy();e.events=null}var i=document.body;c(ee,"glightbox-open"),c(i,"glightbox-open touching gdesc-open glightbox-touch glightbox-mobile gscrollbar-fixer"),e.modal.parentNode.removeChild(e.modal),e.trigger("close"),C(e.settings.onClose)&&e.settings.onClose();var n=document.querySelector(".gcss-styles");n&&n.parentNode.removeChild(n),e.lightboxOpen=!1,e.closing=null}))}},{key:"destroy",value:function(){this.close(),this.clearAllEvents(),this.baseEvents&&this.baseEvents.destroy()}},{key:"on",value:function(e,t){var i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(!e||!C(t))throw new TypeError("Event name and callback must be defined");this.apiEvents.push({evt:e,once:i,callback:t})}},{key:"once",value:function(e,t){this.on(e,t,!0)}},{key:"trigger",value:function(e){var t=this,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=[];r(this.apiEvents,(function(t,s){var l=t.evt,o=t.once,r=t.callback;l==e&&(r(i),o&&n.push(s))})),n.length&&r(n,(function(e){return t.apiEvents.splice(e,1)}))}},{key:"clearAllEvents",value:function(){this.apiEvents.splice(0,this.apiEvents.length)}},{key:"version",value:function(){return"3.3.1"}}]);return function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=new ie(e);return t.init(),t}}));
!function(e,t){"function"==typeof define&&define.amd?define("ev-emitter/ev-emitter",t):"object"==typeof module&&module.exports?module.exports=t():e.EvEmitter=t()}("undefined"!=typeof window?window:this,function(){function e(){}var t=e.prototype;return t.on=function(e,t){if(e&&t){var i=this._events=this._events||{},n=i[e]=i[e]||[];return n.indexOf(t)==-1&&n.push(t),this}},t.once=function(e,t){if(e&&t){this.on(e,t);var i=this._onceEvents=this._onceEvents||{},n=i[e]=i[e]||{};return n[t]=!0,this}},t.off=function(e,t){var i=this._events&&this._events[e];if(i&&i.length){var n=i.indexOf(t);return n!=-1&&i.splice(n,1),this}},t.emitEvent=function(e,t){var i=this._events&&this._events[e];if(i&&i.length){i=i.slice(0),t=t||[];for(var n=this._onceEvents&&this._onceEvents[e],o=0;o<i.length;o++){var r=i[o],s=n&&n[r];s&&(this.off(e,r),delete n[r]),r.apply(this,t)}return this}},t.allOff=function(){delete this._events,delete this._onceEvents},e}),function(e,t){"use strict";"function"==typeof define&&define.amd?define(["ev-emitter/ev-emitter"],function(i){return t(e,i)}):"object"==typeof module&&module.exports?module.exports=t(e,require("ev-emitter")):e.imagesLoaded=t(e,e.EvEmitter)}("undefined"!=typeof window?window:this,function(e,t){function i(e,t){for(var i in t)e[i]=t[i];return e}function n(e){if(Array.isArray(e))return e;var t="object"==typeof e&&"number"==typeof e.length;return t?d.call(e):[e]}function o(e,t,r){if(!(this instanceof o))return new o(e,t,r);var s=e;return"string"==typeof e&&(s=document.querySelectorAll(e)),s?(this.elements=n(s),this.options=i({},this.options),"function"==typeof t?r=t:i(this.options,t),r&&this.on("always",r),this.getImages(),h&&(this.jqDeferred=new h.Deferred),void setTimeout(this.check.bind(this))):void a.error("Bad element for imagesLoaded "+(s||e))}function r(e){this.img=e}function s(e,t){this.url=e,this.element=t,this.img=new Image}var h=e.jQuery,a=e.console,d=Array.prototype.slice;o.prototype=Object.create(t.prototype),o.prototype.options={},o.prototype.getImages=function(){this.images=[],this.elements.forEach(this.addElementImages,this)},o.prototype.addElementImages=function(e){"IMG"==e.nodeName&&this.addImage(e),this.options.background===!0&&this.addElementBackgroundImages(e);var t=e.nodeType;if(t&&u[t]){for(var i=e.querySelectorAll("img"),n=0;n<i.length;n++){var o=i[n];this.addImage(o)}if("string"==typeof this.options.background){var r=e.querySelectorAll(this.options.background);for(n=0;n<r.length;n++){var s=r[n];this.addElementBackgroundImages(s)}}}};var u={1:!0,9:!0,11:!0};return o.prototype.addElementBackgroundImages=function(e){var t=getComputedStyle(e);if(t)for(var i=/url\((['"])?(.*?)\1\)/gi,n=i.exec(t.backgroundImage);null!==n;){var o=n&&n[2];o&&this.addBackground(o,e),n=i.exec(t.backgroundImage)}},o.prototype.addImage=function(e){var t=new r(e);this.images.push(t)},o.prototype.addBackground=function(e,t){var i=new s(e,t);this.images.push(i)},o.prototype.check=function(){function e(e,i,n){setTimeout(function(){t.progress(e,i,n)})}var t=this;return this.progressedCount=0,this.hasAnyBroken=!1,this.images.length?void this.images.forEach(function(t){t.once("progress",e),t.check()}):void this.complete()},o.prototype.progress=function(e,t,i){this.progressedCount++,this.hasAnyBroken=this.hasAnyBroken||!e.isLoaded,this.emitEvent("progress",[this,e,t]),this.jqDeferred&&this.jqDeferred.notify&&this.jqDeferred.notify(this,e),this.progressedCount==this.images.length&&this.complete(),this.options.debug&&a&&a.log("progress: "+i,e,t)},o.prototype.complete=function(){var e=this.hasAnyBroken?"fail":"done";if(this.isComplete=!0,this.emitEvent(e,[this]),this.emitEvent("always",[this]),this.jqDeferred){var t=this.hasAnyBroken?"reject":"resolve";this.jqDeferred[t](this)}},r.prototype=Object.create(t.prototype),r.prototype.check=function(){var e=this.getIsImageComplete();return e?void this.confirm(0!==this.img.naturalWidth,"naturalWidth"):(this.proxyImage=new Image,this.proxyImage.addEventListener("load",this),this.proxyImage.addEventListener("error",this),this.img.addEventListener("load",this),this.img.addEventListener("error",this),void(this.proxyImage.src=this.img.src))},r.prototype.getIsImageComplete=function(){return this.img.complete&&this.img.naturalWidth},r.prototype.confirm=function(e,t){this.isLoaded=e,this.emitEvent("progress",[this,this.img,t])},r.prototype.handleEvent=function(e){var t="on"+e.type;this[t]&&this[t](e)},r.prototype.onload=function(){this.confirm(!0,"onload"),this.unbindEvents()},r.prototype.onerror=function(){this.confirm(!1,"onerror"),this.unbindEvents()},r.prototype.unbindEvents=function(){this.proxyImage.removeEventListener("load",this),this.proxyImage.removeEventListener("error",this),this.img.removeEventListener("load",this),this.img.removeEventListener("error",this)},s.prototype=Object.create(r.prototype),s.prototype.check=function(){this.img.addEventListener("load",this),this.img.addEventListener("error",this),this.img.src=this.url;var e=this.getIsImageComplete();e&&(this.confirm(0!==this.img.naturalWidth,"naturalWidth"),this.unbindEvents())},s.prototype.unbindEvents=function(){this.img.removeEventListener("load",this),this.img.removeEventListener("error",this)},s.prototype.confirm=function(e,t){this.isLoaded=e,this.emitEvent("progress",[this,this.element,t])},o.makeJQueryPlugin=function(t){t=t||e.jQuery,t&&(h=t,h.fn.imagesLoaded=function(e,t){var i=new o(this,e,t);return i.jqDeferred.promise(h(this))})},o.makeJQueryPlugin(),o});
!function(t,e){"function"==typeof define&&define.amd?define("jquery-bridget/jquery-bridget",["jquery"],function(i){return e(t,i)}):"object"==typeof module&&module.exports?module.exports=e(t,require("jquery")):t.jQueryBridget=e(t,t.jQuery)}(window,function(t,e){"use strict";function i(i,r,a){function h(t,e,n){var o,r="$()."+i+'("'+e+'")';return t.each(function(t,h){var u=a.data(h,i);if(!u)return void s(i+" not initialized. Cannot call methods, i.e. "+r);var d=u[e];if(!d||"_"==e.charAt(0))return void s(r+" is not a valid method");var l=d.apply(u,n);o=void 0===o?l:o}),void 0!==o?o:t}function u(t,e){t.each(function(t,n){var o=a.data(n,i);o?(o.option(e),o._init()):(o=new r(n,e),a.data(n,i,o))})}a=a||e||t.jQuery,a&&(r.prototype.option||(r.prototype.option=function(t){a.isPlainObject(t)&&(this.options=a.extend(!0,this.options,t))}),a.fn[i]=function(t){if("string"==typeof t){var e=o.call(arguments,1);return h(this,t,e)}return u(this,t),this},n(a))}function n(t){!t||t&&t.bridget||(t.bridget=i)}var o=Array.prototype.slice,r=t.console,s="undefined"==typeof r?function(){}:function(t){r.error(t)};return n(e||t.jQuery),i}),function(t,e){"function"==typeof define&&define.amd?define("ev-emitter/ev-emitter",e):"object"==typeof module&&module.exports?module.exports=e():t.EvEmitter=e()}("undefined"!=typeof window?window:this,function(){function t(){}var e=t.prototype;return e.on=function(t,e){if(t&&e){var i=this._events=this._events||{},n=i[t]=i[t]||[];return-1==n.indexOf(e)&&n.push(e),this}},e.once=function(t,e){if(t&&e){this.on(t,e);var i=this._onceEvents=this._onceEvents||{},n=i[t]=i[t]||{};return n[e]=!0,this}},e.off=function(t,e){var i=this._events&&this._events[t];if(i&&i.length){var n=i.indexOf(e);return-1!=n&&i.splice(n,1),this}},e.emitEvent=function(t,e){var i=this._events&&this._events[t];if(i&&i.length){i=i.slice(0),e=e||[];for(var n=this._onceEvents&&this._onceEvents[t],o=0;o<i.length;o++){var r=i[o],s=n&&n[r];s&&(this.off(t,r),delete n[r]),r.apply(this,e)}return this}},e.allOff=function(){delete this._events,delete this._onceEvents},t}),function(t,e){"function"==typeof define&&define.amd?define("get-size/get-size",e):"object"==typeof module&&module.exports?module.exports=e():t.getSize=e()}(window,function(){"use strict";function t(t){var e=parseFloat(t),i=-1==t.indexOf("%")&&!isNaN(e);return i&&e}function e(){}function i(){for(var t={width:0,height:0,innerWidth:0,innerHeight:0,outerWidth:0,outerHeight:0},e=0;u>e;e++){var i=h[e];t[i]=0}return t}function n(t){var e=getComputedStyle(t);return e||a("Style returned "+e+". Are you running this code in a hidden iframe on Firefox? See https://bit.ly/getsizebug1"),e}function o(){if(!d){d=!0;var e=document.createElement("div");e.style.width="200px",e.style.padding="1px 2px 3px 4px",e.style.borderStyle="solid",e.style.borderWidth="1px 2px 3px 4px",e.style.boxSizing="border-box";var i=document.body||document.documentElement;i.appendChild(e);var o=n(e);s=200==Math.round(t(o.width)),r.isBoxSizeOuter=s,i.removeChild(e)}}function r(e){if(o(),"string"==typeof e&&(e=document.querySelector(e)),e&&"object"==typeof e&&e.nodeType){var r=n(e);if("none"==r.display)return i();var a={};a.width=e.offsetWidth,a.height=e.offsetHeight;for(var d=a.isBorderBox="border-box"==r.boxSizing,l=0;u>l;l++){var c=h[l],f=r[c],m=parseFloat(f);a[c]=isNaN(m)?0:m}var p=a.paddingLeft+a.paddingRight,g=a.paddingTop+a.paddingBottom,y=a.marginLeft+a.marginRight,v=a.marginTop+a.marginBottom,_=a.borderLeftWidth+a.borderRightWidth,z=a.borderTopWidth+a.borderBottomWidth,E=d&&s,b=t(r.width);b!==!1&&(a.width=b+(E?0:p+_));var x=t(r.height);return x!==!1&&(a.height=x+(E?0:g+z)),a.innerWidth=a.width-(p+_),a.innerHeight=a.height-(g+z),a.outerWidth=a.width+y,a.outerHeight=a.height+v,a}}var s,a="undefined"==typeof console?e:function(t){console.error(t)},h=["paddingLeft","paddingRight","paddingTop","paddingBottom","marginLeft","marginRight","marginTop","marginBottom","borderLeftWidth","borderRightWidth","borderTopWidth","borderBottomWidth"],u=h.length,d=!1;return r}),function(t,e){"use strict";"function"==typeof define&&define.amd?define("desandro-matches-selector/matches-selector",e):"object"==typeof module&&module.exports?module.exports=e():t.matchesSelector=e()}(window,function(){"use strict";var t=function(){var t=window.Element.prototype;if(t.matches)return"matches";if(t.matchesSelector)return"matchesSelector";for(var e=["webkit","moz","ms","o"],i=0;i<e.length;i++){var n=e[i],o=n+"MatchesSelector";if(t[o])return o}}();return function(e,i){return e[t](i)}}),function(t,e){"function"==typeof define&&define.amd?define("fizzy-ui-utils/utils",["desandro-matches-selector/matches-selector"],function(i){return e(t,i)}):"object"==typeof module&&module.exports?module.exports=e(t,require("desandro-matches-selector")):t.fizzyUIUtils=e(t,t.matchesSelector)}(window,function(t,e){var i={};i.extend=function(t,e){for(var i in e)t[i]=e[i];return t},i.modulo=function(t,e){return(t%e+e)%e};var n=Array.prototype.slice;i.makeArray=function(t){if(Array.isArray(t))return t;if(null===t||void 0===t)return[];var e="object"==typeof t&&"number"==typeof t.length;return e?n.call(t):[t]},i.removeFrom=function(t,e){var i=t.indexOf(e);-1!=i&&t.splice(i,1)},i.getParent=function(t,i){for(;t.parentNode&&t!=document.body;)if(t=t.parentNode,e(t,i))return t},i.getQueryElement=function(t){return"string"==typeof t?document.querySelector(t):t},i.handleEvent=function(t){var e="on"+t.type;this[e]&&this[e](t)},i.filterFindElements=function(t,n){t=i.makeArray(t);var o=[];return t.forEach(function(t){if(t instanceof HTMLElement){if(!n)return void o.push(t);e(t,n)&&o.push(t);for(var i=t.querySelectorAll(n),r=0;r<i.length;r++)o.push(i[r])}}),o},i.debounceMethod=function(t,e,i){i=i||100;var n=t.prototype[e],o=e+"Timeout";t.prototype[e]=function(){var t=this[o];clearTimeout(t);var e=arguments,r=this;this[o]=setTimeout(function(){n.apply(r,e),delete r[o]},i)}},i.docReady=function(t){var e=document.readyState;"complete"==e||"interactive"==e?setTimeout(t):document.addEventListener("DOMContentLoaded",t)},i.toDashed=function(t){return t.replace(/(.)([A-Z])/g,function(t,e,i){return e+"-"+i}).toLowerCase()};var o=t.console;return i.htmlInit=function(e,n){i.docReady(function(){var r=i.toDashed(n),s="data-"+r,a=document.querySelectorAll("["+s+"]"),h=document.querySelectorAll(".js-"+r),u=i.makeArray(a).concat(i.makeArray(h)),d=s+"-options",l=t.jQuery;u.forEach(function(t){var i,r=t.getAttribute(s)||t.getAttribute(d);try{i=r&&JSON.parse(r)}catch(a){return void(o&&o.error("Error parsing "+s+" on "+t.className+": "+a))}var h=new e(t,i);l&&l.data(t,n,h)})})},i}),function(t,e){"function"==typeof define&&define.amd?define("outlayer/item",["ev-emitter/ev-emitter","get-size/get-size"],e):"object"==typeof module&&module.exports?module.exports=e(require("ev-emitter"),require("get-size")):(t.Outlayer={},t.Outlayer.Item=e(t.EvEmitter,t.getSize))}(window,function(t,e){"use strict";function i(t){for(var e in t)return!1;return e=null,!0}function n(t,e){t&&(this.element=t,this.layout=e,this.position={x:0,y:0},this._create())}function o(t){return t.replace(/([A-Z])/g,function(t){return"-"+t.toLowerCase()})}var r=document.documentElement.style,s="string"==typeof r.transition?"transition":"WebkitTransition",a="string"==typeof r.transform?"transform":"WebkitTransform",h={WebkitTransition:"webkitTransitionEnd",transition:"transitionend"}[s],u={transform:a,transition:s,transitionDuration:s+"Duration",transitionProperty:s+"Property",transitionDelay:s+"Delay"},d=n.prototype=Object.create(t.prototype);d.constructor=n,d._create=function(){this._transn={ingProperties:{},clean:{},onEnd:{}},this.css({position:"absolute"})},d.handleEvent=function(t){var e="on"+t.type;this[e]&&this[e](t)},d.getSize=function(){this.size=e(this.element)},d.css=function(t){var e=this.element.style;for(var i in t){var n=u[i]||i;e[n]=t[i]}},d.getPosition=function(){var t=getComputedStyle(this.element),e=this.layout._getOption("originLeft"),i=this.layout._getOption("originTop"),n=t[e?"left":"right"],o=t[i?"top":"bottom"],r=parseFloat(n),s=parseFloat(o),a=this.layout.size;-1!=n.indexOf("%")&&(r=r/100*a.width),-1!=o.indexOf("%")&&(s=s/100*a.height),r=isNaN(r)?0:r,s=isNaN(s)?0:s,r-=e?a.paddingLeft:a.paddingRight,s-=i?a.paddingTop:a.paddingBottom,this.position.x=r,this.position.y=s},d.layoutPosition=function(){var t=this.layout.size,e={},i=this.layout._getOption("originLeft"),n=this.layout._getOption("originTop"),o=i?"paddingLeft":"paddingRight",r=i?"left":"right",s=i?"right":"left",a=this.position.x+t[o];e[r]=this.getXValue(a),e[s]="";var h=n?"paddingTop":"paddingBottom",u=n?"top":"bottom",d=n?"bottom":"top",l=this.position.y+t[h];e[u]=this.getYValue(l),e[d]="",this.css(e),this.emitEvent("layout",[this])},d.getXValue=function(t){var e=this.layout._getOption("horizontal");return this.layout.options.percentPosition&&!e?t/this.layout.size.width*100+"%":t+"px"},d.getYValue=function(t){var e=this.layout._getOption("horizontal");return this.layout.options.percentPosition&&e?t/this.layout.size.height*100+"%":t+"px"},d._transitionTo=function(t,e){this.getPosition();var i=this.position.x,n=this.position.y,o=t==this.position.x&&e==this.position.y;if(this.setPosition(t,e),o&&!this.isTransitioning)return void this.layoutPosition();var r=t-i,s=e-n,a={};a.transform=this.getTranslate(r,s),this.transition({to:a,onTransitionEnd:{transform:this.layoutPosition},isCleaning:!0})},d.getTranslate=function(t,e){var i=this.layout._getOption("originLeft"),n=this.layout._getOption("originTop");return t=i?t:-t,e=n?e:-e,"translate3d("+t+"px, "+e+"px, 0)"},d.goTo=function(t,e){this.setPosition(t,e),this.layoutPosition()},d.moveTo=d._transitionTo,d.setPosition=function(t,e){this.position.x=parseFloat(t),this.position.y=parseFloat(e)},d._nonTransition=function(t){this.css(t.to),t.isCleaning&&this._removeStyles(t.to);for(var e in t.onTransitionEnd)t.onTransitionEnd[e].call(this)},d.transition=function(t){if(!parseFloat(this.layout.options.transitionDuration))return void this._nonTransition(t);var e=this._transn;for(var i in t.onTransitionEnd)e.onEnd[i]=t.onTransitionEnd[i];for(i in t.to)e.ingProperties[i]=!0,t.isCleaning&&(e.clean[i]=!0);if(t.from){this.css(t.from);var n=this.element.offsetHeight;n=null}this.enableTransition(t.to),this.css(t.to),this.isTransitioning=!0};var l="opacity,"+o(a);d.enableTransition=function(){if(!this.isTransitioning){var t=this.layout.options.transitionDuration;t="number"==typeof t?t+"ms":t,this.css({transitionProperty:l,transitionDuration:t,transitionDelay:this.staggerDelay||0}),this.element.addEventListener(h,this,!1)}},d.onwebkitTransitionEnd=function(t){this.ontransitionend(t)},d.onotransitionend=function(t){this.ontransitionend(t)};var c={"-webkit-transform":"transform"};d.ontransitionend=function(t){if(t.target===this.element){var e=this._transn,n=c[t.propertyName]||t.propertyName;if(delete e.ingProperties[n],i(e.ingProperties)&&this.disableTransition(),n in e.clean&&(this.element.style[t.propertyName]="",delete e.clean[n]),n in e.onEnd){var o=e.onEnd[n];o.call(this),delete e.onEnd[n]}this.emitEvent("transitionEnd",[this])}},d.disableTransition=function(){this.removeTransitionStyles(),this.element.removeEventListener(h,this,!1),this.isTransitioning=!1},d._removeStyles=function(t){var e={};for(var i in t)e[i]="";this.css(e)};var f={transitionProperty:"",transitionDuration:"",transitionDelay:""};return d.removeTransitionStyles=function(){this.css(f)},d.stagger=function(t){t=isNaN(t)?0:t,this.staggerDelay=t+"ms"},d.removeElem=function(){this.element.parentNode.removeChild(this.element),this.css({display:""}),this.emitEvent("remove",[this])},d.remove=function(){return s&&parseFloat(this.layout.options.transitionDuration)?(this.once("transitionEnd",function(){this.removeElem()}),void this.hide()):void this.removeElem()},d.reveal=function(){delete this.isHidden,this.css({display:""});var t=this.layout.options,e={},i=this.getHideRevealTransitionEndProperty("visibleStyle");e[i]=this.onRevealTransitionEnd,this.transition({from:t.hiddenStyle,to:t.visibleStyle,isCleaning:!0,onTransitionEnd:e})},d.onRevealTransitionEnd=function(){this.isHidden||this.emitEvent("reveal")},d.getHideRevealTransitionEndProperty=function(t){var e=this.layout.options[t];if(e.opacity)return"opacity";for(var i in e)return i},d.hide=function(){this.isHidden=!0,this.css({display:""});var t=this.layout.options,e={},i=this.getHideRevealTransitionEndProperty("hiddenStyle");e[i]=this.onHideTransitionEnd,this.transition({from:t.visibleStyle,to:t.hiddenStyle,isCleaning:!0,onTransitionEnd:e})},d.onHideTransitionEnd=function(){this.isHidden&&(this.css({display:"none"}),this.emitEvent("hide"))},d.destroy=function(){this.css({position:"",left:"",right:"",top:"",bottom:"",transition:"",transform:""})},n}),function(t,e){"use strict";"function"==typeof define&&define.amd?define("outlayer/outlayer",["ev-emitter/ev-emitter","get-size/get-size","fizzy-ui-utils/utils","./item"],function(i,n,o,r){return e(t,i,n,o,r)}):"object"==typeof module&&module.exports?module.exports=e(t,require("ev-emitter"),require("get-size"),require("fizzy-ui-utils"),require("./item")):t.Outlayer=e(t,t.EvEmitter,t.getSize,t.fizzyUIUtils,t.Outlayer.Item)}(window,function(t,e,i,n,o){"use strict";function r(t,e){var i=n.getQueryElement(t);if(!i)return void(h&&h.error("Bad element for "+this.constructor.namespace+": "+(i||t)));this.element=i,u&&(this.$element=u(this.element)),this.options=n.extend({},this.constructor.defaults),this.option(e);var o=++l;this.element.outlayerGUID=o,c[o]=this,this._create();var r=this._getOption("initLayout");r&&this.layout()}function s(t){function e(){t.apply(this,arguments)}return e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e}function a(t){if("number"==typeof t)return t;var e=t.match(/(^\d*\.?\d*)(\w*)/),i=e&&e[1],n=e&&e[2];if(!i.length)return 0;i=parseFloat(i);var o=m[n]||1;return i*o}var h=t.console,u=t.jQuery,d=function(){},l=0,c={};r.namespace="outlayer",r.Item=o,r.defaults={containerStyle:{position:"relative"},initLayout:!0,originLeft:!0,originTop:!0,resize:!0,resizeContainer:!0,transitionDuration:"0.4s",hiddenStyle:{opacity:0,transform:"scale(0.001)"},visibleStyle:{opacity:1,transform:"scale(1)"}};var f=r.prototype;n.extend(f,e.prototype),f.option=function(t){n.extend(this.options,t)},f._getOption=function(t){var e=this.constructor.compatOptions[t];return e&&void 0!==this.options[e]?this.options[e]:this.options[t]},r.compatOptions={initLayout:"isInitLayout",horizontal:"isHorizontal",layoutInstant:"isLayoutInstant",originLeft:"isOriginLeft",originTop:"isOriginTop",resize:"isResizeBound",resizeContainer:"isResizingContainer"},f._create=function(){this.reloadItems(),this.stamps=[],this.stamp(this.options.stamp),n.extend(this.element.style,this.options.containerStyle);var t=this._getOption("resize");t&&this.bindResize()},f.reloadItems=function(){this.items=this._itemize(this.element.children)},f._itemize=function(t){for(var e=this._filterFindItemElements(t),i=this.constructor.Item,n=[],o=0;o<e.length;o++){var r=e[o],s=new i(r,this);n.push(s)}return n},f._filterFindItemElements=function(t){return n.filterFindElements(t,this.options.itemSelector)},f.getItemElements=function(){return this.items.map(function(t){return t.element})},f.layout=function(){this._resetLayout(),this._manageStamps();var t=this._getOption("layoutInstant"),e=void 0!==t?t:!this._isLayoutInited;this.layoutItems(this.items,e),this._isLayoutInited=!0},f._init=f.layout,f._resetLayout=function(){this.getSize()},f.getSize=function(){this.size=i(this.element)},f._getMeasurement=function(t,e){var n,o=this.options[t];o?("string"==typeof o?n=this.element.querySelector(o):o instanceof HTMLElement&&(n=o),this[t]=n?i(n)[e]:o):this[t]=0},f.layoutItems=function(t,e){t=this._getItemsForLayout(t),this._layoutItems(t,e),this._postLayout()},f._getItemsForLayout=function(t){return t.filter(function(t){return!t.isIgnored})},f._layoutItems=function(t,e){if(this._emitCompleteOnItems("layout",t),t&&t.length){var i=[];t.forEach(function(t){var n=this._getItemLayoutPosition(t);n.item=t,n.isInstant=e||t.isLayoutInstant,i.push(n)},this),this._processLayoutQueue(i)}},f._getItemLayoutPosition=function(){return{x:0,y:0}},f._processLayoutQueue=function(t){this.updateStagger(),t.forEach(function(t,e){this._positionItem(t.item,t.x,t.y,t.isInstant,e)},this)},f.updateStagger=function(){var t=this.options.stagger;return null===t||void 0===t?void(this.stagger=0):(this.stagger=a(t),this.stagger)},f._positionItem=function(t,e,i,n,o){n?t.goTo(e,i):(t.stagger(o*this.stagger),t.moveTo(e,i))},f._postLayout=function(){this.resizeContainer()},f.resizeContainer=function(){var t=this._getOption("resizeContainer");if(t){var e=this._getContainerSize();e&&(this._setContainerMeasure(e.width,!0),this._setContainerMeasure(e.height,!1))}},f._getContainerSize=d,f._setContainerMeasure=function(t,e){if(void 0!==t){var i=this.size;i.isBorderBox&&(t+=e?i.paddingLeft+i.paddingRight+i.borderLeftWidth+i.borderRightWidth:i.paddingBottom+i.paddingTop+i.borderTopWidth+i.borderBottomWidth),t=Math.max(t,0),this.element.style[e?"width":"height"]=t+"px"}},f._emitCompleteOnItems=function(t,e){function i(){o.dispatchEvent(t+"Complete",null,[e])}function n(){s++,s==r&&i()}var o=this,r=e.length;if(!e||!r)return void i();var s=0;e.forEach(function(e){e.once(t,n)})},f.dispatchEvent=function(t,e,i){var n=e?[e].concat(i):i;if(this.emitEvent(t,n),u)if(this.$element=this.$element||u(this.element),e){var o=u.Event(e);o.type=t,this.$element.trigger(o,i)}else this.$element.trigger(t,i)},f.ignore=function(t){var e=this.getItem(t);e&&(e.isIgnored=!0)},f.unignore=function(t){var e=this.getItem(t);e&&delete e.isIgnored},f.stamp=function(t){t=this._find(t),t&&(this.stamps=this.stamps.concat(t),t.forEach(this.ignore,this))},f.unstamp=function(t){t=this._find(t),t&&t.forEach(function(t){n.removeFrom(this.stamps,t),this.unignore(t)},this)},f._find=function(t){return t?("string"==typeof t&&(t=this.element.querySelectorAll(t)),t=n.makeArray(t)):void 0},f._manageStamps=function(){this.stamps&&this.stamps.length&&(this._getBoundingRect(),this.stamps.forEach(this._manageStamp,this))},f._getBoundingRect=function(){var t=this.element.getBoundingClientRect(),e=this.size;this._boundingRect={left:t.left+e.paddingLeft+e.borderLeftWidth,top:t.top+e.paddingTop+e.borderTopWidth,right:t.right-(e.paddingRight+e.borderRightWidth),bottom:t.bottom-(e.paddingBottom+e.borderBottomWidth)}},f._manageStamp=d,f._getElementOffset=function(t){var e=t.getBoundingClientRect(),n=this._boundingRect,o=i(t),r={left:e.left-n.left-o.marginLeft,top:e.top-n.top-o.marginTop,right:n.right-e.right-o.marginRight,bottom:n.bottom-e.bottom-o.marginBottom};return r},f.handleEvent=n.handleEvent,f.bindResize=function(){t.addEventListener("resize",this),this.isResizeBound=!0},f.unbindResize=function(){t.removeEventListener("resize",this),this.isResizeBound=!1},f.onresize=function(){this.resize()},n.debounceMethod(r,"onresize",100),f.resize=function(){this.isResizeBound&&this.needsResizeLayout()&&this.layout()},f.needsResizeLayout=function(){var t=i(this.element),e=this.size&&t;return e&&t.innerWidth!==this.size.innerWidth},f.addItems=function(t){var e=this._itemize(t);return e.length&&(this.items=this.items.concat(e)),e},f.appended=function(t){var e=this.addItems(t);e.length&&(this.layoutItems(e,!0),this.reveal(e))},f.prepended=function(t){var e=this._itemize(t);if(e.length){var i=this.items.slice(0);this.items=e.concat(i),this._resetLayout(),this._manageStamps(),this.layoutItems(e,!0),this.reveal(e),this.layoutItems(i)}},f.reveal=function(t){if(this._emitCompleteOnItems("reveal",t),t&&t.length){var e=this.updateStagger();t.forEach(function(t,i){t.stagger(i*e),t.reveal()})}},f.hide=function(t){if(this._emitCompleteOnItems("hide",t),t&&t.length){var e=this.updateStagger();t.forEach(function(t,i){t.stagger(i*e),t.hide()})}},f.revealItemElements=function(t){var e=this.getItems(t);this.reveal(e)},f.hideItemElements=function(t){var e=this.getItems(t);this.hide(e)},f.getItem=function(t){for(var e=0;e<this.items.length;e++){var i=this.items[e];if(i.element==t)return i}},f.getItems=function(t){t=n.makeArray(t);var e=[];return t.forEach(function(t){var i=this.getItem(t);i&&e.push(i)},this),e},f.remove=function(t){var e=this.getItems(t);this._emitCompleteOnItems("remove",e),e&&e.length&&e.forEach(function(t){t.remove(),n.removeFrom(this.items,t)},this)},f.destroy=function(){var t=this.element.style;t.height="",t.position="",t.width="",this.items.forEach(function(t){t.destroy()}),this.unbindResize();var e=this.element.outlayerGUID;delete c[e],delete this.element.outlayerGUID,u&&u.removeData(this.element,this.constructor.namespace)},r.data=function(t){t=n.getQueryElement(t);var e=t&&t.outlayerGUID;return e&&c[e]},r.create=function(t,e){var i=s(r);return i.defaults=n.extend({},r.defaults),n.extend(i.defaults,e),i.compatOptions=n.extend({},r.compatOptions),i.namespace=t,i.data=r.data,i.Item=s(o),n.htmlInit(i,t),u&&u.bridget&&u.bridget(t,i),i};var m={ms:1,s:1e3};return r.Item=o,r}),function(t,e){"function"==typeof define&&define.amd?define(["outlayer/outlayer","get-size/get-size"],e):"object"==typeof module&&module.exports?module.exports=e(require("outlayer"),require("get-size")):t.Masonry=e(t.Outlayer,t.getSize)}(window,function(t,e){var i=t.create("masonry");i.compatOptions.fitWidth="isFitWidth";var n=i.prototype;return n._resetLayout=function(){this.getSize(),this._getMeasurement("columnWidth","outerWidth"),this._getMeasurement("gutter","outerWidth"),this.measureColumns(),this.colYs=[];for(var t=0;t<this.cols;t++)this.colYs.push(0);this.maxY=0,this.horizontalColIndex=0},n.measureColumns=function(){if(this.getContainerWidth(),!this.columnWidth){var t=this.items[0],i=t&&t.element;this.columnWidth=i&&e(i).outerWidth||this.containerWidth}var n=this.columnWidth+=this.gutter,o=this.containerWidth+this.gutter,r=o/n,s=n-o%n,a=s&&1>s?"round":"floor";r=Math[a](r),this.cols=Math.max(r,1)},n.getContainerWidth=function(){var t=this._getOption("fitWidth"),i=t?this.element.parentNode:this.element,n=e(i);this.containerWidth=n&&n.innerWidth},n._getItemLayoutPosition=function(t){t.getSize();var e=t.size.outerWidth%this.columnWidth,i=e&&1>e?"round":"ceil",n=Math[i](t.size.outerWidth/this.columnWidth);n=Math.min(n,this.cols);for(var o=this.options.horizontalOrder?"_getHorizontalColPosition":"_getTopColPosition",r=this[o](n,t),s={x:this.columnWidth*r.col,y:r.y},a=r.y+t.size.outerHeight,h=n+r.col,u=r.col;h>u;u++)this.colYs[u]=a;return s},n._getTopColPosition=function(t){var e=this._getTopColGroup(t),i=Math.min.apply(Math,e);return{col:e.indexOf(i),y:i}},n._getTopColGroup=function(t){if(2>t)return this.colYs;for(var e=[],i=this.cols+1-t,n=0;i>n;n++)e[n]=this._getColGroupY(n,t);return e},n._getColGroupY=function(t,e){if(2>e)return this.colYs[t];var i=this.colYs.slice(t,t+e);return Math.max.apply(Math,i)},n._getHorizontalColPosition=function(t,e){var i=this.horizontalColIndex%this.cols,n=t>1&&i+t>this.cols;i=n?0:i;var o=e.size.outerWidth&&e.size.outerHeight;return this.horizontalColIndex=o?i+t:this.horizontalColIndex,{col:i,y:this._getColGroupY(i,t)}},n._manageStamp=function(t){var i=e(t),n=this._getElementOffset(t),o=this._getOption("originLeft"),r=o?n.left:n.right,s=r+i.outerWidth,a=Math.floor(r/this.columnWidth);a=Math.max(0,a);var h=Math.floor(s/this.columnWidth);h-=s%this.columnWidth?0:1,h=Math.min(this.cols-1,h);for(var u=this._getOption("originTop"),d=(u?n.top:n.bottom)+i.outerHeight,l=a;h>=l;l++)this.colYs[l]=Math.max(d,this.colYs[l])},n._getContainerSize=function(){this.maxY=Math.max.apply(Math,this.colYs);var t={height:this.maxY};return this._getOption("fitWidth")&&(t.width=this._getContainerFitWidth()),t},n._getContainerFitWidth=function(){for(var t=0,e=this.cols;--e&&0===this.colYs[e];)t++;return(this.cols-t)*this.columnWidth-this.gutter},n.needsResizeLayout=function(){var t=this.containerWidth;return this.getContainerWidth(),t!=this.containerWidth},i});
(function(){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G=[].slice;q='<span class="odometer-value"></span>',n='<span class="odometer-ribbon"><span class="odometer-ribbon-inner">'+q+"</span></span>",d='<span class="odometer-digit"><span class="odometer-digit-spacer">8</span><span class="odometer-digit-inner">'+n+"</span></span>",g='<span class="odometer-formatting-mark"></span>',c="(,ddd).dd",h=/^\(?([^)]*)\)?(?:(.)(d+))?$/,i=30,f=2e3,a=20,j=2,e=.5,k=1e3/i,b=1e3/a,o="transitionend webkitTransitionEnd oTransitionEnd otransitionend MSTransitionEnd",y=document.createElement("div").style,p=null!=y.transition||null!=y.webkitTransition||null!=y.mozTransition||null!=y.oTransition,w=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame,l=window.MutationObserver||window.WebKitMutationObserver||window.MozMutationObserver,s=function(a){var b;return b=document.createElement("div"),b.innerHTML=a,b.children[0]},v=function(a,b){return a.className=a.className.replace(new RegExp("(^|)"+b.split(" ").join("|")+"(|$)","gi")," ")},r=function(a,b){return v(a,b),a.className+=" "+b},z=function(a,b){var c;return null!=document.createEvent?(c=document.createEvent("HTMLEvents"),c.initEvent(b,!0,!0),a.dispatchEvent(c)):void 0},u=function(){var a,b;return null!=(a=null!=(b=window.performance)&&"function"==typeof b.now?b.now():void 0)?a:+new Date},x=function(a,b){return null==b&&(b=0),b?(a*=Math.pow(10,b),a+=.5,a=Math.floor(a),a/=Math.pow(10,b)):Math.round(a)},A=function(a){return 0>a?Math.ceil(a):Math.floor(a)},t=function(a){return a-x(a)},C=!1,(B=function(){var a,b,c,d,e;if(!C&&null!=window.jQuery){for(C=!0,d=["html","text"],e=[],b=0,c=d.length;c>b;b++)a=d[b],e.push(function(a){var b;return b=window.jQuery.fn[a],window.jQuery.fn[a]=function(a){var c;return null==a||null==(null!=(c=this[0])?c.odometer:void 0)?b.apply(this,arguments):this[0].odometer.update(a)}}(a));return e}})(),setTimeout(B,0),m=function(){function a(b){var c,d,e,g,h,i,l,m,n,o,p=this;if(this.options=b,this.el=this.options.el,null!=this.el.odometer)return this.el.odometer;this.el.odometer=this,m=a.options;for(d in m)g=m[d],null==this.options[d]&&(this.options[d]=g);null==(h=this.options).duration&&(h.duration=f),this.MAX_VALUES=this.options.duration/k/j|0,this.resetFormat(),this.value=this.cleanValue(null!=(n=this.options.value)?n:""),this.renderInside(),this.render();try{for(o=["innerHTML","innerText","textContent"],i=0,l=o.length;l>i;i++)e=o[i],null!=this.el[e]&&!function(a){return Object.defineProperty(p.el,a,{get:function(){var b;return"innerHTML"===a?p.inside.outerHTML:null!=(b=p.inside.innerText)?b:p.inside.textContent},set:function(a){return p.update(a)}})}(e)}catch(q){c=q,this.watchForMutations()}}return a.prototype.renderInside=function(){return this.inside=document.createElement("div"),this.inside.className="odometer-inside",this.el.innerHTML="",this.el.appendChild(this.inside)},a.prototype.watchForMutations=function(){var a,b=this;if(null!=l)try{return null==this.observer&&(this.observer=new l(function(a){var c;return c=b.el.innerText,b.renderInside(),b.render(b.value),b.update(c)})),this.watchMutations=!0,this.startWatchingMutations()}catch(c){a=c}},a.prototype.startWatchingMutations=function(){return this.watchMutations?this.observer.observe(this.el,{childList:!0}):void 0},a.prototype.stopWatchingMutations=function(){var a;return null!=(a=this.observer)?a.disconnect():void 0},a.prototype.cleanValue=function(a){var b;return"string"==typeof a&&(a=a.replace(null!=(b=this.format.radix)?b:".","<radix>"),a=a.replace(/[.,]/g,""),a=a.replace("<radix>","."),a=parseFloat(a,10)||0),x(a,this.format.precision)},a.prototype.bindTransitionEnd=function(){var a,b,c,d,e,f,g=this;if(!this.transitionEndBound){for(this.transitionEndBound=!0,b=!1,e=o.split(" "),f=[],c=0,d=e.length;d>c;c++)a=e[c],f.push(this.el.addEventListener(a,function(){return b?!0:(b=!0,setTimeout(function(){return g.render(),b=!1,z(g.el,"odometerdone")},0),!0)},!1));return f}},a.prototype.resetFormat=function(){var a,b,d,e,f,g,i,j;if(a=null!=(i=this.options.format)?i:c,a||(a="d"),d=h.exec(a),!d)throw new Error("Odometer: Unparsable digit format");return j=d.slice(1,4),g=j[0],f=j[1],b=j[2],e=(null!=b?b.length:void 0)||0,this.format={repeating:g,radix:f,precision:e}},a.prototype.render=function(a){var b,c,d,e,f,g,h;for(null==a&&(a=this.value),this.stopWatchingMutations(),this.resetFormat(),this.inside.innerHTML="",f=this.options.theme,b=this.el.className.split(" "),e=[],g=0,h=b.length;h>g;g++)c=b[g],c.length&&((d=/^odometer-theme-(.+)$/.exec(c))?f=d[1]:/^odometer(-|$)/.test(c)||e.push(c));return e.push("odometer"),p||e.push("odometer-no-transitions"),f?e.push("odometer-theme-"+f):e.push("odometer-auto-theme"),this.el.className=e.join(" "),this.ribbons={},this.formatDigits(a),this.startWatchingMutations()},a.prototype.formatDigits=function(a){var b,c,d,e,f,g,h,i,j,k;if(this.digits=[],this.options.formatFunction)for(d=this.options.formatFunction(a),j=d.split("").reverse(),f=0,h=j.length;h>f;f++)c=j[f],c.match(/0-9/)?(b=this.renderDigit(),b.querySelector(".odometer-value").innerHTML=c,this.digits.push(b),this.insertDigit(b)):this.addSpacer(c);else for(e=!this.format.precision||!t(a)||!1,k=a.toString().split("").reverse(),g=0,i=k.length;i>g;g++)b=k[g],"."===b&&(e=!0),this.addDigit(b,e)},a.prototype.update=function(a){var b,c=this;return a=this.cleanValue(a),(b=a-this.value)?(v(this.el,"odometer-animating-up odometer-animating-down odometer-animating"),b>0?r(this.el,"odometer-animating-up"):r(this.el,"odometer-animating-down"),this.stopWatchingMutations(),this.animate(a),this.startWatchingMutations(),setTimeout(function(){return c.el.offsetHeight,r(c.el,"odometer-animating")},0),this.value=a):void 0},a.prototype.renderDigit=function(){return s(d)},a.prototype.insertDigit=function(a,b){return null!=b?this.inside.insertBefore(a,b):this.inside.children.length?this.inside.insertBefore(a,this.inside.children[0]):this.inside.appendChild(a)},a.prototype.addSpacer=function(a,b,c){var d;return d=s(g),d.innerHTML=a,c&&r(d,c),this.insertDigit(d,b)},a.prototype.addDigit=function(a,b){var c,d,e,f;if(null==b&&(b=!0),"-"===a)return this.addSpacer(a,null,"odometer-negation-mark");if("."===a)return this.addSpacer(null!=(f=this.format.radix)?f:".",null,"odometer-radix-mark");if(b)for(e=!1;;){if(!this.format.repeating.length){if(e)throw new Error("Bad odometer format without digits");this.resetFormat(),e=!0}if(c=this.format.repeating[this.format.repeating.length-1],this.format.repeating=this.format.repeating.substring(0,this.format.repeating.length-1),"d"===c)break;this.addSpacer(c)}return d=this.renderDigit(),d.querySelector(".odometer-value").innerHTML=a,this.digits.push(d),this.insertDigit(d)},a.prototype.animate=function(a){return p&&"count"!==this.options.animation?this.animateSlide(a):this.animateCount(a)},a.prototype.animateCount=function(a){var c,d,e,f,g,h=this;if(d=+a-this.value)return f=e=u(),c=this.value,(g=function(){var i,j,k;return u()-f>h.options.duration?(h.value=a,h.render(),void z(h.el,"odometerdone")):(i=u()-e,i>b&&(e=u(),k=i/h.options.duration,j=d*k,c+=j,h.render(Math.round(c))),null!=w?w(g):setTimeout(g,b))})()},a.prototype.getDigitCount=function(){var a,b,c,d,e,f;for(d=1<=arguments.length?G.call(arguments,0):[],a=e=0,f=d.length;f>e;a=++e)c=d[a],d[a]=Math.abs(c);return b=Math.max.apply(Math,d),Math.ceil(Math.log(b+1)/Math.log(10))},a.prototype.getFractionalDigitCount=function(){var a,b,c,d,e,f,g;for(e=1<=arguments.length?G.call(arguments,0):[],b=/^\-?\d*\.(\d*?)0*$/,a=f=0,g=e.length;g>f;a=++f)d=e[a],e[a]=d.toString(),c=b.exec(e[a]),null==c?e[a]=0:e[a]=c[1].length;return Math.max.apply(Math,e)},a.prototype.resetDigits=function(){return this.digits=[],this.ribbons=[],this.inside.innerHTML="",this.resetFormat()},a.prototype.animateSlide=function(a){var b,c,d,f,g,h,i,j,k,l,m,n,o,p,q,s,t,u,v,w,x,y,z,B,C,D,E;if(s=this.value,j=this.getFractionalDigitCount(s,a),j&&(a*=Math.pow(10,j),s*=Math.pow(10,j)),d=a-s){for(this.bindTransitionEnd(),f=this.getDigitCount(s,a),g=[],b=0,m=v=0;f>=0?f>v:v>f;m=f>=0?++v:--v){if(t=A(s/Math.pow(10,f-m-1)),i=A(a/Math.pow(10,f-m-1)),h=i-t,Math.abs(h)>this.MAX_VALUES){for(l=[],n=h/(this.MAX_VALUES+this.MAX_VALUES*b*e),c=t;h>0&&i>c||0>h&&c>i;)l.push(Math.round(c)),c+=n;l[l.length-1]!==i&&l.push(i),b++}else l=function(){E=[];for(var a=t;i>=t?i>=a:a>=i;i>=t?a++:a--)E.push(a);return E}.apply(this);for(m=w=0,y=l.length;y>w;m=++w)k=l[m],l[m]=Math.abs(k%10);g.push(l)}for(this.resetDigits(),D=g.reverse(),m=x=0,z=D.length;z>x;m=++x)for(l=D[m],this.digits[m]||this.addDigit(" ",m>=j),null==(u=this.ribbons)[m]&&(u[m]=this.digits[m].querySelector(".odometer-ribbon-inner")),this.ribbons[m].innerHTML="",0>d&&(l=l.reverse()),o=C=0,B=l.length;B>C;o=++C)k=l[o],q=document.createElement("div"),q.className="odometer-value",q.innerHTML=k,this.ribbons[m].appendChild(q),o===l.length-1&&r(q,"odometer-last-value"),0===o&&r(q,"odometer-first-value");return 0>t&&this.addDigit("-"),p=this.inside.querySelector(".odometer-radix-mark"),null!=p&&p.parent.removeChild(p),j?this.addSpacer(this.format.radix,this.digits[j-1],"odometer-radix-mark"):void 0}},a}(),m.options=null!=(E=window.odometerOptions)?E:{},setTimeout(function(){var a,b,c,d,e;if(window.odometerOptions){d=window.odometerOptions,e=[];for(a in d)b=d[a],e.push(null!=(c=m.options)[a]?(c=m.options)[a]:c[a]=b);return e}},0),m.init=function(){var a,b,c,d,e,f;if(null!=document.querySelectorAll){for(b=document.querySelectorAll(m.options.selector||".odometer"),f=[],c=0,d=b.length;d>c;c++)a=b[c],f.push(a.odometer=new m({el:a,value:null!=(e=a.innerText)?e:a.textContent}));return f}},null!=(null!=(F=document.documentElement)?F.doScroll:void 0)&&null!=document.createEventObject?(D=document.onreadystatechange,document.onreadystatechange=function(){return"complete"===document.readyState&&m.options.auto!==!1&&m.init(),null!=D?D.apply(this,arguments):void 0}):document.addEventListener("DOMContentLoaded",function(){return m.options.auto!==!1?m.init():void 0},!1),"function"==typeof define&&define.amd?define([],function(){return m}):"undefined"!=typeof exports&&null!==exports?module.exports=m:window.Odometer=m}).call(this);
var Swiper=(function (){
'use strict';
function isObject$1(obj){
return obj!==null&&typeof obj==='object'&&'constructor' in obj&&obj.constructor===Object;
}
function extend$1(target, src){
if(target===void 0){
target={};}
if(src===void 0){
src={};}
Object.keys(src).forEach(key=> {
if(typeof target[key]==='undefined') target[key]=src[key];else if(isObject$1(src[key])&&isObject$1(target[key])&&Object.keys(src[key]).length > 0){
extend$1(target[key], src[key]);
}});
}
const ssrDocument={
body: {},
addEventListener(){},
removeEventListener(){},
activeElement: {
blur(){},
nodeName: ''
},
querySelector(){
return null;
},
querySelectorAll(){
return [];
},
getElementById(){
return null;
},
createEvent(){
return {
initEvent(){}};},
createElement(){
return {
children: [],
childNodes: [],
style: {},
setAttribute(){},
getElementsByTagName(){
return [];
}};},
createElementNS(){
return {};},
importNode(){
return null;
},
location: {
hash: '',
host: '',
hostname: '',
href: '',
origin: '',
pathname: '',
protocol: '',
search: ''
}};
function getDocument(){
const doc=typeof document!=='undefined' ? document:{};
extend$1(doc, ssrDocument);
return doc;
}
const ssrWindow={
document: ssrDocument,
navigator: {
userAgent: ''
},
location: {
hash: '',
host: '',
hostname: '',
href: '',
origin: '',
pathname: '',
protocol: '',
search: ''
},
history: {
replaceState(){},
pushState(){},
go(){},
back(){}},
CustomEvent: function CustomEvent(){
return this;
},
addEventListener(){},
removeEventListener(){},
getComputedStyle(){
return {
getPropertyValue(){
return '';
}};},
Image(){},
Date(){},
screen: {},
setTimeout(){},
clearTimeout(){},
matchMedia(){
return {};},
requestAnimationFrame(callback){
if(typeof setTimeout==='undefined'){
callback();
return null;
}
return setTimeout(callback, 0);
},
cancelAnimationFrame(id){
if(typeof setTimeout==='undefined'){
return;
}
clearTimeout(id);
}};
function getWindow(){
const win=typeof window!=='undefined' ? window:{};
extend$1(win, ssrWindow);
return win;
}
function classesToTokens(classes){
if(classes===void 0){
classes='';
}
return classes.trim().split(' ').filter(c=> !!c.trim());
}
function deleteProps(obj){
const object=obj;
Object.keys(object).forEach(key=> {
try {
object[key]=null;
} catch (e){
}
try {
delete object[key];
} catch (e){
}});
}
function nextTick(callback, delay){
if(delay===void 0){
delay=0;
}
return setTimeout(callback, delay);
}
function now(){
return Date.now();
}
function getComputedStyle$1(el){
const window=getWindow();
let style;
if(window.getComputedStyle){
style=window.getComputedStyle(el, null);
}
if(!style&&el.currentStyle){
style=el.currentStyle;
}
if(!style){
style=el.style;
}
return style;
}
function getTranslate(el, axis){
if(axis===void 0){
axis='x';
}
const window=getWindow();
let matrix;
let curTransform;
let transformMatrix;
const curStyle=getComputedStyle$1(el);
if(window.WebKitCSSMatrix){
curTransform=curStyle.transform||curStyle.webkitTransform;
if(curTransform.split(',').length > 6){
curTransform=curTransform.split(', ').map(a=> a.replace(',', '.')).join(', ');
}
transformMatrix=new window.WebKitCSSMatrix(curTransform==='none' ? '':curTransform);
}else{
transformMatrix=curStyle.MozTransform||curStyle.OTransform||curStyle.MsTransform||curStyle.msTransform||curStyle.transform||curStyle.getPropertyValue('transform').replace('translate(', 'matrix(1, 0, 0, 1,');
matrix=transformMatrix.toString().split(',');
}
if(axis==='x'){
if(window.WebKitCSSMatrix) curTransform=transformMatrix.m41;
else if(matrix.length===16) curTransform=parseFloat(matrix[12]);
else curTransform=parseFloat(matrix[4]);
}
if(axis==='y'){
if(window.WebKitCSSMatrix) curTransform=transformMatrix.m42;
else if(matrix.length===16) curTransform=parseFloat(matrix[13]);
else curTransform=parseFloat(matrix[5]);
}
return curTransform||0;
}
function isObject(o){
return typeof o==='object'&&o!==null&&o.constructor&&Object.prototype.toString.call(o).slice(8, -1)==='Object';
}
function isNode(node){
if(typeof window!=='undefined'&&typeof window.HTMLElement!=='undefined'){
return node instanceof HTMLElement;
}
return node&&(node.nodeType===1||node.nodeType===11);
}
function extend(){
const to=Object(arguments.length <=0 ? undefined:arguments[0]);
const noExtend=['__proto__', 'constructor', 'prototype'];
for (let i=1; i < arguments.length; i +=1){
const nextSource=i < 0||arguments.length <=i ? undefined:arguments[i];
if(nextSource!==undefined&&nextSource!==null&&!isNode(nextSource)){
const keysArray=Object.keys(Object(nextSource)).filter(key=> noExtend.indexOf(key) < 0);
for (let nextIndex=0, len=keysArray.length; nextIndex < len; nextIndex +=1){
const nextKey=keysArray[nextIndex];
const desc=Object.getOwnPropertyDescriptor(nextSource, nextKey);
if(desc!==undefined&&desc.enumerable){
if(isObject(to[nextKey])&&isObject(nextSource[nextKey])){
if(nextSource[nextKey].__swiper__){
to[nextKey]=nextSource[nextKey];
}else{
extend(to[nextKey], nextSource[nextKey]);
}}else if(!isObject(to[nextKey])&&isObject(nextSource[nextKey])){
to[nextKey]={};
if(nextSource[nextKey].__swiper__){
to[nextKey]=nextSource[nextKey];
}else{
extend(to[nextKey], nextSource[nextKey]);
}}else{
to[nextKey]=nextSource[nextKey];
}}
}}
}
return to;
}
function setCSSProperty(el, varName, varValue){
el.style.setProperty(varName, varValue);
}
function animateCSSModeScroll(_ref){
let {
swiper,
targetPosition,
side
}=_ref;
const window=getWindow();
const startPosition=-swiper.translate;
let startTime=null;
let time;
const duration=swiper.params.speed;
swiper.wrapperEl.style.scrollSnapType='none';
window.cancelAnimationFrame(swiper.cssModeFrameID);
const dir=targetPosition > startPosition ? 'next':'prev';
const isOutOfBound=(current, target)=> {
return dir==='next'&&current >=target||dir==='prev'&&current <=target;
};
const animate=()=> {
time=new Date().getTime();
if(startTime===null){
startTime=time;
}
const progress=Math.max(Math.min((time - startTime) / duration, 1), 0);
const easeProgress=0.5 - Math.cos(progress * Math.PI) / 2;
let currentPosition=startPosition + easeProgress * (targetPosition - startPosition);
if(isOutOfBound(currentPosition, targetPosition)){
currentPosition=targetPosition;
}
swiper.wrapperEl.scrollTo({
[side]: currentPosition
});
if(isOutOfBound(currentPosition, targetPosition)){
swiper.wrapperEl.style.overflow='hidden';
swiper.wrapperEl.style.scrollSnapType='';
setTimeout(()=> {
swiper.wrapperEl.style.overflow='';
swiper.wrapperEl.scrollTo({
[side]: currentPosition
});
});
window.cancelAnimationFrame(swiper.cssModeFrameID);
return;
}
swiper.cssModeFrameID=window.requestAnimationFrame(animate);
};
animate();
}
function getSlideTransformEl(slideEl){
return slideEl.querySelector('.swiper-slide-transform')||slideEl.shadowRoot&&slideEl.shadowRoot.querySelector('.swiper-slide-transform')||slideEl;
}
function elementChildren(element, selector){
if(selector===void 0){
selector='';
}
return [...element.children].filter(el=> el.matches(selector));
}
function showWarning(text){
try {
console.warn(text);
return;
} catch (err){
}}
function createElement(tag, classes){
if(classes===void 0){
classes=[];
}
const el=document.createElement(tag);
el.classList.add(...(Array.isArray(classes) ? classes:classesToTokens(classes)));
return el;
}
function elementOffset(el){
const window=getWindow();
const document=getDocument();
const box=el.getBoundingClientRect();
const body=document.body;
const clientTop=el.clientTop||body.clientTop||0;
const clientLeft=el.clientLeft||body.clientLeft||0;
const scrollTop=el===window ? window.scrollY:el.scrollTop;
const scrollLeft=el===window ? window.scrollX:el.scrollLeft;
return {
top: box.top + scrollTop - clientTop,
left: box.left + scrollLeft - clientLeft
};}
function elementPrevAll(el, selector){
const prevEls=[];
while (el.previousElementSibling){
const prev=el.previousElementSibling;
if(selector){
if(prev.matches(selector)) prevEls.push(prev);
} else prevEls.push(prev);
el=prev;
}
return prevEls;
}
function elementNextAll(el, selector){
const nextEls=[];
while (el.nextElementSibling){
const next=el.nextElementSibling;
if(selector){
if(next.matches(selector)) nextEls.push(next);
} else nextEls.push(next);
el=next;
}
return nextEls;
}
function elementStyle(el, prop){
const window=getWindow();
return window.getComputedStyle(el, null).getPropertyValue(prop);
}
function elementIndex(el){
let child=el;
let i;
if(child){
i=0;
while ((child=child.previousSibling)!==null){
if(child.nodeType===1) i +=1;
}
return i;
}
return undefined;
}
function elementParents(el, selector){
const parents=[];
let parent=el.parentElement;
while (parent){
if(selector){
if(parent.matches(selector)) parents.push(parent);
}else{
parents.push(parent);
}
parent=parent.parentElement;
}
return parents;
}
function elementTransitionEnd(el, callback){
function fireCallBack(e){
if(e.target!==el) return;
callback.call(el, e);
el.removeEventListener('transitionend', fireCallBack);
}
if(callback){
el.addEventListener('transitionend', fireCallBack);
}}
function elementOuterSize(el, size, includeMargins){
const window=getWindow();
if(includeMargins){
return el[size==='width' ? 'offsetWidth':'offsetHeight'] + parseFloat(window.getComputedStyle(el, null).getPropertyValue(size==='width' ? 'margin-right':'margin-top')) + parseFloat(window.getComputedStyle(el, null).getPropertyValue(size==='width' ? 'margin-left':'margin-bottom'));
}
return el.offsetWidth;
}
let support;
function calcSupport(){
const window=getWindow();
const document=getDocument();
return {
smoothScroll: document.documentElement&&document.documentElement.style&&'scrollBehavior' in document.documentElement.style,
touch: !!('ontouchstart' in window||window.DocumentTouch&&document instanceof window.DocumentTouch)
};}
function getSupport(){
if(!support){
support=calcSupport();
}
return support;
}
let deviceCached;
function calcDevice(_temp){
let {
userAgent
}=_temp===void 0 ? {}:_temp;
const support=getSupport();
const window=getWindow();
const platform=window.navigator.platform;
const ua=userAgent||window.navigator.userAgent;
const device={
ios: false,
android: false
};
const screenWidth=window.screen.width;
const screenHeight=window.screen.height;
const android=ua.match(/(Android);?[\s\/]+([\d.]+)?/);
let ipad=ua.match(/(iPad).*OS\s([\d_]+)/);
const ipod=ua.match(/(iPod)(.*OS\s([\d_]+))?/);
const iphone = !ipad&&ua.match(/(iPhone\sOS|iOS)\s([\d_]+)/);
const windows=platform==='Win32';
let macos=platform==='MacIntel';
const iPadScreens=['1024x1366', '1366x1024', '834x1194', '1194x834', '834x1112', '1112x834', '768x1024', '1024x768', '820x1180', '1180x820', '810x1080', '1080x810'];
if(!ipad&&macos&&support.touch&&iPadScreens.indexOf(`${screenWidth}x${screenHeight}`) >=0){
ipad=ua.match(/(Version)\/([\d.]+)/);
if(!ipad) ipad=[0, 1, '13_0_0'];
macos=false;
}
if(android&&!windows){
device.os='android';
device.android=true;
}
if(ipad||iphone||ipod){
device.os='ios';
device.ios=true;
}
return device;
}
function getDevice(overrides){
if(overrides===void 0){
overrides={};}
if(!deviceCached){
deviceCached=calcDevice(overrides);
}
return deviceCached;
}
let browser;
function calcBrowser(){
const window=getWindow();
let needPerspectiveFix=false;
function isSafari(){
const ua=window.navigator.userAgent.toLowerCase();
return ua.indexOf('safari') >=0&&ua.indexOf('chrome') < 0&&ua.indexOf('android') < 0;
}
if(isSafari()){
const ua=String(window.navigator.userAgent);
if(ua.includes('Version/')){
const [major, minor]=ua.split('Version/')[1].split(' ')[0].split('.').map(num=> Number(num));
needPerspectiveFix=major < 16||major===16&&minor < 2;
}}
return {
isSafari: needPerspectiveFix||isSafari(),
needPerspectiveFix,
isWebView: /(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(window.navigator.userAgent)
};}
function getBrowser(){
if(!browser){
browser=calcBrowser();
}
return browser;
}
function Resize(_ref){
let {
swiper,
on,
emit
}=_ref;
const window=getWindow();
let observer=null;
let animationFrame=null;
const resizeHandler=()=> {
if(!swiper||swiper.destroyed||!swiper.initialized) return;
emit('beforeResize');
emit('resize');
};
const createObserver=()=> {
if(!swiper||swiper.destroyed||!swiper.initialized) return;
observer=new ResizeObserver(entries=> {
animationFrame=window.requestAnimationFrame(()=> {
const {
width,
height
}=swiper;
let newWidth=width;
let newHeight=height;
entries.forEach(_ref2=> {
let {
contentBoxSize,
contentRect,
target
}=_ref2;
if(target&&target!==swiper.el) return;
newWidth=contentRect ? contentRect.width:(contentBoxSize[0]||contentBoxSize).inlineSize;
newHeight=contentRect ? contentRect.height:(contentBoxSize[0]||contentBoxSize).blockSize;
});
if(newWidth!==width||newHeight!==height){
resizeHandler();
}});
});
observer.observe(swiper.el);
};
const removeObserver=()=> {
if(animationFrame){
window.cancelAnimationFrame(animationFrame);
}
if(observer&&observer.unobserve&&swiper.el){
observer.unobserve(swiper.el);
observer=null;
}};
const orientationChangeHandler=()=> {
if(!swiper||swiper.destroyed||!swiper.initialized) return;
emit('orientationchange');
};
on('init', ()=> {
if(swiper.params.resizeObserver&&typeof window.ResizeObserver!=='undefined'){
createObserver();
return;
}
window.addEventListener('resize', resizeHandler);
window.addEventListener('orientationchange', orientationChangeHandler);
});
on('destroy', ()=> {
removeObserver();
window.removeEventListener('resize', resizeHandler);
window.removeEventListener('orientationchange', orientationChangeHandler);
});
}
function Observer(_ref){
let {
swiper,
extendParams,
on,
emit
}=_ref;
const observers=[];
const window=getWindow();
const attach=function (target, options){
if(options===void 0){
options={};}
const ObserverFunc=window.MutationObserver||window.WebkitMutationObserver;
const observer=new ObserverFunc(mutations=> {
if(swiper.__preventObserver__) return;
if(mutations.length===1){
emit('observerUpdate', mutations[0]);
return;
}
const observerUpdate=function observerUpdate(){
emit('observerUpdate', mutations[0]);
};
if(window.requestAnimationFrame){
window.requestAnimationFrame(observerUpdate);
}else{
window.setTimeout(observerUpdate, 0);
}});
observer.observe(target, {
attributes: typeof options.attributes==='undefined' ? true:options.attributes,
childList: typeof options.childList==='undefined' ? true:options.childList,
characterData: typeof options.characterData==='undefined' ? true:options.characterData
});
observers.push(observer);
};
const init=()=> {
if(!swiper.params.observer) return;
if(swiper.params.observeParents){
const containerParents=elementParents(swiper.hostEl);
for (let i=0; i < containerParents.length; i +=1){
attach(containerParents[i]);
}}
attach(swiper.hostEl, {
childList: swiper.params.observeSlideChildren
});
attach(swiper.wrapperEl, {
attributes: false
});
};
const destroy=()=> {
observers.forEach(observer=> {
observer.disconnect();
});
observers.splice(0, observers.length);
};
extendParams({
observer: false,
observeParents: false,
observeSlideChildren: false
});
on('init', init);
on('destroy', destroy);
}
var eventsEmitter={
on(events, handler, priority){
const self=this;
if(!self.eventsListeners||self.destroyed) return self;
if(typeof handler!=='function') return self;
const method=priority ? 'unshift':'push';
events.split(' ').forEach(event=> {
if(!self.eventsListeners[event]) self.eventsListeners[event]=[];
self.eventsListeners[event][method](handler);
});
return self;
},
once(events, handler, priority){
const self=this;
if(!self.eventsListeners||self.destroyed) return self;
if(typeof handler!=='function') return self;
function onceHandler(){
self.off(events, onceHandler);
if(onceHandler.__emitterProxy){
delete onceHandler.__emitterProxy;
}
for (var _len=arguments.length, args=new Array(_len), _key=0; _key < _len; _key++){
args[_key]=arguments[_key];
}
handler.apply(self, args);
}
onceHandler.__emitterProxy=handler;
return self.on(events, onceHandler, priority);
},
onAny(handler, priority){
const self=this;
if(!self.eventsListeners||self.destroyed) return self;
if(typeof handler!=='function') return self;
const method=priority ? 'unshift':'push';
if(self.eventsAnyListeners.indexOf(handler) < 0){
self.eventsAnyListeners[method](handler);
}
return self;
},
offAny(handler){
const self=this;
if(!self.eventsListeners||self.destroyed) return self;
if(!self.eventsAnyListeners) return self;
const index=self.eventsAnyListeners.indexOf(handler);
if(index >=0){
self.eventsAnyListeners.splice(index, 1);
}
return self;
},
off(events, handler){
const self=this;
if(!self.eventsListeners||self.destroyed) return self;
if(!self.eventsListeners) return self;
events.split(' ').forEach(event=> {
if(typeof handler==='undefined'){
self.eventsListeners[event]=[];
}else if(self.eventsListeners[event]){
self.eventsListeners[event].forEach((eventHandler, index)=> {
if(eventHandler===handler||eventHandler.__emitterProxy&&eventHandler.__emitterProxy===handler){
self.eventsListeners[event].splice(index, 1);
}});
}});
return self;
},
emit(){
const self=this;
if(!self.eventsListeners||self.destroyed) return self;
if(!self.eventsListeners) return self;
let events;
let data;
let context;
for (var _len2=arguments.length, args=new Array(_len2), _key2=0; _key2 < _len2; _key2++){
args[_key2]=arguments[_key2];
}
if(typeof args[0]==='string'||Array.isArray(args[0])){
events=args[0];
data=args.slice(1, args.length);
context=self;
}else{
events=args[0].events;
data=args[0].data;
context=args[0].context||self;
}
data.unshift(context);
const eventsArray=Array.isArray(events) ? events:events.split(' ');
eventsArray.forEach(event=> {
if(self.eventsAnyListeners&&self.eventsAnyListeners.length){
self.eventsAnyListeners.forEach(eventHandler=> {
eventHandler.apply(context, [event, ...data]);
});
}
if(self.eventsListeners&&self.eventsListeners[event]){
self.eventsListeners[event].forEach(eventHandler=> {
eventHandler.apply(context, data);
});
}});
return self;
}};
function updateSize(){
const swiper=this;
let width;
let height;
const el=swiper.el;
if(typeof swiper.params.width!=='undefined'&&swiper.params.width!==null){
width=swiper.params.width;
}else{
width=el.clientWidth;
}
if(typeof swiper.params.height!=='undefined'&&swiper.params.height!==null){
height=swiper.params.height;
}else{
height=el.clientHeight;
}
if(width===0&&swiper.isHorizontal()||height===0&&swiper.isVertical()){
return;
}
width=width - parseInt(elementStyle(el, 'padding-left')||0, 10) - parseInt(elementStyle(el, 'padding-right')||0, 10);
height=height - parseInt(elementStyle(el, 'padding-top')||0, 10) - parseInt(elementStyle(el, 'padding-bottom')||0, 10);
if(Number.isNaN(width)) width=0;
if(Number.isNaN(height)) height=0;
Object.assign(swiper, {
width,
height,
size: swiper.isHorizontal() ? width:height
});
}
function updateSlides(){
const swiper=this;
function getDirectionPropertyValue(node, label){
return parseFloat(node.getPropertyValue(swiper.getDirectionLabel(label))||0);
}
const params=swiper.params;
const {
wrapperEl,
slidesEl,
size: swiperSize,
rtlTranslate: rtl,
wrongRTL
}=swiper;
const isVirtual=swiper.virtual&&params.virtual.enabled;
const previousSlidesLength=isVirtual ? swiper.virtual.slides.length:swiper.slides.length;
const slides=elementChildren(slidesEl, `.${swiper.params.slideClass}, swiper-slide`);
const slidesLength=isVirtual ? swiper.virtual.slides.length:slides.length;
let snapGrid=[];
const slidesGrid=[];
const slidesSizesGrid=[];
let offsetBefore=params.slidesOffsetBefore;
if(typeof offsetBefore==='function'){
offsetBefore=params.slidesOffsetBefore.call(swiper);
}
let offsetAfter=params.slidesOffsetAfter;
if(typeof offsetAfter==='function'){
offsetAfter=params.slidesOffsetAfter.call(swiper);
}
const previousSnapGridLength=swiper.snapGrid.length;
const previousSlidesGridLength=swiper.slidesGrid.length;
let spaceBetween=params.spaceBetween;
let slidePosition=-offsetBefore;
let prevSlideSize=0;
let index=0;
if(typeof swiperSize==='undefined'){
return;
}
if(typeof spaceBetween==='string'&&spaceBetween.indexOf('%') >=0){
spaceBetween=parseFloat(spaceBetween.replace('%', '')) / 100 * swiperSize;
}else if(typeof spaceBetween==='string'){
spaceBetween=parseFloat(spaceBetween);
}
swiper.virtualSize=-spaceBetween;
slides.forEach(slideEl=> {
if(rtl){
slideEl.style.marginLeft='';
}else{
slideEl.style.marginRight='';
}
slideEl.style.marginBottom='';
slideEl.style.marginTop='';
});
if(params.centeredSlides&&params.cssMode){
setCSSProperty(wrapperEl, '--swiper-centered-offset-before', '');
setCSSProperty(wrapperEl, '--swiper-centered-offset-after', '');
}
const gridEnabled=params.grid&&params.grid.rows > 1&&swiper.grid;
if(gridEnabled){
swiper.grid.initSlides(slides);
}else if(swiper.grid){
swiper.grid.unsetSlides();
}
let slideSize;
const shouldResetSlideSize=params.slidesPerView==='auto'&&params.breakpoints&&Object.keys(params.breakpoints).filter(key=> {
return typeof params.breakpoints[key].slidesPerView!=='undefined';
}).length > 0;
for (let i=0; i < slidesLength; i +=1){
slideSize=0;
let slide;
if(slides[i]) slide=slides[i];
if(gridEnabled){
swiper.grid.updateSlide(i, slide, slides);
}
if(slides[i]&&elementStyle(slide, 'display')==='none') continue;
if(params.slidesPerView==='auto'){
if(shouldResetSlideSize){
slides[i].style[swiper.getDirectionLabel('width')]=``;
}
const slideStyles=getComputedStyle(slide);
const currentTransform=slide.style.transform;
const currentWebKitTransform=slide.style.webkitTransform;
if(currentTransform){
slide.style.transform='none';
}
if(currentWebKitTransform){
slide.style.webkitTransform='none';
}
if(params.roundLengths){
slideSize=swiper.isHorizontal() ? elementOuterSize(slide, 'width', true):elementOuterSize(slide, 'height', true);
}else{
const width=getDirectionPropertyValue(slideStyles, 'width');
const paddingLeft=getDirectionPropertyValue(slideStyles, 'padding-left');
const paddingRight=getDirectionPropertyValue(slideStyles, 'padding-right');
const marginLeft=getDirectionPropertyValue(slideStyles, 'margin-left');
const marginRight=getDirectionPropertyValue(slideStyles, 'margin-right');
const boxSizing=slideStyles.getPropertyValue('box-sizing');
if(boxSizing&&boxSizing==='border-box'){
slideSize=width + marginLeft + marginRight;
}else{
const {
clientWidth,
offsetWidth
}=slide;
slideSize=width + paddingLeft + paddingRight + marginLeft + marginRight + (offsetWidth - clientWidth);
}}
if(currentTransform){
slide.style.transform=currentTransform;
}
if(currentWebKitTransform){
slide.style.webkitTransform=currentWebKitTransform;
}
if(params.roundLengths) slideSize=Math.floor(slideSize);
}else{
slideSize=(swiperSize - (params.slidesPerView - 1) * spaceBetween) / params.slidesPerView;
if(params.roundLengths) slideSize=Math.floor(slideSize);
if(slides[i]){
slides[i].style[swiper.getDirectionLabel('width')]=`${slideSize}px`;
}}
if(slides[i]){
slides[i].swiperSlideSize=slideSize;
}
slidesSizesGrid.push(slideSize);
if(params.centeredSlides){
slidePosition=slidePosition + slideSize / 2 + prevSlideSize / 2 + spaceBetween;
if(prevSlideSize===0&&i!==0) slidePosition=slidePosition - swiperSize / 2 - spaceBetween;
if(i===0) slidePosition=slidePosition - swiperSize / 2 - spaceBetween;
if(Math.abs(slidePosition) < 1 / 1000) slidePosition=0;
if(params.roundLengths) slidePosition=Math.floor(slidePosition);
if(index % params.slidesPerGroup===0) snapGrid.push(slidePosition);
slidesGrid.push(slidePosition);
}else{
if(params.roundLengths) slidePosition=Math.floor(slidePosition);
if((index - Math.min(swiper.params.slidesPerGroupSkip, index)) % swiper.params.slidesPerGroup===0) snapGrid.push(slidePosition);
slidesGrid.push(slidePosition);
slidePosition=slidePosition + slideSize + spaceBetween;
}
swiper.virtualSize +=slideSize + spaceBetween;
prevSlideSize=slideSize;
index +=1;
}
swiper.virtualSize=Math.max(swiper.virtualSize, swiperSize) + offsetAfter;
if(rtl&&wrongRTL&&(params.effect==='slide'||params.effect==='coverflow')){
wrapperEl.style.width=`${swiper.virtualSize + spaceBetween}px`;
}
if(params.setWrapperSize){
wrapperEl.style[swiper.getDirectionLabel('width')]=`${swiper.virtualSize + spaceBetween}px`;
}
if(gridEnabled){
swiper.grid.updateWrapperSize(slideSize, snapGrid);
}
if(!params.centeredSlides){
const newSlidesGrid=[];
for (let i=0; i < snapGrid.length; i +=1){
let slidesGridItem=snapGrid[i];
if(params.roundLengths) slidesGridItem=Math.floor(slidesGridItem);
if(snapGrid[i] <=swiper.virtualSize - swiperSize){
newSlidesGrid.push(slidesGridItem);
}}
snapGrid=newSlidesGrid;
if(Math.floor(swiper.virtualSize - swiperSize) - Math.floor(snapGrid[snapGrid.length - 1]) > 1){
snapGrid.push(swiper.virtualSize - swiperSize);
}}
if(isVirtual&&params.loop){
const size=slidesSizesGrid[0] + spaceBetween;
if(params.slidesPerGroup > 1){
const groups=Math.ceil((swiper.virtual.slidesBefore + swiper.virtual.slidesAfter) / params.slidesPerGroup);
const groupSize=size * params.slidesPerGroup;
for (let i=0; i < groups; i +=1){
snapGrid.push(snapGrid[snapGrid.length - 1] + groupSize);
}}
for (let i=0; i < swiper.virtual.slidesBefore + swiper.virtual.slidesAfter; i +=1){
if(params.slidesPerGroup===1){
snapGrid.push(snapGrid[snapGrid.length - 1] + size);
}
slidesGrid.push(slidesGrid[slidesGrid.length - 1] + size);
swiper.virtualSize +=size;
}}
if(snapGrid.length===0) snapGrid=[0];
if(spaceBetween!==0){
const key=swiper.isHorizontal()&&rtl ? 'marginLeft':swiper.getDirectionLabel('marginRight');
slides.filter((_, slideIndex)=> {
if(!params.cssMode||params.loop) return true;
if(slideIndex===slides.length - 1){
return false;
}
return true;
}).forEach(slideEl=> {
slideEl.style[key]=`${spaceBetween}px`;
});
}
if(params.centeredSlides&&params.centeredSlidesBounds){
let allSlidesSize=0;
slidesSizesGrid.forEach(slideSizeValue=> {
allSlidesSize +=slideSizeValue + (spaceBetween||0);
});
allSlidesSize -=spaceBetween;
const maxSnap=allSlidesSize - swiperSize;
snapGrid=snapGrid.map(snap=> {
if(snap <=0) return -offsetBefore;
if(snap > maxSnap) return maxSnap + offsetAfter;
return snap;
});
}
if(params.centerInsufficientSlides){
let allSlidesSize=0;
slidesSizesGrid.forEach(slideSizeValue=> {
allSlidesSize +=slideSizeValue + (spaceBetween||0);
});
allSlidesSize -=spaceBetween;
if(allSlidesSize < swiperSize){
const allSlidesOffset=(swiperSize - allSlidesSize) / 2;
snapGrid.forEach((snap, snapIndex)=> {
snapGrid[snapIndex]=snap - allSlidesOffset;
});
slidesGrid.forEach((snap, snapIndex)=> {
slidesGrid[snapIndex]=snap + allSlidesOffset;
});
}}
Object.assign(swiper, {
slides,
snapGrid,
slidesGrid,
slidesSizesGrid
});
if(params.centeredSlides&&params.cssMode&&!params.centeredSlidesBounds){
setCSSProperty(wrapperEl, '--swiper-centered-offset-before', `${-snapGrid[0]}px`);
setCSSProperty(wrapperEl, '--swiper-centered-offset-after', `${swiper.size / 2 - slidesSizesGrid[slidesSizesGrid.length - 1] / 2}px`);
const addToSnapGrid=-swiper.snapGrid[0];
const addToSlidesGrid=-swiper.slidesGrid[0];
swiper.snapGrid=swiper.snapGrid.map(v=> v + addToSnapGrid);
swiper.slidesGrid=swiper.slidesGrid.map(v=> v + addToSlidesGrid);
}
if(slidesLength!==previousSlidesLength){
swiper.emit('slidesLengthChange');
}
if(snapGrid.length!==previousSnapGridLength){
if(swiper.params.watchOverflow) swiper.checkOverflow();
swiper.emit('snapGridLengthChange');
}
if(slidesGrid.length!==previousSlidesGridLength){
swiper.emit('slidesGridLengthChange');
}
if(params.watchSlidesProgress){
swiper.updateSlidesOffset();
}
swiper.emit('slidesUpdated');
if(!isVirtual&&!params.cssMode&&(params.effect==='slide'||params.effect==='fade')){
const backFaceHiddenClass=`${params.containerModifierClass}backface-hidden`;
const hasClassBackfaceClassAdded=swiper.el.classList.contains(backFaceHiddenClass);
if(slidesLength <=params.maxBackfaceHiddenSlides){
if(!hasClassBackfaceClassAdded) swiper.el.classList.add(backFaceHiddenClass);
}else if(hasClassBackfaceClassAdded){
swiper.el.classList.remove(backFaceHiddenClass);
}}
}
function updateAutoHeight(speed){
const swiper=this;
const activeSlides=[];
const isVirtual=swiper.virtual&&swiper.params.virtual.enabled;
let newHeight=0;
let i;
if(typeof speed==='number'){
swiper.setTransition(speed);
}else if(speed===true){
swiper.setTransition(swiper.params.speed);
}
const getSlideByIndex=index=> {
if(isVirtual){
return swiper.slides[swiper.getSlideIndexByData(index)];
}
return swiper.slides[index];
};
if(swiper.params.slidesPerView!=='auto'&&swiper.params.slidesPerView > 1){
if(swiper.params.centeredSlides){
(swiper.visibleSlides||[]).forEach(slide=> {
activeSlides.push(slide);
});
}else{
for (i=0; i < Math.ceil(swiper.params.slidesPerView); i +=1){
const index=swiper.activeIndex + i;
if(index > swiper.slides.length&&!isVirtual) break;
activeSlides.push(getSlideByIndex(index));
}}
}else{
activeSlides.push(getSlideByIndex(swiper.activeIndex));
}
for (i=0; i < activeSlides.length; i +=1){
if(typeof activeSlides[i]!=='undefined'){
const height=activeSlides[i].offsetHeight;
newHeight=height > newHeight ? height:newHeight;
}}
if(newHeight||newHeight===0) swiper.wrapperEl.style.height=`${newHeight}px`;
}
function updateSlidesOffset(){
const swiper=this;
const slides=swiper.slides;
const minusOffset=swiper.isElement ? swiper.isHorizontal() ? swiper.wrapperEl.offsetLeft:swiper.wrapperEl.offsetTop:0;
for (let i=0; i < slides.length; i +=1){
slides[i].swiperSlideOffset=(swiper.isHorizontal() ? slides[i].offsetLeft:slides[i].offsetTop) - minusOffset - swiper.cssOverflowAdjustment();
}}
function updateSlidesProgress(translate){
if(translate===void 0){
translate=this&&this.translate||0;
}
const swiper=this;
const params=swiper.params;
const {
slides,
rtlTranslate: rtl,
snapGrid
}=swiper;
if(slides.length===0) return;
if(typeof slides[0].swiperSlideOffset==='undefined') swiper.updateSlidesOffset();
let offsetCenter=-translate;
if(rtl) offsetCenter=translate;
slides.forEach(slideEl=> {
slideEl.classList.remove(params.slideVisibleClass, params.slideFullyVisibleClass);
});
swiper.visibleSlidesIndexes=[];
swiper.visibleSlides=[];
let spaceBetween=params.spaceBetween;
if(typeof spaceBetween==='string'&&spaceBetween.indexOf('%') >=0){
spaceBetween=parseFloat(spaceBetween.replace('%', '')) / 100 * swiper.size;
}else if(typeof spaceBetween==='string'){
spaceBetween=parseFloat(spaceBetween);
}
for (let i=0; i < slides.length; i +=1){
const slide=slides[i];
let slideOffset=slide.swiperSlideOffset;
if(params.cssMode&&params.centeredSlides){
slideOffset -=slides[0].swiperSlideOffset;
}
const slideProgress=(offsetCenter + (params.centeredSlides ? swiper.minTranslate():0) - slideOffset) / (slide.swiperSlideSize + spaceBetween);
const originalSlideProgress=(offsetCenter - snapGrid[0] + (params.centeredSlides ? swiper.minTranslate():0) - slideOffset) / (slide.swiperSlideSize + spaceBetween);
const slideBefore=-(offsetCenter - slideOffset);
const slideAfter=slideBefore + swiper.slidesSizesGrid[i];
const isFullyVisible=slideBefore >=0&&slideBefore <=swiper.size - swiper.slidesSizesGrid[i];
const isVisible=slideBefore >=0&&slideBefore < swiper.size - 1||slideAfter > 1&&slideAfter <=swiper.size||slideBefore <=0&&slideAfter >=swiper.size;
if(isVisible){
swiper.visibleSlides.push(slide);
swiper.visibleSlidesIndexes.push(i);
slides[i].classList.add(params.slideVisibleClass);
}
if(isFullyVisible){
slides[i].classList.add(params.slideFullyVisibleClass);
}
slide.progress=rtl ? -slideProgress:slideProgress;
slide.originalProgress=rtl ? -originalSlideProgress:originalSlideProgress;
}}
function updateProgress(translate){
const swiper=this;
if(typeof translate==='undefined'){
const multiplier=swiper.rtlTranslate ? -1:1;
translate=swiper&&swiper.translate&&swiper.translate * multiplier||0;
}
const params=swiper.params;
const translatesDiff=swiper.maxTranslate() - swiper.minTranslate();
let {
progress,
isBeginning,
isEnd,
progressLoop
}=swiper;
const wasBeginning=isBeginning;
const wasEnd=isEnd;
if(translatesDiff===0){
progress=0;
isBeginning=true;
isEnd=true;
}else{
progress=(translate - swiper.minTranslate()) / translatesDiff;
const isBeginningRounded=Math.abs(translate - swiper.minTranslate()) < 1;
const isEndRounded=Math.abs(translate - swiper.maxTranslate()) < 1;
isBeginning=isBeginningRounded||progress <=0;
isEnd=isEndRounded||progress >=1;
if(isBeginningRounded) progress=0;
if(isEndRounded) progress=1;
}
if(params.loop){
const firstSlideIndex=swiper.getSlideIndexByData(0);
const lastSlideIndex=swiper.getSlideIndexByData(swiper.slides.length - 1);
const firstSlideTranslate=swiper.slidesGrid[firstSlideIndex];
const lastSlideTranslate=swiper.slidesGrid[lastSlideIndex];
const translateMax=swiper.slidesGrid[swiper.slidesGrid.length - 1];
const translateAbs=Math.abs(translate);
if(translateAbs >=firstSlideTranslate){
progressLoop=(translateAbs - firstSlideTranslate) / translateMax;
}else{
progressLoop=(translateAbs + translateMax - lastSlideTranslate) / translateMax;
}
if(progressLoop > 1) progressLoop -=1;
}
Object.assign(swiper, {
progress,
progressLoop,
isBeginning,
isEnd
});
if(params.watchSlidesProgress||params.centeredSlides&&params.autoHeight) swiper.updateSlidesProgress(translate);
if(isBeginning&&!wasBeginning){
swiper.emit('reachBeginning toEdge');
}
if(isEnd&&!wasEnd){
swiper.emit('reachEnd toEdge');
}
if(wasBeginning&&!isBeginning||wasEnd&&!isEnd){
swiper.emit('fromEdge');
}
swiper.emit('progress', progress);
}
function updateSlidesClasses(){
const swiper=this;
const {
slides,
params,
slidesEl,
activeIndex
}=swiper;
const isVirtual=swiper.virtual&&params.virtual.enabled;
const gridEnabled=swiper.grid&&params.grid&&params.grid.rows > 1;
const getFilteredSlide=selector=> {
return elementChildren(slidesEl, `.${params.slideClass}${selector}, swiper-slide${selector}`)[0];
};
slides.forEach(slideEl=> {
slideEl.classList.remove(params.slideActiveClass, params.slideNextClass, params.slidePrevClass);
});
let activeSlide;
let prevSlide;
let nextSlide;
if(isVirtual){
if(params.loop){
let slideIndex=activeIndex - swiper.virtual.slidesBefore;
if(slideIndex < 0) slideIndex=swiper.virtual.slides.length + slideIndex;
if(slideIndex >=swiper.virtual.slides.length) slideIndex -=swiper.virtual.slides.length;
activeSlide=getFilteredSlide(`[data-swiper-slide-index="${slideIndex}"]`);
}else{
activeSlide=getFilteredSlide(`[data-swiper-slide-index="${activeIndex}"]`);
}}else{
if(gridEnabled){
activeSlide=slides.filter(slideEl=> slideEl.column===activeIndex)[0];
nextSlide=slides.filter(slideEl=> slideEl.column===activeIndex + 1)[0];
prevSlide=slides.filter(slideEl=> slideEl.column===activeIndex - 1)[0];
}else{
activeSlide=slides[activeIndex];
}}
if(activeSlide){
activeSlide.classList.add(params.slideActiveClass);
if(gridEnabled){
if(nextSlide){
nextSlide.classList.add(params.slideNextClass);
}
if(prevSlide){
prevSlide.classList.add(params.slidePrevClass);
}}else{
nextSlide=elementNextAll(activeSlide, `.${params.slideClass}, swiper-slide`)[0];
if(params.loop&&!nextSlide){
nextSlide=slides[0];
}
if(nextSlide){
nextSlide.classList.add(params.slideNextClass);
}
prevSlide=elementPrevAll(activeSlide, `.${params.slideClass}, swiper-slide`)[0];
if(params.loop&&!prevSlide===0){
prevSlide=slides[slides.length - 1];
}
if(prevSlide){
prevSlide.classList.add(params.slidePrevClass);
}}
}
swiper.emitSlidesClasses();
}
const processLazyPreloader=(swiper, imageEl)=> {
if(!swiper||swiper.destroyed||!swiper.params) return;
const slideSelector=()=> swiper.isElement ? `swiper-slide`:`.${swiper.params.slideClass}`;
const slideEl=imageEl.closest(slideSelector());
if(slideEl){
let lazyEl=slideEl.querySelector(`.${swiper.params.lazyPreloaderClass}`);
if(!lazyEl&&swiper.isElement){
if(slideEl.shadowRoot){
lazyEl=slideEl.shadowRoot.querySelector(`.${swiper.params.lazyPreloaderClass}`);
}else{
requestAnimationFrame(()=> {
if(slideEl.shadowRoot){
lazyEl=slideEl.shadowRoot.querySelector(`.${swiper.params.lazyPreloaderClass}`);
if(lazyEl) lazyEl.remove();
}});
}}
if(lazyEl) lazyEl.remove();
}};
const unlazy=(swiper, index)=> {
if(!swiper.slides[index]) return;
const imageEl=swiper.slides[index].querySelector('[loading="lazy"]');
if(imageEl) imageEl.removeAttribute('loading');
};
const preload=swiper=> {
if(!swiper||swiper.destroyed||!swiper.params) return;
let amount=swiper.params.lazyPreloadPrevNext;
const len=swiper.slides.length;
if(!len||!amount||amount < 0) return;
amount=Math.min(amount, len);
const slidesPerView=swiper.params.slidesPerView==='auto' ? swiper.slidesPerViewDynamic():Math.ceil(swiper.params.slidesPerView);
const activeIndex=swiper.activeIndex;
if(swiper.params.grid&&swiper.params.grid.rows > 1){
const activeColumn=activeIndex;
const preloadColumns=[activeColumn - amount];
preloadColumns.push(...Array.from({
length: amount
}).map((_, i)=> {
return activeColumn + slidesPerView + i;
}));
swiper.slides.forEach((slideEl, i)=> {
if(preloadColumns.includes(slideEl.column)) unlazy(swiper, i);
});
return;
}
const slideIndexLastInView=activeIndex + slidesPerView - 1;
if(swiper.params.rewind||swiper.params.loop){
for (let i=activeIndex - amount; i <=slideIndexLastInView + amount; i +=1){
const realIndex=(i % len + len) % len;
if(realIndex < activeIndex||realIndex > slideIndexLastInView) unlazy(swiper, realIndex);
}}else{
for (let i=Math.max(activeIndex - amount, 0); i <=Math.min(slideIndexLastInView + amount, len - 1); i +=1){
if(i!==activeIndex&&(i > slideIndexLastInView||i < activeIndex)){
unlazy(swiper, i);
}}
}};
function getActiveIndexByTranslate(swiper){
const {
slidesGrid,
params
}=swiper;
const translate=swiper.rtlTranslate ? swiper.translate:-swiper.translate;
let activeIndex;
for (let i=0; i < slidesGrid.length; i +=1){
if(typeof slidesGrid[i + 1]!=='undefined'){
if(translate >=slidesGrid[i]&&translate < slidesGrid[i + 1] - (slidesGrid[i + 1] - slidesGrid[i]) / 2){
activeIndex=i;
}else if(translate >=slidesGrid[i]&&translate < slidesGrid[i + 1]){
activeIndex=i + 1;
}}else if(translate >=slidesGrid[i]){
activeIndex=i;
}}
if(params.normalizeSlideIndex){
if(activeIndex < 0||typeof activeIndex==='undefined') activeIndex=0;
}
return activeIndex;
}
function updateActiveIndex(newActiveIndex){
const swiper=this;
const translate=swiper.rtlTranslate ? swiper.translate:-swiper.translate;
const {
snapGrid,
params,
activeIndex: previousIndex,
realIndex: previousRealIndex,
snapIndex: previousSnapIndex
}=swiper;
let activeIndex=newActiveIndex;
let snapIndex;
const getVirtualRealIndex=aIndex=> {
let realIndex=aIndex - swiper.virtual.slidesBefore;
if(realIndex < 0){
realIndex=swiper.virtual.slides.length + realIndex;
}
if(realIndex >=swiper.virtual.slides.length){
realIndex -=swiper.virtual.slides.length;
}
return realIndex;
};
if(typeof activeIndex==='undefined'){
activeIndex=getActiveIndexByTranslate(swiper);
}
if(snapGrid.indexOf(translate) >=0){
snapIndex=snapGrid.indexOf(translate);
}else{
const skip=Math.min(params.slidesPerGroupSkip, activeIndex);
snapIndex=skip + Math.floor((activeIndex - skip) / params.slidesPerGroup);
}
if(snapIndex >=snapGrid.length) snapIndex=snapGrid.length - 1;
if(activeIndex===previousIndex&&!swiper.params.loop){
if(snapIndex!==previousSnapIndex){
swiper.snapIndex=snapIndex;
swiper.emit('snapIndexChange');
}
return;
}
if(activeIndex===previousIndex&&swiper.params.loop&&swiper.virtual&&swiper.params.virtual.enabled){
swiper.realIndex=getVirtualRealIndex(activeIndex);
return;
}
const gridEnabled=swiper.grid&&params.grid&&params.grid.rows > 1;
let realIndex;
if(swiper.virtual&&params.virtual.enabled&&params.loop){
realIndex=getVirtualRealIndex(activeIndex);
}else if(gridEnabled){
const firstSlideInColumn=swiper.slides.filter(slideEl=> slideEl.column===activeIndex)[0];
let activeSlideIndex=parseInt(firstSlideInColumn.getAttribute('data-swiper-slide-index'), 10);
if(Number.isNaN(activeSlideIndex)){
activeSlideIndex=Math.max(swiper.slides.indexOf(firstSlideInColumn), 0);
}
realIndex=Math.floor(activeSlideIndex / params.grid.rows);
}else if(swiper.slides[activeIndex]){
const slideIndex=swiper.slides[activeIndex].getAttribute('data-swiper-slide-index');
if(slideIndex){
realIndex=parseInt(slideIndex, 10);
}else{
realIndex=activeIndex;
}}else{
realIndex=activeIndex;
}
Object.assign(swiper, {
previousSnapIndex,
snapIndex,
previousRealIndex,
realIndex,
previousIndex,
activeIndex
});
if(swiper.initialized){
preload(swiper);
}
swiper.emit('activeIndexChange');
swiper.emit('snapIndexChange');
if(swiper.initialized||swiper.params.runCallbacksOnInit){
if(previousRealIndex!==realIndex){
swiper.emit('realIndexChange');
}
swiper.emit('slideChange');
}}
function updateClickedSlide(el, path){
const swiper=this;
const params=swiper.params;
let slide=el.closest(`.${params.slideClass}, swiper-slide`);
if(!slide&&swiper.isElement&&path&&path.length > 1&&path.includes(el)){
[...path.slice(path.indexOf(el) + 1, path.length)].forEach(pathEl=> {
if(!slide&&pathEl.matches&&pathEl.matches(`.${params.slideClass}, swiper-slide`)){
slide=pathEl;
}});
}
let slideFound=false;
let slideIndex;
if(slide){
for (let i=0; i < swiper.slides.length; i +=1){
if(swiper.slides[i]===slide){
slideFound=true;
slideIndex=i;
break;
}}
}
if(slide&&slideFound){
swiper.clickedSlide=slide;
if(swiper.virtual&&swiper.params.virtual.enabled){
swiper.clickedIndex=parseInt(slide.getAttribute('data-swiper-slide-index'), 10);
}else{
swiper.clickedIndex=slideIndex;
}}else{
swiper.clickedSlide=undefined;
swiper.clickedIndex=undefined;
return;
}
if(params.slideToClickedSlide&&swiper.clickedIndex!==undefined&&swiper.clickedIndex!==swiper.activeIndex){
swiper.slideToClickedSlide();
}}
var update={
updateSize,
updateSlides,
updateAutoHeight,
updateSlidesOffset,
updateSlidesProgress,
updateProgress,
updateSlidesClasses,
updateActiveIndex,
updateClickedSlide
};
function getSwiperTranslate(axis){
if(axis===void 0){
axis=this.isHorizontal() ? 'x':'y';
}
const swiper=this;
const {
params,
rtlTranslate: rtl,
translate,
wrapperEl
}=swiper;
if(params.virtualTranslate){
return rtl ? -translate:translate;
}
if(params.cssMode){
return translate;
}
let currentTranslate=getTranslate(wrapperEl, axis);
currentTranslate +=swiper.cssOverflowAdjustment();
if(rtl) currentTranslate=-currentTranslate;
return currentTranslate||0;
}
function setTranslate(translate, byController){
const swiper=this;
const {
rtlTranslate: rtl,
params,
wrapperEl,
progress
}=swiper;
let x=0;
let y=0;
const z=0;
if(swiper.isHorizontal()){
x=rtl ? -translate:translate;
}else{
y=translate;
}
if(params.roundLengths){
x=Math.floor(x);
y=Math.floor(y);
}
swiper.previousTranslate=swiper.translate;
swiper.translate=swiper.isHorizontal() ? x:y;
if(params.cssMode){
wrapperEl[swiper.isHorizontal() ? 'scrollLeft':'scrollTop']=swiper.isHorizontal() ? -x:-y;
}else if(!params.virtualTranslate){
if(swiper.isHorizontal()){
x -=swiper.cssOverflowAdjustment();
}else{
y -=swiper.cssOverflowAdjustment();
}
wrapperEl.style.transform=`translate3d(${x}px, ${y}px, ${z}px)`;
}
let newProgress;
const translatesDiff=swiper.maxTranslate() - swiper.minTranslate();
if(translatesDiff===0){
newProgress=0;
}else{
newProgress=(translate - swiper.minTranslate()) / translatesDiff;
}
if(newProgress!==progress){
swiper.updateProgress(translate);
}
swiper.emit('setTranslate', swiper.translate, byController);
}
function minTranslate(){
return -this.snapGrid[0];
}
function maxTranslate(){
return -this.snapGrid[this.snapGrid.length - 1];
}
function translateTo(translate, speed, runCallbacks, translateBounds, internal){
if(translate===void 0){
translate=0;
}
if(speed===void 0){
speed=this.params.speed;
}
if(runCallbacks===void 0){
runCallbacks=true;
}
if(translateBounds===void 0){
translateBounds=true;
}
const swiper=this;
const {
params,
wrapperEl
}=swiper;
if(swiper.animating&&params.preventInteractionOnTransition){
return false;
}
const minTranslate=swiper.minTranslate();
const maxTranslate=swiper.maxTranslate();
let newTranslate;
if(translateBounds&&translate > minTranslate) newTranslate=minTranslate;else if(translateBounds&&translate < maxTranslate) newTranslate=maxTranslate;else newTranslate=translate;
swiper.updateProgress(newTranslate);
if(params.cssMode){
const isH=swiper.isHorizontal();
if(speed===0){
wrapperEl[isH ? 'scrollLeft':'scrollTop']=-newTranslate;
}else{
if(!swiper.support.smoothScroll){
animateCSSModeScroll({
swiper,
targetPosition: -newTranslate,
side: isH ? 'left':'top'
});
return true;
}
wrapperEl.scrollTo({
[isH ? 'left':'top']: -newTranslate,
behavior: 'smooth'
});
}
return true;
}
if(speed===0){
swiper.setTransition(0);
swiper.setTranslate(newTranslate);
if(runCallbacks){
swiper.emit('beforeTransitionStart', speed, internal);
swiper.emit('transitionEnd');
}}else{
swiper.setTransition(speed);
swiper.setTranslate(newTranslate);
if(runCallbacks){
swiper.emit('beforeTransitionStart', speed, internal);
swiper.emit('transitionStart');
}
if(!swiper.animating){
swiper.animating=true;
if(!swiper.onTranslateToWrapperTransitionEnd){
swiper.onTranslateToWrapperTransitionEnd=function transitionEnd(e){
if(!swiper||swiper.destroyed) return;
if(e.target!==this) return;
swiper.wrapperEl.removeEventListener('transitionend', swiper.onTranslateToWrapperTransitionEnd);
swiper.onTranslateToWrapperTransitionEnd=null;
delete swiper.onTranslateToWrapperTransitionEnd;
if(runCallbacks){
swiper.emit('transitionEnd');
}};}
swiper.wrapperEl.addEventListener('transitionend', swiper.onTranslateToWrapperTransitionEnd);
}}
return true;
}
var translate={
getTranslate: getSwiperTranslate,
setTranslate,
minTranslate,
maxTranslate,
translateTo
};
function setTransition(duration, byController){
const swiper=this;
if(!swiper.params.cssMode){
swiper.wrapperEl.style.transitionDuration=`${duration}ms`;
swiper.wrapperEl.style.transitionDelay=duration===0 ? `0ms`:'';
}
swiper.emit('setTransition', duration, byController);
}
function transitionEmit(_ref){
let {
swiper,
runCallbacks,
direction,
step
}=_ref;
const {
activeIndex,
previousIndex
}=swiper;
let dir=direction;
if(!dir){
if(activeIndex > previousIndex) dir='next';else if(activeIndex < previousIndex) dir='prev';else dir='reset';
}
swiper.emit(`transition${step}`);
if(runCallbacks&&activeIndex!==previousIndex){
if(dir==='reset'){
swiper.emit(`slideResetTransition${step}`);
return;
}
swiper.emit(`slideChangeTransition${step}`);
if(dir==='next'){
swiper.emit(`slideNextTransition${step}`);
}else{
swiper.emit(`slidePrevTransition${step}`);
}}
}
function transitionStart(runCallbacks, direction){
if(runCallbacks===void 0){
runCallbacks=true;
}
const swiper=this;
const {
params
}=swiper;
if(params.cssMode) return;
if(params.autoHeight){
swiper.updateAutoHeight();
}
transitionEmit({
swiper,
runCallbacks,
direction,
step: 'Start'
});
}
function transitionEnd(runCallbacks, direction){
if(runCallbacks===void 0){
runCallbacks=true;
}
const swiper=this;
const {
params
}=swiper;
swiper.animating=false;
if(params.cssMode) return;
swiper.setTransition(0);
transitionEmit({
swiper,
runCallbacks,
direction,
step: 'End'
});
}
var transition={
setTransition,
transitionStart,
transitionEnd
};
function slideTo(index, speed, runCallbacks, internal, initial){
if(index===void 0){
index=0;
}
if(speed===void 0){
speed=this.params.speed;
}
if(runCallbacks===void 0){
runCallbacks=true;
}
if(typeof index==='string'){
index=parseInt(index, 10);
}
const swiper=this;
let slideIndex=index;
if(slideIndex < 0) slideIndex=0;
const {
params,
snapGrid,
slidesGrid,
previousIndex,
activeIndex,
rtlTranslate: rtl,
wrapperEl,
enabled
}=swiper;
if(swiper.animating&&params.preventInteractionOnTransition||!enabled&&!internal&&!initial){
return false;
}
const skip=Math.min(swiper.params.slidesPerGroupSkip, slideIndex);
let snapIndex=skip + Math.floor((slideIndex - skip) / swiper.params.slidesPerGroup);
if(snapIndex >=snapGrid.length) snapIndex=snapGrid.length - 1;
const translate=-snapGrid[snapIndex];
if(params.normalizeSlideIndex){
for (let i=0; i < slidesGrid.length; i +=1){
const normalizedTranslate=-Math.floor(translate * 100);
const normalizedGrid=Math.floor(slidesGrid[i] * 100);
const normalizedGridNext=Math.floor(slidesGrid[i + 1] * 100);
if(typeof slidesGrid[i + 1]!=='undefined'){
if(normalizedTranslate >=normalizedGrid&&normalizedTranslate < normalizedGridNext - (normalizedGridNext - normalizedGrid) / 2){
slideIndex=i;
}else if(normalizedTranslate >=normalizedGrid&&normalizedTranslate < normalizedGridNext){
slideIndex=i + 1;
}}else if(normalizedTranslate >=normalizedGrid){
slideIndex=i;
}}
}
if(swiper.initialized&&slideIndex!==activeIndex){
if(!swiper.allowSlideNext&&(rtl ? translate > swiper.translate&&translate > swiper.minTranslate():translate < swiper.translate&&translate < swiper.minTranslate())){
return false;
}
if(!swiper.allowSlidePrev&&translate > swiper.translate&&translate > swiper.maxTranslate()){
if((activeIndex||0)!==slideIndex){
return false;
}}
}
if(slideIndex!==(previousIndex||0)&&runCallbacks){
swiper.emit('beforeSlideChangeStart');
}
swiper.updateProgress(translate);
let direction;
if(slideIndex > activeIndex) direction='next';else if(slideIndex < activeIndex) direction='prev';else direction='reset';
if(rtl&&-translate===swiper.translate||!rtl&&translate===swiper.translate){
swiper.updateActiveIndex(slideIndex);
if(params.autoHeight){
swiper.updateAutoHeight();
}
swiper.updateSlidesClasses();
if(params.effect!=='slide'){
swiper.setTranslate(translate);
}
if(direction!=='reset'){
swiper.transitionStart(runCallbacks, direction);
swiper.transitionEnd(runCallbacks, direction);
}
return false;
}
if(params.cssMode){
const isH=swiper.isHorizontal();
const t=rtl ? translate:-translate;
if(speed===0){
const isVirtual=swiper.virtual&&swiper.params.virtual.enabled;
if(isVirtual){
swiper.wrapperEl.style.scrollSnapType='none';
swiper._immediateVirtual=true;
}
if(isVirtual&&!swiper._cssModeVirtualInitialSet&&swiper.params.initialSlide > 0){
swiper._cssModeVirtualInitialSet=true;
requestAnimationFrame(()=> {
wrapperEl[isH ? 'scrollLeft':'scrollTop']=t;
});
}else{
wrapperEl[isH ? 'scrollLeft':'scrollTop']=t;
}
if(isVirtual){
requestAnimationFrame(()=> {
swiper.wrapperEl.style.scrollSnapType='';
swiper._immediateVirtual=false;
});
}}else{
if(!swiper.support.smoothScroll){
animateCSSModeScroll({
swiper,
targetPosition: t,
side: isH ? 'left':'top'
});
return true;
}
wrapperEl.scrollTo({
[isH ? 'left':'top']: t,
behavior: 'smooth'
});
}
return true;
}
swiper.setTransition(speed);
swiper.setTranslate(translate);
swiper.updateActiveIndex(slideIndex);
swiper.updateSlidesClasses();
swiper.emit('beforeTransitionStart', speed, internal);
swiper.transitionStart(runCallbacks, direction);
if(speed===0){
swiper.transitionEnd(runCallbacks, direction);
}else if(!swiper.animating){
swiper.animating=true;
if(!swiper.onSlideToWrapperTransitionEnd){
swiper.onSlideToWrapperTransitionEnd=function transitionEnd(e){
if(!swiper||swiper.destroyed) return;
if(e.target!==this) return;
swiper.wrapperEl.removeEventListener('transitionend', swiper.onSlideToWrapperTransitionEnd);
swiper.onSlideToWrapperTransitionEnd=null;
delete swiper.onSlideToWrapperTransitionEnd;
swiper.transitionEnd(runCallbacks, direction);
};}
swiper.wrapperEl.addEventListener('transitionend', swiper.onSlideToWrapperTransitionEnd);
}
return true;
}
function slideToLoop(index, speed, runCallbacks, internal){
if(index===void 0){
index=0;
}
if(speed===void 0){
speed=this.params.speed;
}
if(runCallbacks===void 0){
runCallbacks=true;
}
if(typeof index==='string'){
const indexAsNumber=parseInt(index, 10);
index=indexAsNumber;
}
const swiper=this;
const gridEnabled=swiper.grid&&swiper.params.grid&&swiper.params.grid.rows > 1;
let newIndex=index;
if(swiper.params.loop){
if(swiper.virtual&&swiper.params.virtual.enabled){
newIndex=newIndex + swiper.virtual.slidesBefore;
}else{
let targetSlideIndex;
if(gridEnabled){
const slideIndex=newIndex * swiper.params.grid.rows;
targetSlideIndex=swiper.slides.filter(slideEl=> slideEl.getAttribute('data-swiper-slide-index') * 1===slideIndex)[0].column;
}else{
targetSlideIndex=swiper.getSlideIndexByData(newIndex);
}
const cols=gridEnabled ? Math.ceil(swiper.slides.length / swiper.params.grid.rows):swiper.slides.length;
const {
centeredSlides
}=swiper.params;
let slidesPerView=swiper.params.slidesPerView;
if(slidesPerView==='auto'){
slidesPerView=swiper.slidesPerViewDynamic();
}else{
slidesPerView=Math.ceil(parseFloat(swiper.params.slidesPerView, 10));
if(centeredSlides&&slidesPerView % 2===0){
slidesPerView=slidesPerView + 1;
}}
let needLoopFix=cols - targetSlideIndex < slidesPerView;
if(centeredSlides){
needLoopFix=needLoopFix||targetSlideIndex < Math.ceil(slidesPerView / 2);
}
if(needLoopFix){
const direction=centeredSlides ? targetSlideIndex < swiper.activeIndex ? 'prev':'next':targetSlideIndex - swiper.activeIndex - 1 < swiper.params.slidesPerView ? 'next':'prev';
swiper.loopFix({
direction,
slideTo: true,
activeSlideIndex: direction==='next' ? targetSlideIndex + 1:targetSlideIndex - cols + 1,
slideRealIndex: direction==='next' ? swiper.realIndex:undefined
});
}
if(gridEnabled){
const slideIndex=newIndex * swiper.params.grid.rows;
newIndex=swiper.slides.filter(slideEl=> slideEl.getAttribute('data-swiper-slide-index') * 1===slideIndex)[0].column;
}else{
newIndex=swiper.getSlideIndexByData(newIndex);
}}
}
requestAnimationFrame(()=> {
swiper.slideTo(newIndex, speed, runCallbacks, internal);
});
return swiper;
}
function slideNext(speed, runCallbacks, internal){
if(speed===void 0){
speed=this.params.speed;
}
if(runCallbacks===void 0){
runCallbacks=true;
}
const swiper=this;
const {
enabled,
params,
animating
}=swiper;
if(!enabled) return swiper;
let perGroup=params.slidesPerGroup;
if(params.slidesPerView==='auto'&&params.slidesPerGroup===1&&params.slidesPerGroupAuto){
perGroup=Math.max(swiper.slidesPerViewDynamic('current', true), 1);
}
const increment=swiper.activeIndex < params.slidesPerGroupSkip ? 1:perGroup;
const isVirtual=swiper.virtual&&params.virtual.enabled;
if(params.loop){
if(animating&&!isVirtual&&params.loopPreventsSliding) return false;
swiper.loopFix({
direction: 'next'
});
swiper._clientLeft=swiper.wrapperEl.clientLeft;
if(swiper.activeIndex===swiper.slides.length - 1&&params.cssMode){
requestAnimationFrame(()=> {
swiper.slideTo(swiper.activeIndex + increment, speed, runCallbacks, internal);
});
return true;
}}
if(params.rewind&&swiper.isEnd){
return swiper.slideTo(0, speed, runCallbacks, internal);
}
return swiper.slideTo(swiper.activeIndex + increment, speed, runCallbacks, internal);
}
function slidePrev(speed, runCallbacks, internal){
if(speed===void 0){
speed=this.params.speed;
}
if(runCallbacks===void 0){
runCallbacks=true;
}
const swiper=this;
const {
params,
snapGrid,
slidesGrid,
rtlTranslate,
enabled,
animating
}=swiper;
if(!enabled) return swiper;
const isVirtual=swiper.virtual&&params.virtual.enabled;
if(params.loop){
if(animating&&!isVirtual&&params.loopPreventsSliding) return false;
swiper.loopFix({
direction: 'prev'
});
swiper._clientLeft=swiper.wrapperEl.clientLeft;
}
const translate=rtlTranslate ? swiper.translate:-swiper.translate;
function normalize(val){
if(val < 0) return -Math.floor(Math.abs(val));
return Math.floor(val);
}
const normalizedTranslate=normalize(translate);
const normalizedSnapGrid=snapGrid.map(val=> normalize(val));
let prevSnap=snapGrid[normalizedSnapGrid.indexOf(normalizedTranslate) - 1];
if(typeof prevSnap==='undefined'&&params.cssMode){
let prevSnapIndex;
snapGrid.forEach((snap, snapIndex)=> {
if(normalizedTranslate >=snap){
prevSnapIndex=snapIndex;
}});
if(typeof prevSnapIndex!=='undefined'){
prevSnap=snapGrid[prevSnapIndex > 0 ? prevSnapIndex - 1:prevSnapIndex];
}}
let prevIndex=0;
if(typeof prevSnap!=='undefined'){
prevIndex=slidesGrid.indexOf(prevSnap);
if(prevIndex < 0) prevIndex=swiper.activeIndex - 1;
if(params.slidesPerView==='auto'&&params.slidesPerGroup===1&&params.slidesPerGroupAuto){
prevIndex=prevIndex - swiper.slidesPerViewDynamic('previous', true) + 1;
prevIndex=Math.max(prevIndex, 0);
}}
if(params.rewind&&swiper.isBeginning){
const lastIndex=swiper.params.virtual&&swiper.params.virtual.enabled&&swiper.virtual ? swiper.virtual.slides.length - 1:swiper.slides.length - 1;
return swiper.slideTo(lastIndex, speed, runCallbacks, internal);
}else if(params.loop&&swiper.activeIndex===0&&params.cssMode){
requestAnimationFrame(()=> {
swiper.slideTo(prevIndex, speed, runCallbacks, internal);
});
return true;
}
return swiper.slideTo(prevIndex, speed, runCallbacks, internal);
}
function slideReset(speed, runCallbacks, internal){
if(speed===void 0){
speed=this.params.speed;
}
if(runCallbacks===void 0){
runCallbacks=true;
}
const swiper=this;
return swiper.slideTo(swiper.activeIndex, speed, runCallbacks, internal);
}
function slideToClosest(speed, runCallbacks, internal, threshold){
if(speed===void 0){
speed=this.params.speed;
}
if(runCallbacks===void 0){
runCallbacks=true;
}
if(threshold===void 0){
threshold=0.5;
}
const swiper=this;
let index=swiper.activeIndex;
const skip=Math.min(swiper.params.slidesPerGroupSkip, index);
const snapIndex=skip + Math.floor((index - skip) / swiper.params.slidesPerGroup);
const translate=swiper.rtlTranslate ? swiper.translate:-swiper.translate;
if(translate >=swiper.snapGrid[snapIndex]){
const currentSnap=swiper.snapGrid[snapIndex];
const nextSnap=swiper.snapGrid[snapIndex + 1];
if(translate - currentSnap > (nextSnap - currentSnap) * threshold){
index +=swiper.params.slidesPerGroup;
}}else{
const prevSnap=swiper.snapGrid[snapIndex - 1];
const currentSnap=swiper.snapGrid[snapIndex];
if(translate - prevSnap <=(currentSnap - prevSnap) * threshold){
index -=swiper.params.slidesPerGroup;
}}
index=Math.max(index, 0);
index=Math.min(index, swiper.slidesGrid.length - 1);
return swiper.slideTo(index, speed, runCallbacks, internal);
}
function slideToClickedSlide(){
const swiper=this;
const {
params,
slidesEl
}=swiper;
const slidesPerView=params.slidesPerView==='auto' ? swiper.slidesPerViewDynamic():params.slidesPerView;
let slideToIndex=swiper.clickedIndex;
let realIndex;
const slideSelector=swiper.isElement ? `swiper-slide`:`.${params.slideClass}`;
if(params.loop){
if(swiper.animating) return;
realIndex=parseInt(swiper.clickedSlide.getAttribute('data-swiper-slide-index'), 10);
if(params.centeredSlides){
if(slideToIndex < swiper.loopedSlides - slidesPerView / 2||slideToIndex > swiper.slides.length - swiper.loopedSlides + slidesPerView / 2){
swiper.loopFix();
slideToIndex=swiper.getSlideIndex(elementChildren(slidesEl, `${slideSelector}[data-swiper-slide-index="${realIndex}"]`)[0]);
nextTick(()=> {
swiper.slideTo(slideToIndex);
});
}else{
swiper.slideTo(slideToIndex);
}}else if(slideToIndex > swiper.slides.length - slidesPerView){
swiper.loopFix();
slideToIndex=swiper.getSlideIndex(elementChildren(slidesEl, `${slideSelector}[data-swiper-slide-index="${realIndex}"]`)[0]);
nextTick(()=> {
swiper.slideTo(slideToIndex);
});
}else{
swiper.slideTo(slideToIndex);
}}else{
swiper.slideTo(slideToIndex);
}}
var slide={
slideTo,
slideToLoop,
slideNext,
slidePrev,
slideReset,
slideToClosest,
slideToClickedSlide
};
function loopCreate(slideRealIndex){
const swiper=this;
const {
params,
slidesEl
}=swiper;
if(!params.loop||swiper.virtual&&swiper.params.virtual.enabled) return;
const initSlides=()=> {
const slides=elementChildren(slidesEl, `.${params.slideClass}, swiper-slide`);
slides.forEach((el, index)=> {
el.setAttribute('data-swiper-slide-index', index);
});
};
const gridEnabled=swiper.grid&&params.grid&&params.grid.rows > 1;
const slidesPerGroup=params.slidesPerGroup * (gridEnabled ? params.grid.rows:1);
const shouldFillGroup=swiper.slides.length % slidesPerGroup!==0;
const shouldFillGrid=gridEnabled&&swiper.slides.length % params.grid.rows!==0;
const addBlankSlides=amountOfSlides=> {
for (let i=0; i < amountOfSlides; i +=1){
const slideEl=swiper.isElement ? createElement('swiper-slide', [params.slideBlankClass]):createElement('div', [params.slideClass, params.slideBlankClass]);
swiper.slidesEl.append(slideEl);
}};
if(shouldFillGroup){
if(params.loopAddBlankSlides){
const slidesToAdd=slidesPerGroup - swiper.slides.length % slidesPerGroup;
addBlankSlides(slidesToAdd);
swiper.recalcSlides();
swiper.updateSlides();
}else{
showWarning('Swiper Loop Warning: The number of slides is not even to slidesPerGroup, loop mode may not function properly. You need to add more slides (or make duplicates, or empty slides)');
}
initSlides();
}else if(shouldFillGrid){
if(params.loopAddBlankSlides){
const slidesToAdd=params.grid.rows - swiper.slides.length % params.grid.rows;
addBlankSlides(slidesToAdd);
swiper.recalcSlides();
swiper.updateSlides();
}else{
showWarning('Swiper Loop Warning: The number of slides is not even to grid.rows, loop mode may not function properly. You need to add more slides (or make duplicates, or empty slides)');
}
initSlides();
}else{
initSlides();
}
swiper.loopFix({
slideRealIndex,
direction: params.centeredSlides ? undefined:'next'
});
}
function loopFix(_temp){
let {
slideRealIndex,
slideTo=true,
direction,
setTranslate,
activeSlideIndex,
byController,
byMousewheel
}=_temp===void 0 ? {}:_temp;
const swiper=this;
if(!swiper.params.loop) return;
swiper.emit('beforeLoopFix');
const {
slides,
allowSlidePrev,
allowSlideNext,
slidesEl,
params
}=swiper;
const {
centeredSlides
}=params;
swiper.allowSlidePrev=true;
swiper.allowSlideNext=true;
if(swiper.virtual&&params.virtual.enabled){
if(slideTo){
if(!params.centeredSlides&&swiper.snapIndex===0){
swiper.slideTo(swiper.virtual.slides.length, 0, false, true);
}else if(params.centeredSlides&&swiper.snapIndex < params.slidesPerView){
swiper.slideTo(swiper.virtual.slides.length + swiper.snapIndex, 0, false, true);
}else if(swiper.snapIndex===swiper.snapGrid.length - 1){
swiper.slideTo(swiper.virtual.slidesBefore, 0, false, true);
}}
swiper.allowSlidePrev=allowSlidePrev;
swiper.allowSlideNext=allowSlideNext;
swiper.emit('loopFix');
return;
}
let slidesPerView=params.slidesPerView;
if(slidesPerView==='auto'){
slidesPerView=swiper.slidesPerViewDynamic();
}else{
slidesPerView=Math.ceil(parseFloat(params.slidesPerView, 10));
if(centeredSlides&&slidesPerView % 2===0){
slidesPerView=slidesPerView + 1;
}}
const slidesPerGroup=params.slidesPerGroupAuto ? slidesPerView:params.slidesPerGroup;
let loopedSlides=slidesPerGroup;
if(loopedSlides % slidesPerGroup!==0){
loopedSlides +=slidesPerGroup - loopedSlides % slidesPerGroup;
}
loopedSlides +=params.loopAdditionalSlides;
swiper.loopedSlides=loopedSlides;
const gridEnabled=swiper.grid&&params.grid&&params.grid.rows > 1;
if(slides.length < slidesPerView + loopedSlides){
showWarning('Swiper Loop Warning: The number of slides is not enough for loop mode, it will be disabled and not function properly. You need to add more slides (or make duplicates) or lower the values of slidesPerView and slidesPerGroup parameters');
}else if(gridEnabled&&params.grid.fill==='row'){
showWarning('Swiper Loop Warning: Loop mode is not compatible with grid.fill=`row`');
}
const prependSlidesIndexes=[];
const appendSlidesIndexes=[];
let activeIndex=swiper.activeIndex;
if(typeof activeSlideIndex==='undefined'){
activeSlideIndex=swiper.getSlideIndex(slides.filter(el=> el.classList.contains(params.slideActiveClass))[0]);
}else{
activeIndex=activeSlideIndex;
}
const isNext=direction==='next'||!direction;
const isPrev=direction==='prev'||!direction;
let slidesPrepended=0;
let slidesAppended=0;
const cols=gridEnabled ? Math.ceil(slides.length / params.grid.rows):slides.length;
const activeColIndex=gridEnabled ? slides[activeSlideIndex].column:activeSlideIndex;
const activeColIndexWithShift=activeColIndex + (centeredSlides&&typeof setTranslate==='undefined' ? -slidesPerView / 2 + 0.5:0);
if(activeColIndexWithShift < loopedSlides){
slidesPrepended=Math.max(loopedSlides - activeColIndexWithShift, slidesPerGroup);
for (let i=0; i < loopedSlides - activeColIndexWithShift; i +=1){
const index=i - Math.floor(i / cols) * cols;
if(gridEnabled){
const colIndexToPrepend=cols - index - 1;
for (let i=slides.length - 1; i >=0; i -=1){
if(slides[i].column===colIndexToPrepend) prependSlidesIndexes.push(i);
}}else{
prependSlidesIndexes.push(cols - index - 1);
}}
}else if(activeColIndexWithShift + slidesPerView > cols - loopedSlides){
slidesAppended=Math.max(activeColIndexWithShift - (cols - loopedSlides * 2), slidesPerGroup);
for (let i=0; i < slidesAppended; i +=1){
const index=i - Math.floor(i / cols) * cols;
if(gridEnabled){
slides.forEach((slide, slideIndex)=> {
if(slide.column===index) appendSlidesIndexes.push(slideIndex);
});
}else{
appendSlidesIndexes.push(index);
}}
}
swiper.__preventObserver__=true;
requestAnimationFrame(()=> {
swiper.__preventObserver__=false;
});
if(isPrev){
prependSlidesIndexes.forEach(index=> {
slides[index].swiperLoopMoveDOM=true;
slidesEl.prepend(slides[index]);
slides[index].swiperLoopMoveDOM=false;
});
}
if(isNext){
appendSlidesIndexes.forEach(index=> {
slides[index].swiperLoopMoveDOM=true;
slidesEl.append(slides[index]);
slides[index].swiperLoopMoveDOM=false;
});
}
swiper.recalcSlides();
if(params.slidesPerView==='auto'){
swiper.updateSlides();
}else if(gridEnabled&&(prependSlidesIndexes.length > 0&&isPrev||appendSlidesIndexes.length > 0&&isNext)){
swiper.slides.forEach((slide, slideIndex)=> {
swiper.grid.updateSlide(slideIndex, slide, swiper.slides);
});
}
if(params.watchSlidesProgress){
swiper.updateSlidesOffset();
}
if(slideTo){
if(prependSlidesIndexes.length > 0&&isPrev){
if(typeof slideRealIndex==='undefined'){
const currentSlideTranslate=swiper.slidesGrid[activeIndex];
const newSlideTranslate=swiper.slidesGrid[activeIndex + slidesPrepended];
const diff=newSlideTranslate - currentSlideTranslate;
if(byMousewheel){
swiper.setTranslate(swiper.translate - diff);
}else{
swiper.slideTo(activeIndex + slidesPrepended, 0, false, true);
if(setTranslate){
swiper.touchEventsData.startTranslate=swiper.touchEventsData.startTranslate - diff;
swiper.touchEventsData.currentTranslate=swiper.touchEventsData.currentTranslate - diff;
}}
}else{
if(setTranslate){
const shift=gridEnabled ? prependSlidesIndexes.length / params.grid.rows:prependSlidesIndexes.length;
swiper.slideTo(swiper.activeIndex + shift, 0, false, true);
swiper.touchEventsData.currentTranslate=swiper.translate;
}}
}else if(appendSlidesIndexes.length > 0&&isNext){
if(typeof slideRealIndex==='undefined'){
const currentSlideTranslate=swiper.slidesGrid[activeIndex];
const newSlideTranslate=swiper.slidesGrid[activeIndex - slidesAppended];
const diff=newSlideTranslate - currentSlideTranslate;
if(byMousewheel){
swiper.setTranslate(swiper.translate - diff);
}else{
swiper.slideTo(activeIndex - slidesAppended, 0, false, true);
if(setTranslate){
swiper.touchEventsData.startTranslate=swiper.touchEventsData.startTranslate - diff;
swiper.touchEventsData.currentTranslate=swiper.touchEventsData.currentTranslate - diff;
}}
}else{
const shift=gridEnabled ? appendSlidesIndexes.length / params.grid.rows:appendSlidesIndexes.length;
swiper.slideTo(swiper.activeIndex - shift, 0, false, true);
}}
}
swiper.allowSlidePrev=allowSlidePrev;
swiper.allowSlideNext=allowSlideNext;
if(swiper.controller&&swiper.controller.control&&!byController){
const loopParams={
slideRealIndex,
direction,
setTranslate,
activeSlideIndex,
byController: true
};
if(Array.isArray(swiper.controller.control)){
swiper.controller.control.forEach(c=> {
if(!c.destroyed&&c.params.loop) c.loopFix({
...loopParams,
slideTo: c.params.slidesPerView===params.slidesPerView ? slideTo:false
});
});
}else if(swiper.controller.control instanceof swiper.constructor&&swiper.controller.control.params.loop){
swiper.controller.control.loopFix({
...loopParams,
slideTo: swiper.controller.control.params.slidesPerView===params.slidesPerView ? slideTo:false
});
}}
swiper.emit('loopFix');
}
function loopDestroy(){
const swiper=this;
const {
params,
slidesEl
}=swiper;
if(!params.loop||swiper.virtual&&swiper.params.virtual.enabled) return;
swiper.recalcSlides();
const newSlidesOrder=[];
swiper.slides.forEach(slideEl=> {
const index=typeof slideEl.swiperSlideIndex==='undefined' ? slideEl.getAttribute('data-swiper-slide-index') * 1:slideEl.swiperSlideIndex;
newSlidesOrder[index]=slideEl;
});
swiper.slides.forEach(slideEl=> {
slideEl.removeAttribute('data-swiper-slide-index');
});
newSlidesOrder.forEach(slideEl=> {
slidesEl.append(slideEl);
});
swiper.recalcSlides();
swiper.slideTo(swiper.realIndex, 0);
}
var loop={
loopCreate,
loopFix,
loopDestroy
};
function setGrabCursor(moving){
const swiper=this;
if(!swiper.params.simulateTouch||swiper.params.watchOverflow&&swiper.isLocked||swiper.params.cssMode) return;
const el=swiper.params.touchEventsTarget==='container' ? swiper.el:swiper.wrapperEl;
if(swiper.isElement){
swiper.__preventObserver__=true;
}
el.style.cursor='move';
el.style.cursor=moving ? 'grabbing':'grab';
if(swiper.isElement){
requestAnimationFrame(()=> {
swiper.__preventObserver__=false;
});
}}
function unsetGrabCursor(){
const swiper=this;
if(swiper.params.watchOverflow&&swiper.isLocked||swiper.params.cssMode){
return;
}
if(swiper.isElement){
swiper.__preventObserver__=true;
}
swiper[swiper.params.touchEventsTarget==='container' ? 'el':'wrapperEl'].style.cursor='';
if(swiper.isElement){
requestAnimationFrame(()=> {
swiper.__preventObserver__=false;
});
}}
var grabCursor={
setGrabCursor,
unsetGrabCursor
};
function closestElement(selector, base){
if(base===void 0){
base=this;
}
function __closestFrom(el){
if(!el||el===getDocument()||el===getWindow()) return null;
if(el.assignedSlot) el=el.assignedSlot;
const found=el.closest(selector);
if(!found&&!el.getRootNode){
return null;
}
return found||__closestFrom(el.getRootNode().host);
}
return __closestFrom(base);
}
function preventEdgeSwipe(swiper, event, startX){
const window=getWindow();
const {
params
}=swiper;
const edgeSwipeDetection=params.edgeSwipeDetection;
const edgeSwipeThreshold=params.edgeSwipeThreshold;
if(edgeSwipeDetection&&(startX <=edgeSwipeThreshold||startX >=window.innerWidth - edgeSwipeThreshold)){
if(edgeSwipeDetection==='prevent'){
event.preventDefault();
return true;
}
return false;
}
return true;
}
function onTouchStart(event){
const swiper=this;
const document=getDocument();
let e=event;
if(e.originalEvent) e=e.originalEvent;
const data=swiper.touchEventsData;
if(e.type==='pointerdown'){
if(data.pointerId!==null&&data.pointerId!==e.pointerId){
return;
}
data.pointerId=e.pointerId;
}else if(e.type==='touchstart'&&e.targetTouches.length===1){
data.touchId=e.targetTouches[0].identifier;
}
if(e.type==='touchstart'){
preventEdgeSwipe(swiper, e, e.targetTouches[0].pageX);
return;
}
const {
params,
touches,
enabled
}=swiper;
if(!enabled) return;
if(!params.simulateTouch&&e.pointerType==='mouse') return;
if(swiper.animating&&params.preventInteractionOnTransition){
return;
}
if(!swiper.animating&&params.cssMode&&params.loop){
swiper.loopFix();
}
let targetEl=e.target;
if(params.touchEventsTarget==='wrapper'){
if(!swiper.wrapperEl.contains(targetEl)) return;
}
if('which' in e&&e.which===3) return;
if('button' in e&&e.button > 0) return;
if(data.isTouched&&data.isMoved) return;
const swipingClassHasValue = !!params.noSwipingClass&&params.noSwipingClass!=='';
const eventPath=e.composedPath ? e.composedPath():e.path;
if(swipingClassHasValue&&e.target&&e.target.shadowRoot&&eventPath){
targetEl=eventPath[0];
}
const noSwipingSelector=params.noSwipingSelector ? params.noSwipingSelector:`.${params.noSwipingClass}`;
const isTargetShadow = !!(e.target&&e.target.shadowRoot);
if(params.noSwiping&&(isTargetShadow ? closestElement(noSwipingSelector, targetEl):targetEl.closest(noSwipingSelector))){
swiper.allowClick=true;
return;
}
if(params.swipeHandler){
if(!targetEl.closest(params.swipeHandler)) return;
}
touches.currentX=e.pageX;
touches.currentY=e.pageY;
const startX=touches.currentX;
const startY=touches.currentY;
if(!preventEdgeSwipe(swiper, e, startX)){
return;
}
Object.assign(data, {
isTouched: true,
isMoved: false,
allowTouchCallbacks: true,
isScrolling: undefined,
startMoving: undefined
});
touches.startX=startX;
touches.startY=startY;
data.touchStartTime=now();
swiper.allowClick=true;
swiper.updateSize();
swiper.swipeDirection=undefined;
if(params.threshold > 0) data.allowThresholdMove=false;
let preventDefault=true;
if(targetEl.matches(data.focusableElements)){
preventDefault=false;
if(targetEl.nodeName==='SELECT'){
data.isTouched=false;
}}
if(document.activeElement&&document.activeElement.matches(data.focusableElements)&&document.activeElement!==targetEl){
document.activeElement.blur();
}
const shouldPreventDefault=preventDefault&&swiper.allowTouchMove&&params.touchStartPreventDefault;
if((params.touchStartForcePreventDefault||shouldPreventDefault)&&!targetEl.isContentEditable){
e.preventDefault();
}
if(params.freeMode&&params.freeMode.enabled&&swiper.freeMode&&swiper.animating&&!params.cssMode){
swiper.freeMode.onTouchStart();
}
swiper.emit('touchStart', e);
}
function onTouchMove(event){
const document=getDocument();
const swiper=this;
const data=swiper.touchEventsData;
const {
params,
touches,
rtlTranslate: rtl,
enabled
}=swiper;
if(!enabled) return;
if(!params.simulateTouch&&event.pointerType==='mouse') return;
let e=event;
if(e.originalEvent) e=e.originalEvent;
if(e.type==='pointermove'){
if(data.touchId!==null) return;
const id=e.pointerId;
if(id!==data.pointerId) return;
}
let targetTouch;
if(e.type==='touchmove'){
targetTouch=[...e.changedTouches].filter(t=> t.identifier===data.touchId)[0];
if(!targetTouch||targetTouch.identifier!==data.touchId) return;
}else{
targetTouch=e;
}
if(!data.isTouched){
if(data.startMoving&&data.isScrolling){
swiper.emit('touchMoveOpposite', e);
}
return;
}
const pageX=targetTouch.pageX;
const pageY=targetTouch.pageY;
if(e.preventedByNestedSwiper){
touches.startX=pageX;
touches.startY=pageY;
return;
}
if(!swiper.allowTouchMove){
if(!e.target.matches(data.focusableElements)){
swiper.allowClick=false;
}
if(data.isTouched){
Object.assign(touches, {
startX: pageX,
startY: pageY,
currentX: pageX,
currentY: pageY
});
data.touchStartTime=now();
}
return;
}
if(params.touchReleaseOnEdges&&!params.loop){
if(swiper.isVertical()){
if(pageY < touches.startY&&swiper.translate <=swiper.maxTranslate()||pageY > touches.startY&&swiper.translate >=swiper.minTranslate()){
data.isTouched=false;
data.isMoved=false;
return;
}}else if(pageX < touches.startX&&swiper.translate <=swiper.maxTranslate()||pageX > touches.startX&&swiper.translate >=swiper.minTranslate()){
return;
}}
if(document.activeElement){
if(e.target===document.activeElement&&e.target.matches(data.focusableElements)){
data.isMoved=true;
swiper.allowClick=false;
return;
}}
if(data.allowTouchCallbacks){
swiper.emit('touchMove', e);
}
touches.previousX=touches.currentX;
touches.previousY=touches.currentY;
touches.currentX=pageX;
touches.currentY=pageY;
const diffX=touches.currentX - touches.startX;
const diffY=touches.currentY - touches.startY;
if(swiper.params.threshold&&Math.sqrt(diffX ** 2 + diffY ** 2) < swiper.params.threshold) return;
if(typeof data.isScrolling==='undefined'){
let touchAngle;
if(swiper.isHorizontal()&&touches.currentY===touches.startY||swiper.isVertical()&&touches.currentX===touches.startX){
data.isScrolling=false;
}else{
if(diffX * diffX + diffY * diffY >=25){
touchAngle=Math.atan2(Math.abs(diffY), Math.abs(diffX)) * 180 / Math.PI;
data.isScrolling=swiper.isHorizontal() ? touchAngle > params.touchAngle:90 - touchAngle > params.touchAngle;
}}
}
if(data.isScrolling){
swiper.emit('touchMoveOpposite', e);
}
if(typeof data.startMoving==='undefined'){
if(touches.currentX!==touches.startX||touches.currentY!==touches.startY){
data.startMoving=true;
}}
if(data.isScrolling){
data.isTouched=false;
return;
}
if(!data.startMoving){
return;
}
swiper.allowClick=false;
if(!params.cssMode&&e.cancelable){
e.preventDefault();
}
if(params.touchMoveStopPropagation&&!params.nested){
e.stopPropagation();
}
let diff=swiper.isHorizontal() ? diffX:diffY;
let touchesDiff=swiper.isHorizontal() ? touches.currentX - touches.previousX:touches.currentY - touches.previousY;
if(params.oneWayMovement){
diff=Math.abs(diff) * (rtl ? 1:-1);
touchesDiff=Math.abs(touchesDiff) * (rtl ? 1:-1);
}
touches.diff=diff;
diff *=params.touchRatio;
if(rtl){
diff=-diff;
touchesDiff=-touchesDiff;
}
const prevTouchesDirection=swiper.touchesDirection;
swiper.swipeDirection=diff > 0 ? 'prev':'next';
swiper.touchesDirection=touchesDiff > 0 ? 'prev':'next';
const isLoop=swiper.params.loop&&!params.cssMode;
const allowLoopFix=swiper.touchesDirection==='next'&&swiper.allowSlideNext||swiper.touchesDirection==='prev'&&swiper.allowSlidePrev;
if(!data.isMoved){
if(isLoop&&allowLoopFix){
swiper.loopFix({
direction: swiper.swipeDirection
});
}
data.startTranslate=swiper.getTranslate();
swiper.setTransition(0);
if(swiper.animating){
const evt=new window.CustomEvent('transitionend', {
bubbles: true,
cancelable: true
});
swiper.wrapperEl.dispatchEvent(evt);
}
data.allowMomentumBounce=false;
if(params.grabCursor&&(swiper.allowSlideNext===true||swiper.allowSlidePrev===true)){
swiper.setGrabCursor(true);
}
swiper.emit('sliderFirstMove', e);
}
let loopFixed;
new Date().getTime();
if(data.isMoved&&data.allowThresholdMove&&prevTouchesDirection!==swiper.touchesDirection&&isLoop&&allowLoopFix&&Math.abs(diff) >=1){
Object.assign(touches, {
startX: pageX,
startY: pageY,
currentX: pageX,
currentY: pageY,
startTranslate: data.currentTranslate
});
data.loopSwapReset=true;
data.startTranslate=data.currentTranslate;
return;
}
swiper.emit('sliderMove', e);
data.isMoved=true;
data.currentTranslate=diff + data.startTranslate;
let disableParentSwiper=true;
let resistanceRatio=params.resistanceRatio;
if(params.touchReleaseOnEdges){
resistanceRatio=0;
}
if(diff > 0){
if(isLoop&&allowLoopFix&&!loopFixed&&data.allowThresholdMove&&data.currentTranslate > (params.centeredSlides ? swiper.minTranslate() - swiper.slidesSizesGrid[swiper.activeIndex + 1]:swiper.minTranslate())){
swiper.loopFix({
direction: 'prev',
setTranslate: true,
activeSlideIndex: 0
});
}
if(data.currentTranslate > swiper.minTranslate()){
disableParentSwiper=false;
if(params.resistance){
data.currentTranslate=swiper.minTranslate() - 1 + (-swiper.minTranslate() + data.startTranslate + diff) ** resistanceRatio;
}}
}else if(diff < 0){
if(isLoop&&allowLoopFix&&!loopFixed&&data.allowThresholdMove&&data.currentTranslate < (params.centeredSlides ? swiper.maxTranslate() + swiper.slidesSizesGrid[swiper.slidesSizesGrid.length - 1]:swiper.maxTranslate())){
swiper.loopFix({
direction: 'next',
setTranslate: true,
activeSlideIndex: swiper.slides.length - (params.slidesPerView==='auto' ? swiper.slidesPerViewDynamic():Math.ceil(parseFloat(params.slidesPerView, 10)))
});
}
if(data.currentTranslate < swiper.maxTranslate()){
disableParentSwiper=false;
if(params.resistance){
data.currentTranslate=swiper.maxTranslate() + 1 - (swiper.maxTranslate() - data.startTranslate - diff) ** resistanceRatio;
}}
}
if(disableParentSwiper){
e.preventedByNestedSwiper=true;
}
if(!swiper.allowSlideNext&&swiper.swipeDirection==='next'&&data.currentTranslate < data.startTranslate){
data.currentTranslate=data.startTranslate;
}
if(!swiper.allowSlidePrev&&swiper.swipeDirection==='prev'&&data.currentTranslate > data.startTranslate){
data.currentTranslate=data.startTranslate;
}
if(!swiper.allowSlidePrev&&!swiper.allowSlideNext){
data.currentTranslate=data.startTranslate;
}
if(params.threshold > 0){
if(Math.abs(diff) > params.threshold||data.allowThresholdMove){
if(!data.allowThresholdMove){
data.allowThresholdMove=true;
touches.startX=touches.currentX;
touches.startY=touches.currentY;
data.currentTranslate=data.startTranslate;
touches.diff=swiper.isHorizontal() ? touches.currentX - touches.startX:touches.currentY - touches.startY;
return;
}}else{
data.currentTranslate=data.startTranslate;
return;
}}
if(!params.followFinger||params.cssMode) return;
if(params.freeMode&&params.freeMode.enabled&&swiper.freeMode||params.watchSlidesProgress){
swiper.updateActiveIndex();
swiper.updateSlidesClasses();
}
if(params.freeMode&&params.freeMode.enabled&&swiper.freeMode){
swiper.freeMode.onTouchMove();
}
swiper.updateProgress(data.currentTranslate);
swiper.setTranslate(data.currentTranslate);
}
function onTouchEnd(event){
const swiper=this;
const data=swiper.touchEventsData;
let e=event;
if(e.originalEvent) e=e.originalEvent;
let targetTouch;
const isTouchEvent=e.type==='touchend'||e.type==='touchcancel';
if(!isTouchEvent){
if(data.touchId!==null) return;
if(e.pointerId!==data.pointerId) return;
targetTouch=e;
}else{
targetTouch=[...e.changedTouches].filter(t=> t.identifier===data.touchId)[0];
if(!targetTouch||targetTouch.identifier!==data.touchId) return;
}
if(['pointercancel', 'pointerout', 'pointerleave', 'contextmenu'].includes(e.type)){
const proceed=['pointercancel', 'contextmenu'].includes(e.type)&&(swiper.browser.isSafari||swiper.browser.isWebView);
if(!proceed){
return;
}}
data.pointerId=null;
data.touchId=null;
const {
params,
touches,
rtlTranslate: rtl,
slidesGrid,
enabled
}=swiper;
if(!enabled) return;
if(!params.simulateTouch&&e.pointerType==='mouse') return;
if(data.allowTouchCallbacks){
swiper.emit('touchEnd', e);
}
data.allowTouchCallbacks=false;
if(!data.isTouched){
if(data.isMoved&&params.grabCursor){
swiper.setGrabCursor(false);
}
data.isMoved=false;
data.startMoving=false;
return;
}
if(params.grabCursor&&data.isMoved&&data.isTouched&&(swiper.allowSlideNext===true||swiper.allowSlidePrev===true)){
swiper.setGrabCursor(false);
}
const touchEndTime=now();
const timeDiff=touchEndTime - data.touchStartTime;
if(swiper.allowClick){
const pathTree=e.path||e.composedPath&&e.composedPath();
swiper.updateClickedSlide(pathTree&&pathTree[0]||e.target, pathTree);
swiper.emit('tap click', e);
if(timeDiff < 300&&touchEndTime - data.lastClickTime < 300){
swiper.emit('doubleTap doubleClick', e);
}}
data.lastClickTime=now();
nextTick(()=> {
if(!swiper.destroyed) swiper.allowClick=true;
});
if(!data.isTouched||!data.isMoved||!swiper.swipeDirection||touches.diff===0&&!data.loopSwapReset||data.currentTranslate===data.startTranslate&&!data.loopSwapReset){
data.isTouched=false;
data.isMoved=false;
data.startMoving=false;
return;
}
data.isTouched=false;
data.isMoved=false;
data.startMoving=false;
let currentPos;
if(params.followFinger){
currentPos=rtl ? swiper.translate:-swiper.translate;
}else{
currentPos=-data.currentTranslate;
}
if(params.cssMode){
return;
}
if(params.freeMode&&params.freeMode.enabled){
swiper.freeMode.onTouchEnd({
currentPos
});
return;
}
const swipeToLast=currentPos >=-swiper.maxTranslate()&&!swiper.params.loop;
let stopIndex=0;
let groupSize=swiper.slidesSizesGrid[0];
for (let i=0; i < slidesGrid.length; i +=i < params.slidesPerGroupSkip ? 1:params.slidesPerGroup){
const increment=i < params.slidesPerGroupSkip - 1 ? 1:params.slidesPerGroup;
if(typeof slidesGrid[i + increment]!=='undefined'){
if(swipeToLast||currentPos >=slidesGrid[i]&&currentPos < slidesGrid[i + increment]){
stopIndex=i;
groupSize=slidesGrid[i + increment] - slidesGrid[i];
}}else if(swipeToLast||currentPos >=slidesGrid[i]){
stopIndex=i;
groupSize=slidesGrid[slidesGrid.length - 1] - slidesGrid[slidesGrid.length - 2];
}}
let rewindFirstIndex=null;
let rewindLastIndex=null;
if(params.rewind){
if(swiper.isBeginning){
rewindLastIndex=params.virtual&&params.virtual.enabled&&swiper.virtual ? swiper.virtual.slides.length - 1:swiper.slides.length - 1;
}else if(swiper.isEnd){
rewindFirstIndex=0;
}}
const ratio=(currentPos - slidesGrid[stopIndex]) / groupSize;
const increment=stopIndex < params.slidesPerGroupSkip - 1 ? 1:params.slidesPerGroup;
if(timeDiff > params.longSwipesMs){
if(!params.longSwipes){
swiper.slideTo(swiper.activeIndex);
return;
}
if(swiper.swipeDirection==='next'){
if(ratio >=params.longSwipesRatio) swiper.slideTo(params.rewind&&swiper.isEnd ? rewindFirstIndex:stopIndex + increment);else swiper.slideTo(stopIndex);
}
if(swiper.swipeDirection==='prev'){
if(ratio > 1 - params.longSwipesRatio){
swiper.slideTo(stopIndex + increment);
}else if(rewindLastIndex!==null&&ratio < 0&&Math.abs(ratio) > params.longSwipesRatio){
swiper.slideTo(rewindLastIndex);
}else{
swiper.slideTo(stopIndex);
}}
}else{
if(!params.shortSwipes){
swiper.slideTo(swiper.activeIndex);
return;
}
const isNavButtonTarget=swiper.navigation&&(e.target===swiper.navigation.nextEl||e.target===swiper.navigation.prevEl);
if(!isNavButtonTarget){
if(swiper.swipeDirection==='next'){
swiper.slideTo(rewindFirstIndex!==null ? rewindFirstIndex:stopIndex + increment);
}
if(swiper.swipeDirection==='prev'){
swiper.slideTo(rewindLastIndex!==null ? rewindLastIndex:stopIndex);
}}else if(e.target===swiper.navigation.nextEl){
swiper.slideTo(stopIndex + increment);
}else{
swiper.slideTo(stopIndex);
}}
}
function onResize(){
const swiper=this;
const {
params,
el
}=swiper;
if(el&&el.offsetWidth===0) return;
if(params.breakpoints){
swiper.setBreakpoint();
}
const {
allowSlideNext,
allowSlidePrev,
snapGrid
}=swiper;
const isVirtual=swiper.virtual&&swiper.params.virtual.enabled;
swiper.allowSlideNext=true;
swiper.allowSlidePrev=true;
swiper.updateSize();
swiper.updateSlides();
swiper.updateSlidesClasses();
const isVirtualLoop=isVirtual&&params.loop;
if((params.slidesPerView==='auto'||params.slidesPerView > 1)&&swiper.isEnd&&!swiper.isBeginning&&!swiper.params.centeredSlides&&!isVirtualLoop){
swiper.slideTo(swiper.slides.length - 1, 0, false, true);
}else{
if(swiper.params.loop&&!isVirtual){
swiper.slideToLoop(swiper.realIndex, 0, false, true);
}else{
swiper.slideTo(swiper.activeIndex, 0, false, true);
}}
if(swiper.autoplay&&swiper.autoplay.running&&swiper.autoplay.paused){
clearTimeout(swiper.autoplay.resizeTimeout);
swiper.autoplay.resizeTimeout=setTimeout(()=> {
if(swiper.autoplay&&swiper.autoplay.running&&swiper.autoplay.paused){
swiper.autoplay.resume();
}}, 500);
}
swiper.allowSlidePrev=allowSlidePrev;
swiper.allowSlideNext=allowSlideNext;
if(swiper.params.watchOverflow&&snapGrid!==swiper.snapGrid){
swiper.checkOverflow();
}}
function onClick(e){
const swiper=this;
if(!swiper.enabled) return;
if(!swiper.allowClick){
if(swiper.params.preventClicks) e.preventDefault();
if(swiper.params.preventClicksPropagation&&swiper.animating){
e.stopPropagation();
e.stopImmediatePropagation();
}}
}
function onScroll(){
const swiper=this;
const {
wrapperEl,
rtlTranslate,
enabled
}=swiper;
if(!enabled) return;
swiper.previousTranslate=swiper.translate;
if(swiper.isHorizontal()){
swiper.translate=-wrapperEl.scrollLeft;
}else{
swiper.translate=-wrapperEl.scrollTop;
}
if(swiper.translate===0) swiper.translate=0;
swiper.updateActiveIndex();
swiper.updateSlidesClasses();
let newProgress;
const translatesDiff=swiper.maxTranslate() - swiper.minTranslate();
if(translatesDiff===0){
newProgress=0;
}else{
newProgress=(swiper.translate - swiper.minTranslate()) / translatesDiff;
}
if(newProgress!==swiper.progress){
swiper.updateProgress(rtlTranslate ? -swiper.translate:swiper.translate);
}
swiper.emit('setTranslate', swiper.translate, false);
}
function onLoad(e){
const swiper=this;
processLazyPreloader(swiper, e.target);
if(swiper.params.cssMode||swiper.params.slidesPerView!=='auto'&&!swiper.params.autoHeight){
return;
}
swiper.update();
}
function onDocumentTouchStart(){
const swiper=this;
if(swiper.documentTouchHandlerProceeded) return;
swiper.documentTouchHandlerProceeded=true;
if(swiper.params.touchReleaseOnEdges){
swiper.el.style.touchAction='auto';
}}
const events=(swiper, method)=> {
const document=getDocument();
const {
params,
el,
wrapperEl,
device
}=swiper;
const capture = !!params.nested;
const domMethod=method==='on' ? 'addEventListener':'removeEventListener';
const swiperMethod=method;
document[domMethod]('touchstart', swiper.onDocumentTouchStart, {
passive: false,
capture
});
el[domMethod]('touchstart', swiper.onTouchStart, {
passive: false
});
el[domMethod]('pointerdown', swiper.onTouchStart, {
passive: false
});
document[domMethod]('touchmove', swiper.onTouchMove, {
passive: false,
capture
});
document[domMethod]('pointermove', swiper.onTouchMove, {
passive: false,
capture
});
document[domMethod]('touchend', swiper.onTouchEnd, {
passive: true
});
document[domMethod]('pointerup', swiper.onTouchEnd, {
passive: true
});
document[domMethod]('pointercancel', swiper.onTouchEnd, {
passive: true
});
document[domMethod]('touchcancel', swiper.onTouchEnd, {
passive: true
});
document[domMethod]('pointerout', swiper.onTouchEnd, {
passive: true
});
document[domMethod]('pointerleave', swiper.onTouchEnd, {
passive: true
});
document[domMethod]('contextmenu', swiper.onTouchEnd, {
passive: true
});
if(params.preventClicks||params.preventClicksPropagation){
el[domMethod]('click', swiper.onClick, true);
}
if(params.cssMode){
wrapperEl[domMethod]('scroll', swiper.onScroll);
}
if(params.updateOnWindowResize){
swiper[swiperMethod](device.ios||device.android ? 'resize orientationchange observerUpdate':'resize observerUpdate', onResize, true);
}else{
swiper[swiperMethod]('observerUpdate', onResize, true);
}
el[domMethod]('load', swiper.onLoad, {
capture: true
});
};
function attachEvents(){
const swiper=this;
const {
params
}=swiper;
swiper.onTouchStart=onTouchStart.bind(swiper);
swiper.onTouchMove=onTouchMove.bind(swiper);
swiper.onTouchEnd=onTouchEnd.bind(swiper);
swiper.onDocumentTouchStart=onDocumentTouchStart.bind(swiper);
if(params.cssMode){
swiper.onScroll=onScroll.bind(swiper);
}
swiper.onClick=onClick.bind(swiper);
swiper.onLoad=onLoad.bind(swiper);
events(swiper, 'on');
}
function detachEvents(){
const swiper=this;
events(swiper, 'off');
}
var events$1={
attachEvents,
detachEvents
};
const isGridEnabled=(swiper, params)=> {
return swiper.grid&&params.grid&&params.grid.rows > 1;
};
function setBreakpoint(){
const swiper=this;
const {
realIndex,
initialized,
params,
el
}=swiper;
const breakpoints=params.breakpoints;
if(!breakpoints||breakpoints&&Object.keys(breakpoints).length===0) return;
const breakpoint=swiper.getBreakpoint(breakpoints, swiper.params.breakpointsBase, swiper.el);
if(!breakpoint||swiper.currentBreakpoint===breakpoint) return;
const breakpointOnlyParams=breakpoint in breakpoints ? breakpoints[breakpoint]:undefined;
const breakpointParams=breakpointOnlyParams||swiper.originalParams;
const wasMultiRow=isGridEnabled(swiper, params);
const isMultiRow=isGridEnabled(swiper, breakpointParams);
const wasEnabled=params.enabled;
if(wasMultiRow&&!isMultiRow){
el.classList.remove(`${params.containerModifierClass}grid`, `${params.containerModifierClass}grid-column`);
swiper.emitContainerClasses();
}else if(!wasMultiRow&&isMultiRow){
el.classList.add(`${params.containerModifierClass}grid`);
if(breakpointParams.grid.fill&&breakpointParams.grid.fill==='column'||!breakpointParams.grid.fill&&params.grid.fill==='column'){
el.classList.add(`${params.containerModifierClass}grid-column`);
}
swiper.emitContainerClasses();
}
['navigation', 'pagination', 'scrollbar'].forEach(prop=> {
if(typeof breakpointParams[prop]==='undefined') return;
const wasModuleEnabled=params[prop]&&params[prop].enabled;
const isModuleEnabled=breakpointParams[prop]&&breakpointParams[prop].enabled;
if(wasModuleEnabled&&!isModuleEnabled){
swiper[prop].disable();
}
if(!wasModuleEnabled&&isModuleEnabled){
swiper[prop].enable();
}});
const directionChanged=breakpointParams.direction&&breakpointParams.direction!==params.direction;
const needsReLoop=params.loop&&(breakpointParams.slidesPerView!==params.slidesPerView||directionChanged);
const wasLoop=params.loop;
if(directionChanged&&initialized){
swiper.changeDirection();
}
extend(swiper.params, breakpointParams);
const isEnabled=swiper.params.enabled;
const hasLoop=swiper.params.loop;
Object.assign(swiper, {
allowTouchMove: swiper.params.allowTouchMove,
allowSlideNext: swiper.params.allowSlideNext,
allowSlidePrev: swiper.params.allowSlidePrev
});
if(wasEnabled&&!isEnabled){
swiper.disable();
}else if(!wasEnabled&&isEnabled){
swiper.enable();
}
swiper.currentBreakpoint=breakpoint;
swiper.emit('_beforeBreakpoint', breakpointParams);
if(initialized){
if(needsReLoop){
swiper.loopDestroy();
swiper.loopCreate(realIndex);
swiper.updateSlides();
}else if(!wasLoop&&hasLoop){
swiper.loopCreate(realIndex);
swiper.updateSlides();
}else if(wasLoop&&!hasLoop){
swiper.loopDestroy();
}}
swiper.emit('breakpoint', breakpointParams);
}
function getBreakpoint(breakpoints, base, containerEl){
if(base===void 0){
base='window';
}
if(!breakpoints||base==='container'&&!containerEl) return undefined;
let breakpoint=false;
const window=getWindow();
const currentHeight=base==='window' ? window.innerHeight:containerEl.clientHeight;
const points=Object.keys(breakpoints).map(point=> {
if(typeof point==='string'&&point.indexOf('@')===0){
const minRatio=parseFloat(point.substr(1));
const value=currentHeight * minRatio;
return {
value,
point
};}
return {
value: point,
point
};});
points.sort((a, b)=> parseInt(a.value, 10) - parseInt(b.value, 10));
for (let i=0; i < points.length; i +=1){
const {
point,
value
}=points[i];
if(base==='window'){
if(window.matchMedia(`(min-width: ${value}px)`).matches){
breakpoint=point;
}}else if(value <=containerEl.clientWidth){
breakpoint=point;
}}
return breakpoint||'max';
}
var breakpoints={
setBreakpoint,
getBreakpoint
};
function prepareClasses(entries, prefix){
const resultClasses=[];
entries.forEach(item=> {
if(typeof item==='object'){
Object.keys(item).forEach(classNames=> {
if(item[classNames]){
resultClasses.push(prefix + classNames);
}});
}else if(typeof item==='string'){
resultClasses.push(prefix + item);
}});
return resultClasses;
}
function addClasses(){
const swiper=this;
const {
classNames,
params,
rtl,
el,
device
}=swiper;
const suffixes=prepareClasses(['initialized', params.direction, {
'free-mode': swiper.params.freeMode&&params.freeMode.enabled
}, {
'autoheight': params.autoHeight
}, {
'rtl': rtl
}, {
'grid': params.grid&&params.grid.rows > 1
}, {
'grid-column': params.grid&&params.grid.rows > 1&&params.grid.fill==='column'
}, {
'android': device.android
}, {
'ios': device.ios
}, {
'css-mode': params.cssMode
}, {
'centered': params.cssMode&&params.centeredSlides
}, {
'watch-progress': params.watchSlidesProgress
}], params.containerModifierClass);
classNames.push(...suffixes);
el.classList.add(...classNames);
swiper.emitContainerClasses();
}
function removeClasses(){
const swiper=this;
const {
el,
classNames
}=swiper;
el.classList.remove(...classNames);
swiper.emitContainerClasses();
}
var classes={
addClasses,
removeClasses
};
function checkOverflow(){
const swiper=this;
const {
isLocked: wasLocked,
params
}=swiper;
const {
slidesOffsetBefore
}=params;
if(slidesOffsetBefore){
const lastSlideIndex=swiper.slides.length - 1;
const lastSlideRightEdge=swiper.slidesGrid[lastSlideIndex] + swiper.slidesSizesGrid[lastSlideIndex] + slidesOffsetBefore * 2;
swiper.isLocked=swiper.size > lastSlideRightEdge;
}else{
swiper.isLocked=swiper.snapGrid.length===1;
}
if(params.allowSlideNext===true){
swiper.allowSlideNext = !swiper.isLocked;
}
if(params.allowSlidePrev===true){
swiper.allowSlidePrev = !swiper.isLocked;
}
if(wasLocked&&wasLocked!==swiper.isLocked){
swiper.isEnd=false;
}
if(wasLocked!==swiper.isLocked){
swiper.emit(swiper.isLocked ? 'lock':'unlock');
}}
var checkOverflow$1={
checkOverflow
};
var defaults={
init: true,
direction: 'horizontal',
oneWayMovement: false,
touchEventsTarget: 'wrapper',
initialSlide: 0,
speed: 300,
cssMode: false,
updateOnWindowResize: true,
resizeObserver: true,
nested: false,
createElements: false,
eventsPrefix: 'swiper',
enabled: true,
focusableElements: 'input, select, option, textarea, button, video, label',
width: null,
height: null,
preventInteractionOnTransition: false,
userAgent: null,
url: null,
edgeSwipeDetection: false,
edgeSwipeThreshold: 20,
autoHeight: false,
setWrapperSize: false,
virtualTranslate: false,
effect: 'slide',
breakpoints: undefined,
breakpointsBase: 'window',
spaceBetween: 0,
slidesPerView: 1,
slidesPerGroup: 1,
slidesPerGroupSkip: 0,
slidesPerGroupAuto: false,
centeredSlides: false,
centeredSlidesBounds: false,
slidesOffsetBefore: 0,
slidesOffsetAfter: 0,
normalizeSlideIndex: true,
centerInsufficientSlides: false,
watchOverflow: true,
roundLengths: false,
touchRatio: 1,
touchAngle: 45,
simulateTouch: true,
shortSwipes: true,
longSwipes: true,
longSwipesRatio: 0.5,
longSwipesMs: 300,
followFinger: true,
allowTouchMove: true,
threshold: 5,
touchMoveStopPropagation: false,
touchStartPreventDefault: true,
touchStartForcePreventDefault: false,
touchReleaseOnEdges: false,
uniqueNavElements: true,
resistance: true,
resistanceRatio: 0.85,
watchSlidesProgress: false,
grabCursor: false,
preventClicks: true,
preventClicksPropagation: true,
slideToClickedSlide: false,
loop: false,
loopAddBlankSlides: true,
loopAdditionalSlides: 0,
loopPreventsSliding: true,
rewind: false,
allowSlidePrev: true,
allowSlideNext: true,
swipeHandler: null,
noSwiping: true,
noSwipingClass: 'swiper-no-swiping',
noSwipingSelector: null,
passiveListeners: true,
maxBackfaceHiddenSlides: 10,
containerModifierClass: 'swiper-',
slideClass: 'swiper-slide',
slideBlankClass: 'swiper-slide-blank',
slideActiveClass: 'swiper-slide-active',
slideVisibleClass: 'swiper-slide-visible',
slideFullyVisibleClass: 'swiper-slide-fully-visible',
slideNextClass: 'swiper-slide-next',
slidePrevClass: 'swiper-slide-prev',
wrapperClass: 'swiper-wrapper',
lazyPreloaderClass: 'swiper-lazy-preloader',
lazyPreloadPrevNext: 0,
runCallbacksOnInit: true,
_emitClasses: false
};
function moduleExtendParams(params, allModulesParams){
return function extendParams(obj){
if(obj===void 0){
obj={};}
const moduleParamName=Object.keys(obj)[0];
const moduleParams=obj[moduleParamName];
if(typeof moduleParams!=='object'||moduleParams===null){
extend(allModulesParams, obj);
return;
}
if(params[moduleParamName]===true){
params[moduleParamName]={
enabled: true
};}
if(moduleParamName==='navigation'&&params[moduleParamName]&&params[moduleParamName].enabled&&!params[moduleParamName].prevEl&&!params[moduleParamName].nextEl){
params[moduleParamName].auto=true;
}
if(['pagination', 'scrollbar'].indexOf(moduleParamName) >=0&&params[moduleParamName]&&params[moduleParamName].enabled&&!params[moduleParamName].el){
params[moduleParamName].auto=true;
}
if(!(moduleParamName in params&&'enabled' in moduleParams)){
extend(allModulesParams, obj);
return;
}
if(typeof params[moduleParamName]==='object'&&!('enabled' in params[moduleParamName])){
params[moduleParamName].enabled=true;
}
if(!params[moduleParamName]) params[moduleParamName]={
enabled: false
};
extend(allModulesParams, obj);
};}
const prototypes={
eventsEmitter,
update,
translate,
transition,
slide,
loop,
grabCursor,
events: events$1,
breakpoints,
checkOverflow: checkOverflow$1,
classes
};
const extendedDefaults={};
class Swiper {
constructor(){
let el;
let params;
for (var _len=arguments.length, args=new Array(_len), _key=0; _key < _len; _key++){
args[_key]=arguments[_key];
}
if(args.length===1&&args[0].constructor&&Object.prototype.toString.call(args[0]).slice(8, -1)==='Object'){
params=args[0];
}else{
[el, params]=args;
}
if(!params) params={};
params=extend({}, params);
if(el&&!params.el) params.el=el;
const document=getDocument();
if(params.el&&typeof params.el==='string'&&document.querySelectorAll(params.el).length > 1){
const swipers=[];
document.querySelectorAll(params.el).forEach(containerEl=> {
const newParams=extend({}, params, {
el: containerEl
});
swipers.push(new Swiper(newParams));
});
return swipers;
}
const swiper=this;
swiper.__swiper__=true;
swiper.support=getSupport();
swiper.device=getDevice({
userAgent: params.userAgent
});
swiper.browser=getBrowser();
swiper.eventsListeners={};
swiper.eventsAnyListeners=[];
swiper.modules=[...swiper.__modules__];
if(params.modules&&Array.isArray(params.modules)){
swiper.modules.push(...params.modules);
}
const allModulesParams={};
swiper.modules.forEach(mod=> {
mod({
params,
swiper,
extendParams: moduleExtendParams(params, allModulesParams),
on: swiper.on.bind(swiper),
once: swiper.once.bind(swiper),
off: swiper.off.bind(swiper),
emit: swiper.emit.bind(swiper)
});
});
const swiperParams=extend({}, defaults, allModulesParams);
swiper.params=extend({}, swiperParams, extendedDefaults, params);
swiper.originalParams=extend({}, swiper.params);
swiper.passedParams=extend({}, params);
if(swiper.params&&swiper.params.on){
Object.keys(swiper.params.on).forEach(eventName=> {
swiper.on(eventName, swiper.params.on[eventName]);
});
}
if(swiper.params&&swiper.params.onAny){
swiper.onAny(swiper.params.onAny);
}
Object.assign(swiper, {
enabled: swiper.params.enabled,
el,
classNames: [],
slides: [],
slidesGrid: [],
snapGrid: [],
slidesSizesGrid: [],
isHorizontal(){
return swiper.params.direction==='horizontal';
},
isVertical(){
return swiper.params.direction==='vertical';
},
activeIndex: 0,
realIndex: 0,
isBeginning: true,
isEnd: false,
translate: 0,
previousTranslate: 0,
progress: 0,
velocity: 0,
animating: false,
cssOverflowAdjustment(){
return Math.trunc(this.translate / 2 ** 23) * 2 ** 23;
},
allowSlideNext: swiper.params.allowSlideNext,
allowSlidePrev: swiper.params.allowSlidePrev,
touchEventsData: {
isTouched: undefined,
isMoved: undefined,
allowTouchCallbacks: undefined,
touchStartTime: undefined,
isScrolling: undefined,
currentTranslate: undefined,
startTranslate: undefined,
allowThresholdMove: undefined,
focusableElements: swiper.params.focusableElements,
lastClickTime: 0,
clickTimeout: undefined,
velocities: [],
allowMomentumBounce: undefined,
startMoving: undefined,
pointerId: null,
touchId: null
},
allowClick: true,
allowTouchMove: swiper.params.allowTouchMove,
touches: {
startX: 0,
startY: 0,
currentX: 0,
currentY: 0,
diff: 0
},
imagesToLoad: [],
imagesLoaded: 0
});
swiper.emit('_swiper');
if(swiper.params.init){
swiper.init();
}
return swiper;
}
getDirectionLabel(property){
if(this.isHorizontal()){
return property;
}
return {
'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'
}[property];
}
getSlideIndex(slideEl){
const {
slidesEl,
params
}=this;
const slides=elementChildren(slidesEl, `.${params.slideClass}, swiper-slide`);
const firstSlideIndex=elementIndex(slides[0]);
return elementIndex(slideEl) - firstSlideIndex;
}
getSlideIndexByData(index){
return this.getSlideIndex(this.slides.filter(slideEl=> slideEl.getAttribute('data-swiper-slide-index') * 1===index)[0]);
}
recalcSlides(){
const swiper=this;
const {
slidesEl,
params
}=swiper;
swiper.slides=elementChildren(slidesEl, `.${params.slideClass}, swiper-slide`);
}
enable(){
const swiper=this;
if(swiper.enabled) return;
swiper.enabled=true;
if(swiper.params.grabCursor){
swiper.setGrabCursor();
}
swiper.emit('enable');
}
disable(){
const swiper=this;
if(!swiper.enabled) return;
swiper.enabled=false;
if(swiper.params.grabCursor){
swiper.unsetGrabCursor();
}
swiper.emit('disable');
}
setProgress(progress, speed){
const swiper=this;
progress=Math.min(Math.max(progress, 0), 1);
const min=swiper.minTranslate();
const max=swiper.maxTranslate();
const current=(max - min) * progress + min;
swiper.translateTo(current, typeof speed==='undefined' ? 0:speed);
swiper.updateActiveIndex();
swiper.updateSlidesClasses();
}
emitContainerClasses(){
const swiper=this;
if(!swiper.params._emitClasses||!swiper.el) return;
const cls=swiper.el.className.split(' ').filter(className=> {
return className.indexOf('swiper')===0||className.indexOf(swiper.params.containerModifierClass)===0;
});
swiper.emit('_containerClasses', cls.join(' '));
}
getSlideClasses(slideEl){
const swiper=this;
if(swiper.destroyed) return '';
return slideEl.className.split(' ').filter(className=> {
return className.indexOf('swiper-slide')===0||className.indexOf(swiper.params.slideClass)===0;
}).join(' ');
}
emitSlidesClasses(){
const swiper=this;
if(!swiper.params._emitClasses||!swiper.el) return;
const updates=[];
swiper.slides.forEach(slideEl=> {
const classNames=swiper.getSlideClasses(slideEl);
updates.push({
slideEl,
classNames
});
swiper.emit('_slideClass', slideEl, classNames);
});
swiper.emit('_slideClasses', updates);
}
slidesPerViewDynamic(view, exact){
if(view===void 0){
view='current';
}
if(exact===void 0){
exact=false;
}
const swiper=this;
const {
params,
slides,
slidesGrid,
slidesSizesGrid,
size: swiperSize,
activeIndex
}=swiper;
let spv=1;
if(typeof params.slidesPerView==='number') return params.slidesPerView;
if(params.centeredSlides){
let slideSize=slides[activeIndex] ? slides[activeIndex].swiperSlideSize:0;
let breakLoop;
for (let i=activeIndex + 1; i < slides.length; i +=1){
if(slides[i]&&!breakLoop){
slideSize +=slides[i].swiperSlideSize;
spv +=1;
if(slideSize > swiperSize) breakLoop=true;
}}
for (let i=activeIndex - 1; i >=0; i -=1){
if(slides[i]&&!breakLoop){
slideSize +=slides[i].swiperSlideSize;
spv +=1;
if(slideSize > swiperSize) breakLoop=true;
}}
}else{
if(view==='current'){
for (let i=activeIndex + 1; i < slides.length; i +=1){
const slideInView=exact ? slidesGrid[i] + slidesSizesGrid[i] - slidesGrid[activeIndex] < swiperSize:slidesGrid[i] - slidesGrid[activeIndex] < swiperSize;
if(slideInView){
spv +=1;
}}
}else{
for (let i=activeIndex - 1; i >=0; i -=1){
const slideInView=slidesGrid[activeIndex] - slidesGrid[i] < swiperSize;
if(slideInView){
spv +=1;
}}
}}
return spv;
}
update(){
const swiper=this;
if(!swiper||swiper.destroyed) return;
const {
snapGrid,
params
}=swiper;
if(params.breakpoints){
swiper.setBreakpoint();
}
[...swiper.el.querySelectorAll('[loading="lazy"]')].forEach(imageEl=> {
if(imageEl.complete){
processLazyPreloader(swiper, imageEl);
}});
swiper.updateSize();
swiper.updateSlides();
swiper.updateProgress();
swiper.updateSlidesClasses();
function setTranslate(){
const translateValue=swiper.rtlTranslate ? swiper.translate * -1:swiper.translate;
const newTranslate=Math.min(Math.max(translateValue, swiper.maxTranslate()), swiper.minTranslate());
swiper.setTranslate(newTranslate);
swiper.updateActiveIndex();
swiper.updateSlidesClasses();
}
let translated;
if(params.freeMode&&params.freeMode.enabled&&!params.cssMode){
setTranslate();
if(params.autoHeight){
swiper.updateAutoHeight();
}}else{
if((params.slidesPerView==='auto'||params.slidesPerView > 1)&&swiper.isEnd&&!params.centeredSlides){
const slides=swiper.virtual&&params.virtual.enabled ? swiper.virtual.slides:swiper.slides;
translated=swiper.slideTo(slides.length - 1, 0, false, true);
}else{
translated=swiper.slideTo(swiper.activeIndex, 0, false, true);
}
if(!translated){
setTranslate();
}}
if(params.watchOverflow&&snapGrid!==swiper.snapGrid){
swiper.checkOverflow();
}
swiper.emit('update');
}
changeDirection(newDirection, needUpdate){
if(needUpdate===void 0){
needUpdate=true;
}
const swiper=this;
const currentDirection=swiper.params.direction;
if(!newDirection){
newDirection=currentDirection==='horizontal' ? 'vertical':'horizontal';
}
if(newDirection===currentDirection||newDirection!=='horizontal'&&newDirection!=='vertical'){
return swiper;
}
swiper.el.classList.remove(`${swiper.params.containerModifierClass}${currentDirection}`);
swiper.el.classList.add(`${swiper.params.containerModifierClass}${newDirection}`);
swiper.emitContainerClasses();
swiper.params.direction=newDirection;
swiper.slides.forEach(slideEl=> {
if(newDirection==='vertical'){
slideEl.style.width='';
}else{
slideEl.style.height='';
}});
swiper.emit('changeDirection');
if(needUpdate) swiper.update();
return swiper;
}
changeLanguageDirection(direction){
const swiper=this;
if(swiper.rtl&&direction==='rtl'||!swiper.rtl&&direction==='ltr') return;
swiper.rtl=direction==='rtl';
swiper.rtlTranslate=swiper.params.direction==='horizontal'&&swiper.rtl;
if(swiper.rtl){
swiper.el.classList.add(`${swiper.params.containerModifierClass}rtl`);
swiper.el.dir='rtl';
}else{
swiper.el.classList.remove(`${swiper.params.containerModifierClass}rtl`);
swiper.el.dir='ltr';
}
swiper.update();
}
mount(element){
const swiper=this;
if(swiper.mounted) return true;
let el=element||swiper.params.el;
if(typeof el==='string'){
el=document.querySelector(el);
}
if(!el){
return false;
}
el.swiper=swiper;
if(el.parentNode&&el.parentNode.host&&el.parentNode.host.nodeName==='SWIPER-CONTAINER'){
swiper.isElement=true;
}
const getWrapperSelector=()=> {
return `.${(swiper.params.wrapperClass||'').trim().split(' ').join('.')}`;
};
const getWrapper=()=> {
if(el&&el.shadowRoot&&el.shadowRoot.querySelector){
const res=el.shadowRoot.querySelector(getWrapperSelector());
return res;
}
return elementChildren(el, getWrapperSelector())[0];
};
let wrapperEl=getWrapper();
if(!wrapperEl&&swiper.params.createElements){
wrapperEl=createElement('div', swiper.params.wrapperClass);
el.append(wrapperEl);
elementChildren(el, `.${swiper.params.slideClass}`).forEach(slideEl=> {
wrapperEl.append(slideEl);
});
}
Object.assign(swiper, {
el,
wrapperEl,
slidesEl: swiper.isElement&&!el.parentNode.host.slideSlots ? el.parentNode.host:wrapperEl,
hostEl: swiper.isElement ? el.parentNode.host:el,
mounted: true,
rtl: el.dir.toLowerCase()==='rtl'||elementStyle(el, 'direction')==='rtl',
rtlTranslate: swiper.params.direction==='horizontal'&&(el.dir.toLowerCase()==='rtl'||elementStyle(el, 'direction')==='rtl'),
wrongRTL: elementStyle(wrapperEl, 'display')==='-webkit-box'
});
return true;
}
init(el){
const swiper=this;
if(swiper.initialized) return swiper;
const mounted=swiper.mount(el);
if(mounted===false) return swiper;
swiper.emit('beforeInit');
if(swiper.params.breakpoints){
swiper.setBreakpoint();
}
swiper.addClasses();
swiper.updateSize();
swiper.updateSlides();
if(swiper.params.watchOverflow){
swiper.checkOverflow();
}
if(swiper.params.grabCursor&&swiper.enabled){
swiper.setGrabCursor();
}
if(swiper.params.loop&&swiper.virtual&&swiper.params.virtual.enabled){
swiper.slideTo(swiper.params.initialSlide + swiper.virtual.slidesBefore, 0, swiper.params.runCallbacksOnInit, false, true);
}else{
swiper.slideTo(swiper.params.initialSlide, 0, swiper.params.runCallbacksOnInit, false, true);
}
if(swiper.params.loop){
swiper.loopCreate();
}
swiper.attachEvents();
const lazyElements=[...swiper.el.querySelectorAll('[loading="lazy"]')];
if(swiper.isElement){
lazyElements.push(...swiper.hostEl.querySelectorAll('[loading="lazy"]'));
}
lazyElements.forEach(imageEl=> {
if(imageEl.complete){
processLazyPreloader(swiper, imageEl);
}else{
imageEl.addEventListener('load', e=> {
processLazyPreloader(swiper, e.target);
});
}});
preload(swiper);
swiper.initialized=true;
preload(swiper);
swiper.emit('init');
swiper.emit('afterInit');
return swiper;
}
destroy(deleteInstance, cleanStyles){
if(deleteInstance===void 0){
deleteInstance=true;
}
if(cleanStyles===void 0){
cleanStyles=true;
}
const swiper=this;
const {
params,
el,
wrapperEl,
slides
}=swiper;
if(typeof swiper.params==='undefined'||swiper.destroyed){
return null;
}
swiper.emit('beforeDestroy');
swiper.initialized=false;
swiper.detachEvents();
if(params.loop){
swiper.loopDestroy();
}
if(cleanStyles){
swiper.removeClasses();
el.removeAttribute('style');
wrapperEl.removeAttribute('style');
if(slides&&slides.length){
slides.forEach(slideEl=> {
slideEl.classList.remove(params.slideVisibleClass, params.slideFullyVisibleClass, params.slideActiveClass, params.slideNextClass, params.slidePrevClass);
slideEl.removeAttribute('style');
slideEl.removeAttribute('data-swiper-slide-index');
});
}}
swiper.emit('destroy');
Object.keys(swiper.eventsListeners).forEach(eventName=> {
swiper.off(eventName);
});
if(deleteInstance!==false){
swiper.el.swiper=null;
deleteProps(swiper);
}
swiper.destroyed=true;
return null;
}
static extendDefaults(newDefaults){
extend(extendedDefaults, newDefaults);
}
static get extendedDefaults(){
return extendedDefaults;
}
static get defaults(){
return defaults;
}
static installModule(mod){
if(!Swiper.prototype.__modules__) Swiper.prototype.__modules__=[];
const modules=Swiper.prototype.__modules__;
if(typeof mod==='function'&&modules.indexOf(mod) < 0){
modules.push(mod);
}}
static use(module){
if(Array.isArray(module)){
module.forEach(m=> Swiper.installModule(m));
return Swiper;
}
Swiper.installModule(module);
return Swiper;
}}
Object.keys(prototypes).forEach(prototypeGroup=> {
Object.keys(prototypes[prototypeGroup]).forEach(protoMethod=> {
Swiper.prototype[protoMethod]=prototypes[prototypeGroup][protoMethod];
});
});
Swiper.use([Resize, Observer]);
function Virtual(_ref){
let {
swiper,
extendParams,
on,
emit
}=_ref;
extendParams({
virtual: {
enabled: false,
slides: [],
cache: true,
renderSlide: null,
renderExternal: null,
renderExternalUpdate: true,
addSlidesBefore: 0,
addSlidesAfter: 0
}});
let cssModeTimeout;
const document=getDocument();
swiper.virtual={
cache: {},
from: undefined,
to: undefined,
slides: [],
offset: 0,
slidesGrid: []
};
const tempDOM=document.createElement('div');
function renderSlide(slide, index){
const params=swiper.params.virtual;
if(params.cache&&swiper.virtual.cache[index]){
return swiper.virtual.cache[index];
}
let slideEl;
if(params.renderSlide){
slideEl=params.renderSlide.call(swiper, slide, index);
if(typeof slideEl==='string'){
tempDOM.innerHTML=slideEl;
slideEl=tempDOM.children[0];
}}else if(swiper.isElement){
slideEl=createElement('swiper-slide');
}else{
slideEl=createElement('div', swiper.params.slideClass);
}
slideEl.setAttribute('data-swiper-slide-index', index);
if(!params.renderSlide){
slideEl.innerHTML=slide;
}
if(params.cache){
swiper.virtual.cache[index]=slideEl;
}
return slideEl;
}
function update(force){
const {
slidesPerView,
slidesPerGroup,
centeredSlides,
loop: isLoop
}=swiper.params;
const {
addSlidesBefore,
addSlidesAfter
}=swiper.params.virtual;
const {
from: previousFrom,
to: previousTo,
slides,
slidesGrid: previousSlidesGrid,
offset: previousOffset
}=swiper.virtual;
if(!swiper.params.cssMode){
swiper.updateActiveIndex();
}
const activeIndex=swiper.activeIndex||0;
let offsetProp;
if(swiper.rtlTranslate) offsetProp='right';else offsetProp=swiper.isHorizontal() ? 'left':'top';
let slidesAfter;
let slidesBefore;
if(centeredSlides){
slidesAfter=Math.floor(slidesPerView / 2) + slidesPerGroup + addSlidesAfter;
slidesBefore=Math.floor(slidesPerView / 2) + slidesPerGroup + addSlidesBefore;
}else{
slidesAfter=slidesPerView + (slidesPerGroup - 1) + addSlidesAfter;
slidesBefore=(isLoop ? slidesPerView:slidesPerGroup) + addSlidesBefore;
}
let from=activeIndex - slidesBefore;
let to=activeIndex + slidesAfter;
if(!isLoop){
from=Math.max(from, 0);
to=Math.min(to, slides.length - 1);
}
let offset=(swiper.slidesGrid[from]||0) - (swiper.slidesGrid[0]||0);
if(isLoop&&activeIndex >=slidesBefore){
from -=slidesBefore;
if(!centeredSlides) offset +=swiper.slidesGrid[0];
}else if(isLoop&&activeIndex < slidesBefore){
from=-slidesBefore;
if(centeredSlides) offset +=swiper.slidesGrid[0];
}
Object.assign(swiper.virtual, {
from,
to,
offset,
slidesGrid: swiper.slidesGrid,
slidesBefore,
slidesAfter
});
function onRendered(){
swiper.updateSlides();
swiper.updateProgress();
swiper.updateSlidesClasses();
emit('virtualUpdate');
}
if(previousFrom===from&&previousTo===to&&!force){
if(swiper.slidesGrid!==previousSlidesGrid&&offset!==previousOffset){
swiper.slides.forEach(slideEl=> {
slideEl.style[offsetProp]=`${offset - Math.abs(swiper.cssOverflowAdjustment())}px`;
});
}
swiper.updateProgress();
emit('virtualUpdate');
return;
}
if(swiper.params.virtual.renderExternal){
swiper.params.virtual.renderExternal.call(swiper, {
offset,
from,
to,
slides: function getSlides(){
const slidesToRender=[];
for (let i=from; i <=to; i +=1){
slidesToRender.push(slides[i]);
}
return slidesToRender;
}()
});
if(swiper.params.virtual.renderExternalUpdate){
onRendered();
}else{
emit('virtualUpdate');
}
return;
}
const prependIndexes=[];
const appendIndexes=[];
const getSlideIndex=index=> {
let slideIndex=index;
if(index < 0){
slideIndex=slides.length + index;
}else if(slideIndex >=slides.length){
slideIndex=slideIndex - slides.length;
}
return slideIndex;
};
if(force){
swiper.slides.filter(el=> el.matches(`.${swiper.params.slideClass}, swiper-slide`)).forEach(slideEl=> {
slideEl.remove();
});
}else{
for (let i=previousFrom; i <=previousTo; i +=1){
if(i < from||i > to){
const slideIndex=getSlideIndex(i);
swiper.slides.filter(el=> el.matches(`.${swiper.params.slideClass}[data-swiper-slide-index="${slideIndex}"], swiper-slide[data-swiper-slide-index="${slideIndex}"]`)).forEach(slideEl=> {
slideEl.remove();
});
}}
}
const loopFrom=isLoop ? -slides.length:0;
const loopTo=isLoop ? slides.length * 2:slides.length;
for (let i=loopFrom; i < loopTo; i +=1){
if(i >=from&&i <=to){
const slideIndex=getSlideIndex(i);
if(typeof previousTo==='undefined'||force){
appendIndexes.push(slideIndex);
}else{
if(i > previousTo) appendIndexes.push(slideIndex);
if(i < previousFrom) prependIndexes.push(slideIndex);
}}
}
appendIndexes.forEach(index=> {
swiper.slidesEl.append(renderSlide(slides[index], index));
});
if(isLoop){
for (let i=prependIndexes.length - 1; i >=0; i -=1){
const index=prependIndexes[i];
swiper.slidesEl.prepend(renderSlide(slides[index], index));
}}else{
prependIndexes.sort((a, b)=> b - a);
prependIndexes.forEach(index=> {
swiper.slidesEl.prepend(renderSlide(slides[index], index));
});
}
elementChildren(swiper.slidesEl, '.swiper-slide, swiper-slide').forEach(slideEl=> {
slideEl.style[offsetProp]=`${offset - Math.abs(swiper.cssOverflowAdjustment())}px`;
});
onRendered();
}
function appendSlide(slides){
if(typeof slides==='object'&&'length' in slides){
for (let i=0; i < slides.length; i +=1){
if(slides[i]) swiper.virtual.slides.push(slides[i]);
}}else{
swiper.virtual.slides.push(slides);
}
update(true);
}
function prependSlide(slides){
const activeIndex=swiper.activeIndex;
let newActiveIndex=activeIndex + 1;
let numberOfNewSlides=1;
if(Array.isArray(slides)){
for (let i=0; i < slides.length; i +=1){
if(slides[i]) swiper.virtual.slides.unshift(slides[i]);
}
newActiveIndex=activeIndex + slides.length;
numberOfNewSlides=slides.length;
}else{
swiper.virtual.slides.unshift(slides);
}
if(swiper.params.virtual.cache){
const cache=swiper.virtual.cache;
const newCache={};
Object.keys(cache).forEach(cachedIndex=> {
const cachedEl=cache[cachedIndex];
const cachedElIndex=cachedEl.getAttribute('data-swiper-slide-index');
if(cachedElIndex){
cachedEl.setAttribute('data-swiper-slide-index', parseInt(cachedElIndex, 10) + numberOfNewSlides);
}
newCache[parseInt(cachedIndex, 10) + numberOfNewSlides]=cachedEl;
});
swiper.virtual.cache=newCache;
}
update(true);
swiper.slideTo(newActiveIndex, 0);
}
function removeSlide(slidesIndexes){
if(typeof slidesIndexes==='undefined'||slidesIndexes===null) return;
let activeIndex=swiper.activeIndex;
if(Array.isArray(slidesIndexes)){
for (let i=slidesIndexes.length - 1; i >=0; i -=1){
if(swiper.params.virtual.cache){
delete swiper.virtual.cache[slidesIndexes[i]];
Object.keys(swiper.virtual.cache).forEach(key=> {
if(key > slidesIndexes){
swiper.virtual.cache[key - 1]=swiper.virtual.cache[key];
swiper.virtual.cache[key - 1].setAttribute('data-swiper-slide-index', key - 1);
delete swiper.virtual.cache[key];
}});
}
swiper.virtual.slides.splice(slidesIndexes[i], 1);
if(slidesIndexes[i] < activeIndex) activeIndex -=1;
activeIndex=Math.max(activeIndex, 0);
}}else{
if(swiper.params.virtual.cache){
delete swiper.virtual.cache[slidesIndexes];
Object.keys(swiper.virtual.cache).forEach(key=> {
if(key > slidesIndexes){
swiper.virtual.cache[key - 1]=swiper.virtual.cache[key];
swiper.virtual.cache[key - 1].setAttribute('data-swiper-slide-index', key - 1);
delete swiper.virtual.cache[key];
}});
}
swiper.virtual.slides.splice(slidesIndexes, 1);
if(slidesIndexes < activeIndex) activeIndex -=1;
activeIndex=Math.max(activeIndex, 0);
}
update(true);
swiper.slideTo(activeIndex, 0);
}
function removeAllSlides(){
swiper.virtual.slides=[];
if(swiper.params.virtual.cache){
swiper.virtual.cache={};}
update(true);
swiper.slideTo(0, 0);
}
on('beforeInit', ()=> {
if(!swiper.params.virtual.enabled) return;
let domSlidesAssigned;
if(typeof swiper.passedParams.virtual.slides==='undefined'){
const slides=[...swiper.slidesEl.children].filter(el=> el.matches(`.${swiper.params.slideClass}, swiper-slide`));
if(slides&&slides.length){
swiper.virtual.slides=[...slides];
domSlidesAssigned=true;
slides.forEach((slideEl, slideIndex)=> {
slideEl.setAttribute('data-swiper-slide-index', slideIndex);
swiper.virtual.cache[slideIndex]=slideEl;
slideEl.remove();
});
}}
if(!domSlidesAssigned){
swiper.virtual.slides=swiper.params.virtual.slides;
}
swiper.classNames.push(`${swiper.params.containerModifierClass}virtual`);
swiper.params.watchSlidesProgress=true;
swiper.originalParams.watchSlidesProgress=true;
update();
});
on('setTranslate', ()=> {
if(!swiper.params.virtual.enabled) return;
if(swiper.params.cssMode&&!swiper._immediateVirtual){
clearTimeout(cssModeTimeout);
cssModeTimeout=setTimeout(()=> {
update();
}, 100);
}else{
update();
}});
on('init update resize', ()=> {
if(!swiper.params.virtual.enabled) return;
if(swiper.params.cssMode){
setCSSProperty(swiper.wrapperEl, '--swiper-virtual-size', `${swiper.virtualSize}px`);
}});
Object.assign(swiper.virtual, {
appendSlide,
prependSlide,
removeSlide,
removeAllSlides,
update
});
}
function Keyboard(_ref){
let {
swiper,
extendParams,
on,
emit
}=_ref;
const document=getDocument();
const window=getWindow();
swiper.keyboard={
enabled: false
};
extendParams({
keyboard: {
enabled: false,
onlyInViewport: true,
pageUpDown: true
}});
function handle(event){
if(!swiper.enabled) return;
const {
rtlTranslate: rtl
}=swiper;
let e=event;
if(e.originalEvent) e=e.originalEvent;
const kc=e.keyCode||e.charCode;
const pageUpDown=swiper.params.keyboard.pageUpDown;
const isPageUp=pageUpDown&&kc===33;
const isPageDown=pageUpDown&&kc===34;
const isArrowLeft=kc===37;
const isArrowRight=kc===39;
const isArrowUp=kc===38;
const isArrowDown=kc===40;
if(!swiper.allowSlideNext&&(swiper.isHorizontal()&&isArrowRight||swiper.isVertical()&&isArrowDown||isPageDown)){
return false;
}
if(!swiper.allowSlidePrev&&(swiper.isHorizontal()&&isArrowLeft||swiper.isVertical()&&isArrowUp||isPageUp)){
return false;
}
if(e.shiftKey||e.altKey||e.ctrlKey||e.metaKey){
return undefined;
}
if(document.activeElement&&document.activeElement.nodeName&&(document.activeElement.nodeName.toLowerCase()==='input'||document.activeElement.nodeName.toLowerCase()==='textarea')){
return undefined;
}
if(swiper.params.keyboard.onlyInViewport&&(isPageUp||isPageDown||isArrowLeft||isArrowRight||isArrowUp||isArrowDown)){
let inView=false;
if(elementParents(swiper.el, `.${swiper.params.slideClass}, swiper-slide`).length > 0&&elementParents(swiper.el, `.${swiper.params.slideActiveClass}`).length===0){
return undefined;
}
const el=swiper.el;
const swiperWidth=el.clientWidth;
const swiperHeight=el.clientHeight;
const windowWidth=window.innerWidth;
const windowHeight=window.innerHeight;
const swiperOffset=elementOffset(el);
if(rtl) swiperOffset.left -=el.scrollLeft;
const swiperCoord=[[swiperOffset.left, swiperOffset.top], [swiperOffset.left + swiperWidth, swiperOffset.top], [swiperOffset.left, swiperOffset.top + swiperHeight], [swiperOffset.left + swiperWidth, swiperOffset.top + swiperHeight]];
for (let i=0; i < swiperCoord.length; i +=1){
const point=swiperCoord[i];
if(point[0] >=0&&point[0] <=windowWidth&&point[1] >=0&&point[1] <=windowHeight){
if(point[0]===0&&point[1]===0) continue;
inView=true;
}}
if(!inView) return undefined;
}
if(swiper.isHorizontal()){
if(isPageUp||isPageDown||isArrowLeft||isArrowRight){
if(e.preventDefault) e.preventDefault();else e.returnValue=false;
}
if((isPageDown||isArrowRight)&&!rtl||(isPageUp||isArrowLeft)&&rtl) swiper.slideNext();
if((isPageUp||isArrowLeft)&&!rtl||(isPageDown||isArrowRight)&&rtl) swiper.slidePrev();
}else{
if(isPageUp||isPageDown||isArrowUp||isArrowDown){
if(e.preventDefault) e.preventDefault();else e.returnValue=false;
}
if(isPageDown||isArrowDown) swiper.slideNext();
if(isPageUp||isArrowUp) swiper.slidePrev();
}
emit('keyPress', kc);
return undefined;
}
function enable(){
if(swiper.keyboard.enabled) return;
document.addEventListener('keydown', handle);
swiper.keyboard.enabled=true;
}
function disable(){
if(!swiper.keyboard.enabled) return;
document.removeEventListener('keydown', handle);
swiper.keyboard.enabled=false;
}
on('init', ()=> {
if(swiper.params.keyboard.enabled){
enable();
}});
on('destroy', ()=> {
if(swiper.keyboard.enabled){
disable();
}});
Object.assign(swiper.keyboard, {
enable,
disable
});
}
function Mousewheel(_ref){
let {
swiper,
extendParams,
on,
emit
}=_ref;
const window=getWindow();
extendParams({
mousewheel: {
enabled: false,
releaseOnEdges: false,
invert: false,
forceToAxis: false,
sensitivity: 1,
eventsTarget: 'container',
thresholdDelta: null,
thresholdTime: null,
noMousewheelClass: 'swiper-no-mousewheel'
}});
swiper.mousewheel={
enabled: false
};
let timeout;
let lastScrollTime=now();
let lastEventBeforeSnap;
const recentWheelEvents=[];
function normalize(e){
const PIXEL_STEP=10;
const LINE_HEIGHT=40;
const PAGE_HEIGHT=800;
let sX=0;
let sY=0;
let pX=0;
let pY=0;
if('detail' in e){
sY=e.detail;
}
if('wheelDelta' in e){
sY=-e.wheelDelta / 120;
}
if('wheelDeltaY' in e){
sY=-e.wheelDeltaY / 120;
}
if('wheelDeltaX' in e){
sX=-e.wheelDeltaX / 120;
}
if('axis' in e&&e.axis===e.HORIZONTAL_AXIS){
sX=sY;
sY=0;
}
pX=sX * PIXEL_STEP;
pY=sY * PIXEL_STEP;
if('deltaY' in e){
pY=e.deltaY;
}
if('deltaX' in e){
pX=e.deltaX;
}
if(e.shiftKey&&!pX){
pX=pY;
pY=0;
}
if((pX||pY)&&e.deltaMode){
if(e.deltaMode===1){
pX *=LINE_HEIGHT;
pY *=LINE_HEIGHT;
}else{
pX *=PAGE_HEIGHT;
pY *=PAGE_HEIGHT;
}}
if(pX&&!sX){
sX=pX < 1 ? -1:1;
}
if(pY&&!sY){
sY=pY < 1 ? -1:1;
}
return {
spinX: sX,
spinY: sY,
pixelX: pX,
pixelY: pY
};}
function handleMouseEnter(){
if(!swiper.enabled) return;
swiper.mouseEntered=true;
}
function handleMouseLeave(){
if(!swiper.enabled) return;
swiper.mouseEntered=false;
}
function animateSlider(newEvent){
if(swiper.params.mousewheel.thresholdDelta&&newEvent.delta < swiper.params.mousewheel.thresholdDelta){
return false;
}
if(swiper.params.mousewheel.thresholdTime&&now() - lastScrollTime < swiper.params.mousewheel.thresholdTime){
return false;
}
if(newEvent.delta >=6&&now() - lastScrollTime < 60){
return true;
}
if(newEvent.direction < 0){
if((!swiper.isEnd||swiper.params.loop)&&!swiper.animating){
swiper.slideNext();
emit('scroll', newEvent.raw);
}}else if((!swiper.isBeginning||swiper.params.loop)&&!swiper.animating){
swiper.slidePrev();
emit('scroll', newEvent.raw);
}
lastScrollTime=new window.Date().getTime();
return false;
}
function releaseScroll(newEvent){
const params=swiper.params.mousewheel;
if(newEvent.direction < 0){
if(swiper.isEnd&&!swiper.params.loop&&params.releaseOnEdges){
return true;
}}else if(swiper.isBeginning&&!swiper.params.loop&&params.releaseOnEdges){
return true;
}
return false;
}
function handle(event){
let e=event;
let disableParentSwiper=true;
if(!swiper.enabled) return;
if(event.target.closest(`.${swiper.params.mousewheel.noMousewheelClass}`)) return;
const params=swiper.params.mousewheel;
if(swiper.params.cssMode){
e.preventDefault();
}
let targetEl=swiper.el;
if(swiper.params.mousewheel.eventsTarget!=='container'){
targetEl=document.querySelector(swiper.params.mousewheel.eventsTarget);
}
const targetElContainsTarget=targetEl&&targetEl.contains(e.target);
if(!swiper.mouseEntered&&!targetElContainsTarget&&!params.releaseOnEdges) return true;
if(e.originalEvent) e=e.originalEvent;
let delta=0;
const rtlFactor=swiper.rtlTranslate ? -1:1;
const data=normalize(e);
if(params.forceToAxis){
if(swiper.isHorizontal()){
if(Math.abs(data.pixelX) > Math.abs(data.pixelY)) delta=-data.pixelX * rtlFactor;else return true;
}else if(Math.abs(data.pixelY) > Math.abs(data.pixelX)) delta=-data.pixelY;else return true;
}else{
delta=Math.abs(data.pixelX) > Math.abs(data.pixelY) ? -data.pixelX * rtlFactor:-data.pixelY;
}
if(delta===0) return true;
if(params.invert) delta=-delta;
let positions=swiper.getTranslate() + delta * params.sensitivity;
if(positions >=swiper.minTranslate()) positions=swiper.minTranslate();
if(positions <=swiper.maxTranslate()) positions=swiper.maxTranslate();
disableParentSwiper=swiper.params.loop ? true:!(positions===swiper.minTranslate()||positions===swiper.maxTranslate());
if(disableParentSwiper&&swiper.params.nested) e.stopPropagation();
if(!swiper.params.freeMode||!swiper.params.freeMode.enabled){
const newEvent={
time: now(),
delta: Math.abs(delta),
direction: Math.sign(delta),
raw: event
};
if(recentWheelEvents.length >=2){
recentWheelEvents.shift();
}
const prevEvent=recentWheelEvents.length ? recentWheelEvents[recentWheelEvents.length - 1]:undefined;
recentWheelEvents.push(newEvent);
if(prevEvent){
if(newEvent.direction!==prevEvent.direction||newEvent.delta > prevEvent.delta||newEvent.time > prevEvent.time + 150){
animateSlider(newEvent);
}}else{
animateSlider(newEvent);
}
if(releaseScroll(newEvent)){
return true;
}}else{
const newEvent={
time: now(),
delta: Math.abs(delta),
direction: Math.sign(delta)
};
const ignoreWheelEvents=lastEventBeforeSnap&&newEvent.time < lastEventBeforeSnap.time + 500&&newEvent.delta <=lastEventBeforeSnap.delta&&newEvent.direction===lastEventBeforeSnap.direction;
if(!ignoreWheelEvents){
lastEventBeforeSnap=undefined;
let position=swiper.getTranslate() + delta * params.sensitivity;
const wasBeginning=swiper.isBeginning;
const wasEnd=swiper.isEnd;
if(position >=swiper.minTranslate()) position=swiper.minTranslate();
if(position <=swiper.maxTranslate()) position=swiper.maxTranslate();
swiper.setTransition(0);
swiper.setTranslate(position);
swiper.updateProgress();
swiper.updateActiveIndex();
swiper.updateSlidesClasses();
if(!wasBeginning&&swiper.isBeginning||!wasEnd&&swiper.isEnd){
swiper.updateSlidesClasses();
}
if(swiper.params.loop){
swiper.loopFix({
direction: newEvent.direction < 0 ? 'next':'prev',
byMousewheel: true
});
}
if(swiper.params.freeMode.sticky){
clearTimeout(timeout);
timeout=undefined;
if(recentWheelEvents.length >=15){
recentWheelEvents.shift();
}
const prevEvent=recentWheelEvents.length ? recentWheelEvents[recentWheelEvents.length - 1]:undefined;
const firstEvent=recentWheelEvents[0];
recentWheelEvents.push(newEvent);
if(prevEvent&&(newEvent.delta > prevEvent.delta||newEvent.direction!==prevEvent.direction)){
recentWheelEvents.splice(0);
}else if(recentWheelEvents.length >=15&&newEvent.time - firstEvent.time < 500&&firstEvent.delta - newEvent.delta >=1&&newEvent.delta <=6){
const snapToThreshold=delta > 0 ? 0.8:0.2;
lastEventBeforeSnap=newEvent;
recentWheelEvents.splice(0);
timeout=nextTick(()=> {
swiper.slideToClosest(swiper.params.speed, true, undefined, snapToThreshold);
}, 0);
}
if(!timeout){
timeout=nextTick(()=> {
const snapToThreshold=0.5;
lastEventBeforeSnap=newEvent;
recentWheelEvents.splice(0);
swiper.slideToClosest(swiper.params.speed, true, undefined, snapToThreshold);
}, 500);
}}
if(!ignoreWheelEvents) emit('scroll', e);
if(swiper.params.autoplay&&swiper.params.autoplayDisableOnInteraction) swiper.autoplay.stop();
if(params.releaseOnEdges&&(position===swiper.minTranslate()||position===swiper.maxTranslate())){
return true;
}}
}
if(e.preventDefault) e.preventDefault();else e.returnValue=false;
return false;
}
function events(method){
let targetEl=swiper.el;
if(swiper.params.mousewheel.eventsTarget!=='container'){
targetEl=document.querySelector(swiper.params.mousewheel.eventsTarget);
}
targetEl[method]('mouseenter', handleMouseEnter);
targetEl[method]('mouseleave', handleMouseLeave);
targetEl[method]('wheel', handle);
}
function enable(){
if(swiper.params.cssMode){
swiper.wrapperEl.removeEventListener('wheel', handle);
return true;
}
if(swiper.mousewheel.enabled) return false;
events('addEventListener');
swiper.mousewheel.enabled=true;
return true;
}
function disable(){
if(swiper.params.cssMode){
swiper.wrapperEl.addEventListener(event, handle);
return true;
}
if(!swiper.mousewheel.enabled) return false;
events('removeEventListener');
swiper.mousewheel.enabled=false;
return true;
}
on('init', ()=> {
if(!swiper.params.mousewheel.enabled&&swiper.params.cssMode){
disable();
}
if(swiper.params.mousewheel.enabled) enable();
});
on('destroy', ()=> {
if(swiper.params.cssMode){
enable();
}
if(swiper.mousewheel.enabled) disable();
});
Object.assign(swiper.mousewheel, {
enable,
disable
});
}
function createElementIfNotDefined(swiper, originalParams, params, checkProps){
if(swiper.params.createElements){
Object.keys(checkProps).forEach(key=> {
if(!params[key]&&params.auto===true){
let element=elementChildren(swiper.el, `.${checkProps[key]}`)[0];
if(!element){
element=createElement('div', checkProps[key]);
element.className=checkProps[key];
swiper.el.append(element);
}
params[key]=element;
originalParams[key]=element;
}});
}
return params;
}
function Navigation(_ref){
let {
swiper,
extendParams,
on,
emit
}=_ref;
extendParams({
navigation: {
nextEl: null,
prevEl: null,
hideOnClick: false,
disabledClass: 'swiper-button-disabled',
hiddenClass: 'swiper-button-hidden',
lockClass: 'swiper-button-lock',
navigationDisabledClass: 'swiper-navigation-disabled'
}});
swiper.navigation={
nextEl: null,
prevEl: null
};
const makeElementsArray=el=> (Array.isArray(el) ? el:[el]).filter(e=> !!e);
function getEl(el){
let res;
if(el&&typeof el==='string'&&swiper.isElement){
res=swiper.el.querySelector(el);
if(res) return res;
}
if(el){
if(typeof el==='string') res=[...document.querySelectorAll(el)];
if(swiper.params.uniqueNavElements&&typeof el==='string'&&res.length > 1&&swiper.el.querySelectorAll(el).length===1){
res=swiper.el.querySelector(el);
}}
if(el&&!res) return el;
return res;
}
function toggleEl(el, disabled){
const params=swiper.params.navigation;
el=makeElementsArray(el);
el.forEach(subEl=> {
if(subEl){
subEl.classList[disabled ? 'add':'remove'](...params.disabledClass.split(' '));
if(subEl.tagName==='BUTTON') subEl.disabled=disabled;
if(swiper.params.watchOverflow&&swiper.enabled){
subEl.classList[swiper.isLocked ? 'add':'remove'](params.lockClass);
}}
});
}
function update(){
const {
nextEl,
prevEl
}=swiper.navigation;
if(swiper.params.loop){
toggleEl(prevEl, false);
toggleEl(nextEl, false);
return;
}
toggleEl(prevEl, swiper.isBeginning&&!swiper.params.rewind);
toggleEl(nextEl, swiper.isEnd&&!swiper.params.rewind);
}
function onPrevClick(e){
e.preventDefault();
if(swiper.isBeginning&&!swiper.params.loop&&!swiper.params.rewind) return;
swiper.slidePrev();
emit('navigationPrev');
}
function onNextClick(e){
e.preventDefault();
if(swiper.isEnd&&!swiper.params.loop&&!swiper.params.rewind) return;
swiper.slideNext();
emit('navigationNext');
}
function init(){
const params=swiper.params.navigation;
swiper.params.navigation=createElementIfNotDefined(swiper, swiper.originalParams.navigation, swiper.params.navigation, {
nextEl: 'swiper-button-next',
prevEl: 'swiper-button-prev'
});
if(!(params.nextEl||params.prevEl)) return;
let nextEl=getEl(params.nextEl);
let prevEl=getEl(params.prevEl);
Object.assign(swiper.navigation, {
nextEl,
prevEl
});
nextEl=makeElementsArray(nextEl);
prevEl=makeElementsArray(prevEl);
const initButton=(el, dir)=> {
if(el){
el.addEventListener('click', dir==='next' ? onNextClick:onPrevClick);
}
if(!swiper.enabled&&el){
el.classList.add(...params.lockClass.split(' '));
}};
nextEl.forEach(el=> initButton(el, 'next'));
prevEl.forEach(el=> initButton(el, 'prev'));
}
function destroy(){
let {
nextEl,
prevEl
}=swiper.navigation;
nextEl=makeElementsArray(nextEl);
prevEl=makeElementsArray(prevEl);
const destroyButton=(el, dir)=> {
el.removeEventListener('click', dir==='next' ? onNextClick:onPrevClick);
el.classList.remove(...swiper.params.navigation.disabledClass.split(' '));
};
nextEl.forEach(el=> destroyButton(el, 'next'));
prevEl.forEach(el=> destroyButton(el, 'prev'));
}
on('init', ()=> {
if(swiper.params.navigation.enabled===false){
disable();
}else{
init();
update();
}});
on('toEdge fromEdge lock unlock', ()=> {
update();
});
on('destroy', ()=> {
destroy();
});
on('enable disable', ()=> {
let {
nextEl,
prevEl
}=swiper.navigation;
nextEl=makeElementsArray(nextEl);
prevEl=makeElementsArray(prevEl);
if(swiper.enabled){
update();
return;
}
[...nextEl, ...prevEl].filter(el=> !!el).forEach(el=> el.classList.add(swiper.params.navigation.lockClass));
});
on('click', (_s, e)=> {
let {
nextEl,
prevEl
}=swiper.navigation;
nextEl=makeElementsArray(nextEl);
prevEl=makeElementsArray(prevEl);
const targetEl=e.target;
if(swiper.params.navigation.hideOnClick&&!prevEl.includes(targetEl)&&!nextEl.includes(targetEl)){
if(swiper.pagination&&swiper.params.pagination&&swiper.params.pagination.clickable&&(swiper.pagination.el===targetEl||swiper.pagination.el.contains(targetEl))) return;
let isHidden;
if(nextEl.length){
isHidden=nextEl[0].classList.contains(swiper.params.navigation.hiddenClass);
}else if(prevEl.length){
isHidden=prevEl[0].classList.contains(swiper.params.navigation.hiddenClass);
}
if(isHidden===true){
emit('navigationShow');
}else{
emit('navigationHide');
}
[...nextEl, ...prevEl].filter(el=> !!el).forEach(el=> el.classList.toggle(swiper.params.navigation.hiddenClass));
}});
const enable=()=> {
swiper.el.classList.remove(...swiper.params.navigation.navigationDisabledClass.split(' '));
init();
update();
};
const disable=()=> {
swiper.el.classList.add(...swiper.params.navigation.navigationDisabledClass.split(' '));
destroy();
};
Object.assign(swiper.navigation, {
enable,
disable,
update,
init,
destroy
});
}
function classesToSelector(classes){
if(classes===void 0){
classes='';
}
return `.${classes.trim().replace(/([\.:!+\/])/g, '\\$1')
.replace(/ /g, '.')}`;
}
function Pagination(_ref){
let {
swiper,
extendParams,
on,
emit
}=_ref;
const pfx='swiper-pagination';
extendParams({
pagination: {
el: null,
bulletElement: 'span',
clickable: false,
hideOnClick: false,
renderBullet: null,
renderProgressbar: null,
renderFraction: null,
renderCustom: null,
progressbarOpposite: false,
type: 'bullets',
dynamicBullets: false,
dynamicMainBullets: 1,
formatFractionCurrent: number=> number,
formatFractionTotal: number=> number,
bulletClass: `${pfx}-bullet`,
bulletActiveClass: `${pfx}-bullet-active`,
modifierClass: `${pfx}-`,
currentClass: `${pfx}-current`,
totalClass: `${pfx}-total`,
hiddenClass: `${pfx}-hidden`,
progressbarFillClass: `${pfx}-progressbar-fill`,
progressbarOppositeClass: `${pfx}-progressbar-opposite`,
clickableClass: `${pfx}-clickable`,
lockClass: `${pfx}-lock`,
horizontalClass: `${pfx}-horizontal`,
verticalClass: `${pfx}-vertical`,
paginationDisabledClass: `${pfx}-disabled`
}});
swiper.pagination={
el: null,
bullets: []
};
let bulletSize;
let dynamicBulletIndex=0;
const makeElementsArray=el=> (Array.isArray(el) ? el:[el]).filter(e=> !!e);
function isPaginationDisabled(){
return !swiper.params.pagination.el||!swiper.pagination.el||Array.isArray(swiper.pagination.el)&&swiper.pagination.el.length===0;
}
function setSideBullets(bulletEl, position){
const {
bulletActiveClass
}=swiper.params.pagination;
if(!bulletEl) return;
bulletEl=bulletEl[`${position==='prev' ? 'previous':'next'}ElementSibling`];
if(bulletEl){
bulletEl.classList.add(`${bulletActiveClass}-${position}`);
bulletEl=bulletEl[`${position==='prev' ? 'previous':'next'}ElementSibling`];
if(bulletEl){
bulletEl.classList.add(`${bulletActiveClass}-${position}-${position}`);
}}
}
function onBulletClick(e){
const bulletEl=e.target.closest(classesToSelector(swiper.params.pagination.bulletClass));
if(!bulletEl){
return;
}
e.preventDefault();
const index=elementIndex(bulletEl) * swiper.params.slidesPerGroup;
if(swiper.params.loop){
if(swiper.realIndex===index) return;
swiper.slideToLoop(index);
}else{
swiper.slideTo(index);
}}
function update(){
const rtl=swiper.rtl;
const params=swiper.params.pagination;
if(isPaginationDisabled()) return;
let el=swiper.pagination.el;
el=makeElementsArray(el);
let current;
let previousIndex;
const slidesLength=swiper.virtual&&swiper.params.virtual.enabled ? swiper.virtual.slides.length:swiper.slides.length;
const total=swiper.params.loop ? Math.ceil(slidesLength / swiper.params.slidesPerGroup):swiper.snapGrid.length;
if(swiper.params.loop){
previousIndex=swiper.previousRealIndex||0;
current=swiper.params.slidesPerGroup > 1 ? Math.floor(swiper.realIndex / swiper.params.slidesPerGroup):swiper.realIndex;
}else if(typeof swiper.snapIndex!=='undefined'){
current=swiper.snapIndex;
previousIndex=swiper.previousSnapIndex;
}else{
previousIndex=swiper.previousIndex||0;
current=swiper.activeIndex||0;
}
if(params.type==='bullets'&&swiper.pagination.bullets&&swiper.pagination.bullets.length > 0){
const bullets=swiper.pagination.bullets;
let firstIndex;
let lastIndex;
let midIndex;
if(params.dynamicBullets){
bulletSize=elementOuterSize(bullets[0], swiper.isHorizontal() ? 'width':'height', true);
el.forEach(subEl=> {
subEl.style[swiper.isHorizontal() ? 'width':'height']=`${bulletSize * (params.dynamicMainBullets + 4)}px`;
});
if(params.dynamicMainBullets > 1&&previousIndex!==undefined){
dynamicBulletIndex +=current - (previousIndex||0);
if(dynamicBulletIndex > params.dynamicMainBullets - 1){
dynamicBulletIndex=params.dynamicMainBullets - 1;
}else if(dynamicBulletIndex < 0){
dynamicBulletIndex=0;
}}
firstIndex=Math.max(current - dynamicBulletIndex, 0);
lastIndex=firstIndex + (Math.min(bullets.length, params.dynamicMainBullets) - 1);
midIndex=(lastIndex + firstIndex) / 2;
}
bullets.forEach(bulletEl=> {
const classesToRemove=[...['', '-next', '-next-next', '-prev', '-prev-prev', '-main'].map(suffix=> `${params.bulletActiveClass}${suffix}`)].map(s=> typeof s==='string'&&s.includes(' ') ? s.split(' '):s).flat();
bulletEl.classList.remove(...classesToRemove);
});
if(el.length > 1){
bullets.forEach(bullet=> {
const bulletIndex=elementIndex(bullet);
if(bulletIndex===current){
bullet.classList.add(...params.bulletActiveClass.split(' '));
}else if(swiper.isElement){
bullet.setAttribute('part', 'bullet');
}
if(params.dynamicBullets){
if(bulletIndex >=firstIndex&&bulletIndex <=lastIndex){
bullet.classList.add(...`${params.bulletActiveClass}-main`.split(' '));
}
if(bulletIndex===firstIndex){
setSideBullets(bullet, 'prev');
}
if(bulletIndex===lastIndex){
setSideBullets(bullet, 'next');
}}
});
}else{
const bullet=bullets[current];
if(bullet){
bullet.classList.add(...params.bulletActiveClass.split(' '));
}
if(swiper.isElement){
bullets.forEach((bulletEl, bulletIndex)=> {
bulletEl.setAttribute('part', bulletIndex===current ? 'bullet-active':'bullet');
});
}
if(params.dynamicBullets){
const firstDisplayedBullet=bullets[firstIndex];
const lastDisplayedBullet=bullets[lastIndex];
for (let i=firstIndex; i <=lastIndex; i +=1){
if(bullets[i]){
bullets[i].classList.add(...`${params.bulletActiveClass}-main`.split(' '));
}}
setSideBullets(firstDisplayedBullet, 'prev');
setSideBullets(lastDisplayedBullet, 'next');
}}
if(params.dynamicBullets){
const dynamicBulletsLength=Math.min(bullets.length, params.dynamicMainBullets + 4);
const bulletsOffset=(bulletSize * dynamicBulletsLength - bulletSize) / 2 - midIndex * bulletSize;
const offsetProp=rtl ? 'right':'left';
bullets.forEach(bullet=> {
bullet.style[swiper.isHorizontal() ? offsetProp:'top']=`${bulletsOffset}px`;
});
}}
el.forEach((subEl, subElIndex)=> {
if(params.type==='fraction'){
subEl.querySelectorAll(classesToSelector(params.currentClass)).forEach(fractionEl=> {
fractionEl.textContent=params.formatFractionCurrent(current + 1);
});
subEl.querySelectorAll(classesToSelector(params.totalClass)).forEach(totalEl=> {
totalEl.textContent=params.formatFractionTotal(total);
});
}
if(params.type==='progressbar'){
let progressbarDirection;
if(params.progressbarOpposite){
progressbarDirection=swiper.isHorizontal() ? 'vertical':'horizontal';
}else{
progressbarDirection=swiper.isHorizontal() ? 'horizontal':'vertical';
}
const scale=(current + 1) / total;
let scaleX=1;
let scaleY=1;
if(progressbarDirection==='horizontal'){
scaleX=scale;
}else{
scaleY=scale;
}
subEl.querySelectorAll(classesToSelector(params.progressbarFillClass)).forEach(progressEl=> {
progressEl.style.transform=`translate3d(0,0,0) scaleX(${scaleX}) scaleY(${scaleY})`;
progressEl.style.transitionDuration=`${swiper.params.speed}ms`;
});
}
if(params.type==='custom'&&params.renderCustom){
subEl.innerHTML=params.renderCustom(swiper, current + 1, total);
if(subElIndex===0) emit('paginationRender', subEl);
}else{
if(subElIndex===0) emit('paginationRender', subEl);
emit('paginationUpdate', subEl);
}
if(swiper.params.watchOverflow&&swiper.enabled){
subEl.classList[swiper.isLocked ? 'add':'remove'](params.lockClass);
}});
}
function render(){
const params=swiper.params.pagination;
if(isPaginationDisabled()) return;
const slidesLength=swiper.virtual&&swiper.params.virtual.enabled ? swiper.virtual.slides.length:swiper.grid&&swiper.params.grid.rows > 1 ? swiper.slides.length / Math.ceil(swiper.params.grid.rows):swiper.slides.length;
let el=swiper.pagination.el;
el=makeElementsArray(el);
let paginationHTML='';
if(params.type==='bullets'){
let numberOfBullets=swiper.params.loop ? Math.ceil(slidesLength / swiper.params.slidesPerGroup):swiper.snapGrid.length;
if(swiper.params.freeMode&&swiper.params.freeMode.enabled&&numberOfBullets > slidesLength){
numberOfBullets=slidesLength;
}
for (let i=0; i < numberOfBullets; i +=1){
if(params.renderBullet){
paginationHTML +=params.renderBullet.call(swiper, i, params.bulletClass);
}else{
paginationHTML +=`<${params.bulletElement} ${swiper.isElement ? 'part="bullet"':''} class="${params.bulletClass}"></${params.bulletElement}>`;
}}
}
if(params.type==='fraction'){
if(params.renderFraction){
paginationHTML=params.renderFraction.call(swiper, params.currentClass, params.totalClass);
}else{
paginationHTML=`<span class="${params.currentClass}"></span>` + ' / ' + `<span class="${params.totalClass}"></span>`;
}}
if(params.type==='progressbar'){
if(params.renderProgressbar){
paginationHTML=params.renderProgressbar.call(swiper, params.progressbarFillClass);
}else{
paginationHTML=`<span class="${params.progressbarFillClass}"></span>`;
}}
swiper.pagination.bullets=[];
el.forEach(subEl=> {
if(params.type!=='custom'){
subEl.innerHTML=paginationHTML||'';
}
if(params.type==='bullets'){
swiper.pagination.bullets.push(...subEl.querySelectorAll(classesToSelector(params.bulletClass)));
}});
if(params.type!=='custom'){
emit('paginationRender', el[0]);
}}
function init(){
swiper.params.pagination=createElementIfNotDefined(swiper, swiper.originalParams.pagination, swiper.params.pagination, {
el: 'swiper-pagination'
});
const params=swiper.params.pagination;
if(!params.el) return;
let el;
if(typeof params.el==='string'&&swiper.isElement){
el=swiper.el.querySelector(params.el);
}
if(!el&&typeof params.el==='string'){
el=[...document.querySelectorAll(params.el)];
}
if(!el){
el=params.el;
}
if(!el||el.length===0) return;
if(swiper.params.uniqueNavElements&&typeof params.el==='string'&&Array.isArray(el)&&el.length > 1){
el=[...swiper.el.querySelectorAll(params.el)];
if(el.length > 1){
el=el.filter(subEl=> {
if(elementParents(subEl, '.swiper')[0]!==swiper.el) return false;
return true;
})[0];
}}
if(Array.isArray(el)&&el.length===1) el=el[0];
Object.assign(swiper.pagination, {
el
});
el=makeElementsArray(el);
el.forEach(subEl=> {
if(params.type==='bullets'&&params.clickable){
subEl.classList.add(...(params.clickableClass||'').split(' '));
}
subEl.classList.add(params.modifierClass + params.type);
subEl.classList.add(swiper.isHorizontal() ? params.horizontalClass:params.verticalClass);
if(params.type==='bullets'&&params.dynamicBullets){
subEl.classList.add(`${params.modifierClass}${params.type}-dynamic`);
dynamicBulletIndex=0;
if(params.dynamicMainBullets < 1){
params.dynamicMainBullets=1;
}}
if(params.type==='progressbar'&&params.progressbarOpposite){
subEl.classList.add(params.progressbarOppositeClass);
}
if(params.clickable){
subEl.addEventListener('click', onBulletClick);
}
if(!swiper.enabled){
subEl.classList.add(params.lockClass);
}});
}
function destroy(){
const params=swiper.params.pagination;
if(isPaginationDisabled()) return;
let el=swiper.pagination.el;
if(el){
el=makeElementsArray(el);
el.forEach(subEl=> {
subEl.classList.remove(params.hiddenClass);
subEl.classList.remove(params.modifierClass + params.type);
subEl.classList.remove(swiper.isHorizontal() ? params.horizontalClass:params.verticalClass);
if(params.clickable){
subEl.classList.remove(...(params.clickableClass||'').split(' '));
subEl.removeEventListener('click', onBulletClick);
}});
}
if(swiper.pagination.bullets) swiper.pagination.bullets.forEach(subEl=> subEl.classList.remove(...params.bulletActiveClass.split(' ')));
}
on('changeDirection', ()=> {
if(!swiper.pagination||!swiper.pagination.el) return;
const params=swiper.params.pagination;
let {
el
}=swiper.pagination;
el=makeElementsArray(el);
el.forEach(subEl=> {
subEl.classList.remove(params.horizontalClass, params.verticalClass);
subEl.classList.add(swiper.isHorizontal() ? params.horizontalClass:params.verticalClass);
});
});
on('init', ()=> {
if(swiper.params.pagination.enabled===false){
disable();
}else{
init();
render();
update();
}});
on('activeIndexChange', ()=> {
if(typeof swiper.snapIndex==='undefined'){
update();
}});
on('snapIndexChange', ()=> {
update();
});
on('snapGridLengthChange', ()=> {
render();
update();
});
on('destroy', ()=> {
destroy();
});
on('enable disable', ()=> {
let {
el
}=swiper.pagination;
if(el){
el=makeElementsArray(el);
el.forEach(subEl=> subEl.classList[swiper.enabled ? 'remove':'add'](swiper.params.pagination.lockClass));
}});
on('lock unlock', ()=> {
update();
});
on('click', (_s, e)=> {
const targetEl=e.target;
const el=makeElementsArray(swiper.pagination.el);
if(swiper.params.pagination.el&&swiper.params.pagination.hideOnClick&&el&&el.length > 0&&!targetEl.classList.contains(swiper.params.pagination.bulletClass)){
if(swiper.navigation&&(swiper.navigation.nextEl&&targetEl===swiper.navigation.nextEl||swiper.navigation.prevEl&&targetEl===swiper.navigation.prevEl)) return;
const isHidden=el[0].classList.contains(swiper.params.pagination.hiddenClass);
if(isHidden===true){
emit('paginationShow');
}else{
emit('paginationHide');
}
el.forEach(subEl=> subEl.classList.toggle(swiper.params.pagination.hiddenClass));
}});
const enable=()=> {
swiper.el.classList.remove(swiper.params.pagination.paginationDisabledClass);
let {
el
}=swiper.pagination;
if(el){
el=makeElementsArray(el);
el.forEach(subEl=> subEl.classList.remove(swiper.params.pagination.paginationDisabledClass));
}
init();
render();
update();
};
const disable=()=> {
swiper.el.classList.add(swiper.params.pagination.paginationDisabledClass);
let {
el
}=swiper.pagination;
if(el){
el=makeElementsArray(el);
el.forEach(subEl=> subEl.classList.add(swiper.params.pagination.paginationDisabledClass));
}
destroy();
};
Object.assign(swiper.pagination, {
enable,
disable,
render,
update,
init,
destroy
});
}
function Scrollbar(_ref){
let {
swiper,
extendParams,
on,
emit
}=_ref;
const document=getDocument();
let isTouched=false;
let timeout=null;
let dragTimeout=null;
let dragStartPos;
let dragSize;
let trackSize;
let divider;
extendParams({
scrollbar: {
el: null,
dragSize: 'auto',
hide: false,
draggable: false,
snapOnRelease: true,
lockClass: 'swiper-scrollbar-lock',
dragClass: 'swiper-scrollbar-drag',
scrollbarDisabledClass: 'swiper-scrollbar-disabled',
horizontalClass: `swiper-scrollbar-horizontal`,
verticalClass: `swiper-scrollbar-vertical`
}});
swiper.scrollbar={
el: null,
dragEl: null
};
function setTranslate(){
if(!swiper.params.scrollbar.el||!swiper.scrollbar.el) return;
const {
scrollbar,
rtlTranslate: rtl
}=swiper;
const {
dragEl,
el
}=scrollbar;
const params=swiper.params.scrollbar;
const progress=swiper.params.loop ? swiper.progressLoop:swiper.progress;
let newSize=dragSize;
let newPos=(trackSize - dragSize) * progress;
if(rtl){
newPos=-newPos;
if(newPos > 0){
newSize=dragSize - newPos;
newPos=0;
}else if(-newPos + dragSize > trackSize){
newSize=trackSize + newPos;
}}else if(newPos < 0){
newSize=dragSize + newPos;
newPos=0;
}else if(newPos + dragSize > trackSize){
newSize=trackSize - newPos;
}
if(swiper.isHorizontal()){
dragEl.style.transform=`translate3d(${newPos}px, 0, 0)`;
dragEl.style.width=`${newSize}px`;
}else{
dragEl.style.transform=`translate3d(0px, ${newPos}px, 0)`;
dragEl.style.height=`${newSize}px`;
}
if(params.hide){
clearTimeout(timeout);
el.style.opacity=1;
timeout=setTimeout(()=> {
el.style.opacity=0;
el.style.transitionDuration='400ms';
}, 1000);
}}
function setTransition(duration){
if(!swiper.params.scrollbar.el||!swiper.scrollbar.el) return;
swiper.scrollbar.dragEl.style.transitionDuration=`${duration}ms`;
}
function updateSize(){
if(!swiper.params.scrollbar.el||!swiper.scrollbar.el) return;
const {
scrollbar
}=swiper;
const {
dragEl,
el
}=scrollbar;
dragEl.style.width='';
dragEl.style.height='';
trackSize=swiper.isHorizontal() ? el.offsetWidth:el.offsetHeight;
divider=swiper.size / (swiper.virtualSize + swiper.params.slidesOffsetBefore - (swiper.params.centeredSlides ? swiper.snapGrid[0]:0));
if(swiper.params.scrollbar.dragSize==='auto'){
dragSize=trackSize * divider;
}else{
dragSize=parseInt(swiper.params.scrollbar.dragSize, 10);
}
if(swiper.isHorizontal()){
dragEl.style.width=`${dragSize}px`;
}else{
dragEl.style.height=`${dragSize}px`;
}
if(divider >=1){
el.style.display='none';
}else{
el.style.display='';
}
if(swiper.params.scrollbar.hide){
el.style.opacity=0;
}
if(swiper.params.watchOverflow&&swiper.enabled){
scrollbar.el.classList[swiper.isLocked ? 'add':'remove'](swiper.params.scrollbar.lockClass);
}}
function getPointerPosition(e){
return swiper.isHorizontal() ? e.clientX:e.clientY;
}
function setDragPosition(e){
const {
scrollbar,
rtlTranslate: rtl
}=swiper;
const {
el
}=scrollbar;
let positionRatio;
positionRatio=(getPointerPosition(e) - elementOffset(el)[swiper.isHorizontal() ? 'left':'top'] - (dragStartPos!==null ? dragStartPos:dragSize / 2)) / (trackSize - dragSize);
positionRatio=Math.max(Math.min(positionRatio, 1), 0);
if(rtl){
positionRatio=1 - positionRatio;
}
const position=swiper.minTranslate() + (swiper.maxTranslate() - swiper.minTranslate()) * positionRatio;
swiper.updateProgress(position);
swiper.setTranslate(position);
swiper.updateActiveIndex();
swiper.updateSlidesClasses();
}
function onDragStart(e){
const params=swiper.params.scrollbar;
const {
scrollbar,
wrapperEl
}=swiper;
const {
el,
dragEl
}=scrollbar;
isTouched=true;
dragStartPos=e.target===dragEl ? getPointerPosition(e) - e.target.getBoundingClientRect()[swiper.isHorizontal() ? 'left':'top']:null;
e.preventDefault();
e.stopPropagation();
wrapperEl.style.transitionDuration='100ms';
dragEl.style.transitionDuration='100ms';
setDragPosition(e);
clearTimeout(dragTimeout);
el.style.transitionDuration='0ms';
if(params.hide){
el.style.opacity=1;
}
if(swiper.params.cssMode){
swiper.wrapperEl.style['scroll-snap-type']='none';
}
emit('scrollbarDragStart', e);
}
function onDragMove(e){
const {
scrollbar,
wrapperEl
}=swiper;
const {
el,
dragEl
}=scrollbar;
if(!isTouched) return;
if(e.preventDefault) e.preventDefault();else e.returnValue=false;
setDragPosition(e);
wrapperEl.style.transitionDuration='0ms';
el.style.transitionDuration='0ms';
dragEl.style.transitionDuration='0ms';
emit('scrollbarDragMove', e);
}
function onDragEnd(e){
const params=swiper.params.scrollbar;
const {
scrollbar,
wrapperEl
}=swiper;
const {
el
}=scrollbar;
if(!isTouched) return;
isTouched=false;
if(swiper.params.cssMode){
swiper.wrapperEl.style['scroll-snap-type']='';
wrapperEl.style.transitionDuration='';
}
if(params.hide){
clearTimeout(dragTimeout);
dragTimeout=nextTick(()=> {
el.style.opacity=0;
el.style.transitionDuration='400ms';
}, 1000);
}
emit('scrollbarDragEnd', e);
if(params.snapOnRelease){
swiper.slideToClosest();
}}
function events(method){
const {
scrollbar,
params
}=swiper;
const el=scrollbar.el;
if(!el) return;
const target=el;
const activeListener=params.passiveListeners ? {
passive: false,
capture: false
}:false;
const passiveListener=params.passiveListeners ? {
passive: true,
capture: false
}:false;
if(!target) return;
const eventMethod=method==='on' ? 'addEventListener':'removeEventListener';
target[eventMethod]('pointerdown', onDragStart, activeListener);
document[eventMethod]('pointermove', onDragMove, activeListener);
document[eventMethod]('pointerup', onDragEnd, passiveListener);
}
function enableDraggable(){
if(!swiper.params.scrollbar.el||!swiper.scrollbar.el) return;
events('on');
}
function disableDraggable(){
if(!swiper.params.scrollbar.el||!swiper.scrollbar.el) return;
events('off');
}
function init(){
const {
scrollbar,
el: swiperEl
}=swiper;
swiper.params.scrollbar=createElementIfNotDefined(swiper, swiper.originalParams.scrollbar, swiper.params.scrollbar, {
el: 'swiper-scrollbar'
});
const params=swiper.params.scrollbar;
if(!params.el) return;
let el;
if(typeof params.el==='string'&&swiper.isElement){
el=swiper.el.querySelector(params.el);
}
if(!el&&typeof params.el==='string'){
el=document.querySelectorAll(params.el);
if(!el.length) return;
}else if(!el){
el=params.el;
}
if(swiper.params.uniqueNavElements&&typeof params.el==='string'&&el.length > 1&&swiperEl.querySelectorAll(params.el).length===1){
el=swiperEl.querySelector(params.el);
}
if(el.length > 0) el=el[0];
el.classList.add(swiper.isHorizontal() ? params.horizontalClass:params.verticalClass);
let dragEl;
if(el){
dragEl=el.querySelector(classesToSelector(swiper.params.scrollbar.dragClass));
if(!dragEl){
dragEl=createElement('div', swiper.params.scrollbar.dragClass);
el.append(dragEl);
}}
Object.assign(scrollbar, {
el,
dragEl
});
if(params.draggable){
enableDraggable();
}
if(el){
el.classList[swiper.enabled ? 'remove':'add'](...classesToTokens(swiper.params.scrollbar.lockClass));
}}
function destroy(){
const params=swiper.params.scrollbar;
const el=swiper.scrollbar.el;
if(el){
el.classList.remove(...classesToTokens(swiper.isHorizontal() ? params.horizontalClass:params.verticalClass));
}
disableDraggable();
}
on('init', ()=> {
if(swiper.params.scrollbar.enabled===false){
disable();
}else{
init();
updateSize();
setTranslate();
}});
on('update resize observerUpdate lock unlock', ()=> {
updateSize();
});
on('setTranslate', ()=> {
setTranslate();
});
on('setTransition', (_s, duration)=> {
setTransition(duration);
});
on('enable disable', ()=> {
const {
el
}=swiper.scrollbar;
if(el){
el.classList[swiper.enabled ? 'remove':'add'](...classesToTokens(swiper.params.scrollbar.lockClass));
}});
on('destroy', ()=> {
destroy();
});
const enable=()=> {
swiper.el.classList.remove(...classesToTokens(swiper.params.scrollbar.scrollbarDisabledClass));
if(swiper.scrollbar.el){
swiper.scrollbar.el.classList.remove(...classesToTokens(swiper.params.scrollbar.scrollbarDisabledClass));
}
init();
updateSize();
setTranslate();
};
const disable=()=> {
swiper.el.classList.add(...classesToTokens(swiper.params.scrollbar.scrollbarDisabledClass));
if(swiper.scrollbar.el){
swiper.scrollbar.el.classList.add(...classesToTokens(swiper.params.scrollbar.scrollbarDisabledClass));
}
destroy();
};
Object.assign(swiper.scrollbar, {
enable,
disable,
updateSize,
setTranslate,
init,
destroy
});
}
function Parallax(_ref){
let {
swiper,
extendParams,
on
}=_ref;
extendParams({
parallax: {
enabled: false
}});
const elementsSelector='[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]';
const setTransform=(el, progress)=> {
const {
rtl
}=swiper;
const rtlFactor=rtl ? -1:1;
const p=el.getAttribute('data-swiper-parallax')||'0';
let x=el.getAttribute('data-swiper-parallax-x');
let y=el.getAttribute('data-swiper-parallax-y');
const scale=el.getAttribute('data-swiper-parallax-scale');
const opacity=el.getAttribute('data-swiper-parallax-opacity');
const rotate=el.getAttribute('data-swiper-parallax-rotate');
if(x||y){
x=x||'0';
y=y||'0';
}else if(swiper.isHorizontal()){
x=p;
y='0';
}else{
y=p;
x='0';
}
if(x.indexOf('%') >=0){
x=`${parseInt(x, 10) * progress * rtlFactor}%`;
}else{
x=`${x * progress * rtlFactor}px`;
}
if(y.indexOf('%') >=0){
y=`${parseInt(y, 10) * progress}%`;
}else{
y=`${y * progress}px`;
}
if(typeof opacity!=='undefined'&&opacity!==null){
const currentOpacity=opacity - (opacity - 1) * (1 - Math.abs(progress));
el.style.opacity=currentOpacity;
}
let transform=`translate3d(${x}, ${y}, 0px)`;
if(typeof scale!=='undefined'&&scale!==null){
const currentScale=scale - (scale - 1) * (1 - Math.abs(progress));
transform +=` scale(${currentScale})`;
}
if(rotate&&typeof rotate!=='undefined'&&rotate!==null){
const currentRotate=rotate * progress * -1;
transform +=` rotate(${currentRotate}deg)`;
}
el.style.transform=transform;
};
const setTranslate=()=> {
const {
el,
slides,
progress,
snapGrid,
isElement
}=swiper;
const elements=elementChildren(el, elementsSelector);
if(swiper.isElement){
elements.push(...elementChildren(swiper.hostEl, elementsSelector));
}
elements.forEach(subEl=> {
setTransform(subEl, progress);
});
slides.forEach((slideEl, slideIndex)=> {
let slideProgress=slideEl.progress;
if(swiper.params.slidesPerGroup > 1&&swiper.params.slidesPerView!=='auto'){
slideProgress +=Math.ceil(slideIndex / 2) - progress * (snapGrid.length - 1);
}
slideProgress=Math.min(Math.max(slideProgress, -1), 1);
slideEl.querySelectorAll(`${elementsSelector}, [data-swiper-parallax-rotate]`).forEach(subEl=> {
setTransform(subEl, slideProgress);
});
});
};
const setTransition=function (duration){
if(duration===void 0){
duration=swiper.params.speed;
}
const {
el,
hostEl
}=swiper;
const elements=[...el.querySelectorAll(elementsSelector)];
if(swiper.isElement){
elements.push(...hostEl.querySelectorAll(elementsSelector));
}
elements.forEach(parallaxEl=> {
let parallaxDuration=parseInt(parallaxEl.getAttribute('data-swiper-parallax-duration'), 10)||duration;
if(duration===0) parallaxDuration=0;
parallaxEl.style.transitionDuration=`${parallaxDuration}ms`;
});
};
on('beforeInit', ()=> {
if(!swiper.params.parallax.enabled) return;
swiper.params.watchSlidesProgress=true;
swiper.originalParams.watchSlidesProgress=true;
});
on('init', ()=> {
if(!swiper.params.parallax.enabled) return;
setTranslate();
});
on('setTranslate', ()=> {
if(!swiper.params.parallax.enabled) return;
setTranslate();
});
on('setTransition', (_swiper, duration)=> {
if(!swiper.params.parallax.enabled) return;
setTransition(duration);
});
}
function Zoom(_ref){
let {
swiper,
extendParams,
on,
emit
}=_ref;
const window=getWindow();
extendParams({
zoom: {
enabled: false,
maxRatio: 3,
minRatio: 1,
toggle: true,
containerClass: 'swiper-zoom-container',
zoomedSlideClass: 'swiper-slide-zoomed'
}});
swiper.zoom={
enabled: false
};
let currentScale=1;
let isScaling=false;
let fakeGestureTouched;
let fakeGestureMoved;
const evCache=[];
const gesture={
originX: 0,
originY: 0,
slideEl: undefined,
slideWidth: undefined,
slideHeight: undefined,
imageEl: undefined,
imageWrapEl: undefined,
maxRatio: 3
};
const image={
isTouched: undefined,
isMoved: undefined,
currentX: undefined,
currentY: undefined,
minX: undefined,
minY: undefined,
maxX: undefined,
maxY: undefined,
width: undefined,
height: undefined,
startX: undefined,
startY: undefined,
touchesStart: {},
touchesCurrent: {}};
const velocity={
x: undefined,
y: undefined,
prevPositionX: undefined,
prevPositionY: undefined,
prevTime: undefined
};
let scale=1;
Object.defineProperty(swiper.zoom, 'scale', {
get(){
return scale;
},
set(value){
if(scale!==value){
const imageEl=gesture.imageEl;
const slideEl=gesture.slideEl;
emit('zoomChange', value, imageEl, slideEl);
}
scale=value;
}});
function getDistanceBetweenTouches(){
if(evCache.length < 2) return 1;
const x1=evCache[0].pageX;
const y1=evCache[0].pageY;
const x2=evCache[1].pageX;
const y2=evCache[1].pageY;
const distance=Math.sqrt((x2 - x1) ** 2 + (y2 - y1) ** 2);
return distance;
}
function getScaleOrigin(){
if(evCache.length < 2) return {
x: null,
y: null
};
const box=gesture.imageEl.getBoundingClientRect();
return [(evCache[0].pageX + (evCache[1].pageX - evCache[0].pageX) / 2 - box.x - window.scrollX) / currentScale, (evCache[0].pageY + (evCache[1].pageY - evCache[0].pageY) / 2 - box.y - window.scrollY) / currentScale];
}
function getSlideSelector(){
return swiper.isElement ? `swiper-slide`:`.${swiper.params.slideClass}`;
}
function eventWithinSlide(e){
const slideSelector=getSlideSelector();
if(e.target.matches(slideSelector)) return true;
if(swiper.slides.filter(slideEl=> slideEl.contains(e.target)).length > 0) return true;
return false;
}
function eventWithinZoomContainer(e){
const selector=`.${swiper.params.zoom.containerClass}`;
if(e.target.matches(selector)) return true;
if([...swiper.hostEl.querySelectorAll(selector)].filter(containerEl=> containerEl.contains(e.target)).length > 0) return true;
return false;
}
function onGestureStart(e){
if(e.pointerType==='mouse'){
evCache.splice(0, evCache.length);
}
if(!eventWithinSlide(e)) return;
const params=swiper.params.zoom;
fakeGestureTouched=false;
fakeGestureMoved=false;
evCache.push(e);
if(evCache.length < 2){
return;
}
fakeGestureTouched=true;
gesture.scaleStart=getDistanceBetweenTouches();
if(!gesture.slideEl){
gesture.slideEl=e.target.closest(`.${swiper.params.slideClass}, swiper-slide`);
if(!gesture.slideEl) gesture.slideEl=swiper.slides[swiper.activeIndex];
let imageEl=gesture.slideEl.querySelector(`.${params.containerClass}`);
if(imageEl){
imageEl=imageEl.querySelectorAll('picture, img, svg, canvas, .swiper-zoom-target')[0];
}
gesture.imageEl=imageEl;
if(imageEl){
gesture.imageWrapEl=elementParents(gesture.imageEl, `.${params.containerClass}`)[0];
}else{
gesture.imageWrapEl=undefined;
}
if(!gesture.imageWrapEl){
gesture.imageEl=undefined;
return;
}
gesture.maxRatio=gesture.imageWrapEl.getAttribute('data-swiper-zoom')||params.maxRatio;
}
if(gesture.imageEl){
const [originX, originY]=getScaleOrigin();
gesture.originX=originX;
gesture.originY=originY;
gesture.imageEl.style.transitionDuration='0ms';
}
isScaling=true;
}
function onGestureChange(e){
if(!eventWithinSlide(e)) return;
const params=swiper.params.zoom;
const zoom=swiper.zoom;
const pointerIndex=evCache.findIndex(cachedEv=> cachedEv.pointerId===e.pointerId);
if(pointerIndex >=0) evCache[pointerIndex]=e;
if(evCache.length < 2){
return;
}
fakeGestureMoved=true;
gesture.scaleMove=getDistanceBetweenTouches();
if(!gesture.imageEl){
return;
}
zoom.scale=gesture.scaleMove / gesture.scaleStart * currentScale;
if(zoom.scale > gesture.maxRatio){
zoom.scale=gesture.maxRatio - 1 + (zoom.scale - gesture.maxRatio + 1) ** 0.5;
}
if(zoom.scale < params.minRatio){
zoom.scale=params.minRatio + 1 - (params.minRatio - zoom.scale + 1) ** 0.5;
}
gesture.imageEl.style.transform=`translate3d(0,0,0) scale(${zoom.scale})`;
}
function onGestureEnd(e){
if(!eventWithinSlide(e)) return;
if(e.pointerType==='mouse'&&e.type==='pointerout') return;
const params=swiper.params.zoom;
const zoom=swiper.zoom;
const pointerIndex=evCache.findIndex(cachedEv=> cachedEv.pointerId===e.pointerId);
if(pointerIndex >=0) evCache.splice(pointerIndex, 1);
if(!fakeGestureTouched||!fakeGestureMoved){
return;
}
fakeGestureTouched=false;
fakeGestureMoved=false;
if(!gesture.imageEl) return;
zoom.scale=Math.max(Math.min(zoom.scale, gesture.maxRatio), params.minRatio);
gesture.imageEl.style.transitionDuration=`${swiper.params.speed}ms`;
gesture.imageEl.style.transform=`translate3d(0,0,0) scale(${zoom.scale})`;
currentScale=zoom.scale;
isScaling=false;
if(zoom.scale > 1&&gesture.slideEl){
gesture.slideEl.classList.add(`${params.zoomedSlideClass}`);
}else if(zoom.scale <=1&&gesture.slideEl){
gesture.slideEl.classList.remove(`${params.zoomedSlideClass}`);
}
if(zoom.scale===1){
gesture.originX=0;
gesture.originY=0;
gesture.slideEl=undefined;
}}
function onTouchStart(e){
const device=swiper.device;
if(!gesture.imageEl) return;
if(image.isTouched) return;
if(device.android&&e.cancelable) e.preventDefault();
image.isTouched=true;
const event=evCache.length > 0 ? evCache[0]:e;
image.touchesStart.x=event.pageX;
image.touchesStart.y=event.pageY;
}
function onTouchMove(e){
if(!eventWithinSlide(e)||!eventWithinZoomContainer(e)) return;
const zoom=swiper.zoom;
if(!gesture.imageEl) return;
if(!image.isTouched||!gesture.slideEl) return;
if(!image.isMoved){
image.width=gesture.imageEl.offsetWidth;
image.height=gesture.imageEl.offsetHeight;
image.startX=getTranslate(gesture.imageWrapEl, 'x')||0;
image.startY=getTranslate(gesture.imageWrapEl, 'y')||0;
gesture.slideWidth=gesture.slideEl.offsetWidth;
gesture.slideHeight=gesture.slideEl.offsetHeight;
gesture.imageWrapEl.style.transitionDuration='0ms';
}
const scaledWidth=image.width * zoom.scale;
const scaledHeight=image.height * zoom.scale;
if(scaledWidth < gesture.slideWidth&&scaledHeight < gesture.slideHeight) return;
image.minX=Math.min(gesture.slideWidth / 2 - scaledWidth / 2, 0);
image.maxX=-image.minX;
image.minY=Math.min(gesture.slideHeight / 2 - scaledHeight / 2, 0);
image.maxY=-image.minY;
image.touchesCurrent.x=evCache.length > 0 ? evCache[0].pageX:e.pageX;
image.touchesCurrent.y=evCache.length > 0 ? evCache[0].pageY:e.pageY;
const touchesDiff=Math.max(Math.abs(image.touchesCurrent.x - image.touchesStart.x), Math.abs(image.touchesCurrent.y - image.touchesStart.y));
if(touchesDiff > 5){
swiper.allowClick=false;
}
if(!image.isMoved&&!isScaling){
if(swiper.isHorizontal()&&(Math.floor(image.minX)===Math.floor(image.startX)&&image.touchesCurrent.x < image.touchesStart.x||Math.floor(image.maxX)===Math.floor(image.startX)&&image.touchesCurrent.x > image.touchesStart.x)){
image.isTouched=false;
return;
}
if(!swiper.isHorizontal()&&(Math.floor(image.minY)===Math.floor(image.startY)&&image.touchesCurrent.y < image.touchesStart.y||Math.floor(image.maxY)===Math.floor(image.startY)&&image.touchesCurrent.y > image.touchesStart.y)){
image.isTouched=false;
return;
}}
if(e.cancelable){
e.preventDefault();
}
e.stopPropagation();
image.isMoved=true;
const scaleRatio=(zoom.scale - currentScale) / (gesture.maxRatio - swiper.params.zoom.minRatio);
const {
originX,
originY
}=gesture;
image.currentX=image.touchesCurrent.x - image.touchesStart.x + image.startX + scaleRatio * (image.width - originX * 2);
image.currentY=image.touchesCurrent.y - image.touchesStart.y + image.startY + scaleRatio * (image.height - originY * 2);
if(image.currentX < image.minX){
image.currentX=image.minX + 1 - (image.minX - image.currentX + 1) ** 0.8;
}
if(image.currentX > image.maxX){
image.currentX=image.maxX - 1 + (image.currentX - image.maxX + 1) ** 0.8;
}
if(image.currentY < image.minY){
image.currentY=image.minY + 1 - (image.minY - image.currentY + 1) ** 0.8;
}
if(image.currentY > image.maxY){
image.currentY=image.maxY - 1 + (image.currentY - image.maxY + 1) ** 0.8;
}
if(!velocity.prevPositionX) velocity.prevPositionX=image.touchesCurrent.x;
if(!velocity.prevPositionY) velocity.prevPositionY=image.touchesCurrent.y;
if(!velocity.prevTime) velocity.prevTime=Date.now();
velocity.x=(image.touchesCurrent.x - velocity.prevPositionX) / (Date.now() - velocity.prevTime) / 2;
velocity.y=(image.touchesCurrent.y - velocity.prevPositionY) / (Date.now() - velocity.prevTime) / 2;
if(Math.abs(image.touchesCurrent.x - velocity.prevPositionX) < 2) velocity.x=0;
if(Math.abs(image.touchesCurrent.y - velocity.prevPositionY) < 2) velocity.y=0;
velocity.prevPositionX=image.touchesCurrent.x;
velocity.prevPositionY=image.touchesCurrent.y;
velocity.prevTime=Date.now();
gesture.imageWrapEl.style.transform=`translate3d(${image.currentX}px, ${image.currentY}px,0)`;
}
function onTouchEnd(){
const zoom=swiper.zoom;
if(!gesture.imageEl) return;
if(!image.isTouched||!image.isMoved){
image.isTouched=false;
image.isMoved=false;
return;
}
image.isTouched=false;
image.isMoved=false;
let momentumDurationX=300;
let momentumDurationY=300;
const momentumDistanceX=velocity.x * momentumDurationX;
const newPositionX=image.currentX + momentumDistanceX;
const momentumDistanceY=velocity.y * momentumDurationY;
const newPositionY=image.currentY + momentumDistanceY;
if(velocity.x!==0) momentumDurationX=Math.abs((newPositionX - image.currentX) / velocity.x);
if(velocity.y!==0) momentumDurationY=Math.abs((newPositionY - image.currentY) / velocity.y);
const momentumDuration=Math.max(momentumDurationX, momentumDurationY);
image.currentX=newPositionX;
image.currentY=newPositionY;
const scaledWidth=image.width * zoom.scale;
const scaledHeight=image.height * zoom.scale;
image.minX=Math.min(gesture.slideWidth / 2 - scaledWidth / 2, 0);
image.maxX=-image.minX;
image.minY=Math.min(gesture.slideHeight / 2 - scaledHeight / 2, 0);
image.maxY=-image.minY;
image.currentX=Math.max(Math.min(image.currentX, image.maxX), image.minX);
image.currentY=Math.max(Math.min(image.currentY, image.maxY), image.minY);
gesture.imageWrapEl.style.transitionDuration=`${momentumDuration}ms`;
gesture.imageWrapEl.style.transform=`translate3d(${image.currentX}px, ${image.currentY}px,0)`;
}
function onTransitionEnd(){
const zoom=swiper.zoom;
if(gesture.slideEl&&swiper.activeIndex!==swiper.slides.indexOf(gesture.slideEl)){
if(gesture.imageEl){
gesture.imageEl.style.transform='translate3d(0,0,0) scale(1)';
}
if(gesture.imageWrapEl){
gesture.imageWrapEl.style.transform='translate3d(0,0,0)';
}
gesture.slideEl.classList.remove(`${swiper.params.zoom.zoomedSlideClass}`);
zoom.scale=1;
currentScale=1;
gesture.slideEl=undefined;
gesture.imageEl=undefined;
gesture.imageWrapEl=undefined;
gesture.originX=0;
gesture.originY=0;
}}
function zoomIn(e){
const zoom=swiper.zoom;
const params=swiper.params.zoom;
if(!gesture.slideEl){
if(e&&e.target){
gesture.slideEl=e.target.closest(`.${swiper.params.slideClass}, swiper-slide`);
}
if(!gesture.slideEl){
if(swiper.params.virtual&&swiper.params.virtual.enabled&&swiper.virtual){
gesture.slideEl=elementChildren(swiper.slidesEl, `.${swiper.params.slideActiveClass}`)[0];
}else{
gesture.slideEl=swiper.slides[swiper.activeIndex];
}}
let imageEl=gesture.slideEl.querySelector(`.${params.containerClass}`);
if(imageEl){
imageEl=imageEl.querySelectorAll('picture, img, svg, canvas, .swiper-zoom-target')[0];
}
gesture.imageEl=imageEl;
if(imageEl){
gesture.imageWrapEl=elementParents(gesture.imageEl, `.${params.containerClass}`)[0];
}else{
gesture.imageWrapEl=undefined;
}}
if(!gesture.imageEl||!gesture.imageWrapEl) return;
if(swiper.params.cssMode){
swiper.wrapperEl.style.overflow='hidden';
swiper.wrapperEl.style.touchAction='none';
}
gesture.slideEl.classList.add(`${params.zoomedSlideClass}`);
let touchX;
let touchY;
let offsetX;
let offsetY;
let diffX;
let diffY;
let translateX;
let translateY;
let imageWidth;
let imageHeight;
let scaledWidth;
let scaledHeight;
let translateMinX;
let translateMinY;
let translateMaxX;
let translateMaxY;
let slideWidth;
let slideHeight;
if(typeof image.touchesStart.x==='undefined'&&e){
touchX=e.pageX;
touchY=e.pageY;
}else{
touchX=image.touchesStart.x;
touchY=image.touchesStart.y;
}
const forceZoomRatio=typeof e==='number' ? e:null;
if(currentScale===1&&forceZoomRatio){
touchX=undefined;
touchY=undefined;
}
zoom.scale=forceZoomRatio||gesture.imageWrapEl.getAttribute('data-swiper-zoom')||params.maxRatio;
currentScale=forceZoomRatio||gesture.imageWrapEl.getAttribute('data-swiper-zoom')||params.maxRatio;
if(e&&!(currentScale===1&&forceZoomRatio)){
slideWidth=gesture.slideEl.offsetWidth;
slideHeight=gesture.slideEl.offsetHeight;
offsetX=elementOffset(gesture.slideEl).left + window.scrollX;
offsetY=elementOffset(gesture.slideEl).top + window.scrollY;
diffX=offsetX + slideWidth / 2 - touchX;
diffY=offsetY + slideHeight / 2 - touchY;
imageWidth=gesture.imageEl.offsetWidth;
imageHeight=gesture.imageEl.offsetHeight;
scaledWidth=imageWidth * zoom.scale;
scaledHeight=imageHeight * zoom.scale;
translateMinX=Math.min(slideWidth / 2 - scaledWidth / 2, 0);
translateMinY=Math.min(slideHeight / 2 - scaledHeight / 2, 0);
translateMaxX=-translateMinX;
translateMaxY=-translateMinY;
translateX=diffX * zoom.scale;
translateY=diffY * zoom.scale;
if(translateX < translateMinX){
translateX=translateMinX;
}
if(translateX > translateMaxX){
translateX=translateMaxX;
}
if(translateY < translateMinY){
translateY=translateMinY;
}
if(translateY > translateMaxY){
translateY=translateMaxY;
}}else{
translateX=0;
translateY=0;
}
if(forceZoomRatio&&zoom.scale===1){
gesture.originX=0;
gesture.originY=0;
}
gesture.imageWrapEl.style.transitionDuration='300ms';
gesture.imageWrapEl.style.transform=`translate3d(${translateX}px, ${translateY}px,0)`;
gesture.imageEl.style.transitionDuration='300ms';
gesture.imageEl.style.transform=`translate3d(0,0,0) scale(${zoom.scale})`;
}
function zoomOut(){
const zoom=swiper.zoom;
const params=swiper.params.zoom;
if(!gesture.slideEl){
if(swiper.params.virtual&&swiper.params.virtual.enabled&&swiper.virtual){
gesture.slideEl=elementChildren(swiper.slidesEl, `.${swiper.params.slideActiveClass}`)[0];
}else{
gesture.slideEl=swiper.slides[swiper.activeIndex];
}
let imageEl=gesture.slideEl.querySelector(`.${params.containerClass}`);
if(imageEl){
imageEl=imageEl.querySelectorAll('picture, img, svg, canvas, .swiper-zoom-target')[0];
}
gesture.imageEl=imageEl;
if(imageEl){
gesture.imageWrapEl=elementParents(gesture.imageEl, `.${params.containerClass}`)[0];
}else{
gesture.imageWrapEl=undefined;
}}
if(!gesture.imageEl||!gesture.imageWrapEl) return;
if(swiper.params.cssMode){
swiper.wrapperEl.style.overflow='';
swiper.wrapperEl.style.touchAction='';
}
zoom.scale=1;
currentScale=1;
gesture.imageWrapEl.style.transitionDuration='300ms';
gesture.imageWrapEl.style.transform='translate3d(0,0,0)';
gesture.imageEl.style.transitionDuration='300ms';
gesture.imageEl.style.transform='translate3d(0,0,0) scale(1)';
gesture.slideEl.classList.remove(`${params.zoomedSlideClass}`);
gesture.slideEl=undefined;
gesture.originX=0;
gesture.originY=0;
}
function zoomToggle(e){
const zoom=swiper.zoom;
if(zoom.scale&&zoom.scale!==1){
zoomOut();
}else{
zoomIn(e);
}}
function getListeners(){
const passiveListener=swiper.params.passiveListeners ? {
passive: true,
capture: false
}:false;
const activeListenerWithCapture=swiper.params.passiveListeners ? {
passive: false,
capture: true
}:true;
return {
passiveListener,
activeListenerWithCapture
};}
function enable(){
const zoom=swiper.zoom;
if(zoom.enabled) return;
zoom.enabled=true;
const {
passiveListener,
activeListenerWithCapture
}=getListeners();
swiper.wrapperEl.addEventListener('pointerdown', onGestureStart, passiveListener);
swiper.wrapperEl.addEventListener('pointermove', onGestureChange, activeListenerWithCapture);
['pointerup', 'pointercancel', 'pointerout'].forEach(eventName=> {
swiper.wrapperEl.addEventListener(eventName, onGestureEnd, passiveListener);
});
swiper.wrapperEl.addEventListener('pointermove', onTouchMove, activeListenerWithCapture);
}
function disable(){
const zoom=swiper.zoom;
if(!zoom.enabled) return;
zoom.enabled=false;
const {
passiveListener,
activeListenerWithCapture
}=getListeners();
swiper.wrapperEl.removeEventListener('pointerdown', onGestureStart, passiveListener);
swiper.wrapperEl.removeEventListener('pointermove', onGestureChange, activeListenerWithCapture);
['pointerup', 'pointercancel', 'pointerout'].forEach(eventName=> {
swiper.wrapperEl.removeEventListener(eventName, onGestureEnd, passiveListener);
});
swiper.wrapperEl.removeEventListener('pointermove', onTouchMove, activeListenerWithCapture);
}
on('init', ()=> {
if(swiper.params.zoom.enabled){
enable();
}});
on('destroy', ()=> {
disable();
});
on('touchStart', (_s, e)=> {
if(!swiper.zoom.enabled) return;
onTouchStart(e);
});
on('touchEnd', (_s, e)=> {
if(!swiper.zoom.enabled) return;
onTouchEnd();
});
on('doubleTap', (_s, e)=> {
if(!swiper.animating&&swiper.params.zoom.enabled&&swiper.zoom.enabled&&swiper.params.zoom.toggle){
zoomToggle(e);
}});
on('transitionEnd', ()=> {
if(swiper.zoom.enabled&&swiper.params.zoom.enabled){
onTransitionEnd();
}});
on('slideChange', ()=> {
if(swiper.zoom.enabled&&swiper.params.zoom.enabled&&swiper.params.cssMode){
onTransitionEnd();
}});
Object.assign(swiper.zoom, {
enable,
disable,
in: zoomIn,
out: zoomOut,
toggle: zoomToggle
});
}
function Controller(_ref){
let {
swiper,
extendParams,
on
}=_ref;
extendParams({
controller: {
control: undefined,
inverse: false,
by: 'slide'
}});
swiper.controller={
control: undefined
};
function LinearSpline(x, y){
const binarySearch=function search(){
let maxIndex;
let minIndex;
let guess;
return (array, val)=> {
minIndex=-1;
maxIndex=array.length;
while (maxIndex - minIndex > 1){
guess=maxIndex + minIndex >> 1;
if(array[guess] <=val){
minIndex=guess;
}else{
maxIndex=guess;
}}
return maxIndex;
};}();
this.x=x;
this.y=y;
this.lastIndex=x.length - 1;
let i1;
let i3;
this.interpolate=function interpolate(x2){
if(!x2) return 0;
i3=binarySearch(this.x, x2);
i1=i3 - 1;
return (x2 - this.x[i1]) * (this.y[i3] - this.y[i1]) / (this.x[i3] - this.x[i1]) + this.y[i1];
};
return this;
}
function getInterpolateFunction(c){
swiper.controller.spline=swiper.params.loop ? new LinearSpline(swiper.slidesGrid, c.slidesGrid):new LinearSpline(swiper.snapGrid, c.snapGrid);
}
function setTranslate(_t, byController){
const controlled=swiper.controller.control;
let multiplier;
let controlledTranslate;
const Swiper=swiper.constructor;
function setControlledTranslate(c){
if(c.destroyed) return;
const translate=swiper.rtlTranslate ? -swiper.translate:swiper.translate;
if(swiper.params.controller.by==='slide'){
getInterpolateFunction(c);
controlledTranslate=-swiper.controller.spline.interpolate(-translate);
}
if(!controlledTranslate||swiper.params.controller.by==='container'){
multiplier=(c.maxTranslate() - c.minTranslate()) / (swiper.maxTranslate() - swiper.minTranslate());
if(Number.isNaN(multiplier)||!Number.isFinite(multiplier)){
multiplier=1;
}
controlledTranslate=(translate - swiper.minTranslate()) * multiplier + c.minTranslate();
}
if(swiper.params.controller.inverse){
controlledTranslate=c.maxTranslate() - controlledTranslate;
}
c.updateProgress(controlledTranslate);
c.setTranslate(controlledTranslate, swiper);
c.updateActiveIndex();
c.updateSlidesClasses();
}
if(Array.isArray(controlled)){
for (let i=0; i < controlled.length; i +=1){
if(controlled[i]!==byController&&controlled[i] instanceof Swiper){
setControlledTranslate(controlled[i]);
}}
}else if(controlled instanceof Swiper&&byController!==controlled){
setControlledTranslate(controlled);
}}
function setTransition(duration, byController){
const Swiper=swiper.constructor;
const controlled=swiper.controller.control;
let i;
function setControlledTransition(c){
if(c.destroyed) return;
c.setTransition(duration, swiper);
if(duration!==0){
c.transitionStart();
if(c.params.autoHeight){
nextTick(()=> {
c.updateAutoHeight();
});
}
elementTransitionEnd(c.wrapperEl, ()=> {
if(!controlled) return;
c.transitionEnd();
});
}}
if(Array.isArray(controlled)){
for (i=0; i < controlled.length; i +=1){
if(controlled[i]!==byController&&controlled[i] instanceof Swiper){
setControlledTransition(controlled[i]);
}}
}else if(controlled instanceof Swiper&&byController!==controlled){
setControlledTransition(controlled);
}}
function removeSpline(){
if(!swiper.controller.control) return;
if(swiper.controller.spline){
swiper.controller.spline=undefined;
delete swiper.controller.spline;
}}
on('beforeInit', ()=> {
if(typeof window!=='undefined'&&(
typeof swiper.params.controller.control==='string'||swiper.params.controller.control instanceof HTMLElement)){
const controlElement=document.querySelector(swiper.params.controller.control);
if(controlElement&&controlElement.swiper){
swiper.controller.control=controlElement.swiper;
}else if(controlElement){
const onControllerSwiper=e => {
swiper.controller.control=e.detail[0];
swiper.update();
controlElement.removeEventListener('init', onControllerSwiper);
};
controlElement.addEventListener('init', onControllerSwiper);
}
return;
}
swiper.controller.control=swiper.params.controller.control;
});
on('update', ()=> {
removeSpline();
});
on('resize', ()=> {
removeSpline();
});
on('observerUpdate', ()=> {
removeSpline();
});
on('setTranslate', (_s, translate, byController)=> {
if(!swiper.controller.control||swiper.controller.control.destroyed) return;
swiper.controller.setTranslate(translate, byController);
});
on('setTransition', (_s, duration, byController)=> {
if(!swiper.controller.control||swiper.controller.control.destroyed) return;
swiper.controller.setTransition(duration, byController);
});
Object.assign(swiper.controller, {
setTranslate,
setTransition
});
}
function A11y(_ref){
let {
swiper,
extendParams,
on
}=_ref;
extendParams({
a11y: {
enabled: true,
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',
id: null
}});
swiper.a11y={
clicked: false
};
let liveRegion=null;
function notify(message){
const notification=liveRegion;
if(notification.length===0) return;
notification.innerHTML='';
notification.innerHTML=message;
}
const makeElementsArray=el=> (Array.isArray(el) ? el:[el]).filter(e=> !!e);
function getRandomNumber(size){
if(size===void 0){
size=16;
}
const randomChar=()=> Math.round(16 * Math.random()).toString(16);
return 'x'.repeat(size).replace(/x/g, randomChar);
}
function makeElFocusable(el){
el=makeElementsArray(el);
el.forEach(subEl=> {
subEl.setAttribute('tabIndex', '0');
});
}
function makeElNotFocusable(el){
el=makeElementsArray(el);
el.forEach(subEl=> {
subEl.setAttribute('tabIndex', '-1');
});
}
function addElRole(el, role){
el=makeElementsArray(el);
el.forEach(subEl=> {
subEl.setAttribute('role', role);
});
}
function addElRoleDescription(el, description){
el=makeElementsArray(el);
el.forEach(subEl=> {
subEl.setAttribute('aria-roledescription', description);
});
}
function addElControls(el, controls){
el=makeElementsArray(el);
el.forEach(subEl=> {
subEl.setAttribute('aria-controls', controls);
});
}
function addElLabel(el, label){
el=makeElementsArray(el);
el.forEach(subEl=> {
subEl.setAttribute('aria-label', label);
});
}
function addElId(el, id){
el=makeElementsArray(el);
el.forEach(subEl=> {
subEl.setAttribute('id', id);
});
}
function addElLive(el, live){
el=makeElementsArray(el);
el.forEach(subEl=> {
subEl.setAttribute('aria-live', live);
});
}
function disableEl(el){
el=makeElementsArray(el);
el.forEach(subEl=> {
subEl.setAttribute('aria-disabled', true);
});
}
function enableEl(el){
el=makeElementsArray(el);
el.forEach(subEl=> {
subEl.setAttribute('aria-disabled', false);
});
}
function onEnterOrSpaceKey(e){
if(e.keyCode!==13&&e.keyCode!==32) return;
const params=swiper.params.a11y;
const targetEl=e.target;
if(swiper.pagination&&swiper.pagination.el&&(targetEl===swiper.pagination.el||swiper.pagination.el.contains(e.target))){
if(!e.target.matches(classesToSelector(swiper.params.pagination.bulletClass))) return;
}
if(swiper.navigation&&swiper.navigation.nextEl&&targetEl===swiper.navigation.nextEl){
if(!(swiper.isEnd&&!swiper.params.loop)){
swiper.slideNext();
}
if(swiper.isEnd){
notify(params.lastSlideMessage);
}else{
notify(params.nextSlideMessage);
}}
if(swiper.navigation&&swiper.navigation.prevEl&&targetEl===swiper.navigation.prevEl){
if(!(swiper.isBeginning&&!swiper.params.loop)){
swiper.slidePrev();
}
if(swiper.isBeginning){
notify(params.firstSlideMessage);
}else{
notify(params.prevSlideMessage);
}}
if(swiper.pagination&&targetEl.matches(classesToSelector(swiper.params.pagination.bulletClass))){
targetEl.click();
}}
function updateNavigation(){
if(swiper.params.loop||swiper.params.rewind||!swiper.navigation) return;
const {
nextEl,
prevEl
}=swiper.navigation;
if(prevEl){
if(swiper.isBeginning){
disableEl(prevEl);
makeElNotFocusable(prevEl);
}else{
enableEl(prevEl);
makeElFocusable(prevEl);
}}
if(nextEl){
if(swiper.isEnd){
disableEl(nextEl);
makeElNotFocusable(nextEl);
}else{
enableEl(nextEl);
makeElFocusable(nextEl);
}}
}
function hasPagination(){
return swiper.pagination&&swiper.pagination.bullets&&swiper.pagination.bullets.length;
}
function hasClickablePagination(){
return hasPagination()&&swiper.params.pagination.clickable;
}
function updatePagination(){
const params=swiper.params.a11y;
if(!hasPagination()) return;
swiper.pagination.bullets.forEach(bulletEl=> {
if(swiper.params.pagination.clickable){
makeElFocusable(bulletEl);
if(!swiper.params.pagination.renderBullet){
addElRole(bulletEl, 'button');
addElLabel(bulletEl, params.paginationBulletMessage.replace(/\{\{index\}\}/, elementIndex(bulletEl) + 1));
}}
if(bulletEl.matches(classesToSelector(swiper.params.pagination.bulletActiveClass))){
bulletEl.setAttribute('aria-current', 'true');
}else{
bulletEl.removeAttribute('aria-current');
}});
}
const initNavEl=(el, wrapperId, message)=> {
makeElFocusable(el);
if(el.tagName!=='BUTTON'){
addElRole(el, 'button');
el.addEventListener('keydown', onEnterOrSpaceKey);
}
addElLabel(el, message);
addElControls(el, wrapperId);
};
const handlePointerDown=()=> {
swiper.a11y.clicked=true;
};
const handlePointerUp=()=> {
requestAnimationFrame(()=> {
requestAnimationFrame(()=> {
if(!swiper.destroyed){
swiper.a11y.clicked=false;
}});
});
};
const handleFocus=e => {
if(swiper.a11y.clicked) return;
const slideEl=e.target.closest(`.${swiper.params.slideClass}, swiper-slide`);
if(!slideEl||!swiper.slides.includes(slideEl)) return;
const isActive=swiper.slides.indexOf(slideEl)===swiper.activeIndex;
const isVisible=swiper.params.watchSlidesProgress&&swiper.visibleSlides&&swiper.visibleSlides.includes(slideEl);
if(isActive||isVisible) return;
if(e.sourceCapabilities&&e.sourceCapabilities.firesTouchEvents) return;
if(swiper.isHorizontal()){
swiper.el.scrollLeft=0;
}else{
swiper.el.scrollTop=0;
}
swiper.slideTo(swiper.slides.indexOf(slideEl), 0);
};
const initSlides=()=> {
const params=swiper.params.a11y;
if(params.itemRoleDescriptionMessage){
addElRoleDescription(swiper.slides, params.itemRoleDescriptionMessage);
}
if(params.slideRole){
addElRole(swiper.slides, params.slideRole);
}
const slidesLength=swiper.slides.length;
if(params.slideLabelMessage){
swiper.slides.forEach((slideEl, index)=> {
const slideIndex=swiper.params.loop ? parseInt(slideEl.getAttribute('data-swiper-slide-index'), 10):index;
const ariaLabelMessage=params.slideLabelMessage.replace(/\{\{index\}\}/, slideIndex + 1).replace(/\{\{slidesLength\}\}/, slidesLength);
addElLabel(slideEl, ariaLabelMessage);
});
}};
const init=()=> {
const params=swiper.params.a11y;
swiper.el.append(liveRegion);
const containerEl=swiper.el;
if(params.containerRoleDescriptionMessage){
addElRoleDescription(containerEl, params.containerRoleDescriptionMessage);
}
if(params.containerMessage){
addElLabel(containerEl, params.containerMessage);
}
const wrapperEl=swiper.wrapperEl;
const wrapperId=params.id||wrapperEl.getAttribute('id')||`swiper-wrapper-${getRandomNumber(16)}`;
const live=swiper.params.autoplay&&swiper.params.autoplay.enabled ? 'off':'polite';
addElId(wrapperEl, wrapperId);
addElLive(wrapperEl, live);
initSlides();
let {
nextEl,
prevEl
}=swiper.navigation ? swiper.navigation:{};
nextEl=makeElementsArray(nextEl);
prevEl=makeElementsArray(prevEl);
if(nextEl){
nextEl.forEach(el=> initNavEl(el, wrapperId, params.nextSlideMessage));
}
if(prevEl){
prevEl.forEach(el=> initNavEl(el, wrapperId, params.prevSlideMessage));
}
if(hasClickablePagination()){
const paginationEl=makeElementsArray(swiper.pagination.el);
paginationEl.forEach(el=> {
el.addEventListener('keydown', onEnterOrSpaceKey);
});
}
swiper.el.addEventListener('focus', handleFocus, true);
swiper.el.addEventListener('pointerdown', handlePointerDown, true);
swiper.el.addEventListener('pointerup', handlePointerUp, true);
};
function destroy(){
if(liveRegion) liveRegion.remove();
let {
nextEl,
prevEl
}=swiper.navigation ? swiper.navigation:{};
nextEl=makeElementsArray(nextEl);
prevEl=makeElementsArray(prevEl);
if(nextEl){
nextEl.forEach(el=> el.removeEventListener('keydown', onEnterOrSpaceKey));
}
if(prevEl){
prevEl.forEach(el=> el.removeEventListener('keydown', onEnterOrSpaceKey));
}
if(hasClickablePagination()){
const paginationEl=makeElementsArray(swiper.pagination.el);
paginationEl.forEach(el=> {
el.removeEventListener('keydown', onEnterOrSpaceKey);
});
}
swiper.el.removeEventListener('focus', handleFocus, true);
swiper.el.removeEventListener('pointerdown', handlePointerDown, true);
swiper.el.removeEventListener('pointerup', handlePointerUp, true);
}
on('beforeInit', ()=> {
liveRegion=createElement('span', swiper.params.a11y.notificationClass);
liveRegion.setAttribute('aria-live', 'assertive');
liveRegion.setAttribute('aria-atomic', 'true');
});
on('afterInit', ()=> {
if(!swiper.params.a11y.enabled) return;
init();
});
on('slidesLengthChange snapGridLengthChange slidesGridLengthChange', ()=> {
if(!swiper.params.a11y.enabled) return;
initSlides();
});
on('fromEdge toEdge afterInit lock unlock', ()=> {
if(!swiper.params.a11y.enabled) return;
updateNavigation();
});
on('paginationUpdate', ()=> {
if(!swiper.params.a11y.enabled) return;
updatePagination();
});
on('destroy', ()=> {
if(!swiper.params.a11y.enabled) return;
destroy();
});
}
function History(_ref){
let {
swiper,
extendParams,
on
}=_ref;
extendParams({
history: {
enabled: false,
root: '',
replaceState: false,
key: 'slides',
keepQuery: false
}});
let initialized=false;
let paths={};
const slugify=text=> {
return text.toString().replace(/\s+/g, '-').replace(/[^\w-]+/g, '').replace(/--+/g, '-').replace(/^-+/, '').replace(/-+$/, '');
};
const getPathValues=urlOverride=> {
const window=getWindow();
let location;
if(urlOverride){
location=new URL(urlOverride);
}else{
location=window.location;
}
const pathArray=location.pathname.slice(1).split('/').filter(part=> part!=='');
const total=pathArray.length;
const key=pathArray[total - 2];
const value=pathArray[total - 1];
return {
key,
value
};};
const setHistory=(key, index)=> {
const window=getWindow();
if(!initialized||!swiper.params.history.enabled) return;
let location;
if(swiper.params.url){
location=new URL(swiper.params.url);
}else{
location=window.location;
}
const slide=swiper.slides[index];
let value=slugify(slide.getAttribute('data-history'));
if(swiper.params.history.root.length > 0){
let root=swiper.params.history.root;
if(root[root.length - 1]==='/') root=root.slice(0, root.length - 1);
value=`${root}/${key ? `${key}/`:''}${value}`;
}else if(!location.pathname.includes(key)){
value=`${key ? `${key}/`:''}${value}`;
}
if(swiper.params.history.keepQuery){
value +=location.search;
}
const currentState=window.history.state;
if(currentState&&currentState.value===value){
return;
}
if(swiper.params.history.replaceState){
window.history.replaceState({
value
}, null, value);
}else{
window.history.pushState({
value
}, null, value);
}};
const scrollToSlide=(speed, value, runCallbacks)=> {
if(value){
for (let i=0, length=swiper.slides.length; i < length; i +=1){
const slide=swiper.slides[i];
const slideHistory=slugify(slide.getAttribute('data-history'));
if(slideHistory===value){
const index=swiper.getSlideIndex(slide);
swiper.slideTo(index, speed, runCallbacks);
}}
}else{
swiper.slideTo(0, speed, runCallbacks);
}};
const setHistoryPopState=()=> {
paths=getPathValues(swiper.params.url);
scrollToSlide(swiper.params.speed, paths.value, false);
};
const init=()=> {
const window=getWindow();
if(!swiper.params.history) return;
if(!window.history||!window.history.pushState){
swiper.params.history.enabled=false;
swiper.params.hashNavigation.enabled=true;
return;
}
initialized=true;
paths=getPathValues(swiper.params.url);
if(!paths.key&&!paths.value){
if(!swiper.params.history.replaceState){
window.addEventListener('popstate', setHistoryPopState);
}
return;
}
scrollToSlide(0, paths.value, swiper.params.runCallbacksOnInit);
if(!swiper.params.history.replaceState){
window.addEventListener('popstate', setHistoryPopState);
}};
const destroy=()=> {
const window=getWindow();
if(!swiper.params.history.replaceState){
window.removeEventListener('popstate', setHistoryPopState);
}};
on('init', ()=> {
if(swiper.params.history.enabled){
init();
}});
on('destroy', ()=> {
if(swiper.params.history.enabled){
destroy();
}});
on('transitionEnd _freeModeNoMomentumRelease', ()=> {
if(initialized){
setHistory(swiper.params.history.key, swiper.activeIndex);
}});
on('slideChange', ()=> {
if(initialized&&swiper.params.cssMode){
setHistory(swiper.params.history.key, swiper.activeIndex);
}});
}
function HashNavigation(_ref){
let {
swiper,
extendParams,
emit,
on
}=_ref;
let initialized=false;
const document=getDocument();
const window=getWindow();
extendParams({
hashNavigation: {
enabled: false,
replaceState: false,
watchState: false,
getSlideIndex(_s, hash){
if(swiper.virtual&&swiper.params.virtual.enabled){
const slideWithHash=swiper.slides.filter(slideEl=> slideEl.getAttribute('data-hash')===hash)[0];
if(!slideWithHash) return 0;
const index=parseInt(slideWithHash.getAttribute('data-swiper-slide-index'), 10);
return index;
}
return swiper.getSlideIndex(elementChildren(swiper.slidesEl, `.${swiper.params.slideClass}[data-hash="${hash}"], swiper-slide[data-hash="${hash}"]`)[0]);
}}
});
const onHashChange=()=> {
emit('hashChange');
const newHash=document.location.hash.replace('#', '');
const activeSlideEl=swiper.virtual&&swiper.params.virtual.enabled ? swiper.slidesEl.querySelector(`[data-swiper-slide-index="${swiper.activeIndex}"]`):swiper.slides[swiper.activeIndex];
const activeSlideHash=activeSlideEl ? activeSlideEl.getAttribute('data-hash'):'';
if(newHash!==activeSlideHash){
const newIndex=swiper.params.hashNavigation.getSlideIndex(swiper, newHash);
if(typeof newIndex==='undefined'||Number.isNaN(newIndex)) return;
swiper.slideTo(newIndex);
}};
const setHash=()=> {
if(!initialized||!swiper.params.hashNavigation.enabled) return;
const activeSlideEl=swiper.virtual&&swiper.params.virtual.enabled ? swiper.slidesEl.querySelector(`[data-swiper-slide-index="${swiper.activeIndex}"]`):swiper.slides[swiper.activeIndex];
const activeSlideHash=activeSlideEl ? activeSlideEl.getAttribute('data-hash')||activeSlideEl.getAttribute('data-history'):'';
if(swiper.params.hashNavigation.replaceState&&window.history&&window.history.replaceState){
window.history.replaceState(null, null, `#${activeSlideHash}`||'');
emit('hashSet');
}else{
document.location.hash=activeSlideHash||'';
emit('hashSet');
}};
const init=()=> {
if(!swiper.params.hashNavigation.enabled||swiper.params.history&&swiper.params.history.enabled) return;
initialized=true;
const hash=document.location.hash.replace('#', '');
if(hash){
const speed=0;
const index=swiper.params.hashNavigation.getSlideIndex(swiper, hash);
swiper.slideTo(index||0, speed, swiper.params.runCallbacksOnInit, true);
}
if(swiper.params.hashNavigation.watchState){
window.addEventListener('hashchange', onHashChange);
}};
const destroy=()=> {
if(swiper.params.hashNavigation.watchState){
window.removeEventListener('hashchange', onHashChange);
}};
on('init', ()=> {
if(swiper.params.hashNavigation.enabled){
init();
}});
on('destroy', ()=> {
if(swiper.params.hashNavigation.enabled){
destroy();
}});
on('transitionEnd _freeModeNoMomentumRelease', ()=> {
if(initialized){
setHash();
}});
on('slideChange', ()=> {
if(initialized&&swiper.params.cssMode){
setHash();
}});
}
function Autoplay(_ref){
let {
swiper,
extendParams,
on,
emit,
params
}=_ref;
swiper.autoplay={
running: false,
paused: false,
timeLeft: 0
};
extendParams({
autoplay: {
enabled: false,
delay: 3000,
waitForTransition: true,
disableOnInteraction: false,
stopOnLastSlide: false,
reverseDirection: false,
pauseOnMouseEnter: false
}});
let timeout;
let raf;
let autoplayDelayTotal=params&&params.autoplay ? params.autoplay.delay:3000;
let autoplayDelayCurrent=params&&params.autoplay ? params.autoplay.delay:3000;
let autoplayTimeLeft;
let autoplayStartTime=new Date().getTime();
let wasPaused;
let isTouched;
let pausedByTouch;
let touchStartTimeout;
let slideChanged;
let pausedByInteraction;
let pausedByPointerEnter;
function onTransitionEnd(e){
if(!swiper||swiper.destroyed||!swiper.wrapperEl) return;
if(e.target!==swiper.wrapperEl) return;
swiper.wrapperEl.removeEventListener('transitionend', onTransitionEnd);
if(pausedByPointerEnter){
return;
}
resume();
}
const calcTimeLeft=()=> {
if(swiper.destroyed||!swiper.autoplay.running) return;
if(swiper.autoplay.paused){
wasPaused=true;
}else if(wasPaused){
autoplayDelayCurrent=autoplayTimeLeft;
wasPaused=false;
}
const timeLeft=swiper.autoplay.paused ? autoplayTimeLeft:autoplayStartTime + autoplayDelayCurrent - new Date().getTime();
swiper.autoplay.timeLeft=timeLeft;
emit('autoplayTimeLeft', timeLeft, timeLeft / autoplayDelayTotal);
raf=requestAnimationFrame(()=> {
calcTimeLeft();
});
};
const getSlideDelay=()=> {
let activeSlideEl;
if(swiper.virtual&&swiper.params.virtual.enabled){
activeSlideEl=swiper.slides.filter(slideEl=> slideEl.classList.contains('swiper-slide-active'))[0];
}else{
activeSlideEl=swiper.slides[swiper.activeIndex];
}
if(!activeSlideEl) return undefined;
const currentSlideDelay=parseInt(activeSlideEl.getAttribute('data-swiper-autoplay'), 10);
return currentSlideDelay;
};
const run=delayForce=> {
if(swiper.destroyed||!swiper.autoplay.running) return;
cancelAnimationFrame(raf);
calcTimeLeft();
let delay=typeof delayForce==='undefined' ? swiper.params.autoplay.delay:delayForce;
autoplayDelayTotal=swiper.params.autoplay.delay;
autoplayDelayCurrent=swiper.params.autoplay.delay;
const currentSlideDelay=getSlideDelay();
if(!Number.isNaN(currentSlideDelay)&&currentSlideDelay > 0&&typeof delayForce==='undefined'){
delay=currentSlideDelay;
autoplayDelayTotal=currentSlideDelay;
autoplayDelayCurrent=currentSlideDelay;
}
autoplayTimeLeft=delay;
const speed=swiper.params.speed;
const proceed=()=> {
if(!swiper||swiper.destroyed) return;
if(swiper.params.autoplay.reverseDirection){
if(!swiper.isBeginning||swiper.params.loop||swiper.params.rewind){
swiper.slidePrev(speed, true, true);
emit('autoplay');
}else if(!swiper.params.autoplay.stopOnLastSlide){
swiper.slideTo(swiper.slides.length - 1, speed, true, true);
emit('autoplay');
}}else{
if(!swiper.isEnd||swiper.params.loop||swiper.params.rewind){
swiper.slideNext(speed, true, true);
emit('autoplay');
}else if(!swiper.params.autoplay.stopOnLastSlide){
swiper.slideTo(0, speed, true, true);
emit('autoplay');
}}
if(swiper.params.cssMode){
autoplayStartTime=new Date().getTime();
requestAnimationFrame(()=> {
run();
});
}};
if(delay > 0){
clearTimeout(timeout);
timeout=setTimeout(()=> {
proceed();
}, delay);
}else{
requestAnimationFrame(()=> {
proceed();
});
}
return delay;
};
const start=()=> {
autoplayStartTime=new Date().getTime();
swiper.autoplay.running=true;
run();
emit('autoplayStart');
};
const stop=()=> {
swiper.autoplay.running=false;
clearTimeout(timeout);
cancelAnimationFrame(raf);
emit('autoplayStop');
};
const pause=(internal, reset)=> {
if(swiper.destroyed||!swiper.autoplay.running) return;
clearTimeout(timeout);
if(!internal){
pausedByInteraction=true;
}
const proceed=()=> {
emit('autoplayPause');
if(swiper.params.autoplay.waitForTransition){
swiper.wrapperEl.addEventListener('transitionend', onTransitionEnd);
}else{
resume();
}};
swiper.autoplay.paused=true;
if(reset){
if(slideChanged){
autoplayTimeLeft=swiper.params.autoplay.delay;
}
slideChanged=false;
proceed();
return;
}
const delay=autoplayTimeLeft||swiper.params.autoplay.delay;
autoplayTimeLeft=delay - (new Date().getTime() - autoplayStartTime);
if(swiper.isEnd&&autoplayTimeLeft < 0&&!swiper.params.loop) return;
if(autoplayTimeLeft < 0) autoplayTimeLeft=0;
proceed();
};
const resume=()=> {
if(swiper.isEnd&&autoplayTimeLeft < 0&&!swiper.params.loop||swiper.destroyed||!swiper.autoplay.running) return;
autoplayStartTime=new Date().getTime();
if(pausedByInteraction){
pausedByInteraction=false;
run(autoplayTimeLeft);
}else{
run();
}
swiper.autoplay.paused=false;
emit('autoplayResume');
};
const onVisibilityChange=()=> {
if(swiper.destroyed||!swiper.autoplay.running) return;
const document=getDocument();
if(document.visibilityState==='hidden'){
pausedByInteraction=true;
pause(true);
}
if(document.visibilityState==='visible'){
resume();
}};
const onPointerEnter=e => {
if(e.pointerType!=='mouse') return;
pausedByInteraction=true;
pausedByPointerEnter=true;
if(swiper.animating||swiper.autoplay.paused) return;
pause(true);
};
const onPointerLeave=e => {
if(e.pointerType!=='mouse') return;
pausedByPointerEnter=false;
if(swiper.autoplay.paused){
resume();
}};
const attachMouseEvents=()=> {
if(swiper.params.autoplay.pauseOnMouseEnter){
swiper.el.addEventListener('pointerenter', onPointerEnter);
swiper.el.addEventListener('pointerleave', onPointerLeave);
}};
const detachMouseEvents=()=> {
swiper.el.removeEventListener('pointerenter', onPointerEnter);
swiper.el.removeEventListener('pointerleave', onPointerLeave);
};
const attachDocumentEvents=()=> {
const document=getDocument();
document.addEventListener('visibilitychange', onVisibilityChange);
};
const detachDocumentEvents=()=> {
const document=getDocument();
document.removeEventListener('visibilitychange', onVisibilityChange);
};
on('init', ()=> {
if(swiper.params.autoplay.enabled){
attachMouseEvents();
attachDocumentEvents();
start();
}});
on('destroy', ()=> {
detachMouseEvents();
detachDocumentEvents();
if(swiper.autoplay.running){
stop();
}});
on('_freeModeStaticRelease', ()=> {
if(pausedByTouch||pausedByInteraction){
resume();
}});
on('_freeModeNoMomentumRelease', ()=> {
if(!swiper.params.autoplay.disableOnInteraction){
pause(true, true);
}else{
stop();
}});
on('beforeTransitionStart', (_s, speed, internal)=> {
if(swiper.destroyed||!swiper.autoplay.running) return;
if(internal||!swiper.params.autoplay.disableOnInteraction){
pause(true, true);
}else{
stop();
}});
on('sliderFirstMove', ()=> {
if(swiper.destroyed||!swiper.autoplay.running) return;
if(swiper.params.autoplay.disableOnInteraction){
stop();
return;
}
isTouched=true;
pausedByTouch=false;
pausedByInteraction=false;
touchStartTimeout=setTimeout(()=> {
pausedByInteraction=true;
pausedByTouch=true;
pause(true);
}, 200);
});
on('touchEnd', ()=> {
if(swiper.destroyed||!swiper.autoplay.running||!isTouched) return;
clearTimeout(touchStartTimeout);
clearTimeout(timeout);
if(swiper.params.autoplay.disableOnInteraction){
pausedByTouch=false;
isTouched=false;
return;
}
if(pausedByTouch&&swiper.params.cssMode) resume();
pausedByTouch=false;
isTouched=false;
});
on('slideChange', ()=> {
if(swiper.destroyed||!swiper.autoplay.running) return;
slideChanged=true;
});
Object.assign(swiper.autoplay, {
start,
stop,
pause,
resume
});
}
function Thumb(_ref){
let {
swiper,
extendParams,
on
}=_ref;
extendParams({
thumbs: {
swiper: null,
multipleActiveThumbs: true,
autoScrollOffset: 0,
slideThumbActiveClass: 'swiper-slide-thumb-active',
thumbsContainerClass: 'swiper-thumbs'
}});
let initialized=false;
let swiperCreated=false;
swiper.thumbs={
swiper: null
};
function onThumbClick(){
const thumbsSwiper=swiper.thumbs.swiper;
if(!thumbsSwiper||thumbsSwiper.destroyed) return;
const clickedIndex=thumbsSwiper.clickedIndex;
const clickedSlide=thumbsSwiper.clickedSlide;
if(clickedSlide&&clickedSlide.classList.contains(swiper.params.thumbs.slideThumbActiveClass)) return;
if(typeof clickedIndex==='undefined'||clickedIndex===null) return;
let slideToIndex;
if(thumbsSwiper.params.loop){
slideToIndex=parseInt(thumbsSwiper.clickedSlide.getAttribute('data-swiper-slide-index'), 10);
}else{
slideToIndex=clickedIndex;
}
if(swiper.params.loop){
swiper.slideToLoop(slideToIndex);
}else{
swiper.slideTo(slideToIndex);
}}
function init(){
const {
thumbs: thumbsParams
}=swiper.params;
if(initialized) return false;
initialized=true;
const SwiperClass=swiper.constructor;
if(thumbsParams.swiper instanceof SwiperClass){
swiper.thumbs.swiper=thumbsParams.swiper;
Object.assign(swiper.thumbs.swiper.originalParams, {
watchSlidesProgress: true,
slideToClickedSlide: false
});
Object.assign(swiper.thumbs.swiper.params, {
watchSlidesProgress: true,
slideToClickedSlide: false
});
swiper.thumbs.swiper.update();
}else if(isObject(thumbsParams.swiper)){
const thumbsSwiperParams=Object.assign({}, thumbsParams.swiper);
Object.assign(thumbsSwiperParams, {
watchSlidesProgress: true,
slideToClickedSlide: false
});
swiper.thumbs.swiper=new SwiperClass(thumbsSwiperParams);
swiperCreated=true;
}
swiper.thumbs.swiper.el.classList.add(swiper.params.thumbs.thumbsContainerClass);
swiper.thumbs.swiper.on('tap', onThumbClick);
return true;
}
function update(initial){
const thumbsSwiper=swiper.thumbs.swiper;
if(!thumbsSwiper||thumbsSwiper.destroyed) return;
const slidesPerView=thumbsSwiper.params.slidesPerView==='auto' ? thumbsSwiper.slidesPerViewDynamic():thumbsSwiper.params.slidesPerView;
let thumbsToActivate=1;
const thumbActiveClass=swiper.params.thumbs.slideThumbActiveClass;
if(swiper.params.slidesPerView > 1&&!swiper.params.centeredSlides){
thumbsToActivate=swiper.params.slidesPerView;
}
if(!swiper.params.thumbs.multipleActiveThumbs){
thumbsToActivate=1;
}
thumbsToActivate=Math.floor(thumbsToActivate);
thumbsSwiper.slides.forEach(slideEl=> slideEl.classList.remove(thumbActiveClass));
if(thumbsSwiper.params.loop||thumbsSwiper.params.virtual&&thumbsSwiper.params.virtual.enabled){
for (let i=0; i < thumbsToActivate; i +=1){
elementChildren(thumbsSwiper.slidesEl, `[data-swiper-slide-index="${swiper.realIndex + i}"]`).forEach(slideEl=> {
slideEl.classList.add(thumbActiveClass);
});
}}else{
for (let i=0; i < thumbsToActivate; i +=1){
if(thumbsSwiper.slides[swiper.realIndex + i]){
thumbsSwiper.slides[swiper.realIndex + i].classList.add(thumbActiveClass);
}}
}
const autoScrollOffset=swiper.params.thumbs.autoScrollOffset;
const useOffset=autoScrollOffset&&!thumbsSwiper.params.loop;
if(swiper.realIndex!==thumbsSwiper.realIndex||useOffset){
const currentThumbsIndex=thumbsSwiper.activeIndex;
let newThumbsIndex;
let direction;
if(thumbsSwiper.params.loop){
const newThumbsSlide=thumbsSwiper.slides.filter(slideEl=> slideEl.getAttribute('data-swiper-slide-index')===`${swiper.realIndex}`)[0];
newThumbsIndex=thumbsSwiper.slides.indexOf(newThumbsSlide);
direction=swiper.activeIndex > swiper.previousIndex ? 'next':'prev';
}else{
newThumbsIndex=swiper.realIndex;
direction=newThumbsIndex > swiper.previousIndex ? 'next':'prev';
}
if(useOffset){
newThumbsIndex +=direction==='next' ? autoScrollOffset:-1 * autoScrollOffset;
}
if(thumbsSwiper.visibleSlidesIndexes&&thumbsSwiper.visibleSlidesIndexes.indexOf(newThumbsIndex) < 0){
if(thumbsSwiper.params.centeredSlides){
if(newThumbsIndex > currentThumbsIndex){
newThumbsIndex=newThumbsIndex - Math.floor(slidesPerView / 2) + 1;
}else{
newThumbsIndex=newThumbsIndex + Math.floor(slidesPerView / 2) - 1;
}}else if(newThumbsIndex > currentThumbsIndex&&thumbsSwiper.params.slidesPerGroup===1) ;
thumbsSwiper.slideTo(newThumbsIndex, initial ? 0:undefined);
}}
}
on('beforeInit', ()=> {
const {
thumbs
}=swiper.params;
if(!thumbs||!thumbs.swiper) return;
if(typeof thumbs.swiper==='string'||thumbs.swiper instanceof HTMLElement){
const document=getDocument();
const getThumbsElementAndInit=()=> {
const thumbsElement=typeof thumbs.swiper==='string' ? document.querySelector(thumbs.swiper):thumbs.swiper;
if(thumbsElement&&thumbsElement.swiper){
thumbs.swiper=thumbsElement.swiper;
init();
update(true);
}else if(thumbsElement){
const onThumbsSwiper=e => {
thumbs.swiper=e.detail[0];
thumbsElement.removeEventListener('init', onThumbsSwiper);
init();
update(true);
thumbs.swiper.update();
swiper.update();
};
thumbsElement.addEventListener('init', onThumbsSwiper);
}
return thumbsElement;
};
const watchForThumbsToAppear=()=> {
if(swiper.destroyed) return;
const thumbsElement=getThumbsElementAndInit();
if(!thumbsElement){
requestAnimationFrame(watchForThumbsToAppear);
}};
requestAnimationFrame(watchForThumbsToAppear);
}else{
init();
update(true);
}});
on('slideChange update resize observerUpdate', ()=> {
update();
});
on('setTransition', (_s, duration)=> {
const thumbsSwiper=swiper.thumbs.swiper;
if(!thumbsSwiper||thumbsSwiper.destroyed) return;
thumbsSwiper.setTransition(duration);
});
on('beforeDestroy', ()=> {
const thumbsSwiper=swiper.thumbs.swiper;
if(!thumbsSwiper||thumbsSwiper.destroyed) return;
if(swiperCreated){
thumbsSwiper.destroy();
}});
Object.assign(swiper.thumbs, {
init,
update
});
}
function freeMode(_ref){
let {
swiper,
extendParams,
emit,
once
}=_ref;
extendParams({
freeMode: {
enabled: false,
momentum: true,
momentumRatio: 1,
momentumBounce: true,
momentumBounceRatio: 1,
momentumVelocityRatio: 1,
sticky: false,
minimumVelocity: 0.02
}});
function onTouchStart(){
if(swiper.params.cssMode) return;
const translate=swiper.getTranslate();
swiper.setTranslate(translate);
swiper.setTransition(0);
swiper.touchEventsData.velocities.length=0;
swiper.freeMode.onTouchEnd({
currentPos: swiper.rtl ? swiper.translate:-swiper.translate
});
}
function onTouchMove(){
if(swiper.params.cssMode) return;
const {
touchEventsData: data,
touches
}=swiper;
if(data.velocities.length===0){
data.velocities.push({
position: touches[swiper.isHorizontal() ? 'startX':'startY'],
time: data.touchStartTime
});
}
data.velocities.push({
position: touches[swiper.isHorizontal() ? 'currentX':'currentY'],
time: now()
});
}
function onTouchEnd(_ref2){
let {
currentPos
}=_ref2;
if(swiper.params.cssMode) return;
const {
params,
wrapperEl,
rtlTranslate: rtl,
snapGrid,
touchEventsData: data
}=swiper;
const touchEndTime=now();
const timeDiff=touchEndTime - data.touchStartTime;
if(currentPos < -swiper.minTranslate()){
swiper.slideTo(swiper.activeIndex);
return;
}
if(currentPos > -swiper.maxTranslate()){
if(swiper.slides.length < snapGrid.length){
swiper.slideTo(snapGrid.length - 1);
}else{
swiper.slideTo(swiper.slides.length - 1);
}
return;
}
if(params.freeMode.momentum){
if(data.velocities.length > 1){
const lastMoveEvent=data.velocities.pop();
const velocityEvent=data.velocities.pop();
const distance=lastMoveEvent.position - velocityEvent.position;
const time=lastMoveEvent.time - velocityEvent.time;
swiper.velocity=distance / time;
swiper.velocity /=2;
if(Math.abs(swiper.velocity) < params.freeMode.minimumVelocity){
swiper.velocity=0;
}
if(time > 150||now() - lastMoveEvent.time > 300){
swiper.velocity=0;
}}else{
swiper.velocity=0;
}
swiper.velocity *=params.freeMode.momentumVelocityRatio;
data.velocities.length=0;
let momentumDuration=1000 * params.freeMode.momentumRatio;
const momentumDistance=swiper.velocity * momentumDuration;
let newPosition=swiper.translate + momentumDistance;
if(rtl) newPosition=-newPosition;
let doBounce=false;
let afterBouncePosition;
const bounceAmount=Math.abs(swiper.velocity) * 20 * params.freeMode.momentumBounceRatio;
let needsLoopFix;
if(newPosition < swiper.maxTranslate()){
if(params.freeMode.momentumBounce){
if(newPosition + swiper.maxTranslate() < -bounceAmount){
newPosition=swiper.maxTranslate() - bounceAmount;
}
afterBouncePosition=swiper.maxTranslate();
doBounce=true;
data.allowMomentumBounce=true;
}else{
newPosition=swiper.maxTranslate();
}
if(params.loop&&params.centeredSlides) needsLoopFix=true;
}else if(newPosition > swiper.minTranslate()){
if(params.freeMode.momentumBounce){
if(newPosition - swiper.minTranslate() > bounceAmount){
newPosition=swiper.minTranslate() + bounceAmount;
}
afterBouncePosition=swiper.minTranslate();
doBounce=true;
data.allowMomentumBounce=true;
}else{
newPosition=swiper.minTranslate();
}
if(params.loop&&params.centeredSlides) needsLoopFix=true;
}else if(params.freeMode.sticky){
let nextSlide;
for (let j=0; j < snapGrid.length; j +=1){
if(snapGrid[j] > -newPosition){
nextSlide=j;
break;
}}
if(Math.abs(snapGrid[nextSlide] - newPosition) < Math.abs(snapGrid[nextSlide - 1] - newPosition)||swiper.swipeDirection==='next'){
newPosition=snapGrid[nextSlide];
}else{
newPosition=snapGrid[nextSlide - 1];
}
newPosition=-newPosition;
}
if(needsLoopFix){
once('transitionEnd', ()=> {
swiper.loopFix();
});
}
if(swiper.velocity!==0){
if(rtl){
momentumDuration=Math.abs((-newPosition - swiper.translate) / swiper.velocity);
}else{
momentumDuration=Math.abs((newPosition - swiper.translate) / swiper.velocity);
}
if(params.freeMode.sticky){
const moveDistance=Math.abs((rtl ? -newPosition:newPosition) - swiper.translate);
const currentSlideSize=swiper.slidesSizesGrid[swiper.activeIndex];
if(moveDistance < currentSlideSize){
momentumDuration=params.speed;
}else if(moveDistance < 2 * currentSlideSize){
momentumDuration=params.speed * 1.5;
}else{
momentumDuration=params.speed * 2.5;
}}
}else if(params.freeMode.sticky){
swiper.slideToClosest();
return;
}
if(params.freeMode.momentumBounce&&doBounce){
swiper.updateProgress(afterBouncePosition);
swiper.setTransition(momentumDuration);
swiper.setTranslate(newPosition);
swiper.transitionStart(true, swiper.swipeDirection);
swiper.animating=true;
elementTransitionEnd(wrapperEl, ()=> {
if(!swiper||swiper.destroyed||!data.allowMomentumBounce) return;
emit('momentumBounce');
swiper.setTransition(params.speed);
setTimeout(()=> {
swiper.setTranslate(afterBouncePosition);
elementTransitionEnd(wrapperEl, ()=> {
if(!swiper||swiper.destroyed) return;
swiper.transitionEnd();
});
}, 0);
});
}else if(swiper.velocity){
emit('_freeModeNoMomentumRelease');
swiper.updateProgress(newPosition);
swiper.setTransition(momentumDuration);
swiper.setTranslate(newPosition);
swiper.transitionStart(true, swiper.swipeDirection);
if(!swiper.animating){
swiper.animating=true;
elementTransitionEnd(wrapperEl, ()=> {
if(!swiper||swiper.destroyed) return;
swiper.transitionEnd();
});
}}else{
swiper.updateProgress(newPosition);
}
swiper.updateActiveIndex();
swiper.updateSlidesClasses();
}else if(params.freeMode.sticky){
swiper.slideToClosest();
return;
}else if(params.freeMode){
emit('_freeModeNoMomentumRelease');
}
if(!params.freeMode.momentum||timeDiff >=params.longSwipesMs){
emit('_freeModeStaticRelease');
swiper.updateProgress();
swiper.updateActiveIndex();
swiper.updateSlidesClasses();
}}
Object.assign(swiper, {
freeMode: {
onTouchStart,
onTouchMove,
onTouchEnd
}});
}
function Grid(_ref){
let {
swiper,
extendParams,
on
}=_ref;
extendParams({
grid: {
rows: 1,
fill: 'column'
}});
let slidesNumberEvenToRows;
let slidesPerRow;
let numFullColumns;
let wasMultiRow;
const getSpaceBetween=()=> {
let spaceBetween=swiper.params.spaceBetween;
if(typeof spaceBetween==='string'&&spaceBetween.indexOf('%') >=0){
spaceBetween=parseFloat(spaceBetween.replace('%', '')) / 100 * swiper.size;
}else if(typeof spaceBetween==='string'){
spaceBetween=parseFloat(spaceBetween);
}
return spaceBetween;
};
const initSlides=slides=> {
const {
slidesPerView
}=swiper.params;
const {
rows,
fill
}=swiper.params.grid;
const slidesLength=swiper.virtual&&swiper.params.virtual.enabled ? swiper.virtual.slides.length:slides.length;
numFullColumns=Math.floor(slidesLength / rows);
if(Math.floor(slidesLength / rows)===slidesLength / rows){
slidesNumberEvenToRows=slidesLength;
}else{
slidesNumberEvenToRows=Math.ceil(slidesLength / rows) * rows;
}
if(slidesPerView!=='auto'&&fill==='row'){
slidesNumberEvenToRows=Math.max(slidesNumberEvenToRows, slidesPerView * rows);
}
slidesPerRow=slidesNumberEvenToRows / rows;
};
const unsetSlides=()=> {
if(swiper.slides){
swiper.slides.forEach(slide=> {
if(slide.swiperSlideGridSet){
slide.style.height='';
slide.style[swiper.getDirectionLabel('margin-top')]='';
}});
}};
const updateSlide=(i, slide, slides)=> {
const {
slidesPerGroup
}=swiper.params;
const spaceBetween=getSpaceBetween();
const {
rows,
fill
}=swiper.params.grid;
const slidesLength=swiper.virtual&&swiper.params.virtual.enabled ? swiper.virtual.slides.length:slides.length;
let newSlideOrderIndex;
let column;
let row;
if(fill==='row'&&slidesPerGroup > 1){
const groupIndex=Math.floor(i / (slidesPerGroup * rows));
const slideIndexInGroup=i - rows * slidesPerGroup * groupIndex;
const columnsInGroup=groupIndex===0 ? slidesPerGroup:Math.min(Math.ceil((slidesLength - groupIndex * rows * slidesPerGroup) / rows), slidesPerGroup);
row=Math.floor(slideIndexInGroup / columnsInGroup);
column=slideIndexInGroup - row * columnsInGroup + groupIndex * slidesPerGroup;
newSlideOrderIndex=column + row * slidesNumberEvenToRows / rows;
slide.style.order=newSlideOrderIndex;
}else if(fill==='column'){
column=Math.floor(i / rows);
row=i - column * rows;
if(column > numFullColumns||column===numFullColumns&&row===rows - 1){
row +=1;
if(row >=rows){
row=0;
column +=1;
}}
}else{
row=Math.floor(i / slidesPerRow);
column=i - row * slidesPerRow;
}
slide.row=row;
slide.column=column;
slide.style.height=`calc((100% - ${(rows - 1) * spaceBetween}px) / ${rows})`;
slide.style[swiper.getDirectionLabel('margin-top')]=row!==0 ? spaceBetween&&`${spaceBetween}px`:'';
slide.swiperSlideGridSet=true;
};
const updateWrapperSize=(slideSize, snapGrid)=> {
const {
centeredSlides,
roundLengths
}=swiper.params;
const spaceBetween=getSpaceBetween();
const {
rows
}=swiper.params.grid;
swiper.virtualSize=(slideSize + spaceBetween) * slidesNumberEvenToRows;
swiper.virtualSize=Math.ceil(swiper.virtualSize / rows) - spaceBetween;
if(!swiper.params.cssMode){
swiper.wrapperEl.style[swiper.getDirectionLabel('width')]=`${swiper.virtualSize + spaceBetween}px`;
}
if(centeredSlides){
const newSlidesGrid=[];
for (let i=0; i < snapGrid.length; i +=1){
let slidesGridItem=snapGrid[i];
if(roundLengths) slidesGridItem=Math.floor(slidesGridItem);
if(snapGrid[i] < swiper.virtualSize + snapGrid[0]) newSlidesGrid.push(slidesGridItem);
}
snapGrid.splice(0, snapGrid.length);
snapGrid.push(...newSlidesGrid);
}};
const onInit=()=> {
wasMultiRow=swiper.params.grid&&swiper.params.grid.rows > 1;
};
const onUpdate=()=> {
const {
params,
el
}=swiper;
const isMultiRow=params.grid&&params.grid.rows > 1;
if(wasMultiRow&&!isMultiRow){
el.classList.remove(`${params.containerModifierClass}grid`, `${params.containerModifierClass}grid-column`);
numFullColumns=1;
swiper.emitContainerClasses();
}else if(!wasMultiRow&&isMultiRow){
el.classList.add(`${params.containerModifierClass}grid`);
if(params.grid.fill==='column'){
el.classList.add(`${params.containerModifierClass}grid-column`);
}
swiper.emitContainerClasses();
}
wasMultiRow=isMultiRow;
};
on('init', onInit);
on('update', onUpdate);
swiper.grid={
initSlides,
unsetSlides,
updateSlide,
updateWrapperSize
};}
function appendSlide(slides){
const swiper=this;
const {
params,
slidesEl
}=swiper;
if(params.loop){
swiper.loopDestroy();
}
const appendElement=slideEl=> {
if(typeof slideEl==='string'){
const tempDOM=document.createElement('div');
tempDOM.innerHTML=slideEl;
slidesEl.append(tempDOM.children[0]);
tempDOM.innerHTML='';
}else{
slidesEl.append(slideEl);
}};
if(typeof slides==='object'&&'length' in slides){
for (let i=0; i < slides.length; i +=1){
if(slides[i]) appendElement(slides[i]);
}}else{
appendElement(slides);
}
swiper.recalcSlides();
if(params.loop){
swiper.loopCreate();
}
if(!params.observer||swiper.isElement){
swiper.update();
}}
function prependSlide(slides){
const swiper=this;
const {
params,
activeIndex,
slidesEl
}=swiper;
if(params.loop){
swiper.loopDestroy();
}
let newActiveIndex=activeIndex + 1;
const prependElement=slideEl=> {
if(typeof slideEl==='string'){
const tempDOM=document.createElement('div');
tempDOM.innerHTML=slideEl;
slidesEl.prepend(tempDOM.children[0]);
tempDOM.innerHTML='';
}else{
slidesEl.prepend(slideEl);
}};
if(typeof slides==='object'&&'length' in slides){
for (let i=0; i < slides.length; i +=1){
if(slides[i]) prependElement(slides[i]);
}
newActiveIndex=activeIndex + slides.length;
}else{
prependElement(slides);
}
swiper.recalcSlides();
if(params.loop){
swiper.loopCreate();
}
if(!params.observer||swiper.isElement){
swiper.update();
}
swiper.slideTo(newActiveIndex, 0, false);
}
function addSlide(index, slides){
const swiper=this;
const {
params,
activeIndex,
slidesEl
}=swiper;
let activeIndexBuffer=activeIndex;
if(params.loop){
activeIndexBuffer -=swiper.loopedSlides;
swiper.loopDestroy();
swiper.recalcSlides();
}
const baseLength=swiper.slides.length;
if(index <=0){
swiper.prependSlide(slides);
return;
}
if(index >=baseLength){
swiper.appendSlide(slides);
return;
}
let newActiveIndex=activeIndexBuffer > index ? activeIndexBuffer + 1:activeIndexBuffer;
const slidesBuffer=[];
for (let i=baseLength - 1; i >=index; i -=1){
const currentSlide=swiper.slides[i];
currentSlide.remove();
slidesBuffer.unshift(currentSlide);
}
if(typeof slides==='object'&&'length' in slides){
for (let i=0; i < slides.length; i +=1){
if(slides[i]) slidesEl.append(slides[i]);
}
newActiveIndex=activeIndexBuffer > index ? activeIndexBuffer + slides.length:activeIndexBuffer;
}else{
slidesEl.append(slides);
}
for (let i=0; i < slidesBuffer.length; i +=1){
slidesEl.append(slidesBuffer[i]);
}
swiper.recalcSlides();
if(params.loop){
swiper.loopCreate();
}
if(!params.observer||swiper.isElement){
swiper.update();
}
if(params.loop){
swiper.slideTo(newActiveIndex + swiper.loopedSlides, 0, false);
}else{
swiper.slideTo(newActiveIndex, 0, false);
}}
function removeSlide(slidesIndexes){
const swiper=this;
const {
params,
activeIndex
}=swiper;
let activeIndexBuffer=activeIndex;
if(params.loop){
activeIndexBuffer -=swiper.loopedSlides;
swiper.loopDestroy();
}
let newActiveIndex=activeIndexBuffer;
let indexToRemove;
if(typeof slidesIndexes==='object'&&'length' in slidesIndexes){
for (let i=0; i < slidesIndexes.length; i +=1){
indexToRemove=slidesIndexes[i];
if(swiper.slides[indexToRemove]) swiper.slides[indexToRemove].remove();
if(indexToRemove < newActiveIndex) newActiveIndex -=1;
}
newActiveIndex=Math.max(newActiveIndex, 0);
}else{
indexToRemove=slidesIndexes;
if(swiper.slides[indexToRemove]) swiper.slides[indexToRemove].remove();
if(indexToRemove < newActiveIndex) newActiveIndex -=1;
newActiveIndex=Math.max(newActiveIndex, 0);
}
swiper.recalcSlides();
if(params.loop){
swiper.loopCreate();
}
if(!params.observer||swiper.isElement){
swiper.update();
}
if(params.loop){
swiper.slideTo(newActiveIndex + swiper.loopedSlides, 0, false);
}else{
swiper.slideTo(newActiveIndex, 0, false);
}}
function removeAllSlides(){
const swiper=this;
const slidesIndexes=[];
for (let i=0; i < swiper.slides.length; i +=1){
slidesIndexes.push(i);
}
swiper.removeSlide(slidesIndexes);
}
function Manipulation(_ref){
let {
swiper
}=_ref;
Object.assign(swiper, {
appendSlide: appendSlide.bind(swiper),
prependSlide: prependSlide.bind(swiper),
addSlide: addSlide.bind(swiper),
removeSlide: removeSlide.bind(swiper),
removeAllSlides: removeAllSlides.bind(swiper)
});
}
function effectInit(params){
const {
effect,
swiper,
on,
setTranslate,
setTransition,
overwriteParams,
perspective,
recreateShadows,
getEffectParams
}=params;
on('beforeInit', ()=> {
if(swiper.params.effect!==effect) return;
swiper.classNames.push(`${swiper.params.containerModifierClass}${effect}`);
if(perspective&&perspective()){
swiper.classNames.push(`${swiper.params.containerModifierClass}3d`);
}
const overwriteParamsResult=overwriteParams ? overwriteParams():{};
Object.assign(swiper.params, overwriteParamsResult);
Object.assign(swiper.originalParams, overwriteParamsResult);
});
on('setTranslate', ()=> {
if(swiper.params.effect!==effect) return;
setTranslate();
});
on('setTransition', (_s, duration)=> {
if(swiper.params.effect!==effect) return;
setTransition(duration);
});
on('transitionEnd', ()=> {
if(swiper.params.effect!==effect) return;
if(recreateShadows){
if(!getEffectParams||!getEffectParams().slideShadows) return;
swiper.slides.forEach(slideEl=> {
slideEl.querySelectorAll('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left').forEach(shadowEl=> shadowEl.remove());
});
recreateShadows();
}});
let requireUpdateOnVirtual;
on('virtualUpdate', ()=> {
if(swiper.params.effect!==effect) return;
if(!swiper.slides.length){
requireUpdateOnVirtual=true;
}
requestAnimationFrame(()=> {
if(requireUpdateOnVirtual&&swiper.slides&&swiper.slides.length){
setTranslate();
requireUpdateOnVirtual=false;
}});
});
}
function effectTarget(effectParams, slideEl){
const transformEl=getSlideTransformEl(slideEl);
if(transformEl!==slideEl){
transformEl.style.backfaceVisibility='hidden';
transformEl.style['-webkit-backface-visibility']='hidden';
}
return transformEl;
}
function effectVirtualTransitionEnd(_ref){
let {
swiper,
duration,
transformElements,
allSlides
}=_ref;
const {
activeIndex
}=swiper;
const getSlide=el=> {
if(!el.parentElement){
const slide=swiper.slides.filter(slideEl=> slideEl.shadowRoot&&slideEl.shadowRoot===el.parentNode)[0];
return slide;
}
return el.parentElement;
};
if(swiper.params.virtualTranslate&&duration!==0){
let eventTriggered=false;
let transitionEndTarget;
if(allSlides){
transitionEndTarget=transformElements;
}else{
transitionEndTarget=transformElements.filter(transformEl=> {
const el=transformEl.classList.contains('swiper-slide-transform') ? getSlide(transformEl):transformEl;
return swiper.getSlideIndex(el)===activeIndex;
});
}
transitionEndTarget.forEach(el=> {
elementTransitionEnd(el, ()=> {
if(eventTriggered) return;
if(!swiper||swiper.destroyed) return;
eventTriggered=true;
swiper.animating=false;
const evt=new window.CustomEvent('transitionend', {
bubbles: true,
cancelable: true
});
swiper.wrapperEl.dispatchEvent(evt);
});
});
}}
function EffectFade(_ref){
let {
swiper,
extendParams,
on
}=_ref;
extendParams({
fadeEffect: {
crossFade: false
}});
const setTranslate=()=> {
const {
slides
}=swiper;
const params=swiper.params.fadeEffect;
for (let i=0; i < slides.length; i +=1){
const slideEl=swiper.slides[i];
const offset=slideEl.swiperSlideOffset;
let tx=-offset;
if(!swiper.params.virtualTranslate) tx -=swiper.translate;
let ty=0;
if(!swiper.isHorizontal()){
ty=tx;
tx=0;
}
const slideOpacity=swiper.params.fadeEffect.crossFade ? Math.max(1 - Math.abs(slideEl.progress), 0):1 + Math.min(Math.max(slideEl.progress, -1), 0);
const targetEl=effectTarget(params, slideEl);
targetEl.style.opacity=slideOpacity;
targetEl.style.transform=`translate3d(${tx}px, ${ty}px, 0px)`;
}};
const setTransition=duration=> {
const transformElements=swiper.slides.map(slideEl=> getSlideTransformEl(slideEl));
transformElements.forEach(el=> {
el.style.transitionDuration=`${duration}ms`;
});
effectVirtualTransitionEnd({
swiper,
duration,
transformElements,
allSlides: true
});
};
effectInit({
effect: 'fade',
swiper,
on,
setTranslate,
setTransition,
overwriteParams: ()=> ({
slidesPerView: 1,
slidesPerGroup: 1,
watchSlidesProgress: true,
spaceBetween: 0,
virtualTranslate: !swiper.params.cssMode
})
});
}
function EffectCube(_ref){
let {
swiper,
extendParams,
on
}=_ref;
extendParams({
cubeEffect: {
slideShadows: true,
shadow: true,
shadowOffset: 20,
shadowScale: 0.94
}});
const createSlideShadows=(slideEl, progress, isHorizontal)=> {
let shadowBefore=isHorizontal ? slideEl.querySelector('.swiper-slide-shadow-left'):slideEl.querySelector('.swiper-slide-shadow-top');
let shadowAfter=isHorizontal ? slideEl.querySelector('.swiper-slide-shadow-right'):slideEl.querySelector('.swiper-slide-shadow-bottom');
if(!shadowBefore){
shadowBefore=createElement('div', `swiper-slide-shadow-cube swiper-slide-shadow-${isHorizontal ? 'left':'top'}`.split(' '));
slideEl.append(shadowBefore);
}
if(!shadowAfter){
shadowAfter=createElement('div', `swiper-slide-shadow-cube swiper-slide-shadow-${isHorizontal ? 'right':'bottom'}`.split(' '));
slideEl.append(shadowAfter);
}
if(shadowBefore) shadowBefore.style.opacity=Math.max(-progress, 0);
if(shadowAfter) shadowAfter.style.opacity=Math.max(progress, 0);
};
const recreateShadows=()=> {
const isHorizontal=swiper.isHorizontal();
swiper.slides.forEach(slideEl=> {
const progress=Math.max(Math.min(slideEl.progress, 1), -1);
createSlideShadows(slideEl, progress, isHorizontal);
});
};
const setTranslate=()=> {
const {
el,
wrapperEl,
slides,
width: swiperWidth,
height: swiperHeight,
rtlTranslate: rtl,
size: swiperSize,
browser
}=swiper;
const params=swiper.params.cubeEffect;
const isHorizontal=swiper.isHorizontal();
const isVirtual=swiper.virtual&&swiper.params.virtual.enabled;
let wrapperRotate=0;
let cubeShadowEl;
if(params.shadow){
if(isHorizontal){
cubeShadowEl=swiper.wrapperEl.querySelector('.swiper-cube-shadow');
if(!cubeShadowEl){
cubeShadowEl=createElement('div', 'swiper-cube-shadow');
swiper.wrapperEl.append(cubeShadowEl);
}
cubeShadowEl.style.height=`${swiperWidth}px`;
}else{
cubeShadowEl=el.querySelector('.swiper-cube-shadow');
if(!cubeShadowEl){
cubeShadowEl=createElement('div', 'swiper-cube-shadow');
el.append(cubeShadowEl);
}}
}
for (let i=0; i < slides.length; i +=1){
const slideEl=slides[i];
let slideIndex=i;
if(isVirtual){
slideIndex=parseInt(slideEl.getAttribute('data-swiper-slide-index'), 10);
}
let slideAngle=slideIndex * 90;
let round=Math.floor(slideAngle / 360);
if(rtl){
slideAngle=-slideAngle;
round=Math.floor(-slideAngle / 360);
}
const progress=Math.max(Math.min(slideEl.progress, 1), -1);
let tx=0;
let ty=0;
let tz=0;
if(slideIndex % 4===0){
tx=-round * 4 * swiperSize;
tz=0;
}else if((slideIndex - 1) % 4===0){
tx=0;
tz=-round * 4 * swiperSize;
}else if((slideIndex - 2) % 4===0){
tx=swiperSize + round * 4 * swiperSize;
tz=swiperSize;
}else if((slideIndex - 3) % 4===0){
tx=-swiperSize;
tz=3 * swiperSize + swiperSize * 4 * round;
}
if(rtl){
tx=-tx;
}
if(!isHorizontal){
ty=tx;
tx=0;
}
const transform=`rotateX(${isHorizontal ? 0:-slideAngle}deg) rotateY(${isHorizontal ? slideAngle:0}deg) translate3d(${tx}px, ${ty}px, ${tz}px)`;
if(progress <=1&&progress > -1){
wrapperRotate=slideIndex * 90 + progress * 90;
if(rtl) wrapperRotate=-slideIndex * 90 - progress * 90;
if(swiper.browser&&swiper.browser.isSafari&&Math.abs(wrapperRotate) / 90 % 2===1){
wrapperRotate +=0.001;
}}
slideEl.style.transform=transform;
if(params.slideShadows){
createSlideShadows(slideEl, progress, isHorizontal);
}}
wrapperEl.style.transformOrigin=`50% 50% -${swiperSize / 2}px`;
wrapperEl.style['-webkit-transform-origin']=`50% 50% -${swiperSize / 2}px`;
if(params.shadow){
if(isHorizontal){
cubeShadowEl.style.transform=`translate3d(0px, ${swiperWidth / 2 + params.shadowOffset}px, ${-swiperWidth / 2}px) rotateX(89.99deg) rotateZ(0deg) scale(${params.shadowScale})`;
}else{
const shadowAngle=Math.abs(wrapperRotate) - Math.floor(Math.abs(wrapperRotate) / 90) * 90;
const multiplier=1.5 - (Math.sin(shadowAngle * 2 * Math.PI / 360) / 2 + Math.cos(shadowAngle * 2 * Math.PI / 360) / 2);
const scale1=params.shadowScale;
const scale2=params.shadowScale / multiplier;
const offset=params.shadowOffset;
cubeShadowEl.style.transform=`scale3d(${scale1}, 1, ${scale2}) translate3d(0px, ${swiperHeight / 2 + offset}px, ${-swiperHeight / 2 / scale2}px) rotateX(-89.99deg)`;
}}
const zFactor=(browser.isSafari||browser.isWebView)&&browser.needPerspectiveFix ? -swiperSize / 2:0;
wrapperEl.style.transform=`translate3d(0px,0,${zFactor}px) rotateX(${swiper.isHorizontal() ? 0:wrapperRotate}deg) rotateY(${swiper.isHorizontal() ? -wrapperRotate:0}deg)`;
wrapperEl.style.setProperty('--swiper-cube-translate-z', `${zFactor}px`);
};
const setTransition=duration=> {
const {
el,
slides
}=swiper;
slides.forEach(slideEl=> {
slideEl.style.transitionDuration=`${duration}ms`;
slideEl.querySelectorAll('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left').forEach(subEl=> {
subEl.style.transitionDuration=`${duration}ms`;
});
});
if(swiper.params.cubeEffect.shadow&&!swiper.isHorizontal()){
const shadowEl=el.querySelector('.swiper-cube-shadow');
if(shadowEl) shadowEl.style.transitionDuration=`${duration}ms`;
}};
effectInit({
effect: 'cube',
swiper,
on,
setTranslate,
setTransition,
recreateShadows,
getEffectParams: ()=> swiper.params.cubeEffect,
perspective: ()=> true,
overwriteParams: ()=> ({
slidesPerView: 1,
slidesPerGroup: 1,
watchSlidesProgress: true,
resistanceRatio: 0,
spaceBetween: 0,
centeredSlides: false,
virtualTranslate: true
})
});
}
function createShadow(suffix, slideEl, side){
const shadowClass=`swiper-slide-shadow${side ? `-${side}`:''}${suffix ? ` swiper-slide-shadow-${suffix}`:''}`;
const shadowContainer=getSlideTransformEl(slideEl);
let shadowEl=shadowContainer.querySelector(`.${shadowClass.split(' ').join('.')}`);
if(!shadowEl){
shadowEl=createElement('div', shadowClass.split(' '));
shadowContainer.append(shadowEl);
}
return shadowEl;
}
function EffectFlip(_ref){
let {
swiper,
extendParams,
on
}=_ref;
extendParams({
flipEffect: {
slideShadows: true,
limitRotation: true
}});
const createSlideShadows=(slideEl, progress)=> {
let shadowBefore=swiper.isHorizontal() ? slideEl.querySelector('.swiper-slide-shadow-left'):slideEl.querySelector('.swiper-slide-shadow-top');
let shadowAfter=swiper.isHorizontal() ? slideEl.querySelector('.swiper-slide-shadow-right'):slideEl.querySelector('.swiper-slide-shadow-bottom');
if(!shadowBefore){
shadowBefore=createShadow('flip', slideEl, swiper.isHorizontal() ? 'left':'top');
}
if(!shadowAfter){
shadowAfter=createShadow('flip', slideEl, swiper.isHorizontal() ? 'right':'bottom');
}
if(shadowBefore) shadowBefore.style.opacity=Math.max(-progress, 0);
if(shadowAfter) shadowAfter.style.opacity=Math.max(progress, 0);
};
const recreateShadows=()=> {
swiper.params.flipEffect;
swiper.slides.forEach(slideEl=> {
let progress=slideEl.progress;
if(swiper.params.flipEffect.limitRotation){
progress=Math.max(Math.min(slideEl.progress, 1), -1);
}
createSlideShadows(slideEl, progress);
});
};
const setTranslate=()=> {
const {
slides,
rtlTranslate: rtl
}=swiper;
const params=swiper.params.flipEffect;
for (let i=0; i < slides.length; i +=1){
const slideEl=slides[i];
let progress=slideEl.progress;
if(swiper.params.flipEffect.limitRotation){
progress=Math.max(Math.min(slideEl.progress, 1), -1);
}
const offset=slideEl.swiperSlideOffset;
const rotate=-180 * progress;
let rotateY=rotate;
let rotateX=0;
let tx=swiper.params.cssMode ? -offset - swiper.translate:-offset;
let ty=0;
if(!swiper.isHorizontal()){
ty=tx;
tx=0;
rotateX=-rotateY;
rotateY=0;
}else if(rtl){
rotateY=-rotateY;
}
if(swiper.browser&&swiper.browser.isSafari){
if(Math.abs(rotateY) / 90 % 2===1){
rotateY +=0.001;
}
if(Math.abs(rotateX) / 90 % 2===1){
rotateX +=0.001;
}}
slideEl.style.zIndex=-Math.abs(Math.round(progress)) + slides.length;
if(params.slideShadows){
createSlideShadows(slideEl, progress);
}
const transform=`translate3d(${tx}px, ${ty}px, 0px) rotateX(${rotateX}deg) rotateY(${rotateY}deg)`;
const targetEl=effectTarget(params, slideEl);
targetEl.style.transform=transform;
}};
const setTransition=duration=> {
const transformElements=swiper.slides.map(slideEl=> getSlideTransformEl(slideEl));
transformElements.forEach(el=> {
el.style.transitionDuration=`${duration}ms`;
el.querySelectorAll('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left').forEach(shadowEl=> {
shadowEl.style.transitionDuration=`${duration}ms`;
});
});
effectVirtualTransitionEnd({
swiper,
duration,
transformElements
});
};
effectInit({
effect: 'flip',
swiper,
on,
setTranslate,
setTransition,
recreateShadows,
getEffectParams: ()=> swiper.params.flipEffect,
perspective: ()=> true,
overwriteParams: ()=> ({
slidesPerView: 1,
slidesPerGroup: 1,
watchSlidesProgress: true,
spaceBetween: 0,
virtualTranslate: !swiper.params.cssMode
})
});
}
function EffectCoverflow(_ref){
let {
swiper,
extendParams,
on
}=_ref;
extendParams({
coverflowEffect: {
rotate: 50,
stretch: 0,
depth: 100,
scale: 1,
modifier: 1,
slideShadows: true
}});
const setTranslate=()=> {
const {
width: swiperWidth,
height: swiperHeight,
slides,
slidesSizesGrid
}=swiper;
const params=swiper.params.coverflowEffect;
const isHorizontal=swiper.isHorizontal();
const transform=swiper.translate;
const center=isHorizontal ? -transform + swiperWidth / 2:-transform + swiperHeight / 2;
const rotate=isHorizontal ? params.rotate:-params.rotate;
const translate=params.depth;
for (let i=0, length=slides.length; i < length; i +=1){
const slideEl=slides[i];
const slideSize=slidesSizesGrid[i];
const slideOffset=slideEl.swiperSlideOffset;
const centerOffset=(center - slideOffset - slideSize / 2) / slideSize;
const offsetMultiplier=typeof params.modifier==='function' ? params.modifier(centerOffset):centerOffset * params.modifier;
let rotateY=isHorizontal ? rotate * offsetMultiplier:0;
let rotateX=isHorizontal ? 0:rotate * offsetMultiplier;
let translateZ=-translate * Math.abs(offsetMultiplier);
let stretch=params.stretch;
if(typeof stretch==='string'&&stretch.indexOf('%')!==-1){
stretch=parseFloat(params.stretch) / 100 * slideSize;
}
let translateY=isHorizontal ? 0:stretch * offsetMultiplier;
let translateX=isHorizontal ? stretch * offsetMultiplier:0;
let scale=1 - (1 - params.scale) * Math.abs(offsetMultiplier);
if(Math.abs(translateX) < 0.001) translateX=0;
if(Math.abs(translateY) < 0.001) translateY=0;
if(Math.abs(translateZ) < 0.001) translateZ=0;
if(Math.abs(rotateY) < 0.001) rotateY=0;
if(Math.abs(rotateX) < 0.001) rotateX=0;
if(Math.abs(scale) < 0.001) scale=0;
if(swiper.browser&&swiper.browser.isSafari){
if(Math.abs(rotateY) / 90 % 2===1){
rotateY +=0.001;
}
if(Math.abs(rotateX) / 90 % 2===1){
rotateX +=0.001;
}}
const slideTransform=`translate3d(${translateX}px,${translateY}px,${translateZ}px)  rotateX(${rotateX}deg) rotateY(${rotateY}deg) scale(${scale})`;
const targetEl=effectTarget(params, slideEl);
targetEl.style.transform=slideTransform;
slideEl.style.zIndex=-Math.abs(Math.round(offsetMultiplier)) + 1;
if(params.slideShadows){
let shadowBeforeEl=isHorizontal ? slideEl.querySelector('.swiper-slide-shadow-left'):slideEl.querySelector('.swiper-slide-shadow-top');
let shadowAfterEl=isHorizontal ? slideEl.querySelector('.swiper-slide-shadow-right'):slideEl.querySelector('.swiper-slide-shadow-bottom');
if(!shadowBeforeEl){
shadowBeforeEl=createShadow('coverflow', slideEl, isHorizontal ? 'left':'top');
}
if(!shadowAfterEl){
shadowAfterEl=createShadow('coverflow', slideEl, isHorizontal ? 'right':'bottom');
}
if(shadowBeforeEl) shadowBeforeEl.style.opacity=offsetMultiplier > 0 ? offsetMultiplier:0;
if(shadowAfterEl) shadowAfterEl.style.opacity=-offsetMultiplier > 0 ? -offsetMultiplier:0;
}}
};
const setTransition=duration=> {
const transformElements=swiper.slides.map(slideEl=> getSlideTransformEl(slideEl));
transformElements.forEach(el=> {
el.style.transitionDuration=`${duration}ms`;
el.querySelectorAll('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left').forEach(shadowEl=> {
shadowEl.style.transitionDuration=`${duration}ms`;
});
});
};
effectInit({
effect: 'coverflow',
swiper,
on,
setTranslate,
setTransition,
perspective: ()=> true,
overwriteParams: ()=> ({
watchSlidesProgress: true
})
});
}
function EffectCreative(_ref){
let {
swiper,
extendParams,
on
}=_ref;
extendParams({
creativeEffect: {
limitProgress: 1,
shadowPerProgress: false,
progressMultiplier: 1,
perspective: true,
prev: {
translate: [0, 0, 0],
rotate: [0, 0, 0],
opacity: 1,
scale: 1
},
next: {
translate: [0, 0, 0],
rotate: [0, 0, 0],
opacity: 1,
scale: 1
}}
});
const getTranslateValue=value=> {
if(typeof value==='string') return value;
return `${value}px`;
};
const setTranslate=()=> {
const {
slides,
wrapperEl,
slidesSizesGrid
}=swiper;
const params=swiper.params.creativeEffect;
const {
progressMultiplier: multiplier
}=params;
const isCenteredSlides=swiper.params.centeredSlides;
if(isCenteredSlides){
const margin=slidesSizesGrid[0] / 2 - swiper.params.slidesOffsetBefore||0;
wrapperEl.style.transform=`translateX(calc(50% - ${margin}px))`;
}
for (let i=0; i < slides.length; i +=1){
const slideEl=slides[i];
const slideProgress=slideEl.progress;
const progress=Math.min(Math.max(slideEl.progress, -params.limitProgress), params.limitProgress);
let originalProgress=progress;
if(!isCenteredSlides){
originalProgress=Math.min(Math.max(slideEl.originalProgress, -params.limitProgress), params.limitProgress);
}
const offset=slideEl.swiperSlideOffset;
const t=[swiper.params.cssMode ? -offset - swiper.translate:-offset, 0, 0];
const r=[0, 0, 0];
let custom=false;
if(!swiper.isHorizontal()){
t[1]=t[0];
t[0]=0;
}
let data={
translate: [0, 0, 0],
rotate: [0, 0, 0],
scale: 1,
opacity: 1
};
if(progress < 0){
data=params.next;
custom=true;
}else if(progress > 0){
data=params.prev;
custom=true;
}
t.forEach((value, index)=> {
t[index]=`calc(${value}px + (${getTranslateValue(data.translate[index])} * ${Math.abs(progress * multiplier)}))`;
});
r.forEach((value, index)=> {
let val=data.rotate[index] * Math.abs(progress * multiplier);
if(swiper.browser&&swiper.browser.isSafari&&Math.abs(val) / 90 % 2===1){
val +=0.001;
}
r[index]=val;
});
slideEl.style.zIndex=-Math.abs(Math.round(slideProgress)) + slides.length;
const translateString=t.join(', ');
const rotateString=`rotateX(${r[0]}deg) rotateY(${r[1]}deg) rotateZ(${r[2]}deg)`;
const scaleString=originalProgress < 0 ? `scale(${1 + (1 - data.scale) * originalProgress * multiplier})`:`scale(${1 - (1 - data.scale) * originalProgress * multiplier})`;
const opacityString=originalProgress < 0 ? 1 + (1 - data.opacity) * originalProgress * multiplier:1 - (1 - data.opacity) * originalProgress * multiplier;
const transform=`translate3d(${translateString}) ${rotateString} ${scaleString}`;
if(custom&&data.shadow||!custom){
let shadowEl=slideEl.querySelector('.swiper-slide-shadow');
if(!shadowEl&&data.shadow){
shadowEl=createShadow('creative', slideEl);
}
if(shadowEl){
const shadowOpacity=params.shadowPerProgress ? progress * (1 / params.limitProgress):progress;
shadowEl.style.opacity=Math.min(Math.max(Math.abs(shadowOpacity), 0), 1);
}}
const targetEl=effectTarget(params, slideEl);
targetEl.style.transform=transform;
targetEl.style.opacity=opacityString;
if(data.origin){
targetEl.style.transformOrigin=data.origin;
}}
};
const setTransition=duration=> {
const transformElements=swiper.slides.map(slideEl=> getSlideTransformEl(slideEl));
transformElements.forEach(el=> {
el.style.transitionDuration=`${duration}ms`;
el.querySelectorAll('.swiper-slide-shadow').forEach(shadowEl=> {
shadowEl.style.transitionDuration=`${duration}ms`;
});
});
effectVirtualTransitionEnd({
swiper,
duration,
transformElements,
allSlides: true
});
};
effectInit({
effect: 'creative',
swiper,
on,
setTranslate,
setTransition,
perspective: ()=> swiper.params.creativeEffect.perspective,
overwriteParams: ()=> ({
watchSlidesProgress: true,
virtualTranslate: !swiper.params.cssMode
})
});
}
function EffectCards(_ref){
let {
swiper,
extendParams,
on
}=_ref;
extendParams({
cardsEffect: {
slideShadows: true,
rotate: true,
perSlideRotate: 2,
perSlideOffset: 8
}});
const setTranslate=()=> {
const {
slides,
activeIndex,
rtlTranslate: rtl
}=swiper;
const params=swiper.params.cardsEffect;
const {
startTranslate,
isTouched
}=swiper.touchEventsData;
const currentTranslate=rtl ? -swiper.translate:swiper.translate;
for (let i=0; i < slides.length; i +=1){
const slideEl=slides[i];
const slideProgress=slideEl.progress;
const progress=Math.min(Math.max(slideProgress, -4), 4);
let offset=slideEl.swiperSlideOffset;
if(swiper.params.centeredSlides&&!swiper.params.cssMode){
swiper.wrapperEl.style.transform=`translateX(${swiper.minTranslate()}px)`;
}
if(swiper.params.centeredSlides&&swiper.params.cssMode){
offset -=slides[0].swiperSlideOffset;
}
let tX=swiper.params.cssMode ? -offset - swiper.translate:-offset;
let tY=0;
const tZ=-100 * Math.abs(progress);
let scale=1;
let rotate=-params.perSlideRotate * progress;
let tXAdd=params.perSlideOffset - Math.abs(progress) * 0.75;
const slideIndex=swiper.virtual&&swiper.params.virtual.enabled ? swiper.virtual.from + i:i;
const isSwipeToNext=(slideIndex===activeIndex||slideIndex===activeIndex - 1)&&progress > 0&&progress < 1&&(isTouched||swiper.params.cssMode)&&currentTranslate < startTranslate;
const isSwipeToPrev=(slideIndex===activeIndex||slideIndex===activeIndex + 1)&&progress < 0&&progress > -1&&(isTouched||swiper.params.cssMode)&&currentTranslate > startTranslate;
if(isSwipeToNext||isSwipeToPrev){
const subProgress=(1 - Math.abs((Math.abs(progress) - 0.5) / 0.5)) ** 0.5;
rotate +=-28 * progress * subProgress;
scale +=-0.5 * subProgress;
tXAdd +=96 * subProgress;
tY=`${-25 * subProgress * Math.abs(progress)}%`;
}
if(progress < 0){
tX=`calc(${tX}px ${rtl ? '-':'+'} (${tXAdd * Math.abs(progress)}%))`;
}else if(progress > 0){
tX=`calc(${tX}px ${rtl ? '-':'+'} (-${tXAdd * Math.abs(progress)}%))`;
}else{
tX=`${tX}px`;
}
if(!swiper.isHorizontal()){
const prevY=tY;
tY=tX;
tX=prevY;
}
const scaleString=progress < 0 ? `${1 + (1 - scale) * progress}`:`${1 - (1 - scale) * progress}`;
const transform=`
translate3d(${tX}, ${tY}, ${tZ}px)
rotateZ(${params.rotate ? rtl ? -rotate:rotate:0}deg)
scale(${scaleString})
`;
if(params.slideShadows){
let shadowEl=slideEl.querySelector('.swiper-slide-shadow');
if(!shadowEl){
shadowEl=createShadow('cards', slideEl);
}
if(shadowEl) shadowEl.style.opacity=Math.min(Math.max((Math.abs(progress) - 0.5) / 0.5, 0), 1);
}
slideEl.style.zIndex=-Math.abs(Math.round(slideProgress)) + slides.length;
const targetEl=effectTarget(params, slideEl);
targetEl.style.transform=transform;
}};
const setTransition=duration=> {
const transformElements=swiper.slides.map(slideEl=> getSlideTransformEl(slideEl));
transformElements.forEach(el=> {
el.style.transitionDuration=`${duration}ms`;
el.querySelectorAll('.swiper-slide-shadow').forEach(shadowEl=> {
shadowEl.style.transitionDuration=`${duration}ms`;
});
});
effectVirtualTransitionEnd({
swiper,
duration,
transformElements
});
};
effectInit({
effect: 'cards',
swiper,
on,
setTranslate,
setTransition,
perspective: ()=> true,
overwriteParams: ()=> ({
watchSlidesProgress: true,
virtualTranslate: !swiper.params.cssMode
})
});
}
const modules=[Virtual, Keyboard, Mousewheel, Navigation, Pagination, Scrollbar, Parallax, Zoom, Controller, A11y, History, HashNavigation, Autoplay, Thumb, freeMode, Grid, Manipulation, EffectFade, EffectCube, EffectFlip, EffectCoverflow, EffectCreative, EffectCards];
Swiper.use(modules);
return Swiper;
})();
var Swiper=function(){"use strict";function e(e){return null!==e&&"object"==typeof e&&"constructor"in e&&e.constructor===Object}function t(s,a){void 0===s&&(s={}),void 0===a&&(a={}),Object.keys(a).forEach((i=>{void 0===s[i]?s[i]=a[i]:e(a[i])&&e(s[i])&&Object.keys(a[i]).length>0&&t(s[i],a[i])}))}const s={body:{},addEventListener(){},removeEventListener(){},activeElement:{blur(){},nodeName:""},querySelector:()=>null,querySelectorAll:()=>[],getElementById:()=>null,createEvent:()=>({initEvent(){}}),createElement:()=>({children:[],childNodes:[],style:{},setAttribute(){},getElementsByTagName:()=>[]}),createElementNS:()=>({}),importNode:()=>null,location:{hash:"",host:"",hostname:"",href:"",origin:"",pathname:"",protocol:"",search:""}};function a(){const e="undefined"!=typeof document?document:{};return t(e,s),e}const i={document:s,navigator:{userAgent:""},location:{hash:"",host:"",hostname:"",href:"",origin:"",pathname:"",protocol:"",search:""},history:{replaceState(){},pushState(){},go(){},back(){}},CustomEvent:function(){return this},addEventListener(){},removeEventListener(){},getComputedStyle:()=>({getPropertyValue:()=>""}),Image(){},Date(){},screen:{},setTimeout(){},clearTimeout(){},matchMedia:()=>({}),requestAnimationFrame:e=>"undefined"==typeof setTimeout?(e(),null):setTimeout(e,0),cancelAnimationFrame(e){"undefined"!=typeof setTimeout&&clearTimeout(e)}};function r(){const e="undefined"!=typeof window?window:{};return t(e,i),e}function n(e){return void 0===e&&(e=""),e.trim().split(" ").filter((e=>!!e.trim()))}function l(e,t){return void 0===t&&(t=0),setTimeout(e,t)}function o(){return Date.now()}function d(e,t){void 0===t&&(t="x");const s=r();let a,i,n;const l=function(e){const t=r();let s;return t.getComputedStyle&&(s=t.getComputedStyle(e,null)),!s&&e.currentStyle&&(s=e.currentStyle),s||(s=e.style),s}(e);return s.WebKitCSSMatrix?(i=l.transform||l.webkitTransform,i.split(",").length>6&&(i=i.split(", ").map((e=>e.replace(",","."))).join(", ")),n=new s.WebKitCSSMatrix("none"===i?"":i)):(n=l.MozTransform||l.OTransform||l.MsTransform||l.msTransform||l.transform||l.getPropertyValue("transform").replace("translate(","matrix(1, 0, 0, 1,"),a=n.toString().split(",")),"x"===t&&(i=s.WebKitCSSMatrix?n.m41:16===a.length?parseFloat(a[12]):parseFloat(a[4])),"y"===t&&(i=s.WebKitCSSMatrix?n.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 p(){const e=Object(arguments.length<=0?void 0:arguments[0]),t=["__proto__","constructor","prototype"];for(let a=1;a<arguments.length;a+=1){const i=a<0||arguments.length<=a?void 0:arguments[a];if(null!=i&&(s=i,!("undefined"!=typeof window&&void 0!==window.HTMLElement?s instanceof HTMLElement:s&&(1===s.nodeType||11===s.nodeType)))){const s=Object.keys(Object(i)).filter((e=>t.indexOf(e)<0));for(let t=0,a=s.length;t<a;t+=1){const a=s[t],r=Object.getOwnPropertyDescriptor(i,a);void 0!==r&&r.enumerable&&(c(e[a])&&c(i[a])?i[a].__swiper__?e[a]=i[a]:p(e[a],i[a]):!c(e[a])&&c(i[a])?(e[a]={},i[a].__swiper__?e[a]=i[a]:p(e[a],i[a])):e[a]=i[a])}}}var s;return e}function u(e,t,s){e.style.setProperty(t,s)}function m(e){let{swiper:t,targetPosition:s,side:a}=e;const i=r(),n=-t.translate;let l,o=null;const d=t.params.speed;t.wrapperEl.style.scrollSnapType="none",i.cancelAnimationFrame(t.cssModeFrameID);const c=s>n?"next":"prev",p=(e,t)=>"next"===c&&e>=t||"prev"===c&&e<=t,u=()=>{l=(new Date).getTime(),null===o&&(o=l);const e=Math.max(Math.min((l-o)/d,1),0),r=.5-Math.cos(e*Math.PI)/2;let c=n+r*(s-n);if(p(c,s)&&(c=s),t.wrapperEl.scrollTo({[a]:c}),p(c,s))return t.wrapperEl.style.overflow="hidden",t.wrapperEl.style.scrollSnapType="",setTimeout((()=>{t.wrapperEl.style.overflow="",t.wrapperEl.scrollTo({[a]:c})})),void i.cancelAnimationFrame(t.cssModeFrameID);t.cssModeFrameID=i.requestAnimationFrame(u)};u()}function h(e){return e.querySelector(".swiper-slide-transform")||e.shadowRoot&&e.shadowRoot.querySelector(".swiper-slide-transform")||e}function f(e,t){return void 0===t&&(t=""),[...e.children].filter((e=>e.matches(t)))}function g(e){try{return void console.warn(e)}catch(e){}}function v(e,t){void 0===t&&(t=[]);const s=document.createElement(e);return s.classList.add(...Array.isArray(t)?t:n(t)),s}function w(e){const t=r(),s=a(),i=e.getBoundingClientRect(),n=s.body,l=e.clientTop||n.clientTop||0,o=e.clientLeft||n.clientLeft||0,d=e===t?t.scrollY:e.scrollTop,c=e===t?t.scrollX:e.scrollLeft;return{top:i.top+d-l,left:i.left+c-o}}function b(e,t){return r().getComputedStyle(e,null).getPropertyValue(t)}function y(e){let t,s=e;if(s){for(t=0;null!==(s=s.previousSibling);)1===s.nodeType&&(t+=1);return t}}function E(e,t){const s=[];let a=e.parentElement;for(;a;)t?a.matches(t)&&s.push(a):s.push(a),a=a.parentElement;return s}function x(e,t){t&&e.addEventListener("transitionend",(function s(a){a.target===e&&(t.call(e,a),e.removeEventListener("transitionend",s))}))}function S(e,t,s){const a=r();return s?e["width"===t?"offsetWidth":"offsetHeight"]+parseFloat(a.getComputedStyle(e,null).getPropertyValue("width"===t?"margin-right":"margin-top"))+parseFloat(a.getComputedStyle(e,null).getPropertyValue("width"===t?"margin-left":"margin-bottom")):e.offsetWidth}let T,M,C;function P(){return T||(T=function(){const e=r(),t=a();return{smoothScroll:t.documentElement&&t.documentElement.style&&"scrollBehavior"in t.documentElement.style,touch:!!("ontouchstart"in e||e.DocumentTouch&&t instanceof e.DocumentTouch)}}()),T}function L(e){return void 0===e&&(e={}),M||(M=function(e){let{userAgent:t}=void 0===e?{}:e;const s=P(),a=r(),i=a.navigator.platform,n=t||a.navigator.userAgent,l={ios:!1,android:!1},o=a.screen.width,d=a.screen.height,c=n.match(/(Android);?[\s\/]+([\d.]+)?/);let p=n.match(/(iPad).*OS\s([\d_]+)/);const u=n.match(/(iPod)(.*OS\s([\d_]+))?/),m=!p&&n.match(/(iPhone\sOS|iOS)\s([\d_]+)/),h="Win32"===i;let f="MacIntel"===i;return!p&&f&&s.touch&&["1024x1366","1366x1024","834x1194","1194x834","834x1112","1112x834","768x1024","1024x768","820x1180","1180x820","810x1080","1080x810"].indexOf(`${o}x${d}`)>=0&&(p=n.match(/(Version)\/([\d.]+)/),p||(p=[0,1,"13_0_0"]),f=!1),c&&!h&&(l.os="android",l.android=!0),(p||m||u)&&(l.os="ios",l.ios=!0),l}(e)),M}function A(){return C||(C=function(){const e=r();let t=!1;function s(){const t=e.navigator.userAgent.toLowerCase();return t.indexOf("safari")>=0&&t.indexOf("chrome")<0&&t.indexOf("android")<0}if(s()){const s=String(e.navigator.userAgent);if(s.includes("Version/")){const[e,a]=s.split("Version/")[1].split(" ")[0].split(".").map((e=>Number(e)));t=e<16||16===e&&a<2}}return{isSafari:t||s(),needPerspectiveFix:t,isWebView:/(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(e.navigator.userAgent)}}()),C}var I={on(e,t,s){const a=this;if(!a.eventsListeners||a.destroyed)return a;if("function"!=typeof t)return a;const i=s?"unshift":"push";return e.split(" ").forEach((e=>{a.eventsListeners[e]||(a.eventsListeners[e]=[]),a.eventsListeners[e][i](t)})),a},once(e,t,s){const a=this;if(!a.eventsListeners||a.destroyed)return a;if("function"!=typeof t)return a;function i(){a.off(e,i),i.__emitterProxy&&delete i.__emitterProxy;for(var s=arguments.length,r=new Array(s),n=0;n<s;n++)r[n]=arguments[n];t.apply(a,r)}return i.__emitterProxy=t,a.on(e,i,s)},onAny(e,t){const s=this;if(!s.eventsListeners||s.destroyed)return s;if("function"!=typeof e)return s;const a=t?"unshift":"push";return s.eventsAnyListeners.indexOf(e)<0&&s.eventsAnyListeners[a](e),s},offAny(e){const t=this;if(!t.eventsListeners||t.destroyed)return t;if(!t.eventsAnyListeners)return t;const s=t.eventsAnyListeners.indexOf(e);return s>=0&&t.eventsAnyListeners.splice(s,1),t},off(e,t){const s=this;return!s.eventsListeners||s.destroyed?s:s.eventsListeners?(e.split(" ").forEach((e=>{void 0===t?s.eventsListeners[e]=[]:s.eventsListeners[e]&&s.eventsListeners[e].forEach(((a,i)=>{(a===t||a.__emitterProxy&&a.__emitterProxy===t)&&s.eventsListeners[e].splice(i,1)}))})),s):s},emit(){const e=this;if(!e.eventsListeners||e.destroyed)return e;if(!e.eventsListeners)return e;let t,s,a;for(var i=arguments.length,r=new Array(i),n=0;n<i;n++)r[n]=arguments[n];"string"==typeof r[0]||Array.isArray(r[0])?(t=r[0],s=r.slice(1,r.length),a=e):(t=r[0].events,s=r[0].data,a=r[0].context||e),s.unshift(a);return(Array.isArray(t)?t:t.split(" ")).forEach((t=>{e.eventsAnyListeners&&e.eventsAnyListeners.length&&e.eventsAnyListeners.forEach((e=>{e.apply(a,[t,...s])})),e.eventsListeners&&e.eventsListeners[t]&&e.eventsListeners[t].forEach((e=>{e.apply(a,s)}))})),e}};const z=(e,t)=>{if(!e||e.destroyed||!e.params)return;const s=t.closest(e.isElement?"swiper-slide":`.${e.params.slideClass}`);if(s){let t=s.querySelector(`.${e.params.lazyPreloaderClass}`);!t&&e.isElement&&(s.shadowRoot?t=s.shadowRoot.querySelector(`.${e.params.lazyPreloaderClass}`):requestAnimationFrame((()=>{s.shadowRoot&&(t=s.shadowRoot.querySelector(`.${e.params.lazyPreloaderClass}`),t&&t.remove())}))),t&&t.remove()}},$=(e,t)=>{if(!e.slides[t])return;const s=e.slides[t].querySelector('[loading="lazy"]');s&&s.removeAttribute("loading")},k=e=>{if(!e||e.destroyed||!e.params)return;let t=e.params.lazyPreloadPrevNext;const s=e.slides.length;if(!s||!t||t<0)return;t=Math.min(t,s);const a="auto"===e.params.slidesPerView?e.slidesPerViewDynamic():Math.ceil(e.params.slidesPerView),i=e.activeIndex;if(e.params.grid&&e.params.grid.rows>1){const s=i,r=[s-t];return r.push(...Array.from({length:t}).map(((e,t)=>s+a+t))),void e.slides.forEach(((t,s)=>{r.includes(t.column)&&$(e,s)}))}const r=i+a-1;if(e.params.rewind||e.params.loop)for(let a=i-t;a<=r+t;a+=1){const t=(a%s+s)%s;(t<i||t>r)&&$(e,t)}else for(let a=Math.max(i-t,0);a<=Math.min(r+t,s-1);a+=1)a!==i&&(a>r||a<i)&&$(e,a)};var O={updateSize:function(){const e=this;let t,s;const a=e.el;t=void 0!==e.params.width&&null!==e.params.width?e.params.width:a.clientWidth,s=void 0!==e.params.height&&null!==e.params.height?e.params.height:a.clientHeight,0===t&&e.isHorizontal()||0===s&&e.isVertical()||(t=t-parseInt(b(a,"padding-left")||0,10)-parseInt(b(a,"padding-right")||0,10),s=s-parseInt(b(a,"padding-top")||0,10)-parseInt(b(a,"padding-bottom")||0,10),Number.isNaN(t)&&(t=0),Number.isNaN(s)&&(s=0),Object.assign(e,{width:t,height:s,size:e.isHorizontal()?t:s}))},updateSlides:function(){const e=this;function t(t,s){return parseFloat(t.getPropertyValue(e.getDirectionLabel(s))||0)}const s=e.params,{wrapperEl:a,slidesEl:i,size:r,rtlTranslate:n,wrongRTL:l}=e,o=e.virtual&&s.virtual.enabled,d=o?e.virtual.slides.length:e.slides.length,c=f(i,`.${e.params.slideClass}, swiper-slide`),p=o?e.virtual.slides.length:c.length;let m=[];const h=[],g=[];let v=s.slidesOffsetBefore;"function"==typeof v&&(v=s.slidesOffsetBefore.call(e));let w=s.slidesOffsetAfter;"function"==typeof w&&(w=s.slidesOffsetAfter.call(e));const y=e.snapGrid.length,E=e.slidesGrid.length;let x=s.spaceBetween,T=-v,M=0,C=0;if(void 0===r)return;"string"==typeof x&&x.indexOf("%")>=0?x=parseFloat(x.replace("%",""))/100*r:"string"==typeof x&&(x=parseFloat(x)),e.virtualSize=-x,c.forEach((e=>{n?e.style.marginLeft="":e.style.marginRight="",e.style.marginBottom="",e.style.marginTop=""})),s.centeredSlides&&s.cssMode&&(u(a,"--swiper-centered-offset-before",""),u(a,"--swiper-centered-offset-after",""));const P=s.grid&&s.grid.rows>1&&e.grid;let L;P?e.grid.initSlides(c):e.grid&&e.grid.unsetSlides();const A="auto"===s.slidesPerView&&s.breakpoints&&Object.keys(s.breakpoints).filter((e=>void 0!==s.breakpoints[e].slidesPerView)).length>0;for(let a=0;a<p;a+=1){let i;if(L=0,c[a]&&(i=c[a]),P&&e.grid.updateSlide(a,i,c),!c[a]||"none"!==b(i,"display")){if("auto"===s.slidesPerView){A&&(c[a].style[e.getDirectionLabel("width")]="");const r=getComputedStyle(i),n=i.style.transform,l=i.style.webkitTransform;if(n&&(i.style.transform="none"),l&&(i.style.webkitTransform="none"),s.roundLengths)L=e.isHorizontal()?S(i,"width",!0):S(i,"height",!0);else{const e=t(r,"width"),s=t(r,"padding-left"),a=t(r,"padding-right"),n=t(r,"margin-left"),l=t(r,"margin-right"),o=r.getPropertyValue("box-sizing");if(o&&"border-box"===o)L=e+n+l;else{const{clientWidth:t,offsetWidth:r}=i;L=e+s+a+n+l+(r-t)}}n&&(i.style.transform=n),l&&(i.style.webkitTransform=l),s.roundLengths&&(L=Math.floor(L))}else L=(r-(s.slidesPerView-1)*x)/s.slidesPerView,s.roundLengths&&(L=Math.floor(L)),c[a]&&(c[a].style[e.getDirectionLabel("width")]=`${L}px`);c[a]&&(c[a].swiperSlideSize=L),g.push(L),s.centeredSlides?(T=T+L/2+M/2+x,0===M&&0!==a&&(T=T-r/2-x),0===a&&(T=T-r/2-x),Math.abs(T)<.001&&(T=0),s.roundLengths&&(T=Math.floor(T)),C%s.slidesPerGroup==0&&m.push(T),h.push(T)):(s.roundLengths&&(T=Math.floor(T)),(C-Math.min(e.params.slidesPerGroupSkip,C))%e.params.slidesPerGroup==0&&m.push(T),h.push(T),T=T+L+x),e.virtualSize+=L+x,M=L,C+=1}}if(e.virtualSize=Math.max(e.virtualSize,r)+w,n&&l&&("slide"===s.effect||"coverflow"===s.effect)&&(a.style.width=`${e.virtualSize+x}px`),s.setWrapperSize&&(a.style[e.getDirectionLabel("width")]=`${e.virtualSize+x}px`),P&&e.grid.updateWrapperSize(L,m),!s.centeredSlides){const t=[];for(let a=0;a<m.length;a+=1){let i=m[a];s.roundLengths&&(i=Math.floor(i)),m[a]<=e.virtualSize-r&&t.push(i)}m=t,Math.floor(e.virtualSize-r)-Math.floor(m[m.length-1])>1&&m.push(e.virtualSize-r)}if(o&&s.loop){const t=g[0]+x;if(s.slidesPerGroup>1){const a=Math.ceil((e.virtual.slidesBefore+e.virtual.slidesAfter)/s.slidesPerGroup),i=t*s.slidesPerGroup;for(let e=0;e<a;e+=1)m.push(m[m.length-1]+i)}for(let a=0;a<e.virtual.slidesBefore+e.virtual.slidesAfter;a+=1)1===s.slidesPerGroup&&m.push(m[m.length-1]+t),h.push(h[h.length-1]+t),e.virtualSize+=t}if(0===m.length&&(m=[0]),0!==x){const t=e.isHorizontal()&&n?"marginLeft":e.getDirectionLabel("marginRight");c.filter(((e,t)=>!(s.cssMode&&!s.loop)||t!==c.length-1)).forEach((e=>{e.style[t]=`${x}px`}))}if(s.centeredSlides&&s.centeredSlidesBounds){let e=0;g.forEach((t=>{e+=t+(x||0)})),e-=x;const t=e-r;m=m.map((e=>e<=0?-v:e>t?t+w:e))}if(s.centerInsufficientSlides){let e=0;if(g.forEach((t=>{e+=t+(x||0)})),e-=x,e<r){const t=(r-e)/2;m.forEach(((e,s)=>{m[s]=e-t})),h.forEach(((e,s)=>{h[s]=e+t}))}}if(Object.assign(e,{slides:c,snapGrid:m,slidesGrid:h,slidesSizesGrid:g}),s.centeredSlides&&s.cssMode&&!s.centeredSlidesBounds){u(a,"--swiper-centered-offset-before",-m[0]+"px"),u(a,"--swiper-centered-offset-after",e.size/2-g[g.length-1]/2+"px");const t=-e.snapGrid[0],s=-e.slidesGrid[0];e.snapGrid=e.snapGrid.map((e=>e+t)),e.slidesGrid=e.slidesGrid.map((e=>e+s))}if(p!==d&&e.emit("slidesLengthChange"),m.length!==y&&(e.params.watchOverflow&&e.checkOverflow(),e.emit("snapGridLengthChange")),h.length!==E&&e.emit("slidesGridLengthChange"),s.watchSlidesProgress&&e.updateSlidesOffset(),e.emit("slidesUpdated"),!(o||s.cssMode||"slide"!==s.effect&&"fade"!==s.effect)){const t=`${s.containerModifierClass}backface-hidden`,a=e.el.classList.contains(t);p<=s.maxBackfaceHiddenSlides?a||e.el.classList.add(t):a&&e.el.classList.remove(t)}},updateAutoHeight:function(e){const t=this,s=[],a=t.virtual&&t.params.virtual.enabled;let i,r=0;"number"==typeof e?t.setTransition(e):!0===e&&t.setTransition(t.params.speed);const n=e=>a?t.slides[t.getSlideIndexByData(e)]:t.slides[e];if("auto"!==t.params.slidesPerView&&t.params.slidesPerView>1)if(t.params.centeredSlides)(t.visibleSlides||[]).forEach((e=>{s.push(e)}));else for(i=0;i<Math.ceil(t.params.slidesPerView);i+=1){const e=t.activeIndex+i;if(e>t.slides.length&&!a)break;s.push(n(e))}else s.push(n(t.activeIndex));for(i=0;i<s.length;i+=1)if(void 0!==s[i]){const e=s[i].offsetHeight;r=e>r?e:r}(r||0===r)&&(t.wrapperEl.style.height=`${r}px`)},updateSlidesOffset:function(){const e=this,t=e.slides,s=e.isElement?e.isHorizontal()?e.wrapperEl.offsetLeft:e.wrapperEl.offsetTop:0;for(let a=0;a<t.length;a+=1)t[a].swiperSlideOffset=(e.isHorizontal()?t[a].offsetLeft:t[a].offsetTop)-s-e.cssOverflowAdjustment()},updateSlidesProgress:function(e){void 0===e&&(e=this&&this.translate||0);const t=this,s=t.params,{slides:a,rtlTranslate:i,snapGrid:r}=t;if(0===a.length)return;void 0===a[0].swiperSlideOffset&&t.updateSlidesOffset();let n=-e;i&&(n=e),a.forEach((e=>{e.classList.remove(s.slideVisibleClass,s.slideFullyVisibleClass)})),t.visibleSlidesIndexes=[],t.visibleSlides=[];let l=s.spaceBetween;"string"==typeof l&&l.indexOf("%")>=0?l=parseFloat(l.replace("%",""))/100*t.size:"string"==typeof l&&(l=parseFloat(l));for(let e=0;e<a.length;e+=1){const o=a[e];let d=o.swiperSlideOffset;s.cssMode&&s.centeredSlides&&(d-=a[0].swiperSlideOffset);const c=(n+(s.centeredSlides?t.minTranslate():0)-d)/(o.swiperSlideSize+l),p=(n-r[0]+(s.centeredSlides?t.minTranslate():0)-d)/(o.swiperSlideSize+l),u=-(n-d),m=u+t.slidesSizesGrid[e],h=u>=0&&u<=t.size-t.slidesSizesGrid[e];(u>=0&&u<t.size-1||m>1&&m<=t.size||u<=0&&m>=t.size)&&(t.visibleSlides.push(o),t.visibleSlidesIndexes.push(e),a[e].classList.add(s.slideVisibleClass)),h&&a[e].classList.add(s.slideFullyVisibleClass),o.progress=i?-c:c,o.originalProgress=i?-p:p}},updateProgress:function(e){const t=this;if(void 0===e){const s=t.rtlTranslate?-1:1;e=t&&t.translate&&t.translate*s||0}const s=t.params,a=t.maxTranslate()-t.minTranslate();let{progress:i,isBeginning:r,isEnd:n,progressLoop:l}=t;const o=r,d=n;if(0===a)i=0,r=!0,n=!0;else{i=(e-t.minTranslate())/a;const s=Math.abs(e-t.minTranslate())<1,l=Math.abs(e-t.maxTranslate())<1;r=s||i<=0,n=l||i>=1,s&&(i=0),l&&(i=1)}if(s.loop){const s=t.getSlideIndexByData(0),a=t.getSlideIndexByData(t.slides.length-1),i=t.slidesGrid[s],r=t.slidesGrid[a],n=t.slidesGrid[t.slidesGrid.length-1],o=Math.abs(e);l=o>=i?(o-i)/n:(o+n-r)/n,l>1&&(l-=1)}Object.assign(t,{progress:i,progressLoop:l,isBeginning:r,isEnd:n}),(s.watchSlidesProgress||s.centeredSlides&&s.autoHeight)&&t.updateSlidesProgress(e),r&&!o&&t.emit("reachBeginning toEdge"),n&&!d&&t.emit("reachEnd toEdge"),(o&&!r||d&&!n)&&t.emit("fromEdge"),t.emit("progress",i)},updateSlidesClasses:function(){const e=this,{slides:t,params:s,slidesEl:a,activeIndex:i}=e,r=e.virtual&&s.virtual.enabled,n=e.grid&&s.grid&&s.grid.rows>1,l=e=>f(a,`.${s.slideClass}${e}, swiper-slide${e}`)[0];let o,d,c;if(t.forEach((e=>{e.classList.remove(s.slideActiveClass,s.slideNextClass,s.slidePrevClass)})),r)if(s.loop){let t=i-e.virtual.slidesBefore;t<0&&(t=e.virtual.slides.length+t),t>=e.virtual.slides.length&&(t-=e.virtual.slides.length),o=l(`[data-swiper-slide-index="${t}"]`)}else o=l(`[data-swiper-slide-index="${i}"]`);else n?(o=t.filter((e=>e.column===i))[0],c=t.filter((e=>e.column===i+1))[0],d=t.filter((e=>e.column===i-1))[0]):o=t[i];o&&(o.classList.add(s.slideActiveClass),n?(c&&c.classList.add(s.slideNextClass),d&&d.classList.add(s.slidePrevClass)):(c=function(e,t){const s=[];for(;e.nextElementSibling;){const a=e.nextElementSibling;t?a.matches(t)&&s.push(a):s.push(a),e=a}return s}(o,`.${s.slideClass}, swiper-slide`)[0],s.loop&&!c&&(c=t[0]),c&&c.classList.add(s.slideNextClass),d=function(e,t){const s=[];for(;e.previousElementSibling;){const a=e.previousElementSibling;t?a.matches(t)&&s.push(a):s.push(a),e=a}return s}(o,`.${s.slideClass}, swiper-slide`)[0],s.loop&&0===!d&&(d=t[t.length-1]),d&&d.classList.add(s.slidePrevClass))),e.emitSlidesClasses()},updateActiveIndex:function(e){const t=this,s=t.rtlTranslate?t.translate:-t.translate,{snapGrid:a,params:i,activeIndex:r,realIndex:n,snapIndex:l}=t;let o,d=e;const c=e=>{let s=e-t.virtual.slidesBefore;return s<0&&(s=t.virtual.slides.length+s),s>=t.virtual.slides.length&&(s-=t.virtual.slides.length),s};if(void 0===d&&(d=function(e){const{slidesGrid:t,params:s}=e,a=e.rtlTranslate?e.translate:-e.translate;let i;for(let e=0;e<t.length;e+=1)void 0!==t[e+1]?a>=t[e]&&a<t[e+1]-(t[e+1]-t[e])/2?i=e:a>=t[e]&&a<t[e+1]&&(i=e+1):a>=t[e]&&(i=e);return s.normalizeSlideIndex&&(i<0||void 0===i)&&(i=0),i}(t)),a.indexOf(s)>=0)o=a.indexOf(s);else{const e=Math.min(i.slidesPerGroupSkip,d);o=e+Math.floor((d-e)/i.slidesPerGroup)}if(o>=a.length&&(o=a.length-1),d===r&&!t.params.loop)return void(o!==l&&(t.snapIndex=o,t.emit("snapIndexChange")));if(d===r&&t.params.loop&&t.virtual&&t.params.virtual.enabled)return void(t.realIndex=c(d));const p=t.grid&&i.grid&&i.grid.rows>1;let u;if(t.virtual&&i.virtual.enabled&&i.loop)u=c(d);else if(p){const e=t.slides.filter((e=>e.column===d))[0];let s=parseInt(e.getAttribute("data-swiper-slide-index"),10);Number.isNaN(s)&&(s=Math.max(t.slides.indexOf(e),0)),u=Math.floor(s/i.grid.rows)}else if(t.slides[d]){const e=t.slides[d].getAttribute("data-swiper-slide-index");u=e?parseInt(e,10):d}else u=d;Object.assign(t,{previousSnapIndex:l,snapIndex:o,previousRealIndex:n,realIndex:u,previousIndex:r,activeIndex:d}),t.initialized&&k(t),t.emit("activeIndexChange"),t.emit("snapIndexChange"),(t.initialized||t.params.runCallbacksOnInit)&&(n!==u&&t.emit("realIndexChange"),t.emit("slideChange"))},updateClickedSlide:function(e,t){const s=this,a=s.params;let i=e.closest(`.${a.slideClass}, swiper-slide`);!i&&s.isElement&&t&&t.length>1&&t.includes(e)&&[...t.slice(t.indexOf(e)+1,t.length)].forEach((e=>{!i&&e.matches&&e.matches(`.${a.slideClass}, swiper-slide`)&&(i=e)}));let r,n=!1;if(i)for(let e=0;e<s.slides.length;e+=1)if(s.slides[e]===i){n=!0,r=e;break}if(!i||!n)return s.clickedSlide=void 0,void(s.clickedIndex=void 0);s.clickedSlide=i,s.virtual&&s.params.virtual.enabled?s.clickedIndex=parseInt(i.getAttribute("data-swiper-slide-index"),10):s.clickedIndex=r,a.slideToClickedSlide&&void 0!==s.clickedIndex&&s.clickedIndex!==s.activeIndex&&s.slideToClickedSlide()}};var D={getTranslate:function(e){void 0===e&&(e=this.isHorizontal()?"x":"y");const{params:t,rtlTranslate:s,translate:a,wrapperEl:i}=this;if(t.virtualTranslate)return s?-a:a;if(t.cssMode)return a;let r=d(i,e);return r+=this.cssOverflowAdjustment(),s&&(r=-r),r||0},setTranslate:function(e,t){const s=this,{rtlTranslate:a,params:i,wrapperEl:r,progress:n}=s;let l,o=0,d=0;s.isHorizontal()?o=a?-e:e:d=e,i.roundLengths&&(o=Math.floor(o),d=Math.floor(d)),s.previousTranslate=s.translate,s.translate=s.isHorizontal()?o:d,i.cssMode?r[s.isHorizontal()?"scrollLeft":"scrollTop"]=s.isHorizontal()?-o:-d:i.virtualTranslate||(s.isHorizontal()?o-=s.cssOverflowAdjustment():d-=s.cssOverflowAdjustment(),r.style.transform=`translate3d(${o}px, ${d}px, 0px)`);const c=s.maxTranslate()-s.minTranslate();l=0===c?0:(e-s.minTranslate())/c,l!==n&&s.updateProgress(e),s.emit("setTranslate",s.translate,t)},minTranslate:function(){return-this.snapGrid[0]},maxTranslate:function(){return-this.snapGrid[this.snapGrid.length-1]},translateTo:function(e,t,s,a,i){void 0===e&&(e=0),void 0===t&&(t=this.params.speed),void 0===s&&(s=!0),void 0===a&&(a=!0);const r=this,{params:n,wrapperEl:l}=r;if(r.animating&&n.preventInteractionOnTransition)return!1;const o=r.minTranslate(),d=r.maxTranslate();let c;if(c=a&&e>o?o:a&&e<d?d:e,r.updateProgress(c),n.cssMode){const e=r.isHorizontal();if(0===t)l[e?"scrollLeft":"scrollTop"]=-c;else{if(!r.support.smoothScroll)return m({swiper:r,targetPosition:-c,side:e?"left":"top"}),!0;l.scrollTo({[e?"left":"top"]:-c,behavior:"smooth"})}return!0}return 0===t?(r.setTransition(0),r.setTranslate(c),s&&(r.emit("beforeTransitionStart",t,i),r.emit("transitionEnd"))):(r.setTransition(t),r.setTranslate(c),s&&(r.emit("beforeTransitionStart",t,i),r.emit("transitionStart")),r.animating||(r.animating=!0,r.onTranslateToWrapperTransitionEnd||(r.onTranslateToWrapperTransitionEnd=function(e){r&&!r.destroyed&&e.target===this&&(r.wrapperEl.removeEventListener("transitionend",r.onTranslateToWrapperTransitionEnd),r.onTranslateToWrapperTransitionEnd=null,delete r.onTranslateToWrapperTransitionEnd,s&&r.emit("transitionEnd"))}),r.wrapperEl.addEventListener("transitionend",r.onTranslateToWrapperTransitionEnd))),!0}};function G(e){let{swiper:t,runCallbacks:s,direction:a,step:i}=e;const{activeIndex:r,previousIndex:n}=t;let l=a;if(l||(l=r>n?"next":r<n?"prev":"reset"),t.emit(`transition${i}`),s&&r!==n){if("reset"===l)return void t.emit(`slideResetTransition${i}`);t.emit(`slideChangeTransition${i}`),"next"===l?t.emit(`slideNextTransition${i}`):t.emit(`slidePrevTransition${i}`)}}var X={slideTo:function(e,t,s,a,i){void 0===e&&(e=0),void 0===t&&(t=this.params.speed),void 0===s&&(s=!0),"string"==typeof e&&(e=parseInt(e,10));const r=this;let n=e;n<0&&(n=0);const{params:l,snapGrid:o,slidesGrid:d,previousIndex:c,activeIndex:p,rtlTranslate:u,wrapperEl:h,enabled:f}=r;if(r.animating&&l.preventInteractionOnTransition||!f&&!a&&!i)return!1;const g=Math.min(r.params.slidesPerGroupSkip,n);let v=g+Math.floor((n-g)/r.params.slidesPerGroup);v>=o.length&&(v=o.length-1);const w=-o[v];if(l.normalizeSlideIndex)for(let e=0;e<d.length;e+=1){const t=-Math.floor(100*w),s=Math.floor(100*d[e]),a=Math.floor(100*d[e+1]);void 0!==d[e+1]?t>=s&&t<a-(a-s)/2?n=e:t>=s&&t<a&&(n=e+1):t>=s&&(n=e)}if(r.initialized&&n!==p){if(!r.allowSlideNext&&(u?w>r.translate&&w>r.minTranslate():w<r.translate&&w<r.minTranslate()))return!1;if(!r.allowSlidePrev&&w>r.translate&&w>r.maxTranslate()&&(p||0)!==n)return!1}let b;if(n!==(c||0)&&s&&r.emit("beforeSlideChangeStart"),r.updateProgress(w),b=n>p?"next":n<p?"prev":"reset",u&&-w===r.translate||!u&&w===r.translate)return r.updateActiveIndex(n),l.autoHeight&&r.updateAutoHeight(),r.updateSlidesClasses(),"slide"!==l.effect&&r.setTranslate(w),"reset"!==b&&(r.transitionStart(s,b),r.transitionEnd(s,b)),!1;if(l.cssMode){const e=r.isHorizontal(),s=u?w:-w;if(0===t){const t=r.virtual&&r.params.virtual.enabled;t&&(r.wrapperEl.style.scrollSnapType="none",r._immediateVirtual=!0),t&&!r._cssModeVirtualInitialSet&&r.params.initialSlide>0?(r._cssModeVirtualInitialSet=!0,requestAnimationFrame((()=>{h[e?"scrollLeft":"scrollTop"]=s}))):h[e?"scrollLeft":"scrollTop"]=s,t&&requestAnimationFrame((()=>{r.wrapperEl.style.scrollSnapType="",r._immediateVirtual=!1}))}else{if(!r.support.smoothScroll)return m({swiper:r,targetPosition:s,side:e?"left":"top"}),!0;h.scrollTo({[e?"left":"top"]:s,behavior:"smooth"})}return!0}return r.setTransition(t),r.setTranslate(w),r.updateActiveIndex(n),r.updateSlidesClasses(),r.emit("beforeTransitionStart",t,a),r.transitionStart(s,b),0===t?r.transitionEnd(s,b):r.animating||(r.animating=!0,r.onSlideToWrapperTransitionEnd||(r.onSlideToWrapperTransitionEnd=function(e){r&&!r.destroyed&&e.target===this&&(r.wrapperEl.removeEventListener("transitionend",r.onSlideToWrapperTransitionEnd),r.onSlideToWrapperTransitionEnd=null,delete r.onSlideToWrapperTransitionEnd,r.transitionEnd(s,b))}),r.wrapperEl.addEventListener("transitionend",r.onSlideToWrapperTransitionEnd)),!0},slideToLoop:function(e,t,s,a){if(void 0===e&&(e=0),void 0===t&&(t=this.params.speed),void 0===s&&(s=!0),"string"==typeof e){e=parseInt(e,10)}const i=this,r=i.grid&&i.params.grid&&i.params.grid.rows>1;let n=e;if(i.params.loop)if(i.virtual&&i.params.virtual.enabled)n+=i.virtual.slidesBefore;else{let e;if(r){const t=n*i.params.grid.rows;e=i.slides.filter((e=>1*e.getAttribute("data-swiper-slide-index")===t))[0].column}else e=i.getSlideIndexByData(n);const t=r?Math.ceil(i.slides.length/i.params.grid.rows):i.slides.length,{centeredSlides:s}=i.params;let a=i.params.slidesPerView;"auto"===a?a=i.slidesPerViewDynamic():(a=Math.ceil(parseFloat(i.params.slidesPerView,10)),s&&a%2==0&&(a+=1));let l=t-e<a;if(s&&(l=l||e<Math.ceil(a/2)),l){const a=s?e<i.activeIndex?"prev":"next":e-i.activeIndex-1<i.params.slidesPerView?"next":"prev";i.loopFix({direction:a,slideTo:!0,activeSlideIndex:"next"===a?e+1:e-t+1,slideRealIndex:"next"===a?i.realIndex:void 0})}if(r){const e=n*i.params.grid.rows;n=i.slides.filter((t=>1*t.getAttribute("data-swiper-slide-index")===e))[0].column}else n=i.getSlideIndexByData(n)}return requestAnimationFrame((()=>{i.slideTo(n,t,s,a)})),i},slideNext:function(e,t,s){void 0===e&&(e=this.params.speed),void 0===t&&(t=!0);const a=this,{enabled:i,params:r,animating:n}=a;if(!i)return a;let l=r.slidesPerGroup;"auto"===r.slidesPerView&&1===r.slidesPerGroup&&r.slidesPerGroupAuto&&(l=Math.max(a.slidesPerViewDynamic("current",!0),1));const o=a.activeIndex<r.slidesPerGroupSkip?1:l,d=a.virtual&&r.virtual.enabled;if(r.loop){if(n&&!d&&r.loopPreventsSliding)return!1;if(a.loopFix({direction:"next"}),a._clientLeft=a.wrapperEl.clientLeft,a.activeIndex===a.slides.length-1&&r.cssMode)return requestAnimationFrame((()=>{a.slideTo(a.activeIndex+o,e,t,s)})),!0}return r.rewind&&a.isEnd?a.slideTo(0,e,t,s):a.slideTo(a.activeIndex+o,e,t,s)},slidePrev:function(e,t,s){void 0===e&&(e=this.params.speed),void 0===t&&(t=!0);const a=this,{params:i,snapGrid:r,slidesGrid:n,rtlTranslate:l,enabled:o,animating:d}=a;if(!o)return a;const c=a.virtual&&i.virtual.enabled;if(i.loop){if(d&&!c&&i.loopPreventsSliding)return!1;a.loopFix({direction:"prev"}),a._clientLeft=a.wrapperEl.clientLeft}function p(e){return e<0?-Math.floor(Math.abs(e)):Math.floor(e)}const u=p(l?a.translate:-a.translate),m=r.map((e=>p(e)));let h=r[m.indexOf(u)-1];if(void 0===h&&i.cssMode){let e;r.forEach(((t,s)=>{u>=t&&(e=s)})),void 0!==e&&(h=r[e>0?e-1:e])}let f=0;if(void 0!==h&&(f=n.indexOf(h),f<0&&(f=a.activeIndex-1),"auto"===i.slidesPerView&&1===i.slidesPerGroup&&i.slidesPerGroupAuto&&(f=f-a.slidesPerViewDynamic("previous",!0)+1,f=Math.max(f,0))),i.rewind&&a.isBeginning){const i=a.params.virtual&&a.params.virtual.enabled&&a.virtual?a.virtual.slides.length-1:a.slides.length-1;return a.slideTo(i,e,t,s)}return i.loop&&0===a.activeIndex&&i.cssMode?(requestAnimationFrame((()=>{a.slideTo(f,e,t,s)})),!0):a.slideTo(f,e,t,s)},slideReset:function(e,t,s){return void 0===e&&(e=this.params.speed),void 0===t&&(t=!0),this.slideTo(this.activeIndex,e,t,s)},slideToClosest:function(e,t,s,a){void 0===e&&(e=this.params.speed),void 0===t&&(t=!0),void 0===a&&(a=.5);const i=this;let r=i.activeIndex;const n=Math.min(i.params.slidesPerGroupSkip,r),l=n+Math.floor((r-n)/i.params.slidesPerGroup),o=i.rtlTranslate?i.translate:-i.translate;if(o>=i.snapGrid[l]){const e=i.snapGrid[l];o-e>(i.snapGrid[l+1]-e)*a&&(r+=i.params.slidesPerGroup)}else{const e=i.snapGrid[l-1];o-e<=(i.snapGrid[l]-e)*a&&(r-=i.params.slidesPerGroup)}return r=Math.max(r,0),r=Math.min(r,i.slidesGrid.length-1),i.slideTo(r,e,t,s)},slideToClickedSlide:function(){const e=this,{params:t,slidesEl:s}=e,a="auto"===t.slidesPerView?e.slidesPerViewDynamic():t.slidesPerView;let i,r=e.clickedIndex;const n=e.isElement?"swiper-slide":`.${t.slideClass}`;if(t.loop){if(e.animating)return;i=parseInt(e.clickedSlide.getAttribute("data-swiper-slide-index"),10),t.centeredSlides?r<e.loopedSlides-a/2||r>e.slides.length-e.loopedSlides+a/2?(e.loopFix(),r=e.getSlideIndex(f(s,`${n}[data-swiper-slide-index="${i}"]`)[0]),l((()=>{e.slideTo(r)}))):e.slideTo(r):r>e.slides.length-a?(e.loopFix(),r=e.getSlideIndex(f(s,`${n}[data-swiper-slide-index="${i}"]`)[0]),l((()=>{e.slideTo(r)}))):e.slideTo(r)}else e.slideTo(r)}};var H={loopCreate:function(e){const t=this,{params:s,slidesEl:a}=t;if(!s.loop||t.virtual&&t.params.virtual.enabled)return;const i=()=>{f(a,`.${s.slideClass}, swiper-slide`).forEach(((e,t)=>{e.setAttribute("data-swiper-slide-index",t)}))},r=t.grid&&s.grid&&s.grid.rows>1,n=s.slidesPerGroup*(r?s.grid.rows:1),l=t.slides.length%n!=0,o=r&&t.slides.length%s.grid.rows!=0,d=e=>{for(let a=0;a<e;a+=1){const e=t.isElement?v("swiper-slide",[s.slideBlankClass]):v("div",[s.slideClass,s.slideBlankClass]);t.slidesEl.append(e)}};if(l){if(s.loopAddBlankSlides){d(n-t.slides.length%n),t.recalcSlides(),t.updateSlides()}else g("Swiper Loop Warning: The number of slides is not even to slidesPerGroup, loop mode may not function properly. You need to add more slides (or make duplicates, or empty slides)");i()}else if(o){if(s.loopAddBlankSlides){d(s.grid.rows-t.slides.length%s.grid.rows),t.recalcSlides(),t.updateSlides()}else g("Swiper Loop Warning: The number of slides is not even to grid.rows, loop mode may not function properly. You need to add more slides (or make duplicates, or empty slides)");i()}else i();t.loopFix({slideRealIndex:e,direction:s.centeredSlides?void 0:"next"})},loopFix:function(e){let{slideRealIndex:t,slideTo:s=!0,direction:a,setTranslate:i,activeSlideIndex:r,byController:n,byMousewheel:l}=void 0===e?{}:e;const o=this;if(!o.params.loop)return;o.emit("beforeLoopFix");const{slides:d,allowSlidePrev:c,allowSlideNext:p,slidesEl:u,params:m}=o,{centeredSlides:h}=m;if(o.allowSlidePrev=!0,o.allowSlideNext=!0,o.virtual&&m.virtual.enabled)return s&&(m.centeredSlides||0!==o.snapIndex?m.centeredSlides&&o.snapIndex<m.slidesPerView?o.slideTo(o.virtual.slides.length+o.snapIndex,0,!1,!0):o.snapIndex===o.snapGrid.length-1&&o.slideTo(o.virtual.slidesBefore,0,!1,!0):o.slideTo(o.virtual.slides.length,0,!1,!0)),o.allowSlidePrev=c,o.allowSlideNext=p,void o.emit("loopFix");let f=m.slidesPerView;"auto"===f?f=o.slidesPerViewDynamic():(f=Math.ceil(parseFloat(m.slidesPerView,10)),h&&f%2==0&&(f+=1));const v=m.slidesPerGroupAuto?f:m.slidesPerGroup;let w=v;w%v!=0&&(w+=v-w%v),w+=m.loopAdditionalSlides,o.loopedSlides=w;const b=o.grid&&m.grid&&m.grid.rows>1;d.length<f+w?g("Swiper Loop Warning: The number of slides is not enough for loop mode, it will be disabled and not function properly. You need to add more slides (or make duplicates) or lower the values of slidesPerView and slidesPerGroup parameters"):b&&"row"===m.grid.fill&&g("Swiper Loop Warning: Loop mode is not compatible with grid.fill=`row`");const y=[],E=[];let x=o.activeIndex;void 0===r?r=o.getSlideIndex(d.filter((e=>e.classList.contains(m.slideActiveClass)))[0]):x=r;const S="next"===a||!a,T="prev"===a||!a;let M=0,C=0;const P=b?Math.ceil(d.length/m.grid.rows):d.length,L=(b?d[r].column:r)+(h&&void 0===i?-f/2+.5:0);if(L<w){M=Math.max(w-L,v);for(let e=0;e<w-L;e+=1){const t=e-Math.floor(e/P)*P;if(b){const e=P-t-1;for(let t=d.length-1;t>=0;t-=1)d[t].column===e&&y.push(t)}else y.push(P-t-1)}}else if(L+f>P-w){C=Math.max(L-(P-2*w),v);for(let e=0;e<C;e+=1){const t=e-Math.floor(e/P)*P;b?d.forEach(((e,s)=>{e.column===t&&E.push(s)})):E.push(t)}}if(o.__preventObserver__=!0,requestAnimationFrame((()=>{o.__preventObserver__=!1})),T&&y.forEach((e=>{d[e].swiperLoopMoveDOM=!0,u.prepend(d[e]),d[e].swiperLoopMoveDOM=!1})),S&&E.forEach((e=>{d[e].swiperLoopMoveDOM=!0,u.append(d[e]),d[e].swiperLoopMoveDOM=!1})),o.recalcSlides(),"auto"===m.slidesPerView?o.updateSlides():b&&(y.length>0&&T||E.length>0&&S)&&o.slides.forEach(((e,t)=>{o.grid.updateSlide(t,e,o.slides)})),m.watchSlidesProgress&&o.updateSlidesOffset(),s)if(y.length>0&&T){if(void 0===t){const e=o.slidesGrid[x],t=o.slidesGrid[x+M]-e;l?o.setTranslate(o.translate-t):(o.slideTo(x+M,0,!1,!0),i&&(o.touchEventsData.startTranslate=o.touchEventsData.startTranslate-t,o.touchEventsData.currentTranslate=o.touchEventsData.currentTranslate-t))}else if(i){const e=b?y.length/m.grid.rows:y.length;o.slideTo(o.activeIndex+e,0,!1,!0),o.touchEventsData.currentTranslate=o.translate}}else if(E.length>0&&S)if(void 0===t){const e=o.slidesGrid[x],t=o.slidesGrid[x-C]-e;l?o.setTranslate(o.translate-t):(o.slideTo(x-C,0,!1,!0),i&&(o.touchEventsData.startTranslate=o.touchEventsData.startTranslate-t,o.touchEventsData.currentTranslate=o.touchEventsData.currentTranslate-t))}else{const e=b?E.length/m.grid.rows:E.length;o.slideTo(o.activeIndex-e,0,!1,!0)}if(o.allowSlidePrev=c,o.allowSlideNext=p,o.controller&&o.controller.control&&!n){const e={slideRealIndex:t,direction:a,setTranslate:i,activeSlideIndex:r,byController:!0};Array.isArray(o.controller.control)?o.controller.control.forEach((t=>{!t.destroyed&&t.params.loop&&t.loopFix({...e,slideTo:t.params.slidesPerView===m.slidesPerView&&s})})):o.controller.control instanceof o.constructor&&o.controller.control.params.loop&&o.controller.control.loopFix({...e,slideTo:o.controller.control.params.slidesPerView===m.slidesPerView&&s})}o.emit("loopFix")},loopDestroy:function(){const e=this,{params:t,slidesEl:s}=e;if(!t.loop||e.virtual&&e.params.virtual.enabled)return;e.recalcSlides();const a=[];e.slides.forEach((e=>{const t=void 0===e.swiperSlideIndex?1*e.getAttribute("data-swiper-slide-index"):e.swiperSlideIndex;a[t]=e})),e.slides.forEach((e=>{e.removeAttribute("data-swiper-slide-index")})),a.forEach((e=>{s.append(e)})),e.recalcSlides(),e.slideTo(e.realIndex,0)}};function N(e,t,s){const a=r(),{params:i}=e,n=i.edgeSwipeDetection,l=i.edgeSwipeThreshold;return!n||!(s<=l||s>=a.innerWidth-l)||"prevent"===n&&(t.preventDefault(),!0)}function Y(e){const t=this,s=a();let i=e;i.originalEvent&&(i=i.originalEvent);const n=t.touchEventsData;if("pointerdown"===i.type){if(null!==n.pointerId&&n.pointerId!==i.pointerId)return;n.pointerId=i.pointerId}else"touchstart"===i.type&&1===i.targetTouches.length&&(n.touchId=i.targetTouches[0].identifier);if("touchstart"===i.type)return void N(t,i,i.targetTouches[0].pageX);const{params:l,touches:d,enabled:c}=t;if(!c)return;if(!l.simulateTouch&&"mouse"===i.pointerType)return;if(t.animating&&l.preventInteractionOnTransition)return;!t.animating&&l.cssMode&&l.loop&&t.loopFix();let p=i.target;if("wrapper"===l.touchEventsTarget&&!t.wrapperEl.contains(p))return;if("which"in i&&3===i.which)return;if("button"in i&&i.button>0)return;if(n.isTouched&&n.isMoved)return;const u=!!l.noSwipingClass&&""!==l.noSwipingClass,m=i.composedPath?i.composedPath():i.path;u&&i.target&&i.target.shadowRoot&&m&&(p=m[0]);const h=l.noSwipingSelector?l.noSwipingSelector:`.${l.noSwipingClass}`,f=!(!i.target||!i.target.shadowRoot);if(l.noSwiping&&(f?function(e,t){return void 0===t&&(t=this),function t(s){if(!s||s===a()||s===r())return null;s.assignedSlot&&(s=s.assignedSlot);const i=s.closest(e);return i||s.getRootNode?i||t(s.getRootNode().host):null}(t)}(h,p):p.closest(h)))return void(t.allowClick=!0);if(l.swipeHandler&&!p.closest(l.swipeHandler))return;d.currentX=i.pageX,d.currentY=i.pageY;const g=d.currentX,v=d.currentY;if(!N(t,i,g))return;Object.assign(n,{isTouched:!0,isMoved:!1,allowTouchCallbacks:!0,isScrolling:void 0,startMoving:void 0}),d.startX=g,d.startY=v,n.touchStartTime=o(),t.allowClick=!0,t.updateSize(),t.swipeDirection=void 0,l.threshold>0&&(n.allowThresholdMove=!1);let w=!0;p.matches(n.focusableElements)&&(w=!1,"SELECT"===p.nodeName&&(n.isTouched=!1)),s.activeElement&&s.activeElement.matches(n.focusableElements)&&s.activeElement!==p&&s.activeElement.blur();const b=w&&t.allowTouchMove&&l.touchStartPreventDefault;!l.touchStartForcePreventDefault&&!b||p.isContentEditable||i.preventDefault(),l.freeMode&&l.freeMode.enabled&&t.freeMode&&t.animating&&!l.cssMode&&t.freeMode.onTouchStart(),t.emit("touchStart",i)}function B(e){const t=a(),s=this,i=s.touchEventsData,{params:r,touches:n,rtlTranslate:l,enabled:d}=s;if(!d)return;if(!r.simulateTouch&&"mouse"===e.pointerType)return;let c,p=e;if(p.originalEvent&&(p=p.originalEvent),"pointermove"===p.type){if(null!==i.touchId)return;if(p.pointerId!==i.pointerId)return}if("touchmove"===p.type){if(c=[...p.changedTouches].filter((e=>e.identifier===i.touchId))[0],!c||c.identifier!==i.touchId)return}else c=p;if(!i.isTouched)return void(i.startMoving&&i.isScrolling&&s.emit("touchMoveOpposite",p));const u=c.pageX,m=c.pageY;if(p.preventedByNestedSwiper)return n.startX=u,void(n.startY=m);if(!s.allowTouchMove)return p.target.matches(i.focusableElements)||(s.allowClick=!1),void(i.isTouched&&(Object.assign(n,{startX:u,startY:m,currentX:u,currentY:m}),i.touchStartTime=o()));if(r.touchReleaseOnEdges&&!r.loop)if(s.isVertical()){if(m<n.startY&&s.translate<=s.maxTranslate()||m>n.startY&&s.translate>=s.minTranslate())return i.isTouched=!1,void(i.isMoved=!1)}else if(u<n.startX&&s.translate<=s.maxTranslate()||u>n.startX&&s.translate>=s.minTranslate())return;if(t.activeElement&&p.target===t.activeElement&&p.target.matches(i.focusableElements))return i.isMoved=!0,void(s.allowClick=!1);i.allowTouchCallbacks&&s.emit("touchMove",p),n.previousX=n.currentX,n.previousY=n.currentY,n.currentX=u,n.currentY=m;const h=n.currentX-n.startX,f=n.currentY-n.startY;if(s.params.threshold&&Math.sqrt(h**2+f**2)<s.params.threshold)return;if(void 0===i.isScrolling){let e;s.isHorizontal()&&n.currentY===n.startY||s.isVertical()&&n.currentX===n.startX?i.isScrolling=!1:h*h+f*f>=25&&(e=180*Math.atan2(Math.abs(f),Math.abs(h))/Math.PI,i.isScrolling=s.isHorizontal()?e>r.touchAngle:90-e>r.touchAngle)}if(i.isScrolling&&s.emit("touchMoveOpposite",p),void 0===i.startMoving&&(n.currentX===n.startX&&n.currentY===n.startY||(i.startMoving=!0)),i.isScrolling)return void(i.isTouched=!1);if(!i.startMoving)return;s.allowClick=!1,!r.cssMode&&p.cancelable&&p.preventDefault(),r.touchMoveStopPropagation&&!r.nested&&p.stopPropagation();let g=s.isHorizontal()?h:f,v=s.isHorizontal()?n.currentX-n.previousX:n.currentY-n.previousY;r.oneWayMovement&&(g=Math.abs(g)*(l?1:-1),v=Math.abs(v)*(l?1:-1)),n.diff=g,g*=r.touchRatio,l&&(g=-g,v=-v);const w=s.touchesDirection;s.swipeDirection=g>0?"prev":"next",s.touchesDirection=v>0?"prev":"next";const b=s.params.loop&&!r.cssMode,y="next"===s.touchesDirection&&s.allowSlideNext||"prev"===s.touchesDirection&&s.allowSlidePrev;if(!i.isMoved){if(b&&y&&s.loopFix({direction:s.swipeDirection}),i.startTranslate=s.getTranslate(),s.setTransition(0),s.animating){const e=new window.CustomEvent("transitionend",{bubbles:!0,cancelable:!0});s.wrapperEl.dispatchEvent(e)}i.allowMomentumBounce=!1,!r.grabCursor||!0!==s.allowSlideNext&&!0!==s.allowSlidePrev||s.setGrabCursor(!0),s.emit("sliderFirstMove",p)}if((new Date).getTime(),i.isMoved&&i.allowThresholdMove&&w!==s.touchesDirection&&b&&y&&Math.abs(g)>=1)return Object.assign(n,{startX:u,startY:m,currentX:u,currentY:m,startTranslate:i.currentTranslate}),i.loopSwapReset=!0,void(i.startTranslate=i.currentTranslate);s.emit("sliderMove",p),i.isMoved=!0,i.currentTranslate=g+i.startTranslate;let E=!0,x=r.resistanceRatio;if(r.touchReleaseOnEdges&&(x=0),g>0?(b&&y&&i.allowThresholdMove&&i.currentTranslate>(r.centeredSlides?s.minTranslate()-s.slidesSizesGrid[s.activeIndex+1]:s.minTranslate())&&s.loopFix({direction:"prev",setTranslate:!0,activeSlideIndex:0}),i.currentTranslate>s.minTranslate()&&(E=!1,r.resistance&&(i.currentTranslate=s.minTranslate()-1+(-s.minTranslate()+i.startTranslate+g)**x))):g<0&&(b&&y&&i.allowThresholdMove&&i.currentTranslate<(r.centeredSlides?s.maxTranslate()+s.slidesSizesGrid[s.slidesSizesGrid.length-1]:s.maxTranslate())&&s.loopFix({direction:"next",setTranslate:!0,activeSlideIndex:s.slides.length-("auto"===r.slidesPerView?s.slidesPerViewDynamic():Math.ceil(parseFloat(r.slidesPerView,10)))}),i.currentTranslate<s.maxTranslate()&&(E=!1,r.resistance&&(i.currentTranslate=s.maxTranslate()+1-(s.maxTranslate()-i.startTranslate-g)**x))),E&&(p.preventedByNestedSwiper=!0),!s.allowSlideNext&&"next"===s.swipeDirection&&i.currentTranslate<i.startTranslate&&(i.currentTranslate=i.startTranslate),!s.allowSlidePrev&&"prev"===s.swipeDirection&&i.currentTranslate>i.startTranslate&&(i.currentTranslate=i.startTranslate),s.allowSlidePrev||s.allowSlideNext||(i.currentTranslate=i.startTranslate),r.threshold>0){if(!(Math.abs(g)>r.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=s.isHorizontal()?n.currentX-n.startX:n.currentY-n.startY)}r.followFinger&&!r.cssMode&&((r.freeMode&&r.freeMode.enabled&&s.freeMode||r.watchSlidesProgress)&&(s.updateActiveIndex(),s.updateSlidesClasses()),r.freeMode&&r.freeMode.enabled&&s.freeMode&&s.freeMode.onTouchMove(),s.updateProgress(i.currentTranslate),s.setTranslate(i.currentTranslate))}function R(e){const t=this,s=t.touchEventsData;let a,i=e;i.originalEvent&&(i=i.originalEvent);if("touchend"===i.type||"touchcancel"===i.type){if(a=[...i.changedTouches].filter((e=>e.identifier===s.touchId))[0],!a||a.identifier!==s.touchId)return}else{if(null!==s.touchId)return;if(i.pointerId!==s.pointerId)return;a=i}if(["pointercancel","pointerout","pointerleave","contextmenu"].includes(i.type)){if(!(["pointercancel","contextmenu"].includes(i.type)&&(t.browser.isSafari||t.browser.isWebView)))return}s.pointerId=null,s.touchId=null;const{params:r,touches:n,rtlTranslate:d,slidesGrid:c,enabled:p}=t;if(!p)return;if(!r.simulateTouch&&"mouse"===i.pointerType)return;if(s.allowTouchCallbacks&&t.emit("touchEnd",i),s.allowTouchCallbacks=!1,!s.isTouched)return s.isMoved&&r.grabCursor&&t.setGrabCursor(!1),s.isMoved=!1,void(s.startMoving=!1);r.grabCursor&&s.isMoved&&s.isTouched&&(!0===t.allowSlideNext||!0===t.allowSlidePrev)&&t.setGrabCursor(!1);const u=o(),m=u-s.touchStartTime;if(t.allowClick){const e=i.path||i.composedPath&&i.composedPath();t.updateClickedSlide(e&&e[0]||i.target,e),t.emit("tap click",i),m<300&&u-s.lastClickTime<300&&t.emit("doubleTap doubleClick",i)}if(s.lastClickTime=o(),l((()=>{t.destroyed||(t.allowClick=!0)})),!s.isTouched||!s.isMoved||!t.swipeDirection||0===n.diff&&!s.loopSwapReset||s.currentTranslate===s.startTranslate&&!s.loopSwapReset)return s.isTouched=!1,s.isMoved=!1,void(s.startMoving=!1);let h;if(s.isTouched=!1,s.isMoved=!1,s.startMoving=!1,h=r.followFinger?d?t.translate:-t.translate:-s.currentTranslate,r.cssMode)return;if(r.freeMode&&r.freeMode.enabled)return void t.freeMode.onTouchEnd({currentPos:h});const f=h>=-t.maxTranslate()&&!t.params.loop;let g=0,v=t.slidesSizesGrid[0];for(let e=0;e<c.length;e+=e<r.slidesPerGroupSkip?1:r.slidesPerGroup){const t=e<r.slidesPerGroupSkip-1?1:r.slidesPerGroup;void 0!==c[e+t]?(f||h>=c[e]&&h<c[e+t])&&(g=e,v=c[e+t]-c[e]):(f||h>=c[e])&&(g=e,v=c[c.length-1]-c[c.length-2])}let w=null,b=null;r.rewind&&(t.isBeginning?b=r.virtual&&r.virtual.enabled&&t.virtual?t.virtual.slides.length-1:t.slides.length-1:t.isEnd&&(w=0));const y=(h-c[g])/v,E=g<r.slidesPerGroupSkip-1?1:r.slidesPerGroup;if(m>r.longSwipesMs){if(!r.longSwipes)return void t.slideTo(t.activeIndex);"next"===t.swipeDirection&&(y>=r.longSwipesRatio?t.slideTo(r.rewind&&t.isEnd?w:g+E):t.slideTo(g)),"prev"===t.swipeDirection&&(y>1-r.longSwipesRatio?t.slideTo(g+E):null!==b&&y<0&&Math.abs(y)>r.longSwipesRatio?t.slideTo(b):t.slideTo(g))}else{if(!r.shortSwipes)return void t.slideTo(t.activeIndex);t.navigation&&(i.target===t.navigation.nextEl||i.target===t.navigation.prevEl)?i.target===t.navigation.nextEl?t.slideTo(g+E):t.slideTo(g):("next"===t.swipeDirection&&t.slideTo(null!==w?w:g+E),"prev"===t.swipeDirection&&t.slideTo(null!==b?b:g))}}function q(){const e=this,{params:t,el:s}=e;if(s&&0===s.offsetWidth)return;t.breakpoints&&e.setBreakpoint();const{allowSlideNext:a,allowSlidePrev:i,snapGrid:r}=e,n=e.virtual&&e.params.virtual.enabled;e.allowSlideNext=!0,e.allowSlidePrev=!0,e.updateSize(),e.updateSlides(),e.updateSlidesClasses();const l=n&&t.loop;!("auto"===t.slidesPerView||t.slidesPerView>1)||!e.isEnd||e.isBeginning||e.params.centeredSlides||l?e.params.loop&&!n?e.slideToLoop(e.realIndex,0,!1,!0):e.slideTo(e.activeIndex,0,!1,!0):e.slideTo(e.slides.length-1,0,!1,!0),e.autoplay&&e.autoplay.running&&e.autoplay.paused&&(clearTimeout(e.autoplay.resizeTimeout),e.autoplay.resizeTimeout=setTimeout((()=>{e.autoplay&&e.autoplay.running&&e.autoplay.paused&&e.autoplay.resume()}),500)),e.allowSlidePrev=i,e.allowSlideNext=a,e.params.watchOverflow&&r!==e.snapGrid&&e.checkOverflow()}function V(e){const t=this;t.enabled&&(t.allowClick||(t.params.preventClicks&&e.preventDefault(),t.params.preventClicksPropagation&&t.animating&&(e.stopPropagation(),e.stopImmediatePropagation())))}function _(){const e=this,{wrapperEl:t,rtlTranslate:s,enabled:a}=e;if(!a)return;let i;e.previousTranslate=e.translate,e.isHorizontal()?e.translate=-t.scrollLeft:e.translate=-t.scrollTop,0===e.translate&&(e.translate=0),e.updateActiveIndex(),e.updateSlidesClasses();const r=e.maxTranslate()-e.minTranslate();i=0===r?0:(e.translate-e.minTranslate())/r,i!==e.progress&&e.updateProgress(s?-e.translate:e.translate),e.emit("setTranslate",e.translate,!1)}function F(e){const t=this;z(t,e.target),t.params.cssMode||"auto"!==t.params.slidesPerView&&!t.params.autoHeight||t.update()}function j(){const e=this;e.documentTouchHandlerProceeded||(e.documentTouchHandlerProceeded=!0,e.params.touchReleaseOnEdges&&(e.el.style.touchAction="auto"))}const W=(e,t)=>{const s=a(),{params:i,el:r,wrapperEl:n,device:l}=e,o=!!i.nested,d="on"===t?"addEventListener":"removeEventListener",c=t;s[d]("touchstart",e.onDocumentTouchStart,{passive:!1,capture:o}),r[d]("touchstart",e.onTouchStart,{passive:!1}),r[d]("pointerdown",e.onTouchStart,{passive:!1}),s[d]("touchmove",e.onTouchMove,{passive:!1,capture:o}),s[d]("pointermove",e.onTouchMove,{passive:!1,capture:o}),s[d]("touchend",e.onTouchEnd,{passive:!0}),s[d]("pointerup",e.onTouchEnd,{passive:!0}),s[d]("pointercancel",e.onTouchEnd,{passive:!0}),s[d]("touchcancel",e.onTouchEnd,{passive:!0}),s[d]("pointerout",e.onTouchEnd,{passive:!0}),s[d]("pointerleave",e.onTouchEnd,{passive:!0}),s[d]("contextmenu",e.onTouchEnd,{passive:!0}),(i.preventClicks||i.preventClicksPropagation)&&r[d]("click",e.onClick,!0),i.cssMode&&n[d]("scroll",e.onScroll),i.updateOnWindowResize?e[c](l.ios||l.android?"resize orientationchange observerUpdate":"resize observerUpdate",q,!0):e[c]("observerUpdate",q,!0),r[d]("load",e.onLoad,{capture:!0})};const U=(e,t)=>e.grid&&t.grid&&t.grid.rows>1;var K={init:!0,direction:"horizontal",oneWayMovement:!1,touchEventsTarget:"wrapper",initialSlide:0,speed:300,cssMode:!1,updateOnWindowResize:!0,resizeObserver:!0,nested:!1,createElements:!1,eventsPrefix:"swiper",enabled:!0,focusableElements:"input, select, option, textarea, button, video, label",width:null,height:null,preventInteractionOnTransition:!1,userAgent:null,url:null,edgeSwipeDetection:!1,edgeSwipeThreshold:20,autoHeight:!1,setWrapperSize:!1,virtualTranslate:!1,effect:"slide",breakpoints:void 0,breakpointsBase:"window",spaceBetween:0,slidesPerView:1,slidesPerGroup:1,slidesPerGroupSkip:0,slidesPerGroupAuto:!1,centeredSlides:!1,centeredSlidesBounds:!1,slidesOffsetBefore:0,slidesOffsetAfter:0,normalizeSlideIndex:!0,centerInsufficientSlides:!1,watchOverflow:!0,roundLengths:!1,touchRatio:1,touchAngle:45,simulateTouch:!0,shortSwipes:!0,longSwipes:!0,longSwipesRatio:.5,longSwipesMs:300,followFinger:!0,allowTouchMove:!0,threshold:5,touchMoveStopPropagation:!1,touchStartPreventDefault:!0,touchStartForcePreventDefault:!1,touchReleaseOnEdges:!1,uniqueNavElements:!0,resistance:!0,resistanceRatio:.85,watchSlidesProgress:!1,grabCursor:!1,preventClicks:!0,preventClicksPropagation:!0,slideToClickedSlide:!1,loop:!1,loopAddBlankSlides:!0,loopAdditionalSlides:0,loopPreventsSliding:!0,rewind:!1,allowSlidePrev:!0,allowSlideNext:!0,swipeHandler:null,noSwiping:!0,noSwipingClass:"swiper-no-swiping",noSwipingSelector:null,passiveListeners:!0,maxBackfaceHiddenSlides:10,containerModifierClass:"swiper-",slideClass:"swiper-slide",slideBlankClass:"swiper-slide-blank",slideActiveClass:"swiper-slide-active",slideVisibleClass:"swiper-slide-visible",slideFullyVisibleClass:"swiper-slide-fully-visible",slideNextClass:"swiper-slide-next",slidePrevClass:"swiper-slide-prev",wrapperClass:"swiper-wrapper",lazyPreloaderClass:"swiper-lazy-preloader",lazyPreloadPrevNext:0,runCallbacksOnInit:!0,_emitClasses:!1};function Z(e,t){return function(s){void 0===s&&(s={});const a=Object.keys(s)[0],i=s[a];"object"==typeof i&&null!==i?(!0===e[a]&&(e[a]={enabled:!0}),"navigation"===a&&e[a]&&e[a].enabled&&!e[a].prevEl&&!e[a].nextEl&&(e[a].auto=!0),["pagination","scrollbar"].indexOf(a)>=0&&e[a]&&e[a].enabled&&!e[a].el&&(e[a].auto=!0),a in e&&"enabled"in i?("object"!=typeof e[a]||"enabled"in e[a]||(e[a].enabled=!0),e[a]||(e[a]={enabled:!1}),p(t,s)):p(t,s)):p(t,s)}}const Q={eventsEmitter:I,update:O,translate:D,transition:{setTransition:function(e,t){const s=this;s.params.cssMode||(s.wrapperEl.style.transitionDuration=`${e}ms`,s.wrapperEl.style.transitionDelay=0===e?"0ms":""),s.emit("setTransition",e,t)},transitionStart:function(e,t){void 0===e&&(e=!0);const s=this,{params:a}=s;a.cssMode||(a.autoHeight&&s.updateAutoHeight(),G({swiper:s,runCallbacks:e,direction:t,step:"Start"}))},transitionEnd:function(e,t){void 0===e&&(e=!0);const s=this,{params:a}=s;s.animating=!1,a.cssMode||(s.setTransition(0),G({swiper:s,runCallbacks:e,direction:t,step:"End"}))}},slide:X,loop:H,grabCursor:{setGrabCursor:function(e){const t=this;if(!t.params.simulateTouch||t.params.watchOverflow&&t.isLocked||t.params.cssMode)return;const s="container"===t.params.touchEventsTarget?t.el:t.wrapperEl;t.isElement&&(t.__preventObserver__=!0),s.style.cursor="move",s.style.cursor=e?"grabbing":"grab",t.isElement&&requestAnimationFrame((()=>{t.__preventObserver__=!1}))},unsetGrabCursor:function(){const e=this;e.params.watchOverflow&&e.isLocked||e.params.cssMode||(e.isElement&&(e.__preventObserver__=!0),e["container"===e.params.touchEventsTarget?"el":"wrapperEl"].style.cursor="",e.isElement&&requestAnimationFrame((()=>{e.__preventObserver__=!1})))}},events:{attachEvents:function(){const e=this,{params:t}=e;e.onTouchStart=Y.bind(e),e.onTouchMove=B.bind(e),e.onTouchEnd=R.bind(e),e.onDocumentTouchStart=j.bind(e),t.cssMode&&(e.onScroll=_.bind(e)),e.onClick=V.bind(e),e.onLoad=F.bind(e),W(e,"on")},detachEvents:function(){W(this,"off")}},breakpoints:{setBreakpoint:function(){const e=this,{realIndex:t,initialized:s,params:a,el:i}=e,r=a.breakpoints;if(!r||r&&0===Object.keys(r).length)return;const n=e.getBreakpoint(r,e.params.breakpointsBase,e.el);if(!n||e.currentBreakpoint===n)return;const l=(n in r?r[n]:void 0)||e.originalParams,o=U(e,a),d=U(e,l),c=a.enabled;o&&!d?(i.classList.remove(`${a.containerModifierClass}grid`,`${a.containerModifierClass}grid-column`),e.emitContainerClasses()):!o&&d&&(i.classList.add(`${a.containerModifierClass}grid`),(l.grid.fill&&"column"===l.grid.fill||!l.grid.fill&&"column"===a.grid.fill)&&i.classList.add(`${a.containerModifierClass}grid-column`),e.emitContainerClasses()),["navigation","pagination","scrollbar"].forEach((t=>{if(void 0===l[t])return;const s=a[t]&&a[t].enabled,i=l[t]&&l[t].enabled;s&&!i&&e[t].disable(),!s&&i&&e[t].enable()}));const u=l.direction&&l.direction!==a.direction,m=a.loop&&(l.slidesPerView!==a.slidesPerView||u),h=a.loop;u&&s&&e.changeDirection(),p(e.params,l);const f=e.params.enabled,g=e.params.loop;Object.assign(e,{allowTouchMove:e.params.allowTouchMove,allowSlideNext:e.params.allowSlideNext,allowSlidePrev:e.params.allowSlidePrev}),c&&!f?e.disable():!c&&f&&e.enable(),e.currentBreakpoint=n,e.emit("_beforeBreakpoint",l),s&&(m?(e.loopDestroy(),e.loopCreate(t),e.updateSlides()):!h&&g?(e.loopCreate(t),e.updateSlides()):h&&!g&&e.loopDestroy()),e.emit("breakpoint",l)},getBreakpoint:function(e,t,s){if(void 0===t&&(t="window"),!e||"container"===t&&!s)return;let a=!1;const i=r(),n="window"===t?i.innerHeight:s.clientHeight,l=Object.keys(e).map((e=>{if("string"==typeof e&&0===e.indexOf("@")){const t=parseFloat(e.substr(1));return{value:n*t,point:e}}return{value:e,point:e}}));l.sort(((e,t)=>parseInt(e.value,10)-parseInt(t.value,10)));for(let e=0;e<l.length;e+=1){const{point:r,value:n}=l[e];"window"===t?i.matchMedia(`(min-width: ${n}px)`).matches&&(a=r):n<=s.clientWidth&&(a=r)}return a||"max"}},checkOverflow:{checkOverflow:function(){const e=this,{isLocked:t,params:s}=e,{slidesOffsetBefore:a}=s;if(a){const t=e.slides.length-1,s=e.slidesGrid[t]+e.slidesSizesGrid[t]+2*a;e.isLocked=e.size>s}else e.isLocked=1===e.snapGrid.length;!0===s.allowSlideNext&&(e.allowSlideNext=!e.isLocked),!0===s.allowSlidePrev&&(e.allowSlidePrev=!e.isLocked),t&&t!==e.isLocked&&(e.isEnd=!1),t!==e.isLocked&&e.emit(e.isLocked?"lock":"unlock")}},classes:{addClasses:function(){const e=this,{classNames:t,params:s,rtl:a,el:i,device:r}=e,n=function(e,t){const s=[];return e.forEach((e=>{"object"==typeof e?Object.keys(e).forEach((a=>{e[a]&&s.push(t+a)})):"string"==typeof e&&s.push(t+e)})),s}(["initialized",s.direction,{"free-mode":e.params.freeMode&&s.freeMode.enabled},{autoheight:s.autoHeight},{rtl:a},{grid:s.grid&&s.grid.rows>1},{"grid-column":s.grid&&s.grid.rows>1&&"column"===s.grid.fill},{android:r.android},{ios:r.ios},{"css-mode":s.cssMode},{centered:s.cssMode&&s.centeredSlides},{"watch-progress":s.watchSlidesProgress}],s.containerModifierClass);t.push(...n),i.classList.add(...t),e.emitContainerClasses()},removeClasses:function(){const{el:e,classNames:t}=this;e.classList.remove(...t),this.emitContainerClasses()}}},J={};class ee{constructor(){let e,t;for(var s=arguments.length,i=new Array(s),r=0;r<s;r++)i[r]=arguments[r];1===i.length&&i[0].constructor&&"Object"===Object.prototype.toString.call(i[0]).slice(8,-1)?t=i[0]:[e,t]=i,t||(t={}),t=p({},t),e&&!t.el&&(t.el=e);const n=a();if(t.el&&"string"==typeof t.el&&n.querySelectorAll(t.el).length>1){const e=[];return n.querySelectorAll(t.el).forEach((s=>{const a=p({},t,{el:s});e.push(new ee(a))})),e}const l=this;l.__swiper__=!0,l.support=P(),l.device=L({userAgent:t.userAgent}),l.browser=A(),l.eventsListeners={},l.eventsAnyListeners=[],l.modules=[...l.__modules__],t.modules&&Array.isArray(t.modules)&&l.modules.push(...t.modules);const o={};l.modules.forEach((e=>{e({params:t,swiper:l,extendParams:Z(t,o),on:l.on.bind(l),once:l.once.bind(l),off:l.off.bind(l),emit:l.emit.bind(l)})}));const d=p({},K,o);return l.params=p({},d,J,t),l.originalParams=p({},l.params),l.passedParams=p({},t),l.params&&l.params.on&&Object.keys(l.params.on).forEach((e=>{l.on(e,l.params.on[e])})),l.params&&l.params.onAny&&l.onAny(l.params.onAny),Object.assign(l,{enabled:l.params.enabled,el:e,classNames:[],slides:[],slidesGrid:[],snapGrid:[],slidesSizesGrid:[],isHorizontal:()=>"horizontal"===l.params.direction,isVertical:()=>"vertical"===l.params.direction,activeIndex:0,realIndex:0,isBeginning:!0,isEnd:!1,translate:0,previousTranslate:0,progress:0,velocity:0,animating:!1,cssOverflowAdjustment(){return Math.trunc(this.translate/2**23)*2**23},allowSlideNext:l.params.allowSlideNext,allowSlidePrev:l.params.allowSlidePrev,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:0,clickTimeout:void 0,velocities:[],allowMomentumBounce:void 0,startMoving:void 0,pointerId:null,touchId:null},allowClick:!0,allowTouchMove:l.params.allowTouchMove,touches:{startX:0,startY:0,currentX:0,currentY:0,diff:0},imagesToLoad:[],imagesLoaded:0}),l.emit("_swiper"),l.params.init&&l.init(),l}getDirectionLabel(e){return this.isHorizontal()?e:{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"}[e]}getSlideIndex(e){const{slidesEl:t,params:s}=this,a=y(f(t,`.${s.slideClass}, swiper-slide`)[0]);return y(e)-a}getSlideIndexByData(e){return this.getSlideIndex(this.slides.filter((t=>1*t.getAttribute("data-swiper-slide-index")===e))[0])}recalcSlides(){const{slidesEl:e,params:t}=this;this.slides=f(e,`.${t.slideClass}, swiper-slide`)}enable(){const e=this;e.enabled||(e.enabled=!0,e.params.grabCursor&&e.setGrabCursor(),e.emit("enable"))}disable(){const e=this;e.enabled&&(e.enabled=!1,e.params.grabCursor&&e.unsetGrabCursor(),e.emit("disable"))}setProgress(e,t){const s=this;e=Math.min(Math.max(e,0),1);const a=s.minTranslate(),i=(s.maxTranslate()-a)*e+a;s.translateTo(i,void 0===t?0:t),s.updateActiveIndex(),s.updateSlidesClasses()}emitContainerClasses(){const e=this;if(!e.params._emitClasses||!e.el)return;const t=e.el.className.split(" ").filter((t=>0===t.indexOf("swiper")||0===t.indexOf(e.params.containerModifierClass)));e.emit("_containerClasses",t.join(" "))}getSlideClasses(e){const t=this;return t.destroyed?"":e.className.split(" ").filter((e=>0===e.indexOf("swiper-slide")||0===e.indexOf(t.params.slideClass))).join(" ")}emitSlidesClasses(){const e=this;if(!e.params._emitClasses||!e.el)return;const t=[];e.slides.forEach((s=>{const a=e.getSlideClasses(s);t.push({slideEl:s,classNames:a}),e.emit("_slideClass",s,a)})),e.emit("_slideClasses",t)}slidesPerViewDynamic(e,t){void 0===e&&(e="current"),void 0===t&&(t=!1);const{params:s,slides:a,slidesGrid:i,slidesSizesGrid:r,size:n,activeIndex:l}=this;let o=1;if("number"==typeof s.slidesPerView)return s.slidesPerView;if(s.centeredSlides){let e,t=a[l]?a[l].swiperSlideSize:0;for(let s=l+1;s<a.length;s+=1)a[s]&&!e&&(t+=a[s].swiperSlideSize,o+=1,t>n&&(e=!0));for(let s=l-1;s>=0;s-=1)a[s]&&!e&&(t+=a[s].swiperSlideSize,o+=1,t>n&&(e=!0))}else if("current"===e)for(let e=l+1;e<a.length;e+=1){(t?i[e]+r[e]-i[l]<n:i[e]-i[l]<n)&&(o+=1)}else for(let e=l-1;e>=0;e-=1){i[l]-i[e]<n&&(o+=1)}return o}update(){const e=this;if(!e||e.destroyed)return;const{snapGrid:t,params:s}=e;function a(){const t=e.rtlTranslate?-1*e.translate:e.translate,s=Math.min(Math.max(t,e.maxTranslate()),e.minTranslate());e.setTranslate(s),e.updateActiveIndex(),e.updateSlidesClasses()}let i;if(s.breakpoints&&e.setBreakpoint(),[...e.el.querySelectorAll('[loading="lazy"]')].forEach((t=>{t.complete&&z(e,t)})),e.updateSize(),e.updateSlides(),e.updateProgress(),e.updateSlidesClasses(),s.freeMode&&s.freeMode.enabled&&!s.cssMode)a(),s.autoHeight&&e.updateAutoHeight();else{if(("auto"===s.slidesPerView||s.slidesPerView>1)&&e.isEnd&&!s.centeredSlides){const t=e.virtual&&s.virtual.enabled?e.virtual.slides:e.slides;i=e.slideTo(t.length-1,0,!1,!0)}else i=e.slideTo(e.activeIndex,0,!1,!0);i||a()}s.watchOverflow&&t!==e.snapGrid&&e.checkOverflow(),e.emit("update")}changeDirection(e,t){void 0===t&&(t=!0);const s=this,a=s.params.direction;return e||(e="horizontal"===a?"vertical":"horizontal"),e===a||"horizontal"!==e&&"vertical"!==e||(s.el.classList.remove(`${s.params.containerModifierClass}${a}`),s.el.classList.add(`${s.params.containerModifierClass}${e}`),s.emitContainerClasses(),s.params.direction=e,s.slides.forEach((t=>{"vertical"===e?t.style.width="":t.style.height=""})),s.emit("changeDirection"),t&&s.update()),s}changeLanguageDirection(e){const t=this;t.rtl&&"rtl"===e||!t.rtl&&"ltr"===e||(t.rtl="rtl"===e,t.rtlTranslate="horizontal"===t.params.direction&&t.rtl,t.rtl?(t.el.classList.add(`${t.params.containerModifierClass}rtl`),t.el.dir="rtl"):(t.el.classList.remove(`${t.params.containerModifierClass}rtl`),t.el.dir="ltr"),t.update())}mount(e){const t=this;if(t.mounted)return!0;let s=e||t.params.el;if("string"==typeof s&&(s=document.querySelector(s)),!s)return!1;s.swiper=t,s.parentNode&&s.parentNode.host&&"SWIPER-CONTAINER"===s.parentNode.host.nodeName&&(t.isElement=!0);const a=()=>`.${(t.params.wrapperClass||"").trim().split(" ").join(".")}`;let i=(()=>{if(s&&s.shadowRoot&&s.shadowRoot.querySelector){return s.shadowRoot.querySelector(a())}return f(s,a())[0]})();return!i&&t.params.createElements&&(i=v("div",t.params.wrapperClass),s.append(i),f(s,`.${t.params.slideClass}`).forEach((e=>{i.append(e)}))),Object.assign(t,{el:s,wrapperEl:i,slidesEl:t.isElement&&!s.parentNode.host.slideSlots?s.parentNode.host:i,hostEl:t.isElement?s.parentNode.host:s,mounted:!0,rtl:"rtl"===s.dir.toLowerCase()||"rtl"===b(s,"direction"),rtlTranslate:"horizontal"===t.params.direction&&("rtl"===s.dir.toLowerCase()||"rtl"===b(s,"direction")),wrongRTL:"-webkit-box"===b(i,"display")}),!0}init(e){const t=this;if(t.initialized)return t;if(!1===t.mount(e))return t;t.emit("beforeInit"),t.params.breakpoints&&t.setBreakpoint(),t.addClasses(),t.updateSize(),t.updateSlides(),t.params.watchOverflow&&t.checkOverflow(),t.params.grabCursor&&t.enabled&&t.setGrabCursor(),t.params.loop&&t.virtual&&t.params.virtual.enabled?t.slideTo(t.params.initialSlide+t.virtual.slidesBefore,0,t.params.runCallbacksOnInit,!1,!0):t.slideTo(t.params.initialSlide,0,t.params.runCallbacksOnInit,!1,!0),t.params.loop&&t.loopCreate(),t.attachEvents();const s=[...t.el.querySelectorAll('[loading="lazy"]')];return t.isElement&&s.push(...t.hostEl.querySelectorAll('[loading="lazy"]')),s.forEach((e=>{e.complete?z(t,e):e.addEventListener("load",(e=>{z(t,e.target)}))})),k(t),t.initialized=!0,k(t),t.emit("init"),t.emit("afterInit"),t}destroy(e,t){void 0===e&&(e=!0),void 0===t&&(t=!0);const s=this,{params:a,el:i,wrapperEl:r,slides:n}=s;return void 0===s.params||s.destroyed||(s.emit("beforeDestroy"),s.initialized=!1,s.detachEvents(),a.loop&&s.loopDestroy(),t&&(s.removeClasses(),i.removeAttribute("style"),r.removeAttribute("style"),n&&n.length&&n.forEach((e=>{e.classList.remove(a.slideVisibleClass,a.slideFullyVisibleClass,a.slideActiveClass,a.slideNextClass,a.slidePrevClass),e.removeAttribute("style"),e.removeAttribute("data-swiper-slide-index")}))),s.emit("destroy"),Object.keys(s.eventsListeners).forEach((e=>{s.off(e)})),!1!==e&&(s.el.swiper=null,function(e){const t=e;Object.keys(t).forEach((e=>{try{t[e]=null}catch(e){}try{delete t[e]}catch(e){}}))}(s)),s.destroyed=!0),null}static extendDefaults(e){p(J,e)}static get extendedDefaults(){return J}static get defaults(){return K}static installModule(e){ee.prototype.__modules__||(ee.prototype.__modules__=[]);const t=ee.prototype.__modules__;"function"==typeof e&&t.indexOf(e)<0&&t.push(e)}static use(e){return Array.isArray(e)?(e.forEach((e=>ee.installModule(e))),ee):(ee.installModule(e),ee)}}function te(e,t,s,a){return e.params.createElements&&Object.keys(a).forEach((i=>{if(!s[i]&&!0===s.auto){let r=f(e.el,`.${a[i]}`)[0];r||(r=v("div",a[i]),r.className=a[i],e.el.append(r)),s[i]=r,t[i]=r}})),s}function se(e){return void 0===e&&(e=""),`.${e.trim().replace(/([\.:!+\/])/g,"\\$1").replace(/ /g,".")}`}function ae(e){const t=this,{params:s,slidesEl:a}=t;s.loop&&t.loopDestroy();const i=e=>{if("string"==typeof e){const t=document.createElement("div");t.innerHTML=e,a.append(t.children[0]),t.innerHTML=""}else a.append(e)};if("object"==typeof e&&"length"in e)for(let t=0;t<e.length;t+=1)e[t]&&i(e[t]);else i(e);t.recalcSlides(),s.loop&&t.loopCreate(),s.observer&&!t.isElement||t.update()}function ie(e){const t=this,{params:s,activeIndex:a,slidesEl:i}=t;s.loop&&t.loopDestroy();let r=a+1;const n=e=>{if("string"==typeof e){const t=document.createElement("div");t.innerHTML=e,i.prepend(t.children[0]),t.innerHTML=""}else i.prepend(e)};if("object"==typeof e&&"length"in e){for(let t=0;t<e.length;t+=1)e[t]&&n(e[t]);r=a+e.length}else n(e);t.recalcSlides(),s.loop&&t.loopCreate(),s.observer&&!t.isElement||t.update(),t.slideTo(r,0,!1)}function re(e,t){const s=this,{params:a,activeIndex:i,slidesEl:r}=s;let n=i;a.loop&&(n-=s.loopedSlides,s.loopDestroy(),s.recalcSlides());const l=s.slides.length;if(e<=0)return void s.prependSlide(t);if(e>=l)return void s.appendSlide(t);let o=n>e?n+1:n;const d=[];for(let t=l-1;t>=e;t-=1){const e=s.slides[t];e.remove(),d.unshift(e)}if("object"==typeof t&&"length"in t){for(let e=0;e<t.length;e+=1)t[e]&&r.append(t[e]);o=n>e?n+t.length:n}else r.append(t);for(let e=0;e<d.length;e+=1)r.append(d[e]);s.recalcSlides(),a.loop&&s.loopCreate(),a.observer&&!s.isElement||s.update(),a.loop?s.slideTo(o+s.loopedSlides,0,!1):s.slideTo(o,0,!1)}function ne(e){const t=this,{params:s,activeIndex:a}=t;let i=a;s.loop&&(i-=t.loopedSlides,t.loopDestroy());let r,n=i;if("object"==typeof e&&"length"in e){for(let s=0;s<e.length;s+=1)r=e[s],t.slides[r]&&t.slides[r].remove(),r<n&&(n-=1);n=Math.max(n,0)}else r=e,t.slides[r]&&t.slides[r].remove(),r<n&&(n-=1),n=Math.max(n,0);t.recalcSlides(),s.loop&&t.loopCreate(),s.observer&&!t.isElement||t.update(),s.loop?t.slideTo(n+t.loopedSlides,0,!1):t.slideTo(n,0,!1)}function le(){const e=this,t=[];for(let s=0;s<e.slides.length;s+=1)t.push(s);e.removeSlide(t)}function oe(e){const{effect:t,swiper:s,on:a,setTranslate:i,setTransition:r,overwriteParams:n,perspective:l,recreateShadows:o,getEffectParams:d}=e;let c;a("beforeInit",(()=>{if(s.params.effect!==t)return;s.classNames.push(`${s.params.containerModifierClass}${t}`),l&&l()&&s.classNames.push(`${s.params.containerModifierClass}3d`);const e=n?n():{};Object.assign(s.params,e),Object.assign(s.originalParams,e)})),a("setTranslate",(()=>{s.params.effect===t&&i()})),a("setTransition",((e,a)=>{s.params.effect===t&&r(a)})),a("transitionEnd",(()=>{if(s.params.effect===t&&o){if(!d||!d().slideShadows)return;s.slides.forEach((e=>{e.querySelectorAll(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").forEach((e=>e.remove()))})),o()}})),a("virtualUpdate",(()=>{s.params.effect===t&&(s.slides.length||(c=!0),requestAnimationFrame((()=>{c&&s.slides&&s.slides.length&&(i(),c=!1)})))}))}function de(e,t){const s=h(t);return s!==t&&(s.style.backfaceVisibility="hidden",s.style["-webkit-backface-visibility"]="hidden"),s}function ce(e){let{swiper:t,duration:s,transformElements:a,allSlides:i}=e;const{activeIndex:r}=t;if(t.params.virtualTranslate&&0!==s){let e,s=!1;e=i?a:a.filter((e=>{const s=e.classList.contains("swiper-slide-transform")?(e=>{if(!e.parentElement)return t.slides.filter((t=>t.shadowRoot&&t.shadowRoot===e.parentNode))[0];return e.parentElement})(e):e;return t.getSlideIndex(s)===r})),e.forEach((e=>{x(e,(()=>{if(s)return;if(!t||t.destroyed)return;s=!0,t.animating=!1;const e=new window.CustomEvent("transitionend",{bubbles:!0,cancelable:!0});t.wrapperEl.dispatchEvent(e)}))}))}}function pe(e,t,s){const a=`swiper-slide-shadow${s?`-${s}`:""}${e?` swiper-slide-shadow-${e}`:""}`,i=h(t);let r=i.querySelector(`.${a.split(" ").join(".")}`);return r||(r=v("div",a.split(" ")),i.append(r)),r}Object.keys(Q).forEach((e=>{Object.keys(Q[e]).forEach((t=>{ee.prototype[t]=Q[e][t]}))})),ee.use([function(e){let{swiper:t,on:s,emit:a}=e;const i=r();let n=null,l=null;const o=()=>{t&&!t.destroyed&&t.initialized&&(a("beforeResize"),a("resize"))},d=()=>{t&&!t.destroyed&&t.initialized&&a("orientationchange")};s("init",(()=>{t.params.resizeObserver&&void 0!==i.ResizeObserver?t&&!t.destroyed&&t.initialized&&(n=new ResizeObserver((e=>{l=i.requestAnimationFrame((()=>{const{width:s,height:a}=t;let i=s,r=a;e.forEach((e=>{let{contentBoxSize:s,contentRect:a,target:n}=e;n&&n!==t.el||(i=a?a.width:(s[0]||s).inlineSize,r=a?a.height:(s[0]||s).blockSize)})),i===s&&r===a||o()}))})),n.observe(t.el)):(i.addEventListener("resize",o),i.addEventListener("orientationchange",d))})),s("destroy",(()=>{l&&i.cancelAnimationFrame(l),n&&n.unobserve&&t.el&&(n.unobserve(t.el),n=null),i.removeEventListener("resize",o),i.removeEventListener("orientationchange",d)}))},function(e){let{swiper:t,extendParams:s,on:a,emit:i}=e;const n=[],l=r(),o=function(e,s){void 0===s&&(s={});const a=new(l.MutationObserver||l.WebkitMutationObserver)((e=>{if(t.__preventObserver__)return;if(1===e.length)return void i("observerUpdate",e[0]);const s=function(){i("observerUpdate",e[0])};l.requestAnimationFrame?l.requestAnimationFrame(s):l.setTimeout(s,0)}));a.observe(e,{attributes:void 0===s.attributes||s.attributes,childList:void 0===s.childList||s.childList,characterData:void 0===s.characterData||s.characterData}),n.push(a)};s({observer:!1,observeParents:!1,observeSlideChildren:!1}),a("init",(()=>{if(t.params.observer){if(t.params.observeParents){const e=E(t.hostEl);for(let t=0;t<e.length;t+=1)o(e[t])}o(t.hostEl,{childList:t.params.observeSlideChildren}),o(t.wrapperEl,{attributes:!1})}})),a("destroy",(()=>{n.forEach((e=>{e.disconnect()})),n.splice(0,n.length)}))}]);const ue=[function(e){let t,{swiper:s,extendParams:i,on:r,emit:n}=e;i({virtual:{enabled:!1,slides:[],cache:!0,renderSlide:null,renderExternal:null,renderExternalUpdate:!0,addSlidesBefore:0,addSlidesAfter:0}});const l=a();s.virtual={cache:{},from:void 0,to:void 0,slides:[],offset:0,slidesGrid:[]};const o=l.createElement("div");function d(e,t){const a=s.params.virtual;if(a.cache&&s.virtual.cache[t])return s.virtual.cache[t];let i;return a.renderSlide?(i=a.renderSlide.call(s,e,t),"string"==typeof i&&(o.innerHTML=i,i=o.children[0])):i=s.isElement?v("swiper-slide"):v("div",s.params.slideClass),i.setAttribute("data-swiper-slide-index",t),a.renderSlide||(i.innerHTML=e),a.cache&&(s.virtual.cache[t]=i),i}function c(e){const{slidesPerView:t,slidesPerGroup:a,centeredSlides:i,loop:r}=s.params,{addSlidesBefore:l,addSlidesAfter:o}=s.params.virtual,{from:c,to:p,slides:u,slidesGrid:m,offset:h}=s.virtual;s.params.cssMode||s.updateActiveIndex();const g=s.activeIndex||0;let v,w,b;v=s.rtlTranslate?"right":s.isHorizontal()?"left":"top",i?(w=Math.floor(t/2)+a+o,b=Math.floor(t/2)+a+l):(w=t+(a-1)+o,b=(r?t:a)+l);let y=g-b,E=g+w;r||(y=Math.max(y,0),E=Math.min(E,u.length-1));let x=(s.slidesGrid[y]||0)-(s.slidesGrid[0]||0);function S(){s.updateSlides(),s.updateProgress(),s.updateSlidesClasses(),n("virtualUpdate")}if(r&&g>=b?(y-=b,i||(x+=s.slidesGrid[0])):r&&g<b&&(y=-b,i&&(x+=s.slidesGrid[0])),Object.assign(s.virtual,{from:y,to:E,offset:x,slidesGrid:s.slidesGrid,slidesBefore:b,slidesAfter:w}),c===y&&p===E&&!e)return s.slidesGrid!==m&&x!==h&&s.slides.forEach((e=>{e.style[v]=x-Math.abs(s.cssOverflowAdjustment())+"px"})),s.updateProgress(),void n("virtualUpdate");if(s.params.virtual.renderExternal)return s.params.virtual.renderExternal.call(s,{offset:x,from:y,to:E,slides:function(){const e=[];for(let t=y;t<=E;t+=1)e.push(u[t]);return e}()}),void(s.params.virtual.renderExternalUpdate?S():n("virtualUpdate"));const T=[],M=[],C=e=>{let t=e;return e<0?t=u.length+e:t>=u.length&&(t-=u.length),t};if(e)s.slides.filter((e=>e.matches(`.${s.params.slideClass}, swiper-slide`))).forEach((e=>{e.remove()}));else for(let e=c;e<=p;e+=1)if(e<y||e>E){const t=C(e);s.slides.filter((e=>e.matches(`.${s.params.slideClass}[data-swiper-slide-index="${t}"], swiper-slide[data-swiper-slide-index="${t}"]`))).forEach((e=>{e.remove()}))}const P=r?-u.length:0,L=r?2*u.length:u.length;for(let t=P;t<L;t+=1)if(t>=y&&t<=E){const s=C(t);void 0===p||e?M.push(s):(t>p&&M.push(s),t<c&&T.push(s))}if(M.forEach((e=>{s.slidesEl.append(d(u[e],e))})),r)for(let e=T.length-1;e>=0;e-=1){const t=T[e];s.slidesEl.prepend(d(u[t],t))}else T.sort(((e,t)=>t-e)),T.forEach((e=>{s.slidesEl.prepend(d(u[e],e))}));f(s.slidesEl,".swiper-slide, swiper-slide").forEach((e=>{e.style[v]=x-Math.abs(s.cssOverflowAdjustment())+"px"})),S()}r("beforeInit",(()=>{if(!s.params.virtual.enabled)return;let e;if(void 0===s.passedParams.virtual.slides){const t=[...s.slidesEl.children].filter((e=>e.matches(`.${s.params.slideClass}, swiper-slide`)));t&&t.length&&(s.virtual.slides=[...t],e=!0,t.forEach(((e,t)=>{e.setAttribute("data-swiper-slide-index",t),s.virtual.cache[t]=e,e.remove()})))}e||(s.virtual.slides=s.params.virtual.slides),s.classNames.push(`${s.params.containerModifierClass}virtual`),s.params.watchSlidesProgress=!0,s.originalParams.watchSlidesProgress=!0,c()})),r("setTranslate",(()=>{s.params.virtual.enabled&&(s.params.cssMode&&!s._immediateVirtual?(clearTimeout(t),t=setTimeout((()=>{c()}),100)):c())})),r("init update resize",(()=>{s.params.virtual.enabled&&s.params.cssMode&&u(s.wrapperEl,"--swiper-virtual-size",`${s.virtualSize}px`)})),Object.assign(s.virtual,{appendSlide:function(e){if("object"==typeof e&&"length"in e)for(let t=0;t<e.length;t+=1)e[t]&&s.virtual.slides.push(e[t]);else s.virtual.slides.push(e);c(!0)},prependSlide:function(e){const t=s.activeIndex;let a=t+1,i=1;if(Array.isArray(e)){for(let t=0;t<e.length;t+=1)e[t]&&s.virtual.slides.unshift(e[t]);a=t+e.length,i=e.length}else s.virtual.slides.unshift(e);if(s.params.virtual.cache){const e=s.virtual.cache,t={};Object.keys(e).forEach((s=>{const a=e[s],r=a.getAttribute("data-swiper-slide-index");r&&a.setAttribute("data-swiper-slide-index",parseInt(r,10)+i),t[parseInt(s,10)+i]=a})),s.virtual.cache=t}c(!0),s.slideTo(a,0)},removeSlide:function(e){if(null==e)return;let t=s.activeIndex;if(Array.isArray(e))for(let a=e.length-1;a>=0;a-=1)s.params.virtual.cache&&(delete s.virtual.cache[e[a]],Object.keys(s.virtual.cache).forEach((t=>{t>e&&(s.virtual.cache[t-1]=s.virtual.cache[t],s.virtual.cache[t-1].setAttribute("data-swiper-slide-index",t-1),delete s.virtual.cache[t])}))),s.virtual.slides.splice(e[a],1),e[a]<t&&(t-=1),t=Math.max(t,0);else s.params.virtual.cache&&(delete s.virtual.cache[e],Object.keys(s.virtual.cache).forEach((t=>{t>e&&(s.virtual.cache[t-1]=s.virtual.cache[t],s.virtual.cache[t-1].setAttribute("data-swiper-slide-index",t-1),delete s.virtual.cache[t])}))),s.virtual.slides.splice(e,1),e<t&&(t-=1),t=Math.max(t,0);c(!0),s.slideTo(t,0)},removeAllSlides:function(){s.virtual.slides=[],s.params.virtual.cache&&(s.virtual.cache={}),c(!0),s.slideTo(0,0)},update:c})},function(e){let{swiper:t,extendParams:s,on:i,emit:n}=e;const l=a(),o=r();function d(e){if(!t.enabled)return;const{rtlTranslate:s}=t;let a=e;a.originalEvent&&(a=a.originalEvent);const i=a.keyCode||a.charCode,r=t.params.keyboard.pageUpDown,d=r&&33===i,c=r&&34===i,p=37===i,u=39===i,m=38===i,h=40===i;if(!t.allowSlideNext&&(t.isHorizontal()&&u||t.isVertical()&&h||c))return!1;if(!t.allowSlidePrev&&(t.isHorizontal()&&p||t.isVertical()&&m||d))return!1;if(!(a.shiftKey||a.altKey||a.ctrlKey||a.metaKey||l.activeElement&&l.activeElement.nodeName&&("input"===l.activeElement.nodeName.toLowerCase()||"textarea"===l.activeElement.nodeName.toLowerCase()))){if(t.params.keyboard.onlyInViewport&&(d||c||p||u||m||h)){let e=!1;if(E(t.el,`.${t.params.slideClass}, swiper-slide`).length>0&&0===E(t.el,`.${t.params.slideActiveClass}`).length)return;const a=t.el,i=a.clientWidth,r=a.clientHeight,n=o.innerWidth,l=o.innerHeight,d=w(a);s&&(d.left-=a.scrollLeft);const c=[[d.left,d.top],[d.left+i,d.top],[d.left,d.top+r],[d.left+i,d.top+r]];for(let t=0;t<c.length;t+=1){const s=c[t];if(s[0]>=0&&s[0]<=n&&s[1]>=0&&s[1]<=l){if(0===s[0]&&0===s[1])continue;e=!0}}if(!e)return}t.isHorizontal()?((d||c||p||u)&&(a.preventDefault?a.preventDefault():a.returnValue=!1),((c||u)&&!s||(d||p)&&s)&&t.slideNext(),((d||p)&&!s||(c||u)&&s)&&t.slidePrev()):((d||c||m||h)&&(a.preventDefault?a.preventDefault():a.returnValue=!1),(c||h)&&t.slideNext(),(d||m)&&t.slidePrev()),n("keyPress",i)}}function c(){t.keyboard.enabled||(l.addEventListener("keydown",d),t.keyboard.enabled=!0)}function p(){t.keyboard.enabled&&(l.removeEventListener("keydown",d),t.keyboard.enabled=!1)}t.keyboard={enabled:!1},s({keyboard:{enabled:!1,onlyInViewport:!0,pageUpDown:!0}}),i("init",(()=>{t.params.keyboard.enabled&&c()})),i("destroy",(()=>{t.keyboard.enabled&&p()})),Object.assign(t.keyboard,{enable:c,disable:p})},function(e){let{swiper:t,extendParams:s,on:a,emit:i}=e;const n=r();let d;s({mousewheel:{enabled:!1,releaseOnEdges:!1,invert:!1,forceToAxis:!1,sensitivity:1,eventsTarget:"container",thresholdDelta:null,thresholdTime:null,noMousewheelClass:"swiper-no-mousewheel"}}),t.mousewheel={enabled:!1};let c,p=o();const u=[];function m(){t.enabled&&(t.mouseEntered=!0)}function h(){t.enabled&&(t.mouseEntered=!1)}function f(e){return!(t.params.mousewheel.thresholdDelta&&e.delta<t.params.mousewheel.thresholdDelta)&&(!(t.params.mousewheel.thresholdTime&&o()-p<t.params.mousewheel.thresholdTime)&&(e.delta>=6&&o()-p<60||(e.direction<0?t.isEnd&&!t.params.loop||t.animating||(t.slideNext(),i("scroll",e.raw)):t.isBeginning&&!t.params.loop||t.animating||(t.slidePrev(),i("scroll",e.raw)),p=(new n.Date).getTime(),!1)))}function g(e){let s=e,a=!0;if(!t.enabled)return;if(e.target.closest(`.${t.params.mousewheel.noMousewheelClass}`))return;const r=t.params.mousewheel;t.params.cssMode&&s.preventDefault();let n=t.el;"container"!==t.params.mousewheel.eventsTarget&&(n=document.querySelector(t.params.mousewheel.eventsTarget));const p=n&&n.contains(s.target);if(!t.mouseEntered&&!p&&!r.releaseOnEdges)return!0;s.originalEvent&&(s=s.originalEvent);let m=0;const h=t.rtlTranslate?-1:1,g=function(e){let t=0,s=0,a=0,i=0;return"detail"in e&&(s=e.detail),"wheelDelta"in e&&(s=-e.wheelDelta/120),"wheelDeltaY"in e&&(s=-e.wheelDeltaY/120),"wheelDeltaX"in e&&(t=-e.wheelDeltaX/120),"axis"in e&&e.axis===e.HORIZONTAL_AXIS&&(t=s,s=0),a=10*t,i=10*s,"deltaY"in e&&(i=e.deltaY),"deltaX"in e&&(a=e.deltaX),e.shiftKey&&!a&&(a=i,i=0),(a||i)&&e.deltaMode&&(1===e.deltaMode?(a*=40,i*=40):(a*=800,i*=800)),a&&!t&&(t=a<1?-1:1),i&&!s&&(s=i<1?-1:1),{spinX:t,spinY:s,pixelX:a,pixelY:i}}(s);if(r.forceToAxis)if(t.isHorizontal()){if(!(Math.abs(g.pixelX)>Math.abs(g.pixelY)))return!0;m=-g.pixelX*h}else{if(!(Math.abs(g.pixelY)>Math.abs(g.pixelX)))return!0;m=-g.pixelY}else m=Math.abs(g.pixelX)>Math.abs(g.pixelY)?-g.pixelX*h:-g.pixelY;if(0===m)return!0;r.invert&&(m=-m);let v=t.getTranslate()+m*r.sensitivity;if(v>=t.minTranslate()&&(v=t.minTranslate()),v<=t.maxTranslate()&&(v=t.maxTranslate()),a=!!t.params.loop||!(v===t.minTranslate()||v===t.maxTranslate()),a&&t.params.nested&&s.stopPropagation(),t.params.freeMode&&t.params.freeMode.enabled){const e={time:o(),delta:Math.abs(m),direction:Math.sign(m)},a=c&&e.time<c.time+500&&e.delta<=c.delta&&e.direction===c.direction;if(!a){c=void 0;let n=t.getTranslate()+m*r.sensitivity;const o=t.isBeginning,p=t.isEnd;if(n>=t.minTranslate()&&(n=t.minTranslate()),n<=t.maxTranslate()&&(n=t.maxTranslate()),t.setTransition(0),t.setTranslate(n),t.updateProgress(),t.updateActiveIndex(),t.updateSlidesClasses(),(!o&&t.isBeginning||!p&&t.isEnd)&&t.updateSlidesClasses(),t.params.loop&&t.loopFix({direction:e.direction<0?"next":"prev",byMousewheel:!0}),t.params.freeMode.sticky){clearTimeout(d),d=void 0,u.length>=15&&u.shift();const s=u.length?u[u.length-1]:void 0,a=u[0];if(u.push(e),s&&(e.delta>s.delta||e.direction!==s.direction))u.splice(0);else if(u.length>=15&&e.time-a.time<500&&a.delta-e.delta>=1&&e.delta<=6){const s=m>0?.8:.2;c=e,u.splice(0),d=l((()=>{t.slideToClosest(t.params.speed,!0,void 0,s)}),0)}d||(d=l((()=>{c=e,u.splice(0),t.slideToClosest(t.params.speed,!0,void 0,.5)}),500))}if(a||i("scroll",s),t.params.autoplay&&t.params.autoplayDisableOnInteraction&&t.autoplay.stop(),r.releaseOnEdges&&(n===t.minTranslate()||n===t.maxTranslate()))return!0}}else{const s={time:o(),delta:Math.abs(m),direction:Math.sign(m),raw:e};u.length>=2&&u.shift();const a=u.length?u[u.length-1]:void 0;if(u.push(s),a?(s.direction!==a.direction||s.delta>a.delta||s.time>a.time+150)&&f(s):f(s),function(e){const s=t.params.mousewheel;if(e.direction<0){if(t.isEnd&&!t.params.loop&&s.releaseOnEdges)return!0}else if(t.isBeginning&&!t.params.loop&&s.releaseOnEdges)return!0;return!1}(s))return!0}return s.preventDefault?s.preventDefault():s.returnValue=!1,!1}function v(e){let s=t.el;"container"!==t.params.mousewheel.eventsTarget&&(s=document.querySelector(t.params.mousewheel.eventsTarget)),s[e]("mouseenter",m),s[e]("mouseleave",h),s[e]("wheel",g)}function w(){return t.params.cssMode?(t.wrapperEl.removeEventListener("wheel",g),!0):!t.mousewheel.enabled&&(v("addEventListener"),t.mousewheel.enabled=!0,!0)}function b(){return t.params.cssMode?(t.wrapperEl.addEventListener(event,g),!0):!!t.mousewheel.enabled&&(v("removeEventListener"),t.mousewheel.enabled=!1,!0)}a("init",(()=>{!t.params.mousewheel.enabled&&t.params.cssMode&&b(),t.params.mousewheel.enabled&&w()})),a("destroy",(()=>{t.params.cssMode&&w(),t.mousewheel.enabled&&b()})),Object.assign(t.mousewheel,{enable:w,disable:b})},function(e){let{swiper:t,extendParams:s,on:a,emit:i}=e;s({navigation:{nextEl:null,prevEl:null,hideOnClick:!1,disabledClass:"swiper-button-disabled",hiddenClass:"swiper-button-hidden",lockClass:"swiper-button-lock",navigationDisabledClass:"swiper-navigation-disabled"}}),t.navigation={nextEl:null,prevEl:null};const r=e=>(Array.isArray(e)?e:[e]).filter((e=>!!e));function n(e){let s;return e&&"string"==typeof e&&t.isElement&&(s=t.el.querySelector(e),s)?s:(e&&("string"==typeof e&&(s=[...document.querySelectorAll(e)]),t.params.uniqueNavElements&&"string"==typeof e&&s.length>1&&1===t.el.querySelectorAll(e).length&&(s=t.el.querySelector(e))),e&&!s?e:s)}function l(e,s){const a=t.params.navigation;(e=r(e)).forEach((e=>{e&&(e.classList[s?"add":"remove"](...a.disabledClass.split(" ")),"BUTTON"===e.tagName&&(e.disabled=s),t.params.watchOverflow&&t.enabled&&e.classList[t.isLocked?"add":"remove"](a.lockClass))}))}function o(){const{nextEl:e,prevEl:s}=t.navigation;if(t.params.loop)return l(s,!1),void l(e,!1);l(s,t.isBeginning&&!t.params.rewind),l(e,t.isEnd&&!t.params.rewind)}function d(e){e.preventDefault(),(!t.isBeginning||t.params.loop||t.params.rewind)&&(t.slidePrev(),i("navigationPrev"))}function c(e){e.preventDefault(),(!t.isEnd||t.params.loop||t.params.rewind)&&(t.slideNext(),i("navigationNext"))}function p(){const e=t.params.navigation;if(t.params.navigation=te(t,t.originalParams.navigation,t.params.navigation,{nextEl:"swiper-button-next",prevEl:"swiper-button-prev"}),!e.nextEl&&!e.prevEl)return;let s=n(e.nextEl),a=n(e.prevEl);Object.assign(t.navigation,{nextEl:s,prevEl:a}),s=r(s),a=r(a);const i=(s,a)=>{s&&s.addEventListener("click","next"===a?c:d),!t.enabled&&s&&s.classList.add(...e.lockClass.split(" "))};s.forEach((e=>i(e,"next"))),a.forEach((e=>i(e,"prev")))}function u(){let{nextEl:e,prevEl:s}=t.navigation;e=r(e),s=r(s);const a=(e,s)=>{e.removeEventListener("click","next"===s?c:d),e.classList.remove(...t.params.navigation.disabledClass.split(" "))};e.forEach((e=>a(e,"next"))),s.forEach((e=>a(e,"prev")))}a("init",(()=>{!1===t.params.navigation.enabled?m():(p(),o())})),a("toEdge fromEdge lock unlock",(()=>{o()})),a("destroy",(()=>{u()})),a("enable disable",(()=>{let{nextEl:e,prevEl:s}=t.navigation;e=r(e),s=r(s),t.enabled?o():[...e,...s].filter((e=>!!e)).forEach((e=>e.classList.add(t.params.navigation.lockClass)))})),a("click",((e,s)=>{let{nextEl:a,prevEl:n}=t.navigation;a=r(a),n=r(n);const l=s.target;if(t.params.navigation.hideOnClick&&!n.includes(l)&&!a.includes(l)){if(t.pagination&&t.params.pagination&&t.params.pagination.clickable&&(t.pagination.el===l||t.pagination.el.contains(l)))return;let e;a.length?e=a[0].classList.contains(t.params.navigation.hiddenClass):n.length&&(e=n[0].classList.contains(t.params.navigation.hiddenClass)),i(!0===e?"navigationShow":"navigationHide"),[...a,...n].filter((e=>!!e)).forEach((e=>e.classList.toggle(t.params.navigation.hiddenClass)))}}));const m=()=>{t.el.classList.add(...t.params.navigation.navigationDisabledClass.split(" ")),u()};Object.assign(t.navigation,{enable:()=>{t.el.classList.remove(...t.params.navigation.navigationDisabledClass.split(" ")),p(),o()},disable:m,update:o,init:p,destroy:u})},function(e){let{swiper:t,extendParams:s,on:a,emit:i}=e;const r="swiper-pagination";let n;s({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:e=>e,formatFractionTotal:e=>e,bulletClass:`${r}-bullet`,bulletActiveClass:`${r}-bullet-active`,modifierClass:`${r}-`,currentClass:`${r}-current`,totalClass:`${r}-total`,hiddenClass:`${r}-hidden`,progressbarFillClass:`${r}-progressbar-fill`,progressbarOppositeClass:`${r}-progressbar-opposite`,clickableClass:`${r}-clickable`,lockClass:`${r}-lock`,horizontalClass:`${r}-horizontal`,verticalClass:`${r}-vertical`,paginationDisabledClass:`${r}-disabled`}}),t.pagination={el:null,bullets:[]};let l=0;const o=e=>(Array.isArray(e)?e:[e]).filter((e=>!!e));function d(){return!t.params.pagination.el||!t.pagination.el||Array.isArray(t.pagination.el)&&0===t.pagination.el.length}function c(e,s){const{bulletActiveClass:a}=t.params.pagination;e&&(e=e[("prev"===s?"previous":"next")+"ElementSibling"])&&(e.classList.add(`${a}-${s}`),(e=e[("prev"===s?"previous":"next")+"ElementSibling"])&&e.classList.add(`${a}-${s}-${s}`))}function p(e){const s=e.target.closest(se(t.params.pagination.bulletClass));if(!s)return;e.preventDefault();const a=y(s)*t.params.slidesPerGroup;if(t.params.loop){if(t.realIndex===a)return;t.slideToLoop(a)}else t.slideTo(a)}function u(){const e=t.rtl,s=t.params.pagination;if(d())return;let a,r,p=t.pagination.el;p=o(p);const u=t.virtual&&t.params.virtual.enabled?t.virtual.slides.length:t.slides.length,m=t.params.loop?Math.ceil(u/t.params.slidesPerGroup):t.snapGrid.length;if(t.params.loop?(r=t.previousRealIndex||0,a=t.params.slidesPerGroup>1?Math.floor(t.realIndex/t.params.slidesPerGroup):t.realIndex):void 0!==t.snapIndex?(a=t.snapIndex,r=t.previousSnapIndex):(r=t.previousIndex||0,a=t.activeIndex||0),"bullets"===s.type&&t.pagination.bullets&&t.pagination.bullets.length>0){const i=t.pagination.bullets;let o,d,u;if(s.dynamicBullets&&(n=S(i[0],t.isHorizontal()?"width":"height",!0),p.forEach((e=>{e.style[t.isHorizontal()?"width":"height"]=n*(s.dynamicMainBullets+4)+"px"})),s.dynamicMainBullets>1&&void 0!==r&&(l+=a-(r||0),l>s.dynamicMainBullets-1?l=s.dynamicMainBullets-1:l<0&&(l=0)),o=Math.max(a-l,0),d=o+(Math.min(i.length,s.dynamicMainBullets)-1),u=(d+o)/2),i.forEach((e=>{const t=[...["","-next","-next-next","-prev","-prev-prev","-main"].map((e=>`${s.bulletActiveClass}${e}`))].map((e=>"string"==typeof e&&e.includes(" ")?e.split(" "):e)).flat();e.classList.remove(...t)})),p.length>1)i.forEach((e=>{const i=y(e);i===a?e.classList.add(...s.bulletActiveClass.split(" ")):t.isElement&&e.setAttribute("part","bullet"),s.dynamicBullets&&(i>=o&&i<=d&&e.classList.add(...`${s.bulletActiveClass}-main`.split(" ")),i===o&&c(e,"prev"),i===d&&c(e,"next"))}));else{const e=i[a];if(e&&e.classList.add(...s.bulletActiveClass.split(" ")),t.isElement&&i.forEach(((e,t)=>{e.setAttribute("part",t===a?"bullet-active":"bullet")})),s.dynamicBullets){const e=i[o],t=i[d];for(let e=o;e<=d;e+=1)i[e]&&i[e].classList.add(...`${s.bulletActiveClass}-main`.split(" "));c(e,"prev"),c(t,"next")}}if(s.dynamicBullets){const a=Math.min(i.length,s.dynamicMainBullets+4),r=(n*a-n)/2-u*n,l=e?"right":"left";i.forEach((e=>{e.style[t.isHorizontal()?l:"top"]=`${r}px`}))}}p.forEach(((e,r)=>{if("fraction"===s.type&&(e.querySelectorAll(se(s.currentClass)).forEach((e=>{e.textContent=s.formatFractionCurrent(a+1)})),e.querySelectorAll(se(s.totalClass)).forEach((e=>{e.textContent=s.formatFractionTotal(m)}))),"progressbar"===s.type){let i;i=s.progressbarOpposite?t.isHorizontal()?"vertical":"horizontal":t.isHorizontal()?"horizontal":"vertical";const r=(a+1)/m;let n=1,l=1;"horizontal"===i?n=r:l=r,e.querySelectorAll(se(s.progressbarFillClass)).forEach((e=>{e.style.transform=`translate3d(0,0,0) scaleX(${n}) scaleY(${l})`,e.style.transitionDuration=`${t.params.speed}ms`}))}"custom"===s.type&&s.renderCustom?(e.innerHTML=s.renderCustom(t,a+1,m),0===r&&i("paginationRender",e)):(0===r&&i("paginationRender",e),i("paginationUpdate",e)),t.params.watchOverflow&&t.enabled&&e.classList[t.isLocked?"add":"remove"](s.lockClass)}))}function m(){const e=t.params.pagination;if(d())return;const s=t.virtual&&t.params.virtual.enabled?t.virtual.slides.length:t.grid&&t.params.grid.rows>1?t.slides.length/Math.ceil(t.params.grid.rows):t.slides.length;let a=t.pagination.el;a=o(a);let r="";if("bullets"===e.type){let a=t.params.loop?Math.ceil(s/t.params.slidesPerGroup):t.snapGrid.length;t.params.freeMode&&t.params.freeMode.enabled&&a>s&&(a=s);for(let s=0;s<a;s+=1)e.renderBullet?r+=e.renderBullet.call(t,s,e.bulletClass):r+=`<${e.bulletElement} ${t.isElement?'part="bullet"':""} class="${e.bulletClass}"></${e.bulletElement}>`}"fraction"===e.type&&(r=e.renderFraction?e.renderFraction.call(t,e.currentClass,e.totalClass):`<span class="${e.currentClass}"></span> / <span class="${e.totalClass}"></span>`),"progressbar"===e.type&&(r=e.renderProgressbar?e.renderProgressbar.call(t,e.progressbarFillClass):`<span class="${e.progressbarFillClass}"></span>`),t.pagination.bullets=[],a.forEach((s=>{"custom"!==e.type&&(s.innerHTML=r||""),"bullets"===e.type&&t.pagination.bullets.push(...s.querySelectorAll(se(e.bulletClass)))})),"custom"!==e.type&&i("paginationRender",a[0])}function h(){t.params.pagination=te(t,t.originalParams.pagination,t.params.pagination,{el:"swiper-pagination"});const e=t.params.pagination;if(!e.el)return;let s;"string"==typeof e.el&&t.isElement&&(s=t.el.querySelector(e.el)),s||"string"!=typeof e.el||(s=[...document.querySelectorAll(e.el)]),s||(s=e.el),s&&0!==s.length&&(t.params.uniqueNavElements&&"string"==typeof e.el&&Array.isArray(s)&&s.length>1&&(s=[...t.el.querySelectorAll(e.el)],s.length>1&&(s=s.filter((e=>E(e,".swiper")[0]===t.el))[0])),Array.isArray(s)&&1===s.length&&(s=s[0]),Object.assign(t.pagination,{el:s}),s=o(s),s.forEach((s=>{"bullets"===e.type&&e.clickable&&s.classList.add(...(e.clickableClass||"").split(" ")),s.classList.add(e.modifierClass+e.type),s.classList.add(t.isHorizontal()?e.horizontalClass:e.verticalClass),"bullets"===e.type&&e.dynamicBullets&&(s.classList.add(`${e.modifierClass}${e.type}-dynamic`),l=0,e.dynamicMainBullets<1&&(e.dynamicMainBullets=1)),"progressbar"===e.type&&e.progressbarOpposite&&s.classList.add(e.progressbarOppositeClass),e.clickable&&s.addEventListener("click",p),t.enabled||s.classList.add(e.lockClass)})))}function f(){const e=t.params.pagination;if(d())return;let s=t.pagination.el;s&&(s=o(s),s.forEach((s=>{s.classList.remove(e.hiddenClass),s.classList.remove(e.modifierClass+e.type),s.classList.remove(t.isHorizontal()?e.horizontalClass:e.verticalClass),e.clickable&&(s.classList.remove(...(e.clickableClass||"").split(" ")),s.removeEventListener("click",p))}))),t.pagination.bullets&&t.pagination.bullets.forEach((t=>t.classList.remove(...e.bulletActiveClass.split(" "))))}a("changeDirection",(()=>{if(!t.pagination||!t.pagination.el)return;const e=t.params.pagination;let{el:s}=t.pagination;s=o(s),s.forEach((s=>{s.classList.remove(e.horizontalClass,e.verticalClass),s.classList.add(t.isHorizontal()?e.horizontalClass:e.verticalClass)}))})),a("init",(()=>{!1===t.params.pagination.enabled?g():(h(),m(),u())})),a("activeIndexChange",(()=>{void 0===t.snapIndex&&u()})),a("snapIndexChange",(()=>{u()})),a("snapGridLengthChange",(()=>{m(),u()})),a("destroy",(()=>{f()})),a("enable disable",(()=>{let{el:e}=t.pagination;e&&(e=o(e),e.forEach((e=>e.classList[t.enabled?"remove":"add"](t.params.pagination.lockClass))))})),a("lock unlock",(()=>{u()})),a("click",((e,s)=>{const a=s.target,r=o(t.pagination.el);if(t.params.pagination.el&&t.params.pagination.hideOnClick&&r&&r.length>0&&!a.classList.contains(t.params.pagination.bulletClass)){if(t.navigation&&(t.navigation.nextEl&&a===t.navigation.nextEl||t.navigation.prevEl&&a===t.navigation.prevEl))return;const e=r[0].classList.contains(t.params.pagination.hiddenClass);i(!0===e?"paginationShow":"paginationHide"),r.forEach((e=>e.classList.toggle(t.params.pagination.hiddenClass)))}}));const g=()=>{t.el.classList.add(t.params.pagination.paginationDisabledClass);let{el:e}=t.pagination;e&&(e=o(e),e.forEach((e=>e.classList.add(t.params.pagination.paginationDisabledClass)))),f()};Object.assign(t.pagination,{enable:()=>{t.el.classList.remove(t.params.pagination.paginationDisabledClass);let{el:e}=t.pagination;e&&(e=o(e),e.forEach((e=>e.classList.remove(t.params.pagination.paginationDisabledClass)))),h(),m(),u()},disable:g,render:m,update:u,init:h,destroy:f})},function(e){let{swiper:t,extendParams:s,on:i,emit:r}=e;const o=a();let d,c,p,u,m=!1,h=null,f=null;function g(){if(!t.params.scrollbar.el||!t.scrollbar.el)return;const{scrollbar:e,rtlTranslate:s}=t,{dragEl:a,el:i}=e,r=t.params.scrollbar,n=t.params.loop?t.progressLoop:t.progress;let l=c,o=(p-c)*n;s?(o=-o,o>0?(l=c-o,o=0):-o+c>p&&(l=p+o)):o<0?(l=c+o,o=0):o+c>p&&(l=p-o),t.isHorizontal()?(a.style.transform=`translate3d(${o}px, 0, 0)`,a.style.width=`${l}px`):(a.style.transform=`translate3d(0px, ${o}px, 0)`,a.style.height=`${l}px`),r.hide&&(clearTimeout(h),i.style.opacity=1,h=setTimeout((()=>{i.style.opacity=0,i.style.transitionDuration="400ms"}),1e3))}function b(){if(!t.params.scrollbar.el||!t.scrollbar.el)return;const{scrollbar:e}=t,{dragEl:s,el:a}=e;s.style.width="",s.style.height="",p=t.isHorizontal()?a.offsetWidth:a.offsetHeight,u=t.size/(t.virtualSize+t.params.slidesOffsetBefore-(t.params.centeredSlides?t.snapGrid[0]:0)),c="auto"===t.params.scrollbar.dragSize?p*u:parseInt(t.params.scrollbar.dragSize,10),t.isHorizontal()?s.style.width=`${c}px`:s.style.height=`${c}px`,a.style.display=u>=1?"none":"",t.params.scrollbar.hide&&(a.style.opacity=0),t.params.watchOverflow&&t.enabled&&e.el.classList[t.isLocked?"add":"remove"](t.params.scrollbar.lockClass)}function y(e){return t.isHorizontal()?e.clientX:e.clientY}function E(e){const{scrollbar:s,rtlTranslate:a}=t,{el:i}=s;let r;r=(y(e)-w(i)[t.isHorizontal()?"left":"top"]-(null!==d?d:c/2))/(p-c),r=Math.max(Math.min(r,1),0),a&&(r=1-r);const n=t.minTranslate()+(t.maxTranslate()-t.minTranslate())*r;t.updateProgress(n),t.setTranslate(n),t.updateActiveIndex(),t.updateSlidesClasses()}function x(e){const s=t.params.scrollbar,{scrollbar:a,wrapperEl:i}=t,{el:n,dragEl:l}=a;m=!0,d=e.target===l?y(e)-e.target.getBoundingClientRect()[t.isHorizontal()?"left":"top"]:null,e.preventDefault(),e.stopPropagation(),i.style.transitionDuration="100ms",l.style.transitionDuration="100ms",E(e),clearTimeout(f),n.style.transitionDuration="0ms",s.hide&&(n.style.opacity=1),t.params.cssMode&&(t.wrapperEl.style["scroll-snap-type"]="none"),r("scrollbarDragStart",e)}function S(e){const{scrollbar:s,wrapperEl:a}=t,{el:i,dragEl:n}=s;m&&(e.preventDefault?e.preventDefault():e.returnValue=!1,E(e),a.style.transitionDuration="0ms",i.style.transitionDuration="0ms",n.style.transitionDuration="0ms",r("scrollbarDragMove",e))}function T(e){const s=t.params.scrollbar,{scrollbar:a,wrapperEl:i}=t,{el:n}=a;m&&(m=!1,t.params.cssMode&&(t.wrapperEl.style["scroll-snap-type"]="",i.style.transitionDuration=""),s.hide&&(clearTimeout(f),f=l((()=>{n.style.opacity=0,n.style.transitionDuration="400ms"}),1e3)),r("scrollbarDragEnd",e),s.snapOnRelease&&t.slideToClosest())}function M(e){const{scrollbar:s,params:a}=t,i=s.el;if(!i)return;const r=i,n=!!a.passiveListeners&&{passive:!1,capture:!1},l=!!a.passiveListeners&&{passive:!0,capture:!1};if(!r)return;const d="on"===e?"addEventListener":"removeEventListener";r[d]("pointerdown",x,n),o[d]("pointermove",S,n),o[d]("pointerup",T,l)}function C(){const{scrollbar:e,el:s}=t;t.params.scrollbar=te(t,t.originalParams.scrollbar,t.params.scrollbar,{el:"swiper-scrollbar"});const a=t.params.scrollbar;if(!a.el)return;let i,r;if("string"==typeof a.el&&t.isElement&&(i=t.el.querySelector(a.el)),i||"string"!=typeof a.el)i||(i=a.el);else if(i=o.querySelectorAll(a.el),!i.length)return;t.params.uniqueNavElements&&"string"==typeof a.el&&i.length>1&&1===s.querySelectorAll(a.el).length&&(i=s.querySelector(a.el)),i.length>0&&(i=i[0]),i.classList.add(t.isHorizontal()?a.horizontalClass:a.verticalClass),i&&(r=i.querySelector(se(t.params.scrollbar.dragClass)),r||(r=v("div",t.params.scrollbar.dragClass),i.append(r))),Object.assign(e,{el:i,dragEl:r}),a.draggable&&t.params.scrollbar.el&&t.scrollbar.el&&M("on"),i&&i.classList[t.enabled?"remove":"add"](...n(t.params.scrollbar.lockClass))}function P(){const e=t.params.scrollbar,s=t.scrollbar.el;s&&s.classList.remove(...n(t.isHorizontal()?e.horizontalClass:e.verticalClass)),t.params.scrollbar.el&&t.scrollbar.el&&M("off")}s({scrollbar:{el:null,dragSize:"auto",hide:!1,draggable:!1,snapOnRelease:!0,lockClass:"swiper-scrollbar-lock",dragClass:"swiper-scrollbar-drag",scrollbarDisabledClass:"swiper-scrollbar-disabled",horizontalClass:"swiper-scrollbar-horizontal",verticalClass:"swiper-scrollbar-vertical"}}),t.scrollbar={el:null,dragEl:null},i("init",(()=>{!1===t.params.scrollbar.enabled?L():(C(),b(),g())})),i("update resize observerUpdate lock unlock",(()=>{b()})),i("setTranslate",(()=>{g()})),i("setTransition",((e,s)=>{!function(e){t.params.scrollbar.el&&t.scrollbar.el&&(t.scrollbar.dragEl.style.transitionDuration=`${e}ms`)}(s)})),i("enable disable",(()=>{const{el:e}=t.scrollbar;e&&e.classList[t.enabled?"remove":"add"](...n(t.params.scrollbar.lockClass))})),i("destroy",(()=>{P()}));const L=()=>{t.el.classList.add(...n(t.params.scrollbar.scrollbarDisabledClass)),t.scrollbar.el&&t.scrollbar.el.classList.add(...n(t.params.scrollbar.scrollbarDisabledClass)),P()};Object.assign(t.scrollbar,{enable:()=>{t.el.classList.remove(...n(t.params.scrollbar.scrollbarDisabledClass)),t.scrollbar.el&&t.scrollbar.el.classList.remove(...n(t.params.scrollbar.scrollbarDisabledClass)),C(),b(),g()},disable:L,updateSize:b,setTranslate:g,init:C,destroy:P})},function(e){let{swiper:t,extendParams:s,on:a}=e;s({parallax:{enabled:!1}});const i="[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]",r=(e,s)=>{const{rtl:a}=t,i=a?-1:1,r=e.getAttribute("data-swiper-parallax")||"0";let n=e.getAttribute("data-swiper-parallax-x"),l=e.getAttribute("data-swiper-parallax-y");const o=e.getAttribute("data-swiper-parallax-scale"),d=e.getAttribute("data-swiper-parallax-opacity"),c=e.getAttribute("data-swiper-parallax-rotate");if(n||l?(n=n||"0",l=l||"0"):t.isHorizontal()?(n=r,l="0"):(l=r,n="0"),n=n.indexOf("%")>=0?parseInt(n,10)*s*i+"%":n*s*i+"px",l=l.indexOf("%")>=0?parseInt(l,10)*s+"%":l*s+"px",null!=d){const t=d-(d-1)*(1-Math.abs(s));e.style.opacity=t}let p=`translate3d(${n}, ${l}, 0px)`;if(null!=o){p+=` scale(${o-(o-1)*(1-Math.abs(s))})`}if(c&&null!=c){p+=` rotate(${c*s*-1}deg)`}e.style.transform=p},n=()=>{const{el:e,slides:s,progress:a,snapGrid:n,isElement:l}=t,o=f(e,i);t.isElement&&o.push(...f(t.hostEl,i)),o.forEach((e=>{r(e,a)})),s.forEach(((e,s)=>{let l=e.progress;t.params.slidesPerGroup>1&&"auto"!==t.params.slidesPerView&&(l+=Math.ceil(s/2)-a*(n.length-1)),l=Math.min(Math.max(l,-1),1),e.querySelectorAll(`${i}, [data-swiper-parallax-rotate]`).forEach((e=>{r(e,l)}))}))};a("beforeInit",(()=>{t.params.parallax.enabled&&(t.params.watchSlidesProgress=!0,t.originalParams.watchSlidesProgress=!0)})),a("init",(()=>{t.params.parallax.enabled&&n()})),a("setTranslate",(()=>{t.params.parallax.enabled&&n()})),a("setTransition",((e,s)=>{t.params.parallax.enabled&&function(e){void 0===e&&(e=t.params.speed);const{el:s,hostEl:a}=t,r=[...s.querySelectorAll(i)];t.isElement&&r.push(...a.querySelectorAll(i)),r.forEach((t=>{let s=parseInt(t.getAttribute("data-swiper-parallax-duration"),10)||e;0===e&&(s=0),t.style.transitionDuration=`${s}ms`}))}(s)}))},function(e){let{swiper:t,extendParams:s,on:a,emit:i}=e;const n=r();s({zoom:{enabled:!1,maxRatio:3,minRatio:1,toggle:!0,containerClass:"swiper-zoom-container",zoomedSlideClass:"swiper-slide-zoomed"}}),t.zoom={enabled:!1};let l,o,c=1,p=!1;const u=[],m={originX:0,originY:0,slideEl:void 0,slideWidth:void 0,slideHeight:void 0,imageEl:void 0,imageWrapEl:void 0,maxRatio:3},h={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:{}},g={x:void 0,y:void 0,prevPositionX:void 0,prevPositionY:void 0,prevTime:void 0};let v=1;function b(){if(u.length<2)return 1;const e=u[0].pageX,t=u[0].pageY,s=u[1].pageX,a=u[1].pageY;return Math.sqrt((s-e)**2+(a-t)**2)}function y(e){const s=t.isElement?"swiper-slide":`.${t.params.slideClass}`;return!!e.target.matches(s)||t.slides.filter((t=>t.contains(e.target))).length>0}function x(e){if("mouse"===e.pointerType&&u.splice(0,u.length),!y(e))return;const s=t.params.zoom;if(l=!1,o=!1,u.push(e),!(u.length<2)){if(l=!0,m.scaleStart=b(),!m.slideEl){m.slideEl=e.target.closest(`.${t.params.slideClass}, swiper-slide`),m.slideEl||(m.slideEl=t.slides[t.activeIndex]);let a=m.slideEl.querySelector(`.${s.containerClass}`);if(a&&(a=a.querySelectorAll("picture, img, svg, canvas, .swiper-zoom-target")[0]),m.imageEl=a,m.imageWrapEl=a?E(m.imageEl,`.${s.containerClass}`)[0]:void 0,!m.imageWrapEl)return void(m.imageEl=void 0);m.maxRatio=m.imageWrapEl.getAttribute("data-swiper-zoom")||s.maxRatio}if(m.imageEl){const[e,t]=function(){if(u.length<2)return{x:null,y:null};const e=m.imageEl.getBoundingClientRect();return[(u[0].pageX+(u[1].pageX-u[0].pageX)/2-e.x-n.scrollX)/c,(u[0].pageY+(u[1].pageY-u[0].pageY)/2-e.y-n.scrollY)/c]}();m.originX=e,m.originY=t,m.imageEl.style.transitionDuration="0ms"}p=!0}}function S(e){if(!y(e))return;const s=t.params.zoom,a=t.zoom,i=u.findIndex((t=>t.pointerId===e.pointerId));i>=0&&(u[i]=e),u.length<2||(o=!0,m.scaleMove=b(),m.imageEl&&(a.scale=m.scaleMove/m.scaleStart*c,a.scale>m.maxRatio&&(a.scale=m.maxRatio-1+(a.scale-m.maxRatio+1)**.5),a.scale<s.minRatio&&(a.scale=s.minRatio+1-(s.minRatio-a.scale+1)**.5),m.imageEl.style.transform=`translate3d(0,0,0) scale(${a.scale})`))}function T(e){if(!y(e))return;if("mouse"===e.pointerType&&"pointerout"===e.type)return;const s=t.params.zoom,a=t.zoom,i=u.findIndex((t=>t.pointerId===e.pointerId));i>=0&&u.splice(i,1),l&&o&&(l=!1,o=!1,m.imageEl&&(a.scale=Math.max(Math.min(a.scale,m.maxRatio),s.minRatio),m.imageEl.style.transitionDuration=`${t.params.speed}ms`,m.imageEl.style.transform=`translate3d(0,0,0) scale(${a.scale})`,c=a.scale,p=!1,a.scale>1&&m.slideEl?m.slideEl.classList.add(`${s.zoomedSlideClass}`):a.scale<=1&&m.slideEl&&m.slideEl.classList.remove(`${s.zoomedSlideClass}`),1===a.scale&&(m.originX=0,m.originY=0,m.slideEl=void 0)))}function M(e){if(!y(e)||!function(e){const s=`.${t.params.zoom.containerClass}`;return!!e.target.matches(s)||[...t.hostEl.querySelectorAll(s)].filter((t=>t.contains(e.target))).length>0}(e))return;const s=t.zoom;if(!m.imageEl)return;if(!h.isTouched||!m.slideEl)return;h.isMoved||(h.width=m.imageEl.offsetWidth,h.height=m.imageEl.offsetHeight,h.startX=d(m.imageWrapEl,"x")||0,h.startY=d(m.imageWrapEl,"y")||0,m.slideWidth=m.slideEl.offsetWidth,m.slideHeight=m.slideEl.offsetHeight,m.imageWrapEl.style.transitionDuration="0ms");const a=h.width*s.scale,i=h.height*s.scale;if(a<m.slideWidth&&i<m.slideHeight)return;h.minX=Math.min(m.slideWidth/2-a/2,0),h.maxX=-h.minX,h.minY=Math.min(m.slideHeight/2-i/2,0),h.maxY=-h.minY,h.touchesCurrent.x=u.length>0?u[0].pageX:e.pageX,h.touchesCurrent.y=u.length>0?u[0].pageY:e.pageY;if(Math.max(Math.abs(h.touchesCurrent.x-h.touchesStart.x),Math.abs(h.touchesCurrent.y-h.touchesStart.y))>5&&(t.allowClick=!1),!h.isMoved&&!p){if(t.isHorizontal()&&(Math.floor(h.minX)===Math.floor(h.startX)&&h.touchesCurrent.x<h.touchesStart.x||Math.floor(h.maxX)===Math.floor(h.startX)&&h.touchesCurrent.x>h.touchesStart.x))return void(h.isTouched=!1);if(!t.isHorizontal()&&(Math.floor(h.minY)===Math.floor(h.startY)&&h.touchesCurrent.y<h.touchesStart.y||Math.floor(h.maxY)===Math.floor(h.startY)&&h.touchesCurrent.y>h.touchesStart.y))return void(h.isTouched=!1)}e.cancelable&&e.preventDefault(),e.stopPropagation(),h.isMoved=!0;const r=(s.scale-c)/(m.maxRatio-t.params.zoom.minRatio),{originX:n,originY:l}=m;h.currentX=h.touchesCurrent.x-h.touchesStart.x+h.startX+r*(h.width-2*n),h.currentY=h.touchesCurrent.y-h.touchesStart.y+h.startY+r*(h.height-2*l),h.currentX<h.minX&&(h.currentX=h.minX+1-(h.minX-h.currentX+1)**.8),h.currentX>h.maxX&&(h.currentX=h.maxX-1+(h.currentX-h.maxX+1)**.8),h.currentY<h.minY&&(h.currentY=h.minY+1-(h.minY-h.currentY+1)**.8),h.currentY>h.maxY&&(h.currentY=h.maxY-1+(h.currentY-h.maxY+1)**.8),g.prevPositionX||(g.prevPositionX=h.touchesCurrent.x),g.prevPositionY||(g.prevPositionY=h.touchesCurrent.y),g.prevTime||(g.prevTime=Date.now()),g.x=(h.touchesCurrent.x-g.prevPositionX)/(Date.now()-g.prevTime)/2,g.y=(h.touchesCurrent.y-g.prevPositionY)/(Date.now()-g.prevTime)/2,Math.abs(h.touchesCurrent.x-g.prevPositionX)<2&&(g.x=0),Math.abs(h.touchesCurrent.y-g.prevPositionY)<2&&(g.y=0),g.prevPositionX=h.touchesCurrent.x,g.prevPositionY=h.touchesCurrent.y,g.prevTime=Date.now(),m.imageWrapEl.style.transform=`translate3d(${h.currentX}px, ${h.currentY}px,0)`}function C(){const e=t.zoom;m.slideEl&&t.activeIndex!==t.slides.indexOf(m.slideEl)&&(m.imageEl&&(m.imageEl.style.transform="translate3d(0,0,0) scale(1)"),m.imageWrapEl&&(m.imageWrapEl.style.transform="translate3d(0,0,0)"),m.slideEl.classList.remove(`${t.params.zoom.zoomedSlideClass}`),e.scale=1,c=1,m.slideEl=void 0,m.imageEl=void 0,m.imageWrapEl=void 0,m.originX=0,m.originY=0)}function P(e){const s=t.zoom,a=t.params.zoom;if(!m.slideEl){e&&e.target&&(m.slideEl=e.target.closest(`.${t.params.slideClass}, swiper-slide`)),m.slideEl||(t.params.virtual&&t.params.virtual.enabled&&t.virtual?m.slideEl=f(t.slidesEl,`.${t.params.slideActiveClass}`)[0]:m.slideEl=t.slides[t.activeIndex]);let s=m.slideEl.querySelector(`.${a.containerClass}`);s&&(s=s.querySelectorAll("picture, img, svg, canvas, .swiper-zoom-target")[0]),m.imageEl=s,m.imageWrapEl=s?E(m.imageEl,`.${a.containerClass}`)[0]:void 0}if(!m.imageEl||!m.imageWrapEl)return;let i,r,l,o,d,p,u,g,v,b,y,x,S,T,M,C,P,L;t.params.cssMode&&(t.wrapperEl.style.overflow="hidden",t.wrapperEl.style.touchAction="none"),m.slideEl.classList.add(`${a.zoomedSlideClass}`),void 0===h.touchesStart.x&&e?(i=e.pageX,r=e.pageY):(i=h.touchesStart.x,r=h.touchesStart.y);const A="number"==typeof e?e:null;1===c&&A&&(i=void 0,r=void 0),s.scale=A||m.imageWrapEl.getAttribute("data-swiper-zoom")||a.maxRatio,c=A||m.imageWrapEl.getAttribute("data-swiper-zoom")||a.maxRatio,!e||1===c&&A?(u=0,g=0):(P=m.slideEl.offsetWidth,L=m.slideEl.offsetHeight,l=w(m.slideEl).left+n.scrollX,o=w(m.slideEl).top+n.scrollY,d=l+P/2-i,p=o+L/2-r,v=m.imageEl.offsetWidth,b=m.imageEl.offsetHeight,y=v*s.scale,x=b*s.scale,S=Math.min(P/2-y/2,0),T=Math.min(L/2-x/2,0),M=-S,C=-T,u=d*s.scale,g=p*s.scale,u<S&&(u=S),u>M&&(u=M),g<T&&(g=T),g>C&&(g=C)),A&&1===s.scale&&(m.originX=0,m.originY=0),m.imageWrapEl.style.transitionDuration="300ms",m.imageWrapEl.style.transform=`translate3d(${u}px, ${g}px,0)`,m.imageEl.style.transitionDuration="300ms",m.imageEl.style.transform=`translate3d(0,0,0) scale(${s.scale})`}function L(){const e=t.zoom,s=t.params.zoom;if(!m.slideEl){t.params.virtual&&t.params.virtual.enabled&&t.virtual?m.slideEl=f(t.slidesEl,`.${t.params.slideActiveClass}`)[0]:m.slideEl=t.slides[t.activeIndex];let e=m.slideEl.querySelector(`.${s.containerClass}`);e&&(e=e.querySelectorAll("picture, img, svg, canvas, .swiper-zoom-target")[0]),m.imageEl=e,m.imageWrapEl=e?E(m.imageEl,`.${s.containerClass}`)[0]:void 0}m.imageEl&&m.imageWrapEl&&(t.params.cssMode&&(t.wrapperEl.style.overflow="",t.wrapperEl.style.touchAction=""),e.scale=1,c=1,m.imageWrapEl.style.transitionDuration="300ms",m.imageWrapEl.style.transform="translate3d(0,0,0)",m.imageEl.style.transitionDuration="300ms",m.imageEl.style.transform="translate3d(0,0,0) scale(1)",m.slideEl.classList.remove(`${s.zoomedSlideClass}`),m.slideEl=void 0,m.originX=0,m.originY=0)}function A(e){const s=t.zoom;s.scale&&1!==s.scale?L():P(e)}function I(){return{passiveListener:!!t.params.passiveListeners&&{passive:!0,capture:!1},activeListenerWithCapture:!t.params.passiveListeners||{passive:!1,capture:!0}}}function z(){const e=t.zoom;if(e.enabled)return;e.enabled=!0;const{passiveListener:s,activeListenerWithCapture:a}=I();t.wrapperEl.addEventListener("pointerdown",x,s),t.wrapperEl.addEventListener("pointermove",S,a),["pointerup","pointercancel","pointerout"].forEach((e=>{t.wrapperEl.addEventListener(e,T,s)})),t.wrapperEl.addEventListener("pointermove",M,a)}function $(){const e=t.zoom;if(!e.enabled)return;e.enabled=!1;const{passiveListener:s,activeListenerWithCapture:a}=I();t.wrapperEl.removeEventListener("pointerdown",x,s),t.wrapperEl.removeEventListener("pointermove",S,a),["pointerup","pointercancel","pointerout"].forEach((e=>{t.wrapperEl.removeEventListener(e,T,s)})),t.wrapperEl.removeEventListener("pointermove",M,a)}Object.defineProperty(t.zoom,"scale",{get:()=>v,set(e){if(v!==e){const t=m.imageEl,s=m.slideEl;i("zoomChange",e,t,s)}v=e}}),a("init",(()=>{t.params.zoom.enabled&&z()})),a("destroy",(()=>{$()})),a("touchStart",((e,s)=>{t.zoom.enabled&&function(e){const s=t.device;if(!m.imageEl)return;if(h.isTouched)return;s.android&&e.cancelable&&e.preventDefault(),h.isTouched=!0;const a=u.length>0?u[0]:e;h.touchesStart.x=a.pageX,h.touchesStart.y=a.pageY}(s)})),a("touchEnd",((e,s)=>{t.zoom.enabled&&function(){const e=t.zoom;if(!m.imageEl)return;if(!h.isTouched||!h.isMoved)return h.isTouched=!1,void(h.isMoved=!1);h.isTouched=!1,h.isMoved=!1;let s=300,a=300;const i=g.x*s,r=h.currentX+i,n=g.y*a,l=h.currentY+n;0!==g.x&&(s=Math.abs((r-h.currentX)/g.x)),0!==g.y&&(a=Math.abs((l-h.currentY)/g.y));const o=Math.max(s,a);h.currentX=r,h.currentY=l;const d=h.width*e.scale,c=h.height*e.scale;h.minX=Math.min(m.slideWidth/2-d/2,0),h.maxX=-h.minX,h.minY=Math.min(m.slideHeight/2-c/2,0),h.maxY=-h.minY,h.currentX=Math.max(Math.min(h.currentX,h.maxX),h.minX),h.currentY=Math.max(Math.min(h.currentY,h.maxY),h.minY),m.imageWrapEl.style.transitionDuration=`${o}ms`,m.imageWrapEl.style.transform=`translate3d(${h.currentX}px, ${h.currentY}px,0)`}()})),a("doubleTap",((e,s)=>{!t.animating&&t.params.zoom.enabled&&t.zoom.enabled&&t.params.zoom.toggle&&A(s)})),a("transitionEnd",(()=>{t.zoom.enabled&&t.params.zoom.enabled&&C()})),a("slideChange",(()=>{t.zoom.enabled&&t.params.zoom.enabled&&t.params.cssMode&&C()})),Object.assign(t.zoom,{enable:z,disable:$,in:P,out:L,toggle:A})},function(e){let{swiper:t,extendParams:s,on:a}=e;function i(e,t){const s=function(){let e,t,s;return(a,i)=>{for(t=-1,e=a.length;e-t>1;)s=e+t>>1,a[s]<=i?t=s:e=s;return e}}();let a,i;return this.x=e,this.y=t,this.lastIndex=e.length-1,this.interpolate=function(e){return e?(i=s(this.x,e),a=i-1,(e-this.x[a])*(this.y[i]-this.y[a])/(this.x[i]-this.x[a])+this.y[a]):0},this}function r(){t.controller.control&&t.controller.spline&&(t.controller.spline=void 0,delete t.controller.spline)}s({controller:{control:void 0,inverse:!1,by:"slide"}}),t.controller={control:void 0},a("beforeInit",(()=>{if("undefined"!=typeof window&&("string"==typeof t.params.controller.control||t.params.controller.control instanceof HTMLElement)){const e=document.querySelector(t.params.controller.control);if(e&&e.swiper)t.controller.control=e.swiper;else if(e){const s=a=>{t.controller.control=a.detail[0],t.update(),e.removeEventListener("init",s)};e.addEventListener("init",s)}}else t.controller.control=t.params.controller.control})),a("update",(()=>{r()})),a("resize",(()=>{r()})),a("observerUpdate",(()=>{r()})),a("setTranslate",((e,s,a)=>{t.controller.control&&!t.controller.control.destroyed&&t.controller.setTranslate(s,a)})),a("setTransition",((e,s,a)=>{t.controller.control&&!t.controller.control.destroyed&&t.controller.setTransition(s,a)})),Object.assign(t.controller,{setTranslate:function(e,s){const a=t.controller.control;let r,n;const l=t.constructor;function o(e){if(e.destroyed)return;const s=t.rtlTranslate?-t.translate:t.translate;"slide"===t.params.controller.by&&(!function(e){t.controller.spline=t.params.loop?new i(t.slidesGrid,e.slidesGrid):new i(t.snapGrid,e.snapGrid)}(e),n=-t.controller.spline.interpolate(-s)),n&&"container"!==t.params.controller.by||(r=(e.maxTranslate()-e.minTranslate())/(t.maxTranslate()-t.minTranslate()),!Number.isNaN(r)&&Number.isFinite(r)||(r=1),n=(s-t.minTranslate())*r+e.minTranslate()),t.params.controller.inverse&&(n=e.maxTranslate()-n),e.updateProgress(n),e.setTranslate(n,t),e.updateActiveIndex(),e.updateSlidesClasses()}if(Array.isArray(a))for(let e=0;e<a.length;e+=1)a[e]!==s&&a[e]instanceof l&&o(a[e]);else a instanceof l&&s!==a&&o(a)},setTransition:function(e,s){const a=t.constructor,i=t.controller.control;let r;function n(s){s.destroyed||(s.setTransition(e,t),0!==e&&(s.transitionStart(),s.params.autoHeight&&l((()=>{s.updateAutoHeight()})),x(s.wrapperEl,(()=>{i&&s.transitionEnd()}))))}if(Array.isArray(i))for(r=0;r<i.length;r+=1)i[r]!==s&&i[r]instanceof a&&n(i[r]);else i instanceof a&&s!==i&&n(i)}})},function(e){let{swiper:t,extendParams:s,on:a}=e;s({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",id:null}}),t.a11y={clicked:!1};let i=null;function r(e){const t=i;0!==t.length&&(t.innerHTML="",t.innerHTML=e)}const n=e=>(Array.isArray(e)?e:[e]).filter((e=>!!e));function l(e){(e=n(e)).forEach((e=>{e.setAttribute("tabIndex","0")}))}function o(e){(e=n(e)).forEach((e=>{e.setAttribute("tabIndex","-1")}))}function d(e,t){(e=n(e)).forEach((e=>{e.setAttribute("role",t)}))}function c(e,t){(e=n(e)).forEach((e=>{e.setAttribute("aria-roledescription",t)}))}function p(e,t){(e=n(e)).forEach((e=>{e.setAttribute("aria-label",t)}))}function u(e){(e=n(e)).forEach((e=>{e.setAttribute("aria-disabled",!0)}))}function m(e){(e=n(e)).forEach((e=>{e.setAttribute("aria-disabled",!1)}))}function h(e){if(13!==e.keyCode&&32!==e.keyCode)return;const s=t.params.a11y,a=e.target;t.pagination&&t.pagination.el&&(a===t.pagination.el||t.pagination.el.contains(e.target))&&!e.target.matches(se(t.params.pagination.bulletClass))||(t.navigation&&t.navigation.nextEl&&a===t.navigation.nextEl&&(t.isEnd&&!t.params.loop||t.slideNext(),t.isEnd?r(s.lastSlideMessage):r(s.nextSlideMessage)),t.navigation&&t.navigation.prevEl&&a===t.navigation.prevEl&&(t.isBeginning&&!t.params.loop||t.slidePrev(),t.isBeginning?r(s.firstSlideMessage):r(s.prevSlideMessage)),t.pagination&&a.matches(se(t.params.pagination.bulletClass))&&a.click())}function f(){return t.pagination&&t.pagination.bullets&&t.pagination.bullets.length}function g(){return f()&&t.params.pagination.clickable}const w=(e,t,s)=>{l(e),"BUTTON"!==e.tagName&&(d(e,"button"),e.addEventListener("keydown",h)),p(e,s),function(e,t){(e=n(e)).forEach((e=>{e.setAttribute("aria-controls",t)}))}(e,t)},b=()=>{t.a11y.clicked=!0},E=()=>{requestAnimationFrame((()=>{requestAnimationFrame((()=>{t.destroyed||(t.a11y.clicked=!1)}))}))},x=e=>{if(t.a11y.clicked)return;const s=e.target.closest(`.${t.params.slideClass}, swiper-slide`);if(!s||!t.slides.includes(s))return;const a=t.slides.indexOf(s)===t.activeIndex,i=t.params.watchSlidesProgress&&t.visibleSlides&&t.visibleSlides.includes(s);a||i||e.sourceCapabilities&&e.sourceCapabilities.firesTouchEvents||(t.isHorizontal()?t.el.scrollLeft=0:t.el.scrollTop=0,t.slideTo(t.slides.indexOf(s),0))},S=()=>{const e=t.params.a11y;e.itemRoleDescriptionMessage&&c(t.slides,e.itemRoleDescriptionMessage),e.slideRole&&d(t.slides,e.slideRole);const s=t.slides.length;e.slideLabelMessage&&t.slides.forEach(((a,i)=>{const r=t.params.loop?parseInt(a.getAttribute("data-swiper-slide-index"),10):i;p(a,e.slideLabelMessage.replace(/\{\{index\}\}/,r+1).replace(/\{\{slidesLength\}\}/,s))}))},T=()=>{const e=t.params.a11y;t.el.append(i);const s=t.el;e.containerRoleDescriptionMessage&&c(s,e.containerRoleDescriptionMessage),e.containerMessage&&p(s,e.containerMessage);const a=t.wrapperEl,r=e.id||a.getAttribute("id")||`swiper-wrapper-${l=16,void 0===l&&(l=16),"x".repeat(l).replace(/x/g,(()=>Math.round(16*Math.random()).toString(16)))}`;var l;const o=t.params.autoplay&&t.params.autoplay.enabled?"off":"polite";var d;d=r,n(a).forEach((e=>{e.setAttribute("id",d)})),function(e,t){(e=n(e)).forEach((e=>{e.setAttribute("aria-live",t)}))}(a,o),S();let{nextEl:u,prevEl:m}=t.navigation?t.navigation:{};if(u=n(u),m=n(m),u&&u.forEach((t=>w(t,r,e.nextSlideMessage))),m&&m.forEach((t=>w(t,r,e.prevSlideMessage))),g()){n(t.pagination.el).forEach((e=>{e.addEventListener("keydown",h)}))}t.el.addEventListener("focus",x,!0),t.el.addEventListener("pointerdown",b,!0),t.el.addEventListener("pointerup",E,!0)};a("beforeInit",(()=>{i=v("span",t.params.a11y.notificationClass),i.setAttribute("aria-live","assertive"),i.setAttribute("aria-atomic","true")})),a("afterInit",(()=>{t.params.a11y.enabled&&T()})),a("slidesLengthChange snapGridLengthChange slidesGridLengthChange",(()=>{t.params.a11y.enabled&&S()})),a("fromEdge toEdge afterInit lock unlock",(()=>{t.params.a11y.enabled&&function(){if(t.params.loop||t.params.rewind||!t.navigation)return;const{nextEl:e,prevEl:s}=t.navigation;s&&(t.isBeginning?(u(s),o(s)):(m(s),l(s))),e&&(t.isEnd?(u(e),o(e)):(m(e),l(e)))}()})),a("paginationUpdate",(()=>{t.params.a11y.enabled&&function(){const e=t.params.a11y;f()&&t.pagination.bullets.forEach((s=>{t.params.pagination.clickable&&(l(s),t.params.pagination.renderBullet||(d(s,"button"),p(s,e.paginationBulletMessage.replace(/\{\{index\}\}/,y(s)+1)))),s.matches(se(t.params.pagination.bulletActiveClass))?s.setAttribute("aria-current","true"):s.removeAttribute("aria-current")}))}()})),a("destroy",(()=>{t.params.a11y.enabled&&function(){i&&i.remove();let{nextEl:e,prevEl:s}=t.navigation?t.navigation:{};e=n(e),s=n(s),e&&e.forEach((e=>e.removeEventListener("keydown",h))),s&&s.forEach((e=>e.removeEventListener("keydown",h))),g()&&n(t.pagination.el).forEach((e=>{e.removeEventListener("keydown",h)}));t.el.removeEventListener("focus",x,!0),t.el.removeEventListener("pointerdown",b,!0),t.el.removeEventListener("pointerup",E,!0)}()}))},function(e){let{swiper:t,extendParams:s,on:a}=e;s({history:{enabled:!1,root:"",replaceState:!1,key:"slides",keepQuery:!1}});let i=!1,n={};const l=e=>e.toString().replace(/\s+/g,"-").replace(/[^\w-]+/g,"").replace(/--+/g,"-").replace(/^-+/,"").replace(/-+$/,""),o=e=>{const t=r();let s;s=e?new URL(e):t.location;const a=s.pathname.slice(1).split("/").filter((e=>""!==e)),i=a.length;return{key:a[i-2],value:a[i-1]}},d=(e,s)=>{const a=r();if(!i||!t.params.history.enabled)return;let n;n=t.params.url?new URL(t.params.url):a.location;const o=t.slides[s];let d=l(o.getAttribute("data-history"));if(t.params.history.root.length>0){let s=t.params.history.root;"/"===s[s.length-1]&&(s=s.slice(0,s.length-1)),d=`${s}/${e?`${e}/`:""}${d}`}else n.pathname.includes(e)||(d=`${e?`${e}/`:""}${d}`);t.params.history.keepQuery&&(d+=n.search);const c=a.history.state;c&&c.value===d||(t.params.history.replaceState?a.history.replaceState({value:d},null,d):a.history.pushState({value:d},null,d))},c=(e,s,a)=>{if(s)for(let i=0,r=t.slides.length;i<r;i+=1){const r=t.slides[i];if(l(r.getAttribute("data-history"))===s){const s=t.getSlideIndex(r);t.slideTo(s,e,a)}}else t.slideTo(0,e,a)},p=()=>{n=o(t.params.url),c(t.params.speed,n.value,!1)};a("init",(()=>{t.params.history.enabled&&(()=>{const e=r();if(t.params.history){if(!e.history||!e.history.pushState)return t.params.history.enabled=!1,void(t.params.hashNavigation.enabled=!0);i=!0,n=o(t.params.url),n.key||n.value?(c(0,n.value,t.params.runCallbacksOnInit),t.params.history.replaceState||e.addEventListener("popstate",p)):t.params.history.replaceState||e.addEventListener("popstate",p)}})()})),a("destroy",(()=>{t.params.history.enabled&&(()=>{const e=r();t.params.history.replaceState||e.removeEventListener("popstate",p)})()})),a("transitionEnd _freeModeNoMomentumRelease",(()=>{i&&d(t.params.history.key,t.activeIndex)})),a("slideChange",(()=>{i&&t.params.cssMode&&d(t.params.history.key,t.activeIndex)}))},function(e){let{swiper:t,extendParams:s,emit:i,on:n}=e,l=!1;const o=a(),d=r();s({hashNavigation:{enabled:!1,replaceState:!1,watchState:!1,getSlideIndex(e,s){if(t.virtual&&t.params.virtual.enabled){const e=t.slides.filter((e=>e.getAttribute("data-hash")===s))[0];if(!e)return 0;return parseInt(e.getAttribute("data-swiper-slide-index"),10)}return t.getSlideIndex(f(t.slidesEl,`.${t.params.slideClass}[data-hash="${s}"], swiper-slide[data-hash="${s}"]`)[0])}}});const c=()=>{i("hashChange");const e=o.location.hash.replace("#",""),s=t.virtual&&t.params.virtual.enabled?t.slidesEl.querySelector(`[data-swiper-slide-index="${t.activeIndex}"]`):t.slides[t.activeIndex];if(e!==(s?s.getAttribute("data-hash"):"")){const s=t.params.hashNavigation.getSlideIndex(t,e);if(void 0===s||Number.isNaN(s))return;t.slideTo(s)}},p=()=>{if(!l||!t.params.hashNavigation.enabled)return;const e=t.virtual&&t.params.virtual.enabled?t.slidesEl.querySelector(`[data-swiper-slide-index="${t.activeIndex}"]`):t.slides[t.activeIndex],s=e?e.getAttribute("data-hash")||e.getAttribute("data-history"):"";t.params.hashNavigation.replaceState&&d.history&&d.history.replaceState?(d.history.replaceState(null,null,`#${s}`||""),i("hashSet")):(o.location.hash=s||"",i("hashSet"))};n("init",(()=>{t.params.hashNavigation.enabled&&(()=>{if(!t.params.hashNavigation.enabled||t.params.history&&t.params.history.enabled)return;l=!0;const e=o.location.hash.replace("#","");if(e){const s=0,a=t.params.hashNavigation.getSlideIndex(t,e);t.slideTo(a||0,s,t.params.runCallbacksOnInit,!0)}t.params.hashNavigation.watchState&&d.addEventListener("hashchange",c)})()})),n("destroy",(()=>{t.params.hashNavigation.enabled&&t.params.hashNavigation.watchState&&d.removeEventListener("hashchange",c)})),n("transitionEnd _freeModeNoMomentumRelease",(()=>{l&&p()})),n("slideChange",(()=>{l&&t.params.cssMode&&p()}))},function(e){let t,s,{swiper:i,extendParams:r,on:n,emit:l,params:o}=e;i.autoplay={running:!1,paused:!1,timeLeft:0},r({autoplay:{enabled:!1,delay:3e3,waitForTransition:!0,disableOnInteraction:!1,stopOnLastSlide:!1,reverseDirection:!1,pauseOnMouseEnter:!1}});let d,c,p,u,m,h,f,g,v=o&&o.autoplay?o.autoplay.delay:3e3,w=o&&o.autoplay?o.autoplay.delay:3e3,b=(new Date).getTime();function y(e){i&&!i.destroyed&&i.wrapperEl&&e.target===i.wrapperEl&&(i.wrapperEl.removeEventListener("transitionend",y),g||C())}const E=()=>{if(i.destroyed||!i.autoplay.running)return;i.autoplay.paused?c=!0:c&&(w=d,c=!1);const e=i.autoplay.paused?d:b+w-(new Date).getTime();i.autoplay.timeLeft=e,l("autoplayTimeLeft",e,e/v),s=requestAnimationFrame((()=>{E()}))},x=e=>{if(i.destroyed||!i.autoplay.running)return;cancelAnimationFrame(s),E();let a=void 0===e?i.params.autoplay.delay:e;v=i.params.autoplay.delay,w=i.params.autoplay.delay;const r=(()=>{let e;if(e=i.virtual&&i.params.virtual.enabled?i.slides.filter((e=>e.classList.contains("swiper-slide-active")))[0]:i.slides[i.activeIndex],!e)return;return parseInt(e.getAttribute("data-swiper-autoplay"),10)})();!Number.isNaN(r)&&r>0&&void 0===e&&(a=r,v=r,w=r),d=a;const n=i.params.speed,o=()=>{i&&!i.destroyed&&(i.params.autoplay.reverseDirection?!i.isBeginning||i.params.loop||i.params.rewind?(i.slidePrev(n,!0,!0),l("autoplay")):i.params.autoplay.stopOnLastSlide||(i.slideTo(i.slides.length-1,n,!0,!0),l("autoplay")):!i.isEnd||i.params.loop||i.params.rewind?(i.slideNext(n,!0,!0),l("autoplay")):i.params.autoplay.stopOnLastSlide||(i.slideTo(0,n,!0,!0),l("autoplay")),i.params.cssMode&&(b=(new Date).getTime(),requestAnimationFrame((()=>{x()}))))};return a>0?(clearTimeout(t),t=setTimeout((()=>{o()}),a)):requestAnimationFrame((()=>{o()})),a},S=()=>{b=(new Date).getTime(),i.autoplay.running=!0,x(),l("autoplayStart")},T=()=>{i.autoplay.running=!1,clearTimeout(t),cancelAnimationFrame(s),l("autoplayStop")},M=(e,s)=>{if(i.destroyed||!i.autoplay.running)return;clearTimeout(t),e||(f=!0);const a=()=>{l("autoplayPause"),i.params.autoplay.waitForTransition?i.wrapperEl.addEventListener("transitionend",y):C()};if(i.autoplay.paused=!0,s)return h&&(d=i.params.autoplay.delay),h=!1,void a();const r=d||i.params.autoplay.delay;d=r-((new Date).getTime()-b),i.isEnd&&d<0&&!i.params.loop||(d<0&&(d=0),a())},C=()=>{i.isEnd&&d<0&&!i.params.loop||i.destroyed||!i.autoplay.running||(b=(new Date).getTime(),f?(f=!1,x(d)):x(),i.autoplay.paused=!1,l("autoplayResume"))},P=()=>{if(i.destroyed||!i.autoplay.running)return;const e=a();"hidden"===e.visibilityState&&(f=!0,M(!0)),"visible"===e.visibilityState&&C()},L=e=>{"mouse"===e.pointerType&&(f=!0,g=!0,i.animating||i.autoplay.paused||M(!0))},A=e=>{"mouse"===e.pointerType&&(g=!1,i.autoplay.paused&&C())};n("init",(()=>{i.params.autoplay.enabled&&(i.params.autoplay.pauseOnMouseEnter&&(i.el.addEventListener("pointerenter",L),i.el.addEventListener("pointerleave",A)),a().addEventListener("visibilitychange",P),S())})),n("destroy",(()=>{i.el.removeEventListener("pointerenter",L),i.el.removeEventListener("pointerleave",A),a().removeEventListener("visibilitychange",P),i.autoplay.running&&T()})),n("_freeModeStaticRelease",(()=>{(u||f)&&C()})),n("_freeModeNoMomentumRelease",(()=>{i.params.autoplay.disableOnInteraction?T():M(!0,!0)})),n("beforeTransitionStart",((e,t,s)=>{!i.destroyed&&i.autoplay.running&&(s||!i.params.autoplay.disableOnInteraction?M(!0,!0):T())})),n("sliderFirstMove",(()=>{!i.destroyed&&i.autoplay.running&&(i.params.autoplay.disableOnInteraction?T():(p=!0,u=!1,f=!1,m=setTimeout((()=>{f=!0,u=!0,M(!0)}),200)))})),n("touchEnd",(()=>{if(!i.destroyed&&i.autoplay.running&&p){if(clearTimeout(m),clearTimeout(t),i.params.autoplay.disableOnInteraction)return u=!1,void(p=!1);u&&i.params.cssMode&&C(),u=!1,p=!1}})),n("slideChange",(()=>{!i.destroyed&&i.autoplay.running&&(h=!0)})),Object.assign(i.autoplay,{start:S,stop:T,pause:M,resume:C})},function(e){let{swiper:t,extendParams:s,on:i}=e;s({thumbs:{swiper:null,multipleActiveThumbs:!0,autoScrollOffset:0,slideThumbActiveClass:"swiper-slide-thumb-active",thumbsContainerClass:"swiper-thumbs"}});let r=!1,n=!1;function l(){const e=t.thumbs.swiper;if(!e||e.destroyed)return;const s=e.clickedIndex,a=e.clickedSlide;if(a&&a.classList.contains(t.params.thumbs.slideThumbActiveClass))return;if(null==s)return;let i;i=e.params.loop?parseInt(e.clickedSlide.getAttribute("data-swiper-slide-index"),10):s,t.params.loop?t.slideToLoop(i):t.slideTo(i)}function o(){const{thumbs:e}=t.params;if(r)return!1;r=!0;const s=t.constructor;if(e.swiper instanceof s)t.thumbs.swiper=e.swiper,Object.assign(t.thumbs.swiper.originalParams,{watchSlidesProgress:!0,slideToClickedSlide:!1}),Object.assign(t.thumbs.swiper.params,{watchSlidesProgress:!0,slideToClickedSlide:!1}),t.thumbs.swiper.update();else if(c(e.swiper)){const a=Object.assign({},e.swiper);Object.assign(a,{watchSlidesProgress:!0,slideToClickedSlide:!1}),t.thumbs.swiper=new s(a),n=!0}return t.thumbs.swiper.el.classList.add(t.params.thumbs.thumbsContainerClass),t.thumbs.swiper.on("tap",l),!0}function d(e){const s=t.thumbs.swiper;if(!s||s.destroyed)return;const a="auto"===s.params.slidesPerView?s.slidesPerViewDynamic():s.params.slidesPerView;let i=1;const r=t.params.thumbs.slideThumbActiveClass;if(t.params.slidesPerView>1&&!t.params.centeredSlides&&(i=t.params.slidesPerView),t.params.thumbs.multipleActiveThumbs||(i=1),i=Math.floor(i),s.slides.forEach((e=>e.classList.remove(r))),s.params.loop||s.params.virtual&&s.params.virtual.enabled)for(let e=0;e<i;e+=1)f(s.slidesEl,`[data-swiper-slide-index="${t.realIndex+e}"]`).forEach((e=>{e.classList.add(r)}));else for(let e=0;e<i;e+=1)s.slides[t.realIndex+e]&&s.slides[t.realIndex+e].classList.add(r);const n=t.params.thumbs.autoScrollOffset,l=n&&!s.params.loop;if(t.realIndex!==s.realIndex||l){const i=s.activeIndex;let r,o;if(s.params.loop){const e=s.slides.filter((e=>e.getAttribute("data-swiper-slide-index")===`${t.realIndex}`))[0];r=s.slides.indexOf(e),o=t.activeIndex>t.previousIndex?"next":"prev"}else r=t.realIndex,o=r>t.previousIndex?"next":"prev";l&&(r+="next"===o?n:-1*n),s.visibleSlidesIndexes&&s.visibleSlidesIndexes.indexOf(r)<0&&(s.params.centeredSlides?r=r>i?r-Math.floor(a/2)+1:r+Math.floor(a/2)-1:r>i&&s.params.slidesPerGroup,s.slideTo(r,e?0:void 0))}}t.thumbs={swiper:null},i("beforeInit",(()=>{const{thumbs:e}=t.params;if(e&&e.swiper)if("string"==typeof e.swiper||e.swiper instanceof HTMLElement){const s=a(),i=()=>{const a="string"==typeof e.swiper?s.querySelector(e.swiper):e.swiper;if(a&&a.swiper)e.swiper=a.swiper,o(),d(!0);else if(a){const s=i=>{e.swiper=i.detail[0],a.removeEventListener("init",s),o(),d(!0),e.swiper.update(),t.update()};a.addEventListener("init",s)}return a},r=()=>{if(t.destroyed)return;i()||requestAnimationFrame(r)};requestAnimationFrame(r)}else o(),d(!0)})),i("slideChange update resize observerUpdate",(()=>{d()})),i("setTransition",((e,s)=>{const a=t.thumbs.swiper;a&&!a.destroyed&&a.setTransition(s)})),i("beforeDestroy",(()=>{const e=t.thumbs.swiper;e&&!e.destroyed&&n&&e.destroy()})),Object.assign(t.thumbs,{init:o,update:d})},function(e){let{swiper:t,extendParams:s,emit:a,once:i}=e;s({freeMode:{enabled:!1,momentum:!0,momentumRatio:1,momentumBounce:!0,momentumBounceRatio:1,momentumVelocityRatio:1,sticky:!1,minimumVelocity:.02}}),Object.assign(t,{freeMode:{onTouchStart:function(){if(t.params.cssMode)return;const e=t.getTranslate();t.setTranslate(e),t.setTransition(0),t.touchEventsData.velocities.length=0,t.freeMode.onTouchEnd({currentPos:t.rtl?t.translate:-t.translate})},onTouchMove:function(){if(t.params.cssMode)return;const{touchEventsData:e,touches:s}=t;0===e.velocities.length&&e.velocities.push({position:s[t.isHorizontal()?"startX":"startY"],time:e.touchStartTime}),e.velocities.push({position:s[t.isHorizontal()?"currentX":"currentY"],time:o()})},onTouchEnd:function(e){let{currentPos:s}=e;if(t.params.cssMode)return;const{params:r,wrapperEl:n,rtlTranslate:l,snapGrid:d,touchEventsData:c}=t,p=o()-c.touchStartTime;if(s<-t.minTranslate())t.slideTo(t.activeIndex);else if(s>-t.maxTranslate())t.slides.length<d.length?t.slideTo(d.length-1):t.slideTo(t.slides.length-1);else{if(r.freeMode.momentum){if(c.velocities.length>1){const e=c.velocities.pop(),s=c.velocities.pop(),a=e.position-s.position,i=e.time-s.time;t.velocity=a/i,t.velocity/=2,Math.abs(t.velocity)<r.freeMode.minimumVelocity&&(t.velocity=0),(i>150||o()-e.time>300)&&(t.velocity=0)}else t.velocity=0;t.velocity*=r.freeMode.momentumVelocityRatio,c.velocities.length=0;let e=1e3*r.freeMode.momentumRatio;const s=t.velocity*e;let p=t.translate+s;l&&(p=-p);let u,m=!1;const h=20*Math.abs(t.velocity)*r.freeMode.momentumBounceRatio;let f;if(p<t.maxTranslate())r.freeMode.momentumBounce?(p+t.maxTranslate()<-h&&(p=t.maxTranslate()-h),u=t.maxTranslate(),m=!0,c.allowMomentumBounce=!0):p=t.maxTranslate(),r.loop&&r.centeredSlides&&(f=!0);else if(p>t.minTranslate())r.freeMode.momentumBounce?(p-t.minTranslate()>h&&(p=t.minTranslate()+h),u=t.minTranslate(),m=!0,c.allowMomentumBounce=!0):p=t.minTranslate(),r.loop&&r.centeredSlides&&(f=!0);else if(r.freeMode.sticky){let e;for(let t=0;t<d.length;t+=1)if(d[t]>-p){e=t;break}p=Math.abs(d[e]-p)<Math.abs(d[e-1]-p)||"next"===t.swipeDirection?d[e]:d[e-1],p=-p}if(f&&i("transitionEnd",(()=>{t.loopFix()})),0!==t.velocity){if(e=l?Math.abs((-p-t.translate)/t.velocity):Math.abs((p-t.translate)/t.velocity),r.freeMode.sticky){const s=Math.abs((l?-p:p)-t.translate),a=t.slidesSizesGrid[t.activeIndex];e=s<a?r.speed:s<2*a?1.5*r.speed:2.5*r.speed}}else if(r.freeMode.sticky)return void t.slideToClosest();r.freeMode.momentumBounce&&m?(t.updateProgress(u),t.setTransition(e),t.setTranslate(p),t.transitionStart(!0,t.swipeDirection),t.animating=!0,x(n,(()=>{t&&!t.destroyed&&c.allowMomentumBounce&&(a("momentumBounce"),t.setTransition(r.speed),setTimeout((()=>{t.setTranslate(u),x(n,(()=>{t&&!t.destroyed&&t.transitionEnd()}))}),0))}))):t.velocity?(a("_freeModeNoMomentumRelease"),t.updateProgress(p),t.setTransition(e),t.setTranslate(p),t.transitionStart(!0,t.swipeDirection),t.animating||(t.animating=!0,x(n,(()=>{t&&!t.destroyed&&t.transitionEnd()})))):t.updateProgress(p),t.updateActiveIndex(),t.updateSlidesClasses()}else{if(r.freeMode.sticky)return void t.slideToClosest();r.freeMode&&a("_freeModeNoMomentumRelease")}(!r.freeMode.momentum||p>=r.longSwipesMs)&&(a("_freeModeStaticRelease"),t.updateProgress(),t.updateActiveIndex(),t.updateSlidesClasses())}}}})},function(e){let t,s,a,i,{swiper:r,extendParams:n,on:l}=e;n({grid:{rows:1,fill:"column"}});const o=()=>{let e=r.params.spaceBetween;return"string"==typeof e&&e.indexOf("%")>=0?e=parseFloat(e.replace("%",""))/100*r.size:"string"==typeof e&&(e=parseFloat(e)),e};l("init",(()=>{i=r.params.grid&&r.params.grid.rows>1})),l("update",(()=>{const{params:e,el:t}=r,s=e.grid&&e.grid.rows>1;i&&!s?(t.classList.remove(`${e.containerModifierClass}grid`,`${e.containerModifierClass}grid-column`),a=1,r.emitContainerClasses()):!i&&s&&(t.classList.add(`${e.containerModifierClass}grid`),"column"===e.grid.fill&&t.classList.add(`${e.containerModifierClass}grid-column`),r.emitContainerClasses()),i=s})),r.grid={initSlides:e=>{const{slidesPerView:i}=r.params,{rows:n,fill:l}=r.params.grid,o=r.virtual&&r.params.virtual.enabled?r.virtual.slides.length:e.length;a=Math.floor(o/n),t=Math.floor(o/n)===o/n?o:Math.ceil(o/n)*n,"auto"!==i&&"row"===l&&(t=Math.max(t,i*n)),s=t/n},unsetSlides:()=>{r.slides&&r.slides.forEach((e=>{e.swiperSlideGridSet&&(e.style.height="",e.style[r.getDirectionLabel("margin-top")]="")}))},updateSlide:(e,i,n)=>{const{slidesPerGroup:l}=r.params,d=o(),{rows:c,fill:p}=r.params.grid,u=r.virtual&&r.params.virtual.enabled?r.virtual.slides.length:n.length;let m,h,f;if("row"===p&&l>1){const s=Math.floor(e/(l*c)),a=e-c*l*s,r=0===s?l:Math.min(Math.ceil((u-s*c*l)/c),l);f=Math.floor(a/r),h=a-f*r+s*l,m=h+f*t/c,i.style.order=m}else"column"===p?(h=Math.floor(e/c),f=e-h*c,(h>a||h===a&&f===c-1)&&(f+=1,f>=c&&(f=0,h+=1))):(f=Math.floor(e/s),h=e-f*s);i.row=f,i.column=h,i.style.height=`calc((100% - ${(c-1)*d}px) / ${c})`,i.style[r.getDirectionLabel("margin-top")]=0!==f?d&&`${d}px`:"",i.swiperSlideGridSet=!0},updateWrapperSize:(e,s)=>{const{centeredSlides:a,roundLengths:i}=r.params,n=o(),{rows:l}=r.params.grid;if(r.virtualSize=(e+n)*t,r.virtualSize=Math.ceil(r.virtualSize/l)-n,r.params.cssMode||(r.wrapperEl.style[r.getDirectionLabel("width")]=`${r.virtualSize+n}px`),a){const e=[];for(let t=0;t<s.length;t+=1){let a=s[t];i&&(a=Math.floor(a)),s[t]<r.virtualSize+s[0]&&e.push(a)}s.splice(0,s.length),s.push(...e)}}}},function(e){let{swiper:t}=e;Object.assign(t,{appendSlide:ae.bind(t),prependSlide:ie.bind(t),addSlide:re.bind(t),removeSlide:ne.bind(t),removeAllSlides:le.bind(t)})},function(e){let{swiper:t,extendParams:s,on:a}=e;s({fadeEffect:{crossFade:!1}}),oe({effect:"fade",swiper:t,on:a,setTranslate:()=>{const{slides:e}=t;t.params.fadeEffect;for(let s=0;s<e.length;s+=1){const e=t.slides[s];let a=-e.swiperSlideOffset;t.params.virtualTranslate||(a-=t.translate);let i=0;t.isHorizontal()||(i=a,a=0);const r=t.params.fadeEffect.crossFade?Math.max(1-Math.abs(e.progress),0):1+Math.min(Math.max(e.progress,-1),0),n=de(0,e);n.style.opacity=r,n.style.transform=`translate3d(${a}px, ${i}px, 0px)`}},setTransition:e=>{const s=t.slides.map((e=>h(e)));s.forEach((t=>{t.style.transitionDuration=`${e}ms`})),ce({swiper:t,duration:e,transformElements:s,allSlides:!0})},overwriteParams:()=>({slidesPerView:1,slidesPerGroup:1,watchSlidesProgress:!0,spaceBetween:0,virtualTranslate:!t.params.cssMode})})},function(e){let{swiper:t,extendParams:s,on:a}=e;s({cubeEffect:{slideShadows:!0,shadow:!0,shadowOffset:20,shadowScale:.94}});const i=(e,t,s)=>{let a=s?e.querySelector(".swiper-slide-shadow-left"):e.querySelector(".swiper-slide-shadow-top"),i=s?e.querySelector(".swiper-slide-shadow-right"):e.querySelector(".swiper-slide-shadow-bottom");a||(a=v("div",("swiper-slide-shadow-cube swiper-slide-shadow-"+(s?"left":"top")).split(" ")),e.append(a)),i||(i=v("div",("swiper-slide-shadow-cube swiper-slide-shadow-"+(s?"right":"bottom")).split(" ")),e.append(i)),a&&(a.style.opacity=Math.max(-t,0)),i&&(i.style.opacity=Math.max(t,0))};oe({effect:"cube",swiper:t,on:a,setTranslate:()=>{const{el:e,wrapperEl:s,slides:a,width:r,height:n,rtlTranslate:l,size:o,browser:d}=t,c=t.params.cubeEffect,p=t.isHorizontal(),u=t.virtual&&t.params.virtual.enabled;let m,h=0;c.shadow&&(p?(m=t.wrapperEl.querySelector(".swiper-cube-shadow"),m||(m=v("div","swiper-cube-shadow"),t.wrapperEl.append(m)),m.style.height=`${r}px`):(m=e.querySelector(".swiper-cube-shadow"),m||(m=v("div","swiper-cube-shadow"),e.append(m))));for(let e=0;e<a.length;e+=1){const s=a[e];let r=e;u&&(r=parseInt(s.getAttribute("data-swiper-slide-index"),10));let n=90*r,d=Math.floor(n/360);l&&(n=-n,d=Math.floor(-n/360));const m=Math.max(Math.min(s.progress,1),-1);let f=0,g=0,v=0;r%4==0?(f=4*-d*o,v=0):(r-1)%4==0?(f=0,v=4*-d*o):(r-2)%4==0?(f=o+4*d*o,v=o):(r-3)%4==0&&(f=-o,v=3*o+4*o*d),l&&(f=-f),p||(g=f,f=0);const w=`rotateX(${p?0:-n}deg) rotateY(${p?n:0}deg) translate3d(${f}px, ${g}px, ${v}px)`;m<=1&&m>-1&&(h=90*r+90*m,l&&(h=90*-r-90*m),t.browser&&t.browser.isSafari&&Math.abs(h)/90%2==1&&(h+=.001)),s.style.transform=w,c.slideShadows&&i(s,m,p)}if(s.style.transformOrigin=`50% 50% -${o/2}px`,s.style["-webkit-transform-origin"]=`50% 50% -${o/2}px`,c.shadow)if(p)m.style.transform=`translate3d(0px, ${r/2+c.shadowOffset}px, ${-r/2}px) rotateX(89.99deg) rotateZ(0deg) scale(${c.shadowScale})`;else{const e=Math.abs(h)-90*Math.floor(Math.abs(h)/90),t=1.5-(Math.sin(2*e*Math.PI/360)/2+Math.cos(2*e*Math.PI/360)/2),s=c.shadowScale,a=c.shadowScale/t,i=c.shadowOffset;m.style.transform=`scale3d(${s}, 1, ${a}) translate3d(0px, ${n/2+i}px, ${-n/2/a}px) rotateX(-89.99deg)`}const f=(d.isSafari||d.isWebView)&&d.needPerspectiveFix?-o/2:0;s.style.transform=`translate3d(0px,0,${f}px) rotateX(${t.isHorizontal()?0:h}deg) rotateY(${t.isHorizontal()?-h:0}deg)`,s.style.setProperty("--swiper-cube-translate-z",`${f}px`)},setTransition:e=>{const{el:s,slides:a}=t;if(a.forEach((t=>{t.style.transitionDuration=`${e}ms`,t.querySelectorAll(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").forEach((t=>{t.style.transitionDuration=`${e}ms`}))})),t.params.cubeEffect.shadow&&!t.isHorizontal()){const t=s.querySelector(".swiper-cube-shadow");t&&(t.style.transitionDuration=`${e}ms`)}},recreateShadows:()=>{const e=t.isHorizontal();t.slides.forEach((t=>{const s=Math.max(Math.min(t.progress,1),-1);i(t,s,e)}))},getEffectParams:()=>t.params.cubeEffect,perspective:()=>!0,overwriteParams:()=>({slidesPerView:1,slidesPerGroup:1,watchSlidesProgress:!0,resistanceRatio:0,spaceBetween:0,centeredSlides:!1,virtualTranslate:!0})})},function(e){let{swiper:t,extendParams:s,on:a}=e;s({flipEffect:{slideShadows:!0,limitRotation:!0}});const i=(e,s)=>{let a=t.isHorizontal()?e.querySelector(".swiper-slide-shadow-left"):e.querySelector(".swiper-slide-shadow-top"),i=t.isHorizontal()?e.querySelector(".swiper-slide-shadow-right"):e.querySelector(".swiper-slide-shadow-bottom");a||(a=pe("flip",e,t.isHorizontal()?"left":"top")),i||(i=pe("flip",e,t.isHorizontal()?"right":"bottom")),a&&(a.style.opacity=Math.max(-s,0)),i&&(i.style.opacity=Math.max(s,0))};oe({effect:"flip",swiper:t,on:a,setTranslate:()=>{const{slides:e,rtlTranslate:s}=t,a=t.params.flipEffect;for(let r=0;r<e.length;r+=1){const n=e[r];let l=n.progress;t.params.flipEffect.limitRotation&&(l=Math.max(Math.min(n.progress,1),-1));const o=n.swiperSlideOffset;let d=-180*l,c=0,p=t.params.cssMode?-o-t.translate:-o,u=0;t.isHorizontal()?s&&(d=-d):(u=p,p=0,c=-d,d=0),t.browser&&t.browser.isSafari&&(Math.abs(d)/90%2==1&&(d+=.001),Math.abs(c)/90%2==1&&(c+=.001)),n.style.zIndex=-Math.abs(Math.round(l))+e.length,a.slideShadows&&i(n,l);const m=`translate3d(${p}px, ${u}px, 0px) rotateX(${c}deg) rotateY(${d}deg)`;de(0,n).style.transform=m}},setTransition:e=>{const s=t.slides.map((e=>h(e)));s.forEach((t=>{t.style.transitionDuration=`${e}ms`,t.querySelectorAll(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").forEach((t=>{t.style.transitionDuration=`${e}ms`}))})),ce({swiper:t,duration:e,transformElements:s})},recreateShadows:()=>{t.params.flipEffect,t.slides.forEach((e=>{let s=e.progress;t.params.flipEffect.limitRotation&&(s=Math.max(Math.min(e.progress,1),-1)),i(e,s)}))},getEffectParams:()=>t.params.flipEffect,perspective:()=>!0,overwriteParams:()=>({slidesPerView:1,slidesPerGroup:1,watchSlidesProgress:!0,spaceBetween:0,virtualTranslate:!t.params.cssMode})})},function(e){let{swiper:t,extendParams:s,on:a}=e;s({coverflowEffect:{rotate:50,stretch:0,depth:100,scale:1,modifier:1,slideShadows:!0}}),oe({effect:"coverflow",swiper:t,on:a,setTranslate:()=>{const{width:e,height:s,slides:a,slidesSizesGrid:i}=t,r=t.params.coverflowEffect,n=t.isHorizontal(),l=t.translate,o=n?e/2-l:s/2-l,d=n?r.rotate:-r.rotate,c=r.depth;for(let e=0,s=a.length;e<s;e+=1){const s=a[e],l=i[e],p=(o-s.swiperSlideOffset-l/2)/l,u="function"==typeof r.modifier?r.modifier(p):p*r.modifier;let m=n?d*u:0,h=n?0:d*u,f=-c*Math.abs(u),g=r.stretch;"string"==typeof g&&-1!==g.indexOf("%")&&(g=parseFloat(r.stretch)/100*l);let v=n?0:g*u,w=n?g*u:0,b=1-(1-r.scale)*Math.abs(u);Math.abs(w)<.001&&(w=0),Math.abs(v)<.001&&(v=0),Math.abs(f)<.001&&(f=0),Math.abs(m)<.001&&(m=0),Math.abs(h)<.001&&(h=0),Math.abs(b)<.001&&(b=0),t.browser&&t.browser.isSafari&&(Math.abs(m)/90%2==1&&(m+=.001),Math.abs(h)/90%2==1&&(h+=.001));const y=`translate3d(${w}px,${v}px,${f}px)  rotateX(${h}deg) rotateY(${m}deg) scale(${b})`;if(de(0,s).style.transform=y,s.style.zIndex=1-Math.abs(Math.round(u)),r.slideShadows){let e=n?s.querySelector(".swiper-slide-shadow-left"):s.querySelector(".swiper-slide-shadow-top"),t=n?s.querySelector(".swiper-slide-shadow-right"):s.querySelector(".swiper-slide-shadow-bottom");e||(e=pe("coverflow",s,n?"left":"top")),t||(t=pe("coverflow",s,n?"right":"bottom")),e&&(e.style.opacity=u>0?u:0),t&&(t.style.opacity=-u>0?-u:0)}}},setTransition:e=>{t.slides.map((e=>h(e))).forEach((t=>{t.style.transitionDuration=`${e}ms`,t.querySelectorAll(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").forEach((t=>{t.style.transitionDuration=`${e}ms`}))}))},perspective:()=>!0,overwriteParams:()=>({watchSlidesProgress:!0})})},function(e){let{swiper:t,extendParams:s,on:a}=e;s({creativeEffect:{limitProgress:1,shadowPerProgress:!1,progressMultiplier:1,perspective:!0,prev:{translate:[0,0,0],rotate:[0,0,0],opacity:1,scale:1},next:{translate:[0,0,0],rotate:[0,0,0],opacity:1,scale:1}}});const i=e=>"string"==typeof e?e:`${e}px`;oe({effect:"creative",swiper:t,on:a,setTranslate:()=>{const{slides:e,wrapperEl:s,slidesSizesGrid:a}=t,r=t.params.creativeEffect,{progressMultiplier:n}=r,l=t.params.centeredSlides;if(l){const e=a[0]/2-t.params.slidesOffsetBefore||0;s.style.transform=`translateX(calc(50% - ${e}px))`}for(let s=0;s<e.length;s+=1){const a=e[s],o=a.progress,d=Math.min(Math.max(a.progress,-r.limitProgress),r.limitProgress);let c=d;l||(c=Math.min(Math.max(a.originalProgress,-r.limitProgress),r.limitProgress));const p=a.swiperSlideOffset,u=[t.params.cssMode?-p-t.translate:-p,0,0],m=[0,0,0];let h=!1;t.isHorizontal()||(u[1]=u[0],u[0]=0);let f={translate:[0,0,0],rotate:[0,0,0],scale:1,opacity:1};d<0?(f=r.next,h=!0):d>0&&(f=r.prev,h=!0),u.forEach(((e,t)=>{u[t]=`calc(${e}px + (${i(f.translate[t])} * ${Math.abs(d*n)}))`})),m.forEach(((e,s)=>{let a=f.rotate[s]*Math.abs(d*n);t.browser&&t.browser.isSafari&&Math.abs(a)/90%2==1&&(a+=.001),m[s]=a})),a.style.zIndex=-Math.abs(Math.round(o))+e.length;const g=u.join(", "),v=`rotateX(${m[0]}deg) rotateY(${m[1]}deg) rotateZ(${m[2]}deg)`,w=c<0?`scale(${1+(1-f.scale)*c*n})`:`scale(${1-(1-f.scale)*c*n})`,b=c<0?1+(1-f.opacity)*c*n:1-(1-f.opacity)*c*n,y=`translate3d(${g}) ${v} ${w}`;if(h&&f.shadow||!h){let e=a.querySelector(".swiper-slide-shadow");if(!e&&f.shadow&&(e=pe("creative",a)),e){const t=r.shadowPerProgress?d*(1/r.limitProgress):d;e.style.opacity=Math.min(Math.max(Math.abs(t),0),1)}}const E=de(0,a);E.style.transform=y,E.style.opacity=b,f.origin&&(E.style.transformOrigin=f.origin)}},setTransition:e=>{const s=t.slides.map((e=>h(e)));s.forEach((t=>{t.style.transitionDuration=`${e}ms`,t.querySelectorAll(".swiper-slide-shadow").forEach((t=>{t.style.transitionDuration=`${e}ms`}))})),ce({swiper:t,duration:e,transformElements:s,allSlides:!0})},perspective:()=>t.params.creativeEffect.perspective,overwriteParams:()=>({watchSlidesProgress:!0,virtualTranslate:!t.params.cssMode})})},function(e){let{swiper:t,extendParams:s,on:a}=e;s({cardsEffect:{slideShadows:!0,rotate:!0,perSlideRotate:2,perSlideOffset:8}}),oe({effect:"cards",swiper:t,on:a,setTranslate:()=>{const{slides:e,activeIndex:s,rtlTranslate:a}=t,i=t.params.cardsEffect,{startTranslate:r,isTouched:n}=t.touchEventsData,l=a?-t.translate:t.translate;for(let o=0;o<e.length;o+=1){const d=e[o],c=d.progress,p=Math.min(Math.max(c,-4),4);let u=d.swiperSlideOffset;t.params.centeredSlides&&!t.params.cssMode&&(t.wrapperEl.style.transform=`translateX(${t.minTranslate()}px)`),t.params.centeredSlides&&t.params.cssMode&&(u-=e[0].swiperSlideOffset);let m=t.params.cssMode?-u-t.translate:-u,h=0;const f=-100*Math.abs(p);let g=1,v=-i.perSlideRotate*p,w=i.perSlideOffset-.75*Math.abs(p);const b=t.virtual&&t.params.virtual.enabled?t.virtual.from+o:o,y=(b===s||b===s-1)&&p>0&&p<1&&(n||t.params.cssMode)&&l<r,E=(b===s||b===s+1)&&p<0&&p>-1&&(n||t.params.cssMode)&&l>r;if(y||E){const e=(1-Math.abs((Math.abs(p)-.5)/.5))**.5;v+=-28*p*e,g+=-.5*e,w+=96*e,h=-25*e*Math.abs(p)+"%"}if(m=p<0?`calc(${m}px ${a?"-":"+"} (${w*Math.abs(p)}%))`:p>0?`calc(${m}px ${a?"-":"+"} (-${w*Math.abs(p)}%))`:`${m}px`,!t.isHorizontal()){const e=h;h=m,m=e}const x=p<0?""+(1+(1-g)*p):""+(1-(1-g)*p),S=`\n        translate3d(${m}, ${h}, ${f}px)\n        rotateZ(${i.rotate?a?-v:v:0}deg)\n        scale(${x})\n      `;if(i.slideShadows){let e=d.querySelector(".swiper-slide-shadow");e||(e=pe("cards",d)),e&&(e.style.opacity=Math.min(Math.max((Math.abs(p)-.5)/.5,0),1))}d.style.zIndex=-Math.abs(Math.round(c))+e.length;de(0,d).style.transform=S}},setTransition:e=>{const s=t.slides.map((e=>h(e)));s.forEach((t=>{t.style.transitionDuration=`${e}ms`,t.querySelectorAll(".swiper-slide-shadow").forEach((t=>{t.style.transitionDuration=`${e}ms`}))})),ce({swiper:t,duration:e,transformElements:s})},perspective:()=>!0,overwriteParams:()=>({watchSlidesProgress:!0,virtualTranslate:!t.params.cssMode})})}];return ee.use(ue),ee}();
!function(){var t={33:function(t,e,i){"use strict";var n,o,a;function r(t){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},r(t)}"function"==typeof Symbol&&r(Symbol.iterator);o=[i(669)],n=function(t){return t.fn.tilt=function(e){var i=function(){this.ticking||(requestAnimationFrame(h.bind(this)),this.ticking=!0)},n=function(){var e=this;t(this).on("mousemove",s),t(this).on("mouseenter",a),this.settings.reset&&t(this).on("mouseleave",l),this.settings.glare&&t(window).on("resize",d.bind(e))},o=function(){var e=this;void 0!==this.timeout&&clearTimeout(this.timeout),t(this).css({transition:this.settings.speed+"ms "+this.settings.easing}),this.settings.glare&&this.glareElement.css({transition:"opacity "+this.settings.speed+"ms "+this.settings.easing}),this.timeout=setTimeout((function(){t(e).css({transition:""}),e.settings.glare&&e.glareElement.css({transition:""})}),this.settings.speed)},a=function(e){this.ticking=!1,t(this).css({"will-change":"transform"}),o.call(this),t(this).trigger("tilt.mouseEnter")},r=function(e){return void 0===e&&(e={pageX:t(this).offset().left+t(this).outerWidth()/2,pageY:t(this).offset().top+t(this).outerHeight()/2}),{x:e.pageX,y:e.pageY}},s=function(t){this.mousePositions=r(t),i.call(this)},l=function(){o.call(this),this.reset=!0,i.call(this),t(this).trigger("tilt.mouseLeave")},c=function(){var e=t(this).outerWidth(),i=t(this).outerHeight(),n=t(this).offset().left,o=t(this).offset().top,a=(this.mousePositions.x-n)/e,r=(this.mousePositions.y-o)/i,s=(this.settings.maxTilt/2-a*this.settings.maxTilt).toFixed(2),l=(r*this.settings.maxTilt-this.settings.maxTilt/2).toFixed(2),c=Math.atan2(this.mousePositions.x-(n+e/2),-(this.mousePositions.y-(o+i/2)))*(180/Math.PI);return{tiltX:s,tiltY:l,percentageX:100*a,percentageY:100*r,angle:c}},h=function(){return this.transforms=c.call(this),this.reset?(this.reset=!1,t(this).css("transform","perspective("+this.settings.perspective+"px) rotateX(0deg) rotateY(0deg)"),void(this.settings.glare&&(this.glareElement.css("transform","rotate(180deg) translate(-50%, -50%)"),this.glareElement.css("opacity","0")))):(t(this).css("transform","perspective("+this.settings.perspective+"px) rotateX("+("x"===this.settings.disableAxis?0:this.transforms.tiltY)+"deg) rotateY("+("y"===this.settings.disableAxis?0:this.transforms.tiltX)+"deg) scale3d("+this.settings.scale+","+this.settings.scale+","+this.settings.scale+")"),this.settings.glare&&(this.glareElement.css("transform","rotate("+this.transforms.angle+"deg) translate(-50%, -50%)"),this.glareElement.css("opacity",""+this.transforms.percentageY*this.settings.maxGlare/100)),t(this).trigger("change",[this.transforms]),void(this.ticking=!1))},u=function(){var e=this.settings.glarePrerender;if(e||t(this).append('<div class="js-tilt-glare"><div class="js-tilt-glare-inner"></div></div>'),this.glareElementWrapper=t(this).find(".js-tilt-glare"),this.glareElement=t(this).find(".js-tilt-glare-inner"),!e){var i={position:"absolute",top:"0",left:"0",width:"100%",height:"100%"};this.glareElementWrapper.css(i).css({overflow:"hidden","pointer-events":"none"}),this.glareElement.css({position:"absolute",top:"50%",left:"50%","background-image":"linear-gradient(0deg, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 100%)",width:""+2*t(this).outerWidth(),height:""+2*t(this).outerWidth(),transform:"rotate(180deg) translate(-50%, -50%)","transform-origin":"0% 0%",opacity:"0"})}},d=function(){this.glareElement.css({width:""+2*t(this).outerWidth(),height:""+2*t(this).outerWidth()})};return t.fn.tilt.destroy=function(){t(this).each((function(){t(this).find(".js-tilt-glare").remove(),t(this).css({"will-change":"",transform:""}),t(this).off("mousemove mouseenter mouseleave")}))},t.fn.tilt.getValues=function(){var e=[];return t(this).each((function(){this.mousePositions=r.call(this),e.push(c.call(this))})),e},t.fn.tilt.reset=function(){t(this).each((function(){var e=this;this.mousePositions=r.call(this),this.settings=t(this).data("settings"),l.call(this),setTimeout((function(){e.reset=!1}),this.settings.transition)}))},this.each((function(){var i=this;this.settings=t.extend({maxTilt:t(this).is("[data-tilt-max]")?t(this).data("tilt-max"):20,perspective:t(this).is("[data-tilt-perspective]")?t(this).data("tilt-perspective"):300,easing:t(this).is("[data-tilt-easing]")?t(this).data("tilt-easing"):"cubic-bezier(.03,.98,.52,.99)",scale:t(this).is("[data-tilt-scale]")?t(this).data("tilt-scale"):"1",speed:t(this).is("[data-tilt-speed]")?t(this).data("tilt-speed"):"400",transition:!t(this).is("[data-tilt-transition]")||t(this).data("tilt-transition"),disableAxis:t(this).is("[data-tilt-disable-axis]")?t(this).data("tilt-disable-axis"):null,axis:t(this).is("[data-tilt-axis]")?t(this).data("tilt-axis"):null,reset:!t(this).is("[data-tilt-reset]")||t(this).data("tilt-reset"),glare:!!t(this).is("[data-tilt-glare]")&&t(this).data("tilt-glare"),maxGlare:t(this).is("[data-tilt-maxglare]")?t(this).data("tilt-maxglare"):1},e),null!==this.settings.axis&&(console.warn("Tilt.js: the axis setting has been renamed to disableAxis. See https://github.com/gijsroge/tilt.js/pull/26 for more information"),this.settings.disableAxis=this.settings.axis),this.init=function(){t(i).data("settings",i.settings),i.settings.glare&&u.call(i),n.call(i)},this.init()}))},t("[data-tilt]").tilt(),!0},(a="function"==typeof n?n.apply(e,o):n)===undefined||(t.exports=a)},123:function(){
!function(t){function e(t){var e="";"lowerLetter"==t?e="abcdefghijklmnopqrstuvwxyz0123456789":"upperLetter"==t?e="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789":"symbol"==t&&(e=",.?/\\(^)![]{}*&^%$#'\"");var i=e.split("");return i[Math.floor(Math.random()*i.length)]}t.fn.shuffleLetters=function(i){var n=t.extend({step:8,fps:25,text:"",callback:function(){}},i);return this.each((function(){var i=t(this),o="";if(i.data("animated"))return!0;i.data("animated",!0),o=n.text?n.text.split(""):i.text().split("");for(var a=[],r=[],s=0;s<o.length;s++){var l=o[s];" "!=l?(/[a-z]/.test(l)?a[s]="lowerLetter":/[A-Z]/.test(l)?a[s]="upperLetter":a[s]="symbol",r.push(s)):a[s]="space"}i.html(""),function c(t){var s,l=r.length,h=o.slice(0);if(t>l)return i.data("animated",!1),void n.callback(i);for(s=Math.max(t,0);s<l;s++)s<t+n.step?h[r[s]]=e(a[r[s]]):h[r[s]]="";i.text(h.join("")),setTimeout((function(){c(t+1)}),1e3/n.fps)}(-n.step)}))}}(jQuery)},160:function(){var t=function(t,e){if(window.google){var i=e("#"+t.find(".ekit-google-map").attr("id")),n=i.data("id"),o=i.data("api_key"),a=i.data("map_type"),r=i.data("map_address_type"),s=i.data("map_lat")||23.7808875,l=i.data("map_lng")||90.2792373,c=i.data("map_addr"),h=i.data("map_basic_marker_title"),u=i.data("map_basic_marker_content"),d=i.data("map_basic_marker_icon_enable"),p=i.data("map_basic_marker_icon"),f=i.data("map_basic_marker_icon_width"),m=i.data("map_basic_marker_icon_height"),g=i.data("map_zoom")||14,v=i.data("map_markers"),y=i.data("map_static_width"),_=i.data("map_static_height"),b=i.data("map_polylines"),w=i.data("map_stroke_color"),E=i.data("map_stroke_opacity"),k=i.data("map_stroke_weight"),T=i.data("map_stroke_fill_color"),C=i.data("map_stroke_fill_opacity"),S=i.data("map_overlay_content"),x=i.data("map_routes_origin_lat"),I=i.data("map_routes_origin_lng"),O=i.data("map_routes_dest_lat"),z=i.data("map_routes_dest_lng"),W=i.data("map_routes_travel_mode"),N=i.data("map_panorama_lat"),Y=i.data("map_panorama_lng"),L=JSON.parse(decodeURIComponent((i.data("map_theme")+"").replace(/\+/g,"%20"))),A=i.data("map_streeview_control"),M=i.data("map_type_control"),R=i.data("map_zoom_control"),X=i.data("map_fullscreen_control"),P=i.data("map_scroll_zoom"),j={};if("static"!==a&&(j=new GMaps({el:"#ekit-google-map-"+n,lat:s,lng:l,zoom:g,streetViewControl:A,mapTypeControl:M,zoomControl:R,fullscreenControl:X,scrollwheel:P})),""!=L&&(j.addStyle({styledMapName:"Styled Map",styles:JSON.parse(L),mapTypeId:"map_style"}),j.setStyle("map_style")),"basic"==a){var D=""!=u?{content:u}:"";if("yes"==d)var F={url:p,scaledSize:new google.maps.Size(f,m)};else F=null;"address"==r?GMaps.geocode({address:c,callback:function(t,e){if("OK"==e){var i=t[0].geometry.location;j.setCenter(i.lat()||0,i.lng()||0),j.addMarker({lat:i.lat(),lng:i.lng(),title:h,infoWindow:D,icon:F})}}}):"coordinates"==r&&j.addMarker({lat:s,lng:l,title:h,infoWindow:D,icon:F})}if("marker"==a)if((Q=JSON.parse(decodeURIComponent((v+"").replace(/\+/g,"%20")))).length>0){var B=new GMaps({el:"#ekit-google-map-"+n,lat:Q[0].map_marker_lat,lng:Q[0].map_marker_lng,zoom:g,streetViewControl:A,mapTypeControl:M,zoomControl:R,fullscreenControl:X,scrollwheel:P});B.setCenter(Q[0].map_marker_lat||0,Q[0].map_marker_lng||0),""!=L&&(B.addStyle({styledMapName:"Styled Map",styles:JSON.parse(L),mapTypeId:"map_style"}),B.setStyle("map_style")),Q.forEach((function(t){if(""!=t.map_marker_content)var e={content:t.map_marker_content};else e="";if("yes"==t.map_marker_icon_enable)var i={url:t.map_marker_icon.url,scaledSize:new google.maps.Size(t.map_marker_icon_width,t.map_marker_icon_height)};else i="";B.addMarker({lat:parseFloat(t.map_marker_lat),lng:parseFloat(t.map_marker_lng),title:t.map_marker_title,infoWindow:e,icon:i})}))}if("static"==a){var Q=JSON.parse(decodeURIComponent((v+"").replace(/\+/g,"%20"))),H=[];Q.length>0&&Q.forEach((function(t){H.push({lat:parseFloat(t.map_marker_lat),lng:parseFloat(t.map_marker_lng),color:t.ekit_google_map_marker_icon_color})}));var U=GMaps.staticMapURL({zoom:g,size:[y,_],markers:H});e("<img />").attr({width:y,height:_,src:U+"&key="+o}).appendTo("#ekit-google-map-"+n)}if("polyline"==a){var J=JSON.parse(decodeURIComponent((b+"").replace(/\+/g,"%20"))),Q=JSON.parse(decodeURIComponent((v+"").replace(/\+/g,"%20"))),q=[];J.forEach((function(t){q.push([parseFloat(t.map_polyline_lat),parseFloat(t.map_polyline_lng)])}));var G=JSON.parse(JSON.stringify(q));j.drawPolyline({path:G,strokeColor:w.toString(),strokeOpacity:E,strokeWeight:k}),Q.forEach((function(t){if(""!=t.map_marker_content)var e={content:t.map_marker_content};else e="";if("yes"==t.map_marker_icon_enable)var i={url:t.map_marker_icon.url,scaledSize:new google.maps.Size(t.map_marker_icon_width,t.map_marker_icon_height)};else i="";j.addMarker({lat:t.map_marker_lat,lng:t.map_marker_lng,title:t.map_marker_title,infoWindow:e,icon:i})})),""!=L&&(j.addStyle({styledMapName:"Styled Map",styles:JSON.parse(L),mapTypeId:"polyline_map_style"}),j.setStyle("polyline_map_style"))}if("polygon"==a){Q=JSON.parse(decodeURIComponent((b+"").replace(/\+/g,"%20")));var K=[];Q.forEach((function(t){K.push([parseFloat(t.map_polyline_lat),parseFloat(t.map_polyline_lng)])}));G=JSON.parse(JSON.stringify(K));j.drawPolygon({paths:G,strokeColor:w.toString(),strokeOpacity:E,strokeWeight:k,fillColor:T.toString(),fillOpacity:C})}if("overlay"==a){if(""!=S)var V='<div class="ekit-gmap-overlay">'+S+"</div>";else V="";j.drawOverlay({lat:s,lng:l,content:V})}if("routes"==a)j.drawRoute({origin:[x,I],destination:[O,z],travelMode:W.toString(),strokeColor:w.toString(),strokeOpacity:E,strokeWeight:k}),(Q=JSON.parse(decodeURIComponent((v+"").replace(/\+/g,"%20")))).length>0&&Q.forEach((function(t){if(""!=t.map_marker_content)var e={content:t.map_marker_content};else e="";if("yes"==t.map_marker_icon_enable)var i={url:t.map_marker_icon.url,scaledSize:new google.maps.Size(t.map_marker_icon_width,t.map_marker_icon_height)};else i="";j.addMarker({lat:t.map_marker_lat,lng:t.map_marker_lng,title:t.map_marker_title,infoWindow:e,icon:i})}));if("panorama"==a)GMaps.createPanorama({el:"#ekit-google-map-"+n,lat:N,lng:Y})}};jQuery(window).on("elementor/frontend/init",(function(){elementorFrontend.hooks.addAction("frontend/element_ready/elementskit-google-map.default",t)}))},213:function(t,e){var i,n,o;n=[],i=function(){var t=Object.assign||window.jQuery&&jQuery.extend,e=8,i=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(t,e){return window.setTimeout((function(){t()}),25)};!function(){if("function"==typeof window.CustomEvent)return!1;function t(t,e){e=e||{bubbles:!1,cancelable:!1,detail:undefined};var i=document.createEvent("CustomEvent");return i.initCustomEvent(t,e.bubbles,e.cancelable,e.detail),i}t.prototype=window.Event.prototype,window.CustomEvent=t}();var n={textarea:!0,input:!0,select:!0,button:!0},o={move:"mousemove",cancel:"mouseup dragstart",end:"mouseup"},a={move:"touchmove",cancel:"touchend",end:"touchend"},r=/\s+/,s={bubbles:!0,cancelable:!0},l="function"==typeof Symbol?Symbol("events"):{};function c(t){return new CustomEvent(t,s)}function h(t){return t[l]||(t[l]={})}function u(t,e,i,n,o){e=e.split(r);var a,s=h(t),l=e.length;function c(t){i(t,n)}for(;l--;)(s[a=e[l]]||(s[a]=[])).push([i,c]),t.addEventListener(a,c)}function d(t,e,i,n){e=e.split(r);var o,a,s,l=h(t),c=e.length;if(l)for(;c--;)if(a=l[o=e[c]])for(s=a.length;s--;)a[s][0]===i&&(t.removeEventListener(o,a[s][1]),a.splice(s,1))}function p(e,i,n){var o=c(i);n&&t(o,n),e.dispatchEvent(o)}function f(t){var e=t,n=!1,o=!1;function a(t){n?(e(),i(a),o=!0,n=!1):o=!1}this.kick=function(t){n=!0,o||a()},this.end=function(t){var i=e;t&&(o?(e=n?function(){i(),t()}:t,n=!0):t())}}function m(){}function g(t){t.preventDefault()}function v(t){return!!n[t.target.tagName.toLowerCase()]}function y(t){return 1===t.which&&!t.ctrlKey&&!t.altKey}function _(t,e){var i,n;if(t.identifiedTouch)return t.identifiedTouch(e);for(i=-1,n=t.length;++i<n;)if(t[i].identifier===e)return t[i]}function b(t,e){var i=_(t.changedTouches,e.identifier);if(i&&(i.pageX!==e.pageX||i.pageY!==e.pageY))return i}function w(t){y(t)&&(v(t)||(u(document,o.move,E,t),u(document,o.cancel,k,t)))}function E(t,e){O(t,e,t,T)}function k(t,e){T()}function T(){d(document,o.move,E),d(document,o.cancel,k)}function C(t){if(!n[t.target.tagName.toLowerCase()]){var e=t.changedTouches[0],i={target:e.target,pageX:e.pageX,pageY:e.pageY,identifier:e.identifier,touchmove:function(t,e){S(t,e)},touchend:function(t,e){x(t,e)}};u(document,a.move,i.touchmove,i),u(document,a.cancel,i.touchend,i)}}function S(t,e){var i=b(t,e);i&&O(t,e,i,I)}function x(t,e){_(t.changedTouches,e.identifier)&&I(e)}function I(t){d(document,a.move,t.touchmove),d(document,a.cancel,t.touchend)}function O(t,i,n,o){var a=n.pageX-i.pageX,r=n.pageY-i.pageY;a*a+r*r<e*e||z(t,i,n,a,r,o)}function z(t,e,i,n,o,a){var r=t.targetTouches,s=t.timeStamp-e.timeStamp,l={altKey:t.altKey,ctrlKey:t.ctrlKey,shiftKey:t.shiftKey,startX:e.pageX,startY:e.pageY,distX:n,distY:o,deltaX:n,deltaY:o,pageX:i.pageX,pageY:i.pageY,velocityX:n/s,velocityY:o/s,identifier:e.identifier,targetTouches:r,finger:r?r.length:1,enableMove:function(){this.moveEnabled=!0,this.enableMove=m,t.preventDefault()}};p(e.target,"movestart",l),a(e)}function W(t,e){var i=e.timer;e.touch=t,e.timeStamp=t.timeStamp,i.kick()}function N(t,e){var i=e.target,n=e.event,o=e.timer;Y(),X(i,n,o,(function(){setTimeout((function(){d(i,"click",g)}),0)}))}function Y(){d(document,o.move,W),d(document,o.end,N)}function L(t,e){var i=e.event,n=e.timer,o=b(t,i);o&&(t.preventDefault(),i.targetTouches=t.targetTouches,e.touch=o,e.timeStamp=t.timeStamp,n.kick())}function A(t,e){var i=e.target,n=e.event,o=e.timer;_(t.changedTouches,n.identifier)&&(M(e),X(i,n,o))}function M(t){d(document,a.move,t.activeTouchmove),d(document,a.end,t.activeTouchend)}function R(t,e,i){var n=i-t.timeStamp;t.distX=e.pageX-t.startX,t.distY=e.pageY-t.startY,t.deltaX=e.pageX-t.pageX,t.deltaY=e.pageY-t.pageY,t.velocityX=.3*t.velocityX+.7*t.deltaX/n,t.velocityY=.3*t.velocityY+.7*t.deltaY/n,t.pageX=e.pageX,t.pageY=e.pageY}function X(t,e,i,n){i.end((function(){return p(t,"moveend",e),n&&n()}))}function P(t){if(!t.defaultPrevented&&t.moveEnabled){var e={startX:t.startX,startY:t.startY,pageX:t.pageX,pageY:t.pageY,distX:t.distX,distY:t.distY,deltaX:t.deltaX,deltaY:t.deltaY,velocityX:t.velocityX,velocityY:t.velocityY,identifier:t.identifier,targetTouches:t.targetTouches,finger:t.finger},i={target:t.target,event:e,timer:new f(n),touch:undefined,timeStamp:t.timeStamp};t.identifier===undefined?(u(t.target,"click",g),u(document,o.move,W,i),u(document,o.end,N,i)):(i.activeTouchmove=function(t,e){L(t,e)},i.activeTouchend=function(t,e){A(t,e)},u(document,a.move,i.activeTouchmove,i),u(document,a.end,i.activeTouchend,i))}function n(t){R(e,i.touch,i.timeStamp),p(i.target,"move",e)}}if(u(document,"mousedown",w),u(document,"touchstart",C),u(document,"movestart",P),window.jQuery){var j="startX startY pageX pageY distX distY deltaX deltaY velocityX velocityY".split(" ");jQuery.event.special.movestart={setup:function(){return u(this,"movestart",D),!1},teardown:function(){return d(this,"movestart",D),!1},add:Q},jQuery.event.special.move={setup:function(){return u(this,"movestart",F),!1},teardown:function(){return d(this,"movestart",F),!1},add:Q},jQuery.event.special.moveend={setup:function(){return u(this,"movestart",B),!1},teardown:function(){return d(this,"movestart",B),!1},add:Q}}function D(t){t.enableMove()}function F(t){t.enableMove()}function B(t){t.enableMove()}function Q(t){var e=t.handler;t.handler=function(t){for(var i,n=j.length;n--;)t[i=j[n]]=t.originalEvent[i];e.apply(this,arguments)}}},(o="function"==typeof i?i.apply(e,n):i)===undefined||(t.exports=o)},244:function(t,e,i){var n,o,a,r;function s(t){return s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},s(t)}r=function(t,e,i){"use strict";function n(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function o(t,e,i){return e&&n(t.prototype,e),i&&n(t,i),t}function a(){return(a=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var i=arguments[e];for(var n in i)Object.prototype.hasOwnProperty.call(i,n)&&(t[n]=i[n])}return t}).apply(this,arguments)}e=e&&e.hasOwnProperty("default")?e["default"]:e,i=i&&i.hasOwnProperty("default")?i["default"]:i;var r=function(t){var e=!1,i={TRANSITION_END:"bsTransitionEnd",getUID:function(t){do{t+=~~(1e6*Math.random())}while(document.getElementById(t));return t},getSelectorFromElement:function(e){var i=e.getAttribute("data-target");i&&"#"!==i||(i=e.getAttribute("href")||""),"#"===i.charAt(0)&&(i=function(e){return"function"==typeof t.escapeSelector?t.escapeSelector(e).substr(1):e.replace(/(:|\.|\[|\]|,|=|@)/g,"\\$1")}(i));try{return t(document).find(i).length>0?i:null}catch(t){return null}},reflow:function(t){return t.offsetHeight},triggerTransitionEnd:function(i){t(i).trigger(e.end)},supportsTransitionEnd:function(){return Boolean(e)},isElement:function(t){return(t[0]||t).nodeType},typeCheckConfig:function(t,e,n){for(var o in n)if(Object.prototype.hasOwnProperty.call(n,o)){var a=n[o],r=e[o],s=r&&i.isElement(r)?"element":(l=r,{}.toString.call(l).match(/\s([a-zA-Z]+)/)[1].toLowerCase());if(!new RegExp(a).test(s))throw new Error(t.toUpperCase()+': Option "'+o+'" provided type "'+s+'" but expected type "'+a+'".')}var l}};return e=("undefined"==typeof window||!window.QUnit)&&{end:"transitionend"},t.fn.emulateTransitionEnd=function(e){var n=this,o=!1;return t(this).one(i.TRANSITION_END,(function(){o=!0})),setTimeout((function(){o||i.triggerTransitionEnd(n)}),e),this},i.supportsTransitionEnd()&&(t.event.special[i.TRANSITION_END]={bindType:e.end,delegateType:e.end,handle:function(e){if(t(e.target).is(this))return e.handleObj.handler.apply(this,arguments)}}),i}(e),l=function(t){var e="collapse",i="bs.collapse",n=t.fn[e],l={toggle:!0,parent:""},c={toggle:"boolean",parent:"(string|element)"},h="show.bs.collapse",u="shown.bs.collapse",d="hide.bs.collapse",p="hidden.bs.collapse",f="click.bs.collapse.data-api",m="show",g="collapse",v="collapsing",y="collapsed",_="width",b=".show, .collapsing",w='[data-ekit-toggle="collapse"]',E=function(){function n(e,i){this._isTransitioning=!1,this._element=e,this._config=this._getConfig(i),this._triggerArray=t.makeArray(t('[data-ekit-toggle="collapse"][href="#'+e.id+'"],[data-ekit-toggle="collapse"][data-target="#'+e.id+'"]'));for(var n=t(w),o=0;o<n.length;o++){var a=n[o],s=r.getSelectorFromElement(a);null!==s&&t(s).filter(e).length>0&&(this._selector=s,this._triggerArray.push(a))}this._parent=this._config.parent?this._getParent():null,this._config.parent||this._addAriaAndCollapsedClass(this._element,this._triggerArray),this._config.toggle&&this.toggle()}var f=n.prototype;return f.toggle=function(){t(this._element).hasClass(m)?this.hide():this.show()},f.show=function(){var e,o,a=this;if(!(this._isTransitioning||t(this._element).hasClass(m)||(this._parent&&0===(e=t.makeArray(t(this._parent).find(b).filter('[data-parent="'+this._config.parent+'"]'))).length&&(e=null),e&&(o=t(e).not(this._selector).data(i))&&o._isTransitioning))){var s=t.Event(h);if(t(this._element).trigger(s),!s.isDefaultPrevented()){e&&(n._jQueryInterface.call(t(e).not(this._selector),"hide"),o||t(e).data(i,null));var l=this._getDimension();t(this._element).removeClass(g).addClass(v),this._element.style[l]=0,this._triggerArray.length>0&&t(this._triggerArray).removeClass(y).attr("aria-expanded",!0),this.setTransitioning(!0);var c=function(){t(a._element).removeClass(v).addClass(g).addClass(m),a._element.style[l]="",a.setTransitioning(!1),t(a._element).trigger(u)};if(r.supportsTransitionEnd()){var d="scroll"+(l[0].toUpperCase()+l.slice(1));t(this._element).one(r.TRANSITION_END,c).emulateTransitionEnd(600),this._element.style[l]=this._element[d]+"px"}else c()}}},f.hide=function(){var e=this;if(!this._isTransitioning&&t(this._element).hasClass(m)){var i=t.Event(d);if(t(this._element).trigger(i),!i.isDefaultPrevented()){var n=this._getDimension();if(this._element.style[n]=this._element.getBoundingClientRect()[n]+"px",r.reflow(this._element),t(this._element).addClass(v).removeClass(g).removeClass(m),this._triggerArray.length>0)for(var o=0;o<this._triggerArray.length;o++){var a=this._triggerArray[o],s=r.getSelectorFromElement(a);null!==s&&(t(s).hasClass(m)||t(a).addClass(y).attr("aria-expanded",!1))}this.setTransitioning(!0);var l=function(){e.setTransitioning(!1),t(e._element).removeClass(v).addClass(g).trigger(p)};this._element.style[n]="",r.supportsTransitionEnd()?t(this._element).one(r.TRANSITION_END,l).emulateTransitionEnd(600):l()}}},f.setTransitioning=function(t){this._isTransitioning=t},f.dispose=function(){t.removeData(this._element,i),this._config=null,this._parent=null,this._element=null,this._triggerArray=null,this._isTransitioning=null},f._getConfig=function(t){return(t=a({},l,t)).toggle=Boolean(t.toggle),r.typeCheckConfig(e,t,c),t},f._getDimension=function(){return t(this._element).hasClass(_)?_:"height"},f._getParent=function(){var e=this,i=null;r.isElement(this._config.parent)?(i=this._config.parent,void 0!==this._config.parent.jquery&&(i=this._config.parent[0])):i=t(this._config.parent)[0];var o='[data-ekit-toggle="collapse"][data-parent="'+this._config.parent+'"]';return t(i).find(o).each((function(t,i){e._addAriaAndCollapsedClass(n._getTargetFromElement(i),[i])})),i},f._addAriaAndCollapsedClass=function(e,i){if(e){var n=t(e).hasClass(m);i.length>0&&t(i).toggleClass(y,!n).attr("aria-expanded",n)}},n._getTargetFromElement=function(e){var i=r.getSelectorFromElement(e);return i?t(i)[0]:null},n._jQueryInterface=function(e){return this.each((function(){var o=t(this),r=o.data(i),c=a({},l,o.data(),"object"==s(e)&&e);if(!r&&c.toggle&&/show|hide/.test(e)&&(c.toggle=!1),r||(r=new n(this,c),o.data(i,r)),"string"==typeof e){if(void 0===r[e])throw new TypeError('No method named "'+e+'"');r[e]()}}))},o(n,null,[{key:"VERSION",get:function(){return"4.0.0"}},{key:"Default",get:function(){return l}}]),n}();return t(document).on(f,w,(function(e){"A"===e.currentTarget.tagName&&e.preventDefault();var n=t(this),o=r.getSelectorFromElement(this);t(o).each((function(){var e=t(this),o=e.data(i)?"toggle":n.data();E._jQueryInterface.call(e,o)}))})),t.fn[e]=E._jQueryInterface,t.fn[e].Constructor=E,t.fn[e].noConflict=function(){return t.fn[e]=n,E._jQueryInterface},E}(e),c=function(t){var e=t.fn.tab,i="hide.bs.tab",n="hidden.bs.tab",a="show.bs.tab",s="shown.bs.tab",l="click.bs.tab.data-api",c="active",h="show",u=".active",d="> li > .active",p=function(){function e(t){this._element=t}var l=e.prototype;return l.show=function(){var e=this;if(!(this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE&&t(this._element).hasClass(c)||t(this._element).hasClass("disabled"))){var o,l,h=t(this._element).closest(".nav, .list-group")[0],p=r.getSelectorFromElement(this._element);if(h){var f="UL"===h.nodeName?d:u;l=(l=t.makeArray(t(h).find(f)))[l.length-1]}var m=t.Event(i,{relatedTarget:this._element}),g=t.Event(a,{relatedTarget:l});if(l&&t(l).trigger(m),t(this._element).trigger(g),!g.isDefaultPrevented()&&!m.isDefaultPrevented()){p&&(o=t(p)[0]),this._activate(this._element,h);var v=function(){var i=t.Event(n,{relatedTarget:e._element}),o=t.Event(s,{relatedTarget:l});t(l).trigger(i),t(e._element).trigger(o)};o?this._activate(o,o.parentNode,v):v()}}},l.dispose=function(){t.removeData(this._element,"bs.tab"),this._element=null},l._activate=function(e,i,n){var o=this,a=("UL"===i.nodeName?t(i).find(d):t(i).children(u))[0],s=n&&r.supportsTransitionEnd()&&a&&t(a).hasClass("fade"),l=function(){return o._transitionComplete(e,a,n)};a&&s?t(a).one(r.TRANSITION_END,l).emulateTransitionEnd(150):l()},l._transitionComplete=function(e,i,n){if(i){t(i).removeClass(h+" "+c);var o=t(i.parentNode).find("> .dropdown-menu .active")[0];o&&t(o).removeClass(c),"tab"===i.getAttribute("role")&&i.setAttribute("aria-selected",!1)}if(t(e).addClass(c),"tab"===e.getAttribute("role")&&e.setAttribute("aria-selected",!0),r.reflow(e),t(e).addClass(h),e.parentNode&&t(e.parentNode).hasClass("dropdown-menu")){var a=t(e).closest(".dropdown")[0];a&&t(a).find(".dropdown-toggle").addClass(c),e.setAttribute("aria-expanded",!0)}n&&n()},e._jQueryInterface=function(i){return this.each((function(){var n=t(this),o=n.data("bs.tab");if(o||(o=new e(this),n.data("bs.tab",o)),"string"==typeof i){if(void 0===o[i])throw new TypeError('No method named "'+i+'"');o[i]()}}))},o(e,null,[{key:"VERSION",get:function(){return"4.0.0"}}]),e}();return t(document).on(l,'[data-ekit-toggle="tab"], [data-ekit-toggle="pill"], [data-ekit-toggle="list"]',(function(e){e.preventDefault(),p._jQueryInterface.call(t(this),"show")})),t.fn.tab=p._jQueryInterface,t.fn.tab.Constructor=p,t.fn.tab.noConflict=function(){return t.fn.tab=e,p._jQueryInterface},p}(e);!function(t){if(void 0===t)throw new TypeError("Ekit Prefixed Bootstrap's JavaScript requires jQuery. jQuery must be included before Ekit Prefixed Bootstrap's JavaScript.");var e=t.fn.jquery.split(" ")[0].split(".");if(e[0]<2&&e[1]<9||1===e[0]&&9===e[1]&&e[2]<1||e[0]>=4)throw new Error("Ekit Prefixed UI's JavaScript requires at least jQuery v1.9.1 but less than v4.0.0")}(e),t.Util=r,t.Collapse=l,t.Tab=c,Object.defineProperty(t,"__esModule",{value:!0})},"object"==s(e)?r(e,i(669)):(o=[e,i(669)],(a="function"==typeof(n=r)?n.apply(e,o):n)===undefined||(t.exports=a))},669:function(t){"use strict";t.exports=jQuery},795:function(t,e,i){var n,o,a,r,s,l,c,h,u,d,p,f,m,g,v,y,_,b,w,E;function k(t){return k="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},k(t)
}E=window,b=[i(669)],w=function(t){return function(t,e){"use strict";function i(i,a,s){function l(t,e,n){var o,a="$()."+i+'("'+e+'")';return t.each((function(t,l){var c=s.data(l,i);if(c){var h=c[e];if(h&&"_"!=e.charAt(0)){var u=h.apply(c,n);o=void 0===o?u:o}else r(a+" is not a valid method")}else r(i+" not initialized. Cannot call methods, i.e. "+a)})),void 0!==o?o:t}function c(t,e){t.each((function(t,n){var o=s.data(n,i);o?(o.option(e),o._init()):(o=new a(n,e),s.data(n,i,o))}))}(s=s||e||t.jQuery)&&(a.prototype.option||(a.prototype.option=function(t){s.isPlainObject(t)&&(this.options=s.extend(!0,this.options,t))}),s.fn[i]=function(t){return"string"==typeof t?l(this,t,o.call(arguments,1)):(c(this,t),this)},n(s))}function n(t){!t||t&&t.bridget||(t.bridget=i)}var o=Array.prototype.slice,a=t.console,r=void 0===a?function(){}:function(t){a.error(t)};return n(e||t.jQuery),i}(E,t)}.apply(e,b),w===undefined||(t.exports=w),"undefined"!=typeof window&&window,o=function(){function t(){}var e=t.prototype;return e.on=function(t,e){if(t&&e){var i=this._events=this._events||{},n=i[t]=i[t]||[];return-1==n.indexOf(e)&&n.push(e),this}},e.once=function(t,e){if(t&&e){this.on(t,e);var i=this._onceEvents=this._onceEvents||{};return(i[t]=i[t]||{})[e]=!0,this}},e.off=function(t,e){var i=this._events&&this._events[t];if(i&&i.length){var n=i.indexOf(e);return-1!=n&&i.splice(n,1),this}},e.emitEvent=function(t,e){var i=this._events&&this._events[t];if(i&&i.length){var n=0,o=i[n];e=e||[];for(var a=this._onceEvents&&this._onceEvents[t];o;){var r=a&&a[o];r&&(this.off(t,o),delete a[o]),o.apply(this,e),o=i[n+=r?0:1]}return this}},t},"function"==typeof o?(a={id:"ev-emitter/ev-emitter",exports:{},loaded:!1},n=o.call(a.exports,i,a.exports,a),a.loaded=!0,n===undefined&&(n=a.exports)):n=o,function(t,e){"use strict";r=function(){return function(){function t(t){var e=parseFloat(t);return-1==t.indexOf("%")&&!isNaN(e)&&e}function e(){}function i(){for(var t={width:0,height:0,innerWidth:0,innerHeight:0,outerWidth:0,outerHeight:0},e=0;c>e;e++){t[l[e]]=0}return t}function n(t){var e=getComputedStyle(t);return e||s("Style returned "+e+". Are you running this code in a hidden iframe on Firefox? See http://bit.ly/getsizebug1"),e}function o(){if(!h){h=!0;var e=document.createElement("div");e.style.width="200px",e.style.padding="1px 2px 3px 4px",e.style.borderStyle="solid",e.style.borderWidth="1px 2px 3px 4px",e.style.boxSizing="border-box";var i=document.body||document.documentElement;i.appendChild(e);var o=n(e);a.isBoxSizeOuter=r=200==t(o.width),i.removeChild(e)}}function a(e){if(o(),"string"==typeof e&&(e=document.querySelector(e)),e&&"object"==k(e)&&e.nodeType){var a=n(e);if("none"==a.display)return i();var s={};s.width=e.offsetWidth,s.height=e.offsetHeight;for(var h=s.isBorderBox="border-box"==a.boxSizing,u=0;c>u;u++){var d=l[u],p=a[d],f=parseFloat(p);s[d]=isNaN(f)?0:f}var m=s.paddingLeft+s.paddingRight,g=s.paddingTop+s.paddingBottom,v=s.marginLeft+s.marginRight,y=s.marginTop+s.marginBottom,_=s.borderLeftWidth+s.borderRightWidth,b=s.borderTopWidth+s.borderBottomWidth,w=h&&r,E=t(a.width);!1!==E&&(s.width=E+(w?0:m+_));var T=t(a.height);return!1!==T&&(s.height=T+(w?0:g+b)),s.innerWidth=s.width-(m+_),s.innerHeight=s.height-(g+b),s.outerWidth=s.width+v,s.outerHeight=s.height+y,s}}var r,s="undefined"==typeof console?e:function(t){console.error(t)},l=["paddingLeft","paddingRight","paddingTop","paddingBottom","marginLeft","marginRight","marginTop","marginBottom","borderLeftWidth","borderRightWidth","borderTopWidth","borderBottomWidth"],c=l.length,h=!1;return a}()}.apply(s={},b=[]),r!==undefined||(r=s)}(window),function(t,e){"use strict";c=function(){var t=function(){var t=Element.prototype;if(t.matches)return"matches";if(t.matchesSelector)return"matchesSelector";for(var e=["webkit","moz","ms","o"],i=0;i<e.length;i++){var n=e[i]+"MatchesSelector";if(t[n])return n}}();return function(e,i){return e[t](i)}},"function"==typeof c?(h={id:"desandro-matches-selector/matches-selector",exports:{},loaded:!1},l=c.call(h.exports,i,h.exports,h),h.loaded=!0,l===undefined&&(l=h.exports)):l=c}(window),function(t,e){u=function(e){return function(t,e){var i={extend:function(t,e){for(var i in e)t[i]=e[i];return t},modulo:function(t,e){return(t%e+e)%e},makeArray:function(t){var e=[];if(Array.isArray(t))e=t;else if(t&&"number"==typeof t.length)for(var i=0;i<t.length;i++)e.push(t[i]);else e.push(t);return e},removeFrom:function(t,e){var i=t.indexOf(e);-1!=i&&t.splice(i,1)}};i.getParent=function(t,i){for(;t!=document.body;)if(t=t.parentNode,e(t,i))return t},i.getQueryElement=function(t){return"string"==typeof t?document.querySelector(t):t},i.handleEvent=function(t){var e="on"+t.type;this[e]&&this[e](t)},i.filterFindElements=function(t,n){t=i.makeArray(t);var o=[];return t.forEach((function(t){if(t instanceof HTMLElement){if(!n)return void o.push(t);e(t,n)&&o.push(t);for(var i=t.querySelectorAll(n),a=0;a<i.length;a++)o.push(i[a])}})),o},i.debounceMethod=function(t,e,i){var n=t.prototype[e],o=e+"Timeout";t.prototype[e]=function(){var t=this[o];t&&clearTimeout(t);var e=arguments,a=this;this[o]=setTimeout((function(){n.apply(a,e),delete a[o]}),i||100)}},i.docReady=function(t){var e=document.readyState;"complete"==e||"interactive"==e?t():document.addEventListener("DOMContentLoaded",t)},i.toDashed=function(t){return t.replace(/(.)([A-Z])/g,(function(t,e,i){return e+"-"+i})).toLowerCase()};var n=t.console;return i.htmlInit=function(e,o){i.docReady((function(){var a=i.toDashed(o),r="data-"+a,s=document.querySelectorAll("["+r+"]"),l=document.querySelectorAll(".js-"+a),c=i.makeArray(s).concat(i.makeArray(l)),h=r+"-options",u=t.jQuery;c.forEach((function(t){var i,a=t.getAttribute(r)||t.getAttribute(h);try{i=a&&JSON.parse(a)}catch(s){return void(n&&n.error("Error parsing "+r+" on "+t.className+": "+s))}var l=new e(t,i);u&&u.data(t,o,l)}))}))},i}(t,e)}.apply(d={},b=[l]),u!==undefined||(u=d)}(window),window,p=[n,r],f=function(t,e){"use strict";function i(t){for(var e in t)return!1;return!0}function n(t,e){t&&(this.element=t,this.layout=e,this.position={x:0,y:0},this._create())}function o(t){return t.replace(/([A-Z])/g,(function(t){return"-"+t.toLowerCase()}))}var a=document.documentElement.style,r="string"==typeof a.transition?"transition":"WebkitTransition",s="string"==typeof a.transform?"transform":"WebkitTransform",l={WebkitTransition:"webkitTransitionEnd",transition:"transitionend"}[r],c={transform:s,transition:r,transitionDuration:r+"Duration",transitionProperty:r+"Property",transitionDelay:r+"Delay"},h=n.prototype=Object.create(t.prototype);h.constructor=n,h._create=function(){this._transn={ingProperties:{},clean:{},onEnd:{}},this.css({position:"absolute"})},h.handleEvent=function(t){var e="on"+t.type;this[e]&&this[e](t)},h.getSize=function(){this.size=e(this.element)},h.css=function(t){var e=this.element.style;for(var i in t)e[c[i]||i]=t[i]},h.getPosition=function(){var t=getComputedStyle(this.element),e=this.layout._getOption("originLeft"),i=this.layout._getOption("originTop"),n=t[e?"left":"right"],o=t[i?"top":"bottom"],a=this.layout.size,r=-1!=n.indexOf("%")?parseFloat(n)/100*a.width:parseInt(n,10),s=-1!=o.indexOf("%")?parseFloat(o)/100*a.height:parseInt(o,10);r=isNaN(r)?0:r,s=isNaN(s)?0:s,r-=e?a.paddingLeft:a.paddingRight,s-=i?a.paddingTop:a.paddingBottom,this.position.x=r,this.position.y=s},h.layoutPosition=function(){var t=this.layout.size,e={},i=this.layout._getOption("originLeft"),n=this.layout._getOption("originTop"),o=i?"paddingLeft":"paddingRight",a=i?"left":"right",r=i?"right":"left",s=this.position.x+t[o];e[a]=this.getXValue(s),e[r]="";var l=n?"paddingTop":"paddingBottom",c=n?"top":"bottom",h=n?"bottom":"top",u=this.position.y+t[l];e[c]=this.getYValue(u),e[h]="",this.css(e),this.emitEvent("layout",[this])},h.getXValue=function(t){var e=this.layout._getOption("horizontal");return this.layout.options.percentPosition&&!e?t/this.layout.size.width*100+"%":t+"px"},h.getYValue=function(t){var e=this.layout._getOption("horizontal");return this.layout.options.percentPosition&&e?t/this.layout.size.height*100+"%":t+"px"},h._transitionTo=function(t,e){this.getPosition();var i=this.position.x,n=this.position.y,o=parseInt(t,10),a=parseInt(e,10),r=o===this.position.x&&a===this.position.y;if(this.setPosition(t,e),!r||this.isTransitioning){var s=t-i,l=e-n,c={};c.transform=this.getTranslate(s,l),this.transition({to:c,onTransitionEnd:{transform:this.layoutPosition},isCleaning:!0})}else this.layoutPosition()},h.getTranslate=function(t,e){return"translate3d("+(t=this.layout._getOption("originLeft")?t:-t)+"px, "+(e=this.layout._getOption("originTop")?e:-e)+"px, 0)"},h.goTo=function(t,e){this.setPosition(t,e),this.layoutPosition()},h.moveTo=h._transitionTo,h.setPosition=function(t,e){this.position.x=parseInt(t,10),this.position.y=parseInt(e,10)},h._nonTransition=function(t){for(var e in this.css(t.to),t.isCleaning&&this._removeStyles(t.to),t.onTransitionEnd)t.onTransitionEnd[e].call(this)},h.transition=function(t){if(parseFloat(this.layout.options.transitionDuration)){var e=this._transn;for(var i in t.onTransitionEnd)e.onEnd[i]=t.onTransitionEnd[i];for(i in t.to)e.ingProperties[i]=!0,t.isCleaning&&(e.clean[i]=!0);t.from&&(this.css(t.from),this.element.offsetHeight),this.enableTransition(t.to),this.css(t.to),this.isTransitioning=!0}else this._nonTransition(t)};var u="opacity,"+o(s);h.enableTransition=function(){if(!this.isTransitioning){var t=this.layout.options.transitionDuration;t="number"==typeof t?t+"ms":t,this.css({transitionProperty:u,transitionDuration:t,transitionDelay:this.staggerDelay||0}),this.element.addEventListener(l,this,!1)}},h.onwebkitTransitionEnd=function(t){this.ontransitionend(t)},h.onotransitionend=function(t){this.ontransitionend(t)};var d={"-webkit-transform":"transform"};h.ontransitionend=function(t){if(t.target===this.element){var e=this._transn,n=d[t.propertyName]||t.propertyName;delete e.ingProperties[n],i(e.ingProperties)&&this.disableTransition(),n in e.clean&&(this.element.style[t.propertyName]="",delete e.clean[n]),n in e.onEnd&&(e.onEnd[n].call(this),delete e.onEnd[n]),this.emitEvent("transitionEnd",[this])}},h.disableTransition=function(){this.removeTransitionStyles(),this.element.removeEventListener(l,this,!1),this.isTransitioning=!1},h._removeStyles=function(t){var e={};for(var i in t)e[i]="";this.css(e)};var p={transitionProperty:"",transitionDuration:"",transitionDelay:""};return h.removeTransitionStyles=function(){this.css(p)},h.stagger=function(t){t=isNaN(t)?0:t,this.staggerDelay=t+"ms"},h.removeElem=function(){this.element.parentNode.removeChild(this.element),this.css({display:""}),this.emitEvent("remove",[this])},h.remove=function(){return r&&parseFloat(this.layout.options.transitionDuration)?(this.once("transitionEnd",(function(){this.removeElem()})),void this.hide()):void this.removeElem()},h.reveal=function(){delete this.isHidden,this.css({display:""});var t=this.layout.options,e={};e[this.getHideRevealTransitionEndProperty("visibleStyle")]=this.onRevealTransitionEnd,this.transition({from:t.hiddenStyle,to:t.visibleStyle,isCleaning:!0,onTransitionEnd:e})},h.onRevealTransitionEnd=function(){this.isHidden||this.emitEvent("reveal")},h.getHideRevealTransitionEndProperty=function(t){var e=this.layout.options[t];if(e.opacity)return"opacity";for(var i in e)return i},h.hide=function(){this.isHidden=!0,this.css({display:""});var t=this.layout.options,e={};e[this.getHideRevealTransitionEndProperty("hiddenStyle")]=this.onHideTransitionEnd,this.transition({from:t.visibleStyle,to:t.hiddenStyle,isCleaning:!0,onTransitionEnd:e})},h.onHideTransitionEnd=function(){this.isHidden&&(this.css({display:"none"}),this.emitEvent("hide"))},h.destroy=function(){this.css({position:"",left:"",right:"",top:"",bottom:"",transition:"",transform:""})},n},"function"==typeof f?(g=f.apply(m={},p))===undefined&&(g=m):g=f,function(t,e){"use strict";v=function(e,i,n,o){return function(t,e,i,n,o){function a(t,e){var i=n.getQueryElement(t);if(i){this.element=i,c&&(this.$element=c(this.element)),this.options=n.extend({},this.constructor.defaults),this.option(e);var o=++u;this.element.outlayerGUID=o,d[o]=this,this._create(),this._getOption("initLayout")&&this.layout()}else l&&l.error("Bad element for "+this.constructor.namespace+": "+(i||t))}function r(t){function e(){t.apply(this,arguments)}return e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e}function s(t){if("number"==typeof t)return t;var e=t.match(/(^\d*\.?\d*)(\w*)/),i=e&&e[1],n=e&&e[2];return i.length?(i=parseFloat(i))*(f[n]||1):0}var l=t.console,c=t.jQuery,h=function(){},u=0,d={};a.namespace="outlayer",a.Item=o,a.defaults={containerStyle:{position:"relative"},initLayout:!0,originLeft:!0,originTop:!0,resize:!0,resizeContainer:!0,transitionDuration:"0.4s",hiddenStyle:{opacity:0,transform:"scale(0.001)"},visibleStyle:{opacity:1,transform:"scale(1)"}};var p=a.prototype;n.extend(p,e.prototype),p.option=function(t){n.extend(this.options,t)},p._getOption=function(t){var e=this.constructor.compatOptions[t];return e&&void 0!==this.options[e]?this.options[e]:this.options[t]},a.compatOptions={initLayout:"isInitLayout",horizontal:"isHorizontal",layoutInstant:"isLayoutInstant",originLeft:"isOriginLeft",originTop:"isOriginTop",resize:"isResizeBound",resizeContainer:"isResizingContainer"},p._create=function(){this.reloadItems(),this.stamps=[],this.stamp(this.options.stamp),n.extend(this.element.style,this.options.containerStyle),this._getOption("resize")&&this.bindResize()},p.reloadItems=function(){this.items=this._itemize(this.element.children)},p._itemize=function(t){for(var e=this._filterFindItemElements(t),i=this.constructor.Item,n=[],o=0;o<e.length;o++){var a=new i(e[o],this);n.push(a)}return n},p._filterFindItemElements=function(t){return n.filterFindElements(t,this.options.itemSelector)},p.getItemElements=function(){return this.items.map((function(t){return t.element}))},p.layout=function(){this._resetLayout(),this._manageStamps();var t=this._getOption("layoutInstant"),e=void 0!==t?t:!this._isLayoutInited;this.layoutItems(this.items,e),this._isLayoutInited=!0},p._init=p.layout,p._resetLayout=function(){this.getSize()},p.getSize=function(){this.size=i(this.element)},p._getMeasurement=function(t,e){var n,o=this.options[t];o?("string"==typeof o?n=this.element.querySelector(o):o instanceof HTMLElement&&(n=o),this[t]=n?i(n)[e]:o):this[t]=0},p.layoutItems=function(t,e){t=this._getItemsForLayout(t),this._layoutItems(t,e),this._postLayout()},p._getItemsForLayout=function(t){return t.filter((function(t){return!t.isIgnored}))},p._layoutItems=function(t,e){if(this._emitCompleteOnItems("layout",t),t&&t.length){var i=[];t.forEach((function(t){var n=this._getItemLayoutPosition(t);n.item=t,n.isInstant=e||t.isLayoutInstant,i.push(n)}),this),this._processLayoutQueue(i)}},p._getItemLayoutPosition=function(){return{x:0,y:0}},p._processLayoutQueue=function(t){this.updateStagger(),t.forEach((function(t,e){this._positionItem(t.item,t.x,t.y,t.isInstant,e)}),this)},p.updateStagger=function(){var t=this.options.stagger;return null==t?void(this.stagger=0):(this.stagger=s(t),this.stagger)},p._positionItem=function(t,e,i,n,o){n?t.goTo(e,i):(t.stagger(o*this.stagger),t.moveTo(e,i))},p._postLayout=function(){this.resizeContainer()},p.resizeContainer=function(){if(this._getOption("resizeContainer")){var t=this._getContainerSize();t&&(this._setContainerMeasure(t.width,!0),this._setContainerMeasure(t.height,!1))}},p._getContainerSize=h,p._setContainerMeasure=function(t,e){if(void 0!==t){var i=this.size;i.isBorderBox&&(t+=e?i.paddingLeft+i.paddingRight+i.borderLeftWidth+i.borderRightWidth:i.paddingBottom+i.paddingTop+i.borderTopWidth+i.borderBottomWidth),t=Math.max(t,0),this.element.style[e?"width":"height"]=t+"px"}},p._emitCompleteOnItems=function(t,e){function i(){o.dispatchEvent(t+"Complete",null,[e])}function n(){++r==a&&i()}var o=this,a=e.length;if(e&&a){var r=0;e.forEach((function(e){e.once(t,n)}))}else i()},p.dispatchEvent=function(t,e,i){var n=e?[e].concat(i):i;if(this.emitEvent(t,n),c)if(this.$element=this.$element||c(this.element),e){var o=c.Event(e);o.type=t,this.$element.trigger(o,i)}else this.$element.trigger(t,i)},p.ignore=function(t){var e=this.getItem(t);e&&(e.isIgnored=!0)},p.unignore=function(t){var e=this.getItem(t);e&&delete e.isIgnored},p.stamp=function(t){(t=this._find(t))&&(this.stamps=this.stamps.concat(t),t.forEach(this.ignore,this))},p.unstamp=function(t){(t=this._find(t))&&t.forEach((function(t){n.removeFrom(this.stamps,t),this.unignore(t)}),this)},p._find=function(t){return t?("string"==typeof t&&(t=this.element.querySelectorAll(t)),t=n.makeArray(t)):void 0},p._manageStamps=function(){this.stamps&&this.stamps.length&&(this._getBoundingRect(),this.stamps.forEach(this._manageStamp,this))},p._getBoundingRect=function(){var t=this.element.getBoundingClientRect(),e=this.size;this._boundingRect={left:t.left+e.paddingLeft+e.borderLeftWidth,top:t.top+e.paddingTop+e.borderTopWidth,right:t.right-(e.paddingRight+e.borderRightWidth),bottom:t.bottom-(e.paddingBottom+e.borderBottomWidth)}},p._manageStamp=h,p._getElementOffset=function(t){var e=t.getBoundingClientRect(),n=this._boundingRect,o=i(t);return{left:e.left-n.left-o.marginLeft,top:e.top-n.top-o.marginTop,right:n.right-e.right-o.marginRight,bottom:n.bottom-e.bottom-o.marginBottom}},p.handleEvent=n.handleEvent,p.bindResize=function(){t.addEventListener("resize",this),this.isResizeBound=!0},p.unbindResize=function(){t.removeEventListener("resize",this),this.isResizeBound=!1},p.onresize=function(){this.resize()},n.debounceMethod(a,"onresize",100),p.resize=function(){this.isResizeBound&&this.needsResizeLayout()&&this.layout()},p.needsResizeLayout=function(){var t=i(this.element);return this.size&&t&&t.innerWidth!==this.size.innerWidth},p.addItems=function(t){var e=this._itemize(t);return e.length&&(this.items=this.items.concat(e)),e},p.appended=function(t){var e=this.addItems(t);e.length&&(this.layoutItems(e,!0),this.reveal(e))},p.prepended=function(t){var e=this._itemize(t);if(e.length){var i=this.items.slice(0);this.items=e.concat(i),this._resetLayout(),this._manageStamps(),this.layoutItems(e,!0),this.reveal(e),this.layoutItems(i)}},p.reveal=function(t){if(this._emitCompleteOnItems("reveal",t),t&&t.length){var e=this.updateStagger();t.forEach((function(t,i){t.stagger(i*e),t.reveal()}))}},p.hide=function(t){if(this._emitCompleteOnItems("hide",t),t&&t.length){var e=this.updateStagger();t.forEach((function(t,i){t.stagger(i*e),t.hide()}))}},p.revealItemElements=function(t){var e=this.getItems(t);this.reveal(e)},p.hideItemElements=function(t){var e=this.getItems(t);this.hide(e)},p.getItem=function(t){for(var e=0;e<this.items.length;e++){var i=this.items[e];if(i.element==t)return i}},p.getItems=function(t){t=n.makeArray(t);var e=[];return t.forEach((function(t){var i=this.getItem(t);i&&e.push(i)}),this),e},p.remove=function(t){var e=this.getItems(t);this._emitCompleteOnItems("remove",e),e&&e.length&&e.forEach((function(t){t.remove(),n.removeFrom(this.items,t)}),this)},p.destroy=function(){var t=this.element.style;t.height="",t.position="",t.width="",this.items.forEach((function(t){t.destroy()})),this.unbindResize();var e=this.element.outlayerGUID;delete d[e],delete this.element.outlayerGUID,c&&c.removeData(this.element,this.constructor.namespace)},a.data=function(t){var e=(t=n.getQueryElement(t))&&t.outlayerGUID;return e&&d[e]},a.create=function(t,e){var i=r(a);return i.defaults=n.extend({},a.defaults),n.extend(i.defaults,e),i.compatOptions=n.extend({},a.compatOptions),i.namespace=t,i.data=a.data,i.Item=r(o),n.htmlInit(i,t),c&&c.bridget&&c.bridget(t,i),i};var f={ms:1,s:1e3};return a.Item=o,a}(t,e,i,n,o)}.apply(y={},b=[n,r,u,g]),v!==undefined||(v=y)}(window),window,b=[v,r],_=function(t,e){var i=t.create("masonry");return i.compatOptions.fitWidth="isFitWidth",i.prototype._resetLayout=function(){this.getSize(),this._getMeasurement("columnWidth","outerWidth"),this._getMeasurement("gutter","outerWidth"),this.measureColumns(),this.colYs=[];for(var t=0;t<this.cols;t++)this.colYs.push(0);this.maxY=0},i.prototype.measureColumns=function(){if(this.getContainerWidth(),!this.columnWidth){var t=this.items[0],i=t&&t.element;this.columnWidth=i&&e(i).outerWidth||this.containerWidth}var n=this.columnWidth+=this.gutter,o=this.containerWidth+this.gutter,a=o/n,r=n-o%n;a=Math[r&&1>r?"round":"floor"](a),this.cols=Math.max(a,1)},i.prototype.getContainerWidth=function(){var t=this._getOption("fitWidth")?this.element.parentNode:this.element,i=e(t);this.containerWidth=i&&i.innerWidth},i.prototype._getItemLayoutPosition=function(t){t.getSize();var e=t.size.outerWidth%this.columnWidth,i=Math[e&&1>e?"round":"ceil"](t.size.outerWidth/this.columnWidth);i=Math.min(i,this.cols);for(var n=this._getColGroup(i),o=Math.min.apply(Math,n),a=n.indexOf(o),r={x:this.columnWidth*a,y:o},s=o+t.size.outerHeight,l=this.cols+1-n.length,c=0;l>c;c++)this.colYs[a+c]=s;return r},i.prototype._getColGroup=function(t){if(2>t)return this.colYs;for(var e=[],i=this.cols+1-t,n=0;i>n;n++){var o=this.colYs.slice(n,n+t);e[n]=Math.max.apply(Math,o)}return e},i.prototype._manageStamp=function(t){var i=e(t),n=this._getElementOffset(t),o=this._getOption("originLeft")?n.left:n.right,a=o+i.outerWidth,r=Math.floor(o/this.columnWidth);r=Math.max(0,r);var s=Math.floor(a/this.columnWidth);s-=a%this.columnWidth?0:1,s=Math.min(this.cols-1,s);for(var l=(this._getOption("originTop")?n.top:n.bottom)+i.outerHeight,c=r;s>=c;c++)this.colYs[c]=Math.max(l,this.colYs[c])},i.prototype._getContainerSize=function(){this.maxY=Math.max.apply(Math,this.colYs);var t={height:this.maxY};return this._getOption("fitWidth")&&(t.width=this._getContainerFitWidth()),t},i.prototype._getContainerFitWidth=function(){for(var t=0,e=this.cols;--e&&0===this.colYs[e];)t++;return(this.cols-t)*this.columnWidth-this.gutter},i.prototype.needsResizeLayout=function(){var t=this.containerWidth;return this.getContainerWidth(),t!=this.containerWidth},i},(w="function"==typeof _?_.apply(e,b):_)===undefined||(t.exports=w)},827:function(){!function(t){"use strict";t((function(){var e;function i(e,i,n){t(document).on(e,i,n)}e=t(".elementskit-menu-container"),t(e).each((function(){var e=t(this);"yes"!=e.attr("ekit-dom-added")&&(0===e.parents(".elementor-widget-ekit-nav-menu").length&&e.parents(".ekit-wid-con").addClass("ekit_menu_responsive_tablet"),e.attr("ekit-dom-added","yes"))})),i("click",".elementskit-dropdown-has > a",(function(e){var i=t(this).parents(".elementskit-navbar-nav, .ekit-vertical-navbar-nav"),n=t(this).parents(".ekit-wid-con").data("responsive-breakpoint");if((!i.hasClass("submenu-click-on-icon")||t(e.target).hasClass("elementskit-submenu-indicator"))&&(!(t(document).width()>Number(n)&&i.hasClass("submenu-click-on-"))||t(e.target).hasClass("elementskit-submenu-indicator"))){e.preventDefault();var o=t(this).parent().find(">.elementskit-dropdown, >.elementskit-megamenu-panel");o.find(".elementskit-dropdown-open").removeClass("elementskit-dropdown-open"),o.hasClass("elementskit-dropdown-open")?o.removeClass("elementskit-dropdown-open"):o.addClass("elementskit-dropdown-open")}})),i("click",".elementskit-menu-toggler",(function(e){e.preventDefault();var i=t(this).parents(".elementskit-menu-container").parent();i.length<1&&(i=t(this).parent());var n=i.find(".elementskit-menu-offcanvas-elements");n.hasClass("active")?n.removeClass("active"):n.addClass("active")})),t(".elementskit-navbar-nav li a").on("click",(function(e){var i=t(this),n=i.get(0);if(n&&i.attr("href")){var o=n.href,a=o.includes("#"),r=i.closest(".elementskit-menu-container").hasClass("ekit-nav-menu-one-page-yes"),s=n.pathname===window.location.pathname;"elementskit-submenu-indicator"!==e.target.className&&a&&o.length>1&&r&&s&&i.closest(".ekit-wid-con").find(".elementskit-menu-close").trigger("click")}}))}))}(jQuery)},846:function(){!function(t){"use strict";t.fn.twentytwenty=function(e){e=t.extend({default_offset_pct:.5,orientation:"horizontal",before_label:"Before",after_label:"After",no_overlay:!1,move_slider_on_hover:!1,move_with_handle_only:!0,click_to_move:!1},e);return this.each((function(){var i=e.default_offset_pct,n=t(this),o=e.orientation,a="vertical"===o?"down":"left",r="vertical"===o?"up":"right";if(n.wrap("<div class='twentytwenty-wrapper twentytwenty-"+o+"'></div>"),!e.no_overlay){n.append("<div class='twentytwenty-overlay'></div>");var s=n.find(".twentytwenty-overlay");s.append("<div class='twentytwenty-before-label' data-content='"+e.before_label+"'></div>"),s.append("<div class='twentytwenty-after-label' data-content='"+e.after_label+"'></div>")}var l=n.find("img:first"),c=n.find("img:last");n.append("<div class='twentytwenty-handle'></div>");var h=n.find(".twentytwenty-handle");h.append("<span class='twentytwenty-"+a+"-arrow'></span>"),h.append("<span class='twentytwenty-"+r+"-arrow'></span>"),n.addClass("twentytwenty-container"),l.addClass("twentytwenty-before"),c.addClass("twentytwenty-after");var u=function(t){var e,i,a,r=(e=t,i=l.width(),a=l.height(),{w:i+"px",h:a+"px",cw:e*i+"px",ch:e*a+"px"});h.css("vertical"===o?"top":"left","vertical"===o?r.ch:r.cw),function(t){"vertical"===o?(l.css("clip","rect(0,"+t.w+","+t.ch+",0)"),c.css("clip","rect("+t.ch+","+t.w+","+t.h+",0)")):(l.css("clip","rect(0,"+t.cw+","+t.h+",0)"),c.css("clip","rect(0,"+t.w+","+t.h+","+t.cw+")")),n.css("height",t.h)}(r)},d=function(t,e){var i,n,a;return i="vertical"===o?(e-f)/g:(t-p)/m,n=0,a=1,Math.max(n,Math.min(a,i))};t(window).on("resize.twentytwenty",(function(t){u(i)}));var p=0,f=0,m=0,g=0,v=function(t){((t.distX>t.distY&&t.distX<-t.distY||t.distX<t.distY&&t.distX>-t.distY)&&"vertical"!==o||(t.distX<t.distY&&t.distX<-t.distY||t.distX>t.distY&&t.distX>-t.distY)&&"vertical"===o)&&t.preventDefault(),n.addClass("active"),p=n.offset().left,f=n.offset().top,m=l.width(),g=l.height()},y=function(t){n.hasClass("active")&&(i=d(t.pageX,t.pageY),u(i))},_=function(){n.removeClass("active")},b=e.move_with_handle_only?h:n;b.on("movestart",v),b.on("move",y),b.on("moveend",_),e.move_slider_on_hover&&(n.on("mouseenter",v),n.on("mousemove",y),n.on("mouseleave",_)),h.on("touchmove",(function(t){t.preventDefault()})),n.find("img").on("mousedown",(function(t){t.preventDefault()})),e.click_to_move&&n.on("click",(function(t){p=n.offset().left,f=n.offset().top,m=l.width(),g=l.height(),i=d(t.pageX,t.pageY),u(i)})),t(window).trigger("resize.twentytwenty")}))}}(jQuery)}},e={};function i(n){var o=e[n];if(o!==undefined)return o.exports;var a=e[n]={exports:{}};return t[n].call(a.exports,a,a.exports,i),a.exports}i.n=function(t){var e=t&&t.__esModule?function(){return t["default"]}:function(){return t};return i.d(e,{a:e}),e},i.d=function(t,e){for(var n in e)i.o(e,n)&&!i.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},i.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},function(){"use strict";i(213),i(846),i(795),i(827),i(123),i(33),i(244),i(160)}()}();
(function(t){"use strict";function e(t,e,a){if(!1===lwAioSaveGaEvents)return;const i={action:"lw_all_in_one_save_ga_event",security:lw_all_in_one_save_ga_event_object.security,event_category:t,event_action:e,event_label:a};jQuery.post(lw_all_in_one_save_ga_event_object.ajaxurl,i,function(t){})}function a(e,a,i){t.inArray(lwAioTrackingType,["UA","G"])>-1&&gtag("event",a,{event_category:e,event_label:i})}t(window).on("load",function(){lwAioGaActivate&&(lwAioMonitorEmailLink&&t('a[href^="mailto"]').click(function(){var t=this.getAttribute("data-vars-ga-category")||"email",i=this.getAttribute("data-vars-ga-action")||"send",n=this.getAttribute("data-vars-ga-label")||this.href;a(t,i,n),e(t,i,n)}),lwAioMonitorTelLink&&t('a[href^="tel"]').click(function(){var t=this.getAttribute("data-vars-ga-category")||"telephone",i=this.getAttribute("data-vars-ga-action")||"call",n=this.getAttribute("data-vars-ga-label")||this.href;a(t,i,n),e(t,i,n)}),lwAioMonitorFormSubmit&&t(".wpcf7").on("wpcf7mailsent",function(t){var i=t.currentTarget.baseURI;a("form","submit",i),e("form","submit",i)}))}),t(window).on("load",function(){t('[id="rag_soc"]').length>1&&console.log("wim_twice")})})(jQuery);
jQuery(function($){
$('body').on('click','.jupiterx-product-has-quick-view',function (){
setTimeout(addInputAndEvents);
function addInputAndEvents(){
id=$('.featherlight-content .jupiterx-product-quick-view-modal').attr('id');
if($('.featherlight-content #' + id + ' .custom-qty-input').length==0){
$('.featherlight-content #' + id + ' .input-text.qty').hide();
$('.featherlight-content #' + id + ' .input-text.qty').after('<div class=\"input-group input-text qty text custom-qty-input \"><div class=\"input-group-prepend\"><button style=\"min-width: 0; box-shadow: none;\" class=\"btn btn-decrement btn-sm btn-outline-secondary\" type=\"button\" tabindex=\"-1\"><strong>-</strong></button></div><input type=\"text\" value="" style=\"text-align: center\" class=\"form-control input-text qty text\" placeholder=\"\" tabindex=\"-1\"><div class=\"input-group-append\"><button style=\"min-width: 0; box-shadow: none;\" class=\"btn btn-increment btn-sm btn-outline-secondary\" type=\"button\" tabindex=\"-1\"><strong>+</strong></button></div></div>');
$('.featherlight-content #' + id + ' .custom-qty-input .input-text.qty').val($('.featherlight-content #' + id +' .input-text.qty').val()) ;
}
$('.featherlight-content .jupiterx-product-quick-view-modal').on('keyup paste change', '.custom-qty-input .qty', function(){
$('.featherlight-content #' + id + ' .input-text.qty').val($(this).val());
});
$('.featherlight-content #' + id).on('click', '.btn-increment', function(){
$('.featherlight-content #' + id + ' .custom-qty-input .input-text.qty').val(function(i, oldval){
return parseInt(oldval, 10) + 1;
}).trigger('change');
});
$('.featherlight-content #' + id).on('click', '.btn-decrement', function(){
$('.featherlight-content #' + id + ' .custom-qty-input .input-text.qty').val(function(i, oldval){
if(parseInt(oldval, 10) > 1){
return parseInt(oldval, 10) - 1;
}else{
return parseInt(oldval, 10);
}}).trigger('change');
});
}});
});
!function(n,t){var r,e;"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define("underscore",t):(n="undefined"!=typeof globalThis?globalThis:n||self,r=n._,(e=n._=t()).noConflict=function(){return n._=r,e})}(this,function(){var n="1.13.7",t="object"==typeof self&&self.self===self&&self||"object"==typeof global&&global.global===global&&global||Function("return this")()||{},e=Array.prototype,V=Object.prototype,F="undefined"!=typeof Symbol?Symbol.prototype:null,P=e.push,f=e.slice,s=V.toString,q=V.hasOwnProperty,r="undefined"!=typeof ArrayBuffer,u="undefined"!=typeof DataView,U=Array.isArray,W=Object.keys,z=Object.create,L=r&&ArrayBuffer.isView,$=isNaN,C=isFinite,K=!{toString:null}.propertyIsEnumerable("toString"),J=["valueOf","isPrototypeOf","toString","propertyIsEnumerable","hasOwnProperty","toLocaleString"],G=Math.pow(2,53)-1;function l(u,o){return o=null==o?u.length-1:+o,function(){for(var n=Math.max(arguments.length-o,0),t=Array(n),r=0;r<n;r++)t[r]=arguments[r+o];switch(o){case 0:return u.call(this,t);case 1:return u.call(this,arguments[0],t);case 2:return u.call(this,arguments[0],arguments[1],t)}for(var e=Array(o+1),r=0;r<o;r++)e[r]=arguments[r];return e[o]=t,u.apply(this,e)}}function o(n){var t=typeof n;return"function"==t||"object"==t&&!!n}function H(n){return void 0===n}function Q(n){return!0===n||!1===n||"[object Boolean]"===s.call(n)}function i(n){var t="[object "+n+"]";return function(n){return s.call(n)===t}}var X=i("String"),Y=i("Number"),Z=i("Date"),nn=i("RegExp"),tn=i("Error"),rn=i("Symbol"),en=i("ArrayBuffer"),a=i("Function"),t=t.document&&t.document.childNodes,p=a="function"!=typeof/./&&"object"!=typeof Int8Array&&"function"!=typeof t?function(n){return"function"==typeof n||!1}:a,t=i("Object"),un=u&&(!/\[native code\]/.test(String(DataView))||t(new DataView(new ArrayBuffer(8)))),a="undefined"!=typeof Map&&t(new Map),u=i("DataView");var h=un?function(n){return null!=n&&p(n.getInt8)&&en(n.buffer)}:u,v=U||i("Array");function y(n,t){return null!=n&&q.call(n,t)}var on=i("Arguments"),an=(!function(){on(arguments)||(on=function(n){return y(n,"callee")})}(),on);function fn(n){return Y(n)&&$(n)}function cn(n){return function(){return n}}function ln(t){return function(n){n=t(n);return"number"==typeof n&&0<=n&&n<=G}}function sn(t){return function(n){return null==n?void 0:n[t]}}var d=sn("byteLength"),pn=ln(d),hn=/\[object ((I|Ui)nt(8|16|32)|Float(32|64)|Uint8Clamped|Big(I|Ui)nt64)Array\]/;var vn=r?function(n){return L?L(n)&&!h(n):pn(n)&&hn.test(s.call(n))}:cn(!1),g=sn("length");function yn(n,t){t=function(t){for(var r={},n=t.length,e=0;e<n;++e)r[t[e]]=!0;return{contains:function(n){return!0===r[n]},push:function(n){return r[n]=!0,t.push(n)}}}(t);var r=J.length,e=n.constructor,u=p(e)&&e.prototype||V,o="constructor";for(y(n,o)&&!t.contains(o)&&t.push(o);r--;)(o=J[r])in n&&n[o]!==u[o]&&!t.contains(o)&&t.push(o)}function b(n){if(!o(n))return[];if(W)return W(n);var t,r=[];for(t in n)y(n,t)&&r.push(t);return K&&yn(n,r),r}function dn(n,t){var r=b(t),e=r.length;if(null==n)return!e;for(var u=Object(n),o=0;o<e;o++){var i=r[o];if(t[i]!==u[i]||!(i in u))return!1}return!0}function m(n){return n instanceof m?n:this instanceof m?void(this._wrapped=n):new m(n)}function gn(n){return new Uint8Array(n.buffer||n,n.byteOffset||0,d(n))}m.VERSION=n,m.prototype.valueOf=m.prototype.toJSON=m.prototype.value=function(){return this._wrapped},m.prototype.toString=function(){return String(this._wrapped)};var bn="[object DataView]";function mn(n,t,r,e){var u;return n===t?0!==n||1/n==1/t:null!=n&&null!=t&&(n!=n?t!=t:("function"==(u=typeof n)||"object"==u||"object"==typeof t)&&function n(t,r,e,u){t instanceof m&&(t=t._wrapped);r instanceof m&&(r=r._wrapped);var o=s.call(t);if(o!==s.call(r))return!1;if(un&&"[object Object]"==o&&h(t)){if(!h(r))return!1;o=bn}switch(o){case"[object RegExp]":case"[object String]":return""+t==""+r;case"[object Number]":return+t!=+t?+r!=+r:0==+t?1/+t==1/r:+t==+r;case"[object Date]":case"[object Boolean]":return+t==+r;case"[object Symbol]":return F.valueOf.call(t)===F.valueOf.call(r);case"[object ArrayBuffer]":case bn:return n(gn(t),gn(r),e,u)}o="[object Array]"===o;if(!o&&vn(t)){var i=d(t);if(i!==d(r))return!1;if(t.buffer===r.buffer&&t.byteOffset===r.byteOffset)return!0;o=!0}if(!o){if("object"!=typeof t||"object"!=typeof r)return!1;var i=t.constructor,a=r.constructor;if(i!==a&&!(p(i)&&i instanceof i&&p(a)&&a instanceof a)&&"constructor"in t&&"constructor"in r)return!1}e=e||[];u=u||[];var f=e.length;for(;f--;)if(e[f]===t)return u[f]===r;e.push(t);u.push(r);if(o){if((f=t.length)!==r.length)return!1;for(;f--;)if(!mn(t[f],r[f],e,u))return!1}else{var c,l=b(t);if(f=l.length,b(r).length!==f)return!1;for(;f--;)if(c=l[f],!y(r,c)||!mn(t[c],r[c],e,u))return!1}e.pop();u.pop();return!0}(n,t,r,e))}function c(n){if(!o(n))return[];var t,r=[];for(t in n)r.push(t);return K&&yn(n,r),r}function jn(e){var u=g(e);return function(n){if(null==n)return!1;var t=c(n);if(g(t))return!1;for(var r=0;r<u;r++)if(!p(n[e[r]]))return!1;return e!==_n||!p(n[wn])}}var wn="forEach",t=["clear","delete"],u=["get","has","set"],U=t.concat(wn,u),_n=t.concat(u),r=["add"].concat(t,wn,"has"),u=a?jn(U):i("Map"),t=a?jn(_n):i("WeakMap"),U=a?jn(r):i("Set"),a=i("WeakSet");function j(n){for(var t=b(n),r=t.length,e=Array(r),u=0;u<r;u++)e[u]=n[t[u]];return e}function An(n){for(var t={},r=b(n),e=0,u=r.length;e<u;e++)t[n[r[e]]]=r[e];return t}function xn(n){var t,r=[];for(t in n)p(n[t])&&r.push(t);return r.sort()}function Sn(f,c){return function(n){var t=arguments.length;if(c&&(n=Object(n)),!(t<2||null==n))for(var r=1;r<t;r++)for(var e=arguments[r],u=f(e),o=u.length,i=0;i<o;i++){var a=u[i];c&&void 0!==n[a]||(n[a]=e[a])}return n}}var On=Sn(c),w=Sn(b),Mn=Sn(c,!0);function En(n){var t;return o(n)?z?z(n):((t=function(){}).prototype=n,n=new t,t.prototype=null,n):{}}function Bn(n){return v(n)?n:[n]}function _(n){return m.toPath(n)}function Nn(n,t){for(var r=t.length,e=0;e<r;e++){if(null==n)return;n=n[t[e]]}return r?n:void 0}function In(n,t,r){n=Nn(n,_(t));return H(n)?r:n}function Tn(n){return n}function A(t){return t=w({},t),function(n){return dn(n,t)}}function kn(t){return t=_(t),function(n){return Nn(n,t)}}function x(u,o,n){if(void 0===o)return u;switch(null==n?3:n){case 1:return function(n){return u.call(o,n)};case 3:return function(n,t,r){return u.call(o,n,t,r)};case 4:return function(n,t,r,e){return u.call(o,n,t,r,e)}}return function(){return u.apply(o,arguments)}}function Dn(n,t,r){return null==n?Tn:p(n)?x(n,t,r):(o(n)&&!v(n)?A:kn)(n)}function Rn(n,t){return Dn(n,t,1/0)}function S(n,t,r){return m.iteratee!==Rn?m.iteratee(n,t):Dn(n,t,r)}function Vn(){}function Fn(n,t){return null==t&&(t=n,n=0),n+Math.floor(Math.random()*(t-n+1))}m.toPath=Bn,m.iteratee=Rn;var O=Date.now||function(){return(new Date).getTime()};function Pn(t){function r(n){return t[n]}var n="(?:"+b(t).join("|")+")",e=RegExp(n),u=RegExp(n,"g");return function(n){return e.test(n=null==n?"":""+n)?n.replace(u,r):n}}var r={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;","`":"&#x60;"},qn=Pn(r),r=Pn(An(r)),Un=m.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g},Wn=/(.)^/,zn={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},Ln=/\\|'|\r|\n|\u2028|\u2029/g;function $n(n){return"\\"+zn[n]}var Cn=/^\s*(\w|\$)+\s*$/;var Kn=0;function Jn(n,t,r,e,u){return e instanceof t?(e=En(n.prototype),o(t=n.apply(e,u))?t:e):n.apply(r,u)}var M=l(function(u,o){function i(){for(var n=0,t=o.length,r=Array(t),e=0;e<t;e++)r[e]=o[e]===a?arguments[n++]:o[e];for(;n<arguments.length;)r.push(arguments[n++]);return Jn(u,i,this,this,r)}var a=M.placeholder;return i}),Gn=(M.placeholder=m,l(function(t,r,e){var u;if(p(t))return u=l(function(n){return Jn(t,u,r,this,e.concat(n))});throw new TypeError("Bind must be called on a function")})),E=ln(g);function B(n,t,r,e){if(e=e||[],t||0===t){if(t<=0)return e.concat(n)}else t=1/0;for(var u=e.length,o=0,i=g(n);o<i;o++){var a=n[o];if(E(a)&&(v(a)||an(a)))if(1<t)B(a,t-1,r,e),u=e.length;else for(var f=0,c=a.length;f<c;)e[u++]=a[f++];else r||(e[u++]=a)}return e}var Hn=l(function(n,t){var r=(t=B(t,!1,!1)).length;if(r<1)throw new Error("bindAll must be passed function names");for(;r--;){var e=t[r];n[e]=Gn(n[e],n)}return n});var Qn=l(function(n,t,r){return setTimeout(function(){return n.apply(null,r)},t)}),Xn=M(Qn,m,1);function Yn(n){return function(){return!n.apply(this,arguments)}}function Zn(n,t){var r;return function(){return 0<--n&&(r=t.apply(this,arguments)),n<=1&&(t=null),r}}var nt=M(Zn,2);function tt(n,t,r){t=S(t,r);for(var e,u=b(n),o=0,i=u.length;o<i;o++)if(t(n[e=u[o]],e,n))return e}function rt(o){return function(n,t,r){t=S(t,r);for(var e=g(n),u=0<o?0:e-1;0<=u&&u<e;u+=o)if(t(n[u],u,n))return u;return-1}}var et=rt(1),ut=rt(-1);function ot(n,t,r,e){for(var u=(r=S(r,e,1))(t),o=0,i=g(n);o<i;){var a=Math.floor((o+i)/2);r(n[a])<u?o=a+1:i=a}return o}function it(o,i,a){return function(n,t,r){var e=0,u=g(n);if("number"==typeof r)0<o?e=0<=r?r:Math.max(r+u,e):u=0<=r?Math.min(r+1,u):r+u+1;else if(a&&r&&u)return n[r=a(n,t)]===t?r:-1;if(t!=t)return 0<=(r=i(f.call(n,e,u),fn))?r+e:-1;for(r=0<o?e:u-1;0<=r&&r<u;r+=o)if(n[r]===t)return r;return-1}}var at=it(1,et,ot),ft=it(-1,ut);function ct(n,t,r){t=(E(n)?et:tt)(n,t,r);if(void 0!==t&&-1!==t)return n[t]}function N(n,t,r){if(t=x(t,r),E(n))for(u=0,o=n.length;u<o;u++)t(n[u],u,n);else for(var e=b(n),u=0,o=e.length;u<o;u++)t(n[e[u]],e[u],n);return n}function I(n,t,r){t=S(t,r);for(var e=!E(n)&&b(n),u=(e||n).length,o=Array(u),i=0;i<u;i++){var a=e?e[i]:i;o[i]=t(n[a],a,n)}return o}function lt(f){return function(n,t,r,e){var u=3<=arguments.length;return function(n,t,r,e){var u=!E(n)&&b(n),o=(u||n).length,i=0<f?0:o-1;for(e||(r=n[u?u[i]:i],i+=f);0<=i&&i<o;i+=f){var a=u?u[i]:i;r=t(r,n[a],a,n)}return r}(n,x(t,e,4),r,u)}}var st=lt(1),pt=lt(-1);function T(n,e,t){var u=[];return e=S(e,t),N(n,function(n,t,r){e(n,t,r)&&u.push(n)}),u}function ht(n,t,r){t=S(t,r);for(var e=!E(n)&&b(n),u=(e||n).length,o=0;o<u;o++){var i=e?e[o]:o;if(!t(n[i],i,n))return!1}return!0}function vt(n,t,r){t=S(t,r);for(var e=!E(n)&&b(n),u=(e||n).length,o=0;o<u;o++){var i=e?e[o]:o;if(t(n[i],i,n))return!0}return!1}function k(n,t,r,e){return E(n)||(n=j(n)),0<=at(n,t,r="number"==typeof r&&!e?r:0)}var yt=l(function(n,r,e){var u,o;return p(r)?o=r:(r=_(r),u=r.slice(0,-1),r=r[r.length-1]),I(n,function(n){var t=o;if(!t){if(null==(n=u&&u.length?Nn(n,u):n))return;t=n[r]}return null==t?t:t.apply(n,e)})});function dt(n,t){return I(n,kn(t))}function gt(n,e,t){var r,u,o=-1/0,i=-1/0;if(null==e||"number"==typeof e&&"object"!=typeof n[0]&&null!=n)for(var a=0,f=(n=E(n)?n:j(n)).length;a<f;a++)null!=(r=n[a])&&o<r&&(o=r);else e=S(e,t),N(n,function(n,t,r){u=e(n,t,r),(i<u||u===-1/0&&o===-1/0)&&(o=n,i=u)});return o}var bt=/[^\ud800-\udfff]|[\ud800-\udbff][\udc00-\udfff]|[\ud800-\udfff]/g;function mt(n){return n?v(n)?f.call(n):X(n)?n.match(bt):E(n)?I(n,Tn):j(n):[]}function jt(n,t,r){if(null==t||r)return(n=E(n)?n:j(n))[Fn(n.length-1)];for(var e=mt(n),r=g(e),u=(t=Math.max(Math.min(t,r),0),r-1),o=0;o<t;o++){var i=Fn(o,u),a=e[o];e[o]=e[i],e[i]=a}return e.slice(0,t)}function D(o,t){return function(r,e,n){var u=t?[[],[]]:{};return e=S(e,n),N(r,function(n,t){t=e(n,t,r);o(u,n,t)}),u}}var wt=D(function(n,t,r){y(n,r)?n[r].push(t):n[r]=[t]}),_t=D(function(n,t,r){n[r]=t}),At=D(function(n,t,r){y(n,r)?n[r]++:n[r]=1}),xt=D(function(n,t,r){n[r?0:1].push(t)},!0);function St(n,t,r){return t in r}var Ot=l(function(n,t){var r={},e=t[0];if(null!=n){p(e)?(1<t.length&&(e=x(e,t[1])),t=c(n)):(e=St,t=B(t,!1,!1),n=Object(n));for(var u=0,o=t.length;u<o;u++){var i=t[u],a=n[i];e(a,i,n)&&(r[i]=a)}}return r}),Mt=l(function(n,r){var t,e=r[0];return p(e)?(e=Yn(e),1<r.length&&(t=r[1])):(r=I(B(r,!1,!1),String),e=function(n,t){return!k(r,t)}),Ot(n,e,t)});function Et(n,t,r){return f.call(n,0,Math.max(0,n.length-(null==t||r?1:t)))}function Bt(n,t,r){return null==n||n.length<1?null==t||r?void 0:[]:null==t||r?n[0]:Et(n,n.length-t)}function R(n,t,r){return f.call(n,null==t||r?1:t)}var Nt=l(function(n,t){return t=B(t,!0,!0),T(n,function(n){return!k(t,n)})}),It=l(function(n,t){return Nt(n,t)});function Tt(n,t,r,e){Q(t)||(e=r,r=t,t=!1),null!=r&&(r=S(r,e));for(var u=[],o=[],i=0,a=g(n);i<a;i++){var f=n[i],c=r?r(f,i,n):f;t&&!r?(i&&o===c||u.push(f),o=c):r?k(o,c)||(o.push(c),u.push(f)):k(u,f)||u.push(f)}return u}var kt=l(function(n){return Tt(B(n,!0,!0))});function Dt(n){for(var t=n&&gt(n,g).length||0,r=Array(t),e=0;e<t;e++)r[e]=dt(n,e);return r}var Rt=l(Dt);function Vt(n,t){return n._chain?m(t).chain():t}function Ft(r){return N(xn(r),function(n){var t=m[n]=r[n];m.prototype[n]=function(){var n=[this._wrapped];return P.apply(n,arguments),Vt(this,t.apply(m,n))}}),m}N(["pop","push","reverse","shift","sort","splice","unshift"],function(t){var r=e[t];m.prototype[t]=function(){var n=this._wrapped;return null!=n&&(r.apply(n,arguments),"shift"!==t&&"splice"!==t||0!==n.length||delete n[0]),Vt(this,n)}}),N(["concat","join","slice"],function(n){var t=e[n];m.prototype[n]=function(){var n=this._wrapped;return Vt(this,n=null!=n?t.apply(n,arguments):n)}});n=Ft({__proto__:null,VERSION:n,restArguments:l,isObject:o,isNull:function(n){return null===n},isUndefined:H,isBoolean:Q,isElement:function(n){return!(!n||1!==n.nodeType)},isString:X,isNumber:Y,isDate:Z,isRegExp:nn,isError:tn,isSymbol:rn,isArrayBuffer:en,isDataView:h,isArray:v,isFunction:p,isArguments:an,isFinite:function(n){return!rn(n)&&C(n)&&!isNaN(parseFloat(n))},isNaN:fn,isTypedArray:vn,isEmpty:function(n){var t;return null==n||("number"==typeof(t=g(n))&&(v(n)||X(n)||an(n))?0===t:0===g(b(n)))},isMatch:dn,isEqual:function(n,t){return mn(n,t)},isMap:u,isWeakMap:t,isSet:U,isWeakSet:a,keys:b,allKeys:c,values:j,pairs:function(n){for(var t=b(n),r=t.length,e=Array(r),u=0;u<r;u++)e[u]=[t[u],n[t[u]]];return e},invert:An,functions:xn,methods:xn,extend:On,extendOwn:w,assign:w,defaults:Mn,create:function(n,t){return n=En(n),t&&w(n,t),n},clone:function(n){return o(n)?v(n)?n.slice():On({},n):n},tap:function(n,t){return t(n),n},get:In,has:function(n,t){for(var r=(t=_(t)).length,e=0;e<r;e++){var u=t[e];if(!y(n,u))return!1;n=n[u]}return!!r},mapObject:function(n,t,r){t=S(t,r);for(var e=b(n),u=e.length,o={},i=0;i<u;i++){var a=e[i];o[a]=t(n[a],a,n)}return o},identity:Tn,constant:cn,noop:Vn,toPath:Bn,property:kn,propertyOf:function(t){return null==t?Vn:function(n){return In(t,n)}},matcher:A,matches:A,times:function(n,t,r){var e=Array(Math.max(0,n));t=x(t,r,1);for(var u=0;u<n;u++)e[u]=t(u);return e},random:Fn,now:O,escape:qn,unescape:r,templateSettings:Un,template:function(o,n,t){n=Mn({},n=!n&&t?t:n,m.templateSettings);var r,t=RegExp([(n.escape||Wn).source,(n.interpolate||Wn).source,(n.evaluate||Wn).source].join("|")+"|$","g"),i=0,a="__p+='";if(o.replace(t,function(n,t,r,e,u){return a+=o.slice(i,u).replace(Ln,$n),i=u+n.length,t?a+="'+\n((__t=("+t+"))==null?'':_.escape(__t))+\n'":r?a+="'+\n((__t=("+r+"))==null?'':__t)+\n'":e&&(a+="';\n"+e+"\n__p+='"),n}),a+="';\n",t=n.variable){if(!Cn.test(t))throw new Error("variable is not a bare identifier: "+t)}else a="with(obj||{}){\n"+a+"}\n",t="obj";a="var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n"+a+"return __p;\n";try{r=new Function(t,"_",a)}catch(n){throw n.source=a,n}function e(n){return r.call(this,n,m)}return e.source="function("+t+"){\n"+a+"}",e},result:function(n,t,r){var e=(t=_(t)).length;if(!e)return p(r)?r.call(n):r;for(var u=0;u<e;u++){var o=null==n?void 0:n[t[u]];void 0===o&&(o=r,u=e),n=p(o)?o.call(n):o}return n},uniqueId:function(n){var t=++Kn+"";return n?n+t:t},chain:function(n){return(n=m(n))._chain=!0,n},iteratee:Rn,partial:M,bind:Gn,bindAll:Hn,memoize:function(e,u){function o(n){var t=o.cache,r=""+(u?u.apply(this,arguments):n);return y(t,r)||(t[r]=e.apply(this,arguments)),t[r]}return o.cache={},o},delay:Qn,defer:Xn,throttle:function(r,e,u){function o(){l=!1===u.leading?0:O(),i=null,c=r.apply(a,f),i||(a=f=null)}function n(){var n=O(),t=(l||!1!==u.leading||(l=n),e-(n-l));return a=this,f=arguments,t<=0||e<t?(i&&(clearTimeout(i),i=null),l=n,c=r.apply(a,f),i||(a=f=null)):i||!1===u.trailing||(i=setTimeout(o,t)),c}var i,a,f,c,l=0;return u=u||{},n.cancel=function(){clearTimeout(i),l=0,i=a=f=null},n},debounce:function(t,r,e){function u(){var n=O()-i;n<r?o=setTimeout(u,r-n):(o=null,e||(f=t.apply(c,a)),o||(a=c=null))}var o,i,a,f,c,n=l(function(n){return c=this,a=n,i=O(),o||(o=setTimeout(u,r),e&&(f=t.apply(c,a))),f});return n.cancel=function(){clearTimeout(o),o=a=c=null},n},wrap:function(n,t){return M(t,n)},negate:Yn,compose:function(){var r=arguments,e=r.length-1;return function(){for(var n=e,t=r[e].apply(this,arguments);n--;)t=r[n].call(this,t);return t}},after:function(n,t){return function(){if(--n<1)return t.apply(this,arguments)}},before:Zn,once:nt,findKey:tt,findIndex:et,findLastIndex:ut,sortedIndex:ot,indexOf:at,lastIndexOf:ft,find:ct,detect:ct,findWhere:function(n,t){return ct(n,A(t))},each:N,forEach:N,map:I,collect:I,reduce:st,foldl:st,inject:st,reduceRight:pt,foldr:pt,filter:T,select:T,reject:function(n,t,r){return T(n,Yn(S(t)),r)},every:ht,all:ht,some:vt,any:vt,contains:k,includes:k,include:k,invoke:yt,pluck:dt,where:function(n,t){return T(n,A(t))},max:gt,min:function(n,e,t){var r,u,o=1/0,i=1/0;if(null==e||"number"==typeof e&&"object"!=typeof n[0]&&null!=n)for(var a=0,f=(n=E(n)?n:j(n)).length;a<f;a++)null!=(r=n[a])&&r<o&&(o=r);else e=S(e,t),N(n,function(n,t,r){((u=e(n,t,r))<i||u===1/0&&o===1/0)&&(o=n,i=u)});return o},shuffle:function(n){return jt(n,1/0)},sample:jt,sortBy:function(n,e,t){var u=0;return e=S(e,t),dt(I(n,function(n,t,r){return{value:n,index:u++,criteria:e(n,t,r)}}).sort(function(n,t){var r=n.criteria,e=t.criteria;if(r!==e){if(e<r||void 0===r)return 1;if(r<e||void 0===e)return-1}return n.index-t.index}),"value")},groupBy:wt,indexBy:_t,countBy:At,partition:xt,toArray:mt,size:function(n){return null==n?0:(E(n)?n:b(n)).length},pick:Ot,omit:Mt,first:Bt,head:Bt,take:Bt,initial:Et,last:function(n,t,r){return null==n||n.length<1?null==t||r?void 0:[]:null==t||r?n[n.length-1]:R(n,Math.max(0,n.length-t))},rest:R,tail:R,drop:R,compact:function(n){return T(n,Boolean)},flatten:function(n,t){return B(n,t,!1)},without:It,uniq:Tt,unique:Tt,union:kt,intersection:function(n){for(var t=[],r=arguments.length,e=0,u=g(n);e<u;e++){var o=n[e];if(!k(t,o)){for(var i=1;i<r&&k(arguments[i],o);i++);i===r&&t.push(o)}}return t},difference:Nt,unzip:Dt,transpose:Dt,zip:Rt,object:function(n,t){for(var r={},e=0,u=g(n);e<u;e++)t?r[n[e]]=t[e]:r[n[e][0]]=n[e][1];return r},range:function(n,t,r){null==t&&(t=n||0,n=0),r=r||(t<n?-1:1);for(var e=Math.max(Math.ceil((t-n)/r),0),u=Array(e),o=0;o<e;o++,n+=r)u[o]=n;return u},chunk:function(n,t){if(null==t||t<1)return[];for(var r=[],e=0,u=n.length;e<u;)r.push(f.call(n,e,e+=t));return r},mixin:Ft,default:m});return n._=n});
function is_smooth_scroll(){return"undefined"==typeof jupiterxOptions||void 0===jupiterxOptions.smoothScroll?null:0!=jupiterxOptions.smoothScroll}window.noZensmooth=!0,function(){var r=!1,s=/xyz/.test(function(){xyz})?/\b_super\b/:/.*/;this.Class=function(){},Class.extend=function(e){var n=this.prototype;r=!0;var t=new this;for(var i in r=!1,e)t[i]="function"==typeof e[i]&&"function"==typeof n[i]&&s.test(e[i])?function(i,o){return function(){var e=this._super;this._super=n[i];var t=o.apply(this,arguments);return this._super=e,t}}(i,e[i]):e[i];function o(){!r&&this.init&&this.init.apply(this,arguments)}return((o.prototype=t).constructor=o).extend=arguments.callee,o}}(),function(e,t,i){"use strict";"function"==typeof define&&define.amd?define(i):"undefined"!=typeof module&&module.exports?module.exports=i():t.PubSub=i("PubSub",t)}(0,this,function(e,t){"use strict";function o(e,t,i){var o;for(o in e)if(Object.prototype.hasOwnProperty.call(e,o)&&t&&!1===t.call(i,e[o],o,e))return;return e}function n(e,t,i){for(var o,n,r=e._pubsub_topics,s=r[t]?r[t].slice(0):[],a=0,l=s.length;a<l;a+=1)n=s[a].token,(o=s[a]).callback(i,{name:t,token:n}),!0===o.once&&e.unsubscribe(n)}function i(e){var t=Array.prototype.slice.call(e,1);return t.length<=1?t[0]:t}function r(e,t,i,o){return!!e._pubsub_topics[t]&&(o?n(e,t,i):setTimeout(function(){n(e,t,i)},0),!0)}function s(){return this instanceof s?(this._pubsub_topics={},this._pubsub_uid=-1,this):new s}var a=(t||{})[e];return s.prototype.subscribe=function(e,t,i){var o=this._pubsub_topics,n=this._pubsub_uid+=1,r={};if("function"!=typeof t)throw new TypeError("When subscribing for an event, a callback function must be defined.");return o[e]||(o[e]=[]),r.token=n,r.callback=t,r.once=!!i,o[e].push(r),n},s.prototype.subscribeOnce=function(e,t){return this.subscribe(e,t,!0)},s.prototype.publish=function(e){return r(this,e,i(arguments),!1)},s.prototype.publishSync=function(e){return r(this,e,i(arguments),!0)},s.prototype.unsubscribe=function(e){var t,i,o=this._pubsub_topics,n=!1;for(t in o)if(Object.prototype.hasOwnProperty.call(o,t)&&o[t]){for(i=o[t].length;i;){if(i-=1,o[t][i].token===e)return o[t].splice(i,1),0===o[t].length&&delete o[t],e;t===e&&(o[t].splice(i,1),0===o[t].length&&delete o[t],n=!0)}if(!0===n)return e}return!1},s.prototype.unsubscribeAll=function(){return this._pubsub_topics={},this},s.prototype.hasSubscribers=function(e){var t=this._pubsub_topics,i=!1;return null==e?(o(t,function(e,t){if(t)return!(i=!0)}),i):Object.prototype.hasOwnProperty.call(t,e)},s.prototype.subscribers=function(){var i={};return o(this._pubsub_topics,function(e,t){i[t]=e.slice(0)}),i},s.prototype.subscribersByTopic=function(e){return this._pubsub_topics[e]?this._pubsub_topics[e].slice(0):[]},s.prototype.alias=function(i){return o(i,function(e,t){s.prototype[t]&&(s.prototype[i[t]]=function(e){return function(){return this[e].apply(this,arguments)}}(t))}),this},s.noConflict=function(){return t&&(t[e]=a),s},s.version="3.4.0",s}),function(){"use strict";for(var t,i,e=["webkit","moz"],o=0;o<e.length&&!window.requestAnimationFrame;++o){var n=e[o];window.requestAnimationFrame=window[n+"RequestAnimationFrame"],window.cancelAnimationFrame=window[n+"CancelAnimationFrame"]||window[n+"CancelRequestAnimationFrame"]}if(!/iP(ad|hone|od).*OS 6/.test(window.navigator.userAgent)&&window.requestAnimationFrame&&window.cancelAnimationFrame)window.jQuery&&((t=jQuery).fx.timer=function(e){e()&&t.timers.push(e)&&!i&&(i=!0,s())},t.fx.stop=function(){i=!1});else{var r=0;window.requestAnimationFrame=function(e){var t=+new Date,i=Math.max(r+16,t);return setTimeout(function(){e(r=i)},i-t)},window.cancelAnimationFrame=clearTimeout}function s(){i&&(requestAnimationFrame(s),t.fx.tick())}if(!!(!window.performance||!window.performance.now)){var a=window.requestAnimationFrame,l=+new Date;window.requestAnimationFrame=function(t,e){a(function(e){return t(e<1e12?e:e-l)},e)}}}(),function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):e.updwn=t()}(this,function(){var e=a(),r=e.x,s=e.y,h=[];function a(){return"undefined"==typeof window?{}:{x:window.innerWidth,y:window.pageYOffset}}function i(n){requestAnimationFrame(function(){for(var e=a(),t=e.x,i=e.y,o=0;o<h.length;o++)h[o]({y:i,prevY:s,x:t,prevX:r},n);s=i,r=t})}return function(e){var a=e.speed;void 0===a&&(a=20);var l=e.interval;void 0===l&&(l=100);var t,d=null,c=0,p=0,u=[],f=[];return t=function(e,t){var i=e.y,o=e.prevY;c=t.timeStamp-p,p=t.timeStamp;var n=(Math.abs(i-o)/c||0)*l>a;if(o<=i&&"down"!==d&&n){d="down";for(var r=0;r<f.length;r++)f[r]()}else if(i<=o&&"up"!==d&&n){d="up";for(var s=0;s<u.length;s++)u[s]()}},window.addEventListener("scroll",i),window.addEventListener("resize",i),h.indexOf(t)<0&&h.push(t),{up:function(e){return u.indexOf(e)<0&&u.push(e),function(){return u.splice(u.indexOf(e),1)}},down:function(e){return f.indexOf(e)<0&&f.push(e),function(){return f.splice(f.indexOf(e),1)}},get position(){return d}}}}),function(e){"use strict";"function"==typeof define&&define.amd?define(["jquery"],e):"undefined"!=typeof exports?module.exports=e(require("jquery")):e(jQuery)}(function(d){"use strict";var n,s=window.Slick||{};(n=0,s=function(e,t){var i,o=this;o.defaults={accessibility:!0,adaptiveHeight:!1,appendArrows:d(e),appendDots:d(e),arrows:!0,asNavFor:null,prevArrow:'<button class="slick-prev" aria-label="Previous" type="button">Previous</button>',nextArrow:'<button class="slick-next" aria-label="Next" type="button">Next</button>',autoplay:!1,autoplaySpeed:3e3,centerMode:!1,centerPadding:"50px",cssEase:"ease",customPaging:function(e,t){return d('<button type="button" />').text(t+1)},dots:!1,dotsClass:"slick-dots",draggable:!0,easing:"linear",edgeFriction:.35,fade:!1,focusOnSelect:!1,focusOnChange:!1,infinite:!0,initialSlide:0,lazyLoad:"ondemand",mobileFirst:!1,pauseOnHover:!0,pauseOnFocus:!0,pauseOnDotsHover:!1,respondTo:"window",responsive:null,rows:1,rtl:!1,slide:"",slidesPerRow:1,slidesToShow:1,slidesToScroll:1,speed:500,swipe:!0,swipeToSlide:!1,touchMove:!0,touchThreshold:5,useCSS:!0,useTransform:!0,variableWidth:!1,vertical:!1,verticalSwiping:!1,waitForAnimate:!0,zIndex:1e3},o.initials={animating:!1,dragging:!1,autoPlayTimer:null,currentDirection:0,currentLeft:null,currentSlide:0,direction:1,$dots:null,listWidth:null,listHeight:null,loadIndex:0,$nextArrow:null,$prevArrow:null,scrolling:!1,slideCount:null,slideWidth:null,$slideTrack:null,$slides:null,sliding:!1,slideOffset:0,swipeLeft:null,swiping:!1,$list:null,touchObject:{},transformsEnabled:!1,unslicked:!1},d.extend(o,o.initials),o.activeBreakpoint=null,o.animType=null,o.animProp=null,o.breakpoints=[],o.breakpointSettings=[],o.cssTransitions=!1,o.focussed=!1,o.interrupted=!1,o.hidden="hidden",o.paused=!0,o.positionProp=null,o.respondTo=null,o.rowCount=1,o.shouldClick=!0,o.$slider=d(e),o.$slidesCache=null,o.transformType=null,o.transitionType=null,o.visibilityChange="visibilitychange",o.windowWidth=0,o.windowTimer=null,i=d(e).data("slick")||{},o.options=d.extend({},o.defaults,t,i),o.currentSlide=o.options.initialSlide,o.originalSettings=o.options,void 0!==document.mozHidden?(o.hidden="mozHidden",o.visibilityChange="mozvisibilitychange"):void 0!==document.webkitHidden&&(o.hidden="webkitHidden",o.visibilityChange="webkitvisibilitychange"),o.autoPlay=d.proxy(o.autoPlay,o),o.autoPlayClear=d.proxy(o.autoPlayClear,o),o.autoPlayIterator=d.proxy(o.autoPlayIterator,o),o.changeSlide=d.proxy(o.changeSlide,o),o.clickHandler=d.proxy(o.clickHandler,o),o.selectHandler=d.proxy(o.selectHandler,o),o.setPosition=d.proxy(o.setPosition,o),o.swipeHandler=d.proxy(o.swipeHandler,o),o.dragHandler=d.proxy(o.dragHandler,o),o.keyHandler=d.proxy(o.keyHandler,o),o.instanceUid=n++,o.htmlExpr=/^(?:\s*(<[\w\W]+>)[^>]*)$/,o.registerBreakpoints(),o.init(!0)}).prototype.activateADA=function(){this.$slideTrack.find(".slick-active").attr({"aria-hidden":"false"}).find("a, input, button, select").attr({tabindex:"0"})},s.prototype.addSlide=s.prototype.slickAdd=function(e,t,i){var o=this;if("boolean"==typeof t)i=t,t=null;else if(t<0||t>=o.slideCount)return!1;o.unload(),"number"==typeof t?0===t&&0===o.$slides.length?d(e).appendTo(o.$slideTrack):i?d(e).insertBefore(o.$slides.eq(t)):d(e).insertAfter(o.$slides.eq(t)):!0===i?d(e).prependTo(o.$slideTrack):d(e).appendTo(o.$slideTrack),o.$slides=o.$slideTrack.children(this.options.slide),o.$slideTrack.children(this.options.slide).detach(),o.$slideTrack.append(o.$slides),o.$slides.each(function(e,t){d(t).attr("data-slick-index",e)}),o.$slidesCache=o.$slides,o.reinit()},s.prototype.animateHeight=function(){var e=this;if(1===e.options.slidesToShow&&!0===e.options.adaptiveHeight&&!1===e.options.vertical){var t=e.$slides.eq(e.currentSlide).outerHeight(!0);e.$list.animate({height:t},e.options.speed)}},s.prototype.animateSlide=function(e,t){var i={},o=this;o.animateHeight(),!0===o.options.rtl&&!1===o.options.vertical&&(e=-e),!1===o.transformsEnabled?!1===o.options.vertical?o.$slideTrack.animate({left:e},o.options.speed,o.options.easing,t):o.$slideTrack.animate({top:e},o.options.speed,o.options.easing,t):!1===o.cssTransitions?(!0===o.options.rtl&&(o.currentLeft=-o.currentLeft),d({animStart:o.currentLeft}).animate({animStart:e},{duration:o.options.speed,easing:o.options.easing,step:function(e){e=Math.ceil(e),!1===o.options.vertical?i[o.animType]="translate("+e+"px, 0px)":i[o.animType]="translate(0px,"+e+"px)",o.$slideTrack.css(i)},complete:function(){t&&t.call()}})):(o.applyTransition(),e=Math.ceil(e),!1===o.options.vertical?i[o.animType]="translate3d("+e+"px, 0px, 0px)":i[o.animType]="translate3d(0px,"+e+"px, 0px)",o.$slideTrack.css(i),t&&setTimeout(function(){o.disableTransition(),t.call()},o.options.speed))},s.prototype.getNavTarget=function(){var e=this.options.asNavFor;return e&&null!==e&&(e=d(e).not(this.$slider)),e},s.prototype.asNavFor=function(t){var e=this.getNavTarget();null!==e&&"object"==typeof e&&e.each(function(){var e=d(this).slick("getSlick");e.unslicked||e.slideHandler(t,!0)})},s.prototype.applyTransition=function(e){var t=this,i={};!1===t.options.fade?i[t.transitionType]=t.transformType+" "+t.options.speed+"ms "+t.options.cssEase:i[t.transitionType]="opacity "+t.options.speed+"ms "+t.options.cssEase,!1===t.options.fade?t.$slideTrack.css(i):t.$slides.eq(e).css(i)},s.prototype.autoPlay=function(){var e=this;e.autoPlayClear(),e.slideCount>e.options.slidesToShow&&(e.autoPlayTimer=setInterval(e.autoPlayIterator,e.options.autoplaySpeed))},s.prototype.autoPlayClear=function(){this.autoPlayTimer&&clearInterval(this.autoPlayTimer)},s.prototype.autoPlayIterator=function(){var e=this,t=e.currentSlide+e.options.slidesToScroll;e.paused||e.interrupted||e.focussed||(!1===e.options.infinite&&(1===e.direction&&e.currentSlide+1===e.slideCount-1?e.direction=0:0===e.direction&&(t=e.currentSlide-e.options.slidesToScroll,e.currentSlide-1==0&&(e.direction=1))),e.slideHandler(t))},s.prototype.buildArrows=function(){var e=this;!0===e.options.arrows&&(e.$prevArrow=d(e.options.prevArrow).addClass("slick-arrow"),e.$nextArrow=d(e.options.nextArrow).addClass("slick-arrow"),e.slideCount>e.options.slidesToShow?(e.$prevArrow.removeClass("slick-hidden").removeAttr("aria-hidden tabindex"),e.$nextArrow.removeClass("slick-hidden").removeAttr("aria-hidden tabindex"),e.htmlExpr.test(e.options.prevArrow)&&e.$prevArrow.prependTo(e.options.appendArrows),e.htmlExpr.test(e.options.nextArrow)&&e.$nextArrow.appendTo(e.options.appendArrows),!0!==e.options.infinite&&e.$prevArrow.addClass("slick-disabled").attr("aria-disabled","true")):e.$prevArrow.add(e.$nextArrow).addClass("slick-hidden").attr({"aria-disabled":"true",tabindex:"-1"}))},s.prototype.buildDots=function(){var e,t,i=this;if(!0===i.options.dots){for(i.$slider.addClass("slick-dotted"),t=d("<ul />").addClass(i.options.dotsClass),e=0;e<=i.getDotCount();e+=1)t.append(d("<li />").append(i.options.customPaging.call(this,i,e)));i.$dots=t.appendTo(i.options.appendDots),i.$dots.find("li").first().addClass("slick-active")}},s.prototype.buildOut=function(){var e=this;e.$slides=e.$slider.children(e.options.slide+":not(.slick-cloned)").addClass("slick-slide"),e.slideCount=e.$slides.length,e.$slides.each(function(e,t){d(t).attr("data-slick-index",e).data("originalStyling",d(t).attr("style")||"")}),e.$slider.addClass("slick-slider"),e.$slideTrack=0===e.slideCount?d('<div class="slick-track"/>').appendTo(e.$slider):e.$slides.wrapAll('<div class="slick-track"/>').parent(),e.$list=e.$slideTrack.wrap('<div class="slick-list"/>').parent(),e.$slideTrack.css("opacity",0),!0!==e.options.centerMode&&!0!==e.options.swipeToSlide||(e.options.slidesToScroll=1),d("img[data-lazy]",e.$slider).not("[src]").addClass("slick-loading"),e.setupInfinite(),e.buildArrows(),e.buildDots(),e.updateDots(),e.setSlideClasses("number"==typeof e.currentSlide?e.currentSlide:0),!0===e.options.draggable&&e.$list.addClass("draggable")},s.prototype.buildRows=function(){var e,t,i,o,n,r,s,a=this;if(o=document.createDocumentFragment(),r=a.$slider.children(),1<a.options.rows){for(s=a.options.slidesPerRow*a.options.rows,n=Math.ceil(r.length/s),e=0;e<n;e++){var l=document.createElement("div");for(t=0;t<a.options.rows;t++){var d=document.createElement("div");for(i=0;i<a.options.slidesPerRow;i++){var c=e*s+(t*a.options.slidesPerRow+i);r.get(c)&&d.appendChild(r.get(c))}l.appendChild(d)}o.appendChild(l)}a.$slider.empty().append(o),a.$slider.children().children().children().css({width:100/a.options.slidesPerRow+"%",display:"inline-block"})}},s.prototype.checkResponsive=function(e,t){var i,o,n,r=this,s=!1,a=r.$slider.width(),l=window.innerWidth||d(window).width();if("window"===r.respondTo?n=l:"slider"===r.respondTo?n=a:"min"===r.respondTo&&(n=Math.min(l,a)),r.options.responsive&&r.options.responsive.length&&null!==r.options.responsive){for(i in o=null,r.breakpoints)r.breakpoints.hasOwnProperty(i)&&(!1===r.originalSettings.mobileFirst?n<r.breakpoints[i]&&(o=r.breakpoints[i]):n>r.breakpoints[i]&&(o=r.breakpoints[i]));null!==o?null!==r.activeBreakpoint?o===r.activeBreakpoint&&!t||(r.activeBreakpoint=o,"unslick"===r.breakpointSettings[o]?r.unslick(o):(r.options=d.extend({},r.originalSettings,r.breakpointSettings[o]),!0===e&&(r.currentSlide=r.options.initialSlide),r.refresh(e)),s=o):(r.activeBreakpoint=o,"unslick"===r.breakpointSettings[o]?r.unslick(o):(r.options=d.extend({},r.originalSettings,r.breakpointSettings[o]),!0===e&&(r.currentSlide=r.options.initialSlide),r.refresh(e)),s=o):null!==r.activeBreakpoint&&(r.activeBreakpoint=null,r.options=r.originalSettings,!0===e&&(r.currentSlide=r.options.initialSlide),r.refresh(e),s=o),e||!1===s||r.$slider.trigger("breakpoint",[r,s])}},s.prototype.changeSlide=function(e,t){var i,o,n=this,r=d(e.currentTarget);switch(r.is("a")&&e.preventDefault(),r.is("li")||(r=r.closest("li")),i=n.slideCount%n.options.slidesToScroll!=0?0:(n.slideCount-n.currentSlide)%n.options.slidesToScroll,e.data.message){case"previous":o=0==i?n.options.slidesToScroll:n.options.slidesToShow-i,n.slideCount>n.options.slidesToShow&&n.slideHandler(n.currentSlide-o,!1,t);break;case"next":o=0==i?n.options.slidesToScroll:i,n.slideCount>n.options.slidesToShow&&n.slideHandler(n.currentSlide+o,!1,t);break;case"index":var s=0===e.data.index?0:e.data.index||r.index()*n.options.slidesToScroll;n.slideHandler(n.checkNavigable(s),!1,t),r.children().trigger("focus");break;default:return}},s.prototype.checkNavigable=function(e){var t,i;if(i=0,e>(t=this.getNavigableIndexes())[t.length-1])e=t[t.length-1];else for(var o in t){if(e<t[o]){e=i;break}i=t[o]}return e},s.prototype.cleanUpEvents=function(){var e=this;e.options.dots&&null!==e.$dots&&(d("li",e.$dots).off("click.slick",e.changeSlide).off("mouseenter.slick",d.proxy(e.interrupt,e,!0)).off("mouseleave.slick",d.proxy(e.interrupt,e,!1)),!0===e.options.accessibility&&e.$dots.off("keydown.slick",e.keyHandler)),e.$slider.off("focus.slick blur.slick"),!0===e.options.arrows&&e.slideCount>e.options.slidesToShow&&(e.$prevArrow&&e.$prevArrow.off("click.slick",e.changeSlide),e.$nextArrow&&e.$nextArrow.off("click.slick",e.changeSlide),!0===e.options.accessibility&&(e.$prevArrow&&e.$prevArrow.off("keydown.slick",e.keyHandler),e.$nextArrow&&e.$nextArrow.off("keydown.slick",e.keyHandler))),e.$list.off("touchstart.slick mousedown.slick",e.swipeHandler),e.$list.off("touchmove.slick mousemove.slick",e.swipeHandler),e.$list.off("touchend.slick mouseup.slick",e.swipeHandler),e.$list.off("touchcancel.slick mouseleave.slick",e.swipeHandler),e.$list.off("click.slick",e.clickHandler),d(document).off(e.visibilityChange,e.visibility),e.cleanUpSlideEvents(),!0===e.options.accessibility&&e.$list.off("keydown.slick",e.keyHandler),!0===e.options.focusOnSelect&&d(e.$slideTrack).children().off("click.slick",e.selectHandler),d(window).off("orientationchange.slick.slick-"+e.instanceUid,e.orientationChange),d(window).off("resize.slick.slick-"+e.instanceUid,e.resize),d("[draggable!=true]",e.$slideTrack).off("dragstart",e.preventDefault),d(window).off("load.slick.slick-"+e.instanceUid,e.setPosition)},s.prototype.cleanUpSlideEvents=function(){var e=this;e.$list.off("mouseenter.slick",d.proxy(e.interrupt,e,!0)),e.$list.off("mouseleave.slick",d.proxy(e.interrupt,e,!1))},s.prototype.cleanUpRows=function(){var e;1<this.options.rows&&((e=this.$slides.children().children()).removeAttr("style"),this.$slider.empty().append(e))},s.prototype.clickHandler=function(e){!1===this.shouldClick&&(e.stopImmediatePropagation(),e.stopPropagation(),e.preventDefault())},s.prototype.destroy=function(e){var t=this;t.autoPlayClear(),t.touchObject={},t.cleanUpEvents(),d(".slick-cloned",t.$slider).detach(),t.$dots&&t.$dots.remove(),t.$prevArrow&&t.$prevArrow.length&&(t.$prevArrow.removeClass("slick-disabled slick-arrow slick-hidden").removeAttr("aria-hidden aria-disabled tabindex").css("display",""),t.htmlExpr.test(t.options.prevArrow)&&t.$prevArrow.remove()),t.$nextArrow&&t.$nextArrow.length&&(t.$nextArrow.removeClass("slick-disabled slick-arrow slick-hidden").removeAttr("aria-hidden aria-disabled tabindex").css("display",""),t.htmlExpr.test(t.options.nextArrow)&&t.$nextArrow.remove()),t.$slides&&(t.$slides.removeClass("slick-slide slick-active slick-center slick-visible slick-current").removeAttr("aria-hidden").removeAttr("data-slick-index").each(function(){d(this).attr("style",d(this).data("originalStyling"))}),t.$slideTrack.children(this.options.slide).detach(),t.$slideTrack.detach(),t.$list.detach(),t.$slider.append(t.$slides)),t.cleanUpRows(),t.$slider.removeClass("slick-slider"),t.$slider.removeClass("slick-initialized"),t.$slider.removeClass("slick-dotted"),t.unslicked=!0,e||t.$slider.trigger("destroy",[t])},s.prototype.disableTransition=function(e){var t={};t[this.transitionType]="",!1===this.options.fade?this.$slideTrack.css(t):this.$slides.eq(e).css(t)},s.prototype.fadeSlide=function(e,t){var i=this;!1===i.cssTransitions?(i.$slides.eq(e).css({zIndex:i.options.zIndex}),i.$slides.eq(e).animate({opacity:1},i.options.speed,i.options.easing,t)):(i.applyTransition(e),i.$slides.eq(e).css({opacity:1,zIndex:i.options.zIndex}),t&&setTimeout(function(){i.disableTransition(e),t.call()},i.options.speed))},s.prototype.fadeSlideOut=function(e){var t=this;!1===t.cssTransitions?t.$slides.eq(e).animate({opacity:0,zIndex:t.options.zIndex-2},t.options.speed,t.options.easing):(t.applyTransition(e),t.$slides.eq(e).css({opacity:0,zIndex:t.options.zIndex-2}))},s.prototype.filterSlides=s.prototype.slickFilter=function(e){var t=this;null!==e&&(t.$slidesCache=t.$slides,t.unload(),t.$slideTrack.children(this.options.slide).detach(),t.$slidesCache.filter(e).appendTo(t.$slideTrack),t.reinit())},s.prototype.focusHandler=function(){var i=this;i.$slider.off("focus.slick blur.slick").on("focus.slick blur.slick","*",function(e){e.stopImmediatePropagation();var t=d(this);setTimeout(function(){i.options.pauseOnFocus&&(i.focussed=t.is(":focus"),i.autoPlay())},0)})},s.prototype.getCurrent=s.prototype.slickCurrentSlide=function(){return this.currentSlide},s.prototype.getDotCount=function(){var e=this,t=0,i=0,o=0;if(!0===e.options.infinite)if(e.slideCount<=e.options.slidesToShow)++o;else for(;t<e.slideCount;)++o,t=i+e.options.slidesToScroll,i+=e.options.slidesToScroll<=e.options.slidesToShow?e.options.slidesToScroll:e.options.slidesToShow;else if(!0===e.options.centerMode)o=e.slideCount;else if(e.options.asNavFor)for(;t<e.slideCount;)++o,t=i+e.options.slidesToScroll,i+=e.options.slidesToScroll<=e.options.slidesToShow?e.options.slidesToScroll:e.options.slidesToShow;else o=1+Math.ceil((e.slideCount-e.options.slidesToShow)/e.options.slidesToScroll);return o-1},s.prototype.getLeft=function(e){var t,i,o,n,r=this,s=0;return r.slideOffset=0,i=r.$slides.first().outerHeight(!0),!0===r.options.infinite?(r.slideCount>r.options.slidesToShow&&(r.slideOffset=r.slideWidth*r.options.slidesToShow*-1,n=-1,!0===r.options.vertical&&!0===r.options.centerMode&&(2===r.options.slidesToShow?n=-1.5:1===r.options.slidesToShow&&(n=-2)),s=i*r.options.slidesToShow*n),r.slideCount%r.options.slidesToScroll!=0&&e+r.options.slidesToScroll>r.slideCount&&r.slideCount>r.options.slidesToShow&&(s=e>r.slideCount?(r.slideOffset=(r.options.slidesToShow-(e-r.slideCount))*r.slideWidth*-1,(r.options.slidesToShow-(e-r.slideCount))*i*-1):(r.slideOffset=r.slideCount%r.options.slidesToScroll*r.slideWidth*-1,r.slideCount%r.options.slidesToScroll*i*-1))):e+r.options.slidesToShow>r.slideCount&&(r.slideOffset=(e+r.options.slidesToShow-r.slideCount)*r.slideWidth,s=(e+r.options.slidesToShow-r.slideCount)*i),r.slideCount<=r.options.slidesToShow&&(s=r.slideOffset=0),!0===r.options.centerMode&&r.slideCount<=r.options.slidesToShow?r.slideOffset=r.slideWidth*Math.floor(r.options.slidesToShow)/2-r.slideWidth*r.slideCount/2:!0===r.options.centerMode&&!0===r.options.infinite?r.slideOffset+=r.slideWidth*Math.floor(r.options.slidesToShow/2)-r.slideWidth:!0===r.options.centerMode&&(r.slideOffset=0,r.slideOffset+=r.slideWidth*Math.floor(r.options.slidesToShow/2)),t=!1===r.options.vertical?e*r.slideWidth*-1+r.slideOffset:e*i*-1+s,!0===r.options.variableWidth&&(o=r.slideCount<=r.options.slidesToShow||!1===r.options.infinite?r.$slideTrack.children(".slick-slide").eq(e):r.$slideTrack.children(".slick-slide").eq(e+r.options.slidesToShow),t=!0===r.options.rtl?o[0]?-1*(r.$slideTrack.width()-o[0].offsetLeft-o.width()):0:o[0]?-1*o[0].offsetLeft:0,!0===r.options.centerMode&&(o=r.slideCount<=r.options.slidesToShow||!1===r.options.infinite?r.$slideTrack.children(".slick-slide").eq(e):r.$slideTrack.children(".slick-slide").eq(e+r.options.slidesToShow+1),t=!0===r.options.rtl?o[0]?-1*(r.$slideTrack.width()-o[0].offsetLeft-o.width()):0:o[0]?-1*o[0].offsetLeft:0,t+=(r.$list.width()-o.outerWidth())/2)),t},s.prototype.getOption=s.prototype.slickGetOption=function(e){return this.options[e]},s.prototype.getNavigableIndexes=function(){var e,t=this,i=0,o=0,n=[];for(e=!1===t.options.infinite?t.slideCount:(i=-1*t.options.slidesToScroll,o=-1*t.options.slidesToScroll,2*t.slideCount);i<e;)n.push(i),i=o+t.options.slidesToScroll,o+=t.options.slidesToScroll<=t.options.slidesToShow?t.options.slidesToScroll:t.options.slidesToShow;return n},s.prototype.getSlick=function(){return this},s.prototype.getSlideCount=function(){var i,o,n=this;return o=!0===n.options.centerMode?n.slideWidth*Math.floor(n.options.slidesToShow/2):0,!0===n.options.swipeToSlide?(n.$slideTrack.find(".slick-slide").each(function(e,t){if(t.offsetLeft-o+d(t).outerWidth()/2>-1*n.swipeLeft)return i=t,!1}),Math.abs(d(i).attr("data-slick-index")-n.currentSlide)||1):n.options.slidesToScroll},s.prototype.goTo=s.prototype.slickGoTo=function(e,t){this.changeSlide({data:{message:"index",index:parseInt(e)}},t)},s.prototype.init=function(e){var t=this;d(t.$slider).hasClass("slick-initialized")||(d(t.$slider).addClass("slick-initialized"),t.buildRows(),t.buildOut(),t.setProps(),t.startLoad(),t.loadSlider(),t.initializeEvents(),t.updateArrows(),t.updateDots(),t.checkResponsive(!0),t.focusHandler()),e&&t.$slider.trigger("init",[t]),!0===t.options.accessibility&&t.initADA(),t.options.autoplay&&(t.paused=!1,t.autoPlay())},s.prototype.initADA=function(){var i=this,o=Math.ceil(i.slideCount/i.options.slidesToShow),n=i.getNavigableIndexes().filter(function(e){return 0<=e&&e<i.slideCount});i.$slides.add(i.$slideTrack.find(".slick-cloned")).attr({"aria-hidden":"true",tabindex:"-1"}).find("a, input, button, select").attr({tabindex:"-1"}),null!==i.$dots&&(i.$slides.not(i.$slideTrack.find(".slick-cloned")).each(function(e){var t=n.indexOf(e);d(this).attr({role:"tabpanel",id:"slick-slide"+i.instanceUid+e,tabindex:-1}),-1!==t&&d(this).attr({"aria-describedby":"slick-slide-control"+i.instanceUid+t})}),i.$dots.attr("role","tablist").find("li").each(function(e){var t=n[e];d(this).attr({role:"presentation"}),d(this).find("button").first().attr({role:"tab",id:"slick-slide-control"+i.instanceUid+e,"aria-controls":"slick-slide"+i.instanceUid+t,"aria-label":e+1+" of "+o,"aria-selected":null,tabindex:"-1"})}).eq(i.currentSlide).find("button").attr({"aria-selected":"true",tabindex:"0"}).end());for(var e=i.currentSlide,t=e+i.options.slidesToShow;e<t;e++)i.$slides.eq(e).attr("tabindex",0);i.activateADA()},s.prototype.initArrowEvents=function(){var e=this;!0===e.options.arrows&&e.slideCount>e.options.slidesToShow&&(e.$prevArrow.off("click.slick").on("click.slick",{message:"previous"},e.changeSlide),e.$nextArrow.off("click.slick").on("click.slick",{message:"next"},e.changeSlide),!0===e.options.accessibility&&(e.$prevArrow.on("keydown.slick",e.keyHandler),e.$nextArrow.on("keydown.slick",e.keyHandler)))},s.prototype.initDotEvents=function(){var e=this;!0===e.options.dots&&(d("li",e.$dots).on("click.slick",{message:"index"},e.changeSlide),!0===e.options.accessibility&&e.$dots.on("keydown.slick",e.keyHandler)),!0===e.options.dots&&!0===e.options.pauseOnDotsHover&&d("li",e.$dots).on("mouseenter.slick",d.proxy(e.interrupt,e,!0)).on("mouseleave.slick",d.proxy(e.interrupt,e,!1))},s.prototype.initSlideEvents=function(){var e=this;e.options.pauseOnHover&&(e.$list.on("mouseenter.slick",d.proxy(e.interrupt,e,!0)),e.$list.on("mouseleave.slick",d.proxy(e.interrupt,e,!1)))},s.prototype.initializeEvents=function(){var e=this;e.initArrowEvents(),e.initDotEvents(),e.initSlideEvents(),e.$list.on("touchstart.slick mousedown.slick",{action:"start"},e.swipeHandler),e.$list.on("touchmove.slick mousemove.slick",{action:"move"},e.swipeHandler),e.$list.on("touchend.slick mouseup.slick",{action:"end"},e.swipeHandler),e.$list.on("touchcancel.slick mouseleave.slick",{action:"end"},e.swipeHandler),e.$list.on("click.slick",e.clickHandler),d(document).on(e.visibilityChange,d.proxy(e.visibility,e)),!0===e.options.accessibility&&e.$list.on("keydown.slick",e.keyHandler),!0===e.options.focusOnSelect&&d(e.$slideTrack).children().on("click.slick",e.selectHandler),d(window).on("orientationchange.slick.slick-"+e.instanceUid,d.proxy(e.orientationChange,e)),d(window).on("resize.slick.slick-"+e.instanceUid,d.proxy(e.resize,e)),d("[draggable!=true]",e.$slideTrack).on("dragstart",e.preventDefault),d(window).on("load.slick.slick-"+e.instanceUid,e.setPosition),d(e.setPosition)},s.prototype.initUI=function(){var e=this;!0===e.options.arrows&&e.slideCount>e.options.slidesToShow&&(e.$prevArrow.show(),e.$nextArrow.show()),!0===e.options.dots&&e.slideCount>e.options.slidesToShow&&e.$dots.show()},s.prototype.keyHandler=function(e){var t=this;e.target.tagName.match("TEXTAREA|INPUT|SELECT")||(37===e.keyCode&&!0===t.options.accessibility?t.changeSlide({data:{message:!0===t.options.rtl?"next":"previous"}}):39===e.keyCode&&!0===t.options.accessibility&&t.changeSlide({data:{message:!0===t.options.rtl?"previous":"next"}}))},s.prototype.lazyLoad=function(){function e(e){d("img[data-lazy]",e).each(function(){var e=d(this),t=d(this).attr("data-lazy"),i=d(this).attr("data-srcset"),o=d(this).attr("data-sizes")||r.$slider.attr("data-sizes"),n=document.createElement("img");n.onload=function(){e.animate({opacity:0},100,function(){i&&(e.attr("srcset",i),o&&e.attr("sizes",o)),e.attr("src",t).animate({opacity:1},200,function(){e.removeAttr("data-lazy data-srcset data-sizes").removeClass("slick-loading")}),r.$slider.trigger("lazyLoaded",[r,e,t])})},n.onerror=function(){e.removeAttr("data-lazy").removeClass("slick-loading").addClass("slick-lazyload-error"),r.$slider.trigger("lazyLoadError",[r,e,t])},n.src=t})}var t,i,o,r=this;if(!0===r.options.centerMode?o=!0===r.options.infinite?(i=r.currentSlide+(r.options.slidesToShow/2+1))+r.options.slidesToShow+2:(i=Math.max(0,r.currentSlide-(r.options.slidesToShow/2+1)),r.options.slidesToShow/2+1+2+r.currentSlide):(i=r.options.infinite?r.options.slidesToShow+r.currentSlide:r.currentSlide,o=Math.ceil(i+r.options.slidesToShow),!0===r.options.fade&&(0<i&&i--,o<=r.slideCount&&o++)),t=r.$slider.find(".slick-slide").slice(i,o),"anticipated"===r.options.lazyLoad)for(var n=i-1,s=o,a=r.$slider.find(".slick-slide"),l=0;l<r.options.slidesToScroll;l++)n<0&&(n=r.slideCount-1),t=(t=t.add(a.eq(n))).add(a.eq(s)),n--,s++;e(t),r.slideCount<=r.options.slidesToShow?e(r.$slider.find(".slick-slide")):r.currentSlide>=r.slideCount-r.options.slidesToShow?e(r.$slider.find(".slick-cloned").slice(0,r.options.slidesToShow)):0===r.currentSlide&&e(r.$slider.find(".slick-cloned").slice(-1*r.options.slidesToShow))},s.prototype.loadSlider=function(){var e=this;e.setPosition(),e.$slideTrack.css({opacity:1}),e.$slider.removeClass("slick-loading"),e.initUI(),"progressive"===e.options.lazyLoad&&e.progressiveLazyLoad()},s.prototype.next=s.prototype.slickNext=function(){this.changeSlide({data:{message:"next"}})},s.prototype.orientationChange=function(){this.checkResponsive(),this.setPosition()},s.prototype.pause=s.prototype.slickPause=function(){this.autoPlayClear(),this.paused=!0},s.prototype.play=s.prototype.slickPlay=function(){var e=this;e.autoPlay(),e.options.autoplay=!0,e.paused=!1,e.focussed=!1,e.interrupted=!1},s.prototype.postSlide=function(e){var t=this;t.unslicked||(t.$slider.trigger("afterChange",[t,e]),t.animating=!1,t.slideCount>t.options.slidesToShow&&t.setPosition(),t.swipeLeft=null,t.options.autoplay&&t.autoPlay(),!0===t.options.accessibility&&(t.initADA(),t.options.focusOnChange&&d(t.$slides.get(t.currentSlide)).attr("tabindex",0).focus()))},s.prototype.prev=s.prototype.slickPrev=function(){this.changeSlide({data:{message:"previous"}})},s.prototype.preventDefault=function(e){e.preventDefault()},s.prototype.progressiveLazyLoad=function(e){e=e||1;var t,i,o,n,r,s=this,a=d("img[data-lazy]",s.$slider);a.length?(t=a.first(),i=t.attr("data-lazy"),o=t.attr("data-srcset"),n=t.attr("data-sizes")||s.$slider.attr("data-sizes"),(r=document.createElement("img")).onload=function(){o&&(t.attr("srcset",o),n&&t.attr("sizes",n)),t.attr("src",i).removeAttr("data-lazy data-srcset data-sizes").removeClass("slick-loading"),!0===s.options.adaptiveHeight&&s.setPosition(),s.$slider.trigger("lazyLoaded",[s,t,i]),s.progressiveLazyLoad()},r.onerror=function(){e<3?setTimeout(function(){s.progressiveLazyLoad(e+1)},500):(t.removeAttr("data-lazy").removeClass("slick-loading").addClass("slick-lazyload-error"),s.$slider.trigger("lazyLoadError",[s,t,i]),s.progressiveLazyLoad())},r.src=i):s.$slider.trigger("allImagesLoaded",[s])},s.prototype.refresh=function(e){var t,i,o=this;i=o.slideCount-o.options.slidesToShow,!o.options.infinite&&o.currentSlide>i&&(o.currentSlide=i),o.slideCount<=o.options.slidesToShow&&(o.currentSlide=0),t=o.currentSlide,o.destroy(!0),d.extend(o,o.initials,{currentSlide:t}),o.init(),e||o.changeSlide({data:{message:"index",index:t}},!1)},s.prototype.registerBreakpoints=function(){var e,t,i,o=this,n=o.options.responsive||null;if("array"===d.type(n)&&n.length){for(e in o.respondTo=o.options.respondTo||"window",n)if(i=o.breakpoints.length-1,n.hasOwnProperty(e)){for(t=n[e].breakpoint;0<=i;)o.breakpoints[i]&&o.breakpoints[i]===t&&o.breakpoints.splice(i,1),i--;o.breakpoints.push(t),o.breakpointSettings[t]=n[e].settings}o.breakpoints.sort(function(e,t){return o.options.mobileFirst?e-t:t-e})}},s.prototype.reinit=function(){var e=this;e.$slides=e.$slideTrack.children(e.options.slide).addClass("slick-slide"),e.slideCount=e.$slides.length,e.currentSlide>=e.slideCount&&0!==e.currentSlide&&(e.currentSlide=e.currentSlide-e.options.slidesToScroll),e.slideCount<=e.options.slidesToShow&&(e.currentSlide=0),e.registerBreakpoints(),e.setProps(),e.setupInfinite(),e.buildArrows(),e.updateArrows(),e.initArrowEvents(),e.buildDots(),e.updateDots(),e.initDotEvents(),e.cleanUpSlideEvents(),e.initSlideEvents(),e.checkResponsive(!1,!0),!0===e.options.focusOnSelect&&d(e.$slideTrack).children().on("click.slick",e.selectHandler),e.setSlideClasses("number"==typeof e.currentSlide?e.currentSlide:0),e.setPosition(),e.focusHandler(),e.paused=!e.options.autoplay,e.autoPlay(),e.$slider.trigger("reInit",[e])},s.prototype.resize=function(){var e=this;d(window).width()!==e.windowWidth&&(clearTimeout(e.windowDelay),e.windowDelay=window.setTimeout(function(){e.windowWidth=d(window).width(),e.checkResponsive(),e.unslicked||e.setPosition()},50))},s.prototype.removeSlide=s.prototype.slickRemove=function(e,t,i){var o=this;if(e="boolean"==typeof e?!0===(t=e)?0:o.slideCount-1:!0===t?--e:e,o.slideCount<1||e<0||e>o.slideCount-1)return!1;o.unload(),!0===i?o.$slideTrack.children().remove():o.$slideTrack.children(this.options.slide).eq(e).remove(),o.$slides=o.$slideTrack.children(this.options.slide),o.$slideTrack.children(this.options.slide).detach(),o.$slideTrack.append(o.$slides),o.$slidesCache=o.$slides,o.reinit()},s.prototype.setCSS=function(e){var t,i,o=this,n={};!0===o.options.rtl&&(e=-e),t="left"==o.positionProp?Math.ceil(e)+"px":"0px",i="top"==o.positionProp?Math.ceil(e)+"px":"0px",n[o.positionProp]=e,!1===o.transformsEnabled||(!(n={})===o.cssTransitions?n[o.animType]="translate("+t+", "+i+")":n[o.animType]="translate3d("+t+", "+i+", 0px)"),o.$slideTrack.css(n)},s.prototype.setDimensions=function(){var e=this;!1===e.options.vertical?!0===e.options.centerMode&&e.$list.css({padding:"0px "+e.options.centerPadding}):(e.$list.height(e.$slides.first().outerHeight(!0)*e.options.slidesToShow),!0===e.options.centerMode&&e.$list.css({padding:e.options.centerPadding+" 0px"})),e.listWidth=e.$list.width(),e.listHeight=e.$list.height(),!1===e.options.vertical&&!1===e.options.variableWidth?(e.slideWidth=Math.ceil(e.listWidth/e.options.slidesToShow),e.$slideTrack.width(Math.ceil(e.slideWidth*e.$slideTrack.children(".slick-slide").length))):!0===e.options.variableWidth?e.$slideTrack.width(5e3*e.slideCount):(e.slideWidth=Math.ceil(e.listWidth),e.$slideTrack.height(Math.ceil(e.$slides.first().outerHeight(!0)*e.$slideTrack.children(".slick-slide").length)));var t=e.$slides.first().outerWidth(!0)-e.$slides.first().width();!1===e.options.variableWidth&&e.$slideTrack.children(".slick-slide").width(e.slideWidth-t)},s.prototype.setFade=function(){var i,o=this;o.$slides.each(function(e,t){i=o.slideWidth*e*-1,!0===o.options.rtl?d(t).css({position:"relative",right:i,top:0,zIndex:o.options.zIndex-2,opacity:0}):d(t).css({position:"relative",left:i,top:0,zIndex:o.options.zIndex-2,opacity:0})}),o.$slides.eq(o.currentSlide).css({zIndex:o.options.zIndex-1,opacity:1})},s.prototype.setHeight=function(){var e=this;if(1===e.options.slidesToShow&&!0===e.options.adaptiveHeight&&!1===e.options.vertical){var t=e.$slides.eq(e.currentSlide).outerHeight(!0);e.$list.css("height",t)}},s.prototype.setOption=s.prototype.slickSetOption=function(){var e,t,i,o,n,r=this,s=!1;if("object"===d.type(arguments[0])?(i=arguments[0],s=arguments[1],n="multiple"):"string"===d.type(arguments[0])&&(o=arguments[1],s=arguments[2],"responsive"===(i=arguments[0])&&"array"===d.type(arguments[1])?n="responsive":void 0!==arguments[1]&&(n="single")),"single"===n)r.options[i]=o;else if("multiple"===n)d.each(i,function(e,t){r.options[e]=t});else if("responsive"===n)for(t in o)if("array"!==d.type(r.options.responsive))r.options.responsive=[o[t]];else{for(e=r.options.responsive.length-1;0<=e;)r.options.responsive[e].breakpoint===o[t].breakpoint&&r.options.responsive.splice(e,1),e--;r.options.responsive.push(o[t])}s&&(r.unload(),r.reinit())},s.prototype.setPosition=function(){var e=this;e.setDimensions(),e.setHeight(),!1===e.options.fade?e.setCSS(e.getLeft(e.currentSlide)):e.setFade(),e.$slider.trigger("setPosition",[e])},s.prototype.setProps=function(){var e=this,t=document.body.style;e.positionProp=!0===e.options.vertical?"top":"left","top"===e.positionProp?e.$slider.addClass("slick-vertical"):e.$slider.removeClass("slick-vertical"),void 0===t.WebkitTransition&&void 0===t.MozTransition&&void 0===t.msTransition||!0===e.options.useCSS&&(e.cssTransitions=!0),e.options.fade&&("number"==typeof e.options.zIndex?e.options.zIndex<3&&(e.options.zIndex=3):e.options.zIndex=e.defaults.zIndex),void 0!==t.OTransform&&(e.animType="OTransform",e.transformType="-o-transform",e.transitionType="OTransition",void 0===t.perspectiveProperty&&void 0===t.webkitPerspective&&(e.animType=!1)),void 0!==t.MozTransform&&(e.animType="MozTransform",e.transformType="-moz-transform",e.transitionType="MozTransition",void 0===t.perspectiveProperty&&void 0===t.MozPerspective&&(e.animType=!1)),void 0!==t.webkitTransform&&(e.animType="webkitTransform",e.transformType="-webkit-transform",e.transitionType="webkitTransition",void 0===t.perspectiveProperty&&void 0===t.webkitPerspective&&(e.animType=!1)),void 0!==t.msTransform&&(e.animType="msTransform",e.transformType="-ms-transform",e.transitionType="msTransition",void 0===t.msTransform&&(e.animType=!1)),void 0!==t.transform&&!1!==e.animType&&(e.animType="transform",e.transformType="transform",e.transitionType="transition"),e.transformsEnabled=e.options.useTransform&&null!==e.animType&&!1!==e.animType},s.prototype.setSlideClasses=function(e){var t,i,o,n,r=this;if(i=r.$slider.find(".slick-slide").removeClass("slick-active slick-center slick-current").attr("aria-hidden","true"),r.$slides.eq(e).addClass("slick-current"),!0===r.options.centerMode){var s=r.options.slidesToShow%2==0?1:0;t=Math.floor(r.options.slidesToShow/2),!0===r.options.infinite&&(t<=e&&e<=r.slideCount-1-t?r.$slides.slice(e-t+s,e+t+1).addClass("slick-active").attr("aria-hidden","false"):(o=r.options.slidesToShow+e,i.slice(o-t+1+s,o+t+2).addClass("slick-active").attr("aria-hidden","false")),0===e?i.eq(i.length-1-r.options.slidesToShow).addClass("slick-center"):e===r.slideCount-1&&i.eq(r.options.slidesToShow).addClass("slick-center")),r.$slides.eq(e).addClass("slick-center")}else 0<=e&&e<=r.slideCount-r.options.slidesToShow?r.$slides.slice(e,e+r.options.slidesToShow).addClass("slick-active").attr("aria-hidden","false"):i.length<=r.options.slidesToShow?i.addClass("slick-active").attr("aria-hidden","false"):(n=r.slideCount%r.options.slidesToShow,o=!0===r.options.infinite?r.options.slidesToShow+e:e,r.options.slidesToShow==r.options.slidesToScroll&&r.slideCount-e<r.options.slidesToShow?i.slice(o-(r.options.slidesToShow-n),o+n).addClass("slick-active").attr("aria-hidden","false"):i.slice(o,o+r.options.slidesToShow).addClass("slick-active").attr("aria-hidden","false"));"ondemand"!==r.options.lazyLoad&&"anticipated"!==r.options.lazyLoad||r.lazyLoad()},s.prototype.setupInfinite=function(){var e,t,i,o=this;if(!0===o.options.fade&&(o.options.centerMode=!1),!0===o.options.infinite&&!1===o.options.fade&&(t=null,o.slideCount>o.options.slidesToShow)){for(i=!0===o.options.centerMode?o.options.slidesToShow+1:o.options.slidesToShow,e=o.slideCount;e>o.slideCount-i;e-=1)t=e-1,d(o.$slides[t]).clone(!0).attr("id","").attr("data-slick-index",t-o.slideCount).prependTo(o.$slideTrack).addClass("slick-cloned");for(e=0;e<i+o.slideCount;e+=1)t=e,d(o.$slides[t]).clone(!0).attr("id","").attr("data-slick-index",t+o.slideCount).appendTo(o.$slideTrack).addClass("slick-cloned");o.$slideTrack.find(".slick-cloned").find("[id]").each(function(){d(this).attr("id","")})}},s.prototype.interrupt=function(e){e||this.autoPlay(),this.interrupted=e},s.prototype.selectHandler=function(e){var t=d(e.target).is(".slick-slide")?d(e.target):d(e.target).parents(".slick-slide"),i=parseInt(t.attr("data-slick-index"));i||(i=0),this.slideCount<=this.options.slidesToShow?this.slideHandler(i,!1,!0):this.slideHandler(i)},s.prototype.slideHandler=function(e,t,i){var o,n,r,s,a,l=null,d=this;if(t=t||!1,!(!0===d.animating&&!0===d.options.waitForAnimate||!0===d.options.fade&&d.currentSlide===e))if(!1===t&&d.asNavFor(e),o=e,l=d.getLeft(o),s=d.getLeft(d.currentSlide),d.currentLeft=null===d.swipeLeft?s:d.swipeLeft,!1===d.options.infinite&&!1===d.options.centerMode&&(e<0||e>d.getDotCount()*d.options.slidesToScroll))!1===d.options.fade&&(o=d.currentSlide,!0!==i?d.animateSlide(s,function(){d.postSlide(o)}):d.postSlide(o));else if(!1===d.options.infinite&&!0===d.options.centerMode&&(e<0||e>d.slideCount-d.options.slidesToScroll))!1===d.options.fade&&(o=d.currentSlide,!0!==i?d.animateSlide(s,function(){d.postSlide(o)}):d.postSlide(o));else{if(d.options.autoplay&&clearInterval(d.autoPlayTimer),n=o<0?d.slideCount%d.options.slidesToScroll!=0?d.slideCount-d.slideCount%d.options.slidesToScroll:d.slideCount+o:o>=d.slideCount?d.slideCount%d.options.slidesToScroll!=0?0:o-d.slideCount:o,d.animating=!0,d.$slider.trigger("beforeChange",[d,d.currentSlide,n]),r=d.currentSlide,d.currentSlide=n,d.setSlideClasses(d.currentSlide),d.options.asNavFor&&(a=(a=d.getNavTarget()).slick("getSlick")).slideCount<=a.options.slidesToShow&&a.setSlideClasses(d.currentSlide),d.updateDots(),d.updateArrows(),!0===d.options.fade)return!0!==i?(d.fadeSlideOut(r),d.fadeSlide(n,function(){d.postSlide(n)})):d.postSlide(n),void d.animateHeight();!0!==i?d.animateSlide(l,function(){d.postSlide(n)}):d.postSlide(n)}},s.prototype.startLoad=function(){var e=this;!0===e.options.arrows&&e.slideCount>e.options.slidesToShow&&(e.$prevArrow.hide(),e.$nextArrow.hide()),!0===e.options.dots&&e.slideCount>e.options.slidesToShow&&e.$dots.hide(),e.$slider.addClass("slick-loading")},s.prototype.swipeDirection=function(){var e,t,i,o,n=this;return e=n.touchObject.startX-n.touchObject.curX,t=n.touchObject.startY-n.touchObject.curY,i=Math.atan2(t,e),(o=Math.round(180*i/Math.PI))<0&&(o=360-Math.abs(o)),o<=45&&0<=o?!1===n.options.rtl?"left":"right":o<=360&&315<=o?!1===n.options.rtl?"left":"right":135<=o&&o<=225?!1===n.options.rtl?"right":"left":!0===n.options.verticalSwiping?35<=o&&o<=135?"down":"up":"vertical"},s.prototype.swipeEnd=function(e){var t,i,o=this;if(o.dragging=!1,o.swiping=!1,o.scrolling)return o.scrolling=!1;if(o.interrupted=!1,o.shouldClick=!(10<o.touchObject.swipeLength),void 0===o.touchObject.curX)return!1;if(!0===o.touchObject.edgeHit&&o.$slider.trigger("edge",[o,o.swipeDirection()]),o.touchObject.swipeLength>=o.touchObject.minSwipe){switch(i=o.swipeDirection()){case"left":case"down":t=o.options.swipeToSlide?o.checkNavigable(o.currentSlide+o.getSlideCount()):o.currentSlide+o.getSlideCount(),o.currentDirection=0;break;case"right":case"up":t=o.options.swipeToSlide?o.checkNavigable(o.currentSlide-o.getSlideCount()):o.currentSlide-o.getSlideCount(),o.currentDirection=1}"vertical"!=i&&(o.slideHandler(t),o.touchObject={},o.$slider.trigger("swipe",[o,i]))}else o.touchObject.startX!==o.touchObject.curX&&(o.slideHandler(o.currentSlide),o.touchObject={})},s.prototype.swipeHandler=function(e){var t=this;if(!(!1===t.options.swipe||"ontouchend"in document&&!1===t.options.swipe||!1===t.options.draggable&&-1!==e.type.indexOf("mouse")))switch(t.touchObject.fingerCount=e.originalEvent&&void 0!==e.originalEvent.touches?e.originalEvent.touches.length:1,t.touchObject.minSwipe=t.listWidth/t.options.touchThreshold,!0===t.options.verticalSwiping&&(t.touchObject.minSwipe=t.listHeight/t.options.touchThreshold),e.data.action){case"start":t.swipeStart(e);break;case"move":t.swipeMove(e);break;case"end":t.swipeEnd(e)}},s.prototype.swipeMove=function(e){var t,i,o,n,r,s,a=this;return r=void 0!==e.originalEvent?e.originalEvent.touches:null,!(!a.dragging||a.scrolling||r&&1!==r.length)&&(t=a.getLeft(a.currentSlide),a.touchObject.curX=void 0!==r?r[0].pageX:e.clientX,a.touchObject.curY=void 0!==r?r[0].pageY:e.clientY,a.touchObject.swipeLength=Math.round(Math.sqrt(Math.pow(a.touchObject.curX-a.touchObject.startX,2))),s=Math.round(Math.sqrt(Math.pow(a.touchObject.curY-a.touchObject.startY,2))),!a.options.verticalSwiping&&!a.swiping&&4<s?!(a.scrolling=!0):(!0===a.options.verticalSwiping&&(a.touchObject.swipeLength=s),i=a.swipeDirection(),void 0!==e.originalEvent&&4<a.touchObject.swipeLength&&(a.swiping=!0,e.preventDefault()),n=(!1===a.options.rtl?1:-1)*(a.touchObject.curX>a.touchObject.startX?1:-1),!0===a.options.verticalSwiping&&(n=a.touchObject.curY>a.touchObject.startY?1:-1),o=a.touchObject.swipeLength,(a.touchObject.edgeHit=!1)===a.options.infinite&&(0===a.currentSlide&&"right"===i||a.currentSlide>=a.getDotCount()&&"left"===i)&&(o=a.touchObject.swipeLength*a.options.edgeFriction,a.touchObject.edgeHit=!0),!1===a.options.vertical?a.swipeLeft=t+o*n:a.swipeLeft=t+o*(a.$list.height()/a.listWidth)*n,!0===a.options.verticalSwiping&&(a.swipeLeft=t+o*n),!0!==a.options.fade&&!1!==a.options.touchMove&&(!0===a.animating?(a.swipeLeft=null,!1):void a.setCSS(a.swipeLeft))))},s.prototype.swipeStart=function(e){var t,i=this;if(i.interrupted=!0,1!==i.touchObject.fingerCount||i.slideCount<=i.options.slidesToShow)return!(i.touchObject={});void 0!==e.originalEvent&&void 0!==e.originalEvent.touches&&(t=e.originalEvent.touches[0]),i.touchObject.startX=i.touchObject.curX=void 0!==t?t.pageX:e.clientX,i.touchObject.startY=i.touchObject.curY=void 0!==t?t.pageY:e.clientY,i.dragging=!0},s.prototype.unfilterSlides=s.prototype.slickUnfilter=function(){var e=this;null!==e.$slidesCache&&(e.unload(),e.$slideTrack.children(this.options.slide).detach(),e.$slidesCache.appendTo(e.$slideTrack),e.reinit())},s.prototype.unload=function(){var e=this;d(".slick-cloned",e.$slider).remove(),e.$dots&&e.$dots.remove(),e.$prevArrow&&e.htmlExpr.test(e.options.prevArrow)&&e.$prevArrow.remove(),e.$nextArrow&&e.htmlExpr.test(e.options.nextArrow)&&e.$nextArrow.remove(),e.$slides.removeClass("slick-slide slick-active slick-visible slick-current").attr("aria-hidden","true").css("width","")},s.prototype.unslick=function(e){this.$slider.trigger("unslick",[this,e]),this.destroy()},s.prototype.updateArrows=function(){var e=this;Math.floor(e.options.slidesToShow/2),!0===e.options.arrows&&e.slideCount>e.options.slidesToShow&&!e.options.infinite&&(e.$prevArrow.removeClass("slick-disabled").attr("aria-disabled","false"),e.$nextArrow.removeClass("slick-disabled").attr("aria-disabled","false"),0===e.currentSlide?(e.$prevArrow.addClass("slick-disabled").attr("aria-disabled","true"),e.$nextArrow.removeClass("slick-disabled").attr("aria-disabled","false")):e.currentSlide>=e.slideCount-e.options.slidesToShow&&!1===e.options.centerMode?(e.$nextArrow.addClass("slick-disabled").attr("aria-disabled","true"),e.$prevArrow.removeClass("slick-disabled").attr("aria-disabled","false")):e.currentSlide>=e.slideCount-1&&!0===e.options.centerMode&&(e.$nextArrow.addClass("slick-disabled").attr("aria-disabled","true"),e.$prevArrow.removeClass("slick-disabled").attr("aria-disabled","false")))},s.prototype.updateDots=function(){var e=this;null!==e.$dots&&(e.$dots.find("li").removeClass("slick-active").end(),e.$dots.find("li").eq(Math.floor(e.currentSlide/e.options.slidesToScroll)).addClass("slick-active"))},s.prototype.visibility=function(){this.options.autoplay&&(document[this.hidden]?this.interrupted=!0:this.interrupted=!1)},d.fn.slick=function(){var e,t,i=this,o=arguments[0],n=Array.prototype.slice.call(arguments,1),r=i.length;for(e=0;e<r;e++)if("object"==typeof o||void 0===o?i[e].slick=new s(i[e],o):t=i[e].slick[o].apply(i[e].slick,n),void 0!==t)return t;return i}}),function(p,u){"use strict";function f(e,t){for(var i in t)t.hasOwnProperty(i)&&(e[i]=t[i])}function h(e){return parseFloat(e)||0}function g(e){for(var t=0;e;)t+=e.offsetTop,e=e.offsetParent;return t}var e=function(e,t,i){return t&&o(e.prototype,t),i&&o(e,i),e},m=!1;function o(e,t){for(var i=0;i<t.length;i++){var o=t[i];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}if(p.getComputedStyle){var t=u.createElement("div");["","-webkit-","-moz-","-ms-"].some(function(e){try{t.style.position=e+"sticky"}catch(e){}return""!=t.style.position})&&(m=!0)}else m=!0;var v="undefined"!=typeof ShadowRoot,r={top:null,left:null},s=[],n=(e(i,[{key:"refresh",value:function(){if(!m&&!this._removed){this._active&&this._deactivate();var e=this._node,t=getComputedStyle(e),i={top:t.top,display:t.display,marginTop:t.marginTop,marginBottom:t.marginBottom,marginLeft:t.marginLeft,marginRight:t.marginRight,cssFloat:t.cssFloat};if(!isNaN(parseFloat(i.top))&&"table-cell"!=i.display&&"none"!=i.display){this._active=!0;var o=e.parentNode,n=v&&o instanceof ShadowRoot?o.host:o,r=e.getBoundingClientRect(),s=n.getBoundingClientRect(),a=getComputedStyle(n);this._parent={node:n,styles:{position:n.style.position},offsetHeight:n.offsetHeight},this._offsetToWindow={left:r.left,right:u.documentElement.clientWidth-r.right},this._offsetToParent={top:r.top-s.top-h(a.borderTopWidth),left:r.left-s.left-h(a.borderLeftWidth),right:-r.right+s.right-h(a.borderRightWidth)},this._styles={position:e.style.position,top:e.style.top,bottom:e.style.bottom,left:e.style.left,right:e.style.right,width:e.style.width,marginTop:e.style.marginTop,marginLeft:e.style.marginLeft,marginRight:e.style.marginRight};var l=h(i.top);this._limits={start:r.top+p.pageYOffset-l,end:s.top+p.pageYOffset+n.offsetHeight-h(a.borderBottomWidth)-e.offsetHeight-l-h(i.marginBottom)};var d=a.position;"absolute"!=d&&"relative"!=d&&(n.style.position="relative"),this._recalcPosition();var c=this._clone={};c.node=u.createElement("div"),f(c.node.style,{width:r.right-r.left+"px",height:r.bottom-r.top+"px",marginTop:i.marginTop,marginBottom:i.marginBottom,marginLeft:i.marginLeft,marginRight:i.marginRight,cssFloat:i.cssFloat,padding:0,border:0,borderSpacing:0,fontSize:"1em",position:"static"}),o.insertBefore(c.node,e),c.docOffsetTop=g(c.node)}}}},{key:"_recalcPosition",value:function(){if(this._active&&!this._removed){var e=r.top<=this._limits.start?"start":r.top>=this._limits.end?"end":"middle";if(this._stickyMode!=e){switch(e){case"start":f(this._node.style,{position:"absolute",left:this._offsetToParent.left+"px",right:this._offsetToParent.right+"px",top:this._offsetToParent.top+"px",bottom:"auto",width:"auto",marginLeft:0,marginRight:0,marginTop:0});break;case"middle":f(this._node.style,{position:"fixed",left:this._offsetToWindow.left+"px",right:this._offsetToWindow.right+"px",top:this._styles.top,bottom:"auto",width:"auto",marginLeft:0,marginRight:0,marginTop:0});break;case"end":f(this._node.style,{position:"absolute",left:this._offsetToParent.left+"px",right:this._offsetToParent.right+"px",top:"auto",bottom:0,width:"auto",marginLeft:0,marginRight:0})}this._stickyMode=e}}}},{key:"_fastCheck",value:function(){this._active&&!this._removed&&(1<Math.abs(g(this._clone.node)-this._clone.docOffsetTop)||1<Math.abs(this._parent.node.offsetHeight-this._parent.offsetHeight))&&this.refresh()}},{key:"_deactivate",value:function(){var t=this;this._active&&!this._removed&&(this._clone.node.parentNode.removeChild(this._clone.node),delete this._clone,f(this._node.style,this._styles),delete this._styles,s.some(function(e){return e!==t&&e._parent&&e._parent.node===t._parent.node})||f(this._parent.node.style,this._parent.styles),delete this._parent,this._stickyMode=null,this._active=!1,delete this._offsetToWindow,delete this._offsetToParent,delete this._limits)}},{key:"remove",value:function(){var i=this;this._deactivate(),s.some(function(e,t){if(e._node===i._node)return s.splice(t,1),!0}),this._removed=!0}}]),i),a={stickies:s,Sticky:n,addOne:function(e){if(!(e instanceof HTMLElement)){if(!e.length||!e[0])return;e=e[0]}for(var t=0;t<s.length;t++)if(s[t]._node===e)return s[t];return new n(e)},add:function(e){if(e instanceof HTMLElement&&(e=[e]),e.length){for(var i=[],o=0;o<e.length;o++)!function(){var t=e[o];t instanceof HTMLElement?s.some(function(e){if(e._node===t)return i.push(e),!0})||i.push(new n(t)):i.push(void 0)}();return i}},refreshAll:function(){s.forEach(function(e){return e.refresh()})},removeOne:function(t){if(!(t instanceof HTMLElement)){if(!t.length||!t[0])return;t=t[0]}s.some(function(e){if(e._node===t)return e.remove(),!0})},remove:function(e){if(e instanceof HTMLElement&&(e=[e]),e.length)for(var i=0;i<e.length;i++)!function(){var t=e[i];s.some(function(e){if(e._node===t)return e.remove(),!0})}()},removeAll:function(){for(;s.length;)s[0].remove()}};function i(t){if(function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,i),!(t instanceof HTMLElement))throw new Error("First argument must be HTMLElement");if(s.some(function(e){return e._node===t}))throw new Error("Stickyfill is already applied to this node");this._node=t,this._stickyMode=null,this._active=!1,s.push(this),this.refresh()}m||function(){function e(){p.pageXOffset!=r.left?(r.top=p.pageYOffset,r.left=p.pageXOffset,a.refreshAll()):p.pageYOffset!=r.top&&(r.top=p.pageYOffset,r.left=p.pageXOffset,s.forEach(function(e){return e._recalcPosition()}))}function t(){i=setInterval(function(){s.forEach(function(e){return e._fastCheck()})},500)}e(),p.addEventListener("scroll",e),p.addEventListener("resize",a.refreshAll),p.addEventListener("orientationchange",a.refreshAll);var i=void 0,o=void 0,n=void 0;"hidden"in u?(o="hidden",n="visibilitychange"):"webkitHidden"in u&&(o="webkitHidden",n="webkitvisibilitychange"),n?(u[o]||t(),u.addEventListener(n,function(){u[o]?clearInterval(i):t()})):t()}(),"undefined"!=typeof module&&module.exports?module.exports=a:p.Stickyfill=a}(window,document),function(){"use strict";if("undefined"!=typeof window){var e=window.navigator.userAgent.match(/Edge\/(\d{2})\./),o=!!e&&16<=parseInt(e[1],10);if("objectFit"in document.documentElement.style!=0&&!o)return window.objectFitPolyfill=function(){return!1};var n=function(e,t,i){var o,n,r,s,a;if((i=i.split(" ")).length<2&&(i[1]=i[0]),"x"===e)o=i[0],n=i[1],r="left",s="right",a=t.clientWidth;else{if("y"!==e)return;o=i[1],n=i[0],r="top",s="bottom",a=t.clientHeight}return o===r||n===r?void(t.style[r]="0"):o===s||n===s?void(t.style[s]="0"):"center"===o||"50%"===o?(t.style[r]="50%",void(t.style["margin-"+r]=a/-2+"px")):0<=o.indexOf("%")?void((o=parseInt(o))<50?(t.style[r]=o+"%",t.style["margin-"+r]=a*(o/-100)+"px"):(o=100-o,t.style[s]=o+"%",t.style["margin-"+s]=a*(o/-100)+"px")):void(t.style[r]=o)},r=function(e){var t=e.dataset?e.dataset.objectFit:e.getAttribute("data-object-fit"),i=e.dataset?e.dataset.objectPosition:e.getAttribute("data-object-position");t=t||"cover",i=i||"50% 50%";var o=e.parentNode;(function(e){var t=window.getComputedStyle(e,null),i=t.getPropertyValue("position"),o=t.getPropertyValue("overflow"),n=t.getPropertyValue("display");i&&"static"!==i||(e.style.position="relative"),"hidden"!==o&&(e.style.overflow="hidden"),n&&"inline"!==n||(e.style.display="block"),0===e.clientHeight&&(e.style.height="100%"),-1===e.className.indexOf("object-fit-polyfill")&&(e.className=e.className+" object-fit-polyfill")})(o),function(e){var t=window.getComputedStyle(e,null),i={"max-width":"none","max-height":"none","min-width":"0px","min-height":"0px",top:"auto",right:"auto",bottom:"auto",left:"auto","margin-top":"0px","margin-right":"0px","margin-bottom":"0px","margin-left":"0px"};for(var o in i)t.getPropertyValue(o)!==i[o]&&(e.style[o]=i[o])}(e),e.style.position="absolute",e.style.height="100%",e.style.width="auto","scale-down"===t&&(e.style.height="auto",e.clientWidth<o.clientWidth&&e.clientHeight<o.clientHeight?(n("x",e,i),n("y",e,i)):(t="contain",e.style.height="100%")),"none"===t?(e.style.width="auto",e.style.height="auto",n("x",e,i),n("y",e,i)):"cover"===t&&e.clientWidth>o.clientWidth||"contain"===t&&e.clientWidth<o.clientWidth?(e.style.top="0",e.style.marginTop="0",n("x",e,i)):"scale-down"!==t&&(e.style.width="100%",e.style.height="auto",e.style.left="0",e.style.marginLeft="0",n("y",e,i))},t=function(e){if(void 0===e)e=document.querySelectorAll("[data-object-fit]");else if(e&&e.nodeName)e=[e];else{if("object"!=typeof e||!e.length||!e[0].nodeName)return!1;e=e}for(var t=0;t<e.length;t++)if(e[t].nodeName){var i=e[t].nodeName.toLowerCase();"img"!==i||o?"video"===i&&(0<e[t].readyState?r(e[t]):e[t].addEventListener("loadedmetadata",function(){r(this)})):e[t].complete?r(e[t]):e[t].addEventListener("load",function(){r(this)})}return!0};document.addEventListener("DOMContentLoaded",function(){t()}),window.addEventListener("resize",function(){t()}),window.objectFitPolyfill=t}}(),function(t,i){"function"==typeof define&&define.amd?define([],i()):"object"==typeof module&&module.exports?module.exports=i():function e(){document&&document.body?t.zenscroll=i():setTimeout(e,9)}()}(this,function(){"use strict";if(!1!==is_smooth_scroll()){var g=function(e){return e&&"getComputedStyle"in window&&"smooth"===window.getComputedStyle(e)["scroll-behavior"]};if("undefined"==typeof window||!("document"in window))return{};var o=function(l,i,d){var t;i=i||999,d||0===d||(d=9);function c(e){t=e}function p(){clearTimeout(t),c(0)}function u(e){return Math.max(0,l.getTopOf(e)-d)}function f(e,o,n){if(p(),0===o||o&&o<0||g(l.body))l.toY(e),n&&n();else{var r=l.getY(),s=Math.max(0,e)-r,a=(new Date).getTime();o=o||Math.min(Math.abs(s),i),function i(){c(setTimeout(function(){var e=Math.min(1,((new Date).getTime()-a)/o),t=Math.max(0,Math.floor(r+s*(e<.5?2*e*e:e*(4-2*e)-1)));l.toY(t),e<1&&l.getHeight()+t<l.body.scrollHeight?i():(setTimeout(p,99),n&&n())},9))}()}}function h(e,t,i){f(u(e),t,i)}return{setup:function(e,t){return 0!==e&&!e||(i=e),0!==t&&!t||(d=t),{defaultDuration:i,edgeOffset:d}},to:h,toY:f,intoView:function(e,t,i){var o=e.getBoundingClientRect().height,n=l.getTopOf(e)+o,r=l.getHeight(),s=l.getY(),a=s+r;u(e)<s||r<o+d?h(e,t,i):a<n+d?f(n-r+d,t,i):i&&i()},center:function(e,t,i,o){f(Math.max(0,l.getTopOf(e)-l.getHeight()/2+(i||e.getBoundingClientRect().height/2)),t,o)},stop:p,moving:function(){return!!t},getY:l.getY,getTopOf:l.getTopOf}},n=document.documentElement,t=function(){return window.scrollY||n.scrollTop},l=o({body:document.scrollingElement||document.body,toY:function(e){window.scrollTo(0,e)},getY:t,getHeight:function(){return window.innerHeight||n.clientHeight},getTopOf:function(e){return e.getBoundingClientRect().top+t()-n.offsetTop}});if(l.createScroller=function(t,e,i){return o({body:t,toY:function(e){t.scrollTop=e},getY:function(){return t.scrollTop},getHeight:function(){return Math.min(t.clientHeight,window.innerHeight||n.clientHeight)},getTopOf:function(e){return e.offsetTop}},e,i)},"addEventListener"in window&&!window.noZensmooth&&!g(document.body)){var d="history"in window&&"pushState"in history,c=d&&"scrollRestoration"in history;c&&(history.scrollRestoration="auto"),window.addEventListener("load",function(){c&&(setTimeout(function(){history.scrollRestoration="manual"},9),window.addEventListener("popstate",function(e){e.state&&"zenscrollY"in e.state&&l.toY(e.state.zenscrollY)},!1)),window.location.hash&&setTimeout(function(){var e=l.setup().edgeOffset;if(e){var t=document.getElementById(window.location.href.split("#")[1]);if(t){var i=Math.max(0,l.getTopOf(t)-e),o=l.getY()-i;0<=o&&o<9&&window.scrollTo(0,i)}}},9)},!1);var p=new RegExp("(^|\\s)noZensmooth(\\s|$)");window.addEventListener("click",function(e){for(var t=e.target;t&&"A"!==t.tagName;)t=t.parentNode;if(!(!t||1!==e.which||e.shiftKey||e.metaKey||e.ctrlKey||e.altKey)){if(c){var i=history.state&&"object"==typeof history.state?history.state:{};i.zenscrollY=l.getY();try{history.replaceState(i,"")}catch(e){}}var o=t.getAttribute("href")||"";if(0===o.indexOf("#")&&!p.test(t.className)){var n=0,r=document.getElementById(o.substring(1));if("#"!==o){if(!r)return;n=l.getTopOf(r)}e.preventDefault();var s=function(){window.location=o},a=l.setup().edgeOffset;a&&(n=Math.max(0,n-a),d&&(s=function(){history.pushState({},"",o)})),l.toY(n,null,s)}}},!1)}return l}});var jupiterx={components:{},utils:{}};jupiterx.components.Base=Class.extend({setElements:function(){this.elements={};var e=jQuery;this.elements.window=window,this.elements.$window=e(window),this.elements.$document=e(document),this.elements.$body=e("body"),this.elements.$site=e(".jupiterx-site")},setSettings:function(){this.settings={},this.settings.windowWidth=this.elements.$window.outerWidth()},bindEvents:function(){},init:function(){this.setElements(),this.setSettings(),this.bindEvents()}}),window.jupiterx=jupiterx,function(r){var e=window.jupiterx||{};e.utils=function(){this.resize=function(){var t=e.pubsub;r(window).on("resize",_.throttle(function(){var e=r(this).outerWidth();t.publish("resize",e)},150))},this.scroll=function(){var t=e.pubsub,i=r("[data-jupiterx-scroll]"),o=_.defaults(i.data("jupiterxScroll")||{},{offset:1e3});r(window).on("scroll",_.throttle(function(){var e=r(this).scrollTop();if(t.publish("scroll",e),!(_.size(i)<1))return e>o.offset?i.addClass("jupiterx-scrolled"):void i.removeClass("jupiterx-scrolled")},100))},this.scrollSmooth=function(){r(document).on("click","[data-jupiterx-scroll-target]",function(e){var t=r(this).data("jupiterxScrollTarget"),i="smooth";e.preventDefault(),!1===is_smooth_scroll()&&(i="auto"),_.isNumber(t)?window.scrollTo({top:t,left:0,behavior:i}):window.scrollTo({top:r(t).offset().top,left:0,behavior:i})})},this.scrollDirection=function(){var e=this.pubsub,t=r("[data-jupiterx-scroll-direction]"),i=updwn({speed:50});i.up(function(){e.publish("scroll-up"),_.size(t)<1||(t.addClass("jupiterx-scroll-up"),t.removeClass("jupiterx-scroll-down"))}),i.down(function(){e.publish("scroll-down"),_.size(t)<1||(t.addClass("jupiterx-scroll-down"),t.removeClass("jupiterx-scroll-up"))})},this.alterClass=function(e,t,i){var o=e;if(-1===t.indexOf("*"))return o.removeClass(t),i?o.addClass(i):o;var n=new RegExp("\\s"+t.replace(/\*/g,"[A-Za-z0-9-_]+").split(" ").join("\\s|\\s")+"\\s","g");return o.each(function(e,t){for(var i=" "+t.className+" ";n.test(i);)i=i.replace(n," ");t.className=r.trim(i)}),i?o.addClass(i):o},this.onMobile=function(){return jQuery(window).width()<=575.98},this.onTablet=function(){var e=jQuery(window).width();return 575.98<e&&e<=767.98},this.onDesktop=function(){return 767.98<jQuery(window).width()},this.init=function(){this.resize(),this.scroll(),this.scrollSmooth()},this.init()}}(jQuery),function(a){var e=window.jupiterx||{};e.components.Header=e.components.Base.extend({setElements:function(){this._super();var e=this.elements;e.header=".jupiterx-header",e.$header=a(e.header),e.$navbar=e.$header.find(".navbar-nav"),e.$collapseMenu=e.$header.find(".navbar-collapse"),e.$dropdownToggler=e.$navbar.find(".dropdown-toggle-icon"),e.$window=a(window),e.$inPageMenuItems=e.$navbar.find('a[href^="#"]')},setSettings:function(){this._super();var e=this.settings,t=this.elements.$header.data("jupiterxSettings");e.breakpoint=t.breakpoint,e.template=t.template,e.stickyTemplate=t.stickyTemplate,e.behavior=t.behavior,e.position=t.position||"top",e.offset=parseInt(t.offset)+this.tbarHeight(),e.overlap=t.overlap,e.headerHeight=this.elements.$header.height()},bindEvents:function(){var t=this,i=this.elements,o=this.settings;t.focusToggler(),t.blurToggler(),t.setBehavior(),t.mobileMenuScroll(),i.$dropdownToggler.on("click",function(e){t.initNavbarDropdown(e),t.setHeight()}),e.pubsub.subscribe("resize",function(e){t.setBehavior(),t.setHeight(),e>o.breakpoint&&i.$navbar.find(".dropdown-menu").removeClass("show")}),e.pubsub.subscribe("scroll",function(e){t.setBehaviorSticky(e)}),t.responsiveMenuAutoClose(),a(document).on("click","a.jupiterx-smooth-scroll, .jupiterx-smooth-scroll a",function(e){t.handleSmoothScrollElements(e,a(this))})},lastItemDepth:function(e,t){var i=e;if($li=t.find("> li:last-child"),$li.hasClass("dropdown"))i=i<(o=this.lastItemDepth(e+1,$li.find(".dropdown-menu")))?o:i;else if(t.hasClass("dropdown-menu")){var o;i=i<(o=e+1)?o:i}return i},lastItemDepths:function(e){for(var t=[],i=0;i<e.find("> li").length;i++)$li=e.find("> li:nth-of-type("+(i+1)+")"),$li.hasClass("dropdown")?t[i]=this.lastItemDepth(1,$li.find(".dropdown-menu")):t[i]=1;return t},focusToggler:function(){a(".jupiterx-site-navbar").find("a").on("focus",function(){a(".dropdown.hover, ul.dropdown-menu.hover").removeClass("hover show"),a(this).parents("ul, li").addClass("hover show focus"),a(this).next("ul.dropdown-menu").addClass("hover show focus")})},blurToggler:function(){var n=this;a(".jupiterx-nav-primary").find("a").on("blur",function(){for(var e=a(this),t=n.lastItemDepths(a(".jupiterx-nav-primary")),i=0,o=!0;!e.hasClass("jupiterx-nav-primary");)"li"===e.prop("tagName").toLowerCase()&&(o=o&&-1===e.next().index(),i++,e.parent().hasClass("jupiterx-nav-primary")&&i===t[e.index()]&&o&&a(".dropdown.hover, ul.dropdown-menu.hover").removeClass("hover show")),e=e.parent()})},responsiveMenuAutoClose:function(){var e=this.elements.$collapseMenu,t=e.find('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])'),i=t[t.length-1];a(i).on("blur",function(){e.removeClass("show")})},setHeight:function(){var e=this.elements.$header.find(".navbar-collapse");if(e.length){var t=this.elements.$navbar;e.css("max-height",document.documentElement.clientHeight-e.offset().top+window.pageYOffset-parseInt(t.css("margin-top")))}},mobileMenuScroll:function(){for(var i=document.getElementsByClassName("navbar-collapse"),o=null,n=0;n<i.length;n++)i[n].addEventListener("touchstart",function(e){1===e.targetTouches.length&&(o=e.targetTouches[0].clientY)},{capture:!1,passive:!0}),i[n].addEventListener("touchmove",function(e){if(1===e.targetTouches.length){var t=e.targetTouches[0].clientY-o;0===i[n].scrollTop&&0<t&&e.cancelable&&e.preventDefault(),i[n].scrollHeight-i[n].scrollTop<=i[n].clientHeight&&t<0&&e.cancelable&&e.preventDefault()}},{capture:!1,passive:!0})},setBehavior:function(){this.setBehaviorFixed(),this.setBehaviorSticky()},setBehaviorFixed:function(){"fixed"===this.settings.behavior&&this.setSiteSpacing()},setBehaviorSticky:function(e){var t=this.elements,i=this.settings;if(!(0<t.$body.find(".jupiterx-header").find(".raven-sticky").length)&&"sticky"===i.behavior&&void 0!==e){if(e>i.headerHeight){t.$body.addClass("jupiterx-header-stick"),this.setSiteSpacing();var o=a(".jupiterx-header.jupiterx-header-sticky-custom.jupiterx-header-custom > .elementor:last-of-type:not(:first-of-type)");o.length&&0<o.height()&&t.$header.height(o.height())}else t.$body.removeClass("jupiterx-header-stick"),this.clearSiteSpacing(),t.$header.attr("style",function(e,t){return t&&t.replace(/height[^;]+;?/g,"")});e>i.offset?t.$body.addClass("jupiterx-header-sticked"):t.$body.removeClass("jupiterx-header-sticked")}},setSiteSpacing:function(){var e=this.elements,t=this.settings;if(this.isOverlap()){if(this.clearSiteSpacing(),"fixed"===t.behavior&&0<a(".jupiterx-tbar").length){var i=window.jupiterx.utils.onMobile()?"":this.tbarHeight()||"";i-=this.getJetScrollNavSectionOffset(),e.$site.css("padding-top",i)}}else{var o=e.$header;if("fixed"===t.behavior&&"bottom"===t.position)e.$site.css("padding-"+t.position,o.outerHeight());else if("sticky"===t.behavior){var n=0,r=a(".jupiterx-header.jupiterx-header-sticky-custom.jupiterx-header-custom > .elementor:first-of-type:not(:last-of-type)");n=r.length?r.outerHeight():o.outerHeight(),e.$site.css("padding-"+t.position,n)}else e.$header.css("position","fixed"),e.$site.css("padding-"+t.position,o.outerHeight()+this.tbarHeight())}},getJetScrollNavSectionOffset:function(){if($jetScroll=a(".jet-scroll-navigation"),0===$jetScroll.length)return 0;var e=$jetScroll.find(".jet-scroll-navigation__item");if(0===e.length)return 0;var t=e.data("anchor");return t&&0!==a("#"+t).length?a("#"+t).offset().top:0},clearSiteSpacing:function(){this.elements.$site.css("padding-"+this.settings.position,"")},isOverlap:function(){var e=this.elements.$window.outerWidth(),t=this.settings.overlap;if(!t)return!1;var i=768<e&&-1<t.indexOf("desktop"),o=e<767.98&&576<e&&-1<t.indexOf("tablet"),n=e<575.98&&-1<t.indexOf("mobile");return i||o||n},initNavbarDropdown:function(e){if(e.preventDefault(),e.stopPropagation(),!(this.elements.$window.outerWidth()>this.settings.breakpoint))return a(e.target).closest(".menu-item").hasClass("focus")?(a(e.target).closest(".menu-item").removeClass("focus"),void a(e.target).closest(".menu-item").find("> .dropdown-menu").removeClass("focus")):void a(e.target).closest(".menu-item").find("> .dropdown-menu").toggleClass("show")},inPageMenuClick:function(){var n,r=this,s=this.getHeaderSettings();this.elements.$navbar.on("click",function(e){n=e.target.getAttribute("href")||"";var t=null;try{t=new window.URL(a(e.target).prop("href")),a(e.target).parents("li").addClass("active")}catch(e){return}if((t.href.replace(t.hash,"")===window.location.href.replace(window.location.hash,"")||-1!==n.search(/^#/))&&-1!==t.hash.search(/^#/)){n=t.hash,e.preventDefault();var i=a(n);if(0===i.length)return a("#jupiterxSiteNavbar").hasClass("show")&&r.isBelowDesktop()&&a("#jupiterxSiteNavbar").collapse("hide"),void window.history.pushState(null,null,t.hash);var o=i.offset().top;if(o-=r.getAdminbarHeight(),o-=r.getBodyBorderWidth(),s&&"sticky"===s.behavior&&s.overlap?o-=r.isHeaderSticked()?r.tbarHeight():2*r.tbarHeight():s&&!s.behavior?o-=r.isHeaderSticked()?r.tbarHeight():2*r.tbarHeight():o-=r.tbarHeight(),(s&&"fixed"===s.behavior&&"top"===s.position||s&&"sticky"===s.behavior)&&(o-=r.getHeaderHeight()),!1!==is_smooth_scroll())return a("html, body").stop().animate({scrollTop:o},500,"swing",function(){a("#jupiterxSiteNavbar").hasClass("show")&&r.isBelowDesktop()&&a("#jupiterxSiteNavbar").collapse("hide"),window.history.pushState(null,null,t.hash)}),!1;window.scroll({top:o,behavior:"auto"})}})},inPageMenuScroll:function(){var e=this;e.elements.$inPageMenuItems.length&&(e.activateMenuItem(),window.addEventListener("scroll",_.throttle(function(){e.activateMenuItem()},200)))},activateMenuItem:function(){var i,o,n=this,r=window.pageYOffset;n.elements.$inPageMenuItems.each(function(e,t){return t.hash<1||(!(o=document.querySelector('[id="'+t.hash.replace("#","")+'"]'))||(Math.abs(a(o).offset().top+a(o).outerHeight()-a(document).height())<10&&Math.abs(a(window).scrollTop()+window.innerHeight-a(document).height())<10?(i=t.hash,!1):r+10>=a(o).offset().top-n.getHeaderHeight()-n.getAdminbarHeight()?(i=t.hash,!0):void 0))}),n.elements.$inPageMenuItems.removeClass("active"),n.elements.$navbar.find('a[href="'+i+'"]').addClass("active")},getHeaderHeight:function(){var e=a(".jupiterx-header");if(0===e.length)return 0;var t=e.data("jupiterx-settings").behavior;return"fixed"===t||"sticky"===t||window.pageYOffset<e.height()?e.height():0},hasCustomStickyHeader:function(){if(0===a(".jupiterx-header.jupiterx-header-custom").length)return!1;var e=this.getHeaderSettings();return!!e&&(!(!e.behavior||"sticky"!==e.behavior)&&(!e.stickyTemplate||e.stickyTemplate!==e.template))},getHeaderSettings:function(){return a(".jupiterx-header").data("jupiterx-settings")},getCustomStickyHeaderHeight:function(){if(!this.hasCustomStickyHeader())return 0;var e=a(".jupiterx-header-custom .elementor:last-of-type");return 0===e.length?0:e.outerHeight()},getBodyBorderWidth:function(){var e=a(".jupiterx-site-body-border");if(0===e.length)return 0;var t=e.css("border-width");return t?parseInt(t.replace("px","")):0},getAdminbarHeight:function(){var e=a("#wpadminbar");return e.length?e.height():0},tbarHeight:function(){var e=a(".jupiterx-tbar");return"none"===e.css("display")?0:e.length?e.outerHeight():0},isBelowDesktop:function(){return window.jupiterx.utils.onMobile()||window.jupiterx.utils.onTablet()},handlePageLoadScroll:function(){var i=this,o=this.getHeaderSettings();a(document).ready(function(){if(!(window.jupiterx.utils.onMobile()&&a("body").hasClass("jupiterx-header-mobile-behavior-off")||window.jupiterx.utils.onTablet()&&a("body").hasClass("jupiterx-header-tablet-behavior-off"))){var e=a(window.location.hash);if(0!==e.length){var t=e.offset().top;t-=i.getAdminbarHeight(),t-=i.getBodyBorderWidth(),o&&"sticky"===o.behavior&&o.overlap?t-=i.isHeaderSticked()?i.tbarHeight():2*i.tbarHeight():o&&!o.behavior?t-=i.isTbarFixed()?i.tbarHeight():2*i.tbarHeight():t-=i.tbarHeight(),i.hasCustomStickyHeader()?t-=i.getCustomStickyHeaderHeight():(o&&"fixed"===o.behavior&&"top"===o.position||o&&"sticky"===o.behavior)&&(t-=i.getHeaderHeight()),a("#jupiterxSiteNavbar").find("a").each(function(e,t){window.location.hash=="#"+a(t).attr("href").split("#")[1]&&(a(t).addClass("active"),a(t).parent().addClass("active"))}),!1!==is_smooth_scroll()?a("html, body").stop().animate({scrollTop:t},500,"swing"):window.scroll({top:t,behavior:"auto"})}}})},handleSmoothScrollElements:function(e,t){var i=this,o=i.getHeaderSettings(),n=t.attr("href")||"",r=null;try{r=new window.URL(t.prop("href"))}catch(e){return}if((r.href.replace(r.hash,"")===window.location.href.replace(window.location.hash,"")||-1!==n.search(/^#/))&&-1!==r.hash.search(/^#/)){n=r.hash,e.preventDefault();var s=a(n).offset().top;return s-=i.getAdminbarHeight(),s-=i.getBodyBorderWidth(),o&&"sticky"===o.behavior&&o.overlap?s-=i.isHeaderSticked()?i.tbarHeight():2*i.tbarHeight():o&&!o.behavior?s-=i.isHeaderSticked()?i.tbarHeight():2*i.tbarHeight():s-=i.tbarHeight(),i.hasCustomStickyHeader()?s-=i.getCustomStickyHeaderHeight():(o&&"fixed"===o.behavior&&"top"===o.position||o&&"sticky"===o.behavior)&&(s-=i.getHeaderHeight()),window.elementorFrontend&&window.elementorFrontend.hooks.addFilter("frontend/handlers/menu_anchor/scroll_top_distance",function(){return s}),a("html, body").stop().animate({scrollTop:s},500,"swing",function(){window.history.pushState(null,null,r.hash)}),!1}},isHeaderSticked:function(){return 0<a(".jupiterx-header-sticked").length},isTbarFixed:function(){return"fixed"===a(".jupiterx-tbar").css("position")},init:function(){this.handlePageLoadScroll(),this.setElements(),this.elements.$header.length&&(this.setSettings(),this.bindEvents(),this.inPageMenuClick(),this.inPageMenuScroll())}})}(jQuery),jQuery(document).ready(function(t){var e=t(".jupiterx-widget.widget_nav_menu").find(".current_page_item, .current-cat");e.length&&e.parents(".sub-menu, .children").slideToggle().parents(".menu-item-has-children, .cat-parent").toggleClass("jupiterx-icon-plus jupiterx-icon-minus"),t(document).on("click",".jupiterx-widget .menu-item-has-children, .jupiterx-widget .cat-parent",function(e){e.stopPropagation(),"A"!==e.target.nodeName&&t(this).toggleClass("jupiterx-icon-plus jupiterx-icon-minus").find("> ul").slideToggle()})}),jQuery(document).ready(function(n){n(".jupiterx-footer-fixed").each(function(e,t){var i,o=n(t);i=n("<span></span>",{class:"jupiterx-footer-dummy"}),o.after(i),n(window).resize(function(){i&&i.height(o.outerHeight())}),i.height(o.outerHeight())}),n("body").is(".elementor-editor-active.jupiterx-header-overlapped")&&n("header.jupiterx-header").length&&(n("body").prepend('<div class="jupiterx-toggle-overlapped"><i class="jupiterx-icon-eye-slash" ></i><span>Hide Header</span></div>'),n(".jupiterx-header-overlapped header").addClass("jupiterx-disableable-overlapped"),n(".jupiterx-toggle-overlapped").on("click",function(){var e=n(this).find("span"),t=n(this).find("i");n(".jupiterx-header-overlapped header").toggle(),t.hasClass("jupiterx-icon-eye-slash")?(e.text("Show Header"),t.removeClass("jupiterx-icon-eye-slash").addClass("jupiterx-icon-eye-regular")):(e.text("Hide Header"),t.removeClass("jupiterx-icon-eye-regular").addClass("jupiterx-icon-eye-slash"))}))}),jQuery(document).ready(function(){var e=window.jupiterx||{};e.initComponents=function(){for(component in this.components)new this.components[component]},e.init=function(){this.pubsub=new PubSub,this.pubsub.publish("init"),this.utils=new this.utils,this.initComponents()},e.init()}),void 0!==window.jQuery&&($=window.jQuery),function(e){if(void 0===e)throw new TypeError("Bootstrap's JavaScript requires jQuery. jQuery must be included before Bootstrap's JavaScript.");var t=e.fn.jquery.split(" ")[0].split(".");if(t[0]<2&&t[1]<9||1===t[0]&&9===t[1]&&t[2]<1||4<=t[0])throw new Error("Bootstrap's JavaScript requires at least jQuery v1.9.1 but less than v4.0.0")}($);var Util=function(o){var t="transitionend";function e(e){var t=this,i=!1;return o(this).one(l.TRANSITION_END,function(){i=!0}),setTimeout(function(){i||l.triggerTransitionEnd(t)},e),this}var l={TRANSITION_END:"bsTransitionEnd",getUID:function(e){for(;e+=~~(1e6*Math.random()),document.getElementById(e););return e},getSelectorFromElement:function(e){var t=e.getAttribute("data-target");t&&"#"!==t||(t=e.getAttribute("href")||"");try{return 0<o(document).find(t).length?t:null}catch(e){return null}},getTransitionDurationFromElement:function(e){if(!e)return 0;var t=o(e).css("transition-duration");return parseFloat(t)?(t=t.split(",")[0],1e3*parseFloat(t)):0},reflow:function(e){return e.offsetHeight},triggerTransitionEnd:function(e){o(e).trigger(t)},supportsTransitionEnd:function(){return Boolean(t)},isElement:function(e){return(e[0]||e).nodeType},typeCheckConfig:function(e,t,i){for(var o in i)if(Object.prototype.hasOwnProperty.call(i,o)){var n=i[o],r=t[o],s=r&&l.isElement(r)?"element":(a=r,{}.toString.call(a).match(/\s([a-z]+)/i)[1].toLowerCase());if(!new RegExp(n).test(s))throw new Error(e.toUpperCase()+': Option "'+o+'" provided type "'+s+'" but expected type "'+n+'".')}var a}};return o.fn.emulateTransitionEnd=e,o.event.special[l.TRANSITION_END]={bindType:t,delegateType:t,handle:function(e){if(o(e.target).is(this))return e.handleObj.handler.apply(this,arguments)}},l}($);function _objectSpread(t){for(var e=1;e<arguments.length;e++){var i=null!=arguments[e]?arguments[e]:{},o=Object.keys(i);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(i).filter(function(e){return Object.getOwnPropertyDescriptor(i,e).enumerable}))),o.forEach(function(e){_defineProperty(t,e,i[e])})}return t}function _defineProperty(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function _defineProperties(e,t){for(var i=0;i<t.length;i++){var o=t[i];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}function _createClass(e,t,i){return t&&_defineProperties(e.prototype,t),i&&_defineProperties(e,i),e}!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):e.Popper=t()}(this,function(){"use strict";for(var e="undefined"!=typeof window&&"undefined"!=typeof document,t=["Edge","Trident","Firefox"],i=0,o=0;o<t.length;o+=1)if(e&&0<=navigator.userAgent.indexOf(t[o])){i=1;break}var r=e&&window.Promise?function(e){var t=!1;return function(){t||(t=!0,window.Promise.resolve().then(function(){t=!1,e()}))}}:function(e){var t=!1;return function(){t||(t=!0,setTimeout(function(){t=!1,e()},i))}};function s(e){return e&&"[object Function]"==={}.toString.call(e)}function b(e,t){if(1!==e.nodeType)return[];var i=getComputedStyle(e,null);return t?i[t]:i}function f(e){return"HTML"===e.nodeName?e:e.parentNode||e.host}function g(e){if(!e)return document.body;switch(e.nodeName){case"HTML":case"BODY":return e.ownerDocument.body;case"#document":return e.body}var t=b(e),i=t.overflow,o=t.overflowX,n=t.overflowY;return/(auto|scroll|overlay)/.test(i+n+o)?e:g(f(e))}var n=e&&!(!window.MSInputMethodContext||!document.documentMode),a=e&&/MSIE 10/.test(navigator.userAgent);function m(e){return 11===e?n:10===e?a:n||a}function w(e){if(!e)return document.documentElement;for(var t=m(10)?document.body:null,i=e.offsetParent;i===t&&e.nextElementSibling;)i=(e=e.nextElementSibling).offsetParent;var o=i&&i.nodeName;return o&&"BODY"!==o&&"HTML"!==o?-1!==["TD","TABLE"].indexOf(i.nodeName)&&"static"===b(i,"position")?w(i):i:e?e.ownerDocument.documentElement:document.documentElement}function l(e){return null!==e.parentNode?l(e.parentNode):e}function h(e,t){if(!(e&&e.nodeType&&t&&t.nodeType))return document.documentElement;var i=e.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_FOLLOWING,o=i?e:t,n=i?t:e,r=document.createRange();r.setStart(o,0),r.setEnd(n,0);var s=r.commonAncestorContainer;if(e!==s&&t!==s||o.contains(n))return function(e){var t=e.nodeName;return"BODY"!==t&&("HTML"===t||w(e.firstElementChild)===e)}(s)?s:w(s);var a=l(e);return a.host?h(a.host,t):h(e,l(t).host)}function v(e,t){var i="top"===(1<arguments.length&&void 0!==t?t:"top")?"scrollTop":"scrollLeft",o=e.nodeName;if("BODY"!==o&&"HTML"!==o)return e[i];var n=e.ownerDocument.documentElement;return(e.ownerDocument.scrollingElement||n)[i]}function p(e,t){var i="x"===t?"Left":"Top",o="Left"==i?"Right":"Bottom";return parseFloat(e["border"+i+"Width"],10)+parseFloat(e["border"+o+"Width"],10)}function d(e,t,i,o){return Math.max(t["offset"+e],t["scroll"+e],i["client"+e],i["offset"+e],i["scroll"+e],m(10)?i["offset"+e]+o["margin"+("Height"===e?"Top":"Left")]+o["margin"+("Height"===e?"Bottom":"Right")]:0)}function y(){var e=document.body,t=document.documentElement,i=m(10)&&getComputedStyle(t);return{height:d("Height",e,t,i),width:d("Width",e,t,i)}}var c=function(e,t,i){return t&&u(e.prototype,t),i&&u(e,i),e};function u(e,t){for(var i=0;i<t.length;i++){var o=t[i];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}function k(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}var x=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var i=arguments[t];for(var o in i)Object.prototype.hasOwnProperty.call(i,o)&&(e[o]=i[o])}return e};function T(e){return x({},e,{right:e.left+e.width,bottom:e.top+e.height})}function C(e){var t={};try{if(m(10)){t=e.getBoundingClientRect();var i=v(e,"top"),o=v(e,"left");t.top+=i,t.left+=o,t.bottom+=i,t.right+=o}else t=e.getBoundingClientRect()}catch(e){}var n={left:t.left,top:t.top,width:t.right-t.left,height:t.bottom-t.top},r="HTML"===e.nodeName?y():{},s=r.width||e.clientWidth||n.right-n.left,a=r.height||e.clientHeight||n.bottom-n.top,l=e.offsetWidth-s,d=e.offsetHeight-a;if(l||d){var c=b(e);l-=p(c,"x"),d-=p(c,"y"),n.width-=l,n.height-=d}return T(n)}function S(e,t,i){var o=2<arguments.length&&void 0!==i&&i,n=m(10),r="HTML"===t.nodeName,s=C(e),a=C(t),l=g(e),d=b(t),c=parseFloat(d.borderTopWidth,10),p=parseFloat(d.borderLeftWidth,10);o&&"HTML"===t.nodeName&&(a.top=Math.max(a.top,0),a.left=Math.max(a.left,0));var u=T({top:s.top-a.top-c,left:s.left-a.left-p,width:s.width,height:s.height});if(u.marginTop=0,u.marginLeft=0,!n&&r){var f=parseFloat(d.marginTop,10),h=parseFloat(d.marginLeft,10);u.top-=c-f,u.bottom-=c-f,u.left-=p-h,u.right-=p-h,u.marginTop=f,u.marginLeft=h}return(n&&!o?t.contains(l):t===l&&"BODY"!==l.nodeName)&&(u=function(e,t,i){var o=2<arguments.length&&void 0!==i&&i,n=v(t,"top"),r=v(t,"left"),s=o?-1:1;return e.top+=n*s,e.bottom+=n*s,e.left+=r*s,e.right+=r*s,e}(u,t)),u}function _(e){if(!e||!e.parentElement||m())return document.documentElement;for(var t=e.parentElement;t&&"none"===b(t,"transform");)t=t.parentElement;return t||document.documentElement}function $(e,t,i,o,n){var r=4<arguments.length&&void 0!==n&&n,s={top:0,left:0},a=r?_(e):h(e,t);if("viewport"===o)s=function(e,t){var i=1<arguments.length&&void 0!==t&&t,o=e.ownerDocument.documentElement,n=S(e,o),r=Math.max(o.clientWidth,window.innerWidth||0),s=Math.max(o.clientHeight,window.innerHeight||0),a=i?0:v(o),l=i?0:v(o,"left");return T({top:a-n.top+n.marginTop,left:l-n.left+n.marginLeft,width:r,height:s})}(a,r);else{var l=void 0;"scrollParent"===o?"BODY"===(l=g(f(t))).nodeName&&(l=e.ownerDocument.documentElement):l="window"===o?e.ownerDocument.documentElement:o;var d=S(l,a,r);if("HTML"!==l.nodeName||function e(t){var i=t.nodeName;return"BODY"!==i&&"HTML"!==i&&("fixed"===b(t,"position")||e(f(t)))}(a))s=d;else{var c=y(),p=c.height,u=c.width;s.top+=d.top-d.marginTop,s.bottom=p+d.top,s.left+=d.left-d.marginLeft,s.right=u+d.left}}return s.left+=i,s.top+=i,s.right-=i,s.bottom-=i,s}function j(e,t,o,i,n,r){var s=5<arguments.length&&void 0!==r?r:0;if(-1===e.indexOf("auto"))return e;var a=$(o,i,s,n),l={top:{width:a.width,height:t.top-a.top},right:{width:a.right-t.right,height:a.height},bottom:{width:a.width,height:a.bottom-t.bottom},left:{width:t.left-a.left,height:a.height}},d=Object.keys(l).map(function(e){return x({key:e},l[e],{area:function(e){return e.width*e.height}(l[e])})}).sort(function(e,t){return t.area-e.area}),c=d.filter(function(e){var t=e.width,i=e.height;return t>=o.clientWidth&&i>=o.clientHeight}),p=0<c.length?c[0].key:d[0].key,u=e.split("-")[1];return p+(u?"-"+u:"")}function O(e,t,i,o){var n=3<arguments.length&&void 0!==o?o:null;return S(i,n?_(t):h(t,i),n)}function E(e){var t=getComputedStyle(e),i=parseFloat(t.marginTop)+parseFloat(t.marginBottom),o=parseFloat(t.marginLeft)+parseFloat(t.marginRight);return{width:e.offsetWidth+o,height:e.offsetHeight+i}}function A(e){var t={left:"right",right:"left",bottom:"top",top:"bottom"};return e.replace(/left|right|bottom|top/g,function(e){return t[e]})}function H(e,t,i){i=i.split("-")[0];var o=E(e),n={width:o.width,height:o.height},r=-1!==["right","left"].indexOf(i),s=r?"top":"left",a=r?"left":"top",l=r?"height":"width",d=r?"width":"height";return n[s]=t[s]+t[l]/2-o[l]/2,n[a]=i===a?t[a]-o[d]:t[A(a)],n}function P(e,t){return Array.prototype.find?e.find(t):e.filter(t)[0]}function D(e,i,t){return(void 0===t?e:e.slice(0,function(e,t,i){if(Array.prototype.findIndex)return e.findIndex(function(e){return e[t]===i});var o=P(e,function(e){return e[t]===i});return e.indexOf(o)}(e,"name",t))).forEach(function(e){e.function&&console.warn("`modifier.function` is deprecated, use `modifier.fn`!");var t=e.function||e.fn;e.enabled&&s(t)&&(i.offsets.popper=T(i.offsets.popper),i.offsets.reference=T(i.offsets.reference),i=t(i,e))}),i}function M(e,i){return e.some(function(e){var t=e.name;return e.enabled&&t===i})}function L(e){for(var t=[!1,"ms","Webkit","Moz","O"],i=e.charAt(0).toUpperCase()+e.slice(1),o=0;o<t.length;o++){var n=t[o],r=n?""+n+i:e;if(void 0!==document.body.style[r])return r}return null}function I(e){var t=e.ownerDocument;return t?t.defaultView:window}function N(e,t,i,o){i.updateBound=o,I(e).addEventListener("resize",i.updateBound,{passive:!0});var n=g(e);return function e(t,i,o,n){var r="BODY"===t.nodeName,s=r?t.ownerDocument.defaultView:t;s.addEventListener(i,o,{passive:!0}),r||e(g(s.parentNode),i,o,n),n.push(s)}(n,"scroll",i.updateBound,i.scrollParents),i.scrollElement=n,i.eventsEnabled=!0,i}function F(){this.state.eventsEnabled&&(cancelAnimationFrame(this.scheduleUpdate),this.state=function(e,t){return I(e).removeEventListener("resize",t.updateBound),t.scrollParents.forEach(function(e){e.removeEventListener("scroll",t.updateBound)}),t.updateBound=null,t.scrollParents=[],t.scrollElement=null,t.eventsEnabled=!1,t}(this.reference,this.state))}function z(e){return""!==e&&!isNaN(parseFloat(e))&&isFinite(e)}function W(i,o){Object.keys(o).forEach(function(e){var t="";-1!==["width","height","top","right","bottom","left"].indexOf(e)&&z(o[e])&&(t="px"),i.style[e]=o[e]+t})}function B(e,t,i){var o=P(e,function(e){return e.name===t}),n=!!o&&e.some(function(e){return e.name===i&&e.enabled&&e.order<o.order});if(!n){var r="`"+t+"`",s="`"+i+"`";console.warn(s+" modifier is required by "+r+" modifier in order to work, be sure to include it before "+r+"!")}return n}var q=["auto-start","auto","auto-end","top-start","top","top-end","right-start","right","right-end","bottom-end","bottom","bottom-start","left-end","left","left-start"],R=q.slice(3);function Y(e,t){var i=1<arguments.length&&void 0!==t&&t,o=R.indexOf(e),n=R.slice(o+1).concat(R.slice(0,o));return i?n.reverse():n}var U="flip",Q="clockwise",V="counterclockwise";function X(e,n,r,t){var s=[0,0],a=-1!==["right","left"].indexOf(t),i=e.split(/(\+|\-)/).map(function(e){return e.trim()}),o=i.indexOf(P(i,function(e){return-1!==e.search(/,|\s/)}));i[o]&&-1===i[o].indexOf(",")&&console.warn("Offsets separated by white space(s) are deprecated, use a comma (,) instead.");var l=/\s*,\s*|\s+/,d=-1!==o?[i.slice(0,o).concat([i[o].split(l)[0]]),[i[o].split(l)[1]].concat(i.slice(o+1))]:[i];return(d=d.map(function(e,t){var i=(1===t?!a:a)?"height":"width",o=!1;return e.reduce(function(e,t){return""===e[e.length-1]&&-1!==["+","-"].indexOf(t)?(e[e.length-1]=t,o=!0,e):o?(e[e.length-1]+=t,o=!1,e):e.concat(t)},[]).map(function(e){return function(e,t,i,o){var n=e.match(/((?:\-|\+)?\d*\.?\d*)(.*)/),r=+n[1],s=n[2];if(!r)return e;if(0!==s.indexOf("%"))return"vh"!==s&&"vw"!==s?r:("vh"===s?Math.max(document.documentElement.clientHeight,window.innerHeight||0):Math.max(document.documentElement.clientWidth,window.innerWidth||0))/100*r;var a=void 0;switch(s){case"%p":a=i;break;case"%":case"%r":default:a=o}return T(a)[t]/100*r}(e,i,n,r)})})).forEach(function(i,o){i.forEach(function(e,t){z(e)&&(s[o]+=e*("-"===i[t-1]?-1:1))})}),s}var K={placement:"bottom",positionFixed:!1,eventsEnabled:!0,removeOnDestroy:!1,onCreate:function(){},onUpdate:function(){},modifiers:{shift:{order:100,enabled:!0,fn:function(e){var t=e.placement,i=t.split("-")[0],o=t.split("-")[1];if(o){var n=e.offsets,r=n.reference,s=n.popper,a=-1!==["bottom","top"].indexOf(i),l=a?"left":"top",d=a?"width":"height",c={start:k({},l,r[l]),end:k({},l,r[l]+r[d]-s[d])};e.offsets.popper=x({},s,c[o])}return e}},offset:{order:200,enabled:!0,fn:function(e,t){var i=t.offset,o=e.placement,n=e.offsets,r=n.popper,s=n.reference,a=o.split("-")[0],l=void 0;return l=z(+i)?[+i,0]:X(i,r,s,a),"left"===a?(r.top+=l[0],r.left-=l[1]):"right"===a?(r.top+=l[0],r.left+=l[1]):"top"===a?(r.left+=l[0],r.top-=l[1]):"bottom"===a&&(r.left+=l[0],r.top+=l[1]),e.popper=r,e},offset:0},preventOverflow:{order:300,enabled:!0,fn:function(e,o){var t=o.boundariesElement||w(e.instance.popper);e.instance.reference===t&&(t=w(t));var i=L("transform"),n=e.instance.popper.style,r=n.top,s=n.left,a=n[i];n.top="",n.left="",n[i]="";var l=$(e.instance.popper,e.instance.reference,o.padding,t,e.positionFixed);n.top=r,n.left=s,n[i]=a,o.boundaries=l;var d=o.priority,c=e.offsets.popper,p={primary:function(e){var t=c[e];return c[e]<l[e]&&!o.escapeWithReference&&(t=Math.max(c[e],l[e])),k({},e,t)},secondary:function(e){var t="right"===e?"left":"top",i=c[t];return c[e]>l[e]&&!o.escapeWithReference&&(i=Math.min(c[t],l[e]-("right"===e?c.width:c.height))),k({},t,i)}};return d.forEach(function(e){var t=-1!==["left","top"].indexOf(e)?"primary":"secondary";c=x({},c,p[t](e))}),e.offsets.popper=c,e},priority:["left","right","top","bottom"],padding:5,boundariesElement:"scrollParent"},keepTogether:{order:400,enabled:!0,fn:function(e){var t=e.offsets,i=t.popper,o=t.reference,n=e.placement.split("-")[0],r=Math.floor,s=-1!==["top","bottom"].indexOf(n),a=s?"right":"bottom",l=s?"left":"top",d=s?"width":"height";return i[a]<r(o[l])&&(e.offsets.popper[l]=r(o[l])-i[d]),i[l]>r(o[a])&&(e.offsets.popper[l]=r(o[a])),e}},arrow:{order:500,enabled:!0,fn:function(e,t){var i;if(!B(e.instance.modifiers,"arrow","keepTogether"))return e;var o=t.element;if("string"==typeof o){if(!(o=e.instance.popper.querySelector(o)))return e}else if(!e.instance.popper.contains(o))return console.warn("WARNING: `arrow.element` must be child of its popper element!"),e;var n=e.placement.split("-")[0],r=e.offsets,s=r.popper,a=r.reference,l=-1!==["left","right"].indexOf(n),d=l?"height":"width",c=l?"Top":"Left",p=c.toLowerCase(),u=l?"left":"top",f=l?"bottom":"right",h=E(o)[d];a[f]-h<s[p]&&(e.offsets.popper[p]-=s[p]-(a[f]-h)),a[p]+h>s[f]&&(e.offsets.popper[p]+=a[p]+h-s[f]),e.offsets.popper=T(e.offsets.popper);var g=a[p]+a[d]/2-h/2,m=b(e.instance.popper),v=parseFloat(m["margin"+c],10),w=parseFloat(m["border"+c+"Width"],10),y=g-e.offsets.popper[p]-v-w;return y=Math.max(Math.min(s[d]-h,y),0),e.arrowElement=o,e.offsets.arrow=(k(i={},p,Math.round(y)),k(i,u,""),i),e},element:"[x-arrow]"},flip:{order:600,enabled:!0,fn:function(f,h){if(M(f.instance.modifiers,"inner"))return f;if(f.flipped&&f.placement===f.originalPlacement)return f;var g=$(f.instance.popper,f.instance.reference,h.padding,h.boundariesElement,f.positionFixed),m=f.placement.split("-")[0],v=A(m),w=f.placement.split("-")[1]||"",y=[];switch(h.behavior){case U:y=[m,v];break;case Q:y=Y(m);break;case V:y=Y(m,!0);break;default:y=h.behavior}return y.forEach(function(e,t){if(m!==e||y.length===t+1)return f;m=f.placement.split("-")[0],v=A(m);var i=f.offsets.popper,o=f.offsets.reference,n=Math.floor,r="left"===m&&n(i.right)>n(o.left)||"right"===m&&n(i.left)<n(o.right)||"top"===m&&n(i.bottom)>n(o.top)||"bottom"===m&&n(i.top)<n(o.bottom),s=n(i.left)<n(g.left),a=n(i.right)>n(g.right),l=n(i.top)<n(g.top),d=n(i.bottom)>n(g.bottom),c="left"===m&&s||"right"===m&&a||"top"===m&&l||"bottom"===m&&d,p=-1!==["top","bottom"].indexOf(m),u=!!h.flipVariations&&(p&&"start"===w&&s||p&&"end"===w&&a||!p&&"start"===w&&l||!p&&"end"===w&&d);(r||c||u)&&(f.flipped=!0,(r||c)&&(m=y[t+1]),u&&(w=function(e){return"end"===e?"start":"start"===e?"end":e}(w)),f.placement=m+(w?"-"+w:""),f.offsets.popper=x({},f.offsets.popper,H(f.instance.popper,f.offsets.reference,f.placement)),f=D(f.instance.modifiers,f,"flip"))}),f},behavior:"flip",padding:5,boundariesElement:"viewport"},inner:{order:700,enabled:!1,fn:function(e){var t=e.placement,i=t.split("-")[0],o=e.offsets,n=o.popper,r=o.reference,s=-1!==["left","right"].indexOf(i),a=-1===["top","left"].indexOf(i);return n[s?"left":"top"]=r[i]-(a?n[s?"width":"height"]:0),e.placement=A(t),e.offsets.popper=T(n),e}},hide:{order:800,enabled:!0,fn:function(e){if(!B(e.instance.modifiers,"hide","preventOverflow"))return e;var t=e.offsets.reference,i=P(e.instance.modifiers,function(e){return"preventOverflow"===e.name}).boundaries;if(t.bottom<i.top||t.left>i.right||t.top>i.bottom||t.right<i.left){if(!0===e.hide)return e;e.hide=!0,e.attributes["x-out-of-boundaries"]=""}else{if(!1===e.hide)return e;e.hide=!1,e.attributes["x-out-of-boundaries"]=!1}return e}},computeStyle:{order:850,enabled:!0,fn:function(e,t){var i=t.x,o=t.y,n=e.offsets.popper,r=P(e.instance.modifiers,function(e){return"applyStyle"===e.name}).gpuAcceleration;void 0!==r&&console.warn("WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!");var s=void 0!==r?r:t.gpuAcceleration,a=C(w(e.instance.popper)),l={position:n.position},d={left:Math.floor(n.left),top:Math.round(n.top),bottom:Math.round(n.bottom),right:Math.floor(n.right)},c="bottom"===i?"top":"bottom",p="right"===o?"left":"right",u=L("transform"),f=void 0,h=void 0;if(h="bottom"==c?-a.height+d.bottom:d.top,f="right"==p?-a.width+d.right:d.left,s&&u)l[u]="translate3d("+f+"px, "+h+"px, 0)",l[c]=0,l[p]=0,l.willChange="transform";else{var g="bottom"==c?-1:1,m="right"==p?-1:1;l[c]=h*g,l[p]=f*m,l.willChange=c+", "+p}var v={"x-placement":e.placement};return e.attributes=x({},v,e.attributes),e.styles=x({},l,e.styles),e.arrowStyles=x({},e.offsets.arrow,e.arrowStyles),e},gpuAcceleration:!0,x:"bottom",y:"right"},applyStyle:{order:900,enabled:!0,fn:function(e){return W(e.instance.popper,e.styles),function(t,i){Object.keys(i).forEach(function(e){!1!==i[e]?t.setAttribute(e,i[e]):t.removeAttribute(e)})}(e.instance.popper,e.attributes),e.arrowElement&&Object.keys(e.arrowStyles).length&&W(e.arrowElement,e.arrowStyles),e},onLoad:function(e,t,i,o,n){var r=O(n,t,e,i.positionFixed),s=j(i.placement,r,t,e,i.modifiers.flip.boundariesElement,i.modifiers.flip.padding);return t.setAttribute("x-placement",s),W(t,{position:i.positionFixed?"fixed":"absolute"}),i},gpuAcceleration:void 0}}},G=(c(Z,[{key:"update",value:function(){return function(){if(!this.state.isDestroyed){var e={instance:this,styles:{},arrowStyles:{},attributes:{},flipped:!1,offsets:{}};e.offsets.reference=O(this.state,this.popper,this.reference,this.options.positionFixed),e.placement=j(this.options.placement,e.offsets.reference,this.popper,this.reference,this.options.modifiers.flip.boundariesElement,this.options.modifiers.flip.padding),e.originalPlacement=e.placement,e.positionFixed=this.options.positionFixed,e.offsets.popper=H(this.popper,e.offsets.reference,e.placement),e.offsets.popper.position=this.options.positionFixed?"fixed":"absolute",e=D(this.modifiers,e),this.state.isCreated?this.options.onUpdate(e):(this.state.isCreated=!0,this.options.onCreate(e))}}.call(this)}},{key:"destroy",value:function(){return function(){return this.state.isDestroyed=!0,M(this.modifiers,"applyStyle")&&(this.popper.removeAttribute("x-placement"),this.popper.style.position="",this.popper.style.top="",this.popper.style.left="",this.popper.style.right="",this.popper.style.bottom="",this.popper.style.willChange="",this.popper.style[L("transform")]=""),this.disableEventListeners(),this.options.removeOnDestroy&&this.popper.parentNode.removeChild(this.popper),this}.call(this)}},{key:"enableEventListeners",value:function(){return function(){this.state.eventsEnabled||(this.state=N(this.reference,this.options,this.state,this.scheduleUpdate))}.call(this)}},{key:"disableEventListeners",value:function(){return F.call(this)}}]),Z);function Z(e,t){var i=this,o=2<arguments.length&&void 0!==arguments[2]?arguments[2]:{};!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,Z),this.scheduleUpdate=function(){return requestAnimationFrame(i.update)},this.update=r(this.update.bind(this)),this.options=x({},Z.Defaults,o),this.state={isDestroyed:!1,isCreated:!1,scrollParents:[]},this.reference=e&&e.jquery?e[0]:e,this.popper=t&&t.jquery?t[0]:t,this.options.modifiers={},Object.keys(x({},Z.Defaults.modifiers,o.modifiers)).forEach(function(e){i.options.modifiers[e]=x({},Z.Defaults.modifiers[e]||{},o.modifiers?o.modifiers[e]:{})}),this.modifiers=Object.keys(this.options.modifiers).map(function(e){return x({name:e},i.options.modifiers[e])}).sort(function(e,t){return e.order-t.order}),this.modifiers.forEach(function(e){e.enabled&&s(e.onLoad)&&e.onLoad(i.reference,i.popper,i.options,e,i.state)}),this.update();var n=this.options.eventsEnabled;n&&this.enableEventListeners(),this.state.eventsEnabled=n}return G.Utils=("undefined"!=typeof window?window:global).PopperUtils,G.placements=q,G.Defaults=K,G});var Dropdown=function(d){var t="dropdown",c="bs.dropdown",i="."+c,e=".data-api",o=d.fn[t],s=new RegExp("38|40|27"),p={HIDE:"hide"+i,HIDDEN:"hidden"+i,SHOW:"show"+i,SHOWN:"shown"+i,CLICK:"click"+i,CLICK_DATA_API:"click"+i+e,KEYDOWN_DATA_API:"keydown"+i+e,KEYUP_DATA_API:"keyup"+i+e},a="disabled",u="show",n="dropup",r="dropright",f="dropleft",h="dropdown-menu-right",g="position-static",m='[data-toggle="dropdown"]',l=".dropdown form",v=".dropdown-menu",w=".navbar-nav",y=".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",b="top-start",k="top-end",x="bottom-start",T="bottom-end",C="right-start",S="left-start",_={offset:0,flip:!0,boundary:"scrollParent",reference:"toggle",display:"dynamic"},$={offset:"(number|string|function)",flip:"boolean",boundary:"(string|element)",reference:"(string|element)",display:"string"},j=function(){function l(e,t){this._element=e,this._popper=null,this._config=this._getConfig(t),this._menu=this._getMenuElement(),this._inNavbar=this._detectNavbar(),this._addEventListeners()}var e=l.prototype;return e.toggle=function(){if(!this._element.disabled&&!d(this._element).hasClass(a)){var e=l._getParentFromElement(this._element),t=d(this._menu).hasClass(u);if(l._clearMenus(),!t){var i={relatedTarget:this._element},o=d.Event(p.SHOW,i);if(d(e).trigger(o),!o.isDefaultPrevented()){if(!this._inNavbar){if("undefined"==typeof Popper)throw new TypeError("Bootstrap dropdown require Popper.js (https://popper.js.org)");var n=this._element;"parent"===this._config.reference?n=e:Util.isElement(this._config.reference)&&(n=this._config.reference,void 0!==this._config.reference.jquery&&(n=this._config.reference[0])),"scrollParent"!==this._config.boundary&&d(e).addClass(g),this._popper=new Popper(n,this._menu,this._getPopperConfig())}"ontouchstart"in document.documentElement&&0===d(e).closest(w).length&&d(document.body).children().on("mouseover",null,d.noop),this._element.focus(),this._element.setAttribute("aria-expanded",!0),d(this._menu).toggleClass(u),d(e).toggleClass(u).trigger(d.Event(p.SHOWN,i))}}}},e.dispose=function(){d.removeData(this._element,c),d(this._element).off(i),this._element=null,(this._menu=null)!==this._popper&&(this._popper.destroy(),this._popper=null)},e.update=function(){this._inNavbar=this._detectNavbar(),null!==this._popper&&this._popper.scheduleUpdate()},e._addEventListeners=function(){var t=this;d(this._element).on(p.CLICK,function(e){e.preventDefault(),e.stopPropagation(),t.toggle()})},e._getConfig=function(e){return e=_objectSpread({},this.constructor.Default,d(this._element).data(),e),Util.typeCheckConfig(t,e,this.constructor.DefaultType),e},e._getMenuElement=function(){if(!this._menu){var e=l._getParentFromElement(this._element);this._menu=d(e).find(v)[0]}return this._menu},e._getPlacement=function(){var e=d(this._element).parent(),t=x;return e.hasClass(n)?(t=b,d(this._menu).hasClass(h)&&(t=k)):e.hasClass(r)?t=C:e.hasClass(f)?t=S:d(this._menu).hasClass(h)&&(t=T),t},e._detectNavbar=function(){return 0<d(this._element).closest(".navbar").length},e._getPopperConfig=function(){var t=this,e={};"function"==typeof this._config.offset?e.fn=function(e){return e.offsets=_objectSpread({},e.offsets,t._config.offset(e.offsets)||{}),e}:e.offset=this._config.offset;var i={placement:this._getPlacement(),modifiers:{offset:e,flip:{enabled:this._config.flip},preventOverflow:{boundariesElement:this._config.boundary}}};return"static"===this._config.display&&(i.modifiers.applyStyle={enabled:!1}),i},l._jQueryInterface=function(t){return this.each(function(){var e=d(this).data(c);if(e||(e=new l(this,"object"==typeof t?t:null),d(this).data(c,e)),"string"==typeof t){if(void 0===e[t])throw new TypeError('No method named "'+t+'"');e[t]()}})},l._clearMenus=function(e){if(!e||3!==e.which&&("keyup"!==e.type||9===e.which))for(var t=d.makeArray(d(m)),i=0;i<t.length;i++){var o=l._getParentFromElement(t[i]),n=d(t[i]).data(c),r={relatedTarget:t[i]};if(n){var s=n._menu;if(d(o).hasClass(u)&&!(e&&("click"===e.type&&/input|textarea/i.test(e.target.tagName)||"keyup"===e.type&&9===e.which)&&d.contains(o,e.target))){var a=d.Event(p.HIDE,r);d(o).trigger(a),a.isDefaultPrevented()||("ontouchstart"in document.documentElement&&d(document.body).children().off("mouseover",null,d.noop),t[i].setAttribute("aria-expanded","false"),d(s).removeClass(u),d(o).removeClass(u).trigger(d.Event(p.HIDDEN,r)))}}}},l._getParentFromElement=function(e){var t,i=Util.getSelectorFromElement(e);return i&&(t=d(i)[0]),t||e.parentNode},l._dataApiKeydownHandler=function(e){if((/input|textarea/i.test(e.target.tagName)?!(32===e.which||27!==e.which&&(40!==e.which&&38!==e.which||d(e.target).closest(v).length)):s.test(e.which))&&(e.preventDefault(),e.stopPropagation(),!this.disabled&&!d(this).hasClass(a))){var t=l._getParentFromElement(this),i=d(t).hasClass(u);if((i||27===e.which&&32===e.which)&&(!i||27!==e.which&&32!==e.which)){var o=d(t).find(y).get();if(0!==o.length){var n=o.indexOf(e.target);38===e.which&&0<n&&n--,40===e.which&&n<o.length-1&&n++,n<0&&(n=0),o[n].focus()}}else{if(27===e.which){var r=d(t).find(m)[0];d(r).trigger("focus")}d(this).trigger("click")}}},_createClass(l,null,[{key:"VERSION",get:function(){return"4.1.0"}},{key:"Default",get:function(){return _}},{key:"DefaultType",get:function(){return $}}]),l}();return d(document).on(p.KEYDOWN_DATA_API,m,j._dataApiKeydownHandler).on(p.KEYDOWN_DATA_API,v,j._dataApiKeydownHandler).on(p.CLICK_DATA_API+" "+p.KEYUP_DATA_API,j._clearMenus).on(p.CLICK_DATA_API,m,function(e){e.preventDefault(),e.stopPropagation(),j._jQueryInterface.call(d(this),"toggle")}).on(p.CLICK_DATA_API,l,function(e){e.stopPropagation()}),d.fn[t]=j._jQueryInterface,d.fn[t].Constructor=j,d.fn[t].noConflict=function(){return d.fn[t]=o,j._jQueryInterface},j}($,Popper);!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("jquery"),require("./util.js")):"function"==typeof define&&define.amd?define(["jquery","./util"],t):(e="undefined"!=typeof globalThis?globalThis:e||self).Collapse=t(e.jQuery,e.Util)}(this,function(e,t){"use strict";function i(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var l=i(e),d=i(t);function o(e,t){for(var i=0;i<t.length;i++){var o=t[i];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}function n(){return(n=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var i=arguments[t];for(var o in i)Object.prototype.hasOwnProperty.call(i,o)&&(e[o]=i[o])}return e}).apply(this,arguments)}var r="collapse",c="bs.collapse",s=l.default.fn[r],p="show",u="collapse",f="collapsing",h="collapsed",g='[data-toggle="collapse"]',m={toggle:!0,parent:""},v={toggle:"boolean",parent:"(string|element)"},a=function(){function a(t,e){this._isTransitioning=!1,this._element=t,this._config=this._getConfig(e),this._triggerArray=[].slice.call(document.querySelectorAll('[data-toggle="collapse"][href="#'+t.id+'"],[data-toggle="collapse"][data-target="#'+t.id+'"]'));for(var i=[].slice.call(document.querySelectorAll(g)),o=0,n=i.length;o<n;o++){var r=i[o],s=d.default.getSelectorFromElement(r),a=[].slice.call(document.querySelectorAll(s)).filter(function(e){return e===t});null!==s&&0<a.length&&(this._selector=s,this._triggerArray.push(r))}this._parent=this._config.parent?this._getParent():null,this._config.parent||this._addAriaAndCollapsedClass(this._element,this._triggerArray),this._config.toggle&&this.toggle()}var e=a.prototype;return e.toggle=function(){l.default(this._element).hasClass(p)?this.hide():this.show()},e.show=function(){var e,t,i=this;if(!this._isTransitioning&&!l.default(this._element).hasClass(p)&&(this._parent&&0===(e=[].slice.call(this._parent.querySelectorAll(".show, .collapsing")).filter(function(e){return"string"==typeof i._config.parent?e.getAttribute("data-parent")===i._config.parent:e.classList.contains(u)})).length&&(e=null),!(e&&(t=l.default(e).not(this._selector).data(c))&&t._isTransitioning))){var o=l.default.Event("show.bs.collapse");if(l.default(this._element).trigger(o),!o.isDefaultPrevented()){e&&(a._jQueryInterface.call(l.default(e).not(this._selector),"hide"),t||l.default(e).data(c,null));var n=this._getDimension();l.default(this._element).removeClass(u).addClass(f),this._element.style[n]=0,this._triggerArray.length&&l.default(this._triggerArray).removeClass(h).attr("aria-expanded",!0),this.setTransitioning(!0);var r="scroll"+(n[0].toUpperCase()+n.slice(1)),s=d.default.getTransitionDurationFromElement(this._element);l.default(this._element).one(d.default.TRANSITION_END,function(){l.default(i._element).removeClass(f).addClass(u+" "+p),i._element.style[n]="",i.setTransitioning(!1),l.default(i._element).trigger("shown.bs.collapse")}).emulateTransitionEnd(s),this._element.style[n]=this._element[r]+"px"}}},e.hide=function(){var e=this;if(!this._isTransitioning&&l.default(this._element).hasClass(p)){var t=l.default.Event("hide.bs.collapse");if(l.default(this._element).trigger(t),!t.isDefaultPrevented()){var i=this._getDimension();this._element.style[i]=this._element.getBoundingClientRect()[i]+"px",d.default.reflow(this._element),l.default(this._element).addClass(f).removeClass(u+" "+p);var o=this._triggerArray.length;if(0<o)for(var n=0;n<o;n++){var r=this._triggerArray[n],s=d.default.getSelectorFromElement(r);if(null!==s)l.default([].slice.call(document.querySelectorAll(s))).hasClass(p)||l.default(r).addClass(h).attr("aria-expanded",!1)}this.setTransitioning(!0);this._element.style[i]="";var a=d.default.getTransitionDurationFromElement(this._element);l.default(this._element).one(d.default.TRANSITION_END,function(){e.setTransitioning(!1),l.default(e._element).removeClass(f).addClass(u).trigger("hidden.bs.collapse")}).emulateTransitionEnd(a)}}},e.setTransitioning=function(e){this._isTransitioning=e},e.dispose=function(){l.default.removeData(this._element,c),this._config=null,this._parent=null,this._element=null,this._triggerArray=null,this._isTransitioning=null},e._getConfig=function(e){return(e=n({},m,e)).toggle=Boolean(e.toggle),d.default.typeCheckConfig(r,e,v),e},e._getDimension=function(){return l.default(this._element).hasClass("width")?"width":"height"},e._getParent=function(){var e,i=this;d.default.isElement(this._config.parent)?(e=this._config.parent,void 0!==this._config.parent.jquery&&(e=this._config.parent[0])):e=document.querySelector(this._config.parent);var t='[data-toggle="collapse"][data-parent="'+this._config.parent+'"]',o=[].slice.call(e.querySelectorAll(t));return l.default(o).each(function(e,t){i._addAriaAndCollapsedClass(a._getTargetFromElement(t),[t])}),e},e._addAriaAndCollapsedClass=function(e,t){var i=l.default(e).hasClass(p);t.length&&l.default(t).toggleClass(h,!i).attr("aria-expanded",i)},a._getTargetFromElement=function(e){var t=d.default.getSelectorFromElement(e);return t?document.querySelector(t):null},a._jQueryInterface=function(o){return this.each(function(){var e=l.default(this),t=e.data(c),i=n({},m,e.data(),"object"==typeof o&&o?o:{});if(!t&&i.toggle&&"string"==typeof o&&/show|hide/.test(o)&&(i.toggle=!1),t||(t=new a(this,i),e.data(c,t)),"string"==typeof o){if(void 0===t[o])throw new TypeError('No method named "'+o+'"');t[o]()}})},function(e,t,i){t&&o(e.prototype,t),i&&o(e,i),Object.defineProperty(e,"prototype",{writable:!1})}(a,null,[{key:"VERSION",get:function(){return"4.6.2"}},{key:"Default",get:function(){return m}}]),a}();return l.default(document).on("click.bs.collapse.data-api",g,function(e){"A"===e.currentTarget.tagName&&e.preventDefault();var i=l.default(this),t=d.default.getSelectorFromElement(this),o=[].slice.call(document.querySelectorAll(t));l.default(o).each(function(){var e=l.default(this),t=e.data(c)?"toggle":i.data();a._jQueryInterface.call(e,t)})}),l.default.fn[r]=a._jQueryInterface,l.default.fn[r].Constructor=a,l.default.fn[r].noConflict=function(){return l.default.fn[r]=s,a._jQueryInterface},a}),function(c){"use strict";if(void 0!==c)if(c.fn.jquery.match(/-ajax/))"console"in window&&window.console.info("Featherlight needs regular jQuery, not the slim version.");else{var o=[],n=function(t){return o=c.grep(o,function(e){return e!==t&&0<e.$instance.closest("body").length})},r={allow:1,allowfullscreen:1,frameborder:1,height:1,longdesc:1,marginheight:1,marginwidth:1,mozallowfullscreen:1,name:1,referrerpolicy:1,sandbox:1,scrolling:1,src:1,srcdoc:1,style:1,webkitallowfullscreen:1,width:1},i={keyup:"onKeyUp",resize:"onResize"},s=function(e){c.each(l.opened().reverse(),function(){if(!e.isDefaultPrevented()&&!1===this[i[e.type]](e))return e.preventDefault(),e.stopPropagation(),!1})},a=function(e){if(e!==l._globalHandlerInstalled){l._globalHandlerInstalled=e;var t=c.map(i,function(e,t){return t+"."+l.prototype.namespace}).join(" ");c(window)[e?"on":"off"](t,s)}};l.prototype={constructor:l,namespace:"featherlight",targetAttr:"data-featherlight",variant:null,resetCss:!1,background:null,openTrigger:"click",closeTrigger:"click",filter:null,root:"body",openSpeed:250,closeSpeed:250,closeOnClick:"background",closeOnEsc:!0,closeIcon:"&#10005;",loading:"",persist:!1,otherClose:null,beforeOpen:c.noop,beforeContent:c.noop,beforeClose:c.noop,afterOpen:c.noop,afterContent:c.noop,afterClose:c.noop,onKeyUp:c.noop,onResize:c.noop,type:null,contentFilters:["jquery","image","html","ajax","iframe","text"],setup:function(e,t){"object"!=typeof e||e instanceof c!=!1||t||(t=e,e=void 0);var i=c.extend(this,t,{target:e}),o=i.resetCss?i.namespace+"-reset":i.namespace,n=c(i.background||['<div class="'+o+"-loading "+o+'">','<div class="'+o+'-content">','<button class="'+o+"-close-icon "+i.namespace+'-close" aria-label="Close">',i.closeIcon,"</button>",'<div class="'+i.namespace+'-inner">'+i.loading+"</div>","</div>","</div>"].join("")),r="."+i.namespace+"-close"+(i.otherClose?","+i.otherClose:"");return i.$instance=n.clone().addClass(i.variant),i.$instance.on(i.closeTrigger+"."+i.namespace,function(e){if(!e.isDefaultPrevented()){var t=c(e.target);("background"===i.closeOnClick&&t.is("."+i.namespace)||"anywhere"===i.closeOnClick||t.closest(r).length)&&(i.close(e),e.preventDefault())}}),this},getContent:function(){if(!1!==this.persist&&this.$content)return this.$content;function e(e){return t.$currentTarget&&t.$currentTarget.attr(e)}var t=this,i=this.constructor.contentFilters,o=e(t.targetAttr),n=t.target||o||"",r=i[t.type];if(!r&&n in i&&(r=i[n],n=t.target&&o),n=n||e("href")||"",!r)for(var s in i)t[s]&&(r=i[s],n=t[s]);if(!r){var a=n;if(n=null,c.each(t.contentFilters,function(){return(r=i[this]).test&&(n=r.test(a)),!n&&r.regex&&a.match&&a.match(r.regex)&&(n=a),!n}),!n)return"console"in window&&window.console.error("Featherlight: no content filter found "+(a?' for "'+a+'"':" (no target specified)")),!1}return r.process.call(t,n)},setContent:function(e){return this.$instance.removeClass(this.namespace+"-loading"),this.$instance.toggleClass(this.namespace+"-iframe",e.is("iframe")),this.$instance.find("."+this.namespace+"-inner").not(e).slice(1).remove().end().replaceWith(c.contains(this.$instance[0],e[0])?"":e),this.$content=e.addClass(this.namespace+"-inner"),this},open:function(t){var i=this;if(i.$instance.hide().appendTo(i.root),!(t&&t.isDefaultPrevented()||!1===i.beforeOpen(t))){t&&t.preventDefault();var e=i.getContent();if(e)return o.push(i),a(!0),i.$instance.fadeIn(i.openSpeed),i.beforeContent(t),c.when(e).always(function(e){i.setContent(e),i.afterContent(t)}).then(i.$instance.promise()).done(function(){i.afterOpen(t)})}return i.$instance.detach(),c.Deferred().reject().promise()},close:function(e){var t=this,i=c.Deferred();return!1===t.beforeClose(e)?i.reject():(0===n(t).length&&a(!1),t.$instance.fadeOut(t.closeSpeed,function(){t.$instance.detach(),t.afterClose(e),i.resolve()})),i.promise()},resize:function(e,t){if(e&&t){this.$content.css("width","").css("height","");var i=Math.max(e/(this.$content.parent().width()-1),t/(this.$content.parent().height()-1));1<i&&(i=t/Math.floor(t/i),this.$content.css("width",e/i+"px").css("height",t/i+"px"))}},chainCallbacks:function(e){for(var t in e)this[t]=c.proxy(e[t],this,c.proxy(this[t],this))}},c.extend(l,{id:0,autoBind:"[data-featherlight]",defaults:l.prototype,contentFilters:{jquery:{regex:/^[#.]\w/,test:function(e){return e instanceof c&&e},process:function(e){return!1!==this.persist?c(e):c(e).clone(!0)}},image:{regex:/\.(png|jpg|jpeg|gif|tiff?|bmp|svg)(\?\S*)?$/i,process:function(e){var t=c.Deferred(),i=new Image,o=c('<img src="'+e+'" alt="" class="'+this.namespace+'-image" />');return i.onload=function(){o.naturalWidth=i.width,o.naturalHeight=i.height,t.resolve(o)},i.onerror=function(){t.reject(o)},i.src=e,t.promise()}},html:{regex:/^\s*<[\w!][^<]*>/,process:function(e){return c(e)}},ajax:{regex:/./,process:function(e){var i=c.Deferred(),o=c("<div></div>").load(e,function(e,t){"error"!==t&&i.resolve(o.contents()),i.fail()});return i.promise()}},iframe:{process:function(e){var t=new c.Deferred,i=c("<iframe/>"),o=function(e,t){var i={},o=new RegExp("^"+t+"([A-Z])(.*)");for(var n in e){var r=n.match(o);if(r)i[(r[1]+r[2].replace(/([A-Z])/g,"-$1")).toLowerCase()]=e[n]}return i}(this,"iframe"),n=function(e,t){var i={};for(var o in e)o in t&&(i[o]=e[o],delete e[o]);return i}(o,r);return i.hide().attr("src",e).attr(n).css(o).on("load",function(){t.resolve(i.show())}).appendTo(this.$instance.find("."+this.namespace+"-content")),t.promise()}},text:{process:function(e){return c("<div>",{text:e})}}},functionAttributes:["beforeOpen","afterOpen","beforeContent","afterContent","beforeClose","afterClose"],readElementConfig:function(e,t){var o=this,n=new RegExp("^data-"+t+"-(.*)"),r={};return e&&e.attributes&&c.each(e.attributes,function(){var e=this.name.match(n);if(e){var t=this.value,i=c.camelCase(e[1]);if(0<=c.inArray(i,o.functionAttributes))t=new Function(t);else try{t=JSON.parse(t)}catch(e){}r[i]=t}}),r},extend:function(e,t){function i(){this.constructor=e}return i.prototype=this.prototype,e.prototype=new i,e.__super__=this.prototype,c.extend(e,this,t),e.defaults=e.prototype,e},attach:function(n,r,s){var a=this;"object"!=typeof r||r instanceof c!=!1||s||(s=r,r=void 0);function e(e){var t=c(e.currentTarget),i=c.extend({$source:n,$currentTarget:t},a.readElementConfig(n[0],d.namespace),a.readElementConfig(e.currentTarget,d.namespace),s),o=l||t.data("featherlight-persisted")||new a(r,i);"shared"===o.persist?l=o:!1!==o.persist&&t.data("featherlight-persisted",o),i.$currentTarget.blur&&i.$currentTarget.blur(),o.open(e)}var l,t=(s=c.extend({},s)).namespace||a.defaults.namespace,d=c.extend({},a.defaults,a.readElementConfig(n[0],t),s);return n.on(d.openTrigger+"."+d.namespace,d.filter,e),{filter:d.filter,handler:e}},current:function(){var e=this.opened();return e[e.length-1]||null},opened:function(){var t=this;return n(),c.grep(o,function(e){return e instanceof t})},close:function(e){var t=this.current();if(t)return t.close(e)},_onReady:function(){var o=this;if(o.autoBind){var n=c(o.autoBind);n.each(function(){o.attach(c(this))}),c(document).on("click",o.autoBind,function(e){if(!e.isDefaultPrevented()){var t=c(e.currentTarget);if(n.length!==(n=n.add(t)).length){var i=o.attach(t);(!i.filter||0<c(e.target).parentsUntil(t,i.filter).length)&&i.handler(e)}}})}},_callbackChain:{onKeyUp:function(e,t){return 27===t.keyCode?(this.closeOnEsc&&c.featherlight.close(t),!1):e(t)},beforeOpen:function(e,t){return c(document.documentElement).addClass("with-featherlight"),this._previouslyActive=document.activeElement,this._$previouslyTabbable=c("a, input, select, textarea, iframe, button, iframe, [contentEditable=true]").not("[tabindex]").not(this.$instance.find("button")),this._$previouslyWithTabIndex=c("[tabindex]").not('[tabindex="-1"]'),this._previousWithTabIndices=this._$previouslyWithTabIndex.map(function(e,t){return c(t).attr("tabindex")}),this._$previouslyWithTabIndex.add(this._$previouslyTabbable).attr("tabindex",-1),document.activeElement.blur&&document.activeElement.blur(),e(t)},afterClose:function(e,t){var i=e(t),o=this;return this._$previouslyTabbable.removeAttr("tabindex"),this._$previouslyWithTabIndex.each(function(e,t){c(t).attr("tabindex",o._previousWithTabIndices[e])}),this._previouslyActive.focus(),0===l.opened().length&&c(document.documentElement).removeClass("with-featherlight"),i},onResize:function(e,t){return this.resize(this.$content.naturalWidth,this.$content.naturalHeight),e(t)},afterContent:function(e,t){var i=e(t);return this.$instance.find("[autofocus]:not([disabled])").focus(),this.onResize(t),i}}}),c.featherlight=l,c.fn.featherlight=function(e,t){return l.attach(this,e,t),this},c(document).ready(function(){l._onReady()})}else"console"in window&&window.console.info("Too much lightness, Featherlight needs jQuery.");function l(e,t){if(!(this instanceof l)){var i=new l(e,t);return i.open(),i}this.id=l.id++,this.setup(e,t),this.chainCallbacks(l._callbackChain)}}(jQuery),function(E){"use strict";var A=!1,t=E.fn.val;function H(){return"ontouchstart"in window||0<navigator.maxTouchPoints||0<navigator.msMaxTouchPoints}function P(e,t){H()?e.addEventListener("touchstart",function(e){e.cancelable&&e.preventDefault(),t(e)},{passive:!0}):(e.addEventListener("mousedown",function(e){e.preventDefault(),t(e)}),e.addEventListener("keydown",function(e){32!==e.keyCode&&13!==e.keyCode||A||(A=!0,t(e))}))}E.fn.val=function(e){return 1<=arguments.length&&void 0!==this[0]&&this[0]["bootstrap-input-spinner"]&&this[0].setValue&&this[0].setValue(e),t.apply(this,arguments)},E.fn.InputSpinner=E.fn.inputSpinner=function(e){if("1"===jupiterxOptions.quantityFieldSwitch||"undefined"===jupiterxOptions.quantityFieldSwitch){var $={decrementButton:"<strong>-</strong>",incrementButton:"<strong>+</strong>",groupClass:"",buttonsClass:"btn-outline-secondary",buttonsWidth:"2.5rem",textAlign:"center",autoDelay:500,autoInterval:100,boostThreshold:10,boostMultiplier:"auto",locale:null};for(var t in e)$[t]=e[t];var j='<div class="input-group '+$.groupClass+'"><div class="input-group-prepend"><button style="min-width: '+$.buttonsWidth+'" class="btn btn-decrement '+$.buttonsClass+'" type="button">'+$.decrementButton+'</button></div><input type="text" style="text-align: '+$.textAlign+'" class="form-control"/><div class="input-group-append"><button style="min-width: '+$.buttonsWidth+'" class="btn btn-increment '+$.buttonsClass+'" type="button">'+$.incrementButton+"</button></div></div>",O=$.locale||navigator.language||"en-US";this.each(function(){var o=E(this);o[0]["bootstrap-input-spinner"]=!0,o.hide();var t=null,i=null,n="auto"===$.boostMultiplier,r=n?1:$.boostMultiplier,s=E(j),a=s.find(".btn-decrement"),l=s.find(".btn-increment"),d=s.find("input"),c=parseFloat(o.prop("min"))||0,p=isNaN(o.prop("max"))||""===o.prop("max")?1/0:parseFloat(o.prop("max")),e=parseFloat(o.prop("step"))||1,u=parseInt(o.attr("data-step-max"))||0,f=parseInt(o.attr("data-decimals"))||0,h=new Intl.NumberFormat(O,{minimumFractionDigits:f,maximumFractionDigits:f}),g=parseFloat(o[0].value),m=0,v=o.attr("data-prefix")||"",w=o.attr("data-suffix")||"";if(v){var y=E('<span class="input-group-text">'+v+"</span>");s.find(".input-group-prepend").append(y)}if(w){var b=E('<span class="input-group-text">'+w+"</span>");s.find(".input-group-append").prepend(b)}function k(e,t){void 0===t&&(t=!0),g=isNaN(e)||""===e?(o[0].value="",t&&(d[0].value=""),NaN):(e=parseFloat(e),c=parseFloat(o.prop("min"))||0,p=isNaN(o.prop("max"))||""===o.prop("max")?1/0:parseFloat(o.prop("max")),e=Math.min(Math.max(e,c),p),e=Math.round(e*Math.pow(10,f))/Math.pow(10,f),o[0].value=e,t&&(d[0].value=h.format(e)),e)}function x(t,i){i&&setTimeout(function(){var e;"function"==typeof Event?e=new Event(i,{bubbles:!0}):(e=document.createEvent("Event")).initEvent(i,!0,!0),t[0].dispatchEvent(e)})}function T(e){d[0].disabled||d[0].readOnly||(C(e),S(),t=setTimeout(function(){i=setInterval(function(){m>$.boostThreshold?n?(C(e*parseInt(r,10)),r<1e8&&(r*=1.1),u&&(r=Math.min(u,r))):C(e*r):C(e),m++},$.autoInterval)},$.autoDelay))}function C(e){isNaN(g)&&(g=0),k(Math.round(g/e)*e+e),x(o,"input"),x(o,"change")}function S(){m=0,r=r=n?1:$.boostMultiplier,clearTimeout(t),clearTimeout(i)}function _(){d.prop("required",o.prop("required")),d.prop("placeholder",o.prop("placeholder"));var e=o.prop("disabled");d.prop("disabled",e),l.prop("disabled",e),a.prop("disabled",e),d.prop("class","form-control "+o.prop("class")),s.prop("class","input-group "+o.prop("class")+" "+$.groupClass)}o[0].setValue=function(e){k(e)},new MutationObserver(function(){_()}).observe(o[0],{attributes:!0}),_(),o.after(s),k(g),d.on("paste input change focusout",function(e){var t=d[0].value,i="focusout"===e.type;"en-US"!==O&&"en-GB"!==O&&"th-TH"!==O&&(t=t.replace(/[. ]/g,"").replace(/,/g,".")),k(t,i),x(o,e.type)}),P(a[0],function(){T(-e)}),P(l[0],function(){T(e)}),function(e,t){if(H())return e.addEventListener("touchend",function(e){t(e)});e.addEventListener("mouseup",function(e){t(e)}),e.addEventListener("touchend",function(e){t(e)}),e.addEventListener("keyup",function(e){32!==e.keyCode&&13!==e.keyCode||(A=!1,t(e))})}(document.body,function(){S()})})}}}(jQuery),$(document).on("wc_fragments_refreshed wc_fragments_loaded",function(){var e=$(document).find(".woocommerce-mini-cart__buttons");0<e.parents(".elementor-widget-raven-shopping-cart").length||($.each(e,function(){$(this).find("a").eq(0).addClass("jupiterx-icon-shopping-cart-6")}),$(document).find(".woocommerce-mini-cart-item .remove").addClass("jupiterx-icon-solid-times-circle").html(" "),$(document).find(".woocommerce-mini-cart__empty-message").addClass("jupiterx-icon-shopping-cart-6"))}),jQuery(document).ready(function(t){function e(){t(".quantity > input").InputSpinner({buttonsClass:"btn-sm btn-outline-secondary",buttonsWidth:0})}0===t('.elementor[ data-elementor-type="jet-woo-builder" ], .elementor[ data-elementor-type="product" ]').length&&(e(),t(document).on("updated_wc_div",function(){e()})),t(document).on("click",".jupiterx-navbar-cart",function(e){"#"===t(this).attr("href")&&(e.preventDefault(),t("body").addClass("jupiterx-cart-quick-view-overlay"))}),t(document).on("click",".jupiterx-mini-cart-close",function(){t("body").alterClass("jupiterx-cart-quick-view-*","")})}),jQuery(document).ready(function(d){function i(){return"undefined"==typeof jupiterxOptions||void 0===jupiterxOptions.videMedia?null:0!=jupiterxOptions.videMedia}function l(){d("video").on("ended",function(e){d(e.currentTarget).parent().find("i").removeClass("circle-pause").addClass("circle-play")})}function c(e){this.$target=e,this.$images=e.find(".woocommerce-product-gallery__image"),this.$target.hasClass("jupiterx-product-gallery-static")?this.initZoom():(this.createSlickThumbnailsSlider(),this.repositionDirectionNav(),this.disableProductElementorLighBox()),this.preventSmoothScroll(),i()&&(this.playIconTrigger(),this.handleVideo(),this.handlePhotoswipe(),this.handleVideoOnChangeSlide(),this.handlePhotoswipeIcon(),this.handleIframe(),this.handleVideoWithoutSlider(),this.handleVideoWithoutGallery(),l()),this.handleWcModal()}if(c.prototype.handleVideoWithoutSlider=function(){var a=this.$target;a.ready(function(){var e=a.find("video"),t=a.find("iframe"),i=a.find(".flex-active-slide");0<e.length&&e.each(function(){d(this).parent().find("i").removeClass("circle-pause").addClass("circle-play"),d(this).get(0).pause()}),0<t.length&&(c.prototype.resetIframes(t),t.on("load",function(e){d(e.currentTarget).parent().removeClass("iframe-on-load"),d(e.currentTarget).show(),d(e.currentTarget).next().hide()})),0<i.length&&0<i.find("video").length&&void 0!==i.find("video").attr("autoplay")&&(i.find("video").parent().find("i").removeClass("circle-play").addClass("circle-pause"),i.find("video").get(0).play())}),a.on("click",".jupiterx-attachment-media-custom-video-icons",function(e){var t=d(e.currentTarget),i=d(e.currentTarget).find("i"),o=t.prev(),n=a.find(".jupiterx-attachment-media-iframe"),r=a.find("video"),s=a.find("iframe");if(0<s.length&&c.prototype.resetIframes(s),!o.get(0).paused)return i.removeClass("circle-pause").addClass("circle-play"),void o.get(0).pause();n.find("i").removeClass("circle-pause").addClass("circle-play"),r.trigger("pause"),i.removeClass("circle-play").addClass("circle-pause"),o.get(0).play()})},c.prototype.handleWcModal=function(){d(".pswp__button--close").off().on("click touchend",function(e){d(e.target).closest(".pswp--open").removeClass("pswp--open"),setTimeout(function(){d(e.target).closest(".pswp--open").removeClass("pswp--open")})}),d(".pswp__item").off().on("click touched",function(e){d(e.target).closest("img.pswp__img").length||d(e.target).closest(".pswp--open").removeClass("pswp--open")})},c.prototype.disableProductElementorLighBox=function(){var e=d(this.$target).find("a");d(e).attr("data-elementor-open-lightbox","no")},c.prototype.handleIframe=function(){var e=d(this.$target),t=e.find(".flex-active-slide");0===t.length&&(t=e.find(".woocommerce-product-gallery__image")),t.find("iframe").on("load",function(e){d(e.currentTarget).parent().removeClass("iframe-on-load"),d(e.currentTarget).show(),d(e.currentTarget).next().hide()})},c.prototype.handlePhotoswipeIcon=function(){var t=d(this.$target),e=t.find(".flex-active-slide"),i=t.data("flexslider"),o=this;e.ready(function(){ifram=e.find(".jupiterx-attachment-media-iframe"),o.initZoom(),0<ifram.length?t.find(".woocommerce-product-gallery__trigger").hide(0):t.find(".woocommerce-product-gallery__trigger").show(0)}),void 0!==i&&(i.vars.after=function(){var e=t.find(".flex-active-slide");if(0<e.find(".jupiterx-attachment-media-iframe").length)return t.find(".woocommerce-product-gallery__trigger").hide(0),void e.find("iframe").on("load",function(e){d(e.currentTarget).parent().removeClass("iframe-on-load"),d(e.currentTarget).show(),d(e.currentTarget).next().hide()});t.find(".woocommerce-product-gallery__trigger").show(0)})},c.prototype.handleVideoOnChangeSlide=function(){var o=this.$target;o.on("click",".flex-direction-nav a, .flex-control-thumbs li, .woocommerce-product-gallery__image a, .woocommerce-product-gallery__trigger",function(){var e=o.find("video"),t=o.find("iframe"),i=o.find(".flex-active-slide");0<e.length&&(e.parent().find("i").removeClass("circle-pause").addClass("circle-play"),e.each(function(e,t){d(t).get(0).pause()}));0<t.length&&(c.prototype.resetIframes(t),t.on("load",function(e){d(e.currentTarget).parent().removeClass("iframe-on-load"),d(e.currentTarget).show(),d(e.currentTarget).next().hide()})),0<i.length&&void 0!==i.find("video").attr("autoplay")&&(e.parent().find("i").removeClass("circle-play").addClass("circle-pause"),i.find("video").get(0).play())})},c.prototype.resetIframes=function(e){e.each(function(e,t){var i=d(t).attr("src");d(t).attr("src",i)})},c.prototype.playIconTrigger=function(){d(document).on("click",".jupiterx-product-single-play-icon",function(){d(this).next().click()})},c.prototype.getGalleryItems=function(){var e=d(".woocommerce-product-gallery__image"),l=[];return 0<e.length&&e.each(function(e,t){var i=d(t).find("img");if(0<i.length){var o=i.attr("data-large_image"),n=i.attr("data-large_image_width"),r=i.attr("data-large_image_height"),s={alt:i.attr("alt"),src:o,w:n,h:r,title:i.attr("data-caption")?i.attr("data-caption"):i.attr("title")};l.push(s)}else{var a=d(t).find(".jupiterx-attachment-media-iframe").parent().html();l.push({html:'<div class="jupiterx-pswp-attachment-media-iframe">'+a+"</div>"})}}),l},c.prototype.handleVideoOnPhotoSwipe=function(n,e){d(n).hasClass("pswp--open")&&e.listen("beforeChange",function(){var i=d(n).find("video"),e=d(n).find("iframe"),t=d(n).find(".pswp__item");0<i.length&&(i.parent().find("i").removeClass("circle-pause").addClass("circle-play"),i.get(0).pause());if(0<e.length){var o=e.attr("src");e=e.attr("src",o),d(n).find("iframe").on("load",function(e){d(e.currentTarget).parent().removeClass("iframe-on-load"),d(e.currentTarget).show(),d(e.currentTarget).next().hide()})}t.each(function(e,t){if("block"===d(t).css("display")&&void 0!==d(t).find("video").attr("autoplay"))return i.parent().find("i").removeClass("circle-play").addClass("circle-pause"),void d(t).find("video").get(0).play()})})},c.prototype.openPhotoswipe=function(e){if(wc_single_product_params.photoswipe_enabled){e.preventDefault();var t,i=d(".pswp")[0],o=c.prototype.getGalleryItems(),n=d(e.target);t=n.is(".woocommerce-product-gallery__trigger")||n.is(".woocommerce-product-gallery__trigger img")?d(".flex-active-slide"):n.closest(".woocommerce-product-gallery__image");var r=d.extend({index:d(t).index(),addCaptionHTMLFn:function(e,t){return e.title?(t.children[0].textContent=e.title,!0):(t.children[0].textContent="",!1)}},wc_single_product_params.photoswipe_options),s=new PhotoSwipe(i,PhotoSwipeUI_Default,o,r);s.init(),c.prototype.handleVideoOnPhotoSwipe(i,s)}},c.prototype.handlePhotoswipe=function(){this.$target.off("click",".woocommerce-product-gallery__trigger"),this.$target.off("click",".woocommerce-product-gallery__image a"),wc_single_product_params.zoom_enabled?(this.$target.on("click",".woocommerce-product-gallery__trigger",this.openPhotoswipe),this.$target.on("click",".woocommerce-product-gallery__image a",function(e){e.preventDefault()}),wc_single_product_params.flexslider_enabled||this.$target.on("click",".woocommerce-product-gallery__image a",this.openPhotoswipe)):this.$target.on("click",".woocommerce-product-gallery__image a",this.openPhotoswipe)},c.prototype.handleVideoWithoutGallery=function(){var e=this.$target;0===e.find(".flex-viewport").length&&e.on("click",".jupiterx-attachment-media-custom-video-icons",function(e){var t=d(e.currentTarget),i=d(e.currentTarget).find("i"),o=t.prev();if(!o.get(0).paused)return i.removeClass("circle-pause").addClass("circle-play"),void o.get(0).pause();i.removeClass("circle-play").addClass("circle-pause"),o.get(0).play()})},c.prototype.handleVideo=function(){d(document).on("click",".jupiterx-attachment-media-custom-video-icons",function(e){var t=d(e.currentTarget),i=d(e.currentTarget).find("i"),o=t.prev(),n=0<o.closest(".flex-active-slide").length,r=0<o.closest(".pswp").length;if((d("body").hasClass("jupiterx-product-template-9")||d("body").hasClass("jupiterx-product-template-10"))&&(n=!0),n||r){if(!o.get(0).paused)return i.removeClass("circle-pause").addClass("circle-play"),void o.get(0).pause();i.removeClass("circle-play").addClass("circle-pause"),o.get(0).play()}})},c.prototype.createSlickThumbnailsSlider=function(){var e=this.$target,t={infinite:!1,draggable:!1,slidesToShow:7,slidesToScroll:1,prevArrow:'<button class="slick-prev" aria-label="Prev" type="button"><svg fill="#333333" version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="7.2px" height="12px" viewBox="0 0 7.2 12" style="enable-background:new 0 0 7.2 12;" xml:space="preserve"><path class="st0" d="M2.4,6l4.5-4.3c0.4-0.4,0.4-1,0-1.4c-0.4-0.4-1-0.4-1.4,0l-5.2,5C0.1,5.5,0,5.7,0,6s0.1,0.5,0.3,0.7l5.2,5\tC5.7,11.9,6,12,6.2,12c0.3,0,0.5-0.1,0.7-0.3c0.4-0.4,0.4-1,0-1.4L2.4,6z"/></svg></button>',nextArrow:'<button class="slick-next" aria-label="Next" type="button"><svg fill="#333333" version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="7.2px" height="12px" viewBox="0 0 7.2 12" style="enable-background:new 0 0 7.2 12;" xml:space="preserve"><path class="st0" d="M4.8,6l-4.5,4.3c-0.4,0.4-0.4,1,0,1.4c0.4,0.4,1,0.4,1.4,0l5.2-5C7.1,6.5,7.2,6.3,7.2,6S7.1,5.5,6.9,5.3l-5.2-5C1.5,0.1,1.2,0,1,0C0.7,0,0.5,0.1,0.3,0.3c-0.4,0.4-0.4,1,0,1.4L4.8,6z"/></svg></button>'};e.hasClass("jupiterx-product-gallery-vertical")&&(t=d.extend(t,{vertical:!0,slidesToShow:5})),e.find(".flex-control-thumbs").slick(t),i()&&(galleryItems=e.find(".woocommerce-product-gallery__image"),galleryItems.each(function(e,t){void 0!==d(t).data("poster")&&d(".flex-control-nav").find("li[data-slick-index="+e+"]").prepend('<i class="jupiterx-product-single-play-icon"></i>')})),e.on("click",".flex-direction-nav a",function(){e.find(".flex-control-nav").slick("slickGoTo",e.find(".flex-active-slide").index())})},c.prototype.repositionDirectionNav=function(){var e,i=this.$target;i.hasClass("jupiterx-product-gallery-vertical")&&(e=function(){var e=i.find(".flex-direction-nav"),t=i.find(".flex-control-thumbs");e.css("left",t.outerWidth(!0))},d(window).resize(e),e())},c.prototype.initZoom=function(){if(d.isFunction(d.fn.zoom)||wc_single_product_params.zoom_enabled){var e=this.$target,t=e.find(".woocommerce-product-gallery__image"),i=e.width(),o=!1;if(d(t).each(function(e,t){if(d(t).find("img").data("large_image_width")>i)return!(o=!0)}),o){var n={touch:!1};"ontouchstart"in window&&(n.on="click"),t.trigger("zoom.destroy"),t.zoom(n)}}},c.prototype.preventSmoothScroll=function(){this.$target.on("click",".flex-direction-nav a",function(e){e.preventDefault(),e.stopPropagation()})},0===d('.elementor[ data-elementor-type="jet-woo-builder" ]').length&&d(".woocommerce-product-gallery").each(function(e,t){new c(d(t))}),0<d("form.variations_form").length){var p=new function e(t){var i=this;this.$variationsForm=t,this.$outOfStockBadge=d(".jupiterx-out-of-stock"),this.$onSaleBadge=d(".jupiterx-product-badges .jupiterx-sale-badge"),this.variations=this.$variationsForm.data("product_variations")||[],void 0===e._initialized&&(e.prototype.bindEvents=function(){this.$variationsForm.on("woocommerce_variation_select_change",this.onVariationAttributeChange),d(".single_variation_wrap").on("show_variation",this.onVariationSelected)},e.prototype.checkOutOfStockStatus=function(){this.isProductInStock()||(this.$onSaleBadge.hide(),this.$outOfStockBadge.show())},e.prototype.onVariationAttributeChange=function(){0===(i.$variationsForm.find("input[name=variation_id]").val()||0)&&(i.isProductInStock()?i.isProductOnSale()&&(i.$onSaleBadge.show(),i.$outOfStockBadge.hide()):i.$outOfStockBadge.show())},e.prototype.onVariationSelected=function(e,t){t&&i.toggleOutOfStockBadgeVisibility(t)},e.prototype.toggleOutOfStockBadgeVisibility=function(e){e.is_in_stock?(this.isVariationOnSale(e.variation_id)?this.$onSaleBadge.show():this.$onSaleBadge.hide(),this.$outOfStockBadge.hide()):(this.$onSaleBadge.hide(),this.$outOfStockBadge.show())},e.prototype.isProductOnSale=function(){for(var e=0;e<this.variations.length;e++){var t=this.variations[e];if(t.display_price!==t.display_regular_price)return!0}return!1},e.prototype.isVariationOnSale=function(e){for(var t=0;t<this.variations.length;t++){var i=this.variations[t];if(i.display_price!==i.display_regular_price&&e===i.variation_id)return!0}return!1},e.prototype.isProductInStock=function(){for(var e=0;e<this.variations.length;e++)if(this.variations[e].is_in_stock)return!0;return!1},e.prototype.selectOptionControl=function(){var e={selected:".woocommerce div.product form.cart .variations select",outOfStockClassName:"jupiterx-out-of-stock",outOfStockClass:this.$outOfStockBadge};d("body").find(e.outOfStockClassName)&&d(e.selected).change(function(){""==d(e.selected).children("option:selected").val()&&d(e.outOfStockClass).css("display","none")})},e.prototype.handleVariation=function(){if(this.$variationsForm&&this.variations){var a=this.variations;this.$variationsForm.on("woocommerce_update_variation_values",function(e){var t=null,i="",o="",n="",r=d(".woocommerce-product-gallery__image:first-child"),s=r.attr("data-default")?JSON.parse(r.attr("data-default")):{};setTimeout(function(){price=d(e.currentTarget).find(".woocommerce-variation-price"),0!==price.length&&"none"!==price.parents(".woocommerce-variation").css("display")&&(""===(t=d(e.currentTarget).attr("current-image"))&&(i=s.content,o=s.video_type,n=s.poster,p.handleNavControl(s.enabled)),a.forEach(function(e){e.image_id===parseInt(t)&&(i=e.jupiterx_attached_media,o=e.jupiterx_attached_media_type,n=e.jupiterx_attached_media_poster,p.handleNavControl(e.jupiterx_attached_media_enabled))}),i&&i.includes("jupiterx-attachment-media-iframe")?d(".woocommerce-product-gallery__trigger").hide(0):d(".woocommerce-product-gallery__trigger").show(0),r.html(i),r.attr("data-video-type",o),r.attr("data-poster",n),r.find("a").attr("data-elementor-open-lightbox","no"),d(window).trigger("resize"),p.handleIframe(r),r.parents(".images").trigger("woocommerce_gallery_init_zoom"),l())},50)})}},e.prototype.handleIframe=function(e){var t=e.closest(".flex-viewport"),i=e.find("video");e.find("iframe").on("load",function(e){d(e.currentTarget).parent().removeClass("iframe-on-load"),d(e.currentTarget).show(),d(e.currentTarget).next().hide(),t.height(d(e.currentTarget).height())}),0<i.length&&t.height(i.height())},e.prototype.handleNavControl=function(e){var t=d(".slick-slide:first-child"),i=t.find(".jupiterx-product-single-play-icon");e?0===i.length&&t.prepend('<i class="jupiterx-product-single-play-icon"></i>'):i.remove()},e._initialized=!0)}(d("form.variations_form"));p.bindEvents(),p.selectOptionControl(),p.checkOutOfStockStatus(),i()&&p.handleVariation()}if(d("body").find("jupiterx-out-of-stock")){var e=".woocommerce div.product form.cart .variations select",t=".jupiterx-out-of-stock";d(t).css("display","inline-block"),checkOptions=d(e).children("option:selected").val(),""==checkOptions&&d(t).css("display","none")}d("body").find(".woocommerce-product-gallery__trigger")&&d(".pswp__button--close").attr("ontouchstart","return false;"),d("body").find(".woocommerce-product-rating")&&"jet-woo-builder"!=d("main .elementor").data("elementor-type")&&(d(".woocommerce-review-link").attr("href","#jupiterx-wc-header-reviews"),d("#tab-title-reviews").attr("id","jupiterx-wc-header-reviews"),"#jupiterx-wc-header-reviews"===window.location.hash&&(d(".wc-tabs").children("li").removeClass("active"),d("#jupiterx-wc-header-reviews").addClass("active"),d("#jupiterx-wc-header-reviews a").trigger("click")),jQuery(".woocommerce-product-rating > a").click(function(e){d=jQuery,e.preventDefault(),e.stopPropagation();var t=d(".woocommerce-review-link").attr("href");if("#jupiterx-wc-header-reviews"===t&&(d(".wc-tabs").children("li").removeClass("active"),d("#jupiterx-wc-header-reviews").addClass("active"),d("#jupiterx-wc-header-reviews a").trigger("click"),history.pushState(null,null,t)),!(window.jupiterx.utils.onMobile()&&d("body").hasClass("jupiterx-header-mobile-behavior-off")||window.jupiterx.utils.onTablet()&&d("body").hasClass("jupiterx-header-tablet-behavior-off"))){var i=d(t);if(0!==i.length){var o=d("body").hasClass("jupiterx-header-overlapped"),n=i.offset().top;n-=o?2*d(".jupiterx-header").height():d(".jupiterx-header").height()+50,!1!==is_smooth_scroll()?d("html, body").stop().animate({scrollTop:n},500,"swing"):d("html, body").stop().animate({scrollTop:n},0)}}})),0<d(".elementor-jet-single-images").length&&(d(".elementor-jet-single-images").find(".woocommerce-product-gallery").addClass("jupiterx-jet-woo-gallery"),d(".elementor-jet-single-images").find(".flex-active").addClass("jupiterx-jet-woo-gallery-active-item"),d(".elementor-jet-single-images").find(".flex-control-thumbs img").on("click",function(e){d(".elementor-jet-single-images").find(".flex-active").removeClass("jupiterx-jet-woo-gallery-active-item"),d(e.currentTarget).addClass("jupiterx-jet-woo-gallery-active-item")})),window.elementorFrontend&&window.elementorFrontend.hooks&&elementorFrontend.hooks.addAction("frontend/element_ready/widget",function(e){"jet-single-images.default"===e.data("widget_type")&&(e.find(".woocommerce-product-gallery").addClass("jupiterx-jet-woo-gallery"),e.find(".flex-active").addClass("jupiterx-jet-woo-gallery-active-item"),e.find(".flex-control-thumbs img").on("click",function(e){d(".elementor-jet-single-images").find(".flex-active").removeClass("jupiterx-jet-woo-gallery-active-item"),d(e.currentTarget).addClass("jupiterx-jet-woo-gallery-active-item")}))})}),jQuery(document).ready(function(o){(new function e(){var i=this;this.$productContainer=o(".jupiterx-product-container"),this.modals={},void 0===e._initialized&&(e.prototype.init=function(){this.hasQuickView()&&this.bindEvents()},e.prototype.bindEvents=function(){this.hasQuickViewBtn()?o(document).add(this.$productContainer).on("click",".jupiterx-product-quick-view-btn",function(e){e.preventDefault(),e.stopPropagation();var t=o(this).closest(".jupiterx-product-container").data("product-id");i.showQuickView(t)}):(o(document).add(this.$productContainer).on("click",".woocommerce-loop-product__link",function(e){e.preventDefault(),e.stopPropagation()}),o(document).add(this.$productContainer).on("click",".woocommerce-loop-product__title",function(){var e=o(this).closest(".jupiterx-product-container").data("product-id");i.showQuickView(e)}),o(document).add(this.$productContainer).on("click",".jupiterx-wc-loop-product-image",function(){var e=o(this).closest(".jupiterx-product-container").data("product-id");i.showQuickView(e)}))},e.prototype.showQuickView=function(e){i.modals[e]?i.modals[e].open():i.modals[e]=o.featherlight(o("#jupiterx-product-quick-view-modal-"+e),{persist:!0,variant:"jupiterx-product-quick-view-featherlight"})},e.prototype.hasQuickViewBtn=function(){return 0<this.$productContainer.find(".jupiterx-product-quick-view-btn").length},e.prototype.hasQuickView=function(){return this.$productContainer.hasClass("jupiterx-product-has-quick-view")})}).init()}),jQuery(document).ready(function(o){function e(){o(".entry-summary").css({top:50})}o.scrollDetection=function(e){var t=o.extend({scrollDown:function(){},scrollUp:function(){}},e),i=0;o(window).scroll(function(){var e=o(this).scrollTop();i<e?t.scrollDown():e<i&&t.scrollUp(),i=e})},0!==o(".jupiterx-product-sticky-info").length&&(e(),o.scrollDetection({scrollUp:function(){e()},scrollDown:function(){!function(){var e=50,t=o(".entry-summary").outerHeight(),i=o(window).height();i<t&&(e=i-t),o(".entry-summary").css({top:e})}()}}))}),function(e){e(".jet-portfolio__list, .jet-image-comparison").each(function(){e(this).find("img[data-lazy-src]").each(function(e,t){var i=jQuery(t),o=i.attr("data-lazy-src");o&&(i.unbind("scrollin").hide().removeAttr("data-lazy-src").attr("data-lazy-loaded","true"),t.src=o,i.fadeIn())})})}(jQuery);
((c,r,d)=>{d={$div:null,settings:null,store:null,chatbox:!1,showed_at:0,is_ready:!1,is_mobile:/Mobile|Android|iPhone|iPad/i.test(navigator.userAgent),can_qr:c.QrCreator&&"function"==typeof QrCreator.render,...d},(c.joinchat_obj=d).$=function(t){return this.$div.querySelector(t)},d.$$=function(t){return this.$div.querySelectorAll(t)},d.send_event=function(o){if((o={event_category:this.settings.event_category||"JoinChat",event_label:"",event_action:"",chat_channel:"whatsapp",chat_id:"--",is_mobile:this.is_mobile?"yes":"no",page_location:location.href,page_title:r.title||"no title",...o}).event_label=o.event_label||o.link||"",o.event_action=o.event_action||o.chat_channel+": "+o.chat_id,delete o.link,r.dispatchEvent(new CustomEvent("joinchat:event",{detail:o,cancelable:!0}))){let t=c[this.settings.data_layer]||c[c.gtm4wp_datalayer_name]||c.dataLayer;if("object"==typeof t){let a=c.gtag||function(){t.push(arguments)},n=void 0!==this.settings.ga_event?this.settings.ga_event:"generate_lead";if(n){let e={transport_type:"beacon",...o},i=(Object.keys(e).forEach(t=>{"page_location"===t?e[t]=e[t].substring(0,1e3):"page_referrer"===t?e[t]=e[t].substring(0,420):"page_title"===t?e[t]=e[t].substring(0,300):"string"==typeof e[t]&&(e[t]=e[t].substring(0,100))}),[]),s=t=>{i.includes(t)||(t.startsWith("G-")||t.startsWith("GT-"))&&(i.push(t),a("event",n,{send_to:t,...e}))};if(c.google_tag_data&&google_tag_data.tidr&&google_tag_data.tidr.destination)for(var h in google_tag_data.tidr.destination)s(h);t.forEach(t=>{"config"===t[0]&&t[1]&&s(t[1])})}this.settings.gads&&a("event","conversion",{send_to:this.settings.gads})}var e,i,s=o.event_category;delete o.event_category,"object"==typeof t&&t.push({event:s,...o}),"function"==typeof fbq&&("whatsapp"===o.chat_channel&&(i=""+(e=o.chat_id).substring(0,3)+"X".repeat(e.length-5)+e.substring(e.length-2),o.chat_id=i,o.event_label=o.event_label.replace(e,i),o.event_action=o.event_action.replace(e,i)),fbq("trackCustom",s,o))}},d.get_wa_link=function(t,e,i){e=void 0!==e?e:this.settings.message_send||"",i=void 0!==i?i:this.settings.whatsapp_web&&!this.is_mobile;i=new URL((i?"https://web.whatsapp.com/send?phone=":"https://wa.me/")+(t||this.settings.telephone));return e&&i.searchParams.set("text",e),i.toString()},d.show=function(t){this.$div.removeAttribute("hidden"),this.$div.classList.add("joinchat--show"),t&&this.$div.classList.add("joinchat--tooltip")},d.hide=function(){this.$div.classList.remove("joinchat--show")},d.chatbox_show=function(t="unknown"){this.chatbox||(this.chatbox=!0,this.showed_at=Date.now(),clearTimeout(this.open_text_anim_timeout),this.$div.classList.add("joinchat--chatbox"),this.$div.classList.add("joinchat--opening"),this.open_text_anim_timeout=setTimeout(()=>this.$div.classList.remove("joinchat--opening"),550),this.settings.message_badge&&this.$(".joinchat__badge").classList.replace("joinchat__badge--in","joinchat__badge--out"),r.dispatchEvent(new CustomEvent("joinchat:show",{detail:{trigger:t}})))},d.chatbox_hide=function(){this.chatbox&&(this.chatbox=!1,clearTimeout(this.open_text_anim_timeout),this.$div.classList.remove("joinchat--chatbox","joinchat--tooltip","joinchat--opening"),this.settings.message_badge&&this.$(".joinchat__badge").classList.remove("joinchat__badge--out"),r.dispatchEvent(new Event("joinchat:hide")))},d.save_hash=function(){var t;!this.settings.message_hash||this.settings.message_delay<0||(t=(this.store.getItem("joinchat_hashes")||"").split(",").filter(Boolean)).includes(this.settings.message_hash)||(t.push(this.settings.message_hash),this.store.setItem("joinchat_hashes",t.join(",")))},d.open_whatsapp=function(t,e,i="unknown"){t=t||this.settings.telephone,e=void 0!==e?e:this.settings.message_send||"";t={link:this.get_wa_link(t,e),chat_channel:"whatsapp",chat_id:t,chat_message:e,trigger:i};r.dispatchEvent(new CustomEvent("joinchat:open",{detail:t,cancelable:!0}))&&(this.send_event(t),c.open(t.link,"joinchat","noopener"))},d.need_optin=function(){return this.$div.classList.contains("joinchat--optout")},d.use_qr=function(){return!!this.settings.qr&&this.can_qr&&!this.is_mobile},d.open=function(t,e,i,s="unknown"){t&&!this.need_optin()||!d.$(".joinchat__chatbox")?Date.now()<d.showed_at+600||(this.save_hash(),this.open_whatsapp(e,i,s)):this.chatbox_show(s)},d.close=function(){this.save_hash(),this.chatbox_hide()},d.rand_text=function(t){t.querySelectorAll("jc-rand").forEach(t=>{var e=t.children;t.insertAdjacentHTML("afterend",e[Math.floor(Math.random()*e.length)].innerHTML),t.remove()})},d.qr=function(t,e){var i=r.createElement("CANVAS");return QrCreator.render(Object.assign({text:t,radius:.4,background:"#FFF",size:200*(c.devicePixelRatio||1)},this.settings.qr||{},e||{}),i),i};var t=()=>{if(d.$div=r.querySelector(".joinchat"),d.$div){d.settings=JSON.parse(d.$div.dataset.settings);try{localStorage.test=2,d.store=localStorage}catch(t){d.store={_data:{},setItem:function(t,e){this._data[t]=String(e)},getItem:function(t){return this._data.hasOwnProperty(t)?this._data[t]:null}}}if(d.settings&&d.settings.telephone){if(d.is_mobile||!d.settings.mobile_only){r.dispatchEvent(new Event("joinchat:starting"));var a=1e3*d.settings.button_delay,n=Math.max(0,1e3*d.settings.message_delay);let t=!!d.settings.message_hash;var o=parseInt(d.store.getItem("joinchat_views")||1)>=d.settings.message_views,h=(d.store.getItem("joinchat_hashes")||"").split(",").filter(Boolean);let i=void 0!==d.settings.cta_viewed?d.settings.cta_viewed:-1!==h.indexOf(d.settings.message_hash||"none"),e=!i&&(d.settings.message_badge||!t||!n||!o),s=(setTimeout(()=>d.show(e),a),(t,e=!1)=>d.open(e,void 0,void 0,t));if(t&&!i&&n){let t;d.settings.message_badge?t=setTimeout(()=>d.$(".joinchat__badge").classList.add("joinchat__badge--in"),a+n):o&&(t=setTimeout(()=>s("auto"),a+n)),r.addEventListener("joinchat:show",()=>clearTimeout(t),{once:!0})}if(h=d.$(".joinchat__button"),!d.is_mobile){let t;h.addEventListener("mouseenter",()=>{d.$(".joinchat__chatbox")&&(t=setTimeout(()=>s("hover"),1500))}),h.addEventListener("mouseleave",()=>{clearTimeout(t)})}if(h.addEventListener("click",()=>s("button")),d.$(".joinchat__open")?.addEventListener("click",()=>s("contact",!0)),d.$(".joinchat__close")?.addEventListener("click",()=>d.close()),d.$("#joinchat_optin")?.addEventListener("change",t=>{t=t.target.checked;d.$div.classList.toggle("joinchat--optout",!t),r.dispatchEvent(new CustomEvent("joinchat:optin",{detail:{optin:t}}))}),d.is_mobile){let e,t,i=()=>{var t=(r.activeElement.type||"").toLowerCase();["date","datetime","email","month","number","password","search","tel","text","textarea","time","url","week"].includes(t)?d.chatbox?(d.chatbox_hide(),setTimeout(()=>d.hide(),400)):d.hide():d.show()};["focusin","focusout"].forEach(t=>r.addEventListener(t,t=>{t.target.matches("input, textarea")&&!d.$div.contains(t.target)&&(clearTimeout(e),e=setTimeout(i,200))})),c.addEventListener("resize",()=>{clearTimeout(t),t=setTimeout(()=>{d.$div.style.setProperty("--vh",c.innerHeight+"px")},200)}),c.dispatchEvent(new Event("resize"))}if(d.use_qr()?d.$(".joinchat__qr").appendChild(d.qr(d.get_wa_link(void 0,void 0,!1))):d.$(".joinchat__qr")?.remove(),n&&!o&&d.store.setItem("joinchat_views",parseInt(d.store.getItem("joinchat_views")||0)+1),r.addEventListener("joinchat:show",()=>{let a=d.$(".joinchat__scroll"),n=d.$(".joinchat__chat"),o=d.$$(".joinchat__bubble");if(!n)return;if(t&&d.rand_text(n),d.$$("[data-src]").forEach(t=>{t.setAttribute("src",t.dataset.src),t.removeAttribute("data-src")}),!c.matchMedia("(prefers-reduced-motion)").matches){1<o.length&&(o.forEach(t=>t.classList.add("joinchat--hidden")),d.$(".joinchat__optin")?.classList.add("joinchat--hidden"));let e=n.offsetHeight,i,s=new MutationObserver(()=>{a.scrollHeight>a.offsetHeight&&s.disconnect();var t=n.offsetHeight;clearTimeout(i),n.style.height=e+"px",n.offsetHeight,n.style.height=t+"px",e=t,i=setTimeout(()=>{n.style.height="",e=n.offsetHeight},205)});s.observe(n,{childList:!0,attributes:!0,attributeFilter:["class"]})}if(o.length<=1||c.matchMedia("(prefers-reduced-motion)").matches)return void setTimeout(()=>n.dispatchEvent(new Event("joinchat:bubbles")),1);let e=0,i=(t,e)=>Math.round(Math.random()*(e-t)+t),s=(t,e)=>{d.$(".joinchat__bubble--loading")?.remove(),t.classList.remove("joinchat--hidden"),n.parentNode.scrollIntoView({behavior:"smooth",block:"end"}),setTimeout(h,e)},h=()=>{if(e>=o.length)d.$(".joinchat__optin")?.classList.remove("joinchat--hidden"),n.parentNode.scrollIntoView({behavior:"smooth",block:"end"}),n.dispatchEvent(new Event("joinchat:bubbles"));else{let t=o[e++];t.classList.contains("joinchat__bubble--note")?s(t,210):(n.insertAdjacentHTML("beforeend",'<div class="joinchat__bubble joinchat__bubble--loading"></div>'),n.parentNode.scrollIntoView({behavior:"smooth",block:"end"}),setTimeout(()=>s(t,i(400,600)),Math.min(60*t.textContent.split(/\s+/).length+210,3e3)))}};h()},{once:!0}),"#joinchat"!==(a=new URL(c.location)).hash&&!a.searchParams.has("joinchat")||(h=1e3*(parseInt(a.searchParams.get("joinchat"))||0),setTimeout(()=>d.show(),h),setTimeout(()=>d.chatbox_show("url"),700+h)),r.addEventListener("click",t=>{var e=t.target.closest('.joinchat_open, .joinchat_app, a[href="#joinchat"], a[href="#whatsapp"]');e&&(t.preventDefault(),t=e===e.closest('.joinchat_app, a[href="#whatsapp"]'),d.open(t,e.dataset.phone,e.dataset.message,"trigger"))}),r.addEventListener("click",t=>{t.target.closest(".joinchat_close")&&(t.preventDefault(),d.close())}),n=r.querySelectorAll(".joinchat_show, .joinchat_force_show"),t&&n&&"IntersectionObserver"in c){let e=new IntersectionObserver(t=>{t.forEach(t=>{t.intersectionRatio<=0||i&&!t.target.classList.contains("joinchat_force_show")||(e.disconnect(),s("screen"))})});n.forEach(t=>e.observe(t))}d.is_ready=!0,r.dispatchEvent(new Event("joinchat:start"))}else d.hide(),r.addEventListener("click",t=>{var e=t.target.closest('.joinchat_open, .joinchat_app, a[href="#joinchat"], a[href="#whatsapp"]');e&&(t.preventDefault(),d.open_whatsapp(e.dataset.phone,e.dataset.message,"trigger"))});if(d.can_qr&&!d.is_mobile?r.querySelectorAll(".joinchat-button__qr").forEach(t=>t.appendChild(d.qr(d.get_wa_link(t.dataset.phone,t.dataset.message,!1)))):r.querySelectorAll(".wp-block-joinchat-button figure").forEach(t=>t.remove()),void 0!==d.settings.sku&&"function"==typeof jQuery){let s=d.settings.message_send;jQuery("form.variations_form").on("found_variation reset_data",function(t,e){let i=e&&e.sku||d.settings.sku;d.$$(".joinchat__chat jc-sku").forEach(t=>t.textContent=i),d.settings.message_send=s.replace(/<jc-sku>.*<\/jc-sku>/g,i)})}}}};"loading"!==r.readyState?t():r.addEventListener("DOMContentLoaded",t)})(window,document,window.joinchat_obj||{});
const upgradeToProLink=document.querySelector('.toplevel_page_rtmkit > ul.wp-submenu a[href="admin.php?page=rtmkit-upgrade-to-pro"]'
);
if(upgradeToProLink){
upgradeToProLink.onclick=(e)=> {
e.preventDefault();
window.open("https://rometheme.net/plugins/rtmkit/pricing/", "_blank");
};};
jQuery(window).on("elementor/frontend/init", function (){
elementorFrontend.hooks.addAction("frontend/element_ready/global",
function ($scope, $){
$scope.find("div.rtmkit-wrapper-link").on("click", function (e){
e.preventDefault();
const url=$(this).data("url");
const target=$(this).data("target")||"_self";
const rel=$(this).data("rel")||"";
window.open(url, target, rel);
});
$scope.filter(".rtmkit-wrapper-link").on("click", function (e){
e.preventDefault();
const url=$(this).data("url");
const target=$(this).data("target")||"_self";
const rel=$(this).data("rel")||"";
window.open(url, target, rel);
});
},
);
});
(()=>{"use strict";var e,r,_,t,a,n={},i={};function __webpack_require__(e){var r=i[e];if(void 0!==r)return r.exports;var _=i[e]={exports:{}};return n[e].call(_.exports,_,_.exports,__webpack_require__),_.exports}__webpack_require__.m=n,e=[],__webpack_require__.O=(r,_,t,a)=>{if(!_){var n=1/0;for(b=0;b<e.length;b++){for(var[_,t,a]=e[b],i=!0,c=0;c<_.length;c++)(!1&a||n>=a)&&Object.keys(__webpack_require__.O).every(e=>__webpack_require__.O[e](_[c]))?_.splice(c--,1):(i=!1,a<n&&(n=a));if(i){e.splice(b--,1);var o=t();void 0!==o&&(r=o)}}return r}a=a||0;for(var b=e.length;b>0&&e[b-1][2]>a;b--)e[b]=e[b-1];e[b]=[_,t,a]},_=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,__webpack_require__.t=function(e,t){if(1&t&&(e=this(e)),8&t)return e;if("object"==typeof e&&e){if(4&t&&e.__esModule)return e;if(16&t&&"function"==typeof e.then)return e}var a=Object.create(null);__webpack_require__.r(a);var n={};r=r||[null,_({}),_([]),_(_)];for(var i=2&t&&e;("object"==typeof i||"function"==typeof i)&&!~r.indexOf(i);i=_(i))Object.getOwnPropertyNames(i).forEach(r=>n[r]=()=>e[r]);return n.default=()=>e,__webpack_require__.d(a,n),a},__webpack_require__.d=(e,r)=>{for(var _ in r)__webpack_require__.o(r,_)&&!__webpack_require__.o(e,_)&&Object.defineProperty(e,_,{enumerable:!0,get:r[_]})},__webpack_require__.f={},__webpack_require__.e=e=>Promise.all(Object.keys(__webpack_require__.f).reduce((r,_)=>(__webpack_require__.f[_](e,r),r),[])),__webpack_require__.u=e=>786===e?"397f2d183c19202777d6.bundle.min.js":216===e?"lightbox.570c05c5a283cfb6b223.bundle.min.js":30===e?"text-path.a67c1f3a78d208bc7e1b.bundle.min.js":131===e?"accordion.8b0db5058afeb74622f5.bundle.min.js":707===e?"alert.42cc1d522ef5c60bf874.bundle.min.js":457===e?"counter.12335f45aaa79d244f24.bundle.min.js":234===e?"progress.0ea083b809812c0e3aa1.bundle.min.js":575===e?"tabs.18344b05d8d1ea0702bc.bundle.min.js":775===e?"toggle.2a177a3ef4785d3dfbc5.bundle.min.js":180===e?"video.86d44e46e43d0807e708.bundle.min.js":177===e?"image-carousel.6167d20b95b33386757b.bundle.min.js":212===e?"text-editor.45609661e409413f1cef.bundle.min.js":211===e?"wp-audio.c9624cb6e5dc9de86abd.bundle.min.js":215===e?"nested-tabs.a2401356d329f179475e.bundle.min.js":915===e?"nested-accordion.294d40984397351fd0f5.bundle.min.js":1===e?"contact-buttons.e98d0220ce8c38404e7e.bundle.min.js":336===e?"floating-bars.740d06d17cea5cebdb61.bundle.min.js":557===e?"shared-frontend-handlers.03caa53373b56d3bab67.bundle.min.js":396===e?"shared-editor-handlers.cacdcbed391abf4b48b0.bundle.min.js":768===e?"container-editor-handlers.a2e8e48d28c5544fb183.bundle.min.js":77===e?"section-frontend-handlers.d85ab872da118940910d.bundle.min.js":220===e?"section-editor-handlers.53ffedef32043348b99b.bundle.min.js":304===e?"nested-title-keyboard-handler.2a67d3cc630e11815acc.bundle.min.js":void 0,__webpack_require__.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),__webpack_require__.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),t={},a="elementorFrontend:",__webpack_require__.l=(e,r,_,n)=>{if(t[e])t[e].push(r);else{var i,c;if(void 0!==_)for(var o=document.getElementsByTagName("script"),b=0;b<o.length;b++){var u=o[b];if(u.getAttribute("src")==e||u.getAttribute("data-webpack")==a+_){i=u;break}}i||(c=!0,(i=document.createElement("script")).charset="utf-8",__webpack_require__.nc&&i.setAttribute("nonce",__webpack_require__.nc),i.setAttribute("data-webpack",a+_),i.src=e),t[e]=[r];var onScriptComplete=(r,_)=>{i.onerror=i.onload=null,clearTimeout(d);var a=t[e];if(delete t[e],i.parentNode&&i.parentNode.removeChild(i),a&&a.forEach(e=>e(_)),r)return r(_)},d=setTimeout(onScriptComplete.bind(null,void 0,{type:"timeout",target:i}),12e4);i.onerror=onScriptComplete.bind(null,i.onerror),i.onload=onScriptComplete.bind(null,i.onload),c&&document.head.appendChild(i)}},__webpack_require__.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{var e;__webpack_require__.g.importScripts&&(e=__webpack_require__.g.location+"");var r=__webpack_require__.g.document;if(!e&&r&&(r.currentScript&&"SCRIPT"===r.currentScript.tagName.toUpperCase()&&(e=r.currentScript.src),!e)){var _=r.getElementsByTagName("script");if(_.length)for(var t=_.length-1;t>-1&&(!e||!/^http(s?):/.test(e));)e=_[t--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),__webpack_require__.p=e})(),(()=>{var e={76:0};__webpack_require__.f.j=(r,_)=>{var t=__webpack_require__.o(e,r)?e[r]:void 0;if(0!==t)if(t)_.push(t[2]);else if(76!=r){var a=new Promise((_,a)=>t=e[r]=[_,a]);_.push(t[2]=a);var n=__webpack_require__.p+__webpack_require__.u(r),i=new Error;__webpack_require__.l(n,_=>{if(__webpack_require__.o(e,r)&&(0!==(t=e[r])&&(e[r]=void 0),t)){var a=_&&("load"===_.type?"missing":_.type),n=_&&_.target&&_.target.src;i.message="Loading chunk "+r+" failed.\n("+a+": "+n+")",i.name="ChunkLoadError",i.type=a,i.request=n,t[1](i)}},"chunk-"+r,r)}else e[r]=0},__webpack_require__.O.j=r=>0===e[r];var webpackJsonpCallback=(r,_)=>{var t,a,[n,i,c]=_,o=0;if(n.some(r=>0!==e[r])){for(t in i)__webpack_require__.o(i,t)&&(__webpack_require__.m[t]=i[t]);if(c)var b=c(__webpack_require__)}for(r&&r(_);o<n.length;o++)a=n[o],__webpack_require__.o(e,a)&&e[a]&&e[a][0](),e[a]=0;return __webpack_require__.O(b)},r=self.webpackChunkelementorFrontend=self.webpackChunkelementorFrontend||[];r.forEach(webpackJsonpCallback.bind(null,0)),r.push=webpackJsonpCallback.bind(null,r.push.bind(r))})()})();
(self.webpackChunkelementorFrontend=self.webpackChunkelementorFrontend||[]).push([[941],{1:(e,t,r)=>{"use strict";var n=r(5578),i=r(7255),s=r(5755),o=r(1866),a=r(6029),c=r(5022),l=n.Symbol,u=i("wks"),p=c?l.for||l:l&&l.withoutSetter||o;e.exports=function(e){return s(u,e)||(u[e]=a&&s(l,e)?l[e]:p("Symbol."+e)),u[e]}},41:e=>{"use strict";e.exports=function(e){return{iterator:e,next:e.next,done:!1}}},169:(e,t,r)=>{"use strict";var n=r(4762),i=r(8473),s=r(1483),o=r(5755),a=r(382),c=r(2048).CONFIGURABLE,l=r(7268),u=r(4483),p=u.enforce,d=u.get,h=String,f=Object.defineProperty,g=n("".slice),m=n("".replace),v=n([].join),y=a&&!i(function(){return 8!==f(function(){},"length",{value:8}).length}),w=String(String).split("String"),b=e.exports=function(e,t,r){"Symbol("===g(h(t),0,7)&&(t="["+m(h(t),/^Symbol\(([^)]*)\).*$/,"$1")+"]"),r&&r.getter&&(t="get "+t),r&&r.setter&&(t="set "+t),(!o(e,"name")||c&&e.name!==t)&&(a?f(e,"name",{value:t,configurable:!0}):e.name=t),y&&r&&o(r,"arity")&&e.length!==r.arity&&f(e,"length",{value:r.arity});try{r&&o(r,"constructor")&&r.constructor?a&&f(e,"prototype",{writable:!1}):e.prototype&&(e.prototype=void 0)}catch(e){}var n=p(e);return o(n,"source")||(n.source=v(w,"string"==typeof t?t:"")),e};Function.prototype.toString=b(function toString(){return s(this)&&d(this).source||l(this)},"toString")},274:(e,t,r)=>{"use strict";var n=r(8473);e.exports=!n(function(){var e=function(){}.bind();return"function"!=typeof e||e.hasOwnProperty("prototype")})},348:(e,t,r)=>{"use strict";var n=r(1807),i=r(1483),s=r(1704),o=TypeError;e.exports=function(e,t){var r,a;if("string"===t&&i(r=e.toString)&&!s(a=n(r,e)))return a;if(i(r=e.valueOf)&&!s(a=n(r,e)))return a;if("string"!==t&&i(r=e.toString)&&!s(a=n(r,e)))return a;throw new o("Can't convert object to primitive value")}},382:(e,t,r)=>{"use strict";var n=r(8473);e.exports=!n(function(){return 7!==Object.defineProperty({},1,{get:function(){return 7}})[1]})},641:(e,t,r)=>{"use strict";r(5724),r(4846),r(7458),r(9655);const Module=function(){const e=jQuery,t=arguments,r=this,n={};let i;this.getItems=function(e,t){if(t){const r=t.split("."),n=r.splice(0,1);if(!r.length)return e[n];if(!e[n])return;return this.getItems(e[n],r.join("."))}return e},this.getSettings=function(e){return this.getItems(i,e)},this.setSettings=function(t,n,s){if(s||(s=i),"object"==typeof t)return e.extend(s,t),r;const o=t.split("."),a=o.splice(0,1);return o.length?(s[a]||(s[a]={}),r.setSettings(o.join("."),n,s[a])):(s[a]=n,r)},this.getErrorMessage=function(e,t){let r;if("forceMethodImplementation"===e)r=`The method '${t}' must to be implemented in the inheritor child.`;else r="An error occurs";return r},this.forceMethodImplementation=function(e){throw new Error(this.getErrorMessage("forceMethodImplementation",e))},this.on=function(t,i){if("object"==typeof t)return e.each(t,function(e){r.on(e,this)}),r;return t.split(" ").forEach(function(e){n[e]||(n[e]=[]),n[e].push(i)}),r},this.off=function(e,t){if(!n[e])return r;if(!t)return delete n[e],r;const i=n[e].indexOf(t);return-1!==i&&(delete n[e][i],n[e]=n[e].filter(e=>e)),r},this.trigger=function(t){const i="on"+t[0].toUpperCase()+t.slice(1),s=Array.prototype.slice.call(arguments,1);r[i]&&r[i].apply(r,s);const o=n[t];return o?(e.each(o,function(e,t){t.apply(r,s)}),r):r},r.__construct.apply(r,t),e.each(r,function(e){const t=r[e];"function"==typeof t&&(r[e]=function(){return t.apply(r,arguments)})}),function(){i=r.getDefaultSettings();const n=t[0];n&&e.extend(!0,i,n)}(),r.trigger("init")};Module.prototype.__construct=function(){},Module.prototype.getDefaultSettings=function(){return{}},Module.prototype.getConstructorID=function(){return this.constructor.name},Module.extend=function(e){const t=jQuery,r=this,child=function(){return r.apply(this,arguments)};return t.extend(child,r),(child.prototype=Object.create(t.extend({},r.prototype,e))).constructor=child,child.__super__=r.prototype,child},e.exports=Module},670:(e,t,r)=>{"use strict";var n=r(382),i=r(5835),s=r(7738);e.exports=function(e,t,r){n?i.f(e,t,s(0,r)):e[t]=r}},751:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,r(5724),r(4846),r(9655);class InstanceType{static[Symbol.hasInstance](e){let t=super[Symbol.hasInstance](e);if(e&&!e.constructor.getInstanceType)return t;if(e&&(e.instanceTypes||(e.instanceTypes=[]),t||this.getInstanceType()===e.constructor.getInstanceType()&&(t=!0),t)){const t=this.getInstanceType===InstanceType.getInstanceType?"BaseInstanceType":this.getInstanceType();-1===e.instanceTypes.indexOf(t)&&e.instanceTypes.push(t)}return!t&&e&&(t=e.instanceTypes&&Array.isArray(e.instanceTypes)&&-1!==e.instanceTypes.indexOf(this.getInstanceType())),t}static getInstanceType(){elementorModules.ForceMethodImplementation()}constructor(){let e=new.target;const t=[];for(;e.__proto__&&e.__proto__.name;)t.push(e.__proto__),e=e.__proto__;t.reverse().forEach(e=>this instanceof e)}}t.default=InstanceType},1091:e=>{"use strict";var t=TypeError;e.exports=function(e){if(e>9007199254740991)throw t("Maximum allowed index exceeded");return e}},1265:(e,t,r)=>{"use strict";var n=r(6784);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=n(r(641)),s=n(r(2425)),o=n(r(2946)),a=n(r(3980)),c=n(r(2970)),l=n(r(8685)),u=r(9031),p=r(1462);const d={Module:i.default,ViewModule:s.default,ArgsObject:o.default,ForceMethodImplementation:l.default,utils:{Masonry:a.default,Scroll:c.default},importExport:{createGetInitialState:u.createGetInitialState,customizationDialogsRegistry:p.customizationDialogsRegistry}};window.elementorModules?Object.assign(window.elementorModules,d):window.elementorModules=d;t.default=window.elementorModules},1278:(e,t,r)=>{"use strict";var n=r(4762),i=n({}.toString),s=n("".slice);e.exports=function(e){return s(i(e),8,-1)}},1409:(e,t,r)=>{"use strict";var n=r(5578),i=r(1483);e.exports=function(e,t){return arguments.length<2?(r=n[e],i(r)?r:void 0):n[e]&&n[e][t];var r}},1423:(e,t,r)=>{"use strict";var n=r(1409),i=r(1483),s=r(4815),o=r(5022),a=Object;e.exports=o?function(e){return"symbol"==typeof e}:function(e){var t=n("Symbol");return i(t)&&s(t.prototype,a(e))}},1462:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.customizationDialogsRegistry=void 0;var n=r(7958);t.customizationDialogsRegistry=new n.BaseRegistry},1483:e=>{"use strict";var t="object"==typeof document&&document.all;e.exports=void 0===t&&void 0!==t?function(e){return"function"==typeof e||e===t}:function(e){return"function"==typeof e}},1506:(e,t,r)=>{"use strict";var n=r(2914),i=r(1807),s=r(2293),o=r(8761),a=r(5299),c=r(6960),l=r(4815),u=r(4887),p=r(6665),d=r(6721),h=TypeError,Result=function(e,t){this.stopped=e,this.result=t},f=Result.prototype;e.exports=function(e,t,r){var g,m,v,y,w,b,S,x=r&&r.that,E=!(!r||!r.AS_ENTRIES),I=!(!r||!r.IS_RECORD),_=!(!r||!r.IS_ITERATOR),C=!(!r||!r.INTERRUPTED),O=n(t,x),stop=function(e){return g&&d(g,"normal"),new Result(!0,e)},callFn=function(e){return E?(s(e),C?O(e[0],e[1],stop):O(e[0],e[1])):C?O(e,stop):O(e)};if(I)g=e.iterator;else if(_)g=e;else{if(!(m=p(e)))throw new h(o(e)+" is not iterable");if(a(m)){for(v=0,y=c(e);y>v;v++)if((w=callFn(e[v]))&&l(f,w))return w;return new Result(!1)}g=u(e,m)}for(b=I?e.next:g.next;!(S=i(b,g)).done;){try{w=callFn(S.value)}catch(e){d(g,"throw",e)}if("object"==typeof w&&w&&l(f,w))return w}return new Result(!1)}},1507:e=>{"use strict";e.exports={}},1703:e=>{"use strict";var t=Math.ceil,r=Math.floor;e.exports=Math.trunc||function trunc(e){var n=+e;return(n>0?r:t)(n)}},1704:(e,t,r)=>{"use strict";var n=r(1483);e.exports=function(e){return"object"==typeof e?null!==e:n(e)}},1799:(e,t,r)=>{"use strict";var n=r(382),i=r(8473),s=r(3145);e.exports=!n&&!i(function(){return 7!==Object.defineProperty(s("div"),"a",{get:function(){return 7}}).a})},1807:(e,t,r)=>{"use strict";var n=r(274),i=Function.prototype.call;e.exports=n?i.bind(i):function(){return i.apply(i,arguments)}},1831:(e,t,r)=>{"use strict";var n=r(9557),i=r(5578),s=r(2095),o="__core-js_shared__",a=e.exports=i[o]||s(o,{});(a.versions||(a.versions=[])).push({version:"3.46.0",mode:n?"pure":"global",copyright:"© 2014-2025 Denis Pushkarev (zloirock.ru), 2025 CoreJS Company (core-js.io)",license:"https://github.com/zloirock/core-js/blob/v3.46.0/LICENSE",source:"https://github.com/zloirock/core-js"})},1851:(e,t,r)=>{"use strict";var n,i,s,o=r(8473),a=r(1483),c=r(1704),l=r(5290),u=r(3181),p=r(7914),d=r(1),h=r(9557),f=d("iterator"),g=!1;[].keys&&("next"in(s=[].keys())?(i=u(u(s)))!==Object.prototype&&(n=i):g=!0),!c(n)||o(function(){var e={};return n[f].call(e)!==e})?n={}:h&&(n=l(n)),a(n[f])||p(n,f,function(){return this}),e.exports={IteratorPrototype:n,BUGGY_SAFARI_ITERATORS:g}},1866:(e,t,r)=>{"use strict";var n=r(4762),i=0,s=Math.random(),o=n(1.1.toString);e.exports=function(e){return"Symbol("+(void 0===e?"":e)+")_"+o(++i+s,36)}},1975:(e,t,r)=>{"use strict";var n=r(8612),i=r(1807),s=r(8120),o=r(2293),a=r(41),c=r(8660),l=r(8901),u=r(9557),p=r(6721),d=r(7486),h=r(5267),f=!u&&!d("filter",function(){}),g=!u&&!f&&h("filter",TypeError),m=u||f||g,v=c(function(){for(var e,t,r=this.iterator,n=this.predicate,s=this.next;;){if(e=o(i(s,r)),this.done=!!e.done)return;if(t=e.value,l(r,n,[t,this.counter++],!0))return t}});n({target:"Iterator",proto:!0,real:!0,forced:m},{filter:function filter(e){o(this);try{s(e)}catch(e){p(this,"throw",e)}return g?i(g,this,e):new v(a(this),{predicate:e})}})},1983:(e,t,r)=>{"use strict";var n=r(6721);e.exports=function(e,t,r){for(var i=e.length-1;i>=0;i--)if(void 0!==e[i])try{r=n(e[i].iterator,t,r)}catch(e){t="throw",r=e}if("throw"===t)throw r;return r}},2048:(e,t,r)=>{"use strict";var n=r(382),i=r(5755),s=Function.prototype,o=n&&Object.getOwnPropertyDescriptor,a=i(s,"name"),c=a&&"something"===function something(){}.name,l=a&&(!n||n&&o(s,"name").configurable);e.exports={EXISTS:a,PROPER:c,CONFIGURABLE:l}},2095:(e,t,r)=>{"use strict";var n=r(5578),i=Object.defineProperty;e.exports=function(e,t){try{i(n,e,{value:t,configurable:!0,writable:!0})}catch(r){n[e]=t}return t}},2121:(e,t,r)=>{"use strict";var n=r(4762),i=r(8473),s=r(1278),o=Object,a=n("".split);e.exports=i(function(){return!o("z").propertyIsEnumerable(0)})?function(e){return"String"===s(e)?a(e,""):o(e)}:o},2278:(e,t,r)=>{"use strict";var n=r(6742),i=r(4741).concat("length","prototype");t.f=Object.getOwnPropertyNames||function getOwnPropertyNames(e){return n(e,i)}},2293:(e,t,r)=>{"use strict";var n=r(1704),i=String,s=TypeError;e.exports=function(e){if(n(e))return e;throw new s(i(e)+" is not an object")}},2313:(e,t,r)=>{"use strict";var n=r(7914);e.exports=function(e,t,r){for(var i in t)n(e,i,t[i],r);return e}},2347:(e,t,r)=>{"use strict";var n=r(3312),i=Object;e.exports=function(e){return i(n(e))}},2355:(e,t,r)=>{"use strict";var n=r(1807),i=r(1704),s=r(1423),o=r(2564),a=r(348),c=r(1),l=TypeError,u=c("toPrimitive");e.exports=function(e,t){if(!i(e)||s(e))return e;var r,c=o(e,u);if(c){if(void 0===t&&(t="default"),r=n(c,e,t),!i(r)||s(r))return r;throw new l("Can't convert object to primitive value")}return void 0===t&&(t="number"),a(e,t)}},2425:(e,t,r)=>{"use strict";var n=r(6784);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=n(r(641));t.default=i.default.extend({elements:null,getDefaultElements:()=>({}),bindEvents(){},onInit(){this.initElements(),this.bindEvents()},initElements(){this.elements=this.getDefaultElements()}})},2564:(e,t,r)=>{"use strict";var n=r(8120),i=r(5983);e.exports=function(e,t){var r=e[t];return i(r)?void 0:n(r)}},2811:(e,t,r)=>{"use strict";var n=r(1409);e.exports=n("document","documentElement")},2890:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,r(4846),r(6211);class _default extends elementorModules.ViewModule{getDefaultSettings(){return{selectors:{elements:".elementor-element",nestedDocumentElements:".elementor .elementor-element"},classes:{editMode:"elementor-edit-mode"}}}getDefaultElements(){const e=this.getSettings("selectors");return{$elements:this.$element.find(e.elements).not(this.$element.find(e.nestedDocumentElements))}}getDocumentSettings(e){let t;if(this.isEdit){t={};const e=elementor.settings.page.model;jQuery.each(e.getActiveControls(),r=>{t[r]=e.attributes[r]})}else t=this.$element.data("elementor-settings")||{};return this.getItems(t,e)}runElementsHandlers(){this.elements.$elements.each((e,t)=>setTimeout(()=>elementorFrontend.elementsHandler.runReadyTrigger(t)))}onInit(){this.$element=this.getSettings("$element"),super.onInit(),this.isEdit=this.$element.hasClass(this.getSettings("classes.editMode")),this.isEdit?elementor.on("document:loaded",()=>{elementor.settings.page.model.on("change",this.onSettingsChange.bind(this))}):this.runElementsHandlers()}onSettingsChange(){}}t.default=_default},2914:(e,t,r)=>{"use strict";var n=r(3786),i=r(8120),s=r(274),o=n(n.bind);e.exports=function(e,t){return i(e),void 0===t?e:s?o(e,t):function(){return e.apply(t,arguments)}}},2946:(e,t,r)=>{"use strict";var n=r(6784);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=n(r(751)),s=n(r(5213));class ArgsObject extends i.default{static getInstanceType(){return"ArgsObject"}constructor(e){super(),this.args=e}requireArgument(e,t=this.args){if(!Object.prototype.hasOwnProperty.call(t,e))throw Error(`${e} is required.`)}requireArgumentType(e,t,r=this.args){if(this.requireArgument(e,r),typeof r[e]!==t)throw Error(`${e} invalid type: ${t}.`)}requireArgumentInstance(e,t,r=this.args){if(this.requireArgument(e,r),!(r[e]instanceof t||(0,s.default)(r[e],t)))throw Error(`${e} invalid instance.`)}requireArgumentConstructor(e,t,r=this.args){if(this.requireArgument(e,r),r[e].constructor.toString()!==t.prototype.constructor.toString())throw Error(`${e} invalid constructor type.`)}}t.default=ArgsObject},2970:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,r(5724);t.default=class Scroll{static scrollObserver(e){let t=0;const r={root:e.root||null,rootMargin:e.offset||"0px",threshold:((e=0)=>{const t=[];if(e>0&&e<=100){const r=100/e;for(let e=0;e<=100;e+=r)t.push(e/100)}else t.push(0);return t})(e.sensitivity)};return new IntersectionObserver(function handleIntersect(r){const n=r[0].boundingClientRect.y,i=r[0].isIntersecting,s=n<t?"down":"up",o=Math.abs(parseFloat((100*r[0].intersectionRatio).toFixed(2)));e.callback({sensitivity:e.sensitivity,isInViewport:i,scrollPercentage:o,intersectionScrollDirection:s}),t=n},r)}static getElementViewportPercentage(e,t={}){const r=e[0].getBoundingClientRect(),n=t.start||0,i=t.end||0,s=window.innerHeight*n/100,o=window.innerHeight*i/100,a=r.top-window.innerHeight,c=0-a+s,l=r.top+s+e.height()-a+o,u=Math.max(0,Math.min(c/l,1));return parseFloat((100*u).toFixed(2))}static getPageScrollPercentage(e={},t){const r=e.start||0,n=e.end||0,i=t||document.documentElement.scrollHeight-document.documentElement.clientHeight,s=i*r/100,o=i+s+i*n/100;return(document.documentElement.scrollTop+document.body.scrollTop+s)/o*100}}},3005:(e,t,r)=>{"use strict";var n=r(1703);e.exports=function(e){var t=+e;return t!=t||0===t?0:n(t)}},3145:(e,t,r)=>{"use strict";var n=r(5578),i=r(1704),s=n.document,o=i(s)&&i(s.createElement);e.exports=function(e){return o?s.createElement(e):{}}},3181:(e,t,r)=>{"use strict";var n=r(5755),i=r(1483),s=r(2347),o=r(5409),a=r(9441),c=o("IE_PROTO"),l=Object,u=l.prototype;e.exports=a?l.getPrototypeOf:function(e){var t=s(e);if(n(t,c))return t[c];var r=t.constructor;return i(r)&&t instanceof r?r.prototype:t instanceof l?u:null}},3242:(e,t,r)=>{"use strict";var n=r(8612),i=r(1807),s=r(1506),o=r(8120),a=r(2293),c=r(41),l=r(6721),u=r(5267)("find",TypeError);n({target:"Iterator",proto:!0,real:!0,forced:u},{find:function find(e){a(this);try{o(e)}catch(e){l(this,"throw",e)}if(u)return i(u,this,e);var t=c(this),r=0;return s(t,function(t,n){if(e(t,r++))return n(t)},{IS_RECORD:!0,INTERRUPTED:!0}).result}})},3312:(e,t,r)=>{"use strict";var n=r(5983),i=TypeError;e.exports=function(e){if(n(e))throw new i("Can't call method on "+e);return e}},3392:(e,t,r)=>{"use strict";var n=r(3005),i=Math.max,s=Math.min;e.exports=function(e,t){var r=n(e);return r<0?i(r+t,0):s(r,t)}},3617:(e,t,r)=>{"use strict";var n=r(8612),i=r(5578),s=r(6021),o=r(2293),a=r(1483),c=r(3181),l=r(3864),u=r(670),p=r(8473),d=r(5755),h=r(1),f=r(1851).IteratorPrototype,g=r(382),m=r(9557),v="constructor",y="Iterator",w=h("toStringTag"),b=TypeError,S=i[y],x=m||!a(S)||S.prototype!==f||!p(function(){S({})}),E=function Iterator(){if(s(this,f),c(this)===f)throw new b("Abstract class Iterator not directly constructable")},defineIteratorPrototypeAccessor=function(e,t){g?l(f,e,{configurable:!0,get:function(){return t},set:function(t){if(o(this),this===f)throw new b("You can't redefine this property");d(this,e)?this[e]=t:u(this,e,t)}}):f[e]=t};d(f,w)||defineIteratorPrototypeAccessor(w,y),!x&&d(f,v)&&f[v]!==Object||defineIteratorPrototypeAccessor(v,E),E.prototype=f,n({global:!0,constructor:!0,forced:x},{Iterator:E})},3658:(e,t,r)=>{"use strict";var n=r(6742),i=r(4741);e.exports=Object.keys||function keys(e){return n(e,i)}},3786:(e,t,r)=>{"use strict";var n=r(1278),i=r(4762);e.exports=function(e){if("Function"===n(e))return i(e)}},3815:(e,t,r)=>{"use strict";var n=r(2355),i=r(1423);e.exports=function(e){var t=n(e,"string");return i(t)?t:t+""}},3864:(e,t,r)=>{"use strict";var n=r(169),i=r(5835);e.exports=function(e,t,r){return r.get&&n(r.get,t,{getter:!0}),r.set&&n(r.set,t,{setter:!0}),i.f(e,t,r)}},3896:(e,t,r)=>{"use strict";var n=r(382),i=r(8473);e.exports=n&&i(function(){return 42!==Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype})},3980:(e,t,r)=>{"use strict";var n=r(6784);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,r(5724);var i=n(r(2425));t.default=i.default.extend({getDefaultSettings:()=>({container:null,items:null,columnsCount:3,verticalSpaceBetween:30}),getDefaultElements(){return{$container:jQuery(this.getSettings("container")),$items:jQuery(this.getSettings("items"))}},run(){var e=[],t=this.elements.$container.position().top,r=this.getSettings(),n=r.columnsCount;t+=parseInt(this.elements.$container.css("margin-top"),10),this.elements.$items.each(function(i){var s=Math.floor(i/n),o=jQuery(this),a=o[0].getBoundingClientRect().height+r.verticalSpaceBetween;if(s){var c=o.position(),l=i%n,u=c.top-t-e[l];u-=parseInt(o.css("margin-top"),10),u*=-1,o.css("margin-top",u+"px"),e[l]+=a}else e.push(a)})}})},3991:(e,t,r)=>{"use strict";var n=r(8612),i=r(1807),s=r(8120),o=r(2293),a=r(41),c=r(8660),l=r(8901),u=r(6721),p=r(7486),d=r(5267),h=r(9557),f=!h&&!p("map",function(){}),g=!h&&!f&&d("map",TypeError),m=h||f||g,v=c(function(){var e=this.iterator,t=o(i(this.next,e));if(!(this.done=!!t.done))return l(e,this.mapper,[t.value,this.counter++],!0)});n({target:"Iterator",proto:!0,real:!0,forced:m},{map:function map(e){o(this);try{s(e)}catch(e){u(this,"throw",e)}return g?i(g,this,e):new v(a(this),{mapper:e})}})},4338:(e,t,r)=>{"use strict";var n={};n[r(1)("toStringTag")]="z",e.exports="[object z]"===String(n)},4347:(e,t)=>{"use strict";t.f=Object.getOwnPropertySymbols},4364:(e,t,r)=>{"use strict";r(3991)},4483:(e,t,r)=>{"use strict";var n,i,s,o=r(4644),a=r(5578),c=r(1704),l=r(9037),u=r(5755),p=r(1831),d=r(5409),h=r(1507),f="Object already initialized",g=a.TypeError,m=a.WeakMap;if(o||p.state){var v=p.state||(p.state=new m);v.get=v.get,v.has=v.has,v.set=v.set,n=function(e,t){if(v.has(e))throw new g(f);return t.facade=e,v.set(e,t),t},i=function(e){return v.get(e)||{}},s=function(e){return v.has(e)}}else{var y=d("state");h[y]=!0,n=function(e,t){if(u(e,y))throw new g(f);return t.facade=e,l(e,y,t),t},i=function(e){return u(e,y)?e[y]:{}},s=function(e){return u(e,y)}}e.exports={set:n,get:i,has:s,enforce:function(e){return s(e)?i(e):n(e,{})},getterFor:function(e){return function(t){var r;if(!c(t)||(r=i(t)).type!==e)throw new g("Incompatible receiver, "+e+" required");return r}}}},4644:(e,t,r)=>{"use strict";var n=r(5578),i=r(1483),s=n.WeakMap;e.exports=i(s)&&/native code/.test(String(s))},4741:e=>{"use strict";e.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},4762:(e,t,r)=>{"use strict";var n=r(274),i=Function.prototype,s=i.call,o=n&&i.bind.bind(s,s);e.exports=n?o:function(e){return function(){return s.apply(e,arguments)}}},4815:(e,t,r)=>{"use strict";var n=r(4762);e.exports=n({}.isPrototypeOf)},4846:(e,t,r)=>{"use strict";r(3617)},4887:(e,t,r)=>{"use strict";var n=r(1807),i=r(8120),s=r(2293),o=r(8761),a=r(6665),c=TypeError;e.exports=function(e,t){var r=arguments.length<2?a(e):t;if(i(r))return s(n(r,e));throw new c(o(e)+" is not iterable")}},4914:(e,t,r)=>{"use strict";var n=r(1278);e.exports=Array.isArray||function isArray(e){return"Array"===n(e)}},4946:(e,t,r)=>{"use strict";var n=r(6784),i=n(r(1265)),s=n(r(2890)),o=n(r(7955)),a=n(r(8140)),c=n(r(7224)),l=n(r(5633)),u=n(r(9603));i.default.frontend={Document:s.default,tools:{StretchElement:o.default},handlers:{Base:c.default,StretchedElement:a.default,SwiperBase:l.default,CarouselBase:u.default}}},4961:(e,t,r)=>{"use strict";var n=r(382),i=r(1807),s=r(7611),o=r(7738),a=r(5599),c=r(3815),l=r(5755),u=r(1799),p=Object.getOwnPropertyDescriptor;t.f=n?p:function getOwnPropertyDescriptor(e,t){if(e=a(e),t=c(t),u)try{return p(e,t)}catch(e){}if(l(e,t))return o(!i(s.f,e,t),e[t])}},5022:(e,t,r)=>{"use strict";var n=r(6029);e.exports=n&&!Symbol.sham&&"symbol"==typeof Symbol.iterator},5213:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;t.default=(e,t)=>{t=Array.isArray(t)?t:[t];for(const r of t)if(e.constructor.name===r.prototype[Symbol.toStringTag])return!0;return!1}},5247:e=>{"use strict";e.exports=function(e,t){return{value:e,done:t}}},5267:(e,t,r)=>{"use strict";var n=r(5578);e.exports=function(e,t){var r=n.Iterator,i=r&&r.prototype,s=i&&i[e],o=!1;if(s)try{s.call({next:function(){return{done:!0}},return:function(){o=!0}},-1)}catch(e){e instanceof t||(o=!1)}if(!o)return s}},5290:(e,t,r)=>{"use strict";var n,i=r(2293),s=r(5799),o=r(4741),a=r(1507),c=r(2811),l=r(3145),u=r(5409),p="prototype",d="script",h=u("IE_PROTO"),EmptyConstructor=function(){},scriptTag=function(e){return"<"+d+">"+e+"</"+d+">"},NullProtoObjectViaActiveX=function(e){e.write(scriptTag("")),e.close();var t=e.parentWindow.Object;return e=null,t},NullProtoObject=function(){try{n=new ActiveXObject("htmlfile")}catch(e){}var e,t,r;NullProtoObject="undefined"!=typeof document?document.domain&&n?NullProtoObjectViaActiveX(n):(t=l("iframe"),r="java"+d+":",t.style.display="none",c.appendChild(t),t.src=String(r),(e=t.contentWindow.document).open(),e.write(scriptTag("document.F=Object")),e.close(),e.F):NullProtoObjectViaActiveX(n);for(var i=o.length;i--;)delete NullProtoObject[p][o[i]];return NullProtoObject()};a[h]=!0,e.exports=Object.create||function create(e,t){var r;return null!==e?(EmptyConstructor[p]=i(e),r=new EmptyConstructor,EmptyConstructor[p]=null,r[h]=e):r=NullProtoObject(),void 0===t?r:s.f(r,t)}},5299:(e,t,r)=>{"use strict";var n=r(1),i=r(6775),s=n("iterator"),o=Array.prototype;e.exports=function(e){return void 0!==e&&(i.Array===e||o[s]===e)}},5409:(e,t,r)=>{"use strict";var n=r(7255),i=r(1866),s=n("keys");e.exports=function(e){return s[e]||(s[e]=i(e))}},5578:function(e,t,r){"use strict";var check=function(e){return e&&e.Math===Math&&e};e.exports=check("object"==typeof globalThis&&globalThis)||check("object"==typeof window&&window)||check("object"==typeof self&&self)||check("object"==typeof r.g&&r.g)||check("object"==typeof this&&this)||function(){return this}()||Function("return this")()},5599:(e,t,r)=>{"use strict";var n=r(2121),i=r(3312);e.exports=function(e){return n(i(e))}},5633:(e,t,r)=>{"use strict";var n=r(6784);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=n(r(7224));class SwiperHandlerBase extends i.default{getInitialSlide(){const e=this.getEditSettings();return e.activeItemIndex?e.activeItemIndex-1:0}getSlidesCount(){return this.elements.$slides.length}togglePauseOnHover(e){e?this.elements.$swiperContainer.on({mouseenter:()=>{this.swiper.autoplay.stop()},mouseleave:()=>{this.swiper.autoplay.start()}}):this.elements.$swiperContainer.off("mouseenter mouseleave")}handleKenBurns(){const e=this.getSettings();this.$activeImageBg&&this.$activeImageBg.removeClass(e.classes.kenBurnsActive),this.activeItemIndex=this.swiper?this.swiper.activeIndex:this.getInitialSlide(),this.swiper?this.$activeImageBg=jQuery(this.swiper.slides[this.activeItemIndex]).children("."+e.classes.slideBackground):this.$activeImageBg=jQuery(this.elements.$slides[0]).children("."+e.classes.slideBackground),this.$activeImageBg.addClass(e.classes.kenBurnsActive)}}t.default=SwiperHandlerBase},5724:(e,t,r)=>{"use strict";var n=r(8612),i=r(2347),s=r(6960),o=r(9273),a=r(1091);n({target:"Array",proto:!0,arity:1,forced:r(8473)(function(){return 4294967297!==[].push.call({length:4294967296},1)})||!function(){try{Object.defineProperty([],"length",{writable:!1}).push()}catch(e){return e instanceof TypeError}}()},{push:function push(e){var t=i(this),r=s(t),n=arguments.length;a(r+n);for(var c=0;c<n;c++)t[r]=arguments[c],r++;return o(t,r),r}})},5755:(e,t,r)=>{"use strict";var n=r(4762),i=r(2347),s=n({}.hasOwnProperty);e.exports=Object.hasOwn||function hasOwn(e,t){return s(i(e),t)}},5799:(e,t,r)=>{"use strict";var n=r(382),i=r(3896),s=r(5835),o=r(2293),a=r(5599),c=r(3658);t.f=n&&!i?Object.defineProperties:function defineProperties(e,t){o(e);for(var r,n=a(t),i=c(t),l=i.length,u=0;l>u;)s.f(e,r=i[u++],n[r]);return e}},5835:(e,t,r)=>{"use strict";var n=r(382),i=r(1799),s=r(3896),o=r(2293),a=r(3815),c=TypeError,l=Object.defineProperty,u=Object.getOwnPropertyDescriptor,p="enumerable",d="configurable",h="writable";t.f=n?s?function defineProperty(e,t,r){if(o(e),t=a(t),o(r),"function"==typeof e&&"prototype"===t&&"value"in r&&h in r&&!r[h]){var n=u(e,t);n&&n[h]&&(e[t]=r.value,r={configurable:d in r?r[d]:n[d],enumerable:p in r?r[p]:n[p],writable:!1})}return l(e,t,r)}:l:function defineProperty(e,t,r){if(o(e),t=a(t),o(r),i)try{return l(e,t,r)}catch(e){}if("get"in r||"set"in r)throw new c("Accessors not supported");return"value"in r&&(e[t]=r.value),e}},5983:e=>{"use strict";e.exports=function(e){return null==e}},6021:(e,t,r)=>{"use strict";var n=r(4815),i=TypeError;e.exports=function(e,t){if(n(t,e))return e;throw new i("Incorrect invocation")}},6029:(e,t,r)=>{"use strict";var n=r(6477),i=r(8473),s=r(5578).String;e.exports=!!Object.getOwnPropertySymbols&&!i(function(){var e=Symbol("symbol detection");return!s(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&n&&n<41})},6145:(e,t,r)=>{"use strict";var n=r(4338),i=r(1483),s=r(1278),o=r(1)("toStringTag"),a=Object,c="Arguments"===s(function(){return arguments}());e.exports=n?s:function(e){var t,r,n;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(r=function(e,t){try{return e[t]}catch(e){}}(t=a(e),o))?r:c?s(t):"Object"===(n=s(t))&&i(t.callee)?"Arguments":n}},6211:(e,t,r)=>{"use strict";r(3242)},6477:(e,t,r)=>{"use strict";var n,i,s=r(5578),o=r(9461),a=s.process,c=s.Deno,l=a&&a.versions||c&&c.version,u=l&&l.v8;u&&(i=(n=u.split("."))[0]>0&&n[0]<4?1:+(n[0]+n[1])),!i&&o&&(!(n=o.match(/Edge\/(\d+)/))||n[1]>=74)&&(n=o.match(/Chrome\/(\d+)/))&&(i=+n[1]),e.exports=i},6651:(e,t,r)=>{"use strict";var n=r(5599),i=r(3392),s=r(6960),createMethod=function(e){return function(t,r,o){var a=n(t),c=s(a);if(0===c)return!e&&-1;var l,u=i(o,c);if(e&&r!=r){for(;c>u;)if((l=a[u++])!=l)return!0}else for(;c>u;u++)if((e||u in a)&&a[u]===r)return e||u||0;return!e&&-1}};e.exports={includes:createMethod(!0),indexOf:createMethod(!1)}},6665:(e,t,r)=>{"use strict";var n=r(6145),i=r(2564),s=r(5983),o=r(6775),a=r(1)("iterator");e.exports=function(e){if(!s(e))return i(e,a)||i(e,"@@iterator")||o[n(e)]}},6721:(e,t,r)=>{"use strict";var n=r(1807),i=r(2293),s=r(2564);e.exports=function(e,t,r){var o,a;i(e);try{if(!(o=s(e,"return"))){if("throw"===t)throw r;return r}o=n(o,e)}catch(e){a=!0,o=e}if("throw"===t)throw r;if(a)throw o;return i(o),r}},6726:(e,t,r)=>{"use strict";var n=r(5755),i=r(9497),s=r(4961),o=r(5835);e.exports=function(e,t,r){for(var a=i(t),c=o.f,l=s.f,u=0;u<a.length;u++){var p=a[u];n(e,p)||r&&n(r,p)||c(e,p,l(t,p))}}},6742:(e,t,r)=>{"use strict";var n=r(4762),i=r(5755),s=r(5599),o=r(6651).indexOf,a=r(1507),c=n([].push);e.exports=function(e,t){var r,n=s(e),l=0,u=[];for(r in n)!i(a,r)&&i(n,r)&&c(u,r);for(;t.length>l;)i(n,r=t[l++])&&(~o(u,r)||c(u,r));return u}},6775:e=>{"use strict";e.exports={}},6784:e=>{e.exports=function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}},e.exports.__esModule=!0,e.exports.default=e.exports},6960:(e,t,r)=>{"use strict";var n=r(8324);e.exports=function(e){return n(e.length)}},7224:(e,t,r)=>{"use strict";r(5724),r(4846),r(7458),r(6211),r(9655),e.exports=elementorModules.ViewModule.extend({$element:null,editorListeners:null,onElementChange:null,onEditSettingsChange:null,onPageSettingsChange:null,isEdit:null,__construct(e){this.isActive(e)&&(this.$element=e.$element,this.isEdit=this.$element.hasClass("elementor-element-edit-mode"),this.isEdit&&this.addEditorListeners())},isActive:()=>!0,isElementInTheCurrentDocument(){return!!elementorFrontend.isEditMode()&&elementor.documents.currentDocument.id.toString()===this.$element[0].closest(".elementor").dataset.elementorId},findElement(e){var t=this.$element;return t.find(e).filter(function(){return jQuery(this).parent().closest(".elementor-element").is(t)})},getUniqueHandlerID(e,t){return e||(e=this.getModelCID()),t||(t=this.$element),e+t.attr("data-element_type")+this.getConstructorID()},initEditorListeners(){var e=this;if(e.editorListeners=[{event:"element:destroy",to:elementor.channels.data,callback(t){t.cid===e.getModelCID()&&e.onDestroy()}}],e.onElementChange){const t=e.getWidgetType()||e.getElementType();let r="change";"global"!==t&&(r+=":"+t),e.editorListeners.push({event:r,to:elementor.channels.editor,callback(t,r){e.getUniqueHandlerID(r.model.cid,r.$el)===e.getUniqueHandlerID()&&e.onElementChange(t.model.get("name"),t,r)}})}e.onEditSettingsChange&&e.editorListeners.push({event:"change:editSettings",to:elementor.channels.editor,callback(t,r){if(r.model.cid!==e.getModelCID())return;const n=Object.keys(t.changed)[0];e.onEditSettingsChange(n,t.changed[n])}}),["page"].forEach(function(t){var r="on"+t[0].toUpperCase()+t.slice(1)+"SettingsChange";e[r]&&e.editorListeners.push({event:"change",to:elementor.settings[t].model,callback(t){e[r](t.changed)}})})},getEditorListeners(){return this.editorListeners||this.initEditorListeners(),this.editorListeners},addEditorListeners(){var e=this.getUniqueHandlerID();this.getEditorListeners().forEach(function(t){elementorFrontend.addListenerOnce(e,t.event,t.callback,t.to)})},removeEditorListeners(){var e=this.getUniqueHandlerID();this.getEditorListeners().forEach(function(t){elementorFrontend.removeListeners(e,t.event,null,t.to)})},getElementType(){return this.$element.data("element_type")},getWidgetType(){const e=this.$element.data("widget_type");if(e)return e.split(".")[0]},getID(){return this.$element.data("id")},getModelCID(){return this.$element.data("model-cid")},getElementSettings(e){let t={};const r=this.getModelCID();if(this.isEdit&&r){const e=elementorFrontend.config.elements.data[r],n=e.attributes;let i=n.widgetType||n.elType;n.isInner&&(i="inner-"+i);let s=elementorFrontend.config.elements.keys[i];s||(s=elementorFrontend.config.elements.keys[i]=[],jQuery.each(e.controls,(e,t)=>{(t.frontend_available||t.editor_available)&&s.push(e)})),jQuery.each(e.getActiveControls(),function(e){if(-1!==s.indexOf(e)){let r=n[e];r.toJSON&&(r=r.toJSON()),t[e]=r}})}else t=this.$element.data("settings")||{};return this.getItems(t,e)},getEditSettings(e){var t={};return this.isEdit&&(t=elementorFrontend.config.elements.editSettings[this.getModelCID()].attributes),this.getItems(t,e)},getCurrentDeviceSetting(e){return elementorFrontend.getCurrentDeviceSetting(this.getElementSettings(),e)},onInit(){this.isActive(this.getSettings())&&elementorModules.ViewModule.prototype.onInit.apply(this,arguments)},onDestroy(){this.isEdit&&this.removeEditorListeners(),this.unbindEvents&&this.unbindEvents()}})},7255:(e,t,r)=>{"use strict";var n=r(1831);e.exports=function(e,t){return n[e]||(n[e]=t||{})}},7268:(e,t,r)=>{"use strict";var n=r(4762),i=r(1483),s=r(1831),o=n(Function.toString);i(s.inspectSource)||(s.inspectSource=function(e){return o(e)}),e.exports=s.inspectSource},7458:(e,t,r)=>{"use strict";r(1975)},7486:e=>{"use strict";e.exports=function(e,t){var r="function"==typeof Iterator&&Iterator.prototype[e];if(r)try{r.call({next:null},t).next()}catch(e){return!0}}},7611:(e,t)=>{"use strict";var r={}.propertyIsEnumerable,n=Object.getOwnPropertyDescriptor,i=n&&!r.call({1:2},1);t.f=i?function propertyIsEnumerable(e){var t=n(this,e);return!!t&&t.enumerable}:r},7738:e=>{"use strict";e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},7914:(e,t,r)=>{"use strict";var n=r(1483),i=r(5835),s=r(169),o=r(2095);e.exports=function(e,t,r,a){a||(a={});var c=a.enumerable,l=void 0!==a.name?a.name:t;if(n(r)&&s(r,l,a),a.global)c?e[t]=r:o(t,r);else{try{a.unsafe?e[t]&&(c=!0):delete e[t]}catch(e){}c?e[t]=r:i.f(e,t,{value:r,enumerable:!1,configurable:!a.nonConfigurable,writable:!a.nonWritable})}return e}},7955:e=>{"use strict";e.exports=elementorModules.ViewModule.extend({getDefaultSettings:()=>({element:null,direction:elementorFrontend.config.is_rtl?"right":"left",selectors:{container:window},considerScrollbar:!1,cssOutput:"inline"}),getDefaultElements(){return{$element:jQuery(this.getSettings("element"))}},stretch(){const e=this.getSettings();let t;try{t=jQuery(e.selectors.container)}catch(e){}t&&t.length||(t=jQuery(this.getDefaultSettings().selectors.container)),this.reset();var r=this.elements.$element,n=t.innerWidth(),i=r.offset().left,s="fixed"===r.css("position"),o=s?0:i,a=window===t[0];if(!a){var c=t.offset().left;s&&(o=c),i>c&&(o=i-c)}if(e.considerScrollbar&&a){o-=window.innerWidth-n}s||(elementorFrontend.config.is_rtl&&(o=n-(r.outerWidth()+o)),o=-o),e.margin&&(o+=e.margin);var l={};let u=n;e.margin&&(u-=2*e.margin),l.width=u+"px",l[e.direction]=o+"px","variables"!==e.cssOutput?r.css(l):this.applyCssVariables(r,l)},reset(){const e={},t=this.getSettings(),r=this.elements.$element;"variables"!==t.cssOutput?(e.width="",e[t.direction]="",r.css(e)):this.resetCssVariables(r)},applyCssVariables(e,t){e.css("--stretch-width",t.width),t.left?e.css("--stretch-left",t.left):e.css("--stretch-right",t.right)},resetCssVariables(e){e.css({"--stretch-width":"","--stretch-left":"","--stretch-right":""})}})},7958:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BaseRegistry=void 0,r(4846),r(7458),r(9655),r(4364);t.BaseRegistry=class BaseRegistry{constructor(){this.sections=new Map}register(e){if(!e.key||!e.title)throw new Error("Template type must have key and title");const t=this.get(e.key)||this.formatSection(e);if(e.children)if(t.children){const r=new Map(t.children.map(e=>[e.key,e]));e.children.forEach(e=>{const t=this.formatSection(e);r.set(e.key,t)}),t.children=Array.from(r.values())}else t.children=e.children.map(e=>this.formatSection(e));this.sections.set(e.key,t)}formatSection({children:e,...t}){return{key:t.key,title:t.title,description:t.description||"",useParentDefault:!1!==t.useParentDefault,getInitialState:t.getInitialState||null,component:t.component||null,order:t.order||10,isAvailable:t.isAvailable||(()=>!0),...t}}getAll(){return Array.from(this.sections.values()).filter(e=>e.isAvailable()).map(e=>e.children?{...e,children:[...e.children].sort((e,t)=>e.order-t.order)}:e).sort((e,t)=>e.order-t.order)}get(e){return this.sections.get(e)}}},8120:(e,t,r)=>{"use strict";var n=r(1483),i=r(8761),s=TypeError;e.exports=function(e){if(n(e))return e;throw new s(i(e)+" is not a function")}},8140:(e,t,r)=>{"use strict";var n=r(6784);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,r(4846),r(6211);var i=n(r(7224));class StretchedElement extends i.default{getStretchedClass(){return"e-stretched"}getStretchSettingName(){return"stretch_element"}getStretchActiveValue(){return"yes"}bindEvents(){const e=this.getUniqueHandlerID();elementorFrontend.addListenerOnce(e,"resize",this.stretch),elementorFrontend.addListenerOnce(e,"sticky:stick",this.stretch,this.$element),elementorFrontend.addListenerOnce(e,"sticky:unstick",this.stretch,this.$element),elementorFrontend.isEditMode()&&(this.onKitChangeStretchContainerChange=this.onKitChangeStretchContainerChange.bind(this),elementor.channels.editor.on("kit:change:stretchContainer",this.onKitChangeStretchContainerChange))}unbindEvents(){elementorFrontend.removeListeners(this.getUniqueHandlerID(),"resize",this.stretch),elementorFrontend.isEditMode()&&elementor.channels.editor.off("kit:change:stretchContainer",this.onKitChangeStretchContainerChange)}isActive(e){return elementorFrontend.isEditMode()||e.$element.hasClass(this.getStretchedClass())}getStretchElementForConfig(e=null){return e?this.$element.find(e):this.$element}getStretchElementConfig(){return{element:this.getStretchElementForConfig(),selectors:{container:this.getStretchContainer()},considerScrollbar:elementorFrontend.isEditMode()&&elementorFrontend.config.is_rtl}}initStretch(){this.stretch=this.stretch.bind(this),this.stretchElement=new elementorModules.frontend.tools.StretchElement(this.getStretchElementConfig())}getStretchContainer(){return elementorFrontend.getKitSettings("stretched_section_container")||window}isStretchSettingEnabled(){return this.getElementSettings(this.getStretchSettingName())===this.getStretchActiveValue()}stretch(){this.isStretchSettingEnabled()&&this.stretchElement.stretch()}onInit(...e){this.isActive(this.getSettings())&&(this.initStretch(),super.onInit(...e),this.stretch())}onElementChange(e){this.getStretchSettingName()===e&&(this.isStretchSettingEnabled()?this.stretch():this.stretchElement.reset())}onKitChangeStretchContainerChange(){this.stretchElement.setSettings("selectors.container",this.getStretchContainer()),this.stretch()}}t.default=StretchedElement},8324:(e,t,r)=>{"use strict";var n=r(3005),i=Math.min;e.exports=function(e){var t=n(e);return t>0?i(t,9007199254740991):0}},8473:e=>{"use strict";e.exports=function(e){try{return!!e()}catch(e){return!0}}},8612:(e,t,r)=>{"use strict";var n=r(5578),i=r(4961).f,s=r(9037),o=r(7914),a=r(2095),c=r(6726),l=r(8730);e.exports=function(e,t){var r,u,p,d,h,f=e.target,g=e.global,m=e.stat;if(r=g?n:m?n[f]||a(f,{}):n[f]&&n[f].prototype)for(u in t){if(d=t[u],p=e.dontCallGetSet?(h=i(r,u))&&h.value:r[u],!l(g?u:f+(m?".":"#")+u,e.forced)&&void 0!==p){if(typeof d==typeof p)continue;c(d,p)}(e.sham||p&&p.sham)&&s(d,"sham",!0),o(r,u,d,e)}}},8660:(e,t,r)=>{"use strict";var n=r(1807),i=r(5290),s=r(9037),o=r(2313),a=r(1),c=r(4483),l=r(2564),u=r(1851).IteratorPrototype,p=r(5247),d=r(6721),h=r(1983),f=a("toStringTag"),g="IteratorHelper",m="WrapForValidIterator",v="normal",y="throw",w=c.set,createIteratorProxyPrototype=function(e){var t=c.getterFor(e?m:g);return o(i(u),{next:function next(){var r=t(this);if(e)return r.nextHandler();if(r.done)return p(void 0,!0);try{var n=r.nextHandler();return r.returnHandlerResult?n:p(n,r.done)}catch(e){throw r.done=!0,e}},return:function(){var r=t(this),i=r.iterator;if(r.done=!0,e){var s=l(i,"return");return s?n(s,i):p(void 0,!0)}if(r.inner)try{d(r.inner.iterator,v)}catch(e){return d(i,y,e)}if(r.openIters)try{h(r.openIters,v)}catch(e){return d(i,y,e)}return i&&d(i,v),p(void 0,!0)}})},b=createIteratorProxyPrototype(!0),S=createIteratorProxyPrototype(!1);s(S,f,"Iterator Helper"),e.exports=function(e,t,r){var n=function Iterator(n,i){i?(i.iterator=n.iterator,i.next=n.next):i=n,i.type=t?m:g,i.returnHandlerResult=!!r,i.nextHandler=e,i.counter=0,i.done=!1,w(this,i)};return n.prototype=t?b:S,n}},8685:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.ForceMethodImplementation=void 0;class ForceMethodImplementation extends Error{constructor(e={},t={}){super(`${e.isStatic?"static ":""}${e.fullName}() should be implemented, please provide '${e.functionName||e.fullName}' functionality.`,t),Object.keys(t).length&&console.error(t),Error.captureStackTrace(this,ForceMethodImplementation)}}t.ForceMethodImplementation=ForceMethodImplementation;t.default=e=>{const t=Error().stack.split("\n")[2].trim(),r=t.startsWith("at new")?"constructor":t.split(" ")[1],n={};if(n.functionName=r,n.fullName=r,n.functionName.includes(".")){const e=n.functionName.split(".");n.className=e[0],n.functionName=e[1]}else n.isStatic=!0;throw new ForceMethodImplementation(n,e)}},8730:(e,t,r)=>{"use strict";var n=r(8473),i=r(1483),s=/#|\.prototype\./,isForced=function(e,t){var r=a[o(e)];return r===l||r!==c&&(i(t)?n(t):!!t)},o=isForced.normalize=function(e){return String(e).replace(s,".").toLowerCase()},a=isForced.data={},c=isForced.NATIVE="N",l=isForced.POLYFILL="P";e.exports=isForced},8761:e=>{"use strict";var t=String;e.exports=function(e){try{return t(e)}catch(e){return"Object"}}},8901:(e,t,r)=>{"use strict";var n=r(2293),i=r(6721);e.exports=function(e,t,r,s){try{return s?t(n(r)[0],r[1]):t(r)}catch(t){i(e,"throw",t)}}},9031:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createGetInitialState=function createGetInitialState(e,t={}){return(r,n)=>{let i=n;if(r.hasOwnProperty("uploadedData")){i=!1;const t=r.uploadedData.manifest.templates,n=elementorAppConfig?.["import-export-customization"]?.exportGroups||{};for(const r in t){if(n[t[r].doc_type]===e){i=!0;break}}}return{enabled:i,...t}}}},9037:(e,t,r)=>{"use strict";var n=r(382),i=r(5835),s=r(7738);e.exports=n?function(e,t,r){return i.f(e,t,s(1,r))}:function(e,t,r){return e[t]=r,e}},9273:(e,t,r)=>{"use strict";var n=r(382),i=r(4914),s=TypeError,o=Object.getOwnPropertyDescriptor,a=n&&!function(){if(void 0!==this)return!0;try{Object.defineProperty([],"length",{writable:!1}).length=1}catch(e){return e instanceof TypeError}}();e.exports=a?function(e,t){if(i(e)&&!o(e,"length").writable)throw new s("Cannot set read only .length");return e.length=t}:function(e,t){return e.length=t}},9441:(e,t,r)=>{"use strict";var n=r(8473);e.exports=!n(function(){function F(){}return F.prototype.constructor=null,Object.getPrototypeOf(new F)!==F.prototype})},9461:(e,t,r)=>{"use strict";var n=r(5578).navigator,i=n&&n.userAgent;e.exports=i?String(i):""},9497:(e,t,r)=>{"use strict";var n=r(1409),i=r(4762),s=r(2278),o=r(4347),a=r(2293),c=i([].concat);e.exports=n("Reflect","ownKeys")||function ownKeys(e){var t=s.f(a(e)),r=o.f;return r?c(t,r(e)):t}},9557:e=>{"use strict";e.exports=!1},9603:(e,t,r)=>{"use strict";var n=r(6784);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,r(4846),r(6211),r(9655);var i=n(r(5633));class CarouselHandlerBase extends i.default{getDefaultSettings(){return{selectors:{carousel:".swiper",swiperWrapper:".swiper-wrapper",slideContent:".swiper-slide",swiperArrow:".elementor-swiper-button",paginationWrapper:".swiper-pagination",paginationBullet:".swiper-pagination-bullet",paginationBulletWrapper:".swiper-pagination-bullets"}}}getDefaultElements(){const e=this.getSettings("selectors"),t={$swiperContainer:this.$element.find(e.carousel),$swiperWrapper:this.$element.find(e.swiperWrapper),$swiperArrows:this.$element.find(e.swiperArrow),$paginationWrapper:this.$element.find(e.paginationWrapper),$paginationBullets:this.$element.find(e.paginationBullet),$paginationBulletWrapper:this.$element.find(e.paginationBulletWrapper)};return t.$slides=t.$swiperContainer.find(e.slideContent),t}getSwiperSettings(){const e=this.getElementSettings(),t=+e.slides_to_show||3,r=1===t,n=elementorFrontend.config.responsive.activeBreakpoints,i={mobile:1,tablet:r?1:2},s={slidesPerView:t,loop:"yes"===e.infinite,speed:e.speed,handleElementorBreakpoints:!0,breakpoints:{}};let o=t;Object.keys(n).reverse().forEach(t=>{const r=i[t]?i[t]:o;s.breakpoints[n[t].value]={slidesPerView:+e["slides_to_show_"+t]||r,slidesPerGroup:+e["slides_to_scroll_"+t]||1},e.image_spacing_custom&&(s.breakpoints[n[t].value].spaceBetween=this.getSpaceBetween(t)),o=+e["slides_to_show_"+t]||r}),"yes"===e.autoplay&&(s.autoplay={delay:e.autoplay_speed,disableOnInteraction:"yes"===e.pause_on_interaction}),r?(s.effect=e.effect,"fade"===e.effect&&(s.fadeEffect={crossFade:!0})):s.slidesPerGroup=+e.slides_to_scroll||1,e.image_spacing_custom&&(s.spaceBetween=this.getSpaceBetween());const a="arrows"===e.navigation||"both"===e.navigation,c="dots"===e.navigation||"both"===e.navigation||e.pagination;return a&&(s.navigation={prevEl:".elementor-swiper-button-prev",nextEl:".elementor-swiper-button-next"}),c&&(s.pagination={el:`.elementor-element-${this.getID()} .swiper-pagination`,type:e.pagination?e.pagination:"bullets",clickable:!0,renderBullet:(e,t)=>`<span class="${t}" role="button" tabindex="0" data-bullet-index="${e}" aria-label="${elementorFrontend.config.i18n.a11yCarouselPaginationBulletMessage} ${e+1}"></span>`}),"yes"===e.lazyload&&(s.lazy={loadPrevNext:!0,loadPrevNextAmount:1}),s.a11y={enabled:!0,prevSlideMessage:elementorFrontend.config.i18n.a11yCarouselPrevSlideMessage,nextSlideMessage:elementorFrontend.config.i18n.a11yCarouselNextSlideMessage,firstSlideMessage:elementorFrontend.config.i18n.a11yCarouselFirstSlideMessage,lastSlideMessage:elementorFrontend.config.i18n.a11yCarouselLastSlideMessage},s.on={slideChange:()=>{this.a11ySetPaginationTabindex(),this.handleElementHandlers(),this.a11ySetSlideAriaHidden()},init:()=>{this.a11ySetPaginationTabindex(),this.a11ySetSlideAriaHidden("initialisation")}},this.applyOffsetSettings(e,s,t),s}getOffsetWidth(){const e=elementorFrontend.getCurrentDeviceMode();return elementorFrontend.utils.controls.getResponsiveControlValue(this.getElementSettings(),"offset_width","size",e)||0}applyOffsetSettings(e,t,r){const n=e.offset_sides;if(!(elementorFrontend.isEditMode()&&"NestedCarousel"===this.constructor.name)&&n&&"none"!==n)switch(n){case"right":this.forceSliderToShowNextSlideWhenOnLast(t,r),this.addClassToSwiperContainer("offset-right");break;case"left":this.addClassToSwiperContainer("offset-left");break;case"both":this.forceSliderToShowNextSlideWhenOnLast(t,r),this.addClassToSwiperContainer("offset-both")}}forceSliderToShowNextSlideWhenOnLast(e,t){e.slidesPerView=t+.001}addClassToSwiperContainer(e){this.getDefaultElements().$swiperContainer[0].classList.add(e)}async onInit(...e){if(super.onInit(...e),!this.elements.$swiperContainer.length||2>this.elements.$slides.length)return;await this.initSwiper();"yes"===this.getElementSettings().pause_on_hover&&this.togglePauseOnHover(!0)}async initSwiper(){const e=elementorFrontend.utils.swiper;this.swiper=await new e(this.elements.$swiperContainer,this.getSwiperSettings()),this.elements.$swiperContainer.data("swiper",this.swiper)}bindEvents(){this.elements.$swiperArrows.on("keydown",this.onDirectionArrowKeydown.bind(this)),this.elements.$paginationWrapper.on("keydown",".swiper-pagination-bullet",this.onDirectionArrowKeydown.bind(this)),this.elements.$swiperContainer.on("keydown",".swiper-slide",this.onDirectionArrowKeydown.bind(this)),this.$element.find(":focusable").on("focus",this.onFocusDisableAutoplay.bind(this)),elementorFrontend.elements.$window.on("resize",this.getSwiperSettings.bind(this))}unbindEvents(){this.elements.$swiperArrows.off(),this.elements.$paginationWrapper.off(),this.elements.$swiperContainer.off(),this.$element.find(":focusable").off(),elementorFrontend.elements.$window.off("resize")}onDirectionArrowKeydown(e){const t=elementorFrontend.config.is_rtl,r=e.originalEvent.code,n=t?"ArrowLeft":"ArrowRight";if(!(-1!==["ArrowLeft","ArrowRight"].indexOf(r)))return!0;(t?"ArrowRight":"ArrowLeft")===r?this.swiper.slidePrev():n===r&&this.swiper.slideNext()}onFocusDisableAutoplay(){this.swiper.autoplay.stop()}updateSwiperOption(e){const t=this.getElementSettings()[e],r=this.swiper.params;switch(e){case"autoplay_speed":r.autoplay.delay=t;break;case"speed":r.speed=t}this.swiper.update()}getChangeableProperties(){return{pause_on_hover:"pauseOnHover",autoplay_speed:"delay",speed:"speed",arrows_position:"arrows_position"}}onElementChange(e){if(0===e.indexOf("image_spacing_custom"))return void this.updateSpaceBetween(e);if(this.getChangeableProperties()[e])if("pause_on_hover"===e){const e=this.getElementSettings("pause_on_hover");this.togglePauseOnHover("yes"===e)}else this.updateSwiperOption(e)}onEditSettingsChange(e){"activeItemIndex"===e&&this.swiper.slideToLoop(this.getEditSettings("activeItemIndex")-1)}getSpaceBetween(e=null){const t=elementorFrontend.utils.controls.getResponsiveControlValue(this.getElementSettings(),"image_spacing_custom","size",e);return Number(t)||0}updateSpaceBetween(e){const t=e.match("image_spacing_custom_(.*)"),r=t?t[1]:"desktop",n=this.getSpaceBetween(r);"desktop"!==r&&(this.swiper.params.breakpoints[elementorFrontend.config.responsive.activeBreakpoints[r].value].spaceBetween=n),this.swiper.params.spaceBetween=n,this.swiper.update()}getPaginationBullets(e="array"){const t=this.$element.find(this.getSettings("selectors").paginationBullet);return"array"===e?Array.from(t):t}a11ySetPaginationTabindex(){const e=this.swiper?.params?.pagination.bulletClass,t=this.swiper?.params?.pagination.bulletActiveClass;this.getPaginationBullets().forEach(e=>{e.classList?.contains(t)||e.removeAttribute("tabindex")});const r="ArrowLeft"===event?.code||"ArrowRight"===event?.code;event?.target?.classList?.contains(e)&&r&&this.$element.find(`.${t}`).trigger("focus")}getSwiperWrapperTranformXValue(){let e=this.elements.$swiperWrapper[0]?.style.transform;return e=e.replace("translate3d(",""),e=e.split(","),e=parseInt(e[0].replace("px","")),e||0}a11ySetSlideAriaHidden(e=""){if("number"!=typeof("initialisation"===e?0:this.swiper?.activeIndex))return;const t=this.getSwiperWrapperTranformXValue(),r=this.elements.$swiperWrapper[0].clientWidth;this.elements.$swiperContainer.find(this.getSettings("selectors").slideContent).each((e,n)=>{0<=n.offsetLeft+t&&r>n.offsetLeft+t?(n.removeAttribute("aria-hidden"),n.removeAttribute("inert")):(n.setAttribute("aria-hidden",!0),n.setAttribute("inert",""))})}handleElementHandlers(){}}t.default=CarouselHandlerBase},9655:(e,t,r)=>{"use strict";r(9930)},9930:(e,t,r)=>{"use strict";var n=r(8612),i=r(1807),s=r(1506),o=r(8120),a=r(2293),c=r(41),l=r(6721),u=r(5267)("forEach",TypeError);n({target:"Iterator",proto:!0,real:!0,forced:u},{forEach:function forEach(e){a(this);try{o(e)}catch(e){l(this,"throw",e)}if(u)return i(u,this,e);var t=c(this),r=0;s(t,function(t){e(t,r++)},{IS_RECORD:!0})}})}},e=>{var t;t=4946,e(e.s=t)}]);
!function(t){"use strict";"function"==typeof define&&define.amd?define(["jquery"],t):t(jQuery)}(function(x){"use strict";var t,e,i,n,W,C,o,s,r,l,a,h,u;function E(t,e,i){return[parseFloat(t[0])*(a.test(t[0])?e/100:1),parseFloat(t[1])*(a.test(t[1])?i/100:1)]}function L(t,e){return parseInt(x.css(t,e),10)||0}function N(t){return null!=t&&t===t.window}x.ui=x.ui||{},x.ui.version="1.13.3",
x.extend(x.expr.pseudos,{data:x.expr.createPseudo?x.expr.createPseudo(function(e){return function(t){return!!x.data(t,e)}}):function(t,e,i){return!!x.data(t,i[3])}}),
x.fn.extend({disableSelection:(t="onselectstart"in document.createElement("div")?"selectstart":"mousedown",function(){return this.on(t+".ui-disableSelection",function(t){t.preventDefault()})}),enableSelection:function(){return this.off(".ui-disableSelection")}}),
x.ui.focusable=function(t,e){var i,n,o,s=t.nodeName.toLowerCase();return"area"===s?(o=(i=t.parentNode).name,!(!t.href||!o||"map"!==i.nodeName.toLowerCase())&&0<(i=x("img[usemap='#"+o+"']")).length&&i.is(":visible")):(/^(input|select|textarea|button|object)$/.test(s)?(n=!t.disabled)&&(o=x(t).closest("fieldset")[0])&&(n=!o.disabled):n="a"===s&&t.href||e,n&&x(t).is(":visible")&&function(t){var e=t.css("visibility");for(;"inherit"===e;)t=t.parent(),e=t.css("visibility");return"visible"===e}(x(t)))},x.extend(x.expr.pseudos,{focusable:function(t){return x.ui.focusable(t,null!=x.attr(t,"tabindex"))}}),x.fn._form=function(){return"string"==typeof this[0].form?this.closest("form"):x(this[0].form)},
x.ui.formResetMixin={_formResetHandler:function(){var e=x(this);setTimeout(function(){var t=e.data("ui-form-reset-instances");x.each(t,function(){this.refresh()})})},_bindFormResetHandler:function(){var t;this.form=this.element._form(),this.form.length&&((t=this.form.data("ui-form-reset-instances")||[]).length||this.form.on("reset.ui-form-reset",this._formResetHandler),t.push(this),this.form.data("ui-form-reset-instances",t))},_unbindFormResetHandler:function(){var t;this.form.length&&((t=this.form.data("ui-form-reset-instances")).splice(x.inArray(this,t),1),t.length?this.form.data("ui-form-reset-instances",t):this.form.removeData("ui-form-reset-instances").off("reset.ui-form-reset"))}},x.ui.ie=!!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase()),
x.expr.pseudos||(x.expr.pseudos=x.expr[":"]),x.uniqueSort||(x.uniqueSort=x.unique),x.escapeSelector||(e=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g,i=function(t,e){return e?"\0"===t?"�":t.slice(0,-1)+"\\"+t.charCodeAt(t.length-1).toString(16)+" ":"\\"+t},x.escapeSelector=function(t){return(t+"").replace(e,i)}),x.fn.even&&x.fn.odd||x.fn.extend({even:function(){return this.filter(function(t){return t%2==0})},odd:function(){return this.filter(function(t){return t%2==1})}}),
x.ui.keyCode={BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38},
x.fn.labels=function(){var t,e,i;return this.length?this[0].labels&&this[0].labels.length?this.pushStack(this[0].labels):(e=this.eq(0).parents("label"),(t=this.attr("id"))&&(i=(i=this.eq(0).parents().last()).add((i.length?i:this).siblings()),t="label[for='"+x.escapeSelector(t)+"']",e=e.add(i.find(t).addBack(t))),this.pushStack(e)):this.pushStack([])},x.ui.plugin={add:function(t,e,i){var n,o=x.ui[t].prototype;for(n in i)o.plugins[n]=o.plugins[n]||[],o.plugins[n].push([e,i[n]])},call:function(t,e,i,n){var o,s=t.plugins[e];if(s&&(n||t.element[0].parentNode&&11!==t.element[0].parentNode.nodeType))for(o=0;o<s.length;o++)t.options[s[o][0]]&&s[o][1].apply(t.element,i)}},
W=Math.max,C=Math.abs,o=/left|center|right/,s=/top|center|bottom/,r=/[\+\-]\d+(\.[\d]+)?%?/,l=/^\w+/,a=/%$/,h=x.fn.position,x.position={scrollbarWidth:function(){var t,e,i;return void 0!==n?n:(i=(e=x("<div style='display:block;position:absolute;width:200px;height:200px;overflow:hidden;'><div style='height:300px;width:auto;'></div></div>")).children()[0],x("body").append(e),t=i.offsetWidth,e.css("overflow","scroll"),t===(i=i.offsetWidth)&&(i=e[0].clientWidth),e.remove(),n=t-i)},getScrollInfo:function(t){var e=t.isWindow||t.isDocument?"":t.element.css("overflow-x"),i=t.isWindow||t.isDocument?"":t.element.css("overflow-y"),e="scroll"===e||"auto"===e&&t.width<t.element[0].scrollWidth;return{width:"scroll"===i||"auto"===i&&t.height<t.element[0].scrollHeight?x.position.scrollbarWidth():0,height:e?x.position.scrollbarWidth():0}},getWithinInfo:function(t){var e=x(t||window),i=N(e[0]),n=!!e[0]&&9===e[0].nodeType;return{element:e,isWindow:i,isDocument:n,offset:!i&&!n?x(t).offset():{left:0,top:0},scrollLeft:e.scrollLeft(),scrollTop:e.scrollTop(),width:e.outerWidth(),height:e.outerHeight()}}},x.fn.position=function(f){var c,d,p,g,m,v,y,w,b,_,t,e;return f&&f.of?(v="string"==typeof(f=x.extend({},f)).of?x(document).find(f.of):x(f.of),y=x.position.getWithinInfo(f.within),w=x.position.getScrollInfo(y),b=(f.collision||"flip").split(" "),_={},e=9===(e=(t=v)[0]).nodeType?{width:t.width(),height:t.height(),offset:{top:0,left:0}}:N(e)?{width:t.width(),height:t.height(),offset:{top:t.scrollTop(),left:t.scrollLeft()}}:e.preventDefault?{width:0,height:0,offset:{top:e.pageY,left:e.pageX}}:{width:t.outerWidth(),height:t.outerHeight(),offset:t.offset()},v[0].preventDefault&&(f.at="left top"),d=e.width,p=e.height,m=x.extend({},g=e.offset),x.each(["my","at"],function(){var t,e,i=(f[this]||"").split(" ");(i=1===i.length?o.test(i[0])?i.concat(["center"]):s.test(i[0])?["center"].concat(i):["center","center"]:i)[0]=o.test(i[0])?i[0]:"center",i[1]=s.test(i[1])?i[1]:"center",t=r.exec(i[0]),e=r.exec(i[1]),_[this]=[t?t[0]:0,e?e[0]:0],f[this]=[l.exec(i[0])[0],l.exec(i[1])[0]]}),1===b.length&&(b[1]=b[0]),"right"===f.at[0]?m.left+=d:"center"===f.at[0]&&(m.left+=d/2),"bottom"===f.at[1]?m.top+=p:"center"===f.at[1]&&(m.top+=p/2),c=E(_.at,d,p),m.left+=c[0],m.top+=c[1],this.each(function(){var i,t,r=x(this),l=r.outerWidth(),a=r.outerHeight(),e=L(this,"marginLeft"),n=L(this,"marginTop"),o=l+e+L(this,"marginRight")+w.width,s=a+n+L(this,"marginBottom")+w.height,h=x.extend({},m),u=E(_.my,r.outerWidth(),r.outerHeight());"right"===f.my[0]?h.left-=l:"center"===f.my[0]&&(h.left-=l/2),"bottom"===f.my[1]?h.top-=a:"center"===f.my[1]&&(h.top-=a/2),h.left+=u[0],h.top+=u[1],i={marginLeft:e,marginTop:n},x.each(["left","top"],function(t,e){x.ui.position[b[t]]&&x.ui.position[b[t]][e](h,{targetWidth:d,targetHeight:p,elemWidth:l,elemHeight:a,collisionPosition:i,collisionWidth:o,collisionHeight:s,offset:[c[0]+u[0],c[1]+u[1]],my:f.my,at:f.at,within:y,elem:r})}),f.using&&(t=function(t){var e=g.left-h.left,i=e+d-l,n=g.top-h.top,o=n+p-a,s={target:{element:v,left:g.left,top:g.top,width:d,height:p},element:{element:r,left:h.left,top:h.top,width:l,height:a},horizontal:i<0?"left":0<e?"right":"center",vertical:o<0?"top":0<n?"bottom":"middle"};d<l&&C(e+i)<d&&(s.horizontal="center"),p<a&&C(n+o)<p&&(s.vertical="middle"),W(C(e),C(i))>W(C(n),C(o))?s.important="horizontal":s.important="vertical",f.using.call(this,t,s)}),r.offset(x.extend(h,{using:t}))})):h.apply(this,arguments)},x.ui.position={fit:{left:function(t,e){var i,n=e.within,o=n.isWindow?n.scrollLeft:n.offset.left,n=n.width,s=t.left-e.collisionPosition.marginLeft,r=o-s,l=s+e.collisionWidth-n-o;n<e.collisionWidth?0<r&&l<=0?(i=t.left+r+e.collisionWidth-n-o,t.left+=r-i):t.left=!(0<l&&r<=0)&&l<r?o+n-e.collisionWidth:o:0<r?t.left+=r:0<l?t.left-=l:t.left=W(t.left-s,t.left)},top:function(t,e){var i,n=e.within,n=n.isWindow?n.scrollTop:n.offset.top,o=e.within.height,s=t.top-e.collisionPosition.marginTop,r=n-s,l=s+e.collisionHeight-o-n;o<e.collisionHeight?0<r&&l<=0?(i=t.top+r+e.collisionHeight-o-n,t.top+=r-i):t.top=!(0<l&&r<=0)&&l<r?n+o-e.collisionHeight:n:0<r?t.top+=r:0<l?t.top-=l:t.top=W(t.top-s,t.top)}},flip:{left:function(t,e){var i=e.within,n=i.offset.left+i.scrollLeft,o=i.width,i=i.isWindow?i.scrollLeft:i.offset.left,s=t.left-e.collisionPosition.marginLeft,r=s-i,s=s+e.collisionWidth-o-i,l="left"===e.my[0]?-e.elemWidth:"right"===e.my[0]?e.elemWidth:0,a="left"===e.at[0]?e.targetWidth:"right"===e.at[0]?-e.targetWidth:0,h=-2*e.offset[0];r<0?((o=t.left+l+a+h+e.collisionWidth-o-n)<0||o<C(r))&&(t.left+=l+a+h):0<s&&(0<(n=t.left-e.collisionPosition.marginLeft+l+a+h-i)||C(n)<s)&&(t.left+=l+a+h)},top:function(t,e){var i=e.within,n=i.offset.top+i.scrollTop,o=i.height,i=i.isWindow?i.scrollTop:i.offset.top,s=t.top-e.collisionPosition.marginTop,r=s-i,s=s+e.collisionHeight-o-i,l="top"===e.my[1]?-e.elemHeight:"bottom"===e.my[1]?e.elemHeight:0,a="top"===e.at[1]?e.targetHeight:"bottom"===e.at[1]?-e.targetHeight:0,h=-2*e.offset[1];r<0?((o=t.top+l+a+h+e.collisionHeight-o-n)<0||o<C(r))&&(t.top+=l+a+h):0<s&&(0<(n=t.top-e.collisionPosition.marginTop+l+a+h-i)||C(n)<s)&&(t.top+=l+a+h)}},flipfit:{left:function(){x.ui.position.flip.left.apply(this,arguments),x.ui.position.fit.left.apply(this,arguments)},top:function(){x.ui.position.flip.top.apply(this,arguments),x.ui.position.fit.top.apply(this,arguments)}}},x.ui.safeActiveElement=function(e){var i;try{i=e.activeElement}catch(t){i=e.body}return i=(i=i||e.body).nodeName?i:e.body},x.ui.safeBlur=function(t){t&&"body"!==t.nodeName.toLowerCase()&&x(t).trigger("blur")},
x.fn.scrollParent=function(t){var e=this.css("position"),i="absolute"===e,n=t?/(auto|scroll|hidden)/:/(auto|scroll)/,t=this.parents().filter(function(){var t=x(this);return(!i||"static"!==t.css("position"))&&n.test(t.css("overflow")+t.css("overflow-y")+t.css("overflow-x"))}).eq(0);return"fixed"!==e&&t.length?t:x(this[0].ownerDocument||document)},
x.extend(x.expr.pseudos,{tabbable:function(t){var e=x.attr(t,"tabindex"),i=null!=e;return(!i||0<=e)&&x.ui.focusable(t,i)}}),
x.fn.extend({uniqueId:(u=0,function(){return this.each(function(){this.id||(this.id="ui-id-"+ ++u)})}),removeUniqueId:function(){return this.each(function(){/^ui-id-\d+$/.test(this.id)&&x(this).removeAttr("id")})}});
var f,c=0,d=Array.prototype.hasOwnProperty,p=Array.prototype.slice;x.cleanData=(f=x.cleanData,function(t){for(var e,i,n=0;null!=(i=t[n]);n++)(e=x._data(i,"events"))&&e.remove&&x(i).triggerHandler("remove");f(t)}),x.widget=function(t,i,e){var n,o,s,r={},l=t.split(".")[0],a=l+"-"+(t=t.split(".")[1]);return e||(e=i,i=x.Widget),Array.isArray(e)&&(e=x.extend.apply(null,[{}].concat(e))),x.expr.pseudos[a.toLowerCase()]=function(t){return!!x.data(t,a)},x[l]=x[l]||{},n=x[l][t],o=x[l][t]=function(t,e){if(!this||!this._createWidget)return new o(t,e);arguments.length&&this._createWidget(t,e)},x.extend(o,n,{version:e.version,_proto:x.extend({},e),_childConstructors:[]}),(s=new i).options=x.widget.extend({},s.options),x.each(e,function(e,n){function o(){return i.prototype[e].apply(this,arguments)}function s(t){return i.prototype[e].apply(this,t)}r[e]="function"!=typeof n?n:function(){var t,e=this._super,i=this._superApply;return this._super=o,this._superApply=s,t=n.apply(this,arguments),this._super=e,this._superApply=i,t}}),o.prototype=x.widget.extend(s,{widgetEventPrefix:n&&s.widgetEventPrefix||t},r,{constructor:o,namespace:l,widgetName:t,widgetFullName:a}),n?(x.each(n._childConstructors,function(t,e){var i=e.prototype;x.widget(i.namespace+"."+i.widgetName,o,e._proto)}),delete n._childConstructors):i._childConstructors.push(o),x.widget.bridge(t,o),o},x.widget.extend=function(t){for(var e,i,n=p.call(arguments,1),o=0,s=n.length;o<s;o++)for(e in n[o])i=n[o][e],d.call(n[o],e)&&void 0!==i&&(x.isPlainObject(i)?t[e]=x.isPlainObject(t[e])?x.widget.extend({},t[e],i):x.widget.extend({},i):t[e]=i);return t},x.widget.bridge=function(s,e){var r=e.prototype.widgetFullName||s;x.fn[s]=function(i){var t="string"==typeof i,n=p.call(arguments,1),o=this;return t?this.length||"instance"!==i?this.each(function(){var t,e=x.data(this,r);return"instance"===i?(o=e,!1):e?"function"!=typeof e[i]||"_"===i.charAt(0)?x.error("no such method '"+i+"' for "+s+" widget instance"):(t=e[i].apply(e,n))!==e&&void 0!==t?(o=t&&t.jquery?o.pushStack(t.get()):t,!1):void 0:x.error("cannot call methods on "+s+" prior to initialization; attempted to call method '"+i+"'")}):o=void 0:(n.length&&(i=x.widget.extend.apply(null,[i].concat(n))),this.each(function(){var t=x.data(this,r);t?(t.option(i||{}),t._init&&t._init()):x.data(this,r,new e(i,this))})),o}},x.Widget=function(){},x.Widget._childConstructors=[],x.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"<div>",options:{classes:{},disabled:!1,create:null},_createWidget:function(t,e){e=x(e||this.defaultElement||this)[0],this.element=x(e),this.uuid=c++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=x(),this.hoverable=x(),this.focusable=x(),this.classesElementLookup={},e!==this&&(x.data(e,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===e&&this.destroy()}}),this.document=x(e.style?e.ownerDocument:e.document||e),this.window=x(this.document[0].defaultView||this.document[0].parentWindow)),this.options=x.widget.extend({},this.options,this._getCreateOptions(),t),this._create(),this.options.disabled&&this._setOptionDisabled(this.options.disabled),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:function(){return{}},_getCreateEventData:x.noop,_create:x.noop,_init:x.noop,destroy:function(){var i=this;this._destroy(),x.each(this.classesElementLookup,function(t,e){i._removeClass(e,t)}),this.element.off(this.eventNamespace).removeData(this.widgetFullName),this.widget().off(this.eventNamespace).removeAttr("aria-disabled"),this.bindings.off(this.eventNamespace)},_destroy:x.noop,widget:function(){return this.element},option:function(t,e){var i,n,o,s=t;if(0===arguments.length)return x.widget.extend({},this.options);if("string"==typeof t)if(s={},t=(i=t.split(".")).shift(),i.length){for(n=s[t]=x.widget.extend({},this.options[t]),o=0;o<i.length-1;o++)n[i[o]]=n[i[o]]||{},n=n[i[o]];if(t=i.pop(),1===arguments.length)return void 0===n[t]?null:n[t];n[t]=e}else{if(1===arguments.length)return void 0===this.options[t]?null:this.options[t];s[t]=e}return this._setOptions(s),this},_setOptions:function(t){for(var e in t)this._setOption(e,t[e]);return this},_setOption:function(t,e){return"classes"===t&&this._setOptionClasses(e),this.options[t]=e,"disabled"===t&&this._setOptionDisabled(e),this},_setOptionClasses:function(t){var e,i,n;for(e in t)n=this.classesElementLookup[e],t[e]!==this.options.classes[e]&&n&&n.length&&(i=x(n.get()),this._removeClass(n,e),i.addClass(this._classes({element:i,keys:e,classes:t,add:!0})))},_setOptionDisabled:function(t){this._toggleClass(this.widget(),this.widgetFullName+"-disabled",null,!!t),t&&(this._removeClass(this.hoverable,null,"ui-state-hover"),this._removeClass(this.focusable,null,"ui-state-focus"))},enable:function(){return this._setOptions({disabled:!1})},disable:function(){return this._setOptions({disabled:!0})},_classes:function(o){var s=[],r=this;function t(t,e){for(var i,n=0;n<t.length;n++)i=r.classesElementLookup[t[n]]||x(),i=o.add?(function(){var i=[];o.element.each(function(t,e){x.map(r.classesElementLookup,function(t){return t}).some(function(t){return t.is(e)})||i.push(e)}),r._on(x(i),{remove:"_untrackClassesElement"})}(),x(x.uniqueSort(i.get().concat(o.element.get())))):x(i.not(o.element).get()),r.classesElementLookup[t[n]]=i,s.push(t[n]),e&&o.classes[t[n]]&&s.push(o.classes[t[n]])}return(o=x.extend({element:this.element,classes:this.options.classes||{}},o)).keys&&t(o.keys.match(/\S+/g)||[],!0),o.extra&&t(o.extra.match(/\S+/g)||[]),s.join(" ")},_untrackClassesElement:function(i){var n=this;x.each(n.classesElementLookup,function(t,e){-1!==x.inArray(i.target,e)&&(n.classesElementLookup[t]=x(e.not(i.target).get()))}),this._off(x(i.target))},_removeClass:function(t,e,i){return this._toggleClass(t,e,i,!1)},_addClass:function(t,e,i){return this._toggleClass(t,e,i,!0)},_toggleClass:function(t,e,i,n){var o="string"==typeof t||null===t,e={extra:o?e:i,keys:o?t:e,element:o?this.element:t,add:n="boolean"==typeof n?n:i};return e.element.toggleClass(this._classes(e),n),this},_on:function(o,s,t){var r,l=this;"boolean"!=typeof o&&(t=s,s=o,o=!1),t?(s=r=x(s),this.bindings=this.bindings.add(s)):(t=s,s=this.element,r=this.widget()),x.each(t,function(t,e){function i(){if(o||!0!==l.options.disabled&&!x(this).hasClass("ui-state-disabled"))return("string"==typeof e?l[e]:e).apply(l,arguments)}"string"!=typeof e&&(i.guid=e.guid=e.guid||i.guid||x.guid++);var t=t.match(/^([\w:-]*)\s*(.*)$/),n=t[1]+l.eventNamespace,t=t[2];t?r.on(n,t,i):s.on(n,i)})},_off:function(t,e){e=(e||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,t.off(e),this.bindings=x(this.bindings.not(t).get()),this.focusable=x(this.focusable.not(t).get()),this.hoverable=x(this.hoverable.not(t).get())},_delay:function(t,e){var i=this;return setTimeout(function(){return("string"==typeof t?i[t]:t).apply(i,arguments)},e||0)},_hoverable:function(t){this.hoverable=this.hoverable.add(t),this._on(t,{mouseenter:function(t){this._addClass(x(t.currentTarget),null,"ui-state-hover")},mouseleave:function(t){this._removeClass(x(t.currentTarget),null,"ui-state-hover")}})},_focusable:function(t){this.focusable=this.focusable.add(t),this._on(t,{focusin:function(t){this._addClass(x(t.currentTarget),null,"ui-state-focus")},focusout:function(t){this._removeClass(x(t.currentTarget),null,"ui-state-focus")}})},_trigger:function(t,e,i){var n,o,s=this.options[t];if(i=i||{},(e=x.Event(e)).type=(t===this.widgetEventPrefix?t:this.widgetEventPrefix+t).toLowerCase(),e.target=this.element[0],o=e.originalEvent)for(n in o)n in e||(e[n]=o[n]);return this.element.trigger(e,i),!("function"==typeof s&&!1===s.apply(this.element[0],[e].concat(i))||e.isDefaultPrevented())}},x.each({show:"fadeIn",hide:"fadeOut"},function(s,r){x.Widget.prototype["_"+s]=function(e,t,i){var n,o=(t="string"==typeof t?{effect:t}:t)?!0!==t&&"number"!=typeof t&&t.effect||r:s;"number"==typeof(t=t||{})?t={duration:t}:!0===t&&(t={}),n=!x.isEmptyObject(t),t.complete=i,t.delay&&e.delay(t.delay),n&&x.effects&&x.effects.effect[o]?e[s](t):o!==s&&e[o]?e[o](t.duration,t.easing,i):e.queue(function(t){x(this)[s](),i&&i.call(e[0]),t()})}})});