{"version":3,"file":"static/js/5850.98048f99.chunk.js","mappings":";mGAOO,SAASA,EAAqBC,EAAQC,EAAc,IACzD,QAAeC,IAAXF,EACF,MAAO,CAAC,EAEV,MAAMG,EAAS,CAAC,EAIhB,OAHAC,OAAOC,KAAKL,GAAQM,QAAOC,GAAQA,EAAKC,MAAM,aAAuC,mBAAjBR,EAAOO,KAAyBN,EAAYQ,SAASF,KAAOG,SAAQH,IACtIJ,EAAOI,GAAQP,EAAOO,EAAK,IAEtBJ,CACT,mCCbO,SAASQ,EAAgBC,GAC9B,MAA0B,iBAAZA,CAChB,0HCEO,SAASC,EAAkBb,GAChC,QAAeE,IAAXF,EACF,MAAO,CAAC,EAEV,MAAMG,EAAS,CAAC,EAIhB,OAHAC,OAAOC,KAAKL,GAAQM,QAAOC,KAAUA,EAAKC,MAAM,aAAuC,mBAAjBR,EAAOO,MAAuBG,SAAQH,IAC1GJ,EAAOI,GAAQP,EAAOO,EAAK,IAEtBJ,CACT,CCZA,MAAMW,EAAY,CAAC,cAAe,oBAAqB,aAAc,0BAa9D,SAASC,EAAaC,GAC3B,IAAIC,EACJ,MAAM,YACFC,EAAW,kBACXC,EAAiB,WACjBC,EAAU,uBACVC,GAAyB,GACvBL,EACJM,GAAO,OAA8BN,EAAYF,GAC7CS,EAA0BF,EAAyB,CAAC,ECtBrD,SAA+BG,EAAgBJ,EAAYK,GAChE,MAA8B,mBAAnBD,EACFA,EAAeJ,ODoBsCM,GClBvDF,CACT,CDiBgEE,CAAsBP,EAAmBC,IAErGO,MAAOC,EAAW,YAClBC,GEZG,SAAwBb,GAC7B,MAAM,aACJc,EAAY,gBACZC,EAAe,kBACfZ,EAAiB,uBACjBa,EAAsB,UACtBC,GACEjB,EACJ,IAAKc,EAAc,CAGjB,MAAMI,GAAgB,EAAAC,EAAA,GAAwB,MAAnBJ,OAA0B,EAASA,EAAgBE,UAAWA,EAAqC,MAA1BD,OAAiC,EAASA,EAAuBC,UAAgC,MAArBd,OAA4B,EAASA,EAAkBc,WACjOG,GAAc,OAAS,CAAC,EAAsB,MAAnBL,OAA0B,EAASA,EAAgBM,MAAiC,MAA1BL,OAAiC,EAASA,EAAuBK,MAA4B,MAArBlB,OAA4B,EAASA,EAAkBkB,OACpNV,GAAQ,OAAS,CAAC,EAAGI,EAAiBC,EAAwBb,GAOpE,OANIe,EAAcI,OAAS,IACzBX,EAAMM,UAAYC,GAEhB9B,OAAOC,KAAK+B,GAAaE,OAAS,IACpCX,EAAMU,MAAQD,GAET,CACLT,QACAE,iBAAa3B,EAEjB,CAKA,MAAMqC,GAAgB,EAAAxC,EAAA,IAAqB,OAAS,CAAC,EAAGiC,EAAwBb,IAC1EqB,EAAsC3B,EAAkBM,GACxDsB,EAAiC5B,EAAkBmB,GACnDU,EAAoBZ,EAAaS,GAMjCL,GAAgB,EAAAC,EAAA,GAA0B,MAArBO,OAA4B,EAASA,EAAkBT,UAA8B,MAAnBF,OAA0B,EAASA,EAAgBE,UAAWA,EAAqC,MAA1BD,OAAiC,EAASA,EAAuBC,UAAgC,MAArBd,OAA4B,EAASA,EAAkBc,WACnSG,GAAc,OAAS,CAAC,EAAwB,MAArBM,OAA4B,EAASA,EAAkBL,MAA0B,MAAnBN,OAA0B,EAASA,EAAgBM,MAAiC,MAA1BL,OAAiC,EAASA,EAAuBK,MAA4B,MAArBlB,OAA4B,EAASA,EAAkBkB,OAClRV,GAAQ,OAAS,CAAC,EAAGe,EAAmBX,EAAiBU,EAAgCD,GAO/F,OANIN,EAAcI,OAAS,IACzBX,EAAMM,UAAYC,GAEhB9B,OAAOC,KAAK+B,GAAaE,OAAS,IACpCX,EAAMU,MAAQD,GAET,CACLT,QACAE,YAAaa,EAAkBC,IAEnC,CFtCMC,EAAe,OAAS,CAAC,EAAGtB,EAAM,CACpCH,kBAAmBI,KAEfoB,GAAM,EAAAE,EAAA,GAAWhB,EAAwC,MAA3BN,OAAkC,EAASA,EAAwBoB,IAA6D,OAAvD1B,EAAwBD,EAAWe,sBAA2B,EAASd,EAAsB0B,KACpMhB,EGlBD,SAA0BT,EAAa4B,EAAY1B,GACxD,YAAoBlB,IAAhBgB,IAA6B,EAAAP,EAAA,GAAgBO,GACxC4B,GAEF,OAAS,CAAC,EAAGA,EAAY,CAC9B1B,YAAY,OAAS,CAAC,EAAG0B,EAAW1B,WAAYA,IAEpD,CHWgB2B,CAAiB7B,GAAa,OAAS,CAAC,EAAGU,EAAa,CACpEe,QACEvB,GACJ,OAAOO,CACT,0KIpCO,SAASqB,EAAwBC,GACtC,OAAO,EAAAC,EAAA,IAAqB,cAAeD,EAC7C,EACwB,EAAAE,EAAA,GAAuB,cAAe,CAAC,OAAQ,6BCDvE,MAAMrC,EAAY,CAAC,WAAY,YAAa,YAAa,aAAc,kBAAmB,YAAa,OAAQ,YAAa,QAAS,sBAAuB,sBAoBtJsC,GAAe,EAAAC,EAAA,IAAO,MAAO,CACjCC,KAAM,cACNL,KAAM,OACNM,kBAAmB,CAAC5B,EAAO6B,KACzB,MAAM,WACJpC,GACEO,EACJ,MAAO,CAAC6B,EAAOC,KAAMrC,EAAWsC,WAAaF,EAAOE,UAAU,GAP7C,EASlB,EACDtC,iBACI,OAAS,CACbuC,SAAU,QACVC,QAAS,OACTC,WAAY,SACZC,eAAgB,SAChBC,MAAO,EACPC,OAAQ,EACRC,IAAK,EACLC,KAAM,EACNC,gBAAiB,qBACjBC,wBAAyB,eACxBhD,EAAWsC,WAAa,CACzBS,gBAAiB,kBAEbE,EAAwB,cAAiB,SAAkBC,EAAS3B,GACxE,IAAI4B,EAAiBC,EAAMC,EAC3B,MAAM9C,GAAQ,EAAA+C,EAAA,GAAc,CAC1B/C,MAAO2C,EACPhB,KAAM,iBAEF,SACFqB,EAAQ,UACR1C,EAAS,UACT2C,EAAY,MAAK,WACjBC,EAAa,CAAC,EAAC,gBACfC,EAAkB,CAAC,EAAC,UACpBpB,GAAY,EAAK,KACjBqB,EAAI,UACJC,EAAY,CAAC,EAAC,MACdC,EAAQ,CAAC,EAAC,oBACVC,EAAsBC,EAAA,EAAI,mBAC1BC,GACEzD,EACJ0D,GAAQ,OAA8B1D,EAAOb,GACzCM,GAAa,OAAS,CAAC,EAAGO,EAAO,CACrCiD,YACAlB,cAEI4B,EA3DkBlE,KACxB,MAAM,QACJkE,EAAO,UACP5B,GACEtC,EACE6D,EAAQ,CACZxB,KAAM,CAAC,OAAQC,GAAa,cAE9B,OAAO,EAAA6B,EAAA,GAAeN,EAAOjC,EAAyBsC,EAAQ,EAmD9CE,CAAkBpE,GAC5BqE,EAAsD,OAArClB,EAAkBS,EAAUvB,MAAgBc,EAAkBO,EAAgBrB,KACrG,OAAoB,SAAKyB,GAAqB,OAAS,CACrDQ,GAAIX,EACJY,QAASP,GACRC,EAAO,CACRV,UAAuB,SAAKvB,GAAc,OAAS,CACjD,eAAe,GACdqC,EAAe,CAChBG,GAAmF,OAA9EpB,EAAqC,OAA7BC,EAAcQ,EAAMxB,MAAgBgB,EAAcI,EAAWgB,MAAgBrB,EAAOI,EACjG3C,WAAW,EAAAE,EAAA,GAAKmD,EAAQ7B,KAAMxB,EAA4B,MAAjBwD,OAAwB,EAASA,EAAcxD,WACxFb,YAAY,OAAS,CAAC,EAAGA,EAA6B,MAAjBqE,OAAwB,EAASA,EAAcrE,YACpFkE,QAASA,EACT3C,IAAKA,EACLgC,SAAUA,OAGhB,IACwCN,EAASyB,UAAmC,CAQlFnB,SAAU,SAIVW,QAAS,WAITrD,UAAW,WAKX2C,UAAW,gBASXC,WAAY,UAAgB,CAC1BgB,KAAM,kBAWRf,gBAAiB,UAAgB,CAC/BrB,KAAM,aAORC,UAAW,SAIXqB,KAAM,SAAegB,WASrBf,UAAW,UAAgB,CACzBvB,KAAM,aASRwB,MAAO,UAAgB,CACrBxB,KAAM,kBAKRuC,GAAI,cAAoB,CAAC,YAAkB,cAAoB,CAAC,SAAgB,WAAkB,YAAmB,SAAgB,aAMrId,oBAAqB,gBAKrBE,mBAAoB,cAAoB,CAAC,WAAkB,UAAgB,CACzEa,OAAQ,WACRC,MAAO,WACPC,KAAM,gBAGV,uKCvLA,MAAMrF,EAAY,CAAC,iBAAkB,SAAU,WAAY,SAAU,KAAM,UAAW,YAAa,aAAc,SAAU,WAAY,YAAa,QAAS,UAAW,uBASlK0C,EAAS,CACb4C,SAAU,CACRC,QAAS,GAEXC,QAAS,CACPD,QAAS,IAQPlB,EAAoB,cAAiB,SAAcxD,EAAOgB,GAC9D,MAAM4D,GAAQ,SACRC,EAAiB,CACrBN,MAAOK,EAAME,YAAYC,SAASC,eAClCR,KAAMI,EAAME,YAAYC,SAASE,gBAE7B,eACFC,EAAc,OACdZ,GAAS,EAAI,SACbtB,EAAQ,OACRmC,EACApB,GAAIqB,EAAM,QACVC,EAAO,UACPC,EAAS,WACTC,EAAU,OACVC,EAAM,SACNC,EAAQ,UACRC,EAAS,MACThF,EAAK,QACLsD,EAAUa,EAAc,oBAExBtB,EAAsB,MACpBvD,EACJ0D,GAAQ,OAA8B1D,EAAOb,GAEzCwG,EAAU,SAAa,MACvBC,GAAY,OAAWD,EAAS3C,EAAShC,IAAKA,GAC9C6E,EAA+BC,GAAYC,IAC/C,GAAID,EAAU,CACZ,MAAME,EAAOL,EAAQM,aAGI1H,IAArBwH,EACFD,EAASE,GAETF,EAASE,EAAMD,EAEnB,GAEIG,EAAiBL,EAA6BN,GAC9CY,EAAcN,GAA6B,CAACG,EAAMI,MACtD,OAAOJ,GAEP,MAAMK,GAAkB,OAAmB,CACzC3F,QACAsD,UACAmB,UACC,CACDmB,KAAM,UAERN,EAAKtF,MAAM6F,iBAAmB3B,EAAME,YAAY0B,OAAO,UAAWH,GAClEL,EAAKtF,MAAM+F,WAAa7B,EAAME,YAAY0B,OAAO,UAAWH,GACxDhB,GACFA,EAAQW,EAAMI,EAChB,IAEIM,EAAgBb,EAA6BP,GAC7CqB,EAAgBd,EAA6BH,GAC7CkB,EAAaf,GAA6BG,IAC9C,MAAMK,GAAkB,OAAmB,CACzC3F,QACAsD,UACAmB,UACC,CACDmB,KAAM,SAERN,EAAKtF,MAAM6F,iBAAmB3B,EAAME,YAAY0B,OAAO,UAAWH,GAClEL,EAAKtF,MAAM+F,WAAa7B,EAAME,YAAY0B,OAAO,UAAWH,GACxDb,GACFA,EAAOQ,EACT,IAEIa,EAAehB,EAA6BJ,GAOlD,OAAoB,SAAKlC,GAAqB,OAAS,CACrDe,OAAQA,EACRP,GAAIqB,EACJO,QAAkCA,EAClCN,QAASc,EACTb,UAAWoB,EACXnB,WAAYW,EACZV,OAAQoB,EACRnB,SAAUoB,EACVnB,UAAWiB,EACXzB,eAhB2B4B,IACvB5B,GAEFA,EAAeS,EAAQM,QAASa,EAClC,EAaA9C,QAASA,GACRN,EAAO,CACRV,SAAU,CAAC+D,EAAOC,IACI,eAAmBhE,GAAU,OAAS,CACxDtC,OAAO,OAAS,CACdgE,QAAS,EACTuC,WAAsB,WAAVF,GAAuB3B,OAAoB7G,EAAX,UAC3CsD,EAAOkF,GAAQrG,EAAOsC,EAAShD,MAAMU,OACxCM,IAAK4E,GACJoB,MAGT,IACwCxD,EAAKW,UAAmC,CAU9Ee,eAAgB,SAMhBZ,OAAQ,SAIRtB,SAAU,IAAoBoB,WAK9Be,OAAQ,cAAoB,CAAC,UAAgB,CAC3CZ,MAAO,WACPC,KAAM,aACJ,aAIJT,GAAI,SAIJsB,QAAS,SAITC,UAAW,SAIXC,WAAY,SAIZC,OAAQ,SAIRC,SAAU,SAIVC,UAAW,SAIXhF,MAAO,WASPsD,QAAS,cAAoB,CAAC,WAAkB,UAAgB,CAC9DM,OAAQ,WACRC,MAAO,WACPC,KAAM,gBAGV,8NCnMO,SAAS0C,EAAWjI,EAASkI,GAC9BA,EACFlI,EAAQmI,aAAa,cAAe,QAEpCnI,EAAQoI,gBAAgB,cAE5B,CACA,SAASC,EAAgBrI,GACvB,OAAOsI,UAAS,EAAAC,EAAA,GAAYvI,GAASwI,iBAAiBxI,GAASyI,aAAc,KAAO,CACtF,CAUA,SAASC,EAAmBC,EAAWC,EAAcC,EAAgBC,EAAmBZ,GACtF,MAAMa,EAAY,CAACH,EAAcC,KAAmBC,GACpD,GAAGhJ,QAAQkJ,KAAKL,EAAU5E,UAAU/D,IAClC,MAAMiJ,GAAuD,IAAhCF,EAAUG,QAAQlJ,GACzCmJ,GAbV,SAAwCnJ,GAItC,MACMoJ,GAAqE,IADjD,CAAC,WAAY,SAAU,QAAS,OAAQ,MAAO,OAAQ,WAAY,UAAW,MAAO,WAAY,QAAS,OAAQ,SAAU,SACzGF,QAAQlJ,EAAQqJ,SACvDC,EAAoC,UAApBtJ,EAAQqJ,SAAwD,WAAjCrJ,EAAQuJ,aAAa,QAC1E,OAAOH,GAAsBE,CAC/B,CAKmCE,CAA+BxJ,GAC1DiJ,GAAwBE,GAC1BlB,EAAWjI,EAASkI,EACtB,GAEJ,CACA,SAASuB,EAAYC,EAAO7C,GAC1B,IAAI8C,GAAO,EAQX,OAPAD,EAAME,MAAK,CAACC,EAAMC,MACZjD,EAASgD,KACXF,EAAMG,GACC,KAIJH,CACT,CChCA,MAAMI,EAAiB,IDsHhB,MACL,WAAAC,GACEC,KAAKC,gBAAa,EAClBD,KAAKE,YAAS,EACdF,KAAKE,OAAS,GACdF,KAAKC,WAAa,EACpB,CACA,GAAAE,CAAIC,EAAO1B,GACT,IAAI2B,EAAaL,KAAKE,OAAOjB,QAAQmB,GACrC,IAAoB,IAAhBC,EACF,OAAOA,EAETA,EAAaL,KAAKE,OAAOzI,OACzBuI,KAAKE,OAAOI,KAAKF,GAGbA,EAAMG,UACRvC,EAAWoC,EAAMG,UAAU,GAE7B,MAAMC,EAnCV,SAA2B9B,GACzB,MAAM8B,EAAiB,GAMvB,MALA,GAAG3K,QAAQkJ,KAAKL,EAAU5E,UAAU/D,IACU,SAAxCA,EAAQuJ,aAAa,gBACvBkB,EAAeF,KAAKvK,EACtB,IAEKyK,CACT,CA2B2BC,CAAkB/B,GACzCD,EAAmBC,EAAW0B,EAAMM,MAAON,EAAMG,SAAUC,GAAgB,GAC3E,MAAMG,EAAiBnB,EAAYQ,KAAKC,YAAYL,GAAQA,EAAKlB,YAAcA,IAC/E,OAAwB,IAApBiC,GACFX,KAAKC,WAAWU,GAAgBT,OAAOI,KAAKF,GACrCC,IAETL,KAAKC,WAAWK,KAAK,CACnBJ,OAAQ,CAACE,GACT1B,YACAkC,QAAS,KACTJ,mBAEKH,EACT,CACA,KAAAK,CAAMN,EAAOtJ,GACX,MAAM6J,EAAiBnB,EAAYQ,KAAKC,YAAYL,IAAwC,IAAhCA,EAAKM,OAAOjB,QAAQmB,KAC1ES,EAAgBb,KAAKC,WAAWU,GACjCE,EAAcD,UACjBC,EAAcD,QA3HpB,SAAyBC,EAAe/J,GACtC,MAAMgK,EAAe,GACfpC,EAAYmC,EAAcnC,UAChC,IAAK5H,EAAMiK,kBAAmB,CAC5B,GAnDJ,SAAuBrC,GACrB,MAAMsC,GAAM,EAAAC,EAAA,GAAcvC,GAC1B,OAAIsC,EAAIE,OAASxC,GACR,EAAAJ,EAAA,GAAYI,GAAWyC,WAAaH,EAAII,gBAAgBC,YAE1D3C,EAAU4C,aAAe5C,EAAU6C,YAC5C,CA6CQC,CAAc9C,GAAY,CAE5B,MAAM+C,GAAgB,EAAAC,EAAA,IAAiB,EAAAT,EAAA,GAAcvC,IACrDoC,EAAaR,KAAK,CAChBqB,MAAOjD,EAAUlH,MAAMgH,aACvBoD,SAAU,gBACVC,GAAInD,IAGNA,EAAUlH,MAAMgH,aAAe,GAAGJ,EAAgBM,GAAa+C,MAG/D,MAAMK,GAAgB,EAAAb,EAAA,GAAcvC,GAAWqD,iBAAiB,cAChE,GAAGlM,QAAQkJ,KAAK+C,GAAe/L,IAC7B+K,EAAaR,KAAK,CAChBqB,MAAO5L,EAAQyB,MAAMgH,aACrBoD,SAAU,gBACVC,GAAI9L,IAENA,EAAQyB,MAAMgH,aAAe,GAAGJ,EAAgBrI,GAAW0L,KAAiB,GAEhF,CACA,IAAIO,EACJ,GAAItD,EAAUuD,sBAAsBC,iBAClCF,GAAkB,EAAAf,EAAA,GAAcvC,GAAWwC,SACtC,CAGL,MAAMiB,EAASzD,EAAU0D,cACnBC,GAAkB,EAAA/D,EAAA,GAAYI,GACpCsD,EAAkE,UAArC,MAAVG,OAAiB,EAASA,EAAOG,WAA+E,WAAvDD,EAAgB9D,iBAAiB4D,GAAQI,UAAyBJ,EAASzD,CACzJ,CAIAoC,EAAaR,KAAK,CAChBqB,MAAOK,EAAgBxK,MAAMgL,SAC7BZ,SAAU,WACVC,GAAIG,GACH,CACDL,MAAOK,EAAgBxK,MAAMiL,UAC7Bb,SAAU,aACVC,GAAIG,GACH,CACDL,MAAOK,EAAgBxK,MAAM+K,UAC7BX,SAAU,aACVC,GAAIG,IAENA,EAAgBxK,MAAMgL,SAAW,QACnC,CAcA,MAbgB,KACd1B,EAAajL,SAAQ,EACnB8L,QACAE,KACAD,eAEID,EACFE,EAAGrK,MAAMkL,YAAYd,EAAUD,GAE/BE,EAAGrK,MAAMmL,eAAef,EAC1B,GACA,CAGN,CAuD8BgB,CAAgB/B,EAAe/J,GAE3D,CACA,MAAA+L,CAAOzC,EAAO0C,GAAkB,GAC9B,MAAMzC,EAAaL,KAAKE,OAAOjB,QAAQmB,GACvC,IAAoB,IAAhBC,EACF,OAAOA,EAET,MAAMM,EAAiBnB,EAAYQ,KAAKC,YAAYL,IAAwC,IAAhCA,EAAKM,OAAOjB,QAAQmB,KAC1ES,EAAgBb,KAAKC,WAAWU,GAKtC,GAJAE,EAAcX,OAAO6C,OAAOlC,EAAcX,OAAOjB,QAAQmB,GAAQ,GACjEJ,KAAKE,OAAO6C,OAAO1C,EAAY,GAGK,IAAhCQ,EAAcX,OAAOzI,OAEnBoJ,EAAcD,SAChBC,EAAcD,UAEZR,EAAMG,UAERvC,EAAWoC,EAAMG,SAAUuC,GAE7BrE,EAAmBoC,EAAcnC,UAAW0B,EAAMM,MAAON,EAAMG,SAAUM,EAAcL,gBAAgB,GACvGR,KAAKC,WAAW8C,OAAOpC,EAAgB,OAClC,CAEL,MAAMqC,EAAUnC,EAAcX,OAAOW,EAAcX,OAAOzI,OAAS,GAI/DuL,EAAQzC,UACVvC,EAAWgF,EAAQzC,UAAU,EAEjC,CACA,OAAOF,CACT,CACA,UAAA4C,CAAW7C,GACT,OAAOJ,KAAKE,OAAOzI,OAAS,GAAKuI,KAAKE,OAAOF,KAAKE,OAAOzI,OAAS,KAAO2I,CAC3E,wCE1MF,MAAM8C,EAAqB,CAAC,QAAS,SAAU,WAAY,UAAW,SAAU,aAAc,kBAAmB,kBAAmB,oDAAoDC,KAAK,KAwC7L,SAASC,EAAmBxK,GAC1B,MAAMyK,EAAkB,GAClBC,EAAkB,GAgBxB,OAfAC,MAAMC,KAAK5K,EAAKmJ,iBAAiBmB,IAAqBrN,SAAQ,CAACiH,EAAM2G,KACnE,MAAMC,EA3CV,SAAqB5G,GACnB,MAAM6G,EAAetF,SAASvB,EAAKwC,aAAa,aAAe,GAAI,IACnE,OAAKsE,OAAOC,MAAMF,GAYW,SAAzB7G,EAAKgH,kBAAiD,UAAlBhH,EAAKwF,UAA0C,UAAlBxF,EAAKwF,UAA0C,YAAlBxF,EAAKwF,WAA6D,OAAlCxF,EAAKwC,aAAa,YAC3I,EAEFxC,EAAKiH,SAdHJ,CAeX,CAyByBK,CAAYlH,IACX,IAAlB4G,GAXR,SAAyC5G,GACvC,QAAIA,EAAKmH,UAA6B,UAAjBnH,EAAKsC,SAAqC,WAAdtC,EAAKoH,MAfxD,SAA4BpH,GAC1B,GAAqB,UAAjBA,EAAKsC,SAAqC,UAAdtC,EAAKoH,KACnC,OAAO,EAET,IAAKpH,EAAKrE,KACR,OAAO,EAET,MAAM0L,EAAWC,GAAYtH,EAAKmE,cAAcoD,cAAc,sBAAsBD,KACpF,IAAIE,EAASH,EAAS,UAAUrH,EAAKrE,kBAIrC,OAHK6L,IACHA,EAASH,EAAS,UAAUrH,EAAKrE,WAE5B6L,IAAWxH,CACpB,CAE6EyH,CAAmBzH,GAIhG,CAMgC0H,CAAgC1H,KAGvC,IAAjB4G,EACFL,EAAgB/C,KAAKxD,GAErBwG,EAAgBhD,KAAK,CACnBmE,cAAehB,EACfM,SAAUL,EACV5G,KAAMA,IAEV,IAEKwG,EAAgBoB,MAAK,CAACC,EAAGC,IAAMD,EAAEZ,WAAaa,EAAEb,SAAWY,EAAEF,cAAgBG,EAAEH,cAAgBE,EAAEZ,SAAWa,EAAEb,WAAUc,KAAIF,GAAKA,EAAE7H,OAAMgI,OAAOzB,EACzJ,CACA,SAAS0B,IACP,OAAO,CACT,CAaA,SAASC,EAAUlO,GACjB,MAAM,SACJgD,EAAQ,iBACRmL,GAAmB,EAAK,oBACxBC,GAAsB,EAAK,oBAC3BC,GAAsB,EAAK,YAC3BC,EAAchC,EAAkB,UAChCiC,EAAYN,EAAgB,KAC5B7K,GACEpD,EACEwO,EAAyB,UAAa,GACtCC,EAAgB,SAAa,MAC7BC,EAAc,SAAa,MAC3BC,EAAgB,SAAa,MAC7BC,EAAwB,SAAa,MAGrCC,EAAY,UAAa,GACzBC,EAAU,SAAa,MAEvBlJ,GAAY,EAAA1E,EAAA,GAAW8B,EAAShC,IAAK8N,GACrCC,EAAc,SAAa,MACjC,aAAgB,KAET3L,GAAS0L,EAAQ7I,UAGtB4I,EAAU5I,SAAWkI,EAAgB,GACpC,CAACA,EAAkB/K,IACtB,aAAgB,KAEd,IAAKA,IAAS0L,EAAQ7I,QACpB,OAEF,MAAMiE,GAAM,EAAAC,EAAA,GAAc2E,EAAQ7I,SAYlC,OAXK6I,EAAQ7I,QAAQ+I,SAAS9E,EAAI+E,iBAC3BH,EAAQ7I,QAAQiJ,aAAa,cAE9BC,QAAQC,MAAM,CAAC,qDAAsD,6FAAkG/C,KAAK,OAE9KyC,EAAQ7I,QAAQmB,aAAa,WAAY,OAEvCyH,EAAU5I,SACZ6I,EAAQ7I,QAAQoJ,SAGb,KAEAhB,IAKCM,EAAc1I,SAAW0I,EAAc1I,QAAQoJ,QACjDb,EAAuBvI,SAAU,EACjC0I,EAAc1I,QAAQoJ,SAExBV,EAAc1I,QAAU,KAC1B,CACD,GAIA,CAAC7C,IACJ,aAAgB,KAEd,IAAKA,IAAS0L,EAAQ7I,QACpB,OAEF,MAAMiE,GAAM,EAAAC,EAAA,GAAc2E,EAAQ7I,SAC5BqJ,EAAYC,IAChBR,EAAY9I,QAAUsJ,GAClBnB,GAAwBG,KAAmC,QAApBgB,EAAYC,KAMnDtF,EAAI+E,gBAAkBH,EAAQ7I,SAAWsJ,EAAYE,WAGvDjB,EAAuBvI,SAAU,EAC7ByI,EAAYzI,SACdyI,EAAYzI,QAAQoJ,QAExB,EAEIK,EAAU,KACd,MAAMC,EAAcb,EAAQ7I,QAI5B,GAAoB,OAAhB0J,EACF,OAEF,IAAKzF,EAAI0F,aAAerB,KAAeC,EAAuBvI,QAE5D,YADAuI,EAAuBvI,SAAU,GAKnC,GAAI0J,EAAYX,SAAS9E,EAAI+E,eAC3B,OAIF,GAAIb,GAAuBlE,EAAI+E,gBAAkBR,EAAcxI,SAAWiE,EAAI+E,gBAAkBP,EAAYzI,QAC1G,OAIF,GAAIiE,EAAI+E,gBAAkBL,EAAsB3I,QAC9C2I,EAAsB3I,QAAU,UAC3B,GAAsC,OAAlC2I,EAAsB3I,QAC/B,OAEF,IAAK4I,EAAU5I,QACb,OAEF,IAAI4J,EAAW,GAOf,GANI3F,EAAI+E,gBAAkBR,EAAcxI,SAAWiE,EAAI+E,gBAAkBP,EAAYzI,UACnF4J,EAAWvB,EAAYQ,EAAQ7I,UAK7B4J,EAASlP,OAAS,EAAG,CACvB,IAAImP,EAAsBC,EAC1B,MAAMC,EAAaC,SAAyD,OAA/CH,EAAuBf,EAAY9I,cAAmB,EAAS6J,EAAqBL,WAA8G,SAA/C,OAAhDM,EAAwBhB,EAAY9I,cAAmB,EAAS8J,EAAsBP,MAChNU,EAAYL,EAAS,GACrBM,EAAgBN,EAASA,EAASlP,OAAS,GACxB,iBAAduP,GAAmD,iBAAlBC,IACtCH,EACFG,EAAcd,QAEda,EAAUb,QAIhB,MACEM,EAAYN,OACd,EAEFnF,EAAIkG,iBAAiB,UAAWV,GAChCxF,EAAIkG,iBAAiB,UAAWd,GAAW,GAQ3C,MAAMe,EAAWC,aAAY,KACvBpG,EAAI+E,eAA+C,SAA9B/E,EAAI+E,cAAc3G,SACzCoH,GACF,GACC,IACH,MAAO,KACLa,cAAcF,GACdnG,EAAIsG,oBAAoB,UAAWd,GACnCxF,EAAIsG,oBAAoB,UAAWlB,GAAW,EAAK,CACpD,GACA,CAACnB,EAAkBC,EAAqBC,EAAqBE,EAAWnL,EAAMkL,IACjF,MAWMmC,EAAsBC,IACI,OAA1B/B,EAAc1I,UAChB0I,EAAc1I,QAAUyK,EAAMC,eAEhC9B,EAAU5I,SAAU,CAAI,EAE1B,OAAoB,UAAM,WAAgB,CACxCjD,SAAU,EAAc,SAAK,MAAO,CAClCiK,SAAU7J,EAAO,GAAK,EACtBwN,QAASH,EACTzP,IAAKyN,EACL,cAAe,kBACA,eAAmBzL,EAAU,CAC5ChC,IAAK4E,EACLgL,QAzBYF,IACgB,OAA1B/B,EAAc1I,UAChB0I,EAAc1I,QAAUyK,EAAMC,eAEhC9B,EAAU5I,SAAU,EACpB2I,EAAsB3I,QAAUyK,EAAMG,OACtC,MAAMC,EAAuB9N,EAAShD,MAAM4Q,QACxCE,GACFA,EAAqBJ,EACvB,KAiBiB,SAAK,MAAO,CAC3BzD,SAAU7J,EAAO,GAAK,EACtBwN,QAASH,EACTzP,IAAK0N,EACL,cAAe,kBAGrB,CACwCR,EAAU/J,UAAmC,CAQnFnB,SAAU+N,EAAA,EAUV5C,iBAAkB,SAQlBC,oBAAqB,SAMrBC,oBAAqB,SAMrBC,YAAa,SAUbC,UAAW,SAIXnL,KAAM,SAAegB,YAIrB8J,EAA0B,WAAI,EAAA8C,EAAA,GAAU9C,EAAU/J,gDC1TpD,MAAM8M,EAAsB,cAAiB,SAAgBjR,EAAOkR,GAClE,MAAM,SACJlO,EAAQ,UACR4E,EAAS,cACTuJ,GAAgB,GACdnR,GACGoR,EAAWC,GAAgB,WAAe,MAE3CzL,GAAY,EAAA1E,EAAA,GAAyB,iBAAqB8B,GAAYA,EAAShC,IAAM,KAAMkQ,GAejG,IAdA,EAAAI,EAAA,IAAkB,KACXH,GACHE,EA3BN,SAAsBzJ,GACpB,MAA4B,mBAAdA,EAA2BA,IAAcA,CACzD,CAyBmB,CAAaA,IAAc2J,SAASnH,KACnD,GACC,CAACxC,EAAWuJ,KACf,EAAAG,EAAA,IAAkB,KAChB,GAAIF,IAAcD,EAEhB,OADA,EAAAK,EAAA,GAAON,EAAcE,GACd,MACL,EAAAI,EAAA,GAAON,EAAc,KAAK,CAGd,GACf,CAACA,EAAcE,EAAWD,IACzBA,EAAe,CACjB,GAAkB,iBAAqBnO,GAAW,CAChD,MAAMyO,EAAW,CACfzQ,IAAK4E,GAEP,OAAoB,eAAmB5C,EAAUyO,EACnD,CACA,OAAoB,SAAK,WAAgB,CACvCzO,SAAUA,GAEd,CACA,OAAoB,SAAK,WAAgB,CACvCA,SAAUoO,EAAyB,eAAsBpO,EAAUoO,GAAaA,GAEpF,IACwCH,EAAO9M,UAAmC,CAQhFnB,SAAU,SAWV4E,UAAW,cAA0D,CAAC8J,EAAA,EAAiB,WAKvFP,cAAe,UAIfF,EAAuB,WAAI,EAAAD,EAAA,GAAUC,EAAO9M,sECvFvC,SAASwN,EAAqBrQ,GACnC,OAAO,EAAAC,EAAA,IAAqB,WAAYD,EAC1C,EACqB,EAAAE,EAAA,GAAuB,WAAY,CAAC,OAAQ,SAAU,aAA3E,MCDMrC,EAAY,CAAC,oBAAqB,gBAAiB,UAAW,YAAa,uBAAwB,WAAY,YAAa,YAAa,aAAc,kBAAmB,mBAAoB,sBAAuB,uBAAwB,gBAAiB,sBAAuB,oBAAqB,eAAgB,cAAe,kBAAmB,UAAW,oBAAqB,qBAAsB,OAAQ,YAAa,QAAS,SA6BhbyS,GAAY,EAAAlQ,EAAA,IAAO,MAAO,CAC9BC,KAAM,WACNL,KAAM,OACNM,kBAAmB,CAAC5B,EAAO6B,KACzB,MAAM,WACJpC,GACEO,EACJ,MAAO,CAAC6B,EAAOC,MAAOrC,EAAW2D,MAAQ3D,EAAWoS,QAAUhQ,EAAOiQ,OAAO,GAP9D,EASf,EACDlN,QACAnF,iBACI,OAAS,CACbuC,SAAU,QACV+P,QAASnN,EAAMoN,MAAQpN,GAAOmN,OAAOzI,MACrClH,MAAO,EACPC,OAAQ,EACRC,IAAK,EACLC,KAAM,IACJ9C,EAAW2D,MAAQ3D,EAAWoS,QAAU,CAC1C5K,WAAY,aAERgL,GAAgB,EAAAvQ,EAAA,IAAOgB,EAAA,EAAU,CACrCf,KAAM,WACNL,KAAM,WACNM,kBAAmB,CAAC5B,EAAO6B,IAClBA,EAAOqQ,UAJI,CAMnB,CACDH,QAAS,IAgBLI,EAAqB,cAAiB,SAAexP,EAAS3B,GAClE,IAAI6B,EAAMC,EAAasP,EAAOC,EAAiBzP,EAAiB0P,EAChE,MAAMtS,GAAQ,EAAA+C,EAAA,GAAc,CAC1BpB,KAAM,WACN3B,MAAO2C,KAEH,kBACF4P,EAAoBN,EAAa,cACjCO,EAAa,UACblS,EAAS,qBACTmS,GAAuB,EAAK,SAC5BzP,EAAQ,UACR4E,EAAS,UACT3E,EAAS,WACTC,EAAa,CAAC,EAAC,gBACfC,EAAkB,CAAC,EAAC,iBACpBgL,GAAmB,EAAK,oBACxBC,GAAsB,EAAK,qBAC3BsE,GAAuB,EAAK,cAC5BvB,GAAgB,EAAK,oBACrB9C,GAAsB,EAAK,kBAC3BpE,GAAoB,EAAK,aACzB0I,GAAe,EAAK,YACpBC,GAAc,EAAK,gBACnBC,EAAe,KACfzP,EAAI,UACJC,EAAS,MACTC,GAEEtD,EACJ0D,GAAQ,OAA8B1D,EAAOb,GACzC2T,GAAoB,OAAS,CAAC,EAAG9S,EAAO,CAC5CyS,uBACAtE,mBACAC,sBACAsE,uBACAvB,gBACA9C,sBACApE,oBACA0I,eACAC,iBAEI,aACJG,EAAY,iBACZC,GAAgB,mBAChBC,GAAkB,UAClBC,GAAS,WACT/G,GAAU,OACV0F,GAAM,cACNsB,IJpGG,SAAkB9T,GACvB,MAAM,UACJuI,EAAS,qBACT8K,GAAuB,EAAK,kBAC5BzI,GAAoB,EAAK,QAEzBmJ,EAAUpK,EAAc,qBACxByJ,GAAuB,EAAK,kBAC5BY,EAAiB,mBACjBC,EAAkB,SAClBtQ,EAAQ,QACRuQ,EAAO,KACPnQ,EAAI,QACJ0L,GACEzP,EAGEiK,EAAQ,SAAa,CAAC,GACtBkK,EAAe,SAAa,MAC5B/J,EAAW,SAAa,MACxB7D,GAAY,EAAA1E,EAAA,GAAWuI,EAAUqF,IAChC+C,EAAQ4B,GAAa,YAAgBrQ,GACtC+P,EAvCR,SAA0BnQ,GACxB,QAAOA,GAAWA,EAAShD,MAAM0T,eAAe,KAClD,CAqCwBC,CAAiB3Q,GACvC,IAAI4Q,GAAiB,EACa,UAA9BvU,EAAW,iBAA4D,IAA9BA,EAAW,iBACtDuU,GAAiB,GAEnB,MACMC,EAAW,KACfvK,EAAMrD,QAAQwD,SAAWA,EAASxD,QAClCqD,EAAMrD,QAAQ2D,MAAQ4J,EAAavN,QAC5BqD,EAAMrD,SAET6N,EAAgB,KACpBV,EAAQxJ,MAAMiK,IAAY,CACxB5J,sBAIER,EAASxD,UACXwD,EAASxD,QAAQ8N,UAAY,EAC/B,EAEIC,GAAa,EAAAC,EAAA,IAAiB,KAClC,MAAMC,EAhEV,SAAsBtM,GACpB,MAA4B,mBAAdA,EAA2BA,IAAcA,CACzD,CA8D8BuM,CAAavM,KAjBpB,EAAAuC,EAAA,GAAcqJ,EAAavN,SAiBgBmE,KAC9DgJ,EAAQ/J,IAAIwK,IAAYK,GAGpBzK,EAASxD,SACX6N,GACF,IAEI3H,EAAa,eAAkB,IAAMiH,EAAQjH,WAAW0H,MAAa,CAACT,IACtEgB,GAAkB,EAAAH,EAAA,IAAiBjO,IACvCwN,EAAavN,QAAUD,EAClBA,IAGD5C,GAAQ+I,IACV2H,IACSrK,EAASxD,SAClBiB,EAAWuC,EAASxD,QAAS2N,GAC/B,IAEIS,EAAc,eAAkB,KACpCjB,EAAQrH,OAAO8H,IAAYD,EAAe,GACzC,CAACA,EAAgBR,IACpB,aAAgB,IACP,KACLiB,GAAa,GAEd,CAACA,IACJ,aAAgB,KACVjR,EACF4Q,IACUb,GAAkBV,GAC5B4B,GACF,GACC,CAACjR,EAAMiR,EAAalB,EAAeV,EAAsBuB,IAC5D,MAAMM,EAAsBC,GAAiB7D,IAC3C,IAAI8D,EACiD,OAApDA,EAAwBD,EAAcE,YAAsBD,EAAsBvM,KAAKsM,EAAe7D,GAQrF,WAAdA,EAAMlB,KAAoC,MAAhBkB,EAAMgE,OAEnCvI,MAGIuG,IAEHhC,EAAMiE,kBACFpB,GACFA,EAAQ7C,EAAO,kBAEnB,EAEIkE,EAA4BL,GAAiB7D,IACjD,IAAImE,EAC+C,OAAlDA,EAAwBN,EAAcO,UAAoBD,EAAsB5M,KAAKsM,EAAe7D,GACjGA,EAAMG,SAAWH,EAAMqE,eAGvBxB,GACFA,EAAQ7C,EAAO,gBACjB,EA8CF,MAAO,CACLqC,aA7CmB,CAACwB,EAAgB,CAAC,KACrC,MAAMS,GAAqB,EAAA5W,EAAA,GAAqBiB,UAGzC2V,EAAmB3B,yBACnB2B,EAAmB1B,mBAC1B,MAAM2B,GAAwB,OAAS,CAAC,EAAGD,EAAoBT,GAC/D,OAAO,OAAS,CACdW,KAAM,gBACLD,EAAuB,CACxBR,UAAWH,EAAoBW,GAC/BjU,IAAK4E,GACL,EAkCFoN,iBAhCuB,CAACuB,EAAgB,CAAC,KACzC,MAAMU,EAAwBV,EAC9B,OAAO,OAAS,CACd,eAAe,GACdU,EAAuB,CACxBH,QAASF,EAA0BK,GACnC7R,QACA,EA0BF6P,mBAxByB,KAgBlB,CACL5N,SAAS,EAAA8P,EAAA,IAhBS,KAClB1B,GAAU,GACNJ,GACFA,GACF,GAYwD,MAAZrQ,OAAmB,EAASA,EAAShD,MAAMqF,SACvFI,UAAU,EAAA0P,EAAA,IAXS,KACnB1B,GAAU,GACNH,GACFA,IAEEb,GACF4B,GACF,GAI0D,MAAZrR,OAAmB,EAASA,EAAShD,MAAMyF,YAO3FqJ,QAASlJ,EACTsN,UAAWkB,EACXjI,aACA0F,SACAsB,gBAEJ,CIjEMiC,EAAS,OAAS,CAAC,EAAGtC,EAAmB,CAC3ChE,QAAS9N,KAELvB,IAAa,OAAS,CAAC,EAAGqT,EAAmB,CACjDjB,YAEIlO,GAjHkBlE,KACxB,MAAM,KACJ2D,EAAI,OACJyO,EAAM,QACNlO,GACElE,EACE6D,EAAQ,CACZxB,KAAM,CAAC,QAASsB,GAAQyO,GAAU,UAClCK,SAAU,CAAC,aAEb,OAAO,EAAAtO,EAAA,GAAeN,EAAOqO,EAAsBhO,EAAQ,EAuG3CE,CAAkBpE,IAC5BuH,GAAa,CAAC,EAMpB,QALgCzI,IAA5ByE,EAAShD,MAAMiN,WACjBjG,GAAWiG,SAAW,MAIpBkG,GAAe,CACjB,MAAM,QACJ9N,EAAO,SACPI,GACEwN,KACJjM,GAAW3B,QAAUA,EACrB2B,GAAWvB,SAAWA,CACxB,CACA,MAAM4P,GAAmH,OAAvGxS,EAA8D,OAAtDC,EAAuB,MAATQ,OAAgB,EAASA,EAAMxB,MAAgBgB,EAAcI,EAAWgB,MAAgBrB,EAAO+O,EACjI0D,GAAwI,OAAxHlD,EAAuE,OAA9DC,EAA2B,MAAT/O,OAAgB,EAASA,EAAM4O,UAAoBG,EAAkBnP,EAAWR,UAAoB0P,EAAQG,EACvJzO,GAAmF,OAAlElB,EAA+B,MAAbS,OAAoB,EAASA,EAAUvB,MAAgBc,EAAkBO,EAAgBrB,KAC5HyT,GAA+F,OAA1EjD,EAAmC,MAAbjP,OAAoB,EAASA,EAAU6O,UAAoBI,EAAsBnP,EAAgB+O,SAC5IsD,IAAY,EAAApW,EAAA,GAAa,CAC7BG,YAAa8V,GACb7V,kBAAmBsE,GACnBzD,uBAAwBqD,EACxBvD,aAAc4S,EACd3S,gBAAiB,CACfY,MACAiD,GAAIhB,GAENxD,cACAa,WAAW,EAAAE,EAAA,GAAKF,EAA4B,MAAjBwD,QAAwB,EAASA,GAAcxD,UAAsB,MAAXqD,QAAkB,EAASA,GAAQ7B,MAAOrC,GAAW2D,MAAQ3D,GAAWoS,SAAsB,MAAXlO,QAAkB,EAASA,GAAQmO,WAEvM2D,IAAgB,EAAArW,EAAA,GAAa,CACjCG,YAAa+V,GACb9V,kBAAmB+V,GACnBnV,gBAAiBoS,EACjBrS,aAAcoU,GACLvB,IAAiB,OAAS,CAAC,EAAGuB,EAAe,CAClDO,QAASY,IACH7C,GACFA,EAAgB6C,GAEG,MAAjBnB,GAAyBA,EAAcO,SACzCP,EAAcO,QAAQY,EACxB,KAINpV,WAAW,EAAAE,EAAA,GAA0B,MAArB+U,QAA4B,EAASA,GAAkBjV,UAA4B,MAAjBkS,OAAwB,EAASA,EAAclS,UAAsB,MAAXqD,QAAkB,EAASA,GAAQuO,UAC/KzS,gBAEF,OAAKmT,GAAgBxP,GAAU+P,KAAiBtB,IAG5B,SAAKZ,EAAQ,CAC/BjQ,IAAKkS,GACLtL,UAAWA,EACXuJ,cAAeA,EACfnO,UAAuB,UAAMqS,IAAU,OAAS,CAAC,EAAGG,GAAW,CAC7DxS,SAAU,EAAE2P,GAAgBJ,GAAiC,SAAK+C,IAAc,OAAS,CAAC,EAAGG,KAAkB,MAAmB,SAAKvH,EAAW,CAChJE,oBAAqBA,EACrBD,iBAAkBA,EAClBE,oBAAqBA,EACrBE,UAAWpC,GACX/I,KAAMA,EACNJ,SAAuB,eAAmBA,EAAUgE,YAbjD,IAiBX,IACwCmL,EAAMhO,UAAmC,CAmB/EoO,kBAAmB,gBAKnBC,cAAe,WAIfxP,SAAU+N,EAAA,EAAoB3M,WAI9BT,QAAS,WAITrD,UAAW,WAKXmS,qBAAsB,SAKtBxP,UAAW,gBASXC,WAAY,UAAgB,CAC1BR,SAAU,gBACVwB,KAAM,kBAWRf,gBAAiB,UAAgB,CAC/B+O,SAAU,cAAoB,CAAC,SAAgB,aAC/CpQ,KAAM,cAAoB,CAAC,SAAgB,eAY7C8F,UAAW,cAA0D,CAAC8J,EAAA,EAAiB,WAUvFvD,iBAAkB,SAQlBC,oBAAqB,SAKrBsE,qBAAsB,SAKtBvB,cAAe,SAMf9C,oBAAqB,SAKrBpE,kBAAmB,SAKnB0I,aAAc,SAOdC,YAAa,SAKbC,gBAAiB,SAQjBU,QAAS,SAITF,kBAAmB,SAInBC,mBAAoB,SAIpBlQ,KAAM,SAAegB,WAKrBf,UAAW,UAAgB,CACzB6O,SAAU,cAAoB,CAAC,SAAgB,aAC/CpQ,KAAM,cAAoB,CAAC,SAAgB,eAO7CwB,MAAO,UAAgB,CACrB4O,SAAU,gBACVpQ,KAAM,kBAKRuC,GAAI,cAAoB,CAAC,YAAkB,cAAoB,CAAC,SAAgB,WAAkB,YAAmB,SAAgB,cAEvI,4NC9XO,SAASsR,EAAqBrU,GACnC,OAAO,EAAAC,EAAA,IAAqB,WAAYD,EAC1C,EACqB,EAAAE,EAAA,GAAuB,WAAY,CAAC,OAAQ,UAAW,WAAY,YAAa,aAAc,aAAc,aAAc,aAAc,aAAc,aAAc,aAAc,aAAc,aAAc,aAAc,cAAe,cAAe,cAAe,cAAe,cAAe,cAAe,cAAe,cAAe,cAAe,cAAe,cAAe,cAAe,cAAe,cAAe,+BCDnc,MAAMrC,EAAY,CAAC,YAAa,YAAa,YAAa,SAAU,WA0B9DyW,GAAY,EAAAlU,EAAA,IAAO,MAAO,CAC9BC,KAAM,WACNL,KAAM,OACNM,kBAAmB,CAAC5B,EAAO6B,KACzB,MAAM,WACJpC,GACEO,EACJ,MAAO,CAAC6B,EAAOC,KAAMD,EAAOpC,EAAWoW,UAAWpW,EAAWqW,QAAUjU,EAAOkU,QAAgC,cAAvBtW,EAAWoW,SAA2BhU,EAAO,YAAYpC,EAAWuW,aAAa,GAP1J,EASf,EACDpR,QACAnF,iBAEA,IAAIwW,EACJ,OAAO,OAAS,CACdzT,iBAAkBoC,EAAMoN,MAAQpN,GAAOsR,QAAQC,WAAWC,MAC1DC,OAAQzR,EAAMoN,MAAQpN,GAAOsR,QAAQI,KAAKC,QAC1C9P,WAAY7B,EAAME,YAAY0B,OAAO,gBACnC/G,EAAWqW,QAAU,CACvBU,aAAc5R,EAAM6R,MAAMD,cACF,aAAvB/W,EAAWoW,SAA0B,CACtCa,OAAQ,cAAc9R,EAAMoN,MAAQpN,GAAOsR,QAAQS,WAC3B,cAAvBlX,EAAWoW,UAA2B,OAAS,CAChDe,WAAYhS,EAAMoN,MAAQpN,GAAOiS,QAAQpX,EAAWuW,aAClDpR,EAAMoN,MAA+B,SAAvBpN,EAAMsR,QAAQ5P,MAAmB,CACjDwQ,gBAAiB,oBAAmB,QAAM,QAAQ,EAAAC,EAAA,GAAgBtX,EAAWuW,iBAAgB,QAAM,QAAQ,EAAAe,EAAA,GAAgBtX,EAAWuW,gBACrIpR,EAAMoN,MAAQ,CACf8E,gBAAiE,OAA/Cb,EAAuBrR,EAAMoN,KAAKgF,eAAoB,EAASf,EAAqBxW,EAAWuW,aAChH,IAECiB,EAAqB,cAAiB,SAAetU,EAAS3B,GAClE,MAAMhB,GAAQ,EAAA+C,EAAA,GAAc,CAC1B/C,MAAO2C,EACPhB,KAAM,cAEF,UACFrB,EAAS,UACT2C,EAAY,MAAK,UACjB+S,EAAY,EAAC,OACbF,GAAS,EAAK,QACdD,EAAU,aACR7V,EACJ0D,GAAQ,OAA8B1D,EAAOb,GACzCM,GAAa,OAAS,CAAC,EAAGO,EAAO,CACrCiD,YACA+S,YACAF,SACAD,YAEIlS,EA7DkBlE,KACxB,MAAM,OACJqW,EAAM,UACNE,EAAS,QACTH,EAAO,QACPlS,GACElE,EACE6D,EAAQ,CACZxB,KAAM,CAAC,OAAQ+T,GAAUC,GAAU,UAAuB,cAAZD,GAA2B,YAAYG,MAEvF,OAAO,EAAApS,EAAA,GAAeN,EAAOqS,EAAsBhS,EAAQ,EAmD3CE,CAAkBpE,GAQlC,YAJmClB,KADnB,EAAA2Y,EAAA,KACJL,QAAQb,IAChB7G,QAAQC,MAAM,CAAC,iDAAiD4G,qCAA8C,yCAAyCA,oBAA4B3J,KAAK,QAGxK,SAAKuJ,GAAW,OAAS,CAC3C3R,GAAIhB,EACJxD,WAAYA,EACZa,WAAW,EAAAE,EAAA,GAAKmD,EAAQ7B,KAAMxB,GAC9BU,IAAKA,GACJ0C,GACL,IACwCuT,EAAM9S,UAAmC,CAQ/EnB,SAAU,SAIVW,QAAS,WAITrD,UAAW,WAKX2C,UAAW,gBAMX+S,WAAW,EAAAmB,EAAA,GAAeC,EAAA,GAAiBpX,IACzC,MAAM,UACJgW,EAAS,QACTH,GACE7V,EACJ,OAAIgW,EAAY,GAAiB,aAAZH,EACZ,IAAIwB,MAAM,+BAA+BrB,wBAAgCH,oFAE3E,IAAI,IAMbC,OAAQ,SAIRzR,GAAI,cAAoB,CAAC,YAAkB,cAAoB,CAAC,SAAgB,WAAkB,YAAmB,SAAgB,aAKrIwR,QAAS,cAA0D,CAAC,UAAgB,CAAC,YAAa,aAAc,cAElH,4CCjJA,MASA,EATwBG,IACtB,IAAIsB,EAMJ,OAJEA,EADEtB,EAAY,EACD,QAAUA,GAAa,EAEvB,IAAMuB,KAAKC,IAAIxB,EAAY,GAAK,GAEvCsB,EAAa,KAAKG,QAAQ,EAAE,oFCFvB,SAASP,IACtB,MAAMtS,GAAQ,IAAAsS,UAAe,KAK7B,OAFE,gBAAoBtS,GAEfA,EAAM,MAAaA,CAC5B,4CCbO,MAAM8S,EAAS1R,GAAQA,EAAK+N,UAC5B,SAASd,EAAmBjT,EAAO2X,GACxC,IAAIC,EAAuBC,EAC3B,MAAM,QACJ7T,EAAO,OACPmB,EAAM,MACNzE,EAAQ,CAAC,GACPV,EACJ,MAAO,CACL+E,SAAgE,OAArD6S,EAAwBlX,EAAM+C,oBAA8BmU,EAA2C,iBAAZ5T,EAAuBA,EAAUA,EAAQ2T,EAAQrR,OAAS,EAChKnB,OAAoE,OAA3D0S,EAAwBnX,EAAMoX,0BAAoCD,EAA0C,iBAAX1S,EAAsBA,EAAOwS,EAAQrR,MAAQnB,EACvJ4S,MAAOrX,EAAMsX,gBAEjB,mBCbe,SAAStG,EAAgB1R,EAAOiY,EAAUC,EAAeC,EAAUC,GAIhF,MAAMC,EAAYrY,EAAMiY,GAClBK,EAAeF,GAAgBH,EACrC,OAAiB,MAAbI,EACK,KAELA,GAAoC,IAAvBA,EAAUE,SAClB,IAAIlB,MAAM,WAAWc,OAAcG,qBAAgCJ,iCAErE,IACT,mCCPe,SAAS/C,KAAyBqD,GAC/C,OAAOA,EAAMC,QAAO,CAACC,EAAKC,IACZ,MAARA,EACKD,EAEF,YAA4BE,GACjCF,EAAIG,MAAM3P,KAAM0P,GAChBD,EAAKE,MAAM3P,KAAM0P,EACnB,IACC,QACL,sFCPA,SAASE,EAAa9Y,EAAOiY,EAAUC,EAAeC,EAAUC,GAC9D,MAAMnZ,EAAUe,EAAMiY,GAChBK,EAAeF,GAAgBH,EACrC,GAAe,MAAXhZ,GAKc,oBAAX8Z,OACL,OAAO,KAET,IAAIC,EACJ,MAAMzZ,EAAcN,EAAQmO,KAa5B,MAH2B,mBAAhB7N,GA7Bb,SAA0BA,GAExB,MAAM,UACJ0Z,EAAY,CAAC,GACX1Z,EACJ,OAAO0Q,QAAQgJ,EAAUC,iBAC3B,CAuB4CC,CAAiB5Z,KACzDyZ,EAAc,oFAEIza,IAAhBya,EACK,IAAI3B,MAAM,WAAWc,OAAcG,qBAAgCJ,iDAAkEc,uEAEvI,IACT,CACA,MAAMjI,GAAsB,OAAe,YAAmB+H,GAC9D/H,EAAoB3M,YAAa,OAAe,YAAkBA,WAAY0U,GAC9E,2DCpCA,MAAMM,EAAkB,gBACT,SAASpI,EAAU7M,GAIhC,OAAO,OAAS,CAAC,EAAGA,EAAW,CAC7B,CAACiV,GAAkBpZ,IACjB,MAAMqZ,EAAmB5a,OAAOC,KAAKsB,GAAOrB,QAAOC,IAASuF,EAAUuP,eAAe9U,KACrF,OAAIya,EAAiB1Y,OAAS,EACrB,IAAI0W,MAAM,0CAA0CgC,EAAiBtL,KAAInP,GAAQ,KAAKA,QAAUyN,KAAK,8BAEvG,IAAI,GAGjB,mBCjBe,SAASzB,EAAiBV,GAEvC,MAAMoP,EAAgBpP,EAAII,gBAAgBC,YAC1C,OAAOgN,KAAKgC,IAAIR,OAAO1O,WAAaiP,EACtC,oDCuBA,MAAME,EAAY1M,OAAO0M,WAJzB,SAA2BC,GAEzB,MAAoB,iBAANA,GAAkBC,SAASD,IAAMlC,KAAKoC,MAAMF,KAAOA,CACnE,EAEA,SAASG,EAAgB5Z,EAAOiY,EAAUC,EAAeC,GACvD,MAAME,EAAYrY,EAAMiY,GACxB,GAAiB,MAAbI,IAAsBmB,EAAUnB,GAAY,CAC9C,MAAMwB,EAjCH,SAAwBhP,GAC7B,MAAMiP,SAAmBjP,EACzB,OAAQiP,GACN,IAAK,SACH,OAAIhN,OAAOC,MAAMlC,GACR,MAEJiC,OAAO4M,SAAS7O,GAGjBA,IAAU0M,KAAKoC,MAAM9O,GAChB,QAEF,SALE,WAMX,IAAK,SACH,OAAc,OAAVA,EACK,OAEFA,EAAM5B,YAAYtH,KAC3B,QACE,OAAOmY,EAEb,CAWqBC,CAAe1B,GAChC,OAAO,IAAI2B,WAAW,WAAW7B,OAAcF,iBAAwB4B,qBAA4B3B,6BACrG,CACA,OAAO,IACT,CACA,SAAS+B,EAAUja,EAAOiY,KAAavU,GAErC,YAAkBnF,IADAyB,EAAMiY,GAEf,KAEF2B,EAAgB5Z,EAAOiY,KAAavU,EAC7C,CACA,SAASwW,IACP,OAAO,IACT,CACAD,EAAU7V,WAAawV,EACvBM,EAAc9V,WAAa8V,EAC3B,QAAuED,mBClDxD,SAAS9P,EAAcnE,GACpC,OAAOA,GAAQA,EAAKmE,eAAiBoH,QACvC,mECDe,SAAS/J,EAAYxB,GAElC,OADY,OAAcA,GACfmU,aAAepB,MAC5B,mDCDA,IAAIqB,EAAW,EAkBf,MAAMC,EAAkB,EAAM,QAAQC,YAOvB,SAASC,EAAMC,GAC5B,QAAwBjc,IAApB8b,EAA+B,CACjC,MAAMI,EAAUJ,IAChB,OAAqB,MAAdG,EAAqBA,EAAaC,CAC3C,CAEA,OA9BF,SAAqBD,GACnB,MAAOE,EAAWC,GAAgB,WAAeH,GAC3CI,EAAKJ,GAAcE,EAWzB,OAVA,aAAgB,KACG,MAAbA,IAKFN,GAAY,EACZO,EAAa,OAAOP,KACtB,GACC,CAACM,IACGE,CACT,CAgBSC,CAAYL,EACrB,2HClCO,IAAIM,EAAwD,cAAoB,CAAC,WAAkB,UAAgB,CACxHvW,MAAO,WACPC,KAAM,WACNF,OAAQ,aACPF,gBACkE,cAAoB,CAAC,WAAkB,UAAgB,CAC1HG,MAAO,WACPC,KAAM,WACNuW,OAAQ,aACN,UAAgB,CAClBxW,MAAO,WACPyW,UAAW,WACXC,YAAa,WACbzW,KAAM,WACN0W,SAAU,WACVC,WAAY,yBCPHC,EAAY,YACZC,EAAS,SACTC,EAAW,WACXC,EAAU,UACVC,EAAU,UA6FjBC,EAA0B,SAAUC,GAGtC,SAASD,EAAWzb,EAAO2b,GACzB,IAAIC,EAEJA,EAAQF,EAAiBzT,KAAKiB,KAAMlJ,EAAO2b,IAAYzS,KACvD,IAGI2S,EADAvX,EAFcqX,MAEuBG,WAAa9b,EAAMuE,MAAQvE,EAAMsE,OAuB1E,OArBAsX,EAAMG,aAAe,KAEjB/b,EAAM+D,GACJO,GACFuX,EAAgBR,EAChBO,EAAMG,aAAeT,GAErBO,EAAgBN,EAIhBM,EADE7b,EAAMgc,eAAiBhc,EAAMic,aACfb,EAEAC,EAIpBO,EAAM7U,MAAQ,CACZmV,OAAQL,GAEVD,EAAMO,aAAe,KACdP,CACT,EAhCA,OAAeH,EAAYC,GAkC3BD,EAAWW,yBAA2B,SAAkCvZ,EAAMwZ,GAG5E,OAFaxZ,EAAKkB,IAEJsY,EAAUH,SAAWd,EAC1B,CACLc,OAAQb,GAIL,IACT,EAkBA,IAAIiB,EAASb,EAAWxC,UAkPxB,OAhPAqD,EAAOC,kBAAoB,WACzBrT,KAAKsT,cAAa,EAAMtT,KAAK6S,aAC/B,EAEAO,EAAOG,mBAAqB,SAA4BC,GACtD,IAAIC,EAAa,KAEjB,GAAID,IAAcxT,KAAKlJ,MAAO,CAC5B,IAAIkc,EAAShT,KAAKnC,MAAMmV,OAEpBhT,KAAKlJ,MAAM+D,GACTmY,IAAWZ,GAAYY,IAAWX,IACpCoB,EAAarB,GAGXY,IAAWZ,GAAYY,IAAWX,IACpCoB,EAAanB,EAGnB,CAEAtS,KAAKsT,cAAa,EAAOG,EAC3B,EAEAL,EAAOM,qBAAuB,WAC5B1T,KAAK2T,oBACP,EAEAP,EAAOQ,YAAc,WACnB,IACItY,EAAMD,EAAOD,EADbN,EAAUkF,KAAKlJ,MAAMgE,QAWzB,OATAQ,EAAOD,EAAQD,EAASN,EAET,MAAXA,GAAsC,iBAAZA,IAC5BQ,EAAOR,EAAQQ,KACfD,EAAQP,EAAQO,MAEhBD,OAA4B/F,IAAnByF,EAAQM,OAAuBN,EAAQM,OAASC,GAGpD,CACLC,KAAMA,EACND,MAAOA,EACPD,OAAQA,EAEZ,EAEAgY,EAAOE,aAAe,SAAsBO,EAAUJ,GAKpD,QAJiB,IAAbI,IACFA,GAAW,GAGM,OAAfJ,EAIF,GAFAzT,KAAK2T,qBAEDF,IAAerB,EAAU,CAC3B,GAAIpS,KAAKlJ,MAAMgc,eAAiB9S,KAAKlJ,MAAMic,aAAc,CACvD,IAAIjW,EAAOkD,KAAKlJ,MAAM2F,QAAUuD,KAAKlJ,MAAM2F,QAAQM,QAAU,gBAAqBiD,MAI9ElD,GCzOW,SAAqBA,GACrCA,EAAK+N,SACd,CDuOoBiJ,CAAYhX,EACxB,CAEAkD,KAAK+T,aAAaF,EACpB,MACE7T,KAAKgU,mBAEEhU,KAAKlJ,MAAMgc,eAAiB9S,KAAKnC,MAAMmV,SAAWb,GAC3DnS,KAAKiU,SAAS,CACZjB,OAAQd,GAGd,EAEAkB,EAAOW,aAAe,SAAsBF,GAC1C,IAAIK,EAASlU,KAET3E,EAAQ2E,KAAKlJ,MAAMuE,MACnB8Y,EAAYnU,KAAKyS,QAAUzS,KAAKyS,QAAQG,WAAaiB,EAErD3K,EAAQlJ,KAAKlJ,MAAM2F,QAAU,CAAC0X,GAAa,CAAC,gBAAqBnU,MAAOmU,GACxEC,EAAYlL,EAAM,GAClBmL,EAAiBnL,EAAM,GAEvBoL,EAAWtU,KAAK4T,cAChBW,EAAeJ,EAAYG,EAASlZ,OAASkZ,EAASjZ,MAGrDwY,GAAaxY,GASlB2E,KAAKlJ,MAAMqF,QAAQiY,EAAWC,GAC9BrU,KAAKwU,aAAa,CAChBxB,OAAQZ,IACP,WACD8B,EAAOpd,MAAMuF,WAAW+X,EAAWC,GAEnCH,EAAOO,gBAAgBF,GAAc,WACnCL,EAAOM,aAAa,CAClBxB,OAAQX,IACP,WACD6B,EAAOpd,MAAMsF,UAAUgY,EAAWC,EACpC,GACF,GACF,KArBErU,KAAKwU,aAAa,CAChBxB,OAAQX,IACP,WACD6B,EAAOpd,MAAMsF,UAAUgY,EACzB,GAkBJ,EAEAhB,EAAOY,YAAc,WACnB,IAAIU,EAAS1U,KAET1E,EAAO0E,KAAKlJ,MAAMwE,KAClBgZ,EAAWtU,KAAK4T,cAChBQ,EAAYpU,KAAKlJ,MAAM2F,aAAUpH,EAAY,gBAAqB2K,MAEjE1E,GASL0E,KAAKlJ,MAAMwF,OAAO8X,GAClBpU,KAAKwU,aAAa,CAChBxB,OAAQV,IACP,WACDoC,EAAO5d,MAAM0F,UAAU4X,GAEvBM,EAAOD,gBAAgBH,EAAShZ,MAAM,WACpCoZ,EAAOF,aAAa,CAClBxB,OAAQb,IACP,WACDuC,EAAO5d,MAAMyF,SAAS6X,EACxB,GACF,GACF,KArBEpU,KAAKwU,aAAa,CAChBxB,OAAQb,IACP,WACDuC,EAAO5d,MAAMyF,SAAS6X,EACxB,GAkBJ,EAEAhB,EAAOO,mBAAqB,WACA,OAAtB3T,KAAKiT,eACPjT,KAAKiT,aAAa0B,SAClB3U,KAAKiT,aAAe,KAExB,EAEAG,EAAOoB,aAAe,SAAsBI,EAAWhY,GAIrDA,EAAWoD,KAAK6U,gBAAgBjY,GAChCoD,KAAKiU,SAASW,EAAWhY,EAC3B,EAEAwW,EAAOyB,gBAAkB,SAAyBjY,GAChD,IAAIkY,EAAS9U,KAET6R,GAAS,EAcb,OAZA7R,KAAKiT,aAAe,SAAUzL,GACxBqK,IACFA,GAAS,EACTiD,EAAO7B,aAAe,KACtBrW,EAAS4K,GAEb,EAEAxH,KAAKiT,aAAa0B,OAAS,WACzB9C,GAAS,CACX,EAEO7R,KAAKiT,YACd,EAEAG,EAAOqB,gBAAkB,SAAyB3Z,EAASia,GACzD/U,KAAK6U,gBAAgBE,GACrB,IAAIjY,EAAOkD,KAAKlJ,MAAM2F,QAAUuD,KAAKlJ,MAAM2F,QAAQM,QAAU,gBAAqBiD,MAC9EgV,EAA0C,MAAXla,IAAoBkF,KAAKlJ,MAAMkF,eAElE,GAAKc,IAAQkY,EAAb,CAKA,GAAIhV,KAAKlJ,MAAMkF,eAAgB,CAC7B,IAAIiZ,EAAQjV,KAAKlJ,MAAM2F,QAAU,CAACuD,KAAKiT,cAAgB,CAACnW,EAAMkD,KAAKiT,cAC/DmB,EAAYa,EAAM,GAClBC,EAAoBD,EAAM,GAE9BjV,KAAKlJ,MAAMkF,eAAeoY,EAAWc,EACvC,CAEe,MAAXpa,GACFqa,WAAWnV,KAAKiT,aAAcnY,EAXhC,MAFEqa,WAAWnV,KAAKiT,aAAc,EAelC,EAEAG,EAAOgC,OAAS,WACd,IAAIpC,EAAShT,KAAKnC,MAAMmV,OAExB,GAAIA,IAAWd,EACb,OAAO,KAGT,IAAImD,EAAcrV,KAAKlJ,MACnBgD,EAAWub,EAAYvb,SAgBvBgE,GAfMuX,EAAYxa,GACFwa,EAAYtC,aACXsC,EAAYvC,cACnBuC,EAAYja,OACbia,EAAYha,MACbga,EAAY/Z,KACT+Z,EAAYva,QACLua,EAAYrZ,eACnBqZ,EAAYlZ,QACTkZ,EAAYhZ,WACbgZ,EAAYjZ,UACfiZ,EAAY/Y,OACT+Y,EAAY7Y,UACb6Y,EAAY9Y,SACb8Y,EAAY5Y,SACV,OAA8B4Y,EAAa,CAAC,WAAY,KAAM,eAAgB,gBAAiB,SAAU,QAAS,OAAQ,UAAW,iBAAkB,UAAW,aAAc,YAAa,SAAU,YAAa,WAAY,aAEjP,OAGE,kBAAoBC,EAAA,EAAuBC,SAAU,CACnD5T,MAAO,MACc,mBAAb7H,EAA0BA,EAASkZ,EAAQlV,GAAc,iBAAmB,aAAe0X,KAAK1b,GAAWgE,GAEzH,EAEOyU,CACT,CAlT8B,CAkT5B,eA+LF,SAASkD,IAAQ,CA7LjBlD,EAAWmD,YAAcJ,EAAA,EACzB/C,EAAWtX,UAAoD,CAY7DwB,QAAS,UAAgB,CACvBM,QAA4B,oBAAZ4Y,QAA0B,QAAgB,SAAUxG,EAAW7I,EAAK0I,EAAeC,EAAUC,EAAc0G,GACzH,IAAIjU,EAAQwN,EAAU7I,GACtB,OAAO,eAAqB3E,GAAS,kBAAmBA,EAAQA,EAAMV,cAAcgQ,YAAY0E,QAAUA,QAAnG,CAA4GxG,EAAW7I,EAAK0I,EAAeC,EAAUC,EAAc0G,EAC5K,IAiBF9b,SAAU,cAAoB,CAAC,SAAeoB,WAAY,YAAkBA,aAAaA,WAKzFL,GAAI,SAQJkY,aAAc,SAMdD,cAAe,SAaf1X,OAAQ,SAKRC,MAAO,SAKPC,KAAM,SA4BNR,QAAS,SAAiBhE,GACxB,IAAI+e,EAAKjE,EACJ9a,EAAMkF,iBAAgB6Z,EAAKA,EAAG3a,YAEnC,IAAK,IAAI4a,EAAOC,UAAUte,OAAQiY,EAAO,IAAInM,MAAMuS,EAAO,EAAIA,EAAO,EAAI,GAAIE,EAAO,EAAGA,EAAOF,EAAME,IAClGtG,EAAKsG,EAAO,GAAKD,UAAUC,GAG7B,OAAOH,EAAGlG,WAAM,EAAQ,CAAC7Y,GAAOgO,OAAO4K,GACzC,EAgBA1T,eAAgB,SAUhBG,QAAS,SAUTE,WAAY,SAUZD,UAAW,SASXE,OAAQ,SASRE,UAAW,SASXD,SAAU,UAKZgW,EAAW0D,aAAe,CACxBpb,IAAI,EACJkY,cAAc,EACdD,eAAe,EACf1X,QAAQ,EACRC,OAAO,EACPC,MAAM,EACNa,QAASsZ,EACTpZ,WAAYoZ,EACZrZ,UAAWqZ,EACXnZ,OAAQmZ,EACRjZ,UAAWiZ,EACXlZ,SAAUkZ,GAEZlD,EAAWL,UAAYA,EACvBK,EAAWJ,OAASA,EACpBI,EAAWH,SAAWA,EACtBG,EAAWF,QAAUA,EACrBE,EAAWD,QAAUA,EACrB,2BE9mBA,SAAS4D,EAAQvO,GACf,IAAK,IAAIlE,EAAI,EAAGA,EAAIsS,UAAUte,OAAQgM,IAAK,CACzC,IAAI0S,EAASJ,UAAUtS,GACvB,IAAK,IAAI6C,KAAO6P,EACdxO,EAAOrB,GAAO6P,EAAO7P,EAEzB,CACA,OAAOqB,CACT,kBAwHA,IAAIyO,EAlGJ,SAASC,EAAMC,EAAWC,GACxB,SAASC,EAAK/d,EAAMkJ,EAAO8U,GACzB,GAAwB,oBAAbpO,SAAX,CAMkC,iBAFlCoO,EAAaP,EAAO,CAAC,EAAGK,EAAmBE,IAErBC,UACpBD,EAAWC,QAAU,IAAIC,KAAKA,KAAKC,MAA6B,MAArBH,EAAWC,UAEpDD,EAAWC,UACbD,EAAWC,QAAUD,EAAWC,QAAQG,eAG1Cpe,EAAOqe,mBAAmBre,GACvBse,QAAQ,uBAAwBC,oBAChCD,QAAQ,QAASE,QAEpB,IAAIC,EAAwB,GAC5B,IAAK,IAAIC,KAAiBV,EACnBA,EAAWU,KAIhBD,GAAyB,KAAOC,GAEE,IAA9BV,EAAWU,KAWfD,GAAyB,IAAMT,EAAWU,GAAeC,MAAM,KAAK,KAGtE,OAAQ/O,SAASgP,OACf5e,EAAO,IAAM6d,EAAUgB,MAAM3V,EAAOlJ,GAAQye,CAtC9C,CAuCF,CA4BA,OAAO3hB,OAAO+H,OACZ,CACEkZ,MACAe,IA7BJ,SAAc9e,GACZ,GAAwB,oBAAb4P,YAA6B0N,UAAUte,QAAWgB,GAA7D,CAQA,IAFA,IAAI+e,EAAUnP,SAASgP,OAAShP,SAASgP,OAAOD,MAAM,MAAQ,GAC1DK,EAAM,CAAC,EACFhU,EAAI,EAAGA,EAAI+T,EAAQ/f,OAAQgM,IAAK,CACvC,IAAIiU,EAAQF,EAAQ/T,GAAG2T,MAAM,KACzBzV,EAAQ+V,EAAMC,MAAM,GAAGxU,KAAK,KAEhC,IACE,IAAIyU,EAAQZ,mBAAmBU,EAAM,IAGrC,GAFAD,EAAIG,GAAStB,EAAUuB,KAAKlW,EAAOiW,GAE/Bnf,IAASmf,EACX,KAEJ,CAAE,MAAOpL,GAAI,CACf,CAEA,OAAO/T,EAAOgf,EAAIhf,GAAQgf,CApB1B,CAqBF,EAMI5U,OAAQ,SAAUpK,EAAMge,GACtBD,EACE/d,EACA,GACAyd,EAAO,CAAC,EAAGO,EAAY,CACrBC,SAAU,IAGhB,EACAoB,eAAgB,SAAUrB,GACxB,OAAOJ,EAAKrW,KAAKsW,UAAWJ,EAAO,CAAC,EAAGlW,KAAKyW,WAAYA,GAC1D,EACAsB,cAAe,SAAUzB,GACvB,OAAOD,EAAKH,EAAO,CAAC,EAAGlW,KAAKsW,UAAWA,GAAYtW,KAAKyW,WAC1D,GAEF,CACEA,WAAY,CAAE9U,MAAOpM,OAAOyiB,OAAOzB,IACnCD,UAAW,CAAE3U,MAAOpM,OAAOyiB,OAAO1B,KAGxC,CAEUD,CApHa,CACrBwB,KAAM,SAAUlW,GAId,MAHiB,MAAbA,EAAM,KACRA,EAAQA,EAAMgW,MAAM,GAAI,IAEnBhW,EAAMoV,QAAQ,mBAAoBC,mBAC3C,EACAM,MAAO,SAAU3V,GACf,OAAOmV,mBAAmBnV,GAAOoV,QAC/B,2CACAC,mBAEJ,GAwG+B,CAAEiB,KAAM","sources":["webpack:///./node_modules/@mui/base/utils/extractEventHandlers.js","webpack:///./node_modules/@mui/base/utils/isHostComponent.js","webpack:///./node_modules/@mui/base/utils/omitEventHandlers.js","webpack:///./node_modules/@mui/base/utils/useSlotProps.js","webpack:///./node_modules/@mui/base/utils/resolveComponentProps.js","webpack:///./node_modules/@mui/base/utils/mergeSlotProps.js","webpack:///./node_modules/@mui/base/utils/appendOwnerState.js","webpack:///./node_modules/@mui/material/Backdrop/backdropClasses.js","webpack:///./node_modules/@mui/material/Backdrop/Backdrop.js","webpack:///./node_modules/@mui/material/Fade/Fade.js","webpack:///./node_modules/@mui/base/unstable_useModal/ModalManager.js","webpack:///./node_modules/@mui/base/unstable_useModal/useModal.js","webpack:///./node_modules/@mui/base/FocusTrap/FocusTrap.js","webpack:///./node_modules/@mui/base/Portal/Portal.js","webpack:///./node_modules/@mui/material/Modal/modalClasses.js","webpack:///./node_modules/@mui/material/Modal/Modal.js","webpack:///./node_modules/@mui/material/Paper/paperClasses.js","webpack:///./node_modules/@mui/material/Paper/Paper.js","webpack:///./node_modules/@mui/material/styles/getOverlayAlpha.js","webpack:///./node_modules/@mui/material/styles/useTheme.js","webpack:///./node_modules/@mui/material/transitions/utils.js","webpack:///./node_modules/@mui/utils/HTMLElementType/HTMLElementType.js","webpack:///./node_modules/@mui/utils/createChainedFunction/createChainedFunction.js","webpack:///./node_modules/@mui/utils/elementAcceptingRef/elementAcceptingRef.js","webpack:///./node_modules/@mui/utils/exactProp/exactProp.js","webpack:///./node_modules/@mui/utils/getScrollbarSize/getScrollbarSize.js","webpack:///./node_modules/@mui/utils/integerPropType/integerPropType.js","webpack:///./node_modules/@mui/utils/ownerDocument/ownerDocument.js","webpack:///./node_modules/@mui/utils/ownerWindow/ownerWindow.js","webpack:///./node_modules/@mui/utils/useId/useId.js","webpack:///./node_modules/react-transition-group/esm/utils/PropTypes.js","webpack:///./node_modules/react-transition-group/esm/Transition.js","webpack:///./node_modules/react-transition-group/esm/utils/reflow.js","webpack:///./node_modules/js-cookie/dist/js.cookie.mjs"],"sourcesContent":["/**\n * Extracts event handlers from a given object.\n * A prop is considered an event handler if it is a function and its name starts with `on`.\n *\n * @param object An object to extract event handlers from.\n * @param excludeKeys An array of keys to exclude from the returned object.\n */\nexport function extractEventHandlers(object, excludeKeys = []) {\n if (object === undefined) {\n return {};\n }\n const result = {};\n Object.keys(object).filter(prop => prop.match(/^on[A-Z]/) && typeof object[prop] === 'function' && !excludeKeys.includes(prop)).forEach(prop => {\n result[prop] = object[prop];\n });\n return result;\n}","/**\n * Determines if a given element is a DOM element name (i.e. not a React component).\n */\nexport function isHostComponent(element) {\n return typeof element === 'string';\n}","/**\n * Removes event handlers from the given object.\n * A field is considered an event handler if it is a function with a name beginning with `on`.\n *\n * @param object Object to remove event handlers from.\n * @returns Object with event handlers removed.\n */\nexport function omitEventHandlers(object) {\n if (object === undefined) {\n return {};\n }\n const result = {};\n Object.keys(object).filter(prop => !(prop.match(/^on[A-Z]/) && typeof object[prop] === 'function')).forEach(prop => {\n result[prop] = object[prop];\n });\n return result;\n}","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"elementType\", \"externalSlotProps\", \"ownerState\", \"skipResolvingSlotProps\"];\nimport { unstable_useForkRef as useForkRef } from '@mui/utils';\nimport { appendOwnerState } from './appendOwnerState';\nimport { mergeSlotProps } from './mergeSlotProps';\nimport { resolveComponentProps } from './resolveComponentProps';\n/**\n * @ignore - do not document.\n * Builds the props to be passed into the slot of an unstyled component.\n * It merges the internal props of the component with the ones supplied by the user, allowing to customize the behavior.\n * If the slot component is not a host component, it also merges in the `ownerState`.\n *\n * @param parameters.getSlotProps - A function that returns the props to be passed to the slot component.\n */\nexport function useSlotProps(parameters) {\n var _parameters$additiona;\n const {\n elementType,\n externalSlotProps,\n ownerState,\n skipResolvingSlotProps = false\n } = parameters,\n rest = _objectWithoutPropertiesLoose(parameters, _excluded);\n const resolvedComponentsProps = skipResolvingSlotProps ? {} : resolveComponentProps(externalSlotProps, ownerState);\n const {\n props: mergedProps,\n internalRef\n } = mergeSlotProps(_extends({}, rest, {\n externalSlotProps: resolvedComponentsProps\n }));\n const ref = useForkRef(internalRef, resolvedComponentsProps == null ? void 0 : resolvedComponentsProps.ref, (_parameters$additiona = parameters.additionalProps) == null ? void 0 : _parameters$additiona.ref);\n const props = appendOwnerState(elementType, _extends({}, mergedProps, {\n ref\n }), ownerState);\n return props;\n}","/**\n * If `componentProps` is a function, calls it with the provided `ownerState`.\n * Otherwise, just returns `componentProps`.\n */\nexport function resolveComponentProps(componentProps, ownerState, slotState) {\n if (typeof componentProps === 'function') {\n return componentProps(ownerState, slotState);\n }\n return componentProps;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport clsx from 'clsx';\nimport { extractEventHandlers } from './extractEventHandlers';\nimport { omitEventHandlers } from './omitEventHandlers';\n/**\n * Merges the slot component internal props (usually coming from a hook)\n * with the externally provided ones.\n *\n * The merge order is (the latter overrides the former):\n * 1. The internal props (specified as a getter function to work with get*Props hook result)\n * 2. Additional props (specified internally on a Base UI component)\n * 3. External props specified on the owner component. These should only be used on a root slot.\n * 4. External props specified in the `slotProps.*` prop.\n * 5. The `className` prop - combined from all the above.\n * @param parameters\n * @returns\n */\nexport function mergeSlotProps(parameters) {\n const {\n getSlotProps,\n additionalProps,\n externalSlotProps,\n externalForwardedProps,\n className\n } = parameters;\n if (!getSlotProps) {\n // The simpler case - getSlotProps is not defined, so no internal event handlers are defined,\n // so we can simply merge all the props without having to worry about extracting event handlers.\n const joinedClasses = clsx(additionalProps == null ? void 0 : additionalProps.className, className, externalForwardedProps == null ? void 0 : externalForwardedProps.className, externalSlotProps == null ? void 0 : externalSlotProps.className);\n const mergedStyle = _extends({}, additionalProps == null ? void 0 : additionalProps.style, externalForwardedProps == null ? void 0 : externalForwardedProps.style, externalSlotProps == null ? void 0 : externalSlotProps.style);\n const props = _extends({}, additionalProps, externalForwardedProps, externalSlotProps);\n if (joinedClasses.length > 0) {\n props.className = joinedClasses;\n }\n if (Object.keys(mergedStyle).length > 0) {\n props.style = mergedStyle;\n }\n return {\n props,\n internalRef: undefined\n };\n }\n\n // In this case, getSlotProps is responsible for calling the external event handlers.\n // We don't need to include them in the merged props because of this.\n\n const eventHandlers = extractEventHandlers(_extends({}, externalForwardedProps, externalSlotProps));\n const componentsPropsWithoutEventHandlers = omitEventHandlers(externalSlotProps);\n const otherPropsWithoutEventHandlers = omitEventHandlers(externalForwardedProps);\n const internalSlotProps = getSlotProps(eventHandlers);\n\n // The order of classes is important here.\n // Emotion (that we use in libraries consuming Base UI) depends on this order\n // to properly override style. It requires the most important classes to be last\n // (see https://github.com/mui/material-ui/pull/33205) for the related discussion.\n const joinedClasses = clsx(internalSlotProps == null ? void 0 : internalSlotProps.className, additionalProps == null ? void 0 : additionalProps.className, className, externalForwardedProps == null ? void 0 : externalForwardedProps.className, externalSlotProps == null ? void 0 : externalSlotProps.className);\n const mergedStyle = _extends({}, internalSlotProps == null ? void 0 : internalSlotProps.style, additionalProps == null ? void 0 : additionalProps.style, externalForwardedProps == null ? void 0 : externalForwardedProps.style, externalSlotProps == null ? void 0 : externalSlotProps.style);\n const props = _extends({}, internalSlotProps, additionalProps, otherPropsWithoutEventHandlers, componentsPropsWithoutEventHandlers);\n if (joinedClasses.length > 0) {\n props.className = joinedClasses;\n }\n if (Object.keys(mergedStyle).length > 0) {\n props.style = mergedStyle;\n }\n return {\n props,\n internalRef: internalSlotProps.ref\n };\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { isHostComponent } from './isHostComponent';\n\n/**\n * Type of the ownerState based on the type of an element it applies to.\n * This resolves to the provided OwnerState for React components and `undefined` for host components.\n * Falls back to `OwnerState | undefined` when the exact type can't be determined in development time.\n */\n\n/**\n * Appends the ownerState object to the props, merging with the existing one if necessary.\n *\n * @param elementType Type of the element that owns the `existingProps`. If the element is a DOM node or undefined, `ownerState` is not applied.\n * @param otherProps Props of the element.\n * @param ownerState\n */\nexport function appendOwnerState(elementType, otherProps, ownerState) {\n if (elementType === undefined || isHostComponent(elementType)) {\n return otherProps;\n }\n return _extends({}, otherProps, {\n ownerState: _extends({}, otherProps.ownerState, ownerState)\n });\n}","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getBackdropUtilityClass(slot) {\n return generateUtilityClass('MuiBackdrop', slot);\n}\nconst backdropClasses = generateUtilityClasses('MuiBackdrop', ['root', 'invisible']);\nexport default backdropClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"children\", \"className\", \"component\", \"components\", \"componentsProps\", \"invisible\", \"open\", \"slotProps\", \"slots\", \"TransitionComponent\", \"transitionDuration\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport Fade from '../Fade';\nimport { getBackdropUtilityClass } from './backdropClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n invisible\n } = ownerState;\n const slots = {\n root: ['root', invisible && 'invisible']\n };\n return composeClasses(slots, getBackdropUtilityClass, classes);\n};\nconst BackdropRoot = styled('div', {\n name: 'MuiBackdrop',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.invisible && styles.invisible];\n }\n})(({\n ownerState\n}) => _extends({\n position: 'fixed',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n right: 0,\n bottom: 0,\n top: 0,\n left: 0,\n backgroundColor: 'rgba(0, 0, 0, 0.5)',\n WebkitTapHighlightColor: 'transparent'\n}, ownerState.invisible && {\n backgroundColor: 'transparent'\n}));\nconst Backdrop = /*#__PURE__*/React.forwardRef(function Backdrop(inProps, ref) {\n var _slotProps$root, _ref, _slots$root;\n const props = useThemeProps({\n props: inProps,\n name: 'MuiBackdrop'\n });\n const {\n children,\n className,\n component = 'div',\n components = {},\n componentsProps = {},\n invisible = false,\n open,\n slotProps = {},\n slots = {},\n TransitionComponent = Fade,\n transitionDuration\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n component,\n invisible\n });\n const classes = useUtilityClasses(ownerState);\n const rootSlotProps = (_slotProps$root = slotProps.root) != null ? _slotProps$root : componentsProps.root;\n return /*#__PURE__*/_jsx(TransitionComponent, _extends({\n in: open,\n timeout: transitionDuration\n }, other, {\n children: /*#__PURE__*/_jsx(BackdropRoot, _extends({\n \"aria-hidden\": true\n }, rootSlotProps, {\n as: (_ref = (_slots$root = slots.root) != null ? _slots$root : components.Root) != null ? _ref : component,\n className: clsx(classes.root, className, rootSlotProps == null ? void 0 : rootSlotProps.className),\n ownerState: _extends({}, ownerState, rootSlotProps == null ? void 0 : rootSlotProps.ownerState),\n classes: classes,\n ref: ref,\n children: children\n }))\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Backdrop.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * The components used for each slot inside.\n *\n * This prop is an alias for the `slots` prop.\n * It's recommended to use the `slots` prop instead.\n *\n * @default {}\n */\n components: PropTypes.shape({\n Root: PropTypes.elementType\n }),\n /**\n * The extra props for the slot components.\n * You can override the existing props or add new ones.\n *\n * This prop is an alias for the `slotProps` prop.\n * It's recommended to use the `slotProps` prop instead, as `componentsProps` will be deprecated in the future.\n *\n * @default {}\n */\n componentsProps: PropTypes.shape({\n root: PropTypes.object\n }),\n /**\n * If `true`, the backdrop is invisible.\n * It can be used when rendering a popover or a custom select component.\n * @default false\n */\n invisible: PropTypes.bool,\n /**\n * If `true`, the component is shown.\n */\n open: PropTypes.bool.isRequired,\n /**\n * The extra props for the slot components.\n * You can override the existing props or add new ones.\n *\n * This prop is an alias for the `componentsProps` prop, which will be deprecated in the future.\n *\n * @default {}\n */\n slotProps: PropTypes.shape({\n root: PropTypes.object\n }),\n /**\n * The components used for each slot inside.\n *\n * This prop is an alias for the `components` prop, which will be deprecated in the future.\n *\n * @default {}\n */\n slots: PropTypes.shape({\n root: PropTypes.elementType\n }),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The component used for the transition.\n * [Follow this guide](/material-ui/transitions/#transitioncomponent-prop) to learn more about the requirements for this component.\n * @default Fade\n */\n TransitionComponent: PropTypes.elementType,\n /**\n * The duration for the transition, in milliseconds.\n * You may specify a single timeout for all transitions, or individually with an object.\n */\n transitionDuration: PropTypes.oneOfType([PropTypes.number, PropTypes.shape({\n appear: PropTypes.number,\n enter: PropTypes.number,\n exit: PropTypes.number\n })])\n} : void 0;\nexport default Backdrop;","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"addEndListener\", \"appear\", \"children\", \"easing\", \"in\", \"onEnter\", \"onEntered\", \"onEntering\", \"onExit\", \"onExited\", \"onExiting\", \"style\", \"timeout\", \"TransitionComponent\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { Transition } from 'react-transition-group';\nimport elementAcceptingRef from '@mui/utils/elementAcceptingRef';\nimport useTheme from '../styles/useTheme';\nimport { reflow, getTransitionProps } from '../transitions/utils';\nimport useForkRef from '../utils/useForkRef';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst styles = {\n entering: {\n opacity: 1\n },\n entered: {\n opacity: 1\n }\n};\n\n/**\n * The Fade transition is used by the [Modal](/material-ui/react-modal/) component.\n * It uses [react-transition-group](https://github.com/reactjs/react-transition-group) internally.\n */\nconst Fade = /*#__PURE__*/React.forwardRef(function Fade(props, ref) {\n const theme = useTheme();\n const defaultTimeout = {\n enter: theme.transitions.duration.enteringScreen,\n exit: theme.transitions.duration.leavingScreen\n };\n const {\n addEndListener,\n appear = true,\n children,\n easing,\n in: inProp,\n onEnter,\n onEntered,\n onEntering,\n onExit,\n onExited,\n onExiting,\n style,\n timeout = defaultTimeout,\n // eslint-disable-next-line react/prop-types\n TransitionComponent = Transition\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const enableStrictModeCompat = true;\n const nodeRef = React.useRef(null);\n const handleRef = useForkRef(nodeRef, children.ref, ref);\n const normalizedTransitionCallback = callback => maybeIsAppearing => {\n if (callback) {\n const node = nodeRef.current;\n\n // onEnterXxx and onExitXxx callbacks have a different arguments.length value.\n if (maybeIsAppearing === undefined) {\n callback(node);\n } else {\n callback(node, maybeIsAppearing);\n }\n }\n };\n const handleEntering = normalizedTransitionCallback(onEntering);\n const handleEnter = normalizedTransitionCallback((node, isAppearing) => {\n reflow(node); // So the animation always start from the start.\n\n const transitionProps = getTransitionProps({\n style,\n timeout,\n easing\n }, {\n mode: 'enter'\n });\n node.style.webkitTransition = theme.transitions.create('opacity', transitionProps);\n node.style.transition = theme.transitions.create('opacity', transitionProps);\n if (onEnter) {\n onEnter(node, isAppearing);\n }\n });\n const handleEntered = normalizedTransitionCallback(onEntered);\n const handleExiting = normalizedTransitionCallback(onExiting);\n const handleExit = normalizedTransitionCallback(node => {\n const transitionProps = getTransitionProps({\n style,\n timeout,\n easing\n }, {\n mode: 'exit'\n });\n node.style.webkitTransition = theme.transitions.create('opacity', transitionProps);\n node.style.transition = theme.transitions.create('opacity', transitionProps);\n if (onExit) {\n onExit(node);\n }\n });\n const handleExited = normalizedTransitionCallback(onExited);\n const handleAddEndListener = next => {\n if (addEndListener) {\n // Old call signature before `react-transition-group` implemented `nodeRef`\n addEndListener(nodeRef.current, next);\n }\n };\n return /*#__PURE__*/_jsx(TransitionComponent, _extends({\n appear: appear,\n in: inProp,\n nodeRef: enableStrictModeCompat ? nodeRef : undefined,\n onEnter: handleEnter,\n onEntered: handleEntered,\n onEntering: handleEntering,\n onExit: handleExit,\n onExited: handleExited,\n onExiting: handleExiting,\n addEndListener: handleAddEndListener,\n timeout: timeout\n }, other, {\n children: (state, childProps) => {\n return /*#__PURE__*/React.cloneElement(children, _extends({\n style: _extends({\n opacity: 0,\n visibility: state === 'exited' && !inProp ? 'hidden' : undefined\n }, styles[state], style, children.props.style),\n ref: handleRef\n }, childProps));\n }\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Fade.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * Add a custom transition end trigger. Called with the transitioning DOM\n * node and a done callback. Allows for more fine grained transition end\n * logic. Note: Timeouts are still used as a fallback if provided.\n */\n addEndListener: PropTypes.func,\n /**\n * Perform the enter transition when it first mounts if `in` is also `true`.\n * Set this to `false` to disable this behavior.\n * @default true\n */\n appear: PropTypes.bool,\n /**\n * A single child content element.\n */\n children: elementAcceptingRef.isRequired,\n /**\n * The transition timing function.\n * You may specify a single easing or a object containing enter and exit values.\n */\n easing: PropTypes.oneOfType([PropTypes.shape({\n enter: PropTypes.string,\n exit: PropTypes.string\n }), PropTypes.string]),\n /**\n * If `true`, the component will transition in.\n */\n in: PropTypes.bool,\n /**\n * @ignore\n */\n onEnter: PropTypes.func,\n /**\n * @ignore\n */\n onEntered: PropTypes.func,\n /**\n * @ignore\n */\n onEntering: PropTypes.func,\n /**\n * @ignore\n */\n onExit: PropTypes.func,\n /**\n * @ignore\n */\n onExited: PropTypes.func,\n /**\n * @ignore\n */\n onExiting: PropTypes.func,\n /**\n * @ignore\n */\n style: PropTypes.object,\n /**\n * The duration for the transition, in milliseconds.\n * You may specify a single timeout for all transitions, or individually with an object.\n * @default {\n * enter: theme.transitions.duration.enteringScreen,\n * exit: theme.transitions.duration.leavingScreen,\n * }\n */\n timeout: PropTypes.oneOfType([PropTypes.number, PropTypes.shape({\n appear: PropTypes.number,\n enter: PropTypes.number,\n exit: PropTypes.number\n })])\n} : void 0;\nexport default Fade;","import { unstable_ownerWindow as ownerWindow, unstable_ownerDocument as ownerDocument, unstable_getScrollbarSize as getScrollbarSize } from '@mui/utils';\n// Is a vertical scrollbar displayed?\nfunction isOverflowing(container) {\n const doc = ownerDocument(container);\n if (doc.body === container) {\n return ownerWindow(container).innerWidth > doc.documentElement.clientWidth;\n }\n return container.scrollHeight > container.clientHeight;\n}\nexport function ariaHidden(element, show) {\n if (show) {\n element.setAttribute('aria-hidden', 'true');\n } else {\n element.removeAttribute('aria-hidden');\n }\n}\nfunction getPaddingRight(element) {\n return parseInt(ownerWindow(element).getComputedStyle(element).paddingRight, 10) || 0;\n}\nfunction isAriaHiddenForbiddenOnElement(element) {\n // The forbidden HTML tags are the ones from ARIA specification that\n // can be children of body and can't have aria-hidden attribute.\n // cf. https://www.w3.org/TR/html-aria/#docconformance\n const forbiddenTagNames = ['TEMPLATE', 'SCRIPT', 'STYLE', 'LINK', 'MAP', 'META', 'NOSCRIPT', 'PICTURE', 'COL', 'COLGROUP', 'PARAM', 'SLOT', 'SOURCE', 'TRACK'];\n const isForbiddenTagName = forbiddenTagNames.indexOf(element.tagName) !== -1;\n const isInputHidden = element.tagName === 'INPUT' && element.getAttribute('type') === 'hidden';\n return isForbiddenTagName || isInputHidden;\n}\nfunction ariaHiddenSiblings(container, mountElement, currentElement, elementsToExclude, show) {\n const blacklist = [mountElement, currentElement, ...elementsToExclude];\n [].forEach.call(container.children, element => {\n const isNotExcludedElement = blacklist.indexOf(element) === -1;\n const isNotForbiddenElement = !isAriaHiddenForbiddenOnElement(element);\n if (isNotExcludedElement && isNotForbiddenElement) {\n ariaHidden(element, show);\n }\n });\n}\nfunction findIndexOf(items, callback) {\n let idx = -1;\n items.some((item, index) => {\n if (callback(item)) {\n idx = index;\n return true;\n }\n return false;\n });\n return idx;\n}\nfunction handleContainer(containerInfo, props) {\n const restoreStyle = [];\n const container = containerInfo.container;\n if (!props.disableScrollLock) {\n if (isOverflowing(container)) {\n // Compute the size before applying overflow hidden to avoid any scroll jumps.\n const scrollbarSize = getScrollbarSize(ownerDocument(container));\n restoreStyle.push({\n value: container.style.paddingRight,\n property: 'padding-right',\n el: container\n });\n // Use computed style, here to get the real padding to add our scrollbar width.\n container.style.paddingRight = `${getPaddingRight(container) + scrollbarSize}px`;\n\n // .mui-fixed is a global helper.\n const fixedElements = ownerDocument(container).querySelectorAll('.mui-fixed');\n [].forEach.call(fixedElements, element => {\n restoreStyle.push({\n value: element.style.paddingRight,\n property: 'padding-right',\n el: element\n });\n element.style.paddingRight = `${getPaddingRight(element) + scrollbarSize}px`;\n });\n }\n let scrollContainer;\n if (container.parentNode instanceof DocumentFragment) {\n scrollContainer = ownerDocument(container).body;\n } else {\n // Support html overflow-y: auto for scroll stability between pages\n // https://css-tricks.com/snippets/css/force-vertical-scrollbar/\n const parent = container.parentElement;\n const containerWindow = ownerWindow(container);\n scrollContainer = (parent == null ? void 0 : parent.nodeName) === 'HTML' && containerWindow.getComputedStyle(parent).overflowY === 'scroll' ? parent : container;\n }\n\n // Block the scroll even if no scrollbar is visible to account for mobile keyboard\n // screensize shrink.\n restoreStyle.push({\n value: scrollContainer.style.overflow,\n property: 'overflow',\n el: scrollContainer\n }, {\n value: scrollContainer.style.overflowX,\n property: 'overflow-x',\n el: scrollContainer\n }, {\n value: scrollContainer.style.overflowY,\n property: 'overflow-y',\n el: scrollContainer\n });\n scrollContainer.style.overflow = 'hidden';\n }\n const restore = () => {\n restoreStyle.forEach(({\n value,\n el,\n property\n }) => {\n if (value) {\n el.style.setProperty(property, value);\n } else {\n el.style.removeProperty(property);\n }\n });\n };\n return restore;\n}\nfunction getHiddenSiblings(container) {\n const hiddenSiblings = [];\n [].forEach.call(container.children, element => {\n if (element.getAttribute('aria-hidden') === 'true') {\n hiddenSiblings.push(element);\n }\n });\n return hiddenSiblings;\n}\n/**\n * @ignore - do not document.\n *\n * Proper state management for containers and the modals in those containers.\n * Simplified, but inspired by react-overlay's ModalManager class.\n * Used by the Modal to ensure proper styling of containers.\n */\nexport class ModalManager {\n constructor() {\n this.containers = void 0;\n this.modals = void 0;\n this.modals = [];\n this.containers = [];\n }\n add(modal, container) {\n let modalIndex = this.modals.indexOf(modal);\n if (modalIndex !== -1) {\n return modalIndex;\n }\n modalIndex = this.modals.length;\n this.modals.push(modal);\n\n // If the modal we are adding is already in the DOM.\n if (modal.modalRef) {\n ariaHidden(modal.modalRef, false);\n }\n const hiddenSiblings = getHiddenSiblings(container);\n ariaHiddenSiblings(container, modal.mount, modal.modalRef, hiddenSiblings, true);\n const containerIndex = findIndexOf(this.containers, item => item.container === container);\n if (containerIndex !== -1) {\n this.containers[containerIndex].modals.push(modal);\n return modalIndex;\n }\n this.containers.push({\n modals: [modal],\n container,\n restore: null,\n hiddenSiblings\n });\n return modalIndex;\n }\n mount(modal, props) {\n const containerIndex = findIndexOf(this.containers, item => item.modals.indexOf(modal) !== -1);\n const containerInfo = this.containers[containerIndex];\n if (!containerInfo.restore) {\n containerInfo.restore = handleContainer(containerInfo, props);\n }\n }\n remove(modal, ariaHiddenState = true) {\n const modalIndex = this.modals.indexOf(modal);\n if (modalIndex === -1) {\n return modalIndex;\n }\n const containerIndex = findIndexOf(this.containers, item => item.modals.indexOf(modal) !== -1);\n const containerInfo = this.containers[containerIndex];\n containerInfo.modals.splice(containerInfo.modals.indexOf(modal), 1);\n this.modals.splice(modalIndex, 1);\n\n // If that was the last modal in a container, clean up the container.\n if (containerInfo.modals.length === 0) {\n // The modal might be closed before it had the chance to be mounted in the DOM.\n if (containerInfo.restore) {\n containerInfo.restore();\n }\n if (modal.modalRef) {\n // In case the modal wasn't in the DOM yet.\n ariaHidden(modal.modalRef, ariaHiddenState);\n }\n ariaHiddenSiblings(containerInfo.container, modal.mount, modal.modalRef, containerInfo.hiddenSiblings, false);\n this.containers.splice(containerIndex, 1);\n } else {\n // Otherwise make sure the next top modal is visible to a screen reader.\n const nextTop = containerInfo.modals[containerInfo.modals.length - 1];\n // as soon as a modal is adding its modalRef is undefined. it can't set\n // aria-hidden because the dom element doesn't exist either\n // when modal was unmounted before modalRef gets null\n if (nextTop.modalRef) {\n ariaHidden(nextTop.modalRef, false);\n }\n }\n return modalIndex;\n }\n isTopModal(modal) {\n return this.modals.length > 0 && this.modals[this.modals.length - 1] === modal;\n }\n}","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport { unstable_ownerDocument as ownerDocument, unstable_useForkRef as useForkRef, unstable_useEventCallback as useEventCallback, unstable_createChainedFunction as createChainedFunction } from '@mui/utils';\nimport { extractEventHandlers } from '../utils';\nimport { ModalManager, ariaHidden } from './ModalManager';\nfunction getContainer(container) {\n return typeof container === 'function' ? container() : container;\n}\nfunction getHasTransition(children) {\n return children ? children.props.hasOwnProperty('in') : false;\n}\n\n// A modal manager used to track and manage the state of open Modals.\n// Modals don't open on the server so this won't conflict with concurrent requests.\nconst defaultManager = new ModalManager();\n/**\n *\n * Demos:\n *\n * - [Modal](https://mui.com/base-ui/react-modal/#hook)\n *\n * API:\n *\n * - [useModal API](https://mui.com/base-ui/react-modal/hooks-api/#use-modal)\n */\nexport function useModal(parameters) {\n const {\n container,\n disableEscapeKeyDown = false,\n disableScrollLock = false,\n // @ts-ignore internal logic - Base UI supports the manager as a prop too\n manager = defaultManager,\n closeAfterTransition = false,\n onTransitionEnter,\n onTransitionExited,\n children,\n onClose,\n open,\n rootRef\n } = parameters;\n\n // @ts-ignore internal logic\n const modal = React.useRef({});\n const mountNodeRef = React.useRef(null);\n const modalRef = React.useRef(null);\n const handleRef = useForkRef(modalRef, rootRef);\n const [exited, setExited] = React.useState(!open);\n const hasTransition = getHasTransition(children);\n let ariaHiddenProp = true;\n if (parameters['aria-hidden'] === 'false' || parameters['aria-hidden'] === false) {\n ariaHiddenProp = false;\n }\n const getDoc = () => ownerDocument(mountNodeRef.current);\n const getModal = () => {\n modal.current.modalRef = modalRef.current;\n modal.current.mount = mountNodeRef.current;\n return modal.current;\n };\n const handleMounted = () => {\n manager.mount(getModal(), {\n disableScrollLock\n });\n\n // Fix a bug on Chrome where the scroll isn't initially 0.\n if (modalRef.current) {\n modalRef.current.scrollTop = 0;\n }\n };\n const handleOpen = useEventCallback(() => {\n const resolvedContainer = getContainer(container) || getDoc().body;\n manager.add(getModal(), resolvedContainer);\n\n // The element was already mounted.\n if (modalRef.current) {\n handleMounted();\n }\n });\n const isTopModal = React.useCallback(() => manager.isTopModal(getModal()), [manager]);\n const handlePortalRef = useEventCallback(node => {\n mountNodeRef.current = node;\n if (!node) {\n return;\n }\n if (open && isTopModal()) {\n handleMounted();\n } else if (modalRef.current) {\n ariaHidden(modalRef.current, ariaHiddenProp);\n }\n });\n const handleClose = React.useCallback(() => {\n manager.remove(getModal(), ariaHiddenProp);\n }, [ariaHiddenProp, manager]);\n React.useEffect(() => {\n return () => {\n handleClose();\n };\n }, [handleClose]);\n React.useEffect(() => {\n if (open) {\n handleOpen();\n } else if (!hasTransition || !closeAfterTransition) {\n handleClose();\n }\n }, [open, handleClose, hasTransition, closeAfterTransition, handleOpen]);\n const createHandleKeyDown = otherHandlers => event => {\n var _otherHandlers$onKeyD;\n (_otherHandlers$onKeyD = otherHandlers.onKeyDown) == null || _otherHandlers$onKeyD.call(otherHandlers, event);\n\n // The handler doesn't take event.defaultPrevented into account:\n //\n // event.preventDefault() is meant to stop default behaviors like\n // clicking a checkbox to check it, hitting a button to submit a form,\n // and hitting left arrow to move the cursor in a text input etc.\n // Only special HTML elements have these default behaviors.\n if (event.key !== 'Escape' || event.which === 229 ||\n // Wait until IME is settled.\n !isTopModal()) {\n return;\n }\n if (!disableEscapeKeyDown) {\n // Swallow the event, in case someone is listening for the escape key on the body.\n event.stopPropagation();\n if (onClose) {\n onClose(event, 'escapeKeyDown');\n }\n }\n };\n const createHandleBackdropClick = otherHandlers => event => {\n var _otherHandlers$onClic;\n (_otherHandlers$onClic = otherHandlers.onClick) == null || _otherHandlers$onClic.call(otherHandlers, event);\n if (event.target !== event.currentTarget) {\n return;\n }\n if (onClose) {\n onClose(event, 'backdropClick');\n }\n };\n const getRootProps = (otherHandlers = {}) => {\n const propsEventHandlers = extractEventHandlers(parameters);\n\n // The custom event handlers shouldn't be spread on the root element\n delete propsEventHandlers.onTransitionEnter;\n delete propsEventHandlers.onTransitionExited;\n const externalEventHandlers = _extends({}, propsEventHandlers, otherHandlers);\n return _extends({\n role: 'presentation'\n }, externalEventHandlers, {\n onKeyDown: createHandleKeyDown(externalEventHandlers),\n ref: handleRef\n });\n };\n const getBackdropProps = (otherHandlers = {}) => {\n const externalEventHandlers = otherHandlers;\n return _extends({\n 'aria-hidden': true\n }, externalEventHandlers, {\n onClick: createHandleBackdropClick(externalEventHandlers),\n open\n });\n };\n const getTransitionProps = () => {\n const handleEnter = () => {\n setExited(false);\n if (onTransitionEnter) {\n onTransitionEnter();\n }\n };\n const handleExited = () => {\n setExited(true);\n if (onTransitionExited) {\n onTransitionExited();\n }\n if (closeAfterTransition) {\n handleClose();\n }\n };\n return {\n onEnter: createChainedFunction(handleEnter, children == null ? void 0 : children.props.onEnter),\n onExited: createChainedFunction(handleExited, children == null ? void 0 : children.props.onExited)\n };\n };\n return {\n getRootProps,\n getBackdropProps,\n getTransitionProps,\n rootRef: handleRef,\n portalRef: handlePortalRef,\n isTopModal,\n exited,\n hasTransition\n };\n}","'use client';\n\n/* eslint-disable consistent-return, jsx-a11y/no-noninteractive-tabindex */\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { exactProp, elementAcceptingRef, unstable_useForkRef as useForkRef, unstable_ownerDocument as ownerDocument } from '@mui/utils';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\n// Inspired by https://github.com/focus-trap/tabbable\nconst candidatesSelector = ['input', 'select', 'textarea', 'a[href]', 'button', '[tabindex]', 'audio[controls]', 'video[controls]', '[contenteditable]:not([contenteditable=\"false\"])'].join(',');\nfunction getTabIndex(node) {\n const tabindexAttr = parseInt(node.getAttribute('tabindex') || '', 10);\n if (!Number.isNaN(tabindexAttr)) {\n return tabindexAttr;\n }\n\n // Browsers do not return `tabIndex` correctly for contentEditable nodes;\n // https://bugs.chromium.org/p/chromium/issues/detail?id=661108&q=contenteditable%20tabindex&can=2\n // so if they don't have a tabindex attribute specifically set, assume it's 0.\n // in Chrome, , and elements get a default\n // `tabIndex` of -1 when the 'tabindex' attribute isn't specified in the DOM,\n // yet they are still part of the regular tab order; in FF, they get a default\n // `tabIndex` of 0; since Chrome still puts those elements in the regular tab\n // order, consider their tab index to be 0.\n if (node.contentEditable === 'true' || (node.nodeName === 'AUDIO' || node.nodeName === 'VIDEO' || node.nodeName === 'DETAILS') && node.getAttribute('tabindex') === null) {\n return 0;\n }\n return node.tabIndex;\n}\nfunction isNonTabbableRadio(node) {\n if (node.tagName !== 'INPUT' || node.type !== 'radio') {\n return false;\n }\n if (!node.name) {\n return false;\n }\n const getRadio = selector => node.ownerDocument.querySelector(`input[type=\"radio\"]${selector}`);\n let roving = getRadio(`[name=\"${node.name}\"]:checked`);\n if (!roving) {\n roving = getRadio(`[name=\"${node.name}\"]`);\n }\n return roving !== node;\n}\nfunction isNodeMatchingSelectorFocusable(node) {\n if (node.disabled || node.tagName === 'INPUT' && node.type === 'hidden' || isNonTabbableRadio(node)) {\n return false;\n }\n return true;\n}\nfunction defaultGetTabbable(root) {\n const regularTabNodes = [];\n const orderedTabNodes = [];\n Array.from(root.querySelectorAll(candidatesSelector)).forEach((node, i) => {\n const nodeTabIndex = getTabIndex(node);\n if (nodeTabIndex === -1 || !isNodeMatchingSelectorFocusable(node)) {\n return;\n }\n if (nodeTabIndex === 0) {\n regularTabNodes.push(node);\n } else {\n orderedTabNodes.push({\n documentOrder: i,\n tabIndex: nodeTabIndex,\n node: node\n });\n }\n });\n return orderedTabNodes.sort((a, b) => a.tabIndex === b.tabIndex ? a.documentOrder - b.documentOrder : a.tabIndex - b.tabIndex).map(a => a.node).concat(regularTabNodes);\n}\nfunction defaultIsEnabled() {\n return true;\n}\n\n/**\n * Utility component that locks focus inside the component.\n *\n * Demos:\n *\n * - [Focus Trap](https://mui.com/base-ui/react-focus-trap/)\n *\n * API:\n *\n * - [FocusTrap API](https://mui.com/base-ui/react-focus-trap/components-api/#focus-trap)\n */\nfunction FocusTrap(props) {\n const {\n children,\n disableAutoFocus = false,\n disableEnforceFocus = false,\n disableRestoreFocus = false,\n getTabbable = defaultGetTabbable,\n isEnabled = defaultIsEnabled,\n open\n } = props;\n const ignoreNextEnforceFocus = React.useRef(false);\n const sentinelStart = React.useRef(null);\n const sentinelEnd = React.useRef(null);\n const nodeToRestore = React.useRef(null);\n const reactFocusEventTarget = React.useRef(null);\n // This variable is useful when disableAutoFocus is true.\n // It waits for the active element to move into the component to activate.\n const activated = React.useRef(false);\n const rootRef = React.useRef(null);\n // @ts-expect-error TODO upstream fix\n const handleRef = useForkRef(children.ref, rootRef);\n const lastKeydown = React.useRef(null);\n React.useEffect(() => {\n // We might render an empty child.\n if (!open || !rootRef.current) {\n return;\n }\n activated.current = !disableAutoFocus;\n }, [disableAutoFocus, open]);\n React.useEffect(() => {\n // We might render an empty child.\n if (!open || !rootRef.current) {\n return;\n }\n const doc = ownerDocument(rootRef.current);\n if (!rootRef.current.contains(doc.activeElement)) {\n if (!rootRef.current.hasAttribute('tabIndex')) {\n if (process.env.NODE_ENV !== 'production') {\n console.error(['MUI: The modal content node does not accept focus.', 'For the benefit of assistive technologies, ' + 'the tabIndex of the node is being set to \"-1\".'].join('\\n'));\n }\n rootRef.current.setAttribute('tabIndex', '-1');\n }\n if (activated.current) {\n rootRef.current.focus();\n }\n }\n return () => {\n // restoreLastFocus()\n if (!disableRestoreFocus) {\n // In IE11 it is possible for document.activeElement to be null resulting\n // in nodeToRestore.current being null.\n // Not all elements in IE11 have a focus method.\n // Once IE11 support is dropped the focus() call can be unconditional.\n if (nodeToRestore.current && nodeToRestore.current.focus) {\n ignoreNextEnforceFocus.current = true;\n nodeToRestore.current.focus();\n }\n nodeToRestore.current = null;\n }\n };\n // Missing `disableRestoreFocus` which is fine.\n // We don't support changing that prop on an open FocusTrap\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [open]);\n React.useEffect(() => {\n // We might render an empty child.\n if (!open || !rootRef.current) {\n return;\n }\n const doc = ownerDocument(rootRef.current);\n const loopFocus = nativeEvent => {\n lastKeydown.current = nativeEvent;\n if (disableEnforceFocus || !isEnabled() || nativeEvent.key !== 'Tab') {\n return;\n }\n\n // Make sure the next tab starts from the right place.\n // doc.activeElement refers to the origin.\n if (doc.activeElement === rootRef.current && nativeEvent.shiftKey) {\n // We need to ignore the next contain as\n // it will try to move the focus back to the rootRef element.\n ignoreNextEnforceFocus.current = true;\n if (sentinelEnd.current) {\n sentinelEnd.current.focus();\n }\n }\n };\n const contain = () => {\n const rootElement = rootRef.current;\n\n // Cleanup functions are executed lazily in React 17.\n // Contain can be called between the component being unmounted and its cleanup function being run.\n if (rootElement === null) {\n return;\n }\n if (!doc.hasFocus() || !isEnabled() || ignoreNextEnforceFocus.current) {\n ignoreNextEnforceFocus.current = false;\n return;\n }\n\n // The focus is already inside\n if (rootElement.contains(doc.activeElement)) {\n return;\n }\n\n // The disableEnforceFocus is set and the focus is outside of the focus trap (and sentinel nodes)\n if (disableEnforceFocus && doc.activeElement !== sentinelStart.current && doc.activeElement !== sentinelEnd.current) {\n return;\n }\n\n // if the focus event is not coming from inside the children's react tree, reset the refs\n if (doc.activeElement !== reactFocusEventTarget.current) {\n reactFocusEventTarget.current = null;\n } else if (reactFocusEventTarget.current !== null) {\n return;\n }\n if (!activated.current) {\n return;\n }\n let tabbable = [];\n if (doc.activeElement === sentinelStart.current || doc.activeElement === sentinelEnd.current) {\n tabbable = getTabbable(rootRef.current);\n }\n\n // one of the sentinel nodes was focused, so move the focus\n // to the first/last tabbable element inside the focus trap\n if (tabbable.length > 0) {\n var _lastKeydown$current, _lastKeydown$current2;\n const isShiftTab = Boolean(((_lastKeydown$current = lastKeydown.current) == null ? void 0 : _lastKeydown$current.shiftKey) && ((_lastKeydown$current2 = lastKeydown.current) == null ? void 0 : _lastKeydown$current2.key) === 'Tab');\n const focusNext = tabbable[0];\n const focusPrevious = tabbable[tabbable.length - 1];\n if (typeof focusNext !== 'string' && typeof focusPrevious !== 'string') {\n if (isShiftTab) {\n focusPrevious.focus();\n } else {\n focusNext.focus();\n }\n }\n // no tabbable elements in the trap focus or the focus was outside of the focus trap\n } else {\n rootElement.focus();\n }\n };\n doc.addEventListener('focusin', contain);\n doc.addEventListener('keydown', loopFocus, true);\n\n // With Edge, Safari and Firefox, no focus related events are fired when the focused area stops being a focused area.\n // for example https://bugzilla.mozilla.org/show_bug.cgi?id=559561.\n // Instead, we can look if the active element was restored on the BODY element.\n //\n // The whatwg spec defines how the browser should behave but does not explicitly mention any events:\n // https://html.spec.whatwg.org/multipage/interaction.html#focus-fixup-rule.\n const interval = setInterval(() => {\n if (doc.activeElement && doc.activeElement.tagName === 'BODY') {\n contain();\n }\n }, 50);\n return () => {\n clearInterval(interval);\n doc.removeEventListener('focusin', contain);\n doc.removeEventListener('keydown', loopFocus, true);\n };\n }, [disableAutoFocus, disableEnforceFocus, disableRestoreFocus, isEnabled, open, getTabbable]);\n const onFocus = event => {\n if (nodeToRestore.current === null) {\n nodeToRestore.current = event.relatedTarget;\n }\n activated.current = true;\n reactFocusEventTarget.current = event.target;\n const childrenPropsHandler = children.props.onFocus;\n if (childrenPropsHandler) {\n childrenPropsHandler(event);\n }\n };\n const handleFocusSentinel = event => {\n if (nodeToRestore.current === null) {\n nodeToRestore.current = event.relatedTarget;\n }\n activated.current = true;\n };\n return /*#__PURE__*/_jsxs(React.Fragment, {\n children: [/*#__PURE__*/_jsx(\"div\", {\n tabIndex: open ? 0 : -1,\n onFocus: handleFocusSentinel,\n ref: sentinelStart,\n \"data-testid\": \"sentinelStart\"\n }), /*#__PURE__*/React.cloneElement(children, {\n ref: handleRef,\n onFocus\n }), /*#__PURE__*/_jsx(\"div\", {\n tabIndex: open ? 0 : -1,\n onFocus: handleFocusSentinel,\n ref: sentinelEnd,\n \"data-testid\": \"sentinelEnd\"\n })]\n });\n}\nprocess.env.NODE_ENV !== \"production\" ? FocusTrap.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the TypeScript types and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * A single child content element.\n */\n children: elementAcceptingRef,\n /**\n * If `true`, the focus trap will not automatically shift focus to itself when it opens, and\n * replace it to the last focused element when it closes.\n * This also works correctly with any focus trap children that have the `disableAutoFocus` prop.\n *\n * Generally this should never be set to `true` as it makes the focus trap less\n * accessible to assistive technologies, like screen readers.\n * @default false\n */\n disableAutoFocus: PropTypes.bool,\n /**\n * If `true`, the focus trap will not prevent focus from leaving the focus trap while open.\n *\n * Generally this should never be set to `true` as it makes the focus trap less\n * accessible to assistive technologies, like screen readers.\n * @default false\n */\n disableEnforceFocus: PropTypes.bool,\n /**\n * If `true`, the focus trap will not restore focus to previously focused element once\n * focus trap is hidden or unmounted.\n * @default false\n */\n disableRestoreFocus: PropTypes.bool,\n /**\n * Returns an array of ordered tabbable nodes (i.e. in tab order) within the root.\n * For instance, you can provide the \"tabbable\" npm dependency.\n * @param {HTMLElement} root\n */\n getTabbable: PropTypes.func,\n /**\n * This prop extends the `open` prop.\n * It allows to toggle the open state without having to wait for a rerender when changing the `open` prop.\n * This prop should be memoized.\n * It can be used to support multiple focus trap mounted at the same time.\n * @default function defaultIsEnabled(): boolean {\n * return true;\n * }\n */\n isEnabled: PropTypes.func,\n /**\n * If `true`, focus is locked.\n */\n open: PropTypes.bool.isRequired\n} : void 0;\nif (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line\n FocusTrap['propTypes' + ''] = exactProp(FocusTrap.propTypes);\n}\nexport { FocusTrap };","'use client';\n\nimport * as React from 'react';\nimport * as ReactDOM from 'react-dom';\nimport PropTypes from 'prop-types';\nimport { exactProp, HTMLElementType, unstable_useEnhancedEffect as useEnhancedEffect, unstable_useForkRef as useForkRef, unstable_setRef as setRef } from '@mui/utils';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction getContainer(container) {\n return typeof container === 'function' ? container() : container;\n}\n\n/**\n * Portals provide a first-class way to render children into a DOM node\n * that exists outside the DOM hierarchy of the parent component.\n *\n * Demos:\n *\n * - [Portal](https://mui.com/base-ui/react-portal/)\n *\n * API:\n *\n * - [Portal API](https://mui.com/base-ui/react-portal/components-api/#portal)\n */\nconst Portal = /*#__PURE__*/React.forwardRef(function Portal(props, forwardedRef) {\n const {\n children,\n container,\n disablePortal = false\n } = props;\n const [mountNode, setMountNode] = React.useState(null);\n // @ts-expect-error TODO upstream fix\n const handleRef = useForkRef( /*#__PURE__*/React.isValidElement(children) ? children.ref : null, forwardedRef);\n useEnhancedEffect(() => {\n if (!disablePortal) {\n setMountNode(getContainer(container) || document.body);\n }\n }, [container, disablePortal]);\n useEnhancedEffect(() => {\n if (mountNode && !disablePortal) {\n setRef(forwardedRef, mountNode);\n return () => {\n setRef(forwardedRef, null);\n };\n }\n return undefined;\n }, [forwardedRef, mountNode, disablePortal]);\n if (disablePortal) {\n if ( /*#__PURE__*/React.isValidElement(children)) {\n const newProps = {\n ref: handleRef\n };\n return /*#__PURE__*/React.cloneElement(children, newProps);\n }\n return /*#__PURE__*/_jsx(React.Fragment, {\n children: children\n });\n }\n return /*#__PURE__*/_jsx(React.Fragment, {\n children: mountNode ? /*#__PURE__*/ReactDOM.createPortal(children, mountNode) : mountNode\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? Portal.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the TypeScript types and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The children to render into the `container`.\n */\n children: PropTypes.node,\n /**\n * An HTML element or function that returns one.\n * The `container` will have the portal children appended to it.\n *\n * You can also provide a callback, which is called in a React layout effect.\n * This lets you set the container from a ref, and also makes server-side rendering possible.\n *\n * By default, it uses the body of the top-level document object,\n * so it's simply `document.body` most of the time.\n */\n container: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([HTMLElementType, PropTypes.func]),\n /**\n * The `children` will be under the DOM hierarchy of the parent component.\n * @default false\n */\n disablePortal: PropTypes.bool\n} : void 0;\nif (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line\n Portal['propTypes' + ''] = exactProp(Portal.propTypes);\n}\nexport { Portal };","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getModalUtilityClass(slot) {\n return generateUtilityClass('MuiModal', slot);\n}\nconst modalClasses = generateUtilityClasses('MuiModal', ['root', 'hidden', 'backdrop']);\nexport default modalClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"BackdropComponent\", \"BackdropProps\", \"classes\", \"className\", \"closeAfterTransition\", \"children\", \"container\", \"component\", \"components\", \"componentsProps\", \"disableAutoFocus\", \"disableEnforceFocus\", \"disableEscapeKeyDown\", \"disablePortal\", \"disableRestoreFocus\", \"disableScrollLock\", \"hideBackdrop\", \"keepMounted\", \"onBackdropClick\", \"onClose\", \"onTransitionEnter\", \"onTransitionExited\", \"open\", \"slotProps\", \"slots\", \"theme\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport HTMLElementType from '@mui/utils/HTMLElementType';\nimport elementAcceptingRef from '@mui/utils/elementAcceptingRef';\nimport { useSlotProps } from '@mui/base/utils';\nimport { unstable_useModal as useModal } from '@mui/base/unstable_useModal';\nimport composeClasses from '@mui/utils/composeClasses';\nimport FocusTrap from '../Unstable_TrapFocus';\nimport Portal from '../Portal';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport Backdrop from '../Backdrop';\nimport { getModalUtilityClass } from './modalClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n open,\n exited,\n classes\n } = ownerState;\n const slots = {\n root: ['root', !open && exited && 'hidden'],\n backdrop: ['backdrop']\n };\n return composeClasses(slots, getModalUtilityClass, classes);\n};\nconst ModalRoot = styled('div', {\n name: 'MuiModal',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, !ownerState.open && ownerState.exited && styles.hidden];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n position: 'fixed',\n zIndex: (theme.vars || theme).zIndex.modal,\n right: 0,\n bottom: 0,\n top: 0,\n left: 0\n}, !ownerState.open && ownerState.exited && {\n visibility: 'hidden'\n}));\nconst ModalBackdrop = styled(Backdrop, {\n name: 'MuiModal',\n slot: 'Backdrop',\n overridesResolver: (props, styles) => {\n return styles.backdrop;\n }\n})({\n zIndex: -1\n});\n\n/**\n * Modal is a lower-level construct that is leveraged by the following components:\n *\n * - [Dialog](/material-ui/api/dialog/)\n * - [Drawer](/material-ui/api/drawer/)\n * - [Menu](/material-ui/api/menu/)\n * - [Popover](/material-ui/api/popover/)\n *\n * If you are creating a modal dialog, you probably want to use the [Dialog](/material-ui/api/dialog/) component\n * rather than directly using Modal.\n *\n * This component shares many concepts with [react-overlays](https://react-bootstrap.github.io/react-overlays/#modals).\n */\nconst Modal = /*#__PURE__*/React.forwardRef(function Modal(inProps, ref) {\n var _ref, _slots$root, _ref2, _slots$backdrop, _slotProps$root, _slotProps$backdrop;\n const props = useThemeProps({\n name: 'MuiModal',\n props: inProps\n });\n const {\n BackdropComponent = ModalBackdrop,\n BackdropProps,\n className,\n closeAfterTransition = false,\n children,\n container,\n component,\n components = {},\n componentsProps = {},\n disableAutoFocus = false,\n disableEnforceFocus = false,\n disableEscapeKeyDown = false,\n disablePortal = false,\n disableRestoreFocus = false,\n disableScrollLock = false,\n hideBackdrop = false,\n keepMounted = false,\n onBackdropClick,\n open,\n slotProps,\n slots\n // eslint-disable-next-line react/prop-types\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const propsWithDefaults = _extends({}, props, {\n closeAfterTransition,\n disableAutoFocus,\n disableEnforceFocus,\n disableEscapeKeyDown,\n disablePortal,\n disableRestoreFocus,\n disableScrollLock,\n hideBackdrop,\n keepMounted\n });\n const {\n getRootProps,\n getBackdropProps,\n getTransitionProps,\n portalRef,\n isTopModal,\n exited,\n hasTransition\n } = useModal(_extends({}, propsWithDefaults, {\n rootRef: ref\n }));\n const ownerState = _extends({}, propsWithDefaults, {\n exited\n });\n const classes = useUtilityClasses(ownerState);\n const childProps = {};\n if (children.props.tabIndex === undefined) {\n childProps.tabIndex = '-1';\n }\n\n // It's a Transition like component\n if (hasTransition) {\n const {\n onEnter,\n onExited\n } = getTransitionProps();\n childProps.onEnter = onEnter;\n childProps.onExited = onExited;\n }\n const RootSlot = (_ref = (_slots$root = slots == null ? void 0 : slots.root) != null ? _slots$root : components.Root) != null ? _ref : ModalRoot;\n const BackdropSlot = (_ref2 = (_slots$backdrop = slots == null ? void 0 : slots.backdrop) != null ? _slots$backdrop : components.Backdrop) != null ? _ref2 : BackdropComponent;\n const rootSlotProps = (_slotProps$root = slotProps == null ? void 0 : slotProps.root) != null ? _slotProps$root : componentsProps.root;\n const backdropSlotProps = (_slotProps$backdrop = slotProps == null ? void 0 : slotProps.backdrop) != null ? _slotProps$backdrop : componentsProps.backdrop;\n const rootProps = useSlotProps({\n elementType: RootSlot,\n externalSlotProps: rootSlotProps,\n externalForwardedProps: other,\n getSlotProps: getRootProps,\n additionalProps: {\n ref,\n as: component\n },\n ownerState,\n className: clsx(className, rootSlotProps == null ? void 0 : rootSlotProps.className, classes == null ? void 0 : classes.root, !ownerState.open && ownerState.exited && (classes == null ? void 0 : classes.hidden))\n });\n const backdropProps = useSlotProps({\n elementType: BackdropSlot,\n externalSlotProps: backdropSlotProps,\n additionalProps: BackdropProps,\n getSlotProps: otherHandlers => {\n return getBackdropProps(_extends({}, otherHandlers, {\n onClick: e => {\n if (onBackdropClick) {\n onBackdropClick(e);\n }\n if (otherHandlers != null && otherHandlers.onClick) {\n otherHandlers.onClick(e);\n }\n }\n }));\n },\n className: clsx(backdropSlotProps == null ? void 0 : backdropSlotProps.className, BackdropProps == null ? void 0 : BackdropProps.className, classes == null ? void 0 : classes.backdrop),\n ownerState\n });\n if (!keepMounted && !open && (!hasTransition || exited)) {\n return null;\n }\n return /*#__PURE__*/_jsx(Portal, {\n ref: portalRef,\n container: container,\n disablePortal: disablePortal,\n children: /*#__PURE__*/_jsxs(RootSlot, _extends({}, rootProps, {\n children: [!hideBackdrop && BackdropComponent ? /*#__PURE__*/_jsx(BackdropSlot, _extends({}, backdropProps)) : null, /*#__PURE__*/_jsx(FocusTrap, {\n disableEnforceFocus: disableEnforceFocus,\n disableAutoFocus: disableAutoFocus,\n disableRestoreFocus: disableRestoreFocus,\n isEnabled: isTopModal,\n open: open,\n children: /*#__PURE__*/React.cloneElement(children, childProps)\n })]\n }))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? Modal.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * A backdrop component. This prop enables custom backdrop rendering.\n * @deprecated Use `slots.backdrop` instead. While this prop currently works, it will be removed in the next major version.\n * Use the `slots.backdrop` prop to make your application ready for the next version of Material UI.\n * @default styled(Backdrop, {\n * name: 'MuiModal',\n * slot: 'Backdrop',\n * overridesResolver: (props, styles) => {\n * return styles.backdrop;\n * },\n * })({\n * zIndex: -1,\n * })\n */\n BackdropComponent: PropTypes.elementType,\n /**\n * Props applied to the [`Backdrop`](/material-ui/api/backdrop/) element.\n * @deprecated Use `slotProps.backdrop` instead.\n */\n BackdropProps: PropTypes.object,\n /**\n * A single child content element.\n */\n children: elementAcceptingRef.isRequired,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * When set to true the Modal waits until a nested Transition is completed before closing.\n * @default false\n */\n closeAfterTransition: PropTypes.bool,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * The components used for each slot inside.\n *\n * This prop is an alias for the `slots` prop.\n * It's recommended to use the `slots` prop instead.\n *\n * @default {}\n */\n components: PropTypes.shape({\n Backdrop: PropTypes.elementType,\n Root: PropTypes.elementType\n }),\n /**\n * The extra props for the slot components.\n * You can override the existing props or add new ones.\n *\n * This prop is an alias for the `slotProps` prop.\n * It's recommended to use the `slotProps` prop instead, as `componentsProps` will be deprecated in the future.\n *\n * @default {}\n */\n componentsProps: PropTypes.shape({\n backdrop: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n root: PropTypes.oneOfType([PropTypes.func, PropTypes.object])\n }),\n /**\n * An HTML element or function that returns one.\n * The `container` will have the portal children appended to it.\n *\n * You can also provide a callback, which is called in a React layout effect.\n * This lets you set the container from a ref, and also makes server-side rendering possible.\n *\n * By default, it uses the body of the top-level document object,\n * so it's simply `document.body` most of the time.\n */\n container: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([HTMLElementType, PropTypes.func]),\n /**\n * If `true`, the modal will not automatically shift focus to itself when it opens, and\n * replace it to the last focused element when it closes.\n * This also works correctly with any modal children that have the `disableAutoFocus` prop.\n *\n * Generally this should never be set to `true` as it makes the modal less\n * accessible to assistive technologies, like screen readers.\n * @default false\n */\n disableAutoFocus: PropTypes.bool,\n /**\n * If `true`, the modal will not prevent focus from leaving the modal while open.\n *\n * Generally this should never be set to `true` as it makes the modal less\n * accessible to assistive technologies, like screen readers.\n * @default false\n */\n disableEnforceFocus: PropTypes.bool,\n /**\n * If `true`, hitting escape will not fire the `onClose` callback.\n * @default false\n */\n disableEscapeKeyDown: PropTypes.bool,\n /**\n * The `children` will be under the DOM hierarchy of the parent component.\n * @default false\n */\n disablePortal: PropTypes.bool,\n /**\n * If `true`, the modal will not restore focus to previously focused element once\n * modal is hidden or unmounted.\n * @default false\n */\n disableRestoreFocus: PropTypes.bool,\n /**\n * Disable the scroll lock behavior.\n * @default false\n */\n disableScrollLock: PropTypes.bool,\n /**\n * If `true`, the backdrop is not rendered.\n * @default false\n */\n hideBackdrop: PropTypes.bool,\n /**\n * Always keep the children in the DOM.\n * This prop can be useful in SEO situation or\n * when you want to maximize the responsiveness of the Modal.\n * @default false\n */\n keepMounted: PropTypes.bool,\n /**\n * Callback fired when the backdrop is clicked.\n * @deprecated Use the `onClose` prop with the `reason` argument to handle the `backdropClick` events.\n */\n onBackdropClick: PropTypes.func,\n /**\n * Callback fired when the component requests to be closed.\n * The `reason` parameter can optionally be used to control the response to `onClose`.\n *\n * @param {object} event The event source of the callback.\n * @param {string} reason Can be: `\"escapeKeyDown\"`, `\"backdropClick\"`.\n */\n onClose: PropTypes.func,\n /**\n * A function called when a transition enters.\n */\n onTransitionEnter: PropTypes.func,\n /**\n * A function called when a transition has exited.\n */\n onTransitionExited: PropTypes.func,\n /**\n * If `true`, the component is shown.\n */\n open: PropTypes.bool.isRequired,\n /**\n * The props used for each slot inside the Modal.\n * @default {}\n */\n slotProps: PropTypes.shape({\n backdrop: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n root: PropTypes.oneOfType([PropTypes.func, PropTypes.object])\n }),\n /**\n * The components used for each slot inside the Modal.\n * Either a string to use a HTML element or a component.\n * @default {}\n */\n slots: PropTypes.shape({\n backdrop: PropTypes.elementType,\n root: PropTypes.elementType\n }),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default Modal;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getPaperUtilityClass(slot) {\n return generateUtilityClass('MuiPaper', slot);\n}\nconst paperClasses = generateUtilityClasses('MuiPaper', ['root', 'rounded', 'outlined', 'elevation', 'elevation0', 'elevation1', 'elevation2', 'elevation3', 'elevation4', 'elevation5', 'elevation6', 'elevation7', 'elevation8', 'elevation9', 'elevation10', 'elevation11', 'elevation12', 'elevation13', 'elevation14', 'elevation15', 'elevation16', 'elevation17', 'elevation18', 'elevation19', 'elevation20', 'elevation21', 'elevation22', 'elevation23', 'elevation24']);\nexport default paperClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"component\", \"elevation\", \"square\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport integerPropType from '@mui/utils/integerPropType';\nimport chainPropTypes from '@mui/utils/chainPropTypes';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { alpha } from '@mui/system/colorManipulator';\nimport styled from '../styles/styled';\nimport getOverlayAlpha from '../styles/getOverlayAlpha';\nimport useThemeProps from '../styles/useThemeProps';\nimport useTheme from '../styles/useTheme';\nimport { getPaperUtilityClass } from './paperClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n square,\n elevation,\n variant,\n classes\n } = ownerState;\n const slots = {\n root: ['root', variant, !square && 'rounded', variant === 'elevation' && `elevation${elevation}`]\n };\n return composeClasses(slots, getPaperUtilityClass, classes);\n};\nconst PaperRoot = styled('div', {\n name: 'MuiPaper',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[ownerState.variant], !ownerState.square && styles.rounded, ownerState.variant === 'elevation' && styles[`elevation${ownerState.elevation}`]];\n }\n})(({\n theme,\n ownerState\n}) => {\n var _theme$vars$overlays;\n return _extends({\n backgroundColor: (theme.vars || theme).palette.background.paper,\n color: (theme.vars || theme).palette.text.primary,\n transition: theme.transitions.create('box-shadow')\n }, !ownerState.square && {\n borderRadius: theme.shape.borderRadius\n }, ownerState.variant === 'outlined' && {\n border: `1px solid ${(theme.vars || theme).palette.divider}`\n }, ownerState.variant === 'elevation' && _extends({\n boxShadow: (theme.vars || theme).shadows[ownerState.elevation]\n }, !theme.vars && theme.palette.mode === 'dark' && {\n backgroundImage: `linear-gradient(${alpha('#fff', getOverlayAlpha(ownerState.elevation))}, ${alpha('#fff', getOverlayAlpha(ownerState.elevation))})`\n }, theme.vars && {\n backgroundImage: (_theme$vars$overlays = theme.vars.overlays) == null ? void 0 : _theme$vars$overlays[ownerState.elevation]\n }));\n});\nconst Paper = /*#__PURE__*/React.forwardRef(function Paper(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiPaper'\n });\n const {\n className,\n component = 'div',\n elevation = 1,\n square = false,\n variant = 'elevation'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n component,\n elevation,\n square,\n variant\n });\n const classes = useUtilityClasses(ownerState);\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const theme = useTheme();\n if (theme.shadows[elevation] === undefined) {\n console.error([`MUI: The elevation provided is not available in the theme.`, `Please make sure that \\`theme.shadows[${elevation}]\\` is defined.`].join('\\n'));\n }\n }\n return /*#__PURE__*/_jsx(PaperRoot, _extends({\n as: component,\n ownerState: ownerState,\n className: clsx(classes.root, className),\n ref: ref\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? Paper.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * Shadow depth, corresponds to `dp` in the spec.\n * It accepts values between 0 and 24 inclusive.\n * @default 1\n */\n elevation: chainPropTypes(integerPropType, props => {\n const {\n elevation,\n variant\n } = props;\n if (elevation > 0 && variant === 'outlined') {\n return new Error(`MUI: Combining \\`elevation={${elevation}}\\` with \\`variant=\"${variant}\"\\` has no effect. Either use \\`elevation={0}\\` or use a different \\`variant\\`.`);\n }\n return null;\n }),\n /**\n * If `true`, rounded corners are disabled.\n * @default false\n */\n square: PropTypes.bool,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The variant to use.\n * @default 'elevation'\n */\n variant: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['elevation', 'outlined']), PropTypes.string])\n} : void 0;\nexport default Paper;","// Inspired by https://github.com/material-components/material-components-ios/blob/bca36107405594d5b7b16265a5b0ed698f85a5ee/components/Elevation/src/UIColor%2BMaterialElevation.m#L61\nconst getOverlayAlpha = elevation => {\n let alphaValue;\n if (elevation < 1) {\n alphaValue = 5.11916 * elevation ** 2;\n } else {\n alphaValue = 4.5 * Math.log(elevation + 1) + 2;\n }\n return (alphaValue / 100).toFixed(2);\n};\nexport default getOverlayAlpha;","'use client';\n\nimport * as React from 'react';\nimport { useTheme as useThemeSystem } from '@mui/system';\nimport defaultTheme from './defaultTheme';\nimport THEME_ID from './identifier';\nexport default function useTheme() {\n const theme = useThemeSystem(defaultTheme);\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n React.useDebugValue(theme);\n }\n return theme[THEME_ID] || theme;\n}","export const reflow = node => node.scrollTop;\nexport function getTransitionProps(props, options) {\n var _style$transitionDura, _style$transitionTimi;\n const {\n timeout,\n easing,\n style = {}\n } = props;\n return {\n duration: (_style$transitionDura = style.transitionDuration) != null ? _style$transitionDura : typeof timeout === 'number' ? timeout : timeout[options.mode] || 0,\n easing: (_style$transitionTimi = style.transitionTimingFunction) != null ? _style$transitionTimi : typeof easing === 'object' ? easing[options.mode] : easing,\n delay: style.transitionDelay\n };\n}","export default function HTMLElementType(props, propName, componentName, location, propFullName) {\n if (process.env.NODE_ENV === 'production') {\n return null;\n }\n const propValue = props[propName];\n const safePropName = propFullName || propName;\n if (propValue == null) {\n return null;\n }\n if (propValue && propValue.nodeType !== 1) {\n return new Error(`Invalid ${location} \\`${safePropName}\\` supplied to \\`${componentName}\\`. ` + `Expected an HTMLElement.`);\n }\n return null;\n}","/**\n * Safe chained function.\n *\n * Will only create a new function if needed,\n * otherwise will pass back existing functions or null.\n */\nexport default function createChainedFunction(...funcs) {\n return funcs.reduce((acc, func) => {\n if (func == null) {\n return acc;\n }\n return function chainedFunction(...args) {\n acc.apply(this, args);\n func.apply(this, args);\n };\n }, () => {});\n}","import PropTypes from 'prop-types';\nimport chainPropTypes from '../chainPropTypes';\nfunction isClassComponent(elementType) {\n // elementType.prototype?.isReactComponent\n const {\n prototype = {}\n } = elementType;\n return Boolean(prototype.isReactComponent);\n}\nfunction acceptingRef(props, propName, componentName, location, propFullName) {\n const element = props[propName];\n const safePropName = propFullName || propName;\n if (element == null ||\n // When server-side rendering React doesn't warn either.\n // This is not an accurate check for SSR.\n // This is only in place for Emotion compat.\n // TODO: Revisit once https://github.com/facebook/react/issues/20047 is resolved.\n typeof window === 'undefined') {\n return null;\n }\n let warningHint;\n const elementType = element.type;\n /**\n * Blacklisting instead of whitelisting\n *\n * Blacklisting will miss some components, such as React.Fragment. Those will at least\n * trigger a warning in React.\n * We can't whitelist because there is no safe way to detect React.forwardRef\n * or class components. \"Safe\" means there's no public API.\n *\n */\n if (typeof elementType === 'function' && !isClassComponent(elementType)) {\n warningHint = 'Did you accidentally use a plain function component for an element instead?';\n }\n if (warningHint !== undefined) {\n return new Error(`Invalid ${location} \\`${safePropName}\\` supplied to \\`${componentName}\\`. ` + `Expected an element that can hold a ref. ${warningHint} ` + 'For more information see https://mui.com/r/caveat-with-refs-guide');\n }\n return null;\n}\nconst elementAcceptingRef = chainPropTypes(PropTypes.element, acceptingRef);\nelementAcceptingRef.isRequired = chainPropTypes(PropTypes.element.isRequired, acceptingRef);\nexport default elementAcceptingRef;","import _extends from \"@babel/runtime/helpers/esm/extends\";\n// This module is based on https://github.com/airbnb/prop-types-exact repository.\n// However, in order to reduce the number of dependencies and to remove some extra safe checks\n// the module was forked.\n\nconst specialProperty = 'exact-prop: \\u200b';\nexport default function exactProp(propTypes) {\n if (process.env.NODE_ENV === 'production') {\n return propTypes;\n }\n return _extends({}, propTypes, {\n [specialProperty]: props => {\n const unsupportedProps = Object.keys(props).filter(prop => !propTypes.hasOwnProperty(prop));\n if (unsupportedProps.length > 0) {\n return new Error(`The following props are not supported: ${unsupportedProps.map(prop => `\\`${prop}\\``).join(', ')}. Please remove them.`);\n }\n return null;\n }\n });\n}","// A change of the browser zoom change the scrollbar size.\n// Credit https://github.com/twbs/bootstrap/blob/488fd8afc535ca3a6ad4dc581f5e89217b6a36ac/js/src/util/scrollbar.js#L14-L18\nexport default function getScrollbarSize(doc) {\n // https://developer.mozilla.org/en-US/docs/Web/API/Window/innerWidth#usage_notes\n const documentWidth = doc.documentElement.clientWidth;\n return Math.abs(window.innerWidth - documentWidth);\n}","export function getTypeByValue(value) {\n const valueType = typeof value;\n switch (valueType) {\n case 'number':\n if (Number.isNaN(value)) {\n return 'NaN';\n }\n if (!Number.isFinite(value)) {\n return 'Infinity';\n }\n if (value !== Math.floor(value)) {\n return 'float';\n }\n return 'number';\n case 'object':\n if (value === null) {\n return 'null';\n }\n return value.constructor.name;\n default:\n return valueType;\n }\n}\n\n// IE 11 support\nfunction ponyfillIsInteger(x) {\n // eslint-disable-next-line no-restricted-globals\n return typeof x === 'number' && isFinite(x) && Math.floor(x) === x;\n}\nconst isInteger = Number.isInteger || ponyfillIsInteger;\nfunction requiredInteger(props, propName, componentName, location) {\n const propValue = props[propName];\n if (propValue == null || !isInteger(propValue)) {\n const propType = getTypeByValue(propValue);\n return new RangeError(`Invalid ${location} \\`${propName}\\` of type \\`${propType}\\` supplied to \\`${componentName}\\`, expected \\`integer\\`.`);\n }\n return null;\n}\nfunction validator(props, propName, ...other) {\n const propValue = props[propName];\n if (propValue === undefined) {\n return null;\n }\n return requiredInteger(props, propName, ...other);\n}\nfunction validatorNoop() {\n return null;\n}\nvalidator.isRequired = requiredInteger;\nvalidatorNoop.isRequired = validatorNoop;\nexport default process.env.NODE_ENV === 'production' ? validatorNoop : validator;","export default function ownerDocument(node) {\n return node && node.ownerDocument || document;\n}","import ownerDocument from '../ownerDocument';\nexport default function ownerWindow(node) {\n const doc = ownerDocument(node);\n return doc.defaultView || window;\n}","'use client';\n\nimport * as React from 'react';\nlet globalId = 0;\nfunction useGlobalId(idOverride) {\n const [defaultId, setDefaultId] = React.useState(idOverride);\n const id = idOverride || defaultId;\n React.useEffect(() => {\n if (defaultId == null) {\n // Fallback to this default id when possible.\n // Use the incrementing value for client-side rendering only.\n // We can't use it server-side.\n // If you want to use random values please consider the Birthday Problem: https://en.wikipedia.org/wiki/Birthday_problem\n globalId += 1;\n setDefaultId(`mui-${globalId}`);\n }\n }, [defaultId]);\n return id;\n}\n\n// downstream bundlers may remove unnecessary concatenation, but won't remove toString call -- Workaround for https://github.com/webpack/webpack/issues/14814\nconst maybeReactUseId = React['useId'.toString()];\n/**\n *\n * @example \n * @param idOverride\n * @returns {string}\n */\nexport default function useId(idOverride) {\n if (maybeReactUseId !== undefined) {\n const reactId = maybeReactUseId();\n return idOverride != null ? idOverride : reactId;\n }\n // eslint-disable-next-line react-hooks/rules-of-hooks -- `React.useId` is invariant at runtime.\n return useGlobalId(idOverride);\n}","import PropTypes from 'prop-types';\nexport var timeoutsShape = process.env.NODE_ENV !== 'production' ? PropTypes.oneOfType([PropTypes.number, PropTypes.shape({\n enter: PropTypes.number,\n exit: PropTypes.number,\n appear: PropTypes.number\n}).isRequired]) : null;\nexport var classNamesShape = process.env.NODE_ENV !== 'production' ? PropTypes.oneOfType([PropTypes.string, PropTypes.shape({\n enter: PropTypes.string,\n exit: PropTypes.string,\n active: PropTypes.string\n}), PropTypes.shape({\n enter: PropTypes.string,\n enterDone: PropTypes.string,\n enterActive: PropTypes.string,\n exit: PropTypes.string,\n exitDone: PropTypes.string,\n exitActive: PropTypes.string\n})]) : null;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport config from './config';\nimport { timeoutsShape } from './utils/PropTypes';\nimport TransitionGroupContext from './TransitionGroupContext';\nimport { forceReflow } from './utils/reflow';\nexport var UNMOUNTED = 'unmounted';\nexport var EXITED = 'exited';\nexport var ENTERING = 'entering';\nexport var ENTERED = 'entered';\nexport var EXITING = 'exiting';\n/**\n * The Transition component lets you describe a transition from one component\n * state to another _over time_ with a simple declarative API. Most commonly\n * it's used to animate the mounting and unmounting of a component, but can also\n * be used to describe in-place transition states as well.\n *\n * ---\n *\n * **Note**: `Transition` is a platform-agnostic base component. If you're using\n * transitions in CSS, you'll probably want to use\n * [`CSSTransition`](https://reactcommunity.org/react-transition-group/css-transition)\n * instead. It inherits all the features of `Transition`, but contains\n * additional features necessary to play nice with CSS transitions (hence the\n * name of the component).\n *\n * ---\n *\n * By default the `Transition` component does not alter the behavior of the\n * component it renders, it only tracks \"enter\" and \"exit\" states for the\n * components. It's up to you to give meaning and effect to those states. For\n * example we can add styles to a component when it enters or exits:\n *\n * ```jsx\n * import { Transition } from 'react-transition-group';\n *\n * const duration = 300;\n *\n * const defaultStyle = {\n * transition: `opacity ${duration}ms ease-in-out`,\n * opacity: 0,\n * }\n *\n * const transitionStyles = {\n * entering: { opacity: 1 },\n * entered: { opacity: 1 },\n * exiting: { opacity: 0 },\n * exited: { opacity: 0 },\n * };\n *\n * const Fade = ({ in: inProp }) => (\n * \n * {state => (\n *
\n * I'm a fade Transition!\n *
\n * )}\n * \n * );\n * ```\n *\n * There are 4 main states a Transition can be in:\n * - `'entering'`\n * - `'entered'`\n * - `'exiting'`\n * - `'exited'`\n *\n * Transition state is toggled via the `in` prop. When `true` the component\n * begins the \"Enter\" stage. During this stage, the component will shift from\n * its current transition state, to `'entering'` for the duration of the\n * transition and then to the `'entered'` stage once it's complete. Let's take\n * the following example (we'll use the\n * [useState](https://reactjs.org/docs/hooks-reference.html#usestate) hook):\n *\n * ```jsx\n * function App() {\n * const [inProp, setInProp] = useState(false);\n * return (\n *
\n * );\n * }\n * ```\n *\n * When the button is clicked the component will shift to the `'entering'` state\n * and stay there for 500ms (the value of `timeout`) before it finally switches\n * to `'entered'`.\n *\n * When `in` is `false` the same thing happens except the state moves from\n * `'exiting'` to `'exited'`.\n */\n\nvar Transition = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(Transition, _React$Component);\n\n function Transition(props, context) {\n var _this;\n\n _this = _React$Component.call(this, props, context) || this;\n var parentGroup = context; // In the context of a TransitionGroup all enters are really appears\n\n var appear = parentGroup && !parentGroup.isMounting ? props.enter : props.appear;\n var initialStatus;\n _this.appearStatus = null;\n\n if (props.in) {\n if (appear) {\n initialStatus = EXITED;\n _this.appearStatus = ENTERING;\n } else {\n initialStatus = ENTERED;\n }\n } else {\n if (props.unmountOnExit || props.mountOnEnter) {\n initialStatus = UNMOUNTED;\n } else {\n initialStatus = EXITED;\n }\n }\n\n _this.state = {\n status: initialStatus\n };\n _this.nextCallback = null;\n return _this;\n }\n\n Transition.getDerivedStateFromProps = function getDerivedStateFromProps(_ref, prevState) {\n var nextIn = _ref.in;\n\n if (nextIn && prevState.status === UNMOUNTED) {\n return {\n status: EXITED\n };\n }\n\n return null;\n } // getSnapshotBeforeUpdate(prevProps) {\n // let nextStatus = null\n // if (prevProps !== this.props) {\n // const { status } = this.state\n // if (this.props.in) {\n // if (status !== ENTERING && status !== ENTERED) {\n // nextStatus = ENTERING\n // }\n // } else {\n // if (status === ENTERING || status === ENTERED) {\n // nextStatus = EXITING\n // }\n // }\n // }\n // return { nextStatus }\n // }\n ;\n\n var _proto = Transition.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n this.updateStatus(true, this.appearStatus);\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n var nextStatus = null;\n\n if (prevProps !== this.props) {\n var status = this.state.status;\n\n if (this.props.in) {\n if (status !== ENTERING && status !== ENTERED) {\n nextStatus = ENTERING;\n }\n } else {\n if (status === ENTERING || status === ENTERED) {\n nextStatus = EXITING;\n }\n }\n }\n\n this.updateStatus(false, nextStatus);\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.cancelNextCallback();\n };\n\n _proto.getTimeouts = function getTimeouts() {\n var timeout = this.props.timeout;\n var exit, enter, appear;\n exit = enter = appear = timeout;\n\n if (timeout != null && typeof timeout !== 'number') {\n exit = timeout.exit;\n enter = timeout.enter; // TODO: remove fallback for next major\n\n appear = timeout.appear !== undefined ? timeout.appear : enter;\n }\n\n return {\n exit: exit,\n enter: enter,\n appear: appear\n };\n };\n\n _proto.updateStatus = function updateStatus(mounting, nextStatus) {\n if (mounting === void 0) {\n mounting = false;\n }\n\n if (nextStatus !== null) {\n // nextStatus will always be ENTERING or EXITING.\n this.cancelNextCallback();\n\n if (nextStatus === ENTERING) {\n if (this.props.unmountOnExit || this.props.mountOnEnter) {\n var node = this.props.nodeRef ? this.props.nodeRef.current : ReactDOM.findDOMNode(this); // https://github.com/reactjs/react-transition-group/pull/749\n // With unmountOnExit or mountOnEnter, the enter animation should happen at the transition between `exited` and `entering`.\n // To make the animation happen, we have to separate each rendering and avoid being processed as batched.\n\n if (node) forceReflow(node);\n }\n\n this.performEnter(mounting);\n } else {\n this.performExit();\n }\n } else if (this.props.unmountOnExit && this.state.status === EXITED) {\n this.setState({\n status: UNMOUNTED\n });\n }\n };\n\n _proto.performEnter = function performEnter(mounting) {\n var _this2 = this;\n\n var enter = this.props.enter;\n var appearing = this.context ? this.context.isMounting : mounting;\n\n var _ref2 = this.props.nodeRef ? [appearing] : [ReactDOM.findDOMNode(this), appearing],\n maybeNode = _ref2[0],\n maybeAppearing = _ref2[1];\n\n var timeouts = this.getTimeouts();\n var enterTimeout = appearing ? timeouts.appear : timeouts.enter; // no enter animation skip right to ENTERED\n // if we are mounting and running this it means appear _must_ be set\n\n if (!mounting && !enter || config.disabled) {\n this.safeSetState({\n status: ENTERED\n }, function () {\n _this2.props.onEntered(maybeNode);\n });\n return;\n }\n\n this.props.onEnter(maybeNode, maybeAppearing);\n this.safeSetState({\n status: ENTERING\n }, function () {\n _this2.props.onEntering(maybeNode, maybeAppearing);\n\n _this2.onTransitionEnd(enterTimeout, function () {\n _this2.safeSetState({\n status: ENTERED\n }, function () {\n _this2.props.onEntered(maybeNode, maybeAppearing);\n });\n });\n });\n };\n\n _proto.performExit = function performExit() {\n var _this3 = this;\n\n var exit = this.props.exit;\n var timeouts = this.getTimeouts();\n var maybeNode = this.props.nodeRef ? undefined : ReactDOM.findDOMNode(this); // no exit animation skip right to EXITED\n\n if (!exit || config.disabled) {\n this.safeSetState({\n status: EXITED\n }, function () {\n _this3.props.onExited(maybeNode);\n });\n return;\n }\n\n this.props.onExit(maybeNode);\n this.safeSetState({\n status: EXITING\n }, function () {\n _this3.props.onExiting(maybeNode);\n\n _this3.onTransitionEnd(timeouts.exit, function () {\n _this3.safeSetState({\n status: EXITED\n }, function () {\n _this3.props.onExited(maybeNode);\n });\n });\n });\n };\n\n _proto.cancelNextCallback = function cancelNextCallback() {\n if (this.nextCallback !== null) {\n this.nextCallback.cancel();\n this.nextCallback = null;\n }\n };\n\n _proto.safeSetState = function safeSetState(nextState, callback) {\n // This shouldn't be necessary, but there are weird race conditions with\n // setState callbacks and unmounting in testing, so always make sure that\n // we can cancel any pending setState callbacks after we unmount.\n callback = this.setNextCallback(callback);\n this.setState(nextState, callback);\n };\n\n _proto.setNextCallback = function setNextCallback(callback) {\n var _this4 = this;\n\n var active = true;\n\n this.nextCallback = function (event) {\n if (active) {\n active = false;\n _this4.nextCallback = null;\n callback(event);\n }\n };\n\n this.nextCallback.cancel = function () {\n active = false;\n };\n\n return this.nextCallback;\n };\n\n _proto.onTransitionEnd = function onTransitionEnd(timeout, handler) {\n this.setNextCallback(handler);\n var node = this.props.nodeRef ? this.props.nodeRef.current : ReactDOM.findDOMNode(this);\n var doesNotHaveTimeoutOrListener = timeout == null && !this.props.addEndListener;\n\n if (!node || doesNotHaveTimeoutOrListener) {\n setTimeout(this.nextCallback, 0);\n return;\n }\n\n if (this.props.addEndListener) {\n var _ref3 = this.props.nodeRef ? [this.nextCallback] : [node, this.nextCallback],\n maybeNode = _ref3[0],\n maybeNextCallback = _ref3[1];\n\n this.props.addEndListener(maybeNode, maybeNextCallback);\n }\n\n if (timeout != null) {\n setTimeout(this.nextCallback, timeout);\n }\n };\n\n _proto.render = function render() {\n var status = this.state.status;\n\n if (status === UNMOUNTED) {\n return null;\n }\n\n var _this$props = this.props,\n children = _this$props.children,\n _in = _this$props.in,\n _mountOnEnter = _this$props.mountOnEnter,\n _unmountOnExit = _this$props.unmountOnExit,\n _appear = _this$props.appear,\n _enter = _this$props.enter,\n _exit = _this$props.exit,\n _timeout = _this$props.timeout,\n _addEndListener = _this$props.addEndListener,\n _onEnter = _this$props.onEnter,\n _onEntering = _this$props.onEntering,\n _onEntered = _this$props.onEntered,\n _onExit = _this$props.onExit,\n _onExiting = _this$props.onExiting,\n _onExited = _this$props.onExited,\n _nodeRef = _this$props.nodeRef,\n childProps = _objectWithoutPropertiesLoose(_this$props, [\"children\", \"in\", \"mountOnEnter\", \"unmountOnExit\", \"appear\", \"enter\", \"exit\", \"timeout\", \"addEndListener\", \"onEnter\", \"onEntering\", \"onEntered\", \"onExit\", \"onExiting\", \"onExited\", \"nodeRef\"]);\n\n return (\n /*#__PURE__*/\n // allows for nested Transitions\n React.createElement(TransitionGroupContext.Provider, {\n value: null\n }, typeof children === 'function' ? children(status, childProps) : React.cloneElement(React.Children.only(children), childProps))\n );\n };\n\n return Transition;\n}(React.Component);\n\nTransition.contextType = TransitionGroupContext;\nTransition.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * A React reference to DOM element that need to transition:\n * https://stackoverflow.com/a/51127130/4671932\n *\n * - When `nodeRef` prop is used, `node` is not passed to callback functions\n * (e.g. `onEnter`) because user already has direct access to the node.\n * - When changing `key` prop of `Transition` in a `TransitionGroup` a new\n * `nodeRef` need to be provided to `Transition` with changed `key` prop\n * (see\n * [test/CSSTransition-test.js](https://github.com/reactjs/react-transition-group/blob/13435f897b3ab71f6e19d724f145596f5910581c/test/CSSTransition-test.js#L362-L437)).\n */\n nodeRef: PropTypes.shape({\n current: typeof Element === 'undefined' ? PropTypes.any : function (propValue, key, componentName, location, propFullName, secret) {\n var value = propValue[key];\n return PropTypes.instanceOf(value && 'ownerDocument' in value ? value.ownerDocument.defaultView.Element : Element)(propValue, key, componentName, location, propFullName, secret);\n }\n }),\n\n /**\n * A `function` child can be used instead of a React element. This function is\n * called with the current transition status (`'entering'`, `'entered'`,\n * `'exiting'`, `'exited'`), which can be used to apply context\n * specific props to a component.\n *\n * ```jsx\n * \n * {state => (\n * \n * )}\n * \n * ```\n */\n children: PropTypes.oneOfType([PropTypes.func.isRequired, PropTypes.element.isRequired]).isRequired,\n\n /**\n * Show the component; triggers the enter or exit states\n */\n in: PropTypes.bool,\n\n /**\n * By default the child component is mounted immediately along with\n * the parent `Transition` component. If you want to \"lazy mount\" the component on the\n * first `in={true}` you can set `mountOnEnter`. After the first enter transition the component will stay\n * mounted, even on \"exited\", unless you also specify `unmountOnExit`.\n */\n mountOnEnter: PropTypes.bool,\n\n /**\n * By default the child component stays mounted after it reaches the `'exited'` state.\n * Set `unmountOnExit` if you'd prefer to unmount the component after it finishes exiting.\n */\n unmountOnExit: PropTypes.bool,\n\n /**\n * By default the child component does not perform the enter transition when\n * it first mounts, regardless of the value of `in`. If you want this\n * behavior, set both `appear` and `in` to `true`.\n *\n * > **Note**: there are no special appear states like `appearing`/`appeared`, this prop\n * > only adds an additional enter transition. However, in the\n * > `` component that first enter transition does result in\n * > additional `.appear-*` classes, that way you can choose to style it\n * > differently.\n */\n appear: PropTypes.bool,\n\n /**\n * Enable or disable enter transitions.\n */\n enter: PropTypes.bool,\n\n /**\n * Enable or disable exit transitions.\n */\n exit: PropTypes.bool,\n\n /**\n * The duration of the transition, in milliseconds.\n * Required unless `addEndListener` is provided.\n *\n * You may specify a single timeout for all transitions:\n *\n * ```jsx\n * timeout={500}\n * ```\n *\n * or individually:\n *\n * ```jsx\n * timeout={{\n * appear: 500,\n * enter: 300,\n * exit: 500,\n * }}\n * ```\n *\n * - `appear` defaults to the value of `enter`\n * - `enter` defaults to `0`\n * - `exit` defaults to `0`\n *\n * @type {number | { enter?: number, exit?: number, appear?: number }}\n */\n timeout: function timeout(props) {\n var pt = timeoutsShape;\n if (!props.addEndListener) pt = pt.isRequired;\n\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return pt.apply(void 0, [props].concat(args));\n },\n\n /**\n * Add a custom transition end trigger. Called with the transitioning\n * DOM node and a `done` callback. Allows for more fine grained transition end\n * logic. Timeouts are still used as a fallback if provided.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * ```jsx\n * addEndListener={(node, done) => {\n * // use the css transitionend event to mark the finish of a transition\n * node.addEventListener('transitionend', done, false);\n * }}\n * ```\n */\n addEndListener: PropTypes.func,\n\n /**\n * Callback fired before the \"entering\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool) -> void\n */\n onEnter: PropTypes.func,\n\n /**\n * Callback fired after the \"entering\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEntering: PropTypes.func,\n\n /**\n * Callback fired after the \"entered\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool) -> void\n */\n onEntered: PropTypes.func,\n\n /**\n * Callback fired before the \"exiting\" status is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExit: PropTypes.func,\n\n /**\n * Callback fired after the \"exiting\" status is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExiting: PropTypes.func,\n\n /**\n * Callback fired after the \"exited\" status is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExited: PropTypes.func\n} : {}; // Name the function so it is clearer in the documentation\n\nfunction noop() {}\n\nTransition.defaultProps = {\n in: false,\n mountOnEnter: false,\n unmountOnExit: false,\n appear: false,\n enter: true,\n exit: true,\n onEnter: noop,\n onEntering: noop,\n onEntered: noop,\n onExit: noop,\n onExiting: noop,\n onExited: noop\n};\nTransition.UNMOUNTED = UNMOUNTED;\nTransition.EXITED = EXITED;\nTransition.ENTERING = ENTERING;\nTransition.ENTERED = ENTERED;\nTransition.EXITING = EXITING;\nexport default Transition;","export var forceReflow = function forceReflow(node) {\n return node.scrollTop;\n};","/*! js-cookie v3.0.5 | MIT */\n/* eslint-disable no-var */\nfunction assign (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n target[key] = source[key];\n }\n }\n return target\n}\n/* eslint-enable no-var */\n\n/* eslint-disable no-var */\nvar defaultConverter = {\n read: function (value) {\n if (value[0] === '\"') {\n value = value.slice(1, -1);\n }\n return value.replace(/(%[\\dA-F]{2})+/gi, decodeURIComponent)\n },\n write: function (value) {\n return encodeURIComponent(value).replace(\n /%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,\n decodeURIComponent\n )\n }\n};\n/* eslint-enable no-var */\n\n/* eslint-disable no-var */\n\nfunction init (converter, defaultAttributes) {\n function set (name, value, attributes) {\n if (typeof document === 'undefined') {\n return\n }\n\n attributes = assign({}, defaultAttributes, attributes);\n\n if (typeof attributes.expires === 'number') {\n attributes.expires = new Date(Date.now() + attributes.expires * 864e5);\n }\n if (attributes.expires) {\n attributes.expires = attributes.expires.toUTCString();\n }\n\n name = encodeURIComponent(name)\n .replace(/%(2[346B]|5E|60|7C)/g, decodeURIComponent)\n .replace(/[()]/g, escape);\n\n var stringifiedAttributes = '';\n for (var attributeName in attributes) {\n if (!attributes[attributeName]) {\n continue\n }\n\n stringifiedAttributes += '; ' + attributeName;\n\n if (attributes[attributeName] === true) {\n continue\n }\n\n // Considers RFC 6265 section 5.2:\n // ...\n // 3. If the remaining unparsed-attributes contains a %x3B (\";\")\n // character:\n // Consume the characters of the unparsed-attributes up to,\n // not including, the first %x3B (\";\") character.\n // ...\n stringifiedAttributes += '=' + attributes[attributeName].split(';')[0];\n }\n\n return (document.cookie =\n name + '=' + converter.write(value, name) + stringifiedAttributes)\n }\n\n function get (name) {\n if (typeof document === 'undefined' || (arguments.length && !name)) {\n return\n }\n\n // To prevent the for loop in the first place assign an empty array\n // in case there are no cookies at all.\n var cookies = document.cookie ? document.cookie.split('; ') : [];\n var jar = {};\n for (var i = 0; i < cookies.length; i++) {\n var parts = cookies[i].split('=');\n var value = parts.slice(1).join('=');\n\n try {\n var found = decodeURIComponent(parts[0]);\n jar[found] = converter.read(value, found);\n\n if (name === found) {\n break\n }\n } catch (e) {}\n }\n\n return name ? jar[name] : jar\n }\n\n return Object.create(\n {\n set,\n get,\n remove: function (name, attributes) {\n set(\n name,\n '',\n assign({}, attributes, {\n expires: -1\n })\n );\n },\n withAttributes: function (attributes) {\n return init(this.converter, assign({}, this.attributes, attributes))\n },\n withConverter: function (converter) {\n return init(assign({}, this.converter, converter), this.attributes)\n }\n },\n {\n attributes: { value: Object.freeze(defaultAttributes) },\n converter: { value: Object.freeze(converter) }\n }\n )\n}\n\nvar api = init(defaultConverter, { path: '/' });\n/* eslint-enable no-var */\n\nexport { api as default };\n"],"names":["extractEventHandlers","object","excludeKeys","undefined","result","Object","keys","filter","prop","match","includes","forEach","isHostComponent","element","omitEventHandlers","_excluded","useSlotProps","parameters","_parameters$additiona","elementType","externalSlotProps","ownerState","skipResolvingSlotProps","rest","resolvedComponentsProps","componentProps","slotState","resolveComponentProps","props","mergedProps","internalRef","getSlotProps","additionalProps","externalForwardedProps","className","joinedClasses","clsx","mergedStyle","style","length","eventHandlers","componentsPropsWithoutEventHandlers","otherPropsWithoutEventHandlers","internalSlotProps","ref","mergeSlotProps","useForkRef","otherProps","appendOwnerState","getBackdropUtilityClass","slot","generateUtilityClass","generateUtilityClasses","BackdropRoot","styled","name","overridesResolver","styles","root","invisible","position","display","alignItems","justifyContent","right","bottom","top","left","backgroundColor","WebkitTapHighlightColor","Backdrop","inProps","_slotProps$root","_ref","_slots$root","useThemeProps","children","component","components","componentsProps","open","slotProps","slots","TransitionComponent","Fade","transitionDuration","other","classes","composeClasses","useUtilityClasses","rootSlotProps","in","timeout","as","Root","propTypes","isRequired","sx","appear","enter","exit","entering","opacity","entered","theme","defaultTimeout","transitions","duration","enteringScreen","leavingScreen","addEndListener","easing","inProp","onEnter","onEntered","onEntering","onExit","onExited","onExiting","nodeRef","handleRef","normalizedTransitionCallback","callback","maybeIsAppearing","node","current","handleEntering","handleEnter","isAppearing","transitionProps","mode","webkitTransition","create","transition","handleEntered","handleExiting","handleExit","handleExited","next","state","childProps","visibility","ariaHidden","show","setAttribute","removeAttribute","getPaddingRight","parseInt","ownerWindow","getComputedStyle","paddingRight","ariaHiddenSiblings","container","mountElement","currentElement","elementsToExclude","blacklist","call","isNotExcludedElement","indexOf","isNotForbiddenElement","isForbiddenTagName","tagName","isInputHidden","getAttribute","isAriaHiddenForbiddenOnElement","findIndexOf","items","idx","some","item","index","defaultManager","constructor","this","containers","modals","add","modal","modalIndex","push","modalRef","hiddenSiblings","getHiddenSiblings","mount","containerIndex","restore","containerInfo","restoreStyle","disableScrollLock","doc","ownerDocument","body","innerWidth","documentElement","clientWidth","scrollHeight","clientHeight","isOverflowing","scrollbarSize","getScrollbarSize","value","property","el","fixedElements","querySelectorAll","scrollContainer","parentNode","DocumentFragment","parent","parentElement","containerWindow","nodeName","overflowY","overflow","overflowX","setProperty","removeProperty","handleContainer","remove","ariaHiddenState","splice","nextTop","isTopModal","candidatesSelector","join","defaultGetTabbable","regularTabNodes","orderedTabNodes","Array","from","i","nodeTabIndex","tabindexAttr","Number","isNaN","contentEditable","tabIndex","getTabIndex","disabled","type","getRadio","selector","querySelector","roving","isNonTabbableRadio","isNodeMatchingSelectorFocusable","documentOrder","sort","a","b","map","concat","defaultIsEnabled","FocusTrap","disableAutoFocus","disableEnforceFocus","disableRestoreFocus","getTabbable","isEnabled","ignoreNextEnforceFocus","sentinelStart","sentinelEnd","nodeToRestore","reactFocusEventTarget","activated","rootRef","lastKeydown","contains","activeElement","hasAttribute","console","error","focus","loopFocus","nativeEvent","key","shiftKey","contain","rootElement","hasFocus","tabbable","_lastKeydown$current","_lastKeydown$current2","isShiftTab","Boolean","focusNext","focusPrevious","addEventListener","interval","setInterval","clearInterval","removeEventListener","handleFocusSentinel","event","relatedTarget","onFocus","target","childrenPropsHandler","elementAcceptingRef","exactProp","Portal","forwardedRef","disablePortal","mountNode","setMountNode","useEnhancedEffect","document","setRef","newProps","HTMLElementType","getModalUtilityClass","ModalRoot","exited","hidden","zIndex","vars","ModalBackdrop","backdrop","Modal","_ref2","_slots$backdrop","_slotProps$backdrop","BackdropComponent","BackdropProps","closeAfterTransition","disableEscapeKeyDown","hideBackdrop","keepMounted","onBackdropClick","propsWithDefaults","getRootProps","getBackdropProps","getTransitionProps","portalRef","hasTransition","manager","onTransitionEnter","onTransitionExited","onClose","mountNodeRef","setExited","hasOwnProperty","getHasTransition","ariaHiddenProp","getModal","handleMounted","scrollTop","handleOpen","useEventCallback","resolvedContainer","getContainer","handlePortalRef","handleClose","createHandleKeyDown","otherHandlers","_otherHandlers$onKeyD","onKeyDown","which","stopPropagation","createHandleBackdropClick","_otherHandlers$onClic","onClick","currentTarget","propsEventHandlers","externalEventHandlers","role","createChainedFunction","useModal","RootSlot","BackdropSlot","backdropSlotProps","rootProps","backdropProps","e","getPaperUtilityClass","PaperRoot","variant","square","rounded","elevation","_theme$vars$overlays","palette","background","paper","color","text","primary","borderRadius","shape","border","divider","boxShadow","shadows","backgroundImage","getOverlayAlpha","overlays","Paper","useTheme","chainPropTypes","integerPropType","Error","alphaValue","Math","log","toFixed","reflow","options","_style$transitionDura","_style$transitionTimi","transitionTimingFunction","delay","transitionDelay","propName","componentName","location","propFullName","propValue","safePropName","nodeType","funcs","reduce","acc","func","args","apply","acceptingRef","window","warningHint","prototype","isReactComponent","isClassComponent","specialProperty","unsupportedProps","documentWidth","abs","isInteger","x","isFinite","floor","requiredInteger","propType","valueType","getTypeByValue","RangeError","validator","validatorNoop","defaultView","globalId","maybeReactUseId","toString","useId","idOverride","reactId","defaultId","setDefaultId","id","useGlobalId","timeoutsShape","active","enterDone","enterActive","exitDone","exitActive","UNMOUNTED","EXITED","ENTERING","ENTERED","EXITING","Transition","_React$Component","context","_this","initialStatus","isMounting","appearStatus","unmountOnExit","mountOnEnter","status","nextCallback","getDerivedStateFromProps","prevState","_proto","componentDidMount","updateStatus","componentDidUpdate","prevProps","nextStatus","componentWillUnmount","cancelNextCallback","getTimeouts","mounting","forceReflow","performEnter","performExit","setState","_this2","appearing","maybeNode","maybeAppearing","timeouts","enterTimeout","safeSetState","onTransitionEnd","_this3","cancel","nextState","setNextCallback","_this4","handler","doesNotHaveTimeoutOrListener","_ref3","maybeNextCallback","setTimeout","render","_this$props","TransitionGroupContext","Provider","only","noop","contextType","Element","secret","pt","_len","arguments","_key","defaultProps","assign","source","api","init","converter","defaultAttributes","set","attributes","expires","Date","now","toUTCString","encodeURIComponent","replace","decodeURIComponent","escape","stringifiedAttributes","attributeName","split","cookie","write","get","cookies","jar","parts","slice","found","read","withAttributes","withConverter","freeze","path"],"sourceRoot":""}