{"version":3,"sources":["../node_modules/@popperjs/core/lib/enums.js","../node_modules/@popperjs/core/lib/dom-utils/instanceOf.js","../node_modules/@popperjs/core/lib/dom-utils/getWindow.js","../node_modules/@popperjs/core/lib/utils/rectToClientRect.js","../node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js","../node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js","../node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js","../node_modules/@popperjs/core/lib/utils/detectOverflow.js","../node_modules/@popperjs/core/lib/utils/getBasePlacement.js","../node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js","../node_modules/@popperjs/core/lib/dom-utils/getNodeName.js","../node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js","../node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js","../node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js","../node_modules/@popperjs/core/lib/utils/orderModifiers.js","../node_modules/@popperjs/core/lib/utils/debounce.js","../node_modules/@popperjs/core/lib/createPopper.js","../node_modules/@popperjs/core/lib/utils/mergeByName.js","../node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js","../node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js","../node_modules/@popperjs/core/lib/utils/math.js","../node_modules/@popperjs/core/lib/utils/getVariation.js","../node_modules/@popperjs/core/lib/dom-utils/isTableElement.js","../node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js","../../../js/src/util/index.js","../../../js/src/dom/event-handler.js","../../../js/src/dom/data.js","../../../js/src/base-component.js","../../../js/src/util/component-functions.js","../../../js/src/alert.js","../../../js/src/button.js","../../../js/src/dom/manipulator.js","../../../js/src/dom/selector-engine.js","../../../js/src/carousel.js","../../../js/src/collapse.js","../../../js/src/dropdown.js","../../../js/src/util/scrollbar.js","../../../js/src/util/backdrop.js","../../../js/src/util/focustrap.js","../../../js/src/modal.js","../../../js/src/offcanvas.js","../../../js/src/util/sanitizer.js","../../../js/src/tooltip.js","../../../js/src/popover.js","../../../js/src/scrollspy.js","../../../js/src/tab.js","../../../js/src/toast.js","../node_modules/@popperjs/core/lib/modifiers/index.js","../node_modules/@popperjs/core/lib/modifiers/applyStyles.js","../node_modules/@popperjs/core/lib/dom-utils/getParentNode.js","../node_modules/@popperjs/core/lib/modifiers/computeStyles.js","../node_modules/@popperjs/core/lib/modifiers/eventListeners.js","../node_modules/@popperjs/core/lib/modifiers/popperOffsets.js","../node_modules/@popperjs/core/lib/popper-lite.js","../node_modules/@popperjs/core/lib/modifiers/arrow.js","../node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js","../node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js","../node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js","../node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js","../node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js","../node_modules/@popperjs/core/lib/modifiers/hide.js","../node_modules/@popperjs/core/lib/modifiers/offset.js","../node_modules/@popperjs/core/lib/utils/getOppositePlacement.js","../node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js","../node_modules/@popperjs/core/lib/modifiers/flip.js","../node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js","../node_modules/@popperjs/core/lib/modifiers/preventOverflow.js","../node_modules/@popperjs/core/lib/utils/getAltAxis.js","../node_modules/@popperjs/core/lib/index.js","../node_modules/@popperjs/core/lib/utils/mergePaddingObject.js","../node_modules/@popperjs/core/lib/utils/getFreshSideObject.js","../node_modules/@popperjs/core/lib/utils/expandToHashMap.js","../node_modules/@popperjs/core/lib/utils/within.js","../node_modules/@popperjs/core/lib/dom-utils/contains.js","../node_modules/@popperjs/core/lib/utils/computeOffsets.js","../node_modules/@popperjs/core/lib/popper.js","../node_modules/@babel/runtime/helpers/esm/get.js","../node_modules/@babel/runtime/helpers/esm/superPropBase.js","../node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js","../node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js"],"names":["top","bottom","right","left","auto","basePlacements","start","end","clippingParents","viewport","popper","reference","variationPlacements","reduce","acc","placement","concat","placements","beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite","modifierPhases","isElement","node","getWindow","Element","isHTMLElement","HTMLElement","isShadowRoot","ShadowRoot","window","toString","ownerDocument","defaultView","rectToClientRect","rect","Object","assign","x","y","width","height","getClientRectFromMixedType","element","clippingParent","win","html","getDocumentElement","visualViewport","clientWidth","clientHeight","test","navigator","userAgent","offsetLeft","offsetTop","getWindowScrollBarX","getViewportRect","getBoundingClientRect","clientTop","clientLeft","getInnerBoundingClientRect","_element$ownerDocumen","winScroll","getWindowScroll","body","max","scrollWidth","scrollHeight","scrollLeft","scrollTop","getComputedStyle","direction","getDocumentRect","getClippingRect","boundary","rootBoundary","mainClippingParents","listScrollParents","getParentNode","clipperElement","indexOf","position","getOffsetParent","filter","contains","getNodeName","getClippingParents","firstClippingParent","clippingRect","accRect","min","detectOverflow","state","options","_options","_options$placement","_options$boundary","_options$rootBoundary","_options$elementConte","elementContext","_options$altBoundary","altBoundary","_options$padding","padding","paddingObject","mergePaddingObject","expandToHashMap","altContext","popperRect","rects","elements","clippingClientRect","contextElement","referenceClientRect","popperOffsets","computeOffsets","strategy","popperClientRect","elementClientRect","overflowOffsets","offsetData","modifiersData","offset","keys","forEach","key","multiply","axis","getBasePlacement","split","document","documentElement","nodeName","toLowerCase","getCompositeRect","elementOrVirtualElement","offsetParent","isFixed","isOffsetParentAnElement","offsetParentIsScaled","scaleX","offsetWidth","scaleY","offsetHeight","isElementScaled","scroll","offsets","isScrollParent","getNodeScroll","order","modifiers","map","Map","visited","Set","result","sort","modifier","add","name","requires","requiresIfExists","dep","has","depModifier","get","push","set","debounce","fn","pending","Promise","resolve","then","undefined","DEFAULT_OPTIONS","areValidElements","_len","arguments","length","args","Array","_key","some","popperGenerator","generatorOptions","_generatorOptions","_generatorOptions$def","defaultModifiers","_generatorOptions$def2","defaultOptions","orderedModifiers","attributes","styles","effectCleanupFns","isDestroyed","instance","setOptions","setOptionsAction","cleanupModifierEffects","scrollParents","phase","orderModifiers","merged","current","existing","data","mergeByName","m","enabled","_ref3","_ref3$options","effect","cleanupFn","noopFn","update","forceUpdate","_state$elements","getLayoutRect","reset","index","_state$orderedModifie","_state$orderedModifie2","destroy","onFirstUpdate","createPopper","includeScale","Math","round","getVariation","isTableElement","getTrueOffsetParent","isFirefox","currentNode","css","transform","perspective","contain","willChange","parentNode","getContainingBlock","TRANSITION_END","getSelector","selector","hrefAttr","getSelectorFromElement","getElementFromSelector","getTransitionDurationFromElement","transitionDelay","floatTransitionDuration","Number","floatTransitionDelay","transitionDuration","triggerTransitionEnd","Event","obj","getElement","typeCheckConfig","componentName","config","configTypes","property","expectedTypes","value","valueType","call","match","RegExp","TypeError","isVisible","isDisabled","Node","findShadowRoot","root","noop","reflow","getjQuery","jQuery","DOMContentLoadedCallbacks","isRTL","defineJQueryPlugin","plugin","callback","$","JQUERY_NO_CONFLICT","execute","executeAfterTransition","transitionElement","waitForTransition","durationPadding","emulatedDuration","called","handler","target","setTimeout","getNextActiveElement","list","activeElement","shouldGetNext","isCycleAllowed","listLength","namespaceRegex","stripNameRegex","stripUidRegex","eventRegistry","uidEvent","customEvents","mouseenter","mouseleave","customEventsRegex","nativeEvents","getUidEvent","uid","getEvent","findHandler","events","delegationSelector","uidEventList","i","len","event","normalizeParams","originalTypeEvent","delegationFn","delegation","originalHandler","typeEvent","getTypeEvent","addHandler","oneOff","wrapFn","handlers","previousFn","domElements","EventHandler","bootstrapDelegationHandler","bootstrapHandler","removeHandler","Boolean","on","one","off","inNamespace","isNamespace","elementEvent","namespace","storeElementEvent","handlerKey","removeNamespacedHandlers","keyHandlers","trigger","isNative","bubbles","nativeDispatch","defaultPrevented","evt","jQueryEvent","CustomEvent","cancelable","elementMap","instanceMap","console","constructor","this","Data","dispose","propertyName","_queueCallback","isAnimated","getInstance","getOrCreateInstance","VERSION","NAME","Error","DATA_KEY","EVENT_KEY","enableDismissTrigger","component","method","clickEvent","includes","closest","EVENT_CLOSE","EVENT_CLOSED","close","_element","classList","_destroyElement","jQueryInterface","each","Alert","SELECTOR_DATA_TOGGLE","EVENT_CLICK_DATA_API","toggle","Button","normalizeData","val","normalizeDataKey","chr","button","Manipulator","setDataAttribute","removeDataAttribute","getDataAttributes","pureKey","getDataAttribute","pageXOffset","SelectorEngine","find","findOne","children","child","parents","ancestor","prev","previous","next","focusableChildren","focusables","el","DATA_API_KEY","Default","interval","keyboard","slide","pause","wrap","touch","DefaultType","ORDER_NEXT","ORDER_PREV","DIRECTION_LEFT","DIRECTION_RIGHT","KEY_TO_DIRECTION","EVENT_SLIDE","EVENT_SLID","EVENT_KEYDOWN","EVENT_MOUSEENTER","EVENT_MOUSELEAVE","EVENT_TOUCHSTART","EVENT_TOUCHMOVE","EVENT_TOUCHEND","EVENT_POINTERDOWN","EVENT_POINTERUP","EVENT_DRAG_START","EVENT_LOAD_DATA_API","CLASS_NAME_ACTIVE","SELECTOR_ACTIVE_ITEM","nextWhenVisible","clearInterval","cycle","_config","setInterval","to","activeIndex","_getItemIndex","_items","_getConfig","_handleSwipe","absDeltax","_addEventListeners","_addTouchEventListeners","hasPointerPenTouch","clearTimeout","itemImg","move","_keydown","_getItemByOrder","isNext","_triggerSlideEvent","targetIndex","fromIndex","relatedTarget","from","_setActiveIndicatorElement","activeIndicator","indicators","_updateInterval","_activeElement","elementInterval","defaultInterval","_slide","_directionToOrder","activeElementIndex","nextElement","nextElementIndex","isCycling","directionalClassName","orderClassName","eventDirectionName","_orderToDirection","triggerSlidEvent","carouselInterface","Carousel","action","dataApiClickHandler","slideIndex","getAttribute","carousels","parent","EVENT_SHOW","EVENT_SHOWN","EVENT_HIDE","EVENT_HIDDEN","CLASS_NAME_SHOW","CLASS_NAME_COLLAPSE","CLASS_NAME_COLLAPSING","CLASS_NAME_COLLAPSED","CLASS_NAME_DEEPER_CHILDREN","toggleList","elem","filterElement","foundElem","show","_isTransitioning","actives","container","tempActiveData","activesData","Collapse","elemActive","dimension","capitalizedDimension","scrollSize","hide","triggerArrayLength","_triggerArray","_isShown","_getDimension","_initializeChildren","selected","_addAriaAndCollapsedClass","triggerArray","selectorElements","ESCAPE_KEY","SPACE_KEY","ARROW_UP_KEY","ARROW_DOWN_KEY","REGEXP_KEYDOWN","EVENT_KEYDOWN_DATA_API","EVENT_KEYUP_DATA_API","SELECTOR_MENU","PLACEMENT_TOP","PLACEMENT_TOPEND","PLACEMENT_BOTTOM","PLACEMENT_BOTTOMEND","PLACEMENT_RIGHT","PLACEMENT_LEFT","display","popperConfig","autoClose","Dropdown","_completeHide","_createPopper","referenceElement","isDisplayStatic","Popper","_getMenuElement","_getPlacement","parentDropdown","isEnd","_detectNavbar","_getOffset","popperData","_getPopperConfig","defaultBsPopperConfig","_selectMenuItem","items","clearMenus","toggles","context","composedPath","isMenuTarget","getParentFromElement","dataApiKeydownHandler","isActive","getToggleButton","matches","SELECTOR_FIXED_CONTENT","SELECTOR_STICKY_CONTENT","getWidth","documentWidth","calculatedValue","_disableOverFlow","_setElementAttributes","scrollbarWidth","_saveInitialAttribute","actualValue","_resetElementAttributes","_applyManipulationCallback","callBack","isOverflowing","className","rootElement","clickCallback","EVENT_MOUSEDOWN","_getElement","backdrop","_append","_emulateAnimation","trapElement","autofocus","EVENT_FOCUSIN","EVENT_KEYDOWN_TAB","TAB_NAV_BACKWARD","activate","deactivate","_handleFocusin","_lastTabNavDirection","_handleKeydown","focus","EVENT_HIDE_PREVENTED","EVENT_RESIZE","EVENT_CLICK_DISMISS","EVENT_KEYDOWN_DISMISS","EVENT_MOUSEUP_DISMISS","EVENT_MOUSEDOWN_DISMISS","CLASS_NAME_OPEN","CLASS_NAME_STATIC","htmlElement","handleUpdate","_initializeBackDrop","Backdrop","_isAnimated","_initializeFocusTrap","FocusTrap","_showElement","modalBody","nodeType","_setEscapeEvent","_setResizeEvent","_hideModal","_showBackdrop","_triggerBackdropTransition","style","isModalOverflowing","_adjustDialog","_scrollBar","isBodyOverflowing","_resetAdjustments","Modal","showEvent","allReadyOpen","OPEN_SELECTOR","Offcanvas","uriAttributes","SAFE_URL_PATTERN","DATA_URL_PATTERN","DefaultAllowlist","a","area","b","br","col","code","div","em","hr","h1","h2","h3","h4","h5","h6","img","li","ol","p","pre","s","small","span","sub","sup","strong","u","ul","sanitizeHtml","unsafeHtml","allowList","sanitizeFn","createdDocument","domParser","elementName","attributeList","allowedAttributes","attribute","allowedAttributeList","attributeName","regExp","attributeRegex","allowedAttribute","DISALLOWED_ATTRIBUTES","animation","template","title","delay","fallbackPlacements","customClass","sanitize","AttachmentMap","AUTO","TOP","RIGHT","BOTTOM","LEFT","HIDE","HIDDEN","SHOW","SHOWN","INSERTED","CLICK","FOCUSIN","FOCUSOUT","MOUSEENTER","MOUSELEAVE","CLASS_NAME_FADE","HOVER_STATE_SHOW","HOVER_STATE_OUT","SELECTOR_TOOLTIP_INNER","SELECTOR_MODAL","EVENT_MODAL_HIDE","TRIGGER_HOVER","TRIGGER_FOCUS","enable","disable","toggleEnabled","_initializeOnDelegatedTarget","getTipElement","isWithContent","shadowRoot","isInTheDom","getTitle","tip","querySelector","tipId","prefix","getUID","attachment","_getAttachment","_resolvePossibleFunction","prevHoverState","_popper","setContent","_sanitizeAndSetContent","templateElement","content","setElementContent","updateAttachment","_addAttachmentClass","_getBasicClassPrefix","_setListeners","triggers","eventIn","eventOut","_fixTitle","originalTitleType","_enter","_leave","_isWithActiveTrigger","_activeTrigger","dataAttributes","dataAttr","_getDelegateConfig","_cleanTipClass","basicClassPrefixRegex","tabClass","token","tClass","_handlePopperPlacementChange","_disposePopper","Tooltip","_getContent","Popover","EVENT_ACTIVATE","EVENT_SCROLL","CLASS_NAME_DROPDOWN_ITEM","SELECTOR_NAV_LINKS","SELECTOR_LIST_ITEMS","SELECTOR_LINK_ITEMS","METHOD_POSITION","refresh","autoMethod","_scrollElement","offsetMethod","offsetBase","targets","targetSelector","targetBCR","item","_getScrollTop","_getScrollHeight","_getOffsetHeight","_process","maxScroll","_scrollHeight","_targets","_activeTarget","_offsets","_activate","queries","link","listGroup","navItem","_clear","ScrollSpy","spy","SELECTOR_ACTIVE","SELECTOR_ACTIVE_UL","listElement","itemSelector","hideEvent","complete","active","isTransitioning","_transitionComplete","dropdownChild","dropdownElement","dropdown","Tab","EVENT_MOUSEOVER","EVENT_MOUSEOUT","EVENT_FOCUSOUT","CLASS_NAME_HIDE","CLASS_NAME_SHOWING","autohide","_maybeScheduleHide","_hasMouseInteraction","_onInteraction","_clearTimeout","Toast","_ref","removeAttribute","setAttribute","_ref2","initialStyles","margin","arrow","hasOwnProperty","assignedSlot","host","unsetSides","mapToStyles","_Object$assign2","variation","gpuAcceleration","adaptive","roundOffsets","dpr","devicePixelRatio","roundOffsetsByDPR","_ref3$x","_ref3$y","hasX","hasY","sideX","sideY","heightProp","widthProp","_Object$assign","commonStyles","_ref4","_options$gpuAccelerat","_options$adaptive","_options$roundOffsets","passive","_options$scroll","_options$resize","resize","scrollParent","addEventListener","removeEventListener","eventListeners","computeStyles","applyStyles","_state$modifiersData$","arrowElement","basePlacement","getMainAxisFromPlacement","toPaddingObject","arrowRect","minProp","maxProp","endDiff","startDiff","arrowOffsetParent","clientSize","centerToReference","center","within","axisProp","centerOffset","_options$element","clientRect","abs","pageYOffset","_getComputedStyle","overflow","overflowX","overflowY","getSideOffsets","preventedOffsets","isAnySideFullyClipped","side","referenceRect","preventOverflow","referenceOverflow","popperAltOverflow","referenceClippingOffsets","popperEscapeOffsets","isReferenceHidden","hasPopperEscaped","_options$offset","invertDistance","skidding","distance","distanceAndSkiddingToXY","_data$state$placement","hash","getOppositePlacement","replace","matched","getOppositeVariationPlacement","_skip","_options$mainAxis","mainAxis","checkMainAxis","_options$altAxis","altAxis","checkAltAxis","specifiedFallbackPlacements","_options$flipVariatio","flipVariations","allowedAutoPlacements","preferredPlacement","oppositePlacement","getExpandedFallbackPlacements","_options$allowedAutoP","allPlacements","allowedPlacements","overflows","computeAutoPlacement","checksMap","makeFallbackChecks","firstFittingPlacement","_basePlacement","isStartVariation","isVertical","mainVariationSide","altVariationSide","checks","every","check","_loop","_i","fittingPlacement","slice","_options$tether","tether","_options$tetherOffset","tetherOffset","isBasePlacement","tetherOffsetValue","mainSide","altSide","additive","minLen","maxLen","arrowPaddingObject","getFreshSideObject","arrowPaddingMin","arrowPaddingMax","arrowLen","minOffset","maxOffset","clientOffset","offsetModifierValue","tetherMin","tetherMax","preventedOffset","mathMin","mathMax","_mainSide","_altSide","_offset","_min","_max","_preventedOffset","hashMap","rootNode","getRootNode","isSameNode","commonX","commonY","flip","receiver","Reflect","base","object","prototype","getPrototypeOf","desc","getOwnPropertyDescriptor","getScrollParent","isBody","updatedList"],"mappings":"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","file":"static/js/6.10b55231.chunk.js","sourcesContent":["export var top = 'top';\nexport var bottom = 'bottom';\nexport var right = 'right';\nexport var left = 'left';\nexport var auto = 'auto';\nexport var basePlacements = [top, bottom, right, left];\nexport var start = 'start';\nexport var end = 'end';\nexport var clippingParents = 'clippingParents';\nexport var viewport = 'viewport';\nexport var popper = 'popper';\nexport var reference = 'reference';\nexport var variationPlacements = /*#__PURE__*/basePlacements.reduce(function (acc, placement) {\n return acc.concat([placement + \"-\" + start, placement + \"-\" + end]);\n}, []);\nexport var placements = /*#__PURE__*/[].concat(basePlacements, [auto]).reduce(function (acc, placement) {\n return acc.concat([placement, placement + \"-\" + start, placement + \"-\" + end]);\n}, []); // modifiers that need to read the DOM\n\nexport var beforeRead = 'beforeRead';\nexport var read = 'read';\nexport var afterRead = 'afterRead'; // pure-logic modifiers\n\nexport var beforeMain = 'beforeMain';\nexport var main = 'main';\nexport var afterMain = 'afterMain'; // modifier with the purpose to write to the DOM (or write into a framework state)\n\nexport var beforeWrite = 'beforeWrite';\nexport var write = 'write';\nexport var afterWrite = 'afterWrite';\nexport var modifierPhases = [beforeRead, read, afterRead, beforeMain, main, afterMain, beforeWrite, write, afterWrite];","import getWindow from \"./getWindow.js\";\n\nfunction isElement(node) {\n var OwnElement = getWindow(node).Element;\n return node instanceof OwnElement || node instanceof Element;\n}\n\nfunction isHTMLElement(node) {\n var OwnElement = getWindow(node).HTMLElement;\n return node instanceof OwnElement || node instanceof HTMLElement;\n}\n\nfunction isShadowRoot(node) {\n // IE 11 has no ShadowRoot\n if (typeof ShadowRoot === 'undefined') {\n return false;\n }\n\n var OwnElement = getWindow(node).ShadowRoot;\n return node instanceof OwnElement || node instanceof ShadowRoot;\n}\n\nexport { isElement, isHTMLElement, isShadowRoot };","export default function getWindow(node) {\n if (node == null) {\n return window;\n }\n\n if (node.toString() !== '[object Window]') {\n var ownerDocument = node.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView || window : window;\n }\n\n return node;\n}","export default function rectToClientRect(rect) {\n return Object.assign({}, rect, {\n left: rect.x,\n top: rect.y,\n right: rect.x + rect.width,\n bottom: rect.y + rect.height\n });\n}","import { viewport } from \"../enums.js\";\nimport getViewportRect from \"./getViewportRect.js\";\nimport getDocumentRect from \"./getDocumentRect.js\";\nimport listScrollParents from \"./listScrollParents.js\";\nimport getOffsetParent from \"./getOffsetParent.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isElement, isHTMLElement } from \"./instanceOf.js\";\nimport getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport contains from \"./contains.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport rectToClientRect from \"../utils/rectToClientRect.js\";\nimport { max, min } from \"../utils/math.js\";\n\nfunction getInnerBoundingClientRect(element) {\n var rect = getBoundingClientRect(element);\n rect.top = rect.top + element.clientTop;\n rect.left = rect.left + element.clientLeft;\n rect.bottom = rect.top + element.clientHeight;\n rect.right = rect.left + element.clientWidth;\n rect.width = element.clientWidth;\n rect.height = element.clientHeight;\n rect.x = rect.left;\n rect.y = rect.top;\n return rect;\n}\n\nfunction getClientRectFromMixedType(element, clippingParent) {\n return clippingParent === viewport ? rectToClientRect(getViewportRect(element)) : isHTMLElement(clippingParent) ? getInnerBoundingClientRect(clippingParent) : rectToClientRect(getDocumentRect(getDocumentElement(element)));\n} // A \"clipping parent\" is an overflowable container with the characteristic of\n// clipping (or hiding) overflowing elements with a position different from\n// `initial`\n\n\nfunction getClippingParents(element) {\n var clippingParents = listScrollParents(getParentNode(element));\n var canEscapeClipping = ['absolute', 'fixed'].indexOf(getComputedStyle(element).position) >= 0;\n var clipperElement = canEscapeClipping && isHTMLElement(element) ? getOffsetParent(element) : element;\n\n if (!isElement(clipperElement)) {\n return [];\n } // $FlowFixMe[incompatible-return]: https://github.com/facebook/flow/issues/1414\n\n\n return clippingParents.filter(function (clippingParent) {\n return isElement(clippingParent) && contains(clippingParent, clipperElement) && getNodeName(clippingParent) !== 'body';\n });\n} // Gets the maximum area that the element is visible in due to any number of\n// clipping parents\n\n\nexport default function getClippingRect(element, boundary, rootBoundary) {\n var mainClippingParents = boundary === 'clippingParents' ? getClippingParents(element) : [].concat(boundary);\n var clippingParents = [].concat(mainClippingParents, [rootBoundary]);\n var firstClippingParent = clippingParents[0];\n var clippingRect = clippingParents.reduce(function (accRect, clippingParent) {\n var rect = getClientRectFromMixedType(element, clippingParent);\n accRect.top = max(rect.top, accRect.top);\n accRect.right = min(rect.right, accRect.right);\n accRect.bottom = min(rect.bottom, accRect.bottom);\n accRect.left = max(rect.left, accRect.left);\n return accRect;\n }, getClientRectFromMixedType(element, firstClippingParent));\n clippingRect.width = clippingRect.right - clippingRect.left;\n clippingRect.height = clippingRect.bottom - clippingRect.top;\n clippingRect.x = clippingRect.left;\n clippingRect.y = clippingRect.top;\n return clippingRect;\n}","import getWindow from \"./getWindow.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nexport default function getViewportRect(element) {\n var win = getWindow(element);\n var html = getDocumentElement(element);\n var visualViewport = win.visualViewport;\n var width = html.clientWidth;\n var height = html.clientHeight;\n var x = 0;\n var y = 0; // NB: This isn't supported on iOS <= 12. If the keyboard is open, the popper\n // can be obscured underneath it.\n // Also, `html.clientHeight` adds the bottom bar height in Safari iOS, even\n // if it isn't open, so if this isn't available, the popper will be detected\n // to overflow the bottom of the screen too early.\n\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height; // Uses Layout Viewport (like Chrome; Safari does not currently)\n // In Chrome, it returns a value very close to 0 (+/-) but contains rounding\n // errors due to floating point numbers, so we need to check precision.\n // Safari returns a number <= 0, usually < -1 when pinch-zoomed\n // Feature detection fails in mobile emulation mode in Chrome.\n // Math.abs(win.innerWidth / visualViewport.scale - visualViewport.width) <\n // 0.001\n // Fallback here: \"Not Safari\" userAgent\n\n if (!/^((?!chrome|android).)*safari/i.test(navigator.userAgent)) {\n x = visualViewport.offsetLeft;\n y = visualViewport.offsetTop;\n }\n }\n\n return {\n width: width,\n height: height,\n x: x + getWindowScrollBarX(element),\n y: y\n };\n}","import getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getWindowScroll from \"./getWindowScroll.js\";\nimport { max } from \"../utils/math.js\"; // Gets the entire size of the scrollable document area, even extending outside\n// of the `` and `
` rect bounds if horizontally scrollable\n\nexport default function getDocumentRect(element) {\n var _element$ownerDocumen;\n\n var html = getDocumentElement(element);\n var winScroll = getWindowScroll(element);\n var body = (_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body;\n var width = max(html.scrollWidth, html.clientWidth, body ? body.scrollWidth : 0, body ? body.clientWidth : 0);\n var height = max(html.scrollHeight, html.clientHeight, body ? body.scrollHeight : 0, body ? body.clientHeight : 0);\n var x = -winScroll.scrollLeft + getWindowScrollBarX(element);\n var y = -winScroll.scrollTop;\n\n if (getComputedStyle(body || html).direction === 'rtl') {\n x += max(html.clientWidth, body ? body.clientWidth : 0) - width;\n }\n\n return {\n width: width,\n height: height,\n x: x,\n y: y\n };\n}","import getClippingRect from \"../dom-utils/getClippingRect.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport getBoundingClientRect from \"../dom-utils/getBoundingClientRect.js\";\nimport computeOffsets from \"./computeOffsets.js\";\nimport rectToClientRect from \"./rectToClientRect.js\";\nimport { clippingParents, reference, popper, bottom, top, right, basePlacements, viewport } from \"../enums.js\";\nimport { isElement } from \"../dom-utils/instanceOf.js\";\nimport mergePaddingObject from \"./mergePaddingObject.js\";\nimport expandToHashMap from \"./expandToHashMap.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport default function detectOverflow(state, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n _options$placement = _options.placement,\n placement = _options$placement === void 0 ? state.placement : _options$placement,\n _options$boundary = _options.boundary,\n boundary = _options$boundary === void 0 ? clippingParents : _options$boundary,\n _options$rootBoundary = _options.rootBoundary,\n rootBoundary = _options$rootBoundary === void 0 ? viewport : _options$rootBoundary,\n _options$elementConte = _options.elementContext,\n elementContext = _options$elementConte === void 0 ? popper : _options$elementConte,\n _options$altBoundary = _options.altBoundary,\n altBoundary = _options$altBoundary === void 0 ? false : _options$altBoundary,\n _options$padding = _options.padding,\n padding = _options$padding === void 0 ? 0 : _options$padding;\n var paddingObject = mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n var altContext = elementContext === popper ? reference : popper;\n var popperRect = state.rects.popper;\n var element = state.elements[altBoundary ? altContext : elementContext];\n var clippingClientRect = getClippingRect(isElement(element) ? element : element.contextElement || getDocumentElement(state.elements.popper), boundary, rootBoundary);\n var referenceClientRect = getBoundingClientRect(state.elements.reference);\n var popperOffsets = computeOffsets({\n reference: referenceClientRect,\n element: popperRect,\n strategy: 'absolute',\n placement: placement\n });\n var popperClientRect = rectToClientRect(Object.assign({}, popperRect, popperOffsets));\n var elementClientRect = elementContext === popper ? popperClientRect : referenceClientRect; // positive = overflowing the clipping rect\n // 0 or negative = within the clipping rect\n\n var overflowOffsets = {\n top: clippingClientRect.top - elementClientRect.top + paddingObject.top,\n bottom: elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom,\n left: clippingClientRect.left - elementClientRect.left + paddingObject.left,\n right: elementClientRect.right - clippingClientRect.right + paddingObject.right\n };\n var offsetData = state.modifiersData.offset; // Offsets can be applied only to the popper element\n\n if (elementContext === popper && offsetData) {\n var offset = offsetData[placement];\n Object.keys(overflowOffsets).forEach(function (key) {\n var multiply = [right, bottom].indexOf(key) >= 0 ? 1 : -1;\n var axis = [top, bottom].indexOf(key) >= 0 ? 'y' : 'x';\n overflowOffsets[key] += offset[axis] * multiply;\n });\n }\n\n return overflowOffsets;\n}","import { auto } from \"../enums.js\";\nexport default function getBasePlacement(placement) {\n return placement.split('-')[0];\n}","import { isElement } from \"./instanceOf.js\";\nexport default function getDocumentElement(element) {\n // $FlowFixMe[incompatible-return]: assume body is always available\n return ((isElement(element) ? element.ownerDocument : // $FlowFixMe[prop-missing]\n element.document) || window.document).documentElement;\n}","export default function getNodeName(element) {\n return element ? (element.nodeName || '').toLowerCase() : null;\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getNodeScroll from \"./getNodeScroll.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport isScrollParent from \"./isScrollParent.js\";\n\nfunction isElementScaled(element) {\n var rect = element.getBoundingClientRect();\n var scaleX = rect.width / element.offsetWidth || 1;\n var scaleY = rect.height / element.offsetHeight || 1;\n return scaleX !== 1 || scaleY !== 1;\n} // Returns the composite rect of an element relative to its offsetParent.\n// Composite means it takes into account transforms as well as layout.\n\n\nexport default function getCompositeRect(elementOrVirtualElement, offsetParent, isFixed) {\n if (isFixed === void 0) {\n isFixed = false;\n }\n\n var isOffsetParentAnElement = isHTMLElement(offsetParent);\n var offsetParentIsScaled = isHTMLElement(offsetParent) && isElementScaled(offsetParent);\n var documentElement = getDocumentElement(offsetParent);\n var rect = getBoundingClientRect(elementOrVirtualElement, offsetParentIsScaled);\n var scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n var offsets = {\n x: 0,\n y: 0\n };\n\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || // https://github.com/popperjs/popper-core/issues/1078\n isScrollParent(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n\n if (isHTMLElement(offsetParent)) {\n offsets = getBoundingClientRect(offsetParent, true);\n offsets.x += offsetParent.clientLeft;\n offsets.y += offsetParent.clientTop;\n } else if (documentElement) {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n }\n\n return {\n x: rect.left + scroll.scrollLeft - offsets.x,\n y: rect.top + scroll.scrollTop - offsets.y,\n width: rect.width,\n height: rect.height\n };\n}","import getWindowScroll from \"./getWindowScroll.js\";\nimport getWindow from \"./getWindow.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getHTMLElementScroll from \"./getHTMLElementScroll.js\";\nexport default function getNodeScroll(node) {\n if (node === getWindow(node) || !isHTMLElement(node)) {\n return getWindowScroll(node);\n } else {\n return getHTMLElementScroll(node);\n }\n}","export default function getHTMLElementScroll(element) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n}","import { modifierPhases } from \"../enums.js\"; // source: https://stackoverflow.com/questions/49875255\n\nfunction order(modifiers) {\n var map = new Map();\n var visited = new Set();\n var result = [];\n modifiers.forEach(function (modifier) {\n map.set(modifier.name, modifier);\n }); // On visiting object, check for its dependencies and visit them recursively\n\n function sort(modifier) {\n visited.add(modifier.name);\n var requires = [].concat(modifier.requires || [], modifier.requiresIfExists || []);\n requires.forEach(function (dep) {\n if (!visited.has(dep)) {\n var depModifier = map.get(dep);\n\n if (depModifier) {\n sort(depModifier);\n }\n }\n });\n result.push(modifier);\n }\n\n modifiers.forEach(function (modifier) {\n if (!visited.has(modifier.name)) {\n // check for visited object\n sort(modifier);\n }\n });\n return result;\n}\n\nexport default function orderModifiers(modifiers) {\n // order based on dependencies\n var orderedModifiers = order(modifiers); // order based on phase\n\n return modifierPhases.reduce(function (acc, phase) {\n return acc.concat(orderedModifiers.filter(function (modifier) {\n return modifier.phase === phase;\n }));\n }, []);\n}","export default function debounce(fn) {\n var pending;\n return function () {\n if (!pending) {\n pending = new Promise(function (resolve) {\n Promise.resolve().then(function () {\n pending = undefined;\n resolve(fn());\n });\n });\n }\n\n return pending;\n };\n}","import getCompositeRect from \"./dom-utils/getCompositeRect.js\";\nimport getLayoutRect from \"./dom-utils/getLayoutRect.js\";\nimport listScrollParents from \"./dom-utils/listScrollParents.js\";\nimport getOffsetParent from \"./dom-utils/getOffsetParent.js\";\nimport getComputedStyle from \"./dom-utils/getComputedStyle.js\";\nimport orderModifiers from \"./utils/orderModifiers.js\";\nimport debounce from \"./utils/debounce.js\";\nimport validateModifiers from \"./utils/validateModifiers.js\";\nimport uniqueBy from \"./utils/uniqueBy.js\";\nimport getBasePlacement from \"./utils/getBasePlacement.js\";\nimport mergeByName from \"./utils/mergeByName.js\";\nimport detectOverflow from \"./utils/detectOverflow.js\";\nimport { isElement } from \"./dom-utils/instanceOf.js\";\nimport { auto } from \"./enums.js\";\nvar INVALID_ELEMENT_ERROR = 'Popper: Invalid reference or popper argument provided. They must be either a DOM element or virtual element.';\nvar INFINITE_LOOP_ERROR = 'Popper: An infinite loop in the modifiers cycle has been detected! The cycle has been interrupted to prevent a browser crash.';\nvar DEFAULT_OPTIONS = {\n placement: 'bottom',\n modifiers: [],\n strategy: 'absolute'\n};\n\nfunction areValidElements() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return !args.some(function (element) {\n return !(element && typeof element.getBoundingClientRect === 'function');\n });\n}\n\nexport function popperGenerator(generatorOptions) {\n if (generatorOptions === void 0) {\n generatorOptions = {};\n }\n\n var _generatorOptions = generatorOptions,\n _generatorOptions$def = _generatorOptions.defaultModifiers,\n defaultModifiers = _generatorOptions$def === void 0 ? [] : _generatorOptions$def,\n _generatorOptions$def2 = _generatorOptions.defaultOptions,\n defaultOptions = _generatorOptions$def2 === void 0 ? DEFAULT_OPTIONS : _generatorOptions$def2;\n return function createPopper(reference, popper, options) {\n if (options === void 0) {\n options = defaultOptions;\n }\n\n var state = {\n placement: 'bottom',\n orderedModifiers: [],\n options: Object.assign({}, DEFAULT_OPTIONS, defaultOptions),\n modifiersData: {},\n elements: {\n reference: reference,\n popper: popper\n },\n attributes: {},\n styles: {}\n };\n var effectCleanupFns = [];\n var isDestroyed = false;\n var instance = {\n state: state,\n setOptions: function setOptions(setOptionsAction) {\n var options = typeof setOptionsAction === 'function' ? setOptionsAction(state.options) : setOptionsAction;\n cleanupModifierEffects();\n state.options = Object.assign({}, defaultOptions, state.options, options);\n state.scrollParents = {\n reference: isElement(reference) ? listScrollParents(reference) : reference.contextElement ? listScrollParents(reference.contextElement) : [],\n popper: listScrollParents(popper)\n }; // Orders the modifiers based on their dependencies and `phase`\n // properties\n\n var orderedModifiers = orderModifiers(mergeByName([].concat(defaultModifiers, state.options.modifiers))); // Strip out disabled modifiers\n\n state.orderedModifiers = orderedModifiers.filter(function (m) {\n return m.enabled;\n }); // Validate the provided modifiers so that the consumer will get warned\n // if one of the modifiers is invalid for any reason\n\n if (process.env.NODE_ENV !== \"production\") {\n var modifiers = uniqueBy([].concat(orderedModifiers, state.options.modifiers), function (_ref) {\n var name = _ref.name;\n return name;\n });\n validateModifiers(modifiers);\n\n if (getBasePlacement(state.options.placement) === auto) {\n var flipModifier = state.orderedModifiers.find(function (_ref2) {\n var name = _ref2.name;\n return name === 'flip';\n });\n\n if (!flipModifier) {\n console.error(['Popper: \"auto\" placements require the \"flip\" modifier be', 'present and enabled to work.'].join(' '));\n }\n }\n\n var _getComputedStyle = getComputedStyle(popper),\n marginTop = _getComputedStyle.marginTop,\n marginRight = _getComputedStyle.marginRight,\n marginBottom = _getComputedStyle.marginBottom,\n marginLeft = _getComputedStyle.marginLeft; // We no longer take into account `margins` on the popper, and it can\n // cause bugs with positioning, so we'll warn the consumer\n\n\n if ([marginTop, marginRight, marginBottom, marginLeft].some(function (margin) {\n return parseFloat(margin);\n })) {\n console.warn(['Popper: CSS \"margin\" styles cannot be used to apply padding', 'between the popper and its reference element or boundary.', 'To replicate margin, use the `offset` modifier, as well as', 'the `padding` option in the `preventOverflow` and `flip`', 'modifiers.'].join(' '));\n }\n }\n\n runModifierEffects();\n return instance.update();\n },\n // Sync update – it will always be executed, even if not necessary. This\n // is useful for low frequency updates where sync behavior simplifies the\n // logic.\n // For high frequency updates (e.g. `resize` and `scroll` events), always\n // prefer the async Popper#update method\n forceUpdate: function forceUpdate() {\n if (isDestroyed) {\n return;\n }\n\n var _state$elements = state.elements,\n reference = _state$elements.reference,\n popper = _state$elements.popper; // Don't proceed if `reference` or `popper` are not valid elements\n // anymore\n\n if (!areValidElements(reference, popper)) {\n if (process.env.NODE_ENV !== \"production\") {\n console.error(INVALID_ELEMENT_ERROR);\n }\n\n return;\n } // Store the reference and popper rects to be read by modifiers\n\n\n state.rects = {\n reference: getCompositeRect(reference, getOffsetParent(popper), state.options.strategy === 'fixed'),\n popper: getLayoutRect(popper)\n }; // Modifiers have the ability to reset the current update cycle. The\n // most common use case for this is the `flip` modifier changing the\n // placement, which then needs to re-run all the modifiers, because the\n // logic was previously ran for the previous placement and is therefore\n // stale/incorrect\n\n state.reset = false;\n state.placement = state.options.placement; // On each update cycle, the `modifiersData` property for each modifier\n // is filled with the initial data specified by the modifier. This means\n // it doesn't persist and is fresh on each update.\n // To ensure persistent data, use `${name}#persistent`\n\n state.orderedModifiers.forEach(function (modifier) {\n return state.modifiersData[modifier.name] = Object.assign({}, modifier.data);\n });\n var __debug_loops__ = 0;\n\n for (var index = 0; index < state.orderedModifiers.length; index++) {\n if (process.env.NODE_ENV !== \"production\") {\n __debug_loops__ += 1;\n\n if (__debug_loops__ > 100) {\n console.error(INFINITE_LOOP_ERROR);\n break;\n }\n }\n\n if (state.reset === true) {\n state.reset = false;\n index = -1;\n continue;\n }\n\n var _state$orderedModifie = state.orderedModifiers[index],\n fn = _state$orderedModifie.fn,\n _state$orderedModifie2 = _state$orderedModifie.options,\n _options = _state$orderedModifie2 === void 0 ? {} : _state$orderedModifie2,\n name = _state$orderedModifie.name;\n\n if (typeof fn === 'function') {\n state = fn({\n state: state,\n options: _options,\n name: name,\n instance: instance\n }) || state;\n }\n }\n },\n // Async and optimistically optimized update – it will not be executed if\n // not necessary (debounced to run at most once-per-tick)\n update: debounce(function () {\n return new Promise(function (resolve) {\n instance.forceUpdate();\n resolve(state);\n });\n }),\n destroy: function destroy() {\n cleanupModifierEffects();\n isDestroyed = true;\n }\n };\n\n if (!areValidElements(reference, popper)) {\n if (process.env.NODE_ENV !== \"production\") {\n console.error(INVALID_ELEMENT_ERROR);\n }\n\n return instance;\n }\n\n instance.setOptions(options).then(function (state) {\n if (!isDestroyed && options.onFirstUpdate) {\n options.onFirstUpdate(state);\n }\n }); // Modifiers have the ability to execute arbitrary code before the first\n // update cycle runs. They will be executed in the same order as the update\n // cycle. This is useful when a modifier adds some persistent data that\n // other modifiers need to use, but the modifier is run after the dependent\n // one.\n\n function runModifierEffects() {\n state.orderedModifiers.forEach(function (_ref3) {\n var name = _ref3.name,\n _ref3$options = _ref3.options,\n options = _ref3$options === void 0 ? {} : _ref3$options,\n effect = _ref3.effect;\n\n if (typeof effect === 'function') {\n var cleanupFn = effect({\n state: state,\n name: name,\n instance: instance,\n options: options\n });\n\n var noopFn = function noopFn() {};\n\n effectCleanupFns.push(cleanupFn || noopFn);\n }\n });\n }\n\n function cleanupModifierEffects() {\n effectCleanupFns.forEach(function (fn) {\n return fn();\n });\n effectCleanupFns = [];\n }\n\n return instance;\n };\n}\nexport var createPopper = /*#__PURE__*/popperGenerator(); // eslint-disable-next-line import/no-unused-modules\n\nexport { detectOverflow };","export default function mergeByName(modifiers) {\n var merged = modifiers.reduce(function (merged, current) {\n var existing = merged[current.name];\n merged[current.name] = existing ? Object.assign({}, existing, current, {\n options: Object.assign({}, existing.options, current.options),\n data: Object.assign({}, existing.data, current.data)\n }) : current;\n return merged;\n }, {}); // IE11 does not support Object.values\n\n return Object.keys(merged).map(function (key) {\n return merged[key];\n });\n}","import getWindow from \"./getWindow.js\";\nexport default function getComputedStyle(element) {\n return getWindow(element).getComputedStyle(element);\n}","// import { isHTMLElement } from './instanceOf';\nexport default function getBoundingClientRect(element, // eslint-disable-next-line unused-imports/no-unused-vars\nincludeScale) {\n if (includeScale === void 0) {\n includeScale = false;\n }\n\n var rect = element.getBoundingClientRect();\n var scaleX = 1;\n var scaleY = 1; // FIXME:\n // `offsetWidth` returns an integer while `getBoundingClientRect`\n // returns a float. This results in `scaleX` or `scaleY` being\n // non-1 when it should be for elements that aren't a full pixel in\n // width or height.\n // if (isHTMLElement(element) && includeScale) {\n // const offsetHeight = element.offsetHeight;\n // const offsetWidth = element.offsetWidth;\n // // Do not attempt to divide by 0, otherwise we get `Infinity` as scale\n // // Fallback to 1 in case both values are `0`\n // if (offsetWidth > 0) {\n // scaleX = rect.width / offsetWidth || 1;\n // }\n // if (offsetHeight > 0) {\n // scaleY = rect.height / offsetHeight || 1;\n // }\n // }\n\n return {\n width: rect.width / scaleX,\n height: rect.height / scaleY,\n top: rect.top / scaleY,\n right: rect.right / scaleX,\n bottom: rect.bottom / scaleY,\n left: rect.left / scaleX,\n x: rect.left / scaleX,\n y: rect.top / scaleY\n };\n}","export var max = Math.max;\nexport var min = Math.min;\nexport var round = Math.round;","export default function getVariation(placement) {\n return placement.split('-')[1];\n}","import getNodeName from \"./getNodeName.js\";\nexport default function isTableElement(element) {\n return ['table', 'td', 'th'].indexOf(getNodeName(element)) >= 0;\n}","import getWindow from \"./getWindow.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport isTableElement from \"./isTableElement.js\";\nimport getParentNode from \"./getParentNode.js\";\n\nfunction getTrueOffsetParent(element) {\n if (!isHTMLElement(element) || // https://github.com/popperjs/popper-core/issues/837\n getComputedStyle(element).position === 'fixed') {\n return null;\n }\n\n return element.offsetParent;\n} // `.offsetParent` reports `null` for fixed elements, while absolute elements\n// return the containing block\n\n\nfunction getContainingBlock(element) {\n var isFirefox = navigator.userAgent.toLowerCase().indexOf('firefox') !== -1;\n var isIE = navigator.userAgent.indexOf('Trident') !== -1;\n\n if (isIE && isHTMLElement(element)) {\n // In IE 9, 10 and 11 fixed elements containing block is always established by the viewport\n var elementCss = getComputedStyle(element);\n\n if (elementCss.position === 'fixed') {\n return null;\n }\n }\n\n var currentNode = getParentNode(element);\n\n while (isHTMLElement(currentNode) && ['html', 'body'].indexOf(getNodeName(currentNode)) < 0) {\n var css = getComputedStyle(currentNode); // This is non-exhaustive but covers the most common CSS properties that\n // create a containing block.\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n\n if (css.transform !== 'none' || css.perspective !== 'none' || css.contain === 'paint' || ['transform', 'perspective'].indexOf(css.willChange) !== -1 || isFirefox && css.willChange === 'filter' || isFirefox && css.filter && css.filter !== 'none') {\n return currentNode;\n } else {\n currentNode = currentNode.parentNode;\n }\n }\n\n return null;\n} // Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\n\n\nexport default function getOffsetParent(element) {\n var window = getWindow(element);\n var offsetParent = getTrueOffsetParent(element);\n\n while (offsetParent && isTableElement(offsetParent) && getComputedStyle(offsetParent).position === 'static') {\n offsetParent = getTrueOffsetParent(offsetParent);\n }\n\n if (offsetParent && (getNodeName(offsetParent) === 'html' || getNodeName(offsetParent) === 'body' && getComputedStyle(offsetParent).position === 'static')) {\n return window;\n }\n\n return offsetParent || getContainingBlock(element) || window;\n}","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst MAX_UID = 1000000\nconst MILLISECONDS_MULTIPLIER = 1000\nconst TRANSITION_END = 'transitionend'\n\n// Shoutout AngusCroll (https://goo.gl/pxwQGp)\nconst toType = obj => {\n if (obj === null || obj === undefined) {\n return `${obj}`\n }\n\n return {}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\nconst getUID = prefix => {\n do {\n prefix += Math.floor(Math.random() * MAX_UID)\n } while (document.getElementById(prefix))\n\n return prefix\n}\n\nconst getSelector = element => {\n let selector = element.getAttribute('data-bs-target')\n\n if (!selector || selector === '#') {\n let hrefAttr = element.getAttribute('href')\n\n // The only valid content that could double as a selector are IDs or classes,\n // so everything starting with `#` or `.`. If a \"real\" URL is used as the selector,\n // `document.querySelector` will rightfully complain it is invalid.\n // See https://github.com/twbs/bootstrap/issues/32273\n if (!hrefAttr || (!hrefAttr.includes('#') && !hrefAttr.startsWith('.'))) {\n return null\n }\n\n // Just in case some CMS puts out a full URL with the anchor appended\n if (hrefAttr.includes('#') && !hrefAttr.startsWith('#')) {\n hrefAttr = `#${hrefAttr.split('#')[1]}`\n }\n\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null\n }\n\n return selector\n}\n\nconst getSelectorFromElement = element => {\n const selector = getSelector(element)\n\n if (selector) {\n return document.querySelector(selector) ? selector : null\n }\n\n return null\n}\n\nconst getElementFromSelector = element => {\n const selector = getSelector(element)\n\n return selector ? document.querySelector(selector) : null\n}\n\nconst getTransitionDurationFromElement = element => {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let { transitionDuration, transitionDelay } = window.getComputedStyle(element)\n\n const floatTransitionDuration = Number.parseFloat(transitionDuration)\n const floatTransitionDelay = Number.parseFloat(transitionDelay)\n\n // Return 0 if element or transition duration is not found\n if (!floatTransitionDuration && !floatTransitionDelay) {\n return 0\n }\n\n // If multiple durations are defined, take the first\n transitionDuration = transitionDuration.split(',')[0]\n transitionDelay = transitionDelay.split(',')[0]\n\n return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n element.dispatchEvent(new Event(TRANSITION_END))\n}\n\nconst isElement = obj => {\n if (!obj || typeof obj !== 'object') {\n return false\n }\n\n if (typeof obj.jquery !== 'undefined') {\n obj = obj[0]\n }\n\n return typeof obj.nodeType !== 'undefined'\n}\n\nconst getElement = obj => {\n if (isElement(obj)) { // it's a jQuery object or a node element\n return obj.jquery ? obj[0] : obj\n }\n\n if (typeof obj === 'string' && obj.length > 0) {\n return document.querySelector(obj)\n }\n\n return null\n}\n\nconst typeCheckConfig = (componentName, config, configTypes) => {\n Object.keys(configTypes).forEach(property => {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && isElement(value) ? 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new TypeError(\n `${componentName.toUpperCase()}: Option \"${property}\" provided type \"${valueType}\" but expected type \"${expectedTypes}\".`\n )\n }\n })\n}\n\nconst isVisible = element => {\n if (!isElement(element) || element.getClientRects().length === 0) {\n return false\n }\n\n return getComputedStyle(element).getPropertyValue('visibility') === 'visible'\n}\n\nconst isDisabled = element => {\n if (!element || element.nodeType !== Node.ELEMENT_NODE) {\n return true\n }\n\n if (element.classList.contains('disabled')) {\n return true\n }\n\n if (typeof element.disabled !== 'undefined') {\n return element.disabled\n }\n\n return element.hasAttribute('disabled') && element.getAttribute('disabled') !== 'false'\n}\n\nconst findShadowRoot = element => {\n if (!document.documentElement.attachShadow) {\n return null\n }\n\n // Can find the shadow root otherwise it'll return the document\n if (typeof element.getRootNode === 'function') {\n const root = element.getRootNode()\n return root instanceof ShadowRoot ? root : null\n }\n\n if (element instanceof ShadowRoot) {\n return element\n }\n\n // when we don't find a shadow root\n if (!element.parentNode) {\n return null\n }\n\n return findShadowRoot(element.parentNode)\n}\n\nconst noop = () => {}\n\n/**\n * Trick to restart an element's animation\n *\n * @param {HTMLElement} element\n * @return void\n *\n * @see https://www.charistheo.io/blog/2021/02/restart-a-css-animation-with-javascript/#restarting-a-css-animation\n */\nconst reflow = element => {\n // eslint-disable-next-line no-unused-expressions\n element.offsetHeight\n}\n\nconst getjQuery = () => {\n const { jQuery } = window\n\n if (jQuery && !document.body.hasAttribute('data-bs-no-jquery')) {\n return jQuery\n }\n\n return null\n}\n\nconst DOMContentLoadedCallbacks = []\n\nconst onDOMContentLoaded = callback => {\n if (document.readyState === 'loading') {\n // add listener on the first call when the document is in loading state\n if (!DOMContentLoadedCallbacks.length) {\n document.addEventListener('DOMContentLoaded', () => {\n DOMContentLoadedCallbacks.forEach(callback => callback())\n })\n }\n\n DOMContentLoadedCallbacks.push(callback)\n } else {\n callback()\n }\n}\n\nconst isRTL = () => document.documentElement.dir === 'rtl'\n\nconst defineJQueryPlugin = plugin => {\n onDOMContentLoaded(() => {\n const $ = getjQuery()\n /* istanbul ignore if */\n if ($) {\n const name = plugin.NAME\n const JQUERY_NO_CONFLICT = $.fn[name]\n $.fn[name] = plugin.jQueryInterface\n $.fn[name].Constructor = plugin\n $.fn[name].noConflict = () => {\n $.fn[name] = JQUERY_NO_CONFLICT\n return plugin.jQueryInterface\n }\n }\n })\n}\n\nconst execute = callback => {\n if (typeof callback === 'function') {\n callback()\n }\n}\n\nconst executeAfterTransition = (callback, transitionElement, waitForTransition = true) => {\n if (!waitForTransition) {\n execute(callback)\n return\n }\n\n const durationPadding = 5\n const emulatedDuration = getTransitionDurationFromElement(transitionElement) + durationPadding\n\n let called = false\n\n const handler = ({ target }) => {\n if (target !== transitionElement) {\n return\n }\n\n called = true\n transitionElement.removeEventListener(TRANSITION_END, handler)\n execute(callback)\n }\n\n transitionElement.addEventListener(TRANSITION_END, handler)\n setTimeout(() => {\n if (!called) {\n triggerTransitionEnd(transitionElement)\n }\n }, emulatedDuration)\n}\n\n/**\n * Return the previous/next element of a list.\n *\n * @param {array} list The list of elements\n * @param activeElement The active element\n * @param shouldGetNext Choose to get next or previous element\n * @param isCycleAllowed\n * @return {Element|elem} The proper element\n */\nconst getNextActiveElement = (list, activeElement, shouldGetNext, isCycleAllowed) => {\n let index = list.indexOf(activeElement)\n\n // if the element does not exist in the list return an element depending on the direction and if cycle is allowed\n if (index === -1) {\n return list[!shouldGetNext && isCycleAllowed ? list.length - 1 : 0]\n }\n\n const listLength = list.length\n\n index += shouldGetNext ? 1 : -1\n\n if (isCycleAllowed) {\n index = (index + listLength) % listLength\n }\n\n return list[Math.max(0, Math.min(index, listLength - 1))]\n}\n\nexport {\n getElement,\n getUID,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n triggerTransitionEnd,\n isElement,\n typeCheckConfig,\n isVisible,\n isDisabled,\n findShadowRoot,\n noop,\n getNextActiveElement,\n reflow,\n getjQuery,\n onDOMContentLoaded,\n isRTL,\n defineJQueryPlugin,\n execute,\n executeAfterTransition\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): dom/event-handler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from '../util/index'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst namespaceRegex = /[^.]*(?=\\..*)\\.|.*/\nconst stripNameRegex = /\\..*/\nconst stripUidRegex = /::\\d+$/\nconst eventRegistry = {} // Events storage\nlet uidEvent = 1\nconst customEvents = {\n mouseenter: 'mouseover',\n mouseleave: 'mouseout'\n}\nconst customEventsRegex = /^(mouseenter|mouseleave)/i\nconst nativeEvents = new Set([\n 'click',\n 'dblclick',\n 'mouseup',\n 'mousedown',\n 'contextmenu',\n 'mousewheel',\n 'DOMMouseScroll',\n 'mouseover',\n 'mouseout',\n 'mousemove',\n 'selectstart',\n 'selectend',\n 'keydown',\n 'keypress',\n 'keyup',\n 'orientationchange',\n 'touchstart',\n 'touchmove',\n 'touchend',\n 'touchcancel',\n 'pointerdown',\n 'pointermove',\n 'pointerup',\n 'pointerleave',\n 'pointercancel',\n 'gesturestart',\n 'gesturechange',\n 'gestureend',\n 'focus',\n 'blur',\n 'change',\n 'reset',\n 'select',\n 'submit',\n 'focusin',\n 'focusout',\n 'load',\n 'unload',\n 'beforeunload',\n 'resize',\n 'move',\n 'DOMContentLoaded',\n 'readystatechange',\n 'error',\n 'abort',\n 'scroll'\n])\n\n/**\n * ------------------------------------------------------------------------\n * Private methods\n * ------------------------------------------------------------------------\n */\n\nfunction getUidEvent(element, uid) {\n return (uid && `${uid}::${uidEvent++}`) || element.uidEvent || uidEvent++\n}\n\nfunction getEvent(element) {\n const uid = getUidEvent(element)\n\n element.uidEvent = uid\n eventRegistry[uid] = eventRegistry[uid] || {}\n\n return eventRegistry[uid]\n}\n\nfunction bootstrapHandler(element, fn) {\n return function handler(event) {\n event.delegateTarget = element\n\n if (handler.oneOff) {\n EventHandler.off(element, event.type, fn)\n }\n\n return fn.apply(element, [event])\n }\n}\n\nfunction bootstrapDelegationHandler(element, selector, fn) {\n return function handler(event) {\n const domElements = element.querySelectorAll(selector)\n\n for (let { target } = event; target && target !== this; target = target.parentNode) {\n for (let i = domElements.length; i--;) {\n if (domElements[i] === target) {\n event.delegateTarget = target\n\n if (handler.oneOff) {\n EventHandler.off(element, event.type, selector, fn)\n }\n\n return fn.apply(target, [event])\n }\n }\n }\n\n // To please ESLint\n return null\n }\n}\n\nfunction findHandler(events, handler, delegationSelector = null) {\n const uidEventList = Object.keys(events)\n\n for (let i = 0, len = uidEventList.length; i < len; i++) {\n const event = events[uidEventList[i]]\n\n if (event.originalHandler === handler && event.delegationSelector === delegationSelector) {\n return event\n }\n }\n\n return null\n}\n\nfunction normalizeParams(originalTypeEvent, handler, delegationFn) {\n const delegation = typeof handler === 'string'\n const originalHandler = delegation ? delegationFn : handler\n\n let typeEvent = getTypeEvent(originalTypeEvent)\n const isNative = nativeEvents.has(typeEvent)\n\n if (!isNative) {\n typeEvent = originalTypeEvent\n }\n\n return [delegation, originalHandler, typeEvent]\n}\n\nfunction addHandler(element, originalTypeEvent, handler, delegationFn, oneOff) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n if (!handler) {\n handler = delegationFn\n delegationFn = null\n }\n\n // in case of mouseenter or mouseleave wrap the handler within a function that checks for its DOM position\n // this prevents the handler from being dispatched the same way as mouseover or mouseout does\n if (customEventsRegex.test(originalTypeEvent)) {\n const wrapFn = fn => {\n return function (event) {\n if (!event.relatedTarget || (event.relatedTarget !== event.delegateTarget && !event.delegateTarget.contains(event.relatedTarget))) {\n return fn.call(this, event)\n }\n }\n }\n\n if (delegationFn) {\n delegationFn = wrapFn(delegationFn)\n } else {\n handler = wrapFn(handler)\n }\n }\n\n const [delegation, originalHandler, typeEvent] = normalizeParams(originalTypeEvent, handler, delegationFn)\n const events = getEvent(element)\n const handlers = events[typeEvent] || (events[typeEvent] = {})\n const previousFn = findHandler(handlers, originalHandler, delegation ? handler : null)\n\n if (previousFn) {\n previousFn.oneOff = previousFn.oneOff && oneOff\n\n return\n }\n\n const uid = getUidEvent(originalHandler, originalTypeEvent.replace(namespaceRegex, ''))\n const fn = delegation ?\n bootstrapDelegationHandler(element, handler, delegationFn) :\n bootstrapHandler(element, handler)\n\n fn.delegationSelector = delegation ? handler : null\n fn.originalHandler = originalHandler\n fn.oneOff = oneOff\n fn.uidEvent = uid\n handlers[uid] = fn\n\n element.addEventListener(typeEvent, fn, delegation)\n}\n\nfunction removeHandler(element, events, typeEvent, handler, delegationSelector) {\n const fn = findHandler(events[typeEvent], handler, delegationSelector)\n\n if (!fn) {\n return\n }\n\n element.removeEventListener(typeEvent, fn, Boolean(delegationSelector))\n delete events[typeEvent][fn.uidEvent]\n}\n\nfunction removeNamespacedHandlers(element, events, typeEvent, namespace) {\n const storeElementEvent = events[typeEvent] || {}\n\n Object.keys(storeElementEvent).forEach(handlerKey => {\n if (handlerKey.includes(namespace)) {\n const event = storeElementEvent[handlerKey]\n\n removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector)\n }\n })\n}\n\nfunction getTypeEvent(event) {\n // allow to get the native events from namespaced events ('click.bs.button' --> 'click')\n event = event.replace(stripNameRegex, '')\n return customEvents[event] || event\n}\n\nconst EventHandler = {\n on(element, event, handler, delegationFn) {\n addHandler(element, event, handler, delegationFn, false)\n },\n\n one(element, event, handler, delegationFn) {\n addHandler(element, event, handler, delegationFn, true)\n },\n\n off(element, originalTypeEvent, handler, delegationFn) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n const [delegation, originalHandler, typeEvent] = normalizeParams(originalTypeEvent, handler, delegationFn)\n const inNamespace = typeEvent !== originalTypeEvent\n const events = getEvent(element)\n const isNamespace = originalTypeEvent.startsWith('.')\n\n if (typeof originalHandler !== 'undefined') {\n // Simplest case: handler is passed, remove that listener ONLY.\n if (!events || !events[typeEvent]) {\n return\n }\n\n removeHandler(element, events, typeEvent, originalHandler, delegation ? handler : null)\n return\n }\n\n if (isNamespace) {\n Object.keys(events).forEach(elementEvent => {\n removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1))\n })\n }\n\n const storeElementEvent = events[typeEvent] || {}\n Object.keys(storeElementEvent).forEach(keyHandlers => {\n const handlerKey = keyHandlers.replace(stripUidRegex, '')\n\n if (!inNamespace || originalTypeEvent.includes(handlerKey)) {\n const event = storeElementEvent[keyHandlers]\n\n removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector)\n }\n })\n },\n\n trigger(element, event, args) {\n if (typeof event !== 'string' || !element) {\n return null\n }\n\n const $ = getjQuery()\n const typeEvent = getTypeEvent(event)\n const inNamespace = event !== typeEvent\n const isNative = nativeEvents.has(typeEvent)\n\n let jQueryEvent\n let bubbles = true\n let nativeDispatch = true\n let defaultPrevented = false\n let evt = null\n\n if (inNamespace && $) {\n jQueryEvent = $.Event(event, args)\n\n $(element).trigger(jQueryEvent)\n bubbles = !jQueryEvent.isPropagationStopped()\n nativeDispatch = !jQueryEvent.isImmediatePropagationStopped()\n defaultPrevented = jQueryEvent.isDefaultPrevented()\n }\n\n if (isNative) {\n evt = document.createEvent('HTMLEvents')\n evt.initEvent(typeEvent, bubbles, true)\n } else {\n evt = new CustomEvent(event, {\n bubbles,\n cancelable: true\n })\n }\n\n // merge custom information in our event\n if (typeof args !== 'undefined') {\n Object.keys(args).forEach(key => {\n Object.defineProperty(evt, key, {\n get() {\n return args[key]\n }\n })\n })\n }\n\n if (defaultPrevented) {\n evt.preventDefault()\n }\n\n if (nativeDispatch) {\n element.dispatchEvent(evt)\n }\n\n if (evt.defaultPrevented && typeof jQueryEvent !== 'undefined') {\n jQueryEvent.preventDefault()\n }\n\n return evt\n }\n}\n\nexport default EventHandler\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): dom/data.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst elementMap = new Map()\n\nexport default {\n set(element, key, instance) {\n if (!elementMap.has(element)) {\n elementMap.set(element, new Map())\n }\n\n const instanceMap = elementMap.get(element)\n\n // make it clear we only want one instance per element\n // can be removed later when multiple key/instances are fine to be used\n if (!instanceMap.has(key) && instanceMap.size !== 0) {\n // eslint-disable-next-line no-console\n console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(instanceMap.keys())[0]}.`)\n return\n }\n\n instanceMap.set(key, instance)\n },\n\n get(element, key) {\n if (elementMap.has(element)) {\n return elementMap.get(element).get(key) || null\n }\n\n return null\n },\n\n remove(element, key) {\n if (!elementMap.has(element)) {\n return\n }\n\n const instanceMap = elementMap.get(element)\n\n instanceMap.delete(key)\n\n // free up element references if there are no instances left for an element\n if (instanceMap.size === 0) {\n elementMap.delete(element)\n }\n }\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): base-component.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Data from './dom/data'\nimport {\n executeAfterTransition,\n getElement\n} from './util/index'\nimport EventHandler from './dom/event-handler'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst VERSION = '5.1.3'\n\nclass BaseComponent {\n constructor(element) {\n element = getElement(element)\n\n if (!element) {\n return\n }\n\n this._element = element\n Data.set(this._element, this.constructor.DATA_KEY, this)\n }\n\n dispose() {\n Data.remove(this._element, this.constructor.DATA_KEY)\n EventHandler.off(this._element, this.constructor.EVENT_KEY)\n\n Object.getOwnPropertyNames(this).forEach(propertyName => {\n this[propertyName] = null\n })\n }\n\n _queueCallback(callback, element, isAnimated = true) {\n executeAfterTransition(callback, element, isAnimated)\n }\n\n /** Static */\n\n static getInstance(element) {\n return Data.get(getElement(element), this.DATA_KEY)\n }\n\n static getOrCreateInstance(element, config = {}) {\n return this.getInstance(element) || new this(element, typeof config === 'object' ? config : null)\n }\n\n static get VERSION() {\n return VERSION\n }\n\n static get NAME() {\n throw new Error('You have to implement the static method \"NAME\", for each component!')\n }\n\n static get DATA_KEY() {\n return `bs.${this.NAME}`\n }\n\n static get EVENT_KEY() {\n return `.${this.DATA_KEY}`\n }\n}\n\nexport default BaseComponent\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): util/component-functions.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler'\nimport { getElementFromSelector, isDisabled } from './index'\n\nconst enableDismissTrigger = (component, method = 'hide') => {\n const clickEvent = `click.dismiss${component.EVENT_KEY}`\n const name = component.NAME\n\n EventHandler.on(document, clickEvent, `[data-bs-dismiss=\"${name}\"]`, function (event) {\n if (['A', 'AREA'].includes(this.tagName)) {\n event.preventDefault()\n }\n\n if (isDisabled(this)) {\n return\n }\n\n const target = getElementFromSelector(this) || this.closest(`.${name}`)\n const instance = component.getOrCreateInstance(target)\n\n // Method argument is left, for Alert and only, as it doesn't implement the 'hide' method\n instance[method]()\n })\n}\n\nexport {\n enableDismissTrigger\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { defineJQueryPlugin } from './util/index'\nimport EventHandler from './dom/event-handler'\nimport BaseComponent from './base-component'\nimport { enableDismissTrigger } from './util/component-functions'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'alert'\nconst DATA_KEY = 'bs.alert'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_CLOSE = `close${EVENT_KEY}`\nconst EVENT_CLOSED = `closed${EVENT_KEY}`\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Alert extends BaseComponent {\n // Getters\n\n static get NAME() {\n return NAME\n }\n\n // Public\n\n close() {\n const closeEvent = EventHandler.trigger(this._element, EVENT_CLOSE)\n\n if (closeEvent.defaultPrevented) {\n return\n }\n\n this._element.classList.remove(CLASS_NAME_SHOW)\n\n const isAnimated = this._element.classList.contains(CLASS_NAME_FADE)\n this._queueCallback(() => this._destroyElement(), this._element, isAnimated)\n }\n\n // Private\n _destroyElement() {\n this._element.remove()\n EventHandler.trigger(this._element, EVENT_CLOSED)\n this.dispose()\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Alert.getOrCreateInstance(this)\n\n if (typeof config !== 'string') {\n return\n }\n\n if (data[config] === undefined || config.startsWith('_') || config === 'constructor') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](this)\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nenableDismissTrigger(Alert, 'close')\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Alert to jQuery only if jQuery is present\n */\n\ndefineJQueryPlugin(Alert)\n\nexport default Alert\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { defineJQueryPlugin } from './util/index'\nimport EventHandler from './dom/event-handler'\nimport BaseComponent from './base-component'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'button'\nconst DATA_KEY = 'bs.button'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst CLASS_NAME_ACTIVE = 'active'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"button\"]'\n\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Button extends BaseComponent {\n // Getters\n\n static get NAME() {\n return NAME\n }\n\n // Public\n\n toggle() {\n // Toggle class and sync the `aria-pressed` attribute with the return value of the `.toggle()` method\n this._element.setAttribute('aria-pressed', this._element.classList.toggle(CLASS_NAME_ACTIVE))\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Button.getOrCreateInstance(this)\n\n if (config === 'toggle') {\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, event => {\n event.preventDefault()\n\n const button = event.target.closest(SELECTOR_DATA_TOGGLE)\n const data = Button.getOrCreateInstance(button)\n\n data.toggle()\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Button to jQuery only if jQuery is present\n */\n\ndefineJQueryPlugin(Button)\n\nexport default Button\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): dom/manipulator.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nfunction normalizeData(val) {\n if (val === 'true') {\n return true\n }\n\n if (val === 'false') {\n return false\n }\n\n if (val === Number(val).toString()) {\n return Number(val)\n }\n\n if (val === '' || val === 'null') {\n return null\n }\n\n return val\n}\n\nfunction normalizeDataKey(key) {\n return key.replace(/[A-Z]/g, chr => `-${chr.toLowerCase()}`)\n}\n\nconst Manipulator = {\n setDataAttribute(element, key, value) {\n element.setAttribute(`data-bs-${normalizeDataKey(key)}`, value)\n },\n\n removeDataAttribute(element, key) {\n element.removeAttribute(`data-bs-${normalizeDataKey(key)}`)\n },\n\n getDataAttributes(element) {\n if (!element) {\n return {}\n }\n\n const attributes = {}\n\n Object.keys(element.dataset)\n .filter(key => key.startsWith('bs'))\n .forEach(key => {\n let pureKey = key.replace(/^bs/, '')\n pureKey = pureKey.charAt(0).toLowerCase() + pureKey.slice(1, pureKey.length)\n attributes[pureKey] = normalizeData(element.dataset[key])\n })\n\n return attributes\n },\n\n getDataAttribute(element, key) {\n return normalizeData(element.getAttribute(`data-bs-${normalizeDataKey(key)}`))\n },\n\n offset(element) {\n const rect = element.getBoundingClientRect()\n\n return {\n top: rect.top + window.pageYOffset,\n left: rect.left + window.pageXOffset\n }\n },\n\n position(element) {\n return {\n top: element.offsetTop,\n left: element.offsetLeft\n }\n }\n}\n\nexport default Manipulator\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): dom/selector-engine.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nimport { isDisabled, isVisible } from '../util/index'\n\nconst NODE_TEXT = 3\n\nconst SelectorEngine = {\n find(selector, element = document.documentElement) {\n return [].concat(...Element.prototype.querySelectorAll.call(element, selector))\n },\n\n findOne(selector, element = document.documentElement) {\n return Element.prototype.querySelector.call(element, selector)\n },\n\n children(element, selector) {\n return [].concat(...element.children)\n .filter(child => child.matches(selector))\n },\n\n parents(element, selector) {\n const parents = []\n\n let ancestor = element.parentNode\n\n while (ancestor && ancestor.nodeType === Node.ELEMENT_NODE && ancestor.nodeType !== NODE_TEXT) {\n if (ancestor.matches(selector)) {\n parents.push(ancestor)\n }\n\n ancestor = ancestor.parentNode\n }\n\n return parents\n },\n\n prev(element, selector) {\n let previous = element.previousElementSibling\n\n while (previous) {\n if (previous.matches(selector)) {\n return [previous]\n }\n\n previous = previous.previousElementSibling\n }\n\n return []\n },\n\n next(element, selector) {\n let next = element.nextElementSibling\n\n while (next) {\n if (next.matches(selector)) {\n return [next]\n }\n\n next = next.nextElementSibling\n }\n\n return []\n },\n\n focusableChildren(element) {\n const focusables = [\n 'a',\n 'button',\n 'input',\n 'textarea',\n 'select',\n 'details',\n '[tabindex]',\n '[contenteditable=\"true\"]'\n ].map(selector => `${selector}:not([tabindex^=\"-\"])`).join(', ')\n\n return this.find(focusables, element).filter(el => !isDisabled(el) && isVisible(el))\n }\n}\n\nexport default SelectorEngine\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n defineJQueryPlugin,\n getElementFromSelector,\n isRTL,\n isVisible,\n getNextActiveElement,\n reflow,\n triggerTransitionEnd,\n typeCheckConfig\n} from './util/index'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\nimport BaseComponent from './base-component'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'carousel'\nconst DATA_KEY = 'bs.carousel'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ARROW_LEFT_KEY = 'ArrowLeft'\nconst ARROW_RIGHT_KEY = 'ArrowRight'\nconst TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\nconst SWIPE_THRESHOLD = 40\n\nconst Default = {\n interval: 5000,\n keyboard: true,\n slide: false,\n pause: 'hover',\n wrap: true,\n touch: true\n}\n\nconst DefaultType = {\n interval: '(number|boolean)',\n keyboard: 'boolean',\n slide: '(boolean|string)',\n pause: '(string|boolean)',\n wrap: 'boolean',\n touch: 'boolean'\n}\n\nconst ORDER_NEXT = 'next'\nconst ORDER_PREV = 'prev'\nconst DIRECTION_LEFT = 'left'\nconst DIRECTION_RIGHT = 'right'\n\nconst KEY_TO_DIRECTION = {\n [ARROW_LEFT_KEY]: DIRECTION_RIGHT,\n [ARROW_RIGHT_KEY]: DIRECTION_LEFT\n}\n\nconst EVENT_SLIDE = `slide${EVENT_KEY}`\nconst EVENT_SLID = `slid${EVENT_KEY}`\nconst EVENT_KEYDOWN = `keydown${EVENT_KEY}`\nconst EVENT_MOUSEENTER = `mouseenter${EVENT_KEY}`\nconst EVENT_MOUSELEAVE = `mouseleave${EVENT_KEY}`\nconst EVENT_TOUCHSTART = `touchstart${EVENT_KEY}`\nconst EVENT_TOUCHMOVE = `touchmove${EVENT_KEY}`\nconst EVENT_TOUCHEND = `touchend${EVENT_KEY}`\nconst EVENT_POINTERDOWN = `pointerdown${EVENT_KEY}`\nconst EVENT_POINTERUP = `pointerup${EVENT_KEY}`\nconst EVENT_DRAG_START = `dragstart${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_CAROUSEL = 'carousel'\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_SLIDE = 'slide'\nconst CLASS_NAME_END = 'carousel-item-end'\nconst CLASS_NAME_START = 'carousel-item-start'\nconst CLASS_NAME_NEXT = 'carousel-item-next'\nconst CLASS_NAME_PREV = 'carousel-item-prev'\nconst CLASS_NAME_POINTER_EVENT = 'pointer-event'\n\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_ACTIVE_ITEM = '.active.carousel-item'\nconst SELECTOR_ITEM = '.carousel-item'\nconst SELECTOR_ITEM_IMG = '.carousel-item img'\nconst SELECTOR_NEXT_PREV = '.carousel-item-next, .carousel-item-prev'\nconst SELECTOR_INDICATORS = '.carousel-indicators'\nconst SELECTOR_INDICATOR = '[data-bs-target]'\nconst SELECTOR_DATA_SLIDE = '[data-bs-slide], [data-bs-slide-to]'\nconst SELECTOR_DATA_RIDE = '[data-bs-ride=\"carousel\"]'\n\nconst POINTER_TYPE_TOUCH = 'touch'\nconst POINTER_TYPE_PEN = 'pen'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\nclass Carousel extends BaseComponent {\n constructor(element, config) {\n super(element)\n\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\n this._config = this._getConfig(config)\n this._indicatorsElement = SelectorEngine.findOne(SELECTOR_INDICATORS, this._element)\n this._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0\n this._pointerEvent = Boolean(window.PointerEvent)\n\n this._addEventListeners()\n }\n\n // Getters\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n\n next() {\n this._slide(ORDER_NEXT)\n }\n\n nextWhenVisible() {\n // Don't call next when the page isn't visible\n // or the carousel or its parent isn't visible\n if (!document.hidden && isVisible(this._element)) {\n this.next()\n }\n }\n\n prev() {\n this._slide(ORDER_PREV)\n }\n\n pause(event) {\n if (!event) {\n this._isPaused = true\n }\n\n if (SelectorEngine.findOne(SELECTOR_NEXT_PREV, this._element)) {\n triggerTransitionEnd(this._element)\n this.cycle(true)\n }\n\n clearInterval(this._interval)\n this._interval = null\n }\n\n 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 && this._config.interval && !this._isPaused) {\n this._updateInterval()\n\n this._interval = setInterval(\n (document.visibilityState ? this.nextWhenVisible : this.next).bind(this),\n this._config.interval\n )\n }\n }\n\n to(index) {\n this._activeElement = SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\n const activeIndex = this._getItemIndex(this._activeElement)\n\n if (index > this._items.length - 1 || index < 0) {\n return\n }\n\n if (this._isSliding) {\n EventHandler.one(this._element, EVENT_SLID, () => this.to(index))\n return\n }\n\n if (activeIndex === index) {\n this.pause()\n this.cycle()\n return\n }\n\n const order = index > activeIndex ?\n ORDER_NEXT :\n ORDER_PREV\n\n this._slide(order, this._items[index])\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...Manipulator.getDataAttributes(this._element),\n ...(typeof config === 'object' ? config : {})\n }\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _handleSwipe() {\n const absDeltax = Math.abs(this.touchDeltaX)\n\n if (absDeltax <= SWIPE_THRESHOLD) {\n return\n }\n\n const direction = absDeltax / this.touchDeltaX\n\n this.touchDeltaX = 0\n\n if (!direction) {\n return\n }\n\n this._slide(direction > 0 ? DIRECTION_RIGHT : DIRECTION_LEFT)\n }\n\n _addEventListeners() {\n if (this._config.keyboard) {\n EventHandler.on(this._element, EVENT_KEYDOWN, event => this._keydown(event))\n }\n\n if (this._config.pause === 'hover') {\n EventHandler.on(this._element, EVENT_MOUSEENTER, event => this.pause(event))\n EventHandler.on(this._element, EVENT_MOUSELEAVE, event => this.cycle(event))\n }\n\n if (this._config.touch && this._touchSupported) {\n this._addTouchEventListeners()\n }\n }\n\n _addTouchEventListeners() {\n const hasPointerPenTouch = event => {\n return this._pointerEvent &&\n (event.pointerType === POINTER_TYPE_PEN || event.pointerType === POINTER_TYPE_TOUCH)\n }\n\n const start = event => {\n if (hasPointerPenTouch(event)) {\n this.touchStartX = event.clientX\n } else if (!this._pointerEvent) {\n this.touchStartX = event.touches[0].clientX\n }\n }\n\n const move = event => {\n // ensure swiping with one touch and not pinching\n this.touchDeltaX = event.touches && event.touches.length > 1 ?\n 0 :\n event.touches[0].clientX - this.touchStartX\n }\n\n const end = event => {\n if (hasPointerPenTouch(event)) {\n this.touchDeltaX = event.clientX - this.touchStartX\n }\n\n this._handleSwipe()\n if (this._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\n this.pause()\n if (this.touchTimeout) {\n clearTimeout(this.touchTimeout)\n }\n\n this.touchTimeout = setTimeout(event => this.cycle(event), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n }\n }\n\n SelectorEngine.find(SELECTOR_ITEM_IMG, this._element).forEach(itemImg => {\n EventHandler.on(itemImg, EVENT_DRAG_START, event => event.preventDefault())\n })\n\n if (this._pointerEvent) {\n EventHandler.on(this._element, EVENT_POINTERDOWN, event => start(event))\n EventHandler.on(this._element, EVENT_POINTERUP, event => end(event))\n\n this._element.classList.add(CLASS_NAME_POINTER_EVENT)\n } else {\n EventHandler.on(this._element, EVENT_TOUCHSTART, event => start(event))\n EventHandler.on(this._element, EVENT_TOUCHMOVE, event => move(event))\n EventHandler.on(this._element, EVENT_TOUCHEND, event => end(event))\n }\n }\n\n _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return\n }\n\n const direction = KEY_TO_DIRECTION[event.key]\n if (direction) {\n event.preventDefault()\n this._slide(direction)\n }\n }\n\n _getItemIndex(element) {\n this._items = element && element.parentNode ?\n SelectorEngine.find(SELECTOR_ITEM, element.parentNode) :\n []\n\n return this._items.indexOf(element)\n }\n\n _getItemByOrder(order, activeElement) {\n const isNext = order === ORDER_NEXT\n return getNextActiveElement(this._items, activeElement, isNext, this._config.wrap)\n }\n\n _triggerSlideEvent(relatedTarget, eventDirectionName) {\n const targetIndex = this._getItemIndex(relatedTarget)\n const fromIndex = this._getItemIndex(SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element))\n\n return EventHandler.trigger(this._element, EVENT_SLIDE, {\n relatedTarget,\n direction: eventDirectionName,\n from: fromIndex,\n to: targetIndex\n })\n }\n\n _setActiveIndicatorElement(element) {\n if (this._indicatorsElement) {\n const activeIndicator = SelectorEngine.findOne(SELECTOR_ACTIVE, this._indicatorsElement)\n\n activeIndicator.classList.remove(CLASS_NAME_ACTIVE)\n activeIndicator.removeAttribute('aria-current')\n\n const indicators = SelectorEngine.find(SELECTOR_INDICATOR, this._indicatorsElement)\n\n for (let i = 0; i < indicators.length; i++) {\n if (Number.parseInt(indicators[i].getAttribute('data-bs-slide-to'), 10) === this._getItemIndex(element)) {\n indicators[i].classList.add(CLASS_NAME_ACTIVE)\n indicators[i].setAttribute('aria-current', 'true')\n break\n }\n }\n }\n }\n\n _updateInterval() {\n const element = this._activeElement || SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\n\n if (!element) {\n return\n }\n\n const elementInterval = Number.parseInt(element.getAttribute('data-bs-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 _slide(directionOrOrder, element) {\n const order = this._directionToOrder(directionOrOrder)\n const activeElement = SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\n const activeElementIndex = this._getItemIndex(activeElement)\n const nextElement = element || this._getItemByOrder(order, activeElement)\n\n const nextElementIndex = this._getItemIndex(nextElement)\n const isCycling = Boolean(this._interval)\n\n const isNext = order === ORDER_NEXT\n const directionalClassName = isNext ? CLASS_NAME_START : CLASS_NAME_END\n const orderClassName = isNext ? CLASS_NAME_NEXT : CLASS_NAME_PREV\n const eventDirectionName = this._orderToDirection(order)\n\n if (nextElement && nextElement.classList.contains(CLASS_NAME_ACTIVE)) {\n this._isSliding = false\n return\n }\n\n if (this._isSliding) {\n return\n }\n\n const slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName)\n if (slideEvent.defaultPrevented) {\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 this._activeElement = nextElement\n\n const triggerSlidEvent = () => {\n EventHandler.trigger(this._element, EVENT_SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n }\n\n if (this._element.classList.contains(CLASS_NAME_SLIDE)) {\n nextElement.classList.add(orderClassName)\n\n reflow(nextElement)\n\n activeElement.classList.add(directionalClassName)\n nextElement.classList.add(directionalClassName)\n\n const completeCallBack = () => {\n nextElement.classList.remove(directionalClassName, orderClassName)\n nextElement.classList.add(CLASS_NAME_ACTIVE)\n\n activeElement.classList.remove(CLASS_NAME_ACTIVE, orderClassName, directionalClassName)\n\n this._isSliding = false\n\n setTimeout(triggerSlidEvent, 0)\n }\n\n this._queueCallback(completeCallBack, activeElement, true)\n } else {\n activeElement.classList.remove(CLASS_NAME_ACTIVE)\n nextElement.classList.add(CLASS_NAME_ACTIVE)\n\n this._isSliding = false\n triggerSlidEvent()\n }\n\n if (isCycling) {\n this.cycle()\n }\n }\n\n _directionToOrder(direction) {\n if (![DIRECTION_RIGHT, DIRECTION_LEFT].includes(direction)) {\n return direction\n }\n\n if (isRTL()) {\n return direction === DIRECTION_LEFT ? ORDER_PREV : ORDER_NEXT\n }\n\n return direction === DIRECTION_LEFT ? ORDER_NEXT : ORDER_PREV\n }\n\n _orderToDirection(order) {\n if (![ORDER_NEXT, ORDER_PREV].includes(order)) {\n return order\n }\n\n if (isRTL()) {\n return order === ORDER_PREV ? DIRECTION_LEFT : DIRECTION_RIGHT\n }\n\n return order === ORDER_PREV ? DIRECTION_RIGHT : DIRECTION_LEFT\n }\n\n // Static\n\n static carouselInterface(element, config) {\n const data = Carousel.getOrCreateInstance(element, config)\n\n let { _config } = data\n if (typeof config === 'object') {\n _config = {\n ..._config,\n ...config\n }\n }\n\n const action = typeof config === 'string' ? config : _config.slide\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 static jQueryInterface(config) {\n return this.each(function () {\n Carousel.carouselInterface(this, config)\n })\n }\n\n static dataApiClickHandler(event) {\n const target = getElementFromSelector(this)\n\n if (!target || !target.classList.contains(CLASS_NAME_CAROUSEL)) {\n return\n }\n\n const config = {\n ...Manipulator.getDataAttributes(target),\n ...Manipulator.getDataAttributes(this)\n }\n const slideIndex = this.getAttribute('data-bs-slide-to')\n\n if (slideIndex) {\n config.interval = false\n }\n\n Carousel.carouselInterface(target, config)\n\n if (slideIndex) {\n Carousel.getInstance(target).to(slideIndex)\n }\n\n event.preventDefault()\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_SLIDE, Carousel.dataApiClickHandler)\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n const carousels = SelectorEngine.find(SELECTOR_DATA_RIDE)\n\n for (let i = 0, len = carousels.length; i < len; i++) {\n Carousel.carouselInterface(carousels[i], Carousel.getInstance(carousels[i]))\n }\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Carousel to jQuery only if jQuery is present\n */\n\ndefineJQueryPlugin(Carousel)\n\nexport default Carousel\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n defineJQueryPlugin,\n getElement,\n getSelectorFromElement,\n getElementFromSelector,\n reflow,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\nimport BaseComponent from './base-component'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'collapse'\nconst DATA_KEY = 'bs.collapse'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Default = {\n toggle: true,\n parent: null\n}\n\nconst DefaultType = {\n toggle: 'boolean',\n parent: '(null|element)'\n}\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_COLLAPSE = 'collapse'\nconst CLASS_NAME_COLLAPSING = 'collapsing'\nconst CLASS_NAME_COLLAPSED = 'collapsed'\nconst CLASS_NAME_DEEPER_CHILDREN = `:scope .${CLASS_NAME_COLLAPSE} .${CLASS_NAME_COLLAPSE}`\nconst CLASS_NAME_HORIZONTAL = 'collapse-horizontal'\n\nconst WIDTH = 'width'\nconst HEIGHT = 'height'\n\nconst SELECTOR_ACTIVES = '.collapse.show, .collapse.collapsing'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"collapse\"]'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Collapse extends BaseComponent {\n constructor(element, config) {\n super(element)\n\n this._isTransitioning = false\n this._config = this._getConfig(config)\n this._triggerArray = []\n\n const toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE)\n\n for (let i = 0, len = toggleList.length; i < len; i++) {\n const elem = toggleList[i]\n const selector = getSelectorFromElement(elem)\n const filterElement = SelectorEngine.find(selector)\n .filter(foundElem => foundElem === this._element)\n\n if (selector !== null && filterElement.length) {\n this._selector = selector\n this._triggerArray.push(elem)\n }\n }\n\n this._initializeChildren()\n\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._triggerArray, this._isShown())\n }\n\n if (this._config.toggle) {\n this.toggle()\n }\n }\n\n // Getters\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n\n toggle() {\n if (this._isShown()) {\n this.hide()\n } else {\n this.show()\n }\n }\n\n show() {\n if (this._isTransitioning || this._isShown()) {\n return\n }\n\n let actives = []\n let activesData\n\n if (this._config.parent) {\n const children = SelectorEngine.find(CLASS_NAME_DEEPER_CHILDREN, this._config.parent)\n actives = SelectorEngine.find(SELECTOR_ACTIVES, this._config.parent).filter(elem => !children.includes(elem)) // remove children if greater depth\n }\n\n const container = SelectorEngine.findOne(this._selector)\n if (actives.length) {\n const tempActiveData = actives.find(elem => container !== elem)\n activesData = tempActiveData ? Collapse.getInstance(tempActiveData) : null\n\n if (activesData && activesData._isTransitioning) {\n return\n }\n }\n\n const startEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n if (startEvent.defaultPrevented) {\n return\n }\n\n actives.forEach(elemActive => {\n if (container !== elemActive) {\n Collapse.getOrCreateInstance(elemActive, { toggle: false }).hide()\n }\n\n if (!activesData) {\n Data.set(elemActive, DATA_KEY, null)\n }\n })\n\n const dimension = this._getDimension()\n\n this._element.classList.remove(CLASS_NAME_COLLAPSE)\n this._element.classList.add(CLASS_NAME_COLLAPSING)\n\n this._element.style[dimension] = 0\n\n this._addAriaAndCollapsedClass(this._triggerArray, true)\n this._isTransitioning = true\n\n const complete = () => {\n this._isTransitioning = false\n\n this._element.classList.remove(CLASS_NAME_COLLAPSING)\n this._element.classList.add(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW)\n\n this._element.style[dimension] = ''\n\n EventHandler.trigger(this._element, EVENT_SHOWN)\n }\n\n const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n const scrollSize = `scroll${capitalizedDimension}`\n\n this._queueCallback(complete, this._element, true)\n this._element.style[dimension] = `${this._element[scrollSize]}px`\n }\n\n hide() {\n if (this._isTransitioning || !this._isShown()) {\n return\n }\n\n const startEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n if (startEvent.defaultPrevented) {\n return\n }\n\n const dimension = this._getDimension()\n\n this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n reflow(this._element)\n\n this._element.classList.add(CLASS_NAME_COLLAPSING)\n this._element.classList.remove(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW)\n\n const triggerArrayLength = this._triggerArray.length\n for (let i = 0; i < triggerArrayLength; i++) {\n const trigger = this._triggerArray[i]\n const elem = getElementFromSelector(trigger)\n\n if (elem && !this._isShown(elem)) {\n this._addAriaAndCollapsedClass([trigger], false)\n }\n }\n\n this._isTransitioning = true\n\n const complete = () => {\n this._isTransitioning = false\n this._element.classList.remove(CLASS_NAME_COLLAPSING)\n this._element.classList.add(CLASS_NAME_COLLAPSE)\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n }\n\n this._element.style[dimension] = ''\n\n this._queueCallback(complete, this._element, true)\n }\n\n _isShown(element = this._element) {\n return element.classList.contains(CLASS_NAME_SHOW)\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...Manipulator.getDataAttributes(this._element),\n ...config\n }\n config.toggle = Boolean(config.toggle) // Coerce string values\n config.parent = getElement(config.parent)\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _getDimension() {\n return this._element.classList.contains(CLASS_NAME_HORIZONTAL) ? WIDTH : HEIGHT\n }\n\n _initializeChildren() {\n if (!this._config.parent) {\n return\n }\n\n const children = SelectorEngine.find(CLASS_NAME_DEEPER_CHILDREN, this._config.parent)\n SelectorEngine.find(SELECTOR_DATA_TOGGLE, this._config.parent).filter(elem => !children.includes(elem))\n .forEach(element => {\n const selected = getElementFromSelector(element)\n\n if (selected) {\n this._addAriaAndCollapsedClass([element], this._isShown(selected))\n }\n })\n }\n\n _addAriaAndCollapsedClass(triggerArray, isOpen) {\n if (!triggerArray.length) {\n return\n }\n\n triggerArray.forEach(elem => {\n if (isOpen) {\n elem.classList.remove(CLASS_NAME_COLLAPSED)\n } else {\n elem.classList.add(CLASS_NAME_COLLAPSED)\n }\n\n elem.setAttribute('aria-expanded', isOpen)\n })\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n const _config = {}\n if (typeof config === 'string' && /show|hide/.test(config)) {\n _config.toggle = false\n }\n\n const data = Collapse.getOrCreateInstance(this, _config)\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\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n // preventDefault only for elements (which change the URL) not inside the collapsible element\n if (event.target.tagName === 'A' || (event.delegateTarget && event.delegateTarget.tagName === 'A')) {\n event.preventDefault()\n }\n\n const selector = getSelectorFromElement(this)\n const selectorElements = SelectorEngine.find(selector)\n\n selectorElements.forEach(element => {\n Collapse.getOrCreateInstance(element, { toggle: false }).toggle()\n })\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Collapse to jQuery only if jQuery is present\n */\n\ndefineJQueryPlugin(Collapse)\n\nexport default Collapse\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport * as Popper from '@popperjs/core'\n\nimport {\n defineJQueryPlugin,\n getElement,\n getElementFromSelector,\n getNextActiveElement,\n isDisabled,\n isElement,\n isRTL,\n isVisible,\n noop,\n typeCheckConfig\n} from './util/index'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\nimport BaseComponent from './base-component'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'dropdown'\nconst DATA_KEY = 'bs.dropdown'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ESCAPE_KEY = 'Escape'\nconst SPACE_KEY = 'Space'\nconst TAB_KEY = 'Tab'\nconst ARROW_UP_KEY = 'ArrowUp'\nconst ARROW_DOWN_KEY = 'ArrowDown'\nconst RIGHT_MOUSE_BUTTON = 2 // MouseEvent.button value for the secondary button, usually the right button\n\nconst REGEXP_KEYDOWN = new RegExp(`${ARROW_UP_KEY}|${ARROW_DOWN_KEY}|${ESCAPE_KEY}`)\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_DROPUP = 'dropup'\nconst CLASS_NAME_DROPEND = 'dropend'\nconst CLASS_NAME_DROPSTART = 'dropstart'\nconst CLASS_NAME_NAVBAR = 'navbar'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"dropdown\"]'\nconst SELECTOR_MENU = '.dropdown-menu'\nconst SELECTOR_NAVBAR_NAV = '.navbar-nav'\nconst SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'\n\nconst PLACEMENT_TOP = isRTL() ? 'top-end' : 'top-start'\nconst PLACEMENT_TOPEND = isRTL() ? 'top-start' : 'top-end'\nconst PLACEMENT_BOTTOM = isRTL() ? 'bottom-end' : 'bottom-start'\nconst PLACEMENT_BOTTOMEND = isRTL() ? 'bottom-start' : 'bottom-end'\nconst PLACEMENT_RIGHT = isRTL() ? 'left-start' : 'right-start'\nconst PLACEMENT_LEFT = isRTL() ? 'right-start' : 'left-start'\n\nconst Default = {\n offset: [0, 2],\n boundary: 'clippingParents',\n reference: 'toggle',\n display: 'dynamic',\n popperConfig: null,\n autoClose: true\n}\n\nconst DefaultType = {\n offset: '(array|string|function)',\n boundary: '(string|element)',\n reference: '(string|element|object)',\n display: 'string',\n popperConfig: '(null|object|function)',\n autoClose: '(boolean|string)'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Dropdown extends BaseComponent {\n constructor(element, config) {\n super(element)\n\n this._popper = null\n this._config = this._getConfig(config)\n this._menu = this._getMenuElement()\n this._inNavbar = this._detectNavbar()\n }\n\n // Getters\n\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n\n toggle() {\n return this._isShown() ? this.hide() : this.show()\n }\n\n show() {\n if (isDisabled(this._element) || this._isShown(this._menu)) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, relatedTarget)\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n const parent = Dropdown.getParentFromElement(this._element)\n // Totally disable Popper for Dropdowns in Navbar\n if (this._inNavbar) {\n Manipulator.setDataAttribute(this._menu, 'popper', 'none')\n } else {\n this._createPopper(parent)\n }\n\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 if ('ontouchstart' in document.documentElement &&\n !parent.closest(SELECTOR_NAVBAR_NAV)) {\n [].concat(...document.body.children)\n .forEach(elem => EventHandler.on(elem, 'mouseover', noop))\n }\n\n this._element.focus()\n this._element.setAttribute('aria-expanded', true)\n\n this._menu.classList.add(CLASS_NAME_SHOW)\n this._element.classList.add(CLASS_NAME_SHOW)\n EventHandler.trigger(this._element, EVENT_SHOWN, relatedTarget)\n }\n\n hide() {\n if (isDisabled(this._element) || !this._isShown(this._menu)) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n\n this._completeHide(relatedTarget)\n }\n\n dispose() {\n if (this._popper) {\n this._popper.destroy()\n }\n\n super.dispose()\n }\n\n update() {\n this._inNavbar = this._detectNavbar()\n if (this._popper) {\n this._popper.update()\n }\n }\n\n // Private\n\n _completeHide(relatedTarget) {\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE, relatedTarget)\n if (hideEvent.defaultPrevented) {\n return\n }\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n [].concat(...document.body.children)\n .forEach(elem => EventHandler.off(elem, 'mouseover', noop))\n }\n\n if (this._popper) {\n this._popper.destroy()\n }\n\n this._menu.classList.remove(CLASS_NAME_SHOW)\n this._element.classList.remove(CLASS_NAME_SHOW)\n this._element.setAttribute('aria-expanded', 'false')\n Manipulator.removeDataAttribute(this._menu, 'popper')\n EventHandler.trigger(this._element, EVENT_HIDDEN, relatedTarget)\n }\n\n _getConfig(config) {\n config = {\n ...this.constructor.Default,\n ...Manipulator.getDataAttributes(this._element),\n ...config\n }\n\n typeCheckConfig(NAME, config, this.constructor.DefaultType)\n\n if (typeof config.reference === 'object' && !isElement(config.reference) &&\n typeof config.reference.getBoundingClientRect !== 'function'\n ) {\n // Popper virtual elements require a getBoundingClientRect method\n throw new TypeError(`${NAME.toUpperCase()}: Option \"reference\" provided type \"object\" without a required \"getBoundingClientRect\" method.`)\n }\n\n return config\n }\n\n _createPopper(parent) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s dropdowns require Popper (https://popper.js.org)')\n }\n\n let referenceElement = this._element\n\n if (this._config.reference === 'parent') {\n referenceElement = parent\n } else if (isElement(this._config.reference)) {\n referenceElement = getElement(this._config.reference)\n } else if (typeof this._config.reference === 'object') {\n referenceElement = this._config.reference\n }\n\n const popperConfig = this._getPopperConfig()\n const isDisplayStatic = popperConfig.modifiers.find(modifier => modifier.name === 'applyStyles' && modifier.enabled === false)\n\n this._popper = Popper.createPopper(referenceElement, this._menu, popperConfig)\n\n if (isDisplayStatic) {\n Manipulator.setDataAttribute(this._menu, 'popper', 'static')\n }\n }\n\n _isShown(element = this._element) {\n return element.classList.contains(CLASS_NAME_SHOW)\n }\n\n _getMenuElement() {\n return SelectorEngine.next(this._element, SELECTOR_MENU)[0]\n }\n\n _getPlacement() {\n const parentDropdown = this._element.parentNode\n\n if (parentDropdown.classList.contains(CLASS_NAME_DROPEND)) {\n return PLACEMENT_RIGHT\n }\n\n if (parentDropdown.classList.contains(CLASS_NAME_DROPSTART)) {\n return PLACEMENT_LEFT\n }\n\n // We need to trim the value because custom properties can also include spaces\n const isEnd = getComputedStyle(this._menu).getPropertyValue('--bs-position').trim() === 'end'\n\n if (parentDropdown.classList.contains(CLASS_NAME_DROPUP)) {\n return isEnd ? PLACEMENT_TOPEND : PLACEMENT_TOP\n }\n\n return isEnd ? PLACEMENT_BOTTOMEND : PLACEMENT_BOTTOM\n }\n\n _detectNavbar() {\n return this._element.closest(`.${CLASS_NAME_NAVBAR}`) !== null\n }\n\n _getOffset() {\n const { offset } = this._config\n\n if (typeof offset === 'string') {\n return offset.split(',').map(val => Number.parseInt(val, 10))\n }\n\n if (typeof offset === 'function') {\n return popperData => offset(popperData, this._element)\n }\n\n return offset\n }\n\n _getPopperConfig() {\n const defaultBsPopperConfig = {\n placement: this._getPlacement(),\n modifiers: [{\n name: 'preventOverflow',\n options: {\n boundary: this._config.boundary\n }\n },\n {\n name: 'offset',\n options: {\n offset: this._getOffset()\n }\n }]\n }\n\n // Disable Popper if we have a static display\n if (this._config.display === 'static') {\n defaultBsPopperConfig.modifiers = [{\n name: 'applyStyles',\n enabled: false\n }]\n }\n\n return {\n ...defaultBsPopperConfig,\n ...(typeof this._config.popperConfig === 'function' ? this._config.popperConfig(defaultBsPopperConfig) : this._config.popperConfig)\n }\n }\n\n _selectMenuItem({ key, target }) {\n const items = SelectorEngine.find(SELECTOR_VISIBLE_ITEMS, this._menu).filter(isVisible)\n\n if (!items.length) {\n return\n }\n\n // if target isn't included in items (e.g. when expanding the dropdown)\n // allow cycling to get the last item in case key equals ARROW_UP_KEY\n getNextActiveElement(items, target, key === ARROW_DOWN_KEY, !items.includes(target)).focus()\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Dropdown.getOrCreateInstance(this, config)\n\n if (typeof config !== 'string') {\n return\n }\n\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n })\n }\n\n static clearMenus(event) {\n if (event && (event.button === RIGHT_MOUSE_BUTTON || (event.type === 'keyup' && event.key !== TAB_KEY))) {\n return\n }\n\n const toggles = SelectorEngine.find(SELECTOR_DATA_TOGGLE)\n\n for (let i = 0, len = toggles.length; i < len; i++) {\n const context = Dropdown.getInstance(toggles[i])\n if (!context || context._config.autoClose === false) {\n continue\n }\n\n if (!context._isShown()) {\n continue\n }\n\n const relatedTarget = {\n relatedTarget: context._element\n }\n\n if (event) {\n const composedPath = event.composedPath()\n const isMenuTarget = composedPath.includes(context._menu)\n if (\n composedPath.includes(context._element) ||\n (context._config.autoClose === 'inside' && !isMenuTarget) ||\n (context._config.autoClose === 'outside' && isMenuTarget)\n ) {\n continue\n }\n\n // Tab navigation through the dropdown menu or events from contained inputs shouldn't close the menu\n if (context._menu.contains(event.target) && ((event.type === 'keyup' && event.key === TAB_KEY) || /input|select|option|textarea|form/i.test(event.target.tagName))) {\n continue\n }\n\n if (event.type === 'click') {\n relatedTarget.clickEvent = event\n }\n }\n\n context._completeHide(relatedTarget)\n }\n }\n\n static getParentFromElement(element) {\n return getElementFromSelector(element) || element.parentNode\n }\n\n static 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) ?\n event.key === SPACE_KEY || (event.key !== ESCAPE_KEY &&\n ((event.key !== ARROW_DOWN_KEY && event.key !== ARROW_UP_KEY) ||\n event.target.closest(SELECTOR_MENU))) :\n !REGEXP_KEYDOWN.test(event.key)) {\n return\n }\n\n const isActive = this.classList.contains(CLASS_NAME_SHOW)\n\n if (!isActive && event.key === ESCAPE_KEY) {\n return\n }\n\n event.preventDefault()\n event.stopPropagation()\n\n if (isDisabled(this)) {\n return\n }\n\n const getToggleButton = this.matches(SELECTOR_DATA_TOGGLE) ? this : SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE)[0]\n const instance = Dropdown.getOrCreateInstance(getToggleButton)\n\n if (event.key === ESCAPE_KEY) {\n instance.hide()\n return\n }\n\n if (event.key === ARROW_UP_KEY || event.key === ARROW_DOWN_KEY) {\n if (!isActive) {\n instance.show()\n }\n\n instance._selectMenuItem(event)\n return\n }\n\n if (!isActive || event.key === SPACE_KEY) {\n Dropdown.clearMenus()\n }\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_CLICK_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, EVENT_KEYUP_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n event.preventDefault()\n Dropdown.getOrCreateInstance(this).toggle()\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Dropdown to jQuery only if jQuery is present\n */\n\ndefineJQueryPlugin(Dropdown)\n\nexport default Dropdown\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): util/scrollBar.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport SelectorEngine from '../dom/selector-engine'\nimport Manipulator from '../dom/manipulator'\nimport { isElement } from './index'\n\nconst SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top'\nconst SELECTOR_STICKY_CONTENT = '.sticky-top'\n\nclass ScrollBarHelper {\n constructor() {\n this._element = document.body\n }\n\n getWidth() {\n // https://developer.mozilla.org/en-US/docs/Web/API/Window/innerWidth#usage_notes\n const documentWidth = document.documentElement.clientWidth\n return Math.abs(window.innerWidth - documentWidth)\n }\n\n hide() {\n const width = this.getWidth()\n this._disableOverFlow()\n // give padding to element to balance the hidden scrollbar width\n this._setElementAttributes(this._element, 'paddingRight', calculatedValue => calculatedValue + width)\n // trick: We adjust positive paddingRight and negative marginRight to sticky-top elements to keep showing fullwidth\n this._setElementAttributes(SELECTOR_FIXED_CONTENT, 'paddingRight', calculatedValue => calculatedValue + width)\n this._setElementAttributes(SELECTOR_STICKY_CONTENT, 'marginRight', calculatedValue => calculatedValue - width)\n }\n\n _disableOverFlow() {\n this._saveInitialAttribute(this._element, 'overflow')\n this._element.style.overflow = 'hidden'\n }\n\n _setElementAttributes(selector, styleProp, callback) {\n const scrollbarWidth = this.getWidth()\n const manipulationCallBack = element => {\n if (element !== this._element && window.innerWidth > element.clientWidth + scrollbarWidth) {\n return\n }\n\n this._saveInitialAttribute(element, styleProp)\n const calculatedValue = window.getComputedStyle(element)[styleProp]\n element.style[styleProp] = `${callback(Number.parseFloat(calculatedValue))}px`\n }\n\n this._applyManipulationCallback(selector, manipulationCallBack)\n }\n\n reset() {\n this._resetElementAttributes(this._element, 'overflow')\n this._resetElementAttributes(this._element, 'paddingRight')\n this._resetElementAttributes(SELECTOR_FIXED_CONTENT, 'paddingRight')\n this._resetElementAttributes(SELECTOR_STICKY_CONTENT, 'marginRight')\n }\n\n _saveInitialAttribute(element, styleProp) {\n const actualValue = element.style[styleProp]\n if (actualValue) {\n Manipulator.setDataAttribute(element, styleProp, actualValue)\n }\n }\n\n _resetElementAttributes(selector, styleProp) {\n const manipulationCallBack = element => {\n const value = Manipulator.getDataAttribute(element, styleProp)\n if (typeof value === 'undefined') {\n element.style.removeProperty(styleProp)\n } else {\n Manipulator.removeDataAttribute(element, styleProp)\n element.style[styleProp] = value\n }\n }\n\n this._applyManipulationCallback(selector, manipulationCallBack)\n }\n\n _applyManipulationCallback(selector, callBack) {\n if (isElement(selector)) {\n callBack(selector)\n } else {\n SelectorEngine.find(selector, this._element).forEach(callBack)\n }\n }\n\n isOverflowing() {\n return this.getWidth() > 0\n }\n}\n\nexport default ScrollBarHelper\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): util/backdrop.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler'\nimport { execute, executeAfterTransition, getElement, reflow, typeCheckConfig } from './index'\n\nconst Default = {\n className: 'modal-backdrop',\n isVisible: true, // if false, we use the backdrop helper without adding any element to the dom\n isAnimated: false,\n rootElement: 'body', // give the choice to place backdrop under different elements\n clickCallback: null\n}\n\nconst DefaultType = {\n className: 'string',\n isVisible: 'boolean',\n isAnimated: 'boolean',\n rootElement: '(element|string)',\n clickCallback: '(function|null)'\n}\nconst NAME = 'backdrop'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\nconst EVENT_MOUSEDOWN = `mousedown.bs.${NAME}`\n\nclass Backdrop {\n constructor(config) {\n this._config = this._getConfig(config)\n this._isAppended = false\n this._element = null\n }\n\n show(callback) {\n if (!this._config.isVisible) {\n execute(callback)\n return\n }\n\n this._append()\n\n if (this._config.isAnimated) {\n reflow(this._getElement())\n }\n\n this._getElement().classList.add(CLASS_NAME_SHOW)\n\n this._emulateAnimation(() => {\n execute(callback)\n })\n }\n\n hide(callback) {\n if (!this._config.isVisible) {\n execute(callback)\n return\n }\n\n this._getElement().classList.remove(CLASS_NAME_SHOW)\n\n this._emulateAnimation(() => {\n this.dispose()\n execute(callback)\n })\n }\n\n // Private\n\n _getElement() {\n if (!this._element) {\n const backdrop = document.createElement('div')\n backdrop.className = this._config.className\n if (this._config.isAnimated) {\n backdrop.classList.add(CLASS_NAME_FADE)\n }\n\n this._element = backdrop\n }\n\n return this._element\n }\n\n _getConfig(config) {\n config = {\n ...Default,\n ...(typeof config === 'object' ? config : {})\n }\n\n // use getElement() with the default \"body\" to get a fresh Element on each instantiation\n config.rootElement = getElement(config.rootElement)\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _append() {\n if (this._isAppended) {\n return\n }\n\n this._config.rootElement.append(this._getElement())\n\n EventHandler.on(this._getElement(), EVENT_MOUSEDOWN, () => {\n execute(this._config.clickCallback)\n })\n\n this._isAppended = true\n }\n\n dispose() {\n if (!this._isAppended) {\n return\n }\n\n EventHandler.off(this._element, EVENT_MOUSEDOWN)\n\n this._element.remove()\n this._isAppended = false\n }\n\n _emulateAnimation(callback) {\n executeAfterTransition(callback, this._getElement(), this._config.isAnimated)\n }\n}\n\nexport default Backdrop\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): util/focustrap.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler'\nimport SelectorEngine from '../dom/selector-engine'\nimport { typeCheckConfig } from './index'\n\nconst Default = {\n trapElement: null, // The element to trap focus inside of\n autofocus: true\n}\n\nconst DefaultType = {\n trapElement: 'element',\n autofocus: 'boolean'\n}\n\nconst NAME = 'focustrap'\nconst DATA_KEY = 'bs.focustrap'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst EVENT_FOCUSIN = `focusin${EVENT_KEY}`\nconst EVENT_KEYDOWN_TAB = `keydown.tab${EVENT_KEY}`\n\nconst TAB_KEY = 'Tab'\nconst TAB_NAV_FORWARD = 'forward'\nconst TAB_NAV_BACKWARD = 'backward'\n\nclass FocusTrap {\n constructor(config) {\n this._config = this._getConfig(config)\n this._isActive = false\n this._lastTabNavDirection = null\n }\n\n activate() {\n const { trapElement, autofocus } = this._config\n\n if (this._isActive) {\n return\n }\n\n if (autofocus) {\n trapElement.focus()\n }\n\n EventHandler.off(document, EVENT_KEY) // guard against infinite focus loop\n EventHandler.on(document, EVENT_FOCUSIN, event => this._handleFocusin(event))\n EventHandler.on(document, EVENT_KEYDOWN_TAB, event => this._handleKeydown(event))\n\n this._isActive = true\n }\n\n deactivate() {\n if (!this._isActive) {\n return\n }\n\n this._isActive = false\n EventHandler.off(document, EVENT_KEY)\n }\n\n // Private\n\n _handleFocusin(event) {\n const { target } = event\n const { trapElement } = this._config\n\n if (target === document || target === trapElement || trapElement.contains(target)) {\n return\n }\n\n const elements = SelectorEngine.focusableChildren(trapElement)\n\n if (elements.length === 0) {\n trapElement.focus()\n } else if (this._lastTabNavDirection === TAB_NAV_BACKWARD) {\n elements[elements.length - 1].focus()\n } else {\n elements[0].focus()\n }\n }\n\n _handleKeydown(event) {\n if (event.key !== TAB_KEY) {\n return\n }\n\n this._lastTabNavDirection = event.shiftKey ? TAB_NAV_BACKWARD : TAB_NAV_FORWARD\n }\n\n _getConfig(config) {\n config = {\n ...Default,\n ...(typeof config === 'object' ? config : {})\n }\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n}\n\nexport default FocusTrap\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n defineJQueryPlugin,\n getElementFromSelector,\n isRTL,\n isVisible,\n reflow,\n typeCheckConfig\n} from './util/index'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\nimport ScrollBarHelper from './util/scrollbar'\nimport BaseComponent from './base-component'\nimport Backdrop from './util/backdrop'\nimport FocusTrap from './util/focustrap'\nimport { enableDismissTrigger } from './util/component-functions'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'modal'\nconst DATA_KEY = 'bs.modal'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst ESCAPE_KEY = 'Escape'\n\nconst Default = {\n backdrop: true,\n keyboard: true,\n focus: true\n}\n\nconst DefaultType = {\n backdrop: '(boolean|string)',\n keyboard: 'boolean',\n focus: 'boolean'\n}\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_RESIZE = `resize${EVENT_KEY}`\nconst EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY}`\nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`\nconst EVENT_MOUSEUP_DISMISS = `mouseup.dismiss${EVENT_KEY}`\nconst EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_OPEN = 'modal-open'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_STATIC = 'modal-static'\n\nconst OPEN_SELECTOR = '.modal.show'\nconst SELECTOR_DIALOG = '.modal-dialog'\nconst SELECTOR_MODAL_BODY = '.modal-body'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"modal\"]'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Modal extends BaseComponent {\n constructor(element, config) {\n super(element)\n\n this._config = this._getConfig(config)\n this._dialog = SelectorEngine.findOne(SELECTOR_DIALOG, this._element)\n this._backdrop = this._initializeBackDrop()\n this._focustrap = this._initializeFocusTrap()\n this._isShown = false\n this._ignoreBackdropClick = false\n this._isTransitioning = false\n this._scrollBar = new ScrollBarHelper()\n }\n\n // Getters\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isShown || this._isTransitioning) {\n return\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, {\n relatedTarget\n })\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n this._isShown = true\n\n if (this._isAnimated()) {\n this._isTransitioning = true\n }\n\n this._scrollBar.hide()\n\n document.body.classList.add(CLASS_NAME_OPEN)\n\n this._adjustDialog()\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n EventHandler.on(this._dialog, EVENT_MOUSEDOWN_DISMISS, () => {\n EventHandler.one(this._element, EVENT_MOUSEUP_DISMISS, event => {\n if (event.target === this._element) {\n this._ignoreBackdropClick = true\n }\n })\n })\n\n this._showBackdrop(() => this._showElement(relatedTarget))\n }\n\n hide() {\n if (!this._isShown || this._isTransitioning) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n this._isShown = false\n const isAnimated = this._isAnimated()\n\n if (isAnimated) {\n this._isTransitioning = true\n }\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n this._focustrap.deactivate()\n\n this._element.classList.remove(CLASS_NAME_SHOW)\n\n EventHandler.off(this._element, EVENT_CLICK_DISMISS)\n EventHandler.off(this._dialog, EVENT_MOUSEDOWN_DISMISS)\n\n this._queueCallback(() => this._hideModal(), this._element, isAnimated)\n }\n\n dispose() {\n [window, this._dialog]\n .forEach(htmlElement => EventHandler.off(htmlElement, EVENT_KEY))\n\n this._backdrop.dispose()\n this._focustrap.deactivate()\n super.dispose()\n }\n\n handleUpdate() {\n this._adjustDialog()\n }\n\n // Private\n\n _initializeBackDrop() {\n return new Backdrop({\n isVisible: Boolean(this._config.backdrop), // 'static' option will be translated to true, and booleans will keep their value\n isAnimated: this._isAnimated()\n })\n }\n\n _initializeFocusTrap() {\n return new FocusTrap({\n trapElement: this._element\n })\n }\n\n _getConfig(config) {\n config = {\n ...Default,\n ...Manipulator.getDataAttributes(this._element),\n ...(typeof config === 'object' ? config : {})\n }\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _showElement(relatedTarget) {\n const isAnimated = this._isAnimated()\n const modalBody = SelectorEngine.findOne(SELECTOR_MODAL_BODY, this._dialog)\n\n if (!this._element.parentNode || this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {\n // Don't move modal's DOM position\n document.body.append(this._element)\n }\n\n this._element.style.display = 'block'\n this._element.removeAttribute('aria-hidden')\n this._element.setAttribute('aria-modal', true)\n this._element.setAttribute('role', 'dialog')\n this._element.scrollTop = 0\n\n if (modalBody) {\n modalBody.scrollTop = 0\n }\n\n if (isAnimated) {\n reflow(this._element)\n }\n\n this._element.classList.add(CLASS_NAME_SHOW)\n\n const transitionComplete = () => {\n if (this._config.focus) {\n this._focustrap.activate()\n }\n\n this._isTransitioning = false\n EventHandler.trigger(this._element, EVENT_SHOWN, {\n relatedTarget\n })\n }\n\n this._queueCallback(transitionComplete, this._dialog, isAnimated)\n }\n\n _setEscapeEvent() {\n if (this._isShown) {\n EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, event => {\n if (this._config.keyboard && event.key === ESCAPE_KEY) {\n event.preventDefault()\n this.hide()\n } else if (!this._config.keyboard && event.key === ESCAPE_KEY) {\n this._triggerBackdropTransition()\n }\n })\n } else {\n EventHandler.off(this._element, EVENT_KEYDOWN_DISMISS)\n }\n }\n\n _setResizeEvent() {\n if (this._isShown) {\n EventHandler.on(window, EVENT_RESIZE, () => this._adjustDialog())\n } else {\n EventHandler.off(window, EVENT_RESIZE)\n }\n }\n\n _hideModal() {\n this._element.style.display = 'none'\n this._element.setAttribute('aria-hidden', true)\n this._element.removeAttribute('aria-modal')\n this._element.removeAttribute('role')\n this._isTransitioning = false\n this._backdrop.hide(() => {\n document.body.classList.remove(CLASS_NAME_OPEN)\n this._resetAdjustments()\n this._scrollBar.reset()\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n })\n }\n\n _showBackdrop(callback) {\n EventHandler.on(this._element, EVENT_CLICK_DISMISS, event => {\n if (this._ignoreBackdropClick) {\n this._ignoreBackdropClick = false\n return\n }\n\n if (event.target !== event.currentTarget) {\n return\n }\n\n if (this._config.backdrop === true) {\n this.hide()\n } else if (this._config.backdrop === 'static') {\n this._triggerBackdropTransition()\n }\n })\n\n this._backdrop.show(callback)\n }\n\n _isAnimated() {\n return this._element.classList.contains(CLASS_NAME_FADE)\n }\n\n _triggerBackdropTransition() {\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n if (hideEvent.defaultPrevented) {\n return\n }\n\n const { classList, scrollHeight, style } = this._element\n const isModalOverflowing = scrollHeight > document.documentElement.clientHeight\n\n // return if the following background transition hasn't yet completed\n if ((!isModalOverflowing && style.overflowY === 'hidden') || classList.contains(CLASS_NAME_STATIC)) {\n return\n }\n\n if (!isModalOverflowing) {\n style.overflowY = 'hidden'\n }\n\n classList.add(CLASS_NAME_STATIC)\n this._queueCallback(() => {\n classList.remove(CLASS_NAME_STATIC)\n if (!isModalOverflowing) {\n this._queueCallback(() => {\n style.overflowY = ''\n }, this._dialog)\n }\n }, this._dialog)\n\n this._element.focus()\n }\n\n // ----------------------------------------------------------------------\n // the following methods are used to handle overflowing modals\n // ----------------------------------------------------------------------\n\n _adjustDialog() {\n const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight\n const scrollbarWidth = this._scrollBar.getWidth()\n const isBodyOverflowing = scrollbarWidth > 0\n\n if ((!isBodyOverflowing && isModalOverflowing && !isRTL()) || (isBodyOverflowing && !isModalOverflowing && isRTL())) {\n this._element.style.paddingLeft = `${scrollbarWidth}px`\n }\n\n if ((isBodyOverflowing && !isModalOverflowing && !isRTL()) || (!isBodyOverflowing && isModalOverflowing && isRTL())) {\n this._element.style.paddingRight = `${scrollbarWidth}px`\n }\n }\n\n _resetAdjustments() {\n this._element.style.paddingLeft = ''\n this._element.style.paddingRight = ''\n }\n\n // Static\n\n static jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n const data = Modal.getOrCreateInstance(this, config)\n\n if (typeof config !== 'string') {\n return\n }\n\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](relatedTarget)\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n const target = getElementFromSelector(this)\n\n if (['A', 'AREA'].includes(this.tagName)) {\n event.preventDefault()\n }\n\n EventHandler.one(target, EVENT_SHOW, showEvent => {\n if (showEvent.defaultPrevented) {\n // only register focus restorer if modal will actually get shown\n return\n }\n\n EventHandler.one(target, EVENT_HIDDEN, () => {\n if (isVisible(this)) {\n this.focus()\n }\n })\n })\n\n // avoid conflict when clicking moddal toggler while another one is open\n const allReadyOpen = SelectorEngine.findOne(OPEN_SELECTOR)\n if (allReadyOpen) {\n Modal.getInstance(allReadyOpen).hide()\n }\n\n const data = Modal.getOrCreateInstance(target)\n\n data.toggle(this)\n})\n\nenableDismissTrigger(Modal)\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Modal to jQuery only if jQuery is present\n */\n\ndefineJQueryPlugin(Modal)\n\nexport default Modal\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): offcanvas.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n defineJQueryPlugin,\n getElementFromSelector,\n isDisabled,\n isVisible,\n typeCheckConfig\n} from './util/index'\nimport ScrollBarHelper from './util/scrollbar'\nimport EventHandler from './dom/event-handler'\nimport BaseComponent from './base-component'\nimport SelectorEngine from './dom/selector-engine'\nimport Manipulator from './dom/manipulator'\nimport Backdrop from './util/backdrop'\nimport FocusTrap from './util/focustrap'\nimport { enableDismissTrigger } from './util/component-functions'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'offcanvas'\nconst DATA_KEY = 'bs.offcanvas'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\nconst ESCAPE_KEY = 'Escape'\n\nconst Default = {\n backdrop: true,\n keyboard: true,\n scroll: false\n}\n\nconst DefaultType = {\n backdrop: 'boolean',\n keyboard: 'boolean',\n scroll: 'boolean'\n}\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_BACKDROP = 'offcanvas-backdrop'\nconst OPEN_SELECTOR = '.offcanvas.show'\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"offcanvas\"]'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Offcanvas extends BaseComponent {\n constructor(element, config) {\n super(element)\n\n this._config = this._getConfig(config)\n this._isShown = false\n this._backdrop = this._initializeBackDrop()\n this._focustrap = this._initializeFocusTrap()\n this._addEventListeners()\n }\n\n // Getters\n\n static get NAME() {\n return NAME\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isShown) {\n return\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, { relatedTarget })\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n this._isShown = true\n this._element.style.visibility = 'visible'\n\n this._backdrop.show()\n\n if (!this._config.scroll) {\n new ScrollBarHelper().hide()\n }\n\n this._element.removeAttribute('aria-hidden')\n this._element.setAttribute('aria-modal', true)\n this._element.setAttribute('role', 'dialog')\n this._element.classList.add(CLASS_NAME_SHOW)\n\n const completeCallBack = () => {\n if (!this._config.scroll) {\n this._focustrap.activate()\n }\n\n EventHandler.trigger(this._element, EVENT_SHOWN, { relatedTarget })\n }\n\n this._queueCallback(completeCallBack, this._element, true)\n }\n\n hide() {\n if (!this._isShown) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n this._focustrap.deactivate()\n this._element.blur()\n this._isShown = false\n this._element.classList.remove(CLASS_NAME_SHOW)\n this._backdrop.hide()\n\n const completeCallback = () => {\n this._element.setAttribute('aria-hidden', true)\n this._element.removeAttribute('aria-modal')\n this._element.removeAttribute('role')\n this._element.style.visibility = 'hidden'\n\n if (!this._config.scroll) {\n new ScrollBarHelper().reset()\n }\n\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n }\n\n this._queueCallback(completeCallback, this._element, true)\n }\n\n dispose() {\n this._backdrop.dispose()\n this._focustrap.deactivate()\n super.dispose()\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...Manipulator.getDataAttributes(this._element),\n ...(typeof config === 'object' ? config : {})\n }\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _initializeBackDrop() {\n return new Backdrop({\n className: CLASS_NAME_BACKDROP,\n isVisible: this._config.backdrop,\n isAnimated: true,\n rootElement: this._element.parentNode,\n clickCallback: () => this.hide()\n })\n }\n\n _initializeFocusTrap() {\n return new FocusTrap({\n trapElement: this._element\n })\n }\n\n _addEventListeners() {\n EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, event => {\n if (this._config.keyboard && event.key === ESCAPE_KEY) {\n this.hide()\n }\n })\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Offcanvas.getOrCreateInstance(this, config)\n\n if (typeof config !== 'string') {\n return\n }\n\n if (data[config] === undefined || config.startsWith('_') || config === 'constructor') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](this)\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n const target = getElementFromSelector(this)\n\n if (['A', 'AREA'].includes(this.tagName)) {\n event.preventDefault()\n }\n\n if (isDisabled(this)) {\n return\n }\n\n EventHandler.one(target, EVENT_HIDDEN, () => {\n // focus on trigger when it is closed\n if (isVisible(this)) {\n this.focus()\n }\n })\n\n // avoid conflict when clicking a toggler of an offcanvas, while another is open\n const allReadyOpen = SelectorEngine.findOne(OPEN_SELECTOR)\n if (allReadyOpen && allReadyOpen !== target) {\n Offcanvas.getInstance(allReadyOpen).hide()\n }\n\n const data = Offcanvas.getOrCreateInstance(target)\n data.toggle(this)\n})\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () =>\n SelectorEngine.find(OPEN_SELECTOR).forEach(el => Offcanvas.getOrCreateInstance(el).show())\n)\n\nenableDismissTrigger(Offcanvas)\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\ndefineJQueryPlugin(Offcanvas)\n\nexport default Offcanvas\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): util/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst uriAttributes = new Set([\n 'background',\n 'cite',\n 'href',\n 'itemtype',\n 'longdesc',\n 'poster',\n 'src',\n 'xlink:href'\n])\n\nconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i\n\n/**\n * A pattern that recognizes a commonly useful subset of URLs that are safe.\n *\n * Shoutout to Angular https://github.com/angular/angular/blob/12.2.x/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file|sms):|[^#&/:?]*(?:[#/?]|$))/i\n\n/**\n * A pattern that matches safe data URLs. Only matches image, video and audio types.\n *\n * Shoutout to Angular https://github.com/angular/angular/blob/12.2.x/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst 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\nconst allowedAttribute = (attribute, allowedAttributeList) => {\n const attributeName = attribute.nodeName.toLowerCase()\n\n if (allowedAttributeList.includes(attributeName)) {\n if (uriAttributes.has(attributeName)) {\n return Boolean(SAFE_URL_PATTERN.test(attribute.nodeValue) || DATA_URL_PATTERN.test(attribute.nodeValue))\n }\n\n return true\n }\n\n const regExp = allowedAttributeList.filter(attributeRegex => attributeRegex instanceof RegExp)\n\n // Check if a regular expression validates the attribute.\n for (let i = 0, len = regExp.length; i < len; i++) {\n if (regExp[i].test(attributeName)) {\n return true\n }\n }\n\n return false\n}\n\nexport const DefaultAllowlist = {\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\nexport function sanitizeHtml(unsafeHtml, allowList, sanitizeFn) {\n if (!unsafeHtml.length) {\n return unsafeHtml\n }\n\n if (sanitizeFn && typeof sanitizeFn === 'function') {\n return sanitizeFn(unsafeHtml)\n }\n\n const domParser = new window.DOMParser()\n const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html')\n const elements = [].concat(...createdDocument.body.querySelectorAll('*'))\n\n for (let i = 0, len = elements.length; i < len; i++) {\n const element = elements[i]\n const elementName = element.nodeName.toLowerCase()\n\n if (!Object.keys(allowList).includes(elementName)) {\n element.remove()\n\n continue\n }\n\n const attributeList = [].concat(...element.attributes)\n const allowedAttributes = [].concat(allowList['*'] || [], allowList[elementName] || [])\n\n attributeList.forEach(attribute => {\n if (!allowedAttribute(attribute, allowedAttributes)) {\n element.removeAttribute(attribute.nodeName)\n }\n })\n }\n\n return createdDocument.body.innerHTML\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport * as Popper from '@popperjs/core'\n\nimport {\n defineJQueryPlugin,\n findShadowRoot,\n getElement,\n getUID,\n isElement,\n isRTL,\n noop,\n typeCheckConfig\n} from './util/index'\nimport { DefaultAllowlist, sanitizeHtml } from './util/sanitizer'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\nimport BaseComponent from './base-component'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tooltip'\nconst DATA_KEY = 'bs.tooltip'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst CLASS_PREFIX = 'bs-tooltip'\nconst DISALLOWED_ATTRIBUTES = new Set(['sanitize', 'allowList', 'sanitizeFn'])\n\nconst DefaultType = {\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: '(array|string|function)',\n container: '(string|element|boolean)',\n fallbackPlacements: 'array',\n boundary: '(string|element)',\n customClass: '(string|function)',\n sanitize: 'boolean',\n sanitizeFn: '(null|function)',\n allowList: 'object',\n popperConfig: '(null|object|function)'\n}\n\nconst AttachmentMap = {\n AUTO: 'auto',\n TOP: 'top',\n RIGHT: isRTL() ? 'left' : 'right',\n BOTTOM: 'bottom',\n LEFT: isRTL() ? 'right' : 'left'\n}\n\nconst Default = {\n animation: true,\n template: '