{"version":3,"sources":["webpack:///./node_modules/bootstrap-vue/es/utils/key-codes.js","webpack:///./node_modules/bootstrap-vue/es/utils/plugins.js","webpack:///./node_modules/bootstrap-vue/es/utils/lower-first.js","webpack:///./node_modules/bootstrap-vue/es/utils/unprefix-prop-name.js","webpack:///./node_modules/bootstrap-vue/es/utils/dom.js","webpack:///./node_modules/bootstrap-vue/es/utils/tooltip.class.js","webpack:///./node_modules/bootstrap-vue/es/utils/suffix-prop-name.js","webpack:///./node_modules/bootstrap-vue/es/utils/object.js","webpack:///./node_modules/bootstrap-vue/es/utils/stable-sort.js","webpack:///./node_modules/bootstrap-vue/es/mixins/form-custom.js","webpack:///./node_modules/bootstrap-vue/es/mixins/form-state.js","webpack:///./node_modules/bootstrap-vue/es/mixins/card-mixin.js","webpack:///./node_modules/bootstrap-vue/es/mixins/form-options.js","webpack:///./node_modules/bootstrap-vue/es/mixins/form-radio-check.js","webpack:///./node_modules/bootstrap-vue/es/utils/upper-first.js","webpack:///./node_modules/bootstrap-vue/es/mixins/form.js","webpack:///./node_modules/bootstrap-vue/es/utils/memoize.js","webpack:///./node_modules/bootstrap-vue/es/mixins/form-size.js","webpack:///./node_modules/bootstrap-vue/es/utils/range.js","webpack:///./node_modules/bootstrap-vue/es/mixins/pagination.js","webpack:///./node_modules/bootstrap-vue/es/utils/warn.js","webpack:///./node_modules/bootstrap-vue/es/utils/loose-equal.js","webpack:///./node_modules/bootstrap-vue/es/utils/pluck-props.js","webpack:///./node_modules/bootstrap-vue/es/utils/copyProps.js","webpack:///./node_modules/bootstrap-vue/es/utils/array.js","webpack:///./node_modules/bootstrap-vue/es/utils/observe-dom.js","webpack:///./node_modules/bootstrap-vue/es/mixins/clickout.js","webpack:///./node_modules/bootstrap-vue/es/mixins/dropdown.js","webpack:///./node_modules/bootstrap-vue/es/utils/ssr.js","webpack:///./node_modules/bootstrap-vue/es/mixins/toolpop.js","webpack:///./node_modules/bootstrap-vue/es/utils/popover.class.js","webpack:///./node_modules/bootstrap-vue/es/utils/prefix-prop-name.js","webpack:///./node_modules/bootstrap-vue/es/mixins/id.js","webpack:///./node_modules/bootstrap-vue/es/mixins/listen-on-root.js","webpack:///./node_modules/bootstrap-vue/es/utils/target.js","webpack:///./node_modules/bootstrap-vue/es/utils/bv-event.class.js","webpack:///./node_modules/bootstrap-vue/es/utils/identity.js"],"names":["SPACE","ENTER","ESC","LEFT","UP","RIGHT","DOWN","PAGEUP","PAGEDOWN","HOME","END","registerComponent","Vue","name","def","_bootstrap_vue_components_","loaded","component","registerComponents","components","registerDirective","_bootstrap_vue_directives_","directive","registerDirectives","directives","vueUse","VuePlugin","window","use","lowerFirst","str","String","charAt","toLowerCase","slice","unPrefixPropName","prefix","value","replace","isElement","el","nodeType","Node","ELEMENT_NODE","isVisible","document","body","contains","getBoundingClientRect","height","width","isDisabled","disabled","classList","Boolean","getAttribute","reflow","offsetHeight","selectAll","selector","root","querySelectorAll","select","querySelector","matches","proto","Element","prototype","Matches","matchesSelector","mozMatchesSelector","msMatchesSelector","oMatchesSelector","webkitMatchesSelector","sel","element","this","m","ownerDocument","i","length","item","call","closest","Closest","documentElement","parentElement","getById","id","getElementById","test","addClass","className","add","removeClass","remove","hasClass","setAttr","attr","setAttribute","removeAttr","removeAttribute","getAttr","hasAttr","hasAttribute","getBCR","getCS","getComputedStyle","offset","getClientRects","top","left","bcr","win","defaultView","pageYOffset","pageXOffset","position","parentOffset","offsetSelf","offsetParent","doc","parentNode","parseFloat","borderTopWidth","borderLeftWidth","marginTop","marginLeft","eventOn","evtName","handler","addEventListener","eventOff","removeEventListener","_typeof","Symbol","iterator","obj","constructor","_createClass","defineProperties","target","props","descriptor","enumerable","configurable","writable","Object","defineProperty","key","Constructor","protoProps","staticProps","_classCallCheck","instance","TypeError","NAME","CLASS_PREFIX","BSCLS_PREFIX_REGEX","RegExp","TRANSITION_DURATION","MODAL_CLOSE_EVENT","MODAL_CLASS","AttachmentMap","AUTO","TOP","BOTTOM","TOPLEFT","TOPRIGHT","RIGHTTOP","RIGHTBOTTOM","BOTTOMLEFT","BOTTOMRIGHT","LEFTTOP","LEFTBOTTOM","OffsetMap","HoverState","SHOW","OUT","ClassName","FADE","Selector","TOOLTIP","TOOLTIP_INNER","ARROW","Defaults","animation","template","trigger","title","delay","html","placement","arrowPadding","container","fallbackPlacement","callbacks","boundary","TransitionEndEvents","WebkitTransition","MozTransition","OTransition","transition","NEXTID","generateId","ToolTip","config","$root","$isEnabled","$fadeTimeout","$hoverTimeout","$visibleInterval","$hoverState","$activeTrigger","$popper","$element","$tip","$id","$routeWatcher","$forceHide","forceHide","bind","$doHide","doHide","$doShow","doShow","$doDisable","doDisable","$doEnable","doEnable","updateConfig","updatedConfig","Default","show","hide","toString","content","fixTitle","$config","unListen","listen","setWhileOpenListeners","clearTimeout","destroy","removeChild","enabledEvt","cancelable","relatedTarget","emitEvent","disabledEvt","event","click","isWithActiveTrigger","enter","leave","getTipElement","_this","tip","setContent","isWithContent","addAriaDescribedby","getPlacement","attachment","getAttachment","addAttachmentClass","showEvt","defaultPrevented","getContainer","appendChild","removePopper","getPopperConfig","complete","fixTransition","prevHoverState","shownEvt","transitionOnce","on","_this2","clearInterval","setInterval","setModalListener","visibleCheck","setRouteWatcher","setOnTouchStartListener","callback","force","_this3","hideEvt","removeAriaDescribedby","hiddenEvt","focus","hover","evt","type","$emit","desc","split","concat","join","trim","_this4","filter","d","_this5","transEvents","getTransitionEndEvents","called","fnOnce","forEach","setTimeout","undefined","style","scheduleUpdate","innerHTML","compileTemplate","tabIndex","div","createElement","node","firstElementChild","setElementContent","getTitle","allowHtml","innerHtml","innerText","_this6","triggers","setRootListener","_this7","events","e","toggle","_this8","$route","$watch","newVal","oldVal","modal","disable","enable","_this9","children","_noop","titleType","_this10","_this11","_this12","modifiers","getOffset","flip","behavior","arrow","preventOverflow","boundariesElement","onCreate","data","originalPlacement","handlePopperPlacementChange","onUpdate","arrowOffset","toUpperCase","tabClass","match","cls","cleanTipClass","initConfigAnimation","get","suffixPropName","suffix","assign","varArgs","to","index","arguments","nextSource","nextKey","hasOwnProperty","is","x","y","keys","getOwnPropertyNames","create","freeze","getOwnPropertyDescriptor","getOwnPropertySymbols","getPrototypeOf","isFrozen","readonlyDescriptor","stableSort","array","compareFn","map","a","sort","b","computed","custom","plain","default","state","computedState","stateClass","tag","bgVariant","borderVariant","textVariant","isObject","options","Array","valueField","textField","disabledField","formOptions","option","text","localChecked","checked","hasFocus","model","prop","buttonVariant","computedLocalChecked","is_Child","$parent","set","val","is_RadioCheckGroup","is_Disabled","is_Required","required","is_Plain","is_Custom","get_Size","size","get_State","get_StateClass","is_Stacked","stacked","is_Inline","is_ButtonMode","buttons","get_ButtonVariant","get_Name","safeId","buttonClasses","is_Checked","methods","handleFocus","upperFirst","memoize","fn","cache","args","JSON","stringify","apply","sizeFormClass","sizeBtnClass","makePageArray","startNum","numPages","range","number","ELLIPSIS_THRESHOLD","Number","limit","align","hideGotoEndButtons","ariaLabel","labelFirstPage","firstText","labelPrevPage","prevText","labelNextPage","nextText","labelLastPage","lastText","labelPage","hideEllipsis","ellipsisText","bLink","showFirstDots","showLastDots","currentPage","render","h","makeEndBtns","linkTo","btnText","pageTest","button","isActive","class","attrs","role","domProps","linkProps","tabindex","ariaControls","onClick","keydown","keyCode","preventDefault","makeEllipsis","push","pageList","page","inner","pageNum","makePage","active","pageLinkClasses","numberOfPages","pageItemClasses","pagination","ref","btnSize","alignment","shift","shiftKey","focusFirst","focusPrev","focusLast","focusNext","isNav","watch","newPage","oldPage","newValue","oldValue","numLinks","Math","floor","pages","idx","_i","_i2","_i3","pagenum","getButtons","$el","btn","setBtnFocus","$nextTick","focusCurrent","find","parseInt","activeElement","reverse","indexOf","cnt","warn","message","console","looseEqual","isObjectA","isObjectB","isArrayA","isArrayB","every","keysA","keysB","pluckProps","keysToPluck","objToPluck","transformFn","reduce","memo","copyProps","copied","from","toStr","isCallable","toInteger","isNaN","isFinite","abs","maxSafeInteger","pow","toLength","min","max","arrayLike","C","items","mapFn","T","len","A","k","kValue","predicate","o","thisArg","isArray","arg","arrayIncludes","observeDOM","opts","MutationObserver","WebKitMutationObserver","MozMutationObserver","eventListenerSupported","obs","mutations","changed","mutation","TEXT_NODE","addedNodes","removedNodes","observe","childList","subtree","mounted","_clickOutListener","beforeDestroy","clickOutListener","filterVisible","els","ITEM_SELECTOR","TOPEND","BOTTOMEND","mixins","clickout","dropup","right","noFlip","popperOpts","visible","inNavbar","visibleChangePrevented","created","_popper","listenOnRoot","rootCloseListener","deactivated","setTouchStart","bvEvt","vueTarget","$refs","menu","showMenu","hideMenu","toggler","emitOnRoot","createPopper","focusFirstItem","popperConfig","enabled","vm","stopPropagation","onKeydown","onEsc","TAB","onTab","focusToggler","onFocusOut","onMouseOver","up","getItems","focusItem","getFirstItem","isSSR","HTMLElement","PLACEMENTS","topleft","topright","righttop","rightbottom","bottom","bottomleft","bottomright","lefttop","leftbottom","auto","OBSERVER_CONFIG","characterData","attributes","attributeFilter","Function","noFade","_show","old","onOpen","onClose","_disabled","onDisable","onEnable","_toolpop","_obs_title","_obs_content","createToolpop","$on","setObservers","updated","getConfig","activated","$off","bringItBack","baseConfig","cont","onShow","shown","onShown","onHide","hidden","onHidden","onEnabled","onDisabled","cfg","updatePosition","update","getTarget","disconnect","_possibleConstructorReturn","self","ReferenceError","_inherits","subClass","superClass","setPrototypeOf","__proto__","TITLE","CONTENT","PopOver","_ToolTip","hasTitle","hasContent","getContent","prefixPropName","localId_","$isServer","_uid","_toConsumableArray","arr","arr2","BVRL","_$root","_len","_key","_BVRL$shift","allListenTypes","BVBoundListeners","bindTargets","vnode","binding","listenTypes","targets","t","listener","elm","boundListeners","unbindTargets","BvEvent","eventInit","defaults","nativeEvent","identity"],"mappings":"0HAIe,QACbA,MAAO,GACPC,MAAO,GACPC,IAAK,GACLC,KAAM,GACNC,GAAI,GACJC,MAAO,GACPC,KAAM,GACNC,OAAQ,GACRC,SAAU,GACVC,KAAM,GACNC,IAAK,K,oCCTA,SAASC,EAAkBC,EAAKC,EAAMC,GAC3CF,EAAIG,2BAA6BH,EAAIG,4BAA8B,GACnE,IAAIC,EAASJ,EAAIG,2BAA2BF,GAK5C,OAJKG,GAAUF,GAAOD,IACpBD,EAAIG,2BAA2BF,IAAQ,EACvCD,EAAIK,UAAUJ,EAAMC,IAEfE,EAQF,SAASE,EAAmBN,EAAKO,GACtC,IAAK,IAAIF,KAAaE,EACpBR,EAAkBC,EAAKK,EAAWE,EAAWF,IAU1C,SAASG,EAAkBR,EAAKC,EAAMC,GAC3CF,EAAIS,2BAA6BT,EAAIS,4BAA8B,GACnE,IAAIL,EAASJ,EAAIS,2BAA2BR,GAK5C,OAJKG,GAAUF,GAAOD,IACpBD,EAAIS,2BAA2BR,IAAQ,EACvCD,EAAIU,UAAUT,EAAMC,IAEfE,EAQF,SAASO,EAAmBX,EAAKY,GACtC,IAAK,IAAIF,KAAaE,EACpBJ,EAAkBR,EAAKU,EAAWE,EAAWF,IAQ1C,SAASG,EAAOC,GACC,qBAAXC,QAA0BA,OAAOf,KAC1Ce,OAAOf,IAAIgB,IAAIF,GA5DnB,iG,oCCGe,SAASG,EAAWC,GAIjC,MAHmB,kBAARA,IACTA,EAAMC,OAAOD,IAERA,EAAIE,OAAO,GAAGC,cAAgBH,EAAII,MAAM,GCDlC,SAASC,EAAiBC,EAAQC,GAC/C,OAAOR,EAAWQ,EAAMC,QAAQF,EAAQ,KAP1C,iC,kCCAA,gtBAGWG,EAAY,SAAmBC,GACxC,OAAOA,GAAMA,EAAGC,WAAaC,KAAKC,cAIzBC,EAAY,SAAmBJ,GACxC,OAAOD,EAAUC,IAAOK,SAASC,KAAKC,SAASP,IAAOA,EAAGQ,wBAAwBC,OAAS,GAAKT,EAAGQ,wBAAwBE,MAAQ,GAIzHC,EAAa,SAAoBX,GAC1C,OAAQD,EAAUC,IAAOA,EAAGY,UAAYZ,EAAGa,UAAUN,SAAS,aAAeO,QAAQd,EAAGe,aAAa,cAI5FC,EAAS,SAAgBhB,GAElC,OAAOD,EAAUC,IAAOA,EAAGiB,cAIlBC,EAAY,SAAmBC,EAAUC,GAIlD,OAHKrB,EAAUqB,KACbA,EAAOf,UAEF,eAAUe,EAAKC,iBAAiBF,KAI9BG,EAAS,SAAgBH,EAAUC,GAI5C,OAHKrB,EAAUqB,KACbA,EAAOf,UAEFe,EAAKG,cAAcJ,IAAa,MAI9BK,EAAU,SAAiBxB,EAAImB,GACxC,IAAKpB,EAAUC,GACb,OAAO,EAKT,IAAIyB,EAAQC,QAAQC,UAChBC,EAAUH,EAAMD,SAAWC,EAAMI,iBAAmBJ,EAAMK,oBAAsBL,EAAMM,mBAAqBN,EAAMO,kBAAoBP,EAAMQ,uBAE/I,SAAUC,GACR,IAAIC,EAAUC,KACVC,EAAInB,EAAUgB,EAAKC,EAAQ9B,UAAY8B,EAAQG,eAC/CC,EAAIF,EAAEG,OAEV,QAASD,GAAK,GAAKF,EAAEI,KAAKF,KAAOJ,GACjC,OAAOI,GAAK,GAGd,OAAOX,EAAQc,KAAK1C,EAAImB,IAIfwB,EAAU,SAAiBxB,EAAUC,GAC9C,IAAKrB,EAAUqB,GACb,OAAO,KAMT,IAAIwB,EAAUlB,QAAQC,UAAUgB,SAEhC,SAAUT,GACR,IAAIC,EAAUC,KACd,IAAK/B,SAASwC,gBAAgBtC,SAAS4B,GACrC,OAAO,KAET,EAAG,CAED,GAAIX,EAAQW,EAASD,GACnB,OAAOC,EAETA,EAAUA,EAAQW,oBACC,OAAZX,GACT,OAAO,MAGLnC,EAAK4C,EAAQF,KAAKtB,EAAMD,GAE5B,OAAOnB,IAAOoB,EAAO,KAAOpB,GAInB+C,EAAU,SAAiBC,GACpC,OAAO3C,SAAS4C,eAAe,KAAKC,KAAKF,GAAMA,EAAGtD,MAAM,GAAKsD,IAAO,MAI3DG,EAAW,SAAkBnD,EAAIoD,GACtCA,GAAarD,EAAUC,IACzBA,EAAGa,UAAUwC,IAAID,IAKVE,EAAc,SAAqBtD,EAAIoD,GAC5CA,GAAarD,EAAUC,IACzBA,EAAGa,UAAU0C,OAAOH,IAKbI,EAAW,SAAkBxD,EAAIoD,GAC1C,SAAIA,IAAarD,EAAUC,KAClBA,EAAGa,UAAUN,SAAS6C,IAMtBK,EAAU,SAAiBzD,EAAI0D,EAAM7D,GAC1C6D,GAAQ3D,EAAUC,IACpBA,EAAG2D,aAAaD,EAAM7D,IAKf+D,EAAa,SAAoB5D,EAAI0D,GAC1CA,GAAQ3D,EAAUC,IACpBA,EAAG6D,gBAAgBH,IAKZI,EAAU,SAAiB9D,EAAI0D,GACxC,OAAIA,GAAQ3D,EAAUC,GACbA,EAAGe,aAAa2C,GAElB,MAIEK,EAAU,SAAiB/D,EAAI0D,GACxC,OAAIA,GAAQ3D,EAAUC,GACbA,EAAGgE,aAAaN,GAElB,MAIEO,EAAS,SAAgBjE,GAClC,OAAOD,EAAUC,GAAMA,EAAGQ,wBAA0B,MAI3C0D,EAAQ,SAAelE,GAChC,OAAOD,EAAUC,GAAMb,OAAOgF,iBAAiBnE,GAAM,IAK5CoE,EAAS,SAAgBpE,GAClC,GAAID,EAAUC,GAAK,CACjB,IAAKA,EAAGqE,iBAAiB7B,OACvB,MAAO,CAAE8B,IAAK,EAAGC,KAAM,GAEzB,IAAIC,EAAMP,EAAOjE,GACbyE,EAAMzE,EAAGsC,cAAcoC,YAC3B,MAAO,CACLJ,IAAKE,EAAIF,IAAMG,EAAIE,YACnBJ,KAAMC,EAAID,KAAOE,EAAIG,eAOhBC,EAAW,SAAkB7E,GACtC,GAAKD,EAAUC,GAAf,CAGA,IAAI8E,EAAe,CAAER,IAAK,EAAGC,KAAM,GAC/BQ,OAAa,EACbC,OAAe,EACnB,GAA2B,UAAvBd,EAAMlE,GAAI6E,SACZE,EAAad,EAAOjE,OACf,CACL+E,EAAaX,EAAOpE,GACpB,IAAIiF,EAAMjF,EAAGsC,cACb0C,EAAehF,EAAGgF,cAAgBC,EAAIpC,gBACtC,MAAOmC,IAAiBA,IAAiBC,EAAI3E,MAAQ0E,IAAiBC,EAAIpC,kBAAqD,WAAjCqB,EAAMc,GAAcH,SAChHG,EAAeA,EAAaE,WAE1BF,GAAgBA,IAAiBhF,GAAMgF,EAAa/E,WAAaC,KAAKC,eACxE2E,EAAeV,EAAOY,GACtBF,EAAaR,KAAOa,WAAWjB,EAAMc,GAAcI,gBACnDN,EAAaP,MAAQY,WAAWjB,EAAMc,GAAcK,kBAGxD,MAAO,CACLf,IAAKS,EAAWT,IAAMQ,EAAaR,IAAMa,WAAWjB,EAAMlE,GAAIsF,WAC9Df,KAAMQ,EAAWR,KAAOO,EAAaP,KAAOY,WAAWjB,EAAMlE,GAAIuF,eAK1DC,EAAU,SAAiBxF,EAAIyF,EAASC,GAC7C1F,GAAMA,EAAG2F,kBACX3F,EAAG2F,iBAAiBF,EAASC,IAKtBE,EAAW,SAAkB5F,EAAIyF,EAASC,GAC/C1F,GAAMA,EAAG6F,qBACX7F,EAAG6F,oBAAoBJ,EAASC,K,oCCxNpC,gEAAII,EAA4B,oBAAXC,QAAoD,kBAApBA,OAAOC,SAAwB,SAAUC,GAAO,cAAcA,GAAS,SAAUA,GAAO,OAAOA,GAAyB,oBAAXF,QAAyBE,EAAIC,cAAgBH,QAAUE,IAAQF,OAAOpE,UAAY,gBAAkBsE,GAElQE,EAAe,WAAc,SAASC,EAAiBC,EAAQC,GAAS,IAAK,IAAI/D,EAAI,EAAGA,EAAI+D,EAAM9D,OAAQD,IAAK,CAAE,IAAIgE,EAAaD,EAAM/D,GAAIgE,EAAWC,WAAaD,EAAWC,aAAc,EAAOD,EAAWE,cAAe,EAAU,UAAWF,IAAYA,EAAWG,UAAW,GAAMC,OAAOC,eAAeP,EAAQE,EAAWM,IAAKN,IAAiB,OAAO,SAAUO,EAAaC,EAAYC,GAAiJ,OAA9HD,GAAYX,EAAiBU,EAAYnF,UAAWoF,GAAiBC,GAAaZ,EAAiBU,EAAaE,GAAqBF,GAA7gB,GAEnB,SAASG,EAAgBC,EAAUJ,GAAe,KAAMI,aAAoBJ,GAAgB,MAAM,IAAIK,UAAU,qCAQhH,IAAIC,EAAO,UACPC,EAAe,aACfC,EAAqB,IAAIC,OAAO,MAAQF,EAAe,OAAQ,KAE/DG,EAAsB,IAGtBC,EAAoB,oBAEpBC,EAAc,iBAEdC,EAAgB,CAClBC,KAAM,OACNC,IAAK,MACLhK,MAAO,QACPiK,OAAQ,SACRnK,KAAM,OACNoK,QAAS,MACTC,SAAU,MACVC,SAAU,QACVC,YAAa,QACbC,WAAY,SACZC,YAAa,SACbC,QAAS,OACTC,WAAY,QAGVC,EAAY,CACdX,KAAM,EACNG,SAAU,EACVF,IAAK,EACLG,SAAU,EACVC,UAAW,EACXpK,MAAO,EACPqK,YAAa,EACbC,YAAa,EACbL,OAAQ,EACRM,YAAa,EACbC,SAAU,EACV1K,KAAM,EACN2K,WAAY,GAGVE,EAAa,CACfC,KAAM,OACNC,IAAK,OAGHC,EAAY,CACdC,KAAM,OACNH,KAAM,QAGJI,EAAW,CACbC,QAAS,WACTC,cAAe,iBACfC,MAAO,UAWHC,EAAW,CACfC,WAAW,EACXC,SAAU,uGACVC,QAAS,cACTC,MAAO,GACPC,MAAO,EACPC,MAAM,EACNC,UAAW,MACXpF,OAAQ,EACRqF,aAAc,EACdC,WAAW,EACXC,kBAAmB,OACnBC,UAAW,GACXC,SAAU,gBAGNC,EAAsB,CAC1BC,iBAAkB,CAAC,uBACnBC,cAAe,CAAC,iBAChBC,YAAa,CAAC,iBAAkB,kBAChCC,WAAY,CAAC,kBAKTC,EAAS,EAEf,SAASC,EAAW/L,GAClB,MAAO,QAAUA,EAAO,IAAM8L,IAAW,KAQ3C,IAAIE,EAAU,WAEZ,SAASA,EAAQlI,EAASmI,EAAQC,GAChCtD,EAAgB7E,KAAMiI,GAGtBjI,KAAKoI,YAAa,EAClBpI,KAAKqI,aAAe,KACpBrI,KAAKsI,cAAgB,KACrBtI,KAAKuI,iBAAmB,KACxBvI,KAAKwI,YAAc,GACnBxI,KAAKyI,eAAiB,GACtBzI,KAAK0I,QAAU,KACf1I,KAAK2I,SAAW5I,EAChBC,KAAK4I,KAAO,KACZ5I,KAAK6I,IAAMb,EAAWhI,KAAK8D,YAAYkB,MACvChF,KAAKmI,MAAQA,GAAS,KACtBnI,KAAK8I,cAAgB,KAErB9I,KAAK+I,WAAa/I,KAAKgJ,UAAUC,KAAKjJ,MACtCA,KAAKkJ,QAAUlJ,KAAKmJ,OAAOF,KAAKjJ,MAChCA,KAAKoJ,QAAUpJ,KAAKqJ,OAAOJ,KAAKjJ,MAChCA,KAAKsJ,WAAatJ,KAAKuJ,UAAUN,KAAKjJ,MACtCA,KAAKwJ,UAAYxJ,KAAKyJ,SAASR,KAAKjJ,MAEpCA,KAAK0J,aAAaxB,GAq8BpB,OA/7BAnE,EAAakE,EAAS,CAAC,CACrBxD,IAAK,eAILhH,MAAO,SAAsByK,GAE3B,IAAIyB,EAAgB,eAAO,GAAI3J,KAAK8D,YAAY8F,QAAS1B,GAGrDA,EAAOhB,OAAiC,kBAAjBgB,EAAOhB,QAChCyC,EAAczC,MAAQ,CACpB2C,KAAM3B,EAAOhB,MACb4C,KAAM5B,EAAOhB,QAKbgB,EAAOjB,OAAiC,kBAAjBiB,EAAOjB,QAChC0C,EAAc1C,MAAQiB,EAAOjB,MAAM8C,YAIjC7B,EAAO8B,SAAqC,kBAAnB9B,EAAO8B,UAClCL,EAAcK,QAAU9B,EAAO8B,QAAQD,YAIzC/J,KAAKiK,WAELjK,KAAKkK,QAAUP,EAEf3J,KAAKmK,WACLnK,KAAKoK,WAKN,CACD3F,IAAK,UACLhH,MAAO,WAELuC,KAAKmK,WAELnK,KAAKqK,uBAAsB,GAE3BC,aAAatK,KAAKsI,eAClBtI,KAAKsI,cAAgB,KACrBgC,aAAatK,KAAKqI,cAClBrI,KAAKqI,aAAe,KAEhBrI,KAAK0I,SACP1I,KAAK0I,QAAQ6B,UAEfvK,KAAK0I,QAAU,KAEX1I,KAAK4I,MAAQ5I,KAAK4I,KAAKlI,eACzBV,KAAK4I,KAAKlI,cAAc8J,YAAYxK,KAAK4I,MAE3C5I,KAAK4I,KAAO,KAEZ5I,KAAK6I,IAAM,KACX7I,KAAKoI,WAAa,KAClBpI,KAAKmI,MAAQ,KACbnI,KAAK2I,SAAW,KAChB3I,KAAKkK,QAAU,KACflK,KAAKwI,YAAc,KACnBxI,KAAKyI,eAAiB,KACtBzI,KAAK+I,WAAa,KAClB/I,KAAKkJ,QAAU,KACflJ,KAAKoJ,QAAU,KACfpJ,KAAKsJ,WAAa,KAClBtJ,KAAKwJ,UAAY,OAElB,CACD/E,IAAK,SACLhH,MAAO,WAEL,IAAIgN,EAAa,IAAI,OAAQ,UAAW,CACtCC,YAAY,EACZzG,OAAQjE,KAAK2I,SACbgC,cAAe,OAEjB3K,KAAKoI,YAAa,EAClBpI,KAAK4K,UAAUH,KAEhB,CACDhG,IAAK,UACLhH,MAAO,WAEL,IAAIoN,EAAc,IAAI,OAAQ,WAAY,CACxCH,YAAY,EACZzG,OAAQjE,KAAK2I,SACbgC,cAAe,OAEjB3K,KAAKoI,YAAa,EAClBpI,KAAK4K,UAAUC,KAKhB,CACDpG,IAAK,SACLhH,MAAO,SAAgBqN,GAChB9K,KAAKoI,aAGN0C,GACF9K,KAAKyI,eAAesC,OAAS/K,KAAKyI,eAAesC,MAE7C/K,KAAKgL,sBACPhL,KAAKiL,MAAM,MAEXjL,KAAKkL,MAAM,OAGT,eAASlL,KAAKmL,gBAAiB5E,EAAUF,MAC3CrG,KAAKkL,MAAM,MAEXlL,KAAKiL,MAAM,SAOhB,CACDxG,IAAK,OACLhH,MAAO,WACL,IAAI2N,EAAQpL,KAEZ,GAAK/B,SAASC,KAAKC,SAAS6B,KAAK2I,WAAc,eAAU3I,KAAK2I,UAA9D,CAKA,IAAI0C,EAAMrL,KAAKmL,gBAGf,GAFAnL,KAAKiK,WACLjK,KAAKsL,WAAWD,GACXrL,KAAKuL,cAAcF,GAAxB,CAOA,eAAQA,EAAK,KAAMrL,KAAK6I,KACxB7I,KAAKwL,qBAGDxL,KAAKkK,QAAQpD,UACf,eAASuE,EAAK9E,EAAUC,MAExB,eAAY6E,EAAK9E,EAAUC,MAG7B,IAAIY,EAAYpH,KAAKyL,eACjBC,EAAa1L,KAAK8D,YAAY6H,cAAcvE,GAChDpH,KAAK4L,mBAAmBF,GAGxB,IAAIG,EAAU,IAAI,OAAQ,OAAQ,CAChCnB,YAAY,EACZzG,OAAQjE,KAAK2I,SACbgC,cAAeU,IAGjB,GADArL,KAAK4K,UAAUiB,GACXA,EAAQC,iBAEV9L,KAAK4I,KAAO,SAFd,CAOA,IAAItB,EAAYtH,KAAK+L,eAChB9N,SAASC,KAAKC,SAASkN,IAC1B/D,EAAU0E,YAAYX,GAIxBrL,KAAKiM,eACLjM,KAAK0I,QAAU,IAAI,OAAO1I,KAAK2I,SAAU0C,EAAKrL,KAAKkM,gBAAgB9E,EAAWiE,IAG9E,IAAIc,EAAW,WACTf,EAAMlB,QAAQpD,WAChBsE,EAAMgB,cAAcf,GAEtB,IAAIgB,EAAiBjB,EAAM5C,YAC3B4C,EAAM5C,YAAc,KAChB6D,IAAmBjG,EAAWE,KAChC8E,EAAMF,MAAM,MAGd,IAAIoB,EAAW,IAAI,OAAQ,QAAS,CAClC5B,YAAY,EACZzG,OAAQmH,EAAMzC,SACdgC,cAAeU,IAEjBD,EAAMR,UAAU0B,IAIlBtM,KAAKqK,uBAAsB,GAG3B,eAASgB,EAAK9E,EAAUF,MAGxBrG,KAAKuM,eAAelB,EAAKc,SApEvBnM,KAAK4I,KAAO,QAyEf,CACDnE,IAAK,eACLhH,MAAO,SAAsB+O,GAC3B,IAAIC,EAASzM,KAEb0M,cAAc1M,KAAKuI,kBACnBvI,KAAKuI,iBAAmB,KACpBiE,IACFxM,KAAKuI,iBAAmBoE,YAAY,WAClC,IAAItB,EAAMoB,EAAOtB,gBACbE,IAAQ,eAAUoB,EAAO9D,WAAa,eAAS0C,EAAK9E,EAAUF,OAEhEoG,EAAOzD,aAER,QAGN,CACDvE,IAAK,wBACLhH,MAAO,SAA+B+O,GAEpCxM,KAAK4M,iBAAiBJ,GAGtBxM,KAAK6M,aAAaL,GAElBxM,KAAK8M,gBAAgBN,GAErBxM,KAAK+M,wBAAwBP,GACzBA,GAAM,eAAe1L,KAAKd,KAAKkK,QAAQlD,SAEzC,eAAQhH,KAAK4I,KAAM,WAAY5I,MAE/B,eAASA,KAAK4I,KAAM,WAAY5I,QAMnC,CACDyE,IAAK,YACLhH,MAAO,WACAuC,KAAK4I,MAAS,eAAS5I,KAAK4I,KAAMrC,EAAUF,QAIjDrG,KAAKqK,uBAAsB,GAE3BC,aAAatK,KAAKsI,eAClBtI,KAAKsI,cAAgB,KACrBtI,KAAKwI,YAAc,GAEnBxI,KAAK8J,KAAK,MAAM,MAKjB,CACDrF,IAAK,OACLhH,MAAO,SAAcuP,EAAUC,GAC7B,IAAIC,EAASlN,KAETqL,EAAMrL,KAAK4I,KACf,GAAKyC,EAAL,CAKA,IAAI8B,EAAU,IAAI,OAAQ,OAAQ,CAEhCzC,YAAauC,EACbhJ,OAAQjE,KAAK2I,SACbgC,cAAeU,IAGjB,GADArL,KAAK4K,UAAUuC,IACXA,EAAQrB,iBAAZ,CAOA,IAAIK,EAAW,WACTe,EAAO1E,cAAgBpC,EAAWC,MAAQgF,EAAIvI,aAEhDuI,EAAIvI,WAAW0H,YAAYa,GAC3B6B,EAAOE,wBACPF,EAAOjB,eACPiB,EAAOtE,KAAO,MAEZoE,GACFA,IAGF,IAAIK,EAAY,IAAI,OAAQ,SAAU,CACpC3C,YAAY,EACZzG,OAAQiJ,EAAOvE,SACfgC,cAAe,OAEjBuC,EAAOtC,UAAUyC,IAInBrN,KAAKqK,uBAAsB,GAGvB4C,GACF,eAAY5B,EAAK9E,EAAUC,MAG7B,eAAY6E,EAAK9E,EAAUF,MAE3BrG,KAAKyI,eAAesC,OAAQ,EAC5B/K,KAAKyI,eAAe6E,OAAQ,EAC5BtN,KAAKyI,eAAe8E,OAAQ,EAG5BvN,KAAKuM,eAAelB,EAAKc,GAEzBnM,KAAKwI,YAAc,OAEpB,CACD/D,IAAK,YACLhH,MAAO,SAAmB+P,GACxB,IAAInK,EAAUmK,EAAIC,KACdzN,KAAKmI,OAASnI,KAAKmI,MAAMuF,OAE3B1N,KAAKmI,MAAMuF,MAAM,OAAS1N,KAAK8D,YAAYkB,KAAO,KAAO3B,EAASmK,GAEpE,IAAIhG,EAAYxH,KAAKkK,QAAQ1C,WAAa,GACR,oBAAvBA,EAAUnE,IACnBmE,EAAUnE,GAASmK,KAGtB,CACD/I,IAAK,eACLhH,MAAO,WACL,IAAI6J,EAAYtH,KAAKkK,QAAQ5C,UACzBpJ,EAAOD,SAASC,KAEpB,OAAqB,IAAdoJ,EAAsB,eAAQhC,EAAatF,KAAK2I,WAAazK,EAAO,eAAOoJ,EAAWpJ,IAASA,IAKvG,CACDuG,IAAK,qBACLhH,MAAO,WAEL,IAAIkQ,EAAO,eAAQ3N,KAAK2I,SAAU,qBAAuB,GACzDgF,EAAOA,EAAKC,MAAM,OAAOC,OAAO7N,KAAK6I,KAAKiF,KAAK,KAAKC,OACpD,eAAQ/N,KAAK2I,SAAU,mBAAoBgF,KAK5C,CACDlJ,IAAK,wBACLhH,MAAO,WACL,IAAIuQ,EAAShO,KAET2N,EAAO,eAAQ3N,KAAK2I,SAAU,qBAAuB,GACzDgF,EAAOA,EAAKC,MAAM,OAAOK,OAAO,SAAUC,GACxC,OAAOA,IAAMF,EAAOnF,MACnBiF,KAAK,KAAKC,OACTJ,EACF,eAAQ3N,KAAK2I,SAAU,mBAAoBgF,GAE3C,eAAW3N,KAAK2I,SAAU,sBAG7B,CACDlE,IAAK,eACLhH,MAAO,WACDuC,KAAK0I,SACP1I,KAAK0I,QAAQ6B,UAEfvK,KAAK0I,QAAU,OAKhB,CACDjE,IAAK,iBACLhH,MAAO,SAAwB4N,EAAKc,GAClC,IAAIgC,EAASnO,KAEToO,EAAcpO,KAAKqO,yBACnBC,GAAS,EACbhE,aAAatK,KAAKqI,cAClBrI,KAAKqI,aAAe,KACpB,IAAIkG,EAAS,SAASA,IAChBD,IAGJA,GAAS,EACThE,aAAa6D,EAAO9F,cACpB8F,EAAO9F,aAAe,KACtB+F,EAAYI,QAAQ,SAAUnL,GAC5B,eAASgI,EAAKhI,EAASkL,KAGzBpC,MAEE,eAASd,EAAK9E,EAAUC,OAC1B4H,EAAYI,QAAQ,SAAUnL,GAC5B,eAAQgI,EAAKhI,EAASkL,KAGxBvO,KAAKqI,aAAeoG,WAAWF,EAAQnJ,IAEvCmJ,MAMH,CACD9J,IAAK,yBACLhH,MAAO,WACL,IAAK,IAAIxB,KAAQyL,EACf,QAAkCgH,IAA9B1O,KAAK2I,SAASgG,MAAM1S,GACtB,OAAOyL,EAAoBzL,GAI/B,MAAO,KAER,CACDwI,IAAK,SACLhH,MAAO,WACgB,OAAjBuC,KAAK0I,SACP1I,KAAK0I,QAAQkG,mBAMhB,CACDnK,IAAK,gBACLhH,MAAO,SAAuB4N,GAE5B,OADAA,EAAMA,GAAOrL,KAAK4I,OACbyC,GAGE3M,SAAS,eAAO+H,EAASE,cAAe0E,IAAQ,IAAIwD,aAK5D,CACDpK,IAAK,qBACLhH,MAAO,SAA4BiO,GACjC,eAAS1L,KAAKmL,gBAAiBlG,EAAe,IAAMyG,KAErD,CACDjH,IAAK,gBACLhH,MAAO,WAOL,OANKuC,KAAK4I,OAER5I,KAAK4I,KAAO5I,KAAK8O,gBAAgB9O,KAAKkK,QAAQnD,WAAa/G,KAAK8O,gBAAgB9O,KAAK8D,YAAY8F,QAAQ7C,WAG3G/G,KAAK4I,KAAKmG,UAAY,EACf/O,KAAK4I,OAEb,CACDnE,IAAK,kBACLhH,MAAO,SAAyB0J,GAC9B,IAAKA,GAAwB,kBAATA,EAClB,OAAO,KAET,IAAI6H,EAAM/Q,SAASgR,cAAc,OACjCD,EAAIH,UAAY1H,EAAK4G,OACrB,IAAImB,EAAOF,EAAIG,kBAAoBH,EAAIxE,YAAYwE,EAAIG,mBAAqB,KAE5E,OADAH,EAAM,KACCE,IAKR,CACDzK,IAAK,aACLhH,MAAO,SAAoB4N,GACzBrL,KAAKoP,kBAAkB,eAAO3I,EAASE,cAAe0E,GAAMrL,KAAKqP,YACjE,eAAYhE,EAAK9E,EAAUC,MAC3B,eAAY6E,EAAK9E,EAAUF,QAE5B,CACD5B,IAAK,oBACLhH,MAAO,SAA2B6J,EAAW0C,GAC3C,GAAK1C,EAAL,CAIA,IAAIgI,EAAYtP,KAAKkK,QAAQ/C,KAC6C,YAAlD,qBAAZ6C,EAA0B,YAActG,EAAQsG,KAA0BA,EAAQnM,SAExFyR,EACEtF,EAAQtJ,gBAAkB4G,IAC5BA,EAAUiI,UAAY,GACtBjI,EAAU0E,YAAYhC,IAGxB1C,EAAUkI,UAAYxF,EAAQwF,UAIhClI,EAAUgI,EAAY,YAAc,aAAetF,KAMtD,CACDvF,IAAK,WACLhH,MAAO,WACL,IAAIwJ,EAAQjH,KAAKkK,QAAQjD,OAAS,GAkBlC,MAjBqB,oBAAVA,IAETA,EAAQA,EAAMjH,KAAK2I,WAEiD,YAAhD,qBAAV1B,EAAwB,YAAcvD,EAAQuD,KAAwBA,EAAMpJ,WAAaoJ,EAAM4H,UAAUd,SAEnH9G,EAAQ,IAEW,kBAAVA,IACTA,EAAQA,EAAM8G,QAEX9G,IAEHA,EAAQ,eAAQjH,KAAK2I,SAAU,UAAY,eAAQ3I,KAAK2I,SAAU,wBAA0B,GAC5F1B,EAAQA,EAAM8G,QAGT9G,IAER,CACDxC,IAAK,SACLhH,MAAO,WACL,IAAIgS,EAASzP,KAET0P,EAAW1P,KAAKkK,QAAQlD,QAAQ+G,OAAOH,MAAM,OAC7ChQ,EAAKoC,KAAK2I,SAGd3I,KAAK2P,iBAAgB,GAIrBD,EAASlB,QAAQ,SAAUxH,GACT,UAAZA,EACF,eAAQpJ,EAAI,QAAS6R,GACA,UAAZzI,GACT,eAAQpJ,EAAI,UAAW6R,GACvB,eAAQ7R,EAAI,WAAY6R,IACH,SAAZzI,EAET,eAAQpJ,EAAI,WAAY6R,GACH,UAAZzI,IACT,eAAQpJ,EAAI,aAAc6R,GAC1B,eAAQ7R,EAAI,aAAc6R,KAE3BzP,QAEJ,CACDyE,IAAK,WACLhH,MAAO,WACL,IAAImS,EAAS5P,KAET6P,EAAS,CAAC,QAAS,UAAW,WAAY,aAAc,cAE5DA,EAAOrB,QAAQ,SAAUhB,GACvB,eAASoC,EAAOjH,SAAU6E,EAAKoC,IAC9B5P,MAGHA,KAAK2P,iBAAgB,KAEtB,CACDlL,IAAK,cACLhH,MAAO,SAAqBqS,GAE1B,IAAI,eAAW9P,KAAK2I,WAKf3I,KAAKoI,WAAV,CAIA,IAAIqF,EAAOqC,EAAErC,KACTxJ,EAAS6L,EAAE7L,OACX0G,EAAgBmF,EAAEnF,cAClBhC,EAAW3I,KAAK2I,SAChBC,EAAO5I,KAAK4I,KAChB,GAAa,UAAT6E,EACFzN,KAAK+P,OAAOD,QACP,GAAa,YAATrC,GAA+B,eAATA,EAC/BzN,KAAKiL,MAAM6E,QACN,GAAa,aAATrC,EAAqB,CAG9B,GAAI7E,GAAQD,GAAYA,EAASxK,SAAS8F,IAAW2E,EAAKzK,SAASwM,GAEjE,OAEF,GAAI/B,GAAQD,GAAYC,EAAKzK,SAAS8F,IAAW0E,EAASxK,SAASwM,GAEjE,OAEF,GAAI/B,GAAQA,EAAKzK,SAAS8F,IAAW2E,EAAKzK,SAASwM,GAEjD,OAEF,GAAIhC,GAAYA,EAASxK,SAAS8F,IAAW0E,EAASxK,SAASwM,GAE7D,OAGF3K,KAAKkL,MAAM4E,OACO,eAATrC,GACTzN,KAAKkL,MAAM4E,MAMd,CACDrL,IAAK,kBACLhH,MAAO,SAAyB+O,GAC9B,IAAIwD,EAAShQ,KAETwM,GACFxM,KAAK8M,iBAAgB,GACjB9M,KAAKmI,OAASzJ,QAAQsB,KAAKmI,MAAM8H,UACnCjQ,KAAK8I,cAAgB9I,KAAKmI,MAAM+H,OAAO,SAAU,SAAUC,EAAQC,GAC7DD,IAAWC,GAIfJ,EAAOhH,gBAIPhJ,KAAK8I,gBAEP9I,KAAK8I,gBACL9I,KAAK8I,cAAgB,QAO1B,CACDrE,IAAK,mBACLhH,MAAO,SAA0B+O,GAC/B,IAAI6D,EAAQ,eAAQ/K,EAAatF,KAAK2I,UACjC0H,GAKDrQ,KAAKmI,OACPnI,KAAKmI,MAAMqE,EAAK,MAAQ,QAAQnH,EAAmBrF,KAAK+I,cAM3D,CACDtE,IAAK,kBACLhH,MAAO,SAAyB+O,GAE1BxM,KAAKmI,QACPnI,KAAKmI,MAAMqE,EAAK,MAAQ,QAAQ,aAAexM,KAAK8D,YAAYkB,KAAMhF,KAAKkJ,SAC3ElJ,KAAKmI,MAAMqE,EAAK,MAAQ,QAAQ,aAAexM,KAAK8D,YAAYkB,KAAMhF,KAAKoJ,SAC3EpJ,KAAKmI,MAAMqE,EAAK,MAAQ,QAAQ,gBAAkBxM,KAAK8D,YAAYkB,KAAMhF,KAAKsJ,YAC9EtJ,KAAKmI,MAAMqE,EAAK,MAAQ,QAAQ,eAAiBxM,KAAK8D,YAAYkB,KAAMhF,KAAKwJ,cAGhF,CACD/E,IAAK,SACLhH,MAAO,SAAgBmD,GAEhBA,EAGMZ,KAAK2I,UAAY3I,KAAK2I,SAAS/H,IAAMZ,KAAK2I,SAAS/H,KAAOA,GAEnEZ,KAAK8J,OAHL9J,KAAKgJ,cAMR,CACDvE,IAAK,SACLhH,MAAO,SAAgBmD,GAEhBA,EAGMA,GAAMZ,KAAK2I,UAAY3I,KAAK2I,SAAS/H,IAAMZ,KAAK2I,SAAS/H,KAAOA,GAEzEZ,KAAK6J,OAHL7J,KAAK6J,SAMR,CACDpF,IAAK,YACLhH,MAAO,SAAmBmD,GAEnBA,EAGMZ,KAAK2I,UAAY3I,KAAK2I,SAAS/H,IAAMZ,KAAK2I,SAAS/H,KAAOA,GAEnEZ,KAAKsQ,UAHLtQ,KAAKsQ,YAMR,CACD7L,IAAK,WACLhH,MAAO,SAAkBmD,GAElBA,EAGMZ,KAAK2I,UAAY3I,KAAK2I,SAAS/H,IAAMZ,KAAK2I,SAAS/H,KAAOA,GAEnEZ,KAAKuQ,SAHLvQ,KAAKuQ,WASR,CACD9L,IAAK,0BACLhH,MAAO,SAAiC+O,GACtC,IAAIgE,EAASxQ,KAMT,iBAAkB/B,SAASwC,iBAC7B,eAAUxC,SAASC,KAAKuS,UAAUjC,QAAQ,SAAU5Q,GAC9C4O,EACF,eAAQ5O,EAAI,YAAa4S,EAAOE,OAEhC,eAAS9S,EAAI,YAAa4S,EAAOE,WAQxC,CACDjM,IAAK,QACLhH,MAAO,cAGN,CACDgH,IAAK,WACLhH,MAAO,WACL,IAAIG,EAAKoC,KAAK2I,SACVgI,EAAYjN,EAAQ,eAAQ9F,EAAI,yBAChC,eAAQA,EAAI,UAA0B,WAAd+S,KAC1B,eAAQ/S,EAAI,sBAAuB,eAAQA,EAAI,UAAY,IAC3D,eAAQA,EAAI,QAAS,OAOxB,CACD6G,IAAK,QACLhH,MAAO,SAAeqS,GACpB,IAAIc,EAAU5Q,KAEV8P,IACF9P,KAAKyI,eAA0B,YAAXqH,EAAErC,KAAqB,QAAU,UAAW,GAE9D,eAASzN,KAAKmL,gBAAiB5E,EAAUF,OAASrG,KAAKwI,cAAgBpC,EAAWC,KACpFrG,KAAKwI,YAAcpC,EAAWC,MAGhCiE,aAAatK,KAAKsI,eAClBtI,KAAKwI,YAAcpC,EAAWC,KACzBrG,KAAKkK,QAAQhD,OAAUlH,KAAKkK,QAAQhD,MAAM2C,KAI/C7J,KAAKsI,cAAgBmG,WAAW,WAC1BmC,EAAQpI,cAAgBpC,EAAWC,MACrCuK,EAAQ/G,QAET7J,KAAKkK,QAAQhD,MAAM2C,MAPpB7J,KAAK6J,UAaR,CACDpF,IAAK,QACLhH,MAAO,SAAeqS,GACpB,IAAIe,EAAU7Q,KAEV8P,IACF9P,KAAKyI,eAA0B,aAAXqH,EAAErC,KAAsB,QAAU,UAAW,EAClD,aAAXqC,EAAErC,MAAuB,OAAO3M,KAAKd,KAAKkK,QAAQlD,WAEpDhH,KAAKyI,eAAesC,OAAQ,EAC5B/K,KAAKyI,eAAe8E,OAAQ,IAG5BvN,KAAKgL,wBAGTV,aAAatK,KAAKsI,eAClBtI,KAAKwI,YAAcpC,EAAWE,IACzBtG,KAAKkK,QAAQhD,OAAUlH,KAAKkK,QAAQhD,MAAM4C,KAI/C9J,KAAKsI,cAAgBmG,WAAW,WAC1BoC,EAAQrI,cAAgBpC,EAAWE,KACrCuK,EAAQ/G,QAET9J,KAAKkK,QAAQhD,MAAM4C,MAPpB9J,KAAK8J,UASR,CACDrF,IAAK,kBACLhH,MAAO,SAAyB2J,EAAWiE,GACzC,IAAIyF,EAAU9Q,KAEd,MAAO,CACLoH,UAAWpH,KAAK8D,YAAY6H,cAAcvE,GAC1C2J,UAAW,CACT/O,OAAQ,CAAEA,OAAQhC,KAAKgR,UAAU5J,EAAWiE,IAC5C4F,KAAM,CAAEC,SAAUlR,KAAKkK,QAAQ3C,mBAC/B4J,MAAO,CAAEpR,QAAS,UAClBqR,gBAAiB,CAAEC,kBAAmBrR,KAAKkK,QAAQzC,WAErD6J,SAAU,SAAkBC,GAEtBA,EAAKC,oBAAsBD,EAAKnK,WAClC0J,EAAQW,4BAA4BF,IAGxCG,SAAU,SAAkBH,GAE1BT,EAAQW,4BAA4BF,OAIzC,CACD9M,IAAK,YACLhH,MAAO,SAAmB2J,EAAWiE,GACnC,IAAKrL,KAAKkK,QAAQlI,OAAQ,CACxB,IAAImP,EAAQ,eAAO1K,EAASG,MAAOyE,GAC/BsG,EAAc5O,WAAW,eAAMoO,GAAO7S,OAASyE,WAAW/C,KAAKkK,QAAQ7C,cAC3E,OAAQlB,EAAUiB,EAAUwK,gBAC1B,KAAK,EACH,MAAO,WAAaD,EAAc,KACpC,KAAM,EACJ,MAAO,WAAaA,EAAc,KACpC,QACE,OAAO,GAGb,OAAO3R,KAAKkK,QAAQlI,SAErB,CACDyC,IAAK,eACLhH,MAAO,WACL,IAAI2J,EAAYpH,KAAKkK,QAAQ9C,UAC7B,MAAyB,oBAAdA,EACFA,EAAU9G,KAAKN,KAAMA,KAAK4I,KAAM5I,KAAK2I,UAEvCvB,IAER,CACD3C,IAAK,sBACLhH,MAAO,WACL,IAAK,IAAIuJ,KAAWhH,KAAKyI,eACvB,GAAIzI,KAAKyI,eAAezB,GACtB,OAAO,EAGX,OAAO,IAKR,CACDvC,IAAK,gBACLhH,MAAO,WACL,IAAI4N,EAAMrL,KAAKmL,gBACX0G,EAAWxG,EAAIrK,UAAU8Q,MAAM5M,GAClB,OAAb2M,GAAqBA,EAASzR,OAAS,GACzCyR,EAASrD,QAAQ,SAAUuD,GACzB,eAAY1G,EAAK0G,OAItB,CACDtN,IAAK,8BACLhH,MAAO,SAAqC8T,GAC1CvR,KAAKgS,gBACLhS,KAAK4L,mBAAmB5L,KAAK8D,YAAY6H,cAAc4F,EAAKnK,cAE7D,CACD3C,IAAK,gBACLhH,MAAO,SAAuB4N,GAC5B,IAAI4G,EAAsBjS,KAAKkK,QAAQpD,YAAa,EAChB,OAAhC,eAAQuE,EAAK,iBAGjB,eAAYA,EAAK9E,EAAUC,MAC3BxG,KAAKkK,QAAQpD,WAAY,EACzB9G,KAAK8J,OACL9J,KAAK6J,OACL7J,KAAKkK,QAAQpD,UAAYmL,MAEzB,CAAC,CACHxN,IAAK,gBACLhH,MAAO,SAAuB2J,GAC5B,OAAO7B,EAAc6B,EAAUwK,iBAEhC,CACDnN,IAAK,UACLyN,IAAK,WACH,OAAOrL,IAKR,CACDpC,IAAK,OACLyN,IAAK,WACH,OAAOlN,MAIJiD,EA99BK,GAi+BC,U,oCCplCf,gDASe,SAASkK,EAAeC,EAAQlV,GAC7C,OAAOA,GAAOkV,EAAS,eAAWA,GAAU,M,oCCV9C,gMAS6B,oBAAlB7N,OAAO8N,SAChB9N,OAAO8N,OAAS,SAAUpO,EAAQqO,GAGhC,GAAc,MAAVrO,EAEF,MAAM,IAAIc,UAAU,8CAKtB,IAFA,IAAIwN,EAAKhO,OAAON,GAEPuO,EAAQ,EAAGA,EAAQC,UAAUrS,OAAQoS,IAAS,CACrD,IAAIE,EAAaD,UAAUD,GAE3B,GAAkB,MAAdE,EAEF,IAAK,IAAIC,KAAWD,EAEdnO,OAAOhF,UAAUqT,eAAetS,KAAKoS,EAAYC,KACnDJ,EAAGI,GAAWD,EAAWC,IAKjC,OAAOJ,IAKNhO,OAAOsO,KACVtO,OAAOsO,GAAK,SAAUC,EAAGC,GAEvB,OAAID,IAAMC,EAGK,IAAND,GAAW,EAAIA,IAAM,EAAIC,EAIzBD,IAAMA,GAAKC,IAAMA,IAKvB,IAAIV,EAAS9N,OAAO8N,OAEhBW,GADsBzO,OAAO0O,oBACtB1O,OAAOyO,MACdhP,EAAmBO,OAAOP,iBAC1BQ,EAAiBD,OAAOC,eAKxB0O,GAJS3O,OAAO4O,OACW5O,OAAO6O,yBACV7O,OAAO8O,sBACd9O,OAAO+O,eACf/O,OAAO2O,QACL3O,OAAOgP,SACbhP,OAAOsO,GAEhB,SAASW,IACd,MAAO,CAAEpP,YAAY,EAAMC,cAAc,EAAOC,UAAU,K,oCCjD7C,SAASmP,EAAWC,EAAOC,GAKxC,OAAOD,EAAME,IAAI,SAAUC,EAAGrB,GAC5B,MAAO,CAACA,EAAOqB,KACdC,KAAK,SAAUD,EAAGE,GACnB,OAAO/T,KAAK6T,EAAE,GAAIE,EAAE,KAAOF,EAAE,GAAKE,EAAE,IACpC9K,KAAK0K,IAAYC,IAAI,SAAU9D,GAC/B,OAAOA,EAAE,KA5Bb,iC,oCCAe,QACbkE,SAAU,CACRC,OAAQ,WACN,OAAQjU,KAAKkU,QAGjBhQ,MAAO,CACLgQ,MAAO,CACLzG,KAAM/O,QACNyV,SAAS,M,oCCAA,QACbjQ,MAAO,CACLkQ,MAAO,CAEL3G,KAAM,CAAC/O,QAASvB,QAChBgX,QAAS,OAGbH,SAAU,CACRK,cAAe,WACb,IAAID,EAAQpU,KAAKoU,MACjB,OAAc,IAAVA,GAA4B,UAAVA,IAED,IAAVA,GAA6B,YAAVA,GAGvB,MAETE,WAAY,WACV,IAAIF,EAAQpU,KAAKqU,cACjB,OAAc,IAAVD,EACK,YACY,IAAVA,EACF,aAEF,S,oCClCE,QACblQ,MAAO,CACLqQ,IAAK,CACH9G,KAAMtQ,OACNgX,QAAS,OAEXK,UAAW,CACT/G,KAAMtQ,OACNgX,QAAS,MAEXM,cAAe,CACbhH,KAAMtQ,OACNgX,QAAS,MAEXO,YAAa,CACXjH,KAAMtQ,OACNgX,QAAS,S,oCChBf,4BAGA,SAASQ,EAAS9Q,GAChB,OAAOA,GAAiC,oBAA1B,GAAGkG,SAASzJ,KAAKuD,GAGlB,QAEbK,MAAO,CACL0Q,QAAS,CACPnH,KAAM,CAACoH,MAAOtQ,QACd4P,QAAS,WACP,MAAO,KAGXW,WAAY,CACVrH,KAAMtQ,OACNgX,QAAS,SAEXY,UAAW,CACTtH,KAAMtQ,OACNgX,QAAS,QAEXa,cAAe,CACbvH,KAAMtQ,OACNgX,QAAS,aAGbH,SAAU,CACRiB,YAAa,WACX,IAAIL,EAAU5U,KAAK4U,QAEfE,EAAa9U,KAAK8U,WAClBC,EAAY/U,KAAK+U,UACjBC,EAAgBhV,KAAKgV,cAEzB,OAAI,eAAQJ,GAEHA,EAAQhB,IAAI,SAAUsB,GAC3B,OAAIP,EAASO,GACJ,CACLzX,MAAOyX,EAAOJ,GACdK,KAAMhY,OAAO+X,EAAOH,IACpBvW,SAAU0W,EAAOF,KAAkB,GAGhC,CACLvX,MAAOyX,EACPC,KAAMhY,OAAO+X,GACb1W,UAAU,KAMP,eAAKoW,GAAShB,IAAI,SAAUnP,GACjC,IAAIyQ,EAASN,EAAQnQ,IAAQ,GAC7B,GAAIkQ,EAASO,GAAS,CACpB,IAAIzX,EAAQyX,EAAOJ,GACfK,EAAOD,EAAOH,GAClB,MAAO,CACLtX,MAAwB,qBAAVA,EAAwBgH,EAAMhH,EAC5C0X,KAAsB,qBAATA,EAAuB1Q,EAAMtH,OAAOgY,GACjD3W,SAAU0W,EAAOF,KAAkB,GAGvC,MAAO,CACLvX,MAAOgH,EACP0Q,KAAMhY,OAAO+X,GACb1W,UAAU,S,oCCjEP,QACb+S,KAAM,WACJ,MAAO,CACL6D,aAAcpV,KAAKqV,QACnBC,UAAU,IAIdC,MAAO,CACLC,KAAM,UACN1K,MAAO,SAET5G,MAAO,CACLzG,MAAO,GACP4X,QAAS,GAGTI,cAAe,CAEbhI,KAAMtQ,OACNgX,QAAS,OAGbH,SAAU,CACR0B,qBAAsB,CACpBxD,IAAK,WACH,OAAIlS,KAAK2V,SACA3V,KAAK4V,QAAQR,aAEbpV,KAAKoV,cAGhBS,IAAK,SAAaC,GACZ9V,KAAK2V,SACP3V,KAAK4V,QAAQR,aAAeU,EAE5B9V,KAAKoV,aAAeU,IAI1BH,SAAU,WACR,OAAOjX,QAAQsB,KAAK4V,SAAW5V,KAAK4V,QAAQG,qBAE9CC,YAAa,WAEX,OAAOtX,QAAQsB,KAAK2V,UAAW3V,KAAK4V,QAAQpX,UAA4BwB,KAAKxB,WAE/EyX,YAAa,WACX,OAAOvX,QAAQsB,KAAK2V,SAAW3V,KAAK4V,QAAQM,SAAWlW,KAAKkW,WAE9DC,SAAU,WACR,OAAOzX,QAAQsB,KAAK2V,SAAW3V,KAAK4V,QAAQ1B,MAAQlU,KAAKkU,QAE3DkC,UAAW,WACT,OAAQpW,KAAKmW,UAEfE,SAAU,WACR,OAAOrW,KAAK2V,SAAW3V,KAAK4V,QAAQU,KAAOtW,KAAKsW,MAElDC,UAAW,WAET,OAAIvW,KAAK2V,UAA8C,mBAA3B3V,KAAK4V,QAAQW,UAChCvW,KAAK4V,QAAQW,UAEfvW,KAAKqU,eAEdmC,eAAgB,WAEd,MAAiC,mBAAnBxW,KAAKuW,UAA0BvW,KAAKuW,UAAY,WAAa,aAAe,IAE5FE,WAAY,WACV,OAAO/X,QAAQsB,KAAK2V,UAAY3V,KAAK4V,QAAQc,UAE/CC,UAAW,WACT,OAAQ3W,KAAKyW,YAEfG,cAAe,WACb,OAAOlY,QAAQsB,KAAK2V,UAAY3V,KAAK4V,QAAQiB,UAE/CC,kBAAmB,WAEjB,OAAO9W,KAAKyV,gBAAkBzV,KAAK2V,SAAW3V,KAAK4V,QAAQH,cAAgB,OAAS,aAEtFsB,SAAU,WACR,OAAQ/W,KAAK2V,SAAW3V,KAAK4V,QAAQ3Z,MAAQ+D,KAAK4V,QAAQoB,SAAWhX,KAAK/D,OAAS,MAErFgb,cAAe,WAEb,MAAO,CAAC,MAAO,OAASjX,KAAK8W,kBAAmB9W,KAAKqW,SAAW,OAASrW,KAAKqW,SAAW,GAEzFrW,KAAKgW,YAAc,WAAa,GAEhChW,KAAKkX,WAAa,SAAW,GAE7BlX,KAAKsV,SAAW,QAAU,MAG9B6B,QAAS,CACPC,YAAa,SAAqB5J,GAE5BxN,KAAK4W,eAAiBpJ,EAAIvJ,SACX,UAAbuJ,EAAIC,KACNzN,KAAKsV,UAAW,EACM,SAAb9H,EAAIC,OACbzN,KAAKsV,UAAW,Q,kCC1GX,SAAS+B,EAAWna,GAIjC,MAHmB,kBAARA,IACTA,EAAMC,OAAOD,IAERA,EAAIE,OAAO,GAAGwU,cAAgB1U,EAAII,MAAM,GAPjD,iC,oCCAe,QACb4G,MAAO,CACLjI,KAAM,CACJwR,KAAMtQ,QAERyD,GAAI,CACF6M,KAAMtQ,QAERqB,SAAU,CACRiP,KAAM/O,SAERwX,SAAU,CACRzI,KAAM/O,QACNyV,SAAS,M,oCCbf,gDAEe,SAASmD,EAAQC,GAC9B,IAAIC,EAAQ,eAAO,MAEnB,OAAO,WACL,IAAIC,EAAOC,KAAKC,UAAUlF,WAC1B,OAAO+E,EAAMC,GAAQD,EAAMC,IAASF,EAAGK,MAAM,KAAMnF,c,oCCPxC,QACbvO,MAAO,CACLoS,KAAM,CACJ7I,KAAMtQ,OACNgX,QAAS,OAGbH,SAAU,CACR6D,cAAe,WACb,MAAO,CAAC7X,KAAKsW,KAAO,gBAAkBtW,KAAKsW,KAAO,OAEpDwB,aAAc,WACZ,MAAO,CAAC9X,KAAKsW,KAAO,OAAStW,KAAKsW,KAAO,U,kCCR/B,kBACd,OAAOzB,MAAM+C,MAAM,KAAM,CAAExX,OAAQA,K,oCCKrC,SAAS2X,EAAcC,EAAUC,GAC/B,OAAOC,EAAMD,GAAUrE,IAAI,SAAUnW,EAAO+U,GAC1C,MAAO,CAAE2F,OAAQ3F,EAAQwF,EAAUhX,UAAW,QAKlD,IAAIoX,EAAqB,EAGrBlU,EAAQ,CACV1F,SAAU,CACRiP,KAAM/O,QACNyV,SAAS,GAEX1W,MAAO,CACLgQ,KAAM4K,OACNlE,QAAS,GAEXmE,MAAO,CACL7K,KAAM4K,OACNlE,QAAS,GAEXmC,KAAM,CACJ7I,KAAMtQ,OACNgX,QAAS,MAEXoE,MAAO,CACL9K,KAAMtQ,OACNgX,QAAS,QAEXqE,mBAAoB,CAClB/K,KAAM/O,QACNyV,SAAS,GAEXsE,UAAW,CACThL,KAAMtQ,OACNgX,QAAS,cAEXuE,eAAgB,CACdjL,KAAMtQ,OACNgX,QAAS,mBAEXwE,UAAW,CACTlL,KAAMtQ,OACNgX,QAAS,WAEXyE,cAAe,CACbnL,KAAMtQ,OACNgX,QAAS,sBAEX0E,SAAU,CACRpL,KAAMtQ,OACNgX,QAAS,YAEX2E,cAAe,CACbrL,KAAMtQ,OACNgX,QAAS,kBAEX4E,SAAU,CACRtL,KAAMtQ,OACNgX,QAAS,YAEX6E,cAAe,CACbvL,KAAMtQ,OACNgX,QAAS,kBAEX8E,SAAU,CACRxL,KAAMtQ,OACNgX,QAAS,WAEX+E,UAAW,CACTzL,KAAMtQ,OACNgX,QAAS,aAEXgF,aAAc,CACZ1L,KAAM/O,QACNyV,SAAS,GAEXiF,aAAc,CACZ3L,KAAMtQ,OACNgX,QAAS,aAIE,QACb5X,WAAY,CAAE8c,MAAO,QACrB9H,KAAM,WACJ,MAAO,CACL+H,eAAe,EACfC,cAAc,EACdC,YAAaxZ,KAAKvC,QAItByG,MAAOA,EACPuV,OAAQ,SAAgBC,GACtB,IAAItO,EAAQpL,KAER6W,EAAU,GAGV8C,EAAc,SAAqBC,EAAQnB,EAAWoB,EAASC,GACjE,IAAIC,OAAS,EAwCb,OAvCAD,EAAWA,GAAYF,EAErBG,EADE3O,EAAM5M,UAAY4M,EAAM4O,SAASF,GAC1BJ,EAAE,KAAM,CACfO,MAAO,CAAC,YAAa,YACrBC,MAAO,CAAEC,KAAM,oBAAqB,cAAe,SAClD,CAACT,EAAE,OAAQ,CACZO,MAAO,CAAC,aACRG,SAAU,CAAEvL,UAAWgL,OAGhBH,EAAE,KAAM,CACfO,MAAO,CAAC,aACRC,MAAO,CAAEC,KAAM,sBACd,CAACT,EAAE,SAAU,CACdO,MAAO,CAAC,aACR/V,MAAOkH,EAAMiP,UAAUT,GACvBM,MAAO,CACLC,KAAM,WACNG,SAAU,KACV,aAAc7B,EACd,gBAAiBrN,EAAMmP,cAAgB,MAEzC/N,GAAI,CACFzB,MAAO,SAAeyC,GACpBpC,EAAMoP,QAAQZ,EAAQpM,IAExBiN,QAAS,SAAiBjN,GAEpBA,EAAIkN,UAAY,OAAStf,QAC3BoS,EAAImN,iBACJvP,EAAMoP,QAAQZ,EAAQpM,OAI3B,CAACkM,EAAE,OAAQ,CACZQ,MAAO,CAAE,cAAe,QACxBE,SAAU,CAAEvL,UAAWgL,SAGpBE,GAILa,EAAe,WACjB,OAAOlB,EAAE,KAAM,CACbO,MAAO,CAAC,YAAa,WAAY,SAAU,aAC3CC,MAAO,CAAEC,KAAM,cACd,CAACT,EAAE,OAAQ,CACZO,MAAO,CAAC,aACRG,SAAU,CAAEvL,UAAWzD,EAAMgO,mBAKjCvC,EAAQgE,KAAK7a,KAAKwY,mBAAqBkB,GAAE,GAASC,EAAY,EAAG3Z,KAAK0Y,eAAgB1Y,KAAK2Y,YAG3F9B,EAAQgE,KAAKlB,EAAY3Z,KAAKwZ,YAAc,EAAGxZ,KAAK4Y,cAAe5Y,KAAK6Y,SAAU,IAGlFhC,EAAQgE,KAAK7a,KAAKsZ,cAAgBsB,IAAiBlB,GAAE,IAGrD1Z,KAAK8a,SAAStM,QAAQ,SAAUuM,GAC9B,IAAIC,OAAQ,EACRC,EAAU7P,EAAM8P,SAASH,EAAK5C,QAClC,GAAI/M,EAAM5M,SACRwc,EAAQtB,EAAE,OAAQ,CAChBO,MAAO,CAAC,aACRG,SAAU,CAAEvL,UAAWoM,SAEpB,CACL,IAAIE,EAAS/P,EAAM4O,SAASe,EAAK5C,QACjC6C,EAAQtB,EAAE,SAAU,CAClBO,MAAO7O,EAAMgQ,gBAAgBL,GAC7B7W,MAAOkH,EAAMiP,UAAUU,EAAK5C,QAC5B+B,MAAO,CACLC,KAAM,gBACNG,SAAUa,EAAS,IAAM,KACzB,gBAAiB/P,EAAMmP,cAAgB,KACvC,aAAcnP,EAAM8N,UAAY,IAAM6B,EAAK5C,OAC3C,eAAgBgD,EAAS,OAAS,QAClC,gBAAiBJ,EAAK5C,OACtB,eAAgB/M,EAAMiQ,eAExBjB,SAAU,CAAEvL,UAAWoM,GACvBzO,GAAI,CACFzB,MAAO,SAAeyC,GACpBpC,EAAMoP,QAAQO,EAAK5C,OAAQ3K,IAE7BiN,QAAS,SAAiBjN,GACpBA,EAAIkN,UAAY,OAAStf,QAC3BoS,EAAImN,iBACJvP,EAAMoP,QAAQO,EAAK5C,OAAQ3K,QAMrCqJ,EAAQgE,KAAKnB,EAAE,KAAM,CACnBjV,IAAKsW,EAAK5C,OACV8B,MAAO7O,EAAMkQ,gBAAgBP,GAC7Bb,MAAO,CAAEC,KAAM,sBACd,CAACa,OAINnE,EAAQgE,KAAK7a,KAAKuZ,aAAeqB,IAAiBlB,GAAE,IAGpD7C,EAAQgE,KAAKlB,EAAY3Z,KAAKwZ,YAAc,EAAGxZ,KAAK8Y,cAAe9Y,KAAK+Y,SAAU/Y,KAAKqb,gBAGvFxE,EAAQgE,KAAK7a,KAAKwY,mBAAqBkB,GAAE,GAASC,EAAY3Z,KAAKqb,cAAerb,KAAKgZ,cAAehZ,KAAKiZ,WAG3G,IAAIsC,EAAa7B,EAAE,KAAM,CACvB8B,IAAK,KACLvB,MAAO,CAAC,aAAc,eAAgBja,KAAKyb,QAASzb,KAAK0b,WACzDxB,MAAO,CACLC,KAAM,UACN,gBAAiBna,KAAKxB,SAAW,OAAS,QAC1C,aAAcwB,KAAKyY,WAAa,MAElCjM,GAAI,CACFiO,QAAS,SAAiBjN,GACxB,IAAIkN,EAAUlN,EAAIkN,QACdiB,EAAQnO,EAAIoO,SACZlB,IAAY,OAASnf,MACvBiS,EAAImN,iBACJgB,EAAQvQ,EAAMyQ,aAAezQ,EAAM0Q,aAC1BpB,IAAY,OAASjf,QAC9B+R,EAAImN,iBACJgB,EAAQvQ,EAAM2Q,YAAc3Q,EAAM4Q,gBAIvCnF,GAGH,OAAO7W,KAAKic,MAAQvC,EAAE,MAAO,GAAI,CAAC6B,IAAeA,GAGnDW,MAAO,CACL1C,YAAa,SAAqB2C,EAASC,GACrCD,IAAYC,GACdpc,KAAK0N,MAAM,QAASyO,IAGxB1e,MAAO,SAAe4e,EAAUC,GAC1BD,IAAaC,IACftc,KAAKwZ,YAAc6C,KAIzBrI,SAAU,CACRyH,QAAS,WACP,OAAOzb,KAAKsW,KAAO,cAAgBtW,KAAKsW,KAAO,IAEjDoF,UAAW,WACT,MAAmB,WAAf1b,KAAKuY,MACA,yBACiB,QAAfvY,KAAKuY,OAAkC,UAAfvY,KAAKuY,MAC/B,sBAEF,IAETuC,SAAU,WAEJ9a,KAAKwZ,YAAcxZ,KAAKqb,cAC1Brb,KAAKwZ,YAAcxZ,KAAKqb,cACfrb,KAAKwZ,YAAc,IAC5BxZ,KAAKwZ,YAAc,GAGrBxZ,KAAKsZ,eAAgB,EAErBtZ,KAAKuZ,cAAe,EACpB,IAAIgD,EAAWvc,KAAKsY,MAChBN,EAAW,EACXhY,KAAKqb,eAAiBrb,KAAKsY,MAE7BiE,EAAWvc,KAAKqb,cACPrb,KAAKwZ,YAAcxZ,KAAKsY,MAAQ,GAAKtY,KAAKsY,MAAQF,EAEtDpY,KAAKmZ,eACRoD,EAAWvc,KAAKsY,MAAQ,EACxBtY,KAAKuZ,cAAe,GAEbvZ,KAAKqb,cAAgBrb,KAAKwZ,YAAc,EAAIxZ,KAAKsY,OAAStY,KAAKsY,MAAQF,GAE3EpY,KAAKmZ,eACRnZ,KAAKsZ,eAAgB,EACrBiD,EAAWvc,KAAKsY,MAAQ,GAE1BN,EAAWhY,KAAKqb,cAAgBkB,EAAW,IAGvCvc,KAAKsY,MAAQF,IAAuBpY,KAAKmZ,eAC3CnZ,KAAKsZ,eAAgB,EACrBtZ,KAAKuZ,cAAe,EACpBgD,EAAWvc,KAAKsY,MAAQ,GAE1BN,EAAWhY,KAAKwZ,YAAcgD,KAAKC,MAAMF,EAAW,IAGlDvE,EAAW,EACbA,EAAW,EACFA,EAAWhY,KAAKqb,cAAgBkB,IACzCvE,EAAWhY,KAAKqb,cAAgBkB,EAAW,GAG7C,IAAIG,EAAQ3E,EAAcC,EAAUuE,GAGpC,GAAIG,EAAMtc,OAAS,EAAG,CACpB,IAAIuc,EAAM3c,KAAKwZ,YAAcxB,EAC7B,GAAY,IAAR2E,EAEF,IAAK,IAAIxc,EAAI,EAAGA,EAAIuc,EAAMtc,OAAQD,IAChCuc,EAAMvc,GAAGa,UAAY,wBAElB,GAAI2b,IAAQD,EAAMtc,OAAS,EAEhC,IAAK,IAAIwc,EAAK,EAAGA,EAAKF,EAAMtc,OAAS,EAAGwc,IACtCF,EAAME,GAAI5b,UAAY,uBAEnB,CAEL,IAAK,IAAI6b,EAAM,EAAGA,EAAMF,EAAM,EAAGE,IAC/BH,EAAMG,GAAK7b,UAAY,mBAGzB,IAAK,IAAI8b,EAAMJ,EAAMtc,OAAS,EAAG0c,EAAMH,EAAM,EAAGG,IAC9CJ,EAAMI,GAAK9b,UAAY,oBAI7B,OAAO0b,IAGXvF,QAAS,CACP6C,SAAU,SAAkB+C,GAC1B,OAAOA,IAAY/c,KAAKwZ,aAE1B8B,gBAAiB,SAAyBP,GACxC,MAAO,CAAC,YAAa/a,KAAKxB,SAAW,WAAa,GAAIwB,KAAKga,SAASe,EAAK5C,QAAU,SAAW,GAAI4C,EAAK/Z,YAEzGoa,gBAAiB,SAAyBL,GACxC,MAAO,CAAC,YAAa/a,KAAKxB,SAAW,WAAa,GAGlDwB,KAAKga,SAASe,EAAK5C,QAAU,cAAgB,KAE/C6E,WAAY,WAEV,OAAO,eAAU,cAAehd,KAAKid,KAAKhP,OAAO,SAAUiP,GACzD,OAAO,eAAUA,MAGrBC,YAAa,SAAqBD,GAChCld,KAAKod,UAAU,WACbF,EAAI5P,WAGR+P,aAAc,WACZ,IAAI5Q,EAASzM,KAETkd,EAAMld,KAAKgd,aAAaM,KAAK,SAAU1f,GACzC,OAAO2f,SAAS,eAAQ3f,EAAI,iBAAkB,MAAQ6O,EAAO+M,cAE3D0D,GAAOA,EAAI5P,MACbtN,KAAKmd,YAAYD,GAGjBld,KAAK6b,cAGTA,WAAY,WACV,IAAIqB,EAAMld,KAAKgd,aAAaM,KAAK,SAAU1f,GACzC,OAAQ,eAAWA,KAEjBsf,GAAOA,EAAI5P,OAAS4P,IAAQjf,SAASuf,eACvCxd,KAAKmd,YAAYD,IAGrBnB,UAAW,WACT,IAAImB,EAAMld,KAAKgd,aAAaS,UAAUH,KAAK,SAAU1f,GACnD,OAAQ,eAAWA,KAEjBsf,GAAOA,EAAI5P,OAAS4P,IAAQjf,SAASuf,eACvCxd,KAAKmd,YAAYD,IAGrBpB,UAAW,WACT,IAAIjF,EAAU7W,KAAKgd,aACfL,EAAM9F,EAAQ6G,QAAQzf,SAASuf,eAC/Bb,EAAM,IAAM,eAAW9F,EAAQ8F,EAAM,KAAO9F,EAAQ8F,EAAM,GAAGrP,OAC/DtN,KAAKmd,YAAYtG,EAAQ8F,EAAM,KAGnCX,UAAW,WACT,IAAInF,EAAU7W,KAAKgd,aACfL,EAAM9F,EAAQ6G,QAAQzf,SAASuf,eAC/BG,EAAM9G,EAAQzW,OAAS,EACvBuc,EAAMgB,IAAQ,eAAW9G,EAAQ8F,EAAM,KAAO9F,EAAQ8F,EAAM,GAAGrP,OACjEtN,KAAKmd,YAAYtG,EAAQ8F,EAAM,Q,oCC/ZvC,SAASiB,EAAKC,GACZC,QAAQF,KAAK,yBAA2BC,GAG3B,U,oCCTf,4BAAIna,EAA4B,oBAAXC,QAAoD,kBAApBA,OAAOC,SAAwB,SAAUC,GAAO,cAAcA,GAAS,SAAUA,GAAO,OAAOA,GAAyB,oBAAXF,QAAyBE,EAAIC,cAAgBH,QAAUE,IAAQF,OAAOpE,UAAY,gBAAkBsE,GAUtQ,SAAS8Q,EAAS9Q,GAChB,OAAe,OAARA,GAA8E,YAA9C,qBAARA,EAAsB,YAAcH,EAAQG,IAQ7E,SAASka,EAAWlK,EAAGE,GACrB,GAAIF,IAAME,EAAG,OAAO,EACpB,IAAIiK,EAAYrJ,EAASd,GACrBoK,EAAYtJ,EAASZ,GACzB,IAAIiK,IAAaC,EAoBV,OAAKD,IAAcC,GACjB9gB,OAAO0W,KAAO1W,OAAO4W,GApB5B,IACE,IAAImK,EAAW,eAAQrK,GACnBsK,EAAW,eAAQpK,GACvB,GAAImK,GAAYC,EACd,OAAOtK,EAAEzT,SAAW2T,EAAE3T,QAAUyT,EAAEuK,MAAM,SAAUtO,EAAG3P,GACnD,OAAO4d,EAAWjO,EAAGiE,EAAE5T,MAEpB,GAAK+d,GAAaC,EAOvB,OAAO,EANP,IAAIE,EAAQ,eAAKxK,GACbyK,EAAQ,eAAKvK,GACjB,OAAOsK,EAAMje,SAAWke,EAAMle,QAAUie,EAAMD,MAAM,SAAU3Z,GAC5D,OAAOsZ,EAAWlK,EAAEpP,GAAMsP,EAAEtP,MAKhC,MAAOqL,GACP,OAAO,GASE,U,oCClDf,wEAYe,SAASyO,EAAWC,EAAaC,GAC9C,IAAIC,EAAcjM,UAAUrS,OAAS,QAAsBsO,IAAjB+D,UAAU,GAAmBA,UAAU,GAAK,OAEtF,OAAQ,eAAQ+L,GAAeA,EAAYlhB,QAAU,eAAKkhB,IAAcG,OAAO,SAAUC,EAAMpJ,GAE7F,OAAOoJ,EAAKF,EAAYlJ,IAASiJ,EAAWjJ,GAAOoJ,GAClD,M,kCClBL,wEAAIlb,EAA4B,oBAAXC,QAAoD,kBAApBA,OAAOC,SAAwB,SAAUC,GAAO,cAAcA,GAAS,SAAUA,GAAO,OAAOA,GAAyB,oBAAXF,QAAyBE,EAAIC,cAAgBH,QAAUE,IAAQF,OAAOpE,UAAY,gBAAkBsE,GAUvP,SAASgb,EAAU3a,GAChC,IAAIwa,EAAcjM,UAAUrS,OAAS,QAAsBsO,IAAjB+D,UAAU,GAAmBA,UAAU,GAAK,OAEtF,GAAI,eAAQvO,GACV,OAAOA,EAAM0P,IAAI8K,GAGnB,IAAII,EAAS,GAEb,IAAK,IAAItJ,KAAQtR,EACXA,EAAM0O,eAAe4C,KAC6C,YAA/C,qBAATA,EAAuB,YAAc9R,EAAQ8R,IACvDsJ,EAAOJ,EAAYlJ,IAAS,eAAO,GAAItR,EAAMsR,IAE7CsJ,EAAOJ,EAAYlJ,IAAStR,EAAMsR,IAKxC,OAAOsJ,I,kCC7BT,gIAEKjK,MAAMkK,OACTlK,MAAMkK,KAAO,WACX,IAAIC,EAAQza,OAAOhF,UAAUwK,SACzBkV,EAAa,SAAoB1H,GACnC,MAAqB,oBAAPA,GAAwC,sBAAnByH,EAAM1e,KAAKiX,IAE5C2H,EAAY,SAAmBzhB,GACjC,IAAI0a,EAASE,OAAO5a,GACpB,OAAI0hB,MAAMhH,GACD,EAEM,IAAXA,GAAiBiH,SAASjH,IAGtBA,EAAS,EAAI,GAAK,GAAKqE,KAAKC,MAAMD,KAAK6C,IAAIlH,IAF1CA,GAIPmH,EAAiB9C,KAAK+C,IAAI,EAAG,IAAM,EACnCC,EAAW,SAAkB/hB,GAC/B,OAAO+e,KAAKiD,IAAIjD,KAAKkD,IAAIR,EAAUzhB,GAAQ,GAAI6hB,IAIjD,OAAO,SAAcK,GAEnB,IAAIC,EAAI5f,KAGJ6f,EAAQtb,OAAOob,GAGnB,GAAiB,MAAbA,EACF,MAAM,IAAI5a,UAAU,oEAItB,IAAI+a,EAAQrN,UAAUrS,OAAS,EAAIqS,UAAU,QAAK,EAC9CsN,OAAI,EAER,GAAqB,qBAAVD,EAAuB,CAGhC,IAAKb,EAAWa,GACd,MAAM,IAAI/a,UAAU,qEAIlB0N,UAAUrS,OAAS,IACrB2f,EAAItN,UAAU,IAMlB,IAAIuN,EAAMR,EAASK,EAAMzf,QAMrB6f,EAAIhB,EAAWW,GAAKrb,OAAO,IAAIqb,EAAEI,IAAQ,IAAInL,MAAMmL,GAGnDE,EAAI,EAEJC,OAAS,EACb,MAAOD,EAAIF,EACTG,EAASN,EAAMK,GAEbD,EAAEC,GADAJ,EACkB,qBAANC,EAAoBD,EAAMK,EAAQD,GAAKJ,EAAMxf,KAAKyf,EAAGI,EAAQD,GAEpEC,EAETD,GAAK,EAKP,OAFAD,EAAE7f,OAAS4f,EAEJC,GA5EE,IAmFVpL,MAAMtV,UAAU+d,MAEnB/Y,OAAOC,eAAeqQ,MAAMtV,UAAW,OAAQ,CAC7C9B,MAAO,SAAe2iB,GAEpB,GAAY,MAARpgB,KACF,MAAM,IAAI+E,UAAU,iCAGtB,IAAIsb,EAAI9b,OAAOvE,MAGXggB,EAAMK,EAAEjgB,SAAW,EAGvB,GAAyB,oBAAdggB,EACT,MAAM,IAAIrb,UAAU,gCAItB,IAAIub,EAAU7N,UAAU,GAGpByN,EAAI,EAGR,MAAOA,EAAIF,EAAK,CAKd,IAAIG,EAASE,EAAEH,GACf,GAAIE,EAAU9f,KAAKggB,EAASH,EAAQD,EAAGG,GACrC,OAAOF,EAGTD,QASHrL,MAAM0L,UACT1L,MAAM0L,QAAU,SAAUC,GACxB,MAA+C,mBAAxCjc,OAAOhF,UAAUwK,SAASzJ,KAAKkgB,KAKnC,IAAIzB,EAAOlK,MAAMkK,KACbwB,EAAU1L,MAAM0L,QAGhBE,EAAgB,SAAuB/M,EAAOjW,GACvD,OAAiC,IAA1BiW,EAAMgK,QAAQjgB,IAKhB,SAASoQ,IACd,OAAOgH,MAAMtV,UAAUsO,OAAO+J,MAAM,GAAInF,a,kCCrJ1C,4DAUe,SAASiO,EAAW9iB,EAAIoP,EAAU2T,GAC/C,IAAIC,EAAmB7jB,OAAO6jB,kBAAoB7jB,OAAO8jB,wBAA0B9jB,OAAO+jB,oBACtFC,EAAyBhkB,OAAOwG,iBAKpC,GAFA3F,EAAKA,EAAKA,EAAGqf,KAAOrf,EAAK,MAEpB,eAAUA,GAEb,OAAO,KAGT,IAAIojB,EAAM,KA0CV,OAvCIJ,GAEFI,EAAM,IAAIJ,EAAiB,SAAUK,GAInC,IAHA,IAAIC,GAAU,EAGL/gB,EAAI,EAAGA,EAAI8gB,EAAU7gB,SAAW8gB,EAAS/gB,IAAK,CAErD,IAAIghB,EAAWF,EAAU9gB,GAErBsN,EAAO0T,EAAS1T,KAEhBxJ,EAASkd,EAASld,OACT,kBAATwJ,GAA4BxJ,EAAOpG,WAAaC,KAAKsjB,UAEvDF,GAAU,EACQ,eAATzT,EACTyT,GAAU,EACQ,cAATzT,IAAyB0T,EAASE,WAAWjhB,OAAS,GAAK+gB,EAASG,aAAalhB,OAAS,KAEnG8gB,GAAU,GAGVA,GAEFlU,MAKJgU,EAAIO,QAAQ3jB,EAAI,eAAO,CAAE4jB,WAAW,EAAMC,SAAS,GAAQd,KAClDI,IAETnjB,EAAG2F,iBAAiB,kBAAmByJ,GAAU,GACjDpP,EAAG2F,iBAAiB,iBAAkByJ,GAAU,IAK3CgU,I,kDChEM,GACbU,QAAS,WACiB,qBAAbzjB,UACTA,SAASwC,gBAAgB8C,iBAAiB,QAASvD,KAAK2hB,oBAG5DC,cAAe,WACW,qBAAb3jB,UACTA,SAASwC,gBAAgBgD,oBAAoB,QAASzD,KAAK2hB,oBAI/DxK,QAAS,CACPwK,kBAAmB,SAA2B7R,GACvC9P,KAAKid,IAAI9e,SAAS2R,EAAE7L,SACnBjE,KAAK6hB,kBACP7hB,KAAK6hB,sB,oFCLf,SAASC,EAAcC,GACrB,OAAQA,GAAO,IAAI9T,OAAO,QAK5B,IAAI+T,EAAgB,gDAGhBzc,EAAgB,CAElBE,IAAK,YAELwc,OAAQ,UAERvc,OAAQ,eAERwc,UAAW,cAGE,QACbC,OAAQ,CAACC,EAAe,QACxBle,MAAO,CACL1F,SAAU,CACRiP,KAAM/O,QACNyV,SAAS,GAEXgB,KAAM,CAEJ1H,KAAMtQ,OACNgX,QAAS,IAEXkO,OAAQ,CAEN5U,KAAM/O,QACNyV,SAAS,GAEXmO,MAAO,CAEL7U,KAAM/O,QACNyV,SAAS,GAEXnS,OAAQ,CAENyL,KAAM,CAAC4K,OAAQlb,QACfgX,QAAS,GAEXoO,OAAQ,CAEN9U,KAAM/O,QACNyV,SAAS,GAEXqO,WAAY,CACV/U,KAAMlJ,OACN4P,QAAS,eAGb5C,KAAM,WACJ,MAAO,CACLkR,SAAS,EACTC,SAAU,KACVC,wBAAwB,IAG5BC,QAAS,WAEP5iB,KAAK6iB,QAAU,MAEjBnB,QAAS,WAEP1hB,KAAK8iB,aAAa,sBAAuB9iB,KAAK+iB,mBAE9C/iB,KAAK8iB,aAAa,gBAAiB9iB,KAAK+iB,mBAExC/iB,KAAK8iB,aAAa,oBAAqB9iB,KAAK+iB,oBAI9CC,YAAa,WAEXhjB,KAAKyiB,SAAU,EACfziB,KAAKijB,eAAc,GACnBjjB,KAAKiM,gBAIP2V,cAAe,WACb5hB,KAAKyiB,SAAU,EACfziB,KAAKijB,eAAc,GACnBjjB,KAAKiM,gBAGPiQ,MAAO,CACLuG,QAAS,SAAiBpG,EAAUC,GAClC,GAAItc,KAAK2iB,uBACP3iB,KAAK2iB,wBAAyB,OAIhC,GAAItG,IAAaC,EAAU,CACzB,IAAIjZ,EAAUgZ,EAAW,OAAS,OAC9B6G,EAAQ,IAAI,OAAQ7f,EAAS,CAC/BqH,YAAY,EACZyY,UAAWnjB,KACXiE,OAAQjE,KAAKojB,MAAMC,KACnB1Y,cAAe,OAGjB,GADA3K,KAAK4K,UAAUsY,GACXA,EAAMpX,iBAIR,OAFA9L,KAAK2iB,wBAAyB,OAC9B3iB,KAAKyiB,QAAUnG,GAGD,SAAZjZ,EACFrD,KAAKsjB,WAELtjB,KAAKujB,aAIX/kB,SAAU,SAAkB6d,EAAUC,GAChCD,IAAaC,GAAYD,GAAYrc,KAAKyiB,UAE5CziB,KAAKyiB,SAAU,KAIrBzO,SAAU,CACRwP,QAAS,WACP,OAAOxjB,KAAKojB,MAAMrT,OAAOkN,KAAOjd,KAAKojB,MAAMrT,SAG/CoH,QAAS,CAEPvM,UAAW,SAAmBsY,GAC5B,IAAIzV,EAAOyV,EAAMzV,KACjBzN,KAAK0N,MAAMD,EAAMyV,GACjBljB,KAAKyjB,WAAW,iBAAmBhW,EAAMyV,IAE3CI,SAAU,WACR,IAAItjB,KAAKxB,SAAT,CAaA,GATAwB,KAAKyjB,WAAW,sBAAuBzjB,MAGjB,OAAlBA,KAAK0iB,UAAqB1iB,KAAKic,QACjCjc,KAAK0iB,SAAWhkB,QAAQ,eAAQ,UAAWsB,KAAKid,QAK7Cjd,KAAK0iB,SACR,GAAsB,qBAAX,OACT,OAAA9E,EAAA,MAAK,yEACA,CAEL,IAAI7d,EAAUC,KAAKqiB,QAAUriB,KAAKsiB,OAAStiB,KAAK4N,MAAQ5N,KAAKid,IAAMjd,KAAKojB,MAAMrT,OAE9EhQ,EAAUA,EAAQkd,KAAOld,EAEzBC,KAAK0jB,aAAa3jB,GAItBC,KAAKijB,eAAc,GACnBjjB,KAAK0N,MAAM,SAGX1N,KAAKod,UAAUpd,KAAK2jB,kBAEtBJ,SAAU,WACRvjB,KAAKijB,eAAc,GACnBjjB,KAAKyjB,WAAW,uBAAwBzjB,MACxCA,KAAK0N,MAAM,UACX1N,KAAKiM,gBAEPyX,aAAc,SAAsB3jB,GAClCC,KAAKiM,eACLjM,KAAK6iB,QAAU,IAAI,OAAO9iB,EAASC,KAAKojB,MAAMC,KAAMrjB,KAAKkM,oBAE3DD,aAAc,WACRjM,KAAK6iB,SAEP7iB,KAAK6iB,QAAQtY,UAEfvK,KAAK6iB,QAAU,MAEjB3W,gBAAwE,WACtE,IAAI9E,EAAY7B,EAAcG,OAC1B1F,KAAKqiB,QAAUriB,KAAKsiB,MAEtBlb,EAAY7B,EAAc0c,OACjBjiB,KAAKqiB,OAEdjb,EAAY7B,EAAcE,IACjBzF,KAAKsiB,QAEdlb,EAAY7B,EAAc2c,WAE5B,IAAI0B,EAAe,CACjBxc,UAAWA,EACX2J,UAAW,CACT/O,OAAQ,CACNA,OAAQhC,KAAKgC,QAAU,GAEzBiP,KAAM,CACJ4S,SAAU7jB,KAAKuiB,UASrB,OALIviB,KAAKyH,WACPmc,EAAa7S,UAAUK,gBAAkB,CACvCC,kBAAmBrR,KAAKyH,WAGrB,eAAOmc,EAAc5jB,KAAKwiB,YAAc,KAEjDS,cAAe,SAAuBzW,GACpC,IAAIpB,EAAQpL,KAQZ,GAAI,iBAAkB/B,SAASwC,gBAAiB,CAC9C,IAAIgQ,EAAW,OAAAiD,EAAA,MAAUzV,SAASC,KAAKuS,UACvCA,EAASjC,QAAQ,SAAU5Q,GACrB4O,EACF,eAAQ,YAAapB,EAAMsF,OAE3B,eAAS,YAAatF,EAAMsF,WAOpCA,MAAO,aAGPqS,kBAAmB,SAA2Be,GACxCA,IAAO9jB,OACTA,KAAKyiB,SAAU,IAGnBZ,iBAAkB,WAChB7hB,KAAKyiB,SAAU,GAEjB5Y,KAAM,WAEA7J,KAAKxB,WAGTwB,KAAKyiB,SAAU,IAEjB3Y,KAAM,WAEA9J,KAAKxB,WAGTwB,KAAKyiB,SAAU,IAEjB1S,OAAQ,SAAgBvC,GAEtBA,EAAMA,GAAO,GACb,IAAIC,EAAOD,EAAIC,KACXhJ,EAAM+I,EAAIkN,QACD,UAATjN,IAA+B,YAATA,GAAuBhJ,IAAQ,OAASpJ,OAASoJ,IAAQ,OAASrJ,OAASqJ,IAAQ,OAAS/I,QAIlHsE,KAAKxB,SACPwB,KAAKyiB,SAAU,GAGjBziB,KAAK0N,MAAM,SAAUF,GACjBA,EAAI1B,mBAIR0B,EAAImN,iBACJnN,EAAIuW,kBAEJ/jB,KAAKyiB,SAAWziB,KAAKyiB,YAEvB1X,MAAO,SAAeyC,GAEhBxN,KAAKxB,SACPwB,KAAKyiB,SAAU,EAGjBziB,KAAK0N,MAAM,QAASF,IAItBwW,UAAW,SAAmBxW,GAE5B,IAAI/I,EAAM+I,EAAIkN,QACVjW,IAAQ,OAASnJ,IAEnB0E,KAAKikB,MAAMzW,GACF/I,IAAQ,OAASyf,IAE1BlkB,KAAKmkB,MAAM3W,GACF/I,IAAQ,OAAS/I,KAE1BsE,KAAKgc,UAAUxO,GAAK,GACX/I,IAAQ,OAASjJ,IAE1BwE,KAAKgc,UAAUxO,GAAK,IAKxByW,MAAO,SAAezW,GAChBxN,KAAKyiB,UACPziB,KAAKyiB,SAAU,EACfjV,EAAImN,iBACJnN,EAAIuW,kBAEJ/jB,KAAKod,UAAUpd,KAAKokB,gBAKxBD,MAAO,SAAe3W,GAChBxN,KAAKyiB,UAIPziB,KAAKyiB,SAAU,IAGnB4B,WAAY,SAAoB7W,GAC1BxN,KAAKojB,MAAMC,KAAKllB,SAASqP,EAAI7C,iBAGjC3K,KAAKyiB,SAAU,IAIjB6B,YAAa,SAAqB9W,GAGhC,IAAInN,EAAOmN,EAAIvJ,OACX5D,EAAK5B,UAAUN,SAAS,mBAAqBkC,EAAK7B,WAAa6B,EAAK5B,UAAUN,SAAS,aAAekC,EAAKiN,OAC7GjN,EAAKiN,SAGT0O,UAAW,SAAmBxO,EAAK+W,GACjC,IAAI9X,EAASzM,KAERA,KAAKyiB,UAGVjV,EAAImN,iBACJnN,EAAIuW,kBACJ/jB,KAAKod,UAAU,WACb,IAAIyC,EAAQpT,EAAO+X,WACnB,KAAI3E,EAAMzf,OAAS,GAAnB,CAGA,IAAIoS,EAAQqN,EAAMnC,QAAQlQ,EAAIvJ,QAC1BsgB,GAAM/R,EAAQ,EAChBA,KACU+R,GAAM/R,EAAQqN,EAAMzf,OAAS,GACvCoS,IAEEA,EAAQ,IACVA,EAAQ,GAEV/F,EAAOgY,UAAUjS,EAAOqN,QAG5B4E,UAAW,SAAmB9H,EAAKkD,GACjC,IAAIjiB,EAAKiiB,EAAMvC,KAAK,SAAU1f,EAAIuC,GAChC,OAAOA,IAAMwc,IAEX/e,GAAkC,OAA5B,eAAQA,EAAI,aACpBA,EAAG0P,SAGPkX,SAAU,WAER,OAAO1C,EAAc,eAAUE,EAAehiB,KAAKojB,MAAMC,QAE3DqB,aAAc,WAEZ,IAAIrkB,EAAOL,KAAKwkB,WAAW,GAC3B,OAAOnkB,GAAQ,MAEjBsjB,eAAgB,WACd,IAAItjB,EAAOL,KAAK0kB,eACZrkB,GACFL,KAAKykB,UAAU,EAAG,CAACpkB,KAGvB+jB,aAAc,WACZ,IAAIZ,EAAUxjB,KAAKwjB,QACfA,GAAWA,EAAQlW,OACrBkW,EAAQlW,Y,0EC9ZZqX,EAA0B,qBAAX5nB,OAER6nB,EAAcD,EAAQpgB,OAASxH,OAAO6nB,Y,YCJ7ClhB,EAA4B,oBAAXC,QAAoD,kBAApBA,OAAOC,SAAwB,SAAUC,GAAO,cAAcA,GAAS,SAAUA,GAAO,OAAOA,GAAyB,oBAAXF,QAAyBE,EAAIC,cAAgBH,QAAUE,IAAQF,OAAOpE,UAAY,gBAAkBsE,GAYlQghB,EAAa,CACf3iB,IAAK,MACL4iB,QAAS,UACTC,SAAU,WACVzC,MAAO,QACP0C,SAAU,WACVC,YAAa,cACbC,OAAQ,SACRC,WAAY,aACZC,YAAa,cACbjjB,KAAM,OACNkjB,QAAS,UACTC,WAAY,aACZC,KAAM,QAGJC,EAAkB,CACpB/D,SAAS,EACTD,WAAW,EACXiE,eAAe,EACfC,YAAY,EACZC,gBAAiB,CAAC,QAAS,UAGd,QACbzhB,MAAO,CACLD,OAAQ,CAENwJ,KAAM,CAACtQ,OAAQoH,OAAQqgB,EAAagB,WAEtC1e,MAAO,CACLuG,KAAM,CAAC4K,OAAQ9T,OAAQpH,QACvBgX,QAAS,GAEXnS,OAAQ,CACNyL,KAAM,CAAC4K,OAAQlb,QACfgX,QAAS,GAEX0R,OAAQ,CACNpY,KAAM/O,QACNyV,SAAS,GAEX7M,UAAW,CAETmG,KAAMtQ,OACNgX,QAAS,MAEX1M,SAAU,CAGRgG,KAAM,CAACtQ,OAAQoH,QACf4P,QAAS,gBAEXtK,KAAM,CACJ4D,KAAM/O,QACNyV,SAAS,GAEX3V,SAAU,CACRiP,KAAM/O,QACNyV,SAAS,IAGb+H,MAAO,CACLrS,KAAM,SAAcic,EAAOC,GACrBD,IAAUC,IAGdD,EAAQ9lB,KAAKgmB,SAAWhmB,KAAKimB,YAE/BznB,SAAU,SAAkB0nB,EAAWH,GACjCG,IAAcH,IAGlBG,EAAYlmB,KAAKmmB,YAAcnmB,KAAKomB,cAGxCxD,QAAS,WAEP5iB,KAAKqmB,SAAW,KAChBrmB,KAAKsmB,WAAa,KAClBtmB,KAAKumB,aAAe,MAEtB7E,QAAS,WACP,IAAItW,EAAQpL,KAGZA,KAAKod,UAAU,WAGThS,EAAMob,kBACJpb,EAAM5M,UAER4M,EAAM+a,YAGR/a,EAAMqb,IAAI,OAAQrb,EAAM4a,QAExB5a,EAAMqb,IAAI,QAASrb,EAAM6a,SAEzB7a,EAAMqb,IAAI,UAAWrb,EAAM+a,WAE3B/a,EAAMqb,IAAI,SAAUrb,EAAMgb,UAE1Bhb,EAAMsb,cAAa,GAEftb,EAAMvB,MACRuB,EAAM4a,aAKdW,QAAS,WAEH3mB,KAAKqmB,UACPrmB,KAAKqmB,SAAS3c,aAAa1J,KAAK4mB,cAKpCC,UAAW,WAET7mB,KAAK0mB,cAAa,IAIpB1D,YAAa,WAEPhjB,KAAKqmB,WACPrmB,KAAK0mB,cAAa,GAClB1mB,KAAKqmB,SAASvc,SAKlB8X,cAAe,WAEb5hB,KAAK8mB,KAAK,OAAQ9mB,KAAKgmB,QACvBhmB,KAAK8mB,KAAK,QAAS9mB,KAAKimB,SACxBjmB,KAAK8mB,KAAK,UAAW9mB,KAAKmmB,WAC1BnmB,KAAK8mB,KAAK,SAAU9mB,KAAKomB,UACzBpmB,KAAK0mB,cAAa,GAElB1mB,KAAK+mB,cACD/mB,KAAKqmB,WACPrmB,KAAKqmB,SAAS9b,UACdvK,KAAKqmB,SAAW,OAIpBrS,SAAU,CACRgT,WAAY,WACV,IAAIC,EAAOjnB,KAAKsH,UACZJ,EAAgC,WAAxBxD,EAAQ1D,KAAKkH,OAAsBlH,KAAKkH,MAAQqW,SAASvd,KAAKkH,MAAO,KAAO,EACxF,MAAO,CAELD,OAAQjH,KAAKiH,OAAS,IAAI8G,QAAU,GAEpC/D,SAAUhK,KAAKgK,SAAW,IAAI+D,QAAU,GAExC3G,UAAWyd,EAAW7kB,KAAKoH,YAAc,OAEzCE,YAAW2f,IAAO,KAAKnmB,KAAKmmB,GAAQA,EAAO,IAAMA,GAEjDxf,SAAUzH,KAAKyH,SAEfP,MAAOA,GAAS,EAEhBlF,OAAQhC,KAAKgC,QAAU,EAEvB8E,WAAY9G,KAAK6lB,OAEjB7e,QAAS,eAAQhH,KAAK0P,UAAY1P,KAAK0P,SAAS5B,KAAK,KAAO9N,KAAK0P,SAEjElI,UAAW,CACTqC,KAAM7J,KAAKknB,OACXC,MAAOnnB,KAAKonB,QACZtd,KAAM9J,KAAKqnB,OACXC,OAAQtnB,KAAKunB,SACb1D,QAAS7jB,KAAKwnB,UACdhpB,SAAUwB,KAAKynB,eAKvBtQ,QAAS,CACPyP,UAAW,WACT,IAAIc,EAAM,eAAO,GAAI1nB,KAAKgnB,YAa1B,OAZIhnB,KAAKojB,MAAMnc,OAASjH,KAAKojB,MAAMnc,MAAM4H,UAAUd,SAGjD2Z,EAAIzgB,MAAQjH,KAAKojB,MAAMnc,MACvBygB,EAAIvgB,MAAO,GAETnH,KAAKojB,MAAMpZ,SAAWhK,KAAKojB,MAAMpZ,QAAQ6E,UAAUd,SAGrD2Z,EAAI1d,QAAUhK,KAAKojB,MAAMpZ,QACzB0d,EAAIvgB,MAAO,GAENugB,GAET1B,OAAQ,WACFhmB,KAAKqmB,UACPrmB,KAAKqmB,SAASxc,QAGlBoc,QAAS,SAAiBjZ,GACpBhN,KAAKqmB,SACPrmB,KAAKqmB,SAASvc,KAAKkD,GACU,oBAAbA,GAChBA,KAGJmZ,UAAW,WACLnmB,KAAKqmB,UACPrmB,KAAKqmB,SAAS/V,WAGlB8V,SAAU,WACJpmB,KAAKqmB,UACPrmB,KAAKqmB,SAAS9V,UAGlBoX,eAAgB,WACV3nB,KAAKqmB,UAEPrmB,KAAKqmB,SAASuB,UAGlBC,UAAW,WACT,IAAI5jB,EAASjE,KAAKiE,OAIlB,MAHsB,oBAAXA,IACTA,EAASA,KAEW,kBAAXA,EAEF,eAAQA,GAC8D,YAAjD,qBAAXA,EAAyB,YAAcP,EAAQO,KAAyB,eAAUA,EAAOgZ,KAEnGhZ,EAAOgZ,IAC+D,YAAjD,qBAAXhZ,EAAyB,YAAcP,EAAQO,KAAyB,eAAUA,GAE5FA,EAEF,MAETijB,OAAQ,SAAgB1Z,GACtBxN,KAAK0N,MAAM,OAAQF,IAErB4Z,QAAS,SAAiB5Z,GACxBxN,KAAK0mB,cAAa,GAClB1mB,KAAK0N,MAAM,eAAe,GAC1B1N,KAAK0N,MAAM,QAASF,IAEtB6Z,OAAQ,SAAgB7Z,GACtBxN,KAAK0N,MAAM,OAAQF,IAErB+Z,SAAU,SAAkB/Z,GAC1BxN,KAAK0mB,cAAa,GAGlB1mB,KAAK+mB,cACL/mB,KAAK0N,MAAM,eAAe,GAC1B1N,KAAK0N,MAAM,SAAUF,IAEvBga,UAAW,SAAmBha,GACvBA,GAAoB,YAAbA,EAAIC,OAIhBzN,KAAK0N,MAAM,mBAAmB,GAC9B1N,KAAK0N,MAAM,cAEb+Z,WAAY,SAAoBja,GACzBA,GAAoB,aAAbA,EAAIC,OAIhBzN,KAAK0N,MAAM,mBAAmB,GAC9B1N,KAAK0N,MAAM,aAEbqZ,YAAa,WAEP/mB,KAAKid,KAAOjd,KAAKojB,MAAMnc,OACzBjH,KAAKid,IAAIjR,YAAYhM,KAAKojB,MAAMnc,OAE9BjH,KAAKid,KAAOjd,KAAKojB,MAAMpZ,SACzBhK,KAAKid,IAAIjR,YAAYhM,KAAKojB,MAAMpZ,UAKpC0c,aAAc,SAAsBla,GAC9BA,GACExM,KAAKojB,MAAMnc,QACbjH,KAAKsmB,WAAa,eAAWtmB,KAAKojB,MAAMnc,MAAOjH,KAAK2nB,eAAe1e,KAAKjJ,MAAOwlB,IAE7ExlB,KAAKojB,MAAMpZ,UACbhK,KAAKumB,aAAe,eAAWvmB,KAAKojB,MAAMpZ,QAAShK,KAAK2nB,eAAe1e,KAAKjJ,MAAOwlB,MAGjFxlB,KAAKsmB,aACPtmB,KAAKsmB,WAAWwB,aAChB9nB,KAAKsmB,WAAa,MAEhBtmB,KAAKumB,eACPvmB,KAAKumB,aAAauB,aAClB9nB,KAAKumB,aAAe,W,kCC/T9B,wCAAI7iB,EAA4B,oBAAXC,QAAoD,kBAApBA,OAAOC,SAAwB,SAAUC,GAAO,cAAcA,GAAS,SAAUA,GAAO,OAAOA,GAAyB,oBAAXF,QAAyBE,EAAIC,cAAgBH,QAAUE,IAAQF,OAAOpE,UAAY,gBAAkBsE,GAElQE,EAAe,WAAc,SAASC,EAAiBC,EAAQC,GAAS,IAAK,IAAI/D,EAAI,EAAGA,EAAI+D,EAAM9D,OAAQD,IAAK,CAAE,IAAIgE,EAAaD,EAAM/D,GAAIgE,EAAWC,WAAaD,EAAWC,aAAc,EAAOD,EAAWE,cAAe,EAAU,UAAWF,IAAYA,EAAWG,UAAW,GAAMC,OAAOC,eAAeP,EAAQE,EAAWM,IAAKN,IAAiB,OAAO,SAAUO,EAAaC,EAAYC,GAAiJ,OAA9HD,GAAYX,EAAiBU,EAAYnF,UAAWoF,GAAiBC,GAAaZ,EAAiBU,EAAaE,GAAqBF,GAA7gB,GAEnB,SAASG,EAAgBC,EAAUJ,GAAe,KAAMI,aAAoBJ,GAAgB,MAAM,IAAIK,UAAU,qCAEhH,SAASgjB,EAA2BC,EAAM1nB,GAAQ,IAAK0nB,EAAQ,MAAM,IAAIC,eAAe,6DAAgE,OAAO3nB,GAAyB,kBAATA,GAAqC,oBAATA,EAA8B0nB,EAAP1nB,EAElO,SAAS4nB,EAAUC,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAIrjB,UAAU,kEAAoEqjB,GAAeD,EAAS5oB,UAAYgF,OAAO2O,OAAOkV,GAAcA,EAAW7oB,UAAW,CAAEuE,YAAa,CAAErG,MAAO0qB,EAAU/jB,YAAY,EAAOE,UAAU,EAAMD,cAAc,KAAe+jB,IAAY7jB,OAAO8jB,eAAiB9jB,OAAO8jB,eAAeF,EAAUC,GAAcD,EAASG,UAAYF,GAMje,IAAIpjB,EAAO,UACPC,EAAe,aACfC,EAAqB,IAAIC,OAAO,MAAQF,EAAe,OAAQ,KAE/D4B,EAAW,eAAO,GAAI,OAAQ+C,QAAS,CACzCxC,UAAW,QACXJ,QAAS,QACTgD,QAAS,GACTjD,SAAU,wIAGRR,EAAY,CACdC,KAAM,OACNH,KAAM,QAGJI,EAAW,CACb8hB,MAAO,kBACPC,QAAS,iBAIPC,EAAU,SAAUC,GAGtB,SAASD,IAGP,OAFA5jB,EAAgB7E,KAAMyoB,GAEfV,EAA2B/nB,MAAOyoB,EAAQH,WAAa/jB,OAAO+O,eAAemV,IAAU7Q,MAAM5X,KAAMyS,YAsG5G,OA3GAyV,EAAUO,EAASC,GAQnB3kB,EAAa0kB,EAAS,CAAC,CACrBhkB,IAAK,gBAKLhH,MAAO,SAAuB4N,GAE5B,GADAA,EAAMA,GAAOrL,KAAK4I,MACbyC,EACH,OAAO,EAET,IAAIsd,EAAWjqB,SAAS,eAAO+H,EAAS8hB,MAAOld,IAAQ,IAAIwD,WACvD+Z,EAAalqB,SAAS,eAAO+H,EAAS+hB,QAASnd,IAAQ,IAAIwD,WAC/D,OAAO8Z,GAAYC,IAEpB,CACDnkB,IAAK,qBACLhH,MAAO,SAA4BiO,GACjC,eAAS1L,KAAKmL,gBAAiBlG,EAAe,IAAMyG,KAErD,CACDjH,IAAK,aACLhH,MAAO,SAAoB4N,GAEzBrL,KAAKoP,kBAAkB,eAAO3I,EAAS8hB,MAAOld,GAAMrL,KAAKqP,YACzDrP,KAAKoP,kBAAkB,eAAO3I,EAAS+hB,QAASnd,GAAMrL,KAAK6oB,cAE3D,eAAYxd,EAAK9E,EAAUC,MAC3B,eAAY6E,EAAK9E,EAAUF,QAK5B,CACD5B,IAAK,gBACLhH,MAAO,WACL,IAAI4N,EAAMrL,KAAKmL,gBACX0G,EAAWxG,EAAIrK,UAAU8Q,MAAM5M,GAClB,OAAb2M,GAAqBA,EAASzR,OAAS,GACzCyR,EAASrD,QAAQ,SAAUuD,GACzB,eAAY1G,EAAK0G,OAItB,CACDtN,IAAK,WACLhH,MAAO,WACL,IAAIwJ,EAAQjH,KAAKkK,QAAQjD,OAAS,GAgBlC,MAfqB,oBAAVA,IACTA,EAAQA,EAAMjH,KAAK2I,WAEiD,YAAhD,qBAAV1B,EAAwB,YAAcvD,EAAQuD,KAAwBA,EAAMpJ,WAAaoJ,EAAM4H,UAAUd,SAEnH9G,EAAQ,IAEW,kBAAVA,IACTA,EAAQA,EAAM8G,QAEX9G,IAEHA,EAAQ,eAAQjH,KAAK2I,SAAU,UAAY,eAAQ3I,KAAK2I,SAAU,wBAA0B,GAC5F1B,EAAQA,EAAM8G,QAET9G,IAKR,CACDxC,IAAK,aACLhH,MAAO,WACL,IAAIuM,EAAUhK,KAAKkK,QAAQF,SAAW,GAWtC,MAVuB,oBAAZA,IACTA,EAAUA,EAAQhK,KAAK2I,WAEiD,YAAlD,qBAAZqB,EAA0B,YAActG,EAAQsG,KAA0BA,EAAQnM,WAAamM,EAAQ6E,UAAUd,SAE3H/D,EAAU,IAEW,kBAAZA,IACTA,EAAUA,EAAQ+D,QAEb/D,KAEP,CAAC,CACHvF,IAAK,UAILyN,IAAK,WACH,OAAOrL,IAER,CACDpC,IAAK,OACLyN,IAAK,WACH,OAAOlN,MAIJyjB,EA5GK,CA6GZ,QAEa,U,kCCnJf,gDAMe,SAASK,EAAetrB,EAAQC,GAC7C,OAAOD,EAAS,eAAWC,K,kCCFd,QACbyG,MAAO,CACLtD,GAAI,CACF6M,KAAMtQ,OACNgX,QAAS,OAGbgD,QAAS,CACPH,OAAQ,WACN,IAAI5E,EAASK,UAAUrS,OAAS,QAAsBsO,IAAjB+D,UAAU,GAAmBA,UAAU,GAAK,GAE7E7R,EAAKZ,KAAKY,IAAMZ,KAAK+oB,UAAY,KACrC,OAAKnoB,GAGLwR,EAASjV,OAAOiV,GAAQ1U,QAAQ,OAAQ,KACjC0U,EAASxR,EAAK,IAAMwR,EAASxR,GAH3B,OAMboT,SAAU,CACR+U,SAAU,WACR,IAAK/oB,KAAKgpB,YAAchpB,KAAKY,IAA2B,qBAAdZ,KAAKipB,KAC7C,MAAO,WAAajpB,KAAKipB,S,kCC3BjC,yBAASC,EAAmBC,GAAO,GAAItU,MAAM0L,QAAQ4I,GAAM,CAAE,IAAK,IAAIhpB,EAAI,EAAGipB,EAAOvU,MAAMsU,EAAI/oB,QAASD,EAAIgpB,EAAI/oB,OAAQD,IAAOipB,EAAKjpB,GAAKgpB,EAAIhpB,GAAM,OAAOipB,EAAe,OAAOvU,MAAMkK,KAAKoK,GAQ1L,IAAIE,EAAO,wBAEI,QACblS,QAAS,CAgBP2L,aAAc,SAAsBhY,EAAOkC,GAMzC,OALKhN,KAAKqpB,IAAU,eAAQrpB,KAAKqpB,MAC/BrpB,KAAKqpB,GAAQ,IAEfrpB,KAAKqpB,GAAMxO,KAAK,CAAE/P,MAAOA,EAAOkC,SAAUA,IAC1ChN,KAAKmI,MAAMse,IAAI3b,EAAOkC,GACfhN,MAUTyjB,WAAY,SAAoB3Y,GAG9B,IAFA,IAAIwe,EAEKC,EAAO9W,UAAUrS,OAAQqX,EAAO5C,MAAM0U,EAAO,EAAIA,EAAO,EAAI,GAAIC,EAAO,EAAGA,EAAOD,EAAMC,IAC9F/R,EAAK+R,EAAO,GAAK/W,UAAU+W,GAI7B,OADCF,EAAStpB,KAAKmI,OAAOuF,MAAMkK,MAAM0R,EAAQ,CAACxe,GAAO+C,OAAOqb,EAAmBzR,KACrEzX,OAIX4hB,cAAe,WACb,GAAI5hB,KAAKqpB,IAAS,eAAQrpB,KAAKqpB,IAC7B,MAAOrpB,KAAKqpB,GAAMjpB,OAAS,EAAG,CAE5B,IAAIqpB,EAAczpB,KAAKqpB,GAAM1N,QACzB7Q,EAAQ2e,EAAY3e,MACpBkC,EAAWyc,EAAYzc,SAE3BhN,KAAKmI,MAAM2e,KAAKhc,EAAOkC,O,kCC/D/B,gFAEI0c,EAAiB,CAAEnc,OAAO,EAAMxC,OAAO,EAAMuC,OAAO,GAEpDqc,EAAmB,6BAEnBC,EAAc,SAAqBC,EAAOC,EAASC,EAAaxS,GAClE,IAAIyS,EAAU,eAAKF,EAAQ/Y,WAAa,IAAI9C,OAAO,SAAUgc,GAC3D,OAAQP,EAAeO,KAGrBH,EAAQrsB,OACVusB,EAAQnP,KAAKiP,EAAQrsB,OAGvB,IAAIysB,EAAW,WACb3S,EAAG,CAAEyS,QAASA,EAASH,MAAOA,KAchC,OAXA,eAAKH,GAAgBlb,QAAQ,SAAUf,GACrC,GAAIsc,EAAYtc,IAASqc,EAAQ/Y,UAAUtD,GAAO,CAChDoc,EAAMM,IAAI5mB,iBAAiBkK,EAAMyc,GACjC,IAAIE,EAAiBP,EAAMM,IAAIR,IAAqB,GACpDS,EAAe3c,GAAQ2c,EAAe3c,IAAS,GAC/C2c,EAAe3c,GAAMoN,KAAKqP,GAC1BL,EAAMM,IAAIR,GAAoBS,KAK3BJ,GAGLK,EAAgB,SAAuBR,EAAOC,EAASC,GACzD,eAAKL,GAAgBlb,QAAQ,SAAUf,GACrC,GAAIsc,EAAYtc,IAASqc,EAAQ/Y,UAAUtD,GAAO,CAChD,IAAI2c,EAAiBP,EAAMM,IAAIR,IAAqBE,EAAMM,IAAIR,GAAkBlc,GAC5E2c,IACFA,EAAe5b,QAAQ,SAAU0b,GAC/B,OAAOL,EAAMM,IAAI1mB,oBAAoBgK,EAAMyc,YAEtCL,EAAMM,IAAIR,GAAkBlc,QAQ5B,U,kCCjDf,gBAAI1J,EAAe,WAAc,SAASC,EAAiBC,EAAQC,GAAS,IAAK,IAAI/D,EAAI,EAAGA,EAAI+D,EAAM9D,OAAQD,IAAK,CAAE,IAAIgE,EAAaD,EAAM/D,GAAIgE,EAAWC,WAAaD,EAAWC,aAAc,EAAOD,EAAWE,cAAe,EAAU,UAAWF,IAAYA,EAAWG,UAAW,GAAMC,OAAOC,eAAeP,EAAQE,EAAWM,IAAKN,IAAiB,OAAO,SAAUO,EAAaC,EAAYC,GAAiJ,OAA9HD,GAAYX,EAAiBU,EAAYnF,UAAWoF,GAAiBC,GAAaZ,EAAiBU,EAAaE,GAAqBF,GAA7gB,GAEnB,SAASG,EAAgBC,EAAUJ,GAAe,KAAMI,aAAoBJ,GAAgB,MAAM,IAAIK,UAAU,qCAIhH,IAAIulB,EAAU,WACZ,SAASA,EAAQ7c,GACf,IAAI8c,EAAY9X,UAAUrS,OAAS,QAAsBsO,IAAjB+D,UAAU,GAAmBA,UAAU,GAAK,GAKpF,GAHA5N,EAAgB7E,KAAMsqB,IAGjB7c,EACH,MAAM,IAAI1I,UAAU,wBAA2B/E,KAAK8D,YAAY7H,KAAO,2BAA8BwW,UAAUrS,OAAS,WAI1H,eAAOJ,KAAMsqB,EAAQE,WAAYD,EAAW,CAAE9c,KAAMA,IAEpD,eAAiBzN,KAAM,CACrByN,KAAM,iBACN/C,WAAY,iBACZ+f,YAAa,iBACbxmB,OAAQ,iBACR0G,cAAe,iBACfwY,UAAW,mBAGb,IAAIrX,GAAmB,EAEvB9L,KAAK2a,eAAiB,WAChB3a,KAAK0K,aACPoB,GAAmB,IAKvB,eAAe9L,KAAM,mBAAoB,CACvCoE,YAAY,EACZ8N,IAAK,WACH,OAAOpG,KAmBb,OAdA/H,EAAaumB,EAAS,KAAM,CAAC,CAC3B7lB,IAAK,WACLhH,MAAO,WACL,MAAO,CACLgQ,KAAM,GACN/C,YAAY,EACZ+f,YAAa,KACbxmB,OAAQ,KACR0G,cAAe,KACfwY,UAAW,UAKVmH,EAtDK,GAyDC,U,kCC/DA,SAASI,EAAS5X,GAC/B,OAAOA,EADT","file":"js/chunk-vendors~6e0856a2.9ae193da.js","sourcesContent":["/*\n * Key Codes (events)\n */\n\nexport default {\n SPACE: 32,\n ENTER: 13,\n ESC: 27,\n LEFT: 37,\n UP: 38,\n RIGHT: 39,\n DOWN: 40,\n PAGEUP: 33,\n PAGEDOWN: 34,\n HOME: 36,\n END: 35\n};","/**\n * Register a component plugin as being loaded. returns true if compoent plugin already registered\n * @param {object} Vue\n * @param {string} Component name\n * @param {object} Component definition\n */\nexport function registerComponent(Vue, name, def) {\n Vue._bootstrap_vue_components_ = Vue._bootstrap_vue_components_ || {};\n var loaded = Vue._bootstrap_vue_components_[name];\n if (!loaded && def && name) {\n Vue._bootstrap_vue_components_[name] = true;\n Vue.component(name, def);\n }\n return loaded;\n}\n\n/**\n * Register a group of components as being loaded.\n * @param {object} Vue\n * @param {object} Object of component definitions\n */\nexport function registerComponents(Vue, components) {\n for (var component in components) {\n registerComponent(Vue, component, components[component]);\n }\n}\n\n/**\n * Register a directive as being loaded. returns true if directive plugin already registered\n * @param {object} Vue\n * @param {string} Directive name\n * @param {object} Directive definition\n */\nexport function registerDirective(Vue, name, def) {\n Vue._bootstrap_vue_directives_ = Vue._bootstrap_vue_directives_ || {};\n var loaded = Vue._bootstrap_vue_directives_[name];\n if (!loaded && def && name) {\n Vue._bootstrap_vue_directives_[name] = true;\n Vue.directive(name, def);\n }\n return loaded;\n}\n\n/**\n * Register a group of directives as being loaded.\n * @param {object} Vue\n * @param {object} Object of directive definitions\n */\nexport function registerDirectives(Vue, directives) {\n for (var directive in directives) {\n registerDirective(Vue, directive, directives[directive]);\n }\n}\n\n/**\n * Install plugin if window.Vue available\n * @param {object} Plugin definition\n */\nexport function vueUse(VuePlugin) {\n if (typeof window !== 'undefined' && window.Vue) {\n window.Vue.use(VuePlugin);\n }\n}","/**\n * @param {string} str\n */\nexport default function lowerFirst(str) {\n if (typeof str !== 'string') {\n str = String(str);\n }\n return str.charAt(0).toLowerCase() + str.slice(1);\n}","import lowerFirst from './lower-first';\n\n/**\n * @param {string} prefix\n * @param {string} value\n */\nexport default function unPrefixPropName(prefix, value) {\n return lowerFirst(value.replace(prefix, ''));\n}","import { from as arrayFrom } from './array';\n\n// Determine if an element is an HTML Element\nexport var isElement = function isElement(el) {\n return el && el.nodeType === Node.ELEMENT_NODE;\n};\n\n// Determine if an HTML element is visible - Faster than CSS check\nexport var isVisible = function isVisible(el) {\n return isElement(el) && document.body.contains(el) && el.getBoundingClientRect().height > 0 && el.getBoundingClientRect().width > 0;\n};\n\n// Determine if an element is disabled\nexport var isDisabled = function isDisabled(el) {\n return !isElement(el) || el.disabled || el.classList.contains('disabled') || Boolean(el.getAttribute('disabled'));\n};\n\n// Cause/wait-for an element to reflow it's content (adjusting it's height/width)\nexport var reflow = function reflow(el) {\n // requsting an elements offsetHight will trigger a reflow of the element content\n return isElement(el) && el.offsetHeight;\n};\n\n// Select all elements matching selector. Returns [] if none found\nexport var selectAll = function selectAll(selector, root) {\n if (!isElement(root)) {\n root = document;\n }\n return arrayFrom(root.querySelectorAll(selector));\n};\n\n// Select a single element, returns null if not found\nexport var select = function select(selector, root) {\n if (!isElement(root)) {\n root = document;\n }\n return root.querySelector(selector) || null;\n};\n\n// Determine if an element matches a selector\nexport var matches = function matches(el, selector) {\n if (!isElement(el)) {\n return false;\n }\n\n // https://developer.mozilla.org/en-US/docs/Web/API/Element/matches#Polyfill\n // Prefer native implementations over polyfill function\n var proto = Element.prototype;\n var Matches = proto.matches || proto.matchesSelector || proto.mozMatchesSelector || proto.msMatchesSelector || proto.oMatchesSelector || proto.webkitMatchesSelector ||\n /* istanbul ignore next */\n function (sel) {\n var element = this;\n var m = selectAll(sel, element.document || element.ownerDocument);\n var i = m.length;\n // eslint-disable-next-line no-empty\n while (--i >= 0 && m.item(i) !== element) {}\n return i > -1;\n };\n\n return Matches.call(el, selector);\n};\n\n// Finds closest element matching selector. Returns null if not found\nexport var closest = function closest(selector, root) {\n if (!isElement(root)) {\n return null;\n }\n\n // https://developer.mozilla.org/en-US/docs/Web/API/Element/closest\n // Since we dont support IE < 10, we can use the \"Matches\" version of the polyfill for speed\n // Prefer native implementation over polyfill function\n var Closest = Element.prototype.closest ||\n /* istanbul ignore next */\n function (sel) {\n var element = this;\n if (!document.documentElement.contains(element)) {\n return null;\n }\n do {\n // Use our \"patched\" matches function\n if (matches(element, sel)) {\n return element;\n }\n element = element.parentElement;\n } while (element !== null);\n return null;\n };\n\n var el = Closest.call(root, selector);\n // Emulate jQuery closest and return null if match is the passed in element (root)\n return el === root ? null : el;\n};\n\n// Get an element given an ID\nexport var getById = function getById(id) {\n return document.getElementById(/^#/.test(id) ? id.slice(1) : id) || null;\n};\n\n// Add a class to an element\nexport var addClass = function addClass(el, className) {\n if (className && isElement(el)) {\n el.classList.add(className);\n }\n};\n\n// Remove a class from an element\nexport var removeClass = function removeClass(el, className) {\n if (className && isElement(el)) {\n el.classList.remove(className);\n }\n};\n\n// Test if an element has a class\nexport var hasClass = function hasClass(el, className) {\n if (className && isElement(el)) {\n return el.classList.contains(className);\n }\n return false;\n};\n\n// Set an attribute on an element\nexport var setAttr = function setAttr(el, attr, value) {\n if (attr && isElement(el)) {\n el.setAttribute(attr, value);\n }\n};\n\n// Remove an attribute from an element\nexport var removeAttr = function removeAttr(el, attr) {\n if (attr && isElement(el)) {\n el.removeAttribute(attr);\n }\n};\n\n// Get an attribute value from an element (returns null if not found)\nexport var getAttr = function getAttr(el, attr) {\n if (attr && isElement(el)) {\n return el.getAttribute(attr);\n }\n return null;\n};\n\n// Determine if an attribute exists on an element (returns true or false, or null if element not found)\nexport var hasAttr = function hasAttr(el, attr) {\n if (attr && isElement(el)) {\n return el.hasAttribute(attr);\n }\n return null;\n};\n\n// Return the Bounding Client Rec of an element. Retruns null if not an element\nexport var getBCR = function getBCR(el) {\n return isElement(el) ? el.getBoundingClientRect() : null;\n};\n\n// Get computed style object for an element\nexport var getCS = function getCS(el) {\n return isElement(el) ? window.getComputedStyle(el) : {};\n};\n\n// Return an element's offset wrt document element\n// https://j11y.io/jquery/#v=git&fn=jQuery.fn.offset\nexport var offset = function offset(el) {\n if (isElement(el)) {\n if (!el.getClientRects().length) {\n return { top: 0, left: 0 };\n }\n var bcr = getBCR(el);\n var win = el.ownerDocument.defaultView;\n return {\n top: bcr.top + win.pageYOffset,\n left: bcr.left + win.pageXOffset\n };\n }\n};\n\n// Return an element's offset wrt to it's offsetParent\n// https://j11y.io/jquery/#v=git&fn=jQuery.fn.position\nexport var position = function position(el) {\n if (!isElement(el)) {\n return;\n }\n var parentOffset = { top: 0, left: 0 };\n var offsetSelf = void 0;\n var offsetParent = void 0;\n if (getCS(el).position === 'fixed') {\n offsetSelf = getBCR(el);\n } else {\n offsetSelf = offset(el);\n var doc = el.ownerDocument;\n offsetParent = el.offsetParent || doc.documentElement;\n while (offsetParent && (offsetParent === doc.body || offsetParent === doc.documentElement) && getCS(offsetParent).position === 'static') {\n offsetParent = offsetParent.parentNode;\n }\n if (offsetParent && offsetParent !== el && offsetParent.nodeType === Node.ELEMENT_NODE) {\n parentOffset = offset(offsetParent);\n parentOffset.top += parseFloat(getCS(offsetParent).borderTopWidth);\n parentOffset.left += parseFloat(getCS(offsetParent).borderLeftWidth);\n }\n }\n return {\n top: offsetSelf.top - parentOffset.top - parseFloat(getCS(el).marginTop),\n left: offsetSelf.left - parentOffset.left - parseFloat(getCS(el).marginLeft)\n };\n};\n\n// Attach an event listener to an element\nexport var eventOn = function eventOn(el, evtName, handler) {\n if (el && el.addEventListener) {\n el.addEventListener(evtName, handler);\n }\n};\n\n// Remove an event listener from an element\nexport var eventOff = function eventOff(el, evtName, handler) {\n if (el && el.removeEventListener) {\n el.removeEventListener(evtName, handler);\n }\n};","var _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nimport Popper from 'popper.js';\nimport BvEvent from './bv-event.class';\nimport { assign } from './object';\nimport { from as arrayFrom } from './array';\nimport { closest, select, isVisible, isDisabled, getCS, addClass, removeClass, hasClass, setAttr, removeAttr, getAttr, eventOn, eventOff } from './dom';\n\nvar NAME = 'tooltip';\nvar CLASS_PREFIX = 'bs-tooltip';\nvar BSCLS_PREFIX_REGEX = new RegExp('\\\\b' + CLASS_PREFIX + '\\\\S+', 'g');\n\nvar TRANSITION_DURATION = 150;\n\n// Modal $root hidden event\nvar MODAL_CLOSE_EVENT = 'bv::modal::hidden';\n// Modal container for appending tip/popover\nvar MODAL_CLASS = '.modal-content';\n\nvar AttachmentMap = {\n AUTO: 'auto',\n TOP: 'top',\n RIGHT: 'right',\n BOTTOM: 'bottom',\n LEFT: 'left',\n TOPLEFT: 'top',\n TOPRIGHT: 'top',\n RIGHTTOP: 'right',\n RIGHTBOTTOM: 'right',\n BOTTOMLEFT: 'bottom',\n BOTTOMRIGHT: 'bottom',\n LEFTTOP: 'left',\n LEFTBOTTOM: 'left'\n};\n\nvar OffsetMap = {\n AUTO: 0,\n TOPLEFT: -1,\n TOP: 0,\n TOPRIGHT: +1,\n RIGHTTOP: -1,\n RIGHT: 0,\n RIGHTBOTTOM: +1,\n BOTTOMLEFT: -1,\n BOTTOM: 0,\n BOTTOMRIGHT: +1,\n LEFTTOP: -1,\n LEFT: 0,\n LEFTBOTTOM: +1\n};\n\nvar HoverState = {\n SHOW: 'show',\n OUT: 'out'\n};\n\nvar ClassName = {\n FADE: 'fade',\n SHOW: 'show'\n};\n\nvar Selector = {\n TOOLTIP: '.tooltip',\n TOOLTIP_INNER: '.tooltip-inner',\n ARROW: '.arrow'\n\n // ESLINT: Not used\n // const Trigger = {\n // HOVER: 'hover',\n // FOCUS: 'focus',\n // CLICK: 'click',\n // BLUR: 'blur',\n // MANUAL: 'manual'\n // }\n\n};var Defaults = {\n animation: true,\n template: '
' + '
' + '
' + '
',\n trigger: 'hover focus',\n title: '',\n delay: 0,\n html: false,\n placement: 'top',\n offset: 0,\n arrowPadding: 6,\n container: false,\n fallbackPlacement: 'flip',\n callbacks: {},\n boundary: 'scrollParent'\n\n // Transition Event names\n};var TransitionEndEvents = {\n WebkitTransition: ['webkitTransitionEnd'],\n MozTransition: ['transitionend'],\n OTransition: ['otransitionend', 'oTransitionEnd'],\n transition: ['transitionend']\n\n // Client Side Tip ID counter for aria-describedby attribute\n // Could use Alex's uid generator util\n // Each tooltip requires a unique client side ID\n};var NEXTID = 1;\n/* istanbul ignore next */\nfunction generateId(name) {\n return '__BV_' + name + '_' + NEXTID++ + '__';\n}\n\n/*\n * ToolTip Class definition\n */\n/* istanbul ignore next: difficult to test in Jest/JSDOM environment */\n\nvar ToolTip = function () {\n // Main constructor\n function ToolTip(element, config, $root) {\n _classCallCheck(this, ToolTip);\n\n // New tooltip object\n this.$isEnabled = true;\n this.$fadeTimeout = null;\n this.$hoverTimeout = null;\n this.$visibleInterval = null;\n this.$hoverState = '';\n this.$activeTrigger = {};\n this.$popper = null;\n this.$element = element;\n this.$tip = null;\n this.$id = generateId(this.constructor.NAME);\n this.$root = $root || null;\n this.$routeWatcher = null;\n // We use a bound version of the following handlers for root/modal listeners to maintain the 'this' context\n this.$forceHide = this.forceHide.bind(this);\n this.$doHide = this.doHide.bind(this);\n this.$doShow = this.doShow.bind(this);\n this.$doDisable = this.doDisable.bind(this);\n this.$doEnable = this.doEnable.bind(this);\n // Set the configuration\n this.updateConfig(config);\n }\n\n // NOTE: Overridden by PopOver class\n\n\n _createClass(ToolTip, [{\n key: 'updateConfig',\n\n\n // Update config\n value: function updateConfig(config) {\n // Merge config into defaults. We use \"this\" here because PopOver overrides Default\n var updatedConfig = assign({}, this.constructor.Default, config);\n\n // Sanitize delay\n if (config.delay && typeof config.delay === 'number') {\n updatedConfig.delay = {\n show: config.delay,\n hide: config.delay\n };\n }\n\n // Title for tooltip and popover\n if (config.title && typeof config.title === 'number') {\n updatedConfig.title = config.title.toString();\n }\n\n // Content only for popover\n if (config.content && typeof config.content === 'number') {\n updatedConfig.content = config.content.toString();\n }\n\n // Hide element original title if needed\n this.fixTitle();\n // Update the config\n this.$config = updatedConfig;\n // Stop/Restart listening\n this.unListen();\n this.listen();\n }\n\n // Destroy this instance\n\n }, {\n key: 'destroy',\n value: function destroy() {\n // Stop listening to trigger events\n this.unListen();\n // Disable while open listeners/watchers\n this.setWhileOpenListeners(false);\n // Clear any timeouts\n clearTimeout(this.$hoverTimeout);\n this.$hoverTimeout = null;\n clearTimeout(this.$fadeTimeout);\n this.$fadeTimeout = null;\n // Remove popper\n if (this.$popper) {\n this.$popper.destroy();\n }\n this.$popper = null;\n // Remove tip from document\n if (this.$tip && this.$tip.parentElement) {\n this.$tip.parentElement.removeChild(this.$tip);\n }\n this.$tip = null;\n // Null out other properties\n this.$id = null;\n this.$isEnabled = null;\n this.$root = null;\n this.$element = null;\n this.$config = null;\n this.$hoverState = null;\n this.$activeTrigger = null;\n this.$forceHide = null;\n this.$doHide = null;\n this.$doShow = null;\n this.$doDisable = null;\n this.$doEnable = null;\n }\n }, {\n key: 'enable',\n value: function enable() {\n // Create a non-cancelable BvEvent\n var enabledEvt = new BvEvent('enabled', {\n cancelable: false,\n target: this.$element,\n relatedTarget: null\n });\n this.$isEnabled = true;\n this.emitEvent(enabledEvt);\n }\n }, {\n key: 'disable',\n value: function disable() {\n // Create a non-cancelable BvEvent\n var disabledEvt = new BvEvent('disabled', {\n cancelable: false,\n target: this.$element,\n relatedTarget: null\n });\n this.$isEnabled = false;\n this.emitEvent(disabledEvt);\n }\n\n // Click toggler\n\n }, {\n key: 'toggle',\n value: function toggle(event) {\n if (!this.$isEnabled) {\n return;\n }\n if (event) {\n this.$activeTrigger.click = !this.$activeTrigger.click;\n\n if (this.isWithActiveTrigger()) {\n this.enter(null);\n } else {\n this.leave(null);\n }\n } else {\n if (hasClass(this.getTipElement(), ClassName.SHOW)) {\n this.leave(null);\n } else {\n this.enter(null);\n }\n }\n }\n\n // Show tooltip\n\n }, {\n key: 'show',\n value: function show() {\n var _this = this;\n\n if (!document.body.contains(this.$element) || !isVisible(this.$element)) {\n // If trigger element isn't in the DOM or is not visible\n return;\n }\n // Build tooltip element (also sets this.$tip)\n var tip = this.getTipElement();\n this.fixTitle();\n this.setContent(tip);\n if (!this.isWithContent(tip)) {\n // if No content, don't bother showing\n this.$tip = null;\n return;\n }\n\n // Set ID on tip and aria-describedby on element\n setAttr(tip, 'id', this.$id);\n this.addAriaDescribedby();\n\n // Set animation on or off\n if (this.$config.animation) {\n addClass(tip, ClassName.FADE);\n } else {\n removeClass(tip, ClassName.FADE);\n }\n\n var placement = this.getPlacement();\n var attachment = this.constructor.getAttachment(placement);\n this.addAttachmentClass(attachment);\n\n // Create a cancelable BvEvent\n var showEvt = new BvEvent('show', {\n cancelable: true,\n target: this.$element,\n relatedTarget: tip\n });\n this.emitEvent(showEvt);\n if (showEvt.defaultPrevented) {\n // Don't show if event cancelled\n this.$tip = null;\n return;\n }\n\n // Insert tooltip if needed\n var container = this.getContainer();\n if (!document.body.contains(tip)) {\n container.appendChild(tip);\n }\n\n // Refresh popper\n this.removePopper();\n this.$popper = new Popper(this.$element, tip, this.getPopperConfig(placement, tip));\n\n // Transitionend Callback\n var complete = function complete() {\n if (_this.$config.animation) {\n _this.fixTransition(tip);\n }\n var prevHoverState = _this.$hoverState;\n _this.$hoverState = null;\n if (prevHoverState === HoverState.OUT) {\n _this.leave(null);\n }\n // Create a non-cancelable BvEvent\n var shownEvt = new BvEvent('shown', {\n cancelable: false,\n target: _this.$element,\n relatedTarget: tip\n });\n _this.emitEvent(shownEvt);\n };\n\n // Enable while open listeners/watchers\n this.setWhileOpenListeners(true);\n\n // Show tip\n addClass(tip, ClassName.SHOW);\n\n // Start the transition/animation\n this.transitionOnce(tip, complete);\n }\n\n // handler for periodic visibility check\n\n }, {\n key: 'visibleCheck',\n value: function visibleCheck(on) {\n var _this2 = this;\n\n clearInterval(this.$visibleInterval);\n this.$visibleInterval = null;\n if (on) {\n this.$visibleInterval = setInterval(function () {\n var tip = _this2.getTipElement();\n if (tip && !isVisible(_this2.$element) && hasClass(tip, ClassName.SHOW)) {\n // Element is no longer visible, so force-hide the tooltip\n _this2.forceHide();\n }\n }, 100);\n }\n }\n }, {\n key: 'setWhileOpenListeners',\n value: function setWhileOpenListeners(on) {\n // Modal close events\n this.setModalListener(on);\n // Periodic $element visibility check\n // For handling when tip is in , tabs, carousel, etc\n this.visibleCheck(on);\n // Route change events\n this.setRouteWatcher(on);\n // Ontouch start listeners\n this.setOnTouchStartListener(on);\n if (on && /(focus|blur)/.test(this.$config.trigger)) {\n // If focus moves between trigger element and tip container, dont close\n eventOn(this.$tip, 'focusout', this);\n } else {\n eventOff(this.$tip, 'focusout', this);\n }\n }\n\n // force hide of tip (internal method)\n\n }, {\n key: 'forceHide',\n value: function forceHide() {\n if (!this.$tip || !hasClass(this.$tip, ClassName.SHOW)) {\n return;\n }\n // Disable while open listeners/watchers\n this.setWhileOpenListeners(false);\n // Clear any hover enter/leave event\n clearTimeout(this.$hoverTimeout);\n this.$hoverTimeout = null;\n this.$hoverState = '';\n // Hide the tip\n this.hide(null, true);\n }\n\n // Hide tooltip\n\n }, {\n key: 'hide',\n value: function hide(callback, force) {\n var _this3 = this;\n\n var tip = this.$tip;\n if (!tip) {\n return;\n }\n\n // Create a canelable BvEvent\n var hideEvt = new BvEvent('hide', {\n // We disable cancelling if force is true\n cancelable: !force,\n target: this.$element,\n relatedTarget: tip\n });\n this.emitEvent(hideEvt);\n if (hideEvt.defaultPrevented) {\n // Don't hide if event cancelled\n return;\n }\n\n // Transitionend Callback\n /* istanbul ignore next */\n var complete = function complete() {\n if (_this3.$hoverState !== HoverState.SHOW && tip.parentNode) {\n // Remove tip from dom, and force recompile on next show\n tip.parentNode.removeChild(tip);\n _this3.removeAriaDescribedby();\n _this3.removePopper();\n _this3.$tip = null;\n }\n if (callback) {\n callback();\n }\n // Create a non-cancelable BvEvent\n var hiddenEvt = new BvEvent('hidden', {\n cancelable: false,\n target: _this3.$element,\n relatedTarget: null\n });\n _this3.emitEvent(hiddenEvt);\n };\n\n // Disable while open listeners/watchers\n this.setWhileOpenListeners(false);\n\n // If forced close, disable animation\n if (force) {\n removeClass(tip, ClassName.FADE);\n }\n // Hide tip\n removeClass(tip, ClassName.SHOW);\n\n this.$activeTrigger.click = false;\n this.$activeTrigger.focus = false;\n this.$activeTrigger.hover = false;\n\n // Start the hide transition\n this.transitionOnce(tip, complete);\n\n this.$hoverState = '';\n }\n }, {\n key: 'emitEvent',\n value: function emitEvent(evt) {\n var evtName = evt.type;\n if (this.$root && this.$root.$emit) {\n // Emit an event on $root\n this.$root.$emit('bv::' + this.constructor.NAME + '::' + evtName, evt);\n }\n var callbacks = this.$config.callbacks || {};\n if (typeof callbacks[evtName] === 'function') {\n callbacks[evtName](evt);\n }\n }\n }, {\n key: 'getContainer',\n value: function getContainer() {\n var container = this.$config.container;\n var body = document.body;\n // If we are in a modal, we append to the modal instead of body, unless a container is specified\n return container === false ? closest(MODAL_CLASS, this.$element) || body : select(container, body) || body;\n }\n\n // Will be overritten by popover if needed\n\n }, {\n key: 'addAriaDescribedby',\n value: function addAriaDescribedby() {\n // Add aria-describedby on trigger element, without removing any other IDs\n var desc = getAttr(this.$element, 'aria-describedby') || '';\n desc = desc.split(/\\s+/).concat(this.$id).join(' ').trim();\n setAttr(this.$element, 'aria-describedby', desc);\n }\n\n // Will be overritten by popover if needed\n\n }, {\n key: 'removeAriaDescribedby',\n value: function removeAriaDescribedby() {\n var _this4 = this;\n\n var desc = getAttr(this.$element, 'aria-describedby') || '';\n desc = desc.split(/\\s+/).filter(function (d) {\n return d !== _this4.$id;\n }).join(' ').trim();\n if (desc) {\n setAttr(this.$element, 'aria-describedby', desc);\n } else {\n removeAttr(this.$element, 'aria-describedby');\n }\n }\n }, {\n key: 'removePopper',\n value: function removePopper() {\n if (this.$popper) {\n this.$popper.destroy();\n }\n this.$popper = null;\n }\n\n /* istanbul ignore next */\n\n }, {\n key: 'transitionOnce',\n value: function transitionOnce(tip, complete) {\n var _this5 = this;\n\n var transEvents = this.getTransitionEndEvents();\n var called = false;\n clearTimeout(this.$fadeTimeout);\n this.$fadeTimeout = null;\n var fnOnce = function fnOnce() {\n if (called) {\n return;\n }\n called = true;\n clearTimeout(_this5.$fadeTimeout);\n _this5.$fadeTimeout = null;\n transEvents.forEach(function (evtName) {\n eventOff(tip, evtName, fnOnce);\n });\n // Call complete callback\n complete();\n };\n if (hasClass(tip, ClassName.FADE)) {\n transEvents.forEach(function (evtName) {\n eventOn(tip, evtName, fnOnce);\n });\n // Fallback to setTimeout\n this.$fadeTimeout = setTimeout(fnOnce, TRANSITION_DURATION);\n } else {\n fnOnce();\n }\n }\n\n // What transitionend event(s) to use? (returns array of event names)\n\n }, {\n key: 'getTransitionEndEvents',\n value: function getTransitionEndEvents() {\n for (var name in TransitionEndEvents) {\n if (this.$element.style[name] !== undefined) {\n return TransitionEndEvents[name];\n }\n }\n // fallback\n return [];\n }\n }, {\n key: 'update',\n value: function update() {\n if (this.$popper !== null) {\n this.$popper.scheduleUpdate();\n }\n }\n\n // NOTE: Overridden by PopOver class\n\n }, {\n key: 'isWithContent',\n value: function isWithContent(tip) {\n tip = tip || this.$tip;\n if (!tip) {\n return false;\n }\n return Boolean((select(Selector.TOOLTIP_INNER, tip) || {}).innerHTML);\n }\n\n // NOTE: Overridden by PopOver class\n\n }, {\n key: 'addAttachmentClass',\n value: function addAttachmentClass(attachment) {\n addClass(this.getTipElement(), CLASS_PREFIX + '-' + attachment);\n }\n }, {\n key: 'getTipElement',\n value: function getTipElement() {\n if (!this.$tip) {\n // Try and compile user supplied template, or fallback to default template\n this.$tip = this.compileTemplate(this.$config.template) || this.compileTemplate(this.constructor.Default.template);\n }\n // Add tab index so tip can be focused, and to allow it to be set as relatedTargt in focusin/out events\n this.$tip.tabIndex = -1;\n return this.$tip;\n }\n }, {\n key: 'compileTemplate',\n value: function compileTemplate(html) {\n if (!html || typeof html !== 'string') {\n return null;\n }\n var div = document.createElement('div');\n div.innerHTML = html.trim();\n var node = div.firstElementChild ? div.removeChild(div.firstElementChild) : null;\n div = null;\n return node;\n }\n\n // NOTE: Overridden by PopOver class\n\n }, {\n key: 'setContent',\n value: function setContent(tip) {\n this.setElementContent(select(Selector.TOOLTIP_INNER, tip), this.getTitle());\n removeClass(tip, ClassName.FADE);\n removeClass(tip, ClassName.SHOW);\n }\n }, {\n key: 'setElementContent',\n value: function setElementContent(container, content) {\n if (!container) {\n // If container element doesn't exist, just return\n return;\n }\n var allowHtml = this.$config.html;\n if ((typeof content === 'undefined' ? 'undefined' : _typeof(content)) === 'object' && content.nodeType) {\n // content is a DOM node\n if (allowHtml) {\n if (content.parentElement !== container) {\n container.innerHtml = '';\n container.appendChild(content);\n }\n } else {\n container.innerText = content.innerText;\n }\n } else {\n // We have a plain HTML string or Text\n container[allowHtml ? 'innerHTML' : 'innerText'] = content;\n }\n }\n\n // NOTE: Overridden by PopOver class\n\n }, {\n key: 'getTitle',\n value: function getTitle() {\n var title = this.$config.title || '';\n if (typeof title === 'function') {\n // Call the function to get the title value\n title = title(this.$element);\n }\n if ((typeof title === 'undefined' ? 'undefined' : _typeof(title)) === 'object' && title.nodeType && !title.innerHTML.trim()) {\n // We have a DOM node, but without inner content, so just return empty string\n title = '';\n }\n if (typeof title === 'string') {\n title = title.trim();\n }\n if (!title) {\n // If an explicit title is not given, try element's title atributes\n title = getAttr(this.$element, 'title') || getAttr(this.$element, 'data-original-title') || '';\n title = title.trim();\n }\n\n return title;\n }\n }, {\n key: 'listen',\n value: function listen() {\n var _this6 = this;\n\n var triggers = this.$config.trigger.trim().split(/\\s+/);\n var el = this.$element;\n\n // Listen for global show/hide events\n this.setRootListener(true);\n\n // Using 'this' as the handler will get automagically directed to this.handleEvent\n // And maintain our binding to 'this'\n triggers.forEach(function (trigger) {\n if (trigger === 'click') {\n eventOn(el, 'click', _this6);\n } else if (trigger === 'focus') {\n eventOn(el, 'focusin', _this6);\n eventOn(el, 'focusout', _this6);\n } else if (trigger === 'blur') {\n // Used to close $tip when element looses focus\n eventOn(el, 'focusout', _this6);\n } else if (trigger === 'hover') {\n eventOn(el, 'mouseenter', _this6);\n eventOn(el, 'mouseleave', _this6);\n }\n }, this);\n }\n }, {\n key: 'unListen',\n value: function unListen() {\n var _this7 = this;\n\n var events = ['click', 'focusin', 'focusout', 'mouseenter', 'mouseleave'];\n // Using \"this\" as the handler will get automagically directed to this.handleEvent\n events.forEach(function (evt) {\n eventOff(_this7.$element, evt, _this7);\n }, this);\n\n // Stop listening for global show/hide/enable/disable events\n this.setRootListener(false);\n }\n }, {\n key: 'handleEvent',\n value: function handleEvent(e) {\n // This special method allows us to use \"this\" as the event handlers\n if (isDisabled(this.$element)) {\n // If disabled, don't do anything. Note: if tip is shown before element gets\n // disabled, then tip not close until no longer disabled or forcefully closed.\n return;\n }\n if (!this.$isEnabled) {\n // If not enable\n return;\n }\n var type = e.type;\n var target = e.target;\n var relatedTarget = e.relatedTarget;\n var $element = this.$element;\n var $tip = this.$tip;\n if (type === 'click') {\n this.toggle(e);\n } else if (type === 'focusin' || type === 'mouseenter') {\n this.enter(e);\n } else if (type === 'focusout') {\n // target is the element which is loosing focus\n // And relatedTarget is the element gaining focus\n if ($tip && $element && $element.contains(target) && $tip.contains(relatedTarget)) {\n // If focus moves from $element to $tip, don't trigger a leave\n return;\n }\n if ($tip && $element && $tip.contains(target) && $element.contains(relatedTarget)) {\n // If focus moves from $tip to $element, don't trigger a leave\n return;\n }\n if ($tip && $tip.contains(target) && $tip.contains(relatedTarget)) {\n // If focus moves within $tip, don't trigger a leave\n return;\n }\n if ($element && $element.contains(target) && $element.contains(relatedTarget)) {\n // If focus moves within $element, don't trigger a leave\n return;\n }\n // Otherwise trigger a leave\n this.leave(e);\n } else if (type === 'mouseleave') {\n this.leave(e);\n }\n }\n\n /* istanbul ignore next */\n\n }, {\n key: 'setRouteWatcher',\n value: function setRouteWatcher(on) {\n var _this8 = this;\n\n if (on) {\n this.setRouteWatcher(false);\n if (this.$root && Boolean(this.$root.$route)) {\n this.$routeWatcher = this.$root.$watch('$route', function (newVal, oldVal) {\n if (newVal === oldVal) {\n return;\n }\n // If route has changed, we force hide the tooltip/popover\n _this8.forceHide();\n });\n }\n } else {\n if (this.$routeWatcher) {\n // cancel the route watcher by calling hte stored reference\n this.$routeWatcher();\n this.$routeWatcher = null;\n }\n }\n }\n\n /* istanbul ignore next */\n\n }, {\n key: 'setModalListener',\n value: function setModalListener(on) {\n var modal = closest(MODAL_CLASS, this.$element);\n if (!modal) {\n // If we are not in a modal, don't worry. be happy\n return;\n }\n // We can listen for modal hidden events on $root\n if (this.$root) {\n this.$root[on ? '$on' : '$off'](MODAL_CLOSE_EVENT, this.$forceHide);\n }\n }\n\n /* istanbul ignore next */\n\n }, {\n key: 'setRootListener',\n value: function setRootListener(on) {\n // Listen for global 'bv::{hide|show}::{tooltip|popover}' hide request event\n if (this.$root) {\n this.$root[on ? '$on' : '$off']('bv::hide::' + this.constructor.NAME, this.$doHide);\n this.$root[on ? '$on' : '$off']('bv::show::' + this.constructor.NAME, this.$doShow);\n this.$root[on ? '$on' : '$off']('bv::disable::' + this.constructor.NAME, this.$doDisable);\n this.$root[on ? '$on' : '$off']('bv::enable::' + this.constructor.NAME, this.$doEnable);\n }\n }\n }, {\n key: 'doHide',\n value: function doHide(id) {\n // Programmatically hide tooltip or popover\n if (!id) {\n // Close all tooltips or popovers\n this.forceHide();\n } else if (this.$element && this.$element.id && this.$element.id === id) {\n // Close this specific tooltip or popover\n this.hide();\n }\n }\n }, {\n key: 'doShow',\n value: function doShow(id) {\n // Programmatically show tooltip or popover\n if (!id) {\n // Open all tooltips or popovers\n this.show();\n } else if (id && this.$element && this.$element.id && this.$element.id === id) {\n // Show this specific tooltip or popover\n this.show();\n }\n }\n }, {\n key: 'doDisable',\n value: function doDisable(id) {\n // Programmatically disable tooltip or popover\n if (!id) {\n // Disable all tooltips or popovers\n this.disable();\n } else if (this.$element && this.$element.id && this.$element.id === id) {\n // Disable this specific tooltip or popover\n this.disable();\n }\n }\n }, {\n key: 'doEnable',\n value: function doEnable(id) {\n // Programmatically enable tooltip or popover\n if (!id) {\n // Enable all tooltips or popovers\n this.enable();\n } else if (this.$element && this.$element.id && this.$element.id === id) {\n // Enable this specific tooltip or popover\n this.enable();\n }\n }\n\n /* istanbul ignore next */\n\n }, {\n key: 'setOnTouchStartListener',\n value: function setOnTouchStartListener(on) {\n var _this9 = this;\n\n // if this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement) {\n arrayFrom(document.body.children).forEach(function (el) {\n if (on) {\n eventOn(el, 'mouseover', _this9._noop);\n } else {\n eventOff(el, 'mouseover', _this9._noop);\n }\n });\n }\n }\n\n /* istanbul ignore next */\n\n }, {\n key: '_noop',\n value: function _noop() {\n // Empty noop handler for ontouchstart devices\n }\n }, {\n key: 'fixTitle',\n value: function fixTitle() {\n var el = this.$element;\n var titleType = _typeof(getAttr(el, 'data-original-title'));\n if (getAttr(el, 'title') || titleType !== 'string') {\n setAttr(el, 'data-original-title', getAttr(el, 'title') || '');\n setAttr(el, 'title', '');\n }\n }\n\n // Enter handler\n /* istanbul ignore next */\n\n }, {\n key: 'enter',\n value: function enter(e) {\n var _this10 = this;\n\n if (e) {\n this.$activeTrigger[e.type === 'focusin' ? 'focus' : 'hover'] = true;\n }\n if (hasClass(this.getTipElement(), ClassName.SHOW) || this.$hoverState === HoverState.SHOW) {\n this.$hoverState = HoverState.SHOW;\n return;\n }\n clearTimeout(this.$hoverTimeout);\n this.$hoverState = HoverState.SHOW;\n if (!this.$config.delay || !this.$config.delay.show) {\n this.show();\n return;\n }\n this.$hoverTimeout = setTimeout(function () {\n if (_this10.$hoverState === HoverState.SHOW) {\n _this10.show();\n }\n }, this.$config.delay.show);\n }\n\n // Leave handler\n /* istanbul ignore next */\n\n }, {\n key: 'leave',\n value: function leave(e) {\n var _this11 = this;\n\n if (e) {\n this.$activeTrigger[e.type === 'focusout' ? 'focus' : 'hover'] = false;\n if (e.type === 'focusout' && /blur/.test(this.$config.trigger)) {\n // Special case for `blur`: we clear out the other triggers\n this.$activeTrigger.click = false;\n this.$activeTrigger.hover = false;\n }\n }\n if (this.isWithActiveTrigger()) {\n return;\n }\n clearTimeout(this.$hoverTimeout);\n this.$hoverState = HoverState.OUT;\n if (!this.$config.delay || !this.$config.delay.hide) {\n this.hide();\n return;\n }\n this.$hoverTimeout = setTimeout(function () {\n if (_this11.$hoverState === HoverState.OUT) {\n _this11.hide();\n }\n }, this.$config.delay.hide);\n }\n }, {\n key: 'getPopperConfig',\n value: function getPopperConfig(placement, tip) {\n var _this12 = this;\n\n return {\n placement: this.constructor.getAttachment(placement),\n modifiers: {\n offset: { offset: this.getOffset(placement, tip) },\n flip: { behavior: this.$config.fallbackPlacement },\n arrow: { element: '.arrow' },\n preventOverflow: { boundariesElement: this.$config.boundary }\n },\n onCreate: function onCreate(data) {\n // Handle flipping arrow classes\n if (data.originalPlacement !== data.placement) {\n _this12.handlePopperPlacementChange(data);\n }\n },\n onUpdate: function onUpdate(data) {\n // Handle flipping arrow classes\n _this12.handlePopperPlacementChange(data);\n }\n };\n }\n }, {\n key: 'getOffset',\n value: function getOffset(placement, tip) {\n if (!this.$config.offset) {\n var arrow = select(Selector.ARROW, tip);\n var arrowOffset = parseFloat(getCS(arrow).width) + parseFloat(this.$config.arrowPadding);\n switch (OffsetMap[placement.toUpperCase()]) {\n case +1:\n return '+50%p - ' + arrowOffset + 'px';\n case -1:\n return '-50%p + ' + arrowOffset + 'px';\n default:\n return 0;\n }\n }\n return this.$config.offset;\n }\n }, {\n key: 'getPlacement',\n value: function getPlacement() {\n var placement = this.$config.placement;\n if (typeof placement === 'function') {\n return placement.call(this, this.$tip, this.$element);\n }\n return placement;\n }\n }, {\n key: 'isWithActiveTrigger',\n value: function isWithActiveTrigger() {\n for (var trigger in this.$activeTrigger) {\n if (this.$activeTrigger[trigger]) {\n return true;\n }\n }\n return false;\n }\n\n // NOTE: Overridden by PopOver class\n\n }, {\n key: 'cleanTipClass',\n value: function cleanTipClass() {\n var tip = this.getTipElement();\n var tabClass = tip.className.match(BSCLS_PREFIX_REGEX);\n if (tabClass !== null && tabClass.length > 0) {\n tabClass.forEach(function (cls) {\n removeClass(tip, cls);\n });\n }\n }\n }, {\n key: 'handlePopperPlacementChange',\n value: function handlePopperPlacementChange(data) {\n this.cleanTipClass();\n this.addAttachmentClass(this.constructor.getAttachment(data.placement));\n }\n }, {\n key: 'fixTransition',\n value: function fixTransition(tip) {\n var initConfigAnimation = this.$config.animation || false;\n if (getAttr(tip, 'x-placement') !== null) {\n return;\n }\n removeClass(tip, ClassName.FADE);\n this.$config.animation = false;\n this.hide();\n this.show();\n this.$config.animation = initConfigAnimation;\n }\n }], [{\n key: 'getAttachment',\n value: function getAttachment(placement) {\n return AttachmentMap[placement.toUpperCase()];\n }\n }, {\n key: 'Default',\n get: function get() {\n return Defaults;\n }\n\n // NOTE: Overridden by PopOver class\n\n }, {\n key: 'NAME',\n get: function get() {\n return NAME;\n }\n }]);\n\n return ToolTip;\n}();\n\nexport default ToolTip;","import upperFirst from './upper-first';\n\n/**\n * Suffix can be a falsey value so nothing is appended to string.\n * (helps when looping over props & some shouldn't change)\n * Use data last parameters to allow for currying.\n * @param {string} suffix\n * @param {string} str\n */\nexport default function suffixPropName(suffix, str) {\n return str + (suffix ? upperFirst(suffix) : '');\n}","/**\n * Aliasing Object[method] allows the minifier to shorten methods to a single character variable,\n * as well as giving BV a chance to inject polyfills.\n * As long as we avoid\n * - import * as Object from \"utils/object\"\n * all unused exports should be removed by tree-shaking.\n */\n\n// @link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign\nif (typeof Object.assign !== 'function') {\n Object.assign = function (target, varArgs) {\n // .length of function is 2\n\n if (target == null) {\n // TypeError if undefined or null\n throw new TypeError('Cannot convert undefined or null to object');\n }\n\n var to = Object(target);\n\n for (var index = 1; index < arguments.length; index++) {\n var nextSource = arguments[index];\n\n if (nextSource != null) {\n // Skip over if undefined or null\n for (var nextKey in nextSource) {\n // Avoid bugs when hasOwnProperty is shadowed\n if (Object.prototype.hasOwnProperty.call(nextSource, nextKey)) {\n to[nextKey] = nextSource[nextKey];\n }\n }\n }\n }\n return to;\n };\n}\n\n// @link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is#Polyfill\nif (!Object.is) {\n Object.is = function (x, y) {\n // SameValue algorithm\n if (x === y) {\n // Steps 1-5, 7-10\n // Steps 6.b-6.e: +0 != -0\n return x !== 0 || 1 / x === 1 / y;\n } else {\n // Step 6.a: NaN == NaN\n // eslint-disable-next-line no-self-compare\n return x !== x && y !== y;\n }\n };\n}\n\nexport var assign = Object.assign;\nexport var getOwnPropertyNames = Object.getOwnPropertyNames;\nexport var keys = Object.keys;\nexport var defineProperties = Object.defineProperties;\nexport var defineProperty = Object.defineProperty;\nexport var freeze = Object.freeze;\nexport var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nexport var getOwnPropertySymbols = Object.getOwnPropertySymbols;\nexport var getPrototypeOf = Object.getPrototypeOf;\nexport var create = Object.create;\nexport var isFrozen = Object.isFrozen;\nexport var is = Object.is;\n\nexport function readonlyDescriptor() {\n return { enumerable: true, configurable: false, writable: false };\n}","/*\n * Consitant and stable sort function across JavsaScript platforms\n *\n * Inconsistant sorts can cause SSR problems between client and server\n * such as in if sortBy is applied to the data on server side render.\n * Chrome and V8 native sorts are inconsistant/unstable\n *\n * This function uses native sort with fallback to index compare when the a and b\n * compare returns 0\n *\n * Algorithm bsaed on:\n * https://stackoverflow.com/questions/1427608/fast-stable-sorting-algorithm-implementation-in-javascript/45422645#45422645\n *\n * @param {array} array to sort\n * @param {function} sortcompare function\n * @return {array}\n */\n\nexport default function stableSort(array, compareFn) {\n // Using `.bind(compareFn)` on the wrapped anonymous function improves\n // performance by avoiding the function call setup. We don't use an arrow\n // function here as it binds `this` to the `stableSort` context rather than\n // the `compareFn` context, which wouldn't give us the performance increase.\n return array.map(function (a, index) {\n return [index, a];\n }).sort(function (a, b) {\n return this(a[1], b[1]) || a[0] - b[0];\n }.bind(compareFn)).map(function (e) {\n return e[1];\n });\n}","export default {\n computed: {\n custom: function custom() {\n return !this.plain;\n }\n },\n props: {\n plain: {\n type: Boolean,\n default: false\n }\n }\n};","/* Form control contextual state class computation\n *\n * Returned class is either 'is-valid' or 'is-invalid' based on the 'state' prop\n * state can be one of five values:\n * - true or 'valid' for is-valid\n * - false or 'invalid' for is-invalid\n * - null (or empty string) for no contextual state\n */\n\nexport default {\n props: {\n state: {\n // true/'valid', false/'invalid', '',null\n type: [Boolean, String],\n default: null\n }\n },\n computed: {\n computedState: function computedState() {\n var state = this.state;\n if (state === true || state === 'valid') {\n return true;\n } else if (state === false || state === 'invalid') {\n return false;\n }\n return null;\n },\n stateClass: function stateClass() {\n var state = this.computedState;\n if (state === true) {\n return 'is-valid';\n } else if (state === false) {\n return 'is-invalid';\n }\n return null;\n }\n }\n};","export default {\n props: {\n tag: {\n type: String,\n default: 'div'\n },\n bgVariant: {\n type: String,\n default: null\n },\n borderVariant: {\n type: String,\n default: null\n },\n textVariant: {\n type: String,\n default: null\n }\n }\n};","import { isArray } from '../utils/array';\nimport { keys } from '../utils/object';\n\nfunction isObject(obj) {\n return obj && {}.toString.call(obj) === '[object Object]';\n}\n\nexport default {\n\n props: {\n options: {\n type: [Array, Object],\n default: function _default() {\n return [];\n }\n },\n valueField: {\n type: String,\n default: 'value'\n },\n textField: {\n type: String,\n default: 'text'\n },\n disabledField: {\n type: String,\n default: 'disabled'\n }\n },\n computed: {\n formOptions: function formOptions() {\n var options = this.options;\n\n var valueField = this.valueField;\n var textField = this.textField;\n var disabledField = this.disabledField;\n\n if (isArray(options)) {\n // Normalize flat-ish arrays to Array of Objects\n return options.map(function (option) {\n if (isObject(option)) {\n return {\n value: option[valueField],\n text: String(option[textField]),\n disabled: option[disabledField] || false\n };\n }\n return {\n value: option,\n text: String(option),\n disabled: false\n };\n });\n } else {\n // options is Object\n // Normalize Objects to Array of Objects\n return keys(options).map(function (key) {\n var option = options[key] || {};\n if (isObject(option)) {\n var value = option[valueField];\n var text = option[textField];\n return {\n value: typeof value === 'undefined' ? key : value,\n text: typeof text === 'undefined' ? key : String(text),\n disabled: option[disabledField] || false\n };\n }\n return {\n value: key,\n text: String(option),\n disabled: false\n };\n });\n }\n }\n }\n};","/*\n * form-radio & form-check mixin\n *\n */\n\nexport default {\n data: function data() {\n return {\n localChecked: this.checked,\n hasFocus: false\n };\n },\n\n model: {\n prop: 'checked',\n event: 'input'\n },\n props: {\n value: {},\n checked: {\n // This is the model, except when in group mode\n },\n buttonVariant: {\n // Only applicable when rendered with button style\n type: String,\n default: null\n }\n },\n computed: {\n computedLocalChecked: {\n get: function get() {\n if (this.is_Child) {\n return this.$parent.localChecked;\n } else {\n return this.localChecked;\n }\n },\n set: function set(val) {\n if (this.is_Child) {\n this.$parent.localChecked = val;\n } else {\n this.localChecked = val;\n }\n }\n },\n is_Child: function is_Child() {\n return Boolean(this.$parent && this.$parent.is_RadioCheckGroup);\n },\n is_Disabled: function is_Disabled() {\n // Child can be disabled while parent isn't\n return Boolean(this.is_Child ? this.$parent.disabled || this.disabled : this.disabled);\n },\n is_Required: function is_Required() {\n return Boolean(this.is_Child ? this.$parent.required : this.required);\n },\n is_Plain: function is_Plain() {\n return Boolean(this.is_Child ? this.$parent.plain : this.plain);\n },\n is_Custom: function is_Custom() {\n return !this.is_Plain;\n },\n get_Size: function get_Size() {\n return this.is_Child ? this.$parent.size : this.size;\n },\n get_State: function get_State() {\n // This is a tri-state prop (true, false, null)\n if (this.is_Child && typeof this.$parent.get_State === 'boolean') {\n return this.$parent.get_State;\n }\n return this.computedState;\n },\n get_StateClass: function get_StateClass() {\n // This is a tri-state prop (true, false, null)\n return typeof this.get_State === 'boolean' ? this.get_State ? 'is-valid' : 'is-invalid' : '';\n },\n is_Stacked: function is_Stacked() {\n return Boolean(this.is_Child && this.$parent.stacked);\n },\n is_Inline: function is_Inline() {\n return !this.is_Stacked;\n },\n is_ButtonMode: function is_ButtonMode() {\n return Boolean(this.is_Child && this.$parent.buttons);\n },\n get_ButtonVariant: function get_ButtonVariant() {\n // Local variant trumps parent variant\n return this.buttonVariant || (this.is_Child ? this.$parent.buttonVariant : null) || 'secondary';\n },\n get_Name: function get_Name() {\n return (this.is_Child ? this.$parent.name || this.$parent.safeId() : this.name) || null;\n },\n buttonClasses: function buttonClasses() {\n // Same for radio & check\n return ['btn', 'btn-' + this.get_ButtonVariant, this.get_Size ? 'btn-' + this.get_Size : '',\n // 'disabled' class makes \"button\" look disabled\n this.is_Disabled ? 'disabled' : '',\n // 'active' class makes \"button\" look pressed\n this.is_Checked ? 'active' : '',\n // Focus class makes button look focused\n this.hasFocus ? 'focus' : ''];\n }\n },\n methods: {\n handleFocus: function handleFocus(evt) {\n // When in buttons mode, we need to add 'focus' class to label when radio focused\n if (this.is_ButtonMode && evt.target) {\n if (evt.type === 'focus') {\n this.hasFocus = true;\n } else if (evt.type === 'blur') {\n this.hasFocus = false;\n }\n }\n }\n }\n};","/**\n * @param {string} str\n */\nexport default function upperFirst(str) {\n if (typeof str !== 'string') {\n str = String(str);\n }\n return str.charAt(0).toUpperCase() + str.slice(1);\n}","export default {\n props: {\n name: {\n type: String\n },\n id: {\n type: String\n },\n disabled: {\n type: Boolean\n },\n required: {\n type: Boolean,\n default: false\n }\n }\n};","import { create } from './object';\n\nexport default function memoize(fn) {\n var cache = create(null);\n\n return function memoizedFn() {\n var args = JSON.stringify(arguments);\n return cache[args] = cache[args] || fn.apply(null, arguments);\n };\n}","export default {\n props: {\n size: {\n type: String,\n default: null\n }\n },\n computed: {\n sizeFormClass: function sizeFormClass() {\n return [this.size ? \"form-control-\" + this.size : null];\n },\n sizeBtnClass: function sizeBtnClass() {\n return [this.size ? \"btn-\" + this.size : null];\n }\n }\n};","/**\n * @param {number} length\n * @return {Array}\n */\nexport default (function (length) {\n return Array.apply(null, { length: length });\n});","/*\n * Comon props, computed, data, render function, and methods for b-pagination and b-pagination-nav\n */\n\nimport range from '../utils/range';\nimport KeyCodes from '../utils/key-codes';\nimport { isVisible, isDisabled, selectAll, getAttr } from '../utils/dom';\nimport bLink from '../components/link/link';\n\n// Make an array of N to N+X\nfunction makePageArray(startNum, numPages) {\n return range(numPages).map(function (value, index) {\n return { number: index + startNum, className: null };\n });\n}\n\n// Threshold of limit size when we start/stop showing ellipsis\nvar ELLIPSIS_THRESHOLD = 3;\n\n// Props object\nvar props = {\n disabled: {\n type: Boolean,\n default: false\n },\n value: {\n type: Number,\n default: 1\n },\n limit: {\n type: Number,\n default: 5\n },\n size: {\n type: String,\n default: 'md'\n },\n align: {\n type: String,\n default: 'left'\n },\n hideGotoEndButtons: {\n type: Boolean,\n default: false\n },\n ariaLabel: {\n type: String,\n default: 'Pagination'\n },\n labelFirstPage: {\n type: String,\n default: 'Goto first page'\n },\n firstText: {\n type: String,\n default: '«'\n },\n labelPrevPage: {\n type: String,\n default: 'Goto previous page'\n },\n prevText: {\n type: String,\n default: '‹'\n },\n labelNextPage: {\n type: String,\n default: 'Goto next page'\n },\n nextText: {\n type: String,\n default: '›'\n },\n labelLastPage: {\n type: String,\n default: 'Goto last page'\n },\n lastText: {\n type: String,\n default: '»'\n },\n labelPage: {\n type: String,\n default: 'Goto page'\n },\n hideEllipsis: {\n type: Boolean,\n default: false\n },\n ellipsisText: {\n type: String,\n default: '…'\n }\n};\n\nexport default {\n components: { bLink: bLink },\n data: function data() {\n return {\n showFirstDots: false,\n showLastDots: false,\n currentPage: this.value\n };\n },\n\n props: props,\n render: function render(h) {\n var _this = this;\n\n var buttons = [];\n\n // Factory function for prev/next/first/last buttons\n var makeEndBtns = function makeEndBtns(linkTo, ariaLabel, btnText, pageTest) {\n var button = void 0;\n pageTest = pageTest || linkTo; // Page # to test against to disable\n if (_this.disabled || _this.isActive(pageTest)) {\n button = h('li', {\n class: ['page-item', 'disabled'],\n attrs: { role: 'none presentation', 'aria-hidden': 'true' }\n }, [h('span', {\n class: ['page-link'],\n domProps: { innerHTML: btnText }\n })]);\n } else {\n button = h('li', {\n class: ['page-item'],\n attrs: { role: 'none presentation' }\n }, [h('b-link', {\n class: ['page-link'],\n props: _this.linkProps(linkTo),\n attrs: {\n role: 'menuitem',\n tabindex: '-1',\n 'aria-label': ariaLabel,\n 'aria-controls': _this.ariaControls || null\n },\n on: {\n click: function click(evt) {\n _this.onClick(linkTo, evt);\n },\n keydown: function keydown(evt) {\n // Links don't normally respond to SPACE, so we add that functionality\n if (evt.keyCode === KeyCodes.SPACE) {\n evt.preventDefault();\n _this.onClick(linkTo, evt);\n }\n }\n }\n }, [h('span', {\n attrs: { 'aria-hidden': 'true' },\n domProps: { innerHTML: btnText }\n })])]);\n }\n return button;\n };\n\n // Ellipsis factory\n var makeEllipsis = function makeEllipsis() {\n return h('li', {\n class: ['page-item', 'disabled', 'd-none', 'd-sm-flex'],\n attrs: { role: 'separator' }\n }, [h('span', {\n class: ['page-link'],\n domProps: { innerHTML: _this.ellipsisText }\n })]);\n };\n\n // Goto First Page button\n buttons.push(this.hideGotoEndButtons ? h(false) : makeEndBtns(1, this.labelFirstPage, this.firstText));\n\n // Goto Previous page button\n buttons.push(makeEndBtns(this.currentPage - 1, this.labelPrevPage, this.prevText, 1));\n\n // First Ellipsis Bookend\n buttons.push(this.showFirstDots ? makeEllipsis() : h(false));\n\n // Individual Page links\n this.pageList.forEach(function (page) {\n var inner = void 0;\n var pageNum = _this.makePage(page.number);\n if (_this.disabled) {\n inner = h('span', {\n class: ['page-link'],\n domProps: { innerHTML: pageNum }\n });\n } else {\n var active = _this.isActive(page.number);\n inner = h('b-link', {\n class: _this.pageLinkClasses(page),\n props: _this.linkProps(page.number),\n attrs: {\n role: 'menuitemradio',\n tabindex: active ? '0' : '-1',\n 'aria-controls': _this.ariaControls || null,\n 'aria-label': _this.labelPage + ' ' + page.number,\n 'aria-checked': active ? 'true' : 'false',\n 'aria-posinset': page.number,\n 'aria-setsize': _this.numberOfPages\n },\n domProps: { innerHTML: pageNum },\n on: {\n click: function click(evt) {\n _this.onClick(page.number, evt);\n },\n keydown: function keydown(evt) {\n if (evt.keyCode === KeyCodes.SPACE) {\n evt.preventDefault();\n _this.onClick(page.number, evt);\n }\n }\n }\n });\n }\n buttons.push(h('li', {\n key: page.number,\n class: _this.pageItemClasses(page),\n attrs: { role: 'none presentation' }\n }, [inner]));\n });\n\n // Last Ellipsis Bookend\n buttons.push(this.showLastDots ? makeEllipsis() : h(false));\n\n // Goto Next page button\n buttons.push(makeEndBtns(this.currentPage + 1, this.labelNextPage, this.nextText, this.numberOfPages));\n\n // Goto Last Page button\n buttons.push(this.hideGotoEndButtons ? h(false) : makeEndBtns(this.numberOfPages, this.labelLastPage, this.lastText));\n\n // Assemble the paginatiom buttons\n var pagination = h('ul', {\n ref: 'ul',\n class: ['pagination', 'b-pagination', this.btnSize, this.alignment],\n attrs: {\n role: 'menubar',\n 'aria-disabled': this.disabled ? 'true' : 'false',\n 'aria-label': this.ariaLabel || null\n },\n on: {\n keydown: function keydown(evt) {\n var keyCode = evt.keyCode;\n var shift = evt.shiftKey;\n if (keyCode === KeyCodes.LEFT) {\n evt.preventDefault();\n shift ? _this.focusFirst() : _this.focusPrev();\n } else if (keyCode === KeyCodes.RIGHT) {\n evt.preventDefault();\n shift ? _this.focusLast() : _this.focusNext();\n }\n }\n }\n }, buttons);\n\n // if we are pagination-nav, wrap in '