{"version":3,"file":"static/chunks/7090-bef0cc3e6ea26cb3.js","mappings":"8TCiCAA,QAAoB,kBAApBC,GAjBgBC,cAAa,kBAAbA,wBAbY,WACN,eAGI,QASnB,SAASA,EAAcC,CAAoB,EAChD,GAAM,CAAEC,MAAAA,CAAK,CAAE,CAAGC,CAAAA,EAAAA,EAAAA,WAAW,EAACF,EAAU,CACtCG,cAAAA,EAAAA,OAAa,CAEbC,QAASC,CAAAA,YAAAA,CAAAA,IAAAA,IAAAA,IAAAA,KAAAA,KAAAA,KAAAA,KAAAA,KAAAA,CAAAA,WAAAA,CAAAA,GAAAA,GAAAA,GAAAA,GAAAA,GAAAA,IAAAA,IAAAA,IAAAA,CAAAA,KAAAA,eAAAA,OAAAA,UAAAA,oBAAAA,CAAAA,EAAAA,YAAAA,CAAAA,CAAAA,CACX,GAIA,IAAK,GAAM,CAACC,EAAKC,EAAM,GAAIC,OAAOC,OAAO,CAACR,GAC1BS,KAAAA,IAAVH,GACF,OAAON,CAAK,CAACK,EAA0B,CAG3C,MAAO,CAAEL,MAAAA,CAAM,CACjB,KAEAH,EAAea,EAAAA,KAAK,wDCjCpB,SAAAC,EAAAC,CAAA,EACA,uBAAAA,GAAA,mBAAAA,EAAAC,KAAA,yDCDA,IAAAC,EAAA,GACAC,MAAAC,OAAA,CAAAJ,0DCCA,IAAAK,EAA2B,GAAAC,QAAAC,aAAA,EAAa,2DCAxC,IAAAC,EAAoB,GAAAF,QAAAC,aAAA,EAAa,CAAGE,OAAA,4DCGpC,IAAAC,EAA4B,GAAAJ,QAAAC,aAAA,EAAa,CACzCI,mBAAA,GAAAC,EACAC,SAAA,GACAC,cAAA,OACA,0DCPA,IAAAC,EAAsB,GAAAT,QAAAC,aAAA,EAAa,wDCGnC,IAAAS,EAAwB,GAAAV,QAAAC,aAAA,EAAa,6DCArC,IAAAU,EAAiC,GAAAX,QAAAC,aAAA,EAAa,yJCL9C,OAAAW,EACAC,aAAA,CACA,KAAAC,KAAA,IACA,KAAAC,SAAA,KAAAC,GACA,CACAC,IAAA/B,CAAA,EACA,SAAA6B,SAAA,CAAAG,GAAA,CAAAhC,GAGA,OAFA,KAAA6B,SAAA,CAAAE,GAAA,CAAA/B,GACA,KAAA4B,KAAA,CAAAK,IAAA,CAAAjC,GACA,EAEA,CACAkC,OAAAlC,CAAA,EACA,IAAAmC,EAAA,KAAAP,KAAA,CAAAQ,OAAA,CAAApC,EACA,MAAAmC,IACA,KAAAP,KAAA,CAAAS,MAAA,CAAAF,EAAA,GACA,KAAAN,SAAA,CAAAS,MAAA,CAAAtC,GAEA,CACAuC,OAAA,CACA,KAAAX,KAAA,CAAAY,MAAA,GACA,KAAAX,SAAA,CAAAU,KAAA,EACA,CACA,CCrBA,IAAAE,EAAA,CACA,UACA,OACA,SACA,YACA,SACA,aACA,CCNA,CAAQC,SAAUC,CAAK,CAAAC,OAAAC,CAAA,CAAAC,MAAAC,CAAA,CAAAC,MAAAA,CAAA,EAAoDC,SDQ3EC,CAAA,CAAAC,CAAA,EACA,IAAAC,EAAA,GACAC,EAAA,GACAP,EAAA,CACAQ,MAAA,EACAC,UAAA,EACAC,aAAA,EACA,EACAR,EAAAP,EAAAgB,MAAA,EAAAC,EAAAzD,KACAyD,CAAA,CAAAzD,EAAA,CAAmB0D,SDInBP,CAAA,EAKA,IAAAQ,EAAA,IAAAlC,EACAmC,EAAA,IAAAnC,EACAoC,EAAA,EAKAN,EAAA,GACAO,EAAA,GAIAC,EAAA,IAAAC,QACAC,EAAA,CAIAxB,SAAA,CAAAyB,EAAAC,EAAA,GAAAC,EAAA,MACA,IAAAC,EAAAD,GAAAb,EACAe,EAAAD,EAAAV,EAAAC,EAOA,OANAO,GACAJ,EAAAjC,GAAA,CAAAoC,GACAI,EAAAxC,GAAA,CAAAoC,IAAAG,GAAAd,GAEAM,CAAAA,EAAAF,EAAAhC,KAAA,CAAAY,MAAA,EAEA2B,CACA,EAIAvB,OAAA,IACAiB,EAAA3B,MAAA,CAAAiC,GACAH,EAAA1B,MAAA,CAAA6B,EACA,EAIAnE,QAAA,IAMA,GAAAwD,EAAA,CACAO,EAAA,GACA,MACA,CAOA,GANAP,EAAA,GACA,CAAAI,EAAAC,EAAA,EAAAA,EAAAD,EAAA,CAEAC,EAAAtB,KAAA,GAEAuB,EAAAF,EAAAhC,KAAA,CAAAY,MAAA,CAEA,QAAAgC,EAAA,EAAgCA,EAAAV,EAAcU,IAAA,CAC9C,IAAAL,EAAAP,EAAAhC,KAAA,CAAA4C,EAAA,CACAL,EAAApB,GACAiB,EAAAhC,GAAA,CAAAmC,KACAD,EAAAxB,QAAA,CAAAyB,GACAf,IAEA,CAEAI,EAAA,GACAO,IACAA,EAAA,GACAG,EAAAlE,OAAA,CAAA+C,GAEA,CACA,EACA,OAAAmB,CACA,ECjFmC,IAAAd,EAAA,IACnCM,GACK,IACLe,EAAA,GAAAzB,CAAA,CAAA0B,EAAA,CAAA1E,OAAA,CAAA8C,GACA6B,EAAA,KACA,IAAApB,EAAAqB,YAAAC,GAAA,GACAzB,EAAA,GACAN,EAAAQ,KAAA,CAAAD,EACA,OACAyB,KAAAC,GAAA,CAAAD,KAAAE,GAAA,CAAAzB,EAAAT,EAAAS,SAAA,CAnBA,IAmBA,GACAT,EAAAS,SAAA,CAAAA,EACAT,EAAAU,YAAA,IACAf,EAAAwC,OAAA,CAAAR,GACA3B,EAAAU,YAAA,IACAJ,GAAAD,IACAE,EAAA,GACAH,EAAAyB,GAEA,EACAO,EAAA,KACA9B,EAAA,GACAC,EAAA,GACAP,EAAAU,YAAA,EACAN,EAAAyB,EAEA,EAWA,OAAajC,SAVbD,EAAAgB,MAAA,EAAAC,EAAAzD,KACA,IAAAiE,EAAAlB,CAAA,CAAA/C,EAAA,CAMA,OALAyD,CAAA,CAAAzD,EAAA,EAAAD,EAAAoE,EAAA,GAAAC,EAAA,MACAjB,GACA8B,IACAhB,EAAAxB,QAAA,CAAA1C,EAAAoE,EAAAC,IAEAX,CACA,EAAK,IAEQd,OADb,GAAAH,EAAAwC,OAAA,IAAAjC,CAAA,CAAA/C,EAAA,CAAA2C,MAAA,CAAA5C,IACa8C,MAAAA,EAAAE,MAAAA,CAAA,CACb,ECtD8F,oBAAAmC,sBAAAA,sBAAwEC,EAAAC,CAAI,4DCH1K,IAAAC,EAAA,CACAC,UAAA,CACA,UACA,WACA,aACA,WACA,OACA,cACA,aACA,YACA,CACAC,KAAA,SACAC,KAAA,wBACAC,MAAA,eACAC,MAAA,2CACAC,IAAA,gDACAC,IAAA,sDACAC,OAAA,oDACAC,OAAA,uBAEAC,EAAA,GACA,QAAA/F,KAAAqF,EACAU,CAAA,CAAA/F,EAAA,EACAgG,UAAA,GAAAX,CAAA,CAAArF,EAAA,CAAAiG,IAAA,MAAAtG,CAAA,CAAAuG,EAAA,CACA,wECtBA,SAAAC,EAAAC,CAAA,EACA,QAAApG,KAAAoG,EACQC,EAAAC,CAAkB,CAAAtG,EAAA,EAC1B,GAAeqG,EAAAC,CAAkB,CAAAtG,EAAA,CACjC,GAAAoG,CAAA,CAAApG,EAAA,CAGA,mFCNA,SAAAuG,EAAAvG,CAAA,EAAoC8F,OAAAA,CAAA,CAAAU,SAAAA,CAAA,CAAkB,EACtD,OAAYC,EAAAC,CAAc,CAAA3E,GAAA,CAAA/B,IAC1BA,EAAA2G,UAAA,YACA,CAAAb,GAAAU,KAAApG,IAAAoG,CAAA,GACA,GAAeI,EAAAC,CAAe,CAAA7G,EAAA,EAAAA,YAAAA,CAAA,CAC9B,gFCRA,IAAA8G,EAAA,GACA,SAAAC,EAAAC,CAAA,EACA9G,OAAA+G,MAAA,CAAAH,EAAAE,EACA,4JIKA,SAAAE,EAAAC,CAAA,EACA,OAAAzG,MAAAC,OAAA,CAAAwG,GAAAA,EAAAC,IAAA,MAAAD,CACA,iDCVA,IAAAE,EAAAC,OAAAC,GAAA,0BEgBA,SAAAC,EAAAC,CAAA,EACA,SAAAC,EAAAC,CAAA,CAAAC,EAAA,EAA+D,EAC/D,OAAeC,SDKf,CAAiCC,kBAAAA,CAAA,CAAAC,oBAAAA,CAAA,CAAAC,UAAAA,CAAA,CAAAC,eAAAA,CAAA,CAAAN,UAAAA,CAAA,CAA+E,EAChHG,GAAyB,GAAAI,EAAAC,CAAA,EAAYL,GA2CrC,IAAAM,EAAgC,GAAAC,EAAAC,UAAA,EA1ChC,SAAA3I,CAAA,CAAA4I,CAAA,MJlBAC,MIuBAC,EACA,IAAAC,EAAA,CACA,GAAe,GAAAL,EAAAM,UAAA,EAAW1H,EAAA2H,CAAmB,EAC7C,GAAAjJ,CAAA,CACA6G,SAAAqC,SAqCA,CAAuBrC,SAAAA,CAAA,CAAU,EACjC,IAAAsC,EAA0B,GAAAT,EAAAM,UAAA,EAAW/H,EAAAO,CAAkB,EAAA4H,EAAA,CACvD,OAAAD,GAAAtC,KAAApG,IAAAoG,EACAsC,EAAA,IAAAtC,EACAA,CACA,EA1CA7G,EACA,EACA,CAAgByB,SAAAA,CAAA,EAAWsH,EAC3BM,EAAwBC,SFjCxBtJ,CAAA,EACA,IAAYuJ,QAAAA,CAAA,CAAAC,QAAAA,CAAA,EAAqBC,SDFjCzJ,CAAA,CAAAqJ,CAAA,EACA,GAAQ,GAAAK,EAAA3C,CAAA,EAAqB/G,GAAA,CAC7B,IAAgBuJ,QAAAA,CAAA,CAAAC,QAAAA,CAAA,EAAmBxJ,EACnC,OACAuJ,QAAAA,CAAA,IAAAA,GAA0C,GAAAI,EAAAC,CAAA,EAAcL,GACxDA,EACA9I,KAAAA,EACA+I,QAAqB,GAAAG,EAAAC,CAAA,EAAcJ,GAAAA,EAAA/I,KAAAA,CACnC,CACA,CACA,MAAAT,CAAA,IAAAA,EAAA6J,OAAA,CAAAR,EAAA,EACA,ECTuDrJ,EAAQ,GAAA0I,EAAAM,UAAA,EAAWrH,EAAAf,CAAa,GACvF,MAAW,GAAA8H,EAAAoB,OAAA,EAAO,MAAUP,QAAAA,EAAAC,QAAAA,CAAA,GAAkB,CAAAjC,EAAAgC,GAAAhC,EAAAiC,GAAA,CAC9C,EE8B8CxJ,GAC9C+J,EAAAzB,EAAAtI,EAAAyB,GACA,IAAAA,GAAyBuI,EAAAC,CAAS,EAOlCZ,EAAAR,aAAA,CAAoCqB,SLvCpClC,CAAA,CAAA+B,CAAA,CAAA/J,CAAA,CAAAoI,CAAA,EACA,IAAYS,cAAAsB,CAAA,EAA0B,GAAAzB,EAAAM,UAAA,EAAWrH,EAAAf,CAAa,EAC9DwJ,EAAwB,GAAA1B,EAAAM,UAAA,EAAW5H,EAAAiJ,CAAW,EAC9CC,EAA4B,GAAA5B,EAAAM,UAAA,EAAWpH,EAAA2I,CAAe,EACtDC,EAAgC,GAAA9B,EAAAM,UAAA,EAAW1H,EAAA2H,CAAmB,EAAAvH,aAAA,CAC9D+I,EAA6B,GAAA/B,EAAAgC,MAAA,IAI7BtC,EAAAA,GAAAgC,EAAAO,QAAA,CACA,CAAAF,EAAAG,OAAA,EAAAxC,GACAqC,CAAAA,EAAAG,OAAA,CAAAxC,EAAAJ,EAAA,CACA+B,YAAAA,EACAI,OAAAA,EACAnK,MAAAA,EACAsK,gBAAAA,EACAO,sBAAAP,EAAAA,GACAA,CAAA,IAAAA,EAAAf,OAAA,CAEAiB,oBAAAA,CACA,EAAS,EAET,IAAA3B,EAAA4B,EAAAG,OAAA,CACI,GAAAlC,EAAAoC,kBAAA,EAAkB,KACtBjC,GAAAA,EAAAkC,MAAA,CAAA/K,EAAAsK,EACA,GAKA,IAAAU,EAAuB,GAAAtC,EAAAgC,MAAA,EAAMO,CAAAA,CAAAC,OAAAC,uBAAA,EAkC7B,MAjCI,GAAAC,EAAAC,CAAA,EAAyB,KAC7BxC,IAEAA,EAAAyC,MAAA,GAWAN,EAAAJ,OAAA,EAAA/B,EAAA0C,cAAA,EACA1C,EAAA0C,cAAA,CAAAC,cAAA,GAEA,GACI,GAAA9C,EAAA+C,SAAA,EAAS,KACb5C,IAEAA,EAAA6C,cAAA,GACA,CAAAV,EAAAJ,OAAA,EAAA/B,EAAA0C,cAAA,EACA1C,EAAA0C,cAAA,CAAAC,cAAA,GAOAN,OAAAC,uBAAA,CAAA1K,KAAAA,EACAuK,EAAAJ,OAAA,IACA,GACA/B,CACA,EK1BoDb,EAAA+B,EAAAhB,EAAAX,GAKpD,IAAAuD,EAA6C,GAAAjD,EAAAM,UAAA,EAAWnH,EAAA+J,CAAwB,EAChFC,EAA6B,GAAAnD,EAAAM,UAAA,EAAW5H,EAAAiJ,CAAW,EAAAhJ,MAAA,CACnDgI,EAAAR,aAAA,EACAC,CAAAA,EAAAO,EAAAR,aAAA,CAAArC,YAAA,CAEAuC,EAAA8C,EAAA1D,EAAAwD,EAAA,CAEA,CAKA,OAAgBjD,EAAAoD,aAAmB,CAACnK,EAAAf,CAAa,CAAAmL,QAAA,EAAazL,MAAA+I,CAAA,EAC9DP,GAAAO,EAAAR,aAAA,CAAsDH,EAAAoD,aAAmB,CAAAhD,EAAA,CAAkBD,cAAAQ,EAAAR,aAAA,IAAAE,CAAA,GAAyD,KACpJV,EAAAL,EAAAhI,GJ1DA6I,EI0DoDQ,EAAAR,aAAA,CJzDzC,GAAAH,EAAAsD,WAAA,EAAW,IACtBC,GAAAlC,EAAAmC,KAAA,EAAAnC,EAAAmC,KAAA,CAAAD,GACApD,GACAoD,CAAAA,EACApD,EAAAqD,KAAA,CAAAD,GACApD,EAAAsD,OAAA,IIoDoDvD,IJjDpD,mBIiDoDA,EJhDpDA,EAAAqD,GAEqB,GAAAG,EAAAC,CAAA,EI8C+BzD,IJ7CpDA,CAAAA,EAAAgC,OAAA,CAAAqB,CAAA,EAGA,EAMA,CAAApD,EAAA,GIoCoDkB,EAAAtI,EAAA4H,EAAAR,aAAA,EACpD,GAGA,OADAJ,CAAA,CAAwBf,EAAqB,CAAAM,EAC7CS,CACA,ECpDoCX,EAAAE,EAAAC,GACpC,CACA,uBAAAqE,MACA,OAAAvE,EAMA,IAAAwE,EAAA,IAAAC,IACA,WAAAF,MAAAvE,EAAA,CAMA0E,IAAA,CAAAC,EAAArM,KAIAkM,EAAAnK,GAAA,CAAA/B,IACAkM,EAAAI,GAAA,CAAAtM,EAAA0H,EAAA1H,IAEAkM,EAAAE,GAAA,CAAApM,GAEA,EACA,yDCzCA,IAAAuM,EAAA,GAAAC,EAAAC,OAAA,4BAAAC,WAAA,8DIAAC,wDHHA,IAAAC,EAAA,MACAC,MAAA,GACAC,UAAA,GACAC,gBAAA,GACAC,KAAA,EACA,GCCA,SAAAC,EAAAC,CAAA,CAAAC,CAAA,CAAAxN,CAAA,EACA,QAAAK,KAAAmN,EACa,GAAAC,EAAA7I,CAAA,EAAa4I,CAAA,CAAAnN,EAAA,GAAkB,GAAAqN,EAAAzD,CAAA,EAAmB5J,EAAAL,IAC/DuN,CAAAA,CAAA,CAAAlN,EAAA,CAAAmN,CAAA,CAAAnN,EAAA,CAGA,CCNA,IAAAsN,EAAA,IAAAzL,IAAA,CACA,UACA,OACA,WACA,UACA,QACA,SACA,WACA,aACA,oBACA,kBACA,SACA,UACA,yBACA,4BACA,kBACA,wBACA,mBACA,sBACA,WACA,cACA,SACA,YACA,2BACA,kBACA,sBACA,SACA,SACA,eACA,aACA,kBACA,kBACA,eACA,WACA,EASA,SAAA0L,EAAAvN,CAAA,EACA,OAAAA,EAAA2G,UAAA,WACA3G,EAAA2G,UAAA,UAAA3G,cAAAA,GACAA,EAAA2G,UAAA,YACA3G,EAAA2G,UAAA,WACA3G,EAAA2G,UAAA,WACA2G,EAAAvL,GAAA,CAAA/B,EACA,CCtDA,IAAAwN,EAAA,IAA8BD,EAAiBvN,GAoB/C,KAnBA2M,EAyBAc,QAAA,0BAAAlO,OAAA,GArBAiO,CAAAA,EAAA,GAAAxN,EAAA2G,UAAA,QAAqD4G,EAAiBvN,GAAA2M,EAAA3M,EAAA,CAsBtE,CACA,MAAA0N,EAAA,CAEA,gBC9BA,IAAAC,EAAA,MACA,GAAOf,GAAqB,CAC5BgB,MAAA,EACA,iHGcA,IAAAC,EAAA,IAAAlO,EAAAyB,KACA,IAAA4H,EAAoB,GAAAX,EAAAM,UAAA,EAAWrH,EAAAf,CAAa,EAC5C0J,EAA4B,GAAA5B,EAAAM,UAAA,EAAWpH,EAAA2I,CAAe,EACtD4D,EAAA,IAAAC,CAbA,UAAqBC,4BAAAA,CAAA,CAAAC,kBAAAA,CAAA,CAAAC,QAAAA,CAAA,CAA0D,CAAAvO,CAAA,CAAAqJ,CAAA,CAAAiB,CAAA,EAC/E,IAAApH,EAAA,CACAsL,aAAAC,SAcAzO,CAAA,CAAAqJ,CAAA,CAAAiB,CAAA,CAAAoE,CAAA,EACA,IAAAC,EAAA,GACAC,EAAAF,EAAA1O,EAAA,IACA,QAAAK,KAAAuO,EACAD,CAAA,CAAAtO,EAAA,CAAsB,GAAAwO,EAAAC,CAAA,EAAkBF,CAAA,CAAAvO,EAAA,EAExC,IAAUkJ,QAAAA,CAAA,CAAAC,QAAAA,CAAA,EAAmBxJ,EAC7B+O,EAAoC,GAAArF,EAAA3C,CAAA,EAAqB/G,GACzDgP,EAA4B,GAAAtF,EAAAuF,CAAA,EAAajP,GACzCqJ,GACA2F,GACA,CAAAD,GACA/O,CAAA,IAAAA,EAAA6J,OAAA,GACApJ,KAAAA,IAAA8I,GACAA,CAAAA,EAAAF,EAAAE,OAAA,EACA9I,KAAAA,IAAA+I,GACAA,CAAAA,EAAAH,EAAAG,OAAA,GAEA,IAAA0F,EAAA5E,EAAAA,GACAA,CAAA,IAAAA,EAAAf,OAAA,CAGA4F,EAAAD,CADAA,EAAAA,GAAA3F,CAAA,IAAAA,CAAA,EACAC,EAAAD,EA8BA,OA7BA4F,GACA,kBAAAA,GACA,CAAS,GAAAC,EAAAC,CAAA,EAAmBF,IAE5BG,CADAvO,MAAAC,OAAA,CAAAmO,GAAAA,EAAA,CAAAA,EAAA,EACA9J,OAAA,KACA,IAAAkK,EAA6B,GAAAC,EAAAC,CAAA,EAAuBzP,EAAA0P,GACpD,IAAAH,EACA,OACA,IAAoBI,cAAAA,CAAA,CAAAC,WAAAA,CAAA,IAAArC,EAAA,CAAuCgC,EAC3D,QAAAlP,KAAAkN,EAAA,CACA,IAAAsC,EAAAtC,CAAA,CAAAlN,EAAA,CACA,GAAAU,MAAAC,OAAA,CAAA6O,GAAA,CAKA,IAAAtN,EAAA2M,EACAW,EAAAjN,MAAA,GACA,EACAiN,EAAAA,CAAA,CAAAtN,EAAA,CAEA,OAAAsN,GACAlB,CAAAA,CAAA,CAAAtO,EAAA,CAAAwP,CAAA,CAEA,CACA,QAAAxP,KAAAsP,EACAhB,CAAA,CAAAtO,EAAA,CAAAsP,CAAA,CAAAtP,EAAA,GAGAsO,CACA,EAnEA3O,EAAAqJ,EAAAiB,EAAA+D,GACAyB,YAAAxB,GACA,EAIA,OAHAC,GACArL,CAAAA,EAAAgJ,KAAA,IAAAqC,EAAAvO,EAAAiM,EAAA/I,EAAA,EAEAA,CACA,GAIA6M,EAAA/P,EAAAqJ,EAAAiB,GACA,OAAA7I,EAAA0M,IAA+B,GAAA6B,EAAAC,CAAA,EAAW9B,EAC1C,iBChBA,IAAA+B,EAAA,CACA5H,eAAoB4F,EAAkB,CACtCG,4BAAqC8B,EAAAC,CAA2B,CAChE9B,kBAA2BN,EAC3BO,QAAA,CAAAvO,EAAAiM,EAAA,CAAqC6D,YAAAA,CAAA,CAAAtB,aAAAA,CAAA,CAA2B,IACpD6B,EAAAC,EAAK,CAAAC,IAAA,MACjB,IACAT,EAAAU,UAAA,CACA,mBAAAvE,EAAAwE,OAAA,CAEAxE,EAAAwE,OAAA,GACAxE,EAAAyE,qBAAA,EACA,CACA,MAAAC,EAAA,CAEAb,EAAAU,UAAA,EACAI,EAAA,EACAC,EAAA,EACAC,MAAA,EACAC,OAAA,CACA,CACA,CACA,GACYV,EAAAC,EAAK,CAAAhF,MAAA,MACD,GAAA0F,EAAApM,CAAA,EAAakL,EAAAtB,EAAA,CAA8ByC,2BAAA,IAAqC,GAAAC,EAAAC,CAAA,EAAQlF,EAAAmF,OAAA,EAAApR,EAAAqR,iBAAA,EACxF,GAAA/F,EAAA9C,CAAA,EAASyD,EAAA6D,EACzB,EACA,CACA,EACA,ECjCAwB,EAAA,CACAhJ,eAAoB4F,EAAkB,CACtCG,4BAAmCkD,SAAAnB,CAAA,CACnC9B,kBAA2BrB,CAC3B,EACA,ECJA,SAAAuE,EAAAxJ,CAAA,EAA4CyJ,mBAAAA,EAAA,GAA4B,CAAAtJ,CAAA,CAAAC,CAAA,EAIxE,OAD0B,GAFH,GAAAsJ,EAAAC,CAAA,EAAc3J,GAC3BkI,EACAoB,CAEV,CACAnJ,kBAAAA,EACAE,UAAmBuJ,SJLnBH,EAAA,IAwBA,MAvBA,CAAAzJ,EAAAhI,EAAA6R,EAAA,CAAgDrD,aAAAA,CAAA,CAAc,CAAA/M,KAI9D,IAAAqQ,EAAAC,CAH+B,GAAAL,EAAAC,CAAA,EAAc3J,GDH7C,SAAAhI,CAAA,CAAA+J,CAAA,CAAAiI,CAAA,CAAAhK,CAAA,EACA,IAAA8J,EAAwB,GAAApJ,EAAAoB,OAAA,EAAO,KAC/B,IAAA5G,EAAsB8K,IAEtB,MADQ,GAAAgD,EAAApM,CAAA,EAAa1B,EAAA6G,EAAA,CAAuBkH,2BAAA,IAAqC,GAAAC,EAAAC,CAAA,EAAQnJ,GAAAhI,EAAAqR,iBAAA,EACzF,CACA,GAAAnO,EAAA+K,KAAA,CACAf,MAAA,CAAqB,GAAAhK,EAAAgK,KAAA,CACrB,CACA,EAAK,CAAAnD,EAAA,EACL,GAAA/J,EAAAkN,KAAA,EACA,IAAA+E,EAAA,GACQ3E,EAAiB2E,EAAAjS,EAAAkN,KAAA,CAAAlN,GACzB8R,EAAA5E,KAAA,EAA8B,GAAA+E,CAAA,IAAAH,EAAA5E,KAAA,CAC9B,CACA,OAAA4E,CACA,EJSA,SAAA9R,CAAA,CAAA+J,CAAA,CAAAtI,CAAA,EAEA,IAAAyQ,EAAA,GACAhF,EAAAiF,SAbAnS,CAAA,CAAA+J,CAAA,CAAAtI,CAAA,EACA,IAAA2Q,EAAApS,EAAAkN,KAAA,KACAA,EAAA,GAMA,OAFAI,EAAAJ,EAAAkF,EAAApS,GACAO,OAAA+G,MAAA,CAAA4F,EAAAmF,SAdA,CAAkChB,kBAAAA,CAAA,CAAmB,CAAAtH,CAAA,CAAAtI,CAAA,EACrD,MAAW,GAAAiH,EAAAoB,OAAA,EAAO,KAClB,IAAA5G,EAAsB+J,IAEtB,MADQ,GAAAqF,EAAAC,CAAA,EAAerP,EAAA6G,EAAA,CAAuBkH,2BAAA,CAAAxP,CAAA,EAAuC4P,GACrF9Q,OAAA+G,MAAA,IAA+BpE,EAAAmK,IAAA,CAAAnK,EAAAgK,KAAA,CAC/B,EAAK,CAAAnD,EAAA,CACL,EAQA/J,EAAA+J,EAAAtI,IACAzB,EAAAwS,eAAA,CAAAxS,EAAAwS,eAAA,CAAAtF,GAAAA,CACA,EAIAlN,EAAA+J,EAAAtI,GAoBA,OAnBAzB,EAAA6F,IAAA,EAAA7F,CAAA,IAAAA,EAAAyS,YAAA,GAEAP,EAAAQ,SAAA,IAEAxF,EAAAyF,UAAA,CACAzF,EAAA0F,gBAAA,CACA1F,EAAA2F,kBAAA,CACA,OAEA3F,EAAA4F,WAAA,CACA9S,CAAA,IAAAA,EAAA6F,IAAA,CACA,OACA,OAAyB7F,MAAAA,EAAA6F,IAAA,SAA+B,GAExDpF,KAAAA,IAAAT,EAAA+S,QAAA,EACA/S,CAAAA,EAAAgT,KAAA,EAAAhT,EAAAiT,UAAA,EAAAjT,EAAAkT,QAAA,GACAhB,CAAAA,EAAAa,QAAA,IAEAb,EAAAhF,KAAA,CAAAA,EACAgF,CACA,CK3Cc,EACdlS,EAAAwO,EAAA/M,EAAAuG,GAEAmL,EAAA,CADyC,GAAXC,SHoB9BpT,CAAA,CAAAqT,CAAA,CAAA5B,CAAA,EACA,IAAA6B,EAAA,GACA,QAAAjT,KAAAL,EAQAK,CAAAA,WAAAA,GAAA,iBAAAL,EAAA2O,MAAA,GAEAd,CAAAA,EAAAxN,IACAoR,CAAA,IAAAA,GAA4C7D,EAAiBvN,IAC7D,CAAAgT,GAAA,CAAwBzF,EAAiBvN,IAEzCL,EAAA,WAAAK,EAAA2G,UAAA,aACAsM,CAAAA,CAAA,CAAAjT,EAAA,CAAAL,CAAA,CAAAK,EAAA,EAGA,OAAAiT,CACA,EGzCyCtT,EAAA,iBAAAgI,EAAAyJ,EAEzC,CACA,GAAAK,CAAA,CACAD,IAAAA,CACA,EAMA,CAAgB0B,SAAAA,CAAA,EAAWvT,EAC3BwT,EAAiC,GAAA9K,EAAAoB,OAAA,EAAO,IAAQ,GAAA2D,EAAA7I,CAAA,EAAa2O,GAAAA,EAAA9G,GAAA,GAAA8G,EAAA,CAAAA,EAAA,EAC7D,MAAe,GAAA7K,EAAAoD,aAAA,EAAa9D,EAAA,CAC5B,GAAAmL,CAAA,CACAI,SAAAC,CACA,EACA,CAEA,EIpBkC/B,GAClCrJ,oBAAAA,EACAJ,UAAAA,CACA,CACA,0GChBA,IAAAyL,EAAA,uBAAApT,GAAAA,EAAA2G,UAAA,CAAA0M,GACAC,EAAAF,EAAA,MACAG,EAAAH,EAAA,UACAI,EAAA,uICCA,IAAAC,EAAA,CACA,UACA,SACA,OACA,OACA,UACA,IACA,QACA,OACA,SACA,SACA,OACA,WACA,OACA,UACA,UACA,WACA,OACA,OACA,SACA,SACA,MACA,OACA,QACA,MACA,OACA,CC5BA,SAAAC,EAAA/L,CAAA,EACA,GAKA,iBAAAA,GAIAA,EAAAgM,QAAA,YAGA,GAIIF,EAAoBtR,OAAA,CAAAwF,GAAA,IAIxB,QAAAiM,IAAA,CAAAjM,GACA,SAEA,QACA,mFCzBA,IAAMkM,EAAG,CACT,GAAOC,EAAAC,EAAM,CACbjH,UAAAjI,KAAAmP,KAAA,ECAAC,EAAA,CAEAC,YAAiBC,EAAAC,EAAE,CACnBC,eAAoBF,EAAAC,EAAE,CACtBE,iBAAsBH,EAAAC,EAAE,CACxBG,kBAAuBJ,EAAAC,EAAE,CACzBI,gBAAqBL,EAAAC,EAAE,CACvBK,aAAkBN,EAAAC,EAAE,CACpBM,OAAYP,EAAAC,EAAE,CACdO,oBAAyBR,EAAAC,EAAE,CAC3BQ,qBAA0BT,EAAAC,EAAE,CAC5BS,wBAA6BV,EAAAC,EAAE,CAC/BU,uBAA4BX,EAAAC,EAAE,CAE9B3D,MAAW0D,EAAAC,EAAE,CACbW,SAAcZ,EAAAC,EAAE,CAChB1D,OAAYyD,EAAAC,EAAE,CACdY,UAAeb,EAAAC,EAAE,CACjBa,KAAUd,EAAAC,EAAE,CACZc,IAASf,EAAAC,EAAE,CACXe,MAAWhB,EAAAC,EAAE,CACbgB,OAAYjB,EAAAC,EAAE,CACdiB,KAAUlB,EAAAC,EAAE,CAEZkB,QAAanB,EAAAC,EAAE,CACfmB,WAAgBpB,EAAAC,EAAE,CAClBoB,aAAkBrB,EAAAC,EAAE,CACpBqB,cAAmBtB,EAAAC,EAAE,CACrBsB,YAAiBvB,EAAAC,EAAE,CACnBuB,OAAYxB,EAAAC,EAAE,CACdwB,UAAezB,EAAAC,EAAE,CACjByB,YAAiB1B,EAAAC,EAAE,CACnB0B,aAAkB3B,EAAAC,EAAE,CACpB2B,WAAgB5B,EAAAC,EAAE,CAElB4B,OAAY7B,EAAA8B,EAAO,CACnBC,QAAa/B,EAAA8B,EAAO,CACpBE,QAAahC,EAAA8B,EAAO,CACpBG,QAAajC,EAAA8B,EAAO,CACpBI,MAASvC,EAAAwC,EAAA,CACTC,OAAYzC,EAAAwC,EAAK,CACjBE,OAAY1C,EAAAwC,EAAK,CACjBG,OAAY3C,EAAAwC,EAAK,CACjBI,KAAUvC,EAAA8B,EAAO,CACjBU,MAAWxC,EAAA8B,EAAO,CAClBW,MAAWzC,EAAA8B,EAAO,CAClBY,SAAc1C,EAAAC,EAAE,CAChB0C,WAAgB3C,EAAAC,EAAE,CAClB2C,WAAgB5C,EAAAC,EAAE,CAClB4C,WAAgB7C,EAAAC,EAAE,CAClB7D,EAAO4D,EAAAC,EAAE,CACT5D,EAAO2D,EAAAC,EAAE,CACT6C,EAAO9C,EAAAC,EAAE,CACT8C,YAAiB/C,EAAAC,EAAE,CACnB+C,qBAA0BhD,EAAAC,EAAE,CAC5BgD,QAAatD,EAAAuD,EAAK,CAClBC,QAAanD,EAAAoD,EAAkB,CAC/BC,QAAarD,EAAAoD,EAAkB,CAC/BE,QAAatD,EAAAC,EAAE,CAEfsD,OAAY7D,EAEZ8D,YAAiB7D,EAAAuD,EAAK,CACtBO,cAAmB9D,EAAAuD,EAAK,CACxBQ,WAAgBhE,CAChB,wECnEA,IAAAiE,EAAA,CACAvH,EAAA,aACAC,EAAA,aACAyG,EAAA,aACAE,qBAAA,aACA,EACAY,EAAsBC,EAAApP,CAAkB,CAAArG,MAAA,gBCLxC,IAAA0V,EAAA,CAAAhY,EAAAiY,IACAA,GAAA,iBAAAjY,EACAiY,EAAApL,SAAA,CAAA7M,GACAA,iBCAA,SAAAkY,EAAAtV,CAAA,CAAAsL,CAAA,CAAAiK,CAAA,CAAApH,CAAA,EACA,IAAYnE,MAAAA,CAAA,CAAAG,KAAAA,CAAA,CAAAF,UAAAA,CAAA,CAAAC,gBAAAA,CAAA,EAA0ClK,EAEtDwV,EAAA,GACAC,EAAA,GAEAC,EAAA,GAOA,QAAAvY,KAAAmO,EAAA,CACA,IAAAlO,EAAAkO,CAAA,CAAAnO,EAAA,CAIA,GAAY,GAAAwY,EAAAC,EAAA,EAAiBzY,GAAA,CAC7BgN,CAAA,CAAAhN,EAAA,CAAAC,EACA,QACA,CAEA,IAAAyY,EAA0BC,EAAA/O,CAAgB,CAAA5J,EAAA,CAC1C4Y,EAA4BX,EAAchY,EAAAyY,GAC1C,GAAYV,EAAAtR,CAAc,CAAA3E,GAAA,CAAA/B,GAAA,CAK1B,GAHAqY,EAAA,GACAvL,CAAA,CAAA9M,EAAA,CAAA4Y,EAEA,CAAAL,EACA,SAEAtY,IAAAyY,CAAAA,EAAAnZ,OAAA,MACAgZ,CAAAA,EAAA,GACA,MACAvY,EAAA2G,UAAA,YAEA2R,EAAA,GACAvL,CAAA,CAAA/M,EAAA,CAAA4Y,GAGA/L,CAAA,CAAA7M,EAAA,CAAA4Y,CAEA,CAiBA,GAhBA,CAAAzK,EAAArB,SAAA,GACAuL,GAAArH,EACAnE,EAAAC,SAAA,CAA8B+L,SFtC9B/L,CAAA,EAAqC8D,2BAAAA,EAAA,GAAAkI,mBAAAA,EAAA,GAA+D,CAAAC,CAAA,CAAA/H,CAAA,EAEpG,IAAAgI,EAAA,GAKA,QAAAzU,EAAA,EAAoBA,EAAAwT,EAAmBxT,IAAA,CACvC,IAAAvE,EAAoBgY,EAAApP,CAAkB,CAAArE,EAAA,CACtC,GAAAuI,KAAA1M,IAAA0M,CAAA,CAAA9M,EAAA,EACA,IAAAiZ,EAAAnB,CAAA,CAAA9X,EAAA,EAAAA,EACAgZ,GAAA,GAAkCC,EAAc,GAAGnM,CAAA,CAAA9M,EAAA,CAAe,IAElE,CAaA,OAZA4Q,GAAA,CAAA9D,EAAAmK,CAAA,EACA+B,CAAAA,GAAA,iBAEAA,EAAAA,EAAAE,IAAA,GAGAlI,EACAgI,EAAAhI,EAAAlE,EAAAiM,EAAA,GAAAC,GAEAF,GAAAC,GACAC,CAAAA,EAAA,QAEAA,CACA,EEW4CnW,EAAAiK,SAAA,CAAAsL,EAAAG,EAAAvH,GAE5CnE,EAAAC,SAAA,EAKAD,CAAAA,EAAAC,SAAA,UAOAwL,EAAA,CACA,IAAgBhB,QAAAA,EAAA,MAAAE,QAAAA,EAAA,MAAAC,QAAAA,EAAA,GAAiD1K,CACjEF,CAAAA,EAAAE,eAAA,IAAmCuK,EAAA,CAAS,EAAEE,EAAA,CAAS,EAAEC,EAAQ,EAEjE,yDCvEA,SAAA0B,EAAAC,CAAA,EAA+BvM,MAAAA,CAAA,CAAAG,KAAAA,CAAA,CAAa,CAAA+E,CAAA,CAAAsH,CAAA,EAG5C,QAAArZ,KAFAE,OAAA+G,MAAA,CAAAmS,EAAAvM,KAAA,CAAAA,EAAAwM,GAAAA,EAAAC,mBAAA,CAAAvH,IAEA/E,EACAoM,EAAAvM,KAAA,CAAA0M,WAAA,CAAAvZ,EAAAgN,CAAA,CAAAhN,EAAA,CAEA,mFCHA,SAAAgO,EAAArO,CAAA,CAAA6Z,CAAA,EACA,IAAY3M,MAAAA,CAAA,EAAQlN,EACpB8Z,EAAA,GACA,QAAAzZ,KAAA6M,EACY,IAAA6M,EAAAnV,CAAA,EAAasI,CAAA,CAAA7M,EAAA,GACzBwZ,EAAA3M,KAAA,EAAgC,GAAA6M,EAAAnV,CAAA,EAAaiV,EAAA3M,KAAA,CAAA7M,EAAA,GACjC,GAAA2Z,EAAA/P,CAAA,EAAmB5J,EAAAL,EAAA,GAC/B8Z,CAAAA,CAAA,CAAAzZ,EAAA,CAAA6M,CAAA,CAAA7M,EAAA,EAGA,OAAAyZ,CACA,gFCXA,IAAAG,EAAA,CACA,uBACA,IACA,IACA,IACA,aACA,aACA,aACA,QACA,SACA,SACA,SACA,UACA,UACA,UACA,OACA,QACA,QACA,CAIAC,EAAA,IAAAhY,IAAA+X,oFCvBA,SAAAE,EAAAC,CAAA,CAAAC,CAAA,CAAA/E,CAAA,EACA,uBAAA8E,EACAA,EACU5F,EAAAC,EAAE,CAAAtH,SAAA,CAAAkN,EAAA/E,EAAA8E,EACZ,CCJA,IAAAE,EAAA,CACAD,OAAA,oBACAE,MAAA,kBACA,EACAC,EAAA,CACAH,OAAA,mBACAE,MAAA,iBACA,ECFA,SAAAE,EAAAvX,CAAA,EAAgCwX,MAAAA,CAAA,CAAAC,MAAAA,CAAA,CAAAC,UAAAA,CAAA,CAAAjD,QAAAA,CAAA,CAAAE,QAAAA,CAAA,CAAAgD,WAAAA,CAAA,CAAAC,YAAAA,EAAA,EAAAC,WAAAA,EAAA,EAEhC,GAAAC,EAAW,CAAAvC,CAAA,CAAAwC,CAAA,CAAA5J,CAAA,EAMX,GALI,GAAAiB,EAAAC,CAAA,EAAerP,EAAA8X,EAAAvC,EAAApH,GAKnB4J,EAAA,CACA/X,EAAAgK,KAAA,CAAAgO,OAAA,EACAhY,CAAAA,EAAA+K,KAAA,CAAAiN,OAAA,CAAAhY,EAAAgK,KAAA,CAAAgO,OAAA,EAEA,MACA,CACAhY,EAAA+K,KAAA,CAAA/K,EAAAgK,KAAA,CACAhK,EAAAgK,KAAA,IACA,IAAYe,MAAAA,CAAA,CAAAf,MAAAA,CAAA,CAAAsD,WAAAA,CAAA,EAA2BtN,CAKvC+K,CAAAA,EAAAd,SAAA,GACAqD,GACAtD,CAAAA,EAAAC,SAAA,CAAAc,EAAAd,SAAA,EACA,OAAAc,EAAAd,SAAA,EAGAqD,GACAmH,CAAAA,KAAAlX,IAAAkX,GAAAE,KAAApX,IAAAoX,GAAA3K,EAAAC,SAAA,GACAD,CAAAA,EAAAE,eAAA,CAAgC+N,SFzBhC3K,CAAA,CAAAmH,CAAA,CAAAE,CAAA,EACA,IAAAuD,EAAAjB,EAAAxC,EAAAnH,EAAAI,CAAA,CAAAJ,EAAAM,KAAA,EACAuK,EAAAlB,EAAAtC,EAAArH,EAAAK,CAAA,CAAAL,EAAAO,MAAA,EACA,SAAcqK,EAAA,CAAW,EAAEC,EAAU,GEsBiB7K,EAAAmH,KAAAlX,IAAAkX,EAAAA,EAAA,GAAAE,KAAApX,IAAAoX,EAAAA,EAAA,KAGtDpX,KAAAA,IAAAia,GACAzM,CAAAA,EAAA2C,CAAA,CAAA8J,CAAA,EACAja,KAAAA,IAAAka,GACA1M,CAAAA,EAAA4C,CAAA,CAAA8J,CAAA,EACAla,KAAAA,IAAAma,GACA3M,CAAAA,EAAAyI,KAAA,CAAAkE,CAAA,EAEAna,KAAAA,IAAAoa,GACQS,SD9BRrN,CAAA,CAAArL,CAAA,CAAA2Y,EAAA,EAAAlB,EAAA,EAAAmB,EAAA,IAEAvN,EAAA4M,UAAA,GAGA,IAAAY,EAAAD,EAAAlB,EAAAE,CAEAvM,CAAAA,CAAA,CAAAwN,EAAApB,MAAA,EAAyB7F,EAAAC,EAAE,CAAAtH,SAAA,EAAAkN,GAE3B,IAAAQ,EAAuBrG,EAAAC,EAAE,CAAAtH,SAAA,CAAAvK,GACzBkY,EAAwBtG,EAAAC,EAAE,CAAAtH,SAAA,CAAAoO,EAC1BtN,CAAAA,CAAA,CAAAwN,EAAAlB,KAAA,KAA2BM,EAAA,CAAY,EAAEC,EAAY,GCmBjC7M,EAAA4M,EAAAC,EAAAC,EAAA,GAEpB,yDC9CA,IAAAW,EAAA,IAAAxZ,IAAA,CACA,gBACA,kBACA,eACA,mBACA,aACA,WACA,oBACA,eACA,cACA,aACA,UACA,UACA,eACA,mBACA,mBACA,eACA,cACA,UACA,oBACA,aACA,cACA,aACA,eACA,yDC3BA,IAAA+Y,EAAA,oBAAAU,GAAAA,QAAAA,EAAA5O,WAAA,+FCIA,SAAA6O,EAAAnC,CAAA,CAAA3J,CAAA,CAAA+L,CAAA,CAAAnC,CAAA,EAEA,QAAArZ,IADI,GAAAyb,EAAAC,CAAA,EAAUtC,EAAA3J,EAAArP,KAAAA,EAAAiZ,GACd5J,EAAA7B,KAAA,CACAwL,EAAAuC,YAAA,GAA8BC,CAAmB,CAAA7Z,GAAA,CAAA/B,GAAuBA,EAAX,GAAA6b,EAAAC,CAAA,EAAW9b,GAAAyP,EAAA7B,KAAA,CAAA5N,EAAA,CAExE,8FCLA,SAAAgO,EAAArO,CAAA,CAAA6Z,CAAA,EACA,IAAAC,EAAsB,GAAAsC,EAAAhM,CAAA,EAA6BpQ,EAAA6Z,GACnD,QAAAxZ,KAAAL,EACY,IAAAqc,EAAAzX,CAAA,EAAa5E,CAAA,CAAAK,EAAA,GAAgB,GAAAgc,EAAAzX,CAAA,EAAaiV,CAAA,CAAAxZ,EAAA,IAItDyZ,CAAAA,CAAA,CAH8BwC,KAAAA,EAAArT,CAAkB,CAAAzG,OAAA,CAAAnC,GAChD,OAAAA,EAAAkc,MAAA,IAAAC,WAAA,GAAAnc,EAAAoc,SAAA,IACApc,EACA,CAAAL,CAAA,CAAAK,EAAA,EAGA,OAAAyZ,CACA,qHCXA,SAAA4C,EAAA1c,CAAA,EACA,MAAY,GAAA2c,EAAAtN,CAAA,EAAmBrP,EAAAwJ,OAAA,GACvBoT,EAAAC,CAAY,CAAAvW,IAAA,IAAgB,GAAAwW,EAAAlT,CAAA,EAAc5J,CAAA,CAAAuG,EAAA,EAClD,CACA,SAAAwW,EAAA/c,CAAA,EACA,MAAAiL,CAAAA,CAAAyR,CAAAA,EAAA1c,IAAAA,EAAAgd,QAAA,CACA,yDCPA,SAAAC,EAAArc,CAAA,EACA,uBAAAA,GAAAG,MAAAC,OAAA,CAAAJ,EACA,yDCLA,SAAAsc,EAAAld,CAAA,CAAA0P,CAAA,CAAA3H,CAAA,CAAAoV,EAAA,EAA8E,CAAAC,EAAA,EAAsB,EAsBpG,MAlBA,mBAAA1N,GACAA,CAAAA,EAAAA,EAAA3H,KAAAtH,IAAAsH,EAAAA,EAAA/H,EAAA+H,MAAA,CAAAoV,EAAAC,EAAA,EAMA,iBAAA1N,GACAA,CAAAA,EAAA1P,EAAAgd,QAAA,EAAAhd,EAAAgd,QAAA,CAAAtN,EAAA,EAOA,mBAAAA,GACAA,CAAAA,EAAAA,EAAA3H,KAAAtH,IAAAsH,EAAAA,EAAA/H,EAAA+H,MAAA,CAAAoV,EAAAC,EAAA,EAEA1N,CACA,gFCvBA,IAAA2N,EAAA,CACA,UACA,cACA,aACA,aACA,WACA,YACA,OACA,CACAC,EAAA,cAAAD,EAAA,uBCTA,SAAAE,EAAAC,CAAA,CAAAC,CAAA,EACA,KAAAD,EAAAhb,OAAA,CAAAib,IACAD,EAAAnb,IAAA,CAAAob,EACA,CACA,SAAAC,EAAAF,CAAA,CAAAC,CAAA,EACA,IAAAlb,EAAAib,EAAAhb,OAAA,CAAAib,GACAlb,EAAA,IACAib,EAAA/a,MAAA,CAAAF,EAAA,EACA,CAEA,SAAAob,EAAA,IAAAH,EAAA,CAAAI,CAAA,CAAAC,CAAA,EACA,IAAAC,EAAAF,EAAA,EAAAJ,EAAA5a,MAAA,CAAAgb,EAAAA,EACA,GAAAE,GAAA,GAAAA,EAAAN,EAAA5a,MAAA,EACA,IAAAmb,EAAAF,EAAA,EAAAL,EAAA5a,MAAA,CAAAib,EAAAA,EACA,CAAAJ,EAAA,CAAAD,EAAA/a,MAAA,CAAAmb,EAAA,GACAJ,EAAA/a,MAAA,CAAAsb,EAAA,EAAAN,EACA,CACA,OAAAD,CACA,wIClBA,IAAAQ,EAAA,CAAA5Y,EAAAD,EAAAvE,IAAAsE,KAAAE,GAAA,CAAAF,KAAAC,GAAA,CAAAvE,EAAAwE,GAAAD,gGCEA,IAAA8Y,EAAcC,EAAAzY,CAAI,CAClB0Y,EAAgBD,EAAAzY,CAAI,uGCFpB,SAAA2Y,EAAA5c,CAAA,CAAAmQ,CAAA,CAAA0M,CAAA,QAKA,CAJAA,EAAA,GACAA,CAAAA,GAAA,GACAA,EAAA,GACAA,CAAAA,GAAA,GACAA,EAAA,KACA7c,EAAA,CAAAmQ,EAAAnQ,CAAAA,EAAA,EAAA6c,EACAA,EAAA,GACA1M,EACA0M,EAAA,IACA7c,EAAA,CAAAmQ,EAAAnQ,CAAAA,EAAA,KAAA6c,CAAAA,EAAA,EACA7c,CACA,sCCHA,IAAA8c,EAAA,CAAAC,EAAAC,EAAA5d,KACA,IAAA6d,EAAAF,EAAAA,EACA,OAAArZ,KAAAwZ,IAAA,CAAAxZ,KAAAC,GAAA,GAAAvE,EAAA4d,CAAAA,EAAAA,EAAAC,CAAA,EAAAA,GACA,EACAE,EAAA,CAAoBC,EAAAhV,CAAG,CAAEiV,EAAAC,CAAI,CAAEC,EAAAC,CAAI,EACnCC,EAAA,GAAAN,EAAAO,IAAA,IAAA3G,EAAAtE,IAAA,CAAArT,IACA,SAAAue,EAAAC,CAAA,EACA,IAAA7G,EAAA0G,EAAAG,GACI,GAAAC,EAAAC,CAAA,EAASrU,CAAAA,CAAAsN,EAAA,IAAoB6G,EAAM,uEACvC,IAAAG,EAAAhH,EAAAiH,KAAA,CAAAJ,GAKA,OAJA7G,IAAiBwG,EAAAC,CAAI,EAErBO,CAAAA,EAAgBE,SDRhB,CAAsBC,IAAAA,CAAA,CAAAC,WAAAA,CAAA,CAAAC,UAAAA,CAAA,CAAAC,MAAAA,CAAA,CAAmC,EACzDH,GAAA,IAEAE,GAAA,IACA,IAAAE,EAAA,EACAC,EAAA,EACAC,EAAA,EACA,GALAL,GAAA,IAQA,CACA,IAAAhO,EAAAiO,EAAA,GACAA,EAAA,GAAAD,CAAA,EACAC,EAAAD,EAAAC,EAAAD,EACAne,EAAA,EAAAoe,EAAAjO,EACAmO,EAAA1B,EAAA5c,EAAAmQ,EAAA+N,EAAA,KACAK,EAAA3B,EAAA5c,EAAAmQ,EAAA+N,GACAM,EAAA5B,EAAA5c,EAAAmQ,EAAA+N,EAAA,IACA,MAVAI,EAAAC,EAAAC,EAAAJ,EAWA,OACAE,IAAA5a,KAAAmP,KAAA,CAAAyL,IAAAA,GACAC,MAAA7a,KAAAmP,KAAA,CAAA0L,IAAAA,GACAC,KAAA9a,KAAAmP,KAAA,CAAA2L,IAAAA,GACAH,MAAAA,CACA,CACA,ECjB0BN,EAAA,EAE1BA,CACA,CACA,IAAAU,EAAA,CAAA1B,EAAAC,KACA,IAAA0B,EAAAf,EAAAZ,GACA4B,EAAAhB,EAAAX,GACA4B,EAAA,CAAsB,GAAAF,CAAA,EACtB,WACAE,EAAAN,GAAA,CAAAxB,EAAA4B,EAAAJ,GAAA,CAAAK,EAAAL,GAAA,CAAAlf,GACAwf,EAAAL,KAAA,CAAAzB,EAAA4B,EAAAH,KAAA,CAAAI,EAAAJ,KAAA,CAAAnf,GACAwf,EAAAJ,IAAA,CAAA1B,EAAA4B,EAAAF,IAAA,CAAAG,EAAAH,IAAA,CAAApf,GACAwf,EAAAP,KAAA,CAAwB,GAAAQ,EAAAC,CAAA,EAAGJ,EAAAL,KAAA,CAAAM,EAAAN,KAAA,CAAAjf,GACZie,EAAAC,CAAI,CAAA3R,SAAA,CAAAiT,GAEnB,4BC9BA,IAAAG,EAAA,CAAAnG,EAAA7M,IAAA,MAAmD/L,EAAA,EAAA+L,EAAA6M,EAAwB,EAC3E,SAAAoG,EAAApG,CAAA,CAAA7M,CAAA,QACA,iBAAA6M,EACA,GAAsB,GAAAiG,EAAAC,CAAA,EAAGlG,EAAA7M,EAAA3M,GAEZwe,EAAAxV,CAAK,CAAAqK,IAAA,CAAAmG,GACH6F,EAAQ7F,EAAA7M,GAGvB6M,EAAApT,UAAA,SACAuZ,EAAAnG,EAAA7M,GACAkT,EAAArG,EAAA7M,EAEA,CACA,IAAAmT,EAAA,CAAAnC,EAAAC,KACA,IAAAmC,EAAA,IAAApC,EAAA,CACAqC,EAAAD,EAAA/d,MAAA,CACAie,EAAAtC,EAAAuC,GAAA,EAAAC,EAAAnc,IAAA4b,EAAAO,EAAAvC,CAAA,CAAA5Z,EAAA,GACA,WACA,QAAAA,EAAA,EAAwBA,EAAAgc,EAAehc,IACvC+b,CAAA,CAAA/b,EAAA,CAAAic,CAAA,CAAAjc,EAAA,CAAAhE,GAEA,OAAA+f,CACA,CACA,EACAK,EAAA,CAAA5G,EAAA7M,KACA,IAAAoT,EAAA,CAAqB,GAAAvG,CAAA,IAAA7M,CAAA,EACrBsT,EAAA,GACA,QAAAxgB,KAAAsgB,EACAlgB,KAAAA,IAAA2Z,CAAA,CAAA/Z,EAAA,EAAAkN,KAAA9M,IAAA8M,CAAA,CAAAlN,EAAA,EACAwgB,CAAAA,CAAA,CAAAxgB,EAAA,CAAAmgB,EAAApG,CAAA,CAAA/Z,EAAA,CAAAkN,CAAA,CAAAlN,EAAA,GAGA,WACA,QAAAA,KAAAwgB,EACAF,CAAA,CAAAtgB,EAAA,CAAAwgB,CAAA,CAAAxgB,EAAA,CAAAO,GAEA,OAAA+f,CACA,CACA,EACAF,EAAA,CAAArG,EAAA7M,KACA,IAAA0T,EAAqBC,EAAAha,CAAO,CAAAia,iBAAA,CAAA5T,GAC5B6T,EAAwB,GAAAF,EAAArE,CAAA,EAAmBzC,GAC3CiH,EAAwB,GAAAH,EAAArE,CAAA,EAAmBtP,UAI3C,EAHA+T,OAAA,GAAAD,EAAAC,OAAA,EACAF,EAAAG,SAAA,GAAAF,EAAAE,SAAA,EACAH,EAAAI,UAAA,EAAAH,EAAAG,UAAA,CAEe,GAAAC,EAAAnK,CAAA,EAAIoJ,EAAAU,EAAAzS,MAAA,CAAA0S,EAAA1S,MAAA,EAAAsS,IAGX,GAAA5B,EAAA7W,CAAA,EAAO,sBAA0B4R,EAAO,SAAS7M,EAAO,2KAChEgT,EAAAnG,EAAA7M,GAEA,4BCnDA,IAAAmU,EAAA,CAAAnD,EAAAC,IAAA,GAAuC,GAAA6B,EAAAC,CAAA,EAAG/B,EAAAC,EAAAhd,GAiD1C,SAAAmgB,EAAAC,CAAA,CAAAjB,CAAA,EAAsC3C,MAAA6D,EAAA,GAAAC,KAAAA,CAAA,CAAAC,MAAAA,CAAA,EAAqC,EAAI,EAC/E,IAAAC,EAAAJ,EAAAhf,MAAA,CAMA,GALI,GAAAyc,EAAAC,CAAA,EAAS0C,IAAArB,EAAA/d,MAAA,yDAKbof,IAAAA,EACA,UAAArB,CAAA,IAEAiB,CAAA,IAAAA,CAAA,CAAAI,EAAA,KACAJ,EAAA,IAAAA,EAAA,CAAAK,OAAA,GACAtB,EAAA,IAAAA,EAAA,CAAAsB,OAAA,IAEA,IAAAC,EAAAC,SA/CAxB,CAAA,CAAAmB,CAAA,CAAAM,CAAA,EACA,IAAAF,EAAA,GACAG,EAAAD,GAAAE,SAjBA1hB,CAAA,EACA,oBAAAA,QAGA,oBAAAA,EACA,OAAewe,EAAAxV,CAAK,CAAAqK,IAAA,CAAArT,GAAWqf,EAAWQ,OAE1C,GAAA1f,MAAAC,OAAA,CAAAJ,GACA,OAAe8f,OAEf,oBAAA9f,EACA,OAAeogB,EAEf,OAAAU,CACA,EAGAf,CAAA,KACA4B,EAAA5B,EAAA/d,MAAA,GACA,QAAAgC,EAAA,EAAoBA,EAAA2d,EAAe3d,IAAA,CACnC,IAAAmd,EAAAM,EAAA1B,CAAA,CAAA/b,EAAA,CAAA+b,CAAA,CAAA/b,EAAA,IACA,GAAAkd,EAAA,CACA,IAAAU,EAAAzhB,MAAAC,OAAA,CAAA8gB,GAAAA,CAAA,CAAAld,EAAA,EAAoEY,EAAAC,CAAI,CAAAqc,EACxEC,EAAoB,GAAAN,EAAAnK,CAAA,EAAIkL,EAAAT,EACxB,CACAG,EAAA7f,IAAA,CAAA0f,EACA,CACA,OAAAG,CACA,EAkCAvB,EAAAmB,EAAAC,GACAQ,EAAAL,EAAAtf,MAAA,CACA6f,EAAA,IACA,IAAA7d,EAAA,EACA,GAAA2d,EAAA,EACA,KACA,EADmBX,EAAAhf,MAAA,KACnBhC,CAAAA,EAAAghB,CAAA,CAAAhd,EAAA,IADyCA,KAKzC,IAAA8d,EAAgC,GAAAC,EAAAC,CAAA,EAAQhB,CAAA,CAAAhd,EAAA,CAAAgd,CAAA,CAAAhd,EAAA,GAAAhE,GACxC,OAAAshB,CAAA,CAAAtd,EAAA,CAAA8d,EACA,EACA,OAAAb,EACA,GAAAY,EAA8B,GAAAzE,EAAA3T,CAAA,EAAKuX,CAAA,IAAAA,CAAA,CAAAI,EAAA,GAAAphB,IACnC6hB,CACA,yDCzFA,IAAAI,EAAA,oBAAAC,gECAA,SAAAC,EAAAlR,CAAA,EACA,uBAAAA,GACAtR,OAAAyiB,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAArR,EAAA,UACA,yDCkBA,IAAAwO,EAAA,CAAA9B,EAAAC,EAAAmE,IAAA,CAAAA,EAAApE,EAAAoE,EAAAnE,EAAAD,yDCrBA,IAAA/Y,EAAA,GAAA2d,mFEEA,SAAAC,EAAA5F,CAAA,EACA,IAAAnD,EAAA,IAEA,OADIgJ,SDDJhJ,CAAA,CAAAiJ,CAAA,EACA,IAAAle,EAAAiV,CAAA,CAAAA,EAAAzX,MAAA,IACA,QAAAgC,EAAA,EAAoBA,GAAA0e,EAAgB1e,IAAA,CACpC,IAAA2e,EAA+B,GAAAZ,EAAAC,CAAA,EAAQ,EAAAU,EAAA1e,GACvCyV,EAAAhY,IAAA,CAAoB,GAAAge,EAAAC,CAAA,EAAGlb,EAAA,EAAAme,GACvB,CACA,ECLclJ,EAAAmD,EAAA5a,MAAA,IACdyX,CACA,yDCCA,IAAAmJ,EAAA,CAAArS,EAAArC,IAAA,GAAAA,EAAAqC,EAAAvQ,IACA6gB,EAAA,IAAAgC,IAAAA,EAAA5f,MAAA,CAAA2f,0DCIA,IAAAb,EAAA,CAAApE,EAAAC,EAAAle,KACA,IAAAojB,EAAAlF,EAAAD,EACA,OAAAmF,IAAAA,EAAA,GAAApjB,EAAAie,CAAA,EAAAmF,CACA,+FCbA,IAAAC,EAAA,GACA1Y,CAAAA,CAAArK,CAAAA,GAAA,iBAAAA,GAAAA,EAAAyf,GAAA,EAAAzf,EAAAgjB,OAAA,EAEAC,EAAA,GAEW,GAAAC,EAAAxD,CAAA,EAAiB1f,GAAAA,CAAA,CAAAA,EAAAgC,MAAA,OAAAhC,qECL5B,OAAAmjB,EACAhiB,aAAA,CACA,KAAAiiB,aAAA,IAEA7hB,IAAA8hB,CAAA,EAEA,MADQ,GAAAC,EAAAC,EAAA,EAAa,KAAAH,aAAA,CAAAC,GACrB,IAAqB,GAAAC,EAAAE,EAAA,EAAU,KAAAJ,aAAA,CAAAC,EAC/B,CACAI,OAAAlT,CAAA,CAAArC,CAAA,CAAAwV,CAAA,EACA,IAAAC,EAAA,KAAAP,aAAA,CAAAphB,MAAA,CACA,GAAA2hB,GAEA,GAAAA,IAAAA,EAIA,KAAAP,aAAA,IAAA7S,EAAArC,EAAAwV,QAGA,QAAA1f,EAAA,EAA4BA,EAAA2f,EAAsB3f,IAAA,CAKlD,IAAAqf,EAAA,KAAAD,aAAA,CAAApf,EAAA,CACAqf,GAAAA,EAAA9S,EAAArC,EAAAwV,EACA,EAEA,CACAE,SAAA,CACA,YAAAR,aAAA,CAAAphB,MAAA,CAEAD,OAAA,CACA,KAAAqhB,aAAA,CAAAphB,MAAA,EACA,CACA,sEC5BA,SAAA6hB,EAAAC,CAAA,EACA,IAAA7S,EAAgB,GAAA3Q,EAAAwJ,MAAA,EAAM,MAItB,OAHA,OAAAmH,EAAAjH,OAAA,EACAiH,CAAAA,EAAAjH,OAAA,CAAA8Z,GAAA,EAEA7S,EAAAjH,OAAA,uECXA,IAAA+Z,EAAkCC,SAAA3a,CAAS,CAAG/I,EAAA2jB,eAAe,CAAG3jB,EAAAuK,SAAS,uDCGzE,SAAAqZ,EAAAC,CAAA,CAAAC,CAAA,EACA,OAAAA,EAAAD,IAAAC,EAAAD,EAAA,CACA,qHCHA,IAAAE,EAAA,GACA,CAAAC,MAAAC,WAAA7kB,IAEA8kB,EAAA,CACAxa,QAAAnK,KAAAA,CACA,CAMA,OAAA4kB,EASAtjB,YAAA2iB,CAAA,CAAAjM,EAAA,EAAkC,EAKlC,KAAA6M,OAAA,WAMA,KAAAC,SAAA,GAMA,KAAAC,WAAA,GAQA,KAAAC,gBAAA,IAIA,KAAAC,MAAA,IACA,KAAAC,eAAA,EAAA/kB,EAAA0K,EAAA,MACA,KAAAsa,IAAA,MAAAhb,OAAA,CACA,KAAAA,OAAA,CAAAhK,EAEA,IAAoB8C,MAAAA,CAAA,CAAAC,UAAAA,CAAA,EAAqBkiB,EAAA1iB,SAAS,CAClD,KAAAqiB,WAAA,GAAA7hB,IACA,KAAA4hB,SAAA,CAAA7hB,EACA,KAAA8hB,WAAA,CAAA7hB,EACgBkiB,EAAAvV,EAAK,CAAAwV,UAAA,MAAAC,qBAAA,GAGrB,KAAAH,IAAA,QAAAhb,OAAA,OAAA8a,MAAA,CAAAM,MAAA,EACA,KAAAN,MAAA,CAAAM,MAAA,CAAA3B,MAAA,MAAAzZ,OAAA,EAGA,KAAA8a,MAAA,CAAAO,cAAA,EACA,KAAAP,MAAA,CAAAO,cAAA,CAAA5B,MAAA,MAAA6B,WAAA,IAGA5a,GAAA,KAAAoa,MAAA,CAAAS,aAAA,EACA,KAAAT,MAAA,CAAAS,aAAA,CAAA9B,MAAA,MAAAzZ,OAAA,CAEA,EASA,KAAAmb,qBAAA,KAA2CF,EAAAvV,EAAK,CAAAwV,UAAA,MAAAM,aAAA,EAUhD,KAAAA,aAAA,GAAgCziB,UAAAA,CAAA,CAAW,IAC3CA,IAAA,KAAA6hB,WAAA,GACA,KAAAI,IAAA,MAAAhb,OAAA,CACA,KAAA8a,MAAA,CAAAO,cAAA,EACA,KAAAP,MAAA,CAAAO,cAAA,CAAA5B,MAAA,MAAA6B,WAAA,IAGA,EACA,KAAAG,WAAA,IACA,KAAAT,IAAA,MAAAhb,OAAA,CAAA8Z,EACA,KAAAe,gBAAA,CAAAR,EAAA,KAAAra,OAAA,EACA,KAAA0b,KAAA,CAAA7N,EAAA6N,KAAA,CA0CAC,SAAAC,CAAA,EAIA,YAAAC,EAAA,UAAAD,EACA,CACAC,GAAAC,CAAA,CAAAniB,CAAA,EACA,KAAAmhB,MAAA,CAAAgB,EAAA,EACA,MAAAhB,MAAA,CAAAgB,EAAA,KAAyCC,EAAAtb,CAAmB,EAE5D,IAAAub,EAAA,KAAAlB,MAAA,CAAAgB,EAAA,CAAAvkB,GAAA,CAAAoC,SACA,WAAAmiB,EACA,KACAE,IAKgBf,EAAAvV,EAAK,CAAAC,IAAA,MACrB,KAAAmV,MAAA,CAAAM,MAAA,CAAAxB,OAAA,IACA,KAAAqC,IAAA,EAEA,EACA,EAEAD,CACA,CACAE,gBAAA,CACA,QAAAC,KAAA,KAAArB,MAAA,CACA,KAAAA,MAAA,CAAAqB,EAAA,CAAApkB,KAAA,EAEA,CAMAqkB,OAAAC,CAAA,CAAAC,CAAA,EACA,KAAAD,aAAA,CAAAA,EACA,KAAAC,iBAAA,CAAAA,CACA,CAgBAva,IAAA/L,CAAA,CAAA0K,EAAA,IACA,QAAA2b,aAAA,CAIA,KAAAA,aAAA,CAAArmB,EAAA,KAAA+kB,eAAA,EAHA,KAAAA,eAAA,CAAA/kB,EAAA0K,EAKA,CACA6b,gBAAAvB,CAAA,CAAAhb,CAAA,CAAAlH,CAAA,EACA,KAAAiJ,GAAA,CAAA/B,GACA,KAAAgb,IAAA,CAAAA,EACA,KAAAL,SAAA,CAAA7hB,CACA,CAKA0jB,KAAAxmB,CAAA,EACA,KAAA+kB,eAAA,CAAA/kB,GACA,KAAAglB,IAAA,CAAAhlB,EACA,KAAAimB,IAAA,GACA,KAAAK,iBAAA,EACA,KAAAA,iBAAA,EACA,CAQAza,KAAA,CAIA,OAHA2Y,EAAAxa,OAAA,EACAwa,EAAAxa,OAAA,CAAAvI,IAAA,OAEA,KAAAuI,OAAA,CAKAyc,aAAA,CACA,YAAAzB,IAAA,CASAM,aAAA,CAEA,YAAAT,gBAAA,CAEgB,GAAA6B,EAAAC,CAAA,EAAiBpC,WAAA,KAAAva,OAAA,EACjCua,WAAA,KAAAS,IAAA,OAAAL,SAAA,EACA,CACA,CAaA1kB,MAAA2mB,CAAA,EAEA,OADA,KAAAX,IAAA,GACA,IAAAY,QAAA,IACA,KAAApB,WAAA,IACA,KAAA1gB,SAAA,CAAA6hB,EAAAE,GACA,KAAAhC,MAAA,CAAAiC,cAAA,EACA,KAAAjC,MAAA,CAAAiC,cAAA,CAAAtD,MAAA,EAEA,GAASuD,IAAA,MACT,KAAAlC,MAAA,CAAAmC,iBAAA,EACA,KAAAnC,MAAA,CAAAmC,iBAAA,CAAAxD,MAAA,GAEA,KAAAyD,cAAA,EACA,EACA,CAMAjB,MAAA,CACA,KAAAlhB,SAAA,GACA,KAAAA,SAAA,CAAAkhB,IAAA,GACA,KAAAnB,MAAA,CAAAqC,eAAA,EACA,KAAArC,MAAA,CAAAqC,eAAA,CAAA1D,MAAA,IAGA,KAAAyD,cAAA,EACA,CAMAE,aAAA,CACA,aAAAriB,SAAA,CAEAmiB,gBAAA,CACA,YAAAniB,SAAA,CAWAsiB,SAAA,CACA,KAAAnB,cAAA,GACA,KAAAD,IAAA,GACA,KAAAK,iBAAA,EACA,KAAAA,iBAAA,EAEA,CACA,CACA,SAAAgB,EAAAxD,CAAA,CAAAjM,CAAA,EACA,WAAA4M,EAAAX,EAAAjM,EACA,wEC7SA,IAAAmG,EAAA,CACA3K,KAAU,GAAAkU,SAAAvjB,CAAA,EAAa,KACvB4a,MAhCA,SAAA5e,CAAA,EACA,IAAA2R,EAAA,GACA3G,EAAA,GACAkD,EAAA,GACAqC,EAAA,GAmBA,OAjBAvQ,EAAAgC,MAAA,IACA2P,EAAA3R,EAAA6b,SAAA,MACA7Q,EAAAhL,EAAA6b,SAAA,MACA3N,EAAAlO,EAAA6b,SAAA,MACAtL,EAAAvQ,EAAA6b,SAAA,QAIAlK,EAAA3R,EAAA6b,SAAA,MACA7Q,EAAAhL,EAAA6b,SAAA,MACA3N,EAAAlO,EAAA6b,SAAA,MACAtL,EAAAvQ,EAAA6b,SAAA,MACAlK,GAAAA,EACA3G,GAAAA,EACAkD,GAAAA,EACAqC,GAAAA,GAEA,CACA2O,IAAAsI,SAAA7V,EAAA,IACAwN,MAAAqI,SAAAxc,EAAA,IACAoU,KAAAoI,SAAAtZ,EAAA,IACA+Q,MAAA1O,EAAAiX,SAAAjX,EAAA,SACA,CACA,EAIAhE,UAAekb,EAAAvJ,CAAI,CAAA3R,SAAA,yGC/BnB,IAAA4R,EAAA,CACA9K,KAAU,GAAAkU,EAAAvjB,CAAA,EAAa,aACvB4a,MAAW,GAAA2I,EAAAG,CAAA,EAAU,gCACrBnb,UAAA,EAAkBuS,IAAAA,CAAA,CAAAC,WAAAA,CAAA,CAAAC,UAAAA,CAAA,CAAAC,MAAA0I,EAAA,EAAgD,GAClE,QACArjB,KAAAmP,KAAA,CAAAqL,GACA,KACY8I,EAAAC,EAAO,CAAAtb,SAAA,CAAW,GAAAub,EAAAC,EAAA,EAAQhJ,IACtC,KACY6I,EAAAC,EAAO,CAAAtb,SAAA,CAAW,GAAAub,EAAAC,EAAA,EAAQ/I,IACtC,KACY,GAAA8I,EAAAC,EAAA,EAASC,EAAAlR,EAAK,CAAAvK,SAAA,CAAAob,IAC1B,GAEA,yGCdA,IAAAnJ,EAAA,CACAnL,KAAA,GAAiB4U,EAAA/J,CAAI,CAAA7K,IAAA,CAAArT,IAAYkoB,EAAAlf,CAAG,CAAAqK,IAAA,CAAArT,IAAYmoB,EAAA/J,CAAI,CAAA/K,IAAA,CAAArT,GACpD4e,MAAA,GACA,EAAYV,CAAI,CAAA7K,IAAA,CAAArT,GACGioB,EAAA/J,CAAI,CAAAU,KAAA,CAAA5e,GAENmoB,EAAA/J,CAAI,CAAA/K,IAAA,CAAArT,GACFmoB,EAAA/J,CAAI,CAAAQ,KAAA,CAAA5e,GAGJkoB,EAAAlf,CAAG,CAAA4V,KAAA,CAAA5e,GAGtBuM,UAAA,GACe,GAAA6b,EAAAC,EAAA,EAAQroB,GACvBA,EACAA,EAAAqiB,cAAA,QACkB4F,EAAA/J,CAAI,CAAA3R,SAAA,CAAAvM,GACJmoB,EAAA/J,CAAI,CAAA7R,SAAA,CAAAvM,EAEtB,wGCpBA,IAAAsoB,EAAA,GAA4B,GAAAC,EAAA9e,CAAA,EAAK,MAAAzJ,GACjCwoB,EAAA,CACA,GAAOC,EAAAjV,EAAM,CACbjH,UAAA,GAAAjI,KAAAmP,KAAA,CAAA6U,EAAAtoB,GACA,EACAie,EAAA,CACA5K,KAAU,GAAAyU,EAAA9jB,CAAA,EAAa,aACvB4a,MAAW,GAAAkJ,EAAAJ,CAAA,EAAU,sBACrBnb,UAAA,EAAkB2S,IAAAA,CAAA,CAAAC,MAAAA,CAAA,CAAAC,KAAAA,CAAA,CAAAH,MAAA0I,EAAA,EAAsC,WACxDa,EAAAjc,SAAA,CAAA2S,GACA,KACAsJ,EAAAjc,SAAA,CAAA4S,GACA,KACAqJ,EAAAjc,SAAA,CAAA6S,GACA,KACQ,GAAAgJ,EAAAL,EAAA,EAASU,EAAA3R,EAAK,CAAAvK,SAAA,CAAAob,IACtB,GACA,+FChBA,IAAAe,EAAA,CAAA/Q,EAAAgR,IAAA,GACAte,CAAAA,CAAA,EAAoB,EAAAkd,EAAAc,EAAA,EAAQroB,IAAOunB,EAAAqB,EAAgB,CAAAvV,IAAA,CAAArT,IAAAA,EAAAoG,UAAA,CAAAuR,IACnDgR,GAAAhpB,OAAAyiB,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAtiB,EAAA2oB,EAAA,EAEAE,EAAA,CAAAC,EAAAC,EAAAC,IAAA,IACA,IAAS,GAAAzB,EAAAc,EAAA,EAAQroB,GACjB,OAAAA,EACA,IAAAuQ,EAAArC,EAAAwV,EAAAzE,EAAA,CAAAjf,EAAAipB,KAAA,CAAqC1B,EAAA2B,EAAU,EAC/C,OACA,CAAAJ,EAAA,CAAAvE,WAAAhU,GACA,CAAAwY,EAAA,CAAAxE,WAAArW,GACA,CAAA8a,EAAA,CAAAzE,WAAAb,GACAzE,MAAAA,KAAApf,IAAAof,EAAAsF,WAAAtF,GAAA,CACA,CACA,2ICNA,IAAAkK,EAAA,CACAC,MAAWC,EAAAC,EAAgB,CAC3BC,SAAA,OACAzW,MAAA,OACA8L,MAAW4K,EAAA3kB,CAAI,EAEf4kB,EAAA,CACAL,MAAW7B,EAAAmC,EAAU,CACrBH,SAAA,SACAzW,MAAA,OACA8L,MAAW+K,EAAA3gB,CAAK,CAAA4V,KAAA,EAEhBgL,EAAA,CACAR,MAAW7B,EAAA2B,EAAU,CACrBK,SAAA,UACAzW,MAAA,OACA8L,MAAWiL,EAAArW,EAAM,CAAAoL,KAAA,EAEjB,SAAAkL,EAAAC,CAAA,EAA0BX,MAAAA,CAAA,CAAAG,SAAAA,CAAA,CAAAzW,MAAAA,CAAA,CAAA8L,MAAAA,CAAA,CAA+B,EACzD,IAAAoL,EAAAD,EAAAE,SAAA,CAAAhB,KAAA,CAAAG,GACAY,IAEAD,CAAA,OAAAR,EAAA,CAAAS,EAAAhoB,MAAA,CACA+nB,EAAAE,SAAA,CAAAF,EAAAE,SAAA,CAAA/d,OAAA,CAAAkd,EAAAtW,GACAiX,EAAAhc,MAAA,CAAAtM,IAAA,IAAAuoB,EAAA9J,GAAA,CAAAtB,IACA,CACA,SAAAsL,EAAAxqB,CAAA,EACA,IAAAyqB,EAAAzqB,EAAA0qB,QAAA,GACAL,EAAA,CACArqB,MAAAyqB,EACAF,UAAAE,EACApc,OAAA,GACA2S,QAAA,EACAC,UAAA,EACAC,WAAA,CACA,EAKA,OAJAmJ,EAAArqB,KAAA,CAAA0T,QAAA,YACA0W,EAAAC,EAAAZ,GACAW,EAAAC,EAAAN,GACAK,EAAAC,EAAAH,GACAG,CACA,CACA,SAAAM,EAAArqB,CAAA,EACA,OAAAkqB,EAAAlqB,GAAA+N,MAAA,CAEA,SAAAwS,EAAA3T,CAAA,EACA,IAAYmB,OAAAA,CAAA,CAAA4S,UAAAA,CAAA,CAAAD,QAAAA,CAAA,CAAAuJ,UAAAA,CAAA,EAAwCC,EAAAtd,GACpDoT,EAAAjS,EAAA/L,MAAA,CACA,WACA,IAAA+d,EAAAkK,EACA,QAAAjmB,EAAA,EAAwBA,EAAAgc,EAAehc,IAEvC+b,EADA/b,EAAA0c,EACAX,EAAA7T,OAAA,CAAAid,EAAArW,KAAA,CAAA9S,CAAA,CAAAgE,EAAA,EAEAA,EAAA0c,EAAAC,EACAZ,EAAA7T,OAAA,CAAAud,EAAA3W,KAAA,CAA8D6W,EAAA3gB,CAAK,CAAAuD,SAAA,CAAAvM,CAAA,CAAAgE,EAAA,GAGnE+b,EAAA7T,OAAA,CAAA0d,EAAA9W,KAAA,CAA+D,GAAAyU,EAAAQ,EAAA,EAAQ/nB,CAAA,CAAAgE,EAAA,GAGvE,OAAA+b,CACA,CACA,CACA,IAAAuK,EAAA,oBAAAtqB,EAAA,EAAAA,EAMAsgB,EAAA,CACAjN,KA/EA,SAAArT,CAAA,EACA,IAAAmN,EAAAod,EACA,OAAAjG,MAAAtkB,IACQ,GAAAunB,EAAAc,EAAA,EAAQroB,IAChB,SAAAmN,CAAAA,EAAAnN,EAAAipB,KAAA,CAAwB1B,EAAA2B,EAAU,IAAA/b,KAAA,IAAAA,EAAA,OAAAA,EAAAnL,MAAA,MAClC,SAAAuoB,CAAAA,EAAAvqB,EAAAipB,KAAA,CAA4B1B,EAAAmC,EAAU,IAAAa,KAAA,IAAAA,EAAA,OAAAA,EAAAvoB,MAAA,MACtC,CACA,EAyEA4c,MAAAyL,EACA9J,kBAAAA,EACAiK,kBATA,SAAAxqB,CAAA,EACA,IAAAyqB,EAAAJ,EAAArqB,GAEA,OAAA0qB,EADA1qB,GACAyqB,EAAAvK,GAAA,CAAAoK,GACA,CAMA,wHCvFA,IAAAlS,EAAA,CACA/E,KAAA,oBAAArT,EACA4e,MAAA2F,WACAhY,UAAA,GAAAvM,CACA,EACAif,EAAA,CACA,GAAA7G,CAAA,CACA7L,UAAA,GAAsB,GAAAgc,EAAA9e,CAAA,EAAK,IAAAzJ,EAC3B,EACA8V,EAAA,CACA,GAAAsC,CAAA,CACApZ,QAAA,CACA,iMCZA,IAAA2rB,EAAA,KACAtX,KAAA,GAAiB,GAAAkU,EAAAc,EAAA,EAAQroB,IAAAA,EAAA4qB,QAAA,CAAAC,IAAA7qB,IAAAA,EAAA8qB,KAAA,MAAA9oB,MAAA,CACzB4c,MAAA2F,WACAhY,UAAA,MAAyBvM,EAAE,EAAE6qB,EAAK,EAClC,EACAE,EAAAJ,EAAA,OACAK,EAAAL,EAAA,KACA9W,EAAA8W,EAAA,MACAM,EAAAN,EAAA,MACAO,EAAAP,EAAA,MACAQ,EAAA,CACA,GAAAH,CAAA,CACApM,MAAA,GAAAoM,EAAApM,KAAA,CAAA5e,GAAA,IACAuM,UAAA,GAAAye,EAAAze,SAAA,CAAAvM,IAAAA,EACA,0JCVA,IAAAorB,EAAA,GAAA9mB,KAAAmP,KAAA,CAAAzT,IAAAA,GAAA,IACAqrB,EAAA,uBACAC,EAAA,8FACAC,EAAA,+FACA,SAAAC,EAAAxrB,CAAA,EACA,uBAAAA,CACA,uGCUA,SAAAyrB,EAAA9iB,CAAA,EACA,IAAAjJ,EAAkB,GAAAgsB,EAAArc,CAAA,EAAW,IAAO,GAAAsc,EAAAC,EAAA,EAAWjjB,IAM/C,CAAY9H,SAAAA,CAAA,EAAa,GAAAP,EAAA8H,UAAA,EAAWyjB,EAAAxjB,CAAmB,EACvD,GAAAxH,EAAA,CACA,KAAAirB,EAAA,CAA8B,GAAAxrB,EAAAyrB,QAAA,EAAQpjB,GAC9B,GAAArI,EAAAuK,SAAA,EAAS,IAAAnL,EAAAmmB,EAAA,UAAAiG,GAAA,GACjB,CACA,OAAApsB,CACA,wECjCA,IAAAssB,EAAA,GACA,iBAAAhsB,GAAAA,EAAAyf,GAAA,CAEAG,EAAA,GAAAoM,EAAAhsB,GAAAA,EAAAyf,GAAA,CAAA5f,KAAAA,uCCDA,SAAAosB,EAAAle,CAAA,CAAAme,CAAA,EAIA,IAAAxsB,EAAkB,GAAAysB,EAAAzI,CAAA,EAAcwI,KAOhCE,EAAA,IAAA1sB,EAAAqM,GAAA,CAAAmgB,KAkBA,OAbAE,IAKI,GAAA5hB,EAAAC,CAAA,EAAyB,KAC7B,IAAA4hB,EAAA,IAAqC5c,EAAAC,EAAK,CAAAvF,MAAA,CAAAiiB,EAAA,OAC1ChJ,EAAArV,EAAAmS,GAAA,IAAAlgB,EAAA6lB,EAAA,UAAAwG,IACA,WACAjJ,EAAA3e,OAAA,IAAAuhB,KACY,GAAAvW,EAAA6c,EAAA,EAAWF,EACvB,CACA,GACA1sB,CACA,0BE7BA,SAAA6sB,EAAAvL,CAAA,CAAAwL,CAAA,CAAAC,CAAA,CAAA5U,CAAA,EACA,sBAAAmJ,EACA,OAAe0L,SDJfC,CAAA,EAKIC,EAAAC,EAAmB,CAAA7iB,OAAA,IACvB2iB,IACA,IAAAjtB,EAAkBusB,EAAuBW,EAAAC,EAAmB,CAAA7iB,OAAA,CAAA2iB,GAK5D,OADIC,EAAAC,EAAmB,CAAA7iB,OAAA,CAAAnK,KAAAA,EACvBH,CACA,ECT0BshB,GAE1B,IAAA0J,EAAA,mBAAA8B,EACAA,EACUjgB,SHLV,GAAAugB,CAAA,EACA,IAAAC,EAAA,CAAA5sB,MAAAC,OAAA,CAAA0sB,CAAA,KACAE,EAAAD,EAAA,KACAE,EAAAH,CAAA,GAAAE,EAAA,CACAE,EAAAJ,CAAA,GAAAE,EAAA,CACAP,EAAAK,CAAA,GAAAE,EAAA,CACAnV,EAAAiV,CAAA,GAAAE,EAAA,CACAnL,EAAyB,GAAAd,EAAA1F,CAAA,EAAW6R,EAAAT,EAAA,CACpCtL,MAAAvB,EAAA6M,CAAA,KACA,GAAA5U,CAAA,GAEA,OAAAkV,EAAAlL,EAAAoL,GAAApL,CACA,EGPmB2K,EAAAC,EAAA5U,GACnB,OAAA1X,MAAAC,OAAA,CAAA4gB,GACAmM,EAAAnM,EAAA0J,GACAyC,EAAA,CAAAnM,EAAA,GAAA5G,EAAA,GAAAsQ,EAAAtQ,GACA,CACA,SAAA+S,EAAApf,CAAA,CAAA2c,CAAA,EACA,IAAAtQ,EAAmB,GAAAhL,EAAAC,CAAA,EAAW,QAC9B,OAAW4c,EAAsBle,EAAA,KACjCqM,EAAApY,MAAA,GACA,IAAAge,EAAAjS,EAAA/L,MAAA,CACA,QAAAgC,EAAA,EAAwBA,EAAAgc,EAAehc,IACvCoW,CAAA,CAAApW,EAAA,CAAA+J,CAAA,CAAA/J,EAAA,CAAA6H,GAAA,GAEA,OAAA6e,EAAAtQ,EACA,EACA,yDC1BA,IAAAgT,EAAA,GAAA/iB,CAAAA,CAAA3K,CAAAA,GAAAA,EAAA4lB,WAAA,mFCQA,SAAA+H,EAAA3tB,CAAA,EACA,IAAA4tB,EAA2B,GAAAC,EAAAvpB,CAAA,EAAatE,GAAAA,EAAAmM,GAAA,GAAAnM,EACxC,MAAW,GAAA8tB,EAAA5sB,CAAA,EAAa0sB,GACxBA,EAAAtK,OAAA,GACAsK,CACA","sources":["webpack://_N_E/../../node_modules/next/dist/api/image.js","webpack://_N_E/../../../src/shared/lib/image-external.tsx","webpack://_N_E/../../node_modules/framer-motion/dist/es/animation/utils/is-animation-controls.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/animation/utils/is-keyframes-target.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/context/LayoutGroupContext.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/context/LazyContext.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/context/MotionConfigContext.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/context/MotionContext/index.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/context/PresenceContext.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/context/SwitchLayoutGroupContext.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/frameloop/render-step.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/frameloop/batcher.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/frameloop/frame.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/motion/features/definitions.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/motion/features/load-features.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/motion/utils/is-forced-motion-value.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/projection/styles/scale-correction.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/motion/utils/use-visual-element.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/motion/utils/use-motion-ref.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/context/MotionContext/utils.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/context/MotionContext/create.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/motion/utils/symbol.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/motion/index.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/render/dom/motion-proxy.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/render/dom/utils/camel-to-dash.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/render/html/utils/create-render-state.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/render/html/use-props.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/motion/utils/valid-prop.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/render/dom/utils/filter-props.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/render/svg/utils/create-render-state.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/render/svg/use-props.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/render/dom/use-render.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/motion/utils/use-visual-state.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/render/svg/config-motion.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/render/html/config-motion.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/render/dom/utils/create-config.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/render/dom/utils/is-css-variable.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/render/svg/lowercase-elements.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/render/dom/utils/is-svg-component.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/render/dom/value-types/type-int.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/render/dom/value-types/number.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/render/html/utils/build-transform.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/render/dom/value-types/get-as-type.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/render/html/utils/build-styles.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/render/html/utils/render.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/render/html/utils/scrape-motion-values.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/render/html/utils/transform.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/render/svg/utils/transform-origin.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/render/svg/utils/path.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/render/svg/utils/build-attrs.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/render/svg/utils/camel-case-attrs.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/render/svg/utils/is-svg-tag.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/render/svg/utils/render.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/render/svg/utils/scrape-motion-values.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/render/utils/is-controlling-variants.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/render/utils/is-variant-label.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/render/utils/resolve-variants.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/render/utils/variant-props.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/utils/array.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/utils/clamp.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/utils/errors.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/utils/hsla-to-rgba.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/utils/mix-color.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/utils/mix-complex.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/utils/interpolate.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/utils/is-browser.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/utils/is-ref-object.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/utils/mix.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/utils/noop.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/utils/offsets/fill.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/utils/offsets/default.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/utils/pipe.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/utils/progress.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/utils/resolve-value.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/utils/subscription-manager.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/utils/use-constant.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/utils/use-isomorphic-effect.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/utils/velocity-per-second.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/value/index.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/value/types/color/hex.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/value/types/color/hsla.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/value/types/color/index.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/value/types/color/rgba.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/value/types/color/utils.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/value/types/complex/index.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/value/types/numbers/index.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/value/types/numbers/units.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/value/types/utils.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/value/use-motion-value.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/utils/transform.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/value/use-combine-values.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/value/use-computed.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/value/use-transform.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/value/utils/is-motion-value.mjs","webpack://_N_E/../../node_modules/framer-motion/dist/es/value/utils/resolve-motion-value.mjs"],"sourcesContent":["export { default } from \"../shared/lib/image-external\";\nexport * from \"../shared/lib/image-external\";\n\n//# sourceMappingURL=image.js.map",null,"function isAnimationControls(v) {\n return typeof v === \"object\" && typeof v.start === \"function\";\n}\n\nexport { isAnimationControls };\n","const isKeyframesTarget = (v) => {\n return Array.isArray(v);\n};\n\nexport { isKeyframesTarget };\n","import { createContext } from 'react';\n\nconst LayoutGroupContext = createContext({});\n\nexport { LayoutGroupContext };\n","import { createContext } from 'react';\n\nconst LazyContext = createContext({ strict: false });\n\nexport { LazyContext };\n","import { createContext } from 'react';\n\n/**\n * @public\n */\nconst MotionConfigContext = createContext({\n transformPagePoint: (p) => p,\n isStatic: false,\n reducedMotion: \"never\",\n});\n\nexport { MotionConfigContext };\n","import { createContext } from 'react';\n\nconst MotionContext = createContext({});\n\nexport { MotionContext };\n","import { createContext } from 'react';\n\n/**\n * @public\n */\nconst PresenceContext = createContext(null);\n\nexport { PresenceContext };\n","import { createContext } from 'react';\n\n/**\n * Internal, exported only for usage in Framer\n */\nconst SwitchLayoutGroupContext = createContext({});\n\nexport { SwitchLayoutGroupContext };\n","class Queue {\n constructor() {\n this.order = [];\n this.scheduled = new Set();\n }\n add(process) {\n if (!this.scheduled.has(process)) {\n this.scheduled.add(process);\n this.order.push(process);\n return true;\n }\n }\n remove(process) {\n const index = this.order.indexOf(process);\n if (index !== -1) {\n this.order.splice(index, 1);\n this.scheduled.delete(process);\n }\n }\n clear() {\n this.order.length = 0;\n this.scheduled.clear();\n }\n}\nfunction createRenderStep(runNextFrame) {\n /**\n * We create and reuse two queues, one to queue jobs for the current frame\n * and one for the next. We reuse to avoid triggering GC after x frames.\n */\n let thisFrame = new Queue();\n let nextFrame = new Queue();\n let numToRun = 0;\n /**\n * Track whether we're currently processing jobs in this step. This way\n * we can decide whether to schedule new jobs for this frame or next.\n */\n let isProcessing = false;\n let flushNextFrame = false;\n /**\n * A set of processes which were marked keepAlive when scheduled.\n */\n const toKeepAlive = new WeakSet();\n const step = {\n /**\n * Schedule a process to run on the next frame.\n */\n schedule: (callback, keepAlive = false, immediate = false) => {\n const addToCurrentFrame = immediate && isProcessing;\n const queue = addToCurrentFrame ? thisFrame : nextFrame;\n if (keepAlive)\n toKeepAlive.add(callback);\n if (queue.add(callback) && addToCurrentFrame && isProcessing) {\n // If we're adding it to the currently running queue, update its measured size\n numToRun = thisFrame.order.length;\n }\n return callback;\n },\n /**\n * Cancel the provided callback from running on the next frame.\n */\n cancel: (callback) => {\n nextFrame.remove(callback);\n toKeepAlive.delete(callback);\n },\n /**\n * Execute all schedule callbacks.\n */\n process: (frameData) => {\n /**\n * If we're already processing we've probably been triggered by a flushSync\n * inside an existing process. Instead of executing, mark flushNextFrame\n * as true and ensure we flush the following frame at the end of this one.\n */\n if (isProcessing) {\n flushNextFrame = true;\n return;\n }\n isProcessing = true;\n [thisFrame, nextFrame] = [nextFrame, thisFrame];\n // Clear the next frame queue\n nextFrame.clear();\n // Execute this frame\n numToRun = thisFrame.order.length;\n if (numToRun) {\n for (let i = 0; i < numToRun; i++) {\n const callback = thisFrame.order[i];\n callback(frameData);\n if (toKeepAlive.has(callback)) {\n step.schedule(callback);\n runNextFrame();\n }\n }\n }\n isProcessing = false;\n if (flushNextFrame) {\n flushNextFrame = false;\n step.process(frameData);\n }\n },\n };\n return step;\n}\n\nexport { createRenderStep };\n","import { createRenderStep } from './render-step.mjs';\n\nconst stepsOrder = [\n \"prepare\",\n \"read\",\n \"update\",\n \"preRender\",\n \"render\",\n \"postRender\",\n];\nconst maxElapsed = 40;\nfunction createRenderBatcher(scheduleNextBatch, allowKeepAlive) {\n let runNextFrame = false;\n let useDefaultElapsed = true;\n const state = {\n delta: 0,\n timestamp: 0,\n isProcessing: false,\n };\n const steps = stepsOrder.reduce((acc, key) => {\n acc[key] = createRenderStep(() => (runNextFrame = true));\n return acc;\n }, {});\n const processStep = (stepId) => steps[stepId].process(state);\n const processBatch = () => {\n const timestamp = performance.now();\n runNextFrame = false;\n state.delta = useDefaultElapsed\n ? 1000 / 60\n : Math.max(Math.min(timestamp - state.timestamp, maxElapsed), 1);\n state.timestamp = timestamp;\n state.isProcessing = true;\n stepsOrder.forEach(processStep);\n state.isProcessing = false;\n if (runNextFrame && allowKeepAlive) {\n useDefaultElapsed = false;\n scheduleNextBatch(processBatch);\n }\n };\n const wake = () => {\n runNextFrame = true;\n useDefaultElapsed = true;\n if (!state.isProcessing) {\n scheduleNextBatch(processBatch);\n }\n };\n const schedule = stepsOrder.reduce((acc, key) => {\n const step = steps[key];\n acc[key] = (process, keepAlive = false, immediate = false) => {\n if (!runNextFrame)\n wake();\n return step.schedule(process, keepAlive, immediate);\n };\n return acc;\n }, {});\n const cancel = (process) => stepsOrder.forEach((key) => steps[key].cancel(process));\n return { schedule, cancel, state, steps };\n}\n\nexport { createRenderBatcher, stepsOrder };\n","import { noop } from '../utils/noop.mjs';\nimport { createRenderBatcher } from './batcher.mjs';\n\nconst { schedule: frame, cancel: cancelFrame, state: frameData, steps, } = createRenderBatcher(typeof requestAnimationFrame !== \"undefined\" ? requestAnimationFrame : noop, true);\n\nexport { cancelFrame, frame, frameData, steps };\n","const featureProps = {\n animation: [\n \"animate\",\n \"variants\",\n \"whileHover\",\n \"whileTap\",\n \"exit\",\n \"whileInView\",\n \"whileFocus\",\n \"whileDrag\",\n ],\n exit: [\"exit\"],\n drag: [\"drag\", \"dragControls\"],\n focus: [\"whileFocus\"],\n hover: [\"whileHover\", \"onHoverStart\", \"onHoverEnd\"],\n tap: [\"whileTap\", \"onTap\", \"onTapStart\", \"onTapCancel\"],\n pan: [\"onPan\", \"onPanStart\", \"onPanSessionStart\", \"onPanEnd\"],\n inView: [\"whileInView\", \"onViewportEnter\", \"onViewportLeave\"],\n layout: [\"layout\", \"layoutId\"],\n};\nconst featureDefinitions = {};\nfor (const key in featureProps) {\n featureDefinitions[key] = {\n isEnabled: (props) => featureProps[key].some((name) => !!props[name]),\n };\n}\n\nexport { featureDefinitions };\n","import { featureDefinitions } from './definitions.mjs';\n\nfunction loadFeatures(features) {\n for (const key in features) {\n featureDefinitions[key] = {\n ...featureDefinitions[key],\n ...features[key],\n };\n }\n}\n\nexport { loadFeatures };\n","import { scaleCorrectors } from '../../projection/styles/scale-correction.mjs';\nimport { transformProps } from '../../render/html/utils/transform.mjs';\n\nfunction isForcedMotionValue(key, { layout, layoutId }) {\n return (transformProps.has(key) ||\n key.startsWith(\"origin\") ||\n ((layout || layoutId !== undefined) &&\n (!!scaleCorrectors[key] || key === \"opacity\")));\n}\n\nexport { isForcedMotionValue };\n","const scaleCorrectors = {};\nfunction addScaleCorrector(correctors) {\n Object.assign(scaleCorrectors, correctors);\n}\n\nexport { addScaleCorrector, scaleCorrectors };\n","import { useContext, useRef, useInsertionEffect, useEffect } from 'react';\nimport { PresenceContext } from '../../context/PresenceContext.mjs';\nimport { MotionContext } from '../../context/MotionContext/index.mjs';\nimport { useIsomorphicLayoutEffect } from '../../utils/use-isomorphic-effect.mjs';\nimport { LazyContext } from '../../context/LazyContext.mjs';\nimport { MotionConfigContext } from '../../context/MotionConfigContext.mjs';\n\nfunction useVisualElement(Component, visualState, props, createVisualElement) {\n const { visualElement: parent } = useContext(MotionContext);\n const lazyContext = useContext(LazyContext);\n const presenceContext = useContext(PresenceContext);\n const reducedMotionConfig = useContext(MotionConfigContext).reducedMotion;\n const visualElementRef = useRef();\n /**\n * If we haven't preloaded a renderer, check to see if we have one lazy-loaded\n */\n createVisualElement = createVisualElement || lazyContext.renderer;\n if (!visualElementRef.current && createVisualElement) {\n visualElementRef.current = createVisualElement(Component, {\n visualState,\n parent,\n props,\n presenceContext,\n blockInitialAnimation: presenceContext\n ? presenceContext.initial === false\n : false,\n reducedMotionConfig,\n });\n }\n const visualElement = visualElementRef.current;\n useInsertionEffect(() => {\n visualElement && visualElement.update(props, presenceContext);\n });\n /**\n * Cache this value as we want to know whether HandoffAppearAnimations\n * was present on initial render - it will be deleted after this.\n */\n const canHandoff = useRef(Boolean(window.HandoffAppearAnimations));\n useIsomorphicLayoutEffect(() => {\n if (!visualElement)\n return;\n visualElement.render();\n /**\n * Ideally this function would always run in a useEffect.\n *\n * However, if we have optimised appear animations to handoff from,\n * it needs to happen synchronously to ensure there's no flash of\n * incorrect styles in the event of a hydration error.\n *\n * So if we detect a situtation where optimised appear animations\n * are running, we use useLayoutEffect to trigger animations.\n */\n if (canHandoff.current && visualElement.animationState) {\n visualElement.animationState.animateChanges();\n }\n });\n useEffect(() => {\n if (!visualElement)\n return;\n visualElement.updateFeatures();\n if (!canHandoff.current && visualElement.animationState) {\n visualElement.animationState.animateChanges();\n }\n /**\n * Once we've handed off animations we can delete HandoffAppearAnimations\n * so components added after the initial render can animate changes\n * in useEffect vs useLayoutEffect.\n */\n window.HandoffAppearAnimations = undefined;\n canHandoff.current = false;\n });\n return visualElement;\n}\n\nexport { useVisualElement };\n","import { useCallback } from 'react';\nimport { isRefObject } from '../../utils/is-ref-object.mjs';\n\n/**\n * Creates a ref function that, when called, hydrates the provided\n * external ref and VisualElement.\n */\nfunction useMotionRef(visualState, visualElement, externalRef) {\n return useCallback((instance) => {\n instance && visualState.mount && visualState.mount(instance);\n if (visualElement) {\n instance\n ? visualElement.mount(instance)\n : visualElement.unmount();\n }\n if (externalRef) {\n if (typeof externalRef === \"function\") {\n externalRef(instance);\n }\n else if (isRefObject(externalRef)) {\n externalRef.current = instance;\n }\n }\n }, \n /**\n * Only pass a new ref callback to React if we've received a visual element\n * factory. Otherwise we'll be mounting/remounting every time externalRef\n * or other dependencies change.\n */\n [visualElement]);\n}\n\nexport { useMotionRef };\n","import { isVariantLabel } from '../../render/utils/is-variant-label.mjs';\nimport { isControllingVariants } from '../../render/utils/is-controlling-variants.mjs';\n\nfunction getCurrentTreeVariants(props, context) {\n if (isControllingVariants(props)) {\n const { initial, animate } = props;\n return {\n initial: initial === false || isVariantLabel(initial)\n ? initial\n : undefined,\n animate: isVariantLabel(animate) ? animate : undefined,\n };\n }\n return props.inherit !== false ? context : {};\n}\n\nexport { getCurrentTreeVariants };\n","import { useContext, useMemo } from 'react';\nimport { MotionContext } from './index.mjs';\nimport { getCurrentTreeVariants } from './utils.mjs';\n\nfunction useCreateMotionContext(props) {\n const { initial, animate } = getCurrentTreeVariants(props, useContext(MotionContext));\n return useMemo(() => ({ initial, animate }), [variantLabelsAsDependency(initial), variantLabelsAsDependency(animate)]);\n}\nfunction variantLabelsAsDependency(prop) {\n return Array.isArray(prop) ? prop.join(\" \") : prop;\n}\n\nexport { useCreateMotionContext };\n","const motionComponentSymbol = Symbol.for(\"motionComponentSymbol\");\n\nexport { motionComponentSymbol };\n","import * as React from 'react';\nimport { forwardRef, useContext } from 'react';\nimport { MotionConfigContext } from '../context/MotionConfigContext.mjs';\nimport { MotionContext } from '../context/MotionContext/index.mjs';\nimport { useVisualElement } from './utils/use-visual-element.mjs';\nimport { useMotionRef } from './utils/use-motion-ref.mjs';\nimport { useCreateMotionContext } from '../context/MotionContext/create.mjs';\nimport { loadFeatures } from './features/load-features.mjs';\nimport { isBrowser } from '../utils/is-browser.mjs';\nimport { LayoutGroupContext } from '../context/LayoutGroupContext.mjs';\nimport { LazyContext } from '../context/LazyContext.mjs';\nimport { SwitchLayoutGroupContext } from '../context/SwitchLayoutGroupContext.mjs';\nimport { motionComponentSymbol } from './utils/symbol.mjs';\n\n/**\n * Create a `motion` component.\n *\n * This function accepts a Component argument, which can be either a string (ie \"div\"\n * for `motion.div`), or an actual React component.\n *\n * Alongside this is a config option which provides a way of rendering the provided\n * component \"offline\", or outside the React render cycle.\n */\nfunction createMotionComponent({ preloadedFeatures, createVisualElement, useRender, useVisualState, Component, }) {\n preloadedFeatures && loadFeatures(preloadedFeatures);\n function MotionComponent(props, externalRef) {\n /**\n * If we need to measure the element we load this functionality in a\n * separate class component in order to gain access to getSnapshotBeforeUpdate.\n */\n let MeasureLayout;\n const configAndProps = {\n ...useContext(MotionConfigContext),\n ...props,\n layoutId: useLayoutId(props),\n };\n const { isStatic } = configAndProps;\n const context = useCreateMotionContext(props);\n const visualState = useVisualState(props, isStatic);\n if (!isStatic && isBrowser) {\n /**\n * Create a VisualElement for this component. A VisualElement provides a common\n * interface to renderer-specific APIs (ie DOM/Three.js etc) as well as\n * providing a way of rendering to these APIs outside of the React render loop\n * for more performant animations and interactions\n */\n context.visualElement = useVisualElement(Component, visualState, configAndProps, createVisualElement);\n /**\n * Load Motion gesture and animation features. These are rendered as renderless\n * components so each feature can optionally make use of React lifecycle methods.\n */\n const initialLayoutGroupConfig = useContext(SwitchLayoutGroupContext);\n const isStrict = useContext(LazyContext).strict;\n if (context.visualElement) {\n MeasureLayout = context.visualElement.loadFeatures(\n // Note: Pass the full new combined props to correctly re-render dynamic feature components.\n configAndProps, isStrict, preloadedFeatures, initialLayoutGroupConfig);\n }\n }\n /**\n * The mount order and hierarchy is specific to ensure our element ref\n * is hydrated by the time features fire their effects.\n */\n return (React.createElement(MotionContext.Provider, { value: context },\n MeasureLayout && context.visualElement ? (React.createElement(MeasureLayout, { visualElement: context.visualElement, ...configAndProps })) : null,\n useRender(Component, props, useMotionRef(visualState, context.visualElement, externalRef), visualState, isStatic, context.visualElement)));\n }\n const ForwardRefComponent = forwardRef(MotionComponent);\n ForwardRefComponent[motionComponentSymbol] = Component;\n return ForwardRefComponent;\n}\nfunction useLayoutId({ layoutId }) {\n const layoutGroupId = useContext(LayoutGroupContext).id;\n return layoutGroupId && layoutId !== undefined\n ? layoutGroupId + \"-\" + layoutId\n : layoutId;\n}\n\nexport { createMotionComponent };\n","import { createMotionComponent } from '../../motion/index.mjs';\n\n/**\n * Convert any React component into a `motion` component. The provided component\n * **must** use `React.forwardRef` to the underlying DOM component you want to animate.\n *\n * ```jsx\n * const Component = React.forwardRef((props, ref) => {\n * return
\n * })\n *\n * const MotionComponent = motion(Component)\n * ```\n *\n * @public\n */\nfunction createMotionProxy(createConfig) {\n function custom(Component, customMotionComponentConfig = {}) {\n return createMotionComponent(createConfig(Component, customMotionComponentConfig));\n }\n if (typeof Proxy === \"undefined\") {\n return custom;\n }\n /**\n * A cache of generated `motion` components, e.g `motion.div`, `motion.input` etc.\n * Rather than generating them anew every render.\n */\n const componentCache = new Map();\n return new Proxy(custom, {\n /**\n * Called when `motion` is referenced with a prop: `motion.div`, `motion.input` etc.\n * The prop name is passed through as `key` and we can use that to generate a `motion`\n * DOM component with that name.\n */\n get: (_target, key) => {\n /**\n * If this element doesn't exist in the component cache, create it and cache.\n */\n if (!componentCache.has(key)) {\n componentCache.set(key, custom(key));\n }\n return componentCache.get(key);\n },\n });\n}\n\nexport { createMotionProxy };\n","/**\n * Convert camelCase to dash-case properties.\n */\nconst camelToDash = (str) => str.replace(/([a-z])([A-Z])/g, \"$1-$2\").toLowerCase();\n\nexport { camelToDash };\n","const createHtmlRenderState = () => ({\n style: {},\n transform: {},\n transformOrigin: {},\n vars: {},\n});\n\nexport { createHtmlRenderState };\n","import { useMemo } from 'react';\nimport { isForcedMotionValue } from '../../motion/utils/is-forced-motion-value.mjs';\nimport { isMotionValue } from '../../value/utils/is-motion-value.mjs';\nimport { buildHTMLStyles } from './utils/build-styles.mjs';\nimport { createHtmlRenderState } from './utils/create-render-state.mjs';\n\nfunction copyRawValuesOnly(target, source, props) {\n for (const key in source) {\n if (!isMotionValue(source[key]) && !isForcedMotionValue(key, props)) {\n target[key] = source[key];\n }\n }\n}\nfunction useInitialMotionValues({ transformTemplate }, visualState, isStatic) {\n return useMemo(() => {\n const state = createHtmlRenderState();\n buildHTMLStyles(state, visualState, { enableHardwareAcceleration: !isStatic }, transformTemplate);\n return Object.assign({}, state.vars, state.style);\n }, [visualState]);\n}\nfunction useStyle(props, visualState, isStatic) {\n const styleProp = props.style || {};\n const style = {};\n /**\n * Copy non-Motion Values straight into style\n */\n copyRawValuesOnly(style, styleProp, props);\n Object.assign(style, useInitialMotionValues(props, visualState, isStatic));\n return props.transformValues ? props.transformValues(style) : style;\n}\nfunction useHTMLProps(props, visualState, isStatic) {\n // The `any` isn't ideal but it is the type of createElement props argument\n const htmlProps = {};\n const style = useStyle(props, visualState, isStatic);\n if (props.drag && props.dragListener !== false) {\n // Disable the ghost element when a user drags\n htmlProps.draggable = false;\n // Disable text selection\n style.userSelect =\n style.WebkitUserSelect =\n style.WebkitTouchCallout =\n \"none\";\n // Disable scrolling on the draggable direction\n style.touchAction =\n props.drag === true\n ? \"none\"\n : `pan-${props.drag === \"x\" ? \"y\" : \"x\"}`;\n }\n if (props.tabIndex === undefined &&\n (props.onTap || props.onTapStart || props.whileTap)) {\n htmlProps.tabIndex = 0;\n }\n htmlProps.style = style;\n return htmlProps;\n}\n\nexport { copyRawValuesOnly, useHTMLProps };\n","/**\n * A list of all valid MotionProps.\n *\n * @privateRemarks\n * This doesn't throw if a `MotionProp` name is missing - it should.\n */\nconst validMotionProps = new Set([\n \"animate\",\n \"exit\",\n \"variants\",\n \"initial\",\n \"style\",\n \"values\",\n \"variants\",\n \"transition\",\n \"transformTemplate\",\n \"transformValues\",\n \"custom\",\n \"inherit\",\n \"onLayoutAnimationStart\",\n \"onLayoutAnimationComplete\",\n \"onLayoutMeasure\",\n \"onBeforeLayoutMeasure\",\n \"onAnimationStart\",\n \"onAnimationComplete\",\n \"onUpdate\",\n \"onDragStart\",\n \"onDrag\",\n \"onDragEnd\",\n \"onMeasureDragConstraints\",\n \"onDirectionLock\",\n \"onDragTransitionEnd\",\n \"_dragX\",\n \"_dragY\",\n \"onHoverStart\",\n \"onHoverEnd\",\n \"onViewportEnter\",\n \"onViewportLeave\",\n \"ignoreStrict\",\n \"viewport\",\n]);\n/**\n * Check whether a prop name is a valid `MotionProp` key.\n *\n * @param key - Name of the property to check\n * @returns `true` is key is a valid `MotionProp`.\n *\n * @public\n */\nfunction isValidMotionProp(key) {\n return (key.startsWith(\"while\") ||\n (key.startsWith(\"drag\") && key !== \"draggable\") ||\n key.startsWith(\"layout\") ||\n key.startsWith(\"onTap\") ||\n key.startsWith(\"onPan\") ||\n validMotionProps.has(key));\n}\n\nexport { isValidMotionProp };\n","import { isValidMotionProp } from '../../../motion/utils/valid-prop.mjs';\n\nlet shouldForward = (key) => !isValidMotionProp(key);\nfunction loadExternalIsValidProp(isValidProp) {\n if (!isValidProp)\n return;\n // Explicitly filter our events\n shouldForward = (key) => key.startsWith(\"on\") ? !isValidMotionProp(key) : isValidProp(key);\n}\n/**\n * Emotion and Styled Components both allow users to pass through arbitrary props to their components\n * to dynamically generate CSS. They both use the `@emotion/is-prop-valid` package to determine which\n * of these should be passed to the underlying DOM node.\n *\n * However, when styling a Motion component `styled(motion.div)`, both packages pass through *all* props\n * as it's seen as an arbitrary component rather than a DOM node. Motion only allows arbitrary props\n * passed through the `custom` prop so it doesn't *need* the payload or computational overhead of\n * `@emotion/is-prop-valid`, however to fix this problem we need to use it.\n *\n * By making it an optionalDependency we can offer this functionality only in the situations where it's\n * actually required.\n */\ntry {\n /**\n * We attempt to import this package but require won't be defined in esm environments, in that case\n * isPropValid will have to be provided via `MotionContext`. In a 6.0.0 this should probably be removed\n * in favour of explicit injection.\n */\n loadExternalIsValidProp(require(\"@emotion/is-prop-valid\").default);\n}\ncatch (_a) {\n // We don't need to actually do anything here - the fallback is the existing `isPropValid`.\n}\nfunction filterProps(props, isDom, forwardMotionProps) {\n const filteredProps = {};\n for (const key in props) {\n /**\n * values is considered a valid prop by Emotion, so if it's present\n * this will be rendered out to the DOM unless explicitly filtered.\n *\n * We check the type as it could be used with the `feColorMatrix`\n * element, which we support.\n */\n if (key === \"values\" && typeof props.values === \"object\")\n continue;\n if (shouldForward(key) ||\n (forwardMotionProps === true && isValidMotionProp(key)) ||\n (!isDom && !isValidMotionProp(key)) ||\n // If trying to use native HTML drag events, forward drag listeners\n (props[\"draggable\"] && key.startsWith(\"onDrag\"))) {\n filteredProps[key] = props[key];\n }\n }\n return filteredProps;\n}\n\nexport { filterProps, loadExternalIsValidProp };\n","import { createHtmlRenderState } from '../../html/utils/create-render-state.mjs';\n\nconst createSvgRenderState = () => ({\n ...createHtmlRenderState(),\n attrs: {},\n});\n\nexport { createSvgRenderState };\n","import { useMemo } from 'react';\nimport { copyRawValuesOnly } from '../html/use-props.mjs';\nimport { buildSVGAttrs } from './utils/build-attrs.mjs';\nimport { createSvgRenderState } from './utils/create-render-state.mjs';\nimport { isSVGTag } from './utils/is-svg-tag.mjs';\n\nfunction useSVGProps(props, visualState, _isStatic, Component) {\n const visualProps = useMemo(() => {\n const state = createSvgRenderState();\n buildSVGAttrs(state, visualState, { enableHardwareAcceleration: false }, isSVGTag(Component), props.transformTemplate);\n return {\n ...state.attrs,\n style: { ...state.style },\n };\n }, [visualState]);\n if (props.style) {\n const rawStyles = {};\n copyRawValuesOnly(rawStyles, props.style, props);\n visualProps.style = { ...rawStyles, ...visualProps.style };\n }\n return visualProps;\n}\n\nexport { useSVGProps };\n","import { useMemo, createElement } from 'react';\nimport { useHTMLProps } from '../html/use-props.mjs';\nimport { filterProps } from './utils/filter-props.mjs';\nimport { isSVGComponent } from './utils/is-svg-component.mjs';\nimport { useSVGProps } from '../svg/use-props.mjs';\nimport { isMotionValue } from '../../value/utils/is-motion-value.mjs';\n\nfunction createUseRender(forwardMotionProps = false) {\n const useRender = (Component, props, ref, { latestValues }, isStatic) => {\n const useVisualProps = isSVGComponent(Component)\n ? useSVGProps\n : useHTMLProps;\n const visualProps = useVisualProps(props, latestValues, isStatic, Component);\n const filteredProps = filterProps(props, typeof Component === \"string\", forwardMotionProps);\n const elementProps = {\n ...filteredProps,\n ...visualProps,\n ref,\n };\n /**\n * If component has been handed a motion value as its child,\n * memoise its initial value and render that. Subsequent updates\n * will be handled by the onChange handler\n */\n const { children } = props;\n const renderedChildren = useMemo(() => (isMotionValue(children) ? children.get() : children), [children]);\n return createElement(Component, {\n ...elementProps,\n children: renderedChildren,\n });\n };\n return useRender;\n}\n\nexport { createUseRender };\n","import { useContext } from 'react';\nimport { isAnimationControls } from '../../animation/utils/is-animation-controls.mjs';\nimport { PresenceContext } from '../../context/PresenceContext.mjs';\nimport { resolveVariantFromProps } from '../../render/utils/resolve-variants.mjs';\nimport { useConstant } from '../../utils/use-constant.mjs';\nimport { resolveMotionValue } from '../../value/utils/resolve-motion-value.mjs';\nimport { MotionContext } from '../../context/MotionContext/index.mjs';\nimport { isControllingVariants, isVariantNode } from '../../render/utils/is-controlling-variants.mjs';\n\nfunction makeState({ scrapeMotionValuesFromProps, createRenderState, onMount, }, props, context, presenceContext) {\n const state = {\n latestValues: makeLatestValues(props, context, presenceContext, scrapeMotionValuesFromProps),\n renderState: createRenderState(),\n };\n if (onMount) {\n state.mount = (instance) => onMount(props, instance, state);\n }\n return state;\n}\nconst makeUseVisualState = (config) => (props, isStatic) => {\n const context = useContext(MotionContext);\n const presenceContext = useContext(PresenceContext);\n const make = () => makeState(config, props, context, presenceContext);\n return isStatic ? make() : useConstant(make);\n};\nfunction makeLatestValues(props, context, presenceContext, scrapeMotionValues) {\n const values = {};\n const motionValues = scrapeMotionValues(props, {});\n for (const key in motionValues) {\n values[key] = resolveMotionValue(motionValues[key]);\n }\n let { initial, animate } = props;\n const isControllingVariants$1 = isControllingVariants(props);\n const isVariantNode$1 = isVariantNode(props);\n if (context &&\n isVariantNode$1 &&\n !isControllingVariants$1 &&\n props.inherit !== false) {\n if (initial === undefined)\n initial = context.initial;\n if (animate === undefined)\n animate = context.animate;\n }\n let isInitialAnimationBlocked = presenceContext\n ? presenceContext.initial === false\n : false;\n isInitialAnimationBlocked = isInitialAnimationBlocked || initial === false;\n const variantToSet = isInitialAnimationBlocked ? animate : initial;\n if (variantToSet &&\n typeof variantToSet !== \"boolean\" &&\n !isAnimationControls(variantToSet)) {\n const list = Array.isArray(variantToSet) ? variantToSet : [variantToSet];\n list.forEach((definition) => {\n const resolved = resolveVariantFromProps(props, definition);\n if (!resolved)\n return;\n const { transitionEnd, transition, ...target } = resolved;\n for (const key in target) {\n let valueTarget = target[key];\n if (Array.isArray(valueTarget)) {\n /**\n * Take final keyframe if the initial animation is blocked because\n * we want to initialise at the end of that blocked animation.\n */\n const index = isInitialAnimationBlocked\n ? valueTarget.length - 1\n : 0;\n valueTarget = valueTarget[index];\n }\n if (valueTarget !== null) {\n values[key] = valueTarget;\n }\n }\n for (const key in transitionEnd)\n values[key] = transitionEnd[key];\n });\n }\n return values;\n}\n\nexport { makeUseVisualState };\n","import { renderSVG } from './utils/render.mjs';\nimport { scrapeMotionValuesFromProps } from './utils/scrape-motion-values.mjs';\nimport { makeUseVisualState } from '../../motion/utils/use-visual-state.mjs';\nimport { createSvgRenderState } from './utils/create-render-state.mjs';\nimport { buildSVGAttrs } from './utils/build-attrs.mjs';\nimport { isSVGTag } from './utils/is-svg-tag.mjs';\nimport { frame } from '../../frameloop/frame.mjs';\n\nconst svgMotionConfig = {\n useVisualState: makeUseVisualState({\n scrapeMotionValuesFromProps: scrapeMotionValuesFromProps,\n createRenderState: createSvgRenderState,\n onMount: (props, instance, { renderState, latestValues }) => {\n frame.read(() => {\n try {\n renderState.dimensions =\n typeof instance.getBBox ===\n \"function\"\n ? instance.getBBox()\n : instance.getBoundingClientRect();\n }\n catch (e) {\n // Most likely trying to measure an unrendered element under Firefox\n renderState.dimensions = {\n x: 0,\n y: 0,\n width: 0,\n height: 0,\n };\n }\n });\n frame.render(() => {\n buildSVGAttrs(renderState, latestValues, { enableHardwareAcceleration: false }, isSVGTag(instance.tagName), props.transformTemplate);\n renderSVG(instance, renderState);\n });\n },\n }),\n};\n\nexport { svgMotionConfig };\n","import { makeUseVisualState } from '../../motion/utils/use-visual-state.mjs';\nimport { scrapeMotionValuesFromProps } from './utils/scrape-motion-values.mjs';\nimport { createHtmlRenderState } from './utils/create-render-state.mjs';\n\nconst htmlMotionConfig = {\n useVisualState: makeUseVisualState({\n scrapeMotionValuesFromProps,\n createRenderState: createHtmlRenderState,\n }),\n};\n\nexport { htmlMotionConfig };\n","import { isSVGComponent } from './is-svg-component.mjs';\nimport { createUseRender } from '../use-render.mjs';\nimport { svgMotionConfig } from '../../svg/config-motion.mjs';\nimport { htmlMotionConfig } from '../../html/config-motion.mjs';\n\nfunction createDomMotionConfig(Component, { forwardMotionProps = false }, preloadedFeatures, createVisualElement) {\n const baseConfig = isSVGComponent(Component)\n ? svgMotionConfig\n : htmlMotionConfig;\n return {\n ...baseConfig,\n preloadedFeatures,\n useRender: createUseRender(forwardMotionProps),\n createVisualElement,\n Component,\n };\n}\n\nexport { createDomMotionConfig };\n","const checkStringStartsWith = (token) => (key) => typeof key === \"string\" && key.startsWith(token);\nconst isCSSVariableName = checkStringStartsWith(\"--\");\nconst isCSSVariableToken = checkStringStartsWith(\"var(--\");\nconst cssVariableRegex = /var\\s*\\(\\s*--[\\w-]+(\\s*,\\s*(?:(?:[^)(]|\\((?:[^)(]+|\\([^)(]*\\))*\\))*)+)?\\s*\\)/g;\n\nexport { cssVariableRegex, isCSSVariableName, isCSSVariableToken };\n","/**\n * We keep these listed seperately as we use the lowercase tag names as part\n * of the runtime bundle to detect SVG components\n */\nconst lowercaseSVGElements = [\n \"animate\",\n \"circle\",\n \"defs\",\n \"desc\",\n \"ellipse\",\n \"g\",\n \"image\",\n \"line\",\n \"filter\",\n \"marker\",\n \"mask\",\n \"metadata\",\n \"path\",\n \"pattern\",\n \"polygon\",\n \"polyline\",\n \"rect\",\n \"stop\",\n \"switch\",\n \"symbol\",\n \"svg\",\n \"text\",\n \"tspan\",\n \"use\",\n \"view\",\n];\n\nexport { lowercaseSVGElements };\n","import { lowercaseSVGElements } from '../../svg/lowercase-elements.mjs';\n\nfunction isSVGComponent(Component) {\n if (\n /**\n * If it's not a string, it's a custom React component. Currently we only support\n * HTML custom React components.\n */\n typeof Component !== \"string\" ||\n /**\n * If it contains a dash, the element is a custom HTML webcomponent.\n */\n Component.includes(\"-\")) {\n return false;\n }\n else if (\n /**\n * If it's in our list of lowercase SVG tags, it's an SVG component\n */\n lowercaseSVGElements.indexOf(Component) > -1 ||\n /**\n * If it contains a capital letter, it's an SVG component\n */\n /[A-Z]/.test(Component)) {\n return true;\n }\n return false;\n}\n\nexport { isSVGComponent };\n","import { number } from '../../../value/types/numbers/index.mjs';\n\nconst int = {\n ...number,\n transform: Math.round,\n};\n\nexport { int };\n","import { scale, alpha } from '../../../value/types/numbers/index.mjs';\nimport { px, degrees, progressPercentage } from '../../../value/types/numbers/units.mjs';\nimport { int } from './type-int.mjs';\n\nconst numberValueTypes = {\n // Border props\n borderWidth: px,\n borderTopWidth: px,\n borderRightWidth: px,\n borderBottomWidth: px,\n borderLeftWidth: px,\n borderRadius: px,\n radius: px,\n borderTopLeftRadius: px,\n borderTopRightRadius: px,\n borderBottomRightRadius: px,\n borderBottomLeftRadius: px,\n // Positioning props\n width: px,\n maxWidth: px,\n height: px,\n maxHeight: px,\n size: px,\n top: px,\n right: px,\n bottom: px,\n left: px,\n // Spacing props\n padding: px,\n paddingTop: px,\n paddingRight: px,\n paddingBottom: px,\n paddingLeft: px,\n margin: px,\n marginTop: px,\n marginRight: px,\n marginBottom: px,\n marginLeft: px,\n // Transform props\n rotate: degrees,\n rotateX: degrees,\n rotateY: degrees,\n rotateZ: degrees,\n scale,\n scaleX: scale,\n scaleY: scale,\n scaleZ: scale,\n skew: degrees,\n skewX: degrees,\n skewY: degrees,\n distance: px,\n translateX: px,\n translateY: px,\n translateZ: px,\n x: px,\n y: px,\n z: px,\n perspective: px,\n transformPerspective: px,\n opacity: alpha,\n originX: progressPercentage,\n originY: progressPercentage,\n originZ: px,\n // Misc\n zIndex: int,\n // SVG\n fillOpacity: alpha,\n strokeOpacity: alpha,\n numOctaves: int,\n};\n\nexport { numberValueTypes };\n","import { transformPropOrder } from './transform.mjs';\n\nconst translateAlias = {\n x: \"translateX\",\n y: \"translateY\",\n z: \"translateZ\",\n transformPerspective: \"perspective\",\n};\nconst numTransforms = transformPropOrder.length;\n/**\n * Build a CSS transform style from individual x/y/scale etc properties.\n *\n * This outputs with a default order of transforms/scales/rotations, this can be customised by\n * providing a transformTemplate function.\n */\nfunction buildTransform(transform, { enableHardwareAcceleration = true, allowTransformNone = true, }, transformIsDefault, transformTemplate) {\n // The transform string we're going to build into.\n let transformString = \"\";\n /**\n * Loop over all possible transforms in order, adding the ones that\n * are present to the transform string.\n */\n for (let i = 0; i < numTransforms; i++) {\n const key = transformPropOrder[i];\n if (transform[key] !== undefined) {\n const transformName = translateAlias[key] || key;\n transformString += `${transformName}(${transform[key]}) `;\n }\n }\n if (enableHardwareAcceleration && !transform.z) {\n transformString += \"translateZ(0)\";\n }\n transformString = transformString.trim();\n // If we have a custom `transform` template, pass our transform values and\n // generated transformString to that before returning\n if (transformTemplate) {\n transformString = transformTemplate(transform, transformIsDefault ? \"\" : transformString);\n }\n else if (allowTransformNone && transformIsDefault) {\n transformString = \"none\";\n }\n return transformString;\n}\n\nexport { buildTransform };\n","/**\n * Provided a value and a ValueType, returns the value as that value type.\n */\nconst getValueAsType = (value, type) => {\n return type && typeof value === \"number\"\n ? type.transform(value)\n : value;\n};\n\nexport { getValueAsType };\n","import { buildTransform } from './build-transform.mjs';\nimport { isCSSVariableName } from '../../dom/utils/is-css-variable.mjs';\nimport { transformProps } from './transform.mjs';\nimport { getValueAsType } from '../../dom/value-types/get-as-type.mjs';\nimport { numberValueTypes } from '../../dom/value-types/number.mjs';\n\nfunction buildHTMLStyles(state, latestValues, options, transformTemplate) {\n const { style, vars, transform, transformOrigin } = state;\n // Track whether we encounter any transform or transformOrigin values.\n let hasTransform = false;\n let hasTransformOrigin = false;\n // Does the calculated transform essentially equal \"none\"?\n let transformIsNone = true;\n /**\n * Loop over all our latest animated values and decide whether to handle them\n * as a style or CSS variable.\n *\n * Transforms and transform origins are kept seperately for further processing.\n */\n for (const key in latestValues) {\n const value = latestValues[key];\n /**\n * If this is a CSS variable we don't do any further processing.\n */\n if (isCSSVariableName(key)) {\n vars[key] = value;\n continue;\n }\n // Convert the value to its default value type, ie 0 -> \"0px\"\n const valueType = numberValueTypes[key];\n const valueAsType = getValueAsType(value, valueType);\n if (transformProps.has(key)) {\n // If this is a transform, flag to enable further transform processing\n hasTransform = true;\n transform[key] = valueAsType;\n // If we already know we have a non-default transform, early return\n if (!transformIsNone)\n continue;\n // Otherwise check to see if this is a default transform\n if (value !== (valueType.default || 0))\n transformIsNone = false;\n }\n else if (key.startsWith(\"origin\")) {\n // If this is a transform origin, flag and enable further transform-origin processing\n hasTransformOrigin = true;\n transformOrigin[key] = valueAsType;\n }\n else {\n style[key] = valueAsType;\n }\n }\n if (!latestValues.transform) {\n if (hasTransform || transformTemplate) {\n style.transform = buildTransform(state.transform, options, transformIsNone, transformTemplate);\n }\n else if (style.transform) {\n /**\n * If we have previously created a transform but currently don't have any,\n * reset transform style to none.\n */\n style.transform = \"none\";\n }\n }\n /**\n * Build a transformOrigin style. Uses the same defaults as the browser for\n * undefined origins.\n */\n if (hasTransformOrigin) {\n const { originX = \"50%\", originY = \"50%\", originZ = 0, } = transformOrigin;\n style.transformOrigin = `${originX} ${originY} ${originZ}`;\n }\n}\n\nexport { buildHTMLStyles };\n","function renderHTML(element, { style, vars }, styleProp, projection) {\n Object.assign(element.style, style, projection && projection.getProjectionStyles(styleProp));\n // Loop over any CSS variables and assign those.\n for (const key in vars) {\n element.style.setProperty(key, vars[key]);\n }\n}\n\nexport { renderHTML };\n","import { isForcedMotionValue } from '../../../motion/utils/is-forced-motion-value.mjs';\nimport { isMotionValue } from '../../../value/utils/is-motion-value.mjs';\n\nfunction scrapeMotionValuesFromProps(props, prevProps) {\n const { style } = props;\n const newValues = {};\n for (const key in style) {\n if (isMotionValue(style[key]) ||\n (prevProps.style && isMotionValue(prevProps.style[key])) ||\n isForcedMotionValue(key, props)) {\n newValues[key] = style[key];\n }\n }\n return newValues;\n}\n\nexport { scrapeMotionValuesFromProps };\n","/**\n * Generate a list of every possible transform key.\n */\nconst transformPropOrder = [\n \"transformPerspective\",\n \"x\",\n \"y\",\n \"z\",\n \"translateX\",\n \"translateY\",\n \"translateZ\",\n \"scale\",\n \"scaleX\",\n \"scaleY\",\n \"rotate\",\n \"rotateX\",\n \"rotateY\",\n \"rotateZ\",\n \"skew\",\n \"skewX\",\n \"skewY\",\n];\n/**\n * A quick lookup for transform props.\n */\nconst transformProps = new Set(transformPropOrder);\n\nexport { transformPropOrder, transformProps };\n","import { px } from '../../../value/types/numbers/units.mjs';\n\nfunction calcOrigin(origin, offset, size) {\n return typeof origin === \"string\"\n ? origin\n : px.transform(offset + size * origin);\n}\n/**\n * The SVG transform origin defaults are different to CSS and is less intuitive,\n * so we use the measured dimensions of the SVG to reconcile these.\n */\nfunction calcSVGTransformOrigin(dimensions, originX, originY) {\n const pxOriginX = calcOrigin(originX, dimensions.x, dimensions.width);\n const pxOriginY = calcOrigin(originY, dimensions.y, dimensions.height);\n return `${pxOriginX} ${pxOriginY}`;\n}\n\nexport { calcSVGTransformOrigin };\n","import { px } from '../../../value/types/numbers/units.mjs';\n\nconst dashKeys = {\n offset: \"stroke-dashoffset\",\n array: \"stroke-dasharray\",\n};\nconst camelKeys = {\n offset: \"strokeDashoffset\",\n array: \"strokeDasharray\",\n};\n/**\n * Build SVG path properties. Uses the path's measured length to convert\n * our custom pathLength, pathSpacing and pathOffset into stroke-dashoffset\n * and stroke-dasharray attributes.\n *\n * This function is mutative to reduce per-frame GC.\n */\nfunction buildSVGPath(attrs, length, spacing = 1, offset = 0, useDashCase = true) {\n // Normalise path length by setting SVG attribute pathLength to 1\n attrs.pathLength = 1;\n // We use dash case when setting attributes directly to the DOM node and camel case\n // when defining props on a React component.\n const keys = useDashCase ? dashKeys : camelKeys;\n // Build the dash offset\n attrs[keys.offset] = px.transform(-offset);\n // Build the dash array\n const pathLength = px.transform(length);\n const pathSpacing = px.transform(spacing);\n attrs[keys.array] = `${pathLength} ${pathSpacing}`;\n}\n\nexport { buildSVGPath };\n","import { buildHTMLStyles } from '../../html/utils/build-styles.mjs';\nimport { calcSVGTransformOrigin } from './transform-origin.mjs';\nimport { buildSVGPath } from './path.mjs';\n\n/**\n * Build SVG visual attrbutes, like cx and style.transform\n */\nfunction buildSVGAttrs(state, { attrX, attrY, attrScale, originX, originY, pathLength, pathSpacing = 1, pathOffset = 0, \n// This is object creation, which we try to avoid per-frame.\n...latest }, options, isSVGTag, transformTemplate) {\n buildHTMLStyles(state, latest, options, transformTemplate);\n /**\n * For svg tags we just want to make sure viewBox is animatable and treat all the styles\n * as normal HTML tags.\n */\n if (isSVGTag) {\n if (state.style.viewBox) {\n state.attrs.viewBox = state.style.viewBox;\n }\n return;\n }\n state.attrs = state.style;\n state.style = {};\n const { attrs, style, dimensions } = state;\n /**\n * However, we apply transforms as CSS transforms. So if we detect a transform we take it from attrs\n * and copy it into style.\n */\n if (attrs.transform) {\n if (dimensions)\n style.transform = attrs.transform;\n delete attrs.transform;\n }\n // Parse transformOrigin\n if (dimensions &&\n (originX !== undefined || originY !== undefined || style.transform)) {\n style.transformOrigin = calcSVGTransformOrigin(dimensions, originX !== undefined ? originX : 0.5, originY !== undefined ? originY : 0.5);\n }\n // Render attrX/attrY/attrScale as attributes\n if (attrX !== undefined)\n attrs.x = attrX;\n if (attrY !== undefined)\n attrs.y = attrY;\n if (attrScale !== undefined)\n attrs.scale = attrScale;\n // Build SVG path if one has been defined\n if (pathLength !== undefined) {\n buildSVGPath(attrs, pathLength, pathSpacing, pathOffset, false);\n }\n}\n\nexport { buildSVGAttrs };\n","/**\n * A set of attribute names that are always read/written as camel case.\n */\nconst camelCaseAttributes = new Set([\n \"baseFrequency\",\n \"diffuseConstant\",\n \"kernelMatrix\",\n \"kernelUnitLength\",\n \"keySplines\",\n \"keyTimes\",\n \"limitingConeAngle\",\n \"markerHeight\",\n \"markerWidth\",\n \"numOctaves\",\n \"targetX\",\n \"targetY\",\n \"surfaceScale\",\n \"specularConstant\",\n \"specularExponent\",\n \"stdDeviation\",\n \"tableValues\",\n \"viewBox\",\n \"gradientTransform\",\n \"pathLength\",\n \"startOffset\",\n \"textLength\",\n \"lengthAdjust\",\n]);\n\nexport { camelCaseAttributes };\n","const isSVGTag = (tag) => typeof tag === \"string\" && tag.toLowerCase() === \"svg\";\n\nexport { isSVGTag };\n","import { camelToDash } from '../../dom/utils/camel-to-dash.mjs';\nimport { renderHTML } from '../../html/utils/render.mjs';\nimport { camelCaseAttributes } from './camel-case-attrs.mjs';\n\nfunction renderSVG(element, renderState, _styleProp, projection) {\n renderHTML(element, renderState, undefined, projection);\n for (const key in renderState.attrs) {\n element.setAttribute(!camelCaseAttributes.has(key) ? camelToDash(key) : key, renderState.attrs[key]);\n }\n}\n\nexport { renderSVG };\n","import { isMotionValue } from '../../../value/utils/is-motion-value.mjs';\nimport { scrapeMotionValuesFromProps as scrapeMotionValuesFromProps$1 } from '../../html/utils/scrape-motion-values.mjs';\nimport { transformPropOrder } from '../../html/utils/transform.mjs';\n\nfunction scrapeMotionValuesFromProps(props, prevProps) {\n const newValues = scrapeMotionValuesFromProps$1(props, prevProps);\n for (const key in props) {\n if (isMotionValue(props[key]) || isMotionValue(prevProps[key])) {\n const targetKey = transformPropOrder.indexOf(key) !== -1\n ? \"attr\" + key.charAt(0).toUpperCase() + key.substring(1)\n : key;\n newValues[targetKey] = props[key];\n }\n }\n return newValues;\n}\n\nexport { scrapeMotionValuesFromProps };\n","import { isAnimationControls } from '../../animation/utils/is-animation-controls.mjs';\nimport { isVariantLabel } from './is-variant-label.mjs';\nimport { variantProps } from './variant-props.mjs';\n\nfunction isControllingVariants(props) {\n return (isAnimationControls(props.animate) ||\n variantProps.some((name) => isVariantLabel(props[name])));\n}\nfunction isVariantNode(props) {\n return Boolean(isControllingVariants(props) || props.variants);\n}\n\nexport { isControllingVariants, isVariantNode };\n","/**\n * Decides if the supplied variable is variant label\n */\nfunction isVariantLabel(v) {\n return typeof v === \"string\" || Array.isArray(v);\n}\n\nexport { isVariantLabel };\n","function resolveVariantFromProps(props, definition, custom, currentValues = {}, currentVelocity = {}) {\n /**\n * If the variant definition is a function, resolve.\n */\n if (typeof definition === \"function\") {\n definition = definition(custom !== undefined ? custom : props.custom, currentValues, currentVelocity);\n }\n /**\n * If the variant definition is a variant label, or\n * the function returned a variant label, resolve.\n */\n if (typeof definition === \"string\") {\n definition = props.variants && props.variants[definition];\n }\n /**\n * At this point we've resolved both functions and variant labels,\n * but the resolved variant label might itself have been a function.\n * If so, resolve. This can only have returned a valid target object.\n */\n if (typeof definition === \"function\") {\n definition = definition(custom !== undefined ? custom : props.custom, currentValues, currentVelocity);\n }\n return definition;\n}\n\nexport { resolveVariantFromProps };\n","const variantPriorityOrder = [\n \"animate\",\n \"whileInView\",\n \"whileFocus\",\n \"whileHover\",\n \"whileTap\",\n \"whileDrag\",\n \"exit\",\n];\nconst variantProps = [\"initial\", ...variantPriorityOrder];\n\nexport { variantPriorityOrder, variantProps };\n","function addUniqueItem(arr, item) {\n if (arr.indexOf(item) === -1)\n arr.push(item);\n}\nfunction removeItem(arr, item) {\n const index = arr.indexOf(item);\n if (index > -1)\n arr.splice(index, 1);\n}\n// Adapted from array-move\nfunction moveItem([...arr], fromIndex, toIndex) {\n const startIndex = fromIndex < 0 ? arr.length + fromIndex : fromIndex;\n if (startIndex >= 0 && startIndex < arr.length) {\n const endIndex = toIndex < 0 ? arr.length + toIndex : toIndex;\n const [item] = arr.splice(fromIndex, 1);\n arr.splice(endIndex, 0, item);\n }\n return arr;\n}\n\nexport { addUniqueItem, moveItem, removeItem };\n","const clamp = (min, max, v) => Math.min(Math.max(v, min), max);\n\nexport { clamp };\n","import { noop } from './noop.mjs';\n\nlet warning = noop;\nlet invariant = noop;\nif (process.env.NODE_ENV !== \"production\") {\n warning = (check, message) => {\n if (!check && typeof console !== \"undefined\") {\n console.warn(message);\n }\n };\n invariant = (check, message) => {\n if (!check) {\n throw new Error(message);\n }\n };\n}\n\nexport { invariant, warning };\n","// Adapted from https://gist.github.com/mjackson/5311256\nfunction hueToRgb(p, q, t) {\n if (t < 0)\n t += 1;\n if (t > 1)\n t -= 1;\n if (t < 1 / 6)\n return p + (q - p) * 6 * t;\n if (t < 1 / 2)\n return q;\n if (t < 2 / 3)\n return p + (q - p) * (2 / 3 - t) * 6;\n return p;\n}\nfunction hslaToRgba({ hue, saturation, lightness, alpha }) {\n hue /= 360;\n saturation /= 100;\n lightness /= 100;\n let red = 0;\n let green = 0;\n let blue = 0;\n if (!saturation) {\n red = green = blue = lightness;\n }\n else {\n const q = lightness < 0.5\n ? lightness * (1 + saturation)\n : lightness + saturation - lightness * saturation;\n const p = 2 * lightness - q;\n red = hueToRgb(p, q, hue + 1 / 3);\n green = hueToRgb(p, q, hue);\n blue = hueToRgb(p, q, hue - 1 / 3);\n }\n return {\n red: Math.round(red * 255),\n green: Math.round(green * 255),\n blue: Math.round(blue * 255),\n alpha,\n };\n}\n\nexport { hslaToRgba };\n","import { mix } from './mix.mjs';\nimport { invariant } from './errors.mjs';\nimport { hslaToRgba } from './hsla-to-rgba.mjs';\nimport { hex } from '../value/types/color/hex.mjs';\nimport { rgba } from '../value/types/color/rgba.mjs';\nimport { hsla } from '../value/types/color/hsla.mjs';\n\n// Linear color space blending\n// Explained https://www.youtube.com/watch?v=LKnqECcg6Gw\n// Demonstrated http://codepen.io/osublake/pen/xGVVaN\nconst mixLinearColor = (from, to, v) => {\n const fromExpo = from * from;\n return Math.sqrt(Math.max(0, v * (to * to - fromExpo) + fromExpo));\n};\nconst colorTypes = [hex, rgba, hsla];\nconst getColorType = (v) => colorTypes.find((type) => type.test(v));\nfunction asRGBA(color) {\n const type = getColorType(color);\n invariant(Boolean(type), `'${color}' is not an animatable color. Use the equivalent color code instead.`);\n let model = type.parse(color);\n if (type === hsla) {\n // TODO Remove this cast - needed since Framer Motion's stricter typing\n model = hslaToRgba(model);\n }\n return model;\n}\nconst mixColor = (from, to) => {\n const fromRGBA = asRGBA(from);\n const toRGBA = asRGBA(to);\n const blended = { ...fromRGBA };\n return (v) => {\n blended.red = mixLinearColor(fromRGBA.red, toRGBA.red, v);\n blended.green = mixLinearColor(fromRGBA.green, toRGBA.green, v);\n blended.blue = mixLinearColor(fromRGBA.blue, toRGBA.blue, v);\n blended.alpha = mix(fromRGBA.alpha, toRGBA.alpha, v);\n return rgba.transform(blended);\n };\n};\n\nexport { mixColor, mixLinearColor };\n","import { mix } from './mix.mjs';\nimport { mixColor } from './mix-color.mjs';\nimport { pipe } from './pipe.mjs';\nimport { warning } from './errors.mjs';\nimport { color } from '../value/types/color/index.mjs';\nimport { complex, analyseComplexValue } from '../value/types/complex/index.mjs';\n\nconst mixImmediate = (origin, target) => (p) => `${p > 0 ? target : origin}`;\nfunction getMixer(origin, target) {\n if (typeof origin === \"number\") {\n return (v) => mix(origin, target, v);\n }\n else if (color.test(origin)) {\n return mixColor(origin, target);\n }\n else {\n return origin.startsWith(\"var(\")\n ? mixImmediate(origin, target)\n : mixComplex(origin, target);\n }\n}\nconst mixArray = (from, to) => {\n const output = [...from];\n const numValues = output.length;\n const blendValue = from.map((fromThis, i) => getMixer(fromThis, to[i]));\n return (v) => {\n for (let i = 0; i < numValues; i++) {\n output[i] = blendValue[i](v);\n }\n return output;\n };\n};\nconst mixObject = (origin, target) => {\n const output = { ...origin, ...target };\n const blendValue = {};\n for (const key in output) {\n if (origin[key] !== undefined && target[key] !== undefined) {\n blendValue[key] = getMixer(origin[key], target[key]);\n }\n }\n return (v) => {\n for (const key in blendValue) {\n output[key] = blendValue[key](v);\n }\n return output;\n };\n};\nconst mixComplex = (origin, target) => {\n const template = complex.createTransformer(target);\n const originStats = analyseComplexValue(origin);\n const targetStats = analyseComplexValue(target);\n const canInterpolate = originStats.numVars === targetStats.numVars &&\n originStats.numColors === targetStats.numColors &&\n originStats.numNumbers >= targetStats.numNumbers;\n if (canInterpolate) {\n return pipe(mixArray(originStats.values, targetStats.values), template);\n }\n else {\n warning(true, `Complex values '${origin}' and '${target}' too different to mix. Ensure all colors are of the same type, and that each contains the same quantity of number and color values. Falling back to instant transition.`);\n return mixImmediate(origin, target);\n }\n};\n\nexport { mixArray, mixComplex, mixObject };\n","import { invariant } from './errors.mjs';\nimport { color } from '../value/types/color/index.mjs';\nimport { clamp } from './clamp.mjs';\nimport { mix } from './mix.mjs';\nimport { mixColor } from './mix-color.mjs';\nimport { mixComplex, mixArray, mixObject } from './mix-complex.mjs';\nimport { pipe } from './pipe.mjs';\nimport { progress } from './progress.mjs';\nimport { noop } from './noop.mjs';\n\nconst mixNumber = (from, to) => (p) => mix(from, to, p);\nfunction detectMixerFactory(v) {\n if (typeof v === \"number\") {\n return mixNumber;\n }\n else if (typeof v === \"string\") {\n return color.test(v) ? mixColor : mixComplex;\n }\n else if (Array.isArray(v)) {\n return mixArray;\n }\n else if (typeof v === \"object\") {\n return mixObject;\n }\n return mixNumber;\n}\nfunction createMixers(output, ease, customMixer) {\n const mixers = [];\n const mixerFactory = customMixer || detectMixerFactory(output[0]);\n const numMixers = output.length - 1;\n for (let i = 0; i < numMixers; i++) {\n let mixer = mixerFactory(output[i], output[i + 1]);\n if (ease) {\n const easingFunction = Array.isArray(ease) ? ease[i] || noop : ease;\n mixer = pipe(easingFunction, mixer);\n }\n mixers.push(mixer);\n }\n return mixers;\n}\n/**\n * Create a function that maps from a numerical input array to a generic output array.\n *\n * Accepts:\n * - Numbers\n * - Colors (hex, hsl, hsla, rgb, rgba)\n * - Complex (combinations of one or more numbers or strings)\n *\n * ```jsx\n * const mixColor = interpolate([0, 1], ['#fff', '#000'])\n *\n * mixColor(0.5) // 'rgba(128, 128, 128, 1)'\n * ```\n *\n * TODO Revist this approach once we've moved to data models for values,\n * probably not needed to pregenerate mixer functions.\n *\n * @public\n */\nfunction interpolate(input, output, { clamp: isClamp = true, ease, mixer } = {}) {\n const inputLength = input.length;\n invariant(inputLength === output.length, \"Both input and output ranges must be the same length\");\n /**\n * If we're only provided a single input, we can just make a function\n * that returns the output.\n */\n if (inputLength === 1)\n return () => output[0];\n // If input runs highest -> lowest, reverse both arrays\n if (input[0] > input[inputLength - 1]) {\n input = [...input].reverse();\n output = [...output].reverse();\n }\n const mixers = createMixers(output, ease, mixer);\n const numMixers = mixers.length;\n const interpolator = (v) => {\n let i = 0;\n if (numMixers > 1) {\n for (; i < input.length - 2; i++) {\n if (v < input[i + 1])\n break;\n }\n }\n const progressInRange = progress(input[i], input[i + 1], v);\n return mixers[i](progressInRange);\n };\n return isClamp\n ? (v) => interpolator(clamp(input[0], input[inputLength - 1], v))\n : interpolator;\n}\n\nexport { interpolate };\n","const isBrowser = typeof document !== \"undefined\";\n\nexport { isBrowser };\n","function isRefObject(ref) {\n return (typeof ref === \"object\" &&\n Object.prototype.hasOwnProperty.call(ref, \"current\"));\n}\n\nexport { isRefObject };\n","/*\n Value in range from progress\n\n Given a lower limit and an upper limit, we return the value within\n that range as expressed by progress (usually a number from 0 to 1)\n\n So progress = 0.5 would change\n\n from -------- to\n\n to\n\n from ---- to\n\n E.g. from = 10, to = 20, progress = 0.5 => 15\n\n @param [number]: Lower limit of range\n @param [number]: Upper limit of range\n @param [number]: The progress between lower and upper limits expressed 0-1\n @return [number]: Value as calculated from progress within range (not limited within range)\n*/\nconst mix = (from, to, progress) => -progress * from + progress * to + from;\n\nexport { mix };\n","const noop = (any) => any;\n\nexport { noop };\n","import { mix } from '../mix.mjs';\nimport { progress } from '../progress.mjs';\n\nfunction fillOffset(offset, remaining) {\n const min = offset[offset.length - 1];\n for (let i = 1; i <= remaining; i++) {\n const offsetProgress = progress(0, remaining, i);\n offset.push(mix(min, 1, offsetProgress));\n }\n}\n\nexport { fillOffset };\n","import { fillOffset } from './fill.mjs';\n\nfunction defaultOffset(arr) {\n const offset = [0];\n fillOffset(offset, arr.length - 1);\n return offset;\n}\n\nexport { defaultOffset };\n","/**\n * Pipe\n * Compose other transformers to run linearily\n * pipe(min(20), max(40))\n * @param {...functions} transformers\n * @return {function}\n */\nconst combineFunctions = (a, b) => (v) => b(a(v));\nconst pipe = (...transformers) => transformers.reduce(combineFunctions);\n\nexport { pipe };\n","/*\n Progress within given range\n\n Given a lower limit and an upper limit, we return the progress\n (expressed as a number 0-1) represented by the given value, and\n limit that progress to within 0-1.\n\n @param [number]: Lower limit\n @param [number]: Upper limit\n @param [number]: Value to find progress within given range\n @return [number]: Progress of value within range as expressed 0-1\n*/\nconst progress = (from, to, value) => {\n const toFromDifference = to - from;\n return toFromDifference === 0 ? 1 : (value - from) / toFromDifference;\n};\n\nexport { progress };\n","import { isKeyframesTarget } from '../animation/utils/is-keyframes-target.mjs';\n\nconst isCustomValue = (v) => {\n return Boolean(v && typeof v === \"object\" && v.mix && v.toValue);\n};\nconst resolveFinalValueInKeyframes = (v) => {\n // TODO maybe throw if v.length - 1 is placeholder token?\n return isKeyframesTarget(v) ? v[v.length - 1] || 0 : v;\n};\n\nexport { isCustomValue, resolveFinalValueInKeyframes };\n","import { addUniqueItem, removeItem } from './array.mjs';\n\nclass SubscriptionManager {\n constructor() {\n this.subscriptions = [];\n }\n add(handler) {\n addUniqueItem(this.subscriptions, handler);\n return () => removeItem(this.subscriptions, handler);\n }\n notify(a, b, c) {\n const numSubscriptions = this.subscriptions.length;\n if (!numSubscriptions)\n return;\n if (numSubscriptions === 1) {\n /**\n * If there's only a single handler we can just call it without invoking a loop.\n */\n this.subscriptions[0](a, b, c);\n }\n else {\n for (let i = 0; i < numSubscriptions; i++) {\n /**\n * Check whether the handler exists before firing as it's possible\n * the subscriptions were modified during this loop running.\n */\n const handler = this.subscriptions[i];\n handler && handler(a, b, c);\n }\n }\n }\n getSize() {\n return this.subscriptions.length;\n }\n clear() {\n this.subscriptions.length = 0;\n }\n}\n\nexport { SubscriptionManager };\n","import { useRef } from 'react';\n\n/**\n * Creates a constant value over the lifecycle of a component.\n *\n * Even if `useMemo` is provided an empty array as its final argument, it doesn't offer\n * a guarantee that it won't re-run for performance reasons later on. By using `useConstant`\n * you can ensure that initialisers don't execute twice or more.\n */\nfunction useConstant(init) {\n const ref = useRef(null);\n if (ref.current === null) {\n ref.current = init();\n }\n return ref.current;\n}\n\nexport { useConstant };\n","import { useLayoutEffect, useEffect } from 'react';\nimport { isBrowser } from './is-browser.mjs';\n\nconst useIsomorphicLayoutEffect = isBrowser ? useLayoutEffect : useEffect;\n\nexport { useIsomorphicLayoutEffect };\n","/*\n Convert velocity into velocity per second\n\n @param [number]: Unit per frame\n @param [number]: Frame duration in ms\n*/\nfunction velocityPerSecond(velocity, frameDuration) {\n return frameDuration ? velocity * (1000 / frameDuration) : 0;\n}\n\nexport { velocityPerSecond };\n","import { SubscriptionManager } from '../utils/subscription-manager.mjs';\nimport { velocityPerSecond } from '../utils/velocity-per-second.mjs';\nimport { warnOnce } from '../utils/warn-once.mjs';\nimport { frame, frameData } from '../frameloop/frame.mjs';\n\nconst isFloat = (value) => {\n return !isNaN(parseFloat(value));\n};\nconst collectMotionValues = {\n current: undefined,\n};\n/**\n * `MotionValue` is used to track the state and velocity of motion values.\n *\n * @public\n */\nclass MotionValue {\n /**\n * @param init - The initiating value\n * @param config - Optional configuration options\n *\n * - `transformer`: A function to transform incoming values with.\n *\n * @internal\n */\n constructor(init, options = {}) {\n /**\n * This will be replaced by the build step with the latest version number.\n * When MotionValues are provided to motion components, warn if versions are mixed.\n */\n this.version = \"10.16.5\";\n /**\n * Duration, in milliseconds, since last updating frame.\n *\n * @internal\n */\n this.timeDelta = 0;\n /**\n * Timestamp of the last time this `MotionValue` was updated.\n *\n * @internal\n */\n this.lastUpdated = 0;\n /**\n * Tracks whether this value can output a velocity. Currently this is only true\n * if the value is numerical, but we might be able to widen the scope here and support\n * other value types.\n *\n * @internal\n */\n this.canTrackVelocity = false;\n /**\n * An object containing a SubscriptionManager for each active event.\n */\n this.events = {};\n this.updateAndNotify = (v, render = true) => {\n this.prev = this.current;\n this.current = v;\n // Update timestamp\n const { delta, timestamp } = frameData;\n if (this.lastUpdated !== timestamp) {\n this.timeDelta = delta;\n this.lastUpdated = timestamp;\n frame.postRender(this.scheduleVelocityCheck);\n }\n // Update update subscribers\n if (this.prev !== this.current && this.events.change) {\n this.events.change.notify(this.current);\n }\n // Update velocity subscribers\n if (this.events.velocityChange) {\n this.events.velocityChange.notify(this.getVelocity());\n }\n // Update render subscribers\n if (render && this.events.renderRequest) {\n this.events.renderRequest.notify(this.current);\n }\n };\n /**\n * Schedule a velocity check for the next frame.\n *\n * This is an instanced and bound function to prevent generating a new\n * function once per frame.\n *\n * @internal\n */\n this.scheduleVelocityCheck = () => frame.postRender(this.velocityCheck);\n /**\n * Updates `prev` with `current` if the value hasn't been updated this frame.\n * This ensures velocity calculations return `0`.\n *\n * This is an instanced and bound function to prevent generating a new\n * function once per frame.\n *\n * @internal\n */\n this.velocityCheck = ({ timestamp }) => {\n if (timestamp !== this.lastUpdated) {\n this.prev = this.current;\n if (this.events.velocityChange) {\n this.events.velocityChange.notify(this.getVelocity());\n }\n }\n };\n this.hasAnimated = false;\n this.prev = this.current = init;\n this.canTrackVelocity = isFloat(this.current);\n this.owner = options.owner;\n }\n /**\n * Adds a function that will be notified when the `MotionValue` is updated.\n *\n * It returns a function that, when called, will cancel the subscription.\n *\n * When calling `onChange` inside a React component, it should be wrapped with the\n * `useEffect` hook. As it returns an unsubscribe function, this should be returned\n * from the `useEffect` function to ensure you don't add duplicate subscribers..\n *\n * ```jsx\n * export const MyComponent = () => {\n * const x = useMotionValue(0)\n * const y = useMotionValue(0)\n * const opacity = useMotionValue(1)\n *\n * useEffect(() => {\n * function updateOpacity() {\n * const maxXY = Math.max(x.get(), y.get())\n * const newOpacity = transform(maxXY, [0, 100], [1, 0])\n * opacity.set(newOpacity)\n * }\n *\n * const unsubscribeX = x.on(\"change\", updateOpacity)\n * const unsubscribeY = y.on(\"change\", updateOpacity)\n *\n * return () => {\n * unsubscribeX()\n * unsubscribeY()\n * }\n * }, [])\n *\n * return