{"version":3,"sources":["webpack:///../../../src/components/VIcon/VIcon.ts","webpack:///../../../src/components/VList/VListItemAction.ts","webpack:///../../../src/components/VOverlay/index.ts","webpack:///../../../src/components/VList/VListItemGroup.ts","webpack:///../../../src/components/VMenu/VMenu.ts","webpack:///../../../src/components/VMenu/index.ts","webpack:///../../../src/components/VOverflowBtn/VOverflowBtn.ts","webpack:///../../../src/components/VList/VListItemIcon.ts","webpack:///../../../src/components/VImg/index.ts","webpack:///../../../src/components/VParallax/VParallax.ts","webpack:///../../../src/components/VList/VListGroup.ts","webpack:///../../../src/components/VPagination/VPagination.ts","webpack:///../../../src/components/VList/VListItemAvatar.ts","webpack:///../../../src/components/VList/index.ts","webpack:///../../../src/components/VPicker/VPicker.ts","webpack:///../../../src/components/VPicker/index.ts","webpack:///../../../src/components/VItemGroup/VItemGroup.ts","webpack:///../../../src/components/VNavigationDrawer/index.ts","webpack:///../../../src/components/VList/VList.ts","webpack:///../../../src/components/VIcon/index.ts","webpack:///../../../src/components/VItemGroup/index.ts","webpack:///../../../src/components/VOverlay/VOverlay.ts","webpack:///../../../src/components/VImg/VImg.ts","webpack:///../../../src/components/VLazy/VLazy.ts","webpack:///../../../src/components/VLabel/VLabel.ts","webpack:///../../../src/components/VLabel/index.ts","webpack:///../../../src/components/VInput/VInput.ts","webpack:///../../../src/components/VInput/index.ts","webpack:///../../../src/components/VItemGroup/VItem.ts","webpack:///../../../src/components/VList/VListItem.ts","webpack:///../../../src/components/VMessages/VMessages.ts","webpack:///../../../src/components/VMessages/index.ts","webpack:///../../../src/components/VMain/index.ts","webpack:///../../../src/components/VMain/VMain.ts","webpack:///../../../src/components/VNavigationDrawer/VNavigationDrawer.ts"],"names":["isFontAwesome5","some","val","iconType","isSvgPath","test","icon","SIZE_MAP","VIcon","name","props","dense","disabled","left","right","size","Number","tag","type","required","default","computed","medium","hasClickListener","Boolean","this","listeners$","click","methods","getIcon","iconName","$slots","text","getSize","sizes","xSmall","small","large","xLarge","explicitSize","key","getDefaultData","staticClass","class","attrs","attrs$","on","getSvgWrapperData","fontSize","wrapperData","style","height","width","undefined","applyColors","data","themeClasses","renderFontIcon","newChildren","delimiterIndex","isMaterialIcon","h","renderSvgIcon","svgData","xmlns","viewBox","role","d","renderSvgIconComponent","component","render","$_wrapperFor","functional","children","filteredChild","VNode","provide","isInGroup","listItemGroup","classes","genData","setTextColor","baseMixins","mixins","directives","ClickOutside","Resize","isInMenu","theme","auto","closeOnClick","closeOnContentClick","disableKeys","maxHeight","offsetX","offsetY","openOnClick","openOnHover","origin","transition","calculatedTopAuto","defaultOffset","hasJustFocused","listIndex","resizeTimeout","selectedIndex","tiles","activeTile","calculatedLeft","menuWidth","Math","dimensions","content","parseFloat","calcXOverflow","calcLeft","calculatedMaxHeight","calculatedMaxWidth","calculatedMinWidth","minWidth","activator","pageWidth","isNaN","parseInt","calculatedTop","top","calcYOverflow","hasClickableTiles","find","tile","styles","maxWidth","transformOrigin","zIndex","activeZIndex","watch","isActive","isContentActive","next","prev","classList","remove","created","$attrs","hasOwnProperty","mounted","activate","requestAnimationFrame","calcScrollPosition","$el","$refs","maxScrollTop","calcLeftAuto","calcTopAuto","Array","tileDistanceFromMenuTop","firstTileOffsetTop","computedTop","changeListIndex","e","closeConditional","target","contains","genActivatorAttributes","attributes","id","genActivatorListeners","listeners","genTransition","$createElement","genDirectives","value","handler","include","genContent","options","menuable__content__active","contentClass","ref","keydown","onKeyDown","$listeners","getTiles","querySelectorAll","mouseEnterHandler","mouseLeaveHandler","nextTile","prevTile","lastTile","length","firstTile","setTimeout","onResize","clearTimeout","window","attach","arg","showLazyContent","root","light","dark","VAutocomplete","editable","segmented","isAnyValueAllowed","isSingle","computedItems","genSelections","VSelect","genCommaSelection","genSegmentedBtn","genInput","input","VTextField","genLabel","label","itemValue","getValue","itemObj","i","VBtn","console","updateValue","initialValue","alt","String","src","srcset","isBooted","display","opacity","transform","parallax","init","img","objHeight","imgData","container","ripple","activeClass","appendIcon","color","group","noAction","prependIcon","subGroup","list","listClick","$route","register","matchRoute","beforeDestroy","unregister","genIcon","genAppendIcon","genHeader","inputValue","genItems","genPrependIcon","onRouteChange","to","toggle","_uid","onVisible","circle","validator","nextIcon","prevIcon","totalVisible","pageAriaLabel","currentPageAriaLabel","previousAriaLabel","nextAriaLabel","wrapperAriaLabel","maxButtons","selected","items","maxLength","range","even","start","end","parentElement","previous","from","fn","genItem","isCurrentPage","ariaLabel","setBackgroundColor","$vuetify","lang","t","map","index","genList","modifiers","quiet","rtl","VAvatar","horizontal","VListItemActionText","VListItemContent","VListItemTitle","VListItemSubtitle","VList","VListGroup","VListItem","VListItemAction","VListItemGroup","VListItemIcon","flat","fullWidth","landscape","noTitle","computedTitleColor","defaultTitleColor","isDark","genTitle","genBodyTransition","genBody","genActions","elevationClasses","title","actions","BaseItemGroup","mandatory","max","multiple","internalLazyValue","selectedItem","indexOf","selectedItems","filter","selectedValues","internalValue","toggleMethod","v","item","onClick","push","valueIndex","updateInternalValue","updateItem","updateItemsState","updateMultiple","updateSingle","updateMandatory","defaultValue","isSame","itemGroup","isInList","inject","isInNav","expand","nav","rounded","subheader","threeLine","twoLine","groups","findIndex","g","splice","absolute","__scrim","computedOpacity","hasIntersect","intersect","contain","eager","gradient","lazySrc","rootMargin","threshold","position","currentSrc","image","isLoading","calculatedAspectRatio","naturalWidth","hasError","computedAspectRatio","normalisedSrc","aspect","aspectRatio","__cachedImage","backgroundImage","backgroundPosition","mode","loadImage","lazyImg","onLoad","endsWith","startsWith","naturalHeight","onError","getSrc","err","pollForSize","timeout","poll","__genPlaceholder","placeholder","appear","node","once","measurableStyles","onObserve","focused","for","ctx","inheritAttrs","backgroundColor","hideDetails","hint","loading","persistentHint","lazyValue","hasMouseDown","computedId","hasDetails","messagesToDisplay","hasHint","hasLabel","get","set","isDirty","isLabelActive","validations","validation","validationResult","message","showDetails","beforeCreate","$options","model","genControl","genDefaultSlot","extraData","eventName","hasListener","mergeData","cb","mouseup","genInputSlot","mousedown","onMouseUp","VLabel","genMessages","VMessages","hasMessages","scopedSlots","genSlot","slot","genPrependSlot","genAppendSlot","onMouseDown","BaseItem","$scopedSlots","element","active","_b","Ripple","inactive","link","selectable","proxyClass","isClickable","blur","genAttrs","tabindex","genChildren","genMessage","paddingTop","paddingRight","paddingBottom","footer","paddingLeft","Touch","bottom","clipped","disableResizeWatcher","disableRouteWatcher","expandOnHover","floating","app","miniVariant","miniVariantWidth","permanent","stateless","temporary","touchless","isMouseover","touchArea","stackMinZIndex","applicationProperty","computedMaxHeight","application","computedTransform","computedWidth","isMiniVariant","hasApp","isBottom","isMobile","reactsToClick","reactsToMobile","reactsToResize","reactsToRoute","showOverlay","translate","removeOverlay","beforeMount","calculateTouchArea","parent","parentRect","genAppend","genPosition","genBackground","getOpenDependentElements","swipeRight","genListeners","transitionend","resizeEvent","document","genPrepend","genBorder","swipeLeft","updateApplication","updateMiniVariant","$emit"],"mappings":"wIAgBA,E,oSASA,SAASA,EAAT,GACE,MAAO,CAAC,MAAO,MAAO,MAAO,MAAO,MAAO,OAAOC,MAAK,SAAAC,GAAG,OAAIC,EAAA,SAA9D,MAGF,SAASC,EAAT,GACE,MAAQ,0CAA0CC,KAAKC,IAAS,UAAUD,KAAlE,IAAgFC,EAAA,OAAxF,GAdF,YACE,mBACA,kBACA,oBACA,mBACA,kBACA,oBANF,CAAKC,MAAL,KAiBA,IAAMC,EAAQ,eAAO,EAAD,mBAIlB,QAJY,OAML,CACPC,KADO,SAGPC,MAAO,CACLC,MADK,QAELC,SAFK,QAGLC,KAHK,QAILC,MAJK,QAKLC,KAAM,CAACC,OALF,QAMLC,IAAK,CACHC,KADG,OAEHC,UAFG,EAGHC,QAAS,MAIbC,SAAU,CACRC,OADQ,WAEN,UAEFC,iBAJQ,WAKN,OAAOC,QACLC,KAAKC,WAAWC,OAASF,KAAKC,WADhC,aAMJE,QAAS,CACPC,QADO,WAEL,IAAIC,EAAJ,GAGA,OAFIL,KAAKM,OAAT,UAAyBD,EAAWL,KAAKM,OAAOX,QAAQ,GAAGY,KAAlC,QAElB,eAAkBP,KAAzB,IAEFQ,QAPO,WAQL,IAAMC,EAAQ,CACZC,OAAQV,KADI,OAEZW,MAAOX,KAFK,MAGZH,OAAQG,KAHI,OAIZY,MAAOZ,KAJK,MAKZa,OAAQb,KAAKa,QAGTC,EAAe,wBAAiB,SAAAC,GAAG,OAAIN,EAA7C,MAEA,OACGK,GAAgBhC,EAAjB,IAA4C,eAAckB,KAD5D,OAKFgB,eAvBO,WAwBL,MAAO,CACLC,YADK,qBAELC,MAAO,CACL,mBAAoBlB,KADf,SAEL,eAAgBA,KAFX,KAGL,eAAgBA,KAHX,iBAIL,gBAAiBA,KAJZ,MAKL,gBAAiBA,KAAKd,OAExBiC,MAAO,EAAF,CACH,eAAgBnB,KADX,iBAELb,SAAUa,KAAKF,kBAAoBE,KAF9B,SAGLP,KAAMO,KAAKF,iBAAmB,cAHzB,GAIFE,KAAKoB,QAEVC,GAAIrB,KAAKC,aAGbqB,kBA1CO,WA2CL,IAAMC,EAAWvB,KAAjB,UACMwB,EAAc,EAAH,GACZxB,KADe,iBAAH,CAEfyB,MAAOF,EAAW,CAChBA,WACAG,OAFgB,EAGhBC,MAAOJ,QACLK,IAIN,OAFA5B,KAAA,eAEA,GAEF6B,YAxDO,SAwDI,GACTC,EAAA,WAAkBA,EAAL,MAAoB9B,KAAK+B,cACtC/B,KAAA,aAAkBA,KAAlB,UAEFgC,eA5DO,SA4DO,KACZ,IAAMC,EAAN,GACMH,EAAO9B,KAAb,iBAEItB,EAJwC,iBAOtCwD,EAAiBrD,EAAA,QAAvB,KACMsD,EAAiBD,IAAvB,EAEA,EAEED,EAAA,SAEAvD,EAAWG,EAAA,QAAX,GACIN,EAAJ,KAA8BG,EAAA,KAGhCoD,EAAA,YACAA,EAAA,YAEA,IAAMP,EAAWvB,KAAjB,UAKA,OAJA,IAAc8B,EAAA,MAAa,CAAEP,aAE7BvB,KAAA,eAEOoC,EAAEpC,KAAKF,iBAAmB,SAAWE,KAApC,MAAR,IAEFqC,cAxFO,SAwFM,KACX,IAAMC,EAAqB,CACzBpB,MADyB,cAEzBC,MAAO,CACLoB,MADK,6BAELC,QAFK,YAGLC,KAHK,MAIL,eAAe,IAIbnD,EAAOU,KAAb,UASA,OARA,IACEsC,EAAA,MAAgB,CACdf,SADc,EAEdG,OAFc,EAGdC,MAAOrC,IAIJ8C,EAAEpC,KAAKF,iBAAmB,SAAzB,OAA4CE,KAA5C,oBAAsE,CAC5EoC,EAAE,MAAOE,EAAS,CAChBF,EAAE,OAAQ,CACRjB,MAAO,CACLuB,EAAG7D,UAMb8D,uBAtHO,SAsHe,KAIpB,IAAMb,EAAkB,CACtBZ,MAAO,CACL,qBAAqB,IAInB5B,EAAOU,KAAb,UACA,IACE8B,EAAA,MAAa,CACXP,SADW,EAEXG,OAFW,EAGXC,MAAOrC,IAIXU,KAAA,eAEA,IAAM4C,EAAY/D,EAAlB,UAIA,OAHAiD,EAAA,MAAajD,EAAb,MACAiD,EAAA,SAAgBA,EAAhB,GAEOM,EAAEpC,KAAKF,iBAAmB,SAAzB,OAA4CE,KAA5C,oBAAsE,CAC5EoC,EAAEQ,EADJ,OAMJC,OAhLO,SAgLD,GACJ,IAAMhE,EAAOmB,KAAb,UAEA,wBAAWnB,EACLF,EAAJ,GACSqB,KAAKqC,cAAcxD,EAA1B,GAEKmB,KAAKgC,eAAenD,EAA3B,GAGKmB,KAAK2C,uBAAuB9D,EAAnC,MAIW,qBAAW,CACxBG,KADwB,SAGxB8D,aAHwB,EAKxBC,YALwB,EAOxBF,OAPwB,SAOlB,EAPkB,GAOK,IAAlB,EAAkB,EAAlB,KAAQG,EAAU,EAAVA,SACb3C,EADuB,GAe3B,OAXIyB,EAAJ,WACEzB,EAAWyB,EAAA,sBACTA,EAAA,SADS,WADM,SAOVA,EAAA,SAAP,mBACOA,EAAA,SAAP,WAGKM,EAAErD,EAAO+C,EAAMzB,EAAW,CAAH,GAA9B,O,kCC3PJ,gBAIe,qBAAW,CACxBrB,KADwB,qBAGxB+D,YAHwB,EAKxBF,OALwB,SAKlB,EALkB,GAKU,IAAvB,EAAuB,EAAvB,KAAuB,IAAfG,gBAAe,MAAJ,GAAI,EAChClB,EAAA,YAAmBA,EAAA,0CAA0CA,EAA1C,aAAnB,sBACA,IAAMmB,EAAgBD,EAAA,QAAgB,SAAAE,GACpC,OAAO,IAAAA,EAAA,WAAP,MAAoCA,EAAA,QAItC,OAFID,EAAA,OAAJ,IAA8BnB,EAAA,4CAEvBM,EAAE,MAAON,EAAhB,O,oCChBJ,uDAIA,e,sSCQe,sBAAO,EAAD,KAAN,eAGN,CACP9C,KADO,oBAGPmE,QAHO,WAIL,MAAO,CACLC,WADK,EAELC,cAAerD,OAInBJ,SAAU,CACR0D,QADQ,WAEN,YACK,qCADE,MAAP,CAEE,qBAAqB,MAK3BnD,QAAS,CACPoD,QADO,WAEL,OAAOvD,KAAKwD,aAAaxD,KAAlB,WACF,oCADgC,MAA9B,CAELmB,MAAO,CACLsB,KAAM,mB,80CCPhB,IAAMgB,EAAa,OAAAC,EAAA,MAAO,EAAD,+CAAzB,QAYe,EAAAD,EAAA,OAAkB,CAC/BzE,KAD+B,SAG/B2E,WAAY,CACVC,aAAA,OACAC,OAAA,QAGFV,QAR+B,WAS7B,MAAO,CACLW,UADK,EAGLC,MAAO/D,KAAK+D,QAIhB9E,MAAO,CACL+E,KADK,QAELC,aAAc,CACZxE,KADY,QAEZE,SAAS,GAEXuE,oBAAqB,CACnBzE,KADmB,QAEnBE,SAAS,GAEXR,SAVK,QAWLgF,YAXK,QAYLC,UAAW,CACT3E,KAAM,CAACF,OADE,QAETI,QAAS,QAEX0E,QAhBK,QAiBLC,QAjBK,QAkBLC,YAAa,CACX9E,KADW,QAEXE,SAAS,GAEX6E,YAtBK,QAuBLC,OAAQ,CACNhF,KADM,OAENE,QAAS,YAEX+E,WAAY,CACVjF,KAAM,CAACM,QADG,QAEVJ,QAAS,sBAIbmC,KAjD+B,WAkD7B,MAAO,CACL6C,kBADK,EAELC,cAFK,EAGLC,gBAHK,EAILC,WAJK,EAKLC,cALK,EAMLC,cANK,KAOLC,MAAO,KAIXrF,SAAU,CACRsF,WADQ,WAEN,OAAOlF,KAAKiF,MAAMjF,KAAlB,YAEFmF,eAJQ,WAKN,IAAMC,EAAYC,KAAA,IAASrF,KAAKsF,WAAWC,QAAzB,MAAwCC,WAAWxF,KAArE,qBAEA,OAAKA,KAAL,KAEO,eAAcA,KAAKyF,cAAczF,KAAnB,eAAd,KAAP,IAFuBA,KAAK0F,SAASN,IAArB,KAIlBO,oBAXQ,WAYN,IAAMjE,EAAS1B,KAAKgE,KAAL,QAEX,eAAchE,KAFlB,WAIA,OAAO0B,GAAP,KAEFkE,mBAlBQ,WAmBN,OAAO,eAAc5F,KAAd,WAAP,KAEF6F,mBArBQ,WAsBN,GAAI7F,KAAJ,SACE,OAAO,eAAcA,KAAd,WAAP,IAGF,IAAM8F,EAAWT,KAAA,IACfrF,KAAKsF,WAAWS,UAAUpE,MAC1BpC,OAAOS,KADP,aAECA,KAAKgE,KAAO,GAHE,GAIfqB,KAAA,IAASrF,KAAKgG,UAAd,GAJF,IAOMJ,EAAqBK,MAAMC,SAASlG,KAAf,uBAEvBkG,SAASlG,KAFb,oBAIA,OAAO,eAAcqF,KAAA,MAAd,KAAP,KAKFc,cA1CQ,WA2CN,IAAMC,EAAOpG,KAAD,KAER,eAAcA,KAAKqG,cAAcrG,KAFrC,oBACIA,KADQ,UAIZ,OAAOoG,GAAP,KAEFE,kBAjDQ,WAkDN,OAAOvG,QAAQC,KAAKiF,MAAMsB,MAAK,SAAAC,GAAI,OAAIA,EAAA,UAAvC,OAEFC,OApDQ,WAqDN,MAAO,CACLrC,UAAWpE,KADN,oBAEL8F,SAAU9F,KAFL,mBAGL0G,SAAU1G,KAHL,mBAILoG,IAAKpG,KAJA,cAKLZ,KAAMY,KALD,eAML2G,gBAAiB3G,KANZ,OAOL4G,OAAQ5G,KAAK4G,QAAU5G,KAAK6G,gBAKlCC,MAAO,CACLC,SADK,SACG,GACN,IAAU/G,KAAK8E,WAAL,IAEZkC,gBAJK,SAIU,GACbhH,KAAA,kBAEF8E,UAPK,SAOI,KACP,GAAImC,KAAQjH,KAAZ,MAAwB,CACtB,IAAMwG,EAAOxG,KAAKiF,MAAlB,GACAuB,EAAA,0CACAxG,KAAA,wBAA+BwG,EAAA,UAAiBA,EAAhD,aAGFU,KAAQlH,KAAR,OACEA,KAAKiF,MAAMiC,GAAMC,UAAUC,OAD7B,8BAKJC,QAjJ+B,WAmJzBrH,KAAKsH,OAAOC,eAAhB,eACE,eAAQ,aAAR,OAIJC,QAxJ+B,WAyJ7BxH,KAAA,UAAiBA,KAAjB,gBAGFG,QAAS,CACPsH,SADO,WACC,WAGNzH,KAHM,mBAKN0H,uBAAsB,WAEpB,0BAA4B,WACtB,QAAJ,UACE,oBAAyB,EAAzB,cACA,SAAc,0BAA+B,EAA7C,8BAKRC,mBAhBO,WAiBL,IAAMC,EAAM5H,KAAK6H,MAAjB,QACM3C,EAAa0C,EAAA,cAAnB,wBACME,EAAeF,EAAA,aAAmBA,EAAxC,aAEA,OAAO1C,EACHG,KAAA,MAAuBA,KAAA,MAAYH,EAAA,UAAuB0C,EAAA,aAAvB,EAA8C1C,EAAA,aADpE,IAEb0C,EAFJ,WAIFG,aAzBO,WA0BL,OAAO7B,SAASlG,KAAKsF,WAAWS,UAAU3G,KAA1C,EAAiDY,KAAK4E,gBAExDoD,YA5BO,WA6BL,IAAMJ,EAAM5H,KAAK6H,MAAjB,QACM3C,EAAa0C,EAAA,cAAnB,wBAMA,GAJA,IACE5H,KAAA,oBAGEA,KAAKsE,UAAT,EACE,OAAOtE,KAAP,YAGFA,KAAA,cAAqBiI,MAAA,KAAWjI,KAAX,eAArB,GAEA,IAAMkI,EAA0BhD,EAAA,UAAuBlF,KAAvD,qBACMmI,EAAsBP,EAAA,8BAA5B,UAEA,OAAO5H,KAAKoI,YAAcF,EAA0BC,EAApD,GAEFE,gBA/CO,SA+CQ,GAIb,GAFArI,KAAA,WAEKA,KAAD,UAAmBA,KAAvB,kBAEO,GAAIsI,EAAA,UAAc,OAAlB,KAGA,GAAIA,EAAA,UAAc,OAAlB,KACLtI,KAAA,gBACK,GAAIsI,EAAA,UAAc,OAAlB,GACLtI,KAAA,gBACK,GAAIsI,EAAA,UAAc,OAAlB,IACLtI,KAAA,gBACK,GAAIsI,EAAA,UAAc,OAAlB,KACLtI,KAAA,gBACK,IAAIsI,EAAA,UAAc,OAAd,QAAJ,IAAoCtI,KAAK8E,UAEvC,OADP9E,KAAA,MAAWA,KAAX,mBAGFsI,EAAA,sBAdEtI,KAAA,aAgBJuI,iBAtEO,SAsES,GACd,IAAMC,EAASF,EAAf,OAEA,OAAOtI,KAAK+G,WACT/G,KADI,cAELA,KAFK,eAGJA,KAAK6H,MAAMtC,QAAQkD,SAHtB,IAKFC,uBA9EO,WA+EL,IAAMC,EAAa,mDAAnB,MAEA,OAAI3I,KAAKkF,YAAclF,KAAKkF,WAA5B,GACE,KAAO,EAAP,CAEE,wBAAyBlF,KAAKkF,WAAW0D,KAI7C,GAEFC,sBA1FO,WA2FL,IAAMC,EAAY,kDAAlB,MAMA,OAJK9I,KAAL,cACE8I,EAAA,QAAoB9I,KAApB,WAGF,GAEF+I,cAnGO,WAoGL,IAAMxD,EAAUvF,KAAhB,aAEA,OAAKA,KAAL,WAEOA,KAAKgJ,eAAe,aAAc,CACvC/J,MAAO,CACLD,KAAMgB,KAAK0E,aAEZ,CAJH,IAF6Ba,GAQ/B0D,cA9GO,WA8GM,WACLtF,EAA+B,CAAC,CACpC3E,KADoC,OAEpCkK,MAAOlJ,KAAKgH,kBAed,OAXKhH,KAAD,aAAqBA,KAAzB,cACE2D,EAAA,KAAgB,CACd3E,KADc,gBAEdkK,MAAO,CACLC,QAAS,WAAQ,eACjBZ,iBAAkBvI,KAFb,iBAGLoJ,QAAS,kBAAO,EAAD,KAAN,SAAoB,EAAd,iCAKrB,GAEFC,WAlIO,WAkIG,WACFC,EAAU,CACdnI,MAAO,EAAF,GACAnB,KADE,kBAAF,CAEHyC,KAAM,SAAUzC,KAAV,OAAwBA,KAAKsH,OAA7B,KAA2C,SAEnDrG,YALc,kBAMdC,MAAO,EAAF,GACAlB,KADE,iBAEFA,KAFE,eAAF,GAGH,wBAAyBA,KAHpB,KAIL,yBAA0BA,KAJrB,eAKLuJ,0BAA2BvJ,KALtB,UAMJA,KAAKwJ,aAAN,QAA4B,IAE9B/H,MAAOzB,KAdO,OAed2D,WAAY3D,KAfE,gBAgBdyJ,IAhBc,UAiBdpI,GAAI,CACFnB,MAAQ,SAAAoI,GACN,IAAME,EAASF,EAAf,OAEIE,EAAA,aAAJ,aACI,EAAJ,sBAA8B,gBAEhCkB,QAAS1J,KAAK2J,YAmBlB,OAfI3J,KAAK4J,WAAT,SACEN,EAAA,GAAaA,EAAA,IAAb,GACAA,EAAA,UAAoBtJ,KAAK4J,WAAzB,SAGG5J,KAAD,UAAkBA,KAAtB,cACEsJ,EAAA,GAAaA,EAAA,IAAb,GACAA,EAAA,cAAwBtJ,KAAxB,mBAGEA,KAAJ,cACEsJ,EAAA,GAAaA,EAAA,IAAb,GACAA,EAAA,cAAwBtJ,KAAxB,mBAGKA,KAAKgJ,eAAe,MAAOM,EAAStJ,KAA3C,mBAEF6J,SAhLO,WAiLA7J,KAAK6H,MAAV,UAEA7H,KAAA,MAAaiI,MAAA,KAAWjI,KAAK6H,MAAMtC,QAAQuE,iBAA3C,mBAEFC,kBArLO,WAqLU,WACf/J,KAAA,iBAAsB,WAChB,EAAJ,iBAEA,yBAGJgK,kBA5LO,SA4LU,GAAe,WAE9BhK,KAAA,kBAAuB,WACjB,yBAA4BsI,EAAhC,gBAEAZ,uBAAsB,WACpB,cACA,0BAINuC,SAvMO,WAwML,IAAMzD,EAAOxG,KAAKiF,MAAMjF,KAAK8E,UAA7B,GAEA,MAAW,CACT,IAAK9E,KAAKiF,MAAV,OAAwB,OAKxB,OAHAjF,KAAA,kBACAA,KAAA,WAKFA,KAAA,aACA,IAAIwG,EAAA,UAAsBxG,KAAKiK,YAEjCC,SAtNO,WAuNL,IAAM1D,EAAOxG,KAAKiF,MAAMjF,KAAK8E,UAA7B,GAEA,MAAW,CACT,IAAK9E,KAAKiF,MAAV,OAAwB,OAKxB,OAHAjF,KAAA,UAAiBA,KAAKiF,MAAtB,YACAjF,KAAA,WAKFA,KAAA,aACA,IAAIwG,EAAA,UAAsBxG,KAAKkK,YAEjCC,SArOO,WAsOL,IAAM3D,EAAOxG,KAAKiF,MAAMjF,KAAKiF,MAAMmF,OAAnC,GAEA,IAEApK,KAAA,UAAiBA,KAAKiF,MAAMmF,OAA5B,GAEA,IAAI5D,EAAA,UAAsBxG,KAAKkK,aAEjCG,UA9OO,WA+OL,IAAM7D,EAAOxG,KAAKiF,MAAlB,GAEA,IAEAjF,KAAA,aAEA,IAAIwG,EAAA,UAAsBxG,KAAKiK,aAEjCN,UAvPO,SAuPE,GAAkB,WACzB,GAAIrB,EAAA,UAAc,OAAlB,IAAgC,CAE9BgC,YAAW,WAAQ,iBACnB,IAAMvE,EAAY/F,KAAlB,eACAA,KAAA,WAAe,kBAAM+F,GAAaA,EAAlC,gBAEC/F,KAAD,UACA,CAAC,OAAD,GAAc,OAAd,eAAsCsI,EAFjC,WAILtI,KAAA,aAIFA,KAAA,WAAe,kBAAM,kBAArB,OAEFuK,SAvQO,WAwQAvK,KAAL,WAKAA,KAAA,0BACAA,KAPM,mBAcNwK,aAAaxK,KAAb,eACAA,KAAA,cAAqByK,OAAA,WAAkBzK,KAAlB,iBAArB,QAIJ6C,OAtb+B,SAsbzB,GAAG,WACDf,EAAO,CACXb,YADW,SAEXC,MAAO,CACL,mBACkB,KAAhBlB,KAAK0K,SAAL,IACA1K,KAAK0K,QACW,WAAhB1K,KAAK0K,QAET/G,WAAY,CAAC,CACXgH,IADW,MAEX3L,KAFW,SAGXkK,MAAOlJ,KAAKuK,YAIhB,OAAOnI,EAAE,MAAON,EAAM,EACnB9B,KAAD,WAAmBA,KADC,eAEpBA,KAAK4K,iBAAgB,iBAAM,CACzB,wBAAoC,CAClC3L,MAAO,CACL4L,MADK,EAELC,MAAO,EAFF,MAGLC,KAAM,EAAKA,OAEZ,CAAC,EATR,2BC/eJ,U,8VCYe,MAAAC,EAAA,YAAqB,CAClChM,KADkC,iBAGlCC,MAAO,CACLgM,SADK,QAELC,UAAWnL,SAGbH,SAAU,CACR0D,QADQ,WAEN,YACK0H,EAAA,mCADE,MAAP,CAEE,kBAFK,EAGL,4BAA6BhL,KAHxB,UAIL,2BAA4BA,KAAKiL,YAGrCE,kBATQ,WAUN,OAAOnL,KAAKiL,UACVD,EAAA,6CADF,OAGFI,SAbQ,WAcN,UAEFC,cAhBQ,WAiBN,OAAOrL,KAAKkL,UAAYlL,KAAjB,SAAiCA,KAAxC,gBAIJG,QAAS,CACPmL,cADO,WAEL,OAAOtL,KAAKiL,SACRD,EAAA,wCADGhL,MAEHuL,EAAA,wCAHO,OAKbC,kBANO,SAMU,OACf,OAAOxL,KAAKkL,UACRlL,KAAKyL,gBADF,GAEHF,EAAA,qDAFJ,IAIFG,SAXO,WAYL,IAAMC,EAAQC,EAAA,mCAAd,MAMA,OAJAD,EAAA,KAAaA,EAAA,MAAb,GACAA,EAAA,oBAA6B3L,KAAKiL,SAAWjL,KAAhB,eAA7B,GACA2L,EAAA,qBAA8B3L,KAA9B,kBAEA,GAEF6L,SApBO,WAqBL,GAAI7L,KAAKiL,UAAYjL,KAArB,UAAqC,OAAO,KAE5C,IAAM8L,EAAQF,EAAA,mCAAd,MAEA,UAEAE,EAAA,KAAaA,EAAA,MAPP,GAUNA,EAAA,cAEA,GAPmBA,GASrBL,gBAlCO,SAkCQ,GAAW,WAClBM,EAAY/L,KAAKgM,SAAvB,GACMC,EAAUjM,KAAKqL,cAAc9E,MAAK,SAAA2F,GAAC,OAAI,gBAA7B,MAAhB,EAEA,OAAKD,EAAD,MAAkBA,EAAtB,SAKOjM,KAAKgJ,eAAemD,EAApB,KAA0B,CAC/BlN,MAAO,CAAEsB,MAAM,GACfc,GAAI,CACFnB,MADE,SACG,GACHoI,EAAA,kBACA2D,EAAA,eAGH,CAACA,EARJ,QAJE,OAAAG,EAAA,MAAY,6GAAZ,MACA,OAaJC,YArDO,SAqDI,GACT,EACErM,KAAA,aAAoBA,KAApB,UACSA,KAAKsM,eAAiBtM,KAA1B,WACLA,KAAA,eAAqBA,KAArB,gB,oCCrGR,gBAIe,qBAAW,CACxBhB,KADwB,mBAGxB+D,YAHwB,EAKxBF,OALwB,SAKlB,EALkB,GAKK,IAAlB,EAAkB,EAAlB,KAAQG,EAAU,EAAVA,SAGjB,OAFAlB,EAAA,YAAoB,4BAAqBA,EAAA,aAAtB,IAAnB,OAEOM,EAAE,MAAON,EAAhB,O,oCCZJ,uDAGA,Q,0GCOM2B,EAAa,OAAAC,EAAA,MAAnB,QAUe,EAAAD,EAAA,gBAAoC,CACjDzE,KADiD,aAGjDC,MAAO,CACLsN,IAAK,CACH9M,KADG,OAEHE,QAAS,IAEX+B,OAAQ,CACNjC,KAAM,CAAC+M,OADD,QAEN7M,QAAS,KAEX8M,IATK,OAULC,OAAQF,QAGV1K,KAAM,iBAAO,CACX6K,UAAU,IAGZ/M,SAAU,CACR6G,OADQ,WAEN,MAAO,CACLmG,QADK,QAELC,QAAS7M,KAAK2M,SAAW,EAFpB,EAGLG,UAAW,mBAAF,OAAqB9M,KAAK+M,SAA1B,UAKfvF,QA9BiD,WA+B/CxH,KAAA,QAGFG,QAAS,CACP6M,KADO,WACH,WACIC,EAAMjN,KAAK6H,MAAjB,IAEA,IAEIoF,EAAJ,UACEjN,KAAA,YACAA,KAAA,aAEAiN,EAAA,yBAA6B,WAC3B,cACA,iBAFF,GAMFjN,KAAA,cAEFkN,UAlBO,WAmBL,OAAOlN,KAAK6H,MAAMoF,IAAlB,gBAIJpK,OAzDiD,SAyD3C,GACJ,IAAMsK,EAAqB,CACzBlM,YADyB,oBAEzBQ,MAAOzB,KAFkB,OAGzBmB,MAAO,CACLsL,IAAKzM,KADA,IAEL0M,OAAQ1M,KAFH,OAGLuM,IAAKvM,KAAKuM,KAEZ9C,IAAK,OAGD2D,EAAYhL,EAAE,MAAO,CACzBnB,YAAa,+BACZ,CACDmB,EAAE,MAHJ,KAMMmD,EAAUnD,EAAE,MAAO,CACvBnB,YAAa,uBACZjB,KAAKM,OAFR,SAIA,OAAO8B,EAAE,MAAO,CACdnB,YADc,aAEdQ,MAAO,CACLC,OAAQ,GAAF,OAAK1B,KAAK0B,OAAV,OAERL,GAAIrB,KAAK4J,YACR,CAACwD,EANJ,Q,0gBCrEJ,IAAM3J,EAAa,eAAO,EAAD,mBAIvB,eAJuB,QAAzB,QAkBe,OAAAA,EAAA,gBAAoC,CACjDzE,KADiD,eAGjD2E,WAAY,CAAE0J,OAAA,QAEdpO,MAAO,CACLqO,YAAa,CACX7N,KADW,OAEXE,QAAS,IAEX4N,WAAY,CACV9N,KADU,OAEVE,QAAS,WAEX6N,MAAO,CACL/N,KADK,OAELE,QAAS,WAEXR,SAbK,QAcLsO,MAdK,OAeLC,SAfK,QAgBLC,YAhBK,OAiBLN,OAAQ,CACN5N,KAAM,CAACM,QADD,QAENJ,SAAS,GAEXiO,SAAU7N,SAGZH,SAAU,CACR0D,QADQ,WAEN,MAAO,CACL,uBAAwBtD,KADnB,SAEL,yBAA0BA,KAFrB,SAGL,0BAA2BA,KAHtB,SAIL,0BAA2BA,KAAK4N,YAKtC9G,MAAO,CACLC,SADK,SACG,IAED/G,KAAD,UAAJ,GACEA,KAAA,MAAaA,KAAK6N,KAAKC,UAAU9N,KAAjC,OAGJ+N,OAAQ,iBAGV1G,QAlDiD,WAmD/CrH,KAAA,MAAaA,KAAK6N,KAAKG,SAAvBhO,MAEIA,KAAKyN,OACPzN,KADE,QAAJ,MAEEA,KAAKkJ,QAELlJ,KAAA,SAAgBA,KAAKiO,WAAWjO,KAAK+N,OAArC,QAIJG,cA7DiD,WA8D/ClO,KAAA,MAAaA,KAAK6N,KAAKM,WAAvBnO,OAGFG,QAAS,CACPD,MADO,SACF,GAAU,WACTF,KAAJ,WAEAA,KAAA,YAEAA,KAAA,iBACAA,KAAA,WAAe,kBAAO,YAAiB,EAAvC,cAEFoO,QATO,SASA,GACL,OAAOpO,KAAKgJ,eAAe,EAApB,KAAP,IAEFqF,cAZO,WAaL,IAAMxP,GAAQmB,KAAD,UAAiBA,KAAjB,WAEb,OAAKnB,GAASmB,KAAKM,OAAnB,WAEON,KAAKgJ,eAAe,EAApB,KAAmC,CACxC/H,YAAa,qCACZ,CACDjB,KAAKM,OAAOiN,YAAcvN,KAAKoO,QAHjC,KAF6C,MAQ/CE,UAvBO,WAwBL,OAAOtO,KAAKgJ,eAAe,EAApB,KAA+B,CACpC/H,YADoC,uBAEpCE,MAAO,CACL,gBAAiBqL,OAAOxM,KADnB,UAELyC,KAAM,UAERvB,MAAO,EAAF,GACFlB,KAAD,YAAoBA,KAAK+G,UAE3B9H,MAAO,CACLsP,WAAYvO,KAAK+G,UAEnBpD,WAAY,CAAC,CACX3E,KADW,SAEXkK,MAAOlJ,KAAKqN,SAEdhM,GAAI,EAAF,GACGrB,KADD,WAAF,CAEAE,MAAOF,KAAKE,SAEb,CACDF,KADC,iBAEDA,KAAKM,OAFJ,UAGDN,KAvBF,mBA0BFwO,SAlDO,WAkDC,WACN,OAAOxO,KAAK4K,iBAAgB,iBAAM,CAChC,uBAA2B,CACzB3J,YADyB,sBAEzB0C,WAAY,CAAC,CACX3E,KADW,OAEXkK,MAAO,EAAKnC,YAEb,eAPL,SAUF0H,eA7DO,WA8DL,IAAM5P,EAAOmB,KAAK4N,UAAL,MAAiB5N,KAAK2N,YAAtB,YAET3N,KAFJ,YAIA,OAAKnB,GAASmB,KAAKM,OAAnB,YAEON,KAAKgJ,eAAe,EAApB,KAAmC,CACxC/H,YAAa,sCACZ,CACDjB,KAAKM,OAAOqN,aAAe3N,KAAKoO,QAHlC,KAF8C,MAQhDM,cA1EO,SA0EM,GAEX,GAAK1O,KAAL,OAEA,IAAM+G,EAAW/G,KAAKiO,WAAWU,EAAjC,MAGI5H,GAAY/G,KAAK+G,WAArB,GACE/G,KAAA,MAAaA,KAAK6N,KAAKC,UAAU9N,KAAjC,MAGFA,KAAA,aAEF4O,OAvFO,SAuFD,GAAa,WACX7H,EAAW/G,KAAK6O,OAAtB,EAEA,IAAc7O,KAAK2M,UAAW,GAC9B3M,KAAA,WAAe,kBAAO,WAAtB,MAEFiO,WA7FO,SA6FG,GACR,cAAOU,EAAA,MAAS3O,KAAT,SAIX6C,OAnKiD,SAmK3C,GACJ,OAAOT,EAAE,MAAOpC,KAAKwD,aAAaxD,KAAK+G,UAAY/G,KAAnC,MAA+C,CAC7DiB,YAD6D,eAE7DC,MAAOlB,KAAKsD,UACV,CACFtD,KADE,YAEFoC,EAAE,EAAD,KAAoBpC,KALvB,kB,0mCCjMW,aAAA0D,EAAA,MAAO,EAAD,KAEnB,eAAc,CAAEoL,UAAW,CAAC,UAFf,eAIN,CACP9P,KADO,eAGP2E,WAAY,CAAEE,OAAA,QAEd5E,MAAO,CACL8P,OADK,QAEL5P,SAFK,QAGLiL,OAAQ,CACN3K,KADM,OAENE,QAFM,EAGNqP,UAAY,SAAAvQ,GAAD,OAAiBA,EAAA,IAAY,IAE1CwQ,SAAU,CACRxP,KADQ,OAERE,QAAS,SAEXuP,SAAU,CACRzP,KADQ,OAERE,QAAS,SAEXwP,aAAc,CAAC5P,OAhBV,QAiBL2J,MAAO,CACLzJ,KADK,OAELE,QAAS,GAEXyP,cAAe,CACb3P,KADa,OAEbE,QAAS,sCAEX0P,qBAAsB,CACpB5P,KADoB,OAEpBE,QAAS,6CAEX2P,kBAAmB,CACjB7P,KADiB,OAEjBE,QAAS,0CAEX4P,cAAe,CACb9P,KADa,OAEbE,QAAS,sCAEX6P,iBAAkB,CAChB/P,KADgB,OAEhBE,QAAS,0CAIbmC,KAhDO,WAiDL,MAAO,CACL2N,WADK,EAELC,SAAU,OAId9P,SAAU,CACR0D,QADQ,WAEN,UACE,gBADK,EAEL,uBAAwBtD,KAFnB,OAGL,yBAA0BA,KAHrB,UAIFA,KAAK+B,eAIZ4N,MAVQ,WAWN,IAAMR,EAAejJ,SAASlG,KAAD,aAA7B,IAEA,OAAImP,EACF,SAGF,IAAMS,EAAYvK,KAAA,IAChBA,KAAA,UAA6BrF,KADb,OAEhBqF,KAAA,MAAYrF,KAAZ,aAAgCA,KAFhB,OAGhBA,KAHF,QAMA,GAAIA,KAAKoK,QAAT,EACE,OAAOpK,KAAK6P,MAAM,EAAG7P,KAArB,QAGF,IAAM8P,EAAOF,EAAA,QAAb,EACMxQ,EAAOiG,KAAA,MAAWuK,EAAxB,GACMvQ,EAAQW,KAAKoK,OAAShL,EAAO,EAAnC,EAEA,GAAIY,KAAKkJ,MAAQ9J,GAAQY,KAAKkJ,MAA9B,EAA6C,CAC3C,IAAM6G,EAAQ/P,KAAKkJ,MAAQ9J,EAA3B,EACM4Q,EAAMhQ,KAAKkJ,MAAQ9J,EAAO,EAAhC,EAEA,OAAO,SAAP,SAAqBY,KAAK6P,MAAME,EAAzB,IAAP,CAAO,MAA6C/P,KAApD,SACK,GAAIA,KAAKkJ,QAAT,EAAyB,CAC9B,IAAM,EAAMlJ,KAAKkJ,MAAQ9J,EAAO,EAAhC,EACA,kBAAWY,KAAK6P,MAAM,EAAf,IAAP,CAAO,MAA+B7P,KAAtC,SACK,GAAIA,KAAKkJ,QAAT,EAA0B,CAC/B,IAAM,EAAQlJ,KAAKkJ,MAAQ9J,EAA3B,EACA,OAAO,SAAP,SAAqBY,KAAK6P,MAAM,EAAO7P,KAAvC,UAEA,kBACKA,KAAK6P,MAAM,EADT,IAAP,CAAO,OAAP,EAGK7P,KAAK6P,MAAMxQ,EAAOW,KAHvB,YASN8G,MAAO,CACLoC,MADK,WAEHlJ,KAAA,SAIJwH,QAjHO,WAkHLxH,KAAA,QAGFG,QAAS,CACP6M,KADO,WACH,WACFhN,KAAA,cAEAA,KAAA,UAAeA,KAHb,UAKFsK,YAAW,kBAAO,WAAgB,EAAxB,QAAV,MAEFC,SARO,WASL,IAAM5I,EAAQ3B,KAAK4H,KAAO5H,KAAK4H,IAAjB,cACV5H,KAAK4H,IAAIqI,cADC,YAEVxF,OAFJ,WAIAzK,KAAA,WAAkBqF,KAAA,OAAY1D,EAAD,IAA7B,KAEFsF,KAfO,SAeH,GACFqB,EAAA,iBACAtI,KAAA,cAAoBA,KAAKkJ,MAAzB,GACAlJ,KAAA,eAEFkQ,SApBO,SAoBC,GACN5H,EAAA,iBACAtI,KAAA,cAAoBA,KAAKkJ,MAAzB,GACAlJ,KAAA,mBAEF6P,MAzBO,SAyBF,KACH,IAAMA,EAAN,GAEAM,EAAOA,EAAA,EAAAA,EAAP,EAEA,IAAK,IAAIjE,EAAT,EAAmBA,GAAnB,EAA4BA,IAC1B2D,EAAA,QAGF,UAEFzB,QApCO,SAoCA,WACL,OAAOhM,EAAE,KAAM,CACbA,EAAE,SAAU,CACVnB,YADU,2BAEVC,MAAO,CACL,qCAAsC/B,GAExCgC,MAAO,CACLhC,WACAM,KAFK,SAGL,aAAcqM,GAEhBzK,GAAIlC,EAAW,GAAK,CAAEe,MAAOkQ,IAC5B,CAAChO,EAAErD,EAAD,KAAQ,CAZf,SAeFsR,QApDO,SAoDA,KAAsC,WACrC7C,EAAyBtB,IAAMlM,KAAP,QAAuBA,KAAKwN,OAA1D,WACM8C,EAAgBpE,IAAMlM,KAA5B,MACMuQ,EAAYD,EAAgBtQ,KAAH,qBAA+BA,KAA9D,cAEA,OAAOoC,EAAE,SAAUpC,KAAKwQ,mBAAmBhD,EAAO,CAChDvM,YADgD,qBAEhDC,MAAO,CACL,6BAA8BgL,IAAMlM,KAAKkJ,OAE3C/H,MAAO,CACL1B,KADK,SAEL,eAFK,EAGL,aAAcO,KAAKyQ,SAASC,KAAKC,EAAEJ,EAAWrE,IAEhD7K,GAAI,CACFnB,MAAO,kBAAM,uBAEb,CAACgM,EAbL,cAeFsC,SAxEO,SAwEC,GAAkB,WACxB,OAAOxO,KAAK2P,MAAMiB,KAAI,cACpB,OAAOxO,EAAE,KAAM,CAAErB,IAAK8P,GAAS,CAC7B5K,MAAM1G,OAAN2M,IAAmB9J,EAAE,OAAQ,CAAElB,MAAO,sBAAwB,CAACgL,EAA/D,aAAgF,YADlF,SAKJ4E,QA/EO,SA+EA,KACL,OAAO1O,EAAE,KAAM,CACbuB,WAAY,CAAC,CACXoN,UAAW,CAAEC,OAAO,GACpBhS,KAFW,SAGXkK,MAAOlJ,KAAKuK,WAEdrJ,MAAOlB,KAAKsD,SANd,KAWJT,OAhNO,SAgND,GACJ,IAAMG,EAAW,CACfhD,KAAKoO,QAAQhM,EACXpC,KAAKyQ,SAASQ,IAAMjR,KAApB,SAAoCA,KADtC,SAEEA,KAAKkJ,OAFP,EAGElJ,KAHF,SAIEA,KAAKyQ,SAASC,KAAKC,EAAE3Q,KALR,oBAMfA,KAAKwO,SANU,GAOfxO,KAAKoO,QAAQhM,EACXpC,KAAKyQ,SAASQ,IAAMjR,KAApB,SAAoCA,KADtC,SAEEA,KAAKkJ,OAASlJ,KAFhB,OAGEA,KAHF,KAIEA,KAAKyQ,SAASC,KAAKC,EAAE3Q,KAXzB,iBAcA,OAAOoC,EAAE,MAAO,CACdjB,MAAO,CACLsB,KADK,aAEL,aAAczC,KAAKyQ,SAASC,KAAKC,EAAE3Q,KAArB,oBAEf,CAACA,KAAK8Q,QAAQ1O,EALjB,S,guBC/OW,MAAA8O,EAAA,YAAe,CAC5BlS,KAD4B,qBAG5BC,MAAO,CACLkS,WADK,QAEL7R,KAAM,CACJG,KAAM,CAACF,OADH,QAEJI,QAAS,KAIbC,SAAU,CACR0D,QADQ,WAEN,UACE,kCAAmCtD,KAD9B,YAEFkR,EAAA,mCAFE,MAAP,CAGE,iBAAkBlR,KAAKwG,MAAQxG,KAAKmR,eAK1CtO,OArB4B,SAqBtB,GACJ,IAAMA,EAASqO,EAAA,8BAAf,GAKA,OAHArO,EAAA,KAAcA,EAAA,MAAd,GACAA,EAAA,yCAEA,K,YCxBSuO,EAAsB,eAAuB,2BAAnD,QACMC,EAAmB,eAAuB,uBAAhD,OACMC,EAAiB,eAAuB,qBAA9C,OACMC,EAAoB,eAAuB,wBAAjD,OAcHC,EAAA,KACAC,EAAA,KACAC,EAAA,KACAC,EAAA,KAIAC,EAAA,KACAC,EAAA,M,0WCnBW,aAAAnO,EAAA,MAAO,EAAD,YAAN,eAIN,CACP1E,KADO,WAGPC,MAAO,CACL6S,KADK,QAELC,UAFK,QAGLC,UAHK,QAILC,QAJK,QAKLvN,WAAY,CACVjF,KADU,OAEVE,QAAS,mBAEXgC,MAAO,CACLlC,KAAM,CAACF,OADF,QAELI,QAAS,MAIbC,SAAU,CACRsS,mBADQ,WAEN,IAAMC,GAAoBnS,KAAKoS,SAAkBpS,KAAKwN,OAAtD,WACA,OAAOxN,KAAKwN,OAAZ,IAIJrN,QAAS,CACPkS,SADO,WAEL,OAAOrS,KAAKgJ,eAAe,MAAOhJ,KAAKwQ,mBAAmBxQ,KAAxB,mBAAiD,CACjFiB,YADiF,kBAEjFC,MAAO,CACL,6BAA8BlB,KAAKgS,aAEnChS,KAAKM,OALT,QAOFgS,kBATO,WAUL,OAAOtS,KAAKgJ,eAAe,aAAc,CACvC/J,MAAO,CACLD,KAAMgB,KAAK0E,aAEZ1E,KAAKM,OAJR,UAMFiS,QAhBO,WAiBL,OAAOvS,KAAKgJ,eAAe,MAAO,CAChC/H,YADgC,iBAEhCC,MAAO,EAAF,CACH,2BAA4BlB,KADvB,SAEFA,KAAK+B,cAEVN,MAAOzB,KAAK+R,eAAYnQ,EAAY,CAClCD,MAAO,eAAc3B,KAAD,SAErB,CACDA,KAVF,uBAaFwS,WA9BO,WA+BL,OAAOxS,KAAKgJ,eAAe,MAAO,CAChC/H,YADgC,oCAEhCC,MAAO,CACL,8BAA+BlB,KAAKiS,UAErCjS,KAAKM,OALR,WASJuC,OAjEO,SAiED,GACJ,OAAOT,EAAE,MAAO,CACdnB,YADc,kBAEdC,MAAO,EAAF,CACH,iBAAkBlB,KADb,KAEL,sBAAuBA,KAFlB,UAGL,uBAAwBA,KAHnB,WAIFA,KAJE,aAKFA,KAAKyS,mBAET,CACDzS,KAAKM,OAAOoS,MAAQ1S,KAApB,WADC,KAEDA,KAFC,UAGDA,KAAKM,OAAOqS,QAAU3S,KAAtB,aAZF,UCnFJ,U,oVCkBO,IAAM4S,EAAgB,eAAO,EAAD,KAAN,eAGpB,CACP5T,KADO,kBAGPC,MAAO,CACLqO,YAAa,CACX7N,KADW,OAEXE,QAAS,kBAEXkT,UALK,QAMLC,IAAK,CACHrT,KAAM,CAACF,OADJ,QAEHI,QAAS,MAEXoT,SAVK,QAWLvT,IAAK,CACHC,KADG,OAEHE,QAAS,QAIbmC,KApBO,WAqBL,MAAO,CAILkR,uBAAkCpR,IAAf5B,KAAKkJ,MACpBlJ,KADe,MAEfA,KAAK+S,SAAW,QANf,EAOLpD,MAAO,KAIX/P,SAAU,CACR0D,QADQ,WAEN,UACE,gBADK,GAEFtD,KAAK+B,eAGZiD,cAPQ,WAQN,OAAQhF,KAAKiT,cAAgBjT,KAAK2P,MAAMuD,QAAQlT,KAAzC,gBAAP,GAEFiT,aAVQ,WAWN,IAAIjT,KAAJ,SAEA,OAAOA,KAAKmT,cAAZ,IAEFA,cAfQ,WAeK,WACX,OAAOnT,KAAK2P,MAAMyD,QAAO,cACvB,OAAO,eAAkB,aAAzB,QAGJC,eApBQ,WAqBN,aAAIrT,KAAKsT,cAA8B,GAEhCrL,MAAA,QAAcjI,KAAd,eACHA,KADG,cAEH,CAACA,KAFL,gBAIFuT,aA3BQ,WA2BI,WACV,IAAKvT,KAAL,SACE,OAAQ,SAAAwT,GAAD,OAAY,kBAAnB,GAGF,IAAMF,EAAgBtT,KAAtB,cACA,OAAIiI,MAAA,QAAJ,GACU,SAAAuL,GAAD,OAAYF,EAAA,SAAnB,IAGK,kBAAP,KAIJxM,MAAO,CACLwM,cADK,mBAEL3D,MAAO,oBAGTtI,QA9EO,WA+EDrH,KAAK+S,WAAa9K,MAAA,QAAcjI,KAApC,gBACE,eAAY,oEAAZ,OAIJG,QAAS,CAEPoD,QAFO,WAGL,MAAO,CACLrC,MAAOlB,KAAKsD,UAGhB0I,SAPO,SAOC,KACN,OAAO,MAAAyH,EAAA,YAAsBA,EAAA,MAAtBvH,EAEHuH,EAFJ,OAIFC,QAZO,SAYA,GACL1T,KAAA,oBACEA,KAAKgM,SAASyH,EAAMzT,KAAK2P,MAAMuD,QADjC,MAIFlF,SAjBO,SAiBC,GAAyB,WACzB6C,EAAQ7Q,KAAK2P,MAAMgE,KAAKF,GAA9B,EAEAA,EAAA,cAAmB,kBAAM,UAHM,MAO3BzT,KAAK6S,YAAc7S,KAAKqT,eAA5B,QACErT,KAAA,kBAGFA,KAAA,iBAEFmO,WA9BO,SA8BG,GACR,IAAInO,KAAJ,cAEA,IAAM6Q,EAAQ7Q,KAAK2P,MAAMuD,QAAzB,GACMhK,EAAQlJ,KAAKgM,SAASyH,EAA5B,GAEAzT,KAAA,kBAEA,IAAM4T,EAAa5T,KAAKqT,eAAeH,QARN,GAWjC,KAAIU,EAAJ,IAGA,IAAK5T,KAAL,UACE,OAAOA,KAAK6T,oBAAZ,GAIE7T,KAAK+S,UAAY9K,MAAA,QAAcjI,KAAnC,eACEA,KAAA,cAAqBA,KAAKsT,cAAcF,QAAO,SAAAI,GAAC,OAAIA,IAApD,KAEAxT,KAAA,qBAMGA,KAAKmT,cAAV,QACEnT,KAAA,uBAGJ8T,WA9DO,SA8DG,KACR,IAAM5K,EAAQlJ,KAAKgM,SAASyH,EAA5B,GAEAA,EAAA,SAAgBzT,KAAKuT,aAArB,IAGFQ,iBApEO,WAoES,WACd/T,KAAA,WAAe,WACb,GAAI,cACD,gBADH,OAGE,OAAO,EAAP,kBAMF,gBAAmB,EAAnB,gBAGJ6T,oBAlFO,SAkFY,GACjB7T,KAAA,SACIA,KAAKgU,eADT,GAEIhU,KAAKiU,aAFT,IAIFC,gBAvFO,SAuFQ,GACb,GAAKlU,KAAK2P,MAAV,QAEA,IAAMA,EAAQ3P,KAAK2P,MAAnB,QAEA,GAAUA,EAAA,UAEV,IAAM8D,EAAO9D,EAAA,MAAW,SAAA8D,GAAI,OAAKA,EAPJ,YAW7B,MAEA,IAAM5C,EAAQ7Q,KAAK2P,MAAMuD,QAAzB,GAEAlT,KAAA,oBACEA,KAAKgM,SAASyH,EADhB,OAIFO,eA1GO,SA0GO,GACZ,IAAMG,EAAelM,MAAA,QAAcjI,KAAd,eACjBA,KADiB,cAArB,GAGMsT,EAAgBa,EAAtB,QACMtD,EAAQyC,EAAA,WAAwB,SAAA7U,GAAG,OAAIA,IAA7C,KAGEuB,KAAK6S,WAELhC,GAFA,GAIAyC,EAAA,SALF,GAUE,MAAAtT,KAAA,KAEA6Q,EAFA,GAIAyC,EAAA,SAA2BtT,KAN7B,MASA6Q,GAAA,EACIyC,EAAA,SADJ,GAEIA,EAAA,KAFJ,GAIAtT,KAAA,kBAEFiU,aAxIO,SAwIK,GACV,IAAMG,EAASlL,IAAUlJ,KAAzB,cAEIA,KAAK6S,WAAT,IAEA7S,KAAA,cAAqBoU,OAASxS,EAA9B,KAIJiB,OArOO,SAqOD,GACJ,OAAOT,EAAEpC,KAAD,IAAWA,KAAX,UAA2BA,KAAKM,OAAxC,YAIW,OAAAsS,EAAA,OAAqB,CAClC5T,KADkC,eAGlCmE,QAHkC,WAIhC,MAAO,CACLkR,UAAWrU,U,oCCvQjB,uDAGA,Q,yxCCee,8BAAgC,CAC7ChB,KAD6C,SAG7CmE,QAH6C,WAI3C,MAAO,CACLmR,UADK,EAELzG,KAAM7N,OAIVuU,OAAQ,CACNzQ,SAAU,CACRnE,SAAS,GAEX6U,QAAS,CACP7U,SAAS,IAIbV,MAAO,CACLC,MADK,QAELC,SAFK,QAGLsV,OAHK,QAIL3C,KAJK,QAKL4C,IALK,QAMLC,QANK,QAOLC,UAPK,QAQLC,UARK,QASLC,QAAS/U,SAGX+B,KAAM,iBAAO,CACXiT,OAAQ,KAGVnV,SAAU,CACR0D,QADQ,WAEN,YACK,qCADE,MAAP,CAEE,gBAAiBtD,KAFZ,MAGL,mBAAoBA,KAHf,SAIL,eAAgBA,KAJX,KAKL,cAAeA,KALV,IAML,kBAAmBA,KANd,QAOL,oBAAqBA,KAPhB,UAQL,mBAAoBA,KARf,QASL,qBAAsBA,KAAK6U,cAKjC1U,QAAS,CACP6N,SADO,SACC,GACNhO,KAAA,gBAEFmO,WAJO,SAIG,GACR,IAAM0C,EAAQ7Q,KAAK+U,OAAOC,WAAU,SAAAC,GAAC,OAAIA,EAAA,OAAW1P,EAApD,QAEIsL,GAAJ,GAAgB7Q,KAAK+U,OAAOG,OAAOrE,EAAO,IAE5C/C,UATO,SASE,GACP,IAAI9N,KAAJ,QADoB,UAGAA,KAApB,QAHoB,IAGpB,2BAAiC,KAAjC,EAAiC,QAC/ByN,EAAA,WAJkB,kCASxB5K,OArE6C,SAqEvC,GACJ,IAAMf,EAAO,CACXb,YADW,SAEXC,MAAOlB,KAFI,QAGXyB,MAAOzB,KAHI,OAIXmB,MAAO,EAAF,CACHsB,KAAMzC,KAAKwU,SAAWxU,KAAhB,gBADD,QAEFA,KAAKoB,SAIZ,OAAOgB,EAAEpC,KAAD,IAAWA,KAAKwQ,mBAAmBxQ,KAAxB,MAAX,GAAsD,CAACA,KAAKM,OAApE,c,oCClGJ,uDAGA,e,oCCHA,8GAUI,OACA,Q,gTCIW,sBAAO,EAAD,YAAN,eAIN,CACPtB,KADO,YAGPC,MAAO,CACLkW,SADK,QAEL3H,MAAO,CACL/N,KADK,OAELE,QAAS,WAEXoL,KAAM,CACJtL,KADI,QAEJE,SAAS,GAEXkN,QAAS,CACPpN,KAAM,CAACF,OADA,QAEPI,QAAS,KAEXuJ,MAAO,CACLvJ,SAAS,GAEXiH,OAAQ,CACNnH,KAAM,CAACF,OADD,QAENI,QAAS,IAIbC,SAAU,CACRwV,QADQ,WAEN,IAAMtT,EAAO9B,KAAKwQ,mBAAmBxQ,KAAxB,MAAoC,CAC/CiB,YAD+C,mBAE/CQ,MAAO,CACLoL,QAAS7M,KAAKqV,mBAIlB,OAAOrV,KAAKgJ,eAAe,MAA3B,IAEF1F,QAXQ,WAYN,UACE,sBAAuBtD,KADlB,SAEL,oBAAqBA,KAFhB,UAGFA,KAAK+B,eAGZsT,gBAlBQ,WAmBN,OAAO9V,OAAOS,KAAK+G,SAAW/G,KAAhB,QAAd,IAEFyG,OArBQ,WAsBN,MAAO,CACLG,OAAQ5G,KAAK4G,UAKnBzG,QAAS,CACPkJ,WADO,WAEL,OAAOrJ,KAAKgJ,eAAe,MAAO,CAChC/H,YAAa,sBACZjB,KAAKM,OAFR,WAMJuC,OA9DO,SA8DD,GACJ,IAAMG,EAAW,CAAChD,KAAlB,SAIA,OAFIA,KAAJ,UAAmBgD,EAAA,KAAchD,KAAd,cAEZoC,EAAE,MAAO,CACdnB,YADc,YAEdC,MAAOlB,KAFO,QAGdyB,MAAOzB,KAAKyG,QAHd,O,iWCzDJ,IAAM6O,EAAiC,qBAAX7K,QAA0B,yBAAtD,OAGe,sBAAO,EAAD,KAAN,eAGN,CACPzL,KADO,QAGP2E,WAAY,CAAE4R,UAAA,QAEdtW,MAAO,CACLsN,IADK,OAELiJ,QAFK,QAGLC,MAHK,QAILC,SAJK,OAKLC,QALK,OAMLrM,QAAS,CACP7J,KADO,OAIPE,QAAS,iBAAO,CACdkL,UADc,EAEd+K,gBAFc,EAGdC,eAAWjU,KAGfkU,SAAU,CACRrW,KADQ,OAERE,QAAS,iBAEXc,MApBK,OAqBLgM,IAAK,CACHhN,KAAM,CAAC+M,OADJ,QAEH7M,QAAS,IAEX+M,OAzBK,OA0BLhI,WAAY,CACVjF,KAAM,CAACM,QADG,QAEVJ,QAAS,oBAIbmC,KArCO,WAsCL,MAAO,CACLiU,WADK,GAELC,MAFK,KAGLC,WAHK,EAILC,2BAJK,EAKLC,kBALK,EAMLC,UAAU,IAIdxW,SAAU,CACRyW,oBADQ,WAEN,OAAO9W,OAAOS,KAAKsW,cAAcC,QAAUvW,KAA3C,wBAEFsW,cAJQ,WAKN,OAAOtW,KAAKyM,KAAL,WAAY,EAAOzM,KAAP,KACf,CACAyM,IAAKzM,KAAKyM,IADV,IAEAC,OAAQ1M,KAAK0M,QAAU1M,KAAKyM,IAF5B,OAGAkJ,QAAS3V,KAAK2V,SAAW3V,KAAKyM,IAH9B,QAIA8J,OAAQhX,OAAOS,KAAKwW,aAAexW,KAAKyM,IAA1B,SACZ,CACFA,IAAKzM,KADH,IAEF0M,OAAQ1M,KAFN,OAGF2V,QAAS3V,KAHP,QAIFuW,OAAQhX,OAAOS,KAAKwW,aAAN,KAGpBC,cAlBQ,WAmBN,KAAMzW,KAAKsW,cAAc7J,KAAOzM,KAAKsW,cAA/B,SAAwDtW,KAA9D,UAA8E,MAAO,GAErF,IAAM0W,EAAN,GACMjK,EAAMzM,KAAKiW,UAAYjW,KAAKsW,cAAtB,QAA8CtW,KAA1D,WAEIA,KAAJ,UAAmB0W,EAAA,+BAAwC1W,KAAxC,eACnB,GAAS0W,EAAA,6BAET,IAAMV,EAAQhW,KAAKgJ,eAAe,MAAO,CACvC/H,YADuC,iBAEvCC,MAAO,CACL,0BAA2BlB,KADtB,UAEL,0BAA2BA,KAFtB,QAGL,yBAA0BA,KAAKwV,SAEjC/T,MAAO,CACLiV,gBAAiBA,EAAA,KADZ,MAELC,mBAAoB3W,KAAK8V,UAE3B/U,KAAMf,KAAKiW,YAIb,OAAKjW,KAAL,WAEOA,KAAKgJ,eAAe,aAAc,CACvC7H,MAAO,CACLnC,KAAMgB,KADD,WAEL4W,KAAM,WAEP,CALH,IAF6BZ,IAWjClP,MAAO,CACL2F,IADK,WAGEzM,KAAL,UACKA,KAAK6W,YADW7W,KAAKgN,UAAKpL,OAAWA,GAA1C,IAGF,4BAA6B,UAG/B4F,QA9GO,WA+GLxH,KAAA,QAGFG,QAAS,CACP6M,KADO,SACH,OAQF,IACEsI,GAAA,GAECtV,KAHH,OAMA,GAAIA,KAAKsW,cAAT,QAAgC,CAC9B,IAAMQ,EAAU,IAAhB,MACAA,EAAA,IAAc9W,KAAKsW,cAAnB,QACAtW,KAAA,oBAGEA,KAAKsW,cAAT,KAA4BtW,KAAK6W,cAEnCE,OAvBO,WAwBL/W,KAAA,SACAA,KAAA,aACAA,KAAA,aAAmBA,KAAnB,KAGEA,KAAKgW,QACJhW,KAAKsW,cAAc7J,IAAIuK,SAAS,SAAWhX,KAAKsW,cAAc7J,IAAIwK,WAFrE,yBAIMjX,KAAKgW,MAAMkB,eAAiBlX,KAAKgW,MAArC,cACEhW,KAAA,aAAoBA,KAAKgW,MAAzB,aACAhW,KAAA,sBAA6BA,KAAKgW,MAAMG,aAAenW,KAAKgW,MAA5D,eAEAhW,KAAA,0BAINmX,QAxCO,WAyCLnX,KAAA,YACAA,KAAA,cAAoBA,KAApB,MAEFoX,OA5CO,WA8CDpX,KAAJ,QAAgBA,KAAK+V,WAAa/V,KAAKgW,MAAMD,YAAc/V,KAAKgW,MAAhD,MAElBa,UAhDO,WAgDE,WACDb,EAAQ,IAAd,MACAhW,KAAA,QAEAgW,EAAA,OAAe,WAETA,EAAJ,OACEA,EAAA,gBAAsB,SAAAqB,GACpB,eACE,qEACQ,gBADR,MAECA,EAAA,oCAAmCA,EAAnC,SAHQ,IAAX,MADF,KAOQ,EAPR,QASA,YAGJrB,EAAA,QAAgBhW,KAAhB,QAEAA,KAAA,YACAA,KAAA,QAAegW,EAAA,MAAchW,KAA7B,OACAA,KAAA,uBAA8BgW,EAAA,OAAehW,KAAKsW,cAAlD,QACAN,EAAA,IAAYhW,KAAKsW,cAAjB,IACAtW,KAAA,kBAAwBA,KAAKsW,cAA7B,KAEAtW,KAAA,aAAoBA,KAAKsX,YAAzB,GACAtX,KAAA,UAEFsX,YA9EO,SA8EI,GAAqD,WAA5BC,EAA4B,uDAArD,IACHC,EAAO,SAAPA,IACJ,IAAM,EAAN,EAAM,cAAiBrB,EAAvB,EAAuBA,aAEnBe,GAAJ,GACE,iBACA,wBAA6Bf,EAA7B,GACUlJ,EAAD,WAAiB,EAAjB,WAAoC,EAApC,UAAJ,MAAyDsK,GAC9DjN,WAAWkN,EAAX,IAIJA,KAEFnO,WA5FO,WA6FL,IAAM9D,EAAiB,uCAAvB,MAOA,OANIvF,KAAJ,cACEA,KAAA,GAAQuF,EAAR,WAA8B,CAC5B9D,MAAO,CAAEE,MAAO,GAAF,OAAK3B,KAAKmW,aAAV,SAIlB,GAEFsB,iBAtGO,WAuGL,GAAIzX,KAAKM,OAAT,YAA6B,CAC3B,IAAMoX,EAAc1X,KAAKiW,UACrB,CAACjW,KAAKgJ,eAAe,MAAO,CAC5B/H,YAAa,wBACZjB,KAAKM,OAHU,cAApB,GAMA,OAAKN,KAAL,WAEOA,KAAKgJ,eAAe,aAAc,CACvC/J,MAAO,CACL0Y,QADK,EAEL3Y,KAAMgB,KAAK0E,aAHf,GAF6BgT,EAAP,MAY5B7U,OA5OO,SA4OD,GACJ,IAAM+U,EAAO,gCAAb,GAEM9V,EAAO,eAAU8V,EAAD,KAAa,CACjC3W,YADiC,UAEjCE,MAAO,CACL,aAAcnB,KADT,IAELyC,KAAMzC,KAAKuM,IAAM,WAAQ3K,GAE3BV,MAAOlB,KAN0B,aASjC2D,WAAY2R,EACR,CAAC,CACDtW,KADC,YAED+R,UAAW,CAAE8G,MAAM,GACnB3O,MAAO,CACLC,QAASnJ,KADJ,KAELsJ,QAAStJ,KAAKsJ,gBAGhB1H,IAUN,OAPAgW,EAAA,SAAgB,CACd5X,KADc,cAEdA,KAFc,cAGdA,KAHc,mBAIdA,KAJF,cAOOoC,EAAEwV,EAAD,MAAiBA,EAAzB,c,oVC/RW,aAAAlU,EAAA,MAAO,EAAD,KAAN,eAGN,CACP1E,KADO,QAGP2E,WAAY,CAAE4R,YAAA,MAEdtW,MAAO,CACLqK,QAAS,CACP7J,KADO,OAIPE,QAAS,iBAAO,CACdkL,UADc,EAEd+K,gBAFc,EAGdC,eAAWjU,KAGfpC,IAAK,CACHC,KADG,OAEHE,QAAS,OAEX+E,WAAY,CACVjF,KADU,OAEVE,QAAS,oBAIbC,SAAU,CACR6G,OADQ,WAEN,YACKzG,KAAK8X,oBAKd3X,QAAS,CACPkJ,WADO,WAEL,IAAMrG,EAAWhD,KAAK+G,UAAY,eAAlC,MAEA,OAAO/G,KAAK0E,WACR1E,KAAKgJ,eAAe,aAAc,CAClC/J,MAAO,CAAED,KAAMgB,KAAK0E,aAFjB,GAAP,GAMFqT,UAVO,SAUE,OAKH/X,KAAJ,WAEAA,KAAA,cAIJ6C,OAvDO,SAuDD,GACJ,OAAOT,EAAEpC,KAAD,IAAW,CACjBiB,YADiB,SAEjBE,MAAOnB,KAFU,OAGjB2D,WAAY,CAAC,CACX3E,KADW,YAEXkK,MAAO,CACLC,QAASnJ,KADJ,UAELsJ,QAAStJ,KAAKsJ,WAGlBjI,GAAIrB,KAVa,WAWjByB,MAAOzB,KAAKyG,QACX,CAACzG,KAZJ,mB,kVC3DW,aAAA0D,EAAA,qBAAyB,CACtC1E,KADsC,UAGtC+D,YAHsC,EAKtC9D,MAAO,CACLkW,SADK,QAEL3H,MAAO,CACL/N,KADK,OAELE,QAAS,WAEXR,SANK,QAOL6Y,QAPK,QAQLC,IARK,OASL7Y,KAAM,CACJK,KAAM,CAACF,OADH,QAEJI,QAAS,GAEXN,MAAO,CACLI,KAAM,CAACF,OADF,QAELI,QAAS,QAEXuJ,MAAOnJ,SAGT8C,OAzBsC,SAyBhC,KACJ,IAAM,EAAN,EAAM,WAAN,EAAM,UAAuB5D,EAA7B,EAA6BA,MACvB6C,EAAO,CACXb,YADW,UAEXC,MAAO,EAAF,CACH,kBAAmBjC,EADd,MAEL,uBAAwBA,EAFnB,UAGF,eAAuBiZ,IAE5B/W,MAAO,CACL8W,IAAKhZ,EADA,IAEL,eAAgBA,EAAMgZ,KAExB5W,GAXW,EAYXI,MAAO,CACLrC,KAAM,eAAcH,EADf,MAELI,MAAO,eAAcJ,EAFhB,OAGL6W,SAAU7W,EAAA,oBAA8B,YAE1CwK,IAAK,SAGP,OAAOrH,EAAE,QAAS,oCAAuCnD,EAAA,SAAiBA,EAAxD,MAAV,GAAR,MC3DJ,U,kYCsBA,IAAMwE,EAAa,OAAAC,EAAA,MAAO,EAAD,KAAzB,QAWe,EAAAD,EAAA,gBAAoC,CACjDzE,KADiD,UAGjDmZ,cAHiD,EAKjDlZ,MAAO,CACLsO,WADK,OAEL6K,gBAAiB,CACf3Y,KADe,OAEfE,QAAS,IAEXT,MANK,QAOLwC,OAAQ,CAACnC,OAPJ,QAQL8Y,YAAa,CAACtY,QART,QASLuY,KATK,OAUL1P,GAVK,OAWLkD,MAXK,OAYLyM,QAZK,QAaLC,eAbK,QAcL7K,YAdK,OAeLzE,MAAO,MAGTpH,KAvBiD,WAwB/C,MAAO,CACL2W,UAAWzY,KADN,MAEL0Y,cAAc,IAIlB9Y,SAAU,CACR0D,QADQ,WAEN,UACE,qBAAsBtD,KADjB,SAEL,yBAA0BA,KAFrB,YAGL,2BAA4BA,KAHvB,cAIL,oBAAqBA,KAJhB,QAKL,uBAAwBA,KALnB,WAML,sBAAuBA,KANlB,UAQL,uBAAwC,IAAjBA,KAAKuY,SARvB,MAQ4CvY,KAAKuY,QACtD,uBAAwBvY,KATnB,WAUL,iBAAkBA,KAVb,OAWFA,KAAK+B,eAGZ4W,WAhBQ,WAiBN,OAAO3Y,KAAK4I,IAAM,SAAX,OAAoB5I,KAA3B,OAEF4Y,WAnBQ,WAoBN,OAAO5Y,KAAK6Y,kBAAkBzO,OAA9B,GAEF0O,QAtBQ,WAuBN,OAAQ9Y,KAAD,eACHA,KADG,OAEJA,KAAKwY,gBAAkBxY,KAF1B,YAIF+Y,SA3BQ,WA4BN,SAAU/Y,KAAKM,OAAOwL,QAAS9L,KAA/B,QAMFsT,cAAe,CACb0F,IADa,WAEX,OAAOhZ,KAAP,WAEFiZ,IAJa,SAIV,GACDjZ,KAAA,YACAA,KAAA,MAAWA,KAAX,kBAGJkZ,QA3CQ,WA4CN,QAASlZ,KAAT,WAEFmZ,cA9CQ,WA+CN,OAAOnZ,KAAP,SAEF6Y,kBAjDQ,WAiDS,WACf,OAAI7Y,KAAJ,QAAyB,CAACA,KAAR,MAEbA,KAAL,YAEOA,KAAKoZ,YAAYxI,KAAK,SAAAyI,GAC3B,qBAAWA,EAAyB,OAAOA,EAE3C,IAAMC,EAAmBD,EAAW,EAApC,eAEA,MAAmC,kBAArBC,EAAgCA,EAA9C,MALK,QAMG,SAAAC,GAAO,MANjB,KAMqBA,KARS,IAUhCC,YA9DQ,WA+DN,OAA4B,IAArBxZ,KAAKqY,aAA+C,SAArBrY,KAAKqY,aAA0BrY,KAArE,aAIJ8G,MAAO,CACLoC,MADK,SACA,GACHlJ,KAAA,cAIJyZ,aAvGiD,WA0G/CzZ,KAAA,aAAqBA,KAAK0Z,SAASC,OAAS3Z,KAAK0Z,SAASC,MAAtC,OAApB,SAGFxZ,QAAS,CACPkJ,WADO,WAEL,MAAO,CACLrJ,KADK,iBAELA,KAFK,aAGLA,KAHF,kBAMF4Z,WARO,WASL,OAAO5Z,KAAKgJ,eAAe,MAAO,CAChC/H,YADgC,mBAEhCE,MAAO,CAAEuR,MAAO1S,KAAKoB,OAAOsR,QAC3B,CACD1S,KADC,eAEDA,KALF,iBAQF6Z,eAjBO,WAkBL,MAAO,CACL7Z,KADK,WAELA,KAAKM,OAFP,UAKF8N,QAvBO,SAuBA,KAGoB,WAAzB0L,EAAyB,uDAHpB,GAKCjb,EAAQmB,KAAA,UAAd,EAAc,SACR+Z,EAAY,SAAH,OAAY,eAA3B,IACMC,KAAiBha,KAAKC,WAAW8Z,KAAvC,GAEMjY,EAAO,OAAAmY,EAAA,MAAU,CACrB9Y,MAAO,CACL,aAAc6Y,EAAc,gCAAH,aADpB,EAELxM,MAAOxN,KAFF,gBAGL+K,KAAM/K,KAHD,KAILb,SAAUa,KAJL,WAKL8K,MAAO9K,KAAK8K,OAEdzJ,GAAK2Y,EAED,CACA9Z,MAAQ,SAAAoI,GACNA,EAAA,iBACAA,EAAA,kBAEA,aACA4R,GAAMA,EAAN,IAIFC,QAAU,SAAA7R,GACRA,EAAA,iBACAA,EAAA,yBAdF,GARN,GA2BA,OAAOtI,KAAKgJ,eAAe,MAAO,CAChC/H,YADgC,gBAEhCC,MAAOzB,EAAO,kBAAH,OAAqB,eAArB,SAAyCmC,GACnD,CACD5B,KAAKgJ,eAAe,EAApB,OAJF,MAWFoR,aAtEO,WAuEL,OAAOpa,KAAKgJ,eAAe,MAAOhJ,KAAKwQ,mBAAmBxQ,KAAxB,gBAA8C,CAC9EiB,YAD8E,gBAE9EQ,MAAO,CAAEC,OAAQ,eAAc1B,KAAD,SAC9BqB,GAAI,CACFnB,MAAOF,KADL,QAEFqa,UAAWra,KAFT,YAGFma,QAASna,KAAKsa,WAEhB7Q,IAAK,eACH,CAACzJ,KATL,oBAWF6L,SAlFO,WAmFL,OAAK7L,KAAL,SAEOA,KAAKgJ,eAAeuR,EAApB,KAA4B,CACjCtb,MAAO,CACLuO,MAAOxN,KADF,gBAEL+K,KAAM/K,KAFD,KAGLb,SAAUa,KAHL,WAILgY,QAAShY,KAJJ,SAKLiY,IAAKjY,KALA,WAML8K,MAAO9K,KAAK8K,QAEb9K,KAAKM,OAAOwL,OAAS9L,KATxB,OAF2B,MAa7Bwa,YAhGO,WAgGI,WACT,OAAKxa,KAAL,YAEOA,KAAKgJ,eAAeyR,EAApB,KAA+B,CACpCxb,MAAO,CACLuO,MAAOxN,KAAK8Y,QAAU,GAAK9Y,KADtB,gBAEL+K,KAAM/K,KAFD,KAGL8K,MAAO9K,KAHF,MAILkJ,MAAOlJ,KAAK6Y,mBAEd1X,MAAO,CACLsB,KAAMzC,KAAK0a,YAAc,QAAU,MAErCC,YAAa,CACXhb,QAAS,SAAAV,GAAK,OAAI,eAAQ,EAAD,iBAbC,MAiBhC2b,QAlHO,SAkHA,OAKL,IAAKC,EAAL,OAAkB,OAAO,KAEzB,IAAMpR,EAAM,GAAH,OAAMhK,EAAN,YAAT,GAEA,OAAOO,KAAKgJ,eAAe,MAAO,CAChC/H,YAAa,YAAF,OADqB,GAEhCwI,OAFF,IAKFqR,eAhIO,WAiIL,IAAMD,EAAN,GAQA,OANI7a,KAAKM,OAAT,QACEua,EAAA,KAAU7a,KAAKM,OAAf,SACSN,KAAJ,aACL6a,EAAA,KAAU7a,KAAKoO,QAAf,YAGKpO,KAAK4a,QAAQ,UAAW,QAA/B,IAEFG,cA3IO,WA4IL,IAAMF,EADK,GAaX,OANI7a,KAAKM,OAAT,OACEua,EAAA,KAAU7a,KAAKM,OAAf,QACSN,KAAJ,YACL6a,EAAA,KAAU7a,KAAKoO,QAAf,WAGKpO,KAAK4a,QAAQ,SAAU,QAA9B,IAEFlH,QA1JO,SA0JA,GACL1T,KAAA,kBAEFgb,YA7JO,SA6JI,GACThb,KAAA,gBACAA,KAAA,sBAEFsa,UAjKO,SAiKE,GACPta,KAAA,gBACAA,KAAA,qBAIJ6C,OApRiD,SAoR3C,GACJ,OAAOT,EAAE,MAAOpC,KAAKwD,aAAaxD,KAAlB,gBAAwC,CACtDiB,YADsD,UAEtDC,MAAOlB,KAAKsD,UACVtD,KAHJ,iBCtTJ,U,gPCSO,IAAMib,EAAW,cAAW,CACjChc,MAAO,CACLqO,YADK,OAELpE,MAAO,CACLxJ,UAAU,IAIdoC,KAAM,iBAAO,CACXiF,UAAU,IAGZ5G,QAAS,CACPyO,OADO,WAEL5O,KAAA,UAAiBA,KAAjB,WAIJ6C,OAlBiC,WAmB/B,OAAK7C,KAAKkb,aAAV,SASIlb,KAAKkb,aAAT,UACEC,EAAUnb,KAAKkb,aAAavb,QAAQ,CAClCyb,OAAQpb,KAD0B,SAElC4O,OAAQ5O,KAAK4O,UAIb3G,MAAA,YAAJ,IAA8BkT,EAAA,SAC5BA,EAAUA,EAAV,IAGGA,IAAWlT,MAAA,QAAZ,IAAuCkT,EAA3C,KAMAA,EAAA,KAAenb,KAAKqb,GAAGF,EAAA,MAAR,GAA4BA,EAA5B,IAA0C,CACvDja,MAAO,EAAF,GAAKlB,KAAD,YAAoBA,KAAK+G,YAGpC,IATE,eAAY,8CAAZ,MAEA,KAtBA,eAAY,yCAAZ,MAEA,MAGF,SA4BW,sBAAO,EAEpB,eAAiB,YAAa,SAFjB,wBAGN,CACP/H,KAAM,Y,4WC9CR,IAAMyE,EAAa,eAAO,EAAD,mBAIvB,eAJuB,iBAKvB,eALF,eAiBe,OAAAA,EAAA,gBAAoC,CACjDzE,KADiD,cAGjD2E,WAAY,CACV2X,OAAA,QAGF/G,OAAQ,CACNnR,UAAW,CACTzD,SAAS,GAEX2U,SAAU,CACR3U,SAAS,GAEXmE,SAAU,CACRnE,SAAS,GAEX6U,QAAS,CACP7U,SAAS,IAIbwY,cAtBiD,EAwBjDlZ,MAAO,CACLqO,YAAa,CACX7N,KADW,OAEXE,QAFW,WAGT,OAAKK,KAAL,cAEOA,KAAKqD,cAAZ,YAFgC,KAKpCnE,MATK,QAULqc,SAVK,QAWLC,KAXK,QAYLC,WAAY,CACVhc,KAAMM,SAERP,IAAK,CACHC,KADG,OAEHE,QAAS,OAEXkV,UAnBK,QAoBLC,QApBK,QAqBL5L,MAAO,MAGTpH,KAAM,iBAAO,CACX4Z,WAAY,wBAGd9b,SAAU,CACR0D,QADQ,WAEN,UACE,eADK,GAEF,qCAFE,MAAP,CAGE,qBAAsBtD,KAHjB,MAIL,wBAAyBA,KAJpB,SAKL,oBAAqBA,KAAK2b,cAAgB3b,KALrC,SAML,0BAA2BA,KANtB,WAOL,0BAA2BA,KAPtB,UAQL,wBAAyBA,KARpB,SASFA,KAAK+B,eAGZ4Z,YAdQ,WAeN,OAAO5b,QACL,gDACAC,KAFF,iBAOJqH,QA1EiD,WA4E3CrH,KAAKsH,OAAOC,eAAhB,WACE,eAAQ,SAAR,OAIJpH,QAAS,CACPD,MADO,SACF,GACCoI,EAAJ,QAActI,KAAK4H,IAAIgU,OAEvB5b,KAAA,iBAEAA,KAAA,IAAWA,KAAX,UAEF6b,SARO,WASL,IAAM1a,EAAK,GACT,kBAAiBnB,KAAKb,eADW,EAEjC2c,SAAU9b,KAAK2b,cAAgB3b,KAArB,YAFuB,GAG9BA,KAAKsH,QAiBV,OAdItH,KAAKsH,OAAOC,eAAhB,SAEWvH,KAAJ,UAEIA,KAAJ,WACLmB,EAAA,cACAA,EAAA,iBAAyBqL,OAAOxM,KAAhC,WACSA,KAAJ,UACLmB,EAAA,KAAanB,KAAK2b,YAAc,gBAAhC,EACAxa,EAAA,GAAWA,EAAA,wBAAyBnB,KAApC,OACSA,KAAJ,WACLmB,EAAA,kBAGF,IAIJ0B,OAlHiD,SAkH3C,GAAG,WACP,EAAoB7C,KAApB,oBAAI,EAAJ,EAAI,IAAO8B,EAAX,EAAWA,KAEXA,EAAA,WACKA,EADQ,MAER9B,KAAK6b,YAEV/Z,EAAK9B,KAAK2O,GAAK,WAAf,WACK7M,EAAK9B,KAAK2O,GAAK,WADgB,MAApC,CAEEjF,QAAU,SAAApB,GAEJA,EAAA,UAAc,OAAlB,OAAkC,WAElC,wBAIAtI,KAAJ,WAAmBR,EAAA,OACfQ,KAAKub,UAAYvb,KAArB,KACE8B,EAAA,GAAUA,EAAV,gBACOA,EAAP,UAGF,IAAMkB,EAAWhD,KAAKkb,aAAavb,QAC/BK,KAAKkb,aAAavb,QAAQ,CAC1Byb,OAAQpb,KADkB,SAE1B4O,OAAQ5O,KAAK4O,SAEb5O,KAAKM,OALT,QAOA,OAAO8B,EAAE5C,EAAKQ,KAAKwD,aAAaxD,KAAlB,MAAN,GAAR,O,kICxKW,SAAA0D,EAAA,MAAO,EAAD,KAAN,eAAoC,CACjD1E,KADiD,aAGjDC,MAAO,CACLiK,MAAO,CACLzJ,KADK,MAELE,QAAS,iBAAO,MAIpBQ,QAAS,CACP4b,YADO,WAEL,OAAO/b,KAAKgJ,eAAe,mBAAoB,CAC7C/H,YAD6C,sBAE7CE,MAAO,CACLnC,KADK,qBAELQ,IAAK,QAENQ,KAAKkJ,MAAM0H,IAAI5Q,KANlB,cAQFgc,WAVO,SAUG,KACR,OAAOhc,KAAKgJ,eAAe,MAAO,CAChC/H,YADgC,sBAEhCF,OACC,eAAQf,KAAM,UAAW,CAAEuZ,UAASxY,SAAU,CAHjD,MAOJ8B,OA5BiD,SA4B3C,GACJ,OAAOT,EAAE,MAAOpC,KAAKwD,aAAaxD,KAAlB,MAA8B,CAC5CiB,YAD4C,aAE5CC,MAAOlB,KAAK+B,eACV,CAAC/B,KAHL,mBC1CJ,U,kCCHA,uDAIA,Q,kCCJA,0BAUe,qBAAmB,CAChChB,KADgC,SAGhCC,MAAO,CACLO,IAAK,CACHC,KADG,OAEHE,QAAS,SAIbC,SAAU,CACR6G,OADQ,WAEN,MAEIzG,KAAKyQ,SAFT,YAAM,EAAN,EAAM,MAAN,EAAM,MAAN,EAAM,QAAN,EAAM,SAAN,EAAM,cAAN,EAAM,OAC0CrR,EADhD,EACgDA,KAGhD,MAAO,CACL6c,WAAY,GAAF,OAAK7V,EADV,EACK,MACV8V,aAAc,GAAF,OAFP,EAEO,MACZC,cAAe,GAAF,OAAKC,EAAA,EAHb,EAGQ,MACbC,YAAa,GAAF,OAAKjd,EAAL,SAKjByD,OAzBgC,SAyB1B,GACJ,IAAMf,EAAO,CACXb,YADW,SAEXQ,MAAOzB,KAFI,OAGXyJ,IAAK,QAGP,OAAOrH,EAAEpC,KAAD,MAAiB,CACvBoC,EAAE,MAEA,CAAEnB,YAAa,gBACfjB,KAAKM,OAJT,e,4ZCdJ,IAAMmD,EAAa,eACjB,eAAgB,OAAQ,CAAC,WAAD,yEADD,6CAAzB,QAoBe,OAAAA,EAAA,OAAkB,CAC/BzE,KAD+B,sBAG/B2E,WAAY,CACVC,aAAA,OACAC,OAAA,OACAyY,MAAA,QAGFnZ,QAT+B,WAU7B,MAAO,CACLqR,QAAsB,QAAbxU,KAAKR,MAIlBP,MAAO,CACLsd,OADK,QAELC,QAFK,QAGLC,qBAHK,QAILC,oBAJK,QAKLC,cALK,QAMLC,SANK,QAOLlb,OAAQ,CACNjC,KAAM,CAACF,OADD,QAENI,QAFM,WAGJ,OAAOK,KAAK6c,IAAM,QAAlB,SAGJC,YAbK,QAcLC,iBAAkB,CAChBtd,KAAM,CAACF,OADS,QAEhBI,QAAS,IAEXqd,UAlBK,QAmBL3d,MAnBK,QAoBLoN,IAAK,CACHhN,KAAM,CAAC+M,OADJ,QAEH7M,QAAS,IAEXsd,UAxBK,QAyBLzd,IAAK,CACHC,KADG,OAEHE,QAFG,WAGD,OAAOK,KAAK6c,IAAM,MAAlB,UAGJK,UA/BK,QAgCLC,UAhCK,QAiCLxb,MAAO,CACLlC,KAAM,CAACF,OADF,QAELI,QAAS,KAEXuJ,MAAO,MAGTpH,KAAM,iBAAO,CACXsb,aADW,EAEXC,UAAW,CACTje,KADS,EAETC,MAAO,GAETie,eAAgB,IAGlB1d,SAAU,CAKR2d,oBALQ,WAMN,OAAOvd,KAAKX,MAAQ,QAApB,QAEFiE,QARQ,WASN,UACE,uBADK,EAEL,gCAAiCtD,KAF5B,SAGL,8BAA+BA,KAH1B,OAIL,+BAAgCA,KAJ3B,QAKL,8BAA+BA,KAL1B,SAML,8BAA+BA,KAAD,WAAmBA,KAAK6c,KAAO7c,KANxD,OAOL,gCAAiCA,KAP5B,SAQL,iCAAkCA,KAR7B,SASL,oCAAqCA,KAThC,YAUL,oCAAqCA,KAVhC,cAWL,2CAXK,KAWuCT,OAAOS,KAAP,kBAC5C,4BAA6BA,KAZxB,SAaL,qCAAsCA,KAbjC,cAcL,6BAA8BA,KAdzB,MAeL,iCAAkCA,KAf7B,WAgBFA,KAAK+B,eAGZyb,kBA5BQ,WA6BN,IAAKxd,KAAL,OAAkB,OAAO,KAEzB,IAAMwd,EACJxd,KAAKyQ,SAASgN,YAAYlB,OAC1Bvc,KAAKyQ,SAASgN,YADd,OAEAzd,KAAKyQ,SAASgN,YAHhB,IAMA,OAAKzd,KAAL,QAEOwd,EAAoBxd,KAAKyQ,SAASgN,YAAzC,IAF0BD,GAI5BpV,YAzCQ,WA0CN,IAAKpI,KAAL,OAAkB,OAAO,EAEzB,IAAIoI,EAAcpI,KAAKyQ,SAASgN,YAAhC,IAMA,OAJArV,GAAepI,KAAKwc,QAChBxc,KAAKyQ,SAASgN,YADH,IAAf,EAIA,GAEFC,kBApDQ,WAqDN,OAAI1d,KAAJ,SAA0B,EACtBA,KAAJ,UACOA,KAAKX,MADc,KAC1B,KAEFse,cAzDQ,WA0DN,OAAO3d,KAAK4d,cAAgB5d,KAArB,iBAA6CA,KAApD,OAEF6d,OA5DQ,WA6DN,OACE7d,KAAK6c,MACH7c,KAAD,WAAmBA,KAFtB,WAKF8d,SAlEQ,WAmEN,OAAO9d,KAAKuc,QAAUvc,KAAtB,UAEF4d,cArEQ,WAsEN,OACG5d,KAAD,eACAA,KAFK,aAILA,KAAK2c,gBACJ3c,KALH,aAQF+d,SA9EQ,WA+EN,OACG/d,KAAD,YACCA,KADD,WAEA,sCAHF,OAMFge,cArFQ,WAsFN,OACGhe,KAAD,YACCA,KADD,YAECA,KAAK+d,UAAY/d,KAHpB,YAMFie,eA5FQ,WA6FN,OACEje,KAAK6c,MACJ7c,KADD,uBAECA,KAFD,YAGCA,KAHD,YAICA,KALH,WAQFke,eArGQ,WAsGN,OAAQle,KAAD,uBAA+BA,KAAtC,WAEFme,cAxGQ,WAyGN,OACGne,KAAD,sBACCA,KADD,YAECA,KAAKkd,WAAald,KAHrB,WAMFoe,YA/GQ,WAgHN,OACGpe,KAAD,aACAA,KADA,WAECA,KAAK+d,UAAY/d,KAHpB,YAMFyG,OAtHQ,WAuHN,IAAM4X,EAAYre,KAAK8d,SAAW,aAAlC,aACA,MAAO,CACLpc,OAAQ,eAAc1B,KADjB,QAELoG,IAAMpG,KAAD,SAFA,OAEiB,eAAcA,KAA/B,aACLoE,UAAqC,MAA1BpE,KAAKwd,kBAAL,sBACQ,eAAcxd,KADtB,6BAHN,EAML8M,UAAW,GAAF,OAAKuR,EAAL,YAAkB,eAAcre,KAAD,kBANnC,KAMI,KACT2B,MAAO,eAAc3B,KAAD,kBAK1B8G,MAAO,CACLiH,OADK,gBAELhH,SAFK,SAEG,GACN/G,KAAA,kBAMF+d,SATK,SASG,MACN,GACE/d,KADF,WAEGA,KAFH,WAGEA,KAHF,gBAKI,MAAAkH,GACDlH,KADC,gBAEDA,KAFH,iBAKAA,KAAA,cAEFgd,UAtBK,SAsBI,GAEP,IAAShd,KAAK+G,UAAW,IAE3BqX,YA1BK,SA0BM,GACT,EAASpe,KAAT,aACKA,KAAKse,iBAEZpV,MA9BK,SA8BA,GACClJ,KAAJ,YAEA,MAAIvB,EAKAA,IAAQuB,KAAZ,WAA2BA,KAAK+G,SAAWtI,GAJzCuB,KAAA,SAMJ2c,cAxCK,oBAyCLS,YAzCK,SAyCM,GACTpd,KAAA,wBAIJue,YAlP+B,WAmP7Bve,KAAA,QAGFG,QAAS,CACPqe,mBADO,WAEL,IAAMC,EAASze,KAAK4H,IAApB,WAEA,MAEA,IAAM8W,EAAaD,EAAnB,wBAEAze,KAAA,UAAiB,CACfZ,KAAMsf,EAAA,KADS,GAEfrf,MAAOqf,EAAA,MAAmB,MAG9BnW,iBAbO,WAcL,OAAOvI,KAAK+G,WAAa/G,KAAlB,cAAuCA,KAA9C,eAEF2e,UAhBO,WAiBL,OAAO3e,KAAK4e,YAAZ,WAEFC,cAnBO,WAoBL,IAAM5f,EAAQ,CACZyC,OADY,OAEZC,MAFY,OAGZ8K,IAAKzM,KAAKyM,KAGNuJ,EAAQhW,KAAKkb,aAAajO,IAC5BjN,KAAKkb,aAAajO,IADR,GAEVjN,KAAKgJ,eAAe,EAApB,KAA0B,CAAE/J,UAEhC,OAAOe,KAAKgJ,eAAe,MAAO,CAChC/H,YAAa,8BACZ,CAFH,KAIFgI,cAlCO,WAkCM,WACLtF,EAAa,CAAC,CAClB3E,KADkB,gBAElBkK,MAAO,CACLC,QAAS,WAAQ,eACjBZ,iBAAkBvI,KAFb,iBAGLoJ,QAASpJ,KAAK8e,4BAelB,OAXK9e,KAAD,WAAoBA,KAAxB,WACE2D,EAAA,KAAgB,CACd3E,KADc,QAEdkK,MAAO,CACLuV,QADK,EAELrf,KAAMY,KAFD,UAGLX,MAAOW,KAAK+e,cAKlB,GAEFC,aAzDO,WAyDK,WACJ3d,EAAyC,CAC7C4d,cAAgB,SAAA3W,GACd,GAAIA,EAAA,SAAaA,EAAjB,eACA,wBAF0B,GAK1B,IAAM4W,EAAcC,SAAA,YAApB,YACAD,EAAA,qCACAzU,OAAA,oBAaJ,OATIzK,KAAJ,cACEqB,EAAA,MAAW,kBAAM,+BAAjB,KAGErB,KAAJ,gBACEqB,EAAA,WAAgB,kBAAO,eAAvB,GACAA,EAAA,WAAgB,kBAAO,eAAvB,IAGF,GAEFud,YAjFO,SAiFI,GACT,IAAM/D,EAAO,eAAQ7a,KAArB,GAEA,SAEOA,KAAKgJ,eAAe,MAAO,CAChC/H,YAAa,wBAAF,OAA0BjC,IADvC,GAFkB6b,GAMpBuE,WA1FO,WA2FL,OAAOpf,KAAK4e,YAAZ,YAEFvV,WA7FO,WA8FL,OAAOrJ,KAAKgJ,eAAe,MAAO,CAChC/H,YAAa,gCACZjB,KAAKM,OAFR,UAIF+e,UAlGO,WAmGL,OAAOrf,KAAKgJ,eAAe,MAAO,CAChC/H,YAAa,iCAGjB+L,KAvGO,WAwGDhN,KAAJ,UACEA,KAAA,YACSA,KAAKid,WAAT,MACLjd,KAAKkJ,MAELlJ,KAAA,SAAgBA,KAAhB,MACUA,KAAL,YACLA,KAAA,UAAiBA,KAAjB,WAGJ0O,cAlHO,WAmHD1O,KAAKme,eAAiBne,KAA1B,qBACEA,KAAA,cAGJsf,UAvHO,SAuHE,GACHtf,KAAK+G,UAAY/G,KAArB,QACAA,KAAA,qBAEIqF,KAAA,IAASiD,EAAA,UAAcA,EAAvB,aAAJ,MACItI,KAAKX,OACPiJ,EAAA,aAAiBtI,KAAKqd,UADxB,MAEErd,KAAK+G,UAFP,GAGU/G,KAAD,OAAeA,KAAnB,WAAkCA,KAAK+G,UAAW,MAEzDgY,WAjIO,SAiIG,GACJ/e,KAAK+G,WAAa/G,KAAtB,QACAA,KAAA,qBAEIqF,KAAA,IAASiD,EAAA,UAAcA,EAAvB,aAAJ,OACKtI,KAAD,OACFsI,EAAA,aAAiBtI,KAAKqd,UADxB,KAEErd,KAAK+G,UAFP,EAGS/G,KAAKX,OAASW,KAAlB,WAAiCA,KAAK+G,UAAW,MAKxDwY,kBA9IO,WA+IL,IACGvf,KAAD,UACAA,KADA,UAEAA,KAFA,YAGCA,KAJH,IAKE,OAAO,EAET,IAAM2B,EAAQpC,OAAOS,KAArB,eAEA,OAAOiG,MAAA,GAAejG,KAAK4H,IAApB,YAAP,GAEF4X,kBA1JO,SA0JU,GACXxf,KAAK8c,cAAT,GAA8B9c,KAAKyf,MAAM,sBAAuBhhB,KAIpEoE,OArZ+B,SAqZzB,GACJ,IAAMG,EAAW,CACfhD,KADe,aAEfA,KAFe,aAGfA,KAHe,YAIfA,KAJF,aASA,OAFIA,KAAKyM,KAAO,eAAQzM,KAAxB,SAAsCgD,EAAA,QAAiBhD,KAAjB,iBAE/BoC,EAAEpC,KAAD,IAAWA,KAAKwQ,mBAAmBxQ,KAAxB,MAAoC,CACrDkB,MAAOlB,KAD8C,QAErDyB,MAAOzB,KAF8C,OAGrD2D,WAAY3D,KAHyC,gBAIrDqB,GAAIrB,KAAKgf,iBAJX","file":"js/chunk-vendors~74e9f0c9.c502e98e.js","sourcesContent":["import './VIcon.sass'\n\n// Mixins\nimport BindsAttrs from '../../mixins/binds-attrs'\nimport Colorable from '../../mixins/colorable'\nimport Sizeable from '../../mixins/sizeable'\nimport Themeable from '../../mixins/themeable'\n\n// Util\nimport { convertToUnit, keys, remapInternalIcon } from '../../util/helpers'\n\n// Types\nimport Vue, { CreateElement, VNode, VNodeChildren, VNodeData } from 'vue'\nimport mixins from '../../util/mixins'\nimport { VuetifyIcon, VuetifyIconComponent } from 'vuetify/types/services/icons'\n\nenum SIZE_MAP {\n xSmall = '12px',\n small = '16px',\n default = '24px',\n medium = '28px',\n large = '36px',\n xLarge = '40px'\n}\n\nfunction isFontAwesome5 (iconType: string): boolean {\n return ['fas', 'far', 'fal', 'fab', 'fad', 'fak'].some(val => iconType.includes(val))\n}\n\nfunction isSvgPath (icon: string): boolean {\n return (/^[mzlhvcsqta]\\s*[-+.0-9][^mlhvzcsqta]+/i.test(icon) && /[\\dz]$/i.test(icon) && icon.length > 4)\n}\n\nconst VIcon = mixins(\n BindsAttrs,\n Colorable,\n Sizeable,\n Themeable\n /* @vue/component */\n).extend({\n name: 'v-icon',\n\n props: {\n dense: Boolean,\n disabled: Boolean,\n left: Boolean,\n right: Boolean,\n size: [Number, String],\n tag: {\n type: String,\n required: false,\n default: 'i',\n },\n },\n\n computed: {\n medium () {\n return false\n },\n hasClickListener (): boolean {\n return Boolean(\n this.listeners$.click || this.listeners$['!click']\n )\n },\n },\n\n methods: {\n getIcon (): VuetifyIcon {\n let iconName = ''\n if (this.$slots.default) iconName = this.$slots.default[0].text!.trim()\n\n return remapInternalIcon(this, iconName)\n },\n getSize (): string | undefined {\n const sizes = {\n xSmall: this.xSmall,\n small: this.small,\n medium: this.medium,\n large: this.large,\n xLarge: this.xLarge,\n }\n\n const explicitSize = keys(sizes).find(key => sizes[key])\n\n return (\n (explicitSize && SIZE_MAP[explicitSize]) || convertToUnit(this.size)\n )\n },\n // Component data for both font icon and SVG wrapper span\n getDefaultData (): VNodeData {\n return {\n staticClass: 'v-icon notranslate',\n class: {\n 'v-icon--disabled': this.disabled,\n 'v-icon--left': this.left,\n 'v-icon--link': this.hasClickListener,\n 'v-icon--right': this.right,\n 'v-icon--dense': this.dense,\n },\n attrs: {\n 'aria-hidden': !this.hasClickListener,\n disabled: this.hasClickListener && this.disabled,\n type: this.hasClickListener ? 'button' : undefined,\n ...this.attrs$,\n },\n on: this.listeners$,\n }\n },\n getSvgWrapperData () {\n const fontSize = this.getSize()\n const wrapperData = {\n ...this.getDefaultData(),\n style: fontSize ? {\n fontSize,\n height: fontSize,\n width: fontSize,\n } : undefined,\n }\n this.applyColors(wrapperData)\n\n return wrapperData\n },\n applyColors (data: VNodeData): void {\n data.class = { ...data.class, ...this.themeClasses }\n this.setTextColor(this.color, data)\n },\n renderFontIcon (icon: string, h: CreateElement): VNode {\n const newChildren: VNodeChildren = []\n const data = this.getDefaultData()\n\n let iconType = 'material-icons'\n // Material Icon delimiter is _\n // https://material.io/icons/\n const delimiterIndex = icon.indexOf('-')\n const isMaterialIcon = delimiterIndex <= -1\n\n if (isMaterialIcon) {\n // Material icon uses ligatures.\n newChildren.push(icon)\n } else {\n iconType = icon.slice(0, delimiterIndex)\n if (isFontAwesome5(iconType)) iconType = ''\n }\n\n data.class[iconType] = true\n data.class[icon] = !isMaterialIcon\n\n const fontSize = this.getSize()\n if (fontSize) data.style = { fontSize }\n\n this.applyColors(data)\n\n return h(this.hasClickListener ? 'button' : this.tag, data, newChildren)\n },\n renderSvgIcon (icon: string, h: CreateElement): VNode {\n const svgData: VNodeData = {\n class: 'v-icon__svg',\n attrs: {\n xmlns: 'http://www.w3.org/2000/svg',\n viewBox: '0 0 24 24',\n role: 'img',\n 'aria-hidden': true,\n },\n }\n\n const size = this.getSize()\n if (size) {\n svgData.style = {\n fontSize: size,\n height: size,\n width: size,\n }\n }\n\n return h(this.hasClickListener ? 'button' : 'span', this.getSvgWrapperData(), [\n h('svg', svgData, [\n h('path', {\n attrs: {\n d: icon,\n },\n }),\n ]),\n ])\n },\n renderSvgIconComponent (\n icon: VuetifyIconComponent,\n h: CreateElement\n ): VNode {\n const data: VNodeData = {\n class: {\n 'v-icon__component': true,\n },\n }\n\n const size = this.getSize()\n if (size) {\n data.style = {\n fontSize: size,\n height: size,\n width: size,\n }\n }\n\n this.applyColors(data)\n\n const component = icon.component\n data.props = icon.props\n data.nativeOn = data.on\n\n return h(this.hasClickListener ? 'button' : 'span', this.getSvgWrapperData(), [\n h(component, data),\n ])\n },\n },\n\n render (h: CreateElement): VNode {\n const icon = this.getIcon()\n\n if (typeof icon === 'string') {\n if (isSvgPath(icon)) {\n return this.renderSvgIcon(icon, h)\n }\n return this.renderFontIcon(icon, h)\n }\n\n return this.renderSvgIconComponent(icon, h)\n },\n})\n\nexport default Vue.extend({\n name: 'v-icon',\n\n $_wrapperFor: VIcon,\n\n functional: true,\n\n render (h, { data, children }): VNode {\n let iconName = ''\n\n // Support usage of v-text and v-html\n if (data.domProps) {\n iconName = data.domProps.textContent ||\n data.domProps.innerHTML ||\n iconName\n\n // Remove nodes so it doesn't\n // overwrite our changes\n delete data.domProps.textContent\n delete data.domProps.innerHTML\n }\n\n return h(VIcon, data, iconName ? [iconName] : children)\n },\n})\n","// Types\nimport Vue, { VNode } from 'vue'\n\n/* @vue/component */\nexport default Vue.extend({\n name: 'v-list-item-action',\n\n functional: true,\n\n render (h, { data, children = [] }): VNode {\n data.staticClass = data.staticClass ? `v-list-item__action ${data.staticClass}` : 'v-list-item__action'\n const filteredChild = children.filter(VNode => {\n return VNode.isComment === false && VNode.text !== ' '\n })\n if (filteredChild.length > 1) data.staticClass += ' v-list-item__action--stack'\n\n return h('div', data, children)\n },\n})\n","import VOverlay from './VOverlay'\n\nexport { VOverlay }\n\nexport default VOverlay\n","// Styles\nimport './VListItemGroup.sass'\n\n// Extensions\nimport { BaseItemGroup } from '../VItemGroup/VItemGroup'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\n\n// Utilities\nimport mixins from '../../util/mixins'\n\nexport default mixins(\n BaseItemGroup,\n Colorable\n).extend({\n name: 'v-list-item-group',\n\n provide () {\n return {\n isInGroup: true,\n listItemGroup: this,\n }\n },\n\n computed: {\n classes (): object {\n return {\n ...BaseItemGroup.options.computed.classes.call(this),\n 'v-list-item-group': true,\n }\n },\n },\n\n methods: {\n genData (): object {\n return this.setTextColor(this.color, {\n ...BaseItemGroup.options.methods.genData.call(this),\n attrs: {\n role: 'listbox',\n },\n })\n },\n },\n})\n","// Styles\nimport './VMenu.sass'\n\n// Components\nimport { VThemeProvider } from '../VThemeProvider'\n\n// Mixins\nimport Activatable from '../../mixins/activatable'\nimport Delayable from '../../mixins/delayable'\nimport Dependent from '../../mixins/dependent'\nimport Detachable from '../../mixins/detachable'\nimport Menuable from '../../mixins/menuable'\nimport Returnable from '../../mixins/returnable'\nimport Roundable from '../../mixins/roundable'\nimport Toggleable from '../../mixins/toggleable'\nimport Themeable from '../../mixins/themeable'\n\n// Directives\nimport ClickOutside from '../../directives/click-outside'\nimport Resize from '../../directives/resize'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { removed } from '../../util/console'\nimport {\n convertToUnit,\n keyCodes,\n} from '../../util/helpers'\n\n// Types\nimport { VNode, VNodeDirective, VNodeData } from 'vue'\n\nconst baseMixins = mixins(\n Dependent,\n Delayable,\n Detachable,\n Menuable,\n Returnable,\n Roundable,\n Toggleable,\n Themeable\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-menu',\n\n directives: {\n ClickOutside,\n Resize,\n },\n\n provide (): object {\n return {\n isInMenu: true,\n // Pass theme through to default slot\n theme: this.theme,\n }\n },\n\n props: {\n auto: Boolean,\n closeOnClick: {\n type: Boolean,\n default: true,\n },\n closeOnContentClick: {\n type: Boolean,\n default: true,\n },\n disabled: Boolean,\n disableKeys: Boolean,\n maxHeight: {\n type: [Number, String],\n default: 'auto',\n },\n offsetX: Boolean,\n offsetY: Boolean,\n openOnClick: {\n type: Boolean,\n default: true,\n },\n openOnHover: Boolean,\n origin: {\n type: String,\n default: 'top left',\n },\n transition: {\n type: [Boolean, String],\n default: 'v-menu-transition',\n },\n },\n\n data () {\n return {\n calculatedTopAuto: 0,\n defaultOffset: 8,\n hasJustFocused: false,\n listIndex: -1,\n resizeTimeout: 0,\n selectedIndex: null as null | number,\n tiles: [] as HTMLElement[],\n }\n },\n\n computed: {\n activeTile (): HTMLElement | undefined {\n return this.tiles[this.listIndex]\n },\n calculatedLeft (): string {\n const menuWidth = Math.max(this.dimensions.content.width, parseFloat(this.calculatedMinWidth))\n\n if (!this.auto) return this.calcLeft(menuWidth) || '0'\n\n return convertToUnit(this.calcXOverflow(this.calcLeftAuto(), menuWidth)) || '0'\n },\n calculatedMaxHeight (): string {\n const height = this.auto\n ? '200px'\n : convertToUnit(this.maxHeight)\n\n return height || '0'\n },\n calculatedMaxWidth (): string {\n return convertToUnit(this.maxWidth) || '0'\n },\n calculatedMinWidth (): string {\n if (this.minWidth) {\n return convertToUnit(this.minWidth) || '0'\n }\n\n const minWidth = Math.min(\n this.dimensions.activator.width +\n Number(this.nudgeWidth) +\n (this.auto ? 16 : 0),\n Math.max(this.pageWidth - 24, 0)\n )\n\n const calculatedMaxWidth = isNaN(parseInt(this.calculatedMaxWidth))\n ? minWidth\n : parseInt(this.calculatedMaxWidth)\n\n return convertToUnit(Math.min(\n calculatedMaxWidth,\n minWidth\n )) || '0'\n },\n calculatedTop (): string {\n const top = !this.auto\n ? this.calcTop()\n : convertToUnit(this.calcYOverflow(this.calculatedTopAuto))\n\n return top || '0'\n },\n hasClickableTiles (): boolean {\n return Boolean(this.tiles.find(tile => tile.tabIndex > -1))\n },\n styles (): object {\n return {\n maxHeight: this.calculatedMaxHeight,\n minWidth: this.calculatedMinWidth,\n maxWidth: this.calculatedMaxWidth,\n top: this.calculatedTop,\n left: this.calculatedLeft,\n transformOrigin: this.origin,\n zIndex: this.zIndex || this.activeZIndex,\n }\n },\n },\n\n watch: {\n isActive (val) {\n if (!val) this.listIndex = -1\n },\n isContentActive (val) {\n this.hasJustFocused = val\n },\n listIndex (next, prev) {\n if (next in this.tiles) {\n const tile = this.tiles[next]\n tile.classList.add('v-list-item--highlighted')\n this.$refs.content.scrollTop = tile.offsetTop - tile.clientHeight\n }\n\n prev in this.tiles &&\n this.tiles[prev].classList.remove('v-list-item--highlighted')\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('full-width')) {\n removed('full-width', this)\n }\n },\n\n mounted () {\n this.isActive && this.callActivate()\n },\n\n methods: {\n activate () {\n // Update coordinates and dimensions of menu\n // and its activator\n this.updateDimensions()\n // Start the transition\n requestAnimationFrame(() => {\n // Once transitioning, calculate scroll and top position\n this.startTransition().then(() => {\n if (this.$refs.content) {\n this.calculatedTopAuto = this.calcTopAuto()\n this.auto && (this.$refs.content.scrollTop = this.calcScrollPosition())\n }\n })\n })\n },\n calcScrollPosition () {\n const $el = this.$refs.content\n const activeTile = $el.querySelector('.v-list-item--active') as HTMLElement\n const maxScrollTop = $el.scrollHeight - $el.offsetHeight\n\n return activeTile\n ? Math.min(maxScrollTop, Math.max(0, activeTile.offsetTop - $el.offsetHeight / 2 + activeTile.offsetHeight / 2))\n : $el.scrollTop\n },\n calcLeftAuto () {\n return parseInt(this.dimensions.activator.left - this.defaultOffset * 2)\n },\n calcTopAuto () {\n const $el = this.$refs.content\n const activeTile = $el.querySelector('.v-list-item--active') as HTMLElement | null\n\n if (!activeTile) {\n this.selectedIndex = null\n }\n\n if (this.offsetY || !activeTile) {\n return this.computedTop\n }\n\n this.selectedIndex = Array.from(this.tiles).indexOf(activeTile)\n\n const tileDistanceFromMenuTop = activeTile.offsetTop - this.calcScrollPosition()\n const firstTileOffsetTop = ($el.querySelector('.v-list-item') as HTMLElement).offsetTop\n\n return this.computedTop - tileDistanceFromMenuTop - firstTileOffsetTop - 1\n },\n changeListIndex (e: KeyboardEvent) {\n // For infinite scroll and autocomplete, re-evaluate children\n this.getTiles()\n\n if (!this.isActive || !this.hasClickableTiles) {\n return\n } else if (e.keyCode === keyCodes.tab) {\n this.isActive = false\n return\n } else if (e.keyCode === keyCodes.down) {\n this.nextTile()\n } else if (e.keyCode === keyCodes.up) {\n this.prevTile()\n } else if (e.keyCode === keyCodes.end) {\n this.lastTile()\n } else if (e.keyCode === keyCodes.home) {\n this.firstTile()\n } else if (e.keyCode === keyCodes.enter && this.listIndex !== -1) {\n this.tiles[this.listIndex].click()\n } else { return }\n // One of the conditions was met, prevent default action (#2988)\n e.preventDefault()\n },\n closeConditional (e: Event) {\n const target = e.target as HTMLElement\n\n return this.isActive &&\n !this._isDestroyed &&\n this.closeOnClick &&\n !this.$refs.content.contains(target)\n },\n genActivatorAttributes () {\n const attributes = Activatable.options.methods.genActivatorAttributes.call(this)\n\n if (this.activeTile && this.activeTile.id) {\n return {\n ...attributes,\n 'aria-activedescendant': this.activeTile.id,\n }\n }\n\n return attributes\n },\n genActivatorListeners () {\n const listeners = Menuable.options.methods.genActivatorListeners.call(this)\n\n if (!this.disableKeys) {\n listeners.keydown = this.onKeyDown\n }\n\n return listeners\n },\n genTransition (): VNode {\n const content = this.genContent()\n\n if (!this.transition) return content\n\n return this.$createElement('transition', {\n props: {\n name: this.transition,\n },\n }, [content])\n },\n genDirectives (): VNodeDirective[] {\n const directives: VNodeDirective[] = [{\n name: 'show',\n value: this.isContentActive,\n }]\n\n // Do not add click outside for hover menu\n if (!this.openOnHover && this.closeOnClick) {\n directives.push({\n name: 'click-outside',\n value: {\n handler: () => { this.isActive = false },\n closeConditional: this.closeConditional,\n include: () => [this.$el, ...this.getOpenDependentElements()],\n },\n })\n }\n\n return directives\n },\n genContent (): VNode {\n const options = {\n attrs: {\n ...this.getScopeIdAttrs(),\n role: 'role' in this.$attrs ? this.$attrs.role : 'menu',\n },\n staticClass: 'v-menu__content',\n class: {\n ...this.rootThemeClasses,\n ...this.roundedClasses,\n 'v-menu__content--auto': this.auto,\n 'v-menu__content--fixed': this.activatorFixed,\n menuable__content__active: this.isActive,\n [this.contentClass.trim()]: true,\n },\n style: this.styles,\n directives: this.genDirectives(),\n ref: 'content',\n on: {\n click: (e: Event) => {\n const target = e.target as HTMLElement\n\n if (target.getAttribute('disabled')) return\n if (this.closeOnContentClick) this.isActive = false\n },\n keydown: this.onKeyDown,\n },\n } as VNodeData\n\n if (this.$listeners.scroll) {\n options.on = options.on || {}\n options.on.scroll = this.$listeners.scroll\n }\n\n if (!this.disabled && this.openOnHover) {\n options.on = options.on || {}\n options.on.mouseenter = this.mouseEnterHandler\n }\n\n if (this.openOnHover) {\n options.on = options.on || {}\n options.on.mouseleave = this.mouseLeaveHandler\n }\n\n return this.$createElement('div', options, this.getContentSlot())\n },\n getTiles () {\n if (!this.$refs.content) return\n\n this.tiles = Array.from(this.$refs.content.querySelectorAll('.v-list-item'))\n },\n mouseEnterHandler () {\n this.runDelay('open', () => {\n if (this.hasJustFocused) return\n\n this.hasJustFocused = true\n })\n },\n mouseLeaveHandler (e: MouseEvent) {\n // Prevent accidental re-activation\n this.runDelay('close', () => {\n if (this.$refs.content.contains(e.relatedTarget as HTMLElement)) return\n\n requestAnimationFrame(() => {\n this.isActive = false\n this.callDeactivate()\n })\n })\n },\n nextTile () {\n const tile = this.tiles[this.listIndex + 1]\n\n if (!tile) {\n if (!this.tiles.length) return\n\n this.listIndex = -1\n this.nextTile()\n\n return\n }\n\n this.listIndex++\n if (tile.tabIndex === -1) this.nextTile()\n },\n prevTile () {\n const tile = this.tiles[this.listIndex - 1]\n\n if (!tile) {\n if (!this.tiles.length) return\n\n this.listIndex = this.tiles.length\n this.prevTile()\n\n return\n }\n\n this.listIndex--\n if (tile.tabIndex === -1) this.prevTile()\n },\n lastTile () {\n const tile = this.tiles[this.tiles.length - 1]\n\n if (!tile) return\n\n this.listIndex = this.tiles.length - 1\n\n if (tile.tabIndex === -1) this.prevTile()\n },\n firstTile () {\n const tile = this.tiles[0]\n\n if (!tile) return\n\n this.listIndex = 0\n\n if (tile.tabIndex === -1) this.nextTile()\n },\n onKeyDown (e: KeyboardEvent) {\n if (e.keyCode === keyCodes.esc) {\n // Wait for dependent elements to close first\n setTimeout(() => { this.isActive = false })\n const activator = this.getActivator()\n this.$nextTick(() => activator && activator.focus())\n } else if (\n !this.isActive &&\n [keyCodes.up, keyCodes.down].includes(e.keyCode)\n ) {\n this.isActive = true\n }\n\n // Allow for isActive watcher to generate tile list\n this.$nextTick(() => this.changeListIndex(e))\n },\n onResize () {\n if (!this.isActive) return\n\n // Account for screen resize\n // and orientation change\n // eslint-disable-next-line no-unused-expressions\n this.$refs.content.offsetWidth\n this.updateDimensions()\n\n // When resizing to a smaller width\n // content width is evaluated before\n // the new activator width has been\n // set, causing it to not size properly\n // hacky but will revisit in the future\n clearTimeout(this.resizeTimeout)\n this.resizeTimeout = window.setTimeout(this.updateDimensions, 100)\n },\n },\n\n render (h): VNode {\n const data = {\n staticClass: 'v-menu',\n class: {\n 'v-menu--attached':\n this.attach === '' ||\n this.attach === true ||\n this.attach === 'attach',\n },\n directives: [{\n arg: '500',\n name: 'resize',\n value: this.onResize,\n }],\n }\n\n return h('div', data, [\n !this.activator && this.genActivator(),\n this.showLazyContent(() => [\n this.$createElement(VThemeProvider, {\n props: {\n root: true,\n light: this.light,\n dark: this.dark,\n },\n }, [this.genTransition()]),\n ]),\n ])\n },\n})\n","import VMenu from './VMenu'\n\nexport { VMenu }\nexport default VMenu\n","// Styles\nimport './VOverflowBtn.sass'\n\n// Extensions\nimport VSelect from '../VSelect/VSelect'\nimport VAutocomplete from '../VAutocomplete'\nimport VTextField from '../VTextField/VTextField'\n\n// Components\nimport VBtn from '../VBtn'\n\n// Utilities\nimport { consoleWarn } from '../../util/console'\n\n/* @vue/component */\nexport default VAutocomplete.extend({\n name: 'v-overflow-btn',\n\n props: {\n editable: Boolean,\n segmented: Boolean,\n },\n\n computed: {\n classes (): object {\n return {\n ...VAutocomplete.options.computed.classes.call(this),\n 'v-overflow-btn': true,\n 'v-overflow-btn--segmented': this.segmented,\n 'v-overflow-btn--editable': this.editable,\n }\n },\n isAnyValueAllowed (): boolean {\n return this.editable ||\n VAutocomplete.options.computed.isAnyValueAllowed.call(this)\n },\n isSingle (): true {\n return true\n },\n computedItems (): object[] {\n return this.segmented ? this.allItems : this.filteredItems\n },\n },\n\n methods: {\n genSelections () {\n return this.editable\n ? VAutocomplete.options.methods.genSelections.call(this)\n : VSelect.options.methods.genSelections.call(this) // Override v-autocomplete's override\n },\n genCommaSelection (item: any, index: number, last: boolean) {\n return this.segmented\n ? this.genSegmentedBtn(item)\n : VSelect.options.methods.genCommaSelection.call(this, item, index, last)\n },\n genInput () {\n const input = VTextField.options.methods.genInput.call(this)\n\n input.data = input.data || {}\n input.data.domProps!.value = this.editable ? this.internalSearch : ''\n input.data.attrs!.readonly = !this.isAnyValueAllowed\n\n return input\n },\n genLabel () {\n if (this.editable && this.isFocused) return null\n\n const label = VTextField.options.methods.genLabel.call(this)\n\n if (!label) return label\n\n label.data = label.data || {}\n\n // Reset previously set styles from parent\n label.data.style = {}\n\n return label\n },\n genSegmentedBtn (item: any) {\n const itemValue = this.getValue(item)\n const itemObj = this.computedItems.find(i => this.getValue(i) === itemValue) || item\n\n if (!itemObj.text || !itemObj.callback) {\n consoleWarn('When using \"segmented\" prop without a selection slot, items must contain both a text and callback property', this)\n return null\n }\n\n return this.$createElement(VBtn, {\n props: { text: true },\n on: {\n click (e: Event) {\n e.stopPropagation()\n itemObj.callback(e)\n },\n },\n }, [itemObj.text])\n },\n updateValue (val: boolean) {\n if (val) {\n this.initialValue = this.lazyValue\n } else if (this.initialValue !== this.lazyValue) {\n this.$emit('change', this.lazyValue)\n }\n },\n },\n})\n","// Types\nimport Vue, { VNode } from 'vue'\n\n/* @vue/component */\nexport default Vue.extend({\n name: 'v-list-item-icon',\n\n functional: true,\n\n render (h, { data, children }): VNode {\n data.staticClass = (`v-list-item__icon ${data.staticClass || ''}`).trim()\n\n return h('div', data, children)\n },\n})\n","import VImg from './VImg'\n\nexport { VImg }\nexport default VImg\n","// Style\nimport './VParallax.sass'\n\n// Mixins\nimport Translatable from '../../mixins/translatable'\n\n// Types\nimport { VNode, VNodeData } from 'vue/types/vnode'\nimport mixins from '../../util/mixins'\n\nconst baseMixins = mixins(\n Translatable\n)\ninterface options extends InstanceType {\n $refs: {\n img: HTMLImageElement\n }\n}\n\n/* @vue/component */\nexport default baseMixins.extend().extend({\n name: 'v-parallax',\n\n props: {\n alt: {\n type: String,\n default: '',\n },\n height: {\n type: [String, Number],\n default: 500,\n },\n src: String,\n srcset: String,\n },\n\n data: () => ({\n isBooted: false,\n }),\n\n computed: {\n styles (): object {\n return {\n display: 'block',\n opacity: this.isBooted ? 1 : 0,\n transform: `translate(-50%, ${this.parallax}px)`,\n }\n },\n },\n\n mounted () {\n this.init()\n },\n\n methods: {\n init () {\n const img = this.$refs.img\n\n if (!img) return\n\n if (img.complete) {\n this.translate()\n this.listeners()\n } else {\n img.addEventListener('load', () => {\n this.translate()\n this.listeners()\n }, false)\n }\n\n this.isBooted = true\n },\n objHeight () {\n return this.$refs.img.naturalHeight\n },\n },\n\n render (h): VNode {\n const imgData: VNodeData = {\n staticClass: 'v-parallax__image',\n style: this.styles,\n attrs: {\n src: this.src,\n srcset: this.srcset,\n alt: this.alt,\n },\n ref: 'img',\n }\n\n const container = h('div', {\n staticClass: 'v-parallax__image-container',\n }, [\n h('img', imgData),\n ])\n\n const content = h('div', {\n staticClass: 'v-parallax__content',\n }, this.$slots.default)\n\n return h('div', {\n staticClass: 'v-parallax',\n style: {\n height: `${this.height}px`,\n },\n on: this.$listeners,\n }, [container, content])\n },\n})\n","// Styles\nimport './VListGroup.sass'\n\n// Components\nimport VIcon from '../VIcon'\nimport VList from './VList'\nimport VListItem from './VListItem'\nimport VListItemIcon from './VListItemIcon'\n\n// Mixins\nimport BindsAttrs from '../../mixins/binds-attrs'\nimport Bootable from '../../mixins/bootable'\nimport Colorable from '../../mixins/colorable'\nimport Toggleable from '../../mixins/toggleable'\nimport { inject as RegistrableInject } from '../../mixins/registrable'\n\n// Directives\nimport ripple from '../../directives/ripple'\n\n// Transitions\nimport { VExpandTransition } from '../transitions'\n\n// Utils\nimport mixins, { ExtractVue } from '../../util/mixins'\nimport { getSlot } from '../../util/helpers'\n\n// Types\nimport { VNode } from 'vue'\nimport { Route } from 'vue-router'\n\nconst baseMixins = mixins(\n BindsAttrs,\n Bootable,\n Colorable,\n RegistrableInject('list'),\n Toggleable\n)\n\ntype VListInstance = InstanceType\n\ninterface options extends ExtractVue {\n list: VListInstance\n $refs: {\n group: HTMLElement\n }\n $route: Route\n}\n\nexport default baseMixins.extend().extend({\n name: 'v-list-group',\n\n directives: { ripple },\n\n props: {\n activeClass: {\n type: String,\n default: '',\n },\n appendIcon: {\n type: String,\n default: '$expand',\n },\n color: {\n type: String,\n default: 'primary',\n },\n disabled: Boolean,\n group: String,\n noAction: Boolean,\n prependIcon: String,\n ripple: {\n type: [Boolean, Object],\n default: true,\n },\n subGroup: Boolean,\n },\n\n computed: {\n classes (): object {\n return {\n 'v-list-group--active': this.isActive,\n 'v-list-group--disabled': this.disabled,\n 'v-list-group--no-action': this.noAction,\n 'v-list-group--sub-group': this.subGroup,\n }\n },\n },\n\n watch: {\n isActive (val: boolean) {\n /* istanbul ignore else */\n if (!this.subGroup && val) {\n this.list && this.list.listClick(this._uid)\n }\n },\n $route: 'onRouteChange',\n },\n\n created () {\n this.list && this.list.register(this)\n\n if (this.group &&\n this.$route &&\n this.value == null\n ) {\n this.isActive = this.matchRoute(this.$route.path)\n }\n },\n\n beforeDestroy () {\n this.list && this.list.unregister(this)\n },\n\n methods: {\n click (e: Event) {\n if (this.disabled) return\n\n this.isBooted = true\n\n this.$emit('click', e)\n this.$nextTick(() => (this.isActive = !this.isActive))\n },\n genIcon (icon: string | false): VNode {\n return this.$createElement(VIcon, icon)\n },\n genAppendIcon (): VNode | null {\n const icon = !this.subGroup ? this.appendIcon : false\n\n if (!icon && !this.$slots.appendIcon) return null\n\n return this.$createElement(VListItemIcon, {\n staticClass: 'v-list-group__header__append-icon',\n }, [\n this.$slots.appendIcon || this.genIcon(icon),\n ])\n },\n genHeader (): VNode {\n return this.$createElement(VListItem, {\n staticClass: 'v-list-group__header',\n attrs: {\n 'aria-expanded': String(this.isActive),\n role: 'button',\n },\n class: {\n [this.activeClass]: this.isActive,\n },\n props: {\n inputValue: this.isActive,\n },\n directives: [{\n name: 'ripple',\n value: this.ripple,\n }],\n on: {\n ...this.listeners$,\n click: this.click,\n },\n }, [\n this.genPrependIcon(),\n this.$slots.activator,\n this.genAppendIcon(),\n ])\n },\n genItems (): VNode[] {\n return this.showLazyContent(() => [\n this.$createElement('div', {\n staticClass: 'v-list-group__items',\n directives: [{\n name: 'show',\n value: this.isActive,\n }],\n }, getSlot(this)),\n ])\n },\n genPrependIcon (): VNode | null {\n const icon = this.subGroup && this.prependIcon == null\n ? '$subgroup'\n : this.prependIcon\n\n if (!icon && !this.$slots.prependIcon) return null\n\n return this.$createElement(VListItemIcon, {\n staticClass: 'v-list-group__header__prepend-icon',\n }, [\n this.$slots.prependIcon || this.genIcon(icon),\n ])\n },\n onRouteChange (to: Route) {\n /* istanbul ignore if */\n if (!this.group) return\n\n const isActive = this.matchRoute(to.path)\n\n /* istanbul ignore else */\n if (isActive && this.isActive !== isActive) {\n this.list && this.list.listClick(this._uid)\n }\n\n this.isActive = isActive\n },\n toggle (uid: number) {\n const isActive = this._uid === uid\n\n if (isActive) this.isBooted = true\n this.$nextTick(() => (this.isActive = isActive))\n },\n matchRoute (to: string) {\n return to.match(this.group) !== null\n },\n },\n\n render (h): VNode {\n return h('div', this.setTextColor(this.isActive && this.color, {\n staticClass: 'v-list-group',\n class: this.classes,\n }), [\n this.genHeader(),\n h(VExpandTransition, this.genItems()),\n ])\n },\n})\n","import './VPagination.sass'\n\nimport VIcon from '../VIcon'\n\n// Directives\nimport Resize from '../../directives/resize'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Intersectable from '../../mixins/intersectable'\nimport Themeable from '../../mixins/themeable'\n\n// Utilities\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode, CreateElement, VNodeChildrenArrayContents } from 'vue'\n\n/* @vue/component */\nexport default mixins(\n Colorable,\n Intersectable({ onVisible: ['init'] }),\n Themeable\n).extend({\n name: 'v-pagination',\n\n directives: { Resize },\n\n props: {\n circle: Boolean,\n disabled: Boolean,\n length: {\n type: Number,\n default: 0,\n validator: (val: number) => val % 1 === 0,\n },\n nextIcon: {\n type: String,\n default: '$next',\n },\n prevIcon: {\n type: String,\n default: '$prev',\n },\n totalVisible: [Number, String],\n value: {\n type: Number,\n default: 0,\n },\n pageAriaLabel: {\n type: String,\n default: '$vuetify.pagination.ariaLabel.page',\n },\n currentPageAriaLabel: {\n type: String,\n default: '$vuetify.pagination.ariaLabel.currentPage',\n },\n previousAriaLabel: {\n type: String,\n default: '$vuetify.pagination.ariaLabel.previous',\n },\n nextAriaLabel: {\n type: String,\n default: '$vuetify.pagination.ariaLabel.next',\n },\n wrapperAriaLabel: {\n type: String,\n default: '$vuetify.pagination.ariaLabel.wrapper',\n },\n },\n\n data () {\n return {\n maxButtons: 0,\n selected: null as number | null,\n }\n },\n\n computed: {\n classes (): object {\n return {\n 'v-pagination': true,\n 'v-pagination--circle': this.circle,\n 'v-pagination--disabled': this.disabled,\n ...this.themeClasses,\n }\n },\n\n items (): (string | number)[] {\n const totalVisible = parseInt(this.totalVisible, 10)\n\n if (totalVisible === 0) {\n return []\n }\n\n const maxLength = Math.min(\n Math.max(0, totalVisible) || this.length,\n Math.max(0, this.maxButtons) || this.length,\n this.length\n )\n\n if (this.length <= maxLength) {\n return this.range(1, this.length)\n }\n\n const even = maxLength % 2 === 0 ? 1 : 0\n const left = Math.floor(maxLength / 2)\n const right = this.length - left + 1 + even\n\n if (this.value > left && this.value < right) {\n const start = this.value - left + 2\n const end = this.value + left - 2 - even\n\n return [1, '...', ...this.range(start, end), '...', this.length]\n } else if (this.value === left) {\n const end = this.value + left - 1 - even\n return [...this.range(1, end), '...', this.length]\n } else if (this.value === right) {\n const start = this.value - left + 1\n return [1, '...', ...this.range(start, this.length)]\n } else {\n return [\n ...this.range(1, left),\n '...',\n ...this.range(right, this.length),\n ]\n }\n },\n },\n\n watch: {\n value () {\n this.init()\n },\n },\n\n mounted () {\n this.init()\n },\n\n methods: {\n init () {\n this.selected = null\n\n this.$nextTick(this.onResize)\n // TODO: Change this (f75dee3a, cbdf7caa)\n setTimeout(() => (this.selected = this.value), 100)\n },\n onResize () {\n const width = this.$el && this.$el.parentElement\n ? this.$el.parentElement.clientWidth\n : window.innerWidth\n\n this.maxButtons = Math.floor((width - 96) / 42)\n },\n next (e: Event) {\n e.preventDefault()\n this.$emit('input', this.value + 1)\n this.$emit('next')\n },\n previous (e: Event) {\n e.preventDefault()\n this.$emit('input', this.value - 1)\n this.$emit('previous')\n },\n range (from: number, to: number) {\n const range = []\n\n from = from > 0 ? from : 1\n\n for (let i = from; i <= to; i++) {\n range.push(i)\n }\n\n return range\n },\n genIcon (h: CreateElement, icon: string, disabled: boolean, fn: EventListener, label: String): VNode {\n return h('li', [\n h('button', {\n staticClass: 'v-pagination__navigation',\n class: {\n 'v-pagination__navigation--disabled': disabled,\n },\n attrs: {\n disabled,\n type: 'button',\n 'aria-label': label,\n },\n on: disabled ? {} : { click: fn },\n }, [h(VIcon, [icon])]),\n ])\n },\n genItem (h: CreateElement, i: string | number): VNode {\n const color: string | false = (i === this.value) && (this.color || 'primary')\n const isCurrentPage = i === this.value\n const ariaLabel = isCurrentPage ? this.currentPageAriaLabel : this.pageAriaLabel\n\n return h('button', this.setBackgroundColor(color, {\n staticClass: 'v-pagination__item',\n class: {\n 'v-pagination__item--active': i === this.value,\n },\n attrs: {\n type: 'button',\n 'aria-current': isCurrentPage,\n 'aria-label': this.$vuetify.lang.t(ariaLabel, i),\n },\n on: {\n click: () => this.$emit('input', i),\n },\n }), [i.toString()])\n },\n genItems (h: CreateElement): VNode[] {\n return this.items.map((i, index) => {\n return h('li', { key: index }, [\n isNaN(Number(i)) ? h('span', { class: 'v-pagination__more' }, [i.toString()]) : this.genItem(h, i),\n ])\n })\n },\n genList (h: CreateElement, children: VNodeChildrenArrayContents): VNode {\n return h('ul', {\n directives: [{\n modifiers: { quiet: true },\n name: 'resize',\n value: this.onResize,\n }],\n class: this.classes,\n }, children)\n },\n },\n\n render (h): VNode {\n const children = [\n this.genIcon(h,\n this.$vuetify.rtl ? this.nextIcon : this.prevIcon,\n this.value <= 1,\n this.previous,\n this.$vuetify.lang.t(this.previousAriaLabel)),\n this.genItems(h),\n this.genIcon(h,\n this.$vuetify.rtl ? this.prevIcon : this.nextIcon,\n this.value >= this.length,\n this.next,\n this.$vuetify.lang.t(this.nextAriaLabel)),\n ]\n\n return h('nav', {\n attrs: {\n role: 'navigation',\n 'aria-label': this.$vuetify.lang.t(this.wrapperAriaLabel),\n },\n }, [this.genList(h, children)])\n },\n})\n","// Components\nimport VAvatar from '../VAvatar'\n\n// Types\nimport { VNode } from 'vue'\n\n/* @vue/component */\nexport default VAvatar.extend({\n name: 'v-list-item-avatar',\n\n props: {\n horizontal: Boolean,\n size: {\n type: [Number, String],\n default: 40,\n },\n },\n\n computed: {\n classes (): object {\n return {\n 'v-list-item__avatar--horizontal': this.horizontal,\n ...VAvatar.options.computed.classes.call(this),\n 'v-avatar--tile': this.tile || this.horizontal,\n }\n },\n },\n\n render (h): VNode {\n const render = VAvatar.options.render.call(this, h)\n\n render.data = render.data || {}\n render.data.staticClass += ' v-list-item__avatar'\n\n return render\n },\n})\n","import { createSimpleFunctional } from '../../util/helpers'\n\nimport VList from './VList'\nimport VListGroup from './VListGroup'\nimport VListItem from './VListItem'\nimport VListItemGroup from './VListItemGroup'\nimport VListItemAction from './VListItemAction'\nimport VListItemAvatar from './VListItemAvatar'\nimport VListItemIcon from './VListItemIcon'\n\nexport const VListItemActionText = createSimpleFunctional('v-list-item__action-text', 'span')\nexport const VListItemContent = createSimpleFunctional('v-list-item__content', 'div')\nexport const VListItemTitle = createSimpleFunctional('v-list-item__title', 'div')\nexport const VListItemSubtitle = createSimpleFunctional('v-list-item__subtitle', 'div')\n\nexport {\n VList,\n VListGroup,\n VListItem,\n VListItemAction,\n VListItemAvatar,\n VListItemIcon,\n VListItemGroup,\n}\n\nexport default {\n $_vuetify_subcomponents: {\n VList,\n VListGroup,\n VListItem,\n VListItemAction,\n VListItemActionText,\n VListItemAvatar,\n VListItemContent,\n VListItemGroup,\n VListItemIcon,\n VListItemSubtitle,\n VListItemTitle,\n },\n}\n","import './VPicker.sass'\nimport '../VCard/VCard.sass'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Elevatable from '../../mixins/elevatable'\nimport Themeable from '../../mixins/themeable'\n\n// Helpers\nimport { convertToUnit } from '../../util/helpers'\n\n// Types\nimport { VNode } from 'vue/types'\nimport mixins from '../../util/mixins'\n\n/* @vue/component */\nexport default mixins(\n Colorable,\n Elevatable,\n Themeable\n).extend({\n name: 'v-picker',\n\n props: {\n flat: Boolean,\n fullWidth: Boolean,\n landscape: Boolean,\n noTitle: Boolean,\n transition: {\n type: String,\n default: 'fade-transition',\n },\n width: {\n type: [Number, String],\n default: 290,\n },\n },\n\n computed: {\n computedTitleColor (): string | false {\n const defaultTitleColor = this.isDark ? false : (this.color || 'primary')\n return this.color || defaultTitleColor\n },\n },\n\n methods: {\n genTitle () {\n return this.$createElement('div', this.setBackgroundColor(this.computedTitleColor, {\n staticClass: 'v-picker__title',\n class: {\n 'v-picker__title--landscape': this.landscape,\n },\n }), this.$slots.title)\n },\n genBodyTransition () {\n return this.$createElement('transition', {\n props: {\n name: this.transition,\n },\n }, this.$slots.default)\n },\n genBody () {\n return this.$createElement('div', {\n staticClass: 'v-picker__body',\n class: {\n 'v-picker__body--no-title': this.noTitle,\n ...this.themeClasses,\n },\n style: this.fullWidth ? undefined : {\n width: convertToUnit(this.width),\n },\n }, [\n this.genBodyTransition(),\n ])\n },\n genActions () {\n return this.$createElement('div', {\n staticClass: 'v-picker__actions v-card__actions',\n class: {\n 'v-picker__actions--no-title': this.noTitle,\n },\n }, this.$slots.actions)\n },\n },\n\n render (h): VNode {\n return h('div', {\n staticClass: 'v-picker v-card',\n class: {\n 'v-picker--flat': this.flat,\n 'v-picker--landscape': this.landscape,\n 'v-picker--full-width': this.fullWidth,\n ...this.themeClasses,\n ...this.elevationClasses,\n },\n }, [\n this.$slots.title ? this.genTitle() : null,\n this.genBody(),\n this.$slots.actions ? this.genActions() : null,\n ])\n },\n})\n","import VPicker from './VPicker'\n\nexport { VPicker }\nexport default VPicker\n","// Styles\nimport './VItemGroup.sass'\n\n// Mixins\nimport Groupable from '../../mixins/groupable'\nimport Proxyable from '../../mixins/proxyable'\nimport Themeable from '../../mixins/themeable'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { consoleWarn } from '../../util/console'\n\n// Types\nimport { VNode } from 'vue/types'\n\nexport type GroupableInstance = InstanceType & {\n id?: string\n to?: any\n value?: any\n }\n\nexport const BaseItemGroup = mixins(\n Proxyable,\n Themeable\n).extend({\n name: 'base-item-group',\n\n props: {\n activeClass: {\n type: String,\n default: 'v-item--active',\n },\n mandatory: Boolean,\n max: {\n type: [Number, String],\n default: null,\n },\n multiple: Boolean,\n tag: {\n type: String,\n default: 'div',\n },\n },\n\n data () {\n return {\n // As long as a value is defined, show it\n // Otherwise, check if multiple\n // to determine which default to provide\n internalLazyValue: this.value !== undefined\n ? this.value\n : this.multiple ? [] : undefined,\n items: [] as GroupableInstance[],\n }\n },\n\n computed: {\n classes (): Record {\n return {\n 'v-item-group': true,\n ...this.themeClasses,\n }\n },\n selectedIndex (): number {\n return (this.selectedItem && this.items.indexOf(this.selectedItem)) || -1\n },\n selectedItem (): GroupableInstance | undefined {\n if (this.multiple) return undefined\n\n return this.selectedItems[0]\n },\n selectedItems (): GroupableInstance[] {\n return this.items.filter((item, index) => {\n return this.toggleMethod(this.getValue(item, index))\n })\n },\n selectedValues (): any[] {\n if (this.internalValue == null) return []\n\n return Array.isArray(this.internalValue)\n ? this.internalValue\n : [this.internalValue]\n },\n toggleMethod (): (v: any) => boolean {\n if (!this.multiple) {\n return (v: any) => this.internalValue === v\n }\n\n const internalValue = this.internalValue\n if (Array.isArray(internalValue)) {\n return (v: any) => internalValue.includes(v)\n }\n\n return () => false\n },\n },\n\n watch: {\n internalValue: 'updateItemsState',\n items: 'updateItemsState',\n },\n\n created () {\n if (this.multiple && !Array.isArray(this.internalValue)) {\n consoleWarn('Model must be bound to an array if the multiple property is true.', this)\n }\n },\n\n methods: {\n\n genData (): object {\n return {\n class: this.classes,\n }\n },\n getValue (item: GroupableInstance, i: number): unknown {\n return item.value == null || item.value === ''\n ? i\n : item.value\n },\n onClick (item: GroupableInstance) {\n this.updateInternalValue(\n this.getValue(item, this.items.indexOf(item))\n )\n },\n register (item: GroupableInstance) {\n const index = this.items.push(item) - 1\n\n item.$on('change', () => this.onClick(item))\n\n // If no value provided and mandatory,\n // assign first registered item\n if (this.mandatory && !this.selectedValues.length) {\n this.updateMandatory()\n }\n\n this.updateItem(item, index)\n },\n unregister (item: GroupableInstance) {\n if (this._isDestroyed) return\n\n const index = this.items.indexOf(item)\n const value = this.getValue(item, index)\n\n this.items.splice(index, 1)\n\n const valueIndex = this.selectedValues.indexOf(value)\n\n // Items is not selected, do nothing\n if (valueIndex < 0) return\n\n // If not mandatory, use regular update process\n if (!this.mandatory) {\n return this.updateInternalValue(value)\n }\n\n // Remove the value\n if (this.multiple && Array.isArray(this.internalValue)) {\n this.internalValue = this.internalValue.filter(v => v !== value)\n } else {\n this.internalValue = undefined\n }\n\n // If mandatory and we have no selection\n // add the last item as value\n /* istanbul ignore else */\n if (!this.selectedItems.length) {\n this.updateMandatory(true)\n }\n },\n updateItem (item: GroupableInstance, index: number) {\n const value = this.getValue(item, index)\n\n item.isActive = this.toggleMethod(value)\n },\n // https://github.com/vuetifyjs/vuetify/issues/5352\n updateItemsState () {\n this.$nextTick(() => {\n if (this.mandatory &&\n !this.selectedItems.length\n ) {\n return this.updateMandatory()\n }\n\n // TODO: Make this smarter so it\n // doesn't have to iterate every\n // child in an update\n this.items.forEach(this.updateItem)\n })\n },\n updateInternalValue (value: any) {\n this.multiple\n ? this.updateMultiple(value)\n : this.updateSingle(value)\n },\n updateMandatory (last?: boolean) {\n if (!this.items.length) return\n\n const items = this.items.slice()\n\n if (last) items.reverse()\n\n const item = items.find(item => !item.disabled)\n\n // If no tabs are available\n // aborts mandatory value\n if (!item) return\n\n const index = this.items.indexOf(item)\n\n this.updateInternalValue(\n this.getValue(item, index)\n )\n },\n updateMultiple (value: any) {\n const defaultValue = Array.isArray(this.internalValue)\n ? this.internalValue\n : []\n const internalValue = defaultValue.slice()\n const index = internalValue.findIndex(val => val === value)\n\n if (\n this.mandatory &&\n // Item already exists\n index > -1 &&\n // value would be reduced below min\n internalValue.length - 1 < 1\n ) return\n\n if (\n // Max is set\n this.max != null &&\n // Item doesn't exist\n index < 0 &&\n // value would be increased above max\n internalValue.length + 1 > this.max\n ) return\n\n index > -1\n ? internalValue.splice(index, 1)\n : internalValue.push(value)\n\n this.internalValue = internalValue\n },\n updateSingle (value: any) {\n const isSame = value === this.internalValue\n\n if (this.mandatory && isSame) return\n\n this.internalValue = isSame ? undefined : value\n },\n },\n\n render (h): VNode {\n return h(this.tag, this.genData(), this.$slots.default)\n },\n})\n\nexport default BaseItemGroup.extend({\n name: 'v-item-group',\n\n provide (): object {\n return {\n itemGroup: this,\n }\n },\n})\n","import VNavigationDrawer from './VNavigationDrawer'\n\nexport { VNavigationDrawer }\nexport default VNavigationDrawer\n","// Styles\nimport './VList.sass'\nimport VListGroup from './VListGroup'\n\n// Components\nimport VSheet from '../VSheet/VSheet'\n\n// Types\nimport { VNode } from 'vue'\n\ntype VListGroupInstance = InstanceType\n\ninterface options extends InstanceType {\n isInMenu: boolean\n isInNav: boolean\n}\n\n/* @vue/component */\nexport default VSheet.extend().extend({\n name: 'v-list',\n\n provide (): object {\n return {\n isInList: true,\n list: this,\n }\n },\n\n inject: {\n isInMenu: {\n default: false,\n },\n isInNav: {\n default: false,\n },\n },\n\n props: {\n dense: Boolean,\n disabled: Boolean,\n expand: Boolean,\n flat: Boolean,\n nav: Boolean,\n rounded: Boolean,\n subheader: Boolean,\n threeLine: Boolean,\n twoLine: Boolean,\n },\n\n data: () => ({\n groups: [] as VListGroupInstance[],\n }),\n\n computed: {\n classes (): object {\n return {\n ...VSheet.options.computed.classes.call(this),\n 'v-list--dense': this.dense,\n 'v-list--disabled': this.disabled,\n 'v-list--flat': this.flat,\n 'v-list--nav': this.nav,\n 'v-list--rounded': this.rounded,\n 'v-list--subheader': this.subheader,\n 'v-list--two-line': this.twoLine,\n 'v-list--three-line': this.threeLine,\n }\n },\n },\n\n methods: {\n register (content: VListGroupInstance) {\n this.groups.push(content)\n },\n unregister (content: VListGroupInstance) {\n const index = this.groups.findIndex(g => g._uid === content._uid)\n\n if (index > -1) this.groups.splice(index, 1)\n },\n listClick (uid: number) {\n if (this.expand) return\n\n for (const group of this.groups) {\n group.toggle(uid)\n }\n },\n },\n\n render (h): VNode {\n const data = {\n staticClass: 'v-list',\n class: this.classes,\n style: this.styles,\n attrs: {\n role: this.isInNav || this.isInMenu ? undefined : 'list',\n ...this.attrs$,\n },\n }\n\n return h(this.tag, this.setBackgroundColor(this.color, data), [this.$slots.default])\n },\n})\n","import VIcon from './VIcon'\n\nexport { VIcon }\nexport default VIcon\n","import VItem from './VItem'\nimport VItemGroup from './VItemGroup'\n\nexport {\n VItem,\n VItemGroup,\n}\n\nexport default {\n $_vuetify_subcomponents: {\n VItem,\n VItemGroup,\n },\n}\n","// Styles\nimport './VOverlay.sass'\n\n// Mixins\nimport Colorable from './../../mixins/colorable'\nimport Themeable from '../../mixins/themeable'\nimport Toggleable from './../../mixins/toggleable'\n\n// Utilities\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue'\n\n/* @vue/component */\nexport default mixins(\n Colorable,\n Themeable,\n Toggleable\n).extend({\n name: 'v-overlay',\n\n props: {\n absolute: Boolean,\n color: {\n type: String,\n default: '#212121',\n },\n dark: {\n type: Boolean,\n default: true,\n },\n opacity: {\n type: [Number, String],\n default: 0.46,\n },\n value: {\n default: true,\n },\n zIndex: {\n type: [Number, String],\n default: 5,\n },\n },\n\n computed: {\n __scrim (): VNode {\n const data = this.setBackgroundColor(this.color, {\n staticClass: 'v-overlay__scrim',\n style: {\n opacity: this.computedOpacity,\n },\n })\n\n return this.$createElement('div', data)\n },\n classes (): object {\n return {\n 'v-overlay--absolute': this.absolute,\n 'v-overlay--active': this.isActive,\n ...this.themeClasses,\n }\n },\n computedOpacity (): number {\n return Number(this.isActive ? this.opacity : 0)\n },\n styles (): object {\n return {\n zIndex: this.zIndex,\n }\n },\n },\n\n methods: {\n genContent () {\n return this.$createElement('div', {\n staticClass: 'v-overlay__content',\n }, this.$slots.default)\n },\n },\n\n render (h): VNode {\n const children = [this.__scrim]\n\n if (this.isActive) children.push(this.genContent())\n\n return h('div', {\n staticClass: 'v-overlay',\n class: this.classes,\n style: this.styles,\n }, children)\n },\n})\n","// Styles\nimport './VImg.sass'\n\n// Directives\nimport intersect from '../../directives/intersect'\n\n// Types\nimport { VNode } from 'vue'\nimport { PropValidator } from 'vue/types/options'\n\n// Components\nimport VResponsive from '../VResponsive'\n\n// Mixins\nimport Themeable from '../../mixins/themeable'\n\n// Utils\nimport mixins from '../../util/mixins'\nimport mergeData from '../../util/mergeData'\nimport { consoleWarn } from '../../util/console'\n\n// not intended for public use, this is passed in by vuetify-loader\nexport interface srcObject {\n src: string\n srcset?: string\n lazySrc: string\n aspect: number\n}\n\nconst hasIntersect = typeof window !== 'undefined' && 'IntersectionObserver' in window\n\n/* @vue/component */\nexport default mixins(\n VResponsive,\n Themeable,\n).extend({\n name: 'v-img',\n\n directives: { intersect },\n\n props: {\n alt: String,\n contain: Boolean,\n eager: Boolean,\n gradient: String,\n lazySrc: String,\n options: {\n type: Object,\n // For more information on types, navigate to:\n // https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API\n default: () => ({\n root: undefined,\n rootMargin: undefined,\n threshold: undefined,\n }),\n } as PropValidator,\n position: {\n type: String,\n default: 'center center',\n },\n sizes: String,\n src: {\n type: [String, Object],\n default: '',\n } as PropValidator,\n srcset: String,\n transition: {\n type: [Boolean, String],\n default: 'fade-transition',\n },\n },\n\n data () {\n return {\n currentSrc: '', // Set from srcset\n image: null as HTMLImageElement | null,\n isLoading: true,\n calculatedAspectRatio: undefined as number | undefined,\n naturalWidth: undefined as number | undefined,\n hasError: false,\n }\n },\n\n computed: {\n computedAspectRatio (): number {\n return Number(this.normalisedSrc.aspect || this.calculatedAspectRatio)\n },\n normalisedSrc (): srcObject {\n return this.src && typeof this.src === 'object'\n ? {\n src: this.src.src,\n srcset: this.srcset || this.src.srcset,\n lazySrc: this.lazySrc || this.src.lazySrc,\n aspect: Number(this.aspectRatio || this.src.aspect),\n } : {\n src: this.src,\n srcset: this.srcset,\n lazySrc: this.lazySrc,\n aspect: Number(this.aspectRatio || 0),\n }\n },\n __cachedImage (): VNode | [] {\n if (!(this.normalisedSrc.src || this.normalisedSrc.lazySrc || this.gradient)) return []\n\n const backgroundImage: string[] = []\n const src = this.isLoading ? this.normalisedSrc.lazySrc : this.currentSrc\n\n if (this.gradient) backgroundImage.push(`linear-gradient(${this.gradient})`)\n if (src) backgroundImage.push(`url(\"${src}\")`)\n\n const image = this.$createElement('div', {\n staticClass: 'v-image__image',\n class: {\n 'v-image__image--preload': this.isLoading,\n 'v-image__image--contain': this.contain,\n 'v-image__image--cover': !this.contain,\n },\n style: {\n backgroundImage: backgroundImage.join(', '),\n backgroundPosition: this.position,\n },\n key: +this.isLoading,\n })\n\n /* istanbul ignore if */\n if (!this.transition) return image\n\n return this.$createElement('transition', {\n attrs: {\n name: this.transition,\n mode: 'in-out',\n },\n }, [image])\n },\n },\n\n watch: {\n src () {\n // Force re-init when src changes\n if (!this.isLoading) this.init(undefined, undefined, true)\n else this.loadImage()\n },\n '$vuetify.breakpoint.width': 'getSrc',\n },\n\n mounted () {\n this.init()\n },\n\n methods: {\n init (\n entries?: IntersectionObserverEntry[],\n observer?: IntersectionObserver,\n isIntersecting?: boolean\n ) {\n // If the current browser supports the intersection\n // observer api, the image is not observable, and\n // the eager prop isn't being used, do not load\n if (\n hasIntersect &&\n !isIntersecting &&\n !this.eager\n ) return\n\n if (this.normalisedSrc.lazySrc) {\n const lazyImg = new Image()\n lazyImg.src = this.normalisedSrc.lazySrc\n this.pollForSize(lazyImg, null)\n }\n /* istanbul ignore else */\n if (this.normalisedSrc.src) this.loadImage()\n },\n onLoad () {\n this.getSrc()\n this.isLoading = false\n this.$emit('load', this.src)\n\n if (\n this.image &&\n (this.normalisedSrc.src.endsWith('.svg') || this.normalisedSrc.src.startsWith('data:image/svg+xml'))\n ) {\n if (this.image.naturalHeight && this.image.naturalWidth) {\n this.naturalWidth = this.image.naturalWidth\n this.calculatedAspectRatio = this.image.naturalWidth / this.image.naturalHeight\n } else {\n this.calculatedAspectRatio = 1\n }\n }\n },\n onError () {\n this.hasError = true\n this.$emit('error', this.src)\n },\n getSrc () {\n /* istanbul ignore else */\n if (this.image) this.currentSrc = this.image.currentSrc || this.image.src\n },\n loadImage () {\n const image = new Image()\n this.image = image\n\n image.onload = () => {\n /* istanbul ignore if */\n if (image.decode) {\n image.decode().catch((err: DOMException) => {\n consoleWarn(\n `Failed to decode image, trying to render anyway\\n\\n` +\n `src: ${this.normalisedSrc.src}` +\n (err.message ? `\\nOriginal error: ${err.message}` : ''),\n this\n )\n }).then(this.onLoad)\n } else {\n this.onLoad()\n }\n }\n image.onerror = this.onError\n\n this.hasError = false\n this.sizes && (image.sizes = this.sizes)\n this.normalisedSrc.srcset && (image.srcset = this.normalisedSrc.srcset)\n image.src = this.normalisedSrc.src\n this.$emit('loadstart', this.normalisedSrc.src)\n\n this.aspectRatio || this.pollForSize(image)\n this.getSrc()\n },\n pollForSize (img: HTMLImageElement, timeout: number | null = 100) {\n const poll = () => {\n const { naturalHeight, naturalWidth } = img\n\n if (naturalHeight || naturalWidth) {\n this.naturalWidth = naturalWidth\n this.calculatedAspectRatio = naturalWidth / naturalHeight\n } else if (!img.complete && this.isLoading && !this.hasError && timeout != null) {\n setTimeout(poll, timeout)\n }\n }\n\n poll()\n },\n genContent () {\n const content: VNode = VResponsive.options.methods.genContent.call(this)\n if (this.naturalWidth) {\n this._b(content.data!, 'div', {\n style: { width: `${this.naturalWidth}px` },\n })\n }\n\n return content\n },\n __genPlaceholder (): VNode | void {\n if (this.$slots.placeholder) {\n const placeholder = this.isLoading\n ? [this.$createElement('div', {\n staticClass: 'v-image__placeholder',\n }, this.$slots.placeholder)]\n : []\n\n if (!this.transition) return placeholder[0]\n\n return this.$createElement('transition', {\n props: {\n appear: true,\n name: this.transition,\n },\n }, placeholder)\n }\n },\n },\n\n render (h): VNode {\n const node = VResponsive.options.render.call(this, h)\n\n const data = mergeData(node.data!, {\n staticClass: 'v-image',\n attrs: {\n 'aria-label': this.alt,\n role: this.alt ? 'img' : undefined,\n },\n class: this.themeClasses,\n // Only load intersect directive if it\n // will work in the current browser.\n directives: hasIntersect\n ? [{\n name: 'intersect',\n modifiers: { once: true },\n value: {\n handler: this.init,\n options: this.options,\n },\n }]\n : undefined,\n })\n\n node.children = [\n this.__cachedSizer,\n this.__cachedImage,\n this.__genPlaceholder(),\n this.genContent(),\n ] as VNode[]\n\n return h(node.tag, data, node.children)\n },\n})\n","// Mixins\nimport Measurable from '../../mixins/measurable'\nimport Toggleable from '../../mixins/toggleable'\n\n// Directives\nimport intersect from '../../directives/intersect'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { getSlot } from '../../util/helpers'\n\n// Types\nimport { VNode } from 'vue'\nimport { PropValidator } from 'vue/types/options'\n\nexport default mixins(\n Measurable,\n Toggleable\n).extend({\n name: 'VLazy',\n\n directives: { intersect },\n\n props: {\n options: {\n type: Object,\n // For more information on types, navigate to:\n // https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API\n default: () => ({\n root: undefined,\n rootMargin: undefined,\n threshold: undefined,\n }),\n } as PropValidator,\n tag: {\n type: String,\n default: 'div',\n },\n transition: {\n type: String,\n default: 'fade-transition',\n },\n },\n\n computed: {\n styles (): object {\n return {\n ...this.measurableStyles,\n }\n },\n },\n\n methods: {\n genContent () {\n const children = this.isActive && getSlot(this)\n\n return this.transition\n ? this.$createElement('transition', {\n props: { name: this.transition },\n }, children)\n : children\n },\n onObserve (\n entries: IntersectionObserverEntry[],\n observer: IntersectionObserver,\n isIntersecting: boolean,\n ) {\n if (this.isActive) return\n\n this.isActive = isIntersecting\n },\n },\n\n render (h): VNode {\n return h(this.tag, {\n staticClass: 'v-lazy',\n attrs: this.$attrs,\n directives: [{\n name: 'intersect',\n value: {\n handler: this.onObserve,\n options: this.options,\n },\n }],\n on: this.$listeners,\n style: this.styles,\n }, [this.genContent()])\n },\n})\n","// Styles\nimport './VLabel.sass'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Themeable, { functionalThemeClasses } from '../../mixins/themeable'\n\n// Types\nimport { VNode } from 'vue'\nimport mixins from '../../util/mixins'\n\n// Helpers\nimport { convertToUnit } from '../../util/helpers'\n\n/* @vue/component */\nexport default mixins(Themeable).extend({\n name: 'v-label',\n\n functional: true,\n\n props: {\n absolute: Boolean,\n color: {\n type: String,\n default: 'primary',\n },\n disabled: Boolean,\n focused: Boolean,\n for: String,\n left: {\n type: [Number, String],\n default: 0,\n },\n right: {\n type: [Number, String],\n default: 'auto',\n },\n value: Boolean,\n },\n\n render (h, ctx): VNode {\n const { children, listeners, props } = ctx\n const data = {\n staticClass: 'v-label',\n class: {\n 'v-label--active': props.value,\n 'v-label--is-disabled': props.disabled,\n ...functionalThemeClasses(ctx),\n },\n attrs: {\n for: props.for,\n 'aria-hidden': !props.for,\n },\n on: listeners,\n style: {\n left: convertToUnit(props.left),\n right: convertToUnit(props.right),\n position: props.absolute ? 'absolute' : 'relative',\n },\n ref: 'label',\n }\n\n return h('label', Colorable.options.methods.setTextColor(props.focused && props.color, data), children)\n },\n})\n","import VLabel from './VLabel'\n\nexport { VLabel }\nexport default VLabel\n","// Styles\nimport './VInput.sass'\n\n// Components\nimport VIcon from '../VIcon'\nimport VLabel from '../VLabel'\nimport VMessages from '../VMessages'\n\n// Mixins\nimport BindsAttrs from '../../mixins/binds-attrs'\nimport Validatable from '../../mixins/validatable'\n\n// Utilities\nimport {\n convertToUnit,\n getSlot,\n kebabCase,\n} from '../../util/helpers'\nimport mergeData from '../../util/mergeData'\n\n// Types\nimport { VNode, VNodeData, PropType } from 'vue'\nimport mixins from '../../util/mixins'\nimport { InputValidationRule } from 'vuetify/types'\n\nconst baseMixins = mixins(\n BindsAttrs,\n Validatable,\n)\n\ninterface options extends InstanceType {\n /* eslint-disable-next-line camelcase */\n $_modelEvent: string\n}\n\n/* @vue/component */\nexport default baseMixins.extend().extend({\n name: 'v-input',\n\n inheritAttrs: false,\n\n props: {\n appendIcon: String,\n backgroundColor: {\n type: String,\n default: '',\n },\n dense: Boolean,\n height: [Number, String],\n hideDetails: [Boolean, String] as PropType,\n hint: String,\n id: String,\n label: String,\n loading: Boolean,\n persistentHint: Boolean,\n prependIcon: String,\n value: null as any as PropType,\n },\n\n data () {\n return {\n lazyValue: this.value,\n hasMouseDown: false,\n }\n },\n\n computed: {\n classes (): object {\n return {\n 'v-input--has-state': this.hasState,\n 'v-input--hide-details': !this.showDetails,\n 'v-input--is-label-active': this.isLabelActive,\n 'v-input--is-dirty': this.isDirty,\n 'v-input--is-disabled': this.isDisabled,\n 'v-input--is-focused': this.isFocused,\n // .loading === '' so we can't just cast to boolean\n 'v-input--is-loading': this.loading !== false && this.loading != null,\n 'v-input--is-readonly': this.isReadonly,\n 'v-input--dense': this.dense,\n ...this.themeClasses,\n }\n },\n computedId (): string {\n return this.id || `input-${this._uid}`\n },\n hasDetails (): boolean {\n return this.messagesToDisplay.length > 0\n },\n hasHint (): boolean {\n return !this.hasMessages &&\n !!this.hint &&\n (this.persistentHint || this.isFocused)\n },\n hasLabel (): boolean {\n return !!(this.$slots.label || this.label)\n },\n // Proxy for `lazyValue`\n // This allows an input\n // to function without\n // a provided model\n internalValue: {\n get (): any {\n return this.lazyValue\n },\n set (val: any) {\n this.lazyValue = val\n this.$emit(this.$_modelEvent, val)\n },\n },\n isDirty (): boolean {\n return !!this.lazyValue\n },\n isLabelActive (): boolean {\n return this.isDirty\n },\n messagesToDisplay (): string[] {\n if (this.hasHint) return [this.hint]\n\n if (!this.hasMessages) return []\n\n return this.validations.map((validation: string | InputValidationRule) => {\n if (typeof validation === 'string') return validation\n\n const validationResult = validation(this.internalValue)\n\n return typeof validationResult === 'string' ? validationResult : ''\n }).filter(message => message !== '')\n },\n showDetails (): boolean {\n return this.hideDetails === false || (this.hideDetails === 'auto' && this.hasDetails)\n },\n },\n\n watch: {\n value (val) {\n this.lazyValue = val\n },\n },\n\n beforeCreate () {\n // v-radio-group needs to emit a different event\n // https://github.com/vuetifyjs/vuetify/issues/4752\n this.$_modelEvent = (this.$options.model && this.$options.model.event) || 'input'\n },\n\n methods: {\n genContent () {\n return [\n this.genPrependSlot(),\n this.genControl(),\n this.genAppendSlot(),\n ]\n },\n genControl () {\n return this.$createElement('div', {\n staticClass: 'v-input__control',\n attrs: { title: this.attrs$.title },\n }, [\n this.genInputSlot(),\n this.genMessages(),\n ])\n },\n genDefaultSlot () {\n return [\n this.genLabel(),\n this.$slots.default,\n ]\n },\n genIcon (\n type: string,\n cb?: (e: Event) => void,\n extraData: VNodeData = {}\n ) {\n const icon = (this as any)[`${type}Icon`]\n const eventName = `click:${kebabCase(type)}`\n const hasListener = !!(this.listeners$[eventName] || cb)\n\n const data = mergeData({\n attrs: {\n 'aria-label': hasListener ? kebabCase(type).split('-')[0] + ' icon' : undefined,\n color: this.validationState,\n dark: this.dark,\n disabled: this.isDisabled,\n light: this.light,\n },\n on: !hasListener\n ? undefined\n : {\n click: (e: Event) => {\n e.preventDefault()\n e.stopPropagation()\n\n this.$emit(eventName, e)\n cb && cb(e)\n },\n // Container has g event that will\n // trigger menu open if enclosed\n mouseup: (e: Event) => {\n e.preventDefault()\n e.stopPropagation()\n },\n },\n }, extraData)\n\n return this.$createElement('div', {\n staticClass: `v-input__icon`,\n class: type ? `v-input__icon--${kebabCase(type)}` : undefined,\n }, [\n this.$createElement(\n VIcon,\n data,\n icon\n ),\n ])\n },\n genInputSlot () {\n return this.$createElement('div', this.setBackgroundColor(this.backgroundColor, {\n staticClass: 'v-input__slot',\n style: { height: convertToUnit(this.height) },\n on: {\n click: this.onClick,\n mousedown: this.onMouseDown,\n mouseup: this.onMouseUp,\n },\n ref: 'input-slot',\n }), [this.genDefaultSlot()])\n },\n genLabel () {\n if (!this.hasLabel) return null\n\n return this.$createElement(VLabel, {\n props: {\n color: this.validationState,\n dark: this.dark,\n disabled: this.isDisabled,\n focused: this.hasState,\n for: this.computedId,\n light: this.light,\n },\n }, this.$slots.label || this.label)\n },\n genMessages () {\n if (!this.showDetails) return null\n\n return this.$createElement(VMessages, {\n props: {\n color: this.hasHint ? '' : this.validationState,\n dark: this.dark,\n light: this.light,\n value: this.messagesToDisplay,\n },\n attrs: {\n role: this.hasMessages ? 'alert' : null,\n },\n scopedSlots: {\n default: props => getSlot(this, 'message', props),\n },\n })\n },\n genSlot (\n type: string,\n location: string,\n slot: (VNode | VNode[])[]\n ) {\n if (!slot.length) return null\n\n const ref = `${type}-${location}`\n\n return this.$createElement('div', {\n staticClass: `v-input__${ref}`,\n ref,\n }, slot)\n },\n genPrependSlot () {\n const slot = []\n\n if (this.$slots.prepend) {\n slot.push(this.$slots.prepend)\n } else if (this.prependIcon) {\n slot.push(this.genIcon('prepend'))\n }\n\n return this.genSlot('prepend', 'outer', slot)\n },\n genAppendSlot () {\n const slot = []\n\n // Append icon for text field was really\n // an appended inner icon, v-text-field\n // will overwrite this method in order to obtain\n // backwards compat\n if (this.$slots.append) {\n slot.push(this.$slots.append)\n } else if (this.appendIcon) {\n slot.push(this.genIcon('append'))\n }\n\n return this.genSlot('append', 'outer', slot)\n },\n onClick (e: Event) {\n this.$emit('click', e)\n },\n onMouseDown (e: Event) {\n this.hasMouseDown = true\n this.$emit('mousedown', e)\n },\n onMouseUp (e: Event) {\n this.hasMouseDown = false\n this.$emit('mouseup', e)\n },\n },\n\n render (h): VNode {\n return h('div', this.setTextColor(this.validationState, {\n staticClass: 'v-input',\n class: this.classes,\n }), this.genContent())\n },\n})\n","import VInput from './VInput'\n\nexport { VInput }\nexport default VInput\n","// Mixins\nimport { factory as GroupableFactory } from '../../mixins/groupable'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { consoleWarn } from '../../util/console'\n\n// Types\nimport Vue from 'vue'\nimport { VNode, ScopedSlotChildren } from 'vue/types/vnode'\n\n/* @vue/component */\nexport const BaseItem = Vue.extend({\n props: {\n activeClass: String,\n value: {\n required: false,\n },\n },\n\n data: () => ({\n isActive: false,\n }),\n\n methods: {\n toggle () {\n this.isActive = !this.isActive\n },\n },\n\n render (): VNode {\n if (!this.$scopedSlots.default) {\n consoleWarn('v-item is missing a default scopedSlot', this)\n\n return null as any\n }\n\n let element: VNode | ScopedSlotChildren\n\n /* istanbul ignore else */\n if (this.$scopedSlots.default) {\n element = this.$scopedSlots.default({\n active: this.isActive,\n toggle: this.toggle,\n })\n }\n\n if (Array.isArray(element) && element.length === 1) {\n element = element[0]\n }\n\n if (!element || Array.isArray(element) || !element.tag) {\n consoleWarn('v-item should only contain a single element', this)\n\n return element as any\n }\n\n element.data = this._b(element.data || {}, element.tag!, {\n class: { [this.activeClass]: this.isActive },\n })\n\n return element\n },\n})\n\nexport default mixins(\n BaseItem,\n GroupableFactory('itemGroup', 'v-item', 'v-item-group')\n).extend({\n name: 'v-item',\n})\n","// Styles\nimport './VListItem.sass'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Routable from '../../mixins/routable'\nimport { factory as GroupableFactory } from '../../mixins/groupable'\nimport Themeable from '../../mixins/themeable'\nimport { factory as ToggleableFactory } from '../../mixins/toggleable'\n\n// Directives\nimport Ripple from '../../directives/ripple'\n\n// Utilities\nimport { keyCodes } from './../../util/helpers'\nimport { ExtractVue } from './../../util/mixins'\nimport { removed } from '../../util/console'\n\n// Types\nimport mixins from '../../util/mixins'\nimport { VNode } from 'vue'\nimport { PropType, PropValidator } from 'vue/types/options'\n\nconst baseMixins = mixins(\n Colorable,\n Routable,\n Themeable,\n GroupableFactory('listItemGroup'),\n ToggleableFactory('inputValue')\n)\n\ninterface options extends ExtractVue {\n $el: HTMLElement\n isInGroup: boolean\n isInList: boolean\n isInMenu: boolean\n isInNav: boolean\n}\n\n/* @vue/component */\nexport default baseMixins.extend().extend({\n name: 'v-list-item',\n\n directives: {\n Ripple,\n },\n\n inject: {\n isInGroup: {\n default: false,\n },\n isInList: {\n default: false,\n },\n isInMenu: {\n default: false,\n },\n isInNav: {\n default: false,\n },\n },\n\n inheritAttrs: false,\n\n props: {\n activeClass: {\n type: String,\n default (): string | undefined {\n if (!this.listItemGroup) return ''\n\n return this.listItemGroup.activeClass\n },\n } as any as PropValidator,\n dense: Boolean,\n inactive: Boolean,\n link: Boolean,\n selectable: {\n type: Boolean,\n },\n tag: {\n type: String,\n default: 'div',\n },\n threeLine: Boolean,\n twoLine: Boolean,\n value: null as any as PropType,\n },\n\n data: () => ({\n proxyClass: 'v-list-item--active',\n }),\n\n computed: {\n classes (): object {\n return {\n 'v-list-item': true,\n ...Routable.options.computed.classes.call(this),\n 'v-list-item--dense': this.dense,\n 'v-list-item--disabled': this.disabled,\n 'v-list-item--link': this.isClickable && !this.inactive,\n 'v-list-item--selectable': this.selectable,\n 'v-list-item--three-line': this.threeLine,\n 'v-list-item--two-line': this.twoLine,\n ...this.themeClasses,\n }\n },\n isClickable (): boolean {\n return Boolean(\n Routable.options.computed.isClickable.call(this) ||\n this.listItemGroup\n )\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('avatar')) {\n removed('avatar', this)\n }\n },\n\n methods: {\n click (e: MouseEvent | KeyboardEvent) {\n if (e.detail) this.$el.blur()\n\n this.$emit('click', e)\n\n this.to || this.toggle()\n },\n genAttrs () {\n const attrs: Record = {\n 'aria-disabled': this.disabled ? true : undefined,\n tabindex: this.isClickable && !this.disabled ? 0 : -1,\n ...this.$attrs,\n }\n\n if (this.$attrs.hasOwnProperty('role')) {\n // do nothing, role already provided\n } else if (this.isInNav) {\n // do nothing, role is inherit\n } else if (this.isInGroup) {\n attrs.role = 'option'\n attrs['aria-selected'] = String(this.isActive)\n } else if (this.isInMenu) {\n attrs.role = this.isClickable ? 'menuitem' : undefined\n attrs.id = attrs.id || `list-item-${this._uid}`\n } else if (this.isInList) {\n attrs.role = 'listitem'\n }\n\n return attrs\n },\n },\n\n render (h): VNode {\n let { tag, data } = this.generateRouteLink()\n\n data.attrs = {\n ...data.attrs,\n ...this.genAttrs(),\n }\n data[this.to ? 'nativeOn' : 'on'] = {\n ...data[this.to ? 'nativeOn' : 'on'],\n keydown: (e: KeyboardEvent) => {\n /* istanbul ignore else */\n if (e.keyCode === keyCodes.enter) this.click(e)\n\n this.$emit('keydown', e)\n },\n }\n\n if (this.inactive) tag = 'div'\n if (this.inactive && this.to) {\n data.on = data.nativeOn\n delete data.nativeOn\n }\n\n const children = this.$scopedSlots.default\n ? this.$scopedSlots.default({\n active: this.isActive,\n toggle: this.toggle,\n })\n : this.$slots.default\n\n return h(tag, this.setTextColor(this.color, data), children)\n },\n})\n","// Styles\nimport './VMessages.sass'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Themeable from '../../mixins/themeable'\n\n// Types\nimport { VNode } from 'vue'\nimport { PropValidator } from 'vue/types/options'\nimport mixins from '../../util/mixins'\n\n// Utilities\nimport { getSlot } from '../../util/helpers'\n\n/* @vue/component */\nexport default mixins(Colorable, Themeable).extend({\n name: 'v-messages',\n\n props: {\n value: {\n type: Array,\n default: () => ([]),\n } as PropValidator,\n },\n\n methods: {\n genChildren () {\n return this.$createElement('transition-group', {\n staticClass: 'v-messages__wrapper',\n attrs: {\n name: 'message-transition',\n tag: 'div',\n },\n }, this.value.map(this.genMessage))\n },\n genMessage (message: string, key: number) {\n return this.$createElement('div', {\n staticClass: 'v-messages__message',\n key,\n }, getSlot(this, 'default', { message, key }) || [message])\n },\n },\n\n render (h): VNode {\n return h('div', this.setTextColor(this.color, {\n staticClass: 'v-messages',\n class: this.themeClasses,\n }), [this.genChildren()])\n },\n})\n","import VMessages from './VMessages'\n\nexport { VMessages }\nexport default VMessages\n","import VMain from './VMain'\n\nexport { VMain }\n\nexport default VMain\n","// Styles\nimport './VMain.sass'\n\n// Mixins\nimport SSRBootable from '../../mixins/ssr-bootable'\n\n// Types\nimport { VNode } from 'vue'\n\n/* @vue/component */\nexport default SSRBootable.extend({\n name: 'v-main',\n\n props: {\n tag: {\n type: String,\n default: 'main',\n },\n },\n\n computed: {\n styles (): object {\n const {\n bar, top, right, footer, insetFooter, bottom, left,\n } = this.$vuetify.application\n\n return {\n paddingTop: `${top + bar}px`,\n paddingRight: `${right}px`,\n paddingBottom: `${footer + insetFooter + bottom}px`,\n paddingLeft: `${left}px`,\n }\n },\n },\n\n render (h): VNode {\n const data = {\n staticClass: 'v-main',\n style: this.styles,\n ref: 'main',\n }\n\n return h(this.tag, data, [\n h(\n 'div',\n { staticClass: 'v-main__wrap' },\n this.$slots.default\n ),\n ])\n },\n})\n","// Styles\nimport './VNavigationDrawer.sass'\n\n// Components\nimport VImg, { srcObject } from '../VImg/VImg'\n\n// Mixins\nimport Applicationable from '../../mixins/applicationable'\nimport Colorable from '../../mixins/colorable'\nimport Dependent from '../../mixins/dependent'\nimport Mobile from '../../mixins/mobile'\nimport Overlayable from '../../mixins/overlayable'\nimport SSRBootable from '../../mixins/ssr-bootable'\nimport Themeable from '../../mixins/themeable'\n\n// Directives\nimport ClickOutside from '../../directives/click-outside'\nimport Resize from '../../directives/resize'\nimport Touch from '../../directives/touch'\n\n// Utilities\nimport { convertToUnit, getSlot } from '../../util/helpers'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode, VNodeDirective, PropType } from 'vue'\nimport { TouchWrapper } from 'vuetify/types'\n\nconst baseMixins = mixins(\n Applicationable('left', [\n 'isActive',\n 'isMobile',\n 'miniVariant',\n 'expandOnHover',\n 'permanent',\n 'right',\n 'temporary',\n 'width',\n ]),\n Colorable,\n Dependent,\n Mobile,\n Overlayable,\n SSRBootable,\n Themeable\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-navigation-drawer',\n\n directives: {\n ClickOutside,\n Resize,\n Touch,\n },\n\n provide (): object {\n return {\n isInNav: this.tag === 'nav',\n }\n },\n\n props: {\n bottom: Boolean,\n clipped: Boolean,\n disableResizeWatcher: Boolean,\n disableRouteWatcher: Boolean,\n expandOnHover: Boolean,\n floating: Boolean,\n height: {\n type: [Number, String],\n default (): string {\n return this.app ? '100vh' : '100%'\n },\n },\n miniVariant: Boolean,\n miniVariantWidth: {\n type: [Number, String],\n default: 56,\n },\n permanent: Boolean,\n right: Boolean,\n src: {\n type: [String, Object] as PropType,\n default: '',\n },\n stateless: Boolean,\n tag: {\n type: String,\n default (): string {\n return this.app ? 'nav' : 'aside'\n },\n },\n temporary: Boolean,\n touchless: Boolean,\n width: {\n type: [Number, String],\n default: 256,\n },\n value: null as unknown as PropType,\n },\n\n data: () => ({\n isMouseover: false,\n touchArea: {\n left: 0,\n right: 0,\n },\n stackMinZIndex: 6,\n }),\n\n computed: {\n /**\n * Used for setting an app value from a dynamic\n * property. Called from applicationable.js\n */\n applicationProperty (): string {\n return this.right ? 'right' : 'left'\n },\n classes (): object {\n return {\n 'v-navigation-drawer': true,\n 'v-navigation-drawer--absolute': this.absolute,\n 'v-navigation-drawer--bottom': this.bottom,\n 'v-navigation-drawer--clipped': this.clipped,\n 'v-navigation-drawer--close': !this.isActive,\n 'v-navigation-drawer--fixed': !this.absolute && (this.app || this.fixed),\n 'v-navigation-drawer--floating': this.floating,\n 'v-navigation-drawer--is-mobile': this.isMobile,\n 'v-navigation-drawer--is-mouseover': this.isMouseover,\n 'v-navigation-drawer--mini-variant': this.isMiniVariant,\n 'v-navigation-drawer--custom-mini-variant': Number(this.miniVariantWidth) !== 56,\n 'v-navigation-drawer--open': this.isActive,\n 'v-navigation-drawer--open-on-hover': this.expandOnHover,\n 'v-navigation-drawer--right': this.right,\n 'v-navigation-drawer--temporary': this.temporary,\n ...this.themeClasses,\n }\n },\n computedMaxHeight (): number | null {\n if (!this.hasApp) return null\n\n const computedMaxHeight = (\n this.$vuetify.application.bottom +\n this.$vuetify.application.footer +\n this.$vuetify.application.bar\n )\n\n if (!this.clipped) return computedMaxHeight\n\n return computedMaxHeight + this.$vuetify.application.top\n },\n computedTop (): number {\n if (!this.hasApp) return 0\n\n let computedTop = this.$vuetify.application.bar\n\n computedTop += this.clipped\n ? this.$vuetify.application.top\n : 0\n\n return computedTop\n },\n computedTransform (): number {\n if (this.isActive) return 0\n if (this.isBottom) return 100\n return this.right ? 100 : -100\n },\n computedWidth (): string | number {\n return this.isMiniVariant ? this.miniVariantWidth : this.width\n },\n hasApp (): boolean {\n return (\n this.app &&\n (!this.isMobile && !this.temporary)\n )\n },\n isBottom (): boolean {\n return this.bottom && this.isMobile\n },\n isMiniVariant (): boolean {\n return (\n !this.expandOnHover &&\n this.miniVariant\n ) || (\n this.expandOnHover &&\n !this.isMouseover\n )\n },\n isMobile (): boolean {\n return (\n !this.stateless &&\n !this.permanent &&\n Mobile.options.computed.isMobile.call(this)\n )\n },\n reactsToClick (): boolean {\n return (\n !this.stateless &&\n !this.permanent &&\n (this.isMobile || this.temporary)\n )\n },\n reactsToMobile (): boolean {\n return (\n this.app &&\n !this.disableResizeWatcher &&\n !this.permanent &&\n !this.stateless &&\n !this.temporary\n )\n },\n reactsToResize (): boolean {\n return !this.disableResizeWatcher && !this.stateless\n },\n reactsToRoute (): boolean {\n return (\n !this.disableRouteWatcher &&\n !this.stateless &&\n (this.temporary || this.isMobile)\n )\n },\n showOverlay (): boolean {\n return (\n !this.hideOverlay &&\n this.isActive &&\n (this.isMobile || this.temporary)\n )\n },\n styles (): object {\n const translate = this.isBottom ? 'translateY' : 'translateX'\n return {\n height: convertToUnit(this.height),\n top: !this.isBottom ? convertToUnit(this.computedTop) : 'auto',\n maxHeight: this.computedMaxHeight != null\n ? `calc(100% - ${convertToUnit(this.computedMaxHeight)})`\n : undefined,\n transform: `${translate}(${convertToUnit(this.computedTransform, '%')})`,\n width: convertToUnit(this.computedWidth),\n }\n },\n },\n\n watch: {\n $route: 'onRouteChange',\n isActive (val) {\n this.$emit('input', val)\n },\n /**\n * When mobile changes, adjust the active state\n * only when there has been a previous value\n */\n isMobile (val, prev) {\n !val &&\n this.isActive &&\n !this.temporary &&\n this.removeOverlay()\n\n if (prev == null ||\n !this.reactsToResize ||\n !this.reactsToMobile\n ) return\n\n this.isActive = !val\n },\n permanent (val) {\n // If enabling prop enable the drawer\n if (val) this.isActive = true\n },\n showOverlay (val) {\n if (val) this.genOverlay()\n else this.removeOverlay()\n },\n value (val) {\n if (this.permanent) return\n\n if (val == null) {\n this.init()\n return\n }\n\n if (val !== this.isActive) this.isActive = val\n },\n expandOnHover: 'updateMiniVariant',\n isMouseover (val) {\n this.updateMiniVariant(!val)\n },\n },\n\n beforeMount () {\n this.init()\n },\n\n methods: {\n calculateTouchArea () {\n const parent = this.$el.parentNode as Element\n\n if (!parent) return\n\n const parentRect = parent.getBoundingClientRect()\n\n this.touchArea = {\n left: parentRect.left + 50,\n right: parentRect.right - 50,\n }\n },\n closeConditional () {\n return this.isActive && !this._isDestroyed && this.reactsToClick\n },\n genAppend () {\n return this.genPosition('append')\n },\n genBackground () {\n const props = {\n height: '100%',\n width: '100%',\n src: this.src,\n }\n\n const image = this.$scopedSlots.img\n ? this.$scopedSlots.img(props)\n : this.$createElement(VImg, { props })\n\n return this.$createElement('div', {\n staticClass: 'v-navigation-drawer__image',\n }, [image])\n },\n genDirectives (): VNodeDirective[] {\n const directives = [{\n name: 'click-outside',\n value: {\n handler: () => { this.isActive = false },\n closeConditional: this.closeConditional,\n include: this.getOpenDependentElements,\n },\n }]\n\n if (!this.touchless && !this.stateless) {\n directives.push({\n name: 'touch',\n value: {\n parent: true,\n left: this.swipeLeft,\n right: this.swipeRight,\n },\n } as any)\n }\n\n return directives\n },\n genListeners () {\n const on: Record void> = {\n transitionend: (e: Event) => {\n if (e.target !== e.currentTarget) return\n this.$emit('transitionend', e)\n\n // IE11 does not support new Event('resize')\n const resizeEvent = document.createEvent('UIEvents')\n resizeEvent.initUIEvent('resize', true, false, window, 0)\n window.dispatchEvent(resizeEvent)\n },\n }\n\n if (this.miniVariant) {\n on.click = () => this.$emit('update:mini-variant', false)\n }\n\n if (this.expandOnHover) {\n on.mouseenter = () => (this.isMouseover = true)\n on.mouseleave = () => (this.isMouseover = false)\n }\n\n return on\n },\n genPosition (name: 'prepend' | 'append') {\n const slot = getSlot(this, name)\n\n if (!slot) return slot\n\n return this.$createElement('div', {\n staticClass: `v-navigation-drawer__${name}`,\n }, slot)\n },\n genPrepend () {\n return this.genPosition('prepend')\n },\n genContent () {\n return this.$createElement('div', {\n staticClass: 'v-navigation-drawer__content',\n }, this.$slots.default)\n },\n genBorder () {\n return this.$createElement('div', {\n staticClass: 'v-navigation-drawer__border',\n })\n },\n init () {\n if (this.permanent) {\n this.isActive = true\n } else if (this.stateless ||\n this.value != null\n ) {\n this.isActive = this.value\n } else if (!this.temporary) {\n this.isActive = !this.isMobile\n }\n },\n onRouteChange () {\n if (this.reactsToRoute && this.closeConditional()) {\n this.isActive = false\n }\n },\n swipeLeft (e: TouchWrapper) {\n if (this.isActive && this.right) return\n this.calculateTouchArea()\n\n if (Math.abs(e.touchendX - e.touchstartX) < 100) return\n if (this.right &&\n e.touchstartX >= this.touchArea.right\n ) this.isActive = true\n else if (!this.right && this.isActive) this.isActive = false\n },\n swipeRight (e: TouchWrapper) {\n if (this.isActive && !this.right) return\n this.calculateTouchArea()\n\n if (Math.abs(e.touchendX - e.touchstartX) < 100) return\n if (!this.right &&\n e.touchstartX <= this.touchArea.left\n ) this.isActive = true\n else if (this.right && this.isActive) this.isActive = false\n },\n /**\n * Update the application layout\n */\n updateApplication () {\n if (\n !this.isActive ||\n this.isMobile ||\n this.temporary ||\n !this.$el\n ) return 0\n\n const width = Number(this.computedWidth)\n\n return isNaN(width) ? this.$el.clientWidth : width\n },\n updateMiniVariant (val: boolean) {\n if (this.miniVariant !== val) this.$emit('update:mini-variant', val)\n },\n },\n\n render (h): VNode {\n const children = [\n this.genPrepend(),\n this.genContent(),\n this.genAppend(),\n this.genBorder(),\n ]\n\n if (this.src || getSlot(this, 'img')) children.unshift(this.genBackground())\n\n return h(this.tag, this.setBackgroundColor(this.color, {\n class: this.classes,\n style: this.styles,\n directives: this.genDirectives(),\n on: this.genListeners(),\n }), children)\n },\n})\n"],"sourceRoot":""}