{"version":3,"sources":["webpack:///./node_modules/bootstrap-vue/esm/components/collapse/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/dropdown/dropdown-group.js","webpack:///./node_modules/bootstrap-vue/esm/components/dropdown/dropdown-form.js","webpack:///./node_modules/bootstrap-vue/esm/components/collapse/collapse.js","webpack:///./node_modules/bootstrap-vue/esm/components/collapse/helpers/bv-collapse.js","webpack:///./node_modules/bootstrap-vue/esm/components/dropdown/dropdown-header.js","webpack:///./node_modules/bootstrap-vue/esm/components/dropdown/dropdown-item-button.js","webpack:///./node_modules/bootstrap-vue/esm/components/dropdown/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/dropdown/dropdown-item.js","webpack:///./node_modules/bootstrap-vue/esm/components/embed/embed.js","webpack:///./node_modules/bootstrap-vue/esm/components/carousel/carousel.js","webpack:///./node_modules/bootstrap-vue/esm/components/carousel/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/dropdown/dropdown.js","webpack:///./node_modules/bootstrap-vue/esm/components/dropdown/dropdown-text.js","webpack:///./node_modules/bootstrap-vue/esm/components/embed/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/dropdown/dropdown-divider.js","webpack:///./node_modules/bootstrap-vue/esm/components/carousel/carousel-slide.js"],"names":["CollapsePlugin","components","BCollapse","plugins","VBTogglePlugin","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","obj","value","configurable","writable","props","ariaDescribedby","header","headerClasses","headerTag","headerVariant","id","BDropdownGroup","extend","name","functional","render","h","_ref","data","slots","scopedSlots","variant","$slots","$scopedSlots","slotScope","headerId","concat","$header","staticClass","class","attrs","role","ariaDescribedBy","join","trim","disabled","formClass","BDropdownForm","listeners","children","tabindex","on","ref","_watch","el","scrollHeight","height","TRANSITION_PROPS","css","enterClass","enterActiveClass","enterToClass","leaveClass","leaveActiveClass","leaveToClass","TRANSITION_HANDLERS","enter","afterEnter","leave","afterLeave","appear","BVCollapse","ROOT_ACTION_EVENT_NAME_TOGGLE","ROOT_ACTION_EVENT_NAME_REQUEST_STATE","ROOT_EVENT_NAME_ACCORDION","ROOT_EVENT_NAME_STATE","ROOT_EVENT_NAME_SYNC_STATE","_makeModelMixin","type","defaultValue","modelMixin","mixin","modelProps","MODEL_PROP_NAME","prop","MODEL_EVENT_NAME","event","accordion","isNav","tag","mixins","show","this","transitioning","computed","classObject","collapse","_this","visible","close","watch","newValue","oldValue","emitState","created","mounted","_this2","listenOnRoot","handleToggleEvent","handleAccordionEvent","setWindowEvents","handleResize","$nextTick","safeId","emitSync","updated","deactivated","activated","beforeDestroy","methods","window","toggle","onEnter","$emit","onAfterEnter","onLeave","onAfterLeave","emitOnRoot","checkDisplayBlock","$el","restore","isBlock","display","clickHandler","openedId","openAccordion","isThis","$content","directives","click","normalizeSlot","BDropdownHeader","active","activeClass","buttonClass","BDropdownItemButton","inject","bvDropdown","default","inheritAttrs","computedAttrs","bvAttrs","closeDropdown","hide","onClick","style","DropdownPlugin","BDropdown","BDd","BDropdownItem","BDdItem","BDropdownItemBtn","BDdItemButton","BDdItemBtn","BDdHeader","BDropdownDivider","BDdDivider","BDdForm","BDropdownText","BDdText","BDdGroup","linkProps","linkClass","$props","TYPES","aspect","BEmbed","DIRECTION","next","dirClass","overlayClass","prev","TRANS_DURATION","TOUCH_EVENT_COMPAT_WAIT","SWIPE_THRESHOLD","PointerType","TOUCH","PEN","TransitionEndEvents","WebkitTransition","MozTransition","OTransition","transition","getTransitionEndEvent","background","controls","fade","imgHeight","imgWidth","indicators","interval","labelGotoSlide","labelIndicators","labelNext","labelPrev","noAnimation","noHoverPause","noTouch","noWrap","BCarousel","provide","bvCarousel","index","isSliding","transitionEndEvent","slides","direction","isPaused","touchStartX","touchDeltaX","numSlides","setSlide","pause","start","to","from","doSlide","$_interval","$_animationTimeout","$_touchTimeout","$_observer","updateSlides","setObserver","clearInterval","clearAnimationTimeout","clearTouchTimeout","_clearInterval","toString","clearTimeout","undefined","disconnect","$refs","inner","bind","subtree","childList","attributes","attributeFilter","slide","document","visibilityState","hidden","$once","setInterval","restart","contains","isCycling","Boolean","calcDirection","currentSlide","nextSlide","called","onceTransEnd","events","split","setTimeout","idx","n","String","curIndex","nextIndex","handleClick","fn","keyCode","handleSwipe","absDeltaX","touchStart","pointerType","toUpperCase","clientX","touches","touchMove","touchEnd","_this3","idInner","$inner","$controls","makeControl","label","handler","handlerWrapper","propagation","href","keydown","$indicators","map","mouseenter","mouseleave","focusin","focusout","test","tagName","CarouselPlugin","BCarouselSlide","block","html","lazy","menuClass","noCaret","size","splitButtonType","splitClass","splitHref","splitTo","splitVariant","text","toggleAttrs","toggleClass","toggleTag","toggleText","dropdownClasses","directionClass","boundaryClass","menuClasses","right","toggleClasses","commonProps","$buttonChildren","buttonContentDomProps","hasNormalizedSlot","$split","btnProps","domProps","onSplitClick","ariaHasPopupRoles","$toggle","includes","mousedown","onMousedown","$menu","onKeydown","textClass","EmbedPlugin","imgProps","imgAlt","imgBlank","imgBlankColor","imgSrc","caption","captionHtml","captionTag","contentTag","contentVisibleUp","textHtml","textTag","contentClasses","computedWidth","computedHeight","$img","dragstart","width","fluidGrow","$contentChildren","some","$child"],"mappings":"0HAAA,0EAGIA,EAA8B,eAAc,CAC9CC,WAAY,CACVC,UAAW,QAEbC,QAAS,CACPC,eAAgB,W,kCCRpB,uKAASC,EAAQC,EAAQC,GAAkB,IAAIC,EAAOC,OAAOD,KAAKF,GAAS,GAAIG,OAAOC,sBAAuB,CAAE,IAAIC,EAAUF,OAAOC,sBAAsBJ,GAASC,IAAmBI,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAOJ,OAAOK,yBAAyBR,EAAQO,GAAKE,eAAiBP,EAAKQ,KAAKC,MAAMT,EAAMG,GAAY,OAAOH,EAE9U,SAASU,EAAcC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUC,OAAQF,IAAK,CAAE,IAAIG,EAAS,MAAQF,UAAUD,GAAKC,UAAUD,GAAK,GAAIA,EAAI,EAAIf,EAAQI,OAAOc,IAAS,GAAIC,SAAQ,SAAUC,GAAOC,EAAgBP,EAAQM,EAAKF,EAAOE,OAAYhB,OAAOkB,0BAA4BlB,OAAOmB,iBAAiBT,EAAQV,OAAOkB,0BAA0BJ,IAAWlB,EAAQI,OAAOc,IAASC,SAAQ,SAAUC,GAAOhB,OAAOoB,eAAeV,EAAQM,EAAKhB,OAAOK,yBAAyBS,EAAQE,OAAa,OAAON,EAEjf,SAASO,EAAgBI,EAAKL,EAAKM,GAAiK,OAApJN,KAAOK,EAAOrB,OAAOoB,eAAeC,EAAKL,EAAK,CAAEM,MAAOA,EAAOhB,YAAY,EAAMiB,cAAc,EAAMC,UAAU,IAAkBH,EAAIL,GAAOM,EAAgBD,EAYpM,IAAII,EAAQ,eAAsB,CACvCC,gBAAiB,eAAS,QAC1BC,OAAQ,eAAS,QACjBC,cAAe,eAAS,QACxBC,UAAW,eAAS,OAAkB,UACtCC,cAAe,eAAS,QACxBC,GAAI,eAAS,SACZ,QAGQC,EAA8B,aAAIC,OAAO,CAClDC,KAAM,OACNC,YAAY,EACZV,MAAOA,EACPW,OAAQ,SAAgBC,EAAGC,GACzB,IAAIb,EAAQa,EAAKb,MACbc,EAAOD,EAAKC,KACZC,EAAQF,EAAKE,MACbC,EAAcH,EAAKG,YACnBV,EAAKN,EAAMM,GACXW,EAAUjB,EAAMiB,QAChBf,EAASF,EAAME,OACfE,EAAYJ,EAAMI,UAClBc,EAASH,IACTI,EAAeH,GAAe,GAC9BI,EAAY,GACZC,EAAWf,EAAK,OAAOgB,OAAOhB,EAAI,oBAAsB,KACxDiB,EAAUX,IAad,OAXI,eAAkB,OAAkBO,EAAcD,IAAWhB,KAC/DqB,EAAUX,EAAER,EAAW,CACrBoB,YAAa,kBACbC,MAAO,CAACzB,EAAMG,cAAeX,EAAgB,GAAI,QAAQ8B,OAAOL,GAAUA,IAC1ES,MAAO,CACLpB,GAAIe,EACJM,KAAM,eAAMvB,EAAW,UAAY,KAAO,YAE3C,eAAc,OAAkBgB,EAAWD,EAAcD,IAAWhB,IAGlEU,EAAE,KAAM,eAAU,eAAKE,EAAM,CAAC,UAAW,CAC9CY,MAAO,CACLC,KAAM,kBAEN,CAACJ,EAASX,EAAE,KAAM,CACpBY,YAAa,gBACbE,MAAO1C,EAAcA,EAAc,GAAI8B,EAAKY,OAAS,IAAK,GAAI,CAC5DpB,GAAIA,EACJqB,KAAM,QACN,mBAAoB,CAACN,EAAUrB,EAAM4B,iBAAiBlD,OAAO,QAAUmD,KAAK,KAAKC,QAAU,QAE5F,eAAc,OAAmBV,EAAWD,EAAcD,U,kCCnEjE,mIAAS/C,EAAQC,EAAQC,GAAkB,IAAIC,EAAOC,OAAOD,KAAKF,GAAS,GAAIG,OAAOC,sBAAuB,CAAE,IAAIC,EAAUF,OAAOC,sBAAsBJ,GAASC,IAAmBI,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAOJ,OAAOK,yBAAyBR,EAAQO,GAAKE,eAAiBP,EAAKQ,KAAKC,MAAMT,EAAMG,GAAY,OAAOH,EAE9U,SAASU,EAAcC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUC,OAAQF,IAAK,CAAE,IAAIG,EAAS,MAAQF,UAAUD,GAAKC,UAAUD,GAAK,GAAIA,EAAI,EAAIf,EAAQI,OAAOc,IAAS,GAAIC,SAAQ,SAAUC,GAAOC,EAAgBP,EAAQM,EAAKF,EAAOE,OAAYhB,OAAOkB,0BAA4BlB,OAAOmB,iBAAiBT,EAAQV,OAAOkB,0BAA0BJ,IAAWlB,EAAQI,OAAOc,IAASC,SAAQ,SAAUC,GAAOhB,OAAOoB,eAAeV,EAAQM,EAAKhB,OAAOK,yBAAyBS,EAAQE,OAAa,OAAON,EAEjf,SAASO,EAAgBI,EAAKL,EAAKM,GAAiK,OAApJN,KAAOK,EAAOrB,OAAOoB,eAAeC,EAAKL,EAAK,CAAEM,MAAOA,EAAOhB,YAAY,EAAMiB,cAAc,EAAMC,UAAU,IAAkBH,EAAIL,GAAOM,EAAgBD,EASpM,IAAII,EAAQ,eAAsB,eAAShB,EAAcA,EAAc,GAAI,QAAmB,GAAI,CACvG+C,SAAU,eAAS,QAAmB,GACtCC,UAAW,eAAS,WACjB,QAGMC,EAA6B,aAAIzB,OAAO,CACjDC,KAAM,OACNC,YAAY,EACZV,MAAOA,EACPW,OAAQ,SAAgBC,EAAGC,GACzB,IAAIb,EAAQa,EAAKb,MACbc,EAAOD,EAAKC,KACZoB,EAAYrB,EAAKqB,UACjBC,EAAWtB,EAAKsB,SACpB,OAAOvB,EAAE,KAAM,eAAU,eAAKE,EAAM,CAAC,QAAS,OAAQ,CACpDY,MAAO,CACLC,KAAM,kBAEN,CAACf,EAAE,OAAO,CACZY,YAAa,kBACbC,MAAO,CAACzB,EAAMgC,UAAW,CACvBD,SAAU/B,EAAM+B,WAElB/B,MAAOA,EACP0B,MAAO1C,EAAcA,EAAc,GAAI8B,EAAKY,OAAS,IAAK,GAAI,CAC5DK,SAAU/B,EAAM+B,SAEhBK,SAAUpC,EAAM+B,SAAW,KAAO,OAEpCM,GAAIH,EACJI,IAAK,QACJH,S,wEC7CHI,E,gMCcA,EAAU,SAAiBC,GAC7B,eAASA,EAAI,SAAU,GAEvB,gBAAU,WACR,eAAOA,GACP,eAASA,EAAI,SAAU,GAAGlB,OAAOkB,EAAGC,aAAc,WAIlD,EAAe,SAAsBD,GACvC,eAAYA,EAAI,WAGd,EAAU,SAAiBA,GAC7B,eAASA,EAAI,SAAU,QACvB,eAASA,EAAI,UAAW,SACxB,eAASA,EAAI,SAAU,GAAGlB,OAAO,eAAOkB,GAAIE,OAAQ,OACpD,eAAOF,GACP,eAASA,EAAI,SAAU,IAGrB,EAAe,SAAsBA,GACvC,eAAYA,EAAI,WAMdG,EAAmB,CACrBC,KAAK,EACLC,WAAY,GACZC,iBAAkB,aAClBC,aAAc,gBACdC,WAAY,gBACZC,iBAAkB,aAClBC,aAAc,YAIZC,EAAsB,CACxBC,MAAO,EACPC,WAAY,EACZC,MAAO,EACPC,WAAY,GAGH,EAAQ,CAEjBC,OAAQ,eAAS,QAAmB,IAI3BC,EAA0B,aAAIjD,OAAO,CAC9CC,KAAM,OACNC,YAAY,EACZV,MAAO,EACPW,OAAQ,SAAgBC,EAAGC,GACzB,IAAIb,EAAQa,EAAKb,MACbc,EAAOD,EAAKC,KACZqB,EAAWtB,EAAKsB,SACpB,OAAOvB,EAAE,aACT,eAAUE,EAAM,CACdd,MAAO2C,EACPN,GAAIc,GACH,CACDnD,MAAOA,IAETmC,MD/EJ,SAAShE,EAAQC,EAAQC,GAAkB,IAAIC,EAAOC,OAAOD,KAAKF,GAAS,GAAIG,OAAOC,sBAAuB,CAAE,IAAIC,EAAUF,OAAOC,sBAAsBJ,GAASC,IAAmBI,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAOJ,OAAOK,yBAAyBR,EAAQO,GAAKE,eAAiBP,EAAKQ,KAAKC,MAAMT,EAAMG,GAAY,OAAOH,EAE9U,SAASU,EAAcC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUC,OAAQF,IAAK,CAAE,IAAIG,EAAS,MAAQF,UAAUD,GAAKC,UAAUD,GAAK,GAAIA,EAAI,EAAIf,EAAQI,OAAOc,IAAS,GAAIC,SAAQ,SAAUC,GAAOC,EAAgBP,EAAQM,EAAKF,EAAOE,OAAYhB,OAAOkB,0BAA4BlB,OAAOmB,iBAAiBT,EAAQV,OAAOkB,0BAA0BJ,IAAWlB,EAAQI,OAAOc,IAASC,SAAQ,SAAUC,GAAOhB,OAAOoB,eAAeV,EAAQM,EAAKhB,OAAOK,yBAAyBS,EAAQE,OAAa,OAAON,EAEjf,SAASO,EAAgBI,EAAKL,EAAKM,GAAiK,OAApJN,KAAOK,EAAOrB,OAAOoB,eAAeC,EAAKL,EAAK,CAAEM,MAAOA,EAAOhB,YAAY,EAAMiB,cAAc,EAAMC,UAAU,IAAkBH,EAAIL,GAAOM,EAAgBD,EAmB3M,IAAI8D,EAAgC,eAAuB,OAAe,UACtEC,EAAuC,eAAuB,OAAe,iBAC7EC,EAA4B,eAAiB,OAAe,aAC5DC,EAAwB,eAAiB,OAAe,SACxDC,EAA6B,eAAiB,OAAe,cAE7DC,EAAkB,eAAe,UAAW,CAC9CC,KAAM,OACNC,cAAc,IAEZC,EAAaH,EAAgBI,MAC7BC,EAAaL,EAAgB/D,MAC7BqE,EAAkBN,EAAgBO,KAClCC,EAAmBR,EAAgBS,MAG5B,EAAQ,eAAsB,eAASxF,EAAcA,EAAcA,EAAc,GAAIsB,EAAA,MAAU8D,GAAa,GAAI,CAEzHK,UAAW,eAAS,QACpBjB,OAAQ,eAAS,QAAmB,GACpCkB,MAAO,eAAS,QAAmB,GACnCC,IAAK,eAAS,OAAkB,UAC7B,QAGM3G,EAAyB,aAAIwC,OAAO,CAC7CC,KAAM,OACNmE,OAAQ,CAACtE,EAAA,KAAS4D,EAAY,OAAoB,QAClDlE,MAAO,EACPc,KAAM,WACJ,MAAO,CACL+D,KAAMC,KAAKT,GACXU,eAAe,IAGnBC,SAAU,CACRC,YAAa,WACX,IAAIF,EAAgBD,KAAKC,cACzB,MAAO,CACL,kBAAmBD,KAAKJ,MACxBQ,UAAWH,EACXF,KAAMC,KAAKD,OAASE,IAGxB3D,UAAW,WACT,IAAI+D,EAAQL,KAEZ,MAAO,CACLM,QAASN,KAAKD,KACdQ,MAAO,WACLF,EAAMN,MAAO,MAKrBS,OAAQ/C,EAAS,GAAI/C,EAAgB+C,EAAQ8B,GAAiB,SAAUkB,GAClEA,IAAaT,KAAKD,OACpBC,KAAKD,KAAOU,MAEZ/F,EAAgB+C,EAAQ,QAAQ,SAAcgD,EAAUC,GACtDD,IAAaC,GACfV,KAAKW,eAELlD,GACJmD,QAAS,WACPZ,KAAKD,KAAOC,KAAKT,IAEnBsB,QAAS,WACP,IAAIC,EAASd,KAEbA,KAAKD,KAAOC,KAAKT,GAEjBS,KAAKe,aAAanC,EAA+BoB,KAAKgB,mBAEtDhB,KAAKe,aAAajC,EAA2BkB,KAAKiB,sBAE9CjB,KAAKJ,QAEPI,KAAKkB,iBAAgB,GACrBlB,KAAKmB,gBAGPnB,KAAKoB,WAAU,WACbN,EAAOH,eAGTX,KAAKe,aAAalC,GAAsC,SAAUrD,GAC5DA,IAAOsF,EAAOO,UAChBP,EAAOM,UAAUN,EAAOQ,cAI9BC,QAAS,WAIPvB,KAAKsB,YAIPE,YAAa,WACPxB,KAAKJ,OACPI,KAAKkB,iBAAgB,IAKzBO,UAAW,WACLzB,KAAKJ,OACPI,KAAKkB,iBAAgB,GAGvBlB,KAAKsB,YAEPI,cAAe,WAEb1B,KAAKD,MAAO,EAERC,KAAKJ,OAAS,QAChBI,KAAKkB,iBAAgB,IAGzBS,QAAS,CACPT,gBAAiB,SAAyB3D,GACxC,eAAWA,EAAIqE,OAAQ,SAAU5B,KAAKmB,aAAc,SACpD,eAAW5D,EAAIqE,OAAQ,oBAAqB5B,KAAKmB,aAAc,UAEjEU,OAAQ,WACN7B,KAAKD,MAAQC,KAAKD,MAEpB+B,QAAS,WACP9B,KAAKC,eAAgB,EAErBD,KAAK+B,MAAM,SAEbC,aAAc,WACZhC,KAAKC,eAAgB,EACrBD,KAAK+B,MAAM,SAEbE,QAAS,WACPjC,KAAKC,eAAgB,EAErBD,KAAK+B,MAAM,SAEbG,aAAc,WACZlC,KAAKC,eAAgB,EACrBD,KAAK+B,MAAM,SAEbpB,UAAW,WACT,IAAIZ,EAAOC,KAAKD,KACZJ,EAAYK,KAAKL,UACjBnE,EAAKwE,KAAKqB,SACdrB,KAAK+B,MAAMtC,EAAkBM,GAE7BC,KAAKmC,WAAWpD,EAAuBvD,EAAIuE,GAEvCJ,GAAaI,GAEfC,KAAKmC,WAAWrD,EAA2BtD,EAAImE,IAGnD2B,SAAU,WAIRtB,KAAKmC,WAAWnD,EAA4BgB,KAAKqB,SAAUrB,KAAKD,OAElEqC,kBAAmB,WAIjB,IAAIC,EAAMrC,KAAKqC,IACXC,EAAU,eAASD,EAAK,QAC5B,eAAYA,EAAK,QACjB,IAAIE,EAAiC,UAAvB,eAAMF,GAAKG,QAMzB,OAJIF,GACF,eAASD,EAAK,QAGTE,GAETE,aAAc,SAAsB/C,GAClC,IAAIhC,EAAKgC,EAAMvF,OAIV6F,KAAKJ,OAAUlC,GAAkC,UAA5B,eAAMsC,KAAKqC,KAAKG,WAKrC,eAAQ9E,EAAI,8BAA+B,eAAQ,2BAA4BA,IAASsC,KAAKoC,sBAChGpC,KAAKD,MAAO,KAGhBiB,kBAAmB,SAA2BxF,GACxCA,IAAOwE,KAAKqB,UACdrB,KAAK6B,UAGTZ,qBAAsB,SAA8ByB,EAAUC,GAC5D,IAAIhD,EAAYK,KAAKL,UACjBI,EAAOC,KAAKD,KAEhB,GAAKJ,GAAaA,IAAcgD,EAAhC,CAIA,IAAIC,EAASF,IAAa1C,KAAKqB,UAG3BuB,IAAW7C,IAAS6C,GAAU7C,IAChCC,KAAK6B,WAGTV,aAAc,WAEZnB,KAAKD,KAAmC,UAA5B,eAAMC,KAAKqC,KAAKG,UAGhC3G,OAAQ,SAAgBC,GACtB,IAAI4C,EAASsB,KAAKtB,OACdmE,EAAW/G,EAAEkE,KAAKH,IAAK,CACzBlD,MAAOqD,KAAKG,YACZ2C,WAAY,CAAC,CACXnH,KAAM,OACNZ,MAAOiF,KAAKD,OAEdnD,MAAO,CACLpB,GAAIwE,KAAKqB,UAEX9D,GAAI,CACFwF,MAAO/C,KAAKyC,eAEbzC,KAAKgD,cAAc,OAAmBhD,KAAK1D,YAC9C,OAAOR,EAAE6C,EAAY,CACnBzD,MAAO,CACLwD,OAAQA,GAEVnB,GAAI,CACFe,MAAO0B,KAAK8B,QACZvD,WAAYyB,KAAKgC,aACjBxD,MAAOwB,KAAKiC,QACZxD,WAAYuB,KAAKkC,eAElB,CAACW,Q,oCE/QR,mIAASxJ,EAAQC,EAAQC,GAAkB,IAAIC,EAAOC,OAAOD,KAAKF,GAAS,GAAIG,OAAOC,sBAAuB,CAAE,IAAIC,EAAUF,OAAOC,sBAAsBJ,GAASC,IAAmBI,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAOJ,OAAOK,yBAAyBR,EAAQO,GAAKE,eAAiBP,EAAKQ,KAAKC,MAAMT,EAAMG,GAAY,OAAOH,EAE9U,SAASU,EAAcC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUC,OAAQF,IAAK,CAAE,IAAIG,EAAS,MAAQF,UAAUD,GAAKC,UAAUD,GAAK,GAAIA,EAAI,EAAIf,EAAQI,OAAOc,IAAS,GAAIC,SAAQ,SAAUC,GAAOC,EAAgBP,EAAQM,EAAKF,EAAOE,OAAYhB,OAAOkB,0BAA4BlB,OAAOmB,iBAAiBT,EAAQV,OAAOkB,0BAA0BJ,IAAWlB,EAAQI,OAAOc,IAASC,SAAQ,SAAUC,GAAOhB,OAAOoB,eAAeV,EAAQM,EAAKhB,OAAOK,yBAAyBS,EAAQE,OAAa,OAAON,EAEjf,SAASO,EAAgBI,EAAKL,EAAKM,GAAiK,OAApJN,KAAOK,EAAOrB,OAAOoB,eAAeC,EAAKL,EAAK,CAAEM,MAAOA,EAAOhB,YAAY,EAAMiB,cAAc,EAAMC,UAAU,IAAkBH,EAAIL,GAAOM,EAAgBD,EASpM,IAAII,EAAQ,eAAsB,CACvCM,GAAI,eAAS,QACbqE,IAAK,eAAS,OAAkB,UAChC1D,QAAS,eAAS,SACjB,QAGQ8G,EAA+B,aAAIvH,OAAO,CACnDC,KAAM,OACNC,YAAY,EACZV,MAAOA,EACPW,OAAQ,SAAgBC,EAAGC,GACzB,IAAIb,EAAQa,EAAKb,MACbc,EAAOD,EAAKC,KACZqB,EAAWtB,EAAKsB,SAChBwC,EAAM3E,EAAM2E,IACZ1D,EAAUjB,EAAMiB,QACpB,OAAOL,EAAE,KAAM,eAAU,eAAKE,EAAM,CAAC,UAAW,CAC9CY,MAAO,CACLC,KAAM,kBAEN,CAACf,EAAE+D,EAAK,CACVnD,YAAa,kBACbC,MAAOjC,EAAgB,GAAI,QAAQ8B,OAAOL,GAAUA,GACpDS,MAAO1C,EAAcA,EAAc,GAAI8B,EAAKY,OAAS,IAAK,GAAI,CAC5DpB,GAAIN,EAAMM,IAAM,KAChBqB,KAAM,eAAMgD,EAAK,UAAY,KAAO,YAEtCrC,IAAK,UACJH,S,kCC1CP,mIAAShE,EAAQC,EAAQC,GAAkB,IAAIC,EAAOC,OAAOD,KAAKF,GAAS,GAAIG,OAAOC,sBAAuB,CAAE,IAAIC,EAAUF,OAAOC,sBAAsBJ,GAASC,IAAmBI,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAOJ,OAAOK,yBAAyBR,EAAQO,GAAKE,eAAiBP,EAAKQ,KAAKC,MAAMT,EAAMG,GAAY,OAAOH,EAE9U,SAASU,EAAcC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUC,OAAQF,IAAK,CAAE,IAAIG,EAAS,MAAQF,UAAUD,GAAKC,UAAUD,GAAK,GAAIA,EAAI,EAAIf,EAAQI,OAAOc,IAAS,GAAIC,SAAQ,SAAUC,GAAOC,EAAgBP,EAAQM,EAAKF,EAAOE,OAAYhB,OAAOkB,0BAA4BlB,OAAOmB,iBAAiBT,EAAQV,OAAOkB,0BAA0BJ,IAAWlB,EAAQI,OAAOc,IAASC,SAAQ,SAAUC,GAAOhB,OAAOoB,eAAeV,EAAQM,EAAKhB,OAAOK,yBAAyBS,EAAQE,OAAa,OAAON,EAEjf,SAASO,EAAgBI,EAAKL,EAAKM,GAAiK,OAApJN,KAAOK,EAAOrB,OAAOoB,eAAeC,EAAKL,EAAK,CAAEM,MAAOA,EAAOhB,YAAY,EAAMiB,cAAc,EAAMC,UAAU,IAAkBH,EAAIL,GAAOM,EAAgBD,EAUpM,IAAII,EAAQ,eAAsB,CACvCgI,OAAQ,eAAS,QAAmB,GACpCC,YAAa,eAAS,OAAkB,UACxCC,YAAa,eAAS,QACtBnG,SAAU,eAAS,QAAmB,GACtCd,QAAS,eAAS,SACjB,QAGQkH,EAAmC,aAAI3H,OAAO,CACvDC,KAAM,OACNmE,OAAQ,CAAC,OAAY,QACrBwD,OAAQ,CACNC,WAAY,CACVC,QAAS,OAGbC,cAAc,EACdvI,MAAOA,EACPgF,SAAU,CACRwD,cAAe,WACb,OAAOxJ,EAAcA,EAAc,GAAI8F,KAAK2D,SAAU,GAAI,CACxD9G,KAAM,WACNqC,KAAM,SACNjC,SAAU+C,KAAK/C,aAIrB0E,QAAS,CACPiC,cAAe,WACT5D,KAAKuD,YACPvD,KAAKuD,WAAWM,MAAK,IAGzBC,QAAS,SAAiBpE,GACxBM,KAAK+B,MAAM,OAAkBrC,GAC7BM,KAAK4D,kBAGT/H,OAAQ,SAAgBC,GACtB,IAAIC,EAEAmH,EAASlD,KAAKkD,OACd/G,EAAU6D,KAAK7D,QACfwH,EAAU3D,KAAK2D,QACnB,OAAO7H,EAAE,KAAM,CACba,MAAOgH,EAAQhH,MACfoH,MAAOJ,EAAQI,MACfnH,MAAO,CACLC,KAAM,iBAEP,CAACf,EAAE,SAAU,CACdY,YAAa,gBACbC,MAAO,CAACqD,KAAKoD,aAAcrH,EAAO,GAAIrB,EAAgBqB,EAAMiE,KAAKmD,YAAaD,GAASxI,EAAgBqB,EAAM,QAAQS,OAAOL,GAAUA,KAAa+G,GAAUlD,KAAK/C,WAAYlB,IAC9Ka,MAAOoD,KAAK0D,cACZnG,GAAI,CACFwF,MAAO/C,KAAK8D,SAEdtG,IAAK,UACJwC,KAAKgD,uB,oCCzEZ,kJASIgB,EAA8B,eAAc,CAC9C/K,WAAY,CACVgL,UAAW,OACXC,IAAK,OACLC,cAAe,OACfC,QAAS,OACTf,oBAAqB,OACrBgB,iBAAkB,OAClBC,cAAe,OACfC,WAAY,OACZtB,gBAAiB,OACjBuB,UAAW,OACXC,iBAAkB,OAClBC,WAAY,OACZvH,cAAe,OACfwH,QAAS,OACTC,cAAe,OACfC,QAAS,OACTpJ,eAAgB,OAChBqJ,SAAU,W,oCC5Bd,uKAASzL,EAAQC,EAAQC,GAAkB,IAAIC,EAAOC,OAAOD,KAAKF,GAAS,GAAIG,OAAOC,sBAAuB,CAAE,IAAIC,EAAUF,OAAOC,sBAAsBJ,GAASC,IAAmBI,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAOJ,OAAOK,yBAAyBR,EAAQO,GAAKE,eAAiBP,EAAKQ,KAAKC,MAAMT,EAAMG,GAAY,OAAOH,EAE9U,SAASU,EAAcC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUC,OAAQF,IAAK,CAAE,IAAIG,EAAS,MAAQF,UAAUD,GAAKC,UAAUD,GAAK,GAAIA,EAAI,EAAIf,EAAQI,OAAOc,IAAS,GAAIC,SAAQ,SAAUC,GAAOC,EAAgBP,EAAQM,EAAKF,EAAOE,OAAYhB,OAAOkB,0BAA4BlB,OAAOmB,iBAAiBT,EAAQV,OAAOkB,0BAA0BJ,IAAWlB,EAAQI,OAAOc,IAASC,SAAQ,SAAUC,GAAOhB,OAAOoB,eAAeV,EAAQM,EAAKhB,OAAOK,yBAAyBS,EAAQE,OAAa,OAAON,EAEjf,SAASO,EAAgBI,EAAKL,EAAKM,GAAiK,OAApJN,KAAOK,EAAOrB,OAAOoB,eAAeC,EAAKL,EAAK,CAAEM,MAAOA,EAAOhB,YAAY,EAAMiB,cAAc,EAAMC,UAAU,IAAkBH,EAAIL,GAAOM,EAAgBD,EAa3M,IAAIiK,EAAY,eAAK,OAAY,CAAC,QAAS,cAChC7J,EAAQ,eAAsB,eAAShB,EAAcA,EAAc,GAAI6K,GAAY,GAAI,CAChGC,UAAW,eAAS,QACpB7I,QAAS,eAAS,WACf,QAGMgI,EAA6B,aAAIzI,OAAO,CACjDC,KAAM,OACNmE,OAAQ,CAAC,OAAY,QACrBwD,OAAQ,CACNC,WAAY,CACVC,QAAS,OAGbC,cAAc,EACdvI,MAAOA,EACPgF,SAAU,CACRwD,cAAe,WACb,OAAOxJ,EAAcA,EAAc,GAAI8F,KAAK2D,SAAU,GAAI,CACxD9G,KAAM,eAIZ8E,QAAS,CACPiC,cAAe,WACb,IAAIvD,EAAQL,KAGZ,gBAAU,WACJK,EAAMkD,YACRlD,EAAMkD,WAAWM,MAAK,OAI5BC,QAAS,SAAiBpE,GACxBM,KAAK+B,MAAM,OAAkBrC,GAC7BM,KAAK4D,kBAGT/H,OAAQ,SAAgBC,GACtB,IAAIkJ,EAAYhF,KAAKgF,UACjB7I,EAAU6D,KAAK7D,QACf+G,EAASlD,KAAKkD,OACdjG,EAAW+C,KAAK/C,SAChB6G,EAAU9D,KAAK8D,QACfH,EAAU3D,KAAK2D,QACnB,OAAO7H,EAAE,KAAM,CACba,MAAOgH,EAAQhH,MACfoH,MAAOJ,EAAQI,MACfnH,MAAO,CACLC,KAAM,iBAEP,CAACf,EAAE,OAAO,CACXY,YAAa,gBACbC,MAAO,CAACqI,EAAWtK,EAAgB,GAAI,QAAQ8B,OAAOL,GAAUA,KAAa+G,GAAUjG,KACvF/B,MAAO,eAAW6J,EAAW/E,KAAKiF,QAClCrI,MAAOoD,KAAK0D,cACZnG,GAAI,CACFwF,MAAOe,GAETtG,IAAK,QACJwC,KAAKgD,uB,kCC/EZ,mIAAStI,EAAgBI,EAAKL,EAAKM,GAAiK,OAApJN,KAAOK,EAAOrB,OAAOoB,eAAeC,EAAKL,EAAK,CAAEM,MAAOA,EAAOhB,YAAY,EAAMiB,cAAc,EAAMC,UAAU,IAAkBH,EAAIL,GAAOM,EAAgBD,EAS3M,IAAIoK,EAAQ,CAAC,SAAU,QAAS,QAAS,SAAU,MAAO,QAAS,cAExDhK,EAAQ,eAAsB,CACvCiK,OAAQ,eAAS,OAAkB,SACnCtF,IAAK,eAAS,OAAkB,OAChCX,KAAM,eAAS,OAAkB,UAAU,SAAUnE,GACnD,OAAO,eAAcmK,EAAOnK,OAE7B,QAGQqK,EAAsB,aAAI1J,OAAO,CAC1CC,KAAM,OACNC,YAAY,EACZV,MAAOA,EACPW,OAAQ,SAAgBC,EAAGC,GACzB,IAAIb,EAAQa,EAAKb,MACbc,EAAOD,EAAKC,KACZqB,EAAWtB,EAAKsB,SAChB8H,EAASjK,EAAMiK,OACnB,OAAOrJ,EAAEZ,EAAM2E,IAAK,CAClBnD,YAAa,mBACbC,MAAOjC,EAAgB,GAAI,oBAAoB8B,OAAO2I,GAASA,GAC/D3H,IAAKxB,EAAKwB,KACT,CAAC1B,EAAEZ,EAAMgE,KAAM,eAAU,eAAKlD,EAAM,CAAC,QAAS,CAC/CU,YAAa,0BACXW,S,kCCnCR,sCAAII,EAAJ,wNAEA,SAASpE,EAAQC,EAAQC,GAAkB,IAAIC,EAAOC,OAAOD,KAAKF,GAAS,GAAIG,OAAOC,sBAAuB,CAAE,IAAIC,EAAUF,OAAOC,sBAAsBJ,GAASC,IAAmBI,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAOJ,OAAOK,yBAAyBR,EAAQO,GAAKE,eAAiBP,EAAKQ,KAAKC,MAAMT,EAAMG,GAAY,OAAOH,EAE9U,SAASU,EAAcC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUC,OAAQF,IAAK,CAAE,IAAIG,EAAS,MAAQF,UAAUD,GAAKC,UAAUD,GAAK,GAAIA,EAAI,EAAIf,EAAQI,OAAOc,IAAS,GAAIC,SAAQ,SAAUC,GAAOC,EAAgBP,EAAQM,EAAKF,EAAOE,OAAYhB,OAAOkB,0BAA4BlB,OAAOmB,iBAAiBT,EAAQV,OAAOkB,0BAA0BJ,IAAWlB,EAAQI,OAAOc,IAASC,SAAQ,SAAUC,GAAOhB,OAAOoB,eAAeV,EAAQM,EAAKhB,OAAOK,yBAAyBS,EAAQE,OAAa,OAAON,EAEjf,SAASO,EAAgBI,EAAKL,EAAKM,GAAiK,OAApJN,KAAOK,EAAOrB,OAAOoB,eAAeC,EAAKL,EAAK,CAAEM,MAAOA,EAAOhB,YAAY,EAAMiB,cAAc,EAAMC,UAAU,IAAkBH,EAAIL,GAAOM,EAAgBD,EAqB3M,IAAImE,EAAkB,eAAe,QAAS,CAC5CC,KAAM,OACNC,aAAc,IAEZC,EAAaH,EAAgBI,MAC7BC,EAAaL,EAAgB/D,MAC7BqE,EAAkBN,EAAgBO,KAClCC,EAAmBR,EAAgBS,MAGnC2F,EAAY,CACdC,KAAM,CACJC,SAAU,qBACVC,aAAc,sBAEhBC,KAAM,CACJF,SAAU,sBACVC,aAAc,uBAIdE,EAAiB,IAEjBC,EAA0B,IAE1BC,EAAkB,GAElBC,EAAc,CAChBC,MAAO,QACPC,IAAK,OAGHC,EAAsB,CACxBC,iBAAkB,sBAClBC,cAAe,gBACfC,YAAa,gCACbC,WAAY,iBAIVC,EAAwB,SAA+B3I,GACzD,IAAK,IAAI/B,KAAQqK,EACf,IAAK,eAAYtI,EAAGqG,MAAMpI,IACxB,OAAOqK,EAAoBrK,GAO/B,OAAO,MAIET,EAAQ,eAAsB,eAAShB,EAAcA,EAAcA,EAAc,GAAI,QAAUoF,GAAa,GAAI,CACzHgH,WAAY,eAAS,QACrBC,SAAU,eAAS,QAAmB,GAEtCC,KAAM,eAAS,QAAmB,GAElCC,UAAW,eAAS,QAEpBC,SAAU,eAAS,QACnBC,WAAY,eAAS,QAAmB,GACxCC,SAAU,eAAS,OAAkB,KACrCC,eAAgB,eAAS,OAAkB,cAC3CC,gBAAiB,eAAS,OAAkB,6BAC5CC,UAAW,eAAS,OAAkB,cACtCC,UAAW,eAAS,OAAkB,kBAEtCC,YAAa,eAAS,QAAmB,GAEzCC,aAAc,eAAS,QAAmB,GAE1CC,QAAS,eAAS,QAAmB,GAErCC,OAAQ,eAAS,QAAmB,MACjC,QAGMC,EAAyB,aAAI3L,OAAO,CAC7CC,KAAM,OACNmE,OAAQ,CAAC,OAASV,EAAY,QAC9BkI,QAAS,WACP,MAAO,CACLC,WAAYvH,OAGhB9E,MAAOA,EACPc,KAAM,WACJ,MAAO,CACLwL,MAAOxH,KAAKT,IAAoB,EAChCkI,WAAW,EACXC,mBAAoB,KACpBC,OAAQ,GACRC,UAAW,KACXC,WAAY,eAAU7H,KAAK4G,SAAU,GAAK,GAE1CkB,YAAa,EACbC,YAAa,IAGjB7H,SAAU,CACR8H,UAAW,WACT,OAAOhI,KAAK2H,OAAOrN,SAGvBkG,OAAQ/C,EAAS,GAAI/C,EAAgB+C,EAAQ8B,GAAiB,SAAUkB,EAAUC,GAC5ED,IAAaC,GACfV,KAAKiI,SAAS,eAAUxH,EAAU,OAElC/F,EAAgB+C,EAAQ,YAAY,SAAkBgD,EAAUC,GAE9DD,IAAaC,IAIZD,GAKHT,KAAKkI,OAAM,GACXlI,KAAKmI,OAAM,IAJXnI,KAAKkI,OAAM,OAMXxN,EAAgB+C,EAAQ,YAAY,SAAkBgD,EAAUC,GAC9DD,IAAaC,GACfV,KAAK+B,MAAMtB,EAAW,OAAoB,YAE1C/F,EAAgB+C,EAAQ,SAAS,SAAe2K,EAAIC,GAElDD,IAAOC,GAAQrI,KAAKyH,WAIxBzH,KAAKsI,QAAQF,EAAIC,MACf5K,GACJmD,QAAS,WAEPZ,KAAKuI,WAAa,KAClBvI,KAAKwI,mBAAqB,KAC1BxI,KAAKyI,eAAiB,KACtBzI,KAAK0I,WAAa,KAElB1I,KAAK6H,WAAa,eAAU7H,KAAK4G,SAAU,GAAK,IAElD/F,QAAS,WAEPb,KAAK0H,mBAAqBrB,EAAsBrG,KAAKqC,MAAQ,KAE7DrC,KAAK2I,eAEL3I,KAAK4I,aAAY,IAEnBlH,cAAe,WACb1B,KAAK6I,gBACL7I,KAAK8I,wBACL9I,KAAK+I,oBACL/I,KAAK4I,aAAY,IAEnBjH,QAAS,CACPkH,cAAe,SAAUG,GACvB,SAASH,IACP,OAAOG,EAAe/O,MAAM+F,KAAM3F,WAOpC,OAJAwO,EAAcI,SAAW,WACvB,OAAOD,EAAeC,YAGjBJ,EATM,EAUb,WACAA,cAAc7I,KAAKuI,YACnBvI,KAAKuI,WAAa,QAEpBO,sBAAuB,WACrBI,aAAalJ,KAAKwI,oBAClBxI,KAAKwI,mBAAqB,MAE5BO,kBAAmB,WACjBG,aAAalJ,KAAKyI,gBAClBzI,KAAKyI,eAAiB,MAExBG,YAAa,WACX,IAAIrL,EAAKlD,UAAUC,OAAS,QAAsB6O,IAAjB9O,UAAU,IAAmBA,UAAU,GACxE2F,KAAK0I,YAAc1I,KAAK0I,WAAWU,aACnCpJ,KAAK0I,WAAa,KAEdnL,IACFyC,KAAK0I,WAAa,eAAW1I,KAAKqJ,MAAMC,MAAOtJ,KAAK2I,aAAaY,KAAKvJ,MAAO,CAC3EwJ,SAAS,EACTC,WAAW,EACXC,YAAY,EACZC,gBAAiB,CAAC,UAKxB1B,SAAU,SAAkB2B,GAC1B,IAAIvJ,EAAQL,KAER4H,EAAYvN,UAAUC,OAAS,QAAsB6O,IAAjB9O,UAAU,GAAmBA,UAAU,GAAK,KAKpF,KAAI,QAAcwP,SAASC,iBAAmBD,SAASE,QAAvD,CAIA,IAAI3C,EAASpH,KAAKoH,OACdY,EAAYhI,KAAKgI,UAErB4B,EAAQ,eAAUA,GAEA,IAAd5B,IAKAhI,KAAKyH,UAEPzH,KAAKgK,MAAM,QAAwB,WAEjC,gBAAU,WACR,OAAO3J,EAAM4H,SAAS2B,EAAOhC,UAMnC5H,KAAK4H,UAAYA,EAGjB5H,KAAKwH,MAAQoC,GAAS5B,EAAYZ,EAASY,EAAY,EAAI,EAAI4B,EAAQ,EAAIxC,EAAS,EAAIY,EAAY,EAAI4B,EAGpGxC,GAAUpH,KAAKwH,QAAUoC,GAAS5J,KAAKwH,QAAUxH,KAAKT,IACxDS,KAAK+B,MAAMtC,EAAkBO,KAAKwH,WAItC/B,KAAM,WACJzF,KAAKiI,SAASjI,KAAKwH,MAAQ,EAAG,SAGhClC,KAAM,WACJtF,KAAKiI,SAASjI,KAAKwH,MAAQ,EAAG,SAGhCU,MAAO,SAAexI,GACfA,IACHM,KAAK6H,UAAW,GAGlB7H,KAAK6I,iBAGPV,MAAO,SAAezI,GACfA,IACHM,KAAK6H,UAAW,GAKlB7H,KAAK6I,gBAED7I,KAAK4G,UAAY5G,KAAKgI,UAAY,IACpChI,KAAKuI,WAAa0B,YAAYjK,KAAKsF,KAAM,eAAQ,IAAMtF,KAAK4G,aAMhEsD,QAAS,WACFlK,KAAKqC,IAAI8H,SAAS,mBACrBnK,KAAKmI,SAGTG,QAAS,SAAiBF,EAAIC,GAC5B,IAAIvH,EAASd,KAEToK,EAAYC,QAAQrK,KAAK4G,UAEzBgB,EAAY5H,KAAKsK,cAActK,KAAK4H,UAAWS,EAAMD,GACrD5C,EAAeoC,EAAUpC,aACzBD,EAAWqC,EAAUrC,SAErBgF,EAAevK,KAAK2H,OAAOU,GAC3BmC,EAAYxK,KAAK2H,OAAOS,GAE5B,GAAKmC,GAAiBC,EAAtB,CAgBA,GAVAxK,KAAKyH,WAAY,EAEb2C,GACFpK,KAAKkI,OAAM,GAGblI,KAAK+B,MAAM,OAA0BqG,GAErCpI,KAAK+B,MAAMtC,EAAkBO,KAAKwH,OAE9BxH,KAAKiH,YACP,eAASuD,EAAW,UACpB,eAAYD,EAAc,UAC1BvK,KAAKyH,WAAY,EAEjBzH,KAAKoB,WAAU,WACb,OAAON,EAAOiB,MAAM,OAAwBqG,UAEzC,CACL,eAASoC,EAAWhF,GAEpB,eAAOgF,GACP,eAASD,EAAchF,GACvB,eAASiF,EAAWjF,GAEpB,IAAIkF,GAAS,EAGTC,EAAe,SAASA,IAC1B,IAAID,EAAJ,CAOA,GAHAA,GAAS,EAGL3J,EAAO4G,mBAAoB,CAC7B,IAAIiD,EAAS7J,EAAO4G,mBAAmBkD,MAAM,OAE7CD,EAAOnQ,SAAQ,SAAUkF,GACvB,OAAO,eAAS8K,EAAW9K,EAAOgL,EAAc,YAIpD5J,EAAOgI,wBAEP,eAAY0B,EAAWjF,GACvB,eAAYiF,EAAWhF,GACvB,eAASgF,EAAW,UACpB,eAAYD,EAAc,UAC1B,eAAYA,EAAchF,GAC1B,eAAYgF,EAAc/E,GAC1B,eAAQ+E,EAAc,eAAgB,SACtC,eAAQC,EAAW,eAAgB,QACnC,eAAQD,EAAc,cAAe,QACrC,eAAQC,EAAW,cAAe,SAClC1J,EAAO2G,WAAY,EACnB3G,EAAO8G,UAAY,KAEnB9G,EAAOM,WAAU,WACf,OAAON,EAAOiB,MAAM,OAAwBqG,QAOhD,GAAIpI,KAAK0H,mBAAoB,CAC3B,IAAIiD,EAAS3K,KAAK0H,mBAAmBkD,MAAM,OAC3CD,EAAOnQ,SAAQ,SAAUkF,GACvB,OAAO,eAAQ8K,EAAW9K,EAAOgL,EAAc,YAKnD1K,KAAKwI,mBAAqBqC,WAAWH,EAAchF,GAGjD0E,GACFpK,KAAKmI,OAAM,KAIfQ,aAAc,WACZ3I,KAAKkI,OAAM,GAEXlI,KAAK2H,OAAS,eAAU,iBAAkB3H,KAAKqJ,MAAMC,OACrD,IAAItB,EAAYhI,KAAK2H,OAAOrN,OAExBkN,EAAQ,eAAQ,EAAG,eAAQ,eAAUxH,KAAKwH,OAAQQ,EAAY,IAClEhI,KAAK2H,OAAOnN,SAAQ,SAAUoP,EAAOkB,GACnC,IAAIC,EAAID,EAAM,EAEVA,IAAQtD,GACV,eAASoC,EAAO,UAChB,eAAQA,EAAO,eAAgB,UAE/B,eAAYA,EAAO,UACnB,eAAQA,EAAO,eAAgB,UAGjC,eAAQA,EAAO,gBAAiBoB,OAAOD,IACvC,eAAQnB,EAAO,eAAgBoB,OAAOhD,OAGxChI,KAAKiI,SAAST,GACdxH,KAAKmI,MAAMnI,KAAK6H,WAElByC,cAAe,WACb,IAAI1C,EAAYvN,UAAUC,OAAS,QAAsB6O,IAAjB9O,UAAU,GAAmBA,UAAU,GAAK,KAChF4Q,EAAW5Q,UAAUC,OAAS,QAAsB6O,IAAjB9O,UAAU,GAAmBA,UAAU,GAAK,EAC/E6Q,EAAY7Q,UAAUC,OAAS,QAAsB6O,IAAjB9O,UAAU,GAAmBA,UAAU,GAAK,EAEpF,OAAKuN,EAIEvC,EAAUuC,GAHRsD,EAAYD,EAAW5F,EAAUC,KAAOD,EAAUI,MAK7D0F,YAAa,SAAqBzL,EAAO0L,GACvC,IAAIC,EAAU3L,EAAM2L,QAED,UAAf3L,EAAMR,MAAoBmM,IAAY,QAAcA,IAAY,SAClE,eAAU3L,GACV0L,MAKJE,YAAa,WACX,IAAIC,EAAY,eAAQvL,KAAK+H,aAE7B,KAAIwD,GAAa3F,GAAjB,CAIA,IAAIgC,EAAY2D,EAAYvL,KAAK+H,YAGjC/H,KAAK+H,YAAc,EAEfH,EAAY,EAEd5H,KAAKyF,OACImC,EAAY,GAErB5H,KAAKsF,SAKTkG,WAAY,SAAoB9L,GAC1B,QAA6BmG,EAAYnG,EAAM+L,YAAYC,eAC7D1L,KAAK8H,YAAcpI,EAAMiM,QACf,SACV3L,KAAK8H,YAAcpI,EAAMkM,QAAQ,GAAGD,UAKxCE,UAAW,SAAmBnM,GAExBA,EAAMkM,SAAWlM,EAAMkM,QAAQtR,OAAS,EAC1C0F,KAAK+H,YAAc,EAEnB/H,KAAK+H,YAAcrI,EAAMkM,QAAQ,GAAGD,QAAU3L,KAAK8H,aAKvDgE,SAAU,SAAkBpM,GACtB,QAA6BmG,EAAYnG,EAAM+L,YAAYC,iBAC7D1L,KAAK+H,YAAcrI,EAAMiM,QAAU3L,KAAK8H,aAG1C9H,KAAKsL,cAQLtL,KAAKkI,OAAM,GACXlI,KAAK+I,oBACL/I,KAAKyI,eAAiBoC,WAAW7K,KAAKmI,MAAOxC,EAA0B,eAAQ,IAAM3F,KAAK4G,aAG9F/K,OAAQ,SAAgBC,GACtB,IAAIiQ,EAAS/L,KAET2G,EAAa3G,KAAK2G,WAClBL,EAAatG,KAAKsG,WAClBW,EAAcjH,KAAKiH,YACnBC,EAAelH,KAAKkH,aACpBC,EAAUnH,KAAKmH,QACfK,EAAQxH,KAAKwH,MACbC,EAAYzH,KAAKyH,UACjBS,EAAQlI,KAAKkI,MACbgC,EAAUlK,KAAKkK,QACfsB,EAAaxL,KAAKwL,WAClBM,EAAW9L,KAAK8L,SAChBE,EAAUhM,KAAKqB,OAAO,eAEtB4K,EAASnQ,EAAE,MAAO,CACpBY,YAAa,iBACbE,MAAO,CACLpB,GAAIwQ,EACJnP,KAAM,QAERW,IAAK,SACJ,CAACwC,KAAKgD,kBAELkJ,EAAYpQ,IAEhB,GAAIkE,KAAKuG,SAAU,CACjB,IAAI4F,EAAc,SAAqBvE,EAAWwE,EAAOC,GACvD,IAAIC,EAAiB,SAAwB5M,GAEtC+H,EAGH,eAAU/H,EAAO,CACf6M,aAAa,IAHfR,EAAOZ,YAAYzL,EAAO2M,IAQ9B,OAAOvQ,EAAE,IAAK,CACZY,YAAa,oBAAoBF,OAAOoL,GACxChL,MAAO,CACL4P,KAAM,IACN3P,KAAM,SACN,gBAAiBmP,EACjB,gBAAiBvE,EAAY,OAAS,MAExClK,GAAI,CACFwF,MAAOuJ,EACPG,QAASH,IAEV,CAACxQ,EAAE,OAAQ,CACZY,YAAa,oBAAoBF,OAAOoL,EAAW,SACnDhL,MAAO,CACL,cAAe,UAEfd,EAAE,OAAQ,CACZa,MAAO,WACN,CAACyP,OAGNF,EAAY,CAACC,EAAY,OAAQnM,KAAKgH,UAAWhH,KAAKyF,MAAO0G,EAAY,OAAQnM,KAAK+G,UAAW/G,KAAKsF,OAIxG,IAAIoH,EAAc5Q,EAAE,KAAM,CACxBY,YAAa,sBACboG,WAAY,CAAC,CACXnH,KAAM,OACNZ,MAAO4L,IAET/J,MAAO,CACLpB,GAAIwE,KAAKqB,OAAO,oBAChB,cAAesF,EAAa,QAAU,OACtC,aAAc3G,KAAK8G,gBACnB,YAAakF,IAEdhM,KAAK2H,OAAOgF,KAAI,SAAU/C,EAAOxP,GAClC,IAAIiS,EAAU,SAAiB3M,GAC7BqM,EAAOZ,YAAYzL,GAAO,WACxBqM,EAAO9D,SAAS7N,OAIpB,OAAO0B,EAAE,KAAM,CACba,MAAO,CACLuG,OAAQ9I,IAAMoN,GAEhB5K,MAAO,CACLC,KAAM,SACNrB,GAAIuQ,EAAO1K,OAAO,kBAAkB7E,OAAOpC,EAAI,EAAG,MAClDkD,SAAUqJ,EAAa,IAAM,KAC7B,eAAgBvM,IAAMoN,EAAQ,OAAS,QACvC,aAAc,GAAGhL,OAAOuP,EAAOlF,eAAgB,KAAKrK,OAAOpC,EAAI,GAC/D,mBAAoBwP,EAAMpO,IAAM,KAChC,gBAAiBwQ,GAEnBzO,GAAI,CACFwF,MAAOsJ,EACPI,QAASJ,GAEX5R,IAAK,SAAS+B,OAAOpC,SAGrBmD,EAAK,CACPqP,WAAY1F,EAAe,OAAOgB,EAClC2E,WAAY3F,EAAe,OAAOgD,EAClC4C,QAAS5E,EACT6E,SAAU7C,EACVuC,QAAS,SAAiB/M,GAExB,IAAI,kBAAkBsN,KAAKtN,EAAMvF,OAAO8S,SAAxC,CAIA,IAAI5B,EAAU3L,EAAM2L,QAEhBA,IAAY,QAAaA,IAAY,SACvC,eAAU3L,GAEVqM,EAAOV,IAAY,OAAY,OAAS,cAoB9C,OAfI,SAAsBlE,IAIpB,QACF5J,EAAG,gBAAkBiO,EACrBjO,EAAG,cAAgBuO,IAEnBvO,EAAG,eAAiBiO,EACpBjO,EAAG,cAAgByC,KAAK6L,UACxBtO,EAAG,aAAeuO,IAKfhQ,EAAE,MAAO,CACdY,YAAa,WACbC,MAAO,CACLiN,OAAQ3C,EACR,iBAAkBA,GAAejH,KAAKwG,KACtC,gBAAiB,QAAqB,SAA8BW,GAEtEpD,MAAO,CACLuC,WAAYA,GAEd1J,MAAO,CACLC,KAAM,SACNrB,GAAIwE,KAAKqB,SACT,YAAaoG,EAAY,OAAS,SAEpClK,GAAIA,GACH,CAAC0O,EAAQC,EAAWQ,Q,kCC7pB3B,0EAGIQ,EAEJ,eAAc,CACZjU,WAAY,CACVoO,UAAW,OACX8F,eAAgB,W,kCCRpB,6OAAS9T,EAAQC,EAAQC,GAAkB,IAAIC,EAAOC,OAAOD,KAAKF,GAAS,GAAIG,OAAOC,sBAAuB,CAAE,IAAIC,EAAUF,OAAOC,sBAAsBJ,GAASC,IAAmBI,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAOJ,OAAOK,yBAAyBR,EAAQO,GAAKE,eAAiBP,EAAKQ,KAAKC,MAAMT,EAAMG,GAAY,OAAOH,EAE9U,SAASU,EAAcC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUC,OAAQF,IAAK,CAAE,IAAIG,EAAS,MAAQF,UAAUD,GAAKC,UAAUD,GAAK,GAAIA,EAAI,EAAIf,EAAQI,OAAOc,IAAS,GAAIC,SAAQ,SAAUC,GAAOC,EAAgBP,EAAQM,EAAKF,EAAOE,OAAYhB,OAAOkB,0BAA4BlB,OAAOmB,iBAAiBT,EAAQV,OAAOkB,0BAA0BJ,IAAWlB,EAAQI,OAAOc,IAASC,SAAQ,SAAUC,GAAOhB,OAAOoB,eAAeV,EAAQM,EAAKhB,OAAOK,yBAAyBS,EAAQE,OAAa,OAAON,EAEjf,SAASO,EAAgBI,EAAKL,EAAKM,GAAiK,OAApJN,KAAOK,EAAOrB,OAAOoB,eAAeC,EAAKL,EAAK,CAAEM,MAAOA,EAAOhB,YAAY,EAAMiB,cAAc,EAAMC,UAAU,IAAkBH,EAAIL,GAAOM,EAAgBD,EAgBpM,IAAII,EAAQ,eAAsB,eAAShB,EAAcA,EAAcA,EAAc,GAAI,QAAU,QAAgB,GAAI,CAC5HkT,MAAO,eAAS,QAAmB,GACnCC,KAAM,eAAS,QAEfC,KAAM,eAAS,QAAmB,GAClCC,UAAW,eAAS,QACpBC,QAAS,eAAS,QAAmB,GACrC3Q,KAAM,eAAS,OAAkB,QACjC4Q,KAAM,eAAS,QACf7C,MAAO,eAAS,QAAmB,GACnC8C,gBAAiB,eAAS,OAAkB,UAAU,SAAU3S,GAC9D,OAAO,eAAc,CAAC,SAAU,SAAU,SAAUA,MAEtD4S,WAAY,eAAS,QACrBC,UAAW,eAAS,QACpBC,QAAS,eAAS,QAClBC,aAAc,eAAS,QACvBC,KAAM,eAAS,QACfC,YAAa,eAAS,OAAkB,IACxCC,YAAa,eAAS,QACtBC,UAAW,eAAS,OAAkB,UAEtCC,WAAY,eAAS,OAAkB,mBACvChS,QAAS,eAAS,OAAkB,gBACjC,QAGM8H,EAAyB,aAAIvI,OAAO,CAC7CC,KAAM,OACNmE,OAAQ,CAAC,OAAS,OAAe,QACjC5E,MAAOA,EACPgF,SAAU,CACRkO,gBAAiB,WACf,IAAIhB,EAAQpN,KAAKoN,MACbxC,EAAQ5K,KAAK4K,MACjB,MAAO,CAAC5K,KAAKqO,eAAgBrO,KAAKsO,cAAe,CAC/CvO,KAAMC,KAAKM,QAIX,YAAasK,IAAUwC,EAGvB,SAAUA,GAASxC,KAGvB2D,YAAa,WACX,MAAO,CAACvO,KAAKuN,UAAW,CACtB,sBAAuBvN,KAAKwO,MAC5BzO,KAAMC,KAAKM,WAGfmO,cAAe,WACb,IAAI7D,EAAQ5K,KAAK4K,MACjB,MAAO,CAAC5K,KAAKiO,YAAa,CACxB,wBAAyBrD,EACzB,2BAA4B5K,KAAKwN,UAAY5C,MAInD/O,OAAQ,SAAgBC,GACtB,IAAIwE,EAAUN,KAAKM,QACfnE,EAAU6D,KAAK7D,QACfsR,EAAOzN,KAAKyN,KACZL,EAAQpN,KAAKoN,MACbnQ,EAAW+C,KAAK/C,SAChB2N,EAAQ5K,KAAK4K,MACb/N,EAAOmD,KAAKnD,KACZgH,EAAO7D,KAAK6D,KACZhC,EAAS7B,KAAK6B,OACd6M,EAAc,CAChBvS,QAASA,EACTsR,KAAMA,EACNL,MAAOA,EACPnQ,SAAUA,GAER0R,EAAkB3O,KAAKgD,cAAc,QACrC4L,EAAwB5O,KAAK6O,kBAAkB,QAA4B,GAAK,eAAW7O,KAAKqN,KAAMrN,KAAK+N,MAC3Ge,EAAShT,IAEb,GAAI8O,EAAO,CACT,IAAIiD,EAAU7N,KAAK6N,QACfD,EAAY5N,KAAK4N,UACjBF,EAAkB1N,KAAK0N,gBAEvBqB,EAAW7U,EAAcA,EAAc,GAAIwU,GAAc,GAAI,CAC/DvS,QAAS6D,KAAK8N,cAAgB3R,IAK5B0R,EACFkB,EAAS3G,GAAKyF,EACLD,EACTmB,EAASvC,KAAOoB,EACPF,IACTqB,EAAS7P,KAAOwO,GAGlBoB,EAAShT,EAAE,OAAS,CAClBa,MAAOqD,KAAK2N,WACZ/Q,MAAO,CACLpB,GAAIwE,KAAKqB,OAAO,gBAElBnG,MAAO6T,EACPC,SAAUJ,EACVrR,GAAI,CACFwF,MAAO/C,KAAKiP,cAEdzR,IAAK,UACJmR,GAEHA,EAAkB,CAAC7S,EAAE,OAAQ,CAC3Ba,MAAO,CAAC,YACP,CAACqD,KAAKmO,cACTS,EAAwB,GAG1B,IAAIM,EAAoB,CAAC,OAAQ,UAAW,OAAQ,OAAQ,UACxDC,EAAUrT,EAAE,OAAS,CACvBY,YAAa,kBACbC,MAAOqD,KAAKyO,cACZ7R,MAAO1C,EAAcA,EAAc,GAAI8F,KAAKgO,aAAc,GAAI,CAE5DxS,GAAIwE,KAAKqB,OAAO,eAChB,gBAAiB6N,EAAkBE,SAASvS,GAAQA,EAAO,QAC3D,gBAAiB,eAASyD,KAE5BpF,MAAOhB,EAAcA,EAAc,GAAIwU,GAAc,GAAI,CACvD7O,IAAKG,KAAKkO,UACVd,MAAOA,IAAUxC,IAEnBoE,SAAUJ,EACVrR,GAAI,CACF8R,UAAWrP,KAAKsP,YAChBvM,MAAOlB,EACP4K,QAAS5K,GAGXrE,IAAK,UACJmR,GACCY,EAAQzT,EAAE,KAAM,CAClBY,YAAa,gBACbC,MAAOqD,KAAKuO,YACZ3R,MAAO,CACLC,KAAMA,EACNS,SAAU,KACV,kBAAmB0C,KAAKqB,OAAOuJ,EAAQ,cAAgB,gBAEzDrN,GAAI,CACFkP,QAASzM,KAAKwP,WAGhBhS,IAAK,QACJ,EAAEwC,KAAKsN,MAAQhN,EAAUN,KAAKgD,cAAc,OAAmB,CAChEa,KAAMA,IACH/H,MACL,OAAOA,EAAE,MAAO,CACdY,YAAa,sBACbC,MAAOqD,KAAKoO,gBACZxR,MAAO,CACLpB,GAAIwE,KAAKqB,WAEV,CAACyN,EAAQK,EAASI,Q,kCCvLzB,uHAAS7U,EAAgBI,EAAKL,EAAKM,GAAiK,OAApJN,KAAOK,EAAOrB,OAAOoB,eAAeC,EAAKL,EAAK,CAAEM,MAAOA,EAAOhB,YAAY,EAAMiB,cAAc,EAAMC,UAAU,IAAkBH,EAAIL,GAAOM,EAAgBD,EAQpM,IAAII,EAAQ,eAAsB,CACvC2E,IAAK,eAAS,OAAkB,KAChC4P,UAAW,eAAS,QACpBtT,QAAS,eAAS,SACjB,QAGQyI,EAA6B,aAAIlJ,OAAO,CACjDC,KAAM,OACNC,YAAY,EACZV,MAAOA,EACPW,OAAQ,SAAgBC,EAAGC,GACzB,IAAIb,EAAQa,EAAKb,MACbc,EAAOD,EAAKC,KACZqB,EAAWtB,EAAKsB,SAChBwC,EAAM3E,EAAM2E,IACZ4P,EAAYvU,EAAMuU,UAClBtT,EAAUjB,EAAMiB,QACpB,OAAOL,EAAE,KAAM,eAAU,eAAKE,EAAM,CAAC,UAAW,CAC9CY,MAAO,CACLC,KAAM,kBAEN,CAACf,EAAE+D,EAAK,CACVnD,YAAa,kBACbC,MAAO,CAAC8S,EAAW/U,EAAgB,GAAI,QAAQ8B,OAAOL,GAAUA,IAChEjB,MAAOA,EACP0B,MAAOZ,EAAKY,OAAS,GACrBY,IAAK,QACJH,S,kCCpCP,8DAEIqS,EAA2B,eAAc,CAC3CzW,WAAY,CACVmM,OAAQ,W,kCCJZ,uHAAS/L,EAAQC,EAAQC,GAAkB,IAAIC,EAAOC,OAAOD,KAAKF,GAAS,GAAIG,OAAOC,sBAAuB,CAAE,IAAIC,EAAUF,OAAOC,sBAAsBJ,GAASC,IAAmBI,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAOJ,OAAOK,yBAAyBR,EAAQO,GAAKE,eAAiBP,EAAKQ,KAAKC,MAAMT,EAAMG,GAAY,OAAOH,EAE9U,SAASU,EAAcC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUC,OAAQF,IAAK,CAAE,IAAIG,EAAS,MAAQF,UAAUD,GAAKC,UAAUD,GAAK,GAAIA,EAAI,EAAIf,EAAQI,OAAOc,IAAS,GAAIC,SAAQ,SAAUC,GAAOC,EAAgBP,EAAQM,EAAKF,EAAOE,OAAYhB,OAAOkB,0BAA4BlB,OAAOmB,iBAAiBT,EAAQV,OAAOkB,0BAA0BJ,IAAWlB,EAAQI,OAAOc,IAASC,SAAQ,SAAUC,GAAOhB,OAAOoB,eAAeV,EAAQM,EAAKhB,OAAOK,yBAAyBS,EAAQE,OAAa,OAAON,EAEjf,SAASO,EAAgBI,EAAKL,EAAKM,GAAiK,OAApJN,KAAOK,EAAOrB,OAAOoB,eAAeC,EAAKL,EAAK,CAAEM,MAAOA,EAAOhB,YAAY,EAAMiB,cAAc,EAAMC,UAAU,IAAkBH,EAAIL,GAAOM,EAAgBD,EAQpM,IAAII,EAAQ,eAAsB,CACvC2E,IAAK,eAAS,OAAkB,OAC/B,QAGQ4E,EAAgC,aAAI/I,OAAO,CACpDC,KAAM,OACNC,YAAY,EACZV,MAAOA,EACPW,OAAQ,SAAgBC,EAAGC,GACzB,IAAIb,EAAQa,EAAKb,MACbc,EAAOD,EAAKC,KAChB,OAAOF,EAAE,KAAM,eAAU,eAAKE,EAAM,CAAC,UAAW,CAC9CY,MAAO,CACLC,KAAM,kBAEN,CAACf,EAAEZ,EAAM2E,IAAK,CAChBnD,YAAa,mBACbE,MAAO1C,EAAcA,EAAc,GAAI8B,EAAKY,OAAS,IAAK,GAAI,CAC5DC,KAAM,YACN,mBAAoB,eAEtBW,IAAK,kB,kCClCX,2MAASnE,EAAQC,EAAQC,GAAkB,IAAIC,EAAOC,OAAOD,KAAKF,GAAS,GAAIG,OAAOC,sBAAuB,CAAE,IAAIC,EAAUF,OAAOC,sBAAsBJ,GAASC,IAAmBI,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAOJ,OAAOK,yBAAyBR,EAAQO,GAAKE,eAAiBP,EAAKQ,KAAKC,MAAMT,EAAMG,GAAY,OAAOH,EAE9U,SAASU,EAAcC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUC,OAAQF,IAAK,CAAE,IAAIG,EAAS,MAAQF,UAAUD,GAAKC,UAAUD,GAAK,GAAIA,EAAI,EAAIf,EAAQI,OAAOc,IAAS,GAAIC,SAAQ,SAAUC,GAAOC,EAAgBP,EAAQM,EAAKF,EAAOE,OAAYhB,OAAOkB,0BAA4BlB,OAAOmB,iBAAiBT,EAAQV,OAAOkB,0BAA0BJ,IAAWlB,EAAQI,OAAOc,IAASC,SAAQ,SAAUC,GAAOhB,OAAOoB,eAAeV,EAAQM,EAAKhB,OAAOK,yBAAyBS,EAAQE,OAAa,OAAON,EAEjf,SAASO,EAAgBI,EAAKL,EAAKM,GAAiK,OAApJN,KAAOK,EAAOrB,OAAOoB,eAAeC,EAAKL,EAAK,CAAEM,MAAOA,EAAOhB,YAAY,EAAMiB,cAAc,EAAMC,UAAU,IAAkBH,EAAIL,GAAOM,EAAgBD,EAgB3M,IAAI6U,EAAW,CACbC,OAAQ,eAAS,QACjBC,SAAU,eAAS,QAAmB,GACtCC,cAAe,eAAS,OAAkB,eAC1CrJ,UAAW,eAAS,QACpBsJ,OAAQ,eAAS,QACjBrJ,SAAU,eAAS,SAEVxL,EAAQ,eAAsB,eAAShB,EAAcA,EAAcA,EAAc,GAAI,QAAUyV,GAAW,GAAI,CACvHrJ,WAAY,eAAS,QACrB0J,QAAS,eAAS,QAClBC,YAAa,eAAS,QACtBC,WAAY,eAAS,OAAkB,MACvCC,WAAY,eAAS,OAAkB,OACvCC,iBAAkB,eAAS,QAC3BrC,KAAM,eAAS,QACfsC,SAAU,eAAS,QACnBC,QAAS,eAAS,OAAkB,QACjC,QAGMnD,EAA8B,aAAIzR,OAAO,CAClDC,KAAM,OACNmE,OAAQ,CAAC,OAAS,QAClBwD,OAAQ,CACNiE,WAAY,CAEV/D,QAAS,WACP,MAAO,CACL2D,SAAS,MAKjBjM,MAAOA,EACPgF,SAAU,CACRqQ,eAAgB,WACd,MAAO,CAACvQ,KAAKoQ,iBAAmB,SAAW,GAAIpQ,KAAKoQ,iBAAmB,KAAK5T,OAAOwD,KAAKoQ,iBAAkB,UAAY,KAExHI,cAAe,WAEb,OAAOxQ,KAAK0G,UAAY1G,KAAKuH,WAAWb,UAAY,MAEtD+J,eAAgB,WAEd,OAAOzQ,KAAKyG,WAAazG,KAAKuH,WAAWd,WAAa,OAG1D5K,OAAQ,SAAgBC,GACtB,IAAI4U,EAAO1Q,KAAKgD,cAAc,QAE9B,IAAK0N,IAAS1Q,KAAK+P,QAAU/P,KAAK6P,UAAW,CAC3C,IAAItS,EAAK,IAIJyC,KAAKuH,WAAWJ,SAAW,SAC9B5J,EAAGoT,UAAY,SAAUjR,GACvB,OAAO,eAAUA,EAAO,CACtB6M,aAAa,MAKnBmE,EAAO5U,EAAE,OAAM,CACbZ,MAAOhB,EAAcA,EAAc,GAAI,eAAWyV,EAAU3P,KAAKiF,OAAQ,OAAiBsE,KAAK,KAAM,SAAU,GAAI,CACjHqH,MAAO5Q,KAAKwQ,cACZ5S,OAAQoC,KAAKyQ,eACbI,WAAW,EACXzD,OAAO,IAET7P,GAAIA,IAIR,IAAIuT,EAAmB,IACvB9Q,KAAKgQ,UAAWhQ,KAAKiQ,cAAcnU,EAAEkE,KAAKkQ,WAAY,CACpDlB,SAAU,eAAWhP,KAAKiQ,YAAajQ,KAAKgQ,cAE9ChQ,KAAK+N,OAAQ/N,KAAKqQ,WAAWvU,EAAEkE,KAAKsQ,QAAS,CAC3CtB,SAAU,eAAWhP,KAAKqQ,SAAUrQ,KAAK+N,QAE3C/N,KAAKgD,kBAAmB,GACpBH,EAAW/G,IAWf,OATIgV,EAAiBC,KAAK,UACxBlO,EAAW/G,EAAEkE,KAAKmQ,WAAY,CAC5BzT,YAAa,mBACbC,MAAOqD,KAAKuQ,gBACXO,EAAiBnE,KAAI,SAAUqE,GAChC,OAAOA,GAAUlV,SAIdA,EAAE,MAAO,CACdY,YAAa,gBACbqH,MAAO,CACLuC,WAAYtG,KAAKsG,YAActG,KAAKuH,WAAWjB,YAAc,MAE/D1J,MAAO,CACLpB,GAAIwE,KAAKqB,SACTxE,KAAM,aAEP,CAAC6T,EAAM7N","file":"js/chunk-vendors~eb7344d5.bbf290a7.js","sourcesContent":["import { BCollapse } from './collapse';\nimport { VBTogglePlugin } from '../../directives/toggle';\nimport { pluginFactory } from '../../utils/plugins';\nvar CollapsePlugin = /*#__PURE__*/pluginFactory({\n components: {\n BCollapse: BCollapse\n },\n plugins: {\n VBTogglePlugin: VBTogglePlugin\n }\n});\nexport { CollapsePlugin, BCollapse };","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue, mergeData } from '../../vue';\nimport { NAME_DROPDOWN_GROUP } from '../../constants/components';\nimport { PROP_TYPE_ARRAY_OBJECT_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { SLOT_NAME_DEFAULT, SLOT_NAME_HEADER } from '../../constants/slots';\nimport { isTag } from '../../utils/dom';\nimport { identity } from '../../utils/identity';\nimport { hasNormalizedSlot, normalizeSlot } from '../../utils/normalize-slot';\nimport { omit } from '../../utils/object';\nimport { makeProp, makePropsConfigurable } from '../../utils/props'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n ariaDescribedby: makeProp(PROP_TYPE_STRING),\n header: makeProp(PROP_TYPE_STRING),\n headerClasses: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n headerTag: makeProp(PROP_TYPE_STRING, 'header'),\n headerVariant: makeProp(PROP_TYPE_STRING),\n id: makeProp(PROP_TYPE_STRING)\n}, NAME_DROPDOWN_GROUP); // --- Main component ---\n// @vue/component\n\nexport var BDropdownGroup = /*#__PURE__*/Vue.extend({\n name: NAME_DROPDOWN_GROUP,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n slots = _ref.slots,\n scopedSlots = _ref.scopedSlots;\n var id = props.id,\n variant = props.variant,\n header = props.header,\n headerTag = props.headerTag;\n var $slots = slots();\n var $scopedSlots = scopedSlots || {};\n var slotScope = {};\n var headerId = id ? \"_bv_\".concat(id, \"_group_dd_header\") : null;\n var $header = h();\n\n if (hasNormalizedSlot(SLOT_NAME_HEADER, $scopedSlots, $slots) || header) {\n $header = h(headerTag, {\n staticClass: 'dropdown-header',\n class: [props.headerClasses, _defineProperty({}, \"text-\".concat(variant), variant)],\n attrs: {\n id: headerId,\n role: isTag(headerTag, 'header') ? null : 'heading'\n }\n }, normalizeSlot(SLOT_NAME_HEADER, slotScope, $scopedSlots, $slots) || header);\n }\n\n return h('li', mergeData(omit(data, ['attrs']), {\n attrs: {\n role: 'presentation'\n }\n }), [$header, h('ul', {\n staticClass: 'list-unstyled',\n attrs: _objectSpread(_objectSpread({}, data.attrs || {}), {}, {\n id: id,\n role: 'group',\n 'aria-describedby': [headerId, props.ariaDescribedBy].filter(identity).join(' ').trim() || null\n })\n }, normalizeSlot(SLOT_NAME_DEFAULT, slotScope, $scopedSlots, $slots))]);\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue, mergeData } from '../../vue';\nimport { NAME_DROPDOWN_FORM } from '../../constants/components';\nimport { PROP_TYPE_ARRAY_OBJECT_STRING, PROP_TYPE_BOOLEAN } from '../../constants/props';\nimport { omit, sortKeys } from '../../utils/object';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { BForm, props as formControlProps } from '../form/form'; // --- Props ---\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, formControlProps), {}, {\n disabled: makeProp(PROP_TYPE_BOOLEAN, false),\n formClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING)\n})), NAME_DROPDOWN_FORM); // --- Main component ---\n// @vue/component\n\nexport var BDropdownForm = /*#__PURE__*/Vue.extend({\n name: NAME_DROPDOWN_FORM,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n listeners = _ref.listeners,\n children = _ref.children;\n return h('li', mergeData(omit(data, ['attrs', 'on']), {\n attrs: {\n role: 'presentation'\n }\n }), [h(BForm, {\n staticClass: 'b-dropdown-form',\n class: [props.formClass, {\n disabled: props.disabled\n }],\n props: props,\n attrs: _objectSpread(_objectSpread({}, data.attrs || {}), {}, {\n disabled: props.disabled,\n // Tab index of -1 for keyboard navigation\n tabindex: props.disabled ? null : '-1'\n }),\n on: listeners,\n ref: 'form'\n }, children)]);\n }\n});","var _watch;\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../vue';\nimport { NAME_COLLAPSE } from '../../constants/components';\nimport { CLASS_NAME_SHOW } from '../../constants/classes';\nimport { IS_BROWSER } from '../../constants/env';\nimport { EVENT_NAME_HIDDEN, EVENT_NAME_HIDE, EVENT_NAME_SHOW, EVENT_NAME_SHOWN, EVENT_OPTIONS_NO_CAPTURE } from '../../constants/events';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props';\nimport { SLOT_NAME_DEFAULT } from '../../constants/slots';\nimport { addClass, hasClass, removeClass, closest, matches, getCS } from '../../utils/dom';\nimport { getRootActionEventName, getRootEventName, eventOnOff } from '../../utils/events';\nimport { makeModelMixin } from '../../utils/model';\nimport { sortKeys } from '../../utils/object';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { idMixin, props as idProps } from '../../mixins/id';\nimport { listenOnRootMixin } from '../../mixins/listen-on-root';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot';\nimport { BVCollapse } from './helpers/bv-collapse'; // --- Constants ---\n\nvar ROOT_ACTION_EVENT_NAME_TOGGLE = getRootActionEventName(NAME_COLLAPSE, 'toggle');\nvar ROOT_ACTION_EVENT_NAME_REQUEST_STATE = getRootActionEventName(NAME_COLLAPSE, 'request-state');\nvar ROOT_EVENT_NAME_ACCORDION = getRootEventName(NAME_COLLAPSE, 'accordion');\nvar ROOT_EVENT_NAME_STATE = getRootEventName(NAME_COLLAPSE, 'state');\nvar ROOT_EVENT_NAME_SYNC_STATE = getRootEventName(NAME_COLLAPSE, 'sync-state');\n\nvar _makeModelMixin = makeModelMixin('visible', {\n type: PROP_TYPE_BOOLEAN,\n defaultValue: false\n}),\n modelMixin = _makeModelMixin.mixin,\n modelProps = _makeModelMixin.props,\n MODEL_PROP_NAME = _makeModelMixin.prop,\n MODEL_EVENT_NAME = _makeModelMixin.event; // --- Props ---\n\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread(_objectSpread({}, idProps), modelProps), {}, {\n // If `true` (and `visible` is `true` on mount), animate initially visible\n accordion: makeProp(PROP_TYPE_STRING),\n appear: makeProp(PROP_TYPE_BOOLEAN, false),\n isNav: makeProp(PROP_TYPE_BOOLEAN, false),\n tag: makeProp(PROP_TYPE_STRING, 'div')\n})), NAME_COLLAPSE); // --- Main component ---\n// @vue/component\n\nexport var BCollapse = /*#__PURE__*/Vue.extend({\n name: NAME_COLLAPSE,\n mixins: [idMixin, modelMixin, normalizeSlotMixin, listenOnRootMixin],\n props: props,\n data: function data() {\n return {\n show: this[MODEL_PROP_NAME],\n transitioning: false\n };\n },\n computed: {\n classObject: function classObject() {\n var transitioning = this.transitioning;\n return {\n 'navbar-collapse': this.isNav,\n collapse: !transitioning,\n show: this.show && !transitioning\n };\n },\n slotScope: function slotScope() {\n var _this = this;\n\n return {\n visible: this.show,\n close: function close() {\n _this.show = false;\n }\n };\n }\n },\n watch: (_watch = {}, _defineProperty(_watch, MODEL_PROP_NAME, function (newValue) {\n if (newValue !== this.show) {\n this.show = newValue;\n }\n }), _defineProperty(_watch, \"show\", function show(newValue, oldValue) {\n if (newValue !== oldValue) {\n this.emitState();\n }\n }), _watch),\n created: function created() {\n this.show = this[MODEL_PROP_NAME];\n },\n mounted: function mounted() {\n var _this2 = this;\n\n this.show = this[MODEL_PROP_NAME]; // Listen for toggle events to open/close us\n\n this.listenOnRoot(ROOT_ACTION_EVENT_NAME_TOGGLE, this.handleToggleEvent); // Listen to other collapses for accordion events\n\n this.listenOnRoot(ROOT_EVENT_NAME_ACCORDION, this.handleAccordionEvent);\n\n if (this.isNav) {\n // Set up handlers\n this.setWindowEvents(true);\n this.handleResize();\n }\n\n this.$nextTick(function () {\n _this2.emitState();\n }); // Listen for \"Sync state\" requests from `v-b-toggle`\n\n this.listenOnRoot(ROOT_ACTION_EVENT_NAME_REQUEST_STATE, function (id) {\n if (id === _this2.safeId()) {\n _this2.$nextTick(_this2.emitSync);\n }\n });\n },\n updated: function updated() {\n // Emit a private event every time this component updates to ensure\n // the toggle button is in sync with the collapse's state\n // It is emitted regardless if the visible state changes\n this.emitSync();\n },\n\n /* istanbul ignore next */\n deactivated: function deactivated() {\n if (this.isNav) {\n this.setWindowEvents(false);\n }\n },\n\n /* istanbul ignore next */\n activated: function activated() {\n if (this.isNav) {\n this.setWindowEvents(true);\n }\n\n this.emitSync();\n },\n beforeDestroy: function beforeDestroy() {\n // Trigger state emit if needed\n this.show = false;\n\n if (this.isNav && IS_BROWSER) {\n this.setWindowEvents(false);\n }\n },\n methods: {\n setWindowEvents: function setWindowEvents(on) {\n eventOnOff(on, window, 'resize', this.handleResize, EVENT_OPTIONS_NO_CAPTURE);\n eventOnOff(on, window, 'orientationchange', this.handleResize, EVENT_OPTIONS_NO_CAPTURE);\n },\n toggle: function toggle() {\n this.show = !this.show;\n },\n onEnter: function onEnter() {\n this.transitioning = true; // This should be moved out so we can add cancellable events\n\n this.$emit(EVENT_NAME_SHOW);\n },\n onAfterEnter: function onAfterEnter() {\n this.transitioning = false;\n this.$emit(EVENT_NAME_SHOWN);\n },\n onLeave: function onLeave() {\n this.transitioning = true; // This should be moved out so we can add cancellable events\n\n this.$emit(EVENT_NAME_HIDE);\n },\n onAfterLeave: function onAfterLeave() {\n this.transitioning = false;\n this.$emit(EVENT_NAME_HIDDEN);\n },\n emitState: function emitState() {\n var show = this.show,\n accordion = this.accordion;\n var id = this.safeId();\n this.$emit(MODEL_EVENT_NAME, show); // Let `v-b-toggle` know the state of this collapse\n\n this.emitOnRoot(ROOT_EVENT_NAME_STATE, id, show);\n\n if (accordion && show) {\n // Tell the other collapses in this accordion to close\n this.emitOnRoot(ROOT_EVENT_NAME_ACCORDION, id, accordion);\n }\n },\n emitSync: function emitSync() {\n // Emit a private event every time this component updates to ensure\n // the toggle button is in sync with the collapse's state\n // It is emitted regardless if the visible state changes\n this.emitOnRoot(ROOT_EVENT_NAME_SYNC_STATE, this.safeId(), this.show);\n },\n checkDisplayBlock: function checkDisplayBlock() {\n // Check to see if the collapse has `display: block !important` set\n // We can't set `display: none` directly on `this.$el`, as it would\n // trigger a new transition to start (or cancel a current one)\n var $el = this.$el;\n var restore = hasClass($el, CLASS_NAME_SHOW);\n removeClass($el, CLASS_NAME_SHOW);\n var isBlock = getCS($el).display === 'block';\n\n if (restore) {\n addClass($el, CLASS_NAME_SHOW);\n }\n\n return isBlock;\n },\n clickHandler: function clickHandler(event) {\n var el = event.target; // If we are in a nav/navbar, close the collapse when non-disabled link clicked\n\n /* istanbul ignore next: can't test `getComputedStyle()` in JSDOM */\n\n if (!this.isNav || !el || getCS(this.$el).display !== 'block') {\n return;\n } // Only close the collapse if it is not forced to be `display: block !important`\n\n\n if ((matches(el, '.nav-link,.dropdown-item') || closest('.nav-link,.dropdown-item', el)) && !this.checkDisplayBlock()) {\n this.show = false;\n }\n },\n handleToggleEvent: function handleToggleEvent(id) {\n if (id === this.safeId()) {\n this.toggle();\n }\n },\n handleAccordionEvent: function handleAccordionEvent(openedId, openAccordion) {\n var accordion = this.accordion,\n show = this.show;\n\n if (!accordion || accordion !== openAccordion) {\n return;\n }\n\n var isThis = openedId === this.safeId(); // Open this collapse if not shown or\n // close this collapse if shown\n\n if (isThis && !show || !isThis && show) {\n this.toggle();\n }\n },\n handleResize: function handleResize() {\n // Handler for orientation/resize to set collapsed state in nav/navbar\n this.show = getCS(this.$el).display === 'block';\n }\n },\n render: function render(h) {\n var appear = this.appear;\n var $content = h(this.tag, {\n class: this.classObject,\n directives: [{\n name: 'show',\n value: this.show\n }],\n attrs: {\n id: this.safeId()\n },\n on: {\n click: this.clickHandler\n }\n }, this.normalizeSlot(SLOT_NAME_DEFAULT, this.slotScope));\n return h(BVCollapse, {\n props: {\n appear: appear\n },\n on: {\n enter: this.onEnter,\n afterEnter: this.onAfterEnter,\n leave: this.onLeave,\n afterLeave: this.onAfterLeave\n }\n }, [$content]);\n }\n});","// Generic collapse transion helper component\n//\n// Note:\n// Applies the classes `collapse`, `show` and `collapsing`\n// during the enter/leave transition phases only\n// Although it appears that Vue may be leaving the classes\n// in-place after the transition completes\nimport { Vue, mergeData } from '../../../vue';\nimport { NAME_COLLAPSE_HELPER } from '../../../constants/components';\nimport { PROP_TYPE_BOOLEAN } from '../../../constants/props';\nimport { getBCR, reflow, removeStyle, requestAF, setStyle } from '../../../utils/dom';\nimport { makeProp } from '../../../utils/props'; // --- Helper methods ---\n// Transition event handler helpers\n\nvar onEnter = function onEnter(el) {\n setStyle(el, 'height', 0); // In a `requestAF()` for `appear` to work\n\n requestAF(function () {\n reflow(el);\n setStyle(el, 'height', \"\".concat(el.scrollHeight, \"px\"));\n });\n};\n\nvar onAfterEnter = function onAfterEnter(el) {\n removeStyle(el, 'height');\n};\n\nvar onLeave = function onLeave(el) {\n setStyle(el, 'height', 'auto');\n setStyle(el, 'display', 'block');\n setStyle(el, 'height', \"\".concat(getBCR(el).height, \"px\"));\n reflow(el);\n setStyle(el, 'height', 0);\n};\n\nvar onAfterLeave = function onAfterLeave(el) {\n removeStyle(el, 'height');\n}; // --- Constants ---\n// Default transition props\n// `appear` will use the enter classes\n\n\nvar TRANSITION_PROPS = {\n css: true,\n enterClass: '',\n enterActiveClass: 'collapsing',\n enterToClass: 'collapse show',\n leaveClass: 'collapse show',\n leaveActiveClass: 'collapsing',\n leaveToClass: 'collapse'\n}; // Default transition handlers\n// `appear` will use the enter handlers\n\nvar TRANSITION_HANDLERS = {\n enter: onEnter,\n afterEnter: onAfterEnter,\n leave: onLeave,\n afterLeave: onAfterLeave\n}; // --- Main component ---\n\nexport var props = {\n // // If `true` (and `visible` is `true` on mount), animate initially visible\n appear: makeProp(PROP_TYPE_BOOLEAN, false)\n}; // --- Main component ---\n// @vue/component\n\nexport var BVCollapse = /*#__PURE__*/Vue.extend({\n name: NAME_COLLAPSE_HELPER,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n return h('transition', // We merge in the `appear` prop last\n mergeData(data, {\n props: TRANSITION_PROPS,\n on: TRANSITION_HANDLERS\n }, {\n props: props\n }), // Note: `` supports a single root element only\n children);\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue, mergeData } from '../../vue';\nimport { NAME_DROPDOWN_HEADER } from '../../constants/components';\nimport { PROP_TYPE_STRING } from '../../constants/props';\nimport { isTag } from '../../utils/dom';\nimport { omit } from '../../utils/object';\nimport { makeProp, makePropsConfigurable } from '../../utils/props'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n id: makeProp(PROP_TYPE_STRING),\n tag: makeProp(PROP_TYPE_STRING, 'header'),\n variant: makeProp(PROP_TYPE_STRING)\n}, NAME_DROPDOWN_HEADER); // --- Main component ---\n// @vue/component\n\nexport var BDropdownHeader = /*#__PURE__*/Vue.extend({\n name: NAME_DROPDOWN_HEADER,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n var tag = props.tag,\n variant = props.variant;\n return h('li', mergeData(omit(data, ['attrs']), {\n attrs: {\n role: 'presentation'\n }\n }), [h(tag, {\n staticClass: 'dropdown-header',\n class: _defineProperty({}, \"text-\".concat(variant), variant),\n attrs: _objectSpread(_objectSpread({}, data.attrs || {}), {}, {\n id: props.id || null,\n role: isTag(tag, 'header') ? null : 'heading'\n }),\n ref: 'header'\n }, children)]);\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../vue';\nimport { NAME_DROPDOWN_ITEM_BUTTON } from '../../constants/components';\nimport { EVENT_NAME_CLICK } from '../../constants/events';\nimport { PROP_TYPE_ARRAY_OBJECT_STRING, PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { attrsMixin } from '../../mixins/attrs';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n active: makeProp(PROP_TYPE_BOOLEAN, false),\n activeClass: makeProp(PROP_TYPE_STRING, 'active'),\n buttonClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n disabled: makeProp(PROP_TYPE_BOOLEAN, false),\n variant: makeProp(PROP_TYPE_STRING)\n}, NAME_DROPDOWN_ITEM_BUTTON); // --- Main component ---\n// @vue/component\n\nexport var BDropdownItemButton = /*#__PURE__*/Vue.extend({\n name: NAME_DROPDOWN_ITEM_BUTTON,\n mixins: [attrsMixin, normalizeSlotMixin],\n inject: {\n bvDropdown: {\n default: null\n }\n },\n inheritAttrs: false,\n props: props,\n computed: {\n computedAttrs: function computedAttrs() {\n return _objectSpread(_objectSpread({}, this.bvAttrs), {}, {\n role: 'menuitem',\n type: 'button',\n disabled: this.disabled\n });\n }\n },\n methods: {\n closeDropdown: function closeDropdown() {\n if (this.bvDropdown) {\n this.bvDropdown.hide(true);\n }\n },\n onClick: function onClick(event) {\n this.$emit(EVENT_NAME_CLICK, event);\n this.closeDropdown();\n }\n },\n render: function render(h) {\n var _ref;\n\n var active = this.active,\n variant = this.variant,\n bvAttrs = this.bvAttrs;\n return h('li', {\n class: bvAttrs.class,\n style: bvAttrs.style,\n attrs: {\n role: 'presentation'\n }\n }, [h('button', {\n staticClass: 'dropdown-item',\n class: [this.buttonClass, (_ref = {}, _defineProperty(_ref, this.activeClass, active), _defineProperty(_ref, \"text-\".concat(variant), variant && !(active || this.disabled)), _ref)],\n attrs: this.computedAttrs,\n on: {\n click: this.onClick\n },\n ref: 'button'\n }, this.normalizeSlot())]);\n }\n});","import { BDropdown } from './dropdown';\nimport { BDropdownItem } from './dropdown-item';\nimport { BDropdownItemButton } from './dropdown-item-button';\nimport { BDropdownHeader } from './dropdown-header';\nimport { BDropdownDivider } from './dropdown-divider';\nimport { BDropdownForm } from './dropdown-form';\nimport { BDropdownText } from './dropdown-text';\nimport { BDropdownGroup } from './dropdown-group';\nimport { pluginFactory } from '../../utils/plugins';\nvar DropdownPlugin = /*#__PURE__*/pluginFactory({\n components: {\n BDropdown: BDropdown,\n BDd: BDropdown,\n BDropdownItem: BDropdownItem,\n BDdItem: BDropdownItem,\n BDropdownItemButton: BDropdownItemButton,\n BDropdownItemBtn: BDropdownItemButton,\n BDdItemButton: BDropdownItemButton,\n BDdItemBtn: BDropdownItemButton,\n BDropdownHeader: BDropdownHeader,\n BDdHeader: BDropdownHeader,\n BDropdownDivider: BDropdownDivider,\n BDdDivider: BDropdownDivider,\n BDropdownForm: BDropdownForm,\n BDdForm: BDropdownForm,\n BDropdownText: BDropdownText,\n BDdText: BDropdownText,\n BDropdownGroup: BDropdownGroup,\n BDdGroup: BDropdownGroup\n }\n});\nexport { DropdownPlugin, BDropdown, BDropdownItem, BDropdownItemButton, BDropdownHeader, BDropdownDivider, BDropdownForm, BDropdownText, BDropdownGroup };","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../vue';\nimport { NAME_DROPDOWN_ITEM } from '../../constants/components';\nimport { EVENT_NAME_CLICK } from '../../constants/events';\nimport { PROP_TYPE_ARRAY_OBJECT_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { requestAF } from '../../utils/dom';\nimport { omit, sortKeys } from '../../utils/object';\nimport { makeProp, makePropsConfigurable, pluckProps } from '../../utils/props';\nimport { attrsMixin } from '../../mixins/attrs';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot';\nimport { BLink, props as BLinkProps } from '../link/link'; // --- Props ---\n\nvar linkProps = omit(BLinkProps, ['event', 'routerTag']);\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, linkProps), {}, {\n linkClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n variant: makeProp(PROP_TYPE_STRING)\n})), NAME_DROPDOWN_ITEM); // --- Main component ---\n// @vue/component\n\nexport var BDropdownItem = /*#__PURE__*/Vue.extend({\n name: NAME_DROPDOWN_ITEM,\n mixins: [attrsMixin, normalizeSlotMixin],\n inject: {\n bvDropdown: {\n default: null\n }\n },\n inheritAttrs: false,\n props: props,\n computed: {\n computedAttrs: function computedAttrs() {\n return _objectSpread(_objectSpread({}, this.bvAttrs), {}, {\n role: 'menuitem'\n });\n }\n },\n methods: {\n closeDropdown: function closeDropdown() {\n var _this = this;\n\n // Close on next animation frame to allow time to process\n requestAF(function () {\n if (_this.bvDropdown) {\n _this.bvDropdown.hide(true);\n }\n });\n },\n onClick: function onClick(event) {\n this.$emit(EVENT_NAME_CLICK, event);\n this.closeDropdown();\n }\n },\n render: function render(h) {\n var linkClass = this.linkClass,\n variant = this.variant,\n active = this.active,\n disabled = this.disabled,\n onClick = this.onClick,\n bvAttrs = this.bvAttrs;\n return h('li', {\n class: bvAttrs.class,\n style: bvAttrs.style,\n attrs: {\n role: 'presentation'\n }\n }, [h(BLink, {\n staticClass: 'dropdown-item',\n class: [linkClass, _defineProperty({}, \"text-\".concat(variant), variant && !(active || disabled))],\n props: pluckProps(linkProps, this.$props),\n attrs: this.computedAttrs,\n on: {\n click: onClick\n },\n ref: 'item'\n }, this.normalizeSlot())]);\n }\n});","function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue, mergeData } from '../../vue';\nimport { NAME_EMBED } from '../../constants/components';\nimport { PROP_TYPE_STRING } from '../../constants/props';\nimport { arrayIncludes } from '../../utils/array';\nimport { omit } from '../../utils/object';\nimport { makeProp, makePropsConfigurable } from '../../utils/props'; // --- Constants ---\n\nvar TYPES = ['iframe', 'embed', 'video', 'object', 'img', 'b-img', 'b-img-lazy']; // --- Props ---\n\nexport var props = makePropsConfigurable({\n aspect: makeProp(PROP_TYPE_STRING, '16by9'),\n tag: makeProp(PROP_TYPE_STRING, 'div'),\n type: makeProp(PROP_TYPE_STRING, 'iframe', function (value) {\n return arrayIncludes(TYPES, value);\n })\n}, NAME_EMBED); // --- Main component ---\n// @vue/component\n\nexport var BEmbed = /*#__PURE__*/Vue.extend({\n name: NAME_EMBED,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n var aspect = props.aspect;\n return h(props.tag, {\n staticClass: 'embed-responsive',\n class: _defineProperty({}, \"embed-responsive-\".concat(aspect), aspect),\n ref: data.ref\n }, [h(props.type, mergeData(omit(data, ['ref']), {\n staticClass: 'embed-responsive-item'\n }), children)]);\n }\n});","var _watch;\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../vue';\nimport { NAME_CAROUSEL } from '../../constants/components';\nimport { IS_BROWSER, HAS_POINTER_EVENT_SUPPORT, HAS_TOUCH_SUPPORT } from '../../constants/env';\nimport { EVENT_NAME_PAUSED, EVENT_NAME_SLIDING_END, EVENT_NAME_SLIDING_START, EVENT_NAME_UNPAUSED, EVENT_OPTIONS_NO_CAPTURE } from '../../constants/events';\nimport { CODE_ENTER, CODE_LEFT, CODE_RIGHT, CODE_SPACE } from '../../constants/key-codes';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_NUMBER, PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { addClass, getActiveElement, reflow, removeClass, requestAF, selectAll, setAttr } from '../../utils/dom';\nimport { eventOn, eventOff, stopEvent } from '../../utils/events';\nimport { isUndefined } from '../../utils/inspect';\nimport { mathAbs, mathFloor, mathMax, mathMin } from '../../utils/math';\nimport { makeModelMixin } from '../../utils/model';\nimport { toInteger } from '../../utils/number';\nimport { noop } from '../../utils/noop';\nimport { sortKeys } from '../../utils/object';\nimport { observeDom } from '../../utils/observe-dom';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { idMixin, props as idProps } from '../../mixins/id';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot'; // --- Constants ---\n\nvar _makeModelMixin = makeModelMixin('value', {\n type: PROP_TYPE_NUMBER,\n defaultValue: 0\n}),\n modelMixin = _makeModelMixin.mixin,\n modelProps = _makeModelMixin.props,\n MODEL_PROP_NAME = _makeModelMixin.prop,\n MODEL_EVENT_NAME = _makeModelMixin.event; // Slide directional classes\n\n\nvar DIRECTION = {\n next: {\n dirClass: 'carousel-item-left',\n overlayClass: 'carousel-item-next'\n },\n prev: {\n dirClass: 'carousel-item-right',\n overlayClass: 'carousel-item-prev'\n }\n}; // Fallback Transition duration (with a little buffer) in ms\n\nvar TRANS_DURATION = 600 + 50; // Time for mouse compat events to fire after touch\n\nvar TOUCH_EVENT_COMPAT_WAIT = 500; // Number of pixels to consider touch move a swipe\n\nvar SWIPE_THRESHOLD = 40; // PointerEvent pointer types\n\nvar PointerType = {\n TOUCH: 'touch',\n PEN: 'pen'\n}; // Transition Event names\n\nvar TransitionEndEvents = {\n WebkitTransition: 'webkitTransitionEnd',\n MozTransition: 'transitionend',\n OTransition: 'otransitionend oTransitionEnd',\n transition: 'transitionend'\n}; // --- Helper methods ---\n// Return the browser specific transitionEnd event name\n\nvar getTransitionEndEvent = function getTransitionEndEvent(el) {\n for (var name in TransitionEndEvents) {\n if (!isUndefined(el.style[name])) {\n return TransitionEndEvents[name];\n }\n } // Fallback\n\n /* istanbul ignore next */\n\n\n return null;\n}; // --- Props ---\n\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread(_objectSpread({}, idProps), modelProps), {}, {\n background: makeProp(PROP_TYPE_STRING),\n controls: makeProp(PROP_TYPE_BOOLEAN, false),\n // Enable cross-fade animation instead of slide animation\n fade: makeProp(PROP_TYPE_BOOLEAN, false),\n // Sniffed by carousel-slide\n imgHeight: makeProp(PROP_TYPE_NUMBER_STRING),\n // Sniffed by carousel-slide\n imgWidth: makeProp(PROP_TYPE_NUMBER_STRING),\n indicators: makeProp(PROP_TYPE_BOOLEAN, false),\n interval: makeProp(PROP_TYPE_NUMBER, 5000),\n labelGotoSlide: makeProp(PROP_TYPE_STRING, 'Goto slide'),\n labelIndicators: makeProp(PROP_TYPE_STRING, 'Select a slide to display'),\n labelNext: makeProp(PROP_TYPE_STRING, 'Next slide'),\n labelPrev: makeProp(PROP_TYPE_STRING, 'Previous slide'),\n // Disable slide/fade animation\n noAnimation: makeProp(PROP_TYPE_BOOLEAN, false),\n // Disable pause on hover\n noHoverPause: makeProp(PROP_TYPE_BOOLEAN, false),\n // Sniffed by carousel-slide\n noTouch: makeProp(PROP_TYPE_BOOLEAN, false),\n // Disable wrapping/looping when start/end is reached\n noWrap: makeProp(PROP_TYPE_BOOLEAN, false)\n})), NAME_CAROUSEL); // --- Main component ---\n// @vue/component\n\nexport var BCarousel = /*#__PURE__*/Vue.extend({\n name: NAME_CAROUSEL,\n mixins: [idMixin, modelMixin, normalizeSlotMixin],\n provide: function provide() {\n return {\n bvCarousel: this\n };\n },\n props: props,\n data: function data() {\n return {\n index: this[MODEL_PROP_NAME] || 0,\n isSliding: false,\n transitionEndEvent: null,\n slides: [],\n direction: null,\n isPaused: !(toInteger(this.interval, 0) > 0),\n // Touch event handling values\n touchStartX: 0,\n touchDeltaX: 0\n };\n },\n computed: {\n numSlides: function numSlides() {\n return this.slides.length;\n }\n },\n watch: (_watch = {}, _defineProperty(_watch, MODEL_PROP_NAME, function (newValue, oldValue) {\n if (newValue !== oldValue) {\n this.setSlide(toInteger(newValue, 0));\n }\n }), _defineProperty(_watch, \"interval\", function interval(newValue, oldValue) {\n /* istanbul ignore next */\n if (newValue === oldValue) {\n return;\n }\n\n if (!newValue) {\n // Pausing slide show\n this.pause(false);\n } else {\n // Restarting or Changing interval\n this.pause(true);\n this.start(false);\n }\n }), _defineProperty(_watch, \"isPaused\", function isPaused(newValue, oldValue) {\n if (newValue !== oldValue) {\n this.$emit(newValue ? EVENT_NAME_PAUSED : EVENT_NAME_UNPAUSED);\n }\n }), _defineProperty(_watch, \"index\", function index(to, from) {\n /* istanbul ignore next */\n if (to === from || this.isSliding) {\n return;\n }\n\n this.doSlide(to, from);\n }), _watch),\n created: function created() {\n // Create private non-reactive props\n this.$_interval = null;\n this.$_animationTimeout = null;\n this.$_touchTimeout = null;\n this.$_observer = null; // Set initial paused state\n\n this.isPaused = !(toInteger(this.interval, 0) > 0);\n },\n mounted: function mounted() {\n // Cache current browser transitionend event name\n this.transitionEndEvent = getTransitionEndEvent(this.$el) || null; // Get all slides\n\n this.updateSlides(); // Observe child changes so we can update slide list\n\n this.setObserver(true);\n },\n beforeDestroy: function beforeDestroy() {\n this.clearInterval();\n this.clearAnimationTimeout();\n this.clearTouchTimeout();\n this.setObserver(false);\n },\n methods: {\n clearInterval: function (_clearInterval) {\n function clearInterval() {\n return _clearInterval.apply(this, arguments);\n }\n\n clearInterval.toString = function () {\n return _clearInterval.toString();\n };\n\n return clearInterval;\n }(function () {\n clearInterval(this.$_interval);\n this.$_interval = null;\n }),\n clearAnimationTimeout: function clearAnimationTimeout() {\n clearTimeout(this.$_animationTimeout);\n this.$_animationTimeout = null;\n },\n clearTouchTimeout: function clearTouchTimeout() {\n clearTimeout(this.$_touchTimeout);\n this.$_touchTimeout = null;\n },\n setObserver: function setObserver() {\n var on = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n this.$_observer && this.$_observer.disconnect();\n this.$_observer = null;\n\n if (on) {\n this.$_observer = observeDom(this.$refs.inner, this.updateSlides.bind(this), {\n subtree: false,\n childList: true,\n attributes: true,\n attributeFilter: ['id']\n });\n }\n },\n // Set slide\n setSlide: function setSlide(slide) {\n var _this = this;\n\n var direction = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n // Don't animate when page is not visible\n\n /* istanbul ignore if: difficult to test */\n if (IS_BROWSER && document.visibilityState && document.hidden) {\n return;\n }\n\n var noWrap = this.noWrap;\n var numSlides = this.numSlides; // Make sure we have an integer (you never know!)\n\n slide = mathFloor(slide); // Don't do anything if nothing to slide to\n\n if (numSlides === 0) {\n return;\n } // Don't change slide while transitioning, wait until transition is done\n\n\n if (this.isSliding) {\n // Schedule slide after sliding complete\n this.$once(EVENT_NAME_SLIDING_END, function () {\n // Wrap in `requestAF()` to allow the slide to properly finish to avoid glitching\n requestAF(function () {\n return _this.setSlide(slide, direction);\n });\n });\n return;\n }\n\n this.direction = direction; // Set new slide index\n // Wrap around if necessary (if no-wrap not enabled)\n\n this.index = slide >= numSlides ? noWrap ? numSlides - 1 : 0 : slide < 0 ? noWrap ? 0 : numSlides - 1 : slide; // Ensure the v-model is synched up if no-wrap is enabled\n // and user tried to slide pass either ends\n\n if (noWrap && this.index !== slide && this.index !== this[MODEL_PROP_NAME]) {\n this.$emit(MODEL_EVENT_NAME, this.index);\n }\n },\n // Previous slide\n prev: function prev() {\n this.setSlide(this.index - 1, 'prev');\n },\n // Next slide\n next: function next() {\n this.setSlide(this.index + 1, 'next');\n },\n // Pause auto rotation\n pause: function pause(event) {\n if (!event) {\n this.isPaused = true;\n }\n\n this.clearInterval();\n },\n // Start auto rotate slides\n start: function start(event) {\n if (!event) {\n this.isPaused = false;\n }\n /* istanbul ignore next: most likely will never happen, but just in case */\n\n\n this.clearInterval(); // Don't start if no interval, or less than 2 slides\n\n if (this.interval && this.numSlides > 1) {\n this.$_interval = setInterval(this.next, mathMax(1000, this.interval));\n }\n },\n // Restart auto rotate slides when focus/hover leaves the carousel\n\n /* istanbul ignore next */\n restart: function restart() {\n if (!this.$el.contains(getActiveElement())) {\n this.start();\n }\n },\n doSlide: function doSlide(to, from) {\n var _this2 = this;\n\n var isCycling = Boolean(this.interval); // Determine sliding direction\n\n var direction = this.calcDirection(this.direction, from, to);\n var overlayClass = direction.overlayClass;\n var dirClass = direction.dirClass; // Determine current and next slides\n\n var currentSlide = this.slides[from];\n var nextSlide = this.slides[to]; // Don't do anything if there aren't any slides to slide to\n\n if (!currentSlide || !nextSlide) {\n /* istanbul ignore next */\n return;\n } // Start animating\n\n\n this.isSliding = true;\n\n if (isCycling) {\n this.pause(false);\n }\n\n this.$emit(EVENT_NAME_SLIDING_START, to); // Update v-model\n\n this.$emit(MODEL_EVENT_NAME, this.index);\n\n if (this.noAnimation) {\n addClass(nextSlide, 'active');\n removeClass(currentSlide, 'active');\n this.isSliding = false; // Notify ourselves that we're done sliding (slid)\n\n this.$nextTick(function () {\n return _this2.$emit(EVENT_NAME_SLIDING_END, to);\n });\n } else {\n addClass(nextSlide, overlayClass); // Trigger a reflow of next slide\n\n reflow(nextSlide);\n addClass(currentSlide, dirClass);\n addClass(nextSlide, dirClass); // Transition End handler\n\n var called = false;\n /* istanbul ignore next: difficult to test */\n\n var onceTransEnd = function onceTransEnd() {\n if (called) {\n return;\n }\n\n called = true;\n /* istanbul ignore if: transition events cant be tested in JSDOM */\n\n if (_this2.transitionEndEvent) {\n var events = _this2.transitionEndEvent.split(/\\s+/);\n\n events.forEach(function (event) {\n return eventOff(nextSlide, event, onceTransEnd, EVENT_OPTIONS_NO_CAPTURE);\n });\n }\n\n _this2.clearAnimationTimeout();\n\n removeClass(nextSlide, dirClass);\n removeClass(nextSlide, overlayClass);\n addClass(nextSlide, 'active');\n removeClass(currentSlide, 'active');\n removeClass(currentSlide, dirClass);\n removeClass(currentSlide, overlayClass);\n setAttr(currentSlide, 'aria-current', 'false');\n setAttr(nextSlide, 'aria-current', 'true');\n setAttr(currentSlide, 'aria-hidden', 'true');\n setAttr(nextSlide, 'aria-hidden', 'false');\n _this2.isSliding = false;\n _this2.direction = null; // Notify ourselves that we're done sliding (slid)\n\n _this2.$nextTick(function () {\n return _this2.$emit(EVENT_NAME_SLIDING_END, to);\n });\n }; // Set up transitionend handler\n\n /* istanbul ignore if: transition events cant be tested in JSDOM */\n\n\n if (this.transitionEndEvent) {\n var events = this.transitionEndEvent.split(/\\s+/);\n events.forEach(function (event) {\n return eventOn(nextSlide, event, onceTransEnd, EVENT_OPTIONS_NO_CAPTURE);\n });\n } // Fallback to setTimeout()\n\n\n this.$_animationTimeout = setTimeout(onceTransEnd, TRANS_DURATION);\n }\n\n if (isCycling) {\n this.start(false);\n }\n },\n // Update slide list\n updateSlides: function updateSlides() {\n this.pause(true); // Get all slides as DOM elements\n\n this.slides = selectAll('.carousel-item', this.$refs.inner);\n var numSlides = this.slides.length; // Keep slide number in range\n\n var index = mathMax(0, mathMin(mathFloor(this.index), numSlides - 1));\n this.slides.forEach(function (slide, idx) {\n var n = idx + 1;\n\n if (idx === index) {\n addClass(slide, 'active');\n setAttr(slide, 'aria-current', 'true');\n } else {\n removeClass(slide, 'active');\n setAttr(slide, 'aria-current', 'false');\n }\n\n setAttr(slide, 'aria-posinset', String(n));\n setAttr(slide, 'aria-setsize', String(numSlides));\n }); // Set slide as active\n\n this.setSlide(index);\n this.start(this.isPaused);\n },\n calcDirection: function calcDirection() {\n var direction = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n var curIndex = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n var nextIndex = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;\n\n if (!direction) {\n return nextIndex > curIndex ? DIRECTION.next : DIRECTION.prev;\n }\n\n return DIRECTION[direction];\n },\n handleClick: function handleClick(event, fn) {\n var keyCode = event.keyCode;\n\n if (event.type === 'click' || keyCode === CODE_SPACE || keyCode === CODE_ENTER) {\n stopEvent(event);\n fn();\n }\n },\n\n /* istanbul ignore next: JSDOM doesn't support touch events */\n handleSwipe: function handleSwipe() {\n var absDeltaX = mathAbs(this.touchDeltaX);\n\n if (absDeltaX <= SWIPE_THRESHOLD) {\n return;\n }\n\n var direction = absDeltaX / this.touchDeltaX; // Reset touch delta X\n // https://github.com/twbs/bootstrap/pull/28558\n\n this.touchDeltaX = 0;\n\n if (direction > 0) {\n // Swipe left\n this.prev();\n } else if (direction < 0) {\n // Swipe right\n this.next();\n }\n },\n\n /* istanbul ignore next: JSDOM doesn't support touch events */\n touchStart: function touchStart(event) {\n if (HAS_POINTER_EVENT_SUPPORT && PointerType[event.pointerType.toUpperCase()]) {\n this.touchStartX = event.clientX;\n } else if (!HAS_POINTER_EVENT_SUPPORT) {\n this.touchStartX = event.touches[0].clientX;\n }\n },\n\n /* istanbul ignore next: JSDOM doesn't support touch events */\n touchMove: function touchMove(event) {\n // Ensure swiping with one touch and not pinching\n if (event.touches && event.touches.length > 1) {\n this.touchDeltaX = 0;\n } else {\n this.touchDeltaX = event.touches[0].clientX - this.touchStartX;\n }\n },\n\n /* istanbul ignore next: JSDOM doesn't support touch events */\n touchEnd: function touchEnd(event) {\n if (HAS_POINTER_EVENT_SUPPORT && PointerType[event.pointerType.toUpperCase()]) {\n this.touchDeltaX = event.clientX - this.touchStartX;\n }\n\n this.handleSwipe(); // 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(false);\n this.clearTouchTimeout();\n this.$_touchTimeout = setTimeout(this.start, TOUCH_EVENT_COMPAT_WAIT + mathMax(1000, this.interval));\n }\n },\n render: function render(h) {\n var _this3 = this;\n\n var indicators = this.indicators,\n background = this.background,\n noAnimation = this.noAnimation,\n noHoverPause = this.noHoverPause,\n noTouch = this.noTouch,\n index = this.index,\n isSliding = this.isSliding,\n pause = this.pause,\n restart = this.restart,\n touchStart = this.touchStart,\n touchEnd = this.touchEnd;\n var idInner = this.safeId('__BV_inner_'); // Wrapper for slides\n\n var $inner = h('div', {\n staticClass: 'carousel-inner',\n attrs: {\n id: idInner,\n role: 'list'\n },\n ref: 'inner'\n }, [this.normalizeSlot()]); // Prev and next controls\n\n var $controls = h();\n\n if (this.controls) {\n var makeControl = function makeControl(direction, label, handler) {\n var handlerWrapper = function handlerWrapper(event) {\n /* istanbul ignore next */\n if (!isSliding) {\n _this3.handleClick(event, handler);\n } else {\n stopEvent(event, {\n propagation: false\n });\n }\n };\n\n return h('a', {\n staticClass: \"carousel-control-\".concat(direction),\n attrs: {\n href: '#',\n role: 'button',\n 'aria-controls': idInner,\n 'aria-disabled': isSliding ? 'true' : null\n },\n on: {\n click: handlerWrapper,\n keydown: handlerWrapper\n }\n }, [h('span', {\n staticClass: \"carousel-control-\".concat(direction, \"-icon\"),\n attrs: {\n 'aria-hidden': 'true'\n }\n }), h('span', {\n class: 'sr-only'\n }, [label])]);\n };\n\n $controls = [makeControl('prev', this.labelPrev, this.prev), makeControl('next', this.labelNext, this.next)];\n } // Indicators\n\n\n var $indicators = h('ol', {\n staticClass: 'carousel-indicators',\n directives: [{\n name: 'show',\n value: indicators\n }],\n attrs: {\n id: this.safeId('__BV_indicators_'),\n 'aria-hidden': indicators ? 'false' : 'true',\n 'aria-label': this.labelIndicators,\n 'aria-owns': idInner\n }\n }, this.slides.map(function (slide, i) {\n var handler = function handler(event) {\n _this3.handleClick(event, function () {\n _this3.setSlide(i);\n });\n };\n\n return h('li', {\n class: {\n active: i === index\n },\n attrs: {\n role: 'button',\n id: _this3.safeId(\"__BV_indicator_\".concat(i + 1, \"_\")),\n tabindex: indicators ? '0' : '-1',\n 'aria-current': i === index ? 'true' : 'false',\n 'aria-label': \"\".concat(_this3.labelGotoSlide, \" \").concat(i + 1),\n 'aria-describedby': slide.id || null,\n 'aria-controls': idInner\n },\n on: {\n click: handler,\n keydown: handler\n },\n key: \"slide_\".concat(i)\n });\n }));\n var on = {\n mouseenter: noHoverPause ? noop : pause,\n mouseleave: noHoverPause ? noop : restart,\n focusin: pause,\n focusout: restart,\n keydown: function keydown(event) {\n /* istanbul ignore next */\n if (/input|textarea/i.test(event.target.tagName)) {\n return;\n }\n\n var keyCode = event.keyCode;\n\n if (keyCode === CODE_LEFT || keyCode === CODE_RIGHT) {\n stopEvent(event);\n\n _this3[keyCode === CODE_LEFT ? 'prev' : 'next']();\n }\n }\n }; // Touch support event handlers for environment\n\n if (HAS_TOUCH_SUPPORT && !noTouch) {\n // Attach appropriate listeners (prepend event name with '&' for passive mode)\n\n /* istanbul ignore next: JSDOM doesn't support touch events */\n if (HAS_POINTER_EVENT_SUPPORT) {\n on['&pointerdown'] = touchStart;\n on['&pointerup'] = touchEnd;\n } else {\n on['&touchstart'] = touchStart;\n on['&touchmove'] = this.touchMove;\n on['&touchend'] = touchEnd;\n }\n } // Return the carousel\n\n\n return h('div', {\n staticClass: 'carousel',\n class: {\n slide: !noAnimation,\n 'carousel-fade': !noAnimation && this.fade,\n 'pointer-event': HAS_TOUCH_SUPPORT && HAS_POINTER_EVENT_SUPPORT && !noTouch\n },\n style: {\n background: background\n },\n attrs: {\n role: 'region',\n id: this.safeId(),\n 'aria-busy': isSliding ? 'true' : 'false'\n },\n on: on\n }, [$inner, $controls, $indicators]);\n }\n});","import { BCarousel } from './carousel';\nimport { BCarouselSlide } from './carousel-slide';\nimport { pluginFactory } from '../../utils/plugins';\nvar CarouselPlugin =\n/*#__PURE*/\npluginFactory({\n components: {\n BCarousel: BCarousel,\n BCarouselSlide: BCarouselSlide\n }\n});\nexport { CarouselPlugin, BCarousel, BCarouselSlide };","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../vue';\nimport { NAME_DROPDOWN } from '../../constants/components';\nimport { PROP_TYPE_ARRAY_OBJECT_STRING, PROP_TYPE_BOOLEAN, PROP_TYPE_OBJECT, PROP_TYPE_OBJECT_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { SLOT_NAME_BUTTON_CONTENT, SLOT_NAME_DEFAULT } from '../../constants/slots';\nimport { arrayIncludes } from '../../utils/array';\nimport { htmlOrText } from '../../utils/html';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { toString } from '../../utils/string';\nimport { dropdownMixin, props as dropdownProps } from '../../mixins/dropdown';\nimport { idMixin, props as idProps } from '../../mixins/id';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot';\nimport { BButton } from '../button/button';\nimport { sortKeys } from '../../utils/object'; // --- Props ---\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread(_objectSpread({}, idProps), dropdownProps), {}, {\n block: makeProp(PROP_TYPE_BOOLEAN, false),\n html: makeProp(PROP_TYPE_STRING),\n // If `true`, only render menu contents when open\n lazy: makeProp(PROP_TYPE_BOOLEAN, false),\n menuClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n noCaret: makeProp(PROP_TYPE_BOOLEAN, false),\n role: makeProp(PROP_TYPE_STRING, 'menu'),\n size: makeProp(PROP_TYPE_STRING),\n split: makeProp(PROP_TYPE_BOOLEAN, false),\n splitButtonType: makeProp(PROP_TYPE_STRING, 'button', function (value) {\n return arrayIncludes(['button', 'submit', 'reset'], value);\n }),\n splitClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n splitHref: makeProp(PROP_TYPE_STRING),\n splitTo: makeProp(PROP_TYPE_OBJECT_STRING),\n splitVariant: makeProp(PROP_TYPE_STRING),\n text: makeProp(PROP_TYPE_STRING),\n toggleAttrs: makeProp(PROP_TYPE_OBJECT, {}),\n toggleClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n toggleTag: makeProp(PROP_TYPE_STRING, 'button'),\n // TODO: This really should be `toggleLabel`\n toggleText: makeProp(PROP_TYPE_STRING, 'Toggle dropdown'),\n variant: makeProp(PROP_TYPE_STRING, 'secondary')\n})), NAME_DROPDOWN); // --- Main component ---\n// @vue/component\n\nexport var BDropdown = /*#__PURE__*/Vue.extend({\n name: NAME_DROPDOWN,\n mixins: [idMixin, dropdownMixin, normalizeSlotMixin],\n props: props,\n computed: {\n dropdownClasses: function dropdownClasses() {\n var block = this.block,\n split = this.split;\n return [this.directionClass, this.boundaryClass, {\n show: this.visible,\n // The 'btn-group' class is required in `split` mode for button alignment\n // It needs also to be applied when `block` is disabled to allow multiple\n // dropdowns to be aligned one line\n 'btn-group': split || !block,\n // When `block` is enabled and we are in `split` mode the 'd-flex' class\n // needs to be applied to allow the buttons to stretch to full width\n 'd-flex': block && split\n }];\n },\n menuClasses: function menuClasses() {\n return [this.menuClass, {\n 'dropdown-menu-right': this.right,\n show: this.visible\n }];\n },\n toggleClasses: function toggleClasses() {\n var split = this.split;\n return [this.toggleClass, {\n 'dropdown-toggle-split': split,\n 'dropdown-toggle-no-caret': this.noCaret && !split\n }];\n }\n },\n render: function render(h) {\n var visible = this.visible,\n variant = this.variant,\n size = this.size,\n block = this.block,\n disabled = this.disabled,\n split = this.split,\n role = this.role,\n hide = this.hide,\n toggle = this.toggle;\n var commonProps = {\n variant: variant,\n size: size,\n block: block,\n disabled: disabled\n };\n var $buttonChildren = this.normalizeSlot(SLOT_NAME_BUTTON_CONTENT);\n var buttonContentDomProps = this.hasNormalizedSlot(SLOT_NAME_BUTTON_CONTENT) ? {} : htmlOrText(this.html, this.text);\n var $split = h();\n\n if (split) {\n var splitTo = this.splitTo,\n splitHref = this.splitHref,\n splitButtonType = this.splitButtonType;\n\n var btnProps = _objectSpread(_objectSpread({}, commonProps), {}, {\n variant: this.splitVariant || variant\n }); // We add these as needed due to issues with\n // defined property with `undefined`/`null` values\n\n\n if (splitTo) {\n btnProps.to = splitTo;\n } else if (splitHref) {\n btnProps.href = splitHref;\n } else if (splitButtonType) {\n btnProps.type = splitButtonType;\n }\n\n $split = h(BButton, {\n class: this.splitClass,\n attrs: {\n id: this.safeId('_BV_button_')\n },\n props: btnProps,\n domProps: buttonContentDomProps,\n on: {\n click: this.onSplitClick\n },\n ref: 'button'\n }, $buttonChildren); // Overwrite button content for the toggle when in `split` mode\n\n $buttonChildren = [h('span', {\n class: ['sr-only']\n }, [this.toggleText])];\n buttonContentDomProps = {};\n }\n\n var ariaHasPopupRoles = ['menu', 'listbox', 'tree', 'grid', 'dialog'];\n var $toggle = h(BButton, {\n staticClass: 'dropdown-toggle',\n class: this.toggleClasses,\n attrs: _objectSpread(_objectSpread({}, this.toggleAttrs), {}, {\n // Must have attributes\n id: this.safeId('_BV_toggle_'),\n 'aria-haspopup': ariaHasPopupRoles.includes(role) ? role : 'false',\n 'aria-expanded': toString(visible)\n }),\n props: _objectSpread(_objectSpread({}, commonProps), {}, {\n tag: this.toggleTag,\n block: block && !split\n }),\n domProps: buttonContentDomProps,\n on: {\n mousedown: this.onMousedown,\n click: toggle,\n keydown: toggle // Handle ENTER, SPACE and DOWN\n\n },\n ref: 'toggle'\n }, $buttonChildren);\n var $menu = h('ul', {\n staticClass: 'dropdown-menu',\n class: this.menuClasses,\n attrs: {\n role: role,\n tabindex: '-1',\n 'aria-labelledby': this.safeId(split ? '_BV_button_' : '_BV_toggle_')\n },\n on: {\n keydown: this.onKeydown // Handle UP, DOWN and ESC\n\n },\n ref: 'menu'\n }, [!this.lazy || visible ? this.normalizeSlot(SLOT_NAME_DEFAULT, {\n hide: hide\n }) : h()]);\n return h('div', {\n staticClass: 'dropdown b-dropdown',\n class: this.dropdownClasses,\n attrs: {\n id: this.safeId()\n }\n }, [$split, $toggle, $menu]);\n }\n});","function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue, mergeData } from '../../vue';\nimport { NAME_DROPDOWN_TEXT } from '../../constants/components';\nimport { PROP_TYPE_ARRAY_OBJECT_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { omit } from '../../utils/object';\nimport { makeProp, makePropsConfigurable } from '../../utils/props'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n tag: makeProp(PROP_TYPE_STRING, 'p'),\n textClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n variant: makeProp(PROP_TYPE_STRING)\n}, NAME_DROPDOWN_TEXT); // --- Main component ---\n// @vue/component\n\nexport var BDropdownText = /*#__PURE__*/Vue.extend({\n name: NAME_DROPDOWN_TEXT,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n var tag = props.tag,\n textClass = props.textClass,\n variant = props.variant;\n return h('li', mergeData(omit(data, ['attrs']), {\n attrs: {\n role: 'presentation'\n }\n }), [h(tag, {\n staticClass: 'b-dropdown-text',\n class: [textClass, _defineProperty({}, \"text-\".concat(variant), variant)],\n props: props,\n attrs: data.attrs || {},\n ref: 'text'\n }, children)]);\n }\n});","import { BEmbed } from './embed';\nimport { pluginFactory } from '../../utils/plugins';\nvar EmbedPlugin = /*#__PURE__*/pluginFactory({\n components: {\n BEmbed: BEmbed\n }\n});\nexport { EmbedPlugin, BEmbed };","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue, mergeData } from '../../vue';\nimport { NAME_DROPDOWN_DIVIDER } from '../../constants/components';\nimport { PROP_TYPE_STRING } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { omit } from '../../utils/object'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n tag: makeProp(PROP_TYPE_STRING, 'hr')\n}, NAME_DROPDOWN_DIVIDER); // --- Main component ---\n// @vue/component\n\nexport var BDropdownDivider = /*#__PURE__*/Vue.extend({\n name: NAME_DROPDOWN_DIVIDER,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data;\n return h('li', mergeData(omit(data, ['attrs']), {\n attrs: {\n role: 'presentation'\n }\n }), [h(props.tag, {\n staticClass: 'dropdown-divider',\n attrs: _objectSpread(_objectSpread({}, data.attrs || {}), {}, {\n role: 'separator',\n 'aria-orientation': 'horizontal'\n }),\n ref: 'divider'\n })]);\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../vue';\nimport { NAME_CAROUSEL_SLIDE } from '../../constants/components';\nimport { HAS_TOUCH_SUPPORT } from '../../constants/env';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { SLOT_NAME_IMG } from '../../constants/slots';\nimport { stopEvent } from '../../utils/events';\nimport { htmlOrText } from '../../utils/html';\nimport { identity } from '../../utils/identity';\nimport { sortKeys } from '../../utils/object';\nimport { makeProp, makePropsConfigurable, pluckProps, unprefixPropName } from '../../utils/props';\nimport { idMixin, props as idProps } from '../../mixins/id';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot';\nimport { BImg } from '../image/img'; // --- Props ---\n\nvar imgProps = {\n imgAlt: makeProp(PROP_TYPE_STRING),\n imgBlank: makeProp(PROP_TYPE_BOOLEAN, false),\n imgBlankColor: makeProp(PROP_TYPE_STRING, 'transparent'),\n imgHeight: makeProp(PROP_TYPE_NUMBER_STRING),\n imgSrc: makeProp(PROP_TYPE_STRING),\n imgWidth: makeProp(PROP_TYPE_NUMBER_STRING)\n};\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread(_objectSpread({}, idProps), imgProps), {}, {\n background: makeProp(PROP_TYPE_STRING),\n caption: makeProp(PROP_TYPE_STRING),\n captionHtml: makeProp(PROP_TYPE_STRING),\n captionTag: makeProp(PROP_TYPE_STRING, 'h3'),\n contentTag: makeProp(PROP_TYPE_STRING, 'div'),\n contentVisibleUp: makeProp(PROP_TYPE_STRING),\n text: makeProp(PROP_TYPE_STRING),\n textHtml: makeProp(PROP_TYPE_STRING),\n textTag: makeProp(PROP_TYPE_STRING, 'p')\n})), NAME_CAROUSEL_SLIDE); // --- Main component ---\n// @vue/component\n\nexport var BCarouselSlide = /*#__PURE__*/Vue.extend({\n name: NAME_CAROUSEL_SLIDE,\n mixins: [idMixin, normalizeSlotMixin],\n inject: {\n bvCarousel: {\n // Explicitly disable touch if not a child of carousel\n default: function _default() {\n return {\n noTouch: true\n };\n }\n }\n },\n props: props,\n computed: {\n contentClasses: function contentClasses() {\n return [this.contentVisibleUp ? 'd-none' : '', this.contentVisibleUp ? \"d-\".concat(this.contentVisibleUp, \"-block\") : ''];\n },\n computedWidth: function computedWidth() {\n // Use local width, or try parent width\n return this.imgWidth || this.bvCarousel.imgWidth || null;\n },\n computedHeight: function computedHeight() {\n // Use local height, or try parent height\n return this.imgHeight || this.bvCarousel.imgHeight || null;\n }\n },\n render: function render(h) {\n var $img = this.normalizeSlot(SLOT_NAME_IMG);\n\n if (!$img && (this.imgSrc || this.imgBlank)) {\n var on = {}; // Touch support event handler\n\n /* istanbul ignore if: difficult to test in JSDOM */\n\n if (!this.bvCarousel.noTouch && HAS_TOUCH_SUPPORT) {\n on.dragstart = function (event) {\n return stopEvent(event, {\n propagation: false\n });\n };\n }\n\n $img = h(BImg, {\n props: _objectSpread(_objectSpread({}, pluckProps(imgProps, this.$props, unprefixPropName.bind(null, 'img'))), {}, {\n width: this.computedWidth,\n height: this.computedHeight,\n fluidGrow: true,\n block: true\n }),\n on: on\n });\n }\n\n var $contentChildren = [// Caption\n this.caption || this.captionHtml ? h(this.captionTag, {\n domProps: htmlOrText(this.captionHtml, this.caption)\n }) : false, // Text\n this.text || this.textHtml ? h(this.textTag, {\n domProps: htmlOrText(this.textHtml, this.text)\n }) : false, // Children\n this.normalizeSlot() || false];\n var $content = h();\n\n if ($contentChildren.some(identity)) {\n $content = h(this.contentTag, {\n staticClass: 'carousel-caption',\n class: this.contentClasses\n }, $contentChildren.map(function ($child) {\n return $child || h();\n }));\n }\n\n return h('div', {\n staticClass: 'carousel-item',\n style: {\n background: this.background || this.bvCarousel.background || null\n },\n attrs: {\n id: this.safeId(),\n role: 'listitem'\n }\n }, [$img, $content]);\n }\n});"],"sourceRoot":""}