{"version":3,"file":"static/chunks/9998-549dd48c1cbabde0.js","mappings":"kJAEe,SAASA,IACtB,GAAM,CAAEC,EAAWC,EAAc,CAAGC,EAAAA,QAAc,CAAC,IAMnD,OAJAA,EAAAA,SAAe,CAAC,KACdD,EAAa,GACf,EAAG,EAAG,EAECD,CACT,0SCOO,IAAMG,EAAwB,CACnCC,gCAAiC,QACjCC,aAAc,wBACdC,iBAAkB,KAClBC,qBAAsBC,EAAAA,CAAYA,CAClCC,cAAe,KACfC,oBAAqB,GACrBC,SAAU,GACVC,oBAAqB,GACrBC,WAAY,GACZC,qBAAsB,GACtBC,KAAMP,EAAAA,CAAYA,CAClBQ,gBAAiB,CAAE,CAAEC,QAAST,EAAAA,CAAYA,CAAEU,KAAM,OAAQ,EAAG,CAC7DC,YAAa,GACbC,YAAa,GACbF,KAAM,2BACNG,MAAOC,EAAAA,EAAiBA,CACxBC,aAAc,EAAE,CAChBC,YAAa,EAAE,CACfC,gBAAiB,EAAE,CACnBC,qBAAsB,KACtBC,gBAAiB,IACnB,EAEaC,EAAoC,CAC/CC,gBAAiB,aACjBC,sBAAuB,MACvBC,mBAAoB,SACpBC,kBAAmB,GACrB,EAEaC,EAA6C,CACxDC,mBAAoB,GACpBC,WAAY,GACZC,qBAAsB,GACtBN,sBAAuB,GACvBC,mBAAoB,GACpBC,kBAAmB,GACnBK,kBAAmB,EACrB,EAEaC,EAA6B,CACxCjC,aAAc,6BACdkC,SAAU,OACVxB,KAAM,6CACNC,gBAAiB,KACjBG,YAAa,GACbC,YAAa,KACbF,KAAM,KACNK,aAAc,EAAE,CAChBC,YAAa,EAAG,CAChBC,gBAAiB,EAAE,CACnBE,gBAAiB,IACnB,EAEaa,EAAsD,CACjEC,aAAc,QACdC,gBAAiB,uBACjBC,MAAO,sBACPC,iBAAkBC,EAAAA,EAAOA,CACzBC,MAAO,0BACT,EAEaC,EAAoD,CAC/D1B,MAAOC,EAAAA,EAAiBA,CACxB0B,SAAU,KACVC,eAAgB,KAChBH,MAAO,2BACT,EAE2C,EAEzCzB,MAAO6B,EAAAA,EAAkBA,CAEzB,GAAGC,EAAAA,EAAc,CACnB,EAEO,IAAMC,EAA+B,CAC1CC,WAAY,WACZhC,MAAOiC,EAAAA,EAAmBA,CAC1BR,MAAO,KACP,GAAGK,EAAAA,EAAc,EAGwB,EAEzC9B,MAAOkC,EAAAA,EAAkBA,CAEzB,GAAGJ,EAAAA,EAAc,CACnB,EAEO,IAAMK,EAAwC,CACnDnC,MAAOiC,EAAAA,EAAmBA,CAC1BG,OAAQ,IACRC,gBAAiBC,MAAM,CAAGC,IAAI,CAACT,EAAAA,EAAcA,CAC/C,EAEaU,EAA8C,CACzDC,OAAQC,EAAAA,EAAUA,CAClBC,MAAOC,EAAAA,EAASA,yHChHX,IAAMA,EAA2B,CACtCC,gBAAiB,WACjBC,SAAU,qEACVC,WAAY,QACZC,gBAAiB,GACjBC,WAAY,UACd,EAEaP,EAA6B,CACxCQ,UAAW,CAAE,iBAAkB,SAAU,CACzCC,UAAW,CAAE,UAAW,UAAW,CACnCC,YAAa,CAAE,cAAe,CAC9BC,YAAa,CAAE,UAAW,EAGfC,EAA0B,CACrC1D,QAAS2D,EAAAA,CAAcA,CACvBvE,aAAc,yBACdkC,SAAU,GACZ,0RCKA,IAAMsC,EAAc,CAClBC,OAAQ,CACV,CAyFAC,CAAAA,EAAAC,CAAA,CAAe9E,EAAAA,IAAU,CAAC+E,CAAAA,EAAAA,EAAAA,CAAAA,EAjFJ,OAAC,CAAEhE,QAAAA,CAAO,CAAEiE,UAAAA,CAAS,CAAEC,UAAAA,CAAS,CAAS,CAAAC,EACvD,CAAEC,OAAAA,CAAM,CAAEC,OAAAA,CAAM,CAAEC,QAAAA,CAAO,CAAE,CAAGC,CAAAA,EAAAA,EAAAA,CAAAA,IAE9BC,EAASC,CAAAA,EAAAA,EAAAA,SAAAA,IAET,CAAEC,EAAIC,EAAO,CAAG1F,EAAAA,QAAc,CAAC,IAC/B,CAAE2F,EAAOC,EAAU,CAAG5F,EAAAA,QAAc,CAAC,IAErC6F,EAAWC,CAAAA,EAAAA,EAAAA,CAAAA,EAAYP,EAAOQ,QAAQ,QAkB5C,CAhBA/F,EAAAA,SAAe,CAAC,KACVmF,GACFa,EAAAA,QAAe,CAACjF,EAAQF,IAAI,CAAE8D,EAAa,CAACgB,EAAiCM,KAC3E,GAAIN,EAAO,CACTC,EAAS,uCACTM,EAAAA,EAAuB,CAACP,EAAO,CAAEQ,KAAM,CAAEC,OAAQ,SAAU,CAAE,GAC7D,MACF,CAEAR,EAAS,IACTF,EAAMO,GACNI,EAAAA,EAAiB,CAACA,EAAAA,EAAmB,CAACC,OAAO,CAAE,CAAE,YAAaT,CAAS,EACzE,EAEJ,EAAG,CAAE9E,EAAQF,IAAI,CAAEsE,EAAQE,EAASQ,EAAU,EAE1CZ,GACK,GAAAsB,EAAAC,GAAA,EAACC,EAAAA,CAAQA,CAAAA,CAACzB,UAAYA,EAAY0B,EAAE,OAAOC,EAAE,OAAOC,aAAa,SAIxE,GAAAL,EAAAM,IAAA,EAAAN,EAAAO,QAAA,YACE,GAAAP,EAAAC,GAAA,EAACO,EAAAA,CAAOA,CAAAA,CAACC,MAAM,iCACb,GAAAT,EAAAC,GAAA,EAACS,EAAAA,CAAUA,CAAAA,CACTjC,UAAYA,EACZkC,aAAW,eACXC,QAAQ,UACRC,KAAK,KACLC,GAAG,MACHC,GAAG,MACHC,QAAUnC,EACVoC,KAAO,GAAAjB,EAAAC,GAAA,EAACiB,EAAAA,CAAOA,CAAAA,CAACzG,KAAK,UAAU0G,QAAU,IACzCC,WAAa,MAIfhC,GACA,GAAAY,EAAAM,IAAA,EAACe,EAAAA,EAAKA,CAAAA,CAACzC,OAASA,EAASE,QAAUA,EAAU+B,KAAM,CAAES,KAAM,OAAQC,GAAI,IAAK,YAC1E,GAAAvB,EAAAC,GAAA,EAACuB,EAAAA,CAAYA,CAAAA,CAAAA,GACb,GAAAxB,EAAAC,GAAA,EAACwB,EAAAA,CAAYA,CAAAA,UACX,GAAAzB,EAAAC,GAAA,EAACyB,EAAAA,CAASA,CAAAA,CAACC,GAAK,WACd,GAAA3B,EAAAC,GAAA,EAAC2B,EAAAA,CAAKA,CAAAA,CAACC,OAAO,mBAAYzC,WAKhC,CAACA,GACD,GAAAY,EAAAC,GAAA,EAAC6B,EAAAA,EAASA,CAAAA,UACR,GAAA9B,EAAAM,IAAA,EAACe,EAAAA,EAAKA,CAAAA,CAACzC,OAASA,EAASE,QAAUA,EAAU+B,KAAM,CAAES,KAAM,OAAQC,GAAI,IAAK,YAC1E,GAAAvB,EAAAC,GAAA,EAACuB,EAAAA,CAAYA,CAAAA,CAAAA,GACb,GAAAxB,EAAAM,IAAA,EAACmB,EAAAA,CAAYA,CAAAA,WACX,GAAAzB,EAAAC,GAAA,EAAC8B,EAAAA,CAAWA,CAAAA,CAACC,WAAW,MAAMC,UAAU,KAAKN,GAAK,WAAI,oBACtD,GAAA3B,EAAAC,GAAA,EAACiC,EAAAA,CAAgBA,CAAAA,CAAAA,GACjB,GAAAlC,EAAAM,IAAA,EAACoB,EAAAA,CAASA,CAAAA,CAACC,GAAK,YACd,GAAA3B,EAAAC,GAAA,EAACkC,EAAAA,EAAaA,CAAAA,CACZR,GAAK,EACLK,WAAa,IACbI,MAAM,OACN5H,QAAUA,EACV6H,OAAM,KAER,GAAArC,EAAAC,GAAA,EAACqC,EAAAA,EAAGA,CAAAA,CAACC,EAAI,EAAIC,wBAAyB,CAAEC,OAAQvD,CAAG,iBAQnE,yLCxGA,IAAMwD,EAAUC,EAAAA,CAAMA,CAACC,QAAQ,CAACC,UAAU,CAuG1CvE,EAAAC,CAAA,CAAe9E,EAAAA,IAAU,CAAC+E,CAAAA,EAAAA,EAAAA,CAAAA,EA7FC,OAAC,CAAEC,UAAAA,CAAS,CAAE7D,MAAAA,CAAK,CAAE8D,UAAAA,CAAS,CAAEkC,QAAAA,EAAU,MAAM,CAAEkC,SAAAA,EAAW,CAAC,CAAS,CAAAnE,EAC1FoE,EAAQC,CAAAA,EAAAA,EAAAA,CAAAA,IACR,CAAEC,SAAAA,CAAQ,CAAEC,OAAAA,CAAM,CAAE,CAAGC,CAAAA,EAAAA,EAAAA,CAAAA,IACvBC,EAAmBC,CAAAA,EAAAA,EAAAA,CAAAA,IAEnBC,EAAc7J,EAAAA,WAAiB,CAAC,UACpC,GAAKyJ,EAIL,GAAI,KAIqBD,CAFvB,OAAMG,IAEW,MAAMH,CAAAA,MAAAA,EAAAA,KAAAA,EAAAA,OAAAA,CAAAA,EAAAA,EAAUM,OAAO,GAAjBN,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAAAA,IAAAA,CAAAA,EAAoB,CACzCO,OAAQ,oBACRC,OAAQ,CACNC,KAAM,QACNC,QAAS,CACPnJ,QAASI,EAAMJ,OAAO,CACtBoJ,OAAQhJ,EAAMgJ,MAAM,EAAI,GACxBC,SAAUC,OAAOlJ,EAAMiJ,QAAQ,GAAK,GACpCE,MAAOnJ,EAAMoJ,QAAQ,EAAI,EAC3B,CACF,CACF,MAGEjB,EAAM,CACJkB,SAAU,YACVC,MAAO,UACPC,YAAa,0CACbtC,OAAQ,UACRjB,QAAS,SACTwD,WAAY,EACd,GAEAtE,EAAAA,EAAiB,CAACA,EAAAA,EAAmB,CAACuE,aAAa,CAAE,CACnDC,OAAQ,QACRC,OAAQrB,EACRsB,MAAO5J,EAAMgJ,MAAM,EAAI,EACzB,GAEJ,CAAE,MAAOxE,EAAO,CACd2D,EAAM,CACJkB,SAAU,YACVC,MAAO,QACPC,YAAa,CAAC/E,MAAAA,EAAAA,KAAAA,EAADA,EAAkBqF,OAAO,GAAI,uBAC1C5C,OAAQ,QACRjB,QAAS,SACTwD,WAAY,EACd,EACF,CACF,EAAG,CAAErB,EAAOnI,EAAOqI,EAAUC,EAAQE,EAAkB,SAEvD,GAAkBF,EAIdxE,EACK,GAAAsB,EAAAC,GAAA,EAACC,EAAAA,CAAQA,CAAAA,CAACzB,UAAYA,EAAY0C,QAAU2B,EAAWzC,aAAa,SAGxEqC,EAAQgC,SAAS,CAIlB9D,WAAAA,EAEA,GAAAZ,EAAAC,GAAA,EAACO,EAAAA,CAAOA,CAAAA,CAACC,MAAQ,gBAA4CkE,MAAA,CAA3BC,EAAAA,CAAY,CAAC1B,EAAO,CAACzI,IAAI,WACzD,GAAAuF,EAAAC,GAAA,EAACS,EAAAA,CAAUA,CAAAA,CACTjC,UAAYA,EACZkC,aAAW,sBACXC,QAAQ,UACRC,KAAK,KACLgE,GAAK,EACL7D,QAAUsC,EACVrC,KAAO,GAAAjB,EAAAC,GAAA,EAACiB,EAAAA,CAAOA,CAAAA,CAACzG,KAAOmK,EAAAA,CAAY,CAAC1B,EAAO,CAACjC,IAAI,CAAGE,QAAU,IAC7DC,WAAa,MAOnB,GAAApB,EAAAC,GAAA,EAACO,EAAAA,CAAOA,CAAAA,CAACC,MAAQ,gBAA4CkE,MAAA,CAA3BC,EAAAA,CAAY,CAAC1B,EAAO,CAACzI,IAAI,WACzD,GAAAuF,EAAAC,GAAA,EAACqC,EAAAA,EAAGA,CAAAA,CAAC7D,UAAYA,EAAYqG,QAAQ,cAAcC,OAAO,UAAU/D,QAAUsC,EAAclC,WAAa,EAAIT,aAAW,+BACtH,GAAAX,EAAAC,GAAA,EAACiB,EAAAA,CAAOA,CAAAA,CAACzG,KAAOmK,EAAAA,CAAY,CAAC1B,EAAO,CAACjC,IAAI,CAAGE,QAAU2B,QAvBnD,KARA,IAmCX,uFCjGAxE,CAAAA,EAAAC,CAAA,CAAeC,CAAAA,EAAAA,EAAAA,CAAAA,EAZK,OAAC,CAAEC,UAAAA,CAAS,CAAwB,CAAAE,EACtD,MACE,GAAAqB,EAAAC,GAAA,EAACiB,EAAAA,CAAOA,CAAAA,CACNzC,UAAYA,EACZhE,KAAK,aACL8H,EAAE,OACFH,MAAQ4C,CAAAA,EAAAA,EAAAA,EAAAA,EAAkB,iBAAkB,kBAC5CC,QAAUD,CAAAA,EAAAA,EAAAA,EAAAA,EAAkB,gBAAiB,kBAGnD,iKCbA,IAAME,EAAmB,CACvB,OAAQ,OACR,OACA,OACA,OACD,CAEKC,EAAmB,CACvB,OACA,QACA,OACD,CAgBYC,EAAkB,CAC7BC,mBAAoB,YACpBC,mBAAoB,SACpBC,yBAA0B,OAC1BR,OAAQ,UACRS,OAAQ,CACNlE,KAAM,CAAC,EACPC,GAAI,CACFkE,UAAW,YACb,CACF,CACF,EAEaC,EAAiB,CAC5BC,wBAAyB,GACzBC,KAAM,GACNC,MAAO,GACPC,YAAa,EACf,ECjBA,IAAAC,EAlBgB,OAAC,CAAEC,IAAAA,CAAG,CAAEC,OAAAA,CAAM,CAAEC,QAAAA,CAAO,CAAElF,QAAAA,CAAO,CAAS,CAAArC,EACvD,MACE,GAAAwH,EAAAlG,GAAA,EAACmG,EAAAA,CAAWA,CAAAA,CACVpF,QAAUA,EACR,GAAGoE,CAAe,UAEpB,GAAAe,EAAAlG,GAAA,EAACzB,EAAAA,CAAMA,CAAC6H,MAAM,EACZL,IAAMA,EACN5F,EAAE,OACFD,EAAE,OACFmG,QAAQ,gBACRL,OAASA,EACTC,QAAUA,KAIlB,8CCFAK,EAZgC,OAAC,CAAE3H,OAAAA,CAAM,CAAEE,QAAAA,CAAO,CAAE0H,SAAAA,CAAQ,CAAS,CAAA7H,EACnE,MACE,GAAAwH,EAAA7F,IAAA,EAACe,EAAAA,EAAKA,CAAAA,CAACzC,OAASA,EAASE,QAAUA,EAAU2H,aAAa,iBACxD,GAAAN,EAAAlG,GAAA,EAACuB,EAAAA,CAAYA,CAAAA,CAAAA,GACb,GAAA2E,EAAA7F,IAAA,EAACmB,EAAAA,CAAYA,CAAAA,CAACtB,EAAE,QAAQuG,KAAK,QAAQnE,EAAI,EAAIoE,WAAW,OAAOC,UAAU,iBACvE,GAAAT,EAAAlG,GAAA,EAACiC,EAAAA,CAAgBA,CAAAA,CAAC+B,SAAS,QAAQ4C,IAAK,CAAEvF,KAAM,IAAKC,GAAI,CAAE,EAAGuF,MAAO,CAAExF,KAAM,IAAKC,GAAI,CAAE,EAAGa,MAAM,mBAC/FoE,OAIV,ECAAO,EAb0B,OAAC,CAAEf,IAAAA,CAAG,CAAEpH,OAAAA,CAAM,CAAEE,QAAAA,CAAO,CAAS,CAAAH,EACxD,MACE,GAAAwH,EAAAlG,GAAA,EAAC+G,EAAuBA,CAACpI,OAASA,EAASE,QAAUA,WACnD,GAAAqH,EAAAlG,GAAA,EAACzB,EAAAA,CAAMA,CAAC6H,MAAM,EACZlG,EAAE,OACFC,EAAE,OACF4F,IAAMA,EACNM,QAAQ,mBAIhB,aCKAW,EAfiB,OAAC,CAAEjB,IAAAA,CAAG,CAAEC,OAAAA,CAAM,CAAEC,QAAAA,CAAO,CAAElF,QAAAA,CAAO,CAAS,CAAArC,EACxD,MACE,GAAAwH,EAAAlG,GAAA,EAACiH,EAAAA,CAAKA,CAAAA,CACJ/G,EAAE,OACFC,EAAE,OACF4F,IAAMA,EACNmB,IAAI,uBACJjB,QAAUA,EACVD,OAASA,EACTjF,QAAUA,EACR,GAAGoE,CAAe,EAG1B,ECaAgC,EAzB2B,OAAC,CAAEpB,IAAAA,CAAG,CAAEpH,OAAAA,CAAM,CAAEE,QAAAA,CAAO,CAAS,CAAAH,EACnD0I,EAAS5N,EAAAA,MAAY,CAAmB,MACxC,CAAE6N,EAAeC,EAAkB,CAAG9N,EAAAA,QAAc,CAAU,IAE9D+N,EAAa/N,EAAAA,WAAiB,CAAC,SAC/B4N,EAAAA,CAAAA,OAAAA,CAAAA,EAAAA,EAAOI,OAAO,GAAdJ,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAAgBK,qBAAqB,GAAGC,KAAK,IAAK,GACpDJ,EAAiB,GAErB,EAAG,EAAG,EAEN,MACE,GAAApB,EAAAlG,GAAA,EAAC+G,EAAuBA,CAACpI,OAASA,EAASE,QAAUA,WACnD,GAAAqH,EAAAlG,GAAA,EAACiH,EAAAA,CAAKA,CAAAA,CACJlB,IAAMA,EACNmB,IAAI,uBACJS,KAAK,OACLlB,KAAK,OACLmB,IAAMR,EACNpB,OAASuB,EACTM,GAAKR,EAAgB,CAAC,EAAI,CAAEK,MAAO,OAAQI,OAAQ,MAAO,KAIlE,ECRAC,EAAexJ,CAAAA,EAAAA,EAAAA,CAAAA,EAfE,OAAC,CAAEwH,IAAAA,CAAG,CAAEiC,SAAAA,EAAW,EAAI,CAAEhC,OAAAA,CAAM,CAAEC,QAAAA,CAAO,CAAElF,QAAAA,CAAO,CAAS,CAAArC,EACzE,MACE,GAAAwH,EAAAlG,GAAA,EAACzB,EAAAA,CAAMA,CAAC0J,KAAK,EACT,GAAGxC,CAAc,CACnBuC,SAAWA,EACXjC,IAAMA,EACNmC,iBAAmBlC,EACnBC,QAAUA,EACV7F,aAAa,KACbW,QAAUA,EACR,GAAGoE,CAAe,EAG1B,GCAAgD,EAd2B,OAAC,CAAEpC,IAAAA,CAAG,CAAEpH,OAAAA,CAAM,CAAEE,QAAAA,CAAO,CAAS,CAAAH,EACzD,MACE,GAAAwH,EAAAlG,GAAA,EAAC+G,EAAuBA,CAACpI,OAASA,EAASE,QAAUA,WACnD,GAAAqH,EAAAlG,GAAA,EAACzB,EAAAA,CAAMA,CAAC0J,KAAK,EACT,GAAGxC,CAAc,CACnBM,IAAMA,EACN4B,KAAK,OACLlB,KAAK,OACLuB,SAAW,MAInB,mCC+BA,SAASI,EAAqBC,CAAkB,CAAEC,CAAgB,EAChE,IAAMC,EAAQC,CAAAA,EAAAA,EAAAA,CAAAA,IAEd,MAAOC,CAAAA,EAAAA,EAAAA,CAAAA,EAA6D,CAClEC,SAAU,CAAE,iBAAkBL,EAAK,CACnCM,QAAS,UACP,GAAI,CAACN,EACH,OAAO,KAST,IAAMO,ERvDV,EAAqBC,IAAI,CAAC,GAASR,EAAIS,QAAQ,CAACC,KAI5CV,EAAIW,UAAU,CAAC,cAHV,QAOL9D,EAAiB2D,IAAI,CAAC,GAASR,EAAIS,QAAQ,CAACC,IACvC,eQgDL,GAAIH,EACF,MAAO,CAAEnF,KAAMmF,EAAiBP,IAAAA,CAAI,EAGtC,IAAM5E,EAAO,MAAM,CAAC,UAClB,GAAI,CACF,IAAMwF,EAAuBC,CAAAA,EAAAA,EAAAA,CAAAA,EAAM,CAAE3J,SAAU,uBAAsE4J,MAAO,CAAEd,IAAAA,CAAI,CAAE,GAC9He,EAAW,MAAMb,EAAsDU,EAAsBI,KAAAA,EAAW,CAAEC,SAAU,YAAa,GAEvI,MAAO,SAAUF,EAAWA,EAAS3F,IAAI,CAAG4F,KAAAA,CAC9C,CAAE,MAAOlK,EAAO,CACd,MACF,CACF,YAEA,EAIO,CAAEsE,KAAAA,EAAM4E,IAAAA,CAAI,EAHV,IAIX,EACAC,QAAAA,EACAiB,UAAWC,GACb,EACF,CCwCA,IAAAC,EAAelL,CAAAA,EAAAA,EAAAA,CAAAA,EAlHE,OAAC,CAAEmL,SAAAA,CAAQ,CAAEC,aAAAA,CAAY,CAAEnL,UAAAA,CAAS,CAAEC,UAAAA,CAAS,CAAEmL,eAAAA,CAAc,CAAEC,cAAAA,CAAa,CAAS,CAAAnL,EAChG,CAAEoL,EAAgBC,EAAmB,CAAGvQ,EAAAA,QAAc,CAAC,IACvD,CAAEwQ,EAAgBC,EAAmB,CAAGzQ,EAAAA,QAAc,CAAC,IAEvD,CAAEoO,IAAAA,CAAG,CAAEsC,OAAAA,CAAM,CAAE,CAAGC,CAAAA,EAAAA,EAAAA,EAAAA,EAAU,CAAEC,YAAa,EAAK,GAEhDC,EAAYC,SDNoB5L,CAA6C,KAA7C,CAAEgL,SAAAA,CAAQ,CAAEC,aAAAA,CAAY,CAAElF,UAAAA,CAAS,CAAU,CAA7C/F,EAEhC6L,EAAenC,EAAqBuB,EAAclF,GAClD+F,EAAiBpC,EAAqBsB,EAAUjF,GAAa,CAAC8F,EAAaE,SAAS,EAAI,CAACF,EAAaG,IAAI,EAEhH,OAAOlR,EAAAA,OAAa,CAAC,IACnB,EAAiBiR,SAAS,CACjB,CACLhH,KAAM4F,KAAAA,EACNhB,IAAKsB,CACP,EAGEY,EAAaG,IAAI,CACZH,EAAaG,IAAI,CAGtBF,EAAeC,SAAS,CACnB,CACLhH,KAAM4F,KAAAA,EACNhB,IAAKqB,CACP,EAGEc,EAAeE,IAAI,CACdF,EAAeE,IAAI,CAGrB,KACN,CAAEf,EAAcD,EAAUa,EAAaG,IAAI,CAAEH,EAAaE,SAAS,CAAED,EAAeE,IAAI,CAAEF,EAAeC,SAAS,CAAE,CACzH,ECxBoC,CAAEf,SAAAA,EAAUC,aAAAA,EAAclF,UAAW,CAAChG,GAAayL,CAAO,GAE5F1Q,EAAAA,SAAe,CAAC,KACTiF,GAAc4L,IACjBN,EAAkB,IAClBE,EAAkB,IAEtB,EAAG,CAAExL,EAAW4L,EAAW,EAE3B,IAAMM,EAAoBnR,EAAAA,WAAiB,CAAC,KAC1CuQ,EAAkB,GACpB,EAAG,EAAE,EAECa,EAAuBpR,EAAAA,WAAiB,CAAC,KAC7CuQ,EAAkB,IAClBE,EAAkB,GACpB,EAAG,EAAE,EAEC,CAAEtL,OAAAA,CAAM,CAAEC,OAAAA,CAAM,CAAEC,QAAAA,CAAO,CAAE,CAAGC,CAAAA,EAAAA,EAAAA,CAAAA,IAE9B+L,EAAU,CAAC,KACf,GAAIpM,EACF,OAAO,KAGT,GAAI,CAAC4L,GAAaL,EAEhB,MAAO,GAAA9D,EAAAlG,GAAA,EAAC8K,EAAAA,CAAWA,CAAAA,CADqC3F,GAArCyE,EAAiB,CAAC,EAAIzE,CACnB,GAGxB,GAAM,CAAE1B,KAAAA,CAAI,CAAE4E,IAAAA,CAAG,CAAE,CAAGgC,EAEtB,GAAI,CAAChC,EACH,OAAO,KAGT,IAAM0C,EAAQ,CACZhF,IAAKsC,EACLrC,OAAQ2E,EACR1E,QAAS2E,EACT,GAAIhB,EAAiB,CAAE7I,QAASnC,CAAO,EAAI,CAAC,CAAC,EAG/C,OAAQ6E,GACN,IAAK,QACH,MAAO,GAAAyC,EAAAlG,GAAA,EAACgL,EAAQA,CAAG,GAAGD,CAAK,CAAG/C,SAAW6B,GAC3C,KAAK,OACH,MAAO,GAAA3D,EAAAlG,GAAA,EAACiL,EAAOA,CAAG,GAAGF,CAAK,EAC5B,KAAK,QACH,MAAO,GAAA7E,EAAAlG,GAAA,EAACkL,EAAQA,CAAG,GAAGH,CAAK,EAC7B,SACE,OAAO,IACX,CACF,KAEMI,EAAQ,CAAC,KACb,GAAI,CAACd,GAAa,CAACT,GAAkBnL,EACnC,OAAO,KAGT,GAAM,CAAEgF,KAAAA,CAAI,CAAE4E,IAAAA,CAAG,CAAE,CAAGgC,EAEtB,GAAI,CAAChC,EACH,OAAO,KAGT,IAAM0C,EAAQ,CACZhF,IAAKsC,EACL1J,OAAAA,EACAE,QAAAA,CACF,EAEA,OAAQ4E,GACN,IAAK,QACH,MAAO,GAAAyC,EAAAlG,GAAA,EAACoL,EAAkBA,CAAG,GAAGL,CAAK,EACvC,KAAK,OACH,MAAO,GAAA7E,EAAAlG,GAAA,EAACqL,EAAiBA,CAAG,GAAGN,CAAK,EACtC,KAAK,QACH,MAAO,GAAA7E,EAAAlG,GAAA,EAACsL,EAAkBA,CAAG,GAAGP,CAAK,EACvC,SACE,OAAO,IACX,CACF,KAEA,MACE,GAAA7E,EAAAlG,GAAA,EAACuL,EAAAA,CAAWA,CAAAA,CACV3D,IAAMA,EACNpJ,UAAYA,EACZgN,MAAQ,EACRC,SAAS,SACTrL,aAAa,KACbsL,UAAU,UACVC,UAAU,UACV9D,GAAI,CACF,iBAAkB,CAChB6D,UAAW,SACb,CACF,WAEA,GAAAxF,EAAA7F,IAAA,EAAA6F,EAAA5F,QAAA,YACIuK,EACAM,EACArB,GAAkB,GAAA5D,EAAAlG,GAAA,EAACC,EAAAA,CAAQA,CAAAA,CAAC+D,SAAS,WAAW4H,KAAO,EAAIhF,IAAM,EAAI1G,EAAE,OAAOC,EAAE,OAAO0L,OAAO,UAIxG","sources":["webpack://_N_E/./lib/hooks/useIsMounted.tsx","webpack://_N_E/./stubs/address.ts","webpack://_N_E/./stubs/mud.ts","webpack://_N_E/./ui/address/details/AddressQrCode.tsx","webpack://_N_E/./ui/shared/address/AddressAddToWallet.tsx","webpack://_N_E/./ui/shared/nft/NftFallback.tsx","webpack://_N_E/./ui/shared/nft/utils.ts","webpack://_N_E/./ui/shared/nft/NftHtml.tsx","webpack://_N_E/./ui/shared/nft/NftMediaFullscreenModal.tsx","webpack://_N_E/./ui/shared/nft/NftHtmlFullscreen.tsx","webpack://_N_E/./ui/shared/nft/NftImage.tsx","webpack://_N_E/./ui/shared/nft/NftImageFullscreen.tsx","webpack://_N_E/./ui/shared/nft/NftVideo.tsx","webpack://_N_E/./ui/shared/nft/NftVideoFullscreen.tsx","webpack://_N_E/./ui/shared/nft/useNftMediaInfo.tsx","webpack://_N_E/./ui/shared/nft/NftMedia.tsx"],"sourcesContent":["import React from 'react';\n\nexport default function useIsMounted() {\n const [ isMounted, setIsMounted ] = React.useState(false);\n\n React.useEffect(() => {\n setIsMounted(true);\n }, [ ]);\n\n return isMounted;\n}\n","import type {\n Address,\n AddressCoinBalanceHistoryItem,\n AddressCollection,\n AddressCounters,\n AddressMudTableItem,\n AddressNFT,\n AddressTabsCounters,\n AddressTokenBalance,\n} from 'types/api/address';\nimport type { AddressesItem } from 'types/api/addresses';\n\nimport { ADDRESS_HASH } from './addressParams';\nimport { MUD_SCHEMA, MUD_TABLE } from './mud';\nimport { TOKEN_INFO_ERC_1155, TOKEN_INFO_ERC_20, TOKEN_INFO_ERC_721, TOKEN_INFO_ERC_404, TOKEN_INSTANCE } from './token';\nimport { TX_HASH } from './tx';\n\nexport const ADDRESS_INFO: Address = {\n block_number_balance_updated_at: 8774377,\n coin_balance: '810941268802273085757',\n creation_tx_hash: null,\n creator_address_hash: ADDRESS_HASH,\n exchange_rate: null,\n has_decompiled_code: false,\n has_logs: true,\n has_token_transfers: false,\n has_tokens: false,\n has_validated_blocks: false,\n hash: ADDRESS_HASH,\n implementations: [ { address: ADDRESS_HASH, name: 'Proxy' } ],\n is_contract: true,\n is_verified: true,\n name: 'ChainLink Token (goerli)',\n token: TOKEN_INFO_ERC_20,\n private_tags: [],\n public_tags: [],\n watchlist_names: [],\n watchlist_address_id: null,\n ens_domain_name: null,\n};\n\nexport const ADDRESS_COUNTERS: AddressCounters = {\n gas_usage_count: '8028907522',\n token_transfers_count: '420',\n transactions_count: '119020',\n validations_count: '0',\n};\n\nexport const ADDRESS_TABS_COUNTERS: AddressTabsCounters = {\n internal_txs_count: 10,\n logs_count: 10,\n token_balances_count: 10,\n token_transfers_count: 10,\n transactions_count: 10,\n validations_count: 10,\n withdrawals_count: 10,\n};\n\nexport const TOP_ADDRESS: AddressesItem = {\n coin_balance: '11886682377162664596540805',\n tx_count: '1835',\n hash: '0x4f7A67464B5976d7547c860109e4432d50AfB38e',\n implementations: null,\n is_contract: false,\n is_verified: null,\n name: null,\n private_tags: [],\n public_tags: [ ],\n watchlist_names: [],\n ens_domain_name: null,\n};\n\nexport const ADDRESS_COIN_BALANCE: AddressCoinBalanceHistoryItem = {\n block_number: 9004413,\n block_timestamp: '2023-05-15T13:16:24Z',\n delta: '1000000000000000000',\n transaction_hash: TX_HASH,\n value: '953427250000000000000000',\n};\n\nexport const ADDRESS_TOKEN_BALANCE_ERC_20: AddressTokenBalance = {\n token: TOKEN_INFO_ERC_20,\n token_id: null,\n token_instance: null,\n value: '1000000000000000000000000',\n};\n\nexport const ADDRESS_NFT_721: AddressNFT = {\n token_type: 'ERC-721',\n token: TOKEN_INFO_ERC_721,\n value: '1',\n ...TOKEN_INSTANCE,\n};\n\nexport const ADDRESS_NFT_1155: AddressNFT = {\n token_type: 'ERC-1155',\n token: TOKEN_INFO_ERC_1155,\n value: '10',\n ...TOKEN_INSTANCE,\n};\n\nexport const ADDRESS_NFT_404: AddressNFT = {\n token_type: 'ERC-404',\n token: TOKEN_INFO_ERC_404,\n value: '10',\n ...TOKEN_INSTANCE,\n};\n\nexport const ADDRESS_COLLECTION: AddressCollection = {\n token: TOKEN_INFO_ERC_1155,\n amount: '4',\n token_instances: Array(4).fill(TOKEN_INSTANCE),\n};\n\nexport const ADDRESS_MUD_TABLE_ITEM: AddressMudTableItem = {\n schema: MUD_SCHEMA,\n table: MUD_TABLE,\n};\n","import type { MudWorldItem, MudWorldSchema, MudWorldTable } from 'types/api/mudWorlds';\n\nimport { ADDRESS_PARAMS } from './addressParams';\n\nexport const MUD_TABLE: MudWorldTable = {\n table_full_name: 'ot.Match',\n table_id: '0x6f7400000000000000000000000000004d617463680000000000000000000000',\n table_name: 'Match',\n table_namespace: '',\n table_type: 'offchain',\n};\n\nexport const MUD_SCHEMA: MudWorldSchema = {\n key_names: [ 'matchEntityKey', 'entity' ],\n key_types: [ 'bytes32', 'bytes32' ],\n value_names: [ 'matchEntity' ],\n value_types: [ 'bytes32' ],\n};\n\nexport const MUD_WORLD: MudWorldItem = {\n address: ADDRESS_PARAMS,\n coin_balance: '7072643779453701031672',\n tx_count: 442,\n};\n","import {\n chakra,\n Alert,\n Modal,\n ModalBody,\n ModalContent,\n ModalCloseButton,\n ModalHeader,\n ModalOverlay,\n LightMode,\n Box,\n useDisclosure,\n Tooltip,\n IconButton,\n Skeleton,\n} from '@chakra-ui/react';\nimport * as Sentry from '@sentry/react';\nimport { useRouter } from 'next/router';\nimport QRCode from 'qrcode';\nimport React from 'react';\n\nimport type { Address as AddressType } from 'types/api/address';\n\nimport getPageType from 'lib/mixpanel/getPageType';\nimport * as mixpanel from 'lib/mixpanel/index';\nimport AddressEntity from 'ui/shared/entities/address/AddressEntity';\nimport IconSvg from 'ui/shared/IconSvg';\n\nconst SVG_OPTIONS = {\n margin: 0,\n};\n\ninterface Props {\n className?: string;\n address: AddressType;\n isLoading?: boolean;\n}\n\nconst AddressQrCode = ({ address, className, isLoading }: Props) => {\n const { isOpen, onOpen, onClose } = useDisclosure();\n\n const router = useRouter();\n\n const [ qr, setQr ] = React.useState('');\n const [ error, setError ] = React.useState('');\n\n const pageType = getPageType(router.pathname);\n\n React.useEffect(() => {\n if (isOpen) {\n QRCode.toString(address.hash, SVG_OPTIONS, (error: Error | null | undefined, svg: string) => {\n if (error) {\n setError('We were unable to generate QR code.');\n Sentry.captureException(error, { tags: { source: 'qr_code' } });\n return;\n }\n\n setError('');\n setQr(svg);\n mixpanel.logEvent(mixpanel.EventTypes.QR_CODE, { 'Page type': pageType });\n });\n }\n }, [ address.hash, isOpen, onClose, pageType ]);\n\n if (isLoading) {\n return ;\n }\n\n return (\n <>\n \n }\n flexShrink={ 0 }\n />\n \n\n { error && (\n \n \n \n \n { error }\n \n \n \n ) }\n { !error && (\n \n \n \n \n Address QR code\n \n \n \n \n \n \n \n \n ) }\n \n );\n};\n\nexport default React.memo(chakra(AddressQrCode));\n","import { Box, chakra, IconButton, Skeleton, Tooltip } from '@chakra-ui/react';\nimport React from 'react';\n\nimport type { TokenInfo } from 'types/api/token';\n\nimport config from 'configs/app';\nimport useToast from 'lib/hooks/useToast';\nimport * as mixpanel from 'lib/mixpanel/index';\nimport useAddOrSwitchChain from 'lib/web3/useAddOrSwitchChain';\nimport useProvider from 'lib/web3/useProvider';\nimport { WALLETS_INFO } from 'lib/web3/wallets';\nimport IconSvg from 'ui/shared/IconSvg';\n\nconst feature = config.features.web3Wallet;\n\ninterface Props {\n className?: string;\n token: TokenInfo;\n isLoading?: boolean;\n variant?: 'icon' | 'button';\n iconSize?: number;\n}\n\nconst AddressAddToWallet = ({ className, token, isLoading, variant = 'icon', iconSize = 6 }: Props) => {\n const toast = useToast();\n const { provider, wallet } = useProvider();\n const addOrSwitchChain = useAddOrSwitchChain();\n\n const handleClick = React.useCallback(async() => {\n if (!wallet) {\n return;\n }\n\n try {\n // switch to the correct network otherwise the token will be added to the wrong one\n await addOrSwitchChain();\n\n const wasAdded = await provider?.request?.({\n method: 'wallet_watchAsset',\n params: {\n type: 'ERC20', // Initially only supports ERC20, but eventually more!\n options: {\n address: token.address,\n symbol: token.symbol || '',\n decimals: Number(token.decimals) || 18,\n image: token.icon_url || '',\n },\n },\n });\n\n if (wasAdded) {\n toast({\n position: 'top-right',\n title: 'Success',\n description: 'Successfully added token to your wallet',\n status: 'success',\n variant: 'subtle',\n isClosable: true,\n });\n\n mixpanel.logEvent(mixpanel.EventTypes.ADD_TO_WALLET, {\n Target: 'token',\n Wallet: wallet,\n Token: token.symbol || '',\n });\n }\n } catch (error) {\n toast({\n position: 'top-right',\n title: 'Error',\n description: (error as Error)?.message || 'Something went wrong',\n status: 'error',\n variant: 'subtle',\n isClosable: true,\n });\n }\n }, [ toast, token, provider, wallet, addOrSwitchChain ]);\n\n if (!provider || !wallet) {\n return null;\n }\n\n if (isLoading) {\n return ;\n }\n\n if (!feature.isEnabled) {\n return null;\n }\n\n if (variant === 'button') {\n return (\n \n }\n flexShrink={ 0 }\n />\n \n );\n }\n\n return (\n \n \n \n \n \n );\n};\n\nexport default React.memo(chakra(AddressAddToWallet));\n","import { useColorModeValue, chakra } from '@chakra-ui/react';\nimport React from 'react';\n\nimport IconSvg from 'ui/shared/IconSvg';\n\nconst NftFallback = ({ className }: {className?: string}) => {\n return (\n \n );\n};\n\nexport default chakra(NftFallback);\n","export type MediaType = 'image' | 'video' | 'html';\n\nconst IMAGE_EXTENSIONS = [\n '.jpg', 'jpeg',\n '.png',\n '.gif',\n '.svg',\n];\n\nconst VIDEO_EXTENSIONS = [\n '.mp4',\n '.webm',\n '.ogg',\n];\n\nexport function getPreliminaryMediaType(url: string): MediaType | undefined {\n if (IMAGE_EXTENSIONS.some((ext) => url.endsWith(ext))) {\n return 'image';\n }\n\n if (url.startsWith('data:image')) {\n return 'image';\n }\n\n if (VIDEO_EXTENSIONS.some((ext) => url.endsWith(ext))) {\n return 'video';\n }\n}\n\nexport const mediaStyleProps = {\n transitionProperty: 'transform',\n transitionDuration: 'normal',\n transitionTimingFunction: 'ease',\n cursor: 'pointer',\n _hover: {\n base: {},\n lg: {\n transform: 'scale(1.2)',\n },\n },\n};\n\nexport const videoPlayProps = {\n disablePictureInPicture: true,\n loop: true,\n muted: true,\n playsInline: true,\n};\n","import { chakra, LinkOverlay } from '@chakra-ui/react';\nimport React from 'react';\n\nimport { mediaStyleProps } from './utils';\n\ninterface Props {\n src: string;\n onLoad: () => void;\n onError: () => void;\n onClick?: () => void;\n}\n\nconst NftHtml = ({ src, onLoad, onError, onClick }: Props) => {\n return (\n \n \n \n );\n};\n\nexport default NftHtml;\n","import {\n Modal,\n ModalContent,\n ModalCloseButton,\n ModalOverlay,\n} from '@chakra-ui/react';\nimport React from 'react';\n\ninterface Props {\n isOpen: boolean;\n onClose: () => void;\n children: React.ReactNode;\n}\n\nconst NftMediaFullscreenModal = ({ isOpen, onClose, children }: Props) => {\n return (\n \n \n \n \n { children }\n \n \n );\n};\n\nexport default NftMediaFullscreenModal;\n","import { chakra } from '@chakra-ui/react';\nimport React from 'react';\n\nimport NftMediaFullscreenModal from './NftMediaFullscreenModal';\n\ninterface Props {\n src: string;\n isOpen: boolean;\n onClose: () => void;\n}\n\nconst NftHtmlFullscreen = ({ src, isOpen, onClose }: Props) => {\n return (\n \n \n \n );\n};\n\nexport default NftHtmlFullscreen;\n","import { Image } from '@chakra-ui/react';\nimport React from 'react';\n\nimport { mediaStyleProps } from './utils';\n\ninterface Props {\n src: string;\n onLoad: () => void;\n onError: () => void;\n onClick?: () => void;\n}\n\nconst NftImage = ({ src, onLoad, onError, onClick }: Props) => {\n return (\n \n );\n};\n\nexport default NftImage;\n","import {\n Image,\n} from '@chakra-ui/react';\nimport React from 'react';\n\nimport NftMediaFullscreenModal from './NftMediaFullscreenModal';\n\ninterface Props {\n src: string;\n isOpen: boolean;\n onClose: () => void;\n}\n\nconst NftImageFullscreen = ({ src, isOpen, onClose }: Props) => {\n const imgRef = React.useRef(null);\n const [ hasDimentions, setHasDimentions ] = React.useState(true);\n\n const checkWidth = React.useCallback(() => {\n if (imgRef.current?.getBoundingClientRect().width === 0) {\n setHasDimentions(false);\n }\n }, [ ]);\n\n return (\n \n \n \n );\n};\n\nexport default NftImageFullscreen;\n","import { chakra } from '@chakra-ui/react';\nimport React from 'react';\n\nimport { mediaStyleProps, videoPlayProps } from './utils';\n\ninterface Props {\n src: string;\n autoPlay?: boolean;\n onLoad: () => void;\n onError: () => void;\n onClick?: () => void;\n}\n\nconst NftVideo = ({ src, autoPlay = true, onLoad, onError, onClick }: Props) => {\n return (\n \n );\n};\n\nexport default chakra(NftVideo);\n","import { chakra } from '@chakra-ui/react';\nimport React from 'react';\n\nimport NftMediaFullscreenModal from './NftMediaFullscreenModal';\nimport { videoPlayProps } from './utils';\n\ninterface Props {\n src: string;\n isOpen: boolean;\n onClose: () => void;\n}\n\nconst NftVideoFullscreen = ({ src, isOpen, onClose }: Props) => {\n return (\n \n \n \n );\n};\n\nexport default NftVideoFullscreen;\n","import { useQuery } from '@tanstack/react-query';\nimport React from 'react';\n\nimport type { StaticRoute } from 'nextjs-routes';\nimport { route } from 'nextjs-routes';\n\nimport type { ResourceError } from 'lib/api/resources';\nimport useFetch from 'lib/hooks/useFetch';\n\nimport type { MediaType } from './utils';\nimport { getPreliminaryMediaType } from './utils';\n\ninterface Params {\n imageUrl: string | null;\n animationUrl: string | null;\n isEnabled: boolean;\n}\n\ninterface ReturnType {\n type: MediaType | undefined;\n url: string | null;\n}\n\nexport default function useNftMediaInfo({ imageUrl, animationUrl, isEnabled }: Params): ReturnType | null {\n\n const primaryQuery = useNftMediaTypeQuery(animationUrl, isEnabled);\n const secondaryQuery = useNftMediaTypeQuery(imageUrl, isEnabled && !primaryQuery.isPending && !primaryQuery.data);\n\n return React.useMemo(() => {\n if (primaryQuery.isPending) {\n return {\n type: undefined,\n url: animationUrl,\n };\n }\n\n if (primaryQuery.data) {\n return primaryQuery.data;\n }\n\n if (secondaryQuery.isPending) {\n return {\n type: undefined,\n url: imageUrl,\n };\n }\n\n if (secondaryQuery.data) {\n return secondaryQuery.data;\n }\n\n return null;\n }, [ animationUrl, imageUrl, primaryQuery.data, primaryQuery.isPending, secondaryQuery.data, secondaryQuery.isPending ]);\n}\n\nfunction useNftMediaTypeQuery(url: string | null, enabled: boolean) {\n const fetch = useFetch();\n\n return useQuery, ReturnType | null>({\n queryKey: [ 'nft-media-type', url ],\n queryFn: async() => {\n if (!url) {\n return null;\n }\n\n // media could be either image, gif, video or html-page\n // so we pre-fetch the resources in order to get its content type\n // have to do it via Node.js due to strict CSP for connect-src\n // but in order not to abuse our server firstly we check file url extension\n // and if it is valid we will trust it and display corresponding media component\n\n const preliminaryType = getPreliminaryMediaType(url);\n\n if (preliminaryType) {\n return { type: preliminaryType, url };\n }\n\n const type = await (async() => {\n try {\n const mediaTypeResourceUrl = route({ pathname: '/node-api/media-type' as StaticRoute<'/api/media-type'>['pathname'], query: { url } });\n const response = await fetch<{ type: MediaType | undefined }, ResourceError>(mediaTypeResourceUrl, undefined, { resource: 'media-type' });\n\n return 'type' in response ? response.type : undefined;\n } catch (error) {\n return;\n }\n })();\n\n if (!type) {\n return null;\n }\n\n return { type, url };\n },\n enabled,\n staleTime: Infinity,\n });\n}\n","import { AspectRatio, chakra, Skeleton, useDisclosure } from '@chakra-ui/react';\nimport React from 'react';\nimport { useInView } from 'react-intersection-observer';\n\nimport NftFallback from './NftFallback';\nimport NftHtml from './NftHtml';\nimport NftHtmlFullscreen from './NftHtmlFullscreen';\nimport NftImage from './NftImage';\nimport NftImageFullscreen from './NftImageFullscreen';\nimport NftVideo from './NftVideo';\nimport NftVideoFullscreen from './NftVideoFullscreen';\nimport useNftMediaInfo from './useNftMediaInfo';\nimport { mediaStyleProps } from './utils';\n\ninterface Props {\n imageUrl: string | null;\n animationUrl: string | null;\n className?: string;\n isLoading?: boolean;\n withFullscreen?: boolean;\n autoplayVideo?: boolean;\n}\n\nconst NftMedia = ({ imageUrl, animationUrl, className, isLoading, withFullscreen, autoplayVideo }: Props) => {\n const [ isMediaLoading, setIsMediaLoading ] = React.useState(true);\n const [ isLoadingError, setIsLoadingError ] = React.useState(false);\n\n const { ref, inView } = useInView({ triggerOnce: true });\n\n const mediaInfo = useNftMediaInfo({ imageUrl, animationUrl, isEnabled: !isLoading && inView });\n\n React.useEffect(() => {\n if (!isLoading && !mediaInfo) {\n setIsMediaLoading(false);\n setIsLoadingError(true);\n }\n }, [ isLoading, mediaInfo ]);\n\n const handleMediaLoaded = React.useCallback(() => {\n setIsMediaLoading(false);\n }, []);\n\n const handleMediaLoadError = React.useCallback(() => {\n setIsMediaLoading(false);\n setIsLoadingError(true);\n }, []);\n\n const { isOpen, onOpen, onClose } = useDisclosure();\n\n const content = (() => {\n if (isLoading) {\n return null;\n }\n\n if (!mediaInfo || isLoadingError) {\n const styleProps = withFullscreen ? {} : mediaStyleProps;\n return ;\n }\n\n const { type, url } = mediaInfo;\n\n if (!url) {\n return null;\n }\n\n const props = {\n src: url,\n onLoad: handleMediaLoaded,\n onError: handleMediaLoadError,\n ...(withFullscreen ? { onClick: onOpen } : {}),\n };\n\n switch (type) {\n case 'video':\n return ;\n case 'html':\n return ;\n case 'image':\n return ;\n default:\n return null;\n }\n })();\n\n const modal = (() => {\n if (!mediaInfo || !withFullscreen || isLoading) {\n return null;\n }\n\n const { type, url } = mediaInfo;\n\n if (!url) {\n return null;\n }\n\n const props = {\n src: url,\n isOpen,\n onClose,\n };\n\n switch (type) {\n case 'video':\n return ;\n case 'html':\n return ;\n case 'image':\n return ;\n default:\n return null;\n }\n })();\n\n return (\n img, &>video': {\n objectFit: 'contain',\n },\n }}\n >\n <>\n { content }\n { modal }\n { isMediaLoading && }\n \n \n );\n};\n\nexport default chakra(NftMedia);\n"],"names":["useIsMounted","isMounted","setIsMounted","React","ADDRESS_INFO","block_number_balance_updated_at","coin_balance","creation_tx_hash","creator_address_hash","ADDRESS_HASH","exchange_rate","has_decompiled_code","has_logs","has_token_transfers","has_tokens","has_validated_blocks","hash","implementations","address","name","is_contract","is_verified","token","TOKEN_INFO_ERC_20","private_tags","public_tags","watchlist_names","watchlist_address_id","ens_domain_name","ADDRESS_COUNTERS","gas_usage_count","token_transfers_count","transactions_count","validations_count","ADDRESS_TABS_COUNTERS","internal_txs_count","logs_count","token_balances_count","withdrawals_count","TOP_ADDRESS","tx_count","ADDRESS_COIN_BALANCE","block_number","block_timestamp","delta","transaction_hash","TX_HASH","value","ADDRESS_TOKEN_BALANCE_ERC_20","token_id","token_instance","TOKEN_INFO_ERC_721","TOKEN_INSTANCE","ADDRESS_NFT_1155","token_type","TOKEN_INFO_ERC_1155","TOKEN_INFO_ERC_404","ADDRESS_COLLECTION","amount","token_instances","Array","fill","ADDRESS_MUD_TABLE_ITEM","schema","MUD_SCHEMA","table","MUD_TABLE","table_full_name","table_id","table_name","table_namespace","table_type","key_names","key_types","value_names","value_types","MUD_WORLD","ADDRESS_PARAMS","SVG_OPTIONS","margin","__webpack_exports__","Z","chakra","className","isLoading","param","isOpen","onOpen","onClose","useDisclosure","router","useRouter","qr","setQr","error","setError","pageType","getPageType","pathname","QRCode","svg","Sentry","tags","source","mixpanel","QR_CODE","react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__","jsx","Skeleton","w","h","borderRadius","jsxs","Fragment","Tooltip","label","IconButton","aria-label","variant","size","pl","pr","onClick","icon","IconSvg","boxSize","flexShrink","Modal","base","lg","ModalOverlay","ModalContent","ModalBody","mb","Alert","status","LightMode","ModalHeader","fontWeight","textStyle","ModalCloseButton","AddressEntity","color","noLink","Box","p","dangerouslySetInnerHTML","__html","feature","config","features","web3Wallet","iconSize","toast","useToast","provider","wallet","useProvider","addOrSwitchChain","useAddOrSwitchChain","handleClick","request","method","params","type","options","symbol","decimals","Number","image","icon_url","position","title","description","isClosable","ADD_TO_WALLET","Target","Wallet","Token","message","isEnabled","concat","WALLETS_INFO","px","display","cursor","useColorModeValue","bgColor","IMAGE_EXTENSIONS","VIDEO_EXTENSIONS","mediaStyleProps","transitionProperty","transitionDuration","transitionTimingFunction","_hover","transform","videoPlayProps","disablePictureInPicture","loop","muted","playsInline","nft_NftHtml","src","onLoad","onError","jsx_runtime","LinkOverlay","iframe","sandbox","nft_NftMediaFullscreenModal","children","motionPreset","maxW","background","boxShadow","top","right","nft_NftHtmlFullscreen","NftMediaFullscreenModal","nft_NftImage","Image","alt","nft_NftImageFullscreen","imgRef","hasDimentions","setHasDimentions","checkWidth","current","getBoundingClientRect","width","maxH","ref","sx","height","nft_NftVideo","autoPlay","video","onCanPlayThrough","nft_NftVideoFullscreen","useNftMediaTypeQuery","url","enabled","fetch","useFetch","useQuery","queryKey","queryFn","preliminaryType","some","endsWith","ext","startsWith","mediaTypeResourceUrl","route","query","response","undefined","resource","staleTime","Infinity","nft_NftMedia","imageUrl","animationUrl","withFullscreen","autoplayVideo","isMediaLoading","setIsMediaLoading","isLoadingError","setIsLoadingError","inView","useInView","triggerOnce","mediaInfo","useNftMediaInfo","primaryQuery","secondaryQuery","isPending","data","handleMediaLoaded","handleMediaLoadError","content","NftFallback","props","NftVideo","NftHtml","NftImage","modal","NftVideoFullscreen","NftHtmlFullscreen","NftImageFullscreen","AspectRatio","ratio","overflow","objectFit","isolation","left","zIndex"],"sourceRoot":""}