1(function(global,factory){typeof exports==='object'&&typeof module!=='undefined'?module.exports=factory(require('@popperjs/core')):typeof define==='function'&&define.amd?define(['@popperjs/core'],factory):(global=typeof globalThis!=='undefined'?globalThis:global||self,global.dmmrobootstrap=factory(global.Popper))})(this,(function(Popper){'use strict';const elementMap=new Map();const Data={set(element,key,instance){if(!elementMap.has(element)){elementMap.set(element,new Map())}const instanceMap=elementMap.get(element);if(!instanceMap.has(key)&&instanceMap.size!==0){console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(instanceMap.keys())[0]}.`);return}instanceMap.set(key,instance)},get(element,key){if(elementMap.has(element)){return elementMap.get(element).get(key)||null}return null},remove(element,key){if(!elementMap.has(element)){return}const instanceMap=elementMap.get(element);instanceMap.delete(key);if(instanceMap.size===0){elementMap.delete(element)}}};const MAX_UID=1000000;const MILLISECONDS_MULTIPLIER=1000;const TRANSITION_END='transitionend';const parseSelector=selector=>{if(selector&&window.CSS&&window.CSS.escape){selector=selector.replace(/#([^\s"#']+)/g,(match,id)=>`#${CSS.escape(id)}`)}return selector};const toType=object=>{if(object===null||object===undefined){return `${ object }`}return Object.prototype.toString.call(object).match(/\s([a-z]+)/i)[1].toLowerCase()};const getUID=prefix=>{do{prefix+=Math.floor(Math.random()*MAX_UID)}while(document.getElementById(prefix));return prefix};const getTransitionDurationFromElement=element=>{if(!element){return 0}let{transitionDuration,transitionDelay}=window.getComputedStyle(element);const floatTransitionDuration=Number.parseFloat(transitionDuration);const floatTransitionDelay=Number.parseFloat(transitionDelay);if(!floatTransitionDuration&&!floatTransitionDelay){return 0}transitionDuration=transitionDuration.split(',')[0];transitionDelay=transitionDelay.split(',')[0];return(Number.parseFloat(transitionDuration)+Number.parseFloat(transitionDelay))*MILLISECONDS_MULTIPLIER};const triggerTransitionEnd=element=>{element.dispatchEvent(new Event(TRANSITION_END))};const isElement=object=>{if(!object||typeof object!=='object'){return false}if(typeof object.jquery!=='undefined'){object=object[0]}return typeof object.nodeType!=='undefined'};const getElement=object=>{if(isElement(object)){return object.jquery?object[0]:object}if(typeof object==='string'&&object.length>0){return document.querySelector(parseSelector(object))}return null};const isVisible=element=>{if(!isElement(element)||element.getClientRects().length===0){return false}const elementIsVisible=getComputedStyle(element).getPropertyValue('visibility')==='visible';const closedDetails=element.closest('details:not([open])');if(!closedDetails){return elementIsVisible}if(closedDetails!==element){const summary=element.closest('summary');if(summary&&summary.parentNode!==closedDetails){return false}if(summary===null){return false}}return elementIsVisible};const isDisabled=element=>{if(!element||element.nodeType!==Node.ELEMENT_NODE){return true}if(element.classList.contains('disabled')){return true}if(typeof element.disabled!=='undefined'){return element.disabled}return element.hasAttribute('disabled')&&element.getAttribute('disabled')!=='false'};const findShadowRoot=element=>{if(!document.documentElement.attachShadow){return null}if(typeof element.getRootNode==='function'){const root=element.getRootNode();return root instanceof ShadowRoot?root:null}if(element instanceof ShadowRoot){return element}if(!element.parentNode){return null}return findShadowRoot(element.parentNode)};const noop=()=>{};const reflow=element=>{element.offsetHeight;};const getjQuery=()=>{if(window.jQuery&&!document.body.hasAttribute('data-bs-no-jquery')){return window.jQuery}return null};const DOMContentLoadedCallbacks=[];const onDOMContentLoaded=callback=>{if(document.readyState==='loading'){if(!DOMContentLoadedCallbacks.length){document.addEventListener('DOMContentLoaded',()=>{for(const callback of DOMContentLoadedCallbacks){callback()}})}DOMContentLoadedCallbacks.push(callback)}else{callback()}};const isRTL=()=>document.documentElement.dir==='rtl';const defineJQueryPlugin=plugin=>{onDOMContentLoaded(()=>{const $=getjQuery();if($){const name=plugin.NAME;const JQUERY_NO_CONFLICT=$.fn[name];$.fn[name]=plugin.jQueryInterface;$.fn[name].Constructor=plugin;$.fn[name].noConflict=()=>{$.fn[name]=JQUERY_NO_CONFLICT;return plugin.jQueryInterface}}})};const execute=(possibleCallback,args=[],defaultValue=possibleCallback)=>{return typeof possibleCallback==='function'?possibleCallback(...args):defaultValue};const executeAfterTransition=(callback,transitionElement,waitForTransition=true)=>{if(!waitForTransition){execute(callback);return}const durationPadding=5;const emulatedDuration=getTransitionDurationFromElement(transitionElement)+durationPadding;let called=false;const handler=({target})=>
1{if(target!==transitionElement){return}called=true;transitionElement.removeEventListener(TRANSITION_END,handler);execute(callback)};transitionElement.addEventListener(TRANSITION_END,handler);setTimeout(()=>{if(!called){triggerTransitionEnd(transitionElement)}},emulatedDuration)};const getNextActiveElement=(list,activeElement,shouldGetNext,isCycleAllowed)=>{const listLength=list.length;let index=list.indexOf(activeElement);if(index===-1){return!shouldGetNext&&isCycleAllowed?list[listLength-1]:list[0]}index+=shouldGetNext?1:-1;if(isCycleAllowed){index=(index+listLength)%listLength}return list[Math.max(0,Math.min(index,listLength-1))]};const namespaceRegex=/[^.]*(?=\..*)\.|.*/;const stripNameRegex=/\..*/;const stripUidRegex=/::\d+$/;const eventRegistry={};let uidEvent=1;const customEvents={mouseenter:'mouseover',mouseleave:'mouseout'};const nativeEvents=new Set(['click','dblclick','mouseup','mousedown','contextmenu','mousewheel','DOMMouseScroll','mouseover','mouseout','mousemove','selectstart','selectend','keydown','keypress','keyup','orientationchange','touchstart','touchmove','touchend','touchcancel','pointerdown','pointermove','pointerup','pointerleave','pointercancel','gesturestart','gesturechange','gestureend','focus','blur','change','reset','select','submit','focusin','focusout','load','unload','beforeunload','resize','move','DOMContentLoaded','readystatechange','error','abort','scroll']);function makeEventUid(element,uid){return uid&&`${ uid }::${uidEvent++}`||element.uidEvent||uidEvent++}function getElementEvents(element){const uid=makeEventUid(element);element.uidEvent=uid;eventRegistry[uid]=eventRegistry[uid]||{};return eventRegistry[uid]}function bootstrapHandler(element,fn){return function handler(event){hydrateObj(event,{delegateTarget:element});if(handler.oneOff){EventHandler.off(element,event.type,fn)}return fn.apply(element,[event])}}function bootstrapDelegationHandler(element,selector,fn){return function handler(event){const domElements=element.querySelectorAll(selector);for(let{target}=event;target&&target!==this;target=target.parentNode){for(const domElement of domElements){if(domElement!==target){continue}hydrateObj(event,{delegateTarget:target});if(handler.oneOff){EventHandler.off(element,event.type,selector,fn)}return fn.apply(target,[event])}}}}function findHandler(events,callable,delegationSelector=null){return Object.values(events).find(event=>event.callable===callable&&event.delegationSelector===delegationSelector)}function normalizeParameters(originalTypeEvent,handler,delegationFunction){const isDelegated=typeof handler==='string';const callable=isDelegated?delegationFunction:handler||delegationFunction;let typeEvent=getTypeEvent(originalTypeEvent);if(!nativeEvents.has(typeEvent)){typeEvent=originalTypeEvent}return[isDelegated,callable,typeEvent]}function addHandler(element,originalTypeEvent,handler,delegationFunction,oneOff){if(typeof originalTypeEvent!=='string'||!element){return}let[isDelegated,callable,typeEvent]=normalizeParameters(originalTypeEvent,handler,delegationFunction);if(originalTypeEvent in customEvents){const wrapFunction=fn=>{return function(event){if(!event.relatedTarget||event.relatedTarget!==event.delegateTarget&&!event.delegateTarget.contains(event.relatedTarget)){return fn.call(this,event)}}};callable=wrapFunction(callable)}const events=getElementEvents(element);const handlers=events[typeEvent]||(events[typeEvent]={});const previousFunction=findHandler(handlers,callable,isDelegated?handler:null);if(previousFunction){previousFunction.oneOff=previousFunction.oneOff&&oneOff;return}const uid=makeEventUid(callable,originalTypeEvent.replace(namespaceRegex,''));const fn=isDelegated?bootstrapDelegationHandler(element,handler,callable):bootstrapHandler(element,callable);fn.delegationSelector=isDelegated?handler:null;fn.callable=callable;fn.oneOff=oneOff;fn.uidEvent=uid;handlers[uid]=fn;element.addEventListener(typeEvent,fn,isDelegated)}function removeHandler(element,events,typeEvent,handler,delegationSelector){const fn=findHandler(events[typeEvent],handler,delegationSelector);if(!fn){return}element.removeEventListener(typeEvent,fn,Boolean(delegationSelector));delete events[typeEvent][fn.uidEvent]}function removeNamespacedHandlers(element,events,typeEvent,namespace){const storeElementEvent=events[typeEvent]||{};for(const[handlerKey,event]of Object.entries(storeElementEvent)){if(handlerKey.includes(namespace)){removeHandler(element,events,typeEvent,event.callable,event.delegationSelector)}}}function getTypeEvent(event){event=event.replace(stripNameRegex,'');return customEvents[event]||event}const EventHandler={on(element,event,handler,delegationFunction){addHandler(element,event,handler,delegationFunction,false)},one(element,event,handler,delegationFunction){addHandler(element,event,handler,delegationFunction,true)},off(element,originalTypeEvent,handler,delegationFunction){if(typeof originalTypeEvent!=='string'||!element){return}const[isDelegated,callable,typeEvent]=normalizeParameters(originalTypeEvent,handler,delegationFunction);const inNamespace=typeEvent!==originalTypeEvent;const events=getElementEvents(element);const storeElementEvent=events[typeEvent]||{};const isNamespace=originalTypeEvent.startsWith('.');if(typeof callable!=='undefined'){if(!Object.keys(storeElementEvent).length){return}removeHandler(element,events,typeEvent,callable,isDelegated?handler:null);return}
1if(isNamespace){for(const elementEvent of Object.keys(events)){removeNamespacedHandlers(element,events,elementEvent,originalTypeEvent.slice(1))}}for(const[keyHandlers,event]of Object.entries(storeElementEvent)){const handlerKey=keyHandlers.replace(stripUidRegex,'');if(!inNamespace||originalTypeEvent.includes(handlerKey)){removeHandler(element,events,typeEvent,event.callable,event.delegationSelector)}}},trigger(element,event,args){if(typeof event!=='string'||!element){return null}const $=getjQuery();const typeEvent=getTypeEvent(event);const inNamespace=event!==typeEvent;let jQueryEvent=null;let bubbles=true;let nativeDispatch=true;let defaultPrevented=false;if(inNamespace&&$){jQueryEvent=$.Event(event,args);$(element).trigger(jQueryEvent);bubbles=!jQueryEvent.isPropagationStopped();nativeDispatch=!jQueryEvent.isImmediatePropagationStopped();defaultPrevented=jQueryEvent.isDefaultPrevented()}const evt=hydrateObj(new Event(event,{bubbles,cancelable:true}),args);if(defaultPrevented){evt.preventDefault()}if(nativeDispatch){element.dispatchEvent(evt)}if(evt.defaultPrevented&&jQueryEvent){jQueryEvent.preventDefault()}return evt}};function hydrateObj(obj,meta={}){for(const[key,value]of Object.entries(meta)){try{obj[key]=value}catch(_unused){Object.defineProperty(obj,key,{configurable:true,get(){return value}})}}return obj}function normalizeData(value){if(value==='true'){return true}if(value==='false'){return false}if(value===Number(value).toString()){return Number(value)}if(value===''||value==='null'){return null}if(typeof value!=='string'){return value}try{return JSON.parse(decodeURIComponent(value))}catch(_unused){return value}}function normalizeDataKey(key){return key.replace(/[A-Z]/g,chr=>`-${chr.toLowerCase()}`)}const Manipulator={setDataAttribute(element,key,value){element.setAttribute(`data-bs-${normalizeDataKey(key)}`,value)},removeDataAttribute(element,key){element.removeAttribute(`data-bs-${normalizeDataKey(key)}`)},getDataAttributes(element){if(!element){return{}}const attributes={};const bsKeys=Object.keys(element.dataset).filter(key=>key.startsWith('bs')&&!key.startsWith('bsConfig'));for(const key of bsKeys){let pureKey=key.replace(/^bs/,'');pureKey=pureKey.charAt(0).toLowerCase()+pureKey.slice(1,pureKey.length);attributes[pureKey]=normalizeData(element.dataset[key])}return attributes},getDataAttribute(element,key){return normalizeData(element.getAttribute(`data-bs-${normalizeDataKey(key)}`))}};class Config{static get Default(){return{}}static get DefaultType(){return{}}static get NAME(){throw new Error('You have to implement the static method "NAME", for each component!')}_getConfig(config){config=this._mergeConfigObj(config);config=this._configAfterMerge(config);this._typeCheckConfig(config);return config}_configAfterMerge(config){return config}_mergeConfigObj(config,element){const jsonConfig=isElement(element)?Manipulator.getDataAttribute(element,'config'):{};return{...this.constructor.Default,...(typeof jsonConfig==='object'?jsonConfig:{}),...(isElement(element)?Manipulator.getDataAttributes(element):{}),...(typeof config==='object'?config:{})}}_typeCheckConfig(config,configTypes=this.constructor.DefaultType){for(const[property,expectedTypes]of Object.entries(configTypes)){const value=config[property];const valueType=isElement(value)?'element':toType(value);if(!new RegExp(expectedTypes).test(valueType)){throw new TypeError(`${this.constructor.NAME.toUpperCase()}: Option "${ property }" provided type "${ valueType }" but expected type "${ expectedTypes }".`)}}}}const VERSION='5.3.2';class BaseComponent extends Config{constructor(element,config){super();element=getElement(element);if(!element){return}this._element=element;this._config=this._getConfig(config);Data.set(this._element,this.constructor.DATA_KEY,this)}dispose(){Data.remove(this._element,this.constructor.DATA_KEY);EventHandler.off(this._element,this.constructor.EVENT_KEY);for(const propertyName of Object.getOwnPropertyNames(this)){this[propertyName]=null}}_queueCallback(callback,element,isAnimated=true){executeAfterTransition(callback,element,isAnimated)}_getConfig(config){config=this._mergeConfigObj(config,this._element);config=this._configAfterMerge(config);this._typeCheckConfig(config);return config}static getInstance(element){return Data.get(getElement(element),this.DATA_KEY)}static getOrCreateInstance(element,config={}){return this.getInstance(element)||new this(element,typeof config==='object'?config:null)}static get VERSION(){return VERSION}static get DATA_KEY(){return `bs.${this.NAME }`}static get EVENT_KEY(){return `.${this.DATA_KEY }`}static eventName(name){return `${ name }${this.EVENT_KEY }`}}const getSelector=element=>{let selector=element.getAttribute('data-bs-target');if(!selector||selector==='#'){let hrefAttribute=element.getAttribute('href');if(!hrefAttribute||!hrefAttribute.includes('#')&&!hrefAttribute.startsWith('.')){return null}if(hrefAttribute.includes('#')&&!hrefAttribute.startsWith('#')){hrefAttribute=`#${hrefAttribute.split('#')[1]}`}selector=hrefAttribute&&hrefAttribute!=='#'?parseSelector(hrefAttribute.trim()):null}return selector};const SelectorEngine={find(selector,element=document.documentElement){return[].concat(...Element.prototype.querySelectorAll.call(element,selector))},findOne(selector,element=document.documentElement){return Element.prototype.querySelector.call(element,selector)},children(element,selector){return[].concat(...element.children).filter(child=>child.matches(selector))},parents(element,selector){const parents=[];let ancestor=element.parentNode.closest(selector);while(ancestor){parents.push(ancestor);ancestor=ancestor.parentNode.closest(selector)}return parents},prev(element,selector){let previous=element.previousElementSibling;while(previous){if(previous.matches(selector)){return[previous]}previous=previous.previousElementSibling}return[]},next(element,selector){let next=element.nextElementSibling;while(next){if(next.matches(selector)){return[next]}next=next.nextElementSibling}return[]},focusableChildren(element){const focusables=['a','button','input','textarea','select','details','[tabindex]','[contenteditable="true"]'].map(selector=>`${ selector }:not([tabindex^="-"])`).join(',');return this.find(focusables,element).filter(el=>!isDisabled(el)&&isVisible(el))},getSelectorFromElement(element){const selector=getSelector(element);if(selector){return SelectorEngine.findOne(selector)?selector:null}return null},getElementFromSelector(element){const selector=getSelector(element);return selector?SelectorEngine.findOne(selector):null},getMultipleElementsFromSelector(element){const selector=getSelector(element);return selector?SelectorEngine.find(selector):[]}};const enableDismissTrigger=(component,method='hide')=>{const clickEvent=`click.dismiss${component.EVENT_KEY }`;const name=component.NAME;EventHandler.on(document,clickEvent,`[data-bs-dismiss="${ name }"]`,function(event){if(['A','AREA'].includes(this.tagName)){event.preventDefault()}if(isDisabled(this)){return}const target=SelectorEngine.getElementFromSelector(this)||this.closest(`.${ name }`);const instance=component.getOrCreateInstance(target);instance[method]()})};const NAME$a='dropdown';const DATA_KEY$6='bs.dropdown';const EVENT_KEY$6=`.${ DATA_KEY$6 }`;const DATA_API_KEY$3='.data-api';const ESCAPE_KEY$2='Escape';const TAB_KEY$1='Tab';const ARROW_UP_KEY$1='ArrowUp';const ARROW_DOWN_KEY$1='ArrowDown';const RIGHT_MOUSE_BUTTON=2;const EVENT_HIDE$5=`hide${ EVENT_KEY$6 }`;const EVENT_HIDDEN$5=`hidden${ EVENT_KEY$6 }`;const EVENT_SHOW$5=`show${ EVENT_KEY$6 }`;const EVENT_SHOWN$5=`shown${ EVENT_KEY$6 }`;const EVENT_CLICK_DATA_API$3=`click${ EVENT_KEY$6 }${ DATA_API_KEY$3 }`;const EVENT_KEYDOWN_DATA_API=`keydown${ EVENT_KEY$6 }${ DATA_API_KEY$3 }`;const EVENT_KEYUP_DATA_API=`keyup${ EVENT_KEY$6 }${ DATA_API_KEY$3 }`;const CLASS_NAME_SHOW$6='show';const CLASS_NAME_DROPUP='dropup';const CLASS_NAME_DROPEND='dropend';const CLASS_NAME_DROPSTART='dropstart';const CLASS_NAME_DROPUP_CENTER='dropup-center';
1const CLASS_NAME_DROPDOWN_CENTER='dropdown-center';const SELECTOR_DATA_TOGGLE$3='[data-bs-toggle="dropdown"]:not(.disabled):not(:disabled)';const SELECTOR_DATA_TOGGLE_SHOWN=`${ SELECTOR_DATA_TOGGLE$3 }.${ CLASS_NAME_SHOW$6 }`;const SELECTOR_MENU='.dropdown-menu';const SELECTOR_NAVBAR='.navbar';const SELECTOR_NAVBAR_NAV='.navbar-nav';const SELECTOR_VISIBLE_ITEMS='.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)';const PLACEMENT_TOP=isRTL()?'top-end':'top-start';const PLACEMENT_TOPEND=isRTL()?'top-start':'top-end';const PLACEMENT_BOTTOM=isRTL()?'bottom-end':'bottom-start';const PLACEMENT_BOTTOMEND=isRTL()?'bottom-start':'bottom-end';const PLACEMENT_RIGHT=isRTL()?'left-start':'right-start';const PLACEMENT_LEFT=isRTL()?'right-start':'left-start';const PLACEMENT_TOPCENTER='top';const PLACEMENT_BOTTOMCENTER='bottom';const Default$9={autoClose:true,boundary:'clippingParents',display:'dynamic',offset:[0,2],popperConfig:null,reference:'toggle'};const DefaultType$9={autoClose:'(boolean|string)',boundary:'(string|element)',display:'string',offset:'(array|string|function)',popperConfig:'(null|object|function)',reference:'(string|element|object)'};class Dropdown extends BaseComponent{constructor(element,config){super(element,config);this._popper=null;this._parent=this._element.parentNode;this._menu=SelectorEngine.next(this._element,SELECTOR_MENU)[0]||SelectorEngine.prev(this._element,SELECTOR_MENU)[0]||SelectorEngine.findOne(SELECTOR_MENU,this._parent);this._inNavbar=this._detectNavbar()}static get Default(){return Default$9}static get DefaultType(){return DefaultType$9}static get NAME(){return NAME$a}toggle(){return this._isShown()?this.hide():this.show()}show(){if(isDisabled(this._element)||this._isShown()){return}const relatedTarget={relatedTarget:this._element};const showEvent=EventHandler.trigger(this._element,EVENT_SHOW$5,relatedTarget);if(showEvent.defaultPrevented){return}this._createPopper();if('ontouchstart'in document.documentElement&&!this._parent.closest(SELECTOR_NAVBAR_NAV)){for(const element of[].concat(...document.body.children)){EventHandler.on(element,'mouseover',noop)}}this._element.focus();this._element.setAttribute('aria-expanded',true);this._menu.classList.add(CLASS_NAME_SHOW$6);this._element.classList.add(CLASS_NAME_SHOW$6);EventHandler.trigger(this._element,EVENT_SHOWN$5,relatedTarget)}hide(){if(isDisabled(this._element)||!this._isShown()){return}const relatedTarget={relatedTarget:this._element};this._completeHide(relatedTarget)}dispose(){if(this._popper){this._popper.destroy()}super.dispose()}update(){this._inNavbar=this._detectNavbar();if(this._popper){this._popper.update()}}_completeHide(relatedTarget){const hideEvent=EventHandler.trigger(this._element,EVENT_HIDE$5,relatedTarget);if(hideEvent.defaultPrevented){return}if('ontouchstart'in document.documentElement){for(const element of[].concat(...document.body.children)){EventHandler.off(element,'mouseover',noop)}}if(this._popper){this._popper.destroy()}this._menu.classList.remove(CLASS_NAME_SHOW$6);this._element.classList.remove(CLASS_NAME_SHOW$6);this._element.setAttribute('aria-expanded','false');Manipulator.removeDataAttribute(this._menu,'popper');EventHandler.trigger(this._element,EVENT_HIDDEN$5,relatedTarget)}_getConfig(config){config=super._getConfig(config);if(typeof config.reference==='object'&&!isElement(config.reference)&&typeof config.reference.getBoundingClientRect!=='function'){throw new TypeError(`${NAME$a.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`)}return config}_createPopper(){if(typeof Popper__namespace==='undefined'){throw new TypeError('Bootstrap\'s dropdowns require Popper (https://popper.js.org)')}let referenceElement=this._element;if(this._config.reference==='parent'){referenceElement=this._parent}else if(isElement(this._config.reference)){referenceElement=getElement(this._config.reference)}else if(typeof this._config.reference==='object'){referenceElement=this._config.reference}const popperConfig=this._getPopperConfig();this._popper=Popper__namespace.createPopper(referenceElement,this._menu,popperConfig)}_isShown(){return this._menu.classList.contains(CLASS_NAME_SHOW$6)}_getPlacement(){const parentDropdown=this._parent;if(parentDropdown.classList.contains(CLASS_NAME_DROPEND)){return PLACEMENT_RIGHT}if(parentDropdown.classList.contains(CLASS_NAME_DROPSTART)){return PLACEMENT_LEFT}if(parentDropdown.classList.contains(CLASS_NAME_DROPUP_CENTER)){return PLACEMENT_TOPCENTER}
1if(parentDropdown.classList.contains(CLASS_NAME_DROPDOWN_CENTER)){return PLACEMENT_BOTTOMCENTER}const isEnd=getComputedStyle(this._menu).getPropertyValue('--bs-position').trim()==='end';if(parentDropdown.classList.contains(CLASS_NAME_DROPUP)){return isEnd?PLACEMENT_TOPEND:PLACEMENT_TOP}return isEnd?PLACEMENT_BOTTOMEND:PLACEMENT_BOTTOM}_detectNavbar(){return this._element.closest(SELECTOR_NAVBAR)!==null}_getOffset(){const{offset}=this._config;if(typeof offset==='string'){return offset.split(',').map(value=>Number.parseInt(value,10))}if(typeof offset==='function'){return popperData=>offset(popperData,this._element)}return offset}_getPopperConfig(){const defaultBsPopperConfig={placement:this._getPlacement(),modifiers:[{name:'preventOverflow',options:{boundary:this._config.boundary}},{name:'offset',options:{offset:this._getOffset()}}]};if(this._inNavbar||this._config.display==='static'){Manipulator.setDataAttribute(this._menu,'popper','static');defaultBsPopperConfig.modifiers=[{name:'applyStyles',enabled:false}]}return{...defaultBsPopperConfig,...execute(this._config.popperConfig,[defaultBsPopperConfig])}}_selectMenuItem({key,target}){const items=SelectorEngine.find(SELECTOR_VISIBLE_ITEMS,this._menu).filter(element=>isVisible(element));if(!items.length){return}getNextActiveElement(items,target,key===ARROW_DOWN_KEY$1,!items.includes(target)).focus()}static jQueryInterface(config){return this.each(function(){const data=Dropdown.getOrCreateInstance(this,config);if(typeof config!=='string'){return}if(typeof data[config]==='undefined'){throw new TypeError(`No method named "${ config }"`)}data[config]()})}static clearMenus(event){if(event.button===RIGHT_MOUSE_BUTTON||event.type==='keyup'&&event.key!==TAB_KEY$1){return}const openToggles=SelectorEngine.find(SELECTOR_DATA_TOGGLE_SHOWN);for(const toggle of openToggles){const context=Dropdown.getInstance(toggle);if(!context||context._config.autoClose===false){continue}const composedPath=event.composedPath();const isMenuTarget=composedPath.includes(context._menu);if(composedPath.includes(context._element)||context._config.autoClose==='inside'&&!isMenuTarget||context._config.autoClose==='outside'&&isMenuTarget){continue}if(context._menu.contains(event.target)&&(event.type==='keyup'&&event.key===TAB_KEY$1||/input|select|option|textarea|form/i.test(event.target.tagName))){continue}const relatedTarget={relatedTarget:context._element};if(event.type==='click'){relatedTarget.clickEvent=event}context._completeHide(relatedTarget)}}static dataApiKeydownHandler(event){const isInput=/input|textarea/i.test(event.target.tagName);const isEscapeEvent=event.key===ESCAPE_KEY$2;const isUpOrDownEvent=[ARROW_UP_KEY$1,ARROW_DOWN_KEY$1].includes(event.key);if(!isUpOrDownEvent&&!isEscapeEvent){return}if(isInput&&!isEscapeEvent){return}event.preventDefault();const getToggleButton=this.matches(SELECTOR_DATA_TOGGLE$3)?this:SelectorEngine.prev(this,SELECTOR_DATA_TOGGLE$3)[0]||SelectorEngine.next(this,SELECTOR_DATA_TOGGLE$3)[0]||SelectorEngine.findOne(SELECTOR_DATA_TOGGLE$3,event.delegateTarget.parentNode);const instance=Dropdown.getOrCreateInstance(getToggleButton);if(isUpOrDownEvent){event.stopPropagation();instance.show();instance._selectMenuItem(event);return}if(instance._isShown()){event.stopPropagation();instance.hide();getToggleButton.focus()}}}EventHandler.on(document,EVENT_KEYDOWN_DATA_API,SELECTOR_DATA_TOGGLE$3,Dropdown.dataApiKeydownHandler);EventHandler.on(document,EVENT_KEYDOWN_DATA_API,SELECTOR_MENU,Dropdown.dataApiKeydownHandler);EventHandler.on(document,EVENT_CLICK_DATA_API$3,Dropdown.clearMenus);EventHandler.on(document,EVENT_KEYUP_DATA_API,Dropdown.clearMenus);EventHandler.on(document,EVENT_CLICK_DATA_API$3,SELECTOR_DATA_TOGGLE$3,function(event){event.preventDefault();Dropdown.getOrCreateInstance(this).toggle()});defineJQueryPlugin(Dropdown);const NAME$9='backdrop';const CLASS_NAME_FADE$4='fade';const CLASS_NAME_SHOW$5='show';const EVENT_MOUSEDOWN=`mousedown.bs.${ NAME$9 }`;const Default$8={className:'dmm-modal-backdrop modal-backdrop',clickCallback:null,isAnimated:false,isVisible:true,rootElement:'body'};const DefaultType$8={className:'string',clickCallback:'(function|null)',isAnimated:'boolean',isVisible:'boolean',rootElement:'(element|string)'};class Backdrop extends Config{constructor(config){super();this._config=this._getConfig(config);this._isAppended=false;this._element=null}static get Default(){return Default$8}static get DefaultType(){return DefaultType$8}static get NAME(){return NAME$9}show(callback){if(!this._config.isVisible){execute(callback);return}this._append();const element=this._getElement();if(this._config.isAnimated){reflow(element)}element.classList.add(CLASS_NAME_SHOW$5);this._emulateAnimation(()=>{execute(callback)})}hide(callback){if(!this._config.isVisible){execute(callback);return}this._getElement().classList.remove(CLASS_NAME_SHOW$5);this._emulateAnimation(()=>{this.dispose();execute(callback)})}dispose(){if(!this._isAppended){return}EventHandler.off(this._element,EVENT_MOUSEDOWN);this._element.remove();this._isAppended=false}_getElement(){if(!this._element){const backdrop=document.createElement('div');backdrop.className=this._config.className;if(this._config.isAnimated){backdrop.classList.add(CLASS_NAME_FADE$4)}this._element=backdrop}return this._element}_configAfterMerge(config){config.rootElement=getElement(config.rootElement);return config}_append(){if(this._isAppended){return}const element=this._getElement();this._config.rootElement.append(element);EventHandler.on(element,EVENT_MOUSEDOWN,()=>{execute(this._config.clickCallback)});this._isAppended=true}_emulateAnimation(callback){executeAfterTransition(callback,this._getElement(),this._config.isAnimated)}}const NAME$8='focustrap';const DATA_KEY$5='bs.focustrap';const EVENT_KEY$5=`.${ DATA_KEY$5 }`;const EVENT_FOCUSIN$2=`focusin${ EVENT_KEY$5 }`;const EVENT_KEYDOWN_TAB=`keydown.tab${ EVENT_KEY$5 }`;const TAB_KEY='Tab';
1const TAB_NAV_FORWARD='forward';const TAB_NAV_BACKWARD='backward';const Default$7={autofocus:true,trapElement:null };const DefaultType$7={autofocus:'boolean',trapElement:'element'};class FocusTrap extends Config{constructor(config){super();this._config=this._getConfig(config);this._isActive=false;this._lastTabNavDirection=null}static get Default(){return Default$7}static get DefaultType(){return DefaultType$7}static get NAME(){return NAME$8}activate(){if(this._isActive){return}if(this._config.autofocus){this._config.trapElement.focus()}EventHandler.off(document,EVENT_KEY$5);EventHandler.on(document,EVENT_FOCUSIN$2,event=>this._handleFocusin(event));EventHandler.on(document,EVENT_KEYDOWN_TAB,event=>this._handleKeydown(event));this._isActive=true}deactivate(){if(!this._isActive){return}this._isActive=false;EventHandler.off(document,EVENT_KEY$5)}_handleFocusin(event){const{trapElement}=this._config;if(event.target===document||event.target===trapElement||trapElement.contains(event.target)){return}const elements=SelectorEngine.focusableChildren(trapElement);if(elements.length===0){trapElement.focus()}else if(this._lastTabNavDirection===TAB_NAV_BACKWARD){elements[elements.length-1].focus()}else{elements[0].focus()}}_handleKeydown(event){if(event.key!==TAB_KEY){return}this._lastTabNavDirection=event.shiftKey?TAB_NAV_BACKWARD:TAB_NAV_FORWARD}}const SELECTOR_FIXED_CONTENT='.fixed-top, .fixed-bottom, .is-fixed, .sticky-top';const SELECTOR_STICKY_CONTENT='.sticky-top';const PROPERTY_PADDING='padding-right';const PROPERTY_MARGIN='margin-right';class ScrollBarHelper{constructor(){this._element=document.body}getWidth(){const documentWidth=document.documentElement.clientWidth;return Math.abs(window.innerWidth-documentWidth)}hide(){const width=this.getWidth();this._disableOverFlow();this._setElementAttributes(this._element,PROPERTY_PADDING,calculatedValue=>calculatedValue+width);this._setElementAttributes(SELECTOR_FIXED_CONTENT,PROPERTY_PADDING,calculatedValue=>calculatedValue+width);this._setElementAttributes(SELECTOR_STICKY_CONTENT,PROPERTY_MARGIN,calculatedValue=>calculatedValue-width)}reset(){this._resetElementAttributes(this._element,'overflow');this._resetElementAttributes(this._element,PROPERTY_PADDING);this._resetElementAttributes(SELECTOR_FIXED_CONTENT,PROPERTY_PADDING);this._resetElementAttributes(SELECTOR_STICKY_CONTENT,PROPERTY_MARGIN)}isOverflowing(){return this.getWidth()>0}_disableOverFlow(){this._saveInitialAttribute(this._element,'overflow');this._element.style.overflow='hidden'}_setElementAttributes(selector,styleProperty,callback){const scrollbarWidth=this.getWidth();const manipulationCallBack=element=>{if(element!==this._element&&window.innerWidth>element.clientWidth+scrollbarWidth){return}this._saveInitialAttribute(element,styleProperty);const calculatedValue=window.getComputedStyle(element).getPropertyValue(styleProperty);element.style.setProperty(styleProperty,`${callback(Number.parseFloat(calculatedValue))}px`)};this._applyManipulationCallback(selector,manipulationCallBack)}_saveInitialAttribute(element,styleProperty){const actualValue=element.style.getPropertyValue(styleProperty);if(actualValue){Manipulator.setDataAttribute(element,styleProperty,actualValue)}}_resetElementAttributes(selector,styleProperty){const manipulationCallBack=element=>{const value=Manipulator.getDataAttribute(element,styleProperty);if(value===null){element.style.removeProperty(styleProperty);return}Manipulator.removeDataAttribute(element,styleProperty);element.style.setProperty(styleProperty,value)};this._applyManipulationCallback(selector,manipulationCallBack)}_applyManipulationCallback(selector,callBack){if(isElement(selector)){callBack(selector);return}for(const sel of SelectorEngine.find(selector,this._element)){callBack(sel)}}}const NAME$7='dmm-modal';const DATA_KEY$4='bs.dmm-modal';const EVENT_KEY$4=`.${ DATA_KEY$4 }`;const DATA_API_KEY$2='.data-api';const ESCAPE_KEY$1='Escape';const EVENT_HIDE$4=`hide${ EVENT_KEY$4 }`;const EVENT_HIDE_PREVENTED$1=`hidePrevented${ EVENT_KEY$4 }`;const EVENT_HIDDEN$4=`hidden${ EVENT_KEY$4 }`;const EVENT_SHOW$4=`show${ EVENT_KEY$4 }`;const EVENT_SHOWN$4=`shown${ EVENT_KEY$4 }`;const EVENT_RESIZE$1=`resize${ EVENT_KEY$4 }`;const EVENT_CLICK_DISMISS=`click.dismiss${ EVENT_KEY$4 }`;const EVENT_MOUSEDOWN_DISMISS=`mousedown.dismiss${ EVENT_KEY$4 }`;const EVENT_KEYDOWN_DISMISS$1=`keydown.dismiss${ EVENT_KEY$4 }`;const EVENT_CLICK_DATA_API$2=`click${ EVENT_KEY$4 }${ DATA_API_KEY$2 }`;const CLASS_NAME_OPEN='dmm-modal-open';const CLASS_NAME_FADE$3='fade';const CLASS_NAME_SHOW$4='show';const CLASS_NAME_STATIC='dmm-modal-static';const OPEN_SELECTOR$1='.dmm-modal.show';const SELECTOR_DIALOG='.dmm-modal-dialog';const SELECTOR_MODAL_BODY='.dmm-modal-body';const SELECTOR_DATA_TOGGLE$2='[data-bs-toggle="dmm-modal"]';const Default$6={backdrop:true,focus:true,keyboard:true};const DefaultType$6={backdrop:'(boolean|string)',focus:'boolean',keyboard:'boolean'};class Modal extends BaseComponent{constructor(element,config){super(element,config);this._dialog=SelectorEngine.findOne(SELECTOR_DIALOG,this._element);this._backdrop=this._initializeBackDrop();this._focustrap=this._initializeFocusTrap();this._isShown=false;this._isTransitioning=false;this._scrollBar=new ScrollBarHelper();this._addEventListeners()}static get Default(){return Default$6}static get DefaultType(){return DefaultType$6}static get NAME(){return NAME$7}toggle(relatedTarget){return this._isShown?this.hide():this.show(relatedTarget)}show(relatedTarget){if(this._isShown||this._isTransitioning){return}const showEvent=EventHandler.trigger(this._element,EVENT_SHOW$4,{relatedTarget});if(showEvent.defaultPrevented){return}this._isShown=true;this._isTransitioning=true;this._scrollBar.hide();document.body.classList.add(CLASS_NAME_OPEN);this._adjustDialog();this._backdrop.show(()=>this._showElement(relatedTarget))}
1hide(){if(!this._isShown||this._isTransitioning){return}const hideEvent=EventHandler.trigger(this._element,EVENT_HIDE$4);if(hideEvent.defaultPrevented){return}this._isShown=false;this._isTransitioning=true;this._focustrap.deactivate()}realhide(){this._element.classList.remove(CLASS_NAME_SHOW$4);this._queueCallback(()=>this._hideModal(),this._element,this._isAnimated())}dispose(){EventHandler.off(window,EVENT_KEY$4);EventHandler.off(this._dialog,EVENT_KEY$4);this._backdrop.dispose();this._focustrap.deactivate();super.dispose()}handleUpdate(){this._adjustDialog()}_initializeBackDrop(){return new Backdrop({isVisible:Boolean(this._config.backdrop),isAnimated:this._isAnimated()})}_initializeFocusTrap(){return new FocusTrap({trapElement:this._element})}_showElement(relatedTarget){if(!document.body.contains(this._element)){document.body.append(this._element)}this._element.style.display='block';this._element.removeAttribute('aria-hidden');this._element.setAttribute('aria-modal',true);this._element.setAttribute('role','dialog');this._element.scrollTop=0;const modalBody=SelectorEngine.findOne(SELECTOR_MODAL_BODY,this._dialog);if(modalBody){modalBody.scrollTop=0}reflow(this._element);this._element.classList.add(CLASS_NAME_SHOW$4);const transitionComplete=()=>{if(this._config.focus){this._focustrap.activate()}this._isTransitioning=false;EventHandler.trigger(this._element,EVENT_SHOWN$4,{relatedTarget})};this._queueCallback(transitionComplete,this._dialog,this._isAnimated())}_addEventListeners(){EventHandler.on(this._element,EVENT_KEYDOWN_DISMISS$1,event=>{if(event.key!==ESCAPE_KEY$1){return}if(this._config.keyboard){this.hide();return}this._triggerBackdropTransition()});EventHandler.on(window,EVENT_RESIZE$1,()=>{if(this._isShown&&!this._isTransitioning){this._adjustDialog()}});EventHandler.on(this._element,EVENT_MOUSEDOWN_DISMISS,event=>{EventHandler.one(this._element,EVENT_CLICK_DISMISS,event2=>{if(this._element!==event.target||this._element!==event2.target){return}if(this._config.backdrop==='static'){this._triggerBackdropTransition();return}if(this._config.backdrop){this.hide()}})})}_hideModal(){this._element.style.display='none';this._element.setAttribute('aria-hidden',true);this._element.removeAttribute('aria-modal');this._element.removeAttribute('role');this._isTransitioning=false;this._backdrop.hide(()=>{document.body.classList.remove(CLASS_NAME_OPEN);this._resetAdjustments();this._scrollBar.reset();EventHandler.trigger(this._element,EVENT_HIDDEN$4)})}_isAnimated(){return this._element.classList.contains(CLASS_NAME_FADE$3)}_triggerBackdropTransition(){const hideEvent=EventHandler.trigger(this._element,EVENT_HIDE_PREVENTED$1);if(hideEvent.defaultPrevented){return}const isModalOverflowing=this._element.scrollHeight>document.documentElement.clientHeight;const initialOverflowY=this._element.style.overflowY;if(initialOverflowY==='hidden'||this._element.classList.contains(CLASS_NAME_STATIC)){return}if(!isModalOverflowing){this._element.style.overflowY='hidden'}this._element.classList.add(CLASS_NAME_STATIC);this._queueCallback(()=>{this._element.classList.remove(CLASS_NAME_STATIC);this._queueCallback(()=>{this._element.style.overflowY=initialOverflowY},this._dialog)},this._dialog);this._element.focus()}_adjustDialog(){const isModalOverflowing=this._element.scrollHeight>document.documentElement.clientHeight;const scrollbarWidth=this._scrollBar.getWidth();const isBodyOverflowing=scrollbarWidth>0;if(isBodyOverflowing&&!isModalOverflowing){const property=isRTL()?'paddingLeft':'paddingRight';this._element.style[property]=`${ scrollbarWidth }px`}if(!isBodyOverflowing&&isModalOverflowing){const property=isRTL()?'paddingRight':'paddingLeft';this._element.style[property]=`${ scrollbarWidth }px`}}_resetAdjustments(){this._element.style.paddingLeft='';this._element.style.paddingRight=''}static jQueryInterface(config,relatedTarget){return this.each(function(){const data=Modal.getOrCreateInstance(this,config);if(typeof config!=='string'){return}if(typeof data[config]==='undefined'){throw new TypeError(`No method named "${ config }"`)}data[config](relatedTarget)})}}EventHandler.on(document,EVENT_CLICK_DATA_API$2,SELECTOR_DATA_TOGGLE$2,function(event){const target=SelectorEngine.getElementFromSelector(this);if(['A','AREA'].includes(this.tagName)){event.preventDefault()}EventHandler.one(target,EVENT_SHOW$4,showEvent=>{if(showEvent.defaultPrevented){return}EventHandler.one(target,EVENT_HIDDEN$4,()=>{if(isVisible(this)){this.focus()}})});const alreadyOpen=SelectorEngine.findOne(OPEN_SELECTOR$1);if(alreadyOpen){Modal.getInstance(alreadyOpen).hide()}const data=Modal.getOrCreateInstance(target);data.toggle(this)});enableDismissTrigger(Modal);defineJQueryPlugin(Modal);const index_umd={Dropdown,Modal};return index_umd}));
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.