{"version":3,"sources":["index-frontend.js"],"names":["e","t","n","r","s","o","u","a","require","i","Error","f","exports","call","length","1","module","global","$","jQuery","init","on","selector","scrollTop","elementOffset","scrollContainer","this","parents","distanceFromTop","window","offset","top","parseInt","mainHeaderHeight","outerHeight","blockHeight","animate","animations","medium","self","jquery","2","slick","dots","infinite","speed","autoplay","mobileFirst","autoplaySpeed","arrows","responsive","breakpoint","settings","slidesToShow","slidesToScroll","slick-carousel","3","addClass","removeClass","4","Odometer","odometerOptions","auto","theme","duration","format","isInView","data","el","value","text","html","odometer","5","_addMarker","$marker","map","latlng","google","maps","LatLng","attr","marker","Marker","position","markers","push","infowindow","InfoWindow","content","event","addListener","open","_centerMap","bounds","LatLngBounds","each","lat","lng","extend","setCenter","getCenter","setZoom","fitBounds","$el","$markers","args","find","zoom","center","mapTypeId","MapTypeId","ROADMAP","Map","6","header","mainContent","navbar","scroll","headerHeight","hasClass","setTimeout","css","7","jsSocials","shares","share","label","jssocials","8","9","jqueryInview","logger","GlobalAnalytics","globalAnalytics","slow","fast","_initGlobalJs","utils","image","analytics","bgSrcSet","imageLoading","contactform7","equalHeight","fancybox","blocks","carouselgrid","banneroverlay","components","cardCallout","cardStat","menuHeader","shareJssocials","googleMap","boxClass","animateClass","mobile","live","callback","box","../../blocks/default/banneroverlay/src/js/block","../../blocks/default/carouselgrid/src/js/block","../../components/default/cardCallout/src/js/component","../../components/default/cardStat/src/js/component","../../components/default/googleMap/src/js/component","../../components/default/menuHeader/src/js/component","../../components/default/shareJssocials/src/js/component","./frontend/analytics/contactform7","./frontend/analytics/tracking","./frontend/app","./utils/background-image-srcset","./utils/equal-height","./utils/image-loading","./utils/logger","bootstrap","jquery-inview","utils/fancybox","wow.js","x-link","10","tracking","document","addEventListener","trackEvent","./tracking","11","site","win","doc","body","preInit","links","forms","accordions","$link","category","action","off","trackEventFromDataAttribute","link","$form","submit","selects","closest","$select","$option","select","$accordion","$title","preventDefault","is","json","JSON","parse","Category","Action","Label","virtualPageView","url","title","dataLayer","virtualPageUrl","virtualPageTitle","eventCategory","eventAction","eventLabel","ajaxComplete","12","MSInputMethodContext","documentMode","../common/app","13","_doSrcSet","match","isLast","size","available","split","item","trim","width","currentSize","_handleResize","trigger","14","matchHeight","jquery-match-height","15","defaults","buttons","href","one","@fancyapps/fancybox","16","imagesLoaded","instance","elements","index","imagesloaded","17","setLevel","loglevel","18","undefined","console","info","stuff","fn","div","buttonStr","focusStr","$pressed","closeExisting","loop","gutter","keyboard","preventCaptionOverlap","infobar","smallBtn","toolbar","idleTime","protect","modal","preload","ajax","iframe","tpl","scrolling","video","autoStart","defaultType","animationEffect","animationDuration","zoomOpacity","transitionEffect","transitionDuration","slideClass","baseClass","baseTpl","spinnerTpl","errorTpl","btnTpl","download","close","arrowLeft","arrowRight","parentEl","hideScrollbar","autoFocus","backFocus","trapFocus","fullScreen","touch","vertical","momentum","hash","media","slideShow","thumbs","hideOnClose","axis","wheel","onInit","noop","beforeLoad","afterLoad","beforeShow","afterShow","beforeClose","afterClose","onActivate","onDeactivate","clickContent","current","type","clickSlide","clickOutside","dblclickContent","dblclickSlide","dblclickOutside","lang","i18n","en","CLOSE","NEXT","PREV","ERROR","PLAY_START","PLAY_STOP","FULL_SCREEN","THUMBS","DOWNLOAD","SHARE","ZOOM","de","$W","$D","called","requestAFrame","requestAnimationFrame","webkitRequestAnimationFrame","mozRequestAnimationFrame","oRequestAnimationFrame","cancelAFrame","cancelAnimationFrame","webkitCancelAnimationFrame","mozCancelAnimationFrame","oCancelAnimationFrame","id","clearTimeout","transitionEnd","createElement","transitions","transition","OTransition","MozTransition","WebkitTransition","style","forceRedraw","offsetHeight","mergeOpts","opts1","opts2","rez","key","isArray","FancyBox","opts","isPlainObject","isMobile","currIndex","prevIndex","prevPos","currPos","firstRun","group","slides","addContent","prototype","$container","firstItemOpts","getInstance","scrollHeight","innerHeight","append","innerWidth","documentElement","clientWidth","translate","replace","appendTo","$refs","container","forEach","activate","jumpTo","obj","str","arr","items","makeArray","$item","found","src","srcParts","options","$orig","contentType","charAt","inArray","$thumb","$trigger","thumb","caption","apply","shift","filter","Object","keys","updateControls","Thumbs","isActive","create","focus","addEvents","removeEvents","stopPropagation","previous","next","isScaledDown","originalEvent","requestId","update","stage","hide","show","keycode","keyCode","which","ctrlKey","altKey","shiftKey","target","idleSecondsCounter","isIdle","showControls","idleInterval","setInterval","isDragging","hideControls","clearInterval","pos","isMoved","slidePos","stagePos","prop","diff","groupLen","isClosing","isAnimating","createSlide","forcedDuration","isNumeric","$slide","loadSlide","getTranslate","slide","stop","isComplete","left","className","join","leftPos","setTranslate","transform","opacity","complete","isLoaded","revealContent","updateSlide","scaleToActual","x","y","imgPos","posX","posY","scaleX","scaleY","$content","canvasWidth","canvasHeight","height","newImgWidth","newImgHeight","hasError","updateCursor","SlideShow","scaleToFit","end","getFitPos","maxWidth","maxHeight","minRatio","aspectRatio","parseFloat","Math","min","floor","ratio","adjustCaption","adjustLayout","add","navigation","toggleClass","get","clientHeight","centerSlide","siblings","parent","children","abs","nextWidth","nextHeight","canPan","isZoomable","Guestures","isFunction","fitPos","ajaxLoad","isLoading","setImage","setIframe","setContent","videoFormat","setError","showLoading","success","textStatus","error","jqXHR","abort","ghost","$img","$image","checkSrcset","onerror","remove","$ghost","onload","setBigImage","temp","pxRatio","windowWidth","srcset","devicePixelRatio","ret","substring","postfix","sort","b","j","img","sizes","resolveImageSlideSize","naturalWidth","naturalHeight","round","max","hideLoading","readyState","imgWidth","imgHeight","$iframe","Date","getTime","isReady","$body","frameWidth","frameHeight","contents","ignore","max-width","ceil","outerWidth","unbind","empty","isRevealed","hasOwnProperty","$placeholder","insertAfter","after","$smallBtn","wrap","first","wrapInner","$spinner","fadeIn","button","$clone","preventOverlap","$caption","captionH","clone","eq","marginBottom","inlinePadding","actualPadding","disableLayoutFix","effect","effectClassName","start","getThumbPos","thumbPos","btw","brw","bbw","blw","elem","elemCenter","ownerDocument","getBoundingClientRect","offsetWidth","elementFromPoint","Document","exitFullscreen","webkitExitFullscreen","scrollLeft","prev","focusableItems","focusedItemIndex","focusableStr","activeElement","isVisible","d","done","cleanUp","domRect","$focus","scrollX","scrollY","name","Array","slice","arguments","unshift","hasHiddenControls","andCaption","toggleControls","version","command","all","destroy","test","navigator","userAgent","use3d","getComputedStyle","getPropertyValue","props","to","leaveAnimationName","from","propertyName","callCallback","_run","$target","isDefaultPrevented","currentTarget","params","param","indexOf","youtube","matcher","autohide","fs","rel","hd","wmode","enablejsapi","html5","paramPlace","vimeo","show_title","show_byline","show_portrait","fullscreen","instagram","gmap_place","gmap_search","urlParams","paramObj","provider","providerName","providerOpts","m","p","decodeURIComponent","p1","origSrc","contentSource","VideoAPILoader","class","loading","loaded","load","vendor","script","_this","onYouTubeIframeAPIReady","appendChild","YT","Player","events","onStateChange","Vimeo","afterShow.fb","getPointerXY","result","touches","changedTouches","pageX","pageY","clientX","clientY","distance","point2","point1","what","sqrt","pow","isClickable","onclick","atts","attributes","nodeName","substr","isScrollable","overflowY","overflowX","horizontal","scrollWidth","$bg","bg","$stage","proxy","tapped","ontouchstart","isTouchDevice","realPoints","startPoints","startEvent","canTap","isPanning","isSwiping","isZooming","isScrolling","startTime","distanceX","distanceY","contentLastPos","contentStartPos","sliderStartPos","onscroll","centerPointStartX","centerPointStartY","percentageOfImageAtPinchPointX","percentageOfImageAtPinchPointY","startDistanceBetweenFingers","removeEventListener","ontouchmove","newPoints","onSwipe","onPan","onZoom","ontouchend","angle","swiping","sliderLastPos","atan2","PI","transition-duration","limitMovement","minTranslateX","minTranslateY","maxTranslateX","maxTranslateY","newOffsetX","newOffsetY","currentOffsetX","currentOffsetY","currentWidth","currentHeight","limitPosition","newWidth","newHeight","pinchRatio","translateFromZoomingX","translateFromZoomingY","centerPointEndX","centerPointEndY","translateFromTranslatingX","newPos","panning","zooming","endPoints","dMs","onTap","velocityX","velocityY","endPanning","endZooming","endSwiping","len","canAdvance","reset","process","prefix","tapX","tapY","where","addBack","progress","timer","$button","toggle","$progress","inner","set","force","clear","removeAttr","onInit.fb","beforeShow.fb","afterKeydown.fb","keypress","beforeClose.fb onDeactivate.fb","hidden","fnMap","val","FullScreen","request","requestFullscreen","ALLOW_KEYBOARD_INPUT","exit","isFullscreen","Boolean","fullscreenElement","enabled","fullscreenEnabled","fullscreenchange","beforeClose.fb","CLASS","CLASS_ACTIVE","FancyThumbs","$grid","$list","list","innerHTML","that","currentHash","location","entityMap","encodeURIComponent","&","<",">","\"","'","/","`","=","String","shareInstance","shareCurrent","click","parseUrl","pop","gallery","triggerFromUrl","escapeSelector","getGalleryID","sel","ch","asCodePoint","charCodeAt","toString","origHash","hashTimer","history","pathname","search","hasCreatedHistory","back","replaceState","fb","reverse","tmp","prevTime","currTime","deltaY","deltaX","wheelDelta","detail","19","factory","Popper","_defineProperties","descriptor","enumerable","configurable","writable","defineProperty","_createClass","Constructor","protoProps","staticProps","_objectSpread","source","ownKeys","getOwnPropertySymbols","concat","sym","getOwnPropertyDescriptor","TRANSITION_END","transitionEndEmulator","Util","triggerTransitionEnd","getUID","random","getElementById","getSelectorFromElement","element","getAttribute","hrefAttr","querySelector","err","getTransitionDurationFromElement","transitionDelay","floatTransitionDuration","floatTransitionDelay","reflow","supportsTransitionEnd","isElement","nodeType","typeCheckConfig","componentName","config","configTypes","property","expectedTypes","valueType","toLowerCase","RegExp","toUpperCase","findShadowRoot","attachShadow","getRootNode","ShadowRoot","parentNode","root","emulateTransitionEnd","special","bindType","delegateType","handle","handleObj","handler","NAME","DATA_KEY","EVENT_KEY","JQUERY_NO_CONFLICT","Event","CLOSED","CLICK_DATA_API","ClassName","Alert","_element","_proto","rootElement","_getRootElement","_triggerCloseEvent","_removeElement","dispose","removeData","closeEvent","_destroyElement","detach","_jQueryInterface","$element","_handleDismiss","alertInstance","noConflict","NAME$1","DATA_KEY$1","EVENT_KEY$1","DATA_API_KEY$1","JQUERY_NO_CONFLICT$1","ClassName$1","Selector$1","Event$1","FOCUS_BLUR_DATA_API","Button","triggerChangeEvent","addAriaPressed","input","checked","classList","contains","hasAttribute","setAttribute","NAME$2","DATA_KEY$2","EVENT_KEY$2","DATA_API_KEY$2","JQUERY_NO_CONFLICT$2","Default","interval","pause","DefaultType","Direction","Event$2","SLIDE","SLID","KEYDOWN","MOUSEENTER","MOUSELEAVE","TOUCHSTART","TOUCHMOVE","TOUCHEND","POINTERDOWN","POINTERUP","DRAG_START","LOAD_DATA_API","ClassName$2","Selector$2","PointerType","TOUCH","PEN","Carousel","_items","_interval","_activeElement","_isPaused","_isSliding","touchTimeout","touchStartX","touchDeltaX","_config","_getConfig","_indicatorsElement","_touchSupported","maxTouchPoints","_pointerEvent","PointerEvent","MSPointerEvent","_addEventListeners","_slide","nextWhenVisible","cycle","visibilityState","bind","activeIndex","_getItemIndex","direction","_handleSwipe","absDeltax","_this2","_keydown","_addTouchEventListeners","_this3","pointerType","querySelectorAll","tagName","_getItemByDirection","isNextDirection","isPrevDirection","lastItemIndex","itemIndex","_triggerSlideEvent","relatedTarget","eventDirectionName","targetIndex","fromIndex","slideEvent","_setActiveIndicatorElement","indicators","nextIndicator","directionalClassName","orderClassName","_this4","activeElementIndex","nextElement","nextElementIndex","isCycling","slidEvent","nextElementInterval","defaultInterval","TypeError","ride","_dataApiClickHandler","slideIndex","carousels","$carousel","NAME$3","DATA_KEY$3","EVENT_KEY$3","JQUERY_NO_CONFLICT$3","Default$1","DefaultType$1","Event$3","SHOW","SHOWN","HIDE","HIDDEN","ClassName$3","Dimension","Selector$3","Collapse","_isTransitioning","_triggerArray","toggleList","filterElement","foundElem","_selector","_parent","_getParent","_addAriaAndCollapsedClass","actives","activesData","not","dimension","_getDimension","setTransitioning","scrollSize","triggerArrayLength","isTransitioning","_getTargetFromElement","triggerArray","isOpen","$this","selectors","NAME$4","DATA_KEY$4","EVENT_KEY$4","DATA_API_KEY$4","JQUERY_NO_CONFLICT$4","REGEXP_KEYDOWN","ARROW_UP_KEYCODE","Event$4","CLICK","KEYDOWN_DATA_API","KEYUP_DATA_API","ClassName$4","Selector$4","AttachmentMap","Default$2","flip","boundary","reference","display","DefaultType$2","Dropdown","_popper","_menu","_getMenuElement","_inNavbar","_detectNavbar","disabled","_getParentFromElement","_clearMenus","showEvent","referenceElement","_getPopperConfig","hideEvent","scheduleUpdate","constructor","_getPlacement","$parentDropdown","placement","_getOffset","offsets","popperConfig","modifiers","preventOverflow","boundariesElement","applyStyle","toggles","context","clickEvent","dropdownMenu","_dataApiKeydownHandler","NAME$5","DATA_KEY$5","EVENT_KEY$5","JQUERY_NO_CONFLICT$5","Default$3","backdrop","DefaultType$3","Event$5","FOCUSIN","RESIZE","CLICK_DISMISS","KEYDOWN_DISMISS","MOUSEUP_DISMISS","MOUSEDOWN_DISMISS","ClassName$5","Selector$5","Modal","_dialog","_backdrop","_isShown","_isBodyOverflowing","_ignoreBackdropClick","_scrollbarWidth","_checkScrollbar","_setScrollbar","_adjustDialog","_setEscapeEvent","_setResizeEvent","_showBackdrop","_showElement","_hideModal","htmlElement","handleUpdate","Node","ELEMENT_NODE","removeAttribute","_enforceFocus","transitionComplete","shownEvent","has","_this5","_this6","_this7","_resetAdjustments","_resetScrollbar","_removeBackdrop","_this8","backdropTransitionDuration","callbackRemove","_backdropTransitionDuration","isModalOverflowing","paddingLeft","paddingRight","rect","right","_getScrollbarWidth","_this9","fixedContent","stickyContent","calculatedPadding","actualMargin","marginRight","calculatedMargin","padding","margin","scrollDiv","scrollbarWidth","removeChild","_this10","uriAttrs","DefaultWhitelist","*","area","br","col","code","em","hr","h1","h2","h3","h4","h5","h6","li","ol","pre","small","span","sub","sup","strong","ul","SAFE_URL_PATTERN","DATA_URL_PATTERN","sanitizeHtml","unsafeHtml","whiteList","sanitizeFn","createdDocument","DOMParser","parseFromString","whitelistKeys","_loop","elName","attributeList","whitelistedAttributes","allowedAttributeList","attrName","nodeValue","regExp","attrRegex","l","allowedAttribute","NAME$6","DATA_KEY$6","EVENT_KEY$6","JQUERY_NO_CONFLICT$6","CLASS_PREFIX","BSCLS_PREFIX_REGEX","DISALLOWED_ATTRIBUTES","DefaultType$4","animation","template","delay","fallbackPlacement","sanitize","AttachmentMap$1","AUTO","TOP","RIGHT","BOTTOM","LEFT","Default$4","HoverState","Event$6","INSERTED","FOCUSOUT","ClassName$6","Selector$6","Trigger","Tooltip","_isEnabled","_timeout","_hoverState","_activeTrigger","tip","_setListeners","enable","disable","toggleEnabled","dataKey","_getDelegateConfig","_isWithActiveTrigger","_enter","_leave","getTipElement","isWithContent","shadowRoot","isInTheDom","tipId","attachment","_getAttachment","addAttachmentClass","_getContainer","behavior","arrow","onCreate","originalPlacement","_handlePopperPlacementChange","onUpdate","_fixTransition","prevHoverState","_cleanTipClass","getTitle","setElementContent","eventIn","eventOut","_fixTitle","titleType","dataAttributes","dataAttr","$tip","tabClass","popperData","popperInstance","popper","initConfigAnimation","NAME$7","DATA_KEY$7","EVENT_KEY$7","JQUERY_NO_CONFLICT$7","CLASS_PREFIX$1","BSCLS_PREFIX_REGEX$1","Default$5","DefaultType$5","ClassName$7","Selector$7","Event$7","Popover","_Tooltip","subClass","superClass","__proto__","_getContent","NAME$8","DATA_KEY$8","EVENT_KEY$8","JQUERY_NO_CONFLICT$8","Default$6","method","DefaultType$6","Event$8","ACTIVATE","SCROLL","ClassName$8","Selector$8","OffsetMethod","ScrollSpy","_scrollElement","_offsets","_targets","_activeTarget","_scrollHeight","_process","refresh","autoMethod","offsetMethod","offsetBase","_getScrollTop","_getScrollHeight","targetSelector","targetBCR","pageYOffset","_getOffsetHeight","maxScroll","_activate","_clear","queries","node","scrollSpys","$spy","DATA_KEY$9","EVENT_KEY$9","JQUERY_NO_CONFLICT$9","Event$9","ClassName$9","Selector$9","Tab","listElement","itemSelector","hiddenEvent","_transitionComplete","active","dropdownChild","dropdownElement","dropdownToggleList","NAME$a","DATA_KEY$a","EVENT_KEY$a","JQUERY_NO_CONFLICT$a","Event$a","ClassName$a","DefaultType$7","Default$7","Selector$a","Toast","withoutTimeout","_close","Scrollspy","define","amd","popper.js","20","EvEmitter","proto","eventName","listener","_events","listeners","once","onceEvents","_onceEvents","splice","emitEvent","onceListeners","allOff","21","arraySlice","ImagesLoaded","onAlways","queryElem","getImages","jqDeferred","Deferred","check","images","addElementImages","addImage","background","addElementBackgroundImages","elementNodeTypes","childImgs","child","LoadingImage","Background","Image","reURL","matches","exec","backgroundImage","addBackground","loadingImage","onProgress","message","progressedCount","hasAnyBroken","notify","debug","log","jqMethod","getIsImageComplete","confirm","proxyImage","handleEvent","unbindEvents","makeJQueryPlugin","promise","ev-emitter","22","viewportSize","viewportOffset","inviewObjects","w","checkInView","mode","domObject","$elements","inviewObject","compatMode","support","boxModel","pageXOffset","elementSize","inView","inview","guid","attachEvent","23","_parse","_rows","lastTop","rows","$that","lastRow","_parseOptions","byRow","_previousResizeWidth","_updateTimeout","_groups","_apply","_throttle","_maintainScroll","_beforeUpdate","_afterUpdate","htmlHeight","$hiddenParents","padding-top","padding-bottom","margin-top","margin-bottom","border-top-width","border-bottom-width","overflow","row","$row","targetHeight","verticalPadding","_applyDataApi","groups","groupId","_update","throttle","24","noGlobal","isWindow","getProto","getPrototypeOf","class2type","hasOwn","fnToString","ObjectFunctionString","preservedScriptAttributes","nonce","noModule","DOMEval","head","toType","rtrim","isArrayLike","toArray","num","pushStack","elems","merge","prevObject","last","copy","copyIsArray","deep","expando","msg","Ctor","isEmptyObject","globalEval","results","second","grep","invert","callbackExpect","arg","Symbol","iterator","Sizzle","funescape","_","escaped","escapedWhitespace","high","fromCharCode","unloadHandler","setDocument","Expr","getText","isXML","tokenize","compile","outermostContext","sortInput","hasDuplicate","docElem","documentIsHTML","rbuggyQSA","rbuggyMatches","preferredDoc","dirruns","classCache","createCache","tokenCache","compilerCache","nonnativeSelectorCache","sortOrder","push_native","booleans","whitespace","identifier","pseudos","rwhitespace","rcomma","rcombinators","rdescend","rpseudo","ridentifier","matchExpr","ID","TAG","ATTR","PSEUDO","CHILD","bool","needsContext","rhtml","rinputs","rheader","rnative","rquickExpr","rsibling","runescape","rcssescape","fcssescape","inDisabledFieldset","addCombinator","dir","childNodes","els","seed","nid","newSelector","newContext","getElementsByTagName","getElementsByClassName","qsa","toSelector","testContext","qsaError","cache","cacheLength","markFunction","assert","addHandle","attrs","attrHandle","siblingCheck","cur","sourceIndex","nextSibling","createInputPseudo","createButtonPseudo","createDisabledPseudo","isDisabled","createPositionalPseudo","argument","matchIndexes","namespace","namespaceURI","hasCompare","subWindow","defaultView","createComment","getById","getElementsByName","attrId","getAttributeNode","tag","matchesSelector","webkitMatchesSelector","mozMatchesSelector","oMatchesSelector","msMatchesSelector","disconnectedMatch","compareDocumentPosition","adown","bup","compare","sortDetached","aup","ap","bp","expr","specified","escape","uniqueSort","duplicates","detectDuplicates","sortStable","textContent","firstChild","createPseudo","relative"," ","+","~","preFilter","excess","unquoted","nodeNameSelector","pattern","operator","simple","forward","ofType","xml","uniqueCache","outerCache","nodeIndex","useCache","lastChild","uniqueID","pseudo","setFilters","idx","matched","unmatched","elemLang","hasFocus","tabIndex","selected","selectedIndex","even","odd","lt","gt","radio","checkbox","file","password","tokens","combinator","base","skip","checkNonElements","doneName","oldCache","newCache","elementMatcher","matchers","condense","newUnmatched","mapped","setMatcher","postFilter","postFinder","postSelector","preMap","postMap","preexisting","contexts","multipleContexts","matcherIn","matcherOut","matcherFromTokens","checkContext","leadingRelative","implicitRelative","matchContext","matchAnyContext","matcherFromGroupMatchers","elementMatchers","setMatchers","superMatcher","outermost","matchedCount","setMatched","contextBackup","byElement","dirrunsUnique","bySet","filters","parseOnly","soFar","preFilters","cached","token","compiled","defaultValue","unique","isXMLDoc","until","truncate","rneedsContext","rsingleTag","winnow","qualifier","rootjQuery","ready","parseHTML","rparentsprev","guaranteedUnique","sibling","targets","prevAll","parentsUntil","nextAll","nextUntil","prevUntil","contentDocument","rnothtmlwhite","Identity","v","Thrower","ex","adoptValue","resolve","reject","noValue","fail","then","Callbacks","object","flag","fire","locked","fired","firing","queue","firingIndex","memory","stopOnFalse","lock","fireWith","func","tuples","state","always","deferred","catch","pipe","fns","newDefer","tuple","returned","onFulfilled","onRejected","maxDepth","depth","mightThrow","notifyWith","resolveWith","exceptionHook","stackTrace","rejectWith","getStackHook","stateString","when","singleValue","updateFunc","resolveContexts","resolveValues","remaining","master","rerrorNames","stack","warn","readyException","readyList","completed","readyWait","wait","doScroll","access","chainable","emptyGet","raw","bulk","rmsPrefix","rdashAlpha","fcamelCase","letter","camelCase","string","acceptData","owner","Data","uid","hasData","dataPriv","dataUser","rbrace","rmultiDash","_data","_removeData","dequeue","startLength","hooks","_queueHooks","setter","clearQueue","count","defer","pnum","rcssNum","cssExpand","isAttached","composed","swap","old","isHiddenWithinTree","adjustCSS","valueParts","tween","adjusted","scale","maxIterations","currentValue","initial","unit","cssNumber","initialInUnit","defaultDisplayMap","showHide","values","rcheckableType","rtagName","rscriptType","wrapMap","option","thead","tr","td","_default","getAll","setGlobalEval","refElements","optgroup","tbody","tfoot","colgroup","th","buildFragment","scripts","selection","ignored","attached","fragment","createDocumentFragment","nodes","htmlPrefilter","createTextNode","checkClone","cloneNode","noCloneChecked","rkeyEvent","rmouseEvent","rtypenamespace","returnTrue","returnFalse","expectSync","safeActiveElement","types","origFn","leverageNative","notAsync","saved","isTrigger","stopImmediatePropagation","handleObjIn","eventHandle","handlers","namespaces","origType","elemData","triggered","dispatch","delegateCount","setup","mappedTypes","origCount","teardown","removeEvent","nativeEvent","handlerQueue","fix","delegateTarget","preDispatch","isPropagationStopped","isImmediatePropagationStopped","rnamespace","postDispatch","matchedHandlers","matchedSelectors","addProp","hook","noBubble","beforeunload","returnValue","defaultPrevented","timeStamp","now","isSimulated","bubbles","cancelable","eventPhase","metaKey","view","char","charCode","offsetX","offsetY","pointerId","screenX","screenY","targetTouches","toElement","blur","mouseenter","mouseleave","pointerenter","pointerleave","orig","related","rxhtmlTag","rnoInnerhtml","rchecked","rcleanScript","manipulationTarget","disableScript","restoreScript","cloneCopyEvent","dest","pdataOld","pdataCur","udataOld","udataCur","domManip","collection","hasScripts","iNoClone","valueIsFunction","_evalUrl","keepData","cleanData","dataAndEvents","deepDataAndEvents","srcElements","destElements","inPage","prepend","insertBefore","before","replaceWith","replaceChild","prependTo","replaceAll","original","insert","pixelPositionVal","boxSizingReliableVal","scrollboxSizeVal","pixelBoxStylesVal","reliableMarginLeftVal","rnumnonpx","getStyles","opener","rboxStyle","computeStyleTests","cssText","divStyle","roundPixelMeasures","marginLeft","measure","curCSS","computed","minWidth","pixelBoxStyles","addGetHookIf","conditionFn","hookFn","backgroundClip","clearCloneStyle","boxSizingReliable","pixelPosition","reliableMarginLeft","scrollboxSize","cssPrefixes","emptyStyle","vendorProps","finalPropName","final","cssProps","capName","vendorPropName","rdisplayswap","rcustomProp","cssShow","visibility","cssNormalTransform","letterSpacing","fontWeight","setPositiveNumber","subtract","boxModelAdjustment","isBorderBox","styles","computedVal","extra","delta","getWidthOrHeight","valueIsBorderBox","offsetProp","getClientRects","Tween","easing","cssHooks","animationIterationCount","columnCount","fillOpacity","flexGrow","flexShrink","gridArea","gridColumn","gridColumnEnd","gridColumnStart","gridRow","gridRowEnd","gridRowStart","lineHeight","order","orphans","widows","zIndex","origName","isCustomProp","setProperty","isFinite","scrollboxSizeBuggy","border","suffix","expand","expanded","parts","propHooks","run","percent","eased","step","fx","linear","swing","cos","fxNow","inProgress","opt","rfxtypes","rrun","schedule","tick","createFxNow","genFx","includeWidth","createTween","Animation","tweeners","properties","stopped","prefilters","currentTime","tweens","specialEasing","originalProperties","originalOptions","gotoEnd","propFilter","anim","tweener","oldfire","propTween","restoreDisplay","isBox","dataShow","unqueued","prefilter","speeds","fadeTo","doAnimation","optall","finish","stopQueue","timers","cssFn","slideDown","slideUp","slideToggle","fadeOut","fadeToggle","time","timeout","checkOn","optSelected","radioValue","boolHook","nType","attrHooks","attrNames","getter","lowercaseName","rfocusable","rclickable","stripAndCollapse","getClass","classesToArray","removeProp","propFix","tabindex","for","classes","curValue","clazz","finalValue","stateVal","isValidValue","classNames","rreturn","valHooks","optionSet","focusin","stopPropagationCallback","rfocusMorph","onlyHandlers","bubbleType","ontype","lastElement","eventPath","parentWindow","simulate","triggerHandler","attaches","rquery","parseXML","rbracket","rCRLF","rsubmitterTypes","rsubmittable","buildParams","traditional","valueOrFunction","serialize","serializeArray","r20","rhash","rantiCache","rheaders","rnoContent","rprotocol","transports","allTypes","originAnchor","addToPrefiltersOrTransports","structure","dataTypeExpression","dataType","dataTypes","inspectPrefiltersOrTransports","inspected","seekingTransport","inspect","prefilterOrFactory","dataTypeOrTransport","ajaxExtend","flatOptions","ajaxSettings","lastModified","etag","isLocal","protocol","processData","async","accepts","responseFields","converters","* text","text html","text json","text xml","ajaxSetup","ajaxPrefilter","ajaxTransport","transport","cacheURL","responseHeadersString","responseHeaders","timeoutTimer","urlAnchor","fireGlobals","uncached","callbackContext","globalEventContext","completeDeferred","statusCode","requestHeaders","requestHeadersNames","strAbort","getResponseHeader","getAllResponseHeaders","setRequestHeader","overrideMimeType","mimeType","status","statusText","finalText","crossDomain","host","hasContent","ifModified","headers","beforeSend","send","nativeStatusText","responses","isSuccess","response","modified","ct","finalDataType","firstDataType","ajaxHandleResponses","conv2","conv","dataFilter","throws","ajaxConvert","getJSON","getScript","text script","wrapAll","firstElementChild","htmlIsFunction","unwrap","visible","xhr","XMLHttpRequest","xhrSuccessStatus","0","1223","xhrSupported","cors","errorCallback","username","xhrFields","onabort","ontimeout","onreadystatechange","responseType","responseText","binary","scriptAttrs","charset","scriptCharset","evt","oldCallbacks","rjsonp","jsonp","jsonpCallback","originalSettings","callbackName","overwritten","responseContainer","jsonProp","createHTMLDocument","implementation","keepScripts","parsed","animated","setOffset","curPosition","curLeft","curCSSTop","curTop","curOffset","curCSSLeft","curElem","using","offsetParent","parentOffset","scrollTo","Height","Width","","defaultExtra","funcName","hover","fnOver","fnOut","delegate","undelegate","holdReady","hold","parseJSON","isNaN","_jQuery","_$","25","getOrApply","JSSOCIALS_DATA_KEY","IMG_SRC_REGEX","URL_PARAMS_REGEX","MEASURES","G","M","K","Socials","_$element","_init","_render","shareIn","showLabel","screenWidth","showCount","smallScreenWidth","largeScreenWidth","resizeTimeout","elementClass","sharesClass","shareClass","shareButtonClass","shareLinkClass","shareLogoClass","shareLabelClass","shareLinkCountClass","shareCountBoxClass","shareCountClass","shareZeroCountClass","_initDefaults","_initShares","_attachWindowResizeCallback","shareConfig","renderer","_windowResizeHandler","_detachWindowResizeCallback","_resizeTimer","_defineOptionsByScreen","_$shares","_renderShares","_screenWidth","_showLabel","_showCount","_renderShare","_createShare","$result","$shareLink","_createShareLink","isInsideCount","$countContainer","_renderShareCount","_getShareStrategy","shareUrl","_getShareUrl","_createShareLogo","_createShareLabel","shareStrategies","_formatShareUrl","logo","$count","_loadCount","countUrl","_getCountUrl","handleSuccess","_getCountValue","getCount","_formatNumber","number","toFixed","field","_passOptionToShares","optionName","_normalizeShare","shareOption","methodArgs","methodResult","popup","blank","setDefaults","component","email","twitter","facebook","share_count","vkontakte","googleplus","linkedin","pinterest","stumbleupon","views","telegram","whatsapp","line","viber","pocket","messenger","rss","26","definition","undefinedType","isIE","logMethods","bindMethod","methodName","Function","traceForIE","trace","replaceLoggingMethods","level","loggerName","methodFactory","defaultMethodFactory","Logger","defaultLevel","currentLevel","storageKey","getPersistedLevel","storedLevel","localStorage","cookie","levels","TRACE","DEBUG","INFO","WARN","SILENT","getLevel","persist","levelNum","levelName","persistLevelIfPossible","setDefaultLevel","enableAll","disableAll","initialLevel","defaultLogger","_loggersByName","getLogger","_log","getLoggers","27","FORMAT_PARSER","MutationObserver","TRANSITION_SUPPORT","createFromHTML","fractionalPart","transitionCheckStyles","wrapJQuery","_jQueryWrapped","_old","_ref","_ref1","__slice","k","_base","_i","_len","_ref2","MAX_VALUES","resetFormat","cleanValue","renderInside","render","_ref3","inside","outerHTML","innerText","_error","watchForMutations","webkitTransition","mozTransition","oTransition","msRequestAnimationFrame","WebKitMutationObserver","MozMutationObserver","createEvent","initEvent","dispatchEvent","performance","precision","_results","observer","mutations","newVal","watchMutations","startWatchingMutations","observe","childList","stopWatchingMutations","disconnect","radix","bindTransitionEnd","renderEnqueued","transitionEndBound","fractional","repeating","cls","newClasses","ribbons","formatDigits","digit","valueDigit","wholePart","_j","_len1","digits","formatFunction","renderDigit","insertDigit","addSpacer","addDigit","newValue","chr","extraClasses","spacer","resetted","animateSlide","animateCount","fraction","getDigitCount","getFractionalDigitCount","parser","resetDigits","boosted","digitCount","dist","fractionalCount","frame","frames","incr","mark","numEl","oldValue","_k","_l","_len2","_m","createEventObject","28","isBrowser","timeoutDuration","longerTimeoutBrowsers","debounce","Promise","scheduled","functionToCheck","getStyleComputedProperty","getParentNode","getScrollParent","_getStyleComputedProp","getReferenceNode","referenceNode","isIE11","isIE10","getOffsetParent","noOffsetParent","nextElementSibling","getRoot","findCommonOffsetParent","element1","element2","DOCUMENT_POSITION_FOLLOWING","range","createRange","setStart","setEnd","commonAncestorContainer","element1root","getScroll","upperSide","scrollingElement","getBordersSize","sideA","sideB","getSize","computedStyle","getWindowSizes","createClass","defineProperties","_extends","assign","getClientRect","bottom","horizScrollbar","vertScrollbar","getOffsetRectRelativeToArbitraryNode","fixedPosition","isHTML","childrenRect","parentRect","scrollParent","borderTopWidth","borderLeftWidth","marginTop","modifier","includeScroll","getFixedPositionOffsetParent","parentElement","getBoundaries","boundaries","excludeScroll","relativeOffset","getViewportOffsetRectRelativeToArtbitraryNode","boundariesNode","isFixed","_getWindowSizes","isPaddingNumber","computeAutoPlacement","refRect","rects","sortedAreas","filteredAreas","computedPlacement","variation","getReferenceOffsets","getOuterSizes","getOppositePlacement","getPopperOffsets","referenceOffsets","popperRect","popperOffsets","isHoriz","mainSide","secondarySide","measurement","secondaryMeasurement","runModifiers","ends","findIndex","isModifierEnabled","modifierName","some","getSupportedPropertyName","prefixes","upperProp","toCheck","getWindow","setupEventListeners","updateBound","passive","scrollElement","attachToScrollParents","scrollParents","isBody","eventsEnabled","disableEventListeners","setStyles","getRoundedOffsets","shouldRound","noRound","_data$offsets","referenceWidth","popperWidth","isVertical","isVariation","horizontalToInteger","verticalToInteger","isFirefox","isModifierRequired","requestingName","requestedName","requesting","isRequired","_requesting","requested","placements","validPlacements","clockwise","counter","BEHAVIORS","parseOffset","basePlacement","useHeight","fragments","frag","divider","splitRegex","ops","op","mergeWithPrevious","reduce","toValue","index2","Defaults","positionFixed","removeOnDestroy","shiftvariation","side","shiftOffsets","transformProp","popperStyles","priority","primary","escapeWithReference","secondary","keepTogether","opSide","_data$offsets$arrow","arrowElement","sideCapitalized","altSide","arrowElementSize","popperMarginSide","popperBorderSide","sideValue","flipped","placementOpposite","flipOrder","refOffsets","overlapsRef","overflowsLeft","overflowsRight","overflowsTop","overflowsBottom","overflowsBoundaries","flippedVariationByRef","flipVariations","flippedVariationByContent","flipVariationsByContent","flippedVariation","subtractLength","bound","computeStyle","legacyGpuAccelerationOption","gpuAcceleration","offsetParentRect","prefixedProperty","willChange","invertTop","invertLeft","x-placement","arrowStyles","onLoad","modifierOptions","isDestroyed","isCreated","classCallCheck","enableEventListeners","Utils","PopperUtils","29","instanceUid","Slick","dataSettings","accessibility","adaptiveHeight","appendArrows","appendDots","asNavFor","prevArrow","nextArrow","centerMode","centerPadding","cssEase","customPaging","slider","dotsClass","draggable","edgeFriction","fade","focusOnSelect","focusOnChange","initialSlide","lazyLoad","pauseOnHover","pauseOnFocus","pauseOnDotsHover","respondTo","rtl","slidesPerRow","swipe","swipeToSlide","touchMove","touchThreshold","useCSS","useTransform","variableWidth","verticalSwiping","waitForAnimate","initials","animating","dragging","autoPlayTimer","currentDirection","currentLeft","currentSlide","$dots","listWidth","listHeight","loadIndex","$nextArrow","$prevArrow","slideCount","slideWidth","$slideTrack","$slides","sliding","slideOffset","swipeLeft","touchObject","transformsEnabled","unslicked","activeBreakpoint","animType","animProp","breakpoints","breakpointSettings","cssTransitions","focussed","interrupted","paused","positionProp","rowCount","shouldClick","$slider","$slidesCache","transformType","transitionType","visibilityChange","windowTimer","mozHidden","webkitHidden","autoPlay","autoPlayClear","autoPlayIterator","changeSlide","clickHandler","selectHandler","setPosition","swipeHandler","dragHandler","keyHandler","htmlExpr","registerBreakpoints","activateADA","aria-hidden","addSlide","slickAdd","markup","addBefore","unload","reinit","animateHeight","targetLeft","animProps","animStart","applyTransition","disableTransition","getNavTarget","slideHandler","slideTo","buildArrows","aria-disabled","buildDots","dot","getDotCount","buildOut","setupInfinite","updateDots","setSlideClasses","buildRows","c","newSlides","numOfSlides","originalSlides","slidesPerSection","checkResponsive","forceUpdate","targetBreakpoint","respondToWidth","triggerBreakpoint","sliderWidth","unslick","dontAnimate","indexOffset","checkNavigable","navigables","prevNavigable","getNavigableIndexes","cleanUpEvents","interrupt","cleanUpSlideEvents","orientationChange","resize","cleanUpRows","fadeSlide","fadeSlideOut","filterSlides","slickFilter","focusHandler","$sf","getCurrent","slickCurrentSlide","breakPoint","pagerQty","getLeft","verticalHeight","targetSlide","coef","verticalOffset","offsetLeft","getOption","slickGetOption","indexes","getSlick","getSlideCount","swipedSlide","centerOffset","goTo","slickGoTo","creation","setProps","startLoad","loadSlider","initializeEvents","updateArrows","initADA","numDotGroups","tabControlIndexes","slideControlIndex","role","ariaButtonControl","aria-describedby","mappedSlideIndex","aria-controls","aria-label","aria-selected","initArrowEvents","initDotEvents","initSlideEvents","initUI","loadRange","rangeStart","rangeEnd","loadImages","imagesScope","imageSource","imageSrcSet","imageSizes","imageToLoad","prevSlide","nextSlide","progressiveLazyLoad","slickNext","slickPause","play","slickPlay","postSlide","slickPrev","tryCount","$imgsToLoad","initializing","lastVisibleIndex","currentBreakpoint","responsiveSettings","windowDelay","removeSlide","slickRemove","removeBefore","removeAll","setCSS","positionProps","setDimensions","setFade","setHeight","setOption","slickSetOption","bodyStyle","msTransition","OTransform","perspectiveProperty","webkitPerspective","MozTransform","MozPerspective","webkitTransform","msTransform","allSlides","remainder","evenCoef","infiniteCount","targetElement","sync","animSlide","oldSlide","slideLeft","navTarget","swipeDirection","xDist","yDist","swipeAngle","startX","curX","startY","curY","swipeEnd","swipeLength","edgeHit","minSwipe","fingerCount","swipeStart","swipeMove","positionOffset","verticalSwipeLength","unfilterSlides","slickUnfilter","fromBreakpoint","30","mod","WOW","_class","_temp","_classCallCheck","isIn","needle","haystack","addEvent","detachEvent","WeakMap","MozWeakMap","WebkitMutationObserver","notSupported","getComputedStyleRX","_char","currentStyle","finished","boxes","resetStyle","scrollHandler","scrollCallback","records","record","addedNodes","doSync","subtree","iterable","scrolled","wowEvent","resetAnimation","iteration","customStyle","srcElement","cacheAnimationName","vendorSet","animationDelay","animationName","cachedAnimationName","vendors","getPropertyCSSValue","aName","vendorCSS","animationNameCache","offsetTop","viewTop","viewBottom","agent","custom","bubble","cancel","customEvent","initCustomEvent","eventType","default","31","XLink","exclude","_mapPatterns","_handleLoaded","patterns"],"mappings":"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","file":"frontend.min.js","sourcesContent":["(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require==\"function\"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);throw new Error(\"Cannot find module '\"+o+\"'\")}var f=n[o]={exports:{}};t[o][0].call(f.exports,function(e){var n=t[o][1][e];return s(n?n:e)},f,f.exports,e,t,n,r)}return n[o].exports}var i=typeof require==\"function\"&&require;for(var o=0;o= header.position().top + headerHeight) {\r\n if (!navbar.hasClass('fixed-top')) {\r\n navbar.addClass('out');\r\n setTimeout(function() {\r\n navbar.addClass('fixed-top');\r\n navbar.removeClass('out');\r\n mainContent.css('margin-top', headerHeight);\r\n }, 100);\r\n }\r\n } else {\r\n if (navbar.hasClass('fixed-top')) {\r\n navbar.removeClass('fixed-top out');\r\n mainContent.css('margin-top', 0)\r\n }\r\n }\r\n });\r\n };\r\n $(_initDomEvents);\r\n };\r\n\r\n\r\n module.exports = {\r\n init: _init\r\n };\r\n\r\n})();\r\n\n}).call(this,typeof self !== \"undefined\" ? self : typeof window !== \"undefined\" ? window : {})\n},{\"jquery\":24}],7:[function(require,module,exports){\n(function (global){\n(function(){\r\n \"use strict\";\r\n\r\n var $ = global.jQuery || require(\"jquery\");\r\n var jsSocials = require(\"jssocials\");\r\n\r\n var _init = function() {\r\n var _initDomEvents = function() {\r\n $(\"[data-share-jssocials]\").jsSocials({\r\n shares: [\r\n {\r\n \"share\": \"facebook\",\r\n \"label\": \"Share\",\r\n },\r\n \"twitter\", \"email\"]\r\n });\r\n };\r\n $(_initDomEvents);\r\n };\r\n\r\n module.exports = {\r\n init: _init\r\n };\r\n\r\n})();\r\n\n}).call(this,typeof self !== \"undefined\" ? self : typeof window !== \"undefined\" ? window : {})\n},{\"jquery\":24,\"jssocials\":25}],8:[function(require,module,exports){\n(function () {\r\n \"use strict\";\r\n\r\n var $ = require('jquery');\r\n\r\n var _init = function () {\r\n var _initDomEvents = function () {\r\n\r\n };\r\n $(_initDomEvents);\r\n };\r\n\r\n module.exports = {\r\n init: _init\r\n };\r\n\r\n})();\n},{\"jquery\":24}],9:[function(require,module,exports){\n(function (global){\n(function () {\r\n \"use strict\";\r\n\r\n /**\r\n * Init global JS\r\n * @private\r\n */\r\n var _initGlobalJs = function () {\r\n\r\n // jQuery\r\n global.$ = global.jQuery = require(\"jquery\");\r\n global.jqueryInview = require(\"jquery-inview\");\r\n\r\n // Bootstrap 4\r\n require(\"bootstrap\");\r\n\r\n // Theme misc js\r\n require(\"./frontend/app\");\r\n\r\n // Dev\r\n global.logger = require(\"./utils/logger\");\r\n\r\n // Global Google Analytics tracking\r\n var GlobalAnalytics = require(\"./frontend/analytics/tracking\");\r\n global.globalAnalytics = new GlobalAnalytics();\r\n\r\n // animation speed vars\r\n global.animations = {\r\n slow: 750,\r\n medium: 500,\r\n fast: 250,\r\n };\r\n };\r\n\r\n /**\r\n * External links\r\n * @private\r\n */\r\n var _initXLink = function () {\r\n var XLink = require(\"x-link\");\r\n new XLink();\r\n };\r\n\r\n /**\r\n *\r\n * @private\r\n */\r\n var _initWowJs = function () {\r\n var WOW = require(\"wow.js\");\r\n var wow = new WOW(\r\n {\r\n boxClass: 'wow', // animated element css class (default is wow)\r\n animateClass: 'animated', // animation css class (default is animated)\r\n offset: 200, // distance to the element when triggering the animation (default is 0)\r\n mobile: true, // trigger animations on mobile devices (default is true)\r\n live: true, // act on asynchronously loaded content (default is true)\r\n callback: function(box) {\r\n // the callback is fired every time an animation is started\r\n // the argument that is passed in is the DOM node being animated\r\n },\r\n scrollContainer: null // optional scroll container selector, otherwise use window\r\n }\r\n );\r\n wow.init();\r\n };\r\n\r\n /**\r\n * Init global utils\r\n * @private\r\n */\r\n var _initGlobalUtils = function () {\r\n global.utils = {};\r\n global.utils.image = [];\r\n global.utils.analytics = [];\r\n\r\n global.utils.image.push({\r\n bgSrcSet: require(\"./utils/background-image-srcset\").init(),\r\n imageLoading: require(\"./utils/image-loading\").init()\r\n });\r\n\r\n global.utils.analytics.push({\r\n contactform7: require(\"./frontend/analytics/contactform7\").init()\r\n });\r\n\r\n global.utils.equalHeight = require(\"./utils/equal-height\").init();\r\n global.utils.fancybox = require(\"utils/fancybox\").init();\r\n };\r\n\r\n /**\r\n * Init global custom guttenberg blocks JS\r\n * @private\r\n */\r\n var _initGlobalBlocks = function () {\r\n global.blocks = {};\r\n global.blocks.carouselgrid = require(\"../../blocks/default/carouselgrid/src/js/block\").init();\r\n global.blocks.banneroverlay = require(\"../../blocks/default/banneroverlay/src/js/block\").init();\r\n };\r\n\r\n /**\r\n * Init global custom components JS\r\n * @private\r\n */\r\n var _initGlobalComponents = function () {\r\n global.components = {};\r\n global.components.cardCallout = require(\"../../components/default/cardCallout/src/js/component\").init();\r\n global.components.cardStat = require(\"../../components/default/cardStat/src/js/component\").init();\r\n global.components.menuHeader = require(\"../../components/default/menuHeader/src/js/component\").init();\r\n global.components.shareJssocials = require(\"../../components/default/shareJssocials/src/js/component\").init();\r\n global.components.googleMap = require(\"../../components/default/googleMap/src/js/component\").init();\r\n };\r\n\r\n _initGlobalJs();\r\n _initXLink();\r\n _initGlobalUtils();\r\n _initGlobalBlocks();\r\n _initGlobalComponents();\r\n _initWowJs();\r\n\r\n})();\n}).call(this,typeof self !== \"undefined\" ? self : typeof window !== \"undefined\" ? window : {})\n},{\"../../blocks/default/banneroverlay/src/js/block\":1,\"../../blocks/default/carouselgrid/src/js/block\":2,\"../../components/default/cardCallout/src/js/component\":3,\"../../components/default/cardStat/src/js/component\":4,\"../../components/default/googleMap/src/js/component\":5,\"../../components/default/menuHeader/src/js/component\":6,\"../../components/default/shareJssocials/src/js/component\":7,\"./frontend/analytics/contactform7\":10,\"./frontend/analytics/tracking\":11,\"./frontend/app\":12,\"./utils/background-image-srcset\":13,\"./utils/equal-height\":14,\"./utils/image-loading\":16,\"./utils/logger\":17,\"bootstrap\":19,\"jquery\":24,\"jquery-inview\":22,\"utils/fancybox\":15,\"wow.js\":30,\"x-link\":31}],10:[function(require,module,exports){\n(function (global){\n(function () {\r\n \"use strict\";\r\n\r\n var $ = global.jQuery || require(\"jquery\");\r\n var tracking = global.globalAnalytics || require(\"./tracking\");\r\n\r\n var _init = function () {\r\n var _initDomEvents = function () {\r\n document.addEventListener('wpcf7mailsent', function(event) {\r\n tracking.analytics.trackEvent('Contact', 'Form submission', 'Contact form submission')\r\n });\r\n };\r\n $(_initDomEvents);\r\n };\r\n\r\n module.exports = {\r\n init: _init\r\n };\r\n\r\n})();\r\n\n}).call(this,typeof self !== \"undefined\" ? self : typeof window !== \"undefined\" ? window : {})\n},{\"./tracking\":11,\"jquery\":24}],11:[function(require,module,exports){\n(function (global){\n(function() {\r\n\t\"use strict\";\r\n\r\n\tvar $ = global.jQuery || require(\"jquery\");\r\n\r\n\tvar GlobalAnalytics = function() {\r\n\r\n\t\tvar site = {\r\n\t\t\twin: null,\r\n\t\t\tdoc: null,\r\n\t\t\tbody: null,\r\n\t\t\tpreInit: function () {\r\n\t\t\t\tsite.win = $(window);\r\n\t\t\t\tsite.doc = $(document);\r\n\t\t\t\tsite.body = $('body');\r\n\t\t\t\tsite.body.addClass('js');\r\n\t\t\t\tsite.init();\r\n\t\t\t},\r\n\t\t\tinit: function () {\r\n\t\t\t\tsite.analytics.init();\r\n\t\t\t},\r\n\t\t\tanalytics: {\r\n\t\t\t\tinit: function () {\r\n\t\t\t\t\tsite.analytics.links();\r\n\t\t\t\t\tsite.analytics.forms();\r\n\t\t\t\t\tsite.analytics.accordions();\r\n\t\t\t\t},\r\n\t\t\t\tlinks: function() {\r\n\t\t\t\t\t//piped value: category, action, label\r\n\t\t\t\t\t$('a[data-analytics-track-event=true]:not(.js-analytics-done)').each(function () {\r\n\t\t\t\t\t\tvar $link = $(this);\r\n\t\t\t\t\t\tvar category = $link.attr('data-analytics-track-event-category');\r\n\t\t\t\t\t\tvar action = $link.attr('data-analytics-track-event-action');\r\n\t\t\t\t\t\tvar label = $link.attr('data-analytics-track-event-label');\r\n\r\n\t\t\t\t\t\t$link.off('click.site.analytics').on('click.site.analytics', function () {\r\n\t\t\t\t\t\t\tsite.analytics.trackEvent(category, action, label);\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\t$link.addClass('js-analytics-done');\r\n\t\t\t\t\t});\r\n\r\n\t\t\t\t\t// Telephone numbers\r\n\t\t\t\t\t$('a[href^=\"tel:\"]:not(.js-analytics-done)').each(function () {\r\n\t\t\t\t\t\tvar $link = $(this);\r\n\t\t\t\t\t\tvar label = $link.attr('href');\r\n\r\n\t\t\t\t\t\t$link.off('click.site.analytics').on('click.site.analytics', function () {\r\n\t\t\t\t\t\t\tsite.analytics.trackEvent('External link', 'Phone number', label);\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\t$link.addClass('js-analytics-done');\r\n\t\t\t\t\t});\r\n\r\n\t\t\t\t\t// Email addresses\r\n\t\t\t\t\t$('a[href^=\"mailto:\"]:not(.js-analytics-done)').each(function () {\r\n\t\t\t\t\t\tvar $link = $(this);\r\n\t\t\t\t\t\tvar label = $link.attr('href');\r\n\r\n\t\t\t\t\t\t$link.off('click.site.analytics').on('click.site.analytics', function () {\r\n\t\t\t\t\t\t\tsite.analytics.trackEvent('External link', 'Email address', label);\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\t$link.addClass('js-analytics-done');\r\n\t\t\t\t\t});\r\n\r\n\t\t\t\t\t//simple json object, makes it a little easier if the code to track needs to be escaped\r\n\t\t\t\t\t//{ \"Category\": \"Videos\", \"Action\": \"Play\", \"Label\": \"The video title\" }\r\n\t\t\t\t\t$('a[data-analytics-event-json=true]:not(.js-analytics-done)').each(function () {\r\n\t\t\t\t\t\tvar $link = $(this);\r\n\t\t\t\t\t\t$link.off('click.site.analytics').on('click.site.analytics', function () {\r\n\t\t\t\t\t\t\tsite.analytics.trackEventFromDataAttribute(link);\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\t$link.addClass('js-analytics-done');\r\n\t\t\t\t\t});\r\n\t\t\t\t},\r\n\t\t\t\tforms: function () {\r\n\t\t\t\t\t$('form[data-analytics-track-event=true]:not(.js-analytics-done)').each(function () {\r\n\t\t\t\t\t\tvar $form = $(this);\r\n\t\t\t\t\t\t$form.submit(function (e) {\r\n\t\t\t\t\t\t\t//console.log($form);\r\n\t\t\t\t\t\t\tvar category = $form.attr('data-analytics-track-event-category');\r\n\t\t\t\t\t\t\tvar action = $form.attr('data-analytics-track-event-action');\r\n\t\t\t\t\t\t\tsite.analytics.trackEvent(category, action, void 0);\r\n\t\t\t\t\t\t\t//e.preventDefault();\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\t$form.addClass('js-analytics-done');\r\n\t\t\t\t\t});\r\n\t\t\t\t},\r\n\t\t\t\tselects: function() {\r\n\t\t\t\t\t$('select:not(.js-analytics-done) option[data-analytics-track-event=true]').closest('select').each(function () {\r\n\t\t\t\t\t\tvar $select = $(this);\r\n\t\t\t\t\t\t$select.on('change', function () {\r\n\t\t\t\t\t\t\t$select.find(':selected').each(function () {\r\n\t\t\t\t\t\t\t\tvar $option = $(this);\r\n\t\t\t\t\t\t\t\tvar category = $option.attr('data-analytics-track-event-category');\r\n\t\t\t\t\t\t\t\tvar action = $option.attr('data-analytics-track-event-action');\r\n\t\t\t\t\t\t\t\tvar label = $option.attr('data-analytics-track-event-label');\r\n\t\t\t\t\t\t\t\tsite.analytics.trackEvent(category, action, label);\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tselect.addClass('js-analytics-done');\r\n\t\t\t\t\t});\r\n\t\t\t\t},\r\n\t\t\t\taccordions: function() {\r\n\t\t\t\t\t$('div.accordion:not(.js-analytics-done)').each(function () {\r\n\t\t\t\t\t\tvar $accordion = $(this);\r\n\t\t\t\t\t\tvar $titles = $accordion.find('.card-title');\r\n\t\t\t\t\t\t$titles.each(function () {\r\n\t\t\t\t\t\t\tvar $title = $(this);\r\n\t\t\t\t\t\t\t$title.on('click', function (e) {\r\n\t\t\t\t\t\t\t\te.preventDefault();\r\n\t\t\t\t\t\t\t\tvar $collapse = $($title.attr('href'));\r\n\t\t\t\t\t\t\t\tvar action = $collapse.is(':hidden') ? 'Show' : 'Hide';\r\n\t\t\t\t\t\t\t\tsite.analytics.trackEvent($title.attr('data-analytics-track-event-category'), action, $title.attr('data-analytics-track-event-label'));\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\t$accordion.addClass('js-analytics-done');\r\n\t\t\t\t\t});\r\n\t\t\t\t},\r\n\t\t\t\ttrackEventFromDataAttribute: function (el) {\r\n\t\t\t\t\tvar json = JSON.parse(el.attr('data-analytics-event'));\r\n\t\t\t\t\tsite.analytics.trackEvent(json.Category, json.Action, json.Label);\r\n\t\t\t\t},\r\n\t\t\t\tvirtualPageView: function (url, title) {\r\n\t\t\t\t\t//console.group('analytics.virtualPageView');\r\n\t\t\t\t\t//console.log('virtualPageUrl: ' + url);\r\n\t\t\t\t\t//console.log('virtualPageTitle: ' + title);\r\n\t\t\t\t\tdataLayer.push({\r\n\t\t\t\t\t\t'virtualPageUrl': url,\r\n\t\t\t\t\t\t'virtualPageTitle': title,\r\n\t\t\t\t\t\t'event': 'VirtualPageView'\r\n\t\t\t\t\t});\r\n\t\t\t\t\t//console.groupEnd();\r\n\t\t\t\t},\r\n\t\t\t\t//category (required): typically the object that was interacted with (e.g. 'video') or the name you give to a group of objects you want to track\r\n\t\t\t\t//action (required): is the type of interaction, such as downloading a file or playing a video\r\n\t\t\t\t//label (optional): is useful for summarising what the event is about or categorizing events (e.g. 'fall campaign'), such as clicks on navigation menu options\r\n\t\t\t\ttrackEvent: function (category, action, label) {\r\n\t\t\t\t\t//console.group('analytics.trackEvent');\r\n\t\t\t\t\tif (typeof label == 'undefined') {\r\n\t\t\t\t\t\t//console.log('category: ' + category);\r\n\t\t\t\t\t\t//console.log('action: ' + action);\r\n\t\t\t\t\t\tdataLayer.push({\r\n\t\t\t\t\t\t\t'eventCategory': category,\r\n\t\t\t\t\t\t\t'eventAction': action,\r\n\t\t\t\t\t\t\t'event': 'EventTracking'\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\t//console.log('category: ' + category);\r\n\t\t\t\t\t\t//console.log('action: ' + action);\r\n\t\t\t\t\t\t//console.log('label: ' + label);\r\n\t\t\t\t\t\tdataLayer.push({\r\n\t\t\t\t\t\t\t'eventCategory': category,\r\n\t\t\t\t\t\t\t'eventAction': action,\r\n\t\t\t\t\t\t\t'eventLabel': label,\r\n\t\t\t\t\t\t\t'event': 'EventTracking'\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t\t//console.groupEnd();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\tvar _initDomEvents = function() {\r\n\t\t\tsite.preInit();\r\n\t\t\tsite.doc.ajaxComplete(function () {\r\n\t\t\t\tsite.init();\r\n\t\t\t});\r\n\t\t};\r\n\t\t$(_initDomEvents);\r\n\t\treturn site;\r\n\t};\r\n\r\n\tmodule.exports = GlobalAnalytics;\r\n\r\n})();\r\n\n}).call(this,typeof self !== \"undefined\" ? self : typeof window !== \"undefined\" ? window : {})\n},{\"jquery\":24}],12:[function(require,module,exports){\n(function () {\r\n \"use strict\";\r\n\r\n var $ = require('jquery');\r\n\r\n require(\"../common/app\");\r\n\r\n var _init = function () {\r\n var _initDomEvents = function () {\r\n // IE11\r\n if (!!window.MSInputMethodContext && !!document.documentMode) {\r\n $('html').addClass('ie11');\r\n }\r\n };\r\n $(_initDomEvents);\r\n };\r\n\r\n module.exports = {\r\n init: _init\r\n };\r\n\r\n})();\n},{\"../common/app\":8,\"jquery\":24}],13:[function(require,module,exports){\n(function (global){\n(function() {\r\n \"use strict\";\r\n\r\n var $ = global.jQuery || require(\"jquery\");\r\n\r\n var _init = function() {\r\n\r\n var _doSrcSet = function() {\r\n\r\n // Get the available sources and sizes\r\n var available = $(this).data(\"background-image-srcset\").split(\",\").map(function(item) {\r\n return item.trim();\r\n });\r\n\r\n // Get the current viewport width\r\n var width = $(window).width();\r\n\r\n // if the current size is greater than the window width, then don't do anything\r\n var currentSize = $(this).data(\"background-image-size\");\r\n if (currentSize && currentSize > width) {\r\n return true;\r\n }\r\n var match, i, isLast, size;\r\n var url = null;\r\n for (i = 0; i < available.length; i++) {\r\n isLast = i === (available.length - 1);\r\n match = available[i].match(/(.+) (\\d+)w/);\r\n size = parseInt(match[2]);\r\n if (size > width || isLast) {\r\n url = match[1];\r\n break;\r\n }\r\n }\r\n\r\n if (url) {\r\n $(this).css(\"background-image\", \"url('\" + url + \"')\");\r\n $(this).data(\"background-image-size\", size);\r\n }\r\n\r\n\r\n };\r\n var _handleResize = function(e) {\r\n $(\"[data-background-image-srcset]\").each(_doSrcSet);\r\n };\r\n\r\n var _initDomEvents = function() {\r\n $(window).on(\"resize\", _handleResize).trigger(\"resize\");\r\n };\r\n $(_initDomEvents);\r\n };\r\n\r\n\r\n module.exports = {\r\n init: _init\r\n };\r\n\r\n})();\r\n\n}).call(this,typeof self !== \"undefined\" ? self : typeof window !== \"undefined\" ? window : {})\n},{\"jquery\":24}],14:[function(require,module,exports){\n(function (global){\n(function() {\r\n \"use strict\";\r\n\r\n var $ = global.jQuery || require(\"jquery\");\r\n require(\"jquery-match-height\");\r\n\r\n var _init = function() {\r\n var _initDomEvents = function() {\r\n $('[data-equal-height-group] [data-equal-height]').matchHeight();\r\n };\r\n $(_initDomEvents);\r\n };\r\n\r\n module.exports = {\r\n init: _init\r\n };\r\n\r\n})();\r\n\n}).call(this,typeof self !== \"undefined\" ? self : typeof window !== \"undefined\" ? window : {})\n},{\"jquery\":24,\"jquery-match-height\":23}],15:[function(require,module,exports){\n(function (global){\n(function () {\r\n \"use strict\";\r\n\r\n var $ = global.jQuery || require(\"jquery\");\r\n\r\n var _init = function () {\r\n require(\"@fancyapps/fancybox\");\r\n\r\n $.fancybox.defaults.buttons = [\r\n 'fullScreen',\r\n 'close'\r\n ];\r\n\r\n var _initDomEvents = function () {\r\n $(\"a\").each(function () {\r\n if (this.href.match(/^https?:\\/\\/(?:www\\.)?(youtu|vimeo)\\.(com|co\\.uk|be)\\//)) {\r\n $(this).one(\"click\", function () {\r\n $(this).attr(\"data-fancybox\", true);\r\n });\r\n }\r\n });\r\n\r\n };\r\n $(_initDomEvents);\r\n };\r\n\r\n\r\n module.exports = {\r\n init: _init\r\n };\r\n\r\n})();\r\n\n}).call(this,typeof self !== \"undefined\" ? self : typeof window !== \"undefined\" ? window : {})\n},{\"@fancyapps/fancybox\":18,\"jquery\":24}],16:[function(require,module,exports){\n(function (global){\n(function() {\r\n \"use strict\";\r\n\r\n var $ = global.jQuery || require(\"jquery\");\r\n var imagesloaded = require(\"imagesloaded\");\r\n\r\n var _init = function() {\r\n\r\n var _initDomEvents = function() {\r\n $('.u_imgNotLoaded').imagesLoaded(function(instance) {\r\n $(instance.elements).each(function(index) {\r\n $(this).removeClass('u_imgNotLoaded').addClass('u_imgLoaded');\r\n });\r\n });\r\n };\r\n\r\n $(_initDomEvents);\r\n };\r\n\r\n module.exports = {\r\n init: _init\r\n };\r\n\r\n})();\r\n\n}).call(this,typeof self !== \"undefined\" ? self : typeof window !== \"undefined\" ? window : {})\n},{\"imagesloaded\":21,\"jquery\":24}],17:[function(require,module,exports){\n(function(){\r\n \"use strict\";\r\n var logger = require(\"loglevel\");\r\n\r\n // if(Creation.GLOBAL.debug) {\r\n logger.setLevel(\"trace\");\r\n // } else {\r\n // logger.setLevel(\"silent\");\r\n // }\r\n\r\n module.exports = logger;\r\n\r\n})();\n},{\"loglevel\":26}],18:[function(require,module,exports){\n// ==================================================\r\n// fancyBox v3.5.7\r\n//\r\n// Licensed GPLv3 for open source use\r\n// or fancyBox Commercial License for commercial use\r\n//\r\n// http://fancyapps.com/fancybox/\r\n// Copyright 2019 fancyApps\r\n//\r\n// ==================================================\r\n(function (window, document, $, undefined) {\r\n \"use strict\";\r\n\r\n window.console = window.console || {\r\n info: function (stuff) {}\r\n };\r\n\r\n // If there's no jQuery, fancyBox can't work\r\n // =========================================\r\n\r\n if (!$) {\r\n return;\r\n }\r\n\r\n // Check if fancyBox is already initialized\r\n // ========================================\r\n\r\n if ($.fn.fancybox) {\r\n console.info(\"fancyBox already initialized\");\r\n\r\n return;\r\n }\r\n\r\n // Private default settings\r\n // ========================\r\n\r\n var defaults = {\r\n // Close existing modals\r\n // Set this to false if you do not need to stack multiple instances\r\n closeExisting: false,\r\n\r\n // Enable infinite gallery navigation\r\n loop: false,\r\n\r\n // Horizontal space between slides\r\n gutter: 50,\r\n\r\n // Enable keyboard navigation\r\n keyboard: true,\r\n\r\n // Should allow caption to overlap the content\r\n preventCaptionOverlap: true,\r\n\r\n // Should display navigation arrows at the screen edges\r\n arrows: true,\r\n\r\n // Should display counter at the top left corner\r\n infobar: true,\r\n\r\n // Should display close button (using `btnTpl.smallBtn` template) over the content\r\n // Can be true, false, \"auto\"\r\n // If \"auto\" - will be automatically enabled for \"html\", \"inline\" or \"ajax\" items\r\n smallBtn: \"auto\",\r\n\r\n // Should display toolbar (buttons at the top)\r\n // Can be true, false, \"auto\"\r\n // If \"auto\" - will be automatically hidden if \"smallBtn\" is enabled\r\n toolbar: \"auto\",\r\n\r\n // What buttons should appear in the top right corner.\r\n // Buttons will be created using templates from `btnTpl` option\r\n // and they will be placed into toolbar (class=\"fancybox-toolbar\"` element)\r\n buttons: [\r\n \"zoom\",\r\n //\"share\",\r\n \"slideShow\",\r\n //\"fullScreen\",\r\n //\"download\",\r\n \"thumbs\",\r\n \"close\"\r\n ],\r\n\r\n // Detect \"idle\" time in seconds\r\n idleTime: 3,\r\n\r\n // Disable right-click and use simple image protection for images\r\n protect: false,\r\n\r\n // Shortcut to make content \"modal\" - disable keyboard navigtion, hide buttons, etc\r\n modal: false,\r\n\r\n image: {\r\n // Wait for images to load before displaying\r\n // true - wait for image to load and then display;\r\n // false - display thumbnail and load the full-sized image over top,\r\n // requires predefined image dimensions (`data-width` and `data-height` attributes)\r\n preload: false\r\n },\r\n\r\n ajax: {\r\n // Object containing settings for ajax request\r\n settings: {\r\n // This helps to indicate that request comes from the modal\r\n // Feel free to change naming\r\n data: {\r\n fancybox: true\r\n }\r\n }\r\n },\r\n\r\n iframe: {\r\n // Iframe template\r\n tpl: '',\r\n\r\n // Preload iframe before displaying it\r\n // This allows to calculate iframe content width and height\r\n // (note: Due to \"Same Origin Policy\", you can't get cross domain data).\r\n preload: true,\r\n\r\n // Custom CSS styling for iframe wrapping element\r\n // You can use this to set custom iframe dimensions\r\n css: {},\r\n\r\n // Iframe tag attributes\r\n attr: {\r\n scrolling: \"auto\"\r\n }\r\n },\r\n\r\n // For HTML5 video only\r\n video: {\r\n tpl: '\",\r\n format: \"\", // custom video format\r\n autoStart: true\r\n },\r\n\r\n // Default content type if cannot be detected automatically\r\n defaultType: \"image\",\r\n\r\n // Open/close animation type\r\n // Possible values:\r\n // false - disable\r\n // \"zoom\" - zoom images from/to thumbnail\r\n // \"fade\"\r\n // \"zoom-in-out\"\r\n //\r\n animationEffect: \"zoom\",\r\n\r\n // Duration in ms for open/close animation\r\n animationDuration: 366,\r\n\r\n // Should image change opacity while zooming\r\n // If opacity is \"auto\", then opacity will be changed if image and thumbnail have different aspect ratios\r\n zoomOpacity: \"auto\",\r\n\r\n // Transition effect between slides\r\n //\r\n // Possible values:\r\n // false - disable\r\n // \"fade'\r\n // \"slide'\r\n // \"circular'\r\n // \"tube'\r\n // \"zoom-in-out'\r\n // \"rotate'\r\n //\r\n transitionEffect: \"fade\",\r\n\r\n // Duration in ms for transition animation\r\n transitionDuration: 366,\r\n\r\n // Custom CSS class for slide element\r\n slideClass: \"\",\r\n\r\n // Custom CSS class for layout\r\n baseClass: \"\",\r\n\r\n // Base template for layout\r\n baseTpl: '
' +\r\n '
' +\r\n '
' +\r\n '
 / 
' +\r\n '
{{buttons}}
' +\r\n '
{{arrows}}
' +\r\n '
' +\r\n '
' +\r\n \"
\" +\r\n \"
\",\r\n\r\n // Loading indicator template\r\n spinnerTpl: '
',\r\n\r\n // Error message template\r\n errorTpl: '

{{ERROR}}

',\r\n\r\n btnTpl: {\r\n download: '' +\r\n '' +\r\n \"\",\r\n\r\n zoom: '\",\r\n\r\n close: '\",\r\n\r\n // Arrows\r\n arrowLeft: '\",\r\n\r\n arrowRight: '\",\r\n\r\n // This small close button will be appended to your html/inline/ajax content by default,\r\n // if \"smallBtn\" option is not set to false\r\n smallBtn: '\"\r\n },\r\n\r\n // Container is injected into this element\r\n parentEl: \"body\",\r\n\r\n // Hide browser vertical scrollbars; use at your own risk\r\n hideScrollbar: true,\r\n\r\n // Focus handling\r\n // ==============\r\n\r\n // Try to focus on the first focusable element after opening\r\n autoFocus: true,\r\n\r\n // Put focus back to active element after closing\r\n backFocus: true,\r\n\r\n // Do not let user to focus on element outside modal content\r\n trapFocus: true,\r\n\r\n // Module specific options\r\n // =======================\r\n\r\n fullScreen: {\r\n autoStart: false\r\n },\r\n\r\n // Set `touch: false` to disable panning/swiping\r\n touch: {\r\n vertical: true, // Allow to drag content vertically\r\n momentum: true // Continue movement after releasing mouse/touch when panning\r\n },\r\n\r\n // Hash value when initializing manually,\r\n // set `false` to disable hash change\r\n hash: null,\r\n\r\n // Customize or add new media types\r\n // Example:\r\n /*\r\n media : {\r\n youtube : {\r\n params : {\r\n autoplay : 0\r\n }\r\n }\r\n }\r\n */\r\n media: {},\r\n\r\n slideShow: {\r\n autoStart: false,\r\n speed: 3000\r\n },\r\n\r\n thumbs: {\r\n autoStart: false, // Display thumbnails on opening\r\n hideOnClose: true, // Hide thumbnail grid when closing animation starts\r\n parentEl: \".fancybox-container\", // Container is injected into this element\r\n axis: \"y\" // Vertical (y) or horizontal (x) scrolling\r\n },\r\n\r\n // Use mousewheel to navigate gallery\r\n // If 'auto' - enabled for images only\r\n wheel: \"auto\",\r\n\r\n // Callbacks\r\n //==========\r\n\r\n // See Documentation/API/Events for more information\r\n // Example:\r\n /*\r\n afterShow: function( instance, current ) {\r\n console.info( 'Clicked element:' );\r\n console.info( current.opts.$orig );\r\n }\r\n */\r\n\r\n onInit: $.noop, // When instance has been initialized\r\n\r\n beforeLoad: $.noop, // Before the content of a slide is being loaded\r\n afterLoad: $.noop, // When the content of a slide is done loading\r\n\r\n beforeShow: $.noop, // Before open animation starts\r\n afterShow: $.noop, // When content is done loading and animating\r\n\r\n beforeClose: $.noop, // Before the instance attempts to close. Return false to cancel the close.\r\n afterClose: $.noop, // After instance has been closed\r\n\r\n onActivate: $.noop, // When instance is brought to front\r\n onDeactivate: $.noop, // When other instance has been activated\r\n\r\n // Interaction\r\n // ===========\r\n\r\n // Use options below to customize taken action when user clicks or double clicks on the fancyBox area,\r\n // each option can be string or method that returns value.\r\n //\r\n // Possible values:\r\n // \"close\" - close instance\r\n // \"next\" - move to next gallery item\r\n // \"nextOrClose\" - move to next gallery item or close if gallery has only one item\r\n // \"toggleControls\" - show/hide controls\r\n // \"zoom\" - zoom image (if loaded)\r\n // false - do nothing\r\n\r\n // Clicked on the content\r\n clickContent: function (current, event) {\r\n return current.type === \"image\" ? \"zoom\" : false;\r\n },\r\n\r\n // Clicked on the slide\r\n clickSlide: \"close\",\r\n\r\n // Clicked on the background (backdrop) element;\r\n // if you have not changed the layout, then most likely you need to use `clickSlide` option\r\n clickOutside: \"close\",\r\n\r\n // Same as previous two, but for double click\r\n dblclickContent: false,\r\n dblclickSlide: false,\r\n dblclickOutside: false,\r\n\r\n // Custom options when mobile device is detected\r\n // =============================================\r\n\r\n mobile: {\r\n preventCaptionOverlap: false,\r\n idleTime: false,\r\n clickContent: function (current, event) {\r\n return current.type === \"image\" ? \"toggleControls\" : false;\r\n },\r\n clickSlide: function (current, event) {\r\n return current.type === \"image\" ? \"toggleControls\" : \"close\";\r\n },\r\n dblclickContent: function (current, event) {\r\n return current.type === \"image\" ? \"zoom\" : false;\r\n },\r\n dblclickSlide: function (current, event) {\r\n return current.type === \"image\" ? \"zoom\" : false;\r\n }\r\n },\r\n\r\n // Internationalization\r\n // ====================\r\n\r\n lang: \"en\",\r\n i18n: {\r\n en: {\r\n CLOSE: \"Close\",\r\n NEXT: \"Next\",\r\n PREV: \"Previous\",\r\n ERROR: \"The requested content cannot be loaded.
Please try again later.\",\r\n PLAY_START: \"Start slideshow\",\r\n PLAY_STOP: \"Pause slideshow\",\r\n FULL_SCREEN: \"Full screen\",\r\n THUMBS: \"Thumbnails\",\r\n DOWNLOAD: \"Download\",\r\n SHARE: \"Share\",\r\n ZOOM: \"Zoom\"\r\n },\r\n de: {\r\n CLOSE: \"Schließen\",\r\n NEXT: \"Weiter\",\r\n PREV: \"Zurück\",\r\n ERROR: \"Die angeforderten Daten konnten nicht geladen werden.
Bitte versuchen Sie es später nochmal.\",\r\n PLAY_START: \"Diaschau starten\",\r\n PLAY_STOP: \"Diaschau beenden\",\r\n FULL_SCREEN: \"Vollbild\",\r\n THUMBS: \"Vorschaubilder\",\r\n DOWNLOAD: \"Herunterladen\",\r\n SHARE: \"Teilen\",\r\n ZOOM: \"Vergrößern\"\r\n }\r\n }\r\n };\r\n\r\n // Few useful variables and methods\r\n // ================================\r\n\r\n var $W = $(window);\r\n var $D = $(document);\r\n\r\n var called = 0;\r\n\r\n // Check if an object is a jQuery object and not a native JavaScript object\r\n // ========================================================================\r\n var isQuery = function (obj) {\r\n return obj && obj.hasOwnProperty && obj instanceof $;\r\n };\r\n\r\n // Handle multiple browsers for \"requestAnimationFrame\" and \"cancelAnimationFrame\"\r\n // ===============================================================================\r\n var requestAFrame = (function () {\r\n return (\r\n window.requestAnimationFrame ||\r\n window.webkitRequestAnimationFrame ||\r\n window.mozRequestAnimationFrame ||\r\n window.oRequestAnimationFrame ||\r\n // if all else fails, use setTimeout\r\n function (callback) {\r\n return window.setTimeout(callback, 1000 / 60);\r\n }\r\n );\r\n })();\r\n\r\n var cancelAFrame = (function () {\r\n return (\r\n window.cancelAnimationFrame ||\r\n window.webkitCancelAnimationFrame ||\r\n window.mozCancelAnimationFrame ||\r\n window.oCancelAnimationFrame ||\r\n function (id) {\r\n window.clearTimeout(id);\r\n }\r\n );\r\n })();\r\n\r\n // Detect the supported transition-end event property name\r\n // =======================================================\r\n var transitionEnd = (function () {\r\n var el = document.createElement(\"fakeelement\"),\r\n t;\r\n\r\n var transitions = {\r\n transition: \"transitionend\",\r\n OTransition: \"oTransitionEnd\",\r\n MozTransition: \"transitionend\",\r\n WebkitTransition: \"webkitTransitionEnd\"\r\n };\r\n\r\n for (t in transitions) {\r\n if (el.style[t] !== undefined) {\r\n return transitions[t];\r\n }\r\n }\r\n\r\n return \"transitionend\";\r\n })();\r\n\r\n // Force redraw on an element.\r\n // This helps in cases where the browser doesn't redraw an updated element properly\r\n // ================================================================================\r\n var forceRedraw = function ($el) {\r\n return $el && $el.length && $el[0].offsetHeight;\r\n };\r\n\r\n // Exclude array (`buttons`) options from deep merging\r\n // ===================================================\r\n var mergeOpts = function (opts1, opts2) {\r\n var rez = $.extend(true, {}, opts1, opts2);\r\n\r\n $.each(opts2, function (key, value) {\r\n if ($.isArray(value)) {\r\n rez[key] = value;\r\n }\r\n });\r\n\r\n return rez;\r\n };\r\n\r\n // How much of an element is visible in viewport\r\n // =============================================\r\n\r\n var inViewport = function (elem) {\r\n var elemCenter, rez;\r\n\r\n if (!elem || elem.ownerDocument !== document) {\r\n return false;\r\n }\r\n\r\n $(\".fancybox-container\").css(\"pointer-events\", \"none\");\r\n\r\n elemCenter = {\r\n x: elem.getBoundingClientRect().left + elem.offsetWidth / 2,\r\n y: elem.getBoundingClientRect().top + elem.offsetHeight / 2\r\n };\r\n\r\n rez = document.elementFromPoint(elemCenter.x, elemCenter.y) === elem;\r\n\r\n $(\".fancybox-container\").css(\"pointer-events\", \"\");\r\n\r\n return rez;\r\n };\r\n\r\n // Class definition\r\n // ================\r\n\r\n var FancyBox = function (content, opts, index) {\r\n var self = this;\r\n\r\n self.opts = mergeOpts({\r\n index: index\r\n }, $.fancybox.defaults);\r\n\r\n if ($.isPlainObject(opts)) {\r\n self.opts = mergeOpts(self.opts, opts);\r\n }\r\n\r\n if ($.fancybox.isMobile) {\r\n self.opts = mergeOpts(self.opts, self.opts.mobile);\r\n }\r\n\r\n self.id = self.opts.id || ++called;\r\n\r\n self.currIndex = parseInt(self.opts.index, 10) || 0;\r\n self.prevIndex = null;\r\n\r\n self.prevPos = null;\r\n self.currPos = 0;\r\n\r\n self.firstRun = true;\r\n\r\n // All group items\r\n self.group = [];\r\n\r\n // Existing slides (for current, next and previous gallery items)\r\n self.slides = {};\r\n\r\n // Create group elements\r\n self.addContent(content);\r\n\r\n if (!self.group.length) {\r\n return;\r\n }\r\n\r\n self.init();\r\n };\r\n\r\n $.extend(FancyBox.prototype, {\r\n // Create DOM structure\r\n // ====================\r\n\r\n init: function () {\r\n var self = this,\r\n firstItem = self.group[self.currIndex],\r\n firstItemOpts = firstItem.opts,\r\n $container,\r\n buttonStr;\r\n\r\n if (firstItemOpts.closeExisting) {\r\n $.fancybox.close(true);\r\n }\r\n\r\n // Hide scrollbars\r\n // ===============\r\n\r\n $(\"body\").addClass(\"fancybox-active\");\r\n\r\n if (\r\n !$.fancybox.getInstance() &&\r\n firstItemOpts.hideScrollbar !== false &&\r\n !$.fancybox.isMobile &&\r\n document.body.scrollHeight > window.innerHeight\r\n ) {\r\n $(\"head\").append(\r\n '\"\r\n );\r\n\r\n $(\"body\").addClass(\"compensate-for-scrollbar\");\r\n }\r\n\r\n // Build html markup and set references\r\n // ====================================\r\n\r\n // Build html code for buttons and insert into main template\r\n buttonStr = \"\";\r\n\r\n $.each(firstItemOpts.buttons, function (index, value) {\r\n buttonStr += firstItemOpts.btnTpl[value] || \"\";\r\n });\r\n\r\n // Create markup from base template, it will be initially hidden to\r\n // avoid unnecessary work like painting while initializing is not complete\r\n $container = $(\r\n self.translate(\r\n self,\r\n firstItemOpts.baseTpl\r\n .replace(\"{{buttons}}\", buttonStr)\r\n .replace(\"{{arrows}}\", firstItemOpts.btnTpl.arrowLeft + firstItemOpts.btnTpl.arrowRight)\r\n )\r\n )\r\n .attr(\"id\", \"fancybox-container-\" + self.id)\r\n .addClass(firstItemOpts.baseClass)\r\n .data(\"FancyBox\", self)\r\n .appendTo(firstItemOpts.parentEl);\r\n\r\n // Create object holding references to jQuery wrapped nodes\r\n self.$refs = {\r\n container: $container\r\n };\r\n\r\n [\"bg\", \"inner\", \"infobar\", \"toolbar\", \"stage\", \"caption\", \"navigation\"].forEach(function (item) {\r\n self.$refs[item] = $container.find(\".fancybox-\" + item);\r\n });\r\n\r\n self.trigger(\"onInit\");\r\n\r\n // Enable events, deactive previous instances\r\n self.activate();\r\n\r\n // Build slides, load and reveal content\r\n self.jumpTo(self.currIndex);\r\n },\r\n\r\n // Simple i18n support - replaces object keys found in template\r\n // with corresponding values\r\n // ============================================================\r\n\r\n translate: function (obj, str) {\r\n var arr = obj.opts.i18n[obj.opts.lang] || obj.opts.i18n.en;\r\n\r\n return str.replace(/\\{\\{(\\w+)\\}\\}/g, function (match, n) {\r\n return arr[n] === undefined ? match : arr[n];\r\n });\r\n },\r\n\r\n // Populate current group with fresh content\r\n // Check if each object has valid type and content\r\n // ===============================================\r\n\r\n addContent: function (content) {\r\n var self = this,\r\n items = $.makeArray(content),\r\n thumbs;\r\n\r\n $.each(items, function (i, item) {\r\n var obj = {},\r\n opts = {},\r\n $item,\r\n type,\r\n found,\r\n src,\r\n srcParts;\r\n\r\n // Step 1 - Make sure we have an object\r\n // ====================================\r\n\r\n if ($.isPlainObject(item)) {\r\n // We probably have manual usage here, something like\r\n // $.fancybox.open( [ { src : \"image.jpg\", type : \"image\" } ] )\r\n\r\n obj = item;\r\n opts = item.opts || item;\r\n } else if ($.type(item) === \"object\" && $(item).length) {\r\n // Here we probably have jQuery collection returned by some selector\r\n $item = $(item);\r\n\r\n // Support attributes like `data-options='{\"touch\" : false}'` and `data-touch='false'`\r\n opts = $item.data() || {};\r\n opts = $.extend(true, {}, opts, opts.options);\r\n\r\n // Here we store clicked element\r\n opts.$orig = $item;\r\n\r\n obj.src = self.opts.src || opts.src || $item.attr(\"href\");\r\n\r\n // Assume that simple syntax is used, for example:\r\n // `$.fancybox.open( $(\"#test\"), {} );`\r\n if (!obj.type && !obj.src) {\r\n obj.type = \"inline\";\r\n obj.src = item;\r\n }\r\n } else {\r\n // Assume we have a simple html code, for example:\r\n // $.fancybox.open( '

Hi!

' );\r\n obj = {\r\n type: \"html\",\r\n src: item + \"\"\r\n };\r\n }\r\n\r\n // Each gallery object has full collection of options\r\n obj.opts = $.extend(true, {}, self.opts, opts);\r\n\r\n // Do not merge buttons array\r\n if ($.isArray(opts.buttons)) {\r\n obj.opts.buttons = opts.buttons;\r\n }\r\n\r\n if ($.fancybox.isMobile && obj.opts.mobile) {\r\n obj.opts = mergeOpts(obj.opts, obj.opts.mobile);\r\n }\r\n\r\n // Step 2 - Make sure we have content type, if not - try to guess\r\n // ==============================================================\r\n\r\n type = obj.type || obj.opts.type;\r\n src = obj.src || \"\";\r\n\r\n if (!type && src) {\r\n if ((found = src.match(/\\.(mp4|mov|ogv|webm)((\\?|#).*)?$/i))) {\r\n type = \"video\";\r\n\r\n if (!obj.opts.video.format) {\r\n obj.opts.video.format = \"video/\" + (found[1] === \"ogv\" ? \"ogg\" : found[1]);\r\n }\r\n } else if (src.match(/(^data:image\\/[a-z0-9+\\/=]*,)|(\\.(jp(e|g|eg)|gif|png|bmp|webp|svg|ico)((\\?|#).*)?$)/i)) {\r\n type = \"image\";\r\n } else if (src.match(/\\.(pdf)((\\?|#).*)?$/i)) {\r\n type = \"iframe\";\r\n obj = $.extend(true, obj, {\r\n contentType: \"pdf\",\r\n opts: {\r\n iframe: {\r\n preload: false\r\n }\r\n }\r\n });\r\n } else if (src.charAt(0) === \"#\") {\r\n type = \"inline\";\r\n }\r\n }\r\n\r\n if (type) {\r\n obj.type = type;\r\n } else {\r\n self.trigger(\"objectNeedsType\", obj);\r\n }\r\n\r\n if (!obj.contentType) {\r\n obj.contentType = $.inArray(obj.type, [\"html\", \"inline\", \"ajax\"]) > -1 ? \"html\" : obj.type;\r\n }\r\n\r\n // Step 3 - Some adjustments\r\n // =========================\r\n\r\n obj.index = self.group.length;\r\n\r\n if (obj.opts.smallBtn == \"auto\") {\r\n obj.opts.smallBtn = $.inArray(obj.type, [\"html\", \"inline\", \"ajax\"]) > -1;\r\n }\r\n\r\n if (obj.opts.toolbar === \"auto\") {\r\n obj.opts.toolbar = !obj.opts.smallBtn;\r\n }\r\n\r\n // Find thumbnail image, check if exists and if is in the viewport\r\n obj.$thumb = obj.opts.$thumb || null;\r\n\r\n if (obj.opts.$trigger && obj.index === self.opts.index) {\r\n obj.$thumb = obj.opts.$trigger.find(\"img:first\");\r\n\r\n if (obj.$thumb.length) {\r\n obj.opts.$orig = obj.opts.$trigger;\r\n }\r\n }\r\n\r\n if (!(obj.$thumb && obj.$thumb.length) && obj.opts.$orig) {\r\n obj.$thumb = obj.opts.$orig.find(\"img:first\");\r\n }\r\n\r\n if (obj.$thumb && !obj.$thumb.length) {\r\n obj.$thumb = null;\r\n }\r\n\r\n obj.thumb = obj.opts.thumb || (obj.$thumb ? obj.$thumb[0].src : null);\r\n\r\n // \"caption\" is a \"special\" option, it can be used to customize caption per gallery item\r\n if ($.type(obj.opts.caption) === \"function\") {\r\n obj.opts.caption = obj.opts.caption.apply(item, [self, obj]);\r\n }\r\n\r\n if ($.type(self.opts.caption) === \"function\") {\r\n obj.opts.caption = self.opts.caption.apply(item, [self, obj]);\r\n }\r\n\r\n // Make sure we have caption as a string or jQuery object\r\n if (!(obj.opts.caption instanceof $)) {\r\n obj.opts.caption = obj.opts.caption === undefined ? \"\" : obj.opts.caption + \"\";\r\n }\r\n\r\n // Check if url contains \"filter\" used to filter the content\r\n // Example: \"ajax.html #something\"\r\n if (obj.type === \"ajax\") {\r\n srcParts = src.split(/\\s+/, 2);\r\n\r\n if (srcParts.length > 1) {\r\n obj.src = srcParts.shift();\r\n\r\n obj.opts.filter = srcParts.shift();\r\n }\r\n }\r\n\r\n // Hide all buttons and disable interactivity for modal items\r\n if (obj.opts.modal) {\r\n obj.opts = $.extend(true, obj.opts, {\r\n trapFocus: true,\r\n // Remove buttons\r\n infobar: 0,\r\n toolbar: 0,\r\n\r\n smallBtn: 0,\r\n\r\n // Disable keyboard navigation\r\n keyboard: 0,\r\n\r\n // Disable some modules\r\n slideShow: 0,\r\n fullScreen: 0,\r\n thumbs: 0,\r\n touch: 0,\r\n\r\n // Disable click event handlers\r\n clickContent: false,\r\n clickSlide: false,\r\n clickOutside: false,\r\n dblclickContent: false,\r\n dblclickSlide: false,\r\n dblclickOutside: false\r\n });\r\n }\r\n\r\n // Step 4 - Add processed object to group\r\n // ======================================\r\n\r\n self.group.push(obj);\r\n });\r\n\r\n // Update controls if gallery is already opened\r\n if (Object.keys(self.slides).length) {\r\n self.updateControls();\r\n\r\n // Update thumbnails, if needed\r\n thumbs = self.Thumbs;\r\n\r\n if (thumbs && thumbs.isActive) {\r\n thumbs.create();\r\n\r\n thumbs.focus();\r\n }\r\n }\r\n },\r\n\r\n // Attach an event handler functions for:\r\n // - navigation buttons\r\n // - browser scrolling, resizing;\r\n // - focusing\r\n // - keyboard\r\n // - detecting inactivity\r\n // ======================================\r\n\r\n addEvents: function () {\r\n var self = this;\r\n\r\n self.removeEvents();\r\n\r\n // Make navigation elements clickable\r\n // ==================================\r\n\r\n self.$refs.container\r\n .on(\"click.fb-close\", \"[data-fancybox-close]\", function (e) {\r\n e.stopPropagation();\r\n e.preventDefault();\r\n\r\n self.close(e);\r\n })\r\n .on(\"touchstart.fb-prev click.fb-prev\", \"[data-fancybox-prev]\", function (e) {\r\n e.stopPropagation();\r\n e.preventDefault();\r\n\r\n self.previous();\r\n })\r\n .on(\"touchstart.fb-next click.fb-next\", \"[data-fancybox-next]\", function (e) {\r\n e.stopPropagation();\r\n e.preventDefault();\r\n\r\n self.next();\r\n })\r\n .on(\"click.fb\", \"[data-fancybox-zoom]\", function (e) {\r\n // Click handler for zoom button\r\n self[self.isScaledDown() ? \"scaleToActual\" : \"scaleToFit\"]();\r\n });\r\n\r\n // Handle page scrolling and browser resizing\r\n // ==========================================\r\n\r\n $W.on(\"orientationchange.fb resize.fb\", function (e) {\r\n if (e && e.originalEvent && e.originalEvent.type === \"resize\") {\r\n if (self.requestId) {\r\n cancelAFrame(self.requestId);\r\n }\r\n\r\n self.requestId = requestAFrame(function () {\r\n self.update(e);\r\n });\r\n } else {\r\n if (self.current && self.current.type === \"iframe\") {\r\n self.$refs.stage.hide();\r\n }\r\n\r\n setTimeout(\r\n function () {\r\n self.$refs.stage.show();\r\n\r\n self.update(e);\r\n },\r\n $.fancybox.isMobile ? 600 : 250\r\n );\r\n }\r\n });\r\n\r\n $D.on(\"keydown.fb\", function (e) {\r\n var instance = $.fancybox ? $.fancybox.getInstance() : null,\r\n current = instance.current,\r\n keycode = e.keyCode || e.which;\r\n\r\n // Trap keyboard focus inside of the modal\r\n // =======================================\r\n\r\n if (keycode == 9) {\r\n if (current.opts.trapFocus) {\r\n self.focus(e);\r\n }\r\n\r\n return;\r\n }\r\n\r\n // Enable keyboard navigation\r\n // ==========================\r\n\r\n if (!current.opts.keyboard || e.ctrlKey || e.altKey || e.shiftKey || $(e.target).is(\"input,textarea,video,audio,select\")) {\r\n return;\r\n }\r\n\r\n // Backspace and Esc keys\r\n if (keycode === 8 || keycode === 27) {\r\n e.preventDefault();\r\n\r\n self.close(e);\r\n\r\n return;\r\n }\r\n\r\n // Left arrow and Up arrow\r\n if (keycode === 37 || keycode === 38) {\r\n e.preventDefault();\r\n\r\n self.previous();\r\n\r\n return;\r\n }\r\n\r\n // Righ arrow and Down arrow\r\n if (keycode === 39 || keycode === 40) {\r\n e.preventDefault();\r\n\r\n self.next();\r\n\r\n return;\r\n }\r\n\r\n self.trigger(\"afterKeydown\", e, keycode);\r\n });\r\n\r\n // Hide controls after some inactivity period\r\n if (self.group[self.currIndex].opts.idleTime) {\r\n self.idleSecondsCounter = 0;\r\n\r\n $D.on(\r\n \"mousemove.fb-idle mouseleave.fb-idle mousedown.fb-idle touchstart.fb-idle touchmove.fb-idle scroll.fb-idle keydown.fb-idle\",\r\n function (e) {\r\n self.idleSecondsCounter = 0;\r\n\r\n if (self.isIdle) {\r\n self.showControls();\r\n }\r\n\r\n self.isIdle = false;\r\n }\r\n );\r\n\r\n self.idleInterval = window.setInterval(function () {\r\n self.idleSecondsCounter++;\r\n\r\n if (self.idleSecondsCounter >= self.group[self.currIndex].opts.idleTime && !self.isDragging) {\r\n self.isIdle = true;\r\n self.idleSecondsCounter = 0;\r\n\r\n self.hideControls();\r\n }\r\n }, 1000);\r\n }\r\n },\r\n\r\n // Remove events added by the core\r\n // ===============================\r\n\r\n removeEvents: function () {\r\n var self = this;\r\n\r\n $W.off(\"orientationchange.fb resize.fb\");\r\n $D.off(\"keydown.fb .fb-idle\");\r\n\r\n this.$refs.container.off(\".fb-close .fb-prev .fb-next\");\r\n\r\n if (self.idleInterval) {\r\n window.clearInterval(self.idleInterval);\r\n\r\n self.idleInterval = null;\r\n }\r\n },\r\n\r\n // Change to previous gallery item\r\n // ===============================\r\n\r\n previous: function (duration) {\r\n return this.jumpTo(this.currPos - 1, duration);\r\n },\r\n\r\n // Change to next gallery item\r\n // ===========================\r\n\r\n next: function (duration) {\r\n return this.jumpTo(this.currPos + 1, duration);\r\n },\r\n\r\n // Switch to selected gallery item\r\n // ===============================\r\n\r\n jumpTo: function (pos, duration) {\r\n var self = this,\r\n groupLen = self.group.length,\r\n firstRun,\r\n isMoved,\r\n loop,\r\n current,\r\n previous,\r\n slidePos,\r\n stagePos,\r\n prop,\r\n diff;\r\n\r\n if (self.isDragging || self.isClosing || (self.isAnimating && self.firstRun)) {\r\n return;\r\n }\r\n\r\n // Should loop?\r\n pos = parseInt(pos, 10);\r\n loop = self.current ? self.current.opts.loop : self.opts.loop;\r\n\r\n if (!loop && (pos < 0 || pos >= groupLen)) {\r\n return false;\r\n }\r\n\r\n // Check if opening for the first time; this helps to speed things up\r\n firstRun = self.firstRun = !Object.keys(self.slides).length;\r\n\r\n // Create slides\r\n previous = self.current;\r\n\r\n self.prevIndex = self.currIndex;\r\n self.prevPos = self.currPos;\r\n\r\n current = self.createSlide(pos);\r\n\r\n if (groupLen > 1) {\r\n if (loop || current.index < groupLen - 1) {\r\n self.createSlide(pos + 1);\r\n }\r\n\r\n if (loop || current.index > 0) {\r\n self.createSlide(pos - 1);\r\n }\r\n }\r\n\r\n self.current = current;\r\n self.currIndex = current.index;\r\n self.currPos = current.pos;\r\n\r\n self.trigger(\"beforeShow\", firstRun);\r\n\r\n self.updateControls();\r\n\r\n // Validate duration length\r\n current.forcedDuration = undefined;\r\n\r\n if ($.isNumeric(duration)) {\r\n current.forcedDuration = duration;\r\n } else {\r\n duration = current.opts[firstRun ? \"animationDuration\" : \"transitionDuration\"];\r\n }\r\n\r\n duration = parseInt(duration, 10);\r\n\r\n // Check if user has swiped the slides or if still animating\r\n isMoved = self.isMoved(current);\r\n\r\n // Make sure current slide is visible\r\n current.$slide.addClass(\"fancybox-slide--current\");\r\n\r\n // Fresh start - reveal container, current slide and start loading content\r\n if (firstRun) {\r\n if (current.opts.animationEffect && duration) {\r\n self.$refs.container.css(\"transition-duration\", duration + \"ms\");\r\n }\r\n\r\n self.$refs.container.addClass(\"fancybox-is-open\").trigger(\"focus\");\r\n\r\n // Attempt to load content into slide\r\n // This will later call `afterLoad` -> `revealContent`\r\n self.loadSlide(current);\r\n\r\n self.preload(\"image\");\r\n\r\n return;\r\n }\r\n\r\n // Get actual slide/stage positions (before cleaning up)\r\n slidePos = $.fancybox.getTranslate(previous.$slide);\r\n stagePos = $.fancybox.getTranslate(self.$refs.stage);\r\n\r\n // Clean up all slides\r\n $.each(self.slides, function (index, slide) {\r\n $.fancybox.stop(slide.$slide, true);\r\n });\r\n\r\n if (previous.pos !== current.pos) {\r\n previous.isComplete = false;\r\n }\r\n\r\n previous.$slide.removeClass(\"fancybox-slide--complete fancybox-slide--current\");\r\n\r\n // If slides are out of place, then animate them to correct position\r\n if (isMoved) {\r\n // Calculate horizontal swipe distance\r\n diff = slidePos.left - (previous.pos * slidePos.width + previous.pos * previous.opts.gutter);\r\n\r\n $.each(self.slides, function (index, slide) {\r\n slide.$slide.removeClass(\"fancybox-animated\").removeClass(function (index, className) {\r\n return (className.match(/(^|\\s)fancybox-fx-\\S+/g) || []).join(\" \");\r\n });\r\n\r\n // Make sure that each slide is in equal distance\r\n // This is mostly needed for freshly added slides, because they are not yet positioned\r\n var leftPos = slide.pos * slidePos.width + slide.pos * slide.opts.gutter;\r\n\r\n $.fancybox.setTranslate(slide.$slide, {\r\n top: 0,\r\n left: leftPos - stagePos.left + diff\r\n });\r\n\r\n if (slide.pos !== current.pos) {\r\n slide.$slide.addClass(\"fancybox-slide--\" + (slide.pos > current.pos ? \"next\" : \"previous\"));\r\n }\r\n\r\n // Redraw to make sure that transition will start\r\n forceRedraw(slide.$slide);\r\n\r\n // Animate the slide\r\n $.fancybox.animate(\r\n slide.$slide, {\r\n top: 0,\r\n left: (slide.pos - current.pos) * slidePos.width + (slide.pos - current.pos) * slide.opts.gutter\r\n },\r\n duration,\r\n function () {\r\n slide.$slide\r\n .css({\r\n transform: \"\",\r\n opacity: \"\"\r\n })\r\n .removeClass(\"fancybox-slide--next fancybox-slide--previous\");\r\n\r\n if (slide.pos === self.currPos) {\r\n self.complete();\r\n }\r\n }\r\n );\r\n });\r\n } else if (duration && current.opts.transitionEffect) {\r\n // Set transition effect for previously active slide\r\n prop = \"fancybox-animated fancybox-fx-\" + current.opts.transitionEffect;\r\n\r\n previous.$slide.addClass(\"fancybox-slide--\" + (previous.pos > current.pos ? \"next\" : \"previous\"));\r\n\r\n $.fancybox.animate(\r\n previous.$slide,\r\n prop,\r\n duration,\r\n function () {\r\n previous.$slide.removeClass(prop).removeClass(\"fancybox-slide--next fancybox-slide--previous\");\r\n },\r\n false\r\n );\r\n }\r\n\r\n if (current.isLoaded) {\r\n self.revealContent(current);\r\n } else {\r\n self.loadSlide(current);\r\n }\r\n\r\n self.preload(\"image\");\r\n },\r\n\r\n // Create new \"slide\" element\r\n // These are gallery items that are actually added to DOM\r\n // =======================================================\r\n\r\n createSlide: function (pos) {\r\n var self = this,\r\n $slide,\r\n index;\r\n\r\n index = pos % self.group.length;\r\n index = index < 0 ? self.group.length + index : index;\r\n\r\n if (!self.slides[pos] && self.group[index]) {\r\n $slide = $('
').appendTo(self.$refs.stage);\r\n\r\n self.slides[pos] = $.extend(true, {}, self.group[index], {\r\n pos: pos,\r\n $slide: $slide,\r\n isLoaded: false\r\n });\r\n\r\n self.updateSlide(self.slides[pos]);\r\n }\r\n\r\n return self.slides[pos];\r\n },\r\n\r\n // Scale image to the actual size of the image;\r\n // x and y values should be relative to the slide\r\n // ==============================================\r\n\r\n scaleToActual: function (x, y, duration) {\r\n var self = this,\r\n current = self.current,\r\n $content = current.$content,\r\n canvasWidth = $.fancybox.getTranslate(current.$slide).width,\r\n canvasHeight = $.fancybox.getTranslate(current.$slide).height,\r\n newImgWidth = current.width,\r\n newImgHeight = current.height,\r\n imgPos,\r\n posX,\r\n posY,\r\n scaleX,\r\n scaleY;\r\n\r\n if (self.isAnimating || self.isMoved() || !$content || !(current.type == \"image\" && current.isLoaded && !current.hasError)) {\r\n return;\r\n }\r\n\r\n self.isAnimating = true;\r\n\r\n $.fancybox.stop($content);\r\n\r\n x = x === undefined ? canvasWidth * 0.5 : x;\r\n y = y === undefined ? canvasHeight * 0.5 : y;\r\n\r\n imgPos = $.fancybox.getTranslate($content);\r\n\r\n imgPos.top -= $.fancybox.getTranslate(current.$slide).top;\r\n imgPos.left -= $.fancybox.getTranslate(current.$slide).left;\r\n\r\n scaleX = newImgWidth / imgPos.width;\r\n scaleY = newImgHeight / imgPos.height;\r\n\r\n // Get center position for original image\r\n posX = canvasWidth * 0.5 - newImgWidth * 0.5;\r\n posY = canvasHeight * 0.5 - newImgHeight * 0.5;\r\n\r\n // Make sure image does not move away from edges\r\n if (newImgWidth > canvasWidth) {\r\n posX = imgPos.left * scaleX - (x * scaleX - x);\r\n\r\n if (posX > 0) {\r\n posX = 0;\r\n }\r\n\r\n if (posX < canvasWidth - newImgWidth) {\r\n posX = canvasWidth - newImgWidth;\r\n }\r\n }\r\n\r\n if (newImgHeight > canvasHeight) {\r\n posY = imgPos.top * scaleY - (y * scaleY - y);\r\n\r\n if (posY > 0) {\r\n posY = 0;\r\n }\r\n\r\n if (posY < canvasHeight - newImgHeight) {\r\n posY = canvasHeight - newImgHeight;\r\n }\r\n }\r\n\r\n self.updateCursor(newImgWidth, newImgHeight);\r\n\r\n $.fancybox.animate(\r\n $content, {\r\n top: posY,\r\n left: posX,\r\n scaleX: scaleX,\r\n scaleY: scaleY\r\n },\r\n duration || 366,\r\n function () {\r\n self.isAnimating = false;\r\n }\r\n );\r\n\r\n // Stop slideshow\r\n if (self.SlideShow && self.SlideShow.isActive) {\r\n self.SlideShow.stop();\r\n }\r\n },\r\n\r\n // Scale image to fit inside parent element\r\n // ========================================\r\n\r\n scaleToFit: function (duration) {\r\n var self = this,\r\n current = self.current,\r\n $content = current.$content,\r\n end;\r\n\r\n if (self.isAnimating || self.isMoved() || !$content || !(current.type == \"image\" && current.isLoaded && !current.hasError)) {\r\n return;\r\n }\r\n\r\n self.isAnimating = true;\r\n\r\n $.fancybox.stop($content);\r\n\r\n end = self.getFitPos(current);\r\n\r\n self.updateCursor(end.width, end.height);\r\n\r\n $.fancybox.animate(\r\n $content, {\r\n top: end.top,\r\n left: end.left,\r\n scaleX: end.width / $content.width(),\r\n scaleY: end.height / $content.height()\r\n },\r\n duration || 366,\r\n function () {\r\n self.isAnimating = false;\r\n }\r\n );\r\n },\r\n\r\n // Calculate image size to fit inside viewport\r\n // ===========================================\r\n\r\n getFitPos: function (slide) {\r\n var self = this,\r\n $content = slide.$content,\r\n $slide = slide.$slide,\r\n width = slide.width || slide.opts.width,\r\n height = slide.height || slide.opts.height,\r\n maxWidth,\r\n maxHeight,\r\n minRatio,\r\n aspectRatio,\r\n rez = {};\r\n\r\n if (!slide.isLoaded || !$content || !$content.length) {\r\n return false;\r\n }\r\n\r\n maxWidth = $.fancybox.getTranslate(self.$refs.stage).width;\r\n maxHeight = $.fancybox.getTranslate(self.$refs.stage).height;\r\n\r\n maxWidth -=\r\n parseFloat($slide.css(\"paddingLeft\")) +\r\n parseFloat($slide.css(\"paddingRight\")) +\r\n parseFloat($content.css(\"marginLeft\")) +\r\n parseFloat($content.css(\"marginRight\"));\r\n\r\n maxHeight -=\r\n parseFloat($slide.css(\"paddingTop\")) +\r\n parseFloat($slide.css(\"paddingBottom\")) +\r\n parseFloat($content.css(\"marginTop\")) +\r\n parseFloat($content.css(\"marginBottom\"));\r\n\r\n if (!width || !height) {\r\n width = maxWidth;\r\n height = maxHeight;\r\n }\r\n\r\n minRatio = Math.min(1, maxWidth / width, maxHeight / height);\r\n\r\n width = minRatio * width;\r\n height = minRatio * height;\r\n\r\n // Adjust width/height to precisely fit into container\r\n if (width > maxWidth - 0.5) {\r\n width = maxWidth;\r\n }\r\n\r\n if (height > maxHeight - 0.5) {\r\n height = maxHeight;\r\n }\r\n\r\n if (slide.type === \"image\") {\r\n rez.top = Math.floor((maxHeight - height) * 0.5) + parseFloat($slide.css(\"paddingTop\"));\r\n rez.left = Math.floor((maxWidth - width) * 0.5) + parseFloat($slide.css(\"paddingLeft\"));\r\n } else if (slide.contentType === \"video\") {\r\n // Force aspect ratio for the video\r\n // \"I say the whole world must learn of our peaceful ways… by force!\"\r\n aspectRatio = slide.opts.width && slide.opts.height ? width / height : slide.opts.ratio || 16 / 9;\r\n\r\n if (height > width / aspectRatio) {\r\n height = width / aspectRatio;\r\n } else if (width > height * aspectRatio) {\r\n width = height * aspectRatio;\r\n }\r\n }\r\n\r\n rez.width = width;\r\n rez.height = height;\r\n\r\n return rez;\r\n },\r\n\r\n // Update content size and position for all slides\r\n // ==============================================\r\n\r\n update: function (e) {\r\n var self = this;\r\n\r\n $.each(self.slides, function (key, slide) {\r\n self.updateSlide(slide, e);\r\n });\r\n },\r\n\r\n // Update slide content position and size\r\n // ======================================\r\n\r\n updateSlide: function (slide, e) {\r\n var self = this,\r\n $content = slide && slide.$content,\r\n width = slide.width || slide.opts.width,\r\n height = slide.height || slide.opts.height,\r\n $slide = slide.$slide;\r\n\r\n // First, prevent caption overlap, if needed\r\n self.adjustCaption(slide);\r\n\r\n // Then resize content to fit inside the slide\r\n if ($content && (width || height || slide.contentType === \"video\") && !slide.hasError) {\r\n $.fancybox.stop($content);\r\n\r\n $.fancybox.setTranslate($content, self.getFitPos(slide));\r\n\r\n if (slide.pos === self.currPos) {\r\n self.isAnimating = false;\r\n\r\n self.updateCursor();\r\n }\r\n }\r\n\r\n // Then some adjustments\r\n self.adjustLayout(slide);\r\n\r\n if ($slide.length) {\r\n $slide.trigger(\"refresh\");\r\n\r\n if (slide.pos === self.currPos) {\r\n self.$refs.toolbar\r\n .add(self.$refs.navigation.find(\".fancybox-button--arrow_right\"))\r\n .toggleClass(\"compensate-for-scrollbar\", $slide.get(0).scrollHeight > $slide.get(0).clientHeight);\r\n }\r\n }\r\n\r\n self.trigger(\"onUpdate\", slide, e);\r\n },\r\n\r\n // Horizontally center slide\r\n // =========================\r\n\r\n centerSlide: function (duration) {\r\n var self = this,\r\n current = self.current,\r\n $slide = current.$slide;\r\n\r\n if (self.isClosing || !current) {\r\n return;\r\n }\r\n\r\n $slide.siblings().css({\r\n transform: \"\",\r\n opacity: \"\"\r\n });\r\n\r\n $slide\r\n .parent()\r\n .children()\r\n .removeClass(\"fancybox-slide--previous fancybox-slide--next\");\r\n\r\n $.fancybox.animate(\r\n $slide, {\r\n top: 0,\r\n left: 0,\r\n opacity: 1\r\n },\r\n duration === undefined ? 0 : duration,\r\n function () {\r\n // Clean up\r\n $slide.css({\r\n transform: \"\",\r\n opacity: \"\"\r\n });\r\n\r\n if (!current.isComplete) {\r\n self.complete();\r\n }\r\n },\r\n false\r\n );\r\n },\r\n\r\n // Check if current slide is moved (swiped)\r\n // ========================================\r\n\r\n isMoved: function (slide) {\r\n var current = slide || this.current,\r\n slidePos,\r\n stagePos;\r\n\r\n if (!current) {\r\n return false;\r\n }\r\n\r\n stagePos = $.fancybox.getTranslate(this.$refs.stage);\r\n slidePos = $.fancybox.getTranslate(current.$slide);\r\n\r\n return (\r\n !current.$slide.hasClass(\"fancybox-animated\") &&\r\n (Math.abs(slidePos.top - stagePos.top) > 0.5 || Math.abs(slidePos.left - stagePos.left) > 0.5)\r\n );\r\n },\r\n\r\n // Update cursor style depending if content can be zoomed\r\n // ======================================================\r\n\r\n updateCursor: function (nextWidth, nextHeight) {\r\n var self = this,\r\n current = self.current,\r\n $container = self.$refs.container,\r\n canPan,\r\n isZoomable;\r\n\r\n if (!current || self.isClosing || !self.Guestures) {\r\n return;\r\n }\r\n\r\n $container.removeClass(\"fancybox-is-zoomable fancybox-can-zoomIn fancybox-can-zoomOut fancybox-can-swipe fancybox-can-pan\");\r\n\r\n canPan = self.canPan(nextWidth, nextHeight);\r\n\r\n isZoomable = canPan ? true : self.isZoomable();\r\n\r\n $container.toggleClass(\"fancybox-is-zoomable\", isZoomable);\r\n\r\n $(\"[data-fancybox-zoom]\").prop(\"disabled\", !isZoomable);\r\n\r\n if (canPan) {\r\n $container.addClass(\"fancybox-can-pan\");\r\n } else if (\r\n isZoomable &&\r\n (current.opts.clickContent === \"zoom\" || ($.isFunction(current.opts.clickContent) && current.opts.clickContent(current) == \"zoom\"))\r\n ) {\r\n $container.addClass(\"fancybox-can-zoomIn\");\r\n } else if (current.opts.touch && (current.opts.touch.vertical || self.group.length > 1) && current.contentType !== \"video\") {\r\n $container.addClass(\"fancybox-can-swipe\");\r\n }\r\n },\r\n\r\n // Check if current slide is zoomable\r\n // ==================================\r\n\r\n isZoomable: function () {\r\n var self = this,\r\n current = self.current,\r\n fitPos;\r\n\r\n // Assume that slide is zoomable if:\r\n // - image is still loading\r\n // - actual size of the image is smaller than available area\r\n if (current && !self.isClosing && current.type === \"image\" && !current.hasError) {\r\n if (!current.isLoaded) {\r\n return true;\r\n }\r\n\r\n fitPos = self.getFitPos(current);\r\n\r\n if (fitPos && (current.width > fitPos.width || current.height > fitPos.height)) {\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n },\r\n\r\n // Check if current image dimensions are smaller than actual\r\n // =========================================================\r\n\r\n isScaledDown: function (nextWidth, nextHeight) {\r\n var self = this,\r\n rez = false,\r\n current = self.current,\r\n $content = current.$content;\r\n\r\n if (nextWidth !== undefined && nextHeight !== undefined) {\r\n rez = nextWidth < current.width && nextHeight < current.height;\r\n } else if ($content) {\r\n rez = $.fancybox.getTranslate($content);\r\n rez = rez.width < current.width && rez.height < current.height;\r\n }\r\n\r\n return rez;\r\n },\r\n\r\n // Check if image dimensions exceed parent element\r\n // ===============================================\r\n\r\n canPan: function (nextWidth, nextHeight) {\r\n var self = this,\r\n current = self.current,\r\n pos = null,\r\n rez = false;\r\n\r\n if (current.type === \"image\" && (current.isComplete || (nextWidth && nextHeight)) && !current.hasError) {\r\n rez = self.getFitPos(current);\r\n\r\n if (nextWidth !== undefined && nextHeight !== undefined) {\r\n pos = {\r\n width: nextWidth,\r\n height: nextHeight\r\n };\r\n } else if (current.isComplete) {\r\n pos = $.fancybox.getTranslate(current.$content);\r\n }\r\n\r\n if (pos && rez) {\r\n rez = Math.abs(pos.width - rez.width) > 1.5 || Math.abs(pos.height - rez.height) > 1.5;\r\n }\r\n }\r\n\r\n return rez;\r\n },\r\n\r\n // Load content into the slide\r\n // ===========================\r\n\r\n loadSlide: function (slide) {\r\n var self = this,\r\n type,\r\n $slide,\r\n ajaxLoad;\r\n\r\n if (slide.isLoading || slide.isLoaded) {\r\n return;\r\n }\r\n\r\n slide.isLoading = true;\r\n\r\n if (self.trigger(\"beforeLoad\", slide) === false) {\r\n slide.isLoading = false;\r\n\r\n return false;\r\n }\r\n\r\n type = slide.type;\r\n $slide = slide.$slide;\r\n\r\n $slide\r\n .off(\"refresh\")\r\n .trigger(\"onReset\")\r\n .addClass(slide.opts.slideClass);\r\n\r\n // Create content depending on the type\r\n switch (type) {\r\n case \"image\":\r\n self.setImage(slide);\r\n\r\n break;\r\n\r\n case \"iframe\":\r\n self.setIframe(slide);\r\n\r\n break;\r\n\r\n case \"html\":\r\n self.setContent(slide, slide.src || slide.content);\r\n\r\n break;\r\n\r\n case \"video\":\r\n self.setContent(\r\n slide,\r\n slide.opts.video.tpl\r\n .replace(/\\{\\{src\\}\\}/gi, slide.src)\r\n .replace(\"{{format}}\", slide.opts.videoFormat || slide.opts.video.format || \"\")\r\n .replace(\"{{poster}}\", slide.thumb || \"\")\r\n );\r\n\r\n break;\r\n\r\n case \"inline\":\r\n if ($(slide.src).length) {\r\n self.setContent(slide, $(slide.src));\r\n } else {\r\n self.setError(slide);\r\n }\r\n\r\n break;\r\n\r\n case \"ajax\":\r\n self.showLoading(slide);\r\n\r\n ajaxLoad = $.ajax(\r\n $.extend({}, slide.opts.ajax.settings, {\r\n url: slide.src,\r\n success: function (data, textStatus) {\r\n if (textStatus === \"success\") {\r\n self.setContent(slide, data);\r\n }\r\n },\r\n error: function (jqXHR, textStatus) {\r\n if (jqXHR && textStatus !== \"abort\") {\r\n self.setError(slide);\r\n }\r\n }\r\n })\r\n );\r\n\r\n $slide.one(\"onReset\", function () {\r\n ajaxLoad.abort();\r\n });\r\n\r\n break;\r\n\r\n default:\r\n self.setError(slide);\r\n\r\n break;\r\n }\r\n\r\n return true;\r\n },\r\n\r\n // Use thumbnail image, if possible\r\n // ================================\r\n\r\n setImage: function (slide) {\r\n var self = this,\r\n ghost;\r\n\r\n // Check if need to show loading icon\r\n setTimeout(function () {\r\n var $img = slide.$image;\r\n\r\n if (!self.isClosing && slide.isLoading && (!$img || !$img.length || !$img[0].complete) && !slide.hasError) {\r\n self.showLoading(slide);\r\n }\r\n }, 50);\r\n\r\n //Check if image has srcset\r\n self.checkSrcset(slide);\r\n\r\n // This will be wrapper containing both ghost and actual image\r\n slide.$content = $('
')\r\n .addClass(\"fancybox-is-hidden\")\r\n .appendTo(slide.$slide.addClass(\"fancybox-slide--image\"));\r\n\r\n // If we have a thumbnail, we can display it while actual image is loading\r\n // Users will not stare at black screen and actual image will appear gradually\r\n if (slide.opts.preload !== false && slide.opts.width && slide.opts.height && slide.thumb) {\r\n slide.width = slide.opts.width;\r\n slide.height = slide.opts.height;\r\n\r\n ghost = document.createElement(\"img\");\r\n\r\n ghost.onerror = function () {\r\n $(this).remove();\r\n\r\n slide.$ghost = null;\r\n };\r\n\r\n ghost.onload = function () {\r\n self.afterLoad(slide);\r\n };\r\n\r\n slide.$ghost = $(ghost)\r\n .addClass(\"fancybox-image\")\r\n .appendTo(slide.$content)\r\n .attr(\"src\", slide.thumb);\r\n }\r\n\r\n // Start loading actual image\r\n self.setBigImage(slide);\r\n },\r\n\r\n // Check if image has srcset and get the source\r\n // ============================================\r\n checkSrcset: function (slide) {\r\n var srcset = slide.opts.srcset || slide.opts.image.srcset,\r\n found,\r\n temp,\r\n pxRatio,\r\n windowWidth;\r\n\r\n // If we have \"srcset\", then we need to find first matching \"src\" value.\r\n // This is necessary, because when you set an src attribute, the browser will preload the image\r\n // before any javascript or even CSS is applied.\r\n if (srcset) {\r\n pxRatio = window.devicePixelRatio || 1;\r\n windowWidth = window.innerWidth * pxRatio;\r\n\r\n temp = srcset.split(\",\").map(function (el) {\r\n var ret = {};\r\n\r\n el.trim()\r\n .split(/\\s+/)\r\n .forEach(function (el, i) {\r\n var value = parseInt(el.substring(0, el.length - 1), 10);\r\n\r\n if (i === 0) {\r\n return (ret.url = el);\r\n }\r\n\r\n if (value) {\r\n ret.value = value;\r\n ret.postfix = el[el.length - 1];\r\n }\r\n });\r\n\r\n return ret;\r\n });\r\n\r\n // Sort by value\r\n temp.sort(function (a, b) {\r\n return a.value - b.value;\r\n });\r\n\r\n // Ok, now we have an array of all srcset values\r\n for (var j = 0; j < temp.length; j++) {\r\n var el = temp[j];\r\n\r\n if ((el.postfix === \"w\" && el.value >= windowWidth) || (el.postfix === \"x\" && el.value >= pxRatio)) {\r\n found = el;\r\n break;\r\n }\r\n }\r\n\r\n // If not found, take the last one\r\n if (!found && temp.length) {\r\n found = temp[temp.length - 1];\r\n }\r\n\r\n if (found) {\r\n slide.src = found.url;\r\n\r\n // If we have default width/height values, we can calculate height for matching source\r\n if (slide.width && slide.height && found.postfix == \"w\") {\r\n slide.height = (slide.width / slide.height) * found.value;\r\n slide.width = found.value;\r\n }\r\n\r\n slide.opts.srcset = srcset;\r\n }\r\n }\r\n },\r\n\r\n // Create full-size image\r\n // ======================\r\n\r\n setBigImage: function (slide) {\r\n var self = this,\r\n img = document.createElement(\"img\"),\r\n $img = $(img);\r\n\r\n slide.$image = $img\r\n .one(\"error\", function () {\r\n self.setError(slide);\r\n })\r\n .one(\"load\", function () {\r\n var sizes;\r\n\r\n if (!slide.$ghost) {\r\n self.resolveImageSlideSize(slide, this.naturalWidth, this.naturalHeight);\r\n\r\n self.afterLoad(slide);\r\n }\r\n\r\n if (self.isClosing) {\r\n return;\r\n }\r\n\r\n if (slide.opts.srcset) {\r\n sizes = slide.opts.sizes;\r\n\r\n if (!sizes || sizes === \"auto\") {\r\n sizes =\r\n (slide.width / slide.height > 1 && $W.width() / $W.height() > 1 ? \"100\" : Math.round((slide.width / slide.height) * 100)) +\r\n \"vw\";\r\n }\r\n\r\n $img.attr(\"sizes\", sizes).attr(\"srcset\", slide.opts.srcset);\r\n }\r\n\r\n // Hide temporary image after some delay\r\n if (slide.$ghost) {\r\n setTimeout(function () {\r\n if (slide.$ghost && !self.isClosing) {\r\n slide.$ghost.hide();\r\n }\r\n }, Math.min(300, Math.max(1000, slide.height / 1600)));\r\n }\r\n\r\n self.hideLoading(slide);\r\n })\r\n .addClass(\"fancybox-image\")\r\n .attr(\"src\", slide.src)\r\n .appendTo(slide.$content);\r\n\r\n if ((img.complete || img.readyState == \"complete\") && $img.naturalWidth && $img.naturalHeight) {\r\n $img.trigger(\"load\");\r\n } else if (img.error) {\r\n $img.trigger(\"error\");\r\n }\r\n },\r\n\r\n // Computes the slide size from image size and maxWidth/maxHeight\r\n // ==============================================================\r\n\r\n resolveImageSlideSize: function (slide, imgWidth, imgHeight) {\r\n var maxWidth = parseInt(slide.opts.width, 10),\r\n maxHeight = parseInt(slide.opts.height, 10);\r\n\r\n // Sets the default values from the image\r\n slide.width = imgWidth;\r\n slide.height = imgHeight;\r\n\r\n if (maxWidth > 0) {\r\n slide.width = maxWidth;\r\n slide.height = Math.floor((maxWidth * imgHeight) / imgWidth);\r\n }\r\n\r\n if (maxHeight > 0) {\r\n slide.width = Math.floor((maxHeight * imgWidth) / imgHeight);\r\n slide.height = maxHeight;\r\n }\r\n },\r\n\r\n // Create iframe wrapper, iframe and bindings\r\n // ==========================================\r\n\r\n setIframe: function (slide) {\r\n var self = this,\r\n opts = slide.opts.iframe,\r\n $slide = slide.$slide,\r\n $iframe;\r\n\r\n slide.$content = $('
')\r\n .css(opts.css)\r\n .appendTo($slide);\r\n\r\n $slide.addClass(\"fancybox-slide--\" + slide.contentType);\r\n\r\n slide.$iframe = $iframe = $(opts.tpl.replace(/\\{rnd\\}/g, new Date().getTime()))\r\n .attr(opts.attr)\r\n .appendTo(slide.$content);\r\n\r\n if (opts.preload) {\r\n self.showLoading(slide);\r\n\r\n // Unfortunately, it is not always possible to determine if iframe is successfully loaded\r\n // (due to browser security policy)\r\n\r\n $iframe.on(\"load.fb error.fb\", function (e) {\r\n this.isReady = 1;\r\n\r\n slide.$slide.trigger(\"refresh\");\r\n\r\n self.afterLoad(slide);\r\n });\r\n\r\n // Recalculate iframe content size\r\n // ===============================\r\n\r\n $slide.on(\"refresh.fb\", function () {\r\n var $content = slide.$content,\r\n frameWidth = opts.css.width,\r\n frameHeight = opts.css.height,\r\n $contents,\r\n $body;\r\n\r\n if ($iframe[0].isReady !== 1) {\r\n return;\r\n }\r\n\r\n try {\r\n $contents = $iframe.contents();\r\n $body = $contents.find(\"body\");\r\n } catch (ignore) {}\r\n\r\n // Calculate content dimensions, if it is accessible\r\n if ($body && $body.length && $body.children().length) {\r\n // Avoid scrolling to top (if multiple instances)\r\n $slide.css(\"overflow\", \"visible\");\r\n\r\n $content.css({\r\n width: \"100%\",\r\n \"max-width\": \"100%\",\r\n height: \"9999px\"\r\n });\r\n\r\n if (frameWidth === undefined) {\r\n frameWidth = Math.ceil(Math.max($body[0].clientWidth, $body.outerWidth(true)));\r\n }\r\n\r\n $content.css(\"width\", frameWidth ? frameWidth : \"\").css(\"max-width\", \"\");\r\n\r\n if (frameHeight === undefined) {\r\n frameHeight = Math.ceil(Math.max($body[0].clientHeight, $body.outerHeight(true)));\r\n }\r\n\r\n $content.css(\"height\", frameHeight ? frameHeight : \"\");\r\n\r\n $slide.css(\"overflow\", \"auto\");\r\n }\r\n\r\n $content.removeClass(\"fancybox-is-hidden\");\r\n });\r\n } else {\r\n self.afterLoad(slide);\r\n }\r\n\r\n $iframe.attr(\"src\", slide.src);\r\n\r\n // Remove iframe if closing or changing gallery item\r\n $slide.one(\"onReset\", function () {\r\n // This helps IE not to throw errors when closing\r\n try {\r\n $(this)\r\n .find(\"iframe\")\r\n .hide()\r\n .unbind()\r\n .attr(\"src\", \"//about:blank\");\r\n } catch (ignore) {}\r\n\r\n $(this)\r\n .off(\"refresh.fb\")\r\n .empty();\r\n\r\n slide.isLoaded = false;\r\n slide.isRevealed = false;\r\n });\r\n },\r\n\r\n // Wrap and append content to the slide\r\n // ======================================\r\n\r\n setContent: function (slide, content) {\r\n var self = this;\r\n\r\n if (self.isClosing) {\r\n return;\r\n }\r\n\r\n self.hideLoading(slide);\r\n\r\n if (slide.$content) {\r\n $.fancybox.stop(slide.$content);\r\n }\r\n\r\n slide.$slide.empty();\r\n\r\n // If content is a jQuery object, then it will be moved to the slide.\r\n // The placeholder is created so we will know where to put it back.\r\n if (isQuery(content) && content.parent().length) {\r\n // Make sure content is not already moved to fancyBox\r\n if (content.hasClass(\"fancybox-content\") || content.parent().hasClass(\"fancybox-content\")) {\r\n content.parents(\".fancybox-slide\").trigger(\"onReset\");\r\n }\r\n\r\n // Create temporary element marking original place of the content\r\n slide.$placeholder = $(\"
\")\r\n .hide()\r\n .insertAfter(content);\r\n\r\n // Make sure content is visible\r\n content.css(\"display\", \"inline-block\");\r\n } else if (!slide.hasError) {\r\n // If content is just a plain text, try to convert it to html\r\n if ($.type(content) === \"string\") {\r\n content = $(\"
\")\r\n .append($.trim(content))\r\n .contents();\r\n }\r\n\r\n // If \"filter\" option is provided, then filter content\r\n if (slide.opts.filter) {\r\n content = $(\"
\")\r\n .html(content)\r\n .find(slide.opts.filter);\r\n }\r\n }\r\n\r\n slide.$slide.one(\"onReset\", function () {\r\n // Pause all html5 video/audio\r\n $(this)\r\n .find(\"video,audio\")\r\n .trigger(\"pause\");\r\n\r\n // Put content back\r\n if (slide.$placeholder) {\r\n slide.$placeholder.after(content.removeClass(\"fancybox-content\").hide()).remove();\r\n\r\n slide.$placeholder = null;\r\n }\r\n\r\n // Remove custom close button\r\n if (slide.$smallBtn) {\r\n slide.$smallBtn.remove();\r\n\r\n slide.$smallBtn = null;\r\n }\r\n\r\n // Remove content and mark slide as not loaded\r\n if (!slide.hasError) {\r\n $(this).empty();\r\n\r\n slide.isLoaded = false;\r\n slide.isRevealed = false;\r\n }\r\n });\r\n\r\n $(content).appendTo(slide.$slide);\r\n\r\n if ($(content).is(\"video,audio\")) {\r\n $(content).addClass(\"fancybox-video\");\r\n\r\n $(content).wrap(\"
\");\r\n\r\n slide.contentType = \"video\";\r\n\r\n slide.opts.width = slide.opts.width || $(content).attr(\"width\");\r\n slide.opts.height = slide.opts.height || $(content).attr(\"height\");\r\n }\r\n\r\n slide.$content = slide.$slide\r\n .children()\r\n .filter(\"div,form,main,video,audio,article,.fancybox-content\")\r\n .first();\r\n\r\n slide.$content.siblings().hide();\r\n\r\n // Re-check if there is a valid content\r\n // (in some cases, ajax response can contain various elements or plain text)\r\n if (!slide.$content.length) {\r\n slide.$content = slide.$slide\r\n .wrapInner(\"
\")\r\n .children()\r\n .first();\r\n }\r\n\r\n slide.$content.addClass(\"fancybox-content\");\r\n\r\n slide.$slide.addClass(\"fancybox-slide--\" + slide.contentType);\r\n\r\n self.afterLoad(slide);\r\n },\r\n\r\n // Display error message\r\n // =====================\r\n\r\n setError: function (slide) {\r\n slide.hasError = true;\r\n\r\n slide.$slide\r\n .trigger(\"onReset\")\r\n .removeClass(\"fancybox-slide--\" + slide.contentType)\r\n .addClass(\"fancybox-slide--error\");\r\n\r\n slide.contentType = \"html\";\r\n\r\n this.setContent(slide, this.translate(slide, slide.opts.errorTpl));\r\n\r\n if (slide.pos === this.currPos) {\r\n this.isAnimating = false;\r\n }\r\n },\r\n\r\n // Show loading icon inside the slide\r\n // ==================================\r\n\r\n showLoading: function (slide) {\r\n var self = this;\r\n\r\n slide = slide || self.current;\r\n\r\n if (slide && !slide.$spinner) {\r\n slide.$spinner = $(self.translate(self, self.opts.spinnerTpl))\r\n .appendTo(slide.$slide)\r\n .hide()\r\n .fadeIn(\"fast\");\r\n }\r\n },\r\n\r\n // Remove loading icon from the slide\r\n // ==================================\r\n\r\n hideLoading: function (slide) {\r\n var self = this;\r\n\r\n slide = slide || self.current;\r\n\r\n if (slide && slide.$spinner) {\r\n slide.$spinner.stop().remove();\r\n\r\n delete slide.$spinner;\r\n }\r\n },\r\n\r\n // Adjustments after slide content has been loaded\r\n // ===============================================\r\n\r\n afterLoad: function (slide) {\r\n var self = this;\r\n\r\n if (self.isClosing) {\r\n return;\r\n }\r\n\r\n slide.isLoading = false;\r\n slide.isLoaded = true;\r\n\r\n self.trigger(\"afterLoad\", slide);\r\n\r\n self.hideLoading(slide);\r\n\r\n // Add small close button\r\n if (slide.opts.smallBtn && (!slide.$smallBtn || !slide.$smallBtn.length)) {\r\n slide.$smallBtn = $(self.translate(slide, slide.opts.btnTpl.smallBtn)).appendTo(slide.$content);\r\n }\r\n\r\n // Disable right click\r\n if (slide.opts.protect && slide.$content && !slide.hasError) {\r\n slide.$content.on(\"contextmenu.fb\", function (e) {\r\n if (e.button == 2) {\r\n e.preventDefault();\r\n }\r\n\r\n return true;\r\n });\r\n\r\n // Add fake element on top of the image\r\n // This makes a bit harder for user to select image\r\n if (slide.type === \"image\") {\r\n $('
').appendTo(slide.$content);\r\n }\r\n }\r\n\r\n self.adjustCaption(slide);\r\n\r\n self.adjustLayout(slide);\r\n\r\n if (slide.pos === self.currPos) {\r\n self.updateCursor();\r\n }\r\n\r\n self.revealContent(slide);\r\n },\r\n\r\n // Prevent caption overlap,\r\n // fix css inconsistency across browsers\r\n // =====================================\r\n\r\n adjustCaption: function (slide) {\r\n var self = this,\r\n current = slide || self.current,\r\n caption = current.opts.caption,\r\n preventOverlap = current.opts.preventCaptionOverlap,\r\n $caption = self.$refs.caption,\r\n $clone,\r\n captionH = false;\r\n\r\n $caption.toggleClass(\"fancybox-caption--separate\", preventOverlap);\r\n\r\n if (preventOverlap && caption && caption.length) {\r\n if (current.pos !== self.currPos) {\r\n $clone = $caption.clone().appendTo($caption.parent());\r\n\r\n $clone\r\n .children()\r\n .eq(0)\r\n .empty()\r\n .html(caption);\r\n\r\n captionH = $clone.outerHeight(true);\r\n\r\n $clone.empty().remove();\r\n } else if (self.$caption) {\r\n captionH = self.$caption.outerHeight(true);\r\n }\r\n\r\n current.$slide.css(\"padding-bottom\", captionH || \"\");\r\n }\r\n },\r\n\r\n // Simple hack to fix inconsistency across browsers, described here (affects Edge, too):\r\n // https://bugzilla.mozilla.org/show_bug.cgi?id=748518\r\n // ====================================================================================\r\n\r\n adjustLayout: function (slide) {\r\n var self = this,\r\n current = slide || self.current,\r\n scrollHeight,\r\n marginBottom,\r\n inlinePadding,\r\n actualPadding;\r\n\r\n if (current.isLoaded && current.opts.disableLayoutFix !== true) {\r\n current.$content.css(\"margin-bottom\", \"\");\r\n\r\n // If we would always set margin-bottom for the content,\r\n // then it would potentially break vertical align\r\n if (current.$content.outerHeight() > current.$slide.height() + 0.5) {\r\n inlinePadding = current.$slide[0].style[\"padding-bottom\"];\r\n actualPadding = current.$slide.css(\"padding-bottom\");\r\n\r\n if (parseFloat(actualPadding) > 0) {\r\n scrollHeight = current.$slide[0].scrollHeight;\r\n\r\n current.$slide.css(\"padding-bottom\", 0);\r\n\r\n if (Math.abs(scrollHeight - current.$slide[0].scrollHeight) < 1) {\r\n marginBottom = actualPadding;\r\n }\r\n\r\n current.$slide.css(\"padding-bottom\", inlinePadding);\r\n }\r\n }\r\n\r\n current.$content.css(\"margin-bottom\", marginBottom);\r\n }\r\n },\r\n\r\n // Make content visible\r\n // This method is called right after content has been loaded or\r\n // user navigates gallery and transition should start\r\n // ============================================================\r\n\r\n revealContent: function (slide) {\r\n var self = this,\r\n $slide = slide.$slide,\r\n end = false,\r\n start = false,\r\n isMoved = self.isMoved(slide),\r\n isRevealed = slide.isRevealed,\r\n effect,\r\n effectClassName,\r\n duration,\r\n opacity;\r\n\r\n slide.isRevealed = true;\r\n\r\n effect = slide.opts[self.firstRun ? \"animationEffect\" : \"transitionEffect\"];\r\n duration = slide.opts[self.firstRun ? \"animationDuration\" : \"transitionDuration\"];\r\n\r\n duration = parseInt(slide.forcedDuration === undefined ? duration : slide.forcedDuration, 10);\r\n\r\n if (isMoved || slide.pos !== self.currPos || !duration) {\r\n effect = false;\r\n }\r\n\r\n // Check if can zoom\r\n if (effect === \"zoom\") {\r\n if (slide.pos === self.currPos && duration && slide.type === \"image\" && !slide.hasError && (start = self.getThumbPos(slide))) {\r\n end = self.getFitPos(slide);\r\n } else {\r\n effect = \"fade\";\r\n }\r\n }\r\n\r\n // Zoom animation\r\n // ==============\r\n if (effect === \"zoom\") {\r\n self.isAnimating = true;\r\n\r\n end.scaleX = end.width / start.width;\r\n end.scaleY = end.height / start.height;\r\n\r\n // Check if we need to animate opacity\r\n opacity = slide.opts.zoomOpacity;\r\n\r\n if (opacity == \"auto\") {\r\n opacity = Math.abs(slide.width / slide.height - start.width / start.height) > 0.1;\r\n }\r\n\r\n if (opacity) {\r\n start.opacity = 0.1;\r\n end.opacity = 1;\r\n }\r\n\r\n // Draw image at start position\r\n $.fancybox.setTranslate(slide.$content.removeClass(\"fancybox-is-hidden\"), start);\r\n\r\n forceRedraw(slide.$content);\r\n\r\n // Start animation\r\n $.fancybox.animate(slide.$content, end, duration, function () {\r\n self.isAnimating = false;\r\n\r\n self.complete();\r\n });\r\n\r\n return;\r\n }\r\n\r\n self.updateSlide(slide);\r\n\r\n // Simply show content if no effect\r\n // ================================\r\n if (!effect) {\r\n slide.$content.removeClass(\"fancybox-is-hidden\");\r\n\r\n if (!isRevealed && isMoved && slide.type === \"image\" && !slide.hasError) {\r\n slide.$content.hide().fadeIn(\"fast\");\r\n }\r\n\r\n if (slide.pos === self.currPos) {\r\n self.complete();\r\n }\r\n\r\n return;\r\n }\r\n\r\n // Prepare for CSS transiton\r\n // =========================\r\n $.fancybox.stop($slide);\r\n\r\n //effectClassName = \"fancybox-animated fancybox-slide--\" + (slide.pos >= self.prevPos ? \"next\" : \"previous\") + \" fancybox-fx-\" + effect;\r\n effectClassName = \"fancybox-slide--\" + (slide.pos >= self.prevPos ? \"next\" : \"previous\") + \" fancybox-animated fancybox-fx-\" + effect;\r\n\r\n $slide.addClass(effectClassName).removeClass(\"fancybox-slide--current\"); //.addClass(effectClassName);\r\n\r\n slide.$content.removeClass(\"fancybox-is-hidden\");\r\n\r\n // Force reflow\r\n forceRedraw($slide);\r\n\r\n if (slide.type !== \"image\") {\r\n slide.$content.hide().show(0);\r\n }\r\n\r\n $.fancybox.animate(\r\n $slide,\r\n \"fancybox-slide--current\",\r\n duration,\r\n function () {\r\n $slide.removeClass(effectClassName).css({\r\n transform: \"\",\r\n opacity: \"\"\r\n });\r\n\r\n if (slide.pos === self.currPos) {\r\n self.complete();\r\n }\r\n },\r\n true\r\n );\r\n },\r\n\r\n // Check if we can and have to zoom from thumbnail\r\n //================================================\r\n\r\n getThumbPos: function (slide) {\r\n var rez = false,\r\n $thumb = slide.$thumb,\r\n thumbPos,\r\n btw,\r\n brw,\r\n bbw,\r\n blw;\r\n\r\n if (!$thumb || !inViewport($thumb[0])) {\r\n return false;\r\n }\r\n\r\n thumbPos = $.fancybox.getTranslate($thumb);\r\n\r\n btw = parseFloat($thumb.css(\"border-top-width\") || 0);\r\n brw = parseFloat($thumb.css(\"border-right-width\") || 0);\r\n bbw = parseFloat($thumb.css(\"border-bottom-width\") || 0);\r\n blw = parseFloat($thumb.css(\"border-left-width\") || 0);\r\n\r\n rez = {\r\n top: thumbPos.top + btw,\r\n left: thumbPos.left + blw,\r\n width: thumbPos.width - brw - blw,\r\n height: thumbPos.height - btw - bbw,\r\n scaleX: 1,\r\n scaleY: 1\r\n };\r\n\r\n return thumbPos.width > 0 && thumbPos.height > 0 ? rez : false;\r\n },\r\n\r\n // Final adjustments after current gallery item is moved to position\r\n // and it`s content is loaded\r\n // ==================================================================\r\n\r\n complete: function () {\r\n var self = this,\r\n current = self.current,\r\n slides = {},\r\n $el;\r\n\r\n if (self.isMoved() || !current.isLoaded) {\r\n return;\r\n }\r\n\r\n if (!current.isComplete) {\r\n current.isComplete = true;\r\n\r\n current.$slide.siblings().trigger(\"onReset\");\r\n\r\n self.preload(\"inline\");\r\n\r\n // Trigger any CSS transiton inside the slide\r\n forceRedraw(current.$slide);\r\n\r\n current.$slide.addClass(\"fancybox-slide--complete\");\r\n\r\n // Remove unnecessary slides\r\n $.each(self.slides, function (key, slide) {\r\n if (slide.pos >= self.currPos - 1 && slide.pos <= self.currPos + 1) {\r\n slides[slide.pos] = slide;\r\n } else if (slide) {\r\n $.fancybox.stop(slide.$slide);\r\n\r\n slide.$slide.off().remove();\r\n }\r\n });\r\n\r\n self.slides = slides;\r\n }\r\n\r\n self.isAnimating = false;\r\n\r\n self.updateCursor();\r\n\r\n self.trigger(\"afterShow\");\r\n\r\n // Autoplay first html5 video/audio\r\n if (!!current.opts.video.autoStart) {\r\n current.$slide\r\n .find(\"video,audio\")\r\n .filter(\":visible:first\")\r\n .trigger(\"play\")\r\n .one(\"ended\", function () {\r\n if (Document.exitFullscreen) {\r\n Document.exitFullscreen();\r\n } else if (this.webkitExitFullscreen) {\r\n this.webkitExitFullscreen();\r\n }\r\n\r\n self.next();\r\n });\r\n }\r\n\r\n // Try to focus on the first focusable element\r\n if (current.opts.autoFocus && current.contentType === \"html\") {\r\n // Look for the first input with autofocus attribute\r\n $el = current.$content.find(\"input[autofocus]:enabled:visible:first\");\r\n\r\n if ($el.length) {\r\n $el.trigger(\"focus\");\r\n } else {\r\n self.focus(null, true);\r\n }\r\n }\r\n\r\n // Avoid jumping\r\n current.$slide.scrollTop(0).scrollLeft(0);\r\n },\r\n\r\n // Preload next and previous slides\r\n // ================================\r\n\r\n preload: function (type) {\r\n var self = this,\r\n prev,\r\n next;\r\n\r\n if (self.group.length < 2) {\r\n return;\r\n }\r\n\r\n next = self.slides[self.currPos + 1];\r\n prev = self.slides[self.currPos - 1];\r\n\r\n if (prev && prev.type === type) {\r\n self.loadSlide(prev);\r\n }\r\n\r\n if (next && next.type === type) {\r\n self.loadSlide(next);\r\n }\r\n },\r\n\r\n // Try to find and focus on the first focusable element\r\n // ====================================================\r\n\r\n focus: function (e, firstRun) {\r\n var self = this,\r\n focusableStr = [\r\n \"a[href]\",\r\n \"area[href]\",\r\n 'input:not([disabled]):not([type=\"hidden\"]):not([aria-hidden])',\r\n \"select:not([disabled]):not([aria-hidden])\",\r\n \"textarea:not([disabled]):not([aria-hidden])\",\r\n \"button:not([disabled]):not([aria-hidden])\",\r\n \"iframe\",\r\n \"object\",\r\n \"embed\",\r\n \"video\",\r\n \"audio\",\r\n \"[contenteditable]\",\r\n '[tabindex]:not([tabindex^=\"-\"])'\r\n ].join(\",\"),\r\n focusableItems,\r\n focusedItemIndex;\r\n\r\n if (self.isClosing) {\r\n return;\r\n }\r\n\r\n if (e || !self.current || !self.current.isComplete) {\r\n // Focus on any element inside fancybox\r\n focusableItems = self.$refs.container.find(\"*:visible\");\r\n } else {\r\n // Focus inside current slide\r\n focusableItems = self.current.$slide.find(\"*:visible\" + (firstRun ? \":not(.fancybox-close-small)\" : \"\"));\r\n }\r\n\r\n focusableItems = focusableItems.filter(focusableStr).filter(function () {\r\n return $(this).css(\"visibility\") !== \"hidden\" && !$(this).hasClass(\"disabled\");\r\n });\r\n\r\n if (focusableItems.length) {\r\n focusedItemIndex = focusableItems.index(document.activeElement);\r\n\r\n if (e && e.shiftKey) {\r\n // Back tab\r\n if (focusedItemIndex < 0 || focusedItemIndex == 0) {\r\n e.preventDefault();\r\n\r\n focusableItems.eq(focusableItems.length - 1).trigger(\"focus\");\r\n }\r\n } else {\r\n // Outside or Forward tab\r\n if (focusedItemIndex < 0 || focusedItemIndex == focusableItems.length - 1) {\r\n if (e) {\r\n e.preventDefault();\r\n }\r\n\r\n focusableItems.eq(0).trigger(\"focus\");\r\n }\r\n }\r\n } else {\r\n self.$refs.container.trigger(\"focus\");\r\n }\r\n },\r\n\r\n // Activates current instance - brings container to the front and enables keyboard,\r\n // notifies other instances about deactivating\r\n // =================================================================================\r\n\r\n activate: function () {\r\n var self = this;\r\n\r\n // Deactivate all instances\r\n $(\".fancybox-container\").each(function () {\r\n var instance = $(this).data(\"FancyBox\");\r\n\r\n // Skip self and closing instances\r\n if (instance && instance.id !== self.id && !instance.isClosing) {\r\n instance.trigger(\"onDeactivate\");\r\n\r\n instance.removeEvents();\r\n\r\n instance.isVisible = false;\r\n }\r\n });\r\n\r\n self.isVisible = true;\r\n\r\n if (self.current || self.isIdle) {\r\n self.update();\r\n\r\n self.updateControls();\r\n }\r\n\r\n self.trigger(\"onActivate\");\r\n\r\n self.addEvents();\r\n },\r\n\r\n // Start closing procedure\r\n // This will start \"zoom-out\" animation if needed and clean everything up afterwards\r\n // =================================================================================\r\n\r\n close: function (e, d) {\r\n var self = this,\r\n current = self.current,\r\n effect,\r\n duration,\r\n $content,\r\n domRect,\r\n opacity,\r\n start,\r\n end;\r\n\r\n var done = function () {\r\n self.cleanUp(e);\r\n };\r\n\r\n if (self.isClosing) {\r\n return false;\r\n }\r\n\r\n self.isClosing = true;\r\n\r\n // If beforeClose callback prevents closing, make sure content is centered\r\n if (self.trigger(\"beforeClose\", e) === false) {\r\n self.isClosing = false;\r\n\r\n requestAFrame(function () {\r\n self.update();\r\n });\r\n\r\n return false;\r\n }\r\n\r\n // Remove all events\r\n // If there are multiple instances, they will be set again by \"activate\" method\r\n self.removeEvents();\r\n\r\n $content = current.$content;\r\n effect = current.opts.animationEffect;\r\n duration = $.isNumeric(d) ? d : effect ? current.opts.animationDuration : 0;\r\n\r\n current.$slide.removeClass(\"fancybox-slide--complete fancybox-slide--next fancybox-slide--previous fancybox-animated\");\r\n\r\n if (e !== true) {\r\n $.fancybox.stop(current.$slide);\r\n } else {\r\n effect = false;\r\n }\r\n\r\n // Remove other slides\r\n current.$slide\r\n .siblings()\r\n .trigger(\"onReset\")\r\n .remove();\r\n\r\n // Trigger animations\r\n if (duration) {\r\n self.$refs.container\r\n .removeClass(\"fancybox-is-open\")\r\n .addClass(\"fancybox-is-closing\")\r\n .css(\"transition-duration\", duration + \"ms\");\r\n }\r\n\r\n // Clean up\r\n self.hideLoading(current);\r\n\r\n self.hideControls(true);\r\n\r\n self.updateCursor();\r\n\r\n // Check if possible to zoom-out\r\n if (\r\n effect === \"zoom\" &&\r\n !($content && duration && current.type === \"image\" && !self.isMoved() && !current.hasError && (end = self.getThumbPos(current)))\r\n ) {\r\n effect = \"fade\";\r\n }\r\n\r\n if (effect === \"zoom\") {\r\n $.fancybox.stop($content);\r\n\r\n domRect = $.fancybox.getTranslate($content);\r\n\r\n start = {\r\n top: domRect.top,\r\n left: domRect.left,\r\n scaleX: domRect.width / end.width,\r\n scaleY: domRect.height / end.height,\r\n width: end.width,\r\n height: end.height\r\n };\r\n\r\n // Check if we need to animate opacity\r\n opacity = current.opts.zoomOpacity;\r\n\r\n if (opacity == \"auto\") {\r\n opacity = Math.abs(current.width / current.height - end.width / end.height) > 0.1;\r\n }\r\n\r\n if (opacity) {\r\n end.opacity = 0;\r\n }\r\n\r\n $.fancybox.setTranslate($content, start);\r\n\r\n forceRedraw($content);\r\n\r\n $.fancybox.animate($content, end, duration, done);\r\n\r\n return true;\r\n }\r\n\r\n if (effect && duration) {\r\n $.fancybox.animate(\r\n current.$slide.addClass(\"fancybox-slide--previous\").removeClass(\"fancybox-slide--current\"),\r\n \"fancybox-animated fancybox-fx-\" + effect,\r\n duration,\r\n done\r\n );\r\n } else {\r\n // If skip animation\r\n if (e === true) {\r\n setTimeout(done, duration);\r\n } else {\r\n done();\r\n }\r\n }\r\n\r\n return true;\r\n },\r\n\r\n // Final adjustments after removing the instance\r\n // =============================================\r\n\r\n cleanUp: function (e) {\r\n var self = this,\r\n instance,\r\n $focus = self.current.opts.$orig,\r\n x,\r\n y;\r\n\r\n self.current.$slide.trigger(\"onReset\");\r\n\r\n self.$refs.container.empty().remove();\r\n\r\n self.trigger(\"afterClose\", e);\r\n\r\n // Place back focus\r\n if (!!self.current.opts.backFocus) {\r\n if (!$focus || !$focus.length || !$focus.is(\":visible\")) {\r\n $focus = self.$trigger;\r\n }\r\n\r\n if ($focus && $focus.length) {\r\n x = window.scrollX;\r\n y = window.scrollY;\r\n\r\n $focus.trigger(\"focus\");\r\n\r\n $(\"html, body\")\r\n .scrollTop(y)\r\n .scrollLeft(x);\r\n }\r\n }\r\n\r\n self.current = null;\r\n\r\n // Check if there are other instances\r\n instance = $.fancybox.getInstance();\r\n\r\n if (instance) {\r\n instance.activate();\r\n } else {\r\n $(\"body\").removeClass(\"fancybox-active compensate-for-scrollbar\");\r\n\r\n $(\"#fancybox-style-noscroll\").remove();\r\n }\r\n },\r\n\r\n // Call callback and trigger an event\r\n // ==================================\r\n\r\n trigger: function (name, slide) {\r\n var args = Array.prototype.slice.call(arguments, 1),\r\n self = this,\r\n obj = slide && slide.opts ? slide : self.current,\r\n rez;\r\n\r\n if (obj) {\r\n args.unshift(obj);\r\n } else {\r\n obj = self;\r\n }\r\n\r\n args.unshift(self);\r\n\r\n if ($.isFunction(obj.opts[name])) {\r\n rez = obj.opts[name].apply(obj, args);\r\n }\r\n\r\n if (rez === false) {\r\n return rez;\r\n }\r\n\r\n if (name === \"afterClose\" || !self.$refs) {\r\n $D.trigger(name + \".fb\", args);\r\n } else {\r\n self.$refs.container.trigger(name + \".fb\", args);\r\n }\r\n },\r\n\r\n // Update infobar values, navigation button states and reveal caption\r\n // ==================================================================\r\n\r\n updateControls: function () {\r\n var self = this,\r\n current = self.current,\r\n index = current.index,\r\n $container = self.$refs.container,\r\n $caption = self.$refs.caption,\r\n caption = current.opts.caption;\r\n\r\n // Recalculate content dimensions\r\n current.$slide.trigger(\"refresh\");\r\n\r\n // Set caption\r\n if (caption && caption.length) {\r\n self.$caption = $caption;\r\n\r\n $caption\r\n .children()\r\n .eq(0)\r\n .html(caption);\r\n } else {\r\n self.$caption = null;\r\n }\r\n\r\n if (!self.hasHiddenControls && !self.isIdle) {\r\n self.showControls();\r\n }\r\n\r\n // Update info and navigation elements\r\n $container.find(\"[data-fancybox-count]\").html(self.group.length);\r\n $container.find(\"[data-fancybox-index]\").html(index + 1);\r\n\r\n $container.find(\"[data-fancybox-prev]\").prop(\"disabled\", !current.opts.loop && index <= 0);\r\n $container.find(\"[data-fancybox-next]\").prop(\"disabled\", !current.opts.loop && index >= self.group.length - 1);\r\n\r\n if (current.type === \"image\") {\r\n // Re-enable buttons; update download button source\r\n $container\r\n .find(\"[data-fancybox-zoom]\")\r\n .show()\r\n .end()\r\n .find(\"[data-fancybox-download]\")\r\n .attr(\"href\", current.opts.image.src || current.src)\r\n .show();\r\n } else if (current.opts.toolbar) {\r\n $container.find(\"[data-fancybox-download],[data-fancybox-zoom]\").hide();\r\n }\r\n\r\n // Make sure focus is not on disabled button/element\r\n if ($(document.activeElement).is(\":hidden,[disabled]\")) {\r\n self.$refs.container.trigger(\"focus\");\r\n }\r\n },\r\n\r\n // Hide toolbar and caption\r\n // ========================\r\n\r\n hideControls: function (andCaption) {\r\n var self = this,\r\n arr = [\"infobar\", \"toolbar\", \"nav\"];\r\n\r\n if (andCaption || !self.current.opts.preventCaptionOverlap) {\r\n arr.push(\"caption\");\r\n }\r\n\r\n this.$refs.container.removeClass(\r\n arr\r\n .map(function (i) {\r\n return \"fancybox-show-\" + i;\r\n })\r\n .join(\" \")\r\n );\r\n\r\n this.hasHiddenControls = true;\r\n },\r\n\r\n showControls: function () {\r\n var self = this,\r\n opts = self.current ? self.current.opts : self.opts,\r\n $container = self.$refs.container;\r\n\r\n self.hasHiddenControls = false;\r\n self.idleSecondsCounter = 0;\r\n\r\n $container\r\n .toggleClass(\"fancybox-show-toolbar\", !!(opts.toolbar && opts.buttons))\r\n .toggleClass(\"fancybox-show-infobar\", !!(opts.infobar && self.group.length > 1))\r\n .toggleClass(\"fancybox-show-caption\", !!self.$caption)\r\n .toggleClass(\"fancybox-show-nav\", !!(opts.arrows && self.group.length > 1))\r\n .toggleClass(\"fancybox-is-modal\", !!opts.modal);\r\n },\r\n\r\n // Toggle toolbar and caption\r\n // ==========================\r\n\r\n toggleControls: function () {\r\n if (this.hasHiddenControls) {\r\n this.showControls();\r\n } else {\r\n this.hideControls();\r\n }\r\n }\r\n });\r\n\r\n $.fancybox = {\r\n version: \"3.5.7\",\r\n defaults: defaults,\r\n\r\n // Get current instance and execute a command.\r\n //\r\n // Examples of usage:\r\n //\r\n // $instance = $.fancybox.getInstance();\r\n // $.fancybox.getInstance().jumpTo( 1 );\r\n // $.fancybox.getInstance( 'jumpTo', 1 );\r\n // $.fancybox.getInstance( function() {\r\n // console.info( this.currIndex );\r\n // });\r\n // ======================================================\r\n\r\n getInstance: function (command) {\r\n var instance = $('.fancybox-container:not(\".fancybox-is-closing\"):last').data(\"FancyBox\"),\r\n args = Array.prototype.slice.call(arguments, 1);\r\n\r\n if (instance instanceof FancyBox) {\r\n if ($.type(command) === \"string\") {\r\n instance[command].apply(instance, args);\r\n } else if ($.type(command) === \"function\") {\r\n command.apply(instance, args);\r\n }\r\n\r\n return instance;\r\n }\r\n\r\n return false;\r\n },\r\n\r\n // Create new instance\r\n // ===================\r\n\r\n open: function (items, opts, index) {\r\n return new FancyBox(items, opts, index);\r\n },\r\n\r\n // Close current or all instances\r\n // ==============================\r\n\r\n close: function (all) {\r\n var instance = this.getInstance();\r\n\r\n if (instance) {\r\n instance.close();\r\n\r\n // Try to find and close next instance\r\n if (all === true) {\r\n this.close(all);\r\n }\r\n }\r\n },\r\n\r\n // Close all instances and unbind all events\r\n // =========================================\r\n\r\n destroy: function () {\r\n this.close(true);\r\n\r\n $D.add(\"body\").off(\"click.fb-start\", \"**\");\r\n },\r\n\r\n // Try to detect mobile devices\r\n // ============================\r\n\r\n isMobile: /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent),\r\n\r\n // Detect if 'translate3d' support is available\r\n // ============================================\r\n\r\n use3d: (function () {\r\n var div = document.createElement(\"div\");\r\n\r\n return (\r\n window.getComputedStyle &&\r\n window.getComputedStyle(div) &&\r\n window.getComputedStyle(div).getPropertyValue(\"transform\") &&\r\n !(document.documentMode && document.documentMode < 11)\r\n );\r\n })(),\r\n\r\n // Helper function to get current visual state of an element\r\n // returns array[ top, left, horizontal-scale, vertical-scale, opacity ]\r\n // =====================================================================\r\n\r\n getTranslate: function ($el) {\r\n var domRect;\r\n\r\n if (!$el || !$el.length) {\r\n return false;\r\n }\r\n\r\n domRect = $el[0].getBoundingClientRect();\r\n\r\n return {\r\n top: domRect.top || 0,\r\n left: domRect.left || 0,\r\n width: domRect.width,\r\n height: domRect.height,\r\n opacity: parseFloat($el.css(\"opacity\"))\r\n };\r\n },\r\n\r\n // Shortcut for setting \"translate3d\" properties for element\r\n // Can set be used to set opacity, too\r\n // ========================================================\r\n\r\n setTranslate: function ($el, props) {\r\n var str = \"\",\r\n css = {};\r\n\r\n if (!$el || !props) {\r\n return;\r\n }\r\n\r\n if (props.left !== undefined || props.top !== undefined) {\r\n str =\r\n (props.left === undefined ? $el.position().left : props.left) +\r\n \"px, \" +\r\n (props.top === undefined ? $el.position().top : props.top) +\r\n \"px\";\r\n\r\n if (this.use3d) {\r\n str = \"translate3d(\" + str + \", 0px)\";\r\n } else {\r\n str = \"translate(\" + str + \")\";\r\n }\r\n }\r\n\r\n if (props.scaleX !== undefined && props.scaleY !== undefined) {\r\n str += \" scale(\" + props.scaleX + \", \" + props.scaleY + \")\";\r\n } else if (props.scaleX !== undefined) {\r\n str += \" scaleX(\" + props.scaleX + \")\";\r\n }\r\n\r\n if (str.length) {\r\n css.transform = str;\r\n }\r\n\r\n if (props.opacity !== undefined) {\r\n css.opacity = props.opacity;\r\n }\r\n\r\n if (props.width !== undefined) {\r\n css.width = props.width;\r\n }\r\n\r\n if (props.height !== undefined) {\r\n css.height = props.height;\r\n }\r\n\r\n return $el.css(css);\r\n },\r\n\r\n // Simple CSS transition handler\r\n // =============================\r\n\r\n animate: function ($el, to, duration, callback, leaveAnimationName) {\r\n var self = this,\r\n from;\r\n\r\n if ($.isFunction(duration)) {\r\n callback = duration;\r\n duration = null;\r\n }\r\n\r\n self.stop($el);\r\n\r\n from = self.getTranslate($el);\r\n\r\n $el.on(transitionEnd, function (e) {\r\n // Skip events from child elements and z-index change\r\n if (e && e.originalEvent && (!$el.is(e.originalEvent.target) || e.originalEvent.propertyName == \"z-index\")) {\r\n return;\r\n }\r\n\r\n self.stop($el);\r\n\r\n if ($.isNumeric(duration)) {\r\n $el.css(\"transition-duration\", \"\");\r\n }\r\n\r\n if ($.isPlainObject(to)) {\r\n if (to.scaleX !== undefined && to.scaleY !== undefined) {\r\n self.setTranslate($el, {\r\n top: to.top,\r\n left: to.left,\r\n width: from.width * to.scaleX,\r\n height: from.height * to.scaleY,\r\n scaleX: 1,\r\n scaleY: 1\r\n });\r\n }\r\n } else if (leaveAnimationName !== true) {\r\n $el.removeClass(to);\r\n }\r\n\r\n if ($.isFunction(callback)) {\r\n callback(e);\r\n }\r\n });\r\n\r\n if ($.isNumeric(duration)) {\r\n $el.css(\"transition-duration\", duration + \"ms\");\r\n }\r\n\r\n // Start animation by changing CSS properties or class name\r\n if ($.isPlainObject(to)) {\r\n if (to.scaleX !== undefined && to.scaleY !== undefined) {\r\n delete to.width;\r\n delete to.height;\r\n\r\n if ($el.parent().hasClass(\"fancybox-slide--image\")) {\r\n $el.parent().addClass(\"fancybox-is-scaling\");\r\n }\r\n }\r\n\r\n $.fancybox.setTranslate($el, to);\r\n } else {\r\n $el.addClass(to);\r\n }\r\n\r\n // Make sure that `transitionend` callback gets fired\r\n $el.data(\r\n \"timer\",\r\n setTimeout(function () {\r\n $el.trigger(transitionEnd);\r\n }, duration + 33)\r\n );\r\n },\r\n\r\n stop: function ($el, callCallback) {\r\n if ($el && $el.length) {\r\n clearTimeout($el.data(\"timer\"));\r\n\r\n if (callCallback) {\r\n $el.trigger(transitionEnd);\r\n }\r\n\r\n $el.off(transitionEnd).css(\"transition-duration\", \"\");\r\n\r\n $el.parent().removeClass(\"fancybox-is-scaling\");\r\n }\r\n }\r\n };\r\n\r\n // Default click handler for \"fancyboxed\" links\r\n // ============================================\r\n\r\n function _run(e, opts) {\r\n var items = [],\r\n index = 0,\r\n $target,\r\n value,\r\n instance;\r\n\r\n // Avoid opening multiple times\r\n if (e && e.isDefaultPrevented()) {\r\n return;\r\n }\r\n\r\n e.preventDefault();\r\n\r\n opts = opts || {};\r\n\r\n if (e && e.data) {\r\n opts = mergeOpts(e.data.options, opts);\r\n }\r\n\r\n $target = opts.$target || $(e.currentTarget).trigger(\"blur\");\r\n instance = $.fancybox.getInstance();\r\n\r\n if (instance && instance.$trigger && instance.$trigger.is($target)) {\r\n return;\r\n }\r\n\r\n if (opts.selector) {\r\n items = $(opts.selector);\r\n } else {\r\n // Get all related items and find index for clicked one\r\n value = $target.attr(\"data-fancybox\") || \"\";\r\n\r\n if (value) {\r\n items = e.data ? e.data.items : [];\r\n items = items.length ? items.filter('[data-fancybox=\"' + value + '\"]') : $('[data-fancybox=\"' + value + '\"]');\r\n } else {\r\n items = [$target];\r\n }\r\n }\r\n\r\n index = $(items).index($target);\r\n\r\n // Sometimes current item can not be found\r\n if (index < 0) {\r\n index = 0;\r\n }\r\n\r\n instance = $.fancybox.open(items, opts, index);\r\n\r\n // Save last active element\r\n instance.$trigger = $target;\r\n }\r\n\r\n // Create a jQuery plugin\r\n // ======================\r\n\r\n $.fn.fancybox = function (options) {\r\n var selector;\r\n\r\n options = options || {};\r\n selector = options.selector || false;\r\n\r\n if (selector) {\r\n // Use body element instead of document so it executes first\r\n $(\"body\")\r\n .off(\"click.fb-start\", selector)\r\n .on(\"click.fb-start\", selector, {\r\n options: options\r\n }, _run);\r\n } else {\r\n this.off(\"click.fb-start\").on(\r\n \"click.fb-start\", {\r\n items: this,\r\n options: options\r\n },\r\n _run\r\n );\r\n }\r\n\r\n return this;\r\n };\r\n\r\n // Self initializing plugin for all elements having `data-fancybox` attribute\r\n // ==========================================================================\r\n\r\n $D.on(\"click.fb-start\", \"[data-fancybox]\", _run);\r\n\r\n // Enable \"trigger elements\"\r\n // =========================\r\n\r\n $D.on(\"click.fb-start\", \"[data-fancybox-trigger]\", function (e) {\r\n $('[data-fancybox=\"' + $(this).attr(\"data-fancybox-trigger\") + '\"]')\r\n .eq($(this).attr(\"data-fancybox-index\") || 0)\r\n .trigger(\"click.fb-start\", {\r\n $trigger: $(this)\r\n });\r\n });\r\n\r\n // Track focus event for better accessibility styling\r\n // ==================================================\r\n (function () {\r\n var buttonStr = \".fancybox-button\",\r\n focusStr = \"fancybox-focus\",\r\n $pressed = null;\r\n\r\n $D.on(\"mousedown mouseup focus blur\", buttonStr, function (e) {\r\n switch (e.type) {\r\n case \"mousedown\":\r\n $pressed = $(this);\r\n break;\r\n case \"mouseup\":\r\n $pressed = null;\r\n break;\r\n case \"focusin\":\r\n $(buttonStr).removeClass(focusStr);\r\n\r\n if (!$(this).is($pressed) && !$(this).is(\"[disabled]\")) {\r\n $(this).addClass(focusStr);\r\n }\r\n break;\r\n case \"focusout\":\r\n $(buttonStr).removeClass(focusStr);\r\n break;\r\n }\r\n });\r\n })();\r\n})(window, document, jQuery);\r\n// ==========================================================================\r\n//\r\n// Media\r\n// Adds additional media type support\r\n//\r\n// ==========================================================================\r\n(function ($) {\r\n \"use strict\";\r\n\r\n // Object containing properties for each media type\r\n var defaults = {\r\n youtube: {\r\n matcher: /(youtube\\.com|youtu\\.be|youtube\\-nocookie\\.com)\\/(watch\\?(.*&)?v=|v\\/|u\\/|embed\\/?)?(videoseries\\?list=(.*)|[\\w-]{11}|\\?listType=(.*)&list=(.*))(.*)/i,\r\n params: {\r\n autoplay: 1,\r\n autohide: 1,\r\n fs: 1,\r\n rel: 0,\r\n hd: 1,\r\n wmode: \"transparent\",\r\n enablejsapi: 1,\r\n html5: 1\r\n },\r\n paramPlace: 8,\r\n type: \"iframe\",\r\n url: \"https://www.youtube-nocookie.com/embed/$4\",\r\n thumb: \"https://img.youtube.com/vi/$4/hqdefault.jpg\"\r\n },\r\n\r\n vimeo: {\r\n matcher: /^.+vimeo.com\\/(.*\\/)?([\\d]+)(.*)?/,\r\n params: {\r\n autoplay: 1,\r\n hd: 1,\r\n show_title: 1,\r\n show_byline: 1,\r\n show_portrait: 0,\r\n fullscreen: 1\r\n },\r\n paramPlace: 3,\r\n type: \"iframe\",\r\n url: \"//player.vimeo.com/video/$2\"\r\n },\r\n\r\n instagram: {\r\n matcher: /(instagr\\.am|instagram\\.com)\\/p\\/([a-zA-Z0-9_\\-]+)\\/?/i,\r\n type: \"image\",\r\n url: \"//$1/p/$2/media/?size=l\"\r\n },\r\n\r\n // Examples:\r\n // http://maps.google.com/?ll=48.857995,2.294297&spn=0.007666,0.021136&t=m&z=16\r\n // https://www.google.com/maps/@37.7852006,-122.4146355,14.65z\r\n // https://www.google.com/maps/@52.2111123,2.9237542,6.61z?hl=en\r\n // https://www.google.com/maps/place/Googleplex/@37.4220041,-122.0833494,17z/data=!4m5!3m4!1s0x0:0x6c296c66619367e0!8m2!3d37.4219998!4d-122.0840572\r\n gmap_place: {\r\n matcher: /(maps\\.)?google\\.([a-z]{2,3}(\\.[a-z]{2})?)\\/(((maps\\/(place\\/(.*)\\/)?\\@(.*),(\\d+.?\\d+?)z))|(\\?ll=))(.*)?/i,\r\n type: \"iframe\",\r\n url: function (rez) {\r\n return (\r\n \"//maps.google.\" +\r\n rez[2] +\r\n \"/?ll=\" +\r\n (rez[9] ? rez[9] + \"&z=\" + Math.floor(rez[10]) + (rez[12] ? rez[12].replace(/^\\//, \"&\") : \"\") : rez[12] + \"\").replace(/\\?/, \"&\") +\r\n \"&output=\" +\r\n (rez[12] && rez[12].indexOf(\"layer=c\") > 0 ? \"svembed\" : \"embed\")\r\n );\r\n }\r\n },\r\n\r\n // Examples:\r\n // https://www.google.com/maps/search/Empire+State+Building/\r\n // https://www.google.com/maps/search/?api=1&query=centurylink+field\r\n // https://www.google.com/maps/search/?api=1&query=47.5951518,-122.3316393\r\n gmap_search: {\r\n matcher: /(maps\\.)?google\\.([a-z]{2,3}(\\.[a-z]{2})?)\\/(maps\\/search\\/)(.*)/i,\r\n type: \"iframe\",\r\n url: function (rez) {\r\n return \"//maps.google.\" + rez[2] + \"/maps?q=\" + rez[5].replace(\"query=\", \"q=\").replace(\"api=1\", \"\") + \"&output=embed\";\r\n }\r\n }\r\n };\r\n\r\n // Formats matching url to final form\r\n var format = function (url, rez, params) {\r\n if (!url) {\r\n return;\r\n }\r\n\r\n params = params || \"\";\r\n\r\n if ($.type(params) === \"object\") {\r\n params = $.param(params, true);\r\n }\r\n\r\n $.each(rez, function (key, value) {\r\n url = url.replace(\"$\" + key, value || \"\");\r\n });\r\n\r\n if (params.length) {\r\n url += (url.indexOf(\"?\") > 0 ? \"&\" : \"?\") + params;\r\n }\r\n\r\n return url;\r\n };\r\n\r\n $(document).on(\"objectNeedsType.fb\", function (e, instance, item) {\r\n var url = item.src || \"\",\r\n type = false,\r\n media,\r\n thumb,\r\n rez,\r\n params,\r\n urlParams,\r\n paramObj,\r\n provider;\r\n\r\n media = $.extend(true, {}, defaults, item.opts.media);\r\n\r\n // Look for any matching media type\r\n $.each(media, function (providerName, providerOpts) {\r\n rez = url.match(providerOpts.matcher);\r\n\r\n if (!rez) {\r\n return;\r\n }\r\n\r\n type = providerOpts.type;\r\n provider = providerName;\r\n paramObj = {};\r\n\r\n if (providerOpts.paramPlace && rez[providerOpts.paramPlace]) {\r\n urlParams = rez[providerOpts.paramPlace];\r\n\r\n if (urlParams[0] == \"?\") {\r\n urlParams = urlParams.substring(1);\r\n }\r\n\r\n urlParams = urlParams.split(\"&\");\r\n\r\n for (var m = 0; m < urlParams.length; ++m) {\r\n var p = urlParams[m].split(\"=\", 2);\r\n\r\n if (p.length == 2) {\r\n paramObj[p[0]] = decodeURIComponent(p[1].replace(/\\+/g, \" \"));\r\n }\r\n }\r\n }\r\n\r\n params = $.extend(true, {}, providerOpts.params, item.opts[providerName], paramObj);\r\n\r\n url =\r\n $.type(providerOpts.url) === \"function\" ? providerOpts.url.call(this, rez, params, item) : format(providerOpts.url, rez, params);\r\n\r\n thumb =\r\n $.type(providerOpts.thumb) === \"function\" ? providerOpts.thumb.call(this, rez, params, item) : format(providerOpts.thumb, rez);\r\n\r\n if (providerName === \"youtube\") {\r\n url = url.replace(/&t=((\\d+)m)?(\\d+)s/, function (match, p1, m, s) {\r\n return \"&start=\" + ((m ? parseInt(m, 10) * 60 : 0) + parseInt(s, 10));\r\n });\r\n } else if (providerName === \"vimeo\") {\r\n url = url.replace(\"&%23\", \"#\");\r\n }\r\n\r\n return false;\r\n });\r\n\r\n // If it is found, then change content type and update the url\r\n\r\n if (type) {\r\n if (!item.opts.thumb && !(item.opts.$thumb && item.opts.$thumb.length)) {\r\n item.opts.thumb = thumb;\r\n }\r\n\r\n if (type === \"iframe\") {\r\n item.opts = $.extend(true, item.opts, {\r\n iframe: {\r\n preload: false,\r\n attr: {\r\n scrolling: \"no\"\r\n }\r\n }\r\n });\r\n }\r\n\r\n $.extend(item, {\r\n type: type,\r\n src: url,\r\n origSrc: item.src,\r\n contentSource: provider,\r\n contentType: type === \"image\" ? \"image\" : provider == \"gmap_place\" || provider == \"gmap_search\" ? \"map\" : \"video\"\r\n });\r\n } else if (url) {\r\n item.type = item.opts.defaultType;\r\n }\r\n });\r\n\r\n // Load YouTube/Video API on request to detect when video finished playing\r\n var VideoAPILoader = {\r\n youtube: {\r\n src: \"https://www.youtube.com/iframe_api\",\r\n class: \"YT\",\r\n loading: false,\r\n loaded: false\r\n },\r\n\r\n vimeo: {\r\n src: \"https://player.vimeo.com/api/player.js\",\r\n class: \"Vimeo\",\r\n loading: false,\r\n loaded: false\r\n },\r\n\r\n load: function (vendor) {\r\n var _this = this,\r\n script;\r\n\r\n if (this[vendor].loaded) {\r\n setTimeout(function () {\r\n _this.done(vendor);\r\n });\r\n return;\r\n }\r\n\r\n if (this[vendor].loading) {\r\n return;\r\n }\r\n\r\n this[vendor].loading = true;\r\n\r\n script = document.createElement(\"script\");\r\n script.type = \"text/javascript\";\r\n script.src = this[vendor].src;\r\n\r\n if (vendor === \"youtube\") {\r\n window.onYouTubeIframeAPIReady = function () {\r\n _this[vendor].loaded = true;\r\n _this.done(vendor);\r\n };\r\n } else {\r\n script.onload = function () {\r\n _this[vendor].loaded = true;\r\n _this.done(vendor);\r\n };\r\n }\r\n\r\n document.body.appendChild(script);\r\n },\r\n done: function (vendor) {\r\n var instance, $el, player;\r\n\r\n if (vendor === \"youtube\") {\r\n delete window.onYouTubeIframeAPIReady;\r\n }\r\n\r\n instance = $.fancybox.getInstance();\r\n\r\n if (instance) {\r\n $el = instance.current.$content.find(\"iframe\");\r\n\r\n if (vendor === \"youtube\" && YT !== undefined && YT) {\r\n player = new YT.Player($el.attr(\"id\"), {\r\n events: {\r\n onStateChange: function (e) {\r\n if (e.data == 0) {\r\n instance.next();\r\n }\r\n }\r\n }\r\n });\r\n } else if (vendor === \"vimeo\" && Vimeo !== undefined && Vimeo) {\r\n player = new Vimeo.Player($el);\r\n\r\n player.on(\"ended\", function () {\r\n instance.next();\r\n });\r\n }\r\n }\r\n }\r\n };\r\n\r\n $(document).on({\r\n \"afterShow.fb\": function (e, instance, current) {\r\n if (instance.group.length > 1 && (current.contentSource === \"youtube\" || current.contentSource === \"vimeo\")) {\r\n VideoAPILoader.load(current.contentSource);\r\n }\r\n }\r\n });\r\n})(jQuery);\r\n// ==========================================================================\r\n//\r\n// Guestures\r\n// Adds touch guestures, handles click and tap events\r\n//\r\n// ==========================================================================\r\n(function (window, document, $) {\r\n \"use strict\";\r\n\r\n var requestAFrame = (function () {\r\n return (\r\n window.requestAnimationFrame ||\r\n window.webkitRequestAnimationFrame ||\r\n window.mozRequestAnimationFrame ||\r\n window.oRequestAnimationFrame ||\r\n // if all else fails, use setTimeout\r\n function (callback) {\r\n return window.setTimeout(callback, 1000 / 60);\r\n }\r\n );\r\n })();\r\n\r\n var cancelAFrame = (function () {\r\n return (\r\n window.cancelAnimationFrame ||\r\n window.webkitCancelAnimationFrame ||\r\n window.mozCancelAnimationFrame ||\r\n window.oCancelAnimationFrame ||\r\n function (id) {\r\n window.clearTimeout(id);\r\n }\r\n );\r\n })();\r\n\r\n var getPointerXY = function (e) {\r\n var result = [];\r\n\r\n e = e.originalEvent || e || window.e;\r\n e = e.touches && e.touches.length ? e.touches : e.changedTouches && e.changedTouches.length ? e.changedTouches : [e];\r\n\r\n for (var key in e) {\r\n if (e[key].pageX) {\r\n result.push({\r\n x: e[key].pageX,\r\n y: e[key].pageY\r\n });\r\n } else if (e[key].clientX) {\r\n result.push({\r\n x: e[key].clientX,\r\n y: e[key].clientY\r\n });\r\n }\r\n }\r\n\r\n return result;\r\n };\r\n\r\n var distance = function (point2, point1, what) {\r\n if (!point1 || !point2) {\r\n return 0;\r\n }\r\n\r\n if (what === \"x\") {\r\n return point2.x - point1.x;\r\n } else if (what === \"y\") {\r\n return point2.y - point1.y;\r\n }\r\n\r\n return Math.sqrt(Math.pow(point2.x - point1.x, 2) + Math.pow(point2.y - point1.y, 2));\r\n };\r\n\r\n var isClickable = function ($el) {\r\n if (\r\n $el.is('a,area,button,[role=\"button\"],input,label,select,summary,textarea,video,audio,iframe') ||\r\n $.isFunction($el.get(0).onclick) ||\r\n $el.data(\"selectable\")\r\n ) {\r\n return true;\r\n }\r\n\r\n // Check for attributes like data-fancybox-next or data-fancybox-close\r\n for (var i = 0, atts = $el[0].attributes, n = atts.length; i < n; i++) {\r\n if (atts[i].nodeName.substr(0, 14) === \"data-fancybox-\") {\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n };\r\n\r\n var hasScrollbars = function (el) {\r\n var overflowY = window.getComputedStyle(el)[\"overflow-y\"],\r\n overflowX = window.getComputedStyle(el)[\"overflow-x\"],\r\n vertical = (overflowY === \"scroll\" || overflowY === \"auto\") && el.scrollHeight > el.clientHeight,\r\n horizontal = (overflowX === \"scroll\" || overflowX === \"auto\") && el.scrollWidth > el.clientWidth;\r\n\r\n return vertical || horizontal;\r\n };\r\n\r\n var isScrollable = function ($el) {\r\n var rez = false;\r\n\r\n while (true) {\r\n rez = hasScrollbars($el.get(0));\r\n\r\n if (rez) {\r\n break;\r\n }\r\n\r\n $el = $el.parent();\r\n\r\n if (!$el.length || $el.hasClass(\"fancybox-stage\") || $el.is(\"body\")) {\r\n break;\r\n }\r\n }\r\n\r\n return rez;\r\n };\r\n\r\n var Guestures = function (instance) {\r\n var self = this;\r\n\r\n self.instance = instance;\r\n\r\n self.$bg = instance.$refs.bg;\r\n self.$stage = instance.$refs.stage;\r\n self.$container = instance.$refs.container;\r\n\r\n self.destroy();\r\n\r\n self.$container.on(\"touchstart.fb.touch mousedown.fb.touch\", $.proxy(self, \"ontouchstart\"));\r\n };\r\n\r\n Guestures.prototype.destroy = function () {\r\n var self = this;\r\n\r\n self.$container.off(\".fb.touch\");\r\n\r\n $(document).off(\".fb.touch\");\r\n\r\n if (self.requestId) {\r\n cancelAFrame(self.requestId);\r\n self.requestId = null;\r\n }\r\n\r\n if (self.tapped) {\r\n clearTimeout(self.tapped);\r\n self.tapped = null;\r\n }\r\n };\r\n\r\n Guestures.prototype.ontouchstart = function (e) {\r\n var self = this,\r\n $target = $(e.target),\r\n instance = self.instance,\r\n current = instance.current,\r\n $slide = current.$slide,\r\n $content = current.$content,\r\n isTouchDevice = e.type == \"touchstart\";\r\n\r\n // Do not respond to both (touch and mouse) events\r\n if (isTouchDevice) {\r\n self.$container.off(\"mousedown.fb.touch\");\r\n }\r\n\r\n // Ignore right click\r\n if (e.originalEvent && e.originalEvent.button == 2) {\r\n return;\r\n }\r\n\r\n // Ignore taping on links, buttons, input elements\r\n if (!$slide.length || !$target.length || isClickable($target) || isClickable($target.parent())) {\r\n return;\r\n }\r\n // Ignore clicks on the scrollbar\r\n if (!$target.is(\"img\") && e.originalEvent.clientX > $target[0].clientWidth + $target.offset().left) {\r\n return;\r\n }\r\n\r\n // Ignore clicks while zooming or closing\r\n if (!current || instance.isAnimating || current.$slide.hasClass(\"fancybox-animated\")) {\r\n e.stopPropagation();\r\n e.preventDefault();\r\n\r\n return;\r\n }\r\n\r\n self.realPoints = self.startPoints = getPointerXY(e);\r\n\r\n if (!self.startPoints.length) {\r\n return;\r\n }\r\n\r\n // Allow other scripts to catch touch event if \"touch\" is set to false\r\n if (current.touch) {\r\n e.stopPropagation();\r\n }\r\n\r\n self.startEvent = e;\r\n\r\n self.canTap = true;\r\n self.$target = $target;\r\n self.$content = $content;\r\n self.opts = current.opts.touch;\r\n\r\n self.isPanning = false;\r\n self.isSwiping = false;\r\n self.isZooming = false;\r\n self.isScrolling = false;\r\n self.canPan = instance.canPan();\r\n\r\n self.startTime = new Date().getTime();\r\n self.distanceX = self.distanceY = self.distance = 0;\r\n\r\n self.canvasWidth = Math.round($slide[0].clientWidth);\r\n self.canvasHeight = Math.round($slide[0].clientHeight);\r\n\r\n self.contentLastPos = null;\r\n self.contentStartPos = $.fancybox.getTranslate(self.$content) || {\r\n top: 0,\r\n left: 0\r\n };\r\n self.sliderStartPos = $.fancybox.getTranslate($slide);\r\n\r\n // Since position will be absolute, but we need to make it relative to the stage\r\n self.stagePos = $.fancybox.getTranslate(instance.$refs.stage);\r\n\r\n self.sliderStartPos.top -= self.stagePos.top;\r\n self.sliderStartPos.left -= self.stagePos.left;\r\n\r\n self.contentStartPos.top -= self.stagePos.top;\r\n self.contentStartPos.left -= self.stagePos.left;\r\n\r\n $(document)\r\n .off(\".fb.touch\")\r\n .on(isTouchDevice ? \"touchend.fb.touch touchcancel.fb.touch\" : \"mouseup.fb.touch mouseleave.fb.touch\", $.proxy(self, \"ontouchend\"))\r\n .on(isTouchDevice ? \"touchmove.fb.touch\" : \"mousemove.fb.touch\", $.proxy(self, \"ontouchmove\"));\r\n\r\n if ($.fancybox.isMobile) {\r\n document.addEventListener(\"scroll\", self.onscroll, true);\r\n }\r\n\r\n // Skip if clicked outside the sliding area\r\n if (!(self.opts || self.canPan) || !($target.is(self.$stage) || self.$stage.find($target).length)) {\r\n if ($target.is(\".fancybox-image\")) {\r\n e.preventDefault();\r\n }\r\n\r\n if (!($.fancybox.isMobile && $target.parents(\".fancybox-caption\").length)) {\r\n return;\r\n }\r\n }\r\n\r\n self.isScrollable = isScrollable($target) || isScrollable($target.parent());\r\n\r\n // Check if element is scrollable and try to prevent default behavior (scrolling)\r\n if (!($.fancybox.isMobile && self.isScrollable)) {\r\n e.preventDefault();\r\n }\r\n\r\n // One finger or mouse click - swipe or pan an image\r\n if (self.startPoints.length === 1 || current.hasError) {\r\n if (self.canPan) {\r\n $.fancybox.stop(self.$content);\r\n\r\n self.isPanning = true;\r\n } else {\r\n self.isSwiping = true;\r\n }\r\n\r\n self.$container.addClass(\"fancybox-is-grabbing\");\r\n }\r\n\r\n // Two fingers - zoom image\r\n if (self.startPoints.length === 2 && current.type === \"image\" && (current.isLoaded || current.$ghost)) {\r\n self.canTap = false;\r\n self.isSwiping = false;\r\n self.isPanning = false;\r\n\r\n self.isZooming = true;\r\n\r\n $.fancybox.stop(self.$content);\r\n\r\n self.centerPointStartX = (self.startPoints[0].x + self.startPoints[1].x) * 0.5 - $(window).scrollLeft();\r\n self.centerPointStartY = (self.startPoints[0].y + self.startPoints[1].y) * 0.5 - $(window).scrollTop();\r\n\r\n self.percentageOfImageAtPinchPointX = (self.centerPointStartX - self.contentStartPos.left) / self.contentStartPos.width;\r\n self.percentageOfImageAtPinchPointY = (self.centerPointStartY - self.contentStartPos.top) / self.contentStartPos.height;\r\n\r\n self.startDistanceBetweenFingers = distance(self.startPoints[0], self.startPoints[1]);\r\n }\r\n };\r\n\r\n Guestures.prototype.onscroll = function (e) {\r\n var self = this;\r\n\r\n self.isScrolling = true;\r\n\r\n document.removeEventListener(\"scroll\", self.onscroll, true);\r\n };\r\n\r\n Guestures.prototype.ontouchmove = function (e) {\r\n var self = this;\r\n\r\n // Make sure user has not released over iframe or disabled element\r\n if (e.originalEvent.buttons !== undefined && e.originalEvent.buttons === 0) {\r\n self.ontouchend(e);\r\n return;\r\n }\r\n\r\n if (self.isScrolling) {\r\n self.canTap = false;\r\n return;\r\n }\r\n\r\n self.newPoints = getPointerXY(e);\r\n\r\n if (!(self.opts || self.canPan) || !self.newPoints.length || !self.newPoints.length) {\r\n return;\r\n }\r\n\r\n if (!(self.isSwiping && self.isSwiping === true)) {\r\n e.preventDefault();\r\n }\r\n\r\n self.distanceX = distance(self.newPoints[0], self.startPoints[0], \"x\");\r\n self.distanceY = distance(self.newPoints[0], self.startPoints[0], \"y\");\r\n\r\n self.distance = distance(self.newPoints[0], self.startPoints[0]);\r\n\r\n // Skip false ontouchmove events (Chrome)\r\n if (self.distance > 0) {\r\n if (self.isSwiping) {\r\n self.onSwipe(e);\r\n } else if (self.isPanning) {\r\n self.onPan();\r\n } else if (self.isZooming) {\r\n self.onZoom();\r\n }\r\n }\r\n };\r\n\r\n Guestures.prototype.onSwipe = function (e) {\r\n var self = this,\r\n instance = self.instance,\r\n swiping = self.isSwiping,\r\n left = self.sliderStartPos.left || 0,\r\n angle;\r\n\r\n // If direction is not yet determined\r\n if (swiping === true) {\r\n // We need at least 10px distance to correctly calculate an angle\r\n if (Math.abs(self.distance) > 10) {\r\n self.canTap = false;\r\n\r\n if (instance.group.length < 2 && self.opts.vertical) {\r\n self.isSwiping = \"y\";\r\n } else if (instance.isDragging || self.opts.vertical === false || (self.opts.vertical === \"auto\" && $(window).width() > 800)) {\r\n self.isSwiping = \"x\";\r\n } else {\r\n angle = Math.abs((Math.atan2(self.distanceY, self.distanceX) * 180) / Math.PI);\r\n\r\n self.isSwiping = angle > 45 && angle < 135 ? \"y\" : \"x\";\r\n }\r\n\r\n if (self.isSwiping === \"y\" && $.fancybox.isMobile && self.isScrollable) {\r\n self.isScrolling = true;\r\n\r\n return;\r\n }\r\n\r\n instance.isDragging = self.isSwiping;\r\n\r\n // Reset points to avoid jumping, because we dropped first swipes to calculate the angle\r\n self.startPoints = self.newPoints;\r\n\r\n $.each(instance.slides, function (index, slide) {\r\n var slidePos, stagePos;\r\n\r\n $.fancybox.stop(slide.$slide);\r\n\r\n slidePos = $.fancybox.getTranslate(slide.$slide);\r\n stagePos = $.fancybox.getTranslate(instance.$refs.stage);\r\n\r\n slide.$slide\r\n .css({\r\n transform: \"\",\r\n opacity: \"\",\r\n \"transition-duration\": \"\"\r\n })\r\n .removeClass(\"fancybox-animated\")\r\n .removeClass(function (index, className) {\r\n return (className.match(/(^|\\s)fancybox-fx-\\S+/g) || []).join(\" \");\r\n });\r\n\r\n if (slide.pos === instance.current.pos) {\r\n self.sliderStartPos.top = slidePos.top - stagePos.top;\r\n self.sliderStartPos.left = slidePos.left - stagePos.left;\r\n }\r\n\r\n $.fancybox.setTranslate(slide.$slide, {\r\n top: slidePos.top - stagePos.top,\r\n left: slidePos.left - stagePos.left\r\n });\r\n });\r\n\r\n // Stop slideshow\r\n if (instance.SlideShow && instance.SlideShow.isActive) {\r\n instance.SlideShow.stop();\r\n }\r\n }\r\n\r\n return;\r\n }\r\n\r\n // Sticky edges\r\n if (swiping == \"x\") {\r\n if (\r\n self.distanceX > 0 &&\r\n (self.instance.group.length < 2 || (self.instance.current.index === 0 && !self.instance.current.opts.loop))\r\n ) {\r\n left = left + Math.pow(self.distanceX, 0.8);\r\n } else if (\r\n self.distanceX < 0 &&\r\n (self.instance.group.length < 2 ||\r\n (self.instance.current.index === self.instance.group.length - 1 && !self.instance.current.opts.loop))\r\n ) {\r\n left = left - Math.pow(-self.distanceX, 0.8);\r\n } else {\r\n left = left + self.distanceX;\r\n }\r\n }\r\n\r\n self.sliderLastPos = {\r\n top: swiping == \"x\" ? 0 : self.sliderStartPos.top + self.distanceY,\r\n left: left\r\n };\r\n\r\n if (self.requestId) {\r\n cancelAFrame(self.requestId);\r\n\r\n self.requestId = null;\r\n }\r\n\r\n self.requestId = requestAFrame(function () {\r\n if (self.sliderLastPos) {\r\n $.each(self.instance.slides, function (index, slide) {\r\n var pos = slide.pos - self.instance.currPos;\r\n\r\n $.fancybox.setTranslate(slide.$slide, {\r\n top: self.sliderLastPos.top,\r\n left: self.sliderLastPos.left + pos * self.canvasWidth + pos * slide.opts.gutter\r\n });\r\n });\r\n\r\n self.$container.addClass(\"fancybox-is-sliding\");\r\n }\r\n });\r\n };\r\n\r\n Guestures.prototype.onPan = function () {\r\n var self = this;\r\n\r\n // Prevent accidental movement (sometimes, when tapping casually, finger can move a bit)\r\n if (distance(self.newPoints[0], self.realPoints[0]) < ($.fancybox.isMobile ? 10 : 5)) {\r\n self.startPoints = self.newPoints;\r\n return;\r\n }\r\n\r\n self.canTap = false;\r\n\r\n self.contentLastPos = self.limitMovement();\r\n\r\n if (self.requestId) {\r\n cancelAFrame(self.requestId);\r\n }\r\n\r\n self.requestId = requestAFrame(function () {\r\n $.fancybox.setTranslate(self.$content, self.contentLastPos);\r\n });\r\n };\r\n\r\n // Make panning sticky to the edges\r\n Guestures.prototype.limitMovement = function () {\r\n var self = this;\r\n\r\n var canvasWidth = self.canvasWidth;\r\n var canvasHeight = self.canvasHeight;\r\n\r\n var distanceX = self.distanceX;\r\n var distanceY = self.distanceY;\r\n\r\n var contentStartPos = self.contentStartPos;\r\n\r\n var currentOffsetX = contentStartPos.left;\r\n var currentOffsetY = contentStartPos.top;\r\n\r\n var currentWidth = contentStartPos.width;\r\n var currentHeight = contentStartPos.height;\r\n\r\n var minTranslateX, minTranslateY, maxTranslateX, maxTranslateY, newOffsetX, newOffsetY;\r\n\r\n if (currentWidth > canvasWidth) {\r\n newOffsetX = currentOffsetX + distanceX;\r\n } else {\r\n newOffsetX = currentOffsetX;\r\n }\r\n\r\n newOffsetY = currentOffsetY + distanceY;\r\n\r\n // Slow down proportionally to traveled distance\r\n minTranslateX = Math.max(0, canvasWidth * 0.5 - currentWidth * 0.5);\r\n minTranslateY = Math.max(0, canvasHeight * 0.5 - currentHeight * 0.5);\r\n\r\n maxTranslateX = Math.min(canvasWidth - currentWidth, canvasWidth * 0.5 - currentWidth * 0.5);\r\n maxTranslateY = Math.min(canvasHeight - currentHeight, canvasHeight * 0.5 - currentHeight * 0.5);\r\n\r\n // ->\r\n if (distanceX > 0 && newOffsetX > minTranslateX) {\r\n newOffsetX = minTranslateX - 1 + Math.pow(-minTranslateX + currentOffsetX + distanceX, 0.8) || 0;\r\n }\r\n\r\n // <-\r\n if (distanceX < 0 && newOffsetX < maxTranslateX) {\r\n newOffsetX = maxTranslateX + 1 - Math.pow(maxTranslateX - currentOffsetX - distanceX, 0.8) || 0;\r\n }\r\n\r\n // \\/\r\n if (distanceY > 0 && newOffsetY > minTranslateY) {\r\n newOffsetY = minTranslateY - 1 + Math.pow(-minTranslateY + currentOffsetY + distanceY, 0.8) || 0;\r\n }\r\n\r\n // /\\\r\n if (distanceY < 0 && newOffsetY < maxTranslateY) {\r\n newOffsetY = maxTranslateY + 1 - Math.pow(maxTranslateY - currentOffsetY - distanceY, 0.8) || 0;\r\n }\r\n\r\n return {\r\n top: newOffsetY,\r\n left: newOffsetX\r\n };\r\n };\r\n\r\n Guestures.prototype.limitPosition = function (newOffsetX, newOffsetY, newWidth, newHeight) {\r\n var self = this;\r\n\r\n var canvasWidth = self.canvasWidth;\r\n var canvasHeight = self.canvasHeight;\r\n\r\n if (newWidth > canvasWidth) {\r\n newOffsetX = newOffsetX > 0 ? 0 : newOffsetX;\r\n newOffsetX = newOffsetX < canvasWidth - newWidth ? canvasWidth - newWidth : newOffsetX;\r\n } else {\r\n // Center horizontally\r\n newOffsetX = Math.max(0, canvasWidth / 2 - newWidth / 2);\r\n }\r\n\r\n if (newHeight > canvasHeight) {\r\n newOffsetY = newOffsetY > 0 ? 0 : newOffsetY;\r\n newOffsetY = newOffsetY < canvasHeight - newHeight ? canvasHeight - newHeight : newOffsetY;\r\n } else {\r\n // Center vertically\r\n newOffsetY = Math.max(0, canvasHeight / 2 - newHeight / 2);\r\n }\r\n\r\n return {\r\n top: newOffsetY,\r\n left: newOffsetX\r\n };\r\n };\r\n\r\n Guestures.prototype.onZoom = function () {\r\n var self = this;\r\n\r\n // Calculate current distance between points to get pinch ratio and new width and height\r\n var contentStartPos = self.contentStartPos;\r\n\r\n var currentWidth = contentStartPos.width;\r\n var currentHeight = contentStartPos.height;\r\n\r\n var currentOffsetX = contentStartPos.left;\r\n var currentOffsetY = contentStartPos.top;\r\n\r\n var endDistanceBetweenFingers = distance(self.newPoints[0], self.newPoints[1]);\r\n\r\n var pinchRatio = endDistanceBetweenFingers / self.startDistanceBetweenFingers;\r\n\r\n var newWidth = Math.floor(currentWidth * pinchRatio);\r\n var newHeight = Math.floor(currentHeight * pinchRatio);\r\n\r\n // This is the translation due to pinch-zooming\r\n var translateFromZoomingX = (currentWidth - newWidth) * self.percentageOfImageAtPinchPointX;\r\n var translateFromZoomingY = (currentHeight - newHeight) * self.percentageOfImageAtPinchPointY;\r\n\r\n // Point between the two touches\r\n var centerPointEndX = (self.newPoints[0].x + self.newPoints[1].x) / 2 - $(window).scrollLeft();\r\n var centerPointEndY = (self.newPoints[0].y + self.newPoints[1].y) / 2 - $(window).scrollTop();\r\n\r\n // And this is the translation due to translation of the centerpoint\r\n // between the two fingers\r\n var translateFromTranslatingX = centerPointEndX - self.centerPointStartX;\r\n var translateFromTranslatingY = centerPointEndY - self.centerPointStartY;\r\n\r\n // The new offset is the old/current one plus the total translation\r\n var newOffsetX = currentOffsetX + (translateFromZoomingX + translateFromTranslatingX);\r\n var newOffsetY = currentOffsetY + (translateFromZoomingY + translateFromTranslatingY);\r\n\r\n var newPos = {\r\n top: newOffsetY,\r\n left: newOffsetX,\r\n scaleX: pinchRatio,\r\n scaleY: pinchRatio\r\n };\r\n\r\n self.canTap = false;\r\n\r\n self.newWidth = newWidth;\r\n self.newHeight = newHeight;\r\n\r\n self.contentLastPos = newPos;\r\n\r\n if (self.requestId) {\r\n cancelAFrame(self.requestId);\r\n }\r\n\r\n self.requestId = requestAFrame(function () {\r\n $.fancybox.setTranslate(self.$content, self.contentLastPos);\r\n });\r\n };\r\n\r\n Guestures.prototype.ontouchend = function (e) {\r\n var self = this;\r\n\r\n var swiping = self.isSwiping;\r\n var panning = self.isPanning;\r\n var zooming = self.isZooming;\r\n var scrolling = self.isScrolling;\r\n\r\n self.endPoints = getPointerXY(e);\r\n self.dMs = Math.max(new Date().getTime() - self.startTime, 1);\r\n\r\n self.$container.removeClass(\"fancybox-is-grabbing\");\r\n\r\n $(document).off(\".fb.touch\");\r\n\r\n document.removeEventListener(\"scroll\", self.onscroll, true);\r\n\r\n if (self.requestId) {\r\n cancelAFrame(self.requestId);\r\n\r\n self.requestId = null;\r\n }\r\n\r\n self.isSwiping = false;\r\n self.isPanning = false;\r\n self.isZooming = false;\r\n self.isScrolling = false;\r\n\r\n self.instance.isDragging = false;\r\n\r\n if (self.canTap) {\r\n return self.onTap(e);\r\n }\r\n\r\n self.speed = 100;\r\n\r\n // Speed in px/ms\r\n self.velocityX = (self.distanceX / self.dMs) * 0.5;\r\n self.velocityY = (self.distanceY / self.dMs) * 0.5;\r\n\r\n if (panning) {\r\n self.endPanning();\r\n } else if (zooming) {\r\n self.endZooming();\r\n } else {\r\n self.endSwiping(swiping, scrolling);\r\n }\r\n\r\n return;\r\n };\r\n\r\n Guestures.prototype.endSwiping = function (swiping, scrolling) {\r\n var self = this,\r\n ret = false,\r\n len = self.instance.group.length,\r\n distanceX = Math.abs(self.distanceX),\r\n canAdvance = swiping == \"x\" && len > 1 && ((self.dMs > 130 && distanceX > 10) || distanceX > 50),\r\n speedX = 300;\r\n\r\n self.sliderLastPos = null;\r\n\r\n // Close if swiped vertically / navigate if horizontally\r\n if (swiping == \"y\" && !scrolling && Math.abs(self.distanceY) > 50) {\r\n // Continue vertical movement\r\n $.fancybox.animate(\r\n self.instance.current.$slide, {\r\n top: self.sliderStartPos.top + self.distanceY + self.velocityY * 150,\r\n opacity: 0\r\n },\r\n 200\r\n );\r\n ret = self.instance.close(true, 250);\r\n } else if (canAdvance && self.distanceX > 0) {\r\n ret = self.instance.previous(speedX);\r\n } else if (canAdvance && self.distanceX < 0) {\r\n ret = self.instance.next(speedX);\r\n }\r\n\r\n if (ret === false && (swiping == \"x\" || swiping == \"y\")) {\r\n self.instance.centerSlide(200);\r\n }\r\n\r\n self.$container.removeClass(\"fancybox-is-sliding\");\r\n };\r\n\r\n // Limit panning from edges\r\n // ========================\r\n Guestures.prototype.endPanning = function () {\r\n var self = this,\r\n newOffsetX,\r\n newOffsetY,\r\n newPos;\r\n\r\n if (!self.contentLastPos) {\r\n return;\r\n }\r\n\r\n if (self.opts.momentum === false || self.dMs > 350) {\r\n newOffsetX = self.contentLastPos.left;\r\n newOffsetY = self.contentLastPos.top;\r\n } else {\r\n // Continue movement\r\n newOffsetX = self.contentLastPos.left + self.velocityX * 500;\r\n newOffsetY = self.contentLastPos.top + self.velocityY * 500;\r\n }\r\n\r\n newPos = self.limitPosition(newOffsetX, newOffsetY, self.contentStartPos.width, self.contentStartPos.height);\r\n\r\n newPos.width = self.contentStartPos.width;\r\n newPos.height = self.contentStartPos.height;\r\n\r\n $.fancybox.animate(self.$content, newPos, 366);\r\n };\r\n\r\n Guestures.prototype.endZooming = function () {\r\n var self = this;\r\n\r\n var current = self.instance.current;\r\n\r\n var newOffsetX, newOffsetY, newPos, reset;\r\n\r\n var newWidth = self.newWidth;\r\n var newHeight = self.newHeight;\r\n\r\n if (!self.contentLastPos) {\r\n return;\r\n }\r\n\r\n newOffsetX = self.contentLastPos.left;\r\n newOffsetY = self.contentLastPos.top;\r\n\r\n reset = {\r\n top: newOffsetY,\r\n left: newOffsetX,\r\n width: newWidth,\r\n height: newHeight,\r\n scaleX: 1,\r\n scaleY: 1\r\n };\r\n\r\n // Reset scalex/scaleY values; this helps for perfomance and does not break animation\r\n $.fancybox.setTranslate(self.$content, reset);\r\n\r\n if (newWidth < self.canvasWidth && newHeight < self.canvasHeight) {\r\n self.instance.scaleToFit(150);\r\n } else if (newWidth > current.width || newHeight > current.height) {\r\n self.instance.scaleToActual(self.centerPointStartX, self.centerPointStartY, 150);\r\n } else {\r\n newPos = self.limitPosition(newOffsetX, newOffsetY, newWidth, newHeight);\r\n\r\n $.fancybox.animate(self.$content, newPos, 150);\r\n }\r\n };\r\n\r\n Guestures.prototype.onTap = function (e) {\r\n var self = this;\r\n var $target = $(e.target);\r\n\r\n var instance = self.instance;\r\n var current = instance.current;\r\n\r\n var endPoints = (e && getPointerXY(e)) || self.startPoints;\r\n\r\n var tapX = endPoints[0] ? endPoints[0].x - $(window).scrollLeft() - self.stagePos.left : 0;\r\n var tapY = endPoints[0] ? endPoints[0].y - $(window).scrollTop() - self.stagePos.top : 0;\r\n\r\n var where;\r\n\r\n var process = function (prefix) {\r\n var action = current.opts[prefix];\r\n\r\n if ($.isFunction(action)) {\r\n action = action.apply(instance, [current, e]);\r\n }\r\n\r\n if (!action) {\r\n return;\r\n }\r\n\r\n switch (action) {\r\n case \"close\":\r\n instance.close(self.startEvent);\r\n\r\n break;\r\n\r\n case \"toggleControls\":\r\n instance.toggleControls();\r\n\r\n break;\r\n\r\n case \"next\":\r\n instance.next();\r\n\r\n break;\r\n\r\n case \"nextOrClose\":\r\n if (instance.group.length > 1) {\r\n instance.next();\r\n } else {\r\n instance.close(self.startEvent);\r\n }\r\n\r\n break;\r\n\r\n case \"zoom\":\r\n if (current.type == \"image\" && (current.isLoaded || current.$ghost)) {\r\n if (instance.canPan()) {\r\n instance.scaleToFit();\r\n } else if (instance.isScaledDown()) {\r\n instance.scaleToActual(tapX, tapY);\r\n } else if (instance.group.length < 2) {\r\n instance.close(self.startEvent);\r\n }\r\n }\r\n\r\n break;\r\n }\r\n };\r\n\r\n // Ignore right click\r\n if (e.originalEvent && e.originalEvent.button == 2) {\r\n return;\r\n }\r\n\r\n // Skip if clicked on the scrollbar\r\n if (!$target.is(\"img\") && tapX > $target[0].clientWidth + $target.offset().left) {\r\n return;\r\n }\r\n\r\n // Check where is clicked\r\n if ($target.is(\".fancybox-bg,.fancybox-inner,.fancybox-outer,.fancybox-container\")) {\r\n where = \"Outside\";\r\n } else if ($target.is(\".fancybox-slide\")) {\r\n where = \"Slide\";\r\n } else if (\r\n instance.current.$content &&\r\n instance.current.$content\r\n .find($target)\r\n .addBack()\r\n .filter($target).length\r\n ) {\r\n where = \"Content\";\r\n } else {\r\n return;\r\n }\r\n\r\n // Check if this is a double tap\r\n if (self.tapped) {\r\n // Stop previously created single tap\r\n clearTimeout(self.tapped);\r\n self.tapped = null;\r\n\r\n // Skip if distance between taps is too big\r\n if (Math.abs(tapX - self.tapX) > 50 || Math.abs(tapY - self.tapY) > 50) {\r\n return this;\r\n }\r\n\r\n // OK, now we assume that this is a double-tap\r\n process(\"dblclick\" + where);\r\n } else {\r\n // Single tap will be processed if user has not clicked second time within 300ms\r\n // or there is no need to wait for double-tap\r\n self.tapX = tapX;\r\n self.tapY = tapY;\r\n\r\n if (current.opts[\"dblclick\" + where] && current.opts[\"dblclick\" + where] !== current.opts[\"click\" + where]) {\r\n self.tapped = setTimeout(function () {\r\n self.tapped = null;\r\n\r\n if (!instance.isAnimating) {\r\n process(\"click\" + where);\r\n }\r\n }, 500);\r\n } else {\r\n process(\"click\" + where);\r\n }\r\n }\r\n\r\n return this;\r\n };\r\n\r\n $(document)\r\n .on(\"onActivate.fb\", function (e, instance) {\r\n if (instance && !instance.Guestures) {\r\n instance.Guestures = new Guestures(instance);\r\n }\r\n })\r\n .on(\"beforeClose.fb\", function (e, instance) {\r\n if (instance && instance.Guestures) {\r\n instance.Guestures.destroy();\r\n }\r\n });\r\n})(window, document, jQuery);\r\n// ==========================================================================\r\n//\r\n// SlideShow\r\n// Enables slideshow functionality\r\n//\r\n// Example of usage:\r\n// $.fancybox.getInstance().SlideShow.start()\r\n//\r\n// ==========================================================================\r\n(function (document, $) {\r\n \"use strict\";\r\n\r\n $.extend(true, $.fancybox.defaults, {\r\n btnTpl: {\r\n slideShow: '\"\r\n },\r\n slideShow: {\r\n autoStart: false,\r\n speed: 3000,\r\n progress: true\r\n }\r\n });\r\n\r\n var SlideShow = function (instance) {\r\n this.instance = instance;\r\n this.init();\r\n };\r\n\r\n $.extend(SlideShow.prototype, {\r\n timer: null,\r\n isActive: false,\r\n $button: null,\r\n\r\n init: function () {\r\n var self = this,\r\n instance = self.instance,\r\n opts = instance.group[instance.currIndex].opts.slideShow;\r\n\r\n self.$button = instance.$refs.toolbar.find(\"[data-fancybox-play]\").on(\"click\", function () {\r\n self.toggle();\r\n });\r\n\r\n if (instance.group.length < 2 || !opts) {\r\n self.$button.hide();\r\n } else if (opts.progress) {\r\n self.$progress = $('
').appendTo(instance.$refs.inner);\r\n }\r\n },\r\n\r\n set: function (force) {\r\n var self = this,\r\n instance = self.instance,\r\n current = instance.current;\r\n\r\n // Check if reached last element\r\n if (current && (force === true || current.opts.loop || instance.currIndex < instance.group.length - 1)) {\r\n if (self.isActive && current.contentType !== \"video\") {\r\n if (self.$progress) {\r\n $.fancybox.animate(self.$progress.show(), {\r\n scaleX: 1\r\n }, current.opts.slideShow.speed);\r\n }\r\n\r\n self.timer = setTimeout(function () {\r\n if (!instance.current.opts.loop && instance.current.index == instance.group.length - 1) {\r\n instance.jumpTo(0);\r\n } else {\r\n instance.next();\r\n }\r\n }, current.opts.slideShow.speed);\r\n }\r\n } else {\r\n self.stop();\r\n instance.idleSecondsCounter = 0;\r\n instance.showControls();\r\n }\r\n },\r\n\r\n clear: function () {\r\n var self = this;\r\n\r\n clearTimeout(self.timer);\r\n\r\n self.timer = null;\r\n\r\n if (self.$progress) {\r\n self.$progress.removeAttr(\"style\").hide();\r\n }\r\n },\r\n\r\n start: function () {\r\n var self = this,\r\n current = self.instance.current;\r\n\r\n if (current) {\r\n self.$button\r\n .attr(\"title\", (current.opts.i18n[current.opts.lang] || current.opts.i18n.en).PLAY_STOP)\r\n .removeClass(\"fancybox-button--play\")\r\n .addClass(\"fancybox-button--pause\");\r\n\r\n self.isActive = true;\r\n\r\n if (current.isComplete) {\r\n self.set(true);\r\n }\r\n\r\n self.instance.trigger(\"onSlideShowChange\", true);\r\n }\r\n },\r\n\r\n stop: function () {\r\n var self = this,\r\n current = self.instance.current;\r\n\r\n self.clear();\r\n\r\n self.$button\r\n .attr(\"title\", (current.opts.i18n[current.opts.lang] || current.opts.i18n.en).PLAY_START)\r\n .removeClass(\"fancybox-button--pause\")\r\n .addClass(\"fancybox-button--play\");\r\n\r\n self.isActive = false;\r\n\r\n self.instance.trigger(\"onSlideShowChange\", false);\r\n\r\n if (self.$progress) {\r\n self.$progress.removeAttr(\"style\").hide();\r\n }\r\n },\r\n\r\n toggle: function () {\r\n var self = this;\r\n\r\n if (self.isActive) {\r\n self.stop();\r\n } else {\r\n self.start();\r\n }\r\n }\r\n });\r\n\r\n $(document).on({\r\n \"onInit.fb\": function (e, instance) {\r\n if (instance && !instance.SlideShow) {\r\n instance.SlideShow = new SlideShow(instance);\r\n }\r\n },\r\n\r\n \"beforeShow.fb\": function (e, instance, current, firstRun) {\r\n var SlideShow = instance && instance.SlideShow;\r\n\r\n if (firstRun) {\r\n if (SlideShow && current.opts.slideShow.autoStart) {\r\n SlideShow.start();\r\n }\r\n } else if (SlideShow && SlideShow.isActive) {\r\n SlideShow.clear();\r\n }\r\n },\r\n\r\n \"afterShow.fb\": function (e, instance, current) {\r\n var SlideShow = instance && instance.SlideShow;\r\n\r\n if (SlideShow && SlideShow.isActive) {\r\n SlideShow.set();\r\n }\r\n },\r\n\r\n \"afterKeydown.fb\": function (e, instance, current, keypress, keycode) {\r\n var SlideShow = instance && instance.SlideShow;\r\n\r\n // \"P\" or Spacebar\r\n if (SlideShow && current.opts.slideShow && (keycode === 80 || keycode === 32) && !$(document.activeElement).is(\"button,a,input\")) {\r\n keypress.preventDefault();\r\n\r\n SlideShow.toggle();\r\n }\r\n },\r\n\r\n \"beforeClose.fb onDeactivate.fb\": function (e, instance) {\r\n var SlideShow = instance && instance.SlideShow;\r\n\r\n if (SlideShow) {\r\n SlideShow.stop();\r\n }\r\n }\r\n });\r\n\r\n // Page Visibility API to pause slideshow when window is not active\r\n $(document).on(\"visibilitychange\", function () {\r\n var instance = $.fancybox.getInstance(),\r\n SlideShow = instance && instance.SlideShow;\r\n\r\n if (SlideShow && SlideShow.isActive) {\r\n if (document.hidden) {\r\n SlideShow.clear();\r\n } else {\r\n SlideShow.set();\r\n }\r\n }\r\n });\r\n})(document, jQuery);\r\n// ==========================================================================\r\n//\r\n// FullScreen\r\n// Adds fullscreen functionality\r\n//\r\n// ==========================================================================\r\n(function (document, $) {\r\n \"use strict\";\r\n\r\n // Collection of methods supported by user browser\r\n var fn = (function () {\r\n var fnMap = [\r\n [\"requestFullscreen\", \"exitFullscreen\", \"fullscreenElement\", \"fullscreenEnabled\", \"fullscreenchange\", \"fullscreenerror\"],\r\n // new WebKit\r\n [\r\n \"webkitRequestFullscreen\",\r\n \"webkitExitFullscreen\",\r\n \"webkitFullscreenElement\",\r\n \"webkitFullscreenEnabled\",\r\n \"webkitfullscreenchange\",\r\n \"webkitfullscreenerror\"\r\n ],\r\n // old WebKit (Safari 5.1)\r\n [\r\n \"webkitRequestFullScreen\",\r\n \"webkitCancelFullScreen\",\r\n \"webkitCurrentFullScreenElement\",\r\n \"webkitCancelFullScreen\",\r\n \"webkitfullscreenchange\",\r\n \"webkitfullscreenerror\"\r\n ],\r\n [\r\n \"mozRequestFullScreen\",\r\n \"mozCancelFullScreen\",\r\n \"mozFullScreenElement\",\r\n \"mozFullScreenEnabled\",\r\n \"mozfullscreenchange\",\r\n \"mozfullscreenerror\"\r\n ],\r\n [\"msRequestFullscreen\", \"msExitFullscreen\", \"msFullscreenElement\", \"msFullscreenEnabled\", \"MSFullscreenChange\", \"MSFullscreenError\"]\r\n ];\r\n\r\n var ret = {};\r\n\r\n for (var i = 0; i < fnMap.length; i++) {\r\n var val = fnMap[i];\r\n\r\n if (val && val[1] in document) {\r\n for (var j = 0; j < val.length; j++) {\r\n ret[fnMap[0][j]] = val[j];\r\n }\r\n\r\n return ret;\r\n }\r\n }\r\n\r\n return false;\r\n })();\r\n\r\n if (fn) {\r\n var FullScreen = {\r\n request: function (elem) {\r\n elem = elem || document.documentElement;\r\n\r\n elem[fn.requestFullscreen](elem.ALLOW_KEYBOARD_INPUT);\r\n },\r\n exit: function () {\r\n document[fn.exitFullscreen]();\r\n },\r\n toggle: function (elem) {\r\n elem = elem || document.documentElement;\r\n\r\n if (this.isFullscreen()) {\r\n this.exit();\r\n } else {\r\n this.request(elem);\r\n }\r\n },\r\n isFullscreen: function () {\r\n return Boolean(document[fn.fullscreenElement]);\r\n },\r\n enabled: function () {\r\n return Boolean(document[fn.fullscreenEnabled]);\r\n }\r\n };\r\n\r\n $.extend(true, $.fancybox.defaults, {\r\n btnTpl: {\r\n fullScreen: '\"\r\n },\r\n fullScreen: {\r\n autoStart: false\r\n }\r\n });\r\n\r\n $(document).on(fn.fullscreenchange, function () {\r\n var isFullscreen = FullScreen.isFullscreen(),\r\n instance = $.fancybox.getInstance();\r\n\r\n if (instance) {\r\n // If image is zooming, then force to stop and reposition properly\r\n if (instance.current && instance.current.type === \"image\" && instance.isAnimating) {\r\n instance.isAnimating = false;\r\n\r\n instance.update(true, true, 0);\r\n\r\n if (!instance.isComplete) {\r\n instance.complete();\r\n }\r\n }\r\n\r\n instance.trigger(\"onFullscreenChange\", isFullscreen);\r\n\r\n instance.$refs.container.toggleClass(\"fancybox-is-fullscreen\", isFullscreen);\r\n\r\n instance.$refs.toolbar\r\n .find(\"[data-fancybox-fullscreen]\")\r\n .toggleClass(\"fancybox-button--fsenter\", !isFullscreen)\r\n .toggleClass(\"fancybox-button--fsexit\", isFullscreen);\r\n }\r\n });\r\n }\r\n\r\n $(document).on({\r\n \"onInit.fb\": function (e, instance) {\r\n var $container;\r\n\r\n if (!fn) {\r\n instance.$refs.toolbar.find(\"[data-fancybox-fullscreen]\").remove();\r\n\r\n return;\r\n }\r\n\r\n if (instance && instance.group[instance.currIndex].opts.fullScreen) {\r\n $container = instance.$refs.container;\r\n\r\n $container.on(\"click.fb-fullscreen\", \"[data-fancybox-fullscreen]\", function (e) {\r\n e.stopPropagation();\r\n e.preventDefault();\r\n\r\n FullScreen.toggle();\r\n });\r\n\r\n if (instance.opts.fullScreen && instance.opts.fullScreen.autoStart === true) {\r\n FullScreen.request();\r\n }\r\n\r\n // Expose API\r\n instance.FullScreen = FullScreen;\r\n } else if (instance) {\r\n instance.$refs.toolbar.find(\"[data-fancybox-fullscreen]\").hide();\r\n }\r\n },\r\n\r\n \"afterKeydown.fb\": function (e, instance, current, keypress, keycode) {\r\n // \"F\"\r\n if (instance && instance.FullScreen && keycode === 70) {\r\n keypress.preventDefault();\r\n\r\n instance.FullScreen.toggle();\r\n }\r\n },\r\n\r\n \"beforeClose.fb\": function (e, instance) {\r\n if (instance && instance.FullScreen && instance.$refs.container.hasClass(\"fancybox-is-fullscreen\")) {\r\n FullScreen.exit();\r\n }\r\n }\r\n });\r\n})(document, jQuery);\r\n// ==========================================================================\r\n//\r\n// Thumbs\r\n// Displays thumbnails in a grid\r\n//\r\n// ==========================================================================\r\n(function (document, $) {\r\n \"use strict\";\r\n\r\n var CLASS = \"fancybox-thumbs\",\r\n CLASS_ACTIVE = CLASS + \"-active\";\r\n\r\n // Make sure there are default values\r\n $.fancybox.defaults = $.extend(\r\n true, {\r\n btnTpl: {\r\n thumbs: '\"\r\n },\r\n thumbs: {\r\n autoStart: false, // Display thumbnails on opening\r\n hideOnClose: true, // Hide thumbnail grid when closing animation starts\r\n parentEl: \".fancybox-container\", // Container is injected into this element\r\n axis: \"y\" // Vertical (y) or horizontal (x) scrolling\r\n }\r\n },\r\n $.fancybox.defaults\r\n );\r\n\r\n var FancyThumbs = function (instance) {\r\n this.init(instance);\r\n };\r\n\r\n $.extend(FancyThumbs.prototype, {\r\n $button: null,\r\n $grid: null,\r\n $list: null,\r\n isVisible: false,\r\n isActive: false,\r\n\r\n init: function (instance) {\r\n var self = this,\r\n group = instance.group,\r\n enabled = 0;\r\n\r\n self.instance = instance;\r\n self.opts = group[instance.currIndex].opts.thumbs;\r\n\r\n instance.Thumbs = self;\r\n\r\n self.$button = instance.$refs.toolbar.find(\"[data-fancybox-thumbs]\");\r\n\r\n // Enable thumbs if at least two group items have thumbnails\r\n for (var i = 0, len = group.length; i < len; i++) {\r\n if (group[i].thumb) {\r\n enabled++;\r\n }\r\n\r\n if (enabled > 1) {\r\n break;\r\n }\r\n }\r\n\r\n if (enabled > 1 && !!self.opts) {\r\n self.$button.removeAttr(\"style\").on(\"click\", function () {\r\n self.toggle();\r\n });\r\n\r\n self.isActive = true;\r\n } else {\r\n self.$button.hide();\r\n }\r\n },\r\n\r\n create: function () {\r\n var self = this,\r\n instance = self.instance,\r\n parentEl = self.opts.parentEl,\r\n list = [],\r\n src;\r\n\r\n if (!self.$grid) {\r\n // Create main element\r\n self.$grid = $('
').appendTo(\r\n instance.$refs.container\r\n .find(parentEl)\r\n .addBack()\r\n .filter(parentEl)\r\n );\r\n\r\n // Add \"click\" event that performs gallery navigation\r\n self.$grid.on(\"click\", \"a\", function () {\r\n instance.jumpTo($(this).attr(\"data-index\"));\r\n });\r\n }\r\n\r\n // Build the list\r\n if (!self.$list) {\r\n self.$list = $('
').appendTo(self.$grid);\r\n }\r\n\r\n $.each(instance.group, function (i, item) {\r\n src = item.thumb;\r\n\r\n if (!src && item.type === \"image\") {\r\n src = item.src;\r\n }\r\n\r\n list.push(\r\n '\"\r\n );\r\n });\r\n\r\n self.$list[0].innerHTML = list.join(\"\");\r\n\r\n if (self.opts.axis === \"x\") {\r\n // Set fixed width for list element to enable horizontal scrolling\r\n self.$list.width(\r\n parseInt(self.$grid.css(\"padding-right\"), 10) +\r\n instance.group.length *\r\n self.$list\r\n .children()\r\n .eq(0)\r\n .outerWidth(true)\r\n );\r\n }\r\n },\r\n\r\n focus: function (duration) {\r\n var self = this,\r\n $list = self.$list,\r\n $grid = self.$grid,\r\n thumb,\r\n thumbPos;\r\n\r\n if (!self.instance.current) {\r\n return;\r\n }\r\n\r\n thumb = $list\r\n .children()\r\n .removeClass(CLASS_ACTIVE)\r\n .filter('[data-index=\"' + self.instance.current.index + '\"]')\r\n .addClass(CLASS_ACTIVE);\r\n\r\n thumbPos = thumb.position();\r\n\r\n // Check if need to scroll to make current thumb visible\r\n if (self.opts.axis === \"y\" && (thumbPos.top < 0 || thumbPos.top > $list.height() - thumb.outerHeight())) {\r\n $list.stop().animate({\r\n scrollTop: $list.scrollTop() + thumbPos.top\r\n },\r\n duration\r\n );\r\n } else if (\r\n self.opts.axis === \"x\" &&\r\n (thumbPos.left < $grid.scrollLeft() || thumbPos.left > $grid.scrollLeft() + ($grid.width() - thumb.outerWidth()))\r\n ) {\r\n $list\r\n .parent()\r\n .stop()\r\n .animate({\r\n scrollLeft: thumbPos.left\r\n },\r\n duration\r\n );\r\n }\r\n },\r\n\r\n update: function () {\r\n var that = this;\r\n that.instance.$refs.container.toggleClass(\"fancybox-show-thumbs\", this.isVisible);\r\n\r\n if (that.isVisible) {\r\n if (!that.$grid) {\r\n that.create();\r\n }\r\n\r\n that.instance.trigger(\"onThumbsShow\");\r\n\r\n that.focus(0);\r\n } else if (that.$grid) {\r\n that.instance.trigger(\"onThumbsHide\");\r\n }\r\n\r\n // Update content position\r\n that.instance.update();\r\n },\r\n\r\n hide: function () {\r\n this.isVisible = false;\r\n this.update();\r\n },\r\n\r\n show: function () {\r\n this.isVisible = true;\r\n this.update();\r\n },\r\n\r\n toggle: function () {\r\n this.isVisible = !this.isVisible;\r\n this.update();\r\n }\r\n });\r\n\r\n $(document).on({\r\n \"onInit.fb\": function (e, instance) {\r\n var Thumbs;\r\n\r\n if (instance && !instance.Thumbs) {\r\n Thumbs = new FancyThumbs(instance);\r\n\r\n if (Thumbs.isActive && Thumbs.opts.autoStart === true) {\r\n Thumbs.show();\r\n }\r\n }\r\n },\r\n\r\n \"beforeShow.fb\": function (e, instance, item, firstRun) {\r\n var Thumbs = instance && instance.Thumbs;\r\n\r\n if (Thumbs && Thumbs.isVisible) {\r\n Thumbs.focus(firstRun ? 0 : 250);\r\n }\r\n },\r\n\r\n \"afterKeydown.fb\": function (e, instance, current, keypress, keycode) {\r\n var Thumbs = instance && instance.Thumbs;\r\n\r\n // \"G\"\r\n if (Thumbs && Thumbs.isActive && keycode === 71) {\r\n keypress.preventDefault();\r\n\r\n Thumbs.toggle();\r\n }\r\n },\r\n\r\n \"beforeClose.fb\": function (e, instance) {\r\n var Thumbs = instance && instance.Thumbs;\r\n\r\n if (Thumbs && Thumbs.isVisible && Thumbs.opts.hideOnClose !== false) {\r\n Thumbs.$grid.hide();\r\n }\r\n }\r\n });\r\n})(document, jQuery);\r\n//// ==========================================================================\r\n//\r\n// Share\r\n// Displays simple form for sharing current url\r\n//\r\n// ==========================================================================\r\n(function (document, $) {\r\n \"use strict\";\r\n\r\n $.extend(true, $.fancybox.defaults, {\r\n btnTpl: {\r\n share: '\"\r\n },\r\n share: {\r\n url: function (instance, item) {\r\n return (\r\n (!instance.currentHash && !(item.type === \"inline\" || item.type === \"html\") ? item.origSrc || item.src : false) || window.location\r\n );\r\n },\r\n tpl: '
' +\r\n \"

{{SHARE}}

\" +\r\n \"

\" +\r\n '' +\r\n '' +\r\n \"Facebook\" +\r\n \"\" +\r\n '' +\r\n '' +\r\n \"Twitter\" +\r\n \"\" +\r\n '' +\r\n '' +\r\n \"Pinterest\" +\r\n \"\" +\r\n \"

\" +\r\n '

' +\r\n \"
\"\r\n }\r\n });\r\n\r\n function escapeHtml(string) {\r\n var entityMap = {\r\n \"&\": \"&\",\r\n \"<\": \"<\",\r\n \">\": \">\",\r\n '\"': \""\",\r\n \"'\": \"'\",\r\n \"/\": \"/\",\r\n \"`\": \"`\",\r\n \"=\": \"=\"\r\n };\r\n\r\n return String(string).replace(/[&<>\"'`=\\/]/g, function (s) {\r\n return entityMap[s];\r\n });\r\n }\r\n\r\n $(document).on(\"click\", \"[data-fancybox-share]\", function () {\r\n var instance = $.fancybox.getInstance(),\r\n current = instance.current || null,\r\n url,\r\n tpl;\r\n\r\n if (!current) {\r\n return;\r\n }\r\n\r\n if ($.type(current.opts.share.url) === \"function\") {\r\n url = current.opts.share.url.apply(current, [instance, current]);\r\n }\r\n\r\n tpl = current.opts.share.tpl\r\n .replace(/\\{\\{media\\}\\}/g, current.type === \"image\" ? encodeURIComponent(current.src) : \"\")\r\n .replace(/\\{\\{url\\}\\}/g, encodeURIComponent(url))\r\n .replace(/\\{\\{url_raw\\}\\}/g, escapeHtml(url))\r\n .replace(/\\{\\{descr\\}\\}/g, instance.$caption ? encodeURIComponent(instance.$caption.text()) : \"\");\r\n\r\n $.fancybox.open({\r\n src: instance.translate(instance, tpl),\r\n type: \"html\",\r\n opts: {\r\n touch: false,\r\n animationEffect: false,\r\n afterLoad: function (shareInstance, shareCurrent) {\r\n // Close self if parent instance is closing\r\n instance.$refs.container.one(\"beforeClose.fb\", function () {\r\n shareInstance.close(null, 0);\r\n });\r\n\r\n // Opening links in a popup window\r\n shareCurrent.$content.find(\".fancybox-share__button\").click(function () {\r\n window.open(this.href, \"Share\", \"width=550, height=450\");\r\n return false;\r\n });\r\n },\r\n mobile: {\r\n autoFocus: false\r\n }\r\n }\r\n });\r\n });\r\n})(document, jQuery);\r\n// ==========================================================================\r\n//\r\n// Hash\r\n// Enables linking to each modal\r\n//\r\n// ==========================================================================\r\n(function (window, document, $) {\r\n \"use strict\";\r\n\r\n // Simple $.escapeSelector polyfill (for jQuery prior v3)\r\n if (!$.escapeSelector) {\r\n $.escapeSelector = function (sel) {\r\n var rcssescape = /([\\0-\\x1f\\x7f]|^-?\\d)|^-$|[^\\x80-\\uFFFF\\w-]/g;\r\n var fcssescape = function (ch, asCodePoint) {\r\n if (asCodePoint) {\r\n // U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER\r\n if (ch === \"\\0\") {\r\n return \"\\uFFFD\";\r\n }\r\n\r\n // Control characters and (dependent upon position) numbers get escaped as code points\r\n return ch.slice(0, -1) + \"\\\\\" + ch.charCodeAt(ch.length - 1).toString(16) + \" \";\r\n }\r\n\r\n // Other potentially-special ASCII characters get backslash-escaped\r\n return \"\\\\\" + ch;\r\n };\r\n\r\n return (sel + \"\").replace(rcssescape, fcssescape);\r\n };\r\n }\r\n\r\n // Get info about gallery name and current index from url\r\n function parseUrl() {\r\n var hash = window.location.hash.substr(1),\r\n rez = hash.split(\"-\"),\r\n index = rez.length > 1 && /^\\+?\\d+$/.test(rez[rez.length - 1]) ? parseInt(rez.pop(-1), 10) || 1 : 1,\r\n gallery = rez.join(\"-\");\r\n\r\n return {\r\n hash: hash,\r\n /* Index is starting from 1 */\r\n index: index < 1 ? 1 : index,\r\n gallery: gallery\r\n };\r\n }\r\n\r\n // Trigger click evnt on links to open new fancyBox instance\r\n function triggerFromUrl(url) {\r\n if (url.gallery !== \"\") {\r\n // If we can find element matching 'data-fancybox' atribute,\r\n // then triggering click event should start fancyBox\r\n $(\"[data-fancybox='\" + $.escapeSelector(url.gallery) + \"']\")\r\n .eq(url.index - 1)\r\n .focus()\r\n .trigger(\"click.fb-start\");\r\n }\r\n }\r\n\r\n // Get gallery name from current instance\r\n function getGalleryID(instance) {\r\n var opts, ret;\r\n\r\n if (!instance) {\r\n return false;\r\n }\r\n\r\n opts = instance.current ? instance.current.opts : instance.opts;\r\n ret = opts.hash || (opts.$orig ? opts.$orig.data(\"fancybox\") || opts.$orig.data(\"fancybox-trigger\") : \"\");\r\n\r\n return ret === \"\" ? false : ret;\r\n }\r\n\r\n // Start when DOM becomes ready\r\n $(function () {\r\n // Check if user has disabled this module\r\n if ($.fancybox.defaults.hash === false) {\r\n return;\r\n }\r\n\r\n // Update hash when opening/closing fancyBox\r\n $(document).on({\r\n \"onInit.fb\": function (e, instance) {\r\n var url, gallery;\r\n\r\n if (instance.group[instance.currIndex].opts.hash === false) {\r\n return;\r\n }\r\n\r\n url = parseUrl();\r\n gallery = getGalleryID(instance);\r\n\r\n // Make sure gallery start index matches index from hash\r\n if (gallery && url.gallery && gallery == url.gallery) {\r\n instance.currIndex = url.index - 1;\r\n }\r\n },\r\n\r\n \"beforeShow.fb\": function (e, instance, current, firstRun) {\r\n var gallery;\r\n\r\n if (!current || current.opts.hash === false) {\r\n return;\r\n }\r\n\r\n // Check if need to update window hash\r\n gallery = getGalleryID(instance);\r\n\r\n if (!gallery) {\r\n return;\r\n }\r\n\r\n // Variable containing last hash value set by fancyBox\r\n // It will be used to determine if fancyBox needs to close after hash change is detected\r\n instance.currentHash = gallery + (instance.group.length > 1 ? \"-\" + (current.index + 1) : \"\");\r\n\r\n // If current hash is the same (this instance most likely is opened by hashchange), then do nothing\r\n if (window.location.hash === \"#\" + instance.currentHash) {\r\n return;\r\n }\r\n\r\n if (firstRun && !instance.origHash) {\r\n instance.origHash = window.location.hash;\r\n }\r\n\r\n if (instance.hashTimer) {\r\n clearTimeout(instance.hashTimer);\r\n }\r\n\r\n // Update hash\r\n instance.hashTimer = setTimeout(function () {\r\n if (\"replaceState\" in window.history) {\r\n window.history[firstRun ? \"pushState\" : \"replaceState\"]({},\r\n document.title,\r\n window.location.pathname + window.location.search + \"#\" + instance.currentHash\r\n );\r\n\r\n if (firstRun) {\r\n instance.hasCreatedHistory = true;\r\n }\r\n } else {\r\n window.location.hash = instance.currentHash;\r\n }\r\n\r\n instance.hashTimer = null;\r\n }, 300);\r\n },\r\n\r\n \"beforeClose.fb\": function (e, instance, current) {\r\n if (!current || current.opts.hash === false) {\r\n return;\r\n }\r\n\r\n clearTimeout(instance.hashTimer);\r\n\r\n // Goto previous history entry\r\n if (instance.currentHash && instance.hasCreatedHistory) {\r\n window.history.back();\r\n } else if (instance.currentHash) {\r\n if (\"replaceState\" in window.history) {\r\n window.history.replaceState({}, document.title, window.location.pathname + window.location.search + (instance.origHash || \"\"));\r\n } else {\r\n window.location.hash = instance.origHash;\r\n }\r\n }\r\n\r\n instance.currentHash = null;\r\n }\r\n });\r\n\r\n // Check if need to start/close after url has changed\r\n $(window).on(\"hashchange.fb\", function () {\r\n var url = parseUrl(),\r\n fb = null;\r\n\r\n // Find last fancyBox instance that has \"hash\"\r\n $.each(\r\n $(\".fancybox-container\")\r\n .get()\r\n .reverse(),\r\n function (index, value) {\r\n var tmp = $(value).data(\"FancyBox\");\r\n\r\n if (tmp && tmp.currentHash) {\r\n fb = tmp;\r\n return false;\r\n }\r\n }\r\n );\r\n\r\n if (fb) {\r\n // Now, compare hash values\r\n if (fb.currentHash !== url.gallery + \"-\" + url.index && !(url.index === 1 && fb.currentHash == url.gallery)) {\r\n fb.currentHash = null;\r\n\r\n fb.close();\r\n }\r\n } else if (url.gallery !== \"\") {\r\n triggerFromUrl(url);\r\n }\r\n });\r\n\r\n // Check current hash and trigger click event on matching element to start fancyBox, if needed\r\n setTimeout(function () {\r\n if (!$.fancybox.getInstance()) {\r\n triggerFromUrl(parseUrl());\r\n }\r\n }, 50);\r\n });\r\n})(window, document, jQuery);\r\n// ==========================================================================\r\n//\r\n// Wheel\r\n// Basic mouse weheel support for gallery navigation\r\n//\r\n// ==========================================================================\r\n(function (document, $) {\r\n \"use strict\";\r\n\r\n var prevTime = new Date().getTime();\r\n\r\n $(document).on({\r\n \"onInit.fb\": function (e, instance, current) {\r\n instance.$refs.stage.on(\"mousewheel DOMMouseScroll wheel MozMousePixelScroll\", function (e) {\r\n var current = instance.current,\r\n currTime = new Date().getTime();\r\n\r\n if (instance.group.length < 2 || current.opts.wheel === false || (current.opts.wheel === \"auto\" && current.type !== \"image\")) {\r\n return;\r\n }\r\n\r\n e.preventDefault();\r\n e.stopPropagation();\r\n\r\n if (current.$slide.hasClass(\"fancybox-animated\")) {\r\n return;\r\n }\r\n\r\n e = e.originalEvent || e;\r\n\r\n if (currTime - prevTime < 250) {\r\n return;\r\n }\r\n\r\n prevTime = currTime;\r\n\r\n instance[(-e.deltaY || -e.deltaX || e.wheelDelta || -e.detail) < 0 ? \"next\" : \"previous\"]();\r\n });\r\n }\r\n });\r\n})(document, jQuery);\n},{}],19:[function(require,module,exports){\n/*!\r\n * Bootstrap v4.3.1 (https://getbootstrap.com/)\r\n * Copyright 2011-2019 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)\r\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\r\n */\r\n(function (global, factory) {\r\n typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('jquery'), require('popper.js')) :\r\n typeof define === 'function' && define.amd ? define(['exports', 'jquery', 'popper.js'], factory) :\r\n (global = global || self, factory(global.bootstrap = {}, global.jQuery, global.Popper));\r\n}(this, function (exports, $, Popper) { 'use strict';\r\n\r\n $ = $ && $.hasOwnProperty('default') ? $['default'] : $;\r\n Popper = Popper && Popper.hasOwnProperty('default') ? Popper['default'] : Popper;\r\n\r\n function _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) descriptor.writable = true;\r\n Object.defineProperty(target, descriptor.key, descriptor);\r\n }\r\n }\r\n\r\n function _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\r\n if (staticProps) _defineProperties(Constructor, staticProps);\r\n return Constructor;\r\n }\r\n\r\n function _defineProperty(obj, key, value) {\r\n if (key in obj) {\r\n Object.defineProperty(obj, key, {\r\n value: value,\r\n enumerable: true,\r\n configurable: true,\r\n writable: true\r\n });\r\n } else {\r\n obj[key] = value;\r\n }\r\n\r\n return obj;\r\n }\r\n\r\n function _objectSpread(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i] != null ? arguments[i] : {};\r\n var ownKeys = Object.keys(source);\r\n\r\n if (typeof Object.getOwnPropertySymbols === 'function') {\r\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {\r\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\r\n }));\r\n }\r\n\r\n ownKeys.forEach(function (key) {\r\n _defineProperty(target, key, source[key]);\r\n });\r\n }\r\n\r\n return target;\r\n }\r\n\r\n function _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n subClass.__proto__ = superClass;\r\n }\r\n\r\n /**\r\n * --------------------------------------------------------------------------\r\n * Bootstrap (v4.3.1): util.js\r\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\r\n * --------------------------------------------------------------------------\r\n */\r\n /**\r\n * ------------------------------------------------------------------------\r\n * Private TransitionEnd Helpers\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\n var TRANSITION_END = 'transitionend';\r\n var MAX_UID = 1000000;\r\n var MILLISECONDS_MULTIPLIER = 1000; // Shoutout AngusCroll (https://goo.gl/pxwQGp)\r\n\r\n function toType(obj) {\r\n return {}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase();\r\n }\r\n\r\n function getSpecialTransitionEndEvent() {\r\n return {\r\n bindType: TRANSITION_END,\r\n delegateType: TRANSITION_END,\r\n handle: function handle(event) {\r\n if ($(event.target).is(this)) {\r\n return event.handleObj.handler.apply(this, arguments); // eslint-disable-line prefer-rest-params\r\n }\r\n\r\n return undefined; // eslint-disable-line no-undefined\r\n }\r\n };\r\n }\r\n\r\n function transitionEndEmulator(duration) {\r\n var _this = this;\r\n\r\n var called = false;\r\n $(this).one(Util.TRANSITION_END, function () {\r\n called = true;\r\n });\r\n setTimeout(function () {\r\n if (!called) {\r\n Util.triggerTransitionEnd(_this);\r\n }\r\n }, duration);\r\n return this;\r\n }\r\n\r\n function setTransitionEndSupport() {\r\n $.fn.emulateTransitionEnd = transitionEndEmulator;\r\n $.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent();\r\n }\r\n /**\r\n * --------------------------------------------------------------------------\r\n * Public Util Api\r\n * --------------------------------------------------------------------------\r\n */\r\n\r\n\r\n var Util = {\r\n TRANSITION_END: 'bsTransitionEnd',\r\n getUID: function getUID(prefix) {\r\n do {\r\n // eslint-disable-next-line no-bitwise\r\n prefix += ~~(Math.random() * MAX_UID); // \"~~\" acts like a faster Math.floor() here\r\n } while (document.getElementById(prefix));\r\n\r\n return prefix;\r\n },\r\n getSelectorFromElement: function getSelectorFromElement(element) {\r\n var selector = element.getAttribute('data-target');\r\n\r\n if (!selector || selector === '#') {\r\n var hrefAttr = element.getAttribute('href');\r\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : '';\r\n }\r\n\r\n try {\r\n return document.querySelector(selector) ? selector : null;\r\n } catch (err) {\r\n return null;\r\n }\r\n },\r\n getTransitionDurationFromElement: function getTransitionDurationFromElement(element) {\r\n if (!element) {\r\n return 0;\r\n } // Get transition-duration of the element\r\n\r\n\r\n var transitionDuration = $(element).css('transition-duration');\r\n var transitionDelay = $(element).css('transition-delay');\r\n var floatTransitionDuration = parseFloat(transitionDuration);\r\n var floatTransitionDelay = parseFloat(transitionDelay); // Return 0 if element or transition duration is not found\r\n\r\n if (!floatTransitionDuration && !floatTransitionDelay) {\r\n return 0;\r\n } // If multiple durations are defined, take the first\r\n\r\n\r\n transitionDuration = transitionDuration.split(',')[0];\r\n transitionDelay = transitionDelay.split(',')[0];\r\n return (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER;\r\n },\r\n reflow: function reflow(element) {\r\n return element.offsetHeight;\r\n },\r\n triggerTransitionEnd: function triggerTransitionEnd(element) {\r\n $(element).trigger(TRANSITION_END);\r\n },\r\n // TODO: Remove in v5\r\n supportsTransitionEnd: function supportsTransitionEnd() {\r\n return Boolean(TRANSITION_END);\r\n },\r\n isElement: function isElement(obj) {\r\n return (obj[0] || obj).nodeType;\r\n },\r\n typeCheckConfig: function typeCheckConfig(componentName, config, configTypes) {\r\n for (var property in configTypes) {\r\n if (Object.prototype.hasOwnProperty.call(configTypes, property)) {\r\n var expectedTypes = configTypes[property];\r\n var value = config[property];\r\n var valueType = value && Util.isElement(value) ? 'element' : toType(value);\r\n\r\n if (!new RegExp(expectedTypes).test(valueType)) {\r\n throw new Error(componentName.toUpperCase() + \": \" + (\"Option \\\"\" + property + \"\\\" provided type \\\"\" + valueType + \"\\\" \") + (\"but expected type \\\"\" + expectedTypes + \"\\\".\"));\r\n }\r\n }\r\n }\r\n },\r\n findShadowRoot: function findShadowRoot(element) {\r\n if (!document.documentElement.attachShadow) {\r\n return null;\r\n } // Can find the shadow root otherwise it'll return the document\r\n\r\n\r\n if (typeof element.getRootNode === 'function') {\r\n var root = element.getRootNode();\r\n return root instanceof ShadowRoot ? root : null;\r\n }\r\n\r\n if (element instanceof ShadowRoot) {\r\n return element;\r\n } // when we don't find a shadow root\r\n\r\n\r\n if (!element.parentNode) {\r\n return null;\r\n }\r\n\r\n return Util.findShadowRoot(element.parentNode);\r\n }\r\n };\r\n setTransitionEndSupport();\r\n\r\n /**\r\n * ------------------------------------------------------------------------\r\n * Constants\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\n var NAME = 'alert';\r\n var VERSION = '4.3.1';\r\n var DATA_KEY = 'bs.alert';\r\n var EVENT_KEY = \".\" + DATA_KEY;\r\n var DATA_API_KEY = '.data-api';\r\n var JQUERY_NO_CONFLICT = $.fn[NAME];\r\n var Selector = {\r\n DISMISS: '[data-dismiss=\"alert\"]'\r\n };\r\n var Event = {\r\n CLOSE: \"close\" + EVENT_KEY,\r\n CLOSED: \"closed\" + EVENT_KEY,\r\n CLICK_DATA_API: \"click\" + EVENT_KEY + DATA_API_KEY\r\n };\r\n var ClassName = {\r\n ALERT: 'alert',\r\n FADE: 'fade',\r\n SHOW: 'show'\r\n /**\r\n * ------------------------------------------------------------------------\r\n * Class Definition\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\n };\r\n\r\n var Alert =\r\n /*#__PURE__*/\r\n function () {\r\n function Alert(element) {\r\n this._element = element;\r\n } // Getters\r\n\r\n\r\n var _proto = Alert.prototype;\r\n\r\n // Public\r\n _proto.close = function close(element) {\r\n var rootElement = this._element;\r\n\r\n if (element) {\r\n rootElement = this._getRootElement(element);\r\n }\r\n\r\n var customEvent = this._triggerCloseEvent(rootElement);\r\n\r\n if (customEvent.isDefaultPrevented()) {\r\n return;\r\n }\r\n\r\n this._removeElement(rootElement);\r\n };\r\n\r\n _proto.dispose = function dispose() {\r\n $.removeData(this._element, DATA_KEY);\r\n this._element = null;\r\n } // Private\r\n ;\r\n\r\n _proto._getRootElement = function _getRootElement(element) {\r\n var selector = Util.getSelectorFromElement(element);\r\n var parent = false;\r\n\r\n if (selector) {\r\n parent = document.querySelector(selector);\r\n }\r\n\r\n if (!parent) {\r\n parent = $(element).closest(\".\" + ClassName.ALERT)[0];\r\n }\r\n\r\n return parent;\r\n };\r\n\r\n _proto._triggerCloseEvent = function _triggerCloseEvent(element) {\r\n var closeEvent = $.Event(Event.CLOSE);\r\n $(element).trigger(closeEvent);\r\n return closeEvent;\r\n };\r\n\r\n _proto._removeElement = function _removeElement(element) {\r\n var _this = this;\r\n\r\n $(element).removeClass(ClassName.SHOW);\r\n\r\n if (!$(element).hasClass(ClassName.FADE)) {\r\n this._destroyElement(element);\r\n\r\n return;\r\n }\r\n\r\n var transitionDuration = Util.getTransitionDurationFromElement(element);\r\n $(element).one(Util.TRANSITION_END, function (event) {\r\n return _this._destroyElement(element, event);\r\n }).emulateTransitionEnd(transitionDuration);\r\n };\r\n\r\n _proto._destroyElement = function _destroyElement(element) {\r\n $(element).detach().trigger(Event.CLOSED).remove();\r\n } // Static\r\n ;\r\n\r\n Alert._jQueryInterface = function _jQueryInterface(config) {\r\n return this.each(function () {\r\n var $element = $(this);\r\n var data = $element.data(DATA_KEY);\r\n\r\n if (!data) {\r\n data = new Alert(this);\r\n $element.data(DATA_KEY, data);\r\n }\r\n\r\n if (config === 'close') {\r\n data[config](this);\r\n }\r\n });\r\n };\r\n\r\n Alert._handleDismiss = function _handleDismiss(alertInstance) {\r\n return function (event) {\r\n if (event) {\r\n event.preventDefault();\r\n }\r\n\r\n alertInstance.close(this);\r\n };\r\n };\r\n\r\n _createClass(Alert, null, [{\r\n key: \"VERSION\",\r\n get: function get() {\r\n return VERSION;\r\n }\r\n }]);\r\n\r\n return Alert;\r\n }();\r\n /**\r\n * ------------------------------------------------------------------------\r\n * Data Api implementation\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\n\r\n $(document).on(Event.CLICK_DATA_API, Selector.DISMISS, Alert._handleDismiss(new Alert()));\r\n /**\r\n * ------------------------------------------------------------------------\r\n * jQuery\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\n $.fn[NAME] = Alert._jQueryInterface;\r\n $.fn[NAME].Constructor = Alert;\r\n\r\n $.fn[NAME].noConflict = function () {\r\n $.fn[NAME] = JQUERY_NO_CONFLICT;\r\n return Alert._jQueryInterface;\r\n };\r\n\r\n /**\r\n * ------------------------------------------------------------------------\r\n * Constants\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\n var NAME$1 = 'button';\r\n var VERSION$1 = '4.3.1';\r\n var DATA_KEY$1 = 'bs.button';\r\n var EVENT_KEY$1 = \".\" + DATA_KEY$1;\r\n var DATA_API_KEY$1 = '.data-api';\r\n var JQUERY_NO_CONFLICT$1 = $.fn[NAME$1];\r\n var ClassName$1 = {\r\n ACTIVE: 'active',\r\n BUTTON: 'btn',\r\n FOCUS: 'focus'\r\n };\r\n var Selector$1 = {\r\n DATA_TOGGLE_CARROT: '[data-toggle^=\"button\"]',\r\n DATA_TOGGLE: '[data-toggle=\"buttons\"]',\r\n INPUT: 'input:not([type=\"hidden\"])',\r\n ACTIVE: '.active',\r\n BUTTON: '.btn'\r\n };\r\n var Event$1 = {\r\n CLICK_DATA_API: \"click\" + EVENT_KEY$1 + DATA_API_KEY$1,\r\n FOCUS_BLUR_DATA_API: \"focus\" + EVENT_KEY$1 + DATA_API_KEY$1 + \" \" + (\"blur\" + EVENT_KEY$1 + DATA_API_KEY$1)\r\n /**\r\n * ------------------------------------------------------------------------\r\n * Class Definition\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\n };\r\n\r\n var Button =\r\n /*#__PURE__*/\r\n function () {\r\n function Button(element) {\r\n this._element = element;\r\n } // Getters\r\n\r\n\r\n var _proto = Button.prototype;\r\n\r\n // Public\r\n _proto.toggle = function toggle() {\r\n var triggerChangeEvent = true;\r\n var addAriaPressed = true;\r\n var rootElement = $(this._element).closest(Selector$1.DATA_TOGGLE)[0];\r\n\r\n if (rootElement) {\r\n var input = this._element.querySelector(Selector$1.INPUT);\r\n\r\n if (input) {\r\n if (input.type === 'radio') {\r\n if (input.checked && this._element.classList.contains(ClassName$1.ACTIVE)) {\r\n triggerChangeEvent = false;\r\n } else {\r\n var activeElement = rootElement.querySelector(Selector$1.ACTIVE);\r\n\r\n if (activeElement) {\r\n $(activeElement).removeClass(ClassName$1.ACTIVE);\r\n }\r\n }\r\n }\r\n\r\n if (triggerChangeEvent) {\r\n if (input.hasAttribute('disabled') || rootElement.hasAttribute('disabled') || input.classList.contains('disabled') || rootElement.classList.contains('disabled')) {\r\n return;\r\n }\r\n\r\n input.checked = !this._element.classList.contains(ClassName$1.ACTIVE);\r\n $(input).trigger('change');\r\n }\r\n\r\n input.focus();\r\n addAriaPressed = false;\r\n }\r\n }\r\n\r\n if (addAriaPressed) {\r\n this._element.setAttribute('aria-pressed', !this._element.classList.contains(ClassName$1.ACTIVE));\r\n }\r\n\r\n if (triggerChangeEvent) {\r\n $(this._element).toggleClass(ClassName$1.ACTIVE);\r\n }\r\n };\r\n\r\n _proto.dispose = function dispose() {\r\n $.removeData(this._element, DATA_KEY$1);\r\n this._element = null;\r\n } // Static\r\n ;\r\n\r\n Button._jQueryInterface = function _jQueryInterface(config) {\r\n return this.each(function () {\r\n var data = $(this).data(DATA_KEY$1);\r\n\r\n if (!data) {\r\n data = new Button(this);\r\n $(this).data(DATA_KEY$1, data);\r\n }\r\n\r\n if (config === 'toggle') {\r\n data[config]();\r\n }\r\n });\r\n };\r\n\r\n _createClass(Button, null, [{\r\n key: \"VERSION\",\r\n get: function get() {\r\n return VERSION$1;\r\n }\r\n }]);\r\n\r\n return Button;\r\n }();\r\n /**\r\n * ------------------------------------------------------------------------\r\n * Data Api implementation\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\n\r\n $(document).on(Event$1.CLICK_DATA_API, Selector$1.DATA_TOGGLE_CARROT, function (event) {\r\n event.preventDefault();\r\n var button = event.target;\r\n\r\n if (!$(button).hasClass(ClassName$1.BUTTON)) {\r\n button = $(button).closest(Selector$1.BUTTON);\r\n }\r\n\r\n Button._jQueryInterface.call($(button), 'toggle');\r\n }).on(Event$1.FOCUS_BLUR_DATA_API, Selector$1.DATA_TOGGLE_CARROT, function (event) {\r\n var button = $(event.target).closest(Selector$1.BUTTON)[0];\r\n $(button).toggleClass(ClassName$1.FOCUS, /^focus(in)?$/.test(event.type));\r\n });\r\n /**\r\n * ------------------------------------------------------------------------\r\n * jQuery\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\n $.fn[NAME$1] = Button._jQueryInterface;\r\n $.fn[NAME$1].Constructor = Button;\r\n\r\n $.fn[NAME$1].noConflict = function () {\r\n $.fn[NAME$1] = JQUERY_NO_CONFLICT$1;\r\n return Button._jQueryInterface;\r\n };\r\n\r\n /**\r\n * ------------------------------------------------------------------------\r\n * Constants\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\n var NAME$2 = 'carousel';\r\n var VERSION$2 = '4.3.1';\r\n var DATA_KEY$2 = 'bs.carousel';\r\n var EVENT_KEY$2 = \".\" + DATA_KEY$2;\r\n var DATA_API_KEY$2 = '.data-api';\r\n var JQUERY_NO_CONFLICT$2 = $.fn[NAME$2];\r\n var ARROW_LEFT_KEYCODE = 37; // KeyboardEvent.which value for left arrow key\r\n\r\n var ARROW_RIGHT_KEYCODE = 39; // KeyboardEvent.which value for right arrow key\r\n\r\n var TOUCHEVENT_COMPAT_WAIT = 500; // Time for mouse compat events to fire after touch\r\n\r\n var SWIPE_THRESHOLD = 40;\r\n var Default = {\r\n interval: 5000,\r\n keyboard: true,\r\n slide: false,\r\n pause: 'hover',\r\n wrap: true,\r\n touch: true\r\n };\r\n var DefaultType = {\r\n interval: '(number|boolean)',\r\n keyboard: 'boolean',\r\n slide: '(boolean|string)',\r\n pause: '(string|boolean)',\r\n wrap: 'boolean',\r\n touch: 'boolean'\r\n };\r\n var Direction = {\r\n NEXT: 'next',\r\n PREV: 'prev',\r\n LEFT: 'left',\r\n RIGHT: 'right'\r\n };\r\n var Event$2 = {\r\n SLIDE: \"slide\" + EVENT_KEY$2,\r\n SLID: \"slid\" + EVENT_KEY$2,\r\n KEYDOWN: \"keydown\" + EVENT_KEY$2,\r\n MOUSEENTER: \"mouseenter\" + EVENT_KEY$2,\r\n MOUSELEAVE: \"mouseleave\" + EVENT_KEY$2,\r\n TOUCHSTART: \"touchstart\" + EVENT_KEY$2,\r\n TOUCHMOVE: \"touchmove\" + EVENT_KEY$2,\r\n TOUCHEND: \"touchend\" + EVENT_KEY$2,\r\n POINTERDOWN: \"pointerdown\" + EVENT_KEY$2,\r\n POINTERUP: \"pointerup\" + EVENT_KEY$2,\r\n DRAG_START: \"dragstart\" + EVENT_KEY$2,\r\n LOAD_DATA_API: \"load\" + EVENT_KEY$2 + DATA_API_KEY$2,\r\n CLICK_DATA_API: \"click\" + EVENT_KEY$2 + DATA_API_KEY$2\r\n };\r\n var ClassName$2 = {\r\n CAROUSEL: 'carousel',\r\n ACTIVE: 'active',\r\n SLIDE: 'slide',\r\n RIGHT: 'carousel-item-right',\r\n LEFT: 'carousel-item-left',\r\n NEXT: 'carousel-item-next',\r\n PREV: 'carousel-item-prev',\r\n ITEM: 'carousel-item',\r\n POINTER_EVENT: 'pointer-event'\r\n };\r\n var Selector$2 = {\r\n ACTIVE: '.active',\r\n ACTIVE_ITEM: '.active.carousel-item',\r\n ITEM: '.carousel-item',\r\n ITEM_IMG: '.carousel-item img',\r\n NEXT_PREV: '.carousel-item-next, .carousel-item-prev',\r\n INDICATORS: '.carousel-indicators',\r\n DATA_SLIDE: '[data-slide], [data-slide-to]',\r\n DATA_RIDE: '[data-ride=\"carousel\"]'\r\n };\r\n var PointerType = {\r\n TOUCH: 'touch',\r\n PEN: 'pen'\r\n /**\r\n * ------------------------------------------------------------------------\r\n * Class Definition\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\n };\r\n\r\n var Carousel =\r\n /*#__PURE__*/\r\n function () {\r\n function Carousel(element, config) {\r\n this._items = null;\r\n this._interval = null;\r\n this._activeElement = null;\r\n this._isPaused = false;\r\n this._isSliding = false;\r\n this.touchTimeout = null;\r\n this.touchStartX = 0;\r\n this.touchDeltaX = 0;\r\n this._config = this._getConfig(config);\r\n this._element = element;\r\n this._indicatorsElement = this._element.querySelector(Selector$2.INDICATORS);\r\n this._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0;\r\n this._pointerEvent = Boolean(window.PointerEvent || window.MSPointerEvent);\r\n\r\n this._addEventListeners();\r\n } // Getters\r\n\r\n\r\n var _proto = Carousel.prototype;\r\n\r\n // Public\r\n _proto.next = function next() {\r\n if (!this._isSliding) {\r\n this._slide(Direction.NEXT);\r\n }\r\n };\r\n\r\n _proto.nextWhenVisible = function nextWhenVisible() {\r\n // Don't call next when the page isn't visible\r\n // or the carousel or its parent isn't visible\r\n if (!document.hidden && $(this._element).is(':visible') && $(this._element).css('visibility') !== 'hidden') {\r\n this.next();\r\n }\r\n };\r\n\r\n _proto.prev = function prev() {\r\n if (!this._isSliding) {\r\n this._slide(Direction.PREV);\r\n }\r\n };\r\n\r\n _proto.pause = function pause(event) {\r\n if (!event) {\r\n this._isPaused = true;\r\n }\r\n\r\n if (this._element.querySelector(Selector$2.NEXT_PREV)) {\r\n Util.triggerTransitionEnd(this._element);\r\n this.cycle(true);\r\n }\r\n\r\n clearInterval(this._interval);\r\n this._interval = null;\r\n };\r\n\r\n _proto.cycle = function cycle(event) {\r\n if (!event) {\r\n this._isPaused = false;\r\n }\r\n\r\n if (this._interval) {\r\n clearInterval(this._interval);\r\n this._interval = null;\r\n }\r\n\r\n if (this._config.interval && !this._isPaused) {\r\n this._interval = setInterval((document.visibilityState ? this.nextWhenVisible : this.next).bind(this), this._config.interval);\r\n }\r\n };\r\n\r\n _proto.to = function to(index) {\r\n var _this = this;\r\n\r\n this._activeElement = this._element.querySelector(Selector$2.ACTIVE_ITEM);\r\n\r\n var activeIndex = this._getItemIndex(this._activeElement);\r\n\r\n if (index > this._items.length - 1 || index < 0) {\r\n return;\r\n }\r\n\r\n if (this._isSliding) {\r\n $(this._element).one(Event$2.SLID, function () {\r\n return _this.to(index);\r\n });\r\n return;\r\n }\r\n\r\n if (activeIndex === index) {\r\n this.pause();\r\n this.cycle();\r\n return;\r\n }\r\n\r\n var direction = index > activeIndex ? Direction.NEXT : Direction.PREV;\r\n\r\n this._slide(direction, this._items[index]);\r\n };\r\n\r\n _proto.dispose = function dispose() {\r\n $(this._element).off(EVENT_KEY$2);\r\n $.removeData(this._element, DATA_KEY$2);\r\n this._items = null;\r\n this._config = null;\r\n this._element = null;\r\n this._interval = null;\r\n this._isPaused = null;\r\n this._isSliding = null;\r\n this._activeElement = null;\r\n this._indicatorsElement = null;\r\n } // Private\r\n ;\r\n\r\n _proto._getConfig = function _getConfig(config) {\r\n config = _objectSpread({}, Default, config);\r\n Util.typeCheckConfig(NAME$2, config, DefaultType);\r\n return config;\r\n };\r\n\r\n _proto._handleSwipe = function _handleSwipe() {\r\n var absDeltax = Math.abs(this.touchDeltaX);\r\n\r\n if (absDeltax <= SWIPE_THRESHOLD) {\r\n return;\r\n }\r\n\r\n var direction = absDeltax / this.touchDeltaX; // swipe left\r\n\r\n if (direction > 0) {\r\n this.prev();\r\n } // swipe right\r\n\r\n\r\n if (direction < 0) {\r\n this.next();\r\n }\r\n };\r\n\r\n _proto._addEventListeners = function _addEventListeners() {\r\n var _this2 = this;\r\n\r\n if (this._config.keyboard) {\r\n $(this._element).on(Event$2.KEYDOWN, function (event) {\r\n return _this2._keydown(event);\r\n });\r\n }\r\n\r\n if (this._config.pause === 'hover') {\r\n $(this._element).on(Event$2.MOUSEENTER, function (event) {\r\n return _this2.pause(event);\r\n }).on(Event$2.MOUSELEAVE, function (event) {\r\n return _this2.cycle(event);\r\n });\r\n }\r\n\r\n if (this._config.touch) {\r\n this._addTouchEventListeners();\r\n }\r\n };\r\n\r\n _proto._addTouchEventListeners = function _addTouchEventListeners() {\r\n var _this3 = this;\r\n\r\n if (!this._touchSupported) {\r\n return;\r\n }\r\n\r\n var start = function start(event) {\r\n if (_this3._pointerEvent && PointerType[event.originalEvent.pointerType.toUpperCase()]) {\r\n _this3.touchStartX = event.originalEvent.clientX;\r\n } else if (!_this3._pointerEvent) {\r\n _this3.touchStartX = event.originalEvent.touches[0].clientX;\r\n }\r\n };\r\n\r\n var move = function move(event) {\r\n // ensure swiping with one touch and not pinching\r\n if (event.originalEvent.touches && event.originalEvent.touches.length > 1) {\r\n _this3.touchDeltaX = 0;\r\n } else {\r\n _this3.touchDeltaX = event.originalEvent.touches[0].clientX - _this3.touchStartX;\r\n }\r\n };\r\n\r\n var end = function end(event) {\r\n if (_this3._pointerEvent && PointerType[event.originalEvent.pointerType.toUpperCase()]) {\r\n _this3.touchDeltaX = event.originalEvent.clientX - _this3.touchStartX;\r\n }\r\n\r\n _this3._handleSwipe();\r\n\r\n if (_this3._config.pause === 'hover') {\r\n // If it's a touch-enabled device, mouseenter/leave are fired as\r\n // part of the mouse compatibility events on first tap - the carousel\r\n // would stop cycling until user tapped out of it;\r\n // here, we listen for touchend, explicitly pause the carousel\r\n // (as if it's the second time we tap on it, mouseenter compat event\r\n // is NOT fired) and after a timeout (to allow for mouse compatibility\r\n // events to fire) we explicitly restart cycling\r\n _this3.pause();\r\n\r\n if (_this3.touchTimeout) {\r\n clearTimeout(_this3.touchTimeout);\r\n }\r\n\r\n _this3.touchTimeout = setTimeout(function (event) {\r\n return _this3.cycle(event);\r\n }, TOUCHEVENT_COMPAT_WAIT + _this3._config.interval);\r\n }\r\n };\r\n\r\n $(this._element.querySelectorAll(Selector$2.ITEM_IMG)).on(Event$2.DRAG_START, function (e) {\r\n return e.preventDefault();\r\n });\r\n\r\n if (this._pointerEvent) {\r\n $(this._element).on(Event$2.POINTERDOWN, function (event) {\r\n return start(event);\r\n });\r\n $(this._element).on(Event$2.POINTERUP, function (event) {\r\n return end(event);\r\n });\r\n\r\n this._element.classList.add(ClassName$2.POINTER_EVENT);\r\n } else {\r\n $(this._element).on(Event$2.TOUCHSTART, function (event) {\r\n return start(event);\r\n });\r\n $(this._element).on(Event$2.TOUCHMOVE, function (event) {\r\n return move(event);\r\n });\r\n $(this._element).on(Event$2.TOUCHEND, function (event) {\r\n return end(event);\r\n });\r\n }\r\n };\r\n\r\n _proto._keydown = function _keydown(event) {\r\n if (/input|textarea/i.test(event.target.tagName)) {\r\n return;\r\n }\r\n\r\n switch (event.which) {\r\n case ARROW_LEFT_KEYCODE:\r\n event.preventDefault();\r\n this.prev();\r\n break;\r\n\r\n case ARROW_RIGHT_KEYCODE:\r\n event.preventDefault();\r\n this.next();\r\n break;\r\n\r\n default:\r\n }\r\n };\r\n\r\n _proto._getItemIndex = function _getItemIndex(element) {\r\n this._items = element && element.parentNode ? [].slice.call(element.parentNode.querySelectorAll(Selector$2.ITEM)) : [];\r\n return this._items.indexOf(element);\r\n };\r\n\r\n _proto._getItemByDirection = function _getItemByDirection(direction, activeElement) {\r\n var isNextDirection = direction === Direction.NEXT;\r\n var isPrevDirection = direction === Direction.PREV;\r\n\r\n var activeIndex = this._getItemIndex(activeElement);\r\n\r\n var lastItemIndex = this._items.length - 1;\r\n var isGoingToWrap = isPrevDirection && activeIndex === 0 || isNextDirection && activeIndex === lastItemIndex;\r\n\r\n if (isGoingToWrap && !this._config.wrap) {\r\n return activeElement;\r\n }\r\n\r\n var delta = direction === Direction.PREV ? -1 : 1;\r\n var itemIndex = (activeIndex + delta) % this._items.length;\r\n return itemIndex === -1 ? this._items[this._items.length - 1] : this._items[itemIndex];\r\n };\r\n\r\n _proto._triggerSlideEvent = function _triggerSlideEvent(relatedTarget, eventDirectionName) {\r\n var targetIndex = this._getItemIndex(relatedTarget);\r\n\r\n var fromIndex = this._getItemIndex(this._element.querySelector(Selector$2.ACTIVE_ITEM));\r\n\r\n var slideEvent = $.Event(Event$2.SLIDE, {\r\n relatedTarget: relatedTarget,\r\n direction: eventDirectionName,\r\n from: fromIndex,\r\n to: targetIndex\r\n });\r\n $(this._element).trigger(slideEvent);\r\n return slideEvent;\r\n };\r\n\r\n _proto._setActiveIndicatorElement = function _setActiveIndicatorElement(element) {\r\n if (this._indicatorsElement) {\r\n var indicators = [].slice.call(this._indicatorsElement.querySelectorAll(Selector$2.ACTIVE));\r\n $(indicators).removeClass(ClassName$2.ACTIVE);\r\n\r\n var nextIndicator = this._indicatorsElement.children[this._getItemIndex(element)];\r\n\r\n if (nextIndicator) {\r\n $(nextIndicator).addClass(ClassName$2.ACTIVE);\r\n }\r\n }\r\n };\r\n\r\n _proto._slide = function _slide(direction, element) {\r\n var _this4 = this;\r\n\r\n var activeElement = this._element.querySelector(Selector$2.ACTIVE_ITEM);\r\n\r\n var activeElementIndex = this._getItemIndex(activeElement);\r\n\r\n var nextElement = element || activeElement && this._getItemByDirection(direction, activeElement);\r\n\r\n var nextElementIndex = this._getItemIndex(nextElement);\r\n\r\n var isCycling = Boolean(this._interval);\r\n var directionalClassName;\r\n var orderClassName;\r\n var eventDirectionName;\r\n\r\n if (direction === Direction.NEXT) {\r\n directionalClassName = ClassName$2.LEFT;\r\n orderClassName = ClassName$2.NEXT;\r\n eventDirectionName = Direction.LEFT;\r\n } else {\r\n directionalClassName = ClassName$2.RIGHT;\r\n orderClassName = ClassName$2.PREV;\r\n eventDirectionName = Direction.RIGHT;\r\n }\r\n\r\n if (nextElement && $(nextElement).hasClass(ClassName$2.ACTIVE)) {\r\n this._isSliding = false;\r\n return;\r\n }\r\n\r\n var slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName);\r\n\r\n if (slideEvent.isDefaultPrevented()) {\r\n return;\r\n }\r\n\r\n if (!activeElement || !nextElement) {\r\n // Some weirdness is happening, so we bail\r\n return;\r\n }\r\n\r\n this._isSliding = true;\r\n\r\n if (isCycling) {\r\n this.pause();\r\n }\r\n\r\n this._setActiveIndicatorElement(nextElement);\r\n\r\n var slidEvent = $.Event(Event$2.SLID, {\r\n relatedTarget: nextElement,\r\n direction: eventDirectionName,\r\n from: activeElementIndex,\r\n to: nextElementIndex\r\n });\r\n\r\n if ($(this._element).hasClass(ClassName$2.SLIDE)) {\r\n $(nextElement).addClass(orderClassName);\r\n Util.reflow(nextElement);\r\n $(activeElement).addClass(directionalClassName);\r\n $(nextElement).addClass(directionalClassName);\r\n var nextElementInterval = parseInt(nextElement.getAttribute('data-interval'), 10);\r\n\r\n if (nextElementInterval) {\r\n this._config.defaultInterval = this._config.defaultInterval || this._config.interval;\r\n this._config.interval = nextElementInterval;\r\n } else {\r\n this._config.interval = this._config.defaultInterval || this._config.interval;\r\n }\r\n\r\n var transitionDuration = Util.getTransitionDurationFromElement(activeElement);\r\n $(activeElement).one(Util.TRANSITION_END, function () {\r\n $(nextElement).removeClass(directionalClassName + \" \" + orderClassName).addClass(ClassName$2.ACTIVE);\r\n $(activeElement).removeClass(ClassName$2.ACTIVE + \" \" + orderClassName + \" \" + directionalClassName);\r\n _this4._isSliding = false;\r\n setTimeout(function () {\r\n return $(_this4._element).trigger(slidEvent);\r\n }, 0);\r\n }).emulateTransitionEnd(transitionDuration);\r\n } else {\r\n $(activeElement).removeClass(ClassName$2.ACTIVE);\r\n $(nextElement).addClass(ClassName$2.ACTIVE);\r\n this._isSliding = false;\r\n $(this._element).trigger(slidEvent);\r\n }\r\n\r\n if (isCycling) {\r\n this.cycle();\r\n }\r\n } // Static\r\n ;\r\n\r\n Carousel._jQueryInterface = function _jQueryInterface(config) {\r\n return this.each(function () {\r\n var data = $(this).data(DATA_KEY$2);\r\n\r\n var _config = _objectSpread({}, Default, $(this).data());\r\n\r\n if (typeof config === 'object') {\r\n _config = _objectSpread({}, _config, config);\r\n }\r\n\r\n var action = typeof config === 'string' ? config : _config.slide;\r\n\r\n if (!data) {\r\n data = new Carousel(this, _config);\r\n $(this).data(DATA_KEY$2, data);\r\n }\r\n\r\n if (typeof config === 'number') {\r\n data.to(config);\r\n } else if (typeof action === 'string') {\r\n if (typeof data[action] === 'undefined') {\r\n throw new TypeError(\"No method named \\\"\" + action + \"\\\"\");\r\n }\r\n\r\n data[action]();\r\n } else if (_config.interval && _config.ride) {\r\n data.pause();\r\n data.cycle();\r\n }\r\n });\r\n };\r\n\r\n Carousel._dataApiClickHandler = function _dataApiClickHandler(event) {\r\n var selector = Util.getSelectorFromElement(this);\r\n\r\n if (!selector) {\r\n return;\r\n }\r\n\r\n var target = $(selector)[0];\r\n\r\n if (!target || !$(target).hasClass(ClassName$2.CAROUSEL)) {\r\n return;\r\n }\r\n\r\n var config = _objectSpread({}, $(target).data(), $(this).data());\r\n\r\n var slideIndex = this.getAttribute('data-slide-to');\r\n\r\n if (slideIndex) {\r\n config.interval = false;\r\n }\r\n\r\n Carousel._jQueryInterface.call($(target), config);\r\n\r\n if (slideIndex) {\r\n $(target).data(DATA_KEY$2).to(slideIndex);\r\n }\r\n\r\n event.preventDefault();\r\n };\r\n\r\n _createClass(Carousel, null, [{\r\n key: \"VERSION\",\r\n get: function get() {\r\n return VERSION$2;\r\n }\r\n }, {\r\n key: \"Default\",\r\n get: function get() {\r\n return Default;\r\n }\r\n }]);\r\n\r\n return Carousel;\r\n }();\r\n /**\r\n * ------------------------------------------------------------------------\r\n * Data Api implementation\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\n\r\n $(document).on(Event$2.CLICK_DATA_API, Selector$2.DATA_SLIDE, Carousel._dataApiClickHandler);\r\n $(window).on(Event$2.LOAD_DATA_API, function () {\r\n var carousels = [].slice.call(document.querySelectorAll(Selector$2.DATA_RIDE));\r\n\r\n for (var i = 0, len = carousels.length; i < len; i++) {\r\n var $carousel = $(carousels[i]);\r\n\r\n Carousel._jQueryInterface.call($carousel, $carousel.data());\r\n }\r\n });\r\n /**\r\n * ------------------------------------------------------------------------\r\n * jQuery\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\n $.fn[NAME$2] = Carousel._jQueryInterface;\r\n $.fn[NAME$2].Constructor = Carousel;\r\n\r\n $.fn[NAME$2].noConflict = function () {\r\n $.fn[NAME$2] = JQUERY_NO_CONFLICT$2;\r\n return Carousel._jQueryInterface;\r\n };\r\n\r\n /**\r\n * ------------------------------------------------------------------------\r\n * Constants\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\n var NAME$3 = 'collapse';\r\n var VERSION$3 = '4.3.1';\r\n var DATA_KEY$3 = 'bs.collapse';\r\n var EVENT_KEY$3 = \".\" + DATA_KEY$3;\r\n var DATA_API_KEY$3 = '.data-api';\r\n var JQUERY_NO_CONFLICT$3 = $.fn[NAME$3];\r\n var Default$1 = {\r\n toggle: true,\r\n parent: ''\r\n };\r\n var DefaultType$1 = {\r\n toggle: 'boolean',\r\n parent: '(string|element)'\r\n };\r\n var Event$3 = {\r\n SHOW: \"show\" + EVENT_KEY$3,\r\n SHOWN: \"shown\" + EVENT_KEY$3,\r\n HIDE: \"hide\" + EVENT_KEY$3,\r\n HIDDEN: \"hidden\" + EVENT_KEY$3,\r\n CLICK_DATA_API: \"click\" + EVENT_KEY$3 + DATA_API_KEY$3\r\n };\r\n var ClassName$3 = {\r\n SHOW: 'show',\r\n COLLAPSE: 'collapse',\r\n COLLAPSING: 'collapsing',\r\n COLLAPSED: 'collapsed'\r\n };\r\n var Dimension = {\r\n WIDTH: 'width',\r\n HEIGHT: 'height'\r\n };\r\n var Selector$3 = {\r\n ACTIVES: '.show, .collapsing',\r\n DATA_TOGGLE: '[data-toggle=\"collapse\"]'\r\n /**\r\n * ------------------------------------------------------------------------\r\n * Class Definition\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\n };\r\n\r\n var Collapse =\r\n /*#__PURE__*/\r\n function () {\r\n function Collapse(element, config) {\r\n this._isTransitioning = false;\r\n this._element = element;\r\n this._config = this._getConfig(config);\r\n this._triggerArray = [].slice.call(document.querySelectorAll(\"[data-toggle=\\\"collapse\\\"][href=\\\"#\" + element.id + \"\\\"],\" + (\"[data-toggle=\\\"collapse\\\"][data-target=\\\"#\" + element.id + \"\\\"]\")));\r\n var toggleList = [].slice.call(document.querySelectorAll(Selector$3.DATA_TOGGLE));\r\n\r\n for (var i = 0, len = toggleList.length; i < len; i++) {\r\n var elem = toggleList[i];\r\n var selector = Util.getSelectorFromElement(elem);\r\n var filterElement = [].slice.call(document.querySelectorAll(selector)).filter(function (foundElem) {\r\n return foundElem === element;\r\n });\r\n\r\n if (selector !== null && filterElement.length > 0) {\r\n this._selector = selector;\r\n\r\n this._triggerArray.push(elem);\r\n }\r\n }\r\n\r\n this._parent = this._config.parent ? this._getParent() : null;\r\n\r\n if (!this._config.parent) {\r\n this._addAriaAndCollapsedClass(this._element, this._triggerArray);\r\n }\r\n\r\n if (this._config.toggle) {\r\n this.toggle();\r\n }\r\n } // Getters\r\n\r\n\r\n var _proto = Collapse.prototype;\r\n\r\n // Public\r\n _proto.toggle = function toggle() {\r\n if ($(this._element).hasClass(ClassName$3.SHOW)) {\r\n this.hide();\r\n } else {\r\n this.show();\r\n }\r\n };\r\n\r\n _proto.show = function show() {\r\n var _this = this;\r\n\r\n if (this._isTransitioning || $(this._element).hasClass(ClassName$3.SHOW)) {\r\n return;\r\n }\r\n\r\n var actives;\r\n var activesData;\r\n\r\n if (this._parent) {\r\n actives = [].slice.call(this._parent.querySelectorAll(Selector$3.ACTIVES)).filter(function (elem) {\r\n if (typeof _this._config.parent === 'string') {\r\n return elem.getAttribute('data-parent') === _this._config.parent;\r\n }\r\n\r\n return elem.classList.contains(ClassName$3.COLLAPSE);\r\n });\r\n\r\n if (actives.length === 0) {\r\n actives = null;\r\n }\r\n }\r\n\r\n if (actives) {\r\n activesData = $(actives).not(this._selector).data(DATA_KEY$3);\r\n\r\n if (activesData && activesData._isTransitioning) {\r\n return;\r\n }\r\n }\r\n\r\n var startEvent = $.Event(Event$3.SHOW);\r\n $(this._element).trigger(startEvent);\r\n\r\n if (startEvent.isDefaultPrevented()) {\r\n return;\r\n }\r\n\r\n if (actives) {\r\n Collapse._jQueryInterface.call($(actives).not(this._selector), 'hide');\r\n\r\n if (!activesData) {\r\n $(actives).data(DATA_KEY$3, null);\r\n }\r\n }\r\n\r\n var dimension = this._getDimension();\r\n\r\n $(this._element).removeClass(ClassName$3.COLLAPSE).addClass(ClassName$3.COLLAPSING);\r\n this._element.style[dimension] = 0;\r\n\r\n if (this._triggerArray.length) {\r\n $(this._triggerArray).removeClass(ClassName$3.COLLAPSED).attr('aria-expanded', true);\r\n }\r\n\r\n this.setTransitioning(true);\r\n\r\n var complete = function complete() {\r\n $(_this._element).removeClass(ClassName$3.COLLAPSING).addClass(ClassName$3.COLLAPSE).addClass(ClassName$3.SHOW);\r\n _this._element.style[dimension] = '';\r\n\r\n _this.setTransitioning(false);\r\n\r\n $(_this._element).trigger(Event$3.SHOWN);\r\n };\r\n\r\n var capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1);\r\n var scrollSize = \"scroll\" + capitalizedDimension;\r\n var transitionDuration = Util.getTransitionDurationFromElement(this._element);\r\n $(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);\r\n this._element.style[dimension] = this._element[scrollSize] + \"px\";\r\n };\r\n\r\n _proto.hide = function hide() {\r\n var _this2 = this;\r\n\r\n if (this._isTransitioning || !$(this._element).hasClass(ClassName$3.SHOW)) {\r\n return;\r\n }\r\n\r\n var startEvent = $.Event(Event$3.HIDE);\r\n $(this._element).trigger(startEvent);\r\n\r\n if (startEvent.isDefaultPrevented()) {\r\n return;\r\n }\r\n\r\n var dimension = this._getDimension();\r\n\r\n this._element.style[dimension] = this._element.getBoundingClientRect()[dimension] + \"px\";\r\n Util.reflow(this._element);\r\n $(this._element).addClass(ClassName$3.COLLAPSING).removeClass(ClassName$3.COLLAPSE).removeClass(ClassName$3.SHOW);\r\n var triggerArrayLength = this._triggerArray.length;\r\n\r\n if (triggerArrayLength > 0) {\r\n for (var i = 0; i < triggerArrayLength; i++) {\r\n var trigger = this._triggerArray[i];\r\n var selector = Util.getSelectorFromElement(trigger);\r\n\r\n if (selector !== null) {\r\n var $elem = $([].slice.call(document.querySelectorAll(selector)));\r\n\r\n if (!$elem.hasClass(ClassName$3.SHOW)) {\r\n $(trigger).addClass(ClassName$3.COLLAPSED).attr('aria-expanded', false);\r\n }\r\n }\r\n }\r\n }\r\n\r\n this.setTransitioning(true);\r\n\r\n var complete = function complete() {\r\n _this2.setTransitioning(false);\r\n\r\n $(_this2._element).removeClass(ClassName$3.COLLAPSING).addClass(ClassName$3.COLLAPSE).trigger(Event$3.HIDDEN);\r\n };\r\n\r\n this._element.style[dimension] = '';\r\n var transitionDuration = Util.getTransitionDurationFromElement(this._element);\r\n $(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);\r\n };\r\n\r\n _proto.setTransitioning = function setTransitioning(isTransitioning) {\r\n this._isTransitioning = isTransitioning;\r\n };\r\n\r\n _proto.dispose = function dispose() {\r\n $.removeData(this._element, DATA_KEY$3);\r\n this._config = null;\r\n this._parent = null;\r\n this._element = null;\r\n this._triggerArray = null;\r\n this._isTransitioning = null;\r\n } // Private\r\n ;\r\n\r\n _proto._getConfig = function _getConfig(config) {\r\n config = _objectSpread({}, Default$1, config);\r\n config.toggle = Boolean(config.toggle); // Coerce string values\r\n\r\n Util.typeCheckConfig(NAME$3, config, DefaultType$1);\r\n return config;\r\n };\r\n\r\n _proto._getDimension = function _getDimension() {\r\n var hasWidth = $(this._element).hasClass(Dimension.WIDTH);\r\n return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT;\r\n };\r\n\r\n _proto._getParent = function _getParent() {\r\n var _this3 = this;\r\n\r\n var parent;\r\n\r\n if (Util.isElement(this._config.parent)) {\r\n parent = this._config.parent; // It's a jQuery object\r\n\r\n if (typeof this._config.parent.jquery !== 'undefined') {\r\n parent = this._config.parent[0];\r\n }\r\n } else {\r\n parent = document.querySelector(this._config.parent);\r\n }\r\n\r\n var selector = \"[data-toggle=\\\"collapse\\\"][data-parent=\\\"\" + this._config.parent + \"\\\"]\";\r\n var children = [].slice.call(parent.querySelectorAll(selector));\r\n $(children).each(function (i, element) {\r\n _this3._addAriaAndCollapsedClass(Collapse._getTargetFromElement(element), [element]);\r\n });\r\n return parent;\r\n };\r\n\r\n _proto._addAriaAndCollapsedClass = function _addAriaAndCollapsedClass(element, triggerArray) {\r\n var isOpen = $(element).hasClass(ClassName$3.SHOW);\r\n\r\n if (triggerArray.length) {\r\n $(triggerArray).toggleClass(ClassName$3.COLLAPSED, !isOpen).attr('aria-expanded', isOpen);\r\n }\r\n } // Static\r\n ;\r\n\r\n Collapse._getTargetFromElement = function _getTargetFromElement(element) {\r\n var selector = Util.getSelectorFromElement(element);\r\n return selector ? document.querySelector(selector) : null;\r\n };\r\n\r\n Collapse._jQueryInterface = function _jQueryInterface(config) {\r\n return this.each(function () {\r\n var $this = $(this);\r\n var data = $this.data(DATA_KEY$3);\r\n\r\n var _config = _objectSpread({}, Default$1, $this.data(), typeof config === 'object' && config ? config : {});\r\n\r\n if (!data && _config.toggle && /show|hide/.test(config)) {\r\n _config.toggle = false;\r\n }\r\n\r\n if (!data) {\r\n data = new Collapse(this, _config);\r\n $this.data(DATA_KEY$3, data);\r\n }\r\n\r\n if (typeof config === 'string') {\r\n if (typeof data[config] === 'undefined') {\r\n throw new TypeError(\"No method named \\\"\" + config + \"\\\"\");\r\n }\r\n\r\n data[config]();\r\n }\r\n });\r\n };\r\n\r\n _createClass(Collapse, null, [{\r\n key: \"VERSION\",\r\n get: function get() {\r\n return VERSION$3;\r\n }\r\n }, {\r\n key: \"Default\",\r\n get: function get() {\r\n return Default$1;\r\n }\r\n }]);\r\n\r\n return Collapse;\r\n }();\r\n /**\r\n * ------------------------------------------------------------------------\r\n * Data Api implementation\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\n\r\n $(document).on(Event$3.CLICK_DATA_API, Selector$3.DATA_TOGGLE, function (event) {\r\n // preventDefault only for elements (which change the URL) not inside the collapsible element\r\n if (event.currentTarget.tagName === 'A') {\r\n event.preventDefault();\r\n }\r\n\r\n var $trigger = $(this);\r\n var selector = Util.getSelectorFromElement(this);\r\n var selectors = [].slice.call(document.querySelectorAll(selector));\r\n $(selectors).each(function () {\r\n var $target = $(this);\r\n var data = $target.data(DATA_KEY$3);\r\n var config = data ? 'toggle' : $trigger.data();\r\n\r\n Collapse._jQueryInterface.call($target, config);\r\n });\r\n });\r\n /**\r\n * ------------------------------------------------------------------------\r\n * jQuery\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\n $.fn[NAME$3] = Collapse._jQueryInterface;\r\n $.fn[NAME$3].Constructor = Collapse;\r\n\r\n $.fn[NAME$3].noConflict = function () {\r\n $.fn[NAME$3] = JQUERY_NO_CONFLICT$3;\r\n return Collapse._jQueryInterface;\r\n };\r\n\r\n /**\r\n * ------------------------------------------------------------------------\r\n * Constants\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\n var NAME$4 = 'dropdown';\r\n var VERSION$4 = '4.3.1';\r\n var DATA_KEY$4 = 'bs.dropdown';\r\n var EVENT_KEY$4 = \".\" + DATA_KEY$4;\r\n var DATA_API_KEY$4 = '.data-api';\r\n var JQUERY_NO_CONFLICT$4 = $.fn[NAME$4];\r\n var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key\r\n\r\n var SPACE_KEYCODE = 32; // KeyboardEvent.which value for space key\r\n\r\n var TAB_KEYCODE = 9; // KeyboardEvent.which value for tab key\r\n\r\n var ARROW_UP_KEYCODE = 38; // KeyboardEvent.which value for up arrow key\r\n\r\n var ARROW_DOWN_KEYCODE = 40; // KeyboardEvent.which value for down arrow key\r\n\r\n var RIGHT_MOUSE_BUTTON_WHICH = 3; // MouseEvent.which value for the right button (assuming a right-handed mouse)\r\n\r\n var REGEXP_KEYDOWN = new RegExp(ARROW_UP_KEYCODE + \"|\" + ARROW_DOWN_KEYCODE + \"|\" + ESCAPE_KEYCODE);\r\n var Event$4 = {\r\n HIDE: \"hide\" + EVENT_KEY$4,\r\n HIDDEN: \"hidden\" + EVENT_KEY$4,\r\n SHOW: \"show\" + EVENT_KEY$4,\r\n SHOWN: \"shown\" + EVENT_KEY$4,\r\n CLICK: \"click\" + EVENT_KEY$4,\r\n CLICK_DATA_API: \"click\" + EVENT_KEY$4 + DATA_API_KEY$4,\r\n KEYDOWN_DATA_API: \"keydown\" + EVENT_KEY$4 + DATA_API_KEY$4,\r\n KEYUP_DATA_API: \"keyup\" + EVENT_KEY$4 + DATA_API_KEY$4\r\n };\r\n var ClassName$4 = {\r\n DISABLED: 'disabled',\r\n SHOW: 'show',\r\n DROPUP: 'dropup',\r\n DROPRIGHT: 'dropright',\r\n DROPLEFT: 'dropleft',\r\n MENURIGHT: 'dropdown-menu-right',\r\n MENULEFT: 'dropdown-menu-left',\r\n POSITION_STATIC: 'position-static'\r\n };\r\n var Selector$4 = {\r\n DATA_TOGGLE: '[data-toggle=\"dropdown\"]',\r\n FORM_CHILD: '.dropdown form',\r\n MENU: '.dropdown-menu',\r\n NAVBAR_NAV: '.navbar-nav',\r\n VISIBLE_ITEMS: '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'\r\n };\r\n var AttachmentMap = {\r\n TOP: 'top-start',\r\n TOPEND: 'top-end',\r\n BOTTOM: 'bottom-start',\r\n BOTTOMEND: 'bottom-end',\r\n RIGHT: 'right-start',\r\n RIGHTEND: 'right-end',\r\n LEFT: 'left-start',\r\n LEFTEND: 'left-end'\r\n };\r\n var Default$2 = {\r\n offset: 0,\r\n flip: true,\r\n boundary: 'scrollParent',\r\n reference: 'toggle',\r\n display: 'dynamic'\r\n };\r\n var DefaultType$2 = {\r\n offset: '(number|string|function)',\r\n flip: 'boolean',\r\n boundary: '(string|element)',\r\n reference: '(string|element)',\r\n display: 'string'\r\n /**\r\n * ------------------------------------------------------------------------\r\n * Class Definition\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\n };\r\n\r\n var Dropdown =\r\n /*#__PURE__*/\r\n function () {\r\n function Dropdown(element, config) {\r\n this._element = element;\r\n this._popper = null;\r\n this._config = this._getConfig(config);\r\n this._menu = this._getMenuElement();\r\n this._inNavbar = this._detectNavbar();\r\n\r\n this._addEventListeners();\r\n } // Getters\r\n\r\n\r\n var _proto = Dropdown.prototype;\r\n\r\n // Public\r\n _proto.toggle = function toggle() {\r\n if (this._element.disabled || $(this._element).hasClass(ClassName$4.DISABLED)) {\r\n return;\r\n }\r\n\r\n var parent = Dropdown._getParentFromElement(this._element);\r\n\r\n var isActive = $(this._menu).hasClass(ClassName$4.SHOW);\r\n\r\n Dropdown._clearMenus();\r\n\r\n if (isActive) {\r\n return;\r\n }\r\n\r\n var relatedTarget = {\r\n relatedTarget: this._element\r\n };\r\n var showEvent = $.Event(Event$4.SHOW, relatedTarget);\r\n $(parent).trigger(showEvent);\r\n\r\n if (showEvent.isDefaultPrevented()) {\r\n return;\r\n } // Disable totally Popper.js for Dropdown in Navbar\r\n\r\n\r\n if (!this._inNavbar) {\r\n /**\r\n * Check for Popper dependency\r\n * Popper - https://popper.js.org\r\n */\r\n if (typeof Popper === 'undefined') {\r\n throw new TypeError('Bootstrap\\'s dropdowns require Popper.js (https://popper.js.org/)');\r\n }\r\n\r\n var referenceElement = this._element;\r\n\r\n if (this._config.reference === 'parent') {\r\n referenceElement = parent;\r\n } else if (Util.isElement(this._config.reference)) {\r\n referenceElement = this._config.reference; // Check if it's jQuery element\r\n\r\n if (typeof this._config.reference.jquery !== 'undefined') {\r\n referenceElement = this._config.reference[0];\r\n }\r\n } // If boundary is not `scrollParent`, then set position to `static`\r\n // to allow the menu to \"escape\" the scroll parent's boundaries\r\n // https://github.com/twbs/bootstrap/issues/24251\r\n\r\n\r\n if (this._config.boundary !== 'scrollParent') {\r\n $(parent).addClass(ClassName$4.POSITION_STATIC);\r\n }\r\n\r\n this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig());\r\n } // If this is a touch-enabled device we add extra\r\n // empty mouseover listeners to the body's immediate children;\r\n // only needed because of broken event delegation on iOS\r\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\r\n\r\n\r\n if ('ontouchstart' in document.documentElement && $(parent).closest(Selector$4.NAVBAR_NAV).length === 0) {\r\n $(document.body).children().on('mouseover', null, $.noop);\r\n }\r\n\r\n this._element.focus();\r\n\r\n this._element.setAttribute('aria-expanded', true);\r\n\r\n $(this._menu).toggleClass(ClassName$4.SHOW);\r\n $(parent).toggleClass(ClassName$4.SHOW).trigger($.Event(Event$4.SHOWN, relatedTarget));\r\n };\r\n\r\n _proto.show = function show() {\r\n if (this._element.disabled || $(this._element).hasClass(ClassName$4.DISABLED) || $(this._menu).hasClass(ClassName$4.SHOW)) {\r\n return;\r\n }\r\n\r\n var relatedTarget = {\r\n relatedTarget: this._element\r\n };\r\n var showEvent = $.Event(Event$4.SHOW, relatedTarget);\r\n\r\n var parent = Dropdown._getParentFromElement(this._element);\r\n\r\n $(parent).trigger(showEvent);\r\n\r\n if (showEvent.isDefaultPrevented()) {\r\n return;\r\n }\r\n\r\n $(this._menu).toggleClass(ClassName$4.SHOW);\r\n $(parent).toggleClass(ClassName$4.SHOW).trigger($.Event(Event$4.SHOWN, relatedTarget));\r\n };\r\n\r\n _proto.hide = function hide() {\r\n if (this._element.disabled || $(this._element).hasClass(ClassName$4.DISABLED) || !$(this._menu).hasClass(ClassName$4.SHOW)) {\r\n return;\r\n }\r\n\r\n var relatedTarget = {\r\n relatedTarget: this._element\r\n };\r\n var hideEvent = $.Event(Event$4.HIDE, relatedTarget);\r\n\r\n var parent = Dropdown._getParentFromElement(this._element);\r\n\r\n $(parent).trigger(hideEvent);\r\n\r\n if (hideEvent.isDefaultPrevented()) {\r\n return;\r\n }\r\n\r\n $(this._menu).toggleClass(ClassName$4.SHOW);\r\n $(parent).toggleClass(ClassName$4.SHOW).trigger($.Event(Event$4.HIDDEN, relatedTarget));\r\n };\r\n\r\n _proto.dispose = function dispose() {\r\n $.removeData(this._element, DATA_KEY$4);\r\n $(this._element).off(EVENT_KEY$4);\r\n this._element = null;\r\n this._menu = null;\r\n\r\n if (this._popper !== null) {\r\n this._popper.destroy();\r\n\r\n this._popper = null;\r\n }\r\n };\r\n\r\n _proto.update = function update() {\r\n this._inNavbar = this._detectNavbar();\r\n\r\n if (this._popper !== null) {\r\n this._popper.scheduleUpdate();\r\n }\r\n } // Private\r\n ;\r\n\r\n _proto._addEventListeners = function _addEventListeners() {\r\n var _this = this;\r\n\r\n $(this._element).on(Event$4.CLICK, function (event) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n\r\n _this.toggle();\r\n });\r\n };\r\n\r\n _proto._getConfig = function _getConfig(config) {\r\n config = _objectSpread({}, this.constructor.Default, $(this._element).data(), config);\r\n Util.typeCheckConfig(NAME$4, config, this.constructor.DefaultType);\r\n return config;\r\n };\r\n\r\n _proto._getMenuElement = function _getMenuElement() {\r\n if (!this._menu) {\r\n var parent = Dropdown._getParentFromElement(this._element);\r\n\r\n if (parent) {\r\n this._menu = parent.querySelector(Selector$4.MENU);\r\n }\r\n }\r\n\r\n return this._menu;\r\n };\r\n\r\n _proto._getPlacement = function _getPlacement() {\r\n var $parentDropdown = $(this._element.parentNode);\r\n var placement = AttachmentMap.BOTTOM; // Handle dropup\r\n\r\n if ($parentDropdown.hasClass(ClassName$4.DROPUP)) {\r\n placement = AttachmentMap.TOP;\r\n\r\n if ($(this._menu).hasClass(ClassName$4.MENURIGHT)) {\r\n placement = AttachmentMap.TOPEND;\r\n }\r\n } else if ($parentDropdown.hasClass(ClassName$4.DROPRIGHT)) {\r\n placement = AttachmentMap.RIGHT;\r\n } else if ($parentDropdown.hasClass(ClassName$4.DROPLEFT)) {\r\n placement = AttachmentMap.LEFT;\r\n } else if ($(this._menu).hasClass(ClassName$4.MENURIGHT)) {\r\n placement = AttachmentMap.BOTTOMEND;\r\n }\r\n\r\n return placement;\r\n };\r\n\r\n _proto._detectNavbar = function _detectNavbar() {\r\n return $(this._element).closest('.navbar').length > 0;\r\n };\r\n\r\n _proto._getOffset = function _getOffset() {\r\n var _this2 = this;\r\n\r\n var offset = {};\r\n\r\n if (typeof this._config.offset === 'function') {\r\n offset.fn = function (data) {\r\n data.offsets = _objectSpread({}, data.offsets, _this2._config.offset(data.offsets, _this2._element) || {});\r\n return data;\r\n };\r\n } else {\r\n offset.offset = this._config.offset;\r\n }\r\n\r\n return offset;\r\n };\r\n\r\n _proto._getPopperConfig = function _getPopperConfig() {\r\n var popperConfig = {\r\n placement: this._getPlacement(),\r\n modifiers: {\r\n offset: this._getOffset(),\r\n flip: {\r\n enabled: this._config.flip\r\n },\r\n preventOverflow: {\r\n boundariesElement: this._config.boundary\r\n }\r\n } // Disable Popper.js if we have a static display\r\n\r\n };\r\n\r\n if (this._config.display === 'static') {\r\n popperConfig.modifiers.applyStyle = {\r\n enabled: false\r\n };\r\n }\r\n\r\n return popperConfig;\r\n } // Static\r\n ;\r\n\r\n Dropdown._jQueryInterface = function _jQueryInterface(config) {\r\n return this.each(function () {\r\n var data = $(this).data(DATA_KEY$4);\r\n\r\n var _config = typeof config === 'object' ? config : null;\r\n\r\n if (!data) {\r\n data = new Dropdown(this, _config);\r\n $(this).data(DATA_KEY$4, data);\r\n }\r\n\r\n if (typeof config === 'string') {\r\n if (typeof data[config] === 'undefined') {\r\n throw new TypeError(\"No method named \\\"\" + config + \"\\\"\");\r\n }\r\n\r\n data[config]();\r\n }\r\n });\r\n };\r\n\r\n Dropdown._clearMenus = function _clearMenus(event) {\r\n if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH || event.type === 'keyup' && event.which !== TAB_KEYCODE)) {\r\n return;\r\n }\r\n\r\n var toggles = [].slice.call(document.querySelectorAll(Selector$4.DATA_TOGGLE));\r\n\r\n for (var i = 0, len = toggles.length; i < len; i++) {\r\n var parent = Dropdown._getParentFromElement(toggles[i]);\r\n\r\n var context = $(toggles[i]).data(DATA_KEY$4);\r\n var relatedTarget = {\r\n relatedTarget: toggles[i]\r\n };\r\n\r\n if (event && event.type === 'click') {\r\n relatedTarget.clickEvent = event;\r\n }\r\n\r\n if (!context) {\r\n continue;\r\n }\r\n\r\n var dropdownMenu = context._menu;\r\n\r\n if (!$(parent).hasClass(ClassName$4.SHOW)) {\r\n continue;\r\n }\r\n\r\n if (event && (event.type === 'click' && /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE) && $.contains(parent, event.target)) {\r\n continue;\r\n }\r\n\r\n var hideEvent = $.Event(Event$4.HIDE, relatedTarget);\r\n $(parent).trigger(hideEvent);\r\n\r\n if (hideEvent.isDefaultPrevented()) {\r\n continue;\r\n } // If this is a touch-enabled device we remove the extra\r\n // empty mouseover listeners we added for iOS support\r\n\r\n\r\n if ('ontouchstart' in document.documentElement) {\r\n $(document.body).children().off('mouseover', null, $.noop);\r\n }\r\n\r\n toggles[i].setAttribute('aria-expanded', 'false');\r\n $(dropdownMenu).removeClass(ClassName$4.SHOW);\r\n $(parent).removeClass(ClassName$4.SHOW).trigger($.Event(Event$4.HIDDEN, relatedTarget));\r\n }\r\n };\r\n\r\n Dropdown._getParentFromElement = function _getParentFromElement(element) {\r\n var parent;\r\n var selector = Util.getSelectorFromElement(element);\r\n\r\n if (selector) {\r\n parent = document.querySelector(selector);\r\n }\r\n\r\n return parent || element.parentNode;\r\n } // eslint-disable-next-line complexity\r\n ;\r\n\r\n Dropdown._dataApiKeydownHandler = function _dataApiKeydownHandler(event) {\r\n // If not input/textarea:\r\n // - And not a key in REGEXP_KEYDOWN => not a dropdown command\r\n // If input/textarea:\r\n // - If space key => not a dropdown command\r\n // - If key is other than escape\r\n // - If key is not up or down => not a dropdown command\r\n // - If trigger inside the menu => not a dropdown command\r\n if (/input|textarea/i.test(event.target.tagName) ? event.which === SPACE_KEYCODE || event.which !== ESCAPE_KEYCODE && (event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE || $(event.target).closest(Selector$4.MENU).length) : !REGEXP_KEYDOWN.test(event.which)) {\r\n return;\r\n }\r\n\r\n event.preventDefault();\r\n event.stopPropagation();\r\n\r\n if (this.disabled || $(this).hasClass(ClassName$4.DISABLED)) {\r\n return;\r\n }\r\n\r\n var parent = Dropdown._getParentFromElement(this);\r\n\r\n var isActive = $(parent).hasClass(ClassName$4.SHOW);\r\n\r\n if (!isActive || isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE)) {\r\n if (event.which === ESCAPE_KEYCODE) {\r\n var toggle = parent.querySelector(Selector$4.DATA_TOGGLE);\r\n $(toggle).trigger('focus');\r\n }\r\n\r\n $(this).trigger('click');\r\n return;\r\n }\r\n\r\n var items = [].slice.call(parent.querySelectorAll(Selector$4.VISIBLE_ITEMS));\r\n\r\n if (items.length === 0) {\r\n return;\r\n }\r\n\r\n var index = items.indexOf(event.target);\r\n\r\n if (event.which === ARROW_UP_KEYCODE && index > 0) {\r\n // Up\r\n index--;\r\n }\r\n\r\n if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) {\r\n // Down\r\n index++;\r\n }\r\n\r\n if (index < 0) {\r\n index = 0;\r\n }\r\n\r\n items[index].focus();\r\n };\r\n\r\n _createClass(Dropdown, null, [{\r\n key: \"VERSION\",\r\n get: function get() {\r\n return VERSION$4;\r\n }\r\n }, {\r\n key: \"Default\",\r\n get: function get() {\r\n return Default$2;\r\n }\r\n }, {\r\n key: \"DefaultType\",\r\n get: function get() {\r\n return DefaultType$2;\r\n }\r\n }]);\r\n\r\n return Dropdown;\r\n }();\r\n /**\r\n * ------------------------------------------------------------------------\r\n * Data Api implementation\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\n\r\n $(document).on(Event$4.KEYDOWN_DATA_API, Selector$4.DATA_TOGGLE, Dropdown._dataApiKeydownHandler).on(Event$4.KEYDOWN_DATA_API, Selector$4.MENU, Dropdown._dataApiKeydownHandler).on(Event$4.CLICK_DATA_API + \" \" + Event$4.KEYUP_DATA_API, Dropdown._clearMenus).on(Event$4.CLICK_DATA_API, Selector$4.DATA_TOGGLE, function (event) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n\r\n Dropdown._jQueryInterface.call($(this), 'toggle');\r\n }).on(Event$4.CLICK_DATA_API, Selector$4.FORM_CHILD, function (e) {\r\n e.stopPropagation();\r\n });\r\n /**\r\n * ------------------------------------------------------------------------\r\n * jQuery\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\n $.fn[NAME$4] = Dropdown._jQueryInterface;\r\n $.fn[NAME$4].Constructor = Dropdown;\r\n\r\n $.fn[NAME$4].noConflict = function () {\r\n $.fn[NAME$4] = JQUERY_NO_CONFLICT$4;\r\n return Dropdown._jQueryInterface;\r\n };\r\n\r\n /**\r\n * ------------------------------------------------------------------------\r\n * Constants\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\n var NAME$5 = 'modal';\r\n var VERSION$5 = '4.3.1';\r\n var DATA_KEY$5 = 'bs.modal';\r\n var EVENT_KEY$5 = \".\" + DATA_KEY$5;\r\n var DATA_API_KEY$5 = '.data-api';\r\n var JQUERY_NO_CONFLICT$5 = $.fn[NAME$5];\r\n var ESCAPE_KEYCODE$1 = 27; // KeyboardEvent.which value for Escape (Esc) key\r\n\r\n var Default$3 = {\r\n backdrop: true,\r\n keyboard: true,\r\n focus: true,\r\n show: true\r\n };\r\n var DefaultType$3 = {\r\n backdrop: '(boolean|string)',\r\n keyboard: 'boolean',\r\n focus: 'boolean',\r\n show: 'boolean'\r\n };\r\n var Event$5 = {\r\n HIDE: \"hide\" + EVENT_KEY$5,\r\n HIDDEN: \"hidden\" + EVENT_KEY$5,\r\n SHOW: \"show\" + EVENT_KEY$5,\r\n SHOWN: \"shown\" + EVENT_KEY$5,\r\n FOCUSIN: \"focusin\" + EVENT_KEY$5,\r\n RESIZE: \"resize\" + EVENT_KEY$5,\r\n CLICK_DISMISS: \"click.dismiss\" + EVENT_KEY$5,\r\n KEYDOWN_DISMISS: \"keydown.dismiss\" + EVENT_KEY$5,\r\n MOUSEUP_DISMISS: \"mouseup.dismiss\" + EVENT_KEY$5,\r\n MOUSEDOWN_DISMISS: \"mousedown.dismiss\" + EVENT_KEY$5,\r\n CLICK_DATA_API: \"click\" + EVENT_KEY$5 + DATA_API_KEY$5\r\n };\r\n var ClassName$5 = {\r\n SCROLLABLE: 'modal-dialog-scrollable',\r\n SCROLLBAR_MEASURER: 'modal-scrollbar-measure',\r\n BACKDROP: 'modal-backdrop',\r\n OPEN: 'modal-open',\r\n FADE: 'fade',\r\n SHOW: 'show'\r\n };\r\n var Selector$5 = {\r\n DIALOG: '.modal-dialog',\r\n MODAL_BODY: '.modal-body',\r\n DATA_TOGGLE: '[data-toggle=\"modal\"]',\r\n DATA_DISMISS: '[data-dismiss=\"modal\"]',\r\n FIXED_CONTENT: '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',\r\n STICKY_CONTENT: '.sticky-top'\r\n /**\r\n * ------------------------------------------------------------------------\r\n * Class Definition\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\n };\r\n\r\n var Modal =\r\n /*#__PURE__*/\r\n function () {\r\n function Modal(element, config) {\r\n this._config = this._getConfig(config);\r\n this._element = element;\r\n this._dialog = element.querySelector(Selector$5.DIALOG);\r\n this._backdrop = null;\r\n this._isShown = false;\r\n this._isBodyOverflowing = false;\r\n this._ignoreBackdropClick = false;\r\n this._isTransitioning = false;\r\n this._scrollbarWidth = 0;\r\n } // Getters\r\n\r\n\r\n var _proto = Modal.prototype;\r\n\r\n // Public\r\n _proto.toggle = function toggle(relatedTarget) {\r\n return this._isShown ? this.hide() : this.show(relatedTarget);\r\n };\r\n\r\n _proto.show = function show(relatedTarget) {\r\n var _this = this;\r\n\r\n if (this._isShown || this._isTransitioning) {\r\n return;\r\n }\r\n\r\n if ($(this._element).hasClass(ClassName$5.FADE)) {\r\n this._isTransitioning = true;\r\n }\r\n\r\n var showEvent = $.Event(Event$5.SHOW, {\r\n relatedTarget: relatedTarget\r\n });\r\n $(this._element).trigger(showEvent);\r\n\r\n if (this._isShown || showEvent.isDefaultPrevented()) {\r\n return;\r\n }\r\n\r\n this._isShown = true;\r\n\r\n this._checkScrollbar();\r\n\r\n this._setScrollbar();\r\n\r\n this._adjustDialog();\r\n\r\n this._setEscapeEvent();\r\n\r\n this._setResizeEvent();\r\n\r\n $(this._element).on(Event$5.CLICK_DISMISS, Selector$5.DATA_DISMISS, function (event) {\r\n return _this.hide(event);\r\n });\r\n $(this._dialog).on(Event$5.MOUSEDOWN_DISMISS, function () {\r\n $(_this._element).one(Event$5.MOUSEUP_DISMISS, function (event) {\r\n if ($(event.target).is(_this._element)) {\r\n _this._ignoreBackdropClick = true;\r\n }\r\n });\r\n });\r\n\r\n this._showBackdrop(function () {\r\n return _this._showElement(relatedTarget);\r\n });\r\n };\r\n\r\n _proto.hide = function hide(event) {\r\n var _this2 = this;\r\n\r\n if (event) {\r\n event.preventDefault();\r\n }\r\n\r\n if (!this._isShown || this._isTransitioning) {\r\n return;\r\n }\r\n\r\n var hideEvent = $.Event(Event$5.HIDE);\r\n $(this._element).trigger(hideEvent);\r\n\r\n if (!this._isShown || hideEvent.isDefaultPrevented()) {\r\n return;\r\n }\r\n\r\n this._isShown = false;\r\n var transition = $(this._element).hasClass(ClassName$5.FADE);\r\n\r\n if (transition) {\r\n this._isTransitioning = true;\r\n }\r\n\r\n this._setEscapeEvent();\r\n\r\n this._setResizeEvent();\r\n\r\n $(document).off(Event$5.FOCUSIN);\r\n $(this._element).removeClass(ClassName$5.SHOW);\r\n $(this._element).off(Event$5.CLICK_DISMISS);\r\n $(this._dialog).off(Event$5.MOUSEDOWN_DISMISS);\r\n\r\n if (transition) {\r\n var transitionDuration = Util.getTransitionDurationFromElement(this._element);\r\n $(this._element).one(Util.TRANSITION_END, function (event) {\r\n return _this2._hideModal(event);\r\n }).emulateTransitionEnd(transitionDuration);\r\n } else {\r\n this._hideModal();\r\n }\r\n };\r\n\r\n _proto.dispose = function dispose() {\r\n [window, this._element, this._dialog].forEach(function (htmlElement) {\r\n return $(htmlElement).off(EVENT_KEY$5);\r\n });\r\n /**\r\n * `document` has 2 events `Event.FOCUSIN` and `Event.CLICK_DATA_API`\r\n * Do not move `document` in `htmlElements` array\r\n * It will remove `Event.CLICK_DATA_API` event that should remain\r\n */\r\n\r\n $(document).off(Event$5.FOCUSIN);\r\n $.removeData(this._element, DATA_KEY$5);\r\n this._config = null;\r\n this._element = null;\r\n this._dialog = null;\r\n this._backdrop = null;\r\n this._isShown = null;\r\n this._isBodyOverflowing = null;\r\n this._ignoreBackdropClick = null;\r\n this._isTransitioning = null;\r\n this._scrollbarWidth = null;\r\n };\r\n\r\n _proto.handleUpdate = function handleUpdate() {\r\n this._adjustDialog();\r\n } // Private\r\n ;\r\n\r\n _proto._getConfig = function _getConfig(config) {\r\n config = _objectSpread({}, Default$3, config);\r\n Util.typeCheckConfig(NAME$5, config, DefaultType$3);\r\n return config;\r\n };\r\n\r\n _proto._showElement = function _showElement(relatedTarget) {\r\n var _this3 = this;\r\n\r\n var transition = $(this._element).hasClass(ClassName$5.FADE);\r\n\r\n if (!this._element.parentNode || this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {\r\n // Don't move modal's DOM position\r\n document.body.appendChild(this._element);\r\n }\r\n\r\n this._element.style.display = 'block';\r\n\r\n this._element.removeAttribute('aria-hidden');\r\n\r\n this._element.setAttribute('aria-modal', true);\r\n\r\n if ($(this._dialog).hasClass(ClassName$5.SCROLLABLE)) {\r\n this._dialog.querySelector(Selector$5.MODAL_BODY).scrollTop = 0;\r\n } else {\r\n this._element.scrollTop = 0;\r\n }\r\n\r\n if (transition) {\r\n Util.reflow(this._element);\r\n }\r\n\r\n $(this._element).addClass(ClassName$5.SHOW);\r\n\r\n if (this._config.focus) {\r\n this._enforceFocus();\r\n }\r\n\r\n var shownEvent = $.Event(Event$5.SHOWN, {\r\n relatedTarget: relatedTarget\r\n });\r\n\r\n var transitionComplete = function transitionComplete() {\r\n if (_this3._config.focus) {\r\n _this3._element.focus();\r\n }\r\n\r\n _this3._isTransitioning = false;\r\n $(_this3._element).trigger(shownEvent);\r\n };\r\n\r\n if (transition) {\r\n var transitionDuration = Util.getTransitionDurationFromElement(this._dialog);\r\n $(this._dialog).one(Util.TRANSITION_END, transitionComplete).emulateTransitionEnd(transitionDuration);\r\n } else {\r\n transitionComplete();\r\n }\r\n };\r\n\r\n _proto._enforceFocus = function _enforceFocus() {\r\n var _this4 = this;\r\n\r\n $(document).off(Event$5.FOCUSIN) // Guard against infinite focus loop\r\n .on(Event$5.FOCUSIN, function (event) {\r\n if (document !== event.target && _this4._element !== event.target && $(_this4._element).has(event.target).length === 0) {\r\n _this4._element.focus();\r\n }\r\n });\r\n };\r\n\r\n _proto._setEscapeEvent = function _setEscapeEvent() {\r\n var _this5 = this;\r\n\r\n if (this._isShown && this._config.keyboard) {\r\n $(this._element).on(Event$5.KEYDOWN_DISMISS, function (event) {\r\n if (event.which === ESCAPE_KEYCODE$1) {\r\n event.preventDefault();\r\n\r\n _this5.hide();\r\n }\r\n });\r\n } else if (!this._isShown) {\r\n $(this._element).off(Event$5.KEYDOWN_DISMISS);\r\n }\r\n };\r\n\r\n _proto._setResizeEvent = function _setResizeEvent() {\r\n var _this6 = this;\r\n\r\n if (this._isShown) {\r\n $(window).on(Event$5.RESIZE, function (event) {\r\n return _this6.handleUpdate(event);\r\n });\r\n } else {\r\n $(window).off(Event$5.RESIZE);\r\n }\r\n };\r\n\r\n _proto._hideModal = function _hideModal() {\r\n var _this7 = this;\r\n\r\n this._element.style.display = 'none';\r\n\r\n this._element.setAttribute('aria-hidden', true);\r\n\r\n this._element.removeAttribute('aria-modal');\r\n\r\n this._isTransitioning = false;\r\n\r\n this._showBackdrop(function () {\r\n $(document.body).removeClass(ClassName$5.OPEN);\r\n\r\n _this7._resetAdjustments();\r\n\r\n _this7._resetScrollbar();\r\n\r\n $(_this7._element).trigger(Event$5.HIDDEN);\r\n });\r\n };\r\n\r\n _proto._removeBackdrop = function _removeBackdrop() {\r\n if (this._backdrop) {\r\n $(this._backdrop).remove();\r\n this._backdrop = null;\r\n }\r\n };\r\n\r\n _proto._showBackdrop = function _showBackdrop(callback) {\r\n var _this8 = this;\r\n\r\n var animate = $(this._element).hasClass(ClassName$5.FADE) ? ClassName$5.FADE : '';\r\n\r\n if (this._isShown && this._config.backdrop) {\r\n this._backdrop = document.createElement('div');\r\n this._backdrop.className = ClassName$5.BACKDROP;\r\n\r\n if (animate) {\r\n this._backdrop.classList.add(animate);\r\n }\r\n\r\n $(this._backdrop).appendTo(document.body);\r\n $(this._element).on(Event$5.CLICK_DISMISS, function (event) {\r\n if (_this8._ignoreBackdropClick) {\r\n _this8._ignoreBackdropClick = false;\r\n return;\r\n }\r\n\r\n if (event.target !== event.currentTarget) {\r\n return;\r\n }\r\n\r\n if (_this8._config.backdrop === 'static') {\r\n _this8._element.focus();\r\n } else {\r\n _this8.hide();\r\n }\r\n });\r\n\r\n if (animate) {\r\n Util.reflow(this._backdrop);\r\n }\r\n\r\n $(this._backdrop).addClass(ClassName$5.SHOW);\r\n\r\n if (!callback) {\r\n return;\r\n }\r\n\r\n if (!animate) {\r\n callback();\r\n return;\r\n }\r\n\r\n var backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop);\r\n $(this._backdrop).one(Util.TRANSITION_END, callback).emulateTransitionEnd(backdropTransitionDuration);\r\n } else if (!this._isShown && this._backdrop) {\r\n $(this._backdrop).removeClass(ClassName$5.SHOW);\r\n\r\n var callbackRemove = function callbackRemove() {\r\n _this8._removeBackdrop();\r\n\r\n if (callback) {\r\n callback();\r\n }\r\n };\r\n\r\n if ($(this._element).hasClass(ClassName$5.FADE)) {\r\n var _backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop);\r\n\r\n $(this._backdrop).one(Util.TRANSITION_END, callbackRemove).emulateTransitionEnd(_backdropTransitionDuration);\r\n } else {\r\n callbackRemove();\r\n }\r\n } else if (callback) {\r\n callback();\r\n }\r\n } // ----------------------------------------------------------------------\r\n // the following methods are used to handle overflowing modals\r\n // todo (fat): these should probably be refactored out of modal.js\r\n // ----------------------------------------------------------------------\r\n ;\r\n\r\n _proto._adjustDialog = function _adjustDialog() {\r\n var isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight;\r\n\r\n if (!this._isBodyOverflowing && isModalOverflowing) {\r\n this._element.style.paddingLeft = this._scrollbarWidth + \"px\";\r\n }\r\n\r\n if (this._isBodyOverflowing && !isModalOverflowing) {\r\n this._element.style.paddingRight = this._scrollbarWidth + \"px\";\r\n }\r\n };\r\n\r\n _proto._resetAdjustments = function _resetAdjustments() {\r\n this._element.style.paddingLeft = '';\r\n this._element.style.paddingRight = '';\r\n };\r\n\r\n _proto._checkScrollbar = function _checkScrollbar() {\r\n var rect = document.body.getBoundingClientRect();\r\n this._isBodyOverflowing = rect.left + rect.right < window.innerWidth;\r\n this._scrollbarWidth = this._getScrollbarWidth();\r\n };\r\n\r\n _proto._setScrollbar = function _setScrollbar() {\r\n var _this9 = this;\r\n\r\n if (this._isBodyOverflowing) {\r\n // Note: DOMNode.style.paddingRight returns the actual value or '' if not set\r\n // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set\r\n var fixedContent = [].slice.call(document.querySelectorAll(Selector$5.FIXED_CONTENT));\r\n var stickyContent = [].slice.call(document.querySelectorAll(Selector$5.STICKY_CONTENT)); // Adjust fixed content padding\r\n\r\n $(fixedContent).each(function (index, element) {\r\n var actualPadding = element.style.paddingRight;\r\n var calculatedPadding = $(element).css('padding-right');\r\n $(element).data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + _this9._scrollbarWidth + \"px\");\r\n }); // Adjust sticky content margin\r\n\r\n $(stickyContent).each(function (index, element) {\r\n var actualMargin = element.style.marginRight;\r\n var calculatedMargin = $(element).css('margin-right');\r\n $(element).data('margin-right', actualMargin).css('margin-right', parseFloat(calculatedMargin) - _this9._scrollbarWidth + \"px\");\r\n }); // Adjust body padding\r\n\r\n var actualPadding = document.body.style.paddingRight;\r\n var calculatedPadding = $(document.body).css('padding-right');\r\n $(document.body).data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + this._scrollbarWidth + \"px\");\r\n }\r\n\r\n $(document.body).addClass(ClassName$5.OPEN);\r\n };\r\n\r\n _proto._resetScrollbar = function _resetScrollbar() {\r\n // Restore fixed content padding\r\n var fixedContent = [].slice.call(document.querySelectorAll(Selector$5.FIXED_CONTENT));\r\n $(fixedContent).each(function (index, element) {\r\n var padding = $(element).data('padding-right');\r\n $(element).removeData('padding-right');\r\n element.style.paddingRight = padding ? padding : '';\r\n }); // Restore sticky content\r\n\r\n var elements = [].slice.call(document.querySelectorAll(\"\" + Selector$5.STICKY_CONTENT));\r\n $(elements).each(function (index, element) {\r\n var margin = $(element).data('margin-right');\r\n\r\n if (typeof margin !== 'undefined') {\r\n $(element).css('margin-right', margin).removeData('margin-right');\r\n }\r\n }); // Restore body padding\r\n\r\n var padding = $(document.body).data('padding-right');\r\n $(document.body).removeData('padding-right');\r\n document.body.style.paddingRight = padding ? padding : '';\r\n };\r\n\r\n _proto._getScrollbarWidth = function _getScrollbarWidth() {\r\n // thx d.walsh\r\n var scrollDiv = document.createElement('div');\r\n scrollDiv.className = ClassName$5.SCROLLBAR_MEASURER;\r\n document.body.appendChild(scrollDiv);\r\n var scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth;\r\n document.body.removeChild(scrollDiv);\r\n return scrollbarWidth;\r\n } // Static\r\n ;\r\n\r\n Modal._jQueryInterface = function _jQueryInterface(config, relatedTarget) {\r\n return this.each(function () {\r\n var data = $(this).data(DATA_KEY$5);\r\n\r\n var _config = _objectSpread({}, Default$3, $(this).data(), typeof config === 'object' && config ? config : {});\r\n\r\n if (!data) {\r\n data = new Modal(this, _config);\r\n $(this).data(DATA_KEY$5, data);\r\n }\r\n\r\n if (typeof config === 'string') {\r\n if (typeof data[config] === 'undefined') {\r\n throw new TypeError(\"No method named \\\"\" + config + \"\\\"\");\r\n }\r\n\r\n data[config](relatedTarget);\r\n } else if (_config.show) {\r\n data.show(relatedTarget);\r\n }\r\n });\r\n };\r\n\r\n _createClass(Modal, null, [{\r\n key: \"VERSION\",\r\n get: function get() {\r\n return VERSION$5;\r\n }\r\n }, {\r\n key: \"Default\",\r\n get: function get() {\r\n return Default$3;\r\n }\r\n }]);\r\n\r\n return Modal;\r\n }();\r\n /**\r\n * ------------------------------------------------------------------------\r\n * Data Api implementation\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\n\r\n $(document).on(Event$5.CLICK_DATA_API, Selector$5.DATA_TOGGLE, function (event) {\r\n var _this10 = this;\r\n\r\n var target;\r\n var selector = Util.getSelectorFromElement(this);\r\n\r\n if (selector) {\r\n target = document.querySelector(selector);\r\n }\r\n\r\n var config = $(target).data(DATA_KEY$5) ? 'toggle' : _objectSpread({}, $(target).data(), $(this).data());\r\n\r\n if (this.tagName === 'A' || this.tagName === 'AREA') {\r\n event.preventDefault();\r\n }\r\n\r\n var $target = $(target).one(Event$5.SHOW, function (showEvent) {\r\n if (showEvent.isDefaultPrevented()) {\r\n // Only register focus restorer if modal will actually get shown\r\n return;\r\n }\r\n\r\n $target.one(Event$5.HIDDEN, function () {\r\n if ($(_this10).is(':visible')) {\r\n _this10.focus();\r\n }\r\n });\r\n });\r\n\r\n Modal._jQueryInterface.call($(target), config, this);\r\n });\r\n /**\r\n * ------------------------------------------------------------------------\r\n * jQuery\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\n $.fn[NAME$5] = Modal._jQueryInterface;\r\n $.fn[NAME$5].Constructor = Modal;\r\n\r\n $.fn[NAME$5].noConflict = function () {\r\n $.fn[NAME$5] = JQUERY_NO_CONFLICT$5;\r\n return Modal._jQueryInterface;\r\n };\r\n\r\n /**\r\n * --------------------------------------------------------------------------\r\n * Bootstrap (v4.3.1): tools/sanitizer.js\r\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\r\n * --------------------------------------------------------------------------\r\n */\r\n var uriAttrs = ['background', 'cite', 'href', 'itemtype', 'longdesc', 'poster', 'src', 'xlink:href'];\r\n var ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i;\r\n var DefaultWhitelist = {\r\n // Global attributes allowed on any supplied element below.\r\n '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],\r\n a: ['target', 'href', 'title', 'rel'],\r\n area: [],\r\n b: [],\r\n br: [],\r\n col: [],\r\n code: [],\r\n div: [],\r\n em: [],\r\n hr: [],\r\n h1: [],\r\n h2: [],\r\n h3: [],\r\n h4: [],\r\n h5: [],\r\n h6: [],\r\n i: [],\r\n img: ['src', 'alt', 'title', 'width', 'height'],\r\n li: [],\r\n ol: [],\r\n p: [],\r\n pre: [],\r\n s: [],\r\n small: [],\r\n span: [],\r\n sub: [],\r\n sup: [],\r\n strong: [],\r\n u: [],\r\n ul: []\r\n /**\r\n * A pattern that recognizes a commonly useful subset of URLs that are safe.\r\n *\r\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\r\n */\r\n\r\n };\r\n var SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^&:/?#]*(?:[/?#]|$))/gi;\r\n /**\r\n * A pattern that matches safe data URLs. Only matches image, video and audio types.\r\n *\r\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\r\n */\r\n\r\n var DATA_URL_PATTERN = /^data:(?:image\\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\\/(?:mpeg|mp4|ogg|webm)|audio\\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+/]+=*$/i;\r\n\r\n function allowedAttribute(attr, allowedAttributeList) {\r\n var attrName = attr.nodeName.toLowerCase();\r\n\r\n if (allowedAttributeList.indexOf(attrName) !== -1) {\r\n if (uriAttrs.indexOf(attrName) !== -1) {\r\n return Boolean(attr.nodeValue.match(SAFE_URL_PATTERN) || attr.nodeValue.match(DATA_URL_PATTERN));\r\n }\r\n\r\n return true;\r\n }\r\n\r\n var regExp = allowedAttributeList.filter(function (attrRegex) {\r\n return attrRegex instanceof RegExp;\r\n }); // Check if a regular expression validates the attribute.\r\n\r\n for (var i = 0, l = regExp.length; i < l; i++) {\r\n if (attrName.match(regExp[i])) {\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n }\r\n\r\n function sanitizeHtml(unsafeHtml, whiteList, sanitizeFn) {\r\n if (unsafeHtml.length === 0) {\r\n return unsafeHtml;\r\n }\r\n\r\n if (sanitizeFn && typeof sanitizeFn === 'function') {\r\n return sanitizeFn(unsafeHtml);\r\n }\r\n\r\n var domParser = new window.DOMParser();\r\n var createdDocument = domParser.parseFromString(unsafeHtml, 'text/html');\r\n var whitelistKeys = Object.keys(whiteList);\r\n var elements = [].slice.call(createdDocument.body.querySelectorAll('*'));\r\n\r\n var _loop = function _loop(i, len) {\r\n var el = elements[i];\r\n var elName = el.nodeName.toLowerCase();\r\n\r\n if (whitelistKeys.indexOf(el.nodeName.toLowerCase()) === -1) {\r\n el.parentNode.removeChild(el);\r\n return \"continue\";\r\n }\r\n\r\n var attributeList = [].slice.call(el.attributes);\r\n var whitelistedAttributes = [].concat(whiteList['*'] || [], whiteList[elName] || []);\r\n attributeList.forEach(function (attr) {\r\n if (!allowedAttribute(attr, whitelistedAttributes)) {\r\n el.removeAttribute(attr.nodeName);\r\n }\r\n });\r\n };\r\n\r\n for (var i = 0, len = elements.length; i < len; i++) {\r\n var _ret = _loop(i, len);\r\n\r\n if (_ret === \"continue\") continue;\r\n }\r\n\r\n return createdDocument.body.innerHTML;\r\n }\r\n\r\n /**\r\n * ------------------------------------------------------------------------\r\n * Constants\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\n var NAME$6 = 'tooltip';\r\n var VERSION$6 = '4.3.1';\r\n var DATA_KEY$6 = 'bs.tooltip';\r\n var EVENT_KEY$6 = \".\" + DATA_KEY$6;\r\n var JQUERY_NO_CONFLICT$6 = $.fn[NAME$6];\r\n var CLASS_PREFIX = 'bs-tooltip';\r\n var BSCLS_PREFIX_REGEX = new RegExp(\"(^|\\\\s)\" + CLASS_PREFIX + \"\\\\S+\", 'g');\r\n var DISALLOWED_ATTRIBUTES = ['sanitize', 'whiteList', 'sanitizeFn'];\r\n var DefaultType$4 = {\r\n animation: 'boolean',\r\n template: 'string',\r\n title: '(string|element|function)',\r\n trigger: 'string',\r\n delay: '(number|object)',\r\n html: 'boolean',\r\n selector: '(string|boolean)',\r\n placement: '(string|function)',\r\n offset: '(number|string|function)',\r\n container: '(string|element|boolean)',\r\n fallbackPlacement: '(string|array)',\r\n boundary: '(string|element)',\r\n sanitize: 'boolean',\r\n sanitizeFn: '(null|function)',\r\n whiteList: 'object'\r\n };\r\n var AttachmentMap$1 = {\r\n AUTO: 'auto',\r\n TOP: 'top',\r\n RIGHT: 'right',\r\n BOTTOM: 'bottom',\r\n LEFT: 'left'\r\n };\r\n var Default$4 = {\r\n animation: true,\r\n template: '
' + '
' + '
',\r\n trigger: 'hover focus',\r\n title: '',\r\n delay: 0,\r\n html: false,\r\n selector: false,\r\n placement: 'top',\r\n offset: 0,\r\n container: false,\r\n fallbackPlacement: 'flip',\r\n boundary: 'scrollParent',\r\n sanitize: true,\r\n sanitizeFn: null,\r\n whiteList: DefaultWhitelist\r\n };\r\n var HoverState = {\r\n SHOW: 'show',\r\n OUT: 'out'\r\n };\r\n var Event$6 = {\r\n HIDE: \"hide\" + EVENT_KEY$6,\r\n HIDDEN: \"hidden\" + EVENT_KEY$6,\r\n SHOW: \"show\" + EVENT_KEY$6,\r\n SHOWN: \"shown\" + EVENT_KEY$6,\r\n INSERTED: \"inserted\" + EVENT_KEY$6,\r\n CLICK: \"click\" + EVENT_KEY$6,\r\n FOCUSIN: \"focusin\" + EVENT_KEY$6,\r\n FOCUSOUT: \"focusout\" + EVENT_KEY$6,\r\n MOUSEENTER: \"mouseenter\" + EVENT_KEY$6,\r\n MOUSELEAVE: \"mouseleave\" + EVENT_KEY$6\r\n };\r\n var ClassName$6 = {\r\n FADE: 'fade',\r\n SHOW: 'show'\r\n };\r\n var Selector$6 = {\r\n TOOLTIP: '.tooltip',\r\n TOOLTIP_INNER: '.tooltip-inner',\r\n ARROW: '.arrow'\r\n };\r\n var Trigger = {\r\n HOVER: 'hover',\r\n FOCUS: 'focus',\r\n CLICK: 'click',\r\n MANUAL: 'manual'\r\n /**\r\n * ------------------------------------------------------------------------\r\n * Class Definition\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\n };\r\n\r\n var Tooltip =\r\n /*#__PURE__*/\r\n function () {\r\n function Tooltip(element, config) {\r\n /**\r\n * Check for Popper dependency\r\n * Popper - https://popper.js.org\r\n */\r\n if (typeof Popper === 'undefined') {\r\n throw new TypeError('Bootstrap\\'s tooltips require Popper.js (https://popper.js.org/)');\r\n } // private\r\n\r\n\r\n this._isEnabled = true;\r\n this._timeout = 0;\r\n this._hoverState = '';\r\n this._activeTrigger = {};\r\n this._popper = null; // Protected\r\n\r\n this.element = element;\r\n this.config = this._getConfig(config);\r\n this.tip = null;\r\n\r\n this._setListeners();\r\n } // Getters\r\n\r\n\r\n var _proto = Tooltip.prototype;\r\n\r\n // Public\r\n _proto.enable = function enable() {\r\n this._isEnabled = true;\r\n };\r\n\r\n _proto.disable = function disable() {\r\n this._isEnabled = false;\r\n };\r\n\r\n _proto.toggleEnabled = function toggleEnabled() {\r\n this._isEnabled = !this._isEnabled;\r\n };\r\n\r\n _proto.toggle = function toggle(event) {\r\n if (!this._isEnabled) {\r\n return;\r\n }\r\n\r\n if (event) {\r\n var dataKey = this.constructor.DATA_KEY;\r\n var context = $(event.currentTarget).data(dataKey);\r\n\r\n if (!context) {\r\n context = new this.constructor(event.currentTarget, this._getDelegateConfig());\r\n $(event.currentTarget).data(dataKey, context);\r\n }\r\n\r\n context._activeTrigger.click = !context._activeTrigger.click;\r\n\r\n if (context._isWithActiveTrigger()) {\r\n context._enter(null, context);\r\n } else {\r\n context._leave(null, context);\r\n }\r\n } else {\r\n if ($(this.getTipElement()).hasClass(ClassName$6.SHOW)) {\r\n this._leave(null, this);\r\n\r\n return;\r\n }\r\n\r\n this._enter(null, this);\r\n }\r\n };\r\n\r\n _proto.dispose = function dispose() {\r\n clearTimeout(this._timeout);\r\n $.removeData(this.element, this.constructor.DATA_KEY);\r\n $(this.element).off(this.constructor.EVENT_KEY);\r\n $(this.element).closest('.modal').off('hide.bs.modal');\r\n\r\n if (this.tip) {\r\n $(this.tip).remove();\r\n }\r\n\r\n this._isEnabled = null;\r\n this._timeout = null;\r\n this._hoverState = null;\r\n this._activeTrigger = null;\r\n\r\n if (this._popper !== null) {\r\n this._popper.destroy();\r\n }\r\n\r\n this._popper = null;\r\n this.element = null;\r\n this.config = null;\r\n this.tip = null;\r\n };\r\n\r\n _proto.show = function show() {\r\n var _this = this;\r\n\r\n if ($(this.element).css('display') === 'none') {\r\n throw new Error('Please use show on visible elements');\r\n }\r\n\r\n var showEvent = $.Event(this.constructor.Event.SHOW);\r\n\r\n if (this.isWithContent() && this._isEnabled) {\r\n $(this.element).trigger(showEvent);\r\n var shadowRoot = Util.findShadowRoot(this.element);\r\n var isInTheDom = $.contains(shadowRoot !== null ? shadowRoot : this.element.ownerDocument.documentElement, this.element);\r\n\r\n if (showEvent.isDefaultPrevented() || !isInTheDom) {\r\n return;\r\n }\r\n\r\n var tip = this.getTipElement();\r\n var tipId = Util.getUID(this.constructor.NAME);\r\n tip.setAttribute('id', tipId);\r\n this.element.setAttribute('aria-describedby', tipId);\r\n this.setContent();\r\n\r\n if (this.config.animation) {\r\n $(tip).addClass(ClassName$6.FADE);\r\n }\r\n\r\n var placement = typeof this.config.placement === 'function' ? this.config.placement.call(this, tip, this.element) : this.config.placement;\r\n\r\n var attachment = this._getAttachment(placement);\r\n\r\n this.addAttachmentClass(attachment);\r\n\r\n var container = this._getContainer();\r\n\r\n $(tip).data(this.constructor.DATA_KEY, this);\r\n\r\n if (!$.contains(this.element.ownerDocument.documentElement, this.tip)) {\r\n $(tip).appendTo(container);\r\n }\r\n\r\n $(this.element).trigger(this.constructor.Event.INSERTED);\r\n this._popper = new Popper(this.element, tip, {\r\n placement: attachment,\r\n modifiers: {\r\n offset: this._getOffset(),\r\n flip: {\r\n behavior: this.config.fallbackPlacement\r\n },\r\n arrow: {\r\n element: Selector$6.ARROW\r\n },\r\n preventOverflow: {\r\n boundariesElement: this.config.boundary\r\n }\r\n },\r\n onCreate: function onCreate(data) {\r\n if (data.originalPlacement !== data.placement) {\r\n _this._handlePopperPlacementChange(data);\r\n }\r\n },\r\n onUpdate: function onUpdate(data) {\r\n return _this._handlePopperPlacementChange(data);\r\n }\r\n });\r\n $(tip).addClass(ClassName$6.SHOW); // If this is a touch-enabled device we add extra\r\n // empty mouseover listeners to the body's immediate children;\r\n // only needed because of broken event delegation on iOS\r\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\r\n\r\n if ('ontouchstart' in document.documentElement) {\r\n $(document.body).children().on('mouseover', null, $.noop);\r\n }\r\n\r\n var complete = function complete() {\r\n if (_this.config.animation) {\r\n _this._fixTransition();\r\n }\r\n\r\n var prevHoverState = _this._hoverState;\r\n _this._hoverState = null;\r\n $(_this.element).trigger(_this.constructor.Event.SHOWN);\r\n\r\n if (prevHoverState === HoverState.OUT) {\r\n _this._leave(null, _this);\r\n }\r\n };\r\n\r\n if ($(this.tip).hasClass(ClassName$6.FADE)) {\r\n var transitionDuration = Util.getTransitionDurationFromElement(this.tip);\r\n $(this.tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);\r\n } else {\r\n complete();\r\n }\r\n }\r\n };\r\n\r\n _proto.hide = function hide(callback) {\r\n var _this2 = this;\r\n\r\n var tip = this.getTipElement();\r\n var hideEvent = $.Event(this.constructor.Event.HIDE);\r\n\r\n var complete = function complete() {\r\n if (_this2._hoverState !== HoverState.SHOW && tip.parentNode) {\r\n tip.parentNode.removeChild(tip);\r\n }\r\n\r\n _this2._cleanTipClass();\r\n\r\n _this2.element.removeAttribute('aria-describedby');\r\n\r\n $(_this2.element).trigger(_this2.constructor.Event.HIDDEN);\r\n\r\n if (_this2._popper !== null) {\r\n _this2._popper.destroy();\r\n }\r\n\r\n if (callback) {\r\n callback();\r\n }\r\n };\r\n\r\n $(this.element).trigger(hideEvent);\r\n\r\n if (hideEvent.isDefaultPrevented()) {\r\n return;\r\n }\r\n\r\n $(tip).removeClass(ClassName$6.SHOW); // If this is a touch-enabled device we remove the extra\r\n // empty mouseover listeners we added for iOS support\r\n\r\n if ('ontouchstart' in document.documentElement) {\r\n $(document.body).children().off('mouseover', null, $.noop);\r\n }\r\n\r\n this._activeTrigger[Trigger.CLICK] = false;\r\n this._activeTrigger[Trigger.FOCUS] = false;\r\n this._activeTrigger[Trigger.HOVER] = false;\r\n\r\n if ($(this.tip).hasClass(ClassName$6.FADE)) {\r\n var transitionDuration = Util.getTransitionDurationFromElement(tip);\r\n $(tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);\r\n } else {\r\n complete();\r\n }\r\n\r\n this._hoverState = '';\r\n };\r\n\r\n _proto.update = function update() {\r\n if (this._popper !== null) {\r\n this._popper.scheduleUpdate();\r\n }\r\n } // Protected\r\n ;\r\n\r\n _proto.isWithContent = function isWithContent() {\r\n return Boolean(this.getTitle());\r\n };\r\n\r\n _proto.addAttachmentClass = function addAttachmentClass(attachment) {\r\n $(this.getTipElement()).addClass(CLASS_PREFIX + \"-\" + attachment);\r\n };\r\n\r\n _proto.getTipElement = function getTipElement() {\r\n this.tip = this.tip || $(this.config.template)[0];\r\n return this.tip;\r\n };\r\n\r\n _proto.setContent = function setContent() {\r\n var tip = this.getTipElement();\r\n this.setElementContent($(tip.querySelectorAll(Selector$6.TOOLTIP_INNER)), this.getTitle());\r\n $(tip).removeClass(ClassName$6.FADE + \" \" + ClassName$6.SHOW);\r\n };\r\n\r\n _proto.setElementContent = function setElementContent($element, content) {\r\n if (typeof content === 'object' && (content.nodeType || content.jquery)) {\r\n // Content is a DOM node or a jQuery\r\n if (this.config.html) {\r\n if (!$(content).parent().is($element)) {\r\n $element.empty().append(content);\r\n }\r\n } else {\r\n $element.text($(content).text());\r\n }\r\n\r\n return;\r\n }\r\n\r\n if (this.config.html) {\r\n if (this.config.sanitize) {\r\n content = sanitizeHtml(content, this.config.whiteList, this.config.sanitizeFn);\r\n }\r\n\r\n $element.html(content);\r\n } else {\r\n $element.text(content);\r\n }\r\n };\r\n\r\n _proto.getTitle = function getTitle() {\r\n var title = this.element.getAttribute('data-original-title');\r\n\r\n if (!title) {\r\n title = typeof this.config.title === 'function' ? this.config.title.call(this.element) : this.config.title;\r\n }\r\n\r\n return title;\r\n } // Private\r\n ;\r\n\r\n _proto._getOffset = function _getOffset() {\r\n var _this3 = this;\r\n\r\n var offset = {};\r\n\r\n if (typeof this.config.offset === 'function') {\r\n offset.fn = function (data) {\r\n data.offsets = _objectSpread({}, data.offsets, _this3.config.offset(data.offsets, _this3.element) || {});\r\n return data;\r\n };\r\n } else {\r\n offset.offset = this.config.offset;\r\n }\r\n\r\n return offset;\r\n };\r\n\r\n _proto._getContainer = function _getContainer() {\r\n if (this.config.container === false) {\r\n return document.body;\r\n }\r\n\r\n if (Util.isElement(this.config.container)) {\r\n return $(this.config.container);\r\n }\r\n\r\n return $(document).find(this.config.container);\r\n };\r\n\r\n _proto._getAttachment = function _getAttachment(placement) {\r\n return AttachmentMap$1[placement.toUpperCase()];\r\n };\r\n\r\n _proto._setListeners = function _setListeners() {\r\n var _this4 = this;\r\n\r\n var triggers = this.config.trigger.split(' ');\r\n triggers.forEach(function (trigger) {\r\n if (trigger === 'click') {\r\n $(_this4.element).on(_this4.constructor.Event.CLICK, _this4.config.selector, function (event) {\r\n return _this4.toggle(event);\r\n });\r\n } else if (trigger !== Trigger.MANUAL) {\r\n var eventIn = trigger === Trigger.HOVER ? _this4.constructor.Event.MOUSEENTER : _this4.constructor.Event.FOCUSIN;\r\n var eventOut = trigger === Trigger.HOVER ? _this4.constructor.Event.MOUSELEAVE : _this4.constructor.Event.FOCUSOUT;\r\n $(_this4.element).on(eventIn, _this4.config.selector, function (event) {\r\n return _this4._enter(event);\r\n }).on(eventOut, _this4.config.selector, function (event) {\r\n return _this4._leave(event);\r\n });\r\n }\r\n });\r\n $(this.element).closest('.modal').on('hide.bs.modal', function () {\r\n if (_this4.element) {\r\n _this4.hide();\r\n }\r\n });\r\n\r\n if (this.config.selector) {\r\n this.config = _objectSpread({}, this.config, {\r\n trigger: 'manual',\r\n selector: ''\r\n });\r\n } else {\r\n this._fixTitle();\r\n }\r\n };\r\n\r\n _proto._fixTitle = function _fixTitle() {\r\n var titleType = typeof this.element.getAttribute('data-original-title');\r\n\r\n if (this.element.getAttribute('title') || titleType !== 'string') {\r\n this.element.setAttribute('data-original-title', this.element.getAttribute('title') || '');\r\n this.element.setAttribute('title', '');\r\n }\r\n };\r\n\r\n _proto._enter = function _enter(event, context) {\r\n var dataKey = this.constructor.DATA_KEY;\r\n context = context || $(event.currentTarget).data(dataKey);\r\n\r\n if (!context) {\r\n context = new this.constructor(event.currentTarget, this._getDelegateConfig());\r\n $(event.currentTarget).data(dataKey, context);\r\n }\r\n\r\n if (event) {\r\n context._activeTrigger[event.type === 'focusin' ? Trigger.FOCUS : Trigger.HOVER] = true;\r\n }\r\n\r\n if ($(context.getTipElement()).hasClass(ClassName$6.SHOW) || context._hoverState === HoverState.SHOW) {\r\n context._hoverState = HoverState.SHOW;\r\n return;\r\n }\r\n\r\n clearTimeout(context._timeout);\r\n context._hoverState = HoverState.SHOW;\r\n\r\n if (!context.config.delay || !context.config.delay.show) {\r\n context.show();\r\n return;\r\n }\r\n\r\n context._timeout = setTimeout(function () {\r\n if (context._hoverState === HoverState.SHOW) {\r\n context.show();\r\n }\r\n }, context.config.delay.show);\r\n };\r\n\r\n _proto._leave = function _leave(event, context) {\r\n var dataKey = this.constructor.DATA_KEY;\r\n context = context || $(event.currentTarget).data(dataKey);\r\n\r\n if (!context) {\r\n context = new this.constructor(event.currentTarget, this._getDelegateConfig());\r\n $(event.currentTarget).data(dataKey, context);\r\n }\r\n\r\n if (event) {\r\n context._activeTrigger[event.type === 'focusout' ? Trigger.FOCUS : Trigger.HOVER] = false;\r\n }\r\n\r\n if (context._isWithActiveTrigger()) {\r\n return;\r\n }\r\n\r\n clearTimeout(context._timeout);\r\n context._hoverState = HoverState.OUT;\r\n\r\n if (!context.config.delay || !context.config.delay.hide) {\r\n context.hide();\r\n return;\r\n }\r\n\r\n context._timeout = setTimeout(function () {\r\n if (context._hoverState === HoverState.OUT) {\r\n context.hide();\r\n }\r\n }, context.config.delay.hide);\r\n };\r\n\r\n _proto._isWithActiveTrigger = function _isWithActiveTrigger() {\r\n for (var trigger in this._activeTrigger) {\r\n if (this._activeTrigger[trigger]) {\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n };\r\n\r\n _proto._getConfig = function _getConfig(config) {\r\n var dataAttributes = $(this.element).data();\r\n Object.keys(dataAttributes).forEach(function (dataAttr) {\r\n if (DISALLOWED_ATTRIBUTES.indexOf(dataAttr) !== -1) {\r\n delete dataAttributes[dataAttr];\r\n }\r\n });\r\n config = _objectSpread({}, this.constructor.Default, dataAttributes, typeof config === 'object' && config ? config : {});\r\n\r\n if (typeof config.delay === 'number') {\r\n config.delay = {\r\n show: config.delay,\r\n hide: config.delay\r\n };\r\n }\r\n\r\n if (typeof config.title === 'number') {\r\n config.title = config.title.toString();\r\n }\r\n\r\n if (typeof config.content === 'number') {\r\n config.content = config.content.toString();\r\n }\r\n\r\n Util.typeCheckConfig(NAME$6, config, this.constructor.DefaultType);\r\n\r\n if (config.sanitize) {\r\n config.template = sanitizeHtml(config.template, config.whiteList, config.sanitizeFn);\r\n }\r\n\r\n return config;\r\n };\r\n\r\n _proto._getDelegateConfig = function _getDelegateConfig() {\r\n var config = {};\r\n\r\n if (this.config) {\r\n for (var key in this.config) {\r\n if (this.constructor.Default[key] !== this.config[key]) {\r\n config[key] = this.config[key];\r\n }\r\n }\r\n }\r\n\r\n return config;\r\n };\r\n\r\n _proto._cleanTipClass = function _cleanTipClass() {\r\n var $tip = $(this.getTipElement());\r\n var tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX);\r\n\r\n if (tabClass !== null && tabClass.length) {\r\n $tip.removeClass(tabClass.join(''));\r\n }\r\n };\r\n\r\n _proto._handlePopperPlacementChange = function _handlePopperPlacementChange(popperData) {\r\n var popperInstance = popperData.instance;\r\n this.tip = popperInstance.popper;\r\n\r\n this._cleanTipClass();\r\n\r\n this.addAttachmentClass(this._getAttachment(popperData.placement));\r\n };\r\n\r\n _proto._fixTransition = function _fixTransition() {\r\n var tip = this.getTipElement();\r\n var initConfigAnimation = this.config.animation;\r\n\r\n if (tip.getAttribute('x-placement') !== null) {\r\n return;\r\n }\r\n\r\n $(tip).removeClass(ClassName$6.FADE);\r\n this.config.animation = false;\r\n this.hide();\r\n this.show();\r\n this.config.animation = initConfigAnimation;\r\n } // Static\r\n ;\r\n\r\n Tooltip._jQueryInterface = function _jQueryInterface(config) {\r\n return this.each(function () {\r\n var data = $(this).data(DATA_KEY$6);\r\n\r\n var _config = typeof config === 'object' && config;\r\n\r\n if (!data && /dispose|hide/.test(config)) {\r\n return;\r\n }\r\n\r\n if (!data) {\r\n data = new Tooltip(this, _config);\r\n $(this).data(DATA_KEY$6, data);\r\n }\r\n\r\n if (typeof config === 'string') {\r\n if (typeof data[config] === 'undefined') {\r\n throw new TypeError(\"No method named \\\"\" + config + \"\\\"\");\r\n }\r\n\r\n data[config]();\r\n }\r\n });\r\n };\r\n\r\n _createClass(Tooltip, null, [{\r\n key: \"VERSION\",\r\n get: function get() {\r\n return VERSION$6;\r\n }\r\n }, {\r\n key: \"Default\",\r\n get: function get() {\r\n return Default$4;\r\n }\r\n }, {\r\n key: \"NAME\",\r\n get: function get() {\r\n return NAME$6;\r\n }\r\n }, {\r\n key: \"DATA_KEY\",\r\n get: function get() {\r\n return DATA_KEY$6;\r\n }\r\n }, {\r\n key: \"Event\",\r\n get: function get() {\r\n return Event$6;\r\n }\r\n }, {\r\n key: \"EVENT_KEY\",\r\n get: function get() {\r\n return EVENT_KEY$6;\r\n }\r\n }, {\r\n key: \"DefaultType\",\r\n get: function get() {\r\n return DefaultType$4;\r\n }\r\n }]);\r\n\r\n return Tooltip;\r\n }();\r\n /**\r\n * ------------------------------------------------------------------------\r\n * jQuery\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\n\r\n $.fn[NAME$6] = Tooltip._jQueryInterface;\r\n $.fn[NAME$6].Constructor = Tooltip;\r\n\r\n $.fn[NAME$6].noConflict = function () {\r\n $.fn[NAME$6] = JQUERY_NO_CONFLICT$6;\r\n return Tooltip._jQueryInterface;\r\n };\r\n\r\n /**\r\n * ------------------------------------------------------------------------\r\n * Constants\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\n var NAME$7 = 'popover';\r\n var VERSION$7 = '4.3.1';\r\n var DATA_KEY$7 = 'bs.popover';\r\n var EVENT_KEY$7 = \".\" + DATA_KEY$7;\r\n var JQUERY_NO_CONFLICT$7 = $.fn[NAME$7];\r\n var CLASS_PREFIX$1 = 'bs-popover';\r\n var BSCLS_PREFIX_REGEX$1 = new RegExp(\"(^|\\\\s)\" + CLASS_PREFIX$1 + \"\\\\S+\", 'g');\r\n\r\n var Default$5 = _objectSpread({}, Tooltip.Default, {\r\n placement: 'right',\r\n trigger: 'click',\r\n content: '',\r\n template: '
' + '
' + '

' + '
'\r\n });\r\n\r\n var DefaultType$5 = _objectSpread({}, Tooltip.DefaultType, {\r\n content: '(string|element|function)'\r\n });\r\n\r\n var ClassName$7 = {\r\n FADE: 'fade',\r\n SHOW: 'show'\r\n };\r\n var Selector$7 = {\r\n TITLE: '.popover-header',\r\n CONTENT: '.popover-body'\r\n };\r\n var Event$7 = {\r\n HIDE: \"hide\" + EVENT_KEY$7,\r\n HIDDEN: \"hidden\" + EVENT_KEY$7,\r\n SHOW: \"show\" + EVENT_KEY$7,\r\n SHOWN: \"shown\" + EVENT_KEY$7,\r\n INSERTED: \"inserted\" + EVENT_KEY$7,\r\n CLICK: \"click\" + EVENT_KEY$7,\r\n FOCUSIN: \"focusin\" + EVENT_KEY$7,\r\n FOCUSOUT: \"focusout\" + EVENT_KEY$7,\r\n MOUSEENTER: \"mouseenter\" + EVENT_KEY$7,\r\n MOUSELEAVE: \"mouseleave\" + EVENT_KEY$7\r\n /**\r\n * ------------------------------------------------------------------------\r\n * Class Definition\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\n };\r\n\r\n var Popover =\r\n /*#__PURE__*/\r\n function (_Tooltip) {\r\n _inheritsLoose(Popover, _Tooltip);\r\n\r\n function Popover() {\r\n return _Tooltip.apply(this, arguments) || this;\r\n }\r\n\r\n var _proto = Popover.prototype;\r\n\r\n // Overrides\r\n _proto.isWithContent = function isWithContent() {\r\n return this.getTitle() || this._getContent();\r\n };\r\n\r\n _proto.addAttachmentClass = function addAttachmentClass(attachment) {\r\n $(this.getTipElement()).addClass(CLASS_PREFIX$1 + \"-\" + attachment);\r\n };\r\n\r\n _proto.getTipElement = function getTipElement() {\r\n this.tip = this.tip || $(this.config.template)[0];\r\n return this.tip;\r\n };\r\n\r\n _proto.setContent = function setContent() {\r\n var $tip = $(this.getTipElement()); // We use append for html objects to maintain js events\r\n\r\n this.setElementContent($tip.find(Selector$7.TITLE), this.getTitle());\r\n\r\n var content = this._getContent();\r\n\r\n if (typeof content === 'function') {\r\n content = content.call(this.element);\r\n }\r\n\r\n this.setElementContent($tip.find(Selector$7.CONTENT), content);\r\n $tip.removeClass(ClassName$7.FADE + \" \" + ClassName$7.SHOW);\r\n } // Private\r\n ;\r\n\r\n _proto._getContent = function _getContent() {\r\n return this.element.getAttribute('data-content') || this.config.content;\r\n };\r\n\r\n _proto._cleanTipClass = function _cleanTipClass() {\r\n var $tip = $(this.getTipElement());\r\n var tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX$1);\r\n\r\n if (tabClass !== null && tabClass.length > 0) {\r\n $tip.removeClass(tabClass.join(''));\r\n }\r\n } // Static\r\n ;\r\n\r\n Popover._jQueryInterface = function _jQueryInterface(config) {\r\n return this.each(function () {\r\n var data = $(this).data(DATA_KEY$7);\r\n\r\n var _config = typeof config === 'object' ? config : null;\r\n\r\n if (!data && /dispose|hide/.test(config)) {\r\n return;\r\n }\r\n\r\n if (!data) {\r\n data = new Popover(this, _config);\r\n $(this).data(DATA_KEY$7, data);\r\n }\r\n\r\n if (typeof config === 'string') {\r\n if (typeof data[config] === 'undefined') {\r\n throw new TypeError(\"No method named \\\"\" + config + \"\\\"\");\r\n }\r\n\r\n data[config]();\r\n }\r\n });\r\n };\r\n\r\n _createClass(Popover, null, [{\r\n key: \"VERSION\",\r\n // Getters\r\n get: function get() {\r\n return VERSION$7;\r\n }\r\n }, {\r\n key: \"Default\",\r\n get: function get() {\r\n return Default$5;\r\n }\r\n }, {\r\n key: \"NAME\",\r\n get: function get() {\r\n return NAME$7;\r\n }\r\n }, {\r\n key: \"DATA_KEY\",\r\n get: function get() {\r\n return DATA_KEY$7;\r\n }\r\n }, {\r\n key: \"Event\",\r\n get: function get() {\r\n return Event$7;\r\n }\r\n }, {\r\n key: \"EVENT_KEY\",\r\n get: function get() {\r\n return EVENT_KEY$7;\r\n }\r\n }, {\r\n key: \"DefaultType\",\r\n get: function get() {\r\n return DefaultType$5;\r\n }\r\n }]);\r\n\r\n return Popover;\r\n }(Tooltip);\r\n /**\r\n * ------------------------------------------------------------------------\r\n * jQuery\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\n\r\n $.fn[NAME$7] = Popover._jQueryInterface;\r\n $.fn[NAME$7].Constructor = Popover;\r\n\r\n $.fn[NAME$7].noConflict = function () {\r\n $.fn[NAME$7] = JQUERY_NO_CONFLICT$7;\r\n return Popover._jQueryInterface;\r\n };\r\n\r\n /**\r\n * ------------------------------------------------------------------------\r\n * Constants\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\n var NAME$8 = 'scrollspy';\r\n var VERSION$8 = '4.3.1';\r\n var DATA_KEY$8 = 'bs.scrollspy';\r\n var EVENT_KEY$8 = \".\" + DATA_KEY$8;\r\n var DATA_API_KEY$6 = '.data-api';\r\n var JQUERY_NO_CONFLICT$8 = $.fn[NAME$8];\r\n var Default$6 = {\r\n offset: 10,\r\n method: 'auto',\r\n target: ''\r\n };\r\n var DefaultType$6 = {\r\n offset: 'number',\r\n method: 'string',\r\n target: '(string|element)'\r\n };\r\n var Event$8 = {\r\n ACTIVATE: \"activate\" + EVENT_KEY$8,\r\n SCROLL: \"scroll\" + EVENT_KEY$8,\r\n LOAD_DATA_API: \"load\" + EVENT_KEY$8 + DATA_API_KEY$6\r\n };\r\n var ClassName$8 = {\r\n DROPDOWN_ITEM: 'dropdown-item',\r\n DROPDOWN_MENU: 'dropdown-menu',\r\n ACTIVE: 'active'\r\n };\r\n var Selector$8 = {\r\n DATA_SPY: '[data-spy=\"scroll\"]',\r\n ACTIVE: '.active',\r\n NAV_LIST_GROUP: '.nav, .list-group',\r\n NAV_LINKS: '.nav-link',\r\n NAV_ITEMS: '.nav-item',\r\n LIST_ITEMS: '.list-group-item',\r\n DROPDOWN: '.dropdown',\r\n DROPDOWN_ITEMS: '.dropdown-item',\r\n DROPDOWN_TOGGLE: '.dropdown-toggle'\r\n };\r\n var OffsetMethod = {\r\n OFFSET: 'offset',\r\n POSITION: 'position'\r\n /**\r\n * ------------------------------------------------------------------------\r\n * Class Definition\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\n };\r\n\r\n var ScrollSpy =\r\n /*#__PURE__*/\r\n function () {\r\n function ScrollSpy(element, config) {\r\n var _this = this;\r\n\r\n this._element = element;\r\n this._scrollElement = element.tagName === 'BODY' ? window : element;\r\n this._config = this._getConfig(config);\r\n this._selector = this._config.target + \" \" + Selector$8.NAV_LINKS + \",\" + (this._config.target + \" \" + Selector$8.LIST_ITEMS + \",\") + (this._config.target + \" \" + Selector$8.DROPDOWN_ITEMS);\r\n this._offsets = [];\r\n this._targets = [];\r\n this._activeTarget = null;\r\n this._scrollHeight = 0;\r\n $(this._scrollElement).on(Event$8.SCROLL, function (event) {\r\n return _this._process(event);\r\n });\r\n this.refresh();\r\n\r\n this._process();\r\n } // Getters\r\n\r\n\r\n var _proto = ScrollSpy.prototype;\r\n\r\n // Public\r\n _proto.refresh = function refresh() {\r\n var _this2 = this;\r\n\r\n var autoMethod = this._scrollElement === this._scrollElement.window ? OffsetMethod.OFFSET : OffsetMethod.POSITION;\r\n var offsetMethod = this._config.method === 'auto' ? autoMethod : this._config.method;\r\n var offsetBase = offsetMethod === OffsetMethod.POSITION ? this._getScrollTop() : 0;\r\n this._offsets = [];\r\n this._targets = [];\r\n this._scrollHeight = this._getScrollHeight();\r\n var targets = [].slice.call(document.querySelectorAll(this._selector));\r\n targets.map(function (element) {\r\n var target;\r\n var targetSelector = Util.getSelectorFromElement(element);\r\n\r\n if (targetSelector) {\r\n target = document.querySelector(targetSelector);\r\n }\r\n\r\n if (target) {\r\n var targetBCR = target.getBoundingClientRect();\r\n\r\n if (targetBCR.width || targetBCR.height) {\r\n // TODO (fat): remove sketch reliance on jQuery position/offset\r\n return [$(target)[offsetMethod]().top + offsetBase, targetSelector];\r\n }\r\n }\r\n\r\n return null;\r\n }).filter(function (item) {\r\n return item;\r\n }).sort(function (a, b) {\r\n return a[0] - b[0];\r\n }).forEach(function (item) {\r\n _this2._offsets.push(item[0]);\r\n\r\n _this2._targets.push(item[1]);\r\n });\r\n };\r\n\r\n _proto.dispose = function dispose() {\r\n $.removeData(this._element, DATA_KEY$8);\r\n $(this._scrollElement).off(EVENT_KEY$8);\r\n this._element = null;\r\n this._scrollElement = null;\r\n this._config = null;\r\n this._selector = null;\r\n this._offsets = null;\r\n this._targets = null;\r\n this._activeTarget = null;\r\n this._scrollHeight = null;\r\n } // Private\r\n ;\r\n\r\n _proto._getConfig = function _getConfig(config) {\r\n config = _objectSpread({}, Default$6, typeof config === 'object' && config ? config : {});\r\n\r\n if (typeof config.target !== 'string') {\r\n var id = $(config.target).attr('id');\r\n\r\n if (!id) {\r\n id = Util.getUID(NAME$8);\r\n $(config.target).attr('id', id);\r\n }\r\n\r\n config.target = \"#\" + id;\r\n }\r\n\r\n Util.typeCheckConfig(NAME$8, config, DefaultType$6);\r\n return config;\r\n };\r\n\r\n _proto._getScrollTop = function _getScrollTop() {\r\n return this._scrollElement === window ? this._scrollElement.pageYOffset : this._scrollElement.scrollTop;\r\n };\r\n\r\n _proto._getScrollHeight = function _getScrollHeight() {\r\n return this._scrollElement.scrollHeight || Math.max(document.body.scrollHeight, document.documentElement.scrollHeight);\r\n };\r\n\r\n _proto._getOffsetHeight = function _getOffsetHeight() {\r\n return this._scrollElement === window ? window.innerHeight : this._scrollElement.getBoundingClientRect().height;\r\n };\r\n\r\n _proto._process = function _process() {\r\n var scrollTop = this._getScrollTop() + this._config.offset;\r\n\r\n var scrollHeight = this._getScrollHeight();\r\n\r\n var maxScroll = this._config.offset + scrollHeight - this._getOffsetHeight();\r\n\r\n if (this._scrollHeight !== scrollHeight) {\r\n this.refresh();\r\n }\r\n\r\n if (scrollTop >= maxScroll) {\r\n var target = this._targets[this._targets.length - 1];\r\n\r\n if (this._activeTarget !== target) {\r\n this._activate(target);\r\n }\r\n\r\n return;\r\n }\r\n\r\n if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {\r\n this._activeTarget = null;\r\n\r\n this._clear();\r\n\r\n return;\r\n }\r\n\r\n var offsetLength = this._offsets.length;\r\n\r\n for (var i = offsetLength; i--;) {\r\n var isActiveTarget = this._activeTarget !== this._targets[i] && scrollTop >= this._offsets[i] && (typeof this._offsets[i + 1] === 'undefined' || scrollTop < this._offsets[i + 1]);\r\n\r\n if (isActiveTarget) {\r\n this._activate(this._targets[i]);\r\n }\r\n }\r\n };\r\n\r\n _proto._activate = function _activate(target) {\r\n this._activeTarget = target;\r\n\r\n this._clear();\r\n\r\n var queries = this._selector.split(',').map(function (selector) {\r\n return selector + \"[data-target=\\\"\" + target + \"\\\"],\" + selector + \"[href=\\\"\" + target + \"\\\"]\";\r\n });\r\n\r\n var $link = $([].slice.call(document.querySelectorAll(queries.join(','))));\r\n\r\n if ($link.hasClass(ClassName$8.DROPDOWN_ITEM)) {\r\n $link.closest(Selector$8.DROPDOWN).find(Selector$8.DROPDOWN_TOGGLE).addClass(ClassName$8.ACTIVE);\r\n $link.addClass(ClassName$8.ACTIVE);\r\n } else {\r\n // Set triggered link as active\r\n $link.addClass(ClassName$8.ACTIVE); // Set triggered links parents as active\r\n // With both
    and