{"version":3,"sources":["webpack:///./node_modules/scheduler/cjs/scheduler.production.min.js","webpack:///./node_modules/popper.js/dist/esm/popper.js","webpack:///./node_modules/process/browser.js","webpack:///./resources/js/bootstrap.js","webpack:///./resources/js/archive.js","webpack:///./resources/js/components/PostComponents/Image.jsx","webpack:///./resources/js/components/Dummies/SmallPostDummy.jsx","webpack:///./resources/js/components/Models/SmallPost.jsx","webpack:///./resources/js/libraries/js.cookie.js","webpack:///./resources/js/components/PostComponents/Ad.jsx","webpack:///./resources/js/translation.js","webpack:///./node_modules/object-assign/index.js","webpack:///./resources/js/other.js","webpack:///./resources/js/components/InfiniteScroll.jsx","webpack:///./node_modules/scheduler/index.js","webpack:///./node_modules/bootstrap/dist/js/bootstrap.js","webpack:///./resources/js/menu.js","webpack:///./resources/js/components/Partials/TermFilter.jsx","webpack:///./lang sync ^\\.\\/.*\\.json$","webpack:///./resources/js/components/Pages/ArchivePage.jsx","webpack:///./node_modules/lazysizes/lazysizes.js","webpack:///./node_modules/dompurify/dist/purify.js","webpack:///(webpack)/buildin/global.js"],"names":["f","g","h","k","l","window","MessageChannel","p","q","t","a","exports","unstable_now","b","setTimeout","u","Date","now","clearTimeout","unstable_forceFrameRate","w","performance","x","y","z","console","A","cancelAnimationFrame","requestAnimationFrame","error","B","C","D","E","F","G","Math","floor","H","I","port2","port1","onmessage","postMessage","J","c","length","push","d","e","K","L","M","pop","m","n","v","r","sortIndex","id","N","O","P","Q","R","S","T","U","V","callback","startTime","expirationTime","W","X","priorityLevel","Y","Z","unstable_IdlePriority","unstable_ImmediatePriority","unstable_LowPriority","unstable_NormalPriority","unstable_Profiling","unstable_UserBlockingPriority","unstable_cancelCallback","unstable_continueExecution","unstable_getCurrentPriorityLevel","unstable_getFirstCallbackNode","unstable_next","unstable_pauseExecution","unstable_requestPaint","unstable_runWithPriority","unstable_scheduleCallback","delay","timeout","unstable_shouldYield","unstable_wrapCallback","apply","this","arguments","isBrowser","document","navigator","timeoutDuration","longerTimeoutBrowsers","i","userAgent","indexOf","debounce","Promise","fn","called","resolve","then","scheduled","isFunction","functionToCheck","toString","call","getStyleComputedProperty","element","property","nodeType","css","ownerDocument","defaultView","getComputedStyle","getParentNode","nodeName","parentNode","host","getScrollParent","body","_getStyleComputedProp","overflow","overflowX","overflowY","test","getReferenceNode","reference","referenceNode","isIE11","MSInputMethodContext","documentMode","isIE10","isIE","version","getOffsetParent","documentElement","noOffsetParent","offsetParent","nextElementSibling","getRoot","node","findCommonOffsetParent","element1","element2","order","compareDocumentPosition","Node","DOCUMENT_POSITION_FOLLOWING","start","end","range","createRange","setStart","setEnd","commonAncestorContainer","contains","firstElementChild","element1root","getScroll","side","undefined","upperSide","html","scrollingElement","includeScroll","rect","subtract","scrollTop","scrollLeft","modifier","top","bottom","left","right","getBordersSize","styles","axis","sideA","sideB","parseFloat","getSize","computedStyle","max","parseInt","getWindowSizes","height","width","classCallCheck","instance","Constructor","TypeError","createClass","defineProperties","target","props","descriptor","enumerable","configurable","writable","Object","defineProperty","key","protoProps","staticProps","prototype","obj","value","_extends","assign","source","hasOwnProperty","getClientRect","offsets","getBoundingClientRect","result","sizes","clientWidth","clientHeight","horizScrollbar","offsetWidth","vertScrollbar","offsetHeight","getOffsetRectRelativeToArbitraryNode","children","parent","fixedPosition","isHTML","childrenRect","parentRect","scrollParent","borderTopWidth","borderLeftWidth","marginTop","marginLeft","getViewportOffsetRectRelativeToArtbitraryNode","excludeScroll","relativeOffset","innerWidth","innerHeight","offset","isFixed","getFixedPositionOffsetParent","parentElement","el","getBoundaries","popper","padding","boundariesElement","boundaries","boundariesNode","_getWindowSizes","isPaddingNumber","getArea","_ref","computeAutoPlacement","placement","refRect","rects","sortedAreas","keys","map","area","sort","filteredAreas","filter","_ref2","computedPlacement","variation","split","getReferenceOffsets","state","commonOffsetParent","getOuterSizes","marginBottom","marginRight","getOppositePlacement","hash","replace","matched","getPopperOffsets","referenceOffsets","popperRect","popperOffsets","isHoriz","mainSide","secondarySide","measurement","secondaryMeasurement","find","arr","check","Array","runModifiers","modifiers","data","ends","slice","prop","findIndex","cur","match","forEach","warn","enabled","update","isDestroyed","arrowStyles","attributes","flipped","options","positionFixed","flip","originalPlacement","position","isCreated","onUpdate","onCreate","isModifierEnabled","modifierName","some","name","getSupportedPropertyName","prefixes","upperProp","charAt","toUpperCase","prefix","toCheck","style","destroy","removeAttribute","willChange","disableEventListeners","removeOnDestroy","removeChild","getWindow","setupEventListeners","updateBound","addEventListener","passive","scrollElement","attachToScrollParents","event","scrollParents","isBody","eventsEnabled","enableEventListeners","scheduleUpdate","removeEventListener","isNumeric","isNaN","isFinite","setStyles","unit","isFirefox","isModifierRequired","requestingName","requestedName","requesting","isRequired","_requesting","requested","placements","validPlacements","clockwise","counter","index","concat","reverse","BEHAVIORS","parseOffset","basePlacement","useHeight","fragments","frag","trim","divider","search","splitRegex","ops","op","mergeWithPrevious","reduce","str","toValue","index2","Defaults","shift","shiftvariation","_data$offsets","isVertical","shiftOffsets","preventOverflow","transformProp","popperStyles","transform","priority","primary","escapeWithReference","secondary","min","keepTogether","opSide","arrow","_data$offsets$arrow","arrowElement","querySelector","len","sideCapitalized","toLowerCase","altSide","arrowElementSize","center","popperMarginSide","popperBorderSide","sideValue","round","placementOpposite","flipOrder","behavior","step","refOffsets","overlapsRef","overflowsLeft","overflowsRight","overflowsTop","overflowsBottom","overflowsBoundaries","flippedVariationByRef","flipVariations","flippedVariationByContent","flipVariationsByContent","flippedVariation","getOppositeVariation","inner","subtractLength","hide","bound","computeStyle","legacyGpuAccelerationOption","gpuAcceleration","offsetParentRect","shouldRound","noRound","referenceWidth","popperWidth","isVariation","horizontalToInteger","verticalToInteger","getRoundedOffsets","devicePixelRatio","prefixedProperty","invertTop","invertLeft","applyStyle","setAttribute","onLoad","modifierOptions","Popper","_this","bind","jquery","Utils","global","PopperUtils","cachedSetTimeout","cachedClearTimeout","process","module","defaultSetTimout","Error","defaultClearTimeout","runTimeout","fun","currentQueue","queue","draining","queueIndex","cleanUpNextTick","drainQueue","run","marker","runClearTimeout","Item","array","noop","nextTick","args","title","browser","env","argv","versions","on","addListener","once","off","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","listeners","binding","cwd","chdir","dir","umask","require","$","jQuery","axios","defaults","headers","common","withCredentials","CancelToken","axiosSource","forms","getElementsByTagName","cancel","Image","_inherits","focalX","focalY","focalZ","small","media","normal","formats","_createClass","setState","_this2","image","RegExp","imgixUrl","stateData","paddingBottom","React","className","backgroundImage","data-pin-nopin","src","alt","imageUrl","URL","searchParams","set","imageMain","imageLazy","Fragment","sizeName","format","src1x","src2x","type","data-srcset","data-src","Component","SmallPostDummy","columnSize","SmallPost","post","rowCount","postsBeforeAd","shortContent","DOMPurify","sanitize","excerpt","featured_image","href","url","categories","date_text","dangerouslySetInnerHTML","__html","infinityIndex","Ad","nbr","fitAdsToContent","timestamp","Cookie","factory","registeredInModuleLoader","define","OldCookies","Cookies","api","noConflict","extend","init","converter","path","expires","setMilliseconds","getMilliseconds","toUTCString","JSON","stringify","write","encodeURIComponent","String","decodeURIComponent","escape","stringifiedAttributes","attributeName","cookie","cookies","rdecode","parts","join","json","read","parse","get","getJSON","remove","withConverter","adSlots","count","ad-placement","data-aduniqueid","transReplaces","text","replaces","trans","locale","getAttribute","translation","translations","trans_choice","_translation$split2","single","plural","getOwnPropertySymbols","propIsEnumerable","propertyIsEnumerable","toObject","val","test1","getOwnPropertyNames","test2","fromCharCode","test3","letter","err","shouldUseNative","from","symbols","to","s","viewSize","envs","createElement","appendChild","curEnv","classList","add","display","InfiniteScroll","childType","Children","only","lastIndex","page","pageId","initialPage","total","perpage","perPage","progress","completed","skeleton","date","stateObjs","metaObjs","domain","location","pathname","categorySlug","tagSlug","childrenDivided","tags","orderDirection","year","month","hideAds","cursor","topAdDiv","usedTimestamps","keyToTimestamp","infiniteScroll","handleScroll","onOrderingChange","returner","urlStructure","current_page","isArray","history","pushState","current_url","metaData","aller_ga","cts","metadata","publishedTime","postDate","author","postAuthor","loggedIn","contentType","pageType","pagetype","doUpdateMetaData","metaElement","headElement","content","updateBrowserHistory","updateMetaData","DFPInit","adsUniqueId","hideAdsEnabled","_ana_hide_ads","hideDuration","_ana_hide_ads_duration_active","hideUntil","_ana_hide_ads_duration","hasNewTimestamp","initiateAd","instgrm","Embeds","getInitialState","response","status","log","endpoint","getEndpoint","values","newChildCollection","last_page","getSeoDataArray","prevState","meta_data","shouldHideAds","random","scrollHeight","ordering","preview","contentWrapper","ReactDOM","findDOMNode","scrollY","each","_this3","up","down","reset","pageOverride","orderDirectionOverride","previousChildCollection","direction","_this4","generateUrl","initAds","childElement","childElements","masterindex","child","_this5","cloneElement","skeletonElements","isValidElement","constructChildren","showFilter","showLink","homeUrl","protocol","TermFilter","topCategories","_interopDefaultLegacy","$__default","Popper__default","_defineProperties","transitionEndEmulator","duration","one","Util","TRANSITION_END","triggerTransitionEnd","getUID","getElementById","getSelectorFromElement","selector","hrefAttr","_","getTransitionDurationFromElement","transitionDuration","transitionDelay","floatTransitionDuration","floatTransitionDelay","reflow","trigger","supportsTransitionEnd","Boolean","isElement","typeCheckConfig","componentName","config","configTypes","expectedTypes","valueType","findShadowRoot","attachShadow","getRootNode","root","ShadowRoot","jQueryDetection","emulateTransitionEnd","special","bindType","delegateType","handle","is","handleObj","handler","NAME","JQUERY_NO_CONFLICT","Alert","_element","_proto","close","rootElement","_getRootElement","_triggerCloseEvent","isDefaultPrevented","_removeElement","dispose","removeData","closest","closeEvent","Event","removeClass","hasClass","_destroyElement","detach","_jQueryInterface","$element","_handleDismiss","alertInstance","preventDefault","JQUERY_NO_CONFLICT$1","Button","shouldAvoidTriggerChange","toggle","triggerChangeEvent","addAriaPressed","input","checked","activeElement","focus","hasAttribute","toggleClass","avoidTriggerChange","button","initialButton","inputBtn","tagName","buttons","querySelectorAll","_i","_len","_button","NAME$2","EVENT_KEY$2","JQUERY_NO_CONFLICT$2","Default","interval","keyboard","slide","pause","wrap","touch","DefaultType","PointerType","TOUCH","PEN","Carousel","_items","_interval","_activeElement","_isPaused","_isSliding","touchTimeout","touchStartX","touchDeltaX","_config","_getConfig","_indicatorsElement","_touchSupported","maxTouchPoints","_pointerEvent","PointerEvent","MSPointerEvent","_addEventListeners","next","_slide","nextWhenVisible","hidden","prev","cycle","clearInterval","_updateInterval","setInterval","visibilityState","activeIndex","_getItemIndex","_handleSwipe","absDeltax","abs","_keydown","_addTouchEventListeners","originalEvent","pointerType","clientX","touches","move","which","_getItemByDirection","isNextDirection","isPrevDirection","lastItemIndex","itemIndex","_triggerSlideEvent","relatedTarget","eventDirectionName","targetIndex","fromIndex","slideEvent","_setActiveIndicatorElement","indicators","nextIndicator","addClass","elementInterval","defaultInterval","directionalClassName","orderClassName","activeElementIndex","nextElement","nextElementIndex","isCycling","slidEvent","CLASS_NAME_ACTIVE$1","action","ride","_dataApiClickHandler","slideIndex","carousels","$carousel","NAME$3","JQUERY_NO_CONFLICT$3","Default$1","DefaultType$1","Collapse","_isTransitioning","_triggerArray","toggleList","elem","filterElement","foundElem","_selector","_parent","_getParent","_addAriaAndCollapsedClass","show","actives","activesData","not","startEvent","dimension","_getDimension","attr","setTransitioning","scrollSize","CLASS_NAME_COLLAPSE","triggerArrayLength","isTransitioning","_getTargetFromElement","triggerArray","isOpen","currentTarget","$trigger","selectors","$target","NAME$4","JQUERY_NO_CONFLICT$4","REGEXP_KEYDOWN","ARROW_UP_KEYCODE","Default$2","boundary","popperConfig","DefaultType$2","Dropdown","_popper","_menu","_getMenuElement","_inNavbar","_detectNavbar","disabled","isActive","_clearMenus","usePopper","showEvent","_getParentFromElement","referenceElement","_getPopperConfig","hideEvent","stopPropagation","constructor","_getPlacement","$parentDropdown","_getOffset","toggles","context","clickEvent","dropdownMenu","_dataApiKeydownHandler","items","item","EVENT_CLICK_DATA_API$4","JQUERY_NO_CONFLICT$5","Default$3","backdrop","DefaultType$3","Modal","_dialog","_backdrop","_isShown","_isBodyOverflowing","_ignoreBackdropClick","_scrollbarWidth","_checkScrollbar","_setScrollbar","_adjustDialog","_setEscapeEvent","_setResizeEvent","_showBackdrop","_showElement","transition","_hideModal","htmlElement","handleUpdate","_triggerBackdropTransition","hideEventPrevented","isModalOverflowing","modalTransitionDuration","modalBody","ELEMENT_NODE","_enforceFocus","shownEvent","transitionComplete","has","_this6","_this7","_this8","_resetAdjustments","_resetScrollbar","_removeBackdrop","_this9","animate","appendTo","backdropTransitionDuration","callbackRemove","_backdropTransitionDuration","paddingLeft","paddingRight","_getScrollbarWidth","_this10","fixedContent","stickyContent","actualPadding","calculatedPadding","actualMargin","calculatedMargin","elements","margin","scrollDiv","scrollbarWidth","_this11","uriAttrs","DefaultWhitelist","br","col","code","div","em","hr","h1","h2","h3","h4","h5","h6","img","li","ol","pre","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","allowedAttribute","innerHTML","NAME$6","JQUERY_NO_CONFLICT$6","BSCLS_PREFIX_REGEX","DISALLOWED_ATTRIBUTES","DefaultType$4","animation","template","container","fallbackPlacement","customClass","AttachmentMap","AUTO","TOP","RIGHT","BOTTOM","LEFT","Default$4","HIDE","HIDDEN","SHOW","SHOWN","INSERTED","CLICK","FOCUSIN","FOCUSOUT","MOUSEENTER","MOUSELEAVE","Tooltip","_isEnabled","_timeout","_hoverState","_activeTrigger","tip","_setListeners","enable","disable","toggleEnabled","dataKey","DATA_KEY","_getDelegateConfig","click","_isWithActiveTrigger","_enter","_leave","getTipElement","EVENT_KEY","_hideModalHandler","isWithContent","shadowRoot","isInTheDom","tipId","setContent","attachment","_getAttachment","addAttachmentClass","_getContainer","complete","_fixTransition","prevHoverState","_cleanTipClass","getTitle","CLASS_PREFIX","setElementContent","CLASS_NAME_FADE$2","empty","append","_handlePopperPlacementChange","eventIn","eventOut","_fixTitle","titleType","dataAttributes","dataAttr","$tip","tabClass","popperData","initConfigAnimation","NAME$7","JQUERY_NO_CONFLICT$7","BSCLS_PREFIX_REGEX$1","Default$5","DefaultType$5","Event$1","Popover","_Tooltip","subClass","superClass","create","__proto__","_getContent","CLASS_PREFIX$1","CLASS_NAME_FADE$3","NAME$8","JQUERY_NO_CONFLICT$8","Default$6","method","DefaultType$6","ScrollSpy","_scrollElement","_offsets","_targets","_activeTarget","_scrollHeight","_process","refresh","autoMethod","offsetMethod","offsetBase","_getScrollTop","_getScrollHeight","targetSelector","targetBCR","pageYOffset","_getOffsetHeight","maxScroll","_activate","_clear","queries","$link","parents","SELECTOR_NAV_LINKS","scrollSpys","$spy","JQUERY_NO_CONFLICT$9","Tab","previous","listElement","itemSelector","makeArray","hiddenEvent","active","_transitionComplete","dropdownChild","dropdownElement","dropdownToggleList","$this","JQUERY_NO_CONFLICT$a","DefaultType$7","autohide","Default$7","Toast","_clearTimeout","_close","Scrollspy","lastScroll","searchForm","toggleSubMenu","overlay","burgerIcon","doc","windowpos","open","currentScroll","menu","toggleElement","childMenu","getElementsByClassName","showAll","filterOpen","onTermChange","onShowToggle","onMenuToggle","onFilterMenuToggle","categoryIsVisible","cat","slug","archiveIndex","archive","filterTermText","currentCategory","onChange","onClick","1","2","3","4","5","6","7","8","9","10","11","12","months","childindex","number","webpackContext","req","webpackContextResolve","__webpack_require__","o","ArchivePage","seoDataArray","archivePageElement","render","dataset","pageid","lazySizes","lazysizes","lazySizesCfg","lazySizesDefaults","lazyClass","loadedClass","loadingClass","preloadClass","errorClass","autosizesClass","fastLoadedClass","iframeLoadMode","srcAttr","srcsetAttr","sizesAttr","minSize","customMedia","expFactor","hFac","loadMode","loadHidden","ricTimeout","throttleDelay","lazySizesConfig","lazysizesConfig","cfg","noSupport","docElem","supportPicture","HTMLPictureElement","requestIdleCallback","regPicture","loadEvents","regClassCache","ele","cls","reg","addRemoveLoadEvents","dom","evt","triggerEvent","detail","noBubbles","noCancelable","createEvent","initEvent","dispatchEvent","updatePolyfill","full","polyfill","picturefill","pf","reevaluate","getCSS","getWidth","_lazysizesWidth","rAF","firstFns","secondFns","fns","runFns","running","waiting","rafBatch","_lsFlush","rAFIt","simple","that","func","later","last","loader","regImg","regIframe","supportScroll","currentExpand","isLoading","lowRuns","resetPreloading","isVisible","isBodyHidden","isNestedVisible","elemExpand","outerRect","visible","eLtop","eLbottom","eLleft","eLright","checkElements","eLlen","autoLoadElem","loadedSomething","elemNegativeExpand","elemExpandVal","beforeExpandVal","defaultExpand","preloadExpand","lazyloadElems","_lazyRace","prematureUnveil","unveilElement","expand","_defEx","eLvW","elvH","isCompleted","preloadElems","preloadAfterLoad","throttledCheckElements","lastTime","gDelay","rICTimeout","idleCallback","isPriority","throttle","switchLoadingClass","_lazyCache","rafSwitchLoadingClass","rafedSwitchLoadingClass","handleSources","sourceSrcset","lazyUnveil","isAuto","isImg","srcset","isPicture","firesLoad","defaultPrevented","resetPreloadingTimer","contentWindow","changeIframeSrc","isLoaded","naturalWidth","loading","autoSizer","updateElem","afterScroll","altLoadmodeScrollListner","onload","started","persisted","loadingElements","MutationObserver","observe","childList","subtree","readyState","checkElems","unveil","_aLSL","sizeElement","sources","getSizeElement","debouncedUpdateElementsSizes","autosizesElems","uP","aC","rC","hC","fire","gW","setPrototypeOf","isFrozen","getPrototypeOf","getOwnPropertyDescriptor","freeze","seal","Reflect","construct","thisValue","Func","Function","arr2","_toConsumableArray","arrayForEach","unapply","arrayPop","arrayPush","stringToLowerCase","stringMatch","stringReplace","stringIndexOf","stringTrim","regExpTest","typeErrorCreate","_len2","_key2","thisArg","_key","addToSet","lcElement","clone","object","newObject","lookupGetter","desc","svg","svgFilters","svgDisallowed","mathMl","mathMlDisallowed","html$1","svg$1","mathMl$1","xml","MUSTACHE_EXPR","ERB_EXPR","DATA_ATTR","ARIA_ATTR","IS_ALLOWED_URI","IS_SCRIPT_OR_DATA","ATTR_WHITESPACE","_typeof","Symbol","iterator","_toConsumableArray$1","getGlobal","_createTrustedTypesPolicy","trustedTypes","createPolicy","suffix","currentScript","policyName","createHTML","html$$1","createDOMPurify","removed","isSupported","originalDocument","DocumentFragment","HTMLTemplateElement","Element","NodeFilter","_window$NamedNodeMap","NamedNodeMap","MozNamedAttrMap","HTMLFormElement","ElementPrototype","cloneNode","getNextSibling","getChildNodes","trustedTypesPolicy","emptyHTML","RETURN_TRUSTED_TYPE","_document","implementation","createNodeIterator","createDocumentFragment","importNode","hooks","createHTMLDocument","MUSTACHE_EXPR$$1","ERB_EXPR$$1","DATA_ATTR$$1","ARIA_ATTR$$1","IS_SCRIPT_OR_DATA$$1","ATTR_WHITESPACE$$1","IS_ALLOWED_URI$$1","ALLOWED_TAGS","DEFAULT_ALLOWED_TAGS","ALLOWED_ATTR","DEFAULT_ALLOWED_ATTR","CUSTOM_ELEMENT_HANDLING","tagNameCheck","attributeNameCheck","allowCustomizedBuiltInElements","FORBID_TAGS","FORBID_ATTR","ALLOW_ARIA_ATTR","ALLOW_DATA_ATTR","ALLOW_UNKNOWN_PROTOCOLS","SAFE_FOR_TEMPLATES","WHOLE_DOCUMENT","SET_CONFIG","FORCE_BODY","RETURN_DOM","RETURN_DOM_FRAGMENT","SANITIZE_DOM","KEEP_CONTENT","IN_PLACE","USE_PROFILES","FORBID_CONTENTS","DEFAULT_FORBID_CONTENTS","DATA_URI_TAGS","DEFAULT_DATA_URI_TAGS","URI_SAFE_ATTRIBUTES","DEFAULT_URI_SAFE_ATTRIBUTES","MATHML_NAMESPACE","SVG_NAMESPACE","HTML_NAMESPACE","NAMESPACE","IS_EMPTY_INPUT","PARSER_MEDIA_TYPE","SUPPORTED_PARSER_MEDIA_TYPES","DEFAULT_PARSER_MEDIA_TYPE","transformCaseFunc","CONFIG","formElement","isRegexOrFunction","testValue","_parseConfig","ADD_URI_SAFE_ATTR","ADD_DATA_URI_TAGS","ALLOWED_URI_REGEXP","ADD_TAGS","ADD_ATTR","table","tbody","MATHML_TEXT_INTEGRATION_POINTS","HTML_INTEGRATION_POINTS","ALL_SVG_TAGS","ALL_MATHML_TAGS","_checkValidNamespace","namespaceURI","parentTagName","commonSvgAndHTMLElements","_forceRemove","outerHTML","_removeAttribute","attribute","getAttributeNode","_initDocument","dirty","leadingWhitespace","matches","dirtyPayload","createDocument","insertBefore","createTextNode","childNodes","_createIterator","SHOW_ELEMENT","SHOW_COMMENT","SHOW_TEXT","_isClobbered","elm","textContent","_isNode","_executeHook","entryPoint","currentNode","hook","_sanitizeElements","allowedTags","_basicCustomElementTest","_isValidAttribute","lcTag","lcName","_sanitizeAttributes","hookEvent","attrValue","keepAttr","allowedAttributes","_attr","forceKeepAttr","setAttributeNS","_sanitizeShadowDOM","fragment","shadowNode","shadowIterator","nextNode","importedNode","oldNode","returnNode","toStaticHTML","firstChild","nodeIterator","shadowroot","serializedHTML","setConfig","clearConfig","isValidAttribute","tag","addHook","hookFunction","removeHook","removeHooks","removeAllHooks"],"mappings":"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","file":"/js/archive.js","sourcesContent":["/** @license React v0.19.1\n * scheduler.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var f,g,h,k,l;\nif(\"undefined\"===typeof window||\"function\"!==typeof MessageChannel){var p=null,q=null,t=function(){if(null!==p)try{var a=exports.unstable_now();p(!0,a);p=null}catch(b){throw setTimeout(t,0),b;}},u=Date.now();exports.unstable_now=function(){return Date.now()-u};f=function(a){null!==p?setTimeout(f,0,a):(p=a,setTimeout(t,0))};g=function(a,b){q=setTimeout(a,b)};h=function(){clearTimeout(q)};k=function(){return!1};l=exports.unstable_forceFrameRate=function(){}}else{var w=window.performance,x=window.Date,\ny=window.setTimeout,z=window.clearTimeout;if(\"undefined\"!==typeof console){var A=window.cancelAnimationFrame;\"function\"!==typeof window.requestAnimationFrame&&console.error(\"This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills\");\"function\"!==typeof A&&console.error(\"This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills\")}if(\"object\"===\ntypeof w&&\"function\"===typeof w.now)exports.unstable_now=function(){return w.now()};else{var B=x.now();exports.unstable_now=function(){return x.now()-B}}var C=!1,D=null,E=-1,F=5,G=0;k=function(){return exports.unstable_now()>=G};l=function(){};exports.unstable_forceFrameRate=function(a){0>a||125>>1,e=a[d];if(void 0!==e&&0K(n,c))void 0!==r&&0>K(r,n)?(a[d]=r,a[v]=c,d=v):(a[d]=n,a[m]=c,d=m);else if(void 0!==r&&0>K(r,c))a[d]=r,a[v]=c,d=v;else break a}}return b}return null}function K(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}var N=[],O=[],P=1,Q=null,R=3,S=!1,T=!1,U=!1;\nfunction V(a){for(var b=L(O);null!==b;){if(null===b.callback)M(O);else if(b.startTime<=a)M(O),b.sortIndex=b.expirationTime,J(N,b);else break;b=L(O)}}function W(a){U=!1;V(a);if(!T)if(null!==L(N))T=!0,f(X);else{var b=L(O);null!==b&&g(W,b.startTime-a)}}\nfunction X(a,b){T=!1;U&&(U=!1,h());S=!0;var c=R;try{V(b);for(Q=L(N);null!==Q&&(!(Q.expirationTime>b)||a&&!k());){var d=Q.callback;if(null!==d){Q.callback=null;R=Q.priorityLevel;var e=d(Q.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?Q.callback=e:Q===L(N)&&M(N);V(b)}else M(N);Q=L(N)}if(null!==Q)var m=!0;else{var n=L(O);null!==n&&g(W,n.startTime-b);m=!1}return m}finally{Q=null,R=c,S=!1}}\nfunction Y(a){switch(a){case 1:return-1;case 2:return 250;case 5:return 1073741823;case 4:return 1E4;default:return 5E3}}var Z=l;exports.unstable_IdlePriority=5;exports.unstable_ImmediatePriority=1;exports.unstable_LowPriority=4;exports.unstable_NormalPriority=3;exports.unstable_Profiling=null;exports.unstable_UserBlockingPriority=2;exports.unstable_cancelCallback=function(a){a.callback=null};exports.unstable_continueExecution=function(){T||S||(T=!0,f(X))};\nexports.unstable_getCurrentPriorityLevel=function(){return R};exports.unstable_getFirstCallbackNode=function(){return L(N)};exports.unstable_next=function(a){switch(R){case 1:case 2:case 3:var b=3;break;default:b=R}var c=R;R=b;try{return a()}finally{R=c}};exports.unstable_pauseExecution=function(){};exports.unstable_requestPaint=Z;exports.unstable_runWithPriority=function(a,b){switch(a){case 1:case 2:case 3:case 4:case 5:break;default:a=3}var c=R;R=a;try{return b()}finally{R=c}};\nexports.unstable_scheduleCallback=function(a,b,c){var d=exports.unstable_now();if(\"object\"===typeof c&&null!==c){var e=c.delay;e=\"number\"===typeof e&&0d?(a.sortIndex=e,J(O,a),null===L(N)&&a===L(O)&&(U?h():U=!0,g(W,e-d))):(a.sortIndex=c,J(N,a),T||S||(T=!0,f(X)));return a};\nexports.unstable_shouldYield=function(){var a=exports.unstable_now();V(a);var b=L(N);return b!==Q&&null!==Q&&null!==b&&null!==b.callback&&b.startTime<=a&&b.expirationTime= 0) {\n return 1;\n }\n }\n return 0;\n}();\n\nfunction microtaskDebounce(fn) {\n var called = false;\n return function () {\n if (called) {\n return;\n }\n called = true;\n window.Promise.resolve().then(function () {\n called = false;\n fn();\n });\n };\n}\n\nfunction taskDebounce(fn) {\n var scheduled = false;\n return function () {\n if (!scheduled) {\n scheduled = true;\n setTimeout(function () {\n scheduled = false;\n fn();\n }, timeoutDuration);\n }\n };\n}\n\nvar supportsMicroTasks = isBrowser && window.Promise;\n\n/**\n* Create a debounced version of a method, that's asynchronously deferred\n* but called in the minimum time possible.\n*\n* @method\n* @memberof Popper.Utils\n* @argument {Function} fn\n* @returns {Function}\n*/\nvar debounce = supportsMicroTasks ? microtaskDebounce : taskDebounce;\n\n/**\n * Check if the given variable is a function\n * @method\n * @memberof Popper.Utils\n * @argument {Any} functionToCheck - variable to check\n * @returns {Boolean} answer to: is a function?\n */\nfunction isFunction(functionToCheck) {\n var getType = {};\n return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]';\n}\n\n/**\n * Get CSS computed property of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Eement} element\n * @argument {String} property\n */\nfunction getStyleComputedProperty(element, property) {\n if (element.nodeType !== 1) {\n return [];\n }\n // NOTE: 1 DOM access here\n var window = element.ownerDocument.defaultView;\n var css = window.getComputedStyle(element, null);\n return property ? css[property] : css;\n}\n\n/**\n * Returns the parentNode or the host of the element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} parent\n */\nfunction getParentNode(element) {\n if (element.nodeName === 'HTML') {\n return element;\n }\n return element.parentNode || element.host;\n}\n\n/**\n * Returns the scrolling parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} scroll parent\n */\nfunction getScrollParent(element) {\n // Return body, `getScroll` will take care to get the correct `scrollTop` from it\n if (!element) {\n return document.body;\n }\n\n switch (element.nodeName) {\n case 'HTML':\n case 'BODY':\n return element.ownerDocument.body;\n case '#document':\n return element.body;\n }\n\n // Firefox want us to check `-x` and `-y` variations as well\n\n var _getStyleComputedProp = getStyleComputedProperty(element),\n overflow = _getStyleComputedProp.overflow,\n overflowX = _getStyleComputedProp.overflowX,\n overflowY = _getStyleComputedProp.overflowY;\n\n if (/(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)) {\n return element;\n }\n\n return getScrollParent(getParentNode(element));\n}\n\n/**\n * Returns the reference node of the reference object, or the reference object itself.\n * @method\n * @memberof Popper.Utils\n * @param {Element|Object} reference - the reference element (the popper will be relative to this)\n * @returns {Element} parent\n */\nfunction getReferenceNode(reference) {\n return reference && reference.referenceNode ? reference.referenceNode : reference;\n}\n\nvar isIE11 = isBrowser && !!(window.MSInputMethodContext && document.documentMode);\nvar isIE10 = isBrowser && /MSIE 10/.test(navigator.userAgent);\n\n/**\n * Determines if the browser is Internet Explorer\n * @method\n * @memberof Popper.Utils\n * @param {Number} version to check\n * @returns {Boolean} isIE\n */\nfunction isIE(version) {\n if (version === 11) {\n return isIE11;\n }\n if (version === 10) {\n return isIE10;\n }\n return isIE11 || isIE10;\n}\n\n/**\n * Returns the offset parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} offset parent\n */\nfunction getOffsetParent(element) {\n if (!element) {\n return document.documentElement;\n }\n\n var noOffsetParent = isIE(10) ? document.body : null;\n\n // NOTE: 1 DOM access here\n var offsetParent = element.offsetParent || null;\n // Skip hidden elements which don't have an offsetParent\n while (offsetParent === noOffsetParent && element.nextElementSibling) {\n offsetParent = (element = element.nextElementSibling).offsetParent;\n }\n\n var nodeName = offsetParent && offsetParent.nodeName;\n\n if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {\n return element ? element.ownerDocument.documentElement : document.documentElement;\n }\n\n // .offsetParent will return the closest TH, TD or TABLE in case\n // no offsetParent is present, I hate this job...\n if (['TH', 'TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 && getStyleComputedProperty(offsetParent, 'position') === 'static') {\n return getOffsetParent(offsetParent);\n }\n\n return offsetParent;\n}\n\nfunction isOffsetContainer(element) {\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY') {\n return false;\n }\n return nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element;\n}\n\n/**\n * Finds the root node (document, shadowDOM root) of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} node\n * @returns {Element} root node\n */\nfunction getRoot(node) {\n if (node.parentNode !== null) {\n return getRoot(node.parentNode);\n }\n\n return node;\n}\n\n/**\n * Finds the offset parent common to the two provided nodes\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element1\n * @argument {Element} element2\n * @returns {Element} common offset parent\n */\nfunction findCommonOffsetParent(element1, element2) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {\n return document.documentElement;\n }\n\n // Here we make sure to give as \"start\" the element that comes first in the DOM\n var order = element1.compareDocumentPosition(element2) & Node.DOCUMENT_POSITION_FOLLOWING;\n var start = order ? element1 : element2;\n var end = order ? element2 : element1;\n\n // Get common ancestor container\n var range = document.createRange();\n range.setStart(start, 0);\n range.setEnd(end, 0);\n var commonAncestorContainer = range.commonAncestorContainer;\n\n // Both nodes are inside #document\n\n if (element1 !== commonAncestorContainer && element2 !== commonAncestorContainer || start.contains(end)) {\n if (isOffsetContainer(commonAncestorContainer)) {\n return commonAncestorContainer;\n }\n\n return getOffsetParent(commonAncestorContainer);\n }\n\n // one of the nodes is inside shadowDOM, find which one\n var element1root = getRoot(element1);\n if (element1root.host) {\n return findCommonOffsetParent(element1root.host, element2);\n } else {\n return findCommonOffsetParent(element1, getRoot(element2).host);\n }\n}\n\n/**\n * Gets the scroll value of the given element in the given side (top and left)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {String} side `top` or `left`\n * @returns {number} amount of scrolled pixels\n */\nfunction getScroll(element) {\n var side = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'top';\n\n var upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n var html = element.ownerDocument.documentElement;\n var scrollingElement = element.ownerDocument.scrollingElement || html;\n return scrollingElement[upperSide];\n }\n\n return element[upperSide];\n}\n\n/*\n * Sum or subtract the element scroll values (left and top) from a given rect object\n * @method\n * @memberof Popper.Utils\n * @param {Object} rect - Rect object you want to change\n * @param {HTMLElement} element - The element from the function reads the scroll values\n * @param {Boolean} subtract - set to true if you want to subtract the scroll values\n * @return {Object} rect - The modifier rect object\n */\nfunction includeScroll(rect, element) {\n var subtract = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n var modifier = subtract ? -1 : 1;\n rect.top += scrollTop * modifier;\n rect.bottom += scrollTop * modifier;\n rect.left += scrollLeft * modifier;\n rect.right += scrollLeft * modifier;\n return rect;\n}\n\n/*\n * Helper to detect borders of a given element\n * @method\n * @memberof Popper.Utils\n * @param {CSSStyleDeclaration} styles\n * Result of `getStyleComputedProperty` on the given element\n * @param {String} axis - `x` or `y`\n * @return {number} borders - The borders size of the given axis\n */\n\nfunction getBordersSize(styles, axis) {\n var sideA = axis === 'x' ? 'Left' : 'Top';\n var sideB = sideA === 'Left' ? 'Right' : 'Bottom';\n\n return parseFloat(styles['border' + sideA + 'Width']) + parseFloat(styles['border' + sideB + 'Width']);\n}\n\nfunction getSize(axis, body, html, computedStyle) {\n return Math.max(body['offset' + axis], body['scroll' + axis], html['client' + axis], html['offset' + axis], html['scroll' + axis], isIE(10) ? parseInt(html['offset' + axis]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Top' : 'Left')]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Bottom' : 'Right')]) : 0);\n}\n\nfunction getWindowSizes(document) {\n var body = document.body;\n var html = document.documentElement;\n var computedStyle = isIE(10) && getComputedStyle(html);\n\n return {\n height: getSize('Height', body, html, computedStyle),\n width: getSize('Width', body, html, computedStyle)\n };\n}\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n\n\n\n\nvar defineProperty = function (obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n};\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\n/**\n * Given element offsets, generate an output similar to getBoundingClientRect\n * @method\n * @memberof Popper.Utils\n * @argument {Object} offsets\n * @returns {Object} ClientRect like output\n */\nfunction getClientRect(offsets) {\n return _extends({}, offsets, {\n right: offsets.left + offsets.width,\n bottom: offsets.top + offsets.height\n });\n}\n\n/**\n * Get bounding client rect of given element\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} element\n * @return {Object} client rect\n */\nfunction getBoundingClientRect(element) {\n var rect = {};\n\n // IE10 10 FIX: Please, don't ask, the element isn't\n // considered in DOM in some circumstances...\n // This isn't reproducible in IE10 compatibility mode of IE11\n try {\n if (isIE(10)) {\n rect = element.getBoundingClientRect();\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n rect.top += scrollTop;\n rect.left += scrollLeft;\n rect.bottom += scrollTop;\n rect.right += scrollLeft;\n } else {\n rect = element.getBoundingClientRect();\n }\n } catch (e) {}\n\n var result = {\n left: rect.left,\n top: rect.top,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top\n };\n\n // subtract scrollbar size from sizes\n var sizes = element.nodeName === 'HTML' ? getWindowSizes(element.ownerDocument) : {};\n var width = sizes.width || element.clientWidth || result.width;\n var height = sizes.height || element.clientHeight || result.height;\n\n var horizScrollbar = element.offsetWidth - width;\n var vertScrollbar = element.offsetHeight - height;\n\n // if an hypothetical scrollbar is detected, we must be sure it's not a `border`\n // we make this check conditional for performance reasons\n if (horizScrollbar || vertScrollbar) {\n var styles = getStyleComputedProperty(element);\n horizScrollbar -= getBordersSize(styles, 'x');\n vertScrollbar -= getBordersSize(styles, 'y');\n\n result.width -= horizScrollbar;\n result.height -= vertScrollbar;\n }\n\n return getClientRect(result);\n}\n\nfunction getOffsetRectRelativeToArbitraryNode(children, parent) {\n var fixedPosition = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var isIE10 = isIE(10);\n var isHTML = parent.nodeName === 'HTML';\n var childrenRect = getBoundingClientRect(children);\n var parentRect = getBoundingClientRect(parent);\n var scrollParent = getScrollParent(children);\n\n var styles = getStyleComputedProperty(parent);\n var borderTopWidth = parseFloat(styles.borderTopWidth);\n var borderLeftWidth = parseFloat(styles.borderLeftWidth);\n\n // In cases where the parent is fixed, we must ignore negative scroll in offset calc\n if (fixedPosition && isHTML) {\n parentRect.top = Math.max(parentRect.top, 0);\n parentRect.left = Math.max(parentRect.left, 0);\n }\n var offsets = getClientRect({\n top: childrenRect.top - parentRect.top - borderTopWidth,\n left: childrenRect.left - parentRect.left - borderLeftWidth,\n width: childrenRect.width,\n height: childrenRect.height\n });\n offsets.marginTop = 0;\n offsets.marginLeft = 0;\n\n // Subtract margins of documentElement in case it's being used as parent\n // we do this only on HTML because it's the only element that behaves\n // differently when margins are applied to it. The margins are included in\n // the box of the documentElement, in the other cases not.\n if (!isIE10 && isHTML) {\n var marginTop = parseFloat(styles.marginTop);\n var marginLeft = parseFloat(styles.marginLeft);\n\n offsets.top -= borderTopWidth - marginTop;\n offsets.bottom -= borderTopWidth - marginTop;\n offsets.left -= borderLeftWidth - marginLeft;\n offsets.right -= borderLeftWidth - marginLeft;\n\n // Attach marginTop and marginLeft because in some circumstances we may need them\n offsets.marginTop = marginTop;\n offsets.marginLeft = marginLeft;\n }\n\n if (isIE10 && !fixedPosition ? parent.contains(scrollParent) : parent === scrollParent && scrollParent.nodeName !== 'BODY') {\n offsets = includeScroll(offsets, parent);\n }\n\n return offsets;\n}\n\nfunction getViewportOffsetRectRelativeToArtbitraryNode(element) {\n var excludeScroll = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var html = element.ownerDocument.documentElement;\n var relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);\n var width = Math.max(html.clientWidth, window.innerWidth || 0);\n var height = Math.max(html.clientHeight, window.innerHeight || 0);\n\n var scrollTop = !excludeScroll ? getScroll(html) : 0;\n var scrollLeft = !excludeScroll ? getScroll(html, 'left') : 0;\n\n var offset = {\n top: scrollTop - relativeOffset.top + relativeOffset.marginTop,\n left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft,\n width: width,\n height: height\n };\n\n return getClientRect(offset);\n}\n\n/**\n * Check if the given element is fixed or is inside a fixed parent\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {Element} customContainer\n * @returns {Boolean} answer to \"isFixed?\"\n */\nfunction isFixed(element) {\n var nodeName = element.nodeName;\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n return false;\n }\n if (getStyleComputedProperty(element, 'position') === 'fixed') {\n return true;\n }\n var parentNode = getParentNode(element);\n if (!parentNode) {\n return false;\n }\n return isFixed(parentNode);\n}\n\n/**\n * Finds the first parent of an element that has a transformed property defined\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} first transformed parent or documentElement\n */\n\nfunction getFixedPositionOffsetParent(element) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element || !element.parentElement || isIE()) {\n return document.documentElement;\n }\n var el = element.parentElement;\n while (el && getStyleComputedProperty(el, 'transform') === 'none') {\n el = el.parentElement;\n }\n return el || document.documentElement;\n}\n\n/**\n * Computed the boundaries limits and return them\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} popper\n * @param {HTMLElement} reference\n * @param {number} padding\n * @param {HTMLElement} boundariesElement - Element used to define the boundaries\n * @param {Boolean} fixedPosition - Is in fixed position mode\n * @returns {Object} Coordinates of the boundaries\n */\nfunction getBoundaries(popper, reference, padding, boundariesElement) {\n var fixedPosition = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n\n // NOTE: 1 DOM access here\n\n var boundaries = { top: 0, left: 0 };\n var offsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n\n // Handle viewport case\n if (boundariesElement === 'viewport') {\n boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent, fixedPosition);\n } else {\n // Handle other cases based on DOM element used as boundaries\n var boundariesNode = void 0;\n if (boundariesElement === 'scrollParent') {\n boundariesNode = getScrollParent(getParentNode(reference));\n if (boundariesNode.nodeName === 'BODY') {\n boundariesNode = popper.ownerDocument.documentElement;\n }\n } else if (boundariesElement === 'window') {\n boundariesNode = popper.ownerDocument.documentElement;\n } else {\n boundariesNode = boundariesElement;\n }\n\n var offsets = getOffsetRectRelativeToArbitraryNode(boundariesNode, offsetParent, fixedPosition);\n\n // In case of HTML, we need a different computation\n if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {\n var _getWindowSizes = getWindowSizes(popper.ownerDocument),\n height = _getWindowSizes.height,\n width = _getWindowSizes.width;\n\n boundaries.top += offsets.top - offsets.marginTop;\n boundaries.bottom = height + offsets.top;\n boundaries.left += offsets.left - offsets.marginLeft;\n boundaries.right = width + offsets.left;\n } else {\n // for all the other DOM elements, this one is good\n boundaries = offsets;\n }\n }\n\n // Add paddings\n padding = padding || 0;\n var isPaddingNumber = typeof padding === 'number';\n boundaries.left += isPaddingNumber ? padding : padding.left || 0;\n boundaries.top += isPaddingNumber ? padding : padding.top || 0;\n boundaries.right -= isPaddingNumber ? padding : padding.right || 0;\n boundaries.bottom -= isPaddingNumber ? padding : padding.bottom || 0;\n\n return boundaries;\n}\n\nfunction getArea(_ref) {\n var width = _ref.width,\n height = _ref.height;\n\n return width * height;\n}\n\n/**\n * Utility used to transform the `auto` placement to the placement with more\n * available space.\n * @method\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeAutoPlacement(placement, refRect, popper, reference, boundariesElement) {\n var padding = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0;\n\n if (placement.indexOf('auto') === -1) {\n return placement;\n }\n\n var boundaries = getBoundaries(popper, reference, padding, boundariesElement);\n\n var rects = {\n top: {\n width: boundaries.width,\n height: refRect.top - boundaries.top\n },\n right: {\n width: boundaries.right - refRect.right,\n height: boundaries.height\n },\n bottom: {\n width: boundaries.width,\n height: boundaries.bottom - refRect.bottom\n },\n left: {\n width: refRect.left - boundaries.left,\n height: boundaries.height\n }\n };\n\n var sortedAreas = Object.keys(rects).map(function (key) {\n return _extends({\n key: key\n }, rects[key], {\n area: getArea(rects[key])\n });\n }).sort(function (a, b) {\n return b.area - a.area;\n });\n\n var filteredAreas = sortedAreas.filter(function (_ref2) {\n var width = _ref2.width,\n height = _ref2.height;\n return width >= popper.clientWidth && height >= popper.clientHeight;\n });\n\n var computedPlacement = filteredAreas.length > 0 ? filteredAreas[0].key : sortedAreas[0].key;\n\n var variation = placement.split('-')[1];\n\n return computedPlacement + (variation ? '-' + variation : '');\n}\n\n/**\n * Get offsets to the reference element\n * @method\n * @memberof Popper.Utils\n * @param {Object} state\n * @param {Element} popper - the popper element\n * @param {Element} reference - the reference element (the popper will be relative to this)\n * @param {Element} fixedPosition - is in fixed position mode\n * @returns {Object} An object containing the offsets which will be applied to the popper\n */\nfunction getReferenceOffsets(state, popper, reference) {\n var fixedPosition = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n\n var commonOffsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent, fixedPosition);\n}\n\n/**\n * Get the outer sizes of the given element (offset size + margins)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Object} object containing width and height properties\n */\nfunction getOuterSizes(element) {\n var window = element.ownerDocument.defaultView;\n var styles = window.getComputedStyle(element);\n var x = parseFloat(styles.marginTop || 0) + parseFloat(styles.marginBottom || 0);\n var y = parseFloat(styles.marginLeft || 0) + parseFloat(styles.marginRight || 0);\n var result = {\n width: element.offsetWidth + y,\n height: element.offsetHeight + x\n };\n return result;\n}\n\n/**\n * Get the opposite placement of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement\n * @returns {String} flipped placement\n */\nfunction getOppositePlacement(placement) {\n var hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}\n\n/**\n * Get offsets to the popper\n * @method\n * @memberof Popper.Utils\n * @param {Object} position - CSS position the Popper will get applied\n * @param {HTMLElement} popper - the popper element\n * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)\n * @param {String} placement - one of the valid placement options\n * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper\n */\nfunction getPopperOffsets(popper, referenceOffsets, placement) {\n placement = placement.split('-')[0];\n\n // Get popper node sizes\n var popperRect = getOuterSizes(popper);\n\n // Add position, width and height to our offsets object\n var popperOffsets = {\n width: popperRect.width,\n height: popperRect.height\n };\n\n // depending by the popper placement we have to compute its offsets slightly differently\n var isHoriz = ['right', 'left'].indexOf(placement) !== -1;\n var mainSide = isHoriz ? 'top' : 'left';\n var secondarySide = isHoriz ? 'left' : 'top';\n var measurement = isHoriz ? 'height' : 'width';\n var secondaryMeasurement = !isHoriz ? 'height' : 'width';\n\n popperOffsets[mainSide] = referenceOffsets[mainSide] + referenceOffsets[measurement] / 2 - popperRect[measurement] / 2;\n if (placement === secondarySide) {\n popperOffsets[secondarySide] = referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];\n } else {\n popperOffsets[secondarySide] = referenceOffsets[getOppositePlacement(secondarySide)];\n }\n\n return popperOffsets;\n}\n\n/**\n * Mimics the `find` method of Array\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction find(arr, check) {\n // use native find if supported\n if (Array.prototype.find) {\n return arr.find(check);\n }\n\n // use `filter` to obtain the same behavior of `find`\n return arr.filter(check)[0];\n}\n\n/**\n * Return the index of the matching object\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction findIndex(arr, prop, value) {\n // use native findIndex if supported\n if (Array.prototype.findIndex) {\n return arr.findIndex(function (cur) {\n return cur[prop] === value;\n });\n }\n\n // use `find` + `indexOf` if `findIndex` isn't supported\n var match = find(arr, function (obj) {\n return obj[prop] === value;\n });\n return arr.indexOf(match);\n}\n\n/**\n * Loop trough the list of modifiers and run them in order,\n * each of them will then edit the data object.\n * @method\n * @memberof Popper.Utils\n * @param {dataObject} data\n * @param {Array} modifiers\n * @param {String} ends - Optional modifier name used as stopper\n * @returns {dataObject}\n */\nfunction runModifiers(modifiers, data, ends) {\n var modifiersToRun = ends === undefined ? modifiers : modifiers.slice(0, findIndex(modifiers, 'name', ends));\n\n modifiersToRun.forEach(function (modifier) {\n if (modifier['function']) {\n // eslint-disable-line dot-notation\n console.warn('`modifier.function` is deprecated, use `modifier.fn`!');\n }\n var fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation\n if (modifier.enabled && isFunction(fn)) {\n // Add properties to offsets to make them a complete clientRect object\n // we do this before each modifier to make sure the previous one doesn't\n // mess with these values\n data.offsets.popper = getClientRect(data.offsets.popper);\n data.offsets.reference = getClientRect(data.offsets.reference);\n\n data = fn(data, modifier);\n }\n });\n\n return data;\n}\n\n/**\n * Updates the position of the popper, computing the new offsets and applying\n * the new style.
\n * Prefer `scheduleUpdate` over `update` because of performance reasons.\n * @method\n * @memberof Popper\n */\nfunction update() {\n // if popper is destroyed, don't perform any further update\n if (this.state.isDestroyed) {\n return;\n }\n\n var data = {\n instance: this,\n styles: {},\n arrowStyles: {},\n attributes: {},\n flipped: false,\n offsets: {}\n };\n\n // compute reference element offsets\n data.offsets.reference = getReferenceOffsets(this.state, this.popper, this.reference, this.options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n data.placement = computeAutoPlacement(this.options.placement, data.offsets.reference, this.popper, this.reference, this.options.modifiers.flip.boundariesElement, this.options.modifiers.flip.padding);\n\n // store the computed placement inside `originalPlacement`\n data.originalPlacement = data.placement;\n\n data.positionFixed = this.options.positionFixed;\n\n // compute the popper offsets\n data.offsets.popper = getPopperOffsets(this.popper, data.offsets.reference, data.placement);\n\n data.offsets.popper.position = this.options.positionFixed ? 'fixed' : 'absolute';\n\n // run the modifiers\n data = runModifiers(this.modifiers, data);\n\n // the first `update` will call `onCreate` callback\n // the other ones will call `onUpdate` callback\n if (!this.state.isCreated) {\n this.state.isCreated = true;\n this.options.onCreate(data);\n } else {\n this.options.onUpdate(data);\n }\n}\n\n/**\n * Helper used to know if the given modifier is enabled.\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean}\n */\nfunction isModifierEnabled(modifiers, modifierName) {\n return modifiers.some(function (_ref) {\n var name = _ref.name,\n enabled = _ref.enabled;\n return enabled && name === modifierName;\n });\n}\n\n/**\n * Get the prefixed supported property name\n * @method\n * @memberof Popper.Utils\n * @argument {String} property (camelCase)\n * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)\n */\nfunction getSupportedPropertyName(property) {\n var prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];\n var upperProp = property.charAt(0).toUpperCase() + property.slice(1);\n\n for (var i = 0; i < prefixes.length; i++) {\n var prefix = prefixes[i];\n var toCheck = prefix ? '' + prefix + upperProp : property;\n if (typeof document.body.style[toCheck] !== 'undefined') {\n return toCheck;\n }\n }\n return null;\n}\n\n/**\n * Destroys the popper.\n * @method\n * @memberof Popper\n */\nfunction destroy() {\n this.state.isDestroyed = true;\n\n // touch DOM only if `applyStyle` modifier is enabled\n if (isModifierEnabled(this.modifiers, 'applyStyle')) {\n this.popper.removeAttribute('x-placement');\n this.popper.style.position = '';\n this.popper.style.top = '';\n this.popper.style.left = '';\n this.popper.style.right = '';\n this.popper.style.bottom = '';\n this.popper.style.willChange = '';\n this.popper.style[getSupportedPropertyName('transform')] = '';\n }\n\n this.disableEventListeners();\n\n // remove the popper if user explicitly asked for the deletion on destroy\n // do not use `remove` because IE11 doesn't support it\n if (this.options.removeOnDestroy) {\n this.popper.parentNode.removeChild(this.popper);\n }\n return this;\n}\n\n/**\n * Get the window associated with the element\n * @argument {Element} element\n * @returns {Window}\n */\nfunction getWindow(element) {\n var ownerDocument = element.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n}\n\nfunction attachToScrollParents(scrollParent, event, callback, scrollParents) {\n var isBody = scrollParent.nodeName === 'BODY';\n var target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent;\n target.addEventListener(event, callback, { passive: true });\n\n if (!isBody) {\n attachToScrollParents(getScrollParent(target.parentNode), event, callback, scrollParents);\n }\n scrollParents.push(target);\n}\n\n/**\n * Setup needed event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction setupEventListeners(reference, options, state, updateBound) {\n // Resize event listener on window\n state.updateBound = updateBound;\n getWindow(reference).addEventListener('resize', state.updateBound, { passive: true });\n\n // Scroll event listener on scroll parents\n var scrollElement = getScrollParent(reference);\n attachToScrollParents(scrollElement, 'scroll', state.updateBound, state.scrollParents);\n state.scrollElement = scrollElement;\n state.eventsEnabled = true;\n\n return state;\n}\n\n/**\n * It will add resize/scroll events and start recalculating\n * position of the popper element when they are triggered.\n * @method\n * @memberof Popper\n */\nfunction enableEventListeners() {\n if (!this.state.eventsEnabled) {\n this.state = setupEventListeners(this.reference, this.options, this.state, this.scheduleUpdate);\n }\n}\n\n/**\n * Remove event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction removeEventListeners(reference, state) {\n // Remove resize event listener on window\n getWindow(reference).removeEventListener('resize', state.updateBound);\n\n // Remove scroll event listener on scroll parents\n state.scrollParents.forEach(function (target) {\n target.removeEventListener('scroll', state.updateBound);\n });\n\n // Reset state\n state.updateBound = null;\n state.scrollParents = [];\n state.scrollElement = null;\n state.eventsEnabled = false;\n return state;\n}\n\n/**\n * It will remove resize/scroll events and won't recalculate popper position\n * when they are triggered. It also won't trigger `onUpdate` callback anymore,\n * unless you call `update` method manually.\n * @method\n * @memberof Popper\n */\nfunction disableEventListeners() {\n if (this.state.eventsEnabled) {\n cancelAnimationFrame(this.scheduleUpdate);\n this.state = removeEventListeners(this.reference, this.state);\n }\n}\n\n/**\n * Tells if a given input is a number\n * @method\n * @memberof Popper.Utils\n * @param {*} input to check\n * @return {Boolean}\n */\nfunction isNumeric(n) {\n return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);\n}\n\n/**\n * Set the style to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the style to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setStyles(element, styles) {\n Object.keys(styles).forEach(function (prop) {\n var unit = '';\n // add unit if the value is numeric and is one of the following\n if (['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !== -1 && isNumeric(styles[prop])) {\n unit = 'px';\n }\n element.style[prop] = styles[prop] + unit;\n });\n}\n\n/**\n * Set the attributes to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the attributes to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setAttributes(element, attributes) {\n Object.keys(attributes).forEach(function (prop) {\n var value = attributes[prop];\n if (value !== false) {\n element.setAttribute(prop, attributes[prop]);\n } else {\n element.removeAttribute(prop);\n }\n });\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} data.styles - List of style properties - values to apply to popper element\n * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The same data object\n */\nfunction applyStyle(data) {\n // any property present in `data.styles` will be applied to the popper,\n // in this way we can make the 3rd party modifiers add custom styles to it\n // Be aware, modifiers could override the properties defined in the previous\n // lines of this modifier!\n setStyles(data.instance.popper, data.styles);\n\n // any property present in `data.attributes` will be applied to the popper,\n // they will be set as HTML attributes of the element\n setAttributes(data.instance.popper, data.attributes);\n\n // if arrowElement is defined and arrowStyles has some properties\n if (data.arrowElement && Object.keys(data.arrowStyles).length) {\n setStyles(data.arrowElement, data.arrowStyles);\n }\n\n return data;\n}\n\n/**\n * Set the x-placement attribute before everything else because it could be used\n * to add margins to the popper margins needs to be calculated to get the\n * correct popper offsets.\n * @method\n * @memberof Popper.modifiers\n * @param {HTMLElement} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper\n * @param {Object} options - Popper.js options\n */\nfunction applyStyleOnLoad(reference, popper, options, modifierOptions, state) {\n // compute reference element offsets\n var referenceOffsets = getReferenceOffsets(state, popper, reference, options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n var placement = computeAutoPlacement(options.placement, referenceOffsets, popper, reference, options.modifiers.flip.boundariesElement, options.modifiers.flip.padding);\n\n popper.setAttribute('x-placement', placement);\n\n // Apply `position` to popper before anything else because\n // without the position applied we can't guarantee correct computations\n setStyles(popper, { position: options.positionFixed ? 'fixed' : 'absolute' });\n\n return options;\n}\n\n/**\n * @function\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Boolean} shouldRound - If the offsets should be rounded at all\n * @returns {Object} The popper's position offsets rounded\n *\n * The tale of pixel-perfect positioning. It's still not 100% perfect, but as\n * good as it can be within reason.\n * Discussion here: https://github.com/FezVrasta/popper.js/pull/715\n *\n * Low DPI screens cause a popper to be blurry if not using full pixels (Safari\n * as well on High DPI screens).\n *\n * Firefox prefers no rounding for positioning and does not have blurriness on\n * high DPI screens.\n *\n * Only horizontal placement and left/right values need to be considered.\n */\nfunction getRoundedOffsets(data, shouldRound) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n var round = Math.round,\n floor = Math.floor;\n\n var noRound = function noRound(v) {\n return v;\n };\n\n var referenceWidth = round(reference.width);\n var popperWidth = round(popper.width);\n\n var isVertical = ['left', 'right'].indexOf(data.placement) !== -1;\n var isVariation = data.placement.indexOf('-') !== -1;\n var sameWidthParity = referenceWidth % 2 === popperWidth % 2;\n var bothOddWidth = referenceWidth % 2 === 1 && popperWidth % 2 === 1;\n\n var horizontalToInteger = !shouldRound ? noRound : isVertical || isVariation || sameWidthParity ? round : floor;\n var verticalToInteger = !shouldRound ? noRound : round;\n\n return {\n left: horizontalToInteger(bothOddWidth && !isVariation && shouldRound ? popper.left - 1 : popper.left),\n top: verticalToInteger(popper.top),\n bottom: verticalToInteger(popper.bottom),\n right: horizontalToInteger(popper.right)\n };\n}\n\nvar isFirefox = isBrowser && /Firefox/i.test(navigator.userAgent);\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeStyle(data, options) {\n var x = options.x,\n y = options.y;\n var popper = data.offsets.popper;\n\n // Remove this legacy support in Popper.js v2\n\n var legacyGpuAccelerationOption = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'applyStyle';\n }).gpuAcceleration;\n if (legacyGpuAccelerationOption !== undefined) {\n console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!');\n }\n var gpuAcceleration = legacyGpuAccelerationOption !== undefined ? legacyGpuAccelerationOption : options.gpuAcceleration;\n\n var offsetParent = getOffsetParent(data.instance.popper);\n var offsetParentRect = getBoundingClientRect(offsetParent);\n\n // Styles\n var styles = {\n position: popper.position\n };\n\n var offsets = getRoundedOffsets(data, window.devicePixelRatio < 2 || !isFirefox);\n\n var sideA = x === 'bottom' ? 'top' : 'bottom';\n var sideB = y === 'right' ? 'left' : 'right';\n\n // if gpuAcceleration is set to `true` and transform is supported,\n // we use `translate3d` to apply the position to the popper we\n // automatically use the supported prefixed version if needed\n var prefixedProperty = getSupportedPropertyName('transform');\n\n // now, let's make a step back and look at this code closely (wtf?)\n // If the content of the popper grows once it's been positioned, it\n // may happen that the popper gets misplaced because of the new content\n // overflowing its reference element\n // To avoid this problem, we provide two options (x and y), which allow\n // the consumer to define the offset origin.\n // If we position a popper on top of a reference element, we can set\n // `x` to `top` to make the popper grow towards its top instead of\n // its bottom.\n var left = void 0,\n top = void 0;\n if (sideA === 'bottom') {\n // when offsetParent is the positioning is relative to the bottom of the screen (excluding the scrollbar)\n // and not the bottom of the html element\n if (offsetParent.nodeName === 'HTML') {\n top = -offsetParent.clientHeight + offsets.bottom;\n } else {\n top = -offsetParentRect.height + offsets.bottom;\n }\n } else {\n top = offsets.top;\n }\n if (sideB === 'right') {\n if (offsetParent.nodeName === 'HTML') {\n left = -offsetParent.clientWidth + offsets.right;\n } else {\n left = -offsetParentRect.width + offsets.right;\n }\n } else {\n left = offsets.left;\n }\n if (gpuAcceleration && prefixedProperty) {\n styles[prefixedProperty] = 'translate3d(' + left + 'px, ' + top + 'px, 0)';\n styles[sideA] = 0;\n styles[sideB] = 0;\n styles.willChange = 'transform';\n } else {\n // othwerise, we use the standard `top`, `left`, `bottom` and `right` properties\n var invertTop = sideA === 'bottom' ? -1 : 1;\n var invertLeft = sideB === 'right' ? -1 : 1;\n styles[sideA] = top * invertTop;\n styles[sideB] = left * invertLeft;\n styles.willChange = sideA + ', ' + sideB;\n }\n\n // Attributes\n var attributes = {\n 'x-placement': data.placement\n };\n\n // Update `data` attributes, styles and arrowStyles\n data.attributes = _extends({}, attributes, data.attributes);\n data.styles = _extends({}, styles, data.styles);\n data.arrowStyles = _extends({}, data.offsets.arrow, data.arrowStyles);\n\n return data;\n}\n\n/**\n * Helper used to know if the given modifier depends from another one.
\n * It checks if the needed modifier is listed and enabled.\n * @method\n * @memberof Popper.Utils\n * @param {Array} modifiers - list of modifiers\n * @param {String} requestingName - name of requesting modifier\n * @param {String} requestedName - name of requested modifier\n * @returns {Boolean}\n */\nfunction isModifierRequired(modifiers, requestingName, requestedName) {\n var requesting = find(modifiers, function (_ref) {\n var name = _ref.name;\n return name === requestingName;\n });\n\n var isRequired = !!requesting && modifiers.some(function (modifier) {\n return modifier.name === requestedName && modifier.enabled && modifier.order < requesting.order;\n });\n\n if (!isRequired) {\n var _requesting = '`' + requestingName + '`';\n var requested = '`' + requestedName + '`';\n console.warn(requested + ' modifier is required by ' + _requesting + ' modifier in order to work, be sure to include it before ' + _requesting + '!');\n }\n return isRequired;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction arrow(data, options) {\n var _data$offsets$arrow;\n\n // arrow depends on keepTogether in order to work\n if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) {\n return data;\n }\n\n var arrowElement = options.element;\n\n // if arrowElement is a string, suppose it's a CSS selector\n if (typeof arrowElement === 'string') {\n arrowElement = data.instance.popper.querySelector(arrowElement);\n\n // if arrowElement is not found, don't run the modifier\n if (!arrowElement) {\n return data;\n }\n } else {\n // if the arrowElement isn't a query selector we must check that the\n // provided DOM node is child of its popper node\n if (!data.instance.popper.contains(arrowElement)) {\n console.warn('WARNING: `arrow.element` must be child of its popper element!');\n return data;\n }\n }\n\n var placement = data.placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isVertical = ['left', 'right'].indexOf(placement) !== -1;\n\n var len = isVertical ? 'height' : 'width';\n var sideCapitalized = isVertical ? 'Top' : 'Left';\n var side = sideCapitalized.toLowerCase();\n var altSide = isVertical ? 'left' : 'top';\n var opSide = isVertical ? 'bottom' : 'right';\n var arrowElementSize = getOuterSizes(arrowElement)[len];\n\n //\n // extends keepTogether behavior making sure the popper and its\n // reference have enough pixels in conjunction\n //\n\n // top/left side\n if (reference[opSide] - arrowElementSize < popper[side]) {\n data.offsets.popper[side] -= popper[side] - (reference[opSide] - arrowElementSize);\n }\n // bottom/right side\n if (reference[side] + arrowElementSize > popper[opSide]) {\n data.offsets.popper[side] += reference[side] + arrowElementSize - popper[opSide];\n }\n data.offsets.popper = getClientRect(data.offsets.popper);\n\n // compute center of the popper\n var center = reference[side] + reference[len] / 2 - arrowElementSize / 2;\n\n // Compute the sideValue using the updated popper offsets\n // take popper margin in account because we don't have this info available\n var css = getStyleComputedProperty(data.instance.popper);\n var popperMarginSide = parseFloat(css['margin' + sideCapitalized]);\n var popperBorderSide = parseFloat(css['border' + sideCapitalized + 'Width']);\n var sideValue = center - data.offsets.popper[side] - popperMarginSide - popperBorderSide;\n\n // prevent arrowElement from being placed not contiguously to its popper\n sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0);\n\n data.arrowElement = arrowElement;\n data.offsets.arrow = (_data$offsets$arrow = {}, defineProperty(_data$offsets$arrow, side, Math.round(sideValue)), defineProperty(_data$offsets$arrow, altSide, ''), _data$offsets$arrow);\n\n return data;\n}\n\n/**\n * Get the opposite placement variation of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement variation\n * @returns {String} flipped placement variation\n */\nfunction getOppositeVariation(variation) {\n if (variation === 'end') {\n return 'start';\n } else if (variation === 'start') {\n return 'end';\n }\n return variation;\n}\n\n/**\n * List of accepted placements to use as values of the `placement` option.
\n * Valid placements are:\n * - `auto`\n * - `top`\n * - `right`\n * - `bottom`\n * - `left`\n *\n * Each placement can have a variation from this list:\n * - `-start`\n * - `-end`\n *\n * Variations are interpreted easily if you think of them as the left to right\n * written languages. Horizontally (`top` and `bottom`), `start` is left and `end`\n * is right.
\n * Vertically (`left` and `right`), `start` is top and `end` is bottom.\n *\n * Some valid examples are:\n * - `top-end` (on top of reference, right aligned)\n * - `right-start` (on right of reference, top aligned)\n * - `bottom` (on bottom, centered)\n * - `auto-end` (on the side with more space available, alignment depends by placement)\n *\n * @static\n * @type {Array}\n * @enum {String}\n * @readonly\n * @method placements\n * @memberof Popper\n */\nvar placements = ['auto-start', 'auto', 'auto-end', 'top-start', 'top', 'top-end', 'right-start', 'right', 'right-end', 'bottom-end', 'bottom', 'bottom-start', 'left-end', 'left', 'left-start'];\n\n// Get rid of `auto` `auto-start` and `auto-end`\nvar validPlacements = placements.slice(3);\n\n/**\n * Given an initial placement, returns all the subsequent placements\n * clockwise (or counter-clockwise).\n *\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement - A valid placement (it accepts variations)\n * @argument {Boolean} counter - Set to true to walk the placements counterclockwise\n * @returns {Array} placements including their variations\n */\nfunction clockwise(placement) {\n var counter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var index = validPlacements.indexOf(placement);\n var arr = validPlacements.slice(index + 1).concat(validPlacements.slice(0, index));\n return counter ? arr.reverse() : arr;\n}\n\nvar BEHAVIORS = {\n FLIP: 'flip',\n CLOCKWISE: 'clockwise',\n COUNTERCLOCKWISE: 'counterclockwise'\n};\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction flip(data, options) {\n // if `inner` modifier is enabled, we can't use the `flip` modifier\n if (isModifierEnabled(data.instance.modifiers, 'inner')) {\n return data;\n }\n\n if (data.flipped && data.placement === data.originalPlacement) {\n // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides\n return data;\n }\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, options.boundariesElement, data.positionFixed);\n\n var placement = data.placement.split('-')[0];\n var placementOpposite = getOppositePlacement(placement);\n var variation = data.placement.split('-')[1] || '';\n\n var flipOrder = [];\n\n switch (options.behavior) {\n case BEHAVIORS.FLIP:\n flipOrder = [placement, placementOpposite];\n break;\n case BEHAVIORS.CLOCKWISE:\n flipOrder = clockwise(placement);\n break;\n case BEHAVIORS.COUNTERCLOCKWISE:\n flipOrder = clockwise(placement, true);\n break;\n default:\n flipOrder = options.behavior;\n }\n\n flipOrder.forEach(function (step, index) {\n if (placement !== step || flipOrder.length === index + 1) {\n return data;\n }\n\n placement = data.placement.split('-')[0];\n placementOpposite = getOppositePlacement(placement);\n\n var popperOffsets = data.offsets.popper;\n var refOffsets = data.offsets.reference;\n\n // using floor because the reference offsets may contain decimals we are not going to consider here\n var floor = Math.floor;\n var overlapsRef = placement === 'left' && floor(popperOffsets.right) > floor(refOffsets.left) || placement === 'right' && floor(popperOffsets.left) < floor(refOffsets.right) || placement === 'top' && floor(popperOffsets.bottom) > floor(refOffsets.top) || placement === 'bottom' && floor(popperOffsets.top) < floor(refOffsets.bottom);\n\n var overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left);\n var overflowsRight = floor(popperOffsets.right) > floor(boundaries.right);\n var overflowsTop = floor(popperOffsets.top) < floor(boundaries.top);\n var overflowsBottom = floor(popperOffsets.bottom) > floor(boundaries.bottom);\n\n var overflowsBoundaries = placement === 'left' && overflowsLeft || placement === 'right' && overflowsRight || placement === 'top' && overflowsTop || placement === 'bottom' && overflowsBottom;\n\n // flip the variation if required\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n\n // flips variation if reference element overflows boundaries\n var flippedVariationByRef = !!options.flipVariations && (isVertical && variation === 'start' && overflowsLeft || isVertical && variation === 'end' && overflowsRight || !isVertical && variation === 'start' && overflowsTop || !isVertical && variation === 'end' && overflowsBottom);\n\n // flips variation if popper content overflows boundaries\n var flippedVariationByContent = !!options.flipVariationsByContent && (isVertical && variation === 'start' && overflowsRight || isVertical && variation === 'end' && overflowsLeft || !isVertical && variation === 'start' && overflowsBottom || !isVertical && variation === 'end' && overflowsTop);\n\n var flippedVariation = flippedVariationByRef || flippedVariationByContent;\n\n if (overlapsRef || overflowsBoundaries || flippedVariation) {\n // this boolean to detect any flip loop\n data.flipped = true;\n\n if (overlapsRef || overflowsBoundaries) {\n placement = flipOrder[index + 1];\n }\n\n if (flippedVariation) {\n variation = getOppositeVariation(variation);\n }\n\n data.placement = placement + (variation ? '-' + variation : '');\n\n // this object contains `position`, we want to preserve it along with\n // any additional property we may add in the future\n data.offsets.popper = _extends({}, data.offsets.popper, getPopperOffsets(data.instance.popper, data.offsets.reference, data.placement));\n\n data = runModifiers(data.instance.modifiers, data, 'flip');\n }\n });\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction keepTogether(data) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var placement = data.placement.split('-')[0];\n var floor = Math.floor;\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n var side = isVertical ? 'right' : 'bottom';\n var opSide = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n if (popper[side] < floor(reference[opSide])) {\n data.offsets.popper[opSide] = floor(reference[opSide]) - popper[measurement];\n }\n if (popper[opSide] > floor(reference[side])) {\n data.offsets.popper[opSide] = floor(reference[side]);\n }\n\n return data;\n}\n\n/**\n * Converts a string containing value + unit into a px value number\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} str - Value + unit string\n * @argument {String} measurement - `height` or `width`\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @returns {Number|String}\n * Value in pixels, or original string if no values were extracted\n */\nfunction toValue(str, measurement, popperOffsets, referenceOffsets) {\n // separate value from unit\n var split = str.match(/((?:\\-|\\+)?\\d*\\.?\\d*)(.*)/);\n var value = +split[1];\n var unit = split[2];\n\n // If it's not a number it's an operator, I guess\n if (!value) {\n return str;\n }\n\n if (unit.indexOf('%') === 0) {\n var element = void 0;\n switch (unit) {\n case '%p':\n element = popperOffsets;\n break;\n case '%':\n case '%r':\n default:\n element = referenceOffsets;\n }\n\n var rect = getClientRect(element);\n return rect[measurement] / 100 * value;\n } else if (unit === 'vh' || unit === 'vw') {\n // if is a vh or vw, we calculate the size based on the viewport\n var size = void 0;\n if (unit === 'vh') {\n size = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);\n } else {\n size = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);\n }\n return size / 100 * value;\n } else {\n // if is an explicit pixel unit, we get rid of the unit and keep the value\n // if is an implicit unit, it's px, and we return just the value\n return value;\n }\n}\n\n/**\n * Parse an `offset` string to extrapolate `x` and `y` numeric offsets.\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} offset\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @argument {String} basePlacement\n * @returns {Array} a two cells array with x and y offsets in numbers\n */\nfunction parseOffset(offset, popperOffsets, referenceOffsets, basePlacement) {\n var offsets = [0, 0];\n\n // Use height if placement is left or right and index is 0 otherwise use width\n // in this way the first offset will use an axis and the second one\n // will use the other one\n var useHeight = ['right', 'left'].indexOf(basePlacement) !== -1;\n\n // Split the offset string to obtain a list of values and operands\n // The regex addresses values with the plus or minus sign in front (+10, -20, etc)\n var fragments = offset.split(/(\\+|\\-)/).map(function (frag) {\n return frag.trim();\n });\n\n // Detect if the offset string contains a pair of values or a single one\n // they could be separated by comma or space\n var divider = fragments.indexOf(find(fragments, function (frag) {\n return frag.search(/,|\\s/) !== -1;\n }));\n\n if (fragments[divider] && fragments[divider].indexOf(',') === -1) {\n console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.');\n }\n\n // If divider is found, we divide the list of values and operands to divide\n // them by ofset X and Y.\n var splitRegex = /\\s*,\\s*|\\s+/;\n var ops = divider !== -1 ? [fragments.slice(0, divider).concat([fragments[divider].split(splitRegex)[0]]), [fragments[divider].split(splitRegex)[1]].concat(fragments.slice(divider + 1))] : [fragments];\n\n // Convert the values with units to absolute pixels to allow our computations\n ops = ops.map(function (op, index) {\n // Most of the units rely on the orientation of the popper\n var measurement = (index === 1 ? !useHeight : useHeight) ? 'height' : 'width';\n var mergeWithPrevious = false;\n return op\n // This aggregates any `+` or `-` sign that aren't considered operators\n // e.g.: 10 + +5 => [10, +, +5]\n .reduce(function (a, b) {\n if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) {\n a[a.length - 1] = b;\n mergeWithPrevious = true;\n return a;\n } else if (mergeWithPrevious) {\n a[a.length - 1] += b;\n mergeWithPrevious = false;\n return a;\n } else {\n return a.concat(b);\n }\n }, [])\n // Here we convert the string values into number values (in px)\n .map(function (str) {\n return toValue(str, measurement, popperOffsets, referenceOffsets);\n });\n });\n\n // Loop trough the offsets arrays and execute the operations\n ops.forEach(function (op, index) {\n op.forEach(function (frag, index2) {\n if (isNumeric(frag)) {\n offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1);\n }\n });\n });\n return offsets;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @argument {Number|String} options.offset=0\n * The offset value as described in the modifier description\n * @returns {Object} The data object, properly modified\n */\nfunction offset(data, _ref) {\n var offset = _ref.offset;\n var placement = data.placement,\n _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var basePlacement = placement.split('-')[0];\n\n var offsets = void 0;\n if (isNumeric(+offset)) {\n offsets = [+offset, 0];\n } else {\n offsets = parseOffset(offset, popper, reference, basePlacement);\n }\n\n if (basePlacement === 'left') {\n popper.top += offsets[0];\n popper.left -= offsets[1];\n } else if (basePlacement === 'right') {\n popper.top += offsets[0];\n popper.left += offsets[1];\n } else if (basePlacement === 'top') {\n popper.left += offsets[0];\n popper.top -= offsets[1];\n } else if (basePlacement === 'bottom') {\n popper.left += offsets[0];\n popper.top += offsets[1];\n }\n\n data.popper = popper;\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction preventOverflow(data, options) {\n var boundariesElement = options.boundariesElement || getOffsetParent(data.instance.popper);\n\n // If offsetParent is the reference element, we really want to\n // go one step up and use the next offsetParent as reference to\n // avoid to make this modifier completely useless and look like broken\n if (data.instance.reference === boundariesElement) {\n boundariesElement = getOffsetParent(boundariesElement);\n }\n\n // NOTE: DOM access here\n // resets the popper's position so that the document size can be calculated excluding\n // the size of the popper element itself\n var transformProp = getSupportedPropertyName('transform');\n var popperStyles = data.instance.popper.style; // assignment to help minification\n var top = popperStyles.top,\n left = popperStyles.left,\n transform = popperStyles[transformProp];\n\n popperStyles.top = '';\n popperStyles.left = '';\n popperStyles[transformProp] = '';\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, boundariesElement, data.positionFixed);\n\n // NOTE: DOM access here\n // restores the original style properties after the offsets have been computed\n popperStyles.top = top;\n popperStyles.left = left;\n popperStyles[transformProp] = transform;\n\n options.boundaries = boundaries;\n\n var order = options.priority;\n var popper = data.offsets.popper;\n\n var check = {\n primary: function primary(placement) {\n var value = popper[placement];\n if (popper[placement] < boundaries[placement] && !options.escapeWithReference) {\n value = Math.max(popper[placement], boundaries[placement]);\n }\n return defineProperty({}, placement, value);\n },\n secondary: function secondary(placement) {\n var mainSide = placement === 'right' ? 'left' : 'top';\n var value = popper[mainSide];\n if (popper[placement] > boundaries[placement] && !options.escapeWithReference) {\n value = Math.min(popper[mainSide], boundaries[placement] - (placement === 'right' ? popper.width : popper.height));\n }\n return defineProperty({}, mainSide, value);\n }\n };\n\n order.forEach(function (placement) {\n var side = ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary';\n popper = _extends({}, popper, check[side](placement));\n });\n\n data.offsets.popper = popper;\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction shift(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var shiftvariation = placement.split('-')[1];\n\n // if shift shiftvariation is specified, run the modifier\n if (shiftvariation) {\n var _data$offsets = data.offsets,\n reference = _data$offsets.reference,\n popper = _data$offsets.popper;\n\n var isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1;\n var side = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n var shiftOffsets = {\n start: defineProperty({}, side, reference[side]),\n end: defineProperty({}, side, reference[side] + reference[measurement] - popper[measurement])\n };\n\n data.offsets.popper = _extends({}, popper, shiftOffsets[shiftvariation]);\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction hide(data) {\n if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) {\n return data;\n }\n\n var refRect = data.offsets.reference;\n var bound = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'preventOverflow';\n }).boundaries;\n\n if (refRect.bottom < bound.top || refRect.left > bound.right || refRect.top > bound.bottom || refRect.right < bound.left) {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === true) {\n return data;\n }\n\n data.hide = true;\n data.attributes['x-out-of-boundaries'] = '';\n } else {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === false) {\n return data;\n }\n\n data.hide = false;\n data.attributes['x-out-of-boundaries'] = false;\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction inner(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1;\n\n var subtractLength = ['top', 'left'].indexOf(basePlacement) === -1;\n\n popper[isHoriz ? 'left' : 'top'] = reference[basePlacement] - (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0);\n\n data.placement = getOppositePlacement(placement);\n data.offsets.popper = getClientRect(popper);\n\n return data;\n}\n\n/**\n * Modifier function, each modifier can have a function of this type assigned\n * to its `fn` property.
\n * These functions will be called on each update, this means that you must\n * make sure they are performant enough to avoid performance bottlenecks.\n *\n * @function ModifierFn\n * @argument {dataObject} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {dataObject} The data object, properly modified\n */\n\n/**\n * Modifiers are plugins used to alter the behavior of your poppers.
\n * Popper.js uses a set of 9 modifiers to provide all the basic functionalities\n * needed by the library.\n *\n * Usually you don't want to override the `order`, `fn` and `onLoad` props.\n * All the other properties are configurations that could be tweaked.\n * @namespace modifiers\n */\nvar modifiers = {\n /**\n * Modifier used to shift the popper on the start or end of its reference\n * element.
\n * It will read the variation of the `placement` property.
\n * It can be one either `-end` or `-start`.\n * @memberof modifiers\n * @inner\n */\n shift: {\n /** @prop {number} order=100 - Index used to define the order of execution */\n order: 100,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: shift\n },\n\n /**\n * The `offset` modifier can shift your popper on both its axis.\n *\n * It accepts the following units:\n * - `px` or unit-less, interpreted as pixels\n * - `%` or `%r`, percentage relative to the length of the reference element\n * - `%p`, percentage relative to the length of the popper element\n * - `vw`, CSS viewport width unit\n * - `vh`, CSS viewport height unit\n *\n * For length is intended the main axis relative to the placement of the popper.
\n * This means that if the placement is `top` or `bottom`, the length will be the\n * `width`. In case of `left` or `right`, it will be the `height`.\n *\n * You can provide a single value (as `Number` or `String`), or a pair of values\n * as `String` divided by a comma or one (or more) white spaces.
\n * The latter is a deprecated method because it leads to confusion and will be\n * removed in v2.
\n * Additionally, it accepts additions and subtractions between different units.\n * Note that multiplications and divisions aren't supported.\n *\n * Valid examples are:\n * ```\n * 10\n * '10%'\n * '10, 10'\n * '10%, 10'\n * '10 + 10%'\n * '10 - 5vh + 3%'\n * '-10px + 5vh, 5px - 6%'\n * ```\n * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap\n * > with their reference element, unfortunately, you will have to disable the `flip` modifier.\n * > You can read more on this at this [issue](https://github.com/FezVrasta/popper.js/issues/373).\n *\n * @memberof modifiers\n * @inner\n */\n offset: {\n /** @prop {number} order=200 - Index used to define the order of execution */\n order: 200,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: offset,\n /** @prop {Number|String} offset=0\n * The offset value as described in the modifier description\n */\n offset: 0\n },\n\n /**\n * Modifier used to prevent the popper from being positioned outside the boundary.\n *\n * A scenario exists where the reference itself is not within the boundaries.
\n * We can say it has \"escaped the boundaries\" — or just \"escaped\".
\n * In this case we need to decide whether the popper should either:\n *\n * - detach from the reference and remain \"trapped\" in the boundaries, or\n * - if it should ignore the boundary and \"escape with its reference\"\n *\n * When `escapeWithReference` is set to`true` and reference is completely\n * outside its boundaries, the popper will overflow (or completely leave)\n * the boundaries in order to remain attached to the edge of the reference.\n *\n * @memberof modifiers\n * @inner\n */\n preventOverflow: {\n /** @prop {number} order=300 - Index used to define the order of execution */\n order: 300,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: preventOverflow,\n /**\n * @prop {Array} [priority=['left','right','top','bottom']]\n * Popper will try to prevent overflow following these priorities by default,\n * then, it could overflow on the left and on top of the `boundariesElement`\n */\n priority: ['left', 'right', 'top', 'bottom'],\n /**\n * @prop {number} padding=5\n * Amount of pixel used to define a minimum distance between the boundaries\n * and the popper. This makes sure the popper always has a little padding\n * between the edges of its container\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='scrollParent'\n * Boundaries used by the modifier. Can be `scrollParent`, `window`,\n * `viewport` or any DOM element.\n */\n boundariesElement: 'scrollParent'\n },\n\n /**\n * Modifier used to make sure the reference and its popper stay near each other\n * without leaving any gap between the two. Especially useful when the arrow is\n * enabled and you want to ensure that it points to its reference element.\n * It cares only about the first axis. You can still have poppers with margin\n * between the popper and its reference element.\n * @memberof modifiers\n * @inner\n */\n keepTogether: {\n /** @prop {number} order=400 - Index used to define the order of execution */\n order: 400,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: keepTogether\n },\n\n /**\n * This modifier is used to move the `arrowElement` of the popper to make\n * sure it is positioned between the reference element and its popper element.\n * It will read the outer size of the `arrowElement` node to detect how many\n * pixels of conjunction are needed.\n *\n * It has no effect if no `arrowElement` is provided.\n * @memberof modifiers\n * @inner\n */\n arrow: {\n /** @prop {number} order=500 - Index used to define the order of execution */\n order: 500,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: arrow,\n /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */\n element: '[x-arrow]'\n },\n\n /**\n * Modifier used to flip the popper's placement when it starts to overlap its\n * reference element.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n *\n * **NOTE:** this modifier will interrupt the current update cycle and will\n * restart it if it detects the need to flip the placement.\n * @memberof modifiers\n * @inner\n */\n flip: {\n /** @prop {number} order=600 - Index used to define the order of execution */\n order: 600,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: flip,\n /**\n * @prop {String|Array} behavior='flip'\n * The behavior used to change the popper's placement. It can be one of\n * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid\n * placements (with optional variations)\n */\n behavior: 'flip',\n /**\n * @prop {number} padding=5\n * The popper will flip if it hits the edges of the `boundariesElement`\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='viewport'\n * The element which will define the boundaries of the popper position.\n * The popper will never be placed outside of the defined boundaries\n * (except if `keepTogether` is enabled)\n */\n boundariesElement: 'viewport',\n /**\n * @prop {Boolean} flipVariations=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the reference element overlaps its boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariations: false,\n /**\n * @prop {Boolean} flipVariationsByContent=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the popper element overlaps its reference boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariationsByContent: false\n },\n\n /**\n * Modifier used to make the popper flow toward the inner of the reference element.\n * By default, when this modifier is disabled, the popper will be placed outside\n * the reference element.\n * @memberof modifiers\n * @inner\n */\n inner: {\n /** @prop {number} order=700 - Index used to define the order of execution */\n order: 700,\n /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */\n enabled: false,\n /** @prop {ModifierFn} */\n fn: inner\n },\n\n /**\n * Modifier used to hide the popper when its reference element is outside of the\n * popper boundaries. It will set a `x-out-of-boundaries` attribute which can\n * be used to hide with a CSS selector the popper when its reference is\n * out of boundaries.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n * @memberof modifiers\n * @inner\n */\n hide: {\n /** @prop {number} order=800 - Index used to define the order of execution */\n order: 800,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: hide\n },\n\n /**\n * Computes the style that will be applied to the popper element to gets\n * properly positioned.\n *\n * Note that this modifier will not touch the DOM, it just prepares the styles\n * so that `applyStyle` modifier can apply it. This separation is useful\n * in case you need to replace `applyStyle` with a custom implementation.\n *\n * This modifier has `850` as `order` value to maintain backward compatibility\n * with previous versions of Popper.js. Expect the modifiers ordering method\n * to change in future major versions of the library.\n *\n * @memberof modifiers\n * @inner\n */\n computeStyle: {\n /** @prop {number} order=850 - Index used to define the order of execution */\n order: 850,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: computeStyle,\n /**\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: true,\n /**\n * @prop {string} [x='bottom']\n * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin.\n * Change this if your popper should grow in a direction different from `bottom`\n */\n x: 'bottom',\n /**\n * @prop {string} [x='left']\n * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin.\n * Change this if your popper should grow in a direction different from `right`\n */\n y: 'right'\n },\n\n /**\n * Applies the computed styles to the popper element.\n *\n * All the DOM manipulations are limited to this modifier. This is useful in case\n * you want to integrate Popper.js inside a framework or view library and you\n * want to delegate all the DOM manipulations to it.\n *\n * Note that if you disable this modifier, you must make sure the popper element\n * has its position set to `absolute` before Popper.js can do its work!\n *\n * Just disable this modifier and define your own to achieve the desired effect.\n *\n * @memberof modifiers\n * @inner\n */\n applyStyle: {\n /** @prop {number} order=900 - Index used to define the order of execution */\n order: 900,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: applyStyle,\n /** @prop {Function} */\n onLoad: applyStyleOnLoad,\n /**\n * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: undefined\n }\n};\n\n/**\n * The `dataObject` is an object containing all the information used by Popper.js.\n * This object is passed to modifiers and to the `onCreate` and `onUpdate` callbacks.\n * @name dataObject\n * @property {Object} data.instance The Popper.js instance\n * @property {String} data.placement Placement applied to popper\n * @property {String} data.originalPlacement Placement originally defined on init\n * @property {Boolean} data.flipped True if popper has been flipped by flip modifier\n * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper\n * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier\n * @property {Object} data.styles Any CSS property defined here will be applied to the popper. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.boundaries Offsets of the popper boundaries\n * @property {Object} data.offsets The measurements of popper, reference and arrow elements\n * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0\n */\n\n/**\n * Default options provided to Popper.js constructor.
\n * These can be overridden using the `options` argument of Popper.js.
\n * To override an option, simply pass an object with the same\n * structure of the `options` object, as the 3rd argument. For example:\n * ```\n * new Popper(ref, pop, {\n * modifiers: {\n * preventOverflow: { enabled: false }\n * }\n * })\n * ```\n * @type {Object}\n * @static\n * @memberof Popper\n */\nvar Defaults = {\n /**\n * Popper's placement.\n * @prop {Popper.placements} placement='bottom'\n */\n placement: 'bottom',\n\n /**\n * Set this to true if you want popper to position it self in 'fixed' mode\n * @prop {Boolean} positionFixed=false\n */\n positionFixed: false,\n\n /**\n * Whether events (resize, scroll) are initially enabled.\n * @prop {Boolean} eventsEnabled=true\n */\n eventsEnabled: true,\n\n /**\n * Set to true if you want to automatically remove the popper when\n * you call the `destroy` method.\n * @prop {Boolean} removeOnDestroy=false\n */\n removeOnDestroy: false,\n\n /**\n * Callback called when the popper is created.
\n * By default, it is set to no-op.
\n * Access Popper.js instance with `data.instance`.\n * @prop {onCreate}\n */\n onCreate: function onCreate() {},\n\n /**\n * Callback called when the popper is updated. This callback is not called\n * on the initialization/creation of the popper, but only on subsequent\n * updates.
\n * By default, it is set to no-op.
\n * Access Popper.js instance with `data.instance`.\n * @prop {onUpdate}\n */\n onUpdate: function onUpdate() {},\n\n /**\n * List of modifiers used to modify the offsets before they are applied to the popper.\n * They provide most of the functionalities of Popper.js.\n * @prop {modifiers}\n */\n modifiers: modifiers\n};\n\n/**\n * @callback onCreate\n * @param {dataObject} data\n */\n\n/**\n * @callback onUpdate\n * @param {dataObject} data\n */\n\n// Utils\n// Methods\nvar Popper = function () {\n /**\n * Creates a new Popper.js instance.\n * @class Popper\n * @param {Element|referenceObject} reference - The reference element used to position the popper\n * @param {Element} popper - The HTML / XML element used as the popper\n * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults)\n * @return {Object} instance - The generated Popper.js instance\n */\n function Popper(reference, popper) {\n var _this = this;\n\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n classCallCheck(this, Popper);\n\n this.scheduleUpdate = function () {\n return requestAnimationFrame(_this.update);\n };\n\n // make update() debounced, so that it only runs at most once-per-tick\n this.update = debounce(this.update.bind(this));\n\n // with {} we create a new object with the options inside it\n this.options = _extends({}, Popper.Defaults, options);\n\n // init state\n this.state = {\n isDestroyed: false,\n isCreated: false,\n scrollParents: []\n };\n\n // get reference and popper elements (allow jQuery wrappers)\n this.reference = reference && reference.jquery ? reference[0] : reference;\n this.popper = popper && popper.jquery ? popper[0] : popper;\n\n // Deep merge modifiers options\n this.options.modifiers = {};\n Object.keys(_extends({}, Popper.Defaults.modifiers, options.modifiers)).forEach(function (name) {\n _this.options.modifiers[name] = _extends({}, Popper.Defaults.modifiers[name] || {}, options.modifiers ? options.modifiers[name] : {});\n });\n\n // Refactoring modifiers' list (Object => Array)\n this.modifiers = Object.keys(this.options.modifiers).map(function (name) {\n return _extends({\n name: name\n }, _this.options.modifiers[name]);\n })\n // sort the modifiers by order\n .sort(function (a, b) {\n return a.order - b.order;\n });\n\n // modifiers have the ability to execute arbitrary code when Popper.js get inited\n // such code is executed in the same order of its modifier\n // they could add new properties to their options configuration\n // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`!\n this.modifiers.forEach(function (modifierOptions) {\n if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) {\n modifierOptions.onLoad(_this.reference, _this.popper, _this.options, modifierOptions, _this.state);\n }\n });\n\n // fire the first update to position the popper in the right place\n this.update();\n\n var eventsEnabled = this.options.eventsEnabled;\n if (eventsEnabled) {\n // setup event listeners, they will take care of update the position in specific situations\n this.enableEventListeners();\n }\n\n this.state.eventsEnabled = eventsEnabled;\n }\n\n // We can't use class properties because they don't get listed in the\n // class prototype and break stuff like Sinon stubs\n\n\n createClass(Popper, [{\n key: 'update',\n value: function update$$1() {\n return update.call(this);\n }\n }, {\n key: 'destroy',\n value: function destroy$$1() {\n return destroy.call(this);\n }\n }, {\n key: 'enableEventListeners',\n value: function enableEventListeners$$1() {\n return enableEventListeners.call(this);\n }\n }, {\n key: 'disableEventListeners',\n value: function disableEventListeners$$1() {\n return disableEventListeners.call(this);\n }\n\n /**\n * Schedules an update. It will run on the next UI update available.\n * @method scheduleUpdate\n * @memberof Popper\n */\n\n\n /**\n * Collection of utilities useful when writing custom modifiers.\n * Starting from version 1.7, this method is available only if you\n * include `popper-utils.js` before `popper.js`.\n *\n * **DEPRECATION**: This way to access PopperUtils is deprecated\n * and will be removed in v2! Use the PopperUtils module directly instead.\n * Due to the high instability of the methods contained in Utils, we can't\n * guarantee them to follow semver. Use them at your own risk!\n * @static\n * @private\n * @type {Object}\n * @deprecated since version 1.8\n * @member Utils\n * @memberof Popper\n */\n\n }]);\n return Popper;\n}();\n\n/**\n * The `referenceObject` is an object that provides an interface compatible with Popper.js\n * and lets you use it as replacement of a real DOM node.
\n * You can use this method to position a popper relatively to a set of coordinates\n * in case you don't have a DOM node to use as reference.\n *\n * ```\n * new Popper(referenceObject, popperNode);\n * ```\n *\n * NB: This feature isn't supported in Internet Explorer 10.\n * @name referenceObject\n * @property {Function} data.getBoundingClientRect\n * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method.\n * @property {number} data.clientWidth\n * An ES6 getter that will return the width of the virtual reference element.\n * @property {number} data.clientHeight\n * An ES6 getter that will return the height of the virtual reference element.\n */\n\n\nPopper.Utils = (typeof window !== 'undefined' ? window : global).PopperUtils;\nPopper.placements = placements;\nPopper.Defaults = Defaults;\n\nexport default Popper;\n//# sourceMappingURL=popper.js.map\n","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n","import axios from 'axios'; // ??kb\nimport 'lazysizes'; // 100kb\n// JS Cookie\nconst Cookies = require('./libraries/js.cookie'); // ??kb\nrequire('./translation');\n\n/**\n * We'll load jQuery and the Bootstrap jQuery plugin which provides support\n * for JavaScript based Bootstrap features such as modals and tabs. This\n * code may be modified to fit the specific needs of your application.\n */\n\ntry {\n window.Popper = require('popper.js').default; // 200kb\n window.$ = window.jQuery = require('jquery'); // in vendor\n\n require('bootstrap'); // 400kb\n} catch (e) {}\n\n/**\n * We'll load the axios HTTP library which allows us to easily issue requests\n * to our Laravel back-end. This library automatically handles sending the\n * CSRF token as a header based on the value of the \"XSRF\" token cookie.\n */\n\nwindow.axios = axios;\n\nwindow.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest';\n\nwindow.axios.defaults.withCredentials = true;\n\n// Global cancel token\nconst CancelToken = window.axios.CancelToken;\nwindow.axiosSource = CancelToken.source();\n\n// Cancel axios calls with cancel token on from submit\nconst forms = document.getElementsByTagName('form');\nfor (var i = 0; i < forms.length; i++) { \n forms[i].addEventListener(\"submit\", function(e) {\n window.axiosSource.cancel('Operation canceled by the user.');\n });\n}\n\n/**\n * Echo exposes an expressive API for subscribing to channels and listening\n * for events that are broadcast by Laravel. Echo and event broadcasting\n * allows your team to easily build robust real-time web applications.\n */\n\n// import Echo from 'laravel-echo';\n\n// window.Pusher = require('pusher-js');\n\n// window.Echo = new Echo({\n// broadcaster: 'pusher',\n// key: process.env.MIX_PUSHER_APP_KEY,\n// cluster: process.env.MIX_PUSHER_APP_CLUSTER,\n// forceTLS: true\n// });\n","/**\n * First we will load all of this project's JavaScript dependencies which\n * includes React and other helpers. It's a great starting point while\n * building robust, powerful web applications using React + Laravel.\n */\n\nrequire('./bootstrap');\n\n/**\n * Next, we will create a fresh React component instance and attach it to\n * the page. Then, you may begin adding components to this application\n * or customize the JavaScript scaffolding to fit your unique needs.\n */\n\nrequire('./components/Pages/ArchivePage');\n\nrequire('./other');\nrequire('./menu');","import React from 'react';\n\nclass Image extends React.Component {\n constructor(props) {\n super(props);\n\n // Defaults\n this.width = this.props.width || 307.5;\n this.height = this.props.height || 200;\n\n // Set state\n this.state = {\n focalX: 0.5,\n focalY: 0.5,\n focalZ: 1,\n sizes: {\n small: {\n media: \"(max-width: 575px)\",\n width: 190,\n height: Math.round((190 / this.width) * this.height),\n },\n normal: {\n media: \"(min-width: 576px)\",\n width: this.width,\n height: this.height,\n },\n },\n formats: ['webp', 'jpg'],\n };\n }\n\n componentDidMount() {\n // Get values from attributes\n this.setState(() => ({\n focalX: this.props.focalX || this.state.focalX,\n focalY: this.props.focalY || this.state.focalY,\n focalZ: this.props.focalZ || this.state.focalZ,\n formats: this.props.formats || this.state.formats,\n }));\n }\n\n render() {\n const pattern = new RegExp('^https?:', 'i');\n const isFullUrl = pattern.test(this.props.image);\n\n const image = isFullUrl ? this.props.image : window.imgixUrl + this.props.image;\n const stateData = this.state;\n\n const imgixPattern = new RegExp(`^${window.imgixUrl.replace(/[-[/\\]{}()*+?.,\\\\^$|#\\s]/g, '\\\\$&')}.*`, 'i');\n const isImgix = imgixPattern.test(image);\n\n if (!isImgix) {\n const paddingBottom = Math.round(this.props.width < this.props.height ? (this.props.width * 100) / this.props.height : (this.props.height * 100) / this.props.width);\n\n return (\n
\n
\n {this.props.alt}\n
\n )\n }\n\n const imageUrl = new URL(image);\n imageUrl.searchParams.set('fit', 'crop');\n imageUrl.searchParams.set('crop', 'focalpoint');\n imageUrl.searchParams.set('fp-x', stateData.focalX);\n imageUrl.searchParams.set('fp-y', stateData.focalY);\n imageUrl.searchParams.set('fp-z', stateData.focalZ);\n\n const imageMain = new URL(imageUrl);\n imageMain.searchParams.set('w', this.width);\n imageMain.searchParams.set('h', this.height);\n\n const imageLazy = new URL(imageMain);\n imageLazy.searchParams.set('px', '28');\n imageLazy.searchParams.set('q', '0');\n imageLazy.searchParams.set('colorquant', '16');\n\n // Prevent numbers to be last fix\n imageMain.searchParams.set('auto', 'format');\n imageLazy.searchParams.set('auto', 'format');\n\n return (\n \n \n {Object.keys(stateData.sizes).map(function (sizeName, index) {\n return \n {stateData.formats.map(function (format, index) {\n const src1x = new URL(image);\n src1x.searchParams.set('fit', 'crop');\n src1x.searchParams.set('crop', 'focalpoint');\n src1x.searchParams.set('fp-x', stateData.focalX);\n src1x.searchParams.set('fp-y', stateData.focalY);\n src1x.searchParams.set('fp-z', stateData.focalZ);\n src1x.searchParams.set('w', stateData.sizes[sizeName].width);\n src1x.searchParams.set('h', stateData.sizes[sizeName].height);\n src1x.searchParams.set('fm', format);\n\n const src2x = new URL(src1x);\n src2x.searchParams.set('dpr', '2');\n\n return \n })}\n \n })}\n {this.props.alt}\n\n \n \n )\n }\n}\n\nexport default Image;","import React from 'react';\n\nconst SmallPostDummy = (props) => (\n
\n
\n
\n \n \n \n
\n
\n
\n);\n\nexport default SmallPostDummy;","import React from 'react';\nimport DOMPurify from 'dompurify';\nimport Image from '../PostComponents/Image';\nimport SmallPostDummy from '../Dummies/SmallPostDummy';\nimport Ad from '../PostComponents/Ad';\n\nclass SmallPost extends React.Component {\n constructor(props) {\n super(props);\n\n this.post = this.props.data;\n this.rowCount = this.props.rowCount ?? 4;\n this.postsBeforeAd = this.rowCount * 2;\n\n }\n\n render() {\n const columnSize = 12 / this.rowCount;\n\n if (typeof this.post == 'undefined') {\n return \n }\n\n const shortContent = DOMPurify.sanitize(this.post.excerpt);\n\n\n return (\n \n
\n
\n {this.post.featured_image && \n \n {this.post.featured_image.title\n \n }\n \n

{this.post.title}

\n
\n
\n {this.post.categories[0] && (\n \n )\n }\n {this.post.date_text}\n
\n
\n
\n
\n
\n {(this.props.infinityIndex % this.postsBeforeAd == 0 \n && this.props.infinityIndex <= 8 * this.postsBeforeAd ) &&\n
\n \n
\n }\n
\n )\n }\n}\n\nexport default SmallPost;","\"use strict\";\n\n/*!\n * JavaScript Cookie v2.2.0\n * https://github.com/js-cookie/js-cookie\n *\n * Copyright 2006, 2015 Klaus Hartl & Fagner Brack\n * Released under the MIT license\n */\n;\n\nwindow.Cookie = {};\n(function (factory) {\n var registeredInModuleLoader = false;\n\n if (typeof define === 'function' && define.amd) {\n define(factory);\n registeredInModuleLoader = true;\n }\n\n if (typeof exports === 'object') {\n module.exports = factory();\n registeredInModuleLoader = true;\n }\n\n if (!registeredInModuleLoader) {\n var OldCookies = window.Cookies;\n var api = window.Cookies = factory();\n\n api.noConflict = function () {\n window.Cookies = OldCookies;\n return api;\n };\n }\n})(function () {\n function extend() {\n var i = 0;\n var result = {};\n\n for (; i < arguments.length; i++) {\n var attributes = arguments[i];\n\n for (var key in attributes) {\n result[key] = attributes[key];\n }\n }\n\n return result;\n }\n\n function init(converter) {\n function api(key, value, attributes) {\n var result;\n\n if (typeof document === 'undefined') {\n return;\n } // Write\n\n\n if (arguments.length > 1) {\n attributes = extend({\n path: '/'\n }, api.defaults, attributes);\n\n if (typeof attributes.expires === 'number') {\n var expires = new Date();\n expires.setMilliseconds(expires.getMilliseconds() + attributes.expires * 864e+5);\n attributes.expires = expires;\n } // We're using \"expires\" because \"max-age\" is not supported by IE\n\n\n attributes.expires = attributes.expires ? attributes.expires.toUTCString() : '';\n\n try {\n result = JSON.stringify(value);\n\n if (/^[\\{\\[]/.test(result)) {\n value = result;\n }\n } catch (e) {}\n\n if (!converter.write) {\n value = encodeURIComponent(String(value)).replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g, decodeURIComponent);\n } else {\n value = converter.write(value, key);\n }\n\n key = encodeURIComponent(String(key));\n key = key.replace(/%(23|24|26|2B|5E|60|7C)/g, decodeURIComponent);\n key = key.replace(/[\\(\\)]/g, escape);\n var stringifiedAttributes = '';\n\n for (var attributeName in attributes) {\n if (!attributes[attributeName]) {\n continue;\n }\n\n stringifiedAttributes += '; ' + attributeName;\n\n if (attributes[attributeName] === true) {\n continue;\n }\n\n stringifiedAttributes += '=' + attributes[attributeName];\n }\n\n return document.cookie = key + '=' + value + stringifiedAttributes;\n } // Read\n\n\n if (!key) {\n result = {};\n } // To prevent the for loop in the first place assign an empty array\n // in case there are no cookies at all. Also prevents odd result when\n // calling \"get()\"\n\n\n var cookies = document.cookie ? document.cookie.split('; ') : [];\n var rdecode = /(%[0-9A-Z]{2})+/g;\n var i = 0;\n\n for (; i < cookies.length; i++) {\n var parts = cookies[i].split('=');\n var cookie = parts.slice(1).join('=');\n\n if (!this.json && cookie.charAt(0) === '\"') {\n cookie = cookie.slice(1, -1);\n }\n\n try {\n var name = parts[0].replace(rdecode, decodeURIComponent);\n cookie = converter.read ? converter.read(cookie, name) : converter(cookie, name) || cookie.replace(rdecode, decodeURIComponent);\n\n if (this.json) {\n try {\n cookie = JSON.parse(cookie);\n } catch (e) {}\n }\n\n if (key === name) {\n result = cookie;\n break;\n }\n\n if (!key) {\n result[name] = cookie;\n }\n } catch (e) {}\n }\n\n return result;\n }\n\n window.Cookie.set = api;\n\n window.Cookie.get = function (key) {\n return api.call(api, key);\n };\n\n window.Cookie.getJSON = function () {\n return api.apply({\n json: true\n }, [].slice.call(arguments));\n };\n\n window.Cookie.defaults = {};\n\n window.Cookie.remove = function (key, attributes) {\n api(key, '', extend(attributes, {\n expires: -1\n }));\n };\n\n window.Cookie.withConverter = init;\n return api;\n }\n\n return init(function () {});\n});","import React from 'react';\nclass Ad extends React.Component {\n constructor(props) {\n super(props);\n this.adSlots = [\n '',\n 'responsive_1',\n 'responsive_2',\n 'responsive_3',\n 'responsive_4',\n 'responsive_5',\n 'responsive_6',\n 'responsive_7',\n 'responsive_8'\n ];\n }\n\n render() {\n return (\n
\n
\n
\n
\n
\n
\n );\n }\n}\nexport default Ad;\n","/**\n * Translate the given key.\n */\nwindow.trans = function(key, replaces) {\n let locale = document.documentElement.getAttribute('lang');\n let translation = key;\n\n // Check if present in DB\n if (window.translations && window.translations[translation]) {\n translation = window.translations[translation];\n translation = transReplaces(translation, replaces);\n return translation;\n }\n\n // If not, then check if english and skip if it is\n if (locale == 'en') {\n translation = transReplaces(translation, replaces);\n return translation;\n }\n\n // Or try to fetch the translation from the language files\n try {\n const translations = require(`@lang/${locale}.json`);\n translation = translations[key] ? translations[key] : key;\n\n translation = transReplaces(translation, replaces);\n } catch (error) {\n if (process.env.NODE_ENV !== 'production') {\n console.error(error);\n }\n }\n\n return translation;\n}\n\n// Simple choice variant (single/plural only, no advanced count etc.)\nwindow.trans_choice = function(key, count = 1, replaces) {\n let translation = trans(key, replaces);\n const [single, plural] = translation.split('|');\n\n return count > 1 ? plural : single;\n}\n\n// Replace keys in translation\nfunction transReplaces(text, replaces) {\n for (var key in replaces) {\n text = text.replace(':' + key, replaces[key])\n }\n\n return text;\n}","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","// Set locale\nwindow.locale = document.documentElement.getAttribute('lang');\n\n// Function for getting bootstrap current view size\nwindow.viewSize = function() {\n let envs = ['xs', 'sm', 'md', 'lg', 'xl'];\n\n let el = document.createElement('div');\n document.body.appendChild(el);\n\n let curEnv = envs.shift();\n\n for (let env of envs.reverse()) {\n el.classList.add(`d-${env}-none`);\n\n if (window.getComputedStyle(el).display === 'none') {\n curEnv = env;\n break;\n }\n }\n\n document.body.removeChild(el);\n return curEnv;\n}","import React, { Children } from 'react';\nimport ReactDOM from 'react-dom';\nimport TermFilter from './Partials/TermFilter';\n\nclass InfiniteScroll extends React.Component {\n constructor(props) {\n super(props);\n\n this.state = {\n childType: Children.only(this.props.children).type.name.toLowerCase(),\n children: [],\n lastIndex: 0,\n page: this.props.pageId ?? 1,\n initialPage: this.props.pageId ? parseInt(this.props.pageId) : 1,\n total: 0,\n perpage: this.props.perPage ?? 1,\n offset: 500,\n progress: false,\n completed: false,\n skeleton: true,\n id: this.props.id || 0,\n date: this.props.date || false,\n stateObjs: [],\n metaObjs: [],\n domain: `https://${window.location.host}`,\n pathname: `${window.location.pathname}`,\n categorySlug: window.location.pathname.split('/')[1] ?? false,\n tagSlug: window.location.pathname.split('/')[2] ?? false,\n childrenDivided: [],\n tags: [],\n categories: [],\n orderDirection: 'DESC',\n year: this.props.year || false,\n month: this.props.month || false,\n hideAds: false,\n cursor: this.props.cursor || null\n };\n\n this.topAdDiv = document.querySelector('#top_ad-');\n this.usedTimestamps = [];\n this.keyToTimestamp = [];\n this.infiniteScroll = this.infiniteScroll.bind(this);\n this.handleScroll = this.handleScroll.bind(this);\n this.onOrderingChange = this.onOrderingChange.bind(this);\n }\n\n generateUrl(data) {\n let returner = this.props.urlStructure;\n returner = returner.replace('%domain%', this.state.domain);\n returner = returner.replace('%id%', data.current_page);\n returner = returner.replace('%url%', Array.isArray(data.data) ? (data.data.length > 0 ? data.data[0].url : '') : '');\n returner = returner.replace('%pathname%', this.state.pathname);\n returner = returner.replace('%categorySlug%', this.state.categorySlug);\n returner = returner.replace('%tagSlug%', this.state.tagSlug);\n returner = returner.replace('%year%', this.state.year);\n returner = returner.replace('%month%', this.state.month);\n return returner;\n }\n\n updateBrowserHistory(index) {\n // Do not update URL in cursor-mode.\n if (this.state.cursor == null) {\n index += this.state.initialPage;\n history.pushState(this.state.stateObjs[index], '' , this.state.stateObjs[index].current_url);\n }\n }\n\n updateMetaData(index, metaData) {\n \n if (index != null) {\n index += this.state.initialPage;\n metaData = this.state.metaObjs[index];\n }\n\n if (metaData && metaData['aller_ga'] && Object.keys(metaData['aller_ga']).length !== 0) {\n const aller_ga = metaData['aller_ga'];\n window.cts = window.cts || {};\n window.cts.metadata = {\n pageId: aller_ga.id,\n publishedTime: aller_ga.postDate,\n author: aller_ga.postAuthor,\n loggedIn: aller_ga.loggedIn,\n contentType: aller_ga.pageType,\n };\n \n // seems dynamic update of schema and seo data isn't tracked by anyone so for now disabling\n return;\n }\n\n const pageTypesToUpdate = [\n 'home',\n 'single'\n ];\n\n if(pageTypesToUpdate.indexOf(this.props.pagetype) == -1 ) {\n return;\n }\n\n this.doUpdateMetaData(metaData);\n }\n\n doUpdateMetaData(metaData) {\n const headElement = document.querySelector('head');\n let metaElement;\n\n for (var key in metaData) {\n metaElement = headElement.querySelector(`meta[property=\"${key}\"]`) ?? false;\n if(metaElement){\n metaElement.content = metaData[key];\n }\n }\n }\n\n up(index) {\n this.updateBrowserHistory(index);\n this.updateMetaData(index);\n }\n\n down(index) {\n this.updateBrowserHistory(index);\n this.updateMetaData(index);\n }\n\n reset() {\n this.updateBrowserHistory(0);\n }\n\n initiateAd() {\n if (this.state.timestamp && \n !this.state.hideAds\n ) {\n this.usedTimestamps.push(this.state.timestamp);\n if(this.topAdDiv){\n this.topAdDiv.id = `${this.topAdDiv.id}${this.state.timestamp}`;\n this.topAdDiv = null;\n }\n\n // window.DFPInit is running automatically on page load, so we run DFPInit manually from the second time. \n if (this.usedTimestamps.length > 1) {\n\n if (typeof window.DFPInit === 'function') {\n window.DFPInit(this.state.timestamp);\n } else {\n console.error('DFPInit is not a function. Probably aller-ads script is not ready.');\n }\n } else {\n window.adsUniqueId = `${this.state.timestamp}`;\n }\n }\n }\n\n shouldHideAds(metaData) {\n let hideAdsEnabled = metaData._ana_hide_ads ?? false;\n let hideAds = false;\n let hideDuration = metaData._ana_hide_ads_duration_active ?? false;\n let hideUntil = metaData._ana_hide_ads_duration ?? false;\n if (hideAdsEnabled) {\n hideAds = true;\n\n if (hideDuration) {\n hideAds = new Date(hideUntil) > new Date();\n }\n }\n\n return hideAds;\n }\n\n hasNewTimestamp () {\n return this.state.timestamp && this.usedTimestamps.indexOf(this.state.timestamp) == -1;\n }\n\n componentDidUpdate() {\n if (this.hasNewTimestamp()) {\n this.initiateAd();\n }\n\n if (typeof window.instgrm !== 'undefined') {\n window.instgrm.Embeds.process();\n }\n }\n\n componentDidMount() {\n this.getInitialState();\n window.addEventListener('scroll', this.handleScroll);\n }\n\n getInitialState() {\n this.setState(() => ({\n progress: true,\n page: this.props.pageId ?? 1,\n cursor: this.props.cursor || null,\n }));\n\n if (this.state.categorySlug && this.state.categorySlug !== 'etikett' && this.state.categorySlug !== 'search') {\n axios.get(`/api/category`)\n .then((response) => {\n if (response.status == 200) {\n this.setState(() => ({\n categories: response.data,\n }));\n }\n })\n .catch((error) => {\n console.log(error);\n });\n }\n // (TODO:infinite) Create endpoint in archive class to remove year and month get variables\n let endpoint = this.props.getEndpoint?.() ?? `/api/${this.props.endpoint}/?page=${this.state.page}&count=${this.state.perpage}&id=${this.state.id}&direction=${this.state.orderDirection}&year=${this.state.year}&month=${this.state.month}`;\n\n if (this.state.cursor !== null) {\n endpoint += `&cursor=${this.state.cursor}`;\n }\n\n axios.get(endpoint)\n .then((response) => {\n let metaObjs = [];\n let stateObjs = [];\n let data = Object.values(response.data.data);\n let childrenDivided = [];\n let newChildCollection = data;\n const completed = response.data.current_page >= response.data.last_page;\n \n metaObjs[parseInt(this.state.page)] = this.props.getSeoDataArray?.(data[0]) ?? [];\n stateObjs[parseInt(this.state.page)] = {'current_url':window.location.href, 'page_title':data.title};\n childrenDivided[0] = newChildCollection;\n const cursor = response.data.cursor || null;\n\n this.setState((prevState) => ({\n page: parseInt(this.state.page),\n children: newChildCollection,\n total: response.data.total,\n progress: false,\n completed: completed,\n stateObjs: stateObjs,\n metaObjs: metaObjs,\n childrenDivided: childrenDivided,\n hideAds: (data[0]?.meta_data) ? this.shouldHideAds(data[0].meta_data) : false,\n timestamp: (Math.floor(Math.random() * 99) + 1).toString(),\n cursor,\n }));\n\n if (window.innerHeight >= document.documentElement.scrollHeight && !completed) {\n this.infiniteScroll(null, null, null, newChildCollection);\n } else {\n // Make sure window.cts.metadata is updated on initial page load.\n this.updateMetaData(0);\n }\n })\n .catch((error) => {\n console.log(error);\n });\n }\n\n onOrderingChange(event) {\n const ordering = event.target.value;\n this.setState(() => ({\n page: 0,\n children: [],\n childrenDivided: [],\n orderDirection: ordering,\n initialPage: 1,\n stateObjs: [],\n metaObjs: [],\n completed: false,\n }));\n this.infiniteScroll(true, 0, ordering);\n }\n\n handleScroll () {\n if(this.props.preview){\n return;\n }\n let contentWrapper;\n try {\n contentWrapper = ReactDOM.findDOMNode(this);\n } catch (error) {\n return;\n }\n if (!this.state.completed && \n !this.state.progress && \n (window.innerHeight + window.scrollY) >= (contentWrapper.offsetHeight)\n ) {\n this.infiniteScroll()\n }\n\n // (TODO:infinite) define benchmarks and optimize\n // (TODO:infinite) same logic for archive pages\n $('.infinityCollection').each((index, element) => {\n let rect = element.getBoundingClientRect();\n if(rect.top < 600 &&\n rect.bottom > 600 &&\n this.state.lastIndex != index){\n if (index < this.state.lastIndex)\n {\n this.up(index);\n } else {\n this.down(index);\n }\n this.setState({\n lastIndex: index\n });\n return;\n }\n });\n }\n\n infiniteScroll(reset, pageOverride, orderDirectionOverride, previousChildCollection) {\n if(this.props.preview){\n return;\n }\n this.setState(() => ({\n progress: true,\n }));\n\n const page = pageOverride ?? this.state.page;\n const direction = orderDirectionOverride ?? this.state.orderDirection;\n let endpoint = this.props.getEndpoint?.( // (TODO:infinite) Create endpoint in archive class to remove year and month get variables\n previousChildCollection || \n this.state.childrenDivided[this.state.childrenDivided.length - 1]) ?? \n `/api/${this.props.endpoint}/?page=${page + 1}&count=${this.state.perpage}&id=${this.state.id}&direction=${direction}&year=${this.state.year}&month=${this.state.month}`;\n\n if (endpoint == false) {\n this.setState((prevState) => ({\n progress: false,\n completed: true,\n }));\n\n return;\n }\n\n if (this.state.cursor !== null) {\n endpoint += `&cursor=${this.state.cursor}`;\n }\n\n axios.get(endpoint)\n .then((response) => {\n let stateObjs = this.state.stateObjs;\n let metaObjs = this.state.metaObjs;\n let data = Object.values(response.data.data);\n let childrenDivided = this.state.childrenDivided;\n\n stateObjs[page + 1] = {'current_url':this.generateUrl(response.data), 'page_title':data.title};\n metaObjs[page + 1] = this.props.getSeoDataArray?.(data[0]) ?? [];\n childrenDivided[this.state.childrenDivided.length] = data;\n const cursor = response.data.cursor || null;\n\n this.initAds = true;\n this.setState((prevState) => ({\n page: page + 1,\n children: this.state.children.concat(data),\n total: response.data.total,\n progress: false,\n completed: response.data.current_page >= response.data.last_page,\n stateObjs: stateObjs,\n metaObjs: metaObjs,\n childrenDivided: childrenDivided,\n hideAds: (data[0]?.meta_data) ? this.shouldHideAds(data[0].meta_data) : false,\n timestamp: (Math.floor(Math.random() * 99) + 1).toString(),\n cursor\n }));\n\n // Reset history? (on ordering change etc)\n if (reset) {\n this.reset();\n }\n\n this.handleScroll();\n })\n .catch((error) => {\n console.log(error);\n });\n }\n\n constructChildren(childElement) {\n let childElements = [];\n let masterindex = 1;\n let infinityIndex = 1;\n\n this.state.childrenDivided.forEach(array => {\n childElements.push((\n
\n {array.map((child, index) => {\n const key = index * masterindex + (child.id.toString() ?? 'nuller');\n if (!this.keyToTimestamp[key]) {\n this.keyToTimestamp[key] = this.state.timestamp;\n }\n const props = { \n timestamp: this.keyToTimestamp[key], \n infinityIndex: infinityIndex, \n data: child, \n key: key, \n preview: this.props.preview\n };\n infinityIndex++;\n return React.cloneElement(childElement, props);\n })}\n
));\n masterindex++;\n });\n let skeletonElements = [];\n if (this.state.progress && !this.state.completed) {\n for (let index = 0; index < this.props.perPage; index++) {\n let props = {key: `${index}-${this.state.page}`};\n skeletonElements.push(React.cloneElement(childElement, props));\n }\n childElements.push((\n
\n {skeletonElements}\n
\n ));\n }\n\n return childElements;\n }\n\n render() {\n const childElement = Children.only(this.props.children);\n\n if (!React.isValidElement(childElement)) {\n return;\n }\n \n const childElements = this.constructChildren(childElement);\n const showFilter = ['category', 'archive'].indexOf(this.props.pagetype) !== -1;\n const showLink = (this.props.pagetype == 'search' || this.props.pagetype == 'tag' || this.props.pagetype == 'category' || this.props.pagetype == 'archive')? true : false;\n const homeUrl = `${document.location.protocol}//${document.location.host}/`;\n\n return (\n \n
\n { showFilter && \n \n }\n
\n { childElements }\n {this.props.preview !== 1 && this.state.completed && showLink == false &&\n
\n
Det finns inga fler inlägg
\n
\n }\n {this.props.preview !== 1 && this.state.completed && showLink &&\n
\n
Det finns inga fler inlägg
\n Här hittar du fler inlägg\n
\n }\n
\n
\n
\n );\n } \n\n}\n\nexport default InfiniteScroll;","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/scheduler.production.min.js');\n} else {\n module.exports = require('./cjs/scheduler.development.js');\n}\n","/*!\n * Bootstrap v4.6.0 (https://getbootstrap.com/)\n * Copyright 2011-2021 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('jquery'), require('popper.js')) :\n typeof define === 'function' && define.amd ? define(['exports', 'jquery', 'popper.js'], factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.bootstrap = {}, global.jQuery, global.Popper));\n}(this, (function (exports, $, Popper) { 'use strict';\n\n function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }\n\n var $__default = /*#__PURE__*/_interopDefaultLegacy($);\n var Popper__default = /*#__PURE__*/_interopDefaultLegacy(Popper);\n\n function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n }\n\n function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n }\n\n function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n }\n\n /**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.6.0): util.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n /**\n * ------------------------------------------------------------------------\n * Private TransitionEnd Helpers\n * ------------------------------------------------------------------------\n */\n\n var TRANSITION_END = 'transitionend';\n var MAX_UID = 1000000;\n var MILLISECONDS_MULTIPLIER = 1000; // Shoutout AngusCroll (https://goo.gl/pxwQGp)\n\n function toType(obj) {\n if (obj === null || typeof obj === 'undefined') {\n return \"\" + obj;\n }\n\n return {}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase();\n }\n\n function getSpecialTransitionEndEvent() {\n return {\n bindType: TRANSITION_END,\n delegateType: TRANSITION_END,\n handle: function handle(event) {\n if ($__default['default'](event.target).is(this)) {\n return event.handleObj.handler.apply(this, arguments); // eslint-disable-line prefer-rest-params\n }\n\n return undefined;\n }\n };\n }\n\n function transitionEndEmulator(duration) {\n var _this = this;\n\n var called = false;\n $__default['default'](this).one(Util.TRANSITION_END, function () {\n called = true;\n });\n setTimeout(function () {\n if (!called) {\n Util.triggerTransitionEnd(_this);\n }\n }, duration);\n return this;\n }\n\n function setTransitionEndSupport() {\n $__default['default'].fn.emulateTransitionEnd = transitionEndEmulator;\n $__default['default'].event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent();\n }\n /**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\n\n var Util = {\n TRANSITION_END: 'bsTransitionEnd',\n getUID: function getUID(prefix) {\n do {\n prefix += ~~(Math.random() * MAX_UID); // \"~~\" acts like a faster Math.floor() here\n } while (document.getElementById(prefix));\n\n return prefix;\n },\n getSelectorFromElement: function getSelectorFromElement(element) {\n var selector = element.getAttribute('data-target');\n\n if (!selector || selector === '#') {\n var hrefAttr = element.getAttribute('href');\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : '';\n }\n\n try {\n return document.querySelector(selector) ? selector : null;\n } catch (_) {\n return null;\n }\n },\n getTransitionDurationFromElement: function getTransitionDurationFromElement(element) {\n if (!element) {\n return 0;\n } // Get transition-duration of the element\n\n\n var transitionDuration = $__default['default'](element).css('transition-duration');\n var transitionDelay = $__default['default'](element).css('transition-delay');\n var floatTransitionDuration = parseFloat(transitionDuration);\n var floatTransitionDelay = parseFloat(transitionDelay); // Return 0 if element or transition duration is not found\n\n if (!floatTransitionDuration && !floatTransitionDelay) {\n return 0;\n } // If multiple durations are defined, take the first\n\n\n transitionDuration = transitionDuration.split(',')[0];\n transitionDelay = transitionDelay.split(',')[0];\n return (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER;\n },\n reflow: function reflow(element) {\n return element.offsetHeight;\n },\n triggerTransitionEnd: function triggerTransitionEnd(element) {\n $__default['default'](element).trigger(TRANSITION_END);\n },\n supportsTransitionEnd: function supportsTransitionEnd() {\n return Boolean(TRANSITION_END);\n },\n isElement: function isElement(obj) {\n return (obj[0] || obj).nodeType;\n },\n typeCheckConfig: function typeCheckConfig(componentName, config, configTypes) {\n for (var property in configTypes) {\n if (Object.prototype.hasOwnProperty.call(configTypes, property)) {\n var expectedTypes = configTypes[property];\n var value = config[property];\n var valueType = value && Util.isElement(value) ? 'element' : toType(value);\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(componentName.toUpperCase() + \": \" + (\"Option \\\"\" + property + \"\\\" provided type \\\"\" + valueType + \"\\\" \") + (\"but expected type \\\"\" + expectedTypes + \"\\\".\"));\n }\n }\n }\n },\n findShadowRoot: function findShadowRoot(element) {\n if (!document.documentElement.attachShadow) {\n return null;\n } // Can find the shadow root otherwise it'll return the document\n\n\n if (typeof element.getRootNode === 'function') {\n var root = element.getRootNode();\n return root instanceof ShadowRoot ? root : null;\n }\n\n if (element instanceof ShadowRoot) {\n return element;\n } // when we don't find a shadow root\n\n\n if (!element.parentNode) {\n return null;\n }\n\n return Util.findShadowRoot(element.parentNode);\n },\n jQueryDetection: function jQueryDetection() {\n if (typeof $__default['default'] === 'undefined') {\n throw new TypeError('Bootstrap\\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\\'s JavaScript.');\n }\n\n var version = $__default['default'].fn.jquery.split(' ')[0].split('.');\n var minMajor = 1;\n var ltMajor = 2;\n var minMinor = 9;\n var minPatch = 1;\n var maxMajor = 4;\n\n if (version[0] < ltMajor && version[1] < minMinor || version[0] === minMajor && version[1] === minMinor && version[2] < minPatch || version[0] >= maxMajor) {\n throw new Error('Bootstrap\\'s JavaScript requires at least jQuery v1.9.1 but less than v4.0.0');\n }\n }\n };\n Util.jQueryDetection();\n setTransitionEndSupport();\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n var NAME = 'alert';\n var VERSION = '4.6.0';\n var DATA_KEY = 'bs.alert';\n var EVENT_KEY = \".\" + DATA_KEY;\n var DATA_API_KEY = '.data-api';\n var JQUERY_NO_CONFLICT = $__default['default'].fn[NAME];\n var SELECTOR_DISMISS = '[data-dismiss=\"alert\"]';\n var EVENT_CLOSE = \"close\" + EVENT_KEY;\n var EVENT_CLOSED = \"closed\" + EVENT_KEY;\n var EVENT_CLICK_DATA_API = \"click\" + EVENT_KEY + DATA_API_KEY;\n var CLASS_NAME_ALERT = 'alert';\n var CLASS_NAME_FADE = 'fade';\n var CLASS_NAME_SHOW = 'show';\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n var Alert = /*#__PURE__*/function () {\n function Alert(element) {\n this._element = element;\n } // Getters\n\n\n var _proto = Alert.prototype;\n\n // Public\n _proto.close = function close(element) {\n var rootElement = this._element;\n\n if (element) {\n rootElement = this._getRootElement(element);\n }\n\n var customEvent = this._triggerCloseEvent(rootElement);\n\n if (customEvent.isDefaultPrevented()) {\n return;\n }\n\n this._removeElement(rootElement);\n };\n\n _proto.dispose = function dispose() {\n $__default['default'].removeData(this._element, DATA_KEY);\n this._element = null;\n } // Private\n ;\n\n _proto._getRootElement = function _getRootElement(element) {\n var selector = Util.getSelectorFromElement(element);\n var parent = false;\n\n if (selector) {\n parent = document.querySelector(selector);\n }\n\n if (!parent) {\n parent = $__default['default'](element).closest(\".\" + CLASS_NAME_ALERT)[0];\n }\n\n return parent;\n };\n\n _proto._triggerCloseEvent = function _triggerCloseEvent(element) {\n var closeEvent = $__default['default'].Event(EVENT_CLOSE);\n $__default['default'](element).trigger(closeEvent);\n return closeEvent;\n };\n\n _proto._removeElement = function _removeElement(element) {\n var _this = this;\n\n $__default['default'](element).removeClass(CLASS_NAME_SHOW);\n\n if (!$__default['default'](element).hasClass(CLASS_NAME_FADE)) {\n this._destroyElement(element);\n\n return;\n }\n\n var transitionDuration = Util.getTransitionDurationFromElement(element);\n $__default['default'](element).one(Util.TRANSITION_END, function (event) {\n return _this._destroyElement(element, event);\n }).emulateTransitionEnd(transitionDuration);\n };\n\n _proto._destroyElement = function _destroyElement(element) {\n $__default['default'](element).detach().trigger(EVENT_CLOSED).remove();\n } // Static\n ;\n\n Alert._jQueryInterface = function _jQueryInterface(config) {\n return this.each(function () {\n var $element = $__default['default'](this);\n var data = $element.data(DATA_KEY);\n\n if (!data) {\n data = new Alert(this);\n $element.data(DATA_KEY, data);\n }\n\n if (config === 'close') {\n data[config](this);\n }\n });\n };\n\n Alert._handleDismiss = function _handleDismiss(alertInstance) {\n return function (event) {\n if (event) {\n event.preventDefault();\n }\n\n alertInstance.close(this);\n };\n };\n\n _createClass(Alert, null, [{\n key: \"VERSION\",\n get: function get() {\n return VERSION;\n }\n }]);\n\n return Alert;\n }();\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n\n $__default['default'](document).on(EVENT_CLICK_DATA_API, SELECTOR_DISMISS, Alert._handleDismiss(new Alert()));\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $__default['default'].fn[NAME] = Alert._jQueryInterface;\n $__default['default'].fn[NAME].Constructor = Alert;\n\n $__default['default'].fn[NAME].noConflict = function () {\n $__default['default'].fn[NAME] = JQUERY_NO_CONFLICT;\n return Alert._jQueryInterface;\n };\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n var NAME$1 = 'button';\n var VERSION$1 = '4.6.0';\n var DATA_KEY$1 = 'bs.button';\n var EVENT_KEY$1 = \".\" + DATA_KEY$1;\n var DATA_API_KEY$1 = '.data-api';\n var JQUERY_NO_CONFLICT$1 = $__default['default'].fn[NAME$1];\n var CLASS_NAME_ACTIVE = 'active';\n var CLASS_NAME_BUTTON = 'btn';\n var CLASS_NAME_FOCUS = 'focus';\n var SELECTOR_DATA_TOGGLE_CARROT = '[data-toggle^=\"button\"]';\n var SELECTOR_DATA_TOGGLES = '[data-toggle=\"buttons\"]';\n var SELECTOR_DATA_TOGGLE = '[data-toggle=\"button\"]';\n var SELECTOR_DATA_TOGGLES_BUTTONS = '[data-toggle=\"buttons\"] .btn';\n var SELECTOR_INPUT = 'input:not([type=\"hidden\"])';\n var SELECTOR_ACTIVE = '.active';\n var SELECTOR_BUTTON = '.btn';\n var EVENT_CLICK_DATA_API$1 = \"click\" + EVENT_KEY$1 + DATA_API_KEY$1;\n var EVENT_FOCUS_BLUR_DATA_API = \"focus\" + EVENT_KEY$1 + DATA_API_KEY$1 + \" \" + (\"blur\" + EVENT_KEY$1 + DATA_API_KEY$1);\n var EVENT_LOAD_DATA_API = \"load\" + EVENT_KEY$1 + DATA_API_KEY$1;\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n var Button = /*#__PURE__*/function () {\n function Button(element) {\n this._element = element;\n this.shouldAvoidTriggerChange = false;\n } // Getters\n\n\n var _proto = Button.prototype;\n\n // Public\n _proto.toggle = function toggle() {\n var triggerChangeEvent = true;\n var addAriaPressed = true;\n var rootElement = $__default['default'](this._element).closest(SELECTOR_DATA_TOGGLES)[0];\n\n if (rootElement) {\n var input = this._element.querySelector(SELECTOR_INPUT);\n\n if (input) {\n if (input.type === 'radio') {\n if (input.checked && this._element.classList.contains(CLASS_NAME_ACTIVE)) {\n triggerChangeEvent = false;\n } else {\n var activeElement = rootElement.querySelector(SELECTOR_ACTIVE);\n\n if (activeElement) {\n $__default['default'](activeElement).removeClass(CLASS_NAME_ACTIVE);\n }\n }\n }\n\n if (triggerChangeEvent) {\n // if it's not a radio button or checkbox don't add a pointless/invalid checked property to the input\n if (input.type === 'checkbox' || input.type === 'radio') {\n input.checked = !this._element.classList.contains(CLASS_NAME_ACTIVE);\n }\n\n if (!this.shouldAvoidTriggerChange) {\n $__default['default'](input).trigger('change');\n }\n }\n\n input.focus();\n addAriaPressed = false;\n }\n }\n\n if (!(this._element.hasAttribute('disabled') || this._element.classList.contains('disabled'))) {\n if (addAriaPressed) {\n this._element.setAttribute('aria-pressed', !this._element.classList.contains(CLASS_NAME_ACTIVE));\n }\n\n if (triggerChangeEvent) {\n $__default['default'](this._element).toggleClass(CLASS_NAME_ACTIVE);\n }\n }\n };\n\n _proto.dispose = function dispose() {\n $__default['default'].removeData(this._element, DATA_KEY$1);\n this._element = null;\n } // Static\n ;\n\n Button._jQueryInterface = function _jQueryInterface(config, avoidTriggerChange) {\n return this.each(function () {\n var $element = $__default['default'](this);\n var data = $element.data(DATA_KEY$1);\n\n if (!data) {\n data = new Button(this);\n $element.data(DATA_KEY$1, data);\n }\n\n data.shouldAvoidTriggerChange = avoidTriggerChange;\n\n if (config === 'toggle') {\n data[config]();\n }\n });\n };\n\n _createClass(Button, null, [{\n key: \"VERSION\",\n get: function get() {\n return VERSION$1;\n }\n }]);\n\n return Button;\n }();\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n\n $__default['default'](document).on(EVENT_CLICK_DATA_API$1, SELECTOR_DATA_TOGGLE_CARROT, function (event) {\n var button = event.target;\n var initialButton = button;\n\n if (!$__default['default'](button).hasClass(CLASS_NAME_BUTTON)) {\n button = $__default['default'](button).closest(SELECTOR_BUTTON)[0];\n }\n\n if (!button || button.hasAttribute('disabled') || button.classList.contains('disabled')) {\n event.preventDefault(); // work around Firefox bug #1540995\n } else {\n var inputBtn = button.querySelector(SELECTOR_INPUT);\n\n if (inputBtn && (inputBtn.hasAttribute('disabled') || inputBtn.classList.contains('disabled'))) {\n event.preventDefault(); // work around Firefox bug #1540995\n\n return;\n }\n\n if (initialButton.tagName === 'INPUT' || button.tagName !== 'LABEL') {\n Button._jQueryInterface.call($__default['default'](button), 'toggle', initialButton.tagName === 'INPUT');\n }\n }\n }).on(EVENT_FOCUS_BLUR_DATA_API, SELECTOR_DATA_TOGGLE_CARROT, function (event) {\n var button = $__default['default'](event.target).closest(SELECTOR_BUTTON)[0];\n $__default['default'](button).toggleClass(CLASS_NAME_FOCUS, /^focus(in)?$/.test(event.type));\n });\n $__default['default'](window).on(EVENT_LOAD_DATA_API, function () {\n // ensure correct active class is set to match the controls' actual values/states\n // find all checkboxes/readio buttons inside data-toggle groups\n var buttons = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLES_BUTTONS));\n\n for (var i = 0, len = buttons.length; i < len; i++) {\n var button = buttons[i];\n var input = button.querySelector(SELECTOR_INPUT);\n\n if (input.checked || input.hasAttribute('checked')) {\n button.classList.add(CLASS_NAME_ACTIVE);\n } else {\n button.classList.remove(CLASS_NAME_ACTIVE);\n }\n } // find all button toggles\n\n\n buttons = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLE));\n\n for (var _i = 0, _len = buttons.length; _i < _len; _i++) {\n var _button = buttons[_i];\n\n if (_button.getAttribute('aria-pressed') === 'true') {\n _button.classList.add(CLASS_NAME_ACTIVE);\n } else {\n _button.classList.remove(CLASS_NAME_ACTIVE);\n }\n }\n });\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $__default['default'].fn[NAME$1] = Button._jQueryInterface;\n $__default['default'].fn[NAME$1].Constructor = Button;\n\n $__default['default'].fn[NAME$1].noConflict = function () {\n $__default['default'].fn[NAME$1] = JQUERY_NO_CONFLICT$1;\n return Button._jQueryInterface;\n };\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n var NAME$2 = 'carousel';\n var VERSION$2 = '4.6.0';\n var DATA_KEY$2 = 'bs.carousel';\n var EVENT_KEY$2 = \".\" + DATA_KEY$2;\n var DATA_API_KEY$2 = '.data-api';\n var JQUERY_NO_CONFLICT$2 = $__default['default'].fn[NAME$2];\n var ARROW_LEFT_KEYCODE = 37; // KeyboardEvent.which value for left arrow key\n\n var ARROW_RIGHT_KEYCODE = 39; // KeyboardEvent.which value for right arrow key\n\n var TOUCHEVENT_COMPAT_WAIT = 500; // Time for mouse compat events to fire after touch\n\n var SWIPE_THRESHOLD = 40;\n var Default = {\n interval: 5000,\n keyboard: true,\n slide: false,\n pause: 'hover',\n wrap: true,\n touch: true\n };\n var DefaultType = {\n interval: '(number|boolean)',\n keyboard: 'boolean',\n slide: '(boolean|string)',\n pause: '(string|boolean)',\n wrap: 'boolean',\n touch: 'boolean'\n };\n var DIRECTION_NEXT = 'next';\n var DIRECTION_PREV = 'prev';\n var DIRECTION_LEFT = 'left';\n var DIRECTION_RIGHT = 'right';\n var EVENT_SLIDE = \"slide\" + EVENT_KEY$2;\n var EVENT_SLID = \"slid\" + EVENT_KEY$2;\n var EVENT_KEYDOWN = \"keydown\" + EVENT_KEY$2;\n var EVENT_MOUSEENTER = \"mouseenter\" + EVENT_KEY$2;\n var EVENT_MOUSELEAVE = \"mouseleave\" + EVENT_KEY$2;\n var EVENT_TOUCHSTART = \"touchstart\" + EVENT_KEY$2;\n var EVENT_TOUCHMOVE = \"touchmove\" + EVENT_KEY$2;\n var EVENT_TOUCHEND = \"touchend\" + EVENT_KEY$2;\n var EVENT_POINTERDOWN = \"pointerdown\" + EVENT_KEY$2;\n var EVENT_POINTERUP = \"pointerup\" + EVENT_KEY$2;\n var EVENT_DRAG_START = \"dragstart\" + EVENT_KEY$2;\n var EVENT_LOAD_DATA_API$1 = \"load\" + EVENT_KEY$2 + DATA_API_KEY$2;\n var EVENT_CLICK_DATA_API$2 = \"click\" + EVENT_KEY$2 + DATA_API_KEY$2;\n var CLASS_NAME_CAROUSEL = 'carousel';\n var CLASS_NAME_ACTIVE$1 = 'active';\n var CLASS_NAME_SLIDE = 'slide';\n var CLASS_NAME_RIGHT = 'carousel-item-right';\n var CLASS_NAME_LEFT = 'carousel-item-left';\n var CLASS_NAME_NEXT = 'carousel-item-next';\n var CLASS_NAME_PREV = 'carousel-item-prev';\n var CLASS_NAME_POINTER_EVENT = 'pointer-event';\n var SELECTOR_ACTIVE$1 = '.active';\n var SELECTOR_ACTIVE_ITEM = '.active.carousel-item';\n var SELECTOR_ITEM = '.carousel-item';\n var SELECTOR_ITEM_IMG = '.carousel-item img';\n var SELECTOR_NEXT_PREV = '.carousel-item-next, .carousel-item-prev';\n var SELECTOR_INDICATORS = '.carousel-indicators';\n var SELECTOR_DATA_SLIDE = '[data-slide], [data-slide-to]';\n var SELECTOR_DATA_RIDE = '[data-ride=\"carousel\"]';\n var PointerType = {\n TOUCH: 'touch',\n PEN: 'pen'\n };\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n var Carousel = /*#__PURE__*/function () {\n function Carousel(element, config) {\n this._items = null;\n this._interval = null;\n this._activeElement = null;\n this._isPaused = false;\n this._isSliding = false;\n this.touchTimeout = null;\n this.touchStartX = 0;\n this.touchDeltaX = 0;\n this._config = this._getConfig(config);\n this._element = element;\n this._indicatorsElement = this._element.querySelector(SELECTOR_INDICATORS);\n this._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0;\n this._pointerEvent = Boolean(window.PointerEvent || window.MSPointerEvent);\n\n this._addEventListeners();\n } // Getters\n\n\n var _proto = Carousel.prototype;\n\n // Public\n _proto.next = function next() {\n if (!this._isSliding) {\n this._slide(DIRECTION_NEXT);\n }\n };\n\n _proto.nextWhenVisible = function nextWhenVisible() {\n var $element = $__default['default'](this._element); // Don't call next when the page isn't visible\n // or the carousel or its parent isn't visible\n\n if (!document.hidden && $element.is(':visible') && $element.css('visibility') !== 'hidden') {\n this.next();\n }\n };\n\n _proto.prev = function prev() {\n if (!this._isSliding) {\n this._slide(DIRECTION_PREV);\n }\n };\n\n _proto.pause = function pause(event) {\n if (!event) {\n this._isPaused = true;\n }\n\n if (this._element.querySelector(SELECTOR_NEXT_PREV)) {\n Util.triggerTransitionEnd(this._element);\n this.cycle(true);\n }\n\n clearInterval(this._interval);\n this._interval = null;\n };\n\n _proto.cycle = function cycle(event) {\n if (!event) {\n this._isPaused = false;\n }\n\n if (this._interval) {\n clearInterval(this._interval);\n this._interval = null;\n }\n\n if (this._config.interval && !this._isPaused) {\n this._updateInterval();\n\n this._interval = setInterval((document.visibilityState ? this.nextWhenVisible : this.next).bind(this), this._config.interval);\n }\n };\n\n _proto.to = function to(index) {\n var _this = this;\n\n this._activeElement = this._element.querySelector(SELECTOR_ACTIVE_ITEM);\n\n var activeIndex = this._getItemIndex(this._activeElement);\n\n if (index > this._items.length - 1 || index < 0) {\n return;\n }\n\n if (this._isSliding) {\n $__default['default'](this._element).one(EVENT_SLID, function () {\n return _this.to(index);\n });\n return;\n }\n\n if (activeIndex === index) {\n this.pause();\n this.cycle();\n return;\n }\n\n var direction = index > activeIndex ? DIRECTION_NEXT : DIRECTION_PREV;\n\n this._slide(direction, this._items[index]);\n };\n\n _proto.dispose = function dispose() {\n $__default['default'](this._element).off(EVENT_KEY$2);\n $__default['default'].removeData(this._element, DATA_KEY$2);\n this._items = null;\n this._config = null;\n this._element = null;\n this._interval = null;\n this._isPaused = null;\n this._isSliding = null;\n this._activeElement = null;\n this._indicatorsElement = null;\n } // Private\n ;\n\n _proto._getConfig = function _getConfig(config) {\n config = _extends({}, Default, config);\n Util.typeCheckConfig(NAME$2, config, DefaultType);\n return config;\n };\n\n _proto._handleSwipe = function _handleSwipe() {\n var absDeltax = Math.abs(this.touchDeltaX);\n\n if (absDeltax <= SWIPE_THRESHOLD) {\n return;\n }\n\n var direction = absDeltax / this.touchDeltaX;\n this.touchDeltaX = 0; // swipe left\n\n if (direction > 0) {\n this.prev();\n } // swipe right\n\n\n if (direction < 0) {\n this.next();\n }\n };\n\n _proto._addEventListeners = function _addEventListeners() {\n var _this2 = this;\n\n if (this._config.keyboard) {\n $__default['default'](this._element).on(EVENT_KEYDOWN, function (event) {\n return _this2._keydown(event);\n });\n }\n\n if (this._config.pause === 'hover') {\n $__default['default'](this._element).on(EVENT_MOUSEENTER, function (event) {\n return _this2.pause(event);\n }).on(EVENT_MOUSELEAVE, function (event) {\n return _this2.cycle(event);\n });\n }\n\n if (this._config.touch) {\n this._addTouchEventListeners();\n }\n };\n\n _proto._addTouchEventListeners = function _addTouchEventListeners() {\n var _this3 = this;\n\n if (!this._touchSupported) {\n return;\n }\n\n var start = function start(event) {\n if (_this3._pointerEvent && PointerType[event.originalEvent.pointerType.toUpperCase()]) {\n _this3.touchStartX = event.originalEvent.clientX;\n } else if (!_this3._pointerEvent) {\n _this3.touchStartX = event.originalEvent.touches[0].clientX;\n }\n };\n\n var move = function move(event) {\n // ensure swiping with one touch and not pinching\n if (event.originalEvent.touches && event.originalEvent.touches.length > 1) {\n _this3.touchDeltaX = 0;\n } else {\n _this3.touchDeltaX = event.originalEvent.touches[0].clientX - _this3.touchStartX;\n }\n };\n\n var end = function end(event) {\n if (_this3._pointerEvent && PointerType[event.originalEvent.pointerType.toUpperCase()]) {\n _this3.touchDeltaX = event.originalEvent.clientX - _this3.touchStartX;\n }\n\n _this3._handleSwipe();\n\n if (_this3._config.pause === 'hover') {\n // If it's a touch-enabled device, mouseenter/leave are fired as\n // part of the mouse compatibility events on first tap - the carousel\n // would stop cycling until user tapped out of it;\n // here, we listen for touchend, explicitly pause the carousel\n // (as if it's the second time we tap on it, mouseenter compat event\n // is NOT fired) and after a timeout (to allow for mouse compatibility\n // events to fire) we explicitly restart cycling\n _this3.pause();\n\n if (_this3.touchTimeout) {\n clearTimeout(_this3.touchTimeout);\n }\n\n _this3.touchTimeout = setTimeout(function (event) {\n return _this3.cycle(event);\n }, TOUCHEVENT_COMPAT_WAIT + _this3._config.interval);\n }\n };\n\n $__default['default'](this._element.querySelectorAll(SELECTOR_ITEM_IMG)).on(EVENT_DRAG_START, function (e) {\n return e.preventDefault();\n });\n\n if (this._pointerEvent) {\n $__default['default'](this._element).on(EVENT_POINTERDOWN, function (event) {\n return start(event);\n });\n $__default['default'](this._element).on(EVENT_POINTERUP, function (event) {\n return end(event);\n });\n\n this._element.classList.add(CLASS_NAME_POINTER_EVENT);\n } else {\n $__default['default'](this._element).on(EVENT_TOUCHSTART, function (event) {\n return start(event);\n });\n $__default['default'](this._element).on(EVENT_TOUCHMOVE, function (event) {\n return move(event);\n });\n $__default['default'](this._element).on(EVENT_TOUCHEND, function (event) {\n return end(event);\n });\n }\n };\n\n _proto._keydown = function _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return;\n }\n\n switch (event.which) {\n case ARROW_LEFT_KEYCODE:\n event.preventDefault();\n this.prev();\n break;\n\n case ARROW_RIGHT_KEYCODE:\n event.preventDefault();\n this.next();\n break;\n }\n };\n\n _proto._getItemIndex = function _getItemIndex(element) {\n this._items = element && element.parentNode ? [].slice.call(element.parentNode.querySelectorAll(SELECTOR_ITEM)) : [];\n return this._items.indexOf(element);\n };\n\n _proto._getItemByDirection = function _getItemByDirection(direction, activeElement) {\n var isNextDirection = direction === DIRECTION_NEXT;\n var isPrevDirection = direction === DIRECTION_PREV;\n\n var activeIndex = this._getItemIndex(activeElement);\n\n var lastItemIndex = this._items.length - 1;\n var isGoingToWrap = isPrevDirection && activeIndex === 0 || isNextDirection && activeIndex === lastItemIndex;\n\n if (isGoingToWrap && !this._config.wrap) {\n return activeElement;\n }\n\n var delta = direction === DIRECTION_PREV ? -1 : 1;\n var itemIndex = (activeIndex + delta) % this._items.length;\n return itemIndex === -1 ? this._items[this._items.length - 1] : this._items[itemIndex];\n };\n\n _proto._triggerSlideEvent = function _triggerSlideEvent(relatedTarget, eventDirectionName) {\n var targetIndex = this._getItemIndex(relatedTarget);\n\n var fromIndex = this._getItemIndex(this._element.querySelector(SELECTOR_ACTIVE_ITEM));\n\n var slideEvent = $__default['default'].Event(EVENT_SLIDE, {\n relatedTarget: relatedTarget,\n direction: eventDirectionName,\n from: fromIndex,\n to: targetIndex\n });\n $__default['default'](this._element).trigger(slideEvent);\n return slideEvent;\n };\n\n _proto._setActiveIndicatorElement = function _setActiveIndicatorElement(element) {\n if (this._indicatorsElement) {\n var indicators = [].slice.call(this._indicatorsElement.querySelectorAll(SELECTOR_ACTIVE$1));\n $__default['default'](indicators).removeClass(CLASS_NAME_ACTIVE$1);\n\n var nextIndicator = this._indicatorsElement.children[this._getItemIndex(element)];\n\n if (nextIndicator) {\n $__default['default'](nextIndicator).addClass(CLASS_NAME_ACTIVE$1);\n }\n }\n };\n\n _proto._updateInterval = function _updateInterval() {\n var element = this._activeElement || this._element.querySelector(SELECTOR_ACTIVE_ITEM);\n\n if (!element) {\n return;\n }\n\n var elementInterval = parseInt(element.getAttribute('data-interval'), 10);\n\n if (elementInterval) {\n this._config.defaultInterval = this._config.defaultInterval || this._config.interval;\n this._config.interval = elementInterval;\n } else {\n this._config.interval = this._config.defaultInterval || this._config.interval;\n }\n };\n\n _proto._slide = function _slide(direction, element) {\n var _this4 = this;\n\n var activeElement = this._element.querySelector(SELECTOR_ACTIVE_ITEM);\n\n var activeElementIndex = this._getItemIndex(activeElement);\n\n var nextElement = element || activeElement && this._getItemByDirection(direction, activeElement);\n\n var nextElementIndex = this._getItemIndex(nextElement);\n\n var isCycling = Boolean(this._interval);\n var directionalClassName;\n var orderClassName;\n var eventDirectionName;\n\n if (direction === DIRECTION_NEXT) {\n directionalClassName = CLASS_NAME_LEFT;\n orderClassName = CLASS_NAME_NEXT;\n eventDirectionName = DIRECTION_LEFT;\n } else {\n directionalClassName = CLASS_NAME_RIGHT;\n orderClassName = CLASS_NAME_PREV;\n eventDirectionName = DIRECTION_RIGHT;\n }\n\n if (nextElement && $__default['default'](nextElement).hasClass(CLASS_NAME_ACTIVE$1)) {\n this._isSliding = false;\n return;\n }\n\n var slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName);\n\n if (slideEvent.isDefaultPrevented()) {\n return;\n }\n\n if (!activeElement || !nextElement) {\n // Some weirdness is happening, so we bail\n return;\n }\n\n this._isSliding = true;\n\n if (isCycling) {\n this.pause();\n }\n\n this._setActiveIndicatorElement(nextElement);\n\n this._activeElement = nextElement;\n var slidEvent = $__default['default'].Event(EVENT_SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n });\n\n if ($__default['default'](this._element).hasClass(CLASS_NAME_SLIDE)) {\n $__default['default'](nextElement).addClass(orderClassName);\n Util.reflow(nextElement);\n $__default['default'](activeElement).addClass(directionalClassName);\n $__default['default'](nextElement).addClass(directionalClassName);\n var transitionDuration = Util.getTransitionDurationFromElement(activeElement);\n $__default['default'](activeElement).one(Util.TRANSITION_END, function () {\n $__default['default'](nextElement).removeClass(directionalClassName + \" \" + orderClassName).addClass(CLASS_NAME_ACTIVE$1);\n $__default['default'](activeElement).removeClass(CLASS_NAME_ACTIVE$1 + \" \" + orderClassName + \" \" + directionalClassName);\n _this4._isSliding = false;\n setTimeout(function () {\n return $__default['default'](_this4._element).trigger(slidEvent);\n }, 0);\n }).emulateTransitionEnd(transitionDuration);\n } else {\n $__default['default'](activeElement).removeClass(CLASS_NAME_ACTIVE$1);\n $__default['default'](nextElement).addClass(CLASS_NAME_ACTIVE$1);\n this._isSliding = false;\n $__default['default'](this._element).trigger(slidEvent);\n }\n\n if (isCycling) {\n this.cycle();\n }\n } // Static\n ;\n\n Carousel._jQueryInterface = function _jQueryInterface(config) {\n return this.each(function () {\n var data = $__default['default'](this).data(DATA_KEY$2);\n\n var _config = _extends({}, Default, $__default['default'](this).data());\n\n if (typeof config === 'object') {\n _config = _extends({}, _config, config);\n }\n\n var action = typeof config === 'string' ? config : _config.slide;\n\n if (!data) {\n data = new Carousel(this, _config);\n $__default['default'](this).data(DATA_KEY$2, data);\n }\n\n if (typeof config === 'number') {\n data.to(config);\n } else if (typeof action === 'string') {\n if (typeof data[action] === 'undefined') {\n throw new TypeError(\"No method named \\\"\" + action + \"\\\"\");\n }\n\n data[action]();\n } else if (_config.interval && _config.ride) {\n data.pause();\n data.cycle();\n }\n });\n };\n\n Carousel._dataApiClickHandler = function _dataApiClickHandler(event) {\n var selector = Util.getSelectorFromElement(this);\n\n if (!selector) {\n return;\n }\n\n var target = $__default['default'](selector)[0];\n\n if (!target || !$__default['default'](target).hasClass(CLASS_NAME_CAROUSEL)) {\n return;\n }\n\n var config = _extends({}, $__default['default'](target).data(), $__default['default'](this).data());\n\n var slideIndex = this.getAttribute('data-slide-to');\n\n if (slideIndex) {\n config.interval = false;\n }\n\n Carousel._jQueryInterface.call($__default['default'](target), config);\n\n if (slideIndex) {\n $__default['default'](target).data(DATA_KEY$2).to(slideIndex);\n }\n\n event.preventDefault();\n };\n\n _createClass(Carousel, null, [{\n key: \"VERSION\",\n get: function get() {\n return VERSION$2;\n }\n }, {\n key: \"Default\",\n get: function get() {\n return Default;\n }\n }]);\n\n return Carousel;\n }();\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n\n $__default['default'](document).on(EVENT_CLICK_DATA_API$2, SELECTOR_DATA_SLIDE, Carousel._dataApiClickHandler);\n $__default['default'](window).on(EVENT_LOAD_DATA_API$1, function () {\n var carousels = [].slice.call(document.querySelectorAll(SELECTOR_DATA_RIDE));\n\n for (var i = 0, len = carousels.length; i < len; i++) {\n var $carousel = $__default['default'](carousels[i]);\n\n Carousel._jQueryInterface.call($carousel, $carousel.data());\n }\n });\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $__default['default'].fn[NAME$2] = Carousel._jQueryInterface;\n $__default['default'].fn[NAME$2].Constructor = Carousel;\n\n $__default['default'].fn[NAME$2].noConflict = function () {\n $__default['default'].fn[NAME$2] = JQUERY_NO_CONFLICT$2;\n return Carousel._jQueryInterface;\n };\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n var NAME$3 = 'collapse';\n var VERSION$3 = '4.6.0';\n var DATA_KEY$3 = 'bs.collapse';\n var EVENT_KEY$3 = \".\" + DATA_KEY$3;\n var DATA_API_KEY$3 = '.data-api';\n var JQUERY_NO_CONFLICT$3 = $__default['default'].fn[NAME$3];\n var Default$1 = {\n toggle: true,\n parent: ''\n };\n var DefaultType$1 = {\n toggle: 'boolean',\n parent: '(string|element)'\n };\n var EVENT_SHOW = \"show\" + EVENT_KEY$3;\n var EVENT_SHOWN = \"shown\" + EVENT_KEY$3;\n var EVENT_HIDE = \"hide\" + EVENT_KEY$3;\n var EVENT_HIDDEN = \"hidden\" + EVENT_KEY$3;\n var EVENT_CLICK_DATA_API$3 = \"click\" + EVENT_KEY$3 + DATA_API_KEY$3;\n var CLASS_NAME_SHOW$1 = 'show';\n var CLASS_NAME_COLLAPSE = 'collapse';\n var CLASS_NAME_COLLAPSING = 'collapsing';\n var CLASS_NAME_COLLAPSED = 'collapsed';\n var DIMENSION_WIDTH = 'width';\n var DIMENSION_HEIGHT = 'height';\n var SELECTOR_ACTIVES = '.show, .collapsing';\n var SELECTOR_DATA_TOGGLE$1 = '[data-toggle=\"collapse\"]';\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n var Collapse = /*#__PURE__*/function () {\n function Collapse(element, config) {\n this._isTransitioning = false;\n this._element = element;\n this._config = this._getConfig(config);\n this._triggerArray = [].slice.call(document.querySelectorAll(\"[data-toggle=\\\"collapse\\\"][href=\\\"#\" + element.id + \"\\\"],\" + (\"[data-toggle=\\\"collapse\\\"][data-target=\\\"#\" + element.id + \"\\\"]\")));\n var toggleList = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLE$1));\n\n for (var i = 0, len = toggleList.length; i < len; i++) {\n var elem = toggleList[i];\n var selector = Util.getSelectorFromElement(elem);\n var filterElement = [].slice.call(document.querySelectorAll(selector)).filter(function (foundElem) {\n return foundElem === element;\n });\n\n if (selector !== null && filterElement.length > 0) {\n this._selector = selector;\n\n this._triggerArray.push(elem);\n }\n }\n\n this._parent = this._config.parent ? this._getParent() : null;\n\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._element, this._triggerArray);\n }\n\n if (this._config.toggle) {\n this.toggle();\n }\n } // Getters\n\n\n var _proto = Collapse.prototype;\n\n // Public\n _proto.toggle = function toggle() {\n if ($__default['default'](this._element).hasClass(CLASS_NAME_SHOW$1)) {\n this.hide();\n } else {\n this.show();\n }\n };\n\n _proto.show = function show() {\n var _this = this;\n\n if (this._isTransitioning || $__default['default'](this._element).hasClass(CLASS_NAME_SHOW$1)) {\n return;\n }\n\n var actives;\n var activesData;\n\n if (this._parent) {\n actives = [].slice.call(this._parent.querySelectorAll(SELECTOR_ACTIVES)).filter(function (elem) {\n if (typeof _this._config.parent === 'string') {\n return elem.getAttribute('data-parent') === _this._config.parent;\n }\n\n return elem.classList.contains(CLASS_NAME_COLLAPSE);\n });\n\n if (actives.length === 0) {\n actives = null;\n }\n }\n\n if (actives) {\n activesData = $__default['default'](actives).not(this._selector).data(DATA_KEY$3);\n\n if (activesData && activesData._isTransitioning) {\n return;\n }\n }\n\n var startEvent = $__default['default'].Event(EVENT_SHOW);\n $__default['default'](this._element).trigger(startEvent);\n\n if (startEvent.isDefaultPrevented()) {\n return;\n }\n\n if (actives) {\n Collapse._jQueryInterface.call($__default['default'](actives).not(this._selector), 'hide');\n\n if (!activesData) {\n $__default['default'](actives).data(DATA_KEY$3, null);\n }\n }\n\n var dimension = this._getDimension();\n\n $__default['default'](this._element).removeClass(CLASS_NAME_COLLAPSE).addClass(CLASS_NAME_COLLAPSING);\n this._element.style[dimension] = 0;\n\n if (this._triggerArray.length) {\n $__default['default'](this._triggerArray).removeClass(CLASS_NAME_COLLAPSED).attr('aria-expanded', true);\n }\n\n this.setTransitioning(true);\n\n var complete = function complete() {\n $__default['default'](_this._element).removeClass(CLASS_NAME_COLLAPSING).addClass(CLASS_NAME_COLLAPSE + \" \" + CLASS_NAME_SHOW$1);\n _this._element.style[dimension] = '';\n\n _this.setTransitioning(false);\n\n $__default['default'](_this._element).trigger(EVENT_SHOWN);\n };\n\n var capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1);\n var scrollSize = \"scroll\" + capitalizedDimension;\n var transitionDuration = Util.getTransitionDurationFromElement(this._element);\n $__default['default'](this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);\n this._element.style[dimension] = this._element[scrollSize] + \"px\";\n };\n\n _proto.hide = function hide() {\n var _this2 = this;\n\n if (this._isTransitioning || !$__default['default'](this._element).hasClass(CLASS_NAME_SHOW$1)) {\n return;\n }\n\n var startEvent = $__default['default'].Event(EVENT_HIDE);\n $__default['default'](this._element).trigger(startEvent);\n\n if (startEvent.isDefaultPrevented()) {\n return;\n }\n\n var dimension = this._getDimension();\n\n this._element.style[dimension] = this._element.getBoundingClientRect()[dimension] + \"px\";\n Util.reflow(this._element);\n $__default['default'](this._element).addClass(CLASS_NAME_COLLAPSING).removeClass(CLASS_NAME_COLLAPSE + \" \" + CLASS_NAME_SHOW$1);\n var triggerArrayLength = this._triggerArray.length;\n\n if (triggerArrayLength > 0) {\n for (var i = 0; i < triggerArrayLength; i++) {\n var trigger = this._triggerArray[i];\n var selector = Util.getSelectorFromElement(trigger);\n\n if (selector !== null) {\n var $elem = $__default['default']([].slice.call(document.querySelectorAll(selector)));\n\n if (!$elem.hasClass(CLASS_NAME_SHOW$1)) {\n $__default['default'](trigger).addClass(CLASS_NAME_COLLAPSED).attr('aria-expanded', false);\n }\n }\n }\n }\n\n this.setTransitioning(true);\n\n var complete = function complete() {\n _this2.setTransitioning(false);\n\n $__default['default'](_this2._element).removeClass(CLASS_NAME_COLLAPSING).addClass(CLASS_NAME_COLLAPSE).trigger(EVENT_HIDDEN);\n };\n\n this._element.style[dimension] = '';\n var transitionDuration = Util.getTransitionDurationFromElement(this._element);\n $__default['default'](this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);\n };\n\n _proto.setTransitioning = function setTransitioning(isTransitioning) {\n this._isTransitioning = isTransitioning;\n };\n\n _proto.dispose = function dispose() {\n $__default['default'].removeData(this._element, DATA_KEY$3);\n this._config = null;\n this._parent = null;\n this._element = null;\n this._triggerArray = null;\n this._isTransitioning = null;\n } // Private\n ;\n\n _proto._getConfig = function _getConfig(config) {\n config = _extends({}, Default$1, config);\n config.toggle = Boolean(config.toggle); // Coerce string values\n\n Util.typeCheckConfig(NAME$3, config, DefaultType$1);\n return config;\n };\n\n _proto._getDimension = function _getDimension() {\n var hasWidth = $__default['default'](this._element).hasClass(DIMENSION_WIDTH);\n return hasWidth ? DIMENSION_WIDTH : DIMENSION_HEIGHT;\n };\n\n _proto._getParent = function _getParent() {\n var _this3 = this;\n\n var parent;\n\n if (Util.isElement(this._config.parent)) {\n parent = this._config.parent; // It's a jQuery object\n\n if (typeof this._config.parent.jquery !== 'undefined') {\n parent = this._config.parent[0];\n }\n } else {\n parent = document.querySelector(this._config.parent);\n }\n\n var selector = \"[data-toggle=\\\"collapse\\\"][data-parent=\\\"\" + this._config.parent + \"\\\"]\";\n var children = [].slice.call(parent.querySelectorAll(selector));\n $__default['default'](children).each(function (i, element) {\n _this3._addAriaAndCollapsedClass(Collapse._getTargetFromElement(element), [element]);\n });\n return parent;\n };\n\n _proto._addAriaAndCollapsedClass = function _addAriaAndCollapsedClass(element, triggerArray) {\n var isOpen = $__default['default'](element).hasClass(CLASS_NAME_SHOW$1);\n\n if (triggerArray.length) {\n $__default['default'](triggerArray).toggleClass(CLASS_NAME_COLLAPSED, !isOpen).attr('aria-expanded', isOpen);\n }\n } // Static\n ;\n\n Collapse._getTargetFromElement = function _getTargetFromElement(element) {\n var selector = Util.getSelectorFromElement(element);\n return selector ? document.querySelector(selector) : null;\n };\n\n Collapse._jQueryInterface = function _jQueryInterface(config) {\n return this.each(function () {\n var $element = $__default['default'](this);\n var data = $element.data(DATA_KEY$3);\n\n var _config = _extends({}, Default$1, $element.data(), typeof config === 'object' && config ? config : {});\n\n if (!data && _config.toggle && typeof config === 'string' && /show|hide/.test(config)) {\n _config.toggle = false;\n }\n\n if (!data) {\n data = new Collapse(this, _config);\n $element.data(DATA_KEY$3, data);\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(\"No method named \\\"\" + config + \"\\\"\");\n }\n\n data[config]();\n }\n });\n };\n\n _createClass(Collapse, null, [{\n key: \"VERSION\",\n get: function get() {\n return VERSION$3;\n }\n }, {\n key: \"Default\",\n get: function get() {\n return Default$1;\n }\n }]);\n\n return Collapse;\n }();\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n\n $__default['default'](document).on(EVENT_CLICK_DATA_API$3, SELECTOR_DATA_TOGGLE$1, function (event) {\n // preventDefault only for elements (which change the URL) not inside the collapsible element\n if (event.currentTarget.tagName === 'A') {\n event.preventDefault();\n }\n\n var $trigger = $__default['default'](this);\n var selector = Util.getSelectorFromElement(this);\n var selectors = [].slice.call(document.querySelectorAll(selector));\n $__default['default'](selectors).each(function () {\n var $target = $__default['default'](this);\n var data = $target.data(DATA_KEY$3);\n var config = data ? 'toggle' : $trigger.data();\n\n Collapse._jQueryInterface.call($target, config);\n });\n });\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $__default['default'].fn[NAME$3] = Collapse._jQueryInterface;\n $__default['default'].fn[NAME$3].Constructor = Collapse;\n\n $__default['default'].fn[NAME$3].noConflict = function () {\n $__default['default'].fn[NAME$3] = JQUERY_NO_CONFLICT$3;\n return Collapse._jQueryInterface;\n };\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n var NAME$4 = 'dropdown';\n var VERSION$4 = '4.6.0';\n var DATA_KEY$4 = 'bs.dropdown';\n var EVENT_KEY$4 = \".\" + DATA_KEY$4;\n var DATA_API_KEY$4 = '.data-api';\n var JQUERY_NO_CONFLICT$4 = $__default['default'].fn[NAME$4];\n var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key\n\n var SPACE_KEYCODE = 32; // KeyboardEvent.which value for space key\n\n var TAB_KEYCODE = 9; // KeyboardEvent.which value for tab key\n\n var ARROW_UP_KEYCODE = 38; // KeyboardEvent.which value for up arrow key\n\n var ARROW_DOWN_KEYCODE = 40; // KeyboardEvent.which value for down arrow key\n\n var RIGHT_MOUSE_BUTTON_WHICH = 3; // MouseEvent.which value for the right button (assuming a right-handed mouse)\n\n var REGEXP_KEYDOWN = new RegExp(ARROW_UP_KEYCODE + \"|\" + ARROW_DOWN_KEYCODE + \"|\" + ESCAPE_KEYCODE);\n var EVENT_HIDE$1 = \"hide\" + EVENT_KEY$4;\n var EVENT_HIDDEN$1 = \"hidden\" + EVENT_KEY$4;\n var EVENT_SHOW$1 = \"show\" + EVENT_KEY$4;\n var EVENT_SHOWN$1 = \"shown\" + EVENT_KEY$4;\n var EVENT_CLICK = \"click\" + EVENT_KEY$4;\n var EVENT_CLICK_DATA_API$4 = \"click\" + EVENT_KEY$4 + DATA_API_KEY$4;\n var EVENT_KEYDOWN_DATA_API = \"keydown\" + EVENT_KEY$4 + DATA_API_KEY$4;\n var EVENT_KEYUP_DATA_API = \"keyup\" + EVENT_KEY$4 + DATA_API_KEY$4;\n var CLASS_NAME_DISABLED = 'disabled';\n var CLASS_NAME_SHOW$2 = 'show';\n var CLASS_NAME_DROPUP = 'dropup';\n var CLASS_NAME_DROPRIGHT = 'dropright';\n var CLASS_NAME_DROPLEFT = 'dropleft';\n var CLASS_NAME_MENURIGHT = 'dropdown-menu-right';\n var CLASS_NAME_POSITION_STATIC = 'position-static';\n var SELECTOR_DATA_TOGGLE$2 = '[data-toggle=\"dropdown\"]';\n var SELECTOR_FORM_CHILD = '.dropdown form';\n var SELECTOR_MENU = '.dropdown-menu';\n var SELECTOR_NAVBAR_NAV = '.navbar-nav';\n var SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)';\n var PLACEMENT_TOP = 'top-start';\n var PLACEMENT_TOPEND = 'top-end';\n var PLACEMENT_BOTTOM = 'bottom-start';\n var PLACEMENT_BOTTOMEND = 'bottom-end';\n var PLACEMENT_RIGHT = 'right-start';\n var PLACEMENT_LEFT = 'left-start';\n var Default$2 = {\n offset: 0,\n flip: true,\n boundary: 'scrollParent',\n reference: 'toggle',\n display: 'dynamic',\n popperConfig: null\n };\n var DefaultType$2 = {\n offset: '(number|string|function)',\n flip: 'boolean',\n boundary: '(string|element)',\n reference: '(string|element)',\n display: 'string',\n popperConfig: '(null|object)'\n };\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n var Dropdown = /*#__PURE__*/function () {\n function Dropdown(element, config) {\n this._element = element;\n this._popper = null;\n this._config = this._getConfig(config);\n this._menu = this._getMenuElement();\n this._inNavbar = this._detectNavbar();\n\n this._addEventListeners();\n } // Getters\n\n\n var _proto = Dropdown.prototype;\n\n // Public\n _proto.toggle = function toggle() {\n if (this._element.disabled || $__default['default'](this._element).hasClass(CLASS_NAME_DISABLED)) {\n return;\n }\n\n var isActive = $__default['default'](this._menu).hasClass(CLASS_NAME_SHOW$2);\n\n Dropdown._clearMenus();\n\n if (isActive) {\n return;\n }\n\n this.show(true);\n };\n\n _proto.show = function show(usePopper) {\n if (usePopper === void 0) {\n usePopper = false;\n }\n\n if (this._element.disabled || $__default['default'](this._element).hasClass(CLASS_NAME_DISABLED) || $__default['default'](this._menu).hasClass(CLASS_NAME_SHOW$2)) {\n return;\n }\n\n var relatedTarget = {\n relatedTarget: this._element\n };\n var showEvent = $__default['default'].Event(EVENT_SHOW$1, relatedTarget);\n\n var parent = Dropdown._getParentFromElement(this._element);\n\n $__default['default'](parent).trigger(showEvent);\n\n if (showEvent.isDefaultPrevented()) {\n return;\n } // Totally disable Popper for Dropdowns in Navbar\n\n\n if (!this._inNavbar && usePopper) {\n /**\n * Check for Popper dependency\n * Popper - https://popper.js.org\n */\n if (typeof Popper__default['default'] === 'undefined') {\n throw new TypeError('Bootstrap\\'s dropdowns require Popper (https://popper.js.org)');\n }\n\n var referenceElement = this._element;\n\n if (this._config.reference === 'parent') {\n referenceElement = parent;\n } else if (Util.isElement(this._config.reference)) {\n referenceElement = this._config.reference; // Check if it's jQuery element\n\n if (typeof this._config.reference.jquery !== 'undefined') {\n referenceElement = this._config.reference[0];\n }\n } // If boundary is not `scrollParent`, then set position to `static`\n // to allow the menu to \"escape\" the scroll parent's boundaries\n // https://github.com/twbs/bootstrap/issues/24251\n\n\n if (this._config.boundary !== 'scrollParent') {\n $__default['default'](parent).addClass(CLASS_NAME_POSITION_STATIC);\n }\n\n this._popper = new Popper__default['default'](referenceElement, this._menu, this._getPopperConfig());\n } // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n\n\n if ('ontouchstart' in document.documentElement && $__default['default'](parent).closest(SELECTOR_NAVBAR_NAV).length === 0) {\n $__default['default'](document.body).children().on('mouseover', null, $__default['default'].noop);\n }\n\n this._element.focus();\n\n this._element.setAttribute('aria-expanded', true);\n\n $__default['default'](this._menu).toggleClass(CLASS_NAME_SHOW$2);\n $__default['default'](parent).toggleClass(CLASS_NAME_SHOW$2).trigger($__default['default'].Event(EVENT_SHOWN$1, relatedTarget));\n };\n\n _proto.hide = function hide() {\n if (this._element.disabled || $__default['default'](this._element).hasClass(CLASS_NAME_DISABLED) || !$__default['default'](this._menu).hasClass(CLASS_NAME_SHOW$2)) {\n return;\n }\n\n var relatedTarget = {\n relatedTarget: this._element\n };\n var hideEvent = $__default['default'].Event(EVENT_HIDE$1, relatedTarget);\n\n var parent = Dropdown._getParentFromElement(this._element);\n\n $__default['default'](parent).trigger(hideEvent);\n\n if (hideEvent.isDefaultPrevented()) {\n return;\n }\n\n if (this._popper) {\n this._popper.destroy();\n }\n\n $__default['default'](this._menu).toggleClass(CLASS_NAME_SHOW$2);\n $__default['default'](parent).toggleClass(CLASS_NAME_SHOW$2).trigger($__default['default'].Event(EVENT_HIDDEN$1, relatedTarget));\n };\n\n _proto.dispose = function dispose() {\n $__default['default'].removeData(this._element, DATA_KEY$4);\n $__default['default'](this._element).off(EVENT_KEY$4);\n this._element = null;\n this._menu = null;\n\n if (this._popper !== null) {\n this._popper.destroy();\n\n this._popper = null;\n }\n };\n\n _proto.update = function update() {\n this._inNavbar = this._detectNavbar();\n\n if (this._popper !== null) {\n this._popper.scheduleUpdate();\n }\n } // Private\n ;\n\n _proto._addEventListeners = function _addEventListeners() {\n var _this = this;\n\n $__default['default'](this._element).on(EVENT_CLICK, function (event) {\n event.preventDefault();\n event.stopPropagation();\n\n _this.toggle();\n });\n };\n\n _proto._getConfig = function _getConfig(config) {\n config = _extends({}, this.constructor.Default, $__default['default'](this._element).data(), config);\n Util.typeCheckConfig(NAME$4, config, this.constructor.DefaultType);\n return config;\n };\n\n _proto._getMenuElement = function _getMenuElement() {\n if (!this._menu) {\n var parent = Dropdown._getParentFromElement(this._element);\n\n if (parent) {\n this._menu = parent.querySelector(SELECTOR_MENU);\n }\n }\n\n return this._menu;\n };\n\n _proto._getPlacement = function _getPlacement() {\n var $parentDropdown = $__default['default'](this._element.parentNode);\n var placement = PLACEMENT_BOTTOM; // Handle dropup\n\n if ($parentDropdown.hasClass(CLASS_NAME_DROPUP)) {\n placement = $__default['default'](this._menu).hasClass(CLASS_NAME_MENURIGHT) ? PLACEMENT_TOPEND : PLACEMENT_TOP;\n } else if ($parentDropdown.hasClass(CLASS_NAME_DROPRIGHT)) {\n placement = PLACEMENT_RIGHT;\n } else if ($parentDropdown.hasClass(CLASS_NAME_DROPLEFT)) {\n placement = PLACEMENT_LEFT;\n } else if ($__default['default'](this._menu).hasClass(CLASS_NAME_MENURIGHT)) {\n placement = PLACEMENT_BOTTOMEND;\n }\n\n return placement;\n };\n\n _proto._detectNavbar = function _detectNavbar() {\n return $__default['default'](this._element).closest('.navbar').length > 0;\n };\n\n _proto._getOffset = function _getOffset() {\n var _this2 = this;\n\n var offset = {};\n\n if (typeof this._config.offset === 'function') {\n offset.fn = function (data) {\n data.offsets = _extends({}, data.offsets, _this2._config.offset(data.offsets, _this2._element) || {});\n return data;\n };\n } else {\n offset.offset = this._config.offset;\n }\n\n return offset;\n };\n\n _proto._getPopperConfig = function _getPopperConfig() {\n var popperConfig = {\n placement: this._getPlacement(),\n modifiers: {\n offset: this._getOffset(),\n flip: {\n enabled: this._config.flip\n },\n preventOverflow: {\n boundariesElement: this._config.boundary\n }\n }\n }; // Disable Popper if we have a static display\n\n if (this._config.display === 'static') {\n popperConfig.modifiers.applyStyle = {\n enabled: false\n };\n }\n\n return _extends({}, popperConfig, this._config.popperConfig);\n } // Static\n ;\n\n Dropdown._jQueryInterface = function _jQueryInterface(config) {\n return this.each(function () {\n var data = $__default['default'](this).data(DATA_KEY$4);\n\n var _config = typeof config === 'object' ? config : null;\n\n if (!data) {\n data = new Dropdown(this, _config);\n $__default['default'](this).data(DATA_KEY$4, data);\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(\"No method named \\\"\" + config + \"\\\"\");\n }\n\n data[config]();\n }\n });\n };\n\n Dropdown._clearMenus = function _clearMenus(event) {\n if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH || event.type === 'keyup' && event.which !== TAB_KEYCODE)) {\n return;\n }\n\n var toggles = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLE$2));\n\n for (var i = 0, len = toggles.length; i < len; i++) {\n var parent = Dropdown._getParentFromElement(toggles[i]);\n\n var context = $__default['default'](toggles[i]).data(DATA_KEY$4);\n var relatedTarget = {\n relatedTarget: toggles[i]\n };\n\n if (event && event.type === 'click') {\n relatedTarget.clickEvent = event;\n }\n\n if (!context) {\n continue;\n }\n\n var dropdownMenu = context._menu;\n\n if (!$__default['default'](parent).hasClass(CLASS_NAME_SHOW$2)) {\n continue;\n }\n\n if (event && (event.type === 'click' && /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE) && $__default['default'].contains(parent, event.target)) {\n continue;\n }\n\n var hideEvent = $__default['default'].Event(EVENT_HIDE$1, relatedTarget);\n $__default['default'](parent).trigger(hideEvent);\n\n if (hideEvent.isDefaultPrevented()) {\n continue;\n } // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n\n\n if ('ontouchstart' in document.documentElement) {\n $__default['default'](document.body).children().off('mouseover', null, $__default['default'].noop);\n }\n\n toggles[i].setAttribute('aria-expanded', 'false');\n\n if (context._popper) {\n context._popper.destroy();\n }\n\n $__default['default'](dropdownMenu).removeClass(CLASS_NAME_SHOW$2);\n $__default['default'](parent).removeClass(CLASS_NAME_SHOW$2).trigger($__default['default'].Event(EVENT_HIDDEN$1, relatedTarget));\n }\n };\n\n Dropdown._getParentFromElement = function _getParentFromElement(element) {\n var parent;\n var selector = Util.getSelectorFromElement(element);\n\n if (selector) {\n parent = document.querySelector(selector);\n }\n\n return parent || element.parentNode;\n } // eslint-disable-next-line complexity\n ;\n\n Dropdown._dataApiKeydownHandler = function _dataApiKeydownHandler(event) {\n // If not input/textarea:\n // - And not a key in REGEXP_KEYDOWN => not a dropdown command\n // If input/textarea:\n // - If space key => not a dropdown command\n // - If key is other than escape\n // - If key is not up or down => not a dropdown command\n // - If trigger inside the menu => not a dropdown command\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 || $__default['default'](event.target).closest(SELECTOR_MENU).length) : !REGEXP_KEYDOWN.test(event.which)) {\n return;\n }\n\n if (this.disabled || $__default['default'](this).hasClass(CLASS_NAME_DISABLED)) {\n return;\n }\n\n var parent = Dropdown._getParentFromElement(this);\n\n var isActive = $__default['default'](parent).hasClass(CLASS_NAME_SHOW$2);\n\n if (!isActive && event.which === ESCAPE_KEYCODE) {\n return;\n }\n\n event.preventDefault();\n event.stopPropagation();\n\n if (!isActive || event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE) {\n if (event.which === ESCAPE_KEYCODE) {\n $__default['default'](parent.querySelector(SELECTOR_DATA_TOGGLE$2)).trigger('focus');\n }\n\n $__default['default'](this).trigger('click');\n return;\n }\n\n var items = [].slice.call(parent.querySelectorAll(SELECTOR_VISIBLE_ITEMS)).filter(function (item) {\n return $__default['default'](item).is(':visible');\n });\n\n if (items.length === 0) {\n return;\n }\n\n var index = items.indexOf(event.target);\n\n if (event.which === ARROW_UP_KEYCODE && index > 0) {\n // Up\n index--;\n }\n\n if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) {\n // Down\n index++;\n }\n\n if (index < 0) {\n index = 0;\n }\n\n items[index].focus();\n };\n\n _createClass(Dropdown, null, [{\n key: \"VERSION\",\n get: function get() {\n return VERSION$4;\n }\n }, {\n key: \"Default\",\n get: function get() {\n return Default$2;\n }\n }, {\n key: \"DefaultType\",\n get: function get() {\n return DefaultType$2;\n }\n }]);\n\n return Dropdown;\n }();\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n\n $__default['default'](document).on(EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE$2, Dropdown._dataApiKeydownHandler).on(EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown._dataApiKeydownHandler).on(EVENT_CLICK_DATA_API$4 + \" \" + EVENT_KEYUP_DATA_API, Dropdown._clearMenus).on(EVENT_CLICK_DATA_API$4, SELECTOR_DATA_TOGGLE$2, function (event) {\n event.preventDefault();\n event.stopPropagation();\n\n Dropdown._jQueryInterface.call($__default['default'](this), 'toggle');\n }).on(EVENT_CLICK_DATA_API$4, SELECTOR_FORM_CHILD, function (e) {\n e.stopPropagation();\n });\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $__default['default'].fn[NAME$4] = Dropdown._jQueryInterface;\n $__default['default'].fn[NAME$4].Constructor = Dropdown;\n\n $__default['default'].fn[NAME$4].noConflict = function () {\n $__default['default'].fn[NAME$4] = JQUERY_NO_CONFLICT$4;\n return Dropdown._jQueryInterface;\n };\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n var NAME$5 = 'modal';\n var VERSION$5 = '4.6.0';\n var DATA_KEY$5 = 'bs.modal';\n var EVENT_KEY$5 = \".\" + DATA_KEY$5;\n var DATA_API_KEY$5 = '.data-api';\n var JQUERY_NO_CONFLICT$5 = $__default['default'].fn[NAME$5];\n var ESCAPE_KEYCODE$1 = 27; // KeyboardEvent.which value for Escape (Esc) key\n\n var Default$3 = {\n backdrop: true,\n keyboard: true,\n focus: true,\n show: true\n };\n var DefaultType$3 = {\n backdrop: '(boolean|string)',\n keyboard: 'boolean',\n focus: 'boolean',\n show: 'boolean'\n };\n var EVENT_HIDE$2 = \"hide\" + EVENT_KEY$5;\n var EVENT_HIDE_PREVENTED = \"hidePrevented\" + EVENT_KEY$5;\n var EVENT_HIDDEN$2 = \"hidden\" + EVENT_KEY$5;\n var EVENT_SHOW$2 = \"show\" + EVENT_KEY$5;\n var EVENT_SHOWN$2 = \"shown\" + EVENT_KEY$5;\n var EVENT_FOCUSIN = \"focusin\" + EVENT_KEY$5;\n var EVENT_RESIZE = \"resize\" + EVENT_KEY$5;\n var EVENT_CLICK_DISMISS = \"click.dismiss\" + EVENT_KEY$5;\n var EVENT_KEYDOWN_DISMISS = \"keydown.dismiss\" + EVENT_KEY$5;\n var EVENT_MOUSEUP_DISMISS = \"mouseup.dismiss\" + EVENT_KEY$5;\n var EVENT_MOUSEDOWN_DISMISS = \"mousedown.dismiss\" + EVENT_KEY$5;\n var EVENT_CLICK_DATA_API$5 = \"click\" + EVENT_KEY$5 + DATA_API_KEY$5;\n var CLASS_NAME_SCROLLABLE = 'modal-dialog-scrollable';\n var CLASS_NAME_SCROLLBAR_MEASURER = 'modal-scrollbar-measure';\n var CLASS_NAME_BACKDROP = 'modal-backdrop';\n var CLASS_NAME_OPEN = 'modal-open';\n var CLASS_NAME_FADE$1 = 'fade';\n var CLASS_NAME_SHOW$3 = 'show';\n var CLASS_NAME_STATIC = 'modal-static';\n var SELECTOR_DIALOG = '.modal-dialog';\n var SELECTOR_MODAL_BODY = '.modal-body';\n var SELECTOR_DATA_TOGGLE$3 = '[data-toggle=\"modal\"]';\n var SELECTOR_DATA_DISMISS = '[data-dismiss=\"modal\"]';\n var SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top';\n var SELECTOR_STICKY_CONTENT = '.sticky-top';\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n var Modal = /*#__PURE__*/function () {\n function Modal(element, config) {\n this._config = this._getConfig(config);\n this._element = element;\n this._dialog = element.querySelector(SELECTOR_DIALOG);\n this._backdrop = null;\n this._isShown = false;\n this._isBodyOverflowing = false;\n this._ignoreBackdropClick = false;\n this._isTransitioning = false;\n this._scrollbarWidth = 0;\n } // Getters\n\n\n var _proto = Modal.prototype;\n\n // Public\n _proto.toggle = function toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget);\n };\n\n _proto.show = function show(relatedTarget) {\n var _this = this;\n\n if (this._isShown || this._isTransitioning) {\n return;\n }\n\n if ($__default['default'](this._element).hasClass(CLASS_NAME_FADE$1)) {\n this._isTransitioning = true;\n }\n\n var showEvent = $__default['default'].Event(EVENT_SHOW$2, {\n relatedTarget: relatedTarget\n });\n $__default['default'](this._element).trigger(showEvent);\n\n if (this._isShown || showEvent.isDefaultPrevented()) {\n return;\n }\n\n this._isShown = true;\n\n this._checkScrollbar();\n\n this._setScrollbar();\n\n this._adjustDialog();\n\n this._setEscapeEvent();\n\n this._setResizeEvent();\n\n $__default['default'](this._element).on(EVENT_CLICK_DISMISS, SELECTOR_DATA_DISMISS, function (event) {\n return _this.hide(event);\n });\n $__default['default'](this._dialog).on(EVENT_MOUSEDOWN_DISMISS, function () {\n $__default['default'](_this._element).one(EVENT_MOUSEUP_DISMISS, function (event) {\n if ($__default['default'](event.target).is(_this._element)) {\n _this._ignoreBackdropClick = true;\n }\n });\n });\n\n this._showBackdrop(function () {\n return _this._showElement(relatedTarget);\n });\n };\n\n _proto.hide = function hide(event) {\n var _this2 = this;\n\n if (event) {\n event.preventDefault();\n }\n\n if (!this._isShown || this._isTransitioning) {\n return;\n }\n\n var hideEvent = $__default['default'].Event(EVENT_HIDE$2);\n $__default['default'](this._element).trigger(hideEvent);\n\n if (!this._isShown || hideEvent.isDefaultPrevented()) {\n return;\n }\n\n this._isShown = false;\n var transition = $__default['default'](this._element).hasClass(CLASS_NAME_FADE$1);\n\n if (transition) {\n this._isTransitioning = true;\n }\n\n this._setEscapeEvent();\n\n this._setResizeEvent();\n\n $__default['default'](document).off(EVENT_FOCUSIN);\n $__default['default'](this._element).removeClass(CLASS_NAME_SHOW$3);\n $__default['default'](this._element).off(EVENT_CLICK_DISMISS);\n $__default['default'](this._dialog).off(EVENT_MOUSEDOWN_DISMISS);\n\n if (transition) {\n var transitionDuration = Util.getTransitionDurationFromElement(this._element);\n $__default['default'](this._element).one(Util.TRANSITION_END, function (event) {\n return _this2._hideModal(event);\n }).emulateTransitionEnd(transitionDuration);\n } else {\n this._hideModal();\n }\n };\n\n _proto.dispose = function dispose() {\n [window, this._element, this._dialog].forEach(function (htmlElement) {\n return $__default['default'](htmlElement).off(EVENT_KEY$5);\n });\n /**\n * `document` has 2 events `EVENT_FOCUSIN` and `EVENT_CLICK_DATA_API`\n * Do not move `document` in `htmlElements` array\n * It will remove `EVENT_CLICK_DATA_API` event that should remain\n */\n\n $__default['default'](document).off(EVENT_FOCUSIN);\n $__default['default'].removeData(this._element, DATA_KEY$5);\n this._config = null;\n this._element = null;\n this._dialog = null;\n this._backdrop = null;\n this._isShown = null;\n this._isBodyOverflowing = null;\n this._ignoreBackdropClick = null;\n this._isTransitioning = null;\n this._scrollbarWidth = null;\n };\n\n _proto.handleUpdate = function handleUpdate() {\n this._adjustDialog();\n } // Private\n ;\n\n _proto._getConfig = function _getConfig(config) {\n config = _extends({}, Default$3, config);\n Util.typeCheckConfig(NAME$5, config, DefaultType$3);\n return config;\n };\n\n _proto._triggerBackdropTransition = function _triggerBackdropTransition() {\n var _this3 = this;\n\n var hideEventPrevented = $__default['default'].Event(EVENT_HIDE_PREVENTED);\n $__default['default'](this._element).trigger(hideEventPrevented);\n\n if (hideEventPrevented.isDefaultPrevented()) {\n return;\n }\n\n var isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight;\n\n if (!isModalOverflowing) {\n this._element.style.overflowY = 'hidden';\n }\n\n this._element.classList.add(CLASS_NAME_STATIC);\n\n var modalTransitionDuration = Util.getTransitionDurationFromElement(this._dialog);\n $__default['default'](this._element).off(Util.TRANSITION_END);\n $__default['default'](this._element).one(Util.TRANSITION_END, function () {\n _this3._element.classList.remove(CLASS_NAME_STATIC);\n\n if (!isModalOverflowing) {\n $__default['default'](_this3._element).one(Util.TRANSITION_END, function () {\n _this3._element.style.overflowY = '';\n }).emulateTransitionEnd(_this3._element, modalTransitionDuration);\n }\n }).emulateTransitionEnd(modalTransitionDuration);\n\n this._element.focus();\n };\n\n _proto._showElement = function _showElement(relatedTarget) {\n var _this4 = this;\n\n var transition = $__default['default'](this._element).hasClass(CLASS_NAME_FADE$1);\n var modalBody = this._dialog ? this._dialog.querySelector(SELECTOR_MODAL_BODY) : null;\n\n if (!this._element.parentNode || this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {\n // Don't move modal's DOM position\n document.body.appendChild(this._element);\n }\n\n this._element.style.display = 'block';\n\n this._element.removeAttribute('aria-hidden');\n\n this._element.setAttribute('aria-modal', true);\n\n this._element.setAttribute('role', 'dialog');\n\n if ($__default['default'](this._dialog).hasClass(CLASS_NAME_SCROLLABLE) && modalBody) {\n modalBody.scrollTop = 0;\n } else {\n this._element.scrollTop = 0;\n }\n\n if (transition) {\n Util.reflow(this._element);\n }\n\n $__default['default'](this._element).addClass(CLASS_NAME_SHOW$3);\n\n if (this._config.focus) {\n this._enforceFocus();\n }\n\n var shownEvent = $__default['default'].Event(EVENT_SHOWN$2, {\n relatedTarget: relatedTarget\n });\n\n var transitionComplete = function transitionComplete() {\n if (_this4._config.focus) {\n _this4._element.focus();\n }\n\n _this4._isTransitioning = false;\n $__default['default'](_this4._element).trigger(shownEvent);\n };\n\n if (transition) {\n var transitionDuration = Util.getTransitionDurationFromElement(this._dialog);\n $__default['default'](this._dialog).one(Util.TRANSITION_END, transitionComplete).emulateTransitionEnd(transitionDuration);\n } else {\n transitionComplete();\n }\n };\n\n _proto._enforceFocus = function _enforceFocus() {\n var _this5 = this;\n\n $__default['default'](document).off(EVENT_FOCUSIN) // Guard against infinite focus loop\n .on(EVENT_FOCUSIN, function (event) {\n if (document !== event.target && _this5._element !== event.target && $__default['default'](_this5._element).has(event.target).length === 0) {\n _this5._element.focus();\n }\n });\n };\n\n _proto._setEscapeEvent = function _setEscapeEvent() {\n var _this6 = this;\n\n if (this._isShown) {\n $__default['default'](this._element).on(EVENT_KEYDOWN_DISMISS, function (event) {\n if (_this6._config.keyboard && event.which === ESCAPE_KEYCODE$1) {\n event.preventDefault();\n\n _this6.hide();\n } else if (!_this6._config.keyboard && event.which === ESCAPE_KEYCODE$1) {\n _this6._triggerBackdropTransition();\n }\n });\n } else if (!this._isShown) {\n $__default['default'](this._element).off(EVENT_KEYDOWN_DISMISS);\n }\n };\n\n _proto._setResizeEvent = function _setResizeEvent() {\n var _this7 = this;\n\n if (this._isShown) {\n $__default['default'](window).on(EVENT_RESIZE, function (event) {\n return _this7.handleUpdate(event);\n });\n } else {\n $__default['default'](window).off(EVENT_RESIZE);\n }\n };\n\n _proto._hideModal = function _hideModal() {\n var _this8 = this;\n\n this._element.style.display = 'none';\n\n this._element.setAttribute('aria-hidden', true);\n\n this._element.removeAttribute('aria-modal');\n\n this._element.removeAttribute('role');\n\n this._isTransitioning = false;\n\n this._showBackdrop(function () {\n $__default['default'](document.body).removeClass(CLASS_NAME_OPEN);\n\n _this8._resetAdjustments();\n\n _this8._resetScrollbar();\n\n $__default['default'](_this8._element).trigger(EVENT_HIDDEN$2);\n });\n };\n\n _proto._removeBackdrop = function _removeBackdrop() {\n if (this._backdrop) {\n $__default['default'](this._backdrop).remove();\n this._backdrop = null;\n }\n };\n\n _proto._showBackdrop = function _showBackdrop(callback) {\n var _this9 = this;\n\n var animate = $__default['default'](this._element).hasClass(CLASS_NAME_FADE$1) ? CLASS_NAME_FADE$1 : '';\n\n if (this._isShown && this._config.backdrop) {\n this._backdrop = document.createElement('div');\n this._backdrop.className = CLASS_NAME_BACKDROP;\n\n if (animate) {\n this._backdrop.classList.add(animate);\n }\n\n $__default['default'](this._backdrop).appendTo(document.body);\n $__default['default'](this._element).on(EVENT_CLICK_DISMISS, function (event) {\n if (_this9._ignoreBackdropClick) {\n _this9._ignoreBackdropClick = false;\n return;\n }\n\n if (event.target !== event.currentTarget) {\n return;\n }\n\n if (_this9._config.backdrop === 'static') {\n _this9._triggerBackdropTransition();\n } else {\n _this9.hide();\n }\n });\n\n if (animate) {\n Util.reflow(this._backdrop);\n }\n\n $__default['default'](this._backdrop).addClass(CLASS_NAME_SHOW$3);\n\n if (!callback) {\n return;\n }\n\n if (!animate) {\n callback();\n return;\n }\n\n var backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop);\n $__default['default'](this._backdrop).one(Util.TRANSITION_END, callback).emulateTransitionEnd(backdropTransitionDuration);\n } else if (!this._isShown && this._backdrop) {\n $__default['default'](this._backdrop).removeClass(CLASS_NAME_SHOW$3);\n\n var callbackRemove = function callbackRemove() {\n _this9._removeBackdrop();\n\n if (callback) {\n callback();\n }\n };\n\n if ($__default['default'](this._element).hasClass(CLASS_NAME_FADE$1)) {\n var _backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop);\n\n $__default['default'](this._backdrop).one(Util.TRANSITION_END, callbackRemove).emulateTransitionEnd(_backdropTransitionDuration);\n } else {\n callbackRemove();\n }\n } else if (callback) {\n callback();\n }\n } // ----------------------------------------------------------------------\n // the following methods are used to handle overflowing modals\n // todo (fat): these should probably be refactored out of modal.js\n // ----------------------------------------------------------------------\n ;\n\n _proto._adjustDialog = function _adjustDialog() {\n var isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight;\n\n if (!this._isBodyOverflowing && isModalOverflowing) {\n this._element.style.paddingLeft = this._scrollbarWidth + \"px\";\n }\n\n if (this._isBodyOverflowing && !isModalOverflowing) {\n this._element.style.paddingRight = this._scrollbarWidth + \"px\";\n }\n };\n\n _proto._resetAdjustments = function _resetAdjustments() {\n this._element.style.paddingLeft = '';\n this._element.style.paddingRight = '';\n };\n\n _proto._checkScrollbar = function _checkScrollbar() {\n var rect = document.body.getBoundingClientRect();\n this._isBodyOverflowing = Math.round(rect.left + rect.right) < window.innerWidth;\n this._scrollbarWidth = this._getScrollbarWidth();\n };\n\n _proto._setScrollbar = function _setScrollbar() {\n var _this10 = this;\n\n if (this._isBodyOverflowing) {\n // Note: DOMNode.style.paddingRight returns the actual value or '' if not set\n // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set\n var fixedContent = [].slice.call(document.querySelectorAll(SELECTOR_FIXED_CONTENT));\n var stickyContent = [].slice.call(document.querySelectorAll(SELECTOR_STICKY_CONTENT)); // Adjust fixed content padding\n\n $__default['default'](fixedContent).each(function (index, element) {\n var actualPadding = element.style.paddingRight;\n var calculatedPadding = $__default['default'](element).css('padding-right');\n $__default['default'](element).data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + _this10._scrollbarWidth + \"px\");\n }); // Adjust sticky content margin\n\n $__default['default'](stickyContent).each(function (index, element) {\n var actualMargin = element.style.marginRight;\n var calculatedMargin = $__default['default'](element).css('margin-right');\n $__default['default'](element).data('margin-right', actualMargin).css('margin-right', parseFloat(calculatedMargin) - _this10._scrollbarWidth + \"px\");\n }); // Adjust body padding\n\n var actualPadding = document.body.style.paddingRight;\n var calculatedPadding = $__default['default'](document.body).css('padding-right');\n $__default['default'](document.body).data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + this._scrollbarWidth + \"px\");\n }\n\n $__default['default'](document.body).addClass(CLASS_NAME_OPEN);\n };\n\n _proto._resetScrollbar = function _resetScrollbar() {\n // Restore fixed content padding\n var fixedContent = [].slice.call(document.querySelectorAll(SELECTOR_FIXED_CONTENT));\n $__default['default'](fixedContent).each(function (index, element) {\n var padding = $__default['default'](element).data('padding-right');\n $__default['default'](element).removeData('padding-right');\n element.style.paddingRight = padding ? padding : '';\n }); // Restore sticky content\n\n var elements = [].slice.call(document.querySelectorAll(\"\" + SELECTOR_STICKY_CONTENT));\n $__default['default'](elements).each(function (index, element) {\n var margin = $__default['default'](element).data('margin-right');\n\n if (typeof margin !== 'undefined') {\n $__default['default'](element).css('margin-right', margin).removeData('margin-right');\n }\n }); // Restore body padding\n\n var padding = $__default['default'](document.body).data('padding-right');\n $__default['default'](document.body).removeData('padding-right');\n document.body.style.paddingRight = padding ? padding : '';\n };\n\n _proto._getScrollbarWidth = function _getScrollbarWidth() {\n // thx d.walsh\n var scrollDiv = document.createElement('div');\n scrollDiv.className = CLASS_NAME_SCROLLBAR_MEASURER;\n document.body.appendChild(scrollDiv);\n var scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth;\n document.body.removeChild(scrollDiv);\n return scrollbarWidth;\n } // Static\n ;\n\n Modal._jQueryInterface = function _jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n var data = $__default['default'](this).data(DATA_KEY$5);\n\n var _config = _extends({}, Default$3, $__default['default'](this).data(), typeof config === 'object' && config ? config : {});\n\n if (!data) {\n data = new Modal(this, _config);\n $__default['default'](this).data(DATA_KEY$5, data);\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(\"No method named \\\"\" + config + \"\\\"\");\n }\n\n data[config](relatedTarget);\n } else if (_config.show) {\n data.show(relatedTarget);\n }\n });\n };\n\n _createClass(Modal, null, [{\n key: \"VERSION\",\n get: function get() {\n return VERSION$5;\n }\n }, {\n key: \"Default\",\n get: function get() {\n return Default$3;\n }\n }]);\n\n return Modal;\n }();\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n\n $__default['default'](document).on(EVENT_CLICK_DATA_API$5, SELECTOR_DATA_TOGGLE$3, function (event) {\n var _this11 = this;\n\n var target;\n var selector = Util.getSelectorFromElement(this);\n\n if (selector) {\n target = document.querySelector(selector);\n }\n\n var config = $__default['default'](target).data(DATA_KEY$5) ? 'toggle' : _extends({}, $__default['default'](target).data(), $__default['default'](this).data());\n\n if (this.tagName === 'A' || this.tagName === 'AREA') {\n event.preventDefault();\n }\n\n var $target = $__default['default'](target).one(EVENT_SHOW$2, function (showEvent) {\n if (showEvent.isDefaultPrevented()) {\n // Only register focus restorer if modal will actually get shown\n return;\n }\n\n $target.one(EVENT_HIDDEN$2, function () {\n if ($__default['default'](_this11).is(':visible')) {\n _this11.focus();\n }\n });\n });\n\n Modal._jQueryInterface.call($__default['default'](target), config, this);\n });\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $__default['default'].fn[NAME$5] = Modal._jQueryInterface;\n $__default['default'].fn[NAME$5].Constructor = Modal;\n\n $__default['default'].fn[NAME$5].noConflict = function () {\n $__default['default'].fn[NAME$5] = JQUERY_NO_CONFLICT$5;\n return Modal._jQueryInterface;\n };\n\n /**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.6.0): tools/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n var uriAttrs = ['background', 'cite', 'href', 'itemtype', 'longdesc', 'poster', 'src', 'xlink:href'];\n var ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i;\n var DefaultWhitelist = {\n // Global attributes allowed on any supplied element below.\n '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],\n a: ['target', 'href', 'title', 'rel'],\n area: [],\n b: [],\n br: [],\n col: [],\n code: [],\n div: [],\n em: [],\n hr: [],\n h1: [],\n h2: [],\n h3: [],\n h4: [],\n h5: [],\n h6: [],\n i: [],\n img: ['src', 'srcset', 'alt', 'title', 'width', 'height'],\n li: [],\n ol: [],\n p: [],\n pre: [],\n s: [],\n small: [],\n span: [],\n sub: [],\n sup: [],\n strong: [],\n u: [],\n ul: []\n };\n /**\n * A pattern that recognizes a commonly useful subset of URLs that are safe.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\n\n var SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^#&/:?]*(?:[#/?]|$))/gi;\n /**\n * A pattern that matches safe data URLs. Only matches image, video and audio types.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\n\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,[\\d+/a-z]+=*$/i;\n\n function allowedAttribute(attr, allowedAttributeList) {\n var attrName = attr.nodeName.toLowerCase();\n\n if (allowedAttributeList.indexOf(attrName) !== -1) {\n if (uriAttrs.indexOf(attrName) !== -1) {\n return Boolean(attr.nodeValue.match(SAFE_URL_PATTERN) || attr.nodeValue.match(DATA_URL_PATTERN));\n }\n\n return true;\n }\n\n var regExp = allowedAttributeList.filter(function (attrRegex) {\n return attrRegex instanceof RegExp;\n }); // Check if a regular expression validates the attribute.\n\n for (var i = 0, len = regExp.length; i < len; i++) {\n if (attrName.match(regExp[i])) {\n return true;\n }\n }\n\n return false;\n }\n\n function sanitizeHtml(unsafeHtml, whiteList, sanitizeFn) {\n if (unsafeHtml.length === 0) {\n return unsafeHtml;\n }\n\n if (sanitizeFn && typeof sanitizeFn === 'function') {\n return sanitizeFn(unsafeHtml);\n }\n\n var domParser = new window.DOMParser();\n var createdDocument = domParser.parseFromString(unsafeHtml, 'text/html');\n var whitelistKeys = Object.keys(whiteList);\n var elements = [].slice.call(createdDocument.body.querySelectorAll('*'));\n\n var _loop = function _loop(i, len) {\n var el = elements[i];\n var elName = el.nodeName.toLowerCase();\n\n if (whitelistKeys.indexOf(el.nodeName.toLowerCase()) === -1) {\n el.parentNode.removeChild(el);\n return \"continue\";\n }\n\n var attributeList = [].slice.call(el.attributes);\n var whitelistedAttributes = [].concat(whiteList['*'] || [], whiteList[elName] || []);\n attributeList.forEach(function (attr) {\n if (!allowedAttribute(attr, whitelistedAttributes)) {\n el.removeAttribute(attr.nodeName);\n }\n });\n };\n\n for (var i = 0, len = elements.length; i < len; i++) {\n var _ret = _loop(i);\n\n if (_ret === \"continue\") continue;\n }\n\n return createdDocument.body.innerHTML;\n }\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n var NAME$6 = 'tooltip';\n var VERSION$6 = '4.6.0';\n var DATA_KEY$6 = 'bs.tooltip';\n var EVENT_KEY$6 = \".\" + DATA_KEY$6;\n var JQUERY_NO_CONFLICT$6 = $__default['default'].fn[NAME$6];\n var CLASS_PREFIX = 'bs-tooltip';\n var BSCLS_PREFIX_REGEX = new RegExp(\"(^|\\\\s)\" + CLASS_PREFIX + \"\\\\S+\", 'g');\n var DISALLOWED_ATTRIBUTES = ['sanitize', 'whiteList', 'sanitizeFn'];\n var DefaultType$4 = {\n animation: 'boolean',\n template: 'string',\n title: '(string|element|function)',\n trigger: 'string',\n delay: '(number|object)',\n html: 'boolean',\n selector: '(string|boolean)',\n placement: '(string|function)',\n offset: '(number|string|function)',\n container: '(string|element|boolean)',\n fallbackPlacement: '(string|array)',\n boundary: '(string|element)',\n customClass: '(string|function)',\n sanitize: 'boolean',\n sanitizeFn: '(null|function)',\n whiteList: 'object',\n popperConfig: '(null|object)'\n };\n var AttachmentMap = {\n AUTO: 'auto',\n TOP: 'top',\n RIGHT: 'right',\n BOTTOM: 'bottom',\n LEFT: 'left'\n };\n var Default$4 = {\n animation: true,\n template: '
' + '
' + '
',\n trigger: 'hover focus',\n title: '',\n delay: 0,\n html: false,\n selector: false,\n placement: 'top',\n offset: 0,\n container: false,\n fallbackPlacement: 'flip',\n boundary: 'scrollParent',\n customClass: '',\n sanitize: true,\n sanitizeFn: null,\n whiteList: DefaultWhitelist,\n popperConfig: null\n };\n var HOVER_STATE_SHOW = 'show';\n var HOVER_STATE_OUT = 'out';\n var Event = {\n HIDE: \"hide\" + EVENT_KEY$6,\n HIDDEN: \"hidden\" + EVENT_KEY$6,\n SHOW: \"show\" + EVENT_KEY$6,\n SHOWN: \"shown\" + EVENT_KEY$6,\n INSERTED: \"inserted\" + EVENT_KEY$6,\n CLICK: \"click\" + EVENT_KEY$6,\n FOCUSIN: \"focusin\" + EVENT_KEY$6,\n FOCUSOUT: \"focusout\" + EVENT_KEY$6,\n MOUSEENTER: \"mouseenter\" + EVENT_KEY$6,\n MOUSELEAVE: \"mouseleave\" + EVENT_KEY$6\n };\n var CLASS_NAME_FADE$2 = 'fade';\n var CLASS_NAME_SHOW$4 = 'show';\n var SELECTOR_TOOLTIP_INNER = '.tooltip-inner';\n var SELECTOR_ARROW = '.arrow';\n var TRIGGER_HOVER = 'hover';\n var TRIGGER_FOCUS = 'focus';\n var TRIGGER_CLICK = 'click';\n var TRIGGER_MANUAL = 'manual';\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n var Tooltip = /*#__PURE__*/function () {\n function Tooltip(element, config) {\n if (typeof Popper__default['default'] === 'undefined') {\n throw new TypeError('Bootstrap\\'s tooltips require Popper (https://popper.js.org)');\n } // private\n\n\n this._isEnabled = true;\n this._timeout = 0;\n this._hoverState = '';\n this._activeTrigger = {};\n this._popper = null; // Protected\n\n this.element = element;\n this.config = this._getConfig(config);\n this.tip = null;\n\n this._setListeners();\n } // Getters\n\n\n var _proto = Tooltip.prototype;\n\n // Public\n _proto.enable = function enable() {\n this._isEnabled = true;\n };\n\n _proto.disable = function disable() {\n this._isEnabled = false;\n };\n\n _proto.toggleEnabled = function toggleEnabled() {\n this._isEnabled = !this._isEnabled;\n };\n\n _proto.toggle = function toggle(event) {\n if (!this._isEnabled) {\n return;\n }\n\n if (event) {\n var dataKey = this.constructor.DATA_KEY;\n var context = $__default['default'](event.currentTarget).data(dataKey);\n\n if (!context) {\n context = new this.constructor(event.currentTarget, this._getDelegateConfig());\n $__default['default'](event.currentTarget).data(dataKey, context);\n }\n\n context._activeTrigger.click = !context._activeTrigger.click;\n\n if (context._isWithActiveTrigger()) {\n context._enter(null, context);\n } else {\n context._leave(null, context);\n }\n } else {\n if ($__default['default'](this.getTipElement()).hasClass(CLASS_NAME_SHOW$4)) {\n this._leave(null, this);\n\n return;\n }\n\n this._enter(null, this);\n }\n };\n\n _proto.dispose = function dispose() {\n clearTimeout(this._timeout);\n $__default['default'].removeData(this.element, this.constructor.DATA_KEY);\n $__default['default'](this.element).off(this.constructor.EVENT_KEY);\n $__default['default'](this.element).closest('.modal').off('hide.bs.modal', this._hideModalHandler);\n\n if (this.tip) {\n $__default['default'](this.tip).remove();\n }\n\n this._isEnabled = null;\n this._timeout = null;\n this._hoverState = null;\n this._activeTrigger = null;\n\n if (this._popper) {\n this._popper.destroy();\n }\n\n this._popper = null;\n this.element = null;\n this.config = null;\n this.tip = null;\n };\n\n _proto.show = function show() {\n var _this = this;\n\n if ($__default['default'](this.element).css('display') === 'none') {\n throw new Error('Please use show on visible elements');\n }\n\n var showEvent = $__default['default'].Event(this.constructor.Event.SHOW);\n\n if (this.isWithContent() && this._isEnabled) {\n $__default['default'](this.element).trigger(showEvent);\n var shadowRoot = Util.findShadowRoot(this.element);\n var isInTheDom = $__default['default'].contains(shadowRoot !== null ? shadowRoot : this.element.ownerDocument.documentElement, this.element);\n\n if (showEvent.isDefaultPrevented() || !isInTheDom) {\n return;\n }\n\n var tip = this.getTipElement();\n var tipId = Util.getUID(this.constructor.NAME);\n tip.setAttribute('id', tipId);\n this.element.setAttribute('aria-describedby', tipId);\n this.setContent();\n\n if (this.config.animation) {\n $__default['default'](tip).addClass(CLASS_NAME_FADE$2);\n }\n\n var placement = typeof this.config.placement === 'function' ? this.config.placement.call(this, tip, this.element) : this.config.placement;\n\n var attachment = this._getAttachment(placement);\n\n this.addAttachmentClass(attachment);\n\n var container = this._getContainer();\n\n $__default['default'](tip).data(this.constructor.DATA_KEY, this);\n\n if (!$__default['default'].contains(this.element.ownerDocument.documentElement, this.tip)) {\n $__default['default'](tip).appendTo(container);\n }\n\n $__default['default'](this.element).trigger(this.constructor.Event.INSERTED);\n this._popper = new Popper__default['default'](this.element, tip, this._getPopperConfig(attachment));\n $__default['default'](tip).addClass(CLASS_NAME_SHOW$4);\n $__default['default'](tip).addClass(this.config.customClass); // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n\n if ('ontouchstart' in document.documentElement) {\n $__default['default'](document.body).children().on('mouseover', null, $__default['default'].noop);\n }\n\n var complete = function complete() {\n if (_this.config.animation) {\n _this._fixTransition();\n }\n\n var prevHoverState = _this._hoverState;\n _this._hoverState = null;\n $__default['default'](_this.element).trigger(_this.constructor.Event.SHOWN);\n\n if (prevHoverState === HOVER_STATE_OUT) {\n _this._leave(null, _this);\n }\n };\n\n if ($__default['default'](this.tip).hasClass(CLASS_NAME_FADE$2)) {\n var transitionDuration = Util.getTransitionDurationFromElement(this.tip);\n $__default['default'](this.tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);\n } else {\n complete();\n }\n }\n };\n\n _proto.hide = function hide(callback) {\n var _this2 = this;\n\n var tip = this.getTipElement();\n var hideEvent = $__default['default'].Event(this.constructor.Event.HIDE);\n\n var complete = function complete() {\n if (_this2._hoverState !== HOVER_STATE_SHOW && tip.parentNode) {\n tip.parentNode.removeChild(tip);\n }\n\n _this2._cleanTipClass();\n\n _this2.element.removeAttribute('aria-describedby');\n\n $__default['default'](_this2.element).trigger(_this2.constructor.Event.HIDDEN);\n\n if (_this2._popper !== null) {\n _this2._popper.destroy();\n }\n\n if (callback) {\n callback();\n }\n };\n\n $__default['default'](this.element).trigger(hideEvent);\n\n if (hideEvent.isDefaultPrevented()) {\n return;\n }\n\n $__default['default'](tip).removeClass(CLASS_NAME_SHOW$4); // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n\n if ('ontouchstart' in document.documentElement) {\n $__default['default'](document.body).children().off('mouseover', null, $__default['default'].noop);\n }\n\n this._activeTrigger[TRIGGER_CLICK] = false;\n this._activeTrigger[TRIGGER_FOCUS] = false;\n this._activeTrigger[TRIGGER_HOVER] = false;\n\n if ($__default['default'](this.tip).hasClass(CLASS_NAME_FADE$2)) {\n var transitionDuration = Util.getTransitionDurationFromElement(tip);\n $__default['default'](tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);\n } else {\n complete();\n }\n\n this._hoverState = '';\n };\n\n _proto.update = function update() {\n if (this._popper !== null) {\n this._popper.scheduleUpdate();\n }\n } // Protected\n ;\n\n _proto.isWithContent = function isWithContent() {\n return Boolean(this.getTitle());\n };\n\n _proto.addAttachmentClass = function addAttachmentClass(attachment) {\n $__default['default'](this.getTipElement()).addClass(CLASS_PREFIX + \"-\" + attachment);\n };\n\n _proto.getTipElement = function getTipElement() {\n this.tip = this.tip || $__default['default'](this.config.template)[0];\n return this.tip;\n };\n\n _proto.setContent = function setContent() {\n var tip = this.getTipElement();\n this.setElementContent($__default['default'](tip.querySelectorAll(SELECTOR_TOOLTIP_INNER)), this.getTitle());\n $__default['default'](tip).removeClass(CLASS_NAME_FADE$2 + \" \" + CLASS_NAME_SHOW$4);\n };\n\n _proto.setElementContent = function setElementContent($element, content) {\n if (typeof content === 'object' && (content.nodeType || content.jquery)) {\n // Content is a DOM node or a jQuery\n if (this.config.html) {\n if (!$__default['default'](content).parent().is($element)) {\n $element.empty().append(content);\n }\n } else {\n $element.text($__default['default'](content).text());\n }\n\n return;\n }\n\n if (this.config.html) {\n if (this.config.sanitize) {\n content = sanitizeHtml(content, this.config.whiteList, this.config.sanitizeFn);\n }\n\n $element.html(content);\n } else {\n $element.text(content);\n }\n };\n\n _proto.getTitle = function getTitle() {\n var title = this.element.getAttribute('data-original-title');\n\n if (!title) {\n title = typeof this.config.title === 'function' ? this.config.title.call(this.element) : this.config.title;\n }\n\n return title;\n } // Private\n ;\n\n _proto._getPopperConfig = function _getPopperConfig(attachment) {\n var _this3 = this;\n\n var defaultBsConfig = {\n placement: attachment,\n modifiers: {\n offset: this._getOffset(),\n flip: {\n behavior: this.config.fallbackPlacement\n },\n arrow: {\n element: SELECTOR_ARROW\n },\n preventOverflow: {\n boundariesElement: this.config.boundary\n }\n },\n onCreate: function onCreate(data) {\n if (data.originalPlacement !== data.placement) {\n _this3._handlePopperPlacementChange(data);\n }\n },\n onUpdate: function onUpdate(data) {\n return _this3._handlePopperPlacementChange(data);\n }\n };\n return _extends({}, defaultBsConfig, this.config.popperConfig);\n };\n\n _proto._getOffset = function _getOffset() {\n var _this4 = this;\n\n var offset = {};\n\n if (typeof this.config.offset === 'function') {\n offset.fn = function (data) {\n data.offsets = _extends({}, data.offsets, _this4.config.offset(data.offsets, _this4.element) || {});\n return data;\n };\n } else {\n offset.offset = this.config.offset;\n }\n\n return offset;\n };\n\n _proto._getContainer = function _getContainer() {\n if (this.config.container === false) {\n return document.body;\n }\n\n if (Util.isElement(this.config.container)) {\n return $__default['default'](this.config.container);\n }\n\n return $__default['default'](document).find(this.config.container);\n };\n\n _proto._getAttachment = function _getAttachment(placement) {\n return AttachmentMap[placement.toUpperCase()];\n };\n\n _proto._setListeners = function _setListeners() {\n var _this5 = this;\n\n var triggers = this.config.trigger.split(' ');\n triggers.forEach(function (trigger) {\n if (trigger === 'click') {\n $__default['default'](_this5.element).on(_this5.constructor.Event.CLICK, _this5.config.selector, function (event) {\n return _this5.toggle(event);\n });\n } else if (trigger !== TRIGGER_MANUAL) {\n var eventIn = trigger === TRIGGER_HOVER ? _this5.constructor.Event.MOUSEENTER : _this5.constructor.Event.FOCUSIN;\n var eventOut = trigger === TRIGGER_HOVER ? _this5.constructor.Event.MOUSELEAVE : _this5.constructor.Event.FOCUSOUT;\n $__default['default'](_this5.element).on(eventIn, _this5.config.selector, function (event) {\n return _this5._enter(event);\n }).on(eventOut, _this5.config.selector, function (event) {\n return _this5._leave(event);\n });\n }\n });\n\n this._hideModalHandler = function () {\n if (_this5.element) {\n _this5.hide();\n }\n };\n\n $__default['default'](this.element).closest('.modal').on('hide.bs.modal', this._hideModalHandler);\n\n if (this.config.selector) {\n this.config = _extends({}, this.config, {\n trigger: 'manual',\n selector: ''\n });\n } else {\n this._fixTitle();\n }\n };\n\n _proto._fixTitle = function _fixTitle() {\n var titleType = typeof this.element.getAttribute('data-original-title');\n\n if (this.element.getAttribute('title') || titleType !== 'string') {\n this.element.setAttribute('data-original-title', this.element.getAttribute('title') || '');\n this.element.setAttribute('title', '');\n }\n };\n\n _proto._enter = function _enter(event, context) {\n var dataKey = this.constructor.DATA_KEY;\n context = context || $__default['default'](event.currentTarget).data(dataKey);\n\n if (!context) {\n context = new this.constructor(event.currentTarget, this._getDelegateConfig());\n $__default['default'](event.currentTarget).data(dataKey, context);\n }\n\n if (event) {\n context._activeTrigger[event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER] = true;\n }\n\n if ($__default['default'](context.getTipElement()).hasClass(CLASS_NAME_SHOW$4) || context._hoverState === HOVER_STATE_SHOW) {\n context._hoverState = HOVER_STATE_SHOW;\n return;\n }\n\n clearTimeout(context._timeout);\n context._hoverState = HOVER_STATE_SHOW;\n\n if (!context.config.delay || !context.config.delay.show) {\n context.show();\n return;\n }\n\n context._timeout = setTimeout(function () {\n if (context._hoverState === HOVER_STATE_SHOW) {\n context.show();\n }\n }, context.config.delay.show);\n };\n\n _proto._leave = function _leave(event, context) {\n var dataKey = this.constructor.DATA_KEY;\n context = context || $__default['default'](event.currentTarget).data(dataKey);\n\n if (!context) {\n context = new this.constructor(event.currentTarget, this._getDelegateConfig());\n $__default['default'](event.currentTarget).data(dataKey, context);\n }\n\n if (event) {\n context._activeTrigger[event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER] = false;\n }\n\n if (context._isWithActiveTrigger()) {\n return;\n }\n\n clearTimeout(context._timeout);\n context._hoverState = HOVER_STATE_OUT;\n\n if (!context.config.delay || !context.config.delay.hide) {\n context.hide();\n return;\n }\n\n context._timeout = setTimeout(function () {\n if (context._hoverState === HOVER_STATE_OUT) {\n context.hide();\n }\n }, context.config.delay.hide);\n };\n\n _proto._isWithActiveTrigger = function _isWithActiveTrigger() {\n for (var trigger in this._activeTrigger) {\n if (this._activeTrigger[trigger]) {\n return true;\n }\n }\n\n return false;\n };\n\n _proto._getConfig = function _getConfig(config) {\n var dataAttributes = $__default['default'](this.element).data();\n Object.keys(dataAttributes).forEach(function (dataAttr) {\n if (DISALLOWED_ATTRIBUTES.indexOf(dataAttr) !== -1) {\n delete dataAttributes[dataAttr];\n }\n });\n config = _extends({}, this.constructor.Default, dataAttributes, typeof config === 'object' && config ? config : {});\n\n if (typeof config.delay === 'number') {\n config.delay = {\n show: config.delay,\n hide: config.delay\n };\n }\n\n if (typeof config.title === 'number') {\n config.title = config.title.toString();\n }\n\n if (typeof config.content === 'number') {\n config.content = config.content.toString();\n }\n\n Util.typeCheckConfig(NAME$6, config, this.constructor.DefaultType);\n\n if (config.sanitize) {\n config.template = sanitizeHtml(config.template, config.whiteList, config.sanitizeFn);\n }\n\n return config;\n };\n\n _proto._getDelegateConfig = function _getDelegateConfig() {\n var config = {};\n\n if (this.config) {\n for (var key in this.config) {\n if (this.constructor.Default[key] !== this.config[key]) {\n config[key] = this.config[key];\n }\n }\n }\n\n return config;\n };\n\n _proto._cleanTipClass = function _cleanTipClass() {\n var $tip = $__default['default'](this.getTipElement());\n var tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX);\n\n if (tabClass !== null && tabClass.length) {\n $tip.removeClass(tabClass.join(''));\n }\n };\n\n _proto._handlePopperPlacementChange = function _handlePopperPlacementChange(popperData) {\n this.tip = popperData.instance.popper;\n\n this._cleanTipClass();\n\n this.addAttachmentClass(this._getAttachment(popperData.placement));\n };\n\n _proto._fixTransition = function _fixTransition() {\n var tip = this.getTipElement();\n var initConfigAnimation = this.config.animation;\n\n if (tip.getAttribute('x-placement') !== null) {\n return;\n }\n\n $__default['default'](tip).removeClass(CLASS_NAME_FADE$2);\n this.config.animation = false;\n this.hide();\n this.show();\n this.config.animation = initConfigAnimation;\n } // Static\n ;\n\n Tooltip._jQueryInterface = function _jQueryInterface(config) {\n return this.each(function () {\n var $element = $__default['default'](this);\n var data = $element.data(DATA_KEY$6);\n\n var _config = typeof config === 'object' && config;\n\n if (!data && /dispose|hide/.test(config)) {\n return;\n }\n\n if (!data) {\n data = new Tooltip(this, _config);\n $element.data(DATA_KEY$6, data);\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(\"No method named \\\"\" + config + \"\\\"\");\n }\n\n data[config]();\n }\n });\n };\n\n _createClass(Tooltip, null, [{\n key: \"VERSION\",\n get: function get() {\n return VERSION$6;\n }\n }, {\n key: \"Default\",\n get: function get() {\n return Default$4;\n }\n }, {\n key: \"NAME\",\n get: function get() {\n return NAME$6;\n }\n }, {\n key: \"DATA_KEY\",\n get: function get() {\n return DATA_KEY$6;\n }\n }, {\n key: \"Event\",\n get: function get() {\n return Event;\n }\n }, {\n key: \"EVENT_KEY\",\n get: function get() {\n return EVENT_KEY$6;\n }\n }, {\n key: \"DefaultType\",\n get: function get() {\n return DefaultType$4;\n }\n }]);\n\n return Tooltip;\n }();\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n\n $__default['default'].fn[NAME$6] = Tooltip._jQueryInterface;\n $__default['default'].fn[NAME$6].Constructor = Tooltip;\n\n $__default['default'].fn[NAME$6].noConflict = function () {\n $__default['default'].fn[NAME$6] = JQUERY_NO_CONFLICT$6;\n return Tooltip._jQueryInterface;\n };\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n var NAME$7 = 'popover';\n var VERSION$7 = '4.6.0';\n var DATA_KEY$7 = 'bs.popover';\n var EVENT_KEY$7 = \".\" + DATA_KEY$7;\n var JQUERY_NO_CONFLICT$7 = $__default['default'].fn[NAME$7];\n var CLASS_PREFIX$1 = 'bs-popover';\n var BSCLS_PREFIX_REGEX$1 = new RegExp(\"(^|\\\\s)\" + CLASS_PREFIX$1 + \"\\\\S+\", 'g');\n\n var Default$5 = _extends({}, Tooltip.Default, {\n placement: 'right',\n trigger: 'click',\n content: '',\n template: '
' + '
' + '

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