{"version":3,"sources":["TinySlider.js","Swiper.js","ReadMoreSpot.js","TabsComponent.js","Slider.js","PageNavHeader.js","HeroBannerFeeds.js","GameListSpot.js","SearchGames.js","FeaturedGames.js","GameList.js","HeroDeckSliderSpot.js","GamesSlider.js","WinnerStories.js","OverlayContainer.js","PredepositOverlay.js","LeiaDataStore.js","LeiaApi.js","LeiaUtils.js","IOSFullscreenOverlay.js","AndroidFullscreenOverlay.js","LeiaHostChannel.js","LeiaGameLauncher.js","AppDictionary.js","VersionSelector.js","TutorialFooter.js","TutorialNavigation.js","TutorialHero.js","TutorialSearchBar.js","TutorialFrontPage.js","TutorialAvalonPage.js","TutorialSlidePage.js","TutorialTipsSystemPage.js","TutorialSimplePage.js","Tutorial.js","EloquaForm.js"],"names":["defineDs","t","window","Ai","requestAnimationFrame","webkitRequestAnimationFrame","mozRequestAnimationFrame","msRequestAnimationFrame","setTimeout","e","Ni","cancelAnimationFrame","mozCancelAnimationFrame","clearTimeout","Li","n","i","arguments","a","r","length","Bi","indexOf","JSON","parse","Si","setItem","Hi","document","body","createElement","fake","documentElement","Oi","style","overflow","background","appendChild","Di","remove","offsetHeight","ki","insertRule","addRule","Ri","cssRules","rules","Ii","call","Pi","classList","contains","className","zi","add","Wi","replace","qi","hasAttribute","Fi","getAttribute","item","ji","Array","Object","prototype","toString","setAttribute","Vi","removeAttribute","Gi","push","Qi","display","Xi","Yi","getComputedStyle","Ki","charAt","toUpperCase","substr","forEach","Ji","test","toLowerCase","o","defineProperty","get","addEventListener","u","passive","Ui","_i","removeEventListener","Zi","topics","on","this","off","splice","emit","type","keys","hasOwnProperty","Element","parentNode","removeChild","$i","H","container","mode","axis","items","gutter","edgePadding","fixedWidth","autoWidth","viewportMax","slideBy","center","controls","controlsPosition","controlsText","controlsContainer","prevButton","nextButton","nav","navPosition","navContainer","navAsThumbnails","arrowKeys","speed","autoplay","autoplayPosition","autoplayTimeout","autoplayDirection","autoplayText","autoplayHoverPause","autoplayButton","autoplayButtonOutput","autoplayResetOnVisibility","animateIn","animateOut","animateNormal","animateDelay","loop","rewind","autoHeight","responsive","lazyload","lazyloadSelector","touch","mouseDrag","swipeAngle","nested","preventActionWhenRunning","preventScrollOnTouch","freezable","onInit","useLocalStorage","nonce","O","m","ENTER","SPACE","LEFT","RIGHT","navigator","userAgent","Date","localStorage","getItem","removeItem","tnsApp","y","tC","l","width","offsetWidth","g","tPL","innerHTML","Math","abs","getBoundingClientRect","left","children","D","tMQ","matchMedia","msMatchMedia","styleSheet","cssText","createTextNode","position","currentStyle","tTf","t3D","slice","insertBefore","getPropertyValue","x","tTDu","tTDe","b","tADu","tADe","s","tTE","c","tAE","f","console","warn","d","v","querySelector","nodeName","M","q","k","R","I","p","h","w","P","z","C","W","N","L","B","S","K","J","_","Z","F","T","j","V","E","A","outerHTML","G","Q","X","rn","Y","En","ge","$","tt","sn","et","nt","it","un","at","rt","floor","ot","ut","fixedWidthViewportWidth","lt","st","ct","ft","dt","vt","pt","ht","mt","yt","gt","xt","bt","wt","Ct","Mt","sheet","Tt","Et","At","Nt","ceil","min","apply","max","ln","Lt","Bt","St","_n","Ht","Ot","Dt","kt","Rt","It","en","Pt","zt","tn","Wt","qt","Ft","jt","Vt","Gt","Qt","Xt","Yt","id","tnsId","Kt","Jt","Ut","_t","Tn","Zt","$t","click","oi","keydown","pi","keyCode","we","disabled","Ce","te","ai","hi","Ae","Se","Number","Le","ri","le","He","Pe","fi","activeElement","vi","Ee","ee","mouseover","li","ze","mouseout","ui","ne","visibilitychange","hidden","qe","ie","ae","touchstart","xi","touchmove","bi","touchend","wi","touchcancel","re","mousedown","mousemove","mouseup","mouseleave","oe","ue","se","ce","fe","de","ve","pe","he","load","kn","error","Rn","me","ye","xe","be","Me","Te","We","Ne","Mi","Be","an","Oe","De","ke","Re","Ie","Xe","Fe","je","Ve","Ge","Qe","Ye","Ke","Je","Ue","$e","tabindex","createDocumentFragment","cloneNode","firstChild","fontSize","marginLeft","hn","cn","fn","dn","vn","mn","parseInt","yn","_e","Ze","Jn","ti","Zn","Ci","ei","version","getInfo","Ei","events","goTo","play","ci","pause","isOn","updateSliderHeight","Fn","refresh","destroy","ownerNode","resize","Cn","di","clearInterval","previousElementSibling","nextElementSibling","firstElementChild","rebuild","nn","innerWidth","clientWidth","right","pn","substring","querySelectorAll","src","zn","In","gn","$n","bn","wn","xn","jn","Vn","insertAdjacentHTML","Hn","Ti","Qn","Kn","An","Mn","Pn","Dn","Bn","Ln","Wn","Nn","margin","height","Sn","deleteRule","removeRule","On","parseFloat","stopPropagation","srcset","complete","qn","Gn","Xn","Yn","Un","ni","ii","target","propertyName","isNaN","setInterval","si","focus","mi","event","changedTouches","srcElement","yi","preventDefault","returnValue","gi","atan2","PI","clientX","clientY","cancelable","slideItems","navItems","hasControls","cloneCount","slideCount","slideCountNew","index","indexCached","displayIndex","navCurrentIndex","navCurrentIndexCached","pages","pagesCached","doc","blur","getElementById","createEvent","initEvent","childNodes","getElementsByTagName","location","hash","win","history","CustomEvent","Image","screen","Dom7","arr","selector","context","els","tempParent","html","trim","toCreate","match","split","nodeType","unique","uniqueArray","Class","Methods","addClass","this$1","classes","removeClass","hasClass","toggleClass","toggle","attr","attrs","value","arguments$1","attrName","removeAttr","data","key","el","dom7ElementDataStorage","dataKey","transform","elStyle","webkitTransform","transition","duration","webkitTransitionDuration","transitionDuration","assign","args","len","eventType","targetSelector","listener","capture","handleLiveEvent","eventData","dom7EventData","unshift","is","parents","handleEvent","undefined","event$1","dom7LiveListeners","proxyListener","dom7Listeners","handlers","handler","trigger","evt","detail","bubbles","filter","dataIndex","dispatchEvent","transitionEnd","callback","dom","fireCallBack","outerWidth","includeMargins","styles","outerHeight","offset","box","clientTop","clientLeft","scrollTop","scrollY","scrollLeft","scrollX","top","css","props","prop","each","text","textContent","compareWith","matches","webkitMatchesSelector","msMatchesSelector","child","previousSibling","eq","returnIndex","append","newChild","tempDiv","prepend","next","nextAll","nextEls","prev","prevAll","prevEls","parent","closest","find","foundElements","found","toAdd","methodName","testDiv","Utils","deleteProps","obj","object","nextTick","delay","now","getTranslate","matrix","curTransform","transformMatrix","curStyle","WebKitCSSMatrix","map","join","MozTransform","OTransform","MsTransform","msTransform","m41","m42","parseUrlQuery","url","params","param","query","urlToParse","href","paramsPart","decodeURIComponent","isObject","constructor","extend","len$1","to","nextSource","keysArray","nextIndex","nextKey","desc","getOwnPropertyDescriptor","enumerable","Support","Modernizr","DocumentTouch","pointerEvents","pointerEnabled","PointerEvent","prefixedPointerEvents","msPointerEnabled","transforms3d","csstransforms3d","flexbox","observer","passiveListener","supportsPassive","opts","gestures","SwiperClass","self","eventsListeners","eventName","staticAccessors","components","configurable","priority","method","once","onceHandler","eventHandler","isArray","useModulesParams","instanceParams","instance","modules","moduleName","module","useModules","modulesParams","moduleParams","modulePropName","moduleProp","bind","moduleEventName","create","set","use","installModule","name","proto","static","install","concat","defineProperties","update","updateSize","swiper","$el","clientHeight","isHorizontal","isVertical","size","updateSlides","$wrapperEl","swiperSize","rtl","rtlTranslate","wrongRTL","isVirtual","virtual","enabled","previousSlidesLength","slides","slideClass","slidesLength","snapGrid","slidesGrid","slidesSizesGrid","offsetBefore","slidesOffsetBefore","offsetAfter","slidesOffsetAfter","previousSnapGridLength","previousSlidesGridLength","spaceBetween","slidePosition","prevSlideSize","slidesNumberEvenToRows","slideSize","virtualSize","marginTop","marginRight","marginBottom","slidesPerColumn","slidesPerView","slidesPerColumnFill","newSlidesGrid","slidesPerRow","numFullColumns","slide","newSlideOrderIndex","column","row","order","slideStyles","currentTransform","currentWebKitTransform","roundLengths","swiperSlideSize","centeredSlides","slidesPerGroup","effect","setWrapperSize","i$1","slidesGridItem","i$2","slidesGridItem$1","centerInsufficientSlides","allSlidesSize","slideSizeValue","allSlidesOffset","snap","snapIndex","watchOverflow","checkOverflow","watchSlidesProgress","watchSlidesVisibility","updateSlidesOffset","updateAutoHeight","activeSlides","newHeight","setTransition","activeIndex","swiperSlideOffset","offsetLeft","offsetTop","updateSlidesProgress","translate","offsetCenter","slideVisibleClass","visibleSlidesIndexes","visibleSlides","slideProgress","minTranslate","slideBefore","slideAfter","progress","updateProgress","translatesDiff","maxTranslate","isBeginning","isEnd","wasBeginning","wasEnd","updateSlidesClasses","activeSlide","realIndex","slideActiveClass","slideNextClass","slidePrevClass","slideDuplicateActiveClass","slideDuplicateNextClass","slideDuplicatePrevClass","slideDuplicateClass","nextSlide","prevSlide","updateActiveIndex","newActiveIndex","previousIndex","previousRealIndex","previousSnapIndex","normalizeSlideIndex","updateClickedSlide","slideFound","clickedSlide","clickedIndex","slideToClickedSlide","virtualTranslate","currentTranslate","setTranslate","byController","previousTranslate","transition$1","transitionStart","runCallbacks","direction","dir","animating","slideTo","internal","slideIndex","preventInteractionOnTransition","initialSlide","initialized","allowSlideNext","allowSlidePrev","onSlideToWrapperTransitionEnd","destroyed","slideToLoop","newIndex","loopedSlides","slideNext","loopFix","_clientLeft","slidePrev","normalize","val","prevIndex","normalizedTranslate","normalizedSnapGrid","prevSnap","slideReset","slideToClosest","currentSnap","slidesPerViewDynamic","slideToIndex","loopCreate","loopFillGroupWithBlank","blankSlidesNum","blankNode","slideBlankClass","loopAdditionalSlides","prependSlides","appendSlides","diff","loopDestroy","grabCursor","setGrabCursor","moving","simulateTouch","isLocked","cursor","unsetGrabCursor","manipulation","appendSlide","prependSlide","addSlide","activeIndexBuffer","baseLength","slidesBuffer","currentSlide","removeSlide","slidesIndexes","indexToRemove","removeAllSlides","Device","ua","device","ios","android","androidChrome","desktop","windows","iphone","ipod","ipad","cordova","phonegap","os","osVersion","webView","osVersionArr","metaViewport","minimalUi","pixelRatio","devicePixelRatio","onTouchStart","touchEventsData","touches","originalEvent","isTouchEvent","which","button","isTouched","isMoved","noSwiping","noSwipingSelector","noSwipingClass","allowClick","swipeHandler","currentX","targetTouches","pageX","currentY","pageY","startX","startY","edgeSwipeDetection","iOSEdgeSwipeDetection","edgeSwipeThreshold","iOSEdgeSwipeThreshold","allowTouchCallbacks","isScrolling","startMoving","touchStartTime","swipeDirection","threshold","allowThresholdMove","formElements","allowTouchMove","touchStartPreventDefault","onTouchMove","preventedByNestedSwiper","touchReleaseOnEdges","diffX","diffY","sqrt","pow","touchAngle","touchMoveStopPropagation","startTranslate","allowMomentumBounce","touchRatio","disableParentSwiper","resistanceRatio","resistance","followFinger","freeMode","velocities","time","onTouchEnd","currentPos","touchEndTime","timeDiff","lastClickTime","clickTimeout","freeModeMomentum","lastMoveEvent","pop","velocityEvent","distance","velocity","freeModeMinimumVelocity","freeModeMomentumVelocityRatio","momentumDuration","freeModeMomentumRatio","momentumDistance","newPosition","afterBouncePosition","needsLoopFix","doBounce","bounceAmount","freeModeMomentumBounceRatio","freeModeMomentumBounce","freeModeSticky","longSwipesMs","stopIndex","groupSize","ratio","longSwipes","longSwipesRatio","shortSwipes","onResize","breakpoints","setBreakpoint","newTranslate","onClick","preventClicks","preventClicksPropagation","stopImmediatePropagation","attachEvents","touchEvents","wrapperEl","touchEventsTarget","start","passiveListeners","move","end","detachEvents","breakpoint","getBreakpoint","currentBreakpoint","breakPointsParams","originalParams","needsReLoop","points","point","sort","breakpointsInverse","Browser","isIE","isEdge","isSafari","isUiWebView","defaults","init","uniqueNavElements","preloadImages","updateOnImagesReady","containerModifierClass","wrapperClass","runCallbacksOnInit","prototypes","wasLocked","navigation","addClasses","classNames","suffixes","suffix","removeClasses","images","loadImage","imageEl","sizes","checkForComplete","image","onReady","onload","onerror","imagesLoaded","imagesToLoad","currentSrc","extendedDefaults","Swiper","SwiperClass$$1","prototypeGroup","protoMethod","moduleParamName","swiperParams","passedParams","swipers","containerEl","newParams","touchEventsTouch","touchEventsDesktop","__proto__","spv","breakLoop","translateValue","deleteInstance","cleanStyles","extendDefaults","newDefaults","Device$1","Support$1","support","Browser$1","browser","Resize","resizeHandler","orientationChangeHandler","Observer","func","MutationObserver","WebkitMutationObserver","attach","options","ObserverFunc","mutations","observerUpdate","observe","attributes","childList","characterData","observers","observeParents","containerParents","disconnect","Observer$1","Virtual","force","ref","ref$1","addSlidesBefore","addSlidesAfter","ref$2","previousFrom","from","previousTo","previousSlidesGrid","renderSlide","previousOffset","offsetProp","slidesAfter","slidesBefore","onRendered","lazy","renderExternal","slidesToRender","prependIndexes","appendIndexes","cache","$slideEl","newCache","cachedIndex","Virtual$1","beforeInit","overwriteParams","Keyboard","handle","kc","charCode","shiftKey","altKey","ctrlKey","metaKey","keyboard","onlyInViewport","inView","windowWidth","windowHeight","innerHeight","swiperOffset","swiperCoord","enable","disable","Keyboard$1","Mousewheel","lastScrollTime","isSupported","element","implementation","hasFeature","isEventSupported","sX","sY","pX","pY","wheelDelta","wheelDeltaY","wheelDeltaX","HORIZONTAL_AXIS","deltaY","deltaX","deltaMode","spinX","spinY","pixelX","pixelY","handleMouseEnter","mouseEntered","handleMouseLeave","mousewheel","releaseOnEdges","delta","rtlFactor","forceToAxis","invert","sensitivity","timeout","autoplayDisableOnInteraction","stop","getTime","eventsTarged","Navigation","$nextEl","$prevEl","disabledClass","lockClass","nextEl","prevEl","Pagination","pagination","current","total","paginationType","bullets","firstIndex","lastIndex","midIndex","dynamicBullets","bulletSize","dynamicMainBullets","dynamicBulletIndex","bulletActiveClass","bullet","$bullet","bulletIndex","$firstDisplayedBullet","$lastDisplayedBullet","dynamicBulletsLength","bulletsOffset","currentClass","formatFractionCurrent","totalClass","formatFractionTotal","progressbarDirection","progressbarOpposite","scale","scaleX","scaleY","progressbarFillClass","renderCustom","render","paginationHTML","numberOfBullets","renderBullet","bulletClass","bulletElement","renderFraction","renderProgressbar","clickable","clickableClass","modifierClass","progressbarOppositeClass","hiddenClass","Scrollbar","scrollbar","dragSize","trackSize","$dragEl","newSize","newPos","hide","opacity","divider","moveDivider","scrollbarHide","setDragPosition","positionRatio","onDragStart","dragTimeout","onDragMove","onDragEnd","snapOnRelease","enableDraggable","activeListener","disableDraggable","$swiperEl","dragClass","dragEl","draggable","Parallax","setTransform","currentOpacity","currentScale","parallax","slideEl","parallaxEl","$parallaxEl","parallaxDuration","Zoom","getDistanceBetweenTouches","x1","y1","x2","y2","onGestureStart","zoom","gesture","fakeGestureTouched","fakeGestureMoved","scaleStart","$imageEl","$imageWrapEl","containerClass","maxRatio","isScaling","onGestureChange","scaleMove","minRatio","onGestureEnd","touchesStart","slideWidth","slideHeight","scaledWidth","scaledHeight","minX","maxX","minY","maxY","touchesCurrent","prevPositionX","prevPositionY","prevTime","momentumDurationX","momentumDurationY","momentumDistanceX","newPositionX","momentumDistanceY","newPositionY","onTransitionEnd","out","in","touchX","touchY","translateX","translateY","imageWidth","imageHeight","translateMinX","translateMinY","translateMaxX","translateMaxY","zoomedSlideClass","Lazy","loadInSlide","loadInDuplicate","$images","elementClass","loadedClass","loadingClass","imageIndex","preloaderClass","slideOriginalIndex","originalSlide","duplicatedSlide","slideExist","initialImageLoaded","elIndex","loadPrevNext","loadPrevNextAmount","amount","maxIndex","minIndex","Controller","LinearSpline","guess","i1","i3","binarySearch","array","interpolate","getInterpolateFunction","controller","spline","setTranslate$1","multiplier","controlledTranslate","controlled","control","setControlledTranslate","by","inverse","setControlledTransition","Controller$1","a11y","makeElFocusable","addElRole","role","addElLabel","label","disableEl","enableEl","onEnterKey","$targetEl","notify","lastSlideMessage","nextSlideMessage","firstSlideMessage","prevSlideMessage","message","notification","liveRegion","updateNavigation","updatePagination","bulletEl","$bulletEl","paginationBulletMessage","History","pushState","hashNavigation","paths","getPathValues","scrollToSlide","replaceState","setHistoryPopState","pathArray","pathname","part","setHistory","slugify","includes","currentState","state","HashNavigation","onHashCange","newHash","setHash","watchState","Autoplay","run","$activeSlideEl","reverseDirection","stopOnLastSlide","running","paused","waitForTransition","Fade","tx","ty","slideOpacity","fadeEffect","crossFade","eventTriggered","triggerEvents","Cube","$cubeShadowEl","swiperWidth","swiperHeight","cubeEffect","wrapperRotate","shadow","slideAngle","round","tz","slideShadows","shadowBefore","shadowAfter","shadowOffset","shadowScale","shadowAngle","sin","cos","scale1","scale2","zFactor","Flip","flipEffect","limitRotation","rotateY","rotateX","zIndex","Coverflow","coverflowEffect","rotate","depth","offsetMultiplier","modifier","translateZ","stretch","slideTransform","$shadowBeforeEl","$shadowAfterEl","perspectiveOrigin","Thumbs","thumbsParams","thumbs","swiperCreated","thumbsContainerClass","onThumbClick","thumbsSwiper","currentIndex","initial","newThumbsIndex","currentThumbsIndex","prevThumbsIndex","nextThumbsIndex","thumbsToActivate","thumbActiveClass","slideThumbActiveClass","hideOnClick","toEdge","fromEdge","number","activeIndexChange","snapIndexChange","slidesLengthChange","snapGridLengthChange","touchStart","touchEnd","doubleTap","loadOnTransitionStart","scroll","scrollbarDragMove","notificationClass","paginationUpdate","disableOnInteraction","beforeTransitionStart","sliderFirstMove","slideChange","beforeDestroy","DOMUtils","ready","$spot","_$spot$querySelector","buttonText","$tabComponents","$tabComponent","$tabContent","$tabNavLink","$content","$title","tabId","$tabLinkTitle","ev","$link","currentTarget","parentElement","$tabElem","logDeprecated","swiperActiveClass","shouldInitialize","$element","sw","settings","addSlider","Component","route","elem","targets","targetsArray","scrollPage","$topNavigation","scrollTarget","$scrollTargetElement","scrollTopValue","scrollTo","behavior","pageIsReady","addHeaderHeightFix","view","ctrl","onclick","sitecoreEnv","$elements","requireDs","JackpotInfo","then","formatJoker","feed","feedText","jackpotData","vikinglotto","getByGame","poolSizeFormatted","lotto","eurojackpot","jokerloerdag","jokeronsdag","elementText","Slider","$dropdowns","$filterBadges","_document$querySelect","_document$querySelect2","input","filters","typedInSearch","stateUpdated","clickedOnFilterOrBadge","tagName","categoryId","dropDownLabel","checked","allItemsInDropDownUnchecked","countChecked","active","updateFilters","updateBadges","updateCards","updateCardContainers","$badge","checkBox","$dropdown","$item","$checkBox","$card","cardCategoryIds","activeFilter","filterCategoryId","filterInCardCategories","show","$cardContainer","visibleCardsInContainer","visibleCardsOnPage","toggleDropDown","_ev$currentTarget","_$dropdown$querySelec","Ensighten","$filterToggle","$tags","$clearSearch","$searchInput","$resultHeadingStandard","$resultHeadingSearchPhrase","$resultHeadingFilters","$searchSpotToggle","$searchSpotInput","hasTags","hasFilters","initStateFilters","_$dropdown$querySelec2","tags","searchTag","dataset","tag","initResultHeader","tagIsCheckedOnCard","anyTagsChecked","Tags","cardHasTag","some","clearSearch","$tag","_ev$currentTarget2","labelHtml","pushGaEvent","toggleFilter","tagClicked","tagId","tagSelected","reset","activeClass","goToSearchPage","searchUrl","searchPhrase","goToSearchPageOnEnter","toggleSearchSpot","initialize","_document$querySelect3","_document$querySelect4","_document$querySelect5","searchPhraseFromUrl","mainSearchInput","$dropdownItems","URLSearchParams","search","Storage","storageKey","storageMaxGames","previousFeaturedGames","getFeaturedGamesFromStorage","games","saveGamesToStorage","stringify","updateFeaturedGames","clickedGameLink","nodeValue","addAnyInitialGamesToStorage","$initialCards","link","gameLink","filterOutInvalidGames","$cards","addEventListeners","count","reverse","$game","$clonedGame","megacardOverlay","megacardDesktop","megacardTablet","megacardMobile","description","featuredCard","showFeaturedGames","$parent","numberOfCards","sliderConfig","isPortrait","isLandscape","TinySlider","heroBackgroundImage","heroForegroundImage","price","metatext1","metatext2","metatext3","metatext1Mobile","metatext2Mobile","metatext3Mobile","slider","cardClicked","_startingElement$quer","startingElement","cardPrice","innerText","meta1","meta2","meta3","cardLink","animateMetaTexts","additionalImageData","_additionalDataElemen","_additionalDataElemen2","additionalDataElement","renderAdditionalImages","promoForegroundImage","promoBackgroundImage","handleCta","cta","pushGaEventOnPageRedirect","addEventListenersToCards","cards","resetCards","card","_cards$previous","_cards$next","_cards$beforePrevious","_cards$afterNext","previous","beforePrevious","afterNext","_ref","additionalImages","additionalImageHtml","additionalImage","_additionalImage$quic","_additionalImage$quic2","class","quickStylingClass","classname","svgContent","trust","imageUrl","heroDeckSlider","addTrackingToCards","gameslist","sliderTitle","action","cardWidth","itemCountMobile","itemCount400","itemCount768","thisSlider","list","template","$container","$wrapper","clear","$gameOverlay","redraw","confirm","dismiss","$overlay","_this$$wrapper","gameData","latestGameDimensions","stakeAmount","purchaseCompleted","ApiRequest","getGameInfo","baseURL","localCacheTTL","unwrapSuccess","response","checkActiveBetId","gameId","Promise","resolve","DS","Config","CONTEXTPREFIX","requireAuthCookie","logging","activeBetId","OverlayContainer","LeiaDataStore","PredepositOverlay","AppEvent","openPopup","open","convertRemToPixelValue","remString","endsWith","calculateTopAreaHeight","computedStyle","complianceBarHeight","mainMenuHeight","subMenuHeight","appEventEmitter","dsApplicationConfig","ApplicationId","fire","gotoDeposit","currentUrl","PRETTYPREFIX","encodeURIComponent","openLogin","DSAPI","Account","relaySSO","reject","assertionId","sessionToken","provider","LEIA_LOTTERY_CODE","gotoExitGame","gotoGlobalRules","gotoGameRules","cmsData","helpUrl","setGameContainerSize","minGameDimension","scaleDownFactor","gameDom","gameIframe","containerDom","pageWidth","heightDecrease","debug","isGameLandscape","maxHeight","isMobile","isTabletDevice","iframeWidth","iframeHeight","transformOrigin","fullscreenElement","mozFullScreenElement","webkitFullscreenElement","msFullscreenElement","fullscreen","webkitIsFullScreen","trackingProductDetails","gameName","brand","category","variant","quantity","addToDatalayer","dataLayer","applyFullscreen","requestFullscreen","mozRequestFullScreen","webkitRequestFullscreen","msRequestFullscreen","showPreDepositOverlay","removeLoadingClass","setTopNavigationDisplayOnMobileLandScape","shouldDisplay","_document$querySelect6","IOSUtils","$spacer","overlayHasAppeared","hideOverlay","poolingFunction","startMonitoring","checkTimer","stopTimer","startTimer","LoginCache","SitecoreAuth","LeiaApi","LeiaUtils","isGameEnabled","openGame","saveTag","closeGame","Game","status","gameUrl","executeAction","parameters","executeEvent","setDimension","preBet","demo","stake","product","ecommerce","products","user","getUserObj","customerInfo","balance","headerChangeAction","viewInfo","gameInfo","addProduct","purchaseProduct","transactionId","random","purchase","actionField","revenue","code","gameRules","globalRules","credit","onBet","_data$betAmount","betAmount","onClaim","gameMode","setName","setType","emitEvent","DIMENSIONS","TAG","PREBET","HAS_BET","HAS_CLAIMED","getHostInformation","updateGameMode","getGameMode","getGameConfiguration","theme","themeId","visualIdentity","logo","getGameInformation","getLocaleInformation","availableLanguages","activeLanguage","activeCurrency","getUserInformation","forceAuthenticated","sessionTokenType","getPurseInformation","doBalanceUpdate","values","displayedAmount","numberFormat","currency","actionId","CLOSE_GAME","CREDIT","GAME_RULES","GLOBAL_RULES","OPEN_GAME","GAME_LOADING","IS_GAME_ENABLED","maskPurse","purseMask","maskId","clearPurse","Event","LeiaHostChannel","IOSFullscreenOverlay","AndroidFullscreenOverlay","CrossWindowEvents","showErrorMessage","errorMessage","domMessage","domContainer","isApp","domNode","checkForActiveGame","betId","getParameter","skipRules","oldBalance","promises","include","LEIA_HOST","isLoggedIn","subscribe","newBalance","all","isAndroid","hostChannel","engineCode","bridgeSetup","bridgeLocation","crossDomain","hostKey","LEIA_HOSTKEY","authorizedHosts","origin","lotteryChannel","fcGameBridge","loadGame","isIOS","isFullscreen","$footer","iosSwipeUpHack","Dictionary","OutsideClick","Render","placeHolderText","toggleSelector","property","nodes","optionsWrapper","option","config","depend","deviceSelectorLabel","selectedOption","displayName","optionsList","deviceSelectorUpdate","selectOption","_ref2","title","footerElements","activate","footerElement","helpLink","Url","Text","mostVisitedList","mostVisitedLabel","onscroll","cave","tutorial","safeTitle","urlPrefix","_ref3","isButtonVisible","updateSearchQuery","searchQuery","filteredTutorials","allTutorials","matchTutorialTitleWithSearchQuery","collapseCategories","textToSearch","subtitle","richText","firstOpeningParagraphTagIndex","lastClosingParagraphTagIndex","lastIndexOf","searchableRichText","elements","content","firstOpeningDivTagIndex","lastClosingDivTagIndex","searchableText","every","word","RegExp","xmlns","cx","cy","oninput","placeholder","searchBarPlaceholder","TutorialFooter","Searchbar","Hero","categories","headerImage","tutorials","titleCssStyle","relatedHelpText","frontpageHeroTitle","jointList","slideTutorials","avalonTutorials","richTextTutorials","tipsSystemTutorial","nullResultHelpText","searchResultNull","latestSearches","footerSettings","categoryClickHandler","showTutorialCategories","isFiltered","_tutorial$imageFilter","_tutorial$imageFilter2","_tutorial$image$Sourc2","_tutorial$image2","_tutorial$image$Sourc","_tutorial$image","saveToLocalStorage","Source","imageFiltered","getFromLocalStorage","currentLocalStorage","reduce","acc","storage","matchRelatedTutorialsWithFilteredTutorials","filtratedTutorialsCategories","filteredTutorial","getCategoryDOM","getTutorialDOM","onStepRendered","entry","_tutorial$image$Sourc3","_tutorial$image3","_objectSpread","decodeURI","getTextWithHighligt","avalonContent","onRender","_this$tutorial$conten","_this$tutorial$conten2","contentWithoutComments","activateHeader","useFullWidth","activateFooter","safeTutorialName","heroTitle","heroText","elementsCount","slidepageRelatedHelpTitle","relatedHelpTutorials","heroImage","actionButton","showPrevArrow","showNextArrow","isSliderActive","desktopSlider","vimeoReady","vimeoPlayers","addPlayers","iframe","player","Vimeo","Player","isPlaying","ignoredElement","isInitialized","itemNumber","interval","setCurrentTime","steps","footerHelpText","mobileVideo","allowFullScreen","Title","desktopVideo","Overlay","ModalDialog","consts","U","DESCRIPTION","GUARANTEE","KEY","freeze","systems","selectedSystem","selectedCombination","dropdownOpen","selectedTable","rSystemFolder","tipsSystems","system","uSystemFolder","showOverlay","popupHeader","popupText","popupImage","alt","AlternameText","buttons","firstHeader","rSystemButtonText","uSystemButtonText","subButtonsText","secondHeader","combinationKey","TutorialFrontpage","TutorialSlidepage","TutorialSimplePage","TutorialAvalonPage","TutorialTipsSystemPage","ignoredRoute","ignoredProperty","rootctrl","footer","accumulator","finalText","openingTags","matchAll","closingTags","searchRegexPrep","searchRegex","indexOffset","exec","closestPreviousOpeningTag","component","Api","form","inputFields","selectFields","_ref6","_asyncToGenerator","fieldValues","canSubmit","email","inputIsValid","checkValidity","select","selectIsValid","sendCampaignForm","_ref4","_ref5","_x"],"mappings":"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","file":"region-avalon-quick.js","sourcesContent":["/* eslint-disable */\r\n\r\n// Documentation: https://github.com/ganlanyuan/tiny-slider\r\n\r\ndefineDs('Common/Framework/ScriptLibraries/Scripts/TinySlider', function () {\r\n \r\n return function () {\r\n var t = window;\r\n var Ai = t.requestAnimationFrame || t.webkitRequestAnimationFrame || t.mozRequestAnimationFrame || t.msRequestAnimationFrame || function (t) {\r\n return setTimeout(t, 16);\r\n };\r\n var e = window;\r\n var Ni = e.cancelAnimationFrame || e.mozCancelAnimationFrame || function (t) {\r\n clearTimeout(t);\r\n };\r\n\r\n function Li() {\r\n for (var t, e, n, i = arguments[0] || {}, a = 1, r = arguments.length; a < r; a++) if (null !== (t = arguments[a])) for (e in t) i !== (n = t[e]) && void 0 !== n && (i[e] = n);\r\n return i;\r\n }\r\n\r\n function Bi(t) {\r\n return 0 <= ['true', 'false'].indexOf(t) ? JSON.parse(t) : t;\r\n }\r\n\r\n function Si(t, e, n, i) {\r\n if (i) try {\r\n t.setItem(e, n);\r\n } catch (t) {\r\n }\r\n return n;\r\n }\r\n\r\n function Hi() {\r\n var t = document;\r\n var e = t.body;\r\n return e || ((e = t.createElement('body')).fake = !0), e;\r\n }\r\n\r\n var n = document.documentElement;\r\n\r\n function Oi(t) {\r\n var e = '';\r\n return t.fake && (e = n.style.overflow, t.style.background = '', t.style.overflow = n.style.overflow = 'hidden', n.appendChild(t)), e;\r\n }\r\n\r\n function Di(t, e) {\r\n t.fake && (t.remove(), n.style.overflow = e, n.offsetHeight);\r\n }\r\n\r\n function ki(t, e, n, i) {\r\n 'insertRule' in t ? t.insertRule(e + '{' + n + '}', i) : t.addRule(e, n, i);\r\n }\r\n\r\n function Ri(t) {\r\n return ('insertRule' in t ? t.cssRules : t.rules).length;\r\n }\r\n\r\n function Ii(t, e, n) {\r\n for (var i = 0, a = t.length; i < a; i++) e.call(n, t[i], i);\r\n }\r\n\r\n var i = 'classList' in document.createElement('_');\r\n var Pi = i ? function (t, e) {\r\n return t.classList.contains(e);\r\n } : function (t, e) {\r\n return 0 <= t.className.indexOf(e);\r\n };\r\n var zi = i ? function (t, e) {\r\n Pi(t, e) || t.classList.add(e);\r\n } : function (t, e) {\r\n Pi(t, e) || (t.className += ' ' + e);\r\n };\r\n var Wi = i ? function (t, e) {\r\n Pi(t, e) && t.classList.remove(e);\r\n } : function (t, e) {\r\n Pi(t, e) && (t.className = t.className.replace(e, ''));\r\n };\r\n\r\n function qi(t, e) {\r\n return t.hasAttribute(e);\r\n }\r\n\r\n function Fi(t, e) {\r\n return t.getAttribute(e);\r\n }\r\n\r\n function r(t) {\r\n return void 0 !== t.item;\r\n }\r\n\r\n function ji(t, e) {\r\n if (t = r(t) || t instanceof Array ? t : [t], '[object Object]' === Object.prototype.toString.call(e)) for (var n = t.length; n--;) for (var i in e) t[n].setAttribute(i, e[i]);\r\n }\r\n\r\n function Vi(t, e) {\r\n t = r(t) || t instanceof Array ? t : [t];\r\n for (var n = (e = e instanceof Array ? e : [e]).length, i = t.length; i--;) for (var a = n; a--;) t[i].removeAttribute(e[a]);\r\n }\r\n\r\n function Gi(t) {\r\n for (var e = [], n = 0, i = t.length; n < i; n++) e.push(t[n]);\r\n return e;\r\n }\r\n\r\n function Qi(t, e) {\r\n 'none' !== t.style.display && (t.style.display = 'none');\r\n }\r\n\r\n function Xi(t, e) {\r\n 'none' === t.style.display && (t.style.display = '');\r\n }\r\n\r\n function Yi(t) {\r\n return 'none' !== window.getComputedStyle(t).display;\r\n }\r\n\r\n function Ki(e) {\r\n if ('string' == typeof e) {\r\n var n = [e];\r\n var i = e.charAt(0).toUpperCase() + e.substr(1);\r\n ['Webkit', 'Moz', 'ms', 'O'].forEach(function (t) {\r\n 'ms' === t && 'transform' !== e || n.push(t + i);\r\n }), e = n;\r\n }\r\n for (var t = document.createElement('fakeelement'), a = (e.length, 0); a < e.length; a++) {\r\n var r = e[a];\r\n if (void 0 !== t.style[r]) return r;\r\n }\r\n return !1;\r\n }\r\n\r\n function Ji(t, e) {\r\n var n = !1;\r\n return /^Webkit/.test(t) ? n = 'webkit' + e + 'End' : /^O/.test(t) ? n = 'o' + e + 'End' : t && (n = e.toLowerCase() + 'end'), n;\r\n }\r\n\r\n var a = !1;\r\n try {\r\n var o = Object.defineProperty({}, 'passive', {\r\n get: function () {\r\n a = !0;\r\n }\r\n });\r\n window.addEventListener('test', null, o);\r\n } catch (t) {\r\n }\r\n var u = !!a && {passive: !0};\r\n\r\n function Ui(t, e, n) {\r\n for (var i in e) {\r\n var a = 0 <= ['touchstart', 'touchmove'].indexOf(i) && !n && u;\r\n t.addEventListener(i, e[i], a);\r\n }\r\n }\r\n\r\n function _i(t, e) {\r\n for (var n in e) {\r\n var i = 0 <= ['touchstart', 'touchmove'].indexOf(n) && u;\r\n t.removeEventListener(n, e[n], i);\r\n }\r\n }\r\n\r\n function Zi() {\r\n return {\r\n topics: {}, on: function (t, e) {\r\n this.topics[t] = this.topics[t] || [], this.topics[t].push(e);\r\n }, off: function (t, e) {\r\n if (this.topics[t]) for (var n = 0; n < this.topics[t].length; n++) if (this.topics[t][n] === e) {\r\n this.topics[t].splice(n, 1);\r\n break;\r\n }\r\n }, emit: function (e, n) {\r\n n.type = e, this.topics[e] && this.topics[e].forEach(function (t) {\r\n t(n, e);\r\n });\r\n }\r\n };\r\n }\r\n\r\n Object.keys || (Object.keys = function (t) {\r\n var e = [];\r\n for (var n in t) Object.prototype.hasOwnProperty.call(t, n) && e.push(n);\r\n return e;\r\n }), 'remove' in Element.prototype || (Element.prototype.remove = function () {\r\n this.parentNode && this.parentNode.removeChild(this);\r\n });\r\n var $i = function (H) {\r\n H = Li({\r\n container: '.slider',\r\n mode: 'carousel',\r\n axis: 'horizontal',\r\n items: 1,\r\n gutter: 0,\r\n edgePadding: 0,\r\n fixedWidth: !1,\r\n autoWidth: !1,\r\n viewportMax: !1,\r\n slideBy: 1,\r\n center: !1,\r\n controls: !0,\r\n controlsPosition: 'top',\r\n controlsText: ['prev', 'next'],\r\n controlsContainer: !1,\r\n prevButton: !1,\r\n nextButton: !1,\r\n nav: !0,\r\n navPosition: 'top',\r\n navContainer: !1,\r\n navAsThumbnails: !1,\r\n arrowKeys: !1,\r\n speed: 300,\r\n autoplay: !1,\r\n autoplayPosition: 'top',\r\n autoplayTimeout: 5e3,\r\n autoplayDirection: 'forward',\r\n autoplayText: ['start', 'stop'],\r\n autoplayHoverPause: !1,\r\n autoplayButton: !1,\r\n autoplayButtonOutput: !0,\r\n autoplayResetOnVisibility: !0,\r\n animateIn: 'tns-fadeIn',\r\n animateOut: 'tns-fadeOut',\r\n animateNormal: 'tns-normal',\r\n animateDelay: !1,\r\n loop: !0,\r\n rewind: !1,\r\n autoHeight: !1,\r\n responsive: !1,\r\n lazyload: !1,\r\n lazyloadSelector: '.tns-lazy-img',\r\n touch: !0,\r\n mouseDrag: !1,\r\n swipeAngle: 15,\r\n nested: !1,\r\n preventActionWhenRunning: !1,\r\n preventScrollOnTouch: !1,\r\n freezable: !0,\r\n onInit: !1,\r\n useLocalStorage: !0,\r\n nonce: !1\r\n }, H || {});\r\n var O = document;\r\n var m = window;\r\n var a = {ENTER: 13, SPACE: 32, LEFT: 37, RIGHT: 39};\r\n var e = {};\r\n var n = H.useLocalStorage;\r\n if (n) {\r\n var t = navigator.userAgent;\r\n var i = new Date;\r\n try {\r\n (e = m.localStorage) ? (e.setItem(i, i), n = e.getItem(i) == i, e.removeItem(i)) : n = !1, n || (e = {});\r\n } catch (t) {\r\n n = !1;\r\n }\r\n n && (e.tnsApp && e.tnsApp !== t && ['tC', 'tPL', 'tMQ', 'tTf', 't3D', 'tTDu', 'tTDe', 'tADu', 'tADe', 'tTE', 'tAE'].forEach(function (t) {\r\n e.removeItem(t);\r\n }), localStorage.tnsApp = t);\r\n }\r\n var y = e.tC ? Bi(e.tC) : Si(e, 'tC', function () {\r\n var t = document;\r\n var e = Hi();\r\n var n = Oi(e);\r\n var i = t.createElement('div');\r\n var a = !1;\r\n e.appendChild(i);\r\n try {\r\n for (var r, o = '(10px * 10)', u = ['calc' + o, '-moz-calc' + o, '-webkit-calc' + o], l = 0; l < 3; l++) if (r = u[l], i.style.width = r, 100 === i.offsetWidth) {\r\n a = r.replace(o, '');\r\n break;\r\n }\r\n } catch (t) {\r\n }\r\n return e.fake ? Di(e, n) : i.remove(), a;\r\n }(), n);\r\n var g = e.tPL ? Bi(e.tPL) : Si(e, 'tPL', function () {\r\n var t;\r\n var e = document;\r\n var n = Hi();\r\n var i = Oi(n);\r\n var a = e.createElement('div');\r\n var r = e.createElement('div');\r\n var o = '';\r\n a.className = 'tns-t-subp2', r.className = 'tns-t-ct';\r\n for (var u = 0; u < 70; u++) o += '
';\r\n return r.innerHTML = o, a.appendChild(r), n.appendChild(a), t = Math.abs(a.getBoundingClientRect().left - r.children[67].getBoundingClientRect().left) < 2, n.fake ? Di(n, i) : a.remove(), t;\r\n }(), n);\r\n var D = e.tMQ ? Bi(e.tMQ) : Si(e, 'tMQ', function () {\r\n if (window.matchMedia || window.msMatchMedia) return !0;\r\n var t;\r\n var e = document;\r\n var n = Hi();\r\n var i = Oi(n);\r\n var a = e.createElement('div');\r\n var r = e.createElement('style');\r\n var o = '@media all and (min-width:1px){.tns-mq-test{position:absolute}}';\r\n return r.type = 'text/css', a.className = 'tns-mq-test', n.appendChild(r), n.appendChild(a), r.styleSheet ? r.styleSheet.cssText = o : r.appendChild(e.createTextNode(o)), t = window.getComputedStyle ? window.getComputedStyle(a).position : a.currentStyle.position, n.fake ? Di(n, i) : a.remove(), 'absolute' === t;\r\n }(), n);\r\n var r = e.tTf ? Bi(e.tTf) : Si(e, 'tTf', Ki('transform'), n);\r\n var o = e.t3D ? Bi(e.t3D) : Si(e, 't3D', function (t) {\r\n if (!t) return !1;\r\n if (!window.getComputedStyle) return !1;\r\n var e;\r\n var n = document;\r\n var i = Hi();\r\n var a = Oi(i);\r\n var r = n.createElement('p');\r\n var o = 9 < t.length ? '-' + t.slice(0, -9).toLowerCase() + '-' : '';\r\n return o += 'transform', i.insertBefore(r, null), r.style[t] = 'translate3d(1px,1px,1px)', e = window.getComputedStyle(r).getPropertyValue(o), i.fake ? Di(i, a) : r.remove(), void 0 !== e && 0 < e.length && 'none' !== e;\r\n }(r), n);\r\n var x = e.tTDu ? Bi(e.tTDu) : Si(e, 'tTDu', Ki('transitionDuration'), n);\r\n var u = e.tTDe ? Bi(e.tTDe) : Si(e, 'tTDe', Ki('transitionDelay'), n);\r\n var b = e.tADu ? Bi(e.tADu) : Si(e, 'tADu', Ki('animationDuration'), n);\r\n var l = e.tADe ? Bi(e.tADe) : Si(e, 'tADe', Ki('animationDelay'), n);\r\n var s = e.tTE ? Bi(e.tTE) : Si(e, 'tTE', Ji(x, 'Transition'), n);\r\n var c = e.tAE ? Bi(e.tAE) : Si(e, 'tAE', Ji(b, 'Animation'), n);\r\n var f = m.console && 'function' == typeof m.console.warn;\r\n var d = ['container', 'controlsContainer', 'prevButton', 'nextButton', 'navContainer', 'autoplayButton'];\r\n var v = {};\r\n if (d.forEach(function (t) {\r\n if ('string' == typeof H[t]) {\r\n var e = H[t];\r\n var n = O.querySelector(e);\r\n if (v[t] = e, !n || !n.nodeName) return void (f && console.warn('Can\\'t find', H[t]));\r\n H[t] = n;\r\n }\r\n }), !(H.container.children.length < 1)) {\r\n var k = H.responsive;\r\n var R = H.nested;\r\n var I = 'carousel' === H.mode;\r\n if (k) {\r\n 0 in k && (H = Li(H, k[0]), delete k[0]);\r\n var p = {};\r\n for (var h in k) {\r\n var w = k[h];\r\n w = 'number' == typeof w ? {items: w} : w, p[h] = w;\r\n }\r\n k = p, p = null;\r\n }\r\n if (I || function t(e) {\r\n for (var n in e) I || ('slideBy' === n && (e[n] = 'page'), 'edgePadding' === n && (e[n] = !1), 'autoHeight' === n && (e[n] = !1)), 'responsive' === n && t(e[n]);\r\n }(H), !I) {\r\n H.axis = 'horizontal', H.slideBy = 'page', H.edgePadding = !1;\r\n var P = H.animateIn;\r\n var z = H.animateOut;\r\n var C = H.animateDelay;\r\n var W = H.animateNormal;\r\n }\r\n var M;\r\n var q;\r\n var F = 'horizontal' === H.axis;\r\n var T = O.createElement('div');\r\n var j = O.createElement('div');\r\n var V = H.container;\r\n var E = V.parentNode;\r\n var A = V.outerHTML;\r\n var G = V.children;\r\n var Q = G.length;\r\n var X = rn();\r\n var Y = !1;\r\n k && En(), I && (V.className += ' tns-vpfix');\r\n var N;\r\n var L;\r\n var B;\r\n var S;\r\n var K;\r\n var J;\r\n var U;\r\n var _;\r\n var Z;\r\n var $ = H.autoWidth;\r\n var tt = sn('fixedWidth');\r\n var et = sn('edgePadding');\r\n var nt = sn('gutter');\r\n var it = un();\r\n var at = sn('center');\r\n var rt = $ ? 1 : Math.floor(sn('items'));\r\n var ot = sn('slideBy');\r\n var ut = H.viewportMax || H.fixedWidthViewportWidth;\r\n var lt = sn('arrowKeys');\r\n var st = sn('speed');\r\n var ct = H.rewind;\r\n var ft = !ct && H.loop;\r\n var dt = sn('autoHeight');\r\n var vt = sn('controls');\r\n var pt = sn('controlsText');\r\n var ht = sn('nav');\r\n var mt = sn('touch');\r\n var yt = sn('mouseDrag');\r\n var gt = sn('autoplay');\r\n var xt = sn('autoplayTimeout');\r\n var bt = sn('autoplayText');\r\n var wt = sn('autoplayHoverPause');\r\n var Ct = sn('autoplayResetOnVisibility');\r\n var Mt = (U = null, _ = sn('nonce'), Z = document.createElement('style'), U && Z.setAttribute('media', U), _ && Z.setAttribute('nonce', _), document.querySelector('head').appendChild(Z), Z.sheet ? Z.sheet : Z.styleSheet);\r\n var Tt = H.lazyload;\r\n var Et = H.lazyloadSelector;\r\n var At = [];\r\n var Nt = ft ? (K = function () {\r\n {\r\n if ($ || tt && !ut) return Q - 1;\r\n var t = tt ? 'fixedWidth' : 'items';\r\n var e = [];\r\n if ((tt || H[t] < Q) && e.push(H[t]), k) for (var n in k) {\r\n var i = k[n][t];\r\n i && (tt || i < Q) && e.push(i);\r\n }\r\n return e.length || e.push(0), Math.ceil(tt ? ut / Math.min.apply(null, e) : Math.max.apply(null, e));\r\n }\r\n }(), J = I ? Math.ceil((5 * K - Q) / 2) : 4 * K - Q, J = Math.max(K, J), ln('edgePadding') ? J + 1 : J) : 0;\r\n var Lt = I ? Q + 2 * Nt : Q + Nt;\r\n var Bt = !(!tt && !$ || ft);\r\n var St = tt ? _n() : null;\r\n var Ht = !I || !ft;\r\n var Ot = F ? 'left' : 'top';\r\n var Dt = '';\r\n var kt = '';\r\n var Rt = tt ? function () {\r\n return at && !ft ? Q - 1 : Math.ceil(-St / (tt + nt));\r\n } : $ ? function () {\r\n for (var t = 0; t < Lt; t++) if (N[t] >= -St) return t;\r\n } : function () {\r\n return at && I && !ft ? Q - 1 : ft || I ? Math.max(0, Lt - Math.ceil(rt)) : Lt - 1;\r\n };\r\n var It = en(sn('startIndex'));\r\n var Pt = It;\r\n var zt = (tn(), 0);\r\n var Wt = $ ? null : Rt();\r\n var qt = H.preventActionWhenRunning;\r\n var Ft = H.swipeAngle;\r\n var jt = !Ft || '?';\r\n var Vt = !1;\r\n var Gt = H.onInit;\r\n var Qt = new Zi;\r\n var Xt = ' tns-slider tns-' + H.mode;\r\n var Yt = V.id || (S = window.tnsId, window.tnsId = S ? S + 1 : 1, 'tns' + window.tnsId);\r\n var Kt = sn('disable');\r\n var Jt = !1;\r\n var Ut = H.freezable;\r\n var _t = !(!Ut || $) && Tn();\r\n var Zt = !1;\r\n var $t = {\r\n click: oi, keydown: function (t) {\r\n t = pi(t);\r\n var e = [a.LEFT, a.RIGHT].indexOf(t.keyCode);\r\n 0 <= e && (0 === e ? we.disabled || oi(t, -1) : Ce.disabled || oi(t, 1));\r\n }\r\n };\r\n var te = {\r\n click: function (t) {\r\n if (Vt) {\r\n if (qt) return;\r\n ai();\r\n }\r\n var e = hi(t = pi(t));\r\n for (; e !== Ae && !qi(e, 'data-nav');) e = e.parentNode;\r\n if (qi(e, 'data-nav')) {\r\n var n = Se = Number(Fi(e, 'data-nav'));\r\n var i = tt || $ ? n * Q / Le : n * rt;\r\n var a = le ? n : Math.min(Math.ceil(i), Q - 1);\r\n ri(a, t), He === n && (Pe && fi(), Se = -1);\r\n }\r\n }, keydown: function (t) {\r\n t = pi(t);\r\n var e = O.activeElement;\r\n if (!qi(e, 'data-nav')) return;\r\n var n = [a.LEFT, a.RIGHT, a.ENTER, a.SPACE].indexOf(t.keyCode);\r\n var i = Number(Fi(e, 'data-nav'));\r\n 0 <= n && (0 === n ? 0 < i && vi(Ee[i - 1]) : 1 === n ? i < Le - 1 && vi(Ee[i + 1]) : ri(Se = i, t));\r\n }\r\n };\r\n var ee = {\r\n mouseover: function () {\r\n Pe && (li(), ze = !0);\r\n }, mouseout: function () {\r\n ze && (ui(), ze = !1);\r\n }\r\n };\r\n var ne = {\r\n visibilitychange: function () {\r\n O.hidden ? Pe && (li(), qe = !0) : qe && (ui(), qe = !1);\r\n }\r\n };\r\n var ie = {\r\n keydown: function (t) {\r\n t = pi(t);\r\n var e = [a.LEFT, a.RIGHT].indexOf(t.keyCode);\r\n 0 <= e && oi(t, 0 === e ? -1 : 1);\r\n }\r\n };\r\n var ae = {touchstart: xi, touchmove: bi, touchend: wi, touchcancel: wi};\r\n var re = {mousedown: xi, mousemove: bi, mouseup: wi, mouseleave: wi};\r\n var oe = ln('controls');\r\n var ue = ln('nav');\r\n var le = !!$ || H.navAsThumbnails;\r\n var se = ln('autoplay');\r\n var ce = ln('touch');\r\n var fe = ln('mouseDrag');\r\n var de = 'tns-slide-active';\r\n var ve = 'tns-slide-cloned';\r\n var pe = 'tns-complete';\r\n var he = {\r\n load: function (t) {\r\n kn(hi(t));\r\n }, error: function (t) {\r\n e = hi(t), zi(e, 'failed'), Rn(e);\r\n var e;\r\n }\r\n };\r\n var me = 'force' === H.preventScrollOnTouch;\r\n if (oe) var ye;\r\n var ge;\r\n var xe = H.controlsContainer;\r\n var be = H.controlsContainer ? H.controlsContainer.outerHTML : '';\r\n var we = H.prevButton;\r\n var Ce = H.nextButton;\r\n var Me = H.prevButton ? H.prevButton.outerHTML : '';\r\n var Te = H.nextButton ? H.nextButton.outerHTML : '';\r\n if (ue) var Ee;\r\n var Ae = H.navContainer;\r\n var Ne = H.navContainer ? H.navContainer.outerHTML : '';\r\n var Le = $ ? Q : Mi();\r\n var Be = 0;\r\n var Se = -1;\r\n var He = an();\r\n var Oe = He;\r\n var De = 'tns-nav-active';\r\n var ke = 'Carousel Page ';\r\n var Re = ' (Current Slide)';\r\n if (se) var Ie;\r\n var Pe;\r\n var ze;\r\n var We;\r\n var qe;\r\n var Fe = 'forward' === H.autoplayDirection ? 1 : -1;\r\n var je = H.autoplayButton;\r\n var Ve = H.autoplayButton ? H.autoplayButton.outerHTML : '';\r\n var Ge = ['', ' animation'];\r\n if (ce || fe) var Qe;\r\n var Xe;\r\n var Ye = {};\r\n var Ke = {};\r\n var Je = !1;\r\n var Ue = F ? function (t, e) {\r\n return t.x - e.x;\r\n } : function (t, e) {\r\n return t.y - e.y;\r\n };\r\n $ || $e(Kt || _t), r && (Ot = r, Dt = 'translate', o ? (Dt += F ? '3d(' : '3d(0px, ', kt = F ? ', 0px, 0px)' : ', 0px)') : (Dt += F ? 'X(' : 'Y(', kt = ')')), I && (V.className = V.className.replace('tns-vpfix', '')), function () {\r\n ln('gutter');\r\n T.className = 'tns-outer', j.className = 'tns-inner', T.id = Yt + '-ow', j.id = Yt + '-iw', '' === V.id && (V.id = Yt);\r\n Xt += g || $ ? ' tns-subpixel' : ' tns-no-subpixel', Xt += y ? ' tns-calc' : ' tns-no-calc', $ && (Xt += ' tns-autowidth');\r\n Xt += ' tns-' + H.axis, V.className += Xt, I ? ((M = O.createElement('div')).id = Yt + '-mw', M.className = 'tns-ovh', T.appendChild(M), M.appendChild(j)) : T.appendChild(j);\r\n if (dt) {\r\n var t = M || j;\r\n t.className += ' tns-ah';\r\n }\r\n if (E.insertBefore(T, V), j.appendChild(V), Ii(G, function (t, e) {\r\n zi(t, 'tns-item'), t.id || (t.id = Yt + '-item' + e), !I && W && zi(t, W), ji(t, {\r\n 'aria-hidden': 'true',\r\n tabindex: '-1'\r\n });\r\n }), Nt) {\r\n for (var e = O.createDocumentFragment(), n = O.createDocumentFragment(), i = Nt; i--;) {\r\n var a = i % Q;\r\n var r = G[a].cloneNode(!0);\r\n if (zi(r, ve), Vi(r, 'id'), n.insertBefore(r, n.firstChild), I) {\r\n var o = G[Q - 1 - a].cloneNode(!0);\r\n zi(o, ve), Vi(o, 'id'), e.appendChild(o);\r\n }\r\n }\r\n V.insertBefore(e, V.firstChild), V.appendChild(n), G = V.children;\r\n }\r\n }(), function () {\r\n if (!I) for (var t = It, e = It + Math.min(Q, rt); t < e; t++) {\r\n var n = G[t];\r\n n.style.left = 100 * (t - It) / rt + '%', zi(n, P), Wi(n, W);\r\n }\r\n F && (g || $ ? (ki(Mt, '#' + Yt + ' > .tns-item', 'font-size:' + m.getComputedStyle(G[0]).fontSize + ';', Ri(Mt)), ki(Mt, '#' + Yt, 'font-size:0;', Ri(Mt))) : I && Ii(G, function (t, e) {\r\n var n;\r\n t.style.marginLeft = (n = e, y ? y + '(' + 100 * n + '% / ' + Lt + ')' : 100 * n / Lt + '%');\r\n }));\r\n if (D) {\r\n if (x) {\r\n var i = M && H.autoHeight ? hn(H.speed) : '';\r\n ki(Mt, '#' + Yt + '-mw', i, Ri(Mt));\r\n }\r\n i = cn(H.edgePadding, H.gutter, H.fixedWidth, H.speed, H.autoHeight), ki(Mt, '#' + Yt + '-iw', i, Ri(Mt)), I && (i = F && !$ ? 'width:' + fn(H.fixedWidth, H.gutter, H.items) + ';' : '', x && (i += hn(st)), ki(Mt, '#' + Yt, i, Ri(Mt))), i = F && !$ ? dn(H.fixedWidth, H.gutter, H.items) : '', H.gutter && (i += vn(H.gutter)), I || (x && (i += hn(st)), b && (i += mn(st))), i && ki(Mt, '#' + Yt + ' > .tns-item', i, Ri(Mt));\r\n } else {\r\n I && dt && (M.style[x] = st / 1e3 + 's'), j.style.cssText = cn(et, nt, tt, dt), I && F && !$ && (V.style.width = fn(tt, nt, rt));\r\n var i = F && !$ ? dn(tt, nt, rt) : '';\r\n nt && (i += vn(nt)), i && ki(Mt, '#' + Yt + ' > .tns-item', i, Ri(Mt));\r\n }\r\n if (k && D) for (var a in k) {\r\n a = parseInt(a);\r\n var r = k[a];\r\n var i = '';\r\n var o = '';\r\n var u = '';\r\n var l = '';\r\n var s = '';\r\n var c = $ ? null : sn('items', a);\r\n var f = sn('fixedWidth', a);\r\n var d = sn('speed', a);\r\n var v = sn('edgePadding', a);\r\n var p = sn('autoHeight', a);\r\n var h = sn('gutter', a);\r\n x && M && sn('autoHeight', a) && 'speed' in r && (o = '#' + Yt + '-mw{' + hn(d) + '}'), ('edgePadding' in r || 'gutter' in r) && (u = '#' + Yt + '-iw{' + cn(v, h, f, d, p) + '}'), I && F && !$ && ('fixedWidth' in r || 'items' in r || tt && 'gutter' in r) && (l = 'width:' + fn(f, h, c) + ';'), x && 'speed' in r && (l += hn(d)), l && (l = '#' + Yt + '{' + l + '}'), ('fixedWidth' in r || tt && 'gutter' in r || !I && 'items' in r) && (s += dn(f, h, c)), 'gutter' in r && (s += vn(h)), !I && 'speed' in r && (x && (s += hn(d)), b && (s += mn(d))), s && (s = '#' + Yt + ' > .tns-item{' + s + '}'), (i = o + u + l + s) && Mt.insertRule('@media (min-width: ' + a / 16 + 'em) {' + i + '}', Mt.cssRules.length);\r\n }\r\n }(), yn();\r\n var _e = ft ? I ? function () {\r\n var t = zt;\r\n var e = Wt;\r\n t += ot, e -= ot, et ? (t += 1, e -= 1) : tt && (it + nt) % (tt + nt) && (e -= 1), Nt && (e < It ? It -= Q : It < t && (It += Q));\r\n } : function () {\r\n if (Wt < It) for (; zt + Q <= It;) It -= Q; else if (It < zt) for (; It <= Wt - Q;) It += Q;\r\n } : function () {\r\n It = Math.max(zt, Math.min(Wt, It));\r\n };\r\n var Ze = I ? function () {\r\n var e;\r\n var n;\r\n var i;\r\n var a;\r\n var t;\r\n var r;\r\n var o;\r\n var u;\r\n var l;\r\n var s;\r\n var c;\r\n Jn(V, ''), x || !st ? (ti(), st && Yi(V) || ai()) : (e = V, n = Ot, i = Dt, a = kt, t = Zn(), r = st, o = ai, u = Math.min(r, 10), l = 0 <= t.indexOf('%') ? '%' : 'px', t = t.replace(l, ''), s = Number(e.style[n].replace(i, '').replace(a, '').replace(l, '')), c = (t - s) / r * u, setTimeout(function t() {\r\n r -= u, s += c, e.style[n] = i + s + l + a, 0 < r ? setTimeout(t, u) : o();\r\n }, u)), F || Ci();\r\n } : function () {\r\n At = [];\r\n var t = {};\r\n t[s] = t[c] = ai, _i(G[Pt], t), Ui(G[It], t), ei(Pt, P, z, !0), ei(It, W, P), s && c && st && Yi(V) || ai();\r\n };\r\n return {\r\n version: '2.9.3', getInfo: Ei, events: Qt, goTo: ri, play: function () {\r\n gt && !Pe && (ci(), We = !1);\r\n }, pause: function () {\r\n Pe && (fi(), We = !0);\r\n }, isOn: Y, updateSliderHeight: Fn, refresh: yn, destroy: function () {\r\n if (Mt.disabled = !0, Mt.ownerNode && Mt.ownerNode.remove(), _i(m, {resize: Cn}), lt && _i(O, ie), xe && _i(xe, $t), Ae && _i(Ae, te), _i(V, ee), _i(V, ne), je && _i(je, {click: di}), gt && clearInterval(Ie), I && s) {\r\n var t = {};\r\n t[s] = ai, _i(V, t);\r\n }\r\n mt && _i(V, ae), yt && _i(V, re);\r\n var r = [A, be, Me, Te, Ne, Ve];\r\n for (var e in d.forEach(function (t, e) {\r\n var n = 'container' === t ? T : H[t];\r\n if ('object' == typeof n && n) {\r\n var i = !!n.previousElementSibling && n.previousElementSibling;\r\n var a = n.parentNode;\r\n n.outerHTML = r[e], H[t] = i ? i.nextElementSibling : a.firstElementChild;\r\n }\r\n }), d = P = z = C = W = F = T = j = V = E = A = G = Q = q = X = $ = tt = et = nt = it = rt = ot = ut = lt = st = ct = ft = dt = Mt = Tt = N = At = Nt = Lt = Bt = St = Ht = Ot = Dt = kt = Rt = It = Pt = zt = Wt = Ft = jt = Vt = Gt = Qt = Xt = Yt = Kt = Jt = Ut = _t = Zt = $t = te = ee = ne = ie = ae = re = oe = ue = le = se = ce = fe = de = pe = he = L = vt = pt = xe = be = we = Ce = ye = ge = ht = Ae = Ne = Ee = Le = Be = Se = He = Oe = De = ke = Re = gt = xt = Fe = bt = wt = je = Ve = Ct = Ge = Ie = Pe = ze = We = qe = Ye = Ke = Qe = Je = Xe = Ue = mt = yt = null, this) 'rebuild' !== e && (this[e] = null);\r\n Y = !1;\r\n }, rebuild: function () {\r\n return $i(Li(H, v));\r\n }\r\n };\r\n }\r\n\r\n function $e(t) {\r\n t && (vt = ht = mt = yt = lt = gt = wt = Ct = !1);\r\n }\r\n\r\n function tn() {\r\n for (var t = I ? It - Nt : It; t < 0;) t += Q;\r\n return t % Q + 1;\r\n }\r\n\r\n function en(t) {\r\n return t = t ? Math.max(0, Math.min(ft ? Q - 1 : Q - rt, t)) : 0, I ? t + Nt : t;\r\n }\r\n\r\n function nn(t) {\r\n for (null == t && (t = It), I && (t -= Nt); t < 0;) t += Q;\r\n return Math.floor(t % Q);\r\n }\r\n\r\n function an() {\r\n var t;\r\n var e = nn();\r\n return t = le ? e : tt || $ ? Math.ceil((e + 1) * Le / Q - 1) : Math.floor(e / rt), !ft && I && It === Wt && (t = Le - 1), t;\r\n }\r\n\r\n function rn() {\r\n return m.innerWidth || O.documentElement.clientWidth || O.body.clientWidth;\r\n }\r\n\r\n function on(t) {\r\n return 'top' === t ? 'afterbegin' : 'beforeend';\r\n }\r\n\r\n function un() {\r\n var t = et ? 2 * et - nt : 0;\r\n return function t(e) {\r\n if (null != e) {\r\n var n;\r\n var i;\r\n var a = O.createElement('div');\r\n return e.appendChild(a), i = (n = a.getBoundingClientRect()).right - n.left, a.remove(), i || t(e.parentNode);\r\n }\r\n }(E) - t;\r\n }\r\n\r\n function ln(t) {\r\n if (H[t]) return !0;\r\n if (k) for (var e in k) if (k[e][t]) return !0;\r\n return !1;\r\n }\r\n\r\n function sn(t, e) {\r\n if (null == e && (e = X), 'items' === t && tt) return Math.floor((it + nt) / (tt + nt)) || 1;\r\n var n = H[t];\r\n if (k) for (var i in k) e >= parseInt(i) && t in k[i] && (n = k[i][t]);\r\n return 'slideBy' === t && 'page' === n && (n = sn('items')), I || 'slideBy' !== t && 'items' !== t || (n = Math.floor(n)), n;\r\n }\r\n\r\n function cn(t, e, n, i, a) {\r\n var r = '';\r\n if (void 0 !== t) {\r\n var o = t;\r\n e && (o -= e), r = F ? 'margin: 0 ' + o + 'px 0 ' + t + 'px;' : 'margin: ' + t + 'px 0 ' + o + 'px 0;';\r\n } else if (e && !n) {\r\n var u = '-' + e + 'px';\r\n r = 'margin: 0 ' + (F ? u + ' 0 0' : '0 ' + u + ' 0') + ';';\r\n }\r\n return !I && a && x && i && (r += hn(i)), r;\r\n }\r\n\r\n function fn(t, e, n) {\r\n return t ? (t + e) * Lt + 'px' : y ? y + '(' + 100 * Lt + '% / ' + n + ')' : 100 * Lt / n + '%';\r\n }\r\n\r\n function dn(t, e, n) {\r\n var i;\r\n if (t) i = t + e + 'px'; else {\r\n I || (n = Math.floor(n));\r\n var a = I ? Lt : n;\r\n i = y ? y + '(100% / ' + a + ')' : 100 / a + '%';\r\n }\r\n return i = 'width:' + i, 'inner' !== R ? i + ';' : i + ' !important;';\r\n }\r\n\r\n function vn(t) {\r\n var e = '';\r\n !1 !== t && (e = (F ? 'padding-' : 'margin-') + (F ? 'right' : 'bottom') + ': ' + t + 'px;');\r\n return e;\r\n }\r\n\r\n function pn(t, e) {\r\n var n = t.substring(0, t.length - e).toLowerCase();\r\n return n && (n = '-' + n + '-'), n;\r\n }\r\n\r\n function hn(t) {\r\n return pn(x, 18) + 'transition-duration:' + t / 1e3 + 's;';\r\n }\r\n\r\n function mn(t) {\r\n return pn(b, 17) + 'animation-duration:' + t / 1e3 + 's;';\r\n }\r\n\r\n function yn() {\r\n if (ln('autoHeight') || $ || !F) {\r\n var t = V.querySelectorAll('img');\r\n Ii(t, function (t) {\r\n var e = t.src;\r\n Tt || (e && e.indexOf('data:image') < 0 ? (t.src = '', Ui(t, he), zi(t, 'loading'), t.src = e) : kn(t));\r\n }), Ai(function () {\r\n zn(Gi(t), function () {\r\n L = !0;\r\n });\r\n }), ln('autoHeight') && (t = In(It, Math.min(It + rt - 1, Lt - 1))), Tt ? gn() : Ai(function () {\r\n zn(Gi(t), gn);\r\n });\r\n } else I && $n(), bn(), wn();\r\n }\r\n\r\n function gn() {\r\n if ($ && 1 < Q) {\r\n var i = ft ? It : Q - 1;\r\n !function t() {\r\n var e = G[i].getBoundingClientRect().left;\r\n var n = G[i - 1].getBoundingClientRect().right;\r\n Math.abs(e - n) <= 1 ? xn() : setTimeout(function () {\r\n t();\r\n }, 16);\r\n }();\r\n } else xn();\r\n }\r\n\r\n function xn() {\r\n F && !$ || (jn(), $ ? (St = _n(), Ut && (_t = Tn()), Wt = Rt(), $e(Kt || _t)) : Ci()), I && $n(), bn(), wn();\r\n }\r\n\r\n function bn() {\r\n if (Vn(), T.insertAdjacentHTML('afterbegin', '
slide ' + Hn() + ' of ' + Q + '
'), B = T.querySelector('.tns-liveregion .current'), se) {\r\n var t = gt ? 'stop' : 'start';\r\n je ? ji(je, {'data-action': t}) : H.autoplayButtonOutput && (T.insertAdjacentHTML(on(H.autoplayPosition), ''), je = T.querySelector('[data-action]')), je && Ui(je, {click: di}), gt && (ci(), wt && Ui(V, ee), Ct && Ui(V, ne));\r\n }\r\n if (ue) {\r\n if (Ae) ji(Ae, {'aria-label': 'Carousel Pagination'}), Ii(Ee = Ae.children, function (t, e) {\r\n ji(t, {'data-nav': e, tabindex: '-1', 'aria-label': ke + (e + 1), 'aria-controls': Yt});\r\n }); else {\r\n for (var e = '', n = le ? '' : 'style=\"display:none\"', i = 0; i < Q; i++) e += '';\r\n e = '
' + e + '
', T.insertAdjacentHTML(on(H.navPosition), e), Ae = T.querySelector('.tns-nav'), Ee = Ae.children;\r\n }\r\n if (Ti(), x) {\r\n var a = x.substring(0, x.length - 18).toLowerCase();\r\n var r = 'transition: all ' + st / 1e3 + 's';\r\n a && (r = '-' + a + '-' + r), ki(Mt, '[aria-controls^=' + Yt + '-item]', r, Ri(Mt));\r\n }\r\n ji(Ee[He], {'aria-label': ke + (He + 1) + Re}), Vi(Ee[He], 'tabindex'), zi(Ee[He], De), Ui(Ae, te);\r\n }\r\n oe && (xe || we && Ce || (T.insertAdjacentHTML(on(H.controlsPosition), '
'), xe = T.querySelector('.tns-controls')), we && Ce || (we = xe.children[0], Ce = xe.children[1]), H.controlsContainer && ji(xe, {\r\n 'aria-label': 'Carousel Navigation',\r\n tabindex: '0'\r\n }), (H.controlsContainer || H.prevButton && H.nextButton) && ji([we, Ce], {\r\n 'aria-controls': Yt,\r\n tabindex: '-1'\r\n }), (H.controlsContainer || H.prevButton && H.nextButton) && (ji(we, {'data-controls': 'prev'}), ji(Ce, {'data-controls': 'next'})), ye = Qn(we), ge = Qn(Ce), Kn(), xe ? Ui(xe, $t) : (Ui(we, $t), Ui(Ce, $t))), An();\r\n }\r\n\r\n function wn() {\r\n if (I && s) {\r\n var t = {};\r\n t[s] = ai, Ui(V, t);\r\n }\r\n mt && Ui(V, ae, H.preventScrollOnTouch), yt && Ui(V, re), lt && Ui(O, ie), 'inner' === R ? Qt.on('outerResized', function () {\r\n Mn(), Qt.emit('innerLoaded', Ei());\r\n }) : (k || tt || $ || dt || !F) && Ui(m, {resize: Cn}), dt && ('outer' === R ? Qt.on('innerLoaded', Pn) : Kt || Pn()), Dn(), Kt ? Bn() : _t && Ln(), Qt.on('indexChanged', Wn), 'inner' === R && Qt.emit('innerLoaded', Ei()), 'function' == typeof Gt && Gt(Ei()), Y = !0;\r\n }\r\n\r\n function Cn(t) {\r\n Ai(function () {\r\n Mn(pi(t));\r\n });\r\n }\r\n\r\n function Mn(t) {\r\n if (Y) {\r\n 'outer' === R && Qt.emit('outerResized', Ei(t)), X = rn();\r\n var e;\r\n var n = q;\r\n var i = !1;\r\n k && (En(), (e = n !== q) && Qt.emit('newBreakpointStart', Ei(t)));\r\n var a;\r\n var r;\r\n var o;\r\n var u;\r\n var l = rt;\r\n var s = Kt;\r\n var c = _t;\r\n var f = lt;\r\n var d = vt;\r\n var v = ht;\r\n var p = mt;\r\n var h = yt;\r\n var m = gt;\r\n var y = wt;\r\n var g = Ct;\r\n var x = It;\r\n if (e) {\r\n var b = tt;\r\n var w = dt;\r\n var C = pt;\r\n var M = at;\r\n var T = bt;\r\n if (!D) var E = nt;\r\n var A = et;\r\n }\r\n if (lt = sn('arrowKeys'), vt = sn('controls'), ht = sn('nav'), mt = sn('touch'), at = sn('center'), yt = sn('mouseDrag'), gt = sn('autoplay'), wt = sn('autoplayHoverPause'), Ct = sn('autoplayResetOnVisibility'), e && (Kt = sn('disable'), tt = sn('fixedWidth'), st = sn('speed'), dt = sn('autoHeight'), pt = sn('controlsText'), bt = sn('autoplayText'), xt = sn('autoplayTimeout'), D || (et = sn('edgePadding'), nt = sn('gutter'))), $e(Kt), it = un(), F && !$ || Kt || (jn(), F || (Ci(), i = !0)), (tt || $) && (St = _n(), Wt = Rt()), (e || tt) && (rt = sn('items'), ot = sn('slideBy'), (r = rt !== l) && (tt || $ || (Wt = Rt()), _e())), e && Kt !== s && (Kt ? Bn() : function () {\r\n if (!Jt) return;\r\n if (Mt.disabled = !1, V.className += Xt, $n(), ft) for (var t = Nt; t--;) I && Xi(G[t]), Xi(G[Lt - t - 1]);\r\n if (!I) for (var e = It, n = It + Q; e < n; e++) {\r\n var i = G[e];\r\n var a = e < It + rt ? P : W;\r\n i.style.left = 100 * (e - It) / rt + '%', zi(i, a);\r\n }\r\n Nn(), Jt = !1;\r\n }()), Ut && (e || tt || $) && (_t = Tn()) !== c && (_t ? (ti(Zn(en(0))), Ln()) : (!function () {\r\n if (!Zt) return;\r\n et && D && (j.style.margin = '');\r\n if (Nt) for (var t = 'tns-transparent', e = Nt; e--;) I && Wi(G[e], t), Wi(G[Lt - e - 1], t);\r\n Nn(), Zt = !1;\r\n }(), i = !0)), $e(Kt || _t), gt || (wt = Ct = !1), lt !== f && (lt ? Ui(O, ie) : _i(O, ie)), vt !== d && (vt ? xe ? Xi(xe) : (we && Xi(we), Ce && Xi(Ce)) : xe ? Qi(xe) : (we && Qi(we), Ce && Qi(Ce))), ht !== v && (ht ? (Xi(Ae), Ti()) : Qi(Ae)), mt !== p && (mt ? Ui(V, ae, H.preventScrollOnTouch) : _i(V, ae)), yt !== h && (yt ? Ui(V, re) : _i(V, re)), gt !== m && (gt ? (je && Xi(je), Pe || We || ci()) : (je && Qi(je), Pe && fi())), wt !== y && (wt ? Ui(V, ee) : _i(V, ee)), Ct !== g && (Ct ? Ui(O, ne) : _i(O, ne)), e) {\r\n if (tt === b && at === M || (i = !0), dt !== w && (dt || (j.style.height = '')), vt && pt !== C && (we.innerHTML = pt[0], Ce.innerHTML = pt[1]), je && bt !== T) {\r\n var N = gt ? 1 : 0;\r\n var L = je.innerHTML;\r\n var B = L.length - T[N].length;\r\n L.substring(B) === T[N] && (je.innerHTML = L.substring(0, B) + bt[N]);\r\n }\r\n } else at && (tt || $) && (i = !0);\r\n if ((r || tt && !$) && (Le = Mi(), Ti()), (a = It !== x) ? (Qt.emit('indexChanged', Ei()), i = !0) : r ? a || Wn() : (tt || $) && (Dn(), Vn(), Sn()), r && !I && function () {\r\n for (var t = It + Math.min(Q, rt), e = Lt; e--;) {\r\n var n = G[e];\r\n It <= e && e < t ? (zi(n, 'tns-moving'), n.style.left = 100 * (e - It) / rt + '%', zi(n, P), Wi(n, W)) : n.style.left && (n.style.left = '', zi(n, W), Wi(n, P)), Wi(n, z);\r\n }\r\n setTimeout(function () {\r\n Ii(G, function (t) {\r\n Wi(t, 'tns-moving');\r\n });\r\n }, 300);\r\n }(), !Kt && !_t) {\r\n if (e && !D && (et === A && nt === E || (j.style.cssText = cn(et, nt, tt, st, dt)), F)) {\r\n I && (V.style.width = fn(tt, nt, rt));\r\n var S = dn(tt, nt, rt) + vn(nt);\r\n u = Ri(o = Mt) - 1, 'deleteRule' in o ? o.deleteRule(u) : o.removeRule(u), ki(Mt, '#' + Yt + ' > .tns-item', S, Ri(Mt));\r\n }\r\n dt && Pn(), i && ($n(), Pt = It);\r\n }\r\n e && Qt.emit('newBreakpointEnd', Ei(t));\r\n }\r\n }\r\n\r\n function Tn() {\r\n if (!tt && !$) return Q <= (at ? rt - (rt - 1) / 2 : rt);\r\n var t = tt ? (tt + nt) * Q : N[Q];\r\n var e = et ? it + 2 * et : it + nt;\r\n return at && (e -= tt ? (it - tt) / 2 : (it - (N[It + 1] - N[It] - nt)) / 2), t <= e;\r\n }\r\n\r\n function En() {\r\n for (var t in q = 0, k) (t = parseInt(t)) <= X && (q = t);\r\n }\r\n\r\n function An() {\r\n !gt && je && Qi(je), !ht && Ae && Qi(Ae), vt || (xe ? Qi(xe) : (we && Qi(we), Ce && Qi(Ce)));\r\n }\r\n\r\n function Nn() {\r\n gt && je && Xi(je), ht && Ae && Xi(Ae), vt && (xe ? Xi(xe) : (we && Xi(we), Ce && Xi(Ce)));\r\n }\r\n\r\n function Ln() {\r\n if (!Zt) {\r\n if (et && (j.style.margin = '0px'), Nt) for (var t = 'tns-transparent', e = Nt; e--;) I && zi(G[e], t), zi(G[Lt - e - 1], t);\r\n An(), Zt = !0;\r\n }\r\n }\r\n\r\n function Bn() {\r\n if (!Jt) {\r\n if (Mt.disabled = !0, V.className = V.className.replace(Xt.substring(1), ''), Vi(V, ['style']), ft) for (var t = Nt; t--;) I && Qi(G[t]), Qi(G[Lt - t - 1]);\r\n if (F && I || Vi(j, ['style']), !I) for (var e = It, n = It + Q; e < n; e++) {\r\n var i = G[e];\r\n Vi(i, ['style']), Wi(i, P), Wi(i, W);\r\n }\r\n An(), Jt = !0;\r\n }\r\n }\r\n\r\n function Sn() {\r\n var t = Hn();\r\n B.innerHTML !== t && (B.innerHTML = t);\r\n }\r\n\r\n function Hn() {\r\n var t = On();\r\n var e = t[0] + 1;\r\n var n = t[1] + 1;\r\n return e === n ? e + '' : e + ' to ' + n;\r\n }\r\n\r\n function On(t) {\r\n null == t && (t = Zn());\r\n var n;\r\n var i;\r\n var a;\r\n var r = It;\r\n if (at || et ? ($ || tt) && (i = -(parseFloat(t) + et), a = i + it + 2 * et) : $ && (i = N[It], a = i + it), $) N.forEach(function (t, e) {\r\n e < Lt && ((at || et) && t <= i + .5 && (r = e), .5 <= a - t && (n = e));\r\n }); else {\r\n if (tt) {\r\n var e = tt + nt;\r\n at || et ? (r = Math.floor(i / e), n = Math.ceil(a / e - 1)) : n = r + Math.ceil(it / e) - 1;\r\n } else if (at || et) {\r\n var o = rt - 1;\r\n if (at ? (r -= o / 2, n = It + o / 2) : n = It + o, et) {\r\n var u = et * rt / it;\r\n r -= u, n += u;\r\n }\r\n r = Math.floor(r), n = Math.ceil(n);\r\n } else n = r + rt - 1;\r\n r = Math.max(r, 0), n = Math.min(n, Lt - 1);\r\n }\r\n return [r, n];\r\n }\r\n\r\n function Dn() {\r\n if (Tt && !Kt) {\r\n var t = On();\r\n t.push(Et), In.apply(null, t).forEach(function (t) {\r\n if (!Pi(t, pe)) {\r\n var e = {};\r\n e[s] = function (t) {\r\n t.stopPropagation();\r\n }, Ui(t, e), Ui(t, he), t.src = Fi(t, 'data-src');\r\n var n = Fi(t, 'data-srcset');\r\n n && (t.srcset = n), zi(t, 'loading');\r\n }\r\n });\r\n }\r\n }\r\n\r\n function kn(t) {\r\n zi(t, 'loaded'), Rn(t);\r\n }\r\n\r\n function Rn(t) {\r\n zi(t, pe), Wi(t, 'loading'), _i(t, he);\r\n }\r\n\r\n function In(t, e, n) {\r\n var i = [];\r\n for (n || (n = 'img'); t <= e;) Ii(G[t].querySelectorAll(n), function (t) {\r\n i.push(t);\r\n }), t++;\r\n return i;\r\n }\r\n\r\n function Pn() {\r\n var t = In.apply(null, On());\r\n Ai(function () {\r\n zn(t, Fn);\r\n });\r\n }\r\n\r\n function zn(n, t) {\r\n return L ? t() : (n.forEach(function (t, e) {\r\n !Tt && t.complete && Rn(t), Pi(t, pe) && n.splice(e, 1);\r\n }), n.length ? void Ai(function () {\r\n zn(n, t);\r\n }) : t());\r\n }\r\n\r\n function Wn() {\r\n Dn(), Vn(), Sn(), Kn(), function () {\r\n if (ht && (He = 0 <= Se ? Se : an(), Se = -1, He !== Oe)) {\r\n var t = Ee[Oe];\r\n var e = Ee[He];\r\n ji(t, {\r\n tabindex: '-1',\r\n 'aria-label': ke + (Oe + 1)\r\n }), Wi(t, De), ji(e, {'aria-label': ke + (He + 1) + Re}), Vi(e, 'tabindex'), zi(e, De), Oe = He;\r\n }\r\n }();\r\n }\r\n\r\n function qn(t, e) {\r\n for (var n = [], i = t, a = Math.min(t + e, Lt); i < a; i++) n.push(G[i].offsetHeight);\r\n return Math.max.apply(null, n);\r\n }\r\n\r\n function Fn() {\r\n var t = dt ? qn(It, rt) : qn(Nt, Q);\r\n var e = M || j;\r\n e.style.height !== t && (e.style.height = t + 'px');\r\n }\r\n\r\n function jn() {\r\n N = [0];\r\n var n = F ? 'left' : 'top';\r\n var i = F ? 'right' : 'bottom';\r\n var a = G[0].getBoundingClientRect()[n];\r\n Ii(G, function (t, e) {\r\n e && N.push(t.getBoundingClientRect()[n] - a), e === Lt - 1 && N.push(t.getBoundingClientRect()[i] - a);\r\n });\r\n }\r\n\r\n function Vn() {\r\n var t = On();\r\n var n = t[0];\r\n var i = t[1];\r\n Ii(G, function (t, e) {\r\n n <= e && e <= i ? qi(t, 'aria-hidden') && (Vi(t, ['aria-hidden', 'tabindex']), zi(t, de)) : qi(t, 'aria-hidden') || (ji(t, {\r\n 'aria-hidden': 'true',\r\n tabindex: '-1'\r\n }), Wi(t, de));\r\n });\r\n }\r\n\r\n function Gn(t) {\r\n return t.nodeName.toLowerCase();\r\n }\r\n\r\n function Qn(t) {\r\n return 'button' === Gn(t);\r\n }\r\n\r\n function Xn(t) {\r\n return 'true' === t.getAttribute('aria-disabled');\r\n }\r\n\r\n function Yn(t, e, n) {\r\n t ? e.disabled = n : e.setAttribute('aria-disabled', n.toString());\r\n }\r\n\r\n function Kn() {\r\n if (vt && !ct && !ft) {\r\n var t = ye ? we.disabled : Xn(we);\r\n var e = ge ? Ce.disabled : Xn(Ce);\r\n var n = It <= zt;\r\n var i = !ct && Wt <= It;\r\n n && !t && Yn(ye, we, !0), !n && t && Yn(ye, we, !1), i && !e && Yn(ge, Ce, !0), !i && e && Yn(ge, Ce, !1);\r\n }\r\n }\r\n\r\n function Jn(t, e) {\r\n x && (t.style[x] = e);\r\n }\r\n\r\n function Un(t) {\r\n return null == t && (t = It), $ ? (it - (et ? nt : 0) - (N[t + 1] - N[t] - nt)) / 2 : tt ? (it - tt) / 2 : (rt - 1) / 2;\r\n }\r\n\r\n function _n() {\r\n var t = it + (et ? nt : 0) - (tt ? (tt + nt) * Lt : N[Lt]);\r\n return at && !ft && (t = tt ? -(tt + nt) * (Lt - 1) - Un() : Un(Lt - 1) - N[Lt - 1]), 0 < t && (t = 0), t;\r\n }\r\n\r\n function Zn(t) {\r\n var e;\r\n if (null == t && (t = It), F && !$) if (tt) e = -(tt + nt) * t, at && (e += Un()); else {\r\n var n = r ? Lt : rt;\r\n at && (t -= Un()), e = 100 * -t / n;\r\n } else e = -N[t], at && $ && (e += Un());\r\n return Bt && (e = Math.max(e, St)), e += !F || $ || tt ? 'px' : '%';\r\n }\r\n\r\n function $n(t) {\r\n Jn(V, '0s'), ti(t);\r\n }\r\n\r\n function ti(t) {\r\n null == t && (t = Zn()), V.style[Ot] = Dt + t + kt;\r\n }\r\n\r\n function ei(t, e, n, i) {\r\n var a = t + rt;\r\n ft || (a = Math.min(a, Lt));\r\n for (var r = t; r < a; r++) {\r\n var o = G[r];\r\n i || (o.style.left = 100 * (r - It) / rt + '%'), C && u && (o.style[u] = o.style[l] = C * (r - t) / 1e3 + 's'), Wi(o, e), zi(o, n), i && At.push(o);\r\n }\r\n }\r\n\r\n function ni(t, e) {\r\n Ht && _e(), (It !== Pt || e) && (Qt.emit('indexChanged', Ei()), Qt.emit('transitionStart', Ei()), dt && Pn(), Pe && t && 0 <= ['click', 'keydown'].indexOf(t.type) && fi(), Vt = !0, Ze());\r\n }\r\n\r\n function ii(t) {\r\n return t.toLowerCase().replace(/-/g, '');\r\n }\r\n\r\n function ai(t) {\r\n if (I || Vt) {\r\n if (Qt.emit('transitionEnd', Ei(t)), !I && 0 < At.length) for (var e = 0; e < At.length; e++) {\r\n var n = At[e];\r\n n.style.left = '', l && u && (n.style[l] = '', n.style[u] = ''), Wi(n, z), zi(n, W);\r\n }\r\n if (!t || !I && t.target.parentNode === V || t.target === V && ii(t.propertyName) === ii(Ot)) {\r\n if (!Ht) {\r\n var i = It;\r\n _e(), It !== i && (Qt.emit('indexChanged', Ei()), $n());\r\n }\r\n 'inner' === R && Qt.emit('innerLoaded', Ei()), Vt = !1, Pt = It;\r\n }\r\n }\r\n }\r\n\r\n function ri(t, e) {\r\n if (!_t) if ('prev' === t) oi(e, -1); else if ('next' === t) oi(e, 1); else {\r\n if (Vt) {\r\n if (qt) return;\r\n ai();\r\n }\r\n var n = nn();\r\n var i = 0;\r\n if ('first' === t ? i = -n : 'last' === t ? i = I ? Q - rt - n : Q - 1 - n : ('number' != typeof t && (t = parseInt(t)), isNaN(t) || (e || (t = Math.max(0, Math.min(Q - 1, t))), i = t - n)), !I && i && Math.abs(i) < rt) {\r\n var a = 0 < i ? 1 : -1;\r\n i += zt <= It + i - Q ? Q * a : 2 * Q * a * -1;\r\n }\r\n It += i, I && ft && (It < zt && (It += Q), Wt < It && (It -= Q)), nn(It) !== nn(Pt) && ni(e);\r\n }\r\n }\r\n\r\n function oi(t, e) {\r\n if (Vt) {\r\n if (qt) return;\r\n ai();\r\n }\r\n var n;\r\n if (!e) {\r\n for (var i = hi(t = pi(t)); i !== xe && [we, Ce].indexOf(i) < 0;) i = i.parentNode;\r\n var a = [we, Ce].indexOf(i);\r\n 0 <= a && (n = !0, e = 0 === a ? -1 : 1);\r\n }\r\n if (ct) {\r\n if (It === zt && -1 === e) return void ri('last', t);\r\n if (It === Wt && 1 === e) return void ri('first', t);\r\n }\r\n e && (It += ot * e, $ && (It = Math.floor(It)), ni(n || t && 'keydown' === t.type ? t : null));\r\n }\r\n\r\n function ui() {\r\n Ie = setInterval(function () {\r\n oi(null, Fe);\r\n }, xt), Pe = !0;\r\n }\r\n\r\n function li() {\r\n clearInterval(Ie), Pe = !1;\r\n }\r\n\r\n function si(t, e) {\r\n ji(je, {'data-action': t}), je.innerHTML = Ge[0] + t + Ge[1] + e;\r\n }\r\n\r\n function ci() {\r\n ui(), je && si('stop', bt[1]);\r\n }\r\n\r\n function fi() {\r\n li(), je && si('start', bt[0]);\r\n }\r\n\r\n function di() {\r\n Pe ? (fi(), We = !0) : (ci(), We = !1);\r\n }\r\n\r\n function vi(t) {\r\n t.focus();\r\n }\r\n\r\n function pi(t) {\r\n return mi(t = t || m.event) ? t.changedTouches[0] : t;\r\n }\r\n\r\n function hi(t) {\r\n return t.target || m.event.srcElement;\r\n }\r\n\r\n function mi(t) {\r\n return 0 <= t.type.indexOf('touch');\r\n }\r\n\r\n function yi(t) {\r\n t.preventDefault ? t.preventDefault() : t.returnValue = !1;\r\n }\r\n\r\n function gi() {\r\n return a = Ke.y - Ye.y, r = Ke.x - Ye.x, t = Math.atan2(a, r) * (180 / Math.PI), e = Ft, n = !1, i = Math.abs(90 - Math.abs(t)), 90 - e <= i ? n = 'horizontal' : i <= e && (n = 'vertical'), n === H.axis;\r\n var t;\r\n var e;\r\n var n;\r\n var i;\r\n var a;\r\n var r;\r\n }\r\n\r\n function xi(t) {\r\n if (Vt) {\r\n if (qt) return;\r\n ai();\r\n }\r\n gt && Pe && li(), Je = !0, Xe && (Ni(Xe), Xe = null);\r\n var e = pi(t);\r\n Qt.emit(mi(t) ? 'touchStart' : 'dragStart', Ei(t)), !mi(t) && 0 <= ['img', 'a'].indexOf(Gn(hi(t))) && yi(t), Ke.x = Ye.x = e.clientX, Ke.y = Ye.y = e.clientY, I && (Qe = parseFloat(V.style[Ot].replace(Dt, '')), Jn(V, '0s'));\r\n }\r\n\r\n function bi(t) {\r\n if (Je) {\r\n var e = pi(t);\r\n Ke.x = e.clientX, Ke.y = e.clientY, I ? Xe || (Xe = Ai(function () {\r\n !function t(e) {\r\n if (!jt) return void (Je = !1);\r\n Ni(Xe);\r\n Je && (Xe = Ai(function () {\r\n t(e);\r\n }));\r\n '?' === jt && (jt = gi());\r\n if (jt) {\r\n !me && mi(e) && (me = !0);\r\n try {\r\n e.type && Qt.emit(mi(e) ? 'touchMove' : 'dragMove', Ei(e));\r\n } catch (t) {\r\n }\r\n var n = Qe;\r\n var i = Ue(Ke, Ye);\r\n if (!F || tt || $) n += i, n += 'px'; else {\r\n var a = r ? i * rt * 100 / ((it + nt) * Lt) : 100 * i / (it + nt);\r\n n += a, n += '%';\r\n }\r\n V.style[Ot] = Dt + n + kt;\r\n }\r\n }(t);\r\n })) : ('?' === jt && (jt = gi()), jt && (me = !0)), ('boolean' != typeof t.cancelable || t.cancelable) && me && t.preventDefault();\r\n }\r\n }\r\n\r\n function wi(i) {\r\n if (Je) {\r\n Xe && (Ni(Xe), Xe = null), I && Jn(V, ''), Je = !1;\r\n var t = pi(i);\r\n Ke.x = t.clientX, Ke.y = t.clientY;\r\n var a = Ue(Ke, Ye);\r\n if (Math.abs(a)) {\r\n if (!mi(i)) {\r\n var n = hi(i);\r\n Ui(n, {\r\n click: function t(e) {\r\n yi(e), _i(n, {click: t});\r\n }\r\n });\r\n }\r\n I ? Xe = Ai(function () {\r\n if (F && !$) {\r\n var t = -a * rt / (it + nt);\r\n t = 0 < a ? Math.floor(t) : Math.ceil(t), It += t;\r\n } else {\r\n var e = -(Qe + a);\r\n if (e <= 0) It = zt; else if (e >= N[Lt - 1]) It = Wt; else for (var n = 0; n < Lt && e >= N[n];) e > N[It = n] && a < 0 && (It += 1), n++;\r\n }\r\n ni(i, a), Qt.emit(mi(i) ? 'touchEnd' : 'dragEnd', Ei(i));\r\n }) : jt && oi(i, 0 < a ? -1 : 1);\r\n }\r\n }\r\n 'auto' === H.preventScrollOnTouch && (me = !1), Ft && (jt = '?'), gt && !Pe && ui();\r\n }\r\n\r\n function Ci() {\r\n (M || j).style.height = N[It + rt] - N[It] + 'px';\r\n }\r\n\r\n function Mi() {\r\n var t = tt ? (tt + nt) * Q / it : Q / rt;\r\n return Math.min(Math.ceil(t), Q);\r\n }\r\n\r\n function Ti() {\r\n if (ht && !le && Le !== Be) {\r\n var t = Be;\r\n var e = Le;\r\n var n = Xi;\r\n for (Le < Be && (t = Le, e = Be, n = Qi); t < e;) n(Ee[t]), t++;\r\n Be = Le;\r\n }\r\n }\r\n\r\n function Ei(t) {\r\n return {\r\n container: V,\r\n slideItems: G,\r\n navContainer: Ae,\r\n navItems: Ee,\r\n controlsContainer: xe,\r\n hasControls: oe,\r\n prevButton: we,\r\n nextButton: Ce,\r\n items: rt,\r\n slideBy: ot,\r\n cloneCount: Nt,\r\n slideCount: Q,\r\n slideCountNew: Lt,\r\n index: It,\r\n indexCached: Pt,\r\n displayIndex: tn(),\r\n navCurrentIndex: He,\r\n navCurrentIndexCached: Oe,\r\n pages: Le,\r\n pagesCached: Be,\r\n sheet: Mt,\r\n isOn: Y,\r\n event: t || {}\r\n };\r\n }\r\n\r\n f && console.warn('No slides found in', H.container);\r\n };\r\n return $i;\r\n }();\r\n});\r\n","/* eslint-disable */\r\ndefineDs('DanskeSpil/Domain/AvalonComponents/Scripts/Libraries/Swiper', function () {\r\n\r\n 'use strict';\r\n\r\n /**\r\n * Swiper 4.4.1\r\n * Most modern mobile touch slider and framework with hardware accelerated transitions\r\n * http://www.idangero.us/swiper/\r\n *\r\n * Copyright 2014-2018 Vladimir Kharlampidi\r\n *\r\n * Released under the MIT License\r\n *\r\n * Released on: September 14, 2018\r\n */\r\n\r\n /**\r\n * SSR Window 1.0.1\r\n * Better handling for window object in SSR environment\r\n * https://github.com/nolimits4web/ssr-window\r\n *\r\n * Copyright 2018, Vladimir Kharlampidi\r\n *\r\n * Licensed under MIT\r\n *\r\n * Released on: July 18, 2018\r\n */\r\n var doc = (typeof document === 'undefined') ? {\r\n body: {},\r\n addEventListener: function addEventListener() {\r\n },\r\n removeEventListener: function removeEventListener() {\r\n },\r\n activeElement: {\r\n blur: function blur() {\r\n },\r\n nodeName: '',\r\n },\r\n querySelector: function querySelector() {\r\n return null;\r\n },\r\n querySelectorAll: function querySelectorAll() {\r\n return [];\r\n },\r\n getElementById: function getElementById() {\r\n return null;\r\n },\r\n createEvent: function createEvent() {\r\n return {\r\n initEvent: function initEvent() {\r\n },\r\n };\r\n },\r\n createElement: function createElement() {\r\n return {\r\n children: [],\r\n childNodes: [],\r\n style: {},\r\n setAttribute: function setAttribute() {\r\n },\r\n getElementsByTagName: function getElementsByTagName() {\r\n return [];\r\n },\r\n };\r\n },\r\n location: {hash: ''},\r\n } : document; // eslint-disable-line\r\n\r\n var win = (typeof window === 'undefined') ? {\r\n document: doc,\r\n navigator: {\r\n userAgent: '',\r\n },\r\n location: {},\r\n history: {},\r\n CustomEvent: function CustomEvent() {\r\n return this;\r\n },\r\n addEventListener: function addEventListener() {\r\n },\r\n removeEventListener: function removeEventListener() {\r\n },\r\n getComputedStyle: function getComputedStyle() {\r\n return {\r\n getPropertyValue: function getPropertyValue() {\r\n return '';\r\n },\r\n };\r\n },\r\n Image: function Image() {\r\n },\r\n Date: function Date() {\r\n },\r\n screen: {},\r\n setTimeout: function setTimeout() {\r\n },\r\n clearTimeout: function clearTimeout() {\r\n },\r\n } : window; // eslint-disable-line\r\n\r\n /**\r\n * Dom7 2.1.2\r\n * Minimalistic JavaScript library for DOM manipulation, with a jQuery-compatible API\r\n * http://framework7.io/docs/dom.html\r\n *\r\n * Copyright 2018, Vladimir Kharlampidi\r\n * The iDangero.us\r\n * http://www.idangero.us/\r\n *\r\n * Licensed under MIT\r\n *\r\n * Released on: September 13, 2018\r\n */\r\n\r\n var Dom7 = function Dom7(arr) {\r\n var self = this;\r\n // Create array-like object\r\n for (var i = 0; i < arr.length; i += 1) {\r\n self[i] = arr[i];\r\n }\r\n self.length = arr.length;\r\n // Return collection with methods\r\n return this;\r\n };\r\n\r\n function $(selector, context) {\r\n var arr = [];\r\n var i = 0;\r\n if (selector && !context) {\r\n if (selector instanceof Dom7) {\r\n return selector;\r\n }\r\n }\r\n if (selector) {\r\n // String\r\n if (typeof selector === 'string') {\r\n var els;\r\n var tempParent;\r\n var html = selector.trim();\r\n if (html.indexOf('<') >= 0 && html.indexOf('>') >= 0) {\r\n var toCreate = 'div';\r\n if (html.indexOf(':~]/)) {\r\n // Pure ID selector\r\n els = [doc.getElementById(selector.trim().split('#')[1])];\r\n } else {\r\n // Other selectors\r\n els = (context || doc).querySelectorAll(selector.trim());\r\n }\r\n for (i = 0; i < els.length; i += 1) {\r\n if (els[i]) {\r\n arr.push(els[i]);\r\n }\r\n }\r\n }\r\n } else if (selector.nodeType || selector === win || selector === doc) {\r\n // Node/element\r\n arr.push(selector);\r\n } else if (selector.length > 0 && selector[0].nodeType) {\r\n // Array of elements or instance of Dom\r\n for (i = 0; i < selector.length; i += 1) {\r\n arr.push(selector[i]);\r\n }\r\n }\r\n }\r\n return new Dom7(arr);\r\n }\r\n\r\n $.fn = Dom7.prototype;\r\n $.Class = Dom7;\r\n $.Dom7 = Dom7;\r\n\r\n function unique(arr) {\r\n var uniqueArray = [];\r\n for (var i = 0; i < arr.length; i += 1) {\r\n if (uniqueArray.indexOf(arr[i]) === -1) {\r\n uniqueArray.push(arr[i]);\r\n }\r\n }\r\n return uniqueArray;\r\n }\r\n\r\n // Classes and attributes\r\n function addClass(className) {\r\n var this$1 = this;\r\n\r\n if (typeof className === 'undefined') {\r\n return this;\r\n }\r\n var classes = className.split(' ');\r\n for (var i = 0; i < classes.length; i += 1) {\r\n for (var j = 0; j < this.length; j += 1) {\r\n if (typeof this$1[j] !== 'undefined' && typeof this$1[j].classList !== 'undefined') {\r\n this$1[j].classList.add(classes[i]);\r\n }\r\n }\r\n }\r\n return this;\r\n }\r\n\r\n function removeClass(className) {\r\n var this$1 = this;\r\n\r\n var classes = className.split(' ');\r\n for (var i = 0; i < classes.length; i += 1) {\r\n for (var j = 0; j < this.length; j += 1) {\r\n if (typeof this$1[j] !== 'undefined' && typeof this$1[j].classList !== 'undefined') {\r\n this$1[j].classList.remove(classes[i]);\r\n }\r\n }\r\n }\r\n return this;\r\n }\r\n\r\n function hasClass(className) {\r\n if (!this[0]) {\r\n return false;\r\n }\r\n return this[0].classList.contains(className);\r\n }\r\n\r\n function toggleClass(className) {\r\n var this$1 = this;\r\n\r\n var classes = className.split(' ');\r\n for (var i = 0; i < classes.length; i += 1) {\r\n for (var j = 0; j < this.length; j += 1) {\r\n if (typeof this$1[j] !== 'undefined' && typeof this$1[j].classList !== 'undefined') {\r\n this$1[j].classList.toggle(classes[i]);\r\n }\r\n }\r\n }\r\n return this;\r\n }\r\n\r\n function attr(attrs, value) {\r\n var arguments$1 = arguments;\r\n var this$1 = this;\r\n\r\n if (arguments.length === 1 && typeof attrs === 'string') {\r\n // Get attr\r\n if (this[0]) {\r\n return this[0].getAttribute(attrs);\r\n }\r\n return undefined;\r\n }\r\n\r\n // Set attrs\r\n for (var i = 0; i < this.length; i += 1) {\r\n if (arguments$1.length === 2) {\r\n // String\r\n this$1[i].setAttribute(attrs, value);\r\n } else {\r\n // Object\r\n // eslint-disable-next-line\r\n for (var attrName in attrs) {\r\n this$1[i][attrName] = attrs[attrName];\r\n this$1[i].setAttribute(attrName, attrs[attrName]);\r\n }\r\n }\r\n }\r\n return this;\r\n }\r\n\r\n // eslint-disable-next-line\r\n function removeAttr(attr) {\r\n var this$1 = this;\r\n\r\n for (var i = 0; i < this.length; i += 1) {\r\n this$1[i].removeAttribute(attr);\r\n }\r\n return this;\r\n }\r\n\r\n function data(key, value) {\r\n var this$1 = this;\r\n\r\n var el;\r\n if (typeof value === 'undefined') {\r\n el = this[0];\r\n // Get value\r\n if (el) {\r\n if (el.dom7ElementDataStorage && (key in el.dom7ElementDataStorage)) {\r\n return el.dom7ElementDataStorage[key];\r\n }\r\n\r\n var dataKey = el.getAttribute((\"data-\" + key));\r\n if (dataKey) {\r\n return dataKey;\r\n }\r\n return undefined;\r\n }\r\n return undefined;\r\n }\r\n\r\n // Set value\r\n for (var i = 0; i < this.length; i += 1) {\r\n el = this$1[i];\r\n if (!el.dom7ElementDataStorage) {\r\n el.dom7ElementDataStorage = {};\r\n }\r\n el.dom7ElementDataStorage[key] = value;\r\n }\r\n return this;\r\n }\r\n\r\n // Transforms\r\n // eslint-disable-next-line\r\n function transform(transform) {\r\n var this$1 = this;\r\n\r\n for (var i = 0; i < this.length; i += 1) {\r\n var elStyle = this$1[i].style;\r\n elStyle.webkitTransform = transform;\r\n elStyle.transform = transform;\r\n }\r\n return this;\r\n }\r\n\r\n function transition(duration) {\r\n var this$1 = this;\r\n\r\n if (typeof duration !== 'string') {\r\n duration = duration + \"ms\"; // eslint-disable-line\r\n }\r\n for (var i = 0; i < this.length; i += 1) {\r\n var elStyle = this$1[i].style;\r\n elStyle.webkitTransitionDuration = duration;\r\n elStyle.transitionDuration = duration;\r\n }\r\n return this;\r\n }\r\n\r\n // Events\r\n function on() {\r\n var this$1 = this;\r\n var assign;\r\n\r\n var args = [], len = arguments.length;\r\n while (len--) args[len] = arguments[len];\r\n var eventType = args[0];\r\n var targetSelector = args[1];\r\n var listener = args[2];\r\n var capture = args[3];\r\n if (typeof args[1] === 'function') {\r\n (assign = args, eventType = assign[0], listener = assign[1], capture = assign[2]);\r\n targetSelector = undefined;\r\n }\r\n if (!capture) {\r\n capture = false;\r\n }\r\n\r\n function handleLiveEvent(e) {\r\n var target = e.target;\r\n if (!target) {\r\n return;\r\n }\r\n var eventData = e.target.dom7EventData || [];\r\n if (eventData.indexOf(e) < 0) {\r\n eventData.unshift(e);\r\n }\r\n if ($(target).is(targetSelector)) {\r\n listener.apply(target, eventData);\r\n }\r\n else {\r\n var parents = $(target).parents(); // eslint-disable-line\r\n for (var k = 0; k < parents.length; k += 1) {\r\n if ($(parents[k]).is(targetSelector)) {\r\n listener.apply(parents[k], eventData);\r\n }\r\n }\r\n }\r\n }\r\n\r\n function handleEvent(e) {\r\n var eventData = e && e.target ? e.target.dom7EventData || [] : [];\r\n if (eventData.indexOf(e) < 0) {\r\n eventData.unshift(e);\r\n }\r\n listener.apply(this, eventData);\r\n }\r\n\r\n var events = eventType.split(' ');\r\n var j;\r\n for (var i = 0; i < this.length; i += 1) {\r\n var el = this$1[i];\r\n if (!targetSelector) {\r\n for (j = 0; j < events.length; j += 1) {\r\n var event = events[j];\r\n if (!el.dom7Listeners) {\r\n el.dom7Listeners = {};\r\n }\r\n if (!el.dom7Listeners[event]) {\r\n el.dom7Listeners[event] = [];\r\n }\r\n el.dom7Listeners[event].push({\r\n listener: listener,\r\n proxyListener: handleEvent,\r\n });\r\n el.addEventListener(event, handleEvent, capture);\r\n }\r\n } else {\r\n // Live events\r\n for (j = 0; j < events.length; j += 1) {\r\n var event$1 = events[j];\r\n if (!el.dom7LiveListeners) {\r\n el.dom7LiveListeners = {};\r\n }\r\n if (!el.dom7LiveListeners[event$1]) {\r\n el.dom7LiveListeners[event$1] = [];\r\n }\r\n el.dom7LiveListeners[event$1].push({\r\n listener: listener,\r\n proxyListener: handleLiveEvent,\r\n });\r\n el.addEventListener(event$1, handleLiveEvent, capture);\r\n }\r\n }\r\n }\r\n return this;\r\n }\r\n\r\n function off() {\r\n var this$1 = this;\r\n var assign;\r\n\r\n var args = [], len = arguments.length;\r\n while (len--) args[len] = arguments[len];\r\n var eventType = args[0];\r\n var targetSelector = args[1];\r\n var listener = args[2];\r\n var capture = args[3];\r\n if (typeof args[1] === 'function') {\r\n (assign = args, eventType = assign[0], listener = assign[1], capture = assign[2]);\r\n targetSelector = undefined;\r\n }\r\n if (!capture) {\r\n capture = false;\r\n }\r\n\r\n var events = eventType.split(' ');\r\n for (var i = 0; i < events.length; i += 1) {\r\n var event = events[i];\r\n for (var j = 0; j < this.length; j += 1) {\r\n var el = this$1[j];\r\n var handlers = (void 0);\r\n if (!targetSelector && el.dom7Listeners) {\r\n handlers = el.dom7Listeners[event];\r\n } else if (targetSelector && el.dom7LiveListeners) {\r\n handlers = el.dom7LiveListeners[event];\r\n }\r\n if (handlers && handlers.length) {\r\n for (var k = handlers.length - 1; k >= 0; k -= 1) {\r\n var handler = handlers[k];\r\n if (listener && handler.listener === listener) {\r\n el.removeEventListener(event, handler.proxyListener, capture);\r\n handlers.splice(k, 1);\r\n } else if (!listener) {\r\n el.removeEventListener(event, handler.proxyListener, capture);\r\n handlers.splice(k, 1);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n return this;\r\n }\r\n\r\n function trigger() {\r\n var this$1 = this;\r\n var args = [], len = arguments.length;\r\n while (len--) args[len] = arguments[len];\r\n\r\n var events = args[0].split(' ');\r\n var eventData = args[1];\r\n for (var i = 0; i < events.length; i += 1) {\r\n var event = events[i];\r\n for (var j = 0; j < this.length; j += 1) {\r\n var el = this$1[j];\r\n var evt = (void 0);\r\n try {\r\n evt = new win.CustomEvent(event, {\r\n detail: eventData,\r\n bubbles: true,\r\n cancelable: true,\r\n });\r\n } catch (e) {\r\n evt = doc.createEvent('Event');\r\n evt.initEvent(event, true, true);\r\n evt.detail = eventData;\r\n }\r\n // eslint-disable-next-line\r\n el.dom7EventData = args.filter(function (data, dataIndex) {\r\n return dataIndex > 0;\r\n });\r\n el.dispatchEvent(evt);\r\n el.dom7EventData = [];\r\n delete el.dom7EventData;\r\n }\r\n }\r\n return this;\r\n }\r\n\r\n function transitionEnd(callback) {\r\n var events = ['webkitTransitionEnd', 'transitionend'];\r\n var dom = this;\r\n var i;\r\n\r\n function fireCallBack(e) {\r\n /* jshint validthis:true */\r\n if (e.target !== this) {\r\n return;\r\n }\r\n callback.call(this, e);\r\n for (i = 0; i < events.length; i += 1) {\r\n dom.off(events[i], fireCallBack);\r\n }\r\n }\r\n\r\n if (callback) {\r\n for (i = 0; i < events.length; i += 1) {\r\n dom.on(events[i], fireCallBack);\r\n }\r\n }\r\n return this;\r\n }\r\n\r\n function outerWidth(includeMargins) {\r\n if (this.length > 0) {\r\n if (includeMargins) {\r\n // eslint-disable-next-line\r\n var styles = this.styles();\r\n return this[0].offsetWidth + parseFloat(styles.getPropertyValue('margin-right')) + parseFloat(styles.getPropertyValue('margin-left'));\r\n }\r\n return this[0].offsetWidth;\r\n }\r\n return null;\r\n }\r\n\r\n function outerHeight(includeMargins) {\r\n if (this.length > 0) {\r\n if (includeMargins) {\r\n // eslint-disable-next-line\r\n var styles = this.styles();\r\n return this[0].offsetHeight + parseFloat(styles.getPropertyValue('margin-top')) + parseFloat(styles.getPropertyValue('margin-bottom'));\r\n }\r\n return this[0].offsetHeight;\r\n }\r\n return null;\r\n }\r\n\r\n function offset() {\r\n if (this.length > 0) {\r\n var el = this[0];\r\n var box = el.getBoundingClientRect();\r\n var body = doc.body;\r\n var clientTop = el.clientTop || body.clientTop || 0;\r\n var clientLeft = el.clientLeft || body.clientLeft || 0;\r\n var scrollTop = el === win ? win.scrollY : el.scrollTop;\r\n var scrollLeft = el === win ? win.scrollX : el.scrollLeft;\r\n return {\r\n top: (box.top + scrollTop) - clientTop,\r\n left: (box.left + scrollLeft) - clientLeft,\r\n };\r\n }\r\n\r\n return null;\r\n }\r\n\r\n function styles() {\r\n if (this[0]) {\r\n return win.getComputedStyle(this[0], null);\r\n }\r\n return {};\r\n }\r\n\r\n function css(props, value) {\r\n var this$1 = this;\r\n\r\n var i;\r\n if (arguments.length === 1) {\r\n if (typeof props === 'string') {\r\n if (this[0]) {\r\n return win.getComputedStyle(this[0], null).getPropertyValue(props);\r\n }\r\n } else {\r\n for (i = 0; i < this.length; i += 1) {\r\n // eslint-disable-next-line\r\n for (var prop in props) {\r\n this$1[i].style[prop] = props[prop];\r\n }\r\n }\r\n return this;\r\n }\r\n }\r\n if (arguments.length === 2 && typeof props === 'string') {\r\n for (i = 0; i < this.length; i += 1) {\r\n this$1[i].style[props] = value;\r\n }\r\n return this;\r\n }\r\n return this;\r\n }\r\n\r\n // Iterate over the collection passing elements to `callback`\r\n function each(callback) {\r\n var this$1 = this;\r\n\r\n // Don't bother continuing without a callback\r\n if (!callback) {\r\n return this;\r\n }\r\n // Iterate over the current collection\r\n for (var i = 0; i < this.length; i += 1) {\r\n // If the callback returns false\r\n if (callback.call(this$1[i], i, this$1[i]) === false) {\r\n // End the loop early\r\n return this$1;\r\n }\r\n }\r\n // Return `this` to allow chained DOM operations\r\n return this;\r\n }\r\n\r\n // eslint-disable-next-line\r\n function html(html) {\r\n var this$1 = this;\r\n\r\n if (typeof html === 'undefined') {\r\n return this[0] ? this[0].innerHTML : undefined;\r\n }\r\n\r\n for (var i = 0; i < this.length; i += 1) {\r\n this$1[i].innerHTML = html;\r\n }\r\n return this;\r\n }\r\n\r\n // eslint-disable-next-line\r\n function text(text) {\r\n var this$1 = this;\r\n\r\n if (typeof text === 'undefined') {\r\n if (this[0]) {\r\n return this[0].textContent.trim();\r\n }\r\n return null;\r\n }\r\n\r\n for (var i = 0; i < this.length; i += 1) {\r\n this$1[i].textContent = text;\r\n }\r\n return this;\r\n }\r\n\r\n function is(selector) {\r\n var el = this[0];\r\n var compareWith;\r\n var i;\r\n if (!el || typeof selector === 'undefined') {\r\n return false;\r\n }\r\n if (typeof selector === 'string') {\r\n if (el.matches) {\r\n return el.matches(selector);\r\n }\r\n else if (el.webkitMatchesSelector) {\r\n return el.webkitMatchesSelector(selector);\r\n }\r\n else if (el.msMatchesSelector) {\r\n return el.msMatchesSelector(selector);\r\n }\r\n\r\n compareWith = $(selector);\r\n for (i = 0; i < compareWith.length; i += 1) {\r\n if (compareWith[i] === el) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n } else if (selector === doc) {\r\n return el === doc;\r\n }\r\n else if (selector === win) {\r\n return el === win;\r\n }\r\n\r\n if (selector.nodeType || selector instanceof Dom7) {\r\n compareWith = selector.nodeType ? [selector] : selector;\r\n for (i = 0; i < compareWith.length; i += 1) {\r\n if (compareWith[i] === el) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n return false;\r\n }\r\n\r\n function index() {\r\n var child = this[0];\r\n var i;\r\n if (child) {\r\n i = 0;\r\n // eslint-disable-next-line\r\n while ((child = child.previousSibling) !== null) {\r\n if (child.nodeType === 1) {\r\n i += 1;\r\n }\r\n }\r\n return i;\r\n }\r\n return undefined;\r\n }\r\n\r\n // eslint-disable-next-line\r\n function eq(index) {\r\n if (typeof index === 'undefined') {\r\n return this;\r\n }\r\n var length = this.length;\r\n var returnIndex;\r\n if (index > length - 1) {\r\n return new Dom7([]);\r\n }\r\n if (index < 0) {\r\n returnIndex = length + index;\r\n if (returnIndex < 0) {\r\n return new Dom7([]);\r\n }\r\n return new Dom7([this[returnIndex]]);\r\n }\r\n return new Dom7([this[index]]);\r\n }\r\n\r\n function append() {\r\n var this$1 = this;\r\n var args = [], len = arguments.length;\r\n while (len--) args[len] = arguments[len];\r\n\r\n var newChild;\r\n\r\n for (var k = 0; k < args.length; k += 1) {\r\n newChild = args[k];\r\n for (var i = 0; i < this.length; i += 1) {\r\n if (typeof newChild === 'string') {\r\n var tempDiv = doc.createElement('div');\r\n tempDiv.innerHTML = newChild;\r\n while (tempDiv.firstChild) {\r\n this$1[i].appendChild(tempDiv.firstChild);\r\n }\r\n } else if (newChild instanceof Dom7) {\r\n for (var j = 0; j < newChild.length; j += 1) {\r\n this$1[i].appendChild(newChild[j]);\r\n }\r\n } else {\r\n this$1[i].appendChild(newChild);\r\n }\r\n }\r\n }\r\n\r\n return this;\r\n }\r\n\r\n function prepend(newChild) {\r\n var this$1 = this;\r\n\r\n var i;\r\n var j;\r\n for (i = 0; i < this.length; i += 1) {\r\n if (typeof newChild === 'string') {\r\n var tempDiv = doc.createElement('div');\r\n tempDiv.innerHTML = newChild;\r\n for (j = tempDiv.childNodes.length - 1; j >= 0; j -= 1) {\r\n this$1[i].insertBefore(tempDiv.childNodes[j], this$1[i].childNodes[0]);\r\n }\r\n } else if (newChild instanceof Dom7) {\r\n for (j = 0; j < newChild.length; j += 1) {\r\n this$1[i].insertBefore(newChild[j], this$1[i].childNodes[0]);\r\n }\r\n } else {\r\n this$1[i].insertBefore(newChild, this$1[i].childNodes[0]);\r\n }\r\n }\r\n return this;\r\n }\r\n\r\n function next(selector) {\r\n if (this.length > 0) {\r\n if (selector) {\r\n if (this[0].nextElementSibling && $(this[0].nextElementSibling).is(selector)) {\r\n return new Dom7([this[0].nextElementSibling]);\r\n }\r\n return new Dom7([]);\r\n }\r\n\r\n if (this[0].nextElementSibling) {\r\n return new Dom7([this[0].nextElementSibling]);\r\n }\r\n return new Dom7([]);\r\n }\r\n return new Dom7([]);\r\n }\r\n\r\n function nextAll(selector) {\r\n var nextEls = [];\r\n var el = this[0];\r\n if (!el) {\r\n return new Dom7([]);\r\n }\r\n while (el.nextElementSibling) {\r\n var next = el.nextElementSibling; // eslint-disable-line\r\n if (selector) {\r\n if ($(next).is(selector)) {\r\n nextEls.push(next);\r\n }\r\n } else {\r\n nextEls.push(next);\r\n }\r\n el = next;\r\n }\r\n return new Dom7(nextEls);\r\n }\r\n\r\n function prev(selector) {\r\n if (this.length > 0) {\r\n var el = this[0];\r\n if (selector) {\r\n if (el.previousElementSibling && $(el.previousElementSibling).is(selector)) {\r\n return new Dom7([el.previousElementSibling]);\r\n }\r\n return new Dom7([]);\r\n }\r\n\r\n if (el.previousElementSibling) {\r\n return new Dom7([el.previousElementSibling]);\r\n }\r\n return new Dom7([]);\r\n }\r\n return new Dom7([]);\r\n }\r\n\r\n function prevAll(selector) {\r\n var prevEls = [];\r\n var el = this[0];\r\n if (!el) {\r\n return new Dom7([]);\r\n }\r\n while (el.previousElementSibling) {\r\n var prev = el.previousElementSibling; // eslint-disable-line\r\n if (selector) {\r\n if ($(prev).is(selector)) {\r\n prevEls.push(prev);\r\n }\r\n } else {\r\n prevEls.push(prev);\r\n }\r\n el = prev;\r\n }\r\n return new Dom7(prevEls);\r\n }\r\n\r\n function parent(selector) {\r\n var this$1 = this;\r\n\r\n var parents = []; // eslint-disable-line\r\n for (var i = 0; i < this.length; i += 1) {\r\n if (this$1[i].parentNode !== null) {\r\n if (selector) {\r\n if ($(this$1[i].parentNode).is(selector)) {\r\n parents.push(this$1[i].parentNode);\r\n }\r\n } else {\r\n parents.push(this$1[i].parentNode);\r\n }\r\n }\r\n }\r\n return $(unique(parents));\r\n }\r\n\r\n function parents(selector) {\r\n var this$1 = this;\r\n\r\n var parents = []; // eslint-disable-line\r\n for (var i = 0; i < this.length; i += 1) {\r\n var parent = this$1[i].parentNode; // eslint-disable-line\r\n while (parent) {\r\n if (selector) {\r\n if ($(parent).is(selector)) {\r\n parents.push(parent);\r\n }\r\n } else {\r\n parents.push(parent);\r\n }\r\n parent = parent.parentNode;\r\n }\r\n }\r\n return $(unique(parents));\r\n }\r\n\r\n function closest(selector) {\r\n var closest = this; // eslint-disable-line\r\n if (typeof selector === 'undefined') {\r\n return new Dom7([]);\r\n }\r\n if (!closest.is(selector)) {\r\n closest = closest.parents(selector).eq(0);\r\n }\r\n return closest;\r\n }\r\n\r\n function find(selector) {\r\n var this$1 = this;\r\n\r\n var foundElements = [];\r\n for (var i = 0; i < this.length; i += 1) {\r\n var found = this$1[i].querySelectorAll(selector);\r\n for (var j = 0; j < found.length; j += 1) {\r\n foundElements.push(found[j]);\r\n }\r\n }\r\n return new Dom7(foundElements);\r\n }\r\n\r\n function children(selector) {\r\n var this$1 = this;\r\n\r\n var children = []; // eslint-disable-line\r\n for (var i = 0; i < this.length; i += 1) {\r\n var childNodes = this$1[i].childNodes;\r\n\r\n for (var j = 0; j < childNodes.length; j += 1) {\r\n if (!selector) {\r\n if (childNodes[j].nodeType === 1) {\r\n children.push(childNodes[j]);\r\n }\r\n } else if (childNodes[j].nodeType === 1 && $(childNodes[j]).is(selector)) {\r\n children.push(childNodes[j]);\r\n }\r\n }\r\n }\r\n return new Dom7(unique(children));\r\n }\r\n\r\n function remove() {\r\n var this$1 = this;\r\n\r\n for (var i = 0; i < this.length; i += 1) {\r\n if (this$1[i].parentNode) {\r\n this$1[i].parentNode.removeChild(this$1[i]);\r\n }\r\n }\r\n return this;\r\n }\r\n\r\n function add() {\r\n var args = [], len = arguments.length;\r\n while (len--) args[len] = arguments[len];\r\n\r\n var dom = this;\r\n var i;\r\n var j;\r\n for (i = 0; i < args.length; i += 1) {\r\n var toAdd = $(args[i]);\r\n for (j = 0; j < toAdd.length; j += 1) {\r\n dom[dom.length] = toAdd[j];\r\n dom.length += 1;\r\n }\r\n }\r\n return dom;\r\n }\r\n\r\n var Methods = {\r\n addClass: addClass,\r\n removeClass: removeClass,\r\n hasClass: hasClass,\r\n toggleClass: toggleClass,\r\n attr: attr,\r\n removeAttr: removeAttr,\r\n data: data,\r\n transform: transform,\r\n transition: transition,\r\n on: on,\r\n off: off,\r\n trigger: trigger,\r\n transitionEnd: transitionEnd,\r\n outerWidth: outerWidth,\r\n outerHeight: outerHeight,\r\n offset: offset,\r\n css: css,\r\n each: each,\r\n html: html,\r\n text: text,\r\n is: is,\r\n index: index,\r\n eq: eq,\r\n append: append,\r\n prepend: prepend,\r\n next: next,\r\n nextAll: nextAll,\r\n prev: prev,\r\n prevAll: prevAll,\r\n parent: parent,\r\n parents: parents,\r\n closest: closest,\r\n find: find,\r\n children: children,\r\n remove: remove,\r\n add: add,\r\n styles: styles,\r\n };\r\n\r\n Object.keys(Methods).forEach(function (methodName) {\r\n $.fn[methodName] = Methods[methodName];\r\n });\r\n\r\n var Utils = {\r\n deleteProps: function deleteProps(obj) {\r\n var object = obj;\r\n Object.keys(object).forEach(function (key) {\r\n try {\r\n object[key] = null;\r\n } catch (e) {\r\n // no getter for object\r\n }\r\n try {\r\n delete object[key];\r\n } catch (e) {\r\n // something got wrong\r\n }\r\n });\r\n },\r\n nextTick: function nextTick(callback, delay) {\r\n if (delay === void 0) delay = 0;\r\n\r\n return setTimeout(callback, delay);\r\n },\r\n now: function now() {\r\n return Date.now();\r\n },\r\n getTranslate: function getTranslate(el, axis) {\r\n if (axis === void 0) axis = 'x';\r\n\r\n var matrix;\r\n var curTransform;\r\n var transformMatrix;\r\n\r\n var curStyle = win.getComputedStyle(el, null);\r\n\r\n if (win.WebKitCSSMatrix) {\r\n curTransform = curStyle.transform || curStyle.webkitTransform;\r\n if (curTransform.split(',').length > 6) {\r\n curTransform = curTransform.split(', ').map(function (a) {\r\n return a.replace(',', '.');\r\n }).join(', ');\r\n }\r\n // Some old versions of Webkit choke when 'none' is passed; pass\r\n // empty string instead in this case\r\n transformMatrix = new win.WebKitCSSMatrix(curTransform === 'none' ? '' : curTransform);\r\n } else {\r\n transformMatrix = curStyle.MozTransform || curStyle.OTransform || curStyle.MsTransform || curStyle.msTransform || curStyle.transform || curStyle.getPropertyValue('transform').replace('translate(', 'matrix(1, 0, 0, 1,');\r\n matrix = transformMatrix.toString().split(',');\r\n }\r\n\r\n if (axis === 'x') {\r\n // Latest Chrome and webkits Fix\r\n if (win.WebKitCSSMatrix) {\r\n curTransform = transformMatrix.m41;\r\n }\r\n // Crazy IE10 Matrix\r\n else if (matrix.length === 16) {\r\n curTransform = parseFloat(matrix[12]);\r\n }\r\n // Normal Browsers\r\n else {\r\n curTransform = parseFloat(matrix[4]);\r\n }\r\n }\r\n if (axis === 'y') {\r\n // Latest Chrome and webkits Fix\r\n if (win.WebKitCSSMatrix) {\r\n curTransform = transformMatrix.m42;\r\n }\r\n // Crazy IE10 Matrix\r\n else if (matrix.length === 16) {\r\n curTransform = parseFloat(matrix[13]);\r\n }\r\n // Normal Browsers\r\n else {\r\n curTransform = parseFloat(matrix[5]);\r\n }\r\n }\r\n return curTransform || 0;\r\n },\r\n parseUrlQuery: function parseUrlQuery(url) {\r\n var query = {};\r\n var urlToParse = url || win.location.href;\r\n var i;\r\n var params;\r\n var param;\r\n var length;\r\n if (typeof urlToParse === 'string' && urlToParse.length) {\r\n urlToParse = urlToParse.indexOf('?') > -1 ? urlToParse.replace(/\\S*\\?/, '') : '';\r\n params = urlToParse.split('&').filter(function (paramsPart) {\r\n return paramsPart !== '';\r\n });\r\n length = params.length;\r\n\r\n for (i = 0; i < length; i += 1) {\r\n param = params[i].replace(/#\\S+/g, '').split('=');\r\n query[decodeURIComponent(param[0])] = typeof param[1] === 'undefined' ? undefined : decodeURIComponent(param[1]) || '';\r\n }\r\n }\r\n return query;\r\n },\r\n isObject: function isObject(o) {\r\n return typeof o === 'object' && o !== null && o.constructor && o.constructor === Object;\r\n },\r\n extend: function extend() {\r\n var args = [], len$1 = arguments.length;\r\n while (len$1--) args[len$1] = arguments[len$1];\r\n\r\n var to = Object(args[0]);\r\n for (var i = 1; i < args.length; i += 1) {\r\n var nextSource = args[i];\r\n if (nextSource !== undefined && nextSource !== null) {\r\n var keysArray = Object.keys(Object(nextSource));\r\n for (var nextIndex = 0, len = keysArray.length; nextIndex < len; nextIndex += 1) {\r\n var nextKey = keysArray[nextIndex];\r\n var desc = Object.getOwnPropertyDescriptor(nextSource, nextKey);\r\n if (desc !== undefined && desc.enumerable) {\r\n if (Utils.isObject(to[nextKey]) && Utils.isObject(nextSource[nextKey])) {\r\n Utils.extend(to[nextKey], nextSource[nextKey]);\r\n } else if (!Utils.isObject(to[nextKey]) && Utils.isObject(nextSource[nextKey])) {\r\n to[nextKey] = {};\r\n Utils.extend(to[nextKey], nextSource[nextKey]);\r\n } else {\r\n to[nextKey] = nextSource[nextKey];\r\n }\r\n }\r\n }\r\n }\r\n }\r\n return to;\r\n },\r\n };\r\n\r\n var Support = (function Support() {\r\n var testDiv = doc.createElement('div');\r\n return {\r\n touch: (win.Modernizr && win.Modernizr.touch === true) || (function checkTouch() {\r\n return !!(('ontouchstart' in win) || (win.DocumentTouch && doc instanceof win.DocumentTouch));\r\n }()),\r\n\r\n pointerEvents: !!(win.navigator.pointerEnabled || win.PointerEvent),\r\n prefixedPointerEvents: !!win.navigator.msPointerEnabled,\r\n\r\n transition: (function checkTransition() {\r\n var style = testDiv.style;\r\n return ('transition' in style || 'webkitTransition' in style || 'MozTransition' in style);\r\n }()),\r\n transforms3d: (win.Modernizr && win.Modernizr.csstransforms3d === true) || (function checkTransforms3d() {\r\n var style = testDiv.style;\r\n return ('webkitPerspective' in style || 'MozPerspective' in style || 'OPerspective' in style || 'MsPerspective' in style || 'perspective' in style);\r\n }()),\r\n\r\n flexbox: (function checkFlexbox() {\r\n var style = testDiv.style;\r\n var styles = ('alignItems webkitAlignItems webkitBoxAlign msFlexAlign mozBoxAlign webkitFlexDirection msFlexDirection mozBoxDirection mozBoxOrient webkitBoxDirection webkitBoxOrient').split(' ');\r\n for (var i = 0; i < styles.length; i += 1) {\r\n if (styles[i] in style) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }()),\r\n\r\n observer: (function checkObserver() {\r\n return ('MutationObserver' in win || 'WebkitMutationObserver' in win);\r\n }()),\r\n\r\n passiveListener: (function checkPassiveListener() {\r\n var supportsPassive = false;\r\n try {\r\n var opts = Object.defineProperty({}, 'passive', {\r\n // eslint-disable-next-line\r\n get: function get() {\r\n supportsPassive = true;\r\n },\r\n });\r\n win.addEventListener('testPassiveListener', null, opts);\r\n } catch (e) {\r\n // No support\r\n }\r\n return supportsPassive;\r\n }()),\r\n\r\n gestures: (function checkGestures() {\r\n return 'ongesturestart' in win;\r\n }()),\r\n };\r\n }());\r\n\r\n var SwiperClass = function SwiperClass(params) {\r\n if (params === void 0) params = {};\r\n\r\n var self = this;\r\n self.params = params;\r\n\r\n // Events\r\n self.eventsListeners = {};\r\n\r\n if (self.params && self.params.on) {\r\n Object.keys(self.params.on).forEach(function (eventName) {\r\n self.on(eventName, self.params.on[eventName]);\r\n });\r\n }\r\n };\r\n\r\n var staticAccessors = {components: {configurable: true}};\r\n\r\n SwiperClass.prototype.on = function on(events, handler, priority) {\r\n var self = this;\r\n if (typeof handler !== 'function') {\r\n return self;\r\n }\r\n var method = priority ? 'unshift' : 'push';\r\n events.split(' ').forEach(function (event) {\r\n if (!self.eventsListeners[event]) {\r\n self.eventsListeners[event] = [];\r\n }\r\n self.eventsListeners[event][method](handler);\r\n });\r\n return self;\r\n };\r\n\r\n SwiperClass.prototype.once = function once(events, handler, priority) {\r\n var self = this;\r\n if (typeof handler !== 'function') {\r\n return self;\r\n }\r\n\r\n function onceHandler() {\r\n var args = [], len = arguments.length;\r\n while (len--) args[len] = arguments[len];\r\n\r\n handler.apply(self, args);\r\n self.off(events, onceHandler);\r\n }\r\n\r\n return self.on(events, onceHandler, priority);\r\n };\r\n\r\n SwiperClass.prototype.off = function off(events, handler) {\r\n var self = this;\r\n if (!self.eventsListeners) {\r\n return self;\r\n }\r\n events.split(' ').forEach(function (event) {\r\n if (typeof handler === 'undefined') {\r\n self.eventsListeners[event] = [];\r\n } else if (self.eventsListeners[event] && self.eventsListeners[event].length) {\r\n self.eventsListeners[event].forEach(function (eventHandler, index) {\r\n if (eventHandler === handler) {\r\n self.eventsListeners[event].splice(index, 1);\r\n }\r\n });\r\n }\r\n });\r\n return self;\r\n };\r\n\r\n SwiperClass.prototype.emit = function emit() {\r\n var args = [], len = arguments.length;\r\n while (len--) args[len] = arguments[len];\r\n\r\n var self = this;\r\n if (!self.eventsListeners) {\r\n return self;\r\n }\r\n var events;\r\n var data;\r\n var context;\r\n if (typeof args[0] === 'string' || Array.isArray(args[0])) {\r\n events = args[0];\r\n data = args.slice(1, args.length);\r\n context = self;\r\n } else {\r\n events = args[0].events;\r\n data = args[0].data;\r\n context = args[0].context || self;\r\n }\r\n var eventsArray = Array.isArray(events) ? events : events.split(' ');\r\n eventsArray.forEach(function (event) {\r\n if (self.eventsListeners && self.eventsListeners[event]) {\r\n var handlers = [];\r\n self.eventsListeners[event].forEach(function (eventHandler) {\r\n handlers.push(eventHandler);\r\n });\r\n handlers.forEach(function (eventHandler) {\r\n eventHandler.apply(context, data);\r\n });\r\n }\r\n });\r\n return self;\r\n };\r\n\r\n SwiperClass.prototype.useModulesParams = function useModulesParams(instanceParams) {\r\n var instance = this;\r\n if (!instance.modules) {\r\n return;\r\n }\r\n Object.keys(instance.modules).forEach(function (moduleName) {\r\n var module = instance.modules[moduleName];\r\n // Extend params\r\n if (module.params) {\r\n Utils.extend(instanceParams, module.params);\r\n }\r\n });\r\n };\r\n\r\n SwiperClass.prototype.useModules = function useModules(modulesParams) {\r\n if (modulesParams === void 0) modulesParams = {};\r\n\r\n var instance = this;\r\n if (!instance.modules) {\r\n return;\r\n }\r\n Object.keys(instance.modules).forEach(function (moduleName) {\r\n var module = instance.modules[moduleName];\r\n var moduleParams = modulesParams[moduleName] || {};\r\n // Extend instance methods and props\r\n if (module.instance) {\r\n Object.keys(module.instance).forEach(function (modulePropName) {\r\n var moduleProp = module.instance[modulePropName];\r\n if (typeof moduleProp === 'function') {\r\n instance[modulePropName] = moduleProp.bind(instance);\r\n } else {\r\n instance[modulePropName] = moduleProp;\r\n }\r\n });\r\n }\r\n // Add event listeners\r\n if (module.on && instance.on) {\r\n Object.keys(module.on).forEach(function (moduleEventName) {\r\n instance.on(moduleEventName, module.on[moduleEventName]);\r\n });\r\n }\r\n\r\n // Module create callback\r\n if (module.create) {\r\n module.create.bind(instance)(moduleParams);\r\n }\r\n });\r\n };\r\n\r\n staticAccessors.components.set = function (components) {\r\n var Class = this;\r\n if (!Class.use) {\r\n return;\r\n }\r\n Class.use(components);\r\n };\r\n\r\n SwiperClass.installModule = function installModule(module) {\r\n var params = [], len = arguments.length - 1;\r\n while (len-- > 0) params[len] = arguments[len + 1];\r\n\r\n var Class = this;\r\n if (!Class.prototype.modules) {\r\n Class.prototype.modules = {};\r\n }\r\n var name = module.name || (((Object.keys(Class.prototype.modules).length) + \"_\" + (Utils.now())));\r\n Class.prototype.modules[name] = module;\r\n // Prototype\r\n if (module.proto) {\r\n Object.keys(module.proto).forEach(function (key) {\r\n Class.prototype[key] = module.proto[key];\r\n });\r\n }\r\n // Class\r\n if (module.static) {\r\n Object.keys(module.static).forEach(function (key) {\r\n Class[key] = module.static[key];\r\n });\r\n }\r\n // Callback\r\n if (module.install) {\r\n module.install.apply(Class, params);\r\n }\r\n return Class;\r\n };\r\n\r\n SwiperClass.use = function use(module) {\r\n var params = [], len = arguments.length - 1;\r\n while (len-- > 0) params[len] = arguments[len + 1];\r\n\r\n var Class = this;\r\n if (Array.isArray(module)) {\r\n module.forEach(function (m) {\r\n return Class.installModule(m);\r\n });\r\n return Class;\r\n }\r\n return Class.installModule.apply(Class, [module].concat(params));\r\n };\r\n\r\n Object.defineProperties(SwiperClass, staticAccessors);\r\n\r\n function updateSize() {\r\n var swiper = this;\r\n var width;\r\n var height;\r\n var $el = swiper.$el;\r\n if (typeof swiper.params.width !== 'undefined') {\r\n width = swiper.params.width;\r\n } else {\r\n width = $el[0].clientWidth;\r\n }\r\n if (typeof swiper.params.height !== 'undefined') {\r\n height = swiper.params.height;\r\n } else {\r\n height = $el[0].clientHeight;\r\n }\r\n if ((width === 0 && swiper.isHorizontal()) || (height === 0 && swiper.isVertical())) {\r\n return;\r\n }\r\n\r\n // Subtract paddings\r\n width = width - parseInt($el.css('padding-left'), 10) - parseInt($el.css('padding-right'), 10);\r\n height = height - parseInt($el.css('padding-top'), 10) - parseInt($el.css('padding-bottom'), 10);\r\n\r\n Utils.extend(swiper, {\r\n width: width,\r\n height: height,\r\n size: swiper.isHorizontal() ? width : height,\r\n });\r\n }\r\n\r\n function updateSlides() {\r\n var swiper = this;\r\n var params = swiper.params;\r\n\r\n var $wrapperEl = swiper.$wrapperEl;\r\n var swiperSize = swiper.size;\r\n var rtl = swiper.rtlTranslate;\r\n var wrongRTL = swiper.wrongRTL;\r\n var isVirtual = swiper.virtual && params.virtual.enabled;\r\n var previousSlidesLength = isVirtual ? swiper.virtual.slides.length : swiper.slides.length;\r\n var slides = $wrapperEl.children((\".\" + (swiper.params.slideClass)));\r\n var slidesLength = isVirtual ? swiper.virtual.slides.length : slides.length;\r\n var snapGrid = [];\r\n var slidesGrid = [];\r\n var slidesSizesGrid = [];\r\n\r\n var offsetBefore = params.slidesOffsetBefore;\r\n if (typeof offsetBefore === 'function') {\r\n offsetBefore = params.slidesOffsetBefore.call(swiper);\r\n }\r\n\r\n var offsetAfter = params.slidesOffsetAfter;\r\n if (typeof offsetAfter === 'function') {\r\n offsetAfter = params.slidesOffsetAfter.call(swiper);\r\n }\r\n\r\n var previousSnapGridLength = swiper.snapGrid.length;\r\n var previousSlidesGridLength = swiper.snapGrid.length;\r\n\r\n var spaceBetween = params.spaceBetween;\r\n var slidePosition = -offsetBefore;\r\n var prevSlideSize = 0;\r\n var index = 0;\r\n if (typeof swiperSize === 'undefined') {\r\n return;\r\n }\r\n if (typeof spaceBetween === 'string' && spaceBetween.indexOf('%') >= 0) {\r\n spaceBetween = (parseFloat(spaceBetween.replace('%', '')) / 100) * swiperSize;\r\n }\r\n\r\n swiper.virtualSize = -spaceBetween;\r\n\r\n // reset margins\r\n if (rtl) {\r\n slides.css({marginLeft: '', marginTop: ''});\r\n }\r\n else {\r\n slides.css({marginRight: '', marginBottom: ''});\r\n }\r\n\r\n var slidesNumberEvenToRows;\r\n if (params.slidesPerColumn > 1) {\r\n if (Math.floor(slidesLength / params.slidesPerColumn) === slidesLength / swiper.params.slidesPerColumn) {\r\n slidesNumberEvenToRows = slidesLength;\r\n } else {\r\n slidesNumberEvenToRows = Math.ceil(slidesLength / params.slidesPerColumn) * params.slidesPerColumn;\r\n }\r\n if (params.slidesPerView !== 'auto' && params.slidesPerColumnFill === 'row') {\r\n slidesNumberEvenToRows = Math.max(slidesNumberEvenToRows, params.slidesPerView * params.slidesPerColumn);\r\n }\r\n }\r\n\r\n // Calc slides\r\n var slideSize;\r\n var slidesPerColumn = params.slidesPerColumn;\r\n var slidesPerRow = slidesNumberEvenToRows / slidesPerColumn;\r\n var numFullColumns = slidesPerRow - ((params.slidesPerColumn * slidesPerRow) - slidesLength);\r\n for (var i = 0; i < slidesLength; i += 1) {\r\n slideSize = 0;\r\n var slide = slides.eq(i);\r\n if (params.slidesPerColumn > 1) {\r\n // Set slides order\r\n var newSlideOrderIndex = (void 0);\r\n var column = (void 0);\r\n var row = (void 0);\r\n if (params.slidesPerColumnFill === 'column') {\r\n column = Math.floor(i / slidesPerColumn);\r\n row = i - (column * slidesPerColumn);\r\n if (column > numFullColumns || (column === numFullColumns && row === slidesPerColumn - 1)) {\r\n row += 1;\r\n if (row >= slidesPerColumn) {\r\n row = 0;\r\n column += 1;\r\n }\r\n }\r\n newSlideOrderIndex = column + ((row * slidesNumberEvenToRows) / slidesPerColumn);\r\n slide\r\n .css({\r\n '-webkit-box-ordinal-group': newSlideOrderIndex,\r\n '-moz-box-ordinal-group': newSlideOrderIndex,\r\n '-ms-flex-order': newSlideOrderIndex,\r\n '-webkit-order': newSlideOrderIndex,\r\n order: newSlideOrderIndex,\r\n });\r\n } else {\r\n row = Math.floor(i / slidesPerRow);\r\n column = i - (row * slidesPerRow);\r\n }\r\n slide\r\n .css(\r\n (\"margin-\" + (swiper.isHorizontal() ? 'top' : 'left')),\r\n (row !== 0 && params.spaceBetween) && (((params.spaceBetween) + \"px\"))\r\n )\r\n .attr('data-swiper-column', column)\r\n .attr('data-swiper-row', row);\r\n }\r\n if (slide.css('display') === 'none') {\r\n continue;\r\n } // eslint-disable-line\r\n\r\n if (params.slidesPerView === 'auto') {\r\n var slideStyles = win.getComputedStyle(slide[0], null);\r\n var currentTransform = slide[0].style.transform;\r\n var currentWebKitTransform = slide[0].style.webkitTransform;\r\n if (currentTransform) {\r\n slide[0].style.transform = 'none';\r\n }\r\n if (currentWebKitTransform) {\r\n slide[0].style.webkitTransform = 'none';\r\n }\r\n if (params.roundLengths) {\r\n slideSize = swiper.isHorizontal()\r\n ? slide.outerWidth(true)\r\n : slide.outerHeight(true);\r\n } else {\r\n // eslint-disable-next-line\r\n if (swiper.isHorizontal()) {\r\n slideSize = slide[0].getBoundingClientRect().width\r\n + parseFloat(slideStyles.getPropertyValue('margin-left'))\r\n + parseFloat(slideStyles.getPropertyValue('margin-right'));\r\n } else {\r\n slideSize = slide[0].getBoundingClientRect().height\r\n + parseFloat(slideStyles.getPropertyValue('margin-top'))\r\n + parseFloat(slideStyles.getPropertyValue('margin-bottom'));\r\n }\r\n }\r\n if (currentTransform) {\r\n slide[0].style.transform = currentTransform;\r\n }\r\n if (currentWebKitTransform) {\r\n slide[0].style.webkitTransform = currentWebKitTransform;\r\n }\r\n if (params.roundLengths) {\r\n slideSize = Math.floor(slideSize);\r\n }\r\n } else {\r\n slideSize = (swiperSize - ((params.slidesPerView - 1) * spaceBetween)) / params.slidesPerView;\r\n if (params.roundLengths) {\r\n slideSize = Math.floor(slideSize);\r\n }\r\n\r\n if (slides[i]) {\r\n if (swiper.isHorizontal()) {\r\n slides[i].style.width = slideSize + \"px\";\r\n } else {\r\n slides[i].style.height = slideSize + \"px\";\r\n }\r\n }\r\n }\r\n if (slides[i]) {\r\n slides[i].swiperSlideSize = slideSize;\r\n }\r\n slidesSizesGrid.push(slideSize);\r\n\r\n\r\n if (params.centeredSlides) {\r\n slidePosition = slidePosition + (slideSize / 2) + (prevSlideSize / 2) + spaceBetween;\r\n if (prevSlideSize === 0 && i !== 0) {\r\n slidePosition = slidePosition - (swiperSize / 2) - spaceBetween;\r\n }\r\n if (i === 0) {\r\n slidePosition = slidePosition - (swiperSize / 2) - spaceBetween;\r\n }\r\n if (Math.abs(slidePosition) < 1 / 1000) {\r\n slidePosition = 0;\r\n }\r\n if (params.roundLengths) {\r\n slidePosition = Math.floor(slidePosition);\r\n }\r\n if ((index) % params.slidesPerGroup === 0) {\r\n snapGrid.push(slidePosition);\r\n }\r\n slidesGrid.push(slidePosition);\r\n } else {\r\n if (params.roundLengths) {\r\n slidePosition = Math.floor(slidePosition);\r\n }\r\n if ((index) % params.slidesPerGroup === 0) {\r\n snapGrid.push(slidePosition);\r\n }\r\n slidesGrid.push(slidePosition);\r\n slidePosition = slidePosition + slideSize + spaceBetween;\r\n }\r\n\r\n swiper.virtualSize += slideSize + spaceBetween;\r\n\r\n prevSlideSize = slideSize;\r\n\r\n index += 1;\r\n }\r\n swiper.virtualSize = Math.max(swiper.virtualSize, swiperSize) + offsetAfter;\r\n var newSlidesGrid;\r\n\r\n if (\r\n rtl && wrongRTL && (params.effect === 'slide' || params.effect === 'coverflow')) {\r\n $wrapperEl.css({width: ((swiper.virtualSize + params.spaceBetween) + \"px\")});\r\n }\r\n if (!Support.flexbox || params.setWrapperSize) {\r\n if (swiper.isHorizontal()) {\r\n $wrapperEl.css({width: ((swiper.virtualSize + params.spaceBetween) + \"px\")});\r\n }\r\n else {\r\n $wrapperEl.css({height: ((swiper.virtualSize + params.spaceBetween) + \"px\")});\r\n }\r\n }\r\n\r\n if (params.slidesPerColumn > 1) {\r\n swiper.virtualSize = (slideSize + params.spaceBetween) * slidesNumberEvenToRows;\r\n swiper.virtualSize = Math.ceil(swiper.virtualSize / params.slidesPerColumn) - params.spaceBetween;\r\n if (swiper.isHorizontal()) {\r\n $wrapperEl.css({width: ((swiper.virtualSize + params.spaceBetween) + \"px\")});\r\n }\r\n else {\r\n $wrapperEl.css({height: ((swiper.virtualSize + params.spaceBetween) + \"px\")});\r\n }\r\n if (params.centeredSlides) {\r\n newSlidesGrid = [];\r\n for (var i$1 = 0; i$1 < snapGrid.length; i$1 += 1) {\r\n var slidesGridItem = snapGrid[i$1];\r\n if (params.roundLengths) {\r\n slidesGridItem = Math.floor(slidesGridItem);\r\n }\r\n if (snapGrid[i$1] < swiper.virtualSize + snapGrid[0]) {\r\n newSlidesGrid.push(slidesGridItem);\r\n }\r\n }\r\n snapGrid = newSlidesGrid;\r\n }\r\n }\r\n\r\n // Remove last grid elements depending on width\r\n if (!params.centeredSlides) {\r\n newSlidesGrid = [];\r\n for (var i$2 = 0; i$2 < snapGrid.length; i$2 += 1) {\r\n var slidesGridItem$1 = snapGrid[i$2];\r\n if (params.roundLengths) {\r\n slidesGridItem$1 = Math.floor(slidesGridItem$1);\r\n }\r\n if (snapGrid[i$2] <= swiper.virtualSize - swiperSize) {\r\n newSlidesGrid.push(slidesGridItem$1);\r\n }\r\n }\r\n snapGrid = newSlidesGrid;\r\n if (Math.floor(swiper.virtualSize - swiperSize) - Math.floor(snapGrid[snapGrid.length - 1]) > 1) {\r\n snapGrid.push(swiper.virtualSize - swiperSize);\r\n }\r\n }\r\n if (snapGrid.length === 0) {\r\n snapGrid = [0];\r\n }\r\n\r\n if (params.spaceBetween !== 0) {\r\n if (swiper.isHorizontal()) {\r\n if (rtl) {\r\n slides.css({marginLeft: (spaceBetween + \"px\")});\r\n }\r\n else {\r\n slides.css({marginRight: (spaceBetween + \"px\")});\r\n }\r\n } else {\r\n slides.css({marginBottom: (spaceBetween + \"px\")});\r\n }\r\n }\r\n\r\n if (params.centerInsufficientSlides) {\r\n var allSlidesSize = 0;\r\n slidesSizesGrid.forEach(function (slideSizeValue) {\r\n allSlidesSize += slideSizeValue + (params.spaceBetween ? params.spaceBetween : 0);\r\n });\r\n allSlidesSize -= params.spaceBetween;\r\n if (allSlidesSize < swiperSize) {\r\n var allSlidesOffset = (swiperSize - allSlidesSize) / 2;\r\n snapGrid.forEach(function (snap, snapIndex) {\r\n snapGrid[snapIndex] = snap - allSlidesOffset;\r\n });\r\n slidesGrid.forEach(function (snap, snapIndex) {\r\n slidesGrid[snapIndex] = snap + allSlidesOffset;\r\n });\r\n }\r\n }\r\n\r\n Utils.extend(swiper, {\r\n slides: slides,\r\n snapGrid: snapGrid,\r\n slidesGrid: slidesGrid,\r\n slidesSizesGrid: slidesSizesGrid,\r\n });\r\n\r\n if (slidesLength !== previousSlidesLength) {\r\n swiper.emit('slidesLengthChange');\r\n }\r\n if (snapGrid.length !== previousSnapGridLength) {\r\n if (swiper.params.watchOverflow) {\r\n swiper.checkOverflow();\r\n }\r\n swiper.emit('snapGridLengthChange');\r\n }\r\n if (slidesGrid.length !== previousSlidesGridLength) {\r\n swiper.emit('slidesGridLengthChange');\r\n }\r\n\r\n if (params.watchSlidesProgress || params.watchSlidesVisibility) {\r\n swiper.updateSlidesOffset();\r\n }\r\n }\r\n\r\n function updateAutoHeight(speed) {\r\n var swiper = this;\r\n var activeSlides = [];\r\n var newHeight = 0;\r\n var i;\r\n if (typeof speed === 'number') {\r\n swiper.setTransition(speed);\r\n } else if (speed === true) {\r\n swiper.setTransition(swiper.params.speed);\r\n }\r\n // Find slides currently in view\r\n if (swiper.params.slidesPerView !== 'auto' && swiper.params.slidesPerView > 1) {\r\n for (i = 0; i < Math.ceil(swiper.params.slidesPerView); i += 1) {\r\n var index = swiper.activeIndex + i;\r\n if (index > swiper.slides.length) {\r\n break;\r\n }\r\n activeSlides.push(swiper.slides.eq(index)[0]);\r\n }\r\n } else {\r\n activeSlides.push(swiper.slides.eq(swiper.activeIndex)[0]);\r\n }\r\n\r\n // Find new height from highest slide in view\r\n for (i = 0; i < activeSlides.length; i += 1) {\r\n if (typeof activeSlides[i] !== 'undefined') {\r\n var height = activeSlides[i].offsetHeight;\r\n newHeight = height > newHeight ? height : newHeight;\r\n }\r\n }\r\n\r\n // Update Height\r\n if (newHeight) {\r\n swiper.$wrapperEl.css('height', (newHeight + \"px\"));\r\n }\r\n }\r\n\r\n function updateSlidesOffset() {\r\n var swiper = this;\r\n var slides = swiper.slides;\r\n for (var i = 0; i < slides.length; i += 1) {\r\n slides[i].swiperSlideOffset = swiper.isHorizontal() ? slides[i].offsetLeft : slides[i].offsetTop;\r\n }\r\n }\r\n\r\n function updateSlidesProgress(translate) {\r\n if (translate === void 0) translate = (this && this.translate) || 0;\r\n\r\n var swiper = this;\r\n var params = swiper.params;\r\n\r\n var slides = swiper.slides;\r\n var rtl = swiper.rtlTranslate;\r\n\r\n if (slides.length === 0) {\r\n return;\r\n }\r\n if (typeof slides[0].swiperSlideOffset === 'undefined') {\r\n swiper.updateSlidesOffset();\r\n }\r\n\r\n var offsetCenter = -translate;\r\n if (rtl) {\r\n offsetCenter = translate;\r\n }\r\n\r\n // Visible Slides\r\n slides.removeClass(params.slideVisibleClass);\r\n\r\n swiper.visibleSlidesIndexes = [];\r\n swiper.visibleSlides = [];\r\n\r\n for (var i = 0; i < slides.length; i += 1) {\r\n var slide = slides[i];\r\n var slideProgress = (\r\n (offsetCenter + (params.centeredSlides ? swiper.minTranslate() : 0)) - slide.swiperSlideOffset\r\n ) / (slide.swiperSlideSize + params.spaceBetween);\r\n if (params.watchSlidesVisibility) {\r\n var slideBefore = -(offsetCenter - slide.swiperSlideOffset);\r\n var slideAfter = slideBefore + swiper.slidesSizesGrid[i];\r\n var isVisible = (slideBefore >= 0 && slideBefore < swiper.size)\r\n || (slideAfter > 0 && slideAfter <= swiper.size)\r\n || (slideBefore <= 0 && slideAfter >= swiper.size);\r\n if (isVisible) {\r\n swiper.visibleSlides.push(slide);\r\n swiper.visibleSlidesIndexes.push(i);\r\n slides.eq(i).addClass(params.slideVisibleClass);\r\n }\r\n }\r\n slide.progress = rtl ? -slideProgress : slideProgress;\r\n }\r\n swiper.visibleSlides = $(swiper.visibleSlides);\r\n }\r\n\r\n function updateProgress(translate) {\r\n if (translate === void 0) translate = (this && this.translate) || 0;\r\n\r\n var swiper = this;\r\n var params = swiper.params;\r\n\r\n var translatesDiff = swiper.maxTranslate() - swiper.minTranslate();\r\n var progress = swiper.progress;\r\n var isBeginning = swiper.isBeginning;\r\n var isEnd = swiper.isEnd;\r\n var wasBeginning = isBeginning;\r\n var wasEnd = isEnd;\r\n if (translatesDiff === 0) {\r\n progress = 0;\r\n isBeginning = true;\r\n isEnd = true;\r\n } else {\r\n progress = (translate - swiper.minTranslate()) / (translatesDiff);\r\n isBeginning = progress <= 0;\r\n isEnd = progress >= 1;\r\n }\r\n Utils.extend(swiper, {\r\n progress: progress,\r\n isBeginning: isBeginning,\r\n isEnd: isEnd,\r\n });\r\n\r\n if (params.watchSlidesProgress || params.watchSlidesVisibility) {\r\n swiper.updateSlidesProgress(translate);\r\n }\r\n\r\n if (isBeginning && !wasBeginning) {\r\n swiper.emit('reachBeginning toEdge');\r\n }\r\n if (isEnd && !wasEnd) {\r\n swiper.emit('reachEnd toEdge');\r\n }\r\n if ((wasBeginning && !isBeginning) || (wasEnd && !isEnd)) {\r\n swiper.emit('fromEdge');\r\n }\r\n\r\n swiper.emit('progress', progress);\r\n }\r\n\r\n function updateSlidesClasses() {\r\n var swiper = this;\r\n\r\n var slides = swiper.slides;\r\n var params = swiper.params;\r\n var $wrapperEl = swiper.$wrapperEl;\r\n var activeIndex = swiper.activeIndex;\r\n var realIndex = swiper.realIndex;\r\n var isVirtual = swiper.virtual && params.virtual.enabled;\r\n\r\n slides.removeClass(((params.slideActiveClass) + \" \" + (params.slideNextClass) + \" \" + (params.slidePrevClass) + \" \" + (params.slideDuplicateActiveClass) + \" \" + (params.slideDuplicateNextClass) + \" \" + (params.slideDuplicatePrevClass)));\r\n\r\n var activeSlide;\r\n if (isVirtual) {\r\n activeSlide = swiper.$wrapperEl.find((\".\" + (params.slideClass) + \"[data-swiper-slide-index=\\\"\" + activeIndex + \"\\\"]\"));\r\n } else {\r\n activeSlide = slides.eq(activeIndex);\r\n }\r\n\r\n // Active classes\r\n activeSlide.addClass(params.slideActiveClass);\r\n\r\n if (params.loop) {\r\n // Duplicate to all looped slides\r\n if (activeSlide.hasClass(params.slideDuplicateClass)) {\r\n $wrapperEl\r\n .children((\".\" + (params.slideClass) + \":not(.\" + (params.slideDuplicateClass) + \")[data-swiper-slide-index=\\\"\" + realIndex + \"\\\"]\"))\r\n .addClass(params.slideDuplicateActiveClass);\r\n } else {\r\n $wrapperEl\r\n .children((\".\" + (params.slideClass) + \".\" + (params.slideDuplicateClass) + \"[data-swiper-slide-index=\\\"\" + realIndex + \"\\\"]\"))\r\n .addClass(params.slideDuplicateActiveClass);\r\n }\r\n }\r\n // Next Slide\r\n var nextSlide = activeSlide.nextAll((\".\" + (params.slideClass))).eq(0).addClass(params.slideNextClass);\r\n if (params.loop && nextSlide.length === 0) {\r\n nextSlide = slides.eq(0);\r\n nextSlide.addClass(params.slideNextClass);\r\n }\r\n // Prev Slide\r\n var prevSlide = activeSlide.prevAll((\".\" + (params.slideClass))).eq(0).addClass(params.slidePrevClass);\r\n if (params.loop && prevSlide.length === 0) {\r\n prevSlide = slides.eq(-1);\r\n prevSlide.addClass(params.slidePrevClass);\r\n }\r\n if (params.loop) {\r\n // Duplicate to all looped slides\r\n if (nextSlide.hasClass(params.slideDuplicateClass)) {\r\n $wrapperEl\r\n .children((\".\" + (params.slideClass) + \":not(.\" + (params.slideDuplicateClass) + \")[data-swiper-slide-index=\\\"\" + (nextSlide.attr('data-swiper-slide-index')) + \"\\\"]\"))\r\n .addClass(params.slideDuplicateNextClass);\r\n } else {\r\n $wrapperEl\r\n .children((\".\" + (params.slideClass) + \".\" + (params.slideDuplicateClass) + \"[data-swiper-slide-index=\\\"\" + (nextSlide.attr('data-swiper-slide-index')) + \"\\\"]\"))\r\n .addClass(params.slideDuplicateNextClass);\r\n }\r\n if (prevSlide.hasClass(params.slideDuplicateClass)) {\r\n $wrapperEl\r\n .children((\".\" + (params.slideClass) + \":not(.\" + (params.slideDuplicateClass) + \")[data-swiper-slide-index=\\\"\" + (prevSlide.attr('data-swiper-slide-index')) + \"\\\"]\"))\r\n .addClass(params.slideDuplicatePrevClass);\r\n } else {\r\n $wrapperEl\r\n .children((\".\" + (params.slideClass) + \".\" + (params.slideDuplicateClass) + \"[data-swiper-slide-index=\\\"\" + (prevSlide.attr('data-swiper-slide-index')) + \"\\\"]\"))\r\n .addClass(params.slideDuplicatePrevClass);\r\n }\r\n }\r\n }\r\n\r\n function updateActiveIndex(newActiveIndex) {\r\n var swiper = this;\r\n var translate = swiper.rtlTranslate ? swiper.translate : -swiper.translate;\r\n var slidesGrid = swiper.slidesGrid;\r\n var snapGrid = swiper.snapGrid;\r\n var params = swiper.params;\r\n var previousIndex = swiper.activeIndex;\r\n var previousRealIndex = swiper.realIndex;\r\n var previousSnapIndex = swiper.snapIndex;\r\n var activeIndex = newActiveIndex;\r\n var snapIndex;\r\n if (typeof activeIndex === 'undefined') {\r\n for (var i = 0; i < slidesGrid.length; i += 1) {\r\n if (typeof slidesGrid[i + 1] !== 'undefined') {\r\n if (translate >= slidesGrid[i] && translate < slidesGrid[i + 1] - ((slidesGrid[i + 1] - slidesGrid[i]) / 2)) {\r\n activeIndex = i;\r\n } else if (translate >= slidesGrid[i] && translate < slidesGrid[i + 1]) {\r\n activeIndex = i + 1;\r\n }\r\n } else if (translate >= slidesGrid[i]) {\r\n activeIndex = i;\r\n }\r\n }\r\n // Normalize slideIndex\r\n if (params.normalizeSlideIndex) {\r\n if (activeIndex < 0 || typeof activeIndex === 'undefined') {\r\n activeIndex = 0;\r\n }\r\n }\r\n }\r\n if (snapGrid.indexOf(translate) >= 0) {\r\n snapIndex = snapGrid.indexOf(translate);\r\n } else {\r\n snapIndex = Math.floor(activeIndex / params.slidesPerGroup);\r\n }\r\n if (snapIndex >= snapGrid.length) {\r\n snapIndex = snapGrid.length - 1;\r\n }\r\n if (activeIndex === previousIndex) {\r\n if (snapIndex !== previousSnapIndex) {\r\n swiper.snapIndex = snapIndex;\r\n swiper.emit('snapIndexChange');\r\n }\r\n return;\r\n }\r\n\r\n // Get real index\r\n var realIndex = parseInt(swiper.slides.eq(activeIndex).attr('data-swiper-slide-index') || activeIndex, 10);\r\n\r\n Utils.extend(swiper, {\r\n snapIndex: snapIndex,\r\n realIndex: realIndex,\r\n previousIndex: previousIndex,\r\n activeIndex: activeIndex,\r\n });\r\n swiper.emit('activeIndexChange');\r\n swiper.emit('snapIndexChange');\r\n if (previousRealIndex !== realIndex) {\r\n swiper.emit('realIndexChange');\r\n }\r\n swiper.emit('slideChange');\r\n }\r\n\r\n function updateClickedSlide(e) {\r\n var swiper = this;\r\n var params = swiper.params;\r\n var slide = $(e.target).closest((\".\" + (params.slideClass)))[0];\r\n var slideFound = false;\r\n if (slide) {\r\n for (var i = 0; i < swiper.slides.length; i += 1) {\r\n if (swiper.slides[i] === slide) {\r\n slideFound = true;\r\n }\r\n }\r\n }\r\n\r\n if (slide && slideFound) {\r\n swiper.clickedSlide = slide;\r\n if (swiper.virtual && swiper.params.virtual.enabled) {\r\n swiper.clickedIndex = parseInt($(slide).attr('data-swiper-slide-index'), 10);\r\n } else {\r\n swiper.clickedIndex = $(slide).index();\r\n }\r\n } else {\r\n swiper.clickedSlide = undefined;\r\n swiper.clickedIndex = undefined;\r\n return;\r\n }\r\n if (params.slideToClickedSlide && swiper.clickedIndex !== undefined && swiper.clickedIndex !== swiper.activeIndex) {\r\n swiper.slideToClickedSlide();\r\n }\r\n }\r\n\r\n var update = {\r\n updateSize: updateSize,\r\n updateSlides: updateSlides,\r\n updateAutoHeight: updateAutoHeight,\r\n updateSlidesOffset: updateSlidesOffset,\r\n updateSlidesProgress: updateSlidesProgress,\r\n updateProgress: updateProgress,\r\n updateSlidesClasses: updateSlidesClasses,\r\n updateActiveIndex: updateActiveIndex,\r\n updateClickedSlide: updateClickedSlide,\r\n };\r\n\r\n function getTranslate(axis) {\r\n if (axis === void 0) axis = this.isHorizontal() ? 'x' : 'y';\r\n\r\n var swiper = this;\r\n\r\n var params = swiper.params;\r\n var rtl = swiper.rtlTranslate;\r\n var translate = swiper.translate;\r\n var $wrapperEl = swiper.$wrapperEl;\r\n\r\n if (params.virtualTranslate) {\r\n return rtl ? -translate : translate;\r\n }\r\n\r\n var currentTranslate = Utils.getTranslate($wrapperEl[0], axis);\r\n if (rtl) {\r\n currentTranslate = -currentTranslate;\r\n }\r\n\r\n return currentTranslate || 0;\r\n }\r\n\r\n function setTranslate(translate, byController) {\r\n var swiper = this;\r\n var rtl = swiper.rtlTranslate;\r\n var params = swiper.params;\r\n var $wrapperEl = swiper.$wrapperEl;\r\n var progress = swiper.progress;\r\n var x = 0;\r\n var y = 0;\r\n var z = 0;\r\n\r\n if (swiper.isHorizontal()) {\r\n x = rtl ? -translate : translate;\r\n } else {\r\n y = translate;\r\n }\r\n\r\n if (params.roundLengths) {\r\n x = Math.floor(x);\r\n y = Math.floor(y);\r\n }\r\n\r\n if (!params.virtualTranslate) {\r\n if (Support.transforms3d) {\r\n $wrapperEl.transform((\"translate3d(\" + x + \"px, \" + y + \"px, \" + z + \"px)\"));\r\n }\r\n else {\r\n $wrapperEl.transform((\"translate(\" + x + \"px, \" + y + \"px)\"));\r\n }\r\n }\r\n swiper.previousTranslate = swiper.translate;\r\n swiper.translate = swiper.isHorizontal() ? x : y;\r\n\r\n // Check if we need to update progress\r\n var newProgress;\r\n var translatesDiff = swiper.maxTranslate() - swiper.minTranslate();\r\n if (translatesDiff === 0) {\r\n newProgress = 0;\r\n } else {\r\n newProgress = (translate - swiper.minTranslate()) / (translatesDiff);\r\n }\r\n if (newProgress !== progress) {\r\n swiper.updateProgress(translate);\r\n }\r\n\r\n swiper.emit('setTranslate', swiper.translate, byController);\r\n }\r\n\r\n function minTranslate() {\r\n return (-this.snapGrid[0]);\r\n }\r\n\r\n function maxTranslate() {\r\n return (-this.snapGrid[this.snapGrid.length - 1]);\r\n }\r\n\r\n var translate = {\r\n getTranslate: getTranslate,\r\n setTranslate: setTranslate,\r\n minTranslate: minTranslate,\r\n maxTranslate: maxTranslate,\r\n };\r\n\r\n function setTransition(duration, byController) {\r\n var swiper = this;\r\n\r\n swiper.$wrapperEl.transition(duration);\r\n\r\n swiper.emit('setTransition', duration, byController);\r\n }\r\n\r\n function transitionStart(runCallbacks, direction) {\r\n if (runCallbacks === void 0) runCallbacks = true;\r\n\r\n var swiper = this;\r\n var activeIndex = swiper.activeIndex;\r\n var params = swiper.params;\r\n var previousIndex = swiper.previousIndex;\r\n if (params.autoHeight) {\r\n swiper.updateAutoHeight();\r\n }\r\n\r\n var dir = direction;\r\n if (!dir) {\r\n if (activeIndex > previousIndex) {\r\n dir = 'next';\r\n }\r\n else if (activeIndex < previousIndex) {\r\n dir = 'prev';\r\n }\r\n else {\r\n dir = 'reset';\r\n }\r\n }\r\n\r\n swiper.emit('transitionStart');\r\n\r\n if (runCallbacks && activeIndex !== previousIndex) {\r\n if (dir === 'reset') {\r\n swiper.emit('slideResetTransitionStart');\r\n return;\r\n }\r\n swiper.emit('slideChangeTransitionStart');\r\n if (dir === 'next') {\r\n swiper.emit('slideNextTransitionStart');\r\n } else {\r\n swiper.emit('slidePrevTransitionStart');\r\n }\r\n }\r\n }\r\n\r\n function transitionEnd$1(runCallbacks, direction) {\r\n if (runCallbacks === void 0) runCallbacks = true;\r\n\r\n var swiper = this;\r\n var activeIndex = swiper.activeIndex;\r\n var previousIndex = swiper.previousIndex;\r\n swiper.animating = false;\r\n swiper.setTransition(0);\r\n\r\n var dir = direction;\r\n if (!dir) {\r\n if (activeIndex > previousIndex) {\r\n dir = 'next';\r\n }\r\n else if (activeIndex < previousIndex) {\r\n dir = 'prev';\r\n }\r\n else {\r\n dir = 'reset';\r\n }\r\n }\r\n\r\n swiper.emit('transitionEnd');\r\n\r\n if (runCallbacks && activeIndex !== previousIndex) {\r\n if (dir === 'reset') {\r\n swiper.emit('slideResetTransitionEnd');\r\n return;\r\n }\r\n swiper.emit('slideChangeTransitionEnd');\r\n if (dir === 'next') {\r\n swiper.emit('slideNextTransitionEnd');\r\n } else {\r\n swiper.emit('slidePrevTransitionEnd');\r\n }\r\n }\r\n }\r\n\r\n var transition$1 = {\r\n setTransition: setTransition,\r\n transitionStart: transitionStart,\r\n transitionEnd: transitionEnd$1,\r\n };\r\n\r\n function slideTo(index, speed, runCallbacks, internal) {\r\n if (index === void 0) index = 0;\r\n if (speed === void 0) speed = this.params.speed;\r\n if (runCallbacks === void 0) runCallbacks = true;\r\n\r\n var swiper = this;\r\n var slideIndex = index;\r\n if (slideIndex < 0) {\r\n slideIndex = 0;\r\n }\r\n\r\n var params = swiper.params;\r\n var snapGrid = swiper.snapGrid;\r\n var slidesGrid = swiper.slidesGrid;\r\n var previousIndex = swiper.previousIndex;\r\n var activeIndex = swiper.activeIndex;\r\n var rtl = swiper.rtlTranslate;\r\n if (swiper.animating && params.preventInteractionOnTransition) {\r\n return false;\r\n }\r\n\r\n var snapIndex = Math.floor(slideIndex / params.slidesPerGroup);\r\n if (snapIndex >= snapGrid.length) {\r\n snapIndex = snapGrid.length - 1;\r\n }\r\n\r\n if ((activeIndex || params.initialSlide || 0) === (previousIndex || 0) && runCallbacks) {\r\n swiper.emit('beforeSlideChangeStart');\r\n }\r\n\r\n var translate = -snapGrid[snapIndex];\r\n\r\n // Update progress\r\n swiper.updateProgress(translate);\r\n\r\n // Normalize slideIndex\r\n if (params.normalizeSlideIndex) {\r\n for (var i = 0; i < slidesGrid.length; i += 1) {\r\n if (-Math.floor(translate * 100) >= Math.floor(slidesGrid[i] * 100)) {\r\n slideIndex = i;\r\n }\r\n }\r\n }\r\n // Directions locks\r\n if (swiper.initialized && slideIndex !== activeIndex) {\r\n if (!swiper.allowSlideNext && translate < swiper.translate && translate < swiper.minTranslate()) {\r\n return false;\r\n }\r\n if (!swiper.allowSlidePrev && translate > swiper.translate && translate > swiper.maxTranslate()) {\r\n if ((activeIndex || 0) !== slideIndex) {\r\n return false;\r\n }\r\n }\r\n }\r\n\r\n var direction;\r\n if (slideIndex > activeIndex) {\r\n direction = 'next';\r\n }\r\n else if (slideIndex < activeIndex) {\r\n direction = 'prev';\r\n }\r\n else {\r\n direction = 'reset';\r\n }\r\n\r\n\r\n // Update Index\r\n if ((rtl && -translate === swiper.translate) || (!rtl && translate === swiper.translate)) {\r\n swiper.updateActiveIndex(slideIndex);\r\n // Update Height\r\n if (params.autoHeight) {\r\n swiper.updateAutoHeight();\r\n }\r\n swiper.updateSlidesClasses();\r\n if (params.effect !== 'slide') {\r\n swiper.setTranslate(translate);\r\n }\r\n if (direction !== 'reset') {\r\n swiper.transitionStart(runCallbacks, direction);\r\n swiper.transitionEnd(runCallbacks, direction);\r\n }\r\n return false;\r\n }\r\n\r\n if (speed === 0 || !Support.transition) {\r\n swiper.setTransition(0);\r\n swiper.setTranslate(translate);\r\n swiper.updateActiveIndex(slideIndex);\r\n swiper.updateSlidesClasses();\r\n swiper.emit('beforeTransitionStart', speed, internal);\r\n swiper.transitionStart(runCallbacks, direction);\r\n swiper.transitionEnd(runCallbacks, direction);\r\n } else {\r\n swiper.setTransition(speed);\r\n swiper.setTranslate(translate);\r\n swiper.updateActiveIndex(slideIndex);\r\n swiper.updateSlidesClasses();\r\n swiper.emit('beforeTransitionStart', speed, internal);\r\n swiper.transitionStart(runCallbacks, direction);\r\n if (!swiper.animating) {\r\n swiper.animating = true;\r\n if (!swiper.onSlideToWrapperTransitionEnd) {\r\n swiper.onSlideToWrapperTransitionEnd = function transitionEnd(e) {\r\n if (!swiper || swiper.destroyed) {\r\n return;\r\n }\r\n if (e.target !== this) {\r\n return;\r\n }\r\n swiper.$wrapperEl[0].removeEventListener('transitionend', swiper.onSlideToWrapperTransitionEnd);\r\n swiper.$wrapperEl[0].removeEventListener('webkitTransitionEnd', swiper.onSlideToWrapperTransitionEnd);\r\n swiper.onSlideToWrapperTransitionEnd = null;\r\n delete swiper.onSlideToWrapperTransitionEnd;\r\n swiper.transitionEnd(runCallbacks, direction);\r\n };\r\n }\r\n swiper.$wrapperEl[0].addEventListener('transitionend', swiper.onSlideToWrapperTransitionEnd);\r\n swiper.$wrapperEl[0].addEventListener('webkitTransitionEnd', swiper.onSlideToWrapperTransitionEnd);\r\n }\r\n }\r\n\r\n return true;\r\n }\r\n\r\n function slideToLoop(index, speed, runCallbacks, internal) {\r\n if (index === void 0) index = 0;\r\n if (speed === void 0) speed = this.params.speed;\r\n if (runCallbacks === void 0) runCallbacks = true;\r\n\r\n var swiper = this;\r\n var newIndex = index;\r\n if (swiper.params.loop) {\r\n newIndex += swiper.loopedSlides;\r\n }\r\n\r\n return swiper.slideTo(newIndex, speed, runCallbacks, internal);\r\n }\r\n\r\n /* eslint no-unused-vars: \"off\" */\r\n function slideNext(speed, runCallbacks, internal) {\r\n if (speed === void 0) speed = this.params.speed;\r\n if (runCallbacks === void 0) runCallbacks = true;\r\n\r\n var swiper = this;\r\n var params = swiper.params;\r\n var animating = swiper.animating;\r\n if (params.loop) {\r\n if (animating) {\r\n return false;\r\n }\r\n swiper.loopFix();\r\n // eslint-disable-next-line\r\n swiper._clientLeft = swiper.$wrapperEl[0].clientLeft;\r\n return swiper.slideTo(swiper.activeIndex + params.slidesPerGroup, speed, runCallbacks, internal);\r\n }\r\n return swiper.slideTo(swiper.activeIndex + params.slidesPerGroup, speed, runCallbacks, internal);\r\n }\r\n\r\n /* eslint no-unused-vars: \"off\" */\r\n function slidePrev(speed, runCallbacks, internal) {\r\n if (speed === void 0) speed = this.params.speed;\r\n if (runCallbacks === void 0) runCallbacks = true;\r\n\r\n var swiper = this;\r\n var params = swiper.params;\r\n var animating = swiper.animating;\r\n var snapGrid = swiper.snapGrid;\r\n var slidesGrid = swiper.slidesGrid;\r\n var rtlTranslate = swiper.rtlTranslate;\r\n\r\n if (params.loop) {\r\n if (animating) {\r\n return false;\r\n }\r\n swiper.loopFix();\r\n // eslint-disable-next-line\r\n swiper._clientLeft = swiper.$wrapperEl[0].clientLeft;\r\n }\r\n var translate = rtlTranslate ? swiper.translate : -swiper.translate;\r\n\r\n function normalize(val) {\r\n if (val < 0) {\r\n return -Math.floor(Math.abs(val));\r\n }\r\n return Math.floor(val);\r\n }\r\n\r\n var normalizedTranslate = normalize(translate);\r\n var normalizedSnapGrid = snapGrid.map(function (val) {\r\n return normalize(val);\r\n });\r\n var normalizedSlidesGrid = slidesGrid.map(function (val) {\r\n return normalize(val);\r\n });\r\n\r\n var currentSnap = snapGrid[normalizedSnapGrid.indexOf(normalizedTranslate)];\r\n var prevSnap = snapGrid[normalizedSnapGrid.indexOf(normalizedTranslate) - 1];\r\n var prevIndex;\r\n if (typeof prevSnap !== 'undefined') {\r\n prevIndex = slidesGrid.indexOf(prevSnap);\r\n if (prevIndex < 0) {\r\n prevIndex = swiper.activeIndex - 1;\r\n }\r\n }\r\n return swiper.slideTo(prevIndex, speed, runCallbacks, internal);\r\n }\r\n\r\n /* eslint no-unused-vars: \"off\" */\r\n function slideReset(speed, runCallbacks, internal) {\r\n if (speed === void 0) speed = this.params.speed;\r\n if (runCallbacks === void 0) runCallbacks = true;\r\n\r\n var swiper = this;\r\n return swiper.slideTo(swiper.activeIndex, speed, runCallbacks, internal);\r\n }\r\n\r\n /* eslint no-unused-vars: \"off\" */\r\n function slideToClosest(speed, runCallbacks, internal) {\r\n if (speed === void 0) speed = this.params.speed;\r\n if (runCallbacks === void 0) runCallbacks = true;\r\n\r\n var swiper = this;\r\n var index = swiper.activeIndex;\r\n var snapIndex = Math.floor(index / swiper.params.slidesPerGroup);\r\n\r\n if (snapIndex < swiper.snapGrid.length - 1) {\r\n var translate = swiper.rtlTranslate ? swiper.translate : -swiper.translate;\r\n\r\n var currentSnap = swiper.snapGrid[snapIndex];\r\n var nextSnap = swiper.snapGrid[snapIndex + 1];\r\n\r\n if ((translate - currentSnap) > (nextSnap - currentSnap) / 2) {\r\n index = swiper.params.slidesPerGroup;\r\n }\r\n }\r\n\r\n return swiper.slideTo(index, speed, runCallbacks, internal);\r\n }\r\n\r\n function slideToClickedSlide() {\r\n var swiper = this;\r\n var params = swiper.params;\r\n var $wrapperEl = swiper.$wrapperEl;\r\n\r\n var slidesPerView = params.slidesPerView === 'auto' ? swiper.slidesPerViewDynamic() : params.slidesPerView;\r\n var slideToIndex = swiper.clickedIndex;\r\n var realIndex;\r\n if (params.loop) {\r\n if (swiper.animating) {\r\n return;\r\n }\r\n realIndex = parseInt($(swiper.clickedSlide).attr('data-swiper-slide-index'), 10);\r\n if (params.centeredSlides) {\r\n if (\r\n (slideToIndex < swiper.loopedSlides - (slidesPerView / 2))\r\n || (slideToIndex > (swiper.slides.length - swiper.loopedSlides) + (slidesPerView / 2))\r\n ) {\r\n swiper.loopFix();\r\n slideToIndex = $wrapperEl\r\n .children((\".\" + (params.slideClass) + \"[data-swiper-slide-index=\\\"\" + realIndex + \"\\\"]:not(.\" + (params.slideDuplicateClass) + \")\"))\r\n .eq(0)\r\n .index();\r\n\r\n Utils.nextTick(function () {\r\n swiper.slideTo(slideToIndex);\r\n });\r\n } else {\r\n swiper.slideTo(slideToIndex);\r\n }\r\n } else if (slideToIndex > swiper.slides.length - slidesPerView) {\r\n swiper.loopFix();\r\n slideToIndex = $wrapperEl\r\n .children((\".\" + (params.slideClass) + \"[data-swiper-slide-index=\\\"\" + realIndex + \"\\\"]:not(.\" + (params.slideDuplicateClass) + \")\"))\r\n .eq(0)\r\n .index();\r\n\r\n Utils.nextTick(function () {\r\n swiper.slideTo(slideToIndex);\r\n });\r\n } else {\r\n swiper.slideTo(slideToIndex);\r\n }\r\n } else {\r\n swiper.slideTo(slideToIndex);\r\n }\r\n }\r\n\r\n var slide = {\r\n slideTo: slideTo,\r\n slideToLoop: slideToLoop,\r\n slideNext: slideNext,\r\n slidePrev: slidePrev,\r\n slideReset: slideReset,\r\n slideToClosest: slideToClosest,\r\n slideToClickedSlide: slideToClickedSlide,\r\n };\r\n\r\n function loopCreate() {\r\n var swiper = this;\r\n var params = swiper.params;\r\n var $wrapperEl = swiper.$wrapperEl;\r\n // Remove duplicated slides\r\n $wrapperEl.children((\".\" + (params.slideClass) + \".\" + (params.slideDuplicateClass))).remove();\r\n\r\n var slides = $wrapperEl.children((\".\" + (params.slideClass)));\r\n\r\n if (params.loopFillGroupWithBlank) {\r\n var blankSlidesNum = params.slidesPerGroup - (slides.length % params.slidesPerGroup);\r\n if (blankSlidesNum !== params.slidesPerGroup) {\r\n for (var i = 0; i < blankSlidesNum; i += 1) {\r\n var blankNode = $(doc.createElement('div')).addClass(((params.slideClass) + \" \" + (params.slideBlankClass)));\r\n $wrapperEl.append(blankNode);\r\n }\r\n slides = $wrapperEl.children((\".\" + (params.slideClass)));\r\n }\r\n }\r\n\r\n if (params.slidesPerView === 'auto' && !params.loopedSlides) {\r\n params.loopedSlides = slides.length;\r\n }\r\n\r\n swiper.loopedSlides = parseInt(params.loopedSlides || params.slidesPerView, 10);\r\n swiper.loopedSlides += params.loopAdditionalSlides;\r\n if (swiper.loopedSlides > slides.length) {\r\n swiper.loopedSlides = slides.length;\r\n }\r\n\r\n var prependSlides = [];\r\n var appendSlides = [];\r\n slides.each(function (index, el) {\r\n var slide = $(el);\r\n if (index < swiper.loopedSlides) {\r\n appendSlides.push(el);\r\n }\r\n if (index < slides.length && index >= slides.length - swiper.loopedSlides) {\r\n prependSlides.push(el);\r\n }\r\n slide.attr('data-swiper-slide-index', index);\r\n });\r\n for (var i$1 = 0; i$1 < appendSlides.length; i$1 += 1) {\r\n $wrapperEl.append($(appendSlides[i$1].cloneNode(true)).addClass(params.slideDuplicateClass));\r\n }\r\n for (var i$2 = prependSlides.length - 1; i$2 >= 0; i$2 -= 1) {\r\n $wrapperEl.prepend($(prependSlides[i$2].cloneNode(true)).addClass(params.slideDuplicateClass));\r\n }\r\n }\r\n\r\n function loopFix() {\r\n var swiper = this;\r\n var params = swiper.params;\r\n var activeIndex = swiper.activeIndex;\r\n var slides = swiper.slides;\r\n var loopedSlides = swiper.loopedSlides;\r\n var allowSlidePrev = swiper.allowSlidePrev;\r\n var allowSlideNext = swiper.allowSlideNext;\r\n var snapGrid = swiper.snapGrid;\r\n var rtl = swiper.rtlTranslate;\r\n var newIndex;\r\n swiper.allowSlidePrev = true;\r\n swiper.allowSlideNext = true;\r\n\r\n var snapTranslate = -snapGrid[activeIndex];\r\n var diff = snapTranslate - swiper.getTranslate();\r\n\r\n\r\n // Fix For Negative Oversliding\r\n if (activeIndex < loopedSlides) {\r\n newIndex = (slides.length - (loopedSlides * 3)) + activeIndex;\r\n newIndex += loopedSlides;\r\n var slideChanged = swiper.slideTo(newIndex, 0, false, true);\r\n if (slideChanged && diff !== 0) {\r\n swiper.setTranslate((rtl ? -swiper.translate : swiper.translate) - diff);\r\n }\r\n } else if ((params.slidesPerView === 'auto' && activeIndex >= loopedSlides * 2) || (activeIndex >= slides.length - loopedSlides)) {\r\n // Fix For Positive Oversliding\r\n newIndex = -slides.length + activeIndex + loopedSlides;\r\n newIndex += loopedSlides;\r\n var slideChanged$1 = swiper.slideTo(newIndex, 0, false, true);\r\n if (slideChanged$1 && diff !== 0) {\r\n swiper.setTranslate((rtl ? -swiper.translate : swiper.translate) - diff);\r\n }\r\n }\r\n swiper.allowSlidePrev = allowSlidePrev;\r\n swiper.allowSlideNext = allowSlideNext;\r\n }\r\n\r\n function loopDestroy() {\r\n var swiper = this;\r\n var $wrapperEl = swiper.$wrapperEl;\r\n var params = swiper.params;\r\n var slides = swiper.slides;\r\n $wrapperEl.children((\".\" + (params.slideClass) + \".\" + (params.slideDuplicateClass))).remove();\r\n slides.removeAttr('data-swiper-slide-index');\r\n }\r\n\r\n var loop = {\r\n loopCreate: loopCreate,\r\n loopFix: loopFix,\r\n loopDestroy: loopDestroy,\r\n };\r\n\r\n function setGrabCursor(moving) {\r\n var swiper = this;\r\n if (Support.touch || !swiper.params.simulateTouch || (swiper.params.watchOverflow && swiper.isLocked)) {\r\n return;\r\n }\r\n var el = swiper.el;\r\n el.style.cursor = 'move';\r\n el.style.cursor = moving ? '-webkit-grabbing' : '-webkit-grab';\r\n el.style.cursor = moving ? '-moz-grabbin' : '-moz-grab';\r\n el.style.cursor = moving ? 'grabbing' : 'grab';\r\n }\r\n\r\n function unsetGrabCursor() {\r\n var swiper = this;\r\n if (Support.touch || (swiper.params.watchOverflow && swiper.isLocked)) {\r\n return;\r\n }\r\n swiper.el.style.cursor = '';\r\n }\r\n\r\n var grabCursor = {\r\n setGrabCursor: setGrabCursor,\r\n unsetGrabCursor: unsetGrabCursor,\r\n };\r\n\r\n function appendSlide(slides) {\r\n var swiper = this;\r\n var $wrapperEl = swiper.$wrapperEl;\r\n var params = swiper.params;\r\n if (params.loop) {\r\n swiper.loopDestroy();\r\n }\r\n if (typeof slides === 'object' && 'length' in slides) {\r\n for (var i = 0; i < slides.length; i += 1) {\r\n if (slides[i]) {\r\n $wrapperEl.append(slides[i]);\r\n }\r\n }\r\n } else {\r\n $wrapperEl.append(slides);\r\n }\r\n if (params.loop) {\r\n swiper.loopCreate();\r\n }\r\n if (!(params.observer && Support.observer)) {\r\n swiper.update();\r\n }\r\n }\r\n\r\n function prependSlide(slides) {\r\n var swiper = this;\r\n var params = swiper.params;\r\n var $wrapperEl = swiper.$wrapperEl;\r\n var activeIndex = swiper.activeIndex;\r\n\r\n if (params.loop) {\r\n swiper.loopDestroy();\r\n }\r\n var newActiveIndex = activeIndex + 1;\r\n if (typeof slides === 'object' && 'length' in slides) {\r\n for (var i = 0; i < slides.length; i += 1) {\r\n if (slides[i]) {\r\n $wrapperEl.prepend(slides[i]);\r\n }\r\n }\r\n newActiveIndex = activeIndex + slides.length;\r\n } else {\r\n $wrapperEl.prepend(slides);\r\n }\r\n if (params.loop) {\r\n swiper.loopCreate();\r\n }\r\n if (!(params.observer && Support.observer)) {\r\n swiper.update();\r\n }\r\n swiper.slideTo(newActiveIndex, 0, false);\r\n }\r\n\r\n function addSlide(index, slides) {\r\n var swiper = this;\r\n var $wrapperEl = swiper.$wrapperEl;\r\n var params = swiper.params;\r\n var activeIndex = swiper.activeIndex;\r\n var activeIndexBuffer = activeIndex;\r\n if (params.loop) {\r\n activeIndexBuffer -= swiper.loopedSlides;\r\n swiper.loopDestroy();\r\n swiper.slides = $wrapperEl.children((\".\" + (params.slideClass)));\r\n }\r\n var baseLength = swiper.slides.length;\r\n if (index <= 0) {\r\n swiper.prependSlide(slides);\r\n return;\r\n }\r\n if (index >= baseLength) {\r\n swiper.appendSlide(slides);\r\n return;\r\n }\r\n var newActiveIndex = activeIndexBuffer > index ? activeIndexBuffer + 1 : activeIndexBuffer;\r\n\r\n var slidesBuffer = [];\r\n for (var i = baseLength - 1; i >= index; i -= 1) {\r\n var currentSlide = swiper.slides.eq(i);\r\n currentSlide.remove();\r\n slidesBuffer.unshift(currentSlide);\r\n }\r\n\r\n if (typeof slides === 'object' && 'length' in slides) {\r\n for (var i$1 = 0; i$1 < slides.length; i$1 += 1) {\r\n if (slides[i$1]) {\r\n $wrapperEl.append(slides[i$1]);\r\n }\r\n }\r\n newActiveIndex = activeIndexBuffer > index ? activeIndexBuffer + slides.length : activeIndexBuffer;\r\n } else {\r\n $wrapperEl.append(slides);\r\n }\r\n\r\n for (var i$2 = 0; i$2 < slidesBuffer.length; i$2 += 1) {\r\n $wrapperEl.append(slidesBuffer[i$2]);\r\n }\r\n\r\n if (params.loop) {\r\n swiper.loopCreate();\r\n }\r\n if (!(params.observer && Support.observer)) {\r\n swiper.update();\r\n }\r\n if (params.loop) {\r\n swiper.slideTo(newActiveIndex + swiper.loopedSlides, 0, false);\r\n } else {\r\n swiper.slideTo(newActiveIndex, 0, false);\r\n }\r\n }\r\n\r\n function removeSlide(slidesIndexes) {\r\n var swiper = this;\r\n var params = swiper.params;\r\n var $wrapperEl = swiper.$wrapperEl;\r\n var activeIndex = swiper.activeIndex;\r\n\r\n var activeIndexBuffer = activeIndex;\r\n if (params.loop) {\r\n activeIndexBuffer -= swiper.loopedSlides;\r\n swiper.loopDestroy();\r\n swiper.slides = $wrapperEl.children((\".\" + (params.slideClass)));\r\n }\r\n var newActiveIndex = activeIndexBuffer;\r\n var indexToRemove;\r\n\r\n if (typeof slidesIndexes === 'object' && 'length' in slidesIndexes) {\r\n for (var i = 0; i < slidesIndexes.length; i += 1) {\r\n indexToRemove = slidesIndexes[i];\r\n if (swiper.slides[indexToRemove]) {\r\n swiper.slides.eq(indexToRemove).remove();\r\n }\r\n if (indexToRemove < newActiveIndex) {\r\n newActiveIndex -= 1;\r\n }\r\n }\r\n newActiveIndex = Math.max(newActiveIndex, 0);\r\n } else {\r\n indexToRemove = slidesIndexes;\r\n if (swiper.slides[indexToRemove]) {\r\n swiper.slides.eq(indexToRemove).remove();\r\n }\r\n if (indexToRemove < newActiveIndex) {\r\n newActiveIndex -= 1;\r\n }\r\n newActiveIndex = Math.max(newActiveIndex, 0);\r\n }\r\n\r\n if (params.loop) {\r\n swiper.loopCreate();\r\n }\r\n\r\n if (!(params.observer && Support.observer)) {\r\n swiper.update();\r\n }\r\n if (params.loop) {\r\n swiper.slideTo(newActiveIndex + swiper.loopedSlides, 0, false);\r\n } else {\r\n swiper.slideTo(newActiveIndex, 0, false);\r\n }\r\n }\r\n\r\n function removeAllSlides() {\r\n var swiper = this;\r\n\r\n var slidesIndexes = [];\r\n for (var i = 0; i < swiper.slides.length; i += 1) {\r\n slidesIndexes.push(i);\r\n }\r\n swiper.removeSlide(slidesIndexes);\r\n }\r\n\r\n var manipulation = {\r\n appendSlide: appendSlide,\r\n prependSlide: prependSlide,\r\n addSlide: addSlide,\r\n removeSlide: removeSlide,\r\n removeAllSlides: removeAllSlides,\r\n };\r\n\r\n var Device = (function Device() {\r\n var ua = win.navigator.userAgent;\r\n\r\n var device = {\r\n ios: false,\r\n android: false,\r\n androidChrome: false,\r\n desktop: false,\r\n windows: false,\r\n iphone: false,\r\n ipod: false,\r\n ipad: false,\r\n cordova: win.cordova || win.phonegap,\r\n phonegap: win.cordova || win.phonegap,\r\n };\r\n\r\n var windows = ua.match(/(Windows Phone);?[\\s\\/]+([\\d.]+)?/); // eslint-disable-line\r\n var android = ua.match(/(Android);?[\\s\\/]+([\\d.]+)?/); // eslint-disable-line\r\n var ipad = ua.match(/(iPad).*OS\\s([\\d_]+)/);\r\n var ipod = ua.match(/(iPod)(.*OS\\s([\\d_]+))?/);\r\n var iphone = !ipad && ua.match(/(iPhone\\sOS|iOS)\\s([\\d_]+)/);\r\n\r\n\r\n // Windows\r\n if (windows) {\r\n device.os = 'windows';\r\n device.osVersion = windows[2];\r\n device.windows = true;\r\n }\r\n // Android\r\n if (android && !windows) {\r\n device.os = 'android';\r\n device.osVersion = android[2];\r\n device.android = true;\r\n device.androidChrome = ua.toLowerCase().indexOf('chrome') >= 0;\r\n }\r\n if (ipad || iphone || ipod) {\r\n device.os = 'ios';\r\n device.ios = true;\r\n }\r\n // iOS\r\n if (iphone && !ipod) {\r\n device.osVersion = iphone[2].replace(/_/g, '.');\r\n device.iphone = true;\r\n }\r\n if (ipad) {\r\n device.osVersion = ipad[2].replace(/_/g, '.');\r\n device.ipad = true;\r\n }\r\n if (ipod) {\r\n device.osVersion = ipod[3] ? ipod[3].replace(/_/g, '.') : null;\r\n device.iphone = true;\r\n }\r\n // iOS 8+ changed UA\r\n if (device.ios && device.osVersion && ua.indexOf('Version/') >= 0) {\r\n if (device.osVersion.split('.')[0] === '10') {\r\n device.osVersion = ua.toLowerCase().split('version/')[1].split(' ')[0];\r\n }\r\n }\r\n\r\n // Desktop\r\n device.desktop = !(device.os || device.android || device.webView);\r\n\r\n // Webview\r\n device.webView = (iphone || ipad || ipod) && ua.match(/.*AppleWebKit(?!.*Safari)/i);\r\n\r\n // Minimal UI\r\n if (device.os && device.os === 'ios') {\r\n var osVersionArr = device.osVersion.split('.');\r\n var metaViewport = doc.querySelector('meta[name=\"viewport\"]');\r\n device.minimalUi = !device.webView\r\n && (ipod || iphone)\r\n && (osVersionArr[0] * 1 === 7 ? osVersionArr[1] * 1 >= 1 : osVersionArr[0] * 1 > 7)\r\n && metaViewport && metaViewport.getAttribute('content').indexOf('minimal-ui') >= 0;\r\n }\r\n\r\n // Pixel Ratio\r\n device.pixelRatio = win.devicePixelRatio || 1;\r\n\r\n // Export object\r\n return device;\r\n }());\r\n\r\n function onTouchStart(event) {\r\n var swiper = this;\r\n var data = swiper.touchEventsData;\r\n var params = swiper.params;\r\n var touches = swiper.touches;\r\n if (swiper.animating && params.preventInteractionOnTransition) {\r\n return;\r\n }\r\n var e = event;\r\n if (e.originalEvent) {\r\n e = e.originalEvent;\r\n }\r\n data.isTouchEvent = e.type === 'touchstart';\r\n if (!data.isTouchEvent && 'which' in e && e.which === 3) {\r\n return;\r\n }\r\n if (!data.isTouchEvent && 'button' in e && e.button > 0) {\r\n return;\r\n }\r\n if (data.isTouched && data.isMoved) {\r\n return;\r\n }\r\n if (params.noSwiping && $(e.target).closest(params.noSwipingSelector ? params.noSwipingSelector : (\".\" + (params.noSwipingClass)))[0]) {\r\n swiper.allowClick = true;\r\n return;\r\n }\r\n if (params.swipeHandler) {\r\n if (!$(e).closest(params.swipeHandler)[0]) {\r\n return;\r\n }\r\n }\r\n\r\n touches.currentX = e.type === 'touchstart' ? e.targetTouches[0].pageX : e.pageX;\r\n touches.currentY = e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY;\r\n var startX = touches.currentX;\r\n var startY = touches.currentY;\r\n\r\n // Do NOT start if iOS edge swipe is detected. Otherwise iOS app (UIWebView) cannot swipe-to-go-back anymore\r\n\r\n var edgeSwipeDetection = params.edgeSwipeDetection || params.iOSEdgeSwipeDetection;\r\n var edgeSwipeThreshold = params.edgeSwipeThreshold || params.iOSEdgeSwipeThreshold;\r\n if (\r\n edgeSwipeDetection\r\n && ((startX <= edgeSwipeThreshold)\r\n || (startX >= win.screen.width - edgeSwipeThreshold))\r\n ) {\r\n return;\r\n }\r\n\r\n Utils.extend(data, {\r\n isTouched: true,\r\n isMoved: false,\r\n allowTouchCallbacks: true,\r\n isScrolling: undefined,\r\n startMoving: undefined,\r\n });\r\n\r\n touches.startX = startX;\r\n touches.startY = startY;\r\n data.touchStartTime = Utils.now();\r\n swiper.allowClick = true;\r\n swiper.updateSize();\r\n swiper.swipeDirection = undefined;\r\n if (params.threshold > 0) {\r\n data.allowThresholdMove = false;\r\n }\r\n if (e.type !== 'touchstart') {\r\n var preventDefault = true;\r\n if ($(e.target).is(data.formElements)) {\r\n preventDefault = false;\r\n }\r\n if (\r\n doc.activeElement\r\n && $(doc.activeElement).is(data.formElements)\r\n && doc.activeElement !== e.target\r\n ) {\r\n doc.activeElement.blur();\r\n }\r\n if (preventDefault && swiper.allowTouchMove && params.touchStartPreventDefault) {\r\n e.preventDefault();\r\n }\r\n }\r\n swiper.emit('touchStart', e);\r\n }\r\n\r\n function onTouchMove(event) {\r\n var swiper = this;\r\n var data = swiper.touchEventsData;\r\n var params = swiper.params;\r\n var touches = swiper.touches;\r\n var rtl = swiper.rtlTranslate;\r\n var e = event;\r\n if (e.originalEvent) {\r\n e = e.originalEvent;\r\n }\r\n if (!data.isTouched) {\r\n if (data.startMoving && data.isScrolling) {\r\n swiper.emit('touchMoveOpposite', e);\r\n }\r\n return;\r\n }\r\n if (data.isTouchEvent && e.type === 'mousemove') {\r\n return;\r\n }\r\n var pageX = e.type === 'touchmove' ? e.targetTouches[0].pageX : e.pageX;\r\n var pageY = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY;\r\n if (e.preventedByNestedSwiper) {\r\n touches.startX = pageX;\r\n touches.startY = pageY;\r\n return;\r\n }\r\n if (!swiper.allowTouchMove) {\r\n // isMoved = true;\r\n swiper.allowClick = false;\r\n if (data.isTouched) {\r\n Utils.extend(touches, {\r\n startX: pageX,\r\n startY: pageY,\r\n currentX: pageX,\r\n currentY: pageY,\r\n });\r\n data.touchStartTime = Utils.now();\r\n }\r\n return;\r\n }\r\n if (data.isTouchEvent && params.touchReleaseOnEdges && !params.loop) {\r\n if (swiper.isVertical()) {\r\n // Vertical\r\n if (\r\n (pageY < touches.startY && swiper.translate <= swiper.maxTranslate())\r\n || (pageY > touches.startY && swiper.translate >= swiper.minTranslate())\r\n ) {\r\n data.isTouched = false;\r\n data.isMoved = false;\r\n return;\r\n }\r\n } else if (\r\n (pageX < touches.startX && swiper.translate <= swiper.maxTranslate())\r\n || (pageX > touches.startX && swiper.translate >= swiper.minTranslate())\r\n ) {\r\n return;\r\n }\r\n }\r\n if (data.isTouchEvent && doc.activeElement) {\r\n if (e.target === doc.activeElement && $(e.target).is(data.formElements)) {\r\n data.isMoved = true;\r\n swiper.allowClick = false;\r\n return;\r\n }\r\n }\r\n if (data.allowTouchCallbacks) {\r\n swiper.emit('touchMove', e);\r\n }\r\n if (e.targetTouches && e.targetTouches.length > 1) {\r\n return;\r\n }\r\n\r\n touches.currentX = pageX;\r\n touches.currentY = pageY;\r\n\r\n var diffX = touches.currentX - touches.startX;\r\n var diffY = touches.currentY - touches.startY;\r\n if (swiper.params.threshold && Math.sqrt((Math.pow(diffX, 2)) + (Math.pow(diffY, 2))) < swiper.params.threshold) {\r\n return;\r\n }\r\n\r\n if (typeof data.isScrolling === 'undefined') {\r\n var touchAngle;\r\n if ((swiper.isHorizontal() && touches.currentY === touches.startY) || (swiper.isVertical() && touches.currentX === touches.startX)) {\r\n data.isScrolling = false;\r\n } else {\r\n // eslint-disable-next-line\r\n if ((diffX * diffX) + (diffY * diffY) >= 25) {\r\n touchAngle = (Math.atan2(Math.abs(diffY), Math.abs(diffX)) * 180) / Math.PI;\r\n data.isScrolling = swiper.isHorizontal() ? touchAngle > params.touchAngle : (90 - touchAngle > params.touchAngle);\r\n }\r\n }\r\n }\r\n if (data.isScrolling) {\r\n swiper.emit('touchMoveOpposite', e);\r\n }\r\n if (typeof data.startMoving === 'undefined') {\r\n if (touches.currentX !== touches.startX || touches.currentY !== touches.startY) {\r\n data.startMoving = true;\r\n }\r\n }\r\n if (data.isScrolling) {\r\n data.isTouched = false;\r\n return;\r\n }\r\n if (!data.startMoving) {\r\n return;\r\n }\r\n swiper.allowClick = false;\r\n e.preventDefault();\r\n if (params.touchMoveStopPropagation && !params.nested) {\r\n e.stopPropagation();\r\n }\r\n\r\n if (!data.isMoved) {\r\n if (params.loop) {\r\n swiper.loopFix();\r\n }\r\n data.startTranslate = swiper.getTranslate();\r\n swiper.setTransition(0);\r\n if (swiper.animating) {\r\n swiper.$wrapperEl.trigger('webkitTransitionEnd transitionend');\r\n }\r\n data.allowMomentumBounce = false;\r\n // Grab Cursor\r\n if (params.grabCursor && (swiper.allowSlideNext === true || swiper.allowSlidePrev === true)) {\r\n swiper.setGrabCursor(true);\r\n }\r\n swiper.emit('sliderFirstMove', e);\r\n }\r\n swiper.emit('sliderMove', e);\r\n data.isMoved = true;\r\n\r\n var diff = swiper.isHorizontal() ? diffX : diffY;\r\n touches.diff = diff;\r\n\r\n diff *= params.touchRatio;\r\n if (rtl) {\r\n diff = -diff;\r\n }\r\n\r\n swiper.swipeDirection = diff > 0 ? 'prev' : 'next';\r\n data.currentTranslate = diff + data.startTranslate;\r\n\r\n var disableParentSwiper = true;\r\n var resistanceRatio = params.resistanceRatio;\r\n if (params.touchReleaseOnEdges) {\r\n resistanceRatio = 0;\r\n }\r\n if ((diff > 0 && data.currentTranslate > swiper.minTranslate())) {\r\n disableParentSwiper = false;\r\n if (params.resistance) {\r\n data.currentTranslate = (swiper.minTranslate() - 1) + (Math.pow((-swiper.minTranslate() + data.startTranslate + diff), resistanceRatio));\r\n }\r\n } else if (diff < 0 && data.currentTranslate < swiper.maxTranslate()) {\r\n disableParentSwiper = false;\r\n if (params.resistance) {\r\n data.currentTranslate = (swiper.maxTranslate() + 1) - (Math.pow((swiper.maxTranslate() - data.startTranslate - diff), resistanceRatio));\r\n }\r\n }\r\n\r\n if (disableParentSwiper) {\r\n e.preventedByNestedSwiper = true;\r\n }\r\n\r\n // Directions locks\r\n if (!swiper.allowSlideNext && swiper.swipeDirection === 'next' && data.currentTranslate < data.startTranslate) {\r\n data.currentTranslate = data.startTranslate;\r\n }\r\n if (!swiper.allowSlidePrev && swiper.swipeDirection === 'prev' && data.currentTranslate > data.startTranslate) {\r\n data.currentTranslate = data.startTranslate;\r\n }\r\n\r\n\r\n // Threshold\r\n if (params.threshold > 0) {\r\n if (Math.abs(diff) > params.threshold || data.allowThresholdMove) {\r\n if (!data.allowThresholdMove) {\r\n data.allowThresholdMove = true;\r\n touches.startX = touches.currentX;\r\n touches.startY = touches.currentY;\r\n data.currentTranslate = data.startTranslate;\r\n touches.diff = swiper.isHorizontal() ? touches.currentX - touches.startX : touches.currentY - touches.startY;\r\n return;\r\n }\r\n } else {\r\n data.currentTranslate = data.startTranslate;\r\n return;\r\n }\r\n }\r\n\r\n if (!params.followFinger) {\r\n return;\r\n }\r\n\r\n // Update active index in free mode\r\n if (params.freeMode || params.watchSlidesProgress || params.watchSlidesVisibility) {\r\n swiper.updateActiveIndex();\r\n swiper.updateSlidesClasses();\r\n }\r\n if (params.freeMode) {\r\n // Velocity\r\n if (data.velocities.length === 0) {\r\n data.velocities.push({\r\n position: touches[swiper.isHorizontal() ? 'startX' : 'startY'],\r\n time: data.touchStartTime,\r\n });\r\n }\r\n data.velocities.push({\r\n position: touches[swiper.isHorizontal() ? 'currentX' : 'currentY'],\r\n time: Utils.now(),\r\n });\r\n }\r\n // Update progress\r\n swiper.updateProgress(data.currentTranslate);\r\n // Update translate\r\n swiper.setTranslate(data.currentTranslate);\r\n }\r\n\r\n function onTouchEnd(event) {\r\n var swiper = this;\r\n var data = swiper.touchEventsData;\r\n\r\n var params = swiper.params;\r\n var touches = swiper.touches;\r\n var rtl = swiper.rtlTranslate;\r\n var $wrapperEl = swiper.$wrapperEl;\r\n var slidesGrid = swiper.slidesGrid;\r\n var snapGrid = swiper.snapGrid;\r\n var e = event;\r\n if (e.originalEvent) {\r\n e = e.originalEvent;\r\n }\r\n if (data.allowTouchCallbacks) {\r\n swiper.emit('touchEnd', e);\r\n }\r\n data.allowTouchCallbacks = false;\r\n if (!data.isTouched) {\r\n if (data.isMoved && params.grabCursor) {\r\n swiper.setGrabCursor(false);\r\n }\r\n data.isMoved = false;\r\n data.startMoving = false;\r\n return;\r\n }\r\n // Return Grab Cursor\r\n if (params.grabCursor && data.isMoved && data.isTouched && (swiper.allowSlideNext === true || swiper.allowSlidePrev === true)) {\r\n swiper.setGrabCursor(false);\r\n }\r\n\r\n // Time diff\r\n var touchEndTime = Utils.now();\r\n var timeDiff = touchEndTime - data.touchStartTime;\r\n\r\n // Tap, doubleTap, Click\r\n if (swiper.allowClick) {\r\n swiper.updateClickedSlide(e);\r\n swiper.emit('tap', e);\r\n if (timeDiff < 300 && (touchEndTime - data.lastClickTime) > 300) {\r\n if (data.clickTimeout) {\r\n clearTimeout(data.clickTimeout);\r\n }\r\n data.clickTimeout = Utils.nextTick(function () {\r\n if (!swiper || swiper.destroyed) {\r\n return;\r\n }\r\n swiper.emit('click', e);\r\n }, 300);\r\n }\r\n if (timeDiff < 300 && (touchEndTime - data.lastClickTime) < 300) {\r\n if (data.clickTimeout) {\r\n clearTimeout(data.clickTimeout);\r\n }\r\n swiper.emit('doubleTap', e);\r\n }\r\n }\r\n\r\n data.lastClickTime = Utils.now();\r\n Utils.nextTick(function () {\r\n if (!swiper.destroyed) {\r\n swiper.allowClick = true;\r\n }\r\n });\r\n\r\n if (!data.isTouched || !data.isMoved || !swiper.swipeDirection || touches.diff === 0 || data.currentTranslate === data.startTranslate) {\r\n data.isTouched = false;\r\n data.isMoved = false;\r\n data.startMoving = false;\r\n return;\r\n }\r\n data.isTouched = false;\r\n data.isMoved = false;\r\n data.startMoving = false;\r\n\r\n var currentPos;\r\n if (params.followFinger) {\r\n currentPos = rtl ? swiper.translate : -swiper.translate;\r\n } else {\r\n currentPos = -data.currentTranslate;\r\n }\r\n\r\n if (params.freeMode) {\r\n if (currentPos < -swiper.minTranslate()) {\r\n swiper.slideTo(swiper.activeIndex);\r\n return;\r\n }\r\n if (currentPos > -swiper.maxTranslate()) {\r\n if (swiper.slides.length < snapGrid.length) {\r\n swiper.slideTo(snapGrid.length - 1);\r\n } else {\r\n swiper.slideTo(swiper.slides.length - 1);\r\n }\r\n return;\r\n }\r\n\r\n if (params.freeModeMomentum) {\r\n if (data.velocities.length > 1) {\r\n var lastMoveEvent = data.velocities.pop();\r\n var velocityEvent = data.velocities.pop();\r\n\r\n var distance = lastMoveEvent.position - velocityEvent.position;\r\n var time = lastMoveEvent.time - velocityEvent.time;\r\n swiper.velocity = distance / time;\r\n swiper.velocity /= 2;\r\n if (Math.abs(swiper.velocity) < params.freeModeMinimumVelocity) {\r\n swiper.velocity = 0;\r\n }\r\n // this implies that the user stopped moving a finger then released.\r\n // There would be no events with distance zero, so the last event is stale.\r\n if (time > 150 || (Utils.now() - lastMoveEvent.time) > 300) {\r\n swiper.velocity = 0;\r\n }\r\n } else {\r\n swiper.velocity = 0;\r\n }\r\n swiper.velocity *= params.freeModeMomentumVelocityRatio;\r\n\r\n data.velocities.length = 0;\r\n var momentumDuration = 1000 * params.freeModeMomentumRatio;\r\n var momentumDistance = swiper.velocity * momentumDuration;\r\n\r\n var newPosition = swiper.translate + momentumDistance;\r\n if (rtl) {\r\n newPosition = -newPosition;\r\n }\r\n\r\n var doBounce = false;\r\n var afterBouncePosition;\r\n var bounceAmount = Math.abs(swiper.velocity) * 20 * params.freeModeMomentumBounceRatio;\r\n var needsLoopFix;\r\n if (newPosition < swiper.maxTranslate()) {\r\n if (params.freeModeMomentumBounce) {\r\n if (newPosition + swiper.maxTranslate() < -bounceAmount) {\r\n newPosition = swiper.maxTranslate() - bounceAmount;\r\n }\r\n afterBouncePosition = swiper.maxTranslate();\r\n doBounce = true;\r\n data.allowMomentumBounce = true;\r\n } else {\r\n newPosition = swiper.maxTranslate();\r\n }\r\n if (params.loop && params.centeredSlides) {\r\n needsLoopFix = true;\r\n }\r\n } else if (newPosition > swiper.minTranslate()) {\r\n if (params.freeModeMomentumBounce) {\r\n if (newPosition - swiper.minTranslate() > bounceAmount) {\r\n newPosition = swiper.minTranslate() + bounceAmount;\r\n }\r\n afterBouncePosition = swiper.minTranslate();\r\n doBounce = true;\r\n data.allowMomentumBounce = true;\r\n } else {\r\n newPosition = swiper.minTranslate();\r\n }\r\n if (params.loop && params.centeredSlides) {\r\n needsLoopFix = true;\r\n }\r\n } else if (params.freeModeSticky) {\r\n var nextSlide;\r\n for (var j = 0; j < snapGrid.length; j += 1) {\r\n if (snapGrid[j] > -newPosition) {\r\n nextSlide = j;\r\n break;\r\n }\r\n }\r\n\r\n if (Math.abs(snapGrid[nextSlide] - newPosition) < Math.abs(snapGrid[nextSlide - 1] - newPosition) || swiper.swipeDirection === 'next') {\r\n newPosition = snapGrid[nextSlide];\r\n } else {\r\n newPosition = snapGrid[nextSlide - 1];\r\n }\r\n newPosition = -newPosition;\r\n }\r\n if (needsLoopFix) {\r\n swiper.once('transitionEnd', function () {\r\n swiper.loopFix();\r\n });\r\n }\r\n // Fix duration\r\n if (swiper.velocity !== 0) {\r\n if (rtl) {\r\n momentumDuration = Math.abs((-newPosition - swiper.translate) / swiper.velocity);\r\n } else {\r\n momentumDuration = Math.abs((newPosition - swiper.translate) / swiper.velocity);\r\n }\r\n } else if (params.freeModeSticky) {\r\n swiper.slideToClosest();\r\n return;\r\n }\r\n\r\n if (params.freeModeMomentumBounce && doBounce) {\r\n swiper.updateProgress(afterBouncePosition);\r\n swiper.setTransition(momentumDuration);\r\n swiper.setTranslate(newPosition);\r\n swiper.transitionStart(true, swiper.swipeDirection);\r\n swiper.animating = true;\r\n $wrapperEl.transitionEnd(function () {\r\n if (!swiper || swiper.destroyed || !data.allowMomentumBounce) {\r\n return;\r\n }\r\n swiper.emit('momentumBounce');\r\n\r\n swiper.setTransition(params.speed);\r\n swiper.setTranslate(afterBouncePosition);\r\n $wrapperEl.transitionEnd(function () {\r\n if (!swiper || swiper.destroyed) {\r\n return;\r\n }\r\n swiper.transitionEnd();\r\n });\r\n });\r\n } else if (swiper.velocity) {\r\n swiper.updateProgress(newPosition);\r\n swiper.setTransition(momentumDuration);\r\n swiper.setTranslate(newPosition);\r\n swiper.transitionStart(true, swiper.swipeDirection);\r\n if (!swiper.animating) {\r\n swiper.animating = true;\r\n $wrapperEl.transitionEnd(function () {\r\n if (!swiper || swiper.destroyed) {\r\n return;\r\n }\r\n swiper.transitionEnd();\r\n });\r\n }\r\n } else {\r\n swiper.updateProgress(newPosition);\r\n }\r\n\r\n swiper.updateActiveIndex();\r\n swiper.updateSlidesClasses();\r\n } else if (params.freeModeSticky) {\r\n swiper.slideToClosest();\r\n return;\r\n }\r\n\r\n if (!params.freeModeMomentum || timeDiff >= params.longSwipesMs) {\r\n swiper.updateProgress();\r\n swiper.updateActiveIndex();\r\n swiper.updateSlidesClasses();\r\n }\r\n return;\r\n }\r\n\r\n // Find current slide\r\n var stopIndex = 0;\r\n var groupSize = swiper.slidesSizesGrid[0];\r\n for (var i = 0; i < slidesGrid.length; i += params.slidesPerGroup) {\r\n if (typeof slidesGrid[i + params.slidesPerGroup] !== 'undefined') {\r\n if (currentPos >= slidesGrid[i] && currentPos < slidesGrid[i + params.slidesPerGroup]) {\r\n stopIndex = i;\r\n groupSize = slidesGrid[i + params.slidesPerGroup] - slidesGrid[i];\r\n }\r\n } else if (currentPos >= slidesGrid[i]) {\r\n stopIndex = i;\r\n groupSize = slidesGrid[slidesGrid.length - 1] - slidesGrid[slidesGrid.length - 2];\r\n }\r\n }\r\n\r\n // Find current slide size\r\n var ratio = (currentPos - slidesGrid[stopIndex]) / groupSize;\r\n\r\n if (timeDiff > params.longSwipesMs) {\r\n // Long touches\r\n if (!params.longSwipes) {\r\n swiper.slideTo(swiper.activeIndex);\r\n return;\r\n }\r\n if (swiper.swipeDirection === 'next') {\r\n if (ratio >= params.longSwipesRatio) {\r\n swiper.slideTo(stopIndex + params.slidesPerGroup);\r\n }\r\n else {\r\n swiper.slideTo(stopIndex);\r\n }\r\n }\r\n if (swiper.swipeDirection === 'prev') {\r\n if (ratio > (1 - params.longSwipesRatio)) {\r\n swiper.slideTo(stopIndex + params.slidesPerGroup);\r\n }\r\n else {\r\n swiper.slideTo(stopIndex);\r\n }\r\n }\r\n } else {\r\n // Short swipes\r\n if (!params.shortSwipes) {\r\n swiper.slideTo(swiper.activeIndex);\r\n return;\r\n }\r\n if (swiper.swipeDirection === 'next') {\r\n swiper.slideTo(stopIndex + params.slidesPerGroup);\r\n }\r\n if (swiper.swipeDirection === 'prev') {\r\n swiper.slideTo(stopIndex);\r\n }\r\n }\r\n }\r\n\r\n function onResize() {\r\n var swiper = this;\r\n\r\n var params = swiper.params;\r\n var el = swiper.el;\r\n\r\n if (el && el.offsetWidth === 0) {\r\n return;\r\n }\r\n\r\n // Breakpoints\r\n if (params.breakpoints) {\r\n swiper.setBreakpoint();\r\n }\r\n\r\n // Save locks\r\n var allowSlideNext = swiper.allowSlideNext;\r\n var allowSlidePrev = swiper.allowSlidePrev;\r\n var snapGrid = swiper.snapGrid;\r\n\r\n // Disable locks on resize\r\n swiper.allowSlideNext = true;\r\n swiper.allowSlidePrev = true;\r\n\r\n swiper.updateSize();\r\n swiper.updateSlides();\r\n\r\n if (params.freeMode) {\r\n var newTranslate = Math.min(Math.max(swiper.translate, swiper.maxTranslate()), swiper.minTranslate());\r\n swiper.setTranslate(newTranslate);\r\n swiper.updateActiveIndex();\r\n swiper.updateSlidesClasses();\r\n\r\n if (params.autoHeight) {\r\n swiper.updateAutoHeight();\r\n }\r\n } else {\r\n swiper.updateSlidesClasses();\r\n if ((params.slidesPerView === 'auto' || params.slidesPerView > 1) && swiper.isEnd && !swiper.params.centeredSlides) {\r\n swiper.slideTo(swiper.slides.length - 1, 0, false, true);\r\n } else {\r\n swiper.slideTo(swiper.activeIndex, 0, false, true);\r\n }\r\n }\r\n // Return locks after resize\r\n swiper.allowSlidePrev = allowSlidePrev;\r\n swiper.allowSlideNext = allowSlideNext;\r\n\r\n if (swiper.params.watchOverflow && snapGrid !== swiper.snapGrid) {\r\n swiper.checkOverflow();\r\n }\r\n }\r\n\r\n function onClick(e) {\r\n var swiper = this;\r\n if (!swiper.allowClick) {\r\n if (swiper.params.preventClicks) {\r\n e.preventDefault();\r\n }\r\n if (swiper.params.preventClicksPropagation && swiper.animating) {\r\n e.stopPropagation();\r\n e.stopImmediatePropagation();\r\n }\r\n }\r\n }\r\n\r\n function attachEvents() {\r\n var swiper = this;\r\n var params = swiper.params;\r\n var touchEvents = swiper.touchEvents;\r\n var el = swiper.el;\r\n var wrapperEl = swiper.wrapperEl;\r\n\r\n {\r\n swiper.onTouchStart = onTouchStart.bind(swiper);\r\n swiper.onTouchMove = onTouchMove.bind(swiper);\r\n swiper.onTouchEnd = onTouchEnd.bind(swiper);\r\n }\r\n\r\n swiper.onClick = onClick.bind(swiper);\r\n\r\n var target = params.touchEventsTarget === 'container' ? el : wrapperEl;\r\n var capture = !!params.nested;\r\n\r\n // Touch Events\r\n {\r\n if (!Support.touch && (Support.pointerEvents || Support.prefixedPointerEvents)) {\r\n target.addEventListener(touchEvents.start, swiper.onTouchStart, false);\r\n doc.addEventListener(touchEvents.move, swiper.onTouchMove, capture);\r\n doc.addEventListener(touchEvents.end, swiper.onTouchEnd, false);\r\n } else {\r\n if (Support.touch) {\r\n var passiveListener = touchEvents.start === 'touchstart' && Support.passiveListener && params.passiveListeners ? {\r\n passive: true,\r\n capture: false\r\n } : false;\r\n target.addEventListener(touchEvents.start, swiper.onTouchStart, passiveListener);\r\n target.addEventListener(touchEvents.move, swiper.onTouchMove, Support.passiveListener ? {\r\n passive: false,\r\n capture: capture\r\n } : capture);\r\n target.addEventListener(touchEvents.end, swiper.onTouchEnd, passiveListener);\r\n }\r\n if ((params.simulateTouch && !Device.ios && !Device.android) || (params.simulateTouch && !Support.touch && Device.ios)) {\r\n target.addEventListener('mousedown', swiper.onTouchStart, false);\r\n doc.addEventListener('mousemove', swiper.onTouchMove, capture);\r\n doc.addEventListener('mouseup', swiper.onTouchEnd, false);\r\n }\r\n }\r\n // Prevent Links Clicks\r\n if (params.preventClicks || params.preventClicksPropagation) {\r\n target.addEventListener('click', swiper.onClick, true);\r\n }\r\n }\r\n\r\n // Resize handler\r\n swiper.on((Device.ios || Device.android ? 'resize orientationchange observerUpdate' : 'resize observerUpdate'), onResize, true);\r\n }\r\n\r\n function detachEvents() {\r\n var swiper = this;\r\n\r\n var params = swiper.params;\r\n var touchEvents = swiper.touchEvents;\r\n var el = swiper.el;\r\n var wrapperEl = swiper.wrapperEl;\r\n\r\n var target = params.touchEventsTarget === 'container' ? el : wrapperEl;\r\n var capture = !!params.nested;\r\n\r\n // Touch Events\r\n {\r\n if (!Support.touch && (Support.pointerEvents || Support.prefixedPointerEvents)) {\r\n target.removeEventListener(touchEvents.start, swiper.onTouchStart, false);\r\n doc.removeEventListener(touchEvents.move, swiper.onTouchMove, capture);\r\n doc.removeEventListener(touchEvents.end, swiper.onTouchEnd, false);\r\n } else {\r\n if (Support.touch) {\r\n var passiveListener = touchEvents.start === 'onTouchStart' && Support.passiveListener && params.passiveListeners ? {\r\n passive: true,\r\n capture: false\r\n } : false;\r\n target.removeEventListener(touchEvents.start, swiper.onTouchStart, passiveListener);\r\n target.removeEventListener(touchEvents.move, swiper.onTouchMove, capture);\r\n target.removeEventListener(touchEvents.end, swiper.onTouchEnd, passiveListener);\r\n }\r\n if ((params.simulateTouch && !Device.ios && !Device.android) || (params.simulateTouch && !Support.touch && Device.ios)) {\r\n target.removeEventListener('mousedown', swiper.onTouchStart, false);\r\n doc.removeEventListener('mousemove', swiper.onTouchMove, capture);\r\n doc.removeEventListener('mouseup', swiper.onTouchEnd, false);\r\n }\r\n }\r\n // Prevent Links Clicks\r\n if (params.preventClicks || params.preventClicksPropagation) {\r\n target.removeEventListener('click', swiper.onClick, true);\r\n }\r\n }\r\n\r\n // Resize handler\r\n swiper.off((Device.ios || Device.android ? 'resize orientationchange observerUpdate' : 'resize observerUpdate'), onResize);\r\n }\r\n\r\n var events = {\r\n attachEvents: attachEvents,\r\n detachEvents: detachEvents,\r\n };\r\n\r\n function setBreakpoint() {\r\n var swiper = this;\r\n var activeIndex = swiper.activeIndex;\r\n var initialized = swiper.initialized;\r\n var loopedSlides = swiper.loopedSlides;\r\n if (loopedSlides === void 0) loopedSlides = 0;\r\n var params = swiper.params;\r\n var breakpoints = params.breakpoints;\r\n if (!breakpoints || (breakpoints && Object.keys(breakpoints).length === 0)) {\r\n return;\r\n }\r\n // Set breakpoint for window width and update parameters\r\n var breakpoint = swiper.getBreakpoint(breakpoints);\r\n if (breakpoint && swiper.currentBreakpoint !== breakpoint) {\r\n var breakPointsParams = breakpoint in breakpoints ? breakpoints[breakpoint] : swiper.originalParams;\r\n var needsReLoop = params.loop && (breakPointsParams.slidesPerView !== params.slidesPerView);\r\n\r\n Utils.extend(swiper.params, breakPointsParams);\r\n\r\n Utils.extend(swiper, {\r\n allowTouchMove: swiper.params.allowTouchMove,\r\n allowSlideNext: swiper.params.allowSlideNext,\r\n allowSlidePrev: swiper.params.allowSlidePrev,\r\n });\r\n\r\n swiper.currentBreakpoint = breakpoint;\r\n\r\n if (needsReLoop && initialized) {\r\n swiper.loopDestroy();\r\n swiper.loopCreate();\r\n swiper.updateSlides();\r\n swiper.slideTo((activeIndex - loopedSlides) + swiper.loopedSlides, 0, false);\r\n }\r\n swiper.emit('breakpoint', breakPointsParams);\r\n }\r\n }\r\n\r\n function getBreakpoint(breakpoints) {\r\n var swiper = this;\r\n // Get breakpoint for window width\r\n if (!breakpoints) {\r\n return undefined;\r\n }\r\n var breakpoint = false;\r\n var points = [];\r\n Object.keys(breakpoints).forEach(function (point) {\r\n points.push(point);\r\n });\r\n points.sort(function (a, b) {\r\n return parseInt(a, 10) - parseInt(b, 10);\r\n });\r\n for (var i = 0; i < points.length; i += 1) {\r\n var point = points[i];\r\n if (swiper.params.breakpointsInverse) {\r\n if (point <= win.innerWidth) {\r\n breakpoint = point;\r\n }\r\n } else if (point >= win.innerWidth && !breakpoint) {\r\n breakpoint = point;\r\n }\r\n }\r\n return breakpoint || 'max';\r\n }\r\n\r\n var breakpoints = {setBreakpoint: setBreakpoint, getBreakpoint: getBreakpoint};\r\n\r\n var Browser = (function Browser() {\r\n function isSafari() {\r\n var ua = win.navigator.userAgent.toLowerCase();\r\n return (ua.indexOf('safari') >= 0 && ua.indexOf('chrome') < 0 && ua.indexOf('android') < 0);\r\n }\r\n\r\n return {\r\n isIE: !!win.navigator.userAgent.match(/Trident/g) || !!win.navigator.userAgent.match(/MSIE/g),\r\n isEdge: !!win.navigator.userAgent.match(/Edge/g),\r\n isSafari: isSafari(),\r\n isUiWebView: /(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(win.navigator.userAgent),\r\n };\r\n }());\r\n\r\n function addClasses() {\r\n var swiper = this;\r\n var classNames = swiper.classNames;\r\n var params = swiper.params;\r\n var rtl = swiper.rtl;\r\n var $el = swiper.$el;\r\n var suffixes = [];\r\n\r\n suffixes.push(params.direction);\r\n\r\n if (params.freeMode) {\r\n suffixes.push('free-mode');\r\n }\r\n if (!Support.flexbox) {\r\n suffixes.push('no-flexbox');\r\n }\r\n if (params.autoHeight) {\r\n suffixes.push('autoheight');\r\n }\r\n if (rtl) {\r\n suffixes.push('rtl');\r\n }\r\n if (params.slidesPerColumn > 1) {\r\n suffixes.push('multirow');\r\n }\r\n if (Device.android) {\r\n suffixes.push('android');\r\n }\r\n if (Device.ios) {\r\n suffixes.push('ios');\r\n }\r\n // WP8 Touch Events Fix\r\n if ((Browser.isIE || Browser.isEdge) && (Support.pointerEvents || Support.prefixedPointerEvents)) {\r\n suffixes.push((\"wp8-\" + (params.direction)));\r\n }\r\n\r\n suffixes.forEach(function (suffix) {\r\n classNames.push(params.containerModifierClass + suffix);\r\n });\r\n\r\n $el.addClass(classNames.join(' '));\r\n }\r\n\r\n function removeClasses() {\r\n var swiper = this;\r\n var $el = swiper.$el;\r\n var classNames = swiper.classNames;\r\n\r\n $el.removeClass(classNames.join(' '));\r\n }\r\n\r\n var classes = {addClasses: addClasses, removeClasses: removeClasses};\r\n\r\n function loadImage(imageEl, src, srcset, sizes, checkForComplete, callback) {\r\n var image;\r\n\r\n function onReady() {\r\n if (callback) {\r\n callback();\r\n }\r\n }\r\n\r\n if (!imageEl.complete || !checkForComplete) {\r\n if (src) {\r\n image = new win.Image();\r\n image.onload = onReady;\r\n image.onerror = onReady;\r\n if (sizes) {\r\n image.sizes = sizes;\r\n }\r\n if (srcset) {\r\n image.srcset = srcset;\r\n }\r\n if (src) {\r\n image.src = src;\r\n }\r\n } else {\r\n onReady();\r\n }\r\n } else {\r\n // image already loaded...\r\n onReady();\r\n }\r\n }\r\n\r\n function preloadImages() {\r\n var swiper = this;\r\n swiper.imagesToLoad = swiper.$el.find('img');\r\n\r\n function onReady() {\r\n if (typeof swiper === 'undefined' || swiper === null || !swiper || swiper.destroyed) {\r\n return;\r\n }\r\n if (swiper.imagesLoaded !== undefined) {\r\n swiper.imagesLoaded += 1;\r\n }\r\n if (swiper.imagesLoaded === swiper.imagesToLoad.length) {\r\n if (swiper.params.updateOnImagesReady) {\r\n swiper.update();\r\n }\r\n swiper.emit('imagesReady');\r\n }\r\n }\r\n\r\n for (var i = 0; i < swiper.imagesToLoad.length; i += 1) {\r\n var imageEl = swiper.imagesToLoad[i];\r\n swiper.loadImage(\r\n imageEl,\r\n imageEl.currentSrc || imageEl.getAttribute('src'),\r\n imageEl.srcset || imageEl.getAttribute('srcset'),\r\n imageEl.sizes || imageEl.getAttribute('sizes'),\r\n true,\r\n onReady\r\n );\r\n }\r\n }\r\n\r\n var images = {\r\n loadImage: loadImage,\r\n preloadImages: preloadImages,\r\n };\r\n\r\n function checkOverflow() {\r\n var swiper = this;\r\n var wasLocked = swiper.isLocked;\r\n\r\n swiper.isLocked = swiper.snapGrid.length === 1;\r\n swiper.allowSlideNext = !swiper.isLocked;\r\n swiper.allowSlidePrev = !swiper.isLocked;\r\n\r\n // events\r\n if (wasLocked !== swiper.isLocked) {\r\n swiper.emit(swiper.isLocked ? 'lock' : 'unlock');\r\n }\r\n\r\n if (wasLocked && wasLocked !== swiper.isLocked) {\r\n swiper.isEnd = false;\r\n swiper.navigation.update();\r\n }\r\n }\r\n\r\n var checkOverflow$1 = {checkOverflow: checkOverflow};\r\n\r\n var defaults = {\r\n init: true,\r\n direction: 'horizontal',\r\n touchEventsTarget: 'container',\r\n initialSlide: 0,\r\n speed: 300,\r\n //\r\n preventInteractionOnTransition: false,\r\n\r\n // To support iOS's swipe-to-go-back gesture (when being used in-app, with UIWebView).\r\n edgeSwipeDetection: false,\r\n edgeSwipeThreshold: 20,\r\n\r\n // Free mode\r\n freeMode: false,\r\n freeModeMomentum: true,\r\n freeModeMomentumRatio: 1,\r\n freeModeMomentumBounce: true,\r\n freeModeMomentumBounceRatio: 1,\r\n freeModeMomentumVelocityRatio: 1,\r\n freeModeSticky: false,\r\n freeModeMinimumVelocity: 0.02,\r\n\r\n // Autoheight\r\n autoHeight: false,\r\n\r\n // Set wrapper width\r\n setWrapperSize: false,\r\n\r\n // Virtual Translate\r\n virtualTranslate: false,\r\n\r\n // Effects\r\n effect: 'slide', // 'slide' or 'fade' or 'cube' or 'coverflow' or 'flip'\r\n\r\n // Breakpoints\r\n breakpoints: undefined,\r\n breakpointsInverse: false,\r\n\r\n // Slides grid\r\n spaceBetween: 0,\r\n slidesPerView: 1,\r\n slidesPerColumn: 1,\r\n slidesPerColumnFill: 'column',\r\n slidesPerGroup: 1,\r\n centeredSlides: false,\r\n slidesOffsetBefore: 0, // in px\r\n slidesOffsetAfter: 0, // in px\r\n normalizeSlideIndex: true,\r\n centerInsufficientSlides: false,\r\n\r\n // Disable swiper and hide navigation when container not overflow\r\n watchOverflow: false,\r\n\r\n // Round length\r\n roundLengths: false,\r\n\r\n // Touches\r\n touchRatio: 1,\r\n touchAngle: 45,\r\n simulateTouch: true,\r\n shortSwipes: true,\r\n longSwipes: true,\r\n longSwipesRatio: 0.5,\r\n longSwipesMs: 300,\r\n followFinger: true,\r\n allowTouchMove: true,\r\n threshold: 0,\r\n touchMoveStopPropagation: true,\r\n touchStartPreventDefault: true,\r\n touchReleaseOnEdges: false,\r\n\r\n // Unique Navigation Elements\r\n uniqueNavElements: true,\r\n\r\n // Resistance\r\n resistance: true,\r\n resistanceRatio: 0.85,\r\n\r\n // Progress\r\n watchSlidesProgress: false,\r\n watchSlidesVisibility: false,\r\n\r\n // Cursor\r\n grabCursor: false,\r\n\r\n // Clicks\r\n preventClicks: true,\r\n preventClicksPropagation: true,\r\n slideToClickedSlide: false,\r\n\r\n // Images\r\n preloadImages: true,\r\n updateOnImagesReady: true,\r\n\r\n // loop\r\n loop: false,\r\n loopAdditionalSlides: 0,\r\n loopedSlides: null,\r\n loopFillGroupWithBlank: false,\r\n\r\n // Swiping/no swiping\r\n allowSlidePrev: true,\r\n allowSlideNext: true,\r\n swipeHandler: null, // '.swipe-handler',\r\n noSwiping: true,\r\n noSwipingClass: 'swiper-no-swiping',\r\n noSwipingSelector: null,\r\n\r\n // Passive Listeners\r\n passiveListeners: true,\r\n\r\n // NS\r\n containerModifierClass: 'swiper-container-', // NEW\r\n slideClass: 'swiper-slide',\r\n slideBlankClass: 'swiper-slide-invisible-blank',\r\n slideActiveClass: 'swiper-slide-active',\r\n slideDuplicateActiveClass: 'swiper-slide-duplicate-active',\r\n slideVisibleClass: 'swiper-slide-visible',\r\n slideDuplicateClass: 'swiper-slide-duplicate',\r\n slideNextClass: 'swiper-slide-next',\r\n slideDuplicateNextClass: 'swiper-slide-duplicate-next',\r\n slidePrevClass: 'swiper-slide-prev',\r\n slideDuplicatePrevClass: 'swiper-slide-duplicate-prev',\r\n wrapperClass: 'swiper-wrapper',\r\n\r\n // Callbacks\r\n runCallbacksOnInit: true,\r\n };\r\n\r\n var prototypes = {\r\n update: update,\r\n translate: translate,\r\n transition: transition$1,\r\n slide: slide,\r\n loop: loop,\r\n grabCursor: grabCursor,\r\n manipulation: manipulation,\r\n events: events,\r\n breakpoints: breakpoints,\r\n checkOverflow: checkOverflow$1,\r\n classes: classes,\r\n images: images,\r\n };\r\n\r\n var extendedDefaults = {};\r\n\r\n var Swiper = (function (SwiperClass$$1) {\r\n function Swiper() {\r\n var assign;\r\n\r\n var args = [], len = arguments.length;\r\n while (len--) args[len] = arguments[len];\r\n var el;\r\n var params;\r\n if (args.length === 1 && args[0].constructor && args[0].constructor === Object) {\r\n params = args[0];\r\n } else {\r\n (assign = args, el = assign[0], params = assign[1]);\r\n }\r\n if (!params) {\r\n params = {};\r\n }\r\n\r\n params = Utils.extend({}, params);\r\n if (el && !params.el) {\r\n params.el = el;\r\n }\r\n\r\n SwiperClass$$1.call(this, params);\r\n\r\n Object.keys(prototypes).forEach(function (prototypeGroup) {\r\n Object.keys(prototypes[prototypeGroup]).forEach(function (protoMethod) {\r\n if (!Swiper.prototype[protoMethod]) {\r\n Swiper.prototype[protoMethod] = prototypes[prototypeGroup][protoMethod];\r\n }\r\n });\r\n });\r\n\r\n // Swiper Instance\r\n var swiper = this;\r\n if (typeof swiper.modules === 'undefined') {\r\n swiper.modules = {};\r\n }\r\n Object.keys(swiper.modules).forEach(function (moduleName) {\r\n var module = swiper.modules[moduleName];\r\n if (module.params) {\r\n var moduleParamName = Object.keys(module.params)[0];\r\n var moduleParams = module.params[moduleParamName];\r\n if (typeof moduleParams !== 'object' || moduleParams === null) {\r\n return;\r\n }\r\n if (!(moduleParamName in params && 'enabled' in moduleParams)) {\r\n return;\r\n }\r\n if (params[moduleParamName] === true) {\r\n params[moduleParamName] = {enabled: true};\r\n }\r\n if (\r\n typeof params[moduleParamName] === 'object'\r\n && !('enabled' in params[moduleParamName])\r\n ) {\r\n params[moduleParamName].enabled = true;\r\n }\r\n if (!params[moduleParamName]) {\r\n params[moduleParamName] = {enabled: false};\r\n }\r\n }\r\n });\r\n\r\n // Extend defaults with modules params\r\n var swiperParams = Utils.extend({}, defaults);\r\n swiper.useModulesParams(swiperParams);\r\n\r\n // Extend defaults with passed params\r\n swiper.params = Utils.extend({}, swiperParams, extendedDefaults, params);\r\n swiper.originalParams = Utils.extend({}, swiper.params);\r\n swiper.passedParams = Utils.extend({}, params);\r\n\r\n // Save Dom lib\r\n swiper.$ = $;\r\n\r\n // Find el\r\n var $el = $(swiper.params.el);\r\n el = $el[0];\r\n\r\n if (!el) {\r\n return undefined;\r\n }\r\n\r\n if ($el.length > 1) {\r\n var swipers = [];\r\n $el.each(function (index, containerEl) {\r\n var newParams = Utils.extend({}, params, {el: containerEl});\r\n swipers.push(new Swiper(newParams));\r\n });\r\n return swipers;\r\n }\r\n\r\n el.swiper = swiper;\r\n $el.data('swiper', swiper);\r\n\r\n // Find Wrapper\r\n var $wrapperEl = $el.children((\".\" + (swiper.params.wrapperClass)));\r\n\r\n // Extend Swiper\r\n Utils.extend(swiper, {\r\n $el: $el,\r\n el: el,\r\n $wrapperEl: $wrapperEl,\r\n wrapperEl: $wrapperEl[0],\r\n\r\n // Classes\r\n classNames: [],\r\n\r\n // Slides\r\n slides: $(),\r\n slidesGrid: [],\r\n snapGrid: [],\r\n slidesSizesGrid: [],\r\n\r\n // isDirection\r\n isHorizontal: function isHorizontal() {\r\n return swiper.params.direction === 'horizontal';\r\n },\r\n isVertical: function isVertical() {\r\n return swiper.params.direction === 'vertical';\r\n },\r\n // RTL\r\n rtl: (el.dir.toLowerCase() === 'rtl' || $el.css('direction') === 'rtl'),\r\n rtlTranslate: swiper.params.direction === 'horizontal' && (el.dir.toLowerCase() === 'rtl' || $el.css('direction') === 'rtl'),\r\n wrongRTL: $wrapperEl.css('display') === '-webkit-box',\r\n\r\n // Indexes\r\n activeIndex: 0,\r\n realIndex: 0,\r\n\r\n //\r\n isBeginning: true,\r\n isEnd: false,\r\n\r\n // Props\r\n translate: 0,\r\n previousTranslate: 0,\r\n progress: 0,\r\n velocity: 0,\r\n animating: false,\r\n\r\n // Locks\r\n allowSlideNext: swiper.params.allowSlideNext,\r\n allowSlidePrev: swiper.params.allowSlidePrev,\r\n\r\n // Touch Events\r\n touchEvents: (function touchEvents() {\r\n var touch = ['touchstart', 'touchmove', 'touchend'];\r\n var desktop = ['mousedown', 'mousemove', 'mouseup'];\r\n if (Support.pointerEvents) {\r\n desktop = ['pointerdown', 'pointermove', 'pointerup'];\r\n } else if (Support.prefixedPointerEvents) {\r\n desktop = ['MSPointerDown', 'MSPointerMove', 'MSPointerUp'];\r\n }\r\n swiper.touchEventsTouch = {\r\n start: touch[0],\r\n move: touch[1],\r\n end: touch[2],\r\n };\r\n swiper.touchEventsDesktop = {\r\n start: desktop[0],\r\n move: desktop[1],\r\n end: desktop[2],\r\n };\r\n return Support.touch || !swiper.params.simulateTouch ? swiper.touchEventsTouch : swiper.touchEventsDesktop;\r\n }()),\r\n touchEventsData: {\r\n isTouched: undefined,\r\n isMoved: undefined,\r\n allowTouchCallbacks: undefined,\r\n touchStartTime: undefined,\r\n isScrolling: undefined,\r\n currentTranslate: undefined,\r\n startTranslate: undefined,\r\n allowThresholdMove: undefined,\r\n // Form elements to match\r\n formElements: 'input, select, option, textarea, button, video',\r\n // Last click time\r\n lastClickTime: Utils.now(),\r\n clickTimeout: undefined,\r\n // Velocities\r\n velocities: [],\r\n allowMomentumBounce: undefined,\r\n isTouchEvent: undefined,\r\n startMoving: undefined,\r\n },\r\n\r\n // Clicks\r\n allowClick: true,\r\n\r\n // Touches\r\n allowTouchMove: swiper.params.allowTouchMove,\r\n\r\n touches: {\r\n startX: 0,\r\n startY: 0,\r\n currentX: 0,\r\n currentY: 0,\r\n diff: 0,\r\n },\r\n\r\n // Images\r\n imagesToLoad: [],\r\n imagesLoaded: 0,\r\n\r\n });\r\n\r\n // Install Modules\r\n swiper.useModules();\r\n\r\n // Init\r\n if (swiper.params.init) {\r\n swiper.init();\r\n }\r\n\r\n // Return app instance\r\n return swiper;\r\n }\r\n\r\n if (SwiperClass$$1) Swiper.__proto__ = SwiperClass$$1;\r\n Swiper.prototype = Object.create(SwiperClass$$1 && SwiperClass$$1.prototype);\r\n Swiper.prototype.constructor = Swiper;\r\n\r\n var staticAccessors = {\r\n extendedDefaults: {configurable: true},\r\n defaults: {configurable: true},\r\n Class: {configurable: true},\r\n $: {configurable: true}\r\n };\r\n\r\n Swiper.prototype.slidesPerViewDynamic = function slidesPerViewDynamic() {\r\n var swiper = this;\r\n var params = swiper.params;\r\n var slides = swiper.slides;\r\n var slidesGrid = swiper.slidesGrid;\r\n var swiperSize = swiper.size;\r\n var activeIndex = swiper.activeIndex;\r\n var spv = 1;\r\n if (params.centeredSlides) {\r\n var slideSize = slides[activeIndex].swiperSlideSize;\r\n var breakLoop;\r\n for (var i = activeIndex + 1; i < slides.length; i += 1) {\r\n if (slides[i] && !breakLoop) {\r\n slideSize += slides[i].swiperSlideSize;\r\n spv += 1;\r\n if (slideSize > swiperSize) {\r\n breakLoop = true;\r\n }\r\n }\r\n }\r\n for (var i$1 = activeIndex - 1; i$1 >= 0; i$1 -= 1) {\r\n if (slides[i$1] && !breakLoop) {\r\n slideSize += slides[i$1].swiperSlideSize;\r\n spv += 1;\r\n if (slideSize > swiperSize) {\r\n breakLoop = true;\r\n }\r\n }\r\n }\r\n } else {\r\n for (var i$2 = activeIndex + 1; i$2 < slides.length; i$2 += 1) {\r\n if (slidesGrid[i$2] - slidesGrid[activeIndex] < swiperSize) {\r\n spv += 1;\r\n }\r\n }\r\n }\r\n return spv;\r\n };\r\n\r\n Swiper.prototype.update = function update$$1() {\r\n var swiper = this;\r\n if (!swiper || swiper.destroyed) {\r\n return;\r\n }\r\n var snapGrid = swiper.snapGrid;\r\n var params = swiper.params;\r\n // Breakpoints\r\n if (params.breakpoints) {\r\n swiper.setBreakpoint();\r\n }\r\n swiper.updateSize();\r\n swiper.updateSlides();\r\n swiper.updateProgress();\r\n swiper.updateSlidesClasses();\r\n\r\n function setTranslate() {\r\n var translateValue = swiper.rtlTranslate ? swiper.translate * -1 : swiper.translate;\r\n var newTranslate = Math.min(Math.max(translateValue, swiper.maxTranslate()), swiper.minTranslate());\r\n swiper.setTranslate(newTranslate);\r\n swiper.updateActiveIndex();\r\n swiper.updateSlidesClasses();\r\n }\r\n\r\n var translated;\r\n if (swiper.params.freeMode) {\r\n setTranslate();\r\n if (swiper.params.autoHeight) {\r\n swiper.updateAutoHeight();\r\n }\r\n } else {\r\n if ((swiper.params.slidesPerView === 'auto' || swiper.params.slidesPerView > 1) && swiper.isEnd && !swiper.params.centeredSlides) {\r\n translated = swiper.slideTo(swiper.slides.length - 1, 0, false, true);\r\n } else {\r\n translated = swiper.slideTo(swiper.activeIndex, 0, false, true);\r\n }\r\n if (!translated) {\r\n setTranslate();\r\n }\r\n }\r\n if (params.watchOverflow && snapGrid !== swiper.snapGrid) {\r\n swiper.checkOverflow();\r\n }\r\n swiper.emit('update');\r\n };\r\n\r\n Swiper.prototype.init = function init() {\r\n var swiper = this;\r\n if (swiper.initialized) {\r\n return;\r\n }\r\n\r\n swiper.emit('beforeInit');\r\n\r\n // Set breakpoint\r\n if (swiper.params.breakpoints) {\r\n swiper.setBreakpoint();\r\n }\r\n\r\n // Add Classes\r\n swiper.addClasses();\r\n\r\n // Create loop\r\n if (swiper.params.loop) {\r\n swiper.loopCreate();\r\n }\r\n\r\n // Update size\r\n swiper.updateSize();\r\n\r\n // Update slides\r\n swiper.updateSlides();\r\n\r\n if (swiper.params.watchOverflow) {\r\n swiper.checkOverflow();\r\n }\r\n\r\n // Set Grab Cursor\r\n if (swiper.params.grabCursor) {\r\n swiper.setGrabCursor();\r\n }\r\n\r\n if (swiper.params.preloadImages) {\r\n swiper.preloadImages();\r\n }\r\n\r\n // Slide To Initial Slide\r\n if (swiper.params.loop) {\r\n swiper.slideTo(swiper.params.initialSlide + swiper.loopedSlides, 0, swiper.params.runCallbacksOnInit);\r\n } else {\r\n swiper.slideTo(swiper.params.initialSlide, 0, swiper.params.runCallbacksOnInit);\r\n }\r\n\r\n // Attach events\r\n swiper.attachEvents();\r\n\r\n // Init Flag\r\n swiper.initialized = true;\r\n\r\n // Emit\r\n swiper.emit('init');\r\n };\r\n\r\n Swiper.prototype.destroy = function destroy(deleteInstance, cleanStyles) {\r\n if (deleteInstance === void 0) deleteInstance = true;\r\n if (cleanStyles === void 0) cleanStyles = true;\r\n\r\n var swiper = this;\r\n var params = swiper.params;\r\n var $el = swiper.$el;\r\n var $wrapperEl = swiper.$wrapperEl;\r\n var slides = swiper.slides;\r\n\r\n if (typeof swiper.params === 'undefined' || swiper.destroyed) {\r\n return null;\r\n }\r\n\r\n swiper.emit('beforeDestroy');\r\n\r\n // Init Flag\r\n swiper.initialized = false;\r\n\r\n // Detach events\r\n swiper.detachEvents();\r\n\r\n // Destroy loop\r\n if (params.loop) {\r\n swiper.loopDestroy();\r\n }\r\n\r\n // Cleanup styles\r\n if (cleanStyles) {\r\n swiper.removeClasses();\r\n $el.removeAttr('style');\r\n $wrapperEl.removeAttr('style');\r\n if (slides && slides.length) {\r\n slides\r\n .removeClass([\r\n params.slideVisibleClass,\r\n params.slideActiveClass,\r\n params.slideNextClass,\r\n params.slidePrevClass].join(' '))\r\n .removeAttr('style')\r\n .removeAttr('data-swiper-slide-index')\r\n .removeAttr('data-swiper-column')\r\n .removeAttr('data-swiper-row');\r\n }\r\n }\r\n\r\n swiper.emit('destroy');\r\n\r\n // Detach emitter events\r\n Object.keys(swiper.eventsListeners).forEach(function (eventName) {\r\n swiper.off(eventName);\r\n });\r\n\r\n if (deleteInstance !== false) {\r\n swiper.$el[0].swiper = null;\r\n swiper.$el.data('swiper', null);\r\n Utils.deleteProps(swiper);\r\n }\r\n swiper.destroyed = true;\r\n\r\n return null;\r\n };\r\n\r\n Swiper.extendDefaults = function extendDefaults(newDefaults) {\r\n Utils.extend(extendedDefaults, newDefaults);\r\n };\r\n\r\n staticAccessors.extendedDefaults.get = function () {\r\n return extendedDefaults;\r\n };\r\n\r\n staticAccessors.defaults.get = function () {\r\n return defaults;\r\n };\r\n\r\n staticAccessors.Class.get = function () {\r\n return SwiperClass$$1;\r\n };\r\n\r\n staticAccessors.$.get = function () {\r\n return $;\r\n };\r\n\r\n Object.defineProperties(Swiper, staticAccessors);\r\n\r\n return Swiper;\r\n }(SwiperClass));\r\n\r\n var Device$1 = {\r\n name: 'device',\r\n proto: {\r\n device: Device,\r\n },\r\n static: {\r\n device: Device,\r\n },\r\n };\r\n\r\n var Support$1 = {\r\n name: 'support',\r\n proto: {\r\n support: Support,\r\n },\r\n static: {\r\n support: Support,\r\n },\r\n };\r\n\r\n var Browser$1 = {\r\n name: 'browser',\r\n proto: {\r\n browser: Browser,\r\n },\r\n static: {\r\n browser: Browser,\r\n },\r\n };\r\n\r\n var Resize = {\r\n name: 'resize',\r\n create: function create() {\r\n var swiper = this;\r\n Utils.extend(swiper, {\r\n resize: {\r\n resizeHandler: function resizeHandler() {\r\n if (!swiper || swiper.destroyed || !swiper.initialized) {\r\n return;\r\n }\r\n swiper.emit('beforeResize');\r\n swiper.emit('resize');\r\n },\r\n orientationChangeHandler: function orientationChangeHandler() {\r\n if (!swiper || swiper.destroyed || !swiper.initialized) {\r\n return;\r\n }\r\n swiper.emit('orientationchange');\r\n },\r\n },\r\n });\r\n },\r\n on: {\r\n init: function init() {\r\n var swiper = this;\r\n // Emit resize\r\n win.addEventListener('resize', swiper.resize.resizeHandler);\r\n\r\n // Emit orientationchange\r\n win.addEventListener('orientationchange', swiper.resize.orientationChangeHandler);\r\n },\r\n destroy: function destroy() {\r\n var swiper = this;\r\n win.removeEventListener('resize', swiper.resize.resizeHandler);\r\n win.removeEventListener('orientationchange', swiper.resize.orientationChangeHandler);\r\n },\r\n },\r\n };\r\n\r\n var Observer = {\r\n func: win.MutationObserver || win.WebkitMutationObserver,\r\n attach: function attach(target, options) {\r\n if (options === void 0) options = {};\r\n\r\n var swiper = this;\r\n\r\n var ObserverFunc = Observer.func;\r\n var observer = new ObserverFunc(function (mutations) {\r\n // The observerUpdate event should only be triggered\r\n // once despite the number of mutations. Additional\r\n // triggers are redundant and are very costly\r\n if (mutations.length === 1) {\r\n swiper.emit('observerUpdate', mutations[0]);\r\n return;\r\n }\r\n var observerUpdate = function observerUpdate() {\r\n swiper.emit('observerUpdate', mutations[0]);\r\n };\r\n\r\n if (win.requestAnimationFrame) {\r\n win.requestAnimationFrame(observerUpdate);\r\n } else {\r\n win.setTimeout(observerUpdate, 0);\r\n }\r\n });\r\n\r\n observer.observe(target, {\r\n attributes: typeof options.attributes === 'undefined' ? true : options.attributes,\r\n childList: typeof options.childList === 'undefined' ? true : options.childList,\r\n characterData: typeof options.characterData === 'undefined' ? true : options.characterData,\r\n });\r\n\r\n swiper.observer.observers.push(observer);\r\n },\r\n init: function init() {\r\n var swiper = this;\r\n if (!Support.observer || !swiper.params.observer) {\r\n return;\r\n }\r\n if (swiper.params.observeParents) {\r\n var containerParents = swiper.$el.parents();\r\n for (var i = 0; i < containerParents.length; i += 1) {\r\n swiper.observer.attach(containerParents[i]);\r\n }\r\n }\r\n // Observe container\r\n swiper.observer.attach(swiper.$el[0], {childList: false});\r\n\r\n // Observe wrapper\r\n swiper.observer.attach(swiper.$wrapperEl[0], {attributes: false});\r\n },\r\n destroy: function destroy() {\r\n var swiper = this;\r\n swiper.observer.observers.forEach(function (observer) {\r\n observer.disconnect();\r\n });\r\n swiper.observer.observers = [];\r\n },\r\n };\r\n\r\n var Observer$1 = {\r\n name: 'observer',\r\n params: {\r\n observer: false,\r\n observeParents: false,\r\n },\r\n create: function create() {\r\n var swiper = this;\r\n Utils.extend(swiper, {\r\n observer: {\r\n init: Observer.init.bind(swiper),\r\n attach: Observer.attach.bind(swiper),\r\n destroy: Observer.destroy.bind(swiper),\r\n observers: [],\r\n },\r\n });\r\n },\r\n on: {\r\n init: function init() {\r\n var swiper = this;\r\n swiper.observer.init();\r\n },\r\n destroy: function destroy() {\r\n var swiper = this;\r\n swiper.observer.destroy();\r\n },\r\n },\r\n };\r\n\r\n var Virtual = {\r\n update: function update(force) {\r\n var swiper = this;\r\n var ref = swiper.params;\r\n var slidesPerView = ref.slidesPerView;\r\n var slidesPerGroup = ref.slidesPerGroup;\r\n var centeredSlides = ref.centeredSlides;\r\n var ref$1 = swiper.params.virtual;\r\n var addSlidesBefore = ref$1.addSlidesBefore;\r\n var addSlidesAfter = ref$1.addSlidesAfter;\r\n var ref$2 = swiper.virtual;\r\n var previousFrom = ref$2.from;\r\n var previousTo = ref$2.to;\r\n var slides = ref$2.slides;\r\n var previousSlidesGrid = ref$2.slidesGrid;\r\n var renderSlide = ref$2.renderSlide;\r\n var previousOffset = ref$2.offset;\r\n swiper.updateActiveIndex();\r\n var activeIndex = swiper.activeIndex || 0;\r\n\r\n var offsetProp;\r\n if (swiper.rtlTranslate) {\r\n offsetProp = 'right';\r\n }\r\n else {\r\n offsetProp = swiper.isHorizontal() ? 'left' : 'top';\r\n }\r\n\r\n var slidesAfter;\r\n var slidesBefore;\r\n if (centeredSlides) {\r\n slidesAfter = Math.floor(slidesPerView / 2) + slidesPerGroup + addSlidesBefore;\r\n slidesBefore = Math.floor(slidesPerView / 2) + slidesPerGroup + addSlidesAfter;\r\n } else {\r\n slidesAfter = slidesPerView + (slidesPerGroup - 1) + addSlidesBefore;\r\n slidesBefore = slidesPerGroup + addSlidesAfter;\r\n }\r\n var from = Math.max((activeIndex || 0) - slidesBefore, 0);\r\n var to = Math.min((activeIndex || 0) + slidesAfter, slides.length - 1);\r\n var offset = (swiper.slidesGrid[from] || 0) - (swiper.slidesGrid[0] || 0);\r\n\r\n Utils.extend(swiper.virtual, {\r\n from: from,\r\n to: to,\r\n offset: offset,\r\n slidesGrid: swiper.slidesGrid,\r\n });\r\n\r\n function onRendered() {\r\n swiper.updateSlides();\r\n swiper.updateProgress();\r\n swiper.updateSlidesClasses();\r\n if (swiper.lazy && swiper.params.lazy.enabled) {\r\n swiper.lazy.load();\r\n }\r\n }\r\n\r\n if (previousFrom === from && previousTo === to && !force) {\r\n if (swiper.slidesGrid !== previousSlidesGrid && offset !== previousOffset) {\r\n swiper.slides.css(offsetProp, (offset + \"px\"));\r\n }\r\n swiper.updateProgress();\r\n return;\r\n }\r\n if (swiper.params.virtual.renderExternal) {\r\n swiper.params.virtual.renderExternal.call(swiper, {\r\n offset: offset,\r\n from: from,\r\n to: to,\r\n slides: (function getSlides() {\r\n var slidesToRender = [];\r\n for (var i = from; i <= to; i += 1) {\r\n slidesToRender.push(slides[i]);\r\n }\r\n return slidesToRender;\r\n }()),\r\n });\r\n onRendered();\r\n return;\r\n }\r\n var prependIndexes = [];\r\n var appendIndexes = [];\r\n if (force) {\r\n swiper.$wrapperEl.find((\".\" + (swiper.params.slideClass))).remove();\r\n } else {\r\n for (var i = previousFrom; i <= previousTo; i += 1) {\r\n if (i < from || i > to) {\r\n swiper.$wrapperEl.find((\".\" + (swiper.params.slideClass) + \"[data-swiper-slide-index=\\\"\" + i + \"\\\"]\")).remove();\r\n }\r\n }\r\n }\r\n for (var i$1 = 0; i$1 < slides.length; i$1 += 1) {\r\n if (i$1 >= from && i$1 <= to) {\r\n if (typeof previousTo === 'undefined' || force) {\r\n appendIndexes.push(i$1);\r\n } else {\r\n if (i$1 > previousTo) {\r\n appendIndexes.push(i$1);\r\n }\r\n if (i$1 < previousFrom) {\r\n prependIndexes.push(i$1);\r\n }\r\n }\r\n }\r\n }\r\n appendIndexes.forEach(function (index) {\r\n swiper.$wrapperEl.append(renderSlide(slides[index], index));\r\n });\r\n prependIndexes.sort(function (a, b) {\r\n return a < b;\r\n }).forEach(function (index) {\r\n swiper.$wrapperEl.prepend(renderSlide(slides[index], index));\r\n });\r\n swiper.$wrapperEl.children('.swiper-slide').css(offsetProp, (offset + \"px\"));\r\n onRendered();\r\n },\r\n renderSlide: function renderSlide(slide, index) {\r\n var swiper = this;\r\n var params = swiper.params.virtual;\r\n if (params.cache && swiper.virtual.cache[index]) {\r\n return swiper.virtual.cache[index];\r\n }\r\n var $slideEl = params.renderSlide\r\n ? $(params.renderSlide.call(swiper, slide, index))\r\n : $((\"
\" + slide + \"
\"));\r\n if (!$slideEl.attr('data-swiper-slide-index')) {\r\n $slideEl.attr('data-swiper-slide-index', index);\r\n }\r\n if (params.cache) {\r\n swiper.virtual.cache[index] = $slideEl;\r\n }\r\n return $slideEl;\r\n },\r\n appendSlide: function appendSlide(slide) {\r\n var swiper = this;\r\n swiper.virtual.slides.push(slide);\r\n swiper.virtual.update(true);\r\n },\r\n prependSlide: function prependSlide(slide) {\r\n var swiper = this;\r\n swiper.virtual.slides.unshift(slide);\r\n if (swiper.params.virtual.cache) {\r\n var cache = swiper.virtual.cache;\r\n var newCache = {};\r\n Object.keys(cache).forEach(function (cachedIndex) {\r\n newCache[cachedIndex + 1] = cache[cachedIndex];\r\n });\r\n swiper.virtual.cache = newCache;\r\n }\r\n swiper.virtual.update(true);\r\n swiper.slideNext(0);\r\n },\r\n };\r\n\r\n var Virtual$1 = {\r\n name: 'virtual',\r\n params: {\r\n virtual: {\r\n enabled: false,\r\n slides: [],\r\n cache: true,\r\n renderSlide: null,\r\n renderExternal: null,\r\n addSlidesBefore: 0,\r\n addSlidesAfter: 0,\r\n },\r\n },\r\n create: function create() {\r\n var swiper = this;\r\n Utils.extend(swiper, {\r\n virtual: {\r\n update: Virtual.update.bind(swiper),\r\n appendSlide: Virtual.appendSlide.bind(swiper),\r\n prependSlide: Virtual.prependSlide.bind(swiper),\r\n renderSlide: Virtual.renderSlide.bind(swiper),\r\n slides: swiper.params.virtual.slides,\r\n cache: {},\r\n },\r\n });\r\n },\r\n on: {\r\n beforeInit: function beforeInit() {\r\n var swiper = this;\r\n if (!swiper.params.virtual.enabled) {\r\n return;\r\n }\r\n swiper.classNames.push(((swiper.params.containerModifierClass) + \"virtual\"));\r\n var overwriteParams = {\r\n watchSlidesProgress: true,\r\n };\r\n Utils.extend(swiper.params, overwriteParams);\r\n Utils.extend(swiper.originalParams, overwriteParams);\r\n\r\n swiper.virtual.update();\r\n },\r\n setTranslate: function setTranslate() {\r\n var swiper = this;\r\n if (!swiper.params.virtual.enabled) {\r\n return;\r\n }\r\n swiper.virtual.update();\r\n },\r\n },\r\n };\r\n\r\n var Keyboard = {\r\n handle: function handle(event) {\r\n var swiper = this;\r\n var rtl = swiper.rtlTranslate;\r\n var e = event;\r\n if (e.originalEvent) {\r\n e = e.originalEvent;\r\n } // jquery fix\r\n var kc = e.keyCode || e.charCode;\r\n // Directions locks\r\n if (!swiper.allowSlideNext && ((swiper.isHorizontal() && kc === 39) || (swiper.isVertical() && kc === 40))) {\r\n return false;\r\n }\r\n if (!swiper.allowSlidePrev && ((swiper.isHorizontal() && kc === 37) || (swiper.isVertical() && kc === 38))) {\r\n return false;\r\n }\r\n if (e.shiftKey || e.altKey || e.ctrlKey || e.metaKey) {\r\n return undefined;\r\n }\r\n if (doc.activeElement && doc.activeElement.nodeName && (doc.activeElement.nodeName.toLowerCase() === 'input' || doc.activeElement.nodeName.toLowerCase() === 'textarea')) {\r\n return undefined;\r\n }\r\n if (swiper.params.keyboard.onlyInViewport && (kc === 37 || kc === 39 || kc === 38 || kc === 40)) {\r\n var inView = false;\r\n // Check that swiper should be inside of visible area of window\r\n if (swiper.$el.parents((\".\" + (swiper.params.slideClass))).length > 0 && swiper.$el.parents((\".\" + (swiper.params.slideActiveClass))).length === 0) {\r\n return undefined;\r\n }\r\n var windowWidth = win.innerWidth;\r\n var windowHeight = win.innerHeight;\r\n var swiperOffset = swiper.$el.offset();\r\n if (rtl) {\r\n swiperOffset.left -= swiper.$el[0].scrollLeft;\r\n }\r\n var swiperCoord = [\r\n [swiperOffset.left, swiperOffset.top],\r\n [swiperOffset.left + swiper.width, swiperOffset.top],\r\n [swiperOffset.left, swiperOffset.top + swiper.height],\r\n [swiperOffset.left + swiper.width, swiperOffset.top + swiper.height]];\r\n for (var i = 0; i < swiperCoord.length; i += 1) {\r\n var point = swiperCoord[i];\r\n if (\r\n point[0] >= 0 && point[0] <= windowWidth\r\n && point[1] >= 0 && point[1] <= windowHeight\r\n ) {\r\n inView = true;\r\n }\r\n }\r\n if (!inView) {\r\n return undefined;\r\n }\r\n }\r\n if (swiper.isHorizontal()) {\r\n if (kc === 37 || kc === 39) {\r\n if (e.preventDefault) {\r\n e.preventDefault();\r\n }\r\n else {\r\n e.returnValue = false;\r\n }\r\n }\r\n if ((kc === 39 && !rtl) || (kc === 37 && rtl)) {\r\n swiper.slideNext();\r\n }\r\n if ((kc === 37 && !rtl) || (kc === 39 && rtl)) {\r\n swiper.slidePrev();\r\n }\r\n } else {\r\n if (kc === 38 || kc === 40) {\r\n if (e.preventDefault) {\r\n e.preventDefault();\r\n }\r\n else {\r\n e.returnValue = false;\r\n }\r\n }\r\n if (kc === 40) {\r\n swiper.slideNext();\r\n }\r\n if (kc === 38) {\r\n swiper.slidePrev();\r\n }\r\n }\r\n swiper.emit('keyPress', kc);\r\n return undefined;\r\n },\r\n enable: function enable() {\r\n var swiper = this;\r\n if (swiper.keyboard.enabled) {\r\n return;\r\n }\r\n $(doc).on('keydown', swiper.keyboard.handle);\r\n swiper.keyboard.enabled = true;\r\n },\r\n disable: function disable() {\r\n var swiper = this;\r\n if (!swiper.keyboard.enabled) {\r\n return;\r\n }\r\n $(doc).off('keydown', swiper.keyboard.handle);\r\n swiper.keyboard.enabled = false;\r\n },\r\n };\r\n\r\n var Keyboard$1 = {\r\n name: 'keyboard',\r\n params: {\r\n keyboard: {\r\n enabled: false,\r\n onlyInViewport: true,\r\n },\r\n },\r\n create: function create() {\r\n var swiper = this;\r\n Utils.extend(swiper, {\r\n keyboard: {\r\n enabled: false,\r\n enable: Keyboard.enable.bind(swiper),\r\n disable: Keyboard.disable.bind(swiper),\r\n handle: Keyboard.handle.bind(swiper),\r\n },\r\n });\r\n },\r\n on: {\r\n init: function init() {\r\n var swiper = this;\r\n if (swiper.params.keyboard.enabled) {\r\n swiper.keyboard.enable();\r\n }\r\n },\r\n destroy: function destroy() {\r\n var swiper = this;\r\n if (swiper.keyboard.enabled) {\r\n swiper.keyboard.disable();\r\n }\r\n },\r\n },\r\n };\r\n\r\n function isEventSupported() {\r\n var eventName = 'onwheel';\r\n var isSupported = eventName in doc;\r\n\r\n if (!isSupported) {\r\n var element = doc.createElement('div');\r\n element.setAttribute(eventName, 'return;');\r\n isSupported = typeof element[eventName] === 'function';\r\n }\r\n\r\n if (!isSupported\r\n && doc.implementation\r\n && doc.implementation.hasFeature\r\n // always returns true in newer browsers as per the standard.\r\n // @see http://dom.spec.whatwg.org/#dom-domimplementation-hasfeature\r\n && doc.implementation.hasFeature('', '') !== true\r\n ) {\r\n // This is the only way to test support for the `wheel` event in IE9+.\r\n isSupported = doc.implementation.hasFeature('Events.wheel', '3.0');\r\n }\r\n\r\n return isSupported;\r\n }\r\n\r\n var Mousewheel = {\r\n lastScrollTime: Utils.now(),\r\n event: (function getEvent() {\r\n if (win.navigator.userAgent.indexOf('firefox') > -1) {\r\n return 'DOMMouseScroll';\r\n }\r\n return isEventSupported() ? 'wheel' : 'mousewheel';\r\n }()),\r\n normalize: function normalize(e) {\r\n // Reasonable defaults\r\n var PIXEL_STEP = 10;\r\n var LINE_HEIGHT = 40;\r\n var PAGE_HEIGHT = 800;\r\n\r\n var sX = 0;\r\n var sY = 0; // spinX, spinY\r\n var pX = 0;\r\n var pY = 0; // pixelX, pixelY\r\n\r\n // Legacy\r\n if ('detail' in e) {\r\n sY = e.detail;\r\n }\r\n if ('wheelDelta' in e) {\r\n sY = -e.wheelDelta / 120;\r\n }\r\n if ('wheelDeltaY' in e) {\r\n sY = -e.wheelDeltaY / 120;\r\n }\r\n if ('wheelDeltaX' in e) {\r\n sX = -e.wheelDeltaX / 120;\r\n }\r\n\r\n // side scrolling on FF with DOMMouseScroll\r\n if ('axis' in e && e.axis === e.HORIZONTAL_AXIS) {\r\n sX = sY;\r\n sY = 0;\r\n }\r\n\r\n pX = sX * PIXEL_STEP;\r\n pY = sY * PIXEL_STEP;\r\n\r\n if ('deltaY' in e) {\r\n pY = e.deltaY;\r\n }\r\n if ('deltaX' in e) {\r\n pX = e.deltaX;\r\n }\r\n\r\n if ((pX || pY) && e.deltaMode) {\r\n if (e.deltaMode === 1) { // delta in LINE units\r\n pX *= LINE_HEIGHT;\r\n pY *= LINE_HEIGHT;\r\n } else { // delta in PAGE units\r\n pX *= PAGE_HEIGHT;\r\n pY *= PAGE_HEIGHT;\r\n }\r\n }\r\n\r\n // Fall-back if spin cannot be determined\r\n if (pX && !sX) {\r\n sX = (pX < 1) ? -1 : 1;\r\n }\r\n if (pY && !sY) {\r\n sY = (pY < 1) ? -1 : 1;\r\n }\r\n\r\n return {\r\n spinX: sX,\r\n spinY: sY,\r\n pixelX: pX,\r\n pixelY: pY,\r\n };\r\n },\r\n handleMouseEnter: function handleMouseEnter() {\r\n var swiper = this;\r\n swiper.mouseEntered = true;\r\n },\r\n handleMouseLeave: function handleMouseLeave() {\r\n var swiper = this;\r\n swiper.mouseEntered = false;\r\n },\r\n handle: function handle(event) {\r\n var e = event;\r\n var swiper = this;\r\n var params = swiper.params.mousewheel;\r\n\r\n if (!swiper.mouseEntered && !params.releaseOnEdges) {\r\n return true;\r\n }\r\n\r\n if (e.originalEvent) {\r\n e = e.originalEvent;\r\n } // jquery fix\r\n var delta = 0;\r\n var rtlFactor = swiper.rtlTranslate ? -1 : 1;\r\n\r\n var data = Mousewheel.normalize(e);\r\n\r\n if (params.forceToAxis) {\r\n if (swiper.isHorizontal()) {\r\n if (Math.abs(data.pixelX) > Math.abs(data.pixelY)) {\r\n delta = data.pixelX * rtlFactor;\r\n }\r\n else {\r\n return true;\r\n }\r\n } else if (Math.abs(data.pixelY) > Math.abs(data.pixelX)) {\r\n delta = data.pixelY;\r\n }\r\n else {\r\n return true;\r\n }\r\n } else {\r\n delta = Math.abs(data.pixelX) > Math.abs(data.pixelY) ? -data.pixelX * rtlFactor : -data.pixelY;\r\n }\r\n\r\n if (delta === 0) {\r\n return true;\r\n }\r\n\r\n if (params.invert) {\r\n delta = -delta;\r\n }\r\n\r\n if (!swiper.params.freeMode) {\r\n if (Utils.now() - swiper.mousewheel.lastScrollTime > 60) {\r\n if (delta < 0) {\r\n if ((!swiper.isEnd || swiper.params.loop) && !swiper.animating) {\r\n swiper.slideNext();\r\n swiper.emit('scroll', e);\r\n } else if (params.releaseOnEdges) {\r\n return true;\r\n }\r\n } else if ((!swiper.isBeginning || swiper.params.loop) && !swiper.animating) {\r\n swiper.slidePrev();\r\n swiper.emit('scroll', e);\r\n } else if (params.releaseOnEdges) {\r\n return true;\r\n }\r\n }\r\n swiper.mousewheel.lastScrollTime = (new win.Date()).getTime();\r\n } else {\r\n // Freemode or scrollContainer:\r\n if (swiper.params.loop) {\r\n swiper.loopFix();\r\n }\r\n var position = swiper.getTranslate() + (delta * params.sensitivity);\r\n var wasBeginning = swiper.isBeginning;\r\n var wasEnd = swiper.isEnd;\r\n\r\n if (position >= swiper.minTranslate()) {\r\n position = swiper.minTranslate();\r\n }\r\n if (position <= swiper.maxTranslate()) {\r\n position = swiper.maxTranslate();\r\n }\r\n\r\n swiper.setTransition(0);\r\n swiper.setTranslate(position);\r\n swiper.updateProgress();\r\n swiper.updateActiveIndex();\r\n swiper.updateSlidesClasses();\r\n\r\n if ((!wasBeginning && swiper.isBeginning) || (!wasEnd && swiper.isEnd)) {\r\n swiper.updateSlidesClasses();\r\n }\r\n\r\n if (swiper.params.freeModeSticky) {\r\n clearTimeout(swiper.mousewheel.timeout);\r\n swiper.mousewheel.timeout = Utils.nextTick(function () {\r\n swiper.slideToClosest();\r\n }, 300);\r\n }\r\n // Emit event\r\n swiper.emit('scroll', e);\r\n\r\n // Stop autoplay\r\n if (swiper.params.autoplay && swiper.params.autoplayDisableOnInteraction) {\r\n swiper.autoplay.stop();\r\n }\r\n // Return page scroll on edge positions\r\n if (position === swiper.minTranslate() || position === swiper.maxTranslate()) {\r\n return true;\r\n }\r\n }\r\n\r\n if (e.preventDefault) {\r\n e.preventDefault();\r\n }\r\n else {\r\n e.returnValue = false;\r\n }\r\n return false;\r\n },\r\n enable: function enable() {\r\n var swiper = this;\r\n if (!Mousewheel.event) {\r\n return false;\r\n }\r\n if (swiper.mousewheel.enabled) {\r\n return false;\r\n }\r\n var target = swiper.$el;\r\n if (swiper.params.mousewheel.eventsTarged !== 'container') {\r\n target = $(swiper.params.mousewheel.eventsTarged);\r\n }\r\n target.on('mouseenter', swiper.mousewheel.handleMouseEnter);\r\n target.on('mouseleave', swiper.mousewheel.handleMouseLeave);\r\n target.on(Mousewheel.event, swiper.mousewheel.handle);\r\n swiper.mousewheel.enabled = true;\r\n return true;\r\n },\r\n disable: function disable() {\r\n var swiper = this;\r\n if (!Mousewheel.event) {\r\n return false;\r\n }\r\n if (!swiper.mousewheel.enabled) {\r\n return false;\r\n }\r\n var target = swiper.$el;\r\n if (swiper.params.mousewheel.eventsTarged !== 'container') {\r\n target = $(swiper.params.mousewheel.eventsTarged);\r\n }\r\n target.off(Mousewheel.event, swiper.mousewheel.handle);\r\n swiper.mousewheel.enabled = false;\r\n return true;\r\n },\r\n };\r\n\r\n var Mousewheel$1 = {\r\n name: 'mousewheel',\r\n params: {\r\n mousewheel: {\r\n enabled: false,\r\n releaseOnEdges: false,\r\n invert: false,\r\n forceToAxis: false,\r\n sensitivity: 1,\r\n eventsTarged: 'container',\r\n },\r\n },\r\n create: function create() {\r\n var swiper = this;\r\n Utils.extend(swiper, {\r\n mousewheel: {\r\n enabled: false,\r\n enable: Mousewheel.enable.bind(swiper),\r\n disable: Mousewheel.disable.bind(swiper),\r\n handle: Mousewheel.handle.bind(swiper),\r\n handleMouseEnter: Mousewheel.handleMouseEnter.bind(swiper),\r\n handleMouseLeave: Mousewheel.handleMouseLeave.bind(swiper),\r\n lastScrollTime: Utils.now(),\r\n },\r\n });\r\n },\r\n on: {\r\n init: function init() {\r\n var swiper = this;\r\n if (swiper.params.mousewheel.enabled) {\r\n swiper.mousewheel.enable();\r\n }\r\n },\r\n destroy: function destroy() {\r\n var swiper = this;\r\n if (swiper.mousewheel.enabled) {\r\n swiper.mousewheel.disable();\r\n }\r\n },\r\n },\r\n };\r\n\r\n var Navigation = {\r\n update: function update() {\r\n // Update Navigation Buttons\r\n var swiper = this;\r\n var params = swiper.params.navigation;\r\n\r\n if (swiper.params.loop) {\r\n return;\r\n }\r\n var ref = swiper.navigation;\r\n var $nextEl = ref.$nextEl;\r\n var $prevEl = ref.$prevEl;\r\n\r\n if ($prevEl && $prevEl.length > 0) {\r\n if (swiper.isBeginning) {\r\n $prevEl.addClass(params.disabledClass);\r\n } else {\r\n $prevEl.removeClass(params.disabledClass);\r\n }\r\n $prevEl[swiper.params.watchOverflow && swiper.isLocked ? 'addClass' : 'removeClass'](params.lockClass);\r\n }\r\n if ($nextEl && $nextEl.length > 0) {\r\n if (swiper.isEnd) {\r\n $nextEl.addClass(params.disabledClass);\r\n } else {\r\n $nextEl.removeClass(params.disabledClass);\r\n }\r\n $nextEl[swiper.params.watchOverflow && swiper.isLocked ? 'addClass' : 'removeClass'](params.lockClass);\r\n }\r\n },\r\n init: function init() {\r\n var swiper = this;\r\n var params = swiper.params.navigation;\r\n if (!(params.nextEl || params.prevEl)) {\r\n return;\r\n }\r\n\r\n var $nextEl;\r\n var $prevEl;\r\n if (params.nextEl) {\r\n $nextEl = $(params.nextEl);\r\n if (\r\n swiper.params.uniqueNavElements\r\n && typeof params.nextEl === 'string'\r\n && $nextEl.length > 1\r\n && swiper.$el.find(params.nextEl).length === 1\r\n ) {\r\n $nextEl = swiper.$el.find(params.nextEl);\r\n }\r\n }\r\n if (params.prevEl) {\r\n $prevEl = $(params.prevEl);\r\n if (\r\n swiper.params.uniqueNavElements\r\n && typeof params.prevEl === 'string'\r\n && $prevEl.length > 1\r\n && swiper.$el.find(params.prevEl).length === 1\r\n ) {\r\n $prevEl = swiper.$el.find(params.prevEl);\r\n }\r\n }\r\n\r\n if ($nextEl && $nextEl.length > 0) {\r\n $nextEl.on('click', function (e) {\r\n e.preventDefault();\r\n if (swiper.isEnd && !swiper.params.loop) {\r\n return;\r\n }\r\n swiper.slideNext();\r\n });\r\n }\r\n if ($prevEl && $prevEl.length > 0) {\r\n $prevEl.on('click', function (e) {\r\n e.preventDefault();\r\n if (swiper.isBeginning && !swiper.params.loop) {\r\n return;\r\n }\r\n swiper.slidePrev();\r\n });\r\n }\r\n\r\n Utils.extend(swiper.navigation, {\r\n $nextEl: $nextEl,\r\n nextEl: $nextEl && $nextEl[0],\r\n $prevEl: $prevEl,\r\n prevEl: $prevEl && $prevEl[0],\r\n });\r\n },\r\n destroy: function destroy() {\r\n var swiper = this;\r\n var ref = swiper.navigation;\r\n var $nextEl = ref.$nextEl;\r\n var $prevEl = ref.$prevEl;\r\n if ($nextEl && $nextEl.length) {\r\n $nextEl.off('click');\r\n $nextEl.removeClass(swiper.params.navigation.disabledClass);\r\n }\r\n if ($prevEl && $prevEl.length) {\r\n $prevEl.off('click');\r\n $prevEl.removeClass(swiper.params.navigation.disabledClass);\r\n }\r\n },\r\n };\r\n\r\n var Navigation$1 = {\r\n name: 'navigation',\r\n params: {\r\n navigation: {\r\n nextEl: null,\r\n prevEl: null,\r\n\r\n hideOnClick: false,\r\n disabledClass: 'swiper-button-disabled',\r\n hiddenClass: 'swiper-button-hidden',\r\n lockClass: 'swiper-button-lock',\r\n },\r\n },\r\n create: function create() {\r\n var swiper = this;\r\n Utils.extend(swiper, {\r\n navigation: {\r\n init: Navigation.init.bind(swiper),\r\n update: Navigation.update.bind(swiper),\r\n destroy: Navigation.destroy.bind(swiper),\r\n },\r\n });\r\n },\r\n on: {\r\n init: function init() {\r\n var swiper = this;\r\n swiper.navigation.init();\r\n swiper.navigation.update();\r\n },\r\n toEdge: function toEdge() {\r\n var swiper = this;\r\n swiper.navigation.update();\r\n },\r\n fromEdge: function fromEdge() {\r\n var swiper = this;\r\n swiper.navigation.update();\r\n },\r\n destroy: function destroy() {\r\n var swiper = this;\r\n swiper.navigation.destroy();\r\n },\r\n click: function click(e) {\r\n var swiper = this;\r\n var ref = swiper.navigation;\r\n var $nextEl = ref.$nextEl;\r\n var $prevEl = ref.$prevEl;\r\n if (\r\n swiper.params.navigation.hideOnClick\r\n && !$(e.target).is($prevEl)\r\n && !$(e.target).is($nextEl)\r\n ) {\r\n if ($nextEl) {\r\n $nextEl.toggleClass(swiper.params.navigation.hiddenClass);\r\n }\r\n if ($prevEl) {\r\n $prevEl.toggleClass(swiper.params.navigation.hiddenClass);\r\n }\r\n }\r\n },\r\n },\r\n };\r\n\r\n var Pagination = {\r\n update: function update() {\r\n // Render || Update Pagination bullets/items\r\n var swiper = this;\r\n var rtl = swiper.rtl;\r\n var params = swiper.params.pagination;\r\n if (!params.el || !swiper.pagination.el || !swiper.pagination.$el || swiper.pagination.$el.length === 0) {\r\n return;\r\n }\r\n var slidesLength = swiper.virtual && swiper.params.virtual.enabled ? swiper.virtual.slides.length : swiper.slides.length;\r\n var $el = swiper.pagination.$el;\r\n // Current/Total\r\n var current;\r\n var total = swiper.params.loop ? Math.ceil((slidesLength - (swiper.loopedSlides * 2)) / swiper.params.slidesPerGroup) : swiper.snapGrid.length;\r\n if (swiper.params.loop) {\r\n current = Math.ceil((swiper.activeIndex - swiper.loopedSlides) / swiper.params.slidesPerGroup);\r\n if (current > slidesLength - 1 - (swiper.loopedSlides * 2)) {\r\n current -= (slidesLength - (swiper.loopedSlides * 2));\r\n }\r\n if (current > total - 1) {\r\n current -= total;\r\n }\r\n if (current < 0 && swiper.params.paginationType !== 'bullets') {\r\n current = total + current;\r\n }\r\n } else if (typeof swiper.snapIndex !== 'undefined') {\r\n current = swiper.snapIndex;\r\n } else {\r\n current = swiper.activeIndex || 0;\r\n }\r\n // Types\r\n if (params.type === 'bullets' && swiper.pagination.bullets && swiper.pagination.bullets.length > 0) {\r\n var bullets = swiper.pagination.bullets;\r\n var firstIndex;\r\n var lastIndex;\r\n var midIndex;\r\n if (params.dynamicBullets) {\r\n swiper.pagination.bulletSize = bullets.eq(0)[swiper.isHorizontal() ? 'outerWidth' : 'outerHeight'](true);\r\n $el.css(swiper.isHorizontal() ? 'width' : 'height', ((swiper.pagination.bulletSize * (params.dynamicMainBullets + 4)) + \"px\"));\r\n if (params.dynamicMainBullets > 1 && swiper.previousIndex !== undefined) {\r\n swiper.pagination.dynamicBulletIndex += (current - swiper.previousIndex);\r\n if (swiper.pagination.dynamicBulletIndex > (params.dynamicMainBullets - 1)) {\r\n swiper.pagination.dynamicBulletIndex = params.dynamicMainBullets - 1;\r\n } else if (swiper.pagination.dynamicBulletIndex < 0) {\r\n swiper.pagination.dynamicBulletIndex = 0;\r\n }\r\n }\r\n firstIndex = current - swiper.pagination.dynamicBulletIndex;\r\n lastIndex = firstIndex + (Math.min(bullets.length, params.dynamicMainBullets) - 1);\r\n midIndex = (lastIndex + firstIndex) / 2;\r\n }\r\n bullets.removeClass(((params.bulletActiveClass) + \" \" + (params.bulletActiveClass) + \"-next \" + (params.bulletActiveClass) + \"-next-next \" + (params.bulletActiveClass) + \"-prev \" + (params.bulletActiveClass) + \"-prev-prev \" + (params.bulletActiveClass) + \"-main\"));\r\n if ($el.length > 1) {\r\n bullets.each(function (index, bullet) {\r\n var $bullet = $(bullet);\r\n var bulletIndex = $bullet.index();\r\n if (bulletIndex === current) {\r\n $bullet.addClass(params.bulletActiveClass);\r\n }\r\n if (params.dynamicBullets) {\r\n if (bulletIndex >= firstIndex && bulletIndex <= lastIndex) {\r\n $bullet.addClass(((params.bulletActiveClass) + \"-main\"));\r\n }\r\n if (bulletIndex === firstIndex) {\r\n $bullet\r\n .prev()\r\n .addClass(((params.bulletActiveClass) + \"-prev\"))\r\n .prev()\r\n .addClass(((params.bulletActiveClass) + \"-prev-prev\"));\r\n }\r\n if (bulletIndex === lastIndex) {\r\n $bullet\r\n .next()\r\n .addClass(((params.bulletActiveClass) + \"-next\"))\r\n .next()\r\n .addClass(((params.bulletActiveClass) + \"-next-next\"));\r\n }\r\n }\r\n });\r\n } else {\r\n var $bullet = bullets.eq(current);\r\n $bullet.addClass(params.bulletActiveClass);\r\n if (params.dynamicBullets) {\r\n var $firstDisplayedBullet = bullets.eq(firstIndex);\r\n var $lastDisplayedBullet = bullets.eq(lastIndex);\r\n for (var i = firstIndex; i <= lastIndex; i += 1) {\r\n bullets.eq(i).addClass(((params.bulletActiveClass) + \"-main\"));\r\n }\r\n $firstDisplayedBullet\r\n .prev()\r\n .addClass(((params.bulletActiveClass) + \"-prev\"))\r\n .prev()\r\n .addClass(((params.bulletActiveClass) + \"-prev-prev\"));\r\n $lastDisplayedBullet\r\n .next()\r\n .addClass(((params.bulletActiveClass) + \"-next\"))\r\n .next()\r\n .addClass(((params.bulletActiveClass) + \"-next-next\"));\r\n }\r\n }\r\n if (params.dynamicBullets) {\r\n var dynamicBulletsLength = Math.min(bullets.length, params.dynamicMainBullets + 4);\r\n var bulletsOffset = (((swiper.pagination.bulletSize * dynamicBulletsLength) - (swiper.pagination.bulletSize)) / 2) - (midIndex * swiper.pagination.bulletSize);\r\n var offsetProp = rtl ? 'right' : 'left';\r\n bullets.css(swiper.isHorizontal() ? offsetProp : 'top', (bulletsOffset + \"px\"));\r\n }\r\n }\r\n if (params.type === 'fraction') {\r\n $el.find((\".\" + (params.currentClass))).text(params.formatFractionCurrent(current + 1));\r\n $el.find((\".\" + (params.totalClass))).text(params.formatFractionTotal(total));\r\n }\r\n if (params.type === 'progressbar') {\r\n var progressbarDirection;\r\n if (params.progressbarOpposite) {\r\n progressbarDirection = swiper.isHorizontal() ? 'vertical' : 'horizontal';\r\n } else {\r\n progressbarDirection = swiper.isHorizontal() ? 'horizontal' : 'vertical';\r\n }\r\n var scale = (current + 1) / total;\r\n var scaleX = 1;\r\n var scaleY = 1;\r\n if (progressbarDirection === 'horizontal') {\r\n scaleX = scale;\r\n } else {\r\n scaleY = scale;\r\n }\r\n $el.find((\".\" + (params.progressbarFillClass))).transform((\"translate3d(0,0,0) scaleX(\" + scaleX + \") scaleY(\" + scaleY + \")\")).transition(swiper.params.speed);\r\n }\r\n if (params.type === 'custom' && params.renderCustom) {\r\n $el.html(params.renderCustom(swiper, current + 1, total));\r\n swiper.emit('paginationRender', swiper, $el[0]);\r\n } else {\r\n swiper.emit('paginationUpdate', swiper, $el[0]);\r\n }\r\n $el[swiper.params.watchOverflow && swiper.isLocked ? 'addClass' : 'removeClass'](params.lockClass);\r\n },\r\n render: function render() {\r\n // Render Container\r\n var swiper = this;\r\n var params = swiper.params.pagination;\r\n if (!params.el || !swiper.pagination.el || !swiper.pagination.$el || swiper.pagination.$el.length === 0) {\r\n return;\r\n }\r\n var slidesLength = swiper.virtual && swiper.params.virtual.enabled ? swiper.virtual.slides.length : swiper.slides.length;\r\n\r\n var $el = swiper.pagination.$el;\r\n var paginationHTML = '';\r\n if (params.type === 'bullets') {\r\n var numberOfBullets = swiper.params.loop ? Math.ceil((slidesLength - (swiper.loopedSlides * 2)) / swiper.params.slidesPerGroup) : swiper.snapGrid.length;\r\n for (var i = 0; i < numberOfBullets; i += 1) {\r\n if (params.renderBullet) {\r\n paginationHTML += params.renderBullet.call(swiper, i, params.bulletClass);\r\n } else {\r\n paginationHTML += \"<\" + (params.bulletElement) + \" class=\\\"\" + (params.bulletClass) + \"\\\">\";\r\n }\r\n }\r\n $el.html(paginationHTML);\r\n swiper.pagination.bullets = $el.find((\".\" + (params.bulletClass)));\r\n }\r\n if (params.type === 'fraction') {\r\n if (params.renderFraction) {\r\n paginationHTML = params.renderFraction.call(swiper, params.currentClass, params.totalClass);\r\n } else {\r\n paginationHTML = \"\"\r\n + ' / '\r\n + \"\";\r\n }\r\n $el.html(paginationHTML);\r\n }\r\n if (params.type === 'progressbar') {\r\n if (params.renderProgressbar) {\r\n paginationHTML = params.renderProgressbar.call(swiper, params.progressbarFillClass);\r\n } else {\r\n paginationHTML = \"\";\r\n }\r\n $el.html(paginationHTML);\r\n }\r\n if (params.type !== 'custom') {\r\n swiper.emit('paginationRender', swiper.pagination.$el[0]);\r\n }\r\n },\r\n init: function init() {\r\n var swiper = this;\r\n var params = swiper.params.pagination;\r\n if (!params.el) {\r\n return;\r\n }\r\n\r\n var $el = $(params.el);\r\n if ($el.length === 0) {\r\n return;\r\n }\r\n\r\n if (\r\n swiper.params.uniqueNavElements\r\n && typeof params.el === 'string'\r\n && $el.length > 1\r\n && swiper.$el.find(params.el).length === 1\r\n ) {\r\n $el = swiper.$el.find(params.el);\r\n }\r\n\r\n if (params.type === 'bullets' && params.clickable) {\r\n $el.addClass(params.clickableClass);\r\n }\r\n\r\n $el.addClass(params.modifierClass + params.type);\r\n\r\n if (params.type === 'bullets' && params.dynamicBullets) {\r\n $el.addClass((\"\" + (params.modifierClass) + (params.type) + \"-dynamic\"));\r\n swiper.pagination.dynamicBulletIndex = 0;\r\n if (params.dynamicMainBullets < 1) {\r\n params.dynamicMainBullets = 1;\r\n }\r\n }\r\n if (params.type === 'progressbar' && params.progressbarOpposite) {\r\n $el.addClass(params.progressbarOppositeClass);\r\n }\r\n\r\n if (params.clickable) {\r\n $el.on('click', (\".\" + (params.bulletClass)), function onClick(e) {\r\n e.preventDefault();\r\n var index = $(this).index() * swiper.params.slidesPerGroup;\r\n if (swiper.params.loop) {\r\n index += swiper.loopedSlides;\r\n }\r\n swiper.slideTo(index);\r\n });\r\n }\r\n\r\n Utils.extend(swiper.pagination, {\r\n $el: $el,\r\n el: $el[0],\r\n });\r\n },\r\n destroy: function destroy() {\r\n var swiper = this;\r\n var params = swiper.params.pagination;\r\n if (!params.el || !swiper.pagination.el || !swiper.pagination.$el || swiper.pagination.$el.length === 0) {\r\n return;\r\n }\r\n var $el = swiper.pagination.$el;\r\n\r\n $el.removeClass(params.hiddenClass);\r\n $el.removeClass(params.modifierClass + params.type);\r\n if (swiper.pagination.bullets) {\r\n swiper.pagination.bullets.removeClass(params.bulletActiveClass);\r\n }\r\n if (params.clickable) {\r\n $el.off('click', (\".\" + (params.bulletClass)));\r\n }\r\n },\r\n };\r\n\r\n var Pagination$1 = {\r\n name: 'pagination',\r\n params: {\r\n pagination: {\r\n el: null,\r\n bulletElement: 'span',\r\n clickable: false,\r\n hideOnClick: false,\r\n renderBullet: null,\r\n renderProgressbar: null,\r\n renderFraction: null,\r\n renderCustom: null,\r\n progressbarOpposite: false,\r\n type: 'bullets', // 'bullets' or 'progressbar' or 'fraction' or 'custom'\r\n dynamicBullets: false,\r\n dynamicMainBullets: 1,\r\n formatFractionCurrent: function (number) {\r\n return number;\r\n },\r\n formatFractionTotal: function (number) {\r\n return number;\r\n },\r\n bulletClass: 'swiper-pagination-bullet',\r\n bulletActiveClass: 'swiper-pagination-bullet-active',\r\n modifierClass: 'swiper-pagination-', // NEW\r\n currentClass: 'swiper-pagination-current',\r\n totalClass: 'swiper-pagination-total',\r\n hiddenClass: 'swiper-pagination-hidden',\r\n progressbarFillClass: 'swiper-pagination-progressbar-fill',\r\n progressbarOppositeClass: 'swiper-pagination-progressbar-opposite',\r\n clickableClass: 'swiper-pagination-clickable', // NEW\r\n lockClass: 'swiper-pagination-lock',\r\n },\r\n },\r\n create: function create() {\r\n var swiper = this;\r\n Utils.extend(swiper, {\r\n pagination: {\r\n init: Pagination.init.bind(swiper),\r\n render: Pagination.render.bind(swiper),\r\n update: Pagination.update.bind(swiper),\r\n destroy: Pagination.destroy.bind(swiper),\r\n dynamicBulletIndex: 0,\r\n },\r\n });\r\n },\r\n on: {\r\n init: function init() {\r\n var swiper = this;\r\n swiper.pagination.init();\r\n swiper.pagination.render();\r\n swiper.pagination.update();\r\n },\r\n activeIndexChange: function activeIndexChange() {\r\n var swiper = this;\r\n if (swiper.params.loop) {\r\n swiper.pagination.update();\r\n } else if (typeof swiper.snapIndex === 'undefined') {\r\n swiper.pagination.update();\r\n }\r\n },\r\n snapIndexChange: function snapIndexChange() {\r\n var swiper = this;\r\n if (!swiper.params.loop) {\r\n swiper.pagination.update();\r\n }\r\n },\r\n slidesLengthChange: function slidesLengthChange() {\r\n var swiper = this;\r\n if (swiper.params.loop) {\r\n swiper.pagination.render();\r\n swiper.pagination.update();\r\n }\r\n },\r\n snapGridLengthChange: function snapGridLengthChange() {\r\n var swiper = this;\r\n if (!swiper.params.loop) {\r\n swiper.pagination.render();\r\n swiper.pagination.update();\r\n }\r\n },\r\n destroy: function destroy() {\r\n var swiper = this;\r\n swiper.pagination.destroy();\r\n },\r\n click: function click(e) {\r\n var swiper = this;\r\n if (\r\n swiper.params.pagination.el\r\n && swiper.params.pagination.hideOnClick\r\n && swiper.pagination.$el.length > 0\r\n && !$(e.target).hasClass(swiper.params.pagination.bulletClass)\r\n ) {\r\n swiper.pagination.$el.toggleClass(swiper.params.pagination.hiddenClass);\r\n }\r\n },\r\n },\r\n };\r\n\r\n var Scrollbar = {\r\n setTranslate: function setTranslate() {\r\n var swiper = this;\r\n if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) {\r\n return;\r\n }\r\n var scrollbar = swiper.scrollbar;\r\n var rtl = swiper.rtlTranslate;\r\n var progress = swiper.progress;\r\n var dragSize = scrollbar.dragSize;\r\n var trackSize = scrollbar.trackSize;\r\n var $dragEl = scrollbar.$dragEl;\r\n var $el = scrollbar.$el;\r\n var params = swiper.params.scrollbar;\r\n\r\n var newSize = dragSize;\r\n var newPos = (trackSize - dragSize) * progress;\r\n if (rtl) {\r\n newPos = -newPos;\r\n if (newPos > 0) {\r\n newSize = dragSize - newPos;\r\n newPos = 0;\r\n } else if (-newPos + dragSize > trackSize) {\r\n newSize = trackSize + newPos;\r\n }\r\n } else if (newPos < 0) {\r\n newSize = dragSize + newPos;\r\n newPos = 0;\r\n } else if (newPos + dragSize > trackSize) {\r\n newSize = trackSize - newPos;\r\n }\r\n if (swiper.isHorizontal()) {\r\n if (Support.transforms3d) {\r\n $dragEl.transform((\"translate3d(\" + newPos + \"px, 0, 0)\"));\r\n } else {\r\n $dragEl.transform((\"translateX(\" + newPos + \"px)\"));\r\n }\r\n $dragEl[0].style.width = newSize + \"px\";\r\n } else {\r\n if (Support.transforms3d) {\r\n $dragEl.transform((\"translate3d(0px, \" + newPos + \"px, 0)\"));\r\n } else {\r\n $dragEl.transform((\"translateY(\" + newPos + \"px)\"));\r\n }\r\n $dragEl[0].style.height = newSize + \"px\";\r\n }\r\n if (params.hide) {\r\n clearTimeout(swiper.scrollbar.timeout);\r\n $el[0].style.opacity = 1;\r\n swiper.scrollbar.timeout = setTimeout(function () {\r\n $el[0].style.opacity = 0;\r\n $el.transition(400);\r\n }, 1000);\r\n }\r\n },\r\n setTransition: function setTransition(duration) {\r\n var swiper = this;\r\n if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) {\r\n return;\r\n }\r\n swiper.scrollbar.$dragEl.transition(duration);\r\n },\r\n updateSize: function updateSize() {\r\n var swiper = this;\r\n if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) {\r\n return;\r\n }\r\n\r\n var scrollbar = swiper.scrollbar;\r\n var $dragEl = scrollbar.$dragEl;\r\n var $el = scrollbar.$el;\r\n\r\n $dragEl[0].style.width = '';\r\n $dragEl[0].style.height = '';\r\n var trackSize = swiper.isHorizontal() ? $el[0].offsetWidth : $el[0].offsetHeight;\r\n\r\n var divider = swiper.size / swiper.virtualSize;\r\n var moveDivider = divider * (trackSize / swiper.size);\r\n var dragSize;\r\n if (swiper.params.scrollbar.dragSize === 'auto') {\r\n dragSize = trackSize * divider;\r\n } else {\r\n dragSize = parseInt(swiper.params.scrollbar.dragSize, 10);\r\n }\r\n\r\n if (swiper.isHorizontal()) {\r\n $dragEl[0].style.width = dragSize + \"px\";\r\n } else {\r\n $dragEl[0].style.height = dragSize + \"px\";\r\n }\r\n\r\n if (divider >= 1) {\r\n $el[0].style.display = 'none';\r\n } else {\r\n $el[0].style.display = '';\r\n }\r\n if (swiper.params.scrollbarHide) {\r\n $el[0].style.opacity = 0;\r\n }\r\n Utils.extend(scrollbar, {\r\n trackSize: trackSize,\r\n divider: divider,\r\n moveDivider: moveDivider,\r\n dragSize: dragSize,\r\n });\r\n scrollbar.$el[swiper.params.watchOverflow && swiper.isLocked ? 'addClass' : 'removeClass'](swiper.params.scrollbar.lockClass);\r\n },\r\n setDragPosition: function setDragPosition(e) {\r\n var swiper = this;\r\n var scrollbar = swiper.scrollbar;\r\n var rtl = swiper.rtlTranslate;\r\n var $el = scrollbar.$el;\r\n var dragSize = scrollbar.dragSize;\r\n var trackSize = scrollbar.trackSize;\r\n\r\n var pointerPosition;\r\n if (swiper.isHorizontal()) {\r\n pointerPosition = ((e.type === 'touchstart' || e.type === 'touchmove') ? e.targetTouches[0].pageX : e.pageX || e.clientX);\r\n } else {\r\n pointerPosition = ((e.type === 'touchstart' || e.type === 'touchmove') ? e.targetTouches[0].pageY : e.pageY || e.clientY);\r\n }\r\n var positionRatio;\r\n positionRatio = ((pointerPosition) - $el.offset()[swiper.isHorizontal() ? 'left' : 'top'] - (dragSize / 2)) / (trackSize - dragSize);\r\n positionRatio = Math.max(Math.min(positionRatio, 1), 0);\r\n if (rtl) {\r\n positionRatio = 1 - positionRatio;\r\n }\r\n\r\n var position = swiper.minTranslate() + ((swiper.maxTranslate() - swiper.minTranslate()) * positionRatio);\r\n\r\n swiper.updateProgress(position);\r\n swiper.setTranslate(position);\r\n swiper.updateActiveIndex();\r\n swiper.updateSlidesClasses();\r\n },\r\n onDragStart: function onDragStart(e) {\r\n var swiper = this;\r\n var params = swiper.params.scrollbar;\r\n var scrollbar = swiper.scrollbar;\r\n var $wrapperEl = swiper.$wrapperEl;\r\n var $el = scrollbar.$el;\r\n var $dragEl = scrollbar.$dragEl;\r\n swiper.scrollbar.isTouched = true;\r\n e.preventDefault();\r\n e.stopPropagation();\r\n\r\n $wrapperEl.transition(100);\r\n $dragEl.transition(100);\r\n scrollbar.setDragPosition(e);\r\n\r\n clearTimeout(swiper.scrollbar.dragTimeout);\r\n\r\n $el.transition(0);\r\n if (params.hide) {\r\n $el.css('opacity', 1);\r\n }\r\n swiper.emit('scrollbarDragStart', e);\r\n },\r\n onDragMove: function onDragMove(e) {\r\n var swiper = this;\r\n var scrollbar = swiper.scrollbar;\r\n var $wrapperEl = swiper.$wrapperEl;\r\n var $el = scrollbar.$el;\r\n var $dragEl = scrollbar.$dragEl;\r\n\r\n if (!swiper.scrollbar.isTouched) {\r\n return;\r\n }\r\n if (e.preventDefault) {\r\n e.preventDefault();\r\n }\r\n else {\r\n e.returnValue = false;\r\n }\r\n scrollbar.setDragPosition(e);\r\n $wrapperEl.transition(0);\r\n $el.transition(0);\r\n $dragEl.transition(0);\r\n swiper.emit('scrollbarDragMove', e);\r\n },\r\n onDragEnd: function onDragEnd(e) {\r\n var swiper = this;\r\n\r\n var params = swiper.params.scrollbar;\r\n var scrollbar = swiper.scrollbar;\r\n var $el = scrollbar.$el;\r\n\r\n if (!swiper.scrollbar.isTouched) {\r\n return;\r\n }\r\n swiper.scrollbar.isTouched = false;\r\n if (params.hide) {\r\n clearTimeout(swiper.scrollbar.dragTimeout);\r\n swiper.scrollbar.dragTimeout = Utils.nextTick(function () {\r\n $el.css('opacity', 0);\r\n $el.transition(400);\r\n }, 1000);\r\n }\r\n swiper.emit('scrollbarDragEnd', e);\r\n if (params.snapOnRelease) {\r\n swiper.slideToClosest();\r\n }\r\n },\r\n enableDraggable: function enableDraggable() {\r\n var swiper = this;\r\n if (!swiper.params.scrollbar.el) {\r\n return;\r\n }\r\n var scrollbar = swiper.scrollbar;\r\n var touchEvents = swiper.touchEvents;\r\n var touchEventsDesktop = swiper.touchEventsDesktop;\r\n var params = swiper.params;\r\n var $el = scrollbar.$el;\r\n var target = $el[0];\r\n var activeListener = Support.passiveListener && params.passiveListeners ? {\r\n passive: false,\r\n capture: false\r\n } : false;\r\n var passiveListener = Support.passiveListener && params.passiveListeners ? {\r\n passive: true,\r\n capture: false\r\n } : false;\r\n if (!Support.touch && (Support.pointerEvents || Support.prefixedPointerEvents)) {\r\n target.addEventListener(touchEventsDesktop.start, swiper.scrollbar.onDragStart, activeListener);\r\n doc.addEventListener(touchEventsDesktop.move, swiper.scrollbar.onDragMove, activeListener);\r\n doc.addEventListener(touchEventsDesktop.end, swiper.scrollbar.onDragEnd, passiveListener);\r\n } else {\r\n if (Support.touch) {\r\n target.addEventListener(touchEvents.start, swiper.scrollbar.onDragStart, activeListener);\r\n target.addEventListener(touchEvents.move, swiper.scrollbar.onDragMove, activeListener);\r\n target.addEventListener(touchEvents.end, swiper.scrollbar.onDragEnd, passiveListener);\r\n }\r\n if ((params.simulateTouch && !Device.ios && !Device.android) || (params.simulateTouch && !Support.touch && Device.ios)) {\r\n target.addEventListener('mousedown', swiper.scrollbar.onDragStart, activeListener);\r\n doc.addEventListener('mousemove', swiper.scrollbar.onDragMove, activeListener);\r\n doc.addEventListener('mouseup', swiper.scrollbar.onDragEnd, passiveListener);\r\n }\r\n }\r\n },\r\n disableDraggable: function disableDraggable() {\r\n var swiper = this;\r\n if (!swiper.params.scrollbar.el) {\r\n return;\r\n }\r\n var scrollbar = swiper.scrollbar;\r\n var touchEvents = swiper.touchEvents;\r\n var touchEventsDesktop = swiper.touchEventsDesktop;\r\n var params = swiper.params;\r\n var $el = scrollbar.$el;\r\n var target = $el[0];\r\n var activeListener = Support.passiveListener && params.passiveListeners ? {\r\n passive: false,\r\n capture: false\r\n } : false;\r\n var passiveListener = Support.passiveListener && params.passiveListeners ? {\r\n passive: true,\r\n capture: false\r\n } : false;\r\n if (!Support.touch && (Support.pointerEvents || Support.prefixedPointerEvents)) {\r\n target.removeEventListener(touchEventsDesktop.start, swiper.scrollbar.onDragStart, activeListener);\r\n doc.removeEventListener(touchEventsDesktop.move, swiper.scrollbar.onDragMove, activeListener);\r\n doc.removeEventListener(touchEventsDesktop.end, swiper.scrollbar.onDragEnd, passiveListener);\r\n } else {\r\n if (Support.touch) {\r\n target.removeEventListener(touchEvents.start, swiper.scrollbar.onDragStart, activeListener);\r\n target.removeEventListener(touchEvents.move, swiper.scrollbar.onDragMove, activeListener);\r\n target.removeEventListener(touchEvents.end, swiper.scrollbar.onDragEnd, passiveListener);\r\n }\r\n if ((params.simulateTouch && !Device.ios && !Device.android) || (params.simulateTouch && !Support.touch && Device.ios)) {\r\n target.removeEventListener('mousedown', swiper.scrollbar.onDragStart, activeListener);\r\n doc.removeEventListener('mousemove', swiper.scrollbar.onDragMove, activeListener);\r\n doc.removeEventListener('mouseup', swiper.scrollbar.onDragEnd, passiveListener);\r\n }\r\n }\r\n },\r\n init: function init() {\r\n var swiper = this;\r\n if (!swiper.params.scrollbar.el) {\r\n return;\r\n }\r\n var scrollbar = swiper.scrollbar;\r\n var $swiperEl = swiper.$el;\r\n var params = swiper.params.scrollbar;\r\n\r\n var $el = $(params.el);\r\n if (swiper.params.uniqueNavElements && typeof params.el === 'string' && $el.length > 1 && $swiperEl.find(params.el).length === 1) {\r\n $el = $swiperEl.find(params.el);\r\n }\r\n\r\n var $dragEl = $el.find((\".\" + (swiper.params.scrollbar.dragClass)));\r\n if ($dragEl.length === 0) {\r\n $dragEl = $((\"
\"));\r\n $el.append($dragEl);\r\n }\r\n\r\n Utils.extend(scrollbar, {\r\n $el: $el,\r\n el: $el[0],\r\n $dragEl: $dragEl,\r\n dragEl: $dragEl[0],\r\n });\r\n\r\n if (params.draggable) {\r\n scrollbar.enableDraggable();\r\n }\r\n },\r\n destroy: function destroy() {\r\n var swiper = this;\r\n swiper.scrollbar.disableDraggable();\r\n },\r\n };\r\n\r\n var Scrollbar$1 = {\r\n name: 'scrollbar',\r\n params: {\r\n scrollbar: {\r\n el: null,\r\n dragSize: 'auto',\r\n hide: false,\r\n draggable: false,\r\n snapOnRelease: true,\r\n lockClass: 'swiper-scrollbar-lock',\r\n dragClass: 'swiper-scrollbar-drag',\r\n },\r\n },\r\n create: function create() {\r\n var swiper = this;\r\n Utils.extend(swiper, {\r\n scrollbar: {\r\n init: Scrollbar.init.bind(swiper),\r\n destroy: Scrollbar.destroy.bind(swiper),\r\n updateSize: Scrollbar.updateSize.bind(swiper),\r\n setTranslate: Scrollbar.setTranslate.bind(swiper),\r\n setTransition: Scrollbar.setTransition.bind(swiper),\r\n enableDraggable: Scrollbar.enableDraggable.bind(swiper),\r\n disableDraggable: Scrollbar.disableDraggable.bind(swiper),\r\n setDragPosition: Scrollbar.setDragPosition.bind(swiper),\r\n onDragStart: Scrollbar.onDragStart.bind(swiper),\r\n onDragMove: Scrollbar.onDragMove.bind(swiper),\r\n onDragEnd: Scrollbar.onDragEnd.bind(swiper),\r\n isTouched: false,\r\n timeout: null,\r\n dragTimeout: null,\r\n },\r\n });\r\n },\r\n on: {\r\n init: function init() {\r\n var swiper = this;\r\n swiper.scrollbar.init();\r\n swiper.scrollbar.updateSize();\r\n swiper.scrollbar.setTranslate();\r\n },\r\n update: function update() {\r\n var swiper = this;\r\n swiper.scrollbar.updateSize();\r\n },\r\n resize: function resize() {\r\n var swiper = this;\r\n swiper.scrollbar.updateSize();\r\n },\r\n observerUpdate: function observerUpdate() {\r\n var swiper = this;\r\n swiper.scrollbar.updateSize();\r\n },\r\n setTranslate: function setTranslate() {\r\n var swiper = this;\r\n swiper.scrollbar.setTranslate();\r\n },\r\n setTransition: function setTransition(duration) {\r\n var swiper = this;\r\n swiper.scrollbar.setTransition(duration);\r\n },\r\n destroy: function destroy() {\r\n var swiper = this;\r\n swiper.scrollbar.destroy();\r\n },\r\n },\r\n };\r\n\r\n var Parallax = {\r\n setTransform: function setTransform(el, progress) {\r\n var swiper = this;\r\n var rtl = swiper.rtl;\r\n\r\n var $el = $(el);\r\n var rtlFactor = rtl ? -1 : 1;\r\n\r\n var p = $el.attr('data-swiper-parallax') || '0';\r\n var x = $el.attr('data-swiper-parallax-x');\r\n var y = $el.attr('data-swiper-parallax-y');\r\n var scale = $el.attr('data-swiper-parallax-scale');\r\n var opacity = $el.attr('data-swiper-parallax-opacity');\r\n\r\n if (x || y) {\r\n x = x || '0';\r\n y = y || '0';\r\n } else if (swiper.isHorizontal()) {\r\n x = p;\r\n y = '0';\r\n } else {\r\n y = p;\r\n x = '0';\r\n }\r\n\r\n if ((x).indexOf('%') >= 0) {\r\n x = (parseInt(x, 10) * progress * rtlFactor) + \"%\";\r\n } else {\r\n x = (x * progress * rtlFactor) + \"px\";\r\n }\r\n if ((y).indexOf('%') >= 0) {\r\n y = (parseInt(y, 10) * progress) + \"%\";\r\n } else {\r\n y = (y * progress) + \"px\";\r\n }\r\n\r\n if (typeof opacity !== 'undefined' && opacity !== null) {\r\n var currentOpacity = opacity - ((opacity - 1) * (1 - Math.abs(progress)));\r\n $el[0].style.opacity = currentOpacity;\r\n }\r\n if (typeof scale === 'undefined' || scale === null) {\r\n $el.transform((\"translate3d(\" + x + \", \" + y + \", 0px)\"));\r\n } else {\r\n var currentScale = scale - ((scale - 1) * (1 - Math.abs(progress)));\r\n $el.transform((\"translate3d(\" + x + \", \" + y + \", 0px) scale(\" + currentScale + \")\"));\r\n }\r\n },\r\n setTranslate: function setTranslate() {\r\n var swiper = this;\r\n var $el = swiper.$el;\r\n var slides = swiper.slides;\r\n var progress = swiper.progress;\r\n var snapGrid = swiper.snapGrid;\r\n $el.children('[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y]')\r\n .each(function (index, el) {\r\n swiper.parallax.setTransform(el, progress);\r\n });\r\n slides.each(function (slideIndex, slideEl) {\r\n var slideProgress = slideEl.progress;\r\n if (swiper.params.slidesPerGroup > 1 && swiper.params.slidesPerView !== 'auto') {\r\n slideProgress += Math.ceil(slideIndex / 2) - (progress * (snapGrid.length - 1));\r\n }\r\n slideProgress = Math.min(Math.max(slideProgress, -1), 1);\r\n $(slideEl).find('[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y]')\r\n .each(function (index, el) {\r\n swiper.parallax.setTransform(el, slideProgress);\r\n });\r\n });\r\n },\r\n setTransition: function setTransition(duration) {\r\n if (duration === void 0) duration = this.params.speed;\r\n\r\n var swiper = this;\r\n var $el = swiper.$el;\r\n $el.find('[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y]')\r\n .each(function (index, parallaxEl) {\r\n var $parallaxEl = $(parallaxEl);\r\n var parallaxDuration = parseInt($parallaxEl.attr('data-swiper-parallax-duration'), 10) || duration;\r\n if (duration === 0) {\r\n parallaxDuration = 0;\r\n }\r\n $parallaxEl.transition(parallaxDuration);\r\n });\r\n },\r\n };\r\n\r\n var Parallax$1 = {\r\n name: 'parallax',\r\n params: {\r\n parallax: {\r\n enabled: false,\r\n },\r\n },\r\n create: function create() {\r\n var swiper = this;\r\n Utils.extend(swiper, {\r\n parallax: {\r\n setTransform: Parallax.setTransform.bind(swiper),\r\n setTranslate: Parallax.setTranslate.bind(swiper),\r\n setTransition: Parallax.setTransition.bind(swiper),\r\n },\r\n });\r\n },\r\n on: {\r\n beforeInit: function beforeInit() {\r\n var swiper = this;\r\n if (!swiper.params.parallax.enabled) {\r\n return;\r\n }\r\n swiper.params.watchSlidesProgress = true;\r\n swiper.originalParams.watchSlidesProgress = true;\r\n },\r\n init: function init() {\r\n var swiper = this;\r\n if (!swiper.params.parallax) {\r\n return;\r\n }\r\n swiper.parallax.setTranslate();\r\n },\r\n setTranslate: function setTranslate() {\r\n var swiper = this;\r\n if (!swiper.params.parallax) {\r\n return;\r\n }\r\n swiper.parallax.setTranslate();\r\n },\r\n setTransition: function setTransition(duration) {\r\n var swiper = this;\r\n if (!swiper.params.parallax) {\r\n return;\r\n }\r\n swiper.parallax.setTransition(duration);\r\n },\r\n },\r\n };\r\n\r\n var Zoom = {\r\n // Calc Scale From Multi-touches\r\n getDistanceBetweenTouches: function getDistanceBetweenTouches(e) {\r\n if (e.targetTouches.length < 2) {\r\n return 1;\r\n }\r\n var x1 = e.targetTouches[0].pageX;\r\n var y1 = e.targetTouches[0].pageY;\r\n var x2 = e.targetTouches[1].pageX;\r\n var y2 = e.targetTouches[1].pageY;\r\n var distance = Math.sqrt((Math.pow((x2 - x1), 2)) + (Math.pow((y2 - y1), 2)));\r\n return distance;\r\n },\r\n // Events\r\n onGestureStart: function onGestureStart(e) {\r\n var swiper = this;\r\n var params = swiper.params.zoom;\r\n var zoom = swiper.zoom;\r\n var gesture = zoom.gesture;\r\n zoom.fakeGestureTouched = false;\r\n zoom.fakeGestureMoved = false;\r\n if (!Support.gestures) {\r\n if (e.type !== 'touchstart' || (e.type === 'touchstart' && e.targetTouches.length < 2)) {\r\n return;\r\n }\r\n zoom.fakeGestureTouched = true;\r\n gesture.scaleStart = Zoom.getDistanceBetweenTouches(e);\r\n }\r\n if (!gesture.$slideEl || !gesture.$slideEl.length) {\r\n gesture.$slideEl = $(e.target).closest('.swiper-slide');\r\n if (gesture.$slideEl.length === 0) {\r\n gesture.$slideEl = swiper.slides.eq(swiper.activeIndex);\r\n }\r\n gesture.$imageEl = gesture.$slideEl.find('img, svg, canvas');\r\n gesture.$imageWrapEl = gesture.$imageEl.parent((\".\" + (params.containerClass)));\r\n gesture.maxRatio = gesture.$imageWrapEl.attr('data-swiper-zoom') || params.maxRatio;\r\n if (gesture.$imageWrapEl.length === 0) {\r\n gesture.$imageEl = undefined;\r\n return;\r\n }\r\n }\r\n gesture.$imageEl.transition(0);\r\n swiper.zoom.isScaling = true;\r\n },\r\n onGestureChange: function onGestureChange(e) {\r\n var swiper = this;\r\n var params = swiper.params.zoom;\r\n var zoom = swiper.zoom;\r\n var gesture = zoom.gesture;\r\n if (!Support.gestures) {\r\n if (e.type !== 'touchmove' || (e.type === 'touchmove' && e.targetTouches.length < 2)) {\r\n return;\r\n }\r\n zoom.fakeGestureMoved = true;\r\n gesture.scaleMove = Zoom.getDistanceBetweenTouches(e);\r\n }\r\n if (!gesture.$imageEl || gesture.$imageEl.length === 0) {\r\n return;\r\n }\r\n if (Support.gestures) {\r\n swiper.zoom.scale = e.scale * zoom.currentScale;\r\n } else {\r\n zoom.scale = (gesture.scaleMove / gesture.scaleStart) * zoom.currentScale;\r\n }\r\n if (zoom.scale > gesture.maxRatio) {\r\n zoom.scale = (gesture.maxRatio - 1) + (Math.pow(((zoom.scale - gesture.maxRatio) + 1), 0.5));\r\n }\r\n if (zoom.scale < params.minRatio) {\r\n zoom.scale = (params.minRatio + 1) - (Math.pow(((params.minRatio - zoom.scale) + 1), 0.5));\r\n }\r\n gesture.$imageEl.transform((\"translate3d(0,0,0) scale(\" + (zoom.scale) + \")\"));\r\n },\r\n onGestureEnd: function onGestureEnd(e) {\r\n var swiper = this;\r\n var params = swiper.params.zoom;\r\n var zoom = swiper.zoom;\r\n var gesture = zoom.gesture;\r\n if (!Support.gestures) {\r\n if (!zoom.fakeGestureTouched || !zoom.fakeGestureMoved) {\r\n return;\r\n }\r\n if (e.type !== 'touchend' || (e.type === 'touchend' && e.changedTouches.length < 2 && !Device.android)) {\r\n return;\r\n }\r\n zoom.fakeGestureTouched = false;\r\n zoom.fakeGestureMoved = false;\r\n }\r\n if (!gesture.$imageEl || gesture.$imageEl.length === 0) {\r\n return;\r\n }\r\n zoom.scale = Math.max(Math.min(zoom.scale, gesture.maxRatio), params.minRatio);\r\n gesture.$imageEl.transition(swiper.params.speed).transform((\"translate3d(0,0,0) scale(\" + (zoom.scale) + \")\"));\r\n zoom.currentScale = zoom.scale;\r\n zoom.isScaling = false;\r\n if (zoom.scale === 1) {\r\n gesture.$slideEl = undefined;\r\n }\r\n },\r\n onTouchStart: function onTouchStart(e) {\r\n var swiper = this;\r\n var zoom = swiper.zoom;\r\n var gesture = zoom.gesture;\r\n var image = zoom.image;\r\n if (!gesture.$imageEl || gesture.$imageEl.length === 0) {\r\n return;\r\n }\r\n if (image.isTouched) {\r\n return;\r\n }\r\n if (Device.android) {\r\n e.preventDefault();\r\n }\r\n image.isTouched = true;\r\n image.touchesStart.x = e.type === 'touchstart' ? e.targetTouches[0].pageX : e.pageX;\r\n image.touchesStart.y = e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY;\r\n },\r\n onTouchMove: function onTouchMove(e) {\r\n var swiper = this;\r\n var zoom = swiper.zoom;\r\n var gesture = zoom.gesture;\r\n var image = zoom.image;\r\n var velocity = zoom.velocity;\r\n if (!gesture.$imageEl || gesture.$imageEl.length === 0) {\r\n return;\r\n }\r\n swiper.allowClick = false;\r\n if (!image.isTouched || !gesture.$slideEl) {\r\n return;\r\n }\r\n\r\n if (!image.isMoved) {\r\n image.width = gesture.$imageEl[0].offsetWidth;\r\n image.height = gesture.$imageEl[0].offsetHeight;\r\n image.startX = Utils.getTranslate(gesture.$imageWrapEl[0], 'x') || 0;\r\n image.startY = Utils.getTranslate(gesture.$imageWrapEl[0], 'y') || 0;\r\n gesture.slideWidth = gesture.$slideEl[0].offsetWidth;\r\n gesture.slideHeight = gesture.$slideEl[0].offsetHeight;\r\n gesture.$imageWrapEl.transition(0);\r\n if (swiper.rtl) {\r\n image.startX = -image.startX;\r\n image.startY = -image.startY;\r\n }\r\n }\r\n // Define if we need image drag\r\n var scaledWidth = image.width * zoom.scale;\r\n var scaledHeight = image.height * zoom.scale;\r\n\r\n if (scaledWidth < gesture.slideWidth && scaledHeight < gesture.slideHeight) {\r\n return;\r\n }\r\n\r\n image.minX = Math.min(((gesture.slideWidth / 2) - (scaledWidth / 2)), 0);\r\n image.maxX = -image.minX;\r\n image.minY = Math.min(((gesture.slideHeight / 2) - (scaledHeight / 2)), 0);\r\n image.maxY = -image.minY;\r\n\r\n image.touchesCurrent.x = e.type === 'touchmove' ? e.targetTouches[0].pageX : e.pageX;\r\n image.touchesCurrent.y = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY;\r\n\r\n if (!image.isMoved && !zoom.isScaling) {\r\n if (\r\n swiper.isHorizontal()\r\n && (\r\n (Math.floor(image.minX) === Math.floor(image.startX) && image.touchesCurrent.x < image.touchesStart.x)\r\n || (Math.floor(image.maxX) === Math.floor(image.startX) && image.touchesCurrent.x > image.touchesStart.x)\r\n )\r\n ) {\r\n image.isTouched = false;\r\n return;\r\n }\r\n if (\r\n !swiper.isHorizontal()\r\n && (\r\n (Math.floor(image.minY) === Math.floor(image.startY) && image.touchesCurrent.y < image.touchesStart.y)\r\n || (Math.floor(image.maxY) === Math.floor(image.startY) && image.touchesCurrent.y > image.touchesStart.y)\r\n )\r\n ) {\r\n image.isTouched = false;\r\n return;\r\n }\r\n }\r\n e.preventDefault();\r\n e.stopPropagation();\r\n\r\n image.isMoved = true;\r\n image.currentX = (image.touchesCurrent.x - image.touchesStart.x) + image.startX;\r\n image.currentY = (image.touchesCurrent.y - image.touchesStart.y) + image.startY;\r\n\r\n if (image.currentX < image.minX) {\r\n image.currentX = (image.minX + 1) - (Math.pow(((image.minX - image.currentX) + 1), 0.8));\r\n }\r\n if (image.currentX > image.maxX) {\r\n image.currentX = (image.maxX - 1) + (Math.pow(((image.currentX - image.maxX) + 1), 0.8));\r\n }\r\n\r\n if (image.currentY < image.minY) {\r\n image.currentY = (image.minY + 1) - (Math.pow(((image.minY - image.currentY) + 1), 0.8));\r\n }\r\n if (image.currentY > image.maxY) {\r\n image.currentY = (image.maxY - 1) + (Math.pow(((image.currentY - image.maxY) + 1), 0.8));\r\n }\r\n\r\n // Velocity\r\n if (!velocity.prevPositionX) {\r\n velocity.prevPositionX = image.touchesCurrent.x;\r\n }\r\n if (!velocity.prevPositionY) {\r\n velocity.prevPositionY = image.touchesCurrent.y;\r\n }\r\n if (!velocity.prevTime) {\r\n velocity.prevTime = Date.now();\r\n }\r\n velocity.x = (image.touchesCurrent.x - velocity.prevPositionX) / (Date.now() - velocity.prevTime) / 2;\r\n velocity.y = (image.touchesCurrent.y - velocity.prevPositionY) / (Date.now() - velocity.prevTime) / 2;\r\n if (Math.abs(image.touchesCurrent.x - velocity.prevPositionX) < 2) {\r\n velocity.x = 0;\r\n }\r\n if (Math.abs(image.touchesCurrent.y - velocity.prevPositionY) < 2) {\r\n velocity.y = 0;\r\n }\r\n velocity.prevPositionX = image.touchesCurrent.x;\r\n velocity.prevPositionY = image.touchesCurrent.y;\r\n velocity.prevTime = Date.now();\r\n\r\n gesture.$imageWrapEl.transform((\"translate3d(\" + (image.currentX) + \"px, \" + (image.currentY) + \"px,0)\"));\r\n },\r\n onTouchEnd: function onTouchEnd() {\r\n var swiper = this;\r\n var zoom = swiper.zoom;\r\n var gesture = zoom.gesture;\r\n var image = zoom.image;\r\n var velocity = zoom.velocity;\r\n if (!gesture.$imageEl || gesture.$imageEl.length === 0) {\r\n return;\r\n }\r\n if (!image.isTouched || !image.isMoved) {\r\n image.isTouched = false;\r\n image.isMoved = false;\r\n return;\r\n }\r\n image.isTouched = false;\r\n image.isMoved = false;\r\n var momentumDurationX = 300;\r\n var momentumDurationY = 300;\r\n var momentumDistanceX = velocity.x * momentumDurationX;\r\n var newPositionX = image.currentX + momentumDistanceX;\r\n var momentumDistanceY = velocity.y * momentumDurationY;\r\n var newPositionY = image.currentY + momentumDistanceY;\r\n\r\n // Fix duration\r\n if (velocity.x !== 0) {\r\n momentumDurationX = Math.abs((newPositionX - image.currentX) / velocity.x);\r\n }\r\n if (velocity.y !== 0) {\r\n momentumDurationY = Math.abs((newPositionY - image.currentY) / velocity.y);\r\n }\r\n var momentumDuration = Math.max(momentumDurationX, momentumDurationY);\r\n\r\n image.currentX = newPositionX;\r\n image.currentY = newPositionY;\r\n\r\n // Define if we need image drag\r\n var scaledWidth = image.width * zoom.scale;\r\n var scaledHeight = image.height * zoom.scale;\r\n image.minX = Math.min(((gesture.slideWidth / 2) - (scaledWidth / 2)), 0);\r\n image.maxX = -image.minX;\r\n image.minY = Math.min(((gesture.slideHeight / 2) - (scaledHeight / 2)), 0);\r\n image.maxY = -image.minY;\r\n image.currentX = Math.max(Math.min(image.currentX, image.maxX), image.minX);\r\n image.currentY = Math.max(Math.min(image.currentY, image.maxY), image.minY);\r\n\r\n gesture.$imageWrapEl.transition(momentumDuration).transform((\"translate3d(\" + (image.currentX) + \"px, \" + (image.currentY) + \"px,0)\"));\r\n },\r\n onTransitionEnd: function onTransitionEnd() {\r\n var swiper = this;\r\n var zoom = swiper.zoom;\r\n var gesture = zoom.gesture;\r\n if (gesture.$slideEl && swiper.previousIndex !== swiper.activeIndex) {\r\n gesture.$imageEl.transform('translate3d(0,0,0) scale(1)');\r\n gesture.$imageWrapEl.transform('translate3d(0,0,0)');\r\n gesture.$slideEl = undefined;\r\n gesture.$imageEl = undefined;\r\n gesture.$imageWrapEl = undefined;\r\n\r\n zoom.scale = 1;\r\n zoom.currentScale = 1;\r\n }\r\n },\r\n // Toggle Zoom\r\n toggle: function toggle(e) {\r\n var swiper = this;\r\n var zoom = swiper.zoom;\r\n\r\n if (zoom.scale && zoom.scale !== 1) {\r\n // Zoom Out\r\n zoom.out();\r\n } else {\r\n // Zoom In\r\n zoom.in(e);\r\n }\r\n },\r\n in: function in$1(e) {\r\n var swiper = this;\r\n\r\n var zoom = swiper.zoom;\r\n var params = swiper.params.zoom;\r\n var gesture = zoom.gesture;\r\n var image = zoom.image;\r\n\r\n if (!gesture.$slideEl) {\r\n gesture.$slideEl = swiper.clickedSlide ? $(swiper.clickedSlide) : swiper.slides.eq(swiper.activeIndex);\r\n gesture.$imageEl = gesture.$slideEl.find('img, svg, canvas');\r\n gesture.$imageWrapEl = gesture.$imageEl.parent((\".\" + (params.containerClass)));\r\n }\r\n if (!gesture.$imageEl || gesture.$imageEl.length === 0) {\r\n return;\r\n }\r\n\r\n gesture.$slideEl.addClass((\"\" + (params.zoomedSlideClass)));\r\n\r\n var touchX;\r\n var touchY;\r\n var offsetX;\r\n var offsetY;\r\n var diffX;\r\n var diffY;\r\n var translateX;\r\n var translateY;\r\n var imageWidth;\r\n var imageHeight;\r\n var scaledWidth;\r\n var scaledHeight;\r\n var translateMinX;\r\n var translateMinY;\r\n var translateMaxX;\r\n var translateMaxY;\r\n var slideWidth;\r\n var slideHeight;\r\n\r\n if (typeof image.touchesStart.x === 'undefined' && e) {\r\n touchX = e.type === 'touchend' ? e.changedTouches[0].pageX : e.pageX;\r\n touchY = e.type === 'touchend' ? e.changedTouches[0].pageY : e.pageY;\r\n } else {\r\n touchX = image.touchesStart.x;\r\n touchY = image.touchesStart.y;\r\n }\r\n\r\n zoom.scale = gesture.$imageWrapEl.attr('data-swiper-zoom') || params.maxRatio;\r\n zoom.currentScale = gesture.$imageWrapEl.attr('data-swiper-zoom') || params.maxRatio;\r\n if (e) {\r\n slideWidth = gesture.$slideEl[0].offsetWidth;\r\n slideHeight = gesture.$slideEl[0].offsetHeight;\r\n offsetX = gesture.$slideEl.offset().left;\r\n offsetY = gesture.$slideEl.offset().top;\r\n diffX = (offsetX + (slideWidth / 2)) - touchX;\r\n diffY = (offsetY + (slideHeight / 2)) - touchY;\r\n\r\n imageWidth = gesture.$imageEl[0].offsetWidth;\r\n imageHeight = gesture.$imageEl[0].offsetHeight;\r\n scaledWidth = imageWidth * zoom.scale;\r\n scaledHeight = imageHeight * zoom.scale;\r\n\r\n translateMinX = Math.min(((slideWidth / 2) - (scaledWidth / 2)), 0);\r\n translateMinY = Math.min(((slideHeight / 2) - (scaledHeight / 2)), 0);\r\n translateMaxX = -translateMinX;\r\n translateMaxY = -translateMinY;\r\n\r\n translateX = diffX * zoom.scale;\r\n translateY = diffY * zoom.scale;\r\n\r\n if (translateX < translateMinX) {\r\n translateX = translateMinX;\r\n }\r\n if (translateX > translateMaxX) {\r\n translateX = translateMaxX;\r\n }\r\n\r\n if (translateY < translateMinY) {\r\n translateY = translateMinY;\r\n }\r\n if (translateY > translateMaxY) {\r\n translateY = translateMaxY;\r\n }\r\n } else {\r\n translateX = 0;\r\n translateY = 0;\r\n }\r\n gesture.$imageWrapEl.transition(300).transform((\"translate3d(\" + translateX + \"px, \" + translateY + \"px,0)\"));\r\n gesture.$imageEl.transition(300).transform((\"translate3d(0,0,0) scale(\" + (zoom.scale) + \")\"));\r\n },\r\n out: function out() {\r\n var swiper = this;\r\n\r\n var zoom = swiper.zoom;\r\n var params = swiper.params.zoom;\r\n var gesture = zoom.gesture;\r\n\r\n if (!gesture.$slideEl) {\r\n gesture.$slideEl = swiper.clickedSlide ? $(swiper.clickedSlide) : swiper.slides.eq(swiper.activeIndex);\r\n gesture.$imageEl = gesture.$slideEl.find('img, svg, canvas');\r\n gesture.$imageWrapEl = gesture.$imageEl.parent((\".\" + (params.containerClass)));\r\n }\r\n if (!gesture.$imageEl || gesture.$imageEl.length === 0) {\r\n return;\r\n }\r\n\r\n zoom.scale = 1;\r\n zoom.currentScale = 1;\r\n gesture.$imageWrapEl.transition(300).transform('translate3d(0,0,0)');\r\n gesture.$imageEl.transition(300).transform('translate3d(0,0,0) scale(1)');\r\n gesture.$slideEl.removeClass((\"\" + (params.zoomedSlideClass)));\r\n gesture.$slideEl = undefined;\r\n },\r\n // Attach/Detach Events\r\n enable: function enable() {\r\n var swiper = this;\r\n var zoom = swiper.zoom;\r\n if (zoom.enabled) {\r\n return;\r\n }\r\n zoom.enabled = true;\r\n\r\n var passiveListener = swiper.touchEvents.start === 'touchstart' && Support.passiveListener && swiper.params.passiveListeners ? {\r\n passive: true,\r\n capture: false\r\n } : false;\r\n\r\n // Scale image\r\n if (Support.gestures) {\r\n swiper.$wrapperEl.on('gesturestart', '.swiper-slide', zoom.onGestureStart, passiveListener);\r\n swiper.$wrapperEl.on('gesturechange', '.swiper-slide', zoom.onGestureChange, passiveListener);\r\n swiper.$wrapperEl.on('gestureend', '.swiper-slide', zoom.onGestureEnd, passiveListener);\r\n } else if (swiper.touchEvents.start === 'touchstart') {\r\n swiper.$wrapperEl.on(swiper.touchEvents.start, '.swiper-slide', zoom.onGestureStart, passiveListener);\r\n swiper.$wrapperEl.on(swiper.touchEvents.move, '.swiper-slide', zoom.onGestureChange, passiveListener);\r\n swiper.$wrapperEl.on(swiper.touchEvents.end, '.swiper-slide', zoom.onGestureEnd, passiveListener);\r\n }\r\n\r\n // Move image\r\n swiper.$wrapperEl.on(swiper.touchEvents.move, (\".\" + (swiper.params.zoom.containerClass)), zoom.onTouchMove);\r\n },\r\n disable: function disable() {\r\n var swiper = this;\r\n var zoom = swiper.zoom;\r\n if (!zoom.enabled) {\r\n return;\r\n }\r\n\r\n swiper.zoom.enabled = false;\r\n\r\n var passiveListener = swiper.touchEvents.start === 'touchstart' && Support.passiveListener && swiper.params.passiveListeners ? {\r\n passive: true,\r\n capture: false\r\n } : false;\r\n\r\n // Scale image\r\n if (Support.gestures) {\r\n swiper.$wrapperEl.off('gesturestart', '.swiper-slide', zoom.onGestureStart, passiveListener);\r\n swiper.$wrapperEl.off('gesturechange', '.swiper-slide', zoom.onGestureChange, passiveListener);\r\n swiper.$wrapperEl.off('gestureend', '.swiper-slide', zoom.onGestureEnd, passiveListener);\r\n } else if (swiper.touchEvents.start === 'touchstart') {\r\n swiper.$wrapperEl.off(swiper.touchEvents.start, '.swiper-slide', zoom.onGestureStart, passiveListener);\r\n swiper.$wrapperEl.off(swiper.touchEvents.move, '.swiper-slide', zoom.onGestureChange, passiveListener);\r\n swiper.$wrapperEl.off(swiper.touchEvents.end, '.swiper-slide', zoom.onGestureEnd, passiveListener);\r\n }\r\n\r\n // Move image\r\n swiper.$wrapperEl.off(swiper.touchEvents.move, (\".\" + (swiper.params.zoom.containerClass)), zoom.onTouchMove);\r\n },\r\n };\r\n\r\n var Zoom$1 = {\r\n name: 'zoom',\r\n params: {\r\n zoom: {\r\n enabled: false,\r\n maxRatio: 3,\r\n minRatio: 1,\r\n toggle: true,\r\n containerClass: 'swiper-zoom-container',\r\n zoomedSlideClass: 'swiper-slide-zoomed',\r\n },\r\n },\r\n create: function create() {\r\n var swiper = this;\r\n var zoom = {\r\n enabled: false,\r\n scale: 1,\r\n currentScale: 1,\r\n isScaling: false,\r\n gesture: {\r\n $slideEl: undefined,\r\n slideWidth: undefined,\r\n slideHeight: undefined,\r\n $imageEl: undefined,\r\n $imageWrapEl: undefined,\r\n maxRatio: 3,\r\n },\r\n image: {\r\n isTouched: undefined,\r\n isMoved: undefined,\r\n currentX: undefined,\r\n currentY: undefined,\r\n minX: undefined,\r\n minY: undefined,\r\n maxX: undefined,\r\n maxY: undefined,\r\n width: undefined,\r\n height: undefined,\r\n startX: undefined,\r\n startY: undefined,\r\n touchesStart: {},\r\n touchesCurrent: {},\r\n },\r\n velocity: {\r\n x: undefined,\r\n y: undefined,\r\n prevPositionX: undefined,\r\n prevPositionY: undefined,\r\n prevTime: undefined,\r\n },\r\n };\r\n ('onGestureStart onGestureChange onGestureEnd onTouchStart onTouchMove onTouchEnd onTransitionEnd toggle enable disable in out').split(' ').forEach(function (methodName) {\r\n zoom[methodName] = Zoom[methodName].bind(swiper);\r\n });\r\n Utils.extend(swiper, {\r\n zoom: zoom,\r\n });\r\n },\r\n on: {\r\n init: function init() {\r\n var swiper = this;\r\n if (swiper.params.zoom.enabled) {\r\n swiper.zoom.enable();\r\n }\r\n },\r\n destroy: function destroy() {\r\n var swiper = this;\r\n swiper.zoom.disable();\r\n },\r\n touchStart: function touchStart(e) {\r\n var swiper = this;\r\n if (!swiper.zoom.enabled) {\r\n return;\r\n }\r\n swiper.zoom.onTouchStart(e);\r\n },\r\n touchEnd: function touchEnd(e) {\r\n var swiper = this;\r\n if (!swiper.zoom.enabled) {\r\n return;\r\n }\r\n swiper.zoom.onTouchEnd(e);\r\n },\r\n doubleTap: function doubleTap(e) {\r\n var swiper = this;\r\n if (swiper.params.zoom.enabled && swiper.zoom.enabled && swiper.params.zoom.toggle) {\r\n swiper.zoom.toggle(e);\r\n }\r\n },\r\n transitionEnd: function transitionEnd() {\r\n var swiper = this;\r\n if (swiper.zoom.enabled && swiper.params.zoom.enabled) {\r\n swiper.zoom.onTransitionEnd();\r\n }\r\n },\r\n },\r\n };\r\n\r\n var Lazy = {\r\n loadInSlide: function loadInSlide(index, loadInDuplicate) {\r\n if (loadInDuplicate === void 0) loadInDuplicate = true;\r\n\r\n var swiper = this;\r\n var params = swiper.params.lazy;\r\n if (typeof index === 'undefined') {\r\n return;\r\n }\r\n if (swiper.slides.length === 0) {\r\n return;\r\n }\r\n var isVirtual = swiper.virtual && swiper.params.virtual.enabled;\r\n\r\n var $slideEl = isVirtual\r\n ? swiper.$wrapperEl.children((\".\" + (swiper.params.slideClass) + \"[data-swiper-slide-index=\\\"\" + index + \"\\\"]\"))\r\n : swiper.slides.eq(index);\r\n\r\n var $images = $slideEl.find((\".\" + (params.elementClass) + \":not(.\" + (params.loadedClass) + \"):not(.\" + (params.loadingClass) + \")\"));\r\n if ($slideEl.hasClass(params.elementClass) && !$slideEl.hasClass(params.loadedClass) && !$slideEl.hasClass(params.loadingClass)) {\r\n $images = $images.add($slideEl[0]);\r\n }\r\n if ($images.length === 0) {\r\n return;\r\n }\r\n\r\n $images.each(function (imageIndex, imageEl) {\r\n var $imageEl = $(imageEl);\r\n $imageEl.addClass(params.loadingClass);\r\n\r\n var background = $imageEl.attr('data-background');\r\n var src = $imageEl.attr('data-src');\r\n var srcset = $imageEl.attr('data-srcset');\r\n var sizes = $imageEl.attr('data-sizes');\r\n\r\n swiper.loadImage($imageEl[0], (src || background), srcset, sizes, false, function () {\r\n if (typeof swiper === 'undefined' || swiper === null || !swiper || (swiper && !swiper.params) || swiper.destroyed) {\r\n return;\r\n }\r\n if (background) {\r\n $imageEl.css('background-image', (\"url(\\\"\" + background + \"\\\")\"));\r\n $imageEl.removeAttr('data-background');\r\n } else {\r\n if (srcset) {\r\n $imageEl.attr('srcset', srcset);\r\n $imageEl.removeAttr('data-srcset');\r\n }\r\n if (sizes) {\r\n $imageEl.attr('sizes', sizes);\r\n $imageEl.removeAttr('data-sizes');\r\n }\r\n if (src) {\r\n $imageEl.attr('src', src);\r\n $imageEl.removeAttr('data-src');\r\n }\r\n }\r\n\r\n $imageEl.addClass(params.loadedClass).removeClass(params.loadingClass);\r\n $slideEl.find((\".\" + (params.preloaderClass))).remove();\r\n if (swiper.params.loop && loadInDuplicate) {\r\n var slideOriginalIndex = $slideEl.attr('data-swiper-slide-index');\r\n if ($slideEl.hasClass(swiper.params.slideDuplicateClass)) {\r\n var originalSlide = swiper.$wrapperEl.children((\"[data-swiper-slide-index=\\\"\" + slideOriginalIndex + \"\\\"]:not(.\" + (swiper.params.slideDuplicateClass) + \")\"));\r\n swiper.lazy.loadInSlide(originalSlide.index(), false);\r\n } else {\r\n var duplicatedSlide = swiper.$wrapperEl.children((\".\" + (swiper.params.slideDuplicateClass) + \"[data-swiper-slide-index=\\\"\" + slideOriginalIndex + \"\\\"]\"));\r\n swiper.lazy.loadInSlide(duplicatedSlide.index(), false);\r\n }\r\n }\r\n swiper.emit('lazyImageReady', $slideEl[0], $imageEl[0]);\r\n });\r\n\r\n swiper.emit('lazyImageLoad', $slideEl[0], $imageEl[0]);\r\n });\r\n },\r\n load: function load() {\r\n var swiper = this;\r\n var $wrapperEl = swiper.$wrapperEl;\r\n var swiperParams = swiper.params;\r\n var slides = swiper.slides;\r\n var activeIndex = swiper.activeIndex;\r\n var isVirtual = swiper.virtual && swiperParams.virtual.enabled;\r\n var params = swiperParams.lazy;\r\n\r\n var slidesPerView = swiperParams.slidesPerView;\r\n if (slidesPerView === 'auto') {\r\n slidesPerView = 0;\r\n }\r\n\r\n function slideExist(index) {\r\n if (isVirtual) {\r\n if ($wrapperEl.children((\".\" + (swiperParams.slideClass) + \"[data-swiper-slide-index=\\\"\" + index + \"\\\"]\")).length) {\r\n return true;\r\n }\r\n } else if (slides[index]) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n function slideIndex(slideEl) {\r\n if (isVirtual) {\r\n return $(slideEl).attr('data-swiper-slide-index');\r\n }\r\n return $(slideEl).index();\r\n }\r\n\r\n if (!swiper.lazy.initialImageLoaded) {\r\n swiper.lazy.initialImageLoaded = true;\r\n }\r\n if (swiper.params.watchSlidesVisibility) {\r\n $wrapperEl.children((\".\" + (swiperParams.slideVisibleClass))).each(function (elIndex, slideEl) {\r\n var index = isVirtual ? $(slideEl).attr('data-swiper-slide-index') : $(slideEl).index();\r\n swiper.lazy.loadInSlide(index);\r\n });\r\n } else if (slidesPerView > 1) {\r\n for (var i = activeIndex; i < activeIndex + slidesPerView; i += 1) {\r\n if (slideExist(i)) {\r\n swiper.lazy.loadInSlide(i);\r\n }\r\n }\r\n } else {\r\n swiper.lazy.loadInSlide(activeIndex);\r\n }\r\n if (params.loadPrevNext) {\r\n if (slidesPerView > 1 || (params.loadPrevNextAmount && params.loadPrevNextAmount > 1)) {\r\n var amount = params.loadPrevNextAmount;\r\n var spv = slidesPerView;\r\n var maxIndex = Math.min(activeIndex + spv + Math.max(amount, spv), slides.length);\r\n var minIndex = Math.max(activeIndex - Math.max(spv, amount), 0);\r\n // Next Slides\r\n for (var i$1 = activeIndex + slidesPerView; i$1 < maxIndex; i$1 += 1) {\r\n if (slideExist(i$1)) {\r\n swiper.lazy.loadInSlide(i$1);\r\n }\r\n }\r\n // Prev Slides\r\n for (var i$2 = minIndex; i$2 < activeIndex; i$2 += 1) {\r\n if (slideExist(i$2)) {\r\n swiper.lazy.loadInSlide(i$2);\r\n }\r\n }\r\n } else {\r\n var nextSlide = $wrapperEl.children((\".\" + (swiperParams.slideNextClass)));\r\n if (nextSlide.length > 0) {\r\n swiper.lazy.loadInSlide(slideIndex(nextSlide));\r\n }\r\n\r\n var prevSlide = $wrapperEl.children((\".\" + (swiperParams.slidePrevClass)));\r\n if (prevSlide.length > 0) {\r\n swiper.lazy.loadInSlide(slideIndex(prevSlide));\r\n }\r\n }\r\n }\r\n },\r\n };\r\n\r\n var Lazy$1 = {\r\n name: 'lazy',\r\n params: {\r\n lazy: {\r\n enabled: false,\r\n loadPrevNext: false,\r\n loadPrevNextAmount: 1,\r\n loadOnTransitionStart: false,\r\n\r\n elementClass: 'swiper-lazy',\r\n loadingClass: 'swiper-lazy-loading',\r\n loadedClass: 'swiper-lazy-loaded',\r\n preloaderClass: 'swiper-lazy-preloader',\r\n },\r\n },\r\n create: function create() {\r\n var swiper = this;\r\n Utils.extend(swiper, {\r\n lazy: {\r\n initialImageLoaded: false,\r\n load: Lazy.load.bind(swiper),\r\n loadInSlide: Lazy.loadInSlide.bind(swiper),\r\n },\r\n });\r\n },\r\n on: {\r\n beforeInit: function beforeInit() {\r\n var swiper = this;\r\n if (swiper.params.lazy.enabled && swiper.params.preloadImages) {\r\n swiper.params.preloadImages = false;\r\n }\r\n },\r\n init: function init() {\r\n var swiper = this;\r\n if (swiper.params.lazy.enabled && !swiper.params.loop && swiper.params.initialSlide === 0) {\r\n swiper.lazy.load();\r\n }\r\n },\r\n scroll: function scroll() {\r\n var swiper = this;\r\n if (swiper.params.freeMode && !swiper.params.freeModeSticky) {\r\n swiper.lazy.load();\r\n }\r\n },\r\n resize: function resize() {\r\n var swiper = this;\r\n if (swiper.params.lazy.enabled) {\r\n swiper.lazy.load();\r\n }\r\n },\r\n scrollbarDragMove: function scrollbarDragMove() {\r\n var swiper = this;\r\n if (swiper.params.lazy.enabled) {\r\n swiper.lazy.load();\r\n }\r\n },\r\n transitionStart: function transitionStart() {\r\n var swiper = this;\r\n if (swiper.params.lazy.enabled) {\r\n if (swiper.params.lazy.loadOnTransitionStart || (!swiper.params.lazy.loadOnTransitionStart && !swiper.lazy.initialImageLoaded)) {\r\n swiper.lazy.load();\r\n }\r\n }\r\n },\r\n transitionEnd: function transitionEnd() {\r\n var swiper = this;\r\n if (swiper.params.lazy.enabled && !swiper.params.lazy.loadOnTransitionStart) {\r\n swiper.lazy.load();\r\n }\r\n },\r\n },\r\n };\r\n\r\n /* eslint no-bitwise: [\"error\", { \"allow\": [\">>\"] }] */\r\n\r\n var Controller = {\r\n LinearSpline: function LinearSpline(x, y) {\r\n var binarySearch = (function search() {\r\n var maxIndex;\r\n var minIndex;\r\n var guess;\r\n return function (array, val) {\r\n minIndex = -1;\r\n maxIndex = array.length;\r\n while (maxIndex - minIndex > 1) {\r\n guess = maxIndex + minIndex >> 1;\r\n if (array[guess] <= val) {\r\n minIndex = guess;\r\n } else {\r\n maxIndex = guess;\r\n }\r\n }\r\n return maxIndex;\r\n };\r\n }());\r\n this.x = x;\r\n this.y = y;\r\n this.lastIndex = x.length - 1;\r\n // Given an x value (x2), return the expected y2 value:\r\n // (x1,y1) is the known point before given value,\r\n // (x3,y3) is the known point after given value.\r\n var i1;\r\n var i3;\r\n\r\n this.interpolate = function interpolate(x2) {\r\n if (!x2) {\r\n return 0;\r\n }\r\n\r\n // Get the indexes of x1 and x3 (the array indexes before and after given x2):\r\n i3 = binarySearch(this.x, x2);\r\n i1 = i3 - 1;\r\n\r\n // We have our indexes i1 & i3, so we can calculate already:\r\n // y2 := ((x2−x1) × (y3−y1)) ÷ (x3−x1) + y1\r\n return (((x2 - this.x[i1]) * (this.y[i3] - this.y[i1])) / (this.x[i3] - this.x[i1])) + this.y[i1];\r\n };\r\n return this;\r\n },\r\n // xxx: for now i will just save one spline function to to\r\n getInterpolateFunction: function getInterpolateFunction(c) {\r\n var swiper = this;\r\n if (!swiper.controller.spline) {\r\n swiper.controller.spline = swiper.params.loop\r\n ? new Controller.LinearSpline(swiper.slidesGrid, c.slidesGrid)\r\n : new Controller.LinearSpline(swiper.snapGrid, c.snapGrid);\r\n }\r\n },\r\n setTranslate: function setTranslate(setTranslate$1, byController) {\r\n var swiper = this;\r\n var controlled = swiper.controller.control;\r\n var multiplier;\r\n var controlledTranslate;\r\n\r\n function setControlledTranslate(c) {\r\n // this will create an Interpolate function based on the snapGrids\r\n // x is the Grid of the scrolled scroller and y will be the controlled scroller\r\n // it makes sense to create this only once and recall it for the interpolation\r\n // the function does a lot of value caching for performance\r\n var translate = swiper.rtlTranslate ? -swiper.translate : swiper.translate;\r\n if (swiper.params.controller.by === 'slide') {\r\n swiper.controller.getInterpolateFunction(c);\r\n // i am not sure why the values have to be multiplicated this way, tried to invert the snapGrid\r\n // but it did not work out\r\n controlledTranslate = -swiper.controller.spline.interpolate(-translate);\r\n }\r\n\r\n if (!controlledTranslate || swiper.params.controller.by === 'container') {\r\n multiplier = (c.maxTranslate() - c.minTranslate()) / (swiper.maxTranslate() - swiper.minTranslate());\r\n controlledTranslate = ((translate - swiper.minTranslate()) * multiplier) + c.minTranslate();\r\n }\r\n\r\n if (swiper.params.controller.inverse) {\r\n controlledTranslate = c.maxTranslate() - controlledTranslate;\r\n }\r\n c.updateProgress(controlledTranslate);\r\n c.setTranslate(controlledTranslate, swiper);\r\n c.updateActiveIndex();\r\n c.updateSlidesClasses();\r\n }\r\n\r\n if (Array.isArray(controlled)) {\r\n for (var i = 0; i < controlled.length; i += 1) {\r\n if (controlled[i] !== byController && controlled[i] instanceof Swiper) {\r\n setControlledTranslate(controlled[i]);\r\n }\r\n }\r\n } else if (controlled instanceof Swiper && byController !== controlled) {\r\n setControlledTranslate(controlled);\r\n }\r\n },\r\n setTransition: function setTransition(duration, byController) {\r\n var swiper = this;\r\n var controlled = swiper.controller.control;\r\n var i;\r\n\r\n function setControlledTransition(c) {\r\n c.setTransition(duration, swiper);\r\n if (duration !== 0) {\r\n c.transitionStart();\r\n if (c.params.autoHeight) {\r\n Utils.nextTick(function () {\r\n c.updateAutoHeight();\r\n });\r\n }\r\n c.$wrapperEl.transitionEnd(function () {\r\n if (!controlled) {\r\n return;\r\n }\r\n if (c.params.loop && swiper.params.controller.by === 'slide') {\r\n c.loopFix();\r\n }\r\n c.transitionEnd();\r\n });\r\n }\r\n }\r\n\r\n if (Array.isArray(controlled)) {\r\n for (i = 0; i < controlled.length; i += 1) {\r\n if (controlled[i] !== byController && controlled[i] instanceof Swiper) {\r\n setControlledTransition(controlled[i]);\r\n }\r\n }\r\n } else if (controlled instanceof Swiper && byController !== controlled) {\r\n setControlledTransition(controlled);\r\n }\r\n },\r\n };\r\n var Controller$1 = {\r\n name: 'controller',\r\n params: {\r\n controller: {\r\n control: undefined,\r\n inverse: false,\r\n by: 'slide', // or 'container'\r\n },\r\n },\r\n create: function create() {\r\n var swiper = this;\r\n Utils.extend(swiper, {\r\n controller: {\r\n control: swiper.params.controller.control,\r\n getInterpolateFunction: Controller.getInterpolateFunction.bind(swiper),\r\n setTranslate: Controller.setTranslate.bind(swiper),\r\n setTransition: Controller.setTransition.bind(swiper),\r\n },\r\n });\r\n },\r\n on: {\r\n update: function update() {\r\n var swiper = this;\r\n if (!swiper.controller.control) {\r\n return;\r\n }\r\n if (swiper.controller.spline) {\r\n swiper.controller.spline = undefined;\r\n delete swiper.controller.spline;\r\n }\r\n },\r\n resize: function resize() {\r\n var swiper = this;\r\n if (!swiper.controller.control) {\r\n return;\r\n }\r\n if (swiper.controller.spline) {\r\n swiper.controller.spline = undefined;\r\n delete swiper.controller.spline;\r\n }\r\n },\r\n observerUpdate: function observerUpdate() {\r\n var swiper = this;\r\n if (!swiper.controller.control) {\r\n return;\r\n }\r\n if (swiper.controller.spline) {\r\n swiper.controller.spline = undefined;\r\n delete swiper.controller.spline;\r\n }\r\n },\r\n setTranslate: function setTranslate(translate, byController) {\r\n var swiper = this;\r\n if (!swiper.controller.control) {\r\n return;\r\n }\r\n swiper.controller.setTranslate(translate, byController);\r\n },\r\n setTransition: function setTransition(duration, byController) {\r\n var swiper = this;\r\n if (!swiper.controller.control) {\r\n return;\r\n }\r\n swiper.controller.setTransition(duration, byController);\r\n },\r\n },\r\n };\r\n\r\n var a11y = {\r\n makeElFocusable: function makeElFocusable($el) {\r\n $el.attr('tabIndex', '0');\r\n return $el;\r\n },\r\n addElRole: function addElRole($el, role) {\r\n $el.attr('role', role);\r\n return $el;\r\n },\r\n addElLabel: function addElLabel($el, label) {\r\n $el.attr('aria-label', label);\r\n return $el;\r\n },\r\n disableEl: function disableEl($el) {\r\n $el.attr('aria-disabled', true);\r\n return $el;\r\n },\r\n enableEl: function enableEl($el) {\r\n $el.attr('aria-disabled', false);\r\n return $el;\r\n },\r\n onEnterKey: function onEnterKey(e) {\r\n var swiper = this;\r\n var params = swiper.params.a11y;\r\n if (e.keyCode !== 13) {\r\n return;\r\n }\r\n var $targetEl = $(e.target);\r\n if (swiper.navigation && swiper.navigation.$nextEl && $targetEl.is(swiper.navigation.$nextEl)) {\r\n if (!(swiper.isEnd && !swiper.params.loop)) {\r\n swiper.slideNext();\r\n }\r\n if (swiper.isEnd) {\r\n swiper.a11y.notify(params.lastSlideMessage);\r\n } else {\r\n swiper.a11y.notify(params.nextSlideMessage);\r\n }\r\n }\r\n if (swiper.navigation && swiper.navigation.$prevEl && $targetEl.is(swiper.navigation.$prevEl)) {\r\n if (!(swiper.isBeginning && !swiper.params.loop)) {\r\n swiper.slidePrev();\r\n }\r\n if (swiper.isBeginning) {\r\n swiper.a11y.notify(params.firstSlideMessage);\r\n } else {\r\n swiper.a11y.notify(params.prevSlideMessage);\r\n }\r\n }\r\n if (swiper.pagination && $targetEl.is((\".\" + (swiper.params.pagination.bulletClass)))) {\r\n $targetEl[0].click();\r\n }\r\n },\r\n notify: function notify(message) {\r\n var swiper = this;\r\n var notification = swiper.a11y.liveRegion;\r\n if (notification.length === 0) {\r\n return;\r\n }\r\n notification.html('');\r\n notification.html(message);\r\n },\r\n updateNavigation: function updateNavigation() {\r\n var swiper = this;\r\n\r\n if (swiper.params.loop) {\r\n return;\r\n }\r\n var ref = swiper.navigation;\r\n var $nextEl = ref.$nextEl;\r\n var $prevEl = ref.$prevEl;\r\n\r\n if ($prevEl && $prevEl.length > 0) {\r\n if (swiper.isBeginning) {\r\n swiper.a11y.disableEl($prevEl);\r\n } else {\r\n swiper.a11y.enableEl($prevEl);\r\n }\r\n }\r\n if ($nextEl && $nextEl.length > 0) {\r\n if (swiper.isEnd) {\r\n swiper.a11y.disableEl($nextEl);\r\n } else {\r\n swiper.a11y.enableEl($nextEl);\r\n }\r\n }\r\n },\r\n updatePagination: function updatePagination() {\r\n var swiper = this;\r\n var params = swiper.params.a11y;\r\n if (swiper.pagination && swiper.params.pagination.clickable && swiper.pagination.bullets && swiper.pagination.bullets.length) {\r\n swiper.pagination.bullets.each(function (bulletIndex, bulletEl) {\r\n var $bulletEl = $(bulletEl);\r\n swiper.a11y.makeElFocusable($bulletEl);\r\n swiper.a11y.addElRole($bulletEl, 'button');\r\n swiper.a11y.addElLabel($bulletEl, params.paginationBulletMessage.replace(/{{index}}/, $bulletEl.index() + 1));\r\n });\r\n }\r\n },\r\n init: function init() {\r\n var swiper = this;\r\n\r\n swiper.$el.append(swiper.a11y.liveRegion);\r\n\r\n // Navigation\r\n var params = swiper.params.a11y;\r\n var $nextEl;\r\n var $prevEl;\r\n if (swiper.navigation && swiper.navigation.$nextEl) {\r\n $nextEl = swiper.navigation.$nextEl;\r\n }\r\n if (swiper.navigation && swiper.navigation.$prevEl) {\r\n $prevEl = swiper.navigation.$prevEl;\r\n }\r\n if ($nextEl) {\r\n swiper.a11y.makeElFocusable($nextEl);\r\n swiper.a11y.addElRole($nextEl, 'button');\r\n swiper.a11y.addElLabel($nextEl, params.nextSlideMessage);\r\n $nextEl.on('keydown', swiper.a11y.onEnterKey);\r\n }\r\n if ($prevEl) {\r\n swiper.a11y.makeElFocusable($prevEl);\r\n swiper.a11y.addElRole($prevEl, 'button');\r\n swiper.a11y.addElLabel($prevEl, params.prevSlideMessage);\r\n $prevEl.on('keydown', swiper.a11y.onEnterKey);\r\n }\r\n\r\n // Pagination\r\n if (swiper.pagination && swiper.params.pagination.clickable && swiper.pagination.bullets && swiper.pagination.bullets.length) {\r\n swiper.pagination.$el.on('keydown', (\".\" + (swiper.params.pagination.bulletClass)), swiper.a11y.onEnterKey);\r\n }\r\n },\r\n destroy: function destroy() {\r\n var swiper = this;\r\n if (swiper.a11y.liveRegion && swiper.a11y.liveRegion.length > 0) {\r\n swiper.a11y.liveRegion.remove();\r\n }\r\n\r\n var $nextEl;\r\n var $prevEl;\r\n if (swiper.navigation && swiper.navigation.$nextEl) {\r\n $nextEl = swiper.navigation.$nextEl;\r\n }\r\n if (swiper.navigation && swiper.navigation.$prevEl) {\r\n $prevEl = swiper.navigation.$prevEl;\r\n }\r\n if ($nextEl) {\r\n $nextEl.off('keydown', swiper.a11y.onEnterKey);\r\n }\r\n if ($prevEl) {\r\n $prevEl.off('keydown', swiper.a11y.onEnterKey);\r\n }\r\n\r\n // Pagination\r\n if (swiper.pagination && swiper.params.pagination.clickable && swiper.pagination.bullets && swiper.pagination.bullets.length) {\r\n swiper.pagination.$el.off('keydown', (\".\" + (swiper.params.pagination.bulletClass)), swiper.a11y.onEnterKey);\r\n }\r\n },\r\n };\r\n var A11y = {\r\n name: 'a11y',\r\n params: {\r\n a11y: {\r\n enabled: true,\r\n notificationClass: 'swiper-notification',\r\n prevSlideMessage: 'Previous slide',\r\n nextSlideMessage: 'Next slide',\r\n firstSlideMessage: 'This is the first slide',\r\n lastSlideMessage: 'This is the last slide',\r\n paginationBulletMessage: 'Go to slide {{index}}',\r\n },\r\n },\r\n create: function create() {\r\n var swiper = this;\r\n Utils.extend(swiper, {\r\n a11y: {\r\n liveRegion: $((\"\")),\r\n },\r\n });\r\n Object.keys(a11y).forEach(function (methodName) {\r\n swiper.a11y[methodName] = a11y[methodName].bind(swiper);\r\n });\r\n },\r\n on: {\r\n init: function init() {\r\n var swiper = this;\r\n if (!swiper.params.a11y.enabled) {\r\n return;\r\n }\r\n swiper.a11y.init();\r\n swiper.a11y.updateNavigation();\r\n },\r\n toEdge: function toEdge() {\r\n var swiper = this;\r\n if (!swiper.params.a11y.enabled) {\r\n return;\r\n }\r\n swiper.a11y.updateNavigation();\r\n },\r\n fromEdge: function fromEdge() {\r\n var swiper = this;\r\n if (!swiper.params.a11y.enabled) {\r\n return;\r\n }\r\n swiper.a11y.updateNavigation();\r\n },\r\n paginationUpdate: function paginationUpdate() {\r\n var swiper = this;\r\n if (!swiper.params.a11y.enabled) {\r\n return;\r\n }\r\n swiper.a11y.updatePagination();\r\n },\r\n destroy: function destroy() {\r\n var swiper = this;\r\n if (!swiper.params.a11y.enabled) {\r\n return;\r\n }\r\n swiper.a11y.destroy();\r\n },\r\n },\r\n };\r\n\r\n var History = {\r\n init: function init() {\r\n var swiper = this;\r\n if (!swiper.params.history) {\r\n return;\r\n }\r\n if (!win.history || !win.history.pushState) {\r\n swiper.params.history.enabled = false;\r\n swiper.params.hashNavigation.enabled = true;\r\n return;\r\n }\r\n var history = swiper.history;\r\n history.initialized = true;\r\n history.paths = History.getPathValues();\r\n if (!history.paths.key && !history.paths.value) {\r\n return;\r\n }\r\n history.scrollToSlide(0, history.paths.value, swiper.params.runCallbacksOnInit);\r\n if (!swiper.params.history.replaceState) {\r\n win.addEventListener('popstate', swiper.history.setHistoryPopState);\r\n }\r\n },\r\n destroy: function destroy() {\r\n var swiper = this;\r\n if (!swiper.params.history.replaceState) {\r\n win.removeEventListener('popstate', swiper.history.setHistoryPopState);\r\n }\r\n },\r\n setHistoryPopState: function setHistoryPopState() {\r\n var swiper = this;\r\n swiper.history.paths = History.getPathValues();\r\n swiper.history.scrollToSlide(swiper.params.speed, swiper.history.paths.value, false);\r\n },\r\n getPathValues: function getPathValues() {\r\n var pathArray = win.location.pathname.slice(1).split('/').filter(function (part) {\r\n return part !== '';\r\n });\r\n var total = pathArray.length;\r\n var key = pathArray[total - 2];\r\n var value = pathArray[total - 1];\r\n return {key: key, value: value};\r\n },\r\n setHistory: function setHistory(key, index) {\r\n var swiper = this;\r\n if (!swiper.history.initialized || !swiper.params.history.enabled) {\r\n return;\r\n }\r\n var slide = swiper.slides.eq(index);\r\n var value = History.slugify(slide.attr('data-history'));\r\n if (!win.location.pathname.includes(key)) {\r\n value = key + \"/\" + value;\r\n }\r\n var currentState = win.history.state;\r\n if (currentState && currentState.value === value) {\r\n return;\r\n }\r\n if (swiper.params.history.replaceState) {\r\n win.history.replaceState({value: value}, null, value);\r\n } else {\r\n win.history.pushState({value: value}, null, value);\r\n }\r\n },\r\n slugify: function slugify(text) {\r\n return text.toString().toLowerCase()\r\n .replace(/\\s+/g, '-')\r\n .replace(/[^\\w-]+/g, '')\r\n .replace(/--+/g, '-')\r\n .replace(/^-+/, '')\r\n .replace(/-+$/, '');\r\n },\r\n scrollToSlide: function scrollToSlide(speed, value, runCallbacks) {\r\n var swiper = this;\r\n if (value) {\r\n for (var i = 0, length = swiper.slides.length; i < length; i += 1) {\r\n var slide = swiper.slides.eq(i);\r\n var slideHistory = History.slugify(slide.attr('data-history'));\r\n if (slideHistory === value && !slide.hasClass(swiper.params.slideDuplicateClass)) {\r\n var index = slide.index();\r\n swiper.slideTo(index, speed, runCallbacks);\r\n }\r\n }\r\n } else {\r\n swiper.slideTo(0, speed, runCallbacks);\r\n }\r\n },\r\n };\r\n\r\n var History$1 = {\r\n name: 'history',\r\n params: {\r\n history: {\r\n enabled: false,\r\n replaceState: false,\r\n key: 'slides',\r\n },\r\n },\r\n create: function create() {\r\n var swiper = this;\r\n Utils.extend(swiper, {\r\n history: {\r\n init: History.init.bind(swiper),\r\n setHistory: History.setHistory.bind(swiper),\r\n setHistoryPopState: History.setHistoryPopState.bind(swiper),\r\n scrollToSlide: History.scrollToSlide.bind(swiper),\r\n destroy: History.destroy.bind(swiper),\r\n },\r\n });\r\n },\r\n on: {\r\n init: function init() {\r\n var swiper = this;\r\n if (swiper.params.history.enabled) {\r\n swiper.history.init();\r\n }\r\n },\r\n destroy: function destroy() {\r\n var swiper = this;\r\n if (swiper.params.history.enabled) {\r\n swiper.history.destroy();\r\n }\r\n },\r\n transitionEnd: function transitionEnd() {\r\n var swiper = this;\r\n if (swiper.history.initialized) {\r\n swiper.history.setHistory(swiper.params.history.key, swiper.activeIndex);\r\n }\r\n },\r\n },\r\n };\r\n\r\n var HashNavigation = {\r\n onHashCange: function onHashCange() {\r\n var swiper = this;\r\n var newHash = doc.location.hash.replace('#', '');\r\n var activeSlideHash = swiper.slides.eq(swiper.activeIndex).attr('data-hash');\r\n if (newHash !== activeSlideHash) {\r\n var newIndex = swiper.$wrapperEl.children((\".\" + (swiper.params.slideClass) + \"[data-hash=\\\"\" + newHash + \"\\\"]\")).index();\r\n if (typeof newIndex === 'undefined') {\r\n return;\r\n }\r\n swiper.slideTo(newIndex);\r\n }\r\n },\r\n setHash: function setHash() {\r\n var swiper = this;\r\n if (!swiper.hashNavigation.initialized || !swiper.params.hashNavigation.enabled) {\r\n return;\r\n }\r\n if (swiper.params.hashNavigation.replaceState && win.history && win.history.replaceState) {\r\n win.history.replaceState(null, null, ((\"#\" + (swiper.slides.eq(swiper.activeIndex).attr('data-hash'))) || ''));\r\n } else {\r\n var slide = swiper.slides.eq(swiper.activeIndex);\r\n var hash = slide.attr('data-hash') || slide.attr('data-history');\r\n doc.location.hash = hash || '';\r\n }\r\n },\r\n init: function init() {\r\n var swiper = this;\r\n if (!swiper.params.hashNavigation.enabled || (swiper.params.history && swiper.params.history.enabled)) {\r\n return;\r\n }\r\n swiper.hashNavigation.initialized = true;\r\n var hash = doc.location.hash.replace('#', '');\r\n if (hash) {\r\n var speed = 0;\r\n for (var i = 0, length = swiper.slides.length; i < length; i += 1) {\r\n var slide = swiper.slides.eq(i);\r\n var slideHash = slide.attr('data-hash') || slide.attr('data-history');\r\n if (slideHash === hash && !slide.hasClass(swiper.params.slideDuplicateClass)) {\r\n var index = slide.index();\r\n swiper.slideTo(index, speed, swiper.params.runCallbacksOnInit, true);\r\n }\r\n }\r\n }\r\n if (swiper.params.hashNavigation.watchState) {\r\n $(win).on('hashchange', swiper.hashNavigation.onHashCange);\r\n }\r\n },\r\n destroy: function destroy() {\r\n var swiper = this;\r\n if (swiper.params.hashNavigation.watchState) {\r\n $(win).off('hashchange', swiper.hashNavigation.onHashCange);\r\n }\r\n },\r\n };\r\n var HashNavigation$1 = {\r\n name: 'hash-navigation',\r\n params: {\r\n hashNavigation: {\r\n enabled: false,\r\n replaceState: false,\r\n watchState: false,\r\n },\r\n },\r\n create: function create() {\r\n var swiper = this;\r\n Utils.extend(swiper, {\r\n hashNavigation: {\r\n initialized: false,\r\n init: HashNavigation.init.bind(swiper),\r\n destroy: HashNavigation.destroy.bind(swiper),\r\n setHash: HashNavigation.setHash.bind(swiper),\r\n onHashCange: HashNavigation.onHashCange.bind(swiper),\r\n },\r\n });\r\n },\r\n on: {\r\n init: function init() {\r\n var swiper = this;\r\n if (swiper.params.hashNavigation.enabled) {\r\n swiper.hashNavigation.init();\r\n }\r\n },\r\n destroy: function destroy() {\r\n var swiper = this;\r\n if (swiper.params.hashNavigation.enabled) {\r\n swiper.hashNavigation.destroy();\r\n }\r\n },\r\n transitionEnd: function transitionEnd() {\r\n var swiper = this;\r\n if (swiper.hashNavigation.initialized) {\r\n swiper.hashNavigation.setHash();\r\n }\r\n },\r\n },\r\n };\r\n\r\n /* eslint no-underscore-dangle: \"off\" */\r\n\r\n var Autoplay = {\r\n run: function run() {\r\n var swiper = this;\r\n var $activeSlideEl = swiper.slides.eq(swiper.activeIndex);\r\n var delay = swiper.params.autoplay.delay;\r\n if ($activeSlideEl.attr('data-swiper-autoplay')) {\r\n delay = $activeSlideEl.attr('data-swiper-autoplay') || swiper.params.autoplay.delay;\r\n }\r\n swiper.autoplay.timeout = Utils.nextTick(function () {\r\n if (swiper.params.autoplay.reverseDirection) {\r\n if (swiper.params.loop) {\r\n swiper.loopFix();\r\n swiper.slidePrev(swiper.params.speed, true, true);\r\n swiper.emit('autoplay');\r\n } else if (!swiper.isBeginning) {\r\n swiper.slidePrev(swiper.params.speed, true, true);\r\n swiper.emit('autoplay');\r\n } else if (!swiper.params.autoplay.stopOnLastSlide) {\r\n swiper.slideTo(swiper.slides.length - 1, swiper.params.speed, true, true);\r\n swiper.emit('autoplay');\r\n } else {\r\n swiper.autoplay.stop();\r\n }\r\n } else if (swiper.params.loop) {\r\n swiper.loopFix();\r\n swiper.slideNext(swiper.params.speed, true, true);\r\n swiper.emit('autoplay');\r\n } else if (!swiper.isEnd) {\r\n swiper.slideNext(swiper.params.speed, true, true);\r\n swiper.emit('autoplay');\r\n } else if (!swiper.params.autoplay.stopOnLastSlide) {\r\n swiper.slideTo(0, swiper.params.speed, true, true);\r\n swiper.emit('autoplay');\r\n } else {\r\n swiper.autoplay.stop();\r\n }\r\n }, delay);\r\n },\r\n start: function start() {\r\n var swiper = this;\r\n if (typeof swiper.autoplay.timeout !== 'undefined') {\r\n return false;\r\n }\r\n if (swiper.autoplay.running) {\r\n return false;\r\n }\r\n swiper.autoplay.running = true;\r\n swiper.emit('autoplayStart');\r\n swiper.autoplay.run();\r\n return true;\r\n },\r\n stop: function stop() {\r\n var swiper = this;\r\n if (!swiper.autoplay.running) {\r\n return false;\r\n }\r\n if (typeof swiper.autoplay.timeout === 'undefined') {\r\n return false;\r\n }\r\n\r\n if (swiper.autoplay.timeout) {\r\n clearTimeout(swiper.autoplay.timeout);\r\n swiper.autoplay.timeout = undefined;\r\n }\r\n swiper.autoplay.running = false;\r\n swiper.emit('autoplayStop');\r\n return true;\r\n },\r\n pause: function pause(speed) {\r\n var swiper = this;\r\n if (!swiper.autoplay.running) {\r\n return;\r\n }\r\n if (swiper.autoplay.paused) {\r\n return;\r\n }\r\n if (swiper.autoplay.timeout) {\r\n clearTimeout(swiper.autoplay.timeout);\r\n }\r\n swiper.autoplay.paused = true;\r\n if (speed === 0 || !swiper.params.autoplay.waitForTransition) {\r\n swiper.autoplay.paused = false;\r\n swiper.autoplay.run();\r\n } else {\r\n swiper.$wrapperEl[0].addEventListener('transitionend', swiper.autoplay.onTransitionEnd);\r\n swiper.$wrapperEl[0].addEventListener('webkitTransitionEnd', swiper.autoplay.onTransitionEnd);\r\n }\r\n },\r\n };\r\n\r\n var Autoplay$1 = {\r\n name: 'autoplay',\r\n params: {\r\n autoplay: {\r\n enabled: false,\r\n delay: 3000,\r\n waitForTransition: true,\r\n disableOnInteraction: true,\r\n stopOnLastSlide: false,\r\n reverseDirection: false,\r\n },\r\n },\r\n create: function create() {\r\n var swiper = this;\r\n Utils.extend(swiper, {\r\n autoplay: {\r\n running: false,\r\n paused: false,\r\n run: Autoplay.run.bind(swiper),\r\n start: Autoplay.start.bind(swiper),\r\n stop: Autoplay.stop.bind(swiper),\r\n pause: Autoplay.pause.bind(swiper),\r\n onTransitionEnd: function onTransitionEnd(e) {\r\n if (!swiper || swiper.destroyed || !swiper.$wrapperEl) {\r\n return;\r\n }\r\n if (e.target !== this) {\r\n return;\r\n }\r\n swiper.$wrapperEl[0].removeEventListener('transitionend', swiper.autoplay.onTransitionEnd);\r\n swiper.$wrapperEl[0].removeEventListener('webkitTransitionEnd', swiper.autoplay.onTransitionEnd);\r\n swiper.autoplay.paused = false;\r\n if (!swiper.autoplay.running) {\r\n swiper.autoplay.stop();\r\n } else {\r\n swiper.autoplay.run();\r\n }\r\n },\r\n },\r\n });\r\n },\r\n on: {\r\n init: function init() {\r\n var swiper = this;\r\n if (swiper.params.autoplay.enabled) {\r\n swiper.autoplay.start();\r\n }\r\n },\r\n beforeTransitionStart: function beforeTransitionStart(speed, internal) {\r\n var swiper = this;\r\n if (swiper.autoplay.running) {\r\n if (internal || !swiper.params.autoplay.disableOnInteraction) {\r\n swiper.autoplay.pause(speed);\r\n } else {\r\n swiper.autoplay.stop();\r\n }\r\n }\r\n },\r\n sliderFirstMove: function sliderFirstMove() {\r\n var swiper = this;\r\n if (swiper.autoplay.running) {\r\n if (swiper.params.autoplay.disableOnInteraction) {\r\n swiper.autoplay.stop();\r\n } else {\r\n swiper.autoplay.pause();\r\n }\r\n }\r\n },\r\n destroy: function destroy() {\r\n var swiper = this;\r\n if (swiper.autoplay.running) {\r\n swiper.autoplay.stop();\r\n }\r\n },\r\n },\r\n };\r\n\r\n var Fade = {\r\n setTranslate: function setTranslate() {\r\n var swiper = this;\r\n var slides = swiper.slides;\r\n for (var i = 0; i < slides.length; i += 1) {\r\n var $slideEl = swiper.slides.eq(i);\r\n var offset = $slideEl[0].swiperSlideOffset;\r\n var tx = -offset;\r\n if (!swiper.params.virtualTranslate) {\r\n tx -= swiper.translate;\r\n }\r\n var ty = 0;\r\n if (!swiper.isHorizontal()) {\r\n ty = tx;\r\n tx = 0;\r\n }\r\n var slideOpacity = swiper.params.fadeEffect.crossFade\r\n ? Math.max(1 - Math.abs($slideEl[0].progress), 0)\r\n : 1 + Math.min(Math.max($slideEl[0].progress, -1), 0);\r\n $slideEl\r\n .css({\r\n opacity: slideOpacity,\r\n })\r\n .transform((\"translate3d(\" + tx + \"px, \" + ty + \"px, 0px)\"));\r\n }\r\n },\r\n setTransition: function setTransition(duration) {\r\n var swiper = this;\r\n var slides = swiper.slides;\r\n var $wrapperEl = swiper.$wrapperEl;\r\n slides.transition(duration);\r\n if (swiper.params.virtualTranslate && duration !== 0) {\r\n var eventTriggered = false;\r\n slides.transitionEnd(function () {\r\n if (eventTriggered) {\r\n return;\r\n }\r\n if (!swiper || swiper.destroyed) {\r\n return;\r\n }\r\n eventTriggered = true;\r\n swiper.animating = false;\r\n var triggerEvents = ['webkitTransitionEnd', 'transitionend'];\r\n for (var i = 0; i < triggerEvents.length; i += 1) {\r\n $wrapperEl.trigger(triggerEvents[i]);\r\n }\r\n });\r\n }\r\n },\r\n };\r\n\r\n var EffectFade = {\r\n name: 'effect-fade',\r\n params: {\r\n fadeEffect: {\r\n crossFade: false,\r\n },\r\n },\r\n create: function create() {\r\n var swiper = this;\r\n Utils.extend(swiper, {\r\n fadeEffect: {\r\n setTranslate: Fade.setTranslate.bind(swiper),\r\n setTransition: Fade.setTransition.bind(swiper),\r\n },\r\n });\r\n },\r\n on: {\r\n beforeInit: function beforeInit() {\r\n var swiper = this;\r\n if (swiper.params.effect !== 'fade') {\r\n return;\r\n }\r\n swiper.classNames.push(((swiper.params.containerModifierClass) + \"fade\"));\r\n var overwriteParams = {\r\n slidesPerView: 1,\r\n slidesPerColumn: 1,\r\n slidesPerGroup: 1,\r\n watchSlidesProgress: true,\r\n spaceBetween: 0,\r\n virtualTranslate: true,\r\n };\r\n Utils.extend(swiper.params, overwriteParams);\r\n Utils.extend(swiper.originalParams, overwriteParams);\r\n },\r\n setTranslate: function setTranslate() {\r\n var swiper = this;\r\n if (swiper.params.effect !== 'fade') {\r\n return;\r\n }\r\n swiper.fadeEffect.setTranslate();\r\n },\r\n setTransition: function setTransition(duration) {\r\n var swiper = this;\r\n if (swiper.params.effect !== 'fade') {\r\n return;\r\n }\r\n swiper.fadeEffect.setTransition(duration);\r\n },\r\n },\r\n };\r\n\r\n var Cube = {\r\n setTranslate: function setTranslate() {\r\n var swiper = this;\r\n var $el = swiper.$el;\r\n var $wrapperEl = swiper.$wrapperEl;\r\n var slides = swiper.slides;\r\n var swiperWidth = swiper.width;\r\n var swiperHeight = swiper.height;\r\n var rtl = swiper.rtlTranslate;\r\n var swiperSize = swiper.size;\r\n var params = swiper.params.cubeEffect;\r\n var isHorizontal = swiper.isHorizontal();\r\n var isVirtual = swiper.virtual && swiper.params.virtual.enabled;\r\n var wrapperRotate = 0;\r\n var $cubeShadowEl;\r\n if (params.shadow) {\r\n if (isHorizontal) {\r\n $cubeShadowEl = $wrapperEl.find('.swiper-cube-shadow');\r\n if ($cubeShadowEl.length === 0) {\r\n $cubeShadowEl = $('
');\r\n $wrapperEl.append($cubeShadowEl);\r\n }\r\n $cubeShadowEl.css({height: (swiperWidth + \"px\")});\r\n } else {\r\n $cubeShadowEl = $el.find('.swiper-cube-shadow');\r\n if ($cubeShadowEl.length === 0) {\r\n $cubeShadowEl = $('
');\r\n $el.append($cubeShadowEl);\r\n }\r\n }\r\n }\r\n for (var i = 0; i < slides.length; i += 1) {\r\n var $slideEl = slides.eq(i);\r\n var slideIndex = i;\r\n if (isVirtual) {\r\n slideIndex = parseInt($slideEl.attr('data-swiper-slide-index'), 10);\r\n }\r\n var slideAngle = slideIndex * 90;\r\n var round = Math.floor(slideAngle / 360);\r\n if (rtl) {\r\n slideAngle = -slideAngle;\r\n round = Math.floor(-slideAngle / 360);\r\n }\r\n var progress = Math.max(Math.min($slideEl[0].progress, 1), -1);\r\n var tx = 0;\r\n var ty = 0;\r\n var tz = 0;\r\n if (slideIndex % 4 === 0) {\r\n tx = -round * 4 * swiperSize;\r\n tz = 0;\r\n } else if ((slideIndex - 1) % 4 === 0) {\r\n tx = 0;\r\n tz = -round * 4 * swiperSize;\r\n } else if ((slideIndex - 2) % 4 === 0) {\r\n tx = swiperSize + (round * 4 * swiperSize);\r\n tz = swiperSize;\r\n } else if ((slideIndex - 3) % 4 === 0) {\r\n tx = -swiperSize;\r\n tz = (3 * swiperSize) + (swiperSize * 4 * round);\r\n }\r\n if (rtl) {\r\n tx = -tx;\r\n }\r\n\r\n if (!isHorizontal) {\r\n ty = tx;\r\n tx = 0;\r\n }\r\n\r\n var transform = \"rotateX(\" + (isHorizontal ? 0 : -slideAngle) + \"deg) rotateY(\" + (isHorizontal ? slideAngle : 0) + \"deg) translate3d(\" + tx + \"px, \" + ty + \"px, \" + tz + \"px)\";\r\n if (progress <= 1 && progress > -1) {\r\n wrapperRotate = (slideIndex * 90) + (progress * 90);\r\n if (rtl) {\r\n wrapperRotate = (-slideIndex * 90) - (progress * 90);\r\n }\r\n }\r\n $slideEl.transform(transform);\r\n if (params.slideShadows) {\r\n // Set shadows\r\n var shadowBefore = isHorizontal ? $slideEl.find('.swiper-slide-shadow-left') : $slideEl.find('.swiper-slide-shadow-top');\r\n var shadowAfter = isHorizontal ? $slideEl.find('.swiper-slide-shadow-right') : $slideEl.find('.swiper-slide-shadow-bottom');\r\n if (shadowBefore.length === 0) {\r\n shadowBefore = $((\"
\"));\r\n $slideEl.append(shadowBefore);\r\n }\r\n if (shadowAfter.length === 0) {\r\n shadowAfter = $((\"
\"));\r\n $slideEl.append(shadowAfter);\r\n }\r\n if (shadowBefore.length) {\r\n shadowBefore[0].style.opacity = Math.max(-progress, 0);\r\n }\r\n if (shadowAfter.length) {\r\n shadowAfter[0].style.opacity = Math.max(progress, 0);\r\n }\r\n }\r\n }\r\n $wrapperEl.css({\r\n '-webkit-transform-origin': (\"50% 50% -\" + (swiperSize / 2) + \"px\"),\r\n '-moz-transform-origin': (\"50% 50% -\" + (swiperSize / 2) + \"px\"),\r\n '-ms-transform-origin': (\"50% 50% -\" + (swiperSize / 2) + \"px\"),\r\n 'transform-origin': (\"50% 50% -\" + (swiperSize / 2) + \"px\"),\r\n });\r\n\r\n if (params.shadow) {\r\n if (isHorizontal) {\r\n $cubeShadowEl.transform((\"translate3d(0px, \" + ((swiperWidth / 2) + params.shadowOffset) + \"px, \" + (-swiperWidth / 2) + \"px) rotateX(90deg) rotateZ(0deg) scale(\" + (params.shadowScale) + \")\"));\r\n } else {\r\n var shadowAngle = Math.abs(wrapperRotate) - (Math.floor(Math.abs(wrapperRotate) / 90) * 90);\r\n var multiplier = 1.5 - (\r\n (Math.sin((shadowAngle * 2 * Math.PI) / 360) / 2)\r\n + (Math.cos((shadowAngle * 2 * Math.PI) / 360) / 2)\r\n );\r\n var scale1 = params.shadowScale;\r\n var scale2 = params.shadowScale / multiplier;\r\n var offset = params.shadowOffset;\r\n $cubeShadowEl.transform((\"scale3d(\" + scale1 + \", 1, \" + scale2 + \") translate3d(0px, \" + ((swiperHeight / 2) + offset) + \"px, \" + (-swiperHeight / 2 / scale2) + \"px) rotateX(-90deg)\"));\r\n }\r\n }\r\n var zFactor = (Browser.isSafari || Browser.isUiWebView) ? (-swiperSize / 2) : 0;\r\n $wrapperEl\r\n .transform((\"translate3d(0px,0,\" + zFactor + \"px) rotateX(\" + (swiper.isHorizontal() ? 0 : wrapperRotate) + \"deg) rotateY(\" + (swiper.isHorizontal() ? -wrapperRotate : 0) + \"deg)\"));\r\n },\r\n setTransition: function setTransition(duration) {\r\n var swiper = this;\r\n var $el = swiper.$el;\r\n var slides = swiper.slides;\r\n slides\r\n .transition(duration)\r\n .find('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left')\r\n .transition(duration);\r\n if (swiper.params.cubeEffect.shadow && !swiper.isHorizontal()) {\r\n $el.find('.swiper-cube-shadow').transition(duration);\r\n }\r\n },\r\n };\r\n\r\n var EffectCube = {\r\n name: 'effect-cube',\r\n params: {\r\n cubeEffect: {\r\n slideShadows: true,\r\n shadow: true,\r\n shadowOffset: 20,\r\n shadowScale: 0.94,\r\n },\r\n },\r\n create: function create() {\r\n var swiper = this;\r\n Utils.extend(swiper, {\r\n cubeEffect: {\r\n setTranslate: Cube.setTranslate.bind(swiper),\r\n setTransition: Cube.setTransition.bind(swiper),\r\n },\r\n });\r\n },\r\n on: {\r\n beforeInit: function beforeInit() {\r\n var swiper = this;\r\n if (swiper.params.effect !== 'cube') {\r\n return;\r\n }\r\n swiper.classNames.push(((swiper.params.containerModifierClass) + \"cube\"));\r\n swiper.classNames.push(((swiper.params.containerModifierClass) + \"3d\"));\r\n var overwriteParams = {\r\n slidesPerView: 1,\r\n slidesPerColumn: 1,\r\n slidesPerGroup: 1,\r\n watchSlidesProgress: true,\r\n resistanceRatio: 0,\r\n spaceBetween: 0,\r\n centeredSlides: false,\r\n virtualTranslate: true,\r\n };\r\n Utils.extend(swiper.params, overwriteParams);\r\n Utils.extend(swiper.originalParams, overwriteParams);\r\n },\r\n setTranslate: function setTranslate() {\r\n var swiper = this;\r\n if (swiper.params.effect !== 'cube') {\r\n return;\r\n }\r\n swiper.cubeEffect.setTranslate();\r\n },\r\n setTransition: function setTransition(duration) {\r\n var swiper = this;\r\n if (swiper.params.effect !== 'cube') {\r\n return;\r\n }\r\n swiper.cubeEffect.setTransition(duration);\r\n },\r\n },\r\n };\r\n\r\n var Flip = {\r\n setTranslate: function setTranslate() {\r\n var swiper = this;\r\n var slides = swiper.slides;\r\n var rtl = swiper.rtlTranslate;\r\n for (var i = 0; i < slides.length; i += 1) {\r\n var $slideEl = slides.eq(i);\r\n var progress = $slideEl[0].progress;\r\n if (swiper.params.flipEffect.limitRotation) {\r\n progress = Math.max(Math.min($slideEl[0].progress, 1), -1);\r\n }\r\n var offset = $slideEl[0].swiperSlideOffset;\r\n var rotate = -180 * progress;\r\n var rotateY = rotate;\r\n var rotateX = 0;\r\n var tx = -offset;\r\n var ty = 0;\r\n if (!swiper.isHorizontal()) {\r\n ty = tx;\r\n tx = 0;\r\n rotateX = -rotateY;\r\n rotateY = 0;\r\n } else if (rtl) {\r\n rotateY = -rotateY;\r\n }\r\n\r\n $slideEl[0].style.zIndex = -Math.abs(Math.round(progress)) + slides.length;\r\n\r\n if (swiper.params.flipEffect.slideShadows) {\r\n // Set shadows\r\n var shadowBefore = swiper.isHorizontal() ? $slideEl.find('.swiper-slide-shadow-left') : $slideEl.find('.swiper-slide-shadow-top');\r\n var shadowAfter = swiper.isHorizontal() ? $slideEl.find('.swiper-slide-shadow-right') : $slideEl.find('.swiper-slide-shadow-bottom');\r\n if (shadowBefore.length === 0) {\r\n shadowBefore = $((\"
\"));\r\n $slideEl.append(shadowBefore);\r\n }\r\n if (shadowAfter.length === 0) {\r\n shadowAfter = $((\"
\"));\r\n $slideEl.append(shadowAfter);\r\n }\r\n if (shadowBefore.length) {\r\n shadowBefore[0].style.opacity = Math.max(-progress, 0);\r\n }\r\n if (shadowAfter.length) {\r\n shadowAfter[0].style.opacity = Math.max(progress, 0);\r\n }\r\n }\r\n $slideEl\r\n .transform((\"translate3d(\" + tx + \"px, \" + ty + \"px, 0px) rotateX(\" + rotateX + \"deg) rotateY(\" + rotateY + \"deg)\"));\r\n }\r\n },\r\n setTransition: function setTransition(duration) {\r\n var swiper = this;\r\n var slides = swiper.slides;\r\n var activeIndex = swiper.activeIndex;\r\n var $wrapperEl = swiper.$wrapperEl;\r\n slides\r\n .transition(duration)\r\n .find('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left')\r\n .transition(duration);\r\n if (swiper.params.virtualTranslate && duration !== 0) {\r\n var eventTriggered = false;\r\n // eslint-disable-next-line\r\n slides.eq(activeIndex).transitionEnd(function onTransitionEnd() {\r\n if (eventTriggered) {\r\n return;\r\n }\r\n if (!swiper || swiper.destroyed) {\r\n return;\r\n }\r\n // if (!$(this).hasClass(swiper.params.slideActiveClass)) return;\r\n eventTriggered = true;\r\n swiper.animating = false;\r\n var triggerEvents = ['webkitTransitionEnd', 'transitionend'];\r\n for (var i = 0; i < triggerEvents.length; i += 1) {\r\n $wrapperEl.trigger(triggerEvents[i]);\r\n }\r\n });\r\n }\r\n },\r\n };\r\n\r\n var EffectFlip = {\r\n name: 'effect-flip',\r\n params: {\r\n flipEffect: {\r\n slideShadows: true,\r\n limitRotation: true,\r\n },\r\n },\r\n create: function create() {\r\n var swiper = this;\r\n Utils.extend(swiper, {\r\n flipEffect: {\r\n setTranslate: Flip.setTranslate.bind(swiper),\r\n setTransition: Flip.setTransition.bind(swiper),\r\n },\r\n });\r\n },\r\n on: {\r\n beforeInit: function beforeInit() {\r\n var swiper = this;\r\n if (swiper.params.effect !== 'flip') {\r\n return;\r\n }\r\n swiper.classNames.push(((swiper.params.containerModifierClass) + \"flip\"));\r\n swiper.classNames.push(((swiper.params.containerModifierClass) + \"3d\"));\r\n var overwriteParams = {\r\n slidesPerView: 1,\r\n slidesPerColumn: 1,\r\n slidesPerGroup: 1,\r\n watchSlidesProgress: true,\r\n spaceBetween: 0,\r\n virtualTranslate: true,\r\n };\r\n Utils.extend(swiper.params, overwriteParams);\r\n Utils.extend(swiper.originalParams, overwriteParams);\r\n },\r\n setTranslate: function setTranslate() {\r\n var swiper = this;\r\n if (swiper.params.effect !== 'flip') {\r\n return;\r\n }\r\n swiper.flipEffect.setTranslate();\r\n },\r\n setTransition: function setTransition(duration) {\r\n var swiper = this;\r\n if (swiper.params.effect !== 'flip') {\r\n return;\r\n }\r\n swiper.flipEffect.setTransition(duration);\r\n },\r\n },\r\n };\r\n\r\n var Coverflow = {\r\n setTranslate: function setTranslate() {\r\n var swiper = this;\r\n var swiperWidth = swiper.width;\r\n var swiperHeight = swiper.height;\r\n var slides = swiper.slides;\r\n var $wrapperEl = swiper.$wrapperEl;\r\n var slidesSizesGrid = swiper.slidesSizesGrid;\r\n var params = swiper.params.coverflowEffect;\r\n var isHorizontal = swiper.isHorizontal();\r\n var transform = swiper.translate;\r\n var center = isHorizontal ? -transform + (swiperWidth / 2) : -transform + (swiperHeight / 2);\r\n var rotate = isHorizontal ? params.rotate : -params.rotate;\r\n var translate = params.depth;\r\n // Each slide offset from center\r\n for (var i = 0, length = slides.length; i < length; i += 1) {\r\n var $slideEl = slides.eq(i);\r\n var slideSize = slidesSizesGrid[i];\r\n var slideOffset = $slideEl[0].swiperSlideOffset;\r\n var offsetMultiplier = ((center - slideOffset - (slideSize / 2)) / slideSize) * params.modifier;\r\n\r\n var rotateY = isHorizontal ? rotate * offsetMultiplier : 0;\r\n var rotateX = isHorizontal ? 0 : rotate * offsetMultiplier;\r\n // var rotateZ = 0\r\n var translateZ = -translate * Math.abs(offsetMultiplier);\r\n\r\n var translateY = isHorizontal ? 0 : params.stretch * (offsetMultiplier);\r\n var translateX = isHorizontal ? params.stretch * (offsetMultiplier) : 0;\r\n\r\n // Fix for ultra small values\r\n if (Math.abs(translateX) < 0.001) {\r\n translateX = 0;\r\n }\r\n if (Math.abs(translateY) < 0.001) {\r\n translateY = 0;\r\n }\r\n if (Math.abs(translateZ) < 0.001) {\r\n translateZ = 0;\r\n }\r\n if (Math.abs(rotateY) < 0.001) {\r\n rotateY = 0;\r\n }\r\n if (Math.abs(rotateX) < 0.001) {\r\n rotateX = 0;\r\n }\r\n\r\n var slideTransform = \"translate3d(\" + translateX + \"px,\" + translateY + \"px,\" + translateZ + \"px) rotateX(\" + rotateX + \"deg) rotateY(\" + rotateY + \"deg)\";\r\n\r\n $slideEl.transform(slideTransform);\r\n $slideEl[0].style.zIndex = -Math.abs(Math.round(offsetMultiplier)) + 1;\r\n if (params.slideShadows) {\r\n // Set shadows\r\n var $shadowBeforeEl = isHorizontal ? $slideEl.find('.swiper-slide-shadow-left') : $slideEl.find('.swiper-slide-shadow-top');\r\n var $shadowAfterEl = isHorizontal ? $slideEl.find('.swiper-slide-shadow-right') : $slideEl.find('.swiper-slide-shadow-bottom');\r\n if ($shadowBeforeEl.length === 0) {\r\n $shadowBeforeEl = $((\"
\"));\r\n $slideEl.append($shadowBeforeEl);\r\n }\r\n if ($shadowAfterEl.length === 0) {\r\n $shadowAfterEl = $((\"
\"));\r\n $slideEl.append($shadowAfterEl);\r\n }\r\n if ($shadowBeforeEl.length) {\r\n $shadowBeforeEl[0].style.opacity = offsetMultiplier > 0 ? offsetMultiplier : 0;\r\n }\r\n if ($shadowAfterEl.length) {\r\n $shadowAfterEl[0].style.opacity = (-offsetMultiplier) > 0 ? -offsetMultiplier : 0;\r\n }\r\n }\r\n }\r\n\r\n // Set correct perspective for IE10\r\n if (Support.pointerEvents || Support.prefixedPointerEvents) {\r\n var ws = $wrapperEl[0].style;\r\n ws.perspectiveOrigin = center + \"px 50%\";\r\n }\r\n },\r\n setTransition: function setTransition(duration) {\r\n var swiper = this;\r\n swiper.slides\r\n .transition(duration)\r\n .find('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left')\r\n .transition(duration);\r\n },\r\n };\r\n\r\n var EffectCoverflow = {\r\n name: 'effect-coverflow',\r\n params: {\r\n coverflowEffect: {\r\n rotate: 50,\r\n stretch: 0,\r\n depth: 100,\r\n modifier: 1,\r\n slideShadows: true,\r\n },\r\n },\r\n create: function create() {\r\n var swiper = this;\r\n Utils.extend(swiper, {\r\n coverflowEffect: {\r\n setTranslate: Coverflow.setTranslate.bind(swiper),\r\n setTransition: Coverflow.setTransition.bind(swiper),\r\n },\r\n });\r\n },\r\n on: {\r\n beforeInit: function beforeInit() {\r\n var swiper = this;\r\n if (swiper.params.effect !== 'coverflow') {\r\n return;\r\n }\r\n\r\n swiper.classNames.push(((swiper.params.containerModifierClass) + \"coverflow\"));\r\n swiper.classNames.push(((swiper.params.containerModifierClass) + \"3d\"));\r\n\r\n swiper.params.watchSlidesProgress = true;\r\n swiper.originalParams.watchSlidesProgress = true;\r\n },\r\n setTranslate: function setTranslate() {\r\n var swiper = this;\r\n if (swiper.params.effect !== 'coverflow') {\r\n return;\r\n }\r\n swiper.coverflowEffect.setTranslate();\r\n },\r\n setTransition: function setTransition(duration) {\r\n var swiper = this;\r\n if (swiper.params.effect !== 'coverflow') {\r\n return;\r\n }\r\n swiper.coverflowEffect.setTransition(duration);\r\n },\r\n },\r\n };\r\n\r\n var Thumbs = {\r\n init: function init() {\r\n var swiper = this;\r\n var ref = swiper.params;\r\n var thumbsParams = ref.thumbs;\r\n var SwiperClass = swiper.constructor;\r\n if (thumbsParams.swiper instanceof SwiperClass) {\r\n swiper.thumbs.swiper = thumbsParams.swiper;\r\n Utils.extend(swiper.thumbs.swiper.originalParams, {\r\n watchSlidesProgress: true,\r\n slideToClickedSlide: false,\r\n });\r\n Utils.extend(swiper.thumbs.swiper.params, {\r\n watchSlidesProgress: true,\r\n slideToClickedSlide: false,\r\n });\r\n } else if (Utils.isObject(thumbsParams.swiper)) {\r\n swiper.thumbs.swiper = new SwiperClass(Utils.extend({}, thumbsParams.swiper, {\r\n watchSlidesVisibility: true,\r\n watchSlidesProgress: true,\r\n slideToClickedSlide: false,\r\n }));\r\n swiper.thumbs.swiperCreated = true;\r\n }\r\n swiper.thumbs.swiper.$el.addClass(swiper.params.thumbs.thumbsContainerClass);\r\n swiper.thumbs.swiper.on('tap', swiper.thumbs.onThumbClick);\r\n },\r\n onThumbClick: function onThumbClick() {\r\n var swiper = this;\r\n var thumbsSwiper = swiper.thumbs.swiper;\r\n if (!thumbsSwiper) {\r\n return;\r\n }\r\n var clickedIndex = thumbsSwiper.clickedIndex;\r\n if (typeof clickedIndex === 'undefined' || clickedIndex === null) {\r\n return;\r\n }\r\n var slideToIndex;\r\n if (thumbsSwiper.params.loop) {\r\n slideToIndex = parseInt($(thumbsSwiper.clickedSlide).attr('data-swiper-slide-index'), 10);\r\n } else {\r\n slideToIndex = clickedIndex;\r\n }\r\n if (swiper.params.loop) {\r\n var currentIndex = swiper.activeIndex;\r\n if (swiper.slides.eq(currentIndex).hasClass(swiper.params.slideDuplicateClass)) {\r\n swiper.loopFix();\r\n // eslint-disable-next-line\r\n swiper._clientLeft = swiper.$wrapperEl[0].clientLeft;\r\n currentIndex = swiper.activeIndex;\r\n }\r\n var prevIndex = swiper.slides.eq(currentIndex).prevAll((\"[data-swiper-slide-index=\\\"\" + slideToIndex + \"\\\"]\")).eq(0).index();\r\n var nextIndex = swiper.slides.eq(currentIndex).nextAll((\"[data-swiper-slide-index=\\\"\" + slideToIndex + \"\\\"]\")).eq(0).index();\r\n if (typeof prevIndex === 'undefined') {\r\n slideToIndex = nextIndex;\r\n }\r\n else if (typeof nextIndex === 'undefined') {\r\n slideToIndex = prevIndex;\r\n }\r\n else if (nextIndex - currentIndex < currentIndex - prevIndex) {\r\n slideToIndex = nextIndex;\r\n }\r\n else {\r\n slideToIndex = prevIndex;\r\n }\r\n }\r\n swiper.slideTo(slideToIndex);\r\n },\r\n update: function update(initial) {\r\n var swiper = this;\r\n var thumbsSwiper = swiper.thumbs.swiper;\r\n if (!thumbsSwiper) {\r\n return;\r\n }\r\n\r\n var slidesPerView = thumbsSwiper.params.slidesPerView === 'auto'\r\n ? thumbsSwiper.slidesPerViewDynamic()\r\n : thumbsSwiper.params.slidesPerView;\r\n\r\n if (swiper.realIndex !== thumbsSwiper.realIndex) {\r\n var currentThumbsIndex = thumbsSwiper.activeIndex;\r\n var newThumbsIndex;\r\n if (thumbsSwiper.params.loop) {\r\n if (thumbsSwiper.slides.eq(currentThumbsIndex).hasClass(thumbsSwiper.params.slideDuplicateClass)) {\r\n thumbsSwiper.loopFix();\r\n // eslint-disable-next-line\r\n thumbsSwiper._clientLeft = thumbsSwiper.$wrapperEl[0].clientLeft;\r\n currentThumbsIndex = thumbsSwiper.activeIndex;\r\n }\r\n // Find actual thumbs index to slide to\r\n var prevThumbsIndex = thumbsSwiper.slides.eq(currentThumbsIndex).prevAll((\"[data-swiper-slide-index=\\\"\" + (swiper.realIndex) + \"\\\"]\")).eq(0).index();\r\n var nextThumbsIndex = thumbsSwiper.slides.eq(currentThumbsIndex).nextAll((\"[data-swiper-slide-index=\\\"\" + (swiper.realIndex) + \"\\\"]\")).eq(0).index();\r\n if (typeof prevThumbsIndex === 'undefined') {\r\n newThumbsIndex = nextThumbsIndex;\r\n }\r\n else if (typeof nextThumbsIndex === 'undefined') {\r\n newThumbsIndex = prevThumbsIndex;\r\n }\r\n else if (nextThumbsIndex - currentThumbsIndex < currentThumbsIndex - prevThumbsIndex) {\r\n newThumbsIndex = nextThumbsIndex;\r\n }\r\n else {\r\n newThumbsIndex = prevThumbsIndex;\r\n }\r\n } else {\r\n newThumbsIndex = swiper.realIndex;\r\n }\r\n\r\n if (thumbsSwiper.visibleSlidesIndexes.indexOf(newThumbsIndex) < 0) {\r\n if (thumbsSwiper.params.centeredSlides) {\r\n if (newThumbsIndex > currentThumbsIndex) {\r\n newThumbsIndex = newThumbsIndex - Math.floor(slidesPerView / 2) + 1;\r\n } else {\r\n newThumbsIndex = newThumbsIndex + Math.floor(slidesPerView / 2) - 1;\r\n }\r\n } else if (newThumbsIndex > currentThumbsIndex) {\r\n newThumbsIndex = newThumbsIndex - slidesPerView + 1;\r\n }\r\n thumbsSwiper.slideTo(newThumbsIndex, initial ? 0 : undefined);\r\n }\r\n }\r\n\r\n // Activate thumbs\r\n var thumbsToActivate = 1;\r\n var thumbActiveClass = swiper.params.thumbs.slideThumbActiveClass;\r\n\r\n if (swiper.params.slidesPerView > 1 && !swiper.params.centeredSlides) {\r\n thumbsToActivate = swiper.params.slidesPerView;\r\n }\r\n\r\n thumbsSwiper.slides.removeClass(thumbActiveClass);\r\n if (thumbsSwiper.params.loop) {\r\n for (var i = 0; i < thumbsToActivate; i += 1) {\r\n thumbsSwiper.$wrapperEl.children((\"[data-swiper-slide-index=\\\"\" + (swiper.realIndex + i) + \"\\\"]\")).addClass(thumbActiveClass);\r\n }\r\n } else {\r\n for (var i$1 = 0; i$1 < thumbsToActivate; i$1 += 1) {\r\n thumbsSwiper.slides.eq(swiper.realIndex + i$1).addClass(thumbActiveClass);\r\n }\r\n }\r\n },\r\n };\r\n var Thumbs$1 = {\r\n name: 'thumbs',\r\n params: {\r\n thumbs: {\r\n swiper: null,\r\n slideThumbActiveClass: 'swiper-slide-thumb-active',\r\n thumbsContainerClass: 'swiper-container-thumbs',\r\n },\r\n },\r\n create: function create() {\r\n var swiper = this;\r\n Utils.extend(swiper, {\r\n thumbs: {\r\n swiper: null,\r\n init: Thumbs.init.bind(swiper),\r\n update: Thumbs.update.bind(swiper),\r\n onThumbClick: Thumbs.onThumbClick.bind(swiper),\r\n },\r\n });\r\n },\r\n on: {\r\n beforeInit: function beforeInit() {\r\n var swiper = this;\r\n var ref = swiper.params;\r\n var thumbs = ref.thumbs;\r\n if (!thumbs || !thumbs.swiper) {\r\n return;\r\n }\r\n swiper.thumbs.init();\r\n swiper.thumbs.update(true);\r\n },\r\n slideChange: function slideChange() {\r\n var swiper = this;\r\n if (!swiper.thumbs.swiper) {\r\n return;\r\n }\r\n swiper.thumbs.update();\r\n },\r\n update: function update() {\r\n var swiper = this;\r\n if (!swiper.thumbs.swiper) {\r\n return;\r\n }\r\n swiper.thumbs.update();\r\n },\r\n resize: function resize() {\r\n var swiper = this;\r\n if (!swiper.thumbs.swiper) {\r\n return;\r\n }\r\n swiper.thumbs.update();\r\n },\r\n observerUpdate: function observerUpdate() {\r\n var swiper = this;\r\n if (!swiper.thumbs.swiper) {\r\n return;\r\n }\r\n swiper.thumbs.update();\r\n },\r\n setTransition: function setTransition(duration) {\r\n var swiper = this;\r\n var thumbsSwiper = swiper.thumbs.swiper;\r\n if (!thumbsSwiper) {\r\n return;\r\n }\r\n thumbsSwiper.setTransition(duration);\r\n },\r\n beforeDestroy: function beforeDestroy() {\r\n var swiper = this;\r\n var thumbsSwiper = swiper.thumbs.swiper;\r\n if (!thumbsSwiper) {\r\n return;\r\n }\r\n if (swiper.thumbs.swiperCreated && thumbsSwiper) {\r\n thumbsSwiper.destroy();\r\n }\r\n },\r\n },\r\n };\r\n\r\n // Swiper Class\r\n\r\n var components = [\r\n Device$1,\r\n Support$1,\r\n Browser$1,\r\n Resize,\r\n Observer$1,\r\n Virtual$1,\r\n Keyboard$1,\r\n Mousewheel$1,\r\n Navigation$1,\r\n Pagination$1,\r\n Scrollbar$1,\r\n Parallax$1,\r\n Zoom$1,\r\n Lazy$1,\r\n Controller$1,\r\n A11y,\r\n History$1,\r\n HashNavigation$1,\r\n Autoplay$1,\r\n EffectFade,\r\n EffectCube,\r\n EffectFlip,\r\n EffectCoverflow,\r\n Thumbs$1\r\n ];\r\n\r\n if (typeof Swiper.use === 'undefined') {\r\n Swiper.use = Swiper.Class.use;\r\n Swiper.installModule = Swiper.Class.installModule;\r\n }\r\n\r\n Swiper.use(components);\r\n\r\n return Swiper;\r\n});\r\n","defineDs('DanskeSpil/Domain/AvalonComponents/Scripts/ReadMoreSpot', [\r\n 'Shared/Framework/Mithril/Scripts/Helpers/DOMUtils',\r\n], function (DOMUtils) {\r\n\r\n var readMore = function () {\r\n var $readMoreSpots = document.querySelectorAll('.js-read-more-spot');\r\n\r\n $readMoreSpots.forEach(($spot) => {\r\n $spot.querySelector('.js-read-more-cta')?.addEventListener('click', () => {\r\n $spot.classList.toggle('is-open');\r\n const buttonText = $spot.classList.contains('is-open') ? 'Skjul' : 'Læs mere';\r\n $spot.querySelector('.js-read-more-text').textContent = buttonText;\r\n });\r\n });\r\n };\r\n DOMUtils.ready(function () {\r\n readMore();\r\n\r\n });\r\n});\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","defineDs('DanskeSpil/Domain/AvalonComponents/Scripts/TabsComponent', [\r\n 'Shared/Framework/Mithril/Scripts/Helpers/Utils'\r\n], function (Utils) {\r\n\r\n const initTabsNavigation = () => {\r\n const $tabComponents = document.querySelectorAll('.js-tabs-component');\r\n\r\n if (!$tabComponents.length) {\r\n return;\r\n }\r\n\r\n $tabComponents.forEach(($tabComponent, i) => {\r\n const $tabContent = $tabComponent.querySelectorAll('.js-tab-frame');\r\n const $tabNavLink = $tabComponent.querySelectorAll('.js-tab-nav-link');\r\n\r\n if (!$tabContent.length) {\r\n return;\r\n }\r\n\r\n $tabContent[0].classList.add('is-active');\r\n\r\n if ($tabContent.length === 1) {\r\n const $content = $tabContent[0];\r\n const $title = document.createElement('h2');\r\n\r\n $title.classList.add('avalon-tabs-component__frame-title');\r\n $title.textContent = $content.getAttribute('data-tabname');\r\n\r\n $content.prepend($title);\r\n\r\n $tabComponent.classList.add('tabs-component--tabs-disabled');\r\n } else {\r\n $tabContent.forEach(($content, index) => {\r\n const tabId = `tab-${i.toString()}_${index.toString()}`;\r\n const $tabLinkTitle = $tabNavLink[index].querySelector('.js-tab-link-title');\r\n\r\n if ($tabLinkTitle) {\r\n $tabLinkTitle.textContent = $content.getAttribute('data-tabname');\r\n }\r\n\r\n $content.setAttribute('id', tabId);\r\n\r\n $tabNavLink[index].setAttribute('href', `#${tabId}`);\r\n $tabNavLink[index].addEventListener('click', (ev) => {\r\n ev.preventDefault();\r\n\r\n $tabNavLink.forEach(($link) => {\r\n if ($link === ev.currentTarget) return;\r\n $link.parentElement.classList.remove('is-selected');\r\n });\r\n\r\n ev.currentTarget.parentElement.classList.add('is-selected');\r\n\r\n $tabContent.forEach(($tabElem) => {\r\n $tabElem.classList.remove('is-active');\r\n });\r\n\r\n $content.classList.add('is-active');\r\n });\r\n });\r\n }\r\n });\r\n };\r\n\r\n initTabsNavigation();\r\n\r\n if (document.querySelector('.js-tabs-component')) {\r\n Utils.logDeprecated('TabsComponent.js - ..js-tabs-component found'); // Added by MIPE 2024-05-14\r\n }\r\n});\r\n","defineDs('DanskeSpil/Domain/AvalonComponents/Scripts/Slider',\r\n ['DanskeSpil/Domain/AvalonComponents/Scripts/Libraries/Swiper',\r\n 'Shared/Framework/Mithril/Scripts/Helpers/DOMUtils'],\r\n function (Swiper, DOMUtils) {\r\n\r\n var swipers = [];\r\n var swiperActiveClass = 'swiper-active';\r\n\r\n /**\r\n * Determine if we should add slider functionality to each or the configurations added\r\n */\r\n var handler = function () {\r\n swipers.forEach(function (swiper) {\r\n\r\n if ((swiper.shouldInitialize && swiper.shouldInitialize())) {\r\n\r\n // Show the scrollbar container element when we have a slider\r\n const swiperElements = swiper.target.querySelectorAll('.swiper-scrollbar, .swiper-pagination');\r\n swiperElements.forEach(($element) => {\r\n $element.style.display = '';\r\n });\r\n\r\n if (swiper.swiper) {\r\n if (Array.isArray(swiper.swiper)) {\r\n swiper.swiper.forEach(function (sw) {\r\n sw.refresh();\r\n });\r\n } else {\r\n swiper.swiper.refresh();\r\n }\r\n } else {\r\n swiper.swiper = new Swiper(swiper.target, swiper.settings);\r\n }\r\n\r\n swiper.target.classList.add(swiperActiveClass);\r\n\r\n } else {\r\n if (swiper.swiper) {\r\n if (Array.isArray(swiper.swiper)) {\r\n swiper.swiper.forEach(function (sw) {\r\n sw.destroy(true, true);\r\n });\r\n } else {\r\n swiper.swiper.destroy(true, true);\r\n }\r\n swiper.swiper = undefined;\r\n\r\n swiper.target.classList.remove(swiperActiveClass);\r\n }\r\n\r\n // Hide the scrollbar container element when we have no slider\r\n const swiperElements = swiper.target.querySelectorAll('.swiper-scrollbar, .swiper-pagination');\r\n swiperElements.forEach(($element) => {\r\n $element.style.display = 'none';\r\n });\r\n }\r\n });\r\n };\r\n\r\n var init = function () {\r\n window.addEventListener('resize', handler, false);\r\n };\r\n\r\n var addSlider = function (swiper) {\r\n if (swiper.target) {\r\n swipers.push(swiper);\r\n handler();\r\n }\r\n };\r\n\r\n Swiper.prototype.refresh = function () {\r\n this.update();\r\n this.scrollbar.updateSize();\r\n };\r\n\r\n DOMUtils.ready(init);\r\n\r\n return {\r\n addSlider: addSlider,\r\n handler: handler\r\n };\r\n });\r\n","defineDs('DanskeSpil/Domain/AvalonComponents/Scripts/Components/PageNavHeader',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Component',\r\n 'Shared/Framework/Mithril/Scripts/Helpers/Utils'\r\n ],\r\n function (Component, Utils) {\r\n\r\n Component('page-nav-header', function (m, route) {\r\n\r\n var elem = this.$element;\r\n\r\n var root = {\r\n\r\n controller: function () {\r\n // Detect all target elements on the page\r\n var targets = document.querySelectorAll('.js-page-nav-header-target');\r\n // Convert them to a real array\r\n this.targetsArray = [].slice.call(targets);\r\n\r\n /**\r\n * Scroll the page to the target of the clicked element\r\n */\r\n this.scrollPage = function scrollPage(event) {\r\n event.preventDefault();\r\n\r\n const $topNavigation = document.querySelector('.top-navigation');\r\n const scrollTarget = event.target.getAttribute('href');\r\n const $scrollTargetElement = document.querySelector(scrollTarget);\r\n const offsetTop = $scrollTargetElement?.getBoundingClientRect().top + window.scrollY;\r\n var currentScrollTop = document.documentElement.scrollTop;\r\n\r\n // set an offset if we are scrolling up on the page, to accomodate the height of the header\r\n var offset = currentScrollTop > offsetTop ? $topNavigation.getBoundingClientRect().height : 0;\r\n var scrollTopValue = offsetTop - offset;\r\n\r\n window.scrollTo({ top: scrollTopValue, behavior: 'smooth' });\r\n }.bind(this);\r\n\r\n this.pageIsReady = function pageIsReady() {\r\n // Set class to show the nav bar\r\n elem.classList.add('is-ready');\r\n\r\n // Clean up event listener\r\n document.removeEventListener('DOMContentLoaded', this.pageIsReady, false);\r\n\r\n }.bind(this);\r\n\r\n /**\r\n * Add height fix to the header, if it is not already there\r\n */\r\n this.addHeaderHeightFix = function addHeaderHeightFix() {\r\n\r\n if (!document.querySelector('.page-nav-header-static-fix')) {\r\n var insertTarget = document.querySelector('.container .header-static-fix');\r\n insertTarget.insertAdjacentHTML('afterend', '
');\r\n }\r\n };\r\n\r\n // Setup event listener\r\n document.addEventListener('DOMContentLoaded', this.pageIsReady.bind(this), false);\r\n this.addHeaderHeightFix();\r\n\r\n },\r\n\r\n view: function (ctrl) {\r\n return m('.page-nav-header__content', [\r\n // Build items\r\n ctrl.targetsArray.map(function (item) {\r\n return m('a.page-nav-header__item', {\r\n href: item.getAttribute('data-nav-UrlLink') === 'True' ? item.id : '#' + item.id,\r\n onclick: item.getAttribute('data-nav-UrlLink') === 'True' ? '' : ctrl.scrollPage\r\n }, item.getAttribute('data-nav-name'));\r\n })\r\n\r\n ]);\r\n }\r\n\r\n };\r\n\r\n // route\r\n route('/', root);\r\n\r\n Utils.logDeprecated('PageNavHeader.js - component loaded'); // Added by MIPE 2024-05-14\r\n });\r\n\r\n });\r\n","defineDs('DanskeSpil/Domain/AvalonComponents/Scripts/HeroBannerFeeds', function () {\r\n\r\n // Dont continue, if sitecore editor\r\n if (window.sitecoreEnv) {\r\n return;\r\n }\r\n\r\n // DOM elements\r\n var $elements = document.querySelectorAll('.avalon-hero__heading, .avalon-hero__text, .avalon-joker__prize');\r\n\r\n // Dont continue, if no elements for replacing.\r\n if ($elements.length === 0) {\r\n return;\r\n }\r\n\r\n // Only load JackpotInfo if needed (as it is not in all bundles)\r\n requireDs('DanskeSpil/Framework/PuljeFeed/Scripts/JackpotInfo', function (JackpotInfo) {\r\n\r\n JackpotInfo.ready.then(function () {\r\n // Helper function to format Joker jackpot\r\n var formatJoker = function (feed) {\r\n var feedText = feed;\r\n if (!feedText || feedText === '0') {\r\n feedText = 'mindst 2'; // at least 2 mio in the jackpot\r\n }\r\n return feedText;\r\n };\r\n\r\n // Prepare data for replacement:\r\n var jackpotData = {\r\n vikinglotto: JackpotInfo.getByGame('vikinglotto').poolSizeFormatted || 'min. 2',\r\n lotto: JackpotInfo.getByGame('lotto').poolSizeFormatted || 'min. 2',\r\n eurojackpot: JackpotInfo.getByGame('eurojackpot').poolSizeFormatted,\r\n jokerloerdag: formatJoker(JackpotInfo.getByGame('jokerloerdag').poolSizeFormatted),\r\n jokeronsdag: formatJoker(JackpotInfo.getByGame('jokeronsdag').poolSizeFormatted)\r\n };\r\n\r\n // Perform replacements:\r\n for (var i = 0; i < $elements.length; i++) {\r\n var element = $elements[i];\r\n var elementText = element.innerHTML.toString();\r\n\r\n Object.keys(jackpotData).forEach(function (key) {\r\n elementText = elementText.replace('{' + key + '}', jackpotData[key]);\r\n });\r\n\r\n element.innerHTML = elementText;\r\n }\r\n\r\n });\r\n\r\n });\r\n\r\n});\r\n","defineDs('DanskeSpil/Domain/AvalonQuick/Scripts/GameListSpot', [\r\n 'DanskeSpil/Domain/AvalonComponents/Scripts/Slider'\r\n], function (Slider) {\r\n\r\n const state = {\r\n input: '',\r\n filters: []\r\n };\r\n\r\n let $dropdowns;\r\n let $filterBadges;\r\n\r\n const initStateFilters = () => {\r\n $dropdowns.forEach(($dropdown) => {\r\n let filters = {};\r\n $dropdown.querySelectorAll('.js-dropdown-item').forEach(($item) => {\r\n const categoryId = $item.getAttribute('data-category').trim();\r\n filters[categoryId] = { label: $item.textContent.trim(), active: true, checked: false };\r\n });\r\n state.filters[$dropdown.querySelector('.js-dropdown-label')?.textContent.trim()] = filters;\r\n });\r\n\r\n stateUpdated();\r\n };\r\n\r\n const allItemsInDropDownUnchecked = () => {\r\n for (let dropDownLabel in state.filters) {\r\n let countChecked = 0;\r\n\r\n for (let categoryId in state.filters[dropDownLabel]) {\r\n if (state.filters[dropDownLabel].hasOwnProperty(categoryId)) {\r\n if (state.filters[dropDownLabel][categoryId].checked) {\r\n countChecked++;\r\n }\r\n }\r\n }\r\n\r\n if (countChecked === 0) {\r\n // no checked items in dropdown, set all active\r\n for (let categoryId in state.filters[dropDownLabel]) {\r\n if (state.filters[dropDownLabel].hasOwnProperty(categoryId)) {\r\n state.filters[dropDownLabel][categoryId].active = true;\r\n }\r\n }\r\n } else {\r\n // at least one checked item in dropdown, set active equal to checked state\r\n for (let categoryId in state.filters[dropDownLabel]) {\r\n if (state.filters[dropDownLabel].hasOwnProperty(categoryId)) {\r\n state.filters[dropDownLabel][categoryId].active = state.filters[dropDownLabel][categoryId].checked;\r\n }\r\n }\r\n }\r\n }\r\n };\r\n\r\n const typedInSearch = (ev) => {\r\n state.input = ev.target.value.trim().toLowerCase();\r\n stateUpdated();\r\n };\r\n\r\n const clickedOnFilterOrBadge = (ev) => {\r\n // due to js bubbling, we only want to take action on when input checkbox is clicked\r\n if (ev.target.tagName === 'INPUT') {\r\n const categoryId = ev.currentTarget.getAttribute('data-category').trim();\r\n for (let dropDownLabel in state.filters) {\r\n if (state.filters[dropDownLabel][categoryId]) {\r\n state.filters[dropDownLabel][categoryId].checked = !state.filters[dropDownLabel][categoryId].checked;\r\n }\r\n }\r\n stateUpdated();\r\n }\r\n };\r\n\r\n const stateUpdated = () => {\r\n allItemsInDropDownUnchecked();\r\n updateFilters();\r\n updateBadges();\r\n updateCards();\r\n updateCardContainers();\r\n Slider.handler();\r\n };\r\n\r\n const updateBadges = () => {\r\n $filterBadges.forEach(($badge) => {\r\n const categoryId = $badge.getAttribute('data-category').trim();\r\n const checkBox = $badge.querySelector('input');\r\n for (let dropDownLabel in state.filters) {\r\n if (state.filters[dropDownLabel][categoryId]) {\r\n const checked = state.filters[dropDownLabel][categoryId].checked;\r\n checkBox.checked = checked;\r\n checkBox.parentElement.style.display = checked ? 'inline-block' : 'none';\r\n }\r\n }\r\n });\r\n };\r\n\r\n const updateFilters = () => {\r\n $dropdowns.forEach(($dropdown) => {\r\n const dropDownLabel = $dropdown.querySelector('.js-dropdown-label').textContent.trim();\r\n let countChecked = 0;\r\n $dropdown.querySelectorAll('.js-dropdown-item').forEach(($item) => {\r\n const categoryId = $item.getAttribute('data-category').trim();\r\n const $checkBox = $item.querySelector('input');\r\n $checkBox.checked = state.filters[dropDownLabel][categoryId].checked;\r\n if ($checkBox.checked) {\r\n countChecked++;\r\n }\r\n });\r\n\r\n $dropdown.classList.toggle('active-filter', countChecked > 0);\r\n });\r\n };\r\n\r\n const updateCards = () => {\r\n const $cards = document.querySelectorAll('.js-card');\r\n $cards.forEach(($card) => {\r\n const cardCategoryIds = $card.getAttribute('data-categories');\r\n\r\n const activeFilter = (dropDownLabel) => {\r\n for (let filterCategoryId in state.filters[dropDownLabel]) {\r\n if (state.filters[dropDownLabel].hasOwnProperty(filterCategoryId)) {\r\n const active = state.filters[dropDownLabel][filterCategoryId].active;\r\n const filterInCardCategories = cardCategoryIds.indexOf(filterCategoryId) > -1;\r\n if (active && filterInCardCategories) {\r\n return true;\r\n }\r\n }\r\n }\r\n return false;\r\n };\r\n\r\n const titleIsValid = () => {\r\n const cardTitle = $card.querySelector('.js-card-title').textContent.trim().toLowerCase();\r\n return cardTitle.indexOf(state.input) > -1;\r\n };\r\n\r\n const show = ((activeFilter('Pris') && activeFilter('Gevinst') && titleIsValid()) || document.querySelector('.FeaturedGameListSpot') !== null);\r\n $card.classList.toggle('hidden', !show);\r\n $card.classList.toggle('swiper-slide', show);\r\n });\r\n };\r\n\r\n const updateCardContainers = () => {\r\n const $cardContainers = document.querySelectorAll('.js-card-container');\r\n $cardContainers.forEach(($cardContainer) => {\r\n const visibleCardsInContainer = $cardContainer.querySelectorAll('.js-card:not(.hidden)').length;\r\n $cardContainer.style.display = visibleCardsInContainer === 0 ? 'none' : '';\r\n });\r\n\r\n const visibleCardsOnPage = document.querySelectorAll('.js-card:not(.hidden)').length;\r\n document.querySelector('.js-no-games').style.display = visibleCardsOnPage > 0 ? 'none' : 'block';\r\n };\r\n\r\n const toggleDropDown = (ev) => {\r\n ev.currentTarget?.classList.toggle('open');\r\n };\r\n\r\n const handleClickOutsideDropDown = () => {\r\n document.addEventListener('mouseup', (ev) => {\r\n if (!ev.target.classList.contains('js-dropdown') // if the target of the click isn't the dropdown...\r\n && !ev.target.closest('.js-dropdown')) { // ... nor a descendant of the dropdown\r\n\r\n $dropdowns.forEach(($dropdown) => {\r\n $dropdown.classList.remove('open');\r\n });\r\n }\r\n });\r\n };\r\n\r\n const initialize = () => {\r\n if (document.body.classList.contains('.mode-edit')) {\r\n return;\r\n }\r\n if (!document.querySelector('.game-list-spot-component')) {\r\n return;\r\n }\r\n\r\n $dropdowns = document.querySelectorAll('.js-dropdown');\r\n $filterBadges = document.querySelectorAll('.js-filterbadge');\r\n\r\n $dropdowns.forEach(($dropdown) => {\r\n $dropdown.addEventListener('click', toggleDropDown);\r\n });\r\n\r\n const $dropdownItems = document.querySelectorAll('.js-dropdown-item');\r\n $dropdownItems.forEach(($item) => {\r\n $item.addEventListener('click', clickedOnFilterOrBadge);\r\n });\r\n\r\n $filterBadges.forEach(($badge) => {\r\n $badge.addEventListener('click', clickedOnFilterOrBadge);\r\n });\r\n\r\n document.querySelector('.js-search')?.addEventListener('input', typedInSearch);\r\n\r\n document.querySelector('form')?.addEventListener('submit', (ev) => {\r\n ev.preventDefault();\r\n });\r\n\r\n handleClickOutsideDropDown();\r\n initStateFilters();\r\n };\r\n\r\n initialize();\r\n\r\n});\r\n\r\n","defineDs('DanskeSpil/Domain/AvalonQuick/Scripts/SearchGames', [\r\n 'Shared/Framework/Ensighten/Scripts/Ensighten'], function (Ensighten) {\r\n\r\n if (!document.querySelector('.search-games-component') && !document.querySelector('.search-spot')) {\r\n return;\r\n }\r\n\r\n const state = {\r\n input: '',\r\n filters: [],\r\n hasTags: [],\r\n hasFilters: []\r\n };\r\n\r\n let $dropdowns;\r\n let $filterToggle;\r\n let $filterBadges;\r\n let $tags;\r\n let $clearSearch;\r\n let $searchInput;\r\n let $resultHeadingStandard;\r\n let $resultHeadingSearchPhrase;\r\n let $resultHeadingFilters;\r\n let $searchSpotToggle;\r\n let $searchSpotInput;\r\n\r\n const initStateFilters = () => {\r\n $dropdowns.forEach(($dropdown) => {\r\n let filters = {};\r\n $dropdown.querySelectorAll('.js-dropdown-item').forEach(($item) => {\r\n const categoryId = $item.getAttribute('data-category').trim();\r\n filters[categoryId] = { label: $item.textContent.trim(), active: true, checked: false };\r\n });\r\n state.filters[$dropdown.querySelector('.js-dropdown-label')?.textContent.trim()] = filters;\r\n\r\n });\r\n let tags = {};\r\n document.querySelectorAll('.js-searchtag').forEach((searchTag) => {\r\n tags[searchTag.dataset.tag] = { label: searchTag.textContent.trim(), checked: false };\r\n });\r\n state.filters['Tags'] = tags;\r\n stateUpdated();\r\n };\r\n\r\n const allItemsInDropDownUnchecked = () => {\r\n for (let dropDownLabel in state.filters) {\r\n let countChecked = 0;\r\n\r\n for (let categoryId in state.filters[dropDownLabel]) {\r\n if (state.filters[dropDownLabel].hasOwnProperty(categoryId)) {\r\n if (state.filters[dropDownLabel][categoryId].checked) {\r\n countChecked++;\r\n }\r\n }\r\n }\r\n\r\n if (countChecked === 0) {\r\n // no checked items in dropdown, set all active\r\n for (let categoryId in state.filters[dropDownLabel]) {\r\n if (state.filters[dropDownLabel].hasOwnProperty(categoryId)) {\r\n state.filters[dropDownLabel][categoryId].active = true;\r\n }\r\n }\r\n } else {\r\n // at least one checked item in dropdown, set active equal to checked state\r\n for (let categoryId in state.filters[dropDownLabel]) {\r\n if (state.filters[dropDownLabel].hasOwnProperty(categoryId)) {\r\n state.filters[dropDownLabel][categoryId].active = state.filters[dropDownLabel][categoryId].checked;\r\n }\r\n }\r\n }\r\n }\r\n };\r\n\r\n const typedInSearch = (ev) => {\r\n state.input = ev.target.value.trim().toLowerCase();\r\n stateUpdated();\r\n initResultHeader();\r\n document.querySelector('.js-search-phrase').innerHTML = `\"${state.input}\"`;\r\n window.history.pushState(state.input, 'Search', `/quick/soeg?q=${state.input}`);\r\n if (state.input === '') {\r\n $resultHeadingStandard.classList.add('active');\r\n return;\r\n }\r\n $resultHeadingSearchPhrase.classList.add('active');\r\n };\r\n\r\n const clickedOnFilterOrBadge = (ev) => {\r\n // due to js bubbling, we only want to take action on when input checkbox is clicked\r\n ev.target.closest('.js-dropdown').classList.remove('open');\r\n if (ev.target.tagName === 'INPUT') {\r\n const categoryId = ev.currentTarget.getAttribute('data-category').trim();\r\n for (let dropDownLabel in state.filters) {\r\n if (state.filters[dropDownLabel][categoryId]) {\r\n state.filters[dropDownLabel][categoryId].checked = !state.filters[dropDownLabel][categoryId].checked;\r\n }\r\n }\r\n stateUpdated();\r\n }\r\n ev.target.closest('.js-dropdown').click();\r\n };\r\n\r\n const stateUpdated = () => {\r\n allItemsInDropDownUnchecked();\r\n updateFilters();\r\n updateBadges();\r\n updateCards();\r\n updateCardContainers();\r\n };\r\n\r\n const updateBadges = () => {\r\n $filterBadges.forEach(($badge) => {\r\n const categoryId = $badge.getAttribute('data-category').trim();\r\n const checkBox = $badge.querySelector('input');\r\n for (let dropDownLabel in state.filters) {\r\n if (state.filters[dropDownLabel][categoryId]) {\r\n const checked = state.filters[dropDownLabel][categoryId].checked;\r\n checkBox.checked = checked;\r\n checkBox.parentElement.style.display = checked ? 'inline-block' : 'none';\r\n }\r\n }\r\n });\r\n };\r\n\r\n const updateFilters = () => {\r\n $dropdowns.forEach(($dropdown) => {\r\n const dropDownLabel = $dropdown.querySelector('.js-dropdown-label').textContent.trim();\r\n let countChecked = 0;\r\n $dropdown.querySelectorAll('.js-dropdown-item').forEach(($item) => {\r\n const categoryId = $item.getAttribute('data-category').trim();\r\n const $checkBox = $item.querySelector('input');\r\n $checkBox.checked = state.filters[dropDownLabel][categoryId].checked;\r\n if ($checkBox.checked) {\r\n countChecked++;\r\n }\r\n });\r\n\r\n $dropdown.classList.toggle('active-filter', countChecked > 0);\r\n // Show the right header text\r\n if ($dropdown.classList.contains('active-filter')) {\r\n state.hasFilters.push('a');\r\n initResultHeader();\r\n state.hasFilters.length > 0 || state.hasTags.length > 0 ? $resultHeadingFilters.classList.add('active') : '';\r\n } else {\r\n state.hasFilters.length === 0 && state.hasTags.length === 0 ? initResultHeader(true) : '';\r\n state.hasFilters.splice('a');\r\n }\r\n });\r\n };\r\n\r\n const updateCards = () => {\r\n const $cards = document.querySelectorAll('.js-card');\r\n $cards.forEach(($card) => {\r\n const cardCategoryIds = $card.getAttribute('data-categories');\r\n\r\n const activeFilter = (dropDownLabel) => {\r\n for (let filterCategoryId in state.filters[dropDownLabel]) {\r\n if (state.filters[dropDownLabel].hasOwnProperty(filterCategoryId)) {\r\n const active = state.filters[dropDownLabel][filterCategoryId].active;\r\n const filterInCardCategories = cardCategoryIds.indexOf(filterCategoryId) > -1;\r\n if (active && filterInCardCategories) {\r\n return true;\r\n }\r\n }\r\n }\r\n return false;\r\n };\r\n\r\n const titleIsValid = () => {\r\n const cardTitle = $card.querySelector('.js-card-title').textContent.trim().toLowerCase();\r\n return cardTitle.indexOf(state.input) > -1;\r\n };\r\n\r\n const tagIsCheckedOnCard = () => {\r\n // check if any tags is checked in searchbar\r\n let anyTagsChecked = false;\r\n for (let tag in state.filters.Tags) {\r\n if (state.filters.Tags[tag].checked) {\r\n anyTagsChecked = true;\r\n }\r\n }\r\n if (!anyTagsChecked) {\r\n return true;\r\n }\r\n const tagsOnCard = JSON.parse($card.getAttribute('data-tags').trim());\r\n const cardHasTag = tagsOnCard.some((tag) => {\r\n return state.filters.Tags[tag].checked;\r\n });\r\n return cardHasTag;\r\n };\r\n tagIsCheckedOnCard();\r\n\r\n const show = (activeFilter('Pris') && activeFilter('Gevinst') && titleIsValid() && tagIsCheckedOnCard());\r\n $card.classList.toggle('hidden', !show);\r\n });\r\n };\r\n\r\n const updateCardContainers = () => {\r\n const $cardContainers = document.querySelectorAll('.js-card-container');\r\n $cardContainers.forEach(($cardContainer) => {\r\n const visibleCardsInContainer = $cardContainer.querySelectorAll('.js-card:not(.hidden)').length;\r\n $cardContainer.style.display = visibleCardsInContainer === 0 ? 'none' : '';\r\n });\r\n\r\n if (document.querySelector('.js-no-games')) {\r\n const visibleCardsOnPage = document.querySelectorAll('.js-card:not(.hidden)').length;\r\n document.querySelector('.js-no-games').style.display = visibleCardsOnPage > 0 ? 'none' : 'block';\r\n }\r\n };\r\n\r\n const clearSearch = (ev) => {\r\n ev.preventDefault();\r\n $tags.forEach(($tag) => {\r\n $tag.classList.remove('selected');\r\n });\r\n initStateFilters();\r\n $searchInput.value = '';\r\n state.input = '';\r\n stateUpdated();\r\n initResultHeader(true);\r\n };\r\n\r\n const toggleDropDown = (ev) => {\r\n ev.currentTarget?.classList.toggle('open');\r\n if (ev.target.nodeName === 'SPAN') {\r\n const labelHtml = `${ev.target.parentElement.parentElement.parentElement.parentElement.querySelector('.js-dropdown-label').innerHTML} > ${ev.target.innerHTML}`;\r\n Ensighten.pushGaEvent('filter', 'dropdown', labelHtml);\r\n }\r\n };\r\n\r\n const toggleFilter = () => {\r\n $filterToggle.classList.toggle('open');\r\n document.querySelector('.js-filters').classList.toggle('open');\r\n };\r\n\r\n const tagClicked = (ev) => {\r\n const tagId = ev.target.getAttribute('data-tag');\r\n ev.target.classList.toggle('selected');\r\n\r\n if (state.filters['Tags'][tagId].checked) {\r\n state.filters['Tags'][tagId].checked = false;\r\n } else {\r\n Ensighten.pushGaEvent('filter', 'select', state.filters['Tags'][tagId].label);\r\n state.filters['Tags'][tagId].checked = true;\r\n }\r\n // Show the right header text\r\n tagSelected();\r\n stateUpdated();\r\n };\r\n\r\n const tagSelected = () => {\r\n for (let i = 0; i < $tags.length; i++) {\r\n if ($tags[i].classList.contains('selected')) {\r\n state.hasTags.push(i);\r\n initResultHeader();\r\n state.hasTags.length > 0 || state.hasFilters.length > 0 ? $resultHeadingFilters.classList.add('active') : '';\r\n } else {\r\n state.hasTags.length === 0 && state.hasFilters.length === 0 ? initResultHeader(true) : '';\r\n state.hasTags.splice(i);\r\n }\r\n }\r\n };\r\n\r\n const handleClickOutsideDropDown = () => {\r\n document.addEventListener('mouseup', (ev) => {\r\n if (!ev.target.classList.contains('js-dropdown') // if the target of the click isn't the dropdown...\r\n && !ev.target.closest('.js-dropdown')) { // ... nor a descendant of the dropdown\r\n\r\n $dropdowns.forEach(($dropdown) => {\r\n $dropdown.classList.remove('open');\r\n });\r\n }\r\n });\r\n };\r\n\r\n const initResultHeader = (reset) => {\r\n const activeClass = 'active';\r\n if ($resultHeadingStandard) {\r\n $resultHeadingStandard.classList.remove(activeClass);\r\n $resultHeadingSearchPhrase.classList.remove(activeClass);\r\n $resultHeadingFilters.classList.remove(activeClass);\r\n if (reset) {\r\n $resultHeadingStandard.classList.add(activeClass);\r\n }\r\n }\r\n };\r\n\r\n const goToSearchPage = () => {\r\n const searchUrl = $searchSpotInput.getAttribute('data-search-spot-url');\r\n const searchPhrase = $searchSpotInput.value;\r\n window.location.href = `${searchUrl}?q=${searchPhrase.toLowerCase()}`;\r\n };\r\n\r\n const goToSearchPageOnEnter = (e) => {\r\n e.keyCode === 13 ? goToSearchPage() : null;\r\n };\r\n\r\n const getSearchPhraseFromUrl = () => {\r\n let params = new URLSearchParams(document.location.search);\r\n let searchPhraseFromUrl = params.get('q');\r\n let mainSearchInput = document.querySelector('.js-search');\r\n if (searchPhraseFromUrl && mainSearchInput) {\r\n window.setTimeout(() => {\r\n mainSearchInput.value = searchPhraseFromUrl;\r\n state.input = searchPhraseFromUrl;\r\n stateUpdated();\r\n document.querySelector('.js-search-phrase').innerHTML = `\"${state.input}\"`;\r\n initResultHeader();\r\n $resultHeadingSearchPhrase.classList.add('active');\r\n\r\n }, 100);\r\n }\r\n };\r\n\r\n const toggleSearchSpot = () => {\r\n document.querySelector('.search-spot__input-container').classList.toggle('visible');\r\n $searchSpotToggle.classList.toggle('hidden');\r\n $searchSpotInput.focus();\r\n };\r\n\r\n const initialize = () => {\r\n if (document.body.classList.contains('.mode-edit')) {\r\n return;\r\n }\r\n\r\n if (!document.querySelector('.search-games-component') && !document.querySelector('.search-spot')) {\r\n return;\r\n }\r\n\r\n $dropdowns = document.querySelectorAll('.js-dropdown');\r\n $filterBadges = document.querySelectorAll('.js-filterbadge');\r\n $filterToggle = document.querySelector('.js-filtertoggle');\r\n $tags = document.querySelectorAll('.js-searchtag');\r\n $clearSearch = document.querySelector('.js-clear-search');\r\n $searchInput = document.querySelector('.js-search');\r\n $resultHeadingStandard = document.querySelector('.js-search-result-heading-standard');\r\n $resultHeadingSearchPhrase = document.querySelector('.js-search-result-search-phrase');\r\n $resultHeadingFilters = document.querySelector('.js-search-result-filters');\r\n $searchSpotToggle = document.querySelector('.js-search-spot-toggle');\r\n $searchSpotInput = document.querySelector('.js-search-spot-input');\r\n\r\n if ($filterToggle) {\r\n $filterToggle.addEventListener('click', toggleFilter);\r\n }\r\n $tags.forEach(($tag) => {\r\n $tag.addEventListener('click', tagClicked);\r\n });\r\n\r\n $dropdowns.forEach(($dropdown) => {\r\n $dropdown.addEventListener('click', toggleDropDown);\r\n });\r\n\r\n const $dropdownItems = document.querySelectorAll('.js-dropdown-item');\r\n if ($dropdownItems.length) {\r\n $dropdownItems.forEach(($item) => {\r\n $item.addEventListener('click', clickedOnFilterOrBadge);\r\n });\r\n }\r\n\r\n $filterBadges.forEach(($badge) => {\r\n $badge.addEventListener('click', clickedOnFilterOrBadge);\r\n });\r\n\r\n document.querySelector('.js-search')?.addEventListener('input', typedInSearch);\r\n\r\n if ($clearSearch) {\r\n $clearSearch.addEventListener('click', clearSearch);\r\n }\r\n document.querySelector('.js-search-spot-button')?.addEventListener('click', goToSearchPage);\r\n if ($searchSpotInput) {\r\n $searchSpotInput.addEventListener('keydown', goToSearchPageOnEnter);\r\n $searchSpotToggle.addEventListener('click', toggleSearchSpot);\r\n }\r\n document.querySelector('form')?.addEventListener('submit', (ev) => {\r\n ev.preventDefault();\r\n });\r\n\r\n handleClickOutsideDropDown();\r\n initStateFilters();\r\n initResultHeader(true);\r\n getSearchPhraseFromUrl();\r\n\r\n };\r\n\r\n initialize();\r\n\r\n});\r\n\r\n","defineDs('DanskeSpil/Domain/AvalonQuick/Scripts/FeaturedGames', [\r\n 'Shared/Framework/Mithril/Scripts/Helpers/Storage',\r\n 'DanskeSpil/Domain/AvalonComponents/Scripts/Slider',\r\n 'Shared/Framework/Mithril/Scripts/Helpers/DOMUtils',\r\n], function (Storage, Slider, DOMUtils) {\r\n\r\n var storageKey = 'quick-featured-games';\r\n var storageMaxGames = 2;\r\n var previousFeaturedGames = '';\r\n\r\n // let's get rid of invalid games (it's valid only if game already exist on the page)\r\n function filterOutInvalidGames(games) {\r\n return games.filter(function (gameLink) {\r\n var $game = document.querySelectorAll('.js-card[href=\"' + gameLink + '\"]');\r\n return $game.length > 0;\r\n });\r\n }\r\n\r\n // get an array of any stored game links\r\n function getFeaturedGamesFromStorage() {\r\n var games = Storage.get(storageKey);\r\n games = games ? JSON.parse(games) : [];\r\n // Make sure we only prepare a number that match the current max (ie. number of selected featured games in Sitecore)\r\n games = games.slice(0, storageMaxGames);\r\n return games;\r\n }\r\n\r\n // save array of game links to storage\r\n function saveGamesToStorage(games) {\r\n // we only need to save the X number of featured games\r\n if (games.length > storageMaxGames) {\r\n games = games.slice(0, storageMaxGames);\r\n }\r\n Storage.set(storageKey, JSON.stringify(games));\r\n }\r\n\r\n // user clicked a game, let's save the link of the game to storage\r\n function updateFeaturedGames(ev) {\r\n const clickedGameLink = ev.target.closest('a').attributes['href'].nodeValue;\r\n\r\n var games = getFeaturedGamesFromStorage();\r\n\r\n // stop if the game is already in the list.\r\n if (document.querySelector('.js-featured-cards .card[href=\"' + clickedGameLink + '\"]')) return;\r\n\r\n // if game is already in array, remove it, we don't want to see two of the same games\r\n if (games.indexOf(clickedGameLink) > -1) {\r\n games.splice(games.indexOf(clickedGameLink), 1);\r\n }\r\n\r\n // add the clicked game link as first in the list\r\n games.unshift(clickedGameLink);\r\n\r\n // let's save our updated links\r\n saveGamesToStorage(games);\r\n }\r\n\r\n // add games to DOM\r\n function showFeaturedGames() {\r\n var games = getFeaturedGamesFromStorage();\r\n\r\n // don't bother messing with the DOM if the featured games are the same as we already show\r\n if (games && games.toString() !== previousFeaturedGames) {\r\n previousFeaturedGames = games.toString();\r\n\r\n // Make room for the saved games, by removing the same number of cards from the DOM as we allow\r\n var count = 0;\r\n while (count < games.length) {\r\n [...document.querySelectorAll('.js-featured-cards .card')].at(-1).remove();\r\n count++;\r\n }\r\n\r\n games.reverse().map(function (gameLink) {\r\n // find a matching game, copy its DOM elements and children, put it in Featured Games\r\n var $game = document.querySelector('.js-card[href=\"' + gameLink + '\"]');\r\n if ($game) {\r\n var $clonedGame = $game.cloneNode(true);\r\n var megacardOverlay = $game.dataset['megacardOverlay'];\r\n var megacardDesktop = $game.dataset['megacardDesktop'];\r\n var megacardTablet = $game.dataset['megacardTablet'];\r\n var megacardMobile = $game.dataset['megacardMobile'];\r\n var description = $game.dataset['description'];\r\n\r\n // add game trigger\r\n $clonedGame.addEventListener('click', updateFeaturedGames);\r\n\r\n // add game to DOM\r\n document.querySelector('.js-featured-cards').prepend($clonedGame);\r\n\r\n // edit DOM with new photos\r\n const featuredCard = document.querySelector('.js-featured-cards .js-card[href=\"' + gameLink + '\"]');\r\n featuredCard.querySelector('.card-image__overlay').src = megacardOverlay;\r\n featuredCard.querySelector('.card-image__background-desktop').srcset = megacardDesktop;\r\n featuredCard.querySelector('.card-image__background-tablet').srcset = megacardTablet;\r\n featuredCard.querySelector('.card-image__background-mobile').srcset = megacardMobile;\r\n featuredCard.querySelector('.card__title').insertAdjacentHTML('afterend', '

' + description + '

');\r\n }\r\n\r\n });\r\n\r\n // add layout classes\r\n var $cards = document.querySelectorAll('.js-featured-cards .js-card');\r\n if ($cards.length) {\r\n [...$cards].at(-1).classList.add('last-card');\r\n }\r\n\r\n Slider.handler();\r\n }\r\n }\r\n\r\n // any cards that were initially loaded as featured games should be added to storage\r\n function addAnyInitialGamesToStorage() {\r\n const $initialCards = document.querySelectorAll('.js-featured-cards .js-card');\r\n\r\n if ($initialCards.length) {\r\n var games = getFeaturedGamesFromStorage();\r\n\r\n // if an initial game is not already in storage, append it to storage\r\n $initialCards.forEach(($card) => {\r\n var link = $card.attributes['href'].nodeValue;\r\n if (games.indexOf(link) === -1) {\r\n games.push(link);\r\n }\r\n });\r\n\r\n // make sure we still have the game running\r\n // (in case user had a long break, once playing a game that now no longer is available)\r\n games = filterOutInvalidGames(games);\r\n\r\n // save our games to storage\r\n saveGamesToStorage(games);\r\n }\r\n }\r\n\r\n // Set number of games we allow to be saved. The number matches the selected items on pageload, minus one\r\n function setStorageMaxGames() {\r\n storageMaxGames = document.querySelectorAll('.js-featured-cards .card').length - 1;\r\n }\r\n\r\n function init() {\r\n // detect if we have GameListSpot cards on the page\r\n var $cards = document.querySelectorAll('.game-list-spot-component .js-card');\r\n\r\n if ($cards.length > 0) {\r\n // listen for clicks on games in their container, intercept\r\n DOMUtils.addEventListeners($cards, 'click', updateFeaturedGames);\r\n\r\n // init\r\n setStorageMaxGames();\r\n addAnyInitialGamesToStorage();\r\n showFeaturedGames();\r\n }\r\n\r\n }\r\n\r\n\r\n /**\r\n * Handle when and when not to initialize cards as a slider\r\n */\r\n function initializeSliderLogic() {\r\n\r\n // We are not on mobile, never initialize slider logic\r\n if (!document.querySelector('.is-mobile-detected')) {\r\n return;\r\n }\r\n\r\n var containers = document.querySelectorAll('.js-featured-cards');\r\n\r\n containers.forEach(function (elem) {\r\n\r\n // Get the parent mega-mode element, because the HTML markup required for the Swiper library to work starts with the mega-mode parent\r\n var $parent = elem.closest('.mega-mode');\r\n var numberOfCards = elem.querySelectorAll('.card').length;\r\n\r\n var sliderConfig = {\r\n swiper: null,\r\n shouldInitialize: function () {\r\n\r\n var isPortrait = window.matchMedia('(orientation: portrait)').matches;\r\n var isLandscape = window.matchMedia('(orientation: landscape)').matches;\r\n var isAboveBreakpoint = window.matchMedia('(min-width: 768px)').matches;\r\n\r\n // Do not initialize if we are above screen width breakpoint, ie. bigger than mobile\r\n if (isAboveBreakpoint) {\r\n return false;\r\n }\r\n\r\n // We are on mobile, check if we have room for the cards to show, and only initialize if we do not\r\n return (numberOfCards > 1 && isPortrait) || (numberOfCards > 2 && isLandscape);\r\n },\r\n target: $parent,\r\n // swiper config object\r\n settings: {\r\n slidesPerView: 'auto',\r\n pagination: {\r\n el: '.swiper-pagination',\r\n clickable: true,\r\n }\r\n }\r\n };\r\n\r\n // Add swiper configuration to the global swiper handler\r\n Slider.addSlider(sliderConfig);\r\n\r\n });\r\n }\r\n\r\n DOMUtils.ready(function () {\r\n if (document.querySelector('.mode-edit')) return;\r\n init();\r\n initializeSliderLogic();\r\n });\r\n});\r\n\r\n","defineDs('DanskeSpil/Domain/AvalonQuick/Scripts/GameList', [\r\n 'DanskeSpil/Domain/AvalonComponents/Scripts/Slider'\r\n], function (Slider) {\r\n\r\n /**\r\n * Initialize Slider logic on GameList cards\r\n */\r\n function init() {\r\n\r\n // We are not on mobile, never initialize slider logic\r\n if (!document.querySelector('.is-mobile-detected')) {\r\n return;\r\n }\r\n\r\n var containers = document.querySelectorAll('.js-game-list-spot');\r\n\r\n containers.forEach(function (elem) {\r\n // Get the parent mega-mode element, because the HTML markup required for the Swiper library to work starts with the mega-mode parent\r\n var $parent = elem.closest('.swiper-container');\r\n var numberOfCards = elem.querySelectorAll('.card').length;\r\n\r\n\r\n var sliderConfig = {\r\n swiper: null,\r\n shouldInitialize: function () {\r\n\r\n var isPortrait = window.matchMedia('(orientation: portrait)').matches;\r\n var isLandscape = window.matchMedia('(orientation: landscape)').matches;\r\n var isAboveBreakpoint = window.matchMedia('(min-width: 768px)').matches;\r\n\r\n // Do not initialize if we are above screen width breakpoint, ie. bigger than mobile\r\n if (isAboveBreakpoint) {\r\n return false;\r\n }\r\n\r\n // We are on mobile, check if we have room for the cards to show, and only initialize if we do not\r\n return (numberOfCards > 1 && isPortrait) || (numberOfCards > 3 && isLandscape);\r\n },\r\n target: $parent,\r\n settings: {\r\n slidesPerView: 'auto',\r\n freeMode: true,\r\n freeModeMomentumRatio: 0.8,\r\n freeModeMomentumVelocityRatio: 0.5,\r\n freeModeMomentumBounceRatio: 0.5,\r\n touchEventsTarget: 'wrapper',\r\n scrollbar: {\r\n el: '.swiper-scrollbar',\r\n draggable: true,\r\n hide: false,\r\n dragSize: '30',\r\n },\r\n }\r\n };\r\n\r\n // Add swiper configuration to the global swiper handler\r\n Slider.addSlider(sliderConfig);\r\n\r\n });\r\n }\r\n\r\n document.addEventListener('DOMContentLoaded', function () {\r\n if (document.querySelector('.mode-edit')) return;\r\n init();\r\n });\r\n});\r\n","defineDs('DanskeSpil/Domain/AvalonQuick/Scripts/HeroDeckSliderSpot', [\r\n 'Shared/Framework/Ensighten/Scripts/Ensighten',\r\n 'Common/Framework/ScriptLibraries/Scripts/TinySlider',\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril'\r\n], function (Ensighten, TinySlider, m) {\r\n if (!document.querySelector('.hero-deck__hero')) {\r\n return;\r\n }\r\n // Initiate Hero fields that should be updated\r\n const heroBackgroundImage = document.querySelector('.hero-deck__background');\r\n const heroForegroundImage = document.querySelector('.hero-deck__hero-image');\r\n const price = document.querySelector('.js-hero-deck-link span');\r\n // const metatextContainer = document.querySelector('hero-deck__hero-texts');\r\n const metatext1 = document.querySelector('.hero-deck__hero-prize-text');\r\n const metatext2 = document.querySelector('.hero-deck__hero-title');\r\n const metatext3 = document.querySelector('.hero-deck__hero-type-text');\r\n const metatext1Mobile = document.querySelector('.hero-deck__hero-texts--mobile .hero-deck__hero-prize-text');\r\n const metatext2Mobile = document.querySelector('.hero-deck__hero-texts--mobile .hero-deck__hero-title');\r\n const metatext3Mobile = document.querySelector('.hero-deck__hero-texts--mobile .hero-deck__hero-type-text');\r\n const link = document.querySelector('.js-hero-deck-link');\r\n const container = document.querySelector('.hero-deck__slider-container');\r\n let slider = null;\r\n\r\n const cardClicked = (e) => {\r\n e.preventDefault();\r\n const startingElement = e.target.closest('.card');\r\n const cardPrice = startingElement.querySelector('.card__label--price span').innerText;\r\n const meta1 = startingElement.querySelector('.card__meta .card__meta-1').innerText;\r\n const meta2 = startingElement.querySelector('.card__meta .card__meta-2').innerText;\r\n const meta3 = startingElement.querySelector('.card__meta .card__meta-3').innerText;\r\n const cardLink = startingElement.querySelector('a.card__link')?.getAttribute('data-href');\r\n\r\n link.classList.add('quick-button--animate');\r\n window.setTimeout(() => {\r\n link.classList.remove('quick-button--animate');\r\n }, 4000);\r\n\r\n link.setAttribute('href', cardLink);\r\n\r\n if (window.matchMedia('(max-width: 767px)').matches && !startingElement.classList.contains('active')) { // only slide to next card if the user clicks, and its not on the current card\r\n if (e.pageX < (document.body.clientWidth / 2)) {\r\n slider.goTo('prev');\r\n } else {\r\n slider.goTo('next');\r\n }\r\n }\r\n document.querySelectorAll('.hero-deck__slider-container .card').forEach(($card) => {\r\n $card.classList.remove('active');\r\n });\r\n startingElement.classList.add('active');\r\n\r\n // Append all values from clicked card to Hero\r\n price.innerText = cardPrice;\r\n animateMetaTexts();\r\n metatext1.innerText = meta1;\r\n metatext2.innerText = meta2;\r\n metatext3.innerText = meta3;\r\n metatext1Mobile.innerText = meta1;\r\n metatext2Mobile.innerText = meta2;\r\n metatext3Mobile.innerText = meta3;\r\n\r\n const additionalImageData = startingElement.querySelector('.card__link').getAttribute('data-additional');\r\n if (additionalImageData) {\r\n const additionalDataElement = JSON.parse(additionalImageData);\r\n if (additionalDataElement) {\r\n document.querySelectorAll('.hero-deck__hero-additional-images>.additional-images').forEach((element) => element.classList.remove('hidden'));\r\n renderAdditionalImages(additionalDataElement);\r\n heroForegroundImage.setAttribute('src', additionalDataElement.promoForegroundImage ?? '');\r\n heroBackgroundImage.setAttribute('style', `background-image: url(${additionalDataElement.promoBackgroundImage ?? ''});`);\r\n } else {\r\n document.querySelectorAll('.hero-deck__hero-additional-images>.additional-images').forEach((element) => element.classList.add('hidden'));\r\n }\r\n }\r\n };\r\n\r\n const handleCta = ((ev) => {\r\n ev.preventDefault();\r\n const cta = ev.currentTarget;\r\n const href = cta.getAttribute('href');\r\n const label = metatext2?.innerText || href || cta.innerText;\r\n\r\n Ensighten.pushGaEventOnPageRedirect('campaign_module', 'top_spot_click', label);\r\n\r\n setTimeout(() => {\r\n location.href = href;\r\n }, 100);\r\n });\r\n\r\n const animateMetaTexts = () => {\r\n metatext1.classList.add('animating');\r\n metatext2.classList.add('animating');\r\n metatext3.classList.add('animating');\r\n metatext1Mobile.classList.add('animating');\r\n metatext2Mobile.classList.add('animating');\r\n metatext3Mobile.classList.add('animating');\r\n\r\n window.setTimeout(() => {\r\n metatext1.classList.remove('animating');\r\n metatext2.classList.remove('animating');\r\n metatext3.classList.remove('animating');\r\n metatext1Mobile.classList.remove('animating');\r\n metatext2Mobile.classList.remove('animating');\r\n metatext3Mobile.classList.remove('animating');\r\n }, 500);\r\n };\r\n\r\n const addEventListenersToCards = () => {\r\n const cards = document.querySelectorAll('.hero-deck__slider-container .card');\r\n cards.forEach((item, index) => {\r\n if (item.classList.contains('has-events')) {\r\n return;\r\n }\r\n\r\n item.querySelector('.card__link').addEventListener('click', cardClicked);\r\n item.addEventListener('mouseover', () => {\r\n focus(item, index, cards);\r\n });\r\n item.classList.add('has-events');\r\n });\r\n };\r\n\r\n container.addEventListener('mouseleave', () => {\r\n resetCards(container.querySelectorAll('.card'));\r\n });\r\n\r\n const resetCards = (cards) => {\r\n cards.forEach((card) => {\r\n card.classList.remove('card__hover');\r\n card.classList.remove('card__previous');\r\n card.classList.remove('card__next');\r\n card.classList.remove('card__before-previous');\r\n card.classList.remove('card__after-next');\r\n });\r\n };\r\n\r\n const focus = (elem, index, cards) => {\r\n let previous = index - 1;\r\n let beforePrevious = index - 2 === -1 ? false : index - 2;\r\n let next = index + 1;\r\n let afterNext = index + 2 === cards.length ? false : index + 2;\r\n resetCards(cards);\r\n elem.classList.add('card__hover');\r\n cards[previous]?.classList.add('card__previous');\r\n cards[next]?.classList.add('card__next');\r\n cards[beforePrevious]?.classList.add('card__before-previous');\r\n cards[afterNext]?.classList.add('card__after-next');\r\n };\r\n\r\n const renderAdditionalImages = ({ additionalImages }) => {\r\n if (additionalImages) {\r\n const additionalImageHtml = [\r\n additionalImages.map((additionalImage) => {\r\n return m('div', { class: `additional-images additional-images--position-${additionalImage.position} ${additionalImage.quickStylingClass?.classname ?? ''}` },\r\n additionalImage?.svgContent ?\r\n m.trust(additionalImage.svgContent) :\r\n m('img', { src: additionalImage.imageUrl }));\r\n })\r\n ];\r\n m.render(document.querySelector('.hero-deck__hero-additional-images'), additionalImageHtml);\r\n }\r\n };\r\n\r\n const initialize = () => {\r\n link?.addEventListener('click', handleCta);\r\n\r\n const heroDeckSlider = document.querySelector('.hero-deck__slider');\r\n heroDeckSlider.querySelectorAll('.hero-deck__slider-container .card__link').forEach(($card) => {\r\n $card.addEventListener('click', cardClicked);\r\n });\r\n\r\n slider = TinySlider({\r\n container: document.querySelector('.hero-deck__slider'),\r\n controls: true,\r\n loop: true,\r\n items: 3,\r\n mouseDrag: true,\r\n lazyload: true,\r\n prevButton: '.hero-deck__controls--prev',\r\n nextButton: '.hero-deck__controls--next',\r\n nav: false,\r\n center: true,\r\n responsive: {\r\n 768: {\r\n loop: false,\r\n center: false,\r\n items: 6,\r\n },\r\n 1024: {\r\n items: 8,\r\n },\r\n 1440: {\r\n items: 9,\r\n }\r\n },\r\n onInit: () => {\r\n document.querySelector('.hero-deck__slider-container--slider-not-initialized').classList.remove('hero-deck__slider-container--slider-not-initialized');\r\n setTimeout(() => { // gives a very little delay before event class is added to cards, so that lazyloading works better, as this is used in a slider\r\n addEventListenersToCards();\r\n }, 100);\r\n },\r\n });\r\n slider.events.on('transitionStart', () => {\r\n\r\n heroDeckSlider.querySelectorAll('.card').forEach((card) => {\r\n card.classList.remove('active');\r\n });\r\n addEventListenersToCards();\r\n });\r\n slider.events.on('transitionEnd', () => {\r\n // mobile sizes only\r\n if (window.matchMedia('(max-width: 767px)').matches) {\r\n heroDeckSlider.querySelectorAll('.card.tns-slide-active').forEach((card, index) => {\r\n card.classList.remove('active');\r\n if (index === 1) {\r\n card.classList.add('active');\r\n }\r\n });\r\n }\r\n });\r\n slider.events.on('touchMove', () => {\r\n heroDeckSlider.querySelectorAll('.card').forEach((card) => {\r\n card.classList.remove('active');\r\n });\r\n });\r\n };\r\n\r\n initialize();\r\n\r\n});\r\n\r\n","defineDs('DanskeSpil/Domain/AvalonQuick/Scripts/GamesSlider', [\r\n 'Common/Framework/ScriptLibraries/Scripts/TinySlider',\r\n 'Shared/Framework/Ensighten/Scripts/Ensighten',\r\n], function (TinySlider, Ensighten) {\r\n const initialize = () => {\r\n\r\n document.querySelectorAll('.game-section-games').forEach((gameslist) => {\r\n const card = gameslist.querySelector('.card').classList;\r\n if (window.matchMedia('(max-width: 768px)').matches) {\r\n gameslist.classList.remove('container');\r\n }\r\n\r\n let cardWidth = 195; // Fallback\r\n let itemCountMobile = 2; // Fallback\r\n let itemCount400 = 3; // Fallback\r\n let itemCount768 = 5; // Fallback\r\n let gutter = 30; // Fallback\r\n\r\n switch (true) {\r\n case card.contains('card--large'):\r\n cardWidth = 195;\r\n itemCountMobile = 2;\r\n itemCount400 = 3;\r\n itemCount768 = 5;\r\n gutter = 50;\r\n break;\r\n case card.contains('card--medium'):\r\n cardWidth = 140;\r\n itemCountMobile = 2;\r\n itemCount400 = 2;\r\n itemCount768 = 5;\r\n gutter = 30;\r\n break;\r\n case card.contains('card--small'):\r\n cardWidth = 130;\r\n itemCountMobile = 3;\r\n itemCount400 = 4;\r\n itemCount768 = 6;\r\n gutter = 20;\r\n break;\r\n case card.contains('card--micro'):\r\n cardWidth = 85;\r\n itemCountMobile = 4;\r\n itemCount400 = 4;\r\n itemCount768 = 8;\r\n gutter = 20;\r\n break;\r\n }\r\n\r\n const slider = TinySlider({\r\n container: gameslist.querySelector('.game-section-games__slider'),\r\n controls: true,\r\n prevButton: '#' + gameslist.querySelector('.game-section-games__controls--prev').id,\r\n nextButton: '#' + gameslist.querySelector('.game-section-games__controls--next').id,\r\n gutter: gutter,\r\n nav: true,\r\n navPosition: 'top',\r\n mouseDrag: true,\r\n lazyload: true,\r\n items: itemCountMobile,\r\n fixedWidth: cardWidth,\r\n swipeAngle: 45,\r\n // In order to use fixedWith in responsive, loop must be true, and freezable must be false. Bug in TNS?\r\n loop: false,\r\n freezable: true,\r\n responsive: {\r\n 400: {\r\n items: itemCount400,\r\n },\r\n 768: {\r\n items: itemCount768,\r\n }\r\n },\r\n onInit: (thisSlider) => {\r\n thisSlider.container.parentElement.style.margin = '0'; // this is because in tinyslider css is refered by styling a dynamic id\r\n const sliderTitle = gameslist.querySelector('.game-section-games__text h1').innerText;\r\n gameslist.querySelector('.game-section-games__slider').classList.remove('game-section-games__slider-not-initialized');\r\n gameslist.querySelector('.game-section-games__controls--prev').onclick = () => {\r\n Ensighten.pushGaEvent('campaign_module', 'arrow-left', sliderTitle);\r\n };\r\n gameslist.querySelector('.game-section-games__controls--next').onclick = () => {\r\n Ensighten.pushGaEvent('campaign_module', 'arrow-right', sliderTitle);\r\n };\r\n addTrackingToCards(gameslist);\r\n }\r\n });\r\n slider.events.on('transitionStart', () => {\r\n addTrackingToCards(gameslist);\r\n });\r\n });\r\n };\r\n\r\n const addTrackingToCards = (gameslist) => {\r\n const sliderTitle = gameslist.querySelector('.game-section-games__text h1').innerText;\r\n gameslist.querySelectorAll('.game-section-games__slider .card').forEach((card) => {\r\n const cardLink = card.querySelector('.card__link');\r\n if (!cardLink.classList.contains('has-tracking-event')) {\r\n cardLink.addEventListener('click', () => {\r\n cardLink.classList.add('has-tracking-event');\r\n const action = `click_${sliderTitle.toLowerCase().replace(/ /g, '_')}`;\r\n const label = card.querySelector('.card__meta-2').innerText;\r\n // const position = findClickedActiveCard(allActiveCards, card); // we cannot as is use send this 'position' as 'value' When using pushGaEventOnPageRedirect. Maybe in the fufure\r\n Ensighten.pushGaEventOnPageRedirect('campaign_module', action, label);\r\n });\r\n }\r\n });\r\n };\r\n\r\n /* const findClickedActiveCard = (allActiveCards, card) => {\r\n let position = -1;\r\n allActiveCards.forEach((activeCard, activeIndex) => {\r\n if (activeCard.getAttribute('id') === card.parentElement.getAttribute('id')) {\r\n position = activeIndex + 1;\r\n }\r\n });\r\n return position;\r\n }; */\r\n\r\n initialize();\r\n\r\n});\r\n\r\n","defineDs('DanskeSpil/Domain/AvalonQuick/Scripts/WinnerStories', [\r\n 'Common/Framework/ScriptLibraries/Scripts/TinySlider',\r\n 'Shared/Framework/Ensighten/Scripts/Ensighten'\r\n], function (TinySlider, Ensighten) {\r\n const initialize = () => {\r\n document.querySelectorAll('.winner-stories').forEach((list) => {\r\n TinySlider({\r\n container: list.querySelector('.winner-stories__slider'),\r\n controls: true,\r\n prevButton: '.winner-stories__controls--prev',\r\n nextButton: '.winner-stories__controls--next',\r\n gutter: 20,\r\n nav: true,\r\n navPosition: 'bottom',\r\n mouseDrag: true,\r\n loop: false,\r\n items: 1,\r\n freezable: true,\r\n responsive: {\r\n 768: {\r\n items: 2,\r\n },\r\n 1024: {\r\n gutter: 60,\r\n items: 3\r\n }\r\n },\r\n onInit: () => {\r\n const sliderTitle = list.querySelector('.winner-stories__title').innerHTML;\r\n\r\n list.querySelector('.winner-stories__controls--prev').onclick = function () {\r\n Ensighten.pushGaEvent('campaign_module', 'arrow-left', sliderTitle);\r\n };\r\n list.querySelector('.winner-stories__controls--next').onclick = function () {\r\n Ensighten.pushGaEvent('campaign_module', 'arrow-right', sliderTitle);\r\n };\r\n }\r\n });\r\n });\r\n };\r\n\r\n initialize();\r\n});\r\n\r\n","defineDs('Shared/Framework/Mithril/Scripts/Templates/OverlayContainer',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril'\r\n ],\r\n function (m) {\r\n\r\n // Context:\r\n var OverlayContainer = function (template) {\r\n\r\n // Variables:\r\n this.$container = m.prop();\r\n this.$wrapper = m.prop(document.getElementById('wrapper'));\r\n\r\n // Functions:\r\n this.clear = function (action) {\r\n var self = this;\r\n\r\n return function () {\r\n var $container = self.$container();\r\n var $gameOverlay = document.querySelector('.'.concat(template.class().split(' ').join('.')));\r\n var $wrapper = self.$wrapper();\r\n\r\n $gameOverlay?.classList.add('remove-overlay');\r\n\r\n $wrapper?.classList.remove('overlay-active');\r\n $wrapper?.classList.add('remove-overlay');\r\n\r\n if ($gameOverlay && !$gameOverlay.getAttribute('data-binded')) {\r\n // Bind the event only once\r\n $gameOverlay.setAttribute('data-binded', 'true');\r\n $gameOverlay.addEventListener('animationend', function () {\r\n if ($container && $container.parentNode) {\r\n $container.parentNode.removeChild($container);\r\n }\r\n\r\n $wrapper?.classList.remove('remove-overlay');\r\n\r\n if (typeof action === 'function') {\r\n action();\r\n }\r\n\r\n m.redraw();\r\n });\r\n\r\n\r\n }\r\n };\r\n }.bind(this);\r\n\r\n this.render = function (confirm, dismiss) {\r\n var $overlay = document.createElement('div');\r\n var render = template.render(this.clear(confirm, 'confirm'), this.clear(dismiss, 'dismiss'));\r\n\r\n m.render($overlay, render);\r\n\r\n this.$container($overlay);\r\n }.bind(this);\r\n\r\n this.show = function (confirm, dismiss) {\r\n this.render(confirm, dismiss);\r\n\r\n this.$wrapper()?.classList.add('overlay-active');\r\n\r\n document.body.appendChild(this.$container());\r\n }.bind(this);\r\n\r\n };\r\n\r\n // Public functions:\r\n return OverlayContainer;\r\n\r\n });\r\n","defineDs('DanskeSpil/Domain/GameVendorLEIA/Scripts/Templates/PredepositOverlay', ['Shared/Framework/Mithril/Scripts/Core/Mithril'], function (m) {\r\n\r\n // Template:\r\n var PredepositOverlay = function () {\r\n\r\n // Return:\r\n return {\r\n class: m.prop('leia-predeposit-overlay'),\r\n\r\n render: function (confirm, dismiss) {\r\n return m('div', { class: this.class() }, [\r\n m('div', { class: 'pannel' }, [\r\n m('div', { class: 'close-overlay-button-wrapper', onclick: dismiss },\r\n m('img', { class: 'button-icon', src: '/Components/DanskeSpil/Domain/GameVendorLEIA/Graphics/Close.svg' })\r\n ),\r\n m('h2', { class: 'headline' }, 'Indbetal til spilkonto'),\r\n m('p', { class: 'text' }, 'Du har desværre ikke penge nok på din konto til at foretage et køb. Sæt flere penge ind og vind.'),\r\n m('div', { class: 'buttons' }, [\r\n m('button', { class: 'btn button-confirm', onclick: confirm }, 'Indbetal her')\r\n ])\r\n ])\r\n ]);\r\n }\r\n };\r\n\r\n };\r\n\r\n // Public functions:\r\n return PredepositOverlay;\r\n\r\n});\r\n","defineDs('DanskeSpil/Domain/GameVendorLEIA/Scripts/Helpers/LeiaDataStore', function () {\r\n\r\n var store = {\r\n gameData: null,\r\n name: null,\r\n latestGameDimensions: null,\r\n stakeAmount: null, // used for tracking\r\n purchaseCompleted: null, // used for tracking\r\n };\r\n\r\n return store;\r\n\r\n});\r\n","defineDs('DanskeSpil/Domain/GameVendorLEIA/Scripts/Helpers/LeiaApi', [\r\n 'Shared/Framework/Mithril/Scripts/Helpers/ApiRequest'\r\n], function (ApiRequest) {\r\n\r\n var baseURL = '/dlo/scapi/danskespil/gamevendorleia';\r\n\r\n var getGameInfo = function (args) {\r\n return ApiRequest({\r\n url: baseURL + '/gameinfo/' + args,\r\n localCacheTTL: 60,\r\n unwrapSuccess: function (response) {\r\n return response;\r\n }\r\n });\r\n };\r\n\r\n var checkActiveBetId = function (gameId) {\r\n var promise = new Promise(function (resolve) {\r\n\r\n ApiRequest({\r\n url: DS.Config.CONTEXTPREFIX + `/scapi/danskespil/playeraccountmanagement/playerGame/${gameId}/activeExternalId`,\r\n requireAuthCookie: true,\r\n logging: false, // For avoid Sentry error if user has logged in.\r\n timeout: 5, // Delay game loading max 5 sec\r\n }).then(function (response) {\r\n var activeBetId = null;\r\n\r\n if (response && response.data) {\r\n activeBetId = response.data;\r\n }\r\n\r\n resolve(activeBetId);\r\n\r\n }, function () {\r\n // PAM request went wrong - just resolve with non active bet.\r\n resolve(null);\r\n });\r\n\r\n });\r\n\r\n return promise;\r\n\r\n };\r\n\r\n // Public functions:\r\n return {\r\n getGameInfo: getGameInfo,\r\n checkActiveBetId: checkActiveBetId\r\n };\r\n\r\n});\r\n","defineDs('DanskeSpil/Domain/GameVendorLEIA/Scripts/Helpers/LeiaUtils', [\r\n 'Shared/Framework/Mithril/Scripts/Helpers/Utils',\r\n 'Shared/Framework/Mithril/Scripts/Templates/OverlayContainer',\r\n 'DanskeSpil/Domain/GameVendorLEIA/Scripts/Helpers/LeiaDataStore',\r\n 'DanskeSpil/Domain/GameVendorLEIA/Scripts/Templates/PredepositOverlay',\r\n 'Common/Framework/EventHandling/Scripts/AppEvent',\r\n], function (Utils, OverlayContainer, LeiaDataStore, PredepositOverlay, AppEvent) {\r\n\r\n var gotoDeposit = function () {\r\n var currentUrl = location.href + (location.href.indexOf('skipRules') === -1 ? (location.href.indexOf('?') === -1 ? '?' : '&') + 'skipRules=1' : '');\r\n var url = DS.Config.PRETTYPREFIX + '/indbetaling?returnurl=' + encodeURIComponent(currentUrl);\r\n window.location.href = url;\r\n };\r\n\r\n var openLogin = function () {\r\n var promise = new Promise(function () {\r\n DSAPI.Account.openLogin();\r\n });\r\n\r\n return promise;\r\n };\r\n\r\n var relaySSO = function (options) {\r\n var promise = new Promise(function (resolve, reject) {\r\n DSAPI.Account.relaySSO({\r\n callback: function (assertionId) {\r\n if (assertionId) {\r\n if (!options.state) {\r\n console.error('No state given');\r\n }\r\n\r\n var sessionToken = {\r\n provider: DS.Config.LEIA_LOTTERY_CODE,\r\n value: assertionId,\r\n state: options.state\r\n };\r\n\r\n resolve(sessionToken);\r\n } else {\r\n reject();\r\n }\r\n }\r\n });\r\n });\r\n\r\n return promise;\r\n };\r\n\r\n var gotoExitGame = function () {\r\n appEventEmitter('close-game');\r\n window.top.location.href = '/quick';\r\n };\r\n\r\n var openPopup = function (url) {\r\n window.open(url, '_blank');\r\n };\r\n\r\n var gotoGlobalRules = function () {\r\n var url = '/regler--a--vilkaar/regler/spilleregler_dlo#quick';\r\n openPopup(url);\r\n };\r\n\r\n var gotoGameRules = function () {\r\n if (!LeiaDataStore.gameData) {\r\n console.error('No game data in store');\r\n return;\r\n }\r\n\r\n var url = LeiaDataStore.gameData.cmsData.helpUrl;\r\n if (!url) {\r\n console.error('Gaming rules missing on this game');\r\n return;\r\n }\r\n\r\n openPopup(url);\r\n };\r\n\r\n // Converts eg. '6.8rem' to 68.\r\n const convertRemToPixelValue = (remString) => {\r\n if (!remString?.trim().toLowerCase().endsWith('rem')) return 0;\r\n const value = parseFloat(remString);\r\n if (isNaN(value)) return 0;\r\n return value * 10;\r\n };\r\n\r\n var calculateTopAreaHeight = function () {\r\n const computedStyle = getComputedStyle(document.documentElement);\r\n const complianceBarHeight = computedStyle.getPropertyValue('--navigation-compliance-bar-height');\r\n const mainMenuHeight = computedStyle.getPropertyValue('--navigation-main-menu-height');\r\n const subMenuHeight = computedStyle.getPropertyValue('--navigation-sub-menu-height');\r\n return convertRemToPixelValue(complianceBarHeight) + convertRemToPixelValue(mainMenuHeight) + convertRemToPixelValue(subMenuHeight);\r\n };\r\n\r\n var isFullscreen = function () {\r\n var fullscreenElement = document.fullscreenElement || // eslint-disable-line compat/compat\r\n document.mozFullScreenElement ||\r\n document.webkitFullscreenElement ||\r\n document.msFullscreenElement ||\r\n document.fullscreen; // eslint-disable-line compat/compat\r\n\r\n if (fullscreenElement || document.webkitIsFullScreen) {\r\n return true;\r\n }\r\n\r\n return false;\r\n\r\n };\r\n\r\n var applyFullscreen = function () {\r\n var elem = document.querySelector('body');\r\n if (elem.requestFullscreen) {\r\n elem.requestFullscreen();\r\n } else if (elem.mozRequestFullScreen) { /* Firefox */\r\n elem.mozRequestFullScreen();\r\n } else if (elem.webkitRequestFullscreen) { /* Chrome, Safari and Opera */\r\n elem.webkitRequestFullscreen();\r\n } else if (elem.msRequestFullscreen) { /* IE/Edge */\r\n elem.msRequestFullscreen();\r\n }\r\n };\r\n\r\n var setGameContainerSize = function (data) {\r\n const minGameDimension = 320;\r\n let scaleDownFactor = 0;\r\n if (data && data.width) {\r\n LeiaDataStore.latestGameDimensions = data;\r\n }\r\n\r\n var gameDom = document.getElementById('leia-game');\r\n const gameIframe = gameDom?.querySelector('iframe');\r\n var containerDom = document.getElementById('leia-game-inner-wrapper');\r\n\r\n if (gameDom) {\r\n var width = 1030;\r\n var height;\r\n var pageWidth = document.body.clientWidth || window.innerWidth;\r\n\r\n var heightDecrease = calculateTopAreaHeight();\r\n console.debug('heightDecrease', heightDecrease);\r\n console.debug('window.innerHeight', window.innerHeight);\r\n console.debug('document.documentElement.clientHeight', document.documentElement.clientHeight);\r\n\r\n var isGameLandscape = LeiaDataStore.latestGameDimensions && LeiaDataStore.latestGameDimensions.width && (LeiaDataStore.latestGameDimensions.width > LeiaDataStore.latestGameDimensions.height);\r\n var maxWidth = 1030;\r\n var maxHeight = window.innerHeight - heightDecrease - 40;\r\n // But Always minimum 400px height\r\n height = Math.max(maxHeight, 400);\r\n\r\n if (Utils.isMobile() || Utils.isTabletDevice()) {\r\n // Mobile/Tablet:\r\n width = pageWidth;\r\n height = document.documentElement.clientHeight - heightDecrease;\r\n if (width < minGameDimension || height < minGameDimension) {\r\n scaleDownFactor = 1 - ((minGameDimension - Math.min(width, height)) / minGameDimension);\r\n }\r\n } else {\r\n\r\n if (LeiaDataStore.latestGameDimensions) {\r\n var ratio = LeiaDataStore.latestGameDimensions.width / LeiaDataStore.latestGameDimensions.height;\r\n\r\n width = pageWidth > maxWidth ? maxWidth : pageWidth;\r\n height = Math.ceil(Math.max(400, width / ratio));\r\n if (height > maxHeight) {\r\n height = maxHeight;\r\n width = Math.ceil(Math.min(height * ratio, pageWidth));\r\n }\r\n }\r\n }\r\n\r\n if (gameIframe) {\r\n if (scaleDownFactor) {\r\n let iframeWidth = 0;\r\n let iframeHeight = 0;\r\n if (isGameLandscape) {\r\n iframeWidth = Math.max((width / scaleDownFactor), minGameDimension);\r\n iframeHeight = Math.max(height, minGameDimension);\r\n } else {\r\n iframeWidth = Math.max(width, minGameDimension);\r\n iframeHeight = Math.max((height / scaleDownFactor), minGameDimension);\r\n }\r\n gameIframe.style.width = `${iframeWidth}px`;\r\n gameIframe.style.height = `${iframeHeight}px`;\r\n gameIframe.style.transform = `scale(${scaleDownFactor})`;\r\n gameIframe.style.transformOrigin = 'top left';\r\n } else {\r\n gameIframe.style.width = '100%';\r\n gameIframe.style.height = '100%';\r\n gameIframe.style.transform = 'none';\r\n gameIframe.style.transformOrigin = 'none';\r\n }\r\n }\r\n\r\n console.debug('Setting container to w X h: ', width, height);\r\n gameDom.style.width = width + 'px';\r\n gameDom.style.height = height + 'px';\r\n containerDom.style.width = width + 'px';\r\n containerDom.style.height = height + 'px';\r\n\r\n if (isFullscreen()) {\r\n containerDom.classList.add('is-fullscreen');\r\n } else {\r\n containerDom.classList.remove('is-fullscreen');\r\n }\r\n }\r\n };\r\n\r\n var trackingProductDetails = function (gameName, stakeAmount) {\r\n return {\r\n name: 'quick', // Always\r\n price: stakeAmount, // total price if available on page load\r\n brand: 'dlo_qui', // Always\r\n category: 'instant', // also possible is extended, games_probability and games_mg\r\n variant: gameName, // use the actual game name here (usually written in the URL)\r\n quantity: 1 // only one product added, integer\r\n };\r\n };\r\n\r\n var addToDatalayer = function (data) {\r\n console.debug('Add to datalayer', data);\r\n\r\n if (window.dataLayer) {\r\n window.dataLayer.push(data);\r\n }\r\n };\r\n\r\n\r\n var showPreDepositOverlay = function () {\r\n\r\n var promise = new Promise(function (resolve, reject) {\r\n new OverlayContainer(PredepositOverlay()).show(resolve, reject);\r\n });\r\n\r\n return promise;\r\n\r\n };\r\n\r\n var removeLoadingClass = function () {\r\n var containerDom = document.getElementById('leia-game-inner-wrapper');\r\n if (containerDom) {\r\n containerDom.classList.remove('loading');\r\n }\r\n };\r\n\r\n var setTopNavigationDisplayOnMobileLandScape = function (shouldDisplay) {\r\n document.querySelector('.js-navigation')?.classList.toggle('hide-on-mobile-landscape', !shouldDisplay);\r\n };\r\n\r\n const appEventEmitter = (eventType, eventData) => {\r\n if (!window.dsApplicationConfig || window.dsApplicationConfig.ApplicationId !== 'ISOBAR_LOTTO_MOBILENATIVE') return;\r\n AppEvent.fire(eventType, eventData);\r\n };\r\n\r\n // Public functions:\r\n return {\r\n gotoDeposit,\r\n openLogin,\r\n relaySSO,\r\n gotoExitGame,\r\n openPopup,\r\n gotoGlobalRules,\r\n gotoGameRules,\r\n calculateTopAreaHeight,\r\n setGameContainerSize,\r\n trackingProductDetails,\r\n addToDatalayer,\r\n applyFullscreen,\r\n showPreDepositOverlay,\r\n removeLoadingClass,\r\n setTopNavigationDisplayOnMobileLandScape,\r\n appEventEmitter\r\n };\r\n\r\n});\r\n","defineDs('DanskeSpil/Domain/GameVendorLEIA/Scripts/Helpers/IOSFullscreenOverlay', [\r\n 'Shared/Framework/Mithril/Scripts/Helpers/IOSUtils'\r\n], function (IOSUtils) {\r\n\r\n // Vars:\r\n var $container = document.getElementById('leia-game-inner-wrapper');\r\n var $spacer = document.getElementById('leia-game-ios-swipe-up-spacer');\r\n\r\n var overlayHasAppeared = false;\r\n\r\n // Functions:\r\n\r\n var showOverlay = function () {\r\n overlayHasAppeared = true;\r\n\r\n // Show spacer, before the game container, so we can inject the scrolling option\r\n if ($spacer) {\r\n $spacer.style.display = 'block';\r\n }\r\n\r\n // Display the swipe up animation overlay (sticky)\r\n $container.classList.add('visible-swipe-up-overlay');\r\n\r\n // Have swipeoverlay for 3s before hide\r\n window.addEventListener('touchend', function () {\r\n setTimeout(function () {\r\n hideOverlay();\r\n }, 3000);\r\n });\r\n };\r\n\r\n var hideOverlay = function () {\r\n $container.classList.remove('visible-swipe-up-overlay');\r\n\r\n if ($spacer) {\r\n $spacer.style.display = 'none';\r\n }\r\n };\r\n\r\n var poolingFunction = function () {\r\n console.warn('IOSFullscreenOverlay pool');\r\n\r\n // Always hide if switch to portrait\r\n if (!IOSUtils.isLandscape() && overlayHasAppeared) {\r\n hideOverlay();\r\n return;\r\n }\r\n\r\n if (!overlayHasAppeared) {\r\n showOverlay();\r\n }\r\n\r\n };\r\n\r\n var startMonitoring = function () {\r\n window.addEventListener('resize', poolingFunction);\r\n };\r\n\r\n return {\r\n startMonitoring: startMonitoring\r\n };\r\n\r\n});\r\n","defineDs('DanskeSpil/Domain/GameVendorLEIA/Scripts/Helpers/AndroidFullscreenOverlay', [\r\n], function () {\r\n\r\n // Vars:\r\n var checkTimer = null;\r\n var $container = document.getElementById('leia-game-inner-wrapper');\r\n var $overlay = document.getElementById('leia-android-fullscreen-overlay');\r\n\r\n // Functions:\r\n var isLandscape = function () {\r\n return (window.innerWidth > window.innerHeight);\r\n };\r\n\r\n var isFullscreen = function () {\r\n var fullscreenElement = document.fullscreenElement || // eslint-disable-line compat/compat\r\n document.mozFullScreenElement ||\r\n document.webkitFullscreenElement ||\r\n document.msFullscreenElement ||\r\n document.fullscreen; // eslint-disable-line compat/compat\r\n\r\n if (fullscreenElement || document.webkitIsFullScreen) {\r\n return true;\r\n }\r\n\r\n return false;\r\n };\r\n\r\n var applyFullscreen = function () {\r\n var elem = document.body;\r\n if (elem.requestFullscreen) {\r\n elem.requestFullscreen();\r\n } else if (elem.mozRequestFullScreen) { /* Firefox */\r\n elem.mozRequestFullScreen();\r\n } else if (elem.webkitRequestFullscreen) { /* Chrome, Safari and Opera */\r\n elem.webkitRequestFullscreen();\r\n } else if (elem.msRequestFullscreen) { /* IE/Edge */\r\n elem.msRequestFullscreen();\r\n }\r\n };\r\n\r\n var showOverlay = function () {\r\n // Display the swipe up animation overlay (sticky)\r\n $container.classList.add('visible-android-fullscreen-overlay');\r\n };\r\n\r\n var hideOverlay = function () {\r\n $container.classList.remove('visible-android-fullscreen-overlay');\r\n };\r\n\r\n var poolingFunction = function () {\r\n console.warn('AndroidFullscreenOverlay pool');\r\n\r\n if (isFullscreen() || !isLandscape()) {\r\n stopTimer();\r\n hideOverlay();\r\n } else {\r\n showOverlay();\r\n }\r\n\r\n };\r\n\r\n var stopTimer = function () {\r\n clearInterval(checkTimer);\r\n };\r\n\r\n var startTimer = function () {\r\n poolingFunction();\r\n if (!checkTimer) {\r\n checkTimer = setInterval(poolingFunction, 500);\r\n }\r\n };\r\n\r\n var startMonitoring = function () {\r\n startTimer();\r\n\r\n window.addEventListener('resize', startTimer);\r\n\r\n $overlay.addEventListener('click', function () {\r\n applyFullscreen();\r\n hideOverlay();\r\n stopTimer();\r\n });\r\n };\r\n\r\n return {\r\n startMonitoring: startMonitoring\r\n };\r\n\r\n\r\n});\r\n","defineDs('DanskeSpil/Domain/GameVendorLEIA/Scripts/LeiaHostChannel', [\r\n 'Shared/Framework/Mithril/Scripts/Helpers/Utils',\r\n 'Shared/Framework/Ensighten/Scripts/Ensighten',\r\n 'DanskeSpil/Domain/Authentification/Scripts/LoginCache',\r\n 'DanskeSpil/Domain/Authentification/Scripts/SitecoreAuth',\r\n 'DanskeSpil/Domain/GameVendorLEIA/Scripts/Helpers/LeiaDataStore',\r\n 'DanskeSpil/Domain/GameVendorLEIA/Scripts/Helpers/LeiaApi',\r\n 'DanskeSpil/Domain/GameVendorLEIA/Scripts/Helpers/LeiaUtils'\r\n], function (Utils, Ensighten, LoginCache, SitecoreAuth, LeiaDataStore, LeiaApi, LeiaUtils) {\r\n\r\n // Game is a subclass of HostChannel:\r\n var Game = (function () {\r\n\r\n var executeAction = function (action, parameters) {\r\n console.debug('GAME - executeAction', action, parameters);\r\n\r\n if (action === 'closeGame') {\r\n closeGame();\r\n }\r\n\r\n if (action === 'globalRules') {\r\n LeiaUtils.gotoGlobalRules();\r\n }\r\n\r\n if (action == 'gameRules') {\r\n LeiaUtils.gotoGameRules();\r\n }\r\n\r\n if (action == 'saveTag') {\r\n saveTag(parameters);\r\n }\r\n\r\n if (action == 'gameLoading') {\r\n // Remove loading class from container\r\n LeiaUtils.removeLoadingClass();\r\n }\r\n\r\n // isGameEnabled and openGame actions are for Cross Sale functionality\r\n if (action === 'isGameEnabled') {\r\n return isGameEnabled(parameters);\r\n }\r\n\r\n if (action === 'openGame') {\r\n return openGame(parameters);\r\n }\r\n\r\n };\r\n\r\n var executeEvent = function (eventType, eventData) {\r\n console.debug('GAME - executeEvent', eventType, eventData);\r\n\r\n var gameEvents = [\r\n 'setDimension',\r\n 'saveTag',\r\n 'preBet',\r\n 'onBet',\r\n 'onClaim'\r\n ];\r\n\r\n if (gameEvents.indexOf(eventType) > -1 && Object.prototype.hasOwnProperty.call(Game, eventType)) {\r\n // If so, trigger the method\r\n return Game[eventType](eventData);\r\n } else {\r\n // The action triggered doesn't exist in this class. So we have to trigger an error\r\n console.debug('ReferenceError: lottery.game.bridge.host.error - The event ' + eventType + ' triggered by ITF bridge is not defined in the application. EventData: ', eventData);\r\n }\r\n };\r\n\r\n var setDimension = function (data) {\r\n console.debug('GAME - setDimension', data);\r\n LeiaUtils.setGameContainerSize(data);\r\n };\r\n\r\n var onBet = function (data) {\r\n console.debug('GAME - onBet', data);\r\n LeiaUtils.setTopNavigationDisplayOnMobileLandScape(false);\r\n LeiaUtils.setGameContainerSize();\r\n LeiaUtils.appEventEmitter('on-bet', { betAmount: data.betAmount?.value });\r\n };\r\n\r\n var onClaim = function (data) {\r\n console.debug('GAME - onClaim', data);\r\n LeiaUtils.setTopNavigationDisplayOnMobileLandScape(true);\r\n LeiaUtils.setGameContainerSize();\r\n };\r\n\r\n var isGameEnabled = function (data) { // Used by FDJ games for cross sale functionality\r\n var promise = new Promise(function (resolve, reject) {\r\n if (!data.gameId) {\r\n reject();\r\n }\r\n\r\n LeiaApi.getGameInfo(data.name).then(function (response) {\r\n if (response && response.data && response.data.status === 'open') {\r\n resolve(true);\r\n } else {\r\n resolve(false);\r\n }\r\n });\r\n\r\n });\r\n\r\n return promise;\r\n };\r\n\r\n var openGame = function (data) { // Used by FDJ games for cross sale functionality\r\n\r\n var promise = new Promise(function (resolve, reject) {\r\n if (!data.gameId) {\r\n reject();\r\n }\r\n\r\n LeiaApi.getGameInfo(data.name).then(function (response) {\r\n if (response && response.data && response.data.status === 'open' && response.data.cmsData && response.data.cmsData.gameUrl) {\r\n location.href = response.data.cmsData.gameUrl;\r\n } else {\r\n resolve(false);\r\n }\r\n });\r\n\r\n });\r\n\r\n return promise;\r\n };\r\n\r\n var saveTag = function (eventData) {\r\n console.debug('GAME - saveTag', eventData);\r\n\r\n if (eventData.name === 'reveal' && eventData.eventType === 'view') {\r\n // Remove loading class from container\r\n LeiaUtils.removeLoadingClass();\r\n }\r\n\r\n\r\n\r\n // WORKAROUND - WHEN LANDSCAPE REMOVE HEADER WHEN GAME IS IN ACTION:\r\n var headerChangeAction = null;\r\n\r\n // For standard LEIA games:\r\n if (eventData.event === 'betRequest' && eventData.eventType === 'bet' && eventData.viewInfo\r\n && (eventData.viewInfo.state === 'didAppear' || eventData.viewInfo.state === 'willAppear')\r\n && (eventData.viewInfo.name === 'reveal' || eventData.viewInfo.name === 'home' || eventData.viewInfo.name === 'game')) { // Quick Games: 'reveal'/'game', other game:'home'\r\n\r\n headerChangeAction = 'HIDE';\r\n }\r\n\r\n // For Motors Game (e.g Kortkrig):\r\n if (eventData.event === 'createMtrBet' && eventData.eventType === 'requestParams') {\r\n headerChangeAction = 'HIDE';\r\n }\r\n\r\n // Both standard + Motors Games\r\n if (eventData.name === 'result' && eventData.eventType === 'view') {\r\n headerChangeAction = 'SHOW';\r\n }\r\n\r\n\r\n // If headerChangeAction, perform header change:\r\n if (headerChangeAction === 'HIDE' || headerChangeAction === 'SHOW') {\r\n console.debug('headerChangeAction', headerChangeAction);\r\n\r\n if (headerChangeAction === 'HIDE') {\r\n // Hide navigation on landscape\r\n LeiaUtils.setTopNavigationDisplayOnMobileLandScape(false);\r\n } else {\r\n // Show navigation on landscape\r\n LeiaUtils.setTopNavigationDisplayOnMobileLandScape(true);\r\n }\r\n\r\n LeiaUtils.setGameContainerSize();\r\n // This timeout because setGameContainerSize is calculating the header height, and this is not always updated at this point. To be re-visited later.\r\n setTimeout(LeiaUtils.setGameContainerSize, 200);\r\n }\r\n\r\n\r\n // TRACKING COMES HERE:\r\n\r\n var gameName = LeiaDataStore.gameData.name;\r\n if (eventData.event === 'loaded' && eventData.eventType === 'game' && eventData.gameInfo) {\r\n // First tracking event: view product\r\n var addProduct = LeiaUtils.trackingProductDetails(gameName, null);\r\n LeiaUtils.addToDatalayer({\r\n event: 'productDetail',\r\n ecommerce: {\r\n detail: {\r\n products: [addProduct]\r\n }\r\n }\r\n });\r\n }\r\n\r\n if ((eventData.eventType.event === 'createITGBet' || ['createITGBet', 'createEinBet', 'createMtrBet'].includes(eventData.event)) && LeiaDataStore.purchaseCompleted !== true) {\r\n // Third tracking event: purchase completed\r\n var stakeAmount = LeiaDataStore.stakeAmount;\r\n var purchaseProduct = LeiaUtils.trackingProductDetails(gameName, stakeAmount);\r\n var transactionId = 'LEIA_' + Math.ceil(Math.random() * 10e10);\r\n\r\n if (stakeAmount) {\r\n LeiaUtils.addToDatalayer({\r\n event: 'purchaseComplete',\r\n ecommerce: {\r\n purchase: {\r\n actionField: {\r\n id: transactionId, // Transaction ID – please use a random unique GUID\r\n revenue: stakeAmount // please use the total amount\tplayed for when the ‘køb’ is ‘gennemført’\r\n },\r\n products: [purchaseProduct]\r\n }\r\n }\r\n });\r\n LeiaDataStore.purchaseCompleted = true;\r\n }\r\n\r\n }\r\n\r\n if (eventData.event === 'buttonClick' && ['instant', 'auto'].includes(eventData.name)) {\r\n Ensighten.pushGaEvent('Quick_spil', eventData.name, eventData.gameName);\r\n }\r\n\r\n };\r\n\r\n var preBet = function (eventData) {\r\n console.debug('GAME - preBet', eventData);\r\n\r\n if (eventData && eventData.demo === true) {\r\n // In demo-mode, just return resolved promise;\r\n var demoPromise = new Promise(function (resolve) {\r\n resolve();\r\n });\r\n return demoPromise;\r\n }\r\n\r\n var stakeAmount = eventData.stake.value / 100;\r\n LeiaDataStore.stakeAmount = stakeAmount;\r\n\r\n // Second tracking event: add to card\r\n var gameName = LeiaDataStore.gameData.name;\r\n var product = LeiaUtils.trackingProductDetails(gameName, stakeAmount);\r\n LeiaUtils.addToDatalayer({\r\n event: 'addToCart',\r\n ecommerce: {\r\n add: {\r\n products: [product]\r\n }\r\n }\r\n });\r\n LeiaDataStore.purchaseCompleted = false;\r\n\r\n // Check balance and display deposit prompt if needed:\r\n\r\n var promise = new Promise(function (resolve, reject) {\r\n\r\n // Check balance\r\n var user = LoginCache.getUserObj();\r\n if (user.customerInfo && stakeAmount > 0) {\r\n var balance = user.customerInfo.balance;\r\n if (stakeAmount > balance) {\r\n // Balance not ok, so display predeposit overlay\r\n LeiaUtils.showPreDepositOverlay().then(function () {\r\n LeiaUtils.gotoDeposit();\r\n }, function () {\r\n reject();\r\n });\r\n\r\n return;\r\n }\r\n\r\n // Balance ok\r\n resolve();\r\n }\r\n });\r\n\r\n return promise;\r\n };\r\n\r\n var start = function (type, code) {\r\n console.debug('GAME - Start the game', type, code);\r\n };\r\n\r\n var closeGame = function () {\r\n console.debug('GAME - closeGame');\r\n LeiaUtils.gotoExitGame();\r\n };\r\n\r\n var gameRules = function () {\r\n console.debug('GAME - gameRules');\r\n };\r\n\r\n var globalRules = function () {\r\n console.debug('GAME - globalRules');\r\n };\r\n\r\n var credit = function () {\r\n console.debug('GAME - credit');\r\n\r\n LeiaUtils.gotoDeposit();\r\n };\r\n\r\n return {\r\n executeAction,\r\n executeEvent,\r\n setDimension,\r\n preBet,\r\n saveTag,\r\n start,\r\n closeGame,\r\n gameRules,\r\n globalRules,\r\n credit,\r\n onBet,\r\n onClaim\r\n };\r\n })();\r\n\r\n var HostChannel = function () {\r\n this.type = null;\r\n this.name = null;\r\n\r\n this.gameMode = 'default'; // variable to store the gameMode for updateGameMode and getGameMode\r\n\r\n this.setName = function (name) {\r\n this.name = name;\r\n LeiaDataStore.name = name;\r\n };\r\n\r\n this.setType = function (type) {\r\n this.type = type;\r\n };\r\n\r\n\r\n /**\r\n * The “emitEvent()” method is used by the game bridge to tell the host implementation that an event occurred.\r\n * @param string eventType\r\n * @param json eventData\r\n * @return void\r\n */\r\n this.emitEvent = function (eventType, eventData) {\r\n console.debug('HostChannel : emitEvent', eventType);\r\n var switchEvent = {\r\n DIMENSIONS: 'setDimension',\r\n TAG: 'saveTag',\r\n PREBET: 'preBet',\r\n HAS_BET: 'onBet',\r\n HAS_CLAIMED: 'onClaim'\r\n };\r\n\r\n return Game.executeEvent(switchEvent[eventType], eventData);\r\n };\r\n\r\n /**\r\n * The “getHostInformation()” method is used by the bridge to retrieve host information from the host implementation.\r\n * @return Promise\r\n */\r\n this.getHostInformation = function () {\r\n var promise = new Promise(function (resolve) {\r\n var response = {\r\n };\r\n console.debug('HostChannel : getHostInformation resolve', response);\r\n resolve(response);\r\n });\r\n\r\n return promise;\r\n };\r\n\r\n /**\r\n * The “updateGameMode()” method is used by the bridge to tell the host implementation that the game mode should be switched.\r\n * This is usually requested by the game itself, when it allows switching from normal mode to a demo mode, for example.\r\n * @param string gameMode\r\n * @return string\r\n */\r\n this.updateGameMode = function (gameMode) {\r\n console.debug('HostChannel : updateGameMode', gameMode);\r\n this.gameMode = gameMode;\r\n\r\n var promise = new Promise(function (resolve) {\r\n console.debug('HostChannel : updateGameMode resolve', gameMode);\r\n resolve(gameMode);\r\n });\r\n\r\n return promise;\r\n\r\n }.bind(this);\r\n\r\n /**\r\n * The “getGameMode()” method is used by the bridge to retrieve the game mode chosen by the host implementation.\r\n * @return Promise\r\n */\r\n this.getGameMode = function () {\r\n var gameMode = this.gameMode;\r\n console.debug('HostChannel : getGameMode');\r\n\r\n var promise = new Promise(function (resolve) {\r\n console.debug('HostChannel : getGameMode resolve', gameMode);\r\n resolve(gameMode);\r\n });\r\n\r\n return promise;\r\n }.bind(this);\r\n\r\n /**\r\n * The “getGameConfiguration()” method is used by the bridge to retrieve game configuration parameters from the host implementation.\r\n * @param string type\r\n * @param string name\r\n * @return Promise\r\n */\r\n this.getGameConfiguration = function (type, name) {\r\n console.debug('HostChannel : getGameConfiguration', type, name);\r\n\r\n var promise = new Promise(function (resolve, reject) {\r\n\r\n if (!LeiaDataStore.gameData) {\r\n console.error('No game data in store');\r\n reject();\r\n return;\r\n }\r\n\r\n var response = {\r\n theme: {\r\n id: LeiaDataStore.gameData.themeId\r\n },\r\n visualIdentity: {\r\n id: 'default',\r\n url: ''\r\n },\r\n logo: {\r\n url: ''\r\n },\r\n parameters: {\r\n }\r\n };\r\n\r\n console.debug('HostChannel : getGameConfiguration resolve', response);\r\n resolve(response);\r\n });\r\n\r\n return promise;\r\n };\r\n\r\n /**\r\n * The \"getGameInformation()\" method is used by the bridge to retrieve game information from the host implementation.\r\n * @param string type\r\n * @param string name\r\n * @return Promise\r\n */\r\n this.getGameInformation = function (type, name, t) {\r\n console.debug('HostChannel : getGameInformation', type, name, t);\r\n\r\n var promise = new Promise(function (resolve) {\r\n var response = {\r\n type: type,\r\n name: name,\r\n label: ''\r\n };\r\n console.debug('HostChannel : getGameInformation resolve', response);\r\n resolve(response);\r\n });\r\n\r\n return promise;\r\n };\r\n\r\n /**\r\n * The \"getLocaleInformation()\" is used by the bridge to retrieve internationalization information from the host implementation.\r\n * Returned data are extracted from the catalog API.\r\n * @return Promise\r\n */\r\n this.getLocaleInformation = function () {\r\n console.debug('HostChannel : getLocaleInformation');\r\n\r\n var promise = new Promise(function (resolve) {\r\n var response = {\r\n availableLanguages: ['en-US', 'da-DK'],\r\n activeLanguage: 'da-DK',\r\n activeCurrency: 'DKK'\r\n };\r\n console.debug('HostChannel : getLocaleInformation resolve', response);\r\n resolve(response);\r\n });\r\n\r\n return promise;\r\n };\r\n\r\n /**\r\n * The “getUserInformation()” method is used by the bridge to request information about the user from the host implementation.\r\n * Return data are extracted from sessionStorage set on login\r\n * @param boolean forceAuthenticated\r\n * @param string sessionTokenType\r\n * @return Promise\r\n */\r\n this.getUserInformation = function (forceAuthenticated, sessionTokenType, options) {\r\n console.debug('HostChannel : getUserInformation', forceAuthenticated, sessionTokenType, options);\r\n\r\n var promise = new Promise(function (resolve) {\r\n\r\n var response = {};\r\n response.gender = 'M';\r\n response.firstName = '';\r\n response.lastName = '';\r\n\r\n if (!forceAuthenticated) {\r\n var user = LoginCache.getUserObj();\r\n if (!user || user.customerInfo) {\r\n // User logged not logged in\r\n console.debug('HostChannel : getUserInformation resolve', response);\r\n resolve({});\r\n } else {\r\n // User logged in\r\n console.debug('HostChannel : getUserInformation resolve', response);\r\n resolve(response);\r\n }\r\n\r\n return;\r\n }\r\n\r\n // Login session (and fresh assertionId) is required:\r\n LeiaUtils.relaySSO(options).then(function (sessionToken) {\r\n // OK - User logged in, and we got the assertionId\r\n response.sessionToken = sessionToken;\r\n console.debug('HostChannel : getUserInformation resolve', response);\r\n resolve(response);\r\n\r\n }, function () {\r\n\r\n // Not logged in. Fire up login (Will enforce page navigation, and stop the promise chain)\r\n LeiaUtils.openLogin();\r\n\r\n });\r\n\r\n });\r\n\r\n return promise;\r\n };\r\n\r\n /**\r\n * The “getPurseInformation()” method is used by the bridge to retrieve purse information from the host implementation.\r\n * @return Promise\r\n */\r\n this.getPurseInformation = function () {\r\n console.debug('HostChannel : getPurseInformation');\r\n\r\n var promise = new Promise(function (resolve, reject) {\r\n\r\n DSAPI.Account.doBalanceUpdate();\r\n\r\n SitecoreAuth.getUserObj(function (data) {\r\n if (data && data.customerInfo && typeof data.customerInfo.balance !== 'undefined') {\r\n\r\n var balance = Utils.numberFormat(data.customerInfo.balance, 2, '.', '');\r\n\r\n var response = {\r\n values: {},\r\n displayedAmount: {\r\n value: balance, // Format: 100.00\r\n currency: 'DKK'\r\n }\r\n };\r\n\r\n console.debug('HostChannel : getPurseInformation resolve', response);\r\n resolve(response);\r\n } else {\r\n console.warn('NO VALID USERSESSION OBJECT');\r\n console.debug('HostChannel : getPurseInformation reject');\r\n reject({});\r\n }\r\n });\r\n\r\n });\r\n\r\n return promise;\r\n };\r\n\r\n /**\r\n * The “executionAction()” method is used by the bridge to delegate an action to the host implementation.\r\n * @param integer actionId\r\n * @param json parameters\r\n * @return void\r\n */\r\n this.executeAction = function (actionId, parameters) {\r\n console.debug('HostChannel : executeAction ->', actionId);\r\n var switchAction = {\r\n CLOSE_GAME: 'closeGame',\r\n CREDIT: 'credit',\r\n GAME_RULES: 'gameRules',\r\n GLOBAL_RULES: 'globalRules',\r\n OPEN_GAME: 'openGame',\r\n TAG: 'saveTag',\r\n GAME_LOADING: 'gameLoading',\r\n IS_GAME_ENABLED: 'isGameEnabled'\r\n };\r\n\r\n return Game.executeAction(switchAction[actionId], parameters);\r\n };\r\n\r\n this.maskPurse = function (purseMask) {\r\n console.debug('HostChannel : maskPurse', purseMask);\r\n\r\n var promise = new Promise(function (resolve) {\r\n\r\n var user = LoginCache.getUserObj();\r\n var balance = user && user.customerInfo ? Utils.numberFormat(user.customerInfo.balance, 2, '.', '') : null;\r\n var response = {\r\n displayedAmount: {\r\n value: balance,\r\n currency: 'DKK'\r\n },\r\n maskId: 1\r\n };\r\n\r\n console.debug('HostChannel : maskPurse resolve', response);\r\n resolve(response);\r\n\r\n });\r\n\r\n return promise;\r\n };\r\n\r\n this.clearPurse = function (maskId) {\r\n console.debug('HostChannel : clearPurse', maskId);\r\n\r\n var promise = new Promise(function (resolve) {\r\n var user = LoginCache.getUserObj();\r\n var balance = user && user.customerInfo ? Utils.numberFormat(user.customerInfo.balance, 2, '.', '') : null;\r\n var response = {\r\n displayedAmount: {\r\n value: balance,\r\n currency: 'DKK'\r\n },\r\n maskId: 1\r\n };\r\n\r\n console.debug('HostChannel : clearPurse resolve', response);\r\n\r\n resolve(response);\r\n });\r\n\r\n return promise;\r\n };\r\n };\r\n\r\n // Public functions:\r\n return HostChannel;\r\n\r\n});\r\n","defineDs('DanskeSpil/Domain/GameVendorLEIA/Scripts/LeiaGameLauncher', [\r\n 'Shared/Framework/Mithril/Scripts/Helpers/Utils',\r\n 'Common/Framework/EventHandling/Scripts/Event',\r\n 'DanskeSpil/Domain/GameVendorLEIA/Scripts/LeiaHostChannel',\r\n 'DanskeSpil/Domain/GameVendorLEIA/Scripts/Helpers/LeiaDataStore',\r\n 'DanskeSpil/Domain/GameVendorLEIA/Scripts/Helpers/LeiaApi',\r\n 'DanskeSpil/Domain/GameVendorLEIA/Scripts/Helpers/LeiaUtils',\r\n 'Shared/Framework/Mithril/Scripts/Helpers/IOSUtils',\r\n 'DanskeSpil/Domain/GameVendorLEIA/Scripts/Helpers/IOSFullscreenOverlay',\r\n 'DanskeSpil/Domain/GameVendorLEIA/Scripts/Helpers/AndroidFullscreenOverlay',\r\n 'DanskeSpil/Domain/Authentification/Scripts/LoginCache',\r\n 'Common/Framework/EventHandling/Scripts/CrossWindowEvents',\r\n 'Common/Framework/EventHandling/Scripts/AppEvent',\r\n], function (Utils, Event, LeiaHostChannel, LeiaDataStore, LeiaApi, LeiaUtils, IOSUtils, IOSFullscreenOverlay, AndroidFullscreenOverlay, LoginCache, CrossWindowEvents, AppEvent) {\r\n\r\n // Functions:\r\n var loadFalconBridge = function () {\r\n var promise = new Promise(function (resolve) {\r\n window.include(DS.Config.LEIA_HOST + '/static/bridge/falcon-game-bridge-helper.min.js', function () {\r\n resolve();\r\n });\r\n });\r\n\r\n return promise;\r\n };\r\n\r\n var showErrorMessage = function (errorMessage) {\r\n var domMessage = document.getElementById('leia-message');\r\n var domContainer = document.getElementById('leia-game-inner-wrapper');\r\n\r\n if (domMessage) {\r\n domMessage.innerText = errorMessage;\r\n }\r\n if (domContainer) {\r\n domContainer.classList.remove('loading');\r\n domContainer.classList.add('error');\r\n }\r\n };\r\n\r\n var bindResizeEvents = function () {\r\n window.addEventListener('resize', function () {\r\n // Resize on ios after adressbar/fullscreen toggle doesnt seem to work unless we add delay. Lets try with 300ms\r\n setTimeout(LeiaUtils.setGameContainerSize, 300);\r\n });\r\n\r\n Event.subscribe('header-area-height-changed', function () {\r\n // Delay a bit, to be sure DOM is updated before detecting/setting sizes.\r\n setTimeout(LeiaUtils.setGameContainerSize, 300);\r\n });\r\n };\r\n\r\n var isApp = function () {\r\n return location.href.toLowerCase().indexOf('dsapplicationid') > -1;\r\n };\r\n\r\n var iosSwipeUpHack = function () {\r\n console.warn('IOSUtils.isIOS()', IOSUtils.isIOS());\r\n console.warn('IOSUtils.isLandscape()', IOSUtils.isLandscape());\r\n console.warn('IOSUtils.isFullscreen()', IOSUtils.isFullscreen());\r\n\r\n if (Utils.isMobile() && IOSUtils.isIOS()) {\r\n // No footer on this page (as we want nothing below game container)\r\n var $footer = document.querySelector('.js-global-footer');\r\n if ($footer) {\r\n $footer.style.display = 'none';\r\n }\r\n\r\n if (!isApp()) {\r\n IOSFullscreenOverlay.startMonitoring();\r\n }\r\n }\r\n };\r\n\r\n var androidFullscreenHack = function () {\r\n var isAndroid = navigator.userAgent.toLowerCase().indexOf('android') > -1;\r\n\r\n if (Utils.isMobile() && isAndroid && !isApp()) {\r\n AndroidFullscreenOverlay.startMonitoring();\r\n }\r\n };\r\n\r\n var subcribeBalanceUpdate = function () {\r\n // For app: Fire event when balance is updated (and only when updated)\r\n var oldBalance = LoginCache.isLoggedIn() ? LoginCache.getUserObj().customerInfo.balance : null;\r\n CrossWindowEvents.subscribe('ds.event.balanceUpdated', function () {\r\n var newBalance = LoginCache.isLoggedIn() ? LoginCache.getUserObj().customerInfo.balance : null;\r\n if (oldBalance != newBalance) {\r\n AppEvent.fire('update-user-balance', null);\r\n }\r\n\r\n oldBalance = newBalance;\r\n });\r\n };\r\n\r\n var getGviChannel = function () {\r\n var isApp = location.href.toLowerCase().indexOf('dsapplicationid') > -1;\r\n if (isApp) {\r\n return 'APP';\r\n }\r\n\r\n if (Utils.isMobile() || Utils.isTabletDevice()) {\r\n return 'MOBILE';\r\n }\r\n\r\n return 'WEB';\r\n };\r\n\r\n var loadGame = function (gameData, options) {\r\n // Setup FDJ HostChannel:\r\n var hostChannel = new LeiaHostChannel();\r\n hostChannel.setName(gameData.name);\r\n hostChannel.setType(gameData.engineCode);\r\n\r\n var bridgeSetup = {\r\n hostChannel: hostChannel,\r\n bridgeLocation: DS.Config.LEIA_HOST + '/static/bridge/loader.html',\r\n parentNode: options.domNode,\r\n crossDomain: {\r\n hostKey: DS.Config.LEIA_HOSTKEY,\r\n authorizedHosts: [DS.Config.LEIA_HOST, location.origin]\r\n },\r\n betId: options.betId,\r\n skipRules: options.skipRules ? true : false,\r\n lotteryChannel: getGviChannel()\r\n };\r\n\r\n window.fcGameBridge.openGame(bridgeSetup);\r\n };\r\n\r\n var init = function () {\r\n var domNode = document.getElementById('leia-game');\r\n if (!domNode) {\r\n return;\r\n }\r\n\r\n var gameId = domNode.getAttribute('data-game-id');\r\n var checkForActiveGame = domNode.getAttribute('data-check-for-active-game') === 'true';\r\n var betId = Utils.getParameter('betId');\r\n var skipRules = Utils.getParameter('skipRules');\r\n\r\n if (!gameId) {\r\n console.warn('LEIA Game Launcher: name param should be set');\r\n return;\r\n }\r\n\r\n // Override login returnUrl to add skipRules if not already\r\n if (!skipRules) {\r\n document.body.setAttribute('data-override-login-return-url', location.pathname + location.search + (location.search.indexOf('?') > -1 ? '&' : '?') + 'skipRules=1');\r\n }\r\n\r\n document.body.setAttribute('data-override-logout-return-url', '/quick');\r\n\r\n // Precalculate the container-size:\r\n LeiaUtils.setGameContainerSize();\r\n\r\n // gameInfo feed + falcon bridge loader:\r\n var promises = [LeiaApi.getGameInfo(gameId), loadFalconBridge()];\r\n\r\n // IU-16635 + IU-17842\r\n if (checkForActiveGame) {\r\n promises.push(LeiaApi.checkActiveBetId(gameId));\r\n }\r\n\r\n if (window.dsApplicationConfig && window.dsApplicationConfig.ApplicationId === 'ISOBAR_LOTTO_MOBILENATIVE') {\r\n subcribeBalanceUpdate();\r\n }\r\n\r\n // Wait for promises\r\n Promise.all(promises).then(function (values) {\r\n // values[0] = game info\r\n // values[1] = null (load falcon bridge response)\r\n // values[2] = activebet (if needed)\r\n\r\n var response = values[0];\r\n\r\n if (!response || !response.data) {\r\n console.error('No game data');\r\n showErrorMessage('Spillet er lukket eller tjenesten midlertidigt nede.');\r\n return;\r\n }\r\n\r\n if (response.data.status !== 'open') {\r\n showErrorMessage('Spillet er lukket.');\r\n return;\r\n }\r\n\r\n LeiaDataStore.gameData = response.data;\r\n\r\n if (values[2]) {\r\n betId = values[2];\r\n }\r\n\r\n loadGame(response.data, {\r\n domNode: domNode,\r\n betId: betId,\r\n skipRules: skipRules\r\n });\r\n\r\n bindResizeEvents();\r\n\r\n iosSwipeUpHack();\r\n androidFullscreenHack();\r\n\r\n }, function () {\r\n // One of promises rejects\r\n showErrorMessage('Spillet er lukket eller tjenesten midlertidigt nede.');\r\n });\r\n\r\n };\r\n\r\n // Init:\r\n init();\r\n\r\n});\r\n","defineDs('DanskeSpil/Framework/AppUniverse/Scripts/AppUniverse/Helpers/AppDictionary',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Helpers/Dictionary'\r\n ],\r\n function (Dictionary) {\r\n return new Dictionary('/AppUniverse');\r\n });\r\n","defineDs('DanskeSpil/Framework/AppUniverse/Scripts/AppUniverse/Components/VersionSelector',\r\n [\r\n 'Common/Framework/EventHandling/Scripts/OutsideClick',\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'Shared/Framework/Mithril/Scripts/Helpers/Render'\r\n ],\r\n function (OutsideClick, m, Render) {\r\n\r\n // Template:\r\n var VersionSelector = function (controller) {\r\n // Variables:\r\n var render = Render();\r\n\r\n // Functions:\r\n var toggleSelector = function (state) {\r\n controller.property('toggleSelector', {\r\n name: 'device',\r\n state: state || !controller.property('toggleSelector')['state']\r\n });\r\n };\r\n\r\n var selectOption = function (option) {\r\n controller.selectedOption = option;\r\n controller.deviceSelectorUpdate(option);\r\n controller.property('swipperInit', false);\r\n toggleSelector(false);\r\n\r\n };\r\n\r\n var isActiveOption = function () {\r\n return controller.optionsList &&\r\n controller.optionsList.length &&\r\n controller.property('toggleSelector')['name'] === 'device' &&\r\n controller.property('toggleSelector')['state'];\r\n };\r\n\r\n var selectorDOM = function (label) {\r\n var placeHolderText = controller.selectedOption.displayName || controller.selectedOption;\r\n\r\n return m('.selector-wrapper', [\r\n m('span.selector-label', label),\r\n m('.options-wrapper', {\r\n class: isActiveOption() ? 'active' : '',\r\n config: render.depend('options-wrapper')\r\n }, [\r\n m('.options-placeholder-wrapper', {\r\n onclick: function () {\r\n toggleSelector();\r\n }\r\n }, [\r\n m('span.placeholder-text', placeHolderText),\r\n m('span.placeholder-icon')\r\n ]),\r\n m('.options-list-wrapper',\r\n controller.optionsList.map(function (option) {\r\n if (option.name) {\r\n return m('.option-item-wrapper', {\r\n class: controller.selectedOption === option ? 'selected' : '',\r\n onclick: function () {\r\n selectOption(option);\r\n }\r\n }, [\r\n m('span.option-item-text', option.displayName),\r\n m('span.option-item-icon')\r\n ]);\r\n }\r\n })\r\n )\r\n ])\r\n ]);\r\n };\r\n\r\n // Render:\r\n render.ready.then(function (nodes) {\r\n var optionsWrapper = nodes['options-wrapper'];\r\n if (optionsWrapper) {\r\n var option = optionsWrapper;\r\n if (option.$element.classList.contains('active')) {\r\n OutsideClick(option.$element, option.context, function () {\r\n if (option.$element.classList.contains('active')) {\r\n controller.property('toggleSelector')['state'] = false;\r\n }\r\n });\r\n }\r\n }\r\n });\r\n\r\n // Return:\r\n return m('.app-installation-guide__version-selector',\r\n {\r\n config: render.depend('app-installation-guide__version-selector')\r\n },\r\n controller.deviceSelectorLabel() ? selectorDOM(controller.deviceSelectorLabel()) : null);\r\n };\r\n\r\n // Public functions:\r\n return VersionSelector;\r\n\r\n });\r\n","defineDs('DanskeSpil/Domain/Tutorial/Scripts/Components/TutorialFooter',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n ],\r\n function (m) {\r\n return function ({ title, text, footerElements, style, activate = true }) {\r\n return m('.tutorial-footer', {\r\n class: activate ? '' : 'tutorial-footer--disable'\r\n },\r\n m('.tutorial-footer-inner', [\r\n m('.tutorial-footer__text-wrapper', [\r\n m('.tutorial-footer__title', { style }, title),\r\n m('.tutorial-footer__text', m.trust(text))\r\n ]),\r\n m('.tutorial-footer__footerElement', footerElements ? footerElements.map(function (footerElement) {\r\n return m('.tutorial-footer__footerElement-wrapper', [\r\n m('.tutorial-footer__footerElement-image-wrapper',\r\n m('img.tutorial-footer__footerElement-image', {\r\n src: footerElement.image\r\n })\r\n ),\r\n m('a.tutorial-footer__footerElement-text-wrapper', {\r\n href: footerElement.helpLink.Url\r\n }, [\r\n m('.tutorial-footer__footerElement-title', footerElement.title),\r\n m('.tutorial-footer__footerElement-text', footerElement.helpLink.Text)\r\n ]),\r\n ]);\r\n }) : null)\r\n ])\r\n );\r\n };\r\n });\r\n","defineDs('DanskeSpil/Domain/Tutorial/Scripts/Components/TutorialNavigation',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n ],\r\n function (m) {\r\n return function (settings) {\r\n var currentUrl = m.route.param('tutorial');\r\n return settings.mostVisitedList.length > 0 ? m('.tutorial-navbar', [\r\n m('.tutorial-navbar-label', settings.mostVisitedLabel),\r\n m('.tutorial-navbar-cave',\r\n m('.tutorial-navbar-cave-inner')\r\n ),\r\n m('.tutorial-navbar-container', {\r\n onscroll: function (event) {\r\n var container = event.target;\r\n var cave = document.querySelector('.tutorial-navbar-cave');\r\n if (container.scrollLeft) cave.classList.add('tutorial-navbar-cave--open');\r\n else cave.classList.remove('tutorial-navbar-cave--open');\r\n }\r\n }, [\r\n m('.tutorial-navbar-navs', settings.mostVisitedList.map(function (tutorial) {\r\n return m('a.tutorial-navbar-nav', {\r\n class: currentUrl === tutorial.safeTitle ? 'tutorial-navbar-nav--hide' : '',\r\n href: tutorial.urlPrefix + '/' + tutorial.safeTitle,\r\n config: m.route\r\n }, tutorial.title);\r\n }))\r\n ])\r\n ]) : null;\r\n };\r\n });\r\n","defineDs('DanskeSpil/Domain/Tutorial/Scripts/Components/TutorialHero',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n ],\r\n function (m) {\r\n return function ({ title, style, isButtonVisible = true, activate = true, onclick = () => {} }) {\r\n return m('.tutorial__hero', {\r\n class: activate ? '' : 'tutorial__hero--disable'\r\n }, [\r\n isButtonVisible ? m('a.tutorial__hero-arrow', {\r\n href: '/',\r\n config: m.route,\r\n onclick\r\n }) : null,\r\n m('.tutorial__hero-title', { style }, m.trust(title)),\r\n ]);\r\n };\r\n });\r\n","defineDs('DanskeSpil/Domain/Tutorial/Scripts/Components/TutorialSearchBar',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n ],\r\n function (m) {\r\n return function (controller) {\r\n\r\n var updateSearchQuery = function (value) {\r\n controller.searchQuery(value);\r\n controller.filteredTutorials(controller.allTutorials.filter(matchTutorialTitleWithSearchQuery));\r\n }.bind(this);\r\n\r\n var collapseCategories = function () {\r\n document.querySelectorAll('.tutorial__category--show').forEach(function (category) {\r\n category.classList.remove('tutorial__category--show');\r\n });\r\n }.bind(this);\r\n\r\n var matchTutorialTitleWithSearchQuery = function (tutorial) {\r\n if (!controller.searchQuery()) return false;\r\n\r\n var textToSearch = tutorial.title + tutorial.subtitle;\r\n if (tutorial.urlPrefix === '/simple' && tutorial.richText) {\r\n var firstOpeningParagraphTagIndex = tutorial.richText.indexOf('

');\r\n var lastClosingParagraphTagIndex = tutorial.richText.lastIndexOf('

');\r\n var searchableRichText = tutorial.richText.slice(firstOpeningParagraphTagIndex, lastClosingParagraphTagIndex);\r\n searchableRichText = searchableRichText.replace(/(<([^>]+)>)/gi, '');\r\n textToSearch += searchableRichText;\r\n } else if (tutorial.elements) {\r\n textToSearch += tutorial.elements.map(function (element) {\r\n return element.title + element.text.replace(/(<([^>]+)>)/gi, '');\r\n }).join('');\r\n } else if (tutorial.urlPrefix === '/avalon' && tutorial.content) {\r\n var content = tutorial.content.outerHTML;\r\n var firstOpeningDivTagIndex = content.indexOf('');\r\n var searchableText = content.slice(firstOpeningDivTagIndex, lastClosingDivTagIndex);\r\n searchableText = searchableText.replace(/(<([^>]+)>)/gi, '');\r\n textToSearch += searchableText;\r\n }\r\n\r\n return controller.searchQuery().trim().split(' ').every(function (word) {\r\n return new RegExp('(?=.*' + word + ')', 'gmi').test(textToSearch);\r\n });\r\n }.bind(this);\r\n\r\n return m('.tutorial__searchbar', [\r\n m('svg.tutorial__searchbar-loop', {\r\n height: '20', width: '20', xmlns: 'http://www.w3.org/2000/svg'\r\n }, [\r\n m('g', [\r\n m('circle', {\r\n cx: '12', cy: '9', r: '7'\r\n }),\r\n m('path', {\r\n d: 'm7 14.5 -6 6'\r\n }),\r\n ])\r\n ]),\r\n m('input.tutorial__searchbar-input', {\r\n oninput: function (event) {\r\n if (event.target.value.length > -1) {\r\n updateSearchQuery(event.target.value);\r\n collapseCategories();\r\n }\r\n },\r\n value: controller.searchQuery(),\r\n placeholder: controller.searchBarPlaceholder\r\n }),\r\n m('.tutorial__searchbar-clear', {\r\n onclick: () => {\r\n controller.searchQuery('');\r\n }\r\n })\r\n ]);\r\n };\r\n });\r\n","defineDs('DanskeSpil/Domain/Tutorial/Scripts/Pages/TutorialFrontpage',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'DanskeSpil/Domain/Tutorial/Scripts/Components/TutorialFooter',\r\n 'DanskeSpil/Domain/Tutorial/Scripts/Components/TutorialNavigation',\r\n 'DanskeSpil/Domain/Tutorial/Scripts/Components/TutorialSearchBar',\r\n 'DanskeSpil/Domain/Tutorial/Scripts/Components/TutorialHero'\r\n ], function (m, TutorialFooter, Navigation, Searchbar, Hero) {\r\n\r\n return {\r\n controller: function (args) {\r\n window.scrollTo(0, 0);\r\n\r\n this.categories = args.settings.categories;\r\n this.headerImage = args.settings.headerImage;\r\n this.searchQuery = args.searchQuery;\r\n this.tutorials = args.tutorials;\r\n this.titleCssStyle = args.titleCssStyle;\r\n this.filteredTutorials = args.filteredTutorials;\r\n this.relatedHelpText = args.settings.relatedHelpText;\r\n this.frontpageHeroTitle = args.settings.frontpageHeroTitle;\r\n this.categories.forEach(function (category) {\r\n category.jointList = category.slideTutorials.concat(category.avalonTutorials).concat(category.richTextTutorials).concat(category.tipsSystemTutorial);\r\n category.jointList.forEach(function (tutorial) {\r\n tutorial['category'] = category.category;\r\n });\r\n });\r\n this.nullResultHelpText = args.settings.nullResultHelpText;\r\n this.searchResultNull = args.settings.searchResultNull;\r\n this.searchBarPlaceholder = args.settings.searchBarPlaceholder;\r\n this.mostVisitedLabel = args.settings.mostVisitedLabel;\r\n this.mostVisitedList = args.settings.mostVisitedList;\r\n this.latestSearches = args.settings.latestSearches;\r\n this.footerSettings = args.footerSettings;\r\n this.jointList = args.jointList;\r\n this.allTutorials = args.allTutorials;\r\n\r\n // Toggles the html class that shows tutorial categories\r\n this.categoryClickHandler = function (event) {\r\n event.currentTarget.classList.toggle('tutorial__category--show');\r\n };\r\n\r\n // Shows tutorial columns depending on if they're filtered or not\r\n this.showTutorialCategories = function (tutorials, isFiltered) {\r\n return tutorials.map(function (tutorial) {\r\n return m('a.tutorial__category-tutorials-wrapper', {\r\n onclick: function (event) {\r\n this.saveToLocalStorage(event.currentTarget.id, tutorial.image?.Source ?? '');\r\n }.bind(this),\r\n class: isFiltered ? 'tutorial__category-tutorials-wrapper--filtered' : '',\r\n href: tutorial.urlPrefix + '/' + tutorial.safeTitle,\r\n config: m.route,\r\n id: tutorial.title\r\n }, [\r\n m('.tutorial__category-tutorials-image-wrapper', [\r\n m('img.tutorial__category-tutorials-image', {\r\n src: (isFiltered ? (tutorial.imageFiltered?.Source ?? '') : (tutorial.image?.Source ?? ''))\r\n })\r\n ]),\r\n m('.tutorial__category-tutorials-text-wrapper', [\r\n m('.tutorial__category-tutorials-title', { style: this.titleCssStyle }, isFiltered\r\n ? m.trust(tutorial.title.replace(new RegExp(this.searchQuery(), 'ig'), function (match) {\r\n return '' + match + '';\r\n }.bind(this)))\r\n : m.trust(tutorial.title)),\r\n m('.tutorial__category-tutorials-text', tutorial.subtitle)\r\n ]),\r\n m('.tutorial__category-tutorials-arrow')\r\n ]);\r\n }.bind(this));\r\n }.bind(this);\r\n\r\n // Gets saved tutorials the user has clicked on in an array\r\n this.getFromLocalStorage = function () {\r\n return JSON.parse(localStorage.getItem('tutorial-latest-searched')) || [];\r\n };\r\n\r\n // Saves the 5 newest tutorials the user clicks on in an array in local storage and checks if it's already saved\r\n this.saveToLocalStorage = function (title, image) {\r\n var currentLocalStorage = this.getFromLocalStorage();\r\n currentLocalStorage = currentLocalStorage.reduce(function (acc, storage) {\r\n if (storage.title !== title) acc.push(storage);\r\n return acc;\r\n }, []);\r\n var storage = { title: title, image: image };\r\n currentLocalStorage.push(storage);\r\n currentLocalStorage.slice(-5);\r\n localStorage.setItem('tutorial-latest-searched', JSON.stringify(currentLocalStorage));\r\n }.bind(this);\r\n\r\n // Gets tutorials in same category\r\n this.matchRelatedTutorialsWithFilteredTutorials = function () {\r\n var filtratedTutorialsCategories = [];\r\n this.filteredTutorials().forEach(function (tutorial) {\r\n filtratedTutorialsCategories.push(tutorial.category);\r\n });\r\n var x = this.categories.filter(function (category) {\r\n return filtratedTutorialsCategories.includes(category.category);\r\n });\r\n var y = x.map(function (category) {\r\n return this.showTutorialCategories(category.jointList.filter(function (tutorial) {\r\n return this.filteredTutorials().every(function (filteredTutorial) {\r\n return filteredTutorial.title !== tutorial.title;\r\n });\r\n }.bind(this)));\r\n }.bind(this));\r\n return y;\r\n }.bind(this);\r\n\r\n this.getCategoryDOM = function (category) {\r\n return m('.tutorial__category', {\r\n onclick: this.categoryClickHandler\r\n }, [\r\n m('.tutorial__category-wrapper', [\r\n m('.tutorial__category-text-wrapper', [\r\n m('.tutorial__category-title', { style: this.titleCssStyle }, category.title),\r\n m('.tutorial__category-label', category.subtitle),\r\n ]),\r\n m('.tutorial__category-cross')\r\n ]),\r\n m('.tutorial__category-tutorials', this.showTutorialCategories(category.jointList))\r\n ]);\r\n }.bind(this);\r\n\r\n this.getTutorialDOM = function (tutorial) {\r\n return m('a.tutorial__category', {\r\n href: tutorial.urlPrefix + '/' + tutorial.safeTitle,\r\n config: m.route,\r\n }, [\r\n m('.tutorial__category-wrapper.tutorial__category-wrapper--tutorial', [\r\n m('.tutorial__category-text-wrapper', [\r\n m('.tutorial__category-title', { style: this.titleCssStyle }, m.trust(tutorial.title)),\r\n m('.tutorial__category-label', tutorial.subtitle),\r\n ]),\r\n m('.tutorial__category-tutorials-arrow')\r\n ])\r\n ]);\r\n }.bind(this);\r\n },\r\n\r\n view: function (controller) {\r\n return m('.tutorial-frontpage', {\r\n config: controller.onStepRendered\r\n }, [\r\n Navigation(controller), // eslint-disable-line compat/compat\r\n m('.tutorial-frontpage__hero', [\r\n Hero({ title: controller.frontpageHeroTitle, style: controller.titleCssStyle, isButtonVisible: !!controller.searchQuery(), onclick: () => controller.searchQuery('') }),\r\n Searchbar(controller)\r\n ]),\r\n m('.tutorial__frontpage-wrapper',\r\n m('.tutorial__content-box.tutorial__frontpage-inner-wrapper.tutorial__frontpage-animation', {\r\n class: controller.searchQuery() ? 'tutorial__frontpage-inner-wrapper--hide' : ''\r\n },\r\n [\r\n m('.tutorial__categories', controller.jointList.map(function (entry) {\r\n return !entry.hasOwnProperty('urlPrefix') ? controller.getCategoryDOM(entry) : controller.getTutorialDOM(entry);\r\n })),\r\n controller.mostVisitedList.length > 0\r\n ? m('.tutorial__most-visited',\r\n m('.tutorial__most-visited-title', { style: controller.titleCssStyle }, controller.mostVisitedLabel),\r\n controller.mostVisitedList.map(function (tutorial) {\r\n return m('a.tutorial__most-visited-wrapper', {\r\n href: tutorial.urlPrefix + '/' + tutorial.safeTitle,\r\n config: m.route\r\n },\r\n m('.tutorial__most-visited-element-wrapper', [\r\n m('.tutorial__most-visited-element-image-wrapper',\r\n m('img.tutorial__most-visited-element-image', {\r\n src: tutorial.image?.Source ?? ''\r\n })\r\n ),\r\n m('.tutorial__most-visited-element-text-wrapper', [\r\n m('.tutorial__most-visited-element-title', { style: controller.titleCssStyle }, m.trust(tutorial.title)),\r\n m('.tutorial__most-visited-element-text', tutorial.subtitle),\r\n ]),\r\n m('.tutorial__most-visited-element-arrow')\r\n ])\r\n );\r\n }))\r\n : null\r\n ]),\r\n controller.filteredTutorials().length > 0\r\n ? m('.tutorial__search-result.tutorial__frontpage-animation', {\r\n class: controller.searchQuery() ? 'tutorial__search-result--show' : '',\r\n },\r\n [\r\n m('.tutorial__search-result-wrapper', [\r\n controller.showTutorialCategories(controller.filteredTutorials(), true),\r\n ]),\r\n m('.tutorial__content-box.tutorial__search-result-related-wrapper', [\r\n m('.tutorial__search-result-related-inner-wrapper', [\r\n m('.tutorial__search-result-related-help-text', controller.relatedHelpText),\r\n m('.tutorial__search-result-related-help-categories', controller.matchRelatedTutorialsWithFilteredTutorials())\r\n ]),\r\n ]),\r\n ])\r\n : m('.tutorial__search-result-null-wrapper.tutorial__frontpage-animation', {\r\n class: controller.searchQuery() ? 'tutorial__search-result-null-wrapper--show' : ''\r\n },\r\n m('.tutorial__search-result-null-inner-wrapper', [\r\n m('.tutorial__search-result-null-title', { style: controller.titleCssStyle }, controller.searchResultNull),\r\n m('.tutorial__search-result-null-search-query', '\\'' + controller.searchQuery() + '\\''),\r\n m('.tutorial__search-result-null-text', m.trust(controller.nullResultHelpText)),\r\n controller.getFromLocalStorage().length > 0 ?\r\n m('.tutorial__search-last-visited-wrapper', [\r\n m('.tutorial__search-last-visited-title', { style: controller.titleCssStyle }, controller.latestSearches),\r\n m('.tutorial__search-last-visited-element-wrapper', controller.getFromLocalStorage().map(function (storage) {\r\n return m('a.tutorial__search-last-visited-element-innerwrapper', {\r\n href: storage.urlPrefix + storage.title,\r\n config: m.route\r\n }, [\r\n m('img.tutorial__search-last-visited-element-image', {\r\n src: storage.image\r\n }),\r\n m('.tutorial__search-last-visited-element-title', { style: controller.titleCssStyle }, storage.title)\r\n ]);\r\n }).slice(-5)\r\n )\r\n ]) : null\r\n ]))),\r\n controller.footerSettings ? TutorialFooter({ style: controller.titleCssStyle, ...controller.footerSettings }) : null\r\n ]);\r\n }\r\n };\r\n });\r\n","defineDs('DanskeSpil/Domain/Tutorial/Scripts/Pages/TutorialAvalonPage',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'DanskeSpil/Domain/Tutorial/Scripts/Components/TutorialFooter',\r\n 'DanskeSpil/Domain/Tutorial/Scripts/Components/TutorialNavigation',\r\n 'DanskeSpil/Domain/Tutorial/Scripts/Components/TutorialHero'\r\n ], function (m, TutorialFooter, Navigation, Hero) {\r\n\r\n return {\r\n controller: function (args) {\r\n window.scrollTo(0, 0);\r\n\r\n this.safeTitle = decodeURI(m.route.param('tutorial'));\r\n this.mostVisitedLabel = args.mostVisitedLabel;\r\n this.mostVisitedList = args.mostVisitedList;\r\n this.footerSettings = args.footerSettings;\r\n this.titleCssStyle = args.titleCssStyle;\r\n this.getTextWithHighligt = args.getTextWithHighligt;\r\n this.tutorial = args.allTutorials.filter(function (tutorial) {\r\n return tutorial.safeTitle === this.safeTitle;\r\n }.bind(this))[0];\r\n this.avalonContent = null;\r\n\r\n this.onRender = function () {\r\n var contentWithoutComments = this.tutorial.content?.outerHTML?.replace(//g, '') ?? '';\r\n this.avalonContent = m.trust(this.getTextWithHighligt(contentWithoutComments));\r\n\r\n setTimeout(function () {\r\n m.redraw();\r\n }, 0);\r\n }.bind(this);\r\n },\r\n\r\n view: function (controller) {\r\n return m('.tutorial__avalon', [\r\n Navigation(controller), // eslint-disable-line compat/compat\r\n Hero({ title: controller.tutorial.title, style: controller.titleCssStyle, activate: controller.tutorial.activateHeader }),\r\n m('.tutorial__content-box.tutorial__avalon-content', {\r\n class: [\r\n controller.tutorial.useFullWidth ? 'tutorial__content-box--full-width' : '',\r\n controller.tutorial.useFullWidth && !controller.tutorial.activateHeader ? 'tutorial__content-box--no-radius' : ''\r\n ].join(' '),\r\n config: controller.onRender\r\n }, controller.avalonContent),\r\n controller.footerSettings ? TutorialFooter({ style: controller.titleCssStyle, activate: controller.tutorial.activateFooter, ...controller.footerSettings }) : null\r\n ]);\r\n }\r\n };\r\n });\r\n","defineDs('DanskeSpil/Domain/Tutorial/Scripts/Pages/TutorialSlidepage',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'Shared/Framework/Mithril/Scripts/Helpers/Render',\r\n 'Common/Framework/ScriptLibraries/Scripts/TinySlider',\r\n 'DanskeSpil/Domain/Tutorial/Scripts/Components/TutorialFooter',\r\n 'DanskeSpil/Domain/Tutorial/Scripts/Components/TutorialNavigation',\r\n 'DanskeSpil/Domain/Tutorial/Scripts/Components/TutorialHero'\r\n ], function (m, Render, TinySlider, TutorialFooter, Navigation, Hero) {\r\n var render = Render();\r\n\r\n return {\r\n controller: function (args) {\r\n window.scrollTo(0, 0);\r\n\r\n this.safeTutorialName = decodeURI(m.route.param('tutorial'));\r\n this.tutorial = args.allTutorials.filter(function (entry) {\r\n return entry.safeTitle === this.safeTutorialName;\r\n }.bind(this))[0];\r\n\r\n this.titleCssStyle = args.titleCssStyle;\r\n this.mostVisitedList = args.mostVisitedList;\r\n this.mostVisitedLabel = args.mostVisitedLabel;\r\n this.heroTitle = args.settings.heroTitle;\r\n this.heroText = args.settings.heroText;\r\n this.elementsCount = this.tutorial.elements.length;\r\n this.slidepageRelatedHelpTitle = args.settings.slidepageRelatedHelpTitle;\r\n this.relatedHelpTutorials = this.tutorial.relatedHelpTutorials;\r\n this.heroImage = this.tutorial.heroImage;\r\n this.actionButton = this.tutorial.actionButton;\r\n this.footerSettings = args.footerSettings;\r\n this.searchQuery = args.searchQuery;\r\n this.titleCssStyle = args.titleCssStyle;\r\n this.activeSlide = 0;\r\n this.showPrevArrow = m.prop(false);\r\n this.showNextArrow = m.prop(true);\r\n this.isSliderActive = false;\r\n this.desktopSlider = null;\r\n this.vimeoReady = false;\r\n this.vimeoPlayers = [];\r\n this.getTextWithHighligt = args.getTextWithHighligt;\r\n\r\n this.addPlayers = function () {\r\n document.querySelectorAll('.slidepage__slider--desktop iframe').forEach(function (iframe, i) {\r\n var player = new window.Vimeo.Player(iframe);\r\n if (i !== 0) {\r\n player.isPlaying = false;\r\n player.pause();\r\n }\r\n this.vimeoPlayers.push(player);\r\n }.bind(this));\r\n };\r\n\r\n this.onStepRendered = function (ignoredElement, isInitialized) {\r\n if (!isInitialized) {\r\n this.isSliderActive = true;\r\n this.desktopSlider = TinySlider({\r\n container: '.slidepage__slider--desktop',\r\n center: true,\r\n controlsContainer: '.slidepage__controls',\r\n prevButton: '.slidepage__arrow--prev',\r\n nextButton: '.slidepage__arrow--next',\r\n loop: false,\r\n nav: false,\r\n responsive: {\r\n 768: {\r\n gutter: 100,\r\n fixedWidth: 730,\r\n },\r\n 1024: {\r\n gutter: 350,\r\n fixedWidth: 730,\r\n },\r\n 1440: {\r\n gutter: 220,\r\n fixedWidth: 900,\r\n }\r\n }\r\n });\r\n\r\n this.desktopSlider.events.on('indexChanged', function (event) {\r\n document.querySelector('.slidepage__current-slide').innerHTML = event.displayIndex > 9 ? event.displayIndex : '0' + event.displayIndex;\r\n var items = document.querySelectorAll('.slidepage__slider--desktop .slidepage__steps');\r\n var itemNumber = event.displayIndex - 1; // index er 1-baseret - itemNumber 0.\r\n\r\n items.forEach(function (item, index) {\r\n item.classList[index === itemNumber ? 'remove' : 'add']('slidepage__steps--fade');\r\n });\r\n\r\n this.vimeoPlayers.forEach(function (player, index) {\r\n if (index === itemNumber) {\r\n if (!player.isPlaying) {\r\n var interval = setInterval(function () {\r\n player.play().then(function () {\r\n player.isPlaying = true;\r\n });\r\n if (player.isPlaying) {\r\n clearInterval(interval);\r\n }\r\n }, 500);\r\n }\r\n } else {\r\n player.pause().then(function () {\r\n player.isPlaying = false;\r\n player.setCurrentTime(0);\r\n });\r\n }\r\n });\r\n\r\n if (itemNumber === 0) {\r\n // First slide\r\n this.showPrevArrow(false);\r\n this.showNextArrow(true);\r\n } else if (itemNumber === items.length - 1) {\r\n // Last slide\r\n this.showPrevArrow(true);\r\n this.showNextArrow(false);\r\n } else {\r\n // All other slides\r\n this.showPrevArrow(true);\r\n this.showNextArrow(true);\r\n }\r\n m.redraw(true);\r\n }.bind(this));\r\n\r\n m.redraw(true);\r\n\r\n var mobileSliders = document.querySelectorAll('.slidepage__slider--mobile');\r\n mobileSliders.forEach(function (slider) {\r\n var tns = TinySlider({\r\n container: slider.querySelector('.slidepage__steps'),\r\n navContainer: slider.querySelector('.slidepage__radio-buttons'),\r\n controls: false,\r\n loop: false,\r\n fixedWidth: 240,\r\n edgePadding: 40,\r\n mouseDrag: true,\r\n });\r\n\r\n tns.events.on('indexChanged', function (event) {\r\n var steps = slider.querySelectorAll('.slidepage__step');\r\n if (event.displayIndex === 1) {\r\n steps[0].classList.add('slidepage__step--selected');\r\n steps[1].classList.remove('slidepage__step--selected');\r\n } else {\r\n steps[1].classList.add('slidepage__step--selected');\r\n steps[0].classList.remove('slidepage__step--selected');\r\n }\r\n });\r\n });\r\n }\r\n }.bind(this);\r\n\r\n render.ready.then(function () {\r\n if (!this.vimeoReady) {\r\n include('https://player.vimeo.com/api/player.js', function () {\r\n this.vimeoReady = true;\r\n this.addPlayers();\r\n }.bind(this));\r\n }\r\n }.bind(this));\r\n },\r\n\r\n view: function (controller) {\r\n return m('.slidepage', { config: render.depend('container') }, [\r\n Navigation(controller), // eslint-disable-line compat/compat\r\n Hero({ title: controller.tutorial.title, style: controller.titleCssStyle }),\r\n m('.tutorial__content-box.slidepage__content.slidepage__content--mobile',\r\n controller.tutorial.elements.map(function (element, i) {\r\n return m('.slidepage__slider.slidepage__slider--mobile',\r\n {\r\n config: render.depend('mobileContainer')\r\n },\r\n m('.slidepage__steps',\r\n m('.slidepage__step.slidepage__step-description.slidepage__step--selected',\r\n m('.slidepage__step-text-wrapper', [\r\n m('.slidepage__step-header', { style: controller.titleCssStyle }, element.title),\r\n m('.slidepage__step-text', m.trust(controller.getTextWithHighligt(element.text))),\r\n m('.slidepage__step-number', ('0' + (i + 1)).slice(-2)),\r\n i === 0 ? m('.slidepage__step-help-wrapper', [\r\n m('.slidepage__step-help-circle'),\r\n m('.slidepage__step-help-text', element.footerHelpText)\r\n ]) : null,\r\n ])\r\n ),\r\n element.mobileVideo ? m('iframe.slidepage__step.slidepage__step-illustration', {\r\n src: element.mobileVideo,\r\n allowFullScreen: true\r\n }) : null\r\n ),\r\n m('.slidepage__radio-buttons', [\r\n m('.slidepage__radio'),\r\n m('.slidepage__radio')\r\n ])\r\n );\r\n }),\r\n controller.actionButton.Url && controller.actionButton.Title\r\n ? m('a.slidepage__action-button-wrapper', {\r\n href: controller.actionButton.Url\r\n }, m('.slidepage__action-button', controller.actionButton.Title))\r\n : null\r\n ),\r\n m('.tutorial__content-box.slidepage__content.slidepage__content--desktop',\r\n m('.slidepage__slider.slidepage__slider--desktop', {\r\n config: controller.onStepRendered,\r\n class: !controller.isSliderActive ? 'slidepage__slider--loading' : '',\r\n }, controller.tutorial.elements.map(function (element, i) {\r\n return m('.slidepage__steps',\r\n {\r\n class: i !== 0 ? 'slidepage__steps--fade' : ''\r\n },\r\n m('.slidepage__step.slidepage__step-description',\r\n m('.slidepage__step-text-wrapper', [\r\n m('.slidepage__step-header', { style: controller.titleCssStyle }, element.title),\r\n m('.slidepage__step-text', m.trust(controller.getTextWithHighligt(element.text))),\r\n m('.slidepage__step-number', ('0' + (i + 1)).slice(-2))\r\n ])\r\n ),\r\n element.desktopVideo ? m('iframe.slidepage__step.slidepage__step-illustration', {\r\n src: element.desktopVideo\r\n }) : null\r\n );\r\n })),\r\n m('.slidepage__controls', [\r\n m('.slidepage__arrow.slidepage__arrow--prev', {\r\n class: !controller.showPrevArrow() ? 'slidepage__arrow--hide' : ''\r\n }),\r\n m('.slidepage__slide-counter',\r\n m('.slidepage__current-slide', '01'),\r\n m('.slidepage__separator', '/'),\r\n m('.slidepage__number-of-slides', controller.elementsCount < 10 ? '0' + controller.elementsCount : controller.elementsCount.toString())\r\n ),\r\n m('.slidepage__arrow.slidepage__arrow--next', {\r\n class: !controller.showNextArrow() ? 'slidepage__arrow--hide' : ''\r\n })\r\n ]),\r\n controller.actionButton.Url && controller.actionButton.Title\r\n ?\r\n m('a.slidepage__action-button-wrapper', {\r\n href: controller.actionButton.Url\r\n }, m('.slidepage__action-button', controller.actionButton.Title))\r\n : null\r\n ),\r\n controller.relatedHelpTutorials.length > 0 ?\r\n m('.slidepage__related-help',\r\n m('.slidepage__related-help-title', { style: controller.titleCssStyle }, controller.slidepageRelatedHelpTitle),\r\n m('.slidepage__related-help-wrapper',\r\n controller.relatedHelpTutorials.map(function (tutorial) {\r\n return m('a.slidepage__related-help-wrapper-block', {\r\n href: `/${tutorial.urlPrefix}/${tutorial.safeTitle}`,\r\n config: m.route\r\n }, [\r\n m('.slidepage__related-help-image-wrapper',\r\n m('img.slidepage__related-help-image', {\r\n src: tutorial.image\r\n })\r\n ),\r\n m('.slidepage__related-help-text-wrapper', [\r\n m('.slidepage__related-help-element-title', { style: controller.titleCssStyle }, tutorial.title),\r\n m('.slidepage__related-help-element-text', tutorial.text)\r\n ]),\r\n m('.slidepage__related-help-arrow')\r\n ]);\r\n })\r\n )\r\n ) : null,\r\n controller.footerSettings ? TutorialFooter({ style: controller.titleCssStyle, ...controller.footerSettings }) : null\r\n ]);\r\n }\r\n };\r\n });\r\n","defineDs('DanskeSpil/Domain/Tutorial/Scripts/Pages/TutorialTipsSystemPage',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'Shared/Framework/Mithril/Scripts/Templates/Overlay',\r\n 'DanskeSpil/Framework/PlayerAccountManagement/Scripts/Templates/ModalDialog',\r\n 'DanskeSpil/Domain/Tutorial/Scripts/Components/TutorialFooter',\r\n 'DanskeSpil/Domain/Tutorial/Scripts/Components/TutorialNavigation',\r\n 'DanskeSpil/Domain/Tutorial/Scripts/Components/TutorialHero'\r\n ], function (m, Overlay, ModalDialog, TutorialFooter, Navigation, Hero) {\r\n\r\n return {\r\n controller: function (args) {\r\n // Variables\r\n this.consts = {\r\n R: 'r',\r\n U: 'u',\r\n DESCRIPTION: 'description',\r\n GUARANTEE: 'guarantee',\r\n KEY: 'systemKey'\r\n };\r\n Object.freeze(this.consts);\r\n\r\n this.titleCssStyle = args.titleCssStyle;\r\n this.safeTitle = decodeURI(m.route.param('tutorial'));\r\n this.mostVisitedLabel = args.mostVisitedLabel;\r\n this.mostVisitedList = args.mostVisitedList;\r\n this.footerSettings = args.footerSettings;\r\n this.tutorial = args.tipsSystemTutorial[0];\r\n this.systems = {\r\n r: {},\r\n u: {}\r\n };\r\n this.selectedSystem = this.consts.R;\r\n this.selectedCombination = null;\r\n this.dropdownOpen = false;\r\n this.selectedTable = this.consts.DESCRIPTION;\r\n\r\n window.scrollTo(0, 0);\r\n\r\n this.tutorial.rSystemFolder.tipsSystems.forEach(function (system) {\r\n this.systems.r[system.name] = system;\r\n }.bind(this));\r\n this.tutorial.uSystemFolder.tipsSystems.forEach(function (system) {\r\n this.systems.u[system.name] = system;\r\n }.bind(this));\r\n\r\n this.showOverlay = function () {\r\n new Overlay(new ModalDialog([\r\n m('.tutorial-overlay', [\r\n m('.tutorial-overlay__title', { style: this.titleCssStyle }, this.tutorial.popupHeader),\r\n m('.tutorial-overlay__text', m.trust(this.tutorial.popupText)),\r\n m('img.tutorial-overlay__image', {\r\n src: this.tutorial.popupImage.Source,\r\n alt: this.tutorial.popupImage.AlternameText\r\n })\r\n ])\r\n ], {\r\n buttons: []\r\n })).show();\r\n }.bind(this);\r\n\r\n },\r\n\r\n view: function (controller) {\r\n return m('.tutorial-tips', [\r\n Navigation(controller), // eslint-disable-line compat/compat\r\n Hero({ title: controller.tutorial.title, style: controller.titleCssStyle }),\r\n m('.tutorial__content-box.tutorial-tips__content', [\r\n m('.tutorial-tips__content-inner', [\r\n m('.tutorial-tips__header', { style: controller.titleCssStyle }, controller.tutorial.firstHeader),\r\n m('.tutorial-tips__button-wrapper', [\r\n m('.tutorial-tips__button', {\r\n class: controller.selectedSystem === controller.consts.R ? 'tutorial-tips__button--selected' : '',\r\n onclick: function () {\r\n controller.selectedSystem = controller.consts.R;\r\n controller.selectedCombination = null;\r\n }\r\n }, controller.tutorial.rSystemButtonText),\r\n m('.tutorial-tips__button', {\r\n class: controller.selectedSystem === controller.consts.U ? 'tutorial-tips__button--selected' : '',\r\n onclick: function () {\r\n controller.selectedSystem = controller.consts.U;\r\n controller.selectedCombination = null;\r\n }\r\n }, controller.tutorial.uSystemButtonText)\r\n ]),\r\n m('.tutorial-tips__read-more', m.trust(controller.tutorial.subButtonsText)),\r\n m('.tutorial-tips__header', { style: controller.titleCssStyle }, [\r\n controller.tutorial.secondHeader,\r\n m('span.tutorial-tips__popup-trigger', {\r\n onclick: controller.showOverlay\r\n }, '?')\r\n ]),\r\n m('.tutorial-tips__dropdown', {\r\n class: [\r\n controller.dropdownOpen ? 'tutorial-tips__dropdown--open' : '',\r\n controller.selectedCombination ? 'tutorial-tips__dropdown--selected' : ''\r\n ].join(' ').trim(),\r\n onclick: function () {\r\n controller.dropdownOpen = !controller.dropdownOpen;\r\n }\r\n }, [\r\n m('.tutorial-tips__label', controller.selectedCombination || 'KOMBINATION'),\r\n m('.tutorial-tips__dropdown-content', Object.keys(controller.systems[controller.selectedSystem]).map(function (combinationKey) {\r\n return m('.tutorial-tips__combination-key', {\r\n id: combinationKey,\r\n class: combinationKey === controller.selectedCombination ? 'tutorial-tips__combination-key--selected' : '',\r\n onclick: function (event) {\r\n if (controller.selectedCombination === event.currentTarget.id) {\r\n controller.selectedCombination = null;\r\n } else {\r\n controller.selectedCombination = event.currentTarget.id;\r\n }\r\n window.scrollTo(0, 0);\r\n }\r\n }, combinationKey);\r\n }))\r\n ])\r\n ]),\r\n\r\n controller.selectedCombination ? m('.tutorial-tips__table-wrapper', [\r\n m('.tutorial-tips__table-selectors', [\r\n m('.tutorial-tips__table-selector', {\r\n class: controller.selectedTable === controller.consts.DESCRIPTION ? 'tutorial-tips__table-selector--active' : '',\r\n onclick: function () {\r\n controller.selectedTable = controller.consts.DESCRIPTION;\r\n }\r\n }, 'BESKRIVELSE'),\r\n m('.tutorial-tips__table-selector', {\r\n class: controller.selectedTable === controller.consts.GUARANTEE ? 'tutorial-tips__table-selector--active' : '',\r\n onclick: function () {\r\n controller.selectedTable = controller.consts.GUARANTEE;\r\n }\r\n }, 'GARANTI'),\r\n m('.tutorial-tips__table-selector', {\r\n class: controller.selectedTable === controller.consts.KEY ? 'tutorial-tips__table-selector--active' : '',\r\n onclick: function () {\r\n controller.selectedTable = controller.consts.KEY;\r\n }\r\n }, 'NØGLE')\r\n ]),\r\n m('.tutorial-tips__table', {\r\n class: 'tutorial-tips__table--' + controller.selectedTable\r\n }, [\r\n controller.selectedTable === controller.consts.DESCRIPTION ? m('.tutorial-tips__table-title', controller.selectedCombination) : null,\r\n m.trust(controller.systems[controller.selectedSystem][controller.selectedCombination][controller.selectedTable])\r\n ])\r\n ]) : null,\r\n ]),\r\n controller.footerSettings ? TutorialFooter({ style: controller.titleCssStyle, ...controller.footerSettings }) : null\r\n ]);\r\n }\r\n };\r\n });\r\n","defineDs('DanskeSpil/Domain/Tutorial/Scripts/Pages/TutorialSimplePage',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'DanskeSpil/Domain/Tutorial/Scripts/Components/TutorialFooter',\r\n 'DanskeSpil/Domain/Tutorial/Scripts/Components/TutorialNavigation',\r\n 'DanskeSpil/Domain/Tutorial/Scripts/Components/TutorialHero'\r\n ], function (m, TutorialFooter, Navigation, Hero) {\r\n\r\n return {\r\n controller: function (args) {\r\n window.scrollTo(0, 0);\r\n\r\n this.safeTutorialName = decodeURI(m.route.param('tutorial'));\r\n this.mostVisitedLabel = args.mostVisitedLabel;\r\n this.mostVisitedList = args.mostVisitedList;\r\n this.footerSettings = args.footerSettings;\r\n this.titleCssStyle = args.titleCssStyle;\r\n this.getTextWithHighligt = args.getTextWithHighligt;\r\n this.tutorial = args.allTutorials.filter(function (entry) {\r\n return entry.safeTitle === this.safeTutorialName;\r\n }.bind(this))[0];\r\n },\r\n\r\n view: function (controller) {\r\n return m('.tutorial__simple', [\r\n Navigation(controller), // eslint-disable-line compat/compat\r\n Hero({ title: controller.tutorial.title, style: controller.titleCssStyle, activate: controller.tutorial.activateHeader }),\r\n m('.tutorial__content-box.tutorial__simple-content', {\r\n class: [\r\n controller.tutorial.useFullWidth ? 'tutorial__content-box--full-width' : '',\r\n controller.tutorial.useFullWidth && !controller.tutorial.activateHeader ? 'tutorial__content-box--no-radius' : ''\r\n ].join(' ')\r\n },\r\n m.trust(controller.getTextWithHighligt(controller.tutorial.richText))),\r\n controller.footerSettings ? TutorialFooter({ style: controller.titleCssStyle, activate: controller.tutorial.activateFooter, ...controller.footerSettings }) : null\r\n ]);\r\n }\r\n };\r\n });\r\n","defineDs('DanskeSpil/Domain/Tutorial/Scripts/Tutorial.js',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Component',\r\n 'DanskeSpil/Domain/Tutorial/Scripts/Pages/TutorialFrontpage',\r\n 'DanskeSpil/Domain/Tutorial/Scripts/Pages/TutorialSlidepage',\r\n 'DanskeSpil/Domain/Tutorial/Scripts/Pages/TutorialSimplePage',\r\n 'DanskeSpil/Domain/Tutorial/Scripts/Pages/TutorialAvalonPage',\r\n 'DanskeSpil/Domain/Tutorial/Scripts/Pages/TutorialTipsSystemPage',\r\n ], function (Component, TutorialFrontpage, TutorialSlidepage, TutorialSimplePage, TutorialAvalonPage, TutorialTipsSystemPage) {\r\n\r\n Component('tutorial', function (m, ignoredRoute, settings, ignoredProperty, element) {\r\n\r\n var controller = function () {\r\n this.settings = settings;\r\n this.footerSettings = settings.footer;\r\n this.mostVisitedLabel = settings.mostVisitedLabel;\r\n this.searchQuery = m.prop('');\r\n this.filteredTutorials = m.prop([]);\r\n this.mostVisitedList = settings.mostVisitedList;\r\n this.titleCssStyle = settings.titleCssStyle;\r\n\r\n this.categories = settings.categories;\r\n this.slideTutorials = settings.slideTutorials;\r\n this.avalonTutorials = settings.avalonTutorials;\r\n this.tipsSystemTutorial = settings.tipsSystemTutorial;\r\n this.richTextTutorials = settings.richTextTutorials;\r\n\r\n this.jointList = this.categories.concat(this.slideTutorials).concat(this.richTextTutorials).concat(this.avalonTutorials).concat(this.tipsSystemTutorial).sort(function (a, b) {\r\n return a.order - b.order;\r\n });\r\n this.allTutorials = this.categories.reduce(function (accumulator, category) {\r\n accumulator = accumulator.concat(category.slideTutorials).concat(category.richTextTutorials).concat(category.avalonTutorials).concat(category.tipsSystemTutorial);\r\n return accumulator;\r\n }, []).concat(this.slideTutorials).concat(this.avalonTutorials).concat(this.tipsSystemTutorial).concat(this.richTextTutorials);\r\n\r\n // Populate avalon-tutorials with content from DOM\r\n this.allTutorials.forEach(function (tutorial) {\r\n if (tutorial.urlPrefix !== '/avalon') return;\r\n\r\n var content = document.getElementById(tutorial.id);\r\n\r\n if (content) {\r\n tutorial.content = content.cloneNode(true);\r\n content.id = content.id + '-added-to-js';\r\n tutorial.content.classList.remove('u-hidden');\r\n }\r\n });\r\n\r\n this.getTextWithHighligt = function (text) {\r\n var finalText = text;\r\n if (!this.searchQuery()) return finalText;\r\n\r\n var openingTags = Array.from(text.matchAll(new RegExp('|', 'gi'))).map(function (match) {\r\n return match.index;\r\n });\r\n\r\n if (openingTags.length === 0) openingTags.push(-1);\r\n if (closingTags.length === 0) closingTags.push(-1);\r\n\r\n var searchRegexPrep = this.searchQuery().split(' ').join('|');\r\n var searchRegex = new RegExp(searchRegexPrep, 'gmi');\r\n\r\n var match;\r\n var indexOffset = 0;\r\n while ((match = searchRegex.exec(text)) !== null) {\r\n\r\n var closestPreviousOpeningTag = openingTags.reduce(function (prev, current, index) {\r\n var closest = Math.abs(current - match.index) < Math.abs(prev.val - match.index) && current <= match.index ? current : prev.val;\r\n var isNew = closest !== prev.val;\r\n return { val: closest, index: isNew ? index : prev.index };\r\n }, { val: -1, index: -1 });\r\n\r\n if ((match.index < closestPreviousOpeningTag.val || match.index > closingTags[closestPreviousOpeningTag.index]) || closestPreviousOpeningTag.val === -1) {\r\n finalText = finalText.slice(0, match.index + indexOffset) + '' + match[0] + '' + finalText.slice(match.index + match[0].length + indexOffset);\r\n indexOffset += ''.length;\r\n }\r\n }\r\n\r\n return finalText;\r\n }.bind(this);\r\n };\r\n\r\n var rootctrl = new controller();\r\n\r\n m.route.mode = 'hash';\r\n m.route(element, '/', {\r\n '/': m.component(TutorialFrontpage, rootctrl),\r\n '/slide/:tutorial': m.component(TutorialSlidepage, rootctrl),\r\n '/richtext/:tutorial': m.component(TutorialSimplePage, rootctrl),\r\n '/avalon/:tutorial': m.component(TutorialAvalonPage, rootctrl),\r\n '/tipssystem/:ignore': m.component(TutorialTipsSystemPage, rootctrl),\r\n });\r\n });\r\n });\r\n","defineDs('DanskeSpil/Domain/ContentHub/Scripts/EloquaForm', [\r\n 'DanskeSpil/Domain/ContentHub/Scripts/Helpers/ContentHubApi',\r\n], function (Api) {\r\n const form = document.querySelector('.eloqua-form');\r\n if (!form) return;\r\n\r\n const cta = form.querySelector('.eloqua-form__cta');\r\n if (!cta) return;\r\n\r\n const inputFields = form.querySelectorAll('.eloqua-form__form-group input');\r\n const selectFields = form.querySelectorAll('.eloqua-form__form-group select');\r\n\r\n const validateEmail = (email) => {\r\n // Validation from https://emailregex.com/\r\n return /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$/.test(email);\r\n };\r\n\r\n const getFieldValues = () => {\r\n const id = form.getAttribute('data-form-id');\r\n const fieldValues = [...inputFields, ...selectFields]\r\n .filter(({ id, value }) => id && value)\r\n .map(({ type, id, checked, value }) => {\r\n\r\n if (type === 'checkbox') {\r\n return {\r\n id,\r\n value: checked ? 1 : 0\r\n };\r\n }\r\n\r\n return {\r\n id,\r\n value\r\n };\r\n });\r\n\r\n return { id, fieldValues };\r\n };\r\n\r\n const getContext = () => {\r\n return form.getAttribute('data-form-context') || 'dli';\r\n };\r\n\r\n const initialize = () => {\r\n cta.addEventListener('click', async (ev) => {\r\n\r\n ev.preventDefault();\r\n let canSubmit = true;\r\n\r\n inputFields.forEach((input) => {\r\n let inputIsValid = input.checkValidity();\r\n\r\n if (input.type === 'email' && inputIsValid) {\r\n // Make sure our email input field contains a domain.\r\n inputIsValid = validateEmail(input.value);\r\n }\r\n\r\n if (!inputIsValid) {\r\n canSubmit = false;\r\n }\r\n\r\n input.parentElement.classList.toggle('eloqua-form__field--error', !inputIsValid);\r\n });\r\n\r\n selectFields.forEach((select) => {\r\n let selectIsValid = select.checkValidity();\r\n\r\n if (!selectIsValid) {\r\n canSubmit = false;\r\n }\r\n\r\n select.parentElement.classList.toggle('eloqua-form__field--error', !selectIsValid);\r\n });\r\n\r\n if (!canSubmit) return;\r\n\r\n await Api.sendCampaignForm(getFieldValues(), getContext());\r\n window.scrollTo(0, 0);\r\n form.classList.add('eloqua-form--submitted');\r\n });\r\n };\r\n\r\n initialize();\r\n\r\n});\r\n"]}